首页> 中国专利> 基于图划分策略的数据库模式抽象方法

基于图划分策略的数据库模式抽象方法

摘要

基于图划分策略的数据库模式抽象方法,本发明涉及数据库模式抽象方法。本发明是要解决忽略了表与表之间的结构紧密性、用户查询偏好信息以及现有方法对模式抽象结果中主题类簇的个数无法做出准确预测的问题,而提出的基于图划分策略的数据库模式抽象方法。该方法是通过一、构建关系数据库的拓扑紧密性矩阵T;二、计算得到表间相似性矩阵A

著录项

  • 公开/公告号CN105956012A

    专利类型发明专利

  • 公开/公告日2016-09-21

    原文格式PDF

  • 申请/专利权人 哈尔滨工程大学;

    申请/专利号CN201610251897.4

  • 申请日2016-04-21

  • 分类号

  • 代理机构哈尔滨市松花江专利商标事务所;

  • 代理人牟永林

  • 地址 150001 黑龙江省哈尔滨市南岗区南通大街145号

  • 入库时间 2023-06-19 00:30:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-23

    授权

    授权

  • 2016-10-19

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160421

    实质审查的生效

  • 2016-09-21

    公开

    公开

说明书

技术领域

本发明涉及数据库模式抽象方法,特别涉及基于图划分策略的数据库模式抽象方法。

背景技术

随着数据库技术的飞速发展和大数据时代的来临,信息正呈现指数级快速增长趋势。政府机关、大型企业、教育机构中的数据库通常包含成百上千张相互连接的数据表,规模逐渐壮大,数据库内部的底层模式也日趋复杂。新用户想要在短时间内了解这些大型数据库所包含的基本内容进而从海量数据中检索自己感兴趣的信息面临着巨大挑战。关系数据库的模式抽象技术能够对数据库进行高层次的模式抽象和内容概括:将具有相同主题和较高相似性的数据表归纳到同一主题类簇中,通过这些主题类簇用户能够对数据库所包含的信息和数据分布有大致的了解。因此,数据库模式抽象技术的相关研究工作成为当今数据库领域的热门研究方向之一。

近几年已出现一些基本的数据库模式抽象方法,但这些方法并没有综合考虑数据表在整个表空间分布中的拓扑特性以及用户查询偏好对模式抽象过程的指导作用,在进行数据库模式抽象的过程中仅根据数据表中所包含的内容以及表与表之间的内容相似性进行数据库模式抽象,而并未考虑表与表之间结构上的相关性,例如表与表间的主外键关系,表与表之间的逻辑距离等;另外,用户查询偏好也会影响数据库模型抽象结果,不同表中的数据在历史查询日志中的共现率可以侧面反映数据库中表与表之间的相关性,,这样就使得模式抽象结果的效率和准确率不能得到较好的保障;此外,已有的研究未能提出有效的算法对抽象结果中的主题类簇个数作准确预测,因此需要用户进行相关参数的设置(例如初始聚类中心及其个数k),抽象结果的质量也随之受到过多人为因素的影响。

随着企业数据库底层模式的日趋复杂、数据规模的逐渐壮大。用户要想快速了解其底层结构和主要内容进而实现访问与查询操作,亟需一种高效的模式抽象方法对数据库进行结构抽象和内容概括。然而现有的数据库模式抽象方法在执行过程中并没有考虑表与表之间的拓扑特性、同时忽视了用户反馈信息的指导作用(用户查询日志中信息对表间相关性的影响)、对于结果中主题类簇的个数也无法做出准确预测,这样就使得抽象方法的效率和准确性无法得到有效保障。

发明内容

本发明的目的是为了解决现有数据库模式抽象方法仅利用数据表的内容相似性对其进行模型抽象,忽略了表与表之间的结构紧密性以及用户查询偏好信息即历史查询日志中用户的反馈信息对模式抽象结果的影响以及现有方法对模式抽象结果中主题类簇的个数无法做出准确预测,需要人工手动设置初始聚类中心的个数的问题,而提出的基于图划分策略的数据库模式抽象方法。

上述的发明目的是通过以下技术方案实现的:

步骤一、根据节点vi和节点vj之间的拓扑紧密性,构建关系数据库的拓扑紧密性矩阵T;

步骤二、根据拓扑紧密性矩阵T和数据表间的内容相似性矩阵S计算得到表间相似性矩阵ADB

步骤三、将表间相似性矩阵ADB进行修正,得到最终的数据表ti和数据表tj间的相似性计算结果AFinal(ti,tj);

步骤四、将数据表ti的重要性If(ti)进行归一化处理得到最终的表重要性度量结果NI(ti);其中,

