CN106547828B - 一种基于神经网络的数据库缓存系统及方法 - Google Patents

一种基于神经网络的数据库缓存系统及方法 Download PDF

Info

Publication number
CN106547828B
CN106547828B CN201610877968.1A CN201610877968A CN106547828B CN 106547828 B CN106547828 B CN 106547828B CN 201610877968 A CN201610877968 A CN 201610877968A CN 106547828 B CN106547828 B CN 106547828B
Authority
CN
China
Prior art keywords
neuron
characteristic
neural network
hidden layer
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610877968.1A
Other languages
English (en)
Other versions
CN106547828A (zh
Inventor
孙宇
季家亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Tu Niu Science And Technology Ltd
Original Assignee
Nanjing Tu Niu Science And Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Tu Niu Science And Technology Ltd filed Critical Nanjing Tu Niu Science And Technology Ltd
Priority to CN201610877968.1A priority Critical patent/CN106547828B/zh
Publication of CN106547828A publication Critical patent/CN106547828A/zh
Application granted granted Critical
Publication of CN106547828B publication Critical patent/CN106547828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于神经网络的数据库缓存系统及方法
技术领域
本发明涉及信息检索领域,特别是涉及一种基于神经网络的数据库缓存系统及方法。
背景技术
在面临海量访问的网络应用中,大规模的数据读写造成的高磁盘负载,往往会让数据库系统成为整个数据信息系统的性能瓶颈,为了解决这个问题,在现代的数据信息系统中,通常会引入了缓存系统,来降低数据库负载,提高系统整体的性能,由于缓存系统一般将数据保存于内存中,只要命中对应的磁盘负载将为零,而且就算数据保存在磁盘中,其磁盘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,再进行步骤S8;如果有特征条件没有被满足,则进行步骤S6;
S6:对于没有被满足的特征条件,创建一个满足此特征条件的空隐层神经元,并将特征化样本转入新的空隐层神经元处理,之后判断特征化样本中所有的特征条件是否已满足:如果不满足,则循环执行步骤S6,直到特征化样本中所有特征条件满足并到达起点神经元为止,激活起点神经元,路径上神经元的缓存数据反向流动到终点神经元,最后隐藏层终点神经元将最终处理完成的缓存数据返回给输出层;
S7:当操作类型为insert、update和delete时,神经网络根据特征化样本中包含的特征条件按照S4中的激活方式激活相关已存在的隐藏层神经元,被激活的神经元逐步将其缓存的数据调整至最新状态。
例如:
为了保证数据时效性,每个神经元都有固定初始记忆周期(例如给定值位1000,意味着神经网络进行1000次思考后仍未激活该神经元,则该神经元缓存会被丢弃),当每次神经网络被激活时,隐层上被激活路径上的神经元记忆周期加1,反之减1,当神经元记忆周期为0时,此神经元将被神经网络丢弃,防止过期数据浪费存储空间。
S8:输出层返回数据给接入适配模块,接入适配模块返回相应的JDBC或ADO.NET等标准接口的结果集给客户端。
下面介绍一个实施例:
分析模块接收到select*from student where id in(select stuid fromclassroom where name=’小三班’)的SQL语句,SQL驱动解析引擎会将其解析成二段:
A:特征select stuid from classroom where name=’小三班’
B:特征select*from student where id in A特征
解析完成后上述输入将生成一个包含特征条件A和特征条件B的特征化样本,其中B特征为终点特征,A特征为起点特征,,将之作为输入层向量。
神经网络开始查找深度为1的神经元中是否存在匹配B特征的神经元,如果有,则激活此神经元,如果没有则创建一个满足B特征的空神经元并做为终点神经元,然后继续匹配A特征,如果深度为2的同层中含有A特征的神经元则激活,如果没有则依然创建一个满足A特征的空神经元并作为起点神经元,此时一个满足所有特征条件的缓存路径已经生成完毕,假设A被激活时缓存数据为A1[1,2,3,4],此数据将流动至B中,B利用A1数据生成类似select*from student where id=1or id=2or id=3or id=4的SQL从数据库拉取数据缓存并返回;这样就形成了一个有效的缓存路径,当后续再有类似诸如查询’小三班’学生家长信息这样的操作时,其路径上的缓存数据则可以被命中,数据库只需根据此缓存查询一次家长表即可返回终点数据,而路径上的中间状态数据则可以被其他特征条件所使用。

Claims (3)

1.一种基于神经网络的数据库缓存方法,其特征在于:包括以下步骤:
S1:客户端访问数据库时,通过接入适配模块将数据发送给分析模块;
S2:分析模块分析SQL语句,并根据其意图、参数以及额外信息生成神经网络能够理解的包含固定特征条件的特征化样本;其中,额外信息包括运行环境信息;
S3:将步骤S2得到的特征化样本交由神经网络处理,神经网络包括输入层、隐藏层和输出层,其中隐藏层包含起点神经元、中继神经元和终点神经元;
S4:当操作类型为select时,输入层根据特征化样本中包含的特征条件逐步激活隐藏层神经元,直到输出层输出结果集为止;
S5:如果特征条件全满足,则直接返回此路径上隐藏层终点神经元已经存在的缓存数据给输出层,并回溯此路径上的所有神经元并将记忆周期加1,再进行步骤S8;如果有特征条件没有被满足,则进行步骤S6;
S6:对于没有被满足的特征条件,创建一个满足此特征条件的空隐层神经元,并将特征化样本转入新的空隐层神经元处理,之后判断特征化样本中所有的特征条件是否已满足:如果不满足,则循环执行步骤S6,直到特征化样本中所有特征条件满足并到达起点神经元为止,激活起点神经元,路径上神经元的缓存数据反向流动到终点神经元,最后隐藏层终点神经元将最终处理完成的缓存数据返回给输出层;
S7:当操作类型为insert、update和delete时,神经网络根据特征化样本中包含的特征条件按照S4中的激活方式激活相关已存在的隐藏层神经元,被激活的神经元逐步将其缓存的数据调整至最新状态;
S8:输出层返回数据给接入适配模块,接入适配模块生成结果集给客户端。
2.根据权利要求1所述的基于神经网络的数据库缓存方法,其特征在于:所述步骤S2中的特征化样本包括:
1)操作的类型;
2)拆解的单一特征条件以及参数;
3)数据表;
4)特征条件之间的关联依赖关系。
3.根据权利要求1所述的基于神经网络的数据库缓存方法,其特征在于:所述步骤S4中激活隐藏层神经元的方法为:从终点神经元开始同层匹配特征条件,如果匹配成功则激活相应的神经元,如果匹配不成功则根据特征样本包含的当前特征条件新建满足当前特征条件的空隐层神经元,直至满足所有的特征条件,并到达起点神经元为止。
CN201610877968.1A 2016-09-30 2016-09-30 一种基于神经网络的数据库缓存系统及方法 Active CN106547828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610877968.1A CN106547828B (zh) 2016-09-30 2016-09-30 一种基于神经网络的数据库缓存系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610877968.1A CN106547828B (zh) 2016-09-30 2016-09-30 一种基于神经网络的数据库缓存系统及方法

