数据预处理性能的提升方法、装置、存储介质和设备制造方法及图纸

技术编号:35694158 阅读:8 留言:0更新日期:2022-11-23 14:44
本申请公开了一种数据预处理性能的提升方法、装置、存储介质和设备,该方法为:基于预先获取得到的源数据文件,获得与各个源数据对象对应的作业;对各个作业进行分组,得到多个作业组;将各个作业组,分配给进程队列的各个元素;启动与每个元素对应的进程,对每个元素所拥有的作业组进行数据预处理,得到各个作业的目标数据对象,以及每个作业组执行数据预处理的处理时间;基于各个目标数据对象,获得多个目标数据文件;将各个目标数据文件,以及每个作业组执行数据预处理的处理时间,保存到预设的预处理数据库中。该方法可实现对各个作业的精细分组,确保每个进程的负载均衡,还可避免计算资源的浪费,从而有效提升业务系统的数据预处理性能。据预处理性能。据预处理性能。

【技术实现步骤摘要】
数据预处理性能的提升方法、装置、存储介质和设备


[0001]本申请涉及数据处理领域,尤其涉及一种数据预处理性能的提升方法、装置、存储介质和设备。

技术介绍

[0002]国际运价计算系统计算逻辑复杂,数据量庞大,而且要支持历史计算和退改签业务,需要存储历史数据,数据记录数量以百亿计。如此庞大的数据量,如果这些原始数据不做任何处理,直接参与计算的话,系统的性能很难得到保证。为了支持海量数据环境下的计算性能,需要对源数据进行预处理,将来自一个或多个源数据文件的源数据,按照业务的相关性及使用的便利性组织成预处理数据库(DataBase,DB),供计算引擎使用。同时,由于每小时都会有运价原始数据的推送,预处理DB需要快速构建及更新,以保证运价数据的时效性和计算的准确性,这就对数据预处理的性能提出了较高的要求。
[0003]对于现有的数据预处理过程而言,数据预处理的执行时间过长、处理效率低下,且较为浪费计算资源,明显可见的,现有的数据预处理过程的数据预处理性能较为低下。

技术实现思路

