欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種時(shí)序數(shù)據(jù)管理方法、設(shè)備和裝置與流程

文檔序號(hào):12465134閱讀:250來(lái)源:國(guó)知局
一種時(shí)序數(shù)據(jù)管理方法、設(shè)備和裝置與流程

本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,特別涉及一種時(shí)序數(shù)據(jù)管理方法、設(shè)備和裝置。



背景技術(shù):

在電信業(yè)務(wù)質(zhì)量管理、網(wǎng)絡(luò)性能管理、互聯(lián)網(wǎng)應(yīng)用分析等多種領(lǐng)域需要對(duì)海量數(shù)據(jù)進(jìn)行存儲(chǔ)和操作,目前一般會(huì)采用數(shù)據(jù)表的形式對(duì)海量數(shù)據(jù)進(jìn)行存儲(chǔ),數(shù)據(jù)表中可以包含非時(shí)序數(shù)據(jù)(比如,某對(duì)象對(duì)應(yīng)的用戶標(biāo)識(shí)、性別、出生地等數(shù)據(jù))和時(shí)序數(shù)據(jù)(比如,某對(duì)象在某一時(shí)段內(nèi)的通話時(shí)長(zhǎng)等數(shù)據(jù),其中,某對(duì)象往往會(huì)對(duì)應(yīng)有不同時(shí)段的多個(gè)時(shí)序數(shù)據(jù)),對(duì)數(shù)據(jù)的操作可以是數(shù)據(jù)查詢操作。

目前,對(duì)時(shí)序數(shù)據(jù)進(jìn)行存儲(chǔ)和查詢的方法往往是:每當(dāng)接收到攜帶有某對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)指令時(shí),可以在數(shù)據(jù)表中新增加一行,可以將數(shù)據(jù)存儲(chǔ)指令中攜帶的時(shí)序數(shù)據(jù)記錄在該行中的對(duì)應(yīng)位置,即該對(duì)象在數(shù)據(jù)表中會(huì)對(duì)應(yīng)有多行數(shù)據(jù),每行中的時(shí)序數(shù)據(jù)對(duì)應(yīng)的時(shí)段不同,每當(dāng)接收到用于查詢某對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求時(shí),可以從第一行到最后一行查看數(shù)據(jù)表,確定該對(duì)象對(duì)應(yīng)的所有行,并獲取每行中的時(shí)序數(shù)據(jù)。

在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:

基于上述查詢時(shí)序數(shù)據(jù)的處理方式,查詢某對(duì)象的時(shí)序數(shù)據(jù)時(shí),需要對(duì)數(shù)據(jù)表進(jìn)行逐行查看,直到查看到最后一行,往往數(shù)據(jù)表中的數(shù)據(jù)量非常大,從而,查詢時(shí)序數(shù)據(jù)的效率較低。



技術(shù)實(shí)現(xiàn)要素:

為了解決查詢時(shí)序數(shù)據(jù)的效率較低的問(wèn)題,本發(fā)明實(shí)施例提供了一種時(shí)序數(shù)據(jù)管理方法、設(shè)備和裝置。

該技術(shù)方案如下:

第一方面,提供了一種時(shí)序數(shù)據(jù)管理方法,該方法可以用于查詢對(duì)象的時(shí)序數(shù)據(jù),該方法包括:接收用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求,數(shù)據(jù)查詢請(qǐng)求包括所述第一對(duì)象的標(biāo)識(shí);根據(jù)第一對(duì)象的標(biāo)識(shí),獲取目標(biāo)數(shù)據(jù)表中第一對(duì)象對(duì)應(yīng)的第一時(shí)序數(shù)據(jù),目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),多個(gè)對(duì)象與目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng);確定位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中存儲(chǔ)的第二存儲(chǔ)位置,位置索引表用于記錄目標(biāo)數(shù)據(jù)表多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中存儲(chǔ)位置所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前;獲取第二存儲(chǔ)位置中存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù)以及第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)位置,第二時(shí)序數(shù)據(jù)的時(shí)序在第一時(shí)序數(shù)據(jù)之前,第三存儲(chǔ)位置用于存儲(chǔ)第一對(duì)象的第三時(shí)序數(shù)據(jù)以及第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置;根據(jù)第三存儲(chǔ)位置,獲取第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)。

本發(fā)明實(shí)施例中,目標(biāo)數(shù)據(jù)表中只記錄有每個(gè)對(duì)象的一個(gè)時(shí)序數(shù)據(jù),當(dāng)接收到用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求時(shí),可以在目標(biāo)數(shù)據(jù)表中獲取第一對(duì)象對(duì)應(yīng)的第一時(shí)序數(shù)據(jù),在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中存儲(chǔ)的第二存儲(chǔ)位置中,獲取第一對(duì)象的第二時(shí)序數(shù)據(jù)和第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)位置,其中,第二時(shí)序數(shù)據(jù)的時(shí)序可以在第一時(shí)序數(shù)據(jù)之前,且第二時(shí)序數(shù)據(jù)的時(shí)序和第一時(shí)序數(shù)據(jù)的時(shí)序是相鄰的,進(jìn)而,根據(jù)第三存儲(chǔ)位置,獲取第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)。這樣,在獲取第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),只需要在目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),進(jìn)而,可以直接在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中記錄的存儲(chǔ)位置,查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

另外,用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求中還可以攜帶有查詢時(shí)間信息,此種情況下,時(shí)序數(shù)據(jù)管理設(shè)備獲取到第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù)后,可以從中篩選出時(shí)間信息符合數(shù)據(jù)查詢請(qǐng)求中攜帶的查詢時(shí)間信息的時(shí)序數(shù)據(jù)。

在一種可能的實(shí)現(xiàn)方式中,根據(jù)第三存儲(chǔ)位置,獲取第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù),包括:獲取第三存儲(chǔ)位置中存儲(chǔ)的第三時(shí)序數(shù)據(jù)和第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置;獲取第四存儲(chǔ)位置中存儲(chǔ)的第四時(shí)序數(shù)據(jù)和第四時(shí)序數(shù)據(jù)對(duì)應(yīng)的第五存儲(chǔ)位置,直至獲取到第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù)。

本發(fā)明實(shí)施例中,位置索引表中記錄的存儲(chǔ)位置可以是與目標(biāo)數(shù)據(jù)表中的對(duì)象一一對(duì)應(yīng)的,即對(duì)于目標(biāo)數(shù)據(jù)表中的每一個(gè)對(duì)象,位置索引表中只記錄該對(duì)象對(duì)應(yīng)的一個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置。這樣,當(dāng)需要查找第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),根據(jù)位置索引表獲取到第二時(shí)序數(shù)據(jù)和第三存儲(chǔ)位置后,可以在第三存儲(chǔ)位置中,獲取第一對(duì)象的第三時(shí)序數(shù)據(jù)和第四存儲(chǔ)位置,進(jìn)而,可以在第四存儲(chǔ)位置中獲取第四時(shí)序數(shù)據(jù)和第五存儲(chǔ)位置,直到獲取到第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù)。

第二方面,提供了一種時(shí)序數(shù)據(jù)管理方法,該方法用于存儲(chǔ)各對(duì)象的時(shí)序數(shù)據(jù),該方法包括:接收第一數(shù)據(jù)存儲(chǔ)指令,其中,第一數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第一時(shí)序數(shù)據(jù)以及第一對(duì)象的標(biāo)識(shí);根據(jù)第一對(duì)象的標(biāo)識(shí),確定目標(biāo)數(shù)據(jù)表中記錄的第一對(duì)象對(duì)應(yīng)的第二時(shí)序數(shù)據(jù),目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),多個(gè)對(duì)象與所述目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng);將目標(biāo)數(shù)據(jù)表中的第二時(shí)序數(shù)據(jù),替換為第一時(shí)序數(shù)據(jù);將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊;在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中,存儲(chǔ)第一數(shù)據(jù)存儲(chǔ)塊中第二時(shí)序數(shù)據(jù)所在的第二存儲(chǔ)位置,第二時(shí)序數(shù)據(jù)的時(shí)序在第一時(shí)序數(shù)據(jù)之前,位置索引表用于存儲(chǔ)目標(biāo)數(shù)據(jù)表中多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前。

其中,第一數(shù)據(jù)存儲(chǔ)塊可以是目標(biāo)數(shù)據(jù)表之外的數(shù)據(jù)存儲(chǔ)塊中的任一數(shù)據(jù)存儲(chǔ)塊,可以是一段連續(xù)的存儲(chǔ)空間。

本發(fā)明實(shí)施例中,在對(duì)時(shí)序數(shù)據(jù)進(jìn)行管理時(shí),不再采用逐一增加的方式將所有時(shí)序數(shù)據(jù)都保存在目標(biāo)數(shù)據(jù)表中,而是通過(guò)更新替換的方式,在目標(biāo)數(shù)據(jù)表中只保存最新的一條時(shí)序數(shù)據(jù),即每個(gè)對(duì)象在目標(biāo)數(shù)據(jù)表中只對(duì)應(yīng)有一行數(shù)據(jù),被最新時(shí)序數(shù)據(jù)替換的時(shí)序數(shù)據(jù)則可以保存在目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,當(dāng)需要查詢第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),只需要在目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),進(jìn)而,可以直接在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中記錄的存儲(chǔ)位置,查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)目標(biāo)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

另外,第二時(shí)序數(shù)據(jù)的時(shí)序可以在第一時(shí)序數(shù)據(jù)之前,且第二時(shí)序數(shù)據(jù)的時(shí)序和第一時(shí)序數(shù)據(jù)的時(shí)序是相鄰的。位置索引表中記錄的存儲(chǔ)位置可以是與目標(biāo)數(shù)據(jù)表中的對(duì)象一一對(duì)應(yīng)的,即對(duì)于目標(biāo)數(shù)據(jù)表中的每一個(gè)對(duì)象,位置索引表中只記錄該對(duì)象對(duì)應(yīng)的一個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置。

在一種可能的實(shí)現(xiàn)方式中,接收第一數(shù)據(jù)存儲(chǔ)指令之前,還包括:接收第二數(shù)據(jù)存儲(chǔ)指令,其中,第二數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù)以及所述第一對(duì)象的標(biāo)識(shí);根據(jù)第一對(duì)象的標(biāo)識(shí),確定目標(biāo)數(shù)據(jù)表中記錄的第一對(duì)象對(duì)應(yīng)的第三時(shí)序數(shù)據(jù);將目標(biāo)記錄表中的第三時(shí)序數(shù)據(jù)替換為第二時(shí)序數(shù)據(jù);將第三時(shí)序數(shù)據(jù)存儲(chǔ)入第二數(shù)據(jù)存儲(chǔ)塊;在第一存儲(chǔ)位置中,存儲(chǔ)第二數(shù)據(jù)存儲(chǔ)塊中第三時(shí)序數(shù)據(jù)所在的第三存儲(chǔ)位置。

