CN110784419B - 铁路电务专业数据可视化方法及系统 - Google Patents
铁路电务专业数据可视化方法及系统 Download PDFInfo
- Publication number
- CN110784419B CN110784419B CN201911006695.3A CN201911006695A CN110784419B CN 110784419 B CN110784419 B CN 110784419B CN 201911006695 A CN201911006695 A CN 201911006695A CN 110784419 B CN110784419 B CN 110784419B
- Authority
- CN
- China
- Prior art keywords
- data
- message queue
- real
- kafka message
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Abstract
本发明实施例提供一种铁路电务专业数据可视化方法及系统,其中方法包括:接收数据源上传的数据,并将数据存储至第一Kafka消息队列中;通过Flink流处理服务对第一Kafka消息队列的数据进行完整性校验,将实时数据转换为预设格式后发送至第二Kafka消息队列;从第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。对于铁路电务专业领域的数据存在实时性要求高的需求,本发明采用Kafka消息队列进行总线多线程处理,数据随进随出,独立线程同步存储,保障响应速度,同时对于准确度要求高的需求,在流处理过程中增加了入库前的有效字段校验,确保采集共享全流程的高可靠性。
Description
技术领域
本发明涉及通信信号技术领域,更具体地,涉及铁路电务专业数据可视化方法及系统。
背景技术
随着我国铁路网日益完善,中国铁路信息化技术不断升级与改进,在其长期发展过程中各专业都积累了海量数据,这些数据中蕴含着多维度的潜在价值。近年来,可视化技术也被应用于铁路各专业的数据分析和展现中,利用数据可视化技术可让这些数据得以形象生动地展现。
铁路行业的电务专业包括通信、信号两部分,通信系统与信号系统是保障铁路运输安全、提高效率的重要基础设施,承载调度、通信、控制、联锁、安全、监测等等多种数据的传输。电务专业数据复杂,种类繁多,各类数据之间具有一定的关联性,但由于各系统分散建设、独立运行,无法满足用户对于数据综合展现及即时交互的需求,影响用户及时发现数据关联关系、定位问题和总结经验。
目前,在铁路电务专业的各类数据分析与应用系统中,并未出现成熟的可视化交互平台及应用实现方法,同时受到电务系统独立分散、电务数据多源异构、电务接口协议多样等诸多因素的制约,尚未出现满足用户数据综合展示与即时交互需求的方法及应用系统。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的铁路电务专业数据可视化方法及装置。
第一个方面,本发明实施例提供一种铁路电务专业数据可视化方法,包括:
接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中;
通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列;
从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。
优选地,所述接收数据源上传的数据,具体为:数据源以第一周期定时上传数据;
所述从所述第二Kafka消息队列中获取目标数据,具体为:从所述第二Kafka消息队列中以第二周期定时获取数据;
其中,所述第一周期的时长大于所述第二周期的时长。
优选地,所述从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理,具体为:
调用预设的第一类RESTful接口,周期性发送数据提取请求,从所述第二Kafka消息队列中取得目标数据,并通过第一类RESTful接口将目标数据以预设格式返回前端进行可视化处理。
优选地,所述对所述第一Kafka消息队列的数据进行完整性校验,之后还包括:
确定校验无误的数据中的非实时数据,将所述实时数据发送至时序数据库进行存储,将所述非实时数据发送至关系型数据库进行存储;
从所述时序数据库或关系型数据库中获取目标数据,将取得的目标数据返回前端进行可视化处理。
优选地,所述对所述第一Kafka消息队列的数据进行完整性校验,之后还包括:
从校验无误的数据中获取用于数据分析的数据,发送至HIVE数据仓库进行数据分析,之后将数据分析结果存入所述关系型数据库。
优选地,所述接收数据源上传的数据,具体为:
所述数据源将支持Kafka方式的实时数据直接送入所述第一Kafka消息队列;
向数据源提供Socket接口,以使得数据源将不支持Kafka方式的实时数据通过Socket上传至第一Kafka消息队列;以及
通过FTP/SFTP服务接收数据源发送的非实时数据,并上传至第一Kafka消息队列。
优选地,所述完整性校验包括:检查字段是否完整、类型是否一致、标识是否唯一。
第二个方面,本发明实施例提供一种铁路电务专业数据可视化系统,包括:
数据采集模块,用于接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中;
数据处理模块,用于通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列;
数据可视化模块,用于从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的铁路电务专业数据可视化方法及系统,对于铁路电务专业领域的数据存在实时性要求高的需求,采用Kafka消息队列进行总线多线程处理,数据随进随出,独立线程同步存储,保障响应速度,同时对于准确度要求高的需求,在流处理过程中增加了入库前的有效字段校验,确保采集共享全流程的高可靠性,面对铁路电务专业领域种类繁多的数据类型,本发明实施例化繁为简将数据分为实时数据和非实时数据,对实时数据通过Kafka消息队列的方式返回给前端进行可视化处理,很大程度地加快了数据处理、显示流程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的铁路电务专业数据可视化方法的流程示意图;
图2为本发明实施例提供的铁路电务专业数据可视化系统的结构示意图;
图3为本发明实施例提供的铁路电务专业数据可视化系统的系统架构图;
图4为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的铁路电务专业数据可视化方法的流程示意图,如图1所示,包括:S101、S102和S103,具体地:
S101、接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中。
需要说明的是,在铁路电务专业领域中,数据源通常为通信设备类数据源、信号设备类数据源、电务检修维护类数据源、电务生产作业类数据源,上传的数据可以是监控数据、监测数据、调度数据、指挥数据等等。
消息队列具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。Kafka消息队列的重要优势在于支持负载均衡,并且Kafka消息队列的负载均衡大部分是自动完成的,分区的创建也是Kafka消息队列完成的,并且能够隐藏了很多细节,避免了繁琐的配置和人为疏忽造成的负载问题。
本发明实施例将各数据源上传的数据,无论数据采集方式、实时性要求如何,统一存储至Kafka消息队列中,实现了类似“数据总线”的方式实现数据源端的统一汇集,并且基于Kafka消息队列的低延迟优势,特别适合应用于铁路电务专业领域对实时性要求高的场景。
S102、通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列。
可以理解的是,只读取、写入和存储数据流是不够的,目的是启用流的实时处理。流处理器是指从输入主题获取连续数据流,对该输入执行一些处理,并产生连续数据流以输出主题的任何东西。
Flink是一个用于对无界和有界数据流进行有状态计算的框架。流是流处理的一个基本方面。流可以具有不同的特征,这些特征会影响流的处理方式。Flink是一个多功能的处理框架,可以处理任何类型的流,所有数据都作为流而生成。有两种方法可以处理数据:在生成时实时处理或将流持久保存到存储系统(例如,文件系统或对象存储库),并在以后处理,Flink能够实现上述两种方法处理数据的方式。
本发明实施例通过预先对数据进行实时数据和非实时数据的区别,将复杂的数据进行简单高效的区分,从而在本发明实施例的步骤S102中通过Flink流处理处理实时流,具体地包括对第一Kafka消息队列中的数据进行完整性校验,通过进行完整性校验的步骤能够确保数据的真实可靠。
完整性校验包括检查字段是否完整、类型是否一致、标识是否唯一等。以铁路电务专业领域为例,告警信息中通常包括告警唯一标识、告警发生时间等字段,这些字段用于记录告警最基本的信息,通过检测该告警信息中字段中的内容是否为空,可以获知该告警信息的字段是否完整;由于告警信息的类型属于告警,通过检查该告警信息中是否含有与告警相关的必要信息,即可获知该信息的类型是否一致;通过检查告警信息中的告警唯一标识是否与历史上的其他信息的唯一标识一致即可获知标识是否唯一。
Kafka消息队列可以应用很多种现有的消息格式,例如Avro、JSON、XML等等,作为一种优选实施例,本发明实施例从方便和效率两个因素考虑,实时数据转换的预设格式为JSON格式,JSON(JavaScript Object Notation,JS,对象简谱)是一种轻量级的数据交换格式,足够灵活,且比XML简洁,采用JSON在数据转换方面的工作量更小。
S103、从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。
需要说明的是,将消息队列中的消息看作一个记录,则每个记录都具有相应的格式和相应的优先级,对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。消息队列是随内核持续的。
接收到目标数据的前端,通过解析目标数据从而更新渲染图像。展示的图形包括折线图、条形图、饼图、图表、地图、线路图等。此外,对于前端展示所需的地理图层数据,可以采用Restful API方式从铁路专用的地理信息服务组件中获取。
本发明实施例的数据可视化方法,对于铁路电务专业领域的数据存在实时性要求高的需求,采用Kafka消息队列进行总线多线程处理,数据随进随出,独立线程同步存储,保障响应速度,同时对于准确度要求高的需求,在流处理过程中增加了入库前的有效字段校验,确保采集共享全流程的高可靠性,面对铁路电务专业领域种类繁多的数据类型,本发明实施例化繁为简将数据分为实时数据和非实时数据,对实时数据通过Kafka消息队列的方式返回给前端进行可视化处理,很大程度地加快了数据处理、显示流程。
在上述各实施例的基础上,作为一种可选实施例,所述数据源以第一周期定时上传数据;从所述第二Kafka消息队列中以第二周期定时获取数据;
其中,所述第一周期的时长大于所述第二周期的时长。
需要说明的是,本发明实施例通过设置数据源上传数据的周期大于获取目标数据的周期,可完整展现每一条数据的新增、更新以及删除,从而能够实现实时可视化展现的目的。
在上述各实施例的基础上,作为一种可选实施例,所述从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理,具体为:
调用预设的第一类RESTful接口,周期性发送数据提取请求,从所述第二Kafka消息队列中取得目标数据,并通过第一类RESTful接口将目标数据以预设格式返回前端进行可视化处理。
RESTful接口是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTful适用于作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。由于RESTful接口自带高效的数据包压缩算法,因此本发明实施例通过采用RESTful接口的方式发送数据提取请求,在Kafka消息队列具有的分布式负载均衡配置下,能够进一步降低带宽需求,满足了电务专业短时数据量大的需求。本发明实施例中的第一类RESTful接口是指用于接收实时数据的接口。
RESTful接口的特点包括:资源使用名词形式的URL表示,且一般为复数,如“/users”,使用具有“ID”同等作用的数据限定单体,如“/users/666”或”/users/zhangsan”,使用URL连接表示所属或关联关系如”/users/666/projects”表示ID为666用户的所有项目。
在可视化交互展现过程中,对于实时性比较高的数据,本发明实施例短周期轮训调用restful接口的方式获取最新数据,实现“近似”实时可视化展现,因为只要前端页面调用周期小于数据源上传周期,即可完整展现每一条数据的新增、更新以及删除。
在数据可视化阶段,主要采用Ajax+jQuery+JSON方式实现前端页面与后台数据的交互,jQuery作为一个快速、简洁的JavaScript框架,提供函数接口,简化了Ajax操作,对于Ajax+jQuery+JSON方式的典型语法结构:
将参数url扩展为url+dataInteval,其中的dataInteval即为轮训周期,具体地将dataInteval的周期时长设置为小于数据包上传数据的周期时长即可实现近似实时可视化展现的效果。
在上述各实施例的基础上,作为一种可选实施例,所述对所述第一Kafka消息队列的数据进行完整性校验,之后还包括:
确定校验无误的数据中的非实时数据,将所述实时数据发送至时序数据库进行存储,将所述非实时数据发送至关系型数据库进行存储;
从所述时序数据库或关系型数据库中获取目标数据,将取得的目标数据返回前端进行可视化处理。
通过上述各实施例可知,数据源上传的数据除了实时数据(即前端具有实时性需求的数据)以外还具有非实时数据,本发明通过Flink流处理对实时数据和非实时数据分别进行存储。通过将存储和低延迟订阅相结合,Flink流处理服务可以以同样的方式处理过去和未来的数据。这是一个单一的服务可以处理历史存储的数据,当它达到最后一个记录,它可以继续处理未来的数据到达。并且,对于流式传输数据流水线,与低延迟订阅实时数据的组合使得可以将Kafka消息队列用于具有低延迟需求的铁路电务专业领域,同时可靠地存储数据的能力可以将其用于保证一些非实时性的关键数据。
时序数据库全称为时间序列数据库。时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。由此可以理解的是,在铁路电务专业领域中,数据源上传的实时数据都是具有时间标签的数据,这些数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解。关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。在本发明实施例中非实时数据为铁路电务专业领域的常用数据(比如指标数据、规则、)或者分析结果数据。
本发明实施例可以通过调用第一类RESTful接口的方式从时序数据库中获得目标数据,对于关系型数据库中的数据,通过构建第二类RESTful接口(用于接收非实时数据),通过接收到用户通过前端发送的获取非实时数据的指令,从关系数据库中获得相关数据。
在上述各实施例的基础上,作为一种可选实施例,所述对所述第一Kafka消息队列的数据进行完整性校验,之后还包括:
从校验无误的数据中获取用于数据分析的数据,发送至HIVE数据仓库进行数据分析,之后将数据分析结果存入所述关系型数据库。
需要说明的是,相较于只有先存储再调用的传统低效率方式,为实现高速可靠的前端数据调取,本发明实施例通过Flink流处理服务将校验无误的数据分为三路同时处理,第一路:实时数据转换为预设格式后直接发送至第二Kafka消息队列中,向前端提供实时数据;第二路:将实时数据和非实时数据分别存入时序数据库和关系型数据库,用于第一类和第二类RESTful接口的查询提供给前端业务使用;第三路,获取用于可视化展示的数据——可以是实时数据,也可以是非实时数据,直接存入HIVE数据仓库用于大数据分析。
在上述各实施例的基础上,作为一种可选实施例,所述接收数据源上传的数据,具体为:
所述数据源将支持Kafka方式的实时数据直接送入所述第一Kafka消息队列;
向数据源提供Socket接口,以使得数据源将不支持Kafka方式的实时数据通过Socket上传至第一Kafka消息队列;以及
通过FTP/SFTP服务接收数据源发送的非实时数据,并上传至第一Kafka消息队列。
需要说明的是,本发明实施例对于数据源上传的数据以三种方式保证都能够最终流入第一Kafka消息队列中,对于支持Kafka方式的实时数据,由数据源直接送入第一Kafka消息队列,对于不支持Kafka方式的实时数据,由执行主体提供Socket接口,Socket接口可以在网络中通过双向的通信连接实现数据的交换,在本发明实施例中为使用硬件设备采集的数据源传输的数据提供转接,数据源将不支持Kafka方式的实时数据经由Socke接口上传至第一Kafka消息队列,对于非实时数据,本发明实施例通过FTP/SFTP服务实现,FTP/SFTP服务则为普遍使用的文件传输协议,方便对数据量大但实时性需求不高的数据进行采集。
图2为本发明实施例提供的铁路电务专业数据可视化系统的结构示意图,如图2所示,该数据可视化系统包括:数据采集201、数据处理模块202、和数据可视化模块203,其中:
数据采集模块201,用于接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中。
需要说明的是,在电务专业领域中,数据源通常为通信设备类数据源、信号设备类数据源、电务检修维护类数据源、电务生产作业类数据源,上传的数据可以是监控数据、监测数据、调度数据、指挥数据等等。
消息队列具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。Kafka消息队列的重要优势在于支持负载均衡,并且Kafka消息队列的负载均衡大部分是自动完成的,分区的创建也是Kafka消息队列完成的,并且能够隐藏了很多细节,避免了繁琐的配置和人为疏忽造成的负载问题。
本发明实施例将各数据源上传的数据,无论数据采集方式、实时性要求如何,统一存储至Kafka消息队列中,实现了类似“数据总线”的方式实现数据源端的统一汇集,并且基于Kafka消息队列的低延迟优势,特别适合应用于铁路电务专业领域对实时性要求高的场景。
数据处理模块202,用于通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列。
可以理解的是,只读取、写入和存储数据流是不够的,目的是启用流的实时处理。流处理器是指从输入主题获取连续数据流,对该输入执行一些处理,并产生连续数据流以输出主题的任何东西。
Flink是一个用于对无界和有界数据流进行有状态计算的框架。流是流处理的一个基本方面。流可以具有不同的特征,这些特征会影响流的处理方式。Flink是一个多功能的处理框架,可以处理任何类型的流,所有数据都作为流而生成。有两种方法可以处理数据:在生成时实时处理或将流持久保存到存储系统(例如,文件系统或对象存储库),并在以后处理,Flink能够实现上述两种方法处理数据的方式。
本发明实施例通过预先对数据进行实时数据和非实时数据的区别,将复杂的数据进行简单高效的区分,从而在本发明实施例的步骤S102中通过Flink流处理处理实时流,具体地包括对第一Kafka消息队列中的数据进行完整性校验,通过进行完整性校验的步骤能够确保数据的真实可靠。
完整性校验包括检查字段是否完整、类型是否一致、标识是否唯一等。以铁路电务专业领域为例,告警信息中通常包括告警唯一标识、告警发生时间等字段,这些字段用于记录告警最基本的信息,通过检测该告警信息中字段中的内容是否为空,可以获知该告警信息的字段是否完整;由于告警信息的类型属于告警,通过检查该告警信息中是否含有与告警相关的必要信息,即可获知该信息的类型是否一致;通过检查告警信息中的告警唯一标识是否与历史上的其他信息的唯一标识一致即可获知标识是否唯一。
Kafka消息队列可以应用很多种现有的消息格式,例如Avro、JSON、XML等等,作为一种优选实施例,本发明实施例从方便和效率两个因素考虑,实时数据转换的预设格式为JSON格式,JSON(JavaScript Object Notation,JS,对象简谱)是一种轻量级的数据交换格式,足够灵活,且比XML简洁,采用JSON在数据转换方面的工作量更小。
数据可视化模块203,用于从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。
需要说明的是,将消息队列中的消息看作一个记录,则每个记录都具有相应的格式和相应的优先级,对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。消息队列是随内核持续的。
接收到目标数据的前端,通过解析目标数据从而更新渲染图像。展示的图形包括折线图、条形图、饼图、图表、地图、线路图等。此外,对于前端展示所需的地理图层数据,可以采用Restful API方式从铁路专用的地理信息服务组件中获取。
本发明实施例提供的数据可视化系统,具体执行上述各数据可视化方法实施例流程,具体请详见上述各数据可视化实施例的内容,在此不再赘述。本发明实施例提供的数据可视化系统,对于铁路电务专业领域的数据存在实时性要求高的需求,采用Kafka消息队列进行总线多线程处理,数据随进随出,独立线程同步存储,保障响应速度,同时对于准确度要求高的需求,在流处理过程中增加了入库前的有效字段校验,确保采集共享全流程的高可靠性,面对铁路电务专业领域种类繁多的数据类型,本发明实施例化繁为简将数据分为实时数据和非实时数据,对实时数据通过Kafka消息队列的方式返回给前端进行可视化处理,很大程度地加快了数据处理、显示流程。
图3为本发明实施例提供的铁路电务专业数据可视化系统的系统架构图,如图3所示,数据采集模块提供3种方式接收外部数据源发送的数据,分别为1、数据源将支持Kafka方式的实时数据直接送入所述第一Kafka消息队列;2、向数据源提供Socket接口,以使得数据源将不支持Kafka方式的实时数据通过Socket上传至第一Kafka消息队列;3、通过FTP/SFTP服务接收数据源发送的非实时数据,并上传至第一Kafka消息队列,本发明实施例将铁路电务专业领域中的各类数据简化为实时数据和非实时数据两种,数据处理模块从第一Kafka消息队列中提取数据,首先通过Flink流处理服务进行完整性校验,对通过校验的数据,Flink流处理服务进行三路并行处理:1、将实时数据进行格式转换发送至第二Kafka消息队列;2、将实时数据存储至时序数据库,将非实时数据存储至关系数据库;3、将非实时数据发送至HIVE数据仓库进行数据分析,之后将数据分析结果存入所述关系型数据库,在数据可视化模块中,前端基于jQuery Ajax发送HTML请求,HTML请求调用实时RESTful接口,从第二Kafka消息队列中提取实时数据,或者从时序数据库中提取实时数据,此外还可以调用非实时RESTful接口从关系数据库中提取数据。
在图3所示实施例的基础上,数据处理模块中还预设了GIS服务组件,该组件中记录了GIS数据,数据可视化模块中的前端还可以向GIS服务组件发送HTML请求获得地理图层。
图4为本发明实施例提供的电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储在存储器430上并可在处理器410上运行的计算机程序,以执行上述各实施例提供的数据可视化方法,例如包括:接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中;通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列;从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的数据可视化方法,例如包括:接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中;通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列;从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种铁路电务专业数据可视化方法,其特征在于,包括:
接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中;
通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列;
从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理;
所述对所述第一Kafka消息队列的数据进行完整性校验,之后还包括:
确定校验无误的数据中的非实时数据,将所述实时数据发送至时序数据库进行存储,将所述非实时数据发送至关系型数据库进行存储;
从所述时序数据库或关系型数据库中获取目标数据,将取得的目标数据返回前端进行可视化处理;
或者,
从校验无误的数据中获取用于数据分析的数据,发送至HIVE数据仓库进行数据分析,之后将数据分析结果存入所述关系型数据库。
2.根据权利要求1所述的铁路电务专业数据可视化方法,其特征在于,所述接收数据源上传的数据,具体为:数据源以第一周期定时上传数据;
所述从所述第二Kafka消息队列中获取目标数据,具体为:从所述第二Kafka消息队列中以第二周期定时获取数据;
其中,所述第一周期的时长大于所述第二周期的时长。
3.根据权利要求1或2所述的铁路电务专业数据可视化方法,其特征在于,所述从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理,具体为:
调用预设的第一类RESTful接口,周期性发送数据提取请求,从所述第二Kafka消息队列中取得目标数据,并通过第一类RESTful接口将目标数据以预设格式返回前端进行可视化处理。
4.根据权利要求1所述的铁路电务专业数据可视化方法,其特征在于,所述接收数据源上传的数据,具体为:
所述数据源将支持Kafka方式的实时数据直接送入所述第一Kafka消息队列;
向数据源提供Socket接口,以使得数据源将不支持Kafka方式的实时数据通过Socket上传至第一Kafka消息队列;以及
通过FTP/SFTP服务接收数据源发送的非实时数据,并上传至第一Kafka消息队列。
5.根据权利要求1所述的铁路电务专业数据可视化方法,其特征在于,所述完整性校验包括:检查字段是否完整、类型是否一致、标识是否唯一。
6.一种铁路电务专业数据可视化系统,其特征在于,包括:
数据采集模块,用于接收数据源上传的数据,并将所述数据存储至第一Kafka消息队列中;
数据处理模块,用于通过Flink流处理服务对所述第一Kafka消息队列的数据进行完整性校验,确定校验无误的数据中的实时数据,将所述实时数据转换为预设格式后发送至第二Kafka消息队列;
数据可视化模块,用于从所述第二Kafka消息队列中获取目标数据,将取得的目标数据返回前端进行可视化处理;
所述对所述第一Kafka消息队列的数据进行完整性校验,之后还包括:
确定校验无误的数据中的非实时数据,将所述实时数据发送至时序数据库进行存储,将所述非实时数据发送至关系型数据库进行存储;
从所述时序数据库或关系型数据库中获取目标数据,将取得的目标数据返回前端进行可视化处理;
或者,
从校验无误的数据中获取用于数据分析的数据,发送至HIVE数据仓库进行数据分析,之后将数据分析结果存入所述关系型数据库。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述铁路电务专业数据可视化方法的步骤。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5中任意一项所述的铁路电务专业数据可视化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911006695.3A CN110784419B (zh) | 2019-10-22 | 2019-10-22 | 铁路电务专业数据可视化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911006695.3A CN110784419B (zh) | 2019-10-22 | 2019-10-22 | 铁路电务专业数据可视化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784419A CN110784419A (zh) | 2020-02-11 |
CN110784419B true CN110784419B (zh) | 2023-02-28 |
Family
ID=69386253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911006695.3A Active CN110784419B (zh) | 2019-10-22 | 2019-10-22 | 铁路电务专业数据可视化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110784419B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651471B (zh) * | 2020-04-30 | 2023-02-03 | 中国平安财产保险股份有限公司 | 目标数据查询方法、装置、电子设备及存储介质 |
CN111625583B (zh) * | 2020-05-21 | 2022-07-29 | 广西电网有限责任公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
CN111737255A (zh) * | 2020-06-02 | 2020-10-02 | 通号城市轨道交通技术有限公司 | 一种联锁监测数据的存储方法及系统 |
CN113760870A (zh) * | 2020-06-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 业务数据的处理方法、装置及设备 |
CN111813507B (zh) * | 2020-07-22 | 2023-05-02 | 超越科技股份有限公司 | 一种基于sanlock的虚拟机高可用的方法、系统、设备及介质 |
CN112181678A (zh) * | 2020-09-10 | 2021-01-05 | 珠海格力电器股份有限公司 | 业务数据的处理方法、装置和系统、存储介质、电子装置 |
CN112486473B (zh) * | 2020-11-30 | 2022-09-13 | 中国电子科技集团公司第二十八研究所 | 基于Kafka和Redis的准实时目标航迹显示方法 |
CN112671848A (zh) * | 2020-12-07 | 2021-04-16 | 广东粤安科技股份有限公司 | 对消防设备进行数据采集的方法、装置及消防管理系统 |
CN112559611A (zh) * | 2020-12-15 | 2021-03-26 | 中国人寿保险股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112486709A (zh) * | 2020-12-17 | 2021-03-12 | 中国农业银行股份有限公司 | 一种基于具象状态传输服务进行作业管理的方法和装置 |
CN112667614A (zh) * | 2020-12-25 | 2021-04-16 | 大众问问(北京)信息科技有限公司 | 一种数据处理方法、装置及计算机设备 |
CN113055126B (zh) * | 2021-03-09 | 2023-03-31 | 华夏云融航空科技有限公司 | 一种飞行数据译码方法、装置及终端设备 |
CN113378622A (zh) * | 2021-04-06 | 2021-09-10 | 青岛以萨数据技术有限公司 | 一种特定人员识别方法、设备、系统及介质 |
CN113553171A (zh) * | 2021-06-07 | 2021-10-26 | 用友汽车信息科技(上海)股份有限公司 | 负载均衡控制方法、装置和计算机可读存储介质 |
WO2023004699A1 (zh) * | 2021-07-29 | 2023-02-02 | 西门子股份公司 | 一种变压器的数据完整性的呈现方法、装置和存储介质 |
CN113918651A (zh) * | 2021-10-13 | 2022-01-11 | 广东利通科技投资有限公司 | 业务数据、资金流水处理方法、装置、设备和介质 |
CN117009111A (zh) * | 2023-08-30 | 2023-11-07 | 上海南洋宏优智能科技有限公司 | 一种数据处理方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763387A (zh) * | 2018-05-20 | 2018-11-06 | 湖北九州云仓科技发展有限公司 | 异构平台的大数据融合方法、电子设备、存储介质及系统 |
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN109271412A (zh) * | 2018-09-28 | 2019-01-25 | 中国-东盟信息港股份有限公司 | 智慧城市的实时流数据处理方法及系统 |
CN109492991A (zh) * | 2018-10-18 | 2019-03-19 | 华南理工大学 | 配电工程建设智能化综合管理系统 |
CN109684352A (zh) * | 2018-12-29 | 2019-04-26 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
CN110007913A (zh) * | 2019-03-21 | 2019-07-12 | 佳都新太科技股份有限公司 | 可视化的数据处理流程设置方法、装置、设备及存储介质 |
CN110245158A (zh) * | 2019-06-10 | 2019-09-17 | 上海理想信息产业(集团)有限公司 | 一种基于Flink流计算技术的多源异构数据实时处理系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10691514B2 (en) * | 2017-05-08 | 2020-06-23 | Datapipe, Inc. | System and method for integration, testing, deployment, orchestration, and management of applications |
US20180341956A1 (en) * | 2017-05-26 | 2018-11-29 | Digital River, Inc. | Real-Time Web Analytics System and Method |
-
2019
- 2019-10-22 CN CN201911006695.3A patent/CN110784419B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763387A (zh) * | 2018-05-20 | 2018-11-06 | 湖北九州云仓科技发展有限公司 | 异构平台的大数据融合方法、电子设备、存储介质及系统 |
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN109271412A (zh) * | 2018-09-28 | 2019-01-25 | 中国-东盟信息港股份有限公司 | 智慧城市的实时流数据处理方法及系统 |
CN109492991A (zh) * | 2018-10-18 | 2019-03-19 | 华南理工大学 | 配电工程建设智能化综合管理系统 |
CN109684352A (zh) * | 2018-12-29 | 2019-04-26 | 江苏满运软件科技有限公司 | 数据分析系统、方法、存储介质及电子设备 |
CN110007913A (zh) * | 2019-03-21 | 2019-07-12 | 佳都新太科技股份有限公司 | 可视化的数据处理流程设置方法、装置、设备及存储介质 |
CN110245158A (zh) * | 2019-06-10 | 2019-09-17 | 上海理想信息产业(集团)有限公司 | 一种基于Flink流计算技术的多源异构数据实时处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110784419A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784419B (zh) | 铁路电务专业数据可视化方法及系统 | |
CN109471863B (zh) | 基于分布式数据库的信息查询方法及装置、电子设备 | |
WO2019178979A1 (zh) | 报表数据查询方法、装置、存储介质和服务器 | |
CN106815254B (zh) | 一种数据处理方法和装置 | |
CN108073625B (zh) | 用于元数据信息管理的系统及方法 | |
CN110647512B (zh) | 一种数据存储和分析方法、装置、设备和可读介质 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
CN111459986B (zh) | 数据计算系统及方法 | |
CN111651510A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN111352800A (zh) | 大数据集群监控方法及相关设备 | |
CN110297944B (zh) | 分布式xml数据处理方法及系统 | |
CN103246963B (zh) | 基于物联网的员工培训系统 | |
US11042529B2 (en) | System of migration and validation | |
WO2014176919A1 (en) | Method and system for displaying recommended pages by terminal device | |
WO2021068113A1 (zh) | 时长统计方法、装置、电子设备和计算机可读介质 | |
CN110866040A (zh) | 用户画像生成方法、装置和系统 | |
CN110825731A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN113420043A (zh) | 数据实时监控方法、装置、设备及存储介质 | |
CN116016628A (zh) | 一种api网关埋点分析方法及装置 | |
CN113190517B (zh) | 数据集成方法、装置、电子设备和计算机可读介质 | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110895591A (zh) | 一种定位自提点的方法和装置 | |
CN117271645A (zh) | 一种测试数据的处理方法、装置及计算机可读存储介质 | |
CN107679096B (zh) | 数据集市间指标共享的方法和装置 | |
CN105245380B (zh) | 一种消息的传播方式识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |