亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法

文檔序號(hào):6539591閱讀:141來(lái)源:國(guó)知局
一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于,具體包括步驟如下:步驟一、客戶(hù)端向存儲(chǔ)服務(wù)器發(fā)送保存數(shù)據(jù)請(qǐng)求;步驟二、用戶(hù)保存數(shù)據(jù)的請(qǐng)求到達(dá)服務(wù)器后,服務(wù)器將數(shù)據(jù)保存在數(shù)據(jù)倉(cāng)儲(chǔ)中,客戶(hù)端根據(jù)待發(fā)送數(shù)據(jù)量大小將數(shù)據(jù)拆分為多個(gè)數(shù)據(jù)塊,逐個(gè)發(fā)送到存儲(chǔ)服務(wù)器;步驟三、服務(wù)器從數(shù)據(jù)中抽取出需要的統(tǒng)計(jì)信息與其基本信息組成元數(shù)據(jù),并把元數(shù)據(jù)保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中;步驟四、服務(wù)器返回保存數(shù)據(jù)成功信息到客戶(hù)端。本專(zhuān)利通過(guò)對(duì)元數(shù)據(jù)中基本信息的處理,實(shí)現(xiàn)對(duì)存儲(chǔ)數(shù)據(jù)的統(tǒng)計(jì)管理,并達(dá)到簡(jiǎn)化操作減少資源浪費(fèi)的目標(biāo)。【專(zhuān)利說(shuō)明】一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法【
技術(shù)領(lǐng)域
】[0001]本發(fā)明屬于存儲(chǔ)【
技術(shù)領(lǐng)域
】,具體涉及一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法。[0002]【
背景技術(shù)
】[0003]隨著現(xiàn)代IT系統(tǒng)的發(fā)展及公司業(yè)務(wù)的擴(kuò)展,數(shù)據(jù)的規(guī)模越來(lái)越龐大,并且增速也越來(lái)越快,因此傳統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)遇到了前所未有的挑戰(zhàn),并在以后有可能成為系統(tǒng)發(fā)展及業(yè)務(wù)擴(kuò)展的瓶頸。目前,為了應(yīng)對(duì)海量數(shù)據(jù)的存儲(chǔ)和管理及控制、減少存儲(chǔ)成本,已經(jīng)有很多公司和組織開(kāi)始使用數(shù)據(jù)存儲(chǔ)。因此,數(shù)據(jù)存儲(chǔ)在業(yè)界得到了越來(lái)越廣泛的使用。[0004]在使用數(shù)據(jù)存儲(chǔ)的時(shí)候,如果只提供單純的數(shù)據(jù)存儲(chǔ)和讀取功能,那么對(duì)于所存儲(chǔ)數(shù)據(jù)的統(tǒng)計(jì)和查詢(xún)功能(各種類(lèi)型數(shù)據(jù)所占空間容量、各種類(lèi)型數(shù)據(jù)增加趨勢(shì)等功能需求),就需要依次取出所有數(shù)據(jù),進(jìn)行分類(lèi)計(jì)算,然后進(jìn)行數(shù)據(jù)統(tǒng)計(jì)。這樣每次都要把所有數(shù)據(jù)取出并進(jìn)行計(jì)算,如果有2個(gè)TB的數(shù)據(jù),那么每次計(jì)算都要遍歷這2個(gè)TB的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行計(jì)算,將會(huì)導(dǎo)致算法復(fù)雜度的提升及系統(tǒng)資源浪費(fèi)。[0005]于是人們提出了元數(shù)據(jù)(描述數(shù)據(jù)及其環(huán)境的數(shù)據(jù))的概念,在保存數(shù)據(jù)的同時(shí)統(tǒng)計(jì)好該數(shù)據(jù)的相關(guān)信息,并放入元數(shù)據(jù)中,當(dāng)需要統(tǒng)計(jì)信息時(shí),只需要取出這些元數(shù)據(jù)進(jìn)行計(jì)算而不是整個(gè)數(shù)據(jù)進(jìn)行計(jì)算,這樣就簡(jiǎn)化了算法并節(jié)約成本。這時(shí)候元數(shù)據(jù)應(yīng)該放在那里?如何放?就成了需要解決的問(wèn)題。[0006]在數(shù)據(jù)存儲(chǔ)領(lǐng)域,專(zhuān)利“一種適用于云存儲(chǔ)系統(tǒng)的元數(shù)據(jù)分布式存儲(chǔ)方法”(申請(qǐng)?zhí)?201210236195.0)提出的方法主要為:將數(shù)據(jù)和元數(shù)據(jù)組成混合數(shù)據(jù)塊保存在數(shù)據(jù)存儲(chǔ)上,使得元數(shù)據(jù)及數(shù)據(jù)塊混合存儲(chǔ),并具備與數(shù)據(jù)塊有相同的冗余度。[0007]該方法存在如下問(wèn)題:1、當(dāng)需要對(duì)元數(shù)據(jù)進(jìn)行擴(kuò)展時(shí),由于元數(shù)據(jù)借用了數(shù)據(jù)塊的地址,附加在數(shù)據(jù)塊后面,需要修改數(shù)據(jù)和元數(shù)據(jù)的混合數(shù)據(jù)塊,如果修改錯(cuò)誤,則會(huì)造成整條數(shù)據(jù)不可用;2、不支持大數(shù)據(jù)(數(shù)據(jù)量很大,需要拆分為多個(gè)數(shù)據(jù)塊),即一條記錄多個(gè)數(shù)據(jù)塊的情況。[0008]【
發(fā)明內(nèi)容】[0009]為了解決存儲(chǔ)領(lǐng)域中對(duì)于元數(shù)據(jù)的存儲(chǔ)所帶來(lái)的以上兩個(gè)問(wèn)題,本專(zhuān)利提供了一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,通過(guò)對(duì)元數(shù)據(jù)中基本信息的處理,實(shí)現(xiàn)對(duì)存儲(chǔ)數(shù)據(jù)的統(tǒng)計(jì)管理,并達(dá)到簡(jiǎn)化操作減少資源浪費(fèi)的目標(biāo)。[0010]本專(zhuān)利提供的具體技術(shù)方案如下:一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,包括具體步驟如下:步驟1:客戶(hù)端向存儲(chǔ)服務(wù)器發(fā)送保存數(shù)據(jù)請(qǐng)求;步驟2:用戶(hù)保存數(shù)據(jù)的請(qǐng)求到達(dá)服務(wù)器后,服務(wù)器將數(shù)據(jù)保存在數(shù)據(jù)倉(cāng)儲(chǔ)中。[0011]如果待發(fā)送數(shù)據(jù)量很大,客戶(hù)端會(huì)將大數(shù)據(jù)拆分為多個(gè)數(shù)據(jù)塊,逐個(gè)發(fā)送到存儲(chǔ)服務(wù)器,其中,此處設(shè)置了4種數(shù)據(jù)塊大小的標(biāo)準(zhǔn):1M、2M、3M、5M,根據(jù)傳遞數(shù)據(jù)的不同,選擇相應(yīng)的數(shù)據(jù)塊大小的標(biāo)準(zhǔn)。[0012]步驟3:服務(wù)器從數(shù)據(jù)中抽取出需要的統(tǒng)計(jì)信息(如:數(shù)據(jù)大小)與其基本信息(如:用戶(hù)輸入的key、上傳圖片的應(yīng)用的database、圖片所在的表標(biāo)識(shí)等)組成元數(shù)據(jù),并把元數(shù)據(jù)保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中。元數(shù)據(jù)組成部分包括:partiton、database、table、key、blocklndex、lastblockflag、dataSize。步驟2與步驟3屬于一個(gè)原子操作;其中,在本處理過(guò)程中包含2部分?jǐn)?shù)據(jù)操作:I)為每個(gè)數(shù)據(jù)塊創(chuàng)建一個(gè)塊元數(shù)據(jù)(blockmeta)信息,保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中。[0013]2)為每條數(shù)據(jù)記錄創(chuàng)建一個(gè)記錄元數(shù)據(jù)(recordmeta),當(dāng)上傳新的該數(shù)據(jù)的數(shù)據(jù)塊時(shí),更新recordmeta信息中保存的相關(guān)信息。[0014]保存時(shí),以元數(shù)據(jù)字符串保存為B樹(shù)結(jié)構(gòu)。在查找時(shí),以前面的數(shù)據(jù)基本信息作為查找索引,可以方便快捷的找出需要的數(shù)據(jù)。其中,B樹(shù)結(jié)構(gòu)是一種適用于外查找的樹(shù),它是一種平衡的多叉樹(shù),稱(chēng)為B樹(shù)(或B-樹(shù)、B_樹(shù))。[0015]步驟4:服務(wù)器返回保存數(shù)據(jù)成功信息到客戶(hù)端。[0016]當(dāng)用戶(hù)需要進(jìn)行數(shù)據(jù)統(tǒng)計(jì)時(shí),不再需要遍歷保存在服務(wù)器的數(shù)據(jù)塊而是遍歷元數(shù)據(jù)倉(cāng)儲(chǔ)就可以解決問(wèn)題;具體過(guò)程如下:步驟1:遍歷元數(shù)據(jù)存儲(chǔ)的B樹(shù)結(jié)構(gòu),取出元數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)統(tǒng)計(jì)信息,進(jìn)行統(tǒng)計(jì)計(jì)算,并返回計(jì)算的統(tǒng)計(jì)結(jié)果步驟2:整個(gè)集群所有服務(wù)器的統(tǒng)計(jì)結(jié)果返回后,統(tǒng)一計(jì)算,進(jìn)行分類(lèi)統(tǒng)計(jì),得到最終結(jié)果。[0017]當(dāng)需要擴(kuò)展數(shù)據(jù)塊相關(guān)的基本信息或統(tǒng)計(jì)信息時(shí),可以不用修改數(shù)據(jù)塊而是修改對(duì)應(yīng)的元數(shù)據(jù),這樣就減小了修改錯(cuò)誤對(duì)于原數(shù)據(jù)的影響。具體過(guò)程如下:步驟1:當(dāng)需要修改數(shù)據(jù)塊相關(guān)的基本信息,比如添加一個(gè)保存時(shí)間,以方便以后按時(shí)間統(tǒng)計(jì)數(shù)據(jù),并且可以得到某一類(lèi)數(shù)據(jù)的增長(zhǎng)趨勢(shì)等需求時(shí),修改每個(gè)數(shù)據(jù)對(duì)應(yīng)的元數(shù)據(jù)即可。修改元數(shù)據(jù)的組成,在原來(lái)組成的基礎(chǔ)上,即元數(shù)據(jù)包含信息:partiton、database、table、key、blocklndex、lastblockflag、dataSize中,添加一個(gè)保存時(shí)間time,如修改兀數(shù)據(jù)為partiton、database、table、key、time、blocklndex、lastblockflag、dataSize。[0018]步驟2:當(dāng)需要查看添加時(shí)間時(shí),只需要查找該元數(shù)據(jù)即可。由于修改不涉及到數(shù)據(jù)塊的更改,所以不會(huì)影響該數(shù)據(jù)的正確性和有效性。[0019]刪除操作在一個(gè)原子操作下刪除數(shù)據(jù)的同時(shí)刪除其元數(shù)據(jù)。具體過(guò)程如下:步驟1:當(dāng)用戶(hù)發(fā)起刪除數(shù)據(jù)操作時(shí),請(qǐng)求到達(dá)服務(wù)器。[0020]步驟2:服務(wù)器在一個(gè)事務(wù)中同時(shí)做刪除數(shù)據(jù)和其元數(shù)據(jù)操作。如果操作都成功則數(shù)據(jù)及元數(shù)據(jù)一起刪除,如果其中一個(gè)操作失敗,則事務(wù)回滾,刪除操作撤銷(xiāo)。[0021]通過(guò)對(duì)元數(shù)據(jù)的統(tǒng)計(jì),可以得知數(shù)據(jù)切分為多個(gè)數(shù)據(jù)塊以及數(shù)據(jù)是否完備。[0022]本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn):1)通過(guò)遍歷某個(gè)數(shù)據(jù)服務(wù)器的元數(shù)據(jù)database,可以很方便的取得該服務(wù)器的存儲(chǔ)統(tǒng)計(jì)信息,減少了系統(tǒng)復(fù)雜度及資源浪費(fèi);2)當(dāng)需要對(duì)數(shù)據(jù)塊的基本信息修改時(shí),只需要修改對(duì)應(yīng)的元數(shù)據(jù)就可以達(dá)到目標(biāo),減少了可能出錯(cuò)的概率;3)使用B樹(shù)形結(jié)構(gòu),在數(shù)據(jù)遷移時(shí),如果需要把某個(gè)分片遷移到集群中另一個(gè)存儲(chǔ)上時(shí),可以直接將該分片的子樹(shù)整個(gè)遷移過(guò)去,達(dá)到方便數(shù)據(jù)遷移的目的;4)不需要專(zhuān)門(mén)的元數(shù)據(jù)服務(wù)器,因此運(yùn)行可靠并且降低了服務(wù)器成本;5)元數(shù)據(jù)保存在數(shù)據(jù)集群中,方便以后的擴(kuò)展。[0023]【專(zhuān)利附圖】【附圖說(shuō)明】[0024]圖1為本發(fā)明數(shù)據(jù)塊和塊元數(shù)據(jù)(blockmeta)在同一數(shù)據(jù)服務(wù)器上的存儲(chǔ)策略。[0025]圖2為本發(fā)明數(shù)據(jù)和記錄元數(shù)據(jù)(recordmeta)在同一數(shù)據(jù)服務(wù)器上的存儲(chǔ)策略。[0026]圖3為本發(fā)明元數(shù)據(jù)寫(xiě)入過(guò)程流程圖。[0027]圖4為本發(fā)明元數(shù)據(jù)統(tǒng)計(jì)讀取過(guò)程圖。[0028]圖5為本發(fā)明數(shù)據(jù)塊存儲(chǔ)結(jié)構(gòu)圖。[0029]圖6為本發(fā)明元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)圖。[0030]【具體實(shí)施方式】[0031]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。[0032]術(shù)語(yǔ)解釋數(shù)據(jù)倉(cāng)儲(chǔ):依照某種數(shù)據(jù)模型,組織并存放數(shù)據(jù)的集合。[0033]元數(shù)據(jù)倉(cāng)儲(chǔ):依照某種數(shù)據(jù)模型,組織并存放元數(shù)據(jù)的集合。[0034]原子操作:指的是這個(gè)操作所處層的更高層不能發(fā)現(xiàn)其內(nèi)部實(shí)現(xiàn)與結(jié)構(gòu)。其不會(huì)被線(xiàn)程調(diào)度機(jī)制打斷的操作;這種操作一旦開(kāi)始,就一直運(yùn)行到結(jié)束,中間不會(huì)有任何contextswitch(切換到另一個(gè)線(xiàn)程)。[0035]如圖1所示,為本發(fā)明的數(shù)據(jù)塊存儲(chǔ)策略。數(shù)據(jù)塊及其元數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)據(jù)服務(wù)器的不同倉(cāng)儲(chǔ)上,使得元數(shù)據(jù)與數(shù)據(jù)塊有著相同的冗余度與擴(kuò)展性。[0036]如圖2所示,為本發(fā)明的數(shù)據(jù)存儲(chǔ)策略。為每條用戶(hù)上傳的完整數(shù)據(jù)記錄單獨(dú)創(chuàng)建保存一個(gè)元數(shù)據(jù)(recordmeta),用于記錄該數(shù)據(jù)記錄的統(tǒng)計(jì)信息。一個(gè)完整的數(shù)據(jù)記錄保存在一個(gè)存儲(chǔ)服務(wù)器上,當(dāng)數(shù)據(jù)量很大時(shí),可以認(rèn)為存儲(chǔ)集群數(shù)據(jù)是均勻分布的。[0037]如圖1與2所示,一個(gè)數(shù)據(jù)記錄對(duì)應(yīng)一個(gè)數(shù)據(jù)記錄元數(shù)據(jù)(recordmeta),—個(gè)數(shù)據(jù)記錄可能會(huì)拆分為多個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)塊元數(shù)據(jù)(blockmeta);數(shù)據(jù)保存在數(shù)據(jù)倉(cāng)儲(chǔ)中,元數(shù)據(jù)(包括記錄元數(shù)據(jù)和塊元數(shù)據(jù))保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中。[0038]圖3示出了本發(fā)明實(shí)例提供的數(shù)據(jù)存儲(chǔ)方法實(shí)現(xiàn)流程,具體如下:步驟1:假設(shè)客戶(hù)端上傳項(xiàng)目projectl所屬表tablel的數(shù)據(jù),key為keyl。客戶(hù)端向存儲(chǔ)服務(wù)器發(fā)送保存數(shù)據(jù)請(qǐng)求。[0039]如果數(shù)據(jù)較大,則拆分為多個(gè)數(shù)據(jù)塊,逐個(gè)發(fā)送;其中,此處設(shè)置了4種數(shù)據(jù)塊大小的標(biāo)準(zhǔn):1M、2M、3M、5M,根據(jù)傳遞數(shù)據(jù)的不同,選擇相應(yīng)的數(shù)據(jù)塊大小的標(biāo)準(zhǔn),例如發(fā)送圖標(biāo)數(shù)據(jù)時(shí),因?yàn)閳D標(biāo)數(shù)據(jù)普遍較小,就選擇IM的數(shù)據(jù)塊的標(biāo)準(zhǔn);如果發(fā)送flash格式的文件時(shí),因?yàn)檫@類(lèi)文件一般來(lái)說(shuō)比較大,那么可以適當(dāng)選擇3M的數(shù)據(jù)塊標(biāo)準(zhǔn);如果發(fā)送視頻文件時(shí),而視頻文件的大小比f(wàn)lash文件一般更大,就適當(dāng)選擇5M的數(shù)據(jù)塊標(biāo)準(zhǔn)。[0040]步驟2:用戶(hù)保存數(shù)據(jù)的請(qǐng)求到達(dá)服務(wù)器后,服務(wù)器將數(shù)據(jù)以B樹(shù)的存儲(chǔ)結(jié)構(gòu)保存在數(shù)據(jù)倉(cāng)儲(chǔ)中,方便以后的數(shù)據(jù)查找;步驟3:服務(wù)器從數(shù)據(jù)塊中抽取出需要的統(tǒng)計(jì)信息與其基本信息組成元數(shù)據(jù)為partiton、database、table、key、time、blocklndex、lastblockflag、dataSize,并把兀數(shù)據(jù)也以B樹(shù)的存儲(chǔ)結(jié)構(gòu)保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中,步驟2與步驟3屬于一個(gè)原子操作。[0041]其中,在本處理過(guò)程中包含兩部分?jǐn)?shù)據(jù)操作:I)為每個(gè)數(shù)據(jù)塊創(chuàng)建一個(gè)塊元數(shù)據(jù)(blockmeta)信息(具體包含:1、元數(shù)據(jù)的基本信息;2、數(shù)據(jù)dataSize),保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中,具體參見(jiàn)圖1。[0042]2)為每條數(shù)據(jù)創(chuàng)建一個(gè)記錄元數(shù)據(jù)(recordmeta)(具體包含:1、元數(shù)據(jù)基本信息;2元數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)的統(tǒng)計(jì)信息),當(dāng)上傳新的該數(shù)據(jù)的數(shù)據(jù)塊時(shí),更新recordmeta信息中保存的相關(guān)信息,具體參見(jiàn)圖2。[0043]步驟4:服務(wù)器返回保存的結(jié)果到客戶(hù)端。[0044]圖4示出了本發(fā)明統(tǒng)計(jì)一個(gè)數(shù)據(jù)服務(wù)器的存儲(chǔ)信息流程圖。其流程包括以下步驟:步驟1:假設(shè)用戶(hù)需要統(tǒng)計(jì)每個(gè)項(xiàng)目的存儲(chǔ)數(shù)據(jù)量,向存儲(chǔ)服務(wù)器發(fā)送統(tǒng)計(jì)請(qǐng)求。[0045]步驟2:服務(wù)器接受到請(qǐng)求后,如果元數(shù)據(jù)不在內(nèi)存,則將元數(shù)據(jù)放入內(nèi)存,對(duì)內(nèi)存中的元數(shù)據(jù)遍歷其B樹(shù)結(jié)構(gòu)。[0046]步驟3:按項(xiàng)目進(jìn)行分類(lèi),從而方便對(duì)每個(gè)項(xiàng)目的中包含的元數(shù)據(jù)進(jìn)行統(tǒng)計(jì)處理,把元數(shù)據(jù)中保存的存儲(chǔ)量數(shù)據(jù)進(jìn)行歸類(lèi)計(jì)算。[0047]步驟4:計(jì)算完統(tǒng)計(jì)信息后,返回結(jié)果給客戶(hù)端。[0048]如圖5所示,為本發(fā)明的數(shù)據(jù)塊存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)塊按照B樹(shù)存儲(chǔ)結(jié)構(gòu)保存在數(shù)據(jù)倉(cāng)儲(chǔ)中,在數(shù)據(jù)查找時(shí),可以根據(jù)保存數(shù)據(jù)的信息按順序?qū)樹(shù)進(jìn)行遍歷,比如通過(guò)key計(jì)算出數(shù)據(jù)屬于哪個(gè)分片,找到對(duì)應(yīng)分片的partiton節(jié)點(diǎn),然后繼續(xù)通過(guò)數(shù)據(jù)屬于哪個(gè)project、table、key找到對(duì)應(yīng)葉子節(jié)點(diǎn)的數(shù)據(jù)Block,從而很容易的到需要的數(shù)據(jù)。[0049]按圖5所示的樹(shù)形結(jié)構(gòu),在數(shù)據(jù)遷移時(shí),如果需要把某個(gè)分片遷移到集群中另一個(gè)存儲(chǔ)上時(shí),可以直接將該partition子樹(shù)整個(gè)遷移過(guò)去,達(dá)到方便數(shù)據(jù)遷移的目的。[0050]如圖6所示,為本發(fā)明的元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。元數(shù)據(jù)按照B樹(shù)存儲(chǔ)結(jié)構(gòu)保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中。在數(shù)據(jù)查找時(shí),可以通過(guò)B樹(shù)很容易的找到需要的元數(shù)據(jù)。查找同圖5所述,當(dāng)找到對(duì)應(yīng)的元數(shù)據(jù)信息后,可以通過(guò)計(jì)算所找到的元數(shù)據(jù)相關(guān)信息,例如統(tǒng)計(jì)數(shù)據(jù)量大小、存儲(chǔ)時(shí)間等,得到需要的統(tǒng)計(jì)信息,比如計(jì)算keyl數(shù)據(jù)的總數(shù)據(jù)量,可以將keyl下所有葉子節(jié)點(diǎn)的元數(shù)據(jù)中的數(shù)據(jù)量信息進(jìn)行累加,從而得到該keyl總數(shù)據(jù)量。[0051]如果不使用元數(shù)據(jù),那么每次都需要取出該數(shù)據(jù)的所有的數(shù)據(jù)進(jìn)行計(jì)算,這樣將浪費(fèi)大量的系統(tǒng)資源。[0052]以上所述僅為本發(fā)明專(zhuān)利的一種實(shí)施例而已,并不用以限制本發(fā)明專(zhuān)利,凡在本發(fā)明專(zhuān)利的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均以包含在本發(fā)明專(zhuān)利的保護(hù)范圍之內(nèi)?!緳?quán)利要求】1.一種基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于,具體包括步驟如下:步驟一、客戶(hù)端向存儲(chǔ)服務(wù)器發(fā)送保存數(shù)據(jù)請(qǐng)求;步驟二、用戶(hù)保存數(shù)據(jù)的請(qǐng)求到達(dá)服務(wù)器后,服務(wù)器將數(shù)據(jù)保存在數(shù)據(jù)倉(cāng)儲(chǔ)中,客戶(hù)端根據(jù)待發(fā)送數(shù)據(jù)量大小將數(shù)據(jù)拆分為多個(gè)數(shù)據(jù)塊,逐個(gè)發(fā)送到存儲(chǔ)服務(wù)器;步驟三、服務(wù)器從數(shù)據(jù)中抽取出需要的統(tǒng)計(jì)信息與其基本信息組成元數(shù)據(jù),并把元數(shù)據(jù)保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中;步驟四、服務(wù)器返回保存數(shù)據(jù)成功信息到客戶(hù)端。2.根據(jù)權(quán)利要求1所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于:步驟三中,元數(shù)據(jù)組成部分包括:partiton、database、table、key、blocklndex、lastblockflag、dataSize。3.根據(jù)權(quán)利要求1所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于:步驟二與步驟三屬于一個(gè)原子操作。4.根據(jù)權(quán)利要求1所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于,步驟三的處理過(guò)程中包含兩部分?jǐn)?shù)據(jù)操作:1)為每個(gè)數(shù)據(jù)塊創(chuàng)建一個(gè)塊元數(shù)據(jù)(blockmeta)信息,保存在元數(shù)據(jù)倉(cāng)儲(chǔ)中;2)為每條數(shù)據(jù)記錄創(chuàng)建一個(gè)記錄元數(shù)據(jù)(recordmeta),當(dāng)上傳新的該數(shù)據(jù)的數(shù)據(jù)塊時(shí),更新記錄元數(shù)據(jù)(recordmeta)信息中保存的相關(guān)信息;保存時(shí),以元數(shù)據(jù)字符串保存為B樹(shù)結(jié)構(gòu);查找時(shí),以前面的數(shù)據(jù)基本信息作為查找索引,能夠方便快捷的找出需要的數(shù)據(jù)。5.根據(jù)權(quán)利要求1至4之一所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于,當(dāng)用戶(hù)需要進(jìn)行數(shù)據(jù)統(tǒng)計(jì)時(shí),不需要遍歷保存在服務(wù)器的數(shù)據(jù)塊而是僅需遍歷元數(shù)據(jù)倉(cāng)儲(chǔ)即可,具體步驟為:步驟1:遍歷元數(shù)據(jù)存儲(chǔ)的B樹(shù)結(jié)構(gòu),取出元數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)統(tǒng)計(jì)信息,進(jìn)行統(tǒng)計(jì)計(jì)算,并返回計(jì)算的統(tǒng)計(jì)結(jié)果;步驟2:整個(gè)集群所有服務(wù)器的統(tǒng)計(jì)結(jié)果返回后,統(tǒng)一計(jì)算,進(jìn)行分類(lèi)統(tǒng)計(jì),得到最終結(jié)果。6.根據(jù)權(quán)利要求1至4之一所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于,當(dāng)需要擴(kuò)展數(shù)據(jù)塊相關(guān)的基本信息或統(tǒng)計(jì)信息時(shí),不用修改數(shù)據(jù)塊而是僅修改對(duì)應(yīng)的元數(shù)據(jù),具體步驟為:步驟1:當(dāng)需要修改數(shù)據(jù)塊相關(guān)的基本信息,比如添加一個(gè)保存時(shí)間,以方便以后按時(shí)間統(tǒng)計(jì)數(shù)據(jù),并且可以得到某一類(lèi)數(shù)據(jù)的增長(zhǎng)趨勢(shì)等需求時(shí),修改每個(gè)數(shù)據(jù)對(duì)應(yīng)的元數(shù)據(jù)即可;修改元數(shù)據(jù)的組成,在原來(lái)組成的基礎(chǔ)上,即元數(shù)據(jù)包含信息:partiton、database、table、key、blocklndex、lastblockflag、dataSize中,添加一個(gè)保存時(shí)間time,如修改兀數(shù)據(jù)為partiton、database、table、key、time、blocklndex、lastblockflag、dataSize;步驟2:當(dāng)需要查看添加時(shí)間時(shí),只需要查找該元數(shù)據(jù)即可;由于修改不涉及到數(shù)據(jù)塊的更改,所以不會(huì)影響該數(shù)據(jù)的正確性和有效性。7.根據(jù)權(quán)利要求1至4之一所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于,刪除操作在一個(gè)原子操作下刪除數(shù)據(jù)的同時(shí)刪除其元數(shù)據(jù),具體步驟為:步驟1:當(dāng)用戶(hù)發(fā)起刪除數(shù)據(jù)操作時(shí),請(qǐng)求到達(dá)服務(wù)器;步驟2:服務(wù)器在一個(gè)事務(wù)中同時(shí)做刪除數(shù)據(jù)和其元數(shù)據(jù)操作;如果操作都成功則數(shù)據(jù)及元數(shù)據(jù)一起刪除,如果其中一個(gè)操作失敗,則事務(wù)回滾,刪除操作撤銷(xiāo)。8.根據(jù)權(quán)利要求5所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于:通過(guò)對(duì)元數(shù)據(jù)的統(tǒng)計(jì),能夠得知數(shù)據(jù)切分為多個(gè)數(shù)據(jù)塊以及數(shù)據(jù)是否完備。9.根據(jù)權(quán)利要求1所述的基于元數(shù)據(jù)保存存儲(chǔ)信息及統(tǒng)計(jì)管理數(shù)據(jù)的方法,其特征在于:步驟五、用戶(hù)需要統(tǒng)計(jì)每個(gè)項(xiàng)目的存儲(chǔ)數(shù)據(jù)量,向存儲(chǔ)服務(wù)器發(fā)送統(tǒng)計(jì)請(qǐng)求;步驟六、服務(wù)器接受到請(qǐng)求后,如果元數(shù)據(jù)不在內(nèi)存,則將元數(shù)據(jù)放入內(nèi)存,對(duì)內(nèi)存中的元數(shù)據(jù)遍歷其B樹(shù)結(jié)構(gòu);步驟七、按項(xiàng)目進(jìn)行分類(lèi),從而方便對(duì)每個(gè)項(xiàng)目的中包含的元數(shù)據(jù)進(jìn)行統(tǒng)計(jì)處理,把元數(shù)據(jù)中保存的存儲(chǔ)量數(shù)據(jù)進(jìn)行歸類(lèi)計(jì)算;步驟八、計(jì)算完統(tǒng)計(jì)信息后,返回結(jié)果給客戶(hù)端?!疚臋n編號(hào)】G06F17/30GK103795811SQ201410078821【公開(kāi)日】2014年5月14日申請(qǐng)日期:2014年3月6日優(yōu)先權(quán)日:2014年3月6日【發(fā)明者】何學(xué)勇,梁峰,許諾申請(qǐng)人:焦點(diǎn)科技股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1