支持事務(wù)式中間件機(jī)器環(huán)境中的復(fù)雜消息標(biāo)頭的系統(tǒng)和方法
【專(zhuān)利摘要】一種靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu)可以用于存儲(chǔ)事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭。所述靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu)可以具有動(dòng)態(tài)數(shù)量的字段,并且可經(jīng)由指定的ID訪問(wèn)。所述消息標(biāo)頭可以包括第一數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu),第一數(shù)據(jù)結(jié)構(gòu)分別存儲(chǔ)用于使用第一和第二消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息。第一類(lèi)型的事務(wù)式服務(wù)器操作為僅使用第一數(shù)據(jù)結(jié)構(gòu)來(lái)獲得用于使用第一消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息。第二類(lèi)型的事務(wù)式服務(wù)器操作為從第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,然后使用密鑰來(lái)從第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息。
【專(zhuān)利說(shuō)明】支持事務(wù)式中間件機(jī)器環(huán)境中的復(fù)雜消息標(biāo)頭的系統(tǒng)和方法
[0001]版權(quán)聲明
[0002]本專(zhuān)利文檔的公開(kāi)內(nèi)容的一部分包含受版權(quán)保護(hù)的內(nèi)容。版權(quán)所有人不反對(duì)任何人如該專(zhuān)利文檔或?qū)@_(kāi)內(nèi)容在專(zhuān)利商標(biāo)局專(zhuān)利文件或記錄中所登載的那樣對(duì)它進(jìn)行復(fù)制再現(xiàn),但是保留所有其他版權(quán)權(quán)利。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明總體上涉及計(jì)算機(jī)系統(tǒng)和軟件,諸如中間件,更特別地,涉及支持事務(wù)式中間件機(jī)器環(huán)境。
【背景技術(shù)】
[0004]事務(wù)式中間件系統(tǒng)或面向事務(wù)的中間件包括可以處理組織內(nèi)的各種事務(wù)的企業(yè)應(yīng)用服務(wù)器。隨著諸如高性能網(wǎng)絡(luò)和多處理器計(jì)算機(jī)之類(lèi)的新技術(shù)的發(fā)展,需要進(jìn)一步改進(jìn)事務(wù)式中間件的性能。這些大致是本發(fā)明的實(shí)施例意圖解決的領(lǐng)域。
【發(fā)明內(nèi)容】
[0005]本文描述一種用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的系統(tǒng)和方法。所述復(fù)雜消息標(biāo)頭包括第一數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu),第一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息,第二數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息。第一類(lèi)型的事務(wù)式服務(wù)器操作來(lái)檢查復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)以獲得用于使用第一消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息。第二類(lèi)型的事務(wù)式服務(wù)器操作來(lái)從復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,并且使用該密鑰來(lái)從復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0006]圖1示出根據(jù)本發(fā)明的實(shí)施例的支持復(fù)雜消息標(biāo)頭的事務(wù)式中間件機(jī)器環(huán)境的例示。
[0007]圖2例示根據(jù)本發(fā)明的實(shí)施例的用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的示例性流程圖。
[0008]圖3示出根據(jù)本發(fā)明的實(shí)施例的事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的例
/Jn ο
【具體實(shí)施方式】
[0009]本文描述一種用于支持事務(wù)式中間件系統(tǒng)(諸如Tuxedo)的系統(tǒng)和方法,該系統(tǒng)和方法可以利用具有多個(gè)處理器的快速機(jī)器和高性能網(wǎng)絡(luò)連接。靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu)可以用于將消息標(biāo)頭存儲(chǔ)在事務(wù)式中間件機(jī)器環(huán)境下。靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu)可以具有動(dòng)態(tài)數(shù)量的字段,并且可經(jīng)由指定ID來(lái)訪問(wèn)。消息標(biāo)頭可以包括第一數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu),第一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息,第二數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息。第一類(lèi)型的服務(wù)器操作為僅使用第一數(shù)據(jù)結(jié)構(gòu)來(lái)獲得用于使用第一消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息。第二類(lèi)型的服務(wù)器操作為從第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,然后使用該密鑰來(lái)從第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息。
[0010]根據(jù)本發(fā)明的實(shí)施例,所述系統(tǒng)包括高性能硬件(例如,64位處理器技術(shù))、高性能大型存儲(chǔ)器和冗余Infiniband和以太網(wǎng)聯(lián)網(wǎng)、以及應(yīng)用服務(wù)器或中間件環(huán)境(諸如WebLogic套件),以提供完整的Java EE應(yīng)用服務(wù)器綜合體,該Java EE應(yīng)用服務(wù)器綜合體包括可以被快速配置并且可以按需伸縮的大規(guī)模并行內(nèi)存網(wǎng)格。根據(jù)實(shí)施例,所述系統(tǒng)可以被部署為提供應(yīng)用服務(wù)器網(wǎng)格、存儲(chǔ)區(qū)域網(wǎng)絡(luò)和Infiniband (IB)網(wǎng)絡(luò)的全機(jī)架、半機(jī)架或四分之一機(jī)架或其他構(gòu)造。中間件機(jī)器軟件可以提供應(yīng)用服務(wù)器、中間件和其他功能(諸如,例如 WebLogic 服務(wù)器、JRockit 或 Hotspot JVM>OracIe Linux 或 Solaris、以及 OracleVM)0根據(jù)實(shí)施例,所述系統(tǒng)可以包括彼此經(jīng)由IB網(wǎng)絡(luò)進(jìn)行通信的多個(gè)計(jì)算節(jié)點(diǎn)、IB交換機(jī)網(wǎng)關(guān)以及存儲(chǔ)節(jié)點(diǎn)或單元。當(dāng)被實(shí)現(xiàn)為機(jī)架構(gòu)造時(shí),可以將機(jī)架的未使用部分置空或用填充物占據(jù)。
[0011]根據(jù)本發(fā)明的在本文中被稱(chēng)為“Sun Oracle Exalogic”或“Exalogic”的實(shí)施例,所述系統(tǒng)是用于托管中間件或應(yīng)用服務(wù)器軟件(諸如Oracle Middleware SW套件或Weblogic)的易部署解決方案。如本文中所描述的,根據(jù)實(shí)施例,所述系統(tǒng)是包括一個(gè)或多個(gè)服務(wù)器、存儲(chǔ)單元、用于存儲(chǔ)聯(lián)網(wǎng)的IB交織、以及托管中間件應(yīng)用所需的所有其他組件的“盒中網(wǎng)格”。通過(guò)使用例如實(shí)時(shí)應(yīng)用集群(Real Application Clusters)和ExalogicOpen儲(chǔ)存器來(lái)利用大規(guī)模并行網(wǎng)格架構(gòu),可以賦予所有類(lèi)型的中間件應(yīng)用重要性能。所述系統(tǒng)提供帶有I/O線性伸縮性的性能改善,易于使用和管理,并且提供任務(wù)關(guān)鍵的可用性和可靠性。
[0012]根據(jù)本發(fā)明的實(shí)施例,Tuxedo是實(shí)現(xiàn)高性能分布式企業(yè)應(yīng)用的構(gòu)造、執(zhí)行和管控的一組軟件模塊,并且已經(jīng)被若干多層次應(yīng)用部署工具用作事務(wù)式中間件。另外,事務(wù)式中間件系統(tǒng)(諸如Tuxedo系統(tǒng))可以利用具有多個(gè)處理器的快速機(jī)器(諸如Exalogic中間件機(jī)器)和高性能網(wǎng)絡(luò)連接(諸如Infiniband (IB)網(wǎng)絡(luò))。
[0013]根據(jù)本發(fā)明的實(shí)施例,事務(wù)式中間件系統(tǒng)可以使用遠(yuǎn)程直接存儲(chǔ)器存取(RDMA)協(xié)議在本地機(jī)器與遠(yuǎn)程機(jī)器之間交換消息,從而以類(lèi)似于本地消息傳送(例如,繞過(guò)橋處理并且防止單點(diǎn)瓶頸)的方式來(lái)實(shí)現(xiàn)短延遲。在2012年3月8日提交的題為“SYSTEM AND METHODFOR PREVENTING SINGLE-POINT BOTTLENECK IN A TRANSACTIONAL MIDDLEWARE MACHINEENVIRONMENT”的美國(guó)申請(qǐng)中公開(kāi)了使用RDMA協(xié)議在本地機(jī)器與遠(yuǎn)程機(jī)器之間交換消息,該申請(qǐng)的全部?jī)?nèi)容通過(guò)引用合并于此。
[0014]支持復(fù)雜消息標(biāo)頭
[0015]根據(jù)本發(fā)明的實(shí)施例,事務(wù)式中間件機(jī)器環(huán)境可以使用復(fù)雜消息標(biāo)頭以支持在機(jī)器之間傳送消息時(shí)繞過(guò)橋處理并且防止單點(diǎn)瓶頸。復(fù)雜消息標(biāo)頭可以使用靈活的數(shù)據(jù)結(jié)構(gòu)以用于支持事務(wù)式中間件機(jī)器環(huán)境中的不同消息隊(duì)列,諸如RDMA消息隊(duì)列和系統(tǒng)V處理間通信(IPC)消息隊(duì)列。[0016]圖1示出根據(jù)本發(fā)明的實(shí)施例的支持復(fù)雜消息標(biāo)頭的事務(wù)式中間件機(jī)器環(huán)境的例示。如圖1所示,事務(wù)式客戶(hù)端101可以將不同的服務(wù)請(qǐng)求消息(消息A104和消息B105)發(fā)送到不同類(lèi)型的事務(wù)式服務(wù)器(服務(wù)器A102和服務(wù)器B103)。服務(wù)器A可以是使用IPC隊(duì)列的第一類(lèi)型的服務(wù)器,服務(wù)器B可以是使用RDMA隊(duì)列的第二類(lèi)型的服務(wù)器。另外,月艮務(wù)器可以同時(shí)監(jiān)聽(tīng)I(yíng)PC隊(duì)列和RDMA隊(duì)列兩者。服務(wù)器A102和服務(wù)器B103可以是硬件計(jì)算節(jié)點(diǎn)。服務(wù)器A102和服務(wù)器B103可以設(shè)置在中間件機(jī)器的機(jī)架中。
[0017]根據(jù)本發(fā)明的實(shí)施例,復(fù)雜消息標(biāo)頭可以使用靈活的數(shù)據(jù)結(jié)構(gòu),以便支持繞過(guò)橋處理并且防止單點(diǎn)瓶頸。如圖1所示,消息標(biāo)頭A106包括第一數(shù)據(jù)結(jié)構(gòu)A108和第二數(shù)據(jù)結(jié)構(gòu)Al 10,消息標(biāo)頭107包括第一數(shù)據(jù)結(jié)構(gòu)B109和第二數(shù)據(jù)結(jié)構(gòu)Bill。第一數(shù)據(jù)結(jié)構(gòu)A108和第一數(shù)據(jù)結(jié)構(gòu)B109均可以是存儲(chǔ)用于使用IPC隊(duì)列訪問(wèn)客戶(hù)端的地址信息的簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)。另外,消息標(biāo)頭B107中的第二數(shù)據(jù)結(jié)構(gòu)Blll可以是存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)客戶(hù)端的地址信息的數(shù)據(jù)緩沖區(qū),消息標(biāo)頭A106中的第二數(shù)據(jù)結(jié)構(gòu)AllO可以被置空、不存在、或者一開(kāi)始就沒(méi)有被創(chuàng)建。
[0018]在圖1所示的例子中,服務(wù)器A102 (優(yōu)選使用系統(tǒng)V IPC隊(duì)列A122的服務(wù)器)可以?xún)H使用簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)108來(lái)經(jīng)由橋處理A120和橋處理C118獲得用于使用IPC消息隊(duì)列C116訪問(wèn)客戶(hù)端的地址信息。另一方面,服務(wù)器B103 (優(yōu)選使用RDMA隊(duì)列的服務(wù)器)可以使用簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)109來(lái)獲得密鑰113 (例如,具有負(fù)的長(zhǎng)整型值(long value)的偽IPC隊(duì)列地址)。此外,服務(wù)器B103可以使用密鑰113或指定字段名來(lái)查找數(shù)據(jù)緩沖區(qū)以獲得關(guān)于用于使用第二消息隊(duì)列訪問(wèn)客戶(hù)端的地址B114的信息。
[0019]根據(jù)本發(fā)明的實(shí)施例,客戶(hù)端可以同時(shí)維護(hù)IPC隊(duì)列和RDMA隊(duì)列。在客戶(hù)端將服務(wù)器請(qǐng)求消息送出到目標(biāo)服務(wù)器之前,客戶(hù)端可以首先基于客戶(hù)端之前接收的信息來(lái)確定目標(biāo)服務(wù)器的類(lèi)型。如果目標(biāo)服務(wù)器被確定為優(yōu)選使用IPC隊(duì)列,則客戶(hù)端可以發(fā)送具有格式與圖1所示的消息標(biāo)頭A106類(lèi)似的消息標(biāo)頭的服務(wù)請(qǐng)求消息。否則,如果目標(biāo)服務(wù)器被確定為優(yōu)選使用RDMA隊(duì)列,則客戶(hù)端可以發(fā)送具有格式與圖1所示的消息標(biāo)頭B107類(lèi)似的消息標(biāo)頭的服務(wù)請(qǐng)求消息。
[0020]圖2例示根據(jù)本發(fā)明的實(shí)施例的用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的示例性流程圖。如圖2所示,在步驟201,提供第一數(shù)據(jù)結(jié)構(gòu),第一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息。此外,在步驟202,提供第二數(shù)據(jù)結(jié)構(gòu),第二數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息。然后,在步驟203,第一類(lèi)型的事務(wù)式服務(wù)器可以?xún)H檢查復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)以獲得用于使用第一消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息。此外,在步驟204,第二類(lèi)型的事務(wù)式服務(wù)器可以從復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,并且使用該密鑰來(lái)從復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息。
[0021 ] 在Tuxedo中傳載消息隊(duì)列信息
[0022]根據(jù)本發(fā)明的實(shí)施例,Tuxedo應(yīng)用可以利用RDMA協(xié)議和使用RDMA隊(duì)列,以便繞過(guò)與系統(tǒng)V IPC隊(duì)列相關(guān)聯(lián)的橋處理。與系統(tǒng)V IPC隊(duì)列相關(guān)聯(lián)的橋處理可以是Tuxedo環(huán)境下的單點(diǎn)瓶頸。通過(guò)使用RDMA隊(duì)列,不同Tuxedo機(jī)器之間的遠(yuǎn)程消息傳送可以按類(lèi)似于本地消息傳送的方式實(shí)現(xiàn)較短延遲。
[0023]Tuxedo客戶(hù)端和服務(wù)器可以按不同版本編譯,并且可以部署在不同機(jī)器中。有可能并非每個(gè)機(jī)器都支持旁路橋處理特征。所述系統(tǒng)可以在它們之間保持消息兼容性。例如,一版本的Tuxedo服務(wù)器可以訪問(wèn)Tuxedo消息標(biāo)頭中的所有字段的正確偏移,盡管該Tuxedo服務(wù)器不支持旁路橋特征。因此,在不同版本的Tuxedo上運(yùn)行的應(yīng)用可以識(shí)別彼此發(fā)送的消息。
[0024]圖3示出根據(jù)本發(fā)明的實(shí)施例的事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的例示。如圖3中所示,復(fù)雜消息標(biāo)頭包含在C結(jié)構(gòu)中的幾個(gè)Tuxedo消息標(biāo)頭301和302、以及在FML32類(lèi)型化緩沖區(qū)中的Tuxedo消息標(biāo)頭303。
[0025]客戶(hù)端可以將系統(tǒng)V IPC隊(duì)列地址信息存儲(chǔ)在C結(jié)構(gòu)中。為了解決互操作性問(wèn)題,即使當(dāng)旁路橋特征被激活時(shí),C結(jié)構(gòu)也可以在消息標(biāo)頭中的相同位置保持不變。另外,客戶(hù)端可以將其整個(gè)RDMA消息隊(duì)列信息存儲(chǔ)到靈活事務(wù)標(biāo)頭中,例如,存儲(chǔ)在具有不用于系統(tǒng)VIPC隊(duì)列地址的ID的FML32類(lèi)型化緩沖區(qū)標(biāo)頭303中。
[0026]FML32類(lèi)型化緩沖區(qū)中的RDMA消息隊(duì)列信息通常包含比C結(jié)構(gòu)中的系統(tǒng)V IPC隊(duì)列地址信息更多的字節(jié)。例如,Tuxedo請(qǐng)求消息標(biāo)頭中的C結(jié)構(gòu)包含八(8)字節(jié)“長(zhǎng)整型”變量,RDMA消息隊(duì)列地址是128字節(jié)的數(shù)組。
[0027]FML32類(lèi)型化緩沖區(qū)是按字段索引的靈活事務(wù)數(shù)據(jù)結(jié)構(gòu)。FML32類(lèi)型化緩沖區(qū)中的每個(gè)條目可以按指定字段名進(jìn)行檢索。如果處理得到FML32類(lèi)型化緩沖區(qū),那么如果處理沒(méi)有經(jīng)由它不知道的字段名得到值,則該處理不引起任何麻煩。此外,不太可能任何處理可以試圖經(jīng)由它不知道的字段來(lái)獲得值。
[0028]根據(jù)本發(fā)明的實(shí)施例,可以將動(dòng)態(tài)數(shù)量的字段304和305放置到可經(jīng)由指定ID訪問(wèn)的同一緩沖區(qū)中。當(dāng)旁路橋特征沒(méi)有被激活時(shí),所述處理不檢查FML32標(biāo)頭,并且因?yàn)镃結(jié)構(gòu)標(biāo)頭不變,所以處理僅可以訪問(wèn)系統(tǒng)V IPC隊(duì)列。
[0029]當(dāng)旁路橋特征被激活時(shí),客戶(hù)端可以使用RDMA消息隊(duì)列而不是系統(tǒng)V IPC隊(duì)列來(lái)將消息發(fā)送到服務(wù)器,并且可以將其回復(fù)RDMA消息隊(duì)列地址存儲(chǔ)在請(qǐng)求消息中,以使得服務(wù)器可以送回響應(yīng)。
[0030]如圖3所示,當(dāng)Tuxedo服務(wù)器處理從Tuxedo客戶(hù)端接收到消息時(shí),Tuxedo服務(wù)器處理可以首先得到C結(jié)構(gòu)(例如,Tuxedo消息標(biāo)頭X302)中的IPC隊(duì)列地址。如果Tuxedo服務(wù)器處理發(fā)現(xiàn)該條目具有負(fù)的長(zhǎng)整型值,則Tuxedo服務(wù)器處理可以經(jīng)由指定的字段名從在FML32類(lèi)型化緩沖區(qū)中的Tuxedo消息標(biāo)頭Y303得到RDMA消息隊(duì)列地址。
[0031]此外,Tuxedo客戶(hù)端可以在發(fā)送請(qǐng)求之前從服務(wù)器得到版本信息。因此,對(duì)于沒(méi)有用旁路橋特征進(jìn)行編譯的服務(wù)器而言,只有系統(tǒng)V IPC隊(duì)列地址可以被放置到請(qǐng)求消息標(biāo)頭中,F(xiàn)ML32類(lèi)型化緩沖區(qū)不被觸動(dòng)。
[0032]當(dāng)旁路橋特征被禁用時(shí),在FML32緩沖區(qū)303中不存在RDMA消息隊(duì)列地址字段。消息緩沖區(qū)(C結(jié)構(gòu)部分)中的隊(duì)列地址可以是指示系統(tǒng)V IPC隊(duì)列地址的正的IPC隊(duì)列地址。因此,當(dāng)Tuxedo從消息緩沖區(qū)得到該隊(duì)列地址時(shí),系統(tǒng)不檢查FML32緩沖區(qū)。
[0033]本發(fā)明的其他實(shí)施例包括一種用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的系統(tǒng),該系統(tǒng)包括:第一數(shù)據(jù)存儲(chǔ)單元,其存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息;第二數(shù)據(jù)存儲(chǔ)單元,其存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息;第一類(lèi)型的事務(wù)式服務(wù)器,其操作為僅檢查復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)以獲得用于使用第一消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息;以及第二類(lèi)型的事務(wù)式服務(wù)器,其操作為從復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,并且使用該密鑰來(lái)從復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信肩、O
[0034]另一實(shí)施例包括一種系統(tǒng),其中事務(wù)式客戶(hù)端操作為使用復(fù)雜消息標(biāo)頭將消息發(fā)送到事務(wù)式服務(wù)器。
[0035]另一實(shí)施例包括一種系統(tǒng),其中事務(wù)式客戶(hù)端操作為在發(fā)送所述消息之前得到關(guān)于事務(wù)式服務(wù)器的信息。
[0036]另一實(shí)施例包括一種系統(tǒng),其中事務(wù)式服務(wù)器操作為基于復(fù)雜消息標(biāo)頭中的地址信息將響應(yīng)消息發(fā)送到事務(wù)式客戶(hù)端。
[0037]另一實(shí)施例包括一種系統(tǒng),其中第一數(shù)據(jù)結(jié)構(gòu)是C數(shù)據(jù)結(jié)構(gòu),第二數(shù)據(jù)結(jié)構(gòu)是類(lèi)型化緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)。
[0038]另一實(shí)施例包括一種系統(tǒng),其中事務(wù)式客戶(hù)端操作為通過(guò)本地橋處理與第一類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信。
[0039]另一實(shí)施例包括一種系統(tǒng),其中事務(wù)式客戶(hù)端操作為經(jīng)由高性能網(wǎng)絡(luò)直接與第二類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信。
[0040]另一實(shí)施例包括一種系統(tǒng),其中高性能網(wǎng)絡(luò)是使用遠(yuǎn)程直接存儲(chǔ)器存取(RDMA)協(xié)議的 Infiniband (IB)網(wǎng)絡(luò)。
[0041]另一實(shí)施例包括權(quán)利要求1的系統(tǒng),其中第一類(lèi)型的事務(wù)式服務(wù)器不理解復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)中的地址信息。
[0042]另一實(shí)施例包括一種系統(tǒng),其中第二數(shù)據(jù)結(jié)構(gòu)是具有動(dòng)態(tài)數(shù)量的字段的靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu),每個(gè)字段可經(jīng)由指定ID來(lái)訪問(wèn)。
[0043]另一實(shí)施例包括一種用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的設(shè)備,該設(shè)備包括:用于提供第一數(shù)據(jù)結(jié)構(gòu)的裝置,第一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息;用于提供第二數(shù)據(jù)結(jié)構(gòu)的裝置,第二數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息;用于允許第一類(lèi)型的事務(wù)式服務(wù)器僅檢查復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)以獲得用于使用第一消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息的裝置;以及用于允許第二類(lèi)型的事務(wù)式服務(wù)器從復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰并且使用該密鑰來(lái)從復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息的裝置。
[0044]另一實(shí)施例包括一種設(shè)備,其還包括用于允許事務(wù)式客戶(hù)端使用復(fù)雜消息標(biāo)頭將消息發(fā)送到事務(wù)式服務(wù)器的裝置。
[0045]另一實(shí)施例包括一種設(shè)備,其還包括用于允許事務(wù)式客戶(hù)端在發(fā)送所述消息之前得到關(guān)于事務(wù)式服務(wù)器的信息的裝置。
[0046]另一實(shí)施例包括一種設(shè)備,其還包括用于允許事務(wù)式服務(wù)器基于復(fù)雜消息標(biāo)頭中的地址信息將響應(yīng)消息發(fā)送到事務(wù)式客戶(hù)端的裝置。
[0047]另一實(shí)施例包括一種設(shè)備,其中第一數(shù)據(jù)結(jié)構(gòu)是C數(shù)據(jù)結(jié)構(gòu),第二數(shù)據(jù)結(jié)構(gòu)是類(lèi)型化緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)。
[0048]另一實(shí)施例包括一種設(shè)備,其還包括用于允許事務(wù)式客戶(hù)端通過(guò)本地橋處理與第一類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信的裝置。[0049]另一實(shí)施例包括一種設(shè)備,其還包括用于允許事務(wù)式客戶(hù)端經(jīng)由高性能網(wǎng)絡(luò)直接與第二類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信的裝置。
[0050]另一實(shí)施例包括一種設(shè)備,其中高性能網(wǎng)絡(luò)是使用遠(yuǎn)程直接存儲(chǔ)器存取(RDMA )協(xié)議的 Infiniband (IB)網(wǎng)絡(luò)。
[0051]另一實(shí)施例包括一種設(shè)備,其還包括用于允許第一類(lèi)型的事務(wù)式服務(wù)器不理解復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)中的地址信息的裝置。
[0052]另一實(shí)施例包括一種設(shè)備,其中第二數(shù)據(jù)結(jié)構(gòu)是具有動(dòng)態(tài)數(shù)量的字段的靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu),其中每個(gè)字段均可經(jīng)由指定的ID來(lái)訪問(wèn)。
[0053]本發(fā)明可以方便地使用一個(gè)或多個(gè)常規(guī)的通用或?qū)S脭?shù)字計(jì)算機(jī)、計(jì)算裝置、機(jī)器或微處理器來(lái)實(shí)現(xiàn),這些數(shù)字計(jì)算機(jī)、計(jì)算裝置、機(jī)器或微處理器包括根據(jù)本公開(kāi)的教導(dǎo)編程的一個(gè)或多個(gè)處理器、存儲(chǔ)器和/或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。如軟件領(lǐng)域中的技術(shù)人員將明白的,熟練的程序員可以基于本公開(kāi)的教導(dǎo)容易地準(zhǔn)備適當(dāng)?shù)能浖幋a。
[0054]在一些實(shí)施例中,本發(fā)明包括計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品是其上/其中存儲(chǔ)可以用于將計(jì)算機(jī)編程為執(zhí)行本發(fā)明的任何一個(gè)處理的指令的存儲(chǔ)介質(zhì)或一個(gè)(多個(gè))計(jì)算機(jī)可讀介質(zhì)。存儲(chǔ)介質(zhì)可以包括,但不限于,任何類(lèi)型的盤(pán)(包括軟盤(pán)、光學(xué)盤(pán)、DVD、CD-ROM、微驅(qū)動(dòng)器和磁光盤(pán))、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、閃存裝置、磁性或光學(xué)卡、納米系統(tǒng)(包括分子存儲(chǔ)器1C)、或適用于存儲(chǔ)指令和/或信息的任何類(lèi)型的介質(zhì)或裝置。
[0055]已經(jīng)為了例示和描述的目的提供了本發(fā)明的前面的描述。并非意圖是窮舉性的或者使本發(fā)明限于所公開(kāi)的精確形式。許多修改和變型對(duì)于本領(lǐng)域的熟練從業(yè)者將是顯而易見(jiàn)的。為了最佳地說(shuō)明本發(fā)明的原理及其實(shí)際應(yīng)用,選擇并描述了實(shí)施例,從而使得本領(lǐng)域的其他技術(shù)人員能夠針對(duì)各種實(shí)施例并且在適合于所設(shè)想的特定用途的各種修改下理解本發(fā)明。意圖是本發(fā)明的范圍由權(quán)利要求書(shū)及其等同形式限定。
【權(quán)利要求】
1.一種用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的系統(tǒng),包括: 第一數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息;以及 第二數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息, 其中,第一類(lèi)型的事務(wù)式服務(wù)器操作為僅檢查所述復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)以獲得用于使用第一消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息,且 其中,第二類(lèi)型的事務(wù)式服務(wù)器操作為從所述復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,并且使用所述密鑰以從所述復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述事務(wù)式客戶(hù)端操作為使用所述復(fù)雜消息標(biāo)頭將消息發(fā)送到事務(wù)式服務(wù)器。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,所述事務(wù)式客戶(hù)端操作為在發(fā)送所述消息之前得到關(guān)于事務(wù)式服務(wù)器的信息。
4.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,所述事務(wù)式服務(wù)器操作為基于所述復(fù)雜消息標(biāo)頭中的地址信息將響應(yīng)消息發(fā)送到事務(wù)式客戶(hù)端。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第一數(shù)據(jù)結(jié)構(gòu)是C數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)是類(lèi)型化緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述事務(wù)式客戶(hù)端操作為通過(guò)本地橋處理與第一類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述事務(wù)式客戶(hù)端操作為經(jīng)由高性能網(wǎng)絡(luò)直接與第二類(lèi)型的事務(wù)式服務(wù)器`進(jìn)行通信。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述高性能網(wǎng)絡(luò)是使用遠(yuǎn)程直接存儲(chǔ)器存取(RDMA)協(xié)議的 Infiniband (IB)網(wǎng)絡(luò)。
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,第一類(lèi)型的事務(wù)式服務(wù)器不理解所述復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)中的地址信息。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第二數(shù)據(jù)結(jié)構(gòu)是具有動(dòng)態(tài)數(shù)量的字段的靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu),所述字段中的每個(gè)均能經(jīng)由指定的ID訪問(wèn)。
11.一種用于支持事務(wù)式中間件機(jī)器環(huán)境下的復(fù)雜消息標(biāo)頭的方法,包括: 提供第一數(shù)據(jù)結(jié)構(gòu),所述第一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第一消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息; 提供第二數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)用于使用第二消息隊(duì)列訪問(wèn)事務(wù)式客戶(hù)端的地址信息; 允許第一類(lèi)型的事務(wù)式服務(wù)器僅檢查所述復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)以獲得用于使用第一消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息;以及 允許第二類(lèi)型的事務(wù)式服務(wù)器從所述復(fù)雜消息標(biāo)頭中的第一數(shù)據(jù)結(jié)構(gòu)獲得密鑰,并且使用所述密鑰來(lái)從所述復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)獲得用于使用第二消息隊(duì)列與事務(wù)式客戶(hù)端進(jìn)行通信的地址信息。
12.根據(jù)權(quán)利要求11所述的方法,還包括允許事務(wù)式客戶(hù)端使用所述復(fù)雜消息標(biāo)頭將消息發(fā)送到事務(wù)式服務(wù)器。
13.根據(jù)權(quán)利要求12所述的方法,還包括允許事務(wù)式客戶(hù)端在發(fā)送所述消息之前得到關(guān)于事務(wù)式服務(wù)器的信息。
14.根據(jù)權(quán)利要求12所述的方法,還包括允許事務(wù)式服務(wù)器基于所述復(fù)雜消息標(biāo)頭中的地址信息將響應(yīng)消息發(fā)送到事務(wù)式客戶(hù)端。
15.根據(jù)權(quán)利要求11所述的方法,其中,所述第一數(shù)據(jù)結(jié)構(gòu)是C數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)是類(lèi)型化緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)。
16.根據(jù)權(quán)利要求11所述的方法,還包括允許事務(wù)式客戶(hù)端通過(guò)本地橋處理與第一類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信。
17.根據(jù)權(quán)利要求11所述的方法,還包括允許事務(wù)式客戶(hù)端經(jīng)由高性能網(wǎng)絡(luò)直接與第二類(lèi)型的事務(wù)式服務(wù)器進(jìn)行通信。
18.根據(jù)權(quán)利要求6所述的方法,其中,所述高性能網(wǎng)絡(luò)是使用遠(yuǎn)程直接存儲(chǔ)器存取(RDMA)協(xié)議的 Infiniband (IB)網(wǎng)絡(luò)。
19.根據(jù)權(quán)利要求11所述的方法,還包括允許第一類(lèi)型的事務(wù)式服務(wù)器不理解所述復(fù)雜消息標(biāo)頭中的第二數(shù)據(jù)結(jié)構(gòu)中的地址信息。
20.根據(jù)權(quán)利要求11所述的方法,其中,所述第二數(shù)據(jù)結(jié)構(gòu)是具有動(dòng)態(tài)數(shù)量的字段的靈活的事務(wù)數(shù)據(jù)結(jié)構(gòu),所述字段中的每個(gè)均能經(jīng)由指定的ID訪問(wèn)。
21.一種程序,用于執(zhí)行權(quán)利要求11-20中的任何一項(xiàng)的方法。
22.—種非易失性 儲(chǔ)存介質(zhì),其存儲(chǔ)權(quán)利要求21的程序。
【文檔編號(hào)】G06F15/173GK103827849SQ201280047480
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2012年9月25日 優(yōu)先權(quán)日:2011年9月29日
【發(fā)明者】時(shí)培植, 金永順 申請(qǐng)人:甲骨文國(guó)際公司