基于RBAC模型的社区公共服务热线子系统的设计与优化

来源 :软件工程 | 被引量 : 0次 | 上传用户:cwzhq
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:医疗与养老在中老年群体中一直有很大需求,然而长期以来,医疗与养老的提供方却很难与需要医养服务的需求方良好对接,从而产生资源浪费。设计医养结合社区服务中心热线系统,将很好改善此情况。在该系统中,热线接线员可将用户需求进行记录,并派发到相关服务提供方。该系统还提供了一系列诸如工作量统计、管理员设置、热线管理等功能。在系统设计中采用了基于规则的专家系统和带有继承的基于角色访问控制,从而达到优化流程和解耦系统模块的目的。
  关键词:管理系统;RBAC;专家系统
  中图分类号:TP311 文献标识码:A
  Abstract:There is always a great demand of medical and healthcare resources in middle-aged group,but it is difficult to match the medical and healthcare provider with the demander for a long time,hence the resources are wasted sometimes.The design and implementation of VCMS hotline subsystem will surely improve this situation.In this system,hotline operator can record the demand of users and the VCMS system will dispatch the demands to appropriate providers.In the meantime,workload account of operator,hotline manager settings,hotline settings are also provided by system.During the design period of system,Rule Based Expert System(RBES) and Role-Based policies Access Control(RBAC)with inheritance is adopted to optimize the process and decouple modules of system.
  Keywords:management system;RBAC;expert system1 引言(Introduction)
  随着互联网的飞速发展,以及“互联网 ”战略的实施,互联网在各个传统行业中的应用愈来愈多。在许多传统系统中,成员类别多、数量多、权限管理复杂,许多复杂系统甚至难以使用传统的中心化的权限控制模式,因系统复杂性的提升和可重用性的要求使得系统需要细粒度的设计,而细粒度的设计会使得对其的控制受到限制,因而需要对访问控制进行科学设计与管理。
  在医养结合社区服务中心热线系统中,引入了基于角色的访问控制来解决多角色多用户组的权限管理,并通过引入基于规则的专家系统(Rule-Based Expert Systems,RBES),使用符合JSR-94规范的Java规则引擎,达到将部分业务逻辑的决策从代码中分离的目的,从而使得规则逻辑的更新更加实时、灵活。同时由于分离后的业务规则与Java代码解耦,使用以上技术可使决策脱离Java代码,规则维护更加便利。
  2 相关技术简介(Introduction of related technology)
  RBAC的全称是Role-Based Access Control,意即基于角色的访问控制。在RBAC中,角色与权限相联系,用户被视为合适的角色的成员,从而得到这些角色相对应的权限。通过这样的设计,大大简化了权限的管理[1]。
  JAVA规则引擎是指使用预定义的语义规则来进行决策,它可以被嵌入到其他应用系统中,接受应用系统的输入,根据规则文件中的对应规则进行判断[2]。Drools是一种JAVA规则引擎,它提供了规则引擎、基于web的规则管理平台和其他IDE的插件,是目前较为流行的JAVA规则引擎。
  SSM是一种目前非常流行的开源web应用程序框架,它是Struts、Spring和Mybatis的组合。SSM框架是一种MVC设计模式的体现。MVC(模型,视图,控制器)是一种用于交互式的应用程序的体系结构设计模式,它将交互式应用构架分为三个独立的模块,其一是模型模块,主要用于数据表示和业务逻辑部分;其二是视图模块,主要用于提供数据的呈现和用户输入;其三为控制器模块,用于对请求进行调度并进行流控制[3]。
  3 需求分析和用例设计(Requirements analysis and
  use-case design)
  3.1 需求分析
  随着现代社会的发展,人们对于医疗保健方面的需求越来越大,社区医疗保健已成为当今医疗领域的研究热点之一。针对国内社区医疗服务现状和居民需求,已经开发出了全线上的社区服务中心系统。在全线上平台的社区服务中心系统中,社区居民可以在任何时刻,在覆盖服务范围内享受所需的社区公共服务。但由于该系统的用户包含了大量中老年人群,该人群对互联网较不熟悉,因而需要建立医养结合社区服务中心热线系统,帮助这一群体的用户解决就诊和养老方面的困难,提升用户与服务机构之间关系建立的效率。
  在医养结合社区服务中心热线系统中,热线接线员接听有就诊或保健需求的用户的来电,根据需求查询能满足其需求的服务机构,通过平台智能派单向服务机构发出服务请求,由服务机构派出员工为用户提供医疗服务。其中,派单等业务逻辑由已有的社区服务中心系统提供接口。热线系统主要需要解决需求为:接线员的下单,对热线下单订单的增改删查、工作量统计和热线人事管理等。   3.2 用例设计
  为了能让热线工作人员更便捷地向用户提供服务,我们在系统中划分出三种角色:开发人员、热线接线员和热线管理员。其中,我们基于RBAC模型设计了热线管理员与热线接线员等角色之间的继承关系。图1为热线服务的角色和主要用例。
  (1)开发人员相关用例的设计
  由于系统的使用对象是热线工作人员,所以不具有一般意义上的个人注册功能,系统主要让开发人员(角色)承担了热线工作人员账号的创建任务。在软件的实际使用环境中,热线管理员应主动联系开发人员(角色)在系统中将用户级别设置为热线管理员级别。开发人员(角色)在使用“建立角色”功能时,需要输入所建立角色信息和类别(热线管理员、热线接线员等)、所在热线号码等。开发人员在使用新建热线功能时,需要确定热线名称、热线号码、热线服务范围并设立一位管理员。开发人员在使用热线管理功能时,可实现热线的增改删查。对热线的部分修改操作,可能会导致相关联的热线接线员和管理员的相关记录级联修改。
  (2)热线接线员用例的设计
  创建请求单是所有热线相关角色用户都具有的功能,热线接线员通过“创建请求单”功能,可以为有医疗需求的用户向服务机构发出服务请求。请求单信息包含创建人ID、服务对象、服务项目、服务机构等。
  (3)热线管理员特殊用例的设计
  热线管理员除继承了热线接线员全部角色功能外,同时包括增改删查接线员和人员工作量统计子模块。热线管理员通过“人员工作量统计”功能,可以统计在特定日期段之内,每个接线员的工作量。呈现的信息包含姓名、请求单数量、服务项目数量。同时,热线管理员可以将管理权限转移。为符合实际使用环境的需要,管理权限只能转移到同一热线的另一名热线员名下,同时自身将降权。
  4 系统核心设计(Core design of the system)
  4.1 权限控制核心逻辑设计
  在数据库中,Roles表主要用于存储角色信息,Permissions表主要用于存储权限信息,Rolepermission则主要存储角色与权限的一对多关系。此外,还有Userrole表用于存储用户与角色的对应关系,Users表用于存储用户信息。
  当合法用户登录时,系统首先检查Userrole表确定其对应的一个角色,再根据该角色在Role中递归查找其对应的父角色,不断查询直到角色集合不再增加为止。由于这一步骤,良好的解决了诸如热线管理员同时继承有热线接线员全部角色对应权限的角色继承问题,从而确定了该用户所属的全部角色继承树。最后,根据该用户所属的全部角色,再根据Rolepermission表确定该用户可操作的权限集合,再根据Permissions表确定其有权访问的具体资源和页面。当用户所访问的资源超出了其所定义的权限时,框架将提前检查到并拒绝越权提供服务。
  在医养结合社区服务中心热线系统中,使用带有继承关系的RBAC设计,既保持了用户与权限之间的松耦合性,也同时保持了权限更改的灵活性、便捷性、继承性等特性。从而使得用户权限控制更加科学。
  4.2 Drools专家系统设计
  Drools是一种基于规则的专家系统的具体实现,是Jboss旗下的Java规则引擎。Drools将规则存放在后缀名为.drl的文本文件中,drl规则的简化格式如下:
  rule "规则名称"
  end
  使用Drools后,即将一些事件传入,然后由Drools规则引擎根据预定义的规则进行判断,然后做出相应的动作,产生动作流。其典型结构[4]如图3所示。
  Drools规则在改变之后无需编译即可动态运行,用户可在线修改规则而服务器不需要停机,提高适应能力和动态运行能力。
  在医养结合社区服务中心热线系统中,使用RBAC将用户与适当权限绑定。具体代码中,出于将代码与规则分离解耦的目的,将实际请求资源的权限与角色间关联的判断分离到Drools规则文件中,从而达到优化系统的目的。部分代码如下:5 结论(Conclusion)
  医养结合社区服务中心热线系统的设计中,使用基于规则的专家系统(RBES)和基于角色访问控制(RBAC)技术,在松耦合、灵活性、便捷性、动态性等方面对系统进行了优化。这些优化方法可用于广泛的互联网应用系统中,对于同类型的管理系统有较好的适用性。
  参考文献(References)
  [1] Sandhu R S,et al.Role-Based Access Control Models yz[J].IEEE computer,1996,29(2):38-47.
  [2] Li M,et al.Design and Realization of Transformer Fault Diagnostic Expert System Based on Drools[C].2015 International Conference on Computational Intelligence and Communication Networks(CICN).IEEE,2015:1583-1588.
  [3] Wojciechowski J,et al.MVC Model,Struts Framework and File Upload Issues in Web Applications Based on J2EE Platform[C].Modern Problems of Radio Engineering,Telecommunications and Computer Science,2004.Proceedings of the International Conference.IEEE,2004:342-345.
  [4] Fobel A,Subramanian N.Comparison of the Performance of Drools and Jena Rule-Based Systems for Event Processing on the Semantic Web[C].2016 IEEE 14th International Conference on Software Engineering Research,Management and Applications(SERA).IEEE,2016:24-30.
  作者简介:
  谭 睿(1995-),男,本科生.研究领域:软件工程.
  林 辉(1994-),男,本科生.研究领域:计算机科学与技术.
  康泽昆(1994-),男,本科生.研究领域:软件工程.
