資料庫技術應用

2022-12-21 07:36:05 字數 3490 閱讀 4781

主動資料庫技術在控制系統規則庫方面的應用研究

摘要:討論並分析了建立水下無人潛器(auv)自主運動控制規則庫的必要性和重要性及可行性。指出主動機制是主動資料庫的乙個重要功能,採用事件—條件—動作的規則來實現其主動功能。

就控制系統的事件,動作特點提出控制規則資料庫設計方案,解決了自主控制系統中控制規則單一的瓶頸問題。最後,對主動控制規則庫的實現技術進行了討論並提出了相應的解決方案。

關鍵詞:自主水下潛器;自主控制; eca規則;規則庫;主動資料庫

1 概述

在海洋環境下工作的機構中,水下機械人及自主水下潛器(auv)的開發和利用無疑是乙個相當具有潛力的發展方向。海洋環境的不確定性對水下機械人及自主水下潛器(auv)提出了更高的智慧型性、機動性等要求。auv要實現在不同的工況下自主控制,單一的控制規則顯然已經不能滿足我們的需求。

我們希望auv的控制系統工作在最佳的工況下,實現最好的效益。這就給auv的運動控制帶來了一定的困難。常規的解決辦法是對整個系統進行自適應控制,或者對控制引數進行現場尋優,但是這種控制方法的針對性很強而且比較單一,成本很高且不夠靈活。

所以有必要建立乙個含有多控制規則並能夠調根據任務使命和海況變化現場切換呼叫不同控制規則的控制規則庫。

2 auv控制規則庫對控制的主動需求

通過對自主水下潛器(auv)工作過程的了解和對其工作過程的不確定性分析。在動力裝置執行過程中,自主水下潛器對控制過程中的主動需求如下:

1) 實時監控

系統實時採集auv動力裝置的執行資料,隨時掌握裝置的執行狀況。包括狀態監控、效能監控、功能監控、安全監控,以及故障監控等等。將執行特定資料記錄在資料庫當中,並與控制規則庫中的事件引數進行比較,通過對執行過程的關鍵資料的監控和分析,將問題反饋給auv的使命規劃層。

2) 對出現的問題及時進行處理

對出現的問題(或使命)及時進行響應,能夠主動根據使命的需求為auv控制器匹配控制引數,然後進行控制引數與控制演算法相結合形成相應的控制規則。從而滿足使命規劃層對行為層進行控制規則的排程與切換,確保動力裝置的執行狀態保持最佳。

3) 自適應,自組織功能

當執行狀態發生了某一很大程度的變化,而規則庫中沒有與之相匹配的規則時,控制系統可以實時地進行尋優或者是通過自學習對某些控制規則進行修正。之後規則庫將尋優之後或修正後的控制引數重新組織並且編輯入庫,使得控制規則庫可以擴充規則數量。

4) 使用者可以新增整定好的規則入庫。

在完成控制規則庫的時候,可以諮詢某方面的專家,事先向控制規庫中新增已經整定好的控制規則和控制引數以豐富規則庫的規則容量,減少系統以後執行的開支。

考慮到控制規則庫在自主水下潛器結構裡的重要性,這些主動性功能雖然表現形式各不相同,但都可採用主動資料庫所提供的「主動性」以統一的機制來實現。

3 auv運動控制規則庫系統

自主水下潛器(auv)運動控制系統是由事件(使命)驅動的,在控制系統中利用主動資料庫技術,採用事件驅動的規則庫,根據應用需要預先定義各種事件及其相應動作,允許不同的事件引發不同的動作。乙個主動控制規則庫系統功能上由乙個傳統資料庫系統和乙個事件驅動的知識庫和相應的事件監視器組成。

知識庫是一組由事件驅動的知識的集合,稱為「事件庫」。每一項知識表示在相應的事件發生時,如何來主動地執行其中包含的由使用者預先設定的動作。事件監視器是乙個隨時監視知識庫中的事件是否已經發生的監視模組,一旦監視到某事件已經發生時就主動地觸發系統,按知識庫中指明的相應知識執行其中預先設定的動作。

可見,知識庫中知識表示形式的不同,將獲得各種不同的主動行為,在目前常採用事件驅動的「事件—條件—動作」規則 (eca規則)表示這種知識。

1)eca規則的設計

主動資料庫最常用的方法是將規則系統與資料庫技術相結合,以增強資料庫的主動功能。eca規則的含義為:當某一特定事件發生的時候,系統將檢查規定的條件是否成立。

如果這些條件滿足,系統會觸發相應的動作完成預先設定的工作。e——當事件發生時相應規則作出反應(可以是原子事件,也可以是一系列原子事件的復合);c——條件檢查事件發生時前後情況; a——動作描述是如果相關事件發生和條件滿足時通過規則執行任務。主動控制規則庫工作原理如圖l所示。

2)規則模型

