專利名稱:一種基于軟件主體的環(huán)境探知平臺(tái)系統(tǒng)及其環(huán)境探知方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自適應(yīng)網(wǎng)絡(luò)應(yīng)用系統(tǒng)支持技術(shù),特別涉及一種探知網(wǎng)絡(luò)應(yīng)用系統(tǒng) 相關(guān)運(yùn)行環(huán)境信息的方法。
背景技術(shù):
隨著hternet的出現(xiàn)和迅速普及,計(jì)算機(jī)軟件所面臨的運(yùn)行環(huán)境開始從封閉、靜 態(tài)、可控逐步走向開放、動(dòng)態(tài)、難控。如何在開放、動(dòng)態(tài)和難控的網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)各類資源的 共享和集成已經(jīng)成為計(jì)算機(jī)軟件技術(shù)面臨的重要挑戰(zhàn)之一。為適應(yīng)這樣一種發(fā)展趨勢, 軟件系統(tǒng)應(yīng)能感知其運(yùn)行環(huán)境的動(dòng)態(tài)變化,并隨著這種變化按照預(yù)先定義的功能指標(biāo)、性 能指標(biāo)和可靠性指標(biāo)進(jìn)行靜態(tài)離線的調(diào)整和動(dòng)態(tài)在線的演化,即要求系統(tǒng)具有感知環(huán)境 并自動(dòng)調(diào)整的能力。探知軟件系統(tǒng)運(yùn)行環(huán)境及其動(dòng)態(tài)變化的能力則是這種自適應(yīng)信息軟件系統(tǒng)形態(tài) 得以存在和發(fā)展的最為重要的基礎(chǔ)和前提。構(gòu)成軟件系統(tǒng)運(yùn)行環(huán)境的因素眾多,包括其物 理環(huán)境因素,例如溫度、濕度、亮度、電磁等物理信息;還有數(shù)字環(huán)境因素,例如網(wǎng)絡(luò)帶寬、網(wǎng) 絡(luò)負(fù)載、資源消耗、系統(tǒng)響應(yīng)時(shí)間。探知系統(tǒng)運(yùn)行環(huán)境主要是依靠各種傳感器?,F(xiàn)階段存在各式各樣的軟硬件傳感 器。硬件傳感器方面,有測量溫度、濕度、亮度、電磁等物理信息的傳感器,它們可以用來探 測系統(tǒng)運(yùn)行節(jié)點(diǎn)所處的客觀物理環(huán)境的相關(guān)信息;軟件傳感器方面,有用于測量網(wǎng)絡(luò)帶寬、 網(wǎng)絡(luò)負(fù)載、資源消耗、系統(tǒng)響應(yīng)時(shí)間等格式傳感器,利用它們可以測量應(yīng)用系統(tǒng)所處計(jì)算機(jī) 世界的相關(guān)環(huán)境信息。但由于各種傳感器在通信介質(zhì)、通信協(xié)議、數(shù)據(jù)表示等各方面都存有 異構(gòu),要簡單、有效的使用各種傳感器的信息,支持上層自適應(yīng)網(wǎng)絡(luò)應(yīng)用的開發(fā)和運(yùn)行,則 必須提供一個(gè)統(tǒng)一的環(huán)境探知平臺(tái)。該平臺(tái)能夠有效屏蔽底層各種傳感器的異構(gòu),對(duì)上層 自適應(yīng)網(wǎng)絡(luò)應(yīng)用提供統(tǒng)一的應(yīng)用接口。但是,現(xiàn)有的環(huán)境探知平臺(tái)并不能較好的支持自適應(yīng)網(wǎng)絡(luò)應(yīng)用的需求,具體表現(xiàn) 在以下幾點(diǎn)1.傳統(tǒng)環(huán)境探知平臺(tái)針對(duì)一個(gè)相對(duì)獨(dú)立的空間,而非整個(gè)hternet環(huán)境; 2.傳統(tǒng)環(huán)境探知平臺(tái)忽視了自適應(yīng)網(wǎng)絡(luò)應(yīng)用的分布性和網(wǎng)絡(luò)連接的普遍性,應(yīng)用的分布性 使得其相關(guān)環(huán)境信息同樣具有分布性,而傳統(tǒng)集中式的處理方式不能滿足需求;3.傳統(tǒng)環(huán) 境信息探知平臺(tái)先傳輸環(huán)境信息然后再處理,帶來的大量網(wǎng)絡(luò)開銷。軟件主體技術(shù)通常包含兩層概念,分別是移動(dòng)主體和自治主體。前者是傳統(tǒng)面向?qū)?象思想的延伸,一個(gè)移動(dòng)主體是狀態(tài)和行為的良好封裝,它能代表用戶在網(wǎng)絡(luò)空間自由流動(dòng), 完成指定的功能,由于其移動(dòng)性兼具有獨(dú)立性的特征故而稱之為移動(dòng)主體;后者強(qiáng)調(diào)其智 能性,它能代表用戶自主感知外界情境變化,并能根據(jù)變化做出相應(yīng)的反應(yīng)從而適應(yīng)環(huán)境, 由于它的這種自治性兼具有獨(dú)立性的特征故而稱之為自治主體。如何將軟件主體技術(shù)和環(huán) 境探知平臺(tái)相結(jié)合,利用軟件主體的優(yōu)勢實(shí)現(xiàn)對(duì)環(huán)境的探知是目前本領(lǐng)域探索的方向。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于軟件主體的環(huán)境探知平臺(tái)系統(tǒng)及其 環(huán)境探知方法,該系統(tǒng)及方法可以有效屏蔽底層軟硬件傳感器的異構(gòu)性,提供統(tǒng)一的環(huán)境 信息獲取方式,降低網(wǎng)絡(luò)負(fù)載,并動(dòng)態(tài)的調(diào)整系統(tǒng)所需的相關(guān)環(huán)境信息及其處理邏輯。本發(fā)明所述的一種基于軟件主體的環(huán)境探知平臺(tái)系統(tǒng),該平臺(tái)系統(tǒng)安裝在每一個(gè) 網(wǎng)絡(luò)計(jì)算機(jī)節(jié)點(diǎn)上,并包括以下相互連接的組成部分基礎(chǔ)通訊模塊用于實(shí)現(xiàn)不同計(jì)算機(jī)節(jié)點(diǎn)的基本通信能力,并支持其余的幾個(gè)模塊的 跨網(wǎng)絡(luò)通信;軟件主體運(yùn)行管理模塊用于具體管理軟件主體,提供創(chuàng)建軟件主體,部署軟件主體, 運(yùn)行或暫停軟件主體,銷毀軟件主體的基本功能;環(huán)境信息分發(fā)模塊集中負(fù)責(zé)當(dāng)前計(jì)算機(jī)節(jié)點(diǎn)有關(guān)環(huán)境信息的分發(fā)操作,其代表運(yùn)行 在當(dāng)前計(jì)算機(jī)節(jié)點(diǎn)的所有軟件主體向運(yùn)行在其他計(jì)算機(jī)節(jié)點(diǎn)的軟件主體獲取相應(yīng)的環(huán)境 信息;同時(shí),也負(fù)責(zé)向其他計(jì)算機(jī)節(jié)點(diǎn)的軟件主體分發(fā)本地軟件主體所維護(hù)的相應(yīng)環(huán)境信 息;集成命令處理模塊用于接收集成方發(fā)送的集成命令并處理,集成方發(fā)送的命令包括 查詢環(huán)境中的軟件主體,創(chuàng)建指定軟件主體,部署指定軟件主體,運(yùn)行指定軟件主體,暫停 指定軟件主體,銷毀指定軟件主體,修改軟件主體之間環(huán)境信息需求關(guān)系;集成命令處理模 塊收到集成方命令之后,聯(lián)系軟件主體管理模塊以及環(huán)境信息分發(fā)模塊以最終完成命令的 操作。本發(fā)明所述的基于軟件主體的環(huán)境探知方法,首先在每一個(gè)網(wǎng)絡(luò)計(jì)算機(jī)節(jié)點(diǎn)上安 裝環(huán)境探知平臺(tái)系統(tǒng),該平臺(tái)系統(tǒng)包括相互連接的基礎(chǔ)通訊模塊、軟件主體運(yùn)行管理模塊、 環(huán)境信息分發(fā)模塊和集成命令處理模塊;該方法包括以下步驟1)首先明確所關(guān)注的環(huán)境信息類型以及所關(guān)注的節(jié)點(diǎn),2)查詢是否已有能夠滿足步驟1)所關(guān)注節(jié)點(diǎn)的環(huán)境信息的軟件主體部署并運(yùn)行;a)向集成命令處理模塊發(fā)送查詢命令;b)集成命令處理模塊進(jìn)一步通過基礎(chǔ)通訊模塊聯(lián)系各個(gè)節(jié)點(diǎn)的軟件主體管 理模塊以完成相應(yīng)的具體查詢操作;3)如果存在上述滿足要求的軟件主體,則直接使用并轉(zhuǎn)7;否則轉(zhuǎn)4);4)軟件主體的創(chuàng)建a)向集成命令處理模塊發(fā)送創(chuàng)建軟件主體的命令;b)集成命令處理模塊接收命令之后通過基礎(chǔ)通訊模塊調(diào)用軟件主體運(yùn)行管理模塊的 創(chuàng)建軟件主體功能,以創(chuàng)建指定類型的軟件主體實(shí)例;5)軟件主體的部署a)向集成命令處理模塊發(fā)送部署命令;b)集成命令處理模塊接收部署命令之后進(jìn)一步通過基礎(chǔ)通訊模塊聯(lián)系軟件主體模塊;c)軟件主體運(yùn)行管理模塊通過基礎(chǔ)通訊模塊將創(chuàng)建好的軟件主體實(shí)例部署到指定的 網(wǎng)絡(luò)節(jié)點(diǎn)上;6)軟件主體的綁定;當(dāng)一個(gè)節(jié)點(diǎn)接收到軟件主體之后,其軟件主體運(yùn)行管理模塊首先判斷軟件主體是底層軟件主體還是高層軟件主體,如果是底層軟件主體則轉(zhuǎn)6a),否則轉(zhuǎn) 6b);a)底層軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,同底層相應(yīng)的軟硬件傳感器建立通訊;軟件主 體運(yùn)行管理模塊啟動(dòng)底層軟件主體運(yùn)行,底層軟件主體從底層傳感器獲得原始信息并轉(zhuǎn)化 為統(tǒng)一格式信息,并利用節(jié)點(diǎn)的環(huán)境信息分發(fā)模塊進(jìn)一步提供給高層軟件主體,轉(zhuǎn)7);b)高層軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,利用環(huán)境信息分發(fā)模塊建立同所依賴的其他低 層次的軟件主體的環(huán)境信息分發(fā)鏈路;軟件主體運(yùn)行管理模塊啟動(dòng)高層軟件主體,向其所 依賴的其他軟件主體獲得環(huán)境信息并匯總、融合,獲得高層次的環(huán)境信息,并利用環(huán)境信息 分發(fā)模塊進(jìn)一步提供給更高層軟件實(shí)體;7)結(jié)束。本發(fā)明采用軟件主體技術(shù)為基礎(chǔ),通過在構(gòu)成網(wǎng)絡(luò)應(yīng)用系統(tǒng)的各個(gè)組成構(gòu)件所在 的運(yùn)行節(jié)點(diǎn)安裝或部署各種硬件或軟件傳感器,并進(jìn)一步通過動(dòng)態(tài)部署軟件主體對(duì)底層的 各種傳感器進(jìn)行封裝,屏蔽了底層的異構(gòu)性;軟件主體同時(shí)也是環(huán)境信息融合處理以及分 發(fā)的基本單位,能夠?qū)λ@取的環(huán)境信息進(jìn)行進(jìn)一步處理和融合操作以獲得新的高層次的 環(huán)境信息,并將此信息進(jìn)一步提供給其他軟件主體使用,從而形成一個(gè)統(tǒng)一的層次化的環(huán) 境信息獲取、融合和分發(fā)框架。本發(fā)明的有益效果1)提供統(tǒng)一的環(huán)境信息獲取方式,簡化應(yīng)用開發(fā),提高自適應(yīng)網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)效率。2)利用軟件主體的自主性、移動(dòng)性和封裝性,將環(huán)境信息的獲取、處理和分發(fā)邏輯 分散到不同的軟件主體之中,并將其部署到網(wǎng)絡(luò)的不同節(jié)點(diǎn),一方面可以充分利用分散的 網(wǎng)絡(luò)計(jì)算資源,同時(shí)減少傳統(tǒng)環(huán)境探知平臺(tái)集中式處理帶來的性能瓶頸和單點(diǎn)失效帶來的 災(zāi)難。3)利用軟件主體的移動(dòng)性和封裝性,用軟件主體封裝環(huán)境信息的處理邏輯并遷移 到環(huán)境信息源所在節(jié)點(diǎn),可以實(shí)現(xiàn)環(huán)境信息處理本地化;這種先處理再傳輸?shù)姆绞娇梢越?低傳統(tǒng)環(huán)境信息探知平臺(tái)直接傳輸環(huán)境信息在處理所帶來的大量網(wǎng)絡(luò)開銷。4)利用軟件主體的移動(dòng)性和封裝性,可以在應(yīng)用系統(tǒng)的運(yùn)行過程中動(dòng)態(tài)的創(chuàng)建新 的軟件主體并部署,或者用新的軟件主體替換原有的軟件主體,或者刪除原有的軟件主體, 從而實(shí)現(xiàn)環(huán)境信息處理的動(dòng)態(tài)調(diào)整。
圖1 基于軟件主體環(huán)境探知平臺(tái)的系統(tǒng)位置, 圖2 探知環(huán)境的軟件主體的基本邏輯結(jié)構(gòu)示意圖,圖3 基于軟件主體的環(huán)境信息獲取、融合、分發(fā)框架邏輯視圖, 圖4:本發(fā)明的概要結(jié)構(gòu)圖, 圖5:本發(fā)明的使用流程圖, 圖6 環(huán)境信息分發(fā)順序圖, 圖7a —個(gè)網(wǎng)絡(luò)訂票應(yīng)用示意圖, 圖7b 具有環(huán)境探知能力的網(wǎng)絡(luò)訂票應(yīng)用示意圖, 圖7c 新構(gòu)件及相應(yīng)軟件主體的動(dòng)態(tài)添加,6圖7d 構(gòu)件及相應(yīng)軟件主體運(yùn)行時(shí)刻動(dòng)態(tài)遷移。
具體實(shí)施例方式本發(fā)明的硬件環(huán)境本發(fā)明需要部署若干傳感器,以建立一個(gè)獲取網(wǎng)絡(luò)運(yùn)行系統(tǒng)所處物理環(huán)境的相關(guān)信 息,例如,溫度、濕度等信息,但不限于上述信息;針對(duì)應(yīng)用系統(tǒng)所運(yùn)行的所用網(wǎng)絡(luò)節(jié)點(diǎn)計(jì)算機(jī)要求其網(wǎng)絡(luò)連接時(shí)刻不會(huì)間斷。本發(fā)明的軟件環(huán)境針對(duì)應(yīng)用系統(tǒng)所運(yùn)行的所用網(wǎng)絡(luò)節(jié)點(diǎn)計(jì)算機(jī),推薦以下軟件環(huán)境 Java運(yùn)行環(huán)境——JRE1. 6或以上版本。軟件主體的生成和管理軟件主體由主體管理器管理,除基本的生命周期管理之外,還提供遷移部署、通訊等基 本支持。下面結(jié)合附圖具體介紹圖1,給出了使用本發(fā)明的在計(jì)算機(jī)系統(tǒng)的具體位置,針對(duì)使用本發(fā)明的計(jì)算機(jī),需要 在操作系統(tǒng)之上安裝Java運(yùn)行環(huán)境,以支持基于軟件主體的環(huán)境探知平臺(tái)的正常運(yùn)行。圖2,給出了本發(fā)明中軟件主體基本結(jié)構(gòu),每個(gè)軟件主體都具有一個(gè)可以唯一標(biāo)識(shí) 它的標(biāo)示符id ;此外軟件主體還具有從外界獲取環(huán)境信息的“環(huán)境信息獲取模塊”;獲取到 的信息經(jīng)由軟件主體的“環(huán)境信息處理模塊”進(jìn)行分析、融合、推理處理,得到更高抽象層次 的環(huán)境信息,并存放在軟件主體的“環(huán)境信息存儲(chǔ)模塊”;存儲(chǔ)的環(huán)境信息可以進(jìn)一步提供 給其他軟件主體所使用。圖3,給出了本發(fā)明的基本邏輯結(jié)構(gòu)視圖,在網(wǎng)絡(luò)應(yīng)用系統(tǒng)所運(yùn)行的各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn) 上部署著各式各樣的軟硬件傳感器。硬件傳感器方面,有測量溫度、濕度、亮度、電磁等物理 信息的傳感器,它們可以用來探測系統(tǒng)運(yùn)行節(jié)點(diǎn)所處的客觀物理環(huán)境的相關(guān)信息;軟件傳 感器方面,有用于測量網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)負(fù)載、資源消耗、相應(yīng)時(shí)間等格式傳感器,利用它們可 以測量應(yīng)用系統(tǒng)所處計(jì)算機(jī)世界的相關(guān)環(huán)境信息。底層軟件主體封裝底層各個(gè)軟硬件傳感器,屏蔽各個(gè)傳感器之間的異構(gòu)性,提供 統(tǒng)一的訪問、控制操作方式;它們從底層各個(gè)傳感器獲取原始的環(huán)境信息,將其轉(zhuǎn)換統(tǒng)一的 形式存放,并進(jìn)一步提供給上層的高層軟件主體。高層的軟件主體則從底層軟件主體或其他高層軟件主體獲取相應(yīng)的不同抽象層 次擔(dān)任環(huán)境信息,并對(duì)這些信息進(jìn)行進(jìn)一步的匯總、推理等融合操作,獲得更高抽象層次的 環(huán)境信息。應(yīng)用則可依據(jù)需要從不同的軟件主體處獲取所關(guān)注的環(huán)境信息。圖4,給出了基于軟件主體的環(huán)境探知技術(shù)的整體框架圖,針對(duì)每一個(gè)使用本發(fā)明 的網(wǎng)絡(luò)計(jì)算機(jī)節(jié)點(diǎn),都必須事先安裝本發(fā)明的基于軟件主體的環(huán)境探知平臺(tái)系統(tǒng);該平臺(tái) 系統(tǒng)包括以下幾個(gè)部分基礎(chǔ)通訊模塊用于實(shí)現(xiàn)不同計(jì)算機(jī)節(jié)點(diǎn)的基本通信能力,其他幾個(gè)模塊的跨網(wǎng)絡(luò)通 信都有基礎(chǔ)通訊模塊支持。軟件主體管理模塊用于具體管理軟件主體,提供創(chuàng)建軟件主體,部署軟件主體,7運(yùn)行或暫停軟件主體,銷毀軟件主體的基本功能。本部分可以使用現(xiàn)有的不同軟件主體平 臺(tái)來具體實(shí)現(xiàn)。環(huán)境信息分發(fā)模塊集中負(fù)責(zé)當(dāng)前計(jì)算機(jī)節(jié)點(diǎn)有關(guān)環(huán)境信息的分發(fā)操作。他代表 運(yùn)行在當(dāng)前計(jì)算機(jī)節(jié)點(diǎn)的所有軟件主體向運(yùn)行在其他計(jì)算機(jī)節(jié)點(diǎn)的軟件主體獲取相應(yīng)的 環(huán)境信息;同時(shí),也負(fù)責(zé)向其他計(jì)算機(jī)節(jié)點(diǎn)的軟件主體分發(fā)本地軟件主體所維護(hù)的相應(yīng)環(huán) -^ifn 息。集成命令處理模塊用于接收集成方發(fā)送的集成命令并處理。集成方發(fā)送的命令 包括創(chuàng)建指定軟件主體,部署指定軟件主體,運(yùn)行指定軟件主體,暫停指定軟件主體,銷毀 指定軟件主體,修改軟件主體之間環(huán)境信息需求關(guān)系。集成命令處理模塊收到集成方命令 之后,聯(lián)系軟件主體管理模塊以及環(huán)境信息分發(fā)模塊以最終完成命令的操作。圖5,給出了如何使用本發(fā)明的整體流程1)首先是需要明確所關(guān)注的環(huán)境信息類型以及所關(guān)注的節(jié)點(diǎn),2)查詢是否已經(jīng)有滿足上述要求的軟件主體已部署并運(yùn)行,3)如果存在上述滿足要求的軟件主體,則直接使用并轉(zhuǎn)11);否則轉(zhuǎn)4),4)創(chuàng)建指定類型的軟件主體實(shí)例,5)將創(chuàng)建好的軟件主體實(shí)例部署到指定的網(wǎng)絡(luò)節(jié)點(diǎn)上,6)軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,進(jìn)行綁定工作;首先判斷軟件主體是底層軟件主體 還是高層軟件主體,如果是底層軟件主體則轉(zhuǎn)7),否則轉(zhuǎn)9)7)底層軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,同底層相應(yīng)的軟硬件傳感器建立通訊,8)啟動(dòng)底層軟件主體運(yùn)行,向底層傳感器獲得原始信息并轉(zhuǎn)化為統(tǒng)一格式信息,進(jìn)一 步提供給高層軟件主體,轉(zhuǎn)11),9)高層軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,建立同所依賴的其他低層的軟件主體的通信 鏈路,10)啟動(dòng)高層軟件主體,向其所依賴的其他軟件主體獲得環(huán)境信息并匯總、融合,獲得 高層次的環(huán)境信息,并進(jìn)一步提供給更高層軟件實(shí)體,11)結(jié)束。圖6給出了環(huán)境信息從底層軟件實(shí)體獲取到應(yīng)用處理的順序關(guān)系1)當(dāng)?shù)讓榆浖黧w得到底層傳感器探知到的原始環(huán)境信息后,其首先將該原始信息轉(zhuǎn) 換為統(tǒng)一的數(shù)據(jù)格式;然后判斷該環(huán)境信息是否發(fā)生了變化,如果是則將更新后的新數(shù)據(jù) 通知給上層的高層軟件主體。2)高層軟件主體接收到環(huán)境更新消息后,首先將其同現(xiàn)有信息進(jìn)行融合,以獲取 高層的環(huán)境信息;然后判斷該環(huán)境信息是否發(fā)生了變化,如果是則將更新后的新數(shù)據(jù)通知 給上層的高層軟件主體或應(yīng)用系統(tǒng)。3)應(yīng)用系統(tǒng)接收到環(huán)境更新消息后,進(jìn)行進(jìn)一步的處理,處理邏輯由應(yīng)用自身指定。圖7a給出了一個(gè)示例應(yīng)用的示意圖該應(yīng)用是針對(duì)一個(gè)網(wǎng)絡(luò)訂票的場景,系統(tǒng)由分布在3個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的3個(gè)構(gòu)件組成,其 中一個(gè)構(gòu)件M專門負(fù)責(zé)接收訂票請求,其他兩個(gè)構(gòu)件Si,S2則接收M發(fā)送的命令完成訂票 的具體操作。
為了提高服務(wù)的質(zhì)量,這里主要是訂票服務(wù)的響應(yīng)時(shí)間;我們要求M總是選擇Si, S2中相應(yīng)時(shí)間最快的一個(gè)執(zhí)行具體的訂票操作。如圖7b所示,為了次目標(biāo),我們在上述3個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上部署我們的基于主體的環(huán) 境探知平臺(tái),然后進(jìn)一步部署兩個(gè)底層軟件主體Al,A2到S1,S2所在節(jié)點(diǎn),分別探知S1,S2 的響應(yīng)時(shí)間;于此同時(shí),部署一個(gè)高層軟件主體Am到M所在節(jié)點(diǎn),A3從A1,A2及時(shí)獲取Si, S2的響應(yīng)時(shí)間,這樣M則可以依據(jù)獲取的Si,S2的響應(yīng)時(shí)間進(jìn)行決策,選擇響應(yīng)最快的構(gòu) 件完成具體的訂票操作。如圖7c所示,網(wǎng)絡(luò)訂票系統(tǒng)運(yùn)行的過程中,我們可以動(dòng)態(tài)的添加一個(gè)新的計(jì)算構(gòu) 件S3,它同S1,S2—樣也是完成具體訂票操作的。為了保持圖7b中的環(huán)境感知需求,我們 也可以在S3所在節(jié)點(diǎn)部署一個(gè)探知S3響應(yīng)時(shí)間的軟件主體A3.;相反的,當(dāng)我們將圖7c中 S3從系統(tǒng)刪除之后,相應(yīng)的軟件主體A3也將被銷毀,從而又轉(zhuǎn)回圖7b所示配置。如圖7d所示,當(dāng)由于人為因素(系統(tǒng)管理員對(duì)系統(tǒng)進(jìn)行調(diào)整)或系統(tǒng)自動(dòng)調(diào)整因素 的影響,我們需要將圖7b中S2構(gòu)件遷移到一個(gè)新的節(jié)點(diǎn),此時(shí)相應(yīng)的探知環(huán)境的軟件主體 A2也自動(dòng)隨S2的遷移而遷移到新的節(jié)點(diǎn)繼續(xù)探知S2構(gòu)件的響應(yīng)時(shí)間。
權(quán)利要求
1.一種基于軟件主體的環(huán)境探知平臺(tái)系統(tǒng),其特征在于該平臺(tái)系統(tǒng)安裝在每一個(gè)網(wǎng)絡(luò) 計(jì)算機(jī)節(jié)點(diǎn)上,并包括以下相互連接的組成部分基礎(chǔ)通訊模塊用于實(shí)現(xiàn)不同計(jì)算機(jī)節(jié)點(diǎn)的基本通信能力,并支持其余的幾個(gè)模塊的 跨網(wǎng)絡(luò)通信;軟件主體運(yùn)行管理模塊用于具體管理軟件主體,提供創(chuàng)建軟件主體,部署軟件主體, 運(yùn)行或暫停軟件主體,銷毀軟件主體的基本功能;環(huán)境信息分發(fā)模塊集中負(fù)責(zé)當(dāng)前計(jì)算機(jī)節(jié)點(diǎn)有關(guān)環(huán)境信息的分發(fā)操作,其代表運(yùn)行 在當(dāng)前計(jì)算機(jī)節(jié)點(diǎn)的所有軟件主體向運(yùn)行在其他計(jì)算機(jī)節(jié)點(diǎn)的軟件主體獲取相應(yīng)的環(huán)境 信息;同時(shí),也負(fù)責(zé)向其他計(jì)算機(jī)節(jié)點(diǎn)的軟件主體分發(fā)本地軟件主體所維護(hù)的相應(yīng)環(huán)境信 息;集成命令處理模塊用于接收集成方發(fā)送的集成命令并處理,集成方發(fā)送的命令包括 查詢環(huán)境中的軟件主體,創(chuàng)建指定軟件主體,部署指定軟件主體,運(yùn)行指定軟件主體,暫停 指定軟件主體,銷毀指定軟件主體,修改軟件主體之間環(huán)境信息需求關(guān)系;集成命令處理模 塊收到集成方命令之后,聯(lián)系軟件主體管理模塊以及環(huán)境信息分發(fā)模塊以最終完成命令的 操作。
2.一種基于軟件主體的環(huán)境探知方法,首先在每一個(gè)網(wǎng)絡(luò)計(jì)算機(jī)節(jié)點(diǎn)上安裝環(huán)境探知 平臺(tái)系統(tǒng),該平臺(tái)系統(tǒng)包括相互連接的基礎(chǔ)通訊模塊、軟件主體運(yùn)行管理模塊、環(huán)境信息分 發(fā)模塊和集成命令處理模塊;其特征在于該方法包括以下步驟1)首先明確所關(guān)注的環(huán)境信息類型以及所關(guān)注的節(jié)點(diǎn),2)查詢是否已有能夠滿足步驟1)所關(guān)注節(jié)點(diǎn)的環(huán)境信息的軟件主體部署并運(yùn)行;a)向集成命令處理模塊發(fā)送查詢命令;b)集成命令處理模塊進(jìn)一步通過基礎(chǔ)通訊模塊聯(lián)系各個(gè)節(jié)點(diǎn)的軟件主體管理模塊以 完成相應(yīng)的具體查詢操作;3)如果存在上述滿足要求的軟件主體,則直接使用并轉(zhuǎn)7);否則轉(zhuǎn)4);4)軟件主體的創(chuàng)建a)向集成命令處理模塊發(fā)送創(chuàng)建軟件主體的命令;b)集成命令處理模塊接收命令之后通過基礎(chǔ)通訊模塊調(diào)用軟件主體運(yùn)行管理模塊的 創(chuàng)建軟件主體功能,以創(chuàng)建指定類型的軟件主體實(shí)例;5)軟件主體的部署a)向集成命令處理模塊發(fā)送部署命令;b)集成命令處理模塊接收部署命令之后進(jìn)一步通過基礎(chǔ)通訊模塊聯(lián)系軟件主體模塊;c)軟件主體運(yùn)行管理模塊通過基礎(chǔ)通訊模塊將創(chuàng)建好的軟件主體實(shí)例部署到指定的 網(wǎng)絡(luò)節(jié)點(diǎn)上;6)軟件主體的綁定;當(dāng)一個(gè)節(jié)點(diǎn)接收到軟件主體之后,其軟件主體運(yùn)行管理模塊首先 判斷軟件主體是底層軟件主體還是高層軟件主體,如果是底層軟件主體則轉(zhuǎn)6a),否則轉(zhuǎn) 6b);a)底層軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,同底層相應(yīng)的軟硬件傳感器建立通訊;軟件主 體運(yùn)行管理模塊啟動(dòng)底層軟件主體運(yùn)行,底層軟件主體從底層傳感器獲得原始信息并轉(zhuǎn)化為統(tǒng)一格式信息,并利用節(jié)點(diǎn)的環(huán)境信息分發(fā)模塊進(jìn)一步提供給高層軟件主體,轉(zhuǎn)7);b)高層軟件主體到達(dá)指定網(wǎng)絡(luò)節(jié)點(diǎn)后,利用環(huán)境信息分發(fā)模塊建立同所依賴的其他低 層次的軟件主體的環(huán)境信息分發(fā)鏈路;軟件主體運(yùn)行管理模塊啟動(dòng)高層軟件主體,向其所 依賴的其他軟件主體獲得環(huán)境信息并匯總、融合,獲得高層次的環(huán)境信息,并利用環(huán)境信息 分發(fā)模塊進(jìn)一步提供給更高層軟件實(shí)體; 7)結(jié)束。
全文摘要
本發(fā)明涉及一種基于軟件主體的環(huán)境探知平臺(tái)系統(tǒng)及其環(huán)境探知方法,該系統(tǒng)安裝在每一個(gè)網(wǎng)絡(luò)計(jì)算機(jī)節(jié)點(diǎn),包括基礎(chǔ)通訊模塊、軟件主體運(yùn)行管理模塊、環(huán)境信息分發(fā)模塊和集成命令處理模塊。其通過在構(gòu)成網(wǎng)絡(luò)應(yīng)用系統(tǒng)的各個(gè)組成構(gòu)件所在的運(yùn)行節(jié)點(diǎn)安裝或部署各種硬件或軟件傳感器,并進(jìn)一步通過動(dòng)態(tài)部署軟件主體對(duì)底層的各種傳感器進(jìn)行封裝,屏蔽了底層的異構(gòu)性;軟件主體同時(shí)也是環(huán)境信息融合處理以及分發(fā)的基本單位,能夠?qū)λ@取的環(huán)境信息進(jìn)行進(jìn)一步處理和融合操作以獲得新的高層次的環(huán)境信息,并將此信息進(jìn)一步提供給其他軟件主體使用,從而形成一個(gè)統(tǒng)一的層次化的環(huán)境信息獲取、融合和分發(fā)框架。
文檔編號(hào)G06F9/46GK102053865SQ20111000094
公開日2011年5月11日 申請日期2011年1月5日 優(yōu)先權(quán)日2011年1月5日
發(fā)明者呂建, 陶先平, 馬駿 申請人:南京大學(xué)