本發明涉及數據處理技術領域,特別是涉及一種數據更新方法及裝置。
背景技術:
現有技術中,對于鍵值對(key-value)數據的更新通常采用循環往復的多次查詢和插入來完成,而查詢和插入操作都是通過網絡接口來實現的。具體的,客戶端通過網絡接口將鍵值對數據的鍵和值發送給服務進程,以使服務進程利用數據的鍵和值查詢數據,進而將查詢到的數據插入相應的數據庫中。可見,這種更新方法中,服務進程通過網絡接口查詢數據使得數據的更新過程受限于網絡帶寬和處理速度,導致將數據插入數據庫時耗費網絡帶寬,更新效率偏低。
此外,由于一個文件通常由許多個數據組成,若采用上述方法進行數據的更新,則需要每條數據都執行一遍查詢和插入操作,即將文件中的所有數據一條一條的進行更新,這就導致客戶端和服務器間需進行多次交互才能完成所有數據的更新,進而影響數據更新的處理速度。
技術實現要素:
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的數據更新方法及裝置。
依據本發明的一個方面,提供了一種數據更新方法,應用于服務器端,所述方法包括:
根據預定文件格式對待更新的數據進行組幀,獲得符合所述預定文件格式的目標數據,所述待更新的數據為包括鍵key和值value的鍵值對數據;
將所述目標數據傳輸至所述服務器端的預定存儲器;
當接收到請求讀取符合所述預定文件格式的數據的讀取請求時,根據所述讀取請求中的所述預定文件格式在所述預定存儲器中查找并匹配到所述目標數據;
從所述預定存儲器中讀取所述目標數據,并將讀取到的所述目標數據更新至所述服務器端的預定數據庫中。
可選地,所述預定文件格式為二進制格式、十進制格式或十六進制格式。
可選地,所述符合所述預定文件格式的目標數據包括以下至少一項內容:
所述鍵key的長度信息;
所述鍵key的內容;
所述值value的長度信息;
所述值value的內容。
可選地,所述根據預定文件格式對待更新的數據進行組幀,包括:
對所述待更新的數據的幀長按預定規則進行分區,其中,各分區分別指代不同的數據信息。
可選地,所述分區包括:
頭部head,用于標識所述目標數據的數據長度及所述目標數據的起始字節;
尾部tail,用于標識所述目標數據的結束字節;
數據區,用于記錄所述目標數據的真實數據信息;
驗證碼區,用于記錄所述目標數據的驗證碼。
可選地,所述預定存儲器包括內存和/或固態硬盤。
可選地,從所述預定存儲器中讀取所述目標數據,并將讀取到的所述目標數據更新至所述服務器端的預定數據庫中,包括:
從所述預定存儲器中讀取一條目標數據;
將讀取到的一條目標數據寫入所述預定數據庫;
繼續從所述預定存儲器中讀取下一條目標數據并將其寫入所述預定數據庫,直至所述目標數據已全部被寫入。
可選地,所述預定數據庫包括非關系型數據庫。
可選地,所述非關系型數據庫為NoSQL數據庫。
依據本發明的另一個方面,提供了一種數據更新裝置,應用于服務器端,所述裝置包括:
組幀模塊,適于根據預定文件格式對待更新的數據進行組幀,獲得符合所述預定文件格式的目標數據,所述待更新的數據為包括鍵key和值value的鍵值對數據;
傳輸模塊,適于將所述目標數據傳輸至所述服務器端的預定存儲器;
查找模塊,適于當接收到請求讀取符合所述預定文件格式的數據的讀取請求時,根據所述讀取請求中的所述預定文件格式在所述預定存儲器中查找并匹配到所述目標數據;
更新模塊,適于從所述預定存儲器中讀取所述目標數據,并將讀取到的所述目標數據更新至所述服務器端的預定數據庫中。
可選地,所述預定文件格式為二進制格式、十進制格式或十六進制格式。
可選地,所述符合所述預定文件格式的目標數據包括以下至少一項內容:
所述鍵key的長度信息;
所述鍵key的內容;
所述值value的長度信息;
所述值value的內容。
可選地,所述組幀模塊還適于:
對所述待更新的數據的幀長按預定規則進行分區,其中,各分區分別指代不同的數據信息。
可選地,所述分區包括:
頭部head,用于標識所述目標數據的數據長度及所述目標數據的起始字節;
尾部tail,用于標識所述目標數據的結束字節;
數據區,用于記錄所述目標數據的真實數據信息;
驗證碼區,用于記錄所述目標數據的驗證碼。
可選地,所述預定存儲器包括內存和/或固態硬盤。
可選地,所述更新模塊還適于:
從所述預定存儲器中讀取一條目標數據;
將讀取到的一條目標數據寫入所述預定數據庫;
繼續從所述預定存儲器中讀取下一條目標數據并將其寫入所述預定數據庫,直至所述目標數據已全部被寫入。
可選地,所述預定數據庫包括非關系型數據庫。
可選地,所述非關系型數據庫為NoSQL數據庫。
采用本發明實施例提供的技術方案,能夠首先根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據,并將該目標數據傳輸至服務器端的預定存儲器,使得待更新的數據能夠在更新之前一次性傳輸至服務器端,從而使服務器在查詢數據時無需再通過網絡接口從客戶端逐條查詢數據,而只需從服務器本端查詢即可,因此,通過將目標數據傳輸至服務器端的預定存儲器使得數據更新過程不再占用網絡帶寬,同時也減少了客戶端和服務器端的交互,大大提高了數據更新的效率。并且,將待更新的數據組幀成符合預定文件格式的目標數據,使得服務器查詢數據時能夠根據預定文件格式準確快速地查詢到目標數據,而無需再利用鍵值對數據的鍵值逐條查詢數據,提高了數據查詢的速度,進一步提高數據更新的效率。此外,當服務器端接收到請求讀取符合預定文件格式的數據的讀取請求時,能夠根據讀取請求中的預定文件格式在預定存儲器中查找并匹配到目標數據,進而從預定存儲器中讀取目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中,使得服務器讀取數據時無需通過網絡接口從客戶端逐條查詢數據,而只需根據預定文件格式從本端的預定存儲器中讀取目標數據即可,相當于從本端磁盤或內存中一次性批量讀取所有目標數據,在很大程度上提高了數據讀取和更新的效率。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
根據下文結合附圖對本發明具體實施例的詳細描述,本領域技術人員將會更加明了本發明的上述以及其他目的、優點和特征。
附圖說明
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1是根據本發明一個實施例的一種數據更新方法的示意性流程圖;
圖2是根據本發明另一個實施例的一種數據更新方法的示意性流程圖;
圖3是根據本發明一個實施例的一種數據更新裝置的示意性框圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
圖1是根據本發明一個實施例的一種數據更新方法的示意性流程圖。如圖1所示,該方法應用于服務器端,一般性地可包括以下步驟S101-S104:
步驟S101,根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據,待更新的數據為包括鍵key和值value的鍵值對數據即key-value數據。
步驟S102,將目標數據傳輸至服務器端的預定存儲器。
步驟S103,當接收到請求讀取符合預定文件格式的數據的讀取請求時,根據讀取請求中的預定文件格式在預定存儲器中查找并匹配到目標數據。
步驟S104,從預定存儲器中讀取目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中。
采用本發明實施例提供的技術方案,能夠首先根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據,并將該目標數據傳輸至服務器端的預定存儲器,使得待更新的數據能夠在更新之前一次性傳輸至服務器端,從而使服務器在查詢數據時無需再通過網絡接口從客戶端逐條查詢數據,而只需從服務器本端查詢即可,因此,通過將目標數據傳輸至服務器端的預定存儲器使得數據更新過程不再占用網絡帶寬,同時也減少了客戶端和服務器端的交互,大大提高了數據更新的效率。并且,將待更新的數據組幀成符合預定文件格式的目標數據,使得服務器查詢數據時能夠根據預定文件格式準確快速地查詢到目標數據,而無需再利用鍵值對數據的鍵值逐條查詢數據,提高了數據查詢的速度,進一步提高數據更新的效率。此外,當服務器端接收到請求讀取符合預定文件格式的數據的讀取請求時,能夠根據讀取請求中的預定文件格式在預定存儲器中查找并匹配到目標數據,進而從預定存儲器中讀取目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中,使得服務器讀取數據時無需通過網絡接口從客戶端逐條查詢數據,而只需根據預定文件格式從本端的預定存儲器中讀取目標數據即可,相當于從本端磁盤或內存中一次性批量讀取所有目標數據,在很大程度上提高了數據讀取和更新的效率。
首先執行步驟S101,即根據預定文件格式對待更新的數據進行組幀。其中,預定文件格式可以為二進制格式、十進制格式或十六進制格式等。符合預定文件格式的目標數據包括以下至少一項內容:鍵key的長度信息、鍵key的內容、值value的長度信息、值value的內容。舉例而言,組幀后的每條目標數據都是一個二進制格式的數據塊,且每個數據塊由鍵key的長度信息、鍵key的內容、值value的長度信息以及值value的內容這四個部分組成。其中,第一部分占用2個字節,表明鍵key的長度;第二部分為鍵key的內容;第三部分占用4個字節,表明值value的長度;第四部分為值value的內容。
在一個實施例中,根據預設文件格式對待更新的數據進行組幀的步驟還可執行為如下方式:對待更新的數據的幀長按預定規則進行分區,其中,各分區分別指代不同的數據信息。預定規則根據預定文件格式的不同而有所不同,當預定文件格式為依次按照頭部head、尾部tail、數據區以及驗證碼區組合的數據格式時,上述按照預定規則劃分的各分區包括以下四部分內容:
(1)頭部head,用于標識目標數據的數據長度及目標數據的起始字節;
(2)尾部tail,用于標識目標數據的結束字節;
(3)數據區,用于記錄目標數據的真實數據信息;
(4)驗證碼區,用于記錄目標數據的驗證碼。
需要說明的是,本實施例對分區中的四部分內容的順序不作限定,即例如,預定文件格式還可以是依次按照頭部head、數據區、驗證碼區以及尾部tail組合的數據格式。
該實施例中,服務器端查找目標數據時,可根據頭部head中目標數據的起始字節、目標數據的數據長度以及尾部tail中目標數據的結束字節準確查找到當前目標數據在所有數據中的位置,然后利用數據區中目標數據的真實數據信息讀取目標數據的內容。在一個實施例中,服務器還可利用驗證碼區的驗證碼對目標數據進行驗證,以確保目標數據的正確性。
根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據之后,繼續執行步驟S102,即將目標數據傳輸至服務器端的預定存儲器。其中,預定存儲器包括內存和/或固態硬盤。因此,該步驟可執行為:將目標數據傳輸至服務器端的內存和/或固態硬盤。本實施例中,通過將目標數據一次性傳輸至服務器端的內存和/或固態硬盤中,使得服務器在查詢數據時無需再通過網絡接口從客戶端逐條查詢數據,而只需從服務器本端的內存和/或固態硬盤中查詢即可,從而節省網絡帶寬,同時也減少了客戶端和服務器端的交互,大大提高了數據更新的效率。
將目標數據傳輸至服務器端的預定存儲器之后,繼續執行步驟S103,即當服務器端接收到請求讀取符合預定文件格式的數據的讀取請求時,根據讀取請求中的預定文件格式在預定存儲器中查找并匹配到目標數據。這里所說的預定文件格式應與預先對數據進行組幀時所依據的預定文件格式一致,以確保服務器端能夠準確查找到目標數據。本實施例中,服務器端無需通過網絡接口從客戶端逐條查找數據,而是直接從本端的預定存儲器(包括內存和/或固態硬盤)中查找并匹配目標數據,相當于從本端磁盤或內存中一次性批量匹配所有目標數據,在很大程度上提高了數據讀取和更新的效率。
服務器端在預定存儲器中匹配到目標數據之后,繼續執行步驟S104,即從預定存儲器中讀取目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中。具體的,該步驟可執行為如下方式:首先,從預定存儲器中讀取一條目標數據;其次,將讀取到的一條目標數據寫入預定數據庫;然后,繼續從預定存儲器中讀取下一條目標數據并將其寫入預定數據庫,直至目標數據已全部被寫入。本實施例中,服務器端直接從預定存儲器中讀取目標數據,而并非通過網絡接口從客戶端逐條查找并讀取數據,因此不僅能節省網絡帶寬,且能減少服務器端和客戶端的交互,從而提高數據更新的效率。
上述任一實施例中,預定存儲器包括非關系型數據庫。優選地,非關系型數據庫可以是NoSQL數據庫。
圖2是根據本發明一個具體實施例的一種數據更新方法的示意性流程圖。在該實施例中,數據更新方法應用于服務器端的NoSQL數據庫中數據的更新。如圖2所示,該方法可包括以下步驟S201-S205:
步驟S201,根據預定文件格式對待更新的key-value數據進行組幀,獲得符合預定文件格式的目標數據。其中,預定文件格式可以為二進制格式、十進制格式或十六進制格式等。符合預定文件格式的目標數據包括以下至少一項內容:鍵key的長度信息、鍵key的內容、值value的長度信息、值value的內容。例如,組幀后的每條目標數據都是一個二進制格式的數據塊,且每個數據塊由鍵key的長度信息、鍵key的內容、值value的長度信息以及值value的內容這四個部分組成。其中,第一部分占用2個字節,表明鍵key的長度;第二部分為鍵key的內容;第三部分占用4個字節,表明值value的長度;第四部分為值value的內容。
步驟S202,將目標數據傳輸至服務器端的固態硬盤中。在另一實施例中,還可將目標數據傳輸至服務器端的內存中。
步驟S203,當接收到請求讀取符合預定文件格式的數據的讀取請求時,根據讀取請求中的預定文件格式在固態硬盤中查找并匹配到目標數據。在另一實施例中,若將目標數據傳輸至服務器端的內存中,則執行該步驟時,應根據讀取請求中的預定文件格式在內存中查找并匹配到目標數據。
步驟S204,從固態硬盤中讀取一條匹配到的目標數據,并將讀取到的該條目標數據寫入服務器端的NoSQL數據庫。
步驟S205,判斷固態硬盤中是否存在未被讀取的目標數據。如果固態硬盤中存在未被讀取的目標數據,則返回步驟S204繼續讀取匹配到的目標數據并寫入;如果固態硬盤中不存在未被讀取的目標數據,說明所有的目標數據已被全部寫入NoSQL數據庫,則程序結束。
由此看見,該實施例能夠首先根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據,并將該目標數據傳輸至服務器端的固態硬盤,使得待更新的數據能夠在更新之前一次性傳輸至服務器端,從而使服務器在查詢數據時無需再通過網絡接口從客戶端逐條查詢數據,而只需從本端的固態硬盤查詢即可,因此,通過將目標數據傳輸至服務器端的固態硬盤使得數據更新過程不再占用網絡帶寬,同時也減少了客戶端和服務器端的交互,大大提高了數據更新的效率。并且,將待更新的數據組幀成符合預定文件格式的目標數據,使得服務器查詢數據時能夠根據預定文件格式準確快速地查詢到目標數據,而無需再利用鍵值對數據的鍵值逐條查詢數據,提高了數據查詢的速度,進一步提高數據更新的效率。此外,當服務器端接收到請求讀取符合預定文件格式的數據的讀取請求時,能夠根據讀取請求中的預定文件格式在本端的固態硬盤中查找并匹配到目標數據,進而從固態硬盤中讀取目標數據,并將讀取到的目標數據更新至服務器端的NoSQL數據庫,使得服務器讀取數據時無需通過網絡接口從客戶端逐條查詢數據,而只需根據預定文件格式從本端的固態硬盤中讀取目標數據即可,在很大程度上提高了數據讀取和更新的效率。
以下通過一具體實施例來說明本發明提供的數據更新方法。
具體實施例一
在具體實施例一中,一個文件中包括三個待更新的數據,當然,實際應用中,文件中的數據量往往很大,為方便說明,本實施例中采用較少的數據量來列舉待更新的數據。
首先,將文件中的三個待更新的數據按照預定文件格式進行組幀,獲得符合預定文件格式的目標數據。本實施例中,預定文件格式為依次按照頭部head、數據區、尾部tail以及驗證碼區組合的數據格式。其中,頭部head用于標識目標數據的數據長度及目標數據的起始字節;數據區用于記錄目標數據的真實數據信息;尾部tail用于標識目標數據的結束字節;驗證碼區用于記錄目標數據的驗證碼。假設對上述三個待更新的數據進行組幀后分別獲得以下三個目標數據:{1e,010F00EA001,0h,01;1e,010F00EA002,0h,02;1e,010F00EA003,0h,03}。其中,以分號“;”來分隔各目標數據,“le”為目標數據的起始字節,“010F00EA001”、“010F00EA002”或“010F00EA003”位為各目標數據的真實數據,“oh”為目標數據的結束字節,“01”、“02”、“03”為各目標數據的驗證碼。
其次,將目標數據{1e,010F00EA001,0h,01;1e,010F00EA002,0h,02;1e,010F00EA003,0h,03}存儲至服務器端的內存或固態硬盤中。
然后,當接收到請求讀取符合上述預定文件格式的數據的讀取請求(即接收到請求讀取按照頭部head、數據區、尾部tail以及驗證碼區組合的數據的讀取請求)時,根據該預定文件格式在服務器端的內存或固態硬盤中查找并匹配到目標數據。本實施例中,服務器從內存或固態硬盤中查找目標數據{1e,010F00EA001,0h,01;1e,010F00EA002,0h,02;1e,010F00EA003,0h,03}時,根據預定文件格式可準確的查找到各起始字節“le”和結束字節“oh”,并從各起始字節“le”和結束字節“oh”之間獲取到各目標數據的真實數據。必要時,可從結束字節“oh”之后獲取驗證碼對目標數據進行驗證,例如,當需要對第一個目標數據“1e,010F00EA001,0h,01”進行驗證時,從第一個目標數據的結束字節“oh”之后獲取驗證碼“01”;當需要對第二個目標數據“1e,010F00EA002,0h,02”進行驗證時,從第二個目標數據的結束字節“oh”之后獲取驗證碼“02”;當需要對第三個目標數據“1e,010F00EA003,0h,03”進行驗證時,從第三個目標數據的結束字節“oh”之后獲取驗證碼“03”。
最后,從內存或固態硬盤中讀取匹配到的目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中。
由具體實施例一可看出,在進行數據更新時,服務器端無需再通過網絡接口從客戶端逐條查詢數據,而只需從本端的內存或固態硬盤中按照預定文件格式查找并匹配數據即可,從而減少了對網絡帶寬的占用,同時也減少了客戶端和服務器端的交互,大大提高了數據更新的效率。
圖3是根據本發明一個實施例的一種數據更新裝置的示意性框圖。如圖3所示,該裝置應用于服務器端,包括:
組幀模塊310,適于根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據,待更新的數據為包括鍵key和值value的鍵值對數據;
傳輸模塊320,與組幀模塊310相耦合,適于將目標數據傳輸至服務器端的預定存儲器;
查找模塊330,與傳輸模塊320相耦合,適于當接收到請求讀取符合預定文件格式的數據的讀取請求時,根據讀取請求中的預定文件格式在預定存儲器中查找并匹配到目標數據;
更新模塊340,與查找模塊330相耦合,適于從預定存儲器中讀取目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中。
在一個實施例中,預定文件格式為二進制格式、十進制格式或十六進制格式。
在一個實施例中,符合預定文件格式的目標數據包括以下至少一項內容:
鍵key的長度信息;
鍵key的內容;
值value的長度信息;
值value的內容。
在一個實施例中,組幀模塊310還適于:
對待更新的數據的幀長按預定規則進行分區,其中,各分區分別指代不同的數據信息。
在一個實施例中,分區包括:
頭部head,用于標識目標數據的數據長度及目標數據的起始字節;
尾部tail,用于標識目標數據的結束字節;
數據區,用于記錄目標數據的真實數據信息;
驗證碼區,用于記錄目標數據的驗證碼。
可選地,預定存儲器包括內存和/或固態硬盤。
在一個實施例中,更新模塊340還適于:
從預定存儲器中讀取一條目標數據;
將讀取到的一條目標數據寫入預定數據庫;
繼續從預定存儲器中讀取下一條目標數據并將其寫入預定數據庫,直至目標數據已全部被寫入。
在一個實施例中,預定數據庫包括非關系型數據庫。
在一個實施例中,非關系型數據庫為NoSQL數據庫。
采用本發明實施例提供的裝置,能夠首先根據預定文件格式對待更新的數據進行組幀,獲得符合預定文件格式的目標數據,并將該目標數據傳輸至服務器端的預定存儲器,使得待更新的數據能夠在更新之前一次性傳輸至服務器端,從而使服務器在查詢數據時無需再通過網絡接口從客戶端逐條查詢數據,而只需從服務器本端查詢即可,因此,通過將目標數據傳輸至服務器端的預定存儲器使得數據更新過程不再占用網絡帶寬,同時也減少了客戶端和服務器端的交互,大大提高了數據更新的效率。并且,將待更新的數據組幀成符合預定文件格式的目標數據,使得服務器查詢數據時能夠根據預定文件格式準確快速地查詢到目標數據,而無需再利用鍵值對數據的鍵值逐條查詢數據,提高了數據查詢的速度,進一步提高數據更新的效率。此外,當服務器端接收到請求讀取符合預定文件格式的數據的讀取請求時,能夠根據讀取請求中的預定文件格式在預定存儲器中查找并匹配到目標數據,進而從預定存儲器中讀取目標數據,并將讀取到的目標數據更新至服務器端的預定數據庫中,使得服務器讀取數據時無需通過網絡接口從客戶端逐條查詢數據,而只需根據預定文件格式從本端的預定存儲器中讀取目標數據即可,相當于從本端磁盤或內存中一次性批量讀取所有目標數據,在很大程度上提高了數據讀取和更新的效率。
本領域的技術人員應可理解,圖3中的數據更新裝置能夠用來實現前文所述的數據更新方案,其中的細節描述應與前文方法部分描述類似,為避免繁瑣,此處不另贅述。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的數據更新裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
至此,本領域技術人員應認識到,雖然本文已詳盡示出和描述了本發明的多個示例性實施例,但是,在不脫離本發明精神和范圍的情況下,仍可根據本發明公開的內容直接確定或推導出符合本發明原理的許多其他變型或修改。因此,本發明的范圍應被理解和認定為覆蓋了所有這些其他變型或修改。
本發明實施例公開了A1.一種數據更新方法,應用于服務器端,所述方法包括:
根據預定文件格式對待更新的數據進行組幀,獲得符合所述預定文件格式的目標數據,所述待更新的數據為包括鍵key和值value的鍵值對數據;
將所述目標數據傳輸至所述服務器端的預定存儲器;
當接收到請求讀取符合所述預定文件格式的數據的讀取請求時,根據所述讀取請求中的所述預定文件格式在所述預定存儲器中查找并匹配到所述目標數據;
從所述預定存儲器中讀取所述目標數據,并將讀取到的所述目標數據更新至所述服務器端的預定數據庫中。
A2.根據A1所述的方法,其中,所述預定文件格式為二進制格式、十進制格式或十六進制格式。
A3.根據A1或A2所述的方法,其中,所述符合所述預定文件格式的目標數據包括以下至少一項內容:
所述鍵key的長度信息;
所述鍵key的內容;
所述值value的長度信息;
所述值value的內容。
A4.根據A1-A3中任一項所述的方法,其中,所述根據預定文件格式對待更新的數據進行組幀,包括:
對所述待更新的數據的幀長按預定規則進行分區,其中,各分區分別指代不同的數據信息。
A5.根據A4所述的方法,其中,所述分區包括:
頭部head,用于標識所述目標數據的數據長度及所述目標數據的起始字節;
尾部tail,用于標識所述目標數據的結束字節;
數據區,用于記錄所述目標數據的真實數據信息;
驗證碼區,用于記錄所述目標數據的驗證碼。
A6.根據A1-A5中任一項所述的方法,其中,所述預定存儲器包括內存和/或固態硬盤。
A7.根據A1-A6中任一項所述的方法,其中,從所述預定存儲器中讀取所述目標數據,并將讀取到的所述目標數據更新至所述服務器端的預定數據庫中,包括:
從所述預定存儲器中讀取一條目標數據;
將讀取到的一條目標數據寫入所述預定數據庫;
繼續從所述預定存儲器中讀取下一條目標數據并將其寫入所述預定數據庫,直至所述目標數據已全部被寫入。
A8.根據A1-A7中任一項所述的方法,其中,所述預定數據庫包括非關系型數據庫。
A9.根據A8所述的方法,其中,所述非關系型數據庫為NoSQL數據庫。
本發明實施例還公開了B10.一種數據更新裝置,應用于服務器端,所述裝置包括:
組幀模塊,適于根據預定文件格式對待更新的數據進行組幀,獲得符合所述預定文件格式的目標數據,所述待更新的數據為包括鍵key和值value的鍵值對數據;
傳輸模塊,適于將所述目標數據傳輸至所述服務器端的預定存儲器;
查找模塊,適于當接收到請求讀取符合所述預定文件格式的數據的讀取請求時,根據所述讀取請求中的所述預定文件格式在所述預定存儲器中查找并匹配到所述目標數據;
更新模塊,適于從所述預定存儲器中讀取所述目標數據,并將讀取到的所述目標數據更新至所述服務器端的預定數據庫中。
B11.根據B10所述的裝置,其中,所述預定文件格式為二進制格式、十進制格式或十六進制格式。
B12.根據B10或B11所述的裝置,其中,所述符合所述預定文件格式的目標數據包括以下至少一項內容:
所述鍵key的長度信息;
所述鍵key的內容;
所述值value的長度信息;
所述值value的內容。
B13.根據B10-B12中任一項所述的裝置,其中,所述組幀模塊還適于:
對所述待更新的數據的幀長按預定規則進行分區,其中,各分區分別指代不同的數據信息。
B14.根據B13所述的裝置,其中,所述分區包括:
頭部head,用于標識所述目標數據的數據長度及所述目標數據的起始字節;
尾部tail,用于標識所述目標數據的結束字節;
數據區,用于記錄所述目標數據的真實數據信息;
驗證碼區,用于記錄所述目標數據的驗證碼。
B15.根據B10-B14中任一項所述的裝置,其中,所述預定存儲器包括內存和/或固態硬盤。
B16.根據B10-B15中任一項所述的裝置,其中,所述更新模塊還適于:
從所述預定存儲器中讀取一條目標數據;
將讀取到的一條目標數據寫入所述預定數據庫;
繼續從所述預定存儲器中讀取下一條目標數據并將其寫入所述預定數據庫,直至所述目標數據已全部被寫入。
B17.根據B10-B16中任一項所述的裝置,其中,所述預定數據庫包括非關系型數據庫。
B18.根據B17所述的裝置,其中,所述非關系型數據庫為NoSQL數據庫。