專利名稱:遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng)及方法。
背景技術(shù):
網(wǎng)絡(luò)技術(shù)正快速應(yīng)用于生活的方方面面,接入網(wǎng)絡(luò)的計(jì)算機(jī)數(shù)量也正在快速增長(zhǎng),由于各種原因,人們需要將大量文件通過網(wǎng)絡(luò)在不同的計(jì)算機(jī)之間傳送,例如,在本地的研發(fā)部門計(jì)算機(jī)需要每天更新國(guó)外的制造工廠計(jì)算機(jī)里面的產(chǎn)品圖檔,互聯(lián)網(wǎng)內(nèi)容供應(yīng)商可能需要每10分鐘更新遠(yuǎn)端服務(wù)器內(nèi)的新聞內(nèi)容,因此需要一種有效的計(jì)算機(jī)文件同步更新系統(tǒng)及方法。
在美國(guó)專利商標(biāo)局于2003年2月25日公告的專利號(hào)為6,526,574,專利名稱為“查找兩個(gè)計(jì)算機(jī)文件的差異并更新計(jì)算機(jī)文件的系統(tǒng)”(System for Finding Differences between Two Computer Files andUpdating the Computer Files)的專利中,揭露了一種更新計(jì)算機(jī)文件的方法,該方法包括如下核心步驟通過一個(gè)路徑建立軟件分析源文件與目標(biāo)文件的不同點(diǎn),將文件分成幾個(gè)部分逐次進(jìn)行分析,基于分析結(jié)果建立一個(gè)路徑文件,更新目標(biāo)文件與源文件的不同部分,而不用更新相同的部分,從而可以更快的更新文件,使目標(biāo)文件與源文件保持一致。該專利還提供了很多其他如自動(dòng)判斷硬盤剩余空間、斷電重啟等有用的功能。
以上發(fā)明采用對(duì)單個(gè)文件部分對(duì)比的方法,只更新不同的部分,可以提高更新單個(gè)文件的效率,但是在進(jìn)行大批量文件更新的時(shí)候,采取對(duì)逐個(gè)文件分部分進(jìn)行對(duì)比的方法,會(huì)占用大量計(jì)算機(jī)系統(tǒng)資源,增加系統(tǒng)負(fù)擔(dān),導(dǎo)致文件更新效率下降。因此需要一種能在遠(yuǎn)程計(jì)算機(jī)之間快速更新大批量文件的同時(shí)占用少量系統(tǒng)資源的方法。
發(fā)明內(nèi)容本發(fā)明的一個(gè)目的在于提供一種遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng),在占用較少系統(tǒng)資源的情況下,通過本地計(jì)算機(jī)對(duì)遠(yuǎn)程計(jì)算機(jī)內(nèi)的指定文件夾中的文件夾和文件進(jìn)行批量更新。
本發(fā)明的另一個(gè)目的在于提供一種遠(yuǎn)程計(jì)算機(jī)文件同步更新方法,在占用較少系統(tǒng)資源的情況下,通過本地計(jì)算機(jī)對(duì)遠(yuǎn)程計(jì)算機(jī)內(nèi)的指定文件夾中的文件夾和文件進(jìn)行批量更新。
為實(shí)現(xiàn)上述第一個(gè)目的,本發(fā)明提供一種遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng),包括一本地計(jì)算機(jī)和一遠(yuǎn)程計(jì)算機(jī),由本地計(jì)算機(jī)發(fā)送指令,通過網(wǎng)絡(luò)將遠(yuǎn)程計(jì)算機(jī)系統(tǒng)內(nèi)指定文件夾中包含的文件內(nèi)容與本地計(jì)算機(jī)中指定文件夾中的內(nèi)容進(jìn)行同步更新。該本地計(jì)算機(jī)包括一路徑指定模塊,用于指定源文件夾和目標(biāo)文件夾的路徑;一文件列表生成模塊,用于依據(jù)源文件夾的目錄樹分層生成文件列表;一發(fā)送模塊,用于發(fā)送文件列表;遠(yuǎn)程計(jì)算機(jī)包括一接收模塊,用于接收本地計(jì)算機(jī)傳送的文件列表;一分析模塊用于讀取文件列表,并比較分析目標(biāo)文件夾中的文件與文件夾是否與文件列表中記錄的相同;一文件更新模塊用于刪除目標(biāo)文件夾中與文件列表記載的文件及文件夾不同的文件及文件夾,并依據(jù)文件列表更新目標(biāo)文件夾中其他的文件。
為實(shí)現(xiàn)上述另一個(gè)目的,本發(fā)明提供一種遠(yuǎn)程計(jì)算機(jī)文件同步更新方法,由本地計(jì)算機(jī)發(fā)送指令,通過網(wǎng)絡(luò)將遠(yuǎn)程計(jì)算機(jī)系統(tǒng)內(nèi)指定文件夾中包含的文件內(nèi)容與本地計(jì)算機(jī)中指定文件夾中的內(nèi)容進(jìn)行同步更新,該方法包括如下步驟I.在本地計(jì)算機(jī)上指定源文件夾以及目標(biāo)文件夾之路徑;II.本地計(jì)算機(jī)將源文件夾設(shè)定為當(dāng)前目錄;III.建立包括當(dāng)前目錄底下第一層之子目錄屬性與文件屬性之文件列表;IV.發(fā)送上述文件列表至遠(yuǎn)程計(jì)算機(jī);V.遠(yuǎn)程計(jì)算機(jī)依照文件列表更新當(dāng)前目錄下屬文件;VI.判斷當(dāng)前目錄下屬是否存在未更新文件之子目錄,若存在未更新文件之子目錄,將第一個(gè)未更新文件子目錄設(shè)置為當(dāng)前目錄,重復(fù)步驟III~步驟V;VII.若當(dāng)前目錄下屬不存在未更新之子目錄,則將該當(dāng)前目錄上一層目錄設(shè)定為當(dāng)前目錄,重復(fù)步驟VI至全部文件更新完畢。
利用本發(fā)明,可以利用本地計(jì)算機(jī)同步更新遠(yuǎn)程計(jì)算機(jī)中的大批量的文件,并占用較少的系統(tǒng)資源。
圖1是本發(fā)明遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng)的硬件構(gòu)架圖。
圖2是本發(fā)明本地計(jì)算機(jī)的功能模塊圖。
圖3是本發(fā)明遠(yuǎn)程計(jì)算機(jī)的功能模塊圖。
圖4是本發(fā)明遠(yuǎn)程計(jì)算機(jī)文件同步更新方法的工作流程圖。
具體實(shí)施方式如圖1所示,是本發(fā)明遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng)的硬件構(gòu)架圖。其中本地計(jì)算機(jī)1是一種個(gè)人計(jì)算機(jī)PC,配置有CPU、內(nèi)存、硬盤、顯示器及鍵盤、鼠標(biāo),安裝有LAN網(wǎng)卡,包括如圖2所示的多個(gè)功能模塊并為用戶提供一種操作界面。遠(yuǎn)程計(jì)算機(jī)3可以是一種與本地計(jì)算機(jī)相同的個(gè)人計(jì)算機(jī)PC,也可以是一種網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī),包括有圖3所示的多個(gè)功能模塊。本地計(jì)算機(jī)1與遠(yuǎn)程計(jì)算機(jī)3通過網(wǎng)絡(luò)2連接,網(wǎng)絡(luò)2是一種基于TCP/IP通訊協(xié)議的電子網(wǎng)絡(luò)。本地計(jì)算機(jī)1通過網(wǎng)絡(luò)2發(fā)送文件更新命令及傳遞更新文件,將遠(yuǎn)程計(jì)算機(jī)3上的指定文件夾即目標(biāo)文件夾中的文件和文件夾更新為本地計(jì)算機(jī)1指定文件夾即源文件夾中的文件和文件夾。
如圖2所示,是本發(fā)明本地計(jì)算機(jī)的功能模塊圖。路徑指定模塊11用于指定源文件夾和目標(biāo)文件夾的路徑,例如指定源文件夾的路徑為d/resourses/20041129,指定目標(biāo)文件夾中的路徑為/10.129.82.23/update。文件列表生成模塊12用于依據(jù)源文件夾的目錄樹分層生成文件列表,文件列表為包含文件夾屬性及文件屬性的數(shù)據(jù)結(jié)構(gòu),當(dāng)文件列表生成模塊12在讀取每個(gè)文件屬性的同時(shí),會(huì)把每個(gè)文件相關(guān)屬性如文件名稱、文件大小、文件修改日期、文件修改屬性用一個(gè)數(shù)據(jù)結(jié)構(gòu)記錄下來,在讀取了一定數(shù)量的文件之后,將所有的數(shù)據(jù)結(jié)構(gòu)串接起來,就形成了這些文件的一個(gè)文件列表。文件列表將存儲(chǔ)在本地計(jì)算機(jī)內(nèi)存中,直至其所對(duì)應(yīng)的文件全部更新完畢。讀取的文件數(shù)量的多少,將會(huì)影響形成的文件列表的大小從而影響占用系統(tǒng)資源的多少。發(fā)送模塊13用于將文件列表和文件更新命令傳送給遠(yuǎn)程計(jì)算機(jī)3。
如圖3所示,是本發(fā)明遠(yuǎn)程計(jì)算機(jī)的功能模塊圖。接收模塊31用于接收本地計(jì)算機(jī)1發(fā)送的文件列表,接收后將該文件列表存儲(chǔ)于遠(yuǎn)程計(jì)算機(jī)3的內(nèi)存中。分析模塊32用于讀取文件列表,并比較分析目標(biāo)文件夾中的文件與文件夾的相關(guān)屬性如文件名稱、文件大小、文件修改日期、文件修改屬性等是否與文件列表中記錄的相同,若全部屬性相同則認(rèn)為目標(biāo)文件夾中的文件或文件夾與文件列表中記載的文件相同。文件更新模塊33用于刪除目標(biāo)文件夾中與文件列表記載的文件及文件夾不同的文件及文件夾,并依據(jù)文件列表更新目標(biāo)文件夾中其他的文件。
如圖4所示,是本發(fā)明遠(yuǎn)程計(jì)算機(jī)文件同步更新方法的工作流程圖。首先,本地計(jì)算機(jī)1之路徑指定模塊11指定源文件夾和目標(biāo)文件夾之路徑(步驟S1)。文件列表生成模塊12將源文件夾設(shè)定為當(dāng)前目錄(步驟S2)。生成包含當(dāng)前目錄下屬第一層文件屬性及文件夾屬性之文件列表(步驟S3)。發(fā)送模塊13將該文件列表發(fā)送到遠(yuǎn)程計(jì)算機(jī)3之接收模塊31(步驟S4)。分析模塊32讀取該文件列表,并比較分析當(dāng)前目錄對(duì)應(yīng)之目標(biāo)文件夾中文件或文件夾與文件列表中記載之文件是否相同(步驟S5)。若目標(biāo)文件夾中存在與該文件列表中記載之文件不同之文件和文件夾,則刪除該文件和文件夾(步驟S6)。若不存在與該文件列表中記載之文件不同之文件和文件夾,則直接轉(zhuǎn)步驟S7。文件更新模塊33依據(jù)文件列表更新目標(biāo)文件夾中對(duì)應(yīng)位置之文件,對(duì)應(yīng)目標(biāo)文件夾中之文件與文件列表中記載之文件相同則不需要更新(步驟S7)。分析模塊32判斷當(dāng)前目錄是否存在未更新文件之下屬目錄,即該下屬目錄中的文件尚未更新(步驟S8)。若當(dāng)前目錄存在未更新文件之下屬目錄,則將第一個(gè)未更新文件之下屬目錄設(shè)定為當(dāng)前目錄,返回步驟S3(步驟S9)。若當(dāng)前目錄不存在未更新文件之下屬目錄,則判斷該當(dāng)前目錄是否為源文件夾(步驟S10)。若該當(dāng)前目錄不是源文件夾,則將當(dāng)前目錄上一層目錄設(shè)定為當(dāng)前目錄后,返回步驟S8(步驟S11)。若該當(dāng)前目錄為源文件夾,則全部文件更新完畢,遠(yuǎn)程計(jì)算機(jī)文件同步更新流程結(jié)束。
權(quán)利要求
1.一種遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng),包括一本地計(jì)算機(jī)和一遠(yuǎn)程計(jì)算機(jī),由本地計(jì)算機(jī)發(fā)送指令,通過網(wǎng)絡(luò)將遠(yuǎn)程計(jì)算機(jī)系統(tǒng)內(nèi)指定文件夾中包含的文件內(nèi)容與本地計(jì)算機(jī)中指定文件夾中的內(nèi)容進(jìn)行同步更新,其特征在于,上述本地計(jì)算機(jī)包括一路徑指定模塊,用于指定源文件夾和目標(biāo)文件夾的路徑;一文件列表生成模塊,用于依據(jù)源文件夾的目錄樹分層生成文件列表;一發(fā)送模塊,用于發(fā)送文件列表;上述遠(yuǎn)程計(jì)算機(jī)包括一接收模塊,用于接收本地計(jì)算機(jī)傳送的文件列表;一分析模塊,用于讀取文件列表并將文件列表與遠(yuǎn)程計(jì)算機(jī)上對(duì)應(yīng)的文件夾中的文件及文件夾對(duì)比分析,判斷是否相同;一文件更新模塊,用于刪除并更新文件。
2.如權(quán)利要求1所述的遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng),其特征在于,上述文件列表生成模塊生成的文件列表為包含文件夾屬性及文件屬性的數(shù)據(jù)結(jié)構(gòu)。
3.如權(quán)利要求2所述的遠(yuǎn)程計(jì)算機(jī)文件同步更新系統(tǒng),其特征在于,文件列表中包含的文件夾屬性與文件屬性包括有名稱、大小、修改時(shí)間、修改權(quán)限。
4.一種遠(yuǎn)程計(jì)算機(jī)文件同步更新方法,由本地計(jì)算機(jī)發(fā)送指令,通過網(wǎng)絡(luò)將遠(yuǎn)程計(jì)算機(jī)系統(tǒng)內(nèi)指定文件夾中包含的文件內(nèi)容與本地計(jì)算機(jī)中指定文件夾中的內(nèi)容進(jìn)行同步更新,其特征在于,該方法包括如下步驟I.在本地計(jì)算機(jī)上指定源文件夾以及目標(biāo)文件夾之路徑;II.本地計(jì)算機(jī)將源文件夾設(shè)定為當(dāng)前目錄;III.建立包括當(dāng)前目錄底下第一層之子目錄屬性與文件屬性之文件列表;IV.發(fā)送上述文件列表至遠(yuǎn)程計(jì)算機(jī);V.遠(yuǎn)程計(jì)算機(jī)依照文件列表更新當(dāng)前目錄下屬文件;VI.判斷當(dāng)前目錄下屬是否存在未更新文件之子目錄,若存在未更新文件之子目錄,將第一個(gè)未更新文件子目錄設(shè)置為當(dāng)前目錄,重復(fù)步驟III~步驟V;VII.若當(dāng)前目錄下屬不存在未更新之子目錄,則將該當(dāng)前目錄上一層目錄設(shè)定為當(dāng)前目錄,重復(fù)步驟VI至全部文件更新完畢。
5.如權(quán)利要求4所述的遠(yuǎn)程計(jì)算機(jī)文件同步更新方法,其特征在于,遠(yuǎn)程計(jì)算機(jī)依照文件列表更新文件的步驟包括如下子步驟將目標(biāo)文件夾內(nèi)的文件夾及文件與文件列表進(jìn)行比較,判斷文件夾及文件的相關(guān)屬性是否與文件列表中記載的文件與文件夾的屬性相同;刪除目標(biāo)文件夾中不同的文件及文件夾;依照文件列表更新文件。
6.如權(quán)利要求5所述的遠(yuǎn)程計(jì)算機(jī)文件同步更新方法,其特征在于,依照文件列表更新文件的步驟包括如下子步驟更新與文件列表中記載的不同的文件及文件夾,保留與文件列表中記載的相同的文件及文件夾。
7.如權(quán)利要求6所述的遠(yuǎn)程計(jì)算機(jī)文件同步更新方法,其特征在于,文件列表中包含的文件及文件夾的屬性包括有名稱、大小、修改時(shí)間、修改權(quán)限。
全文摘要
本發(fā)明揭露一種遠(yuǎn)程計(jì)算機(jī)文件同步更新的系統(tǒng)及方法,該系統(tǒng)包括通過網(wǎng)絡(luò)連接的本地計(jì)算機(jī)和遠(yuǎn)程計(jì)算機(jī)。本地計(jì)算機(jī)包括一路徑指定模塊,用于指定源文件夾和目標(biāo)文件夾的路徑;一文件列表生成模塊,用于依據(jù)源文件夾的目錄樹分層生成文件列表;一發(fā)送模塊,用于發(fā)送文件列表。遠(yuǎn)程計(jì)算機(jī)包括一接收模塊,用于接收本地計(jì)算機(jī)傳送的文件列表;一分析模塊,用于讀取文件列表并將文件列表與遠(yuǎn)程計(jì)算機(jī)上對(duì)應(yīng)的文件夾中的文件及文件夾對(duì)比分析,判斷是否相同;一文件更新模塊,用于刪除并更新文件。利用本發(fā)明,可以通過網(wǎng)絡(luò)將遠(yuǎn)程計(jì)算機(jī)系統(tǒng)內(nèi)指定文件夾中包含的文件內(nèi)容與本地計(jì)算機(jī)中指定文件夾中的內(nèi)容進(jìn)行同步更新。
文檔編號(hào)G06F9/44GK1786903SQ200410077458
公開日2006年6月14日 申請(qǐng)日期2004年12月11日 優(yōu)先權(quán)日2004年12月11日
發(fā)明者陳勉志 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司