TWI439873B - Data synchronization method - Google Patents
Data synchronization method Download PDFInfo
- Publication number
- TWI439873B TWI439873B TW100128261A TW100128261A TWI439873B TW I439873 B TWI439873 B TW I439873B TW 100128261 A TW100128261 A TW 100128261A TW 100128261 A TW100128261 A TW 100128261A TW I439873 B TWI439873 B TW I439873B
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- data
- client
- link information
- synchronization
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Description
本發明係有關於一種資料處理系統及其方法,特別是指一種資料同步方法。
由於企業管理層面逐漸地從人力各自管理轉變成系統集中管理,並同時參酌企業各自所接觸之市場環境改變管理,使得企業自傳統的人力管理方式轉變為利用管理系統針對企業中的執行規劃、商品部署、人力部署及規劃等進行管理,來幫助企業對變化不斷的市場保有競爭力,並在企業所擁有之商品銷售網路中可作到嚴格的監督和控制,以維持企業的各銷售管道的暢通,並改善企業內外之管理水準。關於企業內部資料,例如:商品、人力資源部署等資料,企業在多部門的體制下,每一部門需各自設立自己獨立的資料,且,部門之間的資料又需共享,因此企業內部需要做到資料同步的措施,以避免企業內部資源重複使用於相同計畫或規畫之作業中,例如:企業資源規劃(Enterprise Resource Planning;ERP)系統。
隨著經濟全球化的發展趨勢,出現了一大批跨地區、跨國界之大型企業集團。該等企業集團之分支機構分佈於世界各地,而各地分支機構需要共用資訊以聯合作業。因此,如何對其資料進行管控,以實現企業資源之共享,已成為該類企業營運的一個重要組成部分。而資訊技術的發展,使得跨機構、跨地域的資料訪問與協作成為可能。資料同步管理越趨於受到重視,不論是分散式或集中式管理,皆需將主機與複數客戶端連接,特別是在經銷點眾多的企業,其所需之客戶端更需建立更多的客戶端,而資料同步更是需謹慎,以避免資料同步系統發生異常,因而導致資料毀損。
目前,為了提高資料訪問的效率以及減小故障的損失,企業一般採用分散式資料管理系統。但,資料同步不僅是在避免客戶資料重複,因而造成重複使用企業資源於同一客戶,更需注意資料丟失問題,以及冗餘資料的問題,其中資料丟失問題經常發生於傳輸過程中,例如:當資料同步的過程中發生異常狀況時(如:網路傳輸中斷),整個資料同步的過程就會失敗,由於一般同步資料過程中所傳輸之資料龐大,而網路中斷所導致之資料異常難以挽救,需將資料重新自客戶端完整地讀取至同步主機端,而造成整體系統運作的穩定性受到很大的影響。
一般資料同步系統僅可在針對關鍵欄位萃取資料,以簡化資料同步過中所傳輸的資料量,並精簡同步主機端的資料儲存量,然而,使用時間一久,客戶資料需要更新,或者,短時間內,客戶資料重複修改,如此資料同步系統會讓同步主機端依據同步原則複製客戶端所有資料,因而造成同步主機端存取甚多冗餘資料,因此對於同步主機端而言,冗餘資料會日積月累地增加,因而造成同步主機端的負擔。
有鑑於此,本發明提出一種資料同步方法,其改善習知資料同步系統的資料丟失問題,兼具改善冗餘資料的問題,以增加資料同步效率。
隨著經濟全球化的發展趨勢,出現了一大批跨地區、跨國界之大型企業集團。該等企業集團之分支機構分佈於世界各地,而各地分支機構需要共用資訊以聯合作業。因此,如何對其資料進行管控,以實現企業資源之共享,已成為該類企業營運的一個重要組成部分。而資訊技術的發展,使得跨機構、跨地域的資料訪問與協作成為可能。資料同步管理越趨於受到重視,不論是分散式或集中式管理,皆需將主機與複數客戶端連接,特別是在經銷點眾多的企業,其所需之客戶端更需建立更多的客戶端,而資料同步更是需謹慎,以避免資料同步系統發生異常,因而導致資料毀損。
目前,為了提高資料訪問的效率以及減小故障的損失,企業一般採用分散式資料管理系統。但,資料同步不僅是在避免客戶資料重複,因而造成重複使用企業資源於同一客戶,更需注意資料丟失問題,以及冗餘資料的問題,其中資料丟失問題經常發生於傳輸過程中,例如:當資料同步的過程中發生異常狀況時(如:網路傳輸中斷),整個資料同步的過程就會失敗,由於一般同步資料過程中所傳輸之資料龐大,而網路中斷所導致之資料異常難以挽救,需將資料重新自客戶端完整地讀取至同步主機端,而造成整體系統運作的穩定性受到很大的影響。
一般資料同步系統僅可在針對關鍵欄位萃取資料,以簡化資料同步過中所傳輸的資料量,並精簡同步主機端的資料儲存量,然而,使用時間一久,客戶資料需要更新,或者,短時間內,客戶資料重複修改,如此資料同步系統會讓同步主機端依據同步原則複製客戶端所有資料,因而造成同步主機端存取甚多冗餘資料,因此對於同步主機端而言,冗餘資料會日積月累地增加,因而造成同步主機端的負擔。
有鑑於此,本發明提出一種資料同步方法,其改善習知資料同步系統的資料丟失問題,兼具改善冗餘資料的問題,以增加資料同步效率。
本發明之主要目的,在於提供一種資料同步方法,其改善資料丟失之問題。
本發明之次要目的,在於提供一種資料同步方法,其改善冗餘資料之問題。
本發明係提供一種資料同步方法,其應用於一主機與至少一客戶端。該資料同步方法先自主機傳送一同步作業請求至客戶端,使客戶端依據該同步作業請求傳送至少一連結資訊至主機,供主機判斷所接收之連結資訊是否包含作業旗標,以依據未包含作業旗標之連結資訊傳送一資料傳輸請求至客戶端,使客戶端傳送該連結資訊相對應之資料至主機,並在主機完成接收該連結資訊相對應之資料時,儲存一作業旗標至該連結資訊並傳送至客戶端,以覆寫客戶端之連結資訊。
此外,本發明更另外利用一狀態旗標記錄資料之更新狀態,使主機除了判斷作業旗標之外,更進一步判斷狀態旗標,使主機與客戶端之間針對更新後之該資料進行同步作業,而避免複製冗餘資料至主機,如此以解決冗餘資料的問題。
茲為使 貴審查委員對本發明之結構特徵及所達成之功效更有進一步之瞭解與認識,謹佐以較佳之實施例圖及配合詳細之說明,說明如後:
本發明之次要目的,在於提供一種資料同步方法,其改善冗餘資料之問題。
本發明係提供一種資料同步方法,其應用於一主機與至少一客戶端。該資料同步方法先自主機傳送一同步作業請求至客戶端,使客戶端依據該同步作業請求傳送至少一連結資訊至主機,供主機判斷所接收之連結資訊是否包含作業旗標,以依據未包含作業旗標之連結資訊傳送一資料傳輸請求至客戶端,使客戶端傳送該連結資訊相對應之資料至主機,並在主機完成接收該連結資訊相對應之資料時,儲存一作業旗標至該連結資訊並傳送至客戶端,以覆寫客戶端之連結資訊。
此外,本發明更另外利用一狀態旗標記錄資料之更新狀態,使主機除了判斷作業旗標之外,更進一步判斷狀態旗標,使主機與客戶端之間針對更新後之該資料進行同步作業,而避免複製冗餘資料至主機,如此以解決冗餘資料的問題。
茲為使 貴審查委員對本發明之結構特徵及所達成之功效更有進一步之瞭解與認識,謹佐以較佳之實施例圖及配合詳細之說明,說明如後:
請參閱第一A圖與第一B圖,其為本發明之主機與客戶端之一實施例之方塊圖與主機架構之一實施例之方塊圖。如圖所示,本發明之資料同步系統10係包含一主機12、至少一客戶端14,而本實施例係以複數客戶端作為舉例說明,因此客戶端更包含客戶端16、客戶端18、客戶端20與客戶端22。其中主機12包含一主控單元122、一時間管理模組124、一路徑管理模組126、一內容管理模組128、一警示單元130、一儲存單元132與一記錄模組134。本實施例更包含一備份主機22與一控制介面24。
如第一A圖所示,本實施例之客戶端14、16、18、20、22係以有線網路連接至主機12,此外,備份主機22係連接主機12與控制介面24,備份主機22係用以備份該主機12之所有資料,其包含同步作業之相關資料以及主機12運行所執行之資料,且備份主機22依據其所備份之資料提供控制介面24連接,因此備份主機22即藉由控制介面24與外部網路連接,但主機12與客戶端14、16、18、20、22並未連接至控制介面24。
如第一B圖所示,主控單元122係連接時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130與儲存單元132,記錄模組134分別連接至主控單元122、時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130與儲存單元132。此外,備份主機22係分別連接主機12與控制介面24。
該些客戶端14、16、18、20、22係分別儲存至少一資料,本實施例之該些客戶端14、16、18、20、22所儲存之資料不相同,亦即該些客戶端14、16、18、20、22位於不同區域,使該些客戶端所儲存之資料不盡相同,但本發明不限於此,該些客戶端14、16、18、20、22更可儲存不同區域之相同屬性資料。主機12係輪詢客戶端14、16、18、20、22所儲存之資料的作業旗標,以依據該客戶端14、16、18、20、22所儲存之資料所含有之作業旗標而複製資料。
主機12藉由主控單元122控制時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130與儲存單元132。時間管理單元124設有一時間管理資料,主機12依據時間管理模組124之時間管理資料,每經一輪詢延遲時間後,方才依據路徑管理模組125連線至該些客戶端14、16、18、20、22,分別傳送同步作業請求至該些客戶端14、16、18、20、22,使客戶端14、16、18、20、22回覆連結資訊至主機12,並藉由判斷連結資訊中是否包含作業旗標,以確認是否需要進行同步作業,而避免主機12長時間維持該些客戶端14、16、18、20、22之連線而占用大量網路頻寬。
主機12透過路徑管理模組126管理該主機12之連線,並控制該主機12連接該些客戶端14、16、18、20、22,也就路徑管理模組126設有一連線資料,因此主機12依據該連接資料連接至該些客戶端14、16、18、20之至少一者,主機12即藉由主控單元122讀取路徑管理模組126之連線資料,以取得該些客戶端14、16、18、20、22之連線位址,例如:該些客戶端14、16、18、20、22之網路位址(IP address)或網頁位址(web address)。內容管理模組128係設有一擷取規則,用以管理該主機12所擷取之資料內容,該主機12即依據該擷取規格擷取該些客戶端14、16、18、20、22之資料,例如:定義主機12僅擷取客戶資料中的客戶名稱、聯絡電話、住址、現階段作業狀態;警示單元130依據該主機12與該些客戶端14、16、18、20、22之一失效同步作業而傳送一警示訊息至對應之客戶端,例如:主機12未完成接收該些客戶端14、16、18、20、22之資料;儲存單元132儲存主機12自客戶端14、16、18、20、22所擷取之資料。記錄單元134係針對主機12之主控單元122、時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130、儲存單元132與記錄模組134進行記錄,以將主機12所有作業進行記錄。
以上所述,本實施例之主機12為依據客戶端之資料相對應之連結資訊是否包含作業旗標,以判斷是否接收客戶端之資料,當連結資訊未包含作業旗標時,主機12傳送資料傳輸請求至客戶端,使客戶端回傳對應該連結資訊之資料至客戶端,並在主機12完成接收該客戶端之該資料時,該主機12儲存該作業旗標至連結資訊中,以供主機12判定為同步作業完成,同時將儲存完成之連結資訊傳送至客戶端,以覆寫客戶端之連結資訊;倘若,該主機12未完成接收該客戶端之該資料時,該主機12即不儲存該作業旗標至相對應之連結資訊中,以供主機12判定為未完成作業,所以該主機12接續依據未包含作業旗標之連結資訊傳送資料傳輸請求至客戶端,使客戶端傳送相對應連結資訊之資料至主機,以接續完成接收資料而設定該作業旗標至連結資訊,並傳送至客戶端,而覆寫客戶端之連結資訊。
請參閱第二A圖與第二B圖,其為本發明之為本發明之主機與客戶端之間資料連結之一實施例之方塊圖與連結資訊架構之一實施例之方塊圖。如圖所示,資料同步系統10係與第一A圖所示之元件相同,第一A圖與第二A圖之差異僅在於第二A圖更標示每一客戶端14、16、18、20、22之連結資訊142、162、182、202、222。本實施例之連結資訊架構30係指客戶端14、16、18、20、22所存取之連結資訊架構,連結資訊架構30係包含作業旗標32、狀態旗標34、內容指標36、建立時間標註38與修改時間標註40。
連結資訊架構30係以作業旗標32是否存在而標示是否已完成同步作業,也就是主機12(如第二A圖所示)係依據連結資訊架構30是否包含作業旗標32而判斷客戶端相對應之資料是否已完成同步作業,對於已包含作業旗標32之連結資訊即表示為相對應之資料已完成同步作業,所以主機12會忽略,對於未包含作業旗標32之連結資訊即表示相對應之資料未完成同步作業,主機12會依據未包含作業旗標32之連結資訊架構30傳送一資料傳輸請求至對應之客戶端,以接收客戶端相對應之資料並儲存。
且,當網路異常中斷而導致客戶端與主機12之間同步作業中斷時,主機12不會將作業旗標32儲存至連結資訊架構30中,因此主機12可由連結資訊架構30因未包含作業旗標32而得知相對應之資料仍為未完成同步作業,所以主機12接續重新執行同步作業,亦即重新傳送資料傳輸請求至相對應之客戶端,以重新接收客戶端之資料並儲存。
狀態旗標34係標示資料之更新狀態,其同時對應於修改時間標註40,也就是客戶端14、16、18、20、22中的資料一旦受到更改,客戶端14、16、18、20、22僅會針對客戶端最近更新之資料將其連結資訊142、162、182、202、222中連結資訊架構30的狀態旗標34標示為最新資料,例如:1位元之狀態旗標,0為舊資料,1為最新資料,因此主機12僅需針對最新資料進行同步作業,無須針對修改過程中的舊資料或修改過程所衍生之資料進行同步作業,所以主機12可藉由連結資訊架構30中的狀態旗標34簡化同步作業所需之資料量。
內容指標36係一筆資料所包含之內容的至少一起始位址,也就是內容指標36係指客戶端14、16、18、20、22用於儲存對應於該連結資訊架構30之資料的實體位址,例如:資料儲存裝置係以十六進制之Fx000111F表示儲存資料之實體位址,因此內容指標36即儲存Fx000111F。建立時間標註38係儲存該連結資訊架構30之一建立時間,其為使用者於客戶端建立資料之建立時間。修改時間標註40係儲存該連結資訊架構30之修改時間,其為使用者於客戶端最後修改資料的時間點。
以上所述,本發明係藉由連結資訊架構30是否包含作業旗標32,以判斷是否完成資料之同步作業,進而避免主機12因網路或線路異常而中斷同步作業,使主機12於異常中斷後,可依據未包含作業旗標32之連結資訊架構30接續執行同步作業,且,主機12更依據狀態旗標34針對最後修改之資料進行同步作業,以簡化同步作業所需之資料量,因而讓主機12不接收資料修改過程所衍生之資料或舊資料,如此主機12更可避免冗餘資料占用主機12之系統資源。
請參閱第三A圖,其為本發明之資料作業流程之一實施例的流程圖。如圖所示,本發明之資料作業流程係應用於一主機與至少一客戶端之間以及主機連接至外部的資料作業,該資料作業流程之步驟係包含:
步驟S10:進行主機與客戶端之間的資料同步作業;
步驟S20:判斷是否完成同步作業
步驟S30:備份主機之所有資料;以及
步驟S40:使用控制介面連接至備份主機。
於步驟S10中,主機係與客戶端之間依據本發明之資料同步方法進行資料同步作業,以讓主機所儲存之資料與客戶端所存取之資料同步;於步驟S20中,主機判斷是否完成與客戶端之同步作業,當主機判斷已完成最後一筆資料之同步作業時,接續執行步驟S30,當主機判斷未完成最後一筆資料之同步作業時,接續執行步驟S10;於步驟S30中,備份主機針對主機所有同步作業所存取之資料進行備份;於步驟S40中,控制介面經連接至備份主機,以提供備份主機中所備份的資料,並提供資料查詢。
請參閱第三B圖,其為本發明之資料同步方法之一實施例的流程圖。如圖所示,本發明之資料同步方法係用以主機所存取之資料與客戶端所儲存之資料同步,本發明之方法係包含:
步驟S100:主機傳送同步作業請求至客戶端;
步驟S110:客戶端依據同步作業請求傳送連結資訊至主機;
步驟S120:主機判斷連結資訊是否包含作業旗標;
步驟S130:主機傳送資料傳輸請求至該客戶端;
步驟S140:客戶端傳送相對應之資料至主機;以及
步驟S150:主機儲存作業旗標至連結資訊,以傳送至該客戶端。
於步驟S100中,主機係傳送同步作業請求至客戶端,接續執行步驟S110,客戶端依據所接收之同步作業請求將對應同步作業之相關連結資訊傳送至主機;於步驟S120中,主機依據連結資訊中是否存在作業旗標,以確認連結資訊所對應之資料是否已完成同步作業,當判斷為是,則執行步驟S100,當判斷為否,則繼續執行步驟S130,同時,主機會依據狀態旗標判斷客戶端中資料的更新狀態,以判斷客戶端的最新資料;於步驟S130中,主機依據未包含作業旗標之連結資訊與對應之狀態旗標傳送一資料傳輸請求至客戶端;於步驟S140中,客戶端依據主機所傳送之資料傳輸請求傳送對應之最新資料至主機,以進行同步作業,亦即將客戶端中的最新資料複製至主機中;於步驟S150中,主機於完成接收未包含作業旗標之連結資訊所對應之資料後,儲存作業旗標至連結資訊中,並同時傳送至客戶端,以覆寫客戶端之連結資訊。
請參閱第三C圖,其為本發明之資料同步方法之另一實施例之流程圖。其中第三B圖與第三C圖之差異在於第三C圖更包含一步驟,其為同步作業發生異常之步驟,也就是本實施例在於處理資料同步異常中斷的情況。如圖所示,本發明之資料同步方法之步驟係包含:
步驟S200:主機傳送同步作業請求至客戶端;
步驟S210:客戶端依據同步作業請求傳送連結資訊至主機;
步驟S220:主機判斷連結資訊是否包含作業旗標;
步驟S230:主機傳送資料傳輸請求至該客戶端;
步驟S240:客戶端傳送相對應之資料至主機;
步驟S250:偵測到網路異常中斷而中斷同步作業;
步驟S260:重新執行步驟S230至S240;以及
步驟S270:主機儲存作業旗標至連結資訊,以傳送至該客戶端。
於步驟S200中,主機係傳送同步作業請求至客戶端,接續執行步驟S210,客戶端依據所接收之同步作業請求將對應同步作業之相關連結資訊傳送至主機;於步驟S220中,主機依據連結資訊中是否存在作業旗標,以確認連結資訊所對應之資料是否已完成同步作業,當判斷為是,則執行步驟S200,當判斷為否,則繼續執行步驟S230,同時,主機會依據狀態旗標判斷客戶端中資料的更新狀態,以判斷客戶端的最新資料;於步驟S230中,主機依據未包含作業旗標之連結資訊與對應之狀態旗標傳送一資料傳輸請求至客戶端;於步驟S240中,客戶端依據主機所傳送之資料傳輸請求傳送對應之最新資料至主機,以進行同步作業,亦即將客戶端中的最新資料複製至主機中。
接續上述,於步驟S250中,主機偵測到主機與客戶端之間的網路連線中斷,因此主機中斷主機與客戶端之同步作業;於步驟S260中,主機與客戶端之間的網路連線恢復後,主機與客戶端之間重新執行同步作業,也就是重新執行步驟S230與S240,而接續執行中斷前之同步作業,倘若,再次未完成,則重新執行步驟S260;於步驟S270中,主機於完成接收未包含作業旗標之連結資訊所對應之資料後,儲存作業旗標至連結資訊中,並同時傳送至客戶端,以覆寫客戶端之連結資訊。
以上步驟S250所述之同步作業異常中斷之情況係以網路連線中斷作為舉例,除此之外,本發明所指之異常中斷更包含主機或客戶端發生異常而造成同步作業中斷之情況,而藉由上述之步驟避免異常中斷所造成之無法挽救的情況。
綜上所述,本發明為一種資料同步方法,其藉由客戶端所儲存之資料所對應之連結資訊,主機於同步作業過程中係判斷連結資訊是否包含作業旗標,以判斷相對應之資料是否完成同步作業,以接收客戶端未完成同步作業之資料,並在主機完成同步作業後儲存作業旗標至連結資訊中,以標示為已完成同步作業,且在同步作業異常中斷時,主機仍然未儲存作業旗標至連結資訊中,而標示為未完成同步作業,使主機接續完成未完成之同步作業,以避免主機與客戶端之間異常中斷後,同步作業之資料無法挽救。此外,本發明更利用狀態旗標標示最近修改更新之資料,以避免主機將修改之資料以及舊資料或修改資料所衍生之資料皆進行同步作業,藉此簡化主機於同步作業中所存取之資料,進而避免主機遇到冗餘資料的問題。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
如第一A圖所示,本實施例之客戶端14、16、18、20、22係以有線網路連接至主機12,此外,備份主機22係連接主機12與控制介面24,備份主機22係用以備份該主機12之所有資料,其包含同步作業之相關資料以及主機12運行所執行之資料,且備份主機22依據其所備份之資料提供控制介面24連接,因此備份主機22即藉由控制介面24與外部網路連接,但主機12與客戶端14、16、18、20、22並未連接至控制介面24。
如第一B圖所示,主控單元122係連接時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130與儲存單元132,記錄模組134分別連接至主控單元122、時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130與儲存單元132。此外,備份主機22係分別連接主機12與控制介面24。
該些客戶端14、16、18、20、22係分別儲存至少一資料,本實施例之該些客戶端14、16、18、20、22所儲存之資料不相同,亦即該些客戶端14、16、18、20、22位於不同區域,使該些客戶端所儲存之資料不盡相同,但本發明不限於此,該些客戶端14、16、18、20、22更可儲存不同區域之相同屬性資料。主機12係輪詢客戶端14、16、18、20、22所儲存之資料的作業旗標,以依據該客戶端14、16、18、20、22所儲存之資料所含有之作業旗標而複製資料。
主機12藉由主控單元122控制時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130與儲存單元132。時間管理單元124設有一時間管理資料,主機12依據時間管理模組124之時間管理資料,每經一輪詢延遲時間後,方才依據路徑管理模組125連線至該些客戶端14、16、18、20、22,分別傳送同步作業請求至該些客戶端14、16、18、20、22,使客戶端14、16、18、20、22回覆連結資訊至主機12,並藉由判斷連結資訊中是否包含作業旗標,以確認是否需要進行同步作業,而避免主機12長時間維持該些客戶端14、16、18、20、22之連線而占用大量網路頻寬。
主機12透過路徑管理模組126管理該主機12之連線,並控制該主機12連接該些客戶端14、16、18、20、22,也就路徑管理模組126設有一連線資料,因此主機12依據該連接資料連接至該些客戶端14、16、18、20之至少一者,主機12即藉由主控單元122讀取路徑管理模組126之連線資料,以取得該些客戶端14、16、18、20、22之連線位址,例如:該些客戶端14、16、18、20、22之網路位址(IP address)或網頁位址(web address)。內容管理模組128係設有一擷取規則,用以管理該主機12所擷取之資料內容,該主機12即依據該擷取規格擷取該些客戶端14、16、18、20、22之資料,例如:定義主機12僅擷取客戶資料中的客戶名稱、聯絡電話、住址、現階段作業狀態;警示單元130依據該主機12與該些客戶端14、16、18、20、22之一失效同步作業而傳送一警示訊息至對應之客戶端,例如:主機12未完成接收該些客戶端14、16、18、20、22之資料;儲存單元132儲存主機12自客戶端14、16、18、20、22所擷取之資料。記錄單元134係針對主機12之主控單元122、時間管理模組124、路徑管理模組126、內容管理模組128、警示單元130、儲存單元132與記錄模組134進行記錄,以將主機12所有作業進行記錄。
以上所述,本實施例之主機12為依據客戶端之資料相對應之連結資訊是否包含作業旗標,以判斷是否接收客戶端之資料,當連結資訊未包含作業旗標時,主機12傳送資料傳輸請求至客戶端,使客戶端回傳對應該連結資訊之資料至客戶端,並在主機12完成接收該客戶端之該資料時,該主機12儲存該作業旗標至連結資訊中,以供主機12判定為同步作業完成,同時將儲存完成之連結資訊傳送至客戶端,以覆寫客戶端之連結資訊;倘若,該主機12未完成接收該客戶端之該資料時,該主機12即不儲存該作業旗標至相對應之連結資訊中,以供主機12判定為未完成作業,所以該主機12接續依據未包含作業旗標之連結資訊傳送資料傳輸請求至客戶端,使客戶端傳送相對應連結資訊之資料至主機,以接續完成接收資料而設定該作業旗標至連結資訊,並傳送至客戶端,而覆寫客戶端之連結資訊。
請參閱第二A圖與第二B圖,其為本發明之為本發明之主機與客戶端之間資料連結之一實施例之方塊圖與連結資訊架構之一實施例之方塊圖。如圖所示,資料同步系統10係與第一A圖所示之元件相同,第一A圖與第二A圖之差異僅在於第二A圖更標示每一客戶端14、16、18、20、22之連結資訊142、162、182、202、222。本實施例之連結資訊架構30係指客戶端14、16、18、20、22所存取之連結資訊架構,連結資訊架構30係包含作業旗標32、狀態旗標34、內容指標36、建立時間標註38與修改時間標註40。
連結資訊架構30係以作業旗標32是否存在而標示是否已完成同步作業,也就是主機12(如第二A圖所示)係依據連結資訊架構30是否包含作業旗標32而判斷客戶端相對應之資料是否已完成同步作業,對於已包含作業旗標32之連結資訊即表示為相對應之資料已完成同步作業,所以主機12會忽略,對於未包含作業旗標32之連結資訊即表示相對應之資料未完成同步作業,主機12會依據未包含作業旗標32之連結資訊架構30傳送一資料傳輸請求至對應之客戶端,以接收客戶端相對應之資料並儲存。
且,當網路異常中斷而導致客戶端與主機12之間同步作業中斷時,主機12不會將作業旗標32儲存至連結資訊架構30中,因此主機12可由連結資訊架構30因未包含作業旗標32而得知相對應之資料仍為未完成同步作業,所以主機12接續重新執行同步作業,亦即重新傳送資料傳輸請求至相對應之客戶端,以重新接收客戶端之資料並儲存。
狀態旗標34係標示資料之更新狀態,其同時對應於修改時間標註40,也就是客戶端14、16、18、20、22中的資料一旦受到更改,客戶端14、16、18、20、22僅會針對客戶端最近更新之資料將其連結資訊142、162、182、202、222中連結資訊架構30的狀態旗標34標示為最新資料,例如:1位元之狀態旗標,0為舊資料,1為最新資料,因此主機12僅需針對最新資料進行同步作業,無須針對修改過程中的舊資料或修改過程所衍生之資料進行同步作業,所以主機12可藉由連結資訊架構30中的狀態旗標34簡化同步作業所需之資料量。
內容指標36係一筆資料所包含之內容的至少一起始位址,也就是內容指標36係指客戶端14、16、18、20、22用於儲存對應於該連結資訊架構30之資料的實體位址,例如:資料儲存裝置係以十六進制之Fx000111F表示儲存資料之實體位址,因此內容指標36即儲存Fx000111F。建立時間標註38係儲存該連結資訊架構30之一建立時間,其為使用者於客戶端建立資料之建立時間。修改時間標註40係儲存該連結資訊架構30之修改時間,其為使用者於客戶端最後修改資料的時間點。
以上所述,本發明係藉由連結資訊架構30是否包含作業旗標32,以判斷是否完成資料之同步作業,進而避免主機12因網路或線路異常而中斷同步作業,使主機12於異常中斷後,可依據未包含作業旗標32之連結資訊架構30接續執行同步作業,且,主機12更依據狀態旗標34針對最後修改之資料進行同步作業,以簡化同步作業所需之資料量,因而讓主機12不接收資料修改過程所衍生之資料或舊資料,如此主機12更可避免冗餘資料占用主機12之系統資源。
請參閱第三A圖,其為本發明之資料作業流程之一實施例的流程圖。如圖所示,本發明之資料作業流程係應用於一主機與至少一客戶端之間以及主機連接至外部的資料作業,該資料作業流程之步驟係包含:
步驟S10:進行主機與客戶端之間的資料同步作業;
步驟S20:判斷是否完成同步作業
步驟S30:備份主機之所有資料;以及
步驟S40:使用控制介面連接至備份主機。
於步驟S10中,主機係與客戶端之間依據本發明之資料同步方法進行資料同步作業,以讓主機所儲存之資料與客戶端所存取之資料同步;於步驟S20中,主機判斷是否完成與客戶端之同步作業,當主機判斷已完成最後一筆資料之同步作業時,接續執行步驟S30,當主機判斷未完成最後一筆資料之同步作業時,接續執行步驟S10;於步驟S30中,備份主機針對主機所有同步作業所存取之資料進行備份;於步驟S40中,控制介面經連接至備份主機,以提供備份主機中所備份的資料,並提供資料查詢。
請參閱第三B圖,其為本發明之資料同步方法之一實施例的流程圖。如圖所示,本發明之資料同步方法係用以主機所存取之資料與客戶端所儲存之資料同步,本發明之方法係包含:
步驟S100:主機傳送同步作業請求至客戶端;
步驟S110:客戶端依據同步作業請求傳送連結資訊至主機;
步驟S120:主機判斷連結資訊是否包含作業旗標;
步驟S130:主機傳送資料傳輸請求至該客戶端;
步驟S140:客戶端傳送相對應之資料至主機;以及
步驟S150:主機儲存作業旗標至連結資訊,以傳送至該客戶端。
於步驟S100中,主機係傳送同步作業請求至客戶端,接續執行步驟S110,客戶端依據所接收之同步作業請求將對應同步作業之相關連結資訊傳送至主機;於步驟S120中,主機依據連結資訊中是否存在作業旗標,以確認連結資訊所對應之資料是否已完成同步作業,當判斷為是,則執行步驟S100,當判斷為否,則繼續執行步驟S130,同時,主機會依據狀態旗標判斷客戶端中資料的更新狀態,以判斷客戶端的最新資料;於步驟S130中,主機依據未包含作業旗標之連結資訊與對應之狀態旗標傳送一資料傳輸請求至客戶端;於步驟S140中,客戶端依據主機所傳送之資料傳輸請求傳送對應之最新資料至主機,以進行同步作業,亦即將客戶端中的最新資料複製至主機中;於步驟S150中,主機於完成接收未包含作業旗標之連結資訊所對應之資料後,儲存作業旗標至連結資訊中,並同時傳送至客戶端,以覆寫客戶端之連結資訊。
請參閱第三C圖,其為本發明之資料同步方法之另一實施例之流程圖。其中第三B圖與第三C圖之差異在於第三C圖更包含一步驟,其為同步作業發生異常之步驟,也就是本實施例在於處理資料同步異常中斷的情況。如圖所示,本發明之資料同步方法之步驟係包含:
步驟S200:主機傳送同步作業請求至客戶端;
步驟S210:客戶端依據同步作業請求傳送連結資訊至主機;
步驟S220:主機判斷連結資訊是否包含作業旗標;
步驟S230:主機傳送資料傳輸請求至該客戶端;
步驟S240:客戶端傳送相對應之資料至主機;
步驟S250:偵測到網路異常中斷而中斷同步作業;
步驟S260:重新執行步驟S230至S240;以及
步驟S270:主機儲存作業旗標至連結資訊,以傳送至該客戶端。
於步驟S200中,主機係傳送同步作業請求至客戶端,接續執行步驟S210,客戶端依據所接收之同步作業請求將對應同步作業之相關連結資訊傳送至主機;於步驟S220中,主機依據連結資訊中是否存在作業旗標,以確認連結資訊所對應之資料是否已完成同步作業,當判斷為是,則執行步驟S200,當判斷為否,則繼續執行步驟S230,同時,主機會依據狀態旗標判斷客戶端中資料的更新狀態,以判斷客戶端的最新資料;於步驟S230中,主機依據未包含作業旗標之連結資訊與對應之狀態旗標傳送一資料傳輸請求至客戶端;於步驟S240中,客戶端依據主機所傳送之資料傳輸請求傳送對應之最新資料至主機,以進行同步作業,亦即將客戶端中的最新資料複製至主機中。
接續上述,於步驟S250中,主機偵測到主機與客戶端之間的網路連線中斷,因此主機中斷主機與客戶端之同步作業;於步驟S260中,主機與客戶端之間的網路連線恢復後,主機與客戶端之間重新執行同步作業,也就是重新執行步驟S230與S240,而接續執行中斷前之同步作業,倘若,再次未完成,則重新執行步驟S260;於步驟S270中,主機於完成接收未包含作業旗標之連結資訊所對應之資料後,儲存作業旗標至連結資訊中,並同時傳送至客戶端,以覆寫客戶端之連結資訊。
以上步驟S250所述之同步作業異常中斷之情況係以網路連線中斷作為舉例,除此之外,本發明所指之異常中斷更包含主機或客戶端發生異常而造成同步作業中斷之情況,而藉由上述之步驟避免異常中斷所造成之無法挽救的情況。
綜上所述,本發明為一種資料同步方法,其藉由客戶端所儲存之資料所對應之連結資訊,主機於同步作業過程中係判斷連結資訊是否包含作業旗標,以判斷相對應之資料是否完成同步作業,以接收客戶端未完成同步作業之資料,並在主機完成同步作業後儲存作業旗標至連結資訊中,以標示為已完成同步作業,且在同步作業異常中斷時,主機仍然未儲存作業旗標至連結資訊中,而標示為未完成同步作業,使主機接續完成未完成之同步作業,以避免主機與客戶端之間異常中斷後,同步作業之資料無法挽救。此外,本發明更利用狀態旗標標示最近修改更新之資料,以避免主機將修改之資料以及舊資料或修改資料所衍生之資料皆進行同步作業,藉此簡化主機於同步作業中所存取之資料,進而避免主機遇到冗餘資料的問題。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...資料同步系統
12...主機
122...主控單元
124...時間管理模組
126...路徑管理模組
128...內容管理模組
130...警示單元
132...儲存單元
134...記錄模組
14...客戶端
142...連結資訊
16...客戶端
162...連結資訊
18...客戶端
182...連結資訊
20...客戶端
202...連結資訊
22...客戶端
222...連結資訊
24...備份主機
30...連結資訊架構
32...作業旗標
34...狀態旗標
36...內容指標
38...建立時間標註
40...修改時間標註
第一A圖為本發明之主機與客戶端之一實施例之方塊圖;
第一B圖為本發明之主機架構之一實施例之方塊圖;
第二A圖為本發明之主機與客戶端之間資料連結之一實施例之方塊圖;
第二B圖為本發明之連結資訊架構之一實施例的方塊圖;
第三A圖為本發明之資料作業流程之一實施例之流程圖;
第三B圖為本發明之資料同步方法之一實施例之流程圖;以及
第三C圖為本發明之資料同步方法之另一實施例之流程圖。
第一B圖為本發明之主機架構之一實施例之方塊圖;
第二A圖為本發明之主機與客戶端之間資料連結之一實施例之方塊圖;
第二B圖為本發明之連結資訊架構之一實施例的方塊圖;
第三A圖為本發明之資料作業流程之一實施例之流程圖;
第三B圖為本發明之資料同步方法之一實施例之流程圖;以及
第三C圖為本發明之資料同步方法之另一實施例之流程圖。
Claims (7)
- 一種資料同步方法,其應用於一主機與至少一客戶端,該資料同步方法包含:
該主機傳送一同步作業請求至該客戶端;
該客戶端依據該同步作業請求傳送至少一連結資訊至該主機;以及
該主機判斷該連結資訊是否包含一作業旗標,當該連結資訊未包含該作業旗標時,該主機傳送一資料傳輸請求至該客戶端,驅使該客戶端傳送相對應該連結資訊之ㄧ資料至該主機,該主機於完成接收該資料時,將該連結資訊儲存一作業旗標並傳送至該客戶端,覆寫該客戶端之該連結資訊。 - 如申請專利範圍第1項所述之資料同步方法,其中該主機於未完成接收相對應該連結資訊之該資料時,停止建立該作業旗標至該連結資訊,該主機接續傳送該資料傳輸請求至該客戶端,以接收相對應該連結資訊之該資料。
- 如申請專利範圍第1項所述之資料同步方法,其中該連結資訊更包含一狀態旗標,該主機更依據該狀態旗標判斷該客戶端之該資料之一更新狀態。
- 如申請專利範圍第3項所述之資料同步方法,其中於該主機依據該連結資訊傳送一資料傳輸請求至該客戶端之步驟中,該主機更依據該更新狀態傳送該資料傳輸請求至該客戶端,以驅使該客戶端傳送經更新後之該資料至該主機。
- 如申請專利範圍第1項所述之資料同步方法,其中該連結資訊更包含:
一內容指標,其對應於該資料之所有內容的至少一起始位址;
一建立時間標註,其儲存該資料之一建立時間;以及
一修改時間標註,其儲存該資料之一修改時間。 - 如申請專利範圍第1項所述之資料同步方法,其步驟更包含:
備份該主機之所有同步資料至一備份主機;以及
使用一控制介面連接至該備份主機並查詢該備份主機所備份之資料。 - 如申請專利範圍第1項所述之資料同步方法,其中該主機係包含:
一時間管理模組,其管理該主機之一時間管理資料,該主機依據該時間管理資料每經一輪詢延遲時間後詢問該客戶端之一同步作業;
一路徑管理模組,其管理該主機之一連線資料,該主機依據該連線資料連接該客戶端;
一內容管理模組,其依據一擷取規則管理該主機所擷取之資料內容,該主機依據該擷取規則擷取該客戶端之該資料;
一警示單元,其依據該主機與該客戶端之一失效同步作業而傳送一警示訊息至該客戶端;
一儲存單元,其儲存該資料;
一主控單元,其連接並控制該路徑管理模組、該內容管理模組、該警示單元與該儲存單元;以及
一記錄模組,其連接該主控單元、該路徑管理模組、該內容管理模組、該警示單元與該儲存單元,並記錄該主機之所有作業。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100128261A TWI439873B (zh) | 2011-08-08 | 2011-08-08 | Data synchronization method |
US13/351,985 US8850074B2 (en) | 2011-08-08 | 2012-01-17 | Data synchronization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100128261A TWI439873B (zh) | 2011-08-08 | 2011-08-08 | Data synchronization method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201308095A TW201308095A (zh) | 2013-02-16 |
TWI439873B true TWI439873B (zh) | 2014-06-01 |
Family
ID=47678252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100128261A TWI439873B (zh) | 2011-08-08 | 2011-08-08 | Data synchronization method |
Country Status (2)
Country | Link |
---|---|
US (1) | US8850074B2 (zh) |
TW (1) | TWI439873B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639585B (zh) * | 2013-11-13 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 一种实时数据传输系统及其数据同步方法 |
CN105450287B (zh) * | 2014-08-29 | 2019-12-20 | 深圳航天科技创新研究院 | 一种获取星载设备数据的方法和装置 |
CN106557364A (zh) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和系统 |
TWI569159B (zh) * | 2016-05-31 | 2017-02-01 | 威聯通科技股份有限公司 | 避免多餘的資料複製的資料同步方法及裝置 |
WO2021168800A1 (zh) * | 2020-02-28 | 2021-09-02 | 深圳市欢太科技有限公司 | 数据同步方法及相关产品 |
CN114817100B (zh) * | 2022-04-08 | 2023-09-29 | 武汉光迅电子技术有限公司 | 一种用于单板的数据读取方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7032033B1 (en) * | 2001-11-30 | 2006-04-18 | Microsoft Corporation | Handling collisions during synchronization of data between client and server computers |
KR101280437B1 (ko) * | 2007-01-04 | 2013-06-28 | 엘지전자 주식회사 | 이동통신 단말기 및 데이터 동기화 방법 |
US7715444B2 (en) * | 2007-02-02 | 2010-05-11 | Palm, Inc | Resuming a previously interrupted peer-to-peer synchronization operation |
US7721003B2 (en) * | 2007-02-02 | 2010-05-18 | International Business Machines Corporation | System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client |
BRPI0812543A2 (pt) * | 2007-06-19 | 2015-09-29 | Qualcomm Inc | métodos e aparelho para sincronização de conjunto de dados em um ambiente sem fio |
US8060662B2 (en) * | 2007-12-17 | 2011-11-15 | Ricoh Company, Ltd. | Recording control apparatus, recording control method, and computer program product |
US8621108B2 (en) * | 2008-05-08 | 2013-12-31 | Dialogic Corporation | System and method for monitoring user interface connectivity state |
US8255571B2 (en) * | 2009-06-30 | 2012-08-28 | Apple Inc. | Updating multiple computing devices |
CN101998174B (zh) * | 2009-08-24 | 2012-11-28 | 中兴通讯股份有限公司 | 组播rtp会话快速接入的方法、服务器、客户端及系统 |
-
2011
- 2011-08-08 TW TW100128261A patent/TWI439873B/zh active
-
2012
- 2012-01-17 US US13/351,985 patent/US8850074B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201308095A (zh) | 2013-02-16 |
US8850074B2 (en) | 2014-09-30 |
US20130042023A1 (en) | 2013-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI439873B (zh) | Data synchronization method | |
CN101334797B (zh) | 一种分布式文件系统及其数据块一致性管理的方法 | |
US9753954B2 (en) | Data node fencing in a distributed file system | |
US7549079B2 (en) | System and method of configuring a database system with replicated data and automatic failover and recovery | |
JP6684367B2 (ja) | データ処理方法及びデバイス | |
US8019727B2 (en) | Pull model for file replication at multiple data centers | |
CN101706805B (zh) | 对象存储方法及其系统 | |
CN109151045B (zh) | 一种分布式云系统及监控方法 | |
US20110289056A1 (en) | Method, node and system for controlling version in distributed system | |
WO2017152860A1 (zh) | 一种心跳信息发送方法、装置及心跳发送节点 | |
CN108958984B (zh) | 基于ceph的双活同步在线热备方法 | |
JP5724735B2 (ja) | データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム | |
WO2023082800A1 (zh) | 主节点选择方法、分布式数据库及存储介质 | |
CN110032478A (zh) | 一种主备中心数据实时同步方法、装置、系统及存储介质 | |
TW201824030A (zh) | 主備資料庫的管理方法、系統及其設備 | |
WO2017181430A1 (zh) | 分布式系统的数据库复制方法及装置 | |
US20060282524A1 (en) | Apparatus, system, and method for facilitating communication between an enterprise information system and a client | |
CN103544081B (zh) | 双元数据服务器的管理方法和装置 | |
US11522966B2 (en) | Methods, devices and systems for non-disruptive upgrades to a replicated state machine in a distributed computing environment | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN111404737B (zh) | 一种容灾处理方法以及相关装置 | |
CN109947592A (zh) | 一种数据同步方法、装置以及相关设备 | |
CN111639139B (zh) | 针对数据中心的数据同步方法、装置、计算设备以及介质 | |
CN113961398A (zh) | 业务处理方法、装置、系统、设备、存储介质和产品 | |
CN110362428A (zh) | 在线自动恢复数据库块的方法和系统 |