專利名稱:運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種應(yīng)用程序的修復(fù)方法,且特別涉及一種運(yùn)用在分布式網(wǎng)絡(luò)中,通過位于各結(jié)點(diǎn)處的計(jì)算機(jī)相互支援而修復(fù)應(yīng)用程序的方法。
在使用計(jì)算機(jī)的過程中,有時(shí)會(huì)因操作過程的不當(dāng)而使得程序中斷、無法執(zhí)行,或者因中毒而使得某些檔案被病毒感染而破壞,甚至?xí)虿幻鞯負(fù)p失某些功能等等;一旦有類似上述的情形發(fā)生,使用者往往會(huì)采取重新安裝應(yīng)用程序的方式,以求得到徹底的解決。目前的應(yīng)用程序往往體積龐大,并且必須由許許多多不同屬性的檔案互相關(guān)聯(lián)、參照而完成執(zhí)行的操作,一旦程序的運(yùn)行出現(xiàn)了問題,通常難以從其錯(cuò)綜復(fù)雜的檔案關(guān)系中找到其癥結(jié)所在,即使幸運(yùn)地找到了程序損壞的原因,也往往因?yàn)闆]有定時(shí)備份正確的資料,而喪失了直接更正的機(jī)會(huì),因此還是必須回到重新安裝的方式。
由以上可知,在多數(shù)應(yīng)用程序出現(xiàn)問題的情況下,使用者常常會(huì)采取直接重新安裝的方法,如此一來,不但浪費(fèi)了大量不必要的安裝時(shí)間,例如可能只要修復(fù)一個(gè)10KB大小的檔案即可讓程序的運(yùn)作恢復(fù)正常,可是使用者不知道而去重新安裝一個(gè)10MB大的應(yīng)用程序,其間花費(fèi)的時(shí)間可能不只相差1000倍,如此一來會(huì)嚴(yán)重影響使用者的工作效率;此外,有些檔案會(huì)隨著使用者的操作而記錄其環(huán)境設(shè)定等,重新安裝勢(shì)必會(huì)影響使用者之前的操作設(shè)定,造成資料錯(cuò)誤、甚至是資料丟失,而使得問題變得更加地麻煩。
再者,目前大多數(shù)機(jī)關(guān)團(tuán)體內(nèi)部的計(jì)算機(jī)系統(tǒng),大都會(huì)連接成一內(nèi)部網(wǎng)絡(luò)的型式,并且是一種分布式的架構(gòu)方式;也就是說每一網(wǎng)絡(luò)結(jié)點(diǎn)的計(jì)算機(jī),本身會(huì)擁有完整的硬件設(shè)備與軟件程序,它們可以各自獨(dú)立運(yùn)作,也可以通過網(wǎng)絡(luò)的連接而共享某些資源,因此可以理解,在網(wǎng)絡(luò)中應(yīng)有許多不同結(jié)點(diǎn)的計(jì)算機(jī)會(huì)具備某些相同的應(yīng)用程序。
有鑒于此,本發(fā)明的目的是要提出一種以較簡(jiǎn)單、方便的方式來修復(fù)分布式網(wǎng)絡(luò)中各結(jié)點(diǎn)計(jì)算機(jī)的軟件錯(cuò)誤,讓使用者無須再重新安裝應(yīng)用程序。
根據(jù)上述本發(fā)明的目的,提供一種運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,利用分布式網(wǎng)絡(luò)中,各結(jié)點(diǎn)計(jì)算機(jī)的資源獨(dú)立且可以共享的特性,使得當(dāng)其中一結(jié)點(diǎn)計(jì)算機(jī)(稱為客戶端)的資料出現(xiàn)錯(cuò)誤時(shí),可以藉由網(wǎng)絡(luò)發(fā)送一服務(wù)需求,尋求其他結(jié)點(diǎn)計(jì)算機(jī)的幫助;而擁有相同資料的結(jié)點(diǎn)計(jì)算機(jī)(稱為服務(wù)端),則予以回應(yīng)并根據(jù)該服務(wù)需求的內(nèi)容,由本地(Local)系統(tǒng)中復(fù)制正確的資料,并將其發(fā)送至網(wǎng)絡(luò)中讓客戶端計(jì)算機(jī)接收。如此一來,由于各結(jié)點(diǎn)計(jì)算機(jī)間可以相互支援,而使得出現(xiàn)問題的應(yīng)用程序可以自動(dòng)被修復(fù),不須再重新執(zhí)行安裝程序。
為使本發(fā)明的上述和其他目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并結(jié)合附圖,作詳細(xì)說明如下。
圖1A示出了本發(fā)明中服務(wù)端的功能模塊方塊圖;圖1B示出了本發(fā)明中客戶端的功能模塊方塊圖;圖2示出了本發(fā)明中服務(wù)端計(jì)算機(jī)的操作流程圖;圖3A、圖3B示出了本發(fā)明中客戶端計(jì)算機(jī)的操作流程圖;圖4A示出了客戶端消息示意圖;圖4B示出了服務(wù)端消息示意圖;圖5示出了需求列示意圖;圖6示出了發(fā)送列示意圖;以及圖7示出了本發(fā)明所列舉的具體實(shí)施例的硬件架構(gòu)示意圖。
本發(fā)明為一種通過分布式網(wǎng)絡(luò)而支援修復(fù)應(yīng)用程序的方法,是將網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)視為一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),并采用平行設(shè)計(jì)的方式,使得網(wǎng)絡(luò)中某一節(jié)點(diǎn)處的計(jì)算機(jī)(稱為客戶端)出現(xiàn)軟件損壞的問題時(shí),其他節(jié)點(diǎn)處的計(jì)算機(jī)(稱為服務(wù)端)可以支援提供正確的檔案,因而以較簡(jiǎn)單的方式解決軟件問題,不需再重新執(zhí)行安裝操作;亦即本發(fā)明采用標(biāo)準(zhǔn)同步演算法,來完成各計(jì)算機(jī)節(jié)點(diǎn)間的協(xié)調(diào)運(yùn)作。
請(qǐng)參照?qǐng)D1A,圖1A為本發(fā)明中服務(wù)端的功能模塊方塊圖,如圖所示,服務(wù)端計(jì)算機(jī)以一網(wǎng)絡(luò)端口接收模塊101a隨時(shí)監(jiān)測(cè)網(wǎng)絡(luò)中是否有服務(wù)請(qǐng)求,一旦接收到客戶端計(jì)算機(jī)傳送出來的服務(wù)請(qǐng)求,則將該服務(wù)請(qǐng)求傳送給一需求分析模塊102a,通過該需求分析模塊102分析所需檔案的特征,在本地(Local)系統(tǒng)中復(fù)制正確的檔案,然后將上述正確的檔案經(jīng)過一數(shù)據(jù)封裝模塊103a而放在消息表中,并將之插入一發(fā)送列之中,其中發(fā)送列的型態(tài)如圖6所示,之后,將其結(jié)果通過一需求發(fā)送模塊104a發(fā)送到分布式網(wǎng)絡(luò)中,以等待客戶端計(jì)算機(jī)接收利用。
請(qǐng)參照?qǐng)D1B,圖1B為本發(fā)明中客戶端的功能模塊方塊圖,如圖所示,客戶端計(jì)算機(jī)利用一需求提交模塊101b,將計(jì)算機(jī)中關(guān)于損壞軟件的服務(wù)需求自動(dòng)發(fā)送到網(wǎng)絡(luò)中,并且形成需求列依序等待處理,而該需求列的型態(tài)如圖5所示,此時(shí),再由一數(shù)據(jù)封裝模塊102b將待處理的數(shù)據(jù)填寫到消息表中,封裝好的數(shù)據(jù)通過一需求發(fā)送模塊103b發(fā)送到網(wǎng)絡(luò)中,一網(wǎng)絡(luò)端口接收模塊104b會(huì)即時(shí)接收來自網(wǎng)絡(luò)的客戶端需求,并將該需求依照需求列中的先后順序接收到一需求分析模塊105b,通過網(wǎng)絡(luò)傳送有客戶端需求的檔案,送至一檔案恢復(fù)模塊106b,從作為服務(wù)端的計(jì)算機(jī)拷貝正確的資料,進(jìn)行檔案恢復(fù)。
請(qǐng)參照?qǐng)D2,圖2為本發(fā)明中服務(wù)端計(jì)算機(jī)的操作流程圖。首先藉由網(wǎng)絡(luò)端口接收模塊101a,監(jiān)測(cè)服務(wù)端的計(jì)算機(jī)端口(步驟201),查看是否有服務(wù)請(qǐng)求(步驟202),如果沒有,則繼續(xù)監(jiān)測(cè);如果有服務(wù)請(qǐng)求,則接收來自網(wǎng)絡(luò)的數(shù)據(jù)(步驟203),并將數(shù)據(jù)傳送給需求分析模塊102a(步驟204),之后讀取該數(shù)據(jù)所表示的檔案的特征碼(步驟205),并根據(jù)該特征碼搜尋本地(Local)系統(tǒng),掃描本地計(jì)算機(jī)上所有檔案(步驟206),同時(shí)判斷是否有客戶端計(jì)算機(jī)需要的檔案(步驟207),如果沒有,則操作結(jié)束;如果有客戶端計(jì)算機(jī)所需要的檔案,則向該客戶端的計(jì)算機(jī)發(fā)出確認(rèn)消息(步驟208),之后啟動(dòng)數(shù)據(jù)封裝模塊103a(步驟209),依序從上述需求列中讀取一項(xiàng)(步驟210),并且先查看需求列是否為空(步驟211),如果是,則程序結(jié)束;如果否,則根據(jù)需求對(duì)列中讀取的內(nèi)容填寫服務(wù)端消息列表(其結(jié)構(gòu)如圖4B所示)中的訊息識(shí)別碼(MessageID)(步驟212),同時(shí)將數(shù)據(jù)復(fù)制到緩沖區(qū)(Buffer)中,并填寫緩沖區(qū)大小(Buffer Size)(步驟213),將填寫好的消息表插入發(fā)送列之中(步驟214)。此后,只要再依序從需求列中讀取一項(xiàng)(步驟210),并循序執(zhí)行之后的步驟,直到需求列中所有的需求都處理完畢為止。
請(qǐng)參照?qǐng)D3A、圖3B,其為本發(fā)明中客戶端計(jì)算機(jī)的操作流程圖。首先從客戶端所提交的需求檔案列表中依序取出一項(xiàng)內(nèi)容(步驟301),并先判斷檔案列表是否為空(步驟302),如果否,則提取該檔案的格式描述,計(jì)算循環(huán)冗余校驗(yàn)值(步驟303),而生成對(duì)該檔案的描述單元(步驟304),然后將該描述單元插入到需求列之中(步驟305),然后重復(fù)前述步驟,繼續(xù)從客戶端計(jì)算機(jī)所提交的需求檔案列表中取下一項(xiàng)內(nèi)容(步驟301)。判斷檔案列表是否為空(步驟302),如果仍然為否,則繼續(xù)上述的操作,直到客戶端計(jì)算機(jī)所提交的需求檔案列表全部讀取完畢,需求列完成。
接下來從需求列中取出一項(xiàng)(步驟306),亦先判斷需求列是否為空(步驟307),如果是,則程序結(jié)束,表示沒有需要處理的客戶端計(jì)算機(jī)需求;如果否,則根據(jù)該需求填寫客戶端消息表(其結(jié)構(gòu)如圖4A所示)中的訊息識(shí)別碼(Message ID)(步驟308),將相關(guān)數(shù)據(jù)復(fù)制到客戶端消息表的緩沖區(qū)(Buffer)中,并填寫緩沖區(qū)的大小(Buffer Size)(步驟309),將寫好內(nèi)容的消息表插入發(fā)送列中(步驟310),之后通過需求發(fā)送模塊103b將發(fā)送列傳送入網(wǎng)絡(luò)中(步驟311),便完成發(fā)送服務(wù)需求的過程。此后,客戶端計(jì)算機(jī)便通過網(wǎng)絡(luò)端口接收模塊104b,監(jiān)測(cè)客戶端的計(jì)算機(jī)端口(步驟312),以查看網(wǎng)絡(luò)中是否有回應(yīng)傳來(步驟313),如果有,則接收該回應(yīng)(步驟314);如果沒有,則繼續(xù)監(jiān)測(cè)(步驟312)。接收到回應(yīng)后,通過網(wǎng)絡(luò)接收傳送過來的正確檔案(步驟315),將該正確檔案?jìng)魉偷叫枨蠓治瞿K105b(步驟316),并搜尋本地(Local)系統(tǒng)(步驟317),掃描所有檔案(步驟318),判斷是否是客戶端計(jì)算機(jī)需要的檔案?jìng)浞?步驟319),如果是,則將該正確檔案拷貝到客戶端計(jì)算機(jī)的相應(yīng)資料夾中(步驟321),如果沒有,則在網(wǎng)絡(luò)中繼續(xù)發(fā)送需求,尋找其他可以滿足需求的服務(wù)端計(jì)算機(jī)(步驟320)。
上述本發(fā)明所描述的操作過程中,分布式網(wǎng)絡(luò)中的每一節(jié)點(diǎn)處的計(jì)算機(jī)都既可以充當(dāng)服務(wù)端計(jì)算機(jī),又可以充當(dāng)客戶端計(jì)算機(jī)。當(dāng)某一計(jì)算機(jī)有檔案修復(fù)需求時(shí),它就是客戶端,可通過網(wǎng)絡(luò)發(fā)送需求,而其他計(jì)算機(jī)會(huì)適時(shí)響應(yīng)該需求而提供服務(wù),此時(shí)提供服務(wù)的計(jì)算機(jī)就是服務(wù)端。
以下特列舉一具體實(shí)施例,以說明本發(fā)明的運(yùn)作內(nèi)容假設(shè)有一分散網(wǎng)絡(luò),其中包括四個(gè)節(jié)點(diǎn)的計(jì)算機(jī),分別是A、B、C、D,其分布情況如圖7所示。其中,節(jié)點(diǎn)A的計(jì)算機(jī)使用者發(fā)現(xiàn)office應(yīng)用軟件中的Word不能正常使用,事實(shí)上是Wwint132.dll遭到破壞,此時(shí)使用者若是沒有利用本發(fā)明所提供的方法修復(fù),則只能重新安裝Office軟件,才能重新正常使用Word。
相對(duì)地,若是采用本發(fā)明的方法,計(jì)算機(jī)A會(huì)自動(dòng)將自己的服務(wù)需求提交到網(wǎng)絡(luò)上,然后將欲恢復(fù)的軟件的格式描述自動(dòng)取出,經(jīng)循環(huán)冗余校驗(yàn)后生成冗余校驗(yàn)值,與該檔案格式描述組成描述單元,將這個(gè)有需求檔案的特征描述單元插到需求列之中,依序等待,此時(shí)按照需求內(nèi)容填寫消息表,并將填寫好的消息表填入發(fā)送列中,依序由需求發(fā)送模塊在網(wǎng)絡(luò)中發(fā)送。
而分布式網(wǎng)絡(luò)中的其他計(jì)算機(jī)B、C、D,都通過網(wǎng)絡(luò)端口接收模塊101a隨時(shí)監(jiān)測(cè)是否有服務(wù)請(qǐng)求,當(dāng)收到來自計(jì)算機(jī)A的服務(wù)請(qǐng)求后,三臺(tái)計(jì)算機(jī)分別將接收到的數(shù)據(jù)送到各自的需求分析模塊102a,讀取所接收的數(shù)據(jù)檔案的特征碼,然后分別掃描本地系統(tǒng)中所有檔案,查看是否有計(jì)算機(jī)A所需要的Wwint132.dll檔案。經(jīng)確認(rèn)后發(fā)現(xiàn)計(jì)算機(jī)B和計(jì)算機(jī)C中沒有該檔案,則在網(wǎng)絡(luò)中繼續(xù)發(fā)送需求,尋找下一臺(tái)計(jì)算機(jī),此時(shí)確認(rèn)計(jì)算機(jī)D中有該檔案,則計(jì)算機(jī)D向作為客戶端的計(jì)算機(jī)A發(fā)出確認(rèn)消息,并從需求列中將計(jì)算機(jī)A的需求取出,根據(jù)需求列填寫服務(wù)端消息表,包括訊息識(shí)別碼(Message ID)以及緩沖區(qū)(Buffer)等,在緩沖區(qū)中填入計(jì)算機(jī)A所需的正確檔案,之后將該消息列表插入發(fā)送列,向網(wǎng)絡(luò)中發(fā)送。
客戶端計(jì)算機(jī)接收到來自網(wǎng)絡(luò)的回應(yīng)后,會(huì)自動(dòng)掃描客戶端計(jì)算機(jī)本地系統(tǒng),掃描所有檔案,并將由計(jì)算機(jī)D來的正確檔案復(fù)制到計(jì)算機(jī)A中的相應(yīng)資料夾中,如此便完成整個(gè)修復(fù)的過本發(fā)明藉由分布式網(wǎng)絡(luò)中各節(jié)點(diǎn)處的計(jì)算機(jī)的資源獨(dú)立且可以分享的特性,而使得發(fā)生軟件問題的計(jì)算機(jī),可以輕易藉由網(wǎng)絡(luò)而尋求到支援并解決問題,因此不須執(zhí)行重新安裝的程序,可大幅提高使用者的工作效率。
雖然本發(fā)明已以一較佳實(shí)施例披露如上,然其并非用以限定本發(fā)明,本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍的前提下,可作若干更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍以后面所附權(quán)利要求所界定。
權(quán)利要求
1.一種運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,用于利用分布式網(wǎng)絡(luò)中各結(jié)點(diǎn)計(jì)算機(jī)相互支援的手段,而自動(dòng)解決軟件損壞的問題,其包括有步驟自一客戶端計(jì)算機(jī)發(fā)送一修復(fù)軟件的服務(wù)需求至該分布式網(wǎng)絡(luò)中;一服務(wù)端計(jì)算機(jī)接收該服務(wù)需求,并根據(jù)該服務(wù)需求的內(nèi)容,搜尋本地(Local)系統(tǒng)的資料;該服務(wù)端計(jì)算機(jī)由本地系統(tǒng)的資料中復(fù)制一可修復(fù)該損壞軟件的正確檔案,并且將該正確檔案發(fā)送至該分布式網(wǎng)絡(luò)中;以及該客戶端計(jì)算機(jī)經(jīng)由該分布式網(wǎng)絡(luò)取得該正確檔案,并且根據(jù)該正確檔案而修復(fù)該損壞軟件。
2.如權(quán)利要求1所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該客戶端計(jì)算機(jī)發(fā)送該服務(wù)需求的步驟還包括有將描述該損壞軟件的一描述單元,寫入一需求列之中;根據(jù)該需求列中該描述單元的內(nèi)容,將其相關(guān)數(shù)據(jù)填寫于一客戶端消息列表;以及將該客戶端消息列表插入一發(fā)送列而發(fā)送到該分布式網(wǎng)絡(luò)中。
3.如權(quán)利要求2所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該客戶端消息列表包含有客戶端訊息、訊息識(shí)別碼(Message ID)、緩沖區(qū)大小以及緩沖區(qū)內(nèi)容。
4.如權(quán)利要求3所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該緩沖區(qū)內(nèi)容為一字串。
5.如權(quán)利要求2所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該描述單元的形成方式從該客戶端計(jì)算機(jī)所提交的一需求檔案表中,提取該損壞軟件所需檔案的格式描述,并且計(jì)算其循環(huán)多余校驗(yàn)值。
6.如權(quán)利要求1所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該服務(wù)端計(jì)算機(jī)分析該服務(wù)需求中至少一所需檔案的特征,并據(jù)此搜尋本地(Local)系統(tǒng)資料。
7.如權(quán)利要求6所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該所需檔案的特征為其特征碼。
8.如權(quán)利要求1所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該服務(wù)端計(jì)算機(jī)在搜尋本地(Local)系統(tǒng)資料后,還增加一向客戶端計(jì)算機(jī)發(fā)送確認(rèn)訊息的步驟。
9.如權(quán)利要求2所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該服務(wù)端計(jì)算機(jī)根據(jù)該需求列中該描述單元的內(nèi)容,而填寫一服務(wù)端消息列表。
10.如權(quán)利要求9所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中將該服務(wù)端消息列表插入該發(fā)送列之中,并發(fā)送到該分布式網(wǎng)絡(luò)之中。
11.如權(quán)利要求9所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該服務(wù)端消息列表包含有服務(wù)端訊息、訊息識(shí)別碼(Message ID)、緩沖區(qū)大小以及緩沖區(qū)內(nèi)容。
12.如權(quán)利要求11所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該緩沖區(qū)內(nèi)容為一備份檔案。
13.如權(quán)利要求1所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該客戶端計(jì)算機(jī)通過分析其所取得的該正確檔案的特征,以確定該正確檔案與其所發(fā)出的該服務(wù)需求內(nèi)容吻合。
14.如權(quán)利要求1所述的運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,其中該客戶端計(jì)算機(jī)將取得的該正確檔案復(fù)制至其相對(duì)應(yīng)的目錄中,而完成修復(fù)該損壞軟件的步驟。
全文摘要
本發(fā)明為一種運(yùn)用分布式網(wǎng)絡(luò)的應(yīng)用程序修復(fù)方法,應(yīng)用于構(gòu)成分布式網(wǎng)絡(luò)的各個(gè)結(jié)點(diǎn)的計(jì)算機(jī),可以在其中某一計(jì)算機(jī)(稱為客戶端)的應(yīng)用程序損壞時(shí),通過向分布于網(wǎng)絡(luò)的其余各計(jì)算機(jī)(稱為服務(wù)端)請(qǐng)求協(xié)助的手段,進(jìn)而修復(fù)損壞的應(yīng)用程序;因此,使用者無須煩惱應(yīng)用程序的問題所在,且不須執(zhí)行重新安裝的程序,可以大幅提高使用者的工作效率。
文檔編號(hào)G06F1/16GK1369757SQ0110461
公開日2002年9月18日 申請(qǐng)日期2001年2月15日 優(yōu)先權(quán)日2001年2月15日
發(fā)明者陳玄同, 林光信 申請(qǐng)人:英業(yè)達(dá)股份有限公司