国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

微服務(wù)架構(gòu)下HIS系統(tǒng)設(shè)計(jì)與實(shí)踐

2021-03-31 08:56曹斌王奕
微型電腦應(yīng)用 2021年3期
關(guān)鍵詞:備份收費(fèi)架構(gòu)

曹斌, 王奕,2*

(1.復(fù)旦大學(xué)附屬腫瘤醫(yī)院 信息中心, 上海 200032; 2.上海腫瘤疾病人工智能工程技術(shù)研究中心, 上海 200032)

0 引言

醫(yī)院信息系統(tǒng)(Hospital Information System,HIS)既是醫(yī)院最早建設(shè)的系統(tǒng),也是最核心的業(yè)務(wù)系統(tǒng)。自從其建設(shè)以來(lái),便為醫(yī)院的基礎(chǔ)醫(yī)療活動(dòng)提供準(zhǔn)確、快捷的支持,并與醫(yī)院內(nèi)其他信息系統(tǒng)如電子病歷系統(tǒng)、醫(yī)學(xué)影像系統(tǒng)和檢驗(yàn)系統(tǒng)等互通信息,共同完成各類醫(yī)療活動(dòng)的記錄,并且對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。我院HIS系統(tǒng)經(jīng)過(guò)多年的應(yīng)用和改進(jìn),積累的患者數(shù)、數(shù)據(jù)量等信息都越來(lái)越多,傳統(tǒng)的HIS系統(tǒng)架構(gòu)已經(jīng)無(wú)法滿足現(xiàn)代化醫(yī)院并發(fā)式操作需求[1]。且早期的HIS系統(tǒng),其編程語(yǔ)言、系統(tǒng)框架都已被當(dāng)前的技術(shù)體系遠(yuǎn)遠(yuǎn)超越。面對(duì)現(xiàn)代化醫(yī)院日趨龐大、復(fù)雜的需求,通過(guò)系統(tǒng)升級(jí)來(lái)解決,HIS系統(tǒng)已變得越來(lái)越吃力。在此背景下,我院嘗試對(duì)HIS系統(tǒng)的整體架構(gòu)進(jìn)行重構(gòu),采用更為先進(jìn)、合理的微服務(wù)架構(gòu)技術(shù),運(yùn)用數(shù)據(jù)庫(kù)緩存以及讀寫(xiě)分離技術(shù),保證系統(tǒng)正常、穩(wěn)定的運(yùn)行為前提,整體提高HIS系統(tǒng)的擴(kuò)展能力,優(yōu)化提升系統(tǒng)的查詢統(tǒng)計(jì)功能。

1 研究背景

互聯(lián)網(wǎng)發(fā)展以來(lái),先后沖擊了紙質(zhì)傳媒、電子商務(wù)、旅游和教育等各領(lǐng)域[2]。在新技術(shù)的推動(dòng)下,HIS系統(tǒng)的功能也在不斷地豐富與完善,為醫(yī)院的運(yùn)營(yíng)與管理帶來(lái)了極大便利,不但節(jié)省了勞動(dòng)力,更提高了管理效率,減少工作中的疏漏和錯(cuò)誤[3]。然而早期的HIS系統(tǒng)基本采用傳統(tǒng)的“一站式”開(kāi)發(fā)方式進(jìn)行研發(fā),在醫(yī)院高精細(xì)化管理要求下,擴(kuò)展系統(tǒng)功能變得困難重重,制約著現(xiàn)代化醫(yī)院的快速發(fā)展。

而隨著“互聯(lián)網(wǎng)+”的高速發(fā)展,微服務(wù)架構(gòu)的開(kāi)發(fā)模式應(yīng)運(yùn)而生,它是一種新的構(gòu)造應(yīng)用程序方法[4]。與傳統(tǒng)“一站式”開(kāi)發(fā)方式相比,微服務(wù)架構(gòu)是將獨(dú)立的應(yīng)用拆分為多個(gè)子服務(wù)的系統(tǒng)服務(wù)架構(gòu)。各子服務(wù)運(yùn)行在自己的進(jìn)程中,服務(wù)間采用輕量級(jí)的通信機(jī)制,相互通信,相互配合。各個(gè)服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立地部署[5]。與一體式架構(gòu)相比,微服務(wù)架構(gòu)有著以下優(yōu)勢(shì):微服務(wù)架構(gòu)可降解項(xiàng)目體量,將項(xiàng)目拆解成若干個(gè)子項(xiàng)目的集合,降低項(xiàng)目的控制難度[6];代碼的復(fù)用率高;微服務(wù)體量相對(duì)較小,便于開(kāi)發(fā)和調(diào)試[7];各微服務(wù)都相對(duì)獨(dú)立,開(kāi)發(fā)時(shí)更容易理解,同樣可避免開(kāi)發(fā)工具不堪重負(fù)的情況[8];不同的微服務(wù)可以使用不同的開(kāi)發(fā)語(yǔ)言來(lái)實(shí)現(xiàn)[9];微服務(wù)在容錯(cuò)隔離方面也有不錯(cuò)的能力,單個(gè)微服務(wù)出現(xiàn)故障,不會(huì)導(dǎo)致整個(gè)系統(tǒng)不可用[8]。

