本發(fā)明涉及網絡遠程通信領域,具體來說涉及一種不穩(wěn)定網絡中大數據量遠程采集方法與系統(tǒng)。
背景技術:
隨著工業(yè)生產過程的復雜化和規(guī)?;?,工業(yè)現(xiàn)場設備成倍地增長,設備精密度不斷提高,現(xiàn)場設備產生的數據量也持續(xù)增加,對工業(yè)現(xiàn)場的監(jiān)控和管理提出了更高的要求;而且由于網絡環(huán)境復雜,經常出現(xiàn)時快時慢、時通時斷的不穩(wěn)定狀態(tài),給遠程數據的采集帶來很大的困難。
大型工業(yè)現(xiàn)場中眾多設備的運行狀況對提高生產效率,保障安全程度起著至關重要的作用,但是由于工業(yè)現(xiàn)場環(huán)境往往十分復雜,數據點位眾多且分布不均,每周期內各數據點采集的原始數據量較大,對海量數據分析處理的過程將會十分復雜且耗時,嚴重影響工業(yè)現(xiàn)場遠程監(jiān)控管理的實時性;而且要想實現(xiàn)工業(yè)現(xiàn)場設備狀態(tài)數據的遠程采集,海量的原始數據需要經過復雜的網絡環(huán)境到達遠程服務器數據庫,由于遠程傳輸中的網絡環(huán)境十分不穩(wěn)定,呈現(xiàn)時快時慢、時通時斷的狀態(tài),甚至會出現(xiàn)掉線、延遲等異常情況,對數據采集系統(tǒng)的穩(wěn)定性和實時性產生很大的影響;而且由于網絡的不穩(wěn)定,數據在傳輸過程中難免會出現(xiàn)丟失或時序錯亂等現(xiàn)象,使得采集到的數據不能保證其完備性,讓遠程管理人員無法及時了解工業(yè)現(xiàn)場的真實狀況。
技術實現(xiàn)要素:
針對大數據量遠程采集在不穩(wěn)定網絡中遇到的問題,本發(fā)明公開一種不穩(wěn)定網絡中大數據量的遠程采集方法和系統(tǒng)。本發(fā)明的目的在于克服不穩(wěn)定網絡環(huán)境帶來的影響,提供一種數據采集方法和系統(tǒng)來完成工業(yè)現(xiàn)場大數據量的遠程采集,能夠適應復雜的工業(yè)現(xiàn)場環(huán)境變化,而且能夠保證在數據完備性的基礎上,滿足遠程監(jiān)控的實時性。本發(fā)明提出的不穩(wěn)定網絡中大數據量的遠程采集方法和系統(tǒng)能夠適用于港口碼頭、裝備制造等多種工業(yè)現(xiàn)場環(huán)境,能夠有效解決時快時慢、時通時斷等不穩(wěn)定網絡中的大數據量遠程采集問題。
本發(fā)明的目的是這樣實現(xiàn)的。
本發(fā)明提供了一種不穩(wěn)定網絡中大數據量遠程數據采集系統(tǒng),包括數據采集模塊、通信網絡模塊和數據處理模塊,所述數據采集模塊用于采集工業(yè)現(xiàn)場設備所產生的狀態(tài)數據,由工業(yè)現(xiàn)場設備、數據采集裝置和本地監(jiān)控系統(tǒng)三部分組成,所述本地監(jiān)控系統(tǒng)用于數據采集端運行狀態(tài)和設備狀態(tài)的監(jiān)測以及本地數據的管理;所述通信網絡模塊采用異構的廣域網作為通信網絡,可將采集到的狀態(tài)數據轉化成在網絡上傳輸的結構化數據或字符串數據傳遞給數據處理模塊;所述數據處理模塊對接收到的結構化數據或字符串數據進行解析處理,并保存在服務器數據庫中。所述結構化數據的結構由點位編號、數據的值、數據質量和時間戳組成,所述字符串數據僅由數據的值組成。
本發(fā)明還提供了一種不穩(wěn)定網絡中大數據量遠程數據采集方法,主要包括工業(yè)現(xiàn)場數據采集步驟,不穩(wěn)定網絡中數據遠程傳輸步驟、批量結構化數據發(fā)送、接收、處理與存儲步驟,具體的實現(xiàn)步驟為:
工業(yè)現(xiàn)場數據采集步驟S1:所述數據采集模塊采按照采樣周期采集工業(yè)現(xiàn)場設備的狀態(tài)數據,并將采集到的數據導入到發(fā)送隊列中。所述不穩(wěn)定網絡中大數據量遠程數據采集方法按照不同的業(yè)務需求進行變量配置,其中根據網絡狀態(tài)、點位數量、設備特性等因素自適應調整單次發(fā)送數據量和發(fā)送周期。自適應規(guī)則為:網絡狀態(tài)好、點位數量少,則單次發(fā)送數量大,發(fā)送周期應短;反之,發(fā)送周期應長,單次發(fā)送數據量應適中。采集變量配置包括并不限于:數據點位為133、采集周期為100毫秒、單次發(fā)送數據量為500條、ping值為70毫秒、發(fā)送周期為30秒、網絡狀態(tài)檢測周期為1秒;數據點位為173、采集周期為100毫秒、單次發(fā)送數據量為500條、ping值為870毫秒、發(fā)送周期為30秒、網絡狀態(tài)檢測周期為1秒;數據點位為550、采集周期為100毫秒、單次發(fā)送數據量為20000條、ping值為500毫秒、發(fā)送周期為60秒、網絡狀態(tài)檢測周期為1秒。
不穩(wěn)定網絡數據遠程傳輸步驟S2:所述通信網絡模塊按照發(fā)送周期判斷發(fā)送隊列長度,若發(fā)送隊列超出自定義長度,則將采集到的數據暫存到本地數據庫,其中自定義長度與單次發(fā)送數據量相同,包括并不限于:20000條;反之,仍將采集到的數據加入到發(fā)送隊列中。
隊列處理步驟S3:按照先進先出原則讓發(fā)送隊列出隊列,形成結構化數據,并加上客戶端標識;如果是本地數據庫暫存數據,則先進入發(fā)送隊列;按照發(fā)送周期調用遠程服務器的批量接收服務,服務器端為了保證以最快的速度接受大數據量的結構化數據,設置接收隊列,接收到的結構化數據以客戶端為單位進入隊列;同時,將本次發(fā)送的數據備份保存在臨時隊列中。
數據完整性判斷步驟S4:客戶端獲得發(fā)送反饋后,判斷是否發(fā)送成功,若發(fā)送成功,則清空臨時隊列中的數據;若發(fā)送失敗,即數據不完整,則啟動重發(fā)機制將臨時隊列中的數據重新加入到發(fā)送隊列中再次發(fā)送。
批量結構化數據發(fā)送、接收、處理與存儲步驟S5:所述數據處理模塊采用批量數據接收、處理與存儲方法令接收隊列按照數據處理周期對數據進行處理,首先從接收隊列中按先進先出原則對數據進行重新組合、打包,在批量導入數據之前,判斷單個數據點位值是否滿足預警或者報警條件,如果滿足則記錄到數據庫中。
同時為了滿足遠程監(jiān)控的實時性,本發(fā)明提供的不穩(wěn)定網絡中大數據量遠程數據采集方法還包括實時更新數據方法,具體步驟如下:
S1:所述數據采集模塊根據待監(jiān)控設備的特征自定義協(xié)議格式將工業(yè)現(xiàn)場采集的數據生成狀態(tài)字符串。
S2:所述通信網絡模塊按照網絡狀態(tài)檢測周期判斷網絡狀態(tài),若網絡通信正常,則調用遠程服務器的實時更新服務將生成的狀態(tài)字符串導入到遠程服務器中。
S3:所述數據處理模塊按照數據處理周期根據自定義協(xié)議解析字符串,并將解析完的數據自動更新到服務器數據庫中。
本發(fā)明所述的發(fā)送隊列、臨時隊列和接收隊列均采用先進先出的隊列方式。所述的批量接收服務接收的是結構化數據,所述的實時更新服務接收的是字符串數據。在數據采集、發(fā)送以及服務器端接收、處理等環(huán)節(jié)皆采用多線程機制,主要包括主線程、實時更新線程、心跳檢測線程、隊列數據發(fā)送線程和本地數據發(fā)送線程五個線程。
本發(fā)明相比現(xiàn)有技術有如下優(yōu)點:
在不穩(wěn)定網絡中,經常會出現(xiàn)時快時慢、時通時斷的狀態(tài),當網速較慢時,本發(fā)明采用一種先進先出的隊列方法能夠對在工業(yè)現(xiàn)場采集到的數據起到緩存的作用,能夠解決當工業(yè)現(xiàn)場數據點位多且增長速度快導致系統(tǒng)資源消耗過快的問題;同時該方法能夠使數據能夠靈活調整發(fā)送周期,從而保證系統(tǒng)在不穩(wěn)定網絡中保持數據傳輸平穩(wěn)。當網絡環(huán)境發(fā)生波動或者工業(yè)現(xiàn)場工況差異較大,系統(tǒng)能夠綜合現(xiàn)場工況、網絡帶寬、數據點位等因素自動適應不同的現(xiàn)場環(huán)境,無需增加新的工作量,而且該方法能夠找到最適合當前現(xiàn)場環(huán)境的變量配置,極大地提高了數據采集系統(tǒng)的效率。
附圖說明
圖1是本發(fā)明的系統(tǒng)架構圖;
圖2是本發(fā)明的工作流程圖;
圖3是本發(fā)明的系統(tǒng)線程圖;
圖4是本發(fā)明的系統(tǒng)服務調用圖;
圖5是本發(fā)明的系統(tǒng)功能圖。
具體實施方式
下面結合附圖舉例對本發(fā)明做更詳細地描述:
結合圖1,說明了一種不穩(wěn)定網絡中大數據量遠程采集系統(tǒng)的系統(tǒng)架構,主要包括現(xiàn)場數據采集模塊、通信網絡模塊和數據處理模塊。所述數據采集模塊主要用于工業(yè)現(xiàn)場設備狀態(tài)數據的采集,包括工業(yè)現(xiàn)場設備、數據采集裝置和本地監(jiān)控系統(tǒng)(Local Monitoring System,LMS),其中LMS具有數據點位狀態(tài)顯示、采集端運行狀態(tài)、設備狀態(tài)、查看本地數據、清空本地數據和日志記錄六種功能;由于廣域網具有明顯的時快時慢、時通時斷的不穩(wěn)定網絡特征,因此所述的通信網絡模塊主要是指異構的廣域網;所述數據處理模塊最基本的應用為海量數據倉庫,在此基礎上可開發(fā)出行業(yè)服務平臺和移動平臺,并能夠為決策支持和中控調度提供大數據參考。
結合圖2,說明了本發(fā)明的工作流程,本發(fā)明所述不穩(wěn)定網絡中大數據量遠程采集系統(tǒng)在工作時,首先按照采樣周期采集工業(yè)現(xiàn)場設備的狀態(tài)數據,并將采集到的數據導入到發(fā)送隊列中。
按照發(fā)送周期判斷發(fā)送隊列長度,若發(fā)送隊列超出自定義長度,則將采集到的數據暫存到本地數據庫;反之,仍將采集到的數據加入到發(fā)送隊列中。按照先進先出原則讓發(fā)送隊列出隊列,形成結構化數據,并加上客戶端標識;如果是本地數據庫暫存數據,則先進入發(fā)送隊列;按照發(fā)送周期調用遠程服務器的批量接收服務,服務器端為了保證以最快的速度接收大數據量的結構化數據,設置接收隊列,接收到的結構化數據以客戶端為單位進入隊列;同時,將本次發(fā)送的數據備份保存在臨時隊列中。客戶端獲得發(fā)送反饋后,判斷是否發(fā)送成功,若發(fā)送成功,則清空臨時隊列中的數據;若發(fā)送失敗,即數據不完整,則啟動重發(fā)機制將臨時隊列中的數據重新加入到發(fā)送隊列中再次發(fā)送。
然后可令接收隊列按照數據處理周期對數據進行處理,首先從接收隊列中按先進先出原則對數據進行重新組合、打包,在批量導入數據之前,判斷單個數據點位值是否滿足預警或者報警條件,如果滿足則記錄到數據庫中。
同時為保證數據采集系統(tǒng)的實時性,根據待監(jiān)控設備的特征自定義協(xié)議格式將工業(yè)現(xiàn)場采集的數據生成狀態(tài)字符串,按照網絡狀態(tài)檢測周期判斷網絡狀態(tài),若網絡通信正常,則調用遠程服務器的實時更新服務將生成的狀態(tài)字符串發(fā)送到遠程服務器中。然后按照數據處理周期根據自定義協(xié)議解析字符串,并將解析完的數據自動更新到數據庫中。
結合圖3,說明了本發(fā)明的系統(tǒng)線程,具體包括主線程、實時更新線程、心跳檢測線程、隊列數據發(fā)送線程和本地數據發(fā)送線程。所述主線程用于采集現(xiàn)場設備運行狀態(tài)數據,并將采集到的數據導入到發(fā)送隊列中;所述的隊列數據發(fā)送線程首先周期性判斷發(fā)送隊列長度,若發(fā)送隊列超出自定義長度,則將數據暫存到本地數據庫中,同時按發(fā)送周期調用服務器的批量接收服務將發(fā)送隊列中的數據遠程發(fā)送,若服務器返回“成功”結果,則完成隊列數據發(fā)送事務;所述的本地數據發(fā)送線程同樣按發(fā)送周期調用服務器的批量接收服務將本地數據庫中的數據遠程發(fā)送,若服務器返回“成功”結果,則完成本地數據發(fā)送事務;所述的實時更新服務根據待監(jiān)控設備的特征自定義協(xié)議格式將現(xiàn)場狀態(tài)數據生成字符串并實時保存;所述的心跳檢測線程按照網絡狀態(tài)檢測周期檢測網絡狀態(tài),若網絡通信正常,則調用服務器的實時更新服務發(fā)送狀態(tài)字符串到服務器。
結合圖4,說明了本發(fā)明所調用的兩種服務,分別為批量接收服務和實時更新服務。系統(tǒng)在客戶端采集工業(yè)現(xiàn)場設備的速度、重量和高度等狀態(tài)數據,通過通信網絡模塊調用服務器端的兩種服務來接收數據,在服務器端對數據進行處理分析,并將其更新到服務器數據庫中。其中批量接收服務接收的是結構化數據,并根據接收到的數據完備情況返回判斷結果,若數據完備,則返回“成功”結果,并接收數據到接收隊列中對其進行處理,將處理完的數據批量導入到服務器數據庫中;反之則返回“失敗”結果,并啟動重發(fā)機制。而實時更新服務接收的是字符串數據,客戶端根據待監(jiān)控設備的特征自定義協(xié)議格式將設備的速度、重量和高度等狀態(tài)數據生成狀態(tài)字符串,服務器端根據自定義協(xié)議解析字符串,并實時更新到服務器數據庫中。
結合圖5,說明了本發(fā)明的系統(tǒng)功能,可以分為服務器端功能和客戶端功能。其中服務器端的功能有設備狀態(tài)顯示、啟動服務、停止服務、服務器狀態(tài)顯示和日志記錄五種功能,其中設備狀態(tài)顯示有在線和離線兩種功能。而客戶端的功能則有數據點位狀態(tài)顯示、采集端運行狀態(tài)、設備狀態(tài)、查看本地數據、清空本地數據和日志記錄六種功能,其中采集端運行狀態(tài)包括顯示、網絡狀態(tài)、發(fā)送隊列長度、本地隊列長度、連接服務器和斷開服務器六種功能,網絡狀態(tài)則有正常和異常兩種功能;另外設備狀態(tài)又包括顯示、設備連接狀態(tài)和連接開始時間三種功能,設備連接狀態(tài)則有連接和斷開兩種功能。
本發(fā)明為設計在不穩(wěn)定網絡中大數據量遠程采集系統(tǒng)提供了一個很好的解決方案,該系統(tǒng)可以在時快時慢、時通時斷的不穩(wěn)定網絡中,實時地遠程采集工業(yè)現(xiàn)場設備的狀態(tài)數據,能夠保證數據的完備性并能夠對現(xiàn)場的大數據量作快速地分析處理,能夠適應多種不同的工業(yè)現(xiàn)場環(huán)境,滿足遠程監(jiān)控的要求。同時該數據采集系統(tǒng)存儲的海量數據能夠作為決策支持和中控調度的參考,并能夠應用到移動平臺和行業(yè)服務平臺的開發(fā)中,對工業(yè)級互聯(lián)網現(xiàn)場應用具有重要的推廣價值。