在本發(fā)明實(shí)施例中,每當(dāng)接收到攜帶有待存儲(chǔ)的第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)指令時(shí),均可以將目標(biāo)數(shù)據(jù)表中存儲(chǔ)的第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù)替換為數(shù)據(jù)存儲(chǔ)指令中攜帶的時(shí)序數(shù)據(jù)。具體的,當(dāng)目標(biāo)數(shù)據(jù)表中第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù)為第三時(shí)序數(shù)據(jù),第二數(shù)據(jù)存儲(chǔ)指令中攜帶的是第一對(duì)象的第二時(shí)序數(shù)據(jù)時(shí),時(shí)序數(shù)據(jù)管理設(shè)備接收到第二數(shù)據(jù)存儲(chǔ)指令后,可以將目標(biāo)記錄表中的第三時(shí)序數(shù)據(jù)替換為第二時(shí)序數(shù)據(jù),以及可以將第三時(shí)序數(shù)據(jù)存儲(chǔ)入第二數(shù)據(jù)存儲(chǔ)塊,其中,第二數(shù)據(jù)存儲(chǔ)塊與第一數(shù)據(jù)存儲(chǔ)塊可以是同一個(gè)數(shù)據(jù)存儲(chǔ)塊,也可以是不同的數(shù)據(jù)存儲(chǔ)塊,進(jìn)而,可以在第一存儲(chǔ)位置中,存儲(chǔ)第二數(shù)據(jù)存儲(chǔ)塊中第三時(shí)序數(shù)據(jù)所在的第三存儲(chǔ)位置。

在一種可能的實(shí)現(xiàn)方式中,將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,包括:將第三存儲(chǔ)位置和第二時(shí)序數(shù)據(jù)的映射關(guān)系存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,其中,映射關(guān)系包括所述第三存儲(chǔ)位置和所述第二時(shí)序數(shù)據(jù)。

本發(fā)明實(shí)施例中,各個(gè)對(duì)象一般對(duì)應(yīng)有的多個(gè)時(shí)序數(shù)據(jù),為了保證可以獲取到各個(gè)對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù),在對(duì)第二時(shí)序數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),同時(shí)需要將被第二時(shí)序數(shù)據(jù)替換的第三時(shí)序數(shù)據(jù)的存儲(chǔ)位置和第二時(shí)序數(shù)據(jù)的映射關(guān)系一起存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,確保了第二時(shí)序數(shù)據(jù)和第三時(shí)序數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。這樣,在查詢第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),可以根據(jù)時(shí)序數(shù)據(jù)和被該時(shí)序數(shù)據(jù)替換的時(shí)序數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,逐漸查找到第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù),無(wú)需對(duì)目標(biāo)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

在一種可能的實(shí)現(xiàn)方式中,在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中,存儲(chǔ)第一數(shù)據(jù)存儲(chǔ)塊中第二時(shí)序數(shù)據(jù)所在的第二存儲(chǔ)位置,包括:將第一存儲(chǔ)位置中存儲(chǔ)的第三存儲(chǔ)位置,替換為第二存儲(chǔ)位置。

本發(fā)明實(shí)施例中,將目標(biāo)數(shù)據(jù)表中的第三時(shí)序數(shù)據(jù)替換為第二時(shí)序數(shù)據(jù)時(shí),位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中可以記錄有第三時(shí)序數(shù)據(jù)的存儲(chǔ)位置,即第三存儲(chǔ)位置,進(jìn)而,當(dāng)將目標(biāo)數(shù)據(jù)表中的第二時(shí)序數(shù)據(jù)替換為第一時(shí)序數(shù)據(jù)時(shí),可以將第一存儲(chǔ)位置中記錄的第三存儲(chǔ)位置替換為第二時(shí)序數(shù)據(jù)當(dāng)前的存儲(chǔ)位置(即第二存儲(chǔ)位置)。這樣,位置索引表中只存儲(chǔ)第一對(duì)象對(duì)應(yīng)的一個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其他時(shí)序數(shù)據(jù)的存儲(chǔ)位置存儲(chǔ)在數(shù)據(jù)存儲(chǔ)塊中,從而,查找第一對(duì)象對(duì)應(yīng)的除第一時(shí)序數(shù)據(jù)之外的其他時(shí)序數(shù)據(jù)時(shí),只需要在位置索引表中記錄的存儲(chǔ)位置中獲取到第一對(duì)象對(duì)應(yīng)的第二時(shí)序數(shù)據(jù),進(jìn)而,可以根據(jù)第二時(shí)序數(shù)據(jù),查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)位置索引表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

在一種可能的實(shí)現(xiàn)方式中,將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,包括:在第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的情況下,創(chuàng)建第三數(shù)據(jù)存儲(chǔ)塊,以及將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第三數(shù)據(jù)存儲(chǔ)塊;在第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量未達(dá)到存儲(chǔ)上限的情況下,將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊。

本發(fā)明實(shí)施例中,在存儲(chǔ)第二時(shí)序數(shù)據(jù)時(shí),可以在第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的情況下,創(chuàng)建新的數(shù)據(jù)存儲(chǔ)塊(即第三數(shù)據(jù)存儲(chǔ)塊),進(jìn)而,將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第三數(shù)據(jù)存儲(chǔ)塊,在第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量未達(dá)到存儲(chǔ)上限的情況下,可以將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊。這樣,可以在已創(chuàng)建的數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限時(shí),才去新的數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)時(shí)序數(shù)據(jù),已創(chuàng)建的數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量未達(dá)到存儲(chǔ)上限時(shí),依然在該數(shù)據(jù)存儲(chǔ)塊存儲(chǔ)時(shí)序數(shù)據(jù),進(jìn)而,可以避免已創(chuàng)建的數(shù)據(jù)存儲(chǔ)塊出現(xiàn)剩余存儲(chǔ)空間的問(wèn)題,從而,可以提高存儲(chǔ)空間的利用率。

在一種可能的實(shí)現(xiàn)方式中,將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,包括:根據(jù)第二時(shí)序數(shù)據(jù)的時(shí)間信息,從目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,確定與第二時(shí)序數(shù)據(jù)的時(shí)間信息相匹配的第一數(shù)據(jù)存儲(chǔ)塊,至少一個(gè)數(shù)據(jù)塊用于存儲(chǔ)從目標(biāo)數(shù)據(jù)表中替換出的時(shí)序數(shù)據(jù);將第二時(shí)序數(shù)據(jù)存儲(chǔ)入確定出的第一數(shù)據(jù)存儲(chǔ)塊。

其中,時(shí)間信息可以是時(shí)序數(shù)據(jù)的產(chǎn)生時(shí)間,也可以是時(shí)序數(shù)據(jù)的記錄時(shí)間、也可以是時(shí)序數(shù)據(jù)的編輯時(shí)間,即時(shí)序數(shù)據(jù)的時(shí)間信息可以是上述三者中的一個(gè)。

本發(fā)明實(shí)施例中,目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊本身可以對(duì)應(yīng)有時(shí)間信息,進(jìn)而,在存儲(chǔ)第二時(shí)序數(shù)據(jù)時(shí),可以將其存儲(chǔ)入與第二時(shí)序數(shù)據(jù)的時(shí)間信息相匹配的第一數(shù)據(jù)存儲(chǔ)塊。這樣,可以將不同時(shí)間的時(shí)序數(shù)據(jù)保存在不同的數(shù)據(jù)存儲(chǔ)塊中,便于用戶對(duì)特定時(shí)間區(qū)間范圍內(nèi)的時(shí)序數(shù)據(jù)的查找。

在一種可能的實(shí)現(xiàn)方式中,該方法還包括:每到預(yù)設(shè)的檢測(cè)周期,可以對(duì)目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中未進(jìn)行持久化的數(shù)據(jù)存儲(chǔ)塊進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè);可以將未進(jìn)行持久化的數(shù)據(jù)存儲(chǔ)塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù),按照更新時(shí)間由前至后的順序,保存至持久化文件中。

其中,持久化可以是將存儲(chǔ)在內(nèi)存空間內(nèi)的數(shù)據(jù)存儲(chǔ)塊中的數(shù)據(jù),存儲(chǔ)到可永久保存數(shù)據(jù)的存儲(chǔ)設(shè)備(比如磁盤)中,持久化文件可以是可永久保存數(shù)據(jù)的存儲(chǔ)設(shè)備中的文件。更新時(shí)間可以是數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的時(shí)間。目標(biāo)數(shù)據(jù)可以是數(shù)據(jù)存儲(chǔ)塊中存儲(chǔ)的時(shí)序數(shù)據(jù)和時(shí)序數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)位置。

本發(fā)明實(shí)施例中,可以對(duì)各個(gè)數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù)進(jìn)行持久化處理,這樣,避免了因系統(tǒng)故障異常原因?qū)е碌臄?shù)據(jù)丟失問(wèn)題,保證了數(shù)據(jù)存儲(chǔ)的安全性和可靠性。

在一種可能的實(shí)現(xiàn)方式中,該方法還包括:當(dāng)接收到數(shù)據(jù)恢復(fù)請(qǐng)求時(shí),可以獲取持久化文件中保存的目標(biāo)數(shù)據(jù);將待恢復(fù)的目標(biāo)數(shù)據(jù)存儲(chǔ)入內(nèi)存中的數(shù)據(jù)存儲(chǔ)塊。

在一種可能的實(shí)現(xiàn)方式中,該方法還包括:每到預(yù)設(shè)的檢測(cè)周期,可以獲取位置索引表中相比于前一檢測(cè)周期發(fā)生變化的各索引項(xiàng);可以將獲取的各索引項(xiàng)按更新時(shí)間由前至后的順序依次保存至持久化文件中。

其中,索引項(xiàng)可以包括位置索引表中記錄的存儲(chǔ)位置與對(duì)象的映射關(guān)系。更新時(shí)間可以是索引項(xiàng)創(chuàng)建的時(shí)間,以及索引項(xiàng)中的存儲(chǔ)位置的記錄時(shí)間。

在本發(fā)明實(shí)施例中,可以對(duì)位置索引表中的各個(gè)索引項(xiàng)進(jìn)行可持久化處理,避免了因系統(tǒng)故障異常原因?qū)е碌臄?shù)據(jù)丟失問(wèn)題,保證了數(shù)據(jù)存儲(chǔ)的安全性和可靠性。

在一種可能的實(shí)現(xiàn)方式中,該方法還包括:在接收到數(shù)據(jù)恢復(fù)請(qǐng)求時(shí),可以按照根更新時(shí)間由后至前的順序,遍歷持久化文件,依次獲取持久化文件中保存的至少一個(gè)索引項(xiàng);其中,當(dāng)持久化文件中包括針對(duì)同一對(duì)象的多個(gè)索引項(xiàng)時(shí),從針對(duì)同一對(duì)象的多個(gè)索引項(xiàng)中獲取更新時(shí)間最新的索引項(xiàng);將獲取的至少一個(gè)索引項(xiàng)恢復(fù)至內(nèi)存中。

第三方面,提供了一種時(shí)序數(shù)據(jù)管理設(shè)備,該設(shè)備可以包括處理器、存儲(chǔ)器、收發(fā)器,存儲(chǔ)器用于存儲(chǔ)程序和數(shù)據(jù),處理器被配置為執(zhí)行存儲(chǔ)器中存儲(chǔ)的程序;處理器通過(guò)執(zhí)行程序來(lái)實(shí)現(xiàn)上述第一方面以及第一方面各種可能的實(shí)現(xiàn)方式中所提供的時(shí)序數(shù)據(jù)管理方法,相關(guān)細(xì)節(jié)和技術(shù)效果參照第一方面及其各種實(shí)現(xiàn)方式,此處不再贅述。

第四方面,提供了一種時(shí)序數(shù)據(jù)管理設(shè)備,該設(shè)備可以包括處理器、存儲(chǔ)器、收發(fā)器,存儲(chǔ)器用于存儲(chǔ)程序和數(shù)據(jù),處理器被配置為執(zhí)行存儲(chǔ)器中存儲(chǔ)的程序;處理器通過(guò)執(zhí)行程序來(lái)實(shí)現(xiàn)上述第二方面以及第二方面各種可能的實(shí)現(xiàn)方式中所提供的時(shí)序數(shù)據(jù)管理方法,相關(guān)細(xì)節(jié)和技術(shù)效果參照第二方面及其各種實(shí)現(xiàn)方式,此處不再贅述。

第五方面,提供了一種時(shí)序數(shù)據(jù)管理裝置,該裝置用于查詢對(duì)象的時(shí)序數(shù)據(jù),該裝置包括:接收模塊,用于接收用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求,數(shù)據(jù)查詢請(qǐng)求包括第一對(duì)象的標(biāo)識(shí);獲取模塊,用于根據(jù)第一對(duì)象的標(biāo)識(shí),獲取目標(biāo)數(shù)據(jù)表中第一對(duì)象對(duì)應(yīng)的第一時(shí)序數(shù)據(jù),目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),多個(gè)對(duì)象與所述目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng);確定模塊,用于確定位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中存儲(chǔ)的第二存儲(chǔ)位置,位置索引表用于記錄目標(biāo)數(shù)據(jù)表多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中存儲(chǔ)位置所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前;獲取模塊,還用于獲取第二存儲(chǔ)位置中存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù)以及第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)位置,第二時(shí)序數(shù)據(jù)的時(shí)序在第一時(shí)序數(shù)據(jù)之前,第三存儲(chǔ)位置用于存儲(chǔ)第一對(duì)象的第三時(shí)序數(shù)據(jù)以及第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置;根據(jù)第三存儲(chǔ)位置,獲取第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)。

該裝置包括的模塊用于實(shí)現(xiàn)上述第一方面以及第一方面各種可能的實(shí)現(xiàn)方式中所提供的時(shí)序數(shù)據(jù)管理方法,相關(guān)細(xì)節(jié)和技術(shù)效果參照第一方面及其各種實(shí)現(xiàn)方式,此處不再贅述。

第六方面,提供了一種時(shí)序數(shù)據(jù)管理裝置,該裝置用于存儲(chǔ)各對(duì)象的時(shí)序數(shù)據(jù),該裝置包括:接收模塊,用于接收第一數(shù)據(jù)存儲(chǔ)指令,其中,第一數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第一時(shí)序數(shù)據(jù)以及第一對(duì)象的標(biāo)識(shí);確定模塊,用于根據(jù)第一對(duì)象的標(biāo)識(shí),確定目標(biāo)數(shù)據(jù)表中記錄的第一對(duì)象對(duì)應(yīng)的第二時(shí)序數(shù)據(jù),目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),多個(gè)對(duì)象與目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng);替換模塊,用于將目標(biāo)數(shù)據(jù)表中的第二時(shí)序數(shù)據(jù),替換為第一時(shí)序數(shù)據(jù);存儲(chǔ)模塊,用于將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊;在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中,存儲(chǔ)第一數(shù)據(jù)存儲(chǔ)塊中第二時(shí)序數(shù)據(jù)所在的第二存儲(chǔ)位置,第二時(shí)序數(shù)據(jù)的時(shí)序在第一時(shí)序數(shù)據(jù)之前,位置索引表用于存儲(chǔ)目標(biāo)數(shù)據(jù)表中多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前。

該裝置包括的模塊用于實(shí)現(xiàn)第二方面以及第二方面各種可能的實(shí)現(xiàn)方式中所提供的時(shí)序數(shù)據(jù)管理方法,相關(guān)細(xì)節(jié)和技術(shù)效果參照第二方面及其各種實(shí)現(xiàn)方式,此處不再贅述。

本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:

在本發(fā)明實(shí)施例中,在對(duì)時(shí)序數(shù)據(jù)進(jìn)行管理時(shí),不再采用逐一增加的方式將所有時(shí)序數(shù)據(jù)都保存在目標(biāo)數(shù)據(jù)表中,而是通過(guò)更新替換的方式,在目標(biāo)數(shù)據(jù)表中只保存最新的一條時(shí)序數(shù)據(jù),即每個(gè)對(duì)象在目標(biāo)數(shù)據(jù)表中只對(duì)應(yīng)有一行數(shù)據(jù),被替換的時(shí)序數(shù)據(jù)則可以保存在目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,當(dāng)需要查詢第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),只需要在目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),進(jìn)而,可以直接在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中記錄的存儲(chǔ)位置,查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)目標(biāo)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

附圖說(shuō)明

圖1是一種現(xiàn)有的數(shù)據(jù)表的表結(jié)構(gòu)示意圖;

圖2是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理的系統(tǒng)架構(gòu)圖;

圖3是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理設(shè)備的結(jié)構(gòu)框圖;

圖4是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理方法的步驟流程圖;

圖5是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理方法的步驟流程圖;

圖6是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖;

圖7是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖;

圖8是本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行描述。

數(shù)據(jù)庫(kù)是目前常用的一種數(shù)據(jù)存儲(chǔ)方式,可以但不僅限于通過(guò)數(shù)據(jù)表的形式對(duì)各類數(shù)據(jù)進(jìn)行存儲(chǔ)。其中,按照數(shù)據(jù)的性質(zhì)不同,可以但不僅限于將數(shù)據(jù)分為如下幾類:時(shí)序數(shù)據(jù)、位置數(shù)據(jù)(指示事務(wù)坐標(biāo)的數(shù)據(jù),如:事務(wù)的二維坐標(biāo)點(diǎn)、三維坐標(biāo)點(diǎn)、位置描述信息等)和屬性數(shù)據(jù)(指示事務(wù)屬性的數(shù)據(jù))。其中,所述時(shí)序數(shù)據(jù)(也即,時(shí)間序列數(shù)據(jù))可以是指:某些與時(shí)間有關(guān)的屬性在不同時(shí)間的不同取值,也就是說(shuō)這些屬性的值隨著時(shí)間的變化而產(chǎn)生變化在不同時(shí)間針對(duì)同一屬性的不同數(shù)據(jù)。例如,通話時(shí)長(zhǎng)可以是時(shí)序數(shù)據(jù)的一種,也即,在不同時(shí)間針對(duì)“通話時(shí)長(zhǎng)”這同一屬性的不同數(shù)據(jù)記錄。在數(shù)據(jù)庫(kù)中,時(shí)序數(shù)據(jù)一般存儲(chǔ)在數(shù)據(jù)庫(kù)的數(shù)據(jù)表中的同一列中,例如,數(shù)據(jù)庫(kù)中的某一列的列屬性對(duì)應(yīng)通話時(shí)長(zhǎng),則不同時(shí)間對(duì)應(yīng)的各條通話時(shí)長(zhǎng)數(shù)據(jù)可以保存在該列中。

參照?qǐng)D1,示出了一種現(xiàn)有的數(shù)據(jù)表的表結(jié)構(gòu)示意圖。在圖1所示的數(shù)據(jù)表中,可以對(duì)不同用戶的性別、年齡、通話時(shí)長(zhǎng)和歸屬地等信息進(jìn)行存儲(chǔ)。其中,通話時(shí)長(zhǎng)可以是時(shí)序數(shù)據(jù)的一種:同一用戶在不同時(shí)間對(duì)應(yīng)的通話時(shí)長(zhǎng)不完全相同。而同一用戶的性別、年齡和歸屬地等則可以是固定的數(shù)據(jù)。

在目前的數(shù)據(jù)表中,需要對(duì)各個(gè)用戶對(duì)應(yīng)的所有數(shù)據(jù)進(jìn)行記錄。例如,當(dāng)新增一條用戶A的通話時(shí)長(zhǎng),則需要在數(shù)據(jù)表中新增一行來(lái)對(duì)通話時(shí)長(zhǎng)進(jìn)行保存(如圖1所示的數(shù)據(jù)表中的Row2、Row5和Row7)。

然而,在實(shí)際應(yīng)用中,如在電信業(yè)務(wù)質(zhì)量管理、網(wǎng)絡(luò)性能管理、互聯(lián)網(wǎng)應(yīng)用分析等業(yè)務(wù)中,數(shù)據(jù)量是異常龐大的,每時(shí)每刻都會(huì)有大量的新數(shù)據(jù)產(chǎn)生,采用目前的數(shù)據(jù)管理方式,需要在數(shù)據(jù)表中不斷的新增大量的行來(lái)對(duì)新數(shù)據(jù)進(jìn)行記錄,將導(dǎo)致整個(gè)數(shù)據(jù)表的數(shù)據(jù)存儲(chǔ)量異常龐大、冗余。特別是,即使只是針對(duì)某一列中數(shù)據(jù)的更新,為了保證數(shù)據(jù)的完整性,也追加一行完整的記錄。如圖1中的第7行Row7,當(dāng)用戶A的通話時(shí)長(zhǎng)有更新時(shí),需要增加一個(gè)完整的行(Row7)來(lái)完成用戶A的通話時(shí)長(zhǎng)的更新,導(dǎo)致數(shù)據(jù)表中存儲(chǔ)了對(duì)大量的重復(fù)數(shù)據(jù),進(jìn)一步增加了數(shù)據(jù)表中的數(shù)據(jù)存儲(chǔ)量。

數(shù)據(jù)表的龐大冗余會(huì)導(dǎo)致諸多問(wèn)題:在基于所述數(shù)據(jù)表進(jìn)行數(shù)據(jù)查詢時(shí),需要對(duì)數(shù)據(jù)表進(jìn)行完整的遍歷,冗余的數(shù)據(jù)表會(huì)導(dǎo)致遍歷時(shí)間的增加,導(dǎo)致查找效率低,且增加了這個(gè)系統(tǒng)的運(yùn)行負(fù)擔(dān)。特別是,當(dāng)數(shù)據(jù)表是內(nèi)存數(shù)據(jù)庫(kù)中的數(shù)據(jù)表時(shí),冗余的數(shù)據(jù)表會(huì)導(dǎo)致內(nèi)存存儲(chǔ)成本的增高,嚴(yán)重影響系統(tǒng)的運(yùn)行效率。

參照?qǐng)D2,示出了本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理的系統(tǒng)架構(gòu)圖。在本發(fā)明的一種應(yīng)用場(chǎng)景中,時(shí)序數(shù)據(jù)管理的系統(tǒng)架構(gòu)至少可以包括:目標(biāo)數(shù)據(jù)表、至少一個(gè)數(shù)據(jù)存儲(chǔ)塊(Segment)、位置索引表和持久化文件,其中,目標(biāo)數(shù)據(jù)表可以是包含待存儲(chǔ)的時(shí)序數(shù)據(jù)所屬的屬性的任一數(shù)據(jù)表。

