本發(fā)明涉及設(shè)備的數(shù)據(jù)處理與遠(yuǎn)程邏輯控制,尤其涉及一種多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)與工業(yè)4.0的深度融合,海量異構(gòu)設(shè)備接入網(wǎng)絡(luò)已然成為當(dāng)前常態(tài)。這些設(shè)備通常來自不同的制造商,支持著種類繁多的工業(yè)通信協(xié)議(如modbus、opc?ua、ethercat、profinet等),且數(shù)據(jù)格式與交互時(shí)序千差萬別。為了實(shí)現(xiàn)統(tǒng)一管控,當(dāng)前典型的技術(shù)方案是采用云邊協(xié)同架構(gòu):邊緣計(jì)算節(jié)點(diǎn)部署在數(shù)據(jù)源附近,負(fù)責(zé)執(zhí)行多協(xié)議的解析、數(shù)據(jù)初步清洗以及對(duì)實(shí)時(shí)性要求高的本地控制任務(wù);而云平臺(tái)則憑借其強(qiáng)大的計(jì)算與存儲(chǔ)能力,承擔(dān)著海量數(shù)據(jù)匯聚、復(fù)雜數(shù)據(jù)分析、深度模型訓(xùn)練以及全局業(yè)務(wù)邏輯的集中管理。這種靜態(tài)的職責(zé)劃分在特定場(chǎng)景下能夠有效提高工作效率。
2、然而,上述技術(shù)方案的架構(gòu)在面對(duì)日益復(fù)雜和動(dòng)態(tài)的工業(yè)與物聯(lián)網(wǎng)應(yīng)用場(chǎng)景時(shí),其不足之處會(huì)逐漸暴露出來。首先,多協(xié)議解析與控制邏輯通常與底層硬件或固件呈“強(qiáng)耦合”狀態(tài)。在現(xiàn)有的邊緣網(wǎng)關(guān)中,針對(duì)特定協(xié)議(如modbus)的數(shù)據(jù)采集代碼往往被編譯在固定的應(yīng)用程序或固件中。這意味著,當(dāng)現(xiàn)場(chǎng)新增一種未知協(xié)議的設(shè)備,或者需要調(diào)整某種協(xié)議的采集頻率與控制算法時(shí),往往需要對(duì)邊緣節(jié)點(diǎn)進(jìn)行整體固件升級(jí)或應(yīng)用重部署,難以實(shí)現(xiàn)針對(duì)單一協(xié)議邏輯的靈活剝離與獨(dú)立調(diào)度。其次,資源利用的固定式分配導(dǎo)致了效率瓶頸。由于協(xié)議解析和邏輯控制任務(wù)被“鎖死”在特定的邊緣節(jié)點(diǎn)上,邊緣節(jié)點(diǎn)可能因業(yè)務(wù)波谷而長期處于算力冗余狀態(tài),造成硬件資源浪費(fèi),或是在業(yè)務(wù)洪峰時(shí)(例如大量高頻協(xié)議數(shù)據(jù)同時(shí)并發(fā))因算力不足而轉(zhuǎn)變?yōu)樾阅芷款i,導(dǎo)致數(shù)據(jù)處理延遲甚至丟失。再者,系統(tǒng)對(duì)網(wǎng)絡(luò)連接的強(qiáng)依賴性限制了其可靠性與響應(yīng)速度。特別是當(dāng)需要高實(shí)時(shí)性閉環(huán)控制的業(yè)務(wù)邏輯被固化在云端執(zhí)行時(shí),邊云之間的網(wǎng)絡(luò)延遲、抖動(dòng)或中斷將直接影響控制指令的下達(dá)時(shí)效,無法滿足毫秒級(jí)的工業(yè)控制需求。此外,現(xiàn)有方案的運(yùn)維模式往往顯得復(fù)雜笨重。面對(duì)成百上千種不同的設(shè)備協(xié)議配置,對(duì)大量分布式邊緣節(jié)點(diǎn)的邏輯更新通常需要人工干預(yù)或逐一進(jìn)行固件升級(jí),過程繁瑣、周期長且風(fēng)險(xiǎn)高,嚴(yán)重制約了業(yè)務(wù)的敏捷性與彈性。
技術(shù)實(shí)現(xiàn)思路
1、本部分的目的在于概述本發(fā)明的實(shí)施例的一些方面以及簡(jiǎn)要介紹一些較佳實(shí)施例。在本部分以及本技術(shù)的說明書摘要和發(fā)明名稱中可能會(huì)做些簡(jiǎn)化或省略以避免使本部分、說明書摘要和發(fā)明名稱的目的模糊,而這種簡(jiǎn)化或省略不能用于限制本發(fā)明的范圍。
2、鑒于上述現(xiàn)有存在的問題,提出了本發(fā)明。因此,本發(fā)明提供了一種多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法,用以解決背景技術(shù)中提出的云邊協(xié)同架構(gòu)功能劃分固定、資源利用率低、網(wǎng)絡(luò)依賴性強(qiáng)以及運(yùn)維復(fù)雜的問題。
3、為了解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:一種多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法,包括:
4、將預(yù)設(shè)的數(shù)據(jù)處理或控制邏輯封裝為攜帶狀態(tài)信息且可獨(dú)立遷移的邏輯算子,并在云平臺(tái)與邊緣節(jié)點(diǎn)構(gòu)成的執(zhí)行環(huán)境中部署所述邏輯算子;
5、實(shí)時(shí)感知所述執(zhí)行環(huán)境中各節(jié)點(diǎn)的計(jì)算資源狀態(tài)和所述節(jié)點(diǎn)間的網(wǎng)絡(luò)通信狀態(tài);
6、基于所述計(jì)算資源狀態(tài)和網(wǎng)絡(luò)通信狀態(tài),依據(jù)一個(gè)預(yù)設(shè)的動(dòng)態(tài)遷移決策算法,判斷是否需要將一個(gè)邏輯算子從一個(gè)源節(jié)點(diǎn)遷移至一個(gè)目標(biāo)節(jié)點(diǎn);
7、當(dāng)判斷結(jié)果為需要遷移時(shí),執(zhí)行所述邏輯算子的動(dòng)態(tài)遷移過程,將所述邏輯算子連同其狀態(tài)信息從所述源節(jié)點(diǎn)無中斷地遷移至所述目標(biāo)節(jié)點(diǎn),并同步更新與所述邏輯算子相關(guān)的數(shù)據(jù)流路徑。
8、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述將預(yù)設(shè)的數(shù)據(jù)處理或控制邏輯封裝為攜帶狀態(tài)信息且可獨(dú)立遷移的邏輯算子,并在云平臺(tái)與邊緣節(jié)點(diǎn)構(gòu)成的執(zhí)行環(huán)境中部署所述邏輯算子,還包括:
9、為每一個(gè)邏輯算子構(gòu)建一個(gè)多維度的資源畫像,所述資源畫像用于量化并表征所述邏輯算子在不同數(shù)據(jù)處理負(fù)載下對(duì)計(jì)算資源的預(yù)期消耗值。
10、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述實(shí)時(shí)感知,包括:
11、在邊緣節(jié)點(diǎn)的操作系統(tǒng)內(nèi)核層面,通過注入的內(nèi)核探針程序?qū)\(yùn)行于其上的邏輯算子的計(jì)算資源消耗進(jìn)行監(jiān)測(cè)。
12、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述實(shí)時(shí)感知,還包括:
13、通過在節(jié)點(diǎn)間周期性的發(fā)送主動(dòng)探測(cè)包,測(cè)量邊緣節(jié)點(diǎn)與云平臺(tái)之間、以及邊緣節(jié)點(diǎn)之間的網(wǎng)絡(luò)延遲、抖動(dòng)和可用帶寬。
14、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述動(dòng)態(tài)遷移決策算法,包括:
15、基于歷史及當(dāng)前的計(jì)算資源狀態(tài)和網(wǎng)絡(luò)通信狀態(tài),利用時(shí)間序列預(yù)測(cè)模型,生成未來一個(gè)預(yù)設(shè)時(shí)間窗口內(nèi)的系統(tǒng)狀態(tài)預(yù)測(cè)值;
16、根據(jù)所述系統(tǒng)狀態(tài)預(yù)測(cè)值,分別為所述邏輯算子保留在源節(jié)點(diǎn)的當(dāng)前部署方案和將其遷移至目標(biāo)節(jié)點(diǎn)的候選遷移方案,計(jì)算一個(gè)綜合成本。
17、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述綜合成本的計(jì)算方式為:
18、對(duì)所述邏輯算子在指定節(jié)點(diǎn)上產(chǎn)生的預(yù)期執(zhí)行成本、所述邏輯算子之間因跨節(jié)點(diǎn)部署而產(chǎn)生的預(yù)期通信成本、以及所述邏輯算子部署在指定節(jié)點(diǎn)上可能面臨的服務(wù)質(zhì)量風(fēng)險(xiǎn)成本,進(jìn)行預(yù)設(shè)權(quán)重的加權(quán)求和,得到最終的綜合成本。
19、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述判斷是否需要遷移的步驟,包括:
20、計(jì)算所述候選遷移方案相對(duì)于當(dāng)前部署方案的預(yù)期成本節(jié)省量;
21、僅當(dāng)所述預(yù)期成本節(jié)省量大于執(zhí)行遷移操作本身所需的一次性遷移開銷與一個(gè)為維持系統(tǒng)穩(wěn)定性而設(shè)的動(dòng)態(tài)決策閾值之和時(shí),才最終確定執(zhí)行遷移操作。
22、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述動(dòng)態(tài)遷移過程包括以下階段:
23、第一階段,在所述目標(biāo)節(jié)點(diǎn)上預(yù)先創(chuàng)建所述邏輯算子的運(yùn)行實(shí)例,同時(shí)將所述源節(jié)點(diǎn)上邏輯算子的狀態(tài)信息以增量且持續(xù)的方式,同步至所述運(yùn)行實(shí)例;
24、第二階段,在預(yù)設(shè)的同步點(diǎn)短暫掛起源節(jié)點(diǎn)上的邏輯算子,將最終的剩余狀態(tài)信息傳輸至目標(biāo)節(jié)點(diǎn)并激活目標(biāo)節(jié)點(diǎn)上的運(yùn)行實(shí)例;
25、第三階段,將所有指向所述源節(jié)點(diǎn)上邏輯算子的輸入數(shù)據(jù)流,通過協(xié)調(diào)機(jī)制重定向至所述目標(biāo)節(jié)點(diǎn)上已激活的運(yùn)行實(shí)例。
26、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述第一階段,包括:
27、利用操作系統(tǒng)提供的寫時(shí)復(fù)制機(jī)制追蹤所述源節(jié)點(diǎn)上邏輯算子狀態(tài)信息的變更部分,并僅將被修改的狀態(tài)信息部分異步傳輸至所述目標(biāo)節(jié)點(diǎn),以減小同步過程對(duì)源節(jié)點(diǎn)邏輯算子執(zhí)行性能的影響。
28、作為本發(fā)明所述的多協(xié)議設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程邏輯控制方法的一種優(yōu)選方案,其中:所述第三階段采用一種兩階段提交的協(xié)調(diào)機(jī)制,包括:
29、所述機(jī)制首先向所有為該邏輯算子提供數(shù)據(jù)的上游數(shù)據(jù)源發(fā)送準(zhǔn)備切換指令,待收到所有數(shù)據(jù)源的就緒確認(rèn)后,再廣播提交切換指令,以保證所有數(shù)據(jù)源在同一邏輯時(shí)刻同步將數(shù)據(jù)流切換至所述目標(biāo)節(jié)點(diǎn)。
30、與現(xiàn)有技術(shù)相比,方案的有益效果為:
31、1、通過將業(yè)務(wù)邏輯封裝為可遷移的邏輯算子,并基于實(shí)時(shí)感知和未來狀態(tài)預(yù)測(cè)的綜合成本決策,能夠智能的將計(jì)算任務(wù)從資源緊張的節(jié)點(diǎn)遷移至資源充裕的節(jié)點(diǎn),從而實(shí)現(xiàn)全局范圍內(nèi)的負(fù)載均衡,消除性能瓶頸,避免了邊緣節(jié)點(diǎn)在業(yè)務(wù)波谷時(shí)的算力閑置和在業(yè)務(wù)洪峰時(shí)的性能崩潰,提升了硬件資源的整體利用效率。
32、2、當(dāng)邊-云網(wǎng)絡(luò)延遲或抖動(dòng)超出可接受范圍時(shí),對(duì)實(shí)時(shí)性要求高的控制邏輯算子可以被自動(dòng)遷移至靠近設(shè)備的邊緣節(jié)點(diǎn)執(zhí)行,從而擺脫對(duì)不穩(wěn)定廣域網(wǎng)的依賴,確保了毫秒級(jí)的工業(yè)控制指令能夠穩(wěn)定下達(dá),增強(qiáng)了整個(gè)系統(tǒng)的可靠性和對(duì)關(guān)鍵業(yè)務(wù)服務(wù)質(zhì)量的保障能力。
33、3、通過標(biāo)準(zhǔn)化的邏輯算子封裝,將業(yè)務(wù)邏輯與底層硬件解耦,使得邏輯的更新、回滾或部署簡(jiǎn)化為對(duì)邏輯算子包的遠(yuǎn)程、動(dòng)態(tài)調(diào)度,從而無需人工干預(yù),系統(tǒng)即可自動(dòng)完成新舊算子的替換與遷移,實(shí)現(xiàn)了業(yè)務(wù)的快速迭代和彈性伸縮,提升了大規(guī)模分布式云邊系統(tǒng)的運(yùn)維效率和敏捷性。
34、4、通過利用寫時(shí)復(fù)制機(jī)制進(jìn)行高效的增量狀態(tài)同步,以及采用兩階段提交協(xié)議實(shí)現(xiàn)數(shù)據(jù)流的原子化重定向,能夠在邏輯算子遷移過程中將業(yè)務(wù)停頓時(shí)間壓縮至毫秒級(jí),對(duì)上層應(yīng)用近乎透明,確保了在系統(tǒng)進(jìn)行自我優(yōu)化的同時(shí),數(shù)據(jù)采集和控制任務(wù)的連續(xù)性不受影響,解決了動(dòng)態(tài)遷移策略在工業(yè)等高可用場(chǎng)景下落地的技術(shù)難題。