欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種故障樹數(shù)據(jù)的存儲方法及讀取方法與流程

文檔序號:11590574閱讀:348來源:國知局

本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,更為具體來說,本發(fā)明為一種故障樹數(shù)據(jù)的存儲方法及讀取方法。



背景技術(shù):

故障診斷對大型裝備與系統(tǒng)的保障與維護起著重要作用。故障診斷的基本原理是:利用對象領(lǐng)域的人工或?qū)<抑R,快速定位、排查對象故障原因,所以,如何有效地提煉、描述、檢索不同對象領(lǐng)域的人工專家知識是故障診斷里的關(guān)鍵技術(shù)之一。鑒于此,故障樹是目前應(yīng)用最廣泛的故障診斷專家知識表述形式,其對專家知識的描述具有簡潔明了、形象直觀等特點。

故障診斷系統(tǒng)需要將故障樹數(shù)據(jù)存儲到計算機系統(tǒng)中,但是故障樹是對知識的描述,所以其本身存在著一個不斷積累和完善的演化過程,隨著數(shù)據(jù)存儲數(shù)量不斷增加,傳統(tǒng)的故障樹存儲方法難以兼顧可擴展性、數(shù)據(jù)冗余度、數(shù)據(jù)檢索速度等多方面,往往是顧此失彼。

因此,如何優(yōu)化故障樹數(shù)據(jù)的存儲成為了本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題和始終研究的重點。



技術(shù)實現(xiàn)要素:

為解決現(xiàn)有故障樹數(shù)據(jù)的存儲方法存在的可擴展性差、數(shù)據(jù)冗余度高、數(shù)據(jù)檢索速度慢等問題,本發(fā)明提出了一種采用面向?qū)ο笤O(shè)計思想的新數(shù)據(jù)存儲結(jié)構(gòu)來實現(xiàn)故障樹的存儲,該方法能夠在存儲層實現(xiàn)良好的可擴展性、具有較小的數(shù)據(jù)冗余度,并且能夠?qū)崿F(xiàn)數(shù)據(jù)的快速檢索。

為實現(xiàn)上述技術(shù)目的,本發(fā)明公開了一種故障樹數(shù)據(jù)的存儲方法,該存儲方法包括如下步驟,

步驟1,分解故障樹結(jié)構(gòu):將故障樹抽象為五類對象,所述五類對象分別為頂事件、中間事件、底事件、邏輯與、邏輯或;其中,所述頂事件、中間事件、底事件統(tǒng)稱為事件,且故障樹結(jié)構(gòu)中的上層事件為與該上層事件有直接邏輯關(guān)聯(lián)的下層事件的父節(jié)點,所述中間事件、底事件分別具有父節(jié)點,所述頂事件沒有父節(jié)點;

步驟2,為故障樹中的每個事件賦予一個事件編碼,且每個事件編碼具有唯一性;

步驟3,根據(jù)所述事件編碼、各事件之間的邏輯關(guān)系,將故障樹數(shù)據(jù)映射為四個關(guān)系表,所述四個關(guān)系表分別為故障樹關(guān)系表、底事件關(guān)系表、中間事件關(guān)系表、頂事件關(guān)系表;

步驟4,通過存儲上述四個關(guān)系表的方式存儲故障樹數(shù)據(jù)。

本發(fā)明通過上述的對故障樹的抽象、對邏輯關(guān)系描述、對每個事件賦予事件編碼的方式將故障樹數(shù)據(jù)映射為四個關(guān)系表,然后通過存儲關(guān)系表的方式存儲故障樹數(shù)據(jù);這種相互之間存在邏輯關(guān)系的關(guān)系表存儲方式使本發(fā)明的故障樹數(shù)據(jù)存儲具有易擴展、冗余度低、方便后期的遍歷檢索等優(yōu)點,完美實現(xiàn)了對故障樹的結(jié)構(gòu)分解,優(yōu)化了對故障樹層次關(guān)系描述,同時創(chuàng)建了檢索故障樹數(shù)據(jù)的接口。

