岳軒宇, 陳遠平, 杜義華, 李鎮陽, 王 鎮
?
基于“云服務”的分布式系統移動應用中心建設①
岳軒宇1,2, 陳遠平1, 杜義華1, 李鎮陽1, 王 鎮1
1(中國科學院計算機網絡信息中心, 北京 100190)2(中國科學院大學, 北京 100049)
介紹了在中科院分布式科研管理系統—ARP系統環境下, 基于“云服務”模式移動應用中心的建設方案及具體技術路線, 并針對建設過程中的關鍵問題, 如分布式環境下“云”服務功能數據的獲取機制、數據訪問的安全保障措施以及用戶認證機制等方面進行了重點闡述.
分布式系統; 移動應用; 云服務; 安全; ARP
中國科學院資源規劃項目(Academia Resource Planning, 簡稱ARP), 是從院所兩級治理結構出發, 以科研計劃與執行管理為核心設計并開發的資源配置管理平臺[1]. 歷經十余年的建設與應用, ARP系統逐漸形成了十大業務系統(人力資源管理、綜合財務管理、科研項目管理、科研條件管理、基本建設管理、知識產權管理、國際合作系統、院地合作管理、教育資源管理和評估評價)、兩大應用平臺(公共事務處理和信息資源服務), 院所兩級聯動的應用格局. 到目前為止, ARP系統在中國科學院內共有130個上線單位, 為院所各級領導、管理人員、科研人員提供科研管理核心業務支持, 核心用戶近4000人, 其中員工自助、網上報銷、日常事務管理等子系統涉及全體員工, 直接服務總人數達5.5萬人, 在提高管理工作效率、促進管理方式變革等方面發揮了重要作用.
ARP系統采用的是“院-所”兩級分布式部署架構,每個上線單位(各研究所)均擁有一套獨立的物理服務器環境并部署了相應的業務管理系統, 各所級業務系統通過數據交換平臺與院級業務系統進行交互. ARP系統院-所兩級結構如圖1所示.

圖1 “院-所”兩級系統結構圖
此外, 在院級系統層面組建了信息資源中心(IRC), 負責完成全院各所級節點業務系統日常運行過程中產生的各類科研管理數據的匯聚任務, 并通過ETL(抽取、轉換、加載)操作構建形成中心數據倉庫及數據資源池, 為院、所兩級決策者、業務管理人員及科研人員提供信息資源服務[2].
目前我們正身處移動互聯網時代, 智能手機、平板電腦已普及千家萬戶, 各類雨后春筍般出現的移動應用正逐漸地改變人們的生活和工作方式[3,4]. ARP系統作為中國科學院科研管理信息化的重要支持平臺, 旨在利用移動終端平臺提供業務審批、課題經費查詢、個人工資信息查詢等常見功能, 使得用戶可以隨時隨地的進行業務處理及信息服務獲取, 進一步提高工作效率及工作體驗.
2012至2013年, 作為運維支撐部門的ARP中心曾嘗試開發并實現了ARP移動辦文項目[5], 然而由于該項目的部署模式仍采用分布式結構, 需要在各ARP上線節點部署相應的程序包, 最終由于部署過程復雜、功能拓展不便及系統升級困難等各方面因素導致項目的應用效果并不理想.
隨著辦公人員對移動應用需求的不斷變化和拓展, 若依然按照分布式系統結構進行系統功能應用部署、拓展、升級等操作, 則不可避免的需要在各上線單位持續地增加服務器, 在未來的運維過程中還需反復下發程序補丁, 并要求各ARP系統上線單位系統管理員及時部署程序升級包. 可以預見的是, 分布式架構下復雜和繁瑣的工作流程勢必將嚴重限制著ARP系統應用功能的發揮, 更重要的是分布式架構下不能充分利用院級信息資源中心匯聚的各ARP上線單位的數據資源, 從而無法為不同類別用戶提供定制服務, 進而嚴重影響ARP系統整體效益的發揮. 此外, 使用分布式架構將面臨著系統平臺的統一管理的一系列挑戰, 諸如用戶行為數據的收集、系統安全的統一控制等.
近年來, 伴隨著“云服務”概念的興起以及相關開發技術的日趨成熟, 依托于“云架構”及相關技術在院級系統層面統一開發和部署“云服務”模式的ARP移動應用中心, 將能更合理、有效的解決前述問題, 更加充分地利用院所兩級的整體資源.
針對目前已經存在的大規模分布式結構的所級ARP系統, 建立起一個基于“云服務”模式并能充分兼容原有分布式系統結構的集中式移動應用中心勢必充滿著一系列的挑戰及困難, 主要包括以下幾個方面:
①如何實現分布式系統下ARP用戶的統一登錄及權限驗證問題;
②如何解決分布式環境下業務數據的實時訪問、處理問題;
③如何解決移動應用VPN訪問及分布式現狀下業務用戶應用路由問題.
2.1系統整體結構
針對上述提出需要解決的問題, 綜合考慮設計系統整體結構如圖2所示.

