TW201738783A - 資料快取的方法及裝置 - Google Patents
資料快取的方法及裝置 Download PDFInfo
- Publication number
- TW201738783A TW201738783A TW106107620A TW106107620A TW201738783A TW 201738783 A TW201738783 A TW 201738783A TW 106107620 A TW106107620 A TW 106107620A TW 106107620 A TW106107620 A TW 106107620A TW 201738783 A TW201738783 A TW 201738783A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- page
- cached
- cache
- database
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本發明公開了一種資料快取的方法及裝置,涉及網際網路技術領域,能夠解決以下問題:當某一頁面的快取資料過期時,若存在大量用戶端訪問該頁面,則需要分別針對每一個請求從資料庫中查找資料,從而造成大量請求同時訪問資料庫的現象。該方法主要包括:在接收到用戶端發送的資料請求後,確定所述資料請求對應的快取資料的剩餘有效快取時長;判斷所述剩餘有效快取時長是否大於預設的更新閾值;若所述剩餘有效快取時長小於或等於所述更新閾值,則透過資料庫更新所述快取資料。本發明主要適用於基於資料快取回應用戶端請求的場景中。
Description
本發明涉及網際網路技術領域,特別是涉及一種資料快取的方法及裝置。
在實際應用中,對於大型的網站或應用,幾乎每時每刻存在著數萬級用戶端在訪問同一個頁面。因此,為了快速回應用戶請求,引入了快取技術。在現有技術中,當某頁面首次被訪問時,系統先從資料庫中查找該頁面對應的資料,然後將查找到的資料返回給用戶端,同時將查找到的資料快取至快取伺服器中,以便後續該頁面再次被訪問時,可直接從快取伺服器側獲取資料,而無需從包含大量資料的資料庫中花費大量時間進行查詢,從而提高了回應用戶請求的效率。
由於資料庫中的資料會不斷更新,所以快取至快取伺服器的資料只會暫時快取,而不會持久快取。在這種情況下,當某一頁面的快取資料過期時,若存在大量用戶端訪問該頁面,則系統需要分別針對每一個請求從資料庫中查找資料,因此,會存在大量請求同時訪問資料庫的現象,
且從資料庫中查詢資料效率較低,資料庫的連接數也有限,從而部分用戶端的介面可能會出現短暫的系統異常、無法查看到頁面內容的現象。
有鑑於此,本發明提供一種資料快取的方法及裝置,能夠解決以下問題:當某一頁面的快取資料過期時,若存在大量用戶端訪問該頁面,則需要分別針對每一個請求從資料庫中查找資料,從而造成大量請求同時訪問資料庫的現象,進而使得部分用戶端的介面出現短暫的系統異常、無法查看頁面內容的現象。
依據本發明一個方面,提供了一種資料快取的方法,所述方法包括:在接收到用戶端發送的資料請求後,確定所述資料請求對應的快取資料的剩餘有效快取時長;判斷所述剩餘有效快取時長是否大於預設的更新閾值;若所述剩餘有效快取時長小於或等於所述更新閾值,則透過資料庫更新所述快取資料。
依據本發明另一個方面,提供了一種資料快取的裝置,所述裝置包括:確定單元,用於在接收到用戶端發送的資料請求後,確定所述資料請求對應的快取資料的剩餘有效快取時長;判斷單元,用於判斷所述確定單元獲得的所述剩餘有
效快取時長是否大於預設的更新閾值;更新單元,用於當所述判斷單元的判斷結果為所述剩餘有效快取時長小於或等於所述更新閾值時,透過資料庫更新所述快取資料。
藉由上述技術方案,本發明提供的資料快取的方法及裝置,能夠在接收到用戶端發送的資料請求後,判斷該資料請求對應的快取資料的剩餘有效快取時長是否大於預設的更新閾值;當剩餘有效快取時長大於該更新閾值時,直接向用戶端返回該快取資料;當剩餘有效快取時長為正數,且小於或者等於該更新閾值時,不僅向用戶端返回該快取資料,還透過資料庫更新該快取資料。由此可知,與現有技術中當快取資料過期時,才更新快取資料相比,本發明能夠在快取資料過期前就更新快取資料,從而當後續存在大量用戶端請求該快取資料時,該快取資料仍然處於有效狀態,並可以直接將該快取資料返回給各個用戶端,進而減少因快取資料過期,存在大量請求併發訪問資料庫的現象。
上述說明僅是本發明技術方案的概述,為了能夠更清楚瞭解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
21‧‧‧確定單元
22‧‧‧判斷單元
23‧‧‧更新單元
24‧‧‧取消單元
25‧‧‧查詢單元
26‧‧‧發送單元
27‧‧‧劃分單元
28‧‧‧暫存單元
271‧‧‧第一劃分模組
272‧‧‧第二劃分模組
透過閱讀下文較佳實施方式的詳細描述,各種其他的
優點和益處對於本領域普通技術人員將變得清楚明瞭。圖式僅用於示出較佳實施方式的目的,而並不認為是對本發明的限制。而且在整個圖式中,用相同的參考符號表示相同的部件。在圖式中:圖1示出了本發明實施例提供的一種資料快取的方法的流程圖;圖2示出了本發明實施例提供的一種資料快取的裝置的組成方塊圖;圖3示出了本發明實施例提供的另一種資料快取的裝置的組成方塊圖。
下面將參照圖式更詳細地描述本公開的示例性實施例。雖然圖式中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
本發明實施例提供了一種資料快取的方法,該方法主要應用於伺服器側,如圖1所示,該方法主要包括:
101、在接收到用戶端發送的資料請求後,確定資料請求對應的快取資料的剩餘有效快取時長。
當伺服器接收到用戶端發送的資料請求後,可以從快取中查找該資料請求對應的快取資料,並確定快取資料的
剩餘有效快取時長,以便後續根據該剩餘有效快取時長判斷是否需要更新該快取資料。其中,在快取各個快取資料時,可以記錄其快取起始時間和總體有效快取時長,在快取時間到總體有效快取時長時,快取資料過期;也可以設置一個時間為總體有效快取時長的倒計時器,當計時為0時,快取資料過期。由此可知,伺服器可以根據快取資料的時間屬性,確定快取資料的剩餘有效快取時長。
102、判斷剩餘有效快取時長是否大於預設的更新閾值。
其中,剩餘有效快取時長為正數,更新閾值小於快取資料的總體有效快取時長。若剩餘有效快取時長為正數,則說明該快取資料為有效資料,在這種情況下,可以執行步驟102,以便確定是否需要提前更新快取資料;若剩餘有效快取時長為0,則說明該快取資料已過期,在這種情況下,取消執行步驟102,直接針對每一個資料請求,向資料庫查詢資料,並將查找到的資料返回給用戶端,以及根據查找到的資料更新過期的快取資料。
103、若剩餘有效快取時長小於或等於更新閾值,則透過資料庫更新快取資料。
具體的,若剩餘有效快取時長小於或等於更新閾值,則將該快取資料返回給用戶端,並透過資料庫更新快取資料;若剩餘有效快取時長大於更新閾值,則直接將該快取資料返回給用戶端即可,而無需透過資料庫更新快取資料。其中,將快取資料返回給用戶端以及透過資料庫更新
快取資料可以同時進行,也可以不同時進行,在此不作限定。
若在快取資料的剩餘有效快取時長等於更新閾值時接收到用戶端發送的資料請求,則伺服器需要透過資料庫更新該快取資料。在這種情況下,若更新閾值為從資料庫中查詢資料到將查詢的資料寫入快取中所需的平均時間,則該快取資料正好在過期的瞬間完成更新操作;若更新閾值小於該平均時間,則在該快取資料過期的瞬間還未完成更新操作,從而從快取資料過期到完成更新操作期間,若存在大量用戶端發送資料請求,則需要針對每個資料請求向資料庫發送查詢請求,進而可能造成系統異常的現象;若更新閾值大於該平均時間,則在該快取資料過期前就完成更新操作,從而不會出現因快取過期,需要針對每個資料請求向資料庫發送查詢請求的現象。由此可知,在實際應用中,當更新閾值大於或者等於從資料庫中查詢資料到將查詢的資料寫入快取中所需的平均時間時,可以進一步減少大量請求訪問資料庫的現象。
本發明實施例提供的資料快取的方法,能夠在接收到用戶端發送的資料請求後,判斷該資料請求對應的快取資料的剩餘有效快取時長是否大於預設的更新閾值;當剩餘有效快取時長大於該更新閾值時,直接向用戶端返回該快取資料;當剩餘有效快取時長為正數,且小於或者等於該更新閾值時,不僅向用戶端返回該快取資料,還透過資料庫更新該快取資料。由此可知,與現有技術中當快取資料
過期時,才更新快取資料相比,本發明能夠在快取資料過期前就更新快取資料,從而當後續存在大量用戶端請求該快取資料時,該快取資料仍然處於有效狀態,並可以直接將該快取資料返回給各個用戶端,進而減少因快取資料過期,存在大量請求併發訪問資料庫的現象。
進一步的,在透過資料庫更新快取資料期間,可能會接收到用戶端發送的資料請求,並且在這段時間內,資料請求對應的快取資料可能還未過期,且滿足更新條件(即快取資料的剩餘有效快取時長小於或等於更新閾值)。由此可知,在快取資料未過期且透過資料庫更新快取資料期間,快取資料一直滿足更新條件,因此,在此期間,每接收一個該快取資料對應的資料請求,就需要向資料庫發送一次資料查詢請求,以便更新快取資料,從而出現頻繁更新快取資料、頻繁訪問資料庫的現象。
為解決上述技術問題,本發明實施例對上述實施例作了如下改進:在快取資料的更新期間,若再接收到其他資料請求,則取消執行判斷剩餘有效快取時長是否大於預設的更新閾值,即只在接收到的資料請求首次滿足更新條件時才更新快取資料,在更新完成之前,接收到其他請求後,直接向對應的用戶端返回快取資料,無需再透過訪問資料庫更新快取資料。
進一步的,對於上述實施例涉及的方案,由於在快取資料的剩餘有效快取時長由更新閾值逐漸變為0(不包括0)的過程中,若沒有接收到任何一個該快取資料對應的
資料請求,則不會觸發對該快取資料更新的操作,所以快取資料仍然存在過期的現象,從而可能存在大量請求同時訪問資料庫的現象。為了進一步減少大量請求同時訪問資料庫的現象,本發明實施例可以在上述任一實施例的基礎上作如下改進:當儲存的快取資料過期時,查詢是否接收到用戶端發送的快取資料對應的資料請求;若沒有接收到用戶端發送的快取資料對應的資料請求,則透過資料庫更新快取資料;若接收到用戶端發送的快取資料對應的資料請求,則在從資料庫中查找到資料請求對應的資料後,將查找到的資料返回給用戶端,並基於查找到的資料更新快取資料。
與只有在接收到用戶端發送的資料請求後,才判斷是否需要更新快取資料相比,本發明實施例透過即時判斷儲存的快取資料是否過期,當快取資料過期時,若沒有接收到用戶端發送的快取資料對應的資料請求,則直接透過資料庫更新快取資料,從而在快取資料更新後,若接收到用戶端發送的資料請求,則可以直接將更新後的快取資料返回給用戶端,而無需針對每個資料請求訪問資料庫,進而進一步減少了大量請求同時訪問資料庫的現象。
進一步的,本發明實施例還可以在上述任一實施例的基礎上作如下改進:當資料資源首次被訪問時,根據資源類型和預置規則將資料資源包含的資料劃分為至少兩個資料集合。將各個資料集合獨立進行快取,並產生各個資料集合對應的
key,以便後續根據key查找快取資料,其中,每個資料集合的過期時間點不同,key的取值為快取資料的主鍵值。其中,資料資源包括瀏覽器頁面、其他應用軟體上的頁面以及待下載的檔等。
此外,在資料資源包含的資料劃分成至少兩個資料集合進行快取後,上述步驟102的具體實現方式可以為:判斷資料請求對應的資料集合的剩餘有效快取時長是否大於更新閾值。
在實際應用中,當資料資源為頁面時,不同類型的頁面可以有不同的頁面資料劃分方法,下面以以下兩種情況為例進行介紹:
第一種情況:在現有技術中,在對用於展示固定資料的第一頁面包含的資料進行快取時,會將所有資料進行完整快取,即第一頁面包含的所有資料對應一個key,因此,在對該第一頁面對應的快取資料進行更新時,需要從資料庫中查找該第一頁面包含的所有資料,查詢的資料量較大,從而查詢效率較低。因此為解決上述技術問題,本發明實施例可以對第一頁面進行如下劃分:當資料資源為用於展示固定資料的第一頁面時,根據第一頁面的頁面配置,將從資料庫中查找到的第一頁面包含的資料劃分為至少兩個資料集合。並且在對第一頁面劃分後,將各個資料集合獨立進行快取,並產生各個資料集合對應的key,以便後續根據key查找快取資料,其中,每個資料集合的過期時間點不同。
具體的,第一頁面為用於展示固定資料的頁面,即當用戶端訪問第一頁面時,伺服器需要將第一頁面包含的所有資料返回給用戶端,以便在用戶端完整展示第一頁面。其中,第一頁面所展示的固定資料包括文字、連結、圖像等。
在實際應用中,一個頁面往往被劃分為至少兩個區域進行顯示,且每個區域顯示的資料的格式往往相同。因此,可以根據頁面配置將第一頁面包含的資料劃分為至少兩個資料集合,且每個資料集合對應頁面配置中的一個區域,或者每個資料集合對應一個區域中的一部分;還可以根據其他劃分規則劃分第一頁面,在此不作限定。
若資料資源為用於展示固定資料的第一頁面,且基於上述第一種情況進行資料快取,則當用戶端請求該頁面的資料時,需要分別判斷該資料請求對應的各個資料集合的剩餘有效快取時長是否大於更新閾值,並透過資料庫對滿足剩餘有效快取時長小於或等於更新閾值的資料集合進行更新。
由於各個資料集合的過期時間點不同,所以在同一時刻,可能只存在部分資料集合的剩餘有效快取時長小於或等於更新閾值。因此,與現有技術中對頁面進行完整快取(即頁面包含的所有資料對應一個key)相比,本發明實施例只需對滿足剩餘有效快取時長小於或等於更新閾值的資料集合進行更新,而無需對該頁面對應的其他資料集合進行更新,從而減少了更新頁面資料的資料量,進而提高
了更新效率。
第二種情況:在現有技術中,在對具有條件查詢功能的第二頁面包含的資料進行快取時,會將所有資料進行完整快取,即第二頁面包含的所有資料對應一個key,因此,當用戶端基於第二頁面進行條件查詢時,需要從第二頁面對應的所有快取資料中查詢滿足條件的資料,並將查找到的資料返回給用戶端,因此回應用戶端請求的效率較低。為解決上述技術問題,本發明實施例可以對第二頁面進行如下劃分:當資料資源為具有條件查詢功能的第二頁面時,根據第二頁面涉及的查詢準則組合,將從資料庫中查找到的第二頁面包含的資料劃分為至少兩個資料集合;第二頁面中包括多組查詢準則,一組查詢準則對應的結果資料為一個資料集合,一組查詢準則由至少一個查詢準則組成。並且在對第二頁面劃分後,將各個資料集合獨立進行快取,並產生各個資料集合對應的key,以便後續根據key查找快取資料。
其中,第二頁面包括各個查詢準則以及某組查詢準則對應的結果資料。當用戶端首次進入第二頁面時,查詢準則往往為不限,因此會在該頁面上顯示所有資料;當用戶端基於第二頁面選擇某組查詢準則進行查詢時,會在該頁面顯示該組查詢準則對應的結果資料。
例如,第二頁面上的查詢準則有:“期限(包括不限、3個月內、3-6個月內、6-12個月內)”、“起購金額
(包括不限、100-1000、1000-1萬、1萬-5萬、5萬以上)”、“產品類型(包括不限、基金產品、保險產品、其他產品)”。當用戶端首次進入第二頁面時,期限、起購金額以及產品類型均為不限,顯示所有資料;當用戶端基於第二頁面選擇“期限為3個月內,起購金額為1萬-5萬,產品類型為基金產品”時,第二頁面會顯示滿足該條件的資料。
若資料資源為具有條件查詢功能的第二頁面,且基於上述第二種情況進行資料快取,則當用戶端基於該頁面進行條件查詢時,需要判斷請求的這組查詢準則對應的資料集合的剩餘有效快取時長是否大於更新閾值,並在剩餘有效快取時長小於或者等於更新閾值時,透過資料庫更新該資料集合。
由於每組查詢準則對應的資料集合分開快取,所以當用戶端基於該頁面進行條件查詢時,可直接透過key查找查詢準則下的資料集合,並將查找到的資料集合返回給用戶端,而無需根據查詢準則從該頁面包含的所有資料中進行二次查詢,從而提高了回應用戶端請求的效率。
進一步的,依據上述方法實施例,本發明的另一個實施例還提供了一種資料快取的裝置,如圖2所示,該裝置主要包括:確定單元21、判斷單元22和更新單元23。其中,確定單元21,用於在接收到用戶端發送的資料請求後,確定資料請求對應的快取資料的剩餘有效快取時長;
判斷單元22,用於判斷確定單元21獲得的剩餘有效快取時長是否大於預設的更新閾值;更新單元23,用於當判斷單元22的判斷結果為剩餘有效快取時長小於或等於更新閾值時,透過資料庫更新快取資料。
本發明實施例提供的資料快取的裝置,能夠在接收到用戶端發送的資料請求後,判斷該資料請求對應的快取資料的剩餘有效快取時長是否大於預設的更新閾值;當剩餘有效快取時長大於該更新閾值時,直接向用戶端返回該快取資料;當剩餘有效快取時長為正數,且小於或者等於該更新閾值時,不僅向用戶端返回該快取資料,還透過資料庫更新該快取資料。由此可知,與現有技術中當快取資料過期時,才更新快取資料相比,本發明能夠在快取資料過期前就更新快取資料,從而當後續存在大量用戶端請求該快取資料時,該快取資料仍然處於有效狀態,並可以直接將該快取資料返回給各個用戶端,進而減少因快取資料過期,存在大量請求併發訪問資料庫的現象。
進一步的,如圖3所示,該裝置還包括:取消單元24,用於在快取資料的更新期間,若再接收到其他資料請求,則取消執行判斷剩餘有效快取時長是否大於預設的更新閾值
進一步的,如圖3所示,該裝置還包括:查詢單元25,用於當儲存的快取資料過期時,查詢是否接收到用戶端發送的快取資料對應的資料請求;
更新單元23還用於當沒有接收到用戶端發送的快取資料對應的資料請求時,透過資料庫更新快取資料;發送單元26,用於當接收到用戶端發送的快取資料對應的資料請求時,在從資料庫中查找到資料請求對應的資料後,將查找到的資料返回給用戶端;更新單元23還用於基於查找到的資料更新快取資料。
進一步的,如圖3所示,該裝置還包括:劃分單元27,用於當資料資源首次被訪問時,根據資源類型和預置規則將資料資源包含的資料劃分為至少兩個資料集合;暫存單元28,用於將劃分單元27獲得的各個資料集合獨立進行快取,並產生各個資料集合對應的key,以便後續根據key查找快取資料,其中,每個資料集合的過期時間點不同。
進一步的,如圖3所示,劃分單元27,包括:第一劃分模組271,用於當資料資源為用於展示固定資料的第一頁面時,根據第一頁面的頁面配置,將從資料庫中查找到的第一頁面包含的資料劃分為至少兩個資料集合;第二劃分模組272,用於當資料資源為具有條件查詢功能的第二頁面時,根據第二頁面涉及的查詢準則組合,將從資料庫中查找到的第二頁面包含的資料劃分為至少兩個資料集合;第二頁面中包括多組查詢準則,一組查詢準
則對應的結果資料為一個資料集合,一組查詢準則由至少一個查詢準則組成。
進一步的,判斷單元22用於判斷資料請求對應的資料集合的剩餘有效快取時長是否大於更新閾值。
該裝置實施例與前述方法實施例對應,為便於閱讀,本裝置實施例不再對前述方法實施例中的細節內容進行逐一贅述,但應當明確,本實施例中的裝置能夠對應實現前述方法實施例中的全部內容。
所述資料快取的裝置包括處理器和記憶體,上述確定單元、判斷單元和更新單元等均作為程式單元儲存在記憶體中,由處理器執行儲存在記憶體中的上述程式單元來實現相應的功能。
處理器中包含內核,由內核去記憶體中調取相應的程式單元。內核可以設置一個或以上,透過調整內核參數來減少因快取過期,而存在大量請求併發訪問資料庫的現象。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM),記憶體包括至少一個儲存晶片。
本發明還提供了一種電腦程式產品,當在資料處理設備上執行時,適於執行初始化有如下方法步驟的程式碼:在接收到用戶端發送的資料請求後,確定所述資料請求對應的快取資料的剩餘有效快取時長;
判斷所述剩餘有效快取時長是否大於預設的更新閾值,所述剩餘有效快取時長為正數,所述更新閾值小於所述快取資料的總體有效快取時長;若所述剩餘有效快取時長小於或等於所述更新閾值,則透過資料庫更新所述快取資料。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
可以理解的是,上述實施例中的“第一”、“第二”等是用於區分各實施例,而並不代表各實施例的優劣。
在此提供的演算法和顯示不與任何特定電腦、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式設計語言。應當明白,可以利用各種程式設計語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實
施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個申請專利範圍中所明確記載的特徵更多的特徵。更確切地說,如下面的申請專利範圍所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式的申請專利範圍由此明確地併入該具體實施方式,其中每個申請專利範圍本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模組進行自我調整性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模組或單元或元件組合成一個模組或單元或元件,以及此外可以把它們分成多個子模組或子單元或子元件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的申請專利範圍、摘要和圖式)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的申請專利範圍、摘要和圖式)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的申請
專利範圍中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模組實現,或者以它們的組合實現。本領域的技術人員應當理解,本發明可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程式(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程式可以儲存在電腦可讀媒體上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附申請專利範圍的範圍的情況下可設計出替換實施例。在申請專利範圍中,不應將位於括弧之間的任何參考符號構造成對申請專利範圍的限制。單詞“包含”不排除存在未列在申請專利範圍中的元件或步驟。位於元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當程式設計的電腦來實現。在列舉了若干裝置的單元申請專利範圍中,這些裝置中的若干個可以是透過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
Claims (12)
- 一種資料快取的方法,其特徵在於,該方法包括:在接收到用戶端發送的資料請求後,確定該資料請求對應的快取資料的剩餘有效快取時長;判斷該剩餘有效快取時長是否大於預設的更新閾值;若該剩餘有效快取時長小於或等於該更新閾值,則透過資料庫更新該快取資料。
- 根據申請專利範圍第1項的方法,其中,該方法還包括:在該快取資料的更新期間,若再接收到其他資料請求,則取消執行該判斷該剩餘有效快取時長是否大於預設的更新閾值。
- 根據申請專利範圍第2項的方法,其中,該方法還包括:當儲存的快取資料過期時,查詢是否接收到用戶端發送的該快取資料對應的資料請求;若沒有接收到用戶端發送的該快取資料對應的資料請求,則透過該資料庫更新該快取資料;若接收到用戶端發送的該快取資料對應的資料請求,則在從該資料庫中查找到該資料請求對應的資料後,將查找到的資料返回給用戶端,並基於該查找到的資料更新該快取資料。
- 根據申請專利範圍第1至3項中任一項的方法, 其中,該方法還包括:當資料資源首次被訪問時,根據資源類型和預置規則將該資料資源包含的資料劃分為至少兩個資料集合;將各個資料集合獨立進行快取,並產生各個資料集合對應的key(鍵),以便後續根據該key查找快取資料,其中,每個資料集合的過期時間點不同。
- 根據申請專利範圍第4項的方法,其中,根據資源類型和預置規則將該資料資源包含的資料劃分為至少兩個資料集合,包括:當該資料資源為用於展示固定資料的第一頁面時,根據該第一頁面的頁面配置,將從該資料庫中查找到的該第一頁面包含的資料劃分為至少兩個資料集合;當該資料資源為具有條件查詢功能的第二頁面時,根據該第二頁面涉及的查詢準則組合,將從該資料庫中查找到的該第二頁面包含的資料劃分為至少兩個資料集合;該第二頁面中包括多組查詢準則,一組查詢準則對應的結果資料為一個資料集合,一組查詢準則由至少一個查詢準則組成。
- 根據申請專利範圍第4項的方法,其中,判斷該剩餘有效快取時長是否大於預設的更新閾值,包括:判斷該資料請求對應的資料集合的剩餘有效快取時長是否大於該更新閾值。
- 一種資料快取的裝置,其特徵在於,該裝置包括: 確定單元,用於在接收到用戶端發送的資料請求後,確定該資料請求對應的快取資料的剩餘有效快取時長;判斷單元,用於判斷該確定單元獲得的該剩餘有效快取時長是否大於預設的更新閾值;更新單元,用於當該判斷單元的判斷結果為該剩餘有效快取時長小於或等於該更新閾值時,透過資料庫更新該快取資料。
- 根據申請專利範圍第7項的裝置,其中,該裝置還包括:取消單元,用於在該快取資料的更新期間,若再接收到其他資料請求,則取消執行該判斷該剩餘有效快取時長是否大於預設的更新閾值。
- 根據申請專利範圍第8項的裝置,其中,該裝置還包括:查詢單元,用於當儲存的快取資料過期時,查詢是否接收到用戶端發送的該快取資料對應的資料請求;該更新單元還用於當沒有接收到用戶端發送的該快取資料對應的資料請求時,透過該資料庫更新該快取資料;發送單元,用於當接收到用戶端發送的該快取資料對應的資料請求時,在從該資料庫中查找到該資料請求對應的資料後,將查找到的資料返回給用戶端;該更新單元還用於基於該查找到的資料更新該快取資料。
- 根據申請專利範圍第7至9項中任一項的裝置, 其中,該裝置還包括:劃分單元,用於當資料資源首次被訪問時,根據資源類型和預置規則將該資料資源包含的資料劃分為至少兩個資料集合;暫存單元,用於將該劃分單元獲得的各個資料集合獨立進行快取,並產生各個資料集合對應的key(鍵),以便後續根據該key查找快取資料,其中,每個資料集合的過期時間點不同。
- 根據申請專利範圍第10項的裝置,其中,該劃分單元,包括:第一劃分模組,用於當該資料資源為用於展示固定資料的第一頁面時,根據該第一頁面的頁面配置,將從該資料庫中查找到的該第一頁面包含的資料劃分為至少兩個資料集合;第二劃分模組,用於當該資料資源為具有條件查詢功能的第二頁面時,根據該第二頁面涉及的查詢準則組合,將從該資料庫中查找到的該第二頁面包含的資料劃分為至少兩個資料集合;該第二頁面中包括多組查詢準則,一組查詢準則對應的結果資料為一個資料集合,一組查詢準則由至少一個查詢準則組成。
- 根據申請專利範圍第11項的裝置,其中,該判斷單元用於判斷該資料請求對應的資料集合的剩餘有效快取時長是否大於該更新閾值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201610204539.8 | 2016-04-01 | ||
CN201610204539.8A CN107291756A (zh) | 2016-04-01 | 2016-04-01 | 数据缓存的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201738783A true TW201738783A (zh) | 2017-11-01 |
TWI665569B TWI665569B (zh) | 2019-07-11 |
Family
ID=59963476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106107620A TWI665569B (zh) | 2016-04-01 | 2017-03-08 | 資料快取的方法及裝置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11449570B2 (zh) |
EP (1) | EP3418911A4 (zh) |
JP (1) | JP6748734B2 (zh) |
KR (1) | KR102232813B1 (zh) |
CN (1) | CN107291756A (zh) |
MY (1) | MY190884A (zh) |
PH (1) | PH12018502065A1 (zh) |
SG (1) | SG11201808173RA (zh) |
TW (1) | TWI665569B (zh) |
WO (1) | WO2017167039A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102590347B1 (ko) * | 2016-12-15 | 2023-10-18 | 삼성전자주식회사 | 서버, 전자 장치 및 데이터 관리 방법 |
CN109828749A (zh) * | 2018-12-29 | 2019-05-31 | 北京航天云路有限公司 | 兼顾快速响应和数据更新的数据缓存方法及系统 |
CN110209968B (zh) * | 2019-04-24 | 2022-02-01 | 北京奇艺世纪科技有限公司 | 一种数据存储系统、方法、装置及计算机可读存储介质 |
CN111259034A (zh) * | 2020-02-17 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 一种缓存数据管理方法和相关装置 |
CN111506606A (zh) * | 2020-04-14 | 2020-08-07 | 深圳市金蝶天燕云计算股份有限公司 | 一种报表查询方法及相关设备 |
US11636035B2 (en) * | 2020-07-31 | 2023-04-25 | Microsoft Technology Licensing, Llc | Persisted data cache service |
CN112307387A (zh) * | 2020-10-30 | 2021-02-02 | 上海二三四五网络科技有限公司 | 一种动态时间段信息缓存的控制方法以及控制装置 |
CN113515530B (zh) * | 2021-03-30 | 2023-06-13 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
CN113645309A (zh) * | 2021-08-18 | 2021-11-12 | 浙江苍南仪表集团股份有限公司 | 多客户端数据差异化二次缓存及同步的处理方法及系统 |
KR20240003313A (ko) * | 2022-06-30 | 2024-01-08 | 쿠팡 주식회사 | 데이터 제공 방법 및 그 장치 |
CN115438279B (zh) * | 2022-08-10 | 2023-06-27 | 珠海金智维信息科技有限公司 | 数据可视化方法、装置、电子设备及介质 |
CN116701800A (zh) * | 2023-08-07 | 2023-09-05 | 广州市千钧网络科技有限公司 | 页面内容处理方法、装置、计算机设备及介质 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182122B1 (en) * | 1997-03-26 | 2001-01-30 | International Business Machines Corporation | Precaching data at an intermediate server based on historical data requests by users of the intermediate server |
US5897634A (en) | 1997-05-09 | 1999-04-27 | International Business Machines Corporation | Optimized caching of SQL data in an object server system |
US6587856B1 (en) | 1998-12-07 | 2003-07-01 | Oracle International Corporation | Method and system for representing and accessing object-oriented data in a relational database system |
US7801913B2 (en) | 1998-12-07 | 2010-09-21 | Oracle International Corporation | System and method for querying data for implicit hierarchies |
US6934699B1 (en) | 1999-09-01 | 2005-08-23 | International Business Machines Corporation | System and method for loading a cache with query results |
US20030221068A1 (en) * | 2002-05-23 | 2003-11-27 | Michael Tsuji | Method and system for data cache |
EP2325743B1 (en) | 2003-01-31 | 2012-12-19 | Good Technology Corporation | Asynchronous real-time retrieval of data |
CA2425046C (en) | 2003-04-08 | 2009-10-06 | Ibm Canada Limited - Ibm Canada Limitee | Method and system for caching database query statements |
US8019735B2 (en) | 2004-05-21 | 2011-09-13 | Oracle International Corporation | Systems and methods for query caching |
US7461206B2 (en) * | 2006-08-21 | 2008-12-02 | Amazon Technologies, Inc. | Probabilistic technique for consistency checking cache entries |
US20080098093A1 (en) | 2006-10-16 | 2008-04-24 | Palm, Inc. | Offline automated proxy cache for web applications |
US8296394B1 (en) | 2007-04-10 | 2012-10-23 | AT & T Intellectual Property II, LP | Method and system for caching real-time data |
US8060486B2 (en) | 2007-05-07 | 2011-11-15 | Hewlett-Packard Development Company, L.P. | Automatic conversion schema for cached web requests |
US8032714B2 (en) | 2007-09-28 | 2011-10-04 | Aggregate Knowledge Inc. | Methods and systems for caching data using behavioral event correlations |
US7865573B2 (en) | 2008-05-29 | 2011-01-04 | Research In Motion Limited | Method, system and devices for communicating between an internet browser and an electronic device |
US8108587B2 (en) | 2009-05-26 | 2012-01-31 | Microsoft Corporation | Free-space reduction in cached database pages |
US8539160B2 (en) * | 2009-09-10 | 2013-09-17 | Red Hat, Inc. | Asynchronous cache refresh for systems with a heavy load |
US8266291B2 (en) * | 2009-11-23 | 2012-09-11 | International Business Machines Corporation | Dynamic property volatility assignment and assessment for distributed manageable resources |
US8161241B2 (en) * | 2010-01-12 | 2012-04-17 | International Business Machines Corporation | Temperature-aware buffered caching for solid state storage |
US9235531B2 (en) | 2010-03-04 | 2016-01-12 | Microsoft Technology Licensing, Llc | Multi-level buffer pool extensions |
JP5387457B2 (ja) * | 2010-03-10 | 2014-01-15 | 富士電機株式会社 | 遠隔監視装置および該装置におけるデータアクセス方法 |
TW201145044A (en) * | 2010-06-10 | 2011-12-16 | Acer Inc | Method for offline browse web pages and system thereof |
WO2012027472A2 (en) | 2010-08-24 | 2012-03-01 | Copiun, Inc. | Constant access gateway and de-duplicated data cache server |
JP5567967B2 (ja) * | 2010-09-30 | 2014-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースにおけるキャッシュ制御方法、システム及びプログラム |
US9703706B2 (en) | 2011-02-28 | 2017-07-11 | Oracle International Corporation | Universal cache management system |
WO2013014695A1 (en) * | 2011-07-22 | 2013-01-31 | Hitachi, Ltd. | File storage system for transferring file to remote archive system |
US9015269B2 (en) * | 2012-06-19 | 2015-04-21 | Canon Kabushiki Kaisha | Methods and systems for notifying a server with cache information and for serving resources based on it |
CN103853671B (zh) * | 2012-12-07 | 2018-03-02 | 北京百度网讯科技有限公司 | 一种数据写入控制方法及装置 |
US9747288B1 (en) | 2012-12-10 | 2017-08-29 | Amazon Technologies, Inc. | Scalable transaction-based data repository service |
US9582604B2 (en) * | 2013-03-27 | 2017-02-28 | Thomson Licensing | Caching mechanism to improve user interface responsiveness |
US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
CN105138587B (zh) * | 2015-07-31 | 2019-09-10 | 小米科技有限责任公司 | 数据访问方法、装置和系统 |
US9876873B1 (en) | 2015-10-21 | 2018-01-23 | Perfect Sense, Inc. | Caching techniques |
CN105335512B (zh) * | 2015-10-30 | 2019-09-17 | 小米科技有限责任公司 | 数据查询方法及装置 |
-
2016
- 2016-04-01 CN CN201610204539.8A patent/CN107291756A/zh active Pending
-
2017
- 2017-03-08 TW TW106107620A patent/TWI665569B/zh active
- 2017-03-20 EP EP17773069.4A patent/EP3418911A4/en active Pending
- 2017-03-20 WO PCT/CN2017/077241 patent/WO2017167039A1/zh active Application Filing
- 2017-03-20 MY MYPI2018703568A patent/MY190884A/en unknown
- 2017-03-20 KR KR1020187031539A patent/KR102232813B1/ko active IP Right Grant
- 2017-03-20 JP JP2018551171A patent/JP6748734B2/ja active Active
- 2017-03-20 SG SG11201808173RA patent/SG11201808173RA/en unknown
-
2018
- 2018-09-26 PH PH12018502065A patent/PH12018502065A1/en unknown
- 2018-09-28 US US16/145,660 patent/US11449570B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
PH12018502065A1 (en) | 2019-06-24 |
CN107291756A (zh) | 2017-10-24 |
US11449570B2 (en) | 2022-09-20 |
EP3418911A4 (en) | 2019-11-06 |
KR20180125009A (ko) | 2018-11-21 |
JP2019512819A (ja) | 2019-05-16 |
EP3418911A1 (en) | 2018-12-26 |
WO2017167039A1 (zh) | 2017-10-05 |
KR102232813B1 (ko) | 2021-03-29 |
SG11201808173RA (en) | 2018-10-30 |
TWI665569B (zh) | 2019-07-11 |
US20190034550A1 (en) | 2019-01-31 |
MY190884A (en) | 2022-05-17 |
JP6748734B2 (ja) | 2020-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI665569B (zh) | 資料快取的方法及裝置 | |
JP6013514B2 (ja) | 検索結果へのアクセスを改良するシステム及び方法 | |
US20140298313A1 (en) | Method, server, client and system for updating data | |
US10120849B2 (en) | Document generation based on referral | |
US20120054166A1 (en) | System for displaying search engine results with images | |
US9021087B1 (en) | Method to improve caching accuracy by using snapshot technology | |
TW201220197A (en) | for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment | |
US20110231386A1 (en) | Indexing and searching employing virtual documents | |
JP6995211B2 (ja) | 強化されたオンラインプライバシ | |
US20110113201A1 (en) | Garbage collection in a cache with reduced complexity | |
US11775518B2 (en) | Asynchronous predictive caching of content listed in search results | |
US9195944B1 (en) | Scoring site quality | |
US20160117366A1 (en) | Autonomic caching for in memory data grid query processing | |
CN110889073B (zh) | 页面请求的响应方法、服务器及计算机存储介质 | |
US20160260151A1 (en) | Search engine optimization for category web pages | |
US9692633B2 (en) | Role-based resource navigation | |
AU2021297136B2 (en) | Dynamic trigger of web beacons | |
US20240211962A1 (en) | System and method for augmentation of inclusive knolwedge recall outcomes | |
CN116595070A (zh) | 接口搜索方法、系统、设备及存储介质 | |
CN117520683A (zh) | Ab测试分流管理方法、装置、设备及存储介质 |