[發(fā)明專利]有序數(shù)據(jù)的記錄方法和裝置、有序數(shù)據(jù)的訪問方法和裝置有效
| 申請?zhí)枺?/td> | 201110280428.2 | 申請日: | 2011-09-20 |
| 公開(公告)號: | CN103019951A | 公開(公告)日: | 2013-04-03 |
| 發(fā)明(設計)人: | 佘智勇 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 有序 數(shù)據(jù) 記錄 方法 裝置 訪問 | ||
技術領域
本申請涉及計算機數(shù)據(jù)存儲技術領域,特別是涉及一種有序數(shù)據(jù)的記錄方法和裝置,一種有序數(shù)據(jù)的訪問方法和裝置。
背景技術
為了減少網(wǎng)絡流量,提高頁面的訪問速度,在線應用程序往往不能在一頁中顯示全部內容,而是將全部內容按照一定規(guī)則分成多頁進行顯示,每頁顯示一定數(shù)目的記錄。這就要求用戶通過分頁的方式向服務器發(fā)起頁面訪問請求,由服務器根據(jù)頁面訪問請求中的頁碼,每次分別從后臺數(shù)據(jù)庫中獲取相應的記錄數(shù)據(jù)并顯示出來。
假設服務器后臺數(shù)據(jù)庫中有ID為1、2、3、4、5、6、7、8、9、...、100共100條記錄存在磁盤中,假設分頁的大小為10,即每頁顯示10條記錄。如果當前用戶請求第2頁的內容,則表示用戶需要的數(shù)據(jù)是ID從11到20的記錄數(shù)據(jù)。在接收到上述情景下的頁面訪問請求時,現(xiàn)有的服務器通常首先將全部的100條記錄從后臺的磁盤讀取至內存,然后從內存篩選出ID從11到20的記錄數(shù)據(jù)。
但是,除了ID從11到20的10條記錄數(shù)據(jù)外,其它90條記錄數(shù)據(jù)都是冗余讀取的;從磁盤的角度而言,所述冗余讀取無疑增加了磁盤的IO(輸入輸出,Input?Output)操作,降低了后臺的IO性能,導致消耗了過多的讀取時間,從而增加了頁面訪問請求的處理時間;從內存的角度而言,由于內存的總大小是有限的,所述冗余讀取會占用大量的內存,在分頁總數(shù)過大時,甚至會出現(xiàn)內存不足的情況,而內存不足容易引發(fā)磁盤讀取故障等一系列問題,從而降低了頁面訪問請求的處理準確率。
總之,需要本領域技術人員迫切解決的一個技術問題就是:如何能夠提高頁面訪問請求的處理效率和處理準確率。
發(fā)明內容
本申請所要解決的技術問題是,提供一種有序數(shù)據(jù)的記錄方法和裝置,能夠在磁盤文件中將有序數(shù)據(jù)按塊方式進行記錄,其中,每個塊用于記錄相應有序數(shù)據(jù)的區(qū)間和記錄數(shù)目。
相應的,本申請還提供了一種有序數(shù)據(jù)的訪問方法和裝置,只需從所述特定分頁內容所對應的記錄所覆蓋的塊及相應的區(qū)間中讀取數(shù)據(jù),能夠做到盡量避免讀取冗余數(shù)據(jù),以減少磁盤的IO操作。
為了解決上述問題,本申請公開了一種有序數(shù)據(jù)的記錄方法,包括:
針對有序數(shù)據(jù),建立磁盤文件;
在該磁盤文件中將所述有序數(shù)據(jù)按塊方式進行記錄,所述塊的數(shù)量為兩個或多個,所述記錄過程包括:
在每個塊中記錄相應有序數(shù)據(jù)的字段區(qū)間和該字段區(qū)間內的記錄數(shù)目,其中,在數(shù)據(jù)庫中所述有序數(shù)據(jù)按照所述字段進行有序存儲。
優(yōu)選的,針對不同的排序指標,在該磁盤文件中將相應有序數(shù)據(jù)記錄至不同的塊,其中,所述排序指標為所述有序數(shù)據(jù)的排序依據(jù)。
另一方面,本申請還公開了一種有序數(shù)據(jù)的記錄裝置,包括:
建立模塊,用于針對有序數(shù)據(jù),建立磁盤文件;及
記錄模塊,在該磁盤文件中將所述有序數(shù)據(jù)按塊方式進行記錄,所述塊的數(shù)量為兩個或多個,包括:
塊記錄子模塊,用于在每個塊中記錄相應有序數(shù)據(jù)的字段區(qū)間和該字段區(qū)間內的記錄數(shù)目,其中,在數(shù)據(jù)庫中所述有序數(shù)據(jù)按照所述字段進行有序存儲。
優(yōu)選的,所述記錄模塊,具體用于針對不同的排序指標,在該磁盤文件中將相應有序數(shù)據(jù)記錄至不同的塊,其中,所述排序指標為所述有序數(shù)據(jù)的排序依據(jù)。
另一方面,本申請還公開了一種有序數(shù)據(jù)的訪問方法,包括:
接收用戶針對有序數(shù)據(jù)的分頁訪問請求;
依據(jù)所述分頁訪問請求,計算相應記錄的訪問偏移和訪問長度;
依據(jù)所述訪問偏移和訪問長度,獲取所述分頁訪問請求對應的記錄覆蓋的塊及相應的字段區(qū)間;其中,所述塊位于所述有序數(shù)據(jù)的磁盤文件中,在每個塊中記錄有相應有序數(shù)據(jù)的字段區(qū)間和該字段區(qū)間內的記錄數(shù)目;
依據(jù)所述覆蓋的字段區(qū)間,訪問數(shù)據(jù)庫中的有序數(shù)據(jù)。
優(yōu)選的,所述依據(jù)所述訪問偏移和訪問長度,獲取所述分頁訪問請求對應的記錄覆蓋的字段區(qū)間及相應的塊的步驟,包括:
讀取該磁盤文件中的塊;
如果所述訪問偏移落在某塊的字段區(qū)間內,則以該塊和相應的字段區(qū)間作為所述分頁訪問請求對應的記錄覆蓋的第一塊及相應的第一字段區(qū)間;
如果所述訪問偏移與所述訪問長度的運算結果落在某塊的字段區(qū)間內,則以該塊和相應的字段區(qū)間作為所述分頁訪問請求對應的記錄覆蓋的第二塊及相應的第二字段區(qū)間;其中,如果所述有序數(shù)據(jù)為升序排列,則所述運算結果為所述訪問偏移與所述訪問長度的和,如果所述有序數(shù)據(jù)為升序排列,則所述運算結果為所述訪問偏移與所述訪問長度的差;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110280428.2/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結構
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





