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

一種多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法與流程

文檔序號(hào):12494043閱讀:575來源:國知局
一種多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法與流程

本發(fā)明涉及一種多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法。



背景技術(shù):

基于總線結(jié)構(gòu)的電子商務(wù)系統(tǒng)在每個(gè)應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法間的數(shù)據(jù)傳輸時(shí),需要面對(duì)超大并發(fā)的數(shù)據(jù)傳送要求。需要各個(gè)系統(tǒng)或系統(tǒng)構(gòu)件節(jié)點(diǎn)具有分布的特性,從而輔助完成所述數(shù)據(jù)消息的傳輸。所述參數(shù)就是同步參數(shù)。各個(gè)節(jié)點(diǎn)的這些同步參數(shù)必須相同才能保證數(shù)據(jù)傳輸?shù)恼_。實(shí)際中,這些同步參數(shù)可能是變化的,因此需要在各個(gè)節(jié)點(diǎn)間實(shí)現(xiàn)同步數(shù)據(jù)的傳輸操作,尤其是這些同步參數(shù)在數(shù)據(jù)傳輸過程中發(fā)生變化時(shí),更需要及時(shí)完成同步數(shù)據(jù)段同步操作?,F(xiàn)有的跨系統(tǒng)間或系統(tǒng)構(gòu)件間的信號(hào)傳遞的方法無論是優(yōu)先級(jí)隊(duì)列的分配還是受到系統(tǒng)本身資源最大承載閥值限制的,由于數(shù)據(jù)的調(diào)度、二次編碼等處理操作消耗的資源較多,使得大量相同類型的數(shù)據(jù)和信號(hào)要多次及多位置處理,從而導(dǎo)致并發(fā)性能的嚴(yán)重下降。

圖1是一個(gè)具體的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)框圖。圖1中,包括網(wǎng)絡(luò)13和通過網(wǎng)絡(luò)13互聯(lián)的多個(gè)終端11,以及還包括設(shè)置在所述網(wǎng)絡(luò)13和所述終端11之間的數(shù)據(jù)傳輸裝置12、14。在這個(gè)數(shù)據(jù)傳輸系統(tǒng)中,終端11不再按照傳統(tǒng)的方式通過網(wǎng)絡(luò)13直接互聯(lián),而是在中間增加了數(shù)據(jù)傳輸裝置12、14。事實(shí)上,終端11與數(shù)據(jù)傳輸裝置12、14之間也許直接連接,也許通過另外的網(wǎng)絡(luò),例如局域網(wǎng)連接,數(shù)據(jù)傳輸裝置12與網(wǎng)絡(luò)13之間也是如此。圖1中,每一個(gè)數(shù)據(jù)傳輸裝置12,都連接著與其邏輯上或物理上相對(duì)靠近的終端11,也就是說,終端11通過網(wǎng)絡(luò)13向另一個(gè)終端11發(fā)送的數(shù)據(jù)需要經(jīng)過數(shù)據(jù)傳輸裝置12。而數(shù)據(jù)傳輸裝置12的作用在于對(duì)要傳輸?shù)臄?shù)據(jù)進(jìn)行編碼以減少通過網(wǎng)絡(luò)13實(shí)際傳輸?shù)臄?shù)據(jù)量,從而達(dá)到數(shù)據(jù)傳輸加速的作用,而接收端的數(shù)據(jù)傳輸裝置12相應(yīng)地要對(duì)接收到的數(shù)據(jù)進(jìn)行解碼。為此,在每一個(gè)數(shù)據(jù)傳輸裝置12中都有一個(gè)用于編碼和解碼的數(shù)據(jù)庫,用于存儲(chǔ)編碼和解碼參數(shù),而且不同數(shù)據(jù)傳輸裝置12中的數(shù)據(jù)庫的內(nèi)容是相同的,否則就無法實(shí)現(xiàn)正常的編碼和解碼。

為實(shí)現(xiàn)各個(gè)多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法中數(shù)據(jù)的同步,在圖1所述的系統(tǒng),還包括至少一個(gè)同步服務(wù)器15,用于同步所述數(shù)據(jù)傳輸裝置12、14中的數(shù)據(jù)庫的存儲(chǔ)內(nèi)容。同步的方法可以有很多,例如,任何一個(gè)數(shù)據(jù)傳輸裝置12或14中的數(shù)據(jù)庫的內(nèi)容例如由于學(xué)習(xí)而發(fā)生變化時(shí),可以將變化的內(nèi)容傳輸至同步服務(wù)器15中,然后在網(wǎng)絡(luò)空閑或利用專用的信道由所述同步服務(wù)器整理完畢同步的內(nèi)容后再向其它的數(shù)據(jù)傳輸裝置發(fā)送變化的數(shù)據(jù)部分和具體的指令,指示相應(yīng)的數(shù)據(jù)傳輸裝置調(diào)整相應(yīng)的數(shù)據(jù)庫的內(nèi)容。

由于要在數(shù)據(jù)傳輸完畢后才能進(jìn)行數(shù)據(jù)的同步操作,使同步操作與數(shù)據(jù)傳輸相分離,導(dǎo)致了較大的數(shù)據(jù)同步因?yàn)樾诺赖淖畲蠓€(wěn)定性并發(fā)限制而造成的系統(tǒng)異常。



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

本發(fā)明要解決的技術(shù)問題在于,提供一種傳輸延時(shí)較小的多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法。

具體說,本發(fā)明提供的多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法,包括步驟:

預(yù)置的多個(gè)數(shù)據(jù)存儲(chǔ)區(qū)處理線程,對(duì)數(shù)據(jù)處理區(qū)存儲(chǔ)的待處理數(shù)據(jù)二次編碼;將二次編碼后的數(shù)據(jù)存儲(chǔ)區(qū)數(shù)據(jù)與預(yù)置的數(shù)據(jù)信號(hào)類型數(shù)據(jù)庫進(jìn)行比對(duì),確定所述數(shù)據(jù)存儲(chǔ)區(qū)數(shù)據(jù)的類型值;根據(jù)所述類型值將所述數(shù)據(jù)包分別輸入多個(gè)數(shù)據(jù)存儲(chǔ)區(qū),使每個(gè)數(shù)據(jù)存儲(chǔ)區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;利用所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)包;按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,以及按照對(duì)數(shù)據(jù)包的操作將所述數(shù)據(jù)分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū);將處理后的數(shù)據(jù)包送到輸出數(shù)據(jù)存儲(chǔ)區(qū)中發(fā)送,并獲取新的同步數(shù)據(jù)信號(hào)類型;將所述新的同步數(shù)據(jù)插入到準(zhǔn)備發(fā)送的數(shù)據(jù)流中排隊(duì)。

所述數(shù)據(jù)排隊(duì)流是基于SOA面向服務(wù)的系統(tǒng)構(gòu)件或集成在ESB總線上獨(dú)立的應(yīng)用業(yè)務(wù)系統(tǒng)之間的消息控制單元中的消息隊(duì)列。

按照數(shù)據(jù)包發(fā)送的目的地址設(shè)置數(shù)據(jù)包處理線程,及按照數(shù)據(jù)包的目的地址將所述數(shù)據(jù)包分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū),利用所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)包進(jìn)行轉(zhuǎn)碼操作;按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,并將所述數(shù)據(jù)包按照預(yù)知的規(guī)則進(jìn)行轉(zhuǎn)碼后的數(shù)據(jù)分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū),將處理后的數(shù)據(jù)包送到輸出數(shù)據(jù)存儲(chǔ)區(qū)中發(fā)送,并獲取新的同步數(shù)據(jù)信號(hào)類型。

