实时流数据处理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:28623081 阅读:12 留言:0更新日期:2021-05-28 16:18
本申请涉及一种实时流数据处理方法、装置、计算机设备和存储介质。该方法包括:获取多条原始实时流数据;将多条原始实时流数据进行标准化处理,处理得到多条标准实时流数据;执行预部署的规则计算任务对多条标准实时流数据进行规则计算,规则计算任务包括多个子任务。采用本方法能够避免数据倾斜造成的计算资源浪费。

【技术实现步骤摘要】
实时流数据处理方法、装置、计算机设备和存储介质
本申请涉及数据处理
,特别是涉及一种实时流数据处理方法、装置、计算机设备和存储介质。
技术介绍
随着互联网技术的发展,当今社会已经进入了大数据时代。大数据时代虽然为人们带来了丰富多彩的生活方式,但是数据产生得太快太多,为了对海量的实时数据流进行处理,实时流计算技术应运而生。然而,目前的实时流数据处理方法一般是使用多个子任务并发处理数据来提升处理效率,在处理过程中往往会产生数据倾斜,比如某个子任务计算某些数据耗时过长,来不及处理后续数据,产生数据积压,而其它子任务空闲,造成计算资源浪费。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够避免数据倾斜造成的计算资源浪费的实时流数据处理方法、装置、计算机设备和存储介质。本专利技术第一方面提供一种实时流数据处理方法,所述方法包括:获取多条原始实时流数据;将多条原始实时流数据进行标准化处理,处理得到多条标准实时流数据;执行预部署的规则计算任务对多条标准实时流数据进行规则计算,规则计算任务包括多个子任务;执行预部署的规则计算任务对多条标准实时流数据进行规则计算,包括:定时获取所有子任务的实时统计的数据处理数据;根据每次获取到的所有子任务的数据处理数据确定出最新的数据分组策略;根据最新的数据分组策略确定出每条标准实时流数据对应的子任务,将每条标准实时流数据分配给其对应的子任务;执行每个子任务对其分配到的标准实时流数据进行规则计算。在其中一个实施例中,数据处理数据包括输入数据量和输出数据量,根据每次获取到的所有子任务的数据处理数据确定出最新的数据分组策略,包括:通过动态调整算法根据每次获取到的所有子任务分别对应的输入数据量和输出数据量确定出最新的数据分组比例,以最新的数据分组比例作为最新的数据分组策略。根据最新的数据分组策略确定出每条标准实时流数据对应的子任务,将每条标准实时流数据分配给其对应的子任务,包括:按照最新的数据分组比例将多条标准实时流数据分为若干个实时流数据分组,实时流数据分组的数量与规则计算任务包括的子任务的数量相同,一个子任务用于处理一个实时流数据分组中的所有数据;为每条标准实时流数据添加与其所在实时流数据分组对应的分组标记;根据每条标准实时流数据的分组标记将其分配给与其分组标记对应的子任务。在其中一个实施例中,数据处理数据还包括积压数据量,通过动态调整算法根据每次获取到的所有子任务的输入数据量和输出数据量计算得到最新的数据分组比例,包括:根据每次获取到的所有子任务分别对应的输入数据量、输出数据量以及积压数据量计算出所有子任务分别对应的最新的数据处理完成比值;根据所有子任务分别对应的数据处理完成比值和输出数据量计算得到所有子任务之间最新的数据处理容量的预估比例,将数据处理容量的预估比例作为数据分组比例。在其中一个实施例中,每条标准实时流数据中包含有规则匹配信息,执行每个子任务对其分配到的标准实时流数据进行规则计算,包括:执行每个子任务以根据其分配到的任一条标准实时流数据中包含的规则匹配信息获取该标准实时流数据对应的业务规则,并根据业务规则确定业务规则的最优计算路径,按照最优计算路径对该标准实时流数据进行规则计算。在其中一个实施例中,根据业务规则确定业务规则的最优计算路径,包括:将业务规则解析为一个规则树,规则树以业务规则中的每个原子规则作为叶子节点,且以连接每个原子规则的逻辑运算符作为分支节点;根据每个原子规则包含的字段数量和逻辑运算符复杂度,计算得到每个原子规则的计算复杂度;根据每个原子规则的计算复杂度对每个原子规则进行分层,并根据每个原子规则的计算复杂度和每个分支节点的逻辑运算符复杂度逐层计算每个分支节点的计算复杂度;按照规则树从上到下的分层,逐层根据每个分支节点的计算复杂度从小到大地排序标记出每个原子规则的序号,根据每个原子规则的序号计算得到每个原子规则对应的计算路径参数值,计算路径参数值为每个原子规则到规则树的根节点之间最短路径上所经过的节点的序号之和;将按照每个原子规则对应的计算路径参数值从小到大对业务规则中的所有原子规则依次进行计算的计算路径确定为业务规则的最优计算路径。在其中一个实施例中,多条原始实时流数据为多个业务系统的监控点的原始实时流数据,每个业务系统中设有至少一个监控点,规则匹配信息包括监控点信息;执行每个子任务以根据其分配到的任一条标准实时流数据中包含的规则匹配信息获取该标准实时流数据对应的业务规则,包括:执行每个子任务以根据其分配到的任一条标准实时流数据中包含的监控点信息获取该标准实时流数据对应的业务规则;优选地,规则匹配信息中包含的所有信息的字段名均为数字编码。在其中一个实施例中,在执行每个子任务对其分配到的标准实时流数据进行规则计算之后,所述方法还包括:获取每个子任务对其分配到的标准实时流数据进行规则计算得到的数据处理结果;将数据处理结果进行存储,或/和,将数据处理结果发送到下游应用,下游应用为监控应用、警报应用或实时数据显示应用。本专利技术第二方面提供一种实时流数据处理装置,所述装置包括:数据获取模块,用于获取多条原始实时流数据;标准化处理模块,用于将多条原始实时流数据进行标准化处理,处理得到多条标准实时流数据;规则计算模块,用于执行预部署的规则计算任务对多条标准实时流数据进行规则计算,规则计算任务包括多个子任务;规则计算模块包括:数据处理数据获取单元,用于定时获取所有子任务的实时统计的数据处理数据;数据分组策略确定单元,用于根据每次获取到的所有子任务的数据处理数据确定出最新的数据分组策略;标准实时流数据分配单元,用于根据最新的数据分组策略确定出每条标准实时流数据对应的子任务,将每条标准实时流数据分配给其对应的子任务;规则计算执行单元,用于执行每个子任务对其分配到的标准实时流数据进行规则计算。本专利技术第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一方法的实施例的步骤。本专利技术第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的实施例的步骤。在上述实施例中,服务器通过执行预部署的规则计算任务对多条标准实时流数据进行规则计算,该规则计算任务包括多个子任务,在具体执行规则计算任务时,服务器根据每次获取到的所有子任务的数据处理数据确定出最新的数据分组策略,然后根据该最新的数据分组策略将上述多条标准实时流数据分配给其对应的子任务,并执行每个子任务对其分配到的实时流数据进行规则计算。其中,服务器执行统一的规则计算任务对多条标准实时流数据进行规则计算,根据每次获取到的所有子任务的数据处理数据确定出最新的数据分组策略,这个本文档来自技高网...

