欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

實(shí)時(shí)數(shù)據(jù)更新方法、裝置和系統(tǒng)與流程

文檔序號(hào):12135108閱讀:551來源:國知局
實(shí)時(shí)數(shù)據(jù)更新方法、裝置和系統(tǒng)與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體涉及一種實(shí)時(shí)數(shù)據(jù)更新方法、裝置和系統(tǒng)。



背景技術(shù):

隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)資源也越來越多,很多服務(wù)都會(huì)布置在應(yīng)用服務(wù)器上,供用戶終端訪問網(wǎng)絡(luò)資源。比如火車票訂票服務(wù)、飛機(jī)票訂票服務(wù)、或者路況服務(wù)、或者股票服務(wù)等。在實(shí)際應(yīng)用中,上述應(yīng)用服務(wù)具備一定實(shí)時(shí)性,如到當(dāng)前時(shí)刻某個(gè)車次還剩多少車票,當(dāng)前時(shí)刻股票走勢(shì),當(dāng)前時(shí)刻的路況等。

在先技術(shù)中,客戶端需要不斷刷新頁面,以發(fā)送請(qǐng)求到應(yīng)用服務(wù)所在服務(wù)器,以獲取其需要的實(shí)時(shí)數(shù)據(jù)。但是該過程中,服務(wù)器要維護(hù)各個(gè)客戶端的狀態(tài),如維護(hù)客戶端獲取到了哪一時(shí)刻的實(shí)時(shí)數(shù)據(jù)的狀態(tài),然后在該客戶端下次訪問時(shí),將該時(shí)刻之后的實(shí)時(shí)數(shù)據(jù)返回給客戶端,如此,服務(wù)器需要維護(hù)大量的狀態(tài),占用相當(dāng)多的資源,影響服務(wù)器性能。另外,對(duì)于客戶端來說,由于需要頻繁刷新頁面,對(duì)獲取到的新的實(shí)時(shí)數(shù)據(jù)進(jìn)行再渲染,也會(huì)占用過多客戶端資源,在刷新到一定次數(shù)之后,會(huì)導(dǎo)致客戶端卡頓的現(xiàn)象,從而影響用戶對(duì)客戶端的使用。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的實(shí)時(shí)數(shù)據(jù)更新裝置和相應(yīng)的實(shí)時(shí)數(shù)據(jù)更新方法。

依據(jù)本發(fā)明的一個(gè)方面,本發(fā)明公開了一種實(shí)時(shí)數(shù)據(jù)更新方法,包括:

獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消 息;

由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述應(yīng)用服務(wù)包括:火車票訂票服務(wù)、和/或飛機(jī)票訂票服務(wù)、和/或者路況服務(wù)、和/或者股票服務(wù)。

優(yōu)選地,當(dāng)所述應(yīng)用服務(wù)為火車票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)車次信息;

當(dāng)所述應(yīng)用服務(wù)為飛機(jī)票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)航班信息;

當(dāng)所述應(yīng)用服務(wù)為路況服務(wù)時(shí),所述指定對(duì)象包括至少一條指定路線信息;

當(dāng)所述應(yīng)用服務(wù)為股票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)一支股票信息。

優(yōu)選地,在對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù)之后,還包括:

根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

優(yōu)選地,在根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息之后,還包括:

判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;

如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示包括:

根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

優(yōu)選地,所述根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息包括:

根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

優(yōu)選地,所述長連接包括websocket連接。

依據(jù)本發(fā)明的另外一個(gè)方面,本發(fā)明公開了一種實(shí)時(shí)數(shù)據(jù)更新裝置,包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

消息發(fā)送模塊,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述應(yīng)用服務(wù)包括:火車票訂票服務(wù)、飛機(jī)票訂票服務(wù)、或者路況服務(wù)、或者股票服務(wù)。

優(yōu)選地,當(dāng)所述應(yīng)用服務(wù)為火車票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)車次信息;

當(dāng)所述應(yīng)用服務(wù)為飛機(jī)票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)航班信息;

當(dāng)所述應(yīng)用服務(wù)為路況服務(wù)時(shí),所述指定對(duì)象包括至少一條指定路線信息;

當(dāng)所述應(yīng)用服務(wù)為股票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)一支股票信息。

優(yōu)選地,在實(shí)時(shí)數(shù)據(jù)獲取模塊之后,還包括:

訂閱記錄模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

優(yōu)選地,在實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊之后,還包括:

初始信息發(fā)送模塊,適于判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述客戶端包括:

第一展示模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

優(yōu)選地,所述消息發(fā)送模塊包括:

隊(duì)列放入子模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

實(shí)時(shí)數(shù)據(jù)消息發(fā)送模塊,適于將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

優(yōu)選地,所述長連接包括websocket連接。

依據(jù)本發(fā)明的另外一個(gè)方面,本發(fā)明公開了一種實(shí)時(shí)數(shù)據(jù)更新系統(tǒng),包括:

應(yīng)用服務(wù)器、監(jiān)控服務(wù)器和客戶端;

所述應(yīng)用服務(wù)器適于運(yùn)行應(yīng)用服務(wù),并將應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù)返回給監(jiān)控服務(wù)器;

所述監(jiān)控服務(wù)器包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

消息發(fā)送模塊,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;

所述客戶端適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

依據(jù)本發(fā)明的另外一個(gè)方面,本發(fā)明公開了一種設(shè)備,包括:

存儲(chǔ)器,適于存儲(chǔ)可執(zhí)行代碼;

