[发明专利]一种分布式数据库的缓存处理方法及系统有效
申请号: | 201410293656.7 | 申请日: | 2014-06-26 |
公开(公告)号: | CN104050276B | 公开(公告)日: | 2017-08-01 |
发明(设计)人: | 李静 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据库 缓存 处理 方法 系统 | ||
1.一种分布式数据库的缓存处理方法,其特征在于,具体包括以下步骤:
步骤1:接收来自客户端的命令,判断是否是首次接收客户端的命令,如果是,执行步骤3;否则,执行步骤2;
步骤2:判断缓存中是否存在与客户端的命令匹配的缓存数据,如果存在,将匹配的缓存数据返回给客户端,结束;否则执行步骤3;
步骤3:解析mysql关系数据库管理系统数据包中的sql结构化查询语言语句,得到sql语句的类型;
步骤4:判断得到的sql语句的类型是否是查询类型,如果是,执行步骤5;否则,执行步骤8;
步骤5:加载缓存配置文件中的配置参数,并根据配置参数连接缓存,得到缓存中的所有key值;解析sql得到sql里的表名称;
步骤6:判断key值里是否包含sql里的表名称,如果是,根据key值获取对应的缓存结果,执行步骤7;否则,执行步骤9;
步骤7:将缓存结果返回给客户端,结束;
步骤8:对sql做路由得到路由结果,根据路由结果发送执行sql,获得mysql数据库返回的缓存结果,执行步骤7;
步骤9:将sql作为key值,将sql的执行结果集作为缓存结果存入缓存中,执行步骤7。
2.根据权利要求1所述的一种分布式数据库的缓存处理方法,其特征在于,所述步骤4与步骤8之间还包括以下步骤:
步骤a:判断sql语句是否是插入、更新或删除类型;如果是,执行步骤b;否则,执行步骤8;
步骤b:解析sql,获得sql中的表名称;
步骤c:根据表名称在缓存中查找包含所述表名称的key值,删除缓存中上述key值对应的数据,执行步骤8。
3.根据权利要求1所述的一种分布式数据库的缓存处理方法,其特征在于,当有事务回滚时,清除缓存中的所有数据。
4.根据权利要求1-3任一项所述的一种分布式数据库的缓存处理方法,其特征在于,所述步骤5中加载缓存配置文件中的配置参数,所述配置参数包括ip地址、端口、缓存表信息。
5.一种分布式数据库的缓存处理系统,其特征在于,包括:接收模块、命令匹配模块、解析模块、判断模块、缓存解析模块、表名称判断模块、路由模块和反馈模块;
所述接收模块接收来自客户端的命令,判断是否是首次接收客户端的命令,如果是,将命令发送到解析模块;否则,将命令发送到命令匹配模块;
所述命令匹配模块判断缓存中是否存在与客户端的命令匹配的缓存数据,如果存在,将匹配的缓存数据返回给客户端;将命令发送到解析模块;
所述解析模块解析mysql关系数据库管理系统数据包中的sql结构化查询语言语句,得到sql语句的类型;
所述判断模块判断得到的sql语句的类型是否是查询类型,如果是,将sql语句发送到缓存解析模块;否则,将sql语句发送到路由模块;
所述缓存解析模块加载缓存配置文件中的配置参数,并根据配置参数连接缓存,得到缓存中的所有key值;解析sql得到sql里的表名称;
所述表名称判断模块判断key值里是否包含sql里的表名称,如果是,根据key值获取对应的缓存结果,并将缓存结果发送到反馈模块;否则,将sql作为key值,将sql的执行结果集作为缓存结果存入缓存中,并将缓存结果发送到反馈模块;
所述路由模块对sql做路由得到路由结果,根据路由结果发送执行sql,获得mysql数据库返回的缓存结果,并将缓存结果发送到反馈模块;
所述反馈模块将缓存结果返回给客户端。
6.根据权利要求5所述的一种分布式数据库的缓存处理系统,其特征在于,还包括设置在路由模块与反馈模块之间的语句判断模块;
所述语句判断模块判断sql语句是否是插入、更新或删除类型;如果是,解析sql,获得sql中的表名称,根据表名称在缓存中查找包含所述表名称的key值,删除缓存中上述key值对应的数据;否则,将缓存结果发送到反馈模块。
7.根据权利要求6所述的一种分布式数据库的缓存处理系统,其特征在于,当有事务回滚时,清除缓存中的所有数据。
8.根据权利要求5-7任一项所述的一种分布式数据库的缓存处理系统,其特征在于,所述缓存解析模块中加载缓存配置文件中的配置参数,所述配置参数包括ip地址、端口、缓存表信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410293656.7/1.html,转载请声明来源钻瓜专利网。