CN108228102B - 节点间数据迁移方法、装置、计算设备及计算机存储介质 - Google Patents

节点间数据迁移方法、装置、计算设备及计算机存储介质 Download PDF

Info

Publication number
CN108228102B
CN108228102B CN201711479293.6A CN201711479293A CN108228102B CN 108228102 B CN108228102 B CN 108228102B CN 201711479293 A CN201711479293 A CN 201711479293A CN 108228102 B CN108228102 B CN 108228102B
Authority
CN
China
Prior art keywords
information
data migration
data
node
meta
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
CN201711479293.6A
Other languages
English (en)
Other versions
CN108228102A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711479293.6A priority Critical patent/CN108228102B/zh
Publication of CN108228102A publication Critical patent/CN108228102A/zh
Application granted granted Critical
Publication of CN108228102B publication Critical patent/CN108228102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本发明公开了一种节点间数据迁移方法、装置、计算设备及计算机存储介质。其中,方法包括:接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息;将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对;若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中;从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移,减少了人工介入,而且也避免了因迁移数据量过大而占用人力导致的数据迁移成本过高的问题,另外,该数据迁移操作简便易于实现。

Description

节点间数据迁移方法、装置、计算设备及计算机存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种节点间数据迁移方法、装置、计算设备及计算机存储介质。
背景技术
随着信息技术的不断发展,分布式存储系统随之出现,分布式存储系统具有高度的内聚性和透明性,且满足了大规模数据存储的需求,因此,已得到了广泛的应用。其中,分布式存储系统随着业务发展及数据量的增加或减少,不可避免的会出现扩容、缩容需求,另外,对于分布式存储系统中的数据节点还可能因为负载过大而需要实现负载均衡,因此,就需要进行数据迁移,然而现有的数据迁移方法过于复杂,还需要过多的人工介入,而且如果迁移数据量太大,可能所需的迁移时间会很长,还需要一直有人工介入,耗费人力,增加了数据迁移的成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的节点间数据迁移方法、装置、计算设备及计算机存储介质。
根据本发明的一个方面,提供了一种节点间数据迁移方法,方法应用于包含中心节点的分布式系统,方法包括:
接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息;
将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对;
若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中;
从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移。
根据本发明的另一方面,提供了一种节点间数据迁移装置,装置应用于包含中心节点的分布式系统,装置包括:
第一接收模块,适于接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息;
比对模块,适于将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对;
存储处理模块,适于若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中;
数据迁移信息处理模块,适于从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述节点间数据迁移方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述节点间数据迁移方法对应的操作。
根据本发明提供的方案,接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对,若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中,从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移,减少了人工介入,而且也避免了因迁移数据量过大而占用人力导致的数据迁移成本过高的问题,另外,该数据迁移操作简便易于实现。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的节点间数据迁移方法的流程示意图;
图2示出了根据本发明另一个实施例的节点间数据迁移方法的流程示意图;
图3示出了根据本发明一个实施例的节点间数据迁移装置的结构示意图;
图4示出了根据本发明另一个实施例的节点间数据迁移装置的结构示意图;
图5示出了根据本发明一个实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的节点间数据迁移方法的流程示意图。该方法应用于包含中心节点的分布式系统,如图1所示,该方法包括以下步骤:
步骤S100,接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求。
分布式存储系统随着业务发展及数据量的增加或减少,不可避免的会出现扩容、缩容需求,如此就会涉及到数据迁移;另外,对于分布式存储系统中的数据节点还可能因为负载过大而需要实现负载均衡,此时也需要进行数据迁移。
具体地,管理端可以根据实际需求发送数据迁移请求,该数据迁移请求携带有数据迁移信息和第一元信息版本号,其中,数据迁移信息用于指示将哪些数据由哪迁移到哪,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息。
步骤S101,将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对。
在接收到管理端发送的数据迁移请求之后,还需要将数据迁移请求中携带的第一元信息版本号与中心节点记录的第二元信息版本号进行比对,来确定是否是在当前元信息的状态下进行数据迁移,若第一元信息版本号与第二元信息版本号一致,说明是在当前元信息的状态下进行数据迁移,若第一元信息版本号与第二元信息版本号不一致,则应拒绝数据迁移请求。
步骤S102,若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中。
若第一元信息版本号与第二元信息版本号一致,则说明可以进行数据迁移,这样就需要将数据迁移信息存储至中心节点的磁盘中,以根据数据迁移信息进行数据迁移处理。
步骤S103,从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移。
在将数据迁移信息存储至中心节点的磁盘后,就需要进行数据迁移操作,为了避免过度占用磁盘资源和网络而影响客户端对数据的正常请求,对每次处理的数据迁移信息的数量进行了限制,也就是说,从中心节点的磁盘中获取数据迁移信息时,仅获取预设数量的数据迁移信息进行处理,通过对数据迁移信息进行处理,可以实现数据在源节点与目的节点之间的迁移,其中,数量可以根据实际需要进行设置,例如,可以是1条或2条或3条,这里仅是举例说明,不具有任何限定作用。
根据本发明上述实施例提供的方法,接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对,若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中,从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移,减少了人工介入,而且也避免了因迁移数据量过大而占用人力导致的数据迁移成本过高的问题,另外,该数据迁移操作简便易于实现。
图2示出了根据本发明另一个实施例的节点间数据迁移方法的流程示意图。该方法应用于包含中心节点的分布式系统,如图2所示,该方法包括以下步骤:
步骤S200,接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求。
具体地,管理端可以向用户提供输入界面,供用户在管理端的输入界面上输入扩容命令或缩容命令或负载均衡命令,这些命令会携带有目的节点的IP端口信息,其中,目的节点为数据最终被迁移到的节点,管理端根据扩容命令或缩容命令或负载均衡命令到中心节点拉取当前所记录的元信息并获取当前元信息版本号,利用最小路径算法根据所获取的元信息和目的节点IP端口信息计算得到数据迁移信息,其中,数据迁移信息用于指示将哪些数据由哪迁移到哪,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息,数据迁移信息表明了要将哪个数据分片对应的数据从哪个数据节点移至哪个数据节点。
管理端向中心节点发送携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,第一元信息版本号即为管理端从中心节点拉取元信息时所获取的元信息版本号,每个数据分片对应一条数据迁移信息,每个数据迁移请求可携带若干条数据迁移信息。
步骤S201,将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对。
在接收到管理端发送的数据迁移请求之后,还需要将数据迁移请求中携带的第一元信息版本号与中心节点记录的第二元信息版本号进行比对,来确定是否是在当前元信息的状态下进行数据迁移,若第一元信息版本号与第二元信息版本号一致,说明是在当前元信息的状态下进行数据迁移,若第一元信息版本号与第二元信息版本号不一致,则应拒绝数据迁移请求。
步骤S202,若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中。
若第一元信息版本号与第二元信息版本号一致,则说明可以进行数据迁移,这样就需要将数据迁移信息存储至中心节点的磁盘中,以根据数据迁移信息进行数据迁移处理。
在本发明一种可选实施方式中,若中心节点为多个,则需要将数据迁移信息存储至每个中心节点的磁盘中,以实现中心节点集群中数据一致性,以及数据迁移信息持久化,方便在主中心节点宕机的情况下,由其他中心节点根据中心节点中的元信息以及元信息版本号从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,使得数据迁移过程更为安全,此外,通过向数据节点屏蔽中心节点集群中中心节点存活状态变化,可以保证中心节点集群内部的节点网络异常或中心节点节点宕机,不会导致数据迁移过程中断或异常。
步骤S203,根据数据迁移信息记录数据迁移信息头信息。
在将数据迁移信息存储至中心节点的磁盘中之后,还需要根据数据迁移信息记录数据迁移信息头信息(Head信息),其中,数据迁移信息头信息包括:数据迁移信息数量、已完成数量、剩余数量、数据迁移信息处理时间,以方便后续管理端查询数据迁移进度。
步骤S204,从中心节点的磁盘中获取预设数量的数据迁移信息,根据数据迁移信息通知相应的源节点执行数据阻写或缓写操作,并添加目的节点执行数据同步操作。
在将数据迁移信息存储至中心节点的磁盘后,就需要进行数据迁移操作,为了避免过度占用磁盘资源和网络而影响客户端对数据的正常请求,对每次处理的数据迁移信息的数量进行了限制,也就是说,从中心节点的磁盘中获取数据迁移信息时,仅获取预设数量的数据迁移信息进行处理,其中,数量可以根据实际需要进行设置,例如,可以是1条或2条或3条,这里仅是举例说明,不具有任何限定作用,此外,本发明实施例对数据迁移信息的执行顺序不做任何限制,即可以随机的从中心节点的磁盘中获取预设数量的数据迁移信息。
数据迁移信息中包含了源节点IP端口信息,在获取到数据迁移信息之后,就需要通知相应的源节点执行数据阻写或缓写操作,以保证数据能够正确地迁移至目的节点,还需要添加相应的目的节点,对于扩容而言,是添加新的数据节点,而对于缩容和负载均衡而言,虽然是将数据迁移至分布式存储系统中的其它数据节点,但是对于被迁移的数据分片而言,目的节点并未存储相应的数据分片副本,因此,也是需要将目的节点添加进来,然后将数据分片对应的数据从源节点迁移至目的节点。
在本发明实施例中,源节点和目的节点均是数据节点,通过心跳机制与中心节点进行数据交互,源节点和目的节点均通过ping消息向中心节点上报各自节点中数据分片对应的数据偏移量。
步骤S205,监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致,若是,则执行步骤S206;若否,则继续等待。
实时监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致,若一致,则说明数据分片对应的数据已经同步至目的节点;若不一致,则说明源节点中相应的数据分片的数据还未全部同步至目的节点,需要继续等待,等待源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量一致。
步骤S206,根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置。
在监测到源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量一致的情况下,说明数据已经同步至目的节点,如此,可以根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置,例如,若数据分片在源节点上的副本角色为主副本,则将该数据分片在目的节点上的副本角色设置为主副本;若数据分片在源节点上的副本角色为从副本,则将该数据分片在目的节点上的副本角色设置为从副本,修改元信息中所记录的主从关系等。
在本发明实施例中,仅在数据由源节点同步至目的节点之后,才根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置,因此,在角色设置之前,数据分片在源节点上的角色变化,在数据同步过程中并不关心,只需在数据同步完成之后,根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置即可。
在本发明实施例中,步骤S204和步骤S206可以由更新线程(update线程)执行,步骤S205由condition线程执行。
步骤S207,根据处理的数据迁移信息的数量修改数据迁移信息头信息,并删除磁盘中对应的数据迁移信息。
在本次数据迁移信息处理完之后,可以根据处理的数据迁移信息的数量修改数据迁移信息头信息,例如,数据迁移信息头信息记录了:数据迁移信息数量100、已完成数量0、剩余数量100、数据迁移信息处理时间:xx年xx月xx日20:00,本次处理了两条数据迁移信息,并且两条全部处理成功,则可以将数据迁移信息头信息修改为:数据迁移信息数量100、已完成数量2、剩余数量98、数据迁移信息处理时间:xx年xx月xx日20:00,在修改完数据迁移信息头信息之后,可以将已经处理的两条数据迁移信息从磁盘中删除,释放磁盘空间,避免过多占用磁盘影响中心节点性能。
在处理完所获取的数据迁移信息之后,可以从中心节点的磁盘中再获取预设数量的数据迁移信息进行处理,直至磁盘中的数据迁移信息全部被处理完。
步骤S208,接收管理端发送的数据迁移进度查询请求。
用户可以随时通过管理端查询数据迁移进度情况,具体地,用户通过管理端发送数据迁移进度查询请求,中心节点接收管理端发送的数据迁移进度查询请求。
步骤S209,根据数据迁移进度查询请求查询数据迁移信息头信息,并向管理端返回进度信息。
根据数据迁移进度查询请求来查询数据迁移信息头信息,例如,当前数据迁移信息头信息修改为:数据迁移信息数量100、已完成数量10、剩余数量90、数据迁移信息处理时间:xx年xx月xx日20:00,则当前进度信息为10%,可以将当前进度信息10%返回给管理端,供用户及时了解进度情况。
在本发明实施例中,用户还可以通过管理端提供的输入节点输入暂停数据迁移的命令,具体地,管理端在接收到用户发送的暂停数据迁移的命令后,向中心节点发送暂停数据迁移请求,中心节点响应该请求暂停数据迁移。
步骤S210,若磁盘中的数据迁移信息全部处理完,则删除数据迁移信息头信息。
在将磁盘中的数据迁移信息全部处理完之后,所有的数据迁移信息已全部删除,此时再继续保留数据迁移信息头信息并没有太多意义,因此,可以删除数据迁移信息头信息,避免在磁盘中存储一些没有实际价值意义的信息,而占用磁盘空间。
步骤S211,对中心节点中所记录的第二元信息版本号进行更新处理。
在处理完全部的数据迁移信息后,数据迁移操作完成,中心节点中的元信息也进行了更新,因此,需要对中心节点中记录的第二元信息版本号进行更新,例如,通过将第二元信息版本号加1的方式来对中心节点中的元信息对应的第二元信息版本号进行更新处理,通过更新第二元信息版本号的方式通知数据节点中心节点中的元信息进行了更新。
步骤S212,根据心跳机制将更新后的第二元信息版本号返回给数据节点,以供数据节点根据更新后的第二元信息版本号拉取最新元信息,并根据最新元信息对数据节点存储的数据进行处理。
在本发明实施例中,数据节点与中心节点通过心跳相互感知对方的存活等,在更新第二元信息版本号之后,中心节点可以基于心跳向数据节点返回更新后的第二元信息版本号,数据节点在获取到更新后的第二元信息版本号之后,将更新后的第二元信息版本号与数据节点自身记录的元信息版本号进行比对,若不一致,则可以从中心节点拉取最新元信息,对数据节点自身存储的元信息进行更新,并根据最新元信息对数据节点存储的数据进行处理,例如,对于源节点而言,其需要删除相应数据分片对应的数据。
在本发明一种可选实施方式中,若数据迁移信息处理失败或处理完成,则对记录的数据迁移信息处理计数减1,并从中心节点的磁盘中获取新的数据迁移信息进行处理,这里的数据迁移信息处理计数是对当前正在处理的数据迁移信息的计数,举例说明,每次从中心节点的磁盘中获取2条数据迁移信息进行处理,则数据迁移信息处理计数为2,在数据迁移信息处理失败或处理完成时,需要修改数据迁移信息处理计数,进行计数减1处理,当前限速为2,则可以从中心节点的磁盘中获取1条新的数据迁移信息进行处理。
为了简单考虑,在处理本次数据迁移请求中所携带的数据迁移信息的过程中,可以拒绝管理端后续发送的数据迁移请求,待本次数据迁移请求中所携带的数据迁移信息全部被处理完,再接收管理端发送的新的数据迁移请求。
根据本发明上述实施例提供的方法,在获取到数据迁移信息后,根据数据迁移信息通知相应的源节点执行数据阻写或缓写操作,并添加目的节点执行数据同步操作,监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致,若是,则根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置,使得在处理过程中无需关心数据分片副本在源节点上的角色变化,简化了数据迁移过程,通过记录数据迁移信息头信息,方便用户查看数据迁移进度,另外,基于本发明上述方案,还减少了人工介入,也避免了因迁移数据量过大而占用人力导致的数据迁移成本过高的问题,另外,该数据迁移操作简便易于实现。
图3示出了根据本发明一个实施例的节点间数据迁移装置的结构示意图。该装置应用于包含中心节点的分布式系统,如图3所示,该装置包括:第一接收模块300、比对模块310、存储处理模块320、数据迁移信息处理模块330。
第一接收模块300,适于接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息。
比对模块310,适于将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对。
存储处理模块320,适于若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中。
数据迁移信息处理模块330,适于从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移。
根据本发明上述实施例提供的装置,接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对,若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中,从中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移,减少了人工介入,而且也避免了因迁移数据量过大而占用人力导致的数据迁移成本过高的问题,另外,该数据迁移操作简便易于实现。
图4示出了根据本发明一个实施例的节点间数据迁移装置的结构示意图。该装置应用于包含中心节点的分布式系统,如图4所示,该装置包括:第一接收模块400、比对模块410、存储处理模块420、记录模块430、数据迁移信息处理模块440、更新处理模块450、第一返回模块460、第二接收模块470、第二返回模块480、计数处理模块490。
第一接收模块400,适于接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息。
比对模块410,适于将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对。
存储处理模块420,适于若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中。
记录模块430,适于根据数据迁移信息记录数据迁移信息头信息。
其中,数据迁移信息头信息包括:数据迁移信息数量、已完成数量、剩余数量、数据迁移信息处理时间。
数据迁移信息处理模块440,适于从中心节点的磁盘中获取预设数量的数据迁移信息,根据数据迁移信息通知相应的源节点执行数据阻写或缓写操作,并添加目的节点执行数据同步操作;监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致;若是,则根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置。
在数据迁移信息处理成功后,数据迁移信息处理模块440还适于:根据处理的数据迁移信息的数量修改数据迁移信息头信息,并删除磁盘中对应的数据迁移信息。
数据迁移信息处理模块440进一步适于:若磁盘中的数据迁移信息全部处理完,则删除数据迁移信息头信息。
可选地,数据迁移信息处理模块440进一步适于:若数据分片在源节点上的副本角色为主副本,则将该数据分片在目的节点上的副本角色设置为主副本;若数据分片在源节点上的副本角色为从副本,则将该数据分片在目的节点上的副本角色设置为从副本。
更新处理模块450,适于对中心节点中所记录的第二元信息版本号进行更新处理。
第一返回模块460,适于根据心跳机制将更新后的第二元信息版本号返回给数据节点,以供数据节点根据更新后的第二元信息版本号拉取最新元信息,并根据最新元信息对数据节点存储的数据进行处理。
第二接收模块470,适于接收管理端发送的数据迁移进度查询请求。
第二返回模块480,适于根据数据迁移进度查询请求查询数据迁移信息头信息,并向管理端返回进度信息。
计数处理模块490,适于若数据迁移信息处理失败或处理完成,则对记录的数据迁移信息处理计数减1。
数据迁移信息处理模块440进一步适于:从中心节点的磁盘中获取新的数据迁移信息进行处理。
可选地,存储处理模块420进一步适于:若中心节点为多个,则将数据迁移信息存储至每个中心节点的磁盘中。
根据本发明上述实施例提供的装置,在获取到数据迁移信息后,根据数据迁移信息通知相应的源节点执行数据阻写或缓写操作,并添加目的节点执行数据同步操作,监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致,若是,则根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置,使得在处理过程中无需关心数据分片副本在源节点上的角色变化,简化了数据迁移过程,通过记录数据迁移信息头信息,方便用户查看数据迁移进度,另外,基于本发明上述方案,还减少了人工介入,也避免了因迁移数据量过大而占用人力导致的数据迁移成本过高的问题,另外,该数据迁移操作简便易于实现。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的节点间数据迁移方法。
图5示出了根据本发明一个实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述节点间数据迁移方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行上述任意方法实施例中的节点间数据迁移方法。程序510中各步骤的具体实现可以参见上述节点间数据迁移实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的节点间数据迁移设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (22)