處理器,適于執(zhí)行所述可執(zhí)行代碼;所述可執(zhí)行代碼執(zhí)行以下步驟的方法:

獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

根據(jù)本發(fā)明的應(yīng)用服務(wù)的實(shí)時(shí)數(shù)據(jù)更新方法和裝置,可以從各個(gè)應(yīng)用服務(wù)器獲取各個(gè)應(yīng)用服務(wù)的實(shí)時(shí)數(shù)據(jù),比如獲取火車票訂票服務(wù)或者飛機(jī)票訂票服務(wù)的實(shí)時(shí)訂票信息,路況服務(wù)的實(shí)時(shí)路況信息,股票服務(wù)的實(shí)時(shí)股票信息等,然后對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);再根據(jù)pub-sub(發(fā)布及訂閱)的方式,根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù)發(fā)布實(shí)時(shí)數(shù)據(jù)消息,然后將該實(shí)時(shí)數(shù)據(jù)消息發(fā)送給訂閱該應(yīng)用服務(wù)各指定對(duì)象的各個(gè)第一訂閱者,并且由于本發(fā)明的客戶端與第一訂閱者長連接,那么可再由第一訂閱者通過長連接將該實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)至與該第一訂閱者相應(yīng)的客戶端,由此解決了服務(wù)器側(cè)需要維護(hù)各個(gè)客戶端的大量狀態(tài),導(dǎo)致服務(wù)器資源占用較多的問題,以及客戶端側(cè)需要頻繁刷新頁面以獲取新的實(shí)時(shí)數(shù)據(jù),導(dǎo)致客戶端資源占用較多、使客戶端出現(xiàn)卡頓現(xiàn)象的問題,取得了降低服務(wù)器側(cè)維護(hù)的各個(gè)客戶端的狀態(tài)的數(shù)量,即可推送實(shí)時(shí)數(shù)據(jù)消息,減少對(duì)服務(wù)器的資源占用,以及使客戶端側(cè)不用頻繁刷新即可獲取到新的實(shí)時(shí)數(shù)據(jù),減少對(duì)客戶端的資源占用的有益效果。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它 目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說明

通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通用戶將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種時(shí)數(shù)據(jù)更新方法的流程示意圖;

圖1A示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的客戶端的應(yīng)用盒子展示示例;

圖2示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種時(shí)數(shù)據(jù)更新方法的流程示意圖;

圖3示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種時(shí)數(shù)據(jù)更新裝置的結(jié)構(gòu)示意圖;

圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種時(shí)數(shù)據(jù)更新裝置的結(jié)構(gòu)示意圖;

圖5示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種時(shí)數(shù)據(jù)更新系統(tǒng)的結(jié)構(gòu)示意圖;

圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的用戶。

實(shí)施例一

參照?qǐng)D1,其示出了本發(fā)明一種實(shí)時(shí)數(shù)據(jù)更新方法的流程示意圖,具體可以包括:

步驟110,獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

在本發(fā)明實(shí)施例中,所述應(yīng)用服務(wù)可包括火車票訂票服務(wù)、和/或飛機(jī)票訂票服務(wù)、和/或者路況服務(wù)、和/或者股票服務(wù)。

如果本發(fā)明實(shí)施例獲取一個(gè)應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù),則本發(fā)明實(shí)施例的步驟可以執(zhí)行于應(yīng)用服務(wù)所在的應(yīng)用服務(wù)器中,也可以執(zhí)行獨(dú)立于應(yīng)用服務(wù)器的監(jiān)控服務(wù)器中。

如果本發(fā)明實(shí)施例獲取多個(gè)應(yīng)用服務(wù)的提供的實(shí)時(shí)數(shù)據(jù),如果該多個(gè)應(yīng)用服務(wù)在一個(gè)應(yīng)用服務(wù)器中運(yùn)行,則本發(fā)明實(shí)施例的步驟可以執(zhí)行于應(yīng)用服務(wù)所在的應(yīng)用服務(wù)器中,也可以執(zhí)行獨(dú)立于應(yīng)用服務(wù)器的監(jiān)控服務(wù)器中。如果該多個(gè)應(yīng)用服務(wù)在多個(gè)應(yīng)用服務(wù)器中運(yùn)行,比如每個(gè)應(yīng)用服務(wù)器運(yùn)行一個(gè)應(yīng)用服務(wù),則本發(fā)明實(shí)施例的步驟執(zhí)行于監(jiān)控服務(wù)器中。

在實(shí)際中,當(dāng)本發(fā)明實(shí)施例的步驟執(zhí)行于監(jiān)控服務(wù)器中時(shí),前端的應(yīng)用服務(wù)器中可以設(shè)置SDK(Software Development Kit,軟件開發(fā)工具包),該SDK提供了向監(jiān)控服務(wù)器傳輸實(shí)時(shí)數(shù)據(jù)的接口。在應(yīng)用服務(wù)運(yùn)行的時(shí)候,當(dāng)應(yīng)用服務(wù)器監(jiān)控到其應(yīng)用服務(wù)出現(xiàn)新的實(shí)時(shí)數(shù)據(jù),比如實(shí)時(shí)路況數(shù)據(jù),則可以調(diào)用相應(yīng)接口將該實(shí)時(shí)數(shù)據(jù)傳輸給監(jiān)控服務(wù)器,從而監(jiān)控服務(wù)器則獲取到了各個(gè)應(yīng)用服務(wù)的實(shí)時(shí)數(shù)據(jù)。

步驟120,對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

