楊 越,余 濤,過立松,陸劍峰,3,白 歐,胡覺成
(1.同濟大學(xué)電子與信息工程學(xué)院CIMS研究中心,上海 201804;2.智能云科信息科技有限公司,上海 200082;3.企業(yè)數(shù)字化技術(shù)教育部工程研究中心,上海 201804)
2016年,針對我國工業(yè)互聯(lián)網(wǎng)技術(shù)的迫切發(fā)展需求,工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟(alliance of industrial Internet,AII)在參考美國工業(yè)互聯(lián)網(wǎng)參考架構(gòu)(industrial Internet reference architecture,IIRA)、德國工業(yè)4.0參考架構(gòu)模型(reference architecture model industry 4.0,RAMI4.0)以及日本工業(yè)價值鏈參考架構(gòu)(industrial value reference architecture,IVRA)的基礎(chǔ)上,提出了以網(wǎng)絡(luò)、數(shù)據(jù)和安全為主要功能體系的工業(yè)互聯(lián)網(wǎng)體系架構(gòu)1.0。2019年,為了更好地進(jìn)行體系化的設(shè)計、新技術(shù)的融合以及實施的可行性,AII在體系架構(gòu)1.0的基礎(chǔ)上結(jié)合新一代信息技術(shù)進(jìn)行設(shè)計,推出了工業(yè)互聯(lián)網(wǎng)體系架構(gòu)2.0[1]。在新的體系架構(gòu)中,工業(yè)互聯(lián)網(wǎng)作為全新工業(yè)生態(tài)、關(guān)鍵基礎(chǔ)設(shè)施和新型應(yīng)用模式,通過人、機、物的全面互聯(lián),實現(xiàn)全要素、全產(chǎn)業(yè)鏈、全價值鏈的全面連接,不僅成為推動實體經(jīng)濟數(shù)字化轉(zhuǎn)型的關(guān)鍵支柱,還是實現(xiàn)第四次工業(yè)革命的重要基石[2]。
數(shù)據(jù)是工業(yè)互聯(lián)網(wǎng)的核心。在工業(yè)制造過程中,機床監(jiān)控、刀具數(shù)據(jù)分析、機器學(xué)習(xí)等都需要大量的數(shù)據(jù)。這些數(shù)據(jù)來源包含分布式傳感器、設(shè)備控制器、企業(yè)制造系統(tǒng)等[3]?;趯@些數(shù)據(jù)的分析,能夠監(jiān)控設(shè)備的工作狀態(tài)。例如,以工業(yè)互聯(lián)網(wǎng)為平臺,通過對大量機床數(shù)據(jù)的采集、匯總、分析,開發(fā)了以機床性能檢測為結(jié)果的工業(yè)APP,從而實現(xiàn)對工業(yè)設(shè)備的監(jiān)控[4]。
而如何實現(xiàn)對機床數(shù)據(jù)的高效采集,是完成機床大數(shù)據(jù)、工作狀態(tài)監(jiān)控的首要條件。因此,工業(yè)界對機床數(shù)據(jù)十分重視,而相關(guān)數(shù)據(jù)采集方法也層出不窮[5-7]。但到目前為止,眾多方法都沒有同時兼顧機床工作高頻的要求,以及通過工業(yè)互聯(lián)網(wǎng)平臺將采集的數(shù)據(jù)進(jìn)行高效共享。因此,本文提出一種基于邊云協(xié)同的數(shù)控機床高頻數(shù)據(jù)采集應(yīng)用的方法。邊緣設(shè)備與網(wǎng)絡(luò)云平臺協(xié)同運行,既能充分利用邊緣計算的數(shù)據(jù)采集和局部數(shù)據(jù)處理能力。又能利用云平臺的大數(shù)據(jù)處理和數(shù)據(jù)共享能力。兩者協(xié)同運行能有效利用接入網(wǎng)絡(luò)的帶寬,實現(xiàn)高頻數(shù)據(jù)的傳輸和下載。同時,運用數(shù)控程序?qū)Σ杉鹗紬l件進(jìn)行靈活定義,能使邊緣設(shè)備進(jìn)行機床數(shù)據(jù)采集的內(nèi)容和時間可控,從而滿足不同的需求。
在當(dāng)今萬物互聯(lián)的背景下,物聯(lián)網(wǎng)所產(chǎn)生的數(shù)據(jù)中有45%都將在網(wǎng)絡(luò)邊緣處理。由于云計算具有實時性不足、帶寬不足、能耗大、不利于數(shù)據(jù)隱私等缺陷,這類集中式處理數(shù)據(jù)的模式不能高效處理邊緣側(cè)的數(shù)據(jù)。為解決上述問題,面向海量邊緣設(shè)備數(shù)據(jù)計算的邊緣計算模型被廣泛應(yīng)用。這些邊緣計算模型在網(wǎng)絡(luò)邊緣處理大量臨時數(shù)據(jù),不需要再上傳云端處理,也不需要請求中心云端的響應(yīng),極大地減小了網(wǎng)絡(luò)帶寬的壓力,縮短了系統(tǒng)延遲,有利于更好的服務(wù)。同時,用戶隱私不再上傳,而是儲存在邊緣設(shè)備中,在一定程度上保護(hù)了用戶數(shù)據(jù)安全[8]。
狹義上,邊緣設(shè)備是指向企業(yè)或服務(wù)供應(yīng)商提供核心網(wǎng)絡(luò)入口點的設(shè)備;廣義上,邊緣設(shè)備是指從數(shù)據(jù)源到云中心之間的所有資源,其操作對象包括云服務(wù)的下行數(shù)據(jù)及萬物互聯(lián)服務(wù)的上行數(shù)據(jù)[9]。邊緣設(shè)備集邊緣計算的數(shù)據(jù)、數(shù)據(jù)處理和應(yīng)用程序于一體,并安裝在邊緣網(wǎng)絡(luò)中。邊緣設(shè)備包含邊緣網(wǎng)絡(luò)上的交換機、路由器、路由交換機、局域網(wǎng)(local area network,LAN)以及各種城域網(wǎng)(metropolitan area network,MAN)、廣域網(wǎng)(wide area network,WAN)設(shè)備。
邊緣計算及邊緣設(shè)備的發(fā)展得益于網(wǎng)絡(luò)、隔離技術(shù)、邊緣操作系統(tǒng)、數(shù)據(jù)處理平臺、數(shù)據(jù)安全和隱私等技術(shù)的綜合發(fā)展。鑒于此,一系列以邊緣計算進(jìn)行的數(shù)據(jù)采集得以應(yīng)用在各領(lǐng)域,包括智慧交通、智能家居、電子醫(yī)療、智能工廠[10]等。
內(nèi)存數(shù)據(jù)庫是一種實時數(shù)據(jù)庫,可將數(shù)據(jù)直接放在內(nèi)存中進(jìn)行操作。相比于傳統(tǒng)的磁盤數(shù)據(jù)庫,內(nèi)存數(shù)據(jù)庫的讀取存儲速度顯著提高。這是由于存儲媒介的不同。內(nèi)存數(shù)據(jù)庫在索引結(jié)構(gòu)、存儲管理、并發(fā)控制等技術(shù)方面有很大改進(jìn)[11]。目前,常用的內(nèi)存數(shù)據(jù)庫有SQList、eXtremeDB、Oracle TimesTen、Redis、Memcached等,具有成熟、易擴展、安全、穩(wěn)定、支持多種兼容、易開發(fā)等優(yōu)勢。
Redis是邊緣設(shè)備內(nèi)存數(shù)據(jù)庫存儲的一種常見方案。它是一個Key-Value存儲系統(tǒng),支持的存儲類型包括字符串、鏈表、集合、順序集合和哈希等。為保證效率,Redis將數(shù)據(jù)緩存在內(nèi)存中。此外,Redis會周期性地把更新的數(shù)據(jù)寫入磁盤,或者把修改操作寫入追加的記錄文件,在此基礎(chǔ)上實現(xiàn)了主從同步。邊緣設(shè)備臨時存儲將存儲的數(shù)據(jù)從遠(yuǎn)距離的云端遷移到邊緣設(shè)備或邊緣數(shù)據(jù)中心就近存儲,具有更低的網(wǎng)絡(luò)交互延遲、帶寬要求和通信成本,具備更高的自適應(yīng)力。邊緣存儲為邊緣計算提供實時、可靠的數(shù)據(jù)存儲和訪問。文獻(xiàn)[12]提供了邊緣存儲層次結(jié)構(gòu),其由邊緣設(shè)備、邊緣數(shù)據(jù)中心和分布式數(shù)據(jù)中心三部分組成。頂層為分布式數(shù)據(jù)中心,與云中心共同執(zhí)行數(shù)據(jù)存儲任務(wù);中間為邊緣數(shù)據(jù)中心,部署在人流量大或蜂窩基站處,提供TB級存儲服務(wù);底層由邊緣設(shè)備組成,將輸出采集后存入網(wǎng)絡(luò)。因此,邊緣存儲具備地理分布式、存儲設(shè)備異構(gòu)性、支持存儲架構(gòu)內(nèi)部部署等優(yōu)勢。
邊云協(xié)同是邊緣計算與云計算相結(jié)合的新的協(xié)同發(fā)展方向。邊緣計算在靠近物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),構(gòu)建融合網(wǎng)絡(luò)、計算、存儲、應(yīng)用核心能力的分布式開放體系,提供了設(shè)備之間互聯(lián)互通的機制,促進(jìn)了新的生態(tài)模式。同時,邊緣計算能夠進(jìn)行業(yè)務(wù)數(shù)據(jù)本地處理,對數(shù)據(jù)進(jìn)行實時反饋,支持計算、存儲資源的彈性擴展、實施決策和優(yōu)化[13]。云計算能夠?qū)⒎稚⒌挠嬎銠C上的計算和存儲通過數(shù)據(jù)中心進(jìn)行集中的數(shù)據(jù)處理。其本質(zhì)上延續(xù)了大型主機的集中式處理特點[14]。邊云協(xié)同下,邊緣端靠近數(shù)據(jù)源,提供就近端服務(wù),為云端傳輸高價值數(shù)據(jù);云端為邊緣端提供數(shù)據(jù)持久化存儲,為邊緣端復(fù)雜計算的應(yīng)用提供資源[15]。
在物聯(lián)網(wǎng)行業(yè),文獻(xiàn)[16]提出了一種面向物聯(lián)網(wǎng)的邊云協(xié)同實體搜索方法。結(jié)合云計算與邊緣計算各自的優(yōu)勢,通過實體識別算法完成實體識別搜索和實體識別分類,構(gòu)建邊云協(xié)同實體搜索系統(tǒng)架構(gòu),從而提高物聯(lián)網(wǎng)的實體搜索速度。文獻(xiàn)[17]提出了一種應(yīng)用于配電物聯(lián)網(wǎng)的邊緣計算標(biāo)準(zhǔn)架構(gòu),以及基于數(shù)據(jù)中心的邊云機制,解決了配電物聯(lián)網(wǎng)海量數(shù)據(jù)采集、傳輸、計算給通信信道及主站存儲計算系統(tǒng)帶來的巨大壓力。
為了解決機床工作時高頻數(shù)據(jù)采集會出現(xiàn)超過接入網(wǎng)絡(luò)帶寬的問題,在充分考慮工業(yè)互聯(lián)網(wǎng)、邊緣計算等新興IT技術(shù)的基礎(chǔ)上,本文提出了一種面向車間數(shù)控設(shè)備數(shù)據(jù)采集的總體架構(gòu)。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Schematic diagram of system structure
如圖1所示,整個系統(tǒng)由云平臺、邊緣設(shè)備和數(shù)控機床(采集對象)組成。其中,云平臺負(fù)責(zé)進(jìn)行數(shù)據(jù)的深度處理和共享,有應(yīng)用層、數(shù)據(jù)處理和管理層以及接入層這三層結(jié)構(gòu),包含業(yè)務(wù)管理模塊、數(shù)據(jù)采集管理模塊、通信模塊、機床數(shù)據(jù)處理模塊、用戶管理模塊、機床數(shù)據(jù)庫和內(nèi)容分發(fā)網(wǎng)絡(luò)(content delivery network,CDN)云存儲模塊等。其中,CDN云存儲模塊結(jié)合了CDN技術(shù)。CDN是構(gòu)建在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過中心云平臺的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問響應(yīng)速度和命中率。高頻率采集后形成的數(shù)據(jù)文件通過CDN網(wǎng)絡(luò)傳輸,可以提高數(shù)據(jù)傳輸效率。邊緣設(shè)備負(fù)責(zé)數(shù)據(jù)的采集和臨時存儲,包括:①云平臺通信接口,負(fù)責(zé)和工業(yè)云平臺進(jìn)行通信,形成高頻數(shù)據(jù)傳輸通道;②數(shù)據(jù)采集模塊,負(fù)責(zé)采集對象的數(shù)據(jù)采集;③本地數(shù)據(jù)處理模塊,負(fù)責(zé)數(shù)據(jù)的打包壓縮,并根據(jù)業(yè)務(wù)需要進(jìn)行本地處理;④本地數(shù)據(jù)庫(Redis內(nèi)存數(shù)據(jù)庫),負(fù)責(zé)數(shù)據(jù)的臨時存儲。采集對象一般為帶有不同數(shù)控系統(tǒng)的數(shù)控機床,包含通信接口和內(nèi)存模塊等。數(shù)控機床的狀態(tài)通過內(nèi)存模塊中某個地址的變量值表示,可以通過通信接口被邊緣設(shè)備讀取。
邊緣數(shù)據(jù)采集主要由邊緣設(shè)備完成。
第一步,邊緣設(shè)備的云平臺通信接口接收云平臺的數(shù)據(jù)采集定義文件。文件中包括采集對象、采集內(nèi)容、采集頻率和采集起止條件。
第二步,數(shù)據(jù)采集模塊根據(jù)數(shù)據(jù)采集定義文件中的采集規(guī)則采集所設(shè)對象的數(shù)據(jù),具體包括以下步驟。①根據(jù)采集起止條件,跟蹤采集對象的狀態(tài)變化。如果采集對象的狀態(tài)符合開始采集條件,則開始數(shù)據(jù)采集;如果采集對象的狀態(tài)符合停止采集條件,則停止數(shù)據(jù)采集。②數(shù)據(jù)采集模塊通過通信模塊獲取采集對象的相關(guān)數(shù)據(jù)內(nèi)容,同時,這個數(shù)據(jù)連同數(shù)據(jù)采集時間(如時間戳)被一起記錄,存入Redis內(nèi)存數(shù)據(jù)庫。Redis內(nèi)存數(shù)據(jù)庫具備快速臨時存儲的能力。它將大量數(shù)據(jù)進(jìn)行臨時存儲,等待本地數(shù)據(jù)處理模塊處理。③本地數(shù)據(jù)處理模塊在數(shù)據(jù)采集模塊采集數(shù)據(jù)的同時進(jìn)行數(shù)據(jù)處理,或者在數(shù)據(jù)采集模塊采集結(jié)束后進(jìn)行數(shù)據(jù)處理。
第三步,壓縮模塊將采集的數(shù)據(jù)壓縮成高頻數(shù)據(jù)文件。最后,云平臺通信接口將壓縮的高頻數(shù)據(jù)文件傳輸至工業(yè)云平臺的CDN云存儲模塊。
數(shù)控設(shè)備的數(shù)據(jù)采集,往往和數(shù)控程序的執(zhí)行有密切關(guān)系。如果用戶想對數(shù)控機床動作的某個過程、某個內(nèi)容或某段時間進(jìn)行數(shù)據(jù)采集,就需要一種靈活的數(shù)據(jù)采集起止的定義方法。本文采用一種結(jié)合了數(shù)控程序指令來自由定義數(shù)據(jù)采集起止條件的方法,可以進(jìn)行多個條件定義。其數(shù)控程序過程如下。
①程序開始。
②無需數(shù)據(jù)采集的程序段,可以是一行或多行數(shù)控程序。
③數(shù)據(jù)采集開始標(biāo)志字。
④需要進(jìn)行采集的程序段,可以是一行或多行數(shù)控程序。
⑤暫停采集開始標(biāo)志字,根據(jù)需要,可以不包括暫停采集標(biāo)志字。
⑥不需要采集的普通程序段,可以是一行或多行數(shù)控程序。
⑦恢復(fù)采集標(biāo)志字。
⑧需要進(jìn)行采集的程序段,可以是一行或多行數(shù)控程序。
⑨根據(jù)需要,插入步驟⑤~步驟⑦,暫停采集。
⑩采集結(jié)束標(biāo)志字。
利用數(shù)據(jù)采集開始標(biāo)志字、采集結(jié)束標(biāo)志字、暫停采集標(biāo)志字和恢復(fù)采集標(biāo)志字,可以明確需要進(jìn)行數(shù)據(jù)采集的區(qū)間。標(biāo)志字是針對不同數(shù)控系統(tǒng)進(jìn)行明確約定的某個字符串。使用該方法可以實現(xiàn)自由定義采集條件,適用于各種業(yè)務(wù)需求。
高頻數(shù)據(jù)采集流程如圖2所示。
圖2 高頻數(shù)據(jù)采集流程圖Fig.2 Flowchart of high-frequency data acquisition
首先,根據(jù)數(shù)據(jù)采集定義文件中的采集規(guī)則進(jìn)行數(shù)據(jù)采集,即當(dāng)數(shù)控程序檢測到采集開始標(biāo)志字時開始采集數(shù)據(jù),檢測到采集結(jié)束標(biāo)志字時結(jié)束采集。采集后形成數(shù)據(jù)文件,存放在邊緣設(shè)備Redis內(nèi)存數(shù)據(jù)庫中。采集過程中可以通過暫停采集標(biāo)志字暫停采集、通過恢復(fù)采集標(biāo)志字恢復(fù)采集,以此選擇需要采集的內(nèi)容。接著,當(dāng)數(shù)據(jù)文件達(dá)到設(shè)定的上傳條件或者采集已經(jīng)結(jié)束,通過邊緣設(shè)備的本地數(shù)據(jù)處理模塊將采集的數(shù)據(jù)壓縮,存放在邊緣設(shè)備中;否則,繼續(xù)采集數(shù)據(jù)。最后,將壓縮的數(shù)據(jù)文件,通過云平臺通信接口與工業(yè)云平臺的 CDN云存儲模塊,高效傳輸和存儲數(shù)據(jù)文件,采集完成。
結(jié)合以上邊云協(xié)同技術(shù)以及所提出的系統(tǒng)方案,在面向?qū)嶋H數(shù)控系統(tǒng)業(yè)務(wù)場景(如數(shù)據(jù)采集、云端數(shù)據(jù)接收、數(shù)據(jù)運算處理等)中得到了應(yīng)用。以智能云科公司的iSESOL BOX網(wǎng)關(guān)、iSESOL云平臺以及典型應(yīng)用加工過程監(jiān)控為例,“云-邊-端”高頻數(shù)據(jù)采集方法如圖3所示。
圖3 “云-邊-端”高頻數(shù)據(jù)采集方法Fig.3 “Cloud-edge -terminal” high-frequency data acquisition method
加工過程監(jiān)控應(yīng)用主要對加工過程中的實時數(shù)據(jù)進(jìn)行高頻采集并記錄,用于加工質(zhì)量一致性分析、加工過程監(jiān)控等場景。加工過程監(jiān)控應(yīng)用采集的參數(shù)主要包括機床主軸負(fù)載、面板倍率、實際倍率、加工刀具數(shù)據(jù)以及對應(yīng)時間戳等。在實際加工過程中,在iSESOL BOX端安裝加工過程監(jiān)控APP后,邊緣側(cè)按照設(shè)定的采集參數(shù)和頻率進(jìn)行數(shù)控機床的數(shù)據(jù)采集,采集的數(shù)據(jù)緩存到邊云設(shè)備側(cè),以數(shù)據(jù)文件格式存儲;加工結(jié)束后,對數(shù)據(jù)文件進(jìn)行壓縮,上傳至iSESOL平臺對應(yīng)的CDN云存儲。iSESOL平臺對相應(yīng)的加工過程數(shù)據(jù)進(jìn)行數(shù)據(jù)處理以及可視化展示。通過該應(yīng)用,工廠用戶可以實時監(jiān)控設(shè)備加工運行過程,并通過加工原始數(shù)據(jù)下載,進(jìn)行線下數(shù)據(jù)分析處理。同樣的采集方法可以應(yīng)用在圍繞振動、噪音、電流等維度的數(shù)據(jù)采集場景。
隨著大數(shù)據(jù)、深度學(xué)習(xí)的不斷發(fā)展,對數(shù)據(jù)采集的需求越來越高,在工業(yè)領(lǐng)域尤其明顯。針對數(shù)控設(shè)備的數(shù)據(jù)采集,本文提出了適用于高頻數(shù)據(jù)采集的方法。該方法通過邊緣設(shè)備與云端的結(jié)合,可以有效完成大量的數(shù)據(jù)采集、處理和傳輸,契合當(dāng)下發(fā)展的需要。實例證明,該方法不僅能夠在工業(yè)數(shù)控機床數(shù)據(jù)采集方面得以應(yīng)用,還具有高效、可靠、靈活等優(yōu)勢,能滿足各種業(yè)務(wù)需求。