[发明专利]分布式内存数据库的事务分析混合处理方法及数据库有效
申请号: | 201910954875.8 | 申请日: | 2019-10-09 |
公开(公告)号: | CN110874290B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 陈榕;沈斯杰;陈海波;臧斌宇 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/50;G06F16/22 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 内存 数据库 事务 分析 混合 处理 方法 | ||
1.一种分布式内存数据库的事务分析混合处理方法,其特征在于,包括:在主节点上处理事务型请求,在备份节点上处理分析型请求,并且主节点和备份节点的同步,复用原有的容错数据同步的协议;
所述分布式内存数据库的事务分析混合处理方法具体包括步骤:
步骤1:服务端在接收到来自客户端的请求后判断请求类型,若判断结果为事务型请求则执行事务型请求流程,若判断结果为分析型请求则执行分析型请求流程;
事务型请求流程:
步骤2:在服务端解析事务型请求并在主节点上执行事务;生成事务日志,事务日志中含有版本号,事务日志通过网络传送到备份节点上;
步骤3:待事务日志传输至所有备份节点后,主节点返回事务提交的通知至客户端;
步骤4:备份节点上接收到主节点传送来的事务日志,将日志中的数据从行数据恢复至列数据存储在备份节点上,并用事务日志中的版本号,进行多版本存储;
步骤5:若备份节点上将所有当前版本号的事务日志全部恢复之后,增加该备份节点的可读版本至当前版本号,并且该备份节点的可清理版本增加;
分析型请求流程:
步骤6:服务端对分析型请求进行解析,并根据数据划分计算出将会牵涉到的备份节点;
步骤7:在计算出的备份节点上获取最小的可读版本作为进行只读操作的数据版本,在备份节点上对数据进行定位和查询;
步骤8:将定位和查询结果返回给客户端;
步骤2中的事务日志复用本身事务处理中的版本号;
当事务协议中没有版本号时,由一个协调者节点负责分发,初始化为1,每隔一段时间进行增长并负责分发给所有节点,时间间隔不小于25毫秒;
各个节点之间通过流言协议进行版本号的同步,版本号在事务的提交阶段写在日志中;
步骤5中的可读版本初始化为0,可清理版本初始化为1,当一个备份节点上符合可清理版本的所有事务日志全部清理完成,对可读版本和可清理版本均加1处理,对于大于可清理版本的事务日志,备份节点上不能清理,仍旧保留在日志队列中。
2.根据权利要求1所述的分布式内存数据库的事务分析混合处理方法,其特征在于,步骤1中根据请求中是否有写操作来区分请求类型。
3.根据权利要求1所述的分布式内存数据库的事务分析混合处理方法,其特征在于,步骤3中传输到备份节点是将日志保存在备份节点内存上的日志区域中。
4.根据权利要求1所述的分布式内存数据库的事务分析混合处理方法,其特征在于,步骤4中恢复成的多版本列式数据包括以块为粒度进行版本控制,一个块的粒度为4KB。
5.根据权利要求1所述的分布式内存数据库的事务分析混合处理方法,其特征在于,步骤6中计算将会牵涉到的备份节点是通过请求中的谓词和数据划分进行判断,若无法计算出,则牵涉到所有备份节点。
6.一种数据库,其特征在于,采用权利要求1至5任意一项所述的分布式内存数据库的事务分析混合处理方法进行事务-分析混合处理。
7.根据权利要求6所述的数据库,其特征在于,所述数据库包括服务端和客户端,所述服务端包括:
主节点:负责处理事务型请求;
备份节点:负责数据备份和容错以及处理分析型请求;
版本号协调器:负责发布版本号;
请求调度器:负责请求的解析、数据划分和负载均衡;
其中,所述客户端和所述服务端采用客户机/服务器模式,组建成局域网络。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910954875.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种滤波器用固定机构
- 下一篇:一种双层中空防火隔音墙