在本發(fā)明實(shí)施例中,對(duì)于應(yīng)用服務(wù),不同的數(shù)據(jù)可以需求的實(shí)時(shí)數(shù)據(jù)不同,其訂閱的指定對(duì)象可能不同。如火車票訂票服務(wù),用戶A可能需要的是某個(gè)時(shí)間的車次A的票務(wù)信息,而用戶B可能需要的是某個(gè)時(shí)間的車次B的票務(wù)信息。

因此,對(duì)于應(yīng)用服務(wù)的所有實(shí)時(shí)數(shù)據(jù),對(duì)應(yīng)不同的第一訂閱者,本發(fā)明實(shí)施例可以從該所有實(shí)時(shí)數(shù)據(jù)中,提取該第一訂閱者需求的實(shí)時(shí)數(shù)據(jù)。

需要說明的是,前述指定對(duì)象在不同應(yīng)用服務(wù)中對(duì)應(yīng)不同的對(duì)象:

(1)當(dāng)所述應(yīng)用服務(wù)為火車票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)車次信息;

上述車次信息例如時(shí)間信息+車次,如(2015.10.1,Z41);又如時(shí)間信 息+始發(fā)站+終點(diǎn)站,如(2015.10.1,北京-西安)。

如此,在火車票訂票服務(wù)每次刷新其車票余票后,對(duì)于各個(gè)訂票信息,本發(fā)明實(shí)施例則可以獲取相應(yīng)的余票。

(2)當(dāng)所述應(yīng)用服務(wù)為飛機(jī)票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)航班信息;

上述航班信息例如時(shí)間信息+航班號(hào),如(2015.10.1,CZ6522);又如時(shí)間信息+始發(fā)站+終點(diǎn)站,如(2015.10.1,北京-西安)。

如此,在飛機(jī)票訂票服務(wù)每次刷新其每個(gè)航班的余票余量后,對(duì)于各個(gè)訂票信息,本發(fā)明實(shí)施例則可以獲取相應(yīng)的余量。

(3)當(dāng)所述應(yīng)用服務(wù)為路況服務(wù)時(shí),所述指定對(duì)象包括至少一條指定路線信息;

上述指定路線信息比如起點(diǎn)+終點(diǎn)。當(dāng)然,起點(diǎn)+終點(diǎn)之間可能有多條路線,每條路線可能有多個(gè)路段,本發(fā)明實(shí)施例可以選擇N條路線,然后服務(wù)器則可以將該路線拆分為路段,方便獲取每個(gè)路段的路況信息。該路況信息比如該路段的擁堵程度,如順暢、較堵、擁堵等。

(4)當(dāng)所述應(yīng)用服務(wù)為股票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)一支股票信息。

上述股票信息比如股票代碼、股票名稱等。

本發(fā)明實(shí)施例中,用戶的客戶端需要首先連接到前述執(zhí)行本發(fā)明實(shí)施例步驟的監(jiān)控服務(wù)器或者應(yīng)用服務(wù)器,然后該監(jiān)控服務(wù)器或者應(yīng)用服務(wù)器為該客戶端分配一個(gè)第一訂閱者。則用戶可以通過客戶端發(fā)送將要訂閱的指定對(duì)象到第一訂閱者,第一訂閱者則可以向監(jiān)控服務(wù)器或者應(yīng)用服務(wù)器中的發(fā)布者訂閱該指定對(duì)象對(duì)應(yīng)的各種消息。

需要說明書的是,在實(shí)際應(yīng)用中,在執(zhí)行本發(fā)明實(shí)施例步驟的監(jiān)控服務(wù)器或者應(yīng)用服務(wù)器中,可以將第一進(jìn)程作為發(fā)布者,將另外的各個(gè)第二進(jìn)程作為該發(fā)布者的第一訂閱者,每個(gè)第二進(jìn)程就是一個(gè)第一訂閱者。

客戶端向前述執(zhí)行本發(fā)明實(shí)施例的步驟的監(jiān)控服務(wù)器或者應(yīng)用服務(wù)器發(fā)送連接請(qǐng)求時(shí),監(jiān)控服務(wù)器則為其啟動(dòng)第一訂閱者進(jìn)程,該第一訂閱者進(jìn) 程訂閱第一進(jìn)程的對(duì)應(yīng)前述指定對(duì)象的實(shí)時(shí)數(shù)據(jù)消息,并且由該第一訂閱者負(fù)責(zé)與該客戶端進(jìn)行通信。

可以理解,本發(fā)明所述步驟120之前,客戶端需要首先與第一訂閱者建立長連接。

步驟130,根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

可以理解,在本發(fā)明實(shí)施例中,可能有很多用戶需要訂閱的指定對(duì)象是一樣的,那么這些用戶的客戶端對(duì)應(yīng)的第一訂閱者可以訂閱同樣的實(shí)時(shí)數(shù)據(jù)消息。比如用戶A、B、C需要訂閱指定對(duì)象L1、L2、L3,用戶E、F、G需要訂閱M1、M2、M3,那么對(duì)應(yīng)用戶A、B、C的第一訂閱者則訂閱指定對(duì)象L1、L2、L3的實(shí)時(shí)數(shù)據(jù)消息。對(duì)應(yīng)用戶E、F、G的第一訂閱者則訂閱指定對(duì)象M1、M2、M3的實(shí)時(shí)數(shù)據(jù)消息。

