一种基于神经网络的数据库缓存系统及方法技术方案

技术编号:14905664 阅读:123 留言:0更新日期:2017-03-29 20:17
本发明专利技术公开了一种基于神经网络的数据库缓存系统,包括接入适配模块、分析模块和神经网络;其中:接入适配模块:负责进出数据的适配;分析模块:用于分析用户输入意图;神经网络:包括输入层、隐藏层和输出层;输入层用于接收参数激活隐藏层,隐藏层的每个神经元都包含数据库访问模块、前驱后继神经元路由表、记忆生存周期标识、特征标识和缓存数据集合;输出层用于输出查询结果集至接入适配模块。本发明专利技术解决了传统的缓存技术数据无法更新以及缓存状态逐渐恶化造成缓存命中率低的问题,大大提高了缓存的性能和稳定性。解决了传统缓存单一平面的问题,使得子查询相关中间数据可以被缓存,显著减少了数据库多表关联查询的处理时间。

【技术实现步骤摘要】

本专利技术涉及信息检索领域,特别是涉及一种基于神经网络的数据库缓存系统及方法
技术介绍
在面临海量访问的网络应用中,大规模的数据读写造成的高磁盘负载,往往会让数据库系统成为整个数据信息系统的性能瓶颈,为了解决这个问题,在现代的数据信息系统中,通常会引入了缓存系统,来降低数据库负载,提高系统整体的性能,由于缓存系统一般将数据保存于内存中,只要命中对应的磁盘负载将为零,而且就算数据保存在磁盘中,其磁盘IO次数都远小于数据库,所以可以大大减少处理等待的时间,其性能差距可能达到几倍甚至几十倍,因此合理的缓存系统已经成为了影响整个数据信息系统性能的关键因素。然而现有的缓存系统,无法主动调节自身状态,随着系统的运行缓存状态的逐渐恶化会带来缓存命中率低的问题。
技术实现思路
专利技术目的:本专利技术的目的是提供一种能够解决现有技术中存在的缺陷的基于神经网络的数据库缓存系统及方法。技术方案:本专利技术所述的基于神经网络的数据库缓存系统,包括接入适配模块、分析模块和神经网络;其中:接入适配模块:负责进出数据的适配;分析模块:用于分析用户操作意图,并将用户操作意图进行特征化;神经网络:包括输入层、隐藏层和输出层;输入层用于接收特征化样本并逐步激活隐藏层处理,隐藏层的每个神经元都包含数据库访问模块、前驱后继神经元路由表、记忆生存周期标识、特征标识和缓存数据集合;输出层用于输出查询结果集至接入适配模块。进一步,所述接入适配模块包括JDBC模拟驱动和MySQL原生协议。进一步,所述分析模块包括SQL驱动解析引擎和神经网络输入层生成器,其中:SQL驱动解析引擎:用于分析SQL语句查询意图,将一个多关系表的查询操作拆解成多个单表并互相依赖的查询操作,并转化为系统所能理解的内部数据结构;神经网络输入层生成器:用于将生成的内部数据结构进行特征化,并转化为神经网络所能理解的包含固定特征条件的特征化样本。本专利技术所述的基于神经网络的数据库缓存方法,包括以下步骤:S1:客户端访问数据库时,通过接入适配模块将数据发送给分析模块;S2:分析模块分析SQL语句,并根据其意图、参数以及额外信息生成神经网络能够理解的包含固定特征条件的特征化样本;其中,额外信息包括运行环境信息;S3:将步骤S2得到的特征化样本交由神经网络处理,神经网络包括输入层、隐藏层和输出层,其中隐藏层包含起点神经元、中继神经元和终点神经元;S4:当操作类型为select时,输入层根据特征化样本中包含的特征条件逐步激活隐藏层神经元,直到输出层输出结果集为止;S5:如果特征条件全满足,则直接返回此路径上隐藏层终点神经元已经存在的缓存数据给输出层,并回溯此路径上的所有神经元并将记忆周期加1,再进行步骤S8;如果有特征条件没有被满足,则进行步骤S6;S6:对于没有被满足的特征条件,创建一个满足此特征条件的空隐层神经元,并将特征化样本转入新的空隐层神经元处理,之后判断特征化样本中所有的特征条件是否已满足:如果不满足,则循环执行步骤S6,直到特征化样本中所有特征条件满足并到达起点神经元为止,激活起点神经元,路径上神经元的缓存数据反向流动到终点神经元,最后隐藏层终点神经元将最终处理完成的缓存数据返回给输出层;S7:当操作类型为insert、update和delete时,神经网络根据特征化样本中包含的特征条件按照S4中的激活方式激活相关已存在的隐藏层神经元,被激活的神经元逐步将其缓存的数据调整至最新状态;S8:输出层返回数据给接入适配模块,接入适配模块生成结果集给客户端。进一步,所述步骤S2中的特征化样本包括:1)操作的类型;2)拆解的单一特征条件以及参数;3)数据表;4)特征条件之间的关联依赖关系。进一步,所述步骤S4中激活隐藏层神经元的方法为:从终点神经元开始同层匹配特征条件,如果匹配成功则激活相应的神经元,如果匹配不成功则根据特征样本包含的当前特征条件新建满足当前特征条件的空隐层神经元,直至满足所有的特征条件,并到达起点神经元为止。有益效果:与现有技术相比,本专利技术具有如下的有益效果:1)基于神经网络实现了一种缓存结构,使缓存能够主动调整其内部数据状态,解决了传统的缓存技术数据无法主动调节自身状态以及缓存状态逐渐恶化造成缓存命中率低的问题,大大提高了缓存的性能和稳定性;2)基于神经网络的多层次结构,解决了传统缓存单一平面的问题,使得子查询相关中间数据可以被缓存,显著减少了数据库多表关联查询的处理时间,将多表连接查询化为单一表查询,使得数据库索引效率得以充分释放,大大提高了数据库系统性能;3)通过适配器模式,解决传统缓存技术代码侵入性高的问题,极大降低缓存系统接入难度。附图说明图1为本专利技术具体实施方式的系统框图;图2为本专利技术具体实施方式的神经网络的结构框图。图3为本专利技术具体实施方式的缓存路径结构框图具体实施方式本具体实施方式公开了一种基于神经网络的数据库缓存系统,如图1所示,包括接入适配模块、分析模块和神经网络;其中:接入适配模块:负责进出数据的适配;包括JDBC模拟驱动、MySQL原生协议等接入实现,可以降低调用方接入难度,如果使用语言标准接口如JDBC,甚至可以不用修改其代码,将系统的代码侵入性降低为零。分析模块:用于分析用户操作意图,并将用户操作意图进行特征化。包括SQL驱动解析引擎,用于分析SQL语句查询意图,将一个多关系表的查询操作拆解成多个单表并互相依赖的查询操作,并转化为系统所能理解的内部数据结构;神经网络输入层生成器,用于将上述生成的内部数据结构进行特征化,并转化为神经网络所能理解的包含固定特征条件的特征化样本。神经网络:负责数据处理,包括输入层、隐藏层和输出层,如图2所示。输入层用于接收特征化样本并逐步激活隐藏层处理,隐藏层的每个神经元都包含数据库访问模块、前驱后继神经元路由表、记忆生存周期标识、特征标识和缓存数据集合;输出层用于输出查询结果集至接入适配模块,接入适配模块将结果集转换成客户端标准结果集返回。本具体实施方式还公开了一种基于神经网络的数据库缓存方法,包括以下步骤:S1:客户端通过JDBC或者ADO.NET等标准接口访问数据库时,通过接入适配模块将数据发送给分析模块,其中包括了需要执行的SQL、参数以及额外信息,额外信息包括运行环境信息。S2:分析模块分析SQL语句,并根据其意图、参数以及额外信息生成神经网络能够理解的包含固定特征条件的特征化样本;特征化样本包括:1)操作的类型;2)拆解的单一特征条件以及参数;3)数据表;4)特征条件之间的关联依赖关系。S3:将步骤S2得到的特征化样本交由神经网络处理,神经网络包括输入层、隐藏层和输出层,其中隐藏层包含起点神经元、中继神经元和终点神经元。其中,起点神经元是没有前驱只有后继的神经元,中继神经元是既有前驱又有后继的神经元,终点神经元是只有前驱没有后继的神经元。S4:当操作类型为select时,输入层根据特征化样本中包含的特征条件逐步激活隐藏层神经元,直到输出层输出结果集为止。激活方法如下:从终点神经元开始同层匹配特征条件,如果匹配成功则激活相应的神经元,如果匹配不成功则根据特征样本包含的当前特征条件新建满足当前特征条件的空隐层神经元,直至满足所有的特征条件,并到达起点神经元为止。S5:如果特征条件全满足,则直接返回此路径上隐本文档来自技高网...
一种基于神经网络的数据库缓存系统及方法

