專利名稱::一種物聯(lián)網中間件消息描述結構以及形態(tài)轉換方法
技術領域:
:本發(fā)明屬于物聯(lián)網
技術領域:
,特別涉及一種物聯(lián)網中間件消息描述結構以及形態(tài)轉換方法。
背景技術:
:物聯(lián)網是指通過各種信息傳感設備,如傳感射頻識別技術、全球定位系統(tǒng)、紅外感應器等各種裝置與技術,實時采集任何需要監(jiān)控、連接、互動的物體或過程,采集所需的各種信息,與互聯(lián)網相連接,進行信息交換和通信,形成的一個巨大網絡。其目的是實現(xiàn)物與物、物與人,所有的物品與網絡的連接,方便智能化識別、定位、跟蹤、管理和控制。其目標是通過供應鏈的全程信息化是企業(yè)提高資本的可視化,確保產品的安全性和完整性。物聯(lián)網作為一個匯集數據采集、數據傳輸、數據處理、業(yè)務應用技術的集成化概念,其應用的關鍵問題是形成完整的數據采集、數據傳輸、數據應用通道。這就涉及大量消息數據的處理問題,而物聯(lián)網中間件是業(yè)務應用程序和底層數據獲取設備之間的橋梁,其特點滿足大量應用的需要;運行于多種硬件和OS平臺;支持分布計算,提供跨網絡、硬件和OS平臺的透明的應用或服務的交互;支持標準的協(xié)議;支持標準的接口。它封裝RFID讀寫器管理、數據管理、事件管理等通用功能,實現(xiàn)軟件復用,從而降低應用系統(tǒng)的開發(fā)成本和縮短開發(fā)周期。
發(fā)明內容本發(fā)明提出一種物聯(lián)網中間件消息描述與形態(tài)轉換方法,主要針對物聯(lián)網中間件現(xiàn)今所面臨的跨網絡、多種硬件和OS平臺的服務交互之間的消息信息的過濾以及形態(tài)的轉換問題,降低應用開發(fā)的成本,減少編程工作量,方便物聯(lián)網消息的轉換,提高物聯(lián)網服務效率。本發(fā)明涉及的形態(tài),即為結構形態(tài)。消息的形態(tài)即為消息的結構形態(tài)。結構形態(tài)在計算機界是通用的學術用語。本發(fā)明的技術方案是,一種物聯(lián)網中間件消息描述結構,所述結構包括對消息的總體信息的描述,對消息的具體字段的描述,對消息的具體字段的特殊形態(tài)功能的描述,其中對消息總體信息的描述,包括該消息的存取數據庫信息或來源虛表的信息,以及消息應用或來源的網頁信息,對消息的具體字段的描述,包括消息中具體字段的名稱、類型、大小,對消息的具體字段的特殊形態(tài)功能的描述包括判斷是否為某一種特殊形態(tài),所述的特殊形態(tài)分為五種形態(tài)第一種是通信傳輸形態(tài),該形態(tài)中對消息具體字段的描述屬性包括判斷是否為消息總體長度字段、是否為校驗碼字段以及是否為傳輸通道號字段;第二種是數據存儲形態(tài),該形態(tài)中對消息具體字段的描述屬性包括在數據存儲時該消息字段的名稱,以及判斷該字段是否是主鍵;第三中是界面顯示形態(tài),該形態(tài)中對消息具體字段的描述屬性包括界面的靜態(tài)文體內容、文本框的大小以及要輸入到文本框中信息的類型;第四種是Web服務(Webservice)形態(tài);第五種是成員對象形態(tài)。所述的消息描述結構是通過文件實現(xiàn)的。一種物聯(lián)網中間件消息形態(tài)轉換方法,采用上述的消息描述結構構建內部數據結構,該內部數據結構有兩部分組成,一部分是存儲消息描述文件信息的描述域,另一部分是對具體消息數據的存儲的數據域,所述的轉換方法包括步驟將消息信息存儲于內部數據結構的數據域,根據ECA規(guī)則和內部結構描述域的信息,完成對數據域中的信息的消息形態(tài)的轉變,其中消息形態(tài)可分為五種,分別為用于Web服務(WebService)的信息文件、用于數據存取的操作語句、用于傳輸的數據流、用于成員對象的類以及用于界面顯示的信息文件,這五種形態(tài)兩兩之間可以通過內部數據結構達到互轉。該轉換方法通過調用相應的適配器來完成。該轉換方法包括步驟Al,消息處理引擎根據ECA規(guī)則調用消息工廠,建立消息工廠對象,初始化消息工廠,建立消息工廠內部數據結構,并將描述文件存儲于內部數據結構的描述域;A2,待處理的消息數據存放于對應的消息工廠內部數據結構的數據域中;A3,根據需求和內部數據結構描述域的信息,對消息的具體字段進行過濾處理;A4,將過濾后的消息通過消息形態(tài)轉換方法轉換為需求形態(tài),即將滿足條件的內部數據結構數據域的信息格式轉換;A5,將轉換后的消息形態(tài)傳遞給相應的適配器。由適配器調用功能函數完成消息的處理;A6,以上步驟完成了對一條消息的處理,多條消息可調用消息處理引擎根據其ECA規(guī)則可重復調用以上步驟,進而達到對大量消息的處理。本發(fā)明涉及的ECA規(guī)則,是知識模型的組織規(guī)則,由事件、條件、活動三部分組成。事件是一種系統(tǒng)行為的瞬間發(fā)生,系統(tǒng)行為可以是數據庫操作、事務管理活動、時間行為或與外部環(huán)境的交互行為。條件是用來判斷規(guī)則的活動能否執(zhí)行?;顒邮侵府斠?guī)則被觸發(fā)且條件成立時,活動將被執(zhí)行。例如On<event_expression>//事件的說明[if<condition_exprssion>]//如果條件表達式成立Do<action>//執(zhí)fii舌動。消息工廠是用于讀取消息描述文件和消息數據信息,存放于工廠內部結構,并提供消息形態(tài)的五種轉換方法。其使用是根據ECA規(guī)則觸發(fā)的活動,選擇消息工廠所提供的轉換服務,整體來說,是處理消息應用的中間環(huán)節(jié)。為消息應用調用適配器提供前期的形態(tài)轉換服務。通過本發(fā)明的消息描述結構或者方法,可以實現(xiàn)消息的過濾以及為消息具體字段形態(tài)的轉換提供描述,并且每種類型的消息,只要一次描述,一次讀入就可以實現(xiàn)多次對該類型的消息操作,且更改消息的描述時,只需要更改描述文件即可,不需要修改相應的程序。利用本發(fā)明方法進行消息形態(tài)的轉換,有一定的封裝效果,不需要對消息的具體字段進行操作,進而屏蔽了對底層的操作,且本發(fā)明方法將消息的形態(tài)的轉換與處理分為兩個步驟,這樣在處理消息出現(xiàn)問題方便開發(fā)人員檢查,并不需要對程序做大的改動,減少了開發(fā)人員工作量。圖1是物聯(lián)網消息的架構示意2是消息中間件的架構示意3是本發(fā)明一實施例中消息形態(tài)轉換方法4是本發(fā)明一實施例的在消息工廠中應用示意圖具體實施例方式本發(fā)明的基本思想是提供一種物聯(lián)網消息中間件服務,利用消息描述方法和形態(tài)轉換方法到達對消息的過濾以及形態(tài)的轉換的功能。實現(xiàn)消息過濾和處理的封裝,方便對消息的配置與更改,減少開發(fā)人員的工作量和簡化消息處理的操作。為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下舉實例并參照附圖,對本發(fā)明進一步詳細說明。圖1為本發(fā)明在物聯(lián)網應用系統(tǒng)的架構圖,具體包括應用層、中間件以及網絡層,本發(fā)明處于中間件部分,中間件可分為處理層和適配層。圖2為本發(fā)明所在中間件的結構架構圖,處理層通過處理引擎調用消息工廠,實現(xiàn)對消息信息的配置,以及執(zhí)行過濾、轉換功能并將消息傳遞到適配層。其中消息處理引擎主要是由初始化模塊與解釋執(zhí)行模塊,初始化模塊用于描述ECA規(guī)則,解釋執(zhí)行模塊用于解釋執(zhí)行ECA規(guī)則。消息工廠是根據ECA規(guī)則建立的,不同的消息類型需要建立不同的消息工廠,但消息工廠模式適用于不同消息類型。所述適配層在接收到消息后,根據其功能調用相應的適配器,由適配器調用其相應的功能函數,進而完成消息的處理。以下給出一個消息描述方法的描述文件實例。<xmlversion="1.0"encoding="GB2312"><MESSAGE>//整個消息的信息描述<HEAD>//該消息的整體來源描述<tablename>table</tablename>//數據庫表名<selectname>tablel,table2wheretablel.id=table2.code</selectname>//數據虛表<pagename>sfdtable</pagename>"網頁名</HEAD><FIELD>//某一個字段的信息描述<name>car_id</name>//字段名<fname>carnubmer</fname>//該字段在數據庫中的存儲名<size>4</size>//該字段的大小<type>int</type>//類型<isCommField></isCommField>//是否用于通信<isChannelID></isChannelID>//是否為通道號<isDBField></isDBField>//是否用于數據庫<isDBKey>true</isDBKey>//是否為數據表的關鍵字<isCRC></isCRC>//是否為循環(huán)檢驗碼<isLen></isLen>//是否為該消息的長度<isWidgetField></isWidgetField>//是否用于網頁顯示<widgetWidth></widgetWidth>//網頁文本框的寬度<widgetName></widgetName>//網頁文本框的名字<widgetText></widgetText>//網頁下拉框<isWSField></isWSField>//是否用于webservice<isClassField></isClassField>//是否用于成員對象</FIELD>〈/MESSAGE〉在上述消息描述方法的描述文件實例中,該文件是對一種類型消息的描述文件,其可以分為兩個層一是用于描述消息的來源或應用,即<HEADX/HEAD>之間的描述部分,該描述層在一個描述文件中只有一個,包括數據庫表名、數據虛表、網頁名。二是用于描述消息具體一個字段信息以及特殊形態(tài)功能的描述,即<FIELDX/FIELD>之間的描述部分,該描述部分的數量是根據消息字段的數量來確定的,其中用于消息具體字段信息的描述包括字段名、字段大小以及字段的類型,其中用于特殊形態(tài)功能的描述包括判斷該字段是否為特殊形態(tài),以及特殊形態(tài)的應用屬性。如<isDBField>是對該字段是否應用或來源于數據庫描述,<fname>是該字段在數據庫中的描述。并且在對字段信息具體描述時,還有對缺省值的默認處理機制,使用者可以根據自己的需求設置默認信息,如〈isCommField〉的缺省默認處理為true,而<isCRC>的缺省默認處理為false。圖3為本發(fā)明提出的消息形態(tài)轉換方法示意圖。該方法是基于一種內部數據結構實現(xiàn)的,根據ECA規(guī)則和內部數據結構的描述域,確定轉換的消息字段,并運用消息字段的描述域和數據域,完成數據域信息的轉換。用于數據存取的操作語句形態(tài)的轉換方法的具體實現(xiàn)為根據特殊形態(tài)判斷和描述域〈fnameXtablename〉的內容來實現(xiàn)數據存儲中操作語句中字段名、數據庫表名的生成,結合數據域的數據來完成操作語句中條件選擇,操作語句可以分為查詢、插入、更新、修改語句,如用于數據存儲的SQL語句中選擇語句seIectear—idfromtablelwherecar—name=‘汽車’,其中‘car—id’、‘car—name’這些字符名來源于其各自消息字段的消息描述域,‘tablel’為該消息總體描述部分,而‘汽車’來源于‘Car_name’這個消息字段的數據域。這樣一個消息就轉換為其要執(zhí)行應用的SQL語句;用于傳輸的數據流的實現(xiàn)則是根據特殊形態(tài)判斷,將用于傳輸的字段的數據域的數據轉化為傳輸格式,即將數據域中的整型、浮點型、字符型等轉換為01結構的傳輸byte流;用于成員對象的類,是把消息的一個字段看成一個成員對象,使用反射機制生成或找到其使用的類,使該消息使用更加靈活;用于webservice的Web服務,是將消息內部結構轉換為適用Web服務的結構形態(tài)其轉換與數據存取的操作語句的轉換類似;用于界面顯示的文件轉換,是將消息轉換為顯示界面上的結構形態(tài),其轉換與數據存取的操作語句的轉換類似。該轉換方法只是將消息轉換為這五種結構形態(tài),具體實施則需要調用相應的適配器完成。本發(fā)明的實現(xiàn)處于消息工廠中,其具體的使用圖見圖4,其具體步驟為步驟1消息處理引擎根據ECA規(guī)則調用消息工廠,實現(xiàn)對建立的消息工廠的初始化,并建立消息工廠內部數據結構,并將描述文件存儲于內部數據結構的描述域。其描述文件結構見圖3,針對不同的消息描述文件需要建立不同的消息工廠。步驟2待處理的消息數據存放于對應的消息工廠內部數據結構的數據域中。步驟3根據需求和內部數據結構描述域的信息,對消息的具體字段進行過濾處理。其處理規(guī)則可見對圖3的詳細說明。步驟4將過濾后的消息通過消息形態(tài)轉換方法轉換為需求形態(tài),即將滿足條件的內部數據結構數據域的信息格式轉換。其消息形態(tài)轉換方法見對圖4的詳細說明。步驟5將轉換后的消息形態(tài)傳遞給相應的適配器。由適配器調用功能函數完成消息的處理。步驟6以上步驟完成了對一條消息的處理,多條消息可調用消息處理引擎根據其ECA規(guī)則可重復調用以上步驟,進而達到對大量消息的處理。根據上述步驟所述,可完成消息中間件在消息處理方面的功能。并可以看到本發(fā)明的有益效果為本發(fā)明提出了消息描述采用描述文件來實現(xiàn),方便了對消息的屬性更改,實現(xiàn)了對消息可配置,并為消息過濾提供依據。本發(fā)明還提出的內部數據結構,其結構分為兩個域,一是消息具體屬性的描述域,二是消息數據信息的數據域。這樣在處理同類型消息時只需一次讀入描述域,減輕消息讀入的操作和工作量。最后本發(fā)明提出消息形態(tài)轉換方法,將消息轉換為應用形態(tài),簡化了消息功能實現(xiàn)的相關操作,提高了消息處理的效率。權利要求1.一種物聯(lián)網中間件消息描述結構,其特征在于,所述結構包括對消息的總體信息的描述,對消息的具體字段的描述,對消息的具體字段的特殊形態(tài)功能的描述,其中對消息總體信息的描述,包括該消息的存取數據庫信息或來源虛表的信息,以及消息應用或來源的網頁信息,對消息的具體字段的描述,包括消息中具體字段的名稱、類型、大小,對消息的具體字段的特殊形態(tài)功能的描述包括判斷是否為某一種特殊形態(tài),所述的特殊形態(tài)分為五種形態(tài)第一種,是通信傳輸形態(tài),該形態(tài)中對消息具體字段的描述屬性包括判斷是否為消息總體長度字段、是否為校驗碼字段以及是否為傳輸通道號字段;第二種,是數據存儲形態(tài),該形態(tài)中對消息具體字段的描述屬性包括在數據存儲時該消息字段的名稱,以及判斷該字段是否是主鍵;第三中,是界面顯示形態(tài),該形態(tài)中對消息具體字段的描述屬性包括界面的靜態(tài)文體內容、文本框的大小以及要輸入到文本框中信息的類型;第四種是Web服務形態(tài);第五種是成員對象形態(tài)。2.如權利要求1所述的物聯(lián)網中間件消息描述結構,其特征在于,所述的消息描述結構是通過文件實現(xiàn)的。3.一種物聯(lián)網中間件消息形態(tài)轉換方法,其特征在于,采用如權利要求1所述的消息描述結構構建內部數據結構,該內部數據結構有兩部分組成,一部分是存儲消息描述文件信息的描述域,另一部分是對具體消息數據的存儲的數據域,所述的轉換方法包括步驟將消息信息存儲于內部數據結構的數據域,根據ECA規(guī)則和內部結構描述域的信息,完成對數據域中的信息的消息形態(tài)的轉變,其中消息形態(tài)可分為五種,分別為用于Web服務的信息文件、用于數據存取的操作語句、用于傳輸的數據流、用于成員對象的類以及用于界面顯示的信息文件,所述的五種形態(tài),兩兩之間可以通過內部數據結構達到互轉。4.如權利要求3所述的物聯(lián)網中間件消息形態(tài)轉換方法,其特征在于,該轉換方法通過調用相應的適配器來完成。5.如權利要求4所述的物聯(lián)網中間件消息形態(tài)轉換方法,其特征在于,該轉換方法包括步驟Al,消息處理引擎根據ECA規(guī)則調用消息工廠,建立消息工廠對象,初始化消息工廠,建立消息工廠內部數據結構,并將描述文件存儲于內部數據結構的描述域;A2,待處理的消息數據存放于對應的消息工廠內部數據結構的數據域中;A3,根據需求和內部數據結構描述域的信息,對消息的具體字段進行過濾處理;A4,將過濾后的消息通過消息形態(tài)轉換方法轉換為需求形態(tài),即將滿足條件的內部數據結構數據域的信息格式轉換;A5,將轉換后的消息形態(tài)傳遞給相應的適配器。由適配器調用功能函數完成消息的處理;A6,以上步驟完成了對一條消息的處理,多條消息可調用消息處理引擎根據其ECA規(guī)則可重復調用以上步驟,進而達到對大量消息的處理。全文摘要本發(fā)明公開了一種物聯(lián)網中間件消息形態(tài)轉換方法,采用消息描述結構構建內部數據結構,該內部數據結構有兩部分組成,一部分是存儲消息描述文件信息的描述域,另一部分是對具體消息數據的存儲的數據域,所述的轉換方法包括步驟將消息信息存儲于內部數據結構的數據域,根據ECA規(guī)則和內部結構描述域的信息,完成對數據域中的信息的消息形態(tài)的轉變,其中,消息形態(tài)可分為五種,分別為用于Web服務的信息文件、用于數據存取的操作語句、用于傳輸的數據流、用于成員對象的類以及用于界面顯示的信息文件,所述的五種形態(tài),兩兩之間可以通過內部數據結構達到互轉。該轉換方法通過調用相應的適配器來完成。文檔編號G06F17/30GK102420862SQ20111038870公開日2012年4月18日申請日期2011年11月29日優(yōu)先權日2011年11月29日發(fā)明者武智霞,王倩,鄭樹泉申請人:上海計算機軟件技術開發(fā)中心