宋陽(yáng) 郝澤余 鄒健
摘要:在“互聯(lián)網(wǎng)+醫(yī)療健康”飛速發(fā)展的今天,醫(yī)院信息業(yè)務(wù)急速增加,有效保障醫(yī)院網(wǎng)絡(luò)架構(gòu)高效穩(wěn)定、信息系統(tǒng)數(shù)據(jù)安全可靠,成為各大醫(yī)院面臨的難題。本文針對(duì)醫(yī)院主流HIS系統(tǒng)使用的兩種架構(gòu),設(shè)計(jì)了使用負(fù)載均衡設(shè)備的網(wǎng)絡(luò)拓?fù)?,總結(jié)了負(fù)載均衡在兩種架構(gòu)中解決的業(yè)務(wù)訪問(wèn)、容災(zāi)切換、接口分流問(wèn)題,旨在提高醫(yī)院核心業(yè)務(wù)的運(yùn)行效率。
關(guān)鍵詞:負(fù)載均衡;C/S架構(gòu);B/S架構(gòu)
中圖分類號(hào):R197 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:B ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DOI:10.3969/j.issn.1006-1959.2020.11.003
文章編號(hào):1006-1959(2020)11-0007-03
Abstract:With the rapid development of "Internet + medical health", the hospital information business is rapidly increasing, effectively ensuring the hospital network architecture is efficient and stable, and the information system data is safe and reliable, which has become a problem faced by major hospitals. This paper designs the network topology using load balancing equipment for the two architectures used by the hospital's mainstream HIS system, and summarizes the service access, disaster tolerance switching, and interface diversion problems that load balancing solves in the two architectures, aiming to improve the hospital's core business operating efficiency.
Key words:Load balancing;C/S architecture;B/S architecture
得益于計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的飛速進(jìn)步,醫(yī)院信息系統(tǒng)也迅速發(fā)展,由半手工半自動(dòng)化辦公逐步轉(zhuǎn)入無(wú)紙化辦公。醫(yī)院各大生產(chǎn)系統(tǒng),如醫(yī)院信息系統(tǒng)(HIS)、電子病歷系統(tǒng)(EMR)、實(shí)驗(yàn)室信息系統(tǒng)(LIS)、影像歸檔和通信系統(tǒng)(PACS),以及各??茖S孟到y(tǒng),收集并存儲(chǔ)了患者個(gè)人信息與醫(yī)療信息,不僅有效提高了醫(yī)護(hù)人員工作效率,也為建立健康檔案、實(shí)施延續(xù)護(hù)理等提供了基礎(chǔ)。信息系統(tǒng)在發(fā)展過(guò)程中,也逐步面臨瓶頸。首先,臨床的業(yè)務(wù)訪問(wèn)量增大,基于C/S架構(gòu)和B/S架構(gòu)設(shè)計(jì)的信息系統(tǒng)都遇到了硬件性能瓶頸,開(kāi)始出現(xiàn)業(yè)務(wù)變慢和卡頓的現(xiàn)象。其次,醫(yī)院專科專用系統(tǒng)增加,各系統(tǒng)與HIS或平臺(tái)的接口日漸增加。最后,為保證數(shù)據(jù)安全和業(yè)務(wù)的連續(xù)性,各醫(yī)院都為信息系統(tǒng)設(shè)計(jì)了備份系統(tǒng),但是很少能夠做到無(wú)縫切換,業(yè)務(wù)不中斷。本文以西南醫(yī)科大學(xué)附屬醫(yī)院為例,分別使用C/S與B/S架構(gòu)的兩套HIS系統(tǒng)。在C/S架構(gòu)的系統(tǒng)下,遇到了數(shù)據(jù)庫(kù)訪問(wèn)瓶頸及數(shù)據(jù)庫(kù)容災(zāi)切換的難題。在B/S架構(gòu)的系統(tǒng)下,遇到了web服務(wù)器訪問(wèn)瓶頸及平臺(tái)切換的難題。針對(duì)上述問(wèn)題,我院引入負(fù)載均衡[1]設(shè)備,升級(jí)優(yōu)化了網(wǎng)絡(luò)架構(gòu),旨在解決臨床業(yè)務(wù)訪問(wèn)數(shù)據(jù)庫(kù)或web服務(wù)器的瓶頸問(wèn)題,簡(jiǎn)化數(shù)據(jù)庫(kù)容災(zāi)切換操作步驟,提高信息系統(tǒng)的穩(wěn)定性,為大型三甲醫(yī)院的信息化升級(jí)提出了一種解決思路。
1負(fù)載均衡的路由設(shè)計(jì)
在網(wǎng)絡(luò)架構(gòu)上,我院采用了院區(qū)內(nèi)雙活的設(shè)計(jì)。核心交換機(jī)分別置于院區(qū)內(nèi)兩個(gè)機(jī)房,通過(guò)院區(qū)內(nèi)光纖完成堆疊,下聯(lián)兩個(gè)服務(wù)器虛擬化集群。兩臺(tái)負(fù)載均衡設(shè)備(active和standby)分別連接于兩臺(tái)核心交換機(jī)。臨床PC可通過(guò)樓層和匯聚交換機(jī)訪問(wèn)任意一個(gè)機(jī)房的核心,見(jiàn)圖1。
在引入負(fù)載均衡設(shè)備后,架設(shè)院區(qū)內(nèi)應(yīng)用業(yè)務(wù)的網(wǎng)關(guān)時(shí),可以在核心交換機(jī)上架設(shè)網(wǎng)關(guān),也可以在負(fù)載均衡設(shè)備上架設(shè)網(wǎng)關(guān),兩種方法各有優(yōu)勢(shì)。①在核心交換機(jī)上架設(shè)網(wǎng)關(guān):該方案下,為保證負(fù)載均衡生效,臨床的數(shù)據(jù)優(yōu)先通過(guò)核心交換機(jī)訪問(wèn)到負(fù)載均衡,再由負(fù)載均衡轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)器中。由于網(wǎng)關(guān)在核心上,因此服務(wù)器在回應(yīng)臨床PC發(fā)包時(shí),會(huì)直接通過(guò)核心返回,造成目的IP地址不一致從而導(dǎo)致臨床PC丟棄數(shù)據(jù)。為避免此現(xiàn)象,需要對(duì)臨床PC做一次源地址轉(zhuǎn)換,或是在服務(wù)器集群中加入靜態(tài)路由,保證服務(wù)器回應(yīng)發(fā)包從負(fù)載均衡通過(guò)。使用該方法,網(wǎng)絡(luò)和路由的配置較為復(fù)雜,優(yōu)勢(shì)在于核心交換機(jī)穩(wěn)定性高、性能較好,能夠處理大量的數(shù)據(jù)流量。②在負(fù)載均衡設(shè)備上架設(shè)網(wǎng)關(guān):該方案下,所有的數(shù)據(jù)流量會(huì)優(yōu)先訪問(wèn)負(fù)載均衡設(shè)備,再由負(fù)載均衡設(shè)備轉(zhuǎn)發(fā)到服務(wù)器集群,數(shù)據(jù)返回時(shí)也默認(rèn)從負(fù)載均衡通過(guò)[2]。使用該方法,配置簡(jiǎn)單,路由設(shè)計(jì)明了,但是從邏輯上負(fù)載均衡是串聯(lián)到鏈路中,增加了故障點(diǎn),并且由于負(fù)載均衡性能不及核心交換機(jī),在遇到高峰訪問(wèn)時(shí),容易造成性能瓶頸。
綜合考慮,我院采用了第一種方法,將網(wǎng)關(guān)設(shè)計(jì)到核心交換機(jī)上。并且為了監(jiān)控臨床所有的訪問(wèn)記錄,在服務(wù)器集群中加入了靜態(tài)路由。在確定負(fù)載均衡的路由后,我院在前后兩套基于C/S和B/S架構(gòu)的系統(tǒng)上都有成熟的應(yīng)用。
2 C/S架構(gòu)下負(fù)載均衡的設(shè)計(jì)與應(yīng)用
2.1設(shè)計(jì) ?C/S架構(gòu)下負(fù)載均衡的設(shè)計(jì)見(jiàn)圖2。舊系統(tǒng)使用Oracle數(shù)據(jù)庫(kù),在雙機(jī)房P750小機(jī)上搭建Oracle RAC環(huán)境。同時(shí)在兩個(gè)機(jī)房搭建兩個(gè)服務(wù)器虛擬化集群,在服務(wù)器本地分別搭建兩個(gè)Oracle單節(jié)點(diǎn)數(shù)據(jù)庫(kù)作為容災(zāi)數(shù)據(jù)庫(kù)。生產(chǎn)數(shù)據(jù)庫(kù)和容災(zāi)數(shù)據(jù)庫(kù)之間通過(guò)Oracle goldengate技術(shù)保持實(shí)時(shí)同步。負(fù)載均衡設(shè)備旁掛于核心交換機(jī),臨床訪問(wèn)數(shù)據(jù)庫(kù)都通過(guò)負(fù)載均衡設(shè)備轉(zhuǎn)發(fā)。
2.2應(yīng)用 ?在該拓?fù)湓O(shè)計(jì)中引入負(fù)載均衡主要解決了兩個(gè)問(wèn)題:①數(shù)據(jù)負(fù)載均衡:我院臨床業(yè)務(wù)高峰期的數(shù)據(jù)庫(kù)連接數(shù)超過(guò)3000,單臺(tái)小機(jī)的性能很難支撐如此大量的訪問(wèn)量。Oracle RAC技術(shù)可以保證兩個(gè)數(shù)據(jù)庫(kù)同時(shí)寫(xiě)入并且數(shù)據(jù)一致,臨床所有客戶端均配置負(fù)載均衡地址,再由負(fù)載均衡將訪問(wèn)請(qǐng)求均分到兩臺(tái)小機(jī)的數(shù)據(jù)庫(kù)上,解決了高峰時(shí)期硬件性能瓶頸問(wèn)題。②數(shù)據(jù)庫(kù)容災(zāi)切換:為保證數(shù)據(jù)和業(yè)務(wù)安全,我院在跨平臺(tái)的環(huán)境中搭建了另一套Oracle單節(jié)點(diǎn)容災(zāi)數(shù)據(jù)庫(kù)。當(dāng)生產(chǎn)數(shù)據(jù)庫(kù)出現(xiàn)硬件故障的時(shí)候,容災(zāi)數(shù)據(jù)庫(kù)需要的最短時(shí)間接管生產(chǎn)業(yè)務(wù)。由于生產(chǎn)數(shù)據(jù)庫(kù)和容災(zāi)數(shù)據(jù)庫(kù)IP不一致,若不使用負(fù)載均衡,則進(jìn)行切換時(shí),需要將兩套數(shù)據(jù)庫(kù)的監(jiān)聽(tīng)停止,數(shù)據(jù)庫(kù)下線,再進(jìn)行IP地址切換。從RAC和單節(jié)點(diǎn)的IP地址切換配置非常復(fù)雜,操作繁瑣且容易出錯(cuò),造成數(shù)據(jù)腦裂。增加負(fù)載均衡后,所有客戶端及其他應(yīng)用系統(tǒng),均配置負(fù)載均衡地址[3](一定需要配置為負(fù)載均衡地址,否則在切換時(shí)會(huì)導(dǎo)致終端或者子系統(tǒng)業(yè)務(wù)中斷。后期運(yùn)行過(guò)程中子系統(tǒng)更改配置流程復(fù)雜,耗時(shí)長(zhǎng)久,故建議前期建設(shè)時(shí)就使用負(fù)載均衡地址)。需要進(jìn)行容災(zāi)切換時(shí),在負(fù)載均衡上操作地址,將所有的訪問(wèn)請(qǐng)求從生產(chǎn)數(shù)據(jù)庫(kù)切換到容災(zāi)數(shù)據(jù)庫(kù)上。
3 B/S架構(gòu)下負(fù)載均衡的設(shè)計(jì)與應(yīng)用
3.1設(shè)計(jì) ?B/S架構(gòu)下負(fù)載均衡的設(shè)計(jì)見(jiàn)圖3。新系統(tǒng)使用cache數(shù)據(jù)庫(kù),在門(mén)診機(jī)房服務(wù)器虛擬化集群上搭建主數(shù)據(jù)庫(kù)環(huán)境,在外科機(jī)房另一套服務(wù)器虛擬化集群上搭建mirror數(shù)據(jù)庫(kù)。臨床所有業(yè)務(wù)都需要訪問(wèn)的web應(yīng)用服務(wù)器以及各個(gè)子系統(tǒng)需要訪問(wèn)的平臺(tái)服務(wù)器,位于門(mén)診主機(jī)房。在外科機(jī)房搭建了備用的web服務(wù)器集群。主數(shù)據(jù)庫(kù)提供數(shù)據(jù)讀寫(xiě)業(yè)務(wù),mirror數(shù)據(jù)庫(kù)主要提供查詢業(yè)務(wù)。訪問(wèn)臨床訪問(wèn)web服務(wù)器、子系統(tǒng)訪問(wèn)平臺(tái)服務(wù)器、所有業(yè)務(wù)訪問(wèn)數(shù)據(jù)庫(kù),均通過(guò)負(fù)載均衡設(shè)備轉(zhuǎn)發(fā)。
3.2應(yīng)用 ?在該拓?fù)湓O(shè)計(jì)中引入負(fù)載均衡主要解決了以下問(wèn)題:①Web服務(wù)器訪問(wèn)壓力:B/S架構(gòu)的壓力主要集中于服務(wù)器端,一體化系統(tǒng)中HIS、電子病歷、LIS和PACS均需要通過(guò)web服務(wù)器提供服務(wù)。我院通過(guò)負(fù)載均衡提供了8臺(tái)web服務(wù)器,緩解臨床業(yè)務(wù)高峰期的訪問(wèn)壓力。②對(duì)外接口平臺(tái)訪問(wèn)壓力:一體化系統(tǒng)設(shè)計(jì)更加規(guī)范,所有與HIS對(duì)接的子系統(tǒng),均通過(guò)平臺(tái)服務(wù)器提供接口。平臺(tái)服務(wù)器需要通過(guò)負(fù)載均衡均分流量,平臺(tái)服務(wù)器再通過(guò)負(fù)載均衡,將接口訪問(wèn)請(qǐng)求均分到web服務(wù)器上[4,5]。③數(shù)據(jù)庫(kù)負(fù)載均衡:主數(shù)據(jù)庫(kù)提供讀寫(xiě)業(yè)務(wù),mirror數(shù)據(jù)庫(kù)只提供查詢業(yè)務(wù),臨床訪問(wèn)web服務(wù)器后,web服務(wù)器根據(jù)具體的訪問(wèn)請(qǐng)求,通過(guò)負(fù)載均衡訪問(wèn)數(shù)據(jù)庫(kù),減小數(shù)據(jù)庫(kù)服務(wù)器壓力[6]。④業(yè)務(wù)切換:當(dāng)web服務(wù)器、平臺(tái)服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器需要進(jìn)行停機(jī)切換或地址更換時(shí),可先行配置完成后,再操作負(fù)載均衡設(shè)備,將業(yè)務(wù)中斷的時(shí)間減到最少。
4總結(jié)
在大型三甲醫(yī)院的網(wǎng)絡(luò)架構(gòu)中引入負(fù)載均衡設(shè)備,對(duì)于使用C/S或B/S架構(gòu)的HIS系統(tǒng),可以有效分流臨床終端訪問(wèn)數(shù)據(jù)庫(kù)的流量、緩解單臺(tái)服務(wù)器的訪問(wèn)壓力、降低容災(zāi)切換時(shí)的操作復(fù)雜度、避免了更換數(shù)據(jù)庫(kù)IP地址等高難度操作,有效地保證了業(yè)務(wù)訪問(wèn)的連續(xù)性,將業(yè)務(wù)中斷的時(shí)間減到最少。在醫(yī)院信息系統(tǒng)飛速發(fā)展,系統(tǒng)架構(gòu)更加復(fù)雜的情況下,各個(gè)醫(yī)院更應(yīng)該重視負(fù)載均衡的使用。
參考文獻(xiàn):
[1]施識(shí)帆,張昕,曹凱迪,等.負(fù)載均衡技術(shù)在大型公立醫(yī)院中的應(yīng)用[J].中國(guó)醫(yī)療設(shè)備,2018(11):155-157.
[2]李曉菲.負(fù)載均衡技術(shù)在醫(yī)院PACS系統(tǒng)升級(jí)、改造中的應(yīng)用[J].臨床醫(yī)學(xué)工程,2017(1):21-22.
[3]王富.數(shù)字化醫(yī)院網(wǎng)絡(luò)中負(fù)載均衡技術(shù)的應(yīng)用[J].硅谷,2015(2):72
[4]劉昊賢.面向醫(yī)療健康服務(wù)的Web集群負(fù)載均衡策略的研究與實(shí)現(xiàn)[D].西安電子科技大學(xué),2017.
[5]孔艷蓉.基于Nginx高并發(fā)Web服務(wù)器負(fù)載均衡策略的研究與改進(jìn)[D].長(zhǎng)安大學(xué),2018.
[6]陳崗.服務(wù)器集群中的負(fù)載均衡策略研究[J].電腦知識(shí)與技術(shù),2019(8):9-10.
收稿日期:2020-03-18;修回日期:2020-03-31
編輯/成森