日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng)及方法

文檔序號(hào):7613965閱讀:278來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng)及方法。
背景技術(shù)
實(shí)時(shí)數(shù)據(jù)是指在生產(chǎn)系統(tǒng)中隨著系統(tǒng)的運(yùn)行而隨時(shí)產(chǎn)生并需要即時(shí)處理的數(shù)據(jù),對(duì)該數(shù)據(jù)處理的時(shí)效性要求較高,一般將實(shí)時(shí)數(shù)據(jù)從產(chǎn)生到處理的時(shí)間延遲作為衡量實(shí)時(shí)系統(tǒng)的重要指標(biāo)之一。由于實(shí)時(shí)數(shù)據(jù)隨著系統(tǒng)運(yùn)行大量產(chǎn)生,因此通常在設(shè)計(jì)系統(tǒng)時(shí)盡量減少單條實(shí)時(shí)數(shù)據(jù)的數(shù)據(jù)量,一般控制在幾百字節(jié)之內(nèi)。在整個(gè)生產(chǎn)系統(tǒng)環(huán)境中,產(chǎn)生實(shí)時(shí)數(shù)據(jù)的模塊稱(chēng)為實(shí)時(shí)數(shù)據(jù)生產(chǎn)方,處理該實(shí)時(shí)數(shù)據(jù)的模塊稱(chēng)為實(shí)時(shí)數(shù)據(jù)消費(fèi)方。
實(shí)時(shí)系統(tǒng)在各個(gè)行業(yè)中的應(yīng)用日趨廣泛,同時(shí)行業(yè)的強(qiáng)地域分布性又使得這些實(shí)時(shí)系統(tǒng)還需要具備分布性的特點(diǎn)。在這種情況下,實(shí)時(shí)數(shù)據(jù)生產(chǎn)方和實(shí)時(shí)數(shù)據(jù)消費(fèi)方分布于地理上的不同地點(diǎn),兩者異步運(yùn)行,如何將實(shí)時(shí)系統(tǒng)所賴(lài)以運(yùn)轉(zhuǎn)的實(shí)時(shí)數(shù)據(jù)及時(shí)準(zhǔn)確地從數(shù)據(jù)生產(chǎn)方發(fā)布到數(shù)據(jù)消費(fèi)方,稱(chēng)為系統(tǒng)能否滿(mǎn)足實(shí)時(shí)性要求的一個(gè)關(guān)鍵和重要度量標(biāo)準(zhǔn)。
目前實(shí)時(shí)數(shù)據(jù)的傳輸方式主要有兩種,基于C/S(客戶(hù)端/服務(wù)器)結(jié)構(gòu)的主動(dòng)發(fā)布和基于B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)即面向瘦客戶(hù)端被動(dòng)發(fā)布兩種。其中,主動(dòng)發(fā)布方式實(shí)時(shí)性較高,由數(shù)據(jù)生產(chǎn)方在實(shí)時(shí)數(shù)據(jù)產(chǎn)生后立即主動(dòng)發(fā)布給數(shù)據(jù)消費(fèi)方,雙方的數(shù)據(jù)延遲主要為數(shù)據(jù)的傳輸延遲,此類(lèi)延遲在分布式系統(tǒng)無(wú)可避免;而被動(dòng)發(fā)送方式的實(shí)時(shí)性較低,數(shù)據(jù)生產(chǎn)方在實(shí)時(shí)數(shù)據(jù)產(chǎn)生后首先緩存,由數(shù)據(jù)消費(fèi)方定期的向數(shù)據(jù)生產(chǎn)方請(qǐng)求數(shù)據(jù)(刷新),這種方式造成的數(shù)據(jù)延遲,除了分布式系統(tǒng)固有的網(wǎng)絡(luò)延遲,還要平均附加數(shù)據(jù)消費(fèi)方相鄰兩次請(qǐng)求的時(shí)間間隔的1/2。另一方面,基于C/S(客戶(hù)端/服務(wù)器)結(jié)構(gòu)的系統(tǒng)需要單獨(dú)開(kāi)發(fā)、部署并維護(hù)專(zhuān)用的客戶(hù)端,而B(niǎo)/S(瀏覽器/服務(wù)器)系統(tǒng)其利用普通Web瀏覽器作為客戶(hù)端,比較通用和方便。

發(fā)明內(nèi)容
本發(fā)明的目的在于將上述兩種目前普遍使用的方法相結(jié)合,提出一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng)及方法,即面向?yàn)g覽器的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)送方式。
為達(dá)上述目的,本發(fā)明采用如下技術(shù)方案一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng),包括實(shí)時(shí)數(shù)據(jù)生產(chǎn)方、實(shí)時(shí)數(shù)據(jù)消費(fèi)方和實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊,所述實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊包括實(shí)時(shí)數(shù)據(jù)接收模塊、實(shí)時(shí)數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)消費(fèi)方注冊(cè)模塊,所述實(shí)時(shí)數(shù)據(jù)接收模塊接收數(shù)據(jù)生產(chǎn)方所生成數(shù)據(jù),所述數(shù)據(jù)消費(fèi)方注冊(cè)模接受實(shí)時(shí)數(shù)據(jù)消費(fèi)方的注冊(cè)和注銷(xiāo),所述實(shí)時(shí)數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)消費(fèi)方注冊(cè)模塊的信息,將數(shù)據(jù)發(fā)向各個(gè)當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)消費(fèi)方。
一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,采用上述面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng),包括以下步驟,1)數(shù)據(jù)消費(fèi)方向數(shù)據(jù)轉(zhuǎn)發(fā)模塊注冊(cè)及注銷(xiāo)步驟;2)實(shí)時(shí)數(shù)據(jù)接收模塊接收實(shí)時(shí)數(shù)據(jù)生產(chǎn)方產(chǎn)生的實(shí)時(shí)數(shù)據(jù);3)當(dāng)為注冊(cè)請(qǐng)求時(shí),實(shí)時(shí)數(shù)據(jù)發(fā)送模塊將實(shí)時(shí)數(shù)據(jù)發(fā)送至該實(shí)時(shí)數(shù)據(jù)消費(fèi)方;當(dāng)為注銷(xiāo)請(qǐng)求時(shí),將該數(shù)據(jù)消費(fèi)方的注冊(cè)信息清除,停止向該數(shù)據(jù)消費(fèi)方發(fā)送實(shí)時(shí)數(shù)據(jù)。
本發(fā)明技術(shù)方案使得實(shí)時(shí)數(shù)據(jù)的發(fā)送即具有主動(dòng)發(fā)送的高實(shí)時(shí)性和低延遲性,又具備B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)系統(tǒng)的方便性和通用性。且瘦客戶(hù)端便于系統(tǒng)開(kāi)發(fā)、部署和維護(hù)。支持同時(shí)多個(gè)實(shí)時(shí)數(shù)據(jù)消費(fèi)方,同時(shí)實(shí)時(shí)數(shù)據(jù)消費(fèi)方數(shù)量對(duì)實(shí)時(shí)數(shù)據(jù)生產(chǎn)方不產(chǎn)生影響,并可以在系統(tǒng)運(yùn)行過(guò)程中動(dòng)態(tài)變化。通過(guò)Internet和HTTP協(xié)議,可以使實(shí)時(shí)數(shù)據(jù)的生產(chǎn)方和消費(fèi)方不受地域限制。
以下結(jié)合附圖及實(shí)施例進(jìn)一步說(shuō)明本發(fā)明。


