CN111460030A - 基于ZooKeeper的分布式数据交换*** - Google Patents
基于ZooKeeper的分布式数据交换*** Download PDFInfo
- Publication number
- CN111460030A CN111460030A CN202010193502.6A CN202010193502A CN111460030A CN 111460030 A CN111460030 A CN 111460030A CN 202010193502 A CN202010193502 A CN 202010193502A CN 111460030 A CN111460030 A CN 111460030A
- Authority
- CN
- China
- Prior art keywords
- zookeeper
- client
- service
- server
- exchange
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于ZooKeeper的分布式数据交换***,包括以下步骤:S1、为分布式***中的ZooKeeper客户端构建集群化的ZooKeeper服务端;S2、在ZooKeeper服务建立时,分布式***中ZooKeeper客户端主动与服务端建立Session会话连接;S3、在ZooKeeper客户端与ZooKeeper服务端建立会话连接后,向ZooKeeper注册节点信息。本发明所述的基于ZooKeeper的分布式数据交换***采用ZooKeeper实现分布式数据交换***大大提高了服务的可靠性和稳定性,此外分布式数据交换方式使得集群中各服务按照不同的分工并行进行数据采集和传输,较单点式***大大降低了单个服务器的负载,使得数据交换服务的运行压力得以分担。
Description
技术领域
本发明属于数据处理领域,尤其是涉及一种基于ZooKeeper的分布式数据交换***。
背景技术
随着信息化和大数据技术的快速发展,数据的重要性不言而喻,我们通过对数据进行汇总和分析使得数据的价值得以体现。然而多数情况下,存在着数据多源性、类型多样性等特点,为使数据分析结果准确,就需要数据采集交换的完备性和及时性作为保证。因此,数据采集交换的稳定性和可靠性显得尤为重要。随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构。但是由于***采用分布式部署以及不同业务场景下数据类型多样等原因,给分布式***中信息数据的集中化管理带来了一定难度。传统的分布式***架构中,使用业务数据集中采集和并配合交换服务***,以单节点部署的方式实现所有管理信息的汇总和业务***间数据的同步。此种数据采集方案实现较为简单,在分布式***中模块较少并且业务量较低的场景下可以支撑起信息汇总和数据同步的需求。
由于采集数据数据的来源多样性,部分类型数据更新频率快且需要同步的数据量庞大,当单点服务出现故障时,无法及时解决,会导致数据同步延时并影响业务***对数据处理和分析结果的准确性和实时性。
发明内容
有鉴于此,本发明旨在提出一种基于ZooKeeper的分布式数据交换***,采用ZooKeeper实现分布式数据交换***大大提高了服务的可靠性和稳定性,此外分布式数据交换方式使得集群中各服务按照不同的分工并行进行数据采集和传输,较单点式***大大降低了单个服务器的负载,使得数据交换服务的运行压力得以分担。
为达到上述目的,本发明的技术方案是这样实现的:
基于ZooKeeper的分布式数据交换***,包括以下步骤:
S1、为分布式***中的ZooKeeper客户端构建集群化的ZooKeeper服务端;
S2、在ZooKeeper服务建立时,分布式***中ZooKeeper客户端主动与服务端建立Session会话连接;
S3、在ZooKeeper客户端与ZooKeeper服务端建立会话连接后,向ZooKeeper注册节点信息;
其中,ZooKeeper的视图结构使用的数据节点方式为Znode;
所述ZooKeeper的节点构成的文件***层级为树状结构,用于存储交换服务各节点的地址信息以及数据交换任务的执行位置和状态;
ZooKeeper客户端通过Watcher通知向服务端进行通知订阅,服务端根据客户端订阅的内容在更新时进行通知;
当服务端某个交换服务中断且在Session超时后,服务端向客户端发送Watcher事件,告知用于接管异常交换服务的新交换服务。
进一步的,ZooKeeper的数据结构中Znode的节点包括主节点Leader以及从节点Follower,所述从节点Follower包括多个从属节点。
进一步的,当主节点Leader交换服务在Session超时时间内未能重新建立与客户端的连接,该主节点Leader便失去了服务的控制权,其它的从节点Follower交换服务将Session状态变为LOOKING,然后开始进入选举,选出新的主节点Leader。
进一步的,当客户端与交换服务网络中断时,客户端自动向其它节点进行重连,如果在有效时间重连成功,则继续由该节点提供交换服务;
如果出现重连异常,则出现以下情况:
出现连接断开情况,则客户端向其它节点进行重连,若所有节点都无法连接成功,则当前无可用交换服务;
出现会话过期情况,在有效时间之外重新连接成功,客户端重新实例化ZooKeeper对象并恢复临时数据。
进一步的,在步骤S1中分布式***中的每个模块均设有一个对应的交换服务。
相对于现有技术,本发明所述的基于ZooKeeper的分布式数据交换***具有以下优势:
本发明所述的基于ZooKeeper的分布式数据交换***采用多台数据交换服务作为集群替代之前单点式的部署架构,通过服务器配置使集群中每台服务器分别采集不同***上的数据,形成多台交换服务器同时采集分布式***中不同模块的并发模式,极大的提高了数据交换的效率,同时减轻了单台交换服务器的负载压力,若分布式集群中单台交换服务器出现故障,就临时由其它服务器进行接管继续提供交换服务,从而保障服务的可靠性。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的基于ZooKeeper的分布式数据交换***示意图;
图2为本发明实施例所述的基于ZooKeeper的分布式数据交换***结构图示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1和图2所示,基于ZooKeeper的分布式数据交换***,包括以下步骤:
S1、为分布式***中的ZooKeeper客户端构建集群化的ZooKeeper服务端;
S2、在ZooKeeper服务建立时,分布式***中ZooKeeper客户端主动与服务端建立Session会话连接;
S3、在ZooKeeper客户端与ZooKeeper服务端建立会话连接后,向ZooKeeper注册节点信息;
其中,ZooKeeper的视图结构使用的数据节点方式为Znode;
所述ZooKeeper的节点构成的文件***层级为树状结构,用于存储交换服务各节点的地址信息以及数据交换任务的执行位置和状态;
ZooKeeper客户端通过Watcher通知向服务端进行通知订阅,服务端根据客户端订阅的内容在更新时进行通知;
当服务端某个交换服务中断且在Session超时后,服务端向客户端发送Watcher事件,告知用于接管异常交换服务的新交换服务。
ZooKeeper的数据结构中Znode的节点包括主节点Leader以及从节点Follower,所述从节点Follower包括多个从属节点。
当主节点Leader交换服务在Session超时时间内未能重新建立与客户端的连接,该主节点Leader便失去了服务的控制权,其它的从节点Follower交换服务将Session状态变为LOOKING,然后开始进入选举,选出新的主节点Leader。
当客户端与交换服务网络中断时,客户端自动向其它节点进行重连,如果在有效时间重连成功,则继续由该节点提供交换服务;
如果出现重连异常,则出现以下情况:
出现连接断开情况,则客户端向其它节点进行重连,若所有节点都无法连接成功,则当前无可用交换服务;
出现会话过期情况,在有效时间之外重新连接成功,客户端重新实例化ZooKeeper对象并恢复临时数据。
在步骤S1中分布式***中的每个模块均设有一个对应的交换服务。
本方案中,ZooKeeper是一个开源的分布式协调服务组件,实现自动化集群管理、分布式协调、配置维护、域名服务等功能,保证分布式集群的一致性。可以记录服务节点的元数据和状态信息,建立针对某服务节点工作状态的事件监听,提供统一命名、分布式锁等基础服务。另外通过自有的ZAB协议来保证分布式应用之间存储数据的一致性。
分布式数据交换***的架构图如图1所示(以云服务厂商门户网站为例):
***搭建过程:
1、首先,我们为分布式***中的各个模块分别提供一个交换服务,构建一个集群化的交换服务作为ZooKeeper的服务端;
2、在ZooKeeper服务建立时,分布式***中各个模块(即ZooKeeper客户端)主动与服务端建立Session会话连接。
3、在会话创建后下一步是向ZooKeeper注册节点信息。注册节点的目的是使ZooKeeper了解每个交换服务的基本信息和任务信息,以便某个交换服务发生异常情况时,通知其它交换服务进行接管操作。ZooKeeper的视图结构使用的数据节点方式称为ZNode,文件***层级树状结构,用来存储交换服务各节点的地址信息以及数据交换任务的执行位置和状态。ZNode数据结构如图2所示,从图中可以看出ZooKeeper的数据结构中ZNode节点有四种类型:Leader、Follower、Task、Assign,分别指主节点、从节点、任务和任务的分派情况等信息,其中Task和Assign节点是在生成任务时才进行写入的。通过集中管理主从成员的任务执行情况,实现了分布式集群服务一致性的可靠保障。
4、在ZooKeeper中,Watcher机制实现了订阅发布模式的分布式通知功能,即ZooKeeper客户端向服务端进行通知订阅,服务端会根据客户端订阅的内容在更新时进行通知。本***中,当服务端某个交换服务中断,在Session超时后,会向客户端发送Watcher事件,告知由哪个交换服务来进行接管。
5、当Leader交换服务在Session超时时间内未能重新建立与客户端的连接,该Leader便失去了服务的控制权,其它的Follower交换服务将Session状态变为LOOKING,然后开始进入选举,选出新的Leader。
6、当客户端与交换服务网络中断时,客户端会自动向其它节点进行重连,如果在有效时间重连成功,则继续由该节点提供交换服务;如果出现重连异常,会出现两种情况:CONNECTION_LOSS(连接断开)和SESSION_EXPIRED(会话过期),如果连接断开则客户端会向其它节点进行重连,若所有节点都无法连接成功,则当前无可用交换服务;如果在有效时间之外重新连接成功虽然连接建立,但会话已失效,这时需要客户端重新实例化ZooKeeper对象并恢复临时数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.基于ZooKeeper的分布式数据交换***,其特征在于,包括以下步骤:
S1、为分布式***中的ZooKeeper客户端构建集群化的ZooKeeper服务端;
S2、在ZooKeeper服务建立时,分布式***中ZooKeeper客户端主动与服务端建立Session会话连接;
S3、在ZooKeeper客户端与ZooKeeper服务端建立会话连接后,向ZooKeeper注册节点信息;
其中,ZooKeeper的视图结构使用的数据节点方式为Znode;
所述ZooKeeper的节点构成的文件***层级为树状结构,用于存储交换服务各节点的地址信息以及数据交换任务的执行位置和状态;
ZooKeeper客户端通过Watcher通知向服务端进行通知订阅,服务端根据客户端订阅的内容在更新时进行通知;
当服务端某个交换服务中断且在Session超时后,服务端向客户端发送Watcher事件,告知用于接管异常交换服务的新交换服务。
2.根据权利要求1所述的基于ZooKeeper的分布式数据交换***,其特征在于:ZooKeeper的数据结构中Znode的节点包括主节点Leader以及从节点Follower,所述从节点Follower包括多个从属节点。
3.根据权利要求2所述的基于ZooKeeper的分布式数据交换***,其特征在于:当主节点Leader交换服务在Session超时时间内未能重新建立与客户端的连接,该主节点Leader便失去了服务的控制权,其它的从节点Follower交换服务将Session状态变为LOOKING,然后开始进入选举,选出新的主节点Leader。
4.根据权利要求1所述的基于ZooKeeper的分布式数据交换***,其特征在于:当客户端与交换服务网络中断时,客户端自动向其它节点进行重连,如果在有效时间重连成功,则继续由该节点提供交换服务;
如果出现重连异常,则出现以下情况:
出现连接断开情况,则客户端向其它节点进行重连,若所有节点都无法连接成功,则当前无可用交换服务;
出现会话过期情况,在有效时间之外重新连接成功,客户端重新实例化ZooKeeper对象并恢复临时数据。
5.根据权利要求1所述的基于ZooKeeper的分布式数据交换***,其特征在于:在步骤S1中分布式***中的每个模块均设有一个对应的交换服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010193502.6A CN111460030A (zh) | 2020-03-18 | 2020-03-18 | 基于ZooKeeper的分布式数据交换*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010193502.6A CN111460030A (zh) | 2020-03-18 | 2020-03-18 | 基于ZooKeeper的分布式数据交换*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111460030A true CN111460030A (zh) | 2020-07-28 |
Family
ID=71682105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010193502.6A Pending CN111460030A (zh) | 2020-03-18 | 2020-03-18 | 基于ZooKeeper的分布式数据交换*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460030A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367373A (zh) * | 2020-10-27 | 2021-02-12 | 浙江大华技术股份有限公司 | 分布式***的节点确定方法和装置及存储介质 |
CN113055461A (zh) * | 2021-03-09 | 2021-06-29 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 |
CN113535391A (zh) * | 2021-06-28 | 2021-10-22 | 北京东方国信科技股份有限公司 | 跨域大数据平台的分布式集群状态信息管理方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639773A (zh) * | 2018-11-26 | 2019-04-16 | 中国船舶重工集团公司第七六研究所 | 一种动态构建的分布式数据集群控制***及其方法 |
-
2020
- 2020-03-18 CN CN202010193502.6A patent/CN111460030A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639773A (zh) * | 2018-11-26 | 2019-04-16 | 中国船舶重工集团公司第七六研究所 | 一种动态构建的分布式数据集群控制***及其方法 |
Non-Patent Citations (1)
Title |
---|
陶小菘等: ""基于ZooKeeper的警用装备分布式数据交换***的设计与实现"" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367373A (zh) * | 2020-10-27 | 2021-02-12 | 浙江大华技术股份有限公司 | 分布式***的节点确定方法和装置及存储介质 |
CN112367373B (zh) * | 2020-10-27 | 2022-06-24 | 浙江大华技术股份有限公司 | 分布式***的节点确定方法和装置及存储介质 |
CN113055461A (zh) * | 2021-03-09 | 2021-06-29 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 |
CN113535391A (zh) * | 2021-06-28 | 2021-10-22 | 北京东方国信科技股份有限公司 | 跨域大数据平台的分布式集群状态信息管理方法及*** |
CN113535391B (zh) * | 2021-06-28 | 2024-04-16 | 北京东方国信科技股份有限公司 | 跨域大数据平台的分布式集群状态信息管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460030A (zh) | 基于ZooKeeper的分布式数据交换*** | |
US8493978B2 (en) | Distributed master election | |
US5706508A (en) | System and method for monitoring SNMP tables | |
CN102739775A (zh) | 物联网数据采集服务器集群的监控和管理方法 | |
CN110990047B (zh) | 用于多个微服务架构的融合方法及装置 | |
US20080021984A1 (en) | Method and system for identifying and conducting inventory of computer assets on a network | |
CN111464612B (zh) | 一种恶劣环境下提供稳定计算服务的方法 | |
US20040028069A1 (en) | Event bus with passive queuing and active routing | |
CN103188101A (zh) | 一种分布式采集调度方法及装置 | |
CN111885439B (zh) | 一种光网络综合管理和值勤管理*** | |
CN109547875A (zh) | 一种fc交换网络任意端口接入设计方法 | |
US20140358812A1 (en) | Dynamic information sharing platform | |
US20060120384A1 (en) | Method and system for information gathering and aggregation in dynamic distributed environments | |
CN103795575A (zh) | 一种面向多数据中心的***监控方法 | |
WO2022162465A1 (en) | Systems and methods for the temporal monitoring and visualization of network health of direct interconnect networks | |
CN115102986B (zh) | 一种边缘环境下物联网数据分发、存储方法及*** | |
CN210804735U (zh) | 一种智能电表 | |
EP2119113B1 (en) | System, method, and network node for checking the consistency of node relationship information in the nodes of a strongly connected network | |
CN113055461B (zh) | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 | |
CN113765690A (zh) | 集群切换方法、***、装置、终端、服务器及存储介质 | |
CN109302319B (zh) | 报文池分布式集群及其管理方法 | |
CN112417050A (zh) | 数据同步方法和装置、***、存储介质及电子装置 | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件*** | |
CN109120443A (zh) | 一种网络附加存储nas设备的管理方法和装置 | |
US8275869B2 (en) | Re-synchronizing data between network elements and network management system using partial node discovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |