劉 艷,孫 劍,許 立
?
分布式安全控制系統(tǒng)在“軍字一號”數(shù)據(jù)庫升級中的應用
劉艷,孫劍,許立
050081石家莊,武警河北總隊醫(yī)院
【關鍵詞】軍字一號;oracle升級;程序升級;分布式管理
近年來,隨著醫(yī)院信息化水平的不斷提升,軍衛(wèi)系統(tǒng)的各部門對信息化系統(tǒng)應用需求的不斷深入,各業(yè)務分系統(tǒng)及功能模塊越來越多越細,各功能模塊需頻繁升級切換,大大增加了信息中心及各操作員的工作量。同時,服務器配置也由原32位向64位系統(tǒng)過渡,“軍字一號”的oracle數(shù)據(jù)庫版本在經歷了由7.3、8i的升級后[1]。近年來,很多醫(yī)院又面臨oracle10g、11g的更大跨度的升級[2]。由一套后臺控制系統(tǒng)實現(xiàn)對各工作站的軟件發(fā)布管理,成為部隊醫(yī)院信息系統(tǒng)管理的當務之急。筆者以我院自2012年開始應用的《分布式安全控制系統(tǒng)》(以下簡稱安全控制系統(tǒng))為例,探討一下分布式安全控制系統(tǒng)給醫(yī)院管理帶來的便利。
1現(xiàn)有升級模式及其存在問題
1.1軍衛(wèi)后臺數(shù)據(jù)庫現(xiàn)狀軍衛(wèi)系統(tǒng)從2001年開始在全軍推廣時采用的數(shù)據(jù)庫為oracle7,后很快普遍升級至oracle8i。隨著時間的推移,大多數(shù)醫(yī)院HIS服務器的數(shù)據(jù)不斷增加,前臺PC的性能及配置不斷提升,而oracle數(shù)據(jù)庫的版本卻一直在oracle8i上停滯多年,很多醫(yī)院購買了新的64位服務器,有16 G甚至32 G以上內存,但oracle8i只有32位版本,最多只能用到4 G內存,其他內存都處于閑置浪費的情況。很多醫(yī)院遲遲不愿升級主要是基于以下考慮:
1.1.1服務器升級切換時的效率問題醫(yī)院信息系統(tǒng)需要常年24小時不間斷運行的系統(tǒng),如果升級切換的時間太長,勢必會影響正常的醫(yī)療工作。所以系統(tǒng)切換方案一定要追求時效,時間越短越好。
1.1.2系統(tǒng)切換的實時性問題軍衛(wèi)系統(tǒng)由于最初使用的oracle7開發(fā)時還沒有中文字符集,雖然從oracle8以上開始了支持中文字符集,但大部分醫(yī)院仍使用的US7ASCII的英文字符集,而地方醫(yī)保系統(tǒng)的oracle都是中文字符集,所以從oracle 8到10版本升級時很多醫(yī)院都在考慮同時將字符集升級為中文字符集,以便于與地方醫(yī)保系統(tǒng)連接。而更換字符集對醫(yī)院系統(tǒng)升級的實時性要求較高,因為如果服務器和客戶端不同步升級,會把帶有亂碼的數(shù)據(jù)上傳到服務器上。
1.2前臺工作站現(xiàn)狀由于軍衛(wèi)的各子系統(tǒng)版本復雜,大部分醫(yī)院使用的最基本的四十多個HIS子程序中,從1.0到3.0版本均有不同的子系統(tǒng)在用,全部的信息系統(tǒng)由數(shù)十個甚至上百個子程序組成,程序升級需信息中心做大量工作,前臺程序的升級主要經歷了以下幾種方式:
1.2.1手工升級方式信息系統(tǒng)初期,由信息中心或公司維護人員下科室一臺一臺地升級客戶端,時效性差,客戶端越多,升級的周期就越長,不推薦采用這種方式。
1.2.2前臺客戶端批處理方式可通過開機時登錄服務器自動通過批處理同步服務器程序,此方式大大減輕了信息中心工作量,讓電腦能在重啟時自動檢測是否有新的客戶端程序而進行升級[3]。缺點是如果客戶端需要安裝新的子系統(tǒng),仍然需要到每個客戶端去更改批處理文件。
1.2.3域控制器腳本方式部分醫(yī)院通過域登錄代碼控制,使登錄的電腦程序自動與服務器一致,解決了需要到每個客戶端去更改批處理文件的工作量。但仍然遠不能達到實時的效果,解決不了服務器更改字符集等重要參數(shù)時必須實時更新的問題。
1.2.4開發(fā)專用的升級程序在每個子程序運行前先運行升級檢測程序,如發(fā)現(xiàn)服務器有新程序則自動升級[4],此方式的優(yōu)點是實時性較前有較大提高,但需在每個客戶端程序前掛接新的程序,如升級程序出現(xiàn)問題仍需下科室更新,同時由于子系統(tǒng)繁多,不同程序需進行的配置較為復雜,容易出現(xiàn)漏掉部分升級客戶端的情況。
2分布式控制系統(tǒng)升級解決方案
針對以上問題,我們研發(fā)了安全控制系統(tǒng),不僅可以實現(xiàn)本地安全策略控制、U盤使用記錄、客戶端進程管理等,還可實現(xiàn)內網的系統(tǒng)發(fā)布、實時升級、腳本執(zhí)行等功能。
2.1分布式控制系統(tǒng)升級oracle數(shù)據(jù)庫及更改字符集實施步驟Oracle數(shù)據(jù)庫由8i升級到11g前需在模擬環(huán)境中先進行大量的腳本測試[2],測試成功后根據(jù)測試時間提前通知各科室做好準備。由于各客戶端需在服務器升級至高版本數(shù)據(jù)庫并啟動后實時更改字符集,我們使用安全控制系統(tǒng)通過本地安全控制系統(tǒng)實時接收到服務器端的更新指令,升級選項采用“定時執(zhí)行”選項,設置為服務器更改字符集后啟動后的時間。升級時間到了以后各客戶端會馬上運行更改字符集批處理程序,為防止前臺客戶端中部分“軍字一號”程序未退出,系統(tǒng)管理員會在主控端點擊“重啟在線電腦”,各客戶端會彈出倒計時,出現(xiàn)諸如 “請保存當前的程序數(shù)據(jù),系統(tǒng)將在30秒后重啟”之類的提醒,倒數(shù)30秒后即使程序未退出,“安全控制”系統(tǒng)也會強行關閉正在運行的程序并進行重啟系統(tǒng),以保證Oracle字符集更改的實時性。未開機的電腦會在開機時直接運行升級批處理程序,不影響直接運行軍衛(wèi)子系統(tǒng)程序,無需再重啟系統(tǒng)。此方法不僅適用于更改oracle字符集,也適用于一切需更改本地程序參數(shù)的自動發(fā)布。
2.2使用分布式控制系統(tǒng)升級前臺客戶端實施步驟為確?!败娮忠惶枴备骺蛻舳斯δ芤恢拢畔⒅行膽M可能使各科室所使用的程序版本號一致。我院經過實踐,使用分布式控制系統(tǒng)來發(fā)布“軍字一號”新程序解決了這一問題。分布式控制系統(tǒng)服務器端的自動批處理發(fā)布系統(tǒng)可設置為“立刻”、“定時”自動運行批處理程序,在批處理程序中包含發(fā)布各“軍字一號”子程序升級代碼。如發(fā)現(xiàn)程序的版本不對,系統(tǒng)將自動升級,以確保各客戶端的程序與服務器端保持一致。為避免要升級的子系統(tǒng)正在運行而導致文件無法覆蓋,分布式控制系統(tǒng)服務器端引入了強行殺進程的機制,在覆蓋程序前,先檢測所要覆蓋的進程有沒有正在運行,如果有,則給出倒計時提醒,提醒時間一到,則自動關閉該進程,使用新程序文件覆蓋,最大限度地確保前臺程序數(shù)據(jù)不丟失。
3安全控制系統(tǒng)與傳統(tǒng)升級模式對比
3.1oracle數(shù)據(jù)庫升級與傳統(tǒng)模式對比傳統(tǒng)模式即使采用最先進的域控制器及掛接升級程序的方法,仍需信息中心的人員下科室檢查是否有字符集不一致的電腦,因為如果電腦沒有重啟,就不會運行域服務器登錄腳本;外部掛接程序目前僅限于升級程序本身,對于注冊表更改、控件注冊等更新較大的內容就無能為力了[4]。而分布式遠程控制系統(tǒng)則可實現(xiàn)真正的實時更新,確保了在同一時刻能夠讓所有的客戶端與服務器的字符集同步。這種效率在越大的醫(yī)院里實現(xiàn)切換越能體會出差異,對前臺工作人員的影響越小,切換也就越成功。
3.2“軍字一號”前臺程序升級與傳統(tǒng)模式對比通過分析上述三種傳統(tǒng)發(fā)布子程序的方法,我們發(fā)現(xiàn)域控制器腳本模式及掛接升級程序的方法雖然升級的效率和實時性已有較大的提升,但仍然無法保證各子程序的一致性,解決不了電腦一直不關機造成的升級時差。而分布式遠程控制系統(tǒng)采取兩種方式使各子程序實時升級?!皽睾头绞健笨梢缘瘸绦蛲顺?,更換操作員時自動升級;“強制方式”會采取倒計時的方式使程序強行關閉實現(xiàn)軍衛(wèi)子系統(tǒng)的自動更新,一般用于流程有重大更變時。通過這兩種方式可真正實現(xiàn)“軍字一號”各子系統(tǒng)版本的一致性。
我院在成功應用安全控制系統(tǒng)對oracle系統(tǒng)實現(xiàn)了從oracle8i至oracle11g的升級及字符集更改,同時協(xié)助超過1000臺工作站的某部隊醫(yī)院成功進行了此項升級。安全控制系統(tǒng)不僅是一個集所有程序管理于一體的安全控制平臺,而且對系統(tǒng)的USB口控制等多方面的本地準入權限進行管理[5],大大提升了升級服務器及發(fā)布“軍字一號”子系統(tǒng)的效率,適應武警部隊醫(yī)院對新時期保密工作的新要求,使全院的信息化管理走上了一個新臺階。
【參考文獻】
[1]郭平彩,張慶豐,朱有存.“軍衛(wèi)一號”實現(xiàn)Oracle8i到Oraclel0g升級方法[J].醫(yī)療衛(wèi)生裝備,2011,2(3):52-54.
[2]張帆,李響, 張紅君. 軍衛(wèi)一號Oracle8i到Oracle11g在異構環(huán)境下的升級過程[J]. 醫(yī)學信息學雜志,2014,35(1):26-32.
[3]易傳亮,李小華,林英姿. C/S結構HIS系統(tǒng)客戶端自動升級技術[J].醫(yī)院數(shù)字化, 2007,28(1): 48-53.
[4]于敏.“軍字一號”客戶端文件自動升級系統(tǒng)的設計與實現(xiàn)[J].醫(yī)院數(shù)字化,2010,31(3): 64-65.
[5]馬錫坤. 醫(yī)院網絡終端準入控制解決方案[J]. 中國醫(yī)療裝備,2011,26(11):30-32.
(2015-12-20收稿2016-02-16修回)
(責任編輯武建虎)
作者簡介:劉艷,研究生學歷,副主任醫(yī)師。 通訊作者:孫劍,E-mail:78659916@qq.com
【中國圖書分類號】R197.324