本發(fā)明涉及計算機軟件領(lǐng)域,具體涉及一種網(wǎng)文修訂更新方法和裝置及更新網(wǎng)文閱讀進(jìn)度方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)和終端設(shè)備的發(fā)展,隨之而生的以互聯(lián)網(wǎng)為展示平臺和傳播媒介,借助超文本連接和多媒體演繹等手段來表現(xiàn)的文學(xué)作品、類文學(xué)文本及含有一部分文學(xué)成分的網(wǎng)絡(luò)藝術(shù)品越來越多,這些統(tǒng)稱為網(wǎng)絡(luò)文學(xué),即網(wǎng)文。使用終端設(shè)備可以隨時隨地的閱讀網(wǎng)文,提供給用戶閱讀的便利。
網(wǎng)文的創(chuàng)作時間快,發(fā)布和傳播的速度迅速。用戶可以按照章節(jié)閱讀網(wǎng)文。一般用戶習(xí)慣按照章節(jié)將網(wǎng)文下載到本地后進(jìn)行閱讀。但是由于網(wǎng)文的傳播便捷,使得網(wǎng)文在發(fā)布后經(jīng)常還會有各種需要修訂的情形。如發(fā)布的版本中有廣告、錯別字等情況,需要進(jìn)行刪除和修改后重新發(fā)布。用戶在下載章節(jié)到本地后,發(fā)布者又更新了已經(jīng)發(fā)布的部分章節(jié)的文章,會導(dǎo)致用戶已經(jīng)下載的網(wǎng)文無法更新,或者造成更新的章節(jié)位置錯亂等情況。當(dāng)更新的章節(jié)在下載后需要重新調(diào)整章節(jié)個數(shù)時,可能還會導(dǎo)致已經(jīng)下載的用戶本地章節(jié)錯亂,用戶閱讀進(jìn)度不能與原有的閱讀進(jìn)度同步,造成用戶無法找到閱讀進(jìn)度繼續(xù)閱讀等情況。
技術(shù)實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的網(wǎng)文修訂更新方法和裝置及更新網(wǎng)文閱讀進(jìn)度方法和裝置。
根據(jù)本發(fā)明的一個方面,提供了一種網(wǎng)文修訂更新方法,方法運行于服務(wù)器側(cè),網(wǎng)文由數(shù)個章節(jié)組成,每個章節(jié)具有唯一的特征值,方法包括:
根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表;第一特征值鏈表的順序為數(shù)個章節(jié)的排列順序;
將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較;若不一致,獲得差異信息;
根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
根據(jù)本發(fā)明的另一方面,提供了一種更新網(wǎng)文閱讀進(jìn)度方法,其中,方法運行于客戶端側(cè),其包括:
接收服務(wù)器根據(jù)上述網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容;
根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
根據(jù)本發(fā)明的又一方面,提供了一種網(wǎng)文修訂更新裝置,其包括:
更新模塊,適于根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表;第一特征值鏈表的順序為數(shù)個章節(jié)的排列順序;
比較模塊,適于將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較;若不一致,獲得差異信息;
傳輸模塊,適于根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
根據(jù)本發(fā)明的再一方面,提供了一種更新網(wǎng)文閱讀進(jìn)度裝置,其包括:
接收模塊,適于接收服務(wù)器根據(jù)上述網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容;
更新進(jìn)度模塊,適于根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
根據(jù)本發(fā)明的再一方面,提供了一種服務(wù)器,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行上述網(wǎng)文修訂更新方法對應(yīng)的操作。
根據(jù)本發(fā)明的再一方面,提供了一種電子設(shè)備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行上述更新網(wǎng)文閱讀進(jìn)度方法對應(yīng)的操作。
根據(jù)本發(fā)明的再一方面,提供了一種計算機存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如上述網(wǎng)文修訂更新方法對應(yīng)的操作。
根據(jù)本發(fā)明的再一方面,提供了一種計算機存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如上述更新網(wǎng)文閱讀進(jìn)度方法對應(yīng)的操作。
根據(jù)本發(fā)明提供的網(wǎng)文修訂更新方法和裝置及更新網(wǎng)文閱讀進(jìn)度方法和裝置,網(wǎng)文修訂更新方法根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,若不一致,獲得差異信息。根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。解決了網(wǎng)文修訂更新后,造成客戶端已下載網(wǎng)文無法更新或更新的章節(jié)位置錯亂等情況。同時,更新網(wǎng)文閱讀進(jìn)度方法在接收服務(wù)器根據(jù)網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容后,根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。解決了更新后章節(jié)錯亂,用戶閱讀進(jìn)度調(diào)整不當(dāng),用戶無法找到原有閱讀進(jìn)度等問題。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明實施例一的網(wǎng)文修訂更新方法的流程圖;
圖2示出了根據(jù)本發(fā)明實施例二的網(wǎng)文修訂更新方法的流程圖;
圖3示出了根據(jù)本發(fā)明實施例三的更新網(wǎng)文閱讀進(jìn)度方法的流程圖;
圖4示出了根據(jù)本發(fā)明實施例四的網(wǎng)文修訂更新裝置的功能框圖;
圖5示出了根據(jù)本發(fā)明實施例五的更新網(wǎng)文閱讀進(jìn)度裝置的功能框圖;
圖6示出了根據(jù)本發(fā)明實施例八的一種服務(wù)器的結(jié)構(gòu)示意圖;
圖7示出了根據(jù)本發(fā)明實施例九的一種電子設(shè)備的結(jié)構(gòu)示意圖。
具體實施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實施例一
圖1示出了根據(jù)本發(fā)明實施例一的網(wǎng)文修訂更新方法的流程圖,如圖1所示,網(wǎng)文修訂更新方法運行于服務(wù)器側(cè),具體包括如下步驟:
步驟S101,根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。
網(wǎng)文可以包括數(shù)個章節(jié),數(shù)個章節(jié)按照排列順序組成網(wǎng)文整體。其中,根據(jù)各章節(jié)的章節(jié)信息,如章節(jié)號第X章、章節(jié)名、章節(jié)簡介等信息,使用MD5方式進(jìn)行計算,得到該章節(jié)唯一的特征值;或者根據(jù)各章節(jié)的更新時間,使用MD5方式進(jìn)行計算,得到該章節(jié)唯一的特征值;或者根據(jù)以上章節(jié)信息和章節(jié)更新時間,使用MD5方式進(jìn)行計算,得到該章節(jié)唯一的特征值。每個章節(jié)的特征值唯一的標(biāo)識了該章節(jié)。當(dāng)該章節(jié)進(jìn)行更新后,根據(jù)更新后的章節(jié)信息和/或章節(jié)更新時間,重新生成更新后章節(jié)唯一的特征值。
第一特征值鏈表由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成,其中,第一特征值鏈表的順序為網(wǎng)文中數(shù)個章節(jié)的排列順序。如網(wǎng)文中數(shù)個章節(jié)包括第1章、第2章、第3章、第4章等,其中,各章節(jié)對應(yīng)的特征值為A、B、C、D等,按照章節(jié)的排列順序第1章、第2章、第3章、第4章,第一特征值鏈表的順序為A、B、C、D。
在網(wǎng)文更新后,根據(jù)網(wǎng)文更新的情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。如網(wǎng)文更新了第3章,對應(yīng)的生成更新后第3章的特征值C1,更新第一特征值鏈表為A、B、C1、D;或網(wǎng)文更新在第2章和第3章中間增加新的一章節(jié),并調(diào)整順序,新增加章節(jié)對應(yīng)的特征值為E,更新第一特征值鏈表為A、B、E、C、D;或者網(wǎng)文更新刪除第3章,更新第一特征值鏈表為A、B、D;或者網(wǎng)文更新將第2章和第3章合并,合并章節(jié)的特征值為F,更新第一特征值鏈表為A、F、D;或者網(wǎng)文更新將第2章拆分為兩個章節(jié),拆分的兩個章節(jié)的特征值為G、H,更新第一特征值鏈表為A、G、H、C、D;或者網(wǎng)文調(diào)整第2章和第3章的順序,更新第一特征值鏈表為A、C、B、D等。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
步驟S102,將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,判斷是否一致。
第二特征值鏈表由客戶端已下載的網(wǎng)文的各個章節(jié)的特征值組成,其中,第二特征值鏈表的順序為客戶端已下載的網(wǎng)文中數(shù)個章節(jié)的排列順序。
將第一特征值鏈表與第二特征值鏈表進(jìn)行比較。比較時,需要將第一特征值鏈表與第二特征值鏈表中的各個特征值及鏈表順序都進(jìn)行比較。如第一特征值鏈表為A、B、C1、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致;或第一特征值鏈表為A、B、E、C、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致;第一特征值鏈表為A、F、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致;第一特征值鏈表為A、G、H、C、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致;第一特征值鏈表為A、C、B、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
判斷第一特征值鏈表與第二特征值鏈表不一致時,即網(wǎng)文更新,與客戶端已下載的網(wǎng)文不一致,執(zhí)行步驟S103。
可選地,可以在接收到客戶端發(fā)出的更新請求后,將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較??蛻舳税l(fā)出的更新請求,可以在如客戶端進(jìn)行章節(jié)切換時發(fā)出更新請求;或在每日預(yù)設(shè)的時間發(fā)出更新請求;或每日預(yù)設(shè)發(fā)出更新請求的次數(shù),沒有達(dá)到預(yù)設(shè)次數(shù)時,發(fā)出更新請求等。在接收到客戶端發(fā)出的更新請求后,再將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,以減少與客戶端持久連接而造成的數(shù)據(jù)消耗。
步驟S103,若不一致,獲得差異信息。
執(zhí)行步驟S102比較第一特征值鏈表與第二特征值鏈表,若不一致時,獲得第一特征值鏈表與第二特征值鏈表之間的差異信息。
差異信息可以包括如第一特征值鏈表與第二特征值鏈表不一致的特征值、第一特征值鏈表與第二特征值鏈表不一致的順序等。
步驟S104,根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
根據(jù)差異信息,獲取更新內(nèi)容。其中更新內(nèi)容包括了需要更新的章節(jié)、更新章節(jié)的排列順序等。如差異信息中包括了特征值,獲取更新內(nèi)容中包括該特征值對應(yīng)的章節(jié);差異信息中包括了特征值及部分鏈表,獲取更新內(nèi)容中包括該特征值對應(yīng)的章節(jié),還包括了該章節(jié)的排列順序等。
將更新內(nèi)容傳輸給客戶端,使客戶端可以根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理,得到更新后的網(wǎng)文。進(jìn)一步,更新內(nèi)容還可以包括差異信息,在更新處理中還包括對第二特征值鏈表的更新,使更新后的第二特征值鏈表與第一特征值鏈表一致。
根據(jù)本發(fā)明提供的網(wǎng)文修訂更新方法,根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,若不一致,獲得差異信息。根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。解決了網(wǎng)文修訂更新后,造成客戶端已下載網(wǎng)文無法更新或更新的章節(jié)位置錯亂等情況。
實施例二
圖2示出了根據(jù)本發(fā)明實施例二的網(wǎng)文修訂更新方法的流程圖,如圖2所示,網(wǎng)文修訂更新方法包括如下步驟:
步驟S201,根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。
步驟S202,將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,判斷是否一致。
步驟S203,若不一致,獲得差異信息。
以上步驟可參考實施例一中的步驟S101-S103,在此不再贅述。
需要注意的是,獲得差異信息后,根據(jù)差異信息內(nèi)容不同,執(zhí)行不同的步驟。若差異信息為第一特征值鏈表包含未記錄在第二特征值鏈表中的特征值,執(zhí)行步驟S204;若差異信息為第一特征值鏈表不包含記錄在第二特征值鏈表中的特征值,執(zhí)行步驟S205;若差異信息為第一特征值鏈表與第二特征值鏈表不一致的鏈表順序,執(zhí)行步驟S206。
步驟S204,若差異信息為第一特征值鏈表包含未記錄在第二特征值鏈表中的特征值,獲取更新內(nèi)容為該特征值以及該特征值對應(yīng)的章節(jié),將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表以及該特征值對應(yīng)的章節(jié)。
若差異信息為第一特征值鏈表包含未記錄在第二特征值鏈表中的特征值,如第一特征值鏈表為A、B、E、C、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了新增加的章節(jié)的特征值為E,其差異信息為特征值E,且特征值E的位置為特征值B和特征值C之間。獲取的更新內(nèi)容為該特征值E以及該特征值E對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、B、E、C、D,并且同時更新該特征值E對應(yīng)的章節(jié),將特征值E對應(yīng)的章節(jié)更新至客戶端特征值B和特征值C對應(yīng)章節(jié)之間,完成網(wǎng)文新增章節(jié)的更新處理;或者第一特征值鏈表為A、B、C1、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了原特征值為C的章節(jié)的更新,更新章節(jié)的特征值為C1,其差異信息為特征值C1,且特征值C1的位置為特征值B和特征值D之間。獲取的更新內(nèi)容為該特征值C1以及該特征值C1對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、B、C1、D,并且同時更新該特征值C1對應(yīng)的章節(jié),將特征值C1對應(yīng)的章節(jié)更新至客戶端特征值B和特征值D對應(yīng)章節(jié)之間,替換原特征值C對應(yīng)的章節(jié),完成網(wǎng)文原章節(jié)內(nèi)容替換的更新處理;或者第一特征值鏈表為A、F、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了合并章節(jié),將兩章節(jié)合并后的新章節(jié)的特征值為F,其差異信息為特征值F,且特征值F的位置為特征值A(chǔ)和特征值D之間。獲取的更新內(nèi)容為該特征值F以及該特征值F對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、F、D,并且同時更新該特征值F對應(yīng)的章節(jié),將特征值F對應(yīng)的章節(jié)更新至客戶端特征值A(chǔ)和特征值D對應(yīng)章節(jié)之間,替換原特征值B、C對應(yīng)的章節(jié),完成網(wǎng)文對原章節(jié)合并后進(jìn)行更新替換的更新處理;或者第一特征值鏈表為A、G、H、C、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了拆分章節(jié),將一章節(jié)拆分為兩章節(jié),拆分的新章節(jié)的特征值為G、H,其差異信息為特征值G、H,且特征值G、H的位置為特征值A(chǔ)和特征值C之間。獲取的更新內(nèi)容為該特征值G、H以及該特征值G、H對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、G、H、C、D,并且同時更新該特征值G、H對應(yīng)的章節(jié),將特征值G、H對應(yīng)的章節(jié)更新至客戶端特征值A(chǔ)和特征值C對應(yīng)章節(jié)之間,替換原特征值B對應(yīng)的章節(jié),完成網(wǎng)文對原章節(jié)拆分后進(jìn)行更新替換的更新處理。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
步驟S205,若差異信息為第一特征值鏈表不包含記錄在第二特征值鏈表中的特征值,獲取更新內(nèi)容為該特征值,將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表以及刪除該特征值對應(yīng)的章節(jié)。
若差異信息為第一特征值鏈表不包含記錄在第二特征值鏈表中的特征值,如第一特征值鏈表為A、B、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中不包括了章節(jié)的特征值為C,刪除了特征值為C的章節(jié),其差異信息為特征值C,且特征值C的位置為特征值B和特征值D之間。獲取的更新內(nèi)容為該特征值C。將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、B、D,并且同時刪除該特征值C對應(yīng)的章節(jié),完成網(wǎng)文刪除章節(jié)的更新處理。以上為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
步驟S206,若差異信息為第一特征值鏈表與第二特征值鏈表不一致的鏈表順序,獲取更新內(nèi)容為該不一致的鏈表順序,將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表以及根據(jù)不一致的鏈表順序調(diào)整對應(yīng)的章節(jié)排列順序。
若差異信息為第一特征值鏈表與第二特征值鏈表不一致的鏈表順序,如第一特征值鏈表為A、C、B、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中對鏈表順序進(jìn)行了調(diào)整,即將網(wǎng)文中各章節(jié)的前后排列順序進(jìn)行了調(diào)整,其差異信息為不一致的鏈表順序。獲取的更新內(nèi)容為鏈表的順序。將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、C、B、D,并且同時對應(yīng)的調(diào)整各章節(jié)的排列順序,完成網(wǎng)文章節(jié)排列順序的更新處理。以上為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
進(jìn)一步,差異信息可能同時包括了步驟S204-S206中描述的多項信息,若差異信息同時包括了多項信息時,可以根據(jù)差異信息包括的多項信息執(zhí)行以上對應(yīng)的各步驟,執(zhí)行時,各步驟不限定具體的執(zhí)行先后順序。同時,客戶端進(jìn)行更新處理時,除根據(jù)更新內(nèi)容對應(yīng)的將章節(jié)進(jìn)行相應(yīng)的更新外,還可以將更新后的各章節(jié)的章節(jié)號重新按照排列順序進(jìn)行排序。如客戶端已下載的章節(jié)原排列順序為第1章、第2章、第3章、第4章,其中網(wǎng)文更新刪除了第3章,在執(zhí)行上述步驟后,還將原第4章的章節(jié)重新排序為第3章;或者客戶端已下載的章節(jié)原排列順序為第1章、第2章、第3章、第4章,其中網(wǎng)文更新將原第3章拆分為2章,在執(zhí)行上述步驟后,還將原第4章的章節(jié)重新排序為第5章,原第3章拆分的2章依次排序為第3章、第4章等。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
根據(jù)本發(fā)明提供的網(wǎng)文修訂更新方法,可以有效的實現(xiàn)在網(wǎng)文更新后,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。包括如網(wǎng)文新增章節(jié)、刪除章節(jié)、替換章節(jié)、拆分章節(jié)、合并章節(jié)等多種情況的更新處理,有效的解決了網(wǎng)文修訂更新后,造成客戶端已下載網(wǎng)文無法更新或更新的章節(jié)位置錯亂等情況。
實施例三
圖3示出了根據(jù)本發(fā)明實施例三的更新網(wǎng)文閱讀進(jìn)度方法的流程圖。如圖3所示,更新網(wǎng)文閱讀進(jìn)度方法運行于客戶端側(cè),具體包括如下步驟:
步驟S301,接收服務(wù)器根據(jù)網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容。
步驟S302,根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
接收服務(wù)器根據(jù)實施例一或?qū)嵤├芯W(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容,根據(jù)更新內(nèi)容首先對網(wǎng)文進(jìn)行相應(yīng)的更新處理。具體各更新內(nèi)容及更新處理可參照實施例二中的描述,在此不再贅述。
用戶閱讀進(jìn)度是指當(dāng)前客戶端已下載網(wǎng)文中用戶當(dāng)前已經(jīng)閱讀過的網(wǎng)文的具體位置。在更新網(wǎng)文后,根據(jù)更新后的網(wǎng)文和用戶閱讀進(jìn)度對應(yīng)的網(wǎng)文的具體位置,更新網(wǎng)文的閱讀進(jìn)度。如用戶閱讀進(jìn)度在當(dāng)前客戶端已下載網(wǎng)文的第3章,更新后的網(wǎng)文在第3章前增加或刪除章節(jié)??梢愿鶕?jù)更新后的網(wǎng)文中增加或刪除的章節(jié)對應(yīng)的字?jǐn)?shù),向后或向前調(diào)整對應(yīng)的字?jǐn)?shù),重新計算得到網(wǎng)文新的閱讀進(jìn)度;或者從更新后的網(wǎng)文中查找到原第3章對應(yīng)的在更新后的網(wǎng)文中的位置,更新閱讀進(jìn)度至查找到的新的位置處;或者若用戶閱讀進(jìn)度所在的章節(jié)被刪除、被合并或被拆分,將閱讀進(jìn)度更新為該章節(jié)被更新后對應(yīng)的章節(jié)處;或者若用戶閱讀進(jìn)度所在的章節(jié)排列順序被調(diào)整,將閱讀進(jìn)度更新為該章節(jié)被調(diào)整后所在的位置對應(yīng)的章節(jié)處。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
根據(jù)本發(fā)明提供的更新網(wǎng)文閱讀進(jìn)度方法,在接收服務(wù)器根據(jù)網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容后,根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。解決了更新后章節(jié)錯亂,用戶閱讀進(jìn)度調(diào)整不當(dāng),用戶無法找到原有閱讀進(jìn)度等問題。
實施例四
圖4示出了根據(jù)本發(fā)明實施例四的網(wǎng)文修訂更新裝置的功能框圖。如圖4所示,網(wǎng)文修訂更新裝置包括如下模塊:
更新模塊410,適于根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。
網(wǎng)文可以包括數(shù)個章節(jié),數(shù)個章節(jié)按照排列順序組成網(wǎng)文整體。其中,更新模塊410根據(jù)各章節(jié)的章節(jié)信息,如章節(jié)號第X章、章節(jié)名、章節(jié)簡介等信息,使用MD5方式進(jìn)行計算,得到該章節(jié)唯一的特征值;或者更新模塊410根據(jù)各章節(jié)的更新時間,使用MD5方式進(jìn)行計算,得到該章節(jié)唯一的特征值;或者更新模塊410根據(jù)以上章節(jié)信息和章節(jié)更新時間,使用MD5方式進(jìn)行計算,得到該章節(jié)唯一的特征值。每個章節(jié)的特征值唯一的標(biāo)識了該章節(jié)。當(dāng)該章節(jié)進(jìn)行更新后,更新模塊410根據(jù)更新后的章節(jié)信息和/或章節(jié)更新時間,重新生成更新后章節(jié)唯一的特征值。
第一特征值鏈表由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成,其中,第一特征值鏈表的順序為網(wǎng)文中數(shù)個章節(jié)的排列順序。如網(wǎng)文中數(shù)個章節(jié)包括第1章、第2章、第3章、第4章等,其中,各章節(jié)對應(yīng)的特征值為A、B、C、D等,按照章節(jié)的排列順序第1章、第2章、第3章、第4章,第一特征值鏈表的順序為A、B、C、D。
更新模塊410在網(wǎng)文更新后,根據(jù)網(wǎng)文更新的情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。如網(wǎng)文更新了第3章,對應(yīng)的更新模塊410生成更新后第3章的特征值C1,并更新第一特征值鏈表為A、B、C1、D;或網(wǎng)文更新在第2章和第3章中間增加新的一章節(jié),并調(diào)整順序,更新模塊410計算得到新增加章節(jié)對應(yīng)的特征值為E,并更新第一特征值鏈表為A、B、E、C、D;或者網(wǎng)文更新刪除第3章,更新模塊410更新第一特征值鏈表為A、B、D;或者網(wǎng)文更新將第2章和第3章合并,更新模塊410計算得到合并章節(jié)的特征值為F,并更新第一特征值鏈表為A、F、D;或者網(wǎng)文更新將第2章拆分為兩個章節(jié),更新模塊410計算得到拆分的兩個章節(jié)的特征值為G、H,并更新第一特征值鏈表為A、G、H、C、D;或者網(wǎng)文調(diào)整第2章和第3章的順序,更新模塊410更新第一特征值鏈表為A、C、B、D等。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
比較模塊420,適于將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較;若不一致,獲得差異信息。
第二特征值鏈表由客戶端已下載的網(wǎng)文的各個章節(jié)的特征值組成,其中,第二特征值鏈表的順序為客戶端已下載的網(wǎng)文中數(shù)個章節(jié)的排列順序。
比較模塊420將第一特征值鏈表與第二特征值鏈表進(jìn)行比較。比較時,比較模塊420需要將第一特征值鏈表與第二特征值鏈表中的各個特征值及鏈表順序都進(jìn)行比較。如第一特征值鏈表為A、B、C1、D,第二特征值鏈表為A、B、C、D,比較模塊420將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致;或第一特征值鏈表為A、B、E、C、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,比較模塊420可以判斷第一特征值鏈表與第二特征值鏈表不一致;第一特征值鏈表為A、F、D,第二特征值鏈表為A、B、C、D,將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,比較模塊420可以判斷第一特征值鏈表與第二特征值鏈表不一致;第一特征值鏈表為A、G、H、C、D,第二特征值鏈表為A、B、C、D,比較模塊420將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致;第一特征值鏈表為A、C、B、D,第二特征值鏈表為A、B、C、D,比較模塊420將第一特征值鏈表與第二特征值鏈表進(jìn)行比較,可以判斷第一特征值鏈表與第二特征值鏈表不一致。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
比較模塊420判斷第一特征值鏈表與第二特征值鏈表不一致時,即網(wǎng)文更新,與客戶端已下載的網(wǎng)文不一致,比較模塊420獲得第一特征值鏈表與第二特征值鏈表之間的差異信息。差異信息可以包括如第一特征值鏈表與第二特征值鏈表不一致的特征值、第一特征值鏈表與第二特征值鏈表不一致的順序等。
可選地,比較模塊420進(jìn)一步適于在接收到客戶端發(fā)出的更新請求后,將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較??蛻舳税l(fā)出的更新請求,可以在如客戶端進(jìn)行章節(jié)切換時發(fā)出更新請求;或在每日預(yù)設(shè)的時間發(fā)出更新請求;或每日預(yù)設(shè)發(fā)出更新請求的次數(shù),沒有達(dá)到預(yù)設(shè)次數(shù)時,發(fā)出更新請求等。比較模塊420在接收到客戶端發(fā)出的更新請求后,再將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,以減少與客戶端持久連接而造成的數(shù)據(jù)消耗。
傳輸模塊430,適于根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
傳輸模塊430根據(jù)差異信息,獲取更新內(nèi)容。其中更新內(nèi)容包括了需要更新的章節(jié)、更新章節(jié)的排列順序等。如差異信息中包括了特征值,傳輸模塊430獲取更新內(nèi)容中包括該特征值對應(yīng)的章節(jié);差異信息中包括了特征值及部分鏈表,傳輸模塊430獲取更新內(nèi)容中包括該特征值對應(yīng)的章節(jié),還包括了該章節(jié)的排列順序等。
傳輸模塊430將更新內(nèi)容傳輸給客戶端,使客戶端可以根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理,得到更新后的網(wǎng)文。進(jìn)一步,更新內(nèi)容還可以包括差異信息,在更新處理中還包括對第二特征值鏈表的更新,使更新后的第二特征值鏈表與第一特征值鏈表一致。
具體的,傳輸模塊430還包括了章節(jié)更新模塊431、章節(jié)刪除模塊432、調(diào)整模塊433。
傳輸模塊430根據(jù)差異信息內(nèi)容不同,獲取不同的更新內(nèi)容,執(zhí)行不同的模塊。若差異信息為第一特征值鏈表包含未記錄在第二特征值鏈表中的特征值,執(zhí)行章節(jié)更新模塊431;若差異信息為第一特征值鏈表不包含記錄在第二特征值鏈表中的特征值,執(zhí)行章節(jié)刪除模塊432;若差異信息為第一特征值鏈表與第二特征值鏈表不一致的鏈表順序,執(zhí)行調(diào)整模塊433。
章節(jié)更新模塊431,適于若差異信息為第一特征值鏈表包含未記錄在第二特征值鏈表中的特征值,將該特征值以及該特征值對應(yīng)的章節(jié)發(fā)送給客戶端,以供客戶端更新第二特征值鏈表以及該特征值對應(yīng)的章節(jié)。
若差異信息為第一特征值鏈表包含未記錄在第二特征值鏈表中的特征值,如第一特征值鏈表為A、B、E、C、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了新增加的章節(jié)的特征值為E,其差異信息為特征值E,且特征值E的位置為特征值B和特征值C之間。章節(jié)更新模塊431獲取的更新內(nèi)容為該特征值E以及該特征值E對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。章節(jié)更新模塊431將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、B、E、C、D,并且同時更新該特征值E對應(yīng)的章節(jié),將特征值E對應(yīng)的章節(jié)更新至客戶端特征值B和特征值C對應(yīng)章節(jié)之間,完成網(wǎng)文新增章節(jié)的更新處理;或者第一特征值鏈表為A、B、C1、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了原特征值為C的章節(jié)的更新,更新章節(jié)的特征值為C1,其差異信息為特征值C1,且特征值C1的位置為特征值B和特征值D之間。章節(jié)更新模塊431獲取的更新內(nèi)容為該特征值C1以及該特征值C1對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。章節(jié)更新模塊431將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、B、C1、D,并且同時更新該特征值C1對應(yīng)的章節(jié),將特征值C1對應(yīng)的章節(jié)更新至客戶端特征值B和特征值D對應(yīng)章節(jié)之間,替換原特征值C對應(yīng)的章節(jié),完成網(wǎng)文原章節(jié)內(nèi)容替換的更新處理;或者第一特征值鏈表為A、F、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了合并章節(jié),將兩章節(jié)合并后的新章節(jié)的特征值為F,其差異信息為特征值F,且特征值F的位置為特征值A(chǔ)和特征值D之間。章節(jié)更新模塊431獲取的更新內(nèi)容為該特征值F以及該特征值F對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。章節(jié)更新模塊431將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、F、D,并且同時更新該特征值F對應(yīng)的章節(jié),將特征值F對應(yīng)的章節(jié)更新至客戶端特征值A(chǔ)和特征值D對應(yīng)章節(jié)之間,替換原特征值B、C對應(yīng)的章節(jié),完成網(wǎng)文對原章節(jié)合并后進(jìn)行更新替換的更新處理;或者第一特征值鏈表為A、G、H、C、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中包括了拆分章節(jié),將一章節(jié)拆分為兩章節(jié),拆分的新章節(jié)的特征值為G、H,其差異信息為特征值G、H,且特征值G、H的位置為特征值A(chǔ)和特征值C之間。章節(jié)更新模塊431獲取的更新內(nèi)容為該特征值G、H以及該特征值G、H對應(yīng)的章節(jié),并且需要記錄該章節(jié)的位置。章節(jié)更新模塊431將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、G、H、C、D,并且同時更新該特征值G、H對應(yīng)的章節(jié),將特征值G、H對應(yīng)的章節(jié)更新至客戶端特征值A(chǔ)和特征值C對應(yīng)章節(jié)之間,替換原特征值B對應(yīng)的章節(jié),完成網(wǎng)文對原章節(jié)拆分后進(jìn)行更新替換的更新處理。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
章節(jié)刪除模塊432,適于若差異信息為第一特征值鏈表不包含記錄在第二特征值鏈表中的特征值,將該特征值發(fā)送給客戶端,以供客戶端更新第二特征值鏈表以及刪除該特征值對應(yīng)的章節(jié)。
若差異信息為第一特征值鏈表不包含記錄在第二特征值鏈表中的特征值,如第一特征值鏈表為A、B、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中不包括了章節(jié)的特征值為C,刪除了特征值為C的章節(jié),其差異信息為特征值C,且特征值C的位置為特征值B和特征值D之間。章節(jié)刪除模塊432獲取的更新內(nèi)容為該特征值C。章節(jié)刪除模塊432將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、B、D,并且同時刪除該特征值C對應(yīng)的章節(jié),完成網(wǎng)文刪除章節(jié)的更新處理。以上為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
調(diào)整模塊433,適于若差異信息為第一特征值鏈表與第二特征值鏈表不一致的鏈表順序,將該不一致的鏈表順序發(fā)送給客戶端,以供客戶端更新第二特征值鏈表以及根據(jù)不一致的鏈表順序調(diào)整對應(yīng)的章節(jié)排列順序。
若差異信息為第一特征值鏈表與第二特征值鏈表不一致的鏈表順序,如第一特征值鏈表為A、C、B、D,第二特征值鏈表為A、B、C、D,第一特征值鏈表中對鏈表順序進(jìn)行了調(diào)整,即將網(wǎng)文中各章節(jié)的前后排列順序進(jìn)行了調(diào)整,其差異信息為不一致的鏈表順序。調(diào)整模塊433獲取的更新內(nèi)容為鏈表的順序。調(diào)整模塊433將更新內(nèi)容傳輸給客戶端,以供客戶端更新第二特征值鏈表,更新后的第二特征值鏈表為A、C、B、D,并且同時對應(yīng)的調(diào)整各章節(jié)的排列順序,完成網(wǎng)文章節(jié)排列順序的更新處理。以上為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
進(jìn)一步,差異信息可能同時包括了章節(jié)更新模塊431、章節(jié)刪除模塊432、調(diào)整模塊433中描述的多項信息,若差異信息同時包括了多項信息時,可以根據(jù)差異信息包括的多項信息執(zhí)行以上對應(yīng)的各模塊,執(zhí)行時,各模塊間不限定具體的執(zhí)行先后順序。同時,客戶端在進(jìn)行更新處理時,除根據(jù)更新內(nèi)容對應(yīng)的將章節(jié)進(jìn)行相應(yīng)的更新外,還可以將更新后的各章節(jié)的章節(jié)號重新按照排列順序進(jìn)行排序。如客戶端已下載的章節(jié)原排列順序為第1章、第2章、第3章、第4章,其中網(wǎng)文更新刪除了第3章,在執(zhí)行上述模塊后,還將原第4章的章節(jié)重新排序為第3章;或者客戶端已下載的章節(jié)原排列順序為第1章、第2章、第3章、第4章,其中網(wǎng)文更新將原第3章拆分為2章,在執(zhí)行上述模塊后,還將原第4章的章節(jié)重新排序為第5章,原第3章拆分的2章依次排序為第3章、第4章等。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
根據(jù)本發(fā)明提供的網(wǎng)文修訂更新裝置,根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,若不一致,獲得差異信息。根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。包括如網(wǎng)文新增章節(jié)、刪除章節(jié)、替換章節(jié)、拆分章節(jié)、合并章節(jié)等多種情況的更新處理,有效的解決了網(wǎng)文修訂更新后,造成客戶端已下載網(wǎng)文無法更新或更新的章節(jié)位置錯亂等情況。
實施例五
圖5示出了根據(jù)本發(fā)明實施例五的更新網(wǎng)文閱讀進(jìn)度裝置的功能框圖。如圖5所示,更新網(wǎng)文閱讀進(jìn)度裝置還包括如下模塊:
接收模塊510,適于接收服務(wù)器根據(jù)網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容。
更新進(jìn)度模塊520,適于根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
接收模塊510接收服務(wù)器根據(jù)以上實施例中網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容,更新進(jìn)度模塊520根據(jù)更新內(nèi)容首先對網(wǎng)文進(jìn)行相應(yīng)的更新處理。具體各更新內(nèi)容及更新處理可參照實施例二中的描述,在此不再贅述。
用戶閱讀進(jìn)度是指當(dāng)前客戶端已下載網(wǎng)文中用戶當(dāng)前已經(jīng)閱讀過的網(wǎng)文的具體位置。更新進(jìn)度模塊520進(jìn)一步包括了網(wǎng)文更新模塊521。網(wǎng)文更新模塊521根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。在網(wǎng)文更新模塊521更新網(wǎng)文后,更新進(jìn)度模塊520根據(jù)更新后的網(wǎng)文和用戶閱讀進(jìn)度對應(yīng)的網(wǎng)文的具體位置,更新網(wǎng)文的閱讀進(jìn)度。如用戶閱讀進(jìn)度在當(dāng)前客戶端已下載網(wǎng)文的第3章,網(wǎng)文更新模塊521更新后的網(wǎng)文在第3章前增加或刪除章節(jié)。更新進(jìn)度模塊520可以根據(jù)更新后的網(wǎng)文中增加或刪除的章節(jié)對應(yīng)的字?jǐn)?shù),向后或向前調(diào)整對應(yīng)的字?jǐn)?shù),重新計算得到網(wǎng)文新的閱讀進(jìn)度;或者更新進(jìn)度模塊520從更新后的網(wǎng)文中查找到原第3章對應(yīng)的在更新后的網(wǎng)文中的位置,更新閱讀進(jìn)度至查找到的新的位置處;或者若用戶閱讀進(jìn)度所在的章節(jié)被刪除、被合并或被拆分,更新進(jìn)度模塊520將閱讀進(jìn)度更新為該章節(jié)被更新后對應(yīng)的章節(jié)處;或者若用戶閱讀進(jìn)度所在的章節(jié)排列順序被調(diào)整,更新進(jìn)度模塊520將閱讀進(jìn)度更新為該章節(jié)被調(diào)整后所在的位置對應(yīng)的章節(jié)處。以上均為舉例說明,具體實施時根據(jù)實際情況進(jìn)行設(shè)置,此處不做具體限定。
根據(jù)本發(fā)明提供的更新網(wǎng)文閱讀進(jìn)度裝置,在接收服務(wù)器根據(jù)網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容后,根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。解決了更新后章節(jié)錯亂,用戶閱讀進(jìn)度調(diào)整不當(dāng),用戶無法找到原有閱讀進(jìn)度等問題。
實施例六
本申請實施例六提供了一種非易失性計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有至少一可執(zhí)行指令,該計算機可執(zhí)行指令可執(zhí)行上述任意方法實施例中的網(wǎng)文修訂更新方法。
實施例七
本申請實施例七提供了一種非易失性計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有至少一可執(zhí)行指令,該計算機可執(zhí)行指令可執(zhí)行上述任意方法實施例中的更新網(wǎng)文閱讀進(jìn)度方法。
實施例八
圖6示出了根據(jù)本發(fā)明實施例八的一種服務(wù)器的結(jié)構(gòu)示意圖,本發(fā)明具體實施例并不對服務(wù)器的具體實現(xiàn)做限定。
如圖6所示,該服務(wù)器可以包括:處理器(processor)602、通信接口(Communications Interface)604、存儲器(memory)606、以及通信總線608。
其中:
處理器602、通信接口604、以及存儲器606通過通信總線608完成相互間的通信。
通信接口604,用于與其它設(shè)備比如客戶端或其它服務(wù)器等的網(wǎng)元通信。
處理器602,用于執(zhí)行程序610,具體可以執(zhí)行上述網(wǎng)文修訂更新方法實施例中的相關(guān)步驟。
具體地,程序610可以包括程序代碼,該程序代碼包括計算機操作指令。
處理器602可能是中央處理器CPU,或者是特定集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。服務(wù)器包括的一個或多個處理器,可以是同一類型的處理器,如一個或多個CPU;也可以是不同類型的處理器,如一個或多個CPU以及一個或多個ASIC。
存儲器606,用于存放程序610。存儲器606可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
程序610具體可以用于使得處理器602執(zhí)行以下操作:
在一種可選的實施方式中,程序610用于使得處理器602根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表;所述第一特征值鏈表的順序為數(shù)個章節(jié)的排列順序;將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較;若不一致,獲得差異信息;根據(jù)所述差異信息獲取更新內(nèi)容,將所述更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
在一種可選的實施方式中,特征值根據(jù)所述章節(jié)的章節(jié)信息和/或所述章節(jié)的更新時間,使用MD5方式計算得到。
在一種可選的實施方式中,若所述差異信息為所述第一特征值鏈表包含未記錄在所述第二特征值鏈表中的特征值,程序610用于使得處理器602獲取所述更新內(nèi)容為該特征值以及該特征值對應(yīng)的章節(jié),將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及該特征值對應(yīng)的章節(jié)。
在一種可選的實施方式中,若所述差異信息為所述第一特征值鏈表不包含記錄在所述第二特征值鏈表中的特征值,程序610用于使得處理器602獲取所述更新內(nèi)容為該特征值,將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及刪除該特征值對應(yīng)的章節(jié)。
在一種可選的實施方式中,若所述差異信息為所述第一特征值鏈表與所述第二特征值鏈表不一致的鏈表順序,程序610用于使得處理器602獲取所述更新內(nèi)容為該不一致的鏈表順序,將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及根據(jù)所述不一致的鏈表順序調(diào)整對應(yīng)的章節(jié)排列順序。
在一種可選的實施方式中,程序610用于使得處理器602接收到客戶端發(fā)出的更新請求,將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較。
程序610中各步驟的具體實現(xiàn)可以參見上述網(wǎng)文修訂更新實施例中的相應(yīng)步驟和單元中對應(yīng)的描述,在此不贅述。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設(shè)備和模塊的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程描述,在此不再贅述。
通過本實施例提供的方案,根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表。將第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較,若不一致,獲得差異信息。根據(jù)差異信息獲取更新內(nèi)容,將更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。解決了網(wǎng)文修訂更新后,造成客戶端已下載網(wǎng)文無法更新或更新的章節(jié)位置錯亂等情況。
實施例九
圖7示出了根據(jù)本發(fā)明實施例八的一種電子設(shè)備的結(jié)構(gòu)示意圖,本發(fā)明具體實施例并不對電子設(shè)備的具體實現(xiàn)做限定。
如圖7所示,該服務(wù)器可以包括:處理器(processor)702、通信接口(Communications Interface)704、存儲器(memory)706、以及通信總線708。
其中:
處理器702、通信接口704、以及存儲器706通過通信總線708完成相互間的通信。
通信接口704,用于與其它設(shè)備比如客戶端或其它服務(wù)器等的網(wǎng)元通信。
處理器702,用于執(zhí)行程序710,具體可以執(zhí)行上述更新網(wǎng)文閱讀進(jìn)度方法實施例中的相關(guān)步驟。
具體地,程序710可以包括程序代碼,該程序代碼包括計算機操作指令。
處理器702可能是中央處理器CPU,或者是特定集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。服務(wù)器包括的一個或多個處理器,可以是同一類型的處理器,如一個或多個CPU;也可以是不同類型的處理器,如一個或多個CPU以及一個或多個ASIC。
存儲器706,用于存放程序710。存儲器706可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
程序710具體可以用于使得處理器702執(zhí)行以下操作:
在一種可選的實施方式中,程序710用于使得處理器702接收服務(wù)器根據(jù)權(quán)利要求1-6任一項中所述的方法傳輸?shù)母聝?nèi)容;根據(jù)所述更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
在一種可選的實施方式中,程序710用于使得處理器702根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理;根據(jù)所述更新后的網(wǎng)文和所述用戶閱讀進(jìn)度對應(yīng)的網(wǎng)文的位置,更新網(wǎng)文的閱讀進(jìn)度。
程序710中各步驟的具體實現(xiàn)可以參見上述更新網(wǎng)文閱讀進(jìn)度實施例中的相應(yīng)步驟和單元中對應(yīng)的描述,在此不贅述。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設(shè)備和模塊的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程描述,在此不再贅述。
通過本實施例提供的方案,在接收服務(wù)器根據(jù)網(wǎng)文修訂更新方法傳輸?shù)母聝?nèi)容后,根據(jù)更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。解決了更新后章節(jié)錯亂,用戶閱讀進(jìn)度調(diào)整不當(dāng),用戶無法找到原有閱讀進(jìn)度等問題。
在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的網(wǎng)文修訂更新裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本發(fā)明公開了:A1、一種網(wǎng)文修訂更新方法,所述方法運行于服務(wù)器側(cè),所述網(wǎng)文由數(shù)個章節(jié)組成,每個章節(jié)具有唯一的特征值,所述方法包括:
根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表;所述第一特征值鏈表的順序為數(shù)個章節(jié)的排列順序;
將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較;若不一致,獲得差異信息;
根據(jù)所述差異信息獲取更新內(nèi)容,將所述更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
A2、根據(jù)權(quán)利要求A1所述的方法,其中,所述特征值根據(jù)所述章節(jié)的章節(jié)信息和/或所述章節(jié)的更新時間,使用MD5方式計算得到。
A3、根據(jù)權(quán)利要求A1所述的方法,其中,所述根據(jù)所述差異信息獲取更新內(nèi)容,將所述更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理進(jìn)一步包括:
若所述差異信息為所述第一特征值鏈表包含未記錄在所述第二特征值鏈表中的特征值,獲取所述更新內(nèi)容為該特征值以及該特征值對應(yīng)的章節(jié),將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及該特征值對應(yīng)的章節(jié)。
A4、根據(jù)權(quán)利要求A1所述的方法,其中,所述根據(jù)所述差異信息獲取更新內(nèi)容,將所述更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理進(jìn)一步包括:
若所述差異信息為所述第一特征值鏈表不包含記錄在所述第二特征值鏈表中的特征值,獲取所述更新內(nèi)容為該特征值,將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及刪除該特征值對應(yīng)的章節(jié)。
A5、根據(jù)權(quán)利要求A1所述的方法,其中,所述根據(jù)所述差異信息獲取更新內(nèi)容,將所述更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理進(jìn)一步包括:
若所述差異信息為所述第一特征值鏈表與所述第二特征值鏈表不一致的鏈表順序,獲取所述更新內(nèi)容為該不一致的鏈表順序,將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及根據(jù)所述不一致的鏈表順序調(diào)整對應(yīng)的章節(jié)排列順序。
A6、根據(jù)權(quán)利要求A1-A5任一項中所述的方法,其中,所述將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較進(jìn)一步包括:
接收到客戶端發(fā)出的更新請求,將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較。
本發(fā)明還公開了:B7、一種更新網(wǎng)文閱讀進(jìn)度方法,其中,所述方法運行于客戶端側(cè),其包括:
接收服務(wù)器根據(jù)權(quán)利要求A1-A6任一項中所述的方法傳輸?shù)母聝?nèi)容;
根據(jù)所述更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
B8、根據(jù)權(quán)利要求B7所述的方法,其中,所述根據(jù)所述更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度進(jìn)一步包括:
根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理;
根據(jù)所述更新后的網(wǎng)文和所述用戶閱讀進(jìn)度對應(yīng)的網(wǎng)文的位置,更新網(wǎng)文的閱讀進(jìn)度。
本發(fā)明還公開了:C9、一種網(wǎng)文修訂更新裝置,其包括:
更新模塊,適于根據(jù)網(wǎng)文更新情況,更新由網(wǎng)文的數(shù)個章節(jié)的特征值構(gòu)成的第一特征值鏈表;所述第一特征值鏈表的順序為數(shù)個章節(jié)的排列順序;
比較模塊,適于將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較;若不一致,獲得差異信息;
傳輸模塊,適于根據(jù)所述差異信息獲取更新內(nèi)容,將所述更新內(nèi)容傳輸給客戶端,以供客戶端根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理。
C10、根據(jù)權(quán)利要求C9所述的裝置,其中,所述特征值根據(jù)所述章節(jié)的章節(jié)信息和/或所述章節(jié)的更新時間,使用MD5方式計算得到。
C11、根據(jù)權(quán)利要求C9所述的裝置,其中,所述傳輸模塊進(jìn)一步包括:
章節(jié)更新模塊,適于若所述差異信息為所述第一特征值鏈表包含未記錄在所述第二特征值鏈表中的特征值,獲取所述更新內(nèi)容為該特征值以及該特征值對應(yīng)的章節(jié),將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及該特征值對應(yīng)的章節(jié)。
C12、根據(jù)權(quán)利要求C9所述的裝置,其中,所述傳輸模塊進(jìn)一步包括:
章節(jié)刪除模塊,適于若所述差異信息為所述第一特征值鏈表包含未記錄在所述第二特征值鏈表中的特征值,獲取所述更新內(nèi)容為該特征值以及該特征值對應(yīng)的章節(jié),將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及該特征值對應(yīng)的章節(jié)。
C13、根據(jù)權(quán)利要求C12所述的裝置,其中,所述傳輸模塊進(jìn)一步包括:
調(diào)整模塊,適于若所述差異信息為所述第一特征值鏈表與所述第二特征值鏈表不一致的鏈表順序,獲取所述更新內(nèi)容為該不一致的鏈表順序,將所述更新內(nèi)容傳輸給客戶端,以供客戶端更新所述第二特征值鏈表以及根據(jù)所述不一致的鏈表順序調(diào)整對應(yīng)的章節(jié)排列順序。
C14、根據(jù)權(quán)利要求C9-C12任一項中所述的裝置,其中,所述比較模塊進(jìn)一步適于:
接收到客戶端發(fā)出的更新請求,將所述第一特征值鏈表與客戶端已下載的網(wǎng)文對應(yīng)的第二特征值鏈表進(jìn)行比較。
本發(fā)明還公開了:D15、一種更新網(wǎng)文閱讀進(jìn)度裝置,其包括:
接收模塊,適于接收服務(wù)器根據(jù)權(quán)利要求A1-A6任一項中所述方法傳輸?shù)母聝?nèi)容;
更新進(jìn)度模塊,適于根據(jù)所述更新內(nèi)容和用戶閱讀進(jìn)度,更新網(wǎng)文的閱讀進(jìn)度。
D16、根據(jù)權(quán)利要求D15所述的裝置,其中,所述更新進(jìn)度模塊進(jìn)一步包括:
網(wǎng)文更新模塊,適于根據(jù)所述更新內(nèi)容對網(wǎng)文進(jìn)行更新處理;
更新進(jìn)度模塊進(jìn)一步適于:根據(jù)所述更新后的網(wǎng)文和所述用戶閱讀進(jìn)度對應(yīng)的網(wǎng)文的位置,更新網(wǎng)文的閱讀進(jìn)度。
本發(fā)明還公開了:E17、一種服務(wù)器,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如權(quán)利要求A1-A6中任一項所述的網(wǎng)文修訂更新方法對應(yīng)的操作。
本發(fā)明還公開了:F18、一種電子設(shè)備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如權(quán)利要求B7-B8中任一項所述的更新網(wǎng)文閱讀進(jìn)度方法對應(yīng)的操作。
本發(fā)明還公開了:G19、一種計算機存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如權(quán)利要求A1-A6中任一項所述的網(wǎng)文修訂更新方法對應(yīng)的操作。
本發(fā)明還公開了:H20、一種計算機存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如權(quán)利要求B7-B8中任一項所述的更新網(wǎng)文閱讀進(jìn)度方法對應(yīng)的操作。