[發(fā)明專利]數據查詢方法、服務器及計算機可讀存儲介質在審
| 申請?zhí)枺?/td> | 201711019826.2 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107918642A | 公開(公告)日: | 2018-04-17 |
| 發(fā)明(設計)人: | 劉俊國 | 申請(專利權)人: | 深圳市金立通信設備有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州三環(huán)專利商標代理有限公司44202 | 代理人: | 郝傳鑫,熊永強 |
| 地址: | 518040 廣東省深圳市福田*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 查詢 方法 服務器 計算機 可讀 存儲 介質 | ||
技術領域
本發(fā)明涉及計算機技術領域,尤其涉及一種數據查詢方法、服務器及計算機可讀存儲介質。
背景技術
互聯網中的很多業(yè)務場景中都需要用到分頁拉取數據,例如微信消息過多時,拉取第N頁消息,購物網站下單過多時,拉取第N頁訂單,或者瀏覽搜索結果時,查看第N頁內容等。在分頁拉取數據的過程中,應用服務器根據客戶端請求訪問數據庫,并獲取需要的數據。
在現有的高并發(fā)大流量的互聯網架構中,數據庫中存儲了大量的數據,且根據需要進行了分庫處理。因此分頁拉取數據涉及到跨庫獲取數據,現有的處理方法很多時候都通過服務層修改數據庫查詢語句,擴大數據召回量,在內存中進行大量排序來換取業(yè)務無損并且數據精確。這將消耗大量服務器內存并降低服務性能。
發(fā)明內容
有鑒于此,本發(fā)明實施例提供一種數據查詢方法、服務器及計算機可讀存儲介質,可在無需增加大量內存消耗的情況下高性能完成業(yè)務需求。
為了解決上述技術問題,本發(fā)明實施例第一方面提供了一種數據查詢方法,所述方法包括:
獲取針對數據庫的數據查詢請求,所述數據庫包括根據業(yè)務主鍵切分得到的多個數據分庫,根據所述數據查詢請求確定分庫查詢條件,并從各分庫獲取滿足所述分庫查詢條件的業(yè)務數據,所述分庫查詢條件包括數據查詢鍵值,所述數據查詢鍵值為所述數據庫的非業(yè)務主鍵。
從各分庫獲取到的業(yè)務數據中確定一個最小查詢鍵值數據,確定所述最小查詢鍵值數據在各分庫中的相對偏移量,進而計算所述最小查詢鍵值數據的全局偏移量;
根據所述最小查詢鍵值數據的全局偏移量,計算從各分庫獲取到的各個業(yè)務數據的全局偏移量;
根據所述各個數據的全局偏移量,輸出滿足所述數據查詢請求的業(yè)務數據。
相應地,本發(fā)明實施例第二方面還提供了一種服務器,所述服務器包括用于執(zhí)行上述第一方面方法的單元。
相應地,本發(fā)明實施例第三方面還提供了一種服務器,所述服務器包括處理器、通信接口和存儲器,所述處理器、通信接口和存儲器相互連接,其中,所述存儲器用于存儲計算機程序,所述計算機程序包括程序指令,所述處理器被配置用于調用所述程序指令,:
相應的,本發(fā)明實施例第四方面還提供了一種計算機可讀存儲介質,所述存儲介質中存儲有多條指令,所述指令適于由處理器加載并執(zhí)行如本發(fā)明實施例第一方面提供的任一情況下的數據查詢方法。
可以看出,在本發(fā)明實施例提供的技術方案中,數據查詢服務器首先獲取針對數據庫的查詢請求,然后根據該查詢請求的條件獲取滿足分庫查詢條件的業(yè)務數據;從這些業(yè)務數據中獲取最小查詢鍵值數據,并確定該最小查詢鍵值數據在各分庫中的相對偏移量;獲取最小查詢鍵值數據與每個分庫對應的最大鍵值數據之間的所有二次查詢業(yè)務數據,計算獲得最小查詢鍵值的全局偏移量,并根據它確定之前獲取二次查詢業(yè)務數據對應的全局偏移量;根據二次查詢業(yè)務數據的全局偏移量,輸出滿足初始查詢請求的業(yè)務數據。可以看出,在這個過程中,由于是根據查詢請求條件從分庫中獲取滿足要求的業(yè)務數據,并且根據最小查詢鍵值數據與每個分庫對應的最大鍵值數據獲得二次查詢業(yè)務數據及其全局偏移量,最終獲得查詢結果,整個過程中只涉及到查詢偏移量附近的少量業(yè)務數據,大大降低了內存消耗,并且能高性能地完成查詢任務。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種數據查詢方法的示意流程圖;
圖2是本發(fā)明實施例提供的一種確定最小查詢鍵值數據在各分庫中的相對偏移量的示意流程圖;
圖3是本發(fā)明實施例提供的一種具體的數據查詢過程的示意流程圖;
圖4是本發(fā)明實施例提供的一種服務器示意框圖;
圖5是本發(fā)明另一實施例提供的一種服務器示意框圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市金立通信設備有限公司,未經深圳市金立通信設備有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711019826.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發(fā)送方法、數據發(fā)送系統、數據發(fā)送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發(fā)送和數據接收設備、數據發(fā)送和數據接收方法
- 數據發(fā)送裝置、數據接收裝置、數據收發(fā)系統、數據發(fā)送方法、數據接收方法和數據收發(fā)方法
- 數據發(fā)送方法、數據再現方法、數據發(fā)送裝置及數據再現裝置
- 數據發(fā)送方法、數據再現方法、數據發(fā)送裝置及數據再現裝置





