CN110661841B - 微服务架构中分布式服务发现集群的数据一致性方法 - Google Patents
微服务架构中分布式服务发现集群的数据一致性方法 Download PDFInfo
- Publication number
- CN110661841B CN110661841B CN201910720549.0A CN201910720549A CN110661841B CN 110661841 B CN110661841 B CN 110661841B CN 201910720549 A CN201910720549 A CN 201910720549A CN 110661841 B CN110661841 B CN 110661841B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- node
- nodes
- leader node
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种微服务架构中分布式服务发现集群的数据一致性方法,其包括以下步骤:当客户端一服务实例启动时,从服务发现节点集群中任选一个服务发现节点作为Leader节点进行连接,将自身的服务信息发送到Leader节点中,服务发现节点集群中其他服务发现节点作为Follower节点,服务信息包括服务名称、IP地址、端口号、服务实例当前状态、服务实例数据类型、Leader节点ID、数据版本号、数据写入某一服务发现节点的时间、数据写入服务发现节点集群的时间、以及数据是否提交状态;Leader节点以树形结构存储服务信息;Leader节点将服务信息复制到其他Follower节点中。
Description
技术领域
本发明涉及微服务架构中分布式服务发现集群技术领域,特别是涉及一种微服务架构中分布式服务发现集群的数据一致性方法,通过改进Raft算法保证集群节点数据一致性的同时简化了算法流程。
背景技术
微服务架构自其提出以来,因其良好的灵活性、可扩展性受到了系统设计者的青睐,并逐渐在企业级信息化系统架构设计中成为主流的解决方案。服务发现作为微服务架构的核心组件之一,其高可用性成为影响整个微服务架构整体稳定性的重要因素。单点部署服务发现不仅会带来性能瓶颈,更可能由于服务发现的故障导致整个微服务架构的不可用,所以一般会采用分布式部署的方式来提高服务发现的可用性,由多个服务器共同向外提供服务,当某个节点发生故障时,其他节点可以代替它继续提供服务,极大地减少了整个服务发现组件不可用的情况。
但是,将服务发现采用分布式的方式部署后,节点间由于通信延迟、故障等原因不可避免地会出现数据不一致的问题,如何保证每次向集群读取数据都能得到正确的数据,减少节点间数据不一致的影响一直都是重要的研究领域。目前一般的分布式服务发现都采用经典Paxos、ZAB等算法保证即节点间数据的一致性,但是这些算法采用了复杂的机制来保证普遍的数据一致性。
目前最经典的分布式数据一致性算法有Paxos、ZAB、Raft等算法,这些算法能够非常有效的保证数据的强一致性,并应用在很多成熟的商业软件中。但是,目前还没有一个有效针对服务发现的分布式一致性算法,直接使用这些算法实现难度上较大并而难以满足服务发现的实时性要求。
发明内容
本发明针对现有技术存在的问题和不足,提供一种微服务架构中分布式服务发现集群的数据一致性方法。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供一种微服务架构中分布式服务发现集群的数据一致性方法,其特点在于,其包括以下步骤:
当客户端一服务实例启动时,从服务发现节点集群中任选一个服务发现节点作为Leader节点进行连接,将自身的服务信息发送到Leader节点中,服务发现节点集群中其他服务发现节点作为Follower节点,服务信息包括服务名称、IP地址、端口号、服务实例当前状态、服务实例数据类型、Leader节点ID、数据版本号、数据写入某一服务发现节点的时间、数据写入服务发现节点集群的时间、以及数据是否提交状态;
Leader节点以树形结构存储服务信息;
Leader节点将服务信息复制到其他Follower节点中。
较佳地,客户端与Leader节点建立心跳连接,客户端每隔一段时间将发送一心跳请求给Leader节点,该心跳请求包括该服务实例的服务信息;
Leader节点在树形结构中查找该心跳请求中的服务信息,在未查找到时将心跳请求中的服务信息增添至根节点下,并初始化数据版本号、数据写入Leader节点的时间以及数据状态为不可提交状态,在查找到时更新相应的服务信息,并将数据版本号更新加一操作以及数据状态更新为不可提交状态;
Leader节点向其他Follower节点发送数据复制请求;
Leader节点收到其他Follower节点中半数以上的Follower节点的响应成功的信息时,将该心跳请求中服务信息中的数据状态由不可提交状态修改为可提交状态,将该心跳请求中的服务信息复制到响应成功的Follower节点中,并继续向没有响应成功的Follower节点发送数据复制请求。
较佳地,Follower节点收到数据复制请求时在树形结构中查找数据复制请求中的服务信息,在未查找到时将数据复制请求中的服务信息增添至根节点下,在查找到时对比数据版本号,在数据复制请求中的数据版本号小于等于根节点下的当前数据版本号,则直接反馈响应成功的信息,在数据复制请求中的数据版本号大于根节点下的当前数据版本号,则将根节点下的当前数据修改为不可提交状态,并反馈响应成功的信息,后续复制数据复制请求中的服务信息。
较佳地,选出的服务发现节点以树形结构存储服务信息时,服务实例的服务名称作为根节点的子节点,并按字母表顺序排序,服务实例的IP地址和端口号作为叶子结点存放在相应服务名称的子节点下。
较佳地,Leader节点在客户端发的前一个心跳请求中的服务信息还未成功复制而后一个心跳请求已接收到时,直接采用后一个心跳请求中的服务信息覆盖掉原存储的数据并将数据版本号执行加一操作。
较佳地,Leader节点在收到一个心跳请求后超过一定时间阈值后还未收到心跳请求,则将对应的服务实例置为不可用。
较佳地,当某个Leader节点不可用时,与其连接的服务实例自动重连上新的服务发现节点,新的服务发现节点成为服务实例的新Leader节点并向其他节点同步数据。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明根据服务发现具有客户端多而分散、数据前后关联度不高、实时性强等特点改进Raft算法,保证集群节点数据一致性的同时简化了算法流程。在本场景下,改进后的算法在出错后能以更快的速度恢复数据的一致性。
本发明相对于原Raft算法能够以更简单的方式实现数据一致性,同时在数据过期时,能更稳定更快速地恢复到数据一致性状态。
附图说明
图1为本发明较佳实施例的分布式服务集群架构图。
图2为本发明较佳实施例的服务节点数据存储结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1和2所示,本实施例提供一种微服务架构中分布式服务发现集群的数据一致性方法,其包括以下步骤:
当客户端一服务实例启动时,从服务发现节点集群中任选一个服务发现节点作为Leader节点进行连接,将自身的服务信息发送到Leader节点中,服务发现节点集群中其他服务发现节点作为Follower节点,服务信息包括服务名称、IP地址、端口号、服务实例当前状态、服务实例数据类型、Leader节点ID、数据版本号、数据写入某一服务发现节点的时间、数据写入服务发现节点集群的时间、以及数据是否提交状态。
Leader节点以树形结构存储服务信息;Leader节点以树形结构存储服务信息时,服务实例的服务名称作为根节点的子节点,并按字母表顺序排序,服务实例的IP地址和端口号作为叶子结点存放在相应服务名称的子节点下。
Leader节点将服务信息复制到其他Follower节点中。
首先为了能够快速找到某个服务实例的服务信息,为每个服务发现节点设计树形结构存储所有服务信息,如图2所示。服务实例按服务名称聚合作为根节点的子节点,并按字母表顺序排序,在查找时可以采用二分查找法在log(n)复杂度内快速找到服务。服务的IP地址、端口号等信息则作为叶子结点存放在相应服务名称的节点下。其中服务名称、IP和端口号作为主键用来唯一确定一个服务。
为了配合分布式一致性算法,每个叶子结点存储的信息如表1所示。
表1存储结构叶子结点字段
一般来说,各个服务只需要选择一个服务发现集群中的节点进行连接和注册,由该节点来向其他节点进行数据同步。因此,本算法去除掉Leader的任期和选举步骤,直接让每个服务发现节点自动成为与其直接连接的服务实例所代表的数据的Leader节点。然而在实际过程中,为了单个服务器的注册压力,不同的服务可能会连接上不同的节点,这就是导致来本系统中可能有多个Leader节点,但是,每个Leader节点只负责向其他节点复制的数据为type的值为“connect”的数据。可以看出,集群中的数据根据服务连接的服务发现节点被分解成不同的集合,每个集合仅有一个Leader,因此对每个集合单独使用Raft算法进行同步。
当某个Leader节点不可用时(比如Leader直接崩溃,或者由于网络不畅Leader节点长时间未响应),与其连接的服务实例会自动重连上新的服务发现节点,新的节点成为这些服务实例的新Leader并向其他节点同步数据。原节点恢复或者重启后,将会根据其他Leader发来的数据自动降级,并同步数据。
客户端每隔一段时间会将自身的服务名称(name)、IP地址、端口号(port)和状态(status)发送给与其连接的服务发现节点,节点接收到来自客户端心跳连接后,将作为Leader节点采用Raft的两阶段算法向所有其他节点同步与其直连的服务数据,而不需要对所有数据进行全量同步。
由于每个服务实例的数据都相互独立,比如计划服务的IP和端口号等数据的改变并不会影响到仓库回复的IP和端口号等数据,并且算法对时效性要求较高,某个服务实例下线后需要迅速通知到集群的其他节点,避免错误调用,因此若每个节点用Raft算法统一的状态机机模型不利于算法的时效性。本算法简化了Raft算法中的状态机模型,为每个服务实例所对应的叶子节点增加字段“status”代表数据提交的状态。
本算法取消了任期,为保证数据能更新到最新的值,本算法为每个数据项设置了一个单独的版本号作为逻辑时钟。具体的同步过程如下:
客户端与Leader节点建立心跳连接,客户端每隔一段时间将发送一心跳请求给Leader节点,该心跳请求包括该服务实例的服务信息;
Leader节点在树形结构中查找该心跳请求中的服务信息,在未查找到时将心跳请求中的服务信息增添至根节点下,并初始化数据版本号、数据写入Leader节点的时间以及数据状态为不可提交状态,在查找到时更新相应的服务信息,并将数据版本号更新加一操作以及数据状态更新为不可提交状态;
Leader节点向其他Follower节点发送数据复制请求;
Leader节点收到其他Follower节点中半数以上的Follower节点的响应成功的信息时,将该心跳请求中服务信息中的数据状态由不可提交状态修改为可提交状态,将该心跳请求中的服务信息复制到响应成功的Follower节点中,并继续向没有响应成功的Follower节点发送数据复制请求。
Leader节点在客户端发的前一个心跳请求中的服务信息还未成功复制而后一个心跳请求已接收到时,直接采用后一个心跳请求中的服务信息覆盖掉原存储的数据并将数据版本号执行加一操作。这是因为本方法的数据状态并不依赖前一个数据状态,也就是可以直接使用最新的数据,因此不需要像Raft算法以下将数据放入状态机来保证操作的顺序。
进一步地,Follower节点收到数据复制请求时在树形结构中查找数据复制请求中的服务信息,在未查找到时将数据复制请求中的服务信息增添至根节点下,在查找到时对比数据版本号,在数据复制请求中的数据版本号小于等于根节点下的当前数据版本号,则直接反馈响应成功的信息,在数据复制请求中的数据版本号大于根节点下的当前数据版本号,则将根节点下的当前数据修改为不可提交状态,并反馈响应成功的信息,后续复制数据复制请求中的服务信息。
与一般分布式数据一致性不同的是,本系统的服务实例状态具有实效性,当超过一定时间阈值后,服务实例将会被认为不可用。这种情况一般发生在与服务发现节点直连的服务实例崩溃,导致长时间未收到心跳包,当某个服务实例超过时间阈值(timeThreshold)后,应该将该服务实例置为不可用。还有比较复杂的原因,比如由于网络分区,导致某个服务实例的Leader节点与集群断开,同时服务实例也因为网络原因无法重新连接上新的服务发现节点时,当超过时间阈值后,也需要将集群中的该服务的状态置为不可用。
当服务网关或者服务需要查询某个服务的信息时,为了保证算法的强一致性,需要向集群大多数节点(超过一半)请求某个服务的数据,在所有的返回数据中选择版本号最新并且状态为“on”的服务实例数据,该数据就是可用的服务实例。该读取规则保证了在一半节点不可用或者数据错误时,也能读到正确的数据。
本发明根据服务发现具有客户端多而分散、数据前后关联度不高、实时性强等特点改进Raft算法,保证集群节点数据一致性的同时简化了算法流程。主要有:(1)本算法将数据分成不同的集合,并去除掉Leader的任期和选举步骤,直接让每个服务发现节点自动成为与其直接连接的服务实例所代表的数据的Leader节点,并为每个数据添加数据版本号作为逻辑时钟。(2)在数据复制时,简化数据状态机模型,为每个数据添加数据状态字段。(3)新增数据过期机制。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (5)
1.一种微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,其包括以下步骤:
当客户端一服务实例启动时,从服务发现节点集群中任选一个服务发现节点作为Leader节点进行连接,将自身的服务信息发送到Leader节点中,服务发现节点集群中其他服务发现节点作为Follower节点,服务信息包括服务名称、IP地址、端口号、服务实例当前状态、服务实例数据类型、Leader节点ID、数据版本号、数据写入某一服务发现节点的时间、数据写入服务发现节点集群的时间、以及数据是否提交状态;
Leader节点以树形结构存储服务信息;
Leader节点将服务信息复制到其他Follower节点中;
客户端与Leader节点建立心跳连接,客户端每隔一段时间将发送一心跳请求给Leader节点,该心跳请求包括该服务实例的服务信息;
Leader节点在树形结构中查找该心跳请求中的服务信息,在未查找到时将心跳请求中的服务信息增添至根节点下,并初始化数据版本号、数据写入Leader节点的时间以及数据状态为不可提交状态,在查找到时更新相应的服务信息,并将数据版本号更新加一操作以及数据状态更新为不可提交状态;
Leader节点向其他Follower节点发送数据复制请求;
Leader节点收到其他Follower节点中半数以上的Follower节点的响应成功的信息时,将该心跳请求中服务信息中的数据状态由不可提交状态修改为可提交状态,将该心跳请求中的服务信息复制到响应成功的Follower节点中,并继续向没有响应成功的Follower节点发送数据复制请求;
Follower节点收到数据复制请求时在树形结构中查找数据复制请求中的服务信息,在未查找到时将数据复制请求中的服务信息增添至根节点下,在查找到时对比数据版本号,在数据复制请求中的数据版本号小于等于根节点下的当前数据版本号,则直接反馈响应成功的信息,在数据复制请求中的数据版本号大于根节点下的当前数据版本号,则将根节点下的当前数据修改为不可提交状态,并反馈响应成功的信息,后续复制数据复制请求中的服务信息。
2.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,选出的服务发现节点以树形结构存储服务信息时,服务实例的服务名称作为根节点的子节点,并按字母表顺序排序,服务实例的IP地址和端口号作为叶子结点存放在相应服务名称的子节点下。
3.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,Leader节点在客户端发的前一个心跳请求中的服务信息还未成功复制而后一个心跳请求已接收到时,直接采用后一个心跳请求中的服务信息覆盖掉原存储的数据并将数据版本号执行加一操作。
4.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,Leader节点在收到一个心跳请求后超过一定时间阈值后还未收到心跳请求,则将对应的服务实例置为不可用。
5.如权利要求1所述的微服务架构中分布式服务发现集群的数据一致性方法,其特征在于,当某个Leader节点不可用时,与其连接的服务实例自动重连上新的服务发现节点,新的服务发现节点成为服务实例的新Leader节点并向其他节点同步数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910720549.0A CN110661841B (zh) | 2019-08-06 | 2019-08-06 | 微服务架构中分布式服务发现集群的数据一致性方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910720549.0A CN110661841B (zh) | 2019-08-06 | 2019-08-06 | 微服务架构中分布式服务发现集群的数据一致性方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661841A CN110661841A (zh) | 2020-01-07 |
CN110661841B true CN110661841B (zh) | 2022-05-20 |
Family
ID=69036428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910720549.0A Active CN110661841B (zh) | 2019-08-06 | 2019-08-06 | 微服务架构中分布式服务发现集群的数据一致性方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661841B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865714B (zh) * | 2020-06-24 | 2022-08-02 | 上海上实龙创智能科技股份有限公司 | 一种基于多云环境的集群管理方法 |
CN112068939A (zh) * | 2020-08-24 | 2020-12-11 | 浙江知水信息技术有限公司 | 一种多预警服务调度的方法及系统 |
CN114666348B (zh) * | 2022-05-25 | 2022-11-11 | 广东睿江云计算股份有限公司 | 一种基于python语言快速构建分布式系统的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559263A (zh) * | 2016-11-17 | 2017-04-05 | 杭州沃趣科技股份有限公司 | 一种改进的分布式一致性算法 |
CN106911728A (zh) * | 2015-12-22 | 2017-06-30 | 华为技术服务有限公司 | 分布式系统中主节点的选取方法和装置 |
CN107295080A (zh) * | 2017-06-19 | 2017-10-24 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10614098B2 (en) * | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
-
2019
- 2019-08-06 CN CN201910720549.0A patent/CN110661841B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911728A (zh) * | 2015-12-22 | 2017-06-30 | 华为技术服务有限公司 | 分布式系统中主节点的选取方法和装置 |
CN106559263A (zh) * | 2016-11-17 | 2017-04-05 | 杭州沃趣科技股份有限公司 | 一种改进的分布式一致性算法 |
CN107295080A (zh) * | 2017-06-19 | 2017-10-24 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110661841A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
US10713134B2 (en) | Distributed storage and replication system and method | |
US10979286B2 (en) | Method, device and computer program product for managing distributed system | |
CN110661841B (zh) | 微服务架构中分布式服务发现集群的数据一致性方法 | |
US20090144338A1 (en) | Asynchronously replicated database system using dynamic mastership | |
US20090144220A1 (en) | System for storing distributed hashtables | |
EP3340055A1 (en) | Communicating state information in distributed operating systems | |
US9734199B1 (en) | Data replication framework | |
US9268835B2 (en) | Data replication framework | |
CN108090222B (zh) | 一种数据库集群节点间数据同步系统 | |
EP3340054A1 (en) | Maintaining coherency in distributed operating systems for network devices | |
CN107832138B (zh) | 一种扁平化的高可用namenode模型的实现方法 | |
CN111258822A (zh) | 数据处理方法、服务器和计算机可读存储介质 | |
US20140108532A1 (en) | System and method for supporting guaranteed multi-point delivery in a distributed data grid | |
CN107465735B (zh) | 分布式消息系统 | |
GB2484086A (en) | Reliability and performance modes in a distributed storage system | |
EP3039549A1 (en) | Distributed file system using consensus nodes | |
CN105493474B (zh) | 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法 | |
US20210320977A1 (en) | Method and apparatus for implementing data consistency, server, and terminal | |
US10198492B1 (en) | Data replication framework | |
CN109639773B (zh) | 一种动态构建的分布式数据集群控制系统及其方法 | |
CN107038192B (zh) | 数据库容灾方法和装置 | |
US20090144333A1 (en) | System for maintaining a database | |
CN105323271B (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN111400065B (zh) | 一种分离全局zookeeper的pulsar消息异地多活方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 317-108, Building 12, No. 2, Binjiang West Road, Jiangyin City, Wuxi City, Jiangsu Province, 214400 (business site: Room 301-3, No. 18, Haigang Road, Jiangyin City) Patentee after: JIANGYIN ZHURI INFORMATION TECHNOLOGY Co.,Ltd. Address before: Room 1709, building 3, 8 Binjiang West Road, Jiangyin City, Wuxi City, Jiangsu Province, 214400 Patentee before: JIANGYIN ZHURI INFORMATION TECHNOLOGY Co.,Ltd. |