NI(ti)=2×(f(If(ti))-0.5)>

其中,If(ti)为数据表ti的重要性;

步骤五、根据表重要性度量结果NI(ti)利用类簇代表检测算法得到结果集合R;

步骤六、根据AFinal(ti,tj)和结果集合R利用数据库模式抽象的图划分方法将数据表ti和数据表tj划分到主题类簇;

所述数据库模式抽象的图划分方法具体为:

步骤六一、输入G=(V′,E)和影响因子σ,其中,V′={v1,...,vn},|E|=m;m节点间边的个数;Vn为V′中的第n个数据表;

步骤六二、将AFinal(ti,tj)作为初始输入矩阵;

步骤六三、搜索结果集合R中的数据表作为初始聚类中心;

步骤六四、计算初始输入矩阵AFinal(ti,tj)的特征值和特征向量;使用AFinal(ti,tj)的前k个最小特征值对应的特征向量u1,...,uk,将V′中的所有点映射到Rk空间;其中,k为结果集合R中的数据表个数;

步骤六五、基于初始聚类中心使用k-means算法将Rk中的节点聚集到主题类簇C1,C2,...,Ck中;

步骤六六、输出主题类簇C={C1,C2,...,Ck}。

发明效果

本发明提出了一种基于图划分策略—谱聚类算法的数据库模式抽象方法GP-RDSS。谱聚类算法作为一种经典的图划分策略,在社会网络等相关研究领域中取得了广泛应用。由于结构化数据库可以使用模式图形象地表示其底层模式特征,因此本发明将图划分方法中的谱聚类算法与结构化数据库自身的内容特征巧妙结合,使模式抽象过程同时受到数据库拓扑结构和数据表内容的影响;此外,本发明首次将用户偏好对模式抽象过程的影响考虑在内,挖掘历史查询日志的内容,进一步提高了抽象结果的效率和准确性。其主要思想如下:该方法首先通过节点间拓扑紧密性和内容相似性的计算构建初始输入矩阵;同时进行查询日志信息的挖掘,对初始矩阵加以修正;最后通过对极重要节点的检测确定初始聚类中心,进而执行改进后的谱聚类算法得到最终的模式抽象结果。

简而言之本发明主要贡献如下:

(1)基于图划分策略—谱聚类算法,结合结构化数据库自身特点,构建了一种新颖的数据库模式抽象方法GP-RDSS;

(2)从拓扑紧密性、内容相似性和用户反馈三个方面出发设计了一种表间相似性矩阵构建策略,该策略综合全面并体现用户的查询偏好特征;

(3)对数据库中的表结构、内容以及查询日志中的反馈信息进行深入剖析,重新定义了表重要性度量公式,并在此基础上提出了类簇代表选取方案,解决了传统方法中类簇个数无法预先确定的难题;

(4)通过在TPC-E benchmark真实数据集上进行实验,验证了本发明方法GP-RDSS的正确性和有效性如表1和图6。

表1

本发明提出了一种基于图划分策略-谱聚类的数据库模式抽象方法(GP-RDSS)。首先提出了一种新颖的表间相似性矩阵构建策略:从拓扑紧密性、内容相似性和查询日志三个方面构建初始矩阵,使其综合全面并体现用户的查询偏好特征;然后设计了综合完整的表重要性度量公式和局部极重要节点检测方案,用于初始聚类中心的确定,从而使抽象结果更具主题性和有效性。通过在公开数据集TPC-E benchmark上进行实验,结果表明本文方法在数据库模式抽象的准确率方面有显著提高如表2、表3、图7和图8。

表2

表3

本发明提出的模式抽象方法GP-RDSS采用一种改进的谱聚类策略,从拓扑紧密性和内容相似性两个方面构建谱聚类初始输入矩阵,并通过对查询日志内容的挖掘分析,侧面对其进行修正优化。另外,本发明从多个角度对数据表的重要性进行度量分析,定义了表重要性综合度量公式,并在此基础上提出了类簇代表检测方案,实现聚类算法中主题类簇个数的准确预测,而省去用户对相关参数的手动输入,同时使模式抽象结果的精度有了显著提高图9(a)~图9(c)和表4~6;

表4

如果真要翻译的话:均衡抽象方法、加权k-中心抽象方法、基于图划分的抽象方法

表5

表6

附图说明

图1为具体实施方式七提出的数据库TPC-E benchmark部分模式图;

图2为具体实施方式一提出的数据库TPC-E benchmark部分模式抽象结果示意图;

图3为具体实施方式一提出的模式抽象方法架构示意图;

图4为具体实施方式五提出的数据表间拓扑关系示意图;

