本發(fā)明涉及大數(shù)據(jù)處理,特別是一種大數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)及方法。
背景技術(shù):
1、隨著信息技術(shù)的飛速發(fā)展,大數(shù)據(jù)已成為現(xiàn)代社會(huì)不可或缺的一部分,各行各業(yè)都在不斷生成和積累海量的數(shù)據(jù),這些數(shù)據(jù)中蘊(yùn)含著巨大的價(jià)值和潛力;然而,如何高效地處理、存儲(chǔ)和管理這些大數(shù)據(jù),成為了擺在企業(yè)和研究機(jī)構(gòu)面前的一大挑戰(zhàn);特別是在需要實(shí)時(shí)處理和分析大數(shù)據(jù)的場景下,傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)往往難以滿足需求;因此,一種高效、可靠的大數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)的研發(fā)顯得尤為重要;
2、在大數(shù)據(jù)處理領(lǐng)域,傳統(tǒng)的批處理系統(tǒng)和流處理系統(tǒng)各有其局限性:批處理系統(tǒng)通常適用于對大規(guī)模數(shù)據(jù)進(jìn)行離線處理,但無法滿足實(shí)時(shí)性的要求;而流處理系統(tǒng)雖然能夠處理實(shí)時(shí)數(shù)據(jù)流,但在處理復(fù)雜的數(shù)據(jù)分析和查詢時(shí),性能和效率往往不盡如人意;此外,大數(shù)據(jù)的存儲(chǔ)和管理也是一個(gè)棘手的問題,如何有效地對數(shù)據(jù)進(jìn)行分塊、存儲(chǔ)和讀取,以提高數(shù)據(jù)處理的效率和響應(yīng)速度,是大數(shù)據(jù)處理系統(tǒng)需要解決的關(guān)鍵問題。
技術(shù)實(shí)現(xiàn)思路
1、(一)解決的技術(shù)問題
2、針對背景技術(shù)中的技術(shù)問題,本發(fā)明提出一種大數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)及方法,通過實(shí)時(shí)分塊、高效關(guān)鍵詞提取、優(yōu)化存儲(chǔ)與讀取機(jī)制以及智能數(shù)據(jù)備份與更新策略,有效解決了傳統(tǒng)大數(shù)據(jù)處理系統(tǒng)在實(shí)時(shí)性、性能效率及大數(shù)據(jù)存儲(chǔ)管理方面的局限性;從而解決了背景技術(shù)中記載的技術(shù)問題。
3、(二)技術(shù)方案
4、為實(shí)現(xiàn)以上目的,本發(fā)明通過以下技術(shù)方案予以實(shí)現(xiàn):
5、一種大數(shù)據(jù)實(shí)時(shí)處理系統(tǒng),包括:
6、數(shù)據(jù)分塊模塊,當(dāng)檢測到大數(shù)據(jù)進(jìn)入?yún)^(qū)塊鏈網(wǎng)絡(luò)時(shí),基于分塊合約中的第一分塊策略與第二分塊策略對大數(shù)據(jù)進(jìn)行實(shí)時(shí)分塊;基于jieba分詞工具與tf-idf特征提取算法對每個(gè)數(shù)據(jù)塊進(jìn)行關(guān)鍵詞的提??;基于過去一周內(nèi)數(shù)據(jù)查詢平臺(tái)的歷史查詢記錄數(shù)據(jù)將數(shù)據(jù)塊分為高頻數(shù)據(jù)塊與低頻數(shù)據(jù)塊;
7、數(shù)據(jù)存儲(chǔ)模塊,基于存儲(chǔ)合約對分塊后的各個(gè)數(shù)據(jù)塊進(jìn)行存儲(chǔ)操作,并生成每個(gè)數(shù)據(jù)塊的塊標(biāo)識(shí)符;對每個(gè)數(shù)據(jù)塊的塊標(biāo)識(shí)符進(jìn)行加密操作,并將每個(gè)數(shù)據(jù)塊的塊標(biāo)識(shí)符與其存儲(chǔ)的節(jié)點(diǎn)位置的映射關(guān)系存儲(chǔ)在一個(gè)分布式哈希表中;
8、數(shù)據(jù)讀取模塊,當(dāng)用戶進(jìn)行數(shù)據(jù)查詢操作時(shí),基于用戶的私鑰集合篩選出可訪問的數(shù)據(jù)塊,基于讀取合約將用戶輸入的查詢關(guān)鍵詞與篩選出數(shù)據(jù)塊的關(guān)鍵詞進(jìn)行匹配,根據(jù)查詢關(guān)鍵詞的個(gè)數(shù)以及關(guān)鍵詞匹配的順序確定數(shù)據(jù)塊對應(yīng)數(shù)據(jù)的發(fā)送順序,按照發(fā)送順序在數(shù)據(jù)查詢平臺(tái)中顯示;
9、數(shù)據(jù)備份模塊,當(dāng)完成數(shù)據(jù)塊的存儲(chǔ)后,基于備份合約對所有數(shù)據(jù)塊進(jìn)行備份操作,生成與原始數(shù)據(jù)塊相同數(shù)量的備份數(shù)據(jù)塊,以及對應(yīng)的塊標(biāo)識(shí)符;當(dāng)監(jiān)測到用戶進(jìn)行數(shù)據(jù)修改操作時(shí),若進(jìn)行修改操作的數(shù)據(jù)塊為高頻數(shù)據(jù)塊,則對備份數(shù)據(jù)塊進(jìn)行實(shí)時(shí)更新;若進(jìn)行修改操作的數(shù)據(jù)塊為低頻數(shù)據(jù)塊,則對備份數(shù)據(jù)塊進(jìn)行非實(shí)時(shí)更新;基于塊標(biāo)識(shí)符中的哈希值對原始數(shù)據(jù)進(jìn)行適應(yīng)性修改。
10、具體的,所述第一分塊策略具體為:在大數(shù)據(jù)經(jīng)過大數(shù)據(jù)處理接口的過程中,實(shí)時(shí)記錄累計(jì)經(jīng)過的數(shù)據(jù)量;當(dāng)監(jiān)測到累計(jì)經(jīng)過的數(shù)據(jù)量超過設(shè)定的分塊數(shù)據(jù)流閾值時(shí),執(zhí)行分塊操作,即在此時(shí)經(jīng)過大數(shù)據(jù)處理接口的數(shù)據(jù)處對大數(shù)據(jù)進(jìn)行切分,將切分后已經(jīng)經(jīng)過大數(shù)據(jù)處理接口的數(shù)據(jù)包裝成一個(gè)數(shù)據(jù)塊,并存入緩沖分塊區(qū)域中;執(zhí)行分塊操作后,將累計(jì)經(jīng)過的數(shù)據(jù)量清零,并重復(fù)第一分塊策略;若剩余的數(shù)據(jù)量不足以超過分塊數(shù)據(jù)流閾值,則將這些剩余的數(shù)據(jù)量包裝成一個(gè)數(shù)據(jù)塊。
11、具體的,所述第二分塊策略具體為:基于內(nèi)容的類別對緩沖分塊區(qū)域中的每個(gè)數(shù)據(jù)塊進(jìn)行內(nèi)容的劃分,得到若干個(gè)中間數(shù)據(jù)塊,并更新指針的數(shù)量和指向的數(shù)據(jù)塊;所述內(nèi)容的類別包括數(shù)據(jù)類型、數(shù)據(jù)主題、數(shù)據(jù)來源、業(yè)務(wù)流程環(huán)節(jié),在一個(gè)數(shù)據(jù)塊中,將相同數(shù)據(jù)類型,相同數(shù)據(jù)主題,相同數(shù)據(jù)來源以及相同業(yè)務(wù)流程環(huán)節(jié)的連續(xù)數(shù)據(jù)保留在同一個(gè)中間數(shù)據(jù)塊中;
12、基于jieba分詞工具提取出每個(gè)中間數(shù)據(jù)塊中的所有詞語,從提取的詞語中篩去停用詞,停用詞包括無意義詞匯以及標(biāo)點(diǎn)符號;基于tf-idf特征提取算法計(jì)算剩余詞語在對應(yīng)中間數(shù)據(jù)塊中的重要性指數(shù);將每個(gè)中間數(shù)據(jù)塊中,重要性指數(shù)排在前三的詞語作為該中間數(shù)據(jù)塊的關(guān)鍵詞。
13、進(jìn)一步的,獲取過去一周內(nèi)數(shù)據(jù)查詢平臺(tái)的歷史查詢記錄數(shù)據(jù),分別統(tǒng)計(jì)每個(gè)中間數(shù)據(jù)塊對應(yīng)數(shù)據(jù)的訪問次數(shù),得到每個(gè)中間數(shù)據(jù)塊在過去一周內(nèi)的被訪問總頻數(shù),若存在一次數(shù)據(jù)訪問對應(yīng)多個(gè)中間數(shù)據(jù)塊,則同時(shí)對這些中間數(shù)據(jù)塊的訪問次數(shù)加一;設(shè)定頻數(shù)判定標(biāo)準(zhǔn)值,將被訪問總頻數(shù)不低于頻數(shù)判定標(biāo)準(zhǔn)值的中間數(shù)據(jù)塊存入高頻訪問緩沖區(qū)域中,將被訪問總頻數(shù)低于頻數(shù)判定標(biāo)準(zhǔn)值的中間數(shù)據(jù)塊存入低頻訪問緩沖區(qū)域中;
14、對于高頻訪問緩沖區(qū)域與低頻訪問緩沖區(qū)域中的中間數(shù)據(jù)塊,將關(guān)鍵詞相同、被訪問總頻數(shù)相同且指針連續(xù)的中間數(shù)據(jù)塊合并,并進(jìn)行指針的更新;
15、將低頻訪問緩沖區(qū)域中的中間數(shù)據(jù)塊記為低頻數(shù)據(jù)塊,將高頻訪問緩沖區(qū)域中的中間數(shù)據(jù)塊記為高頻數(shù)據(jù)塊。
16、具體的,所述塊標(biāo)識(shí)符通過將每個(gè)數(shù)據(jù)塊生成的哈希值、每個(gè)數(shù)據(jù)塊的類別、每個(gè)數(shù)據(jù)塊所指向下一個(gè)數(shù)據(jù)塊的指針以及每個(gè)數(shù)據(jù)塊的關(guān)鍵詞結(jié)合得到;
17、其中,每個(gè)數(shù)據(jù)塊的類別表示數(shù)據(jù)塊的高頻或低頻;第一關(guān)鍵詞、第二關(guān)鍵詞以及第三關(guān)鍵詞分別表示每個(gè)數(shù)據(jù)塊中重要性指數(shù)排在前三的詞語;記錄所有數(shù)據(jù)塊的塊標(biāo)識(shí)符,并將記錄后的結(jié)果存儲(chǔ)在一個(gè)新的數(shù)據(jù)塊中,記為標(biāo)識(shí)符數(shù)據(jù)塊。
18、具體的,當(dāng)用戶進(jìn)行數(shù)據(jù)查詢操作時(shí),將用戶輸入的查詢關(guān)鍵詞與用戶的私鑰集合結(jié)合,形成一個(gè)請求字符串,所述用戶的私鑰集合中存儲(chǔ)用戶賬號中所有的rsa私鑰;存儲(chǔ)合約中定義有讀取合約的傳輸接口,當(dāng)請求字符串形成后,將請求字符串通過傳輸接口傳輸?shù)酱鎯?chǔ)合約中;
19、基于存儲(chǔ)合約中的字符比對函數(shù),將接收到的請求字符串與篩選出的所有塊標(biāo)識(shí)符進(jìn)行拆分,具體為:將請求字符串中的查詢關(guān)鍵詞拆分出來,將塊標(biāo)識(shí)符中的第一關(guān)鍵詞、第二關(guān)鍵詞以及第三關(guān)鍵詞拆分出來,查詢關(guān)鍵詞、第一關(guān)鍵詞、第二關(guān)鍵詞以及第三關(guān)鍵詞均以字符串的形式存在。
20、進(jìn)一步的,若只存在一個(gè)查詢關(guān)鍵詞,則依次將查詢關(guān)鍵詞與所有的第一關(guān)鍵詞、第二關(guān)鍵詞以及第三關(guān)鍵詞進(jìn)行匹配判定,根據(jù)查詢關(guān)鍵詞匹配的順序依次將匹配的關(guān)鍵詞所對應(yīng)的塊標(biāo)識(shí)符放入讀取隊(duì)列中,所述匹配的順序表示按照第一關(guān)鍵詞、第二關(guān)鍵詞、第三關(guān)鍵詞的順序;若多個(gè)塊標(biāo)識(shí)符的匹配順序皆相同時(shí),則根據(jù)多個(gè)塊標(biāo)識(shí)符對應(yīng)數(shù)據(jù)塊的被訪問總頻數(shù),按照從大到小的順序依次將兩個(gè)塊標(biāo)識(shí)符放入讀取隊(duì)列中;
21、若存在多個(gè)查詢關(guān)鍵詞,則將查詢關(guān)鍵詞一一拆分出來,逐一對拆分出來的查詢子關(guān)鍵詞進(jìn)行與第一關(guān)鍵詞、第二關(guān)鍵詞以及第三關(guān)鍵詞的匹配判定;根據(jù)查詢子關(guān)鍵詞匹配的順序依次將對應(yīng)的塊標(biāo)識(shí)符放入讀取隊(duì)列中,即對于匹配到塊標(biāo)識(shí)符中順序靠前的關(guān)鍵詞的塊標(biāo)識(shí)符,優(yōu)先放入讀取隊(duì)列;若兩個(gè)塊標(biāo)識(shí)符與查詢關(guān)鍵詞匹配了相同數(shù)量的關(guān)鍵詞,并且這些關(guān)鍵詞的順序也相同,則根據(jù)兩個(gè)塊標(biāo)識(shí)符對應(yīng)數(shù)據(jù)塊的被訪問總頻數(shù),按照從大到小的順序依次將這兩個(gè)塊標(biāo)識(shí)符放入讀取隊(duì)列中。
22、進(jìn)一步的,當(dāng)完成數(shù)據(jù)塊的存儲(chǔ)后,調(diào)用備份合約中的備份函數(shù)復(fù)制所存儲(chǔ)的所有數(shù)據(jù)塊,這些備份數(shù)據(jù)塊的塊標(biāo)識(shí)符中的哈希值與對應(yīng)的數(shù)據(jù)塊的塊標(biāo)識(shí)符中的哈希值相同;
23、當(dāng)監(jiān)測到用戶進(jìn)行數(shù)據(jù)修改操作時(shí),基于被修改數(shù)據(jù)塊的類別進(jìn)行備份數(shù)據(jù)塊的更新;
24、當(dāng)用戶進(jìn)行操作的數(shù)據(jù)塊為高頻數(shù)據(jù)塊時(shí),基于數(shù)據(jù)查詢平臺(tái)上用戶修改后的結(jié)果實(shí)時(shí)生成新的數(shù)據(jù)塊,通過記錄的備份數(shù)據(jù)塊的存放位置,將新生成的數(shù)據(jù)塊替換原本的備份數(shù)據(jù)塊,存儲(chǔ)的節(jié)點(diǎn)位置不發(fā)生改變;
25、當(dāng)用戶進(jìn)行操作的數(shù)據(jù)塊為低頻數(shù)據(jù)塊時(shí),僅當(dāng)判斷用戶結(jié)束對數(shù)據(jù)塊的訪問時(shí),向備份合約發(fā)送數(shù)據(jù)修改信號,并采取與高頻數(shù)據(jù)塊相同的方法更新備份數(shù)據(jù)塊。
26、進(jìn)一步的,當(dāng)更新了備份數(shù)據(jù)塊后,備份數(shù)據(jù)塊中與內(nèi)容對應(yīng)的哈希值也會(huì)發(fā)生變化,進(jìn)而備份數(shù)據(jù)塊的塊標(biāo)識(shí)符同樣發(fā)生了變化;當(dāng)備份合約監(jiān)測到存在備份數(shù)據(jù)塊的塊標(biāo)識(shí)符發(fā)生了變化時(shí),向存儲(chǔ)合約中發(fā)送備份數(shù)據(jù)塊變化前后的塊標(biāo)識(shí)符,基于變化前塊標(biāo)識(shí)符的哈希值找到原始數(shù)據(jù),基于變化后塊標(biāo)識(shí)符的哈希值以更新原始數(shù)據(jù),所述原始數(shù)據(jù)即為數(shù)據(jù)存儲(chǔ)模塊中存儲(chǔ)的數(shù)據(jù)塊。
27、一種大數(shù)據(jù)實(shí)時(shí)處理方法,包括:
28、步驟一、當(dāng)檢測到大數(shù)據(jù)進(jìn)入?yún)^(qū)塊鏈網(wǎng)絡(luò)時(shí),基于分塊合約中的第一分塊策略與第二分塊策略對大數(shù)據(jù)進(jìn)行實(shí)時(shí)分塊;基于jieba分詞工具與tf-idf特征提取算法對每個(gè)數(shù)據(jù)塊進(jìn)行關(guān)鍵詞的提取;基于過去一周內(nèi)數(shù)據(jù)查詢平臺(tái)的歷史查詢記錄數(shù)據(jù)將數(shù)據(jù)塊分為高頻數(shù)據(jù)塊與低頻數(shù)據(jù)塊;
29、步驟二、基于存儲(chǔ)合約對分塊后的各個(gè)數(shù)據(jù)塊進(jìn)行存儲(chǔ)操作,并生成每個(gè)數(shù)據(jù)塊的塊標(biāo)識(shí)符;對每個(gè)數(shù)據(jù)塊的塊標(biāo)識(shí)符進(jìn)行加密操作,并將每個(gè)數(shù)據(jù)塊的塊標(biāo)識(shí)符與其存儲(chǔ)的節(jié)點(diǎn)位置的映射關(guān)系存儲(chǔ)在一個(gè)分布式哈希表中;
30、步驟三、當(dāng)用戶進(jìn)行數(shù)據(jù)查詢操作時(shí),基于用戶的私鑰集合篩選出可訪問的數(shù)據(jù)塊,基于讀取合約將用戶輸入的查詢關(guān)鍵詞與篩選出數(shù)據(jù)塊的關(guān)鍵詞進(jìn)行匹配,根據(jù)查詢關(guān)鍵詞的個(gè)數(shù)以及關(guān)鍵詞匹配的順序確定數(shù)據(jù)塊對應(yīng)數(shù)據(jù)的發(fā)送順序,按照發(fā)送順序在數(shù)據(jù)查詢平臺(tái)中顯示;
31、步驟四、當(dāng)完成數(shù)據(jù)塊的存儲(chǔ)后,基于備份合約對所有數(shù)據(jù)塊進(jìn)行備份操作,生成與原始數(shù)據(jù)塊相同數(shù)量的備份數(shù)據(jù)塊,以及對應(yīng)的塊標(biāo)識(shí)符;當(dāng)監(jiān)測到用戶進(jìn)行數(shù)據(jù)修改操作時(shí),若進(jìn)行修改操作的數(shù)據(jù)塊為高頻數(shù)據(jù)塊,則對備份數(shù)據(jù)塊進(jìn)行實(shí)時(shí)更新;若進(jìn)行修改操作的數(shù)據(jù)塊為低頻數(shù)據(jù)塊,則對備份數(shù)據(jù)塊進(jìn)行非實(shí)時(shí)更新;基于塊標(biāo)識(shí)符中的哈希值對原始數(shù)據(jù)進(jìn)行適應(yīng)性修改。
32、(三)有益效果
33、本發(fā)明提供了一種大數(shù)據(jù)實(shí)時(shí)處理系統(tǒng)及方法,具備以下有益效果:
34、1、通過實(shí)時(shí)監(jiān)測大數(shù)據(jù)進(jìn)入?yún)^(qū)塊鏈網(wǎng)絡(luò),并基于雙重分塊策略對大數(shù)據(jù)進(jìn)行高效、精準(zhǔn)的分塊處理;不僅確保了數(shù)據(jù)的實(shí)時(shí)性和完整性,還通過內(nèi)容劃分和關(guān)鍵詞提取,實(shí)現(xiàn)了數(shù)據(jù)塊的高效索引和分類;結(jié)合歷史查詢記錄,將數(shù)據(jù)塊分為高頻和低頻,有助于優(yōu)化存儲(chǔ)和查詢效率,使得高頻數(shù)據(jù)在后續(xù)能夠得到更快的訪問速度,低頻數(shù)據(jù)則能減少不必要的存儲(chǔ)開銷,從而提升了整個(gè)大數(shù)據(jù)處理系統(tǒng)的性能和響應(yīng)速度;
35、2、通過sha2-256算法生成數(shù)據(jù)塊的唯一哈希值,并結(jié)合數(shù)據(jù)塊的類別、指針和關(guān)鍵詞形成塊標(biāo)識(shí)符,確保了數(shù)據(jù)的唯一性和可追蹤性;加密操作和對用戶訪問權(quán)限的控制,增強(qiáng)了數(shù)據(jù)的安全性;將塊標(biāo)識(shí)符與數(shù)據(jù)塊存儲(chǔ)位置的映射關(guān)系存儲(chǔ)在分布式哈希表中,實(shí)現(xiàn)了數(shù)據(jù)的高效檢索和定位;這種存儲(chǔ)方式不僅提高了數(shù)據(jù)的存儲(chǔ)效率,還保證了數(shù)據(jù)在區(qū)塊鏈網(wǎng)絡(luò)中的可靠性和持久性,為大數(shù)據(jù)實(shí)時(shí)處理提供了堅(jiān)實(shí)的存儲(chǔ)基礎(chǔ);
36、3、通過用戶的私鑰集合篩選出可訪問的數(shù)據(jù)塊,并基于關(guān)鍵詞匹配算法確定數(shù)據(jù)塊的發(fā)送順序,實(shí)現(xiàn)了數(shù)據(jù)的精準(zhǔn)查詢和快速響應(yīng);不僅支持單個(gè)查詢關(guān)鍵詞的匹配,還能處理多個(gè)查詢關(guān)鍵詞的復(fù)雜查詢需求,從而提高了查詢的靈活性和準(zhǔn)確性;通過按照發(fā)送順序在數(shù)據(jù)查詢平臺(tái)中顯示結(jié)果,使得用戶能夠直觀地獲取所需數(shù)據(jù),提升了用戶體驗(yàn)和查詢效率,滿足了大數(shù)據(jù)實(shí)時(shí)處理中對數(shù)據(jù)讀取速度和精度的要求;
37、4、當(dāng)用戶對數(shù)據(jù)進(jìn)行修改時(shí),該模塊能夠根據(jù)數(shù)據(jù)塊的高頻或低頻特性,采取相應(yīng)的更新策略,從而在保證數(shù)據(jù)完整性的同時(shí),減少了不必要的備份開銷;通過塊標(biāo)識(shí)符中的哈希值對原始數(shù)據(jù)進(jìn)行適應(yīng)性修改,實(shí)現(xiàn)了數(shù)據(jù)的無縫更新和同步;這種備份機(jī)制不僅提高了數(shù)據(jù)的恢復(fù)能力,還基于不同數(shù)據(jù)采取不同的更新方法,為大數(shù)據(jù)實(shí)時(shí)處理提供了可靠的數(shù)據(jù)保障。