在本發(fā)明實(shí)施例中,對(duì)于各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),一起生成一條實(shí)時(shí)數(shù)據(jù)。對(duì)于第一進(jìn)程可以根據(jù)前述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息,并作為發(fā)布者發(fā)布該實(shí)時(shí)數(shù)據(jù)消息。其中,發(fā)布該實(shí)時(shí)數(shù)據(jù)消息時(shí),可將該實(shí)時(shí)數(shù)據(jù)消息send(推送)給各個(gè)第一訂閱者,各個(gè)第一訂閱者則可以receive(接收)該實(shí)時(shí)數(shù)據(jù)消息。

可以理解,在本發(fā)明實(shí)施例中,在前述服務(wù)器中記錄了各個(gè)第一訂閱者的訂閱所針對(duì)的各指定對(duì)象,然后在步驟120中提取指定對(duì)象的數(shù)據(jù)時(shí),根據(jù)各個(gè)指定對(duì)象的組合生成實(shí)時(shí)數(shù)據(jù)消息后,可以根據(jù)上述記錄,對(duì)應(yīng)通知各個(gè)對(duì)應(yīng)這些指定對(duì)象的第一訂閱者。

優(yōu)選地,步驟130包括:

子步驟131,根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

在本發(fā)明實(shí)施例中,對(duì)于從應(yīng)用服務(wù)器中獲取的各服務(wù)的實(shí)時(shí)數(shù)據(jù),首先可針對(duì)其生成實(shí)時(shí)數(shù)據(jù)消息。

在實(shí)際應(yīng)用中,對(duì)于支股票信息的實(shí)時(shí)數(shù)據(jù),可以將指定時(shí)間段的所有實(shí)時(shí)數(shù)據(jù),統(tǒng)一生成實(shí)時(shí)數(shù)據(jù)消息。比如對(duì)3秒內(nèi)獲取的各個(gè)應(yīng)用服務(wù)器的 實(shí)時(shí)數(shù)據(jù)進(jìn)行按時(shí)間序列整合,生成實(shí)時(shí)數(shù)據(jù)消息。進(jìn)一步的如,從0秒開始,監(jiān)控服務(wù)器開始受到應(yīng)用服務(wù)器發(fā)送的實(shí)時(shí)數(shù)據(jù),那么到3秒時(shí),監(jiān)控服務(wù)器將0-3秒收到的實(shí)時(shí)數(shù)據(jù)進(jìn)行整合,生成實(shí)時(shí)數(shù)據(jù)消息;然后到6秒時(shí),監(jiān)控服務(wù)器將3-6秒受到的實(shí)時(shí)數(shù)據(jù)進(jìn)行整合,生成實(shí)時(shí)數(shù)據(jù)消息,以此類推。

對(duì)于車次信息、航班信息、指定路線信息的實(shí)時(shí)數(shù)據(jù),本發(fā)明可以不用對(duì)指定時(shí)間段的所有實(shí)時(shí)數(shù)據(jù)進(jìn)行整合,直接采用最新的實(shí)時(shí)數(shù)據(jù)即可。

然后,本發(fā)明實(shí)施例將實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列中,zmq(ZeroMQ)是一個(gè)簡單好用的傳輸層,像框架一樣的一個(gè)socket library,他使得Socket編程更加簡單、簡潔和性能更高。是一個(gè)消息處理隊(duì)列庫,可在多個(gè)進(jìn)程、內(nèi)核和主機(jī)盒之間彈性伸縮,其在Socket API之上做了一層封裝,將網(wǎng)絡(luò)通訊、進(jìn)程通訊和進(jìn)程通訊抽象為統(tǒng)一的API接口。通過zmq可是實(shí)現(xiàn)一對(duì)多的pub-sub方式,一個(gè)發(fā)布者發(fā)布的消息可以推送給多個(gè)訂閱者。

在本發(fā)明實(shí)施例中各個(gè)第一訂閱者與zmq隊(duì)列可通過socket(套接字)連接。

子步驟132,將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

在本發(fā)明實(shí)施例中,第一訂閱者可以為loadjs,該loadjs可以實(shí)現(xiàn)websocket長連接,并且能以訂閱者的身份訂閱zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,還以中間者的身份,將獲得的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端。該loadjs提供了zmq的一個(gè)庫,可以執(zhí)行訂閱zmq隊(duì)列所在進(jìn)程的操作,訂閱完成后可以提供一個(gè)端口,將其獲取到的實(shí)時(shí)數(shù)據(jù)消息放入該端口,然后通過該端口將實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)至客戶端。

在本發(fā)明實(shí)施例中,那么對(duì)于zmq隊(duì)列首部的實(shí)時(shí)數(shù)據(jù)消息,則可以發(fā)送給各個(gè)第一訂閱者。在實(shí)際應(yīng)用中,監(jiān)控服務(wù)器的第一進(jìn)程可以記錄在線的第一訂閱者的個(gè)數(shù),然后將發(fā)布的實(shí)時(shí)數(shù)據(jù)消息推送給各個(gè)第一訂閱者時(shí),如果在指定時(shí)間段內(nèi)比如5秒內(nèi),無論是否所有第一訂閱者都接收到了該實(shí)時(shí)數(shù)據(jù)消息,該實(shí)時(shí)數(shù)據(jù)則可以從zmq隊(duì)列中移出,然后發(fā)布zmq隊(duì) 列中的下一個(gè)實(shí)時(shí)數(shù)據(jù)消息。

步驟140,由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

當(dāng)?shù)谝挥嗛喺攉@取到實(shí)時(shí)數(shù)據(jù)消息后,則可以通過長連接將該實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給予該第一訂閱者連接的客戶端。然后,客戶端即可根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

