欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

粒度可控的對象串行化存儲文件的修復(fù)方法、設(shè)備及系統(tǒng)的制作方法

文檔序號:7656299閱讀:136來源:國知局
專利名稱:粒度可控的對象串行化存儲文件的修復(fù)方法、設(shè)備及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機面向?qū)ο缶幊烫幚砑夹g(shù)領(lǐng)域,尤其涉及粒度可控的對象 串行化存儲文件的修復(fù)方法、設(shè)備及系統(tǒng)。
背景技術(shù)
在計算機面向?qū)ο缶幊烫幚砑夹g(shù)中,串行化(serialization,也稱序列化) 是指將對象從一種表示或者格式向另一種表示或者格式進行轉(zhuǎn)換。串行化一般 包括雙向過程即將對象從初始表示轉(zhuǎn)換為其它表示,在需要時再將其它表示 轉(zhuǎn)換回初始表示。其中,也可以將對象從其它表示轉(zhuǎn)換回初始表示的過程稱為 反串行化。反串行化是相對于串行化的過程來定義的,反串行化和串行化均可 被統(tǒng)一稱為串行化。串行化主要用于數(shù)據(jù)的存儲和恢復(fù)(也可認(rèn)為是保存和讀 取,即I/O)過程中。在串行化處理過程中,作為 一個整體被串行化或者反串行化的最小單元, 稱為串行化粒度。通常情況下,作為一個整體被串行化或者反串行化的最小單 元可以是對象圖形中的單個對象,也可以是整個對象圖形?,F(xiàn)有技術(shù)提供兩種方式實現(xiàn)串行化內(nèi)存中的 一個對象;一、 一次性地保存或者加載(恢復(fù))該對象及被該對象直接或間接引用的 所有對象,即以整個對象圖形作為串行化粒度進行串行化或者反串行化操作。二、 以單個對象為串行化粒度進行串行化或者反串行化操作。通常通過一 個串行化管理模塊為每個串行化單位(即每個對象)分配一個對應(yīng)的標(biāo)識,串 行化時用這些標(biāo)識代表被引用對象寫入串行化數(shù)據(jù)流,反串行化時通過這些標(biāo) 識查找相應(yīng)的被引用對象,進而恢復(fù)整個對象圖形。該方法也稱為粒度可控的 對象串行化技術(shù)。
發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)存在如下^支術(shù)需求在對象進行串行化的過程中,由于各種原因(如軟件或者硬件的故障), 可能會導(dǎo)致串行化過程的異常終止或者失敗,從而使串行化存儲文件出現(xiàn)錯 誤。在粒度可控的對象串行化過程中,如果存儲文件發(fā)生了錯誤,常常表現(xiàn)為 存儲文件的某個(或者幾個)文件流出現(xiàn)了錯誤,而存儲文件的其它部分是正 確的。也就是說,在整個對象圖形中,只有幾個對象不能夠^L正確反序列化, 而大部分的對象能夠被正確的反序列化。雖然只有幾個對象不能夠被正確反序 列化,卻仍然可能造成嚴(yán)重的后果,例如可能會導(dǎo)致用戶重要數(shù)據(jù)的丟失,更 甚者可能會導(dǎo)致系統(tǒng)不能夠重新啟動,以至于整個系統(tǒng)不可用。因此,需要提 供一種粒度可控的對象串行化存儲文件的修復(fù)方案,保證粒度可控的對象串行 化存儲文件中出現(xiàn)的錯誤能夠被正確修復(fù)。發(fā)明內(nèi)容本發(fā)明實施例提供一種粒度可控的對象串行化存儲文件的修復(fù)方法、設(shè)備 及系統(tǒng),用以保證粒度可控的對象串行化存儲文件中出現(xiàn)的錯誤能夠被正確修復(fù)。本發(fā)明實施例提供一種粒度可控的對象串行化存儲文件的修復(fù)方法,該方法包括服務(wù)器向客戶端設(shè)備提供指示信息,所述指示信息指示粒度可控的對象串 行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修復(fù);客戶端設(shè)備根據(jù)所述指示信息確定所述第一對象能夠被自動修復(fù)時,通知 服務(wù)器對所述第一對象進行自動修復(fù);服務(wù)器根據(jù)所述存儲文件中,與所述第 一對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息,對所述第一對象進行 修復(fù);客戶端設(shè)備根據(jù)所述指示信息確定所述第一對象不能被自動修復(fù),或確定 服務(wù)器自動修復(fù)失敗時,通知服務(wù)器對所述第一對象進行手工修復(fù);服務(wù)器將 所述其它對象的信息提供給客戶端設(shè)備進行篩選,并根據(jù)客戶端設(shè)備的篩選結(jié) 果,對所述第一對象進行修復(fù)。本發(fā)明實施例還提供一種客戶端設(shè)備,包括第一接收模塊,用于接收服務(wù)器提供的指示信息,所述指示信息指示粒度 可控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修復(fù);接收服務(wù)器的自動修復(fù)結(jié)果;接收服務(wù)器提供的所述存儲文件中,與所述 第 一對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息;確定模塊,用于根據(jù)所述指示信息,確定所述第一對象是否能夠被自動修 復(fù);根據(jù)所述自動修復(fù)結(jié)果,確定服務(wù)器是否自動修復(fù)成功;篩選模塊,用于對所述其它對象的信息進行篩選;第一發(fā)送模塊,用于在確定所述第一對象能夠被自動修復(fù)時,通知服務(wù)器 對所述第一對象進行自動修復(fù);確定所述第一對象不能被自動修復(fù),或確定服 務(wù)器自動修復(fù)失敗時,通知服務(wù)器對所述第一對象進行手工修復(fù);向服務(wù)器提 供對所述其它對象的信息的篩選結(jié)果。本發(fā)明實施例還提供一種服務(wù)器,包括第二發(fā)送模塊,用于向客戶端設(shè)備提供指示信息,所述指示信息指示粒度 可控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修 復(fù);將所述存儲文件中,與所述第一對象相關(guān)聯(lián)的、并且反串行化成功的其它 對象的信息提供給客戶端設(shè)備;第二接收模塊,用于接收客戶端設(shè)備的自動修復(fù)通知或手工修復(fù)通知;接 收客戶端設(shè)備對所述其它對象的篩選結(jié)果;修復(fù)模塊,用于在接收到客戶端設(shè)備的自動修復(fù)通知后,根據(jù)所述其它對 象的信息,對所述第一對象進行修復(fù);在接收到客戶端設(shè)備的手工修復(fù)通知后, 根據(jù)客戶端設(shè)備的篩選結(jié)果,對所述第 一對象進行修復(fù)。本發(fā)明實施例還提供一種粒度可控的對象串行化存儲文件的修復(fù)系統(tǒng),包括
客戶端設(shè)備,用于接收指示信息,所述指示信息指示粒度可控的對象串行化存儲文件中,反串行化失敗的第一對象是否能夠被自動修復(fù);根據(jù)所述指示信息,確定所述第一對象能夠被自動修復(fù)時,通知對所述第一對象進行自動修復(fù);根據(jù)所述指示信息確定所述第一對象不能被自動修復(fù),或確定自動修復(fù)失 敗時,通知對所述第一對象進行手工修復(fù);接收所述存儲文件中,與所述第一 對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息并進行篩選;服務(wù)器,用于向客戶端設(shè)備發(fā)送所述指示信息;接收客戶端設(shè)備的自動修 復(fù)通知,根據(jù)所述其它對象的信息,對所述第一對象進行修復(fù);接收客戶端設(shè) 備的手工修復(fù)通知,將所述其它對象的信息提供給客戶端設(shè)備進行篩選,根據(jù) 客戶端設(shè)備對所述其它對象的信息的篩選結(jié)果,對所述第一對象進行修復(fù)。本發(fā)明實施例中,服務(wù)器向客戶端設(shè)備提供指示信息,所述指示信息指示 粒度可控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動 修復(fù);客戶端設(shè)備可以根據(jù)所述指示信息,通知服務(wù)器對所述第一對象進行自 動修復(fù)或手工修復(fù),以確保存儲文件中出現(xiàn)的錯誤能夠被正確修復(fù);客戶端設(shè) 備確定所述第一對象能夠被自動修復(fù)時,通知服務(wù)器對所述第一對象進行自動 修復(fù);服務(wù)器根據(jù)所述存儲文件中,與所述第一對象相關(guān)聯(lián)的、并且反串行化 成功的其它對象的信息,對所述第一對象進行修復(fù),從而使客戶端設(shè)備無需再 進行其它操作即可完成修復(fù),可以節(jié)省修復(fù)時間,提高修復(fù)效率;客戶端設(shè)備 根據(jù)所述指示信息確定所述第一對象不能被自動修復(fù),或確定服務(wù)器自動修復(fù) 失敗時,通知服務(wù)器對所述第一對象進行手工修復(fù);服務(wù)器將所述其它對象的 信息提供給客戶端設(shè)備進行篩選,并根據(jù)客戶端設(shè)備的篩選結(jié)果,對所述第一 對象進行修復(fù),可以在不能自動修復(fù)或自動修復(fù)失敗的情況下,通過引入客戶 端設(shè)備操作確保修復(fù)成功,因此,利用本發(fā)明實施例方法對存儲文件中出現(xiàn)的 錯誤的修復(fù)成功率纟艮高。