圖2中Column A是數(shù)據(jù)表中用于存儲(chǔ)時(shí)序數(shù)據(jù)的時(shí)序數(shù)據(jù)列,Column A中的每一行作為一個(gè)對(duì)象,用于存儲(chǔ)不同人或事務(wù)(可稱為對(duì)象)的一條時(shí)序數(shù)據(jù)。在位置索引表中包括與Column A中各個(gè)對(duì)象相對(duì)應(yīng)的存儲(chǔ)位置,位置索引表可以用于記錄目標(biāo)數(shù)據(jù)表多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中存儲(chǔ)位置所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前。各個(gè)對(duì)象的被替換時(shí)序數(shù)據(jù)分別存儲(chǔ)在所述數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中。持久化文件可以用于對(duì)位置索引表中記錄的存儲(chǔ)位置和至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中存儲(chǔ)的時(shí)序數(shù)據(jù)進(jìn)行持久化存儲(chǔ),提高了數(shù)據(jù)存儲(chǔ)的安全性。其中,持久化文件可以是磁盤等永久記憶性存儲(chǔ)器中的文件。

在本發(fā)明的一優(yōu)選實(shí)施例中,該時(shí)序數(shù)據(jù)管理方法可以基于數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)實(shí)現(xiàn)。其中,該數(shù)據(jù)庫(kù)管理系統(tǒng)可以是基于軟件實(shí)現(xiàn)的功能模塊。

在本發(fā)明的一實(shí)施例中,數(shù)據(jù)庫(kù)管理系統(tǒng)具體可以運(yùn)行在一個(gè)時(shí)序數(shù)據(jù)管理設(shè)備上,比如可以是具有時(shí)序數(shù)據(jù)管理功能的終端或服務(wù)器。參照?qǐng)D3,示出了本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理設(shè)備的結(jié)構(gòu)框圖。時(shí)序數(shù)據(jù)管理設(shè)備至少可以包括:收發(fā)器301、處理器302和存儲(chǔ)器303,其中,處理器302可以分別與收發(fā)器301和存儲(chǔ)器303電性連接,圖3中的連接方式只是示意性的一種,處理器、存儲(chǔ)器和收發(fā)器的連接還可以是類似通用計(jì)算機(jī)架構(gòu)中的連接,即處理器、存儲(chǔ)器和收發(fā)器通過(guò)總線進(jìn)行連接,本發(fā)明實(shí)施例不做限定。收發(fā)器301可以用于實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收。存儲(chǔ)器303可用于存儲(chǔ)程序以及數(shù)據(jù),處理器302通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器303的程序,執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器303可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)時(shí)序數(shù)據(jù)管理設(shè)備的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本、時(shí)序數(shù)據(jù)等)等,存儲(chǔ)數(shù)據(jù)區(qū)可以包括內(nèi)存中的用于存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)塊。此外,存儲(chǔ)器303可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器303還可以包括存儲(chǔ)器控制器,以提供處理器301和收發(fā)器301對(duì)存儲(chǔ)器303的訪問(wèn)。處理器302是時(shí)序數(shù)據(jù)管理設(shè)備的控制中心,利用各種接口和線路連接整個(gè)時(shí)序數(shù)據(jù)管理設(shè)備的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器303內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器303內(nèi)的數(shù)據(jù),執(zhí)行時(shí)序數(shù)據(jù)管理設(shè)備的各種功能和處理數(shù)據(jù),從而對(duì)時(shí)序數(shù)據(jù)管理設(shè)備進(jìn)行整體監(jiān)控??蛇x的,處理器302可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器302可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器302中。

參照?qǐng)D4,示出了本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理方法的步驟流程圖,該方法可以用于存儲(chǔ)各對(duì)象的時(shí)序數(shù)據(jù)。在本本實(shí)施例中,所述時(shí)序數(shù)據(jù)管理方法包括:

步驟401,時(shí)序數(shù)據(jù)管理設(shè)備接收第一數(shù)據(jù)存儲(chǔ)指令,其中,第一數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第一時(shí)序數(shù)據(jù)以及第一對(duì)象的標(biāo)識(shí)。

其中,第一對(duì)象可以是目標(biāo)數(shù)據(jù)表中包含的多個(gè)對(duì)象中的一個(gè),第一對(duì)象的標(biāo)識(shí)可以目標(biāo)數(shù)據(jù)表中記錄的用戶標(biāo)識(shí)。

在實(shí)施中,時(shí)序數(shù)據(jù)管理設(shè)備中可以預(yù)先存儲(chǔ)有目標(biāo)數(shù)據(jù)表,其中,目標(biāo)數(shù)據(jù)表中包括至少一個(gè)時(shí)序數(shù)據(jù)列(其中,時(shí)序數(shù)據(jù)列可以是時(shí)序數(shù)據(jù)所屬的屬性列)。時(shí)序數(shù)據(jù)管理設(shè)備中還預(yù)先存儲(chǔ)有與目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)列相對(duì)應(yīng)的位置索引表。

當(dāng)有新的數(shù)據(jù)產(chǎn)生時(shí),用戶可以通過(guò)終端向時(shí)序數(shù)據(jù)管理設(shè)備發(fā)送數(shù)據(jù)存儲(chǔ)指令(可以稱為第一數(shù)據(jù)存儲(chǔ)指令),其中,第一數(shù)據(jù)存儲(chǔ)指令中可以攜帶有待存儲(chǔ)的第一對(duì)象的第一時(shí)序數(shù)據(jù)以及第一對(duì)象的標(biāo)識(shí)。時(shí)序數(shù)據(jù)管理設(shè)備接收到第一數(shù)據(jù)存儲(chǔ)指令后,可以對(duì)其進(jìn)行解析,獲取其中攜帶的待存儲(chǔ)的第一對(duì)象的第一時(shí)序數(shù)據(jù)以及第一對(duì)象的標(biāo)識(shí),其中,第一時(shí)序數(shù)據(jù)可以包含第一時(shí)序數(shù)據(jù)所屬的屬性和時(shí)序數(shù)據(jù)本身。

該步驟具體可以由收發(fā)器301實(shí)現(xiàn)。

步驟402,時(shí)序數(shù)據(jù)管理設(shè)備根據(jù)第一對(duì)象的標(biāo)識(shí),確定目標(biāo)數(shù)據(jù)表中記錄的第一對(duì)象對(duì)應(yīng)的第二時(shí)序數(shù)據(jù),目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),多個(gè)對(duì)象與目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng)。

在實(shí)施中,時(shí)序數(shù)據(jù)管理設(shè)備獲取到第一數(shù)據(jù)存儲(chǔ)指令中攜帶的第一對(duì)象的標(biāo)識(shí)和第一時(shí)序數(shù)據(jù)后,可以在目標(biāo)數(shù)據(jù)表中,確定第一對(duì)象的標(biāo)識(shí)所在的行,以及第一時(shí)序數(shù)據(jù)所屬的屬性所在的列,進(jìn)而,可以將確定出的行和列中記錄的數(shù)據(jù)確定為第一對(duì)象對(duì)應(yīng)的第二時(shí)序數(shù)據(jù)。

步驟403,時(shí)序數(shù)據(jù)管理設(shè)備將目標(biāo)數(shù)據(jù)表中的第二時(shí)序數(shù)據(jù),替換為第一時(shí)序數(shù)據(jù)。

如前所述,在本實(shí)施例中,目標(biāo)數(shù)據(jù)表中可以只存儲(chǔ)各對(duì)象的最新的時(shí)序數(shù)據(jù)。各個(gè)對(duì)象的被替換數(shù)據(jù)可以存儲(chǔ)在數(shù)據(jù)表之外的任意適當(dāng)位置處。故,確定出第二時(shí)序數(shù)據(jù)后,可以將將目標(biāo)數(shù)據(jù)表中存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù),替換為第一時(shí)序數(shù)據(jù)。

該步驟具體可以由處理器302實(shí)現(xiàn)。

步驟404,時(shí)序數(shù)據(jù)管理設(shè)備將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊。

其中,第一數(shù)據(jù)存儲(chǔ)塊可以是內(nèi)存中一段連續(xù)的存儲(chǔ)空間。

步驟405,時(shí)序數(shù)據(jù)管理設(shè)備在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中,存儲(chǔ)第一數(shù)據(jù)存儲(chǔ)塊中第二時(shí)序數(shù)據(jù)所在的第二存儲(chǔ)位置,第二時(shí)序數(shù)據(jù)的時(shí)序在第一時(shí)序數(shù)據(jù)之前,位置索引表用于存儲(chǔ)目標(biāo)數(shù)據(jù)表中多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前。

其中,第一數(shù)據(jù)存儲(chǔ)塊可以是時(shí)序數(shù)據(jù)管理設(shè)備中包含的任意一個(gè)數(shù)據(jù)存儲(chǔ)塊。

在實(shí)施中,位置索引表中可以包含有目標(biāo)索引表中各對(duì)象對(duì)應(yīng)的索引項(xiàng),其中,索引項(xiàng)可以包括某對(duì)象與該對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)的存儲(chǔ)位置的映射關(guān)系,具體的,各索引項(xiàng)可以包含某對(duì)象的標(biāo)識(shí)和該對(duì)象的其他時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,索引項(xiàng)中存儲(chǔ)某對(duì)象的其他時(shí)序數(shù)據(jù)的存儲(chǔ)位置的位置即是位置索引表中該對(duì)象對(duì)應(yīng)的存儲(chǔ)位置,也就是說(shuō),第一對(duì)象對(duì)應(yīng)的第一索引項(xiàng)中存儲(chǔ)第一對(duì)象的時(shí)序數(shù)據(jù)的存儲(chǔ)位置的位置即是位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置。

將第一對(duì)象的第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊后,時(shí)序數(shù)據(jù)管理設(shè)備可以確定位置索引表中第一對(duì)象的標(biāo)識(shí)對(duì)應(yīng)的第一存儲(chǔ)位置,即可以在位置索引表中,確定第一對(duì)象的標(biāo)識(shí)所在的索引項(xiàng),進(jìn)而,可以將第一數(shù)據(jù)存儲(chǔ)塊中第二時(shí)序數(shù)據(jù)所在的第二存儲(chǔ)位置存儲(chǔ)入第一存儲(chǔ)位置。其中,第二時(shí)序數(shù)據(jù)的時(shí)序可以在第一時(shí)序數(shù)據(jù)之前,并且與第一時(shí)序數(shù)據(jù)的時(shí)序相鄰(即在時(shí)序上,第二時(shí)序數(shù)據(jù)可以是第一時(shí)序數(shù)據(jù)的前一時(shí)序數(shù)據(jù)),位置索引表用于存儲(chǔ)目標(biāo)數(shù)據(jù)表中多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置(更進(jìn)一步的,位置索引表中記錄的存儲(chǔ)位置可以與各對(duì)象一一對(duì)應(yīng)),對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前,更進(jìn)一步的,在時(shí)序上,位置索引表中所指示的該對(duì)象的時(shí)序數(shù)據(jù)可以是目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)的前一時(shí)序數(shù)據(jù)。

該步驟具體可以由處理器302實(shí)現(xiàn)。

可選的,將第一對(duì)象的第二時(shí)序數(shù)據(jù)存儲(chǔ)到目標(biāo)數(shù)據(jù)表中的處理過(guò)程可以如下:接收第二數(shù)據(jù)存儲(chǔ)指令,其中,第二數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù)以及所述第一對(duì)象的標(biāo)識(shí);根據(jù)第一對(duì)象的標(biāo)識(shí),確定目標(biāo)數(shù)據(jù)表中記錄的第一對(duì)象對(duì)應(yīng)的第三時(shí)序數(shù)據(jù);將目標(biāo)記錄表中的第三時(shí)序數(shù)據(jù)替換為第二時(shí)序數(shù)據(jù);將第三時(shí)序數(shù)據(jù)存儲(chǔ)入第二數(shù)據(jù)存儲(chǔ)塊;在第一存儲(chǔ)位置中,存儲(chǔ)第二數(shù)據(jù)存儲(chǔ)塊中第三時(shí)序數(shù)據(jù)所在的第三存儲(chǔ)位置。

在實(shí)施中,第二數(shù)據(jù)存儲(chǔ)指令的接收時(shí)刻早于第一數(shù)據(jù)存儲(chǔ)指令的接收時(shí)刻,當(dāng)接收到第二數(shù)據(jù)存儲(chǔ)指令時(shí),目標(biāo)數(shù)據(jù)表中記錄的第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù)為第三時(shí)序數(shù)據(jù),其中,在時(shí)序上,第三時(shí)序數(shù)據(jù)可以是第二時(shí)序數(shù)據(jù)的前一時(shí)序數(shù)據(jù)。接收到第二數(shù)據(jù)存儲(chǔ)指令后,時(shí)序數(shù)據(jù)管理設(shè)備可以將目標(biāo)數(shù)據(jù)表中的第三時(shí)序數(shù)據(jù)替換為第二時(shí)序數(shù)據(jù),并將被替換的第三時(shí)序數(shù)據(jù)存儲(chǔ)入目標(biāo)數(shù)據(jù)表之外的第二數(shù)據(jù)存儲(chǔ)塊,其中,第二數(shù)據(jù)存儲(chǔ)塊和第一數(shù)據(jù)存儲(chǔ)塊可以是同一個(gè)數(shù)據(jù)存儲(chǔ)塊,也可以是不同的數(shù)據(jù)存儲(chǔ)塊。將第三時(shí)序數(shù)據(jù)存儲(chǔ)入第二數(shù)據(jù)存儲(chǔ)塊后,可以在第一存儲(chǔ)位置中,存儲(chǔ)第二數(shù)據(jù)存儲(chǔ)塊中第三時(shí)序數(shù)據(jù)所在的第三存儲(chǔ)位置。

該步驟具體可以由收發(fā)器301和處理器302共同實(shí)現(xiàn)。

可選的,由于第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)可以是一個(gè)也可以是多個(gè),當(dāng)?shù)谝粚?duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)為多個(gè)時(shí),為了便于在后續(xù)對(duì)時(shí)序數(shù)據(jù)進(jìn)行查詢時(shí),可以獲取到第一對(duì)象的全部時(shí)序數(shù)據(jù),在對(duì)第一對(duì)象的其他時(shí)序數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí),除了要對(duì)該時(shí)序數(shù)據(jù)本身進(jìn)行存儲(chǔ)之外,還需要對(duì)該時(shí)序數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)塊中的存儲(chǔ)位置進(jìn)行存儲(chǔ)。即在存儲(chǔ)第二時(shí)序數(shù)據(jù)時(shí),還可以將第三存儲(chǔ)位置存儲(chǔ)與其進(jìn)行對(duì)應(yīng)存儲(chǔ),相應(yīng)的,步驟404的處理過(guò)程可以如下:將第三存儲(chǔ)位置和第二時(shí)序數(shù)據(jù)的映射關(guān)系存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,其中,映射關(guān)系包括第三存儲(chǔ)位置和第二時(shí)序數(shù)據(jù)。

在實(shí)施中,第二時(shí)序數(shù)據(jù)被替換后,時(shí)序數(shù)據(jù)管理設(shè)備還可以獲取位置索引表中第一存儲(chǔ)位置存儲(chǔ)的第三存儲(chǔ)位置,進(jìn)而,可以將第三存儲(chǔ)位置和第二時(shí)序數(shù)據(jù)的映射關(guān)系存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,其中,第二時(shí)序數(shù)據(jù)和第三存儲(chǔ)位置可以作為一項(xiàng),存儲(chǔ)到第一數(shù)據(jù)存儲(chǔ)塊。其中,第三存儲(chǔ)位置和第二時(shí)序數(shù)據(jù)可以作為二元組存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊。

該處理過(guò)程具體可以由處理器302實(shí)現(xiàn)。

進(jìn)一步的,在完成對(duì)第一對(duì)象的第二時(shí)序數(shù)據(jù)的存儲(chǔ)之后,還需要對(duì)位置索引表中第一存儲(chǔ)位置存儲(chǔ)的數(shù)據(jù)進(jìn)行更新,相應(yīng)的,步驟405的處理過(guò)程可以如下:將第一存儲(chǔ)位置中存儲(chǔ)的第三存儲(chǔ)位置,替換為第二存儲(chǔ)位置。也就是說(shuō),位置索引表中記錄的存儲(chǔ)的位置與目標(biāo)數(shù)據(jù)表中各對(duì)象一一對(duì)象,每當(dāng)接收到對(duì)目標(biāo)數(shù)據(jù)表中第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù)更新時(shí),相應(yīng)的,可以對(duì)位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中的數(shù)據(jù)進(jìn)行更新。

該處理過(guò)程具體可以由處理器302實(shí)現(xiàn)。

可選的,在存儲(chǔ)第二時(shí)序數(shù)據(jù)時(shí),可以將其存儲(chǔ)入數(shù)據(jù)存儲(chǔ)量還未達(dá)到存儲(chǔ)上限的數(shù)據(jù)存儲(chǔ)塊,相應(yīng)的,步驟404的處理過(guò)程可以如下:在第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的情況下,創(chuàng)建第三數(shù)據(jù)存儲(chǔ)塊,以及將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第三數(shù)據(jù)存儲(chǔ)塊;在第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量未達(dá)到存儲(chǔ)上限的情況下,將第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊。

在實(shí)施中,時(shí)序數(shù)據(jù)管理設(shè)備在目標(biāo)數(shù)據(jù)表外存儲(chǔ)第二時(shí)序數(shù)據(jù)時(shí),可以首先判斷當(dāng)前是否存在數(shù)據(jù)存儲(chǔ)量未達(dá)到存儲(chǔ)上限的數(shù)據(jù)存儲(chǔ)塊,即可以判斷第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量是否達(dá)到存儲(chǔ)上限,若否,可以將第二時(shí)序數(shù)據(jù)存儲(chǔ)到第一數(shù)據(jù)存儲(chǔ)塊中,若是,則可以創(chuàng)建第三數(shù)據(jù)存儲(chǔ)塊,以及將第二時(shí)序數(shù)據(jù)存儲(chǔ)在第三數(shù)據(jù)存儲(chǔ)塊中。

該處理過(guò)程具體可以由處理器302實(shí)現(xiàn)。

可選的,圖2所示的各個(gè)數(shù)據(jù)存儲(chǔ)塊可以對(duì)應(yīng)有時(shí)間信息。例如,某一數(shù)據(jù)存儲(chǔ)塊對(duì)應(yīng)的時(shí)間信息為:21:00-22:00,則可以儲(chǔ)存在該數(shù)據(jù)存儲(chǔ)塊中的時(shí)序數(shù)據(jù)可以是時(shí)間信息在21:00-22:00時(shí)間區(qū)間內(nèi)的時(shí)序數(shù)據(jù),相應(yīng)的,步驟404的處理過(guò)程可以如下:根據(jù)第二時(shí)序數(shù)據(jù)的時(shí)間信息,從目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,確定與第二時(shí)序數(shù)據(jù)的時(shí)間信息相匹配的第一數(shù)據(jù)存儲(chǔ)塊,至少一個(gè)數(shù)據(jù)塊用于存儲(chǔ)從目標(biāo)數(shù)據(jù)表中替換出的時(shí)序數(shù)據(jù);將第二時(shí)序數(shù)據(jù)存儲(chǔ)入確定出的第一數(shù)據(jù)存儲(chǔ)塊。

其中,時(shí)序數(shù)據(jù)的時(shí)間信息可以該時(shí)序數(shù)據(jù)的產(chǎn)生時(shí)間(優(yōu)選的,時(shí)序數(shù)據(jù)的時(shí)間信息可以該時(shí)序數(shù)據(jù)的產(chǎn)生時(shí)間)、也可以是該時(shí)序數(shù)據(jù)的編輯時(shí)間、也可以是該時(shí)序數(shù)據(jù)的記錄時(shí)間。

在實(shí)施中,時(shí)序數(shù)據(jù)管理設(shè)備中可以預(yù)先存儲(chǔ)有各個(gè)數(shù)據(jù)存儲(chǔ)塊對(duì)應(yīng)的時(shí)間信息和時(shí)序數(shù)據(jù)的時(shí)間信息,其中,時(shí)序數(shù)據(jù)可以包含時(shí)序數(shù)據(jù)本身和時(shí)序數(shù)據(jù)的時(shí)間信息。時(shí)序數(shù)據(jù)管理設(shè)備將第二時(shí)序數(shù)據(jù)從目標(biāo)數(shù)據(jù)表中替換出后,可以從所有數(shù)據(jù)存儲(chǔ)塊中,確定與第二時(shí)序數(shù)據(jù)的時(shí)間信息相匹配的第一數(shù)據(jù)存儲(chǔ)塊,其中,至少一個(gè)數(shù)據(jù)塊用于存儲(chǔ)從目標(biāo)數(shù)據(jù)表中替換出的時(shí)序數(shù)據(jù),進(jìn)而,可以將第二時(shí)序數(shù)據(jù)存儲(chǔ)入確定出的第一數(shù)據(jù)存儲(chǔ)塊。

該處理過(guò)程具體可以由處理器302實(shí)現(xiàn)。

進(jìn)一步的,在本發(fā)明實(shí)施例中,為了保證數(shù)據(jù)存儲(chǔ)的安全性和可靠性,可以對(duì)數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù)、和/或位置索引表中的各索引項(xiàng)(各對(duì)象與時(shí)序數(shù)據(jù)的存儲(chǔ)位置的映射關(guān)系)進(jìn)行持久化處理。

具體的,對(duì)數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù)進(jìn)行持久化處理的處理過(guò)程可以如下:每到預(yù)設(shè)的檢測(cè)周期,對(duì)目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中未進(jìn)行持久化的數(shù)據(jù)存儲(chǔ)塊進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè),將未進(jìn)行持久化的數(shù)據(jù)存儲(chǔ)塊中的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù),按照更新時(shí)間由前至后的順序,保存至持久化文件中。

其中,持久化可以是將存儲(chǔ)在內(nèi)存空間內(nèi)的數(shù)據(jù)存儲(chǔ)塊中的數(shù)據(jù),存儲(chǔ)到可永久保存數(shù)據(jù)的存儲(chǔ)設(shè)備(比如磁盤)中,持久化文件可以是可永久保存數(shù)據(jù)的存儲(chǔ)設(shè)備中的文件。更新時(shí)間可以是數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的時(shí)間。目標(biāo)數(shù)據(jù)可以是數(shù)據(jù)存儲(chǔ)塊中存儲(chǔ)的時(shí)序數(shù)據(jù)和時(shí)序數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)位置。

