一種線性可動態(tài)擴展的數(shù)據管理方法及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據管理技術領域,特別涉及一種線性可動態(tài)擴展的數(shù)據管理方法及系統(tǒng)。
【背景技術】
[0002]數(shù)據庫的可用性和擴展性一直是數(shù)據庫廠商和用戶最關注的問題。過去我們采用高端的設備,比如使用小型機和大型存儲來保證數(shù)據庫的可用性。而擴展性主要采用向上擴展的方式,通過增加CPU,內存,磁盤等方式提高處理能力。隨著業(yè)務積累和訪問量的不斷增大,這種集中式數(shù)據庫的架構,使得數(shù)據庫成為了整個系統(tǒng)的瓶頸,數(shù)據存儲的壓力急劇增加,很多應用場景下的索引和可擴展存儲的大數(shù)據的需求越來越緊急。絕大多數(shù)數(shù)據庫不具備線性擴容功能,數(shù)據量達到一定量級,性能嚴重下降,無法滿足大數(shù)據的存儲和擴展需求。
【發(fā)明內容】
[0003]為了解決上述問題,本發(fā)明實施例提供了一種線性可動態(tài)擴展的數(shù)據管理方法及系統(tǒng)。所述技術方案如下:
[0004]一方面,提供了一種線性可動態(tài)擴展的數(shù)據管理方法,所述方法包括:
[0005]產生數(shù)據時,計算生成所述數(shù)據的唯一 ID,所述ID至少包括時間信息;
[0006]在存儲數(shù)據時,根據所述時間信息,確定所述時間信息所在時間區(qū)間;
[0007]根據所確定時間區(qū)間以及預設時間區(qū)間與數(shù)據庫的對應關系,將所述數(shù)據存儲至與所述時間區(qū)間對應的數(shù)據庫。
[0008]可選地,所述方法還包括:
[0009]當接收到客戶端發(fā)送的攜帶時間信息的數(shù)據請求消息時,根據所述時間信息以及預設時間區(qū)間與數(shù)據庫的對應關系,確定所請求數(shù)據所在數(shù)據庫。
[0010]可選地,預設時間區(qū)間與數(shù)據庫的對應關系包括:一個數(shù)據區(qū)域對應一個包含多個數(shù)據庫的服務器,或者一個時間區(qū)間對應一個數(shù)據庫,或者一個時間區(qū)間對應數(shù)據庫所包含多個分片中的一個分片。
[0011]可選地,在存儲數(shù)據時,根據所述時間信息,確定所述時間信息所在時間區(qū)間包括:
[0012]在存儲數(shù)據時,將所述時間信息轉化為數(shù)字時間,根據所述數(shù)字時間確定所述時間信息所在時間區(qū)間。
[0013]另一方面,提供了一種線性可動態(tài)擴展的數(shù)據管理系統(tǒng),所述系統(tǒng)包括:
[0014]ID生成模塊,用于產生數(shù)據時,計算生成所述數(shù)據的唯一 ID,所述ID至少包括時間信息;
[0015]時間區(qū)間確定模塊,用于在存儲數(shù)據時,根據所述時間信息,確定所述時間信息所在時間區(qū)間;
[0016]數(shù)據庫查找模塊,用于根據所確定時間區(qū)間以及預設時間區(qū)間與數(shù)據庫的對應關系,將所述數(shù)據存儲至與所述時間區(qū)間對應的數(shù)據庫。
[0017]可選地,所述系統(tǒng)還包括:
[0018]索引模塊,用于當接收到客戶端發(fā)送的攜帶時間信息的數(shù)據請求消息時,根據所述時間信息以及預設時間區(qū)間與數(shù)據庫的對應關系,確定所請求數(shù)據所在數(shù)據庫。
[0019]可選地,預設時間區(qū)間與數(shù)據庫的對應關系包括:一個數(shù)據區(qū)域對應一個包含多個數(shù)據庫的服務器,或者一個時間區(qū)間對應一個數(shù)據庫,或者一個時間區(qū)間對應數(shù)據庫所包含多個分片中的一個分片。
[0020]可選地,時間區(qū)間確定模塊還用于在存儲數(shù)據時,將所述時間信息轉化為數(shù)字時間,根據所述數(shù)字時間確定所述時間信息所在時間區(qū)間。
[0021]本發(fā)明實施例提供的技術方案帶來的有益效果是:
[0022]通過預設時間區(qū)間與數(shù)據庫的對應關系,在生成數(shù)據時,生成攜帶時間信息的唯一 ID,將數(shù)據分配到按照時間劃分的數(shù)據庫中,并以時間作為索引,實現(xiàn)按照時間存儲和索引數(shù)據,每個數(shù)據庫可存在對應某臺服務器,實現(xiàn)線性擴展的目的。
【附圖說明】
[0023]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0024]圖1是本發(fā)明實施例提供的線性可動態(tài)擴展的數(shù)據管理方法流程圖;
[0025]圖2是本發(fā)明實施例提供的線性可動態(tài)擴展的數(shù)據管理方法示意圖;
[0026]圖3是本發(fā)明實施例提供的線性可動態(tài)擴展的數(shù)據管理系統(tǒng)結構示意圖。
【具體實施方式】
[0027]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0028]圖1是本發(fā)明實施例提供的線性可動態(tài)擴展的數(shù)據管理方法的流程圖。參見圖1,該方法包括:
[0029]101、產生數(shù)據時,計算生成該數(shù)據的唯一 ID,該ID至少包括時間信息;
[0030]在本發(fā)明實施例中,每個產生數(shù)據的服務程序,按照算法計算生成唯一 ID,該唯一ID在攜帶時間信息的基礎上,還可以攜帶ID算法和組成:[TM] [UID] [STEP],其中,TM是數(shù)字時間戳,UID是隨機生成的唯一標識,STEP是為了進一步隨機化的計數(shù)器。
[0031]102、在存儲數(shù)據時,根據該時間信息,確定該時間信息所在時間區(qū)間;
[0032]在本發(fā)明實施例中,在存儲數(shù)據時,將該時間信息轉化為數(shù)字時間,根據該數(shù)字時間確定該時間信息所在時間區(qū)間。例如:UNIX時間戳1378173743,代表2013/9/3上午10:02:23,即時間信息可以用數(shù)字時間來表示,可以很自然對數(shù)據按時間區(qū)間進行切分。
[0033]103、根據所確定時間區(qū)間以及預設時間區(qū)間與數(shù)據庫的對應關系,將該數(shù)據存儲至與該時間區(qū)間對應的數(shù)據庫。
[0034]在本發(fā)明實施例中,預設時間區(qū)間與數(shù)據庫的對應關系包括:一個數(shù)據區(qū)域對應一個包含多個數(shù)據庫的服務器,或者一個時間區(qū)間對應一個數(shù)據庫,或者一個時間區(qū)間對應數(shù)據庫所包含多個分片中的一個分片。例如:按照時間區(qū)域2013年9月,把9月產生的數(shù)據,放到唯一確定的數(shù)據集合(數(shù)據庫或表)中去,這個集合本身數(shù)據量就可以保持在可控的范圍內,既保證存儲空間的大小,又保證了查詢時間的效率。
[0035]在本發(fā)明實施例中,數(shù)據索引時包括:當接收到客戶端發(fā)送的