一種海量數(shù)據(jù)存儲(chǔ)訪問方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)訪問技術(shù)領(lǐng)域,具體涉及一種海量數(shù)據(jù)存儲(chǔ)訪問方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的大型應(yīng)用軟件系統(tǒng)對(duì)其應(yīng)用的管理對(duì)象采集的數(shù)據(jù)進(jìn)行存儲(chǔ)和查詢分析,通常,存儲(chǔ)和查詢的數(shù)據(jù)量都非常巨大以致查詢的效率下降。目前,對(duì)于這個(gè)問題,只能縮短、簡(jiǎn)化SQL查詢語句,從而提高數(shù)據(jù)的業(yè)務(wù)邏輯處理復(fù)雜度。利用這種方法,在處理海量數(shù)據(jù)時(shí),處理時(shí)間過長(zhǎng)、處理效率較低、處理速度較慢的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是提供一種海量數(shù)據(jù)存儲(chǔ)訪問方法及系統(tǒng),能夠提高海量數(shù)據(jù)存儲(chǔ)訪問的效率。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
[0005]依據(jù)本發(fā)明的一個(gè)方面,提供了一種海量數(shù)據(jù)存儲(chǔ)訪問方法,包括:
[0006]獲取來自數(shù)據(jù)源文件的源數(shù)據(jù);
[0007]將獲取的源數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)塊;
[0008]將劃分的若干個(gè)獨(dú)立的數(shù)據(jù)塊存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)中;
[0009]針對(duì)不同的數(shù)據(jù)訪問請(qǐng)求,并行訪問分布式文件系統(tǒng)中的數(shù)據(jù)塊。
[0010]依據(jù)本發(fā)明的另一個(gè)方面,提供了一種海量數(shù)據(jù)存儲(chǔ)訪問系統(tǒng),包括:
[0011]源數(shù)據(jù)獲取模塊,用于獲取來自數(shù)據(jù)源文件的源數(shù)據(jù);
[0012]第一劃分模塊,用于將獲取的源數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)塊;
[0013]數(shù)據(jù)存儲(chǔ)模塊,用于將劃分的若干個(gè)獨(dú)立的數(shù)據(jù)塊存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)中;
[0014]數(shù)據(jù)訪問模塊,用于針對(duì)不同的數(shù)據(jù)訪問請(qǐng)求,并行訪問分布式文件系統(tǒng)中的數(shù)據(jù)塊。
[0015]本發(fā)明提供的一種海量數(shù)據(jù)存儲(chǔ)訪問方法及系統(tǒng),將源數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)庫,并將獨(dú)立的數(shù)據(jù)塊分散存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)中,當(dāng)需要數(shù)據(jù)訪問時(shí),可以并行訪問分布式文件系統(tǒng)中的數(shù)據(jù)塊,提高了海量數(shù)據(jù)存儲(chǔ)訪問的效率,也避免了因數(shù)據(jù)量多大對(duì)存儲(chǔ)設(shè)備的性能造成影響。
【附圖說明】
[0016]圖1為本發(fā)明實(shí)施例一的一種海量數(shù)據(jù)存儲(chǔ)訪問方法流程圖;
[0017]圖2為本發(fā)明實(shí)施例二的一種海量數(shù)據(jù)存儲(chǔ)訪問系統(tǒng)示意圖。
【具體實(shí)施方式】
[0018]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0019]實(shí)施例一、一種海量數(shù)據(jù)存儲(chǔ)訪問方法。下面結(jié)合圖1對(duì)半實(shí)施例提供的方法進(jìn)行詳細(xì)說明。
[0020]圖1中,S101、獲取來自數(shù)據(jù)源文件的源數(shù)據(jù)。
[0021]具體的,在業(yè)務(wù)流程中,通常會(huì)產(chǎn)生大量的業(yè)務(wù)數(shù)據(jù)(以數(shù)據(jù)源文件的形式產(chǎn)生),甚至可以說是海量的業(yè)務(wù)數(shù)據(jù),若是將這些海量的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)于某一個(gè)存儲(chǔ)設(shè)備中,勢(shì)必對(duì)該存儲(chǔ)設(shè)備的存儲(chǔ)空間要很高的要求,同時(shí)對(duì)該存儲(chǔ)設(shè)備的性能要求也很高。因此本實(shí)施例提供一種分布式存儲(chǔ)海量數(shù)據(jù)的方法,在存儲(chǔ)之前,首先需要獲取業(yè)務(wù)數(shù)據(jù),即獲取數(shù)據(jù)源文件中的源數(shù)據(jù)。由于數(shù)據(jù)源文件中的數(shù)據(jù)數(shù)據(jù)量很大,故可以采用并行獲取數(shù)據(jù)的方法,采用多條采集鏈路對(duì)數(shù)據(jù)源文件中的數(shù)據(jù)進(jìn)行采集,提高了數(shù)據(jù)獲取的效率。
[0022]S102、將獲取的源數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)塊。
[0023]具體的,步驟SlOl采用并行獲取數(shù)據(jù)的方式獲取到數(shù)據(jù)源文件中的數(shù)據(jù),該步驟對(duì)獲取的數(shù)據(jù)進(jìn)行劃分,將數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)塊。其中,從數(shù)據(jù)源文件中獲取的數(shù)據(jù)可能為多個(gè)業(yè)務(wù)流程產(chǎn)生的數(shù)據(jù),因此可以將獲取的整個(gè)數(shù)據(jù)按照業(yè)務(wù)主題進(jìn)行劃分,一個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)業(yè)務(wù)主題,即數(shù)據(jù)塊與業(yè)務(wù)主題存在一一對(duì)應(yīng)的關(guān)系,比如,將電信計(jì)費(fèi)業(yè)務(wù)對(duì)應(yīng)的數(shù)據(jù)塊劃分為一個(gè)獨(dú)立的數(shù)據(jù)塊。這些獨(dú)立的數(shù)據(jù)塊在邏輯上是相連的,在物理上均是獨(dú)立的。
[0024]S103、將劃分的若干個(gè)獨(dú)立的數(shù)據(jù)塊存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)中。
[0025]具體的,將獲取的源數(shù)據(jù)根據(jù)不同的業(yè)務(wù)主題劃分為多個(gè)獨(dú)立的數(shù)據(jù)塊之后,將這些劃分的獨(dú)立的數(shù)據(jù)塊分散存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)中。其中,分布式文件系統(tǒng)中存在若干個(gè)數(shù)據(jù)節(jié)點(diǎn),將劃分的獨(dú)立的數(shù)據(jù)塊存儲(chǔ)于分布式文件系統(tǒng)的這些數(shù)據(jù)節(jié)點(diǎn)上,一個(gè)數(shù)據(jù)塊存儲(chǔ)于一個(gè)數(shù)據(jù)節(jié)點(diǎn)上,即數(shù)據(jù)塊與數(shù)據(jù)節(jié)點(diǎn)一一對(duì)應(yīng),由于數(shù)據(jù)塊與業(yè)務(wù)主題存在對(duì)應(yīng)關(guān)系,因此數(shù)據(jù)節(jié)點(diǎn)與數(shù)據(jù)塊及業(yè)務(wù)主題之間均存在對(duì)應(yīng)關(guān)系。
[0026]另外,將劃分的獨(dú)立的數(shù)據(jù)塊存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)的數(shù)據(jù)節(jié)點(diǎn)后,將存儲(chǔ)于數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)塊按照數(shù)據(jù)塊中的數(shù)據(jù)產(chǎn)生的時(shí)間(該時(shí)間可以在從數(shù)據(jù)源文件中獲取源數(shù)據(jù)時(shí)得到)進(jìn)行再次劃分,將數(shù)據(jù)塊劃分為更為細(xì)小的子數(shù)據(jù)塊。具體實(shí)施時(shí),可以先將數(shù)據(jù)塊按年進(jìn)行劃分,然后再將按年劃分的子數(shù)據(jù)塊按月進(jìn)行劃分,劃分為更為細(xì)致的子數(shù)據(jù)塊。如果按月劃分的子數(shù)據(jù)塊的數(shù)據(jù)量還很大,則可以將按月劃分的子數(shù)據(jù)塊再次按天進(jìn)行劃分,形成具有層級(jí)的子數(shù)據(jù)塊,即樹形結(jié)構(gòu)的子數(shù)據(jù)塊。
[0027]將數(shù)據(jù)塊劃分為樹形結(jié)構(gòu)的子數(shù)據(jù)塊后,將樹形的子數(shù)據(jù)塊分別存儲(chǔ)在相應(yīng)的數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)表中,其中,與樹形結(jié)構(gòu)的子數(shù)據(jù)塊對(duì)應(yīng),數(shù)據(jù)表的結(jié)構(gòu)也為樹形結(jié)構(gòu)。
[0028]S104、針對(duì)不同的數(shù)據(jù)訪問請(qǐng)求,并行訪問分布式文件系統(tǒng)中的數(shù)據(jù)塊。
[0029]具體的,當(dāng)客戶端需要訪問數(shù)據(jù)時(shí),向云平臺(tái)發(fā)送數(shù)據(jù)訪問請(qǐng)求,數(shù)據(jù)訪問請(qǐng)求中攜帶所需要訪問數(shù)據(jù)的業(yè)務(wù)主題以及所需要訪問數(shù)據(jù)的產(chǎn)生時(shí)間。
[0030]當(dāng)云平臺(tái)接收到客戶端發(fā)送的數(shù)據(jù)訪問請(qǐng)求時(shí),首先根據(jù)數(shù)據(jù)訪問請(qǐng)求中攜帶的所需要訪問數(shù)據(jù)的業(yè)務(wù)主題,在云平臺(tái)的分布式文件系統(tǒng)中查找與該業(yè)務(wù)主題對(duì)應(yīng)的數(shù)據(jù)節(jié)點(diǎn)(在數(shù)據(jù)存儲(chǔ)時(shí),數(shù)據(jù)節(jié)點(diǎn)與業(yè)務(wù)主題一一對(duì)應(yīng))。
[0031]當(dāng)查找到與數(shù)據(jù)訪問請(qǐng)求匹配的數(shù)據(jù)節(jié)點(diǎn)后,再按照數(shù)據(jù)訪問請(qǐng)求中所需訪問數(shù)據(jù)的產(chǎn)生時(shí)間在數(shù)據(jù)節(jié)點(diǎn)中查找相應(yīng)的數(shù)據(jù)表,查找到數(shù)據(jù)表之后,在具體的數(shù)據(jù)表中查找與數(shù)據(jù)訪問請(qǐng)求匹配的數(shù)據(jù)。由于數(shù)據(jù)表的結(jié)構(gòu)呈樹形結(jié)構(gòu),具有層級(jí)關(guān)系,因此在查找的過程中,可以按照時(shí)間一級(jí)一級(jí)的查找,直到查找與數(shù)據(jù)訪問請(qǐng)求匹配的數(shù)據(jù)。這樣按照層級(jí)關(guān)系一級(jí)一級(jí)的查找,相比從海量的數(shù)據(jù)中查找具體的數(shù)據(jù),更有規(guī)律可循,更具目的性,提高了數(shù)據(jù)查找的效率。
[0032]實(shí)施例二、一種海量數(shù)據(jù)存儲(chǔ)訪問系統(tǒng)。下面結(jié)合圖2對(duì)本實(shí)施例提供的系統(tǒng)進(jìn)行詳細(xì)描述。
[0033]圖2中,本實(shí)施例提供的系統(tǒng)包括源數(shù)據(jù)獲取模塊201、第一劃分模塊202、數(shù)據(jù)存儲(chǔ)模塊203和數(shù)據(jù)訪問模塊204。其中,數(shù)據(jù)存儲(chǔ)模塊203包括第二劃分模塊2031。
[0034]源數(shù)據(jù)獲取模塊201主要用于獲取來自數(shù)據(jù)源文件的源數(shù)據(jù)。
[0035]具體的,由于數(shù)據(jù)源文件中的數(shù)據(jù)數(shù)據(jù)量很大,故源數(shù)據(jù)獲取模塊201可以采用并行獲取數(shù)據(jù)的方法,采用多條采集鏈路對(duì)數(shù)據(jù)源文件中的數(shù)據(jù)進(jìn)行采集,提高了數(shù)據(jù)獲取的效率。
[0036]第一劃分模塊202主要用于將獲取的源數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)塊。
[0037]具體的,源數(shù)據(jù)獲取模塊201采用并行獲取數(shù)據(jù)的方式獲取到數(shù)據(jù)源文件中的數(shù)據(jù),第一劃分模塊202對(duì)獲取的數(shù)據(jù)進(jìn)行劃分,將數(shù)據(jù)劃分為若干個(gè)獨(dú)立的數(shù)據(jù)塊。其中,從數(shù)據(jù)源文件中獲取的數(shù)據(jù)可能為多個(gè)業(yè)務(wù)流程產(chǎn)生的數(shù)據(jù),因此第一劃分模塊202可以將獲取的整個(gè)數(shù)據(jù)按照業(yè)務(wù)主題進(jìn)行劃分,一個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)業(yè)務(wù)主題,即數(shù)據(jù)塊與業(yè)務(wù)主題存在一一對(duì)應(yīng)的關(guān)系,比如,將電信計(jì)費(fèi)業(yè)務(wù)對(duì)應(yīng)的數(shù)據(jù)塊劃分為一個(gè)獨(dú)立的數(shù)據(jù)塊。這些獨(dú)立的數(shù)據(jù)塊在邏輯上是相連的,在物理上均是獨(dú)立的。
[0038]數(shù)據(jù)存儲(chǔ)模塊203主要用于將劃分的若干個(gè)獨(dú)立的數(shù)據(jù)塊存儲(chǔ)于云平臺(tái)的分布式文件系統(tǒng)中。
[0039]具體的,第一劃分模塊202將獲取的源數(shù)據(jù)根據(jù)不同的業(yè)務(wù)主題劃分為多個(gè)獨(dú)立的數(shù)據(jù)塊之后,數(shù)據(jù)存儲(chǔ)模塊203將這些劃分的獨(dú)立的數(shù)據(jù)塊