2 系統(tǒng)設(shè)計(jì)

2.1 HIS系統(tǒng)整體架構(gòu)設(shè)計(jì)

程序架構(gòu)設(shè)計(jì)的難點(diǎn)在于如何選擇最為合適的技術(shù)、方法和模式來(lái)完成整套系統(tǒng)開(kāi)發(fā)的解決方案[10]。根據(jù)現(xiàn)代化智慧型醫(yī)院的業(yè)務(wù)功能和發(fā)展需求,以及微服務(wù)架構(gòu)的特性,我院新HIS系統(tǒng)整體采用B/S模式的三層架構(gòu):即表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。其拓補(bǔ)圖,如圖1所示。

圖1 B/S架構(gòu)三層架構(gòu)圖

與使用微服務(wù)的初衷一樣,采用B/S模式的三層架構(gòu)同樣希望系統(tǒng)具備分散關(guān)注、松散耦合和邏輯復(fù)用的特點(diǎn)。與C/S架構(gòu)相比,B/S架構(gòu)還可通過(guò)權(quán)限控制來(lái)實(shí)現(xiàn)多客戶不同的訪問(wèn)目的,加強(qiáng)數(shù)據(jù)的交互,且客戶端無(wú)需安裝,易部署,程序升級(jí)只用關(guān)注服務(wù)器即可。根據(jù)此設(shè)計(jì)理念,在業(yè)務(wù)邏輯層的構(gòu)建中使用微服務(wù)架構(gòu)技術(shù),使新的HIS系統(tǒng)具備如下能力。

(1) 系統(tǒng)的高可用性。各個(gè)業(yè)務(wù)邏輯之間,采用負(fù)載均衡技術(shù),設(shè)置多個(gè)節(jié)點(diǎn),加強(qiáng)系統(tǒng)的負(fù)載與容災(zāi)能力。同樣,對(duì)于數(shù)量更多的微服務(wù),通過(guò)負(fù)載均衡技術(shù)使其能夠穩(wěn)定、均衡的運(yùn)行。

(2) 準(zhǔn)確的邏輯執(zhí)行。所有的業(yè)務(wù)邏輯均支持微軟分布式傳輸協(xié)調(diào)程序(MSDTC),通過(guò)MSDTC技術(shù)來(lái)協(xié)調(diào)數(shù)據(jù)庫(kù)、消息隊(duì)列,從而使各個(gè)業(yè)務(wù)邏輯能夠準(zhǔn)確的執(zhí)行完成。

(3) 優(yōu)秀的擴(kuò)展性能。通過(guò)對(duì)業(yè)務(wù)邏輯重構(gòu),將完整的一個(gè)個(gè)業(yè)務(wù)邏輯采用微服務(wù)的技術(shù)進(jìn)行最小化拆分,得到的每個(gè)微服務(wù)使其職能單一化,將這些單一化的微型服務(wù)重新組合,實(shí)現(xiàn)原有的各個(gè)業(yè)務(wù)邏輯,也可根據(jù)需要重新組合,使系統(tǒng)獲得新的能力。

(4) 高效的處理性能。數(shù)據(jù)庫(kù)方面使用SqlSugar高性能ORM框架,更好的將面向?qū)ο笈c關(guān)系數(shù)據(jù)庫(kù)進(jìn)行匹配,同時(shí)采用Redis緩存服務(wù),提高數(shù)據(jù)庫(kù)的讀寫(xiě)速度。在界面層與邏輯層通信上,支持WCF-TCP/HTTP架構(gòu),使得客服端與服務(wù)器的通信更為輕松、高效。