eca規則描述事件、條件、動作以及它們之間的耦合方式。事件部分前面已經說明,(主要是原

子事件或者復合事件),條件一般是一組資料庫查詢或一組邏輯表示式,動作部分可以是一組資料庫操作或者使用者第一的特定操作。eca規則的耦合方式有e—c耦合和c—a耦合,前者描述規則的條件何時求值,後者描述條件為真時何時執行動作。這兩種耦合方式及其組合給eca規則帶來了很大的靈活性,增強了規則的表達能力。

事件驅動的「事件—條件—動作」有如下的一般方式:

rule#lt;規則名#gt;[(#lt;引數#gt;……)]

when(事件表示式)

if#lt;條件1#gt; then#lt;動作1#gt;;

…………

if#lt;條件n#gt; then#lt;動作n#gt;;(n 1)

end rule[#lt;規則名#gt;]

圖1.主動控制規則庫工作原理圖

這些主動規則受系統中的乙個事件監視器的監視控制,該事件監視器主動的時刻監視著事實庫。這樣,使用者可以通過設定各種不同的事件驅動規則,以一種統一的機制來實現諸多主動處理功能,從而滿足各種客觀的需求。

3)主動資料庫的實現

使用嵌入程式語言來實現系統主動功能,按傳統的方法設計乙個介面把資料庫的操作嵌入到應用程式中。對該規則庫系統的操作是在主程式當中嵌入sql語言來對資料庫進行操作。由於在系統執行程式與資料庫之間建立兩種語言的介面,而這是相對比較容易實現的。

4)事件監視器的實現機制

實現主動資料庫系統的關鍵在於實現一種有效的事件監視器。一方面它應有效地檢測出各種事件的發生,另一方面不能因為事件監視器的加入執行而使原應用程式的執行速度發生太大地變化。這往往需要軟硬體結合起來解決問題,特別當事件是一些中斷性質的事件時,必須有相應硬體的支援。

下面提供幾種可供選擇的實現機制。

(1)在單處理器系統中,事件監視器,不妨用在作業系統控制下的乙個優先順序高的獨立程序來實現,以保證它能經常地執行,起到主動監視各種事件發生的作用。在事件庫被分成塊兒時,應該用乙個指標批示對哪個事件庫進行監視執行。

(2)在多處理器系統中,它可以獨立分配乙個處理器來完成,這時要解決多個處理器間的通訊和同步問題。

(3)事件監視器的另一種實現途徑是:在資料庫管理系統中當執行到所有可能發生事件的地方或在預先設定的檢查點上都會產生乙個中斷,使機器被迫切換到事件監視器來工作,以便核實當時發生的事件是否已被使用者設定在事件庫中了。然後,就觸發執行其後跟的規則或規則組,否則就返回繼續執行。

以上幾種實現機制各有利弊,—般說,後一種軟硬體結合的途徑對於在單處理器上實現較簡單的系統可能是頗具吸引力的。專門分配乙個處理器來實現事件監視系統,自然對一些大型系統而言是比較理想的。

4 具體實現舉例

資料庫管理系統使用微軟公司的sql server,控制系統的主程式使用c 實現,對資料庫的操作使用ado技術來實現。ado(activex資料物件)是microsoft物件導向的資料庫訪問新技術,該技術基於com元件,具有諸多優點,如跨語言、跨平台、跨作業系統等,適用於所有非visual c ole db訪問。ado是乙個資料庫程式設計模組,它允許ole db從多種語言中訪問,易於使用,速度快,記憶體支出少和磁碟遺跡小。

資料庫技術與應用

資料庫技術與應用 窗體設計 1.啟動視窗的設計 建立如下圖所示的 上海世博會會館彙總系統 啟動視窗。1 在設計檢視中開啟窗體 1 開啟資料庫 2 在資料庫視窗中開啟 窗體 選項卡 3 雙擊右邊的 在設計檢視中建立窗體 選項 2 設計窗體標題 雙擊窗體選定器開啟如上圖所示的屬性視窗,當前物件為窗體,在...

資料庫應用技術大作業 旅館管理系統資料庫設計

sql實踐作業 旅館管理系統資料庫設計與實現 自動化學院自動化專業 小組成員及所完成的工作 所完成的工作 資料庫整體結構的設計,er圖的繪製和其他工作的審核 系統名稱 旅館管理系統 一 系統需求 1.背景 隨著科技和經濟的發展,旅遊業已經成為乙個熱門的產業,並且傳統的手工已不適應現代酒店管理的需要,...

網路資料庫技術

1.2.1 網路資料庫系統的定義 資料庫技術 網路技術 網路資料庫 網路資料庫系統 是在計算機網路環境下執行的資料庫系統,它的資料庫分散配置在網路節點上,將資料庫系統的事務分開進行處理,為網路使用者提供遠端資料庫訪問服務,實現了網路的分布式計算。1.2.2 網路資料庫系統的模式結構 集中式客戶機 伺...