圖2 系統整體結構圖
系統由移動“云服務”中間平臺、所級業務管理系統、中轉路由三部分組成, 針對系統所需要處理的業務而言, 構建偽代碼描述如下:
GetTheRequestFromUser();
if (CaVerifyNoPassed(userId))
return falseInformationToUser();
else
FindTheInformationForUser();
FindWebServiceAddressFromXml();
CallOnWebServiceAndProcessRequest();
“云服務”模式的集中式移動應用中心處理的典型
業務請求如下:
①處理涉及讀寫操作的業務數據請求(如公文批示)時, 移動“云服務”中間平臺將充當認證門戶, 進行統一用戶認證保證系統的安全性及控制權限. 若用戶沒有通過驗證, 返回錯誤提示信息, 若用戶通過認證, 通過查詢路由信息表判斷業務請求數據源, 調用“云服務”中間平臺內保存的對應所級業務處理系統WebService接口進行請求轉發, 在所級系統內進行更進一步的業務邏輯處理;
②處理僅涉及讀操作的業務數據請求(如個人工資查詢請求)時, 集中式服務平臺為通過統一認證的用戶從平臺持有的數據庫連接池中動態創建JDBC連接, 連到遠程相應所級數據庫, 并為該請求創建一個對應所級數據庫系統最小權限(只讀)的用戶, 通過該連接直接查詢遠程分布式數據庫的數據作為查詢結果返回.
2.2系統網絡拓撲結構
VPN專網作為ARP網絡安全防護的重要措施之一, 通過VPN加密隧道將院機關局域網和各研究所局域網連接起來, 所級用戶通過VPN加密隧道進行信息交互.
當用戶訪問集中式云移動應用中心時, 若各類用戶均先登錄院級VPN專網, 需在院級VPN服務器上為各所各用戶再單獨創建帳號, 這樣的處理方式不方便且不現實, 且容易造成VPN服務器承受過大的性能壓力.
為解決上述問題, ARP移動應用中心部署于院級VPN區中, 系統在各上線單位VPN防火墻服務器上為本單位用戶開通院級VPN登錄帳號, 使用ARP業務系統時用戶需先登錄本單位VPN服務器, 通過VPN加密隧道訪問院級數據資源. 系統網絡拓撲結構如圖3所示.

圖3 系統VPN網絡結構圖
系統通過設置嚴格的防火墻規則, 研究所與研究所之間劃分了各自的局域網域, 僅允許對院中心特定IP服務器、協議和端口的訪問, 從而保證數據訪問的安全.
2.3用戶管理認證方案
ARP移動應用中心的用戶群體主要包括全院ARP系統核心用戶及科研人員, 用戶在本單位ARP業務系統中已持有帳號及密碼, 并且該賬戶與人力資源模塊中的組織結構、人員編號等信息相關聯. 集中式移動應用中心不宜重新創建組織結構及用戶帳號, 造成資源的重用浪費, 更合理地處理方式是在保障安全地前提下利用已有業務系統的賬號密碼信息實現用戶權限管理的無縫銜接.
因此, 采取將各所級用戶信息(如所屬研究所信息等)抽取并實時匯聚到集中式移動應用中心的云端, 用戶在云端登錄驗證時使用與所級業務系統相同的加密判斷算法的方式, 可以很好地解決集中式登錄問題.
用戶的登陸認證流程圖如圖4所示.