進一步地,步驟3中,所述關(guān)系表包括表名信息、屬性信息、類型信息及描述信息,所述類型信息表征所述屬性信息的類型,所述描述信息表征所述屬性信息的含義。

本發(fā)明通過表名、屬性、類型及描述四個方面的信息表征出關(guān)系表內(nèi)容,這種表征方式既能滿足將故障樹數(shù)據(jù)完整抽象的要求,又能兼顧存儲層擴展性、冗余性及檢索速度等多種要求,為大批量的故障樹數(shù)據(jù)存儲提供了一種較佳的解決方案。

進一步地,步驟3中,所述故障樹關(guān)系表的屬性信息包括故障樹id和故障樹名稱。

故障樹id用于區(qū)分數(shù)據(jù)庫中存儲的不同故障樹,提高數(shù)據(jù)庫系統(tǒng)的識別速度,而故障樹名稱便于技術(shù)人員對故障樹信息的識別和讀取,因此,故障樹id和故障樹名稱能夠完整、清楚、有效地表征出故障樹關(guān)系表的基本信息。

進一步地,步驟3中,所述頂事件關(guān)系表的屬性信息包括事件編碼、頂事件id、頂事件名稱、該頂事件所屬的故障樹id、該頂事件與其下層事件的邏輯關(guān)系。

通過上述對頂事件關(guān)系表的屬性信息表征,能夠準確、完整地表達出頂事件本身的含義、頂事件與其他事件的邏輯關(guān)系、頂事件與故障樹的邏輯關(guān)系等。

進一步地,步驟3中,所述中間事件關(guān)系表的屬性信息包括事件編碼、中間事件id、中間事件名稱、該中間事件所屬的故障樹id、該中間事件與其下層事件的邏輯關(guān)系、該中間事件的父節(jié)點id、該中間事件的父節(jié)點類型。

通過上述對中間事件關(guān)系表的屬性信息表征,能夠準確、完整地表達中間事件本身的含義、中間事件與其他事件的邏輯關(guān)系、中間事件與故障樹的邏輯關(guān)系等。

進一步地,步驟3中,所述底事件關(guān)系表的屬性信息包括事件編碼、底事件id、底事件名稱、該底事件所屬的故障樹id、該底事件的父節(jié)點id、該底事件的父節(jié)點類型。

通過上述對底事件關(guān)系表的屬性信息表征,能夠準確、完整地表達底事件本身的含義、底事件與其他事件的邏輯關(guān)系、底事件與故障樹的邏輯關(guān)系等。

進一步地,步驟4中,所述關(guān)系表存儲于關(guān)系數(shù)據(jù)庫中,在遍歷故障樹的過程中完成對故障樹數(shù)據(jù)的存儲。

本發(fā)明可事先根據(jù)分析故障樹的結(jié)構(gòu)而生成存儲于數(shù)據(jù)庫中四種關(guān)系表,該四種關(guān)系表可為空表或填充有初始化信息的關(guān)系表,而在對新的故障樹數(shù)據(jù)存儲時,在此四種關(guān)系表的基礎(chǔ)上增加數(shù)據(jù)即可。

進一步地,為全面、準確地表征故障樹中的所有數(shù)據(jù),步驟1中,針對故障樹中的每個事件,采用面向?qū)ο蠓治龅姆绞椒纸夤收蠘浣Y(jié)構(gòu)。

進一步地,步驟2中,所述事件編碼為數(shù)字或字母。當然,在本發(fā)明的技術(shù)啟示下,可采用其他形式的事件編碼,比如數(shù)字和字母組合。

本發(fā)明的另一個發(fā)明目的在于提供一種故障樹數(shù)據(jù)的讀取方法,通過如下步驟對上述的存儲方法存儲的故障樹數(shù)據(jù)進行讀取,

