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

        ?

        基于分布式的組態(tài)圖形實(shí)時(shí)數(shù)據(jù)更新

        2020-09-10 07:22:44韓勇余勇張玉壘
        交通科技與管理 2020年3期

        韓勇 余勇 張玉壘

        摘 要:文中提出了基于分布式服務(wù)的組態(tài)圖形數(shù)據(jù)更新方案。數(shù)據(jù)監(jiān)測(cè)服務(wù)監(jiān)測(cè)到數(shù)據(jù)變化時(shí),變化的數(shù)據(jù)更新到redis實(shí)時(shí)庫(kù)緩存,同時(shí)把變化的數(shù)據(jù)推送到Kafka總線,Kafka消費(fèi)者監(jiān)聽(tīng)到消息后通過(guò)Websocket把變化的數(shù)據(jù)推送到前端頁(yè)面,前端頁(yè)面解析數(shù)據(jù)后展示,完成圖形數(shù)據(jù)的刷新。

        關(guān)鍵詞:組態(tài)圖形;分布式;數(shù)據(jù)更新;實(shí)時(shí)推送

        中圖分類號(hào):TM734 文獻(xiàn)標(biāo)識(shí)碼:A

        1 主要技術(shù)簡(jiǎn)介

        1.1 Websocket技術(shù)

        Websocket 是 HTML5 開始提供的一種在單個(gè)TCP連接上進(jìn)行全雙工通訊的協(xié)議。在Websocket API 中,瀏覽器和服務(wù)器只需完成一次握手,兩者就直接可以創(chuàng)建持久性的連接,進(jìn)行雙向數(shù)據(jù)傳輸。傳統(tǒng)技術(shù)下實(shí)現(xiàn)推送,所用的方案都是 Ajax 輪詢。這種傳統(tǒng)的模式瀏覽器需要不斷的向服務(wù)器發(fā)出請(qǐng)求,然而HTTP請(qǐng)求可能包含較長(zhǎng)的頭部,其中真正有效的數(shù)據(jù)可能只是很小的一部分,顯然這樣會(huì)浪費(fèi)很多的帶寬等資源。這種場(chǎng)景下,Websocket 協(xié)議,能更好的節(jié)省服務(wù)器資源和帶寬,并且能夠更實(shí)時(shí)地進(jìn)行通訊。

        1.2 Kafka技術(shù)

        Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)和強(qiáng)大的分布式消息隊(duì)列,能夠?qū)⑾囊粋€(gè)端點(diǎn)傳遞到另一個(gè)端點(diǎn),具有高性能、持久化、多副本備份、橫向擴(kuò)展能力,可以處理大量的數(shù)據(jù)。Kafka消息保留在磁盤上,并在群集內(nèi)復(fù)制以防止數(shù)據(jù)丟失。

        1.3 redis技術(shù)

        redis 是一個(gè)完全開源的、高性能的 key-value 內(nèi)存型數(shù)據(jù)庫(kù),可以用作數(shù)據(jù)庫(kù)、緩存和消息中間件。它支持多種類型的數(shù)據(jù)結(jié)構(gòu),如字符串,散列,列表,集合,有序集合等。 Redis 內(nèi)置了復(fù)制,LUA腳本, LR驅(qū)動(dòng)事件,事務(wù)和不同級(jí)別的磁盤持久化,并通過(guò) Redis哨兵和自動(dòng)分區(qū)提供高可用性。

        2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2.1 系統(tǒng)架構(gòu)

        系統(tǒng)主要包含數(shù)據(jù)監(jiān)測(cè)服務(wù)、Kafka總線服務(wù)、redis實(shí)時(shí)數(shù)據(jù)緩存服務(wù)、Websocket消息推送服務(wù)和文件服務(wù)等(如圖1)。

        2.2 數(shù)據(jù)更新流程

        (1)前端頁(yè)面請(qǐng)求組態(tài)文件。前端頁(yè)面初始化加載時(shí),向文件服務(wù)發(fā)送帶有文件版本信息的請(qǐng)求,文件服務(wù)判斷文件版本信息后通知頁(yè)面是否需要下載組態(tài)文件,前端頁(yè)面接收到返回信息后下載相應(yīng)的組態(tài)文件或讀取本地緩存的組態(tài)文件。

        (2)前端頁(yè)面初始化。頁(yè)面加載完成DOM元素后,使用js解析組態(tài)文件,完成組態(tài)圖形繪制,并與Websocket服務(wù)器創(chuàng)建連接,等待數(shù)據(jù)推送。

        (3)頁(yè)面數(shù)據(jù)初始化。頁(yè)面初始化完成后,首先讀取redis緩存中的最新數(shù)據(jù),用于刷新組態(tài)畫面中各圖符的當(dāng)前狀態(tài)。

        (4)數(shù)據(jù)監(jiān)測(cè)服務(wù)實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)變化。在數(shù)據(jù)變化時(shí)將數(shù)據(jù)更新到redis實(shí)時(shí)庫(kù)中,并調(diào)用Kafka生產(chǎn)者的接口把變化的數(shù)據(jù)推送到Kafka總線上。

        (5)Kafka消費(fèi)者偵聽(tīng)到總線數(shù)據(jù)后獲取數(shù)據(jù)。調(diào)用Websocket服務(wù)接口,把數(shù)據(jù)推送到前端頁(yè)面,通過(guò)前端js解析處理后展示,完成組態(tài)圖形數(shù)據(jù)刷新(如圖2)。

        2.3 技術(shù)要點(diǎn)

        (1)數(shù)據(jù)變化檢測(cè)機(jī)制。服務(wù)端只向前端頁(yè)面發(fā)送變化的數(shù)據(jù),而不是發(fā)送所有數(shù)據(jù),數(shù)據(jù)量更小,節(jié)省了帶寬,傳輸效率更高。為了保障實(shí)時(shí)性,數(shù)據(jù)檢測(cè)服務(wù)端通過(guò)對(duì)比站端設(shè)備上送的最新數(shù)據(jù)和redis實(shí)時(shí)庫(kù)中緩存數(shù)據(jù)值來(lái)判斷數(shù)據(jù)是否變化,如果數(shù)據(jù)有變化,則更新實(shí)時(shí)庫(kù)緩存,并立即發(fā)送變化的數(shù)據(jù)到Kafka總線,Kafka消費(fèi)者監(jiān)聽(tīng)到消息后立即推送到頁(yè)面,數(shù)據(jù)即可刷新。

        (2)頁(yè)面緩存機(jī)制。頁(yè)面初始化加載時(shí),會(huì)讀取Cookie中的文件版本信息,然后向文件服務(wù)發(fā)送帶有版本信息的請(qǐng)求,格式如下:

        {

        "name":”s1.xml”,

        "version":”1.0”, //版本信息

        "time":1566530919566, //時(shí)間戳,記錄了最后一次修改時(shí)間

        }

        如果未讀取到Cookie中版本信息,或者當(dāng)前緩存文件版本與文件服務(wù)器中文件版本不一致,則重新下載相關(guān)文件并緩存到本地,同時(shí)更新文件版本信息到Cookie中。頁(yè)面緩存機(jī)制避免了重復(fù)大量的文件傳輸過(guò)程,節(jié)省了帶寬。

        3 結(jié)束語(yǔ)

        本文提出了一種基于分布式服務(wù)的組態(tài)圖形數(shù)據(jù)更新方案,采用了主流的redis、Kafka、Websocket等中間件來(lái)作為技術(shù)支撐,通過(guò)數(shù)據(jù)變化更新機(jī)制和頁(yè)面緩存機(jī)制來(lái)優(yōu)化數(shù)據(jù)傳輸,保證了數(shù)據(jù)的實(shí)時(shí)性、高效性、穩(wěn)定性。由于研究工作的局限性,目前尚未具體評(píng)估高并發(fā)情景下的性能瓶頸,但經(jīng)實(shí)際驗(yàn)證能夠滿足電力系統(tǒng)日常運(yùn)行需求。

        參考文獻(xiàn):

        [1]汪映輝,吾喻明.基于SVG的電力調(diào)度自動(dòng)化系統(tǒng)實(shí)時(shí)畫面的WEB發(fā)布[J].應(yīng)用科技,2008,21(14):5-76.

        [2]吳志芳,陳傳波,劉昕.電力生產(chǎn)實(shí)時(shí)畫面的WEB發(fā)布[J].實(shí)踐經(jīng)驗(yàn),2000,19(10):54-56.

        [3]陳傳波,王菁,鄧凱.基于SVG的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)發(fā)布技術(shù)的研究[J].小型微型計(jì)算機(jī)系統(tǒng),2008,29(05):609-612.

        [4]張榮,郭立君,劉箴.基于SVG的實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2006,35(06):223-226.

        中国一级毛片在线观看| 日本最新一区二区三区在线视频| 亚洲精品成人无限看| 成 人 免费 黄 色 视频| 欧美亚洲国产人妖系列视| 国产国语一级免费黄片| 国产精品女主播福利在线| 国产好大好硬好爽免费不卡| 国产成人午夜精品免费视频| 国产在线一区二区视频免费观看| 阴唇两边有点白是怎么回事| 久久精品女人天堂av免费观看| 成 人 网 站 免 费 av| 国产96在线 | 免费| 国产午夜福利小视频在线观看| 午夜dv内射一区二区| 无码人妻精一区二区三区| 久久久久久久一线毛片| 一区二区三区高清视频在线| 免费观看成人欧美www色| 国产成人亚洲日韩欧美| 中文字幕无码高清一区二区三区| 熟女一区二区国产精品| 国产人成无码视频在线观看| 国产96在线 | 亚洲| 亚洲国产高清在线视频| 美女主播福利一区二区| 亚洲av日韩av无码污污网站| 午夜亚洲国产理论片亚洲2020| 日本黄色特级一区二区三区| 国产精品人人做人人爽人人添| 大伊香蕉在线精品视频75| 欧美巨大xxxx做受中文字幕| 亚洲综合在线观看一区二区三区 | 我想看久久久一级黄片| 国内少妇毛片视频| 久久国产精品无码一区二区三区| 人成视频在线观看免费播放| 亚洲精品1区2区在线观看| 欧美午夜精品一区二区三区电影| 国产精品国产午夜免费福利看|