還包括,所述的數(shù)據(jù)包轉(zhuǎn)碼操作,包括插入數(shù)據(jù)包的輸入接口單元碼、插入數(shù)據(jù)包的指針地址單元碼、插入數(shù)據(jù)類型標(biāo)識(shí)碼、插入數(shù)據(jù)輸出單元碼、插入輸出數(shù)據(jù)存儲(chǔ)區(qū)位置碼和對(duì)數(shù)據(jù)指令段的重組;數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)預(yù)先設(shè)置的多個(gè)數(shù)據(jù)包處理線程的處理時(shí)序規(guī)則,所述數(shù)據(jù)包處理線程與所述數(shù)據(jù)存儲(chǔ)區(qū)相關(guān)聯(lián),從所述數(shù)據(jù)包輸入接口單元接收數(shù)據(jù),將所述數(shù)據(jù)分別推送到多個(gè)數(shù)據(jù)存儲(chǔ)區(qū)。

所述數(shù)據(jù)包集成了應(yīng)用系統(tǒng)間、應(yīng)用模塊或構(gòu)件內(nèi)部互操作的指令集,并且利用傳輸控制協(xié)議或互聯(lián)網(wǎng)協(xié)議打包所述數(shù)據(jù)流中的數(shù)據(jù)。

設(shè)置處理數(shù)據(jù)信號(hào)的線程池,該線程池處理系統(tǒng)間數(shù)據(jù)的發(fā)送和接收;所述線程池中集合了多個(gè)數(shù)據(jù)包處理線程;設(shè)置信號(hào)類型適配程序,根據(jù)已有的信號(hào)類型數(shù)據(jù)庫,判斷信號(hào)類型;將所述數(shù)據(jù)包分別輸入多個(gè)數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使每個(gè)數(shù)據(jù)存儲(chǔ)區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;將所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)存儲(chǔ)區(qū)中的數(shù)據(jù)包,按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,并且按照對(duì)數(shù)據(jù)包的操作將所述數(shù)據(jù)分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū);利用上述的信號(hào)類型適配程序,將所述數(shù)據(jù)存儲(chǔ)區(qū)或存儲(chǔ)區(qū)中的數(shù)據(jù)按照類型進(jìn)行再編碼,將編碼后的數(shù)據(jù)通過任何的通信協(xié)議進(jìn)行廣播傳送;將所述新的同步數(shù)據(jù)打包為獨(dú)立的數(shù)據(jù)包插入到數(shù)據(jù)流中。

還包括,壓縮所述同步數(shù)據(jù)包或者包含所述同步數(shù)據(jù)的數(shù)據(jù)流;設(shè)置處理數(shù)據(jù)信號(hào)的線程池,該線程池處理系統(tǒng)間數(shù)據(jù)的發(fā)送和接收;所述線程池中集合了多個(gè)數(shù)據(jù)包處理線程;設(shè)置信號(hào)類型適配程序,根據(jù)已有的信號(hào)類型數(shù)據(jù)庫,判斷信號(hào)類型;將所述數(shù)據(jù)包 分別輸入多個(gè)數(shù)據(jù)存儲(chǔ)區(qū)或數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使每個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;將所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中的數(shù)據(jù)包,按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,并且按照對(duì)數(shù)據(jù)包的操作將所述數(shù)據(jù)分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū);利用上述的信號(hào)類型適配程序,將所述數(shù)據(jù)存儲(chǔ)區(qū)或緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中的數(shù)據(jù)按照類型進(jìn)行再編碼。

還包括,設(shè)置多個(gè)數(shù)據(jù)包處理線程;接收數(shù)據(jù)包,將所述數(shù)據(jù)包分別輸入多個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使每個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;利用所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中的數(shù)據(jù)包;將處理后的數(shù)據(jù)包送到輸出數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中發(fā)送;數(shù)據(jù)包發(fā)送的目的地址和端口號(hào)設(shè)置數(shù)據(jù)包處理線程,按照數(shù)據(jù)包的目的地址和端口號(hào)將所述數(shù)據(jù)包分別輸入到相應(yīng)的數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)及識(shí)別所述數(shù)據(jù)包的數(shù)據(jù)類型;按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,及按照對(duì)數(shù)據(jù)包的操作將所述數(shù)據(jù)分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū)。

