亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種普適計算環(huán)境下的構(gòu)件容錯方法

文檔序號:6466282閱讀:161來源:國知局

專利名稱::一種普適計算環(huán)境下的構(gòu)件容錯方法
技術(shù)領(lǐng)域
:本發(fā)明涉及普適計算領(lǐng)域,具體涉及一種面向普適計算環(huán)境的構(gòu)件容錯處理方法。
背景技術(shù)
:隨著計算技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,計算機已經(jīng)滲透到人們的工作和生活的各個方面,為此催生了以"無時無處不在而又不可見"為目標的普適計算。為了保證普適計算的不可見性(即對用戶來說不覺察或者不用分散注意力),必須提供普適計算的高可靠和高可用支持。而容錯技術(shù)是提高普適計算系統(tǒng)可用性和可靠性的一種重要方法,它使得普適計算系統(tǒng)在有部分硬件或者軟件資源發(fā)生失效時仍然能夠正常運行。上下文是指物理世界和信息世界可檢測的環(huán)境信息,例如光強、壓力、位置、網(wǎng)絡(luò)帶寬、計算資源狀態(tài)等。構(gòu)件是具有約定式規(guī)范接口以及明確依賴環(huán)境的軟件組裝單元,可以實現(xiàn)二進制級別的大粒度重用,提高軟件開發(fā)效率和質(zhì)量。構(gòu)件接口是構(gòu)件方法與屬性的集合,其中方法是構(gòu)件對外提供的功能,屬性是構(gòu)件對外暴露的狀態(tài)。構(gòu)件容器是構(gòu)件的運行環(huán)境,通過容器與構(gòu)件之間的標準化接口可以很方便地進行構(gòu)件的部署與升級,降低應(yīng)用系統(tǒng)開發(fā)和維護的復雜度。OMG(ObjectManagementGroup)對象管理組織制定的CORBA(CommonObjectRequestBrokerArchitecture)標準是分布式異構(gòu)系統(tǒng)互操作的工業(yè)標準,CORBA構(gòu)件模型(CORBAComponentModel,CCM)是OMG組織制定的一個完整的用于開發(fā)和部署分布式應(yīng)用的服務(wù)器端構(gòu)件模型規(guī)范,包括構(gòu)件容器、構(gòu)件開發(fā)方法等內(nèi)容,是目前主流的構(gòu)件規(guī)范之一。構(gòu)件技術(shù)以自包含、可二進制重用、支持動態(tài)部署和配置的特點成為許多普適計算系統(tǒng)實現(xiàn)不可見性和自適應(yīng)性的首選,而基于構(gòu)件技術(shù)的普適計算系統(tǒng)通常要求較高的可靠性和高可用性,特別是對一些關(guān)鍵應(yīng)用(如火警監(jiān)控等)來說,短暫的系統(tǒng)故障有可能造成重大損失。OMG組織在2000年提出了容錯CORBA規(guī)范以解決構(gòu)件容錯問題,但是容錯CORBA以實現(xiàn)透明容錯為目標,只提供了少數(shù)幾種容錯策略,所能處理的故障類型非常有限。如何將構(gòu)件技術(shù)與普適計算環(huán)境下的容錯處理技術(shù)相結(jié)合,提供一種普適計算環(huán)境中的構(gòu)件容錯處理方法是本領(lǐng)域技術(shù)人員極為關(guān)注的技術(shù)難題。在分布式計算系統(tǒng)中,容錯技術(shù)已經(jīng)廣泛應(yīng)用,然而目前還沒有公開技術(shù)資料涉及的普適計算環(huán)境下的構(gòu)件容錯成果或成熟技術(shù)方案。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是為普適計算環(huán)境提供高可靠和高可用支持的容錯方法。為了實現(xiàn)上述目的,本發(fā)明使用符合CCM規(guī)范的構(gòu)件,對符合CCM規(guī)范的構(gòu)件容器擴展以完成構(gòu)件容錯。本發(fā)明包括以下五個步驟第一步,對符合CCM規(guī)范的構(gòu)件容器進行擴展以支持構(gòu)件容錯處理。在構(gòu)件容器中增加上下文列表、上下文-事件表、策略執(zhí)行部件以執(zhí)行策略,方法是上下文列表為存儲在存儲器中的二維表格,表格中每一項記錄一個上下文,包括構(gòu)件名(CORBA字符串類型)、上下文名稱(CORBA字符串類型)和上下文值(CORBAAny類型)三個字段。上下文-事件表為存儲在存儲器中的二維表格,用來描述物理空間和信息空間中的上下文的變化,表格中每一項記錄一個上下文事件,包括上下文名稱(CORBA字符串類型)、事件ID(CORBA整數(shù)類型)和異常消息名稱(CORBA字符串類型)三個字段。上下文-事件表的上下文名稱與上下文列表中的上下文名稱相一致。策略為基于XML(ExtensibleMarkupLanguage)的一組"條件-動作"規(guī)則,說明當上下文發(fā)生變化時應(yīng)調(diào)用的構(gòu)件及構(gòu)件方法。策略執(zhí)行部件負責解釋執(zhí)行策略,監(jiān)視上下文列表中的值并據(jù)之調(diào)用構(gòu)件。策略執(zhí)行部件由策略解析部件、策略執(zhí)行者、策略執(zhí)行者指針數(shù)組、對象適配器、上下文事件監(jiān)視部件組成。其中*策略解析部件是一個CORBA對象,它使用符合W3C(WorldWideWebConsortium,萬維網(wǎng)協(xié)會)標準的XML解釋器解析待載入策略,并動態(tài)生成相應(yīng)策略執(zhí)行者。*策略執(zhí)行者由一組CORBA對象和一組驅(qū)動接口組成,CORBA對象采用結(jié)構(gòu)(struct)的數(shù)據(jù)結(jié)構(gòu)來存放策略所有信息,每一項對應(yīng)一條策略,包括策略條件、動作類型、構(gòu)件名、構(gòu)件方法數(shù)據(jù)項。驅(qū)動接口對外提供驅(qū)動方法,驅(qū)動方法首先通過條件檢查語句確定策略的條件部份是否滿足,在滿足時通過對象適配器定位和調(diào)用該策略對應(yīng)的構(gòu)件。*策略執(zhí)行者指針數(shù)組是二維指針數(shù)組,第一維是策略條件部分所涉及的上下文名稱,第二維是該策略所對應(yīng)的策略執(zhí)行者的指針。所有策略執(zhí)行者的指針均存儲在該數(shù)組中。*對象適配器釆用基于CORBA的可移植對象適配器POA(PortableObjectAdapter),POA提供通過構(gòu)件實例名字訪問構(gòu)件實例對象的能力,并將策略中需要行為構(gòu)件執(zhí)行的動作請求發(fā)送給真正執(zhí)行的構(gòu)件實例對象。*上下文-事件監(jiān)視部件是一個CORBA對象,它定期讀取上下文列表以監(jiān)視上下文值的變化,當上下文值變化時,記錄該上下文名稱,并判斷在上下文-事件表中根據(jù)上下文名稱查找是否有對應(yīng)的上下文事件,若無,將該項上下文事件寫入上下文-事件表。然后依據(jù)對應(yīng)的上下文名稱在策略執(zhí)行者指針數(shù)組的第一維中進行查找,若匹配上則調(diào)用該項策略執(zhí)行者指針數(shù)組第二維對應(yīng)的策略執(zhí)行者的驅(qū)動方法。第二步,開發(fā)容錯策略以描述如何進行容錯處理如前所述,策略為一組條件判斷的規(guī)則,說明當上下文發(fā)生變化時應(yīng)調(diào)用的構(gòu)件及構(gòu)件方法。策略結(jié)構(gòu)為"事件一條件一動作"形式,事件部份說明策略的事件名稱。條件部分以"上下文名稱,上下文值的變化描述"形式指定何時觸發(fā)該事件,動作部份說明此時應(yīng)當調(diào)用哪個構(gòu)件的方法。策略以XML格式的文件存儲在硬盤或者傳感器等嵌入式設(shè)備的存儲器中。容錯策略就是一組用XML描述的當上下文發(fā)生變化時如何進行錯誤恢復的規(guī)則,如構(gòu)件容錯策略使用XML描述如下"當上下文名稱等于[CompomentStatus],且上下文值等于[ComponentFailure]時,則調(diào)用該構(gòu)件的activate()方法"。第三步,容器基于超時機制檢測構(gòu)件失效,當在給定的時間內(nèi),某構(gòu)件調(diào)用的方法沒有返回值時,表明該構(gòu)件發(fā)生暫時性故障,根據(jù)CCM規(guī)范,容器拋出異常消息。第四步,上下文-事件監(jiān)視部件創(chuàng)建上下文事件。上下文-事件監(jiān)視部件定期讀取上下文列表以獲取上下文值的變化,當上下文值變化時,記錄該上下文名稱,并判斷在上下文-事件表中根據(jù)該上下文名稱查找是否有對應(yīng)的上下文事件,若無,將該項上下文事件寫入上下文-事件表,包括創(chuàng)建異常消息上下文名稱([CompomentStatus])、事件ID和異常消息ID。第五步,策略解析部件從硬盤或者傳感器等嵌入式設(shè)備的存儲器中讀取XML格式的容錯策略文件,動態(tài)生成相應(yīng)的策略執(zhí)行者。第六步,策略執(zhí)行者運行容錯策略,進行構(gòu)件容錯。上下文-事件監(jiān)視部件依據(jù)上下文名稱在策略執(zhí)行者指針數(shù)組的第一維中進行查找,若匹配上則調(diào)用該項策略執(zhí)行者指針數(shù)組第二維對應(yīng)的驅(qū)動方法,驅(qū)動策略執(zhí)行者執(zhí)行其CORBA對象中所存儲的容錯策略,通過對象適配器調(diào)用該策略對應(yīng)的調(diào)用構(gòu)件的啟動方法,進行構(gòu)件恢復,完成構(gòu)件容錯動作。釆用本發(fā)明可以達到如下的有益效果通過將策略引入到普適計算容錯處理過程中,使得容錯處理過程具備高度可重用性,使得容錯處理具有可靈活的動態(tài)管理和配置的特點。具體而言,有如下一些有益效果1.本發(fā)明使用策略來描述如何進行構(gòu)件容錯,且策略被構(gòu)件容器解釋執(zhí)行,從而應(yīng)用程序在開發(fā)和運行時,可以根據(jù)環(huán)境或用戶需求為應(yīng)用程序配置不同的策略,使得容錯策略可重用,應(yīng)用程序具有高可靠和高可用性。2.容錯CORBA只提供了少數(shù)幾種容錯策略,所能處理的故障類型非常有限,無法有效應(yīng)用于普適計算環(huán)境。本發(fā)明在保持與CCM構(gòu)件技術(shù)兼容性的基礎(chǔ)上,通過擴充使之能夠支持普適計算環(huán)境下容錯處理。圖l是本發(fā)明的總體流程圖2是本發(fā)明第一步中對CCM構(gòu)件容器進行擴展的示意圖。具體實施例方式下面結(jié)合實施例對本發(fā)明做進一步說明實施例以火警監(jiān)控場景為例。針對通常由煙霧傳感器、噴淋閥門、火警燈等組成的火警監(jiān)控系統(tǒng),設(shè)計如下火警監(jiān)控場景某房間內(nèi)部有基于煙霧濃度傳感器、噴淋閥門和火警燈,當探測到房間內(nèi)部某個區(qū)域煙霧濃度高于指定閥值時,執(zhí)行火警響應(yīng)動作火警燈閃動、噴淋閥門打開。如圖1所示,其構(gòu)件容錯處理步驟如下第一步,如圖2所示,對符合CCM規(guī)范的構(gòu)件容器進行擴展,增加上下文列表、上下文-事件表和策略執(zhí)行部件。上下文列表中按照上下文的構(gòu)件名、名稱和上下文值的格式存儲上下文,上下文-事件表中按照上下文名稱、事件ID和異常消息名稱存儲上下文事件,策略執(zhí)行部件由動態(tài)生成的策略執(zhí)行者、策略執(zhí)行者指針數(shù)組、上下文-事件監(jiān)視部件、策略解析部件組成。同時根據(jù)CCM規(guī)范開發(fā)煙霧濃度構(gòu)件和火警響應(yīng)構(gòu)件,完成火警監(jiān)控系統(tǒng)。其中煙霧濃度構(gòu)件完成獲取房間煙霧濃度值,對外提供煙霧濃度構(gòu)件啟動和卸載的方法activate()和deactivate();火警響應(yīng)構(gòu)件火警響應(yīng)構(gòu)件,完成火警燈閃動、噴淋閥門打開的功能,對外提供火警響應(yīng)啟動和卸載的方法activate()和deactivate()。第二步,開發(fā)容錯策略以描述如何進行容錯處理使用XML描述如下構(gòu)件容錯策略"當上下文名稱等于[CompomentStatus],且上下文值等于[ComponentFailure]時,則調(diào)用煙霧濃度構(gòu)件構(gòu)件的activate()方法"。并將策略存為XML格式的策略文件。第三步,容器基于超時機制檢測到煙霧濃度構(gòu)件在運行時出現(xiàn)故障,容器拋出異常。第四步,由上下文-事件監(jiān)視部件創(chuàng)建異常消息的上下文名稱([CompomentStatus])、事件ID和異常消息名稱,并寫入上下文-事件表。第五步,策略解析部件從硬盤或者傳感器等嵌入式設(shè)備的存儲器中讀取XML格式的策略文件,動態(tài)生成相應(yīng)的策略執(zhí)行者。第六步,運行策略,進行構(gòu)件容錯上下文-事件監(jiān)視部件依據(jù)上下文名稱(CompomentStatus)在策略執(zhí)行者指針數(shù)組的第一維中進行查找,若匹配上則調(diào)用該項策略執(zhí)行者指針數(shù)組第二維對應(yīng)的驅(qū)動方法,驅(qū)動策略執(zhí)行者執(zhí)行其CORBA對象中所存儲的策略,通過對象適配器調(diào)用該策略對應(yīng)的煙霧濃度構(gòu)件的啟動方法(activate()方法),進行構(gòu)件恢復,完成煙霧濃度構(gòu)件容錯動作。在本實施例中,構(gòu)件容錯策略可以被其它應(yīng)用重用,同時當火警響應(yīng)構(gòu)件失效時,只需由管理員或用戶在線開發(fā)或修改火警響應(yīng)構(gòu)件失效的策略并加載運行即可。本實施例是本發(fā)明的一個簡單實現(xiàn),該過程可以方便的推廣到其它智能博物館監(jiān)控等基于構(gòu)件的大型普適計算應(yīng)用中,為普適計算環(huán)境提供高可靠和高可用支持。權(quán)利要求1.一種普適計算環(huán)境下的構(gòu)件容錯方法,其特征在于包括以下步驟第一步,對符合CCM規(guī)范的構(gòu)件容器進行擴展以支持構(gòu)件容錯處理,在構(gòu)件容器中增加上下文列表、上下文-事件表、策略執(zhí)行部件上下文列表為存儲在存儲器中的二維表格,表格中每一項記錄一個上下文,包括構(gòu)件名、上下文名稱和上下文值三個字段;上下文-事件表為存儲在存儲器中的二維表格,用來描述物理空間和信息空間中的上下文的變化,表格中每一項記錄一個上下文事件,包括上下文名稱、事件ID和異常消息名稱三個字段;上下文-事件表的上下文名稱與上下文列表中的上下文名稱相一致;策略執(zhí)行部件負責解釋執(zhí)行策略,監(jiān)視上下文列表中的值并據(jù)之調(diào)用構(gòu)件,策略執(zhí)行部件由策略解析部件、策略執(zhí)行者、策略執(zhí)行者指針數(shù)組、對象適配器、上下文事件監(jiān)視部件組成,其中●策略解析部件是一個CORBA對象,它使用符合萬維網(wǎng)協(xié)會標準的XML解釋器解析待載入策略,并動態(tài)生成相應(yīng)策略執(zhí)行者;●策略執(zhí)行者由一組CORBA對象和一組驅(qū)動接口組成,CORBA對象采用結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)來存放策略所有信息,每一項對應(yīng)一條策略,包括策略條件、動作類型、構(gòu)件名、構(gòu)件方法數(shù)據(jù)項;驅(qū)動接口對外提供驅(qū)動方法,驅(qū)動方法首先通過條件檢查語句確定策略的條件部份是否滿足,在滿足時通過對象適配器定位和調(diào)用該策略對應(yīng)的構(gòu)件;●策略執(zhí)行者指針數(shù)組是二維指針數(shù)組,第一維是策略條件部分所涉及的上下文名稱,第二維是該策略所對應(yīng)的策略執(zhí)行者的指針,所有策略執(zhí)行者的指針均存儲在該數(shù)組中;●對象適配器采用基于CORBA的可移植對象適配器POA,POA提供通過構(gòu)件實例名字訪問構(gòu)件實例對象的能力,并將策略中需要行為構(gòu)件執(zhí)行的動作請求發(fā)送給真正執(zhí)行的構(gòu)件實例對象;●上下文-事件監(jiān)視部件是一個CORBA對象,它定期讀取上下文列表以監(jiān)視上下文值的變化,當上下文值變化時,記錄該上下文名稱,并判斷在上下文-事件表中根據(jù)該上下文名稱查找是否有對應(yīng)的上下文事件,若無,將該項上下文事件寫入上下文-事件表,然后依據(jù)對應(yīng)的上下文名稱在策略執(zhí)行者指針數(shù)組的第一維中進行查找,若匹配上則調(diào)用該項策略執(zhí)行者指針數(shù)組第二維對應(yīng)的策略執(zhí)行者的驅(qū)動方法;第二步,開發(fā)容錯策略以描述如何進行容錯處理策略為基于XML的一組“條件-動作”規(guī)則,說明當上下文發(fā)生變化時應(yīng)調(diào)用的構(gòu)件及構(gòu)件方法,以XML格式的文件存儲在硬盤或者傳感器等嵌入式設(shè)備的存儲器中;策略結(jié)構(gòu)為“事件—條件—動作”形式,事件部份說明策略的事件名稱,條件部分以“上下文名稱,上下文值的變化描述”形式指定何時觸發(fā)該事件,動作部份說明此時應(yīng)當調(diào)用哪個構(gòu)件的方法;容錯策略就是一組用XML描述的當上下文發(fā)生變化時如何進行錯誤恢復的規(guī)則;第三步,容器基于超時機制檢測構(gòu)件失效,即當在給定的時間內(nèi),某構(gòu)件調(diào)用的方法沒有返回值時,表明該構(gòu)件發(fā)生暫時性故障,根據(jù)CCM規(guī)范,容器拋出異常消息;第四步,上下文-事件監(jiān)視部件創(chuàng)建上下文事件,方法是上下文-事件監(jiān)視部件定期讀取上下文列表以獲取上下文值的變化,當上下文值變化時,記錄該上下文名稱,并判斷在上下文-事件表中根據(jù)該上下文名稱查找是否有對應(yīng)的上下文事件,若無,將該項上下文事件寫入上下文-事件表,包括創(chuàng)建異常消息上下文名稱([CompomentStatus])、事件ID和異常消息ID;第五步,策略解析部件從硬盤或者傳感器等嵌入式設(shè)備的存儲器中讀取XML格式的容錯策略文件,動態(tài)生成相應(yīng)的策略執(zhí)行者;第六步,運行容錯策略,進行構(gòu)件容錯上下文-事件監(jiān)視部件依據(jù)上下文名稱在策略執(zhí)行者指針數(shù)組的第一維中進行查找,若匹配上則調(diào)用該項策略執(zhí)行者指針數(shù)組第二維對應(yīng)的驅(qū)動方法,驅(qū)動策略執(zhí)行者執(zhí)行其CORBA對象中所存儲的容錯策略,通過對象適配器調(diào)用該策略對應(yīng)的調(diào)用構(gòu)件的啟動方法,進行構(gòu)件恢復,完成構(gòu)件容錯動作。全文摘要本發(fā)明公開了一種普適計算環(huán)境下的構(gòu)件容錯方法,要解決的技術(shù)問題是為普適計算環(huán)境提供高可靠和高可用支持的容錯方法。技術(shù)方案是先在構(gòu)件容器中增加上下文列表、上下文-事件表、策略執(zhí)行部件,策略執(zhí)行部件由策略解析部件、策略執(zhí)行者、策略執(zhí)行者指針數(shù)組、對象適配器、上下文事件監(jiān)視部件組成;然后開發(fā)容錯策略以描述如何進行容錯處理;接著容器檢測構(gòu)件失效,拋出異常消息,上下文-事件監(jiān)視部件創(chuàng)建上下文事件;策略解析部件讀取容錯策略文件,生成策略執(zhí)行者;最后運行容錯策略,進行構(gòu)件容錯。本發(fā)明通過將策略引入到普適計算容錯處理過程,使得容環(huán)境錯處理過程具備高度可重用性,容錯處理具有可靈活的動態(tài)管理和配置的特點。文檔編號G06F11/36GK101425036SQ200810143798公開日2009年5月6日申請日期2008年12月3日優(yōu)先權(quán)日2008年12月3日發(fā)明者博丁,史殿習,驍李,歐陽建權(quán),王懷民申請人:中國人民解放軍國防科學技術(shù)大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1