999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Drools的路面智能養護系統的研究與實現

2013-08-29 10:41:28朱會兵
交通科技 2013年4期
關鍵詞:引擎規則用戶

楊 飛 朱會兵 馬 和

(1.湖北省交通運輸廳漢十高速公路管理處 武漢 430051;2.武漢理工大學信息工程學院 武漢 430070)

隨著交通量的增長,通車時間越久,高速公路的破損情況就會越嚴重。早期修建的高速公路大多已接近使用年限,需要大修和改建;近年修建的高速公路也出現了不同程度的損壞。因此,及時準確地掌握高速公路的狀態信息并采取相應的養護措施,對于維持高速公路良好的使用狀態和保護人民群眾生命財產安全都具有重大意義。對于業務邏輯的實現,多數路面管理系統采取固化在程序代碼中的方式來實現,當業務邏輯很復雜并且發生變化時,系統的修改和擴展需要花費很大的代價。顯然,這種高度耦合的方式給系統帶來了很大風險。規則引擎可以很好地解決以上問題。本系統是以交通運輸部2012年度推廣應用項目——“瀝青路面智能化養護關鍵技術”成果為基礎,在構建了瀝青路面養護對策庫的基礎上,研發了一種采用基于規則引擎的路面智能養護系統。該系統采用Drools作為系統的規則引擎,主要解決了以下問題:公路養護規則引擎的設計和規則的實現;規則的維護和管理;規則沖突的解決;系統的兼容性;整合前臺顯示規則與后臺規則文件。

1 系統總體設計

1.1 規則引擎技術

規則引擎是一種嵌入在應用程序中的組件,實現了將業務邏輯從應用程序中分離出來,并使用預定義的語義模塊編寫業務邏輯。規則引擎的主要工作是將輸入的數據對象與加載的規則進行匹配,并由符合條件的規則生成規則執行實例。目前主流的規則引擎包括Ilog JRules,Drools,Jess,等等[1]。其中Ilog JRules和Jess都是相當成熟的商業BRMS,提供了一套完整的規則建模、規則編寫、規則測試、規則部署和維護的工具,但是價格非常昂貴。Drools規則引擎是由JBoss開發的優秀的開源規則引擎[2],是開源規則引擎中使用最廣的產品之一。除具有一般規則引擎的優點外,還具有高效的算法、豐富的規則語言、強大的API和工具集成等特點[3]。故選擇Drools作為系統的規則引擎。

1.2 系統功能模塊

(1)基本信息模塊。主要包括路線編碼、區間編碼、路段編碼、公路等級、路面類型、車道類型、面層類型和基層類型等基本信息的管理。

(2)養護評價模塊。主要功能是對路面使用性能 (PQI)、路 面 破 損 (PCI)、路 面 平 整 度(RQI)、路面車轍(RDI)、路面抗滑性能(SRI)和路面結構強度(PSSI)6個路況參數做出評價。

(3)養護決策模塊。主要功能是根據路況數據得出養護方案和養護造價。

(4)規則管理模塊。主要包括規則文件的編輯、沖突解決策略。

(5)系統管理模塊。主要包括用戶管理、權限管理和系統日志。

2 系統的設計與實現

2.1 系統邏輯結構

系統邏輯結構分為表示層、業務邏輯層和數據持久層3個層次,見圖1。

圖1 系統邏輯架構圖

在表示層中,從JSP頁面發送來的請求被轉發到相應的Action控制器。Action控制器首先獲取用戶請求參數,然后調用業務邏輯層中相應的Service組件,Service組件再調用數據持久層中相應的Dao組件,執行相應的數據庫操作,返回的處理結果將通過Action輸出到JSP頁面。當用戶進行養護決策時,養護決策Action控制器調用業務邏輯層中的養護決策Service組件取得相應路況信息,調用規則管理Service組件從規則庫中取得規則文件。使用規則引擎進行模式匹配,匹配成功的規則被送入議程等待執行,執行完畢后,輸出養護方案。

2.2 養護決策規則的生成

依據“瀝青路面智能化養護關鍵技術”的研究成果,本系統根據養護對策生成各項的判別規則并存儲到數據庫中。例如:當PCI>70,RQI>43.8,RDI>70,SRI>80.5,PSSI>80.2,并且病害類型為裂縫、局部坑槽、擁包、沉陷、松散和翻漿其中之一時,養護方案為F11。

