CN107295063B - 在对等分布式系统中新增节点的方法及对等分布式系统 - Google Patents

在对等分布式系统中新增节点的方法及对等分布式系统 Download PDF

Info

Publication number
CN107295063B
CN107295063B CN201710330471.2A CN201710330471A CN107295063B CN 107295063 B CN107295063 B CN 107295063B CN 201710330471 A CN201710330471 A CN 201710330471A CN 107295063 B CN107295063 B CN 107295063B
Authority
CN
China
Prior art keywords
node
data
newly
record
server 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
Application number
CN201710330471.2A
Other languages
English (en)
Other versions
CN107295063A (zh
Inventor
洪利平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710330471.2A priority Critical patent/CN107295063B/zh
Publication of CN107295063A publication Critical patent/CN107295063A/zh
Application granted granted Critical
Publication of CN107295063B publication Critical patent/CN107295063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了在对等分布式系统中新增节点的方法及对等分布式系统,通过提供一种在对等分布式系统中新增节点的方法,使得源服务器节点向新增节点进行数据迁移的同时能够将写操作并行同步至新增节点,解决在数据迁移完成后才能够同步写操作导致的耗时较长问题;进一步地,在路由变更过程中也能够很好地支持数据访问和遍历操作。

Description

在对等分布式系统中新增节点的方法及对等分布式系统
技术领域
本发明涉及分布式计算领域,尤其涉及在对等分布式系统中新增节点的方法及对等分布式系统。
背景技术
目前常用的在对等分布式系统中新增节点的方法如图1(a)-(d)所示,首先将源服务器节点数据迁移至新增节点,然后再由源服务器节点向新增节点同步写操作,最后暂停客户节点对源服务器节点的访问并进行路由变更直至变更完成后源服务器节点和新增节点才能够向客户节点提供数据访问服务,这种现有方案至少存储在下述三个问题:
(1)同步写操作的时间长:在数据迁移过程中,累积的写操作数据可能会很多,这样就导致后续的同步写操作时间比较长。
(2)路由变更过程中,为了保证数据的一致性,会暂停数据访问,影响用户体验。
(3)对遍历操作产生影响:在遍历过程中,当出现路由变更时,可能会导致遍历到的数据不完整,或者导致遍历操作被终止。
发明内容
为了解决上述技术问题,本发明提出了在对等分布式系统中新增节点的方法及对等分布式系统。本发明具体是以如下技术方案实现的:
第一方面,一种在对等分布式系统中新增节点的方法,所述对等分布式系统包括客户节点、多个分区和多个服务器节点;每个服务器节点都存储不止一个分区的数据,允许被客户节点访问的分区为服务器节点的主分区,其它分区为服务器节点的备分区,所述数据处理方法包括:
响应于新增节点指令,获取待迁移至新增节点的数据的记录;
根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据;
配置新增节点并设置所述新增节点的所有分区为备分区;
控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点;
开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。
第二方面,一种对等分布式系统,所述对等分布式系统包括客户节点、多个分区和多个服务器节点;每个服务器节点都存储不止一个分区的数据,允许被客户节点访问的分区为服务器节点的主分区,其它分区为服务器节点的备分区,所述系统还包括:
指令响应模块,用于响应于新增节点指令,获取待迁移至新增节点的数据的记录;
源服务器节点获取模块,用于根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据;
初始配置模块,用于配置新增节点并设置所述新增节点的所有分区为备分区;
数据迁移模块,用于控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点;
路由变更模块,用于开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。
本发明提供了在对等分布式系统中新增节点的方法及对等分布式系统,具有如下有益效果:
本发明通过提供一种在对等分布式系统中新增节点的方法,使得源服务器节点向新增节点进行数据迁移的同时能够将写操作并行同步至新增节点,解决在数据迁移完成后才能够同步写操作导致的耗时较长问题;进一步地,在路由变更过程中也能够很好的支持数据访问和遍历操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1(a)是本发明背景技术提供的新增节点过程中数据迁移示意图;
图1(b)是本发明背景技术提供的新增节点过程中同步写操作示意图;
图1(c)是本发明背景技术提供的新增节点过程中路由变更示意图;
图1(d)是本发明背景技术提供的新增节点过程中路由变更完成后的示意图;
图2是本发明实施例提供的对等分布式系统中新增节点的方法的应用环境图;
图3是本发明实施例提供的一种新增节点的方法流程图;
图4是本发明实施例提供的数据迁移以及写操作同步过程中的数据流向示意图;
图5是本发明实施例提供的一种完全同步模式下数据迁移的执行方法流程图;
图6是本发明实施例提供的一种主分区同步模式下数据迁移的执行方法流程图;
图7是本发明实施例提供的独占式写操作同步方法流程图;
图8是本发明实施例提供的一种在新增节点的过程中响应客户节点的非遍历访问的方法方法流程图;
图9是本发明实施例提供的另一种在新增节点的过程中响应客户节点的非遍历访问的方法流程图;
图10是本发明实施例提供的一种在新增节点的过程中响应客户节点的遍历访问中对一个分区访问的方法流程图;
图11是本发明实施例提供的对等分布式系统框图;
图12是本发明一个实施例提供的服务器节点的框图;
图13是本发明另一个实施例提供的服务器节点的框图;
图14是本发明实施例提供的客户节点的一部分的框图;
图15是本发明实施例提供的客户节点的另一部分的框图;
图16是本发明实施例提供的客户节点的另一部分的框图;
图17是本发明实施例提供的服务器结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了在对等分布式系统中新增节点的方法的应用环境图,所述在对等分布式系统中新增节点的方法可以应用于如图2所示的对等分布式系统之中。对等分布式系统包括客户节点、多个分区和多个服务器节点。
分区是指对等分布式系统在存储数据时,设定多个分区,每个分区负责唯一一部分数据。服务器节点指存储数据并提供数据访问的节点,每个服务器节点都存储多个分区的数据。客户节点指不存储数据并向服务器节点请求数据访问的节点。
在对等分布式存储系统中,不存在主备服务器节点的概念,每个服务器节点都包含有主分区数据和备分区数据,每个服务器节点都提供主分区数据的数据访问服务,而备分区的数据不能被访问,所述备分区的数据有可能作为其它服务器节点的主分区的数据的备份,即各个服务器节点之间互为主备。
在上述应用环境下,本发明实施例提供一种新增节点的方法,所述新增节点仅仅指新增服务器节点,所述方法如图3所示,包括:
S101.响应于新增节点指令,获取待迁移至新增节点的数据的记录。
具体地,在所述对等分布式系统中的数据可以以键值对(key:value)的方式进行存储,value即为具体的数据,而key为数据对应的记录。一条数据对应一条记录。
步骤S101中根据待迁移至新增节点的数据得到其对应的记录。具体地,根据待迁移至新增节点的数据的数据量以及具体情况,可以获取到一条或多条记录。
S102.根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据。
根据在S101中得到的一条或多条记录,获取用于得到所述记录对应的数据的源服务器节点,并且所述数据存储于所述源服务器节点的主分区。具体地,所述源服务器节点可以有一个或者多个。
S103.配置新增节点并设置所述新增节点的所有分区为备分区。
将新增节点的所有分区均配置为备分区目的是为了防止新增节点的数据被意外改变。
S104.控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点。
请参考图4,其示出了数据迁移以及写操作同步过程中的数据流向示意图。在图4中可见,数据迁移以及写操作同步并行进行,不存在明显的先后顺序。并且,在步骤S104执行的过程中,不影响源服务器节点向外提供数据访问的任何操作,即可以接受客户节点对于源服务器节点中主分区数据的读写操作。
S105.开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。
路由变更操作可以由指定的服务器节点(leader)负责通知所有的节点进行路由变更,所有的节点即为对等分布式系统中全部的客户节点和全部的服务器节点。每一个客户节点和每一个服务器节点均存储有路由表,所述路由表用于标识所述对等分布式系统的全部路由,在开启所述对等分布式系统的路由变更操作之后,客户节点和服务器节点中的路由表被改变。S105完成后,新增节点所负责的分区将一部分成为主分区,提供数据访问,一部分仍然为备分区,而其他的源服务器节点由于将主分区内的部分或全部数据迁移至新增节点,因此其主分区的数据量将会被减少或者被清空,因此源服务器节点可能在未来某个适当的时候被淘汰。
当然,由于是在对等分布式系统中进行路由变更,显然会因此存在一些节点的路由表先发生变更,另一些节点后的路由表后发生变更的情况。所述指定的服务器节点(leader)可以是在所述对等分布式系统中的服务器节点中选择出来的,也可以是一个额外添加的节点,所述指定的服务器节点(leader)用于管理再平衡流程,再平衡是指新增节点时,集群需要将数据再平衡到各个服务器节点上,因此,再平衡过程中,会存在数据迁移和路由变更。本发明实施例中每个源服务器节点执行完步骤S104后均通知所述指定的服务器节点(leader);待所有源服务器节均向所述指定的服务器节点(leader)发送通知后,所述指定的服务器节点控制所述对等分布式系统执行步骤S105。
本发明实施例提供了一种在对等分布式系统中新增节点的方法,可以应用于在对等分布式存储系统中增节点(即扩容)时的场景。使得源服务器节点向新增节点进行数据迁移的同时能够将写操作并行同步至新增节点,解决在数据迁移完成后才能够同步写操作导致的耗时较长问题;进一步地,在路由变更过程中也能够很好的支持数据访问和遍历操作。
本发明实施例还提供一种新增节点的方法,所述新增仅仅指新增服务器节点,包括:
S201.响应于新增节点指令,获取待迁移至新增节点的数据的记录。
具体地,在所述对等分布式系统中的数据可以以键值对(key:value)的方式进行存储,value即为具体的数据,而key为数据对应的记录。一条数据对应一条记录。
S202.根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据。
S203.配置新增节点并设置所述新增节点的所有分区为备分区。
S204.控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点。
S205.开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。
在数据迁移的过程中,源服务器节点中主分区的数据随时有可能被更改(发生写操作),而对等分布式系统仅仅在路由变更之前,才删除源服务器节点中被迁移的数据。因此,若在数据迁移过程中,在源服务器节点中主分区的数据被拷贝至新增节点后,源服务器节点接到了写操作而变更了所述数据,则会导致新增节点得到的数据将不再是最新数据而成为了过期数据。为了保证新增节点的数据为最新数据,现有技术中源服务器节点会在数据迁移完成后关闭其数据访问服务(防止写操作发生),并将在数据迁移期间发生的写操作同步至新增节点,由新增节点根据所述写操作将其本地的数据变更为最新数据以维护源服务器节点和新增节点的数据一致性。可见,在现有技术中数据迁移和写操作同步必须分开进行,并且在写操作同步的过程中,源服务器节点的数据访问服务必须停止。而数据迁移和写操作同步的分开进行会明显增加耗时,数据访问服务的停止也会导致用户体验的下降。
因此,为克服上述问题,本发明实施例提供了一种完全同步模式下数据迁移的执行方法,如图5所示,包括:
S1.在源服务器节点向所述新增节点进行数据迁移的过程中,所述源服务器节点接收所述客户节点对所述源服务器节点的主分区数据的写操作请求。
S2.根据所述写操作请求变更所述主分区数据。
S3.同步变更新增节点中的数据。
具体地,同步变更新增节点中的数据可以有两种执行方式:
(1)源服务器节点将所述写操作请求同步至所述新增节点以使得所述新增节点中的数据根据所述写操作请求发生变更。
(2)源服务器节点将变更后的最新数据同步至新增节点。
S4.若所述源服务器节点和所述新增节点均成功变更数据,则向客户节点返回写操作成功响应。
具体地,在一个可行的实施例中,源服务器节点跟踪新增节点对于所述写操作请求的变更过程,直至所述变更执行成功,只有当源服务器节点和新增节点均变更成功,所述源服务器节点才能够发出写操作成功响应包,在客户节点接收到写操作成功响应包后,S3才停止。
完全同步模式下,客户节点不会读取到过期数据,因为如果客户节点接收到返回写操作成功的响应包,那么新增节点一定也写成功了,如果客户节点没有接收到返回写操作成功的响应包,就是写操作正在发生过程中,此时不会读取到过期数据。
完全同步模式下,能够精确实现源服务器节点与新增节点的数据一致性,是一种优异的数据迁移和写操作的并行执行方案,但是,由于其需要源服务器节点和新增节点都写成功才能返回写成功响应包,因此,不可避免会对系统整体性能产生不利影响。
因此,为提升性能,本发明实施例还提供了一种主分区同步模式下数据迁移的执行方法,如图6所示,包括:
S10.在源服务器节点向所述新增节点进行数据迁移的过程中,所述源服务器节点接收所述客户节点对所述源服务器节点的主分区数据的写操作请求。
S20.根据所述写操作请求变更所述主分区数据并向新增节点发送同步指令。
具体地,同步指令可以有两种执行方式:
(1)同步指令包括写操作请求,新增节点获取所述同步指令后根据所述写操作请求发生变更。
(2)同步指令包括最新数据,新增节点获取所述同步指令后将过期数据变更为最新数据。
S30.若对所述主分区数据的变更被成功执行,则向客户节点返回写操作成功响应。
主分区同步模式是指,在源服务器节点的主分区写成功并将同步指令发送给新增节点之后,就立即返回响应包给客户节点,而无需等待新增节点写成功;因此,主分区同步模式下,性能比完全同步模式要好很多。
但是,在主分区同步模式下,若源服务器节点写成功而新增节点写失败,客户节点依然能够收到写操作成功响应,因此,新增节点的数据仍然有过期的可能。但是在数据迁移过程中也是实时将写操作对应的同步指令发送给新增节点,因此,降低了读取到过期数据的概率以及涉及过期数据的数据量。
为了解进一步决主分区同步模式下的数据过期问题,可以在数据迁移完成后,S205之前执行独占式写操作同步,如图7所示,包括:
S100.源服务器节点停止数据访问服务。
S200.源服务器节点将写操作同步至新增节点。
由于在数据迁移期间发生的写操作已经以同步指令的形式实时地发送给新增节点,正常情况下新增节点会立即根据同步指令完成数据的变更,而步骤S200中只是将新增节点未能完成的数据变更继续执行完毕,正常情况下耗时是非常短的。
主分区同步模式下,能够实现大部分的源服务器节点与新增节点的数据一致性操作,为了精确避免数据过期,在主分区同步模式执行完毕后还可以配合独占式写操作以确保源服务器节点与新增节点的数据完全一致性,并且主分区同步模式配合独占式写操作的耗时较小,因此,性能也较为优异。
本发明实施例提供了一种在对等分布式系统中新增节点的方法,并具体提供了两种数据迁移模式以解决在数据迁移完成后才能够同步写操作导致的耗时较长问题。其中完全同步模式,可以在数据迁移过程精确实现新增节点数据的同步变更;而主分区同步模式配合独占式写操作同步的的数据迁移模式不仅能够精确保证新增节点与源服务器节点的数据一致性,其时间性能甚至优于完全同步模式。
现有技术中,在新增节点的过程中需要进行路由变更,由于路由变更会导致客户节点与服务器节点处路由的不一致,使得数据访问无法开展,因此,在路由变更期间对等分布式系统不向外提供数据访问服务。
为了在路由变更期间仍然能向外提供数据访问服务,本发明实施例还提供了一种在新增节点的过程中响应客户节点的非遍历访问的方法。所述方法使用于小规模的数据请求的应用场景,在小规模的数据请求中,一个源服务器节点即可存储有全部待请求数据。
如图8所示,所述方法包括:
S301.客户节点获取并存储待请求数据的记录。
客户节点根据待请求数据得到待请求数据对应的记录,并将所述记录存储于自身本地。
S302.客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点。
S303.客户节点根据记录向所述目标服务器节点发送访问请求。
S304.所述目标服务器节点判断自身本地是否存储有所述记录对应的待请求数据;若是,则返回访问成功响应包;否则,返回重映射响应包。
具体地,S304访问成功响应包中包含有待请求数据。所述访问成功响应包可以有一个或者多个。
S305.所述客户节点判断收到的响应包是否为访问成功响应包。
S306.若响应包为访问成功响应包,则处理所述访问成功响应包。
S307.若响应包为重映射响应包,则等待第一预设时间后重新执行S302的步骤。
由于在路由变更期间,客户节点以及各个源数据节点的路由表都可能随时被改变,因此客户节点以及各个源数据节点的路由表很有可能出现数据不一致的情况。比如源服务器节点1将一部分数据迁移至新增节点2,但是客户节点的路由表还未变更完毕,则客户节点根据自身的路由表判定源服务器节点1存储有待请求的数据,因此发送了访问请求,但是此时,源服务器节点1已经没有这部分数据,因此,返回重映射响应包,客户节点等待第一预设时间(在第一预设时间内,客户节点的路由表有可能会发生变更)后重新开启访问。
为了在路由变更期间仍然能向外提供数据访问服务,本发明实施例还提供了另一种在新增节点的过程中响应客户节点的非遍历访问的方法。所述方法使用于大规模的数据请求的应用场景,在大规模的数据请求中,待请求数据可能被存储于多个服务器节点。
如图9所示,所述方法包括:
S401.客户节点获取并存储待请求数据的记录。
S402.客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点。
S403.客户节点根据所述记录向所述目标服务器节点发送访问请求。
S404.所述目标服务器节点判断自身本地是否存储有所述记录对应的待请求数据;若是,则返回访问成功响应包;否则,返回重映射响应包。
具体地,S404访问成功响应包中包含有待请求数据。所述访问成功响应包可以有一个或者多个。
S405.所述客户节点判断收到的响应包是否为访问成功响应包。
S406.若响应包为访问成功响应包,则提取成功响应包中的记录;若提取失败,则访问结束;若提取成功,则更新客户节点存储的记录,并重新执行S402的步骤。
访问成功响应包中还包括有未被访问到的数据的记录,获取所述记录后,即可根据所述记录发起新的访问请求,若所述记录不存在,则说明不存在未被访问到的数据,因此,访问结束。
S407.若响应包为重映射响应包,提取所述重映射响应包中的记录,更新客户节点存储的记录,等待第一预设时间后重新执行S402的步骤。
重映射响应包中还包括有未被访问到的数据的记录。获取到重映射响应包即说明客户节点的路由表未被更新完毕,因此,需要等待第一预设时间过后,才能够根据在重映射响应包中获取到的记录继续进行后续的访问。
为了在路由变更期间仍然能向外提供数据访问服务,本发明实施例还提供了一种在新增节点的过程中响应客户节点的遍历访问的方法。具体地,本发明实施例中采用分区遍历方式,每次遍历一个分区的数据,一个分区的数据遍历完成后,再遍历其他分区的数据。因此,以访问一个分区的数据为例,描述遍历访问的方法。
如图10所示,所述方法包括:
S501.客户节点根据自身存储的路由表获取存储所述分区的数据的目标服务器节点。
S502.向所述目标服务器节点发送对所述分区的数据的访问请求。
S503.所述目标服务器节点判断自身本地是否存储有所述分区的数据;若是,则返回访问成功响应包;否则,返回重映射响应包。
S504.所述客户节点判断收到的响应包是否为访问成功响应包。
S505.若响应包为重映射响应包,则等待第一预设时间后重新执行S501的步骤。
S506.若响应包为访问成功响应包,则判断自身本地是否存储有所述成功响应包中数据的记录,若有,则丢弃所述成功响应包,否则,存储所述成功响应包中数据的记录。
对于获取到的访问成功响应包,客户节点存储所述成功响应包中数据的记录。若再次获得访问成功响应包而客户节点本身存储有其数据对应的记录,即说明本次获得的访问成功响应包中的数据客户节点之前已经获得过了,因此,本次获得的访问成功响应包被丢弃。
进一步地,在一个可行的实施方式中,客户节点在获取访问成功响应包后,判断自身本地是否存储有所述成功响应包中数据的记录,若不存在,则存储所述成功响应包中数据的记录,并将成功响应包中数据反馈给用户。
进一步地,在一个可行的实施方式中,客户节点在获取访问成功响应包后,判断自身本地是否存储有所述成功响应包中数据的记录,若不存在,则存储所述成功响应包中数据的记录并保存所述成功响应包中的具体的数据,并在对一个分区的访问结束后将全部数据反馈给用户。
S507.所述客户节点判断是否获取所述分区的全部数据:若是,则访问结束;否则,重新执行S501的步骤。
本发明实施例提供了两种在新增节点的过程中响应客户节点的非遍历访问的方法以及一种在新增节点的过程中响应客户节点的遍历访问的方法,能够在路由变更的过程中向外提供不间断的遍历访问服务和非遍历访问服务,从而提升用户体验。
本发明实施例还提供了一种对等分布式系统,所述对等分布式系统包括客户节点、多个分区和多个服务器节点,每个服务器节点都存储多个分区的数据,允许被客户节点访问的分区为服务器节点的主分区,其它分区为服务器节点的备分区,如图11所示,所述系统还包括:
指令响应模块601,用于响应于新增节点指令,获取待迁移至新增节点的数据的记录。可用于执行方法实施例S101和S201。
源服务器节点获取模块602,用于根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据。可用于执行方法实施例S102和S202。
初始配置模块603,用于配置新增节点并设置所述新增节点的所有分区为备分区。可用于执行方法实施例S103和S203。
数据迁移模块604,用于控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点。可用于执行方法实施例S104和S204。
路由变更模块605,用于开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。可用于执行方法实施例S105和S205。
在一个可行的实施例中,如图12所示,所述系统的服务器节点包括:
第一同步接收模块6041,用于在向新增节点进行数据迁移的过程中,接收所述客户节点对所述源服务器节点的主分区数据的写操作请求。可用于执行方法实施例S1。
变更模块6042,用于根据所述写操作请求变更所述主分区数据。可用于执行方法实施例S2。
同步模块6043,用于同步变更新增节点中的数据。可用于执行方法实施例S3。
第一响应模块6044,用于若所述源服务器节点和所述新增节点均成功变更数据,则向客户节点返回写操作成功响应。可用于执行方法实施例S4。
在另一个可行的实施例中,如图13所示,所述系统的服务器节点包括:
第二同步接收模块60410,用于在向新增节点进行数据迁移的过程中,接收所述客户节点对所述源服务器节点的主分区数据的写操作请求。可用于执行方法实施例S10。
同步处理模块60420,用于根据所述写操作请求变更所述主分区数据并向新增节点发送同步指令。可用于执行方法实施例S20。
第二响应模块60430,用于若对所述主分区数据的变更被成功执行,则向客户节点返回写操作成功响应。可用于执行方法实施例S30。
如图14所示,所述系统的客户节点包括:
第一待请求数据处理模块10,用于获取并存储待请求数据的记录。可用于执行方法实施例S301。
第一访问参数获取模块20,用于客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点。可用于执行方法实施例S302。
第一访问模块30,用于客户节点根据记录向所述目标服务器节点发送访问请求。可用于执行方法实施例S303。
第一响应处理模块40,用于判断收到的响应包是否为访问成功响应包:若响应包为访问成功响应包,则处理所述访问成功响应包;若响应包为重映射响应包,则等待第一预设时间后重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤。可用于执行方法实施例S305-S307。
如图15所示,所述系统的客户节点包括:
第二待请求数据处理模块100,用于获取并存储待请求数据的记录。可用于执行方法实施例S401。
第二访问参数获取模块200,用于客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点。可用于执行方法实施例S402。
第二访问模块300,用于客户节点根据记录向所述目标服务器节点发送访问请求。可用于执行方法实施例S403。
第二响应处理模块400,用于判断收到的响应包是否为访问成功响应包:若响应包为访问成功响应包,则提取成功响应包中的记录;若提取失败,则访问结束;若提取成功,则更新客户节点存储的记录,并重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤;若响应包为重映射响应包,提取所述重映射响应包中的记录,更新客户节点存储的记录,等待第一预设时间后重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤。可用于执行方法实施例S405-S407。
如图16所示,所述系统的客户节点包括:
第三访问参数获取模块1000,用于根据自身存储的路由表获取存储所述分区的数据的目标服务器节点。可用于执行方法实施例S501。
第三访问模块2000,用于向所述目标服务器节点发送对分区的数据的访问请求。可用于执行方法实施例S502。
第三响应处理模块3000,用于判断收到的响应包是否为访问成功响应包:若响应包为重映射响应包,则等待第一预设时间后重新执行根据自身存储的路由表获取存储所述分区的数据的目标服务器节点的步骤;若响应包为访问成功响应包,则判断自身本地是否存储有所述成功响应包中数据的记录,若有,则丢弃所述成功响应包,否则,存储所述成功响应包中数据的记录。可用于执行方法实施例S504-S506。
判断模块4000,用于判断是否获取所述分区的全部数据:若是,则访问结束;否则,重新执行根据自身存储的路由表获取存储所述分区的数据的目标服务器节点的步骤。可用于执行方法实施例S507。
进一步地,所述系统的服务器节点包括:
第一访问请求处理模块,用于判断自身本地是否存储能够响应访问请求的数据;若是,则返回访问成功响应包;否则,向所述客户节点返回重映射响应包。
本发明的装置实施例中所述的对等分布式系统能够用于执行方法实施例中的内容。
本发明的实施例还提供了一种存储介质,所述存储介质可用于实现方法实施例中的程序代码。可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
具体地,图17是本发明实施例提供的一种服务器结构示意图,所述服务器结构可以设置于服务器节点和/或客户节点之中。该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。上述方法实施例所执行的步骤可以基于该图17所示的服务器结构。
需要说明的是:上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种在对等分布式系统中新增节点的方法,所述对等分布式系统包括客户节点、多个分区和多个服务器节点;每个服务器节点都存储不止一个分区的数据,允许被客户节点访问的分区为服务器节点的主分区,其它分区为服务器节点的备分区,其特征在于,所述方法包括:
响应于新增节点指令,获取待迁移至新增节点的数据的记录;
根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据;
配置新增节点并设置所述新增节点的所有分区为备分区;
控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点;
开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。
2.根据权利要求1所述的方法,其特征在于,所述控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点包括:
在源服务器节点向所述新增节点进行数据迁移的过程中,所述源服务器节点接收所述客户节点对所述源服务器节点的主分区数据的写操作请求;
根据所述写操作请求变更所述主分区数据;
同步变更新增节点中的数据;
若所述源服务器节点和所述新增节点均成功变更数据,则向客户节点返回写操作成功响应。
3.根据权利要求1所述的方法,其特征在于,所述控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点包括:
在源服务器节点向所述新增节点进行数据迁移的过程中,所述源服务器节点接收所述客户节点对所述源服务器节点的主分区数据的写操作请求;
根据所述写操作请求变更所述主分区数据并向新增节点发送同步指令;
若对所述主分区数据的变更被成功执行,则向客户节点返回写操作成功响应。
4.根据权利要求2所述的方法,其特征在于,所述控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点还包括:
源服务器节点跟踪新增节点对于所述写操作请求的变更过程,直至所述变更执行成功。
5.根据权利要求1所述的方法,其特征在于,客户节点和每一个服务器节点均存储有路由表,所述路由表用于标识所述对等分布式系统的全部路由,在开启所述对等分布式系统的路由变更操作之后,客户节点和服务器节点中的路由表被改变。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括在新增节点的过程中响应客户节点的非遍历访问的方法,包括:
客户节点获取并存储待请求数据的记录;
客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点;
客户节点根据记录向所述目标服务器节点发送访问请求;
所述目标服务器节点判断自身本地是否存储有所述记录对应的待请求数据;若是,则返回访问成功响应包;否则,返回重映射响应包;
所述客户节点判断收到的响应包是否为访问成功响应包:
若响应包为访问成功响应包,则处理所述访问成功响应包;
若响应包为重映射响应包,则等待第一预设时间后重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括在新增节点的过程中响应客户节点的非遍历访问的方法,包括:
客户节点获取并存储待请求数据的记录;
客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点;
客户节点根据所述记录向所述目标服务器节点发送访问请求;
所述目标服务器节点判断自身本地是否存储有所述记录对应的待请求数据;若是,则返回访问成功响应包;否则,向所述客户节点返回重映射响应包;
所述客户节点判断收到的响应包是否为访问成功响应包:
若响应包为访问成功响应包,则提取成功响应包中的记录;若提取失败,则访问结束;若提取成功,则更新客户节点存储的记录,并重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤;
若响应包为重映射响应包,提取所述重映射响应包中的记录,更新客户节点存储的记录,等待第一预设时间后重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括在新增节点的过程中响应客户节点的遍历访问的方法,所述方法包括按照预设顺序遍历全部分区,访问分区的方法包括:
客户节点根据自身存储的路由表获取存储所述分区的数据的目标服务器节点;
向所述目标服务器节点发送对所述分区的数据的访问请求;
所述目标服务器节点判断自身本地是否存储有所述分区的数据;若是,则返回访问成功响应包;否则,返回重映射响应包;
所述客户节点判断收到的响应包是否为访问成功响应包:
若响应包为重映射响应包,则等待第一预设时间后重新执行根据自身存储的路由表获取存储所述分区的数据的目标服务器节点的步骤;
若响应包为访问成功响应包,则判断自身本地是否存储有所述成功响应包中数据的记录,若有,则丢弃所述成功响应包,否则,存储所述成功响应包中数据的记录;
所述客户节点判断是否获取所述分区的全部数据:若是,则访问结束;否则,重新执行根据自身存储的路由表获取存储所述分区的数据的目标服务器节点的步骤。
9.一种对等分布式系统,所述对等分布式系统包括客户节点、多个分区和多个服务器节点;每个服务器节点都存储不止一个分区的数据,允许被客户节点访问的分区为服务器节点的主分区,其它分区为服务器节点的备分区,其特征在于,所述系统还包括:
指令响应模块,用于响应于新增节点指令,获取待迁移至新增节点的数据的记录;
源服务器节点获取模块,用于根据所述记录获取用于向新增节点迁移数据的源服务器节点,所述源服务器节点的主分区存储有待迁移至新增节点的数据;
初始配置模块,用于配置新增节点并设置所述新增节点的所有分区为备分区;
数据迁移模块,用于控制源服务器节点向所述新增节点进行数据迁移,并且并行将所述源服务器节点发生的写操作同步至所述新增节点;
路由变更模块,用于开启所述对等分布式系统的路由变更操作,在所述路由变更操作执行过程中,所述新增节点的部分备分区转变为主分区,所述源服务器节点和所述新增节点均能够被客户节点访问。
10.根据权利要求9所述的系统,其特征在于,所述系统的服务器节点包括:
第一同步接收模块,用于在向新增节点进行数据迁移的过程中,接收所述客户节点对所述源服务器节点的主分区数据的写操作请求;
变更模块,用于根据所述写操作请求变更所述主分区数据;
同步模块,用于同步变更新增节点中的数据;
第一响应模块,用于若所述源服务器节点和所述新增节点均成功变更数据,则向客户节点返回写操作成功响应。
11.根据权利要求9所述的系统,其特征在于,所述系统的服务器节点包括:
第二同步接收模块,用于在向新增节点进行数据迁移的过程中,接收所述客户节点对所述源服务器节点的主分区数据的写操作请求;
同步处理模块,用于根据所述写操作请求变更所述主分区数据并向新增节点发送同步指令;
第二响应模块,用于若对所述主分区数据的变更被成功执行,则向客户节点返回写操作成功响应。
12.根据权利要求9所述的系统,其特征在于,所述系统的客户节点包括:
第一待请求数据处理模块,用于获取并存储待请求数据的记录;
第一访问参数获取模块,用于客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点;
第一访问模块,用于客户节点根据记录向所述目标服务器节点发送访问请求;
第一响应处理模块,用于判断收到的响应包是否为访问成功响应包:若响应包为访问成功响应包,则处理所述访问成功响应包;若响应包为重映射响应包,则等待第一预设时间后重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤。
13.根据权利要求9所述的系统,其特征在于,所述系统的客户节点包括:
第二待请求数据处理模块,用于获取并存储待请求数据的记录;
第二访问参数获取模块,用于客户节点获取自身本地存储的记录并根据自身本地存储的路由表获取目标服务器节点;
第二访问模块,用于客户节点根据记录向所述目标服务器节点发送访问请求;
第二响应处理模块,用于判断收到的响应包是否为访问成功响应包:若响应包为访问成功响应包,则提取成功响应包中的记录;若提取失败,则访问结束;若提取成功,则更新客户节点存储的记录,并重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤若;响应包为重映射响应包,提取所述重映射响应包中的记录,更新客户节点存储的记录,等待第一预设时间后重新执行获取自身本地存储的记录并根据自身存储的路由表获取目标服务器节点的步骤。
14.根据权利要求9所述的系统,其特征在于,所述系统的客户节点包括:
第三访问参数获取模块,用于根据自身存储的路由表获取存储所述分区的数据的目标服务器节点;
第三访问模块,用于向所述目标服务器节点发送对分区的数据的访问请求;
第三响应处理模块,用于判断收到的响应包是否为访问成功响应包:若响应包为重映射响应包,则等待第一预设时间后重新执行根据自身存储的路由表获取存储所述分区的数据的目标服务器节点的步骤;若响应包为访问成功响应包,则判断自身本地是否存储有所述成功响应包中数据的记录,若有,则丢弃所述成功响应包,否则,存储所述成功响应包中数据的记录;
判断模块,用于判断是否获取所述分区的全部数据:若是,则访问结束;否则,重新执行根据自身存储的路由表获取存储所述分区的数据的目标服务器节点的步骤。
15.根据权利要求9所述的系统,其特征在于,所述系统的服务器节点包括:
第一访问请求处理模块,用于判断自身本地是否存储能够响应访问请求的数据;若是,则返回访问成功响应包;否则,向所述客户节点返回重映射响应包。
CN201710330471.2A 2017-05-11 2017-05-11 在对等分布式系统中新增节点的方法及对等分布式系统 Active CN107295063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710330471.2A CN107295063B (zh) 2017-05-11 2017-05-11 在对等分布式系统中新增节点的方法及对等分布式系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710330471.2A CN107295063B (zh) 2017-05-11 2017-05-11 在对等分布式系统中新增节点的方法及对等分布式系统

Publications (2)

Publication Number Publication Date
CN107295063A CN107295063A (zh) 2017-10-24
CN107295063B true CN107295063B (zh) 2018-09-04

Family

ID=60095114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710330471.2A Active CN107295063B (zh) 2017-05-11 2017-05-11 在对等分布式系统中新增节点的方法及对等分布式系统

Country Status (1)

Country Link
CN (1) CN107295063B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995813B (zh) * 2017-12-29 2021-02-26 华为技术有限公司 一种分区扩展方法、数据存储方法及装置
CN111176886B (zh) * 2018-11-09 2024-04-23 杭州海康威视系统技术有限公司 一种数据库模式的切换方法、装置及电子设备
CN110943925B (zh) * 2019-11-26 2020-11-03 腾讯科技(深圳)有限公司 一种路由信息同步的方法以及相关装置
CN111858541A (zh) * 2020-06-29 2020-10-30 广东浪潮大数据研究有限公司 一种分布式文件系统的数据迁移控制方法及相关装置
CN113596172B (zh) * 2021-08-04 2023-11-14 百度在线网络技术(北京)有限公司 分布式集群中节点更新方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011039642A1 (en) * 2009-09-30 2011-04-07 France Telecom Cluster peer for peer-to-peer systems and method of operation thereof
CN103229487A (zh) * 2012-12-27 2013-07-31 华为技术有限公司 分布式存储系统中的分区平衡方法、装置及服务器
CN103299296A (zh) * 2011-12-22 2013-09-11 华为技术有限公司 一种分布式存储系统中分区管理方法、设备及系统
CN104954444A (zh) * 2015-05-27 2015-09-30 华为技术有限公司 一种迁移缓存数据的方法及设备
CN106055698A (zh) * 2016-06-14 2016-10-26 智者四海(北京)技术有限公司 数据迁移方法、代理节点及数据库实例

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739703A (zh) * 2011-04-02 2012-10-17 中兴通讯股份有限公司 一种对等网络中数据迁移的方法及系统
CN105656653B (zh) * 2014-11-14 2019-07-19 华为技术有限公司 分布式协调系统中新增节点的入网方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011039642A1 (en) * 2009-09-30 2011-04-07 France Telecom Cluster peer for peer-to-peer systems and method of operation thereof
CN103299296A (zh) * 2011-12-22 2013-09-11 华为技术有限公司 一种分布式存储系统中分区管理方法、设备及系统
CN103229487A (zh) * 2012-12-27 2013-07-31 华为技术有限公司 分布式存储系统中的分区平衡方法、装置及服务器
CN104954444A (zh) * 2015-05-27 2015-09-30 华为技术有限公司 一种迁移缓存数据的方法及设备
CN106055698A (zh) * 2016-06-14 2016-10-26 智者四海(北京)技术有限公司 数据迁移方法、代理节点及数据库实例

Also Published As

Publication number Publication date
CN107295063A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN107295063B (zh) 在对等分布式系统中新增节点的方法及对等分布式系统
US10613780B1 (en) Multi-node removal
US9904599B2 (en) Method, device, and system for data reconstruction
JP6190389B2 (ja) 分散型計算環境において計算を実行する方法およびシステム
US9251233B2 (en) Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation
CN111880956B (zh) 一种数据同步方法和装置
EP3180692A1 (en) Fault tolerant federation of computing clusters
US20150236974A1 (en) Computer system and load balancing method
US9733835B2 (en) Data storage method and storage server
US11073986B2 (en) Memory data versioning
CN109582686B (zh) 分布式元数据管理一致性保证方法、装置、系统及应用
TW201434300A (zh) 跨越叢集邊界的服務遷移
US20160014200A1 (en) Identifying workload and sizing of buffers for the purpose of volume replication
US9148430B2 (en) Method of managing usage rights in a share group of servers
CN104102535A (zh) 进程迁移方法和可迁移操作系统
CN111352943A (zh) 实现数据一致性的方法和装置、服务器和终端
CN110058960A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN105404565B (zh) 一种双活数据保护方法和装置
CN113646749A (zh) Iot分区管理和负载平衡
CN104951243B (zh) 虚拟化存储系统中的存储扩展方法和装置
CN108156030A (zh) 一种配置策略同步的方法及装置
CN110019083A (zh) 分布式文件系统的存储方法、装置、电子设备及存储介质
CN103905512B (zh) 一种数据处理方法和设备
CN107357691B (zh) 镜像文件的处理方法及装置
CN107704490A (zh) 一种基于对等存储的数据处理方法及装置

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
TR01 Transfer of patent right

Effective date of registration: 20231227

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 518000, 35th Floor, Tencent Building, Keji Zhongyi Road, High tech Zone, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right