[发明专利]基于zookeeper的事务实现方法及系统在审

专利信息
申请号: 202110099352.7 申请日: 2021-01-25
公开(公告)号: CN113051042A 公开(公告)日: 2021-06-29
发明(设计)人: 鹿国照 申请(专利权)人: 北京思特奇信息技术股份有限公司
主分类号: G06F9/46 分类号: G06F9/46;G06F16/21
代理公司: 北京汇信合知识产权代理有限公司 11335 代理人: 王维新
地址: 100086 北京*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 zookeeper 事务 实现 方法 系统
【说明书】:

发明公开了一种基于zookeeper的事务实现方法及系统,方法包括:对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,提供事务操作函数和节点操作封装函数;利用事务操作函数的beginTransaction函数启动事务;在事务处理过程中,利用节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;利用事务操作函数的commit函数将所有操作作为入参提交至zookeeper;在函数操作异常时,利用事务操作函数的回滚函数对所有操作进行回滚操作。通过本发明的技术方案,极大方便基于zookeeper多目录的操作,不会出现数据不一致,简化了业务操作过程。

技术领域

本发明涉及数据库事务技术领域,尤其涉及一种基于zookeeper的事务实现方法和一种基于zookeeper的事务实现系统。

背景技术

Zookeeper的存储结构是目录结构。为了保证业务数据的一致性,一些应用需要在一个原子操作中同时完成多个zookeeper目录的操作。

在Zookeeper的客户端API Curator包中,提供了一个打包函数,在一次调用中,可同时提交多个目录的修改,并且保证是原子性的。

但在现有技术中,zookeeper中不能应用于事务处理,而且,由于事务操作过程中对节点判断不准确,可能会出现数据不一致,还需要考虑数据反向操作的问题,业务操作繁琐。

发明内容

针对上述问题,本发明提供了一种基于zookeeper的事务实现方法及系统,通过对zookeeper进行封装设计形成类似数据库的事务操作函数集,支持事务的开始、事务中函数操作、事务提交、事务回滚操作,极大方便基于zookeeper多目录的操作,由于zookeeper的事务操作函数和节点操作封装函数的特性和功能,不会出现数据不一致,且业务不需要考虑数据反向操作,只需要调用回滚函数即可回滚所有历史操作,简化了业务操作过程,且同时支持事务和非事务类的操作,zookeeper的操作和业务其他函数可交叉进行,不影响事务操作。

为实现上述目的,本发明提供了一种基于zookeeper的事务实现方法,包括:对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,所述操作类提供事务操作函数和节点操作封装函数;利用所述事务操作函数的beginTransaction函数启动事务;在事务处理过程中,利用所述节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;利用所述事务操作函数的commit函数将所述zookeeper操作列表中的所有操作作为入参提交至zookeeper;在事务处理过程中函数操作异常时,利用所述事务操作函数的回滚函数对所述zookeeper操作列表中的所有操作进行回滚操作。

在上述技术方案中,优选地,所述利用所述节点操作封装函数按照缓冲的zookeeper操作列表对目录节点进行操作具体包括:利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。

在上述技术方案中,优选地,利用所述setData函数进行节点修改过程中:对所述zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;若所述操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;若所述操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。

在上述技术方案中,优选地,利用所述deleteNode函数进行节点删除过程中:调用addCuratorOp函数在所述zookeeper操作列表中增加操作类型为DELETE的操作。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110099352.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top