基于DataX数据同步的轨道交通数据中台实现方法与流程

文档序号:24528373发布日期:2021-04-02 10:06阅读:293来源:国知局
基于DataX数据同步的轨道交通数据中台实现方法与流程

本发明的实施例一般涉及轨道交通领域,并且更具体地,涉及一种基于datax数据同步的轨道交通数据中台实现方法。



背景技术:

轨道交通是属于集多专业,多工种于一身的复杂系统,通常有轨道路线,车站,车辆,维护检修基地,供变电,通信信号,指挥控制中心等组成。每一个专业都自身成为一个独立的系统,需要和别的依赖系统进行数据的交互,以达到轨道交通运营的目的。

当前轨道交通系统中的数据按照不同的专业由系统各自存储,导致各个系统中的数据复用性较低,形成信息孤岛;如果需要复用系统中的数据,需要不同系统开发特定的接口进行交互,导致数据应用过程中成本较高;而且在应用的过程中,由于不同的系统中数据的数据结构不同,无法进行统一管理,给数据管理增加了成本,最终难以实现数据价值,不利于数据挖掘和业务创新。



技术实现要素:

根据本发明的实施例,提供了一种基于datax数据同步的轨道交通数据中台实现方案。

在本发明的第一方面,提供了一种基于datax数据同步的轨道交通数据中台实现方法。该方法包括:

通过统一的数据接口接收json格式数据;

将所述json格式数据进行数据分类,并转换成待执行文件;所述待执行文件符合datax框架识别条件;

通过datax对所述待执行文件进行同步。

进一步地,所述将所述json格式数据进行数据分类,包括:

根据所述json格式数据的数据主题id从数据库中获取其对应数据主题的配置内容,根据配置内容将所述json格式数据进行数据分类。

进一步地,所述配置内容,包括:

目标应用地址、目标应用接收当前数据的实现方式和目标应用的数据结构。

进一步地,所述datax框架识别条件,包括:

数据文件为data格式文本,且包含同步任务信息。

进一步地,还包括:

在通过datax对所述待执行文件进行同步后,对同步结果进行管理。

进一步地,所述对同步结果进行管理,包括:

判断所述待执行文件是否同步成功,如果是,则将同步成功的数据文件归档到历史记录;否则,记录同步失败次数,将同步失败的数据文件归档到失败记录。

进一步地,所述记录同步失败次数触发失败次数判断,包括:

当所述同步失败次数小于预设失败次数时,重新通过datax对所述待执行文件进行同步,如果重新同步成功,则删除所述同步失败记录中对应的数据文件;

当所述同步失败次数达到预设次数时,发出同步失败消息。

在本发明的第二方面,提供了一种基于datax数据同步的轨道交通数据中台实现装置。该装置包括:

数据传输组件,用于通过统一的数据接口接收json格式数据;

分类转换模块,用于将所述json格式数据进行数据分类,并转换成待执行文件;所述待执行文件符合datax框架识别条件;

同步模块,用于通过datax对所述待执行文件进行同步。

在本发明的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。

在本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本发明的第一方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。

本发明能够接收各个系统的应用数据,将不同的数据源进行合并和完善,统一格式存储,统一接口标准;减少数据应用成本,为不同的业务应用以标准的接口提供数据服务;提高数据管理能力,更加方便的定位所需数据,理解数据,确保数据的访问权限和数据的可用性。

附图说明

结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了本发明的基于datax数据同步的轨道交通数据中台实现方法的流程图;

图2示出了本发明的基于datax数据同步的轨道交通数据中台实现装置的方框图;

图3示出了能够实施本发明的实施例的示例性电子设备的方框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本发明中,能够接收各个系统的应用数据,将不同的数据源进行合并和完善,统一格式存储,统一接口标准;减少数据应用成本,为不同的业务应用以标准的接口提供数据服务;提高数据管理能力,更加方便的定位所需数据,理解数据,确保数据的访问权限和数据的可用性。

