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

一種基于Camel的車聯網消息路由轉發方案的設計

2021-01-27 03:33:46胡晨光
物聯網技術 2020年12期
關鍵詞:服務企業

胡晨光

(中國電子科技集團公司 第三十八研究所,安徽 合肥 230088)

0 引 言

目前,接入車聯網的電動汽車日益增多,車輛上報數據呈爆炸式增長[1-2]。按照國家安全監管相關要求,電動汽車的消息數據必須上報至國家平臺[3],以便車輛銷售地區管理部門實時獲取本地車輛運行狀態。此外,商用電動汽車的購買企業需要實時掌握車輛所處位置及車輛電池等信息[4];提供公共服務的第三方企業,如充電樁企業、電網公司等[5],為更好服務車主,要求車聯網平臺將車輛信息接入其企業平臺。因此要求電動汽車上報的消息數據能夠及時轉發至多個平臺。

盡管通過文件配置和條件編碼編寫的路由轉發服務程序可以實現上述功能,但由于接入車輛不斷增加,且政府和企業對數據接入的需求不同,導致傳統路由轉發程序復雜,不宜維護。此外,單體轉發程序會帶來路由轉發程序的相互影響,一旦某一轉發邏輯出現問題,將影響其他轉發流程的進行,導致客戶體驗較差。

本文通過對消息路由目的地進行分類,利用Apache Camel框架編寫路由規則[6],采用并串行數據處理方式,以提高路由效率和系統擴展性。采取微服務架構開發和部署路由轉發模式,通過獨立部署運行實現一個路由服務實例對應多個轉發服務實例。轉發服務與第三方平臺實行一對一服務,避免轉發服務相互影響,在提高系統魯棒性的同時也便于人員維護。

1 設計方案

車聯網消息路由轉發方案根據車輛的轉發目的地平臺要求,數據經由路由服務發向不同的消息主題隊列中,再通過轉發服務發送至各目的地平臺。本方案涉及兩個核心服務,即路由服務和轉發服務。

1.1 總體架構

數據路由轉發方案總體架構如圖1所示。

圖1 數據路由轉發方案總體架構

由圖1可知,路由轉發方案由一個消息隊列組件和兩項服務組成。其中,消息隊列組件[7]選用Apache ActiveMQ。車輛消息經過路由服務處理后,由路由器發向不同消息目的地的主題隊列。各轉發服務從各自主題隊列中讀取消息,再轉發至外部第三方服務平臺。

1.1.1 方案組成部分說明

(1)消息隊列組件

消息隊列組件是系統中消息交換的中間子系統[8],用于存儲向外部提供的主題消息。消息隊列組件既支持主題消息寫入,也支持主題消息讀取。將消息的生產和消費過程解耦,以提高系統的并發能力和擴展性。此外,消息隊列組件具有“削峰填谷”的作用,若瞬間大量消息涌入系統,且超過系統的消費服務處理能力,那么消息隊列組件將緩存未處理的數據,待消息生產速度降低或消費服務能力提升后,再將緩存消息發送給消費者。

(2)消息路由服務

按照車輛配置的消息目的標識符將消息轉發至消息隊列的不同主題中[9]。對于消息隊列組件而言,消息路由服務是消息的生產者,由加載器、消息提取器、處理器、路由器組成。加載器在路由服務啟動時加載車輛的配置信息,形成路由表;消息提取器按照消息的格式協議提取本條消息所屬的車輛信息及消息的版本信息;處理器從消息中提取出車輛信息,找到其路由條目并進行消息轉換;路由器將本消息路由至不同的主題消息隊列中。

(3)消息轉發服務

消息轉發服務是由多個獨立的消息轉發服務實例組成[10]。每個消息服務實例對應一個外部第三方平臺,按照外部平臺的接入要求,實現消息的轉發。轉發服務組件包括消息轉換模塊和消息轉發模塊。其中,消息轉換模塊是將本地消息格式轉換成外部平臺的消息格式;消息轉發模塊則通過TCP或HTTP等方式把消息發送給第三方平臺。

1.1.2 路由服務流程

路由服務啟動時,由加載器從外部系統中加載車輛的配置信息,如車輛的VIN碼、T-BOX標識符、售賣地、所屬單位等,然后將配置信息組合成消息目的標識符,并建立車輛路由表。同時,車輛路由表也是車輛VIN碼、T-BOX標識符和目的標識符組成的Key-Value對應表。當收到一條車輛消息時,消息提取器提取出消息的協議版本,并根據此版本解析出消息所屬車輛的VIN碼或T-BOX標識符,之后再組合成路由表中的Key值,然后根據Key值查找消息目的標識符。處理器解析消息目的標識符,并將其分割成多個路由標識符類發送至路由器。路由器將路由標識符類按路由規則轉發至消息隊列中的目的地主題隊列,實現消息的路由過程。

1.1.3 轉發服務流程

轉發服務流程從主題隊列中提取消息,解析出目的地平臺所需要的數據(地理數據等),再經過消息轉換模塊將其轉換成第三方平臺的消息協議格式。在此過程中,按照目的地平臺的要求,需要增加或過濾車輛上報信息,以滿足平臺車輛上報數據的時序要求。最后,將數據進行轉換并發送到內部轉發隊列,再由轉發模塊轉發到指定的目的地平臺中。

1.2 關鍵設計

1.2.1 消息目的標識符

按照車輛各類目的地平臺轉發要求,可以將其分為三類:國家政府類平臺、地方政府類平臺、企業類平臺。其中,國家政府類平臺出于安全監管的目的,對全國車輛進行監控;地方政府類平臺只監控在本地銷售的車輛運行狀態,一般一個省或直轄市是一個監管平臺;企業類平臺主要監控本企業購買和運營車輛的運行狀態。此外,上述三類平臺各自包括多個獨立平臺,如國家政府類平臺還包括質監局平臺、商用車平臺等。國家政府類平臺和地方政府類平臺數量可控,企業類平臺數量較多。在國家政府類平臺中,車輛上報消息數據可能會同時發送至多個獨立平臺,而在地方政府類平臺和企業類平臺中,車輛上報信息數據只發送給本類平臺中的其中一個監管平臺。基于此,結合空間和效率,本設計將每個車輛的消息目的標識符設置為一個32位的整型變量。消息目的地標識符定義如圖2所示。

圖2 消息目的地標識符定義

(1)地方政府類段占據0~7位,最大可標識255個城市或省份;

(2)國家段占據8~11位,信息可同時發送到國家類平臺的多個獨立平臺,但目前只支持4個國家平臺;

(3)企業段是高16位,如1代表運輸企業,2代表銀行企業等,最多支持65 535家企業;

(4)保留區為4位,其可支持企業平臺類段或者國家政府類段的擴展。

1.2.2 路由規則

消息分段路由流程如圖3所示。

圖3 消息分段路由流程

根據目的地平臺轉發分類特點建立路由規則。首先判斷國家類字段,如果此字段為0,則轉到判斷地方政府字段;如果該字段非0,則按位依次判斷,其中某一位為1時,將信息轉發至相應的“國家+數值”名稱的主題隊列中。

地方政府字段非0時,依次判斷其余位是否為1,為1則轉發至“地方+數值”名稱的隊列中。企業類字段處理與地方政府字段處理流程基本一致。

以上隊列名稱可根據需要設定具體名稱,如“國家4隊列”可命名為“國家質監局隊列”。如果地方政府類和企業類隊列較多,則無需為每個隊列命名,簡化處理后直接將消息轉發至“地方(企業)+數值”的隊列中。

2 方案實現

2.1 Camel簡介

Apache Camel是基于企業集成模式(EIP)、整合了數百種第三方組件而建立的開源集成框架。其可為消息處理過程提供便捷的消費、計算和存儲框架,在軟件設計框架領域應用廣泛。本文利用其強大的規則引擎實現復雜的路由策略。

2.2 路由實現

路由實現基于車輛消息在消息隊列中(如ActiveMQ,路由服務從隊列中讀取該消息并提取車輛VIN碼)找到與之對應的消息目的標識符。消息目的標識符經過路由處理后,將其發送到不同的主題隊列中。

在做條件判斷之前,需要將消息目的標識符分割為國家類段、地方政府類段、企業類段,然后分別對三段標識符進行判斷。該過程邏輯的目的是實現Camel的Processor接口,將其命名為SeperatorDestinationTagProcessor處理過程。消息協議轉換處理類的目的同上。

為了編寫路由,必須繼承RouterBuilder類并將其命名為UploadMessageRouter,重寫Configure函數并在其中編寫路由規則。整合上述Processor處理類,利用choice、when、otherwise取代傳統代碼中的if-else,形成流式處理方法。

并行轉發數據時,采用Camel方式實現的路由規則無需進行額外線程操作,只需增加一行ParallelProcessing()即可實現并行發送。此外,把數據轉發至文件或其他消息隊列(如Kafka)時,只需創建文件或Kafka訪問端點,然后在to中導入訪問端點即可。

3 結 語

本文介紹了一種基于Camel框架的車聯網消息路由轉發方案。通過采用路由轉發服務分離設計,對轉發目的地平臺類型進行梳理,引入消息隊列組件,之后利用Camel強大的規則引擎實現順序和并行消息路由規則與路由轉發方案。此方案較之傳統的條件判斷方法具有擴展性強、代碼邏輯清晰、易于維護等特點,大大提高了系統消息并發處理效率。

猜你喜歡
服務企業
企業
當代水產(2022年8期)2022-09-20 06:44:30
企業
當代水產(2022年6期)2022-06-29 01:11:44
企業
當代水產(2022年5期)2022-06-05 07:55:06
企業
當代水產(2022年3期)2022-04-26 14:27:04
企業
當代水產(2022年2期)2022-04-26 14:25:10
敢為人先的企業——超惠投不動產
云南畫報(2020年9期)2020-10-27 02:03:26
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
主站蜘蛛池模板: 亚洲va欧美va国产综合下载| 国产成人91精品免费网址在线 | 香蕉久久永久视频| 国产另类视频| a免费毛片在线播放| 亚洲人成网站18禁动漫无码| 免费人成网站在线观看欧美| 2021精品国产自在现线看| 亚洲伊人久久精品影院| 亚洲无码熟妇人妻AV在线| 欧美视频免费一区二区三区| 玖玖精品视频在线观看| 欧美精品v欧洲精品| 国内精品一区二区在线观看| 久久黄色一级片| 国内精品小视频福利网址| 日本一区二区不卡视频| 日本福利视频网站| 青青草原国产免费av观看| 国产精品中文免费福利| 99ri精品视频在线观看播放| 老司机精品久久| 亚洲精品制服丝袜二区| 国产产在线精品亚洲aavv| 重口调教一区二区视频| 国产尤物视频在线| 97国产在线视频| 亚洲天堂免费| 99精品高清在线播放| 欧美亚洲第一页| 色老二精品视频在线观看| 免费毛片视频| 日韩精品毛片| 久久天天躁夜夜躁狠狠| 国产www网站| 国产欧美日韩一区二区视频在线| 国产乱人乱偷精品视频a人人澡 | 自拍偷拍欧美| 亚洲日韩精品欧美中文字幕| 久久香蕉国产线看观看式| 欧美视频在线观看第一页| 国产精品男人的天堂| 日韩第一页在线| 中国精品久久| 欧美人在线一区二区三区| 亚洲中文字幕在线观看| 亚洲bt欧美bt精品| 国产欧美日韩综合一区在线播放| 中国黄色一级视频| 91麻豆久久久| 国产欧美视频在线观看| 欧美一级大片在线观看| 亚洲日韩精品无码专区97| 亚洲高清中文字幕在线看不卡| 成年人免费国产视频| 亚洲中文字幕日产无码2021| 欧美亚洲一区二区三区在线| 黄色网在线| 国产人前露出系列视频| 久久久黄色片| 五月婷婷综合色| 亚洲天堂日韩在线| 国产极品美女在线播放| 一级毛片免费的| 午夜日b视频| 青青草原国产免费av观看| 国内熟女少妇一线天| 国产一级α片| 欧美中文一区| 伊人天堂网| 日韩 欧美 国产 精品 综合| 国内黄色精品| 欧美a√在线| 午夜视频www| 日韩小视频在线观看| 久久久久人妻精品一区三寸蜜桃| 全午夜免费一级毛片| 第九色区aⅴ天堂久久香| 中文纯内无码H| 呦女亚洲一区精品| 自拍亚洲欧美精品| 视频国产精品丝袜第一页|