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

基于內(nèi)存計(jì)算的高性能數(shù)據(jù)處理系統(tǒng)的制作方法

文檔序號(hào):9547297閱讀:534來(lái)源:國(guó)知局
基于內(nèi)存計(jì)算的高性能數(shù)據(jù)處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于內(nèi)存計(jì)算的高性能數(shù)據(jù)處理系統(tǒng),使用Java平臺(tái)和Java ΝΙ0技術(shù)實(shí)現(xiàn)大數(shù)據(jù)高速統(tǒng)計(jì)。
【背景技術(shù)】
[0002]現(xiàn)有統(tǒng)計(jì)技術(shù)一般通過(guò)關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程或SQL統(tǒng)計(jì)過(guò)程實(shí)現(xiàn),受限與于網(wǎng)絡(luò)I/O和磁盤(pán)I/O瓶頸,較大數(shù)據(jù)時(shí)會(huì)產(chǎn)生響應(yīng)慢和數(shù)據(jù)庫(kù)壓力過(guò)大的問(wèn)題。
[0003]針對(duì)較大數(shù)據(jù)則采用Hadoop map/reduce并行計(jì)算技術(shù),該技術(shù)對(duì)硬件資源要求巨大,一般5到15個(gè)節(jié)點(diǎn)以上才有應(yīng)用價(jià)值(視硬件性能而定),且統(tǒng)計(jì)任務(wù)啟動(dòng)時(shí)間至少10秒上,不能滿足實(shí)時(shí)性能要求高的場(chǎng)景。

【發(fā)明內(nèi)容】

[0004]本發(fā)明要解決的技術(shù)問(wèn)題是提供基于內(nèi)存計(jì)算的高性能數(shù)據(jù)處理系統(tǒng),解決在數(shù)據(jù)統(tǒng)計(jì)過(guò)程中的大數(shù)據(jù)效率過(guò)慢問(wèn)題,使用內(nèi)存計(jì)算技術(shù),將數(shù)據(jù)通過(guò)預(yù)定義的方式壓縮轉(zhuǎn)入內(nèi)存,消除統(tǒng)計(jì)過(guò)程中的I/O瓶頸,最終實(shí)現(xiàn)在普通單節(jié)點(diǎn)硬件之上進(jìn)行千萬(wàn)級(jí)到億級(jí)數(shù)據(jù)的秒級(jí)統(tǒng)計(jì)計(jì)算。
[0005]為達(dá)到上述目的,本發(fā)明的技術(shù)方案如下:
[0006]基于內(nèi)存計(jì)算的高性能數(shù)據(jù)處理系統(tǒng),包括:
[0007]—數(shù)據(jù)采集接口定義模塊,通過(guò)選擇數(shù)據(jù)表,并自動(dòng)提取數(shù)據(jù)表相關(guān)字段,由用戶根據(jù)字段類(lèi)型和范圍進(jìn)行壓縮方式定義,
[0008]—數(shù)據(jù)實(shí)時(shí)采集模塊,根據(jù)數(shù)據(jù)采集接口定義模塊定義的元數(shù)據(jù)從數(shù)據(jù)源抽取相關(guān)數(shù)據(jù),其中元數(shù)據(jù)一般指定義數(shù)據(jù)格式的數(shù)據(jù),數(shù)據(jù)源是指具體業(yè)務(wù)數(shù)據(jù),一般指企業(yè)業(yè)務(wù)系統(tǒng)關(guān)系數(shù)據(jù)庫(kù);
[0009]—數(shù)據(jù)內(nèi)存存儲(chǔ)模塊,將數(shù)據(jù)通過(guò)字典方式,整形編碼和壓縮算法以字節(jié)碼的形式存內(nèi)存之中;
[0010]以及一數(shù)據(jù)處理模塊,所述數(shù)據(jù)處理模塊包括SQL解析模塊,根據(jù)需要將統(tǒng)計(jì)中的記錄進(jìn)行提取。
[0011 ] 在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所述數(shù)據(jù)進(jìn)入數(shù)據(jù)內(nèi)存存儲(chǔ)模塊之前還包括一數(shù)據(jù)內(nèi)存壓縮模塊,所有數(shù)據(jù)經(jīng)過(guò)壓縮后進(jìn)入內(nèi)存。
[0012]在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,還包括一數(shù)據(jù)磁盤(pán)緩存模塊,將所有參與統(tǒng)計(jì)的“定性類(lèi)數(shù)據(jù)”存入磁盤(pán);相對(duì)于磁盤(pán),數(shù)據(jù)內(nèi)存存儲(chǔ)模塊中只存儲(chǔ)壓縮后數(shù)據(jù)。
[0013]在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所述SQL解析模塊包括“位匹配”和“整數(shù)化組合索引”兩種實(shí)現(xiàn)方式。
[0014]在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,使用“位匹配”方法實(shí)現(xiàn)SQL中的in操作。
[0015]在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,“整數(shù)化組合索引”方式包括如下:
[0016]SQL語(yǔ)句中的EXISTS條件,使用多列組合索引的方式應(yīng)對(duì)多列條件的EXISTS過(guò)程,EXISTS過(guò)程分兩個(gè)部分,左邊查詢數(shù)據(jù)和右邊條件數(shù)據(jù),首先將左邊查詢組合條件編碼為EXITS_CODE,由于EXITS_CODE為整形,可將右邊條件列表數(shù)據(jù)轉(zhuǎn)化為byte字節(jié)碼數(shù)組,該數(shù)組以EXITS_CODE為下標(biāo)的數(shù)組各項(xiàng)值的0,1為是否存在的標(biāo)識(shí),這樣在遍歷左邊查詢數(shù)據(jù)時(shí)可快速判斷當(dāng)前數(shù)據(jù)是否符合EXISTS條件,一次遍歷可判斷所有待查詢數(shù)據(jù)的有無(wú)情況。
[0017]在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,系統(tǒng)還包括結(jié)果輸出模塊,統(tǒng)計(jì)結(jié)果輸出到外部數(shù)據(jù)庫(kù)。
[0018]通過(guò)上述技術(shù)方案,本發(fā)明的有益效果是:
[0019]本發(fā)明將數(shù)據(jù)經(jīng)過(guò)在不損失統(tǒng)計(jì)精度和速度的前提下經(jīng)過(guò)壓縮和重組以字節(jié)的方式存入內(nèi)存。
【附圖說(shuō)明】
[0020]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0021]圖1為本發(fā)明的結(jié)構(gòu)示意圖。
[0022]圖2為本發(fā)明的SQL解析模塊的一種實(shí)現(xiàn)方式。
[0023]圖3為本發(fā)明的SQL解析模塊的另一種實(shí)現(xiàn)方式。
【具體實(shí)施方式】
[0024]為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。
[0025]參照?qǐng)D1所示,基于內(nèi)存計(jì)算的高性能數(shù)據(jù)處理系統(tǒng),包括:一數(shù)據(jù)采集接口定義模塊,通過(guò)選擇數(shù)據(jù)表,并自動(dòng)提取數(shù)據(jù)表相關(guān)字段,由用戶根據(jù)字段類(lèi)型和范圍進(jìn)行壓縮方式定義;
[0026]—數(shù)據(jù)實(shí)時(shí)采集模塊,根據(jù)數(shù)據(jù)采集接口定義模塊定義的元數(shù)據(jù)從數(shù)據(jù)源抽取相關(guān)數(shù)據(jù),其中元數(shù)據(jù)一般指定義數(shù)據(jù)格式的數(shù)據(jù),數(shù)據(jù)源是指具體業(yè)務(wù)數(shù)據(jù),一般指企業(yè)業(yè)務(wù)系統(tǒng)關(guān)系數(shù)據(jù)庫(kù);
[0027]—數(shù)據(jù)內(nèi)存存儲(chǔ)模塊,將數(shù)據(jù)通過(guò)字典方式,整形編碼和壓縮算法以字節(jié)碼的形式存內(nèi)存之中;
[0028]以及一數(shù)據(jù)處理模塊,所述數(shù)據(jù)處理模塊包括SQL解析模塊,根據(jù)需要將統(tǒng)計(jì)中的記錄進(jìn)行提取。
[0029]進(jìn)一步地,數(shù)據(jù)進(jìn)入數(shù)據(jù)內(nèi)存存儲(chǔ)模塊之前還包括一數(shù)據(jù)內(nèi)存壓縮模塊,所有數(shù)據(jù)經(jīng)過(guò)壓縮后進(jìn)入內(nèi)存;還包括一數(shù)據(jù)磁盤(pán)緩存模塊,將所有參與統(tǒng)計(jì)的“定性類(lèi)數(shù)據(jù)”存入磁盤(pán);相對(duì)于磁盤(pán),數(shù)據(jù)內(nèi)存存儲(chǔ)模塊中只存儲(chǔ)壓縮后數(shù)據(jù)。
[0030]其中預(yù)定義壓縮方式分為:
[0031](—).字典方式,該方式首先將占用字節(jié)數(shù)很大的字符串編碼為整形或者字節(jié)型數(shù)據(jù),然后將編碼后的數(shù)據(jù)存入內(nèi)存,將原字符串?dāng)?shù)據(jù)存入磁盤(pán)。例如:
[0032]1.對(duì)于數(shù)據(jù)庫(kù)中的整形字段,可能該字段中的值只有“0、1、2、3、4”4種值,但是在數(shù)據(jù)庫(kù)中以整形存儲(chǔ),占用4個(gè)字節(jié),此時(shí)可由用戶根據(jù)具體情況判斷,是否將存儲(chǔ)的值轉(zhuǎn)化為一個(gè)字節(jié),如果用戶選擇是,則由軟件自動(dòng)轉(zhuǎn)化;
[0033]2.對(duì)于數(shù)據(jù)庫(kù)的字符串字段,則自動(dòng)將每個(gè)相同字符串進(jìn)行整形編碼,也就是將相同字符串用相同的整形或者短整形替代。
[0034]在應(yīng)用中大部分情況下采用字典方式進(jìn)行壓縮,該方法具有執(zhí)行速度快,壓縮比高的特點(diǎn),但是需要較多人為參與和判斷過(guò)程。
[0035](二).使用壓縮算法(LZ0)方式,該方式具有通用性高,壓縮比高的特點(diǎn),但是對(duì)CPU和內(nèi)存資源要求較高。
[0036]其中定性類(lèi)數(shù)據(jù)的定義:
[0037]關(guān)系數(shù)據(jù)一般可分為定量和定性兩種形式,定性類(lèi)數(shù)據(jù)一般以字符串形式存儲(chǔ),定量數(shù)據(jù)以整形或者浮點(diǎn)形式存儲(chǔ),定性類(lèi)數(shù)據(jù)在統(tǒng)計(jì)過(guò)程中不影響統(tǒng)計(jì)的數(shù)值結(jié)果,而只需要在統(tǒng)計(jì)結(jié)果的展現(xiàn)中將其值顯示。
[0038]例如:統(tǒng)計(jì)中有一個(gè)“名稱”字段,每個(gè)名稱值實(shí)際不參與計(jì)算,只是在統(tǒng)計(jì)完成后顯示數(shù)據(jù)時(shí)將名稱對(duì)應(yīng)到數(shù)值結(jié)果進(jìn)行顯示。
[0039]進(jìn)一步地,在SQL解析模塊處理過(guò)程中還包括并行計(jì)算模塊,其通過(guò)API和SQL的方式對(duì)外提供并行計(jì)算接口。
[0040]其中SQL解析模塊的一個(gè)關(guān)鍵技術(shù)為:使用“位匹配”方法實(shí)現(xiàn)SQL中的in操作。[0041 ] 例如,對(duì)于SQL語(yǔ)句中的條件“ ’ 12’ in columnb”,其中’ 12’為查詢條件,columnb為表中字段,下圖2說(shuō)明了程序內(nèi)部的實(shí)現(xiàn)過(guò)程:
[0042]圖2演示了一個(gè)典型的S
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宾川县| 杭锦旗| 凤山市| 博罗县| 永吉县| 新乡县| 龙江县| 扶余县| 滨州市| 项城市| 磴口县| 开化县| 顺昌县| 巴彦县| 吉木乃县| 牡丹江市| 无为县| 栾川县| 山东省| 温宿县| 沁阳市| 镇安县| 洞头县| 陆丰市| 墨脱县| 黑山县| 富锦市| 定南县| 扬中市| 正蓝旗| 郸城县| 齐齐哈尔市| 梁平县| 永顺县| 大化| 宁乡县| 托里县| 平阳县| 曲阜市| 开阳县| 北海市|