(5) 系統(tǒng)易部署:系統(tǒng)可部署為windows service、Internet information system或者是可執(zhí)行文件(exe)的形式。

2.2 微服務(wù)架構(gòu)的業(yè)務(wù)邏輯層設(shè)計(jì)

傳統(tǒng)HIS系統(tǒng)的邏輯業(yè)務(wù),多數(shù)都較為龐大、復(fù)雜,動(dòng)輒就幾千,甚至上萬(wàn)行代碼,隨著時(shí)間的增長(zhǎng),功能的復(fù)雜化,對(duì)這些邏輯業(yè)務(wù)進(jìn)行修改變得越來(lái)越困難。我院此次重建HIS系統(tǒng),采用微服務(wù)架構(gòu)技術(shù),重點(diǎn)對(duì)業(yè)務(wù)邏輯層進(jìn)行重構(gòu)。系統(tǒng)設(shè)計(jì)時(shí),首先保證新的HIS系統(tǒng)能夠?qū)崿F(xiàn)目前系統(tǒng)中所有的邏輯業(yè)務(wù),之后以微服務(wù)架構(gòu)的原則為準(zhǔn)則,對(duì)這些邏輯業(yè)務(wù)進(jìn)行拆分,以拆分后微服務(wù)的邏輯功能最小化為標(biāo)準(zhǔn),將原有的邏輯業(yè)務(wù)拆分為各個(gè)“原子服務(wù)”,然后,對(duì)這些 “原子服務(wù)”再組合,重新實(shí)現(xiàn)邏輯層的各個(gè)邏輯業(yè)務(wù)。

根據(jù)上述設(shè)計(jì)原則,以收費(fèi)業(yè)務(wù)邏輯為例,具體說(shuō)明如何運(yùn)用微服務(wù)技術(shù)實(shí)現(xiàn)邏輯業(yè)務(wù)。傳統(tǒng)HIS系統(tǒng)在進(jìn)行收費(fèi)操作時(shí),客戶端通過(guò)刷卡等操作獲取患者的掛號(hào)信息,確認(rèn)掛號(hào)信息后,讀取該掛號(hào)信息相關(guān)的收費(fèi)信息,確認(rèn)無(wú)誤完成一次收費(fèi)操作。在傳統(tǒng)的HIS系統(tǒng)中,收費(fèi)業(yè)務(wù)邏輯為以上完整的業(yè)務(wù)功能,不可進(jìn)行分割。在微服務(wù)架構(gòu)技術(shù)下,對(duì)原來(lái)完整的業(yè)務(wù)邏輯進(jìn)行拆分,得到如下原子服務(wù):獲取患者基本信息、獲取掛號(hào)信息、獲取收費(fèi)信息、更新收費(fèi)信息和醫(yī)保通信等。通過(guò)對(duì)這些原子服務(wù)組合,重新構(gòu)建一次收費(fèi)操作的業(yè)務(wù)邏輯,如圖2所示。

圖2 收費(fèi)業(yè)務(wù)邏輯示意圖

將原本一個(gè)完整邏輯業(yè)務(wù)拆分成若干“原子服務(wù)”,這些“原子服務(wù)”不僅能在收費(fèi)的邏輯業(yè)務(wù)中使用,也能在其他邏輯業(yè)務(wù)中使用,這樣便節(jié)省了很多重復(fù)代碼的開(kāi)發(fā),加強(qiáng)代碼的復(fù)用性。同時(shí),新HIS系統(tǒng)中邏輯業(yè)務(wù)是由“原子服務(wù)”進(jìn)行組合實(shí)現(xiàn)的,在醫(yī)院提出新需求時(shí),不需要重新編寫(xiě)完整的業(yè)務(wù)邏輯來(lái)實(shí)現(xiàn)這些需求,通過(guò)對(duì)這些成熟的“原子服務(wù)”重新組合,便可快速完成新需求的開(kāi)發(fā)。通過(guò)微服務(wù)架構(gòu)的改造,可在很大程度上避免系統(tǒng)由于框架設(shè)計(jì)時(shí)的缺陷,而導(dǎo)致系統(tǒng)大規(guī)模修改的窘境。

2.3 界面層與數(shù)據(jù)層設(shè)計(jì)

