專利名稱:一種數據封裝方法、系統、適配器及物聯網中間件的制作方法
技術領域:
本發明涉及物聯網技術領域,更具體地,特別是涉及一種數據封裝方法、系統、適配器及物聯網中間件。
背景技術:
物聯網是一種通過射頻識別、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按照約定的協議,將任何物品的信息數據通過互聯網發送,以實現對物品的智能化識別、定位、跟蹤、監控和管理的一種網絡。在物聯網上部署了海量的多種類型傳感器,由傳感器獲取物品的信息數據,將物品信息數據通過互聯網實時準確地發送。由于傳感器采集的每個物品信息數據都需要通過網絡發送,所以在發送過程中,為了保障數據的正確性和及時性,必須適應各種異構網絡和協議。但是,物聯網并未給出統一有效的數據傳輸格式,因此,目前不同廠商生產的傳感器具有不同的數據標準模式。而物聯網在實際應用過程中需要選取不同廠商提供的傳感器,因此存在數據采集接口不統一,數據模式多樣性的現狀。進一步,在物聯網中需要針對任一種數據開發相應的軟件模塊,從而導致軟件開發周期長、難度大和可移植性低。
發明內容
有鑒于此,本發明實施例公開一種數據封裝方法,以解決現有技術中由于軟件模式多樣性導致的軟件開發周期長、難度大和可移植性低的問題。本發明實施例還公開一種數據封裝系統、適配器和物聯網中間件,用以保證上述方法在實際中的實現及應用。基于本發明實施例的一方面,公開一種數據封裝方法,包括在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節,根據ascii碼映射;將根據ascii碼映射的數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle 事件流;將所述ReceiveCycle事件流推送至所述復雜事件處理引擎。優選地,在所述適配器的狀態標志位status為CONNECTING,表明適配器與傳感器的串口連接。優選地,在所述適配器的狀態標志位status為PROCESSING后,接收所述傳感器采集的物品信息數據。優選地,所述將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流包括將所述數據字節通過事件封裝方法包裝成hforsReceiveEvent事件;
將所述MforsReceiveEvent通過事件流封裝方法包裝成ReceiveCycle事件流。基于本發明實施例的另一方面,還公開一種數據封裝系統,包括接收單元,用于在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;解析單元,用于依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節;封裝單元,用于將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流;推送單元,用于將所述ReceiveCycle事件流推送至所述復雜事件處理引擎。優選地,所述接收單元在所述適配器的狀態標志位status為CONNECTING,表明適配器與傳感器的串口連接。優選地,所述接收單元在所述適配器的狀態標志位status為PROCESSING后,接收所述傳感器采集的物品信息數據。優選地,所述封裝單元包括第一封裝子單元,用于將所述數據字節通過事件封裝方法包裝成InforsReceiveEvent 事件;第二封裝子單元,用于將所述hforsReceiveEvent通過事件流封裝方法包裝成ReceiveCycle 事件流。基于本發明實施例的再一方面,還公開一種適配器,包括上述數據封裝系統。基于本發明實施例的再一方面,還公開一種物聯網中間件,所述物聯網中間件內集成有上述適配器。在本發明中,在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節;將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流;將所述ReceiveCycle事件流推送至所述復雜事件處理引擎,從而在物聯網中無需針對任一種數據開發相應的軟件模塊,降低軟件開發周期和開發難度,同時提高可移植性。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例公開的數據封裝方法的流程圖;圖2為本發明實施例公開的數據封裝系統的結構示意圖。
具體實施例方式為了使本技術領域的人員更好地理解本發明中的技術方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬于本發明保護的范圍。請參閱圖1,其示出了本發明實施例公開的一種數據封裝方法的流程圖,可以包括以下步驟步驟101 在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據。其中,在適配器的狀態標志位status為CONNECTING,表明適配器與傳感器的串口連接。進一步,在適配器的狀態標志位status為PROCESSING后,適配器開始接收所述傳感器采集的物品信息數據。在適配器的狀態標志位status為CLOSED,表明適配器與傳感器的串口斷開連接,適配器不接收傳感器采集的物品信息數據。適配器狀態標志位的設置是依據串口有無數據判斷的。步驟102 依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節,根據ascii碼映射。本實施例中,不同傳感器對應不同的數據協議,在數據解析過程中,對應每種傳感器,適配器需要按照該傳感器對應的數據協議解析接收到的物品信息數據。步驟103 將根據ascii碼映射的數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle 事件流。本步驟的具體實施過程可以為首先將所述數據字節通過事件封裝方法包裝成InforsReceiveEvent事件;其次將所述MforsReceiveEvent通過事件流封裝方法包裝成ReceiveCycle 事件流。步驟104 將所述ReceiveCycle事件流推送至所述復雜事件處理引擎。進一步,復雜事件處理引擎可以對ReceiveCycle事件流進行分析過濾、關聯聚合以及模式匹配,從而生成有效的業務邏輯數據。應用上述技術方案,在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節;將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流;將所述ReceiveCycle事件流推送至所述復雜事件處理引擎,從而在物聯網中無需針對任一種數據開發相應的軟件模塊,降低軟件開發周期和開發難度,同時提高可移植性。與上述方法實施例相對應,本發明實施例還公開一種數據封裝系統,結構示意圖如圖2所示,包括接收單元11、解析單元12、封裝單元13和推送單元14。其中,接收單元11,用于在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據。在本實施例中,接收單元11在所述適配器的狀態標志位status為CONNECTING,表明適配器與傳感器的串口連接。進一步,接收單元11在所述適配器的狀態標志位Status為PROCESSING后,接收所述傳感器采集的物品信息數據。需要說明的是在適配器的狀態標志位status為CLOSED,表明適配器與傳感器的串口斷開連接,適配器不接收傳感器采集的物品信息數據。適配器狀態標志位的設置可以依據OSGI的動態模塊化方式進行設置,也可以由物聯網的控制模塊以配置文件的方式對適配器的狀態標志位進行設置。采用這兩種方式都可以實現對適配器的生命周期的動態管理,以實現對適配器的加載,啟停以及卸載控制。
解析單元12,用于依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節。其中,不同傳感器對應不同的數據協議,在數據解析過程中,對應每種傳感器,適配器需要按照該傳感器對應的數據協議解析接收到的物品信息數據。封裝單元13,用于將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle 事件流。上述封裝單元13包括第一封裝子單元和第二封裝子單元,其中,第一封裝子單元用于將所述數據字節通過事件封裝方法包裝成hforsReceiveEvent事件。第二封裝子單元,用于將所述MforsReceiveEvent通過事件流封裝方法包裝成ReceiveCycle事件流。推送單元14,用于將所述ReceiveCycle事件流推送至所述復雜事件處理引擎。進一步,復雜事件處理引擎可以對ReceiveCycle事件流進行分析過濾、關聯聚合以及模式匹配,從而生成有效的業務邏輯數據。本實施例所述的系統可以集成到適配器中,也可以單獨作為一個實體與物聯網中間件相連,另外,需要說明的是,當本發明所述的方法采用軟件實現時,可以作為適配器新增的一個功能,也可以單獨編寫相應的程序,本發明不限定所述方法或裝置的實現方式。上述適配器還可以集中到物聯網中間件中。對于系統實施例而言,由于其基本相應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。在本發明所提供的幾個實施例中,應該理解到,所揭露的系統和方法,在沒有超過本發明的精神和范圍內,可以通過其他的方式實現。當前的實施例只是一種示范性的例子,不應該作為限制,所給出的具體內容不應該限制本申請的目的。例如,所述單元或子單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或多個子單元結合一起。另外,多個單元可以或組件可以結合或者可以集成到另一個設備,或一些特征可以忽略,或不執行。以上所述僅是本發明的具體實施方式
,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
權利要求
1.一種數據封裝方法,其特征在于,包括在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節,根據ascii碼映射;將根據ascii碼映射的數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流;將所述ReceiveCycle事件流推送至所述復雜事件處理引擎。
2.根據權利要求1所述的數據封裝方法,其特征在于,在所述適配器的狀態標志位status為CONNECTING,表明適配器與傳感器的串口連接。
3.根據權利要求1所述的數據封裝方法,其特征在于,在所述適配器的狀態標志位status為PROCESSING后,接收所述傳感器采集的物品信息數據。
4.根據權利要求1所述的數據封裝方法,其特征在于,所述將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流包括將所述數據字節通過事件封裝方法包裝成hforsReceiveEvent事件;將所述MforsReceiveEvent通過事件流封裝方法包裝成ReceiveCycle事件流。
5.一種數據封裝系統,其特征在于,包括接收單元,用于在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;解析單元,用于依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節;封裝單元,用于將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流;推送單元,用于將所述ReceiveCycle事件流推送至所述復雜事件處理引擎。
6.根據權利要求5所述的數據封裝系統,其特征在于,所述接收單元在所述適配器的狀態標志位status為CONNECTING,表明適配器與傳感器的串口連接。
7.根據權利要求5所述的數據封裝系統,其特征在于,所述接收單元在所述適配器的狀態標志位status為PROCESSING后,接收所述傳感器采集的物品信息數據。
8.根據權利要求5所述的數據封裝系統,其特征在于,所述封裝單元包括第一封裝子單元,用于將所述數據字節通過事件封裝方法包裝成hforsReceiveEvent事件;第二封裝子單元,用于將所述hforsReceiveEvent通過事件流封裝方法包裝成ReceiveCycle 事件流。
9.一種適配器,其特征在于,包括如權利要求5至8任意一項所述的數據封裝系統。
10.一種物聯網中間件,其特征在于,所述物聯網中間件內集成有如權利要求9所述的適配器。
全文摘要
本發明實施例公開一種數據封裝方法、系統、適配器及物聯網中間件。一種數據封裝方法,包括在適配器與傳感器的串口連接的情況下,接收所述傳感器采集的物品信息數據;依據所述傳感器對應的數據協議,將適配器接收到的物品信息數據解析成數據字節;將所述數據字節封裝為復雜事件處理引擎所識別的ReceiveCycle事件流;將所述ReceiveCycle事件流推送至所述復雜事件處理引擎,從而在物聯網中無需針對任一種數據開發相應的軟件模塊,降低軟件開發周期和開發難度,同時提高可移植性。
文檔編號H04L29/08GK102594871SQ20111045916
公開日2012年7月18日 申請日期2011年12月31日 優先權日2011年12月31日
發明者冷靜, 劉耀, 王蒴 申請人:山東中創軟件商用中間件股份有限公司, 山東中創軟件工程股份有限公司