图5(a)为具体实施方式六提出的数据表ti的属性列A示意图;

图5(b)为具体实施方式六提出的数据表tj的属性列B示意图;

图6为实施例提出的模式抽象方法精度示意图;

图7为实施例提出的使用类簇代表检测算法前后精度对比图;

图8为实施例提出的考虑用户反馈前后精度对比图;

图9(a)为实施例提出的模式抽象方法准确率对比图,其中,Balance-sum为均衡抽象方法;Weighted k-center;

为加权k-中心抽象方法;GP-RDSS为基于图划分的抽象方法

图9(b)为实施例提出的模式抽象方法召回率对比图;

图9(c)为实施例提出的模式抽象方法F-值对比图;

图10为具体实施方式七提出的主题类簇检测算法程序图。

具体实施方式

具体实施方式一:本实施方式的基于图划分策略的数据库模式抽象方法,具体是按照以下步骤制备的:

步骤一、根据节点vi和节点vj之间的拓扑紧密性,构建关系数据库的拓扑紧密性矩阵T;

步骤二、根据拓扑紧密性矩阵T和数据表间的内容相似性矩阵S计算得到表间相似性矩阵ADB

步骤三、将表间相似性矩阵ADB进行修正,得到最终的数据表ti和数据表tj间的相似性计算结果AFinal(ti,tj);

步骤四、数据表重要性综合量度;

在确定主题类簇代表的过程中,面临的最大挑战即运用一种全面且合理的重要性评定标准对数据库中每张表的重要性进行准确的评估。显然,重要性较大的数据表具有较强的代表性。用户可以通过这些表对相应的主题类簇有一个初步且较为全面的了解。另外,局部范围内重要性较大的数据表可作为谱聚类的初始聚类中心,通过实验证明由此得到的聚类结果更为精确如图7,更能清晰的反映整个数据库的结构组成和内容特征,帮助用户在短时间内掌握数据库的基本信息,从而对数据库做进一步的操作。

由于数据表位于数据库这样一个大的拓扑结构中,所以在计算一张表的重要性时,不仅要考虑数据表本身的结构、内容信息,还需要考虑来自其他节点的影响。显然,如果一个数据表的邻居节点拥有很高的重要性,这张表同为重要表的可能性就相对较高;

将数据表ti的重要性If(ti)进行归一化处理得到最终的表重要性度量结果NI(ti);其中,

NI(ti)=2×(f(If(ti))-0.5)>

其中,If(ti)为数据表ti的重要性;

步骤五、根据表重要性度量结果NI(ti)利用类簇代表检测算法得到结果集合R;

步骤六、根据AFinal(ti,tj)和结果集合R利用数据库模式抽象的图划分方法将数据表ti和数据表tj划分到主题类簇;

所述数据库模式抽象的图划分方法(模式抽象算法GP-RDSS)具体为:(如图3所示)

步骤六一、输入G=(V′,E)和影响因子σ,其中,V′={v1,...,vn},|E|=m;m节点间边的个数;Vn为V′中的第n个数据表;

步骤六二、将AFinal(ti,tj)作为初始输入矩阵;

步骤六三、搜索结果集合R中的数据表作为初始聚类中心;

步骤六四、计算初始输入矩阵AFinal(ti,tj)的特征值和特征向量;使用AFinal(ti,tj)的前k个最小特征值对应的特征向量u1,...,uk,将V′中的所有点映射到Rk空间;其中,k为结果集合R中的数据表个数;

步骤六五、基于初始聚类中心使用k-means算法将Rk中的节点聚集到主题类簇C1,C2,...,Ck中;

步骤六六、输出主题类簇C={C1,C2,...,Ck};(如图2)

主题类簇C={C1,C2,...,Ck}中包括k个主题类簇,每个主题类簇中的数据表均具有相似的主题和内容;用户想要在短时间内对该主题类簇有一个宏观的了解,就需要系统使用一种科学合理的方法为每个主题类簇选择一个类簇代表,通过类簇代表能够反映该主题簇的核心内容,使用户不需要具体地查看主题类簇中每一张数据表就对该主题类簇有一个初步的了解。

本实施方式效果:

本发明提出了一种基于图划分策略—谱聚类算法的数据库模式抽象方法GP-RDSS。谱聚类算法作为一种经典的图划分策略,在社会网络等相关研究领域中取得了广泛应用。由于结构化数据库可以使用模式图形象地表示其底层模式特征,因此本发明将图划分方法中的谱聚类算法与结构化数据库自身的内容特征巧妙结合,使模式抽象过程同时受到数据库拓扑结构和数据表内容的影响;此外,本发明首次将用户偏好对模式抽象过程的影响考虑在内,挖掘历史查询日志的内容,进一步提高了抽象结果的效率和准确性。其主要思想如下:该方法首先通过节点间拓扑紧密性和内容相似性的计算构建初始输入矩阵;同时进行查询日志信息的挖掘,对初始矩阵加以修正;最后通过对极重要节点的检测确定初始聚类中心,进而执行改进后的谱聚类算法得到最终的模式抽象结果。

