專利名稱:網(wǎng)構(gòu)軟件上下文感知系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)構(gòu)軟件上下文信息處理領(lǐng)域,尤其涉及網(wǎng)構(gòu)軟件上下文信息的感知
和管理。
背景技術(shù):
隨著計算機軟件技術(shù)的迅速發(fā)展,軟件系統(tǒng)所基于的計算機硬件平臺從集中封閉的計算平臺向開放的^iternet平臺轉(zhuǎn)變。為了應(yīng)對^iternet平臺下開放、動態(tài)、難控等特點對應(yīng)用軟件的開發(fā)、部署、運行、維護帶來的挑戰(zhàn),網(wǎng)構(gòu)軟件(Internetware)的概念應(yīng)運而生。在hternet開放,動態(tài)和多變的環(huán)境下,由于存在眾多的基礎(chǔ)軟件資源,網(wǎng)構(gòu)軟件研究的出發(fā)點將從軟件實體轉(zhuǎn)向?qū)嶓w間的動態(tài)協(xié)同,即基于協(xié)同的實體聚合。由于軟件協(xié)同模式與功能體的分離,程序設(shè)計的本質(zhì)就成為進行協(xié)同的過程。從技術(shù)的角度看,網(wǎng)構(gòu)軟件在hternet上呈現(xiàn)為一種與當(dāng)前的信息Web類似的 Software Web。以軟件構(gòu)件等技術(shù)支持的軟件實體將以開放自主的方式存在于hternet 的各個節(jié)點之上,任何一個軟件實體可在開放的環(huán)境下通過某種方式加以發(fā)布,并以各種協(xié)同方式與其它軟件實體進行跨網(wǎng)絡(luò)的互連、互通、協(xié)作和聯(lián)盟。Software Web不再僅僅是信息的提供者,而是各種服務(wù)功能的提供者。由于網(wǎng)絡(luò)環(huán)境的開放與動態(tài)性,以及用戶使用方式的個性化要求,從而決定了網(wǎng)構(gòu)軟件并不能夠像傳統(tǒng)軟件那樣一蹴而就,它需感知外部網(wǎng)絡(luò)環(huán)境的動態(tài)變化,并隨著這種變化按照功能指標(biāo)、性能指標(biāo)和可信性指標(biāo)等進行靜態(tài)的調(diào)整和動態(tài)的演化,以使系統(tǒng)具有盡可能高的用戶滿意度。在開放的環(huán)境下,網(wǎng)構(gòu)軟件的核心難點之一在于如何使軟件系統(tǒng)能夠在運行過程中對外部環(huán)境和應(yīng)用需求的變化做出適當(dāng)反應(yīng),從而將系統(tǒng)所提供服務(wù)的功能或性能等維持在一個令人滿意的水平上。而要解決這個難點,首先需要能夠感知到外部環(huán)境和應(yīng)用需求(即上下文信息)的變化。開發(fā)上下文感知系統(tǒng)的核心任務(wù)是網(wǎng)構(gòu)軟件上下文建模,它是應(yīng)用理解和使用上下文的關(guān)鍵。目前在網(wǎng)構(gòu)軟件上下文建模方面,主要有形式化與非形式化兩種途徑。采取非形式化途徑的系統(tǒng)主要有context Toolkit系統(tǒng);它采用了桌面⑶I程序設(shè)計的思想,用面向?qū)ο蟮姆绞矫枋錾舷挛?,將每種上下文建模成一個類,上下文的實例就是對象,特定的上下文融合依賴于特定的程序。Solar系統(tǒng);該系統(tǒng)的重點在于上下文聚集,即把不同數(shù)據(jù)源的上下文有效地聚集起來。非形式化的上下文建模方法優(yōu)點在于簡單易行,但是對于復(fù)雜的上下文信息以及上下文信息的共享、融合和沖突解決方面的需求,非形式化方法就無法滿足。因此,形式化的上下文建模方法被提出。
形式化上下文模型的方法采用形式化方法進行上下文的表達和組織,由邏輯推理的方式根據(jù)產(chǎn)生式規(guī)則生成高層上下文。代表性的工作有新加坡NUS大學(xué)提出的SOCAM框架、美國UMBC大學(xué)提出的CoBrA框架以及美國UIUC大學(xué)的(iaia項目中的上下文模型。在上下文信息管理方面,其難點主要存在以下三個方面(1)上下文沖突的解決。(2)歷史上下文的管理。(3)分布式環(huán)境中的上下文緩存管理。
發(fā)明內(nèi)容
針對上述的難點問題,本發(fā)明提出了一種能夠有效解決這些難點的網(wǎng)構(gòu)軟件上下文信息感知系統(tǒng)及方法。為達到上述目的,本發(fā)明網(wǎng)構(gòu)軟件上下文感知系統(tǒng),包括上下文感知引擎服務(wù)器,基于感知引擎從網(wǎng)絡(luò)環(huán)境中獲得上下文信息,并將上述上下文信息映射到已建成的網(wǎng)構(gòu)軟件上下文信息模型中;以及,上下文信息管理服務(wù)器,存儲已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信肩、ο進一步地,所述的感知引擎由上下文感知模塊,上下文映射模塊,插件管理模塊和通信模塊構(gòu)成;其中,所述上下文感知模塊,獲取網(wǎng)絡(luò)環(huán)境中的上下文信息;所述上下文映射模塊,將上下文感知模塊得到的上下文信息映射到網(wǎng)構(gòu)軟件上下文信息模型中;所述插件管理模塊,用于管理插件,其包括插件接口程序和插件添加刪除接口程序;所述通信模塊,建立所述上下文感知引擎服務(wù)器與上下文信息管理服務(wù)器之間的
ififn。進一步地,所述上下文信息管理服務(wù)器由存儲系統(tǒng)和查詢系統(tǒng)構(gòu)成。進一步地,還包括Web服務(wù)器,建立查詢服務(wù)網(wǎng)站,經(jīng)設(shè)置在所述上下文信息管理服務(wù)器上的查詢接口為客戶端提供查詢所述上下文信息管理服務(wù)器內(nèi)存儲的網(wǎng)構(gòu)軟件上下文信息的Web服務(wù)。進一步地,所述查詢接口包括查詢用戶的接口、獲取整個用戶上下文的接口、獲取用戶上下文模型中某個上下文的接口、獲取用戶某個上下文信息中某個屬性的接口以及獲取用戶模型中存在的上下文的路徑和屬性的接口。本發(fā)明網(wǎng)構(gòu)軟件上下文感知方法,包括以下幾個步驟(1)建立網(wǎng)構(gòu)軟件上下文信息模型,獲取網(wǎng)絡(luò)環(huán)境中的上下文信息,并將其映射到所述網(wǎng)構(gòu)軟件上下文信息模型中;(2)將已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息存儲到所述上下文信息管理服務(wù)器的數(shù)據(jù)庫中。進一步地,步驟(1)具體包括以下步驟a、定義網(wǎng)構(gòu)軟件上下文信息模型;
b、基于上述網(wǎng)構(gòu)軟件上下文信息模型,定義獲取各類型上下文信息的插件,并經(jīng)插件添加刪除接口將插件注冊到所述插件管理模塊中;C、所述插件管理模塊讀取插件信息,并啟動上下文感知模塊,獲取上下文信息;d、上下文映射模塊將上述上下文信息映射到所述網(wǎng)構(gòu)軟件上下文信息模型中;步驟⑵具體包括以下步驟e、將步驟d中已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息存儲到所述上下文信息管理服務(wù)器的數(shù)據(jù)庫中。進一步地,步驟e之后還包括,判斷存儲到所述上下文信息管理服務(wù)器內(nèi)的上下文信息是否與上一次存入的上下文信息相同;如不相同,將上一次存入的上下文信息存儲為歷史上下文信息,而將新存入的上下文信息作為當(dāng)前上下文信息;如相同,則忽略。進一步地,步驟(2)之后還包括建立查詢服務(wù)網(wǎng)站,經(jīng)設(shè)置在所述上下文信息管理服務(wù)器上的查詢接口為客戶端提供查詢其內(nèi)存儲的上下文信息。本發(fā)明通過對網(wǎng)構(gòu)軟件自適應(yīng)演化的需求和過程的研究,建立了網(wǎng)構(gòu)軟件上下文信息模型,基于這個模型,使用高級編程語言以插件驅(qū)動的方式感知和分析從網(wǎng)絡(luò)環(huán)境中獲得的上下文信息。然后,將感知到的上下文信息映射到所述網(wǎng)構(gòu)軟件上下文信息模型中, 并將其存儲到上下文信息管理服務(wù)器的數(shù)據(jù)庫中,同時還在本地和Web服務(wù)器提供了查詢接口。最后,本發(fā)明還建立了一個基本網(wǎng)站系統(tǒng),提供對上下文信息進行用戶注冊和登錄查詢等基本功能。本發(fā)明具有以下幾點有益的效果(1)本發(fā)明提出了網(wǎng)構(gòu)軟件上下文信息模型,將種類繁多的上下文信息進行分類和細化。并在網(wǎng)構(gòu)軟件上下文信息模型的基礎(chǔ)上,采用了軟件設(shè)計中的插件技術(shù)來實現(xiàn)上下文信息的感知。單個插件負責(zé)收集一個上下文信息,使得感知引擎具有很好的擴展性,且能夠屏蔽各種上下文信息獲取的底層實現(xiàn)不同的問題。(2)本發(fā)明能有效降低上下文信息存儲的冗余,通過判斷存入的新的上下文信息是否與原有的上下文信息相同,若不同,將原有的上下文信息存儲為歷史上下文,將新存入的上下文信息作為當(dāng)前上下文信息;如相同,則忽略。
圖1為本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)及方法的網(wǎng)構(gòu)軟件上下文信息模型的實施例示意圖;圖2為本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)的上下文感知引擎服務(wù)器的工作原理圖;圖3為本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)的結(jié)構(gòu)示意圖;圖4為本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)的應(yīng)用查詢網(wǎng)站的流程圖。
具體實施例方式下面結(jié)合說明書附圖對本發(fā)明的具體實施方式
做詳細描述。如圖1所示本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)及方法的網(wǎng)構(gòu)軟件上下文信息模型的實施例示意圖。本實施例建立的網(wǎng)構(gòu)軟件上下文信息模型,通過以下過程完成
(1)確立模型的目標(biāo)。模型建立的目標(biāo)是為了描述和收集網(wǎng)構(gòu)軟件的上下文信息。(2)確定模型的主體范圍。根據(jù)模型的應(yīng)用目的和設(shè)定的形式化程度,確定模型的知識主體范圍。(3)建立模型。在擁有了模型所必須包含的主體知識集合后,下一步就建立模型來表示知識,這一過程也是知識的概念化和形式化的過程,其任務(wù)包括三部分。首先,設(shè)計領(lǐng)域知識的整體概念結(jié)構(gòu),包括識別該領(lǐng)域重要的概念項、概念屬性和概念間的關(guān)系,提取或設(shè)立抽象概念作為組織特性,識別具體實例的概念;產(chǎn)生概念定義,決定如何對已定義的項進行組織,確定模型的結(jié)構(gòu),根據(jù)實際需要設(shè)計其他一些指導(dǎo)方針等。其次,利用類、關(guān)系、函數(shù)、公理、實例等要素組織和表示領(lǐng)域概念知識,其詳細程度以滿足模型的應(yīng)用目的為宜。最后,選擇合適的方法和語言,建立具體的模型。(4)檢查和評估模型。檢查模型是不是符合模型定制的幾點要求清晰,一致,可擴展性,編碼偏好程度最小等。(5)模型的修正和完善。根據(jù)模型的目標(biāo)和范圍,結(jié)合考慮具體的應(yīng)用情況,本實施例將主體知識范圍限定在一個終端機的場景內(nèi)。因此本實施例將上下文分為四大類,即計算上下文、用戶上下文、物理上下文、時間上下文。除了時間上下文外,繼續(xù)將其他三大類進行分解。用戶上下文分為位置,狀態(tài)和偏好上下文。計算上下文分為應(yīng)用上下文,服務(wù)上下文,設(shè)備上下文和網(wǎng)絡(luò)上下文。并且這四個小類還有細分。物理上下文分為室內(nèi)物理上下文和室外物理上下文,它們又進一步有細分。(如圖1中所示)本發(fā)明是將樹狀的上下文模型中的各節(jié)點通過路徑一一映射到集合之中進行管理。如圖2所示本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)的上下文感知引擎服務(wù)器的工作原理圖。上下文感知引擎服務(wù)器要做的工作是,從網(wǎng)絡(luò)環(huán)境中獲得上下文信息,并將其映射到網(wǎng)構(gòu)軟件上下文信息模型中。本發(fā)明采用軟件設(shè)計中的插件技術(shù)來實現(xiàn)上下文信息的感知。插件技術(shù)將目標(biāo)軟件分為兩部分,一部分為程序的主體或主框架,可定義為平臺;另一部分為功能擴展或補充模塊,即插件。上下文感知引擎服務(wù)器的感知工作由插件完成,即將一種上下文信息的獲取作為一個插件進行開發(fā)。通常一個插件獲得某一種上下文信息,各插件可通過插件管理模塊中的插件添加刪除接口注冊到所述插件管理模塊中或從所述插件管理模塊中注銷。感知引擎會調(diào)用已經(jīng)注冊的插件,插件管理模塊同時會記錄已經(jīng)注冊的插件。再由上下文感知模塊通過這些已注冊的插件來獲得需要的上下文信息。所述的各插件具有統(tǒng)一的接口,負責(zé)獲得網(wǎng)絡(luò)環(huán)境中的各種上下文信息。本實施例采用跨平臺的Java語言來實現(xiàn)軟件編程。插件接口定義如下public abstract class Plugin{private String path ;public string getPath(){return path ;}
public void setPath(Strings){path = s ;}abstract public Map<String, String>getcontextlnfo();abstract public vector<string>getcontextlnfoschema();}其中,path成員用以指定插件在網(wǎng)構(gòu)軟件上下文信息模型中所對應(yīng)的位置, 插件需要實現(xiàn)兩個函數(shù),即getcontexthifo()和getcontexthifoschema(),其中, getcontexthifoschema()用來獲得插件提供的上下文信息的鍵集合,getcontexthifo () 則用來獲得完整的上下文信息。以時間上下文插件Time_PlUgin為例,要設(shè)置其path為 intemetware_context/time_context,通過 getcontexthifoschema()會得至丨J time,而通過 getcontexthifo ()可以得到 time = yyyy-mm-dd hh:mm:ss。
插件添加刪除接口定義如下 public class Engine. . . {
public Vector<Plugin>plugins ;
public void register(String plugin)
public void cancel—Registeration(String plugin)
Engine內(nèi)部包含了 public Vector〈Plugin>plugins數(shù)據(jù)成員,并提供了添加和
刪除插件的接口,用來維護插件集合,即插件的注冊和注銷管理c網(wǎng)構(gòu)軟件上下文信息模型的定義如下class Model {private Vector<Context>v ;·· ·}class Context {private String path ;public Vector<String>schema ;private Map〈String,String>info ;
}其中,Model由Context的集合組成,一個context表示一個上下文信息,它有 path成員,代表在網(wǎng)構(gòu)軟件上下文信息模型中的位置;schema成員,描述該上下文信息的模式;info成員,為具體的上下文信息。感知引擎的運行過程如下(1)首先調(diào)用public void init()函數(shù),為各種數(shù)據(jù)分配內(nèi)存,然后從插件管理模塊中的registered_pIugins文件中讀出已注冊的插件;(2)然后依據(jù)插件信息,插件管理模塊啟動上下文感知模塊來獲取已注冊插件的上下文信息;(3)將上述上下文信息映射到網(wǎng)構(gòu)軟件上下文信息模型中,即建立起上下文信息與網(wǎng)構(gòu)軟件上下文信息模型中的各節(jié)點的一一對應(yīng)關(guān)系;(4)當(dāng)程序運行結(jié)束時,即上下文感知引擎服務(wù)器的感知工作停止時,通過調(diào)用 write ()函數(shù)將上述插件的注冊信息寫入registerecLplugins文件中。如圖3所示本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)的結(jié)構(gòu)示意圖。網(wǎng)構(gòu)軟件上下文模型在網(wǎng)構(gòu)軟件開發(fā)之初就已經(jīng)建立了,為了適應(yīng)不同用戶的個性化需要,它應(yīng)當(dāng)具有學(xué)習(xí)的功能,即可以根據(jù)用戶交互所反饋的信息了解用戶意圖和系統(tǒng)當(dāng)前狀況,并且進行相應(yīng)的調(diào)整,如增加或刪除模型中的上下文信息。本發(fā)明中客戶端為固定設(shè)備或移動設(shè)備,如固定的計算機2或移動的手機1??蛻舳嗽谂c網(wǎng)絡(luò)中的網(wǎng)構(gòu)軟件系統(tǒng)進行交互的過程中, 上下文感知引擎服務(wù)器4從網(wǎng)絡(luò)環(huán)境hternet中感知獲得上下文信息,并將其映射到網(wǎng)構(gòu)軟件上下文信息模型中;然后將已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息存儲到上下文信息管理服務(wù)器5中??蛻舳伺c網(wǎng)絡(luò)中的網(wǎng)構(gòu)軟件之間的交互是通過Web服務(wù)器3 實現(xiàn)的,本實施例客戶端與上下文信息管理服務(wù)器之間的通信,使用socket (接口,是訪問 hternet使用最多的方法)進行通信。上下文信息管理服務(wù)器和客戶端配合工作的流程如下(I)Web服務(wù)器端同時運行兩個線程,一個用于管理已經(jīng)登陸的用戶,另一個用于監(jiān)聽Socket通信端口 ;(2)客戶端啟動后,將連接Web服務(wù)器的指定端口來建立連接;(3)當(dāng)Web服務(wù)器監(jiān)聽到有客戶端連接這個端口時,新建一個線程專門服務(wù)管理這個連接;(4)在連接建立后,客戶端會向Web服務(wù)器發(fā)送一些驗證信息,來確認(rèn)自己是網(wǎng)構(gòu)軟件客戶端的身份;(5)確認(rèn)成功之后,客戶端向Web服務(wù)器發(fā)送用戶名和密碼,否則結(jié)束;(6) Web服務(wù)器端驗證成功之后,客戶端在與網(wǎng)絡(luò)中的網(wǎng)構(gòu)軟件系統(tǒng)進行交互的過程中,上下文感知引擎服務(wù)器從網(wǎng)絡(luò)環(huán)境hternet中感知獲得上下文信息,并將其映射到網(wǎng)構(gòu)軟件上下文模型中;(7)上下文信息管理服務(wù)器將已映射到網(wǎng)構(gòu)軟件上下文模型中的上下文信息存儲于其數(shù)據(jù)庫中,并為客戶提供查詢功能。本實施例中上下文信息分為四類,因此,數(shù)據(jù)庫中將模型中的四大類作為關(guān)系數(shù)據(jù)表的四列計算上下文,物理上下文,用戶上下文,時間上下文。除時間上下文使用時間類型存儲外,其他三類上下文信息都以文本方式存儲。除了這四列,還有一列用于存儲用戶名。為了降低上下文信息存儲的冗余,每次通信后,先判斷新的上下文信息是否有變動,如果有變動,就將原有的上下文信息存儲為歷史上下文信息,而將變動后的信息作為基本上下文信息。上下文信息作為描述場景的信息,是隨時都會發(fā)生變化的,比如時間上下文信息。本實施例加入過濾器的機制來解決這個問題。過濾器中指定比較中需要忽略的上下文信息,比如時間上下文信息。圖4為本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)的應(yīng)用查詢網(wǎng)站的流程圖??蛻舳送ㄟ^以下流程使用查詢網(wǎng)站1)注冊在注冊頁面上使用email地址和/或唯一的用戶名標(biāo)識注冊成為網(wǎng)站用戶,并指定一個密碼;2)登錄在登錄頁面中使用用戶名和密碼登錄系統(tǒng);3)查詢在用戶主頁面上查看其上下文信息,還可以查看用戶的歷史上下文信息;4)修改密碼可以轉(zhuǎn)入密碼修改頁面修改個人密碼;5)登出退出網(wǎng)站系統(tǒng)。上下文信息查詢基于與客戶端通信線程模型,本實施例提供了如下幾種不同粒度的查詢接口及其實現(xiàn)1)查詢用戶的接口,以獲取當(dāng)前與服務(wù)器連線的用戶,接口的具體定義如下public Vector<String>getUsers ()。2)粒度比較大的獲取整個用戶上下文的接口。使用用戶名來指定需要查詢的用戶,接口的具體定義如下public String getcontext (String user)。3)粒度小一點的獲取用戶上下文模型中某個上下文的接口。使用用戶名指定用戶,并指定需要獲取的上下文信息在模型中的路徑,接口的具體定義如下public String getcontext(String user,String path)。4)粒度最小的接口,獲取用戶某個上下文信息中某個屬性。使用用戶名指定用戶, 并指定該上下文信息的路徑和需要獲取的屬性,接口的具體定義如下public string getcontext(string user,String path, String property)05)輔助接口,以獲取該用戶模型中存在的上下文的路徑和屬性的接口,接口的具體定義如下public Vector<String>getPaths(String user);public Vector<String>getschema(String user,String path)。下面結(jié)合具體的實施例對本發(fā)明的所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)和方法作進一步的說明。(1)網(wǎng)構(gòu)軟件上下文信息的建模上下文信息應(yīng)該包括所有可以用來描述環(huán)境的信息,本實施例將上下文信息分成了四大類,即計算上下文,物理上下文,用戶上下文和時間上下文;并在每個大類下面再進行了細分。本實施例使用eg 作為開發(fā)網(wǎng)構(gòu)軟件上下文信息模型的工具,制定出形式化的上下文模型。
(2)感知引擎的實現(xiàn)感知引擎負責(zé)感知周圍的環(huán)境信息,它主要由四部分構(gòu)成,上下文感知模塊,上下文映射模塊,插件管理模塊和通信模塊組成。上下文感知模塊負責(zé)感知網(wǎng)絡(luò)環(huán)境中的上下文信息,本實施例將各插件的接口統(tǒng)一化以便于上下文信息的感知和處理,以及對插件的管理;上下文映射模塊負責(zé)將通過上下文感知模塊獲得的上下文信息映射到網(wǎng)構(gòu)軟件上下文信息模型中;插件管理模塊負責(zé)管理插件,經(jīng)插件添加刪除接口管理插件的注冊和注銷; 通信模塊主要負責(zé)與上下文信息管理系統(tǒng)進行通信,將上下文信息傳送到上下文信息管理服務(wù)器中進行存儲管理。在普通的PC上,本實施例通過Java語言編程來實現(xiàn)感知引擎。在 android手機上,本實施例使用android開發(fā)工具來實現(xiàn)感知引擎。在Java手機上,本實施例使用JavaMe來實現(xiàn)感知引擎。感知引擎的運行過程如下a)感知引擎啟動,從插件管理模塊中讀取已注冊的插件信息;b)根據(jù)讀取的插件信息,插件管理模塊啟動上下文感知模塊,開始上下文信息的感知;并且在程序運行的過程中,插件管理模塊可以根據(jù)需求動態(tài)的增加或者刪除插件;c)上下文映射模塊將上下文感知模塊得到的上下文信息映射到網(wǎng)構(gòu)軟件上下文信息模型中;d)通信模塊開始與上下文信息管理服務(wù)器進行通信;e)感知引擎運行結(jié)束,感知引擎將該時刻的插件信息寫到插件管理模塊中。(3)上下文信息存儲和查詢的實現(xiàn)上下文信息管理服務(wù)器由存儲系統(tǒng)與查詢系統(tǒng)構(gòu)成。存儲系統(tǒng)負責(zé)將各個感知引擎感知的上下文信息存儲到數(shù)據(jù)庫中;查詢系統(tǒng)負責(zé)根據(jù)查詢請求,將數(shù)據(jù)庫中的上下文信息的查詢結(jié)果呈現(xiàn)出來。本實施例提供了不同粒度的上下文信息查詢。上下文信息存儲系統(tǒng)使用Java語言實現(xiàn),這里數(shù)據(jù)庫使用MySQL數(shù)據(jù)庫,使用JDBC for MySQL來進行數(shù)據(jù)庫的連接。數(shù)據(jù)庫中擁有表1所示的幾項存儲內(nèi)容。表1上下文信息管理服務(wù)器數(shù)據(jù)庫中存儲的內(nèi)容
權(quán)利要求
1.一種網(wǎng)構(gòu)軟件上下文感知系統(tǒng),其特征在于包括上下文感知引擎服務(wù)器,基于感知引擎從網(wǎng)絡(luò)環(huán)境中獲得上下文信息,并將上述上下文信息映射到已建成的網(wǎng)構(gòu)軟件上下文信息模型中;以及,上下文信息管理服務(wù)器,存儲已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息。
2.根據(jù)權(quán)利要求1所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng),其特征在于所述的感知引擎由上下文感知模塊,上下文映射模塊,插件管理模塊和通信模塊構(gòu)成;其中,所述上下文感知模塊,獲取網(wǎng)絡(luò)環(huán)境中的上下文信息;所述上下文映射模塊,將上下文感知模塊得到的上下文信息映射到網(wǎng)構(gòu)軟件上下文信息模型中;所述插件管理模塊,用于管理插件,其包括插件接口程序和插件添加刪除接口程序; 所述通信模塊,建立所述上下文感知引擎服務(wù)器與上下文信息管理服務(wù)器之間的通
3.根據(jù)權(quán)利要求1所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng),其特征在于所述上下文信息管理服務(wù)器由存儲系統(tǒng)和查詢系統(tǒng)構(gòu)成。
4.根據(jù)權(quán)利要求1所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng),其特征在于還包括Web服務(wù)器,建立查詢服務(wù)網(wǎng)站,經(jīng)設(shè)置在所述上下文信息管理服務(wù)器上的查詢接口為客戶端提供查詢所述上下文信息管理服務(wù)器內(nèi)存儲的網(wǎng)構(gòu)軟件上下文信息的Web服務(wù)。
5.根據(jù)權(quán)利要求1所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng),其特征在于所述查詢接口包括查詢用戶的接口、獲取整個用戶上下文的接口、獲取用戶上下文模型中某個上下文的接口、獲取用戶某個上下文信息中某個屬性的接口以及獲取用戶模型中存在的上下文的路徑和屬性的接口。
6.一種網(wǎng)構(gòu)軟件上下文感知方法,其特征在于包括以下幾個步驟(1)建立網(wǎng)構(gòu)軟件上下文信息模型,獲取網(wǎng)絡(luò)環(huán)境中的上下文信息,并將其映射到所述網(wǎng)構(gòu)軟件上下文信息模型中;(2)將已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息存儲到所述上下文信息管理服務(wù)器的數(shù)據(jù)庫中。
7.根據(jù)權(quán)利要求6所述網(wǎng)構(gòu)軟件上下文感知方法,其特征在于步驟(1)具體包括以下步驟a、定義網(wǎng)構(gòu)軟件上下文信息模型;b、基于上述網(wǎng)構(gòu)軟件上下文信息模型,定義獲取各類型上下文信息的插件,并經(jīng)插件添加刪除接口將插件注冊到所述插件管理模塊中;C、所述插件管理模塊讀取插件信息,并啟動上下文感知模塊,獲取上下文信息;d、上下文映射模塊將上述上下文信息映射到所述網(wǎng)構(gòu)軟件上下文信息模型中;步驟( 具體包括以下步驟e、將步驟d中已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息存儲到所述上下文信息管理服務(wù)器的數(shù)據(jù)庫中。
8.根據(jù)權(quán)利要求7所述網(wǎng)構(gòu)軟件上下文感知方法,其特征在于步驟e之后還包括,判斷存儲到所述上下文信息管理服務(wù)器內(nèi)的上下文信息是否與上一次存入的上下文信息相同;如不相同,將上一次存入的上下文信息存儲為歷史上下文信息,而將新存入的上下文信息作為當(dāng)前上下文信息;如相同,則忽略。
9.根據(jù)權(quán)利要求6所述網(wǎng)構(gòu)軟件上下文感知方法,其特征在于步驟(2)之后還包括 建立查詢服務(wù)網(wǎng)站,經(jīng)設(shè)置在所述上下文信息管理服務(wù)器上的查詢接口為客戶端提供查詢其內(nèi)存儲的上下文信息。
全文摘要
本發(fā)明公開一種網(wǎng)構(gòu)軟件上下文感知系統(tǒng)及方法,主要是為了解決現(xiàn)今網(wǎng)構(gòu)軟件領(lǐng)域中對上下文信息的感知和管理存在的難題而設(shè)計。本發(fā)明所述網(wǎng)構(gòu)軟件上下文感知系統(tǒng)包括上下文感知引擎服務(wù)器,基于感知引擎從網(wǎng)絡(luò)環(huán)境中獲得上下文信息,并將上述上下文信息映射到已建成的網(wǎng)構(gòu)軟件上下文信息模型中;以及,上下文信息管理服務(wù)器,存儲已映射到網(wǎng)構(gòu)軟件上下文信息模型中的上下文信息。在網(wǎng)構(gòu)軟件上下文感知方法上,本發(fā)明采用軟件插件架構(gòu)實現(xiàn)了對上下文的感知,并將其存儲于上下文信息管理服務(wù)器中,更好的解決了網(wǎng)構(gòu)軟件上下文信息的感知和管理的難題。
文檔編號H04L29/08GK102377791SQ20101025062
公開日2012年3月14日 申請日期2010年8月11日 優(yōu)先權(quán)日2010年8月11日
發(fā)明者張鵬, 羅森, 許斌 申請人:清華大學(xué)