專利名稱:一種文件同步方法、電子設備和同步系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機存儲技術,特別是指一種文件同步方法、電子設備和同步系統(tǒng)。
背景技術:
隨著混合計算機(Hybrid)技術的發(fā)展,在同時使用兩個或兩個以上系統(tǒng)時,為正在使用中的文件提供實時的同步功能(Updating)會給用戶帶來非常好的體驗;例如,在作為第一系統(tǒng)的主系統(tǒng)正在處理文件時,因為某種原因需要立即切換到第二系統(tǒng),這時用戶仍希望繼續(xù)當前的文件處理工作,就需要對主系統(tǒng)當前打開的所有文件進行手動保存,或者依賴定時自動保存功能進行保存。在采用手動保存或切換系統(tǒng)前或正在切換時,使用特定同步應用程序保存當前打開的所有文件并基于已保存的文件執(zhí)行同步;切換系統(tǒng)之后再手動或自動使用第二系統(tǒng)的特定同步應用程序打開相同的各個文件等操作來繼續(xù)文件處理。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題在同步過程中,用戶即使使用了文件自動保存和自動同步等現(xiàn)有技術,還是無法保存當前即時更新的內(nèi)容,無法將更新的內(nèi)容完美的同步更新到第二系統(tǒng)上。具體而言,現(xiàn)有的文件同步技術雖然支持基于保存的文件實現(xiàn)同步功能,但如果自動保存間隔時間太短,則可能影響系統(tǒng)性能;因此無法記錄每時每刻的任意修改,從而沒有真正實現(xiàn)實時同步;并且由于現(xiàn)有技術中,同步功能是基于保存在非易失性存儲介質上文件實現(xiàn)的,因而同步功能的實現(xiàn)必然依賴自動保存功能,如果沒有即時保存文件則會實際影響實時同步的結果;且自動同步過程一般需要一定時間完成,無法實現(xiàn)真正意義上的實時同步。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種文件同步方法、電子設備和同步系統(tǒng),用于解決現(xiàn)有技術中,在兩個或者多個系統(tǒng)共享同一個或多個文件時,當其中的一個系統(tǒng)上的文件被修改之后,無法在其他系統(tǒng)上實時保存并顯示當前更新的內(nèi)容的缺陷。一種文件同步方法,所述文件同步方法應用于具有第一系統(tǒng)和第二系統(tǒng)構成的混合系統(tǒng)中,所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng),所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述方法包括 在所述第一系統(tǒng)中監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng)中;其中,由所述第二系統(tǒng)中的第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理;所述第二文件與所述第一文件相同。上述的方法中,所述操作內(nèi)容為所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。上述的方法中,所述操作內(nèi)容包括發(fā)生改變前的第一數(shù)據(jù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù), 以及所述工作參數(shù)的當前賦值;或者,所述操作內(nèi)容包括第一文件的結構參數(shù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。上述的方法中,當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,在第一預定時間間隔內(nèi)發(fā)送所述操作內(nèi)容;其中,所述第一預定時間間隔遠小于所述第一系統(tǒng)和/或第二系統(tǒng)的自動保存時間間隔。一種文件同步系統(tǒng),包括第一系統(tǒng)和第二系統(tǒng);所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述第一系統(tǒng)監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);所述第一系統(tǒng),還用于當監(jiān)控到所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng); 所述第二系統(tǒng)中的第二文件處理程序,所述第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理。所述的文件同步系統(tǒng)中,所述操作內(nèi)容為所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;或者,所述操作內(nèi)容包括發(fā)生改變前的第一數(shù)據(jù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;或者,所述操作內(nèi)容包括第一文件的結構參數(shù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。一種電子設備,包括包括第一系統(tǒng)和第二系統(tǒng);所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述第一系統(tǒng)監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);所述第一系統(tǒng),還用于當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送給所述第二系統(tǒng);所述第二系統(tǒng)的第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理。所述的電子設備中,還包括第一插件應用業(yè)務邏輯,用于在第一系統(tǒng)中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道;將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯;第二插件應用業(yè)務邏輯,用于在第二系統(tǒng)中,記錄所述第二文件的結構參數(shù),并記錄下所述第二文件處理程序對所述第二文件執(zhí)行的操作內(nèi)容;以及,與位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道;將對所述第二文件執(zhí)行的操作內(nèi)容和/或所述第二文件的結構參數(shù)發(fā)送給位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯。一種電子設備,包括第一系統(tǒng);所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第一系統(tǒng)監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng),其中,由所述第二系統(tǒng)中的第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理;所述第二系統(tǒng)位于另一電子設備上,且所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng)。所述的電子設備中,還包括插件應用業(yè)務邏輯,用于記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容。應用上述技術方案,由于設置有插件應用業(yè)務邏輯,且該插件應用業(yè)務邏輯能夠實時訪問緩存區(qū),因此,無需手動/自動保存第一文件,能夠在不同的系統(tǒng)中對該第一文件實現(xiàn)實時同步更新。
圖1為本發(fā)明實施例一種文件同步方法流程示意圖;圖2為本發(fā)明實施例在第一系統(tǒng)與第二系統(tǒng)間同步工作原理示意圖;圖3為本發(fā)明實施例電子設備結構示意圖。
具體實施例方式為使本發(fā)明的目的、技術特征和實施效果更加清楚,下面將結合附圖及具體實施例對本發(fā)明的技術方案進行詳細描述。本發(fā)明提供的實施例中,在既有的文件同步技術基礎上,實現(xiàn)了基于內(nèi)存方式的文件實時同步技術。換言之,是將非易失存儲器(例如硬盤上)存儲的第一文件,在操作系統(tǒng)下用第一文件處理程序打開-即將第一文件在硬盤上對應的數(shù)據(jù)寫入到易失性存儲器上。那么易失性存儲器上就具有與第一文件對應的第一數(shù)據(jù)。本發(fā)明提供的實施例是通過實時監(jiān)控該易失性存儲器上用戶對與第一文件對應的第一數(shù)據(jù)所做的操作內(nèi)容,并將該操作內(nèi)容發(fā)送給第二系統(tǒng),由第二系統(tǒng)根據(jù)所述操作內(nèi)容對與第一文件對應的第二文件進行同步處理。如圖1所示,提供一種文件同步方法,所述文件同步方法應用于具有第一系統(tǒng)和第二系統(tǒng)構成的混合系統(tǒng)中,所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng),所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述方法包括步驟101,在所述第一系統(tǒng)中監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);步驟102,當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng)中,由所述第二系統(tǒng)中的第二文件處理程序,所述第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理;其中,所述第二文件與所述第一文件相同。更進一步,為了提高同步的及時性和實時性,在第二系統(tǒng)中的第二緩存區(qū)中存有第二文件處理程序打開的第二文件所對應的第二數(shù)據(jù)。這樣保證第一系統(tǒng)狀態(tài)和第二系統(tǒng)狀態(tài)一致。換言之,第一系統(tǒng)處于通過第一文件處理程序打開第一文件的狀態(tài);第二系統(tǒng)處于通過第二文件處理程序打開第二文件的狀態(tài)。應用上述技術方案,在第一文件發(fā)生更新時,能夠實時的將導致第一文件發(fā)生更新的操作內(nèi)容發(fā)送給第二系統(tǒng),第二文件處理程序根據(jù)操作內(nèi)容對第二文件執(zhí)行更新,由于操作內(nèi)容是對內(nèi)存中的緩存區(qū)進行操作,且這一操作發(fā)生的瞬間就能夠檢測到所述操作內(nèi)容并發(fā)送給第二系統(tǒng),由第二文件處理程序根據(jù)該操作內(nèi)容實時的對第二文件進行同樣的操作,因此上述過程是實時的,且能夠在不同的系統(tǒng)中無需手動/自動保存就對同一文件實現(xiàn)實時同步更新;又由于在第一系統(tǒng)中和第二系統(tǒng)中的所述操作內(nèi)容是一致的,而第一文件和第二文件也是一致的,因此能夠保證更新后的第一文件和第二文件也是一致的。在實現(xiàn)上述技術方案的過程中,為保證第一系統(tǒng)中,能夠實時的檢測到所述操作內(nèi)容并發(fā)送給第二系統(tǒng),并且在第二系統(tǒng)中,能夠實時的根據(jù)來自第一系統(tǒng)的操作內(nèi)容對第二文件進行更新,因此需要在第一系統(tǒng)和第二系統(tǒng)中分別設置插件應用業(yè)務邏輯。其中, 第一系統(tǒng)中設置有第一插件應用業(yè)務邏輯,第二系統(tǒng)中設置有第二插件應用業(yè)務邏輯。第一插件應用業(yè)務邏輯,用于在第一系統(tǒng)中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道;將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯;第二插件應用業(yè)務邏輯,用于在第二系統(tǒng)中,記錄所述第二文件的結構參數(shù),并記錄下所述第二文件處理程序對所述第二文件執(zhí)行的操作內(nèi)容;以及,與位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道;將對所述第二文件執(zhí)行的操作內(nèi)容和/或所述第二文件的結構參數(shù)發(fā)送給位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯。具體而言,在第一系統(tǒng)中,用戶通過第一文件處理程序打開第一文件,第一緩沖區(qū)存儲第一文件處理程序打開第一文件所對應的第一數(shù)據(jù),即,第一文件在硬盤上的第一數(shù)據(jù)被寫入到了內(nèi)存中。此時,激活第一系統(tǒng)的插件應用業(yè)務邏輯,第一系統(tǒng)的插件應用業(yè)務邏輯,執(zhí)行如下步驟(1),記錄第一文件的結構參數(shù);O),與第二系統(tǒng)中的第二插件應用業(yè)務邏輯建立一個數(shù)據(jù)信息通道,并在關閉該數(shù)據(jù)信息通道之前,與第二插件應用業(yè)務邏輯共同維護該數(shù)據(jù)信息通道。(3),監(jiān)控是否存在對第一緩沖區(qū)內(nèi)的第一數(shù)據(jù)的更新操作;0),如果存在對第一數(shù)據(jù)的更新操作,該更新操作是由第一文件處理程序發(fā)起的,則記錄第一文件處理程序對第一文件執(zhí)行的操作內(nèi)容,此操作內(nèi)容表明用戶在對打開的第一文件進行修改;(5),發(fā)送所述操作內(nèi)容給第二系統(tǒng)中的第二插件應用業(yè)務邏輯。此時,第二插件應用業(yè)務邏輯得知需要根據(jù)接收到的來自第一系統(tǒng)的操作內(nèi)容對第二文件進行更新操作。第二系統(tǒng)的插件應用業(yè)務邏輯,執(zhí)行如下步驟
8
(1),記錄第二文件的結構參數(shù);O),與第一系統(tǒng)中的第一插件應用業(yè)務邏輯建立一個數(shù)據(jù)信息通道,并在關閉該數(shù)據(jù)信息通道之前,與第一插件應用業(yè)務邏輯共同維護該數(shù)據(jù)信息通道。(3),監(jiān)控是否存在對第二緩沖區(qū)內(nèi)的第二數(shù)據(jù)的更新操作;0),如果存在對第二數(shù)據(jù)的更新操作,該更新操作是由第二文件處理程序發(fā)起的,則記錄第二文件處理程序對第二文件執(zhí)行的操作內(nèi)容,此操作內(nèi)容表明用戶在對打開的第二文件進行修改;(5),發(fā)送所述操作內(nèi)容給第一系統(tǒng)中的第一插件應用業(yè)務邏輯。此時,第一插件應用業(yè)務邏輯得知需要根據(jù)接收到的來自第二系統(tǒng)的操作內(nèi)容對第一文件進行更新操作。顯然,第一插件應用業(yè)務邏輯和第二插件應用業(yè)務邏輯具有相同的功能,因此在同步過程中,可以預先指定由第二插件應用業(yè)務邏輯根據(jù)來自第一插件應用業(yè)務邏輯的操作內(nèi)容對第二文件進行更新。此時,在第二系統(tǒng)中,第二系統(tǒng)的插件應用業(yè)務邏輯,執(zhí)行如下步驟(1),記錄第二文件的結構參數(shù);O),與第一系統(tǒng)中的第一插件應用業(yè)務邏輯建立一個數(shù)據(jù)信息通道,并在關閉該數(shù)據(jù)信息通道之前,與第一插件應用業(yè)務邏輯共同維護該數(shù)據(jù)信息通道。(3),監(jiān)控是否存在來自第一插件應用業(yè)務邏輯的操作內(nèi)容;(4),如果存在,則通知第二文件處理程序,由第二文件處理程序對第二文件執(zhí)行來自第一插件應用業(yè)務邏輯的操作內(nèi)容; (5),可以在對第二文件執(zhí)行來自第一插件應用業(yè)務邏輯的操作內(nèi)容之后,通知第一插件應用業(yè)務邏輯所作修改的結果。如果更新操作出錯,則可以生成相應的錯誤信息。第一系統(tǒng)與第二系統(tǒng)之間的文件同步,根據(jù)實際需要可以出現(xiàn)不同的同步情形, 這包括第一情形,第二系統(tǒng)中的第二文件處理程序處于工作狀態(tài),并且已經(jīng)激活了第二文件。此時,如果操作內(nèi)容為第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,該應用程序接口的工作參數(shù),以及該工作參數(shù)的當前賦值,則第二文件處理程序能夠保證實時的根據(jù)這些操作內(nèi)容對第二文件執(zhí)行更新操作,更新操作后的第二文件與更新后的第一文件一致,即第二緩存區(qū)中的第二數(shù)據(jù)與第一緩存區(qū)中的第一數(shù)據(jù)一致。所述操作內(nèi)容包括發(fā)生更新操作前的第一數(shù)據(jù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,該應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;例如,如果所述應用程序接口是寫函數(shù)sys_write(int fd,void^buffer, int length),則該應用程序接口的工作參數(shù)是參數(shù)int fd,voicWxiffer,int length。其中,int fd是文件索引編號,void^buffer是緩存區(qū)的指針,int length是緩存區(qū)的長度?;蛘?,所述操作內(nèi)容包括第一文件的結構參數(shù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,該應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值?;蛘?,如果直接通過對第二緩存區(qū)的全拷貝實現(xiàn)同步,則所述操作內(nèi)容包括被執(zhí)行更新操作后的第一數(shù)據(jù),第二文件處理程序同樣能夠保證實時的根據(jù)這些操作內(nèi)容對第二文件執(zhí)行更新。
第二情形,第二系統(tǒng)中的第二文件處理程序處于工作狀態(tài),但沒有激活第二文件。此時,第二文件處理程序文件識別索引尋找到第二系統(tǒng)上與第一文件對應的第二文件,并且激活該第二文件。之后,第二文件處理程序執(zhí)行與第一情形中一致的更新操作。第三情形,第二系統(tǒng)中的第二文件處理程序處于非工作狀態(tài),并且在接到來自第一系統(tǒng)的操作內(nèi)容后會及時激活第二文件。在第二插件應用業(yè)務邏輯B103接到來自第一系統(tǒng)的操作內(nèi)容后,啟動第二文件處理程序,由第二文件處理程序文件識別索引首先尋找到對應的第二文件,并且激活該第二文件。之后,第二文件處理程序執(zhí)行與第一情形中一致的更新操作。第四情形,第二系統(tǒng)中的第二文件處理程序處于非工作狀態(tài),在接到來自第一系統(tǒng)的操作內(nèi)容后會,需要經(jīng)過一個時間間隔才激活第二文件。在第二插件應用業(yè)務邏輯B103接到來自第一系統(tǒng)的操作內(nèi)容后,不即刻啟動第二文件處理程序,但是該第二插件應用業(yè)務邏輯B103由于其他原因需要在經(jīng)過一個時間間隔后啟動第二文件處理程序,由第二文件處理程序根據(jù)文件識別索引首先尋找到對應的第二文件,并且激活該第二文件。之后,第二文件處理程序執(zhí)行與第一情形中一致的更新操作。第五情形,當?shù)诙到y(tǒng)中不存在第二文件時,由第二插件應用業(yè)務邏輯B103根據(jù)操作內(nèi)容中的更新操作前的第一數(shù)據(jù)在第二系統(tǒng)中建立一個第二文件,并在建立第二文件后對該第二文件執(zhí)行更新操作。此時,所述操作內(nèi)容包括發(fā)生更新操作前的第一數(shù)據(jù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,該應用程序接口的工作參數(shù),以及該工作參數(shù)的當前賦值。所述操作內(nèi)容也可以是被執(zhí)行更新操作后的第一數(shù)據(jù)。為充分描述多系統(tǒng)間的文件同步過程,在上述技術方案的基礎上,不僅可以在第一系統(tǒng)與第二系統(tǒng)之間實現(xiàn)對文件進行實時更新,對于更多的系統(tǒng),也可以基于同樣的工作原理進行更新,不失一般性,以三個系統(tǒng)為例,在提供的應用場景中,第一系統(tǒng)是計算機、 第二系統(tǒng)是數(shù)據(jù)庫,第三系統(tǒng)是移動終端;則,用戶在第一系統(tǒng)-計算機上對第一文件進行了修改,因此,作為第二系統(tǒng)的數(shù)據(jù)庫中也需要對該第一文件對應的第二文件進行實時更新,則第三系統(tǒng)通過其與第二系統(tǒng)之間的數(shù)據(jù)信息通道對自身存放的與第一文件和第二文件對應的第三文件進行更新,包括步驟201,在第一系統(tǒng)、第二系統(tǒng)和第三系統(tǒng)中設置有插件應用業(yè)務邏輯,所述插件應用業(yè)務邏輯在第一系統(tǒng)中實時記錄第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容;其中,在第一系統(tǒng)稱為第一文件,在第二系統(tǒng)稱為第二文件,在第三系統(tǒng)稱為第三文件;步驟202,位于各個系統(tǒng)中的插件應用業(yè)務邏輯分別建立第一系統(tǒng)與第二系統(tǒng)之間的數(shù)據(jù)信息通道;以及,建立第二系統(tǒng)與第三系統(tǒng)之間的數(shù)據(jù)信息通道;以及,建立第一系統(tǒng)與第三系統(tǒng)之間的數(shù)據(jù)信息通道。步驟203,當所述第一系統(tǒng)中的第一文件被修改時,在更新操作發(fā)生之后的第一預定時間間隔內(nèi),將第一系統(tǒng)中的操作內(nèi)容通過所述數(shù)據(jù)信息通道發(fā)往第二系統(tǒng);以及,第二系統(tǒng)將操作內(nèi)容通過所述數(shù)據(jù)信息通道發(fā)往第三系統(tǒng)。其中,第一預定時間間隔通常是一個細粒度的時間間隔,例如毫秒甚至微秒級別的間隔,一般而言,該第一預定時間間隔小于
10自動保存的時間間隔,如此則能夠保證各個系統(tǒng)之間的文件同步能夠滿足實時性。以下對于所提供的技術方案中所涉及的具體技術特征進行詳細描述,以幫助技術人員實現(xiàn)。插件應用業(yè)務邏輯,能夠通過監(jiān)控文件處理程序-第一文件處理程序/第二文件處理程序來發(fā)現(xiàn)對應的文件處理程序對緩存區(qū)的更新操作,這是因為無論何種文件處理程序對文件進行處理時,最終都需要調用操作系統(tǒng)/數(shù)據(jù)庫系統(tǒng)等所提供的原有的讀寫函數(shù),因此當插件應用業(yè)務邏輯能夠監(jiān)控這些原有的讀寫函數(shù)時,就可以實時的得知文件處理程序是否對文件進行了更新操作。其中,考慮到技術實現(xiàn)的簡便以及現(xiàn)有的系統(tǒng)提供商對于系統(tǒng)源代碼的私有保護,在插件應用業(yè)務邏輯中不適宜提供自有的讀寫函數(shù),而是由插件應用業(yè)務邏輯通知文件處理程序,由文件處理程序實現(xiàn)對文件的更新操作;或者插件應用業(yè)務邏輯通過調用文件處理程序中包含的讀寫函數(shù)也可以實現(xiàn)對緩存區(qū)中數(shù)據(jù)的操作。當操作內(nèi)容為應用程序接口時,由于在第一系統(tǒng)中,第一文件處理程序對所述第一文件進行更新的整個過程是可以被第一插件應用業(yè)務邏輯監(jiān)控的,而插件應用業(yè)務邏輯在第一系統(tǒng)中,不僅能夠記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容,即記錄下這些應用程序接口,該應用程序接口的工作參數(shù),以及該工作參數(shù)的當前賦值,因此第二系統(tǒng)在接收到上述作為應用程序接口的操作內(nèi)容之后,能夠對第二文件進行更新。發(fā)生改變前的第一數(shù)據(jù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,該應用程序接口的工作參數(shù),以及該工作參數(shù)的當前賦值;或者,所述操作內(nèi)容為被執(zhí)行更新操作后的第一數(shù)據(jù)時。在直接獲取緩存區(qū)中的第一數(shù)據(jù)的過程中,具體可以是通過采用一個訪問該緩存區(qū)的讀函數(shù)實現(xiàn)的,則在該讀函數(shù)的前面和后面加鎖, 使得該讀函數(shù)的操作形成一個不可分割的原子操作,鎖具體可以是排他鎖。在鎖定的這一段時間內(nèi),第一文件對應的第一數(shù)據(jù)還在Buffer中,還沒保存到非易失性存儲介質里,因此對于第一系統(tǒng)之外的其他系統(tǒng)而言,采用Buffer中的內(nèi)容對第二文件進行更新則為實時更新。其中,非易失性存儲介質上文件具體是指硬盤,U盤,Nand Flash等。第一預定時間間隔具體可以定制,現(xiàn)有技術中,通常是在第一系統(tǒng)上完成對第一文件的更新操作之后存入非易失性存儲介質,再由第二系統(tǒng)從非易失性存儲介質中取出; 而本發(fā)明中的第一預定時間間隔則是在第一文件處于緩存區(qū)的時間段之內(nèi)的。以下對于文件同步過程中所采用的策略進行詳細描述,根據(jù)操作內(nèi)容對第二系統(tǒng)的第二文件進行更新,這一更新的過程又被稱為同步。在同步過程中,需要確定同步策略, 該同步策略決定了具體由哪一個系統(tǒng)根據(jù)另一個系統(tǒng)的更新操作執(zhí)行文件同步。以如圖2 所示的兩個系統(tǒng)為例,包括第一系統(tǒng)A104、第二系統(tǒng)B104。其中,第一系統(tǒng)A104中包括 第一文件A101、第一文件處理程序A102、第一插件應用業(yè)務邏輯A103、緩存區(qū)單元A105、第三文件A106 ;第二系統(tǒng)B104中包括第二文件BlOl、文件處理程序B102、第二插件應用業(yè)務邏輯B103、緩存區(qū)單元B105、第四文件B106。其中,第一文件AlOl與第二文件BlOl是同一個文件在不同系統(tǒng)中的備份;第三文件A106是完成更新之后的第一文件AlOl,第四文件 B106是完成更新之后的第二文件B101。在第一系統(tǒng)A104中,第一文件處理程序A102打開了第一文件AlOl并由用戶進行
11更新,緩存區(qū)單元A105則是第一系統(tǒng)A104所管理的一段緩存區(qū),第一文件處理程序A102 對于第一文件AlOl的更新會實時反映在緩存區(qū)單元A105中,并且第一插件應用業(yè)務邏輯A103在第一系統(tǒng)中會記錄所述第一文件AlOl的結構參數(shù),并記錄下第一文件處理程序 A102對第一文件AlOl執(zhí)行的操作內(nèi)容。例如,以常用的辦公程序-第一文件處理程序A102 具體是Word程序為例,在處理第一文件AlOl時,在通過Word對第一文件AlOl的操作會實時反映在緩存區(qū)單元A105中,但是只有當每過一個預定時間間隔,緩存區(qū)單元A105中存放的第一系統(tǒng)A104的數(shù)據(jù)會存入非易失性存儲介質上,這一存放過程通常是以塊讀塊寫(Block Read Block Write)的方式實現(xiàn);或者,當用戶在Word上執(zhí)行存放操作-例如 Ctrl+S時,第一系統(tǒng)A104也會將緩存區(qū)單元A105中存放的數(shù)據(jù)存入非易失性存儲介質中對應的第三文件A106上。以下針對操作內(nèi)容所包含的信息的類別分別進行描述當操作內(nèi)容包含發(fā)生更新操作前的第一數(shù)據(jù)以及應用程序接口時,第一系統(tǒng)A104 中,第一插件應用業(yè)務邏輯A103記錄第一文件AlOl的結構參數(shù),并記錄下第一文件處理程序A102對第一文件AlOl執(zhí)行的更新操作對應的操作內(nèi)容,即記錄下這些應用程序接口, 該應用程序接口的工作參數(shù),以及該工作參數(shù)的當前賦值;第二系統(tǒng)中,第二文件處理程序 B102會打開第二文件BlOl,第二插件應用業(yè)務邏輯B103通過數(shù)據(jù)信息通道ClOl接收到來自第一插件應用業(yè)務邏輯A103的操作內(nèi)容。第二插件應用業(yè)務邏輯B103通知第二文件處理程序B102,由第二文件處理程序B102根據(jù)來自第一插件應用業(yè)務邏輯A103的操作內(nèi)容對第二文件BlOl進行更新操作,該更新操作完成之后,位于緩存區(qū)單元B105中的第二數(shù)據(jù)會發(fā)生改變。如此,則在第一文件AlOl內(nèi)容更新時,由于第一插件應用業(yè)務邏輯A103檢測到對第一文件AlOl的操作內(nèi)容之后,實時的通過數(shù)據(jù)信息通道ClOl發(fā)送給了第二插件應用業(yè)務邏輯B103,且第二插件應用業(yè)務邏輯B103實時的通知第二文件處理程序B102對第二文件BlOl進行更新操作,因此保證了文件同步的實時性。其后續(xù)的過程與上述操作內(nèi)容包含發(fā)生更新操作前的第一數(shù)據(jù)以及應用程序接口時的過程基本一致。當所述操作內(nèi)容包括第一文件的結構參數(shù),以及第一文件處理程序A102對所述第一文件進行更新時調用的應用程序接口,該應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值時。如果直接通過對第二緩存區(qū)的全拷貝實現(xiàn)同步,則所述操作內(nèi)容包括被執(zhí)行更新操作后的第一數(shù)據(jù),此時,第一插件應用業(yè)務邏輯A103實時監(jiān)控第一文件處理程序A102 對位于緩存區(qū)單元A105中的對應于第一文件AlOl的第一數(shù)據(jù)的修改。建立與第二系統(tǒng) B104之間的數(shù)據(jù)信息通道C101。由于第一文件AlOl與第二文件BlOl是同一個文件在不同系統(tǒng)中的備份,且位于緩存區(qū)單元B105中的數(shù)據(jù)是對應于第二文件BlOl的,因此當將通過來自緩存區(qū)單元A105的數(shù)據(jù)覆蓋位于緩存區(qū)單元B105中的第二數(shù)據(jù)時,由于文件處理程序B102會實時根據(jù)緩存區(qū)單元B105中的數(shù)據(jù)更新第二文件B101,因此呈現(xiàn)在用戶面前的第二文件BlOl也會實時改變,顯然,上述過程是通過同步緩存區(qū)單元A105與緩存區(qū)單元 B105實現(xiàn)的。技術方案中,緩存區(qū)具體是指不同系統(tǒng)中的位于易失性存儲介質上的Buffer ;在數(shù)據(jù)傳輸中,用來彌補系統(tǒng)中不同元器件對數(shù)據(jù)的處理速率速度差距的存儲裝置叫做緩存區(qū)Buffer,把數(shù)據(jù)存放到緩存區(qū)中的技術叫做緩沖。其中,Buffer具體是指系統(tǒng)在內(nèi)存中開辟并進行管理的一段空間,由當前的第一文件占用并鎖定,存放第一文件對應的第一數(shù)據(jù),由于其邏輯地址是可知的,并且總是連續(xù)的,因此由插件應用業(yè)務邏輯根據(jù)該邏輯地址就可以直接獲取所述緩存區(qū)中的第一文件對應的第一數(shù)據(jù)。具體而言,該緩存區(qū)實際保存有第一文件的當前所有修改更新內(nèi)容;在沒有將此緩存區(qū)中存放的修改更新內(nèi)容保存到第二系統(tǒng)中的第二文件中之前,所述修改更新內(nèi)容即為第一文件和第二文件的內(nèi)容區(qū)別,如果采用時間軸標識,則所述修改更新內(nèi)容為第一文件和第二文件之間的最新區(qū)別。其中,第二文件是對應于第一文件的保存在易失性存儲介質上的文件。數(shù)據(jù)信息通道具體可以采用現(xiàn)有的數(shù)據(jù)通道,例如串口(SATA),I2C, USB, BlueTooth 等。對應的,本發(fā)明還提供一種文件同步系統(tǒng),如圖2所示,包括第一系統(tǒng)A104和第二系統(tǒng)B104 ;其中,第一文件處理程序即圖中的第一文件處理程序A102,第二文件處理程序即圖中的文件處理程序B102,第一緩存區(qū)即圖中的緩存區(qū)單元A105,第二緩存區(qū)即圖中的緩存區(qū)單元B105 ;所述第一系統(tǒng)A104包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第二系統(tǒng)B104包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述第一系統(tǒng)A104監(jiān)控第一緩存區(qū)-緩存區(qū)單元A105,所述第一緩存區(qū)中存有第一文件處理程序-第一文件處理程序A102打開的第一文件AlOl所對應的第一數(shù)據(jù);所述第一系統(tǒng)A104,還用于當監(jiān)控到第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時, 通過所述第一系統(tǒng)A104與所述第二系統(tǒng)B104之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件AlOl執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng)B104,由所述第二系統(tǒng) B104中的第二文件處理程序,該第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件BlOl進行處理。文件同步系統(tǒng)中還包括第一插件應用業(yè)務邏輯A103,用于在第一系統(tǒng)A104中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的插件應用業(yè)務邏輯B103建立并維護一個數(shù)據(jù)信息通道;將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯B103。第二插件應用業(yè)務邏輯B103,用于在第二系統(tǒng)B104中,記錄所述第二文件的結構參數(shù),并記錄下所述第二文件處理程序對所述第二文件執(zhí)行的操作內(nèi)容;以及,與位于第一系統(tǒng)中的插件應用業(yè)務邏輯A103建立并維護一個數(shù)據(jù)信息通道;將對所述第二文件執(zhí)行的操作內(nèi)容和/或所述第二文件的結構參數(shù)發(fā)送給位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯A103。應用上述技術方案,在第一文件發(fā)生更新時,能夠實時的將導致第一文件發(fā)生更新的操作內(nèi)容發(fā)送給第二系統(tǒng),第二文件處理程序根據(jù)操作內(nèi)容對第二文件執(zhí)行更新,由于操作內(nèi)容是對內(nèi)存中的緩存區(qū)進行操作,且這一操作發(fā)生的瞬間就能夠檢測到所述操作
13內(nèi)容并發(fā)送給第二系統(tǒng),由第二文件處理程序根據(jù)該操作內(nèi)容實時的對第二文件進行同樣的操作,因此上述過程是實時的,且能夠在不同的系統(tǒng)中無需手動/自動保存就對同一文件實現(xiàn)實時同步更新;又由于在第一系統(tǒng)中和第二系統(tǒng)中的所述操作內(nèi)容是一致的,而第一文件和第二文件也是一致的,因此能夠保證更新后的第一文件和第二文件也是一致的。
其中,操作內(nèi)容為所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;或者,所述操作內(nèi)容包括發(fā)生改變前的第一數(shù)據(jù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;或者, 所述操作內(nèi)容包括第一文件的結構參數(shù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。所述第一系統(tǒng)和所述第二系統(tǒng)可以位于同一個殼體內(nèi),當然,所述第一系統(tǒng)也可以單獨的位于第一殼體內(nèi),所述第二系統(tǒng)也可以單獨的位于第二殼體內(nèi),位于第一殼體的第一系統(tǒng)可以單獨使用,位于第二殼體內(nèi)的第二系統(tǒng)同樣也可以單獨使用。當然,位于第一殼體內(nèi)的第一系統(tǒng)和位于第二殼體內(nèi)的第二系統(tǒng)可以通過一結構件進行組合在一起組成混合系統(tǒng),所述結構件包括將第一系統(tǒng)和第二系統(tǒng)結合在一起的物理結構件以及實現(xiàn)第一系統(tǒng)和第二系統(tǒng)相互數(shù)據(jù)傳輸?shù)挠布涌凇?,本發(fā)明還提供一種電子設備,具有在不同的系統(tǒng)中實現(xiàn)文件同步的功能, 包括第一系統(tǒng)A104和第二系統(tǒng)B104 ;所述第一系統(tǒng)A104包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第二系統(tǒng)B104包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述第一系統(tǒng)A104監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序 A102打開的第一文件AlOl所對應的第一數(shù)據(jù);所述第一系統(tǒng)A104,還用于當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)A104與所述第二系統(tǒng)B 104之間的數(shù)據(jù)信息通道,將所述第一文件處理程序A102對所述第一文件AlOl執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng)B104,由所述第二系統(tǒng) B104中的第二文件處理程序B102,該第二文件處理程序B102根據(jù)所述操作內(nèi)容對第二文件BlOl進行處理。電子設備中還包括第一插件應用業(yè)務邏輯A103,用于在第一系統(tǒng)A104中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序A102對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的插件應用業(yè)務邏輯B103建立并維護一個數(shù)據(jù)信息通道;將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯B103。第二插件應用業(yè)務邏輯B103,用于在第二系統(tǒng)B104中,記錄所述第二文件的結構參數(shù),并記錄下所述第二文件處理程序B102對所述第二文件執(zhí)行的操作內(nèi)容;以及,與位于第一系統(tǒng)中的插件應用業(yè)務邏輯A103建立并維護一個數(shù)據(jù)信息通道;將對所述第二文件執(zhí)行的操作內(nèi)容和/或所述第二文件的結構參數(shù)發(fā)送給位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯A103。對應的,本發(fā)明還提供一種電子設備,具有在不同的系統(tǒng)中實現(xiàn)文件同步的功能, 如圖3所示,包括第一系統(tǒng)A104 ;所述第一系統(tǒng)A104包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);其中,第一緩存區(qū)即圖中的緩存區(qū)單元A105 ;所述第一系統(tǒng)A104監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序 A102打開的第一文件AlOl所對應的第一數(shù)據(jù);當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)A104與第二系統(tǒng)B104之間的數(shù)據(jù)信息通道,將所述第一文件處理程序A102對所述第一文件AlOl 執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng)B104,由所述第二系統(tǒng)B104中的第二文件處理程序 B102,該第二文件處理程序B102根據(jù)所述操作內(nèi)容對第二文件BlOl進行處理;其中,所述第二系統(tǒng)B104位于另一電子設備上,且所述第二系統(tǒng)B104包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng)。電子設備中還包括第一插件應用業(yè)務邏輯A103,用于在第一系統(tǒng)A104中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序A102對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的插件應用業(yè)務邏輯B103建立并維護一個數(shù)據(jù)信息通道;將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯B103。優(yōu)選的,所述第一系統(tǒng)A104/第二系統(tǒng)B104中還可以包括更新數(shù)據(jù)獲取單元,用于獲取所述第一文件AlOl的邏輯地址的起始位置以及結束位置,調用函數(shù)訪問并拷貝所述緩存區(qū)中所述起始位置與結束位置之間的數(shù)據(jù),并傳輸?shù)剿鰯?shù)據(jù)信息通道。本發(fā)明的實施例具有以下有益效果,在第一文件發(fā)生更新時,能夠實時的將導致第一文件發(fā)生更新的操作內(nèi)容發(fā)送給第二系統(tǒng),第二文件處理程序根據(jù)操作內(nèi)容對第二文件執(zhí)行更新,由于操作內(nèi)容是對內(nèi)存中的緩存區(qū)進行操作,且這一操作發(fā)生的瞬間就能夠檢測到所述操作內(nèi)容并發(fā)送給第二系統(tǒng),由第二文件處理程序根據(jù)該操作內(nèi)容實時的對第二文件進行同樣的操作,因此上述過程是實時的,且能夠在不同的系統(tǒng)中無需手動/自動保存就對同一文件實現(xiàn)實時同步更新;又由于在第一系統(tǒng)中和第二系統(tǒng)中的所述操作內(nèi)容是一致的,而第一文件和第二文件也是一致的,因此能夠保證更新后的第一文件和第二文件也是一致的。應當說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制,所有的參數(shù)取值可以根據(jù)實際情況調整,且在該權利保護范圍內(nèi)。本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的精神范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。
1權利要求
1.一種文件同步方法,其特征在于,所述文件同步方法應用于具有第一系統(tǒng)和第二系統(tǒng)構成的混合系統(tǒng)中,所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng),所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述方法包括在所述第一系統(tǒng)中監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng)中;其中,由所述第二系統(tǒng)中的第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理;所述第二文件與所述第一文件相同。
2.根據(jù)權利要求1所述的方法,其特征在于,所述操作內(nèi)容為所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。
3.根據(jù)權利要求1所述的方法,其特征在于,所述操作內(nèi)容包括發(fā)生改變前的第一數(shù)據(jù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;或者,所述操作內(nèi)容包括第一文件的結構參數(shù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。
4.根據(jù)權利要求1所述的方法,其特征在于,當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,在第一預定時間間隔內(nèi)發(fā)送所述操作內(nèi)容;其中,所述第一預定時間間隔遠小于所述第一系統(tǒng)和/或第二系統(tǒng)的自動保存時間間隔。
5.一種文件同步系統(tǒng),其特征在于,包括第一系統(tǒng)和第二系統(tǒng);所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng);所述第一系統(tǒng)監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);所述第一系統(tǒng),還用于當監(jiān)控到所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng);所述第二系統(tǒng)中的第二文件處理程序,所述第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理。
6.根據(jù)權利要求5所述的文件同步系統(tǒng),其特征在于,所述操作內(nèi)容為所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值;或者,所述操作內(nèi)容包括發(fā)生改變前的第一數(shù)據(jù),以及第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值; 或者,所述操作內(nèi)容包括第一文件的結構參數(shù),以及所述第一文件處理程序對所述第一文件進行更新時調用的應用程序接口,所述應用程序接口的工作參數(shù),以及所述工作參數(shù)的當前賦值。
7.一種電子設備,其特征在于,包括 包括第一系統(tǒng)和第二系統(tǒng);所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng); 所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng); 所述第一系統(tǒng)監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);所述第一系統(tǒng),還用于當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與所述第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送給所述第二系統(tǒng);所述第二系統(tǒng)的第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理。
8.根據(jù)權利要求7所述的電子設備,其特征在于,還包括第一插件應用業(yè)務邏輯,用于在第一系統(tǒng)中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道; 將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯;第二插件應用業(yè)務邏輯,用于在第二系統(tǒng)中,記錄所述第二文件的結構參數(shù),并記錄下所述第二文件處理程序對所述第二文件執(zhí)行的操作內(nèi)容;以及,與位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道; 將對所述第二文件執(zhí)行的操作內(nèi)容和/或所述第二文件的結構參數(shù)發(fā)送給位于第一系統(tǒng)中的第一插件應用業(yè)務邏輯。
9.一種電子設備,其特征在于,包括第一系統(tǒng);所述第一系統(tǒng)包括第一硬件系統(tǒng)和基于所述第一硬件系統(tǒng)的第一操作系統(tǒng);所述第一系統(tǒng)監(jiān)控第一緩存區(qū),所述第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);當所述第一緩存區(qū)中的所述第一數(shù)據(jù)發(fā)生改變時,通過所述第一系統(tǒng)與第二系統(tǒng)之間的數(shù)據(jù)信息通道,將所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容發(fā)送到所述第二系統(tǒng),其中,由所述第二系統(tǒng)中的第二文件處理程序根據(jù)所述操作內(nèi)容對第二文件進行同步處理;所述第二系統(tǒng)位于另一電子設備上,且所述第二系統(tǒng)包括第二硬件系統(tǒng)和基于所述第二硬件系統(tǒng)的第二操作系統(tǒng)。
10.根據(jù)權利要求9所述的電子設備,其特征在于,還包括第一插件應用業(yè)務邏輯,用于在第一系統(tǒng)中,記錄所述第一文件的結構參數(shù),并記錄下所述第一文件處理程序對所述第一文件執(zhí)行的操作內(nèi)容;以及,與位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯建立并維護一個數(shù)據(jù)信息通道;將對所述第一文件執(zhí)行的操作內(nèi)容和/或所述第一文件的結構參數(shù)發(fā)送給位于第二系統(tǒng)中的第二插件應用業(yè)務邏輯。
全文摘要
本發(fā)明提供一種文件同步方法、電子設備和同步系統(tǒng),方法包括文件同步方法應用于具有第一系統(tǒng)和第二系統(tǒng)構成的混合系統(tǒng)中,在第一系統(tǒng)中監(jiān)控第一緩存區(qū),第一緩存區(qū)中存有第一文件處理程序打開的第一文件所對應的第一數(shù)據(jù);當?shù)谝痪彺鎱^(qū)中的第一數(shù)據(jù)發(fā)生改變時,通過第一系統(tǒng)與第二系統(tǒng)之間的數(shù)據(jù)信息通道,將第一文件處理程序對第一文件執(zhí)行的操作內(nèi)容發(fā)送到第二系統(tǒng)中;其中,由第二系統(tǒng)中的第二文件處理程序根據(jù)操作內(nèi)容對第二文件進行同步處理;第二文件與第一文件相同。應用上述技術方案,由于設置有插件應用業(yè)務邏輯,且該插件應用業(yè)務邏輯能夠實時訪問緩存區(qū),因此能夠在不同的系統(tǒng)中對該第一文件實現(xiàn)實時同步更新。
文檔編號G06F17/30GK102346740SQ20101024357
公開日2012年2月8日 申請日期2010年8月2日 優(yōu)先權日2010年8月2日
發(fā)明者景濤, 柯海濱 申請人:聯(lián)想(北京)有限公司