圖4 系統用戶登陸認證流程圖
①用戶提交認證請求給驗證服務器;
②驗證服務器進行用戶驗證并返回給用戶票據信息;
③客戶端解析票據, 判斷如果認證成功, 為用戶分配相應的權限, 并調用VPN的sdk包(ios/安卓)建立一條VPN服務通道以便進行數據傳輸 ;
④如果客戶端解析認證失敗, 則提示給客戶端認證失敗信息.
由于客戶端在提交數據請求時, 數據都是在VPN服務通道中傳輸的, 即使客戶端沒有使用安全的加密措施, 由于VPN服務通道的高安全性, 可以充分地保證數據請求的安全性.
2.4 數據與業務實時性方案
云端院ARP信息資源中心(以下簡稱IRC)中已按月、周或日匯聚存儲或加工整理有全院各類科研管理的基礎數據, 已能滿足各級領導的常用各類查詢展示、報表統計和態勢分析服務.
當ARP移動應用中心需支持快捷辦公實現與業務系統交互、面向普通人員提供最新數據服務時, 信息資源中心匯聚的集中數據相對實時性不夠, 且無法回寫到源ARP業務系統.
采用“集中數據+分布式數據”結合方式, 開放云端海端點對點間數據訪問通道, 對一些涉及交互操作和實時明細數據, 程序直接調用原所級ARP業務系統, 如個人工資明細、課題經費收支明細、批閱待辦公文等 , 可解決常規數據的集中與實時數據的分布、IRC數據的只讀與辦公功能的互動問題, 同時可減輕IRC實時數據匯聚、加載轉換的壓力, 數據匯集過程如圖5所示.

圖5 系統“集中+分布式”數據模式
3.1 開發語言與框架
目前主流的智能移動終端操作系統包括Android、IOS、WP7等, 根據開發實現方式的不同移動應用可進一步劃分為: 基于具體的手機操作系統, 使用原生程序開發語言編寫運行的原生應用(Native App); 基于Web系統的, 向廣大的最終用戶發布一組復雜的內容和功能的網頁應用(Web App); 介于原生應用(Native App)、網頁應用(Web App)這兩者之間的混合應用(Hybrid App), 三者的技術特性對比如下:
①原生應用具備最高的性能, 支持離線及各類的設備原生功能, 對網絡依賴低;
②網頁應用能利用HTML、CSS等技術進行界面渲染, 不能支持照相機、系統通知等本機設備訪問功能, 且大部分依賴網絡;
③混合應用則結合了前兩者的優勢, 雖然損耗了部分性能, 但通過HTML、CSS等技術的結合保證了界面的美觀, 同時更好的支持設備的原生功能. 此外, 混合應用開發模式還具備跨平臺性、低成本、移動終端頁面自適應的優勢.
綜上所述, 結合實際需求, 對于移動ARP應用中心, 系統移動端采用混合應用開發的架構. 此外, 系統結合了當下流行的HTML5技術實現移動終端的界面友好交互、跨瀏覽器支持、并利用本地存儲取代cookie.

圖6 系統開發技術結構圖
通過研究設計ARP移動應用中心的整體軟件體系架構, 在數據接口層中, 系統采用SSHJ的結構, 即Structs+Spring+Hibernate+Json, 數據接口層在原有的SSH的框架基礎上, 增加了Json的轉換實現, 將原有Structs中用于view展現的實體類, 通過數據轉換, 轉換成標準的Json數據接口. 通過上述轉換力爭實現對需求的快速響應, 最大程度的降低系統的運維成本. 同時基于該技術路線, 研究并探索移動應用緩存管理實現機制, 實現在線下載、離線閱讀、分類導航、模糊檢索等功能, 提升用戶使用體驗.
此外, 移動應用中心需要考慮移動應用的安全性, 包括數據傳輸的安全性、數據存儲的安全性、移動用戶訪問的安全性等. 系統通過數據加密傳輸、VPN專網、對移動智能終端的安全管理等技術手段進行控制. 通過認證權限管理實現移動應用訪問入口的統一, 保證了ARP業務系統的權限控制與移動ARP應用中心用戶管理的無縫銜接. 同時系統支持ARP系統外用戶的注冊申請, 最終實現用戶的統一, 提高用戶的使用體驗的同時確保系統的安全、健壯. 系統開發技術結構圖如圖6所示.
3.2動態數據源的生成
由于中科院下屬的研究所數目龐大, 如果為每一個數據請求都生成數據源信息顯然效率低下、并且造成資源大幅浪費. 為解決該問題, ARP移動應用中心采取動態生成數據源的策略, 生成數據源的流程如圖7所示.

