国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      多節(jié)點文件同步系統(tǒng)及方法

      文檔序號:6589548閱讀:306來源:國知局
      專利名稱:多節(jié)點文件同步系統(tǒng)及方法
      技術(shù)領域
      本發(fā)明涉及一種文件同步系統(tǒng)及方法,尤指一種可實現(xiàn)網(wǎng)絡中服務器節(jié)點之間的文件同步的系統(tǒng)及方法。
      背景技術(shù)
      隨著經(jīng)濟全球化的發(fā)展趨勢,出現(xiàn)了一大批跨地區(qū)、跨國界的大型企業(yè)集團。這些企業(yè)集團的分支機構(gòu)分布于各地,而各地分支機構(gòu)需要分享資料以聯(lián)合作業(yè)。因此,如何對其資料進行管理,以實現(xiàn)企業(yè)資源共享,已經(jīng)成為該類企業(yè)運營的一重要組成部分。而隨著網(wǎng)絡通信技術(shù)的發(fā)展,使得跨地區(qū)的資料訪問及協(xié)同編輯成為可能,為此,企業(yè)一般采用分布式文件管理系統(tǒng)。
      分布式文件管理系統(tǒng)為物理空間分散、邏輯上通過網(wǎng)絡連接在一起的文件管理系統(tǒng)。在分布式文件管理系統(tǒng)中,用戶可像訪問本地存儲器一樣使用本地服務器及遠程服務器中的文件。如中國國家知識產(chǎn)權(quán)局于2002年6月12日公開的公開號為CN1353836的名為“分布式環(huán)境中的文件管理方法和系統(tǒng)”的專利,該專利描述了一種文件管理方法和系統(tǒng),其可在客戶端安裝一文件控制器,用于管理本地文件及控制網(wǎng)絡資料交換,并生成索引以標記該文件在網(wǎng)絡中的存儲位置。當用戶在某網(wǎng)絡節(jié)點進行文件訪問時,通過該索引獲得文件存儲位置,并將文件復制到該節(jié)點,同時修改索引信息。當文件被改變時,該系統(tǒng)會根據(jù)索引對其它所有具有該文件副本的網(wǎng)絡節(jié)點進行文件同步。但該系統(tǒng)存在有以下二點不足其一,無必要的文件同步。假設網(wǎng)絡中存在A,B,C三個節(jié)點。節(jié)點A更新某一文件后,節(jié)點C的相應副本需更新一次。節(jié)點B更新該文件后,節(jié)點C的相應副本又需更新一次。而當節(jié)點C只是在節(jié)點B更新文件之后才訪問該文件,那么第一次所作的同步是多余的。
      其二,某些情況下同步操作的網(wǎng)絡通訊量過大。例如某一文件為網(wǎng)絡中所有節(jié)點所需,該文件被更新后,需要同時與所有網(wǎng)絡節(jié)點作同步,突發(fā)性數(shù)據(jù)傳輸過大。
      由于上述系統(tǒng)及方法所存在的不足,提供一種多節(jié)點文件同步系統(tǒng)及方法,其只需在節(jié)點讀寫文件時進行同步,實為必需。

      發(fā)明內(nèi)容本發(fā)明的主要目的在于提供一種多節(jié)點文件同步系統(tǒng)及方法,只需在節(jié)點讀寫文件時進行同步,減少不必要的文件同步操作。
      本發(fā)明的另一目的在于提供一種多節(jié)點文件同步系統(tǒng)及方法,避免某些情況下同步操作的網(wǎng)絡通訊量過大。
      為達上述的發(fā)明目的,本發(fā)明提供了一種多節(jié)點文件同步系統(tǒng),可實現(xiàn)網(wǎng)絡中多個節(jié)點之間的文件同步。該系統(tǒng)包括有一主節(jié)點、多個從節(jié)點以及將主節(jié)點與這些從節(jié)點相連接的網(wǎng)絡。
      其中,從節(jié)點包括有一從應用服務器、一從文件服務器及一從數(shù)據(jù)庫,一代理程序運行在從應用服務器上,可根據(jù)文件更新情況,下載文件的最新版本以更新從文件服務器中的相應文件。從文件服務器用于存儲文件,這些文件需要與主節(jié)點的相應文件作同步。從數(shù)據(jù)庫存儲從文件服務器所存儲文件的關聯(lián)信息。
      主節(jié)點包括有一主應用服務器、一主文件服務器及一主數(shù)據(jù)庫。主數(shù)據(jù)庫存儲了文件更新記錄,該記錄保存每一文件同步情況。主文件服務器存儲主數(shù)據(jù)庫所記錄的文件的最新版本。主應用程序服務器運行一同步程序作為文件更新的控制器,可根據(jù)主數(shù)據(jù)庫中的文件更新記錄,由從文件服務器下載所更新的文件,并將其上傳至主文件服務器作為該文件的最新版本,以供其它從節(jié)點下載。
      為達上述的發(fā)明目的,本發(fā)明還提供了一種多節(jié)點文件同步方法,可實現(xiàn)網(wǎng)絡中多個節(jié)點之間的文件同步。該方法包括有(a)運行于從應用服務器的代理程序在主數(shù)據(jù)庫中添加一文件更新記錄;(b)運行于主應用服務器的同步程序根據(jù)文件更新記錄,由從文件服務器下載所更新的文件,并上傳至主文件服務器作為該文件的最新版本;(c)代理程序根據(jù)文件更新記錄判斷從文件服務器的文件是否需要更新,若需要更新可從主文件服務器下載該文件的最新版本,并上傳至從文件服務器以更新相應文件。
      通過上述系統(tǒng)及方法,可實現(xiàn)網(wǎng)絡中主、從節(jié)點之間共享文件的同步,并可減少不必要的文件同步操作及避免某些同步操作中網(wǎng)絡通訊量過大的情況。

      圖1為本發(fā)明多節(jié)點文件同步系統(tǒng)及方法的實施環(huán)境示意圖。
      圖2為本發(fā)明多節(jié)點文件同步系統(tǒng)的工作原理示意圖。
      圖3為本發(fā)明多節(jié)點文件同步系統(tǒng)的本地文件信息表的示意圖。
      圖4為本發(fā)明多節(jié)點文件同步系統(tǒng)的文件同步信息表的示意圖。
      圖5為本發(fā)明多節(jié)點文件同步系統(tǒng)的代理程序的功能模塊圖。
      圖6為本發(fā)明多節(jié)點文件同步系統(tǒng)的同步程序的功能模塊圖。
      圖7與圖8為本發(fā)明多節(jié)點文件同步系統(tǒng)的從節(jié)點同步作業(yè)流程圖。
      圖9為本發(fā)明多節(jié)點文件同步系統(tǒng)的同步程序的程序流程圖。
      具體實施方式參照圖1所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)及方法的實施環(huán)境示意圖。該系統(tǒng)包括有多個從節(jié)點100A,B,C、一網(wǎng)絡110及一主節(jié)點120。每一從節(jié)點100A,B,C包括有一從應用服務器101、一代理程序102、一從文件服務器103及一從數(shù)據(jù)庫104。主節(jié)點120包括有一主應用服務器121、一同步程序122、一主文件服務器123及一主數(shù)據(jù)庫124。
      其中,從節(jié)點100A,B,C是指對應子網(wǎng)絡(未畫出)中充當服務器的網(wǎng)絡節(jié)點,這些子網(wǎng)絡還包括有多個客戶端(未畫出),并通過多個網(wǎng)絡互連設備接入網(wǎng)絡110。這些客戶端運行程序向從節(jié)點100A,B,C發(fā)送文件操作請求。在本較佳實施例說明中,各從節(jié)點100A,B,C的系統(tǒng)架構(gòu)相同,均由從應用服務器101、從文件服務器103及從數(shù)據(jù)庫104組成,并均可通過運行在從應用服務器101的代理程序102接收相應網(wǎng)絡中客戶端所發(fā)送的文件操作請求。
      從應用服務器101是指該領域所熟知的適當機型,用于安裝并運行各種服務器端應用軟件,例如一企業(yè)資源管理系統(tǒng)或一統(tǒng)一工作平臺的服務器版本。
      代理程序102以動態(tài)鏈接庫(Dynamic Link Library)的形式運行在從應用服務器101上,可被其它運行在從應用服務器101上的應用程序(未畫出)調(diào)用,用以訪問數(shù)據(jù)庫及上傳/下載文件。動態(tài)鏈接庫是指Windows操作系統(tǒng)上可由應用程序或系統(tǒng)在需要時調(diào)用加載的鏈接庫,提供標準的程序執(zhí)行功能,可作為一種共享的軟件資源被操作系統(tǒng)管理。該代理程序102的工作原理及模塊功能將在下面詳述。
      從文件服務器103是由本領域所熟知的適當機型及軟件組合而成,與從應用服務器101連接在一起,用于接收從節(jié)點100A,B,C與主節(jié)點120所發(fā)送的文件上傳/下載請求,并可將所傳文件存儲在該服務器103上或提供所需文件的下載。
      從數(shù)據(jù)庫104與從應用服務器101連接在一起,存儲了從文件服務器103中文件的基本信息。從數(shù)據(jù)庫104需要一數(shù)據(jù)庫管理系統(tǒng)(未畫出)來運行,所述的數(shù)據(jù)庫管理系統(tǒng)可以是一關系型數(shù)據(jù)庫系統(tǒng),如Oracle.RTM的類。
      網(wǎng)絡110是指國際互聯(lián)網(wǎng)或通過路由器、小型交換機將多個局域網(wǎng)組合而成的企業(yè)內(nèi)部互聯(lián)網(wǎng)。通過網(wǎng)絡110,從節(jié)點100A,B,C可與主節(jié)點120之間相互通訊并上傳/下載文件。
      主節(jié)點120是指網(wǎng)絡110中充當服務器的一網(wǎng)絡節(jié)點。該節(jié)點120可以是從節(jié)點100A,B,C中任何一個,在其從數(shù)據(jù)庫104中不僅存儲了其從文件服務器103中文件的基本信息,還存儲了用于實現(xiàn)從節(jié)點100A,B,C中文件同步的文件更新記錄;將其從文件服務器103作為同步所需的主文件服務器123;并在其從應用服務器上運行同步程序122?;蛘?,該節(jié)點可以是網(wǎng)絡110中充當服務器的網(wǎng)絡節(jié)點,擁有主應用服務器121、主文件服務器123及主數(shù)據(jù)庫124,并在其主應用服務器121運行同步程序122以完成主文件服務器123中文件更新。上述的二種情況在邏輯上等同,在本說明書中,為了方便描述,采用第二種情況進行說明。
      主應用服務器121與上述的從應用服務器101大體一致,同步程序122運行在該服務器121上,主要用于各從節(jié)點100A,B,C與主節(jié)點120之間作文件同步,該程序122的工作原理及模塊功能將在下面詳述。主文件服務器123存儲有同步所需的文件,即將從節(jié)點100A,B,C各文件的最新版本均上傳至該服務器123中存儲。主數(shù)據(jù)庫124則存儲了用于文件同步的文件更新記錄。
      參照圖2所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的工作原理示意圖。在分布式網(wǎng)絡環(huán)境中,所謂多用戶對同一文件進行編輯,實際上是對同一文件的多個副本進行編輯。這些文件副本存儲于用戶所在網(wǎng)絡的服務器端,即分別存儲于從節(jié)點100A,B,C中對應的從文件服務器103中。若某一用戶對相應文件副本進行了編輯,并上傳至相應從文件服務器103中存儲,則這些副本就涉及文件同步處理。本較佳實施例解決文件同步的關鍵在于通過主數(shù)據(jù)庫124存儲從節(jié)點100A,B,C的文件更新記錄,通過主文件服務器123存儲這些文件的最新版本,從節(jié)點100A,B,C均與主節(jié)點120作文件同步。
      本發(fā)明的同步原理如下所述代理程序102為一可供調(diào)用的動態(tài)鏈接庫文件,存放于從應用服務器101。當運行于從應用服務器101上的某一應用程序需要更新從文件服務器103中某一文件副本時,會調(diào)用代理程序102將更新文件上傳至從文件服務器103,并在主數(shù)據(jù)庫124中添加一文件更新記錄。
      當運行于從應用服務器101上的某一應用程序需要讀取從文件服務器103中某一文件副本時,調(diào)用代理程序102來比較從文件服務器103中該副本的更新時間與主數(shù)據(jù)庫124中對應文件更新記錄的更新時間,以決定是否需要通過該程序102從主文件服務器123上下載該文件的最新版本,并上傳至從文件服務器103更新該文件副本,以完成該文件的同步。
      通過運行于主應用服務器121上的同步程序122完成主文件服務器123的文件更新。該程序122連接各從節(jié)點100A,B,C的相應從文件服務器103,再根據(jù)主數(shù)據(jù)庫124的文件更新記錄,下載所有已更新的文件副本,并上傳至主文件服務器123。由同步程序122完成主件服務器123的文件更新;代理程序102只向主數(shù)據(jù)庫124添加文件更新記錄,不向主文件服務器123上傳已更新的文件副本。
      參照圖3所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的本地文件信息表的示意圖。一般,為了便于管理一從節(jié)點100A,B,C的文件傳輸服務,會在從數(shù)據(jù)庫104中建立一本地文件信息表130作為文件服務列表,用于記錄從文件服務器103的存儲文件情況。該表130包括有文件編號131,文件名132、文件目錄133及上次更新時間134等字段。
      其中,文件編號131用于標示從文件服務器103中的文件,每一文件對應一文件編號,該文件編號為從文件服務器103中相應文件的唯一數(shù)字標示。文件名132、文件目錄133用于記錄一文件名稱及其在從文件服務器103中的存放路徑,二者結(jié)合起來也可作為一文件的唯一標示。上次更新時間134用于存放文件的修改時間。每一文件都會有一記錄信息,作為文件內(nèi)容的一部分。該記錄信息包括有文件名、文件大小、文件創(chuàng)建時間及文件修改時間等。例如,在UNIX系統(tǒng)中,可使用命令modtime filename來讀取指定文件的修改時間。
      參照圖4所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的文件同步信息表的示意圖。代理程序102在更新相應從文件服務器103中一文件副本之后,會在主數(shù)據(jù)庫124中添加相應文件的更新記錄。該記錄被保存在一文件同步信息表140中,用于各從節(jié)點100A,B,C與主節(jié)點120之間作文件同步。文件同步信息表140可被代理程序102及同步程序122讀寫,其包括有文件編號141、文件名142、源目錄143、上次更新時間144、目標目錄145及上傳完畢146等字段。
      其中,文件編號141、文件名142、源目錄143及上次更新時間144分別對應于本地文件信息表130中的文件編號131、文件名132、文件目錄133及上次更新時間134,這些字段值由代理程序102根據(jù)已更新副本的基本信息寫入。而目標目錄145及上傳完畢146在代理程序102向文件同步信息表140中添加一文件更新記錄時均為空(NULL)。同步程序122在根據(jù)文件更新記錄,將已更新的文件副本上傳至主文件服務器123上之后,填寫目標目錄145及上傳完畢146字段值。
      參照圖5所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的代理程序的功能模塊圖。代理程序102為從應用服務器101上一動態(tài)鏈接庫文件,用于接入從數(shù)據(jù)庫104與主數(shù)據(jù)庫124、連接從文件數(shù)據(jù)庫103以上傳/下載資料及連接主文件服務器123以完成文件同步。代理程序102包括有一代理模塊1021、數(shù)據(jù)庫接入模塊1022及文件傳輸模塊1023。
      其中,代理模塊1021接收從應用服務器101上應用程序(未畫出)的文件上傳/下載請求。代理模塊1021可通過數(shù)據(jù)庫接入模塊1022訪問本地文件信息表130及文件同步信息表140,比較前者的上次更新時間134與后者的上次更新時間144,以決定所需文件在從文件服務器103上的副本是否需要更新。該模塊1021可將文件傳輸請求作為消息參數(shù)傳遞給文件傳輸模塊1023,并將上傳/下載請求結(jié)果返還給上述的應用程序。
      數(shù)據(jù)庫接入模塊1022在代理程序102中作為代理模塊1021與從數(shù)據(jù)庫104及主數(shù)據(jù)庫124之間的中間層,可完成連接數(shù)據(jù)庫,查詢及更新資料。數(shù)據(jù)庫接入模塊1022提供了二個接口(interface)無事務處理的接口與支持事務的接口(未畫出)。在從數(shù)據(jù)庫104及主數(shù)據(jù)庫124上可能同時存在多個事務,如各從節(jié)點100A,B,C的代理程序102同時對主數(shù)據(jù)庫124進行讀操作或?qū)懖僮?,支持事務的接口可以提供不同?shù)據(jù)庫操作的優(yōu)先級設置,從而讓各事務按正確順序進行,將在下面進行詳述。
      文件傳輸模塊1023在代理程序102中作為代理模塊1021與從文件服務器103及主文件服務器123之間的中間層,可完成向從文件服務器103上傳/下載文件或向主文件服務器123下載文件。
      參照圖6所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的同步程序的功能模塊圖。同步程序122運行在主應用服務器121上,可訪問主數(shù)據(jù)庫124的文件同步信息表140,并根據(jù)每一文件更新記錄,下載從文件服務器103中已更新的文件副本并將其上傳至主文件服務器123,以完成主節(jié)點120的文件更新。該程序122包括有一同步模塊1221、一數(shù)據(jù)庫接入模塊1022、一文件傳輸模塊1023及一用戶界面模塊1224。
      同步模塊1221與數(shù)據(jù)庫接入模塊1022、文件傳輸模塊1023及用戶界面模塊1224相互通訊。同步模塊1221可通過數(shù)據(jù)庫接入模塊1222訪問主數(shù)據(jù)庫124,獲得文件同步信息表140中所有未將更新副本上傳至主文件服務器123的文件更新記錄,即文件同步信息表140中所有更新完畢146字段值為空(NULL)的記錄。該模塊1221還可根據(jù)所有已將更新副本上傳至主文件服務器123的文件更新記錄,即文件同步信息表140中所有更新完畢146字段值不為空(NULL)的記錄,將文件名142、源目錄143及目標目錄145作為參數(shù)發(fā)送給文件傳輸模塊1223以連接從文件服務器103與主文件服務器123,將從文件服務器103的更新副本下載并上傳至主文件服務器123。同步模塊1221運行在主應用服務器121,周期性掃描文件同步信息表140。該周期可在用戶界面模塊1224中設定。另外,可在主數(shù)據(jù)庫124中為文件同步信息表140建立索引,便于讀取所有更新完畢146字段值為空(NULL)的記錄。
      數(shù)據(jù)庫接入模塊1022在同步程序122中用于接入主數(shù)據(jù)庫124,訪問文件同步信息表140及其索引。
      文件傳輸模塊1023在同步程序122中用于連接從文件服務器103與主文件服務器123,接收同步模塊1221所發(fā)送的參數(shù),將從文件服務器103的更新文件副本上傳至主文件服務器123。
      用戶界面模塊1224可與同步模塊1221及數(shù)據(jù)庫接入模塊1222相互通訊。該模塊1224為使用者提供一操作界面,主要用于設定同步模塊1221掃描文件同步信息表140的周期,或通過數(shù)據(jù)庫接入模塊1022訪問文件同步信息表140以檢視文件更新情況。
      上述的代理程序102及同步程序122在實際運行過程中,會遇到多種相互沖突的特殊情況,下面詳述本較佳實施例的處理方法。
      其一,多個從節(jié)點100A,B,C同時要求讀取或更新同一文件。因為在讀取或更新同一文件之前,相應代理程序102都會通過數(shù)據(jù)庫接入模塊1022接入主數(shù)據(jù)庫124,讀或?qū)懳募叫畔⒈?40。如上所述,數(shù)據(jù)庫接入模塊1022提供支持事務的接口,可為數(shù)據(jù)庫操作設置優(yōu)先級。例如,對文件同步信息表140的寫操作比讀操作的優(yōu)先級高,執(zhí)行寫操作的代理程序102會在執(zhí)行讀操作的代理程序102之前進行。
      其二,從節(jié)點100A,B,C與主節(jié)點120同時要求訪問文件同步信息表140。如上所述,代理程序102通過數(shù)據(jù)庫接入模塊1022訪問文件同步信息表140是為了檢視所需文件的更新情況;同步程序122通過數(shù)據(jù)庫接入模塊1022訪問該表140是為了將文件的最新版本上傳至主文件服務器123,以供各從節(jié)點100A,B,C作文件同步。因此,可設置對于文件同步信息表140的訪問操作,主節(jié)點120比從節(jié)點100A,B,C的優(yōu)先級高。
      其三,某一文件的更新副本已上傳至主文件服務器123,一從節(jié)點100A,B,C在未作該文件的同步處理之前,欲更新該文件。在更新一文件之前,代理程序102都會通過數(shù)據(jù)庫接入模塊1022接入從數(shù)據(jù)庫104與主數(shù)據(jù)庫124,比較本地文件信息表130的上次更新時間134與文件同步信息表140的上次更新時間144,以避免錯誤的文件更新。
      參照圖7所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的從節(jié)點同步作業(yè)流程圖。開始,運行于從應用服務器101上的某一應用程序(未畫出)調(diào)用代理程序102(步驟S10)。代理模塊1021判斷上述的應用程序要讀某一文件或?qū)懩骋晃募?步驟S11)。若為讀文件,代理模塊1021通過數(shù)據(jù)庫接入模塊1022分別讀從數(shù)據(jù)庫104的本地文件信息表(表A)與主數(shù)據(jù)庫124的文件同步信息表(表B)中的對應記錄。當然,該文件在文件同步信息表中可能存在多個記錄,則讀時間最晚的記錄,即最新文件更新記錄(步驟S21)。代理模塊1021判斷表A中的上次更新時間134字段值是否小于表B的上次更新時間144字段值(步驟S22)。若判斷結(jié)果為否,則表示該文件尚未被其它從節(jié)點100A,B,C更新,該文件在從文件服務器103中的副本無需作同步。代理模塊1021通過文件傳輸模塊1023連接從文件服務器103,完成所需文件的下載(步驟S23)。若判斷結(jié)果為是,則表示該文件已被其它從節(jié)點100A,B,C更新。代理模塊1021進一步判斷表B的上傳更新完畢字段值是否為空(NULL),即主文件服務器123上是否有該文件的最新版本(步驟S24)。若判斷結(jié)果為是,即主文件服務器123上無該文件的最新版本,則代理模塊1021發(fā)消息通知從應用服務器101并結(jié)束當前調(diào)用。(步驟S25)。若判斷結(jié)果為否,即主文件服務器123上存在該文件的最新版本,則代理模塊1021通過文件傳輸模塊1023將所需文件的最新版本由主文件服務器123下載,并上傳至從文件服務器103以更新該文件的副本。代理模塊1021進一步根據(jù)該副本的修改時間重置表A中相應記錄的上次更新時間(步驟S26)。
      若步驟S11判斷結(jié)果為寫文件,參照圖8所示,代理模塊1021通過數(shù)據(jù)庫接入模塊1022分別讀從數(shù)據(jù)庫104的本地文件信息表(表A)與主數(shù)據(jù)庫124的文件同步信息表(表B)中對應文件記錄。當然,該文件在文件同步信息表中可能存在多個記錄,則讀時間最晚的記錄,即最新的記錄(步驟S31)。代理模塊1021判斷表A中的上次更新時間134是否早于表B的上次更新時間144(步驟S32)。若判斷結(jié)果為是,則表示該文件已被其它從節(jié)點100A,B,C更新。代理模塊1021發(fā)送警告消息以結(jié)束調(diào)用(步驟S33)。若判斷結(jié)果為否,則表示該文件尚未被其它從節(jié)點100A,B,C更新,代理模塊1021通過文件傳輸模塊1023接入從文件服務器103,上傳該文件的更新副本(步驟S34)。代理模塊1021通過數(shù)據(jù)庫接入模塊1022分別寫從數(shù)據(jù)庫104的本地文件信息表(表A)與主數(shù)據(jù)庫124的文件同步信息表(表B),即在表B中添加一新記錄并根據(jù)所更新文件情況填寫該記錄的相應字段元;重置表A的上次更新時間134,其中,表A的上次更新時間134與表B的上次更新時間及該副本的修改時間相同(步驟35)。結(jié)束,為結(jié)束代理程序102的本次調(diào)用,釋放占用的系統(tǒng)資源(步驟40)。
      參照圖9所示,為本發(fā)明多節(jié)點文件同步系統(tǒng)的同步程序的程序流程圖。開始,為同步模塊1221按照預先的同步周期開始在主文件服務器121上執(zhí)行(步驟S50)。同步模塊1221通過數(shù)據(jù)庫接入模塊1022讀文件同步信息表140(步驟S51)。數(shù)據(jù)庫接入模塊1022將文件同步信息表140中所有未完成上傳的記錄,即上傳完畢字段值為空(NULL)的所有記錄作為結(jié)果返回給同步模塊1221(步驟S52)。同步模塊1221判斷步驟S52的返回結(jié)果是否為空(步驟S53)。若判斷為否,同步模塊1221讀取當前結(jié)果的文件名、源目錄及目標目錄,并將其作為消息參數(shù)傳遞給文件傳輸模塊1022。文件傳輸模塊1022從文件服務器103與連接主文件服務器123,根據(jù)所接收的參數(shù)由從文件服務器103中下載所需文件的更新副本,并將其上傳至主文件服務器123(步驟S54)。同步模塊1221讀取下一結(jié)果,并重復步驟S53(步驟S55)。若步驟S53的判斷為是,即不存在有需要更新的文件,則結(jié)束同步模塊1221的本次執(zhí)行,釋放所占用的系統(tǒng)資源(步驟S56)。
      權(quán)利要求
      1.一種多節(jié)點文件同步系統(tǒng),該系統(tǒng)包括有一主節(jié)點、多個從節(jié)點以及將主節(jié)點與這些從節(jié)點相連接之網(wǎng)絡,可在這些從節(jié)點與主節(jié)點之間作文件同步,其特征在于,其中從節(jié)點包括有一從應用服務器、一從文件服務器及一從數(shù)據(jù)庫,其中從文件服務器用于存儲文件,這些文件需要與主節(jié)點之相應文件作同步;從數(shù)據(jù)庫存儲有上述從文件服務器所存儲文件的基本信息;從應用服務器運行一代理程序,用于判斷所需文件是否更新,并管理該文件的上傳與下載;主節(jié)點包括有一主應用服務器、一主文件服務器及一主數(shù)據(jù)庫,其中主數(shù)據(jù)庫存儲用于記錄并控制文件同步的文件更新記錄;主文件服務器存儲主數(shù)據(jù)庫所記錄之文件的最新版本;主應用程序服務器運行一同步程序作為文件更新的控制器,用于根據(jù)主文件服務器中文件更新記錄,由從文件服務器下載所更新的文件,并上傳至主文件服務器。
      2.如權(quán)利要求1所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中主節(jié)點和多個從節(jié)點均為充當服務器的網(wǎng)絡節(jié)點,并連接有多個客戶端。
      3.如權(quán)利要求1所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中每一從節(jié)點的從文件服務器均存儲有共享文件的一個副本,該副本被更改之后,代理程序會在主數(shù)據(jù)庫中添加一文件更新記錄。
      4.如權(quán)利要求1所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中代理程序可根據(jù)主數(shù)據(jù)庫的文件更新記錄,從主文件服務器下載文件的最新版本。
      5.如權(quán)利要求1所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中從數(shù)據(jù)庫建立有一第一表單,存儲用于記錄從文件服務器所存儲文件的基本信息,該表單包括有多個字段文件名、文件目錄及上次更新時間字段。
      6.如權(quán)利要求5所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中主數(shù)據(jù)庫建立有一第二表單存儲有文件更新記錄,該表單包括有多個字段文件名、源目錄、上次更新時間、目標目錄及上傳完畢字段。
      7.如權(quán)利要求6所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中第二表單的文件名、源目錄及上次更新時間字段分別對應于第一表單的文件名、文件目錄及上次更新時間字段。
      8.如權(quán)利要求6所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中第二表單的文件名、文件目錄及上次更新時間字段值由代理程序根據(jù)更新文件的基本信息填寫,其它字段值置為空。
      9.如權(quán)利要求6所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中同步程序可讀取第二表單中所有未完成上傳的文件更新記錄,即上傳完畢字段值為空的所有記錄以完成所需文件的上傳。
      10.如權(quán)利要求9所述的多節(jié)點文件同步系統(tǒng),其特征在于,其中完成所需文件的上傳是指由從文件服務器下載文件的最新版本,并上傳至主文件服務器。
      11.一種多節(jié)點文件同步方法,其通過一多節(jié)點文件同步系統(tǒng)在多個從節(jié)點與一個主節(jié)點之間作文件同步,其中,從節(jié)點包括有一從應用服務器、一從文件服務器及一從數(shù)據(jù)庫,主節(jié)點包括有一主應用服務器、一主文件服務器及一主數(shù)據(jù)庫,其特征在于,包括有如下步驟(a)運行于從應用服務器的代理程序在主數(shù)據(jù)庫中添加一文件更新記錄;(b)運行于主應用服務器的同步程序,并根據(jù)文件更新記錄,由從文件服務器下載已更新的文件,并上傳至主文件服務器作為該文件之最新版本;(c)代理程序根據(jù)文件更新記錄判斷從文件服務器的文件是否需要更新,若需要更新可由主文件服務器下載該文件的最新版本,并上傳至從文件服務器以更新相應文件。
      12.如權(quán)利要求11所述的多節(jié)點文件同步方法,其特征在于,進一步包括有一步驟在從數(shù)據(jù)庫中建立第一表單以記錄從文件服務器所存儲文件的基本信息,該表單包括有多個字段文件編號、文件名、文件目錄及上次更新時間字段。
      13.如權(quán)利要求11所述的多節(jié)點文件同步方法,其特征在于,進一步包括有一步驟在主數(shù)據(jù)庫中建立第二表單以存儲文件更新信息,該表單包括有多個字段文件編號、文件名、源目錄、上次更新時間、目標目錄及上傳完畢字段,其中第二表單的文件名、源目錄及上次更新時間字段分別對應于第一表單的文件名、文件目錄及上次更新時間字段。
      14.如權(quán)利要求13所述的多節(jié)點文件同步方法,其特征在于,其中步驟(a)進一步包括有一步驟在第二表單中添加一文件更新信息之后,代理程序根據(jù)更新文件的基本信息填寫文件名、源目錄、目標目錄及上次更新時間字段,其它字段值置空。
      15.如權(quán)利要求13所述的多節(jié)點文件同步方法,其特征在于,其中步驟(b)進一步包括有一步驟同步程序讀取第二表單中所有未完成上傳的文件更新記錄,即上傳完畢字段值為空的所有記錄。
      16.如權(quán)利要求13所述的多節(jié)點文件同步方法,其特征在于,其中步驟(c)進一步包括有一步驟代理程序比較所需文件在第一表單中記錄的上次更新時間與在第二表單中記錄的上次更新時間,以判斷從文件服務器的該文件是否需要更新。
      全文摘要
      一種多節(jié)點文件同步系統(tǒng)及方法,可實現(xiàn)網(wǎng)絡中多個節(jié)點之間的文件同步。該系統(tǒng)包括有一主節(jié)點、多個從節(jié)點以及將主節(jié)點與這些從節(jié)點相連接的網(wǎng)絡。其中,從節(jié)點包括有一從應用服務器、一從文件服務器及一從數(shù)據(jù)庫,主節(jié)點包括有一主應用服務器、一主文件服務器及一主數(shù)據(jù)庫。其可利用運行于從應用服務器上的一代理程序和運行于主應用服務器上一同步程序,并根據(jù)主數(shù)據(jù)庫中的文件更新記錄,完成主文件服務器和從文件服務器的中文件的同步。通過上述系統(tǒng)及方法,可實現(xiàn)網(wǎng)絡中主、從節(jié)點之間共享文件的同步,并可減少不必要的文件同步操作及避免某些同步操作中網(wǎng)絡通訊量過大的情況。
      文檔編號G06F12/00GK1489052SQ02134938
      公開日2004年4月14日 申請日期2002年10月11日 優(yōu)先權(quán)日2002年10月11日
      發(fā)明者李忠一, 林海洪, 羅寶勝, 王宜國 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1