TW401554B - Message broker apparatus, method and computer program product - Google Patents

Message broker apparatus, method and computer program product Download PDF

Info

Publication number
TW401554B
TW401554B TW087110384A TW87110384A TW401554B TW 401554 B TW401554 B TW 401554B TW 087110384 A TW087110384 A TW 087110384A TW 87110384 A TW87110384 A TW 87110384A TW 401554 B TW401554 B TW 401554B
Authority
TW
Taiwan
Prior art keywords
message
node
scope
patent application
tuple
Prior art date
Application number
TW087110384A
Other languages
English (en)
Inventor
Stephen James Paul Todd
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW401554B publication Critical patent/TW401554B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

401554 五、發明説明( 發明領域 本發明係相關於主/從架構(也是熟知的,,分散式架構")計 算的領域,其中例如一計算裝置(”用户端")要求另—計算 裝置(”伺服器”)來執行部份的用户端工作υ。 發明背景 y 主/從架構計算已經在過去幾年的資訊應用技術世界中 變得越來越重要。這種形態的分散計算可以讓在一機器上 執行的處理("用户端,,)交付某些工作給在另一機器上執行 的另一處理("伺服器,,),其可能,例如更適合來執行該工 作。此用户哆及伺服器也可以是在同一實體機器上執行的 兩個1理。 經M部中央標準局ts;工消费合作社印絮 I---- - *- — I— 良-I---—丁 、τ .#1,.. I (請先閲讀背面之注意事項再填寫本頁) 訊息仔列資料處理技術在今天的主/從架構電腦網路中 越來越普及。這項技術可以讓用户端電腦系統與伺服器電 腦系統通訊’即使這兩個系統非常的不同,從作業系統, 資料格式及通訊協定方面而言。還有,因爲這項技術的非 同步本質,用户端可以送訊息給伺服器,而伺服器可將訊 息儲存在一佇列中並在稍後-處理及回應此訊息。這與同步 的主/從模式有相當大的不同,其需要用户端與伺服器即時' 的連結交談(例如用户端要等到伺服器回應,用户端才能執 行另一項工作)。 訊息佇列以及商業量產的訊息佇列產品的説明係在 "Messaging and Queuing Using the MQI", B.Blakeley, H.Harris & R.Lewis, McGraw-Hill » 1994,以及在 IBM 公 司提供的下列刊物:"An Introduction to Messaging and -4 - 表紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 401554 A7 B7 經满部中央標準局負工消費合作社印繁 五、發明説明(2 )
Queuing" (IBM 文件编號 GC33-0805-00)以及"MQSeries -Message Queue Interface Technical Reference”(IBM 文件編 號 SC33-0850-01)。IBM 及 MQSeries 爲 IBM 公司的商標。 IBM的MQSeries訊息軟體產品提供交易訊息支援,根據訊 息協定在一邏輯單元的工作中做訊息同步化,其確保一次 且只有一次的訊息傳遞,即使萬一系統或通訊發生故障。 MQSeries產品藉由在其確認訊息已經被接收系統安全的 儲存之前不會將訊息從傳送系統的儲存體上做最終的刪除 而提供可靠的傳遞。在以確認成功的错存而交付訊息的轉 換之前,訊息在傳送系統儲存體上的刪除以及在接收系統 儲存體上的加入均保持在”存疑”的狀態,並可以在故障的 情狀下自動的回復。此訊息傳輸通訊協定以及相關的交易 觀念以及回復措施係在國際專利申請案WO 95/10805以及 美國專利5465328中説明,其在此一併做爲參考。 將此訊息以及佇列系統與關連資料庫系統,例如IBM的 DB2產品或是微軟的Access產品(DB2式IBM公司的商標 ,而Access是微軟公司的商標)結合的做法變得越來越普 遍’因爲關連資料庫普遍被用來做爲错存0及取出大量關 連資料的結構化機制。 例如,Sun Microsystem公司已説明(參閲歐洲第8〇673 j 號申請專利案,1996年11月17曰出版)一用來實現出版/ 訂閱功能的訊息及佇列系統。將伺服器當作是出版商並出 版訊息並爲每個訊息指定一個主題。將用户端當作訂户並 指定他們所要接收訊息的主題。一訊息及件列中間器位在 -5- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公整) ---.--.----^------’玎------^ I J (請先閲讀背面之注意事項再填寫本頁) ^01554 A7 B7 經滴部中央標準局負工消费合作社印聚 五、發明説明(3 用户端與伺服器之間並用來分發已出版的訊息給適當的用 户端。此系統可以讓資料庫做爲出版的伺服器,這樣大量 的結構化資料可以出版到網路上。此資料庫也可以做爲訂 曝的用户端’儲存接收到的出版訊息以便輕易而結構化的 取出大量的訊息。此系統並未進一步的説明此訊息及佇列 系統與此關連資料庫系統間的整合。
Oracle 公司進一步的整合其 〇racle8 Advanced Queuing (AQ)系統("〇racle8"及"Advanced Queuing,•爲 Oracle 公司的 商標)’藉由讓用户端應用程式(訂户)對此訊息及佇列中間 器提出一結構化的查詢’爲了要指定訂户想要接收的出版 訊息。訂户使用標準資料庫語言的能力,例如以SQL(結構 化查詢語言)來指定關心的主題,可以讓高層次的特徵來確 實表達CT户要接收的是什麼形態的出版訊息。例如,訂户 可以用標準的SQL查詢陳述來指定訂户要接收所有出版的 IBM股票報價’但是只要股價在每股超過丨〇〇美元的部份 。除了用SQL陳述外,用户也可以利用不同的視覺的關連 資料庫程式技術,例如由Microsoft Access產品所提供的 技術,以便讓程式設計師更容易的明確指定訂户想看的那 種出版訊息。
Open Horizon公司更將此整合更進一步,利用其 Ambrosia 2.1 產品(Ambrosia 爲 Open Horizon 公司的商標) ,藉由讓訊息中間器在傳遞此訊息到要求的訂户前新增主 題材料到出版訊息的内容中。此訊息及佇列中間器將出版 訊息接收到一輸入仵列中。與Oracle產品類似的,標準的 -6- 表紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 裝
*1T 401554 A7 B7 經"部中央標準局只工消費合作社印繁 五、發明説明(4 SQL技術用來指定訂户想看的那種出版訊息,然而, Ambrosia產品進一步的將出版訊息中的資訊與儲存與在資 料庫中的記錄核對。特定,一旦接收到一出版資訊,資料 、庫記錄中的某些資料會被新増到出版訊息的内容中,以便 產生據更詳細内容的出版訊息,相較於原本由訊息及佇列 中間器所接收的出版訊息。例如,如果現在列出每股125 美元的指定IBM股票的出版訊息在中間器的輸入佇列中接 收,中間器被程式來從關連資料庫中取出資訊,這樣的資 訊包含客户的識別(例如C23)以及此客户目前擁有的ibm 股票數量(例如225股)。這從資料取出的資訊接著與出版 資訊結合產生更詳盡的訊息,該客户C23擁有225股的ibm 股票,其目前正以每股125美元在買#,此訊息接著傳遞 給先前註册爲訂户的客户C23。 當Ambrosia產品提供相對於上述其他產品更可觀的價 値的同時,其必須經歷的缺點是專用的軟體程式碼須特別 的撰寫來明確指定如何將出版訊息與資料庫記錄核對。 Active Software 公司的 ActiveWeb(Active 公司 的商標)訊息中ϋ產品類似於〇pen H〇riz〇n公司的 Ambrosia產品’資料庫的内容可以新增到出版訊息來增加 出版訊息的價値。ActiveWeb利用特定片段的軟體程式碼 ,稱爲資料庫轉接器,來執行核對(例如合併)的動作。需 要此轉接器以便從出版訊息中取得資料,將資料轉換成資 料庫所期望的確實形式之資料庫查詢,從資料庫取出資料 並對此出版訊息及資料庫資料實行指定的核對動作。 本紙張尺度適用中國國家標準() Μ規格(2丨〇><297公釐) ---,—----,¾— (請先聞讀背面之ii意事項再填寫本頁) •1TI : I—I-— - I ^ 1 一 , 401554 A7 —---------______ 五、發明説明(5 ) 因此,Activeweb也有Ambrosia必須提供專用的軟體片 段來執行核對動作的缺點,例如對出版訊息輿資料庫記錄 做合併。要對這樣的軟體做修改,使用者需要熟習此程式 結構以及該專用片段的軟體語言。因此,當程式設計發現 對剩餘訊息中間器的修改很容易,必須要切換到新的程式 環境以便對該執行核對動作的專用片段做修改。 發明概诚 根據其中一觀點,未發明提供—訊息中間器資料處理裝 置’其用來從傳送應用程式接收訊息,處理此接收訊息並 決疋要將此處理過的訊息送往那個接收應用程式v其有著 :一後承來自傳送應用程式處進來的訊息流之裝置,其將 每一 ^息配置成具至少一個欄位的重元組;一將進來訊息 流與儲存在資料庫中的資料庫資料記錄核對的裝置,此資 料庫資料也被配置成具至少一欄位的重元組;以及一處理 此訊息流的裝置,如此,產生的訊息流被導引到至少一個 接收應用程式》 經漪部中央標準局另工消费合作社印$! n n I " In - Γ— -I— ·. - - I II-i - ------- - T w-- (請先閲讀背面之注意事吹再填寫本頁) 最好,此接收的裝置,核對的裝置以及處理的裝置利用 複數個連接形成處理節點網路的處理節點,每個節點的處 理功能係以標準關連語言的關連運算式所定義,而訊息流 重元組在複數個節點間傳遞。還有’網路中相鄱的兩個節 點’節點1及節點2,定義節點1的關連運算式的輸出被 解譯爲定義節點2的關連運算式輸入的訊息流重元組。 最好,此接收裝置能與一佇列管理員通訊。 在一較佳具體實例中,傳送應用程式爲一出版者而接收 I - 8 - 本纸張尺度適用中國國家榡準(CNS ) a!規格(210X297公釐)_ ------ 401554 A7 --*-------- -_____ 五、發明説明(6 ) 應用程式爲一訂户。 最好’此標準關連語言是結構化查詢語言而視覺化資料 庫工具係用來產生此關連運算式,其定義一節點的功能。 在一具體實例中,存在於兩個節點間的訊息流重元組的 每個訊息重元組有著相同的欄位集合。在另一個具體實例 中,存在於兩個節點間的訊息流重元組中,訊息流中的每 個訊息重元組不須有相同的欄位集合。最好,在稍後的具 眩實例中,用在定義節點功能但並未定義在節點輸入資料 流的特定訊息重元組中的關連運算式的欄位被指定爲空値。 在具體.實例中’此裝置包含▲單一的資料處理單元上 ,而在另一具體實例中,此裝置包含在複數個互相連接的 資料處理單元上β 根據第二個觀點,本發明提供一方法來實現上述第一個 觀點中所討論的功能。 根據第三個觀點,本發明提供一電腦程式產品來,當執 行在一電腦上,實現上述第一個觀點中所討論的功能。 經濟部中央標準局兵工消费合作社印54 m I H4 n n - - ------ - - - II— ---. ——.- \—ψ -β J-.·-- ... 知 (請先閃讀背面之&意事項再填寫本育) 根據第四個觀點,本發明提供一方法來提供資訊服務给 客户,利用第一觀點的訊息中間器資料處理裝置,此方法 具有之步驟:(a)從客户處接收有關客户想接收之訊息的準 則’(b)從出版者處接收出版訊息;(c)將出版訊息與從客户 處接收的準則比較;以及(d)將與從客户處所接收準則符合 的出版訊息傳遞給客户。 因爲本發明提供進來資料到中間器做爲訊息流重元組, 要核對進來資料與資料庫資料變得很容易,當後者也是组 ___ -9- 本紙張尺度1¾用巾 ( c叫峨格(21QX 297公们 4QU54 A7 B7 五、發明説明(7 ) 經濟部中央標準局貝工消费合作社印麥 織成重元組時。因此,核對資料流中訊息與來自資料庫的 資料之資料處理元件,可嚴密的整合到整體訊息中間器系 統中。 藉由將此資料處理元件與整體訊息中間器系統嚴密的整 合,相同的關連方法,例如用釆程式中間器其他部份的視 覺工具,界面及模型,也可用來程式待定於資科流如何與 來自資科庫的資料核對(例如結合或合併)。這可以相當^ 易的程式此整體中間器系統,因爲相同的工具可以一體適用。 眩、 這有關於完整的訊息中間器之使用關連技術的能力(特 別是視覺工具)使得將中間器中任何程式效率較差的部份 要最佳化也變得容易。 還有,通過中間器的訊息流動變得更加有效率(相較於先 則技藝的Ambrosia及Active web),因爲此核對進來資料與 错存的資料庫資料之單元嚴密的整合到整體中間器系統y 最後,本發明所牵涉的嚴密整合可以更容易的將發生在 核對單元中的處理當成整體交易的一部份,這也把發生在 訊息中間器其他部份的處理考慮進去。也就是,更爲容易 來追蹤系統方面的處理觀點,例如交易,如果可以類似看j 待中間器的所有元件。 | 圖,示簡述 本發明的較佳具體實例將參考下列圖示加以説明: 圖1顯示根據本發明之較佳具體實例的關連訊息中間器 的基本設定之方塊圖; ° 卜請先閲讀背面i意事ff. ------- ...?--------- • If I - I · --一 -10- 本A張尺度朗中國_標準(CNs ) A4規格(2iQx297公着) —-1 I · \1 五、發明説明( 員12僅單純的將出版訊息由出版應用程式傳 用程式。 m 佇列管理員12將它接收到的出版訊息 =器_在居中的資料處理單元或是複數個互相連^ 科處理早疋上執行),其處理此訊息(將在下面説 运回仵列管理員12來放置在訂户可從之取出的適^ 輸出作列中。爲簡化起見,在圖i中僅顯示一個這樣的寸 二及出版者),但是通常的情況會包含複數個訂户及出 應注意到關連訊息中間器13纟可以用在同步 式,跳過仵列管理員12,如冑i的虛線所示。 ,器Π可以用在完全的同步環境下而無須提供仔列管理 貝二2。例如*,廷會包含一出版者與訂户都在運作的系統, 不需要佇列管理員12的功能。 ' " 中間器13在執行處理時經常會存取資料庫μ 資訊與儲存在資料庫中的資訊合併以產二 2義的I、,接著送給#户。例如,—出版包 聰的股價已經升到每股15〇美元,而 ^疋 經济部中央標準局员工消費合作社印裝 資料庫記錄可能指出具有辨識碼C3的客户的 IBM股票。此由中㈣13執行的合併動 版的 在-起產生比出版訊息還長的訊息,1 有^訊放 77股的IBM股票,現在價値每股15〇美二。尸3擁有 如眾所周知的,儲存在資料庫中的資料係被 重元組的列。例如,表格1顯示有三個重元组:%爲 本紙張尺度顧巾國^^丨〇χ2二) 401554 、發明説明( 表座_1 (儲存在資料递中的資料取樣) ^JL IBM IBM Ford 第一個重元組代表客户C3擁有77股的IBM股票。第_ 客户 數量 C3 77 C2 44 C3 120 重 元代表客户C2擁有44股的IBM股票 户C3還有120股的Ford股票。 根據本發明的較佳具體實例,由出版者11送出的出版訊 息也組成重元組。因此出版訊息流是暫時的序列重元兔。 例如表格2顯示連續的兩個訊息,每個均組織成重元麵 至土: 2(訊息流中的樣品言元组) 第 重元组代表客 ----------! yf'、靖先聞讀背面之:.yt事免再镇寫本I」 、=° 公司 IBM Ford 價格 160 44 經濟部中央標率局员工消費合作社印絮 第一重元組表示IBM股票現在每股160美元。第 代表Ford股票現在每股44美元。 訊息流中每一訊息重元組有相同的欄位集合(例如公司 及價格欄位)。另外的,訊息流中某些訊息重元組有不同的 欄位集合,而未在特定訊息重元組定義的欄位被指定爲 NULL値。還有,當顯示在表格2中的重元組有簡單的資料 (例如數目或字元串),此欄位還可以包含某些進一步的結 構,例如陣列或是巢狀的重元組。 重 13- 本紙張尺度適用中國國家榡準(CNS ) A4規格(210X297公瘦) 401554 Α7 Β7 經濟部中央標卑局员工消費合作社印說 五、發明説明(11 因爲出版訊息以及資料庫資料配置成重元組,出版訊息 與資料庫資料所要的核對可以用標準的關連運算式來指定 ,並可以由下面的討論而相當明顯的,如以下圖2中所顯 不的關連訊息中間器! 3的更詳盡方塊圖以及接下來的複 數個範例。 圖2中,出版者應用程式ρι(η)送一配置成重元組的出 版訊息流到件列管理員12,其將此訊息流傳遞給關連訊息 中間器13來處理及指定訊息給特定的訂户,在該訊息流送 回到佇列管理員12以便傳送到三個訂户應用程式s丨(〗5a) ,S2(15b)以及S3(15c)。關連訊息中間器13配置成一組互 相連接形成網路的處理節點21,22以及23。這些處理節 點可以全部爲在同一資料處理機器或是分散在複數個互相 連接的資料處理機器。每個節點的處理功能係由標準的關 連語言(例如SQL查詢)的關連運算式所定義,將在下面做 更完整的解釋。 , 一旦進入中間器13,出版訊息流首先遵循篩濾器節點2 i 的處理,其篩掉(丟棄)某些出版訊息,只讓特定的訊息通 過篩濾器。例如來自P1的股票報價之出版訊息流通常包含 非系多數目公司的股票報價。或許訂户S 1,S2及S3僅對 IBM及Ford的股票有興趣。因此,篩濾器節點21只讓有 關於IBM及Ford股價的訊息通過此篩濾器。篩濾器節點21 的功能在關連資料庫技藝中已是相當的眾所周知的,因爲 這是相當普遍的關連資料庫運算(通常參考爲"選擇")。篩 據器節點21的處理功能係由一利用,例如sql選擇陳述式 -14· 本紙張尺度適用中國國家榡準(CNS ) A4規格(2丨0Χ297公釐) 装丨· ' (请先閱讀背面之注意事吹再填寫本頁) 訂
401554 五、發明説明(12 的關連運算式所定義,以明確表達那些訊息可以通過此筛 濾器。 I慮器即點2 1的輸出連接到合併運算元22的輸入,其 將篩遽過的訊4$ (只包含IBM及F〇rd股票報價)當作第一 輪入。合併節點22.由資料庫14接收第二輸人。當合併節 點22從㈣器節點21的輸出接收出版訊息時,適當的資 料庫重元組被存取並從資料冑14讀取出來與出版訊息合 併。併即點22的功能在關連資料庫技藝中是相當眾所周 知的’而且這是相當普遍的關連資料庫運算。合併節點22 的處理功能係、由利用例如SQL麵以J〇IN陳述^^關連 運算式所足義’以明確表達訊息流如何與資料庫資料結合。 2如,利用表格1的資料庫資料,當陳述IBM的股價現 ,疋美股160美兀的第—出版訊息重元組(顯示在表格2的 第—仃)被中間器1 3所接收時,其通過篩濾器節點2丨,因 爲疋義這個節點的關連運算式讓包含IBM或F〇rd股價的 ▲ a重元組通過。s這個訊息重元組抵達合併節點2 2,此 η併即點執行對此訊息重元組與顯示在表格丨的第—行中 的重元組的核對,以提供顯示在表格3第一行中的較長重 疋組(其代表客户C3有77股目前每股價値160美元的ΙΒΜ 股票)。
In I, I ml - - I— · I: - - - I - --- i n Τ» *-'° /5v、 (請先閲讀^&之注意Ϋ唷再填寫本頁) 經济部中央標準局只工消费合作社印^ 表格 3 (在合併節點輸出 上的訊息流中書元組取 公司 價格 客户 數量 IBM 160 C3 77 IBM 160 C2 44 Ford 44 C3 120 -15- 本纸張尺度適用中國(哪-^~4規格(2ΐ〇χ1^^· 4015^4 五、發明説明(13) 此合併運算元22的輸出接著送到仔 在U的仔列中。只要訂户S3準備 乂便包含
便接著自件列取出訊息。根據圖2的=:構= 將會接收所有關擁有_及_股票的客户的訊。;^ 3 一稽核員,他希望獲得關於所有客户的股票所W 二?二息t组(顯示在表格2第-行中)也在合併節 -上人顯不在表格i第二行的資料庫重元組合併,產生 顯不在表格3第二行中的較長重元組(其代表客户〇有44 股目則每股⑽美元的職股票)。合併節點^的輸出接 著送到佇列管理員12來包含在S3的佇列中。只要訂户μ 準備好^取出資訊’訂户S3(15c)便接著自件列取出訊息。 經濟部中央標羋局K工消贽合作社印繁 ---------襄------丁 、τ /i -f請先閑讀背面之洼意事贫再填寫本頁) 合併節點22的輸出還送到佇列管埋員^來包含在“的 仔列中。特別的,合併節點22的輸出被送到篩遽器節點η ,其被程式來只讓與客户C2有關的訊息重元組通過。篩遽 器節點三3的處理功能係由一利用,例如SQL選擇陳述式的 關連運算式所定義,以明確表達那些訊息可以通過此筛滤 器。顯示在表格3第二行的訊息重元组確實與。2有關並因 而可通過篩濾器節點23而送到佇列管理員ι2來包含在s2 佇列中。只要訂户S2準備好要取出資訊,訂户S2〇5b)便 接著自佇列取出訊息。 當第二訊息重元组(在表格2的第二行中顯示)抵達篩濾 器節點21 ’齊備允許通過篩濾器節點21,因此訊息重元 組係有關於Ford股價(特定的’此訊息重元組陳述現在F〇rd -16- 本纸張尺度適用中國國家標準(CNS ) A4現格(210X297公釐) 401554 A7 B7 五、發明説明(14
η 先 閲 讀 背 S} ii 意 事 項 再, 填( J裝 ί I 的股價爲每股44美元)。—旦通過篩遽器節點21,此訊息 重兀組便到結合節點22,在那裡與顯示在表格^第三行的 資料庫重元组合併(因爲這是唯—包含F〇rd的資料庫重元 組)來提供如表格3第三行所顯示的較長重元組(其代表客 户C3有120股目前每股44盖;aad j ’ 22 吴兀的F〇rd股票)。從合併節點 22輸出的訊息重元組接著被送到㈣管理員η以 S3的仔列中。只要訂户S3準備好要取㈣訊, 便接著自传列取出訊息。從合併節…出的訊息重元:) 二包ί二ΟΙ能通過薛遽器節點23,因爲筛遽器節點 23 /、讓包含客尸C2的訊息重元組通過。 訂 假設訂户51對刪以及F〇rd的股票非常有興趣 未購買其中任—家公司的股票並且沒有計晝要買。例^ 假設s i是財務經紀人,要根據随及F 〇 r d股票的_ 價做出業務決策。這種情形下,並不需要包含結 又 因爲資料庫14不包含任何si想要的資訊。因此,提二 二個輸出到篩濾器節點21而所有的篩濾器節點2〗^弟 經满部中央標準局兵工消费合作社印52 …息重元組(有關麵及Ford股價的股票價格):= 第一輸出來加以輸出。此訊息接著傳到佇列管理·'文 含在S1的佇列中。只要訂户S1準備好要取出資;12以包 SI (15a)便接著自佇列取出訊息。 έ 訂户 因此,中間器13的每個節點的功能在資料庫指定 上冗全的定義。每個節點有著以標準關連語言,=的員目 表示的關連運算式。一節點的關連運算式的輸出=SQL 流重元組,其被提供做爲相鄰節點之關連運算式:輪:息 -17 本纸張尺錢财s ® 401554 A7 B7 五、發明説明(15 ) 篩濾器節點21及23利用普通資料庫閘連代數的INNER JOIN功能。然而,發生在資料庫14與出版訊息間的核對 已經在"合併”運算中做了詳盡的説明,也可以實作許多其 他的關連代數運算,以便核對資料庫資料與出版訊息,例 如”交集”,”計算”,或是"聯集”運算。 現在提供將可以用來定義節點功能的關連運算式的某些 範例® 範例1 :篩濾 本範例的第一個篩濾節點(21)以SQL來定義 SELECT* FROM Stock WHERE Company = "IBM" OR Company = "Ford" 範例2 :合併 假設節點2 1的輸出流稱爲Q2 1,客户持股資訊的資料庫關 連稱爲Holding。此合併節點(22)的定義爲 SELECT Q21.*, Customer, Quantity FROM Q21 INNER JOIN Holding ON Q21_Company 二 Holding.Company 經漪部中央標準局貝工消費合作社印繁 (請先閲讀背面之"意事項再填寫本頁) 範例3 : 由合併決定的篩滤 如果合併節點的輸出流爲Q22,節點23的篩濾取決於合併 的客户爛位輸出,表示爲 SELECT * FROM Q22 WHERE Customer = "C2" -18- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 401554 A7 B7 五、發明説明(16 ) 範例4 :計算 每筆交易的總値可以計算爲 SELECT , Price * Quantity AS TotalValue FROM Q22 範例5 :反向篩濾(差集) 訂户不想看到有關本地政策禁止交易其股票之公司的股票 資訊。這樣的公司清單放在此資料庫的禁止關連中。此一 訂閱的SQL定義爲: SELECT * FROM Stock WHERE Company NOT IN (SELECT Company FROM Proscribed) 範例6 :保存 管理者藉由將輸入流Stock的訊息重元組插入到一關連來 建立具有時間戳記的保存。 經"部中央標準局Η工消费合作社印^ (請先閲讀背面之'注意事壻再填寫本頁) INSERT INTO StockArchive SELECT *, Time() as TimeAudit FROM Stock 範例7 :更新 管理者要將每家公司最新的價格記錄在資料庫的資料表 StockLatest 中。 UPDATE StockLatest INNERJOIN Stock ON StockLatest.Company = Stock.Company SET StockLatest.Price = Stock.Price, StockLatest.LogTime = Now(); -19- 本紙張尺度適用中國國家標準(CNS ) A4規格(2l0X297公釐) 401554 A7 B7 五「發明説明(17 ) 範例8 :複合運算式 SQL允許將幾個計算组合爲單一運算式。下面的運算式組 合了合併,篩濾以及計算。 SELECT Q21.*, Customer, Quantity, Price * Quantity as TotalValue FROM Q21 INNER JOIN Holding ON Q2 1.Company = Holding.Company WHERE Customer = "C2” 一旦中間器設許好後,可以很容易的改變來加入額外的 功能。例如,計算節點24(如圖3中所顯示)可4家道合併 節點22的輸出上,如此結果的訊息將包含另一欄位,其爲 每個客户在相關公司的股票所有權的總現値。也就是,計 算節點24會將股票價格乘以客户的股票數目,並提供此乘 積在分開的攔位中(稱爲總値)。因此,現在表格3變成: 表格4 公司 價格 客户 數量 總値 IBM 160 C3 77 12,320 IBM 160 C2 44 7,040 Ford 44 C3 120 5,280 經漪部中央標苹局負工消費合作社印^1 (請先閱讀背面之'注意事項再填寫本頁) 還有,可輕易的藉由修改定義此節點的關連運算式而做 到對原有節點(例如22)的改變。因爲合併節點22以及篩濾 器節點2 1及23都嚴密的整合在互連結點的網路,而訊息 流重元組在此節點間通過,任何節點的關連運算式可以一 致的方式輕易的修改。並不需要切換到任何節點的不同形 -20- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經"部中央標準局月工消費合作衽印" 401554 五、發明説明(π ) 態的程式(如同前面所討論先前技藝的情形)。 因爲中間器的功能係以資料庫特定項目來實作,所以可 以非常容易的利用程式關連資料庫管理系統的視覺工具來 改又中間詻13的功能單元。例如,微軟公司的八“…產 品就提供這樣的視覺工具β關連資料庫的程式設計師對這 樣工具都非常熟習。因此,資料庫程式設計師會發現中間 器13的節點(21,22,23)之結構很容易設定。例如,如 果基於客户要求而必須改變—個合併節點,這可以輕易的 由資料庫程式設計做到而不需要學習新的程式技術,因而 大大地降低系統發展故費用。 雖然在此較佳具體實例中的每個節點是以關連運算式來 定義,某些節點仍可以其他方式來實作,但是這樣的話本 發明的優點卻會降低。 在此已對本發明之較佳具體實例的關連訊息中間器之加 値出版/ 5丁閱應用程式加以説明’而這環境下本發明是非常 有用的。然而,在許多其他的環境下本發明是有用的,包 含工作流程,其中傳送的訊息可以導引到任何複數個接收 赛,由該時間點上那一接收器不忙碌而定。在工作流程的 環境下,中間器會存取資料庫14以確定有關每個接收器的 資料以做出有關應指定工作要求訊息給那個接收器之決定。 本發明之一具體實例提供在連接到網際網路之伺服器電 腦上關連訊息中間器的功能,以讓出版者及訂户應用程式 .可以存取網際網路的伺服器,就像用户端透過全球資訊網 瀏覽應用程式。以此方式,中間器13將在網際網路上推送 -21 - Μ氏張尺度適用中國國家標準(CNS > Α4規格(210Χ297公釐) (請先閲讀背面之注^再填寫本頁j 裝. -β 401554 A7 B7 五、發明説明(19 ) 出版的訊息到訂户15的網路瀏覽應用程式,當這樣的出版 訊息符合訂户先前指定的準則(再次是藉由網路瀏覽應用 程式來接觸網際網路伺服器)。 (請先閲讀背面之注意事嘴再填寫本頁) 經濟部中央標準局負工消費合作社印聚 22 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)

Claims (1)

  1. 經濟部中央標準局員工消費合作社印製 Λ ρ 1}δ s. C ________ D8 六、申請專利範圍 1- ~種訊息中間器資料處理裝置,其用來從一傳送應用程 式接收訊息,處理此接收訊息並決定出應將此處理過的 訊息應傳遞到那個接收應用程式,其包含: 從傳送應用程式接收進來訊息流之裝置,每個訊息被 配置成具至少一欄位的重元組; 將進來訊息成與鍺存在資料庫中的資料庫資料做核對 之裝置’此資料庫資料也被配置成具至少—欄位的重元 組;以及 處理訊息流的裝置,使得結果訊息流被導引到至少— 個接收應用程式。 2. 如申請專利範圍第1項的裝置,其中接收的裝置,核對 的裝置及處理的裝置利用互相連接成處理節點網路的複 •數個處理節點,每個節點的處理功能係以標準關連語言 之關連運算式來定義。 3. 如申請專利範圍第2項的装置,其中訊息流重元組在複 數個節點間傳遞》 4. 如申請專利範圍第3項的裝置,其中網路中兩相鄰的節 點’節點1與節點2,定義節點1功能的關連運算式的輸 出被解譯爲定義節點2功能的關連運算式的輸入。 5·如申请專利範圍第1項的裝置’其中接收的裝置與一件 列管理員通訊。 6, 如申請專利範圍第1項的装置,其中傳送應用程式爲— 出版者而接收應用程式爲一訂户。 7. 如申請專利範圍第2項的裝置,其中的標準關連語言是 本紙張尺度辟(CNS > A4規格(2丨GX297公釐)' --— ---—h---^ k------訂-------竦 (請先閲讀背面之注意事項再填寫本耳) 經濟部中央標準局員工消費合作社印製 401554 BS — _ DS "™"- 1" '___ί 六、申請專利範圍 " 結構查詢語言。 8‘如申請專利範圍第2項的裝置,其中视覺資料庫工具係 用來產生定義一節點功能的關連運算式。 9.如申請專利範圍第3項的裝置,其中左六从Λ〜 a A 升τ存在於兩節點間的 訊息流重元組中之每個訊息重元組有著相同的欄位集厶。 1〇·如申請專利範圍第3項的裝置,其中存在於兩節點間的 訊息流重元組中,此流動中的每個訊息重元組不—定要 有相同的欄位集合》 U.如申請專利範圍第1〇項的裝置,其中定義一節點功能的 關連運算式的欄位,若未在輸入到節點之特定訊息流重 元組中定義的則被指定爲空値。 12. 口申凊專利範圍第1項的裝置,其中該裝置包含在單— 資料處理單元上。 13. 如申請專利範圍第!項的裝置,其中該裝置包含於複數 個互相連接的資料處理單元上。 14. 一種訊息中間器資料處理方法,其用來從一傳送應用程 式接收訊息,處理此接收訊息並決定出應將此處理過的 訊息應傳遞到那個接收應用程式,其中包含的步驟: 從傳送應用程式接收進來訊息流之裝置,每個訊息被 配置成具至少一欄位的重元组; 將進來訊息流與儲存在資料庫中的資料庫資料教^對 <裝置’此資料庫資料也被配置成具至少一欄位的重元 组;以及 處理訊息流的裝置,使得結果訊息流被導引到至少— -24- 尺度通用中國國家標準(CNS ) A4規UJlOx297公釐) ---- ---------'餐------IT------^ * - (請先閲讀背面之注意事項再填寫本頁) 401554 DS 經濟部中央標準局員工消费合作社印製 六、申請專利範圍 個接收應用程式。 15. 如申請專利範圍第14項的方法,其中接收,核 的步驟利用互相連接成處理節點網路的複數個處理『寶里 ,每個節點的處理功能係以標準關連語言之 p j 來定義。 %硬算式 16. 如申請專利範圍第15項啲方法,其中訊息流重元组 數個節點間傳遞。 複 Π.如申請專利範圍第16項的方法,其中網路中兩相鄭的節 點,節點1與節點2,定義節點丨功能的關連運算式的輸 出被解譯爲定義節點2功能的關連運算式輸入之訊阜^ 元組。 18. 如申請專利範圍第14項的方法,其中接收的步驟與一佇 列管理員通訊。 19. 如申請專利範圍第14項的方法’其中傳送應用程式爲— 出版者而接收應用程式爲一 1丁户。 20_如申請專利範圍第15項的方法,其中的標準關連語言是 結構查詢語言。 21_如申請專利範圍第15項的方法,其中視覺資料庫工具係 用來產生定義一節點功能的關連運算式。 22. 如申請專利範圍第16項的方法,其中存在於兩節點間的 訊息流重元组中之每個訊息重元组有著相同的欄位集合。 23. 如申請專利範圍第1 6項的方法,其中存在於兩節點間的 訊息流重元組中,此流動中的每個訊息重元組不—定要 有相同的欄位集合。 -25- 良紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 1^-- C靖先閲讀背面之注意事項再填寫本頁j 、1T 線! ^〇1554 A;s BS CS 經濟部中央標準局員工消費合作社印製 申請專利範圍 24.如申請專利範圍第23項的方法,其狄 關=算:的欄位,若未在輸入到節點之特 兀組中足義的則被指定爲空値。 ^成置 種儲存在電腦可讀取儲存媒體的電腦程式產品, ^資料處理單元上執行時,係用來實現訊息中間器;料 處理方法,其用來從傳送應用程式接收訊息,處理 收訊息並將決定處理過的訊息廄值 '"應傳遞到那個接收應用程 式,包含的步驟: 從傳送應用程式接收進來訊息流之裝置,每個訊息被 配置成具至少一爛位的重元組; 將進來訊息流與儲存在資料庫中的資料庫資料做核對 之裝置,此資料庫資料也被配置成具至少一欄位的重元 組;以及 處理訊息流的裝置,使得結果訊息流被導引到至少一 個接收應用程式。 26.如申請專利範圍第25項的產品,其中接收,核對及處理 的步驟利用互相連接成處理節點網路的複數個處理節點 ,每個節點的處理功能係以標準關連語言之關連運算式 來定義。 27·如申請專利範圍第26項的產品,其中訊息流重元組在複 數個節點間傳遞。 28.如申請專利範圍第2 7項的產品,其中網路中兩相鄰的節 點,節點1與節點2,定義節點丨功能的關連運算式的輸 出被解譯爲定義節點2功能的關連運算式輸入之訊息流 -26- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ;.裝------訂-----,線 (請先閲讀背面之注意事項再填寫本頁) 401554 AS BS CS D8 六、申請專利旄圍 ~一 重元組。 29.如申請專利範圍第25項的產品,其中接收的步驟與一仵 列管理員通訊。 30·如t#㈣li® $25項的產^’其中傳送應用程式爲一 出版者而接收應用程式爲一訂户。 3L如申請專利範圍帛26:頁的產&,其巾的標準關連語言是 結構查詢語言。 32.如申请專利範圍第26項的產品,其中視覺資料庫工具係 用來產生定義一節點功能的關連運算式。 33·如申叫專利範圍第27項的產品,其中存在於兩節點間的 訊息流重组中之每個訊息重元組有著相同的欄位集合。 34. 如申叫專利範圍弟2 7項的產品,其中存在於兩節點間的 訊息流重組中,此流動中的每個訊息重元组不一定要 有相同的搁位集合。 35. 如申請專利範圍第34項的產品,其中定義一節點功能的 關連運算式的欄位,若未在輸入到節點之特定訊息流重 元組中定義的則被指定爲空値。 36. 如申請專利範圍第1項的裝置,其中訊息中間器資料處 理裝置係位在網際網路的伺服器上,而傳送應用程式與 接收應用程式中至少有一個利用全球資訊網瀏覽應用程 式。 37. 如申凊專利範圍第14項的方法,其中訊息中間器資料處 理裝置係位在網際網路的伺服器上,而傳送應用程式與 接收應用程式中至少有一個利用全球資訊網瀏覽應用程 __ -27- 本紙張尺度適用中國國家標準(CNS ) M規格(2丨〇><297公瘦)'~~ ' 裝------訂------線 : * . (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 六、申請專利範圍
    I - 式。 38. 如申請專利範圍第25項的產品,其中訊息中間器資料處 理裝置係位在網際網路的飼服器上,而傳送應用程式與 接收應用程式中至少有一個利用全球資訊網劇覽應用程 式。 39. —種提供資訊服務给客户的方法,利用如申請專利範圍 第1項的裝置,包含的步驟: (a) 從客户處接收一有關客户想要接收的訊息之準則; (b) 從出版者處接收出版訊息; (c) 將出版訊息與從客户處接收的準則做比較;以及 (d) 將符合從客户處接收之準則的出版訊息傳遞給客户。 (請先閲讀背面之注意事項再填寫本頁) I -1 ·- - I - I —^11 . 裝 '一17 •丨球 經濟部中央標準局員Η消費合作社印製 -28- 才紙張尺度適财國龄縣(CNS〉A4驗(2丨0X297公董)
TW087110384A 1998-04-29 1998-06-26 Message broker apparatus, method and computer program product TW401554B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GBGB9809020.2A GB9809020D0 (en) 1998-04-29 1998-04-29 Message broker apparatus method and computer program product

Publications (1)

Publication Number Publication Date
TW401554B true TW401554B (en) 2000-08-11

Family

ID=10831088

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087110384A TW401554B (en) 1998-04-29 1998-06-26 Message broker apparatus, method and computer program product

Country Status (3)

Country Link
KR (1) KR100324978B1 (zh)
GB (2) GB9809020D0 (zh)
TW (1) TW401554B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350758A (en) * 1999-06-04 2000-12-06 Ibm Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment
GB2354349A (en) * 1999-09-16 2001-03-21 Ibm Event notification data processing with command and command notification combined into a single event
GB9928226D0 (en) 1999-11-30 2000-01-26 Ibm Data processing with message processing nodes wrapped into a business activity
EP1296490A3 (en) * 2001-08-14 2004-04-14 Hewlett-Packard Company Message broker
US6952731B2 (en) 2001-08-14 2005-10-04 Hewlett-Packard Development Company, L.P. Remote control of a device over the internet

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018963A1 (en) * 1994-12-13 1996-06-20 Fs Holdings, Inc. A system for receiving, processing, creating, storing and disseminating investment information

Also Published As

Publication number Publication date
GB2336920A (en) 1999-11-03
GB9811802D0 (en) 1998-07-29
KR19990082740A (ko) 1999-11-25
KR100324978B1 (ko) 2002-02-20
GB9809020D0 (en) 1998-06-24

Similar Documents

Publication Publication Date Title
US6510429B1 (en) Message broker apparatus, method and computer program product
US8386633B2 (en) Method and system for processing raw financial data streams to produce and distribute structured and validated product offering data to subscribing clients
US7958025B2 (en) Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
US7676601B2 (en) Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US20030115291A1 (en) Publish subscribe system
JP2018152069A (ja) 商業的な取引のために用いられるのに適合した方法
TW401554B (en) Message broker apparatus, method and computer program product
JP2007018355A (ja) 回収代行システム
JP2004506272A (ja) 未加工金融データを処理して、妥当性検査した商品案内情報を加入者に対して生成するシステム
US20160364277A1 (en) A method for using user session data to provide middle-ware
JP2011059796A (ja) 物品取引管理システム及び物品取引管理プログラム
US20110247008A1 (en) System and method for federated services
JP5840191B2 (ja) 現金送付・口座振込送金依頼受付システム
Oliveira Rocha Structural Patterns and Chaining Processes
WO2000058890A1 (en) Computer network node for a financial trading network
Jayanti Distributed Computing: 13th International Symposium, DISC'99, Bratislava, Slovak Republic, September 27-29, 1999, Proceedings
JP2015125639A (ja) データ配信システム

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MK4A Expiration of patent term of an invention patent