本发明涉及数据运算处理,尤其是涉及一种异构数据的数据聚合运算方法和系统。
背景技术:
1、在数据处理领域,不可避免需要对多种类型的数据源进行运算处理。目前常见的数据源类型有文本文件、xml文件、json文件、excel、关系型数据库、非关系型数据库、restful、web service、时序数据库等,随着新技术的快速发展,新的数据源也在快速的涌现。
2、通常情况我们对数据进行运算的方法一般包含对数据的求和、平均值、计数、求中位数、求方差、求标准差、求最大值、求最小值、正态分布、特殊场景定制等。
3、在数据处理过程中,不同的数据源已原生提供了部分运算方法,比如关系型数据库可直接用sql语句进行group by分组运算,然而此种分组运算仅支持求和、求平均值、求最大值、求最小值、计数等运算,非关系型数据库也有提供零星的类似的运算方法,这些运算也可能会因为一些默认输入参数不一致等原因导致运算结果或格式不一致。
4、因此,对于异构数据如何实现统一进行运算,输出统一标准的数据结果,是目前迫待解决的技术问题。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在不同的数据源对应的运算方法不同,导致运算难度增加的缺陷而提供一种异构数据的数据聚合运算方法和系统。
2、本发明的目的可以通过以下技术方案来实现:
3、一种异构数据的数据聚合运算方法,包括以下步骤:
4、获取数据源;
5、根据所述数据源的数据类型,从预先注册的数据抽取适配器中选取对应的数据抽取适配器对所述数据源进行数据抽取,得到标准数据集;
6、对所述标准数据集采用预先构建的聚合器进行分类聚合,得到多组标准分组数据集;
7、将各组标准分组数据集输入预先构建的数据运算器中,通过数据运算器分别对各组标准分组数据集执行对应的运算方法,最后输出目标结果;
8、所述数据源的数据类型包括文本文件、xml文件、json文件、excel文件、关系型数据、非关系型数据、restful格式和webservice格式。
9、进一步地,所述数据抽取适配器的数量为多个,所述数据抽取适配器进行数据抽取的过程具体为:
10、s101:根据所述数据源的数据类型,判断预先注册的数据抽取适配器中是否存在支持该数据类型的数据抽取适配器,若不存在,则执行步骤s102;若存在,则执行步骤s103;
11、s102:根据所述数据源的数据类型注册对应的数据抽取适配器,若注册失败,则运算结束,若注册成功,则执行步骤s103;
12、s103:采用支持所述数据类型的数据抽取适配器对所述数据源进行数据抽取,得到标准数据集。
13、进一步地,所述聚合器进行分类聚合的过程具体为:
14、s201:接收所述标准数据集,并执行步骤s202;
15、s202:所述聚合器按照预设的聚合参数对所述标准数据集进行分类聚合,并执行步骤s203;
16、s203:聚合器输出多组标准分组数据集。
17、进一步地,所述运算方法的数量为多个,所述数据运算器的运算过程具体为:
18、s301:根据运算需求,判断所述数据运算器中是否存在运算需求所需的运算方法,若存在,则执行步骤s303;若不存在,则执行步骤s302;
19、s302:对所需的运算方法进行注册,若注册成功,则执行步骤s303;若注册不成功,则运算结束;
20、s303:采用对应的运算方法对所述标准分组数据集进行数据运算,最后输出目标结果。
21、进一步地,所述运算方法包括求和、求平均值、求最大值、求最小值、计数、求中位数、求标准差和求方差。
22、进一步地,所述数据运算器的数量为多个,每个数据运算器分别对应一个或多个所述运算方法。
23、本发明还提供一种异构数据的数据聚合运算系统,包括:
24、数据源模块,包括数据源,用于提供数据,所述数据源的数据类型包括文本文件、xml文件、json文件、excel文件、关系型数据、非关系型数据、restful格式和webservice格式;
25、数据抽取模块,包括数据抽取适配器,用于根据所述数据源的数据类型,对所述数据源进行数据抽取,得到标准数据集;
26、聚合模块,包括聚合器,用于对所述标准数据集进行分类聚合,得到多组标准分组数据集;
27、运算模块,包括数据运算器,用于对各组标准分组数据集执行对应的运算方法,最后输出目标结果。
28、进一步地,所述数据抽取模块中数据抽取适配器的数量为多个,所述数据抽取适配器进行数据抽取的过程具体为:
29、s101:根据所述数据源的数据类型,判断预先注册的数据抽取适配器中是否存在支持该数据类型的数据抽取适配器,若不存在,则执行步骤s102;若存在,则执行步骤s103;
30、s102:根据所述数据源的数据类型注册对应的数据抽取适配器,若注册失败,则运算结束,若注册成功,则执行步骤s103;
31、s103:采用支持所述数据类型的数据抽取适配器对所述数据源进行数据抽取,得到标准数据集。
32、进一步地,所述聚合器进行分类聚合的过程具体为:
33、s201:接收所述标准数据集,并执行步骤s202;
34、s202:所述聚合器按照预设的聚合参数对所述标准数据集进行分类聚合,并执行步骤s203;
35、s203:聚合器输出多组标准分组数据集。
36、进一步地,所述运算模块中数据运算器的数量为多个,每个数据运算器分别对应一个或多个所述运算方法,所述运算方法包括求和、求平均值、求最大值、求最小值、计数、求中位数、求标准差和求方差;
37、所述数据运算器的运算过程具体为:
38、s301:根据运算需求,判断所述数据运算器中是否存在运算需求所需的运算方法,若存在,则执行步骤s303;若不存在,则执行步骤s302;
39、s302:对所需的运算方法进行注册,若注册成功,则执行步骤s303;若注册不成功,则运算结束;
40、s303:采用对应的运算方法对所述标准分组数据集进行数据运算,最后输出目标结果。
41、与现有技术相比,本发明具有以下优点:
42、(1)本发明针对不同数据源存在的不同数据类型,提出与数据类型相对应的数据抽取适配器,实现对不同数据类型的标准化处理;通过聚合器对标准数据进行分类聚合,对分类后的每组数据,通过匹配选择对应的运算方法进行数据运算;从整体上,本发明对不同数据类型的数据源均能实现数据运算,输出统一标准的数据结果。
43、(2)本发明规范了数据抽取逻辑,并支持动态注册新的数据源;规范了数据运算逻辑,并支持在线注册新的运算器,适用范围广,通用性强。
1.一种异构数据的数据聚合运算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种异构数据的数据聚合运算方法,其特征在于,所述数据抽取适配器的数量为多个,所述数据抽取适配器进行数据抽取的过程具体为:
3.根据权利要求1所述的一种异构数据的数据聚合运算方法,其特征在于,所述聚合器进行分类聚合的过程具体为:
4.根据权利要求1所述的一种异构数据的数据聚合运算方法,其特征在于,所述运算方法的数量为多个,所述数据运算器的运算过程具体为:
5.根据权利要求4所述的一种异构数据的数据聚合运算方法,其特征在于,所述运算方法包括求和、求平均值、求最大值、求最小值、计数、求中位数、求标准差和求方差。
6.根据权利要求5所述的一种异构数据的数据聚合运算方法,其特征在于,所述数据运算器的数量为多个,每个数据运算器分别对应一个或多个所述运算方法。
7.一种异构数据的数据聚合运算系统,其特征在于,包括:
8.根据权利要求7所述的一种异构数据的数据聚合运算系统,其特征在于,所述数据抽取模块中数据抽取适配器的数量为多个,所述数据抽取适配器进行数据抽取的过程具体为:
9.根据权利要求7所述的一种异构数据的数据聚合运算系统,其特征在于,所述聚合器进行分类聚合的过程具体为:
10.根据权利要求7所述的一种异构数据的数据聚合运算系统,其特征在于,所述运算模块中数据运算器的数量为多个,每个数据运算器分别对应一个或多个所述运算方法,所述运算方法包括求和、求平均值、求最大值、求最小值、计数、求中位数、求标准差和求方差;