一种银行数据库应用系统结果聚类方法技术方案

技术编号:36809963 阅读:15 留言:0更新日期:2023-03-09 00:38
本发明专利技术提出一种银行数据库应用系统结果聚类方法,用户通过业务系统提交查询请求,用户点击系统中热点SQL语句的TOP100功能,业务系统将查询请求转化为SQL语句,去数据库中查找前100个热点SQL并提交给银行数据库管理系统;银行数据库管理系统接收业务系统提交的SQL语句,在数据库中执行查询后,返回数据库查询结果;数据聚类模块获取数据库查询结果,并将结果聚类后提交给银行业务系统;最后聚类结果在银行业务系统中展示。采用该方法后,用户可以从银行业务系统中快速、准确定位到用户感兴趣的SQL语句,及时根据SQL语句信息发现银行业务系统中的潜在问题。业务系统中的潜在问题。业务系统中的潜在问题。

【技术实现步骤摘要】
一种银行数据库应用系统结果聚类方法


[0001]本专利技术属于银行数据库存储及其应用领域,具体涉及一种银行数据库应用系统结果聚类方法。

技术介绍

[0002]随着社会发展,各行各业都累积了大量数据。为了有效利用这些数据,首要需要解决数据存储问题。在众多存储方式中,数据库最为关键。在此基础上,开发出了为数众多的数据库应用系统。
[0003]银行数据库应用系统便利了人们对银行数据的使用,但是因为银行数据量的快速增大,导致银行数据库中存储的数据越来越多,即使用户提交了一个具体的请求,从数据库返回的结果仍可能数量庞大。而用户很容易被庞大的结果淹没,只能依靠人工方式从大量的数据中慢慢寻找所需的信息。为了提高用户的效率,利用数据挖掘技术对返回的结果数据进行整合是非常有效的方法。

技术实现思路

[0004]为了解决上述问题,本专利技术提出一种银行数据库应用系统结果聚类方法,具体地,该方法包括以下步骤:
[0005](1)用户通过业务系统提交查询请求,用户点击系统中热点SQL语句的TOP100功能,业务系统将查询请求转化为SQL语句,去数据库中查找前100个热点SQL并提交给银行数据库管理系统;
[0006](2)银行数据库管理系统接收业务系统提交的SQL语句,在数据库中执行查询后,返回数据库查询结果;
[0007](3)数据聚类模块获取数据库查询结果,并将结果聚类后提交给银行业务系统;
[0008](4)聚类结果在银行业务系统中展示。
[0009]其中数据聚类模块采用了基于信息瓶颈的聚类方法,该方法具体步骤为:
[0010](1)将选中各列数据归一化:将结果中每一列的最大值归一化为1,每一列的最小值归一化为0,其余值按比例确定归一化取值;
[0011](2)使用聚类方法CIB进行聚类;
[0012](3)展示结果。
[0013]步骤(2)包括以下步骤:
[0014]1)将所有数据组成的数据集C随机划分为K个簇,记为c1,c2,

,c
K

[0015]2)令K=2,同时让用户指定最大的簇数目K
max
,若用户未指定K
max
,则默认其中N为所有样本数目,K表示簇数目;
[0016]3)遍历K个簇中的每一个样本x,计算x与每一个簇间的信息损失d(x,p
i
),并将x添加到信息损失值最小的簇c'中,即c'=
argmin
v∈各簇的质心集合
d(x,v),其中p
i
为第i个簇c
i
的质心,x和p
i
分别表示为特征向量{v1,v2,

v
n
}和{v
i1
,v
i2
,

v
in
},n为特征数目;
[0017]4)计算簇内距离LI和簇间距离LE,,其中
[0018]5)以K为横轴,信息损失为纵轴建立坐标系,判断LI和LE曲线是否相交,若未相交,则令K=K+1,
[0019]若K≤K
max
,则返回步骤3);
[0020]若K>K
max
,则令最终的簇数目K
final
=K

