摘 要 目的:解決醫院C/S架構信息系統自動更新和版本控制問題。方法:針對目前自動更新方案的不足,設計了改進的基于數據庫的自動更新方案,并用Powerbuilder 9.0進行了程序實現。結果:實現了醫院C/S架構信息系統客戶端的自動更新和版本控制。結論:此方案能分區域更新、客戶端自主注冊及具有通用性,大大減輕了信息系統維護工作,提高了工作效率。
【關鍵詞】信息系統 自動更新 C/S 基于數據庫
1 自動更新的必要性
客戶端/服務器端(C/S)模式具有安全性高、穩定性好、系統響應快、能充分利用客戶端資源等優點,更適用于醫院信息系統特別是HIS系統。而在軟件的生命周期中, 軟件的升級和修復 Bug 等后期維護工作是最重要的環節, 同時是時間最長和投入最大的階段。然而這些系統特別是HIS系統需求變化頻繁,客戶端數量大且分散,這些都給系統升級和修復 Bug帶來了不小的挑戰。因而,急需一種通用的自動更新來彌補C/S架構軟件的不足。
2 主流自動更新解決方案分析
目前有兩種方案:
(1)FTP下載法:基于FTP協議,客戶端自動從服務器端下載更新文件到本地。
(2)使用數據庫:更新文件存放在服務器端數據庫中,客戶端下載服務器信息匹配,從數據庫中讀取更新文件并替換。兩種方案優缺點如表1所示。
從表1可知,C/S架構的系統需要有一種改進的使用數據庫的自動更新方案。本文將對此進行研究。
3 改進型的通用自動更新系統設計與實現
3.1 系統目標
系統需要實現以下功能:
(1)通用性:能滿足醫院所有C/S架構信息系統的自動更新;
(2)自動性:自動檢測更新,自動實現更新;
(3)版本控制:登錄時先更新檢測;
(4)更新歷史查詢:可查各客戶端的歷次更新情況(是否更新;何時更新;更新是否成功;目前在用版本等等)。
(5)更新文件存放位置:以二進制形式存在數據庫中。
(6)可擴展性:可方便加入新的C/S信息系統。
(7)分區域更新:通過設置IP地址段,分批更新程序。
(8)自動獲取客戶端信息:自動獲取未注冊的客戶端,并在數據庫客戶端列表中加入相關IP地址、主機名、使用信息系統等信息。
3.2 系統模型設計
3.2.1 概念模型設計
本系統需要一個系統表記錄更新程序信息;為實現分區域更新,需要一個客戶端分組表;一個客戶端更新表存儲客戶端版本信息;一個更新文件表存儲版本號、更新文件包信息、上傳機器名、IP、日期;一個更新文件明細表存儲文件包中的文件名及文件路徑、文件內容。客戶端分組與客戶端更新表以客戶端編號相對應;系統模塊表與客戶端更新表、文件更新表以系統識別號相關聯,文件更新表與文件更新明細表以版本號一對多關聯。
3.2.2 數據模型設計
使用PowerDesinger將概念數據模型轉變成物理數據模型。自動更新物理數據模型包含5個表,物理數據模型如圖1所示。
3.3 系統數據庫設計
因為醫院大部分C/S系統都用PowerBuilder(以下簡稱PB)開發,為了獲得更好的兼容性,本系統也采用PB9.0+ SQL Server2008開發。用Power Desinger工具將數據庫物理模型轉化為數據庫。
3.4 程序設計
本系統主要有兩部分組成:文件上傳及客戶端更新。文件上傳由系統管理員選擇要更新的系統(若沒有則新增入更新系統列表),再選定要更新的文件包,上傳(流程圖如圖2所示)。客戶端更新先確保當前客戶端已注冊(新注冊客戶端當前版本號置為0),然后與服務器下載的更新版本號比對,不一致且強制更新時則下載更新文件,并替換本地文件,之后客戶端正常啟動程序并修改版本號(流程圖如圖3所示)。
4 系統亮點
本系統相較目前自動更新系統,具有以下亮點:
4.1 分區域更新
可增加低配置服務器或者普通PC機作為更新服務器,將某一個IP地址段的客戶端的更新任務布署在這個服務器上。好處主要有二:
(1)緩解每天早晨大量客戶端登錄更新檢測對服務器的壓力;
(2)便于系統更新時的小范圍先試用,再全院鋪開。
4.2 自動獲取客戶端信息
醫院信息系統客戶端分布廣而分散,初次登錄時自動注冊客戶端信息。
4.3 可擴展性
可方便的在服務器端增加系統信息,實現新增系統的自動更新。
5 下一步研究:更新回退功能
自動更新系統在本院使用中效果良好。但還存在更新文件錯誤需要回退到前一版本問題。下一步只要對系統做一點小改動,就可以實現版本的回退功能。
參考文獻
[1]關磊.醫院系統客戶端的自動更新[J].中國醫療設備,2016,31(03):108-110.
[2]趙衛績,劉井蓮.基于FTP協議的客戶端自動更新程序的設計與實現[J].科學技術與工程,2010,10(34):8591-8593.
[3]張仕.基于面向對象軟件的動態更新研究[D].上海:上海交通大學,2008.
[4]張冬,白尚旺,王海賓,王江華.基于C/S模式的臨床信息系統自動更新的研究[J].電腦開發與應用,2011,24(06):13-15.
[5]何航校,蔣兆遠.一種改進的通用客戶端自動升級模型及實現[J].蘭州交通大學學報(自然科學版),2005,24(04)1110-112.
[6]白尚旺,黨偉超.PowerDesigner軟件工程技術[M].北京:電子工業出版社,2004.
作者簡介
江英琴(1982-),女,漢族,安徽省歙縣人,工程碩士。現浙江省紹興市立醫院工程師。研究方向為計算機技術。
作者單位
浙江省紹興市立醫院信息科 浙江省紹興市 312000endprint