简而言之本发明主要贡献如下:

(1)基于图划分策略—谱聚类算法,结合结构化数据库自身特点,构建了一种新颖的数据库模式抽象方法GP-RDSS;

(2)从拓扑紧密性、内容相似性和用户反馈三个方面出发设计了一种表间相似性矩阵构建策略,该策略综合全面并体现用户的查询偏好特征;

(3)对数据库中的表结构、内容以及查询日志中的反馈信息进行深入剖析,重新定义了表重要性度量公式,并在此基础上提出了类簇代表选取方案,解决了传统方法中类簇个数无法预先确定的难题;

(4)通过在TPC-E benchmark真实数据集上进行实验,验证了本发明方法GP-RDSS的正确性和有效性如表1和图6。

表1

本发明提出了一种基于图划分策略-谱聚类的数据库模式抽象方法(GP-RDSS)。首先提出了一种新颖的表间相似性矩阵构建策略:从拓扑紧密性、内容相似性和查询日志三个方面构建初始矩阵,使其综合全面并体现用户的查询偏好特征;然后设计了综合完整的表重要性度量公式和局部极重要节点检测方案,用于初始聚类中心的确定,从而使抽象结果更具主题性和有效性。通过在公开数据集TPC-E benchmark上进行实验,结果表明本文方法在数据库模式抽象的准确率方面有显著提高如表2、表3、图7和图8。

表2

表3

本发明提出的模式抽象方法GP-RDSS采用一种改进的谱聚类策略,从拓扑紧密性和内容相似性两个方面构建谱聚类初始输入矩阵,并通过对查询日志内容的挖掘分析,侧面对其进行修正优化。另外,本发明从多个角度对数据表的重要性进行度量分析,定义了表重要性综合度量公式,并在此基础上提出了类簇代表检测方案,实现聚类算法中主题类簇个数的准确预测,而省去用户对相关参数的手动输入,同时使模式抽象结果的精度有了显著提高图9(a)~图9(c)和表4~6;

表4

如果真要翻译的话:均衡抽象方法、加权k-中心抽象方法、基于图划分的抽象方法

表5

表6

具体实施方式二:本实施方式与具体实施方式一不同的是:步骤一中根据节点vi和节点vj之间的拓扑紧密性,构建关系数据库的拓扑紧密性矩阵即表间相似性矩阵具体为:

步骤一一、衡量表间拓扑紧密性;

在衡量表间拓扑紧密性时,本发明引入了数据场中拓扑势的概念(文献Witten,E.,Topological quantum field theory.Communications in Mathematical Physics,1988.117(3):p.353-386记载);假定在数据库模式图中,节点顺着模式图中边的方向能够散发出一个作用场,则模式图中的任何节点都将受到其邻近节点的联合作用,该联合作用的强弱与节点本身的重要程度以及节点之间的距离相关。节点在模式图中的拓扑位置,相当于节点所处的位势,反映了它影响相邻节点(也反映了被相邻节点影响)的能力,定义为数据表的拓扑势。显然,数据表的拓扑势包含了丰富的结构信息,可以用来衡量数据表间的拓扑紧密性:

给定数据库的模式图G=(V,E),节点vi和节点vj之间的拓扑紧密性定义如下:

其中,|vi|为节点vi包含的元组个数;|vj|为节点vj包含的元组个数;σ为影响因子,σ决定了节点在模式图中的影响范围。σ越大影响力越强,即节点间的相互作用力越强;反之,相互作用力越弱。为节点vi和节点vj之间的逻辑距离即在数据库模式图中,节点vi和节点vj之间的路径长度。

根据高斯函数的数学性质,对于给定的σ值,每个节点的影响范围近似等于的局部区域,当节点vi和节点vj间的逻辑距离大于时,节点vi和节点vj间的拓扑紧密性迅速衰减为0;

注意:在计算节点vi和节点vj间的逻辑距离时,如果vi到vj的路径上包含物理连接表(表中仅包含主外键关系所涉及的主外键属性,没有其他附加属性),则在计算路径长度时应除去此类物理连接表的影响。

步骤一二、假设节点vi到vj的路径上存在|P|个物理连接表,表示节点vi和节点vj之间实际物理长度,则节点vi和vj间的逻辑长度

