一种基于Zookeeper的多服务间异步进度控制的方法及系统技术方案

技术编号:9667746 阅读:177 留言:0更新日期:2014-02-14 06:01
一种基于Zookeeper的多服务间异步进度控制的方法及系统,所述方法包括,新建一个节点;多个服务分别在Zookeeper上注册观察所述新建的节点的监听;当总任务开始后,在所述新建的节点上写入包括当前需要处理的子任务和处理该子任务的服务的相关信息;所述多个服务通过监听获取所述相关信息;每个服务根据所述相关信息进行处理;当所有子任务处理完毕,则总任务结束。本发明专利技术能够高效、简便地实现多服务间的异步进度控制。

【技术实现步骤摘要】
—种基于Zookeeper的多服务间异步进度控制的方法及系统
本专利技术涉及分布式系统领域,尤其涉及一种基于Zook^per的多服务间异步进度控制的方法及系统。
技术介绍
复杂软件一般由不同的服务共同协调完成一项复杂的功能。这些不同的服务有可能运行在相同的物理服务器上,也有可能运行在不同的物理服务器上。不管对方服务运行在哪,多服务间需要以某种事先协商好的机制统一协调进度,并按照一定步骤共同完成某项负责的任务,但是目前还没有一种很好的方法来高效、简便地实现上述多服务间的异步进度控制。Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务。在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。Zookeeper使用Watcher察觉事件信息,当客户端接收到事件信息,比如连接超时,节点数据改变,子节点改变,可以调用相应的行为来处理数据。在对现有技术的研究和实践过程中,专利技术人发现现有技术至少存在以下问题:对于上述复杂软件目前还没有一种很好的方法来高效、简便地实现上述多服务间的异步进度控制,同时Zookeeper尚不能直本文档来自技高网...

【技术保护点】
一种基于Zookeeper的多服务间异步进度控制的方法,其特征在于:包括步骤:S1、新建一个节点;S2、多个服务分别在Zookeeper上注册观察所述新建的节点的监听;S3、当总任务开始后,在所述新建的节点上写入包括当前需要处理的子任务和处理该子任务的服务的相关信息;S4、所述多个服务通过监听获取所述相关信息;S5、每个服务根据所述相关信息进行处理;S6、当所有子任务处理完毕,则总任务结束。

【技术特征摘要】
1.一种基于Zookeeper的多服务间异步进度控制的方法,其特征在于:包括步骤: S1、新建一个节点; S2、多个服务分别在Zooke^er上注册观察所述新建的节点的监听; S3、当总任务开始后,在所述新建的节点上写入包括当前需要处理的子任务和处理该子任务的服务的相关信息; S4、所述多个服务通过监听获取所述相关信息; S5、每个服务根据所述相关信息进行处理; S6、当所有子任务处理完毕,则总任务结束。2.根据权利要求1所述的方法,其特征在于:步骤S5中,所述每个服务根据所述相关信息进行处理包括步骤: S501、判断所述相关信息中的子任务是否为自己的子任务,如果不是则忽略所述相关信息; S502、如果是,则开始处理所述子任务; S503、处理完毕后,在所述新建节点中写入新的包括当前需要处理的子任务和处理该子任务的服务的相关信息。3.根据权利要求1所述的方法,其特征在于:所述步骤S6具体包括:当所有子任务处理完毕,删除所述新建的节点,所述多个服务通过监听获知所述新建的节点被删除,总任务结束。4.一种基于Zook^per的多服务间异步进度控制的系统,其特征在于,包括: 节点控制单元,用于新建和删除节点; 任务控制单元,用于写入包括当前需要处理的子任务和处理该子任务的服务的相关信息; 处理单元,用于处理所述...

【专利技术属性】
技术研发人员:徐安
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1