国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      海量數(shù)據(jù)實時處理架構(gòu)及用于該架構(gòu)的實時隨需處理平臺的制作方法

      文檔序號:6464853閱讀:245來源:國知局
      專利名稱:海量數(shù)據(jù)實時處理架構(gòu)及用于該架構(gòu)的實時隨需處理平臺的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種計算機(jī)應(yīng)用技術(shù),具體地說本發(fā)明涉及一種海量 數(shù)據(jù)實時處理架構(gòu)。
      背景技術(shù)
      在計算機(jī)軟件的發(fā)展史上,應(yīng)用模式相繼出現(xiàn)了大型機(jī)為中心的
      計算、C/S (客戶/服務(wù)器)架構(gòu)、B/S架構(gòu)、多層分布式處理架構(gòu)、 Web Service計算、網(wǎng)格計算等技術(shù),這些技術(shù)目前在不同場景仍然并 存著。大型機(jī)為中心的計算、客戶/服務(wù)器架構(gòu)主要存在于早先構(gòu)建的 應(yīng)用中,目前主要的軟件架構(gòu)多為B/S架構(gòu)、多層分布式處理架構(gòu)和 Web Service方式,支撐這些架構(gòu)離不開中間件技術(shù),中間件 (Middleware)是處于操作系統(tǒng)和應(yīng)用程序之間的軟件,也有人認(rèn)為 它應(yīng)該屬于"t喿作系統(tǒng)中的一部分。人們在^f吏用中間件時,往往是一組 中間件集成在一起,構(gòu)成一個平臺(包括開發(fā)平臺和運(yùn)行平臺),但 在這組中間件中必需要有一個通信中間件,即中間件=平臺+通信,這 個定義也限定了只有用于分布式系統(tǒng)中才能稱為中間件,同時還可以 把它與支撐軟件和實用軟件區(qū)分開來。企業(yè)常用的中間件包括消息中 間件、交易中間件、應(yīng)用中間件(或稱應(yīng)用服務(wù)器)等,中間件位于 應(yīng)用和底層的操作系統(tǒng)、數(shù)據(jù)庫之間,降低了應(yīng)用開發(fā)的難度和成本, 提高了開發(fā)速度,使開發(fā)者可專注于業(yè)務(wù)的開發(fā)。
      圖1示出了一種傳統(tǒng)的三層架構(gòu)(下文簡稱架構(gòu)1),客戶端是 指人機(jī)操作界面,例如圖形用戶界面GUI;交易中間件是指Tuxedo、 Cics之類的軟件,主要負(fù)責(zé)業(yè)務(wù)邏輯處理;數(shù)據(jù)庫,例如oracle、 Sql server、 mysql等關(guān)系數(shù)據(jù)庫,也可為內(nèi)存數(shù)據(jù)庫,負(fù)責(zé)數(shù)據(jù)存取,部 分業(yè)務(wù)邏輯也可能通過數(shù)據(jù)庫的存儲過程、函數(shù)來實現(xiàn);操作系統(tǒng)(Operating System,簡稱OS)是一種特殊的用于控制計算機(jī)硬件的 程序。它是計算機(jī)底層的系統(tǒng)軟件,負(fù)責(zé)管理、調(diào)度、指揮計算機(jī)的 軟硬件資源使其協(xié)調(diào)工作。在架構(gòu)1中,當(dāng)增加新功能引起客戶端操 作界面改變時,必須更新客戶端程序,導(dǎo)致維護(hù)量加大。由于客戶端 可能運(yùn)行于不同類型操作系統(tǒng)或不同版本的操作系統(tǒng)之上,開發(fā)方面 可能需要多種代碼適應(yīng)不同的需求。在架構(gòu)1中,業(yè)務(wù)邏輯在中間層 的中間件服務(wù)器上運(yùn)行,業(yè)務(wù)邏輯包含有數(shù)據(jù)庫的訪問,當(dāng)數(shù)據(jù)量或 業(yè)務(wù)量達(dá)到一定程度時,數(shù)據(jù)庫便會成為性能瓶頸,這種瓶頸主要在 于磁盤I/0和網(wǎng)絡(luò)I/0。此種架構(gòu)克服了傳統(tǒng)C/S架構(gòu)的不足,但其缺 點(diǎn)是操作界面改變時,客戶端維護(hù)量較大;交易中間件和關(guān)系數(shù)據(jù)庫 部分在數(shù)據(jù)量大時由于網(wǎng)絡(luò)I/0和磁盤1/0,會存在性能瓶頸,這種架 構(gòu)不具有海量數(shù)據(jù)的實時處理能力。
      圖2示出了常用的B/S架構(gòu)(下文簡稱架構(gòu)2 ) , B/S
      (Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技 術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在架構(gòu)2中,客 戶端是指在瀏覽器(Browser)中運(yùn)行的程序,如sina網(wǎng)站、銀行網(wǎng)銀 程序;應(yīng)用中間件(或稱應(yīng)用服務(wù)器)是指Weblogic、 Tomcat、 .NET Framework之類的軟件主要負(fù)責(zé)業(yè)務(wù)邏輯處理;數(shù)據(jù)庫,例如oracle、 Sql server、 mysql之類的關(guān)系數(shù)據(jù)庫,也可為內(nèi)存數(shù)據(jù)庫,負(fù)責(zé)數(shù)據(jù) 存取,部分業(yè)務(wù)邏輯也可能通過數(shù)據(jù)庫的存儲過程、函數(shù)來實現(xiàn)。在 這種結(jié)構(gòu)下,用戶界面是通過WWW瀏覽器(Browser)來實現(xiàn),極 少的業(yè)務(wù)事務(wù)邏輯在前端(Browser)實現(xiàn),主要業(yè)務(wù)邏輯在服務(wù)器端
      (Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端 電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總 體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用, 并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于4巴握、成本也是 較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員、從不同的地點(diǎn)、 以不同的接入方式,比如LAN, WAN, Internet/Intranet等訪問和操作 共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)
      據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架 構(gòu)管理軟件更是方便、快捷、高效。然而在B/S架構(gòu)下,用戶界面主 要業(yè)務(wù)邏輯在服務(wù)器(Server)端實現(xiàn),極少部分業(yè)務(wù)邏輯在前端 (Browser)實現(xiàn),應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。在服務(wù)端,業(yè)務(wù)邏 輯包含有數(shù)據(jù)庫的訪問,當(dāng)數(shù)據(jù)量或業(yè)務(wù)量達(dá)到一定程度時,數(shù)據(jù)庫 便會成為性能瓶頸,這種瓶頸主要在于磁盤1/0和網(wǎng)絡(luò)I/0。另一方面, 在B/S架構(gòu)下,服務(wù)端使用的開發(fā)語言多為java、 jsp、 asp、 C#、 PHP 等類的語言,這類語言編譯出的程序相對于(:/0++來說,效率明顯要 低一些,當(dāng)數(shù)據(jù)量大時,對資源的要求會很高,性能方面存在瓶頸。 因此這種架構(gòu)不宜處理大量數(shù)據(jù),尤其是實時性要求高的海量數(shù)據(jù)處 理。
      圖3示出了一種大數(shù)據(jù)量處理的技術(shù)架構(gòu)(下文簡稱架構(gòu)3), 在架構(gòu)3中,客戶端在Browser中執(zhí)行,它繼承了架構(gòu)2的一些優(yōu)點(diǎn), 因此避免了架構(gòu)1客戶端難維護(hù)的缺陷。在架構(gòu)3中,與界面表示層 相關(guān)的業(yè)務(wù)邏輯在應(yīng)用中間件(或稱應(yīng)用服務(wù)器)中運(yùn)行,而比較耗 資源的業(yè)務(wù)邏輯在性能高的交易中間件中執(zhí)行,交易中間件業(yè)務(wù)邏輯 執(zhí)行所需參數(shù)及執(zhí)行結(jié)果通過中間的應(yīng)用中間件與客戶端交互,這種 方式處理克服了架構(gòu)2應(yīng)用中間件海量數(shù)據(jù)處理時的性能缺陷。由于 在架構(gòu)3中,交易中間件中業(yè)務(wù)邏輯包含有數(shù)據(jù)庫的訪問,當(dāng)數(shù)據(jù)量 或業(yè)務(wù)量達(dá)到一定程度時,數(shù)據(jù)庫仍會成為性能瓶頸,這種瓶頸主要 在于磁盤1/0和網(wǎng)絡(luò)I/0。架構(gòu)3雖然可以避免架構(gòu)1和架構(gòu)2的缺點(diǎn), 但對于每分鐘交易量達(dá)百萬筆的應(yīng)用來說,關(guān)系數(shù)據(jù)庫與交易中間件 的性能仍是瓶頸,需要較大的硬件投資來提高性能。
      圖4示出了另一種大數(shù)據(jù)量處理的技術(shù)架構(gòu)(下文簡稱架構(gòu)4), 架構(gòu)4是借助消息中間件和交易中間件的分布式處理功能,將業(yè)務(wù)邏 輯處理分布在多臺服務(wù)器上完成,從而提升了整體處理能力。如在電 信計費(fèi)系統(tǒng)中,將計費(fèi)中預(yù)處理、批價、扣費(fèi)、入庫等過程分布到不 同節(jié)點(diǎn)(服務(wù)器)上處理,或者按地市進(jìn)行分布式處理等,通過消息 中間件和消息中間件的協(xié)調(diào)處理,系統(tǒng)的整體性能和實時性都得到提
      高,通過增加更多的硬件和引入消息中間件或交易中間件間的遠(yuǎn)程服 務(wù)調(diào)用獲得更高的吞吐量,現(xiàn)在的企業(yè)應(yīng)用軟件系統(tǒng)一般都離不開數(shù) 據(jù)庫進(jìn)行信息的處理,在海量數(shù)據(jù)(每秒鐘需要處理數(shù)千條甚至達(dá)到 數(shù)十萬條記錄)處理系統(tǒng)中,數(shù)據(jù)庫的性能會存在瓶頸,因此一般采
      用架構(gòu)4的方案和數(shù)量眾多的服務(wù)器進(jìn)行處理。由于在架構(gòu)4中,交 易中間件中業(yè)務(wù)邏輯包含有數(shù)據(jù)庫的訪問,當(dāng)數(shù)據(jù)量或業(yè)務(wù)量達(dá)到一 定程度時,數(shù)據(jù)庫仍會成為性能瓶頸,這種瓶頸主要在于磁盤I/O和 網(wǎng)絡(luò)1/0。即使使用內(nèi)存數(shù)據(jù)庫,進(jìn)程間、網(wǎng)絡(luò)間的開銷仍會很大,存 在性能瓶頸。架構(gòu)4的缺點(diǎn)是關(guān)系數(shù)據(jù)庫與交易中間件的性能瓶頸仍 未解決,系統(tǒng)投資高,維護(hù)量較多。
      因此,希望提供一種具有海量數(shù)據(jù)實時處理能力的、系統(tǒng)投資少、 維護(hù)量小的架構(gòu)。

      發(fā)明內(nèi)容
      本發(fā)明為解決上述技術(shù)問題之一,提出了一種海量數(shù)據(jù)實時處理 架構(gòu),所述架構(gòu)包括至少一個客戶端、應(yīng)用中間件服務(wù)器、至少一個 實時信息隨需處理平臺和與所述每個實時隨需處理平臺相對應(yīng)的操作 系統(tǒng),所述至少一個客戶端用于顯示應(yīng)用服務(wù)的人機(jī)界面、接收用戶 輸入的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù)并發(fā)送給所述應(yīng)用中間件服務(wù)器,以及顯 示處理結(jié)果;所述應(yīng)用中間件服務(wù)器與每個客戶端相連接,用于接收 由所述客戶端發(fā)送的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù),調(diào)用所述至少一個實時信 息隨需處理平臺中的應(yīng)用服務(wù),接收由相應(yīng)的實時信息隨需處理平臺 傳送的處理結(jié)果,根據(jù)處理結(jié)果生成顯示界面并傳送給相應(yīng)的客戶端; 所述每個實時信息隨需處理平臺與所述應(yīng)用中間件服務(wù)器相連接,用
      將處理結(jié)果返回給所述應(yīng)用中間件服務(wù)器。
      根據(jù)本發(fā)明的另一個方面,還提供一種用于海量數(shù)據(jù)實時處理架 構(gòu)的實時信息隨需處理平臺,所述架構(gòu)包括至少一個客戶端、應(yīng)用中 間件服務(wù)器、至少一個實時信息隨需處理平臺、與所述每個實時信息
      隨需處理平臺相關(guān)聯(lián)的關(guān)系數(shù)據(jù)庫和與所述每個實時隨需處理平臺相
      對應(yīng)的操作系統(tǒng),其中,所述實時信息隨需處理平臺包括信息服務(wù) 總線、至少一個應(yīng)用組件庫、交易中間件引擎、消息中間件引擎和內(nèi)
      存數(shù)據(jù)庫引擎;其中所述應(yīng)用組件庫用于存儲并管理所述應(yīng)用服務(wù);
      所述交易中間件引擎用于調(diào)用和執(zhí)行所述應(yīng)用服務(wù),以及建立與所述
      關(guān)系數(shù)據(jù)庫的連接池,管理與關(guān)系數(shù)據(jù)庫的連接;消息中間件引擎用 于管理消息隊列并向應(yīng)用服務(wù)提供數(shù)據(jù),所述消息中間件引擎還用于 配置有觸發(fā)服務(wù)的消息隊列在消息到達(dá)時自動觸發(fā)執(zhí)行相關(guān)服務(wù),其 執(zhí)行結(jié)果可以寫到消息中間件引擎中的其它消息隊列中;內(nèi)存數(shù)據(jù)庫 引擎用于存儲實時信息隨需處理平臺中的用戶名/口令、表、系統(tǒng)服務(wù) 名、應(yīng)用組件庫名、應(yīng)用服務(wù)名、隊列名、事務(wù)信息等字典數(shù)據(jù)及部 分應(yīng)用表,內(nèi)存數(shù)據(jù)庫引擎將內(nèi)存數(shù)據(jù)庫表中的數(shù)據(jù)寫入磁盤,并進(jìn) 行事務(wù)處理和系統(tǒng)異常時的數(shù)據(jù)恢復(fù),應(yīng)用服務(wù)在執(zhí)行過程中會對內(nèi) 存數(shù)據(jù)庫引擎中的數(shù)據(jù)進(jìn)行查詢、更新、添加或刪除。


      為了更完整地理解本發(fā)明及其優(yōu)點(diǎn),現(xiàn)在結(jié)合附圖描述本發(fā)明的具 體實施方式,附圖中相同的參考標(biāo)記代表相似的含義,其中 圖1示出了一種傳統(tǒng)的三層架構(gòu)的示意圖; 圖2示出了傳統(tǒng)的B/S架構(gòu)的示意圖; 圖3示出了一種傳統(tǒng)的大數(shù)據(jù)量處理的技術(shù)架構(gòu)的示意圖; 圖4示出了另 一種傳統(tǒng)的大數(shù)據(jù)量處理的技術(shù)架構(gòu)的示意圖; 圖5示出了根據(jù)本發(fā)明的實施例的海量數(shù)據(jù)實時處理架構(gòu)的示意
      圖6示出了根據(jù)本發(fā)明的海量數(shù)據(jù)實時處理架構(gòu)中的實時信息隨 需處理平臺的示意圖7示出了圖6所示的實時信息隨需處理平臺的原理圖8示出了圖6所示的實時信息隨需處理平臺的分布式處理圖。
      具體實施例方式
      圖5示出了根據(jù)本發(fā)明的實施例的海量數(shù)據(jù)實時處理架構(gòu)的示意 圖。圖5所示的海量數(shù)據(jù)實時處理架構(gòu)包括至少一個客戶端,例如 1000, 1100, ..., ln00、應(yīng)用中間件服務(wù)器2000、至少一個實時信息 隨需處理平臺,例如3000, 3100, ..., 3n00和與所述每個實時隨需處 理平臺相對應(yīng)的才喿作系統(tǒng)4000, ,.., 4n00,所述至少一個客戶端用于 顯示應(yīng)用服務(wù)的人機(jī)界面、接收用戶輸入的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù)并發(fā) 送給所述應(yīng)用中間件服務(wù)器,以及顯示處理結(jié)果;所述應(yīng)用中間件服 務(wù)器與各個客戶端相連接,用于接收由所述客戶端發(fā)送的應(yīng)用服務(wù)的 有關(guān)數(shù)據(jù),調(diào)用所述至少 一個實時信息隨需處理平臺中的應(yīng)用服務(wù), 接收相應(yīng)的實時信息隨需處理平臺傳送的處理結(jié)果,根據(jù)處理結(jié)果生 成顯示界面并傳送給相應(yīng)的客戶端;所述每個實時信息隨需處理平臺 與所述應(yīng)用中間件服務(wù)器相連接,用于完成由所述應(yīng)用中間件服務(wù)器 調(diào)用的應(yīng)用服務(wù)的業(yè)務(wù)邏輯處理,并將處理結(jié)果返回給所述應(yīng)用中間 件服務(wù)器。其中,所述實時信息隨需處理平臺代替了架構(gòu)4中的交易中 間件、消息中間件和部分關(guān)系數(shù)據(jù)庫的功能。
      在本架構(gòu)中,應(yīng)用服務(wù)的使用者一_用戶在瀏覽器中輸入URL地址 通過客戶端程序,例如1000,使用應(yīng)用服務(wù),客戶端程序1000通過網(wǎng)絡(luò) 與應(yīng)用中間件服務(wù)器2000建立連接,應(yīng)用中間件服務(wù)器2000將人機(jī)界 面顯示在客戶端程序1000中,用戶在人機(jī)界面上選擇所需要的功能并輸 入相關(guān)數(shù)據(jù),應(yīng)用中間件服務(wù)器2000獲得用戶的輸入和所選擇的功能, 進(jìn)一步調(diào)用實時信息隨需處理平臺3000上的應(yīng)用服務(wù),應(yīng)用服務(wù)在實時 信息隨需處理平臺3000上完成比較費(fèi)資源的業(yè)務(wù)邏輯處理后將處理結(jié)果 發(fā)回到應(yīng)用中間件服務(wù)器2000,應(yīng)用中間件服務(wù)器2000根據(jù)返回的處理 結(jié)果生成相應(yīng)頁面,并將所需最終結(jié)構(gòu)顯示在客戶端程序1000。實時信 息隨需處理平臺3000運(yùn)4亍在操作系統(tǒng)4000之上,有時還要訪問基于f茲 盤的關(guān)系數(shù)據(jù)庫5000,當(dāng)然,關(guān)系數(shù)據(jù)庫5000在本架構(gòu)中根據(jù)應(yīng)用不同 是可選的。本發(fā)明保留了架構(gòu)2、架構(gòu)3和架構(gòu)4中客戶端易維護(hù)等優(yōu)點(diǎn), 后端的處理性能也得到大幅提升,同時硬件的成本更低,能夠滿足海量
      數(shù)據(jù)實時處理和業(yè)務(wù)靈活多變的需求。本發(fā)明可以使同等數(shù)據(jù)量下需要 的服務(wù)器數(shù)量成倍降低或者在服務(wù)器配置相當(dāng)?shù)那闆r下處理數(shù)倍的數(shù) 據(jù),甚至可以處理以前單位時間內(nèi)難以完成的數(shù)據(jù)量或新業(yè)務(wù)。
      圖6示出了根據(jù)本發(fā)明的海量數(shù)據(jù)實時處理架構(gòu)中的實時信息隨 需處理平臺的示意圖。所述實時信息隨需處理平臺包括信息服務(wù)總 線3010、至少一個應(yīng)用組件庫3050、交易中間件引擎3020、消息中 間件引擎3040和內(nèi)存數(shù)據(jù)庫引擎3030。應(yīng)用中間件服務(wù)器2000是通 過信息服務(wù)總線3010來調(diào)用實時信息隨需處理平臺3000上的應(yīng)用服務(wù) 的。應(yīng)用組件庫3050用于存儲并管理應(yīng)用服務(wù),它通過交易中間件引擎 3020被調(diào)度和執(zhí)行;交易中間件引擎3020完成服務(wù)的調(diào)度和執(zhí)行,在包 含關(guān)系數(shù)據(jù)庫5000時,所述交易中間件引擎3020還建立關(guān)系數(shù)據(jù)庫連 接池,管理與關(guān)系數(shù)據(jù)庫5000的連接。消息中間件引擎3040用于管理 消息隊列并向應(yīng)用服務(wù)提供數(shù)據(jù),應(yīng)用服務(wù)可從消息中間件引擎3040 管理的消息隊列中獲取數(shù)據(jù),消息中間件引擎3040還用于配置有觸發(fā) 服務(wù)的消息隊列(筒稱觸發(fā)隊列)在消息到達(dá)時自動觸發(fā)執(zhí)行相關(guān)服 務(wù),其執(zhí)行的結(jié)果也可寫到消息中間件引擎3040中的其它消息隊列中。 內(nèi)存數(shù)據(jù)庫引擎3030用于存儲實時信息隨需處理平臺中的用戶名/口 令、表、系統(tǒng)服務(wù)名、應(yīng)用組件庫名、應(yīng)用服務(wù)名、隊列名、事務(wù)信 息等字典數(shù)據(jù)及部分應(yīng)用表,內(nèi)存數(shù)據(jù)庫引擎3030將內(nèi)存數(shù)據(jù)庫表中 的數(shù)據(jù)寫入磁盤,例如采取cache或批處理的方式寫入,茲盤,并進(jìn)行 事務(wù)處理和系統(tǒng)異常時的數(shù)據(jù)恢復(fù),應(yīng)用服務(wù)在執(zhí)行過程中會對內(nèi)存 數(shù)據(jù)庫引擎3030中的數(shù)據(jù)進(jìn)行查詢、更新、添加或刪除。
      信息服務(wù)總線3010、交易中間件引擎3020、內(nèi)存數(shù)據(jù)庫引擎3030、 消息中間件引擎3040、應(yīng)用組件庫3050及其內(nèi)部的應(yīng)用服務(wù)組件位于實 時信息隨需處理平臺3000同一個進(jìn)程空間內(nèi),它們采用多線程方式并行 運(yùn)行,內(nèi)部的通訊效率高,能充分利用CPU、內(nèi)存和系統(tǒng)總線的帶寬。 對于那些不常訪問的數(shù)據(jù),如日志和歷史數(shù)據(jù)等,則可通過交易中間件 引擎(3020)存取到基于磁盤的關(guān)系數(shù)據(jù)庫(5000)中。換句話說,實 時信息隨需處理平臺3000能充分利用服務(wù)器的資源,其性能的制約因素
      在于CPU、內(nèi)存和系統(tǒng)總線的帶寬,而這些是服務(wù)器中最快的部件,而 現(xiàn)在常用的架構(gòu)1 -架構(gòu)4,其性能瓶頸主要在于》茲盤I/O和網(wǎng)絡(luò)I/O, 磁盤和網(wǎng)絡(luò)的性能與CPU、內(nèi)存和系統(tǒng)總線等快速部件性比,性能明顯 慢4艮多。
      本發(fā)明將交易中間件引擎3020、內(nèi)存數(shù)據(jù)庫引擎3030、消息中間件 引擎3040、應(yīng)用組件庫3050及信息服務(wù)總線3010技術(shù)有機(jī)地集成在一 起,共同構(gòu)成了實時信息隨需處理平臺。實時信息處理平臺中的各種組 件,包括應(yīng)用組件和系統(tǒng)組件之間通過信息服務(wù)總線或消息隊列進(jìn)行互 相通信,這種通信是在同一進(jìn)程空間和內(nèi)存中進(jìn)行,通過線程互斥鎖保 持?jǐn)?shù)據(jù)同步,這種通信方式相對于傳統(tǒng)的交易中間件與數(shù)據(jù)庫、交易中 間件與消息中間件之間的進(jìn)程間、網(wǎng)絡(luò)間效率要高效得多,總體性能有 IO倍以上的提高。消息可以直接觸發(fā)一個服務(wù);服務(wù)可以直接使用內(nèi)存 數(shù)據(jù)庫;服務(wù)的結(jié)果可以返回給服務(wù)調(diào)用者,可以寫入到內(nèi)存數(shù)據(jù)庫或 關(guān)系數(shù)據(jù)庫中,也可以寫入到消息隊列中。平臺中的各種組件能夠高度 并發(fā)進(jìn)4亍,充分利用多CPU多核服務(wù)器的運(yùn)算能力。
      圖7示出了圖6所示的實時信息隨需處理平臺的原理圖。如圖7 所示平臺中的各應(yīng)用組件以服務(wù)的形式存在于應(yīng)用組件庫中,以服務(wù)的 形式對外部,例如更前端的應(yīng)用中間件服務(wù)器或其它軟件系統(tǒng)提供服務(wù)。 更具體而言,應(yīng)用組件庫實際上是一個動態(tài)連接庫,應(yīng)用組件或稱服務(wù) 組件是具有特定形式的函數(shù)。例如,對于C/C十+語言,應(yīng)用組件具有一 個服務(wù)入口參數(shù), 一個服務(wù)出口參數(shù)及一個服務(wù)出口參數(shù)長度參數(shù),函 數(shù)的返回值為整型,O表示成功,負(fù)值表示一個錯誤代碼。這種方式非常 方《更應(yīng)用開發(fā)人員設(shè)計和開發(fā)。 一個應(yīng)用組件庫3050可包含1個或多個 應(yīng)用組件3060, 3061,...,實時信息隨需處理平臺3000可掛4妻多個應(yīng)用 組件庫3050, 3051,…,305n。應(yīng)用組件庫3050的載體動態(tài)連接庫的生 成方式與不同的操作系統(tǒng)和編譯器相關(guān),如在linux上操作系統(tǒng)上用gcc 編譯需要-shared參數(shù)。
      對于單個實時信息隨需處理平臺無法完成的處理,可以通過分布式 處理進(jìn)4亍。如圖8所示,實時信息隨需處理平臺間通過遠(yuǎn)程服務(wù)調(diào)用或
      消息隊列消息服務(wù)進(jìn)行通信,從而達(dá)到更大的處理量。平臺間通過遠(yuǎn)程 服務(wù)調(diào)用或消息隊列消息服務(wù)進(jìn)行通信,從而達(dá)到更大的處理量。為避 免多個平臺之間的I/O瓶頸問題,可以將大的業(yè)務(wù)邏輯劃分為一個個子邏 輯在平臺內(nèi)部處理,平臺間采用大數(shù)據(jù)塊方式進(jìn)行通信,因此總體效率
      會非常高。而在架構(gòu)3和架構(gòu)4中,許多業(yè)務(wù)需要與關(guān)系數(shù)據(jù)庫實時通 信,大數(shù)據(jù)塊通信方式往往不能夠使用。
      本發(fā)明的架構(gòu)適用于linux、 Unix和Windows平臺。而且既適用于嵌 入式系統(tǒng),也適用于非嵌入式系統(tǒng)。
      架構(gòu)5海量數(shù)據(jù)處理能力得到大幅提升的原因在于,架構(gòu)5中用實 時信息隨需處理平臺(3000)代替了傳統(tǒng)的交易中間件和消息中間件, 關(guān)系數(shù)據(jù)庫的一部分功能也被轉(zhuǎn)移到實時信息隨需處理平臺的內(nèi)存數(shù)據(jù) 庫中。應(yīng)用組件間的交互及應(yīng)用組件與內(nèi)存lt據(jù)庫的交互、應(yīng)用組件與 消息中間件的訪問都在實時信息隨需處理平臺內(nèi)部完成,相對于一般的 進(jìn)程間、機(jī)器間訪問,避免了許多不必要的1/0開銷,因此性能得到大幅 提高。
      使用本發(fā)明的架構(gòu)單位時間內(nèi)的處理能力可有數(shù)倍或十倍的提升, 而且數(shù)據(jù)量越大,效果越明顯。而且本架構(gòu)的實時處理能力很強(qiáng),通常 情況下服務(wù)可在毫秒級甚至數(shù)十微秒級完成。此外,由于機(jī)器數(shù)量成倍 減少,既可以利用廉價的pc服務(wù)器,也可以用高端的unix服務(wù)器,另外 可以免掉昂貴的中間件費(fèi)用,減少甚至免去關(guān)系數(shù)據(jù)庫的費(fèi)用,因此本 架構(gòu)的實時成本很低。
      以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng) 域的普通技術(shù)人員來說,還可以做出各種改進(jìn)、替換和變化。這些改 進(jìn)、替換和變化在不脫離由附隨的權(quán)利要求及其等同技術(shù)的范圍的前 提下,也應(yīng)視為本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1.一種海量數(shù)據(jù)實時處理架構(gòu),其特征在于,所述架構(gòu)包括至少一個客戶端、應(yīng)用中間件服務(wù)器、至少一個實時信息隨需處理平臺和與所述每個實時隨需處理平臺相對應(yīng)的操作系統(tǒng),所述至少一個客戶端用于顯示應(yīng)用服務(wù)的人機(jī)界面、接收用戶輸入的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù)并發(fā)送給所述應(yīng)用中間件服務(wù)器,以及顯示處理結(jié)果;所述應(yīng)用中間件服務(wù)器與每個客戶端相連接,用于接收由所述客戶端發(fā)送的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù),調(diào)用所述至少一個實時信息隨需處理平臺中的應(yīng)用服務(wù),接收由相應(yīng)的實時信息隨需處理平臺傳送的處理結(jié)果,根據(jù)處理結(jié)果生成顯示界面并傳送給相應(yīng)的客戶端;所述每個實時信息隨需處理平臺與所述應(yīng)用中間件服務(wù)器相連接,用于完成由所述應(yīng)用中間件服務(wù)器調(diào)用的應(yīng)用服務(wù)的業(yè)務(wù)邏輯處理,并將處理結(jié)果返回給所述應(yīng)用中間件服務(wù)器。
      2、 根據(jù)權(quán)利要求1所述的架構(gòu),其特征在于,所述實時信息隨需 處理平臺包括信息服務(wù)總線、至少一個應(yīng)用組件庫、交易中間件引 擎、消息中間件引擎和內(nèi)存數(shù)據(jù)庫引擎;其中所述應(yīng)用組件庫用于存儲并管理所述應(yīng)用服務(wù); 所述交易中間件引擎用于調(diào)用和執(zhí)行所述應(yīng)用服務(wù); 消息中間件引擎用于管理消息隊列并向應(yīng)用服務(wù)提供數(shù)據(jù),所述 消息中間件引擎還用于配置有觸發(fā)服務(wù)的消息隊列在消息到達(dá)時自動 觸發(fā)執(zhí)行相關(guān)服務(wù),其執(zhí)行結(jié)果可以寫到消息中間件引擎中的其它消 息隊列中;內(nèi)存數(shù)據(jù)庫引擎用于存儲實時信息隨需處理平臺中的用戶名/口 令、表、系統(tǒng)服務(wù)名、應(yīng)用組件庫名、應(yīng)用服務(wù)名、隊列名、事務(wù)信 息等字典數(shù)據(jù)及部分應(yīng)用表,內(nèi)存數(shù)據(jù)庫引擎將內(nèi)存數(shù)據(jù)庫表中的數(shù) 據(jù)寫入磁盤,并進(jìn)行事務(wù)處理和系統(tǒng)異常時的數(shù)據(jù)恢復(fù),應(yīng)用服務(wù)在 執(zhí)行過程中會對內(nèi)存數(shù)據(jù)庫引擎中的數(shù)據(jù)進(jìn)行查詢、更新、添加或刪除。
      3、 根據(jù)權(quán)利要求2所述的架構(gòu),其特征在于,所述架構(gòu)還包括與所述每個實時信息隨需處理平臺相關(guān)聯(lián)的關(guān)系數(shù)據(jù)庫,所述交易中間 件引擎還用于建立與所述關(guān)系數(shù)據(jù)庫的連接池,管理與關(guān)系數(shù)據(jù)庫的 連接。
      4、 根據(jù)權(quán)利要求3所述的架構(gòu),其特征在于,所述實時信息隨需 處理平臺中的各個組件通過所述信息服務(wù)總線和消息隊列在同 一 進(jìn)程 空間和同 一 內(nèi)存內(nèi)進(jìn)行相互通信,并通過線程互斥鎖保持?jǐn)?shù)據(jù)同步。
      5、 根據(jù)權(quán)利要求4所述的架構(gòu),其特征在于,所述實時信息所需 處理平臺之間通過遠(yuǎn)程服務(wù)調(diào)用和消息隊列進(jìn)行通信,對應(yīng)用服務(wù)進(jìn) ^亍分布式處理。
      6、 根據(jù)權(quán)利要求3-5中任意一項所述的架構(gòu),其特征在于,在 所述實時信息隨需處理平臺中,應(yīng)用服務(wù)可以使用內(nèi)存數(shù)據(jù)庫,應(yīng)用 服務(wù)的執(zhí)行結(jié)果可以返回給用戶或者寫入到內(nèi)存數(shù)據(jù)庫或者關(guān)系數(shù)據(jù) 庫中或者寫入消息隊列中。
      7、 一種用于海量數(shù)據(jù)實時處理架構(gòu)的實時信息隨需處理平臺,所 述架構(gòu)包括至少一個客戶端、應(yīng)用中間件服務(wù)器、至少一個實時信息 隨需處理平臺、與所述每個實時信息隨需處理平臺相關(guān)聯(lián)的關(guān)系數(shù)據(jù) 庫和與所述每個實時隨需處理平臺相對應(yīng)的操作系統(tǒng),其中,所述實 時信息隨需處理平臺包括信息服務(wù)總線、至少一個應(yīng)用組件庫、交 易中間件引擎、消息中間件引擎和內(nèi)存數(shù)據(jù)庫引擎;其中所述應(yīng)用組件庫用于存儲并管理所述應(yīng)用服務(wù);所述交易中間件引擎用于調(diào)用和執(zhí)行所述應(yīng)用服務(wù),以及建立與 所述關(guān)系數(shù)據(jù)庫的連接池,管理與關(guān)系數(shù)據(jù)庫的連接;消息中間件引擎用于管理消息隊列并向應(yīng)用服務(wù)提供數(shù)據(jù),所述 消息中間件引擎還用于配置有觸發(fā)服務(wù)的消息隊列在消息到達(dá)時自動 觸發(fā)執(zhí)行相關(guān)服務(wù),其執(zhí)行結(jié)果可以寫到消息中間件引擎中的其它消 息隊列中;內(nèi)存數(shù)據(jù)庫引擎用于存儲實時信息隨需處理平臺中的用戶名/口 令、表、系統(tǒng)服務(wù)名、應(yīng)用組件庫名、應(yīng)用服務(wù)名、隊列名、事務(wù)信 息等字典數(shù)據(jù)及部分應(yīng)用表,內(nèi)存數(shù)據(jù)庫引擎將內(nèi)存數(shù)據(jù)庫表中的數(shù) 據(jù)寫入磁盤,并進(jìn)行事務(wù)處理和系統(tǒng)異常時的數(shù)據(jù)恢復(fù),應(yīng)用服務(wù)在 執(zhí)行過程中會對內(nèi)存數(shù)據(jù)庫引擎中的數(shù)據(jù)進(jìn)行查詢、更新、添加或刪 除。
      8、 根據(jù)權(quán)利要求7所述的實時信息隨需處理平臺,其特征在于, 所述實時信息隨需處理平臺中的各個組件通過所述信息服務(wù)總線和消 息隊列在同 一進(jìn)程空間和同 一 內(nèi)存內(nèi)進(jìn)行相互通信,并通過線程互斥 鎖保持?jǐn)?shù)據(jù)同步。
      9、 根據(jù)權(quán)利要求8所述的實時信息隨需處理平臺,其特征在于, 所述實時信息所需處理平臺之間通過遠(yuǎn)程服務(wù)調(diào)用和消息隊列進(jìn)行通 信,對應(yīng)用月良務(wù)進(jìn)行分布式處理。
      10、 根據(jù)權(quán)利要求7-9中任意一項所述的實時信息隨需處理平 臺,其特征在于,在所述實時信息隨需處理平臺中,應(yīng)用服務(wù)可以使 用內(nèi)存數(shù)據(jù)庫,應(yīng)用服務(wù)的執(zhí)行結(jié)果可以返回給用戶或者寫入到內(nèi)存 數(shù)據(jù)庫或者關(guān)系數(shù)據(jù)庫中或者寫入消息隊列中。
      全文摘要
      本發(fā)明提供了一種海量數(shù)據(jù)實時處理架構(gòu),包括至少一個客戶端、應(yīng)用中間件服務(wù)器、至少一個實時信息隨需處理平臺和相應(yīng)的操作系統(tǒng),所述客戶端用于顯示應(yīng)用服務(wù)的人機(jī)界面、接收用戶輸入的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù)并發(fā)送給所述應(yīng)用中間件服務(wù)器,以及顯示處理結(jié)果;所述應(yīng)用中間件服務(wù)器與每個客戶端相連接,用于接收由所述客戶端發(fā)送的應(yīng)用服務(wù)的有關(guān)數(shù)據(jù),調(diào)用所述實時信息隨需處理平臺中的應(yīng)用服務(wù),接收由相應(yīng)的實時信息隨需處理平臺傳送的處理結(jié)果,根據(jù)處理結(jié)果生成顯示界面并傳送給相應(yīng)的客戶端;所述每個實時信息隨需處理平臺與所述應(yīng)用中間件服務(wù)器相連接,用于完成由所述應(yīng)用中間件服務(wù)器調(diào)用的應(yīng)用服務(wù)的業(yè)務(wù)邏輯處理,并將處理結(jié)果返回給所述應(yīng)用中間件服務(wù)器。
      文檔編號G06F17/30GK101373474SQ200810119528
      公開日2009年2月25日 申請日期2008年9月2日 優(yōu)先權(quán)日2008年9月2日
      發(fā)明者徐恪寧, 李朝銘, 王高洪 申請人:北京開拓天際信息技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1