步骤一三、通过公式(1)计算出节点vi和节点vj之间的拓扑紧密性,进而构建关系数据库的拓扑紧密性矩阵T如下:

为节点vn和节点v1的结构相似性;为节点v1和节点vn的结构相似性。其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤二中根据拓扑紧密性矩阵T和数据表间的内容相似性矩阵S计算得到表间相似性矩阵ADB具体为:

步骤二一、步骤一主要讨论了数据表之间结构上的相互关系,而从另外一个角度出发,数据表自身的元组、属性等内容信息也会对表间相似性产生很大程度的影响,进而对数据库的模式抽象过程起着指导作用。显然,内容上越相近的两个表,属于同一主题的概率就越大,在模式图划分时,就拥有更高的概率被分到同一个类簇中。因此,步骤一针对表间内容的相似性展开深入讨论,为之后的图划分提供理论依据和划分基础。

数据表由表名、属性和元组构成,因此在对表间内容相似性进行分析时从命名相似性和赋值相似性两个方面进行深入探究;

命名相似性作为影响表间内容相似性的重要因素之一:具体来讲包括表名相似性和属性名相似性两大部分。本发明采用向量空间中计算两实体间相似性的方法(Baeza-Yates,R.and B.Ribeiro-Neto,Modern information retrieval.Vol.463.1999:ACM press New York.),分别提取每张数据表ti的表名以及数据表ti的属性名中的关键字构建数据表ti的向量Vi,每张数据表tj的表名以及数据表tj的属性名中的关键字构建数据表tj的向量Vj,根据Vi和Vj利用Cosine函数计算命名相似性Sim1(ti,tj):

Sim1(ti,tj)=Sim(Vi,Vj)=Vi×Vj/(|Vi|×|Vj|)>

Sim(Vi,Vj)为向量Vi和Vj相似性;

步骤二二、使用Jaccard距离计算数据表ti和tj的属性间的内容相似性J(u,v):

J(u,v)=|u∩v|/|u∪v|>

其中,u为数据表ti的属性;v为数据表tj的属性;

步骤二三、利用贪婪匹配算法检测数据表ti和tj间相互匹配的属性列对集合Z;

