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

数据库的数据冗余处理方法、装置、电子设备及存储介质与流程

2021-10-29 20:03:00 来源:中国专利 TAG:数据 冗余 电子设备 装置 数据库


1.本发明属于大数据技术领域,尤其涉及一种数据库的数据冗余处理方法、装置、电子设备及计算机存储介质。


背景技术:

2.随着市场变幻莫测,利用大数据分析应对市场变化,提高市场经营能力和效率,为公司各部门做分析和决策提供有效的依据,尽管用于做大数据分析的计算机和集群越来越多,性能越来越好,但是面对大量需求部门的各种分析需求及快速变化的大量市场分析需求仍然力不从心。因此,需要对数据库进行数据冗余检测和数据冗余处理,进而避免数据库的存储空间和计算资源的大量浪费。
3.目前,常见的数据库的数据冗余处理方法为:1、基于文件相似度的大数据冗余检测方法,主要通过比较存储文件的哈希值来检测冗余数据,仅限于文件的角度进行冗余数据块的分析和判断,并只能有效的缩减数据存储量。2、数据库设计过程冗余模式消除方法,基于多项式时间复杂度只能消除关系型数据库的表设计的冗余问题。3、三维数据面片中的冗余数据检测方法,针对的是三维物体的影像数据冗余数据,且只是解决占用存储空间和后续对三维数据的三维成像处理的影响。但是,这些方法均难以准确地确定冗余数据,导致数据库的数据冗余处理效果较差。
4.因此,如何提高数据库的数据冗余处理效果是本领域技术人员亟需解决的技术问题。


技术实现要素:

5.本发明实施例提供一种数据库的数据冗余处理方法、装置、电子设备及计算机存储介质,能够提高数据库的数据冗余处理效果。
6.第一方面,本发明实施例提供一种数据库的数据冗余处理方法,包括:
7.获取预存储于数据库中的第一汇总表和第二汇总表;
8.基于预设的矩阵转换策略信息,分别将第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵;
9.基于第一矩阵和第二矩阵,确定第一汇总表和第二汇总表之间的第一相似度;
10.当确定第一相似度达到相似度阈值时,基于预设映射关系,针对数据库执行第一相似度对应的第一数据冗余处理操作;其中,预设映射关系为相似度和数据冗余处理操作之间的映射关系。
11.可选地,基于预设的矩阵转换策略信息,分别将第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵,包括:
12.分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据;其中,组成结构数据包括基础表和字段;
13.基于矩阵转换策略信息,利用第一汇总表的组成结构数据、第二汇总表的组成结
构数据,分别确定第一矩阵和第二矩阵。
14.可选地,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据,包括:
15.获取汇总表的生成逻辑信息和加工结构化查询语言(structured query language,sql)信息;其中,汇总表包括第一汇总表和第二汇总表;
16.基于生成逻辑信息和加工sql信息,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据。
17.可选地,基于生成逻辑信息和加工sql信息,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据,包括:
18.基于生成逻辑信息和加工sql信息,利用第一正则表达式分别获取第一汇总表的基础表、第二汇总表的基础表;
19.基于生成逻辑信息和加工sql信息,利用第二正则表达式分别获取第一汇总表的字段、第二汇总表的字段。
20.可选地,基于第一矩阵和第二矩阵,确定第一汇总表和第二汇总表之间的第一相似度,包括:
21.将第一矩阵和第二矩阵进行作差运算,得到第三矩阵;
22.基于第三矩阵,确定第三矩阵对应的欧几里得范数值;
23.根据欧几里得范数值,确定第一汇总表和第二汇总表之间的第一相似度。
24.第二方面,本发明实施例提供了一种数据库的数据冗余处理装置,包括:
25.获取模块,用于获取预存储于数据库中的第一汇总表和第二汇总表;
26.转换模块,用于基于预设的矩阵转换策略信息,分别将第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵;
27.确定模块,用于基于第一矩阵和第二矩阵,确定第一汇总表和第二汇总表之间的第一相似度;
28.执行模块,用于当确定第一相似度达到相似度阈值时,基于预设映射关系,针对数据库执行第一相似度对应的第一数据冗余处理操作;其中,预设映射关系为相似度和数据冗余处理操作之间的映射关系。
29.可选地,转换模块,用于分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据;其中,组成结构数据包括基础表和字段;基于矩阵转换策略信息,利用第一汇总表的组成结构数据、第二汇总表的组成结构数据,分别确定第一矩阵和第二矩阵。
30.可选地,转换模块,用于获取汇总表的生成逻辑信息和加工结构化查询语言sql信息;其中,汇总表包括第一汇总表和第二汇总表;基于生成逻辑信息和加工sql信息,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据。
31.可选地,转换模块,用于基于生成逻辑信息和加工sql信息,利用第一正则表达式分别获取第一汇总表的基础表、第二汇总表的基础表;基于生成逻辑信息和加工sql信息,利用第二正则表达式分别获取第一汇总表的字段、第二汇总表的字段。
32.可选地,确定模块,用于将第一矩阵和第二矩阵进行作差运算,得到第三矩阵;基于第三矩阵,确定第三矩阵对应的欧几里得范数值;根据欧几里得范数值,确定第一汇总表和第二汇总表之间的第一相似度。
33.第三方面,本发明实施例提供了一种电子设备,电子设备包括:处理器,以及存储有计算机程序指令的存储器;
34.处理器读取并执行计算机程序指令,以实现第一方面或者第一方面任一可选的实现方式中的数据库的数据冗余处理方法。
35.第四方面,本发明实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或者第一方面任一可选的实现方式中的数据库的数据冗余处理方法。
36.本发明实施例的数据库的数据冗余处理方法、装置、电子设备及计算机存储介质,能够提高数据库的数据冗余处理效果。该数据库的数据冗余处理方法,基于预设的矩阵转换策略信息,将预存储于数据库中的第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵;基于第一矩阵和第二矩阵,能够更加准确地确定第一汇总表和第二汇总表之间的第一相似度;所以,当确定第一相似度达到相似度阈值时,基于预设映射关系,针对数据库执行第一相似度对应的第一数据冗余处理操作,能够提高数据库的数据冗余处理效果。
附图说明
37.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明实施例提供的一种数据库的数据冗余处理方法的流程示意图;
39.图2是本发明实施例提供的另一种数据库的数据冗余处理方法的流程示意图;
40.图3是本发明实施例提供的一种数据库的数据冗余处理装置的结构示意图;
41.图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
42.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
43.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
44.目前,常见的数据库的数据冗余处理方法为:1、基于文件相似度的大数据冗余检测方法,主要通过比较存储文件的哈希值来检测冗余数据,仅限于文件的角度进行冗余数
据块的分析和判断,并只能有效的缩减数据存储量。2、数据库设计过程冗余模式消除方法,基于多项式时间复杂度只能消除关系型数据库的表设计的冗余问题。3、三维数据面片中的冗余数据检测方法,针对的是三维物体的影像数据冗余数据,且只是解决占用存储空间和后续对三维数据的三维成像处理的影响。但是,这些方法均难以准确地确定冗余数据,导致数据库的数据冗余处理效果较差。
45.为了解决现有技术问题,本发明实施例提供了一种数据库的数据冗余处理方法、装置、电子设备及计算机存储介质。下面首先对本发明实施例所提供的数据库的数据冗余处理方法进行介绍。
46.图1示出了本发明实施例提供的一种数据库的数据冗余处理方法的流程示意图。如图1所示,该数据库的数据冗余处理方法可以包括以下步骤:
47.s101、获取预存储于数据库中的第一汇总表和第二汇总表。
48.数据库中的表的来源主要有两种:一种是由文件或其它数据库导入形成的基础表,另外一种是由这些基础表进行加工汇总形成的表,也即汇总表。例如,在中国移动集中化大数据平台中,数据量巨大,这些基于基础表加工汇总成的汇总表有许多内容是相似的,这样会造成存储空间和计算资源的大量浪费。
49.步骤s101中的第一汇总表和第二汇总表,可以为任意选取的两个汇总表,但是无法直接准确地确定两个汇总表之间内容的相似度,故需要执行步骤s102。
50.s102、基于预设的矩阵转换策略信息,分别将第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵。
51.为了更加准确地确定第一矩阵和第二矩阵,在一个实施例中,基于预设的矩阵转换策略信息,分别将第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵,可以包括:分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据;其中,组成结构数据包括基础表和字段;基于矩阵转换策略信息,利用第一汇总表的组成结构数据、第二汇总表的组成结构数据,分别确定第一矩阵和第二矩阵。
52.为了更加准确地获取组成结构数据,在一个实施例中,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据,可以包括:获取汇总表的生成逻辑信息和加工sql信息;其中,汇总表包括第一汇总表和第二汇总表;基于生成逻辑信息和加工sql信息,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据。
53.为了更加准确地获取基础表和字段,在一个实施例中,基于生成逻辑信息和加工sql信息,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据,包括:基于生成逻辑信息和加工sql信息,利用第一正则表达式分别获取第一汇总表的基础表、第二汇总表的基础表;基于生成逻辑信息和加工sql信息,利用第二正则表达式分别获取第一汇总表的字段、第二汇总表的字段。
54.在得到第一矩阵和第二矩阵后,为了确定冗余数据,故需执行步骤s103。
55.s103、基于第一矩阵和第二矩阵,确定第一汇总表和第二汇总表之间的第一相似度。
56.为了更加准确地确定第一汇总表和第二汇总表之间的第一相似度,在一个实施例中,基于第一矩阵和第二矩阵,确定第一汇总表和第二汇总表之间的第一相似度,可以包括:将第一矩阵和第二矩阵进行作差运算,得到第三矩阵;基于第三矩阵,确定第三矩阵对
应的欧几里得范数值;根据欧几里得范数值,确定第一汇总表和第二汇总表之间的第一相似度。
57.s104、当确定第一相似度达到相似度阈值时,基于预设映射关系,针对数据库执行第一相似度对应的第一数据冗余处理操作;其中,预设映射关系为相似度和数据冗余处理操作之间的映射关系。
58.本发明实施例提供的数据库的数据冗余处理方法,基于预设的矩阵转换策略信息,将预存储于数据库中的第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵;基于第一矩阵和第二矩阵,能够更加准确地确定第一汇总表和第二汇总表之间的第一相似度;所以,当确定第一相似度达到相似度阈值时,基于预设映射关系,针对数据库执行第一相似度对应的第一数据冗余处理操作,能够提高数据库的数据冗余处理效果。
59.下面以一个例子对上述内容进行说明,具体如下:
60.步骤1:找出汇总表的血缘,即加工汇总表所使用到的基础表及字段。
61.根据汇总表的加工sql语句,通过正则表达式过滤出from关键字后面的字符串以获取基础表的表名,通过正则表达式获取select和from之间的字符串以获取基础表的字段名,将表名和字段名分别保存起来。
62.步骤2:将加工汇总表所使用到的基础表及字段通过矩阵形式表示。
63.假设在数据库中,m是基础表的个数,n是数据库中基础表字段个数的最大值,若汇总表a的字段来源于第i个基础表的第j个字段,则可以用a
ij
表示,a
ij
的值代表有多少个是由第i个基础表的第j个字段组成,矩阵表示如下:
[0064][0065]
例如,aa汇总表结构如表1所示:
[0066]
表1
[0067][0068][0069]
aa汇总表对应的矩阵,可以表示为:
[0070][0071]
例如,bb汇总表结构如表2所示:
[0072]
表2
[0073]
字段1该字段来自第3张表的字段3aa
33
=1;字段2该字段来自第3张表的字段4aa
43
=1;字段3该字段来自第2张表的字段3和4aa
32
=1;aa
42
=1字段4该字段来自第2张表的字段1aa
12
=1;字段5该字段来自第2张表的字段3aa
32
=1;字段6该字段来自第2张表的字段4aa
42
=1;字段7该字段来自第4张表的字段2aa
24
=1;字段8该字段来自第4张表的字段3aa
34
=1;
[0074]
bb汇总表对应的矩阵,可以表示为:
[0075][0076]
步骤3:计算两个汇总表的相似度。
[0077]
由步骤1和步骤2可以获得两个表的矩阵表示形式,将两个矩阵作差运算得到一个新的矩阵a,求这个新矩阵的l2范数(也即欧几里得范数),即公式:
[0078][0079]
其中,λ1为a
t
a的最大特征值,即a'a矩阵的最大特征值的开平方。如果欧几里得范数值越小则说明两个矩阵越相似,即两张表越相似。若欧几里得范数值为0,则这两张表完全相同。
[0080]
图2是本发明实施例提供的另一种数据库的数据冗余处理方法的流程示意图,如图2所示,先是从汇总表a中提取血缘关系表,例如,从汇总表a中提取出aa表第1个字段、bb表第2个字段、cc表第3个字段

