[发明专利]一种基于ID缓存技术的图数据库加速装置和方法在审
申请号: | 201810981901.1 | 申请日: | 2018-08-27 |
公开(公告)号: | CN109446358A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F16/50 | 分类号: | G06F16/50;G06F16/54;G06F16/51 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610054 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 数据库 查询 缓存技术 数据动态性 数据库结构 复杂查询 缓存结构 加速装置 匹配策略 数据变化 动态性 客户端 数据量 脏数据 遍历 提速 置换 概率 冲突 更新 应用 制定 | ||
1.基于ID缓存技术的图数据库加速装置和方法,其特征在于,由五个模块组成,分别是:
ID缓存加速装置,用于解析查询语句,查询查询语句对应的结果ID,与图数据库进行通信,并反馈查询结果给访问服务器。
ID缓存映射表:用于存储历史查询的语句对应的结果ID,并拥有三层树型结构索引。
缓存查询模块:用于对用户输入的查询语句进行解析成简单语句或者复杂语句,如果为简单语句进行三层分析,然后进行索引匹配其对应的结果ID。如果为复杂语句,直接对查询语句的全字段进行匹配,然后获取其对应结果ID。
缓存一致性模块:用于更新缓存,实现缓存的结果ID与图数据库数据一致性。
缓存置换模块:用于淘汰无用缓存,删除低频率缓存数据和缓存数据溢出的时候进行缓存缩减。
其具体过程如下:
ID查询缓存技术是处于图数据库和查询接口之间的,当有对图数据库的查询操作从应用层传递到接口调用数据库前,我们将进行ID缓存匹配,如果匹配成功则将查询操作转到ID查询上面,通过缓存的ID快速查询到数据库内数据并返回,如果没有匹配到则调用正常的数据库查询,同时在返回结果后记录缓存。当有对数据库进行数据修改的操作,则在数据库修改后返回ID进行一致性算法,删除缓存中匹配的ID。同时配备缓存过期的置换算法。
2.如权利要求1所述的解析语句,其特征在于,解析语句的的策略与基本思路如下:
要求一,语句为是否携带复杂语句关键字,比如with,unit等复合数据库操作语句,含有则为复杂语句,不含有则为简单语句;
要求二,简单语句进行三层结构分析,三层结构分别是类型,标签和查询条件。
3.如权利要求1所述的ID缓存映射表,其特征在于,ID缓存映射表主要内容如下:
其包含简单缓存映射和复杂缓存映射,简单缓存映射存储三层结构数据,进行指针索引,加速查询,结果为数据库ID,这是因为图数据库的特点,拥有全局ID,存储ID可以减少缓存的容量,增大性能,同时保证数据库与缓存的一致性。三层结构分别是类型,标签和查询条件,当前的所以简单语句都是由这三种组成,所以只要是简单语句都可以分析称这三层,而分析成三层结构在查询上可进行索引加速。另一种是复杂缓存映射表,由于复杂语句复杂多变无法进行解析成三层,所以只能直接存储全字段的语句,查询的时候也只能查询全字段。
4.如权利要求1所述的缓存查询模块,其特征在于,缓存查映的主要策略与内容如下:
数据库操作语句输入,对其进行分析为复杂还是简单语句,如果为简单语句,则进行三层数据判断,比如Match(u:User)where u.name=’mary’return u。该语句能标准地分析出类型为节点,标签对象为User和查询条件为name=’mary’。与内存中的简单缓存表进行匹配,如果含有则返回结果不再进行数据库查询,如果没有则进行数据库查询然后更新缓存表。简单缓存匹配是首先判断查询是否含有with等非简单查询语,如果不含有则用解析方法对查询语句进行解析出类型,标签和查询条件三个字段,然后先将类型与ID映射表的类型字段进行匹配,匹配成功后再将标签与该类型对象下标签进行匹配,匹配成功后再将查询语句该标签对象里的查询语句数组对象进行匹配。同时设置判断最终是否命中,无命中则进行常规查询和添加缓存。
如果为复杂语句则直接进行全字节查询,比如Match(u:User)where u.name=’mary’with u Match(u1:User)where u.age=u1.age with u1 Match(u2:User)where u1.name=u2.name return u2.这就是一个无法进行分析的语句,所以我们将它全字节段与复杂缓存表中进行匹配,如果匹配成功则返回ID,如匹配失败则进行数据库查询并更新内存ID缓存。复杂缓存匹配是首先判断查询语句是否为含with等非简单查询语,如果含有认为为不可解析语句,直接进行全字段判断,要求与ID映射表中缓存的查询语句全一致才能获取对应ID结果。同时设置判断最终是否命中,无命中则进行常规查询和添加缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810981901.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据标注方法和装置
- 下一篇:一种图形数据库构建方法及终端设备