當(dāng)然,在實(shí)際應(yīng)用中,客戶端可以從該實(shí)時(shí)數(shù)據(jù)消息中提取各實(shí)時(shí)數(shù)據(jù),然后針對(duì)這些實(shí)時(shí)數(shù)據(jù)進(jìn)行渲染。比如對(duì)于車次信息的實(shí)時(shí)數(shù)據(jù)消息,可以從中提取實(shí)時(shí)數(shù)據(jù):(日期,車次,余票),如(2015.10.1,Z41,硬臥余票20,軟臥余票30,高級(jí)軟臥余票40),(2015.10.1,G58,二等座余票20,一等座余票50,商務(wù)座余票60)等,客戶端可以將上述信息進(jìn)行并列展示。對(duì)于股票信息的實(shí)時(shí)數(shù)據(jù)消息,可以從中提取實(shí)時(shí)數(shù)據(jù):(時(shí)刻,股票代碼,股票名稱,漲幅),如(9:31:00,601766,中國中車,+1.50%),(9:31:01,601766,中國中車,+1.00%),(9:31:01,601766,中國中車,+1.67%),那么客戶端可以將上述股票的信息按時(shí)間序列進(jìn)行展示,并且可以渲染為曲線圖。

優(yōu)選地,所述長連接包括websocket連接。

WebSocket長連接是HTML5(Hypertext Markup Language5,超文本標(biāo)記語言5)一種新的協(xié)議,它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工通信(full-duplex)。采用WebSocket長連接,瀏覽器和服務(wù)器只需要要做一個(gè)握手的動(dòng)作,然后,瀏覽器和服務(wù)器之間就形成了一條快速通道。兩者之間就直接可以數(shù)據(jù)互相傳送。

在本發(fā)明實(shí)施例中,客戶端可以采用Higcharts工具對(duì)實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染。其中,Higcharts是兼容絕大多數(shù)瀏覽器的純js(javascript,腳本)圖表庫。

優(yōu)選地,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示包括:

子步驟141,根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

在本發(fā)明實(shí)施例中,火車票訂票服務(wù)的票務(wù)信息、飛機(jī)票訂票服務(wù)的票 務(wù)信息、路況服務(wù)的擁堵信息、股票服務(wù)漲幅曲線,都可以在應(yīng)用盒子中進(jìn)行渲染展示。

所述應(yīng)用盒子(onebox)是一種在瀏覽器網(wǎng)頁中展示的技術(shù),其可以調(diào)用java腳本渲染根據(jù)預(yù)定模板對(duì)數(shù)據(jù)進(jìn)行渲染。如圖1A,其為在網(wǎng)頁的應(yīng)用盒子中展示票務(wù)信息的示例,圖1A中,在網(wǎng)頁S10中的應(yīng)用盒子S20中。展示了2015.10.1日,Z41的硬臥余票20張,軟臥余票30張,高級(jí)軟臥40張。

本發(fā)明實(shí)施例的前述過程,在執(zhí)行本發(fā)明實(shí)施例的步驟的服務(wù)器側(cè)采用pub-sub的方式,服務(wù)器側(cè)收集到實(shí)時(shí)數(shù)據(jù)后,對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),然后主動(dòng)將對(duì)應(yīng)各第一訂閱者的實(shí)時(shí)數(shù)據(jù)消息推送給第一訂閱者,然后再由第一訂閱者通過長連接轉(zhuǎn)發(fā)給客戶端。由此解決了服務(wù)器側(cè)需要維護(hù)各個(gè)客戶端的大量狀態(tài),導(dǎo)致服務(wù)器資源占用較多的問題,以及客戶端側(cè)需要頻繁刷新頁面以獲取新的實(shí)時(shí)數(shù)據(jù),導(dǎo)致客戶端資源占用較多、使客戶端出現(xiàn)卡頓現(xiàn)象的問題,取得了降低服務(wù)器側(cè)維護(hù)的各個(gè)客戶端的狀態(tài)的數(shù)量,即可推送實(shí)時(shí)數(shù)據(jù)消息,減少對(duì)服務(wù)器的資源占用,以及使客戶端側(cè)不用頻繁刷新即可被動(dòng)獲取到新的實(shí)時(shí)數(shù)據(jù),減少對(duì)客戶端的資源占用的有益效果。

實(shí)施例二

參照?qǐng)D2,其示出了本發(fā)明一種實(shí)時(shí)數(shù)據(jù)更新方法的流程示意圖,具體可以包括:

步驟210,獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

步驟220,對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

步驟230,根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

在本發(fā)明實(shí)施例中,在監(jiān)控服務(wù)器還可以設(shè)置一個(gè)的第三進(jìn)程,該第三進(jìn)程作為第二訂閱者以訂閱新出現(xiàn)的實(shí)時(shí)數(shù)據(jù)消息,其可以從監(jiān)控系統(tǒng)啟動(dòng)時(shí)就啟動(dòng)。然后,當(dāng)監(jiān)控服務(wù)器的第一進(jìn)程獲取到實(shí)時(shí)數(shù)據(jù),并生成實(shí)時(shí)數(shù) 據(jù)消息后,可以將實(shí)時(shí)數(shù)據(jù)消息推送給該第二訂閱者。然后第二訂閱者獲取到該項(xiàng)目消息后,即可通過redis進(jìn)行記錄,其記錄第一時(shí)間周期內(nèi)的各個(gè)服務(wù)的實(shí)時(shí)數(shù)據(jù)消息,比如記錄最近10分鐘的實(shí)時(shí)數(shù)據(jù)消息。其中Redis是一個(gè)開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API(Application Program Interface,應(yīng)用程序接口)。

當(dāng)然,在本發(fā)明實(shí)施例中,第二訂閱者記錄各個(gè)實(shí)時(shí)數(shù)據(jù)消息時(shí),可以記錄該實(shí)時(shí)數(shù)據(jù)消息對(duì)應(yīng)的各指定對(duì)象的組合,以備后續(xù)新的客戶端連接到服務(wù)器時(shí),根據(jù)客戶端需求的指定對(duì)象的組合,將相應(yīng)的歷史實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端。

在實(shí)際應(yīng)用中,上述實(shí)時(shí)數(shù)據(jù)消息會(huì)寫入zmq隊(duì)列中,然后從該zmq隊(duì)列中將實(shí)時(shí)數(shù)據(jù)消息推送給第二訂閱者。

步驟240,判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;如果客戶端是初始與第一訂閱者進(jìn)行長連接,則進(jìn)入步驟250;如果客戶端不是初始與第一訂閱者進(jìn)行長連接,則進(jìn)入步驟260;

步驟250,所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

在本發(fā)明實(shí)施例中,當(dāng)一個(gè)未連接的客戶端的連接請(qǐng)求發(fā)送到監(jiān)控服務(wù)器時(shí),監(jiān)控服務(wù)器則可以為其加載一個(gè)第一訂閱者,如前述loadjs,然后由loadjs維護(hù)與該客戶端的長連接。而由于客戶端是初始連接到第一訂閱者,其還未收到過任何實(shí)時(shí)數(shù)據(jù)消息,為了方便用戶觀看實(shí)時(shí)數(shù)據(jù)消息的狀態(tài),本發(fā)明實(shí)施例則第一訂閱者可以獲取當(dāng)前初始鏈接時(shí)刻之前的第一時(shí)間周期內(nèi)與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端,再將其轉(zhuǎn)發(fā)給客戶端。比如第二訂閱者記錄的指定對(duì)象A、B、C的實(shí)時(shí)數(shù)據(jù)消息,而新接入的客戶端的第一訂閱者訂閱了指定對(duì)象A、B、C的實(shí)時(shí)數(shù)據(jù)消息,那么第二訂閱者可將指定對(duì)象A、B、C的歷史的實(shí)時(shí) 數(shù)據(jù)消息轉(zhuǎn)發(fā)給該客戶端。

該客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示

比如客戶端A初始接入的時(shí)刻為12:00:00,那么客戶端A對(duì)應(yīng)的第一訂閱者A,可以從第二訂閱者的記錄中獲取11:50:00-12:00:00內(nèi)的實(shí)時(shí)數(shù)據(jù)消息,然后將該一系列的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端A。那么客戶端A即可11:50:00-12:00:00內(nèi)的實(shí)時(shí)數(shù)據(jù)消息渲染為所述各指定對(duì)象的渲染圖。

當(dāng)然,如果客戶端不是初始與第一訂閱者進(jìn)行長連接,則客戶端已經(jīng)獲取過實(shí)時(shí)數(shù)據(jù)消息,只需要最新的實(shí)時(shí)數(shù)據(jù)消息即可。那么可以直接進(jìn)入步驟260,通步驟260獲取最新的實(shí)時(shí)數(shù)據(jù)消息。

步驟260,根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

步驟270,由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

本發(fā)明實(shí)施例中,尤其對(duì)于股票服務(wù)等需要以曲線方式展示的應(yīng)用服務(wù)具有較佳效果,更方便用戶查看。

本發(fā)明實(shí)施例中,在執(zhí)行本發(fā)明實(shí)施例的步驟的服務(wù)器側(cè)采用pub-sub的方式,服務(wù)器側(cè)收集到實(shí)時(shí)數(shù)據(jù)后,對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),然后主動(dòng)將對(duì)應(yīng)各第一訂閱者的實(shí)時(shí)數(shù)據(jù)消息推送給第一訂閱者,然后再由第一訂閱者通過長連接轉(zhuǎn)發(fā)給客戶端。使客戶端被動(dòng)接收實(shí)時(shí)數(shù)據(jù)消息,不用刷新網(wǎng)頁以主動(dòng)發(fā)送HTTP請(qǐng)求去獲取實(shí)時(shí)數(shù)據(jù)消息,從而可以降低客戶端的資源占用,避免因頻繁刷新網(wǎng)頁去發(fā)送HTTP請(qǐng)求而產(chǎn)生的卡頓現(xiàn)象。也降低服務(wù)器維護(hù)客戶端展示的各個(gè)服務(wù)的狀態(tài)的數(shù)量,直接將實(shí)時(shí)數(shù)據(jù)消息推送給客戶端即可,邏輯簡單,方便系統(tǒng)維護(hù),并且可以降低系統(tǒng)的資源占用。

再者,對(duì)于初始接入第一訂閱者的客戶端,可以由第一訂閱者從第二訂閱者的記錄中獲取最近一個(gè)第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端,客戶端對(duì)這些實(shí)時(shí)數(shù)據(jù)消息 進(jìn)行展示后,可以使其可以在歷史數(shù)據(jù)的狀態(tài)圖的基礎(chǔ)上,動(dòng)態(tài)的展示各服務(wù)的新的數(shù)據(jù),方便用戶查看。

實(shí)施例三

參照?qǐng)D3,其示出了本發(fā)明一種實(shí)時(shí)數(shù)據(jù)更新裝置的結(jié)構(gòu)示意圖,具體可以包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊310,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊320,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

消息發(fā)送模塊330,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊340,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述應(yīng)用服務(wù)包括:火車票訂票服務(wù)、飛機(jī)票訂票服務(wù)、或者路況服務(wù)、或者股票服務(wù)。