界面層的需求與傳統(tǒng)的HIS系統(tǒng)保持一致,支持多終端、多方式的訪問(wèn)。例如:電腦、手機(jī)APP和網(wǎng)頁(yè)等,滿足系統(tǒng)易部署的設(shè)計(jì)目標(biāo)。在與業(yè)務(wù)邏輯層通信上,使用WCF(Windows Communication Foundation)與RPC(Remote Procedure Call)框架,進(jìn)一步加強(qiáng)系統(tǒng)多樣化的部署,并且提高系統(tǒng)的開(kāi)發(fā)效率以及接口的復(fù)用性。

在數(shù)據(jù)庫(kù)的設(shè)計(jì)上,并未進(jìn)行大的改變,仍以目前的數(shù)據(jù)庫(kù)庫(kù)表結(jié)構(gòu)為主,根據(jù)業(yè)務(wù)邏輯層的需要,對(duì)數(shù)據(jù)庫(kù)庫(kù)表進(jìn)行調(diào)整。在數(shù)據(jù)庫(kù)讀寫(xiě)性能方面,使用SqlSugar框架,使邏輯層生成的數(shù)據(jù)能夠快速、準(zhǔn)確的存入數(shù)據(jù)庫(kù)。同時(shí)采用Redis數(shù)據(jù)結(jié)構(gòu):支持string(字符串)、list(列表)、set(集合)、zset(sorted set --有序集合)和hash(哈希)5種數(shù)據(jù)類型,其亦適用于分布式緩存技術(shù)和消息隊(duì)列的通信,同時(shí)結(jié)合數(shù)據(jù)庫(kù)緩存RAC(Real Application Cluster) Cache技術(shù),建立整套高性能的數(shù)據(jù)存儲(chǔ)系統(tǒng)。由于對(duì)業(yè)務(wù)邏輯整體進(jìn)行重構(gòu),原本HIS系統(tǒng)中一些重要的查詢功能便無(wú)法實(shí)現(xiàn)了,為了滿足這些重要的查詢功能,通過(guò)緩存數(shù)據(jù)庫(kù)(Redis RAC Cache),建立臨時(shí)表,存儲(chǔ)原HIS系統(tǒng)中這些重要的查詢數(shù)據(jù)。這些數(shù)據(jù)在寫(xiě)入數(shù)據(jù)庫(kù)的同時(shí),寫(xiě)入這些臨時(shí)表里,方便實(shí)現(xiàn)重要的查詢功能。

數(shù)據(jù)庫(kù)的安全性與冗余性方面,使用多級(jí)數(shù)據(jù)庫(kù)備份來(lái)實(shí)現(xiàn)。數(shù)據(jù)庫(kù)系統(tǒng)由一個(gè)主數(shù)據(jù)庫(kù)和三個(gè)備份數(shù)據(jù)庫(kù)組成。在三個(gè)備份庫(kù)中,其中一個(gè)備份庫(kù)與主數(shù)據(jù)庫(kù)采取瞬時(shí)同步的方式,對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)同步備份,在主數(shù)據(jù)庫(kù)遇到故障時(shí)可及時(shí)切換,加強(qiáng)數(shù)據(jù)庫(kù)的災(zāi)備能力;另外兩個(gè)備份庫(kù)采用異步同步的方式與上述備份庫(kù)進(jìn)行數(shù)據(jù)同步,這兩個(gè)備份庫(kù)對(duì)數(shù)據(jù)采取只讀模式,主要用于報(bào)表統(tǒng)計(jì)、歷史數(shù)據(jù)查詢等操作,不再負(fù)責(zé)系統(tǒng)中各功能模塊的查詢應(yīng)用。

2.4 系統(tǒng)性能監(jiān)測(cè)與日志系統(tǒng)

