本發(fā)明涉及時(shí)序數(shù)據(jù)庫(kù)實(shí)時(shí)數(shù)據(jù)處理與推送,尤其涉及一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法及系統(tǒng)。
背景技術(shù):
1、在物聯(lián)網(wǎng)和工業(yè)互聯(lián)網(wǎng)快速發(fā)展的當(dāng)下,時(shí)序數(shù)據(jù)作為一種重要的信息資源,其實(shí)時(shí)性、準(zhǔn)確性和可靠性對(duì)于業(yè)務(wù)決策和監(jiān)控至關(guān)重要。特別是在工業(yè)自動(dòng)化、智能監(jiān)控、遠(yuǎn)程管理等領(lǐng)域,實(shí)時(shí)數(shù)據(jù)的推送功能成為了不可或缺的一部分。為了滿(mǎn)足這些領(lǐng)域?qū)?shí)時(shí)數(shù)據(jù)處理的迫切需求,我們提出了一種基于mqtt(消息隊(duì)列遙測(cè)傳輸)協(xié)議的時(shí)序庫(kù)實(shí)時(shí)數(shù)據(jù)推送技術(shù)。
2、當(dāng)前,雖然有多種數(shù)據(jù)推送技術(shù)存在,但在處理時(shí)序數(shù)據(jù)時(shí),它們往往面臨一些挑戰(zhàn)。首先,實(shí)時(shí)性是一個(gè)關(guān)鍵問(wèn)題。傳統(tǒng)的輪詢(xún)或長(zhǎng)輪詢(xún)方式在數(shù)據(jù)量較大或網(wǎng)絡(luò)條件較差時(shí)會(huì)導(dǎo)致較高的延遲,無(wú)法滿(mǎn)足實(shí)時(shí)性的要求。其次,安全性和隱私保護(hù)也是不可忽視的方面。在數(shù)據(jù)傳輸過(guò)程中,必須確保數(shù)據(jù)不被非法獲取或篡改,以保障數(shù)據(jù)的安全性和可靠性。
3、為了克服這些挑戰(zhàn),我們提出了一種基于mqtt協(xié)議的時(shí)序庫(kù)實(shí)時(shí)數(shù)據(jù)推送技術(shù)。mqtt作為一種輕量級(jí)的發(fā)布/訂閱消息傳輸協(xié)議,具有消息小、開(kāi)銷(xiāo)低、支持多種qos(服務(wù)質(zhì)量)級(jí)別和發(fā)布/訂閱模式等特點(diǎn),非常適合用于實(shí)時(shí)數(shù)據(jù)的推送。通過(guò)優(yōu)化mqtt協(xié)議的實(shí)現(xiàn)方式和數(shù)據(jù)傳輸機(jī)制,我們能夠確保時(shí)序數(shù)據(jù)能夠?qū)崟r(shí)、準(zhǔn)確地推送到目標(biāo)端,同時(shí)引入先進(jìn)的數(shù)據(jù)加密和身份驗(yàn)證機(jī)制,保障數(shù)據(jù)傳輸過(guò)程中的安全性和隱私保護(hù)。
4、這項(xiàng)技術(shù)的發(fā)展,將大大提高時(shí)序數(shù)據(jù)的實(shí)時(shí)性和可靠性,滿(mǎn)足物聯(lián)網(wǎng)和工業(yè)互聯(lián)網(wǎng)等領(lǐng)域?qū)?shí)時(shí)數(shù)據(jù)處理和推送的迫切需求。我們相信,隨著技術(shù)的不斷進(jìn)步和應(yīng)用場(chǎng)景的不斷拓展,這項(xiàng)技術(shù)將在更多領(lǐng)域得到廣泛應(yīng)用和推廣。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述現(xiàn)有存在的問(wèn)題,提出了本發(fā)明。
2、因此,本發(fā)明提供了一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法,能夠適應(yīng)各種復(fù)雜的業(yè)務(wù)場(chǎng)景,為用戶(hù)提供更加高效、可靠的實(shí)時(shí)數(shù)據(jù)推送服務(wù)。
3、為解決上述技術(shù)問(wèn)題,本發(fā)明提供如下技術(shù)方案,一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法,包括:根據(jù)具體業(yè)務(wù)需求,設(shè)定推送主題,并進(jìn)行測(cè)點(diǎn)配置,用戶(hù)通過(guò)提供的圖形化管理界面,進(jìn)行推送實(shí)例的創(chuàng)建、推送主題的定義以及測(cè)點(diǎn)的直觀操作;對(duì)推送任務(wù)的測(cè)點(diǎn)需求進(jìn)行整合,實(shí)施統(tǒng)一查詢(xún)管理,同時(shí)測(cè)點(diǎn)的查詢(xún)與推送任務(wù)進(jìn)行集中管理,根據(jù)優(yōu)先級(jí)和數(shù)據(jù)變化頻率智能調(diào)度;當(dāng)出現(xiàn)網(wǎng)絡(luò)異?;驍?shù)據(jù)丟失時(shí),通過(guò)全量重發(fā)功能,重新發(fā)送數(shù)據(jù)序列,引入緩存機(jī)制,通過(guò)緩存常用測(cè)點(diǎn)數(shù)據(jù),減少對(duì)時(shí)序庫(kù)的直接查詢(xún),直接獲取數(shù)據(jù);支持推送任務(wù)、測(cè)點(diǎn)及查詢(xún)策略的動(dòng)態(tài)調(diào)整,并提供api接口和配置選項(xiàng),與外部系統(tǒng)集成和數(shù)據(jù)交換。
4、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法的一種優(yōu)選方案,其中:所述進(jìn)行測(cè)點(diǎn)配置包括,啟動(dòng)時(shí)序數(shù)據(jù)庫(kù)管理系統(tǒng),使用用戶(hù)憑證登錄系統(tǒng);
5、設(shè)定測(cè)點(diǎn)唯一的標(biāo)識(shí)符并提供測(cè)點(diǎn)的詳細(xì)描述,選擇測(cè)點(diǎn)數(shù)據(jù)類(lèi)型;指定來(lái)源于設(shè)備id、傳感器地址或api端點(diǎn)的測(cè)點(diǎn)數(shù)據(jù),設(shè)置測(cè)點(diǎn)的數(shù)據(jù)采用等間隔采樣,傳輸至?xí)r序庫(kù)存儲(chǔ)并遵循已設(shè)定的存儲(chǔ)策略;
6、其中,存儲(chǔ)策略包含數(shù)據(jù)保留規(guī)則和數(shù)據(jù)壓縮規(guī)則,數(shù)據(jù)壓縮規(guī)則表示為:
7、,
8、,
9、其中,表示壓縮后的數(shù)據(jù)集,表示原始數(shù)據(jù)集中數(shù)據(jù)點(diǎn)的數(shù)量,表示原始數(shù)據(jù)集中第i個(gè)數(shù)據(jù)點(diǎn),表示第i個(gè)數(shù)據(jù)點(diǎn)的壓縮閾值,表示第i個(gè)數(shù)據(jù)點(diǎn)的標(biāo)準(zhǔn)差,表示壓縮強(qiáng)度參數(shù),表示數(shù)據(jù)集的均值,表示第i個(gè)數(shù)據(jù)點(diǎn)的壓縮指數(shù);
10、數(shù)據(jù)壓縮后從現(xiàn)有推送主題列表中選擇或創(chuàng)建新的推送主題,將測(cè)點(diǎn)映射到被選擇的推送主題,確認(rèn)設(shè)置無(wú)誤后,保存測(cè)點(diǎn)配置并應(yīng)用到時(shí)序數(shù)據(jù)庫(kù)中。
11、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法的一種優(yōu)選方案,其中:所述統(tǒng)一查詢(xún)管理包括,分析推送任務(wù)的需求,確定共同的測(cè)點(diǎn)數(shù)據(jù),測(cè)點(diǎn)需求進(jìn)行聚類(lèi)分析,將需求相似的測(cè)點(diǎn)歸為一類(lèi),
12、;
13、;
14、;
15、其中,表示整合后的需求聚類(lèi)質(zhì)量函數(shù),表示測(cè)點(diǎn)需求集合,表示推送任務(wù)集合,表示第l個(gè)任務(wù)的需求滿(mǎn)足度,表示測(cè)點(diǎn)s的數(shù)據(jù)可用性,表示第l個(gè)任務(wù)的需求敏感度系數(shù),表示第l個(gè)任務(wù)的資源消耗函數(shù),表示第l個(gè)任務(wù)對(duì)資源j的消耗量,表示測(cè)點(diǎn)數(shù)量,表示推送任務(wù)的數(shù)量,表示極小正數(shù),表示歸一化參數(shù),表示資源j的可用性;
16、根據(jù)聚類(lèi)結(jié)果,構(gòu)建測(cè)點(diǎn)需求矩陣,定義矩陣維度為并初始化矩陣,對(duì)于每個(gè)任務(wù)l和每個(gè)測(cè)點(diǎn)s,計(jì)算和,計(jì)算后的值填充矩陣m:
17、,
18、得到:
19、,
20、其中,表示第l個(gè)任務(wù)對(duì)第s個(gè)測(cè)點(diǎn)的需求滿(mǎn)足度與資源消耗的比值,1≤l≤n,1≤s≤m,表示測(cè)點(diǎn)s的需求滿(mǎn)足度,表示測(cè)點(diǎn)s的資源消耗函數(shù),表示矩陣中第n行的第m列得到元素。
21、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法的一種優(yōu)選方案,其中:所述智能調(diào)度包括,分析測(cè)點(diǎn)需求矩陣,識(shí)別出任務(wù)共同需要的測(cè)點(diǎn),對(duì)于共同需求的測(cè)點(diǎn),創(chuàng)建新的查詢(xún)?nèi)蝿?wù),將對(duì)應(yīng)任務(wù)的需求整合在一起,確定合并查詢(xún)?nèi)蝿?wù)的優(yōu)先級(jí),根據(jù)任務(wù)的重要性和緊急程度,為每個(gè)任務(wù)分配一個(gè)優(yōu)先級(jí)權(quán)重,通過(guò)歷史數(shù)據(jù)分析得到每個(gè)測(cè)點(diǎn)評(píng)估數(shù)據(jù)變化的頻率;
22、構(gòu)建n×1的任務(wù)優(yōu)先級(jí)矩陣p:
23、,
24、其中,表示任務(wù)的優(yōu)先級(jí)權(quán)重;
25、構(gòu)建m×1的數(shù)據(jù)變化頻率向量f:
26、,
27、其中,表示任務(wù)相關(guān)測(cè)點(diǎn)的平均數(shù)據(jù)變化頻率;
28、當(dāng)出現(xiàn)常規(guī)任務(wù)時(shí),采用基于優(yōu)先級(jí)和數(shù)據(jù)變化頻率的綜合調(diào)度,對(duì)于每個(gè)任務(wù)l,計(jì)算綜合優(yōu)先級(jí):
29、,
30、式中,表示任務(wù)l的優(yōu)先級(jí)權(quán)重,表示任務(wù)l相關(guān)測(cè)點(diǎn)s的平均數(shù)據(jù)變化頻率;
31、根據(jù)對(duì)任務(wù)進(jìn)行排序,優(yōu)先級(jí)高的任務(wù)先調(diào)度,當(dāng)任務(wù)l長(zhǎng)時(shí)間未被調(diào)度,則動(dòng)態(tài)增加優(yōu)先級(jí)權(quán)重,設(shè)定時(shí)間閾值,當(dāng)任務(wù)l的等待時(shí)間超過(guò),則按照比例增加:
32、,
33、其中表示任務(wù)l的等待時(shí)間;
34、當(dāng)出現(xiàn)資源競(jìng)爭(zhēng)任務(wù)時(shí),比較競(jìng)爭(zhēng)任務(wù)的綜合優(yōu)先級(jí),優(yōu)先調(diào)度高的任務(wù),相同,則根據(jù)任務(wù)的歷史資源占用情況進(jìn)行調(diào)度;
35、當(dāng)出現(xiàn)緊急任務(wù),立即將緊急任務(wù)的優(yōu)先級(jí)權(quán)重設(shè)為最高,并重新計(jì)算所有任務(wù)的綜合優(yōu)先級(jí)。
36、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法的一種優(yōu)選方案,其中:所述全量重發(fā)功能包括,為每個(gè)數(shù)據(jù)序列分配一個(gè)唯一的標(biāo)識(shí)符,通過(guò)系統(tǒng)日志在數(shù)據(jù)傳輸過(guò)程中,實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),檢測(cè)網(wǎng)絡(luò)異常;
37、當(dāng)網(wǎng)絡(luò)異常發(fā)生時(shí),通過(guò)接收方確認(rèn)和超時(shí)機(jī)制檢測(cè)數(shù)據(jù)丟失,在數(shù)據(jù)接收端,接收到的數(shù)據(jù)序列不完整或不符合預(yù)期,判定為數(shù)據(jù)丟失;發(fā)送的數(shù)據(jù)在預(yù)定的時(shí)間內(nèi)沒(méi)有收到確認(rèn),判定為數(shù)據(jù)丟失;
38、一旦檢測(cè)到網(wǎng)絡(luò)異?;驍?shù)據(jù)丟失,系統(tǒng)立即觸發(fā)全量重發(fā)機(jī)制,當(dāng)觸發(fā)全量重發(fā)時(shí),系統(tǒng)重新發(fā)送整個(gè)數(shù)據(jù)序列,發(fā)送方在重發(fā)數(shù)據(jù)序列后,等待接收方的通過(guò)ack消息或數(shù)據(jù)完整性檢查進(jìn)行確認(rèn);在網(wǎng)絡(luò)恢復(fù)正常后,系統(tǒng)自動(dòng)或手動(dòng)檢查是否有未確認(rèn)的數(shù)據(jù)序列,并進(jìn)行必要的重發(fā)操作。
39、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法的一種優(yōu)選方案,所述緩存機(jī)制包括,設(shè)置緩存層,存儲(chǔ)頻繁查詢(xún)的測(cè)點(diǎn)數(shù)據(jù),緩存中的數(shù)據(jù)根據(jù)時(shí)序庫(kù)的更新頻率進(jìn)行同步更新;
40、當(dāng)推送任務(wù)需要查詢(xún)測(cè)點(diǎn)時(shí),系統(tǒng)首先檢查緩存層,當(dāng)緩存層中存在所需數(shù)據(jù),系統(tǒng)直接從緩存中獲取,無(wú)需訪問(wèn)時(shí)序庫(kù);緩存層中沒(méi)有所需數(shù)據(jù),系統(tǒng)再訪問(wèn)時(shí)序庫(kù)獲取數(shù)據(jù),并同步到緩存層;
41、當(dāng)緩存達(dá)到最大容量時(shí),按照淘汰策略淘汰舊數(shù)據(jù),為新數(shù)據(jù)騰出空間:
42、;
43、其中,表示淘汰策略函數(shù),表示時(shí)間衰減常數(shù),表示數(shù)據(jù)在緩存中的駐留時(shí)間,表示數(shù)據(jù)的訪問(wèn)頻率,表示數(shù)據(jù)的修改頻率,表示修改頻率的調(diào)節(jié)常數(shù);
44、緩存層的數(shù)據(jù)同步機(jī)制與時(shí)序庫(kù)的數(shù)據(jù)一致,對(duì)于實(shí)時(shí)更新的數(shù)據(jù),系統(tǒng)采用實(shí)時(shí)同步機(jī)制,系統(tǒng)監(jiān)控緩存層的性能指標(biāo),包含命中率、響應(yīng)時(shí)間,根據(jù)監(jiān)控結(jié)果,對(duì)緩存機(jī)制進(jìn)行調(diào)整和優(yōu)化。
45、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送方法的一種優(yōu)選方案,其中:所述動(dòng)態(tài)調(diào)整包括,通過(guò)動(dòng)態(tài)添加和刪除推送任務(wù)、測(cè)點(diǎn)以及查詢(xún)策略,滿(mǎn)足不同用戶(hù)的需求和業(yè)務(wù)場(chǎng)景的變化,用戶(hù)根據(jù)需要自定義推送任務(wù)的優(yōu)先級(jí)、推送頻率的參數(shù),滿(mǎn)足特定的業(yè)務(wù)需求;
46、允許用戶(hù)調(diào)整任務(wù)的優(yōu)先級(jí),根據(jù)實(shí)際情況調(diào)整任務(wù)的執(zhí)行間隔;根據(jù)緩存策略的需求,調(diào)整緩存策略的參數(shù);根據(jù)數(shù)據(jù)同步的需求,調(diào)整數(shù)據(jù)同步策略的參數(shù);
47、對(duì)api進(jìn)行身份驗(yàn)證和授權(quán),只有授權(quán)用戶(hù)才能訪問(wèn)和修改數(shù)據(jù),并對(duì)api進(jìn)行版本控制,支持新功能的添加和舊功能的改進(jìn),采用標(biāo)準(zhǔn)的數(shù)據(jù)格式進(jìn)行配置文件存儲(chǔ)推送任務(wù)、測(cè)點(diǎn)及查詢(xún)策略的配置信息;
48、在系統(tǒng)啟動(dòng)時(shí),自動(dòng)加載配置文件,并根據(jù)配置信息調(diào)整系統(tǒng)行為,允許用戶(hù)手動(dòng)加載配置文件,修改系統(tǒng)行為;
49、在客戶(hù)端訂閱模式方面,用戶(hù)軟件向控制主題發(fā)送訂閱消息,指定推送的目的主題和所需的測(cè)點(diǎn)列表,當(dāng)推送實(shí)例接收到訂閱消息,將在對(duì)應(yīng)測(cè)點(diǎn)值發(fā)生變化時(shí),實(shí)時(shí)將測(cè)點(diǎn)值推送給用戶(hù),同時(shí)用戶(hù)可以隨時(shí)發(fā)送取消訂閱消息;在管理端,用戶(hù)通過(guò)圖形化管理工具,設(shè)置訂閱主題,并指定推送的目的主題和訂閱的測(cè)點(diǎn)列表,推送實(shí)例根據(jù)配置,在測(cè)點(diǎn)變化時(shí)自動(dòng)發(fā)送實(shí)時(shí)數(shù)據(jù)。
50、本發(fā)明的另一個(gè)目的是提供一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送系統(tǒng),其能適用于需要快速響應(yīng)和動(dòng)態(tài)調(diào)整的復(fù)雜環(huán)境,能夠顯著提升數(shù)據(jù)處理能力和服務(wù)質(zhì)量。
51、作為本發(fā)明所述的一種實(shí)時(shí)數(shù)據(jù)流智能調(diào)度與動(dòng)態(tài)回環(huán)推送系統(tǒng)的一種優(yōu)選方案,其中:包括數(shù)據(jù)采集與預(yù)處理模塊、智能調(diào)度與優(yōu)化模塊、動(dòng)態(tài)回環(huán)推送模塊、系統(tǒng)監(jiān)控與管理模塊、用戶(hù)交互與api模塊;
52、所述數(shù)據(jù)采集與預(yù)處理模塊,負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)的采集和預(yù)處理;
53、所述智能調(diào)度與優(yōu)化模塊,根據(jù)實(shí)時(shí)數(shù)據(jù)和系統(tǒng)狀態(tài),智能調(diào)度數(shù)據(jù)處理任務(wù),優(yōu)化系統(tǒng)性能;
54、所述動(dòng)態(tài)回環(huán)推送模塊,根據(jù)數(shù)據(jù)處理結(jié)果和系統(tǒng)狀態(tài),動(dòng)態(tài)地推送數(shù)據(jù)到目標(biāo)系統(tǒng)或用戶(hù);
55、所述系統(tǒng)監(jiān)控與管理模塊,監(jiān)控系統(tǒng)運(yùn)行狀態(tài),管理系統(tǒng)資源,確保系統(tǒng)穩(wěn)定運(yùn)行;
56、所述用戶(hù)交互與api模塊,提供用戶(hù)與系統(tǒng)交互的界面,以及外部系統(tǒng)與系統(tǒng)交互的接口。
57、本發(fā)明的有益效果:通過(guò)智能調(diào)度和優(yōu)化模塊,可以根據(jù)數(shù)據(jù)的變化頻率和任務(wù)的優(yōu)先級(jí)來(lái)合理分配系統(tǒng)資源,從而提高數(shù)據(jù)處理和推送的效率。全量重發(fā)功能和緩存機(jī)制可以確保在網(wǎng)絡(luò)異常或數(shù)據(jù)丟失的情況下,系統(tǒng)能夠恢復(fù)并繼續(xù)穩(wěn)定運(yùn)行,保證了數(shù)據(jù)的完整性和準(zhǔn)確性。系統(tǒng)支持動(dòng)態(tài)調(diào)整推送任務(wù)、測(cè)點(diǎn)和查詢(xún)策略,能夠適應(yīng)不同的業(yè)務(wù)需求和環(huán)境變化,易于擴(kuò)展和維護(hù)。
58、api的身份驗(yàn)證和授權(quán)機(jī)制確保了只有授權(quán)用戶(hù)才能訪問(wèn)和修改數(shù)據(jù),增強(qiáng)了數(shù)據(jù)的安全性。圖形化管理界面和配置文件的自動(dòng)加載功能,簡(jiǎn)化了系統(tǒng)的管理和維護(hù)工作,降低了管理成本。適用于需要實(shí)時(shí)監(jiān)控和快速響應(yīng)的應(yīng)用場(chǎng)景,如物聯(lián)網(wǎng)、金融數(shù)據(jù)分析、實(shí)時(shí)監(jiān)控系統(tǒng)等。通過(guò)提供api接口,可以方便地與外部系統(tǒng)集成,促進(jìn)了不同系統(tǒng)之間的數(shù)據(jù)交換和資源共享。該方法不僅適用于各種類(lèi)型的數(shù)據(jù)流,而且可以根據(jù)不同的業(yè)務(wù)規(guī)則和需求進(jìn)行定制化開(kāi)發(fā),適應(yīng)性強(qiáng)。