公務(wù)員期刊網(wǎng) 論文中心 正文

醫(yī)院信息系統(tǒng)服務(wù)器及數(shù)據(jù)庫(kù)升級(jí)

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了醫(yī)院信息系統(tǒng)服務(wù)器及數(shù)據(jù)庫(kù)升級(jí)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

醫(yī)院信息系統(tǒng)服務(wù)器及數(shù)據(jù)庫(kù)升級(jí)

摘要:隨著信息技術(shù)的發(fā)展,醫(yī)院信息系統(tǒng)也面臨著不斷更新迭代的過(guò)程。本文以我院門(mén)診系統(tǒng)升級(jí)為例,從系統(tǒng)升級(jí)原因、選型到升級(jí)過(guò)程中如何保持?jǐn)?shù)據(jù)一致性、程序兼容性都進(jìn)行了詳盡的描述,對(duì)數(shù)據(jù)庫(kù)升級(jí)過(guò)程中需要注意的問(wèn)題與細(xì)節(jié)也進(jìn)行了一一介紹。

關(guān)鍵詞:門(mén)診系統(tǒng);數(shù)據(jù)庫(kù);操作系統(tǒng);SQLSERVER;權(quán)限;升級(jí)

1現(xiàn)狀

我院門(mén)診系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)用由兩臺(tái)IBMX3850M2服務(wù)器承載,2008年開(kāi)始使用,已運(yùn)行多年。硬件配置為:4個(gè)4核IntelXEON處理器,64GB內(nèi)存;操作系統(tǒng)為Windows2003X64系統(tǒng),部署有SP2補(bǔ)??;數(shù)據(jù)庫(kù)系統(tǒng)采用基于MSCS上的SQLSERVER2000群集數(shù)據(jù)庫(kù),底層存儲(chǔ)系統(tǒng)采用基于EMCMirror的容災(zāi)系統(tǒng),確保數(shù)據(jù)安全。由于微軟對(duì)SQLServer2000和Win2003的支持已結(jié)束,今后不可能有補(bǔ)丁來(lái)解決新出現(xiàn)的問(wèn)題。此外,新的服務(wù)器已不再支持Win2003,以后如果服務(wù)器硬件故障而必須更換,將找不到合適服務(wù)器產(chǎn)品來(lái)部署系統(tǒng)[2]。隨著醫(yī)院管理需求的增加和信息化建設(shè)的發(fā)展,醫(yī)院需要建立統(tǒng)一管理平臺(tái)對(duì)歷年積累的醫(yī)療、科研、管理等數(shù)據(jù)進(jìn)行運(yùn)用。而SQLServer2000無(wú)法支持大數(shù)據(jù)、數(shù)據(jù)挖掘等技術(shù),因而必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行升級(jí)。服務(wù)器使用年限近10年,運(yùn)算性能不足,且運(yùn)行不穩(wěn)定。為保障信息系統(tǒng)安全穩(wěn)定運(yùn)行,避免因硬件故障影響臨床業(yè)務(wù),因此,計(jì)劃將系統(tǒng)的數(shù)據(jù)庫(kù)和操作系統(tǒng)都進(jìn)行升級(jí)[3]。

2升級(jí)的選型

系統(tǒng)升級(jí)的首要任務(wù)是確認(rèn)數(shù)據(jù)庫(kù)及操作系統(tǒng)需要升級(jí)到什么版本。首先,是數(shù)據(jù)庫(kù)版本的選擇。SQLServer在其進(jìn)化史上有幾個(gè)成對(duì)的版本,包括:SQLServer6.0和SQLServer6.5;SQLServer7.0和SQLServer2000;SQLServer2005和SQLServer2008;SQLServer2012和SQLServer2016。在同一對(duì)中的兩個(gè)產(chǎn)品在功能上的差別較小,相似度較高。而不同對(duì)的產(chǎn)品具有跨越式發(fā)展,功能差異較大。SQLServer2000升到SQLServer2005和SQLServer2008,都需要跨越一個(gè)級(jí)差,而SQLServer2000升到SQLServer2012則需要跨越2個(gè)級(jí)差。升級(jí)跨越的級(jí)差越多,風(fēng)險(xiǎn)也越大,故我們不主張升級(jí)到SQLServer2012及以上版本。至于SQLServer2005和SQLServer2008這兩個(gè)版本,由于屬于同一進(jìn)化等級(jí),升到SQLServer2005和升到SQLServer2008,風(fēng)險(xiǎn)大致相當(dāng)。因此,我們主張數(shù)據(jù)庫(kù)升級(jí)到SQLServer2008R2企業(yè)版64位版[4]。再次,是操作系統(tǒng)的選型。WindowsServer2008系統(tǒng)已經(jīng)不在新出服務(wù)器的官方支持列表,只能在WindowsServer2012、WindowsServer2016中選型。WindowsServer2016新推出不久,未經(jīng)市場(chǎng)充分考驗(yàn),而WindowsServer2012在市場(chǎng)使用多年,重大系統(tǒng)漏洞基本已經(jīng)被發(fā)現(xiàn)并修復(fù),維護(hù)人員對(duì)其研究較透徹,其提供的功能完全滿足數(shù)據(jù)庫(kù)服務(wù)器的要求。最終選擇WindowsServer2012R2數(shù)據(jù)中心版作為數(shù)據(jù)庫(kù)服務(wù)器的操作系統(tǒng)[5]。