還包括設(shè)置處理數(shù)據(jù)信號(hào)的線程池,該線程池處理系統(tǒng)間數(shù)據(jù)的發(fā)送和接收;所述線程池中集合了多個(gè)數(shù)據(jù)包處理線程;設(shè)置信號(hào)類型適配程序,根據(jù)已有的信號(hào)類型數(shù)據(jù)庫,判斷信號(hào)類型;將所述數(shù)據(jù)包分別輸入多個(gè)數(shù)據(jù)存儲(chǔ)區(qū)或數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使每個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;將所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中的數(shù)據(jù)包,按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,并且按照對(duì)數(shù)據(jù)包的操作將所述數(shù)據(jù)分別輸入到相應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū);利用上述的信號(hào)類型適配程序,將所述數(shù)據(jù)存儲(chǔ)區(qū)或緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中的數(shù)據(jù)按照類型進(jìn)行再編碼;將編碼后的數(shù)據(jù)通過任何的通信協(xié)議進(jìn)行廣播傳送;設(shè)置多個(gè)數(shù)據(jù)包處理線程;接收數(shù)據(jù)包,將所述數(shù)據(jù)包分別輸入多個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使每個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;利用所述數(shù)據(jù)包處理線程處理對(duì)應(yīng)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中的數(shù)據(jù)包;將處理后的數(shù)據(jù)包送到輸出數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中發(fā)送。

還包括,設(shè)置多個(gè)數(shù)據(jù)同步廣播發(fā)送線程,用于將輸出數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)或存儲(chǔ)區(qū)中的數(shù)據(jù)通過不同的數(shù)據(jù)信道廣播發(fā)送。

附圖說明

圖1是一個(gè)數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)框圖;

圖2是本發(fā)明的一個(gè)實(shí)施例流程圖;

圖3是圖1所示系統(tǒng)采用的數(shù)據(jù)傳輸裝置框圖;

圖4(1)、圖4(2)是數(shù)據(jù)包流的簡要圖示。

具體實(shí)施方式

下面:結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方案進(jìn)一步說明。參考圖2,圖2所示的例子包括三個(gè)步驟,首先,在數(shù)據(jù)處理過程中產(chǎn)生了新的同步數(shù)據(jù)(步驟21),然后在步驟22取得新的同步數(shù)據(jù),在步驟23將所述新的同步數(shù)據(jù)打包插入到正在發(fā)送的數(shù)據(jù)流中發(fā)送。更進(jìn)一步,將所述新的數(shù)據(jù)包采用任何一種壓縮方法壓縮后插入到所述數(shù)據(jù)流中,或者將插入數(shù)據(jù)包的數(shù)據(jù)流要所后發(fā)送。

在不同的實(shí)施例中,可以將新的同步數(shù)據(jù)插入到正在發(fā)送的數(shù)據(jù)流的尾部發(fā)送,也可以將所述新的同步數(shù)據(jù)插入到正在發(fā)送的數(shù)據(jù)流的當(dāng)前位置發(fā)送,或者將所述新的同步數(shù)據(jù)插入到正在發(fā)送的數(shù)據(jù)流中使用所述新的同步數(shù)據(jù)的數(shù)據(jù)部分的前面發(fā)送。在本實(shí)施例中,利用傳輸控制協(xié)議或互聯(lián)網(wǎng)協(xié)議打包所述數(shù)據(jù)流中的數(shù)據(jù)。