圖7 系統動態數據源的生成
①用戶首先登陸系統并進行相關的身份驗證;
②系統通過用戶信息確認用戶所屬機構信息;
③在系統的路由資源配置文件中存有中科院下屬各研究所的所有數據源信息, 系統會檢測配置文件中是否存在當前請求對應的數據源, 如果存在, 則使用已存在數據源. 如果不存在, 系統會根據XML配置信息為當前請求動態生成數據源;
④動態生成的數據源將被添加到連接池中以便相同所級機構用戶再次請求時重復使用, 同時該數據源將被設定超時時間, 如果在規定超時時間內沒有該所級用戶的數據請求, 系統回收該數據源資源.
3.3系統實現展示
系統全部功能展示如圖8所示.
①用戶可以通過系統進行日程、課題經費、差旅費、院屬機構等基本辦公信息的查詢;
②用戶可以通過系統進行公文辦公, 在移動端完成辦公提高工作效率.

圖8 系統功能效果展示圖
基于“云”模式的ARP移動應用中心自部署應用以來運行效果良好, 目前基于該應用平臺提供了包括移動公文辦公、課題經費查詢、護照簽證、個人工資、通訊錄、統計分析等主題服務, 有效的解決了分布式業務環境與集中式全局數據中心信息資源服務的矛盾, 提供了豐富的服務功能, 極大的方便了院、所級業務管理及科研人員的工作, 另一方面也很好的降低了系統運維升級的成本和復雜度.
總而言之, 通過該移動應用中心的建設, 探索了一條大型分布式信息系統下“云服務”模式應用的建設路徑, 為“十三五”新一代ARP系統的建設提供了寶貴經驗和借鑒.
1 及俊川.十年辛勤耕耘服務一流管理--紀念ARP項目實施10周年.科技促進發展,2012,8(10):11–17.
2 杜義華.大數據背景下中科院科研管理數據中心建設探討.計算機系統應用,2015,24(1):79–85.
3 Cisco Visual Networking Index: Forecast and Methodology, 2014-2019 White Paper[Technical Report], Cisco, 2015.
4 中國互聯網絡發展狀況統計報告.中國互聯網信息中心, 2016.1.
5 劉彥良,孫健英.基于Android移動智能終端的ARP公文系統設計與實現.科研信息化技術與應用,2014,5(2): 82–90.
Construction of Distributed System Mobile Application Center Based on “Cloud Service”
YUE Xuan-Yu1,2, CHEN Yuan-Ping1, DU Yi-Hua1, LI Zhen-Yang1, WANG Zhen1
1(Computer Network Information Center, Chinese Academy of Sciences, Beijing 100190, China)2(University of the Chinese Academy of Sciences, Beijing 100049, China)
This paper mainly introduces the construction scheme of mobile application center and the specific technical route, based on “cloud services” model, under the Chinese Academy of Sciences large-scale distributed scientific research management system - ARP system environment. In addition, for the key problems in the construction process under distributed environment, such as the “cloud” services function data obtain mechanism, data access safeguards, user authentication mechanism and other aspects, it carries on the key elaboration.
distributed system; mobile application; cloud service; secure; ARP
中國科學院計算機網絡信息中心一三五規劃重點培育方向專項(CNIC_PY_1412)
2016-06-06;
2016-07-19
[10.15888/j.cnki.csa.005634]