1.一种节点间数据迁移方法,所述方法应用于包含中心节点的分布式系统,所述方法包括:
接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,所述数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息;所述数据迁移信息,用于指示数据分片将对应的数据迁移至目的节点;
将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对;
若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中;
从所述中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移。
2.根据权利要求1所述的方法,其中,所述从所述中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移进一步包括:
从所述中心节点的磁盘中获取预设数量的数据迁移信息,根据所述数据迁移信息通知相应的源节点执行数据阻写或缓写操作,并添加目的节点执行数据同步操作;
监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致;
若是,则根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置。
3.根据权利要求2所述的方法,其中,所述根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置进一步包括:
若数据分片在源节点上的副本角色为主副本,则将该数据分片在目的节点上的副本角色设置为主副本;
若数据分片在源节点上的副本角色为从副本,则将该数据分片在目的节点上的副本角色设置为从副本。
4.根据权利要求1-3任一项所述的方法,其中,在从所述中心节点的磁盘中获取预设数量的数据迁移信息进行处理之后,所述方法还包括:对所述中心节点中所记录的第二元信息版本号进行更新处理;
根据心跳机制将更新后的第二元信息版本号返回给数据节点,以供数据节点根据更新后的第二元信息版本号拉取最新元信息,并根据最新元信息对数据节点存储的数据进行处理。
5.根据权利要求1-4任一项所述的方法,其中,在将数据迁移信息存储至中心节点的磁盘中之后,所述方法还包括:根据所述数据迁移信息记录数据迁移信息头信息;
在对数据迁移信息处理完成之后,所述方法还包括:根据处理的数据迁移信息的数量修改数据迁移信息头信息,并删除磁盘中对应的数据迁移信息。
6.根据权利要求5所述的方法,其中,所述方法还包括:若磁盘中的数据迁移信息全部处理完,则删除所述数据迁移信息头信息。
7.根据权利要求5或6所述的方法,其中,所述数据迁移信息头信息包括:数据迁移信息数量、已完成数量、剩余数量、数据迁移信息处理时间。
8.根据权利要求5-7任一项所述的方法,其中,所述方法还包括:接收管理端发送的数据迁移进度查询请求;
根据所述数据迁移进度查询请求查询数据迁移信息头信息,并向管理端返回进度信息。
9.根据权利要求1-8任一项所述的方法,其中,所述方法还包括:若数据迁移信息处理失败或处理完成,则对记录的数据迁移信息处理计数减1,并从所述中心节点的磁盘中获取新的数据迁移信息进行处理。
10.根据权利要求1所述的方法,其中,所述方法还包括:若中心节点为多个,则将数据迁移信息存储至每个中心节点的磁盘中;
若主中心节点宕机,则由其他中心节点根据中心节点中的元信息以及元信息版本号从所述中心节点的磁盘中获取预设数量的数据迁移信息进行处理。
11.一种节点间数据迁移装置,所述装置应用于包含中心节点的分布式系统,所述装置包括:
第一接收模块,适于接收管理端发送的携带有数据迁移信息和第一元信息版本号的数据迁移请求,其中,所述数据迁移信息包括:表标识、数据分片标识、源节点IP端口信息、目的节点IP端口信息;所述数据迁移信息,用于指示数据分片将对应的数据迁移至目的节点;
比对模块,适于将第一元信息版本号与中心节点所记录的第二元信息版本号进行比对;
存储处理模块,适于若第一元信息版本号与第二元信息版本号一致,则将数据迁移信息存储至中心节点的磁盘中;
数据迁移信息处理模块,适于从所述中心节点的磁盘中获取预设数量的数据迁移信息进行处理,以实现源节点与目的节点之间的数据迁移。
12.根据权利要求11所述的装置,其中,所述数据迁移信息处理模块进一步适于:
从所述中心节点的磁盘中获取预设数量的数据迁移信息,根据所述数据迁移信息通知相应的源节点执行数据阻写或缓写操作,并添加目的节点执行数据同步操作;
监测源节点中数据分片对应的数据偏移量与目的节点中数据分片对应的数据偏移量是否一致;
若是,则根据元信息所记录的该数据分片在源节点上的副本角色对该数据分片在目的节点上的副本角色进行设置。
13.根据权利要求12所述的装置,其中,所述数据迁移信息处理模块进一步适于:若数据分片在源节点上的副本角色为主副本,则将该数据分片在目的节点上的副本角色设置为主副本;
若数据分片在源节点上的副本角色为从副本,则将该数据分片在目的节点上的副本角色设置为从副本。
14.根据权利要求11-13任一项所述的装置,其中,所述装置还包括:更新处理模块,适于对所述中心节点中所记录的第二元信息版本号进行更新处理;
第一返回模块,适于根据心跳机制将更新后的第二元信息版本号返回给数据节点,以供数据节点根据更新后的第二元信息版本号拉取最新元信息,并根据最新元信息对数据节点存储的数据进行处理。
15.根据权利要求11-14任一项所述的装置,其中,所述装置还包括:记录模块,适于根据所述数据迁移信息记录数据迁移信息头信息;
所述数据迁移信息处理模块进一步适于:根据处理的数据迁移信息的数量修改数据迁移信息头信息,并删除磁盘中对应的数据迁移信息。
16.根据权利要求15所述的装置,其中,所述数据迁移信息处理模块进一步适于:若磁盘中的数据迁移信息全部处理完,则删除所述数据迁移信息头信息。
17.根据权利要求15或16所述的装置,其中,所述数据迁移信息头信息包括:数据迁移信息数量、已完成数量、剩余数量、数据迁移信息处理时间。
18.根据权利要求15-17任一项所述的装置,其中,所述装置还包括:第二接收模块,适于接收管理端发送的数据迁移进度查询请求;
第二返回模块,适于根据所述数据迁移进度查询请求查询数据迁移信息头信息,并向管理端返回进度信息。
19.根据权利要求11-18任一项所述的装置,其中,所述装置还包括:计数处理模块,适于若数据迁移信息处理失败或处理完成,则对记录的数据迁移信息处理计数减1;
所述数据迁移信息处理模块进一步适于:从所述中心节点的磁盘中获取新的数据迁移信息进行处理。
20.根据权利要求11所述的装置,其中,所述存储处理模块进一步适于:若中心节点为多个,则将数据迁移信息存储至每个中心节点的磁盘中。
21.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-10中任一项所述的节点间数据迁移方法对应的操作。
22.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-10中任一项所述的节点间数据迁移方法对应的操作。
CN201711479293.6A 2017-12-29 2017-12-29 节点间数据迁移方法、装置、计算设备及计算机存储介质 Active CN108228102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711479293.6A CN108228102B (zh) 2017-12-29 2017-12-29 节点间数据迁移方法、装置、计算设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711479293.6A CN108228102B (zh) 2017-12-29 2017-12-29 节点间数据迁移方法、装置、计算设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN108228102A CN108228102A (zh) 2018-06-29
CN108228102B true CN108228102B (zh) 2021-07-23

