曹中才 孫哲 劉彬彬 劉義
【摘要】為降低核電板塊內各單位重復建設、重復優化、獨立運維的資金壓力、人力壓力,本文設計并實現了一種基于多租戶模式的核電管理支持系統,采用共享數據庫、共享數據架構的模式,設計了支持多租戶的數據存儲模型與多租戶個性化定制的核心機制,實現系統的可配置,為租戶按需提供服務,從而使得該系統可以供多個租戶使用。經測試表明,該系統可以實現多租戶的統一管理,板塊內各單位通過配置即可使用,可有效解決各單位重復建設的弊端。
【關鍵詞】管理支持;多租戶模式;數據隔離;按需定制
1、前言
核電管理支持系統主要包含經驗反饋管理、質保管理、工業安全管理、核安全管理、綜合計劃管理、督辦管理、管理者巡視與觀察指導管理、人員行為分析管理、工程建設指標管理、綜合管理、安全文印管理等多個模塊,在核電板塊內應用廣泛,得到了用戶的一致好評。但是目前各核電單位均是本地獨立部署,各自進行運維與優化,資金、人力投入有所重復,不符合總部集約化發展的要求。而多租戶技術就是探討與實現如何于多用戶的環境下共用相同的系統,并且仍可確保各用戶間數據的隔離性的技術,將多租戶技術引入核電管理支持系統,實現各核電單位共用一套系統管理各自業務的需求已迫在眉睫。
2、多租戶模式技術實現方案
多租戶簡單來說是指一個單獨的實例可以為多個組織服務。多租戶技術為共用的數據中心內如何以單一系統架構與服務提供多數客戶端相同甚至可定制化的服務,并且仍然可以保障客戶的數據隔離。一個支持多租戶技術的系統需要在設計上對它的數據和配置進行虛擬分區,從而使系統的每個租戶都能夠使用一個單獨的系統實例,并且每個租戶都可以根據自己的需求對租用的系統實例進行個性化配置。
多租戶技術的實現重點,在于不同租戶間應用程序環境的隔離以及數據的隔離,以維持不同租戶間應用程序不會相互干擾,同時數據的保密性也夠強。目前,實現數據的隔離主要有三種方
考慮到核電管理支持平臺數據量不大,且應用是部署在核電商網,安全性較高,同時考慮到后續需要在多個租戶之間開展大數據應用,綜合權衡后,采用方案三來實現數據隔離。系統結構圖如圖1所示:
2.1數據庫多租戶設計
在現有的核電管理支持系統的各數據表單中增加Tenant_ld字段,后續根據該字段實現各租戶的數據隔離,同時在每一個數據表對應的實體類中添加一個Tenant ld多租戶標識屬性與之對應。在數據庫持久層的CRUD相關SQL操作均增加Tenant_ld條件,以實現各租戶的數據持久化需要。
2.2業務流程多租戶設計
核電管理支持系統是一個注重業務流程的管理系統,各個單位的業務流程不盡相同,需要給各個租戶按需定制的功能,需要對數據表和程序進行改造,其中數據表改造也是增加Tenant_ld字段,各租戶在進行流程扭轉時,均會根據Tenant_ld來標識各自不同的業務流程,實現各自的業務管理期望。
2.3Web會話設計
為了能準確識別不同租戶,用戶在通過統一入口點擊對應的租戶鏈接進入系統時,系統會將各自的Tenant_ld帶入系統,后續相關頁面的初始化、數據的加載以及流程的運轉,均會根據該Tenant_ld來實現各租戶的隔離。這個屬性也將成為系統為該用戶提供數據的約束條件,能夠有效避免其它租戶數據的暴露問題。
3、多租戶模式的實現
開發完成的多租戶模式核電管理支持平臺統一登陸首頁包含各個租戶的入口鏈接,各租戶可選擇本單位的入口進入系統。
不同租戶進入系統后,可以根據各自的租戶Tenant_ld,加載對應的配置信息,實現填報頁面的個性化配置。
同理,各租戶也可根據本單位的管理要求,在基線流程基礎上進行個性化設置,增加或刪除相關的任務流程節點,以實現各租戶單位流程審批的差異性。
小結:
本文對多租戶的三種技術實現方案進行了對比,并結合核電管理支持系統的實際特點,最終選擇了共享數據庫,共享數據架構的方案,開發了一套多租戶模式的核電管理支持系統,使得各核電單位可以共用一套集中部署的核電管理支持平臺來支撐各自的業務管理需要,在平臺提供的基線業務表單和流程規劃的基礎上,各租戶單位可進行獨立配置,以滿足個性化需要。同時,總部可在系統中對各核電單位數據進行整合和應用,實現總部的業務監督、戰略管控等管理期望,助力整個板塊業務水平的提高,此外,還可有效減輕各租戶單位重復建設、重復優化、獨立運維的資金壓力、人力壓力等。
參考文獻:
[1]吳炳泉.公司狀態報告[M].原子能出版社2012.
[2]朱久亮,夏靜偉.多租戶技術在企業銷售管理系統中的設計與應用[J].中國電子商務.2012.03.
[3]葉振岳,馮志勇,饒國政.基于多租戶模式的節能檢測及監控系統[J].計算機工程與科學,2013,35(9).
作者簡介:
曹中才(1987-),男,湖北黃石人,工程師職稱,碩士研究生學歷,現主要從事公司信息系統的開發與實旋等工作。