本申請是申請?zhí)枮?01210456746.4的分案申請,原申請的申請日為2012.11.14,原申請的發(fā)明名稱為“一種物聯(lián)網終端應用一體化生成系統(tǒng)和方法”。
本發(fā)明涉及物聯(lián)網技術領域,具體涉及一種物聯(lián)網執(zhí)行系統(tǒng)。
背景技術:
隨著科學技術的發(fā)展,物聯(lián)網技術逐漸成熟,各類物聯(lián)網應用孕育而生,涉及到人們生活中的方方面面,這一切都給物聯(lián)網領域的相關廠商帶來了巨大的商機。物聯(lián)網是指通過部署具有一定感知、計算、執(zhí)行和通信能力的各種終端設備獲得物理世界的信息,通過網絡實現(xiàn)信息的傳輸、協(xié)同和處理,從而實現(xiàn)廣域的人與物、物與物之間信息交換的互聯(lián)的網絡。物聯(lián)網涉及物聯(lián)網平臺、物聯(lián)網終端、物聯(lián)網應用和其它中間網絡,其中物聯(lián)網平臺將各種功能接口提供給不同的物聯(lián)網應用。通常地,物聯(lián)網應用包括兩部分邏輯:平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯,圖1所示為現(xiàn)有技術中這兩部分應用業(yè)務邏輯的開發(fā)模式,兩者是獨立開發(fā)、測試并部署的,大致步驟如下:
1、單獨開發(fā)、測試物聯(lián)網終端側應用業(yè)務邏輯;
2、單獨開發(fā)、測試物聯(lián)網平臺側應用業(yè)務邏輯;
3、將兩部分應用業(yè)務邏輯分別部署到平臺和終端,進行平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯的對接調試。
如果對接不成功,要反復進行步驟1-3,直至對接成功,形成整個物聯(lián)網應用系統(tǒng)。
在一個實際的物聯(lián)網應用中,其平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯是相關的,有著密切的上、下流程關系,但是,目前的物聯(lián)網實際應用是將兩者分離開來的,導致在物聯(lián)網應用正式上線之前,需要平臺側和終端側進行大量的對接調試工作,特別是如果平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯分別由不同的廠商開發(fā),則調試的過程將多次反復,調試時間往往成倍增加。
技術實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種物聯(lián)網執(zhí)行系統(tǒng),實現(xiàn)一體化業(yè)務邏輯的執(zhí)行和監(jiān)控功能。
為實現(xiàn)上述目的,本發(fā)明提供了一種物聯(lián)網執(zhí)行系統(tǒng),應用于終端側,所述系統(tǒng)包括:
終端組件模塊,用于加載終端側應用業(yè)務邏輯所需的組件,并對所述組件進行執(zhí)行和維護;
終端解析執(zhí)行模塊,用于解析并觸發(fā)所述終端側應用業(yè)務邏輯,以執(zhí)行所述終端側應用業(yè)務邏輯;
終端通信模塊,用于進行所述終端側與對應的平臺側之間的通信,將執(zhí)行所述終端側應用業(yè)務邏輯的執(zhí)行結果發(fā)送給所述對應的平臺側。
進一步的,所述系統(tǒng)還包括:
終端基礎模塊,用于在加載終端側應用業(yè)務邏輯所需的組件之前,接收所述終端側應用業(yè)務邏輯,并進行數(shù)據轉換。
進一步的,所述終端解析執(zhí)行模塊觸發(fā)所述終端側應用業(yè)務邏輯的方式為:以開始節(jié)點觸發(fā)、以來自平臺側的消息指令觸發(fā)或以終端采集數(shù)據觸發(fā)。
進一步的,所述終端組件模塊包括:終端組件存儲單元、終端組件加載單元、終端組件解析單元和終端組件執(zhí)行單元;
所述終端組件存儲單元,用于保存組件的元數(shù)據、執(zhí)行文件、依賴文件;
所述終端組件加載單元,用于加載組件,并通過組件id對組件進行增加、刪除、升級;
所述終端組件解析單元,用于解析元數(shù)據,并通知所述終端組件執(zhí)行單元運行所述組件;
所述終端組件執(zhí)行單元,用于通過所述組件的執(zhí)行文件、依賴文件,運行所述組件的特定功能。
進一步的,所述系統(tǒng)還包括:
終端監(jiān)控模塊,用于監(jiān)控所述終端側應用業(yè)務邏輯的執(zhí)行情況,并將所述執(zhí)行結果導出進行顯示。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種物聯(lián)網執(zhí)行系統(tǒng),應用于平臺側,所述系統(tǒng)包括:
平臺組件模塊,用于加載平臺側應用業(yè)務邏輯所需的組件,并對所述組件進行執(zhí)行和維護;
平臺解析執(zhí)行模塊,用于解析并觸發(fā)所述平臺側應用業(yè)務邏輯,以執(zhí)行所述平臺側應用業(yè)務邏輯;
平臺通信模塊,用于進行所述平臺側與對應的終端側之間的通信,接收所述終端側執(zhí)行終端側應用業(yè)務邏輯的執(zhí)行結果。
進一步的,所述系統(tǒng)還包括:
平臺基礎模塊,用于在加載平臺側應用業(yè)務邏輯所需的組件之前,接收所述平臺側應用業(yè)務邏輯,并進行數(shù)據轉換。
進一步的,所述平臺解析執(zhí)行模塊觸發(fā)所述平臺側應用業(yè)務邏輯的方式為:以開始節(jié)點觸發(fā)或者以來自終端側的消息指令觸發(fā)。
進一步的,所述平臺組件模塊包括:平臺組件存儲單元、平臺組件加載單元、平臺組件解析單元和平臺組件執(zhí)行單元;
所述平臺組件存儲單元,用于保存組件的元數(shù)據、執(zhí)行文件、依賴文件;
所述平臺組件加載單元,用于加載組件,并通過組件id對組件進行增加、刪除、升級;
所述平臺組件解析單元,用于解析元數(shù)據,并通知所述平臺組件執(zhí)行單元運行所述組件;
所述平臺組件執(zhí)行單元,用于通過所述組件的執(zhí)行文件、依賴文件,運行所述組件的特定功能。
進一步的,所述系統(tǒng)還包括:
平臺監(jiān)控模塊,用于獲取終端側應用業(yè)務邏輯的執(zhí)行結果以及平臺側應用業(yè)務邏輯的執(zhí)行結果,并進行顯示。
本發(fā)明有益效果如下:
物聯(lián)網應用業(yè)務邏輯在終端側和平臺側分別運行時,能夠通過監(jiān)控功能將平臺側與終端側的業(yè)務邏輯執(zhí)行情況展示出來,方便了對業(yè)務邏輯運行情況的跟蹤和問題排查,確保系統(tǒng)長期穩(wěn)定運行。
附圖說明
圖1是現(xiàn)有技術中物聯(lián)網應用方案系統(tǒng)圖。
圖2是本發(fā)明的物聯(lián)網終端應用一體化生成方法的流程圖。
圖3是本發(fā)明的物聯(lián)網終端應用一體化生成系統(tǒng)的結構框圖。
圖4是本發(fā)明實施例中的物聯(lián)網應用方案系統(tǒng)圖。
圖5是本發(fā)明實施例中組件模塊結構示意圖。
圖6是本發(fā)明實施例中編排模塊結構示意圖。
圖7為本發(fā)明實施例中針對終端側應用業(yè)務邏輯的解析流程圖。
圖8為本發(fā)明實施例中針對平臺側應用業(yè)務邏輯的解析流程圖
圖9是本發(fā)明實施例中的調試模塊結構示意圖。
圖10是本發(fā)明實施例中模擬調試前的解析流程圖
圖11是本發(fā)明實施例中的發(fā)布模塊結構示意圖。
圖12是本發(fā)明實施例中的終端側物聯(lián)網執(zhí)行系統(tǒng)結構圖。
圖13-15是本發(fā)明實施例中的終端側物聯(lián)網執(zhí)行系統(tǒng)中的各功能模塊示意圖。
圖16是本發(fā)明實施例中的平臺側物聯(lián)網執(zhí)行系統(tǒng)結構圖。
圖17和18是本發(fā)明實施例中的平臺側物聯(lián)網執(zhí)行系統(tǒng)中的各功能模塊示意圖。
具體實施方式
以下結合附圖以及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
圖2所示為本發(fā)明的物聯(lián)網終端應用一體化生成方法流程圖,包括:
s101,提供物聯(lián)網終端應用所需要的終端組件和對應的平臺組件;
s102,對所述終端組件和所述平臺組件進行編排以形成一個應用業(yè)務流程,編排結束后,分別生成平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯。
利用上述方法對終端組件和平臺組件進行統(tǒng)一編排,形成統(tǒng)一的應用業(yè)務流程,編排完成后再自動生成適用于終端側和平臺側的應用業(yè)務邏輯,使得物聯(lián)網應用業(yè)務邏輯能夠直接一體化開發(fā),不需區(qū)分是終端側應用業(yè)務邏輯還是平臺側應用業(yè)務邏輯,開發(fā)效率高。
進一步地,在生成終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯之后,在兩者之間建立信息通道,以對兩者進行調試。調試完成后進行發(fā)布,分別部署于終端執(zhí)行系統(tǒng)和平臺執(zhí)行系統(tǒng)。
這樣處理的好處是,由于在部署前已調試到理想的狀態(tài),所以在正式上線之前不需再次調試,省去了原先的聯(lián)調步驟,降低物聯(lián)網應用平臺側和終端側的聯(lián)調時間,提升了競爭力。
圖3所示是本發(fā)明實施例的物聯(lián)網終端應用一體化生成系統(tǒng)的結構框圖,該系統(tǒng)包括組件模塊10、編排模塊11、調試模塊12和發(fā)布模塊13,組件模塊10用于提供物聯(lián)網終端應用所需要的終端組件和對應的平臺組件;編排模塊11用于對所述終端組件和所述平臺組件進行編排以形成一個應用業(yè)務流程,編排結束后,分別生成平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯;調試模塊12用于在所述平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯之間建立信息通道,以對兩者進行調試;發(fā)布模塊13用于在調試模塊12調試結束后,對平臺側應用業(yè)務邏輯和終端側應用業(yè)務邏輯進行發(fā)布。
利用該系統(tǒng)對終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯進行統(tǒng)一編排開發(fā)和調試,分別發(fā)布部署于各自的執(zhí)行環(huán)境,實現(xiàn)了物聯(lián)網終端應用的一體化開發(fā)。
圖4所示為本發(fā)明實施例的物聯(lián)網應用整體結構框圖,上半部分為本實施例使用的一體化生成系統(tǒng),包括組件模塊10、編排模塊11、調試模塊12和發(fā)布模塊13,下半部分為終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯的執(zhí)行環(huán)境,分別為物聯(lián)網終端執(zhí)行系統(tǒng)和物聯(lián)網平臺執(zhí)行系統(tǒng)。
利用圖4實施例的物聯(lián)網應用系統(tǒng),可實現(xiàn)終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯的一體化開發(fā)和調試,調試通過后,將兩部分應用業(yè)務邏輯分別部署于終端執(zhí)行系統(tǒng)和平臺執(zhí)行系統(tǒng),可直接上線使用。
以下對本發(fā)明的具體實施方式進行詳細描述。
●組件模塊10,用于提供物聯(lián)網終端應用所需要的終端組件和對應的平臺組件,并對組件進行注冊、加載和管理等,這里所述的組件是在應用邏輯中調用的最小功能單元,具備唯一的組件id。在本發(fā)明實施例中,所述的組件按屬性分為終端組件和平臺組件兩類,其中,終端組件就是僅在終端側運行的組件,平臺組件就是僅在平臺側運行的組件,由組件模塊10對終端組件和平臺組件執(zhí)行注冊、加載和管理等動作。具體來講,如圖5所示,組件模塊10包括組件上傳單元101、組件注冊單元102、組件存儲單元103、組件解釋單元104和組件升級單元105。
所述組件上傳單元101,接收用戶上傳的組件包,并驗證組件包的格式、大小,驗證通過后將組件包上傳至組件存儲單元103,并通知組件注冊單元102進行組件包的加載工作。所述組件包,是滿足所述組件的一定規(guī)則的文件集合,通常是一個壓縮包的形式。
所述組件注冊單元102,當接收到組件上傳單元101的組件包加載通知消息后,從組件存儲單元103中讀取需要注冊的組件包。根據組件描述規(guī)則,對組件包中的文件集合進行合法性驗證,所述文件集合包括但不限于:組件元數(shù)據、組件方法執(zhí)行文件、組件方法依賴文件。所述合法性驗證,包括但不限于:執(zhí)行方法、輸入參數(shù)、輸出參數(shù)。當驗證通過需要注冊的組件包后,將組件包轉換成組件內部的組織形式。在組件存儲單元103中,保存組件的元數(shù)據、執(zhí)行文件、依賴文件。
所述組件存儲單元103,能夠保存組件上傳單元101驗證通過后的組件包,能夠保存組件注冊單元102驗證通過后的組件元數(shù)據、組件執(zhí)行文件。
所述組件解釋單元104,能夠對所述組件的元數(shù)據進行解析,供所述編排模塊使用;能夠對所述組件的執(zhí)行文件和依賴文件進行加載,供所述調試模塊使用;能夠對批量的組件依賴文件進行處理,過濾出最小依賴文件集合,供發(fā)布模塊使用。
所述組件升級單元105,能夠替換相同組件id的組件。當組件注冊單元101的組件包通過驗證后,組件升級單元105首先根據組件id判斷是否是相同的組件,若是,則將組件存儲單元103中原組件的元數(shù)據、執(zhí)行文件、依賴文件移除,將原組件包移除。再通知組件注冊單元101繼續(xù)進行對組件包的轉換。
●編排模塊11,用于在線編排物聯(lián)網應用業(yè)務邏輯流程,編排時,不區(qū)分是平臺側業(yè)務邏輯還是終端側業(yè)務邏輯,所有業(yè)務邏輯流程均在編排區(qū)域可視化地進行編排。在編排區(qū)域出現(xiàn)的所有節(jié)點、組件和觸發(fā)服務,統(tǒng)稱為元素,其中,除結束節(jié)點和觸發(fā)服務外,所有元素只有一個輸入連接線;所有元素可以有多個輸出連接線。其中,將開始節(jié)點抽象成一個只有輸出的元素;將結束節(jié)點抽象成一個只有輸入的元素;其他節(jié)點、觸發(fā)服務、組件、子業(yè)務等,都可以抽象成同時包含輸入和輸出的元素。
具體來看,如圖6所示,編排模塊11包括節(jié)點提供單元111、組件展現(xiàn)單元112、觸發(fā)服務單元113、子業(yè)務單元114、編排繪制單元115、編排解析單元116、編排生成單元117和編排存儲單元118。
所述節(jié)點提供單元111,提供應用業(yè)務邏輯的最基本的編排元素,包括:開始節(jié)點、結束節(jié)點、表達式節(jié)點、運算節(jié)點、通信節(jié)點。其中,一個業(yè)務邏輯通過一個開始節(jié)點觸發(fā),以一個結束節(jié)點完成。表達式節(jié)點定義業(yè)務邏輯流程中的變量。運算節(jié)點對業(yè)務邏輯流程中的變量進行邏輯運算,所述運算包括但不限于:四則運算、產生隨機數(shù)、獲取當前時間、字符串操作等。通信節(jié)點隱含在業(yè)務邏輯流程中,只有在調試或發(fā)布時才被模擬或生成。另外,所述節(jié)點提供單元111是系統(tǒng)內置的,除開始節(jié)點和結束節(jié)點有終端類和平臺類的區(qū)別之外,其它節(jié)點都是通用的,即不區(qū)分是終端類還是平臺類,為通用類。
所述組件展現(xiàn)單元112,用于展現(xiàn)所述組件模塊10所管理的組件,能夠調用組件模塊10中的組件解釋單元104來展示組件的元數(shù)據。組件展現(xiàn)單元112可展現(xiàn)組件的增加、刪除和升級等狀態(tài)。
所述觸發(fā)服務單元113,用于擴展應用業(yè)務邏輯的觸發(fā)條件,對組件進行封裝,形成觸發(fā)服務。當觸發(fā)服務接收到相關參數(shù)后,可以立即觸發(fā)業(yè)務邏輯流程,啟動組件運行。另外,由于組件有終端側、平臺側的類型區(qū)分,因此所述觸發(fā)服務也存在終端側、平臺側的區(qū)分。
所述子業(yè)務單元114,在一個業(yè)務邏輯流程中調用了另外一個業(yè)務邏輯流程,被調用方稱為調用方的子業(yè)務。所述子業(yè)務單元114,用于展示在組件存儲單元103中已存在的業(yè)務,供編排繪制單元115在編排區(qū)域進行編排。
所述編排繪制單元115,提供業(yè)務邏輯流程編排區(qū)域,對節(jié)點、組件和觸發(fā)服務在編排區(qū)域進行編排和圖形化展示,并通過流程連接線將節(jié)點、組件、觸發(fā)服務連接起來,組成一個完整的業(yè)務邏輯流程。例如,編排繪制單元115可將子業(yè)務作為一個特殊節(jié)點,在編排區(qū)域進行編排,通過流程連接線將子業(yè)務和與其相關的節(jié)點、組件、觸發(fā)服務連接起來,組成完整的業(yè)務邏輯流程。
此外,所述編排繪制單元115還用于對節(jié)點、組件、觸發(fā)服務和子業(yè)務進行維護。具體地,對于節(jié)點的維護:編排繪制單元115對節(jié)點在業(yè)務邏輯流程中的名稱命名;對表達式節(jié)點,編排繪制單元115能夠定義業(yè)務邏輯流程所需變量;對所述運算節(jié)點,編排繪制單元115能夠選擇表達式定義的各類變量,能夠選擇運算節(jié)點的各類邏輯運算。
對于組件的維護:編排繪制單元115對組件在業(yè)務邏輯流程中的名稱命名;綁定組件的輸入參數(shù)到表達式節(jié)點定義的變量上,將組件的輸出參數(shù)賦值到表達式節(jié)點定義的變量上。
對于觸發(fā)服務的維護:編排繪制單元115對觸發(fā)服務在業(yè)務邏輯流程中的名稱命名;將觸發(fā)服務的輸出參數(shù)賦值到表達式節(jié)點定義的變量上。
對于子業(yè)務的維護:編排繪制單元115對子業(yè)務在業(yè)務邏輯流程中的名稱命名;綁定子業(yè)務的輸入參數(shù)到表達式節(jié)點定義的變量上,將子業(yè)務的輸出參數(shù)賦值到表達式節(jié)點定義的變量上。
所述編排解析單元116,能夠按流程連接線方向對所述編排繪制單元115生成的統(tǒng)一應用業(yè)務邏輯流程進行順序解析,并具體根據對元素類型的解析判斷,生成終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯。
圖7所示為本發(fā)明實施例中針對終端側應用業(yè)務邏輯的解析流程圖,所述編排解析單元116以連接線方向進行順序解析,先判斷當前元素的類型,(i)若當前元素類型是終端類,則直接將該元素的信息通知所述編排生成單元117。(ii)若當前元素類型是平臺類,且是第一次解析到平臺類元素,則生成一個終端類通信節(jié)點,將該節(jié)點和當前元素通知所述編排生成單元117,所述通信節(jié)點的消息接口是根據流程連接線前一個終端類元素的消息類型來確定;若元素類型是平臺類,但不是第一次解析到平臺類元素,則跳過該元素繼續(xù)解析。(iii)若當前元素類型是通用類,則根據流程連接線前一個元素的類型,判定當前元素的生成類型。若前一個元素類型是終端類,則將當前元素通知所述編排生成單元117;若前一個元素類型是平臺類,則跳過該元素繼續(xù)解析;若前一個元素類型是通用類,則繼續(xù)往流程連接線的再前一個元素查找判斷。
當整個業(yè)務邏輯流程的所有元素解析完成后,所述編排生成單元117根據解析結果生成終端側應用業(yè)務邏輯,存入編排存儲單元118。
圖8所示為本發(fā)明實施例中的針對平臺側應用業(yè)務邏輯的解析流程圖,所述編排解析單元116,以連接線方向進行順序解析,(i)若元素類型是平臺類,則直接將該元素通知所述編排生成單元117。(ii)若元素類型是終端類,且是第一次解析到終端類元素,則生成一個平臺類通信節(jié)點,將該節(jié)點通知所述編排生成單元117,所述通信節(jié)點的消息接口,是根據流程連接線前一個平臺類元素的消息類型來確定;若元素類型是終端類,但不是第一次解析到終端類元素,則跳過該元素繼續(xù)解析。(iii)若元素類型是通用類,則根據流程連接線前一個元素的類型,判定當前元素的生成類型。若前一個元素類型是平臺類,則將當前元素通知所述編排生成單元117;若前一個元素類型是終端類,則跳過該元素繼續(xù)解析;若前一個元素類型是通用類,則繼續(xù)往流程連接線的再前一個元素查找判斷。
當整個業(yè)務邏輯流程的所有元素解析完成后,所述編排生成單元117根據解析結果生成平臺側應用業(yè)務邏輯,存入編排存儲單元118。
所述編排存儲單元118,用于保存所述編排生成單元117生成的終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯元數(shù)據,包括但不限于:業(yè)務邏輯流程描述信息、元素在編排區(qū)域的相對位置信息和元素自身信息。
此外,若當前元素屬于子業(yè)務,則所述編排解析單元116讀取子業(yè)務邏輯流程的各種元數(shù)據,根據子業(yè)務邏輯流程描述信息,啟動對該子業(yè)務邏輯流程的解析,解析方法同上。
●調試模塊12,用于對終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯進行模擬調試。如圖9所示,調試模塊12包括:解析執(zhí)行單元121、平臺模擬單元122、終端模擬單元123、通信模擬單元124和展示單元125。
所述解析執(zhí)行單元121從編排模塊11的編排存儲單元118中讀取終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯的各種元數(shù)據,根據業(yè)務邏輯流程的描述信息啟動對兩部分應用業(yè)務邏輯進行模擬調試。若業(yè)務邏輯流程是以開始節(jié)點啟動,則立即觸發(fā)啟動調試過程;若業(yè)務邏輯流程是以觸發(fā)服務啟動,則在用戶輸入觸發(fā)服務參數(shù)后觸發(fā)啟動調試過程。解析執(zhí)行單元121可解析各個元素在業(yè)務邏輯流程中的相對位置,發(fā)送給展示單元125進行顯示;解析執(zhí)行單元121還解析各個元素,通知所述終端模擬單元123進行模擬,接收所述終端模擬單元123的返回結果,并將返回結果通知所述展示單元125;并且,解析執(zhí)行單元121還解析各個元素,通知所述平臺模擬單元122進行模擬,接收所述平臺模擬單元122的返回結果,并將返回結果通知所述展示單元125。
所述平臺模擬單元122,能夠模擬平臺側環(huán)境的真實情況,能夠對表達式節(jié)點、運算節(jié)點、平臺側組件進行模擬執(zhí)行,并返回執(zhí)行結果。
所述終端模擬單元123,能夠模擬終端側環(huán)境的真實執(zhí)行情況,能夠對表達式節(jié)點、運算節(jié)點、終端側組件進行模擬執(zhí)行,并返回執(zhí)行結果。
所述通信模擬單元124,能夠模擬終端側與平臺側的通信協(xié)議、通信接口。所述通信協(xié)議、通信接口均為在物聯(lián)網應用中終端側和平臺側預先協(xié)定一致的。當通信模擬單元124接收到終端側向平臺側的通信模擬請求時,模擬終端側向平臺側對應的通信接口;當通信模擬單元124接收到平臺側向終端側的通信模擬請求時,模擬平臺側向終端側對應的通信接口。
所述結果展示單元125,能夠讀取應用業(yè)務邏輯流程的各種元素在編排區(qū)域的相對位置,在調試區(qū)域進行展示,還接收終端模擬單元、平臺模擬單元、通信模擬單元的返回結果,根據返回執(zhí)行結果為正常、異?;蛭磮?zhí)行,分別對該元素在調試區(qū)域置不同的顏色以示區(qū)分。然后根據執(zhí)行結果對終端側和平臺側的應用業(yè)務邏輯做必要的調整,以使兩者相匹配。
圖10所示為本發(fā)明實施例中的模擬調試流程圖,所述解析執(zhí)行單元121解析各個元素,具體方法為:判斷當前元素的類型,(i)若當前元素類型是通用類,根據流程連接線前一個元素的類型來判定當前元素對應的模擬執(zhí)行單元;其中,若前一個元素類型是平臺類,則通知所述平臺模擬單元進行模擬,若前一個元素類型是終端類,則通知所述終端模擬單元進行模擬;若前一個元素類型是通用類,則繼續(xù)向流程連接線的再前一個元素查找判斷。
如圖10所示,(ii)若當前元素類型是終端類,根據流程連接線前一個元素的類型,判定當前元素的模擬執(zhí)行單元。若前一個元素類型是終端類,則直接通知所述終端模擬單元進行模擬;若前一個元素類型是平臺類,則先通知通信模擬單元進行模擬,接收通信模擬結果返回結果,并將返回結果通知所述展示單元,之后再通知所述終端模擬單元進行模擬;若前一個元素類型是通用類,則繼續(xù)往流程連接線的再前一個元素查找判斷。
如圖10所示,(iii)若當前元素類型是平臺類,根據流程連接線前一個元素的類型,判定當前元素的模擬執(zhí)行單元。若前一個元素類型是平臺類,則直接通知所述平臺模擬單元進行模擬;若前一個元素類型是終端類,則先通知通信模擬單元進行模擬,接收通信模擬結果返回結果,并將返回結果通知所述展示單元,之后再通知所述平臺模擬單元進行模擬;若前一個元素類型是通用類,則繼續(xù)往流程連接線的再前一個元素查找判斷。
此外,若當前元素屬于子業(yè)務,則讀取子業(yè)務邏輯流程的元數(shù)據,根據子業(yè)務邏輯流程描述信息,啟動對該子業(yè)務邏輯流程的調試。
●發(fā)布模塊13,用于對已保存的終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯進行發(fā)布。如圖11所示,發(fā)布模塊13包括讀取單元131和發(fā)布單元132。
所述讀取單元131,能夠從所述編排模塊的編排存儲單元118中讀取終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯的元數(shù)據。
所述發(fā)布單元132將所述讀取單元131發(fā)送的終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯分別部署到終端和平臺執(zhí)行環(huán)境中,部署完畢后上線使用。可以直接將兩部分邏輯部署到對應的終端、平臺執(zhí)行環(huán)境中,也可以先對兩部分邏輯進行處理,生成終端側業(yè)務邏輯應用包和平臺側業(yè)務邏輯應用包,然后再行發(fā)布部署。這里,終端側業(yè)務邏輯應用包和平臺側業(yè)務邏輯應用包合起來即是整個物聯(lián)網應用的業(yè)務邏輯。
發(fā)布的時候,終端側應用業(yè)務邏輯針對的是終端執(zhí)行系統(tǒng),這個終端執(zhí)行系統(tǒng)可以在不同的終端系統(tǒng)上進行安裝,如ios/android等;平臺應用業(yè)務邏輯針對的是平臺執(zhí)行系統(tǒng),這個平臺執(zhí)行系統(tǒng)可以在不同的平臺系統(tǒng)上進行安裝,如windows/linux等。
基于上述物聯(lián)網終端應用一體化生成方法生成的終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯,本發(fā)明還提供了一種物聯(lián)網執(zhí)行系統(tǒng),應用于終端側,如圖12所示,所述系統(tǒng)包括:終端基礎模塊20、終端組件模塊21、終端解析執(zhí)行模塊22、終端通信模塊23和終端監(jiān)控模塊24。
具體來看,終端基礎模塊20,用于提供接口以接收終端側應用業(yè)務邏輯,并進行數(shù)據轉換;終端組件模塊21,用于加載所述終端側應用業(yè)務邏輯所需組件,并對所述組件進行執(zhí)行和維護;終端解析執(zhí)行模塊22,用于解析并觸發(fā)所述終端側應用業(yè)務邏輯,啟動該業(yè)務邏輯流程;終端通信模塊23,用于進行終端側與平臺側之間的通信,將終端執(zhí)行所述終端側應用業(yè)務邏輯的結果發(fā)送給平臺側;終端監(jiān)控模塊24,用于監(jiān)控對于終端側應用業(yè)務邏輯的執(zhí)行情況,并將執(zhí)行結果導出進行顯示。
其中,終端側應用業(yè)務邏輯可提供三種觸發(fā)方式:(1)以開始節(jié)點觸發(fā)、(2)以來自平臺側的消息指令觸發(fā)以及(3)以終端采集數(shù)據觸發(fā)。如果所述終端側應用業(yè)務邏輯是以開始節(jié)點觸發(fā),啟動后立即觸發(fā);如果以平臺側的消息指令觸發(fā),接收到平臺側的消息指令后觸發(fā);如果以終端側采集數(shù)據觸發(fā),在接收到觸發(fā)服務的終端側相關參數(shù)后觸發(fā)。
圖13所示為本發(fā)明實施例的終端基礎模塊20,包括:接口單元201、轉換單元202、訪問單元203。
所述接口單元201,能夠向所有元素提供統(tǒng)一的終端訪問接口,接收接口調用方發(fā)送的數(shù)據,根據接口類型下行發(fā)送至所述轉換單元;能夠接收所述轉換單元觸發(fā)數(shù)據,并通知接口調用方接收。
所述轉換單元202,能夠接收所述接口單元201下行發(fā)送的數(shù)據,根據終端的操作系統(tǒng)類型,進行數(shù)據流轉碼,通過訪問單元203訪問終端設備,或者訪問平臺執(zhí)行系統(tǒng),使觸發(fā)服務具備由終端側采集數(shù)據后觸發(fā)和平臺側消息指令觸發(fā)兩種形式;能夠通過所述訪問單元203接收終端設備的信息,對數(shù)據流進行轉碼,發(fā)送給所述接口單元201。
所述訪問單元203,能夠在終端操作系統(tǒng)上,訪問終端設備提供的各種功能并能夠與所述轉換單元202通信。
圖14所示為本發(fā)明實施例的終端組件模塊21,包括:終端組件存儲單元211、終端組件加載單元212、終端組件解析單元213、終端組件執(zhí)行單元214。
所述終端組件存儲單元211,保存組件的元數(shù)據、執(zhí)行文件、依賴文件。
所述終端組件加載單元212,能夠加載在所述一體化應用開發(fā)環(huán)境中的終端類組件,并通過組件id對組件進行增加、刪除、升級;能夠將所述組件在保存在所述終端組件存儲單元211中。
所述終端組件解析單元213,能夠解析所述終端組件存儲單元211中的組件元數(shù)據,通知組件執(zhí)行單元214運行所述組件。
所述終端組件執(zhí)行單元214,能夠通過所述組件的執(zhí)行文件、依賴文件,運行所述組件的特定功能。由于所述組件是基于終端側的所述基礎模塊進行開發(fā)的,因此,所述執(zhí)行單元會將組件數(shù)據發(fā)送給所述基礎模塊的接口單元。
圖15所示為本發(fā)明實施例的終端解析執(zhí)行模塊22,用于解析并執(zhí)行終端側應用邏輯執(zhí)行包,包括:終端解析單元221、終端節(jié)點執(zhí)行單元222、終端組件執(zhí)行單元223。
所述終端解析單元221,能夠根據終端側業(yè)務邏輯流程描述信息,依次解析各個元素。若元素是一個節(jié)點,則調用節(jié)點執(zhí)行單元運行,并接收運行結果;若元素是一個組件,則調用組件執(zhí)行單元執(zhí)行,并接收運行結果。
所述終端解析單元221,當該業(yè)務邏輯流程是以一個開始節(jié)點啟動,則立即觸發(fā);若該業(yè)務邏輯流程是以一個終端觸發(fā)服務啟動,則監(jiān)聽所述基礎模塊的接口單元,當有該觸發(fā)服務的輸入條件并接收到相關參數(shù)后觸發(fā)。
所述終端解析單元221,當啟動終端側執(zhí)行監(jiān)控功能時,所述解析單元221能夠將該元素的信息以及運行結果,通過所述通信模塊發(fā)送給平臺執(zhí)行環(huán)境。
所述終端節(jié)點執(zhí)行單元222,能夠對節(jié)點的邏輯進行執(zhí)行,并返回運行結果。
所述終端組件執(zhí)行單元223,能夠調用所述組件模塊的解析單元,對組件的功能進行執(zhí)行,并返回運行結果。
所述終端通信模塊23,用于終端側與平臺側進行通信。所述通信模塊23提供的通信協(xié)議、通信接口,均為終端側和平臺側在物聯(lián)網應用中協(xié)定一致的。所述終端通信模塊23在與所述平臺執(zhí)行環(huán)境通信時,使用所述終端基礎模塊20的接口單元201提供的統(tǒng)一接口。
所述終端監(jiān)控模塊24,用于監(jiān)控對于終端側應用業(yè)務邏輯的執(zhí)行情況,并將執(zhí)行結果導出進行顯示,例如,若終端通信模塊23遇到通信鏈路異常,能夠緩存終端側的執(zhí)行結果,以終端監(jiān)控包的形式將執(zhí)行結果導出。
利用上述物聯(lián)網終端執(zhí)行系統(tǒng)接收、解析并執(zhí)行終端側應用業(yè)務邏輯,并對執(zhí)行情況進行監(jiān)控,將終端側應用業(yè)務邏輯中的各個組件信息以及運行結果發(fā)送給平臺側,實現(xiàn)物聯(lián)網終端應用。
此外,基于上述物聯(lián)網終端應用一體化生成方法生成的終端側應用業(yè)務邏輯和平臺側應用業(yè)務邏輯,本發(fā)明還提供了一種物聯(lián)網執(zhí)行系統(tǒng),應用于平臺側,如圖16所示,所述系統(tǒng)其包括:平臺基礎模塊30、平臺組件模塊31、平臺解析執(zhí)行模塊32、平臺通信模塊33和平臺監(jiān)控模塊34。
具體來看,平臺基礎模塊30,用于提供接口以接收平臺側應用業(yè)務邏輯,并進行數(shù)據轉換;平臺組件模塊31,用于加載平臺側應用業(yè)務邏輯所需組件,并對所述組件進行執(zhí)行和維護;平臺解析執(zhí)行模塊32,用于解析并觸發(fā)平臺側應用業(yè)務邏輯;平臺通信模塊33,用于進行終端側與平臺側之間的通信,接收終端執(zhí)行所述終端側應用業(yè)務邏輯的執(zhí)行結果;平臺監(jiān)控模塊34,用于通過平臺通信模塊接收或者導入終端監(jiān)控包這兩種方式,獲取終端側應用業(yè)務邏輯執(zhí)行結果并進行展示。
其中,平臺側應用業(yè)務邏輯可提供兩種觸發(fā)方式:(1)以開始節(jié)點觸發(fā)和(2)以來自終端側的消息指令觸發(fā)。如果所述平臺側應用業(yè)務邏輯是以開始節(jié)點觸發(fā),啟動后立即觸發(fā);如果以終端側消息指令觸發(fā),接收到終端側的消息指令后觸發(fā)。
如圖17所示,所述平臺組件模塊31包括:平臺組件存儲單元311、平臺組件加載單元312、平臺組件解析單元313、平臺組件執(zhí)行單元314。
所述平臺組件存儲單元311,保存組件的元數(shù)據、執(zhí)行文件、依賴文件。
所述平臺組件加載單元312,能夠加載在所述一體化應用開發(fā)環(huán)境中的平臺類組件,并通過組件id對組件進行增加、刪除、升級。能夠將所述組件在保存在所述平臺組件存儲單元311中。
所述平臺組件解析單元313,能夠解析所述平臺組件存儲單元311中的組件元數(shù)據,通知平臺組件執(zhí)行單元314運行所述組件。
所述平臺組件執(zhí)行單元314,能夠通過所述組件的執(zhí)行文件、依賴文件,運行所述組件的特定功能。
如圖18所示,所述平臺解析執(zhí)行模塊32包括:平臺解析單元321、平臺節(jié)點執(zhí)行單元322、平臺組件執(zhí)行單元323。
所述平臺解析單元321,能夠根據平臺側應用業(yè)務邏輯的描述信息,依次解析各個元素。若元素是一個節(jié)點,則調用所述平臺節(jié)點執(zhí)行單元322運行,并接收運行結果;若元素是一個組件,則調用平臺組件執(zhí)行單元323運行,并接收運行結果。所述平臺解析單元321將兩部分運行結果發(fā)送給平臺監(jiān)控模塊33。
所述平臺通信模塊33,用于平臺側與終端側進行通信,當接收到終端側的信息指令后,可以通過觸發(fā)服務啟動平臺側應用業(yè)務邏輯。所述平臺通信模塊33還接收來自終端的終端側應用業(yè)務邏輯的運行結果,并發(fā)送給所述平臺監(jiān)控模塊34。所述平臺通信模塊33提供的通信協(xié)議、通信接口,均為平臺側和終端側在物聯(lián)網應用中協(xié)定一致的。
所述平臺監(jiān)控模塊34,能夠通過通信模塊接收或者導入終端監(jiān)控包這兩種方式,獲取終端側應用業(yè)務邏輯執(zhí)行結果,再結合來自所述平臺解析單元321和所述平臺通信模塊33的平臺側應用業(yè)務邏輯執(zhí)行結果,在監(jiān)控區(qū)域以圖形化的方式將執(zhí)行展示出來,對于返回的執(zhí)行結果正常、異常、未執(zhí)行等情況,在監(jiān)控區(qū)域以不同的顏色區(qū)分顯示。
利用上述物聯(lián)網平臺執(zhí)行系統(tǒng),能夠接收終端側應用業(yè)務邏輯的執(zhí)行結果,結合平臺側應用業(yè)務邏輯的執(zhí)行情況,實現(xiàn)一體化業(yè)務邏輯的執(zhí)行和監(jiān)控功能。
以上內容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。