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

文档序号:33140184发布日期:2023-02-03 20:01阅读:31来源:国知局
一种数据处理方法、装置、设备及存储介质与流程

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


背景技术:

2.现有技术中,对数据库中的数据进行分析大部分还停留在手动分析的阶段,即在业务场景和业务需求的基础上对数据库中的数据进行分析处理。需要在了解具体业务背景的情况下,根据业务需求对数据库中数据进行分析,得到分析结果。然而,随着数据量的不断增大,对数据库中数据进行数据挖掘、数据分析的难度也随之提升。且现有的微服务架构减少了数据库开发者和数据分析者之间的交互,数据分析方难以获得构建数据库表及字段时的信息。这些都使得原始的手动分析方法变得更加艰难。


技术实现要素:

3.为解决上述技术问题,本技术实施例期望提供一种数据处理方法、装置、设备及存储介质。
4.本技术的技术方案是这样实现的:
5.第一方面,提供了一种数据处理方法,方法包括:
6.获取数据库中多个表的字段信息;
7.根据所述多个表的字段信息,确定任意两个表之间的关联信息;其中,所述关联信息包括第一关联关系和第一关联权重;
8.根据所述任意两个表之间的关联信息,构建所述多个表的关系网络;其中,所述关系网络包括:第二关联关系和第二关联权重;
9.根据所述关系网络计算各个表的pagerank值;其中,所述pagerank值用于表征各个表在所述关系网络中的关联价值;
10.基于所述各个表的pagerank值对所述数据库中的表进行数据挖掘。
11.上述方案中,根据所述多个表的字段信息,确定任意两个表之间的关联信息,包括:
12.根据所述多个表的字段信息,确定所述多个表中第一表和第二表的硬连接关系和软连接关系;将所述第一表和所述第二表之间的硬连接关系和软连接关系作为第一关联关系;根据所述第一表和所述第二表的硬连接关系和软连接关系,确定所述第一表和所述第二表之间的第一关联权重。
13.上述方案中,所述字段信息包括主外键关联数量和字段名;所述硬连接关系包括硬连接数量和硬连接权重,所述软连接关系包括软连接数量和软连接权重。
14.上述方案中,所述根据所述多个表的字段信息,确定所述多个表中第一表和第二表的硬连接关系和软连接关系,包括:
15.根据所述任意两个表的主外键关联数量,确定所述任意两个表之间的硬连接数
量;根据预设的硬连接系数和基础连接系数确定所述任意两个表之间的硬连接权重;根据所述任意两个表的相同字段名关联数量,确定所述任意两个表之间的软连接数量;根据预设的软连接系数和所述基础连接系数确定所述任意两个表之间的软连接权重;
16.所述根据所述第一表和所述第二表的硬连接关系和软连接关系,确定所述第一表和所述第二表之间的第一关联权重,包括:
17.根据所述第一表和所述第二表之间的硬连接权重及软连接权重,对所述第一表和所述第二表之间的硬连接数量和软连接数量进行加权计算,得到所述第一表和所述第二表之间的第一关联权重。
18.上述方案中,所述根据所述任意两个表之间的关联信息,构建所述多个表的关系网络,包括:
19.将所述多个表中与第i表具有第一关联关系的所有表作为所述第i表的关联表;
20.根据所述第i表及其关联表之间的第一关联关系,得到所述第i表及其关联表之间的第二关联关系;
21.根据所述第i表及其关联表之间的第一关联权重和基础权重系数,得到所述第i表及其关联表之间的第二关联权重。
22.上述方案中,所述根据所述关系网络计算各个表的pagerank值,包括:
23.在本次迭代中,根据所述第二关联关系确定第j表的至少一个关联表;
24.根据所述第j表及所述至少一个关联表之间的第二关联权重,和所述至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后所述第j表的pagerank值;
25.计算所述关系网络中各个表在本次迭代后的pagerank值与上一次迭代后的pagerank值的pagerank差值;
26.对所述关系网络中各个表的pagerank差值进行求和取平均,得到更新量;
27.若所述更新量小于或等于预设常量,停止迭代,得到所述关系网络中各个表的pagerank值;
28.若所述更新量大于所述预设常量,则执行下一次迭代。
29.上述方案中,所述根据所述第j表及所述至少一个关联表之间的第二关联权重,和所述至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后所述第j表的pagerank值,包括:
30.计算所述第j表及所述至少一个关联表之间的第二关联权重和所述至少一个关联表的上一次迭代后的pagerank值的乘积;
31.对得到的至少一个乘积进行求和,得到所述本次迭代后所述第j表的pagerank值。
32.第二方面,提供了一种数据处理装置,其特征在于,所述装置包括:
33.获取模块,用于获取数据库中多个表的字段信息;
34.处理模块,用于根据所述多个表的字段信息,确定任意两个表之间的关联信息;其中,所述关联信息包括第一关联关系和第一关联权重;
35.所述处理模块,还用于根据所述任意两个表之间的关联信息,构建所述多个表的关系网络;其中,所述关系网络包括:第二关联关系和第二关联权重;
36.所述处理模块,还用于根据所述关系网络计算各个表的pagerank值;其中,所述
pagerank值用于表征各个表在所述关系网络中的关联价值;
37.所述处理模块,还用于基于所述各个表的pagerank值对所述数据库中的表进行数据挖掘。
38.第三方面,提供了一种数据处理设备,所述设备包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述任一项所述方法的步骤。
39.第四方面,提供了一种计算机存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
40.本技术公开了一种数据处理方法,该方法包括:获取数据库中多个表的字段信息;根据所述多个表的字段信息,确定任意两个表之间的关联信息;其中,所述关联信息包括第一关联关系和第一关联权重;根据所述任意两个表之间的关联信息,构建所述多个表的关系网络;其中,所述关系网络包括:第二关联关系和第二关联权重;根据所述关系网络计算各个表的pagerank值;其中,所述pagerank值用于表征各个表在所述关系网络中的关联价值;基于所述各个表的pagerank值对所述数据库中的表进行数据挖掘。如此,通过提取数据库中表字段信息构建表关系网络,并得到各个表的pagerank值,可以得到表与表之间的关联信息及各个表在数据库中的关联价值,简化了后续的数据挖掘。整个过程不需要额外的业务逻辑或者开发逻辑支撑,打通了各行业与数据平台间的壁垒,弱化了特定领域对数据分析工作的影响,提高数据分析智能化自动化的程度。
附图说明
41.图1为本技术实施例中数据处理方法的第一流程示意图;
42.图2为本技术实施例中数据处理方法的第二流程示意图;
43.图3为本技术实施例中关系网络的结构示意图;
44.图4为本技术实施例中数据处理方法的第三流程示意图;
45.图5为本技术实施例中计算关系网络中各表的pagerank值的流程示意图;
46.图6为本技术实施例中数据处理装置的组成结构示意图;
47.图7为本技术实施例中数据处理设备的组成结构示意图。
具体实施方式
48.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
49.图1为本技术实施例中数据处理方法的第一流程示意图,如图1所示,数据处理方法具体可以包括:
50.步骤101:获取数据库中多个表的字段信息。
51.数据库中存在大量的表,每个表又包含大量的字段信息。对数据库进行数据处理时,需要对数据库中表的字段信息进行获取。示例性的,表的字段信息可以包括表的字段名、表的主键、表的外键等信息。
52.在一些实施例中,所述获取数据库中多个表的字段信息之前,所述方法还包括进行数据预处理,示例性的,所述数据预处理可以包括:获取数据库内的所有表及字段信息;
根据所有表及字段信息对具有完全相同字段名的表进行合并处理,得到所述多个表;剔除所述多个表中每个表的字段名出现频率大于频率阈值的对应的字段,得到所述多个表的字段信息。
53.示例性的,可以剔除出现频率大于频率阈值(通常取0.5)的字段,因为这部分的字段一般用于表示操作数据库的基本信息,如创建时间,修改时间等。这部分字段在构建表之间的关系是没有实际意义。通过进行数据预处理,可以对数据库中表及字段信息进行简化,减小后续计算量。
54.步骤102:根据所述多个表的字段信息,确定任意两个表之间的关联信息;其中,所述关联信息包括第一关联关系和第一关联权重。
55.数据库中存在大量的表,一些表与表之间存在着一定的关联。在数据分析中,分析人员在从某张数据表中获取信息时,必然会关联到其他的表,作为该表信息的索引或者是补充。实际应用中,可以根据任意两个表的字段信息,如是否有相同的字段名,相同的字段名的数量,或者一个表的主键是不是另一个表的外键等,来确定两个表之间的关联信息。
56.这里,第一关联关系用于表征两表之间存在一定的关联性,若两表之间不存在关联,则两表之间不存在第一关联关系。示例性的,若两个表具有相同的字段名,或者一个表的主键是另一个表的外键,则这两个表之间存在第一关联关系。
57.这里,第一关联权重用于定量表征存在第一关联关系的两表之间的关联程度。第一关联权重值越大,表明该两表之间的关联程度越强。
58.在一个数据库中,一个表越被其他表关联,说明这个表越重要。通过确定任意两个表之间的关联信息,可以为后续的分析各个表在数据库中的关联价值提供基础。
59.步骤103:根据所述任意两个表之间的关联信息,构建所述多个表的关系网络;其中,所述关系网络包括:第二关联关系和第二关联权重。
60.这里,第二关联关系用于表征关系网络中一个表和与该表存在第一关联关系的所有其他表之间存在的关联。通过该第二关联关系,便可查询到关系网络中与某个表之间存在第一关联关系的其他所有表。
61.这里,第二关联权重用于定量表征在一个关系网络中一个表和与该表存在第一关联关系的其他表的关联程度。第一关联权重值越大,表明在该关系网络中,该两表之间的关联程度越强。
62.构建后的一个关系网络包括了该数据库中各表之间的第二关联关系和第二关联权重。示例性的,一个关系网络可以对应一个数据库,用于表征该数据库中各表之间的关系。
63.通过构建关系网络,可查询到关系网络中与某个表之间存在第一关联关系的其他所有表,还可定量表征出在该关系网络中一个表和与该表存在第一关联关系的其他表的关联程度,为后续的分析各个表在数据库中的关联价值提供基础。
64.步骤104:根据所述关系网络计算各个表的pagerank值;其中,所述pagerank值用于表征各个表在所述关系网络中的关联价值。
65.这里各个表的pagerank值用于表征各个表在所述关系网络中的关联价值。示例性的,一个表的关联价值可以根据该表在关系网络中与其他表之间的第二关联关系和第二关联权重得到。一个表的pagerank值越大,表明在该数据库中,这个表越容易被其他表关联,
这个表的在该关系网络中的关联价值越大。
66.在一些实施例中,所述根据所述关系网络计算各个表的pagerank值,包括:
67.在本次迭代中,根据所述第二关联关系确定第j表的至少一个关联表;根据所述第j表及所述至少一个关联表之间的第二关联权重,和所述至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后所述第j表的pagerank值;计算所述关系网络中各个表在本次迭代后的pagerank值与上一次迭代后的pagerank值的pagerank差值;对所述关系网络中各个表的pagerank差值进行求和取平均,得到更新量;若所述更新量小于或等于预设常量,停止迭代,得到所述关系网络中各个表的pagerank值;若所述更新量大于所述预设常量,则执行下一次迭代。
68.这里的第j表为该关系网络对应的数据库中的任意一个表。示例性的,在进行第一次迭代时,将预设的原始pagerank值作为上一次迭代后的pagerank值。
69.在一些实施例中,所述根据所述第j表及所述至少一个关联表之间的第二关联权重,和所述至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后所述第j表的pagerank值,包括:
70.计算所述第j表及所述至少一个关联表之间的第二关联权重和所述至少一个关联表的上一次迭代后的pagerank值的乘积;对得到的至少一个乘积进行求和,得到所述本次迭代后所述第j表的pagerank值。
71.通过计算得到各个表的pagerank值,可以确定各个表在数据库的关系网络中的重要程度,从而定量的确定表与表之间的关联和表实体在整个数据库中的价值,达到对数据库进行预分析,简化了后续数据分析及数据挖掘。
72.步骤105:基于所述各个表的pagerank值对所述数据库中的表进行数据挖掘。
73.这里,数据挖掘可以是从大量的数据中通过算法搜索隐藏于其中信息的过程。示例性的,基于所述各个表的pagerank值进行数据挖掘,可以包括:在数据分析步骤前,进行pagerank值计算,推荐重要的表,减小数据分析的工作量;可视化业务结构,获得业务的逻辑关联图;优化数据库结构。
74.这里,步骤101至步骤105的执行主体可以为数据处理设备的处理器。
75.本技术的技术方案,通过提取数据库中表字段信息,确定任意两个表之间的关联信息,构建表关系网络并得到各个表的pagerank值,可以表征出各个表在数据库中的关联价值,简化了后续的数据挖掘。整个过程不需要额外的业务逻辑或者开发逻辑支撑,打通了各行业与数据平台间的壁垒,弱化了特定领域对数据分析工作的影响,提高数据分析智能化自动化的程度。
76.为了能更加体现本技术的目的,在本技术上实施例的基础上,进行进一步的举例说明,图2为本技术实施例中数据处理方法的第二流程示意图。如图2所示,数据处理方法具体包括:
77.步骤201:获取数据库中多个表的字段信息。
78.实际应用中,数据库中存在大量的表,每个表又包含大量的字段信息。表的字段信息包含了这个表的基本信息。通过获取数据库中多个表的字段信息,可以为后续的表关系分析、及数据挖掘提供数据基础。示例性的,字段信息可以包括表的字段名、表的主键、表的外键等信息。
79.这里的多个表可以为经过数据预处理之后,数据库中的所有表,或者是按照需求选取的数据库中的部分表。
80.在一些实施例中,所述获取数据库中多个表的字段信息之前,所述方法还包括进行数据预处理,示例性的,所述数据预处理可以包括:获取数据库内的所有表及字段信息;根据所有表及字段信息对具有完全相同字段名的表进行合并处理,得到所述多个表;剔除所述多个表中每个表的字段名出现频率大于频率阈值的对应的字段,得到所述多个表的字段信息。
81.示例性的,可以剔除出现频率大于频率阈值(通常取0.5)的字段,因为这部分的字段一般用于表示操作数据库的基本信息,如创建时间,修改时间等。这部分字段在构建表之间的关系是没有实际意义。通过进行数据预处理,可以对数据库中表及字段信息进行简化,减小后续计算量。
82.步骤202:根据所述多个表的字段信息,确定所述多个表中第一表和第二表的硬连接关系和软连接关系。
83.这里,第一表和第二表为多个表中的任意两个表。示例性的,字段信息可以包括表的字段名、表的主键、表的外键,如根据两个表是否有相同的字段名,相同的字段名的数量,或者一个表的主键是不是另一个表的外键等,来确定两个表之间的关联信息。
84.若一个表的主键是另一个表的外键,则称该两表之间存在硬连接关系,该两表之间的关联为主外键关联。硬连接关系在构建数据库时已经定义完成,包含了设计者在设计数据库时的信息。若两表之间存在硬连接关系,表征了两表之间具有一定的关联性。
85.若一个表和另一个表具有相同的字段名,则称该两表之间存在软连接关系,该两表之间的关联为相同字段名关联。通常软连接关系在构建数据库结构时没有定义,但是在业务场景中,经常会因为某些业务需求要对具有相同字段名的表进行关联查询。若两表之间存在软连接关系,表征了两表之间具有一定的关联性。
86.一个硬连接的关联性比软连接的关联性较强,但是两表之间的关联程度的强弱还与硬连接及软连接的数量有关。
87.在一些实施例中,所述字段信息包括主外键关联数量和字段名;所述硬连接关系包括硬连接数量和硬连接权重,所述软连接关系包括软连接数量和软连接权重。
88.示例性的,在一些实施例中,根据多个表的字段信息,确定所述多个表中第一表和第二表的硬连接关系和软连接关系,包括:
89.根据所述第一表和所述第二表的主外键关联数量,确定所述第一表和所述第二表之间的硬连接数量;根据预设的硬连接系数和基础连接系数确定所述第一表和所述第二表之间的硬连接权重;根据所述任意两个表的相同字段名关联数量,确定所述第一表和所述第二表之间的软连接数量;根据预设的软连接系数和所述基础连接系数确定所述第一表和所述第二表之间的软连接权重。
90.示例性的,硬连接系数取值大于软连接系数,基础连接系数可以取值为1,可针对实际需求进行调整。通过为硬连接关系和软连接关系设置不同的连接权重,并结合硬连接数量和软连接数量,可以更准确的得到两表之间的硬连接关系和软连接关系。
91.步骤203:将所述第一表和所述第二表之间的硬连接关系和软连接关系作为第一关联关系。
92.这里,第一关联关系用于表征两表之间存在一定的关联性,若两表之间不存在关联,则两表之间不存在第一关联关系。
93.将第一表和第二表之间硬连接关系和软连接关系作为第一关联关系。若第一表和第二表之间不存在硬连接关系和软连接关系,则第一表和第二表之间不存在第一关联关系。
94.步骤204:根据所述第一表和所述第二表的硬连接关系和软连接关系,确定所述第一表和所述第二表之间的第一关联权重。
95.在一些实施例中,所述根据所述第一表和所述第二表的硬连接关系和软连接关系,确定所述第一表和所述第二表之间的第一关联权重,包括:
96.根据所述第一表和所述第二表之间的硬连接权重及软连接权重,对所述第一表和所述第二表之间的硬连接数量和软连接数量进行加权计算,得到所述第一表和所述第二表之间的第一关联权重。
97.通过将两表之间的关联分为硬连接关系和软连接关系,并结合不同连接权重,得到两表之间的关联信息。使得该关联信息可以更准确的表示出两表之间的关联性的强弱。
98.步骤205:将所述多个表中与第i表具有第一关联关系的所有表作为所述第i表的关联表。
99.这里,多个表为数据库中的所有表,第i表为该数据库中的任意一个表。
100.步骤206:根据所述第i表及其关联表之间的第一关联关系,得到所述第i表及其关联表之间的第二关联关系。
101.这里,第二关联关系为第i表和其在该数据库中所有关联表之间的关系。通过第二关联关系可以确定数据库中与第i表具有第一关联关系的所有表。
102.步骤207:根据所述第i表及其关联表之间的第一关联权重和基础权重系数,得到所述第i表及其关联表之间的第二关联权重。
103.示例性的,图3展示了一种关系网络的结构示意图,该图中,一个黑点表示数据库中的一个表,任意两个黑点之间的连线表示这两个黑点表示的表之间的第一关联关系,若两个黑点之间没有连线,则表明这两个表之间没有第一关联关系。任意一个黑点与其他黑点的所有连线为该黑点表示的表及其关联表之间的第二关联关系。从图3中可以快速确定一个表在该关系网络中的所有关联表。
104.步骤208:根据所述关系网络计算各个表的pagerank值;其中,所述pagerank值用于表征各个表在所述关系网络中的关联价值。
105.这里各个表的pagerank值用于表征各个表在所述关系网络中的关联价值。示例性的,一个表的关联价值可以根据该表在关系网络中与其他表之间的第二关联关系和第二关联权重得到。一个表的pagerank值越大,表明在该数据库中,这个表越容易被其他表关联,这个表的在该关系网络中的关联价值越大。
106.在一些实施例中,所述根据所述关系网络计算各个表的pagerank值,包括:
107.在本次迭代中,根据所述第二关联关系确定第j表的至少一个关联表;根据所述第j表及所述至少一个关联表之间的第二关联权重,和所述至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后所述第j表的pagerank值;计算所述关系网络中各个表在本次迭代后的pagerank值与上一次迭代后的pagerank值的pagerank差值;对所
述关系网络中各个表的pagerank差值进行求和取平均,得到更新量;若所述更新量小于或等于预设常量,停止迭代,得到所述关系网络中各个表的pagerank值;若所述更新量大于所述预设常量,则执行下一次迭代。
108.这里的第j表为该关系网络对应的数据库中的任意一个表。示例性的,在进行第一次迭代时,将预设的原始pagerank值作为上一次迭代后的pagerank值。
109.在一些实施例中,所述根据所述第j表及所述至少一个关联表之间的第二关联权重,和所述至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后所述第j表的pagerank值,包括:
110.计算所述第j表及所述至少一个关联表之间的第二关联权重和所述至少一个关联表的上一次迭代后的pagerank值的乘积;对得到的至少一个乘积进行求和,得到所述本次迭代后所述第j表的pagerank值。
111.通过计算得到各个表的pagerank值,可以确定各个表在数据库的关系网络中的重要程度,从而定量的确定表与表之间的关联和表实体在整个数据库中的价值,达到对数据库进行预分析,简化了后续数据分析及数据挖掘。
112.步骤209:基于所述各个表的pagerank值对所述数据库中的表进行数据挖掘。
113.这里,数据挖掘可以是从大量的数据中通过算法搜索隐藏于其中信息的过程。示例性的,基于所述各个表的pagerank值进行数据挖掘,可以包括:在数据分析步骤前,进行pagerank值计算,推荐重要的表,减小数据分析的工作量;可视化业务结构,获得业务的逻辑关联图;优化数据库结构。
114.这里,步骤201至步骤209的执行主体可以为数据处理设备的处理器。
115.本技术的技术方案,通过分析任意两表之间硬连接关系和软连接关系,并根据硬连接关系和软连接关系确定任意两个表之间的关联信息,使得该关联信息可以准确的表示出两表之间的关联程度。通过构建表关系网络,并得到各个表的pagerank值,定量地给出了各个表在数据库中的关联价值,简化了后续的数据挖掘。整个过程不需要额外的业务逻辑或者开发逻辑支撑,打通了各行业与数据平台间的壁垒,弱化了特定领域对数据分析工作的影响,提高数据分析智能化自动化的程度。
116.为了能更加体现本技术的目的,在本技术上述实施例的基础上,进行进一步的举例说明,图4为本技术实施例中数据处理方法的第三流程示意图,如图4所示,数据处理方法具体包括:
117.步骤401:数据预处理。
118.具体的,连接数据库,得到数据库内的表及字段信息;根据表字段的内容,将具有完全相同字段名的表进行合并处理;统计各个字段在数据库表中出现的频率,剔除出现频率大于预设阈值的字段。
119.步骤402:提取预处理后的表及字段信息。
120.步骤403:计算表与表之间的第一关联权重。
121.具体是,采用硬连接关系和软连接关系计算表与表之间的第一关联权重。
122.具体的,主外键关联通常称为硬连接,如果表a的主键对应表b的外键,即ta(primary_key)=tb(foreign_key),则为表a和表b增加权重为wh=α
·
w的连接关系;其中,其中wh为硬连接权重,α为硬连接系数,w为基础连接系数。
123.相同字段名关联通常称为软连接,如果表a和表b有某个公共的字段名,即ta(field)=tb(field),则为表a和表b增加权重为ws=β
·
w的连接关系,其中ws为软连接权重,β为软连接系数,w为基础连接系数。
124.将任意两个表之间的硬连接关系和软连接关系分别以不同权重进行加权,
125.根据公式w
ab
=iwh+jws126.得到表a和表b之间的w
ab
。其中,若w
ab
不为0,则用w
ab
表示表a和表b之间的第一关联权重,若根据公式计算出的w
ab
为0,则表示表a和表b之间不存在第一关联关系和第一关联权重。
127.式中,i和j分别为表a和表b之间硬连接数量和软连接数量,wh和ws分别为表a和表b之间硬连接权重和软连接权重。通常两表之间最多只有一个主外键关联,但可以有多个相同字段名关联,即硬连接数量取值范围为0或1,软连接数量取值范围为0到n,其中,n取大于等于1的整数。
128.步骤404:构建关系网络。
129.具体的,根据步骤402得到数据库中的两个表之间的第一关联权重,用第一关联集合e={e
ab
,e
ac
,

}来表示关系网络中所有的第一关联关系。其中,集合e中元素的个数为关系网络中所有的第一关联关系的个数。
130.根据公式w'
ab
=(iwh+jws)
·
e,得到表a和表b之间的第二关联权重w'
ab
,其中,i和j分别为表a和表b之间硬连接数量和软连接数量,wh和ws分别为表a和表b之间硬连接权重和软连接权重。e表示基础连接权重,为针对数据库预设的常量,一般取1,可以根据需求进行调整,同一数据库中,e是相同的。进而计算出关系网络所有第一关联关系对应的第二关联权重,得到第二关联权重集合w={w'
ab
,w'
ac
,

},集合w中元素的个数为关系网络中所有的第一关联关系的个数。
131.根据第一关联关系集合e和第二关联权重集合w得到表关系网络g=(v,e,w)。其中,v代表的集合,e代表第一关联关系集合,w第二关联权重集合。
132.通过由表的集合,第一关联关系集合,第二关联权重集合组成关系网络,可以直观定量地展示出数据库中表与表之间的关联及关联程度,为后续得到各个表在数据库中的关联价值提供基础。
133.步骤405:计算关系网络中各个表的pagerank值。
134.具体的,图5展示了一种计算关系网络中各个表的pagerank值的流程示意图。如图5所示,
135.步骤501:初始化每个表的pagerank值。
136.具体的,初始化每个表的pagerank值为pangrank(di)1,其中i为数据库关系网络中表的编号,表数量为n。
137.步骤502:根据第二关联权重和第一关联关系更新表的pagerank值。
138.具体的,根据关系网络中当前表的pagerank值和当前表的所有关联表之间的第二关联权重,通过公式
[0139][0140]
遍历关系网络中表,计算更新迭代后的pagerank值。其中pangrank(di)
k+1
是表di更
新后第k+1次的pagerank值,m(di)是与表di的关联表的集合,w'
ij
是与表di与表dj的之间的第二关联权重。这里,表di的关联表为与关系网络中与表di存在第一关联关系的表。
[0141]
步骤503:计算更新量δ。
[0142]
具体的,计算关系网络中所有表更新迭代后与前一次的pagerank值的差值,由公式
[0143][0144]
求和取平均后得到更新量δ。式中,d表示关系网络中所有表的集合,n表示关系网络中所有表的个数。
[0145]
步骤504:更新量δ小于或等于预设常量,若是,则执行步骤505;若否,则返回执行502;
[0146]
步骤505:停止迭代,返回表的pagerank值。
[0147]
通过迭代,计算得到一个表在关系网络中与其关联表之间关联程度的和,即该表的关联价值,可以定量的表示出该表在数据库中的重要程度。一个表的pagerank值越大,表明在该数据库中的关联价值越大,在对数据库进行数据分析时,这个表就越重要。为后续对该数据库进行数据分析、数据挖掘提供基础。
[0148]
步骤406:基于各个表的pagerank值,定量分析数据库表。
[0149]
具体的,基于所述各个表的pagerank值,可以定量的得到数据库中各个表的关联价值,各个表在数据库中的重要程度。根据各个表的重要程度对数据库进行数据分析,比如对表的重要度排序、分析数据库中被关联最多的表等。且整个过程无需额外业务逻辑及需求信息支撑,可以自动地对数据库中各个表的重要程度进行分析。使得用户在后续的数据挖掘时,可以优先分析重要度较高的表,有效简化数据挖掘的步骤。
[0150]
这里,上述步骤的执行主体可以为数据处理设备的处理器。
[0151]
本技术的技术方案,通过任意两表之间的关联分为硬连接关系和软连接关系,并根据硬连接关系和软连接关系确定任意两个表之间的关联权重,使得该关联权重可以准确定量的表示出两表之间的关联程度。通过构建表关系网络,可以定量的得到数据库中各个表的关联价值,各个表在数据库中的重要程度。且整个过程无需额外业务逻辑及需求信息支撑,可以自动地对数据库中各个表的重要程度进行分析并得到结果。打通了各行业与数据平台间的壁垒,弱化了特定领域对数据分析工作的影响,提高数据分析智能化自动化的程度。
[0152]
为实现本技术实施例的方法,本技术实施例还提供了一种数据处理装置60,如图6所示,该装置包括:
[0153]
获取模块601,用于获取数据库中多个表的字段信息;
[0154]
处理模块602,用于根据所述多个表的字段信息,确定任意两个表之间的关联信息;其中,所述关联信息包括第一关联关系和第一关联权重;
[0155]
所述处理模块602,还用于根据所述任意两个表之间的关联信息,构建所述多个表的关系网络;其中,所述关系网络包括:第二关联关系和第二关联权重;
[0156]
所述处理模块602,还用于根据所述关系网络计算各个表的pagerank值;其中,所
述pagerank值用于表征各个表在所述关系网络中的关联价值;
[0157]
所述处理模块602,还用于基于所述各个表的pagerank值对所述数据库中的表进行数据挖掘。
[0158]
采用上述技术方案,通过提取数据库中表字段信息,确定任意两个表之间的关联信息,构建表关系网络并得到各个表的pagerank值,可以表征出各个表在数据库中的关联价值,简化了后续的数据挖掘。整个过程不需要额外的业务逻辑或者开发逻辑支撑,打通了各行业与数据平台间的壁垒,弱化了特定领域对数据分析工作的影响,提高数据分析智能化自动化的程度。
[0159]
在一些实施例中,所述处理模块602,用于根据所述多个表的字段信息,确定所述多个表中第一表和第二表的硬连接关系和软连接关系;将所述第一表和所述第二表之间的硬连接关系和软连接关系作为第一关联关系;根据所述第一表和所述第二表的硬连接关系和软连接关系,确定所述第一表和所述第二表之间的第一关联权重。
[0160]
在一些实施例中,所述字段信息包括主外键关联数量和字段名;所述硬连接关系包括硬连接数量和硬连接权重,所述软连接关系包括软连接数量和软连接权重。
[0161]
在一些实施例中,处理模块602,用于根据所述任意两个表的主外键关联数量,确定所述任意两个表之间的硬连接数量;根据预设的硬连接系数和基础连接系数确定所述任意两个表之间的硬连接权重;根据所述任意两个表的相同字段名关联数量,确定所述任意两个表之间的软连接数量;根据预设的软连接系数和所述基础连接系数确定所述任意两个表之间的软连接权重;
[0162]
用于根据所述第一表和所述第二表之间的硬连接权重及软连接权重,对所述第一表和所述第二表之间的硬连接数量和软连接数量进行加权计算,得到所述第一表和所述第二表之间的第一关联权重。
[0163]
在一些实施例中,处理模块602,用于将所述多个表中与第i表具有第一关联关系的所有表作为所述第i表的关联表;根据所述第i表及其关联表之间的第一关联关系,得到所述第i表及其关联表之间的第二关联关系;根据所述第i表及其关联表之间的第一关联权重和基础权重系数,得到所述第i表及其关联表之间的第二关联权重。
[0164]
在一些实施例中,处理模块602,用于在本次迭代中,根据第二关联关系确定第j表的至少一个关联表;根据第j表及至少一个关联表之间的第二关联权重,和至少一个关联表的上一次迭代后的pagerank值进行迭代处理,得到本次迭代后第j表的pagerank值;计算关系网络中各个表在本次迭代后的pagerank值与上一次迭代后的pagerank值的pagerank差值;对关系网络中各个表的pagerank差值进行求和取平均,得到更新量;若更新量小于或等于预设常量,停止迭代,得到关系网络中各个表的pagerank值;若更新量大于预设常量,则执行下一次迭代。
[0165]
在一些实施例中,处理模块602,用于计算所述第j表及所述至少一个关联表之间的第二关联权重和所述至少一个关联表的上一次迭代后的pagerank值的乘积;对得到的至少一个乘积进行求和,得到所述本次迭代后所述第j表的pagerank值。
[0166]
基于上述数据处理中各单元的硬件实现,本技术实施例还提供了另一种数据处理设备70,如图7所示,该数据处理设备包括:处理器701和配置为存储能够在处理器上运行的计算机程序的存储器702;其中,处理器701配置为运行计算机程序时,执行前述实施例中的
方法步骤。
[0167]
当然,实际应用时,如图7所示,该数据处理设备中的各个组件通过总线系统703耦合在一起。可理解,总线系统703用于实现这些组件之间的连接通信。总线系统703除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统703。
[0168]
在实际应用中,上述处理器可以为特定用途集成电路(asic,application specific integrated circuit)、数字信号处理装置(dspd,digital signal processing device)、可编程逻辑装置(pld,programmable logic device)、现场可编程门阵列(field-programmable gate array,fpga)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
[0169]
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(ram,random-access memory);或者非易失性存储器(non-volatile memory),例如只读存储器(rom,read-only memory),快闪存储器(flash memory),硬盘(hdd,hard disk drive)或固态硬盘(ssd,solid-state drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
[0170]
在示例性实施例中,本技术实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,计算机程序可由数据处理设备的处理器执行,以完成前述方法的步骤。
[0171]
应当理解,在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本技术中表述“具有”、“可以具有”、“包括”和“包含”、或者“可以包括”和“可以包含”在本文中可以用于指示存在对应的特征(例如,诸如数值、功能、操作或组件等元素),但不排除附加特征的存在。
[0172]
应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,不必用于描述特定的顺序或先后次序。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
[0173]
本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0174]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0175]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0176]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0177]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1