亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種高可靠性的數(shù)據(jù)通信方法和裝置的制作方法

文檔序號:7867457閱讀:193來源:國知局
專利名稱:一種高可靠性的數(shù)據(jù)通信方法和裝置的制作方法
一種高可靠性的數(shù)據(jù)通信方法和裝置方法
技術領域
本發(fā)明涉及網(wǎng)絡通信技術領域,特別涉及一種高可靠性的數(shù)據(jù)通信方法和裝置。背景技術
分布式通信系統(tǒng)因其方便管理和控制、開放性更強、可擴展性更高等優(yōu)點得到廣泛的應用。例如分布式數(shù)據(jù)中心中的監(jiān)控管理平臺作為中心設備能夠對多數(shù)據(jù)中心進行統(tǒng)一集中管理,圖1為分布式數(shù)據(jù)中心的系統(tǒng)結構圖。維護人員身處一地就能夠統(tǒng)籌所有數(shù)據(jù)中心,檢查和處理各個數(shù)據(jù)中心的設備狀態(tài)和故障,通過集中的指令發(fā)布,就能夠統(tǒng)一控制所有數(shù)據(jù)中心的調度作業(yè)及批量任務執(zhí)行。從而大大提高了多數(shù)據(jù)中心之間的統(tǒng)一管理、協(xié)助運行效率,同時還節(jié)約大量一線及后臺維護人員并提高故障響應速度。
然而,諸如分布式數(shù)據(jù)中心系統(tǒng)等分布式通信系統(tǒng),對網(wǎng)絡傳輸鏈路穩(wěn)定性要求較高,在傳輸帶寬不穩(wěn)定或鏈路不穩(wěn)定的情況下,無法保證數(shù)據(jù)的完整性和可用性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種高可靠性的數(shù)據(jù)通信方法和裝置,保證通信數(shù)據(jù)的完整性和可用性。
具體技術方案如下
一種高可靠性的數(shù)據(jù)通信方法,該方法包括
采用雙緩存技術使得讀寫操作在雙緩存中交錯進行,其中寫操作為將接收到的數(shù)據(jù)寫入緩存,讀操作為將緩存中的數(shù)據(jù)發(fā)送至目標設備;
當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,將寫入緩存失敗的數(shù)據(jù)寫入本地文件池;
周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備。
根據(jù)本發(fā)明一優(yōu)選實施例,所述采用雙緩存技術使得讀寫操作在雙緩存中交錯進行具體包括
當標識位為O時,將接收到的數(shù)據(jù)寫入第一緩存,將第二緩存中的數(shù)據(jù)發(fā)送至目標設備,當?shù)诙彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標志位為I;
當標志位為I時,將接收到的數(shù)據(jù)寫入第二緩存,將第一緩存中的數(shù)據(jù)發(fā)送至目標設備,當?shù)谝痪彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標識位為O。
根據(jù)本發(fā)明一優(yōu)選實施例,在將數(shù)據(jù)寫入本地文件池時,具體執(zhí)行
首先判斷所述本地文件池是否為空,如果是,則創(chuàng)建文件并將數(shù)據(jù)寫入創(chuàng)建的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件 池已滿;否則,將數(shù)據(jù)寫入未滿的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿。
根據(jù)本發(fā)明一優(yōu)選實施例,周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備具體包括
S1、在文件發(fā)送周期中,判斷所述本地文件池是否為空,如果為空,則重新轉至執(zhí)行步驟SI,直至當前文件發(fā)送周期結束;如果不為空,則執(zhí)行步驟S2 ;S2、獲取文件列表;S3、從列表中取出一個文件發(fā)送至所述目標設備,并從本地文件池中刪除發(fā)送成功的文件;重新轉至執(zhí)行步驟S3,直至文件列表為空或當前文件發(fā)送周期結束。根據(jù)本發(fā)明一優(yōu)選實施例,該方法適用于分布式通信系統(tǒng);當該方法由中心設備執(zhí)行時,所述目標設備為分支設備;當該方法由分支設備執(zhí)行時,所述目標設備為中心設備。一種高可靠性的數(shù)據(jù)通信裝置,該系統(tǒng)包括雙緩存讀寫模塊,用于采用雙緩存技術使得讀寫操作在雙緩存中交錯進行,其中寫操作為將接收到的數(shù)據(jù)寫入緩存,讀操作為將緩存中的數(shù)據(jù)發(fā)送至目標設備;持久化處理模塊,用于當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,將寫入緩存失敗的數(shù)據(jù)寫入本地文件池;數(shù)據(jù)補償模塊,用于周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備。根據(jù)本發(fā)明一優(yōu)選實施例,所述雙緩存讀寫模塊具體包括寫數(shù)據(jù)模塊,用于當標識位為O時,將接收到的數(shù)據(jù)寫入第一緩存,當標識位為I時,將接收到的數(shù)據(jù)寫入第二緩存;讀數(shù)據(jù)模塊,用于當標識位為O時,將第二緩存中的數(shù)據(jù)發(fā)送至目標設備,當標志位為I時,將第一緩存中的數(shù) 據(jù)發(fā)送至目標設備;標識位控制模塊,用于當?shù)诙彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標志位為1,當?shù)谝痪彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標識位為O。根據(jù)本發(fā)明一優(yōu)選實施例,所述持久化處理模塊在將數(shù)據(jù)寫入本地文件池時,具體執(zhí)行首先判斷所述本地文件池是否為空,如果是,則創(chuàng)建文件并將數(shù)據(jù)寫入創(chuàng)建的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿;否則,將數(shù)據(jù)寫入未滿的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿。根據(jù)本發(fā)明一優(yōu)選實施例,所述數(shù)據(jù)補償模塊具體執(zhí)行S1、在文件發(fā)送周期中,判斷所述本地文件池是否為空,如果為空,則重新轉至執(zhí)行操作SI,直至當前文件發(fā)送周期結束;如果不為空,則執(zhí)行操作S2 ;S2、獲取文件列表;S3、從列表中取出一個文件發(fā)送至所述目標設備,并從本地文件池中刪除發(fā)送成功的文件;重新轉至執(zhí)行操作S3,直至文件列表為空或當前文件發(fā)送周期結束。根據(jù)本發(fā)明一優(yōu)選實施例,該裝置適用于分布式通信系統(tǒng);當該裝置設置在中心設備中時,所述目標設備為分支設備;當該裝置設置在分支設備中時,所述目標設備為中心設備。由以上技術方案可以看出,本發(fā)明通過在雙緩存技術中可能會產(chǎn)生的寫緩存溢出或發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將緩存失敗或發(fā)送失敗的數(shù)據(jù)寫入本地文件池,并周期性地將本地文件池中的數(shù)據(jù)發(fā)送至目標設備,即采用數(shù)據(jù)持久化和數(shù)據(jù)補償兩種方式保證了目標設備所接收數(shù)據(jù)的完整性和可用性,避免了因傳輸帶寬不夠或鏈路不穩(wěn)定所引起的數(shù)據(jù)丟失。
圖1為分布式數(shù)據(jù)中心的系統(tǒng)結構圖;圖2為本發(fā)明實施例一提供的數(shù)據(jù)通信方法的示意圖;圖3為本發(fā)明實施例一提供的讀操作流程圖;圖4為本發(fā)明實施例一提供的寫操作流程圖;圖5為本發(fā)明實施例一提供的持久化流程圖;圖6為本發(fā)明實施例一提供的數(shù)據(jù)補償流程圖;圖7為本發(fā)明實施例二提供的數(shù)據(jù)通信裝置的結構圖。
具體實施方式為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實施例對 本發(fā)明進行詳細描述。在本發(fā)明實施例中以分布式數(shù)據(jù)中心系統(tǒng)為例進行描述,監(jiān)控管理平臺和各數(shù)據(jù) 中心之間的數(shù)據(jù)傳輸完整性和可用性需要保證,由背景技術中的描述可知,在該系統(tǒng)中作 為中心設備的監(jiān)控管理平臺其所接收數(shù)據(jù)的完整性和可用性尤為重要。下面就通過實施例 一以保證監(jiān)控管理平臺所接收數(shù)據(jù)的完整性和可靠性為例,對本發(fā)明提供的方法進行詳細 描述。首先對這種場景下的具體環(huán)境進行簡單介紹,監(jiān)控管理平臺的整個設計基于C/S(客 戶機/服務器)或B/S (瀏覽器/服務器)架構,在此將其中的C (客戶機)和B (服務器)統(tǒng) 稱為Agent (代理),即Agent和Server (服務器)架構。其中Agent負責采集數(shù)據(jù)并發(fā)送 至 Server, Agent直接與Server進行數(shù)據(jù)通信。Agent與Server之間的通信通道有監(jiān)控 通道和管理通道兩種,監(jiān)控通道主要作用是傳送Agent收集的事件和性能數(shù)據(jù),管理通道 作用是傳送Sever到Agent的管理命令,實施例一的方法主要用于通信通道的通信數(shù)據(jù)。實施例一、圖2為本發(fā)明實施例一提供的數(shù)據(jù)通信方法的示意圖,該方法主要通過設置在 Agent中的數(shù)據(jù)通信裝置來實現(xiàn)。在Agent中采用雙緩存技術使得讀寫操作在雙緩存中交 錯進行,如圖2所示,包含Buffer A和Buffer B兩個緩存,這兩個緩存以固定的時間(最小 5秒)隔交錯進行讀寫操作,其中寫操作指的是將Agent接收到的數(shù)據(jù)寫入緩存,讀操作指 的是將緩存中的數(shù)據(jù)發(fā)送至目標設備,本實施例中的目標設備為Server。為了防止由于傳輸帶寬不穩(wěn)定或者鏈路不穩(wěn)定所引起的數(shù)據(jù)發(fā)送異常,在發(fā)送數(shù) 據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池。還有一種情況,由于緩存的 容量有限,可能會存在寫操作過程中的緩存溢出,這也可能會造成數(shù)據(jù)不完整的情況,因此 在緩存出現(xiàn)寫溢出時,也將緩存失敗的數(shù)據(jù)寫入本地文件池。上述這一過程稱為持久化過 程,即將可能引起丟失的數(shù)據(jù)持久化到本地文件池。所謂本地文件池實際上是用于存儲本 地文件的存儲空間,在該存儲空間中數(shù)據(jù)可以以文件形式存儲。對于本地文件池中的數(shù)據(jù),采用周期性發(fā)送的方式發(fā)送至Server (即目標設備), 對于發(fā)送完成的數(shù)據(jù)從本地文件池中刪除,其中發(fā)送周期可以根據(jù)實際狀況進行自定義, 例如定義為30分鐘。這一過程稱為數(shù)據(jù)補償過程。下面對上面所述的幾個過程進行詳細描述,首先采用雙緩存技術實現(xiàn)的讀寫操作在雙緩存中交錯進行,可以通過設置一個標志位Flag來進行控制。當Flag為O時,將接收到的數(shù)據(jù)寫入Buffer A,將Buffer B中的數(shù)據(jù)發(fā)送至Server,當Buffer B中的數(shù)據(jù)發(fā)送完成后,設置Flag為I。當Flag為I時,將接收到的數(shù)據(jù)寫入Buffer B,將Buffer A中的數(shù)據(jù)發(fā)送至Server,當Buffer A中的數(shù)據(jù)發(fā)送完成后,設置Flag為O。另外,也可以采用默認預設時長作為交換時間,例如30秒,在第一個30秒內(nèi)將接收到的數(shù)據(jù)寫入Buffer A,將Buffer B中的數(shù)據(jù)發(fā)送至Server ;在第二個30秒內(nèi)將接收到的數(shù)據(jù)寫入Buffer B,將BufferA中的數(shù)據(jù)發(fā)送至Server。如果在上述過程中發(fā)生寫緩存溢出,則執(zhí)行持久化過程,即將緩存失敗的數(shù)據(jù)寫入本地文件池。在讀操作過程中,將緩存中的數(shù)據(jù)發(fā)送至Server,如果發(fā)生異常,則需要執(zhí)行持久化過程,即將發(fā)送失敗的數(shù)據(jù)寫入本地文件池。該讀操作的執(zhí)行流程如圖3所示,包括以下步驟步驟301 :依據(jù)Flag到對應的緩存中讀取數(shù)據(jù),將讀取的數(shù)據(jù)發(fā)送至Server。步驟302 :判斷數(shù)據(jù)發(fā)送是否發(fā)生異常,如果是,則執(zhí)行步驟303 ;否則,執(zhí)行步驟304。