【技术保护点】
1.一种实时流数据处理方法,所述方法包括:/n获取多条原始实时流数据;/n将所述多条原始实时流数据进行标准化处理,处理得到多条标准实时流数据;/n执行预部署的规则计算任务对所述多条标准实时流数据进行规则计算,所述规则计算任务包括多个子任务;/n所述执行预部署的规则计算任务对所述多条标准实时流数据进行规则计算,包括:/n定时获取所有所述子任务的实时统计的数据处理数据;/n根据每次获取到的所有所述子任务的数据处理数据确定出最新的数据分组策略;/n根据所述最新的数据分组策略确定出每条所述标准实时流数据对应的子任务,将每条所述标准实时流数据分配给其对应的子任务;/n执行每个所述子任务对其分配到的标准实时流数据进行规则计算。/n

【技术特征摘要】
1.一种实时流数据处理方法,所述方法包括:
获取多条原始实时流数据;
将所述多条原始实时流数据进行标准化处理,处理得到多条标准实时流数据;
执行预部署的规则计算任务对所述多条标准实时流数据进行规则计算,所述规则计算任务包括多个子任务;
所述执行预部署的规则计算任务对所述多条标准实时流数据进行规则计算,包括:
定时获取所有所述子任务的实时统计的数据处理数据;
根据每次获取到的所有所述子任务的数据处理数据确定出最新的数据分组策略;
根据所述最新的数据分组策略确定出每条所述标准实时流数据对应的子任务,将每条所述标准实时流数据分配给其对应的子任务;
执行每个所述子任务对其分配到的标准实时流数据进行规则计算。


2.根据权利要求1所述的方法,其特征在于,所述数据处理数据包括输入数据量和输出数据量,所述根据每次获取到的所有所述子任务的数据处理数据确定出最新的数据分组策略,包括:
通过动态调整算法根据每次获取到的所有所述子任务分别对应的输入数据量和输出数据量确定出最新的数据分组比例,以所述最新的数据分组比例作为所述最新的数据分组策略;
所述根据所述最新的数据分组策略确定出每条所述标准实时流数据对应的子任务,将每条所述标准实时流数据分配给其对应的子任务,包括:
按照所述最新的数据分组比例将所述多条标准实时流数据分为若干个实时流数据分组,所述实时流数据分组的数量与所述规则计算任务包括的子任务的数量相同,一个所述子任务用于处理一个所述实时流数据分组中的所有数据;
为每条所述标准实时流数据添加与其所在实时流数据分组对应的分组标记;
根据每条所述标准实时流数据的分组标记将其分配给与其分组标记对应的子任务。


3.根据权利要求2所述的方法,所述数据处理数据还包括积压数据量,其特征在于,所述通过动态调整算法根据每次获取到的所有所述子任务的输入数据量和输出数据量计算得到最新的数据分组比例,包括:
根据每次获取到的所有所述子任务分别对应的输入数据量、输出数据量以及积压数据量计算出所有所述子任务分别对应的最新的数据处理完成比值;
根据所有所述子任务分别对应的所述数据处理完成比值和所述输出数据量计算得到所有所述子任务之间最新的数据处理容量的预估比例,将所述数据处理容量的预估比例作为所述数据分组比例。


4.根据权利要求1至3中任意一项所述的方法,其特征在于,每条所述标准实时流数据中包含有规则匹配信息,所述执行每个所述子任务对其分配到的标准实时流数据进行规则计算,包括:
执行每个所述子任务以根据其分配到的任一条标准实时流数据中包含的规则匹配信息获取该标准实时流数据对应的业务规则,并根据所述业务规则确定所述业务规则的最优计算路径,按照所述最优计算路径对该标准实时流数据进行规则计算。


5.根据权利要求4所述的方法,其特征在于,所述根据所述业务规则确定所述业务规则的最优计算路径,包括:
将所述业务规则解析为一个规则树,所述规则树以所述业务规则中的每个原子规则作为叶子节点,且以连接每个所述原子规则的逻辑运算符作为分支节点;
根...

【专利技术属性】
技术研发人员:李男一王刚徐亮葛振宇金林海
申请(专利权)人:南京苏宁软件技术有限公司
类型:发明
国别省市:江苏;32

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

1