一种数据转换方法、系统及装置制造方法及图纸

技术编号:35266360 阅读:15 留言:0更新日期:2022-10-19 10:29
本申请实施例公开了一种数据转换方法、系统及装置,该方法包括:满足调度任务对应的触发条件时,触发调度任务,将任务参数传输至推送任务主程序;通过推送任务主程序,基于任务参数采用流模式查询数据库中的目标数据,按照模板文件解析目标数据,将目标数据写入落地分片数据文件;查询完数据库中的目标数据、写入落地分片数据文件中后,确定每种数据模式下目标数据的总数,根据每种数据模式下的目标数据的总数、以及每种数据模式下的各落地分片数据文件,生成每种数据模式对应的文本文件;压缩每种数据模式对应的文本文件,并将压缩后的文本文件上传至目标服务器。该方法能够保证数据推送的及时性和准确性,并且实现数据库与数据消费端的解耦。消费端的解耦。消费端的解耦。

【技术实现步骤摘要】
一种数据转换方法、系统及装置


[0001]本申请涉及计算机
,具体涉及一种数据转换方法、系统及装置。

技术介绍

[0002]近年来,民航行业发展迅速,运价业务越来越多样化立体化,运价数据也呈几何倍增长。如何将运价数据准确、快速、稳定地响应给数据消费者,为数据消费者提供安全快捷的使用体验,成为备受关注的问题。
[0003]目前,运价计算业务与运价搜索业务仍沿用十几年前的架构设计。通过直接查询数据库将数据转换到内存数据库中,每隔一个小时转换得到前一个小时的数据缓存;在这整个过程中,数据的时效性和准确性已无法满足当前业务发展和产品迭代的需求。此外,在现有的数据转换架构中,数据库与数据消费端之间紧密耦合,极不利于维护。

技术实现思路

