亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Kafka 的公交GPS 數(shù)據(jù)實時通訊系統(tǒng)的設(shè)計與應用

        2022-08-22 16:23:12綦忠平
        城市公共交通 2022年6期
        關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)

        何 偉 王 浩 綦忠平

        (濟南公共交通集團有限公司,濟南 250013)

        關(guān)鍵字:GPS;Kafka;實時處理;大數(shù)據(jù)技術(shù)

        隨著城市擁堵加劇,為減少無效等待時間,降低等車焦慮,市民對公交車輛動態(tài)運行信息的實時性和準確性要求日益提高,保障車輛運行數(shù)據(jù)的穩(wěn)定性和完整性已成為公交企業(yè)對外服務(wù)和內(nèi)部管理的關(guān)鍵。保證核心業(yè)務(wù)系統(tǒng)的數(shù)據(jù)處理能力、有效應對每秒數(shù)萬筆的GPS 數(shù)據(jù)傳輸和處理成為重中之重,若不能進行流量緩沖將直接引發(fā)系統(tǒng)崩潰和服務(wù)停滯,亟需利用大數(shù)據(jù)技術(shù)幫助業(yè)務(wù)系統(tǒng)處理瞬間流量洪峰的沖擊,保持各個應用之間的消息通暢。

        1 現(xiàn)狀及分析

        公交運力隨著城市拓展不斷提升,傳統(tǒng)的公交數(shù)據(jù)通訊網(wǎng)關(guān)已無法滿足新時代公交調(diào)度和乘客信息服務(wù)的需求,需要建設(shè)滿足高可靠、高并發(fā)的實時數(shù)據(jù)通訊系統(tǒng)。

        1.1 現(xiàn)狀問題

        傳統(tǒng)的數(shù)據(jù)通訊系統(tǒng)存在以下幾個方面的問題:

        (1)在處理海量并發(fā)數(shù)據(jù)方面,存在單點故障和負載不均衡等問題。

        (2)系統(tǒng)模塊耦合度較高、功能復雜,存在故障定位、追溯和運維困難等問題。

        (3)數(shù)據(jù)流經(jīng)環(huán)節(jié)多,存在網(wǎng)關(guān)、數(shù)據(jù)庫、機房網(wǎng)絡(luò)等軟硬件綜合故障概率大等問題。

        1.2 業(yè)務(wù)需求

        公交GPS 數(shù)據(jù)實時通訊系統(tǒng)需能正確、高效地解析、轉(zhuǎn)發(fā)和存儲數(shù)據(jù),滿足高吞吐、高并發(fā)、高可用等工作要求,能準確監(jiān)控公交車輛運行位置、速度等狀態(tài)信息,在保障公交智能調(diào)度系統(tǒng)運行正常和滿足人們的出行信息服務(wù)需求方面發(fā)揮出關(guān)鍵作用。

        (1)負載均衡:基于TCP 和HTTP 提供代理服務(wù),需支持負載均衡。

        (2)高并發(fā)性:支持高并發(fā)解析和處理數(shù)據(jù),需保證實時響應能力。

        (3)實時性:面對大量數(shù)據(jù)接入,需能正確、實時、完整地解析和處理數(shù)據(jù)。

        (4)高可用性:保證主備服務(wù)器可用,應避免因單臺故障影響整體服務(wù)不可用。

        (5)高穩(wěn)定性:通信服務(wù)器應對大量連接保持穩(wěn)定連接狀態(tài),避免宕機。

        (6)可拓展性:平臺模塊低耦合,模塊之間的需求發(fā)生改變不影響整個系統(tǒng)的可用性。

        2 系統(tǒng)方案設(shè)計

        針對上述業(yè)務(wù)需求,本文選擇基于分布式發(fā)布-訂閱消息系統(tǒng)Kafka 設(shè)計搭建公交GPS 數(shù)據(jù)通訊系統(tǒng)。Kafka 是一個高吞吐量的分布式消息訂閱-發(fā)布系統(tǒng),具備高性能、持久化、多副本備份、橫向擴展能力。通過生產(chǎn)者向隊列里寫消息,消費者從隊列里取消息進行業(yè)務(wù)邏輯處理,相對于傳統(tǒng)的消息隊列,Kafka 可實現(xiàn)業(yè)務(wù)邏輯的解耦、削峰和異步處理。公交智能調(diào)度系統(tǒng)采用具備高性能異步通信能力的Netty 框架;選用HAProxy 構(gòu)建代理服務(wù)器并結(jié)合Keepalive 健康檢查,解決通信服務(wù)器的單點故障、負載不均問題,實現(xiàn)故障轉(zhuǎn)移的高可用方案;選用Kafka 分布式消息隊列降低模塊耦合度,解決通信服務(wù)和數(shù)據(jù)庫耦合度高、模塊功能復雜且難以維護的問題;其他模塊利用Kafka 定制分發(fā)策略,將Kafka 作為數(shù)據(jù)源,達到模塊功能單一、系統(tǒng)性能最優(yōu)的目的。系統(tǒng)設(shè)計模塊如圖1所示。

        圖1 系統(tǒng)設(shè)計模塊

        2.1 Kafka 消息隊列

        典型的用于數(shù)據(jù)通訊的分布式消息中間件主要包括ActiveMQ、RabbitMQ、ZeroMQ、Kafka 等。ActiveMQ 不支持集群控制臺管理,訪問吞吐量較低,RabbitMQ 伸縮性不能滿足遞增的系統(tǒng)規(guī)模,ZeroMQ 由于采用內(nèi)存進行存儲和轉(zhuǎn)發(fā),沒有持久化機制。

        Kafka 支持發(fā)布訂閱模式,滿足低延遲、高吞吐、高可用需求,吞吐量可隨集群擴展而線性增加,在海量數(shù)據(jù)處理領(lǐng)域被廣泛應用,同時支持離線數(shù)據(jù)處理和實時數(shù)據(jù)處理。通過對比分析,選擇Kafka應用于分布式公交GPS 大數(shù)據(jù)處理系統(tǒng)。消息傳遞模式如圖2 所示。

        圖2 消息傳遞模式

        2.2 Netty 通信框架

        Netty 通訊框架具有高性能、異步通信、事件驅(qū)動的特點,適合用于構(gòu)建高性能、分布式通信系統(tǒng),可用于快速開發(fā)、維護基于網(wǎng)絡(luò)協(xié)議的服務(wù)器和客戶端。

        2.3 HAProxy

        HAProxy 提供基于TCP 的負載均衡,具有高性能、高可靠、高安全特性,支持萬級并發(fā),包括GitHub、Twitter、亞馬遜等知名網(wǎng)站都使用了HAProxy。

        2.4 數(shù)據(jù)庫

        Redis 是高性能NoSQL 數(shù)據(jù)庫,數(shù)據(jù)采取內(nèi)存存儲方式,利用復制特性擴展讀性能,利用客戶端分片擴展寫性能,采用單線程工作模型,避免頻繁上下文切換,采用非阻塞I/O 多路復用機制。

        3 通訊系統(tǒng)架構(gòu)

        針對公交車輛運行實時數(shù)據(jù),本系統(tǒng)利用Netty 集群解決高并發(fā)通信問題,選用Kafka 集群作為實時消息處理模塊的中間件,利用Kafka 的異步解耦功能,避免系統(tǒng)業(yè)務(wù)之間相互耦合影響,實現(xiàn)上、下游業(yè)務(wù)系統(tǒng)松耦合,降低系統(tǒng)復雜度,縮短用戶請求的響應時間,保證智能調(diào)度子系統(tǒng)或子模塊的故障不影響整個鏈路。

        利用Kafka 技術(shù)搭建大規(guī)模的消息系統(tǒng),Kafka具有消息持久化、高吞吐、分布式、實時、低耦合、多客戶端支持、數(shù)據(jù)可靠等諸多特點,系統(tǒng)流程如圖3 所示。

        圖3 系統(tǒng)設(shè)計流程

        3.1 系統(tǒng)整體架構(gòu)

        公交車載終端與通訊服務(wù)器建立TCP 連接,車輛運行數(shù)據(jù)經(jīng)代理服務(wù)器、Netty 集群通信服務(wù)器轉(zhuǎn)發(fā)推送到Kafka 集群消息隊列服務(wù)器。為保證對外服務(wù)的時效性,減少數(shù)據(jù)入庫延遲影響,公交手機來車預報APP、電子站牌等業(yè)務(wù)首選從Kafka獲取車輛GPS 數(shù)據(jù),從數(shù)據(jù)庫獲取車輛注冊數(shù)據(jù)。智能調(diào)度車輛運行監(jiān)控、數(shù)據(jù)統(tǒng)計分析、安全管理等業(yè)務(wù)系統(tǒng)從數(shù)據(jù)庫獲取車輛運行動靜態(tài)數(shù)據(jù)。系統(tǒng)整體架構(gòu)如圖4 所示。

        圖4 系統(tǒng)整體架構(gòu)

        (1)數(shù)據(jù)源層(公交車載GPS),用于產(chǎn)生原始GPS 數(shù)據(jù),通過4G 無線網(wǎng)絡(luò)實時上傳,每5 秒上傳1 次。

        (2)數(shù)據(jù)通訊層,利用Netty 集群與車載設(shè)備實時連接,實現(xiàn)公交車載設(shè)備上線注冊、數(shù)據(jù)通訊、負載均衡等功能。每臺虛擬服務(wù)器可支持500 輛車實時通訊。

        (3)數(shù)據(jù)分發(fā)層,利用Kafka 集群實時處理5000 多個終端的高并發(fā)GPS 數(shù)據(jù),并以毫秒級延遲實時發(fā)布,滿足內(nèi)外不同應用場景的消息訂閱需求。

        (4)數(shù)據(jù)存儲層,利用Redis 數(shù)據(jù)庫緩存實時數(shù)據(jù),提高數(shù)據(jù)訪問效率;利用Oracle 數(shù)據(jù)庫存儲數(shù)據(jù),根據(jù)業(yè)務(wù)需求進行計算與交互。

        (5)數(shù)據(jù)輸出層,分為對外便民服務(wù)和內(nèi)部業(yè)務(wù)管理兩部分,對外服務(wù)重點保障高實時性,內(nèi)部管理兼顧實時性與數(shù)據(jù)統(tǒng)計分析。

        本文設(shè)計的通訊系統(tǒng)架構(gòu),部署在虛擬機集群之上提供服務(wù),可有效避免由于智能調(diào)度系統(tǒng)故障或數(shù)據(jù)庫故障導致的對外服務(wù)停滯問題,提高了系統(tǒng)整體的可用性和可靠性。

        3.2 內(nèi)部功能模塊

        GPS 數(shù)據(jù)通訊系統(tǒng)是公交智能調(diào)度系統(tǒng)的關(guān)鍵子系統(tǒng)之一,主要包括車輛注冊、心跳連接、數(shù)據(jù)解析、數(shù)據(jù)存儲、數(shù)據(jù)接口等功能(圖5)。該系統(tǒng)從總體設(shè)計方面來講,每個模塊功能較為單一,降低了模塊之間的耦合度,提高了模塊靈活性和復用率。

        圖5 通訊系統(tǒng)內(nèi)部模塊

        (1)車輛注冊功能:通信服務(wù)器與車載終端建立連接,接收車輛登錄和注冊信息,將車輛注冊信息存入數(shù)據(jù)庫。

        (2)健康檢查功能:采用心跳連接,系統(tǒng)自身維護車載終端和通信服務(wù)器長鏈接狀態(tài)。

        (3)數(shù)據(jù)解析功能:依據(jù)衛(wèi)星定位系統(tǒng)終端通訊協(xié)議,正確解析數(shù)據(jù),并校驗數(shù)據(jù)的正確性。

        (4)數(shù)據(jù)存儲功能:結(jié)合業(yè)務(wù)需要,分類分庫存儲。車輛運行數(shù)據(jù)存入Redis 數(shù)據(jù)庫,提高訪問效率,同時車輛基礎(chǔ)數(shù)據(jù)和運行數(shù)據(jù)存入Oracle 數(shù)據(jù)庫,便于數(shù)據(jù)追溯。

        (5)數(shù)據(jù)接口:系統(tǒng)對外公布服務(wù)接口,供企業(yè)內(nèi)部其他系統(tǒng)或外部第三方獲取動態(tài)數(shù)據(jù)。

        4 系統(tǒng)評價

        本文提出的基于Kafka 的公交GPS數(shù)據(jù)實時通訊系統(tǒng)充分利用了先進的實時大數(shù)據(jù)流處理技術(shù),并針對公交GPS數(shù)據(jù)流的特點對技術(shù)選型和系統(tǒng)架構(gòu)進行了研究和設(shè)計。經(jīng)過研究分析及實際應用(圖6),本文設(shè)計的數(shù)據(jù)實時通訊系統(tǒng)具有如下優(yōu)勢。

        圖6 系統(tǒng)環(huán)境配置及并發(fā)訪問

        (1)數(shù)據(jù)處理高效。系統(tǒng)采用當前先進的高可靠、高吞吐量的Kafka 消息系統(tǒng),基于內(nèi)存數(shù)據(jù)庫進行數(shù)據(jù)處理,實時處理能力強,較傳統(tǒng)架構(gòu)處理效率顯著提升。

        (2)功能擴展性強。系統(tǒng)采用的Kafka 消息隊列、Netty 通信集群、Oracle數(shù)據(jù)庫和Redis 數(shù)據(jù)庫均采用分布式集群架構(gòu),具備較強的擴展能力。隨著公交車輛增多,系統(tǒng)處理能力可平滑擴展,有效降低了系統(tǒng)擴展成本。

        (3)系統(tǒng)可用性強。通過服務(wù)器集群提供負載均衡,通過Kafka 消息隊列集群和Oracle 數(shù)據(jù)庫集群多通道提供實時數(shù)據(jù),縮小單點故障的影響范圍,避免造成出行信息服務(wù)停滯。

        (4)可恢復性高。系統(tǒng)的一部分組件失效時,不會影響到整個系統(tǒng)。消息隊列降低了進程間的耦合度,即使一個處理消息的進程掛掉,加入隊列中的消息仍可在系統(tǒng)恢復后被處理。

        5 結(jié)語

        本文設(shè)計的公交GPS 數(shù)據(jù)實時通訊系統(tǒng)實現(xiàn)了公交車輛GPS 運行數(shù)據(jù)的解析、存儲和分發(fā),為市民提供實時車輛運行信息,引導市民優(yōu)先選擇綠色出行,為企業(yè)調(diào)度運營提供數(shù)據(jù)支持,滿足市民美好出行體驗的需要,不斷提高公交乘客滿意度,獲得良好的經(jīng)濟和社會效益。

        猜你喜歡
        數(shù)據(jù)庫系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        国产suv精品一区二人妻| 阴唇两边有点白是怎么回事| 日日碰狠狠添天天爽超碰97久久| 久久99久久99精品中文字幕| 亚洲国产福利精品一区二区| 日韩在线中文字幕一区二区三区| 亚洲日本人妻少妇中文字幕| 极品少妇小泬50pthepon| 一本色综合亚洲精品蜜桃冫| 国产桃色精品网站| 国产色av一区二区三区| 久久久精品久久久国产| 日韩精品中文一区二区三区在线 | 国产影片免费一级内射| 一个人看的www片免费高清视频| 中文字幕日韩精品无码内射| 无码Av在线一区二区三区| 91中文在线九色视频| 久久精品人人做人人爱爱| 中文字幕熟妇人妻在线视频| 国产九九在线观看播放| 久久国产精品免费专区| 亚洲av无码专区亚洲av网站| 国产内射合集颜射| 日韩精品极品免费观看| 三级国产精品久久久99| 国产av无码专区亚洲awww| 亚洲国产精品线观看不卡| 亚洲永久精品日韩成人av| 美女mm131爽爽爽| 国内大量揄拍人妻在线视频| 中文字幕一区二区三区.| 中文字幕女同系列在线看一 | 风韵人妻丰满熟妇老熟女视频| 色妞色视频一区二区三区四区 | 精品人妻久久一日二个| 国产亚洲日本精品无码| 91精品国产福利尤物免费| 国产黄片一区二区三区| 又粗又大又硬毛片免费看| 四虎精品视频|