两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

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

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


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