專利名稱:一種實現(xiàn)共享數(shù)據(jù)編輯的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機通信技術(shù),特別涉及一種實現(xiàn)共享數(shù)據(jù)編輯的方法及裝置。
背景技術(shù):
隨著計算機通信技術(shù)的發(fā)展,基于計算機支持的協(xié)同工作(CSCW, ComputerSupported Cooperative Work)可以通過共享數(shù)據(jù)資源,協(xié)調(diào)兩個或者兩個以上的不同資源或者個體進行協(xié)同編輯數(shù)據(jù),以協(xié)同一致地完成某一目標。目前,在進行協(xié)同數(shù)據(jù)編輯時,常采用的方法是對共享數(shù)據(jù)不進行任何控制,用戶通過客戶端從服務(wù)器獲取共享數(shù)據(jù)內(nèi)容,即獲取數(shù)據(jù)副本,編輯后直接向服務(wù)器提交修改的數(shù)據(jù)。這樣,由于不進行協(xié)同編輯的控制,一旦同一時間多個用戶將編輯的共享數(shù)據(jù)進行提交的操作,則會出現(xiàn)提交的數(shù)據(jù)副本混亂,造成提交服務(wù)器的共享數(shù)據(jù)內(nèi)容相互沖突,數(shù)據(jù)內(nèi)容安全性沒有保障。為了避免多人同時提交編輯的數(shù)據(jù)副本導(dǎo)致的共享數(shù)據(jù)內(nèi)容相互沖突的技術(shù)問題,提出的改進方法是實現(xiàn)共享數(shù)據(jù)的唯一性編輯及提交,即在多人需要協(xié)同編輯共享數(shù)據(jù)時,為服務(wù)器的共享數(shù)據(jù)設(shè)定數(shù)據(jù)鎖。當(dāng)用戶發(fā)送獲取服務(wù)器的數(shù)據(jù)副本請求時,服務(wù)器向用戶返回數(shù)據(jù)副本以及具有編輯權(quán)限的數(shù)據(jù)鎖,同時使用數(shù)據(jù)鎖鎖定數(shù)據(jù)以避免其他用戶繼續(xù)讀取數(shù)據(jù)副本。當(dāng)用戶編輯完成后,通過向服務(wù)器提交修改的數(shù)據(jù)副本以及數(shù)據(jù)鎖,服務(wù)器依據(jù)接收的數(shù)據(jù)鎖解除共享數(shù)據(jù)的鎖定,并根據(jù)用戶提交的數(shù)據(jù)副本更新存儲的共享數(shù)據(jù)。在解除鎖定后,其他用戶可以請求對共享數(shù)據(jù)的編輯權(quán)限。也就是說,當(dāng)用戶A請求對共享數(shù)據(jù)的數(shù)據(jù)鎖鎖定后,在數(shù)據(jù)鎖被歸還前,其他用戶不能直接獲取該共享數(shù)據(jù)的數(shù)據(jù)鎖,因而不能獲取共享數(shù)據(jù)的編輯權(quán),即不能從服務(wù)器獲取數(shù)據(jù)副本,從而實現(xiàn)了共享數(shù)據(jù)的唯一性編輯和提交,避免了提交服務(wù)器的共享數(shù)據(jù)內(nèi)容的相互沖突。由上述可見,現(xiàn)有實現(xiàn)共享數(shù)據(jù)唯一性編輯的方法,如果共享數(shù)據(jù)被某一用戶惡意長期鎖定,將影響其他用戶 的編輯,達不到協(xié)同工作的目的,使得共享數(shù)據(jù)的協(xié)同編輯效率較低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提出一種實現(xiàn)共享數(shù)據(jù)編輯的方法,提高共享數(shù)據(jù)的協(xié)同編輯效率。本發(fā)明的另一目的在于提出一種實現(xiàn)共享數(shù)據(jù)編輯的裝置,提高共享數(shù)據(jù)的協(xié)同編輯效率。為達到上述目的,本發(fā)明提供了一種實現(xiàn)共享數(shù)據(jù)編輯的方法,該方法包括:接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶;接收用戶提交的已編輯數(shù)據(jù)副本及所述數(shù)據(jù)簽名;匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;
確定數(shù)據(jù)簽名匹配,將存儲的數(shù)據(jù)副本更新為所述已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新所述存儲的數(shù)據(jù)簽名。在生成新數(shù)據(jù)簽名后,進一步包括:向用戶返回提交成功信息,該信息包含新數(shù)據(jù)簽名。該方法進一步包括:確定數(shù)據(jù)簽名不匹配,向用戶返回提交失敗信息。所述數(shù)據(jù)簽名包括:更新數(shù)據(jù)副本當(dāng)前時間以及采用消息摘要算法對更新的數(shù)據(jù)副本進行計算獲取的加密字符串。所述數(shù)據(jù)副本支持可擴展標記語言格式、輕量級的數(shù)據(jù)交換格式對象聲明格式或自定義文本格式。所述數(shù)據(jù)副本以及數(shù)據(jù)編輯請求通過超文本傳輸協(xié)議請求接口傳輸。一種實現(xiàn)共享數(shù)據(jù)編輯的裝置,該裝置包括:數(shù)據(jù)編輯請求處理模塊、數(shù)據(jù)副本處理模塊、數(shù)據(jù)簽名匹配模塊以及存儲模塊,其中,數(shù)據(jù)編輯請求處理模塊,接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲模塊存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶;數(shù)據(jù)副本處理模塊,接收用戶提交的已編輯數(shù)據(jù)副本及數(shù)據(jù)簽名;數(shù)據(jù)簽名匹配模塊,用于匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;確定數(shù)據(jù)簽名匹配,將存儲模塊存儲的數(shù)據(jù)副本更新為已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽·名,更新存儲模塊存儲的數(shù)據(jù)簽名;存儲模塊,存儲數(shù)據(jù)副本及其對應(yīng)的數(shù)據(jù)簽名。進一步包括:顯示模塊,用于在所述數(shù)據(jù)簽名匹配模塊生成新數(shù)據(jù)簽名后,向用戶顯示提交成功信息,該信息包含新數(shù)據(jù)簽名;或用于在所述數(shù)據(jù)簽名匹配模塊確定數(shù)據(jù)簽名不匹配后,向用戶顯示提交失敗信
肩、O由上述的技術(shù)方案可見,本發(fā)明實施例提供的一種實現(xiàn)共享數(shù)據(jù)編輯的方法及裝置,接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶;接收用戶提交的已編輯數(shù)據(jù)副本及所述數(shù)據(jù)簽名,匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;確定數(shù)據(jù)簽名匹配,將存儲的數(shù)據(jù)副本更新為所述已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新所述存儲的數(shù)據(jù)簽名。這樣,對請求數(shù)據(jù)編輯的用戶,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出,避免了共享數(shù)據(jù)被某一用戶惡意長期鎖定造成的其他用戶無法編輯的情況,從而提高了共享數(shù)據(jù)的協(xié)同編輯效率;依據(jù)用戶提交的數(shù)據(jù)簽名進行匹配,在匹配成功時更新存儲的數(shù)據(jù)副本并動態(tài)生成數(shù)據(jù)簽名,可以避免提交服務(wù)器的共享數(shù)據(jù)內(nèi)容的相互沖突。
圖1為本發(fā)明實施例的實現(xiàn)共享數(shù)據(jù)編輯的方法流程示意圖。圖2為本發(fā)明實施例服務(wù)器輸出的數(shù)據(jù)副本結(jié)構(gòu)示意圖。圖3為本發(fā)明實施例服務(wù)器將數(shù)據(jù)副本輸出至用戶的流程示意圖。
圖4為本發(fā)明實施例用戶完成編輯的數(shù)據(jù)副本結(jié)構(gòu)示意圖。圖5為本發(fā)明實施例用戶將完成編輯的數(shù)據(jù)副本提交到服務(wù)器的示意圖。圖6為本發(fā)明實施例用戶將數(shù)據(jù)副本輸出至服務(wù)器的流程示意圖。圖7為本發(fā)明實施例的實現(xiàn)共享數(shù)據(jù)編輯的裝置結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明作進一步地詳細描述。簽名是數(shù)據(jù)的唯一標識,當(dāng)對數(shù)據(jù)進行修改后,修改前的數(shù)據(jù)簽名與修改后的數(shù)據(jù)簽名不同。本發(fā)明實施例中,考慮通過動態(tài)形成的數(shù)據(jù)簽名來取代數(shù)據(jù)鎖的操作,并對服務(wù)器存儲的數(shù)據(jù)副本不執(zhí)行鎖定,避免了共享數(shù)據(jù)被某一用戶惡意長期鎖定造成的其他用戶無法編輯的情況,并依據(jù)用戶提交的數(shù)據(jù)簽名,與存儲的數(shù)據(jù)簽名進行匹配,在匹配成功時更新存儲的數(shù)據(jù)副本并動態(tài)生成數(shù)據(jù)簽名,以此避免提交服務(wù)器的共享數(shù)據(jù)內(nèi)容的相互沖突,從而提高共享數(shù)據(jù)的協(xié)同編輯效率。即通過統(tǒng)一的簽名算法為數(shù)據(jù)提供對應(yīng)的簽名,用戶在獲取數(shù)據(jù)副本的同時得到數(shù)據(jù)簽名,當(dāng)用戶編輯完成后提交數(shù)據(jù),將數(shù)據(jù)簽名一同提交,服務(wù)器通過比 對用戶提交的數(shù)據(jù)簽名與自身存儲的數(shù)據(jù)簽名,當(dāng)數(shù)據(jù)簽名一致時,保存用戶提交的數(shù)據(jù),并根據(jù)提交的數(shù)據(jù)重新生成數(shù)據(jù)簽名,返回新數(shù)據(jù)簽名給用戶;當(dāng)簽名不一致時,服務(wù)器向用戶返回失敗信息,用戶接收到失敗信息后,可以重新獲取數(shù)據(jù)副本及數(shù)據(jù)簽名,然后進行修改后提交。圖1為本發(fā)明實施例的實現(xiàn)共享數(shù)據(jù)編輯的方法流程示意圖。參見圖1,該流程包括:步驟101,接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶;本步驟中,服務(wù)器使用更新時的數(shù)據(jù)副本當(dāng)前時間作為數(shù)據(jù)簽名,當(dāng)然,也可以使用其他數(shù)據(jù)簽名算法生成數(shù)據(jù)簽名,只需要保證同一份數(shù)據(jù)的數(shù)據(jù)簽名不重復(fù)即可,即數(shù)據(jù)簽名是動態(tài)生成的。例如,數(shù)據(jù)簽名可采用消息摘要算法(MD5, Message DigestAlgorithm)等加密算法對更新時的數(shù)據(jù)內(nèi)容進行計算,獲取MD5加密字符串作為數(shù)據(jù)簽名。服務(wù)器以數(shù)據(jù)副本為標識將數(shù)據(jù)副本存儲在數(shù)據(jù)庫中。服務(wù)器提供獲取數(shù)據(jù)副本的接口以及用戶提交數(shù)據(jù)副本的接口。其中,數(shù)據(jù)編輯請求通過服務(wù)器提供的超文本傳輸協(xié)議(HTTP, Hypertext TransferProtocol)請求接口傳輸,用戶根據(jù)該HTTP接口發(fā)送數(shù)據(jù)編輯請求以請求待編輯的數(shù)據(jù),數(shù)據(jù)副本也可以通過該HTTP接口輸出至相應(yīng)的用戶。服務(wù)器存儲的數(shù)據(jù)副本支持可擴展標記語言(XML, Extensible MarkupLanguage)格式、輕量級的數(shù)據(jù)交換格式對象聲明(JSON, JavaScript Object Notation)格式或自定義文本格式。對于xml,存儲的數(shù)據(jù)副本格式如下:<data><content> 數(shù)據(jù)副本〈/contentXsign〉簽名 </sign>〈/data>
對于json,存儲的數(shù)據(jù)副本格式如下:{content: {數(shù)據(jù)副本},sign: ” 簽名 ” }實際應(yīng)用中,在服務(wù)器更新存儲的數(shù)據(jù)副本之前,如果多個用戶同時或先后向服務(wù)器請求數(shù)據(jù)副本,則服務(wù)器分別向各用戶輸出存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名,即各用戶獲取的數(shù)據(jù)副本及數(shù)據(jù)簽名均相同。圖2為本發(fā)明實施例服務(wù)器輸出的數(shù)據(jù)副本結(jié)構(gòu)示意圖。參見圖2,數(shù)據(jù)副本設(shè)置有提交控件,其標識為1031,簽名為:(2011-06-1716:11:53),包括:豆?jié){機、微波爐、電磁器、榨汁機、酸奶機、電水壺、電壓力鍋、電飯煲以及更多九項內(nèi)容,每項內(nèi)容可以進行修改或查看操作。圖3為本發(fā)明實施例服務(wù)器將數(shù)據(jù)副本輸出至用戶的流程示意圖。參見圖3,服務(wù)器在接收到數(shù)據(jù)編輯請求,從數(shù)據(jù)庫中讀取數(shù)據(jù)副本及數(shù)據(jù)簽名,在獲取到數(shù)據(jù)副本接口(http請求接口)后,將數(shù)據(jù)副本以及數(shù)據(jù)簽名輸出至用戶,其中數(shù)據(jù)副本的內(nèi)容以二進制表不。步驟102,接收用戶提交的已編輯數(shù)據(jù)副本及數(shù)據(jù)簽名,匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;
·
本步驟中,服務(wù)器提供http請求接口,用戶通過表單提交xml格式、json格式或自定義文本格式的數(shù)據(jù)副本到http請求接口中,通過http請求接口傳輸至服務(wù)器。對于xml,提交的數(shù)據(jù)副本格式如下:<data><content> 數(shù)據(jù)副本〈/contentXsign〉簽名 </sign>〈/data>對于json,提交的數(shù)據(jù)副本格式如下:{content: {數(shù)據(jù)副本},sign: ” 簽名 ” }圖4為本發(fā)明實施例用戶完成編輯的數(shù)據(jù)副本結(jié)構(gòu)示意圖。參見圖4,數(shù)據(jù)副本與圖2相類似,不同的是,對于豆?jié){機中的數(shù)據(jù)進行了修改。圖5為本發(fā)明實施例用戶將完成編輯的數(shù)據(jù)副本提交到服務(wù)器的示意圖。參見圖5,通過http請求接口向服務(wù)器提交數(shù)據(jù)副本及其數(shù)據(jù)簽名。步驟103,確定數(shù)據(jù)簽名匹配,將存儲的數(shù)據(jù)副本更新為已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新存儲的數(shù)據(jù)簽名。本步驟中,服務(wù)器根據(jù)用戶提交的數(shù)據(jù)副本,取出數(shù)據(jù)庫中對應(yīng)數(shù)據(jù)副本的數(shù)據(jù)簽名,對比用戶提交的數(shù)據(jù)簽名,如果用戶提交的數(shù)據(jù)簽名與存儲的數(shù)據(jù)簽名一致,根據(jù)用戶提交的已編輯數(shù)據(jù)副本生成新數(shù)據(jù)簽名,并將存儲的數(shù)據(jù)副本更新為已編輯數(shù)據(jù)副本,存儲新數(shù)據(jù)簽名。進一步地,在生成新數(shù)據(jù)簽名后,包括:步驟104,向用戶返回(顯示)提交成功信息,該信息包含新數(shù)據(jù)簽名。本步驟中,提交成功信息格式如下:對于xml:<data><result> 成功 </result>〈sign> 簽名〈/sign〉對于json:{result: ”成功”,sign:,,簽名” }當(dāng)然,實際應(yīng)用中,服務(wù)器也可以將更新的數(shù)據(jù)副本以及新數(shù)據(jù)簽名輸出至用戶,這樣,用戶可以基于新的數(shù)據(jù)副本進行編輯,并可以在編輯后,將編輯的數(shù)據(jù)副本以及新的數(shù)據(jù)簽名提交到服務(wù)器。較佳地,該方法還進一步包括:確定數(shù)據(jù)簽名不匹配,向用戶返回提交失敗信息。本步驟中,如果用戶數(shù)據(jù)簽名不一致,即用戶提交數(shù)據(jù)副本的數(shù)據(jù)簽名與服務(wù)器存儲的對應(yīng)的數(shù)據(jù)副本的數(shù)據(jù)簽名不一致,則返回提交失敗信息。如前所述,在解除了服務(wù)器對數(shù)據(jù)副本的鎖定后,各用戶可以從服務(wù)器獲取數(shù)據(jù)副本進行編輯,為了避免各用戶提交服務(wù)器的共享數(shù)據(jù)內(nèi)容的相互沖突,本發(fā)明實施例中,通過數(shù)據(jù)簽名的匹配,服務(wù)器在用戶的數(shù)據(jù)簽名匹配成功后,根據(jù)新提交的數(shù)據(jù)副本生成新的數(shù)據(jù)簽名,使得獲取同一數(shù)據(jù)簽名,但后需提交已編輯數(shù)據(jù)副本的用戶提交的數(shù)據(jù)簽名匹配不成功。這樣,即有效防止了某一用戶惡意長期鎖定造成的其他用戶無法編輯的情況,也避免了提交服務(wù)器的共享數(shù)據(jù)內(nèi)容的相互沖突。提交失敗信息格式如下:對于xml:<data><result> 失敗 </result>〈/data>對于json:{result: ”失敗,,}用戶接收到提交失敗信息后,可以通過重新從服務(wù)器獲取數(shù)據(jù)副本以及數(shù)據(jù)簽名,繼續(xù)編輯后提交。`圖6為本發(fā)明實施例用戶將數(shù)據(jù)副本輸出至服務(wù)器的流程示意圖。參見圖6,用戶在編輯好數(shù)據(jù)副本后,獲取數(shù)據(jù)副本接口(http請求接口),將編輯好的數(shù)據(jù)副本以及數(shù)據(jù)簽名通過數(shù)據(jù)副本接口輸出至服務(wù)器,服務(wù)器驗證數(shù)據(jù)簽名是否正確,如果不正確,向用戶返回提交失敗信息,如果驗證成功,根據(jù)服務(wù)器當(dāng)前時間獲取新數(shù)據(jù)簽名,向用戶返回提交成功信息,并在數(shù)據(jù)庫中保存新數(shù)據(jù)副本以及新數(shù)據(jù)簽名。本發(fā)明實施例中,對于多個用戶同時獲取數(shù)據(jù)副本以及數(shù)據(jù)簽名的情況,各個用戶可以自由編輯,對于已生成新的數(shù)據(jù)簽名后至用戶請求新的數(shù)據(jù)副本編輯的這一段時間里,用戶可以保存先前的數(shù)據(jù)簽名,這樣,在這段時間里提交編輯的用戶,服務(wù)器通過匹配,可以確定匹配成功,然后,服務(wù)器識別各個用戶的修改點,對于修改點不重合的修改,在服務(wù)器端自動進行修改合并,對于存在沖突的修改點,將包含修改合并以及存在沖突的修改點數(shù)據(jù)副本作為新數(shù)據(jù)副本,生成新數(shù)據(jù)簽名,并替換存儲的已編輯的數(shù)據(jù)副本以及已生成新的數(shù)據(jù)簽名,然后分別發(fā)送至對應(yīng)已提交數(shù)據(jù)副本的用戶,由用戶統(tǒng)一協(xié)商后提交。由上述可見,本發(fā)明實施例的實現(xiàn)共享數(shù)據(jù)編輯的方法,對請求數(shù)據(jù)編輯的用戶,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出,這樣,避免了共享數(shù)據(jù)被某一用戶惡意長期鎖定造成的其他用戶無法編輯的情況,依據(jù)用戶提交的數(shù)據(jù)簽名,與存儲的數(shù)據(jù)簽名進行匹配,在匹配成功時更新存儲的數(shù)據(jù)副本并動態(tài)生成數(shù)據(jù)簽名,這樣,可以避免提交服務(wù)器的共享數(shù)據(jù)內(nèi)容的相互沖突,從而提高了共享數(shù)據(jù)的協(xié)同編輯效率;對于簽名不一致的情形,服務(wù)器向用戶返回失敗信息,用戶接收到失敗信息后,可以重新獲取數(shù)據(jù)副本及數(shù)據(jù)簽名,然后在修改后再次進行提交,便于用戶自由編輯;而且,通過將更新時的數(shù)據(jù)副本當(dāng)前時間作為數(shù)據(jù)簽名,在傳輸中不需要額外增加字段,減少了數(shù)據(jù)傳輸量、節(jié)約了網(wǎng)絡(luò)流量開銷。圖7為本發(fā)明實施例的實現(xiàn)共享數(shù)據(jù)編輯的裝置結(jié)構(gòu)示意圖。參見圖7,該裝置包括:數(shù)據(jù)編輯請求處理模塊、數(shù)據(jù)副本處理模塊、數(shù)據(jù)簽名匹配模塊以及存儲模塊,其中,數(shù)據(jù)編輯請求處理模塊,接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲模塊存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶;數(shù)據(jù)副本處理模塊,接收用戶提交的已編輯數(shù)據(jù)副本及數(shù)據(jù)簽名;數(shù)據(jù)簽名匹配模塊,用于匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;確定數(shù)據(jù)簽名匹配,將存儲模塊存儲的數(shù)據(jù)副本更新為已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新存儲模塊存儲的數(shù)據(jù)簽名;存儲模塊,存儲數(shù)據(jù)副本及其對應(yīng)的數(shù)據(jù)簽名。較佳地,該裝置進一步包括:顯示模塊,用于在數(shù)據(jù)簽名匹配模塊生成新數(shù)據(jù)簽名后,向用戶顯示提交成功信息,該信息包含新數(shù)據(jù)簽名;或用于在數(shù)據(jù)簽名匹配模塊確定數(shù)據(jù)簽名不匹配后,向用戶顯示提交失敗信息。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原 則之內(nèi),所作的任何修改、等同替換以及改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)共享數(shù)據(jù)編輯的方法,其特征在于,該方法包括: 接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶; 接收用戶提交的已編輯數(shù)據(jù)副本及所述數(shù)據(jù)簽名; 匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名; 確定數(shù)據(jù)簽名匹配,將存儲的數(shù)據(jù)副本更新為所述已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新所述存儲的數(shù)據(jù)簽名。
2.如權(quán)利要求1所述的方法,其特征在于,在生成新數(shù)據(jù)簽名后,進一步包括: 向用戶返回提交成功信息,該信息包含新數(shù)據(jù)簽名。
3.如權(quán)利要求2所述的方法,其特征在于,該方法進一步包括: 確定數(shù)據(jù)簽名不匹配,向用戶返回提交失敗信息。
4.如權(quán)利要求1至3任一項所述的方法,其特征在于,所述數(shù)據(jù)簽名包括:更新數(shù)據(jù)副本當(dāng)前時間以及采用消息摘要算法對更新的數(shù)據(jù)副本進行計算獲取的加密字符串。
5.如權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)副本支持可擴展標記語言格式、輕量級的數(shù)據(jù)交換格式、對象聲明格式或自定義文本格式。
6.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)副本以及數(shù)據(jù)編輯請求通過超文本傳輸協(xié)議請求接口傳 輸。
7.一種實現(xiàn)共享數(shù)據(jù)編輯的裝置,其特征在于,該裝置包括:數(shù)據(jù)編輯請求處理模塊、數(shù)據(jù)副本處理模塊、數(shù)據(jù)簽名匹配模塊以及存儲模塊,其中, 數(shù)據(jù)編輯請求處理模塊,接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲模塊存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶; 數(shù)據(jù)副本處理模塊,接收用戶提交的已編輯數(shù)據(jù)副本及數(shù)據(jù)簽名; 數(shù)據(jù)簽名匹配模塊,用于匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;確定數(shù)據(jù)簽名匹配,將存儲模塊存儲的數(shù)據(jù)副本更新為已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新存儲模塊存儲的數(shù)據(jù)簽名; 存儲模塊,存儲數(shù)據(jù)副本及其對應(yīng)的數(shù)據(jù)簽名。
8.如權(quán)利要求7所述的裝置,其特征在于,進一步包括: 顯示模塊,用于在所述數(shù)據(jù)簽名匹配模塊生成新數(shù)據(jù)簽名后,向用戶顯示提交成功信息,該信息包含新數(shù)據(jù)簽名;或 用于在所述數(shù)據(jù)簽名匹配模塊確定數(shù)據(jù)簽名不匹配后,向用戶顯示提交失敗信息。
全文摘要
本發(fā)明公開了一種實現(xiàn)共享數(shù)據(jù)編輯的方法及裝置。該方法包括接收用戶發(fā)送的數(shù)據(jù)編輯請求,將存儲的數(shù)據(jù)副本及該數(shù)據(jù)副本的數(shù)據(jù)簽名輸出至用戶;接收用戶提交的已編輯數(shù)據(jù)副本及所述數(shù)據(jù)簽名,匹配用戶提交的數(shù)據(jù)簽名與存儲的輸出至該用戶的數(shù)據(jù)簽名;確定數(shù)據(jù)簽名匹配,將存儲的數(shù)據(jù)副本更新為所述已編輯數(shù)據(jù)副本,并根據(jù)更新后的數(shù)據(jù)副本生成新數(shù)據(jù)簽名,更新所述存儲的數(shù)據(jù)簽名。應(yīng)用本發(fā)明,可以提高共享數(shù)據(jù)的協(xié)同編輯效率。
文檔編號H04L29/06GK103248648SQ20121002828
公開日2013年8月14日 申請日期2012年2月9日 優(yōu)先權(quán)日2012年2月9日
發(fā)明者劉遠宏, 譚耀華, 徐凱鵬, 莫衛(wèi)紅, 曹武博, 陳臻明 申請人:騰訊科技(深圳)有限公司