国产精品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>

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

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


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