(1)如果用戶輸入的路況數據只包含PCI,RQI等5個參數,不含病害數據和輔助參數,則要先按使用相同判別參數的規則進行規則的合并,生成FILE類型的規則文件。

(2)如果用戶輸入的路況數據包含PCI,RQI等5個參數且包含病害數據,但不包含輔助參數,則合并后生成對應于FILEX類型的規則文件。

(3)如果用戶輸入的路況數據包含PCI,RQI等5個參數且包含輔助參數,但不包含病害數據,則合并后生成對應于FILEY類型的規則文件。

(4)如果用戶輸入的路況數據包含PCI,RQI等5個參數且包含病害數據,也包含輔助參數,則上述規則對應于FILEZ類型的規則文件。

一個標準的規則文件就是一個擴展名為.drl的文本文件。根據規則文件的結構,可以將規則分為3部分:屬性聲明部分(attribute)、條件部分(LHS)和結果部分(RHS)。規則格式如下:

為了方便用戶輸入,這里采用可視化界面進行規則的生成和管理;并且設計了一個專門用于“翻譯”的JavaBean,實現前臺顯示與后臺規則文件的統一,見圖2。

圖2 規則文件添加界面

2.3 養護決策的處理流程

養護決策模塊的處理流程包括數據準備、規則編譯、規則執行和養護方案生成4部分。啟動養護決策之后,首先判斷數據庫中是否存在指定的路況數據,如果存在,則讀取路況數據和規則文件。然后編譯規則文件,編譯通過之后設置全局變量,并插入路況數據,執行規則文件,如果已經生成養護方案,則計算造價并存入數據庫,見圖3。

圖3 養護決策流程圖

2.4 沖突的解決策略

一個事實對象在模式匹配的過程中,規則庫中有多條規則與之匹配,從而可能產生多種結果,但不能確定具體得到哪個結果,即稱產生了規則沖突[4]。規則沖突的根源來自于規則庫的邏輯不完備或者不一致。因為規則庫本身是一個邏輯系統,當規則庫的添加或者修改導致規則庫的邏輯不一致或者不完備時,就會發生規則沖突。Drools提供的沖突解決策略包括設置優先級和LIFO(后進先出)[5]。通過給規則設置優先級,可以確保不同優先級的規則不發生沖突,但是相同優先級的規則仍然可能沖突。后進先出策略只是簡單地讓后進入議程(Agenda)的規則先被激活,但是對可能存在的沖突沒有做任何處理。

如何發現這種邏輯上的包含關系是問題的關鍵。一種方法是直接寫if判斷語句,如果用戶輸入的規則條件里有“不要求”語句,并且條件的其他部分與規則庫里的某一條規則相同,那么就判定用戶輸入的規則不合法。如此需要考慮的情況將非常復雜,因為用戶輸入的規則里可能只有一個“不要求”語句,也可能有多個,而且具體是哪一個參數“不要求”也是不確定的,還有可能用戶輸入的規則里沒有“不要求”語句,而規則庫里的規則有“不要求”語句,這樣也會形成邏輯沖突。

受集合論的啟發,再考慮到Java優秀的字符串處理能力,筆者采用如下方法來檢測邏輯沖突:為規則條件的每個部分加一個標記值,用于表示該項條件所代表的集合,約定“大于”記A,“小于”記B,則“不要求”記AB。例如,用戶輸入2條規則,記為 Rule A 和 Rule B,Rule A 的內容為:當PCI>70,RQI>43.8,RDI>70,SRI>80.5,PSSI>80.2時,養護方案為F11;Rule B的內容為:當PCI>70,RQI>43.8,RDI不要求,SRI>80.5,PSSI>80.2時,養護方案為F12。則Rule A的標記值表示為(A,A,A,A,A),Rule B的標記值可以表示為(A,A,AB,A,A)。這樣要檢測這種邏輯上的包含關系,只需用java.lang.String的contains()方法就可以實現。首先對用戶輸入規則文件的條件部分所對應的標記值進行賦值,然后將其與規則庫里的規則文件逐個進行比較,這里又分2種情況,一種是用戶輸入規則在邏輯上被包含,另一種是用戶輸入規則在邏輯上包含規則庫里的規則,這兩種情況都屬于邏輯沖突,記錄下沖突規則的ID后,就可以設置警告信息。