3升級(jí)的過(guò)程

SQLServer升級(jí)有兩條路線可選,其一是就地(In-Place)升級(jí),其二是并行(side-by-side)升級(jí)。就地升級(jí)就是在原有服務(wù)器上直接進(jìn)行SQLServer升級(jí),操作系統(tǒng)不改變。就地升級(jí)的自動(dòng)化程度較高,需要較少的人工干預(yù)。然而,就地升級(jí)的風(fēng)險(xiǎn)也大,因?yàn)橹苯釉谏a(chǎn)服務(wù)器上升級(jí),一旦出現(xiàn)問(wèn)題,無(wú)法回退。并行升級(jí)就是在另一臺(tái)服務(wù)器上將新版操作系統(tǒng)和數(shù)據(jù)庫(kù)軟件安裝好后,將數(shù)據(jù)和用戶應(yīng)用由手工遷移到新服務(wù)器。如果新服務(wù)器出現(xiàn)問(wèn)題,可以停止升級(jí),繼續(xù)用舊服務(wù)器進(jìn)行生產(chǎn)[6]。由于新、舊服務(wù)器的數(shù)據(jù)庫(kù)實(shí)例名、Windows機(jī)器名和IP地址都不同,故升級(jí)完成后,中間件需要更改數(shù)據(jù)庫(kù)服務(wù)器的實(shí)例名、IP地址等配置信息。微軟提供了一個(gè)稱為UpgradeAdvisor(升級(jí)勸告器)的快捷程序,用于檢查升級(jí)的潛在問(wèn)題。它檢查100多條規(guī)則,這些規(guī)則分成以下類別:SQLServer、AnalysisServices(分析服務(wù))、ReportingServices(報(bào)表服務(wù))、NotificationServices(通告服務(wù))、DataTransformationServices(數(shù)據(jù)傳輸服務(wù))、IntegrationsServices(集成服務(wù))。UpgradeAdvisor可以在舊服務(wù)器本機(jī)執(zhí)行,也可以在另一臺(tái)服務(wù)器遠(yuǎn)程執(zhí)行。我們需根據(jù)UpgradeAdvisor報(bào)告的結(jié)果評(píng)估升級(jí)的復(fù)雜度。對(duì)其報(bào)告的問(wèn)題,需逐一解決,然后才能升級(jí)。

3.1升級(jí)的主要障礙

升級(jí)后,影響業(yè)務(wù)系統(tǒng)運(yùn)行的因素主要在Transact-SQL語(yǔ)句不兼容以及性能問(wèn)題。SQL2000的一些Transact-SQL語(yǔ)句和SQL2008是不兼容的,如果存儲(chǔ)過(guò)程使用了這樣的Transact-SQL語(yǔ)句,則須修改相關(guān)存儲(chǔ)過(guò)程的代碼。為了保持程序的最大兼容性,經(jīng)多次技術(shù)討論后,確認(rèn)在本次升級(jí)中,數(shù)據(jù)庫(kù)的兼容性級(jí)別定為90。另一個(gè)問(wèn)題是數(shù)據(jù)庫(kù)的性能,有研究[7]表明80%的Transact-SQL語(yǔ)句在SQL2008執(zhí)行比在SQL2000快,但有10%的Transact-SQL語(yǔ)句在SQL2008執(zhí)行比在SQL2000慢,因此,總體上業(yè)務(wù)系統(tǒng)在新服務(wù)器上運(yùn)行的性能應(yīng)當(dāng)高于舊服務(wù)器,但仍存在性能不佳的可能性。因此,新服務(wù)器的硬件配置應(yīng)當(dāng)高于舊服務(wù)器。

