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

基于JMS的一種消息過濾改進算法

2012-08-06 12:51:16巫湘林
網絡安全技術與應用 2012年4期
關鍵詞:分類

巫湘林

桂林理工大學信息科學與工程學院 廣西 541004

0 前言

隨著計算機技術和網絡技術的發展,軟件也逐漸向分布式,多平臺下應用,而消息中間件為解決這類軟件間通信提供了便捷。消息中間件的發布/訂閱模式得到了廣泛應用,主要是通過消息代理使消息在提供者與消費者間可以實現靈活的傳遞。JMS(Java message service)是Sun公司提出的一種統一消息中間件系統接口的規范,給出了消息中間件互相訪問的標準方法,支持同步與異步的兩種通信方式。JMS解決了企業級軟件開發過程中的資源分配,組件重用等問題,有效提高了軟件的健壯性。

1 JMS發布與訂閱模式

JMS定義了點對點、發布/訂閱兩種消息傳遞模式。點對點模式中,每個創建的消息先保留在隊列中,并且發送者知道惟一的接收者地址,等待恰當的時候才將消息發送給接收者。在發布/訂閱模式中,發布者將消息發送到一個主題,系統負責將消息發送給所有對該主題感興趣的訂閱者。其優勢是同一時間可能多個訂閱者接收同一個消息,不必多次建立連接,節省了網絡資源,同時提高了消息傳遞的靈活性。

2 JMS傳統的消息過濾方式

消息在JMS的整個消息傳遞過程中作為媒介連接著發送者與接收者。消息包含消息頭,消息屬性和消息體。消息頭包含了消息標識與路由的值;消息體包含了消息的實際內容。消息屬性包含了一些特定的應用程序屬性、JMS定義的屬性和用戶自定義的屬性,通過這些屬性為消息過濾提供了保障。消息消費者通過對消息頭字段和屬性指定感興趣的內容,并以字符串的形式將過濾條件送至消息選擇器,這樣保證了消息消費者只會接受到自己指定的消息。

3 改進的消息過濾算法

傳統的消息選擇方式下,訂閱列表中每個消息選擇器都會被JMS提供者進行匹配處理,當滿足條件時才會將這個消息發送給訂閱者。對于消息發布與訂閱者數量比較多時會存在許多相同或相似的訂閱條件,傳統的做法并沒有考慮利用這些共同點來提高消息匹配效率。文獻3中提出的算法主要解決了相同屬性而值不同的多個訂閱條件的消息過濾情況。文獻4中提出的算法主要解決了單個訂閱條件下各個屬性間的邏輯關系不同的消息過濾情況。本文將以上兩種算法思想結合得到一種新的消息過濾算法。

首先準備前期工作,對訂閱條件進行部分調整:

(1) 對所有的消息選擇器進行預處理,調整所有邏輯操作符and連接的屬性使之排在選擇器前面。以下是消息選擇器的條件表達式示例:

(a) S1=(BookName =’java basis’) or(NumberOfBuys >50)and (Price<20);

(b) S2=(BookName=’c++ basis’) and (NumberOfBuys>40)or (author =’simth’);

(c) S3=(BookName=’ java basis’) or (NumberOfBuys>40)or (author =’simth’);

第一個消息選擇器的條件表達式調整為:S1=(NumberOf Buys >50) and (Price<20)or (BookName =’java basis’);其它兩個消息選擇器不需要調整。

(2) 將調整好的訂閱條件建立一個訂閱條件列表Subs_list。

(3) 建立一個保存所有訂閱條件的屬性列表Pro_list。并將每個訂閱條件的屬性分解后按邏輯符=,>,<分成三類并按值從小到大的順序存入屬性分類列表。屬性分類列表結構如圖1所示。

圖1 屬性分類列表

(4) 建立一個包含兩個分支的訂閱條件雙向鏈表Double_list,左端表示訂閱條件屬性間的邏輯關系,右端表示一個訂閱條件屬性所在Pro_list中索引位置。其結構如圖2所示。

圖2 訂閱條件雙向鏈表

改進的消息過濾算法如下:

(1) 遍歷訂閱列表,如果訂閱條件在Double_list中不存在,則將該訂閱條件添加到Double_list的鏈表中。

(2) 對于訂閱條件的每一個屬性分支,查找Pro_list,若屬性分支在Pro_list中存在,則將它在pro_list中的索引位置保存在Double_list的右端鏈表中;如果屬性在Pro_list中不存在,將該屬性添加到pro_list中,同時將其索引位置保存在Double_list的右端鏈表中。最后將屬性間的邏輯關系保存在Double_list的左端鏈表中。

(3) 將發送過來的事件進行解析,依次按照事件包含的各個屬性做出不同的操作:遇到屬性使用“=”運算符時,在屬性分類列表中使用二分查找算法查找與事件相同的那個屬性進行匹配。遇到屬性使用“<”運算符時,在屬性分類列表中使用二分查找算法查找與包含小于該事件屬性值的最大相同屬性P及P左端的屬性進行匹配,遇到屬性使用“>”運算符時,在屬性分類列表中使用二分查找算法查找與包含大于該事件屬性值的最小相同屬性P及P右端的屬性進行匹配。最后將匹配了的屬性存入匹配列表match_subs。

(4) 遍歷Double_list的左端,以下分三種情況:

① 如果訂閱條件邏輯符全部是and,則依次將Double_list右端的屬性索引所指的Pro_list的屬性與match_subs比較,其中出現一個false值,不再考慮其后的屬性索引所指的值,直接標記此訂閱條件匹配值為false,否則置為true。

② 如果訂閱條件邏輯符全部為or,則依次將Double_list右端的屬性索引所指的Pro_list的屬性與match_subs比較,其中出現一個true值,不再考慮其后的屬性索引所指的值,直接標記此訂閱條件匹配值為true,否則置為flase。

③ 如果訂閱條件邏輯符包含and 與or,則依次將Double_list右端的屬性索引所指的Pro_list的屬性與match_subs比較。對于and連接的屬性數量為and的數量加1,如果匹配結果全為true,則標記訂閱條件匹配值為true,否則跳過and連接的屬性,接下來or連接的屬性按b的情況進行判斷。

(5) 將完全匹配的結果保存在訂閱列表中。

4 算法性能分析

JMS傳統的消息過濾算法沒有考慮到每個訂閱條件內部的關系,缺乏消息匹配的靈活性。而改進的消息過濾算法中,每個訂閱條件屬性按邏輯操作符的優先順序進行了位置的調整,然后再拆分了訂閱條件的屬性,按照屬性名的不同進行分類,減少了JMS提供者對重復消息匹配次數。但改進后的消息過濾算法要消耗訂閱條件屬性調整、分解時間以及對匹配了的屬性列表查找時間。

在比較傳統的消息過濾算法與改進的消息過濾算法的基礎上可知,在訂閱者數量不多情況下兩種算法的匹配時間差不多。但是對于訂閱者數量多并且有多數訂閱條件相似度很高的情況下,改進后的過濾算法可大大減少重復信息的匹配時間,從而提高對整個系統的消息處理效率。

5 小結

對傳統的消息過濾機制,不能快速處理大量相同或相似消息,通過運用改進的算法,消息處理效率將大幅度提升,也為運用這種消息處理機制的系統開發提供了一定的借鑒作用。

[1] Mark Richards, Richard Monson-haefel, David A.Chapppell.JAVA Message Service(閆懷志)譯.北京.電子工業出版社.2010.

[2] 王偉卿,孫莉.基于Java消息服務的消息中間件的應用研究[J].計算機技術與發展.2009.

[3] 鄭偉,寇應展,陳財林,徐士超.基于公平謂詞法的JMS消息過濾改進算法[J].軍械工程學院學報.2008.

[4] 張彩云,康亞男,成汝震.基于內容的發布/訂閱模型中高效的匹配算法[J].河北師范大學學報.2009.

猜你喜歡
分類
2021年本刊分類總目錄
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
星星的分類
我給資源分分類
垃圾分類,你準備好了嗎
學生天地(2019年32期)2019-08-25 08:55:22
分類討論求坐標
數據分析中的分類討論
按需分類
教你一招:數的分類
主站蜘蛛池模板: 四虎综合网| 国产高清精品在线91| 成人午夜视频网站| 丰满的熟女一区二区三区l| 三级毛片在线播放| 亚洲热线99精品视频| 午夜啪啪网| 91精品国产丝袜| 欧美a在线看| 亚洲三级视频在线观看| 9cao视频精品| 欧美午夜理伦三级在线观看| 久久黄色免费电影| 亚洲欧美激情小说另类| 亚洲男人天堂2018| 国产精品亚洲欧美日韩久久| 被公侵犯人妻少妇一区二区三区| 国产成人免费| 99热这里只有精品在线播放| 色综合成人| 麻豆AV网站免费进入| 国产91成人| 一级一级一片免费| 久久亚洲高清国产| 国产手机在线ΑⅤ片无码观看| 高清国产在线| 久青草免费视频| 2048国产精品原创综合在线| 极品国产一区二区三区| 亚洲第一黄片大全| 天堂网亚洲系列亚洲系列| 亚洲欧美日韩色图| 女人18毛片水真多国产| 国产精品久久自在自2021| 精品视频一区二区观看| 亚洲综合久久成人AV| 国产女人喷水视频| 久久一日本道色综合久久| 黄色一级视频欧美| 国产特级毛片aaaaaaa高清| 亚洲首页在线观看| 欧美黄网在线| 麻豆国产在线不卡一区二区| 久久中文字幕不卡一二区| 美女视频黄又黄又免费高清| 亚洲大尺码专区影院| 国产综合亚洲欧洲区精品无码| 国产综合网站| 国产精品2| 91口爆吞精国产对白第三集 | 亚洲国产日韩欧美在线| 久久亚洲中文字幕精品一区| 久久精品国产国语对白| 国产导航在线| 国产自在线播放| 91黄色在线观看| 婷婷丁香色| 麻豆国产在线观看一区二区| 激情六月丁香婷婷| 亚洲欧美综合在线观看| 免费看a级毛片| 免费视频在线2021入口| 最新国产高清在线| 国产91丝袜在线播放动漫| 国产精品污污在线观看网站| 久久www视频| 国产成人免费| 免费无遮挡AV| 无码乱人伦一区二区亚洲一| 国产又爽又黄无遮挡免费观看| 一区二区三区在线不卡免费| 亚洲乱伦视频| 欧美日韩一区二区在线免费观看| 91口爆吞精国产对白第三集| 国产日韩欧美黄色片免费观看| 亚洲人成在线免费观看| 欧美啪啪一区| 亚洲中文久久精品无玛| 国产99在线| 欧美成人日韩| 国产成人夜色91| 在线欧美一区|