在實(shí)施中,每到預(yù)設(shè)的檢測(cè)周期,時(shí)序數(shù)據(jù)管理設(shè)備可以對(duì)目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中還未進(jìn)行持久化的數(shù)據(jù)存儲(chǔ)塊進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè),也就是說(shuō),時(shí)序數(shù)據(jù)管理設(shè)備可以對(duì)在當(dāng)前檢測(cè)周期之前進(jìn)行過(guò)持久化之外的數(shù)據(jù)存儲(chǔ)塊進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè),判斷這些數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量是否達(dá)到了存儲(chǔ)量上限。當(dāng)檢測(cè)到某一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限,則可以確定該某一數(shù)據(jù)存儲(chǔ)塊是一個(gè)完整的數(shù)據(jù)存儲(chǔ)塊,可以將該數(shù)據(jù)存儲(chǔ)塊按照該數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的更新時(shí)間由前至后的順序,保存至持久化文件中。例如,預(yù)設(shè)的檢測(cè)周期為1小時(shí),時(shí)序數(shù)據(jù)管理設(shè)備在9:00開(kāi)始對(duì)目標(biāo)數(shù)據(jù)表之外的數(shù)據(jù)存儲(chǔ)塊的進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè),目前已經(jīng)存在的數(shù)據(jù)存儲(chǔ)塊為a、b、c,其中,a、b的數(shù)據(jù)存儲(chǔ)量已經(jīng)達(dá)到存儲(chǔ)量上限,則時(shí)序數(shù)據(jù)管理設(shè)備可以在9:00對(duì)目標(biāo)數(shù)據(jù)表之外的所有數(shù)據(jù)存儲(chǔ)塊進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè),此時(shí),將會(huì)檢測(cè)到a、b的數(shù)據(jù)存儲(chǔ)量達(dá)到了存儲(chǔ)上限,進(jìn)而,時(shí)序數(shù)據(jù)管理設(shè)備可以將a、b中的目標(biāo)數(shù)據(jù)保存到持久化文件中。然后,可以在10:00對(duì)a、b之外的數(shù)據(jù)存儲(chǔ)塊進(jìn)行數(shù)據(jù)存儲(chǔ)量檢測(cè),當(dāng)檢測(cè)到有數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的數(shù)據(jù)存儲(chǔ)塊時(shí),可以按照更新時(shí)間由前至后的順序,將其存儲(chǔ)入持久化文件中,并位于a、b中的數(shù)據(jù)之后。另外,在對(duì)數(shù)據(jù)存儲(chǔ)塊中的目標(biāo)數(shù)據(jù)進(jìn)行持久化處理時(shí),還可以將目標(biāo)數(shù)據(jù)的存儲(chǔ)位置(即目標(biāo)數(shù)據(jù)所在的數(shù)據(jù)存儲(chǔ)塊)進(jìn)行持久化處理,即在進(jìn)行持久化處理時(shí),還可以將數(shù)據(jù)存儲(chǔ)塊的標(biāo)識(shí)(即數(shù)據(jù)存儲(chǔ)塊對(duì)應(yīng)的地址)進(jìn)行存儲(chǔ)。

該步驟具體可以由處理器302實(shí)現(xiàn)。

可選的,時(shí)序數(shù)據(jù)管理設(shè)備還可以將持久化文件中的數(shù)據(jù)恢復(fù)到內(nèi)存中的數(shù)據(jù)存儲(chǔ)塊中,相應(yīng)的,處理過(guò)程可以如下:當(dāng)接收到數(shù)據(jù)恢復(fù)請(qǐng)求時(shí),可以獲取持久化文件中保存的目標(biāo)數(shù)據(jù);將待恢復(fù)的目標(biāo)數(shù)據(jù)存儲(chǔ)入內(nèi)存中的數(shù)據(jù)存儲(chǔ)塊。

在本實(shí)施例中,當(dāng)系統(tǒng)故障恢復(fù)重啟時(shí),可以根據(jù)重啟時(shí)生成的數(shù)據(jù)恢復(fù)請(qǐng)求,從持久化文件中,將待恢復(fù)的目標(biāo)數(shù)據(jù)存儲(chǔ)入內(nèi)存中的數(shù)據(jù)存儲(chǔ)塊。避免了因系統(tǒng)故障異常原因?qū)е碌臄?shù)據(jù)丟失問(wèn)題,保證了數(shù)據(jù)存儲(chǔ)的安全性和可靠性。

該步驟具體可以由處理器302實(shí)現(xiàn)。

可選的,數(shù)據(jù)恢復(fù)請(qǐng)求中還可以攜帶有時(shí)間信息,相應(yīng)的,處理過(guò)程可以如下:時(shí)序數(shù)據(jù)管理設(shè)備根據(jù)待恢復(fù)的目標(biāo)數(shù)據(jù)的時(shí)間信息,從獲取的待恢復(fù)的目標(biāo)數(shù)據(jù)中,篩選得到符合數(shù)據(jù)恢復(fù)請(qǐng)求中攜帶的時(shí)間信息的待恢復(fù)的目標(biāo)數(shù)據(jù)。其中,目標(biāo)數(shù)據(jù)的時(shí)間信息可以是目標(biāo)數(shù)據(jù)中的時(shí)序數(shù)據(jù)的時(shí)間信息。

在本發(fā)明的一應(yīng)用場(chǎng)景中,時(shí)序數(shù)據(jù)管理設(shè)備可以直接將獲取的目標(biāo)數(shù)據(jù)全部恢復(fù)至內(nèi)存中。

在本發(fā)明的一應(yīng)用場(chǎng)景中,為了避免將過(guò)期失效的目標(biāo)數(shù)據(jù)也恢復(fù)至內(nèi)存的數(shù)據(jù)存儲(chǔ)塊中,可以從獲取的全部數(shù)據(jù)中,篩選得到滿足數(shù)據(jù)恢復(fù)請(qǐng)求中攜帶的時(shí)間信息的待恢復(fù)的目標(biāo)數(shù)據(jù)。該步驟具體可以由處理器302實(shí)現(xiàn)。

可選的,時(shí)序數(shù)據(jù)管理設(shè)備還可以將持久化文件中的索引項(xiàng)恢復(fù)到內(nèi)存中,相應(yīng)的,處理過(guò)程可以如下:時(shí)序數(shù)據(jù)管理設(shè)備每到預(yù)設(shè)的檢測(cè)周期,獲取位置索引表中相比于前一檢測(cè)周期發(fā)生變化的各索引項(xiàng),將獲取的各索引項(xiàng)按更新時(shí)間由前至后的順序依次保存至持久化文件中。該步驟具體可以由處理器302實(shí)現(xiàn)。

其中,更新時(shí)間可以是索引項(xiàng)創(chuàng)建的時(shí)間,以及索引項(xiàng)中的存儲(chǔ)位置的記錄時(shí)間。

如前所述,當(dāng)有時(shí)序數(shù)據(jù)存儲(chǔ)更新時(shí),各對(duì)象對(duì)應(yīng)的索引項(xiàng)中的信息也會(huì)對(duì)應(yīng)更新,如,在將目標(biāo)數(shù)據(jù)表中存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù),替換為第一時(shí)序數(shù)據(jù)時(shí),需要將位置索引表中的第一索引項(xiàng)中記錄的第三存儲(chǔ)位置替換為第二存儲(chǔ)位置。也即,針對(duì)位置索引表中的某一對(duì)象,在不同時(shí)間,位置索引表中該對(duì)象對(duì)應(yīng)的存儲(chǔ)位置可能發(fā)生變化。在進(jìn)行持久化保存時(shí),需要對(duì)同一對(duì)象的每個(gè)存儲(chǔ)位置發(fā)生變化的索引項(xiàng)分別進(jìn)行持久化保存。

可選的,在接收到數(shù)據(jù)恢復(fù)請(qǐng)求時(shí),時(shí)序數(shù)據(jù)管理設(shè)備按照更新時(shí)間由后至前的順序遍歷持久化文件,依次獲取持久化文件中保存的至少一個(gè)索引項(xiàng),將獲取的至少一個(gè)索引項(xiàng)恢復(fù)至內(nèi)存中。該步驟具體可以由處理器302實(shí)現(xiàn)。

如前所述,針對(duì)同一對(duì)象,持久化文件中可能保存有其在多個(gè)不同時(shí)間的索引項(xiàng),也即,針對(duì)同一對(duì)象可以對(duì)應(yīng)有多個(gè)不同時(shí)間更新的索引項(xiàng)。其中,當(dāng)持久化文件中包括針對(duì)同一對(duì)象的多個(gè)索引項(xiàng)時(shí),可以從針對(duì)同一對(duì)象的多個(gè)索引項(xiàng)中獲取更新時(shí)間最新的索引項(xiàng)。

在基于上述步驟401-405實(shí)現(xiàn)的時(shí)序數(shù)據(jù)的存儲(chǔ)的基礎(chǔ)上,用戶還可以實(shí)現(xiàn)對(duì)時(shí)序數(shù)據(jù)的查詢。上述時(shí)序數(shù)據(jù)管理方法還可以用于查詢對(duì)象的時(shí)序數(shù)據(jù),如圖5所示。

步驟501,時(shí)序數(shù)據(jù)管理設(shè)備接收用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求,數(shù)據(jù)查詢請(qǐng)求包括第一對(duì)象的標(biāo)識(shí)。

在實(shí)施中,當(dāng)用戶需要查找某對(duì)象(即第一對(duì)象)的時(shí)序數(shù)據(jù)時(shí),可以通過(guò)操作,觸發(fā)與時(shí)序數(shù)據(jù)管理設(shè)備可以通信的終端向時(shí)序數(shù)據(jù)管理設(shè)備發(fā)送用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求,其中,數(shù)據(jù)查詢請(qǐng)求中可以攜帶有第一對(duì)象的標(biāo)識(shí)。相應(yīng)的,時(shí)序數(shù)據(jù)管理設(shè)備可以接收數(shù)據(jù)查詢請(qǐng)求,并對(duì)其進(jìn)行解析,獲取其中攜帶的第一對(duì)象的標(biāo)識(shí)。

該步驟具體可以由收發(fā)器301實(shí)現(xiàn)。

步驟502,時(shí)序數(shù)據(jù)管理設(shè)備根據(jù)第一對(duì)象的標(biāo)識(shí),獲取目標(biāo)數(shù)據(jù)表中第一對(duì)象對(duì)應(yīng)的第一時(shí)序數(shù)據(jù),目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),多個(gè)對(duì)象與目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng)。

該步驟具體可以由處理器302實(shí)現(xiàn)。

步驟503,時(shí)序數(shù)據(jù)管理設(shè)備確定位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中存儲(chǔ)的第二存儲(chǔ)位置,位置索引表用于記錄目標(biāo)數(shù)據(jù)表多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于多個(gè)對(duì)象中的每一個(gè)對(duì)象,位置索引表中存儲(chǔ)位置所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在所述目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前。

該步驟具體可以由處理器302實(shí)現(xiàn)。

步驟504,時(shí)序數(shù)據(jù)管理設(shè)備獲取第二存儲(chǔ)位置中存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù)以及第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)位置,第二時(shí)序數(shù)據(jù)的時(shí)序在第一時(shí)序數(shù)據(jù)之前,第三存儲(chǔ)位置用于存儲(chǔ)第一對(duì)象的第三時(shí)序數(shù)據(jù)以及第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置。