圖1面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng)結(jié)構(gòu)示意圖;圖2數(shù)據(jù)消費(fèi)方向數(shù)據(jù)轉(zhuǎn)發(fā)模塊注冊(cè)及注銷(xiāo)的技術(shù)流程圖;圖3數(shù)據(jù)生產(chǎn)方向數(shù)據(jù)轉(zhuǎn)發(fā)模塊發(fā)送實(shí)時(shí)數(shù)據(jù)的技術(shù)流程圖;圖4數(shù)據(jù)轉(zhuǎn)發(fā)模塊向數(shù)據(jù)消費(fèi)方發(fā)送實(shí)時(shí)數(shù)據(jù)的技術(shù)流程圖;圖5數(shù)據(jù)監(jiān)視服務(wù)流程。
具體實(shí)施例方式
如圖1所示,一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng),包括實(shí)時(shí)數(shù)據(jù)生產(chǎn)方、實(shí)時(shí)數(shù)據(jù)消費(fèi)方和實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊,所述實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊包括實(shí)時(shí)數(shù)據(jù)接收模塊、實(shí)時(shí)數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)消費(fèi)方注冊(cè)模塊,所述實(shí)時(shí)數(shù)據(jù)接收模塊接收數(shù)據(jù)生產(chǎn)方所生成數(shù)據(jù),所述數(shù)據(jù)消費(fèi)方注冊(cè)模接受實(shí)時(shí)數(shù)據(jù)消費(fèi)方的注冊(cè)和注銷(xiāo),所述實(shí)時(shí)數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)消費(fèi)方注冊(cè)模塊的信息,將數(shù)據(jù)發(fā)向各個(gè)當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)消費(fèi)方。
其中,實(shí)時(shí)數(shù)據(jù)接收模塊負(fù)責(zé)從實(shí)時(shí)數(shù)據(jù)生產(chǎn)方接收實(shí)時(shí)數(shù)據(jù),以便發(fā)送給數(shù)據(jù)消費(fèi)方。實(shí)時(shí)數(shù)據(jù)生產(chǎn)方向該功能發(fā)送數(shù)據(jù)時(shí)可以即時(shí)發(fā)送,即數(shù)據(jù)產(chǎn)生后立即發(fā)送,不需要對(duì)數(shù)據(jù)進(jìn)行緩沖。
數(shù)據(jù)消費(fèi)方注冊(cè)模塊由實(shí)時(shí)數(shù)據(jù)消費(fèi)方在需要接收實(shí)時(shí)數(shù)據(jù)時(shí),首先向?qū)崟r(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊的數(shù)據(jù)消費(fèi)方注冊(cè)模塊進(jìn)行注冊(cè),以使得實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊將后續(xù)收到的實(shí)時(shí)數(shù)據(jù)向該數(shù)據(jù)消費(fèi)方發(fā)送。每個(gè)數(shù)據(jù)消費(fèi)方在其生命期內(nèi)只需向?qū)崟r(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊注冊(cè)一次,即可不斷接收后續(xù)所有的實(shí)時(shí)數(shù)據(jù)。亦可實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)消費(fèi)方向?qū)崟r(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊的注銷(xiāo)功能,即向轉(zhuǎn)發(fā)模塊提出注銷(xiāo)請(qǐng)求,以便轉(zhuǎn)發(fā)模塊不再將后續(xù)的實(shí)時(shí)數(shù)據(jù)發(fā)往該數(shù)據(jù)消費(fèi)方。由于本系統(tǒng)所針對(duì)的是瘦客戶(hù)端即Web瀏覽器,在瀏覽器被關(guān)閉或者用戶(hù)點(diǎn)了停止按鈕后,該數(shù)據(jù)消費(fèi)端與實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊間的HTTP連接關(guān)閉,實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊在檢測(cè)到該情況后,自動(dòng)將該數(shù)據(jù)消費(fèi)方的注冊(cè)信息清除,也就不會(huì)再將后續(xù)的實(shí)時(shí)數(shù)據(jù)發(fā)往該數(shù)據(jù)消費(fèi)方。
實(shí)時(shí)數(shù)據(jù)發(fā)送根據(jù)數(shù)據(jù)消費(fèi)方的注冊(cè)信息,在數(shù)據(jù)接收功能接收到數(shù)據(jù)生產(chǎn)方發(fā)送的實(shí)時(shí)數(shù)據(jù)后,將數(shù)據(jù)發(fā)向各個(gè)當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)消費(fèi)方。如果在向某個(gè)數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)的過(guò)程出現(xiàn)錯(cuò)誤,則認(rèn)為該數(shù)據(jù)消費(fèi)方已經(jīng)關(guān)閉,使數(shù)據(jù)消費(fèi)方注冊(cè)信息清除,以便不再將后續(xù)信息發(fā)向該數(shù)據(jù)消費(fèi)方。
一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,采用上述面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng),包括以下步驟,1.數(shù)據(jù)消費(fèi)方(瀏覽器)啟動(dòng)后,向數(shù)據(jù)轉(zhuǎn)發(fā)模塊對(duì)應(yīng)URL地址發(fā)送普通HTTP請(qǐng)求。
可以附帶URL參數(shù),以指明期望接收實(shí)時(shí)數(shù)據(jù)的詳細(xì)信息;2.數(shù)據(jù)發(fā)送模塊中的數(shù)據(jù)消費(fèi)方注冊(cè)功能為該數(shù)據(jù)消費(fèi)方創(chuàng)建一個(gè)獨(dú)立的線程,該線程將在數(shù)據(jù)消費(fèi)方的生命期內(nèi),負(fù)責(zé)其注冊(cè),數(shù)據(jù)發(fā)送和注銷(xiāo)的工作;3.該線程創(chuàng)建一個(gè)專(zhuān)屬于該數(shù)據(jù)消費(fèi)方的管道(PIPE),用于將實(shí)時(shí)數(shù)據(jù)的傳輸;4.線程將管道的輸入端互斥加入到系統(tǒng)全局的管道鏈表中?;コ馐侵冈谠摬僮鬟M(jìn)行過(guò)程中,不允許其它線程對(duì)該管道鏈表進(jìn)行插入和刪除等操作;5.線程保留管道的輸出端,并進(jìn)入等待狀態(tài)直到管道的輸出端有數(shù)據(jù)輸出;6.當(dāng)線程在向其對(duì)應(yīng)的數(shù)據(jù)消費(fèi)方發(fā)送數(shù)據(jù)過(guò)程中出現(xiàn)錯(cuò)誤時(shí),認(rèn)為該數(shù)據(jù)消費(fèi)方已經(jīng)關(guān)閉不再需要實(shí)時(shí)數(shù)據(jù)。進(jìn)入注銷(xiāo)過(guò)程;
7.以互斥的方式將對(duì)應(yīng)的管道輸入端自系統(tǒng)全局的管道鏈表中刪除。互斥是指在該操作進(jìn)行過(guò)程中,不允許其它線程對(duì)該管道鏈表進(jìn)行插入和刪除等操作;8.將管道析構(gòu),釋放其所占資源;9.線程本身退出,針對(duì)該數(shù)據(jù)消費(fèi)方的處理至此結(jié)束;10.收到數(shù)據(jù)生產(chǎn)方發(fā)來(lái)的實(shí)時(shí)數(shù)據(jù);11.對(duì)全局管道鏈表中現(xiàn)有的所有管道數(shù)據(jù)端,發(fā)送本次收到的實(shí)時(shí)數(shù)據(jù);12.向所有管道輸入端發(fā)送完成后,進(jìn)入等待狀態(tài),等待后續(xù)實(shí)時(shí)數(shù)據(jù);13.管道中有新的實(shí)時(shí)數(shù)據(jù);14.從管道數(shù)出端讀取新的實(shí)時(shí)數(shù)據(jù);15.通過(guò)之前已建立并一直保持的HTTP連接,將該實(shí)時(shí)數(shù)據(jù)發(fā)送到實(shí)時(shí)數(shù)據(jù)消費(fèi)方;16.檢查在上一步發(fā)送過(guò)程中是否發(fā)生錯(cuò)誤,如果有錯(cuò)誤發(fā)生,認(rèn)為該消費(fèi)方已關(guān)閉,通知消費(fèi)方注冊(cè)功能進(jìn)入注銷(xiāo)過(guò)程;17.如果發(fā)送沒(méi)有發(fā)生錯(cuò)誤,進(jìn)入等待狀態(tài),等待管道中新的數(shù)據(jù)。
其中,步驟1至5對(duì)應(yīng)圖2中的注冊(cè)過(guò)程。當(dāng)線程在向其對(duì)應(yīng)的數(shù)據(jù)消費(fèi)方發(fā)送數(shù)據(jù)過(guò)程中出現(xiàn)錯(cuò)誤或有中止請(qǐng)求時(shí),則認(rèn)為該數(shù)據(jù)消費(fèi)方已經(jīng)關(guān)閉不再需要實(shí)時(shí)數(shù)據(jù),進(jìn)入步驟6至9,其對(duì)應(yīng)圖2中所示的注銷(xiāo)過(guò)程。
步驟10至12為實(shí)時(shí)數(shù)據(jù)接收模塊接收實(shí)時(shí)數(shù)據(jù)生產(chǎn)方產(chǎn)生的實(shí)時(shí)數(shù)據(jù)過(guò)程;其如圖3所示。
步驟10至12為數(shù)據(jù)轉(zhuǎn)發(fā)模塊向數(shù)據(jù)消費(fèi)方發(fā)送實(shí)時(shí)數(shù)據(jù)的過(guò)程一,如圖4所示。
上述實(shí)施例應(yīng)用于上海城市交通信息服務(wù)網(wǎng)格項(xiàng)目中,通過(guò)Servlet(Java服務(wù)器應(yīng)用程序)技術(shù),實(shí)現(xiàn)了車(chē)輛實(shí)時(shí)GPS數(shù)據(jù)的監(jiān)控服務(wù)模塊。客戶(hù)端在請(qǐng)求GPS數(shù)據(jù)監(jiān)視服務(wù)時(shí)不需要輸入任何參數(shù),且該服務(wù)的結(jié)果的返回過(guò)程具有持續(xù)性,即模塊自接收到某客戶(hù)端請(qǐng)求時(shí)起,不斷的向該客戶(hù)端發(fā)送新接收到的GPS數(shù)據(jù),直到該客戶(hù)端結(jié)束此次會(huì)話為止。
傳統(tǒng)Web應(yīng)用中客戶(hù)端與服務(wù)器端的會(huì)話一般為“請(qǐng)求—響應(yīng)”(Request-Response)模式,即客戶(hù)端發(fā)送一次請(qǐng)求,服務(wù)器端處理請(qǐng)求后將結(jié)果一次性發(fā)回。而在該GPS數(shù)據(jù)監(jiān)視模塊中,需要服務(wù)器端在客戶(hù)端一次請(qǐng)求之后持續(xù)不斷的發(fā)回GPS數(shù)據(jù),因此需要對(duì)傳統(tǒng)的會(huì)話模式進(jìn)行擴(kuò)展以適應(yīng)這一需求。具體實(shí)現(xiàn)如圖5所示。
為了達(dá)到這一應(yīng)用要求,本模塊中服務(wù)器端(數(shù)據(jù)生產(chǎn)方)一直保持著對(duì)客戶(hù)端的響應(yīng)連接,每當(dāng)接收到新的GPS數(shù)據(jù)時(shí),將該數(shù)據(jù)發(fā)回客戶(hù)端(數(shù)據(jù)消費(fèi)方),使客戶(hù)端可以持續(xù)不斷的顯示出系統(tǒng)接收到的GPS數(shù)據(jù),而不需反復(fù)請(qǐng)求。同時(shí),實(shí)現(xiàn)過(guò)程中也考慮到多客戶(hù)端的并發(fā)請(qǐng)求,可以同時(shí)向多個(gè)請(qǐng)求GPS數(shù)據(jù)監(jiān)視服務(wù)的客戶(hù)端發(fā)送最新的GPS數(shù)據(jù)。其工作流程如圖5所示,具體說(shuō)明如下(1)服務(wù)器端為每個(gè)GPS數(shù)據(jù)監(jiān)視服務(wù)請(qǐng)求生成一個(gè)數(shù)據(jù)發(fā)回線程和一個(gè)單向數(shù)據(jù)管道,并將管道的入口存放于一個(gè)鏈表中。當(dāng)有新的請(qǐng)求時(shí),將其對(duì)應(yīng)的管道入口加入該鏈表中,對(duì)應(yīng)于實(shí)施例中的第1-5步;當(dāng)有客戶(hù)端結(jié)束服務(wù)會(huì)話,不再需要向其發(fā)回GPS數(shù)據(jù)時(shí),則將其對(duì)應(yīng)的管道入口從鏈表中刪除,對(duì)應(yīng)于實(shí)施例中的第6-9步;(2)收到新的GPS數(shù)據(jù),對(duì)應(yīng)于實(shí)施例中的第10步;(3)向鏈表中的每一個(gè)管道入口寫(xiě)入該數(shù)據(jù),對(duì)應(yīng)于實(shí)施例中的第11、12步;(4)對(duì)應(yīng)于每個(gè)客戶(hù)端的GPS數(shù)據(jù)發(fā)回線程,等待接收對(duì)應(yīng)管道中新的GPS數(shù)據(jù),直到管道中發(fā)來(lái)新的數(shù)據(jù)。對(duì)應(yīng)于實(shí)施中的第13步;(5)將該數(shù)據(jù)從管道中取出后發(fā)回客戶(hù)端,使數(shù)據(jù)及時(shí)顯示在客戶(hù)端。若在將數(shù)據(jù)發(fā)回客戶(hù)端的過(guò)程中發(fā)生錯(cuò)誤,則認(rèn)為該客戶(hù)端已關(guān)閉,不再需要接收實(shí)時(shí)數(shù)據(jù),將其對(duì)應(yīng)管道的入口自鏈表中刪除。對(duì)應(yīng)于實(shí)施例中的第14-17步。
上述對(duì)管道入口鏈表的各項(xiàng)操作,包括加入、刪除及向各管道發(fā)送數(shù)據(jù),均使用Java中的同步機(jī)制,保證在多線程環(huán)境下的鏈表中數(shù)據(jù)的一致性。
權(quán)利要求
1.一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng),包括實(shí)時(shí)數(shù)據(jù)生產(chǎn)方和實(shí)時(shí)數(shù)據(jù)消費(fèi)方,其特征在于還包括一實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊,所述實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊包括實(shí)時(shí)數(shù)據(jù)接收模塊、實(shí)時(shí)數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)消費(fèi)方注冊(cè)模塊,所述實(shí)時(shí)數(shù)據(jù)接收模塊接收數(shù)據(jù)生產(chǎn)方所生成數(shù)據(jù),所述數(shù)據(jù)消費(fèi)方注冊(cè)模接受實(shí)時(shí)數(shù)據(jù)消費(fèi)方的注冊(cè)和注銷(xiāo),所述實(shí)時(shí)數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)消費(fèi)方注冊(cè)模塊的信息,將數(shù)據(jù)發(fā)向各個(gè)當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)消費(fèi)方。
2.一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,采用權(quán)利要求1所述面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng),其特征在于包括以下步驟,1)數(shù)據(jù)消費(fèi)方向數(shù)據(jù)轉(zhuǎn)發(fā)模塊注冊(cè)及注銷(xiāo)步驟;2)實(shí)時(shí)數(shù)據(jù)接收模塊接收實(shí)時(shí)數(shù)據(jù)生產(chǎn)方產(chǎn)生的實(shí)時(shí)數(shù)據(jù);3)當(dāng)為注冊(cè)請(qǐng)求時(shí),實(shí)時(shí)數(shù)據(jù)發(fā)送模塊將實(shí)時(shí)數(shù)據(jù)發(fā)送至該實(shí)時(shí)數(shù)據(jù)消費(fèi)方;當(dāng)為注銷(xiāo)請(qǐng)求時(shí),將該數(shù)據(jù)消費(fèi)方的注冊(cè)信息清除,停止向該數(shù)據(jù)消費(fèi)方發(fā)送實(shí)時(shí)數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,其特征在于所述步驟1)注冊(cè)包括以下步驟a、數(shù)據(jù)消費(fèi)方啟動(dòng)后,向數(shù)據(jù)轉(zhuǎn)發(fā)模塊對(duì)應(yīng)URL地址發(fā)送普通HTTP請(qǐng)求;b、數(shù)據(jù)發(fā)送模塊中的數(shù)據(jù)消費(fèi)方注冊(cè)模塊為該數(shù)據(jù)消費(fèi)方創(chuàng)建一個(gè)獨(dú)立的線程,該c、線程將在數(shù)據(jù)消費(fèi)方的生命期內(nèi),負(fù)責(zé)其注冊(cè)、數(shù)據(jù)發(fā)送和注銷(xiāo)的工作;d、該線程創(chuàng)建一個(gè)專(zhuān)屬于該數(shù)據(jù)消費(fèi)方的管道,用于將實(shí)時(shí)數(shù)據(jù)的傳輸;e、線程將管道的輸入端互斥加入到系統(tǒng)全局的管道鏈表中;f、線程保留管道的輸出端,并進(jìn)入等待狀態(tài)直到管道的輸出端有數(shù)據(jù)輸出。
4.根據(jù)權(quán)利要求3所述的面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,其特征在于當(dāng)線程在向其對(duì)應(yīng)的數(shù)據(jù)消費(fèi)方發(fā)送數(shù)據(jù)過(guò)程中出現(xiàn)錯(cuò)誤或有中止請(qǐng)求時(shí),則認(rèn)為該數(shù)據(jù)消費(fèi)方已經(jīng)關(guān)閉不再需要實(shí)時(shí)數(shù)據(jù),進(jìn)入所述步驟1)的注銷(xiāo)過(guò)程,具體包括以下步驟a、以互斥的方式將對(duì)應(yīng)的管道輸入端自系統(tǒng)全局的管道鏈表中刪除;b、將管道析構(gòu),釋放其所占資源;c、線程本身退出,結(jié)束針對(duì)該數(shù)據(jù)消費(fèi)方的處理。
5.據(jù)權(quán)利要求3或4所述的面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,其特征在于所述步驟2)包括以下步驟a、收到數(shù)據(jù)生產(chǎn)方發(fā)來(lái)的實(shí)時(shí)數(shù)據(jù);b、對(duì)全局管道鏈表中現(xiàn)有的所有管道數(shù)據(jù)端,發(fā)送本次收到的實(shí)時(shí)數(shù)據(jù);c、向所有管道輸入端發(fā)送完成后,進(jìn)入等待狀態(tài),等待后續(xù)實(shí)時(shí)數(shù)據(jù)。
6.據(jù)權(quán)利要求3或4所述的面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布方法,其特征在于所述步驟3)中實(shí)時(shí)數(shù)據(jù)發(fā)送模塊將實(shí)時(shí)數(shù)據(jù)發(fā)送至該實(shí)時(shí)數(shù)據(jù)消費(fèi)方包括以下步驟a、管道中有新的實(shí)時(shí)數(shù)據(jù);b、從管道數(shù)出端讀取新的實(shí)時(shí)數(shù)據(jù);c、將該實(shí)時(shí)數(shù)據(jù)發(fā)送到實(shí)時(shí)數(shù)據(jù)消費(fèi)方;d、檢查在上一步發(fā)送過(guò)程中是否發(fā)生錯(cuò)誤,如果有錯(cuò)誤發(fā)生,認(rèn)為該消費(fèi)方已關(guān)閉,通知消費(fèi)方注冊(cè)模塊進(jìn)入注銷(xiāo)過(guò)程;e、如果發(fā)送沒(méi)有發(fā)生錯(cuò)誤,進(jìn)入等待狀態(tài),等待管道中新的數(shù)據(jù)。
全文摘要
一種面向瘦客戶(hù)端的實(shí)時(shí)數(shù)據(jù)主動(dòng)發(fā)布系統(tǒng)及方法,包括實(shí)時(shí)數(shù)據(jù)生產(chǎn)方、實(shí)時(shí)數(shù)據(jù)消費(fèi)方和實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊,所述實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊包括實(shí)時(shí)數(shù)據(jù)接收模塊、實(shí)時(shí)數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)消費(fèi)方注冊(cè)模塊,所述實(shí)時(shí)數(shù)據(jù)接收模塊接收數(shù)據(jù)生產(chǎn)方所生成數(shù)據(jù),所述數(shù)據(jù)消費(fèi)方注冊(cè)模接受實(shí)時(shí)數(shù)據(jù)消費(fèi)方的注冊(cè)和注銷(xiāo),所述實(shí)時(shí)數(shù)據(jù)發(fā)送模塊根據(jù)數(shù)據(jù)消費(fèi)方注冊(cè)模塊的信息,將數(shù)據(jù)發(fā)向各個(gè)當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)消費(fèi)方。本發(fā)明技術(shù)方案使得實(shí)時(shí)數(shù)據(jù)的發(fā)送即具有主動(dòng)發(fā)送的高實(shí)時(shí)性和低延遲性,又具備B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)系統(tǒng)的方便性和通用性。且瘦客戶(hù)端便于系統(tǒng)開(kāi)發(fā)、部署和維護(hù)。
文檔編號(hào)H04L12/54GK1953444SQ20051003059
公開(kāi)日2007年4月25日 申請(qǐng)日期2005年10月17日 優(yōu)先權(quán)日2005年10月17日
發(fā)明者蔣昌俊, 曾國(guó)蓀, 陳閎中, 苗奪謙, 閻春鋼, 岳峰, 章昭輝, 方鈺 申請(qǐng)人:同濟(jì)大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1