譚睿 林輝 康澤昆



摘 要:醫療與養老在中老年群體中一直有很大需求,然而長期以來,醫療與養老的提供方卻很難與需要醫養服務的需求方良好對接,從而產生資源浪費。設計醫養結合社區服務中心熱線系統,將很好改善此情況。在該系統中,熱線接線員可將用戶需求進行記錄,并派發到相關服務提供方。該系統還提供了一系列諸如工作量統計、管理員設置、熱線管理等功能。在系統設計中采用了基于規則的專家系統和帶有繼承的基于角色訪問控制,從而達到優化流程和解耦系統模塊的目的。
關鍵詞:管理系統;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-),男,本科生.研究領域:軟件工程.