緩存數(shù)據(jù)的查找方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機領(lǐng)域,具體而言,涉及一種緩存數(shù)據(jù)的查找方法和裝置。
【背景技術(shù)】
[0002] 緩存可以表示對數(shù)據(jù)的一種存儲方式,其中,相比于在磁盤存儲器等落地式存儲 設(shè)備中存儲的數(shù)據(jù)來說,緩存的數(shù)據(jù)可以被相對快速地寫入或讀出。根據(jù)數(shù)據(jù)局部性原理, 由于訪問過的數(shù)據(jù)通常會被再次訪問,因此可以將訪問頻率較高的部分?jǐn)?shù)據(jù)緩存起來,進 而具體業(yè)務(wù)的執(zhí)行單元如處理器或服務(wù)器等可以優(yōu)先訪問緩存中提取數(shù)據(jù),這樣就加快了 數(shù)據(jù)訪問速度。
[0003] 由此可見,緩存數(shù)據(jù)的目的是為了業(yè)務(wù)對其所需的緩存中的具體某個數(shù)據(jù)進行查 找,為達到這一目的,為發(fā)明人所知的常用的緩存數(shù)據(jù)的查找方式之一是利用物理地址直 接在緩存中讀寫數(shù)據(jù)。一般來說,利用物理地址讀寫數(shù)據(jù)通??梢詫崿F(xiàn)較高的讀寫速度,然 而由于緩存數(shù)據(jù)的物理地址對于業(yè)務(wù)來說通常是不透明的,或者說業(yè)務(wù)無法識別在哪個物 理地址上存放的數(shù)據(jù)是業(yè)務(wù)所需的具有特定意義的數(shù)據(jù)。因此,作為一種改進的方式,用于 管理緩存讀寫的設(shè)備可以維護有一張映射表,該映射表中記錄有為業(yè)務(wù)所知的標(biāo)識項與緩 存數(shù)據(jù)的物理地址之間的映射關(guān)系,從而業(yè)務(wù)可以通過預(yù)先定義的標(biāo)識項對緩存中的數(shù)據(jù) 進行讀與。
[0004] 然而,上述查找方式及其對應(yīng)的緩存數(shù)據(jù)的管理方式并不利于體現(xiàn)出多個數(shù)據(jù)之 間的關(guān)聯(lián),例如,若業(yè)務(wù)需要查找某一用戶的相關(guān)信息,并且該相關(guān)信息包括多個方面的信 息,則業(yè)務(wù)通常需要先解析出該相關(guān)信息所包含的多個數(shù)據(jù)項以及多個數(shù)據(jù)項各自對應(yīng)的 標(biāo)識項,進而通知緩存管理相對獨立地查找出各標(biāo)識項所標(biāo)識的數(shù)據(jù)。顯然,這對業(yè)務(wù)自身 的功能提出了更高的要求,并且在大規(guī)模的數(shù)據(jù)讀取的背景下,會顯著地影響到業(yè)務(wù)的執(zhí) 行效率。針對這一問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供了一種緩存數(shù)據(jù)的查找方法和裝置,以至少解決在現(xiàn)有的緩存 數(shù)據(jù)的查找方式下業(yè)務(wù)訪問緩存數(shù)據(jù)時需要執(zhí)行較為復(fù)雜的邏輯從而導(dǎo)致的業(yè)務(wù)執(zhí)行效 率較低的技術(shù)問題。
[0006] 根據(jù)本發(fā)明實施例的一個方面,提供了一種緩存數(shù)據(jù)查找方法,包括:獲取用于對 緩存中的數(shù)據(jù)元素進行查找的查詢條件,其中,上述緩存中的每個上述數(shù)據(jù)元素包括一個 或多個字段,每個上述字段包括字段類型和字段值,上述查詢條件用于指示待查找的字段 類型和待查找的字段值;在上述緩存中查找具有滿足上述查詢條件的字段的數(shù)據(jù)元素;若 查找到上述具有滿足上述查詢條件的字段的數(shù)據(jù)元素,則從上述緩存中讀出查找到的上述 數(shù)據(jù)元素。
[0007] 根據(jù)本發(fā)明實施例的另一方面,還提供了一種緩存數(shù)據(jù)查找裝置,包括:獲取單 元,用于獲取用于對緩存中的數(shù)據(jù)元素進行查找的查詢條件,其中,上述緩存中的每個上述 數(shù)據(jù)元素包括一個或多個字段,每個上述字段包括字段類型和字段值,上述查詢條件用于 指示待查找的字段類型和待查找的字段值;查找單元,用于在上述緩存中查找具有滿足上 述查詢條件的字段的數(shù)據(jù)元素;輸出單元,用于在查找到上述具有滿足上述查詢條件的字 段的數(shù)據(jù)元素時,從上述緩存中讀出查找到的上述數(shù)據(jù)元素。
[0008] 在本發(fā)明實施例中,可以結(jié)合對緩存數(shù)據(jù)的結(jié)構(gòu)的進一步定義,以提供基于查詢 條件對緩存中的一個或多個數(shù)據(jù)進行查找的功能。具體地,在本發(fā)明實施例中,采用了數(shù)據(jù) 元素的形式實現(xiàn)對相互關(guān)聯(lián)的數(shù)據(jù)的存儲,其中,每個數(shù)據(jù)元素可以包括多個字段,每個字 段可以包括字段類型和字段值,相互關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)可以作為不同的字段值存入緩存中的 每個數(shù)據(jù)元素中,進而業(yè)務(wù)需要獲取該相互關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)時,則可以基于特定的查詢條 件查找到包括特定的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)元素,并且,由于業(yè)務(wù)預(yù)先向緩存中存入數(shù)據(jù)或者說 字段值時,可以提前配置對應(yīng)的字段類型,因此緩存中的業(yè)務(wù)數(shù)據(jù)對于業(yè)務(wù)來說是透明的。 通過上述方式,便可以簡化業(yè)務(wù)側(cè)的查詢操作,比如業(yè)務(wù)服務(wù)器可以僅向緩存管理發(fā)送查 詢條件,便可以獲取到所需的業(yè)務(wù)數(shù)據(jù),從而提高了業(yè)務(wù)的執(zhí)行效率,進而解決了在現(xiàn)有的 緩存數(shù)據(jù)的查找方式下業(yè)務(wù)訪問緩存數(shù)據(jù)時需要執(zhí)行較為復(fù)雜的邏輯從而導(dǎo)致的業(yè)務(wù)執(zhí) 行效率較低的技術(shù)問題。
【附圖說明】
[0009] 此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0010] 圖1是根據(jù)本發(fā)明實施例的一種可選的緩存數(shù)據(jù)查找方法的示意圖;
[0011] 圖2是根據(jù)本發(fā)明實施例的一種可選的緩存數(shù)據(jù)查找方法或裝置的實施環(huán)境的 不意圖;
[0012] 圖3是根據(jù)本發(fā)明實施例的一種可選的緩存數(shù)據(jù)查找裝置的示意圖。
【具體實施方式】
[0013] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù) 人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范 圍。
[0014] 需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"、"第 二"等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用 的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或 描述的那些以外的順序?qū)嵤?。此外,術(shù)語"包括"和"具有"以及他們的任何變形,意圖在于 覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限 于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn) 品或設(shè)備固有的其它步驟或單元。
[0015] 實施例1
[0016] 根據(jù)本發(fā)明實施例,提供了一種緩存數(shù)據(jù)查找方法,如圖1所示,該方法包括:
[0017] S102 :獲取用于對緩存中的數(shù)據(jù)元素進行查找的查詢條件,其中,緩存中的每個數(shù) 據(jù)元素包括一個或多個字段,每個字段包括字段類型和字段值,查詢條件用于指示待查找 的字段類型和待查找的字段值;
[0018] S104 :在緩存中查找具有滿足查詢條件的字段的數(shù)據(jù)元素;
[0019] S106:若查找到具有滿足查詢條件的字段的數(shù)據(jù)元素,則從緩存中讀出查找到的 數(shù)據(jù)元素。
[0020] 應(yīng)當(dāng)明確的是,本發(fā)明實施例所要解決的問題之一是提供一種方法,以便于實現(xiàn) 對緩存的數(shù)據(jù)進行有效查找。
[0021 ] 具體地,在本發(fā)明實施例中,緩存可以表示對數(shù)據(jù)的一種存儲方式,其中,相比于 在磁盤存儲器等落地式存儲設(shè)備中存儲的數(shù)據(jù)來說,緩存的數(shù)據(jù)可以被相對快速地寫入或 讀出。根據(jù)數(shù)據(jù)局部性原理,由于訪問過的數(shù)據(jù)通常會被再次訪問,因此可以將訪問頻率較 高的部分?jǐn)?shù)據(jù)緩存起來,進而具體業(yè)務(wù)的執(zhí)行單元如處理器或服務(wù)器等可以優(yōu)先訪問緩存 中提取數(shù)據(jù),這樣就加快了數(shù)據(jù)訪問速度。
[0022] 由此可見,緩存數(shù)據(jù)的目的是為了業(yè)務(wù)對其所需的緩存中的具體某個數(shù)據(jù)進行查 找,為達到這一目的,為發(fā)明人所知的常用的緩存數(shù)據(jù)的查找方式之一是利用物理地址直 接在緩存中讀寫數(shù)據(jù)。一般來說,利用物理地址讀寫數(shù)據(jù)通常可以實現(xiàn)較高的讀寫速度,然 而由于緩存數(shù)據(jù)的物理地址對于業(yè)務(wù)來說通常是不透明的,或者說業(yè)務(wù)無法識別在哪個物 理地址上存放的數(shù)據(jù)是業(yè)務(wù)所需的具有特定意義的數(shù)據(jù)。因此,作為一種改進的方式,用于 管理緩存讀寫的設(shè)備可以維護有一張映射表,該映射表中記錄有為業(yè)務(wù)所知的標(biāo)識項與緩 存數(shù)據(jù)的物理地址之間的映射關(guān)系,從而業(yè)務(wù)可以通過預(yù)先定義的標(biāo)識項對緩存中的數(shù)據(jù) 進行讀與。
[0023] 然而,上述查找方式及其對應(yīng)的緩存數(shù)據(jù)的管理方式并不利于體現(xiàn)出多個數(shù)據(jù)之 間的關(guān)聯(lián),例如,若業(yè)務(wù)需要查找某一用戶的相關(guān)信息,并且該相關(guān)信息包括多個方面的信 息,則業(yè)務(wù)通常需要先解析出該相關(guān)信息所包含的多個數(shù)據(jù)項以及多個數(shù)據(jù)項各自對應(yīng)的 標(biāo)識項,進而通知緩存管理相對獨立地查找出各標(biāo)識項所標(biāo)識的數(shù)據(jù)。顯然,這對業(yè)務(wù)自身 的功能提出了更高的要求,并且在大規(guī)模的數(shù)據(jù)讀取的背景下,會顯著地影響到業(yè)務(wù)的執(zhí) 行效率。
[0024] 為解決這一問題,在本發(fā)明實施例中,可以結(jié)合對緩存數(shù)據(jù)的結(jié)構(gòu)的進一步定義, 以提供基于查詢條件對緩存中的一個或多個數(shù)據(jù)進行查找的功能。具體地,在本發(fā)明實施 例中,采用了數(shù)據(jù)元素的形式實現(xiàn)對相互關(guān)聯(lián)的數(shù)據(jù)的存儲,其中,每個數(shù)據(jù)元素可以包括 多個字段,每個字段可以包括字段類型和字段值,相互關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)可以作為不同的字 段值存入緩存中的每個數(shù)據(jù)元素中,進而業(yè)務(wù)需要獲取該相互關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)時,則可以 基于特定的查詢條件查找到包括特定的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)元素,并且,由于業(yè)務(wù)預(yù)先向緩存 中存入數(shù)據(jù)或者說字段值時,可以提前配置對應(yīng)的字段類型,因此緩存中的業(yè)務(wù)數(shù)據(jù)對于 業(yè)務(wù)來說是透明的。通過上述方式,便可以簡化業(yè)務(wù)側(cè)的查詢操作,比如業(yè)務(wù)服務(wù)器可以僅 向緩存管理發(fā)送查詢條件,便可以獲取到所需的業(yè)務(wù)數(shù)據(jù),從而提高了業(yè)務(wù)的執(zhí)行效率,進 而解決了在現(xiàn)有的緩存數(shù)據(jù)的查找方式下業(yè)務(wù)訪問緩存數(shù)據(jù)時需要執(zhí)行較為復(fù)雜的邏輯 從而導(dǎo)致的業(yè)務(wù)執(zhí)行效率較低的技術(shù)問題。
[0025] 下面將結(jié)合附圖和具體的實施例對本發(fā)明技術(shù)方案及其工作原理進行更為詳細 的描述。首先結(jié)合圖2對本發(fā)明的技術(shù)方案的實施環(huán)境進行示例性地描述。
[0026] 圖2示出了根據(jù)本發(fā)明實施例提供的查找方法的一種可行的實施環(huán)境。如圖2所 示,在本發(fā)明實施例中,業(yè)務(wù)服務(wù)器202與緩存服務(wù)器204之間存在數(shù)據(jù)連接,以便于業(yè)務(wù) 服務(wù)器202在需要在設(shè)置于緩存服務(wù)器204的緩存中讀寫數(shù)據(jù)時,通過向緩存服務(wù)器204 發(fā)送的讀寫指令指示緩存服務(wù)器204執(zhí)行對應(yīng)的處理操作。進一步可選地,在本發(fā)明實施 例中,還可以設(shè)置有落地式存儲服務(wù)器206,與緩存服務(wù)器204之間存在數(shù)據(jù)連接,以便于 在緩存空間不足時淘汰