图1示出了本发明实施例的基于datax数据同步的轨道交通数据中台实现方法的流程图。

该方法包括:

s101、通过统一的数据接口接收json格式数据;

作为本发明的一种实施例,数据中台的数据传输组件通过httprestful服务接收各个系统的应用数据,所述应用数据为json格式数据,且包含数据主题和数据内容。

“rest”是“representationstatetransfer”的缩写,为表现层状态转移,即url定位资源,用http动词(get、post、delete、push等)描述操作;而基于rest构建的api就是restful风格。restful是典型的基于http的协议。

数据中台,通过httprestful服务接收各个客户端系统的应用或者第三方上传的不同数据源的应用数据,所述应用数据为json格式在各个数据中均包括数据主题和数据内容。所述应用数据接入到数据中台的数据传输组件,则需要通过规范的接口进行统一,使接入数据中台的数据是json格式。

所述数据主题为数据的业务区分,用于区分数据归属于具体应用的业务类型,例如行车数据、信号数据等。

所述数据内容,为数据包含内容,例如行车数据包含停车精度,早晚点状态等等。通过数据内容能够在执行datax任务时生成相应需要的job和data文件。

通过httprestful服务统一采集数据,为不同的业务应用以标准的接口提供数据服务,减少数据应用成本。

s102、将所述json格式数据进行数据分类,并转换成待执行文件。

在接收到json格式的数据后,需要对数据进行分类,按不同的需求进行存储或者转发。

每个数据主题都唯一对应一个id,所述id用于标识所述数据主题。

解析出应用数据的数据主题id,将所述数据主题id与数据库中对应数据主题的配置内容进行匹配,获取对应的配置内容。

在一些实施例中,所述数据库可以是任何一种数据库,根据目标应用所用而定。例如目标应用所用的数据库为关系型数据库,则所述数据库也为关系型数据库,如mysql数据库,所述mysql数据库可以接受命令,并做出相应的操作。

识别出数据主题的id,根据所述id从数据库中查找对应id,匹配出数据库中对应id的相应配置信息,从而获取所述数据主题的配置内容。

所述数据主题的配置内容一般包括:

目标应用地址、目标应用接收当前数据的实现方式和目标应用的数据结构。

所述目标应用地址即目标数据库地址,用于根据所述地址链接到目标应用。所述目标应用接收当前数据的实现方式,例如数据库、消息队列、http服务等。所述目标应用的数据结构,用于定义json格式数据的内容。

在一些实施例中,如果目标应用有特定配置需求的话,所述数据主题的配置内容还可能包括目标应用的个性化配置需求。例如密码、httpheader信息等。

通过将数据进行分类存储,能够实现对不同系统的应用数据按业务类别进行同步存储,统一管理,为数据转发提供数据基础。

在本实施例中,进一步地,在将数据进行分类后,根据所述数据主题的配置内容,将所述数据内容转换成符合datax框架识别条件的内容和格式的数据文件。

所述符合datax框架识别条件的内容和格式的数据文件,包括同步任务信息job和data格式文本。其中,job用于描述同步任务;data文本是转换成的数据,即将数据内容通过格式转换,转换成data文本。

s103、通过datax对所述待执行文件进行同步。

在s102中,得到了符合datax框架识别条件的待执行文件。在s103中,通过调用datax的同步功能对待执行文件进行同步。将所述待执行文件对接到datax,便可以通过datax跟已有的数据源进行无缝数据同步。

datax是一个异构数据源离线同步工具,用于实现包括关系型数据库(mysql、oracle等)、hdfs、hive、odps、hbase、ftp等各种异构数据源之间稳定高效的数据同步功能。datax采用的是framework+plugin的架构构建,能够安装不同的插件实现各种不同形式的存储,为支持各种特定系统提供了易扩展的方案。

作为本发明的一种实施例,可选的,还可以在通过datax对所述待执行文件进行同步后,对同步结果进行管理。

datax的同步会产生同步结果,所述同步结果包括同步成功和同步失败。所述对同步结果进行管理,需要首先判断同步结果为成功或失败,具体包括:

判断所述待执行文件是否同步成功,如果是,则将同步成功的数据文件归档到历史记录;否则,记录同步失败次数,将同步失败的数据文件归档到失败记录。所述历史记录用于记录同步成功的数据文件。即,当所述执行结果为同步成功时,则将同步成功的数据文件归档到历史记录,从而避免data数据重复同步。所述失败记录用于记录同步失败的数据文件。即,当所述执行结果为同步失败时,将同步失败的数据文件归档到失败记录中,同时更新当前数据文件同步失败的次数,即次数加1。

在本实施例中,优选的,所述记录同步失败次数会触发失败次数的判断过程。

在系统中预设了数据文件同步失败的次数上限值。当所述数据文件同步失败次数小于预设次数的上限值时,重新执行datax同步任务,对所述同步失败的数据文件重新进行同步;如果所述数据文件由于重新执行datax同步任务同步成功,则删除所述失败记录中的对应数据文件;避免data数据漏同步。

当所述数据文件同步次数达到预设次数时,发出同步失败消息。即当反复出现同步不成功时,需要人为参与确定原因,并对不成功的数据文件进行清理,避免漏同步。实现对不同系统的数据进行存储,达到数据的统一存储,统一管理的目的,进而实现不同系统间数据的交互,为第三方提供数据服务,在数据的基础上实现业务创新。

根据本发明的实施例,本发明能够接收各个系统的应用数据,将不同的数据源进行合并和完善,统一格式存储,统一接口标准;减少数据应用成本,为不同的业务应用以标准的接口提供数据服务;提高数据管理能力,更加方便的定位所需数据,理解数据,确保数据的访问权限和数据的可用性。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。

以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。

如图2所示,装置200,包括:

数据传输组件210,用于通过统一的数据接口接收json格式数据。

所述数据传输组件作为数据中台的组成部分之一,通过专用网络接收各个地铁线路中的大量不同业务类型的json格式数据发送给分类转换模块。

分类转换模块220,用于将所述json格式数据进行数据分类,并转换成待执行文件;所述待执行文件符合datax框架识别条件。

所述分类转换模块220,还包括:

分类模块221,用于根据所述json格式数据的数据主题id从数据库中获取其对应数据主题的配置内容,根据配置内容将所述json格式数据进行数据分类。所述配置内容,包括目标应用地址、目标应用接收当前数据的实现方式和目标应用的数据结构。

转换模块222,用于将分类后的数据转换成待执行文件;所述待执行文件符合datax框架识别条件。

所述datax框架识别条件,包括:

数据文件为data格式文本,且包含同步任务信息。

同步模块230,用于通过datax对所述待执行文件进行同步。

所述装置200,还包括:

管理模块240,用于在通过datax对所述待执行文件进行同步后,对同步结果进行管理。

所述管理模块240,进一步,用于判断所述待执行文件是否同步成功,如果是,则将同步成功的数据文件归档到历史记录;否则,记录同步失败次数,将同步失败的数据文件归档到失败记录。

所述记录同步失败次数触发失败次数判断,包括:

当所述同步失败次数小于预设失败次数时,重新通过datax对所述待执行文件进行同步,如果重新同步成功,则删除所述同步失败记录中对应的数据文件;

当所述同步失败次数达到预设次数时,发出同步失败消息。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

如图3所示,电子设备包括中央处理单元(cpu),其可以根据存储在只读存储器(rom)中的计算机程序指令或者从存储单元加载到随机访问存储器(ram)中的计算机程序指令,来执行各种适当的动作和处理。在ram中,还可以存储设备操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。

电子设备中的多个部件连接至i/o接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许电子设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元执行上文所描述的各个方法和处理,例如方法s101~s103。例如,在一些实施例中,方法s101~s103可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由rom和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到ram并由cpu执行时,可以执行上文描述的方法s101~s103的一个或多个步骤。备选地,在其他实施例中,cpu可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法s101~s103。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。

用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1