[0004]本申请提供了一种数据预处理性能的提升方法、装置、存储介质和设备,目的在于提升数据预处理性能。
[0005]为了实现上述目的,本申请提供了以下技术方案:
[0006]一种数据预处理性能的提升方法,包括:
[0007]基于预先获取得到的源数据文件,获得与各个源数据对象对应的作业;
[0008]对各个所述作业进行分组,得到多个作业组;
[0009]将各个所述作业组,分配给进程队列的各个元素;所述进程队列以预先配置的进程数量作为队列长度预先构建得到,且所述进程队列中各个所述元素,按照所述元素的作业量由少到多的顺序进行排序;所述元素的作业量代表所述元素所包含的作业数量;
[0010]启动与每个所述元素对应的进程,对每个所述元素所拥有的作业组进行数据预处理,得到各个所述作业的目标数据对象,以及每个所述作业组执行数据预处理的处理时间;
[0011]基于各个所述目标数据对象,获得多个目标数据文件;
[0012]将各个所述目标数据文件,以及每个所述作业组执行数据预处理的处理时间,保存到预设的预处理数据库中。
[0013]可选的,所述基于预先获取得到的源数据文件,获得与各个源数据对象对应的作业,包括:
[0014]预先从业务系统中获取源数据文件,并对所述源数据文件进行读取,得到源数据;
[0015]将所述源数据的各个纪录进行内存对象映射,得到各个源数据对象;
[0016]创建与每个所述源数据对象对应的作业。
[0017]可选的,所述对各个所述作业进行分组,得到多个作业组,包括:
[0018]对各个所述源数据对象进行关键字提取,得到每个所述源数据对象的关键字集合;所述关键字集合包括一个或多个关键字;
[0019]按照预设分组规则,对各个所述源数据对象进行分组,得到多个对象组;所述预设分组规则为:将包含有同一分组关键字的多个源数据对象,分配到同一对象组;
[0020]对于每个所述对象组,将与所述对象组中每个源数据对象对应的作业,分配到同一作业组,得到与每个所述对象组对应的作业组。
[0021]可选的,所述将各个所述作业组,分配给进程队列的各个元素,包括:
[0022]对于每个所述作业组,在所述作业组为首次执行数据预处理的情况下,统计所述作业组所包含的作业数量,得到每个所述作业组的作业量;
[0023]按照作业量从多到少的顺序,对各个所述作业组进行排序,得到作业组序列;
[0024]为预先构建的进程队列中每个元素设置初始作业量;
[0025]按照预设作业量分配规则,依次将所述作业组序列中各个作业组的作业量,分配给所述进程队列的各个元素,以使所述进程队列中各个元素的序位发生调整;所述预设作业量分配规则为:按照序位由前到后的顺序,将所述作业组序列中各个作业组的作业量,逐次分配给所述进程队列,且在每次作业量分配过程中,将分配给所述进程队列的作业量,优先分配给头部元素,以使在各个所述作业组的作业量都分配结束后,各个所述元素的作业量之间的差值最小;所述头部元素包括序位为所述进程队列首位的元素;
[0026]将每个所述元素所获得作业量所属的作业组,分配给每个所述元素。
[0027]可选的,所述按照作业量从多到少的顺序,对各个所述作业组进行排序,得到作业组序列之前,还包括:
[0028]在所述作业组并非首次执行数据预处理的情况下,从预设的预处理数据库中获取所述作业组上一次执行数据预处理的处理时间,并将所述处理时间标识为所述作业组的作业量。
[0029]可选的,所述启动与每个所述元素对应的进程,对每个所述元素所拥有的作业组进行数据预处理,得到各个所述作业的目标数据对象,以及每个所述作业组执行数据预处理的处理时间,包括:
[0030]按照预设线程启动规则,启动与每个所述元素对应的进程中的多个线程,对每个所述元素所获得的作业组进行数据预处理,得到各个所述作业的目标数据对象,以及每个所述作业组执行数据预处理的处理时间;所述预设线程启动规则为:作业量较多的作业组的线程启动时间,早于作业量较少的作业组的线程启动时间;作业组的作业量代表作业组所包含的作业数量。
[0031]可选的,所述基于各个所述目标数据对象,获得多个目标数据文件,包括:
[0032]将所属作业归属于同一作业组的多个目标数据对象,写入到与所述同一作业组对应的目标数据文件中。
[0033]一种数据预处理性能的提升装置,包括:
[0034]作业获取单元,用于基于预先获取得到的源数据文件,获得与各个源数据对象对应的作业;
[0035]作业分组单元,用于对各个所述作业进行分组,得到多个作业组;
[0036]作业分配单元,用于将各个所述作业组,分配给进程队列的各个元素;所述进程队
列以预先配置的进程数量作为队列长度预先构建得到,且所述进程队列中各个所述元素,按照所述元素的作业量由少到多的顺序进行排序;所述元素的作业量代表所述元素所包含的作业数量;
[0037]作业处理单元,用于启动与每个所述元素对应的进程,对每个所述元素所拥有的作业组进行数据预处理,得到各个所述作业的目标数据对象,以及每个所述作业组执行数据预处理的处理时间;
[0038]文件获取单元,用于基于各个所述目标数据对象,获得多个目标数据文件;
[0039]文件保存单元,用于将各个所述目标数据文件,以及每个所述作业组执行数据预处理的处理时间,保存到预设的预处理数据库中。
[0040]一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的数据预处理性能的提升方法。
[0041]一种数据预处理性能的提升设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
[0042]所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据预处理性能的提升方法,其特征在于,包括:基于预先获取得到的源数据文件,获得与各个源数据对象对应的作业;对各个所述作业进行分组,得到多个作业组;将各个所述作业组,分配给进程队列的各个元素;所述进程队列以预先配置的进程数量作为队列长度预先构建得到,且所述进程队列中各个所述元素,按照所述元素的作业量由少到多的顺序进行排序;所述元素的作业量代表所述元素所包含的作业数量;启动与每个所述元素对应的进程,对每个所述元素所拥有的作业组进行数据预处理,得到各个所述作业的目标数据对象,以及每个所述作业组执行数据预处理的处理时间;基于各个所述目标数据对象,获得多个目标数据文件;将各个所述目标数据文件,以及每个所述作业组执行数据预处理的处理时间,保存到预设的预处理数据库中。2.根据权利要求1所述的方法,其特征在于,所述基于预先获取得到的源数据文件,获得与各个源数据对象对应的作业,包括:预先从业务系统中获取源数据文件,并对所述源数据文件进行读取,得到源数据;将所述源数据的各个纪录进行内存对象映射,得到各个源数据对象;创建与每个所述源数据对象对应的作业。3.根据权利要求1所述的方法,其特征在于,所述对各个所述作业进行分组,得到多个作业组,包括:对各个所述源数据对象进行关键字提取,得到每个所述源数据对象的关键字集合;所述关键字集合包括一个或多个关键字;按照预设分组规则,对各个所述源数据对象进行分组,得到多个对象组;所述预设分组规则为:将包含有同一分组关键字的多个源数据对象,分配到同一对象组;对于每个所述对象组,将与所述对象组中每个源数据对象对应的作业,分配到同一作业组,得到与每个所述对象组对应的作业组。4.根据权利要求1所述的方法,其特征在于,所述将各个所述作业组,分配给进程队列的各个元素,包括:对于每个所述作业组,在所述作业组为首次执行数据预处理的情况下,统计所述作业组所包含的作业数量,得到每个所述作业组的作业量;按照作业量从多到少的顺序,对各个所述作业组进行排序,得到作业组序列;为预先构建的进程队列中每个元素设置初始作业量;按照预设作业量分配规则,依次将所述作业组序列中各个作业组的作业量,分配给所述进程队列的各个元素,以使所述进程队列中各个元素的序位发生调整;所述预设作业量分配规则为:按照序位由前到后的顺序,将所述作业组序列中各个作业组的作业量,逐次分配给所述进程队列,且在每次作业量分配过程中,将分配给所述进程队列的作业量,优先分配给头部元素,以使在各个所述作业组的作业量都分配结束后,各个所述元素的作业量之间的差值最小;所述头部元素包括序位为所述进程队列首位的元素;将每个所述元素所获得作业量所属的作业组,分配给每个所述...

【专利技术属性】
技术研发人员:张鹏刘中一何友超李梦箫姚源张杨谷樱彬汪新宇
申请(专利权)人:中国民航信息网络股份有限公司
类型:发明
国别省市:

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

1