夏純中,宋順林
(1.江蘇大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,江蘇鎮(zhèn)江212013;2.江蘇大學(xué)現(xiàn)代教育技術(shù)中心,江蘇 鎮(zhèn)江212013)
企業(yè)服務(wù)總線 (enterprise service bus,ESB)是基于面向服務(wù)架構(gòu) (service oriented architecture,SOA)思想的企業(yè)應(yīng)用集成的基礎(chǔ)軟件架構(gòu)[1]。ESB作為SOA架構(gòu)的信息傳輸平臺(tái),通過(guò)標(biāo)準(zhǔn)的適配器連接異構(gòu)環(huán)境中的服務(wù),實(shí)現(xiàn)各集成系統(tǒng)之間的互操作功能[2-3]。作為一種集中式的SOA方案,ESB的潛在問(wèn)題就是它的性能瓶頸。研究者已經(jīng)對(duì)ESB的性能模型進(jìn)行了研究。ESB系統(tǒng)的性能取決于組合服務(wù)的性能,ESB的運(yùn)行模型本質(zhì)是一種排隊(duì)網(wǎng)絡(luò)性能模型[4]。使用動(dòng)態(tài)可配置的消息路由優(yōu)化ESB性能是一種常用的方法[5],當(dāng)某個(gè)服務(wù)負(fù)載過(guò)大或出現(xiàn)故障時(shí),系統(tǒng)能夠自動(dòng)將消息路由至其它服務(wù)。
為解決ESB系統(tǒng)內(nèi)部多種不同類(lèi)型的業(yè)務(wù)流競(jìng)爭(zhēng)有限帶寬資源時(shí)導(dǎo)致的擁塞問(wèn)題,提出一種實(shí)時(shí)ESB模型。通過(guò)對(duì)ESB模型進(jìn)行改進(jìn),增加了業(yè)務(wù)類(lèi)型優(yōu)先級(jí)和業(yè)務(wù)執(zhí)行時(shí)間約束的語(yǔ)義,以及業(yè)務(wù)請(qǐng)求監(jiān)控和業(yè)務(wù)調(diào)度組件。系統(tǒng)運(yùn)行時(shí)采用實(shí)時(shí)調(diào)度算法,根據(jù)不同類(lèi)型業(yè)務(wù)流帶寬需求,按照業(yè)務(wù)類(lèi)型優(yōu)先級(jí)從高到低動(dòng)態(tài)分配服務(wù)總線的業(yè)務(wù)流量帶寬。
Java業(yè)務(wù)集成 (Java business integration,JBI)是JCP(Java community process)制定的Java平臺(tái)的 ESB標(biāo)準(zhǔn)化技術(shù)規(guī)范[6]。JBI中定義了兩種組件:綁定組件 (binding components,BC)和服務(wù)引擎 (service engine,SE)。綁定組件用于根據(jù)特定協(xié)議和傳輸器發(fā)送和接收消息,如HTTP/Web Services、JMS、FTP等。服務(wù)引擎實(shí)現(xiàn)業(yè)務(wù)邏輯,編排整合各種服務(wù)。綁定組件把消息在特定協(xié)議的格式和規(guī)格化格式之間進(jìn)行轉(zhuǎn)換,使JBI系統(tǒng)只需處理規(guī)格化消息,從而把JBI系統(tǒng)與特定協(xié)議分離。服務(wù)引擎和綁定組件通過(guò)傳輸通道 (delivery channel,DC)與標(biāo)準(zhǔn)化消息路由 (normalized message router,NMR)進(jìn)行通信[7]。
JBI給出了ESB系統(tǒng)的接口和交互標(biāo)準(zhǔn),但并沒(méi)有給出具體的實(shí)現(xiàn)方法,例如如何應(yīng)付高并發(fā)的業(yè)務(wù)請(qǐng)求。一些基于JBI的ESB系統(tǒng)采用部署集群的方式應(yīng)對(duì)高并發(fā)的業(yè)務(wù)請(qǐng)求,但由于接入總線的外部Web Service服務(wù)本身的處理能有限,即便配置再多集群,對(duì)該服務(wù)的調(diào)用仍然是多種業(yè)務(wù)流對(duì)有限資源的競(jìng)爭(zhēng)使用。還有一些系統(tǒng)基于SEDA (staged event-driven architecture)架構(gòu)[8]。業(yè)務(wù)請(qǐng)求被放置在緩沖隊(duì)列中,采用先到先服務(wù)和盡力工作的服務(wù)策略。這兩種實(shí)現(xiàn)方式都沒(méi)有考慮到不同類(lèi)型的業(yè)務(wù)對(duì)時(shí)效性的要求。當(dāng)系統(tǒng)重載,總線發(fā)生業(yè)務(wù)擁塞時(shí),所有的服務(wù)都處于等待狀態(tài),系統(tǒng)服務(wù)質(zhì)量迅速下降。
ESB作為一個(gè)集中式數(shù)據(jù)和服務(wù)交換平臺(tái),需要處理大量的實(shí)時(shí)業(yè)務(wù)。實(shí)時(shí)業(yè)務(wù)對(duì)業(yè)務(wù)的執(zhí)行時(shí)間有明確的時(shí)間約束。ESB應(yīng)具備實(shí)時(shí)調(diào)度能力,盡可能地保證每個(gè)任務(wù)滿(mǎn)足他們的時(shí)間約束。一方面對(duì)外部請(qǐng)求做出及時(shí)響應(yīng),另一方面縮短系統(tǒng)平均響應(yīng)時(shí)間,提高系統(tǒng)資源利用率。
企業(yè)應(yīng)用集成中有3種常見(jiàn)的業(yè)務(wù)類(lèi)型,如表1所示。
表1 3種不同級(jí)別業(yè)務(wù)類(lèi)型
為了使ESB系統(tǒng)能夠處理實(shí)時(shí)業(yè)務(wù),對(duì)JBI標(biāo)準(zhǔn)進(jìn)行改進(jìn),采用優(yōu)先級(jí)驅(qū)動(dòng)策略,按照業(yè)務(wù)優(yōu)先級(jí)的高低動(dòng)態(tài)分配各類(lèi)業(yè)務(wù)流的帶寬。
首先為基于JBI的綁定組件增加兩個(gè)語(yǔ)義。其一是優(yōu)先級(jí)Priority,取值為high,middle或low。其二是業(yè)務(wù)時(shí)間約束timeoutMS,單位為毫秒。當(dāng)業(yè)務(wù)排隊(duì)等待時(shí)間超過(guò)該約束時(shí),業(yè)務(wù)將返回超時(shí)錯(cuò)誤。
<http:soap-provider
service="hospital:DiagnoseServiceSOAPBinding"
wsdl="classpath:diagnoseService.wsdl"
priority="high"
timeoutMS="30000"/>
接著擴(kuò)展JBI的標(biāo)準(zhǔn)化消息路由組件,增加下列3個(gè)組件,如圖1所示。
(1)流量整形漏桶組件。該組件位于服務(wù)提供者組件和消息路由組件之間,采用漏桶算法 (leaky bucket,LB)對(duì)業(yè)務(wù)請(qǐng)求進(jìn)行流量過(guò)濾和整形。如圖1所示,業(yè)務(wù)請(qǐng)求先被一個(gè)輸入緩沖隊(duì)列中,漏桶流控組件根據(jù)系統(tǒng)分配給該業(yè)務(wù)的流量帶寬將業(yè)務(wù)消息放入輸出緩沖隊(duì)列中供消息路由組件分發(fā)。如果業(yè)務(wù)請(qǐng)求因?yàn)閾砣抨?duì)超過(guò)有效時(shí)間,漏桶流控組件直接返回超時(shí)錯(cuò)誤消息給綁定組件。
(2)流量?jī)?yōu)先級(jí)調(diào)度組件。該組件位于服務(wù)消費(fèi)者組件或服務(wù)引擎組件和消息路由組件之間。如圖1所示,該組件為每一個(gè)業(yè)務(wù)流建立一個(gè)傳輸隊(duì)列,消息路由將不同的業(yè)務(wù)流消息放入相應(yīng)傳輸隊(duì)列中。調(diào)度組件使用加權(quán)公平隊(duì)列算法 (weighted fair queuing,WFQ)[9],以分配給該業(yè)務(wù)的帶寬作為權(quán)重調(diào)度各業(yè)務(wù)流,將消息路由至其它服務(wù)消費(fèi)者組件或服務(wù)引擎組件。WFQ和LB算法共同作用保證總線上各業(yè)務(wù)流量的穩(wěn)定。
(3)消息路由組件。該組件定時(shí)與流量整形漏桶組件通信,實(shí)時(shí)獲取并記錄各業(yè)務(wù)輸入流量、業(yè)務(wù)超時(shí)和丟棄情況。當(dāng)服務(wù)提供者組件發(fā)生流量擁塞時(shí),該組件能根據(jù)總線當(dāng)前流量情況動(dòng)態(tài)調(diào)整分配各業(yè)務(wù)流帶寬。
圖1 實(shí)時(shí)企業(yè)服務(wù)總線消息處理
在實(shí)時(shí)ESB模型中,一次完整的業(yè)務(wù)流程序列如圖2所示。假設(shè)客戶(hù)端通過(guò)Web Service Client以同步方式調(diào)用HTTP/SOAP BC。該調(diào)用在進(jìn)入總線后變成異步模式的消息。BC將SOAP協(xié)議的調(diào)用請(qǐng)求轉(zhuǎn)換成標(biāo)準(zhǔn)化消息,通過(guò)傳輸通道放入BC對(duì)應(yīng)的LB組件的輸入緩沖隊(duì)列中。LB組件根據(jù)分配的流量按指定速率將消息發(fā)送給NMR。如果業(yè)務(wù)請(qǐng)求因?yàn)閾砣抨?duì)超過(guò)有效時(shí)間,LB直接返回錯(cuò)誤消息給BC。NMR將消息路由至目的BC對(duì)應(yīng)的WFQ組件,放入相應(yīng)業(yè)務(wù)流的緩沖隊(duì)列中。WFQ組件根據(jù)優(yōu)先級(jí)調(diào)度算法將請(qǐng)求發(fā)送給消費(fèi)者BC組件。消費(fèi)者BC組件調(diào)用外部系統(tǒng)相應(yīng)的接口后將消息直接返回給標(biāo)準(zhǔn)化消息路由,標(biāo)準(zhǔn)化消息路由將消息返回給業(yè)務(wù)發(fā)起的BC。BC將標(biāo)準(zhǔn)化消息轉(zhuǎn)換成SOAP協(xié)議后返回給阻塞的客戶(hù)端。
圖2 消息序列
對(duì)ESB進(jìn)行調(diào)度,本質(zhì)上是對(duì)在總線上運(yùn)行的業(yè)務(wù)工作流的調(diào)度。如果業(yè)務(wù)請(qǐng)求超過(guò)流程路徑上某個(gè)結(jié)點(diǎn)的處理能力,超過(guò)的請(qǐng)求就會(huì)在該瓶頸結(jié)點(diǎn)的緩沖隊(duì)列中排隊(duì),一旦排隊(duì)時(shí)間超過(guò)該任務(wù)的時(shí)限約束,該業(yè)務(wù)將被終止,此時(shí)之前結(jié)點(diǎn)執(zhí)行的所有業(yè)務(wù)均為無(wú)效,浪費(fèi)了系統(tǒng)的處理資源。因此必須計(jì)算出流程所經(jīng)路徑的最大處理能力,流量整形漏桶組件按照該速率將請(qǐng)求發(fā)送至總線內(nèi)部,超出處理能力部分的請(qǐng)求直接在漏桶組件輸入緩沖隊(duì)列中排隊(duì),避免浪費(fèi)有限計(jì)算資源。
這里考察不同的集成模式結(jié)點(diǎn)對(duì)處理能力的影響。設(shè)結(jié)點(diǎn)業(yè)務(wù)處理時(shí)間為T(mén),則結(jié)點(diǎn)的處理能力,即帶寬BW=1/T每秒處理的事務(wù) (transaction per second,TPS)。ESB中的業(yè)務(wù)流有4種常見(jiàn)的集成模式,如圖3所示。
圖3 動(dòng)態(tài)帶寬分配算法
(1)管道模式。最基本的企業(yè)集成模式,業(yè)務(wù)按照順序依次通過(guò)各個(gè)結(jié)點(diǎn)。綁定組件、協(xié)議轉(zhuǎn)換服務(wù)引擎等組件均以管道方式工作。該模式下整個(gè)流程的處理能力由流程路徑所經(jīng)過(guò)結(jié)點(diǎn)中帶寬最小的結(jié)點(diǎn)決定。如圖3中,業(yè)務(wù)帶寬BW=min(BW1,BW2)。
(2)基于內(nèi)容路由模式。根據(jù)業(yè)務(wù)請(qǐng)求的內(nèi)容決定轉(zhuǎn)發(fā)的目標(biāo)結(jié)點(diǎn)。由于此種轉(zhuǎn)發(fā)具有隨機(jī)性,因此計(jì)算結(jié)點(diǎn)帶寬必須考慮流程轉(zhuǎn)發(fā)到不同結(jié)點(diǎn)的概率。如圖3中所示,假設(shè)結(jié)點(diǎn)1轉(zhuǎn)到結(jié)點(diǎn)2、3的概率分別為p、q,則BW=min(BW1/p,BW2/q)。
(3)接收列表模式。請(qǐng)求同時(shí)發(fā)送給若干個(gè)結(jié)點(diǎn),相當(dāng)于一種多播模式。為了保持各結(jié)點(diǎn)的處理同步,結(jié)點(diǎn)1的發(fā)送速率應(yīng)為列表結(jié)點(diǎn)處理能力的最小值。即BW=min(BW2,BW3,BW4)。
(4)聚合模式。匯聚同一業(yè)務(wù)來(lái)自多個(gè)結(jié)點(diǎn)的消息,匯聚完成后流程繼續(xù)執(zhí)行。該模式和接收列表模式配對(duì)使用。BW2=BW3=BW4=BW1/3。
采用流量工程的思想為ESB系統(tǒng)中的業(yè)務(wù)流量建立數(shù)學(xué)模型??紤]一個(gè)包含N條業(yè)務(wù)流的系統(tǒng),三類(lèi)業(yè)務(wù)流的數(shù)量分別為k,l,m。系統(tǒng)的總帶寬為BWtotal,其中第i條業(yè)務(wù)流所需的帶寬為BWirequired,系統(tǒng)實(shí)際為該業(yè)務(wù)流分配的帶寬為BWiallocate,該帶寬必須滿(mǎn)足以下3個(gè)約束:
(1)所有業(yè)務(wù)流均不能超過(guò)其經(jīng)過(guò)路徑上結(jié)點(diǎn)的最大處理帶寬BWimax
(2)對(duì)于經(jīng)過(guò)相同路徑的結(jié)點(diǎn),其帶寬之和不能超過(guò)公共結(jié)點(diǎn)的最大處理帶寬
(3)對(duì)于第二類(lèi)業(yè)務(wù),為其分配的帶寬必須滿(mǎn)足業(yè)務(wù)的最小保證帶寬BWi2min。
帶寬分配算法如圖4所示。首先為第二類(lèi)業(yè)務(wù)預(yù)先分配最小保證帶寬,以保證系統(tǒng)重載的情況下第二類(lèi)業(yè)務(wù)不會(huì)出現(xiàn)完全拒絕服務(wù)。接著將剩余帶寬按業(yè)務(wù)流量需求分配給優(yōu)先級(jí)最高的第一類(lèi)帶寬。并根據(jù)約束 (1)(2)對(duì)分配帶寬進(jìn)行修正。如果不滿(mǎn)足約束條件,將超出約束部分的流量按需求比例減少。在充分保證實(shí)時(shí)業(yè)務(wù)所需的帶寬后,將剩余帶寬繼續(xù)分配給優(yōu)先級(jí)較高的第二類(lèi)帶寬。同樣根據(jù)約束 (1)(2)對(duì)分配帶寬進(jìn)行修正。最后將剩余的帶寬按業(yè)務(wù)流需求分配給第三類(lèi)業(yè)務(wù)。
下面闡述實(shí)時(shí)企業(yè)服務(wù)總線在區(qū)域醫(yī)療衛(wèi)生信息集成系統(tǒng)中的典型應(yīng)用。區(qū)域衛(wèi)生信息集成交換平臺(tái)采用基于SOA信息服務(wù)總線的總體架構(gòu),通過(guò)數(shù)據(jù)集成服務(wù)、接入服務(wù)、總線服務(wù)等核心整合服務(wù)[10-15],實(shí)現(xiàn)區(qū)域醫(yī)療衛(wèi)生信息化平臺(tái)與醫(yī)療機(jī)構(gòu)信息系統(tǒng)的交互。
圖4 動(dòng)態(tài)帶寬分配算法
如圖5所示,本例中的區(qū)域衛(wèi)生信息集成交換平臺(tái),采用ESB總線,提供區(qū)域醫(yī)療的診斷服務(wù)、轉(zhuǎn)診服務(wù)和預(yù)約服務(wù)3種服務(wù)。服務(wù)對(duì)外提供Web Service綁定接口供門(mén)戶(hù)調(diào)用。3種服務(wù)需要訪問(wèn)居民健康主索引 (MPI)和健康檔案信息 (EHR)兩個(gè)子系統(tǒng),獲取居民基本健康信息、病歷、檢驗(yàn)報(bào)告、檢查報(bào)告等各種衛(wèi)生信息。還需要訪問(wèn)醫(yī)療機(jī)構(gòu)信息系統(tǒng),進(jìn)行轉(zhuǎn)診或預(yù)約。所有系統(tǒng)接口均為Web Service方式。系統(tǒng)中包含以下3個(gè)服務(wù)引擎實(shí)現(xiàn)3種服務(wù)流程的編排:
(1)診斷服務(wù)SE。接收用戶(hù)醫(yī)療服務(wù)請(qǐng)求,查詢(xún)居民電子健康檔案系統(tǒng)。用戶(hù)首先通過(guò)Web門(mén)戶(hù)訪問(wèn)該服務(wù)的HTTP/SOAP BC,接著綁定組件將請(qǐng)求轉(zhuǎn)發(fā)給診斷服務(wù)引擎。診斷服務(wù)引擎會(huì)首先查詢(xún)?cè)摬∪说慕】邓饕?,然后獲取他的健康檔案,供醫(yī)生診斷使用。就診業(yè)務(wù)是醫(yī)院最核心、最繁忙的業(yè)務(wù)。此類(lèi)服務(wù)必須滿(mǎn)足實(shí)時(shí)性,具備最高的優(yōu)先級(jí),系統(tǒng)必須優(yōu)先保證該業(yè)務(wù)帶寬需求。
(2)轉(zhuǎn)診服務(wù)SE。通過(guò)醫(yī)院信息系統(tǒng)與社區(qū)衛(wèi)生服務(wù)系統(tǒng)的互聯(lián)互通,實(shí)現(xiàn)雙向轉(zhuǎn)診的功能。與診斷服務(wù)引擎一樣,轉(zhuǎn)診服務(wù)首先獲取病人的健康檔案,然后根據(jù)轉(zhuǎn)診服務(wù)規(guī)則選取合適的醫(yī)療機(jī)構(gòu),并向其發(fā)送轉(zhuǎn)診請(qǐng)求。該業(yè)務(wù)允許一定程度延時(shí),是非實(shí)時(shí)業(yè)務(wù),其優(yōu)先級(jí)為中,當(dāng)系統(tǒng)重載時(shí)需為該業(yè)務(wù)保留最低保證帶寬。
圖5 典型企業(yè)服務(wù)總線集成場(chǎng)景
(3)預(yù)約服務(wù)SE。利用醫(yī)院系統(tǒng)提供的對(duì)外服務(wù)接口,實(shí)現(xiàn)網(wǎng)上預(yù)約功能。預(yù)約服務(wù)引擎會(huì)向不同的醫(yī)療機(jī)構(gòu)發(fā)出預(yù)約申請(qǐng),醫(yī)療機(jī)構(gòu)給出最快能受理的時(shí)間,引擎選擇最優(yōu)的服務(wù)返回給用戶(hù)。這類(lèi)業(yè)務(wù)不具備實(shí)時(shí)性,優(yōu)先級(jí)低。當(dāng)總線重載時(shí)可以將該服務(wù)占用的帶寬轉(zhuǎn)移給高優(yōu)先級(jí)的服務(wù)使用。
圖6是圖5中業(yè)務(wù)流程的抽象網(wǎng)絡(luò)圖。圖中X、Y、Z是3種業(yè)務(wù)流程的發(fā)起結(jié)點(diǎn)。X是第一類(lèi)業(yè)務(wù)類(lèi)型,Y是第二類(lèi)業(yè)務(wù)類(lèi)型,Z是第三類(lèi)業(yè)務(wù)類(lèi)型。由前述定義可知系統(tǒng)業(yè)務(wù)流數(shù)量N=3,每一類(lèi)業(yè)務(wù)流的數(shù)量k=l=m=1。A、B、C、D、E、F、G是業(yè)務(wù)流程中的處理結(jié)點(diǎn),A表示調(diào)用病人主索引系統(tǒng),B表示調(diào)用健康檔案系統(tǒng),C表示轉(zhuǎn)診規(guī)則組件,D表示預(yù)約決策組件,E、F、G表示三家醫(yī)院信息系統(tǒng)。假設(shè)結(jié)點(diǎn)A業(yè)務(wù)處理能力為每秒500TPS,B為450TPS,C、D均為200TPS,E、F、G分別為40TPS、80TPS和100TPS。轉(zhuǎn)診業(yè)務(wù)發(fā)往3個(gè)醫(yī)院的概率分別為0.2、0.4和0.4。
圖6 總線服務(wù)流程抽象
首先計(jì)算三類(lèi)業(yè)務(wù)流的流量約束,用字母代表該結(jié)點(diǎn)的最大處理流量,數(shù)量單位均為T(mén)PS:
(1)診斷業(yè)務(wù)。經(jīng)過(guò)結(jié)點(diǎn) A和B。則 A=500,B=450,根據(jù)式 (1)可得約束X≤300。
(2)轉(zhuǎn)診業(yè)務(wù)。經(jīng)過(guò)結(jié)點(diǎn)A、B、C、EFG。A=500,B=450,C=200,EFG=200。同理可得Y≤100。
(3)預(yù)約業(yè)務(wù)。經(jīng)過(guò)結(jié)點(diǎn)A、D、EFG。A=500,D=200,EFG=40。同理可得Z≤40。
接著計(jì)算經(jīng)過(guò)相同結(jié)點(diǎn)的業(yè)務(wù)流量的約束。結(jié)點(diǎn)X、Y、Z共享結(jié)點(diǎn)A,X和Y共享結(jié)點(diǎn)B,Y和Z共享結(jié)點(diǎn)EFG的帶寬。則可得
現(xiàn)分別考察系統(tǒng)在輕載和重載情況下三類(lèi)業(yè)務(wù)實(shí)際分配到流量。
(1)系統(tǒng)輕載。假設(shè)X、Y、Z均為100。此時(shí)系統(tǒng)尚未達(dá)到最大處理能力,第一類(lèi)業(yè)務(wù)可以得到充分響應(yīng),X的處理能力為100。此外Y和Z在EFG結(jié)點(diǎn)存在資源競(jìng)爭(zhēng),優(yōu)先保證第二類(lèi)業(yè)務(wù)的流量,即Y=100,此時(shí)Y至E、F、G的流量分別為20、40、40。受醫(yī)院E的處理能力所限,Z只能獲得醫(yī)院E剩下的20帶寬。這樣三類(lèi)業(yè)務(wù)所分配到的實(shí)際帶寬為100、100和20。
(2)系統(tǒng)重載。假設(shè)X、Y、Z均為300TPS。Y的最小保留帶寬為100。此時(shí)系統(tǒng)已經(jīng)達(dá)到最大處理能力。先為Y預(yù)留100的保留帶寬。受B結(jié)點(diǎn)約束,X可以使用剩余的350帶寬,而X實(shí)際需要300帶寬,所以剩余的50帶寬重新分配給Y。此時(shí)結(jié)點(diǎn)E上的第二類(lèi)業(yè)務(wù)流量為30,僅剩余10,將其全部分配給第三類(lèi)業(yè)務(wù)服務(wù)。這樣三類(lèi)業(yè)務(wù)所分配到的實(shí)際帶寬為300、200和10。
從以上對(duì)比中可以看出,系統(tǒng)在重載時(shí)能夠降低非實(shí)時(shí)業(yè)務(wù)處理帶寬,優(yōu)先為實(shí)時(shí)業(yè)務(wù)分配足夠的處理帶寬,從而保證實(shí)時(shí)業(yè)務(wù)請(qǐng)求的及時(shí)響應(yīng)。
針對(duì)現(xiàn)有ESB在不同類(lèi)型業(yè)務(wù)流競(jìng)爭(zhēng)有限帶寬資源時(shí)產(chǎn)生系統(tǒng)擁塞的問(wèn)題,提出一種實(shí)時(shí)ESB模型。該模型能根據(jù)不同類(lèi)型業(yè)務(wù)帶寬需求,采用優(yōu)先級(jí)驅(qū)動(dòng)的帶寬分配策略。以區(qū)域衛(wèi)生信息集成交換平臺(tái)為例搭建了仿真環(huán)境。仿真結(jié)果表明一方面該方法能夠保證高優(yōu)先級(jí)業(yè)務(wù)帶寬,滿(mǎn)足實(shí)時(shí)業(yè)務(wù)的需求;另一方面通過(guò)流量調(diào)度減少因業(yè)務(wù)擁塞導(dǎo)致的服務(wù)質(zhì)量下降并提升ESB系統(tǒng)的總體吞吐率。今后的工作將繼續(xù)研究如何使用分布式ESB集群實(shí)現(xiàn)高性能、可擴(kuò)展的實(shí)時(shí)信息集成平臺(tái)。
[1]SHAO Huanqing,KANG Jianchu.Research and application of enterprise service bus [J].Computer Engineering,2007,32(2):220-222 (in Chinese).[邵歡慶,康建初.企業(yè)服務(wù)總線的研究與應(yīng)用 [J].計(jì)算機(jī)工程,2007,32 (2):220-222.]
[2]LANG Jiong,LIU Yanbing,XIONG Shiyong.Data integration method based on SOA software architecture [J].Journal of Computer Applications,2010,30 (9):2370-2373 (in Chinese).[郎炯,劉宴兵,熊仕勇.基于SOA軟件架構(gòu)的數(shù)據(jù)集成方法 [J].計(jì)算機(jī)應(yīng)用,2010,30 (9):2370-2373.]
[3]LI Xiaodong,YANG Yang,GUO Wencai.Data share-and-exchange platform based on ESB [J].Computer Engineering,2006,32 (21):217-219 (in Chinese).[李曉東,楊揚(yáng),郭文彩.基于企業(yè)服務(wù)總線的數(shù)據(jù)共享與交換平臺(tái) [J].計(jì)算機(jī)工程,2006,32 (21):217-219.]
[4]YU Wei,LIU Yong.Performance prediction of SOA based on ESB [J].Microelectronics &Computer,2009,26 (5):110-113(in Chinese).[余威,劉勇.基于ESB的SOA性能預(yù)測(cè)[J].微電子學(xué)與計(jì)算機(jī),2009,26 (5):110-113.]
[5]CAI Haini,WEN Junhao,JI Kai.Performance optimization of col-laborative design network based on service-oriented architecture [J].Journal of Southwest Jiaotong University,2010,45 (4):603-608(in Chinese).[蔡海尼,文俊浩,姬楷.基于SOA的協(xié)同設(shè)計(jì)網(wǎng)絡(luò)性能優(yōu)化 [J].西南交通大學(xué)學(xué)報(bào),2010,45 (4):603-608.]
[6]LIANG Wenzheng,SHEN Hao,XIA Tao,et al.Technique of enterprise service bus based on SOA-JBI [J].Information and Electronic Engineering,2009,7 (6):593-596 (in Chinese).[梁文錚,沈浩,夏濤,等.SOA架構(gòu)下基于JBI的企業(yè)服務(wù)總線技術(shù) [J].信息與電子工程,2009,7 (6):593-596.]
[7]PENG Zheng,NIE Ruihua,LI Fei.Research and implementation of SOA based on ServiceMix [J].Computer Engineering&Science,2009,31 (4):153-156 (in Chinese).[彭政,聶瑞華,李飛.基于ServiceMix的SOA架構(gòu)的研究與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與科學(xué),2009,31 (4):153-156.]
[8]ZHANG Weining,LIU Liegen,ZHANG Yu.Research and application of ESB based on message transmission [J].Microcomputer Information,2008,24 (9):18-20 (in Chinese).[張偉寧,劉列根,張宇.基于消息傳遞的ESB的研究與應(yīng)用[J].微計(jì)算機(jī)信息,2008,24 (9):18-20.]
[9]ZHONG Shan,YUE Xiang.WFQ traffic scheduling algorithm[J].Study on Optical Communications,2006,32 (5):16-18(in Chinese). [鐘山,岳祥.WFQ流量調(diào)度算法研究 [J].光通信研究,2006,32 (5):16-18.]
[10]YANG Hongqiao,BU Haibing.Design of regional medical information system based on ontology [J].Computer Engineering,2009,35 (11):283-284 (in Chinese). [楊宏橋,卜海兵.基于本體的區(qū)域醫(yī)療信息系統(tǒng)設(shè)計(jì) [J].計(jì)算機(jī)工程,2009,35 (11):283-284.]
[11]WANG Shuai,SU Wei.The current situation and existing problems for the Chinese regional medical informatics and its corresding strategies [J]. Modern Preventive Medicine,2010,37 (22):4241-4243 (in Chinese). [王帥,蘇維.我國(guó)區(qū)域醫(yī)療信息化發(fā)展現(xiàn)狀、存在問(wèn)題及對(duì)策研究 [J].現(xiàn)代預(yù)防醫(yī)學(xué),2010,37 (22):4241-4243.]
[12]LI Wei,JIANG Qisheng.Research of SOA-based information exchanging and sharing platform for regional medical institutions [J].Chinese Medical Equipment Journal,2010,31(11):79-81 (in Chinese). [李偉,江其生.基于SOA 架構(gòu)的區(qū)域醫(yī)療機(jī)構(gòu)信息交換與共享平臺(tái)的研究 [J].醫(yī)療衛(wèi)生裝備,2010,31 (11):79-81.]
[13]ZHOU Jinhai,YIN Zhihong.Resource sharing strategy of regional medical information and images digitalization [J].Journal of Clinical Rehabilitative Tissue Engineering Research,2010,14 (48):9069-9072 (in Chinese).[周金海,印志鴻.區(qū)域醫(yī)療衛(wèi)生信息及影像數(shù)字化資源的共享戰(zhàn)略 [J].中國(guó)組織工程研究與臨床康復(fù),2010,14 (48):9069-9072.]
[14]WU Ruming,XIN Xiaoxia,ZOU Saide.Research and realization of regional medical information sharing platform [J].Journal of Medical Informatics,2011,32 (1):19-23 (in Chinese).[吳汝明,辛小霞,鄒賽德.區(qū)域醫(yī)療信息共享平臺(tái)研究 與實(shí)現(xiàn) [J].醫(yī)學(xué)信 息學(xué)雜 志,2011,32 (1):19-23.]
[15]CHEN Haidong,SONG Yu,YU Saiyu.Design of regional medical information system [J].Military Medical Journal of Southeast China,2011,13 (1):283-284 (in Chinese).[陳海東,宋斌,余賽玉,等.區(qū)域醫(yī)療信息系統(tǒng)的設(shè)計(jì) [J].東南國(guó)防醫(yī)藥,2011,13 (1):283-284.]