在圖1所示的系統(tǒng)中,所述數(shù)據(jù)傳輸裝置12、14都具有類似圖3所示的結(jié)構(gòu)。這是數(shù)據(jù)傳輸裝置的一個(gè)具體實(shí)施例框圖。圖3所述裝置包括第一標(biāo)簽集成單元31、第一數(shù)據(jù)庫32、數(shù)據(jù)段分割單元33、數(shù)據(jù)編碼單元34、數(shù)據(jù)發(fā)送單元35。第一標(biāo)簽集成單元31,用于獲取滿足數(shù)據(jù)應(yīng)用領(lǐng)域的第一數(shù)據(jù)特性要求的數(shù)據(jù)段,為所述數(shù)據(jù)段分配對(duì)應(yīng)的引用標(biāo)簽,將所述引用標(biāo)簽與所述數(shù)據(jù)段綁定后存入第一數(shù)據(jù)庫32。輸入的數(shù)據(jù)流,用數(shù)據(jù)段分割單元33,從數(shù)據(jù)流的一端開始,按照一定的原則,截取出一個(gè)或多個(gè)數(shù)據(jù)段。這些數(shù)據(jù)段如果與第一數(shù)據(jù)庫32中存儲(chǔ)的數(shù)據(jù)段相同,就可以利用與該數(shù)據(jù)段綁定的標(biāo)簽完成數(shù)據(jù)的編碼傳輸。于是,使用數(shù)據(jù)編碼單元34,將數(shù)據(jù)段分割單元33的數(shù)據(jù)分割結(jié)果輸入給所述數(shù)據(jù)編碼單元34,所述數(shù)據(jù)編碼單元34在所述第一數(shù)據(jù)庫32中,查找數(shù)據(jù)段分割單元輸出的數(shù)據(jù)段對(duì)應(yīng)的應(yīng)用標(biāo)簽,查找結(jié)果被送入數(shù)據(jù)發(fā)送單元35,由其用所述引用標(biāo)簽代替數(shù)據(jù)段分割單元截取的數(shù)據(jù)段,與數(shù)據(jù)流中剩余的數(shù)據(jù)組裝為新的數(shù)據(jù)流發(fā)送。然而,數(shù)據(jù)段分割單元33取出的數(shù)據(jù)段可能在第一數(shù)據(jù)庫32并不存在,而該數(shù)據(jù)段可能具有較高的重復(fù)概率,因此,在第一判斷單元76判斷數(shù)據(jù)段分割單元73分割出的數(shù)據(jù)段具有較高的重復(fù)概率后,就將這樣每一個(gè)未出現(xiàn)在所述第一數(shù)據(jù)庫72中且滿足某種數(shù)據(jù)特性要求,例如高重復(fù)概率的數(shù)據(jù)段,都要為所述數(shù)據(jù)段設(shè)置其引用標(biāo)簽,并與其綁定后存儲(chǔ)在所述第一數(shù)據(jù)庫72,當(dāng)然也要計(jì)算出其對(duì)應(yīng)的散列值存儲(chǔ)入相應(yīng)的記錄。由此,在第一數(shù)據(jù)庫72中就形成了新的同步數(shù)據(jù),這些新的同步數(shù)據(jù)就需要同步到其它的數(shù)據(jù)傳輸裝置中。

采用多線程處理的方式,充分利用系統(tǒng)的資源并行處理待發(fā)送的數(shù)據(jù)包,從而能夠減少數(shù)據(jù)發(fā)送的延遲。具體的實(shí)施例可以參考圖3。按照?qǐng)D3,為了實(shí)現(xiàn)對(duì)數(shù)據(jù)包的并發(fā)處理,需要預(yù)先設(shè)置多個(gè)數(shù)據(jù)包處理線程,當(dāng)所述設(shè)置的線程的個(gè)數(shù)與要處理的任務(wù)數(shù)量相適應(yīng)時(shí),能夠充分利用系統(tǒng)的資源。在本實(shí)施例中,由于要處理的數(shù)據(jù)包存儲(chǔ)在不同的數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中,因此預(yù)先設(shè)置的數(shù)據(jù)包處理線程的個(gè)數(shù)與數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的個(gè)數(shù)相同。事實(shí)上,所述數(shù)據(jù)包處理線程的個(gè)數(shù)與數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的個(gè)數(shù)不相同,使一個(gè)數(shù)據(jù)包處理線程處理兩個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的數(shù)據(jù)包,或者,使二個(gè)數(shù)據(jù)包處理線程處理一個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的數(shù)據(jù)包,等等,也能夠?qū)崿F(xiàn)本發(fā)明。