步驟a,獲取待讀取的故障樹id,在故障樹表中檢索與所述故障樹id匹配的記錄,獲取所述故障樹id對應(yīng)的故障樹的基本信息;

步驟b,在頂事件關(guān)系表中檢索出該故障樹的頂事件;

步驟c,在中間事件關(guān)系表中檢索出該故障樹的所有中間事件;

步驟d,在底事件關(guān)系表中檢索出該故障樹的所有底事件。

基于上述的故障樹數(shù)據(jù)的存儲方法,對存儲于關(guān)系數(shù)據(jù)庫的故障樹數(shù)據(jù)的讀取變得簡單和容易,技術(shù)人員只需向故障診斷系統(tǒng)中輸入待讀取的目標故障樹id,即可自動、快速地獲取整個故障樹結(jié)構(gòu)數(shù)據(jù)。

本發(fā)明的有益效果為:通過引入事件編碼機制、父節(jié)點屬性、邏輯類型屬性,本發(fā)明能夠清晰簡明地將故障樹的結(jié)構(gòu)映射為關(guān)系數(shù)據(jù)庫存儲表的形式,本發(fā)明創(chuàng)新提出了一種新的故障樹數(shù)據(jù)的存儲方法及讀取方法,基于面向?qū)ο蟮脑瓌t,該存儲方法能夠在存儲層具有良好的可擴展性、具有較小的數(shù)據(jù)冗余度,并且在故障樹數(shù)據(jù)讀取時能夠?qū)崿F(xiàn)快捷的檢索。

附圖說明

圖1為故障樹數(shù)據(jù)的存儲方法的流程示意圖。

圖2為抽象后的故障樹結(jié)構(gòu)示意圖。

圖3為故障樹數(shù)據(jù)的讀取方法的流程示意圖。

具體實施方式

下面結(jié)合說明書附圖對本發(fā)明的故障樹數(shù)據(jù)的存儲方法及讀取方法進行詳細的解釋和說明。

如圖1、2所示,一種故障樹數(shù)據(jù)的存儲方法,該存儲方法具體包括如下步驟。

步驟1,針對故障樹中的每個事件,本發(fā)明采用面向?qū)ο蠓治龅姆绞椒纸夤收蠘浣Y(jié)構(gòu);分解故障樹結(jié)構(gòu)具體包括如下的步驟:將故障樹抽象為五類對象,五類對象分別為頂事件、中間事件、底事件、邏輯與、邏輯或,為方便說明,本發(fā)明中“頂事件”、“中間事件”、“底事件”、“邏輯與”、“邏輯或”分別用于表示“頂事件對象”、“中間事件對象”、“底事件對象”、“邏輯與對象”、“邏輯或?qū)ο蟆?。如圖2所示,本發(fā)明中涉及的頂事件、中間事件、底事件統(tǒng)稱為事件,依據(jù)故障樹的結(jié)構(gòu),事件還可根據(jù)邏輯關(guān)系表述為上層事件和下層事件,上層事件和下層事件的邏輯關(guān)系由邏輯單元表示,本發(fā)明也是依據(jù)邏輯單元分解故障樹結(jié)構(gòu)的,邏輯單元在本發(fā)明中可理解為邏輯與、邏輯或,如圖1所示,頂事件對應(yīng)的邏輯單元為邏輯或,中間事件1對應(yīng)的邏輯單元為邏輯與,所有底事件沒有邏輯單元,而且故障樹結(jié)構(gòu)中的上層事件為與該上層事件有直接邏輯關(guān)聯(lián)的下層事件的父節(jié)點,中間事件、底事件分別具有父節(jié)點,且中間事件、底事件引入父節(jié)點屬性,表明父節(jié)點與其子節(jié)點具有邏輯關(guān)系。更為具體地,本步驟可按照如下方式實施。首先,確定故障樹的頂事件,而每個故障樹只有一個頂事件;其次,以頂事件為起點,基于邏輯與、邏輯或的關(guān)系模式,由上至下,抽象出各層的中間事件和底事件,從而建立出故障樹的層次結(jié)構(gòu)。