3.2升級(jí)的準(zhǔn)備和測(cè)試

雖然UpgradeAdvisor程序可為數(shù)據(jù)庫(kù)升級(jí)提供詳細(xì)的評(píng)估,但對(duì)新服務(wù)器的測(cè)試仍是非常關(guān)鍵的。在正式升級(jí)前,先在虛擬機(jī)平臺(tái)建立一個(gè)新的數(shù)據(jù)庫(kù)服務(wù)器VM,然后按擬定的升級(jí)步驟將數(shù)據(jù)庫(kù)遷移到測(cè)試VM。由于我們采用的是并行(side-by-side)升級(jí)方式,新服務(wù)器的機(jī)器名、數(shù)據(jù)庫(kù)實(shí)例名、IP地址都與原服務(wù)器不同,故測(cè)試過(guò)程不影響生產(chǎn)。我們還需建立一個(gè)中間件服務(wù)器VM(由現(xiàn)有的物理服務(wù)器轉(zhuǎn)換成虛擬機(jī)),然后用終端連接中間件服務(wù)器來(lái)測(cè)試,這樣可以模擬真實(shí)的業(yè)務(wù)系統(tǒng)運(yùn)作。終端也可采用虛擬機(jī)。測(cè)試過(guò)程需要將業(yè)務(wù)系統(tǒng)的功能都走遍[8]。

3.3第三方系統(tǒng)測(cè)試及配合修改

數(shù)據(jù)庫(kù)升級(jí)的另一個(gè)重要影響是第三方程序的接口兼容性。為了保證數(shù)據(jù)庫(kù)升級(jí)后,系統(tǒng)能平穩(wěn)運(yùn)行,在升級(jí)前識(shí)別出所有與門(mén)診系統(tǒng)數(shù)據(jù)庫(kù)有數(shù)據(jù)交互的第三方系統(tǒng),要求所有第三方系統(tǒng)在新部署的門(mén)診系統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器上進(jìn)行連接測(cè)試。共識(shí)別出手麻系統(tǒng)、重癥系統(tǒng)、發(fā)藥機(jī)系統(tǒng)、病人管理系統(tǒng)、標(biāo)本管理系統(tǒng)、收費(fèi)監(jiān)控系統(tǒng)、檢驗(yàn)系統(tǒng)、叫號(hào)系統(tǒng)等18個(gè)系統(tǒng),在2周時(shí)間內(nèi),所有第三方系統(tǒng)均在新建的數(shù)據(jù)庫(kù)環(huán)境中進(jìn)行了測(cè)試,對(duì)不兼容的SQL語(yǔ)句或存儲(chǔ)過(guò)程進(jìn)行了修改。

3.4用戶及權(quán)限配置

本次升級(jí)只是升級(jí)門(mén)診系統(tǒng)數(shù)據(jù)庫(kù),門(mén)診系統(tǒng)本身不升級(jí),所以升級(jí)后數(shù)據(jù)庫(kù)的用戶、權(quán)限、安全設(shè)置、鏈接服務(wù)器等信息必須與升級(jí)前一致,否則將導(dǎo)致系統(tǒng)功能的錯(cuò)誤。數(shù)據(jù)庫(kù)升級(jí)前,安排專人梳理所有用戶,為避免遺漏,將用戶及對(duì)應(yīng)的權(quán)限截屏。升級(jí)后再一一進(jìn)行對(duì)照檢查,確保升級(jí)后的用戶權(quán)限正確。遷移用戶時(shí),使用sp_help_revlogin命令,將SQLSERVER2000數(shù)據(jù)庫(kù)中的所有用戶導(dǎo)出,在新建的SQLSERVER2008R2數(shù)據(jù)庫(kù)中導(dǎo)入。

3.5數(shù)據(jù)遷移