[0004]本申请实施例提供了一种数据转换方法、系统及装置,能够保证数据推送的及时性和准确性,并且实现数据库与数据消费端的解耦。
[0005]有鉴于此,本申请第一方面提供了一种数据转换方法,所述方法包括:
[0006]满足调度任务对应的触发条件时,触发所述调度任务,将任务参数传输至推送任务主程序;
[0007]通过所述推送任务主程序,基于所述任务参数,采用流模式查询数据库中的目标数据,按照模板文件解析所述目标数据,将所述目标数据写入落地分片数据文件中;所述模板文件是预先根据所述数据库中数据的结构生成的;
[0008]查询完所述数据库中的所述目标数据,并且写入所述落地分片数据文件中后,确定所查询的每种数据模式下的目标数据的总数;针对每种所述数据模式,根据所查询的所述数据模式下的目标数据的总数、以及所述数据模式下的各落地分片数据文件,生成所述数据模式对应的文本文件;
[0009]压缩每种所述数据模式对应的文本文件,并将压缩后的文本文件上传至目标服务器;所述目标服务器用于支持数据存储和数据访问。
[0010]可选的,所述通过所述推送任务主程序,基于所述任务参数,采用流模式查询数据库中的目标数据,按照模板文件解析所述目标数据,将所述目标数据写入落地分片数据文件中,包括:
[0011]通过所述推送任务主程序,根据所述任务参数以及硬件资源情况,配置处理线程和数据库连接;所述处理线程的数量为所述硬件资源情况所能支持的最多的处理线程的数量,所述数据库连接的数量为所述硬件资源情况所能支持的最多的数据库连接的数量;
[0012]通过所述数据库连接和所述处理线程,并发采用流模式查询所述数据库中的目标数据,以及按照所述模板文件解析所述目标数据,将所述目标数据写入所述落地分片数据文件中。
[0013]可选的,所述调度任务对应的触发条件包括触发时间、触发参数和触发节点中的至少一种;
[0014]所述调度任务用于指示全量数据推送模式或者增量数据推送模式;所述全量数据推送模式用于指示将所述数据库中当前的数据全量推送给所述推送任务主程序,所述增量数据推送模式用于指示将目标时间段内所述数据库中存在调整的数据推送给所述推送任务主程序,所述目标时间段为本次触发所述调度任务的时间与上一次触发所述调度任务的时间之间的时间段。
[0015]可选的,在多个所述调度任务并发执行的情况下,将所述推送任务主程序针对每个所述调度任务生成的压缩后的文本文件作为候选压缩文件;所述方法还包括:
[0016]待所述推送任务主程序生成各所述调度任务各自对应的候选压缩文件,并将各所述调度任务各自对应的候选压缩文件上传至所述目标服务器后,调整各所述候选压缩文件的文件格式,确认完成本次推送任务。
[0017]可选的,所述模板文件是通过以下方式生成的:
[0018]通过模板逆向工程代码,根据所述数据库中各航空公司各自对应的数据表,生成所述模板文件;所述模板文件用于以文本的形式解释所述数据库中的数据结构,且所述模板文件会被发送给数据消费方。
[0019]可选的,所述针对每种所述数据模式,根据所查询的所述数据模式下的目标数据的总数、以及所述数据模式下的各落地分片数据文件,生成所述数据模式对应的文本文件,包括:
[0020]针对每种所述数据模式,通过调用shell脚本,将所述数据模式下的各落地分片数据文件合并为所述数据模式对应的文件文件,并将所述数据模式下的目标数据的总数写入所述文本文件的顶部。
[0021]可选的,所述数据库中的每条数据记录配置有推送标识字段;所述推送标识字段用于表示数据记录对应的推送状态。
[0022]可选的,所述数据库中还包括数据记录表对应的删除备份表;所述删除备份表用于记录其对应的数据记录表中被删除的数据记录。
[0023]本申请第二方面提供了一种数据转换系统,所述系统包括:
[0024]模板生成组件,用于根据数据库中数据的结构生成模板文件,并将所述目标文件发送给数据消费方;
[0025]调度任务组件,用于检测是否满足调度任务对应的触发条件,并在确定满足所述调度任务对应的触发条件时,触发所述调度任务,将任务参数传输至推送任务主程序;
[0026]推送程序组件,用于通过所述推送任务主程序,基于所述任务参数,采用流模式查询数据库中的目标数据,按照所述模板文件解析所述目标数据,将所述目标数据写入落地分片数据文件中;查询完所述数据库中的所述目标数据,并且写入所述落地分片数据文件中后,确定所查询的每种数据模式下的目标数据的总数;针对每种所述数据模式,根据所查询的所述数据模式下的目标数据的总数、以及所述数据模式下的各落地分片数据文件,生成所述数据模式对应的文本文件;压缩每种所述数据模式对应的文本文件,并将压缩后的文本文件上传至目标服务器;所述目标服务器用于支持数据存储和数据访问。
[0027]本申请第三方面提供了一种数据转换装置,所述装置包括:
[0028]调度任务触发模块,用于满足调度任务对应的触发条件时,触发所述调度任务,将任务参数传输至推送任务主程序;
[0029]数据解析模块,用于通过所述推送任务主程序,基于所述任务参数,采用流模式查询数据库中的目标数据,按照模板文件解析所述目标数据,将所述目标数据写入落地分片数据文件中;所述模板文件是预先根据所述数据库中数据的结构生成的;
[0030]文件生成模块,用于查询完所述数据库中的所述目标数据,并且写入所述落地分片数据文件中后,确定所查询的每种数据模式下的目标数据的总数;针对每种所述数据模式,根据所查询的所述数据模式下的目标数据的总数、以及所述数据模式下的各落地分片数据文件,生成所述数据模式对应的文本文件;
[0031]文件上传模块,用于压缩每种所述数据模式对应的文本文件,并将压缩后的文本文件上传至目标服务器;所述目标服务器用于支持数据存储和数据访问。
[0032]从以上技术方案可以看出,本申请实施例具有以下优点:
[0033]本申请实施例提供了一种数据转换方法,该方法包括:满足调度任务对应的触发条件时,触发该调度任务,将任务参数传输至推送任务主程序;通过推送任务主程序,基于任务参数,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据转换方法,其特征在于,所述方法包括:满足调度任务对应的触发条件时,触发所述调度任务,将任务参数传输至推送任务主程序;通过所述推送任务主程序,基于所述任务参数,采用流模式查询数据库中的目标数据,按照模板文件解析所述目标数据,将所述目标数据写入落地分片数据文件中;所述模板文件是预先根据所述数据库中数据的结构生成的;查询完所述数据库中的所述目标数据,并且写入所述落地分片数据文件中后,确定所查询的每种数据模式下的目标数据的总数;针对每种所述数据模式,根据所查询的所述数据模式下的目标数据的总数、以及所述数据模式下的各落地分片数据文件,生成所述数据模式对应的文本文件;压缩每种所述数据模式对应的文本文件,并将压缩后的文本文件上传至目标服务器;所述目标服务器用于支持数据存储和数据访问。2.根据权利要求1所述的方法,其特征在于,所述通过所述推送任务主程序,基于所述任务参数,采用流模式查询数据库中的目标数据,按照模板文件解析所述目标数据,将所述目标数据写入落地分片数据文件中,包括:通过所述推送任务主程序,根据所述任务参数以及硬件资源情况,配置处理线程和数据库连接;所述处理线程的数量为所述硬件资源情况所能支持的最多的处理线程的数量,所述数据库连接的数量为所述硬件资源情况所能支持的最多的数据库连接的数量;通过所述数据库连接和所述处理线程,并发采用流模式查询所述数据库中的目标数据,以及按照所述模板文件解析所述目标数据,将所述目标数据写入所述落地分片数据文件中。3.根据权利要求1所述的方法,其特征在于,所述调度任务对应的触发条件包括触发时间、触发参数和触发节点中的至少一种;所述调度任务用于指示全量数据推送模式或者增量数据推送模式;所述全量数据推送模式用于指示将所述数据库中当前的数据全量推送给所述推送任务主程序,所述增量数据推送模式用于指示将目标时间段内所述数据库中存在调整的数据推送给所述推送任务主程序,所述目标时间段为本次触发所述调度任务的时间与上一次触发所述调度任务的时间之间的时间段。4.根据权利要求1所述的方法,其特征在于,在多个所述调度任务并发执行的情况下,将所述推送任务主程序针对每个所述调度任务生成的压缩后的文本文件作为候选压缩文件;所述方法还包括:待所述推送任务主程序生成各所述调度任务各自对应的候选压缩文件,并将各所述调度任务各自对应的候选压缩文件上传至所述目标服务器后,调整各所述候选压缩文件的文件格式,确认完成本次推送任务。5.根据权利要求1所述的方法,其特征在于,所述模板文件是通过以下方式生成的:通过模板逆向工程代码,根据所述数据库中各航空公司各自对应的数据表,生成所述模板文件;所述模板文件用于以文本的形式解释所述数据库中的数据结构,且所述模板文件...

【专利技术属性】
技术研发人员:王中华杨程刘冰唐天琦代晓东
申请(专利权)人:中国民航信息网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1