步驟2,基于故障樹的結(jié)構(gòu),或者說基于故障樹的某種遍歷方式,為故障樹中的每個事件賦予一個事件編碼,且每個事件編碼具有唯一性,這種唯一性的約束是針對故障樹而言的,表明了不同的事件編碼代表不同的事件;事件編碼可以為數(shù)字、字母、數(shù)字和字母的組合等多種表現(xiàn)形式,本實施例中,如圖2所示,事件編碼的形式為“(n)”,其中“n”為1、2、3……。比如,父節(jié)點可以用事件編碼表征,如圖2所示,中間事件1的父節(jié)點的事件編碼為(1)的頂事件,中間事件4的父節(jié)點為事件編碼為(2)的中間事件1,頂事件沒有父節(jié)點。

步驟3,基于以上的面向故障樹的面向?qū)ο蟪橄?,根?jù)事件編碼、各事件之間的邏輯關(guān)系,通過基于e-r模型的關(guān)系數(shù)據(jù)分析,將故障樹數(shù)據(jù)映射為四個關(guān)系表,四個關(guān)系表分別為故障樹關(guān)系表、底事件關(guān)系表、中間事件關(guān)系表、頂事件關(guān)系表,如下表所示。

通過上表可以看出,關(guān)系表可包括表名信息、屬性信息、類型信息及描述信息,類型信息用于表征屬性信息的類型,而描述信息用于表征屬性信息的含義。故障樹關(guān)系表的屬性信息可包括故障樹id和故障樹名稱,從而表達出故障樹的基本信息。頂事件關(guān)系表的屬性信息包括事件編碼、頂事件id、頂事件名稱、該頂事件的故障樹id、該頂事件與其下層事件的邏輯關(guān)系,從而表達出故障樹頂事件的組成信息及其與其他事件間的邏輯信息。中間事件關(guān)系表的屬性信息包括事件編碼、中間事件id、中間事件名稱、該中間事件的故障樹id、該中間事件與其下層事件的邏輯關(guān)系、該中間事件的父節(jié)點id、該中間事件的父節(jié)點類型,從而表達出故障樹中間事件的組成信息及其與其他事件之間的邏輯關(guān)系,比如,中間事件與頂事件之間的邏輯關(guān)系、中間事件與底事件之間的邏輯關(guān)系。底事件關(guān)系表的屬性信息包括事件編碼、底事件id、底事件名稱、該底事件的故障樹id、該底事件的父節(jié)點id、該底事件的父節(jié)點類型,從而表達出故障樹底事件的組成信息及其與其他事件之間的邏輯關(guān)系,比如,底事件與中間事件之間的邏輯關(guān)系。

應(yīng)當理解,本發(fā)明上述給出的關(guān)系表、故障樹及各種事件的表達形式是基于本發(fā)明的構(gòu)思而給出具體實施結(jié)果,在本發(fā)明的基本構(gòu)思的啟示下,本發(fā)明可不限于上述的表達形式或語言描述,適當?shù)卦黾颖磉_形式或該表表述方式也在本發(fā)明的保護范圍之內(nèi)。

需要說明的是,本發(fā)明中涉及的“id”應(yīng)理解為相應(yīng)故障樹或父節(jié)點或事件的“身份信息”或“編號信息”,用于區(qū)分同種類的故障樹或同種類的父節(jié)點或同種類的事件。而“事件名稱”對應(yīng)具體的事件的名字,比如產(chǎn)生故障的原因或產(chǎn)生故障的進一步原因。

步驟4,通過存儲上述四個關(guān)系表的方式存儲故障樹數(shù)據(jù)。具體來說,如上述的各關(guān)系表所示,為便于區(qū)分和說明,初始化關(guān)系表對應(yīng)的的故障樹id為ft_id1,當然,初始化關(guān)系表可以為空表,待存儲的故障樹id為ft_id2;根據(jù)故障樹信息,初始化頂事件名稱(tp_name),邏輯單元(lg_type)、故障樹id(ft_id2)屬性,向頂事件topevent中插入新的頂事件,其中ft_id2用ft_id1初始化,并且獲取新頂事件的top_id,完成對頂事件相關(guān)數(shù)據(jù)的存儲,然后按從上到下的順序?qū)⒐收蠘涓鲗拥闹虚g事件與底事件分別插入midevent表和botevent表。根據(jù)故障樹信息,初始化中間事件與底事件的各屬性,其中,par_id與par_type屬性初始化過程如下:a)根據(jù)事件在故障樹結(jié)構(gòu)圖中的父節(jié)點事件編號,獲取父節(jié)點的類型(mid或top),以該類型初始化par_type;b)如果父節(jié)點類型為mid,則在對應(yīng)的midevent表中檢索該事件編號的中間事件記錄,并將該記錄的mid_id初始化par_id;如果父節(jié)點類型為top,則在對應(yīng)的topevent表中檢索該事件編號的頂事件記錄,并將該記錄的top_id初始化par_id,從而完成對中間事件和底事件相關(guān)數(shù)據(jù)的存儲。

通過上述步驟,在數(shù)據(jù)庫中已將建立關(guān)系表的前提下,完成了對故障樹結(jié)構(gòu)的遍歷即完成了故障樹的存儲過程。需要說明的是,本實施例中關(guān)系表存儲于關(guān)系數(shù)據(jù)庫中,在實施存儲故障樹之前,已經(jīng)在關(guān)系數(shù)據(jù)庫中建立用于保存故障樹數(shù)據(jù)的數(shù)據(jù)庫,并在該數(shù)據(jù)庫中建立各存儲表,存儲表可理解為四中關(guān)系表的統(tǒng)稱,當然,在遍歷故障樹之前,存儲表為空表,然后在遍歷故障樹的過程中執(zhí)行步驟1至4,完成對故障樹數(shù)據(jù)的存儲。

如圖3所示,與本發(fā)明上述對故障樹數(shù)據(jù)的存儲結(jié)構(gòu)相匹配,本發(fā)明還公開了一種故障樹數(shù)據(jù)的讀取方法,通過如下步驟對上述的故障樹數(shù)據(jù)的存儲方法存儲的故障樹數(shù)據(jù)進行讀取。

步驟a,獲取待讀取的目標故障樹id,在故障樹表faulttree中檢索與故障樹id匹配的記錄,獲取該故障樹的基本信息;

步驟b,在頂事件關(guān)系表topevent中檢索出匹配該故障樹id的記錄,從而獲取屬于該故障樹的頂事件;

步驟c,在中間事件關(guān)系表midevent中檢索出匹配該故障樹id的記錄,并返回結(jié)果集,獲取屬于該故障樹的所有中間事件;

步驟d,在底事件關(guān)系表botevent中檢索出匹配該故障樹id的記錄,并返回結(jié)果集,獲取屬于該故障樹的所有底事件。

在本說明書的描述中,參考術(shù)語“本實施例”、“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明實質(zhì)內(nèi)容上所作的任何修改、等同替換和簡單改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临江市| 正定县| 连山| 大城县| 晋江市| 苍溪县| 德兴市| 昂仁县| 永泰县| 二连浩特市| 西丰县| 临沂市| 行唐县| 安泽县| 屏山县| 原平市| 松溪县| 抚宁县| 吴堡县| 清水河县| 佛山市| 宜良县| 磐石市| 孝义市| 曲麻莱县| 浦县| 金乡县| 类乌齐县| 苏尼特右旗| 大足县| 双流县| 资溪县| 镇沅| 策勒县| 长岛县| 鞍山市| 伊通| 永兴县| 太康县| 宜昌市| 安溪县|