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

一種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng)的制作方法

文檔序號:8319139閱讀:760來源:國知局
一種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
:
[0001]本發(fā)明涉及數(shù)據(jù)的存儲和檢索,具體涉及一種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng)。
【背景技術(shù)】
[0002]REDIS內(nèi)存數(shù)據(jù)結(jié)構(gòu),redis是一個高性能的key-value存儲系統(tǒng)。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list (鏈表)、set (集合)、zset (sorted set—有序集合)和hashs (哈希類型)。這些數(shù)據(jù)類型都支持push /pop,add / remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redi s支持各種不同方式的排序。與memcached—樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了 master-slave (主從)同步。
[0003]LUA動態(tài)語言,是一個小巧的腳本語言。該語言的設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴展和定制功能。Lua腳本可以很容易的被C / C++代碼調(diào)用,也可以反過來調(diào)用C / C++的函數(shù),這使得Lua在應(yīng)用程序中可以被廣泛應(yīng)用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和維護(hù)。Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺上都可以編譯,運行。
[0004]C語言是一種計算機程序設(shè)計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強的數(shù)據(jù)處理能力。

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

[0005]針對上述現(xiàn)有技術(shù)中的缺陷,本發(fā)明公開了一種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng)。
[0006]本發(fā)明采用下述技術(shù)方案:
[0007]—種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng),該系統(tǒng)由存儲節(jié)點、計算節(jié)點組成,存儲節(jié)點、計算節(jié)點之間采取連接池方式保持連接,出錯后會自動重新連接,其中:
[0008]存儲節(jié)點REDIS構(gòu)建,保存了大量的中間結(jié)果,保證了隨著數(shù)據(jù)的不斷流入,有專用的持久化程序?qū)?nèi)存中的數(shù)據(jù)定期進(jìn)行持久化保存,為故障恢復(fù)做準(zhǔn)備;
[0009]計算節(jié)點負(fù)責(zé)核心的計算工作,其采用C語言構(gòu)建的基礎(chǔ)HTTP的數(shù)據(jù)接收端,JSON作為唯一的數(shù)據(jù)處理格式,LUA作為邏輯編寫的腳本語言,在提供高性能的同時,降低了編程的難度;中途出現(xiàn)錯誤后,原始數(shù)據(jù)會自動的發(fā)送到另外一個處理節(jié)點,保證數(shù)據(jù)能得到處理。
[0010]該系統(tǒng)采用增量的計算模型,將計算需求拆分成多個可以依次完成的步驟,避免對全量數(shù)據(jù)進(jìn)行處理,每次只將新增的部分加入到之前的計算結(jié)果中,存儲節(jié)點中永遠(yuǎn)保持最新的計算結(jié)果,方便數(shù)據(jù)的處理。
[0011]優(yōu)選地,存儲節(jié)點被分成了私有變量、公有變量、腳本服務(wù)器三種,外部服務(wù)和LBS都是系統(tǒng)外的服務(wù),計算節(jié)點也有調(diào)用的權(quán)利。
[0012]本發(fā)明還涉及一種采用上述系統(tǒng)進(jìn)行的單條數(shù)據(jù)的處理方法,該方法包括如下步驟:
[0013](I)當(dāng)計算節(jié)點接收到一條數(shù)據(jù)請求時,首先對數(shù)據(jù)包進(jìn)行分解;
[0014](2)解析成功后進(jìn)入下一步,為了提高響應(yīng)速度,完成數(shù)據(jù)的接收后,立即給出響應(yīng),不用等到這條數(shù)據(jù)處理完畢;
[0015](3)然后開始讀取存儲節(jié)點中的數(shù)據(jù),讀取完成后開始結(jié)合數(shù)據(jù)包中的最新數(shù)據(jù),進(jìn)行增量計算,最后將結(jié)果寫回到存儲節(jié)點中;
[0016](4)最后,根據(jù)功能需求,還可以對外部的服務(wù)進(jìn)行調(diào)用。
[0017]本套系統(tǒng)構(gòu)建了一套輕量化的基于增量計算的分布式流式數(shù)據(jù)系統(tǒng),和當(dāng)前其他的流式計算系統(tǒng)相比,該系統(tǒng)提供了高效的數(shù)據(jù)結(jié)構(gòu)的內(nèi)存存儲方案,構(gòu)建了穩(wěn)定高效的連接池,在數(shù)據(jù)操作失敗時提供了容錯方案。存儲節(jié)點上同時運行數(shù)據(jù)持久化守護(hù)進(jìn)程每個計算節(jié)點可以無阻塞的接收服務(wù)請求,分配給不同的進(jìn)程來處理數(shù)據(jù)。節(jié)點之間為平等的關(guān)系??梢酝ㄟ^水平擴展計算節(jié)點和存儲節(jié)點。得到幾乎線性的性能提升。
【附圖說明】
:
[0018]圖1是本發(fā)明的單條數(shù)據(jù)處理流程圖;
[0019]圖2是本發(fā)明的系統(tǒng)拓?fù)鋱D。
【具體實施方式】
:
[0020]現(xiàn)結(jié)合附圖將本發(fā)明做進(jìn)一步的說明。
[0021]系統(tǒng)由存儲節(jié)點,計算節(jié)點組成。節(jié)點之間采取連接池方式保持連接,出錯后會自動重新連接。
[0022]存儲節(jié)點REDIS構(gòu)建,保存了大量的中間結(jié)果,保證了隨著數(shù)據(jù)的不斷流入,有專用的持久化程序?qū)?nèi)存中的數(shù)據(jù)定期進(jìn)行持久化保存,為故障恢復(fù)做準(zhǔn)備。
[0023]計算節(jié)點采用C語言構(gòu)建的基礎(chǔ)HTTP的數(shù)據(jù)接收端,JSON作為唯一的數(shù)據(jù)處理格式。LUA作為邏輯編寫的腳本語言,在提供高性能的同時,降低了編程的難度。中途出現(xiàn)錯誤后,原始數(shù)據(jù)會自動的發(fā)送到另外一個處理節(jié)點。保證數(shù)據(jù)能得到處理。
[0024]采用增量的計算模型,將計算需求拆分成多個可以依次完成的步驟,避免對全量數(shù)據(jù)進(jìn)行處理,每次只將新增的部分加入到之前的計算結(jié)果中,存儲節(jié)點中永遠(yuǎn)保持最新的計算結(jié)果,方便數(shù)據(jù)的處理。
[0025]單條數(shù)據(jù)請求的處理流程如圖1所示,當(dāng)計算節(jié)點接收到一條數(shù)據(jù)請求時,首先對數(shù)據(jù)包進(jìn)行分解。解析成功后進(jìn)入下一步,為了提高響應(yīng)速度,完成數(shù)據(jù)的接收后,立即給出響應(yīng),不用等到這條數(shù)據(jù)處理完畢。然后開始讀取存儲節(jié)點中的數(shù)據(jù),讀取完成后開始結(jié)合數(shù)據(jù)包中的最新數(shù)據(jù),進(jìn)行增量計算,最后將結(jié)果寫回到存儲節(jié)點中。最后根據(jù)功能需求,還可以對外部的服務(wù)進(jìn)行調(diào)用。
[0026]系統(tǒng)拓?fù)鋱D如圖2所示,計算節(jié)點(圖中的worker服務(wù)集群)負(fù)責(zé)核心的計算工作,存儲節(jié)點被分成了三種,私有變量,公有變量,腳本服務(wù)器。外部服務(wù)和LBS都是系統(tǒng)外的服務(wù),計算節(jié)點也有調(diào)用的權(quán)利。
[0027]以上所述僅為本發(fā)明的較佳實施方式而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng),其特征在于:該系統(tǒng)由存儲節(jié)點、計算節(jié)點組成,存儲節(jié)點、計算節(jié)點之間采取連接池方式保持連接,出錯后會自動重新連接,其中: 存儲節(jié)點REDIS構(gòu)建,保存了大量的中間結(jié)果,保證了隨著數(shù)據(jù)的不斷流入,有專用的持久化程序?qū)?nèi)存中的數(shù)據(jù)定期進(jìn)行持久化保存,為故障恢復(fù)做準(zhǔn)備; 計算節(jié)點負(fù)責(zé)核心的計算工作,其采用C語言構(gòu)建的基礎(chǔ)HTTP的數(shù)據(jù)接收端,JSON作為唯一的數(shù)據(jù)處理格式,LUA作為邏輯編寫的腳本語言,在提供高性能的同時,降低了編程的難度;中途出現(xiàn)錯誤后,原始數(shù)據(jù)會自動的發(fā)送到另外一個處理節(jié)點,保證數(shù)據(jù)能得到處理; 該系統(tǒng)采用增量的計算模型,將計算需求拆分成多個可以依次完成的步驟,避免對全量數(shù)據(jù)進(jìn)行處理,每次只將新增的部分加入到之前的計算結(jié)果中,存儲節(jié)點中永遠(yuǎn)保持最新的計算結(jié)果,方便數(shù)據(jù)的處理。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,存儲節(jié)點被分成了私有變量、公有變量、腳本服務(wù)器三種,外部服務(wù)和LBS都是系統(tǒng)外的服務(wù),計算節(jié)點也有調(diào)用的權(quán)利。
3.一種采用權(quán)利要求1或2所述的系統(tǒng)進(jìn)行的單條數(shù)據(jù)的處理方法,其特征在于,該方法包括如下步驟: (1)當(dāng)計算節(jié)點接收到一條數(shù)據(jù)請求時,首先對數(shù)據(jù)包進(jìn)行分解; (2)解析成功后進(jìn)入下一步,為了提高響應(yīng)速度,完成數(shù)據(jù)的接收后,立即給出響應(yīng),不用等到這條數(shù)據(jù)處理完畢; (3)然后開始讀取存儲節(jié)點中的數(shù)據(jù),讀取完成后開始結(jié)合數(shù)據(jù)包中的最新數(shù)據(jù),進(jìn)行增量計算,最后將結(jié)果寫回到存儲節(jié)點中; (4)最后,根據(jù)功能需求,還可以對外部的服務(wù)進(jìn)行調(diào)用。
【專利摘要】一種基于增量計算的分布式流式數(shù)據(jù)系統(tǒng),該系統(tǒng)由存儲節(jié)點、計算節(jié)點組成,節(jié)點之間采取連接池方式保持連接,出錯后會自動重新連接,其中:存儲節(jié)點REDIS構(gòu)建,保存了大量的中間結(jié)果,保證了隨著數(shù)據(jù)的不斷流入,有專用的持久化程序?qū)?nèi)存中的數(shù)據(jù)定期進(jìn)行持久化保存,為故障恢復(fù)做準(zhǔn)備;計算節(jié)點負(fù)責(zé)核心的計算工作,其采用C語言構(gòu)建的基礎(chǔ)HTTP的數(shù)據(jù)接收端,JSON作為唯一的數(shù)據(jù)處理格式,LUA作為邏輯編寫的腳本語言,在提供高性能的同時,降低了編程的難度。該系統(tǒng)采用增量的計算模型,將計算需求拆分成多個可以依次完成的步驟,每次只將新增部分加入到之前計算結(jié)果中,存儲節(jié)點中永遠(yuǎn)保持最新的計算結(jié)果,方便數(shù)據(jù)的處理。
【IPC分類】G06F17-30
【公開號】CN104636327
【申請?zhí)枴緾N201310542870
【發(fā)明人】趙龍飛
【申請人】上海語鏡汽車信息技術(shù)有限公司
【公開日】2015年5月20日
【申請日】2013年11月6日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜宾市| 闸北区| 东山县| 定南县| 西充县| 兴隆县| 尉犁县| 宝鸡市| 民丰县| 崇仁县| 芦山县| 陕西省| 九台市| 六安市| 威海市| 方城县| 淮安市| 舒兰市| 大洼县| 安溪县| 泰顺县| 扎赉特旗| 泗水县| 和静县| 榆树市| 长子县| 寿阳县| 渑池县| 美姑县| 木兰县| 栖霞市| 揭阳市| 富平县| 都兰县| 定边县| 柯坪县| 江达县| 改则县| 麻栗坡县| 涿州市| 神池县|