在新的HIS系統(tǒng)中,設(shè)置了應(yīng)用性能監(jiān)測(cè)軟件(APM),對(duì)HIS系統(tǒng)的整體運(yùn)行情況進(jìn)行監(jiān)測(cè),及時(shí)反映系統(tǒng)的運(yùn)行狀況。除了APM之外,新HIS系統(tǒng)的日志功能也做了強(qiáng)化:對(duì)系統(tǒng)內(nèi)的所有操作都進(jìn)行記錄。傳統(tǒng)的HIS系統(tǒng),并不是對(duì)所有操作都進(jìn)行日志記錄,多數(shù)操作只保存其最后一次,對(duì)于中間的過(guò)程無(wú)法進(jìn)行追溯。在新HIS系統(tǒng)中,對(duì)系統(tǒng)中每一次操作都進(jìn)行日志記錄,方便問(wèn)題的查找與修改。為了能夠更清晰的表現(xiàn)業(yè)務(wù)的操作,新HIS系統(tǒng)中對(duì)于數(shù)據(jù)庫(kù)的操作只采用正負(fù)標(biāo)記進(jìn)行“寫(xiě)”(加)的操作,不使用更新(update)操作。例如,如果進(jìn)行一次退費(fèi)操作,則對(duì)現(xiàn)有收費(fèi)記錄進(jìn)行一次加“-1”的收費(fèi)操作。新HIS系統(tǒng)的架構(gòu),如圖3所示。

圖3 新HIS系統(tǒng)架構(gòu)圖

2.5 系統(tǒng)測(cè)試設(shè)計(jì)

系統(tǒng)測(cè)試在系統(tǒng)開(kāi)發(fā)過(guò)程中是非常重要的一環(huán),本次新HIS系統(tǒng)測(cè)試,以測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test-driven Development)模型為理論指導(dǎo),采用單元測(cè)試的方式進(jìn)行。單元測(cè)試中,以各個(gè)微服務(wù)為最小單位進(jìn)行。在此基礎(chǔ)上,利用歷史數(shù)據(jù)對(duì)完整的邏輯業(yè)務(wù)進(jìn)一步測(cè)試,對(duì)系統(tǒng)業(yè)務(wù)邏輯的準(zhǔn)確性進(jìn)行反復(fù)驗(yàn)證。整個(gè)開(kāi)發(fā)測(cè)試過(guò)程以持續(xù)集成、持續(xù)交付的方式進(jìn)行,使系統(tǒng)開(kāi)發(fā)過(guò)程中遇到的問(wèn)題盡早暴露與解決。

3 總結(jié)

在信息化高速發(fā)展的時(shí)代,各行各業(yè)都向著自動(dòng)化、智能化的方向高速發(fā)展,醫(yī)院對(duì)信息化的需求與期待也是越來(lái)越重。HIS系統(tǒng)作為醫(yī)療信息化的核心系統(tǒng),在醫(yī)院信息化發(fā)展過(guò)程中有著舉足輕重的作用。此次運(yùn)用微服務(wù)架構(gòu)技術(shù),對(duì)HIS系統(tǒng)所有的業(yè)務(wù)邏輯進(jìn)行重構(gòu),就是改變傳統(tǒng)HIS系統(tǒng)不易修改、擴(kuò)展性能低的短板。在面對(duì)醫(yī)院緊急的、新的需求時(shí),信息中心可根據(jù)成熟、穩(wěn)定的微服務(wù)群快速地構(gòu)建出所需要的新功能,使新HIS系統(tǒng)能持續(xù)不斷地支持臨床一線的工作。在數(shù)據(jù)統(tǒng)計(jì)方面,亦可通過(guò)微服務(wù)來(lái)獲取各類較復(fù)雜的數(shù)據(jù),快速創(chuàng)建出醫(yī)院需要的報(bào)表。通過(guò)系統(tǒng)重建,新HIS系統(tǒng)以更為先進(jìn)、合理的技術(shù)與架構(gòu)獲得新生,在未來(lái)醫(yī)院的發(fā)展中會(huì)更有力地促進(jìn)醫(yī)院智慧化的建設(shè)。

猜你喜歡
備份收費(fèi)架構(gòu)
“備份”25年:鄧清明圓夢(mèng)
基于FPGA的RNN硬件加速架構(gòu)
VSAT衛(wèi)星通信備份技術(shù)研究
行政法上之不利類推禁止*——以一起登記收費(fèi)案為例
功能架構(gòu)在電子電氣架構(gòu)開(kāi)發(fā)中的應(yīng)用和實(shí)踐
創(chuàng)建vSphere 備份任務(wù)
基于云服務(wù)的圖書(shū)館IT架構(gòu)
自由流收費(fèi)技術(shù)解決方案的創(chuàng)新應(yīng)用
論高速公路收費(fèi)服務(wù)水平的提高和收費(fèi)服務(wù)設(shè)施的完善
WebGIS架構(gòu)下的地理信息系統(tǒng)構(gòu)建研究