谭 亮,杨文鹏,周 波
(天津市仪表无线电工业学校,天津 300350)
校园信息化技术的不断深入,校园业务应用系统不断增多,各个应用系统相对独立,造成系统之间用户信息冗余,用户信息管理与系统数据库重复建设,同时用户需要申请、记住多套用户口令,因此建设统一的用户身份认证与权限管理,确保用户信息管理效率成为亟待解决的问题。
校园环境数据运行管理与监控系统(以下简称管理监控系统)采用模块化结构设计,分为用户管理、申请审批管理、日志管理三个模块。用户管理采用基于角色的访问控制(RBAC)模型,实现用户统一认证和权限管理;采用多进程负载均衡技术实现数据传输与审批,保证信息的高效快速传输;运用Socket通信技术实现服务器端数据同步,保障数据下载及日志的实时监控。
基于角色访问控制有自己独特的控制方式,与其他角色访问控制策略不同,它以角色为访问控制单元,不同的角色是根据用户职责和安全策略划分的,角色是与系统访问权限绑定的,角色不同决定访问权限不同。角色和用户之间可以进行灵活分配,一个角色可以同时供多个用户使用,并且一个用户亦可同时具备多个角色权限,当一个用户具有多个角色时,它所具有的系统权限即多个角色权限的集合。角色是用户身份的集合,在进行用户授权时方便统一管理与授权,减少了系统开销。
角色访问控制是基于用户、角色和权限三者之间联系建立的。用户是资源对象控制的主体;权限是角色赋予用户的权利;角色是搭建访问者和权利之间联系的中间桥梁,它既可以是一组操作权限的集合,同样也是一组具有相同职能的访问者的汇聚。
在基于角色访问控制的结构体系中,一个用户可以赋予不同的角色,同一个角色也可以给多个用户,角色和用户之间是多对多的映射关系;同样道理,角色和权限之间也是多对多的映射关系。系统是根据给该用户所分配的角色来判断用户是否被授权访问或操作系统资源,这是基于角色的访问控制的基本的工作原理。
管理监控系统是在线服务系统的总控系统,同时也是在线服务系统多个业务子系统之一,主要负责用户管理、资源调度与系统资源监控管理工作。在开发本系统时,引入了RBAC模型,提出了一套适用于本系统的基于RBAC的设计模型。本系统应用RBAC模型,可以更直观的管理在线服务系统中的各项应用资源,简化权限管理工作。
结合在线服务系统实际应用需求与RBAC模型设计特点,把在线服务系统分成许多小功能模块,各自执行一项任务,系统的权限设计就是将这些小功能模块整合到一起,形成满足不同用户需求的功能设置。例如可将在线服务系统分为校园基础数据检索服务、校园环境统计分析、校园综合管理信息查询、校园专题应用服务、节点信息交互五大功能单元。
将系统全部用户分为系统管理员、数据库管理员、超级用户和普通用户4类。系统管理员具有系统的管理权限,可以对所有角色和用户进行管理与权限配置等。数据库管理员拥有系统涉及的所有数据库及数据库表的操作权限。超级用户不具有任何系统管理的功能,只是系统功能模块的使用者,具有系统所有功能模块的操作权限。普通用户也不具有任何系统管理的功能,是系统功能模块的普通使用者,根据用户的工作职责分配功能模块的使用权限。
根据RBAC模型设计理念,通过对角色分级实现权限的继承关系。比如我们可以把系统中的角色划分为两个级:一种是初级角色,这种角色只具有功能模块的使用权限,可以被其它角色继承。一种是高级角色,既可以被授予功能模块权限,也可以继承其它角色(如初级角色)的权限,将其他角色作为其子角色进行权限授权。如系统所有角色都具有校园基础数据搜素功能的权限,设置普通用户角色只具有校园基础数据搜素功能,将普通用户角色作为其它角色的子角色,这样所有的高级角色都涵盖了普通用户角色这个功能。
数据同步主要包括服务器与客户端的同步,服务器之间的同步,本文采用socket通信技术建立服务器与客户端连接,通过相应命令更新数据库或者获取数据库信息,从而实现服务器与客户端的数据库同步,保障校园环境数据及日志信息的实时同步,便于管理员实时监控和系统运行管理。
客户端通过调用Socket通信协议,以服务器指定的IP地址和端口号为参数,返回一个Socket连接符,在获得Socket连接符的过程中实现了向服务器请求建立连接和数据通信。
当多用户、多并发同时访问系统进行数据申请时,会造成数据库服务器、系统服务器超负荷运行,影响用户响应速度,为保障系统响应速度,采用负载均衡算法对响应的信息流进行归类,将负载分配给不同处理器执行,提高多核处理器的利用效率,实现系统的动态多进程负载均衡调配。负载均衡是数据审批和传输过程的基础成分,是保障数据访问、数据传输、数据下载的关键环节。
当用户发送会话请求时,首先通过socket 的负载均衡服务器进行调度,按照相应的算法分配给不同进程执行会话请求,通过对比一致性哈希算法、轮询算法、随机算法、加权轮询算法和加权随机算法、最小连接数算法等算法的应用场景以及优缺点,同时考虑用户请求分布到服务器的均匀性,算法实现的可操作性,本文采用平滑加权轮询算法。
算法原理:
每一个服务器有两个权重变量:
变量x:配置文件时的初始权重,这个值是固定值;变量y:服务器当前的权重。一开始为零,之后会动态变化。
当会话想要访问某个服务器时,会查询全部服务器,将各个服务器的变量y都相应增加,同时累加所有服务器的权重,标记为总和S。当查询完所有服务器之后,选择y值最大的服务器处理本次请求,并将该服务器的y减去S。当下一个会话请求到时,重复上述操作。
本系统分为客户端和服务器端两部分。采用客户端与服务器端的分散汇集式结构进行设计(图1)。客户端提供人机交互界面,主要实现系统登录、用户管理、日志管理、数据申请审批管理、客户端配置设定、配置加载、客户端连接申请、连接状态检查和数据文件定位、数据传输等功能;服务器端为自动运行方式,主要实现服务器端配置设定、服务器端配置加载、服务器连接监听等功能。
图1 管理监控系统软件架构图
本系统是针对在线服务系统的功能模块进行统一用户认证、用户管理、申请审批及监控管理的后台服务系统。系统由用户管理、申请审批管理和日志管理组成(图2)。用户管理包括用户信息查询模块、用户授权管理模块和角色管理模块;申请审批管理包括数据使用模块、成果导出模块和虚拟机模块;日志管理包括日志信息查询模块、日志定期刷新模块、日志定期归档模块。
图2 系统功能框图
1.用户管理。主要实现系统用户信息查询、角色管理身份认证与权限控制。用户授权管理模块的功能是用户审批、角色管理与权限查看。角色管理模块的功能是实现系统角色编辑、管理与角色功能授权。
2.申请审批管理。主要实现用户提交的数据、成果、虚拟机使用请求的审批与资源配置工作。包括数据使用申请审批模块、成果导出申请审批模块、虚拟机申请审批模块三部分。数据使用申请审批模块主要是根据用户提交的数据使用申请业务,实现数据的在线/下载使用的工作。成果导出申请审批模块是依据用户提交的成果导出申请,实现成果从虚拟机到本地的输入审批工作。虚拟机申请审批模块是根据用户提交的虚拟机申请,实现虚拟机资源配置与授权审批等工作。
3.日志管理。主要实现系统登录、退出、数据加载、审批情况等操作行为的监控与管理。日志管理包括日志信息查询、日志定时刷新和日志定期归档等模块。由于在线服务系统包括:原始资料加载子系统、业务化加载子系统、基础数据加载子系统、共享服务子系统和管理监控子系统五个业务子系统,故本系统采取对各子系统状态分别进行日志监控和管理。
1.用户管理。(1)用户信息查询子模块。模块实现用户查询、浏览与用户统计等功能。系统可根据用户编号、真实姓名、注册名等关键字条件对用户信息进行查询,同时提供系统实时在线用户数量的统计功能。(2)用户授权管理子模块。用户授权管理子模块主要实现对申请注册用户进行审批管理、用户角色管理功能。系统从用户提供的内容、身份验证材料以及业务职责等进行资格审核与审批,同时提供了附件的下载功能,方便管理员进行资格审核。(3)角色管理子模块。角色管理子模块主要实现系统角色编辑、管理与角色功能授权等功能。系统提供对已有系统角色信息、可操作功能模块权限等信息进行编辑修改操作,同时提供角色的新建、编辑与角色功能模块的授权操作。
2.申请审批管理。(1)数据使用申请审批管理。数据使用申请审批管理是根据用户提交的数据使用申请业务,实现数据的在线/下载使用的工作。通过分类分级的数据管理,实现数据记录级的数据锁定,利用数据同步传输技术实现传输功能,最终实现定制化的数据使用审批管理。数据分类是依据数据处理层次来进行划分,将数据细分为资料大类、资料类型、要素、学科等层次结构。数据级别是依据数据的保密级别进行划分,将数据可分为:公开数据、内部数据与敏感数据。(2)成果导出申请审批管理。成果资料是指用户运用校园环境数据,利用虚拟机运算环境,采用专业的数据处理工具加工制作形成数据分析统计结果、图集等资料。成果导出申请审批管理即实现用户将成果资料从虚拟机运算环境到本地的导出功能。系统在用户虚拟机中提供成果资料上传工具,用户先将成果资料上传提交,管理员通过审批模块对用户提出的申请进行审批,完成用户成果导出工作。(3)虚拟机申请审批管理。虚拟机是指提供用户数据处理、统计分析、制图等科研计算所需的软硬件运算资源环境。用户提出虚拟机申请(包括操作系统、内存、硬盘、软件等)需求后,该模块根据提交申请对虚拟机资源进行个性化配置并进行授权审批。
3.日志管理。日志信息主要包括用户访问系统情况、数据加载情况、数据访问情况、数据申请审批等信息,日志管理主要实现用户信息查询、定时/实时刷新和日志定期归档功能。(1)日志信息查询。日志信息查询通过精确查询和模糊查询两种查询方式,实现对日志信息进行全方位多条件的查询,并将查询结果以图表形式显示,为系统日志信息分析统计提供信息支撑;日志刷新通过定时和实时两种刷新方式,实现日志信息定时查询和实时监控功能。(2)日志归档。日志归档功能主要实现日志信息的定期备份、日志统计图绘制与Excel表格下载打印输出,对于历史日志信息或者关键性日志内容定期每月/每半年/每年进行备份,日志归档功能既保证了日志信息的安全,同时保证系统运行速度。
校园环境数据运行管理与监控系统完成了用户的统一认证和权限管理,数据同步传输与系统运行监控与统计,数据的分布式管理与存储服务。但是系统还有许多待完善的部分,如系统日志分类统计、图形展示方面存在不足,尚未实现系统服务器、存储阵列等硬件软件的运行状况实时监控功能。因此其进一步改进目标是实现日志统计的可视化图形展示,系统软硬件环境实时监控。