http://www.cqvip.com/qk/97332C/201001/33548040.html
大学时做的一个项目(耗时2年),顺便发表了一篇论文(耗时半年多),以下是初稿部分内容
后来又改了几十次,才最终发表,呵呵
摘 要:
为了设计和实现实验室教学活动全过程的计算机信息化管理,基于RBAC扩展模型、AjaX技术、XML技术,采用了自创的EIM模型和LAORDTM模型进行数据处理的实验室综合信息管理系统的方法,研制开发了包含9个子系统的LGIMS系统,其中动态可扩展系统管理子系统用于实现对整个系统进行扩展的基于角色的RBAC访问控制.页 数:共4页
页码范围:21-24页
关 键 词:RBAC扩展模型 AjaX技术 XML技术 EIM模型 LAORDTM模型
二、技术与模型
实现该软件的计算中心或计算机网络:采用功能强大的基于.NET平台Visual Studio 2005 + SQL Server 2000做为开发工具,采用基于RBAC扩展模型、Ajax、XML等多种技术。该软件系统建立在.NET框架之上的应用管理软件,主要为实验室提供管理、应用和评估等服务。LGIMS(Laboratory General Information Management System实验室综合信息管理系统)的核心子系统是动态可扩展系统管理子系统,该子系统用于实现对整个系统进行扩展的基于角色的RBAC访问控制。其他8个子系统是建立在核心子系统上的扩展系统,分别是仪器设备管理和维护子系统、易耗品管理子系统、实验室管理子系统、实验教学管理子系统、开放实验教学管理子系统、实验室建设子系统、实验室评估子系统、日常办公管理子系统。
本系统是建立在.NET框架之上的采用基于RBAC扩展模型、Ajax、XML的多种技术和自创的EIM模型和LAORDTM模型的高校实验室综合应用管理软件,其研究技术路线及可行性以及系统核心及其他技术和自创模型如下所示:
1.研究技术路线
本项目的研究方案以海南师范大学实验室管理为背景,对高校实验室管理过程进行调查研究,在此基础上开发实验室综合管理系统软件。
(1)利用Visual Studio 2005 + SQL Server 2000作为开发工具,用扩展的三层模型、AJAX技术、扩展的RBAC角色权限控制等多种技术。
(2)研究基于WEB模式的系统软件架构,构造开放的、可动态扩展的软件架构,方便以后软件的功能扩展。
2.系统核心
本系统的核心即RABC扩展模型架构是采用如下如图1所示的结构框架,通过实体用户指派某些岗位,其中实体岗位由有角色层次的角色和有树形层次的部门组合而成,岗位经过权限指派指派多个权限,其中权限由客体资源和操作组成。由这种模型控制的权限可以将权限最细化和最小化,其控制细节相当精确,但是这是建立在增大系统复杂度和增大数据量,消耗更多性能的基础上进行实现的,当然可以进行适当的优化。
(图1)RBAC扩展模型
(Diagram 1)RBAC extended model
实现该模型运用到我们系统中的RBAC扩展模型的数据库ER关系图如图2所示,该关系模型实现了上述图1的RBAC扩展模型,是整个系统的核心,其中以人员顶岗和授权最为核心,前者是用户身份的认证,后者是各种身份的权限分配,其安全性比传统的权限分配的安全性更安全,且其粒度级更加高。
3. Ajax技术和XML技术
本系统采用Asp.net的Ajax框架,但是由于Microsoft自带的UpdatePanel效率不高,通过创建Ajax请求,实现自定义的Ajax定义并声明待调用的方法和参数,再通过页面调用请求Ajax页面(需封装JSON等方法处理);另外,通过用AjaxPro对web.config进行配置,然后在page_load里注册,并且声明AjaxNameSpace和AjaxMethod,最后通过调用数据访问实现它;还有一种简单的方法,通过Anthem.NET提供的Anthem.dll组件或者直接对jQuery的Ajax方法进行封装进行Ajax处理。本系统首页的友情链接模块和投票模块以及动态图片模块的数据存储采用XML技术进行管理。XML是Extensible Markup Language的缩写,即可扩展标记语言。它是一种用来创建的标记的标记语言,使用XML标记语言可以做到数据或数据结构在任何编程语言环境下的共享,这是XML标记语言作为一种数据交换语言存在的价值。
4.自创模型
我们在批量进行EXCEL导入数据时,采用了自创的EIM(EXCEL INSERT MODEL)电子表格导入模型,该模型的思想是根据电子表格EXCEL中的各列信息选择性导入到数据库中的对应字段,如果技术允许的话,加上智能匹配那将更加完美,其原理和方法是由于数据库中字段的名称、类型和数量与电子表格EXCEL中的各列名称、类型和数量的差异性,以数据库为参照对象,选择性地将电子表格EXCEL中的各列对应数据库中必须的信息按照一定的匹配算法选择性地导入到数据库中的相应字段,如果EXCEL表格中有些信息也是必要,而在数据库中没有这些字段,则对数据库进行这些字段的增加;由于基础数据和仪器设备管理子系统的数据量巨大,我们在导入的时候选择了该模型进行大批量数据的导入。我们的另一个自创模型是LAORDTM(Large Amount Of Random Data Testing Model)构造大量随机数据的测试模型,该模型用来模拟系统对大量数据量的性能和稳定性,所有数据都是随机的,可以构造出亿量级数据,我们当前由于时间等的限制,只测试到百万级数据,经测试系统仍可以正常运行。其中实现模型数据的构造基本上是通过构造sql语句在数据库平台上执行的,而系统之所以能经受住千万级数据的考验是由于系统大量采用了存储过程的原因;我们用sql语句在SQL Sever2000上先构造两个临时汉字字典表,然后根据临时字典表构造学院表数据,进而根据临时字典表和学院表数据引进数据库自带的随机函数构造随机的实验室表数据、实验分室表数据以及专业表数据和班级表数据,最后根据构造出的临时字典表和已有的表数据构造出学生数据、教师数据、管理员和用户表数据,达到大量随机数据科学合理的完整构造,最后对其进行测试。
三、系统的实现
进过研究和论证,本系统分9个子系统设计,其设计思想和方法是建立在.NET框架之上的采用基于RBAC扩展模型、Ajax、XML的多种技术和自创的EIM模型和LAORDTM模型进行数据处理的高校实验室综合应用管理软件,各个子系统设计与实现如下所示:
1. 动态可扩展系统管理子系统
动态可扩展系统管理子系统是整个系统的核心,包括基础数据和权限微调控制以及系统初始化与维护三个大的功能模块。其中基础数据具体包括院系数据,专业数据,班级数据,学生数据,教师数据,实验室管理员数据;权限微调控制具体包括人员管理,角色管理,人员定岗,权限管理,操作管理,模块管理,岗位授权;系统初始化与维护具体包括系统数据初始化,系统备份与恢复,系统日志管理。由于本核心子系统的动态可扩展性,所有9个子系统的入口资源均是动态生成和可扩展的并且存放于数据库中的模块资源表Function中,各个子系统的每个模块也是动态生成和可扩展的并且存放于数据库中的模块资源表Function中,每个模块资源对于某个部门的某个用户都有权限限制,粒度细化到增删查改等七项操作的权限,并且有超时、错误、非法访问等安全控制机制。其中学生数据的Excel批量导入用到了我们自创的EIM模型,节省了大量的人工录入操作,提高了工作效率。
海南师范大学实验室综合管理系统RBAC权限控制核心子系统的表示层如下图3所示:
(图3)岗位授权分配图
(Diagram 3)Post authorizes assignment picture
2. 仪器设备管理和维护子系统和易耗品管理子系统
仪器设备管理子系统主要实现实验室管理人员对仪器设备的管理和维护,主要包括仪器设备入库、出库、借出、归还、报修、修还和相关报表的打印;易耗品管理子系统主要实现实验室管理人员对易耗品的管理,主要包括易耗品入库、出库、采购、审批和相关报表的打印。其中的仪器设备Excel批量导入用到了我们自创的EIM模型,同样节省了大量的人工录入操作,提高了工作效率;另外易耗品管理也提供了批量导入功能。
3. 实验教学管理子系统和开放实验教学管理子系统
实验教学管理子系统主要实现辅助实验室管理人员实施实验教学的全过程的管理,主要包括实验教学研究、实验教学管理、实验教学课表和实验教学过程;开放实验教学子系统主要实现辅助实验室管理员开放实验教学的全过程的管理,教师的开放实验申请以及学生的开放实验预约。
4. 实验室管理子系统、实验室建设子系统和实验室评估子系统
实验室管理子系统主要实现实验室管理人员对实验室的管理,主要包括管理机构、管理实验室和管理实验分室;实验室建设子系统主要实现实验室管理人员对实验室建设的管理,建设项目的申请、任务书提交、项目申报和审批、仪器设备的购置计划以及相关数据汇总;实验室评估子系统主要实现实验室管理人员对实验室评估的管理,主要包括制定评估主题和标准、实验室自评以及评估结果和评估资料。
5. 日常办公管理子系统
日常办公管理子系统主要实现实验室管理人员的日常办公的管理, 主要包括友情链接管理、投票管理、留言管理、消息管理、个人事务和通知管理