一種存儲及查找數(shù)據(jù)的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種存儲及查找數(shù)據(jù)的方法及裝置,涉及互聯(lián)網(wǎng)領(lǐng)域,用于解決當(dāng)用戶的活躍度較大時,無法完整的存儲該用戶的個人數(shù)據(jù)的問題。本發(fā)明提供的方法包括:建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù);當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理,并修改所述一級索引區(qū)。本發(fā)明適用于互聯(lián)網(wǎng)領(lǐng)域,用于存儲及查找數(shù)據(jù)。
【專利說明】一種存儲及查找數(shù)據(jù)的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種存儲及查找數(shù)據(jù)的方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的快速發(fā)展,社交網(wǎng)絡(luò)的出現(xiàn)極大的豐富了人們的日常生活,已經(jīng)逐漸成為人們獲取網(wǎng)絡(luò)信息、展現(xiàn)自我、營銷推廣、互動交友的重要途徑。一般的,社交網(wǎng)絡(luò)均提供UGC(User Generated Content,用戶原創(chuàng)內(nèi)容)應(yīng)用,用戶可以通過該應(yīng)用豐富個人信息、更好的享受社交服務(wù)。UGC應(yīng)用會產(chǎn)生“時間膨脹數(shù)據(jù)”,這是社交網(wǎng)絡(luò)中的一種典型數(shù)據(jù)形式,其特點(diǎn)在于,隨著用戶使用時間的增加,該用戶的時間膨脹數(shù)據(jù)的數(shù)據(jù)量會逐步變大。社交網(wǎng)絡(luò)的運(yùn)營商為用戶分配存儲空間以存儲各用戶的個人數(shù)據(jù),所述個人數(shù)據(jù)中絕大部分為時間膨脹數(shù)據(jù)。
[0003]目前,運(yùn)營商會為用戶分配固定大小的存儲空間,用戶的個人數(shù)據(jù)的數(shù)據(jù)量不能超過運(yùn)營商分配的存儲空間。社交網(wǎng)絡(luò)中用戶的活躍程度差異很大,為了解決活躍用戶數(shù)據(jù)較大的問題,通常運(yùn)營商分配的存儲空間的大小會遠(yuǎn)超過所有用戶的個人數(shù)據(jù)的平均值。但即使這樣設(shè)計,也會有部分活躍度較大的活躍用戶的個人數(shù)據(jù)會被淘汰,常見的淘汰策略如較舊數(shù)據(jù)優(yōu)先淘汰,即當(dāng)用戶的個人數(shù)據(jù)超過運(yùn)營商分配的存儲空間時,會淘汰最舊的時間膨脹數(shù)據(jù)。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
[0005]當(dāng)用戶的活躍度較大時,無法完整的存儲該用戶的個人數(shù)據(jù);另一方面,對于活躍度較低的用戶,為其分配的存儲空間大部分都處于空閑狀態(tài),存儲資源的利用率較低。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施例提供一種存儲及查找數(shù)據(jù)的方法及裝置,能夠解決當(dāng)用戶的活躍度較大時,無法完整的存儲該用戶的個人數(shù)據(jù)的問題,同時還能夠提高存儲資源的利用率。
[0007]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008]一方面,本發(fā)明實(shí)施例提供了一種存儲數(shù)據(jù)的方法,所述方法包括:
[0009]建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù);
[0010]當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理,并修改所述一級索引區(qū)。
[0011]基于上述存儲數(shù)據(jù)的方法,本發(fā)明實(shí)施例還提供了一種查找數(shù)據(jù)的方法,所述方法包括:
[0012]在所述一級索引區(qū)查找目標(biāo)用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù);
[0013]根據(jù)所述起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)。[0014]另一方面,本發(fā)明實(shí)施例還提供了一種存儲數(shù)據(jù)的裝置,所述裝置包括:
[0015]一級索引單元,用于建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù);
[0016]數(shù)據(jù)存儲單元,用于當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理;
[0017]所述一級索引單元還用于在所述數(shù)據(jù)存儲單元完成數(shù)據(jù)塊整理后,修改所述一級索引區(qū)。
[0018]基于上述存儲數(shù)據(jù)的裝置,本發(fā)明實(shí)施例還提供了一種查找數(shù)據(jù)的裝置,所述裝置包括:
[0019]第一查找單元,用于在所述一級索引單元建立的一級索引區(qū)查找目標(biāo)用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù);
[0020]第一確定單元,用于根據(jù)所述第一查找單元查找的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)。
[0021]本發(fā)明實(shí)施例提供的存儲及查找數(shù)據(jù)的方法及裝置,能夠根據(jù)用戶數(shù)據(jù)量的大小為用戶動態(tài)分配數(shù)據(jù)塊,從而完整的存儲用戶的個人數(shù)據(jù),便于查找用戶數(shù)據(jù)且確保用戶的個人數(shù)據(jù)不丟失;而且能夠避免存儲資源的浪費(fèi),提高存儲資源的利用率。
【專利附圖】
【附圖說明】
[0022]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0023]圖1a為本發(fā)明實(shí)施例一提供的存儲數(shù)據(jù)的方法的流程示意圖;
[0024]圖1b為本發(fā)明實(shí)施例一提供的查找數(shù)據(jù)的方法的流程示意圖;
[0025]圖2為本發(fā)明實(shí)施例二提供的存儲及查找數(shù)據(jù)的方法的流程示意圖;
[0026]圖3a、圖3b為本發(fā)明實(shí)施例二提供的方法中存儲空間的示意圖;
[0027]圖4、圖5為本發(fā)明實(shí)施例二提供的方法中的二級索引示意圖;
[0028]圖6、圖7為本發(fā)明實(shí)施例三提供的存儲數(shù)據(jù)的裝置的結(jié)構(gòu)框圖;
[0029]圖8、圖9為本發(fā)明實(shí)施例三提供的查找數(shù)據(jù)的裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0030]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0031]實(shí)施例一
[0032]本發(fā)明的實(shí)施例提供一種存儲數(shù)據(jù)的方法,如圖1a所示,所述方法包括:
[0033]101、建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù)。[0034]本實(shí)施例中,用戶數(shù)據(jù)的存儲空間由一級索引區(qū)和數(shù)據(jù)存儲區(qū)兩部分共同構(gòu)成,所述一級索引區(qū)用于對用戶數(shù)據(jù)的讀寫進(jìn)行引導(dǎo),所述數(shù)據(jù)存儲區(qū)用于存儲用戶數(shù)據(jù)。
[0035]103、當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理,并修改所述一級索引區(qū)。
[0036]值得說明的是,本實(shí)施例提供的存儲數(shù)據(jù)的方法,能夠根據(jù)用戶數(shù)據(jù)量的變化,動態(tài)的調(diào)整為該用戶分配的數(shù)據(jù)塊數(shù)量,具體的:當(dāng)用戶的數(shù)據(jù)量變大時,增加為該用戶分配的數(shù)據(jù)塊;當(dāng)用戶的數(shù)據(jù)量變小時,減少為該用戶分配的數(shù)據(jù)塊,以使得為該用戶分配的數(shù)據(jù)塊數(shù)目是適量的,從而既能保證用戶的數(shù)據(jù)不丟失,又能減少數(shù)據(jù)塊的浪費(fèi)。
[0037]基于上述存儲數(shù)據(jù)的方法,本發(fā)明實(shí)施例還提供了一種查找數(shù)據(jù)的方法,如圖1b所示,所述方法包括:
[0038]102、在所述一級索引區(qū)查找目標(biāo)用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
[0039]104、根據(jù)所述起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)。
[0040]本發(fā)明實(shí)施例提供的存儲及查找數(shù)據(jù)的方法,能夠根據(jù)用戶數(shù)據(jù)量的變化動態(tài)的為用戶分配數(shù)據(jù)塊,從而完整的存儲用戶的個人數(shù)據(jù),便于查找用戶數(shù)據(jù)且確保用戶的個人數(shù)據(jù)不丟失;而且能夠避免存儲資源的浪費(fèi),提高存儲資源的利用率。
[0041]實(shí)施例二
[0042]本發(fā)明實(shí)施例提供了一種存儲及查找數(shù)據(jù)的方法,如圖2所示,所述方法包括:
[0043]201、在存儲空間中建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù)。
[0044]本實(shí)施例中,存儲空間由一級索引區(qū)和數(shù)據(jù)存儲區(qū)兩部分共同構(gòu)成,所述一級索引區(qū)用于對用戶數(shù)據(jù)的讀寫進(jìn)行引導(dǎo),所述數(shù)據(jù)存儲區(qū)用于存儲用戶數(shù)據(jù)。其中,一級索引區(qū)包括多個以及索引塊,每個一級索引塊記錄一個用戶的基本信息,包括但不限于:該用戶的在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù);數(shù)據(jù)存儲區(qū)用于存儲用戶數(shù)據(jù),包括文字、視頻、圖片等其他類型的數(shù)據(jù)。
[0045]本實(shí)施例提供的方法可以由存儲控制器實(shí)現(xiàn),所述存儲控制器用于對所述存儲空間中的數(shù)據(jù)塊進(jìn)行分配、以及進(jìn)行數(shù)據(jù)的讀寫等操作。
[0046]為了便于理解,本發(fā)明提供了一種存儲空間的示意圖以供參考,如圖3a所示,存儲空間有一級索引區(qū)31和數(shù)據(jù)存儲區(qū)32構(gòu)成,其中,一級索引區(qū)31包括多個數(shù)據(jù)塊,每個數(shù)據(jù)塊記錄一個用戶的基本信息,如圖3a所示,一級索引區(qū)31中的數(shù)據(jù)塊I記錄用戶A的基本信息,一級索引區(qū)中的數(shù)據(jù)塊2記錄用戶B的基本信息。數(shù)據(jù)存儲區(qū)32用戶存儲各用戶的數(shù)據(jù),如圖3a所示,數(shù)據(jù)存儲區(qū)32中的數(shù)據(jù)塊I和數(shù)據(jù)塊2存儲用戶A的數(shù)據(jù),數(shù)據(jù)存儲區(qū)32中的數(shù)據(jù)塊3至數(shù)據(jù)塊9存儲用戶B的數(shù)據(jù)。則在一級索引區(qū)31中的數(shù)據(jù)塊I中,會記錄用戶A的在數(shù)據(jù)存儲區(qū)32中的起始數(shù)據(jù)塊是數(shù)據(jù)塊1,數(shù)據(jù)塊總數(shù)是2,;在一級索引區(qū)32中的數(shù)據(jù)塊2中,會記錄用戶B的在數(shù)據(jù)存儲區(qū)32中的起始數(shù)據(jù)塊是3,數(shù)據(jù)塊總數(shù)是7。
[0047]值得說明的是,如圖3所示,所述一級索引區(qū)可以由多個獨(dú)立的數(shù)據(jù)塊構(gòu)成,每個數(shù)據(jù)塊記錄一個用戶的基本信息;可選的,所述一級索引區(qū)也可以由索引目錄構(gòu)成,該目錄上記錄有各用戶的基本信息。
[0048]202、當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小在數(shù)據(jù)存儲區(qū)進(jìn)行數(shù)據(jù)塊整理,包括為該用戶重新分配數(shù)據(jù)塊,并相應(yīng)的調(diào)整為其他用戶分配的數(shù)據(jù)塊。
[0049]例如,根據(jù)上述圖3a中所舉示例,當(dāng)用戶A的數(shù)據(jù)量變大,需要在數(shù)據(jù)存儲區(qū)32中占用3個數(shù)據(jù)塊時,可以通過如下方法進(jìn)行數(shù)據(jù)塊整理:
[0050]如圖3所示:
[0051]S1、將數(shù)據(jù)存儲區(qū)32中的數(shù)據(jù)塊3分配給用戶A,同時在一級索引區(qū)中的數(shù)據(jù)塊I中修改用戶A的基本信息:用戶A在數(shù)據(jù)存儲區(qū)32中的起始數(shù)據(jù)塊是數(shù)據(jù)塊1,數(shù)據(jù)塊總數(shù)是3 ;
[0052]S2、將數(shù)據(jù)存儲區(qū)32中的數(shù)據(jù)塊4分配給用戶B作為用戶B的起始數(shù)據(jù)塊,并將分配給用戶B的數(shù)據(jù)塊依次順移,即將數(shù)據(jù)存儲區(qū)32中的數(shù)據(jù)塊4至數(shù)據(jù)塊10分配給用戶B,同時在一級索引區(qū)中的數(shù)據(jù)塊2中修改用戶B的基本信息:用戶B在數(shù)據(jù)存儲區(qū)32中的起始數(shù)據(jù)塊是數(shù)據(jù)塊4,數(shù)據(jù)塊總數(shù)是7。
[0053]值得說明的是,以上舉例僅是本實(shí)施例提供的一種可能的實(shí)現(xiàn)方法,本領(lǐng)域技術(shù)人員可以想到通過其他方法根據(jù)用戶數(shù)據(jù)量的變化為用戶重新分配數(shù)據(jù)塊,本實(shí)施例不做限定。
[0054]203、在完成數(shù)據(jù)塊整理后,根據(jù)數(shù)據(jù)存儲區(qū)當(dāng)前的使用情況,修改所述一級索引區(qū),具體包括:修改所述一級索引塊中各用戶的起始數(shù)據(jù)塊、數(shù)據(jù)塊總數(shù)。
[0055]值得說明的是,本實(shí)施例提供的存儲數(shù)據(jù)的方法尤其適用于社交網(wǎng)絡(luò)中的用戶數(shù)據(jù)存儲業(yè)務(wù)。在社交網(wǎng)絡(luò)中,需要存儲的用戶數(shù)據(jù)絕大部分為UGC數(shù)據(jù),這種數(shù)據(jù)也可以稱為時間膨脹數(shù)據(jù),其特點(diǎn)在于,隨著用戶使用時間的增加,數(shù)據(jù)量會逐步增大。社交網(wǎng)絡(luò)中用戶的活躍程度不同,活躍用戶的UGC數(shù)據(jù)量增長較快;與活躍用戶相比,普通用戶的UGC數(shù)據(jù)量增長較慢。
[0056]優(yōu)選的,將本實(shí)施例提供的存儲數(shù)據(jù)的方法應(yīng)用于社交網(wǎng)絡(luò)的實(shí)際應(yīng)用中時,一級索引區(qū)中記錄的用戶的基本信息還包括用戶的類別標(biāo)識,用于表征該用戶是否為活躍用戶。則當(dāng)用戶的活躍程度發(fā)生變化時,本步驟中的“修改所述一級索引區(qū)”還可以包括修改用戶的類別標(biāo)識。
[0057]在社交網(wǎng)絡(luò)的實(shí)際應(yīng)用中,用戶的UGC數(shù)據(jù)主要包括文字、圖片、視頻等不同類型的數(shù)據(jù)。存儲控制器經(jīng)常需要根據(jù)用戶需求對用戶數(shù)據(jù)進(jìn)行篩選查找,例如,用戶想查看自己在某一時間段發(fā)表的UGC數(shù)據(jù),或者用戶向查看自己發(fā)表的所有圖片(即某一類型的數(shù)據(jù))時,均需要對用戶數(shù)據(jù)進(jìn)行篩選查找,以向用戶提供用戶想要的數(shù)據(jù)信息。一般的,用戶的UGC數(shù)據(jù)是不斷增長的,隨著UGC數(shù)據(jù)量的增大,UGC數(shù)據(jù)的讀寫效率會逐漸降低,而且在UGC數(shù)據(jù)中進(jìn)行篩選查找的復(fù)雜度較高,查找效率較低。
[0058]對于社交網(wǎng)絡(luò)中的活躍用戶,其UGC數(shù)據(jù)的增長速度很快,數(shù)據(jù)量較大,在數(shù)據(jù)存儲區(qū)中占用的數(shù)據(jù)塊較多(也可以將活躍用戶的數(shù)據(jù)稱之為“長用戶數(shù)據(jù)”)。為了提高社交網(wǎng)絡(luò)中對活躍用戶UGC數(shù)據(jù)的讀寫效率和查找效率,本實(shí)施例提供的存儲數(shù)據(jù)的方法還包括如下步驟:
[0059]204、在所述數(shù)據(jù)存儲區(qū)中,將活躍用戶的起始數(shù)據(jù)塊作為二級索引塊(如圖3a所示,用戶B為活躍用戶,數(shù)據(jù)存儲區(qū)32中的數(shù)據(jù)塊2是用戶B的二級索引塊),所述二級索引塊記錄有按照預(yù)設(shè)規(guī)則對所述活躍用戶的數(shù)據(jù)進(jìn)行分類后的索引信息,所述索引信息用于確定與所述預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
[0060]205、當(dāng)需要對活躍用戶的數(shù)據(jù)進(jìn)行查找篩選或讀寫操作時,可以根據(jù)所述二級索引塊快速確定與預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,以便于進(jìn)行相關(guān)操作。
[0061]為了便于理解根據(jù)二級索引塊的作用,本實(shí)施例提供了如下示例以供參考,例如:所述二級索引塊可以按照時間區(qū)間對所述活躍用戶的數(shù)據(jù)塊進(jìn)行分類,例如,如圖4所示,存儲控制器可以按照時間區(qū)間將用戶A的數(shù)據(jù)塊進(jìn)行分類,劃分為3個邏輯塊,其中,邏輯塊1、邏輯塊2、邏輯塊3分別記錄有用戶A在2010年、2011年、2012年的UGC數(shù)據(jù)。例如,當(dāng)需要查找用戶A在2011年的數(shù)據(jù)時,存儲控制器可以根據(jù)用戶A的二級索引塊進(jìn)行索弓丨,根據(jù)邏輯塊2確定數(shù)據(jù)存儲區(qū)中記載有用戶A的2011年數(shù)據(jù)的所有數(shù)據(jù)塊,從而確定用戶A的2011年數(shù)據(jù),從而進(jìn)行篩選或讀寫操作。
[0062]在另一種可能的實(shí)現(xiàn)方式中,所述二級索引塊可以按照數(shù)據(jù)類型對所述活躍用戶的數(shù)據(jù)進(jìn)行分類,例如,如圖5所示,存儲控制器可以按照數(shù)據(jù)類型將用戶B的數(shù)據(jù)進(jìn)行分類,劃分為3個邏輯塊,其中,邏輯塊I記錄有用戶B的文字?jǐn)?shù)據(jù),邏輯塊2記錄有用戶B的圖片數(shù)據(jù),邏輯塊3記錄有用戶B的視頻數(shù)據(jù)。例如,當(dāng)需要查找用戶B的圖片數(shù)據(jù)時,存儲控制器可以根據(jù)用戶B的二級索引塊進(jìn)行索引,根據(jù)邏輯塊2確定數(shù)據(jù)存儲區(qū)中記載有用戶B圖片數(shù)據(jù)的所有數(shù)據(jù)塊,從而確定用戶B的圖片數(shù)據(jù),從而進(jìn)行篩選或讀寫操作。
[0063]可選的,本實(shí)施例中是以活躍用戶的起始數(shù)據(jù)塊作為二級索引塊進(jìn)行說明的,但也可以將活躍用戶的任一數(shù)據(jù)塊作為二級索引塊,只需要在一級索引塊記錄的用戶的基本信息增加該用戶的二級索引塊的數(shù)據(jù)塊標(biāo)識即可。
[0064]值得說明的是,當(dāng)社交網(wǎng)絡(luò)中的用戶的活躍度發(fā)生變化時,只需要通過在數(shù)據(jù)存儲區(qū)中增加或刪除二級緩存塊、同時在一級索引區(qū)中增加或刪除用戶的類別標(biāo)識,即可便捷快速的實(shí)現(xiàn)對用戶的數(shù)據(jù)管理,無需額外操作,維護(hù)成本較低。
[0065]本發(fā)明實(shí)施例提供了一種存儲數(shù)據(jù)的方法,能夠根據(jù)用戶數(shù)據(jù)量的變化動態(tài)的為用戶分配數(shù)據(jù)塊,從而完整的存儲用戶的個人數(shù)據(jù),確保用戶的個人數(shù)據(jù)不丟失,便于查找用戶數(shù)據(jù)且能夠避免存儲資源的浪費(fèi),提高存儲資源的利用率;另一方面,對于數(shù)據(jù)量增長較快的活躍用戶,通過增加二級索引塊,能夠提高活躍用戶數(shù)據(jù)的讀寫效率和查找效率。
[0066]實(shí)施例三
[0067]本發(fā)明實(shí)施例提供了 一種存儲數(shù)據(jù)的裝置,能夠?qū)崿F(xiàn)上述方法實(shí)施例中存儲數(shù)據(jù)的方法,如圖6所示,所述裝置包括:
[0068]一級索引單元61,用于建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù);
[0069]數(shù)據(jù)存儲單元62,用于當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理;
[0070]所述一級索引單元61還用于在所述數(shù)據(jù)存儲單元62完成數(shù)據(jù)塊整理后,修改所述一級索引區(qū)。
[0071]具體的,所述一級索引單元61建立的一級索引區(qū)中包括多個一級索引塊,每個一級索引塊記錄一個用戶的基本信息,所述基本信息包括當(dāng)前用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
[0072]可選的,所述數(shù)據(jù)存儲單元62還用于當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,并相應(yīng)的調(diào)整為其他用戶分配的數(shù)據(jù)塊;則所述一級索引單元61具體用于修改所述一級索引塊中各用戶的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
[0073]可選的,所述一級索引塊記錄的用戶的基本信息還包括用戶的類別標(biāo)識,用于表征該用戶是否為活躍用戶;則如圖7所示,所述裝置還包括:二級索引單元63,用于在所述數(shù)據(jù)存儲區(qū)中,將活躍用戶的起始數(shù)據(jù)塊作為二級索引塊,所述二級索引塊記錄有按照預(yù)設(shè)規(guī)則對所述活躍用戶的數(shù)據(jù)進(jìn)行分類后的索引信息,所述索引信息用于確定與所述預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
[0074]可選的,所述二級索引單元63還用于將所述數(shù)據(jù)存儲區(qū)中活躍用戶的任一數(shù)據(jù)塊作為二級索引塊;則所述一級索引單元61還用于在用戶的基本信息中記錄該用戶的二級索引塊的數(shù)據(jù)塊標(biāo)識。
[0075]可選的,所述二級索引單元63可以按照時間區(qū)間對所述活躍用戶的數(shù)據(jù)塊進(jìn)行分類;或者
[0076]所述二級索引單元63也可以按照數(shù)據(jù)類型對所述活躍用戶的數(shù)據(jù)進(jìn)行分類。
[0077]基于上述圖6、圖7所述的存儲數(shù)據(jù)的裝置,本實(shí)施例還提供了一種查找數(shù)據(jù)的裝置,如圖8所示,所述裝置包括:
[0078]第一查找單元81,用于在一級索引單元建立的一級索引區(qū)查找所述目標(biāo)用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù);
[0079]第一確定單元82,用于根據(jù)所述第一查找單元81查找的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)。
[0080]進(jìn)一步的,如圖9所示,所述裝置還包括:
[0081]第二確定單元83,用于根據(jù)所述目標(biāo)用戶的二級索引塊,確定與預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
[0082]本發(fā)明實(shí)施例提供了 一種存儲及查找數(shù)據(jù)的裝置,數(shù)據(jù)存儲單元62能夠根據(jù)用戶數(shù)據(jù)量的變化動態(tài)的為用戶分配數(shù)據(jù)塊,從而完整的存儲用戶的個人數(shù)據(jù),確保用戶的個人數(shù)據(jù)不丟失,便于查找用戶數(shù)據(jù)且且能夠避免存儲資源的浪費(fèi),提高存儲資源的利用率;另一方面,對于數(shù)據(jù)量增長較快的活躍用戶,通過二級索引單元63增加二級索引塊,能夠提高活躍用戶數(shù)據(jù)的讀寫效率和查找效率。
[0083]通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
[0084]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種存儲數(shù)據(jù)的方法,其特征在于,包括: 建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù); 當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理,并修改所述一級索引區(qū)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述一級索引區(qū)中包括多個一級索引塊,每個一級索引塊記錄一個用戶的基本信息,所述基本信息包括當(dāng)前用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理,包括: 當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,并相應(yīng)的調(diào)整為其他用戶分配的數(shù)據(jù)塊; 所述修改所述一級索引區(qū),包括: 修改所述一級索引塊中各用戶的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
4.根據(jù)權(quán)利要求2 或3所述的方法,其特征在于,所述一級索引塊記錄的用戶的基本信息還包括用戶的類別標(biāo)識,用于表征該用戶是否為活躍用戶; 所述方法還包括: 在所述數(shù)據(jù)存儲區(qū)中,將活躍用戶的起始數(shù)據(jù)塊作為二級索引塊,所述二級索引塊記錄有按照預(yù)設(shè)規(guī)則對所述活躍用戶的數(shù)據(jù)進(jìn)行分類后的索引信息,所述索引信息用于確定與所述預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括: 在所述數(shù)據(jù)存儲區(qū)中,將活躍用戶的任一數(shù)據(jù)塊作為二級索引塊; 則所述一級索引塊記錄的用戶的基本信息還包括該用戶的二級索引塊的數(shù)據(jù)塊標(biāo)識。
6.一種查找數(shù)據(jù)的方法,其特征在于,所述查找數(shù)據(jù)的方法基于權(quán)利要求1-5中任一項(xiàng)所述的存儲數(shù)據(jù)的方法,該查找數(shù)據(jù)的方法包括: 在所述一級索引區(qū)查找目標(biāo)用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù); 根據(jù)所述起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的查找數(shù)據(jù)的方法,其特征在于,所述目標(biāo)用戶為活躍用戶,所述數(shù)據(jù)存儲區(qū)中包括所述目標(biāo)用戶的二級索引塊; 所述根據(jù)所述起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)之后,還包括: 根據(jù)所述目標(biāo)用戶的二級索引塊,確定與預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
8.一種存儲數(shù)據(jù)的裝置,其特征在于,包括: 一級索引單元,用于建立一級索引區(qū),所述一級索引區(qū)記錄有數(shù)據(jù)存儲區(qū)中各用戶的起始數(shù)據(jù)塊以及各用戶的數(shù)據(jù)塊總數(shù); 數(shù)據(jù)存儲單元,用于當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,在所述數(shù)據(jù)存儲區(qū)中進(jìn)行數(shù)據(jù)塊整理; 所述一級索引單元還用于在所述數(shù)據(jù)存儲單元完成數(shù)據(jù)塊整理后,修改所述一級索引區(qū)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述一級索引單元建立的一級索引區(qū)中包括多個一級索引塊,每個一級索引塊記錄一個用戶的基本信息,所述基本信息包括當(dāng)前用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述數(shù)據(jù)存儲單元具體用于當(dāng)用戶的數(shù)據(jù)量發(fā)生變化時,根據(jù)變化后的數(shù)據(jù)量大小為該用戶重新分配數(shù)據(jù)塊,并相應(yīng)的調(diào)整為其他用戶分配的數(shù)據(jù)塊; 所述一級索引單元具體用于修改所述一級索引塊中各用戶的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù)。
11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述一級索引塊記錄的用戶的基本信息還包括用戶的類別標(biāo)識,用于表征該用戶是否為活躍用戶; 所述裝置還包括: 二級索引單元,用于在所述數(shù)據(jù)存儲區(qū)中,將活躍用戶的起始數(shù)據(jù)塊作為二級索引塊,所述二級索引塊記錄有按照預(yù)設(shè)規(guī)則對所述活躍用戶的數(shù)據(jù)進(jìn)行分類后的索引信息,所述索引信息用于確定與所述預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述二級索引單元還用于將所述數(shù)據(jù)存儲區(qū)中活躍用戶的任一數(shù)據(jù)塊作為二級索引塊; 所述一級索引單元還用于在用戶的基本信息中記錄該用戶的二級索引塊的數(shù)據(jù)塊標(biāo)識。
13.—種查找數(shù)據(jù)的裝置,其特征在于,所述查找數(shù)據(jù)的裝置基于權(quán)利要求8-12中任一項(xiàng)所述的存儲數(shù)據(jù)的裝置,該查找數(shù)據(jù)的裝置包括: 第一查找單元,在所述一級索引單元建立的一級索引區(qū)查找目標(biāo)用戶在所述數(shù)據(jù)存儲區(qū)中的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù); 第一確定單元,用于根據(jù)所述第一查找單元查找的起始數(shù)據(jù)塊和數(shù)據(jù)塊總數(shù),在所述數(shù)據(jù)存儲區(qū)中確定所述目標(biāo)用戶的數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的查找數(shù)據(jù)的裝置,其特征在于,還包括: 第二確定單元,用于根據(jù)所述目標(biāo)用戶的二級索引塊,確定與預(yù)設(shè)規(guī)則相匹配的所述活躍用戶的數(shù)據(jù)塊,所述預(yù)設(shè)規(guī)則包括指定時間段、和/或指定數(shù)據(jù)類型。
【文檔編號】G06F17/30GK103678414SQ201210361170
【公開日】2014年3月26日 申請日期:2012年9月25日 優(yōu)先權(quán)日:2012年9月25日
【發(fā)明者】劉里, 田明, 王瑤, 周智昊 申請人:騰訊科技(深圳)有限公司