圖1為本發(fā)明實施例中修復(fù)粒度可控的對象串行化存儲文件的處理流程圖;圖2為本發(fā)明實施例中修復(fù)粒度可控的對象串行化存儲文件的具體實例的 處理流程圖;圖3為本發(fā)明實施例中傳送線性表的XML格式的數(shù)據(jù)流示意圖;圖4、圖5為本發(fā)明實施例中集合類對象的示意圖;圖6為本發(fā)明實施例中集合類對象的XML流的格式示意圖;圖7為本發(fā)明實施例中客戶端設(shè)備的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例中服務(wù)器的結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例中粒度可控的對象串行化存儲文件的修復(fù)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明實施例方法進行詳細(xì)說明。由于大部分對象是能夠被正確反串行化的,而對象之間一般是有關(guān)聯(lián)的, 因此本發(fā)明實施例中,考慮通過那些能夠被正確反序列化的對象去修復(fù)那些不 能夠被正確反序列化的對象。如圖l所示,本發(fā)明實施例中, 一種修復(fù)粒度可 控的對象串行化存儲文件的處理流程如下步驟ll、服務(wù)器向客戶端設(shè)備提供指示信息,其中,指示信息指示粒度可 控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修復(fù)。步驟12、客戶端設(shè)備根據(jù)接收的指示信息,確定第一對象是否能夠被自動 修復(fù),若是,執(zhí)行步驟13,否則執(zhí)行步驟15。步驟13、客戶端設(shè)備確定第一對象能夠被自動修復(fù)時,通知服務(wù)器對第一 對象進行自動修復(fù)。步驟14、服務(wù)器根據(jù)存儲文件中,與第一對象相關(guān)聯(lián)的、并且反串行化成 功的其它對象的信息,對第一對象進行修復(fù)。
步驟15、客戶端設(shè)備確定第一對象不能被自動修復(fù),或確定服務(wù)器自動修 復(fù)失敗時,通知服務(wù)器對第一對象進行手工修復(fù)。步驟16、服務(wù)器將其它對象的信息提供給客戶端設(shè)備。 步驟17、客戶端設(shè)備對接收的其它對象的信息進行篩選,并將篩選結(jié)果返 回給服務(wù)器。步驟18、服務(wù)器根據(jù)客戶端設(shè)備的篩選結(jié)果,對第一對象進行修復(fù)。本發(fā)明實施例中,存儲文件為二進制格式的存儲文件。在步驟11中,服務(wù)器可以通過IIS+HTTP協(xié)議(Internet Information Service, Internet信息服務(wù);HyperText Transfer Protocol ,超文本傳輸協(xié)議)、Socket (套 接字)通信方式、WebSevices (網(wǎng)絡(luò)服務(wù))通信方式之一向客戶端設(shè)備提供指 示信息。 一個實施例中,服務(wù)器可以將指示信息攜帶在數(shù)據(jù)結(jié)構(gòu)中提供給客戶 端設(shè)備。該數(shù)據(jù)結(jié)構(gòu)可以為線性表、鏈表、哈希表其中之一。在步驟16中,服務(wù)器可以將其它對象的信息通過XML( extensible Markup Language可擴展標(biāo)記語言)格式的數(shù)據(jù)流提供給客戶端設(shè)備進行篩選。 一個 實施例中,其它對象的信息包括其它對象的存儲標(biāo)識、類型、可串行化字段、 對其它對象的引用其中之一或任意組合。在步驟18中,服務(wù)器根據(jù)客戶端設(shè)備的篩選結(jié)果,對第一對象進行修復(fù) 可以包括客戶端設(shè)備成功篩選出對象信息并提供給服務(wù)器,服務(wù)器根據(jù)客戶 端設(shè)備篩選出的對象信息,對第一對象進行修復(fù);或者,客戶端設(shè)備篩選失敗, 向服務(wù)器提供存儲文件的副本,服務(wù)器根據(jù)該副本,對第一對象進行修復(fù)。下面給出 一個修復(fù)粒度可控的對象串行化存儲文件的具體實例如圖2所示,本實例中修復(fù)粒度可控的對象串行化存儲文件的處理流程如下步驟21、服務(wù)器反串行化粒度可控的對象串行化存儲文件中所有的對象, 記錄出錯的對象及其錯誤原因。實施中,客戶端設(shè)備可以通過網(wǎng)絡(luò)通信協(xié)議,請求服務(wù)器對存儲文件進行
分析。在本實例中,客戶端設(shè)備與服務(wù)器的通信是通過IIS來完成的,客戶端設(shè)備通過請求服務(wù)器端的ASPX ( Active Server Page Extension,動態(tài)服務(wù)器頁 面擴展)頁面,來獲得與服務(wù)器通信的能力;服務(wù)器接收到請求后對存儲文件進行分析,根據(jù)串行化粒度反串行化所有 的對象。如果發(fā)現(xiàn)某個對象不能夠被正確反串行化,將該對象的標(biāo)識和失敗的 原因記錄到一個列表中。在本實例中,列表釆用簡單的線性表,通過一個簡單 的XML格式的數(shù)據(jù)流回傳給客戶端設(shè)備,如圖3所示。步驟22、服務(wù)器將錯誤對象列表傳遞給客戶端設(shè)備。實施中,服務(wù)器可以 將每個對象是否能夠自動修復(fù)的指示信息(如一標(biāo)志位)加入到列表中,然后把列表封裝到HTTP協(xié)議的響應(yīng)包中,傳遞給客戶端設(shè)備。步驟23、第四步,客戶端設(shè)備根據(jù)每個對象對應(yīng)的指示信息(如是否具有 自動修復(fù)標(biāo)志),決定通知服務(wù)器自動修復(fù)該對象或手工修復(fù)該對象。若需通 知自動修復(fù),則執(zhí)行步驟24,否則執(zhí)行步驟26。步驟24、客戶端設(shè)備通知服務(wù)器自動修復(fù)對象;服務(wù)器根據(jù)客戶端設(shè)備通 知,進行自動修復(fù)。實施中,客戶端設(shè)備選擇自動修復(fù)對象后,可以向服務(wù)器 發(fā)出"自動修復(fù)"的命令。服務(wù)器接收到自動修復(fù)的命令后,進行自動修復(fù)。在本實施例中,針對單純的集合類的對象,采用了自動修復(fù)的方式。如圖4所示,假設(shè)Parent對象是一個簡單的集合對象,只包含一個Child 對象的列表,沒有其它的成員變量。并且,Parent對象和Child對象都是作為 粒度單獨進行串行化的。Parent對象包含有三個對象,分別是Childl、 Child2 和Child3。在反串行化時,如果Parent對象對應(yīng)的文件流已被損壞,那么Parent 的對象就不能夠被正確的反串行化。但是,如果Childl、 Child2和CMld3對應(yīng) 的文件流是正確的,就可以將這些Child對象正確的反序列化,然后生成一個 空的Parent對象,并將這些Child對象加入到新生成的Parent對象中。這樣處 理可以使新生成的Parent對象和原有的Parent對象一致,以此到達修復(fù)Parent 對象的目的。
又如圖5所示,UserList對象包含三個User對象,這三個User對象的名 字分別為小張,小王和小李。如果在反串行化UserList對象的時候失敗了, 可以生成一個新的UserList的對象,使兩UserList對象的Add(User)方法,將 小張,小王和小李這三個User對象加入到新的UserList對象中。這樣生成的 新的UserList對象和原來的UserList對象是一樣的,將新的UserList對象串行 化到原來的存儲文件中,達到了修復(fù)UserList的對象的目的。步驟25、服務(wù)器判斷是否自動修復(fù)成功,如果修復(fù)成功,則對該對象的修 復(fù)完成,執(zhí)行步驟31;如果修復(fù)失敗,向客戶端設(shè)備返回"修復(fù)失敗"的響應(yīng), 繼續(xù)執(zhí)行步驟26。。步驟26、客戶端設(shè)備向服務(wù)器發(fā)送手工修復(fù)命令。步驟27、客戶端設(shè)備選擇手工修復(fù)對象,向服務(wù)器請求于被修復(fù)對象的相 關(guān)的其它幫助對象內(nèi)容。步驟28、服務(wù)器接收到客戶端設(shè)備的請求后,查找與該對象類型直接相關(guān) 聯(lián)的對象類型的所有實例,將所有的實例對象以粒度為基本單位,生成相應(yīng)的 XML流,然后傳遞給客戶端設(shè)備。以圖5所示的UserList對象為例, 一個對象的XML流的4各式如圖6所示。 從圖6中的XML流可以看出,UserList對象的存儲ID為374,類型為UserList。 UserList對象包含了一個字段Jist,它包含了三個User對象。這里并沒有包含 User對象的實際數(shù)據(jù),而只是包含了這三個對象的引用,這也是能修復(fù)這個對 象的必要條件。步驟29、客戶端設(shè)備在收到服務(wù)器傳遞過來的幫助對象內(nèi)容后,可以對幫 助對象進行篩選,例如,先展示給用戶,由用戶決定哪些是有用的信息。在本 實例中,對象的呈現(xiàn)方式為粒度對象之間一種樹的呈現(xiàn)方式,通過雙擊節(jié)點或 者點擊節(jié)點右鍵菜單,又將展開另一棵樹,該樹描述了節(jié)點對象的串行化內(nèi)容。步驟30、用戶對幫助對象進行篩選,根據(jù)幫助對象的內(nèi)容生成新的對象, 例如,利用這些有用的信息,填充修改被修復(fù)的對象內(nèi)容??蛻舳嗽O(shè)備將用戶 的篩選結(jié)果回傳給服務(wù)器;服務(wù)器根據(jù)客戶端設(shè)備提供的篩選結(jié)果,修復(fù)對象內(nèi)容。實施中,如果用戶認(rèn)為這些信息不足以修復(fù)該對象,將進行副本修復(fù)???戶端設(shè)備在進行副本^^復(fù)時,它要向服務(wù)器傳遞存儲文件副本的版本。服務(wù)器 根據(jù)指定的版本生成需要修復(fù)的對象,將該對象的內(nèi)容傳遞給客戶端設(shè)備進行 確認(rèn)。實施中,存儲文件可以包含多個副本,副本文件的名字為原存儲文件的 名字后面加上"副本"兩個字,然后加上版本數(shù)字。服務(wù)器通過指定副本的名字,找到了該文件。然后,在該副本文件中查找待修復(fù)對象的ID對象的數(shù)據(jù)流。服務(wù)器根據(jù)找到的數(shù)據(jù)流,反串行化出來該對象,然后將該對象的內(nèi)容傳 遞給客戶端設(shè)備進行確認(rèn)??蛻舳嗽O(shè)備對傳遞過來的對象內(nèi)容進行確認(rèn)。如果客戶端設(shè)備認(rèn)為不滿足 要求,它將繼續(xù)給服務(wù)器發(fā)送新的副本版本,服務(wù)器根據(jù)新的副本版本進行修 復(fù),直到客戶端設(shè)備滿意為止。步驟31、服務(wù)器將新的內(nèi)容寫到原來的流中,達到了修復(fù)對象的目的。 基于同一發(fā)明構(gòu)思,本發(fā)明實施例還提供一種客戶端設(shè)備,其結(jié)構(gòu)如圖7 所示,包括第一接收模塊71、確定模塊72、篩選模塊73、第一發(fā)送模塊74; 其中,第一接收模塊71,用于接收服務(wù)器提供的指示信息,該指示信息指示粒 度可控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修 復(fù);接收服務(wù)器的自動修復(fù)結(jié)果;接收服務(wù)器提供的存儲文件中,與第一對象 相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息;確定模塊72,用于根據(jù)指示 信息,確定第一對象是否能夠被自動修復(fù);根據(jù)自動修復(fù)結(jié)果,確定服務(wù)器是 否自動修復(fù)成功;篩選模塊73,用于對其它對象的信息進行篩選;第一發(fā)送模 塊74,用于在確定第一對象能夠被自動修復(fù)時,通知服務(wù)器對第一對象進行自 動修復(fù);確定第一對象不能被自動修復(fù),或確定服務(wù)器自動修復(fù)失敗時,通知 服務(wù)器對第一對象進行手工修復(fù);向服務(wù)器提供對其它對象的信息的篩選結(jié) 果。
一個實施例中,篩選模塊73成功篩選出對象信息時,第一發(fā)送模塊74還可發(fā)用于向服務(wù)器提供篩選出的對象信息;篩選模塊73篩選失敗時,第一發(fā)送模塊74還可以用于向服務(wù)器提供存儲文件的副本。基于同一發(fā)明構(gòu)思,本發(fā)明實施例還提供一種服務(wù)器,其結(jié)構(gòu)如圖8所示, 包括第二發(fā)送模塊81、第二接收模塊82、修復(fù)模塊83;其中,第二發(fā)送模 塊81,用于向客戶端設(shè)備提供指示信息,指示信息指示粒度可控的對象串行化 存儲文件中,反串行化失敗的第一對象是否能夠被自動修復(fù);將存儲文件中, 與第 一對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息提供給客戶端設(shè) 備;第二接收模塊82,用于接收客戶端設(shè)備的自動修復(fù)通知或手工修復(fù)通知; 接收客戶端設(shè)備對其它對象的篩選結(jié)果;修復(fù)模塊83,用于在接收到客戶端設(shè) 備的自動修復(fù)通知后,根據(jù)其它對象的信息,對第一對象進行修復(fù);在接收到 客戶端設(shè)備的手工修復(fù)通知后,根據(jù)客戶端設(shè)備的篩選結(jié)果,對第一對象進行 修復(fù)。一個實施例中,第二發(fā)送模塊81還可以用于通過IIS+HTTP協(xié)議、Socket 通信方式、Web Sevices通信方式之一向客戶端設(shè)備提供指示信息。第二發(fā)送模塊81還可以用于將指示信息攜帶在數(shù)據(jù)結(jié)構(gòu)中提供給客戶端 設(shè)備。第二發(fā)送模塊81還可以用于將其它對象的信息通過XML格式的數(shù)據(jù)流提 供給客戶端設(shè)備。第二接收模塊82還可以用于接收客戶端設(shè)備成功篩選出的對象信息;修 復(fù)模塊83還可以用于根據(jù)客戶端設(shè)備篩選出的對象信息,對第一對象進行修 復(fù);第二接收模塊82還可以用于接收客戶端設(shè)備篩選失敗的通知,及提供的 存儲文件的副本;修復(fù)模塊83還可以用于根據(jù)副本,對第一對象進行修復(fù)?;谕话l(fā)明構(gòu)思,本發(fā)明實施例還提供一種粒度可控的對象串行化存儲 文件的修復(fù)系統(tǒng),其結(jié)構(gòu)如圖9所示,包括客戶端設(shè)備91、服務(wù)器92;其 中,客戶端設(shè)備91,用于接收指示信息,指示信息指示粒度可控的對象串行化 存儲文件中,反串行化失敗的第一對象是否能夠被自動修復(fù);根據(jù)指示信息,確定第一對象能夠被自動修復(fù)時,通知對第一對象進行自動修復(fù);根據(jù)指示信息確定第一對象不能被自動修復(fù),或確定自動修復(fù)失敗時,通知對第一對象進行手工修復(fù);接收存儲文件中,與第一對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息并進^f亍篩選。服務(wù)器92,用于向客戶端設(shè)備91發(fā)送指示信息;接收客戶端設(shè)備91的自 動修復(fù)通知,根據(jù)其它對象的信息,對第一對象進行修復(fù);接收客戶端設(shè)備91 的手工修復(fù)通知,將其它對象的信息提供給客戶端設(shè)備91進行篩選,根據(jù)客 戶端設(shè)備91對其它對象的信息的篩選結(jié)果,對第一對象進行修復(fù)。本領(lǐng)域普通技術(shù)人員可以理解上述實施例方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件完成,該程序可以存儲于一計算機可讀存儲介質(zhì) 中,存儲介質(zhì)可以包括ROM、 RAM、磁盤或光盤等。本發(fā)明實施例中,服務(wù)器向客戶端設(shè)備提供指示信息,所述指示信息指示 粒度可控的對象串行化存儲文件中,反串行化失敗的第一對象是否能夠被自動 修復(fù);客戶端設(shè)備可以根據(jù)所述指示信息,通知服務(wù)器對所述第一對象進行自 動修復(fù)或手工修復(fù),以確保存儲文件中出現(xiàn)的錯誤能夠被正確修復(fù);客戶端設(shè) 備確定所述第一對象能夠被自動修復(fù)時,通知服務(wù)器對所述第一對象進行自動 修復(fù);服務(wù)器根據(jù)所述存儲文件中,與所述第一對象相關(guān)聯(lián)的、并且反串行化 成功的其它對象的信息,對所述第一對象進行修復(fù),從而使客戶端設(shè)備無需再 進行其它操作即可完成修復(fù),可以節(jié)省修復(fù)時間,提高修復(fù)效率;客戶端設(shè)備 根據(jù)所述指示信息確定所述第一對象不能被自動修復(fù),或確定服務(wù)器自動修復(fù) 失敗時,通知服務(wù)器對所述第一對象進行手工修復(fù);服務(wù)器將所述其它對象的 信息提供給客戶端設(shè)備進行篩選,并根據(jù)客戶端設(shè)備的篩選結(jié)果,對所述第一 對象進行修復(fù),可以在不能自動修復(fù)或自動修復(fù)失敗的情況下,通過引入客戶 端設(shè)備操作確保修復(fù)成功,因此,利用本發(fā)明實施例方法對存儲文件中出現(xiàn)的 錯誤的修復(fù)成功率纟艮高。
另 一方面,本發(fā)明實施例中修復(fù)對象所在的粒度可控的串行化存儲文件為 二進制格式的存儲文件。而本發(fā)明實施例方法充分利用了粒度的概念,以粒度 為基本單位,將難以理解的二進制數(shù)據(jù)以直觀的方式展示給用戶看,為用戶直 接修改對象的內(nèi)容提供了基礎(chǔ);又通過給出關(guān)聯(lián)對象的內(nèi)容,為用戶正確的修 復(fù)對象提供了有力的幫助。因此,采用本發(fā)明實施例方法,可以高效、直觀地對損壞的粒度可控的對 象串行化存儲文件進行修復(fù),保證重要的用戶數(shù)據(jù)的完整性和系統(tǒng)的穩(wěn)定性。明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、 一種粒度可控的對象串行化存儲文件的修復(fù)方法,其特征在于,該方法包括服務(wù)器向客戶端設(shè)備提供指示信息,所述指示信息指示粒度可控的對象串 行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修復(fù);客戶端設(shè)備根據(jù)所述指示信息確定所述第一對象能夠一皮自動修復(fù)時,通知 服務(wù)器對所述第一對象進行自動修復(fù);服務(wù)器根據(jù)所述存儲文件中,與所述第 一對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息,對所述第一對象進行 修復(fù);客戶端設(shè)備根據(jù)所述指示信息確定所述第 一對象不能#皮自動修復(fù),或確定 服務(wù)器自動修復(fù)失敗時,通知服務(wù)器對所述第一對象進行手工修復(fù);服務(wù)器將 所述其它對象的信息提供給客戶端設(shè)備進行篩選,并根據(jù)客戶端設(shè)備的篩選結(jié) 果,對所述第一對象進行修復(fù)。
2、 如權(quán)利要求1所述的方法,其特征在于,所述存儲文件為二進制格式 的存儲文件。
3、 如權(quán)利要求1所述的方法,其特征在于,服務(wù)器向客戶端設(shè)備提供指 示信息是指服務(wù)器通過IIS+HTTP協(xié)議、Socket通信方式、Web Sevices通信 方式之一向客戶端設(shè)備提供所述指示信息。
4、 如權(quán)利要求1所述的方法,其特征在于,服務(wù)器向客戶端設(shè)備提供指 示信息是指服務(wù)器將所述指示信息攜帶在數(shù)據(jù)結(jié)構(gòu)中提供給客戶端設(shè)備。
5、 如權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)結(jié)構(gòu)為線性表、鏈 表、哈希表其中之一。
6、 如權(quán)利要求1所述的方法,其特征在于,服務(wù)器將所述其它對象的信 息通過XML 4各式的數(shù)據(jù)流提供給客戶端設(shè)備進行篩選。
7、 如權(quán)利要求1所述的方法,其特征在于,所述其它對象的信息包括所述其它對象的存儲標(biāo)識、類型、可串行化字段、對所述其它對象的引用其中之 一或4壬意組合。
8、 如權(quán)利要求1所述的方法,其特征在于,服務(wù)器根據(jù)客戶端設(shè)備的篩選結(jié)果,對所述第一對象進行修復(fù)包括客戶端設(shè)備成功篩選出對象信息并提供給服務(wù)器,服務(wù)器根據(jù)客戶端設(shè)備 篩選出的對象信息,對所述第一對象進行修復(fù);客戶端設(shè)備篩選失敗,向服務(wù)器提供所述存儲文件的副本,服務(wù)器根據(jù)所 述副本,對所述第一對象進行修復(fù)。
9、 一種客戶端設(shè)備,其特征在于,包括第一接收模塊,用于接收服務(wù)器提供的指示信息,所述指示信息指示粒度 可控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修 復(fù);接收服務(wù)器的自動修復(fù)結(jié)果;接收服務(wù)器提供的所述存儲文件中,與所述 第 一對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息;確定模塊,用于根據(jù)所述指示信息,確定所述第一對象是否能夠被自動修 復(fù);根據(jù)所述自動修復(fù)結(jié)果,確定服務(wù)器是否自動^f奮復(fù)成功;篩選模塊,用于對所述其它對象的信息進行篩選;第一發(fā)送模塊,用于在確定所述第一對象能夠被自動修復(fù)時,通知服務(wù)器 對所述第一對象進行自動修復(fù);確定所述第一對象不能被自動修復(fù),或確定服 務(wù)器自動修復(fù)失敗時,通知服務(wù)器對所述第一對象進行手工修復(fù);向服務(wù)器提 供對所述其它對象的信息的篩選結(jié)果。
10、 如權(quán)利要求9所述的客戶端設(shè)備,其特征在于,所述篩選模塊成功篩 選出對象信息時,所述第一發(fā)送模塊進一步用于向服務(wù)器提供篩選出的對象信 息;所述篩選模塊篩選失敗時,所述第一發(fā)送模塊進一步用于向服務(wù)器提供所 述存儲文件的副本。
11、 一種服務(wù)器,其特征在于,包括第二發(fā)送模塊,用于向客戶端設(shè)備提供指示信息,所述指示信息指示粒度可控的對象串行化存儲文件中,反串行化失敗的第 一對象是否能夠被自動修復(fù);將所述存儲文件中,與所述第一對象相關(guān)聯(lián)的、并且反串行化成功的其它 對象的信息提供給客戶端設(shè)備;第二接收模塊,用于接收客戶端設(shè)備的自動修復(fù)通知或手工修復(fù)通知;接 收客戶端設(shè)備對所述其它對象的篩選結(jié)果;修復(fù)模塊,用于在接收到客戶端設(shè)備的自動修復(fù)通知后,根據(jù)所述其它對 象的信息,對所述第一對象進行修復(fù);在接收到客戶端設(shè)備的手工修復(fù)通知后, 根據(jù)客戶端設(shè)備的篩選結(jié)果,對所迷第一對象進行修復(fù)。
12、 如權(quán)利要求11所述的服務(wù)器,其特征在于,所述第二發(fā)送模塊進一 步用于通過IIS+HTTP協(xié)議、Socket通信方式、Web Sevices通信方式之一向客 戶端設(shè)備提供所述指示信息。
13、 如權(quán)利要求11所述的服務(wù)器,其特征在于,所述第二發(fā)送模塊進一 步用于將所述指示信息攜帶在數(shù)據(jù)結(jié)構(gòu)中提供給客戶端設(shè)備。
14、 如權(quán)利要求11所述的服務(wù)器,其特征在于,所述第二發(fā)送模塊進一 步用于將所述其它對象的信息通過XML格式的數(shù)據(jù)流提供給客戶端設(shè)備。
15、 如權(quán)利要求11所述的服務(wù)器,其特征在于,所述第二接收模塊進一 步用于接收客戶端設(shè)備成功篩選出的對象信息;所述修復(fù)模塊進一步用于根據(jù) 客戶端設(shè)備篩選出的對象信息,對所述第 一對象進行修復(fù);所述第二接收模塊進一步用于接收客戶端設(shè)備篩選失敗的通知,及提供的 所述存儲文件的副本;所述修復(fù)模塊進一步用于根據(jù)所述副本,對所述第一對 象進行修復(fù)。
16、 一種粒度可控的對象串行化存儲文件的修復(fù)系統(tǒng),其特征在于,包括 客戶端設(shè)備,用于接收指示信息,所述指示信息指示粒度可控的對象串行化存儲文件中,反串行化失敗的第一對象是否能夠被自動修復(fù);根據(jù)所述指示 信息,確定所述第一對象能夠被自動修復(fù)時,通知對所述第一對象進行自動修 復(fù);根據(jù)所述指示信息確定所述第一對象不能被自動修復(fù),或確定自動修復(fù)失 敗時,通知對所述第一對象進行手工修復(fù);接收所述存儲文件中,與所述第一 對象相關(guān)聯(lián)的、并且反串行化成功的其它對象的信息并進行篩選;服務(wù)器,用于向客戶端設(shè)備發(fā)送所述指示信息;接收客戶端設(shè)備的自動修 復(fù)通知,根據(jù)所述其它對象的信息,對所述第一對象進行修復(fù);接收客戶端設(shè) 備的手工修復(fù)通知,將所述其它對象的信息提供給客戶端設(shè)備進行篩選,根據(jù) 客戶端設(shè)備對所述其它對象的信息的篩選結(jié)果,對所述第 一對象進行修復(fù)。
全文摘要
本發(fā)明公開了一種粒度可控的對象串行化存儲文件的修復(fù)方法,該方法包括服務(wù)器向客戶端設(shè)備提供指示信息,所述指示信息第一對象是否能夠被自動修復(fù);客戶端設(shè)備根據(jù)所述指示信息通知服務(wù)器對所述第一對象進行自動修復(fù);根據(jù)所述指示信息或自動修復(fù)失敗結(jié)果通知服務(wù)器對所述第一對象進行手工修復(fù)。本發(fā)明同時公開一種客戶端設(shè)備、服務(wù)器和一種粒度可控的對象串行化存儲文件的修復(fù)系統(tǒng)。采用本發(fā)明可以保證粒度可控的對象串行化存儲文件中出現(xiàn)的錯誤能夠被正確修復(fù)。
文檔編號H04L29/06GK101122859SQ20071012243
公開日2008年2月13日 申請日期2007年9月25日 優(yōu)先權(quán)日2007年9月25日
發(fā)明者杰 趙, 鄧志峰 申請人:北大方正集團有限公司;北京北大方正電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
徐州市| 双柏县| 信丰县| 宁南县| 炎陵县| 厦门市| 房产| 务川| 余干县| 卢龙县| 滦平县| 格尔木市| 德安县| 哈巴河县| 北碚区| 郎溪县| 阿图什市| 商河县| 日照市| 古丈县| 黑山县| 通许县| 华亭县| 友谊县| 从江县| 临清市| 务川| 兴义市| 宁晋县| 丰顺县| 和顺县| 武义县| 扎赉特旗| 富宁县| 博兴县| 云霄县| 民县| 志丹县| 古蔺县| 汝南县| 临武县|