其他文献
随着科学技术的突飞猛进,印刷工业不断发展,印刷技术及其相关行业已是世人普遍关注的技术领域之一,并成为国民经济发展中的一个新增长点。印刷的使用范围和应用领域不断得到
管理咨询类项目全过程是一个复杂的知识集成过程,在咨询项目过程的各阶段中,咨询服务提供方需要通过获取和整合来各种各样的知识,从而完成项目进行过程中所面临的各种问题。
自1988年《水法》颁布施行后,我国开始进入依法治水、管水的新阶段,水行政管理工作取得了显著的成绩。为实现《九十年代中国水利政策与发展纲要》提出的战略目标和《水利五大体系实
目的评估芪明颗粒治疗非增殖期糖尿病视网膜病变(DR)的效果。方法 91例非增殖期DR患者,随机分为对照组(46例)和实验组(45例)。对照组患者给予常规性治疗,实验组患者在对照组
小学教育是我国素质教育的基础,也是我国实施科教兴国战略的毕竟之路。而做好小学教学管理工作,是促进小学教育改革的必要手段。教学管理工作关系到教学效率的高低和教学质量
针对油田固井行业数据信息化缺失的问题,对固井工程施工中所收集的各类信息整理设计,使用C#语言开发了C/S模式的固井数据录入端软件,采用WebService技术实现了数据的实时传输,利用"MVC"三层架构,使用Java语言开发了基于B/S模式的数据查询与统计端软件,进而建立了较为完善的固井数据库管理系统。通过本系统,使固井设计人员获得准确的现场固井数据及整个油田固井作业的时效数据,同时油田各级领导及