優(yōu)選地,當(dāng)所述應(yīng)用服務(wù)為火車票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)車次信息;

當(dāng)所述應(yīng)用服務(wù)為飛機(jī)票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)航班信息;

當(dāng)所述應(yīng)用服務(wù)為路況服務(wù)時(shí),所述指定對(duì)象包括至少一條指定路線信息;

當(dāng)所述應(yīng)用服務(wù)為股票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)一支股票信息。

優(yōu)選地,在實(shí)時(shí)數(shù)據(jù)獲取模塊之后,還包括:

訂閱記錄模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

優(yōu)選地,在實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊之后,還包括:

初始信息發(fā)送模塊,適于判斷客戶端是否是初始與第一訂閱者進(jìn)行長連 接;如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述客戶端包括:

第一展示模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

優(yōu)選地,所述消息發(fā)送模塊包括:

隊(duì)列放入子模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

實(shí)時(shí)數(shù)據(jù)消息發(fā)送模塊,適于將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

優(yōu)選地,所述長連接包括websocket連接。

實(shí)施例四

參照?qǐng)D4,其示出了本發(fā)明一種實(shí)時(shí)數(shù)據(jù)更新裝置的結(jié)構(gòu)示意圖,具體可以包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊410,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊420,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

訂閱記錄模塊430,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

初始信息發(fā)送模塊440,適于判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。如果客戶端不是初始與第一訂閱者進(jìn)行長連接,則進(jìn)入消息發(fā)送模塊450;

消息發(fā)送模塊450,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一 訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊460,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

實(shí)施例五

參照?qǐng)D5,其示出了本發(fā)明一種實(shí)時(shí)數(shù)據(jù)更新系統(tǒng)的結(jié)構(gòu)示意圖,具體可以包括:

應(yīng)用服務(wù)器510、監(jiān)控服務(wù)器520和客戶端530;

所述應(yīng)用服務(wù)器510適于運(yùn)行應(yīng)用服務(wù),并將應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù)返回給監(jiān)控服務(wù)器;

所述監(jiān)控服務(wù)器520包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊521,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊522,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

消息發(fā)送模塊523,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊524,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;

所述客戶端530適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

當(dāng)然,本發(fā)明實(shí)施例的應(yīng)用服務(wù)器可以為多個(gè),客戶端也可以為多個(gè)。

優(yōu)選地,在監(jiān)控服務(wù)器中,在實(shí)時(shí)數(shù)據(jù)獲取模塊之后,還包括:

訂閱記錄模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

優(yōu)選地,在監(jiān)控服務(wù)器中,在實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊之后,還包括:

初始信息發(fā)送模塊,適于判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各 服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

優(yōu)選地,所述客戶端包括:

第一展示模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

優(yōu)選地,在監(jiān)控服務(wù)器中,所述消息發(fā)送模塊包括:

隊(duì)列放入子模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

實(shí)時(shí)數(shù)據(jù)消息發(fā)送模塊,適于將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

優(yōu)選地,所述長連接包括websocket連接。

在本發(fā)明實(shí)施例中,由監(jiān)控服務(wù)器從各個(gè)應(yīng)用服務(wù)器中獲取實(shí)時(shí)數(shù)據(jù),可以方便的與第三方的應(yīng)用服務(wù)器的接口進(jìn)行對(duì)接,系統(tǒng)架構(gòu)靈活,并且降低應(yīng)用服務(wù)器的資源消耗。

實(shí)施例六

參照?qǐng)D6,其示出了本發(fā)明實(shí)施例的一種設(shè)備的結(jié)構(gòu)示意圖,所述設(shè)備600具體可以包括:

存儲(chǔ)器610,適于存儲(chǔ)可執(zhí)行代碼;

處理器620,適于執(zhí)行所述可執(zhí)行代碼;所述可執(zhí)行代碼執(zhí)行以下步驟的方法:

獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

在本發(fā)明實(shí)施例中該種設(shè)備可以為監(jiān)控服務(wù)器,其中所述可執(zhí)行代碼還可以包括可在監(jiān)控服務(wù)器側(cè)執(zhí)行的步驟。

對(duì)應(yīng)于服務(wù)器的客戶端中,也可包括存儲(chǔ)器和處理器,存儲(chǔ)器存儲(chǔ)可執(zhí)行代碼,處理器執(zhí)行所述可執(zhí)行代碼,所述可執(zhí)行代碼執(zhí)行以下的步驟的方法:戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

當(dāng)然,客戶端側(cè)的可執(zhí)行代碼還可以包括其他可以在客戶端執(zhí)行的步驟。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。

類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴 隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)數(shù)據(jù)更新設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。

本發(fā)明公開了A1、一種實(shí)時(shí)數(shù)據(jù)更新方法,包括:

獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù) 中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

A2、根據(jù)A1所述的方法,所述應(yīng)用服務(wù)包括:火車票訂票服務(wù)、和/或飛機(jī)票訂票服務(wù)、和/或者路況服務(wù)、和/或者股票服務(wù)。

A3、根據(jù)A2所述的方法,

當(dāng)所述應(yīng)用服務(wù)為火車票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)車次信息;

當(dāng)所述應(yīng)用服務(wù)為飛機(jī)票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)航班信息;

當(dāng)所述應(yīng)用服務(wù)為路況服務(wù)時(shí),所述指定對(duì)象包括至少一條指定路線信息;

當(dāng)所述應(yīng)用服務(wù)為股票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)一支股票信息。