在此判斷數(shù)據(jù)發(fā)送是否異常的方式與采用的具體TCP協(xié)議相關,例如可以在發(fā)送數(shù)據(jù)的設定時長內(nèi)沒有收到來自目標設備的指示接收數(shù)據(jù)成功的響應或接收到來自目標設備的指示接收數(shù)據(jù)失敗的響應時,確認數(shù)據(jù)發(fā)送發(fā)生異常。如果存在數(shù)據(jù)重發(fā)機制,則若重發(fā)N次數(shù)據(jù)都失敗,則確認數(shù)據(jù)發(fā)送發(fā)生異常,N為協(xié)議設定的正整數(shù)。步驟303 :將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,轉至步驟301。步驟304 :將發(fā)送成功的數(shù)據(jù)從緩存中刪除,轉至步驟301。寫操作的執(zhí)行流程如圖4所示,包括以下步驟步驟401 :依據(jù)Flag選擇要寫入的緩存。步驟402 :判斷要寫入的緩存是否已滿,如果是,則執(zhí)行步驟403 ;否則,執(zhí)行步驟404。步驟403 :針對要寫入的緩存執(zhí)行持久化流程,即寫入本地文件池,轉至步驟401。步驟404 :將接收到的數(shù)據(jù)寫入該緩存,轉至步驟401。持久化的流程就是當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,將寫入緩存失敗的數(shù)據(jù)寫入本地文件池。在將數(shù)據(jù)寫入本地文件池時,如圖5所示,具體包括以下步驟步驟501 :判斷本地文件池是否為空,如果是,執(zhí)行步驟502 ;否則,執(zhí)行步驟503。步驟502 :創(chuàng)建文件并將數(shù)據(jù)寫入創(chuàng)建的文件,執(zhí)行步驟504。步驟503 :將數(shù)據(jù)寫入未滿的文件,執(zhí)行步驟504。本步驟是找出上一次寫入的文件,如果上一次寫入的文件未滿,繼續(xù)將該數(shù)據(jù)寫入該未滿的文件,如果上一次寫入的文件已滿,則直接執(zhí)行步驟504。步驟504 :文件被寫滿后再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿。數(shù)據(jù)補償過程是將本地文件池中的數(shù)據(jù)周期性地發(fā)送至Server,然后刪除發(fā)送成功的文件。如圖6所示,具體包括以下步驟
步驟601 :在文件發(fā)送周期中,判斷本地文件池是否為空,如果為空,則重新轉至執(zhí)行步驟601,等待文件池中有文件發(fā)送,直至當前文件發(fā)送周期結束;如果不為空,則執(zhí)行步驟602。步驟602 :獲取本地文件池的文件列表。步驟603 :從文件列表中取出一個文件發(fā)送至Server,并從本地文件池中刪除發(fā)送成功的文件,重新轉至執(zhí)行步驟603,直至文件列表為空或當前文件發(fā)送周期結束。以上是對本發(fā)明提供的方法進行的詳細描述,下面結合實施例二對本發(fā)明提供的數(shù)據(jù)通信裝置進行詳細描述。實施例二、圖7為本發(fā)明實施例二提供的數(shù)據(jù)通信裝置的結構圖,如圖7所示,該裝置包括雙緩存讀寫模塊700、持久化處理模塊710和數(shù)據(jù)補償模塊720,其中,雙緩存讀寫模塊700具體包括寫數(shù)據(jù)模塊701、讀數(shù)據(jù)模塊702和標識位控制模塊703。雙緩存讀寫模塊700采用雙緩存技術使得讀寫操作在雙緩存中交錯進行,其中寫操作為將接收到的數(shù)據(jù)寫入緩存,讀操作為將緩存中的數(shù)據(jù)發(fā)送至目標設備。具體地,可以通過以下方式實現(xiàn)上述的雙緩存技術可以通過設置一個Flag來進行控制。 當Flag為O時,寫數(shù)據(jù)模塊701將接收到的數(shù)據(jù)寫入Buffer A,當Flag為I時,寫數(shù)據(jù)模塊701將接收到的數(shù)據(jù)寫入Buffer B。當Flag為O時,讀數(shù)據(jù)模塊702將Buffer B中的數(shù)據(jù)發(fā)送至目標設備,當Flag為I時,讀數(shù)據(jù)模塊702將Buffer A中的數(shù)據(jù)發(fā)送至目標設備。當Buffer B中的數(shù)據(jù)發(fā)送完成后,標識位控制模塊703設置Flag為1,當BufferA中的數(shù)據(jù)發(fā)送完成后,標識位控制模塊703設置Flag為O。除了上述方式之外,也可以采用默認預設時長作為交換時間,例如30秒,在第一個30秒內(nèi)將接收到的數(shù)據(jù)寫入Buffer A,將Buffer B中的數(shù)據(jù)發(fā)送至Server ;在第二個30秒內(nèi)將接收到的數(shù)據(jù)寫入Buffer B,將Buffer A中的數(shù)據(jù)發(fā)送至Server。持久化處理模塊710執(zhí)行持久化流程,當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,持久化處理模塊710將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,持久化處理模塊710將寫入緩存失敗的數(shù)據(jù)寫入本地文件池。持久化處理模塊710在將數(shù)據(jù)寫入本地文件池時,具體執(zhí)行首先判斷本地文件池是否為空,如果是,則創(chuàng)建文件并將數(shù)據(jù)寫入創(chuàng)建的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿;否則,將數(shù)據(jù)寫入未滿的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿。即執(zhí)行如圖5所示流程。數(shù)據(jù)補償模塊720周期性地將本地文件池中的數(shù)據(jù)發(fā)送至目標設備。具體執(zhí)行如圖6所示流程,在此不再贅述。本發(fā)明上述實施例以分布式數(shù)據(jù)中心中保證監(jiān)控管理中心數(shù)據(jù)完整性和可用性為例,需要說明的是,本發(fā)明提供的方法和裝置適用于任何通信設備和通信架構,來保證通信鏈路網(wǎng)絡帶寬不能滿足通信需求情況下保證數(shù)據(jù)的完整性和可用性,尤其分布式通信系統(tǒng),當該裝置設置在中心設備中時,對應的目標設備為分支設備;當該裝置設置在分支設備中時,對應的目標設備為中心設備。例如可以適用于地理信息系統(tǒng)(GIS)、智能交通、智能電力、智能安全、物聯(lián)網(wǎng)等領域。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等 ,均應包含在本發(fā)明保護的范圍之內(nèi)。
權利要求
1.一種高可靠性的數(shù)據(jù)通信方法,其特征在于,該方法包括 采用雙緩存技術使得讀寫操作在雙緩存中交錯進行,其中寫操作為將接收到的數(shù)據(jù)寫入緩存,讀操作為將緩存中的數(shù)據(jù)發(fā)送至目標設備; 當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,將寫入緩存失敗的數(shù)據(jù)寫入本地文件池; 周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備。
2.根據(jù)權利要求1所述的方法,其特征在于,所述采用雙緩存技術使得讀寫操作在雙緩存中交錯進行具體包括 當標識位為O時,將接收到的數(shù)據(jù)寫入第一緩存,將第二緩存中的數(shù)據(jù)發(fā)送至目標設備,當?shù)诙彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標志位為I ; 當標志位為I時,將接收到的數(shù)據(jù)寫入第二緩存,將第一緩存中的數(shù)據(jù)發(fā)送至目標設備,當?shù)谝痪彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標識位為O。
3.根據(jù)權利要求1所述的方法,其特征在于,在將數(shù)據(jù)寫入本地文件池時,具體執(zhí)行 首先判斷所述本地文件池是否為空,如果是,則創(chuàng)建文件并將數(shù)據(jù)寫入創(chuàng)建的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿;否則,將數(shù)據(jù)寫入未滿的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿。
4.根據(jù)權利要求1所述的方法,其特征在于,周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備具體包括 51、在文件發(fā)送周期中,判斷所述本地文件池是否為空,如果為空,則重新轉至執(zhí)行步驟SI,直至當前文件發(fā)送周期結束;如果不為空,則執(zhí)行步驟S2 ; 52、獲取文件列表; 53、從列表中取出一個文件發(fā)送至所述目標設備,并從本地文件池中刪除發(fā)送成功的文件;重新轉至執(zhí)行步驟S3,直至文件列表為空或當前文件發(fā)送周期結束。
5.根據(jù)權利要求1至4任一權項所述的方法,其特征在于,該方法適用于分布式通信系統(tǒng); 當該方法由中心設備執(zhí)行時,所述目標設備為分支設備; 當該方法由分支設備執(zhí)行時,所述目標設備為中心設備。
6.一種高可靠性的數(shù)據(jù)通信裝置,其特征在于,該系統(tǒng)包括 雙緩存讀寫模塊,用于采用雙緩存技術使得讀寫操作在雙緩存中交錯進行,其中寫操作為將接收到的數(shù)據(jù)寫入緩存,讀操作為將緩存中的數(shù)據(jù)發(fā)送至目標設備; 持久化處理模塊,用于當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,將寫入緩存失敗的數(shù)據(jù)寫入本地文件池; 數(shù)據(jù)補償模塊,用于周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述雙緩存讀寫模塊具體包括 寫數(shù)據(jù)模塊,用于當標識位為O時,將接收到的數(shù)據(jù)寫入第一緩存,當標識位為I時,將接收到的數(shù)據(jù)寫入第二緩存; 讀數(shù)據(jù)模塊,用于當標識位為O時,將第二緩存中的數(shù)據(jù)發(fā)送至目標設備,當標志位為I時,將第一緩存中的數(shù)據(jù)發(fā)送至目標設備; 標識位控制模塊,用于當?shù)诙彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標志位為1,當?shù)谝痪彺嬷械臄?shù)據(jù)發(fā)送完成后,設置所述標識位為O。
8.根據(jù)權利要求6所述的裝置,其特征在干,所述持久化處理模塊在將數(shù)據(jù)寫入本地文件池時,具體執(zhí)行 首先判斷所述本地文件池是否為空,如果是,則創(chuàng)建文件并將數(shù)據(jù)寫入創(chuàng)建的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿;否則,將數(shù)據(jù)寫入未滿的文件,直至文件被寫滿后,再創(chuàng)建新的文件進行數(shù)據(jù)寫入,直至文件池已滿。
9.根據(jù)權利要求6所述的裝置,其特征在于,所述數(shù)據(jù)補償模塊具體執(zhí)行 51、在文件發(fā)送周期中,判斷所述本地文件池是否為空,如果為空,則重新轉至執(zhí)行操作SI,直至當前文件發(fā)送周期結束;如果不為空,則執(zhí)行操作S2 ; 52、獲取文件列表; 53、從列表中取出一個文件發(fā)送至所述目標設備,并從本地文件池中刪除發(fā)送成功的文件;重新轉至執(zhí)行操作S3,直至文件列表為空或當前文件發(fā)送周期結束。
10.根據(jù)權利要求6至9任ー權項所述的裝置,其特征在于,該裝置適用于分布式通信系統(tǒng); 當該裝置設置在中心設備中時,所述目標設備為分支設備; 當該裝置設置在分支設備中時,所述目標設備為中心設備。
全文摘要
本發(fā)明提供了一種高可靠性的數(shù)據(jù)通信方法和裝置,其中方法包括采用雙緩存技術使得讀寫操作在雙緩存中交錯進行,其中寫操作為將接收到的數(shù)據(jù)寫入緩存,讀操作為將緩存中的數(shù)據(jù)發(fā)送至目標設備;當發(fā)送數(shù)據(jù)至目標設備發(fā)生異常時,將發(fā)送失敗的數(shù)據(jù)寫入本地文件池,或者當緩存出現(xiàn)寫溢出時,將寫入緩存失敗的數(shù)據(jù)寫入本地文件池;周期性地將本地文件池中的數(shù)據(jù)發(fā)送至所述目標設備。本發(fā)明采用數(shù)據(jù)持久化和數(shù)據(jù)補償兩種方式保證了目標設備所接收數(shù)據(jù)的完整性和可用性,避免了因傳輸帶寬不夠或鏈路不穩(wěn)定所引起的數(shù)據(jù)丟失。
文檔編號H04L29/08GK103051678SQ201210513190
公開日2013年4月17日 申請日期2012年12月4日 優(yōu)先權日2012年12月4日
發(fā)明者王衛(wèi)東, 謝朝陽 申請人:中國電信股份有限公司云計算分公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1