【技术保护点】
一种基于神经网络的数据库缓存系统,其特征在于:包括接入适配模块、分析模块和神经网络;其中:接入适配模块:负责进出数据的适配;分析模块:用于分析用户操作意图,并将用户操作意图进行特征化;神经网络:包括输入层、隐藏层和输出层;输入层用于接收特征化样本并逐步激活隐藏层处理,隐藏层的每个神经元都包含数据库访问模块、前驱后继神经元路由表、记忆生存周期标识、特征标识和缓存数据集合;输出层用于输出查询结果集至接入适配模块。

【技术特征摘要】
1.一种基于神经网络的数据库缓存系统,其特征在于:包括接入适配模块、分析模块和神经网络;其中:接入适配模块:负责进出数据的适配;分析模块:用于分析用户操作意图,并将用户操作意图进行特征化;神经网络:包括输入层、隐藏层和输出层;输入层用于接收特征化样本并逐步激活隐藏层处理,隐藏层的每个神经元都包含数据库访问模块、前驱后继神经元路由表、记忆生存周期标识、特征标识和缓存数据集合;输出层用于输出查询结果集至接入适配模块。2.根据权利要求1所述的基于神经网络的数据库缓存系统,其特征在于:所述接入适配模块包括JDBC模拟驱动和MySQL原生协议。3.根据权利要求1所述的基于神经网络的数据库缓存系统,其特征在于:所述分析模块包括SQL驱动解析引擎和神经网络输入层生成器,其中:SQL驱动解析引擎:用于分析SQL语句查询意图,将一个多关系表的查询操作拆解成多个单表并互相依赖的查询操作,并转化为系统所能理解的内部数据结构;神经网络输入层生成器:用于将生成的内部数据结构进行特征化,并转化为神经网络所能理解的包含固定特征条件的特征化样本。4.一种基于神经网络的数据库缓存方法,其特征在于:包括以下步骤:S1:客户端访问数据库时,通过接入适配模块将数据发送给分析模块;S2:分析模块分析SQL语句,并根据其意图、参数以及额外信息生成神经网络能够理解的包含固定特征条件的特征化样本;其中,额外信息包括运行环境信息;S3:将步骤S2得到的特征化样本交由神经网络处理,神经网络包括输入层、隐藏层和输出层,其中隐藏层包含起点神经元、中继神经元和终点神经元;S4:当操作类型为select时,输入层根据...

【专利技术属性】
技术研发人员:孙宇季家亮
申请(专利权)人:南京途牛科技有限公司
类型:发明
国别省市:江苏;32

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

1