以所述預(yù)先設(shè)置的多個(gè)數(shù)據(jù)包處理線程為基礎(chǔ),就可以在步驟31接收數(shù)據(jù)包,然后在步驟32將所述接受大數(shù)據(jù)包分別輸入多個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)中對(duì)應(yīng)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使每個(gè)數(shù)據(jù)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)對(duì)應(yīng)一個(gè)數(shù)據(jù)包處理線程;最后在步驟33由所述數(shù)據(jù)包處理線程處理其對(duì)應(yīng)的隊(duì)列中的數(shù)據(jù)包。在本例中,為了提高數(shù)據(jù)包的發(fā)送效率,將具有相同目的地址的數(shù)據(jù)包采用同一個(gè)的數(shù)據(jù)包發(fā)送線程處理,因此,按照數(shù)據(jù)包發(fā)送的目的地址設(shè)置數(shù)據(jù)包處理線程,以及,按照數(shù)據(jù)包的目的地址將所述數(shù)據(jù)包分別輸入到相應(yīng)的隊(duì)列。

由于緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的最本質(zhì)的任務(wù)是暫存等待處理的數(shù)據(jù),因此,其設(shè)置的關(guān)鍵在于兼顧使用的靈活性、效率以及數(shù)據(jù)處理的需求,因此緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的數(shù)量和每個(gè)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的容量應(yīng)當(dāng)根據(jù)系統(tǒng)的數(shù)據(jù)處理需求設(shè)置,例如,當(dāng)系統(tǒng)的突發(fā)數(shù)據(jù)量較少時(shí),每個(gè)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的容量可以小一些,數(shù)量也可以少一些;而在數(shù)據(jù)的種類或等級(jí)較多時(shí),緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的數(shù)量可以多一些,此時(shí)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的容量要根據(jù)突發(fā)數(shù)據(jù)量或數(shù)據(jù)的平均暫存時(shí)間設(shè)置,等等。因此,本實(shí)施例設(shè)置兩個(gè)以上的緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)。在本發(fā)明的實(shí)施例中,哪個(gè)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)可以為新的當(dāng)前緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)受當(dāng)前緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)的狀態(tài)和其在隊(duì)列中的位置有關(guān)系。如果一個(gè)被指定的新的當(dāng)前緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)狀態(tài)不為空,說明其中的數(shù)據(jù)尚未處理完成,此時(shí)順序指定下一個(gè)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)為當(dāng)前緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)。當(dāng)前緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)的控制最好由一個(gè)單獨(dú)的進(jìn)程控制。

其次,為了有效使用緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū),使緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)之間具有獨(dú)立和組合雙重性質(zhì),需要要對(duì)所述多個(gè)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)進(jìn)行有效的管理。本實(shí)施例將所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)組織成一個(gè)環(huán)形隊(duì)列(在本發(fā)明的另一個(gè)實(shí)施例中,將所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)組織成一個(gè)先進(jìn)先出隊(duì)列),因此在本步驟還設(shè)置用于指示和標(biāo)識(shí)所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的數(shù)據(jù)表,用于對(duì)所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)進(jìn)行管理。在所述數(shù)據(jù)表中至少設(shè)置用于標(biāo)識(shí)緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的名稱字段,用于作為指向該緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的地址指針字段,以及指向所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)當(dāng)前單元的、用于管理所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的存儲(chǔ)單元字段。在本發(fā)明的另外的實(shí)施例中,數(shù)據(jù)表設(shè)置為兩個(gè),分別用于緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)的靜態(tài)和動(dòng)態(tài)管理。實(shí)際上,將所述緩沖區(qū)或數(shù)據(jù)存儲(chǔ)區(qū)或消息隊(duì)列控制區(qū)組織成一個(gè)隊(duì)列進(jìn)行管理也是通過對(duì)所述數(shù)據(jù)表的操作實(shí)現(xiàn)的。

