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

        ?

        基于流計算的保險大寬表系統(tǒng)的應用研究

        2021-12-29 03:55:20安建民周一波彭送庭
        現(xiàn)代計算機 2021年31期
        關鍵詞:數據庫系統(tǒng)

        安建民,周一波,彭送庭

        (英大泰和人壽保險股份有限公司,北京 100089)

        0 引言

        統(tǒng)計分析系統(tǒng)是公司各級管理人員了解前一日公司經營情況的重要系統(tǒng)。該系統(tǒng)通過數據抽取軟件,每日批處理生成各種統(tǒng)計指標。隨著互聯(lián)網的高速發(fā)展,數據規(guī)模的不斷增加,數據變化速度越來越快[1],用戶希望得到更快的數據處理和響應時間[2],因此建設數據實時展示系統(tǒng),實現(xiàn)對指標數據的實時計算變得越來越重要。

        為讓公司各級管理人員能夠實時看到指標數據,本文設計的保險大寬表系統(tǒng),利用分布式流計算技術[3]解決了在分布式環(huán)境下數據處理的一致性問題[4]、在數據從源數據庫Oracle同步到MPP數據庫的時效問題以及在界面展示時數據的主動推送問題。對比統(tǒng)計分析系統(tǒng)是以T+1[5]的模式對數據進行分析處理,無法實時查看最新保單數據信息,該系統(tǒng)極大地縮短了數據處理時間,實現(xiàn)了保險數據基本指標T+0模式下的數據實時同步和計算[6]。

        1 系統(tǒng)總體設計

        本文主要采用分布式流計算實現(xiàn)個險渠道大寬表保單數據實時計算、多表關聯(lián)和分布式處理。通過采用分布式流計算技術,應用Kafka和Spark Streaming[7]實現(xiàn)分布式并行處理,提升系統(tǒng)計算性能和高可用性[8];應用MPP數據庫,提高了對海量數據的分析處理[9]和并行數據計算能力,讓業(yè)務人員能即時知曉最新保單和匯總數據的變化情況。

        圖1詳細展示了保險大寬表系統(tǒng)設計框架。

        圖1 保險大寬表系統(tǒng)設計框架

        2 詳細設計分析

        2.1 數據采集和遷移

        保險大寬表系統(tǒng)通過采用OGG(oracle golden gate)源端去抽取和投遞保單變化的所有數據信息。OGG-BD(OGG-bigdata)端會通過復制進程把發(fā)送過來的Trail file數據存入到分布式消息隊列Kafka中。傳統(tǒng)保險系統(tǒng)數據庫應用以Oracle為主,在進行數據采集和遷移過程中,對數據業(yè)務的處理有很高的時效性要求。OGG是一種成熟的數據遷移產品,可以在異構的基礎上實現(xiàn)大量數據的秒級數據采集、轉換和投遞。通過解析源數據庫在線日志或歸檔日志獲得數據的增、刪、改變化,再將這些變化應用到目標數據庫,實現(xiàn)源數據庫與目標數據庫的同步和遷移。

        2.2 數據分析處理

        本文針對海量、多源、處理效率要求高的保險業(yè)務數據特點設計了基于Kafka和Spark Stream?ing的分布式并行處理方案。Kafka是具有高吞吐量的分布式消息訂閱和發(fā)布系統(tǒng)[10]。主要由Pro?ducer(生產者)、Broker(代理)和Consumer(消費者)三大部分構成[11]。其中生產者負責將收集到的數據推送到代理,而代理負責接收這些數據信息,并將這些數據本地持久化。消費者則直接對這些數據進行處理[12]。

        在技術上,本文應用SharePlex監(jiān)控Oracle日志文件,實時獲取數據庫的操作消息,獲取數據庫系統(tǒng)中增、刪、改的數據。同時應用Kafka記錄監(jiān)控的數據信息,Kafka進行消息隊列分發(fā),將數據推送到下方進行處理加工操作。

        Spark Streaming主要是用來抽取數據,對數據進行并行計算處理。

        Spark Streaming是基于Spark上用于處理實時計算業(yè)務的框架,其實現(xiàn)是把輸入的流數據進行切分,切分的數據塊用批處理方式進行并行計算處理。

        基本的分布式流處理框架包括數據接入層、消息緩存層、流處理業(yè)務層和集群服務[13]。Kafka主要作用于消息緩存層,Spark Streaming主要作用于流處理業(yè)務層。如圖2所示。

        圖2 流數據處理基礎框架

        從圖2可以看出,存儲過來的數據指將數據源加載到消息隊列的過程。對于Kafka來說,是生產者將數據載入消息隊列,并解耦數據的生產方和使用方,對數據進行消息緩存,重建分布式查詢系統(tǒng),提供增量數據加載接口模式。通過這種情況可以分布到多個節(jié)點上,不同的數據節(jié)點,將其對應的數據源以消息的形式發(fā)送到對應的節(jié)點上。流處理業(yè)務層負責消費消息隊列中的數據,對這些數據進行分析處理并得到相應的結果,解決在數據載入過程中數據庫中可能存在的性能劣勢問題[14]。

        2.3 數據表關聯(lián)數據庫

        Spring Boot主要是用于多層架構體系的模型業(yè)務層,具有降低多層模塊間的耦合性、分層模塊化架構應用業(yè)務系統(tǒng)的優(yōu)勢[15]。

        保險大寬表系統(tǒng)通過Spring Boot和Spark Streaming實時消費Kafka中的數據,對數據做質控、關聯(lián)的操作,最終形成大寬表的數據。Spark Streaming從Kafka消息隊列中按照時間窗口不斷提取數據,然后進行批處理[16],其主要是對保險大寬表系統(tǒng)里的保單數據進行統(tǒng)計分析。然后對處理的數據結果進行存儲,以保單號和時間字符串為key進行存儲,主要存儲到Redis中,如圖3所示。本系統(tǒng)中數據質控分析中的一些字典信息是通過Redis內存緩存來提高查詢分析的效率。在關聯(lián)過程中,首先判斷已有的Redis里是否已經存在這些數據信息,如果存在則直接調用,如果不存在,通過查找數據庫里面的內容并將其存入Redis且設置好TTL,方便下次可以直接在Redis中調用,而不需要再去數據庫中進行查找,提高了查詢效率。

        圖3 Redis存儲數據

        2.4 數據存儲

        保險大寬表系統(tǒng)數據存儲采用MPP數據庫,其擁有海量的計算能力、容錯能力及優(yōu)秀的擴展性。不僅如此,它還可以讓所有數據分布到每個節(jié)點上,使得每個節(jié)點去計算自己的部分數據,達到并行處理無需人工干預的目的,并可以通過增加通用硬件去擴充新的計算節(jié)點。

        針對普通的節(jié)點,可以將一份數據分布在多個節(jié)點上,由此避免由于單個節(jié)點出現(xiàn)故障而導致數據丟失和數據不可用現(xiàn)象的發(fā)生,對于管理節(jié)點而言,一般也采用高可用設計,避免單點故障,提高了對數據查詢和分析的效率。

        2.5 數據推送

        將數據實時發(fā)送給系統(tǒng)前端,保險大寬表系統(tǒng)使用WebSocket協(xié)議作為服務化接口。Web?Socket作為一個獨立在TCP上的協(xié)議,本質是基于TCP為客戶端和服務器提供一種socket通信連接,使得客戶端和服務器端實現(xiàn)雙向通信[17]。對比傳統(tǒng)實時數據更新方案,WebSocket[18]可極大地減少網絡流量與延遲[19]。

        保險大寬表系統(tǒng)中所有數據采用push方式進行推送,服務器接收到數據后會立即發(fā)送到客戶端上??蛻舳撕头掌髦g通過進程創(chuàng)建基于WebSocket技術的通信連接,系統(tǒng)就能利用服務器的推送功能實現(xiàn)對保險數據指標的實時查看。

        3 系統(tǒng)實現(xiàn)關鍵問題分析

        3.1 分布式并發(fā)處理數據一致性問題

        在采用分布式技術提高數據計算和系統(tǒng)本身的性能時,需要考慮到數據的一致性問題,比如同一份保單數據在很短的時間內先后發(fā)生兩次變更,兩次變更后的數據分別是U1和U2。在分布式環(huán)境下,U1和U2可能被隨機分配到不同機器的不同線程上執(zhí)行,執(zhí)行的順序可能會變成先U2后U1,這樣數據的一致性無法得到保證,導致目標數據庫的數據發(fā)生錯誤。

        基于以上問題,保險大寬表系統(tǒng)利用Kafka同一個Topic的同一個partition順序消費且同一個Topic的同一個partition只能被同一個線程消費數據的特點。處理程序時,首先把OGG-Bigdata發(fā)送到Kafka的數據根據數據特征分類到同一張保單上,再根據保單編號為key通過shuffle動作發(fā)布到另外一個Topic,這樣就保證了同一個保單編號的數據肯定會分配到同一個partition,處理程序處理shuffle后的Topic,從而保證了數據的一致性。如圖4所示。

        圖4 數據一致性處理過程

        在保險大寬表系統(tǒng)中,通過利用Kafka實時收集數據并傳到Spark Streaming可進行實時分析,Spark Streaming可以將接收到的數據匯總成多個小數據集,Spark Streaming每次處理的是一個時間窗口的數據流,實質上是對這些數據進行批量的實時處理[20],如圖5所示。這一特點可以很好的避免并發(fā)數據處理中頻繁的任務分配和調度問題,能達到次秒級延時的實時處理。

        圖5 數據實時處理

        3.2 從Or ac l e到MPP數據庫的實時同步問題

        當數據從中轉數據庫導入到MPP數據庫中時,關鍵部分是要保證數據同步。MPP數據庫具備高性能、高可用和高擴展特性,但其對數據的增刪操作比較差,在并發(fā)量大的情況下,性能會更低。因為每天保單系統(tǒng)上都會有大量的變化數據產生,從源數據庫中采集而得到的數據直接導出文本在進行導入會占用很大的空間,耗時長,導致數據時效性差,不能達到數據實時同步。

        保險大寬表系統(tǒng)通過利用Batch(批處理)操作,先定期刪除發(fā)生變化的數據,把這些變化的數據導出為CSV格式文件,通過load操作解決數據在增加和更改過程中效率慢的問題,實現(xiàn)數據的近實時變化。

        4 結語

        本研究通過分析目前保險系統(tǒng)中業(yè)務人員不能實時查看當前保單系統(tǒng)的保單信息和各個指標匯總數據,給出了一種基于分布式流計算實現(xiàn)一個流式大寬表數據系統(tǒng),可以實時采集保單系統(tǒng)各項數據的變化。通過將Kafka和Spark Streaming結合的方式實時關聯(lián)多表數據,處理數據增刪改變化,最后存儲到MPP數據庫中,能夠讓保險業(yè)務人員實時查看最新保單數據信息及各個保單指標匯總信息。

        猜你喜歡
        數據庫系統(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
        數據庫
        財經(2017年15期)2017-07-03 22:40:49
        數據庫
        財經(2017年2期)2017-03-10 14:35:35
        數據庫
        財經(2016年15期)2016-06-03 07:38:02
        數據庫
        財經(2016年3期)2016-03-07 07:44:46
        清纯唯美亚洲经典中文字幕| 免费av片在线观看网站| 久久精品无码专区东京热| 亚洲午夜精品国产一区二区三区| 狠色人妻丝袜中文字幕| 国产xxx69麻豆国语对白| 少妇高潮惨叫久久久久久| 在线偷窥制服另类| 成人大片在线观看视频| 加勒比hezyo黑人专区| 亚洲av伊人久久综合密臀性色| 国产成人精品曰本亚洲| 白白在线免费观看视频| 亚洲最大成人网站| 中文字幕无码不卡一区二区三区 | 免费人成视网站在线剧情| 99久久精品国产一区二区三区| 一区二区三区日韩亚洲中文视频| 蜜臀av人妻一区二区三区| 日韩av一区二区三区激情在线| 美女av一区二区三区| 四虎精品成人免费观看| 亚洲女同性恋在线播放专区| 国产一区二区三区精品免费av| 欧美大屁股xxxxhd黑色| 亚洲欧美日韩国产精品网| 亚洲乱熟妇一区二区三区蜜桃| 国产成人精品亚洲日本在线观看| 无码一区二区三区老色鬼| 无码啪啪熟妇人妻区| 在线国产激情视频观看| 麻豆影视视频高清在线观看| 日本韩国一区二区三区| 久久精品伊人久久精品伊人| 亚洲成av人在线观看网址| 亚洲碰碰人人av熟女天堂| 日韩午夜在线视频观看| 国产三级久久精品三级91| 国产黄在线观看免费观看不卡| 在线观看一区二区女同| 天堂久久一区二区三区|