該步驟具體可以由處理器302實(shí)現(xiàn)。

步驟505,時(shí)序數(shù)據(jù)管理設(shè)備根據(jù)第三存儲(chǔ)位置,獲取第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù)。

該步驟具體可以由處理器302實(shí)現(xiàn)。

可選的,時(shí)序數(shù)據(jù)管理設(shè)備可以按照如下處理過(guò)程,獲取第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù),具體如下:獲取第三存儲(chǔ)位置中存儲(chǔ)的第三時(shí)序數(shù)據(jù)和第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置;獲取第四存儲(chǔ)位置中存儲(chǔ)的第四時(shí)序數(shù)據(jù)和第四時(shí)序數(shù)據(jù)對(duì)應(yīng)的第五存儲(chǔ)位置,直至獲取到第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù)。

在實(shí)施中,時(shí)序數(shù)據(jù)管理設(shè)備獲取到第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)位置后,可以獲取第三存儲(chǔ)位置中的存儲(chǔ)的第三時(shí)序數(shù)據(jù)和第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置,其中,第四存儲(chǔ)位置可以用于存儲(chǔ)第四時(shí)序數(shù)據(jù)和第四時(shí)序數(shù)據(jù)對(duì)應(yīng)的第五存儲(chǔ)位置,第四時(shí)序數(shù)據(jù)可以是被第三時(shí)序數(shù)據(jù)替換的時(shí)序數(shù)據(jù),在時(shí)序上,第四時(shí)序數(shù)據(jù)可以是第三時(shí)序數(shù)據(jù)的前一時(shí)序數(shù)據(jù)。獲取到第四存儲(chǔ)位置后,可以獲取第四存儲(chǔ)位置中存儲(chǔ)的第四時(shí)序數(shù)據(jù)和第四時(shí)序數(shù)據(jù)對(duì)應(yīng)的第五存儲(chǔ)位置,其中,第五時(shí)序數(shù)據(jù)可以是被第四時(shí)序數(shù)據(jù)替換的時(shí)序數(shù)據(jù),在時(shí)序上,第五時(shí)序數(shù)據(jù)可以是第四時(shí)序數(shù)據(jù)的前一時(shí)序數(shù)據(jù),直至獲取到第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù)。

該步驟具體可以由處理器302實(shí)現(xiàn)。

可選的,數(shù)據(jù)查詢請(qǐng)求中還可以攜帶有查詢時(shí)間信息,相應(yīng)的處理過(guò)程可以如下:從獲取的第一對(duì)象的第一時(shí)序數(shù)據(jù)、第二時(shí)序數(shù)據(jù)和獲取的第一對(duì)象的其他時(shí)序數(shù)據(jù)中,篩選出查詢結(jié)果,其中,查詢結(jié)果中的時(shí)序數(shù)據(jù)的時(shí)間信息符合數(shù)據(jù)查詢請(qǐng)求中攜帶的查詢時(shí)間信息。

該步驟具體可以由處理器302實(shí)現(xiàn)。

為了便于理解,下面以一個(gè)完整的、針對(duì)第一對(duì)象的時(shí)序數(shù)據(jù)的存儲(chǔ)和查詢流程為例,對(duì)該時(shí)序管理方法進(jìn)行詳細(xì)說(shuō)明。其中,第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù)包括:第一時(shí)序數(shù)據(jù)、第二時(shí)序數(shù)據(jù)、第三時(shí)序數(shù)據(jù)、···、第n-1時(shí)序數(shù)據(jù)和第n時(shí)序數(shù)據(jù)。其中,n可以是大于或等于2的整數(shù)。

在存儲(chǔ)階段:

在初始階段,數(shù)據(jù)表中存儲(chǔ)的第一對(duì)象的時(shí)序數(shù)據(jù)為第n時(shí)序數(shù)據(jù)。此時(shí),第一對(duì)象在位置索引表中不存在對(duì)應(yīng)的索引項(xiàng)。

在第一次存儲(chǔ)更新過(guò)程中,接收到攜帶有待存儲(chǔ)的第一對(duì)象的第n-1時(shí)序數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)指令。此時(shí),可以將目標(biāo)數(shù)據(jù)表中存儲(chǔ)的第一對(duì)象的第n時(shí)序數(shù)據(jù),替換為第n-1時(shí)序數(shù)據(jù),并將第n時(shí)序數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)存儲(chǔ)塊中(其中,第n時(shí)序數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)塊中的存儲(chǔ)位置為位置A)。同時(shí),在位置索引表中建立第一對(duì)象對(duì)應(yīng)的第一索引項(xiàng),在第一索引項(xiàng)中存儲(chǔ)第一對(duì)象與位置A(位置A可以是具體的物理地址信息,也可以是邏輯存儲(chǔ)地址信息)的映射關(guān)系。其中,需要說(shuō)明的是,由于在第n時(shí)序數(shù)據(jù)之前不存在其他時(shí)序數(shù)據(jù),故,在將第n時(shí)序數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)存儲(chǔ)塊中時(shí),可以只存儲(chǔ)第n時(shí)序數(shù)據(jù)本身。或者,也可以存儲(chǔ)第n時(shí)序數(shù)據(jù)本身和一個(gè)初始地址;其中,初始地址可以為空。

在第二次存儲(chǔ)更新過(guò)程中,接收到攜帶有待存儲(chǔ)的第一對(duì)象的第n-2時(shí)序數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)指令。此時(shí),可以將目標(biāo)數(shù)據(jù)表中存儲(chǔ)的第一對(duì)象的第n-1時(shí)序數(shù)據(jù),替換為第n-2時(shí)序數(shù)據(jù),并將第n-1時(shí)序數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)存儲(chǔ)塊中(其中,第n-1時(shí)序數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)塊中的存儲(chǔ)位置為位置B)。同時(shí),對(duì)第一索引項(xiàng)中的存儲(chǔ)位置進(jìn)行更新:將位置A替換為位置B。其中,需要說(shuō)明的是,在將第n-1時(shí)序數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)存儲(chǔ)塊中時(shí),需要將第n-1時(shí)序數(shù)據(jù)本身和位置A的映射關(guān)系存儲(chǔ)入數(shù)據(jù)存儲(chǔ)塊,其中,可以將第n-1時(shí)序數(shù)據(jù)本身和位置A作為二元組,或者將位置A作為第n-1時(shí)序數(shù)據(jù)的追加部分,存儲(chǔ)入數(shù)據(jù)存儲(chǔ)塊。

參照上述流程,直至完成對(duì)第一時(shí)序數(shù)據(jù)的存儲(chǔ)。

在查詢階段:

首先,可以直接從目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象的第一時(shí)序數(shù)據(jù)。

然后,可以根據(jù)第一索引項(xiàng)中記錄的映射關(guān)系,確定映射關(guān)系中的第二存儲(chǔ)位置,進(jìn)而,從第二存儲(chǔ)位置中獲取第二時(shí)序數(shù)據(jù)。在從第二存儲(chǔ)位置中獲取第二時(shí)序數(shù)據(jù)的同時(shí),獲取與第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的用于指示第三時(shí)序數(shù)據(jù)的存儲(chǔ)位置的第三存儲(chǔ)位置。

再然后,在第三存儲(chǔ)位置中,獲取第三時(shí)序數(shù)據(jù)。

參照上述流程,直至完成對(duì)第n時(shí)序數(shù)據(jù)的獲取。

本方案講述的時(shí)序數(shù)據(jù)管理設(shè)備可以同時(shí)支持時(shí)序數(shù)據(jù)存儲(chǔ)處理和時(shí)序數(shù)據(jù)查詢處理。

需要說(shuō)明的是,本發(fā)明實(shí)施例所述的時(shí)序數(shù)據(jù)管理方法,可以但不僅限于適用于內(nèi)存數(shù)據(jù)庫(kù)中的時(shí)序數(shù)據(jù)的管理、本發(fā)明實(shí)施例所述時(shí)序數(shù)據(jù)管理方法也適用于其他存儲(chǔ)介質(zhì)中對(duì)時(shí)序數(shù)據(jù)的管理。如,所述其他存儲(chǔ)介質(zhì)包括但不僅限于:磁盤、硬盤、非易失性隨機(jī)訪問(wèn)存儲(chǔ)器等。

本發(fā)明實(shí)施例中,在對(duì)時(shí)序數(shù)據(jù)進(jìn)行管理時(shí),不再采用逐一增加的方式將所有時(shí)序數(shù)據(jù)都保存在目標(biāo)數(shù)據(jù)表中,而是通過(guò)更新替換的方式,在目標(biāo)數(shù)據(jù)表中只保存最新的一條時(shí)序數(shù)據(jù),即每個(gè)對(duì)象在目標(biāo)數(shù)據(jù)表中只對(duì)應(yīng)有一行數(shù)據(jù),被替換的時(shí)序數(shù)據(jù)則可以保存在目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,當(dāng)需要查詢第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),只需要在目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),進(jìn)而,可以直接在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中記錄的存儲(chǔ)位置,查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)目標(biāo)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

參照?qǐng)D6,示出了本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖。在本發(fā)明實(shí)施例中,所述時(shí)序數(shù)據(jù)管理裝置可以通過(guò)軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為設(shè)備中的部分或者全部。本發(fā)明實(shí)施例提供的時(shí)序數(shù)據(jù)管理裝置可以實(shí)現(xiàn)本發(fā)明實(shí)施例圖4所述的流程,所述時(shí)序數(shù)據(jù)管理裝置包括:

接收模塊610,用于接收第一數(shù)據(jù)存儲(chǔ)指令,其中,所述第一數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第一時(shí)序數(shù)據(jù)以及所述第一對(duì)象的標(biāo)識(shí),具體可以實(shí)現(xiàn)上述步驟401中的接收功能,以及由設(shè)備接收信息的其他隱含步驟;

確定模塊620,用于根據(jù)所述第一對(duì)象的標(biāo)識(shí),確定目標(biāo)數(shù)據(jù)表中記錄的所述第一對(duì)象對(duì)應(yīng)的第二時(shí)序數(shù)據(jù),所述目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),所述多個(gè)對(duì)象與所述目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng),具體可以實(shí)現(xiàn)上述步驟402中的確定功能,以及由設(shè)備確定信息的其他隱含步驟;

替換模塊630,用于將所述目標(biāo)數(shù)據(jù)表中的所述第二時(shí)序數(shù)據(jù),替換為所述第一時(shí)序數(shù)據(jù),具體可以實(shí)現(xiàn)上述步驟403中的替換功能,以及其他隱含步驟;

存儲(chǔ)模塊640,用于將所述第二時(shí)序數(shù)據(jù)存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊;在位置索引表中所述第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中,存儲(chǔ)所述第一數(shù)據(jù)存儲(chǔ)塊中所述第二時(shí)序數(shù)據(jù)所在的第二存儲(chǔ)位置,所述第二時(shí)序數(shù)據(jù)的時(shí)序在所述第一時(shí)序數(shù)據(jù)之前,所述位置索引表用于存儲(chǔ)所述目標(biāo)數(shù)據(jù)表中多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于所述多個(gè)對(duì)象中的每一個(gè)對(duì)象,所述位置索引表中所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在所述目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前,具體可以實(shí)現(xiàn)上述步驟404、405中的存儲(chǔ)功能,以及由設(shè)備存儲(chǔ)信息的其他隱含步驟。