按照本發(fā)明,最好將所述新的同步數(shù)據(jù)打包為獨(dú)立的數(shù)據(jù)包插入到數(shù)據(jù)流數(shù)據(jù)形成數(shù)據(jù)包流中。盡管可以通過標(biāo)識(shí)和長度等特殊標(biāo)記參數(shù)將新的同步數(shù)據(jù)和數(shù)據(jù)流的數(shù)據(jù)混合打包,但這樣會(huì)增加傳輸?shù)臄?shù)據(jù)量或消耗過多的解碼時(shí)間或者增加數(shù)據(jù)加碼的復(fù)雜度。此時(shí),數(shù)據(jù)發(fā)送單元35發(fā)出的數(shù)據(jù)即包括引用標(biāo)簽或組標(biāo)簽,還包括新的同步數(shù)據(jù)。圖4是 對(duì)數(shù)據(jù)發(fā)送單元35數(shù)據(jù)包流的簡要圖示,圖4(1)中,同步數(shù)據(jù)的數(shù)據(jù)包42在數(shù)據(jù)包流41的中部,而圖4(2)中,同步數(shù)據(jù)的數(shù)據(jù)包42則在數(shù)據(jù)包流41的尾部。

本發(fā)明提供的另一種多應(yīng)用系統(tǒng)間數(shù)據(jù)推送的方法,包括:

獲取新的同步數(shù)據(jù);

將所述新的同步數(shù)據(jù)插入到最近待發(fā)送的數(shù)據(jù)流中發(fā)送。

其中,所述最近待發(fā)送的數(shù)據(jù)流是指不影響所述同步數(shù)據(jù)使用的數(shù)據(jù)流。例如,存儲(chǔ)區(qū)中有數(shù)據(jù)流A、B、C,當(dāng)前數(shù)據(jù)流為數(shù)據(jù)流X,在數(shù)據(jù)流X處理過程中產(chǎn)生的同步數(shù)據(jù)在數(shù)據(jù)流C后的數(shù)據(jù)流使用,因此,最近待發(fā)送的數(shù)據(jù)流為數(shù)據(jù)流A、B。

其中:將所述新的同步數(shù)據(jù)插入到正在發(fā)送的數(shù)據(jù)流的尾部,或者將所述新的同步數(shù)據(jù)插入到正在發(fā)送的數(shù)據(jù)流的當(dāng)前位置,或者將所述新的同步數(shù)據(jù)插入到正在發(fā)送的數(shù)據(jù)流中使用所述新的同步數(shù)據(jù)的數(shù)據(jù)部分的前面發(fā)送。

按照數(shù)據(jù)包的目的地址設(shè)置數(shù)據(jù)包處理線程只是實(shí)現(xiàn)數(shù)據(jù)包并發(fā)及并行處理的一種方式,在本發(fā)明另外的實(shí)施例中,按照對(duì)數(shù)據(jù)包的操作設(shè)置數(shù)據(jù)包處理線程,以及,按照對(duì)數(shù)據(jù)包的操作將所述數(shù)據(jù)分別輸入到相應(yīng)的隊(duì)列,也是其中的一種方式。也就是說,劃分對(duì)數(shù)據(jù)包的不同操作,進(jìn)行相同操作的數(shù)據(jù)包采用相同的線程處理,不同的操作對(duì)應(yīng)不同的線程。將所述新的同步數(shù)據(jù)打包為獨(dú)立的數(shù)據(jù)包插入到數(shù)據(jù)流中。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn),這些改進(jìn)也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青州市| 汉源县| 建阳市| 肥乡县| 哈巴河县| 娄烦县| 始兴县| 边坝县| 万安县| 香港| 闽侯县| 曲水县| 高邑县| 开化县| 朝阳区| 牡丹江市| 弥渡县| 莫力| 锦州市| 剑川县| 老河口市| 和政县| 蒙阴县| 罗源县| 珠海市| 康乐县| 雅江县| 凤凰县| 舟山市| 错那县| 桐城市| 南丹县| 龙里县| 晋中市| 阜平县| 云龙县| 托克托县| 英超| 镇沅| 永福县| 达日县|