• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Kettle的鐵路客運營銷數(shù)據(jù)交換平臺的設(shè)計與實現(xiàn)

      2019-11-29 01:37:02武晉飛
      鐵路計算機(jī)應(yīng)用 2019年11期
      關(guān)鍵詞:執(zhí)行層界面傳輸

      武晉飛

      (中國鐵道科學(xué)研究院集團(tuán)有限公司 電子計算技術(shù)研究所, 北京 100081)

      隨著鐵路客票發(fā)售和預(yù)訂系統(tǒng)(簡稱:客票系統(tǒng))的不斷發(fā)展,業(yè)務(wù)需求的不斷增加,數(shù)據(jù)節(jié)點、數(shù)據(jù)種類以及數(shù)據(jù)量呈不斷增加的趨勢。營銷系統(tǒng)是以客票系統(tǒng)業(yè)務(wù)數(shù)據(jù)為基礎(chǔ),利用先進(jìn)信息技術(shù)和決策分析方法構(gòu)建的系統(tǒng),具有歷史數(shù)據(jù)查詢和趨勢分析、實時預(yù)售分析預(yù)警、輔助決策等功能[1-2]。這些功能的實現(xiàn)依賴于歷史數(shù)據(jù)和實時數(shù)據(jù)的準(zhǔn)確、及時傳輸。目前主要采用開發(fā)收數(shù)程序、工作流程序調(diào)用、dbcs 數(shù)據(jù)傳輸中間件的方式進(jìn)行[3]。

      目前市場用各種各樣的ETL[4]工具,Information Powercenter 可以訪問各種主流業(yè)務(wù)系統(tǒng)、主流數(shù)據(jù)格式,并可按任意速度交付數(shù)據(jù),具有高可擴(kuò)展性、高可用性、高性能的優(yōu)點[5];文獻(xiàn)[6]以開源分布式軟件Kettle 為基礎(chǔ),設(shè)計了具備可移植性的ETL 系統(tǒng),通過開發(fā)插件實現(xiàn)了用戶交互和任務(wù)調(diào)度,進(jìn)行自動化增量數(shù)據(jù)抽取;文獻(xiàn)[7]利用開源工具Kettle 建立模型,實現(xiàn)了高校多源異構(gòu)數(shù)據(jù)集成,形成了可分析性數(shù)據(jù);文獻(xiàn)[8]提出了基于Pentaho 的鐵路客運營銷輔助決策解決方案,解決了商用軟件不能完全自定義個性化需求的問題,但系統(tǒng)安全性和并發(fā)性需進(jìn)一步優(yōu)化;文獻(xiàn)[9]對數(shù)據(jù)交換過程中的一致性和完整性提出了應(yīng)對方案,應(yīng)對傳輸過程中的不穩(wěn)定因素。

      本文基于鐵路客票系統(tǒng)現(xiàn)有架構(gòu),結(jié)合當(dāng)前營銷數(shù)據(jù)收集、交換中遇到的問題,以開源ETL 工具Kettle 為核心,提出了鐵路客運營銷數(shù)據(jù)交換平臺,確保各類營銷數(shù)據(jù)的及時收集與實時交換。通過平臺可以更好地打通信息壁壘、消除信息孤島,兼容多種數(shù)據(jù)庫產(chǎn)品和多種數(shù)據(jù)格式,通過靈活可配置的數(shù)據(jù)處理流程,對不同的運行環(huán)境和業(yè)務(wù)需求自動完成各種數(shù)據(jù)處理和傳輸工作,能夠有效地提高數(shù)據(jù)的及時性、準(zhǔn)確性,提高工作效率。

      1 ETL Kettle簡介

      ETL(Extraction-Tansformation-Loading)即將數(shù)據(jù)從來源端經(jīng)過抽取、轉(zhuǎn)換、加載到目的端的過程。在ETL 過程中,數(shù)據(jù)抽取即是從數(shù)據(jù)源中抽取數(shù)據(jù)的過程,也可從多個數(shù)據(jù)源中進(jìn)行數(shù)據(jù)抽??;數(shù)據(jù)轉(zhuǎn)換即是對抽取數(shù)據(jù)進(jìn)行清洗,通過清洗策略和合并、轉(zhuǎn)換以及數(shù)學(xué)運算等操作,去除數(shù)據(jù)中存在的錯誤和冗余,也可根據(jù)要求變換數(shù)據(jù)格式,保證數(shù)據(jù)質(zhì)量; 數(shù)據(jù)裝載即是將轉(zhuǎn)換好的數(shù)據(jù)保存到數(shù)據(jù)庫或文件中。目前,越來越多的廠商致力于ETL 工具的研發(fā),而較常用的開源工具有 Kettle、Talend、Octopus 等,其中以開源 Java 工具 Kettle 應(yīng)用最廣,表現(xiàn)最為突出。Kettle 是一款用 Java 編寫的開源 ETL 工具,其主要由轉(zhuǎn)換(Transformation)和作業(yè)(Job)兩部分組成。其中,“轉(zhuǎn)換” 是由一系列步驟組成的,每一個步驟表示對一個或多個數(shù)據(jù)流進(jìn)行特定的轉(zhuǎn)換操作。 “作業(yè)” 基于工作流模型,協(xié)調(diào)數(shù)據(jù)源、執(zhí)行過程和相關(guān)依賴性的 ETL 活動,其將功能性和實體過程聚合起來,完成對整個工作流的控制。

      2 需求分析

      2.1 功能性需求

      (1)數(shù)據(jù)傳輸功能。數(shù)據(jù)傳輸功能是數(shù)據(jù)交換平臺的核心功能,客運相關(guān)數(shù)據(jù)存放在不同的數(shù)據(jù)庫平臺、不同節(jié)點甚至是不同網(wǎng)絡(luò)中;數(shù)據(jù)交換平臺需要能夠支持多種網(wǎng)絡(luò)協(xié)議,支持多種數(shù)據(jù)庫,進(jìn)而實現(xiàn)數(shù)據(jù)的傳輸,達(dá)到數(shù)據(jù)收集和交換功能;并且在數(shù)據(jù)傳輸過程中要確保數(shù)據(jù)的安全性和準(zhǔn)確性。

      (2)人機(jī)交互功能。用戶可以通過數(shù)據(jù)交換平臺管理、配置當(dāng)前數(shù)據(jù)傳輸任務(wù),隨著業(yè)務(wù)需求的擴(kuò)展,用戶可以通過在平臺配置實現(xiàn)新數(shù)據(jù)任務(wù)的傳輸或交換,避免大量的代碼工作,同時,在傳輸任務(wù)過程中,用戶可以清晰掌握所關(guān)注任務(wù)的傳輸狀態(tài)。

      (3)數(shù)據(jù)監(jiān)控功能。數(shù)據(jù)的完整性和準(zhǔn)確性是數(shù)據(jù)交換平臺的基本要求,通過數(shù)據(jù)監(jiān)控功能,自動對比數(shù)據(jù)源和數(shù)據(jù)目標(biāo)的一致性;通過分析任務(wù)執(zhí)行日志,自動匯總?cè)蝿?wù)執(zhí)行狀態(tài)并展現(xiàn)給用戶,對異常情況,平臺給予多種形式的報警提醒,從而保證數(shù)據(jù)的完整性和一致性。

      (4)定時任務(wù)功能。用戶可定義任務(wù)執(zhí)行方式,平臺按照約定定規(guī)則自動啟動執(zhí)行任務(wù)。

      2.2 非功能性需求

      (1)當(dāng)前營銷數(shù)據(jù)主要為客票系統(tǒng)歷史生產(chǎn)數(shù)據(jù)和實時數(shù)據(jù),數(shù)據(jù)的完整性和一致性是搭建數(shù)據(jù)交換平臺的基礎(chǔ),也是鐵路客運營銷輔助決策系統(tǒng)的基本要求。在數(shù)據(jù)傳輸過程中必須實時監(jiān)控數(shù)據(jù)狀態(tài),保證數(shù)據(jù)的完整性和一致性,提供異常數(shù)據(jù)快速處理解決辦法。

      (2)鐵路實行實名制購票之后,系統(tǒng)中包含了旅客的隱私信息,保護(hù)用戶隱私信息不被泄漏是數(shù)據(jù)交換平臺的另一個重要功能。對于分析不需要的隱私信息,在傳輸過程中進(jìn)行脫敏處理;對于歷史生產(chǎn)數(shù)據(jù)的備份傳輸,則采用加密傳輸解密入庫,防止在數(shù)據(jù)傳輸過程中信息泄漏,保證數(shù)據(jù)安全性。

      (3)當(dāng)前售票系統(tǒng)生產(chǎn)環(huán)境主要采用Sybase數(shù)據(jù)庫,隨著業(yè)務(wù)不斷發(fā)展深入,增加了Mysql、Oracle、Gbase、PostGresSQL 等數(shù)據(jù)庫,對于營銷分析,還可能會用到文本數(shù)據(jù),如Excel、txt 等文件,要求數(shù)據(jù)交換平臺有有良好的適應(yīng)性,能夠適配多種數(shù)據(jù)庫和多種數(shù)據(jù)格式。

      (4)鐵路售票數(shù)據(jù)具有數(shù)據(jù)量大、多源性等特點,精準(zhǔn)營銷分析依賴于數(shù)據(jù)的實時性和準(zhǔn)確性,對數(shù)據(jù)交換平臺的工作效率提出了更高的要求。

      (5)隨著業(yè)務(wù)需求不斷發(fā)展,客票生產(chǎn)數(shù)據(jù)節(jié)點呈增加趨勢,客運營銷分析需求也呈不斷增加趨勢,要求數(shù)據(jù)交換平臺的數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)的適配和后端并發(fā)處理方便,都有良好的可擴(kuò)展性。

      3 平臺設(shè)計與實現(xiàn)

      3.1 架構(gòu)設(shè)計

      數(shù)據(jù)傳輸平臺總體框架設(shè)計為3 層:Web 前端展示層,Web 后端處理層和執(zhí)行層,如圖1 所示。

      圖1 數(shù)據(jù)交換平臺總體架構(gòu)

      3.1.1 Web前端展示層

      前端展示層為整個平臺的入口,為整個平臺提供顯示的界面,除此之外,前端展示層將用戶的配置進(jìn)行收集和整理,將這些配置信息以rest 的形式傳遞給Web 后端。整個前端展示層需要實現(xiàn)4 個方面的界面。

      (1)數(shù)據(jù)連接管理界面:包括單個數(shù)據(jù)連接的配置和修改界面,全部數(shù)據(jù)連接的顯示界面。

      (2)轉(zhuǎn)換管理界面:包括轉(zhuǎn)換任務(wù)的配置和修改界面,轉(zhuǎn)換運行信息的顯示界面。

      (3)作業(yè)管理界面:包括作業(yè)的配置和修改頁面,作業(yè)運行的運維信息展示界面。

      (4)用戶管理界面:包括登陸界面,新增和修改用戶信息界面。

      3.1.2 Web后端處理層

      后端處理層是后臺的入口,與前臺進(jìn)行交互,將前臺傳遞過來的配置存儲到數(shù)據(jù)庫中,并實現(xiàn)將數(shù)據(jù)庫中的轉(zhuǎn)換配置和作業(yè)配置下發(fā)給執(zhí)行層,觸發(fā)執(zhí)行層的執(zhí)行。

      后端處理層從數(shù)據(jù)流上主要實現(xiàn)4 個功能:

      (1)為前端提供接口,實現(xiàn)將數(shù)據(jù)庫中的需要的信息傳遞給前端;

      (2)接受前端傳入的信息,將其寫入數(shù)據(jù)庫;

      (3)將數(shù)據(jù)庫中的信息傳遞給執(zhí)行層,觸發(fā)執(zhí)行層的執(zhí)行;

      (4)接收執(zhí)行層的執(zhí)行結(jié)果,更新數(shù)據(jù)庫中對應(yīng)項。

      3.1.3 執(zhí)行層

      執(zhí)行層負(fù)責(zé)ETL 工作,接收Web 后端傳遞過來的執(zhí)行信息進(jìn)行執(zhí)行。數(shù)據(jù)傳輸平臺的ETL 操作部分采用了Kettle 的內(nèi)核,故而執(zhí)行層主要進(jìn)行以下工作:接收Web 后端發(fā)送過來的處理信息并進(jìn)行分發(fā)和處理;將Kettle 內(nèi)核按照功能需求進(jìn)行修改和分布式部署;在分布式基礎(chǔ)上實現(xiàn)性能優(yōu)化。

      3.2 功能模塊設(shè)計

      根據(jù)業(yè)務(wù)需求,平臺主要6 個功能模塊:用戶管理模塊、傳輸任務(wù)配置模塊、轉(zhuǎn)換管理模塊、作業(yè)調(diào)度管理模塊、傳輸監(jiān)控模塊和日志報警模塊。各功能模塊間簡要數(shù)據(jù)流圖,如圖2 所示。

      (1)用戶管理模塊主要實現(xiàn)用戶管理和訪問權(quán)限管理;

      (2)傳輸任務(wù)配置模塊用于定義傳輸任務(wù),包括傳輸任務(wù)的數(shù)據(jù)庫類型、數(shù)據(jù)表、數(shù)據(jù)庫連接信息、定時執(zhí)行配置等信息;

      (3)轉(zhuǎn)換管理模塊主要實現(xiàn)Kettle 轉(zhuǎn)換配置、轉(zhuǎn)換調(diào)用情況、轉(zhuǎn)換運行測試等功能;

      圖2 功能模塊簡要流程圖

      (4)調(diào)度管理模塊實現(xiàn)定時任務(wù)的自動執(zhí)行和手工執(zhí)行任務(wù),包括數(shù)據(jù)傳輸前處理、后處理等流程;

      (5)傳輸監(jiān)控模塊實現(xiàn)整個數(shù)據(jù)傳輸平臺所有任務(wù)執(zhí)行狀態(tài)監(jiān)控,執(zhí)行日志記錄、對比,錯誤信息顏色預(yù)警等功能;

      (6)日志報警模塊主要功能為將任務(wù)執(zhí)行情況發(fā)送給第三方接收平臺,如短信、微信和釘釘?shù)?,目前,平臺采用釘釘發(fā)送信息的方式實現(xiàn)報警。

      3.3 接口設(shè)計

      3.3.1 用戶管理相關(guān)接口

      包含用戶管理類和用戶權(quán)限類。用戶管理類用于實現(xiàn)用戶創(chuàng)建、信息維護(hù)、獲取用戶信息等功能;用戶權(quán)限類用于管理用戶對不同功能模塊的訪問權(quán)限。

      3.3.2 數(shù)據(jù)庫訪問信息配置接口

      Kettle 支持多種數(shù)據(jù)庫的連接訪問,通過數(shù)據(jù)庫訪問信息配置接口管理不同任務(wù)的信息配置,并將信息存儲在數(shù)據(jù)庫中供Kettle 轉(zhuǎn)換和作業(yè)調(diào)用訪問。多個服務(wù)器與多個數(shù)據(jù)庫的組合配置轉(zhuǎn)化,如圖3 所示。

      圖3 Kettle 數(shù)據(jù)訪問配置示例

      3.3.3 Kettle轉(zhuǎn)換接口

      轉(zhuǎn)換接口主要包含轉(zhuǎn)換配置類和執(zhí)行類。轉(zhuǎn)換配置類提供對轉(zhuǎn)換的新增、修改、刪除等操作;轉(zhuǎn)換執(zhí)行類主要實現(xiàn)轉(zhuǎn)換提交、更新、移除和停止轉(zhuǎn)換關(guān)系。圖4 為包含數(shù)據(jù)導(dǎo)出和獲取過程日志的一個轉(zhuǎn)換流程。

      圖4 Kettle 轉(zhuǎn)換流程示例

      3.3.4 Kettle作業(yè)管理接口

      作業(yè)管理模塊主要實現(xiàn)作業(yè)管理和作業(yè)運行,在整個數(shù)據(jù)傳輸平臺中作業(yè)是對轉(zhuǎn)換的一個調(diào)度,當(dāng)需要不同的轉(zhuǎn)換相互協(xié)調(diào)來完成數(shù)據(jù)傳輸過程時就需要對作業(yè)進(jìn)行配置。作業(yè)管理接口主要提供了兩個接口類,作業(yè)管理類和作業(yè)執(zhí)行類。作業(yè)管理接口提供作業(yè)添加、修改、刪除、查詢功能。作業(yè)執(zhí)行接口類則提供提交作業(yè)和停止作業(yè)兩個接口,一個Kettle 作業(yè)流程,如圖5 所示。

      圖5 Kettle 作業(yè)流程示例

      3.3.5 日志報警接口

      日志報警接口主要提供日志查詢功能,包括歷史任務(wù)的執(zhí)行日志和當(dāng)前執(zhí)行任務(wù)的實時日志信息,用于執(zhí)行任務(wù)檢查和異常信息報警。

      3.4 平臺實現(xiàn)

      營銷數(shù)據(jù)交換平臺前端基于B/S 架構(gòu)實現(xiàn),采用Spring MVC 和JQuery 框架進(jìn)行開發(fā),平臺各應(yīng)用間通信和方法調(diào)用通過高速服務(wù)框架實現(xiàn),數(shù)據(jù)庫采用PostGresSQL數(shù)據(jù)庫,創(chuàng)建Kettle 資料庫和交換平臺數(shù)據(jù)庫用于數(shù)據(jù)管理。數(shù)據(jù)交換平臺主要功能可分為兩大類:

      (1)以開源ETL 工具Kettle 為核心的數(shù)據(jù)層開發(fā),結(jié)合Spring 和Quartz 任務(wù)調(diào)度框架,實現(xiàn)營銷數(shù)據(jù)的多數(shù)據(jù)源分布式采集,并提供簡潔高效的頁面供使用者進(jìn)行操作管理;

      (2)以Solr 搜索引擎為基礎(chǔ)的資源索引建立和平臺搜索功能,用戶可通過配置文件或API 接口進(jìn)行索引配置和生成,還提供Web 管理頁面,方便用戶操作。

      在任務(wù)執(zhí)行過程中全程記錄執(zhí)行狀態(tài),執(zhí)行完成后自動生成匯總信息,并對異常已經(jīng)預(yù)警。

      對于平臺報警顯示的異常數(shù)據(jù),為用戶提供帶有參數(shù)的處理界面,方便用戶處理異常。

      通過向第三方辦公軟件發(fā)送post 請求,實現(xiàn)辦公軟件實時報警。

      3.5 平臺應(yīng)用

      執(zhí)行層是數(shù)據(jù)交換平臺的核心層,運行初期執(zhí)行層部署在由4 個節(jié)點組成的Kettle 集群上,集群主節(jié)點負(fù)責(zé)完成轉(zhuǎn)換運行和任務(wù)切分,為集群指定TCP 端口,把任務(wù)分發(fā)到指定的負(fù)載節(jié)點, 負(fù)載節(jié)點收到任務(wù)后打開TCP 端口,并連接主節(jié)點,處理集群任務(wù)??紤]到現(xiàn)有IT 基礎(chǔ)設(shè)施資源利用率低,應(yīng)用在物理機(jī)或者虛擬機(jī)中部署周期長,系統(tǒng)擴(kuò)容不便,因此采用容器技術(shù)部署平臺前端Web 應(yīng)用,實現(xiàn)應(yīng)用的可持續(xù)集成和可擴(kuò)展部署。

      當(dāng)前數(shù)據(jù)交換平臺主要配置了存根、運能、運量和實名制等60 余項數(shù)據(jù)的作業(yè)任務(wù)。針對不同數(shù)據(jù)設(shè)定了相應(yīng)的任務(wù)執(zhí)行計劃以及預(yù)警規(guī)則,在與原系統(tǒng)平行運行期間,運行效率較之前系統(tǒng)有很大提升,完成所有數(shù)據(jù)交換任務(wù)總耗時減少2 h 左右。在整個數(shù)據(jù)作業(yè)過程中,系統(tǒng)自動完成完整性、一致性檢驗,數(shù)據(jù)準(zhǔn)確性得到了很大保證,釘釘辦公軟件及時獲取信息并進(jìn)行預(yù)警通知,極大地方便了數(shù)據(jù)維護(hù)工作。在發(fā)生異常時,維護(hù)人員可通過日志快速、準(zhǔn)確地定位到異常環(huán)節(jié),并通過界面操作進(jìn)行處理,提高了工作效率。

      4 結(jié)束語

      本文基于KETTLE 構(gòu)建了鐵路客運營銷數(shù)據(jù)交換平臺,用于鐵路客運營銷歷史數(shù)據(jù)收集和實時數(shù)據(jù)交換,有效保證了營銷系統(tǒng)的數(shù)據(jù)及時性、準(zhǔn)確性和完整性,提高了營銷數(shù)據(jù)交換與傳輸?shù)男?;良好的適配性和可擴(kuò)展性有效減少了業(yè)務(wù)需求增加帶來的重復(fù)開發(fā)工作;嚴(yán)格的日志記錄與展現(xiàn)結(jié)合第三方辦公軟件及時報警,以及界面異常處理功能,提高了數(shù)據(jù)維護(hù)的效率。為提高鐵路客運營銷系統(tǒng)數(shù)據(jù)效率、實現(xiàn)精準(zhǔn)營銷提供了數(shù)據(jù)支撐。

      猜你喜歡
      執(zhí)行層界面傳輸
      混合型隨機(jī)微分方程的傳輸不等式
      牽引8K超高清傳輸時代 FIBBR Pure38K
      國企黨委前置研究的“四個界面”
      基于PowerLink的計算機(jī)聯(lián)鎖系統(tǒng)執(zhí)行層設(shè)計
      內(nèi)控時間背景下的中小學(xué)內(nèi)部控制建設(shè)路徑構(gòu)建
      財訊(2019年24期)2019-09-03 05:37:05
      公司執(zhí)行層的“苦惱”
      電子制作(2018年18期)2018-11-14 01:48:00
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      支持長距離4K HDR傳輸 AudioQuest Pearl、 Forest、 Cinnamon HDMI線
      人機(jī)交互界面發(fā)展趨勢研究
      伽师县| 都兰县| 镇江市| 京山县| 利辛县| 思茅市| 定西市| 枣阳市| 岫岩| 平江县| 平邑县| 漳平市| 琼海市| 息烽县| 化德县| 沙田区| 大厂| 甘孜| 湟源县| 庄河市| 苍南县| 肃南| 定日县| 天气| 沙田区| 禄丰县| 迁安市| 江油市| 和龙市| 镇远县| 郁南县| 乌鲁木齐县| 乌苏市| 通河县| 景谷| 吐鲁番市| 江油市| 大洼县| 芮城县| 平阳县| 林周县|