專利名稱:一種多文件實時同步傳輸的方法
技術領域:
本發明涉及一種多文件實時同步傳輸的方法。
背景技術:
電信運營商的業務支撐系統中,有對用戶在蜂窩網絡中的狀態的更改,比如欠費停機和繳費開機,用戶在停機的狀態下,通過業務支撐系統繳費后,需要向網絡中的HLR(Home Location Register歸屬位置登記處)的接ロ發送指令,改變用戶狀態為開機。這些從業務支撐系統中產生的指令數據,通過開關機子系統發送給HLR,為提升前端系統的響應速度,指令是通過異步的方式進行處理的,因此,開關機系統中可能保存有待處理指令。為了對指令傳輸通道的運行作保障,為開關機子系統建立了備份系統,備份系統平時處于空置狀態,只是同步主系統中的數據,一旦主系統發生故障,則由備份系統接管指令的處理。為了使接管過程中數據損失,需要主備系統間的數據同步能以更快的速度進行。指令的傳遞過程是通過數據庫的表進行了,但數據庫響應時間通常難以和本地文件系統的響應時間相比(經過測試,至少10倍的差距),因此指令的同步過程是通過文件處理的。一套開關機系統會接入多個HLR接ロ,指令數據是按照其發送的HLR分開保存的,一個HLR會有ー份指令數據文件。
發明內容
本發明所要解決的技術問題是,針對現有技術的不足,提供一種以小的系統開銷,盡量準確快速的在主機之間同步多個文件的多文件實時同步傳輸的方法。本發明解決上述技術問題的技術方案如下:一種多文件實時同步傳輸的方法,具體包括以下步驟:步驟1:啟動發送端,發送端讀取文件并判斷文件數據是否為有用數據,并將所述有用數據發送至接收端;步驟2:設置接收端的文件保存目錄和監聽端ロ ;步驟3:接收端接收發送端發送的數據。本發明的有益效果是:本發明使用單進程單線程的方式,系統資源消耗少;通過TCP連接傳送數據,確保數據傳輸的可靠性和及時性;保存斷點文件可以在進程重新啟動時也能確保數據的完整性;部署簡單,増加要同步的文件,只需要存入固定目錄就可以,靈活簡單;單次處理都是大塊數據進行,能更好的利用磁盤的讀寫效率以及網絡傳輸效率性能,提高處理速度。避免數據庫中數據的直接操作,以文件方式可以比數據庫操作快至少10倍,減少了數據丟失的風險。在上述技術方案的基礎上,本發明還可以做如下改進。進ー步,所述步驟I具體包括如下步驟:步驟1.1:發送端通過連接TCP端ロ連接接收端,連接成功,則繼續下一歩,否則發送端進行重新連接;
步驟1.2:讀取文件,并判斷是否存在斷點文件,如果存在斷點文件,則從斷點位置開始讀取文件數據,否則,從文件的開始進行讀取;步驟1.3:掃描目錄文件;步驟1.4:判斷一次掃描是否結束,結束,則更新斷點文件,并返回步驟1.3 ;否則,判斷文件是否大于其保存的斷點位置,如果大于,繼續下一步;否則,忽略此文件并返回判斷一次掃描是否結束;步驟1.5:發送數據至接收端。進一步,所述步驟1.2完成讀取一個文件后,繼續判斷下一個文件;所述步驟1.3完成掃描一個目錄文件后,繼續掃描下一個目錄文件;所述步驟1.5完成發送一個數據至接收端后,繼續發送下一個數據。采用此進一步技術方案的有益效果是,不同步驟可以同時接收不同的文件,實現了多個文件的同步傳輸,提供了傳輸的速度和效率。進一步,所述斷點文件保存的是同步目錄中各文件上次最后讀取的文件位置。進一步,所述步驟1.4中當所述文件大小與斷點位置相等,則表明沒有新數據加入,可以忽略,當所述文件大小小于斷點位置,則表明文件出現問題,將該文件從同步文件列表中副除。進一步,所述步驟1.5具體包括以下步驟:步驟1.5.1:發送端將數據添加包頭后發送至接收端;步驟1.5.2:發送端判斷是否接受到接受到接收端的確認信息,接收到,表示連接成功,跳轉至步驟1.4 ;否則,跳轉至步驟1.1。進一步,所述步驟2具體包括如下步驟:步驟2.1:接收端校驗設定的文件保存路徑是否存在,存在,則繼續下一步;否則,返回失敗并退出;步驟2.2:接收端監聽參數設定端口,設定成功,繼續下一步;否則,退出執行。進一步,所述步驟3具體包括如下步驟:步驟3.1:接收端接收到發送端發送的數據,發送確認信息至發送端,每次讀取一個報文;步驟3.2:讀取文件名后,打開對應的文件,將包體數據寫入文件后關閉。進一步,所述報文中包括文件名的包頭和數據體,所述包頭中包括數據體長度。進一步,所述步驟3.2中讀取文件名后,以追加寫的方式打開對應的文件。
圖1為本發明具體實施例1所述的一種多文件實時同步傳輸的方法的發送端流程圖;圖2為本發明具體實施例1所述的一種多文件實時同步傳輸的方法的接收端流程圖。
具體實施例方式以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。如圖1所示,本發明具體實施例1所述的一種多文件實時同步傳輸的方法的發送端流程圖,具體包括以下步驟:步驟1:發送端通過連接TCP端口連接接收端,連接成功,則繼續下一步,否則發送端進行重新連接;步驟2:讀取文件,并判斷是否存在斷點文件,如果存在斷點文件,則從斷點位置開始讀取文件數據,否則,從文件的開始進行讀取;步驟3:掃描目錄文件;步驟4:判斷一次掃描是否結束,結束,則更新斷點文件,并返回步驟3 ;否則,判斷文件是否大于其保存的斷點位置,如果大于,繼續下一步;否則,忽略此文件并返回判斷一次掃描是否結束;步驟5:發送端將數據添加包頭后發送至接收端;步驟6:發送端判斷是否接受到接受到接收端的確認信息,接收到,表示連接成功,跳轉至步驟4 ;否則,跳轉至步驟I。其中,所述步驟2完成讀取一個文件后,繼續判斷下一個文件;所述步驟3完成掃描一個目錄文件后,繼續掃描下一個目錄文件;所述步驟5完成發送一個數據至接收端后,繼續發送下一個數據。如圖2所示,本發明具體實施例1所述的一種多文件實時同步傳輸的方法的接收端流程圖,具體包括以下步驟:步驟7:接收端校驗設定的文件保存路徑是否存在,存在,則繼續下一步;否則,返回失敗并退出;步驟8:接收端監聽參數設定端口,設定成功,繼續下一步;否則,退出執行。步驟9:接收端接收到發送端發送的數據,發送確認信息至發送端,每次讀取一個報文;步驟10:讀取文件名后,打開對應的文件,將包體數據寫入文件后關閉。所述斷點文件保存的是同步目錄中各文件上次最后讀取的文件位置。所述步驟4中當所述文件大小與斷點位置相等,則表明沒有新數據加入,可以忽略,當所述文件大小小于斷點位置,則表明文件出現問題,將該文件從同步文件列表中剔除。所述報文中包括文件名的包頭和數據體,所述包頭中包括數據體長度。所述步驟10中讀取文件名后,以追加寫的方式打開對應的文件。以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種多文件實時同步傳輸的方法,其特征在于,具體包括以下步驟: 步驟1:啟動發送端,發送端讀取文件并判斷文件數據是否為有用數據,并將所述有用數據發送至接收端; 步驟2:設置接收端的文件保存目錄和監聽端ロ ; 步驟3:接收端接收發送端發送的數據。
2.根據權利要求1所述的方法,其特征在于,所述步驟I具體包括如下步驟: 步驟1.1:發送端通過連接TCP端ロ連接接收端,連接成功,則繼續下一歩,否則發送端進行重新連接; 步驟1.2:讀取文件,并判斷是否存在斷點文件,如果存在斷點文件,則從斷點位置開始讀取文件數據,否則,從文件的開始進行讀取; 步驟1.3:掃描目錄文件; 步驟1.4:判斷一次掃描是否結束,結束,則更新斷點文件,并返回步驟1.3 ;否則,判斷文件是否大于其保存的斷點位置,如果大干,繼續下一歩;否則,忽略此文件并返回判斷一次掃描是否結束; 步驟1.5:發送數據至接收端。
3.根據權利要求2所述的方法,其特征在于,所述步驟1.2完成讀取ー個文件后,繼續判斷下一個文件;所述步驟1.3完成掃描ー個目錄文件后,繼續掃描下一個目錄文件;所述步驟1.5完成發送ー個數據至接 收端后,繼續發送下ー個數據。
4.根據權利要求3所述的方法,其特征在干,所述斷點文件保存的是同步目錄中各文件上次最后讀取的文件位置。
5.根據權利要求4所述的方法,其特征在于,所述步驟1.4中當所述文件大小與斷點位置相等,則表明沒有新數據加入,可以忽略,當所述文件大小小于斷點位置,則表明文件出現問題,將該文件從同步文件列表中剔除。
6.根據權利要求2所述的方法,其特征在于,所述步驟1.5具體包括以下步驟: 步驟1.5.1:發送端將數據添加包頭后發送至接收端; 步驟1.5.2:發送端判斷是否接受到接受到接收端的確認信息,接收到,表示連接成功,跳轉至步驟1.4 ;否則,跳轉至步驟1.1。
7.根據權利要求6所述的方法,其特征在于,所述步驟2具體包括如下步驟: 步驟2.1:接收端校驗設定的文件保存路徑是否存在,存在,則繼續下一歩;否則,返回失敗并退出; 步驟2.2:接收端監聽參數設定端ロ,設定成功,繼續下一歩;否則,退出執行。
8.根據權利要求1至7任一項所述的方法,其特征在于,所述步驟3具體包括如下步驟: 步驟3.1:接收端接收到發送端發送的數據,發送確認信息至發送端,每次讀取ー個報文; 步驟3.2:讀取文件名后,打開對應的文件,將包體數據寫入文件后關閉。
9.根據權利要求8所述的方法,其特征在于,所述報文中包括文件名的包頭和數據體,所述包頭中包括數據體長度。
10.根據權利要求9所述的方法,其特征在于,所述步驟3.2中讀取文件名后,以追加寫的方式打開對應 的文件。
全文摘要
本發明涉及一種多文件實時同步傳輸的方法,具體包括以下步驟步驟1啟動發送端,發送端將有用數據發送至接收端;步驟2設置接收端的文件保存目錄和監聽端口;步驟3接收端接收發送端發送的數據。本發明使用單進程單線程的方式,系統資源消耗少;通過TCP連接傳送數據,確保數據傳輸的可靠性和及時性;保存斷點文件可以在進程重新啟動時也能確保數據的完整性;部署簡單,增加要同步的文件,只需要存入固定目錄就可以,靈活簡單;單次處理都是大塊數據進行,能更好的利用磁盤的讀寫效率以及網絡傳輸效率性能,提高處理速度。避免數據庫中數據的直接操作,以文件方式可以比數據庫操作快至少10倍,減少了數據丟失的風險。
文檔編號H04L29/08GK103095809SQ20121058189
公開日2013年5月8日 申請日期2012年12月27日 優先權日2012年12月27日
發明者官元峰 申請人:北京思特奇信息技術股份有限公司