Family

ID=62646055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711479293.6A Active CN108228102B (zh) 2017-12-29 2017-12-29 节点间数据迁移方法、装置、计算设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN108228102B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271098B (zh) * 2018-07-18 2021-03-23 成都华为技术有限公司 一种数据迁移方法及装置
CN110896408B (zh) * 2018-09-13 2021-08-13 华为技术有限公司 一种数据处理方法及服务器集群
CN111240580B (zh) * 2018-11-29 2022-04-12 浙江宇视科技有限公司 数据迁移方法及装置
CN113391757B (zh) * 2020-03-12 2022-05-03 杭州海康威视数字技术股份有限公司 一种节点扩展方法、装置及迁入节点
CN111708763B (zh) * 2020-06-18 2023-12-01 北京金山云网络技术有限公司 分片集群的数据迁移方法、装置和分片集群系统
CN114024956B (zh) * 2020-07-17 2024-03-12 北京达佳互联信息技术有限公司 数据迁移方法、装置、服务器及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170440A (zh) * 2011-03-24 2011-08-31 北京大学 适用于存储云间数据安全迁移的方法
CN104426952A (zh) * 2013-08-28 2015-03-18 华为技术有限公司 一种数据迁移方法、设备及系统
CN105530273A (zh) * 2014-09-29 2016-04-27 国际商业机器公司 用于数据迁移的方法和装置
CN106570086A (zh) * 2016-10-19 2017-04-19 上海携程商务有限公司 数据迁移系统及数据迁移方法
CN106777225A (zh) * 2016-12-26 2017-05-31 腾讯科技(深圳)有限公司 一种数据的迁移方法和系统
CN107391050A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据迁移方法、系统、装置和计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617292B2 (en) * 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
CN103685368B (zh) * 2012-09-10 2017-04-12 中国电信股份有限公司 用于迁移数据的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170440A (zh) * 2011-03-24 2011-08-31 北京大学 适用于存储云间数据安全迁移的方法
CN104426952A (zh) * 2013-08-28 2015-03-18 华为技术有限公司 一种数据迁移方法、设备及系统
CN105530273A (zh) * 2014-09-29 2016-04-27 国际商业机器公司 用于数据迁移的方法和装置
CN106570086A (zh) * 2016-10-19 2017-04-19 上海携程商务有限公司 数据迁移系统及数据迁移方法
CN106777225A (zh) * 2016-12-26 2017-05-31 腾讯科技(深圳)有限公司 一种数据的迁移方法和系统
CN107391050A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据迁移方法、系统、装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN108228102A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108228102B (zh) 节点间数据迁移方法、装置、计算设备及计算机存储介质
CN107391629B (zh) 集群间数据迁移方法、系统、服务器及计算机存储介质
US11550819B2 (en) Synchronization cache seeding
US8458284B2 (en) Systems and methods for efficient live application migration within bandwidth constrained networks
US9952940B2 (en) Method of operating a shared nothing cluster system
GB2527296A (en) A method for restoring data in a HSM system
TW201220197A (en) for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment
CN111049928B (zh) 数据同步方法、系统、电子设备及计算机可读存储介质
TW201711432A (zh) 對伺服器進行健康檢查的方法及設備
CN106648462B (zh) 数据存储方法及装置
EP3739440A1 (en) Distributed storage system, data processing method and storage node
CN110119304B (zh) 一种中断处理方法、装置及服务器
US9984139B1 (en) Publish session framework for datastore operation records
CN108540510B (zh) 一种云主机创建方法、装置及云服务系统
JP2012234333A (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
WO2012108175A1 (ja) データベース更新通知方法
CN105227672A (zh) 数据存储及访问的方法和系统
CN107391033B (zh) 数据迁移方法及装置、计算设备、计算机存储介质
CN106855834B (zh) 一种数据备份方法、装置和系统
EP4052126A1 (en) Management of multiple physical function non-volatile memory devices
CN112052230A (zh) 多机房数据同步方法、计算设备及存储介质
CN114625762A (zh) 一种元数据获取方法、网络设备及系统
CN111225003B (zh) 一种nfs节点配置方法和装置
CN112148206A (zh) 一种数据读写方法、装置、电子设备及介质
CN114365109A (zh) 启用rdma的键-值存储库

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