本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種數(shù)據(jù)處理方法及服務(wù)器。
背景技術(shù):
HBase是Apache Hadoop的數(shù)據(jù)庫,其能夠?qū)Υ髷?shù)據(jù)提供隨機(jī)、實(shí)時(shí)的讀寫訪問功能,并具有開源、分布式、可擴(kuò)展及面向列存儲(chǔ)等特點(diǎn);HBase只需使用普通的硬件配置便能夠存儲(chǔ)并處理成千上萬的行和列的數(shù)據(jù)。
現(xiàn)有技術(shù)中,通常根據(jù)HBase自身提供的分頁過濾器(Page Filter)來實(shí)現(xiàn)HBase的行分頁;在實(shí)現(xiàn)行分頁的過程中,用戶在創(chuàng)建當(dāng)前過濾器的時(shí)候需要指定pageSize參數(shù),用于控制每頁返回的行數(shù);同時(shí),客戶端代碼會(huì)記錄本次掃描的最后一行,并在下次獲取數(shù)據(jù)時(shí),把記錄的上次掃描的最后一行設(shè)置為本次掃描的起始行,基于保留的相同的過濾屬性一次進(jìn)行迭代。
但是,上述的行分頁方法存在如下問題:第一,每次獲取數(shù)據(jù)時(shí),必須先知道掃描的起始行,因此不能支持任意頁的查詢;第二,在分頁查詢中想獲取數(shù)據(jù)量總的個(gè)數(shù)時(shí),需要用到cout函數(shù),而對(duì)于存儲(chǔ)和處理大數(shù)據(jù)的HBase來說,cout函數(shù)的處理效率很低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的主要目的在于提供一種數(shù)據(jù)處理方法及服務(wù)器,能夠?qū)崿F(xiàn)數(shù)據(jù)庫內(nèi)任意頁的數(shù)據(jù)查詢,并能夠輕量級(jí)的獲取總的數(shù)據(jù)量。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供一種服務(wù)器,所述服務(wù)器包括:
建立單元,用于建立數(shù)據(jù)庫中的行鍵與行鍵索引的映射關(guān)系表;
獲取單元,用于根據(jù)預(yù)設(shè)的分頁參數(shù)在所述映射關(guān)系表中獲取行鍵索引;
確定單元,用于確定所獲取的行鍵索引對(duì)應(yīng)的第一數(shù)據(jù);
分頁單元,用于查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量,基于所述數(shù)據(jù)量和所述第一數(shù)據(jù)進(jìn)行數(shù)據(jù)分頁。
上述方案中,所述建立單元,具體用于設(shè)置所述數(shù)據(jù)庫中的行鍵對(duì)應(yīng)的行鍵索引,存儲(chǔ)行鍵與行鍵索引的對(duì)應(yīng)關(guān)系為映射關(guān)系表。
上述方案中,所述獲取單元,具體用于將所述分頁參數(shù)中偏移量轉(zhuǎn)化為與所述行鍵索引相同數(shù)據(jù)類型的值,并將轉(zhuǎn)化后的偏移量作為起始行鍵的前綴;
將所述轉(zhuǎn)化后的偏移量、所述分頁參數(shù)中分頁大小的值與1相加得到的結(jié)果作為中終止行鍵的前綴;
基于所述起始行鍵的前綴和所述終止行鍵的前綴在所述映射關(guān)系表中獲取行鍵索引。
上述方案中,所述確定單元,具體用于基于所述行鍵索引在所述數(shù)據(jù)庫中查找與所述行鍵索引對(duì)應(yīng)的行鍵值為第一數(shù)據(jù)。
上述方案中,所述分頁單元,具體用于在所述數(shù)據(jù)庫的getRowOrBefore函數(shù)中輸入所述行鍵索引的數(shù)據(jù)結(jié)構(gòu)能夠表示的最大值,生成第二數(shù)據(jù);所述第二數(shù)據(jù)中最后一行數(shù)據(jù)的行鍵值去除前綴的零后得到的值為所述數(shù)據(jù)庫中總的數(shù)據(jù)量。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,所述方法應(yīng)用于服務(wù)器,所述方法包括:
建立數(shù)據(jù)庫中的行鍵與行鍵索引的映射關(guān)系表;
根據(jù)預(yù)設(shè)的分頁參數(shù)在所述映射關(guān)系表中獲取行鍵索引;
確定所獲取的行鍵索引對(duì)應(yīng)的第一數(shù)據(jù);
查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量,基于所述數(shù)據(jù)量和所述第一數(shù)據(jù)進(jìn)行數(shù)據(jù)分頁。
上述方案中,所述建立數(shù)據(jù)庫中的行鍵與行鍵索引的映射關(guān)系表,包括:
設(shè)置所述數(shù)據(jù)庫中的行鍵對(duì)應(yīng)的行鍵索引,存儲(chǔ)行鍵與行鍵索引的對(duì)應(yīng)關(guān)系為映射關(guān)系表。
上述方案中,所述根據(jù)預(yù)設(shè)的分頁參數(shù)在所述映射關(guān)系表中獲取行鍵索引包括:
將所述分頁參數(shù)中偏移量轉(zhuǎn)化為與所述行鍵索引相同數(shù)據(jù)類型的值,并將轉(zhuǎn)化后的偏移量作為起始行鍵的前綴;
將所述轉(zhuǎn)化后的偏移量、所述分頁參數(shù)中分頁大小的值與1相加得到的結(jié)果作為中終止行鍵的前綴;
基于所述起始行鍵的前綴和所述終止行鍵的前綴在所述映射關(guān)系表中獲取行鍵索引。
上述方案中,所述確定所獲取的行鍵索引對(duì)應(yīng)的第一數(shù)據(jù)包括:
基于所述行鍵索引在所述數(shù)據(jù)庫中查找與所述行鍵索引對(duì)應(yīng)的行鍵值為第一數(shù)據(jù)。
上述方案中,在所述數(shù)據(jù)庫的getRowOrBefore函數(shù)中輸入所述行鍵索引的數(shù)據(jù)結(jié)構(gòu)能夠表示的最大值,生成第二數(shù)據(jù);所述第二數(shù)據(jù)中最后一行數(shù)據(jù)的行鍵值去除前綴的零后得到的值為所述數(shù)據(jù)庫中總的數(shù)據(jù)量。
本發(fā)明所提供的數(shù)據(jù)處理方法及服務(wù)器,服務(wù)器建立數(shù)據(jù)庫中的行鍵與行鍵索引的映射關(guān)系表;根據(jù)預(yù)設(shè)的分頁參數(shù)中的偏移量和分頁大小在所述映射關(guān)系表中獲取行鍵索引;確定所獲取的行鍵索引對(duì)應(yīng)的第一數(shù)據(jù);查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量,基于所述數(shù)據(jù)量和所述第一數(shù)據(jù)進(jìn)行數(shù)據(jù)分頁。如此,能夠?qū)崿F(xiàn)HBase在進(jìn)行分頁時(shí)能夠根據(jù)偏移量和分頁大小實(shí)現(xiàn)服務(wù)器對(duì)數(shù)據(jù)的分頁;即能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫內(nèi)任意頁數(shù)據(jù)的查詢及輕量級(jí)的獲取總的數(shù)據(jù)量。
附圖說明
圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法的實(shí)現(xiàn)流程示意圖;
圖2為本發(fā)明實(shí)施例提供的服務(wù)器的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了能夠更加詳盡地了解本發(fā)明實(shí)施例的特點(diǎn)與技術(shù)內(nèi)容,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例的實(shí)現(xiàn)進(jìn)行詳細(xì)闡述,所附附圖僅供參考說明之用,并非用來限定本發(fā)明實(shí)施例。
圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法的實(shí)現(xiàn)流程示意圖一,本示例中的數(shù)據(jù)處理方法應(yīng)用于服務(wù)器,如圖1所示,所述數(shù)據(jù)處理方法主要包括以下步驟:
步驟101,建立數(shù)據(jù)庫中的行鍵與行鍵索引的映射關(guān)系表;
需要說明的是,本發(fā)明實(shí)施例所述的數(shù)據(jù)庫均是指HBase;
具體地,服務(wù)器設(shè)置所述數(shù)據(jù)庫中的行鍵對(duì)應(yīng)的行鍵索引,存儲(chǔ)行鍵與行鍵索引的對(duì)應(yīng)關(guān)系為映射關(guān)系表;
這里,行鍵與行鍵索引的映射關(guān)系類似于書的章節(jié)與目錄的對(duì)應(yīng)關(guān)系,所述行鍵索引用于指示所述行鍵在數(shù)據(jù)庫中的位置;由于HBase中存儲(chǔ)的數(shù)據(jù)類型均是簡(jiǎn)單的字符串類型,因此,設(shè)置所述行鍵索引的數(shù)據(jù)結(jié)構(gòu)為:serialNum_primaryRowKey;
其中,“serialNum”表示插入行鍵索引時(shí)數(shù)據(jù)的個(gè)數(shù),serialNum可以采用10進(jìn)制的數(shù)據(jù)類型,也可以采用16進(jìn)制的數(shù)據(jù)類型;“primaryRowKey”表示數(shù)據(jù)庫中的行鍵值;“_”表示連接符,用于分隔“serialNum”和“primaryRowKey”;
本發(fā)明實(shí)施例中以serialNum為10進(jìn)制數(shù)據(jù)類型為例,所述映射關(guān)系表的內(nèi)容如下:
00000000001_primaryRowKey1;
00000000002_primaryRowKey2;
00000000003_primaryRowKey3;
00000000004_primaryRowKey4;
......
00000000010_primaryRowKey10;
......
上述映射關(guān)系表中serialNum最多可以是11為定長(zhǎng)的數(shù)字,則可以表征百億條行鍵值。
由于HBase用于日志、用戶行為等數(shù)據(jù)的存儲(chǔ),因此,HBase中的數(shù)據(jù)均會(huì)被永久保存而不被刪除;但是,HBase中的數(shù)據(jù)會(huì)有添加、編輯等操作;在HBase中添加數(shù)據(jù)時(shí),需要相應(yīng)的更新所述行鍵與行鍵索引的映射關(guān)系表。
本發(fā)明實(shí)施例中,由于通過行鍵與行鍵索引的映射關(guān)系表來維護(hù)數(shù)據(jù)庫中行鍵的索引關(guān)系,因此,并不影響數(shù)據(jù)庫自身的特性,實(shí)現(xiàn)了數(shù)據(jù)庫與映射關(guān)系表的完全解耦。
步驟102,根據(jù)預(yù)設(shè)的分頁參數(shù)在所述映射關(guān)系表中獲取行鍵索引;
其中,所述分頁參數(shù)包括偏移量(offset)和分頁大小(PageSize);
具體地,服務(wù)器將所述分頁參數(shù)中的偏移量轉(zhuǎn)化為與所述行鍵索引相同數(shù)據(jù)類型的值,并將轉(zhuǎn)化后的偏移量作為起始行鍵的前綴;將所述轉(zhuǎn)化后的偏移量、所述分頁參數(shù)中分頁大小的值與1相加得到的結(jié)果作為中終止行鍵的前綴;基于所述起始行鍵的前綴和所述終止行鍵的前綴在所述映射關(guān)系表中獲取行鍵索引;
以所述offset值是38為例,服務(wù)器將offset表示為與所述行鍵索引相同的數(shù)據(jù)類型,即:00000000038,并將該值設(shè)置為起始行鍵的前綴;終止行鍵的前綴為OffSet+PageSize+1;計(jì)算終止行鍵的前綴時(shí)加1是指獲取行鍵索引時(shí),不包括終止行鍵對(duì)應(yīng)的行鍵索引;
這里,利用HBase中的“Scan”功能設(shè)置起始行鍵和終止行鍵。
步驟103,確定所獲取的行鍵索引對(duì)應(yīng)的第一數(shù)據(jù);
具體地,服務(wù)器基于所述行鍵索引在所述數(shù)據(jù)庫中查找與所述行鍵索引對(duì)應(yīng)的行鍵值為第一數(shù)據(jù);
也就是說,服務(wù)器根據(jù)步驟102所獲取的行鍵索引在HBase中查找與所述行鍵索引對(duì)應(yīng)的行鍵值,讀取所述行鍵值作為第一數(shù)據(jù)。
步驟104,查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量,基于所述數(shù)據(jù)量和所述第一數(shù)據(jù)進(jìn)行數(shù)據(jù)分頁;
具體地,服務(wù)器根據(jù)HBase中原生的函數(shù)Result get Row OR Befor(byte[]row,byte[]family)throws IO Exception來查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量;對(duì)于Result get Row OR Befor(byte[]row,byte[]family)throws IO Exception函數(shù),在計(jì)算時(shí),需確定要查找的行鍵和列簇;因此,該函數(shù)返回的實(shí)例是用戶指定的行;若沒有匹配的結(jié)果,函數(shù)返回值為null;
因此,在調(diào)用Result get Row OR Befor(byte[]row,byte[]family)throws IO Exception函數(shù)時(shí),我們輸入的行鍵值為本實(shí)施例中serialNum能取得的最大數(shù)據(jù),以11為serialNumber為例,首先,調(diào)用該函數(shù)時(shí)輸入的行鍵值為“99999999999”;那么,函數(shù)返回的結(jié)果是按字典排序排在最尾端的一行;其中,調(diào)用函數(shù)時(shí)輸入最大值“99999999999”,是為了能夠獲取到真實(shí)的數(shù)據(jù)量;如果輸入的行鍵值過小,可能行鍵值不能覆蓋數(shù)據(jù)庫中所有的數(shù)據(jù),導(dǎo)致得到的數(shù)據(jù)量非數(shù)據(jù)庫中的真實(shí)數(shù)據(jù)量。
其次,獲取最尾端一行數(shù)值的行鍵值,將行鍵值以連接符“_”進(jìn)行分隔為兩部分;其中,連接符“_”前面的部分去除前綴的零后得到的至為所述數(shù)據(jù)庫中總的數(shù)據(jù)量;如:連接符“_”前面的部分為“00000001234”,那么,數(shù)據(jù)庫中總的數(shù)據(jù)量則為1234個(gè)。
最后,利用現(xiàn)有技術(shù)中的分頁方法根據(jù)數(shù)據(jù)庫中總的數(shù)據(jù)量及第一數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行分頁。
本發(fā)明實(shí)施例中,由于存儲(chǔ)了數(shù)據(jù)庫中行鍵與行鍵索引的映射關(guān)系表,實(shí)現(xiàn)了HBase在進(jìn)行分頁時(shí)能夠根據(jù)偏移量和分頁大小實(shí)現(xiàn)服務(wù)器對(duì)數(shù)據(jù)的分頁;即能夠?qū)崿F(xiàn)對(duì)任意頁數(shù)據(jù)的查詢及輕量級(jí)的獲取總的數(shù)據(jù)量。
圖2為本發(fā)明實(shí)施例提供的服務(wù)器的組成結(jié)構(gòu)示意圖,如圖2所示,所述服務(wù)器包括:建立單元11、獲取單元12、確定單元13和分頁單元14;其中,
所述建立單元11,用于建立數(shù)據(jù)庫中的行鍵與行鍵索引的映射關(guān)系表;
所述獲取單元12,用于根據(jù)預(yù)設(shè)的分頁參數(shù)在所述映射關(guān)系表中獲取行鍵索引;
所述確定單元13,用于確定所獲取的行鍵索引對(duì)應(yīng)的第一數(shù)據(jù);
所述分頁單元14,用于查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量,基于所述數(shù)據(jù)量和所述第一數(shù)據(jù)進(jìn)行數(shù)據(jù)分頁.
在一具體實(shí)施方式中,所述建立單元11,具體用于設(shè)置所述數(shù)據(jù)庫中的行鍵對(duì)應(yīng)的行鍵索引,存儲(chǔ)行鍵與行鍵索引的對(duì)應(yīng)關(guān)系為映射關(guān)系表;
本發(fā)明實(shí)施例中行鍵與行鍵索引的映射關(guān)系類似于書的章節(jié)與目錄的對(duì)應(yīng)關(guān)系,所述行鍵索引用于指示所述行鍵在數(shù)據(jù)庫中的位置;所述的數(shù)據(jù)庫均是指HBase,由于HBase中存儲(chǔ)的數(shù)據(jù)類型均是簡(jiǎn)單的字符串類型,因此,所述建立單元11設(shè)置所述行鍵索引的數(shù)據(jù)結(jié)構(gòu)為:serialNum_primaryRowKey;
其中,“serialNum”表示插入行鍵索引時(shí)數(shù)據(jù)的個(gè)數(shù),serialNum可以采用10進(jìn)制的數(shù)據(jù)類型,也可以采用16進(jìn)制的數(shù)據(jù)類型;“primaryRowKey”表示數(shù)據(jù)庫中的行鍵值;“_”表示連接符,用于分隔“serialNum”和“primaryRowKey”;
本發(fā)明實(shí)施例中以serialNum為10進(jìn)制數(shù)據(jù)類型為例,所述映射關(guān)系表的內(nèi)容如下:
00000000001_primaryRowKey1;
00000000002_primaryRowKey2;
00000000003_primaryRowKey3;
00000000004_primaryRowKey4;
......
00000000010_primaryRowKey10;
......
上述映射關(guān)系表中serialNum最多可以是11為定長(zhǎng)的數(shù)字,則可以表征百億條行鍵值。
由于HBase用于日志、用戶行為等數(shù)據(jù)的存儲(chǔ),因此,HBase中的數(shù)據(jù)均會(huì)被永久保存而不被刪除;但是,HBase中的數(shù)據(jù)會(huì)有添加、編輯等操作;在HBase中添加數(shù)據(jù)時(shí),所述建立單元11,還用于更新所述行鍵與行鍵索引的映射關(guān)系表。
本發(fā)明實(shí)施例中,由于通過行鍵與行鍵索引的映射關(guān)系表來維護(hù)數(shù)據(jù)庫中行鍵的索引關(guān)系,因此,并不影響數(shù)據(jù)庫自身的特性,實(shí)現(xiàn)了數(shù)據(jù)庫與映射關(guān)系表的完全解耦。
在一具體實(shí)施方式中,所述獲取單元12,具體用于將所述分頁參數(shù)中偏移量轉(zhuǎn)化為與所述行鍵索引相同數(shù)據(jù)類型的值,并將轉(zhuǎn)化后的偏移量作為起始行鍵的前綴;將所述轉(zhuǎn)化后的偏移量、所述分頁參數(shù)中分頁大小的值與1相加得到的結(jié)果作為中終止行鍵的前綴;基于所述起始行鍵的前綴和所述終止行鍵的前綴在所述映射關(guān)系表中獲取行鍵索引;
其中,所述分頁參數(shù)包括offset和PageSize;
具體地,所述獲取單元12將所述分頁參數(shù)中的偏移量轉(zhuǎn)化為與所述行鍵索引相同數(shù)據(jù)類型的值,并將轉(zhuǎn)化后的偏移量作為起始行鍵的前綴;將所述轉(zhuǎn)化后的偏移量、所述分頁參數(shù)中分頁大小的值與1相加得到的結(jié)果作為中終止行鍵的前綴;基于所述起始行鍵的前綴和所述終止行鍵的前綴在所述映射關(guān)系表中獲取行鍵索引;
以所述offset值是38為例,所述獲取單元12將offset表示為與所述行鍵索引相同的數(shù)據(jù)類型,即:00000000038,并將該值設(shè)置為起始行鍵的前綴;終止行鍵的前綴為OffSet+PageSize+1;計(jì)算終止行鍵的前綴時(shí)加1是指獲取行鍵索引時(shí),不包括終止行鍵對(duì)應(yīng)的行鍵索引;
這里,利用HBase中的“Scan”功能設(shè)置起始行鍵和終止行鍵。
在一具體實(shí)施方式中,所述確定單元13,具體用于基于所述行鍵索引在所述數(shù)據(jù)庫中查找與所述行鍵索引對(duì)應(yīng)的行鍵值為第一數(shù)據(jù);
也就是說,所述確定單元13根據(jù)所述獲取單元12所獲取的行鍵索引在HBase中查找與所述行鍵索引對(duì)應(yīng)的行鍵值,讀取所述行鍵值作為第一數(shù)據(jù)。
在一具體實(shí)施方式中,所述分頁單元14,具體用于在所述數(shù)據(jù)庫的getRowOrBefore函數(shù)中輸入所述行鍵索引的數(shù)據(jù)結(jié)構(gòu)能夠表示的最大值,生成第二數(shù)據(jù);所述第二數(shù)據(jù)中最后一行數(shù)據(jù)的行鍵值去除前綴的零后得到的值為所述數(shù)據(jù)庫中總的數(shù)據(jù)量;
即:根據(jù)HBase中原生的函數(shù)Result get Row OR Befor(byte[]row,byte[]family)throws IO Exception來查詢所述數(shù)據(jù)庫中總的數(shù)據(jù)量;對(duì)于Result get Row OR Befor(byte[]row,byte[]family)throws IO Exception函數(shù),在計(jì)算時(shí),需確定要查找的行鍵和列簇;因此,該函數(shù)返回的實(shí)例是用戶指定的行;若沒有匹配的結(jié)果,函數(shù)返回值為null;
因此,在調(diào)用Result get Row OR Befor(byte[]row,byte[]family)throws IO Exception函數(shù)時(shí),我們輸入的行鍵值為本實(shí)施例中serialNum能取得的最大數(shù)據(jù),以11為serialNumber為例,首先,調(diào)用該函數(shù)時(shí)輸入的行鍵值為“99999999999”;那么,函數(shù)返回的結(jié)果是按字典排序排在最尾端的一行;其中,調(diào)用函數(shù)時(shí)輸入最大值“99999999999”,是為了能夠獲取到真實(shí)的數(shù)據(jù)量;如果輸入的行鍵值過小,可能行鍵值不能覆蓋數(shù)據(jù)庫中所有的數(shù)據(jù),導(dǎo)致得到的數(shù)據(jù)量非數(shù)據(jù)庫中的真實(shí)數(shù)據(jù)量。
其次,獲取最尾端一行數(shù)值的行鍵值,將行鍵值以連接符“_”進(jìn)行分隔為兩部分;其中,連接符“_”前面的部分去除前綴的零后得到的至為所述數(shù)據(jù)庫中總的數(shù)據(jù)量;如:連接符“_”前面的部分為“00000001234”,那么,數(shù)據(jù)庫中總的數(shù)據(jù)量則為1234個(gè)。
最后,利用現(xiàn)有技術(shù)中的分頁方法根據(jù)數(shù)據(jù)庫中總的數(shù)據(jù)量及第一數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行分頁。
本發(fā)明實(shí)施例所述的服務(wù)器,由于建立了數(shù)據(jù)庫中行鍵與行鍵索引的映射關(guān)系表,實(shí)現(xiàn)了HBase在進(jìn)行分頁時(shí)能夠根據(jù)偏移量和分頁大小實(shí)現(xiàn)服務(wù)器對(duì)數(shù)據(jù)的分頁;即能夠?qū)崿F(xiàn)對(duì)任意頁數(shù)據(jù)的查詢及輕量級(jí)的獲取總的數(shù)據(jù)量
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明實(shí)施例圖2中所示的服務(wù)器中的各處理單元的實(shí)現(xiàn)功能,可參照前述顯示控制方法的相關(guān)描述而理解。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖2所示的服務(wù)器中各處理單元,可通過運(yùn)行于處理器上的程序而實(shí)現(xiàn),也可通過具體地邏輯電路而實(shí)現(xiàn)。
以上各實(shí)施例所述的電子設(shè)備中的建立單元11、獲取單元12、確定單元13和分頁單元14,在實(shí)際應(yīng)用中均可由所述服務(wù)器中的中央處理器(CPU,Central Processing Unit)、數(shù)字信號(hào)處理器(DSP,Digital Signal Processor)或可編程門陣列(FPGA,F(xiàn)ield-Programmable Gate Array)等實(shí)現(xiàn)。
本發(fā)明實(shí)施例所記載的技術(shù)方案之間,在不沖突的情況下,可以任意組合。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的方法和服務(wù)器,可以通過其它的方式實(shí)現(xiàn)。以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)單元或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個(gè)地方,也可以分布到多個(gè)網(wǎng)絡(luò)單元上;可以根據(jù)實(shí)際的需要選擇其中的部分或全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各實(shí)施例中的各功能單元可以全部集成在一個(gè)第二處理單元中,也可以是各單元分別單獨(dú)作為一個(gè)單元,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中;上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。