,再将其转换成矩阵形式,也即汇总表a对应的矩阵。相应地,对汇总表b进行相同的操作,得到汇总表b对应的矩阵。再将汇总表a对应的矩阵和汇总表b对应的矩阵进行作差运算,得到一个新矩阵,计算该新矩阵的l2范数,根据该l2范数判断汇总表a和汇总表b之间的相似度,l2范数值越小表示汇总表a和汇总表b越相似。
[0081]
本发明实施例提供的数据库的数据冗余处理方法,具有如下有益效果:
[0082]
首先是通用性高,适用于所有类型的大数据库,面临众多分析需求,可以有效地避免烟囱式重复开发,节省开发和维护成本;其次,通过便于计算的矩阵l2范数,减少加工汇总数据的冗余,可以有效地减少数据库的存储和计算资源,从而节省系统资源;最后是计算
简便,仅利于数据的血缘关系计算源表间的矩阵l2范数值,无需对繁重的数据内容进行比较计算。
[0083]
图3是本发明实施例提供的一种数据库的数据冗余处理装置的结构示意图,如图3所示,该数据库的数据冗余处理装置可以包括:
[0084]
获取模块301,用于获取预存储于数据库中的第一汇总表和第二汇总表;
[0085]
转换模块302,用于基于预设的矩阵转换策略信息,分别将第一汇总表转换为第一矩阵、第二汇总表转换为第二矩阵;
[0086]
确定模块303,用于基于第一矩阵和第二矩阵,确定第一汇总表和第二汇总表之间的第一相似度;
[0087]
执行模块304,用于当确定第一相似度达到相似度阈值时,基于预设映射关系,针对数据库执行第一相似度对应的第一数据冗余处理操作;其中,预设映射关系为相似度和数据冗余处理操作之间的映射关系。
[0088]
可选地,在一个实施例中,转换模块302,用于分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据;其中,组成结构数据包括基础表和字段;基于矩阵转换策略信息,利用第一汇总表的组成结构数据、第二汇总表的组成结构数据,分别确定第一矩阵和第二矩阵。
[0089]
可选地,在一个实施例中,转换模块302,用于获取汇总表的生成逻辑信息和加工sql信息;其中,汇总表包括第一汇总表和第二汇总表;基于生成逻辑信息和加工sql信息,分别获取第一汇总表的组成结构数据、第二汇总表的组成结构数据。
[0090]
可选地,在一个实施例中,转换模块302,用于基于生成逻辑信息和加工sql信息,利用第一正则表达式分别获取第一汇总表的基础表、第二汇总表的基础表;基于生成逻辑信息和加工sql信息,利用第二正则表达式分别获取第一汇总表的字段、第二汇总表的字段。
[0091]
可选地,在一个实施例中,确定模块303,用于将第一矩阵和第二矩阵进行作差运算,得到第三矩阵;基于第三矩阵,确定第三矩阵对应的欧几里得范数值;根据欧几里得范数值,确定第一汇总表和第二汇总表之间的第一相似度。
[0092]
图3所示装置中的各个模块具有实现图1中各个步骤的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
[0093]
图4示出了本发明实施例提供的一种电子设备的结构示意图。
[0094]
电子设备可以包括处理器401以及存储有计算机程序指令的存储器402。
[0095]
具体地,上述处理器401可以包括中央处理器(central processing unit,cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
[0096]
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器402可以包括可移除或不可移除(或固定)的介质,或者存储器402是非易失性固态存储器。存储器402可在电子设备的内部或外部。
[0097]
在一个实例中,存储器402可以是只读存储器(read only memory,rom)。在一个实
例中,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
[0098]
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现图1所示实施例中的数据库的数据冗余处理方法,并达到图1所示实例执行其方法达到的相应技术效果,为简洁描述在此不再赘述。
[0099]
在一个示例中,电子设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
[0100]
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
[0101]
总线410包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industry standard architecture,isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
[0102]
另外,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现图1所示的数据库的数据冗余处理方法。
[0103]
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0104]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(application specific integrated circuit,asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(radio frequency,rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0105]
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0106]
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法
实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