在正式遷移前2天,在舊數(shù)據(jù)庫(kù)服務(wù)器中將數(shù)據(jù)庫(kù)進(jìn)行一次完整備份,然后停止數(shù)據(jù)庫(kù)備份作業(yè),開(kāi)啟數(shù)據(jù)庫(kù)日志備份。將數(shù)據(jù)庫(kù)完整備案拷貝到新服務(wù)器上還原為NORECOVERY模式。還原后使用updateusage命令升級(jí)數(shù)據(jù)庫(kù)文件到SQLSERVER2008R2。在遷移當(dāng)天0:00,禁用舊數(shù)據(jù)庫(kù)的所有用戶,關(guān)閉舊數(shù)據(jù)庫(kù)的所有連接,備份一次日志,然后將完整備份后兩天的所有日志拷貝到新服務(wù)器上進(jìn)行還原。還原后舊服務(wù)器關(guān)機(jī),新服務(wù)器更改服務(wù)器名、IP、群集名與舊服務(wù)器一致,然后導(dǎo)入數(shù)據(jù)庫(kù)作業(yè)。重啟服務(wù)器后,使用客戶端進(jìn)行測(cè)試,程序運(yùn)行正常。

4升級(jí)結(jié)果

數(shù)據(jù)庫(kù)升級(jí)后,經(jīng)過(guò)測(cè)試,數(shù)據(jù)查詢性能得到了極大提升。例如全表查詢速度:升級(jí)前查詢門(mén)診檢驗(yàn)結(jié)果數(shù)據(jù)301,930,630條數(shù)據(jù)需時(shí)22s,升級(jí)后需時(shí)2s。升級(jí)前查詢門(mén)診病歷數(shù)據(jù)24,900,304條數(shù)據(jù),升級(jí)前需時(shí)18s,升級(jí)后僅需0.8s。本次數(shù)據(jù)庫(kù)升級(jí)極大的提高了我院門(mén)診系統(tǒng)運(yùn)行的穩(wěn)定性,解決了以前系統(tǒng)進(jìn)行全表查詢時(shí)常會(huì)導(dǎo)致死鎖,影響門(mén)診業(yè)務(wù)的問(wèn)題。同時(shí)也提升了門(mén)診系統(tǒng)運(yùn)行速度,間接提高了患者的就診滿意度,達(dá)到了項(xiàng)目的預(yù)期目標(biāo)。

5結(jié)語(yǔ)

系統(tǒng)數(shù)據(jù)庫(kù)升級(jí)最重要的是保障升級(jí)前后數(shù)據(jù)的一致性,以及系統(tǒng)的可用性。在本次升級(jí)中,首先是規(guī)劃好升級(jí)的路線,處理程序的兼容性,然后做了充分的測(cè)試,保障了語(yǔ)句的變化不影響門(mén)診系統(tǒng)運(yùn)行。本文詳述了門(mén)診系統(tǒng)數(shù)據(jù)庫(kù)升級(jí)過(guò)程中考慮的各種問(wèn)題以及解決方案,記錄了升級(jí)的詳細(xì)步驟,希望對(duì)同行在處理相同問(wèn)題時(shí),起到一定的啟發(fā)作用。

參考文獻(xiàn)

1梁昌明,袁功智,秦占偉,等.Oracle數(shù)據(jù)庫(kù)升級(jí)或遷移的方法探討[J].醫(yī)療衛(wèi)生裝備,2008,29(1):35-37.

2周容容,紀(jì)亞亮.數(shù)據(jù)庫(kù)及服務(wù)器操作系統(tǒng)升級(jí)[J].醫(yī)療衛(wèi)生裝備,2013,34(4):42-43.

3吉亞力,胡呈煒,張輝.HIS服務(wù)器及數(shù)據(jù)庫(kù)升級(jí)的實(shí)現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2011,32(5):50-51.

4李世川.信息系統(tǒng)數(shù)據(jù)庫(kù)升級(jí)方法研究及實(shí)現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2012,33(1):51-52.

5吳新躍.進(jìn)度管理在醫(yī)院信息系統(tǒng)升級(jí)項(xiàng)目中的應(yīng)用[J].醫(yī)學(xué)信息學(xué)雜志,2013,34(6):35-38.

6錢(qián)崇強(qiáng),解春生.醫(yī)院信息系統(tǒng)升級(jí)風(fēng)險(xiǎn)管理[J].中國(guó)醫(yī)院,2011,15(1):62-64.

7馬嘉潛,李超峰,鄧曉焱,等.醫(yī)院信息系統(tǒng)升級(jí)方案與實(shí)現(xiàn)[J].醫(yī)學(xué)信息學(xué)雜志,2016,37(9):25-28.

8馬大民.試論計(jì)算機(jī)數(shù)據(jù)庫(kù)的技術(shù)分析及其升級(jí)與維護(hù)[J].軟件:電子版,2016(12):264.

作者:潘天祥 張芳健 單位:廣東省人民醫(yī)院