A4、根據(jù)A1所述的方法,在對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù)之后,還包括:

根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

A5、根據(jù)A4所述的方法,在根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息之后,還包括:

判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;

如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

A6、根據(jù)A1所述的方法,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示包括:

根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

A7、根據(jù)A1所述的方法,所述根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息包括:

根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

A8、根據(jù)A1或A7所述的方法,所述長連接包括websocket連接。

本發(fā)明公開了B9、一種實(shí)時(shí)數(shù)據(jù)更新裝置,包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

消息發(fā)送模塊,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

B10、根據(jù)B9所述的裝置,所述應(yīng)用服務(wù)包括:火車票訂票服務(wù)、飛機(jī)票訂票服務(wù)、或者路況服務(wù)、或者股票服務(wù)。

B11、根據(jù)B10所述的裝置,

當(dāng)所述應(yīng)用服務(wù)為火車票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)車次信息;

當(dāng)所述應(yīng)用服務(wù)為飛機(jī)票訂票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)航班信息;

當(dāng)所述應(yīng)用服務(wù)為路況服務(wù)時(shí),所述指定對(duì)象包括至少一條指定路線信息;

當(dāng)所述應(yīng)用服務(wù)為股票服務(wù)時(shí),所述指定對(duì)象包括至少一個(gè)一支股票信 息。

B12、根據(jù)B9所述的裝置,在實(shí)時(shí)數(shù)據(jù)獲取模塊之后,還包括:

訂閱記錄模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),向各第二訂閱者的發(fā)送實(shí)時(shí)數(shù)據(jù)消息;所述第二訂閱者記錄第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息。

B13、根據(jù)B12所述的裝置,在實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊之后,還包括:

初始信息發(fā)送模塊,適于判斷客戶端是否是初始與第一訂閱者進(jìn)行長連接;如果客戶端是初始與第一訂閱者進(jìn)行長連接,則所述第一訂閱者從所述第二訂閱者處獲取第一時(shí)間周期內(nèi),與所述第一訂閱者所需求的各指定對(duì)象相匹配的實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給客戶端;所述客戶端將所述第一時(shí)間周期內(nèi)各服務(wù)的實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

B14、根據(jù)B9所述的裝置,所述客戶端包括:

第一展示模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息,在應(yīng)用盒子中渲染進(jìn)行渲染展示。

B15、根據(jù)B9所述的裝置,所述消息發(fā)送模塊包括:

隊(duì)列放入子模塊,適于根據(jù)所述實(shí)時(shí)數(shù)據(jù),生成實(shí)時(shí)數(shù)據(jù)消息并將所述實(shí)時(shí)數(shù)據(jù)消息放入zmq隊(duì)列;

實(shí)時(shí)數(shù)據(jù)消息發(fā)送模塊,適于將所述zmq隊(duì)列中的實(shí)時(shí)數(shù)據(jù)消息,發(fā)送給各第一訂閱者loadjs。

B16、根據(jù)B9或B15所述的裝置,所述長連接包括websocket連接。

本發(fā)明公開了C17、一種實(shí)時(shí)數(shù)據(jù)更新系統(tǒng),包括:

應(yīng)用服務(wù)器、監(jiān)控服務(wù)器和客戶端;

所述應(yīng)用服務(wù)器適于運(yùn)行應(yīng)用服務(wù),并將應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù)返回給監(jiān)控服務(wù)器;

所述監(jiān)控服務(wù)器包括:

實(shí)時(shí)數(shù)據(jù)獲取模塊,適于獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

實(shí)時(shí)數(shù)據(jù)對(duì)應(yīng)提取模塊,適于對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

消息發(fā)送模塊,適于根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱 者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

消息轉(zhuǎn)發(fā)模塊,適于由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;

所述客戶端適于根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

本發(fā)明公開了D18、一種設(shè)備,包括:

存儲(chǔ)器,適于存儲(chǔ)可執(zhí)行代碼;

處理器,適于執(zhí)行所述可執(zhí)行代碼;所述可執(zhí)行代碼執(zhí)行以下步驟的方法:

獲取應(yīng)用服務(wù)提供的實(shí)時(shí)數(shù)據(jù);

對(duì)于各個(gè)第一訂閱者所針對(duì)的應(yīng)用服務(wù)的各指定對(duì)象,從所述實(shí)時(shí)數(shù)據(jù)中提取各指定對(duì)象的實(shí)時(shí)數(shù)據(jù);

根據(jù)各指定對(duì)象的實(shí)時(shí)數(shù)據(jù),向相應(yīng)的各第一訂閱者發(fā)送實(shí)時(shí)數(shù)據(jù)消息;

由所述第一訂閱者通過長連接將所述實(shí)時(shí)數(shù)據(jù)消息轉(zhuǎn)發(fā)給與所述訂閱者對(duì)應(yīng)的客戶端;其中,所述客戶端根據(jù)所述實(shí)時(shí)數(shù)據(jù)消息進(jìn)行渲染展示。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
太原市| 灵丘县| 黄龙县| 九台市| 陆川县| 霸州市| 且末县| 门源| 普宁市| 九江县| 松江区| 灵武市| 宣城市| 台山市| 安国市| 黔东| 梁河县| 贡山| 北海市| 漳平市| 浦城县| 理塘县| 南澳县| 阿尔山市| 砀山县| 仲巴县| 长岭县| 灵丘县| 敦化市| 黄冈市| 和平区| 景洪市| 淄博市| 鲁甸县| 博爱县| 德惠市| 宝丰县| 镇巴县| 葫芦岛市| 札达县| 财经|