專利名稱:實現(xiàn)持久化數(shù)據(jù)隊列的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及持久化數(shù)據(jù)隊列的方法,尤其是指一種在通信系統(tǒng)消息傳遞中采用》茲盤文件實現(xiàn)持久化數(shù)據(jù)隊列的方法。
背景技術(shù):
在通信系統(tǒng)中,有大量需要傳遞的消息,而這些凈皮傳遞的信息有些是需要持久的保存下來,消息持久性對于可靠消息傳遞來說應(yīng)該是一種比較好的方法,有了消息持久化,即使發(fā)送者和接受者不是同時在線或者消息中心在發(fā)送者發(fā)送消息后關(guān)^L 了 ,在消息中心重新啟動后仍然可以將消息發(fā)送出去。目前持久化消息隊列大多采用數(shù)據(jù)庫持久化消息,也就是將^l保存的消息隊列存儲在數(shù)據(jù)庫或文件中,而這種消息持久性的原理很簡單,就是在發(fā)送者將消息發(fā)送出去后,消息中心首先將消息存儲到本地數(shù)據(jù)文件、內(nèi)存數(shù)據(jù)庫或者遠(yuǎn)程數(shù)據(jù)庫等,然后試圖將消息發(fā)送給接收者,發(fā)送成功則將消息從存儲中刪除,失敗則繼續(xù)嘗試。消息中心啟動以后首先要檢查制定的存儲位置,如果有未發(fā)送成功的消息,則需要把消息發(fā)送出去。
對數(shù)據(jù)庫持久化來說,需要搭建數(shù)據(jù)庫,而搭建的數(shù)據(jù)庫本身是需要開銷的,對于一個輕量級的應(yīng)用,要專門為消息持久化^^建數(shù)據(jù)庫,付出的開銷太大,另外,數(shù)據(jù)庫存儲數(shù)據(jù)本身是不具備先進(jìn)先出特點的,因此在操作時會導(dǎo)致效率較低。因此采用現(xiàn)有的持久化消息隊列的方式,盡管功能比較完善,但是對待大量的消息數(shù)據(jù)而言,需要的開銷4艮大,并且效率很低,在處理速度要求較高的應(yīng)用中則會很難滿足該應(yīng)用的需求。
發(fā)明內(nèi)容
本發(fā)明目的在于提出實現(xiàn)持久化數(shù)據(jù)隊列的方法,尤其是指一種采用輕量級的、基于磁盤文件的、先進(jìn)先出、端到端的數(shù)據(jù)隊列來實現(xiàn)的方法。
本發(fā)明所述的方法可用于通信系統(tǒng)的消息傳遞,也可直接用于需要持久化消息的數(shù)據(jù)轉(zhuǎn)發(fā)以及流量控制中。
本發(fā)明的方法在于提供一種實現(xiàn)持久化數(shù)據(jù)隊列的方法,包括以下步驟 獲得控制文件信息;根據(jù)所述控制文件信息載入數(shù)據(jù)隊列;通過控制模塊管 理》茲盤路徑中的文件。
優(yōu)選地,獲得控制文件信息步驟包括
判斷指定的磁盤路徑中是否設(shè)有控制文件的步驟
若指定的磁盤路徑內(nèi)有所述控制文件,直接讀取所述控制文件后并 載入所述數(shù)據(jù)隊列;
若指定的磁盤路徑內(nèi)沒有控制文件時,按照設(shè)定的格式創(chuàng)建所述控 制文件信息,并載入所述數(shù)據(jù)隊列。
優(yōu)選地,才艮據(jù)所述控制文件載入數(shù)據(jù)隊列是,才艮據(jù)所述控制文件信息中 描述的隊列頭尾信息,載入數(shù)據(jù)隊列。
優(yōu)選地,通過所述控制模塊管理所述的》茲盤路徑中的文件具體為 所述控制文件通過所述控制才莫塊讀取或修改或刪除所述;茲盤中的數(shù)據(jù)文 件;以及
所述控制文件通過所述控制模塊將數(shù)據(jù)文件寫入所述磁盤中; 其中所述的控制才莫塊包括GetData、 PutData、 IsFull、 IsEmpty、 GetCount 的方法。
優(yōu)選地,所述控制文件將名夂持久化的數(shù)據(jù)寫入^茲盤包括以下步驟 采用IsFull方式判斷數(shù)據(jù)文件是否為滿來確定該數(shù)據(jù)的寫入位置。
優(yōu)選地,采用IsFull方式時采用GetData用來/人隊列頭獲取數(shù)據(jù), PutData用來將數(shù)據(jù)寫入隊列尾。
優(yōu)選地,在采用IsEmpty的方式來提供隊列是否空狀態(tài),GetCount用來 獲取隊列當(dāng)前的數(shù)據(jù)單元數(shù)。
5優(yōu)選地,所述數(shù)據(jù)隊列的讀寫操作首先在內(nèi)存中進(jìn)行,在PutData操作 時將新添加的數(shù)據(jù)寫入所述磁盤。
優(yōu)選地,所述的數(shù)據(jù)隊列為了先進(jìn)先出隊列。
優(yōu)選地,還包括,在獲得控制文件的步驟前,判斷所述指定磁盤路徑中 是否已經(jīng)具有符合設(shè)定要求的控制文件,如果沒有,則在所述數(shù)據(jù)隊列中進(jìn) 行判斷;如果有,則采用該控制文件直接載入所述數(shù)據(jù)隊列。
本發(fā)明是采用文件對數(shù)據(jù)隊列進(jìn)行持久化,本發(fā)明的方案中在進(jìn)行數(shù)據(jù) 持久化的過程中,所基于的磁盤文件分為兩種類型控制文件和數(shù)據(jù)文件, 所述控制文件用來對隊列的頭尾進(jìn)行控制,數(shù)據(jù)文件用來保存數(shù)據(jù)單元。
本發(fā)明所述的方法是一個基于磁盤文件的輕量級的持久化數(shù)據(jù)隊列實 現(xiàn)方法,與現(xiàn)有技術(shù)相比沒有過多的管理功能,僅僅實現(xiàn)一個先進(jìn)先出的點 對點的持久化隊列,并不需要額外的設(shè)備和軟件的支持,可直接應(yīng)用于需要 持久化先進(jìn)先出隊列的應(yīng)用中,本發(fā)明的結(jié)構(gòu)和算法簡單,占用資源小,速 度快,可以被直接嵌入各種應(yīng)用中,傳輸不同類型的數(shù)據(jù),在進(jìn)程內(nèi)的隊列 應(yīng)用中,采用該輕量級的解決方案,較現(xiàn)有技術(shù)開銷小,運行速度快,效率 高。
圖l是本發(fā)明所述的控制文件的數(shù)據(jù)結(jié)構(gòu)說明;
圖2是本發(fā)明所述的數(shù)據(jù)文件的數(shù)據(jù)結(jié)構(gòu)說明;
圖3是本發(fā)明所述的文件描述區(qū)結(jié)構(gòu)說明;
圖4是本發(fā)明所述的數(shù)據(jù)單元描述區(qū)結(jié)構(gòu)說明;
圖5是本發(fā)明所述的數(shù)據(jù)單元存儲區(qū)結(jié)構(gòu)說明;
圖6是本發(fā)明的方法中由隊列頭獲取it據(jù)的流程圖7是本發(fā)明的方法中將數(shù)據(jù)寫入隊列尾的流程圖8是本發(fā)明的方法中確定數(shù)據(jù)隊列是否為空隊列的流程圖9是本發(fā)明的方法中確定數(shù)據(jù)隊列是否為滿隊列的流程圖10是本發(fā)明的方法中獲取隊列當(dāng)前數(shù)據(jù)單元數(shù)的流程6圖11是本發(fā)明的方法流程圖。
具體實施例方式
本發(fā)明提出一種實現(xiàn)持久化數(shù)據(jù)隊列的方法,參考圖ll所示,包括以下
步驟首先,獲得控制文件信息;然后根據(jù)控制文件信息載入數(shù)據(jù)隊列;所 述控制文件管理所述的^茲盤路徑中的數(shù)據(jù)文件。其中所述的數(shù)據(jù)隊列可由控 制文件和數(shù)據(jù)文件組成,控制文件和數(shù)據(jù)文件保存在同一i茲盤路徑下,也就 是說, 一個數(shù)據(jù)隊列影射到一個指定的磁盤路徑。
在本發(fā)明的方案中,獲得控制文件信息是通過判斷指定路徑下是否設(shè)有 控制文件的步驟獲得,即若在所述指定路徑內(nèi)有所述控制文件,直接讀取控 制文件中的信息;若所述指定路徑內(nèi)沒有控制文件時,則按照設(shè)定的格式創(chuàng) 建控制信息,并將控制信息寫入新創(chuàng)建的控制文件中。獲得控制文件信息后, 才艮據(jù)控制文件中描述的隊列頭尾信息,載入凝:據(jù)隊列。在所述數(shù)據(jù)隊列載入 成功后,即可采用后面所述的方法對數(shù)據(jù)隊列進(jìn)行讀寫操作,在實際的一般 應(yīng)用中都有一個或多個接收消息線程和一個或多個發(fā)送消息線程,接收線程 將接收到的消息寫入隊列,發(fā)送線程從隊列中讀取消息。隊列消息傳輸順序 為先進(jìn)先出。
本發(fā)明的實施例中所述的控制文件通過控制^t塊最多可管理65, 536個數(shù) 據(jù)文件,其中由所述管理的數(shù)據(jù)文件中,每個數(shù)據(jù)文件可以存放的數(shù)據(jù)單元 最多為10, 000個,隊列容量為10,000X65,536=655,360,000個。參考圖1 至圖5,說明了本發(fā)明的方案中可參考的控制文件以及數(shù)據(jù)文件的數(shù)據(jù)結(jié)構(gòu), 所述控制文件長度為8個字節(jié)(參考圖1),該控制文件可分為2個域隊列 頭信息域和隊列尾信息域,其中每個域有2個字段文件號和文件中的數(shù)據(jù) 單元號,長度分別為2字節(jié),類型為無符號整型數(shù)。所述的隊列頭信息域通 過文件號和數(shù)據(jù)單元號描述了隊列頭的數(shù)據(jù)單元處于第幾個文件中的第幾個 數(shù)據(jù)單元,通過隊列頭信息,可直接訪問到文件中隊列頭數(shù)據(jù)單元的描述信 息,再通過該描述信息可直接訪問到具體數(shù)據(jù),具體過程可以參看本實施例 中從數(shù)據(jù)隊列中讀數(shù)據(jù)的說明。所述隊列頭信息域通過文件號和數(shù)據(jù)單元號 描述了隊列頭的數(shù)據(jù)單元處于第幾個文件中的第幾個^t據(jù)單元,通過隊列頭 信息,可直接訪問到文件中隊列頭數(shù)據(jù)單元的描述信息,再通過該描述信息可直接訪問到具體數(shù)據(jù)。
本實施例中所述的it據(jù)文件共分3個域文件描述區(qū)、數(shù)據(jù)單元描述區(qū)、 數(shù)據(jù)單元存儲取(參見圖2)。其中所述文件描述區(qū)用來描述本數(shù)據(jù)文件的基 本信息,數(shù)據(jù)單元描述區(qū)用來描述本數(shù)據(jù)文件中每個數(shù)據(jù)單元的基本信息, 數(shù)據(jù)單元存儲區(qū)用來存儲數(shù)據(jù)。文件描述區(qū)和數(shù)據(jù)單元描述區(qū)為定長域,這 樣可通過計算偏移量直接定位到數(shù)據(jù)單元存儲區(qū)的每個數(shù)據(jù)單元的具體位 置,實現(xiàn)文件數(shù)據(jù)單元的快速訪問。所述數(shù)據(jù)文件描述區(qū)長度為12字節(jié),由 文件標(biāo)識符、文件時間戳、文件中數(shù)據(jù)單元的數(shù)量共3個字段組成,如圖3 所示。其中文件標(biāo)識符用來表示本文件是特定的數(shù)據(jù)隊列數(shù)據(jù)文件,取值為 0x00003c8e,文件時間戳表示本凄t據(jù)文件生成的時間,取系統(tǒng)utc時間,文 件數(shù)據(jù)單元數(shù)量描述了本數(shù)據(jù)文件存放的數(shù)據(jù)單元個數(shù)。數(shù)據(jù)單元描述區(qū)長
度為10*10, 000=100, 000字節(jié),由10,000個數(shù)據(jù)單元描述符組成,每個數(shù)據(jù) 單元描述符長度為10字節(jié),如圖4所示。每個數(shù)據(jù)單元描述符由數(shù)據(jù)單元偏 移量、數(shù)據(jù)單元長度、數(shù)據(jù)單元屬性共3個字段組成。數(shù)據(jù)單元偏移量長度 為4字節(jié),類型為無符號整型,描述了本數(shù)據(jù)單元在數(shù)據(jù)文件中所處的絕對 偏移位置, 一個有效的tt據(jù)單元的偏移量應(yīng)大于100,012,通過數(shù)據(jù)單元偏移 量可直接將文件指針定位到數(shù)據(jù)單元在文件中的存儲位置,實現(xiàn)數(shù)據(jù)單元的 快速訪問。數(shù)據(jù)單元長度為4字節(jié),類型為無符號整型,描述了數(shù)據(jù)單元在 文件中占用存儲空間大小,通過數(shù)據(jù)單元界定了數(shù)據(jù)單元操作的范圍,實現(xiàn) 數(shù)據(jù)的異步存儲和訪問,達(dá)到節(jié)省空間的效果。數(shù)據(jù)單元屬性長度為2字節(jié), 類型為無符號整型,其值由使用數(shù)據(jù)隊列的應(yīng)用自定義, 一個典型的應(yīng)用是 將數(shù)據(jù)單元屬性用來表示數(shù)據(jù)單元類型,實現(xiàn)在數(shù)據(jù)隊列中存儲多種類型的 數(shù)據(jù)的目的。
本實施例中的數(shù)據(jù)隊列采用現(xiàn)有的5個隊列應(yīng)用的7>有方法GetData、 PutData、 IsFull、 IsEmpty、 GetCount組成本發(fā)明持久化實現(xiàn)的方案中的控 制模塊,所述控制文件通過這些方法構(gòu)成的控制才莫塊對數(shù)據(jù)文件進(jìn)行管理, 其中GetData用來從隊列頭獲取數(shù)據(jù)(參考圖6), PutData用來將數(shù)據(jù)寫入 隊列尾(參考圖7), IsFull提供隊列是否滿狀態(tài)(參考圖9), IsEmpty提供 隊列是否空狀態(tài)(參考圖8 ), GetCount用來獲取隊列當(dāng)前的數(shù)據(jù)單元數(shù)(參 考圖10)。數(shù)據(jù)的讀寫操作首先在內(nèi)存中進(jìn)行,然后如果是PutData操作則將新添加的數(shù)據(jù)單元寫入;茲盤。
將欲持久化的數(shù)據(jù)寫入磁盤文件的過程參見以下步驟
1、 獲取控制文件信息,該控制文件信息的獲得可以參考前面所述的內(nèi)容, 在此不再贅述;
2、 由于控制文件控制凝:據(jù)隊列中的凝:據(jù),由所述控制文件采用IsFull 方法判斷隊列是否為滿,如果為滿則不能向數(shù)據(jù)文件中寫入數(shù)據(jù),直接返回 寫入失敗,如果隊列不滿則執(zhí)行寫入數(shù)據(jù)操作。寫入數(shù)據(jù)操作邏輯如下根 據(jù)控制文件中的隊列尾信息判斷尾數(shù)據(jù)文件是否寫滿,判斷規(guī)則為尾數(shù)據(jù) 單元號如果小于9999,則尾數(shù)據(jù)文件未滿,反之則尾數(shù)據(jù)文件已經(jīng)寫滿。如 果尾數(shù)據(jù)文件未滿,則將尾數(shù)據(jù)單元號+1,如果尾數(shù)據(jù)文件已經(jīng)寫滿,則切 換到下一個數(shù)據(jù)文件,切換規(guī)則為新的尾數(shù)據(jù)文件號=(當(dāng)前尾信息中的文 件號+1)%65536,新的尾數(shù)據(jù)單元號=0。根據(jù)前述邏輯得到的要寫入的尾數(shù) 據(jù)文件號打開相應(yīng)數(shù)據(jù)文件,如果該數(shù)據(jù)文件不存在則創(chuàng)建該文件,將文件 操作指針定位到EOF,寫入數(shù)據(jù)到文件中。如果寫入操作成功,則將文件操作 指針定位到數(shù)據(jù)文件中的數(shù)據(jù)單元描述符,定位方法為根據(jù)隊列尾信息中 的數(shù)據(jù)單元號計算偏移量,計算公式為12+(數(shù)據(jù)單元號*10),然后將文件 操作指針定位到前面計算得到的偏移量,定位完成后,按照數(shù)據(jù)單元描述符 的結(jié)構(gòu)(圖4)寫入10字節(jié)的凝:據(jù)單元描述符,如果前面的搮:作都成功,則 將新的尾信息寫入控制文件中。
在本實施例中,采用IsE卿ty算法用來判斷數(shù)據(jù)隊列是否為空,該算法 由控制文件中的隊列頭信息和隊列尾信息計算得到,具體公式為如果隊列 頭文件號等于隊列尾文件號同時隊列頭數(shù)居單元昊等于隊列尾數(shù)據(jù)單元號則 隊列為空,反之則隊列非空。本實施例中可采用IsFull算法用來判斷數(shù)據(jù)隊 列是否為滿,該算法由控制文件中的隊列頭信息和隊列尾信息計算得到,具體 邏輯為先計算下一個數(shù)據(jù)文件號,計算公式為(隊列尾文件號+1)%65536, 如果下一個數(shù)據(jù)文件號等于隊列頭文件號,則數(shù)據(jù)隊列已滿,反之則數(shù)居隊 列不滿。
本實施例采用GetCount算法用來計算當(dāng)前隊列中的記錄^t,算法為首 先尾文件號-頭文件號,得到頭尾文件數(shù)差,如果該差值小于0則將該差值 +65536作為頭尾文件數(shù)差,最后計算頭尾文件數(shù)差*10000+(尾數(shù)據(jù)單元號-頭數(shù)據(jù)單元號),得到當(dāng)前隊列中的記錄數(shù)。
以上是描述了由控制文件控制下如果將凄t據(jù)寫入;茲盤文件的過程。 下面對如何從數(shù)據(jù)隊列中讀數(shù)據(jù)進(jìn)行詳細(xì)說明,具體流程如下(參考圖
6):調(diào)用上述的IsEmpty方法判斷隊列是否為空,如果為空則數(shù)據(jù)隊列中無 數(shù)據(jù)可讀,直接返回讀取失敗,如果隊列中有數(shù)據(jù)則根據(jù)控制文件中的隊列 頭信息定位到數(shù)據(jù)文件中的數(shù)據(jù)單元描述符,定位方法為首先根據(jù)隊列頭 信息中的文件號找到對應(yīng)數(shù)據(jù)文件并打開,再根據(jù)隊列頭信息中的數(shù)據(jù)單元 號計算偏移量,計算/>式為12+(數(shù)據(jù)單元號*10),最后將文件操作指針定 位到前面計算得到的偏移量,定位完成后,讀取10字節(jié)的數(shù)據(jù)單元描述符, 按照數(shù)據(jù)單元描述符的結(jié)構(gòu)(圖4)解析得到隊列頭數(shù)據(jù)單元的文件絕對偏移 量,將文件操作指針定位到該偏移量上,讀取數(shù)據(jù)單元描述符中描述長度的 數(shù)據(jù),將隊列頭指向下一個數(shù)據(jù)單元,具體算法為將lt據(jù)單元號+l,如果 小于10000,則直接更新隊列頭信息到控制文件中,如果大于等于10000,則 表明下一個數(shù)據(jù)單元在下一個數(shù)據(jù)文件中,將隊列頭文件號+1,設(shè)置隊列頭 數(shù)據(jù)單元號為O,刪除上一個數(shù)據(jù)文件,返回成功。
在本發(fā)明的方案中,所述控制文件還操作寫入i茲盤的數(shù)據(jù)隊列對數(shù)據(jù)修 改或刪除,其具體過程在此不再進(jìn)行贅述。
在本實施例中,所述的控制文件是必須的,在創(chuàng)建翁:據(jù)隊列時產(chǎn)生,再 操作數(shù)據(jù)隊列時修改;數(shù)據(jù)文件不是必須的,在操作數(shù)據(jù)隊列時動態(tài)生成、 修改和刪除。
綜上所述,本發(fā)明方法以及方法中采用的算法簡單,可以被直接嵌入各 種應(yīng)用中,在進(jìn)程內(nèi)的隊列應(yīng)用中,采用該輕量級的解決方案,較現(xiàn)有技術(shù) 開銷小,運行速度快,效率高。
雖然以上結(jié)合優(yōu)選實施例對本發(fā)明進(jìn)行了描述,但本領(lǐng)域的技術(shù)人員應(yīng) 該理解,本發(fā)明所述的方法并不限于具體實施方式
中所述的實施例,在不背 離由所附權(quán)利要求書限定的本發(fā)明精神和范圍的情況下,可對本發(fā)明作出各 種修改、增加、以及替換。
權(quán)利要求
1. 一種實現(xiàn)持久化數(shù)據(jù)隊列的方法,包括以下步驟獲得控制文件信息;根據(jù)所述控制文件信息載入數(shù)據(jù)隊列;通過控制模塊管理磁盤路徑中的文件。
2. 才艮據(jù)權(quán)利要求1所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于,獲 得控制文件信息步驟包括判斷指定的磁盤路徑中是否設(shè)有控制文件的步驟若指定的磁盤路徑內(nèi)有所述控制文件,直接讀取所述控制文件后并 載入所述數(shù)據(jù)隊列;若指定的》茲盤路徑內(nèi)沒有控制文件時,按照設(shè)定的格式創(chuàng)建所述控 制文件信息,并載入所述數(shù)據(jù)隊列。
3. 根據(jù)權(quán)利要求l所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于, 根據(jù)所述控制文件載入數(shù)據(jù)隊列是,根據(jù)所述控制文件信息中描述的隊列頭尾信息,載入數(shù)據(jù)隊列。
4. 根據(jù)權(quán)利要求2所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于,通 過所述控制模塊管理所述的》茲盤路徑中的文件具體為所述控制文件通過所述控制模塊讀取或修改或刪除所述磁盤中的數(shù)據(jù)文 件;以及所述控制文件通過所述控制模塊將數(shù)據(jù)文件寫入所述i茲盤中; 其中所述的控制模塊包括GetData、 PutData、 IsFull、 IsEmpty、 GetCount 的方法。
5. 根據(jù)權(quán)利要求4所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于, 所述控制文件將欲持久化的數(shù)據(jù)寫入磁盤包括以下步驟采用IsFull方式判斷數(shù)據(jù)文件是否為滿來確定該數(shù)據(jù)的寫入位置。
6. 根據(jù)權(quán)利要求5所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于, 采用IsFull方式時采用GetData用來從隊列頭獲耳又tt據(jù),PutData用來將數(shù)據(jù)寫入隊列尾。
7. 根據(jù)權(quán)利要求5所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于,在 采用IsEmpty的方式來提供隊列是否空狀態(tài),GetCount用來獲取隊列當(dāng)前的 數(shù)據(jù)單元數(shù)。
8. 根據(jù)權(quán)利要求4所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于,所 述數(shù)據(jù)隊列的讀寫操作首先在內(nèi)存中進(jìn)行,在PutData操作時將新添力口的數(shù) 據(jù)寫入所述》茲盤。
9. 根據(jù)權(quán)利要求l所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于,所 述的數(shù)據(jù)隊列為了先進(jìn)先出隊列。
10. 根據(jù)權(quán)利要求2所述的實現(xiàn)持久化數(shù)據(jù)隊列的方法,其特征在于, 還包括,在獲得控制文件的步驟前,判斷所述指定磁盤路徑中是否已經(jīng)具有 符合設(shè)定要求的控制文件,如果沒有,則在所述數(shù)據(jù)隊列中進(jìn)行判斷;如果 有,則采用該控制文件直接載入所述數(shù)據(jù)隊列。
全文摘要
本發(fā)明提供了一種實現(xiàn)持久化數(shù)據(jù)隊列的方法,包括以下步驟獲得控制文件信息;根據(jù)所述控制文件信息載入數(shù)據(jù)隊列;通過控制模塊管理磁盤路徑中的文件。本發(fā)明是采用輕量級的、基于磁盤文件的、先進(jìn)先出、端到端的數(shù)據(jù)隊列來實現(xiàn)的方法,可用于通信系統(tǒng)的消息傳遞,也可直接用于需要持久化消息的數(shù)據(jù)轉(zhuǎn)發(fā)以及流量控制中。
文檔編號H04L12/54GK101510838SQ20091007835
公開日2009年8月19日 申請日期2009年2月26日 優(yōu)先權(quán)日2009年2月26日
發(fā)明者傅樂民, 偉 彭, 東 曹 申請人:北京北緯點易信息技術(shù)有限公司