3 結語

針對現代路面信息管理系統面臨的問題,本文介紹了基于Drools規則引擎的路面信息管理和決策系統的解決方案,討論了系統的總體架構、業務規則的生成和管理、養護決策的處理流程和沖突的解決策略。文中利用Java語言的字符串處理能力,通過比較用戶輸入的規則與規則庫原有規則,實現規則的沖突檢測功能,防止規則的重復與沖突,保證了系統的穩定性。針對用戶輸入的路況數據可能不全面,存在參數缺失的情況,合理設計規則結構,使規則庫可以處理多種類型數據,提高了系統的兼容性。設計了一個專門用于“翻譯”的JavaBean,實現前臺顯示規則與后臺規則文件的統一。

[1]張 淵,夏清國.基于Rete算法的Java規則引擎[J].科學技術與工程,2006,6(11):1548-1550.

[2]王重英.基于規則引擎的工作流系統設計[J].現代電子技術,2009(12):42-44.

[3]馬秀麗,王紅霞,張凌云.Drools在網絡故障管理系統中的應用[J].計算機工程與設計,2009,30(8):1859-1862.

[4]ROSENBERG F,DUSTDAR S.Business rules integration in BPEL-a service-oriented approach[C]//7th International IEEE Conference on E-Commerce Technology(CEC’2005).Washington DC:IEEE Computer Society Press,2005:476-479.

[5]GRAHAM I.Business rules management and service oriented architecture[M].[S.l.]:Wiley,2007.

猜你喜歡
引擎規則用戶
撐竿跳規則的制定
數獨的規則和演變
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
TPP反腐敗規則對我國的啟示
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 国产香蕉在线视频| 中文无码精品A∨在线观看不卡| 精品国产香蕉伊思人在线| 国产麻豆精品久久一二三| 亚洲成A人V欧美综合天堂| 精品国产自在在线在线观看| 精品国产Av电影无码久久久| 在线看片中文字幕| 国产精品美女网站| 不卡午夜视频| 五月婷婷精品| 久久久久国产一级毛片高清板| 国产精鲁鲁网在线视频| 99人妻碰碰碰久久久久禁片| 在线免费不卡视频| 久久永久视频| 精品少妇三级亚洲| 性激烈欧美三级在线播放| 妇女自拍偷自拍亚洲精品| 欧美精品影院| 久青草免费在线视频| 在线观看国产精品一区| 国产在线视频导航| 国产丝袜91| 欧美精品v日韩精品v国产精品| 91年精品国产福利线观看久久| 欧美日韩国产精品综合| 亚洲网综合| 欧美日韩导航| www.youjizz.com久久| 在线观看免费国产| 亚洲人成色77777在线观看| 日本福利视频网站| 女人av社区男人的天堂| 国产亚洲精品97AA片在线播放| 国产精品白浆无码流出在线看| 国产乱人免费视频| 国产乱人激情H在线观看| 毛片网站在线播放| 日韩欧美91| 国产成人毛片| 91亚洲精品国产自在现线| 网友自拍视频精品区| 国产免费一级精品视频 | 亚洲欧洲日产国码无码av喷潮| 动漫精品中文字幕无码| 国产欧美日韩在线一区| 天天躁夜夜躁狠狠躁躁88| 国产香蕉在线| 伊人久久婷婷| 毛片免费视频| 亚洲欧美在线综合一区二区三区 | 国产一区二区丝袜高跟鞋| 成色7777精品在线| 国产成人免费手机在线观看视频| 国产一区二区人大臿蕉香蕉| 国产91色| 色老头综合网| 黄色网页在线观看| 亚洲第一成人在线| 蝴蝶伊人久久中文娱乐网| 国产午夜一级毛片| 亚洲精品爱草草视频在线| 波多野结衣中文字幕一区| 伊人久久大线影院首页| 人妻少妇乱子伦精品无码专区毛片| 亚洲无码91视频| 亚洲成人www| 亚洲免费人成影院| 成人福利在线视频| 国产综合精品一区二区| 香蕉伊思人视频| 中文字幕自拍偷拍| 国产熟女一级毛片| 日本黄色不卡视频| 欧美伦理一区| 99久久免费精品特色大片| 亚洲第一天堂无码专区| 丰满人妻被猛烈进入无码| 久久综合伊人77777| 欧美福利在线| 国产久操视频|