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

消息傳輸系統研究

2016-05-16 01:47:40張勇裴東良張會兵
軟件 2016年3期

張勇+裴東良+張會兵

摘要:針對目前軟件系統之間的消息傳輸解決方案中存在的缺陷,提出了一種消息傳輸系統,并對其核心的路由單元進行了分析和設計。此外,建立了基于隊列庫的動態路由機制。該消息傳輸系統可支持多級分布式部署的軟件系統之間的消息存儲轉發,且部署、維護、配置、集成都極其便捷。

關鍵詞:消息傳輸;路由;隊列

中圖分類號:TP312 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2016.03.013

0引言

軟件系統之間的消息傳輸有兩種解決方案:一種解決方案為:數據傳輸由兩個軟件系統之間協調完成,常用方式有Web Service;一種方案為:建立獨立的消息傳輸系統,作為各個軟件系統之間進行消息(數據)傳輸的橋梁,類似郵局的功能。兩種方式適用范圍不同。第二種方式適用了業務量大,業務軟件較多、部署結構復雜的情況。

目前,對于上述第二種實現方式,一般都采用商用的消息中間件來實現,如ActiveMQ、TLQ等。但無一例外的,都需要進行二次開發,且還需要在這些消息中間件上進行手動的配置(如建立收發隊列)。如果面對軟件系統多、部署情況復雜的情況,這種方式則表現出部署復雜、配置共工作量大、不易維護等缺點。

針對上述情況,本文提出了一種消息傳輸系統,并對核心的路由單元進行分析和設計。該系統可支持多級分布式部署的軟件系統之間的消息存儲轉發,且部署、維護、配置、集成都極其便捷。

1系統構建

消息傳輸系統是按照分布式部署方式進行設計的,可根據實際情況進行部署,如可按“中央一省級”兩級部署,也可按照“中央一省級一市級”三級部署。理論上,部署層級是無限制的。考慮到現實情況,按照三級部署基本可滿足要求,其部署結構如圖1所示。在整個傳輸系統中,有三個角色:消息發送方系統、消息接收方系統、消息傳輸系統。消息發送方系統通過消息傳輸系統提供的API將消息發送至消息傳輸系統的消息接收隊列;消息傳輸系統監聽發送隊列情況,發現有新到的消息則將消息取出,并進行路由計算,如果是消息接收方為同一個域內的業務系統,則直接將消息插入到消息接收方的隊列中;如果消息接收方是上級域或者是同級非同域的業務系統時,則把消息轉發給上級消息傳輸系統,由上級傳輸系統按照上述邏輯繼續進行消息的存儲轉發。消息接收方監聽自己的隊列中是否有消息,如果有,則取走消息進行消費。

2路由機制設計

2.1路由單元結構設計

消息傳輸系統中的路由單元由三部分組成:路由計算模塊、策略庫和消息轉發模塊。路由計算模塊負責根據接收方地址與當前消息傳輸系統地址進行計算,得出策略代碼,并根據策略代碼查找策略庫,得出下一跳地址;策略庫中存儲的路由策略;消息轉發模塊負責根據下一跳地址發送給指定的接收方。

整個路由過程流程為:

(1)消息傳輸系統中的消息監聽單元負責監聽本傳輸系統中本地隊列中的輸入隊列,發現消息即將此消息傳遞給路由計算模塊;

(2)路由計算模塊獲取消息,并對消息進行解析,取出消息接收方(一條消息可能有多個接收方),地址并與本傳輸系統的地址進行計算,得出策略代碼;然后根據策略代碼查詢策略庫,得出下一跳的地址;并將消息重新包裝,傳遞給消息轉發模塊;

(3)消息轉發模塊根據下一跳的地址將消息發送給指定的接收方。

2.2定義

為方面后續的算法說明,做以下名稱和符號的定義及說明

1)消息

在消息的格式中,本文僅關注核心的消息接收方部分的內容。消息接收方分為兩部分:接收方列表Dperm、臨時接收方列表Dtemp。Dperm是由消息發送方在發送消息時寫入的,代表了當前消息的所有接收方。Dtemp是由消息傳輸系統在進行消息轉發時寫入的,代表了消息的臨時接收方。Dperm和Dtemp都是一個數組,由接收方地址組成,如下所示:

2)域名

由于消息傳輸系統是按照行政級別的方式進行分級部署的,每一級的應用系統都通過本級的消息傳輸系統進行消息的收發。因此,需要對消息傳輸系統的管轄范圍進行定義,這就是域名(domain)的概念,用符號Dom表示,取值為國家標準的域名庫。域名通過點分制的字符串來描述,每一段代表了一個行政級別,如浙江省的域名zj.cn,石家莊的域名的sjz.he.cn

3)消息隊列

每個消息傳輸系統在部署完成后都會初始化一部分消息隊列。這些消息隊列分為兩類:業務應用隊列和系統隊列。業務應用隊列是與該消息傳輸每一類隊列又分為兩個子類:IN隊列和OUT隊列。IN隊列是接收消息的隊列,即消息傳輸系統將消息放到接收方的IN隊列,接收方負責監聽此隊列,并在消息來到時進行消費。OUT隊列是發送消息的隊列,消息發送方將消息發送至自己的OUT隊列,消息傳輸系統負責監聽所有的OUT隊列,并在有消息時進行消費。

4)策略

策略用一組代碼來指明符合特定代碼的下一跳的地址。策略用符號T表示,T是一個二元組,由策略代碼、下一跳地址組成,分別使用c和N表示。如下所示:

2.3路由算法設計

(1)基本原則

消息的傳輸路徑與消息傳輸系統的部署框架存在一定關系,因此,在第2章節所描述的系統部署架構的下,路由算法有兩個基本原則:

1)任意兩個業務系統之間不能直接收發消息,必須將消息發送給所屬的消息傳輸系統,由消息傳輸系統負責完成消息的存儲轉發。

2)不同域的消息傳輸系統之間不能直接進行消息的收發,必須通過上級消息傳輸系統完成,如長沙的業務系統需要向杭州的業務系統發送消息時,只能通“長沙->湖南->中央->浙江->浙江”的路由進行消息轉發。

(2)路由算法

1)符號定義

dpdomi:表示當前消息的第i個接收方的域名;Mdom:表示當前消息傳輸系統的域名

2)路由算法

在3.2節及上述定義的之下,路由算法如圖3所示。

3動態路由

在前面的消息傳輸的分析和研究中,主要考慮消息的正向傳輸過程中的核心問題:消息是如何進行路由選擇的,而并未考慮作為消息接收方的業務系統在整個消息傳輸過程中的作用。不管是接受消息的業務系統還是進行存儲轉發的消息傳輸系都具有動態調整自身接受消息策略的需求。尤其對于作為橋梁的消息傳輸系統。為了保證消息傳輸的高效性和安全性,為每個業務系統都不止分配一個接受隊列。在正常的消息傳輸過程中,消息傳輸模塊是按照下一跳的地址進行轉發時,是隨機發送到下一跳系統任意一個隊列中,以用隨機的方式保證各隊列的負載均衡。隨機性的缺陷是很明顯的,如果隨機選擇的隊列已經負載很大或者根本不可用時,就需要將當前的消息轉發至其他隊列中的一個,達到真正的負載均衡的效果。此外,也存在業務系統不需要接收消息的需求,此時可通知消息傳輸系統,不再發送消息。

針對上述需求,在第3節所述結構的基礎上,增加隊列庫,隊列的使用方及消息傳輸系統對隊列的狀態進行實時更新,消息轉發模塊在轉發時,查詢隊列庫,并根據各個隊列的實時狀態,擇優選擇目的隊列。其結構如圖4所示。

其中,隊列庫的結構如表2所示。每一個隊列是一個三元組Q=。Code使用方的代碼。Queue是隊列名,隊列分為兩類,發送隊列(OUT開頭),接收隊列(IN開頭)。Status是狀態,0表示不可用,其他值代表當前隊列中待消費的消息數。業務系統僅維護自己的IN隊列,即如果不需要接收消息,則設置其OUT隊列的status狀態為0。消息傳輸系統維護所有的IN和OUT隊列,如果業務系統的IN隊列已經設置為0,則不進行維護。隊列庫可以實時反映當前所有的隊列的負載情況,消息轉發模塊在進行消息轉發時,通過查詢隊列庫,選擇合適的隊列進行消息的發送,均衡負載,實現動態路由。

4結論

通過對軟件系統之間的消息傳輸方式進行分析,指出目前常用的解決方案的缺陷。針對上述缺陷,提出了一種分布式跨級的消息傳輸系統。在上述基礎上,對消息傳輸系統中的核心部分一路由單元的架構進行了設計,建立了基于策略庫和隊列庫的路由算法集。該系統的彈性部署方式可應對絕大多數的應用場景,且部署、維護、配置、集成、性能方面都有一定的優勢。

主站蜘蛛池模板: 91香蕉视频下载网站| 欧美国产日本高清不卡| 亚洲色婷婷一区二区| 久久99国产综合精品1| 国产精品久久久久久影院| 欧美在线伊人| 亚洲成年网站在线观看| 性色在线视频精品| 色婷婷成人| 日韩精品一区二区三区免费在线观看| 亚洲欧美国产视频| 国产欧美日韩资源在线观看 | 欧美另类第一页| 国产香蕉97碰碰视频VA碰碰看| 国产成人免费| 在线观看无码av免费不卡网站| 免费啪啪网址| 亚洲精品卡2卡3卡4卡5卡区| V一区无码内射国产| 在线观看国产黄色| 中文字幕永久视频| 自拍亚洲欧美精品| 综合色婷婷| 国产一在线| 伊伊人成亚洲综合人网7777| 亚洲妓女综合网995久久| 中国国产高清免费AV片| 日本免费一区视频| 欧美国产日韩另类| a亚洲天堂| 国产丝袜第一页| 久久青草视频| 中文字幕免费播放| 亚洲床戏一区| 91国内视频在线观看| 亚洲一区二区三区国产精华液| 9久久伊人精品综合| www.狠狠| 国产欧美视频在线| 国产色图在线观看| 国产欧美视频综合二区| 亚洲色图欧美在线| 久久久久久久久18禁秘| 国产精品专区第1页| 国产欧美日韩资源在线观看| 好紧好深好大乳无码中文字幕| 午夜视频在线观看免费网站| 久久国语对白| 久久这里只有精品2| 国产成人禁片在线观看| 一本色道久久88| 72种姿势欧美久久久久大黄蕉| 免费在线国产一区二区三区精品| 特级欧美视频aaaaaa| 欧美精品导航| 国产99视频在线| 91精品综合| 18禁色诱爆乳网站| 国产欧美专区在线观看| 一本无码在线观看| 精品色综合| 色一情一乱一伦一区二区三区小说| 免费在线不卡视频| 亚洲成人动漫在线观看| 亚洲欧洲日韩国产综合在线二区| 五月天综合婷婷| 色综合久久久久8天国| 亚洲欧美日韩综合二区三区| 日本亚洲成高清一区二区三区| 国内精自线i品一区202| 久久77777| 色哟哟国产成人精品| 欧美日韩成人在线观看| 亚洲精品中文字幕无乱码| 综合成人国产| 在线人成精品免费视频| 色亚洲成人| 91久久精品国产| 91九色国产porny| 久久黄色视频影| 欧美精品v欧洲精品| 喷潮白浆直流在线播放|