步骤二四、分别计算数据表ti的属性列u的变异系数u.V(变异系数英文全称variance>j的属性列v的变异系数v.V,根据变异系数u.V和v.V计算得到赋予属性列对(u,v)的权值max(u.V,v.V);其中,

u.V=S/u×100%=Σi=1n(ui-u)2/n/u

v.V=S/v×100%=Σi=1n(vi-v)2/n/v

其中,S为数据表属性值的标准差,为数据表ti属性的平均值;为数据表tj属性的平均值;ui为数据表ti中第i个属性列vi数据表tj中第i个属性列;

步骤二五、根据属性列对集合Z和max(u.V,v.V)加权求平均得到两数据表ti和tj间的赋值相似性Sim2(ti,tj):

Sim2(ti,tj)=Σ(u,v)Z{J(u,v)}.max(u.V,v.V)max(|ti|,|tj|)---(4)

其中,|ti|为数据表ti中的属性个数;|tj|为数据表tj中的属性个数;

步骤二六、根据Sim1(ti,tj)和Sim2(ti,tj)计算得到内容相似性Sim(ti,tj):

Sim(ti,tj)=(Sim1(ti,tj)+Sim2(ti,tj))/2>

步骤二七、根据Sim(ti,tj)计算得到数据表间的内容相似性矩阵S:

Sim(tn,tn)为相同数据表tn的内容相似性,Sim(t1,t1)~Sim(tn,tn)的内容相似性均为1;

步骤二八、根据拓扑紧密性矩阵T和数据表间的内容相似性矩阵S计算得到数据表tj和数据表ti间相似性矩阵ADB

ADB=T+S。其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤二三中利用贪婪匹配算法检测数据表ti和tj间相互匹配的属性列对集合Z具体过程为:

a.初始化属性列对集合Z=φ,U为数据表ti的全体属性集;V为数据表tj的全体属性集;φ为空集;Z为用于存放相互匹配的属性列对;

b.寻找J(u,v)值最大的属性列对(u,v),其中,u∈U、v∈V;

c.将J(u,v)值最大的属性列对(u,v)存入到Z中,将u和v分别从属性集U和V中移除;

d.在U和V中重新寻找属性列对重复步骤b和c,直到所有的属性列对Jaccard距离为0为止;从而得到数据表ti和tj间相互匹配的属性列对集合Z。其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:步骤三中将表间相似性矩阵ADB进行修正,得到最终的数据表ti和数据表tj间的相似性计算结果AFinal(ti,tj)具体过程:

步骤三一、传统的关系数据库模式抽象方法仅仅关注数据库本身包含的数据信息,将内容相近的若干张数据表划分到同一个主题类簇,而未将用户的历史查询记录考虑在内。用户查询日志记录了众多用户检索数据库的“反馈”结果,对它进行分析相当于使用了大量用户的相关反馈,相对于传统的模式抽象方法而言,这种带有用户反馈的模式抽象方法更具意义和使用价值(文献Gao,L.,X.Yu,and Y.Liu,Keyword query cleaning with query logs,in Web-Age Information Management.2011,Springer.p.31-42.记载);

利用用户反馈的模式抽象方法对查询日志L中的查询记录进行统计分析,并使用以下boosting函数对ADB进行修正:

boostlog(ti,tj)=elog(count(ti,tj))log(max(count))---(6)

其中,count(ti,tj)记录了数据表ti和数据表tj在查询日志中共现的次数,max(count)为查询日志L中任意两表共现次数的最大值;boostlog(·)为加强函数;查询日志L中包含3个字段:用户ID、提出的查询Q、查询结果及结果所在的数据表t,而这些信息能够从侧面反映用户的兴趣;数据表t为数据表ti或数据表tj

由公式(6)可知,在查询日志L中共现次数越多的表,紧密性得分被加强的程度越大;例如数据表t1、t2、t3为数据库D中的三张表,且具有以下结构关系如图4;

这样就存在两种可能的划分和假定t2,t3出现在查询日志的同一行记录中,而t1,t2没有同时出现在查询日志中,就更有可能是用户希望得到的理想划分。如果不考虑查询日志对划分结果的影响,仅仅使用数据表本身包含的数据信息作为划分依据,则可能得到相反的结果。

步骤三二、利用用户查询日志L中的信息对ADB进行加强,提出以下得分加强函数:

AFinal(ti,tj)=ADB(ti,tj)*boostlog(ti,tj)>

其中,AFinal(ti,tj)为最终的数据表ti和数据表tj间的相似性计算结果;ADB(ti,tj)为数据表ti和tj的相似性得分;

正如公式(7)所示,如果数据表ti和tj同时出现在用户查询日志L中,则数据表ti和tj的紧密性得分ADB(ti,tj)应该被加强;如果没有同时出现在查询日志L中,则相似性得分ADB(ti,tj)保持不变;

若数据表ti和tj的紧密性得分ADB(ti,tj)被加强(得分变大),通过加强函数(公式(7))的作用,出现在查询日志频率越高的数据表ti和tj被划分到一个主题类簇的概率越大。其它步骤及参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:步骤四中将数据表ti的重要性If(ti)进行归一化处理得到最终的表重要性度量结果NI(ti)具体为:

步骤四一、将数据表ti的重要性If(ti)包括数据表ti的固有重要性Ib(ti)和数据表ti的依赖重要性Id(ti),如公式(8)所示:

If(ti)=Ib(ti)+Id(ti)>

步骤四二、数据表ti的固有重要性Ib(ti)与数据表的固有属性相关,数据表的固有属性包括数据表的规模、自身所包含的信息、数据表在整个数据库中的位置分布以及用户反馈信息的侧面影响;具体公式如下所示:

其中,log|ti|代表数据表ti的规模对数据表ti重要性的影响,数据表ti的规模越大,数据表ti的重要性也随之增大;tf(ti)为表ti在查询日志中出现的次数;

为数据表ti的拓扑势,由公式(10)计算得到:

其中,n为数据表的总个数;σ影响因子;

为表ti中所有属性列的变异系数Ai.V之和;

Ai.V=S/A×100%---(11)

Ai为数据表ti的属性列,Ai为u或v;为或Ai.V为数据表ti中属性列Ai的变异系数;k为数据表ti的属性列个数;

Ai.V是衡量资料中各观测值变异程度的一个统计量;变异系数越小,属性列内容的丰富度也就越小;反之,变异系数越大,属性列内容的丰富度也就越大;

例:

图5(a)为数据表t1的属性列u,图5(b)为数据表t2的属性列v,在对数据表t1和t2的内容丰富度进行比较时,需分别计算属性列u和v的变异系数;

将属性值在实数空间上从小到大进行映射,其中,相同的属性值被映射到同一个实数上。由公式(12)得u属性列和v属性列的变异系数分别为:

u·V=S/u×100%=Σi=1n(ui-u)2/n/u=67%v·V=S/v×100%=Σi=1n(vi-v)2/n/v=35%---(12)

u·V>v·V,u属性的变异程度大于v属性,即u属性的丰富程度大于v属性。

体现了用户查询反馈对表重要程度的影响:tf(ti)为数据表ti在查询日志中出现的次数,直观上看,出现在查询日志L中次数越多的数据表,用户对该数据表的兴趣指数越高,表的重要性也随之升高。

步骤四三、公式If(ti)=Ib(ti)+Id(ti)的后半部分体现了一个表重要性受其他数据表的影响;数据表ti的依赖重要性Id(ti)的具体公式为:

Id(ti)=Σj=1nADB(ti,tj)×Ib(tj)---(13)

其中,Ib(tj)为数据表tj的固有重要性;ADB(ti,tj)为数据表ti与数据表tj间的相似性矩阵;

步骤四四、将If(ti)进行归一化处理得到最终的表重要性度量结果NI(ti):

NI(ti)=2×(f(If(ti))-0.5)>

其中,

理论上,NI(ti)越大的数据表,作为类簇代表的潜力就越大,用户通过这些NI(ti)越大的数据表也更容易了解类簇的概要信息;但是,简单地选取NI(ti)排在top-k的数据表作为类簇代表是不合理的:当同时具有较高重要性的两个表又同时位于同一主题类簇时,以上选取方案就不再适用。为了解决这个问题,本发明提出了一种局部极重要点检测方案即类簇代表检测算法,通过此方案,将检测到的局部极重要节点作为类簇代表更具合理性。其它步骤及参数与具体实施方式一至五之一相同。

具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:步骤五中根据表重要性度量结果NI(ti)利用类簇代表检测算法得到结果集合R具体为:

步骤五一、输入数据库的模式图G=(V′,E);V′为数据库的模式图的节点;E为节点间的边;(如图1)

步骤五二、按照公式(14)计算数据库模式图中每个数据表的NI(ti),并将NI(ti)进行降序排序,进入队列Q;

步骤五三、将队列Q中的队头元素q1出队,放入结果集合R中;并将q1及q1的邻居节点标记为已访问状态;其中,q1为NI(ti)值最大的数据表;

步骤五四、将队列Q中的队头q2出队,并将q2的邻居节点标记为已访问状态,再判断q2是否已被标记,如果未被标记,则将q2放入集合R中,并标记;

步骤五五、循环执行步骤五四,直到队列Q为空;

步骤五六、输出结果集合R;主要程序如图10。其它步骤及参数与具体实施方式一至六之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

本实施例基于图划分策略的数据库模式抽象方法,具体是按照以下步骤制备的:

将本发明提出的GP-RDSS关系数据库模式抽象方法在真实的数据集TPC-E benchmark上进行测试。首先,对数据集TPC-E benchmark和实验环境作简要介绍。然后,从不同角度构建三组实验验证本发明的有效性:分别使用文献(Yu,C.and H.Jagadish.Schema summarization.in Proceedings of the 32nd international conference on Very large data bases.2006.VLDB Endowment.)中的表重要性计算方法和本发明提出的表重要性综合度量公式对表的重要性进行计算,通过排序结果的对比分析证实本文表重要性计算公式的合理性和准确性;使用本发明提出的方法GP-RDSS对数据集进行模式抽象,与数据库自身定义的数据表分类结果进行比较,验证本发明所提方法的有效性,另外设计对比实验验证主题类簇代表检测方案和用户反馈信息对模式抽象结果精度的促进作用;实验的最后部分将本发明模式抽象方法与文献(Yu,C.and H.Jagadish.Schema summarization.in Proceedings of the 32nd international conference on Very large data bases.2006.VLDB Endowment.)中的Balance-sum抽象方法以及文献(Yang,X.,C.M.Procopiuc,and D.Srivastava,Summarizing relational databases.Proceedings of the VLDB Endowment,2009.2(1):p.634-645.)中的weighted k-center模式抽象方法进行比较,结果证实本发明在结果的精度方面有显著提高。

一、实验设置

数据集TPC-E benchmark由Transaction Processing Performance Council提供,用于测评OLTP系统的性能。TPC-E数据库使用美国人口普查中和纽约证券交易中心的的数据分别生成人名和公司信息。TPC-E共有33张数据表,被分为客户、经纪人、市场、维度四类。客户类包含了客户相关信息;经纪人包含了与经纪商相关的数据;市场类中的数据与交易、公司和证券相关;维度包含了通用信息。

算法在JAVA环境下运行,采用Core(TM)3.40GHz的CPU,8GB内存,500G硬盘,操作系统为Microsoft Windows 7。

二、实验评估

(一)、数据表的重要性

数据表重要性综合度量方法和文献(Yu,C.and H.Jagadish.Schema summarization.in Proceedings of the 32nd international conference on Very large data bases.2006.VLDB Endowment.)中的数据表重要性计算方法进行比较,分别使用If.表和Is.表记录通过两种方法得到的数据表重要性排序结果。表7仅展现排序结果的前六位。

表7 表重要性对比

排序If.表Is.表1交易交易2客户交易历史3安全状态类别4公司日交易5财务控股历史6控股客户

由以上对比结果可知,yu cong等人提出的表重要性计算方法Ic主要根据表的规模对各个表的重要性进行衡量。如表7所示表交易历史、控股历史因为包含了大量的历史信息,具有较大的规模,在表重要性排序中分别被排在第二位和第五位。但是在用户访问TPCE数据库,进行各项股票交易的过程中,这些历史信息并不重要且很少得到用户的关注。因此这种重要性排序方法缺乏合理性。相反,本实施例提出的数据表重要性计算方法If,综合考虑数据表的拓扑中心性、内容丰富性以及用户反馈信息得到了较为合理的排序结果。例如表交易和客户由于同时具有丰富的内容信息和较高的拓扑中心性,并且在查询日志中高频出现等特征而被排在表重要性排序的前两位,也是大多数用户想要得到的结果。

(二)、算法有效性

这一部分通过将本实施例的GP-RDSS得到的主题类簇结果与数据库自身定义的主题类簇进行比较。可以看出,本实施例的抽象方法具有较高的精度。在图6中,x轴为数据库的各个主题类簇,y轴为本实施例的GP-RDSS方法的精度。

表2 模式抽象算法的有效性

另外,采用本发明提出了一种主题类簇代表检测方案。为了验证其对模式抽象结果精度的促进作用,进行了以下对比实验。图7记录了主题类簇代表检测前后,模式抽象结果的精度。由于主题类簇代表检测方案对谱聚类中的初始聚类中心作了合理准确的预测,从而使得最终的聚类结果具有更高的精度。

表3 未使用类簇代表检测的模式抽象方法精度

主题类簇表数匹配表数精度客户950.56经纪人940.44市场1170.55维度430.75

本发明另外一个重要的特色是使用用户查询日志信息对模式抽象过程进行指导。从而使抽象结果反映用户的查询偏好特征。图8中的结果显示,在考虑用户反馈信息的影响后,模式抽象结果的精度有了一定提高。

表4 不带用户反馈的模式抽象算法精度

主题类簇表数匹配表数精度客户950.56经纪人950.56市场1180.73维度420.50

(三)、方法对比

这一部分,对比分析了三种关系数据库模式抽象方法的结果,Balance-sum抽象方法、weighted k-center方法和本发明提出的GP-RDSS。为了评估模式抽象结果的质量,实验使用以下几个量度进行对比:召回率为模式抽象结果中主题类簇所包含的数据表总数与数据库中数据表总数间的比值、准确率为所有主题类簇准确率的平均值,其中每一个主题类簇的准确率pi=|Ci>i-define|/|Ci-define|定义为:在模式抽象返回结果Ci和数据库预先定义的主题类簇Ci-define中同时出现的数据表所占的比例;F-measure:F=2PR/(R+P)(如文献Chowdhury,G.,Introduction>i为第i个主题类簇;t为数据库中数据表个数;pi为第i个主题类簇的模式抽象结果准确率;Ci-define为领域专家定义的数据库模式抽象结果;PR为准确率和召回率的乘积;

三种模式抽象方法的对比结果如图9(a)~图9(c)所示。由图9(a)~图9(c)可知,本发明提出的方法GP-RDSS由于综合考虑了数据库的结构、内容特征,同时充分使用用户的查询日志信息,在召回率、准确率上都远远优于其他两种方法。

本实施例提出了一种基于图划分策略的数据库模式抽象方法。首次结合图划分策略和用户查询日志信息对关系数据库进行模式抽象。通过计算模式图中节点间的拓扑紧密性和内容相似性构建谱聚类算法的输入矩阵,同时使用查询日志信息的统计分析结果对以上矩阵进行修正,从而反映用户偏好特征;此外,定义了综合的表重要性度量公式,并检测出局部极重要节点,作为初始聚类中心和主题类簇代表。最终得到的抽象结果能够帮助用户快速了解和使用数据库。

使用TPC-E benchmark数据集对提出的模式抽象方法GP-RDSS进行评估,经过和现有最优方法的对比实验,证明本文方法在抽象结果的精度上得到显著提高。

在未来的工作中,我们将继续研究数据库模式抽象方法,并将其运用到关键词查询的预处理中用于查询效率的提高。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号