一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据分析方法、装置、设备及存储介质与流程

2022-05-17 22:36:19 来源:中国专利 TAG:


1.本技术涉及数据统计领域,尤其涉及一种数据分析方法、装置、设备及存储介质。


背景技术:

2.对交易过程中的交易数据进行分析的过程可以称为商业智能(business intelligence)分析。在传统的交易过程中,数据源的类型相对比较单一,但是随着大数据技术的普及,数据源的类型也越来越多样化,传统的bi分析工具也需逐渐适应多种不同类型数据源情况下的大数据查询与分析。目前,常用统一结构化查询语言(structured query language,sql)查询引擎,来实现相同或不同类型数据源之间的跨数据源查询及分析,具体实现过程可以是对跨数据源进行sql的代理与解析,生成抽象语法树(abstract syntax tree,ast),并将ast转换成逻辑执行计划后生成物理执行计划,根据物理执行计划执行每个子sql,最终将每个子sql的查询结果聚合,返回得到最终结果。
3.但是,在目前上述实现过程中针对某一个sql时,需对同一数据源进行多次访问,这样,严重增加了网络输入输出(input/output,io)的开销,亟需对这种缺陷进行优化。
4.申请内容
5.为解决上述技术问题,本技术期望提供一种数据分析方法、装置、设备及存储介质,解决了目前网络io开销较大的问题,降低了网络io的开销,有效提高了bi分析的分析效率。
6.本技术的技术方案是这样实现的:
7.第一方面,一种数据分析方法,所述方法包括:
8.确定目标智能分析过程中使用的至少一个待分析数据源;
9.基于所述至少一个待分析数据源,生成所述至少一个待分析数据源对应的目标有向无环图;其中,所述目标有向无环图包括k条路径,k为大于或等于1的整数;
10.从所述目标有向无环图中的目标路径的路径起点节点开始,按照所述目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对所述目标路径中的路径节点进行分组,得到所述目标路径的至少一组路径节点;其中,所述目标路径用于表示所述k条路径中的每一条路径;
11.从所述目标路径的每一组路径节点对应的目标数据源中,按照所述目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定所述目标路径的执行结果;其中,所述目标路径的每一组路径节点对应的目标数据源属于所述至少一个待分析数据源;
12.汇总所述k条路径的执行结果,得到针对目标智能分析的目标分析结果。
13.第二方面,一种数据分析装置,所述装置包括:确定单元、生成单元、处理单元和汇总单元;其中:
14.所述确定单元,用于确定目标智能分析过程中使用的至少一个待分析数据源;
15.所述生成单元,用于基于所述至少一个待分析数据源,生成所述至少一个待分析
数据源对应的目标有向无环图;其中,所述目标有向无环图包括k条路径,k为大于或等于1的整数;
16.所述处理单元,用于从所述目标有向无环图中的目标路径的路径起点节点开始,按照所述目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对所述目标路径中的路径节点进行分组,得到所述目标路径的至少一组路径节点;其中,所述目标路径用于表示所述k条路径中的每一条路径;
17.所述处理单元,还用于从所述目标路径的每一组路径节点对应的目标数据源中,按照所述目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定所述目标路径的执行结果;其中,所述目标路径的每一组路径节点对应的目标数据源属于所述至少一个待分析数据源;
18.所述汇总单元,用于汇总所述k条路径的执行结果,得到针对目标智能分析的目标分析结果。
19.第三方面,一种数据分析设备,所述设备包括存储器、处理器和通信总线;其中:
20.所述存储器,用于存储可执行指令;
21.所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
22.所述处理器,用于执行所述存储器中存储的数据分析程序,实现如上述任一项所述的数据分析方法的步骤。
23.第四方面,一种存储介质,所述存储介质上存储有数据分析程序,所述数据分析程序被处理器执行时实现如上述任一项所述的数据分析方法的步骤。
24.本技术实施例提供了一种数据分析方法、装置、设备及存储介质,通过确定目标智能分析过程中使用的至少一个待分析数据源,基于至少一个待分析数据源,生成至少一个待分析数据源对应的目标有向无环图后,从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,从目标路径的每一组路径节点对应的目标数据源中,按照目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定目标路径的执行结果,并汇总k条路径的执行结果,得到针对目标智能分析的目标分析结果。这样,进行跨数据源查询与分析时,将至少一个待分析数据源生成对应的目标有向无环图,然后对目标有向无环图中每一目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,并从每一组路径节点对应的目标数据源中获取该组路径节点的节点数据并进行分析,以得到每一目标路径的执行结果,最后对k条路径的执行结果进行汇总,得到针对目标智能分析的目标分析结果,实现了将属于同一目标数据源的相邻节点的节点数据同时从目标数据源中取出的技术方案,解决了目前网络io开销较大的问题,降低了网络io的开销,有效提高了bi分析的分析效率。
附图说明
25.图1为本技术实施例提供的一种数据分析方法的流程示意图;
26.图2为本技术实施例提供的另一种数据分析方法的流程示意图;
27.图3为本技术实施例提供的一种目标有向无环图的示意图;
28.图4为本技术实施例提供的一种数据分析装置的结构示意图;
29.图5为本技术实施例提供的一种数据分析设备的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
31.本技术的实施例提供一种数据分析方法,参照图1所示,方法应用于数据分析设备,该方法包括以下步骤:
32.步骤101、确定目标智能分析过程中使用的至少一个待分析数据源。
33.在本技术实施例中,目标智能分析例如可以是针对某一商业活动进行智能分析,以得到该商业活动中的数据产生相应价值的过程,还可以是对其他数据进行分析的一个过程。在目前商业活动过程中,由于大数据技术的普及,在对目标商业智能分析过程中出现多个数据源的情况,因此,在进行目标商业智能分析过程时,先确定目标商业智能分析包括的至少一个待分析数据源。数据分析设备可以是计算机设备,也可以是服务器设备。
34.步骤102、基于至少一个待分析数据源,生成至少一个待分析数据源对应的目标有向无环图。
35.其中,目标有向无环图包括k条路径,k为大于或等于1的整数。
36.在本技术实施例中,在数学,特别是图论和计算机科学中,有向无环图指的是一个无回路的有向图。通过对至少一个待分析数据源进行分析,可以确定每一待分析数据源中的结构和至少一个待分析数据源之间的关联关系,以此生成至少一个待分析数据源对应的目标有向无环图。其中,至少一个待分析数据源之间的关联关系可以是执行的前后逻辑关系,例如可以是时间先后顺序。目标路径为目标有向无环图中的一条从路径起点节点开始至对应的路径终点节点的完整路径。
37.步骤103、从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点。
38.其中,目标路径用于表示k条路径中的每一条路径。
39.在本技术实施例中,对目标有向无环图中目标路径中的路径节点进行分组处理,分组方式为将目标路径中属于同一个数据源且相邻的路径节点划分为一组路径节点,这样,目标路径可以由至少一组路径节点组成。目标路径的路径起点节点为目标路径的路径开始的路径节点。
40.步骤104、从目标路径的每一组路径节点对应的目标数据源中,按照目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定目标路径的执行结果。
41.其中,目标路径的每一组路径节点对应的目标数据源属于至少一个待分析数据源。
42.在本技术实施例中,需要对目标有向无环图中的每一目标路径进行单独并行处理,且为了减少对目标数据源的访问次数,可以一次性从每一组路径节点对应的目标数据源中获取该组路径节点的全部路径节点的节点数据,然后按照该组路径节点在目标路径中的路径方向对对应的每一路径节点的节点数据进行分析,直至最终得到每一目标路径的执行结果。目标有向无环图中的每一目标路径的分析可以是并行进行的。
43.步骤105、汇总k条路径的执行结果,得到针对目标智能分析的目标分析结果。
44.在本技术实施例中,k条路径的路径终点节点为同一个节点,因此,可以基于k条路径的路径终点节点,将对k条路径进行分析得到的执行结果进行汇总,从而得到针对目标智能分析的目标分析结果。路径终点节点为每一条路径的最后一个路径节点。
45.本技术实施例提供了一种数据分析方法,通过确定目标智能分析过程中使用的至少一个待分析数据源,基于至少一个待分析数据源,生成至少一个待分析数据源对应的目标有向无环图后,从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,从目标路径的每一组路径节点对应的目标数据源中,按照目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定目标路径的执行结果,并汇总k条路径的执行结果,得到针对目标智能分析的目标分析结果。这样,进行跨数据源查询与分析时,将至少一个待分析数据源生成对应的目标有向无环图,然后对目标有向无环图中每一目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,并从每一组路径节点对应的目标数据源中获取该组路径节点的节点数据并进行分析,以得到每一目标路径的执行结果,最后对k条路径的执行结果进行汇总,得到针对目标智能分析的目标分析结果,实现了将属于同一目标数据源的相邻节点的节点数据同时从目标数据源中取出的技术方案,解决了目前网络io开销较大的问题,降低了网络io的开销,有效提高了bi分析的分析效率。
46.基于前述实施例,本技术的实施例提供一种数据分析方法,参照图2所示,方法应用于数据分析设备,该方法包括以下步骤:
47.步骤201、确定目标智能分析过程中使用的至少一个待分析数据源。
48.在本技术实施例中,数据分析设备在确定需进行目标智能分析时,确定该目标智能分析涉及到的至少一个待分析数据源。
49.步骤202、基于至少一个待分析数据源,生成抽象语法树ast。
50.在本技术实施例中,抽象语法树(abstract syntax tree,ast),或简称语法树(syntax tree),是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。数据分析设备对至少一个待分析数据源进行分析,确定每一待分析数据源中的逻辑结构,并基于逻辑结构和待分析数据源之间的依赖关系,生成ast。
51.在本技术其他实施例中,步骤202可以由步骤a11~a14来实现:
52.步骤a11、确定至少一个待分析数据源中每一待分析数据源的参考维度参数和参考度量参数。
53.在本技术实施例中,对每一待分析数据源中的数据进行模型建立,具体过程包括确定每一待分析数据源中的每一维度参数即参考维度参数和每一度量参数即参考度量参数等信息。
54.步骤a12、基于每一待分析数据源的参考维度参数和参考度量参数,对每一待分析数据源中的数据进行分类封装,得到每一待分析数据源的封装数据。
55.在本技术实施例中,对每一待分析数据源的每一参考维度参数对应的数据进行分类封装存储,对每一待分析数据源的每一参考度量参数进行分类封装存储,得到每一待分
析数据源的封装数据。
56.步骤a13、获取目标处理参数。
57.其中,目标处理参数包括目标维度参数和/或目标度量参数。
58.在本技术实施例中,目标维度参数和目标度量参数可以是用户通过输入设备输入的,例如可以是通过键盘、鼠标或者麦克风等设备实现输入过程的。目标维度参数至少包括一个维度参数,和/或目标度量参数至少包括一个度量参数。即在一些应用场景中,用户可以只选择维度参数作为目标维度参数进行商业智能分析,也可以只选择度量参数作为目标度量参数进行智能分析。目标处理参数中可以包括至少一种处理参数,即包括目标维度参数和/或目标度量参数的至少一种任意组合得到的参数。
59.步骤a14、基于目标处理参数,对至少一个待分析数据源的封装数据进行处理,得到ast。
60.在本技术实施例中,对确定的至少一个待分析数据源的封装数据采用目标处理参数进行分析处理,以生成得到ast。
61.在本技术其他实施例中,步骤a14可以由步骤a141~a142来实现:
62.步骤a141、将目标处理参数,按照预设的sql语句规则生成sql查询语句。
63.步骤a142、通过开源sql解析工具,基于sql查询语句,对至少一个待分析数据源的封装数据进行解析,得到ast。
64.步骤203、基于ast,生成目标有向无环图。
65.在本技术实施例中,对ast中的每一节点进行预处理,生成得到目标有向无环图。
66.在本技术其他实施例中,步骤203可以由步骤b11~b12来实现:
67.步骤b11、验证ast每一节点中的语法结构对象。
68.在本技术实施例中,对ast中的每一节点进行预处理的过程包括:对ast每一节点中的语法结构对象进行验证,具体验证内容至少包括判断数据库对象的集合(xml schema,简称schema)、字段、函数等是否存在,和/或sql语句是否合法等。
69.步骤b12、若ast每一节点中的语法结构对象验证通过,合并ast中相同的子树,得到目标有向无环图。
70.在本技术实施例中,在ast每一节点中的语法结构对象均验证通过后,将ast中相同的子树进行合并,从而得到目标有向无环图。这样目标有向无环图可以体现出多数据源以及每一节点代表的数据之间的依赖关系。
71.步骤204、从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点。
72.其中,目标路径用于表示k条路径中的每一条路径;
73.在本技术实施例中,数据分析设备执行步骤204后,可以选择执行步骤205~206,或者步骤207~215。其中,若目标有向无环图的目标路径包括一组路径节点,选择执行步骤205~206;若目标有向无环图的目标路径包括至少两组路径节点,选择执行步骤207~215。需说明的是,在目标有向无环图中,存在部分路径中除最后一个路径终点节点外的所有路径节点均属于一个目标数据源,部分路径中除最后一个路径终点节点外的路径节点属于至少两个目标数据源,这样,数据分析设备可以针对不同路径,同时选择执行对应的步骤205
~206和步骤207~215。
74.步骤205、若目标路径包括一组路径节点,从一组路径节点对应的目标数据源中获取一组路径节点的第一节点数据。
75.其中,一组路径节点包括目标路径中除路径终点节点外的路径节点。
76.在本技术实施例中,以某一路径包括3个路径节点a、b和c为例进行说明,路径为a
→b→
c,若a和b两个路径节点属于一个目标数据源,因此可以确定a和b属于同一组路径节点,对应的可以从该目标数据源中同时获取a和b这两个路径节点对应的数据,得到第一节点数据。
77.步骤206、按照目标路径的路径方向,依次基于第一节点数据中每一路径节点对应的第一子数据执行一组路径节点中每一路径节点的目标任务,得到目标路径的执行结果。
78.在本技术实施例中,对第一节点数据中a路径节点对应的数据进行a路径节点的目标任务处理,得到a路径节点的子执行结果,然后将a路径节点的子执行结果与第一节点数据中b路径节点对应的数据进行b路径节点的目标任务处理,得到b路径节点的子执行结果,并将b路径节点的子执行结果作为路径为a
→b→
c的执行结果。
79.步骤207、若目标路径包括至少两组路径节点,按照目标路径的路径方向,确定包括目标路径的路径起点节点的第一组路径节点对应的目标数据源。
80.在本技术实施例中,以某一路径包括6个路径节点e、f、g、h、i和j为例进行说明,目标路径为e
→f→g→h→i→
j,路径起点节点e属于第一目标数据源,与路径起点节点e相邻的路径节点为f,判断路径节点f是否属于第一目标数据源,如果路径节点f不属于第一目标数据源,因此,可以确定e为一组路径节点,即对应的为第一组路径节点。
81.步骤208、从第一组路径节点对应的目标数据源中,获取第一组路径节点的第二节点数据。
82.在本技术实施例中,从第一组路径节点对应的目标数据源中,获取第一组路径节点e的第二节点数据。
83.步骤209、按照目标路径的路径方向,基于第二节点数据中每一路径节点对应的第二子数据执行第一组路径节点中对应的每一路径节点的目标任务,得到第一子执行结果。
84.在本技术实施例中,由于第一组路径节点中只有一个路径节点e,所以,此时第二节点数据为路径节点e对应的第二子数据,对应的,根据路径节点e的目标任务对第二子数据进行分析,得到第一子执行结果。
85.步骤210、在目标路径的路径方向上,确定与第一组路径节点对应的目标数据源相邻的第二组路径节点对应的目标数据源。
86.在本技术实施例中,假设路径节点f属于第二目标数据源,与路径节点f相邻的路径节点g也属于第二目标数据源,与路径节点g相邻的路径节点h也属于第二目标数据源,对应的,可以确定路径节点f、路径节点g和路径节点h属于第二组路径节点,与路径节点h相邻的路径节点i属于第一目标数据源,对应的,可以确定路径节点i属于第三组路径节点,需说明的是,由于路径节点j虽然也属于第一目标数据源,但是由于路径节点j与路径节点e不相邻,因此,路径节点不属于第一组路径节点。。
87.步骤211、从第二组路径节点对应的目标数据源中获取第二组路径节点的第三节点数据。
88.在本技术实施例中,从第二目标数据源中获取第二参考路径节点f、g和h的第三节点数据。
89.步骤212、按照目标路径的路径方向,基于第一子执行结果和第三节点数据中每一路径节点对应的第三子数据执行第二组路径节点中对应的每一路径节点的目标任务,得到第二子执行结果。
90.在本技术实施例中,根据目标路径,可以确定路径节点f与路径节点e之间存在前后逻辑关系,因此,可以基于路径节点f对应的目标任务对第一子执行结果和路径节点f对应的第三子数据进行分析,得到路径节点f的分析结果,然后基于路径节点g对应的目标任务对路径节点f的分析结果与路径节点g对应的第三至数据进行分析,得到路径节点g的分析结果,基于路径节点h对应的目标任务对路径节点g的分析结果和路径节点h对应的第三至数据进行分析,得到路径节点h对应的分析结果,并将路径节点f对应的分析结果作为第二子执行结果。
91.在本技术实施例中,数据分析设备执行步骤212后,选择执行步骤213或步骤214~215。若第二组路径节点包括目标路径中与路径终点节点相邻的路径节点,选择执行步骤213,若第二组路径节点包括的是除目标路径中与路径终点节点相邻的路径节点外的至少一个路径节点,选择执行步骤214~215。
92.步骤213、若第二组路径节点包括目标路径中与目标路径的路径终点节点相邻的路径节点,确定目标路径的执行结果为第二子执行结果。
93.步骤214、若第二组路径节点包括的是除目标路径中与目标路径的路径终点节点相邻的路径节点外的至少一个路径节点,在目标路径的路径方向上,确定与第二组路径节点对应的目标数据源相邻的第三组路径节点对应的目标数据源。
94.在本技术实施例中,假设第三组路径节点对应的目标数据源与第一组路径节点对应的目标数据源相同,路径节点i为与路径终点节点j相邻的路径节点,由于第二组路径节点不包括路径节点i,所以数据分析设备继续执行步骤214。第三组路径节点对应的目标数据源即第一目标数据源。
95.步骤215、从第三组路径节点对应的目标数据源中获取第三组路径节点的第四节点数据,如此重复,直至基于第三子执行结果和第五节点数据中每一路径节点对应的第五子数据执行对应的每一路径节点的目标任务,得到目标路径的执行结果。
96.其中,第五节点数据是从包括目标路径中与路径终点节点相邻的路径节点的第四组路径节点对应的目标数据源中针对第四组路径节点获取得到的,第三子执行结果为对第四组路径节点对应的目标数据源相邻的前一目标数据源中的数据执行对应的任务得到的。
97.在本技术实施例中,由于路径节点i是目标路径中与路径终点节点相邻的路径节点,所以此时第四参考节点为第三参考节点,第五节点数为第四节点数据,对应的得到的是第三子执行结果,并将第三子执行结果作为该路径的执行结果。对应的,从第一目标数据源中获取路径节点i的第四节点数据,并基于路径节点i对应的目标任务对第二子执行结果和路径节点i的第四节点数据进行分析,得到目标路径e
→f→g→h→i→
j的执行结果。
98.步骤216、确定目标有向无环图中k条路径共同的路径终点节点所属的第五目标数据源。
99.步骤217、从第五目标数据源中获取路径终点节点的第六节点数据。
100.步骤218、基于第六节点数据和k条路径的执行结果,得到针对目标智能分析的目标分析结果。
101.也就是说,步骤205~218实现的是:主要对有向无环图的依赖关系进行分析,按照有向无环图的方向进行计算任务分析,对于每一路径节点的数据源的计算任务,先进行缓存,直到在计算任务链即每一目标路径方向上遇到需要跨数据源的计算任务时,可一次性将之前缓存的属于同一数据源的计算任务在单节点上执行完成,并且对不同的计算任务链做并行计算处理,即多个执行引擎同时处理,处理完后再聚合,最终返回执行结果。需说明的是,针对每一计算任务链可以采用一个执行引擎来实现。
102.基于前述实施例,本技术实施例提供一种数据分析方法的应用场景,如图3所示为通过本技术实施例方法得到的目标有向无环图,在该目标有向无环图中,包括两个数据源:数据源1和数据源2,由两个不同的路径即路径31和路径32组成,其中,路径31从路径起点节点1开始,依次包括:路径节点1、路径节点2、路径节点3、路径节点5、路径节点6和路径节点8,路径32从路径起点节点4和路径节点8,沿着箭头的方向,用于表示各任务之间的依赖关系。其中,路径节点1、路径节点2、路径节点3和路径节点4属于数据源1,路径节点5、路径节点6、路径节点7和路径节点8属于数据源2。其中:
103.针对路径31,步骤1、从数据源1中获取路径节点1、路径节点2、路径节点3对应的数据,并对路径节点1、路径节点2、路径节点3对应的数据进行计算,得到对路径节点1、路径节点2、路径节点3对应的第一子执行结果;步骤2、从第二数据源2中获取路径节点6对应的数据;步骤3、对路径节点1、路径节点2、路径节点3对应的第一子执行结果和路径节点6对应的数据进行计算,得到路径31的执行结果。
104.针对路径32,步骤4、从数据源1中获取路径节点4对应的数据,并对路径节点4对应的数据进行计算,得到路径节点4对应的第一子执行结果;步骤5、从第二数据源2中获取路径节点7对应的数据;步骤6、对路径节点4对应的第一子执行结果和路径节点7对应的数据进行计算,得到路径32的执行结果。需说明的是,步骤1~3和步骤4~6是并行执行的,并没有执行的先后逻辑顺序。
105.步骤7、基于路径节点8,对路径31的执行结果和路径32的执行结果进行汇总聚合,得到目标分析结果。
106.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
107.本技术实施例提供的一种数据分析方法,通过确定目标智能分析过程中使用的至少一个待分析数据源,基于至少一个待分析数据源,生成至少一个待分析数据源对应的目标有向无环图后,从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,从目标路径的每一组路径节点对应的目标数据源中,按照目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定目标路径的执行结果,并汇总k条路径的执行结果,得到针对目标智能分析的目标分析结果。这样,进行跨数据源查询与分析时,将至少一个待分析数据源生成对应的目标有向无环图,然后对目标有向无环图中每一目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,并从每一组路径节点对应的目标数据源中获取该组路径节点的节点数据并进行
分析,以得到每一目标路径的执行结果,最后对k条路径的执行结果进行汇总,得到针对目标智能分析的目标分析结果,实现了将属于同一目标数据源的相邻节点的节点数据同时从目标数据源中取出的技术方案,解决了目前网络io开销较大的问题,降低了网络io的开销,有效提高了bi分析的分析效率。并通过sql来生成ast,并通过得到的ast得到目标有向无环图进行商业智能分析,实现以统一sal查询引擎为基础核心,同时从同一数据源中获取不同路径节点的数据进行分析,提高了sql引擎执行效率,减少了bi分析工具查询的响应时间,实现更加丰富的数据分析能力。
108.基于前述实施例,本技术的实施例提供一种数据分析装置,该装置可以应用于图1~2对应的实施例提供的数据分析方法中,参照图4所示,该数据分析装置4可以包括:确定单元41、生成单元42、处理单元43和汇总单元44,其中:
109.确定单元41,用于确定目标智能分析过程中使用的至少一个待分析数据源;
110.生成单元42,用于基于至少一个待分析数据源,生成至少一个待分析数据源对应的目标有向无环图;其中,目标有向无环图包括k条路径,k为大于或等于1的整数;
111.处理单元43,用于从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点;其中,目标路径用于表示k条路径中的每一条路径;
112.处理单元43,还用于从目标路径的每一组路径节点对应的目标数据源中,按照目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定目标路径的执行结果;其中,目标路径的每一组路径节点对应的目标数据源属于至少一个待分析数据源;
113.汇总单元44,用于汇总k条路径的执行结果,得到针对目标智能分析的目标分析结果。
114.在本技术其他实施例中,生成单元42包括:第一生成模块和第二生成模块;其中:
115.第一生成模块,用于基于至少一个待分析数据源,生成抽象语法树ast;
116.第二生成模块,用于基于ast,生成目标有向无环图。
117.在本技术其他实施例中,第一生成模块用于实现以下步骤:
118.确定至少一个待分析数据源中每一待分析数据源的参考维度参数和参考度量参数;
119.基于每一待分析数据源的参考维度参数和参考度量参数,对每一待分析数据源中的数据进行分类封装,得到每一待分析数据源的封装数据;
120.获取目标处理参数;其中,目标处理参数包括目标维度参数和/或目标度量参数;
121.基于目标处理参数,对至少一个待分析数据源的封装数据进行处理,得到ast。
122.在本技术其他实施例中,第一生成模块用于实现步骤基于目标处理参数,对至少一个待分析数据源的封装数据进行处理,得到ast时,具体通过以下步骤来实现:
123.将目标处理参数,按照预设的sql语句规则生成sql查询语句;
124.通过开源sql解析工具,基于sql查询语句,对至少一个待分析数据源的封装数据进行解析,得到ast。
125.在本技术其他实施例中,第二生成模块具体用于实现以下步骤:
126.验证ast每一节点中的语法结构对象;
127.若ast每一节点中的语法结构对象验证通过,合并ast中相同的子树,得到目标有向无环图。
128.在本技术其他实施例中,处理单元43包括:第一获取模块和第一处理模块;其中:
129.第一获取模块,用于若目标路径包括一组路径节点,从一组路径节点对应的目标数据源中获取一组路径节点的第一节点数据;其中,一组路径节点包括目标路径中除路径终点节点外的路径节点;
130.第一处理模块,用于按照目标路径的路径方向,依次基于第一节点数据中每一路径节点对应的第一子数据执行一组路径节点中每一路径节点的目标任务,得到目标路径的执行结果。
131.在本技术其他实施例中,处理单元43还包括:第一确定模块;其中:
132.第一确定模块,用于若目标路径包括至少两组路径节点,按照目标路径的路径方向,确定包括目标路径的路径起点节点的第一组路径节点对应的目标数据源;
133.第一获取模块,还用于从第一组路径节点对应的目标数据源中,获取第一组路径节点的第二节点数据;
134.第一处理模块,还用于按照目标路径的路径方向,基于第二节点数据中每一路径节点对应的第二子数据执行第一组路径节点中对应的每一路径节点的目标任务,得到第一子执行结果;
135.第一确定模块,还用于在目标路径的路径方向上,确定与第一组路径节点对应的目标数据源相邻的第二组路径节点对应的目标数据源;
136.第一获取模块,还用于从第二组路径节点对应的目标数据源中获取第二组路径节点的第三节点数据;
137.第一处理模块,还用于按照目标路径的路径方向,基于第一子执行结果和第三节点数据中每一路径节点对应的第三子数据执行第二组路径节点中对应的每一路径节点的目标任务,得到第二子执行结果;
138.第一确定模块,还用于若第二组路径节点包括目标路径中与目标路径的路径终点节点相邻的路径节点,确定目标路径的执行结果为第二子执行结果。
139.在本技术其他实施例中,处理单元43还包括:重复模块;其中:
140.第一确定模块,还用于若第二组路径节点包括的是除目标路径中与目标路径的路径终点节点相邻的路径节点外的至少一个路径节点,在目标路径的路径方向上,确定与第二组路径节点对应的目标数据源相邻的第三组路径节点对应的目标数据源;
141.重复模块,用于从第三组路径节点对应的目标数据源中获取第三组路径节点的第四节点数据,如此重复,直至基于第三子执行结果和第五节点数据中每一路径节点对应的第五子数据执行对应的每一路径节点的目标任务,得到目标路径的执行结果;其中,第五节点数据是从包括目标路径中与路径终点节点相邻的路径节点的第四组路径节点对应的目标数据源中针对第四组路径节点获取得到的,第三子执行结果为对第四组路径节点对应的目标数据源相邻的前一目标数据源中的数据执行对应的任务得到的。
142.在本技术其他实施例中,汇总单元44包括:第二确定模块、第二获取模块和第二处理模块;其中:
143.第二确定模块,用于确定目标有向无环图中k条路径共同的路径终点节点所属的
第五目标数据源;
144.第二获取模块,用于从第五目标数据源中获取路径终点节点的第六节点数据;
145.第二处理模块,用于基于第六节点数据和k条路径的执行结果,得到针对目标智能分析的目标分析结果。
146.需要说明的是,本实施例中数据分析装置所执行的步骤的具体实现过程,可以参照图1~2对应的实施例提供的数据分析方法中的实现过程,此处不再赘述。
147.本技术实施例提供了一种数据分析装置,通过确定目标智能分析过程中使用的至少一个待分析数据源,基于至少一个待分析数据源,生成至少一个待分析数据源对应的目标有向无环图后,从目标有向无环图中的目标路径的路径起点节点开始,按照目标路径的路径方向,基于属于同一数据源且路径节点相邻的关系,对目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,从目标路径的每一组路径节点对应的目标数据源中,按照目标路径的路径方向获取对应的每一组路径节点的节点数据并进行分析,确定目标路径的执行结果,并汇总k条路径的执行结果,得到针对目标智能分析的目标分析结果。这样,进行跨数据源查询与分析时,将至少一个待分析数据源生成对应的目标有向无环图,然后对目标有向无环图中每一目标路径中的路径节点进行分组,得到目标路径的至少一组路径节点,并从每一组路径节点对应的目标数据源中获取该组路径节点的节点数据并进行分析,以得到每一目标路径的执行结果,最后对k条路径的执行结果进行汇总,得到针对目标智能分析的目标分析结果,实现了将属于同一目标数据源的相邻节点的节点数据同时从目标数据源中取出的技术方案,解决了目前网络io开销较大的问题,降低了网络io的开销,有效提高了bi分析的分析效率。并通过sql来生成ast,并通过得到的ast得到目标有向无环图进行商业智能分析,实现以统一sal查询引擎为基础核心,同时从同一数据源中获取不同路径节点的数据进行分析,提高了sql引擎执行效率,减少了bi分析工具查询的响应时间,实现更加丰富的数据分析能力。
148.基于前述实施例,本技术的实施例提供一种数据分析设备,该数据分析设备可以应用于图1~2对应的实施例提供的数据分析方法中,参照图5所示,该数据分析设备5可以包括:处理器51、存储器52和通信总线53,其中:
149.通信总线53,用于实现处理器51和存储器52之间的通信连接;
150.处理器51,用于执行存储器52中存储的数据分析程序,以实现图1~2对应的实施例提供的数据分析方法中的实现过程,此处不再赘述。
151.基于前述实施例,本技术的实施例提供一种计算机可读存储介质,简称为存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现参照图1~2对应的实施例提供的数据分析方法中的实现过程,此处不再赘述。
152.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
153.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
154.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
155.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
156.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献