可選的,所述接收模塊610,還用于接收第二數(shù)據(jù)存儲(chǔ)指令,其中,所述第二數(shù)據(jù)存儲(chǔ)指令包括待存儲(chǔ)的第一對(duì)象的第二時(shí)序數(shù)據(jù)以及所述第一對(duì)象的標(biāo)識(shí);

所述確定模塊620,還用于根據(jù)所述第一對(duì)象的標(biāo)識(shí),確定所述目標(biāo)數(shù)據(jù)表中記錄的所述第一對(duì)象對(duì)應(yīng)的第三時(shí)序數(shù)據(jù);

所述替換模塊630,還用于將所述目標(biāo)記錄表中的所述第三時(shí)序數(shù)據(jù)替換為所述第二時(shí)序數(shù)據(jù);

所述存儲(chǔ)模塊640,還用于將所述第三時(shí)序數(shù)據(jù)存儲(chǔ)入第二數(shù)據(jù)存儲(chǔ)塊;在所述第一存儲(chǔ)位置中,存儲(chǔ)所述第二數(shù)據(jù)存儲(chǔ)塊中所述第三時(shí)序數(shù)據(jù)所在的第三存儲(chǔ)位置。

可選的,所述存儲(chǔ)模塊640,用于:

將所述第三存儲(chǔ)位置和所述第二時(shí)序數(shù)據(jù)的映射關(guān)系存儲(chǔ)入第一數(shù)據(jù)存儲(chǔ)塊,其中,所述映射關(guān)系包括所述第三存儲(chǔ)位置和所述第二時(shí)序數(shù)據(jù)。

可選的,所述存儲(chǔ)模塊640,用于:

將所述第一存儲(chǔ)位置中存儲(chǔ)的所述第三存儲(chǔ)位置,替換為所述第二存儲(chǔ)位置。

可選的,如圖7所示,所述裝置還包括:

創(chuàng)建模塊650,用于在所述第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量達(dá)到存儲(chǔ)上限的情況下,創(chuàng)建第三數(shù)據(jù)存儲(chǔ)塊;

所述存儲(chǔ)模塊640,還用于將所述第二時(shí)序數(shù)據(jù)存儲(chǔ)入所述第三數(shù)據(jù)存儲(chǔ)塊;在所述第一數(shù)據(jù)存儲(chǔ)塊的數(shù)據(jù)存儲(chǔ)量未達(dá)到存儲(chǔ)上限的情況下,將所述第二時(shí)序數(shù)據(jù)存儲(chǔ)入所述第一數(shù)據(jù)存儲(chǔ)塊。

可選的,所述確定模塊620,還用于:

根據(jù)所述第二時(shí)序數(shù)據(jù)的時(shí)間信息,從所述目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,確定與第二時(shí)序數(shù)據(jù)的時(shí)間信息相匹配的第一數(shù)據(jù)存儲(chǔ)塊,所述至少一個(gè)數(shù)據(jù)塊用于存儲(chǔ)從所述目標(biāo)數(shù)據(jù)表中替換出的時(shí)序數(shù)據(jù);

所述存儲(chǔ)模塊640,用于將所述第二時(shí)序數(shù)據(jù)存儲(chǔ)入確定出的所述第一數(shù)據(jù)存儲(chǔ)塊。

需要說(shuō)明的是,上述接收模塊610可以由收發(fā)器實(shí)現(xiàn),確定模塊620、替換模塊630、存儲(chǔ)模塊640、創(chuàng)建模塊650可以由處理器實(shí)現(xiàn),或者處理器配合存儲(chǔ)器來(lái)實(shí)現(xiàn),或者,處理器執(zhí)行存儲(chǔ)器中的程序指令來(lái)實(shí)現(xiàn)。

本發(fā)明實(shí)施例中,在對(duì)時(shí)序數(shù)據(jù)進(jìn)行管理時(shí),不再采用逐一增加的方式將所有時(shí)序數(shù)據(jù)都保存在目標(biāo)數(shù)據(jù)表中,而是通過(guò)更新替換的方式,在目標(biāo)數(shù)據(jù)表中只保存最新的一條時(shí)序數(shù)據(jù),即每個(gè)對(duì)象在目標(biāo)數(shù)據(jù)表中只對(duì)應(yīng)有一行數(shù)據(jù),被替換的時(shí)序數(shù)據(jù)則可以保存在目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,當(dāng)需要查詢第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),只需要在目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),進(jìn)而,可以直接在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中記錄的存儲(chǔ)位置,查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)目標(biāo)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

參照?qǐng)D8,示出了本發(fā)明實(shí)施例中一種時(shí)序數(shù)據(jù)管理裝置的結(jié)構(gòu)框圖。在本發(fā)明實(shí)施例中,所述時(shí)序數(shù)據(jù)管理裝置可以通過(guò)軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為設(shè)備中的部分或者全部。本發(fā)明實(shí)施例提供的時(shí)序數(shù)據(jù)管理裝置可以實(shí)現(xiàn)本發(fā)明實(shí)施例圖5所述的流程,所述時(shí)序數(shù)據(jù)管理裝置包括:

接收模塊610,用于接收用于查詢第一對(duì)象的時(shí)序數(shù)據(jù)的數(shù)據(jù)查詢請(qǐng)求,所述數(shù)據(jù)查詢請(qǐng)求包括所述第一對(duì)象的標(biāo)識(shí),具體可以實(shí)現(xiàn)上述步驟501中的接收功能,以及由設(shè)備接收信息的其他隱含步驟;

獲取模塊660,用于根據(jù)所述第一對(duì)象的標(biāo)識(shí),獲取目標(biāo)數(shù)據(jù)表中所述第一對(duì)象對(duì)應(yīng)的第一時(shí)序數(shù)據(jù),所述目標(biāo)數(shù)據(jù)表中記錄有多個(gè)對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),所述多個(gè)對(duì)象與所述目標(biāo)數(shù)據(jù)表中的時(shí)序數(shù)據(jù)一一對(duì)應(yīng),具體可以實(shí)現(xiàn)上述步驟502中的獲取功能,以及由設(shè)備獲取信息的其他隱含步驟;

確定模塊620,用于確定位置索引表中所述第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中存儲(chǔ)的第二存儲(chǔ)位置,所述位置索引表用于記錄所述目標(biāo)數(shù)據(jù)表多個(gè)對(duì)象對(duì)應(yīng)的多個(gè)時(shí)序數(shù)據(jù)的存儲(chǔ)位置,其中,對(duì)于所述多個(gè)對(duì)象中的每一個(gè)對(duì)象,所述位置索引表中存儲(chǔ)位置所指示的該對(duì)象的時(shí)序數(shù)據(jù)的時(shí)序在所述目標(biāo)數(shù)據(jù)表中記錄的該對(duì)象的時(shí)序數(shù)據(jù)之前,具體可以實(shí)現(xiàn)上述步驟503中的確定功能,以及由設(shè)備確定信息的其他隱含步驟;

獲取模塊660,還用于獲取所述第二存儲(chǔ)位置中存儲(chǔ)的所述第一對(duì)象的第二時(shí)序數(shù)據(jù)以及所述第二時(shí)序數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)位置,所述第二時(shí)序數(shù)據(jù)的時(shí)序在所述第一時(shí)序數(shù)據(jù)之前,所述第三存儲(chǔ)位置用于存儲(chǔ)所述第一對(duì)象的第三時(shí)序數(shù)據(jù)以及所述第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置;根據(jù)所述第三存儲(chǔ)位置,獲取所述第一對(duì)象對(duì)應(yīng)的其他時(shí)序數(shù)據(jù),具體可以實(shí)現(xiàn)上述步驟504、505中的獲取功能,以及由設(shè)備獲取信息的其他隱含步驟。

可選的,所述獲取模塊660,用于:

獲取所述第三存儲(chǔ)位置中存儲(chǔ)的第三時(shí)序數(shù)據(jù)和所述第三時(shí)序數(shù)據(jù)對(duì)應(yīng)的第四存儲(chǔ)位置;

獲取所述第四存儲(chǔ)位置中存儲(chǔ)的第四時(shí)序數(shù)據(jù)和所述第四時(shí)序數(shù)據(jù)對(duì)應(yīng)的第五存儲(chǔ)位置,直至獲取到所述第一對(duì)象對(duì)應(yīng)的全部時(shí)序數(shù)據(jù)。

需要說(shuō)明的是,上述獲取模塊660可以由處理器實(shí)現(xiàn),或者處理器配合存儲(chǔ)器來(lái)實(shí)現(xiàn),或者,處理器執(zhí)行存儲(chǔ)器中的程序指令來(lái)實(shí)現(xiàn)。

本發(fā)明實(shí)施例中,在對(duì)時(shí)序數(shù)據(jù)進(jìn)行管理時(shí),不再采用逐一增加的方式將所有時(shí)序數(shù)據(jù)都保存在目標(biāo)數(shù)據(jù)表中,而是通過(guò)更新替換的方式,在目標(biāo)數(shù)據(jù)表中只保存最新的一條時(shí)序數(shù)據(jù),即每個(gè)對(duì)象在目標(biāo)數(shù)據(jù)表中只對(duì)應(yīng)有一行數(shù)據(jù),被替換的時(shí)序數(shù)據(jù)則可以保存在目標(biāo)數(shù)據(jù)表之外的至少一個(gè)數(shù)據(jù)存儲(chǔ)塊中,當(dāng)需要查詢第一對(duì)象的時(shí)序數(shù)據(jù)時(shí),只需要在目標(biāo)數(shù)據(jù)表中獲取到第一對(duì)象對(duì)應(yīng)的時(shí)序數(shù)據(jù),進(jìn)而,可以直接在位置索引表中第一對(duì)象對(duì)應(yīng)的第一存儲(chǔ)位置中記錄的存儲(chǔ)位置,查詢第一對(duì)象的其他時(shí)序數(shù)據(jù),無(wú)需對(duì)目標(biāo)數(shù)據(jù)表進(jìn)行逐行查看,從而,提高了時(shí)序數(shù)據(jù)的查詢效率。

需要說(shuō)明的是:上述實(shí)施例提供的時(shí)序數(shù)據(jù)管理裝置在實(shí)現(xiàn)時(shí)序數(shù)據(jù)管理時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的時(shí)序數(shù)據(jù)管理裝置與時(shí)序數(shù)據(jù)管理方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。

以上所述僅為本發(fā)明的一個(gè)實(shí)施例,并不用以限制本發(fā)明,凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
额尔古纳市| 浦东新区| 馆陶县| 通州区| 漠河县| 温州市| 卓资县| 昌宁县| 兴化市| 措美县| 河北区| 遂昌县| 新营市| 天镇县| 泌阳县| 广河县| 黄龙县| 大英县| 芜湖县| 安化县| 龙江县| 麻江县| 安庆市| 库尔勒市| 维西| 双鸭山市| 兴海县| 海林市| 寿阳县| 台湾省| 镇原县| 新竹县| 仁怀市| 贵德县| 阿坝县| 淄博市| 明光市| 固原市| 临西县| 兴山县| 泾川县|