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