Publications (2)

Publication Number Publication Date
CN106547828A CN106547828A (zh) 2017-03-29
CN106547828B true CN106547828B (zh) 2019-12-06

Family

ID=58368423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610877968.1A Active CN106547828B (zh) 2016-09-30 2016-09-30 一种基于神经网络的数据库缓存系统及方法

Country Status (1)

Country Link
CN (1) CN106547828B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642835B2 (en) 2017-08-14 2020-05-05 Sisense Ltd. System and method for increasing accuracy of approximating query results using neural networks
US11216437B2 (en) 2017-08-14 2022-01-04 Sisense Ltd. System and method for representing query elements in an artificial neural network
US11256985B2 (en) 2017-08-14 2022-02-22 Sisense Ltd. System and method for generating training sets for neural networks
CN110113432A (zh) * 2019-05-23 2019-08-09 吉林大学 一种基于深度学习算法的Web API请求适配方法
CN111368974B (zh) * 2020-02-25 2023-11-21 北京声智科技有限公司 一种fsmn数据处理方法、装置、介质和设备
CN112395316B (zh) * 2020-11-10 2023-08-29 杭州萤石软件有限公司 一种数据查询方法及装置
CN116910100B (zh) * 2023-09-08 2023-11-28 湖南立人科技有限公司 用于低代码平台的缓存数据处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594927A (zh) * 2012-04-05 2012-07-18 高汉中 基于神经网络的云端服务器结构
CN104021176B (zh) * 2014-06-03 2016-08-17 合一信息技术(北京)有限公司 具有高度可扩展性的广告匹配方法和系统
CN104050276B (zh) * 2014-06-26 2017-08-01 北京思特奇信息技术股份有限公司 一种分布式数据库的缓存处理方法及系统
CN105224613A (zh) * 2015-09-17 2016-01-06 西安未来国际信息股份有限公司 基于数据联邦技术的异构数据源整合系统及其整合方法
CN105630982A (zh) * 2015-12-25 2016-06-01 中国民航信息网络股份有限公司 航班数据缓存方法及系统

Also Published As

Publication number Publication date
CN106547828A (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
CN106547828B (zh) 一种基于神经网络的数据库缓存系统及方法
CA2562281C (en) Partial query caching
CN109614432B (zh) 一种基于语法分析的获取数据血缘关系的系统及方法
CN107209757B (zh) 自然语言理解缓存器
CN108170734A (zh) 一种智能化运维机器人
CN106407360B (zh) 一种数据的处理方法及装置
US9753977B2 (en) Method and system for managing database
CN110688397B (zh) 一种基于sql的分布式数据统一访问系统及方法
CN114356971A (zh) 数据处理方法、装置以及系统
CN106777343A (zh) 增量分布式索引系统和方法
CN105740383A (zh) 一种大数据平台下数据库与缓存的数据一致性方法及系统
CN105843882A (zh) 一种信息匹配方法及装置
WO2020214353A1 (en) Email content modification system
KR20200094074A (ko) 인덱스 관리 방법, 장치, 기기 및 저장 매체
CN111177303B (zh) 基于phoenix的Hbase二级全文索引方法及系统
CN113568938A (zh) 数据流处理方法、装置、电子设备及存储介质
CN107145549A (zh) 一种数据库缓存控制方法以及系统
CN109145009A (zh) 一种基于SQL检索ElasticSearch的方法
US20170357697A1 (en) Using adaptors to manage data indexed by dissimilar identifiers
KR102415155B1 (ko) 데이터 검색 장치 및 방법
CN115827676A (zh) Sql子查询的执行方法、装置、终端设备以及介质
CN116049193A (zh) 数据存储方法及装置
CN105787029A (zh) 一种基于solr的关键字词识别办法
CN111125129A (zh) 数据处理方法和装置、存储介质及处理器
CN102004800A (zh) Pdm系统中数据的查询方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant