專利名稱:協(xié)作信息總線的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種新的信息交互與傳遞機(jī)制的實(shí)現(xiàn)方法,特別涉及一種可以在多引擎協(xié)作平臺(tái)環(huán)境下實(shí)現(xiàn)緊耦合的協(xié)作信息總線的實(shí)現(xiàn)方法,屬于計(jì)算機(jī)技術(shù)中的中間件技術(shù)領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)系統(tǒng)變得越來(lái)越復(fù)雜,特別是在電信業(yè)務(wù)網(wǎng)、金融業(yè)務(wù)網(wǎng)及電子政務(wù)網(wǎng)等具有多個(gè)子系統(tǒng)的大規(guī)模網(wǎng)絡(luò)系統(tǒng)中,由于每一個(gè)業(yè)務(wù)都要有面向其他系統(tǒng)的接口,傳統(tǒng)的點(diǎn)對(duì)點(diǎn)的系統(tǒng)集成在面對(duì)眾多子系統(tǒng)時(shí)顯得難以維護(hù)和擴(kuò)展。為解決這一問題,人們受到計(jì)算機(jī)硬件體系中系統(tǒng)總線的啟發(fā),提出了信息總線的體系架構(gòu)。各個(gè)子系統(tǒng)以類似于插件式的方式接入在一個(gè)公共的信息平臺(tái)之中,彼此之間相對(duì)獨(dú)立,由一個(gè)調(diào)度引擎進(jìn)行統(tǒng)一的數(shù)據(jù)調(diào)度,以高效整合數(shù)據(jù)和業(yè)務(wù)流程。網(wǎng)絡(luò)系統(tǒng)中交換的數(shù)據(jù)量越大,也就越需要信息總線。當(dāng)然,網(wǎng)絡(luò)系統(tǒng)中還要有與信息總線相應(yīng)的適配器。所謂適配器,也就是信息總線與各子系統(tǒng)/業(yè)務(wù)之間的接口。
目前市場(chǎng)上已有的信息總線產(chǎn)品主要有TIBCO公司的TIB(TheInformation Bus)技術(shù)和IBM的Websphere MQ技術(shù)。其中TIB技術(shù)主要體現(xiàn)在美國(guó)專利第5,339,392號(hào),第5,187,787號(hào)和第5,257,369號(hào)所揭示的內(nèi)容之中。它用于實(shí)現(xiàn)實(shí)時(shí)的事件驅(qū)動(dòng)的信息傳遞。TIB技術(shù)有兩個(gè)特點(diǎn)一是采用廣播定制的方式。各個(gè)子系統(tǒng)之間發(fā)生通信,傳統(tǒng)的方式是點(diǎn)對(duì)點(diǎn)的握手方式,相形之下,將定制的信息一次就向各子系統(tǒng)進(jìn)行廣播,其效率更高;二是它的信息選擇機(jī)制。每一個(gè)消息的傳遞不需要知道IP地址,只需要告訴對(duì)方自己的主題即可,只有對(duì)此主題感興趣的對(duì)象能收到。這一點(diǎn)是通過在初始時(shí)對(duì)每個(gè)應(yīng)用系統(tǒng)的適配器作配制而實(shí)現(xiàn)的。它通過分布式系統(tǒng)結(jié)構(gòu)排除了信息瓶頸和單點(diǎn)故障對(duì)系統(tǒng)的影響。
WebSphere MQ是IBM的信息總線產(chǎn)品。它的技術(shù)特點(diǎn)在于為應(yīng)用程序提供一種跨越網(wǎng)絡(luò)通信的特殊機(jī)制,參與通信的應(yīng)用程序之間不需要建立私有的、專用的邏輯連接,它們只需要把數(shù)據(jù)組裝成消息,放入消息隊(duì)列中,接收方從消息隊(duì)列中取出消息,就可以達(dá)到通信的目的。該信息總線產(chǎn)品為分布式環(huán)境下進(jìn)行程序到程序之間通信提供了靈活、快速并且易于使用的解決方法。
但是,上述兩類信息總線產(chǎn)品出于建立一個(gè)靈活的實(shí)時(shí)可擴(kuò)展的整合平臺(tái)的需要,在分布式計(jì)算環(huán)境下的異構(gòu)系統(tǒng)進(jìn)行系統(tǒng)整合時(shí),采用的是一種松散耦合的技術(shù)。這樣,不同的系統(tǒng)產(chǎn)生的數(shù)據(jù)是分散的,不便于集中調(diào)度服務(wù)。因此,上述信息總線只是單純地解決了松散耦合的異構(gòu)系統(tǒng)之間通信的需要,它們只能實(shí)現(xiàn)數(shù)據(jù)集成層面上的操作,即傳輸、解釋各應(yīng)用間的數(shù)據(jù),在本質(zhì)上是一個(gè)數(shù)據(jù)總線。在具有多個(gè)操作引擎的分布式系統(tǒng)結(jié)構(gòu)中,分布式部署在多個(gè)系統(tǒng)中的操作引擎和統(tǒng)一的調(diào)度引擎之間需要為緊耦合的關(guān)系,上述的信息總線產(chǎn)品就不能充分滿足實(shí)際的需要。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于為上述多引擎協(xié)作平臺(tái)提供一種新的信息交互和傳遞機(jī)制的實(shí)現(xiàn)方法。我們將這種信息交互和傳遞機(jī)制稱為協(xié)作信息總線,它以消息隊(duì)列(Message Queue)的實(shí)例化形式存在。利用該機(jī)制,可以將分布式部署在多個(gè)系統(tǒng)中的操作引擎間數(shù)據(jù)的松散耦合變成操作引擎與調(diào)度引擎之間數(shù)據(jù)的緊耦合,使得分散的數(shù)據(jù)得以為集中的調(diào)度引擎服務(wù)。這里所說的多引擎協(xié)作平臺(tái)是以一個(gè)調(diào)度引擎為核心的多個(gè)操作引擎的協(xié)作系統(tǒng),在協(xié)作環(huán)境中只有一個(gè)系統(tǒng)可以部署調(diào)度引擎,而其他的多個(gè)操作引擎允許分布式部署在多個(gè)系統(tǒng)中,由調(diào)度引擎進(jìn)行統(tǒng)一調(diào)度。
為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案一種協(xié)作信息總線的實(shí)現(xiàn)方法,用于實(shí)現(xiàn)一個(gè)調(diào)度引擎和至少一個(gè)操作服務(wù)引擎的緊耦合,其中調(diào)度引擎所在的數(shù)據(jù)通道為主信息總線,操作服務(wù)引擎所在的數(shù)據(jù)通道為分支信息總線,所述調(diào)度引擎對(duì)所述操作服務(wù)引擎進(jìn)行統(tǒng)一調(diào)度,所述主信息總線和所述分支信息總線中具有至少一個(gè)相對(duì)應(yīng)的數(shù)據(jù)泊位,該方法包括如下步驟分布式部署的操作服務(wù)引擎對(duì)所在分支信息總線中的數(shù)據(jù)泊位的數(shù)據(jù)進(jìn)行改動(dòng)時(shí),所述分支信息總線向所述主信息總線發(fā)出同步請(qǐng)求,所述主信息總線接收到同步請(qǐng)求后利用消息隊(duì)列將所述分支信息總線中更新過數(shù)據(jù)的數(shù)據(jù)泊位中的數(shù)據(jù)傳遞到主信息總線中對(duì)應(yīng)的數(shù)據(jù)泊位中。
該方法還包括如下步驟所述操作引擎對(duì)所述主信息總線中的數(shù)據(jù)泊位的數(shù)據(jù)進(jìn)行改動(dòng)時(shí),所述主信息總線向具有對(duì)應(yīng)數(shù)據(jù)泊位的分支信息總線發(fā)出同步請(qǐng)求,所述分支信息總線接收到同步請(qǐng)求后利用消息隊(duì)列將所述主信息總線中更新過數(shù)據(jù)的數(shù)據(jù)泊位中的數(shù)據(jù)傳遞到所述分支信息總線中對(duì)應(yīng)的數(shù)據(jù)泊位中。
本發(fā)明方法所實(shí)現(xiàn)的協(xié)作信息總線可以滿足多引擎協(xié)作平臺(tái)對(duì)信息交互的要求。它可以使分布式部署在多個(gè)系統(tǒng)中的操作引擎之間數(shù)據(jù)的松散耦合變成了操作引擎與調(diào)度引擎之間數(shù)據(jù)的緊耦合,使分散的數(shù)據(jù)為集中的調(diào)度引擎服務(wù)。調(diào)度引擎可以自動(dòng)分派協(xié)作信息總線上的每個(gè)應(yīng)用每一步的“行動(dòng)”,并解釋其反饋回來(lái)的信息,從而達(dá)到較高的應(yīng)用集成及流程集成層次,使本協(xié)作信息總線比現(xiàn)有的信息總線產(chǎn)品具有更高的智能化程度。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的說明。
圖1為本協(xié)作信息總線在一種多引擎協(xié)作平臺(tái)中的位置示意圖。
圖2為本協(xié)作信息總線的總體架構(gòu)示意圖。
圖3為本協(xié)作信息總線的內(nèi)部信息流示意圖。
圖4為本協(xié)作信息總線中靜態(tài)泊位格式的設(shè)計(jì)示意圖。
圖5為本協(xié)作信息總線中消息傳遞組件利用消息隊(duì)列進(jìn)行消息傳遞的示意圖。
圖6為本協(xié)作信息總線進(jìn)行數(shù)據(jù)導(dǎo)出操作的流程圖。
圖7為本協(xié)作信息總線進(jìn)行數(shù)據(jù)導(dǎo)入操作的流程圖。
圖8為本協(xié)作信息總線中主信息總線與各個(gè)分支信息總線保持?jǐn)?shù)據(jù)同步過程的流程圖。
具體實(shí)施例方式
本發(fā)明所述協(xié)作信息總線的實(shí)現(xiàn)環(huán)境是這樣的在硬件方面,只需要計(jì)算機(jī)的CPU為PIII以上,內(nèi)存大于256兆即可;而在軟件方面則需要支持Java虛擬機(jī)的操作系統(tǒng),Java虛擬機(jī)應(yīng)該為J2SDK 1.3.0或者以上版本,另外還要有支持Servlet2.2及以上版本的Servlet容器。
圖1所示的是本協(xié)作信息總線在一種多引擎協(xié)作平臺(tái)中的位置示意圖。這一多引擎協(xié)作平臺(tái)的結(jié)構(gòu)是示例性的。在不同的具體應(yīng)用環(huán)境中,它的具體組成可以有所變化,但其基本的結(jié)構(gòu)是不變的,即它的最頂端為具體業(yè)務(wù)應(yīng)用目標(biāo),最底端為信息存儲(chǔ)支撐平臺(tái)的知識(shí)庫(kù)和作為公共服務(wù)平臺(tái)的J2EE應(yīng)用服務(wù)器,中間部分為調(diào)度引擎和各種操作服務(wù)引擎,它們之間的聯(lián)系方式為分布式組件模式。信息總線和組件適配器一起在其中實(shí)現(xiàn)不同系統(tǒng)之間數(shù)據(jù)交互、調(diào)度的作用。這里所提到的組件適配器在本發(fā)明人的另一項(xiàng)發(fā)明專利申請(qǐng)——組件適配器的實(shí)現(xiàn)方法中有充分地揭示,在此就不詳細(xì)說明了。在本實(shí)施例中,所用到的操作服務(wù)引擎包括業(yè)務(wù)過程操作服務(wù)引擎,文本型數(shù)據(jù)操作服務(wù)引擎,關(guān)系型數(shù)據(jù)操作服務(wù)引擎,流媒體數(shù)據(jù)操作服務(wù)引擎等,這些操作服務(wù)引擎通過本協(xié)作信息總線與調(diào)度引擎之間實(shí)現(xiàn)了緊耦合,它們的數(shù)據(jù)由調(diào)度引擎進(jìn)行統(tǒng)一的調(diào)度管理。調(diào)度引擎自動(dòng)分派協(xié)作信息總線上的每個(gè)應(yīng)用每一步的“行動(dòng)”,并解釋其反饋回來(lái)的信息,根據(jù)反饋回來(lái)的信息再分派下一步的“行動(dòng)”。這里的操作服務(wù)引擎并不是固定不變的,它要根據(jù)實(shí)際業(yè)務(wù)的需要增加或者刪除,而調(diào)度引擎則是唯一的且必須有的,以避免發(fā)生指令之間彼此沖突的情況。本實(shí)施例中作為信息存儲(chǔ)支撐平臺(tái)的知識(shí)庫(kù)包括文本數(shù)據(jù)庫(kù)、關(guān)系型數(shù)據(jù)庫(kù)以及流媒體數(shù)據(jù)庫(kù),這些數(shù)據(jù)庫(kù)可以根據(jù)實(shí)際需要進(jìn)行增刪。J2EE應(yīng)用服務(wù)器作為公共服務(wù)平臺(tái),提供PKI(公鑰基礎(chǔ)設(shè)施)、UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成)、LDAP(輕量目錄存取協(xié)定)等服務(wù),這些服務(wù)也可以根據(jù)實(shí)際需要進(jìn)行增刪。
圖2是本協(xié)作信息總線的總體架構(gòu)示意圖。調(diào)度引擎所在的數(shù)據(jù)通道為主信息總線,每一個(gè)操作服務(wù)引擎所在的數(shù)據(jù)通道為分支信息總線,它們共同組成了本協(xié)作信息總線的基本框架。分支信息總線可以是一條,也可以是數(shù)條,它們并不是固定不變的。一旦有新的操作服務(wù)引擎加入,該操作服務(wù)引擎與調(diào)度引擎之間的數(shù)據(jù)通道即構(gòu)成一條新的分支信息總線。而一旦取消某一個(gè)操作服務(wù)引擎的服務(wù),該操作服務(wù)引擎所在的分支信息總線就自然取消。
本協(xié)作信息總線的內(nèi)部信息流如圖3所示。這是本發(fā)明的核心所在。前面已經(jīng)談到,本協(xié)作信息總線最大的特點(diǎn)就是將分布式部署的操作服務(wù)引擎的數(shù)據(jù)的松耦合,變成上層的緊耦合,為集中的調(diào)度引擎服務(wù)。這一特點(diǎn)是通過協(xié)作信息總線的數(shù)據(jù)泊位管理機(jī)制來(lái)實(shí)現(xiàn)的。不論是調(diào)度引擎還是其他操作服務(wù)引擎,它們都需要通過數(shù)據(jù)泊位對(duì)協(xié)作信息總線的數(shù)據(jù)進(jìn)行讀取或者修改。同時(shí),主信息總線和分支信息總線的數(shù)據(jù)也通過數(shù)據(jù)泊位實(shí)現(xiàn)數(shù)據(jù)的完全同步。這里所說的數(shù)據(jù)泊位在各信息總線實(shí)例化時(shí)可以用變量來(lái)實(shí)現(xiàn),它們與操作服務(wù)引擎在一個(gè)具體應(yīng)用環(huán)境中用到的所有數(shù)據(jù)相對(duì)應(yīng),數(shù)據(jù)越多,數(shù)據(jù)泊位也越多,如圖3中主信息總線具有6個(gè)數(shù)據(jù)泊位泊位1~泊位6,而分支信息總線中只具有3個(gè)數(shù)據(jù)泊位泊位4~泊位6。對(duì)于調(diào)度引擎來(lái)說,它只需要使用主信息總線的數(shù)據(jù)就可以保證正確性,這就意味著實(shí)現(xiàn)了將下層數(shù)據(jù)的松耦合變成上層的緊耦合。
在本協(xié)作信息總線內(nèi)部包括泊位管理機(jī)制和消息傳遞組件兩個(gè)部分。其中的泊位管理機(jī)制包括靜態(tài)的信息總線泊位格式設(shè)計(jì)和動(dòng)態(tài)的信息總線泊位管理策略。
靜態(tài)的信息總線泊位格式設(shè)計(jì)是指把信息總線上的數(shù)據(jù)泊位邏輯上分為區(qū)、域、段三個(gè)層次,分別代表操作服務(wù)引擎泊位、實(shí)體操作泊位、語(yǔ)意空間緯度泊位。圖4給出了一個(gè)應(yīng)用于電子政務(wù)平臺(tái)的靜態(tài)泊位格式的設(shè)計(jì)示意圖。其中“區(qū)”分為Session(會(huì)話)、Calculate(計(jì)算)、Text(文本)、Flow(流程)、Data(數(shù)據(jù))、FlowMedia(流媒體)等幾種;“域”分為In(輸入)、out(輸出)、Local(本地使用)等幾種;“段”分為一維、二維、三維等幾種。
動(dòng)態(tài)的信息總線泊位管理策略包括四個(gè)方面的內(nèi)容第一,可以對(duì)信息總線中的數(shù)據(jù)進(jìn)行設(shè)置和讀取,這是泊位管理機(jī)制的最基本功能;第二是調(diào)度引擎在使用一個(gè)操作服務(wù)引擎之前,先在主信息總線中增加該操作服務(wù)引擎所要使用的數(shù)據(jù)的泊位。這些泊位與該操作服務(wù)引擎所使用的分支信息總線中的泊位是一一對(duì)應(yīng)的,如圖3所示的那樣;第三,當(dāng)一個(gè)操作服務(wù)引擎使用完畢之后,要在主信息總線中刪除該操作服務(wù)引擎所使用的所有泊位,以釋放不必要的空間;第四,所有分支信息總線中的數(shù)據(jù)必須與主信息總線中對(duì)應(yīng)的數(shù)據(jù)保持同步,即所有分支信息總線的刷新都會(huì)觸發(fā)它與信息總線的同步。通過上述的信息總線泊位管理策略,就可以使下層各操作服務(wù)引擎數(shù)據(jù)的松散耦合變成上層的緊密耦合,使本協(xié)作信息總線達(dá)到較高的應(yīng)用集成及流程集成層次。
每一個(gè)實(shí)際使用的操作服務(wù)引擎在其存在的過程中隨時(shí)需要與調(diào)度引擎進(jìn)行通信,需要接收和發(fā)送消息。本協(xié)作信息總線中的消息傳遞組件則為分布式環(huán)境下進(jìn)行程序到程序之間通信提供了靈活、快速并且易于使用的解決方法。它利用消息隊(duì)列進(jìn)行通信,為應(yīng)用程序提供一種跨越網(wǎng)絡(luò)通信的特殊機(jī)制,參與通信的應(yīng)用程序之間不需要建立私有的、專用的邏輯連接,它們只需要把數(shù)據(jù)組裝成消息,放入消息隊(duì)列中,接收方從消息隊(duì)列中取出消息,就可以達(dá)到通信的目的。
消息傳遞組件負(fù)責(zé)在分布式的應(yīng)用系統(tǒng)之間傳遞消息。這里所說的消息是在分布式應(yīng)用中不同的應(yīng)用進(jìn)程之間傳遞交換的信息的統(tǒng)稱。消息由消息的內(nèi)容及消息的接收者名單組成,消息的內(nèi)容及格式由該消息的提供者及接收者協(xié)商而定,在形式上消息可表現(xiàn)為一個(gè)小的數(shù)據(jù)包亦可表現(xiàn)為一個(gè)很大的文件。為了完整描述傳遞的消息信息,我們定義消息數(shù)據(jù)格式如下
其中,消息代碼是隨機(jī)產(chǎn)生的,并且依據(jù)它產(chǎn)生了操作作業(yè)中的作業(yè)代碼;消息狀態(tài)標(biāo)志標(biāo)識(shí)消息的上一次刷新改寫了輸入或輸出信息;消息認(rèn)證碼用于消息正確性校驗(yàn)。
消息傳遞組件還支持同一個(gè)調(diào)度引擎內(nèi)相鄰兩條消息的參數(shù)值的傳遞。傳遞是隊(duì)列維護(hù)的一個(gè)方法,支持把上一個(gè)消息的輸出信息轉(zhuǎn)貯到下一個(gè)消息的輸入信息的域內(nèi)。傳遞的具體形式如圖5所示。
利用上述的泊位管理機(jī)制和消息傳遞組件,本發(fā)明所述的協(xié)作信息總線是這樣實(shí)現(xiàn)的分布式部署在多個(gè)系統(tǒng)中的至少一個(gè)操作服務(wù)引擎對(duì)分支信息總線中數(shù)據(jù)泊位的數(shù)據(jù)進(jìn)行改動(dòng)時(shí),相應(yīng)的分支信息總線向主信息總線發(fā)出同步請(qǐng)求,主信息總線接收到同步請(qǐng)求后利用消息隊(duì)列將分支信息總線中數(shù)據(jù)更新過的數(shù)據(jù)泊位中的數(shù)據(jù)傳遞到主信息總線中對(duì)應(yīng)的數(shù)據(jù)泊位中,進(jìn)行同步更新,然后返回一次刷新響應(yīng)。反過來(lái)也是一樣的,當(dāng)調(diào)度引擎對(duì)主信息總線中數(shù)據(jù)泊位的數(shù)據(jù)做了更改,主信息總線也會(huì)對(duì)相應(yīng)的分支信息總線發(fā)出一個(gè)同步請(qǐng)求。分支信息總線接收到該請(qǐng)求之后刷新分支信息總線中的數(shù)據(jù)。通過這種方式,主信息總線和分支信息總線隨時(shí)保持了數(shù)據(jù)的一致性。
圖6為上述實(shí)現(xiàn)方法中對(duì)數(shù)據(jù)泊位進(jìn)行數(shù)據(jù)導(dǎo)出操作的流程圖。以分支信息總線中的數(shù)據(jù)向主信息總線中的數(shù)據(jù)泊位導(dǎo)出為例,它具體分為如下步驟1.由操作服務(wù)引擎觸發(fā),分支信息總線獲取數(shù)據(jù)泊位標(biāo)識(shí)2.分支信息總線進(jìn)行區(qū)定位、域定位、段定位;3.分支信息總線進(jìn)行數(shù)據(jù)泊位存在性校驗(yàn),失敗則返回;
4.消息隊(duì)列讀取分支信息總線中的數(shù)據(jù)并進(jìn)行合法性校驗(yàn),失敗則非法返回,成功則接受數(shù)據(jù)。
當(dāng)主信息總線中的數(shù)據(jù)向分支信息總線中的數(shù)據(jù)泊位導(dǎo)出時(shí),除了改由調(diào)度引擎觸發(fā),分支信息總線改為主信息總線以外,操作過程完全相同。
圖7為上述實(shí)現(xiàn)方法中數(shù)據(jù)泊位接受數(shù)據(jù)導(dǎo)入操作的流程圖。仍以主信息總線中的數(shù)據(jù)泊位接受分支信息總線導(dǎo)入的數(shù)據(jù)為例,它具體分為如下步驟1.由調(diào)度引擎觸發(fā),主信息總線對(duì)消息隊(duì)列中的數(shù)據(jù)進(jìn)行合法性校驗(yàn),非法則返回;2.主信息總線獲取數(shù)據(jù)泊位標(biāo)識(shí),并進(jìn)行區(qū)定位、域定位、段定位;3.主信息總線實(shí)施數(shù)據(jù)泊位存在性校驗(yàn),失敗則返回;4.主信息總線中的數(shù)據(jù)泊位寫入從消息隊(duì)列中的數(shù)據(jù)并實(shí)施寫后讀校驗(yàn),根據(jù)校驗(yàn)結(jié)果確定失敗或成功返回。
當(dāng)分支信息總線中的數(shù)據(jù)泊位接受主信息總線導(dǎo)入的數(shù)據(jù)時(shí),過程也是一樣的,在此就不贅述了。
圖8為本協(xié)作信息總線中主信息總線與各個(gè)分支信息總線保持?jǐn)?shù)據(jù)同步過程的流程圖。這一數(shù)據(jù)同步過程以分支信息總線向主信息總線發(fā)出同步請(qǐng)求為例,具體的步驟如下1.由操作服務(wù)引擎觸發(fā);2.分支信息總線捕獲改寫區(qū)域;3.分支信息總線將改寫后的數(shù)據(jù)寫入信息隊(duì)列;4.主信息總線讀取消息隊(duì)列;5.主信息總線實(shí)施數(shù)據(jù)導(dǎo)入;6.主信息總線生成同步成功消息,寫入信息隊(duì)列;7.分支信息總線從消息隊(duì)列中獲取同步成功消息;8.完成同步。
在主信息總線向分支信息總線發(fā)出同步請(qǐng)求的情況下,只將主信息總線與分支信息總線對(duì)調(diào),并將操作服務(wù)引擎改為調(diào)度引擎即可。
需要聲明的是,本發(fā)明的具體實(shí)施方式
已經(jīng)對(duì)本發(fā)明的內(nèi)容做了詳盡的說明。對(duì)本領(lǐng)域的一般技術(shù)人員而言,在不背離本發(fā)明精神的前提下對(duì)它所做的任何顯而易見的改動(dòng),特別是對(duì)若干部件的等同替換,都構(gòu)成對(duì)本發(fā)明專利權(quán)的侵犯,將承擔(dān)相應(yīng)的法律責(zé)任。
權(quán)利要求
1.一種協(xié)作信息總線的實(shí)現(xiàn)方法,用于實(shí)現(xiàn)使一個(gè)調(diào)度引擎和至少一個(gè)操作服務(wù)引擎緊耦合的協(xié)作信息總線,其中調(diào)度引擎所在的數(shù)據(jù)通道為主信息總線,操作服務(wù)引擎所在的數(shù)據(jù)通道為分支信息總線,所述調(diào)度引擎對(duì)所述操作服務(wù)引擎進(jìn)行統(tǒng)一調(diào)度,所述主信息總線和所述分支信息總線中具有至少一個(gè)相對(duì)應(yīng)的數(shù)據(jù)泊位,其特征在于該方法包括如下步驟分布式部署的操作服務(wù)引擎對(duì)所在分支信息總線中的數(shù)據(jù)泊位的數(shù)據(jù)進(jìn)行改動(dòng)時(shí),所述分支信息總線向所述主信息總線發(fā)出同步請(qǐng)求,所述主信息總線接收到同步請(qǐng)求后利用消息隊(duì)列將所述分支信息總線中更新過數(shù)據(jù)的數(shù)據(jù)泊位中的數(shù)據(jù)傳遞到主信息總線中對(duì)應(yīng)的數(shù)據(jù)泊位中。
2.如權(quán)利要求1所述的協(xié)作信息總線的實(shí)現(xiàn)方法,其特征在于該方法還包括如下步驟所述操作引擎對(duì)所述主信息總線中的數(shù)據(jù)泊位的數(shù)據(jù)進(jìn)行改動(dòng)時(shí),所述主信息總線向具有對(duì)應(yīng)數(shù)據(jù)泊位的分支信息總線發(fā)出同步請(qǐng)求,所述分支信息總線接收到同步請(qǐng)求后利用消息隊(duì)列將所述主信息總線中更新過數(shù)據(jù)的數(shù)據(jù)泊位中的數(shù)據(jù)傳遞到所述分支信息總線中對(duì)應(yīng)的數(shù)據(jù)泊位中。
3.如權(quán)利要求1所述的協(xié)作信息總線的實(shí)現(xiàn)方法,其特征在于該方法中消息隊(duì)列從所述分支信息總線中導(dǎo)出數(shù)據(jù)的過程包括如下步驟(1)由操作服務(wù)引擎觸發(fā),分支信息總線獲取數(shù)據(jù)泊位標(biāo)識(shí)(2)分支信息總線進(jìn)行區(qū)定位、域定位、段定位;(3)分支信息總線進(jìn)行數(shù)據(jù)泊位存在性校驗(yàn),失敗則返回;(4)消息隊(duì)列讀取分支信息總線中的數(shù)據(jù)并進(jìn)行合法性校驗(yàn),失敗則非法返回,成功則接受數(shù)據(jù)。
4.如權(quán)利要求1或2所述的協(xié)作信息總線的實(shí)現(xiàn)方法,其特征在于該方法中消息隊(duì)列從所述主信息總線中導(dǎo)出數(shù)據(jù)的過程包括如下步驟(1)由調(diào)度引擎觸發(fā),主信息總線獲取數(shù)據(jù)泊位標(biāo)識(shí)(2)主信息總線進(jìn)行區(qū)定位、域定位、段定位;(3)主信息總線進(jìn)行數(shù)據(jù)泊位存在性校驗(yàn),失敗則返回;(4)消息隊(duì)列讀取主信息總線中的數(shù)據(jù)并進(jìn)行合法性校驗(yàn),失敗則非法返回,成功則接受數(shù)據(jù)。
5.如權(quán)利要求1所述的協(xié)作信息總線的實(shí)現(xiàn)方法,其特征在于該方法中主信息總線從消息隊(duì)列中導(dǎo)入數(shù)據(jù)的過程包括如下步驟(1)由調(diào)度引擎觸發(fā),主信息總線對(duì)消息隊(duì)列中的數(shù)據(jù)進(jìn)行合法性校驗(yàn),非法則返回;(2)主信息總線獲取數(shù)據(jù)泊位標(biāo)識(shí),并進(jìn)行區(qū)定位、域定位、段定位;(3)主信息總線實(shí)施數(shù)據(jù)泊位存在性校驗(yàn),失敗則返回;(4)主信息總線中的數(shù)據(jù)泊位寫入從消息隊(duì)列中的數(shù)據(jù)并實(shí)施寫后讀校驗(yàn),根據(jù)校驗(yàn)結(jié)果確定失敗或成功返回。
6.如權(quán)利要求1或2所述的協(xié)作信息總線的實(shí)現(xiàn)方法,其特征在于該方法中分支信息總線從消息隊(duì)列中導(dǎo)入數(shù)據(jù)的過程包括如下步驟(1)由操作服務(wù)引擎觸發(fā),分支信息總線對(duì)消息隊(duì)列中的數(shù)據(jù)進(jìn)行合法性校驗(yàn),非法則返回;(2)分支信息總線獲取數(shù)據(jù)泊位標(biāo)識(shí),并進(jìn)行區(qū)定位、域定位、段定位;(3)分支信息總線實(shí)施數(shù)據(jù)泊位存在性校驗(yàn),失敗則返回;(4)分支信息總線中的數(shù)據(jù)泊位寫入從消息隊(duì)列中的數(shù)據(jù)并實(shí)施寫后讀校驗(yàn),根據(jù)校驗(yàn)結(jié)果確定失敗或成功返回。
7.如權(quán)利要求1所述的協(xié)作信息總線的實(shí)現(xiàn)方法,其特征在于所述數(shù)據(jù)泊位在邏輯上至少分為區(qū)、域、段三個(gè)層次。
全文摘要
一種協(xié)作信息總線的實(shí)現(xiàn)方法,用于實(shí)現(xiàn)使一個(gè)調(diào)度引擎和至少一個(gè)操作服務(wù)引擎緊耦合的協(xié)作信息總線,其中調(diào)度引擎所在的數(shù)據(jù)通道為主信息總線,操作服務(wù)引擎所在的數(shù)據(jù)通道為分支信息總線,調(diào)度引擎對(duì)操作服務(wù)引擎進(jìn)行統(tǒng)一調(diào)度,主信息總線和分支信息總線中具有至少一個(gè)相對(duì)應(yīng)的數(shù)據(jù)泊位。分布式部署的操作服務(wù)引擎對(duì)所在分支信息總線中的數(shù)據(jù)泊位的數(shù)據(jù)進(jìn)行改動(dòng)時(shí),所述分支信息總線向主信息總線發(fā)出同步請(qǐng)求,主信息總線接收到同步請(qǐng)求后利用消息隊(duì)列將分支信息總線中更新過數(shù)據(jù)的數(shù)據(jù)泊位中的數(shù)據(jù)傳遞到主信息總線中對(duì)應(yīng)的數(shù)據(jù)泊位中。
文檔編號(hào)G06F13/42GK1570895SQ03145979
公開日2005年1月26日 申請(qǐng)日期2003年7月18日 優(yōu)先權(quán)日2003年7月18日
發(fā)明者懷進(jìn)鵬, 張文燚, 劉旭東, 李揚(yáng), 杜宗霞, 付紀(jì)東 申請(qǐng)人:北京航空航天大學(xué)