1,并退出;
[0021]若判断LI和LE曲线相交,则令最终的簇数目K
final
=K,并退出;
[0022]将簇数目为K
final
时的聚类结果,作为最终聚类结果,聚类结束。
[0023]采用该方法后,用户可以从银行业务系统中快速、准确定位到用户感兴趣的SQL语句,及时根据SQL语句信息发现银行业务系统中的潜在问题。
附图说明
[0024]图1为某公司开发的某银行数据库业务系统中的热点SQL语句。
[0025]图2为银行业务系统与数据库应用系统之间的交互过程。
[0026]图3为具有结果聚类功能的数据库应用系统运行结果。
具体实施方式
[0027]图1列出了银行业务系统中的热点SQL语句,具体的信息包括SQL_ID、数据库名、SQL语句、执行次数、执行时间、平均执行时间、错误的总数、返回的行数、扫描的行数和影响的行数。通过这些信息可以清晰地了解所列SQL的执行情况。但是,在实际工作过程中,业务人员常常有这样一个要求:根据执行次数、执行时间、平均执行时间、错误的总数、返回的行数和扫描的行数中的一列或几列对所列的SQL语句进行分组。分组以后,有利于清晰地知道各SQL语句的分布情况。于是该问题转换为热点SQL语句的聚类问题。
[0028]为解决该问题,在数据库应用系统中加入了聚类模块,具体的设计如图2所示:
[0029]业务系统与数据库系统之间的交互过程主要包括以下的步骤:
[0030](1)用户通过业务系统提交查询请求,用户点击系统中的热点SQL TOP100功能,业务系统将查询请求转化为SQL语句,去数据库中查找前100个热点SQL并提交给数据库管理系统;
[0031](2)数据库管理系统:接收业务系统提交的SQL语句,在数据库中执行查询后,返回数据库查询结果;
[0032](3)数据聚类模块:获取数据库查询结果,并将结果进行聚类后交给业务系统展示;
[0033](4)数据查询结果:将聚类结果在业务系统中进行展示。
[0034]在数据聚类模块中,采用了基于信息瓶颈的聚类方法(Clustering based on Information Bottleneck,CIB)。该方法的大概步骤为:
[0035](1)将选中各列数据归一化:结果中每一列的最大值,归一化后为1;每一列的最小值,归一化后为0;其余值按照比例确定归一化后的取值。
[0036](2)使用聚类方法CIB进行聚类
[0037](3)展示结果。
[0038]重点在于上述步骤中的第(2)步,即聚类方法CIB的过程上。在介绍CIB方法前,先定义两个概念:簇内距离和簇间距离。
[0039](1)簇内距离:一个簇内各样本与簇质心之间的信息损失之和,用LI表示,其中,K表示簇数目,数据集C包含K个簇,分别为c1,c2,

,c
K
,x为第i个簇c
i
的一个样本,p
i
为第i个簇c
i
的质心。将x和p
i
分别表示为特征向量{v1,v2,

v
n
}和{v
i1
,v
i2
,

v
in
},n为特征数目。d(x,p
i
)表示两者之间的信息损失,
[0040](2)簇间距离:将全部数据划分为K个簇,分别为c1,c2,...

【技术保护点】

【技术特征摘要】
1.一种银行数据库应用系统结果聚类方法,其特征在于,包括以下步骤:(1)用户通过业务系统提交查询请求,用户点击系统中热点SQL语句的TOP100功能,业务系统将查询请求转化为SQL语句,去数据库中查找前100个热点SQL并提交给银行数据库管理系统;(2)银行数据库管理系统接收业务系统提交的SQL语句,在数据库中执行查询后,返回数据库查询结果;(3)数据聚类模块获取数据库查询结果,并将结果聚类后提交给银行业务系统;(4)聚类结果在银行业务系统中展示。其中数据聚类模块采用了基于信息瓶颈的聚类方法,该方法具体步骤为:(1)将选中各列数据归一化:将结果中每一列的最大值归一化为1,每一列的最小值归一化为0,其余值按比例确定归一化取值;(2)使用聚类方法CIB进行聚类;(3)展示结果。步骤(2)包括以下步骤:1)将所有数据组成的数据集C随机划分为K个簇,记为c1,c2,

,c
K
;2)令K=2,同时让用户指定最大的簇数目K
max
,若用户未指定K
max
,则默认其中N为所有样本数目,K表示簇数目;3)遍历K个簇中的每一个样本x,计算x与每一个簇间的信息损失d(x,p

【专利技术属性】
技术研发人员:王伟斌李超德刘宁王翔宇段天毅
申请(专利权)人:北京新数科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1