專利名稱:用于在消息排隊(duì)環(huán)境中驗(yàn)證消息的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及一種在消息排隊(duì)軟件中提高消息業(yè)務(wù)(messagetraffic)的效率的方法,并且具體地涉及一種用于在消息進(jìn)入消息隊(duì)列之前驗(yàn)證(validate)所述消息的方法。
背景技術(shù):
圖1所示為工作于計(jì)算機(jī)網(wǎng)絡(luò)中的多個計(jì)算機(jī)程序之間的通信路徑。這些計(jì)算機(jī)程序可以運(yùn)行于單個計(jì)算機(jī)上,但是最有可能地運(yùn)行于計(jì)算機(jī)網(wǎng)絡(luò)中的多個分離的計(jì)算機(jī)上。該計(jì)算機(jī)網(wǎng)絡(luò)可以是簡化的網(wǎng)絡(luò)連接,諸如局域網(wǎng)(LAN),或可以是更大的網(wǎng)絡(luò),諸如廣域網(wǎng)(WAN)或因特網(wǎng)。如圖1中可見,四個程序分別都具有與其它三個程序的通信路徑。這些程序可以沿通信路徑向其它程序發(fā)送消息、或從其接收消息。雖然圖1中的設(shè)計(jì)足以用于少量程序,但是在大型計(jì)算機(jī)網(wǎng)絡(luò)中通信路徑的數(shù)目變得龐大。圖1中的設(shè)計(jì)還不能用于在程序之一變得不可用時的緊急情況通信方法(contingencycommunication method)。因此,就需要一種能夠允許多個程序進(jìn)行通信的方法,其中通信路徑的數(shù)目減少,并且其中針對程序之一變得不可用而存在緊急通信方法。
開發(fā)消息排隊(duì)軟件來解決上述問題。消息排隊(duì)軟件也稱為存儲轉(zhuǎn)發(fā)軟件和面向消息的中間件。消息排隊(duì)軟件的范例有MICROSOFTMSMQ、WEBSPHEREMQ、和TIBCO。如圖2中可見,消息排隊(duì)軟件的稱為消息隊(duì)列管理器的部件用作各種程序之間的中介(intermediary)。消息隊(duì)列管理器減少了所需通信路徑的數(shù)目。當(dāng)一個程序變?yōu)椴豢捎脮r,消息隊(duì)列管理器也在消息隊(duì)列中為該不可用的程序保存消息,直至該程序變?yōu)榭捎?。消息?duì)列管理器對消息進(jìn)行排隊(duì)、分發(fā)消息、并核實(shí)該消息已經(jīng)被發(fā)送到了適當(dāng)?shù)慕邮照撸瑥亩乐沽讼⒌膩G失。于是,消息排隊(duì)軟件解決了上述問題并允許計(jì)算機(jī)程序以更加有效的方式通信。
消息排隊(duì)軟件中包括的一個處理就是消息的驗(yàn)證(validation)。當(dāng)接收方程序接收到消息時,該接收方程序驗(yàn)證該消息,以核實(shí)該消息的格式正確。如果消息的格式不正確,那么接收方程序就不能進(jìn)一步處理該消息,而且也沒有簡單的辦法通知發(fā)送者其消息被忽略了。與現(xiàn)有技術(shù)的消息驗(yàn)證處理相關(guān)的一個問題就是,無效消息從發(fā)送方程序傳輸?shù)浇邮辗匠绦?,使得程序與消息隊(duì)列管理器之間的消息信道的使用效率低下。當(dāng)發(fā)送方程序向多個接收方程序發(fā)送無效消息時,這個問題就變得嚴(yán)重了。更加有效的方法會在消息分發(fā)到接收方程序之前檢驗(yàn)該消息的有效性(validity)。相應(yīng)地,在本領(lǐng)域中就需要一種在消息排隊(duì)環(huán)境中驗(yàn)證消息的方法,其中在將消息分發(fā)到接收方程序之前先對消息進(jìn)行有效性檢驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明是一種用于在消息排隊(duì)軟件環(huán)境中,在消息被傳送到接收方程序之前驗(yàn)證該消息的方法,其可以滿足上述要求。本發(fā)明通過消除無效消息通過消息信道的傳輸,從而使得消息排隊(duì)軟件更加有效。本發(fā)明的軟件實(shí)施例是消息驗(yàn)證程序(Message Validating ProgramMVP)。當(dāng)消息由發(fā)送方程序始發(fā)時,MVP獲取該消息。MVP然后通過將消息報(bào)頭和消息體與驗(yàn)證準(zhǔn)則進(jìn)行比較,分析該消息。驗(yàn)證準(zhǔn)則為接收方程序會接受的消息報(bào)頭和消息體中數(shù)據(jù)的屬性、范圍、類型、字符集和格式。如果消息體和消息報(bào)頭滿足驗(yàn)證準(zhǔn)則,那么就將該消息轉(zhuǎn)發(fā)到適當(dāng)?shù)南㈥?duì)列,以分發(fā)給接收方程序。如果消息體和/或消息報(bào)頭不滿足檢驗(yàn)標(biāo)準(zhǔn),那么該MVP就通知發(fā)送方程序,該消息不能轉(zhuǎn)發(fā)到預(yù)定的消息隊(duì)列。
在所附權(quán)利要求書中陳述了本發(fā)明特征性的新穎特性。但是連同附圖一起,參照閱讀下面說明性實(shí)施例的詳細(xì)描述,可以最好地理解發(fā)明本身、以及所使用的優(yōu)選模式、其進(jìn)一步的目的和優(yōu)勢,其中圖1所示為多個計(jì)算機(jī)程序在缺少消息排隊(duì)軟件的情況下的交互;圖2所示為多個計(jì)算機(jī)程序利用消息排隊(duì)軟件進(jìn)行交互;圖3所示的計(jì)算機(jī)包括存儲器和網(wǎng)絡(luò)連接,其包含與本發(fā)明相關(guān)的發(fā)送方程序;圖4所示的計(jì)算機(jī)包括存儲器和網(wǎng)絡(luò)連接,其包含與本發(fā)明相關(guān)的消息隊(duì)列管理器;圖5所示為與本發(fā)明相關(guān)的消息的組成;和圖6所示為本發(fā)明的消息驗(yàn)證程序(MVP)的邏輯。
具體實(shí)施例方式
如此處所使用的詞語“計(jì)算機(jī)”應(yīng)該意指具有處理器、存儲器和操作系統(tǒng)的機(jī)器,其能夠與用戶或其它計(jì)算機(jī)交互,并且應(yīng)該不受限制地包括防火墻、桌面計(jì)算機(jī)、筆記本電腦、臺式個人計(jì)算機(jī)、個人數(shù)字助理(PDA)、服務(wù)器、手持計(jì)算機(jī)和類似的設(shè)備。
如此處所使用的詞語“消息”應(yīng)該意指通過計(jì)算機(jī)程序發(fā)送和接收的精確格式化的數(shù)據(jù),并且可以表示請求、報(bào)告或事件。
如此處所使用的詞語“消息體”應(yīng)該意指包含消息內(nèi)容的消息的一部分,其必須符合預(yù)期格式。
如此處所使用的詞語“消息報(bào)頭”應(yīng)該意指消息中前置并標(biāo)識該消息中隨后信息的信息結(jié)構(gòu),并且其描述消息排隊(duì)軟件用于處理消息的消息詳情(諸如消息的屬性)。
如此處所使用的詞語“消息排隊(duì)環(huán)境”應(yīng)該意指計(jì)算機(jī)網(wǎng)絡(luò),其利用消息排隊(duì)軟件在運(yùn)行于計(jì)算機(jī)網(wǎng)絡(luò)上的計(jì)算機(jī)程序之間傳送消息。
如此處所使用的詞語“消息隊(duì)列管理器”應(yīng)該意指消息排隊(duì)軟件的部件,其在消息隊(duì)列中存儲消息,用于傳送給接收方程序。
如此處所使用的詞語“消息排隊(duì)軟件”應(yīng)該意指計(jì)算機(jī)程序,其控制多個計(jì)算機(jī)程序之間的消息分發(fā)。
如此處所使用的詞語“接收方程序”應(yīng)該意指消息排隊(duì)環(huán)境中的計(jì)算機(jī)程序,其接收來自發(fā)送方程序的消息。
如此處所使用的詞語“發(fā)送方程序”應(yīng)該意指消息排隊(duì)環(huán)境中的計(jì)算機(jī)程序,其始發(fā)消息并將該消息發(fā)送給接收方程序。
如此處所使用的詞語“驗(yàn)證準(zhǔn)則”應(yīng)該意指一組準(zhǔn)則,其定義可以被接收方程序接受的數(shù)據(jù)類型、范圍、字符集、格式和屬性。
計(jì)算機(jī)的內(nèi)部結(jié)構(gòu)在本領(lǐng)域是熟知的,包括處理器、存儲器、和輸入/輸出設(shè)備的連接和定位。本發(fā)明可以是一種方法、獨(dú)立的計(jì)算機(jī)程序、或現(xiàn)存計(jì)算機(jī)程序的插件。本領(lǐng)域的普通技術(shù)人員知曉如何配置諸如此處所描述的這些計(jì)算機(jī)程序,以將其插入到現(xiàn)存計(jì)算機(jī)程序。參照圖3,通過消息驗(yàn)證程序(MVP)200在軟件上實(shí)施本發(fā)明的方法。此處所描述的MVP 200存儲在包含消息排隊(duì)軟件120和發(fā)送方程序94的每個計(jì)算機(jī)96的存儲器中。可替換地,MVP 200可以存儲在外部存儲設(shè)備中,諸如可移動盤、CD-ROM、和USB存儲設(shè)備。存儲器100是圖3中計(jì)算機(jī)內(nèi)的說明性存儲器。存儲器100也包含驗(yàn)證準(zhǔn)則160。存儲器100內(nèi)的程序可以通過網(wǎng)絡(luò)連接與消息隊(duì)列管理器130通信。
參照圖4,所述為計(jì)算機(jī)95、發(fā)送方程序94和接收方程序93之間的通信路徑。發(fā)送方程序94和接收方程序93通過網(wǎng)絡(luò)連接與消息排隊(duì)軟件120中的消息隊(duì)列管理器130通信。消息排隊(duì)軟件120和消息隊(duì)列140可以存儲在存儲器100中。計(jì)算機(jī)95是說明性的中央計(jì)算機(jī),諸如圖2中所示的消息隊(duì)列管理器130。存儲器100也包含消息排隊(duì)軟件120和消息隊(duì)列140。
消息排隊(duì)軟件120是對將消息分發(fā)給各種程序進(jìn)行管理的軟件程序,并且可以包括圖2中所示的消息隊(duì)列管理器130。消息隊(duì)列140存儲要分發(fā)給接收方程序93的多個消息150。驗(yàn)證準(zhǔn)則160是MVP200用來驗(yàn)證消息150的標(biāo)準(zhǔn)。驗(yàn)證準(zhǔn)則160規(guī)定消息報(bào)頭152的屬性、類型、和范圍(參見圖5)。驗(yàn)證準(zhǔn)則160也規(guī)定消息體154的類型、字符集、和格式(參見圖5)。作為本發(fā)明的部分,存儲器100可以配置有MVP 200、消息排隊(duì)軟件120、消息隊(duì)列140、和/或驗(yàn)證準(zhǔn)則160。網(wǎng)絡(luò)連接和存儲器100是計(jì)算機(jī)95的一部分,其可以是服務(wù)器計(jì)算機(jī)。網(wǎng)絡(luò)連接使得計(jì)算機(jī)95能夠與運(yùn)行于其它計(jì)算機(jī)上的程序(諸如發(fā)送方程序94和接收方程序93)通信。
在替換實(shí)施例中,MVP 200、消息排隊(duì)軟件120、消息隊(duì)列140、和/或驗(yàn)證準(zhǔn)則160可以存儲在其它計(jì)算機(jī)的存儲器中。將MVP 200、消息排隊(duì)軟件120、消息隊(duì)列140、和/或驗(yàn)證準(zhǔn)則160存儲在其它計(jì)算機(jī)的存儲器中使得處理器工作負(fù)荷分散給多個處理器,而不是單個處理器。本領(lǐng)域的普通技術(shù)人員熟知,可以進(jìn)一步將MVP 200、消息排隊(duì)軟件120、消息隊(duì)列140、和/或驗(yàn)證準(zhǔn)則160跨過不同的存儲器(諸如客戶機(jī)存儲器和服務(wù)器存儲器)配置。
本領(lǐng)域的普通技術(shù)人員會理解的是,MVP 200和驗(yàn)證準(zhǔn)則160位于與發(fā)送方程序94相同的存儲器中。將MVP 200和驗(yàn)證準(zhǔn)則160與發(fā)送方程序94放置于相同的存儲器中,就使得每一發(fā)送方程序94能夠在消息從發(fā)送方程序94發(fā)送到消息排隊(duì)軟件120中的消息隊(duì)列管理器130之前驗(yàn)證該消息。于是,將MVP 200和驗(yàn)證準(zhǔn)則160放置在與發(fā)送方程序94相同的存儲器中就完全消除了無效消息通過信息信道的傳輸。然而本領(lǐng)域的普通技術(shù)人員也會理解的是,可以將MVP200和驗(yàn)證準(zhǔn)則160存儲在與消息排隊(duì)軟件160和消息隊(duì)列140相同的計(jì)算機(jī)中。將MVP 200儲在與消息排隊(duì)軟件120相同的計(jì)算機(jī)中是有利的,因?yàn)樵撚?jì)算機(jī)網(wǎng)絡(luò)只包含一份MVP 200和驗(yàn)證準(zhǔn)則160。于是,本領(lǐng)域的普通技術(shù)人員會理解的是,只需要更新一個版本的MVP200和驗(yàn)證準(zhǔn)則160。
圖5所示為消息150的組成。消息150包括消息報(bào)頭152和消息體154。消息報(bào)頭152包含與消息相關(guān)的屬性。每一消息屬性具有預(yù)期結(jié)構(gòu)。該結(jié)構(gòu)由數(shù)據(jù)類型和格式(以及可能有范圍)組成,但是在該消息本身之外聲明該結(jié)構(gòu)。消息報(bào)頭中的范例信息可以包括消息ID、路由信息、發(fā)送方和接收方地址等。消息體154包含包括該消息的數(shù)據(jù)。該數(shù)據(jù)具有相關(guān)的結(jié)構(gòu)(由數(shù)據(jù)類型、格式和范圍組成),但是在該消息本身外部聲明該結(jié)構(gòu)。數(shù)據(jù)類型指包括值的字節(jié)解釋。數(shù)據(jù)類型的范例包括整數(shù)、字符串、字節(jié)數(shù)組等。消息體作為整體具有一種類型(例如對象消息和XML文檔)。但是,通常消息體一般都是單個的較大復(fù)合數(shù)據(jù),其包括幾個小塊數(shù)據(jù),它們分別具有其自己的類型、格式和范圍。格式指特定數(shù)據(jù)類型中數(shù)據(jù)的精細(xì)結(jié)構(gòu)。例如,社會保險號具有的格式為NNN-NN-NNNN,其中N表示從0至9的單個數(shù)字。同樣的,美國的日期格式的形式為MM/DD/YYYY,其中MM是1到12之間的整數(shù),DD是1到31之間的整數(shù),而YYYY是Gregorian年。范圍限定了該數(shù)據(jù)值必須落入其之間的最小和最大幅度。例如,一天中的小時是1到12之間的整數(shù)。使用特定的字符集表示字符串?dāng)?shù)據(jù)。數(shù)據(jù)字符集的范例是ASCII和Unicode。本領(lǐng)域的普通技術(shù)人員都知道其它字符集。如果文檔的類型作為整體是XML文檔,那么該格式會符合特定的XML文檔類型定義(DTD)或方案。
圖6所述為消息驗(yàn)證程序(MVP)200的邏輯。MVP 200是在將消息發(fā)送到接收方程序之前驗(yàn)證該消息的軟件程序。該消息可以類似于圖3和4中所示的消息150。只要發(fā)出了消息,MVP 200就啟動(202)。MVP 200獲取由發(fā)送方程序發(fā)送的消息(204)。發(fā)送方程序可以類似于圖4中所示的發(fā)送方程序94。MVP 200然后分析該消息報(bào)頭(206)。在分析消息報(bào)頭時,MVP 200將該消息報(bào)頭與驗(yàn)證準(zhǔn)則進(jìn)行比較,以確定該消息報(bào)頭中的數(shù)據(jù)是否匹配驗(yàn)證準(zhǔn)則。驗(yàn)證準(zhǔn)則是接收方程序會接受的消息報(bào)頭和消息體中數(shù)據(jù)的屬性、范圍、類型、字符集、和格式。該消息報(bào)頭可以類似于圖5中所示的消息報(bào)頭152。該驗(yàn)證準(zhǔn)則可以類似于圖4中所示的驗(yàn)證準(zhǔn)則160。該接收方程序可以類似于圖4中所示的接收方程序93。MVP 200然后確定該消息報(bào)頭是否有效(208)。如果MVP 200確定該消息報(bào)頭是無效的,那么MVP 200進(jìn)行到步驟216。如果MVP 200確定該消息報(bào)頭是有效的,那么MVP 200進(jìn)行到步驟210。
MVP 200在步驟210分析該消息體(210)。在分析消息體時,MVP 200將消息體與驗(yàn)證準(zhǔn)則進(jìn)行比較,以確定消息體中的數(shù)據(jù)是否匹配驗(yàn)證準(zhǔn)則。該消息體可以類似于圖5中所示的消息體154。MVP200然后確定該消息體是否有效(208)。如果MVP 200確定該消息體是無效的,那么MVP 200向發(fā)送方程序指示錯誤(216)并結(jié)束(218)。如果MVP 200確定該消息體是有效的,那么MVP 200向適當(dāng)?shù)南㈥?duì)列轉(zhuǎn)發(fā)該消息(214)并結(jié)束(218)。
關(guān)于上述說明,應(yīng)該認(rèn)識到,本領(lǐng)域的普通技術(shù)人員很容易的清楚并且明顯知道本發(fā)明部件的最優(yōu)尺寸關(guān)系,包括大小變化、材料、形狀、形式、功能、工作方式、安裝、和使用。本發(fā)明包括在附圖中所描述和在說明中所說明的所有這些等同關(guān)系。實(shí)施本發(fā)明的新穎精神還可以通過對包含在該說明書中的某些步驟進(jìn)行重新排序或刪除。本發(fā)明的精神并不受到任何限制,除了通過下面的權(quán)利要求書的正確結(jié)構(gòu)來限制。
權(quán)利要求
1.一種用于在消息排隊(duì)環(huán)境中驗(yàn)證消息的方法,其中在將消息發(fā)送到接收方程序之前對消息進(jìn)行驗(yàn)證。
2.權(quán)利要求1的方法,包括在計(jì)算機(jī)上安裝消息驗(yàn)證程序;其中消息驗(yàn)證程序執(zhí)行的步驟包括獲取消息;分析消息;確定消息是否有效;和響應(yīng)于確定消息有效,將消息轉(zhuǎn)發(fā)到消息隊(duì)列,以分發(fā)到接收方程序。
3.權(quán)利要求2的方法,其中步驟進(jìn)一步包括響應(yīng)于確定消息無效,向發(fā)送方程序指示錯誤,而無需將消息轉(zhuǎn)發(fā)到消息隊(duì)列以分發(fā)給接收方程序。
4.權(quán)利要求3的方法,其中分析消息的步驟包括比較消息與驗(yàn)證準(zhǔn)則;其中驗(yàn)證準(zhǔn)則規(guī)定了接收方程序會接受的數(shù)據(jù);并且其中僅當(dāng)消息中的數(shù)據(jù)與驗(yàn)證準(zhǔn)則匹配時,消息才有效。
5.權(quán)利要求4的方法,其中消息包括消息報(bào)頭和消息體,并且其中分析消息的步驟進(jìn)一步包括比較消息報(bào)頭與驗(yàn)證準(zhǔn)則;比較消息體與驗(yàn)證準(zhǔn)則;并且其中僅當(dāng)消息報(bào)頭和消息體中的數(shù)據(jù)與驗(yàn)證準(zhǔn)則匹配時,消息才有效。
6.權(quán)利要求5的方法,其中比較消息報(bào)頭與驗(yàn)證準(zhǔn)則的步驟包括比較消息屬性與驗(yàn)證準(zhǔn)則屬性;并且其中僅當(dāng)消息屬性與驗(yàn)證準(zhǔn)則屬性匹配時,消息才有效。
7.權(quán)利要求6的方法,其中比較消息報(bào)頭與驗(yàn)證準(zhǔn)則的步驟包括比較消息值與驗(yàn)證準(zhǔn)則值;并且其中僅當(dāng)消息值與驗(yàn)證準(zhǔn)則值匹配時,消息才有效。
8.權(quán)利要求7的方法,其中比較消息體與驗(yàn)證準(zhǔn)則的步驟包括比較消息類型與驗(yàn)證準(zhǔn)則類型;并且其中僅當(dāng)消息類型與驗(yàn)證準(zhǔn)則類型匹配時,消息才有效。
9.權(quán)利要求8的方法,其中比較消息體與驗(yàn)證準(zhǔn)則的步驟包括比較消息字符集與驗(yàn)證準(zhǔn)則字符集;并且其中僅當(dāng)消息字符集與驗(yàn)證準(zhǔn)則字符集匹配時,消息才有效。
10.權(quán)利要求9的方法,其中比較消息體與驗(yàn)證準(zhǔn)則的步驟包括比較消息格式與驗(yàn)證準(zhǔn)則格式;并且其中僅當(dāng)消息格式與驗(yàn)證準(zhǔn)則格式匹配時,消息才有效。
11.權(quán)利要求10的方法,其中消息由發(fā)送方程序進(jìn)行驗(yàn)證。
12.權(quán)利要求10的方法,其中消息由消息隊(duì)列管理器進(jìn)行驗(yàn)證。
13.一種用于在消息排隊(duì)環(huán)境中驗(yàn)證消息的程序產(chǎn)品,其中在將消息發(fā)送到接收方程序之前對消息進(jìn)行驗(yàn)證。
14.權(quán)利要求13的程序產(chǎn)品,包括存儲器;其中存儲器包括用于由計(jì)算機(jī)執(zhí)行下列步驟的指令獲取消息;分析消息;確定消息是否有效;和響應(yīng)于確定消息有效,將消息轉(zhuǎn)發(fā)到消息隊(duì)列,以分發(fā)到接收方程序。
15.權(quán)利要求14的程序產(chǎn)品,其中步驟進(jìn)一步包括響應(yīng)于確定消息無效,向發(fā)送方程序指示錯誤,而無需將消息轉(zhuǎn)發(fā)到消息隊(duì)列以分發(fā)給接收方程序。
16.權(quán)利要求14的程序產(chǎn)品,其中分析消息的步驟包括比較消息與驗(yàn)證準(zhǔn)則;其中驗(yàn)證準(zhǔn)則規(guī)定了接收方程序會接受的數(shù)據(jù);并且其中僅當(dāng)消息中的數(shù)據(jù)與驗(yàn)證準(zhǔn)則匹配時,消息才有效。
17.權(quán)利要求16的程序產(chǎn)品,其中消息包括消息報(bào)頭和消息體,并且其中分析消息的步驟進(jìn)一步包括比較消息報(bào)頭與驗(yàn)證準(zhǔn)則;比較消息體與驗(yàn)證準(zhǔn)則;并且其中僅當(dāng)消息報(bào)頭和消息體中的數(shù)據(jù)與驗(yàn)證準(zhǔn)則匹配時,消息才有效。
18.權(quán)利要求17的程序產(chǎn)品,其中比較消息報(bào)頭與驗(yàn)證準(zhǔn)則的步驟包括比較消息屬性與驗(yàn)證準(zhǔn)則屬性;并且其中僅當(dāng)消息屬性與驗(yàn)證準(zhǔn)則屬性匹配時,消息才有效。
19.權(quán)利要求17的程序產(chǎn)品,其中比較消息報(bào)頭與驗(yàn)證準(zhǔn)則的步驟包括比較消息值與驗(yàn)證準(zhǔn)則值;并且其中僅當(dāng)消息值與驗(yàn)證準(zhǔn)則值匹配時,消息才有效。
20.權(quán)利要求17的程序產(chǎn)品,其中比較消息體與驗(yàn)證準(zhǔn)則的步驟包括比較消息類型與驗(yàn)證準(zhǔn)則類型;并且其中僅當(dāng)消息類型與驗(yàn)證準(zhǔn)則類型匹配時,消息才有效。
21.權(quán)利要求17的程序產(chǎn)品,其中比較消息體與驗(yàn)證準(zhǔn)則的步驟包括比較消息字符集與驗(yàn)證準(zhǔn)則字符集;并且其中僅當(dāng)消息字符集與驗(yàn)證準(zhǔn)則字符集匹配時,消息才有效。
22.權(quán)利要求17的程序產(chǎn)品,其中比較消息體與驗(yàn)證準(zhǔn)則的步驟包括比較消息格式與驗(yàn)證準(zhǔn)則格式;并且其中僅當(dāng)消息格式與驗(yàn)證準(zhǔn)則格式匹配時,消息才有效。
23.權(quán)利要求14的程序產(chǎn)品,其中消息由發(fā)送方程序進(jìn)行驗(yàn)證。
24.權(quán)利要求14的程序產(chǎn)品,其中消息由消息隊(duì)列管理器進(jìn)行驗(yàn)證。
25.一種用于在消息排隊(duì)環(huán)境中驗(yàn)證消息的設(shè)備,其中在將消息發(fā)送到接收方程序之前對消息進(jìn)行驗(yàn)證,該設(shè)備包括獲取消息;比較消息報(bào)頭與驗(yàn)證準(zhǔn)則;比較消息體與驗(yàn)證準(zhǔn)則;并且其中驗(yàn)證準(zhǔn)則規(guī)定了接收方程序會接受的數(shù)據(jù);比較消息屬性與驗(yàn)證準(zhǔn)則屬性;其中僅當(dāng)消息屬性與驗(yàn)證準(zhǔn)則屬性匹配時,消息才有效;比較消息值與驗(yàn)證準(zhǔn)則值;其中僅當(dāng)消息值與驗(yàn)證準(zhǔn)則值匹配時,消息才有效;比較消息類型與驗(yàn)證準(zhǔn)則類型;其中僅當(dāng)消息類型與驗(yàn)證準(zhǔn)則類型匹配時,消息才有效;比較消息字符集與驗(yàn)證準(zhǔn)則字符集;其中僅當(dāng)消息字符集與驗(yàn)證準(zhǔn)則字符集匹配時,消息才有效;比較消息格式與驗(yàn)證準(zhǔn)則格式;其中僅當(dāng)消息格式與驗(yàn)證準(zhǔn)則格式匹配時,消息才有效;確定消息是否有效;響應(yīng)于確定消息有效,將消息轉(zhuǎn)發(fā)到消息隊(duì)列,以分發(fā)到接收方程序;和響應(yīng)于確定消息無效,向發(fā)送方程序指示錯誤,而無需將消息轉(zhuǎn)發(fā)到消息隊(duì)列以分發(fā)給接收方程序。
26.權(quán)利要求10的方法,其中消息由發(fā)送方程序進(jìn)行驗(yàn)證。
27.權(quán)利要求10的方法,其中消息由消息隊(duì)列管理器進(jìn)行驗(yàn)證。
全文摘要
一種用于在消息排隊(duì)軟件環(huán)境中,在將消息傳送到接收方程序之前驗(yàn)證該消息的方法,包括消息驗(yàn)證程序(MVP)。本發(fā)明通過消除無效消息通過消息信道的傳輸,從而使得消息排隊(duì)軟件更加有效。當(dāng)消息由發(fā)送方程序始發(fā)時,MVP獲取該消息,并且通過將消息報(bào)頭和消息體與驗(yàn)證準(zhǔn)則進(jìn)行比較,分析該消息。驗(yàn)證準(zhǔn)則為接收方程序會接受的消息報(bào)頭和消息體中數(shù)據(jù)的屬性、范圍、類型、字符集和格式。如果消息體和消息報(bào)頭滿足驗(yàn)證準(zhǔn)則,那么就將該消息轉(zhuǎn)發(fā)到適當(dāng)?shù)南㈥?duì)列。如果消息體和/或消息報(bào)頭不滿足驗(yàn)證準(zhǔn)則,那么就向該發(fā)送方程序指示錯誤。
文檔編號H04L12/58GK1684447SQ20051000458
公開日2005年10月19日 申請日期2005年1月18日 優(yōu)先權(quán)日2004年4月14日
發(fā)明者基里·G·布郎, 羅伯特·沃爾夫 申請人:國際商業(yè)機(jī)器公司