CN106843755A - 用于服务器集群的数据均衡方法与装置 - Google Patents

用于服务器集群的数据均衡方法与装置 Download PDF

Info

Publication number
CN106843755A
CN106843755A CN201710003462.2A CN201710003462A CN106843755A CN 106843755 A CN106843755 A CN 106843755A CN 201710003462 A CN201710003462 A CN 201710003462A CN 106843755 A CN106843755 A CN 106843755A
Authority
CN
China
Prior art keywords
disk
server
data
source
dilatation
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.)
Granted
Application number
CN201710003462.2A
Other languages
English (en)
Other versions
CN106843755B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710003462.2A priority Critical patent/CN106843755B/zh
Publication of CN106843755A publication Critical patent/CN106843755A/zh
Application granted granted Critical
Publication of CN106843755B publication Critical patent/CN106843755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了用于服务器集群的数据均衡方法与装置。方法的一具体实施方式包括:响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘,其中,至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,目标磁盘位于扩容后的服务器集群中的新增服务器中;禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作;当目标磁盘满足预设条件时,停止执行迁移操作;其中,预设条件包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。实现了扩容后的服务器集群在短时间内达到数据均衡,节约了成本。

Description

用于服务器集群的数据均衡方法与装置
技术领域
本申请涉及计算机网络技术领域,具体涉及分布式存储应用技术领域,尤其涉及用于服务器集群的数据均衡方法与装置。
背景技术
在大规模分布式存储***中通常包括多个服务器集群,随着数据量和读写请求的增长各个服务器集群不可避免的需要扩容。服务器集群扩容也就是在服务器集群原有服务器的基础上增加一定数量的新服务器。在服务器集群扩容后数据如何分配成为需要解决的问题。
现有技术中的一种服务器集群扩容后数据分配方法为根据一定策略将原有所有数据集合水平分为多个子集,将部分子集对应的数据迁移至新服务器上,随着上述部分子集的数据迁移,对应这些子集的新增写入也跟随到了新增服务器上。同时,为了不影响正常的数据请求,需要对数据迁移进行控制。这样一来,数据迁移的速度较慢,从而使得依靠数据迁移达到全集群的数据均衡的时间较长。此外,这种数据分配方法需要在各原服务器的空间写满之前进行扩容,增加了服务器集群的扩容成本。
发明内容
本申请的目的在于提出一种改进的用于服务器集群的数据均衡方法与装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于服务器集群的数据均衡方法,该方法包括:响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘,其中,至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,目标磁盘位于扩容后的服务器集群中的新增服务器中;禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作;当目标磁盘满足预设条件时,停止执行迁移操作;其中,预设条件包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
在一些可选的实现方式中,在禁止扩容后新增的服务器接收对目标磁盘的读写请求之前,上述方法还包括:将目标磁盘的状态设置为与源磁盘的状态不同的新加入状态。
在一些可选的实现方式中,上述方法还包括:当目标磁盘满足预设条件时,将目标磁盘的状态设置为与源磁盘的状态相同的普通状态。
在一些可选的实现方式中,上述方法还包括:若属于同一个新增服务器的所有磁盘的状态均为普通状态时,使能该新增服务器接收对目标磁盘的读写请求。
在一些可选的实现方式中,各源磁盘对应的待迁移数据为不同的数据。
在一些可选的实现方式中,上述确定存储待迁移数据的至少一个源磁盘和用于存储源磁盘中的待迁移数据的目标磁盘,包括:确定存储在扩容前的服务器集群中的数据占用的存储空间;将存储空间除以扩容后服务器集群的总存储空间,得到比例阈值;分别计算扩容前的服务器集群中的原服务器中的每一个磁盘的比例参数,比例参数为各磁盘上存储的数据占用的存储空间除以该磁盘的总存储空间;当比例参数大于比例阈值时,将磁盘作为源磁盘。
第二方面,本申请提供了一种用于服务器集群的数据均衡装置,该装置包括:确定单元,配置用于响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘,其中,至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,目标磁盘位于扩容后的服务器集群中的新增服务器中;执行单元,配置用于禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作;停止单元,配置用于当目标磁盘满足预设条件时,停止执行迁移操作,预设条件包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
在一些可选的实现方式中,上述装置还包括设置单元,设置单元配置用于在执行单元禁止扩容后新增的服务器接收对目标磁盘的读写请求之前,将目标磁盘设置为与源磁盘的状态不同的新加入状态。
在一些可选的实现方式中,设置单元进一步配置用于当目标磁盘满足预设条件时,将目标磁盘的状态设置为与源磁盘的状态相同的普通状态。
在一些可选的实现方式中,上述装置还包括使能单元,使能单元配置用于当属于同一个新增服务器的所有磁盘的状态均为普通状态时,使能该新增服务器接收对目标磁盘的读写请求。
在一些可选的实现方式中,各源磁盘对应的待迁移数据为不同的数据。
在一些可选的实现方式中,确定单元进一步配置用于:确定存储在扩容前的服务器集群中的数据占用的存储空间;将存储空间除以扩容后服务器集群的总存储空间,得到比例阈值;分别计算扩容前的服务器集群中的原服务器中的每一个磁盘的比例参数,比例参数为各磁盘上存储的数据占用的存储空间除以该磁盘的总存储空间;当比例参数大于比例阈值时,将磁盘作为源磁盘。
本申请提供的用于服务器集群的数据均衡方法与装置,通过首先确定待迁移数据的至少一个源磁盘和用于存储待迁移数据的一个目标磁盘,然后禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作,最后当目标磁盘满足预设条件时,停止执行迁移操作。实现了由至少一个源磁盘到一个目标磁盘的快速数据迁移,进而可以实现扩容后的服务器集群在短时间内快速达到数据均衡;此外,采用本申请提供的技术方案可以在原数据块服务器写满时进行扩容,因此降低了扩容成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的用于服务器集群的数据均衡方法的一个实施例的流程图;
图3是根据本申请的用于服务器集群的数据均衡方法原理示意图;
图4是根据本申请的用于服务器集群的数据均衡方法的另一个实施例的流程图
图5是根据本申请的用于服务器集群的数据均衡的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于服务器集群的数据均衡方法或用于服务器集群的数据均衡装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括数据块服务器101、102、103,主服务器104和客户端105。主服务器104和客户端105之间,数据块服务器101、102、103与主服务器之间,以及数据块服务器101、102、103与客户端105之间通过网络进行通信。此处的网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户端105通过网络与主服务器104交互,以接收或发送消息等。用户可以通过各种应用与客户端进行交互。
客户端105可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。客户端105上可以安装有与主服务器以及数据块服务器进行通信的接口程序。
主服务器104可以是用以管理文件存储***的服务器。主服务器104通过网络与客户端105通信。将可以支持客户端105进行数据写入或读取的数据块服务器101、102、103信息发给客户端105,并在应客户端105进行数据块写入时建立名字空间、访问控制信息、文件和数据块的映射信息、及当前数据块的位置信息等管理信息。
数据块服务器101、102、103可以是存储数据的服务器,例如普通的商用计算机。数据块服务器101、102、103通过网络与客户端105通信,接收客户端105写入的数据块;以及向客户端105提供其读取的数据块。
需要说明的是,本申请实施例所提供的用于服务器集群的数据均衡方法一般由主服务器104执行,相应地,用于服务器集群的装置一般设置于主服务器104中。
应该理解,图1中的数据块服务器、主服务器和客户端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据块服务器、主服务器和客户端。
请参考图2,示出了根据本申请的用于服务器集群的数据均衡方法的一个实施例的流程200。所述的用于服务器集群的数据均衡方法,包括以下步骤:
步骤201,响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘。
服务器集群通常包括多台数据块服务器和一台主服务器。其中主服务器对所有数据块服务器中存储的数据进行管理。当有写入数据时,主服务器将数据按照固定大小进行分块,为每个分块建立唯一标识,并为每个块确定存储位置。同时主服务器建立数据块的管理信息。数据块的位置信息可以包括数据块所在的数据块服务器的标识信息及具体的磁盘信息。其中,数据块服务器的标识信息例如可以包括数据块服务器的IP地址信息。数据块服务器可以按照主服务器为各数据块分配的空间及位置对各数据块进行存储。值得指出的是,主服务器是一个逻辑概念,一台主服务器可以包括多台物理主机。
当服务器集群的容量出现瓶颈时,需要对服务器集群进行扩容,通常服务器集群扩容是指在原服务器集群中添加新的数据块服务器。
在本实施例中,用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)首先确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘。
具体地,主服务器可以将扩容后的新增服务器中的任意一个磁盘作为目标磁盘。也就是说上述目标磁盘位于扩容后的服务器集群中的新增服务器中。新增服务器例如可以为扩容后的服务器集群中的新增的数据块服务器。
对于上述任意一个目标磁盘,主服务器获取该目标磁盘的存储空间,然后根据该目标磁盘的存储空间从至少一个原数据块服务器中选取待迁移数据。在选取待迁移数据时可以首先从原数据块服务器中确定至少一个源磁盘,再从上述至少一个源磁盘中选取一定数量的数据块作为待迁移数据。在一些应用场景中,存储于数据块服务器中的各个数据块的大小为一个固定值。该固定值例如可以为32GB。
通常,在分布式存储集群中,每一份数据可以包括多个副本,不同的副本可以存储于不同的数据块服务器中。在本实施例的一些可选实现方式中,从各个源磁盘中选取的待迁移数据可以为不同的数据。此处“不同的数据”可以是待迁移数据块所对应的用户的标识信息不同,还可以是待迁移数据块中的数据内容不同。当从各个源磁盘中选取的待迁移数据为不同的数据时,每一份数据将只有一个副本被迁移到新增服务器中。这样不但可以保证数据在扩容后的集群中均匀分布,还可以使得在一份数据的一个副本被迁移到新增服务器上的目标磁盘的过程中,该份数据位于其他原数据块服务器中的其它副本可以为用户的读写请求提供服务。
在本实施例中,上述至少一个源磁盘位于扩容前的原服务器集群的至少一个原服务器中。此处,原服务器可以为原服务器集群中的数据块服务器。
在本实施例的一些可选实现方式中,主服务器可以根据如下方法来确定源磁盘:首先,确定存储在扩容前的服务器集群中的所有的数据占用的存储空间。然后将所有的数据占用的存储空间除以扩容后服务器集群的总存储空间,得到比例阈值。接着分别计算扩容前的服务器集群中的原服务器中的每一个磁盘的比例参数;此处,任意一个磁盘的比例参数可以为该磁盘上存储的数据所占用的存储空间除以该磁盘的总存储空间。最后,当一个磁盘的比例参数大于比例阈值时,可以将该磁盘作为源磁盘。
需要说明的是,上述确定源磁盘的方法不限于上述的方法。确定源磁盘的方法可以是其他任意可以将上述原服务器中各数据块服务器判定为源磁盘的方法,本实施例不对上述确定源磁盘的方法进行具体的限定。
步骤202,禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作。
在本实施例中,用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)在步骤201中确定了目标磁盘和源磁盘后,禁止新增服务器接收如图1所示客户端对目标磁盘的读写请求。然后通过网络将待迁移数据自源磁盘迁移到目标磁盘中。
值得指出的是,主服务器还可以将待迁移数据及待迁移数据存储的在源磁盘中的存储位置信息以及目标磁盘信息通过网络发送给目标磁盘所在的新增数据块服务器。然后由新增数据块服务器向源磁盘所在的原数据块服务器发送迁移数据请求,迁移数据请求中包括源磁盘信息及待迁移数据信息。响应于新增服务器的迁移数据请求,原数据块服务器将源磁盘上的待迁移数据发送至新增服务器的目标磁盘中。类似地,还可以将待迁移数据及待迁移数据存储的在源磁盘中的存储位置信息以及目标磁盘信息发送给各个源磁盘所在的原数据块服务器中,原数据块服务器将待迁移数据发送至新增服务器的目标磁盘中。
禁止客户端对新增服务器的目标磁盘的读写请求可以加快执行至少一个源磁盘向目标磁盘数据迁移的速度。
步骤203,当目标磁盘满足预设条件时,停止执行迁移操作。
当用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)判断目标磁盘满足预设条件时,可以停止执行将源磁盘中的待迁移数据迁移至目标磁盘的操作。
在本实施例中,上述预设条件可以包括目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
本申请提供的用于服务器集群的数据均衡方法与装置,通过首先确定待迁移数据的至少一个源磁盘和用于存储待迁移数据的一个目标磁盘,然后禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作,最后当目标磁盘满足预设条件时,停止执行迁移操作。实现了由至少一个源磁盘到一个目标磁盘的快速数据迁移,进而可以实现扩容后的服务器集群在短时间内快速达到数据均衡;此外,采用本申请提供的技术方案可以在原数据块服务器写满时进行扩容,因此降低了扩容成本。
继续参见图3,图3是根据本申请的用于服务器集群的数据均衡方法的原理性流程图300。如图3所示,扩容前的原服务器集群中的原数据块服务器A、B、C和D,扩容后的服务器集群中包括原数据块服务器A、B、C和D以及新增数据块服务器E。原数据块服务器A、B、C和D分别包括磁盘a,b,c,d。新增数据块服务器E包括磁盘e1和磁盘e2。扩容后的服务器集群中新增数据块服务器E中磁盘e1和e2分别被作为目标磁盘。原数据块服务器A中的磁盘a、原数据块服务器B中的磁盘b被确定为对应于目标磁盘e1的源磁盘。原数据块服务器C中的磁盘c、原数据块服务器D中的磁盘d被确定为对应于目标磁盘e2的源磁盘。根据目标磁盘e1的存储空间从源磁盘a和源磁盘b中选取待迁移数据向目标磁盘e1中进行数据迁移。同时根据目标磁盘e2的存储空间从源磁盘c和源磁盘d中选取待迁移数据向目标磁盘e2中进行数据迁移。图3所示的数据均衡方法,可以在短时间内快速实现扩容后的服务器集群的数据均衡。
继续参考图4,其示出了根据本申请的用于服务器集群的数据均衡方法的又一个实施例的流程400。所述的用于服务器集群的数据均衡方法,包括以下步骤:
步骤401,响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘。
在本实施例中,用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)将扩容后的新增数据块服务器中的每一个磁盘作为目标磁盘,并获取每一个目标磁盘的存储空间。
对于每一个目标磁盘,主服务器根据其存储空间从扩容前的至少一个原数据块服务器中确定至少一个源磁盘。并从上述至少一个源磁盘中选取一定量的数据块作为待迁移数据。
每一个源磁盘对应的待迁移数据不相同。此处的每一个源磁盘对应待迁移数据不相同可以是待迁移数据块中的数据内容不相同,还可以是待迁移数据块的标识不相同。
步骤402,将目标磁盘的状态设置为与源磁盘的状态不同的新加入状态。
与图2所示实施例不同之处在于,在本实施例中,在步骤401中确定了存储待迁移数据的至少一个源磁盘和一个用于存储待迁移数据的目标磁盘之后,用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)将目标磁盘的状态设置为与源磁盘的状态不同的新加入状态。这样一来,可以方便主服务器对各个目标磁盘的管理与控制。
步骤403,禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作。
在步骤402中将目标磁盘的状态设置为新加入状态之后,用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)禁止新增服务器接收对目标磁盘的读写请求。
同时主服务器通过网络执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作。
步骤404,当目标磁盘满足预设条件时,将目标磁盘的状态设置为与源磁盘的状态相同的普通状态,并停止执行迁移操作。
当目标磁盘满足预设条件时,用于服务器集群的数据均衡方法运行于其上的电子设备(例如图1所示的主服务器)将目标磁盘的状态设置为与源磁盘的状态相同的普通状态。同时停止执行迁移操作。
在本实施例中,上述预设条件例如可以包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同。其中,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
在本实施例的一些可选实现方式中,若属于同一个新增服务器的所有磁盘的状态均为普通状态时,使能该新增服务器接收对目标磁盘的读写请求。也就是说,当一个新增服务器的所有的磁盘的剩余容量与源磁盘的平均剩余容量相同时,不再对该新增服务器中的磁盘数据迁移,同时该新增服务器可以为用户的读写请求提供服务。新增服务器可以为用户的读写请求提供服务,也就是服务器集群的数据吞吐量增加了。
在本实施例中,除了可以使扩容后的服务器集群在短时间内快速达到数据均衡,并节省扩容成本外,通过在执行数据迁移前,对目标磁盘的状态设置为不同于源磁盘的新加入状态,并在磁盘目标磁盘满足预设条件时,将目标磁盘的状态设置为与源磁盘的状态相同的普通状态,既便于主服务器对目标磁盘的识别及管理,同时还能及时使新增服务器对客户端提供读写服务,以提高服务器集群的数据吞吐量。
进一步参考图5,作为对图1所示方法的实现,本申请提供了一种用于服务器集群的数据均衡装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种终端中。
如图5所示,本实施例用于服务器集群的数据均衡装置500包括:确定单元501、执行单元502、与停止单元503。其中,确定单元501配置用于响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘,其中,至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,目标磁盘位于扩容后的服务器集群中的新增服务器中。执行单元502配置用于禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作。停止单元503配置用于当目标磁盘满足预设条件时,停止执行迁移操作,预设条件包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
在本实施例中,确定单元501例如可以将扩容后的新增服务器中的任意一个磁盘作为目标磁盘。此处,新增服务器可以为扩容后的服务器集群中的新增数据块服务器。
对于上述任意一个目标磁盘,确定单元501获取该目标磁盘的存储空间,然后根据该目标磁盘的存储空间从至少一个原数据块服务器中选取待迁移数据。在选取待迁移数据时可以首先从原数据块服务器中确定至少一个源磁盘,再从上述至少一个源磁盘中选取一定数量的数据块作为待迁移数据。
在本实施例的一些可选实现方式中,确定单元501从各个源磁盘中选取的待迁移数据为不同的数据。此处不同的数据可以是指待迁移数据块所对应的用户的标识信息不同,还可以是指待迁移数据块中的数据内容不同。确定单元501从各个源磁盘中选取的待迁移数据为不同的数据使得每一份数据只有一个副本被迁移到新增服务器中。这样不但可以保证数据在扩容后的集群中均匀分布,还可以使得在一份数据的一个副本被迁移到新增服务器上的目标磁盘的过程中,该份数据位于其他原数据块服务器中的其它副本可以为用户的读写请求提供服务。
在本实施例的一些可选实现方式中,确定单元501进一步配置用于:首先,确定存储在扩容前的服务器集群中的所有的数据占用的存储空间。然后将所有的数据占用的存储空间除以扩容后服务器集群的总存储空间,得到比例阈值。接着分别计算扩容前的服务器集群中的原服务器中的每一个磁盘的比例参数;此处,任意一个磁盘的比例参数可以为该磁盘上存储的数据所占用的存储空间除以该磁盘的总存储空间。最后,当一个磁盘的比例参数大于比例阈值时,可以将该磁盘作为源磁盘。
在本实施例中,执行单元502在确定单元501确定了一个目标磁盘和至少一个源磁盘之后,禁止新增服务器接收客户端对目标磁盘的读写请求。然后通过网络将待迁移数据自源磁盘迁移到目标磁盘中。
在本实施例的一些可选实现方式中,用于服务器集群的数据均衡装置500还包括设置单元(图中未示出),设置单元配置用于在执行单元禁止扩容后新增的服务器接收对目标磁盘的读写请求之前,将目标磁盘设置为与源磁盘的状态不同的新加入状态。
停止单元503配置用于当上述目标磁盘满足预设条件时,停止执行迁移操作。在本实施例中,预设条件包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
在本实施例的一些可选实现方式中,上述设置单元进一步配置用于当目标磁盘满足预设条件时,将目标磁盘的状态设置为与源磁盘的状态相同的普通状态。
在本实施例的一些可选实现方式中,用于服务器集群的数据均衡装置500还包括使能单元(图中未示出)。使能单元配置用于当属于同一个新增服务器的所有磁盘的状态均为普通状态时,使能该新增服务器接收对目标磁盘的读写请求。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机***600的结构示意图。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、执行单元、以及停止单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“确定源磁盘和目标磁盘的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:响应于对服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储待迁移数据的目标磁盘,其中,至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,目标磁盘位于扩容后的服务器集群中的新增服务器中;禁止新增服务器接收对目标磁盘的读写请求,并执行将待迁移数据自源磁盘迁移到目标磁盘的迁移操作;当目标磁盘满足预设条件时,停止执行迁移操作;其中,预设条件包括:目标磁盘的剩余容量和源磁盘的平均磁盘剩余容量相同,平均磁盘剩余容量为源磁盘剩余容量之和除以源磁盘的数量。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种用于服务器集群的数据均衡方法,其特征在于,所述方法包括:
响应于对所述服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储所述待迁移数据的目标磁盘,其中,所述至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,所述目标磁盘位于扩容后的服务器集群中的新增服务器中;
禁止所述新增服务器接收对所述目标磁盘的读写请求,并执行将所述待迁移数据自源磁盘迁移到所述目标磁盘的迁移操作;
当所述目标磁盘满足预设条件时,停止执行所述迁移操作;
其中,所述预设条件包括:所述目标磁盘的剩余容量和所述源磁盘的平均磁盘剩余容量相同,所述平均磁盘剩余容量为所述源磁盘剩余容量之和除以所述源磁盘的数量。
2.根据权利要求1所述的方法,其特征在于,在所述禁止所述扩容后新增的服务器接收对目标磁盘的读写请求之前,所述方法还包括:
将所述目标磁盘的状态设置为与所述源磁盘的状态不同的新加入状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述目标磁盘满足预设条件时,将所述目标磁盘的状态设置为与所述源磁盘的状态相同的普通状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若属于同一个新增服务器的所有磁盘的状态均为普通状态时,使能该新增服务器接收对所述目标磁盘的读写请求。
5.根据权利要求1所述的方法,其特征在于,各所述源磁盘对应的待迁移数据为不同的数据。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述确定存储待迁移数据的至少一个源磁盘和用于存储所述源磁盘中的待迁移数据的目标磁盘,包括:
确定存储在所述扩容前的服务器集群中的数据占用的存储空间;
将所述存储空间除以扩容后所述服务器集群的总存储空间,得到比例阈值;
分别计算所述扩容前的服务器集群中的原服务器中的每一个磁盘的比例参数,所述比例参数为各磁盘上存储的数据占用的存储空间除以该磁盘的总存储空间;
当所述比例参数大于所述比例阈值时,将所述磁盘作为源磁盘。
7.一种用于服务器集群的数据均衡装置,其特征在于,所述装置包括:
确定单元,所述确定单元配置用于响应于对所述服务器集群的扩容,确定存储待迁移数据的至少一个源磁盘和用于存储所述待迁移数据的目标磁盘,其中,所述至少一个源磁盘位于扩容前的服务器集群的至少一个原服务器中,所述目标磁盘位于扩容后的服务器集群中的新增服务器中;
执行单元,所述执行单元配置用于禁止所述新增服务器接收对所述目标磁盘的读写请求,并执行将所述待迁移数据自源磁盘迁移到所述目标磁盘的迁移操作;
停止单元,所述停止单元配置用于当所述目标磁盘满足预设条件时,停止执行迁移操作,所述预设条件包括:所述目标磁盘的剩余容量和所述源磁盘的平均磁盘剩余容量相同,所述平均磁盘剩余容量为所述源磁盘剩余容量之和除以所述源磁盘的数量。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括设置单元,
所述设置单元配置用于在所述执行单元禁止所述扩容后新增的服务器接收对目标磁盘的读写请求之前,将所述目标磁盘设置为与所述源磁盘的状态不同的新加入状态。
9.根据权利要求8所述的装置,其特征在于,
所述设置单元进一步配置用于当所述目标磁盘满足预设条件时,将所述目标磁盘的状态设置为与所述源磁盘的状态相同的普通状态。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括使能单元,所述使能单元配置用于当属于同一个新增服务器的所有磁盘的状态均为普通状态时,使能该新增服务器接收对所述目标磁盘的读写请求。
11.根据权利要求7所述的装置,其特征在于,各所述源磁盘对应的待迁移数据为不同的数据。
12.根据权利要求7-11任意一项所述的装置,其特征在于,所述确定单元进一步配置用于:
确定存储在所述扩容前的服务器集群中的数据占用的存储空间;
将所述存储空间除以扩容后所述服务器集群的总存储空间,得到比例阈值;
分别计算所述扩容前的服务器集群中的原服务器中的每一个磁盘的比例参数,所述比例参数为各磁盘上存储的数据占用的存储空间除以该磁盘的总存储空间;
当所述比例参数大于所述比例阈值时,将所述磁盘作为源磁盘。
CN201710003462.2A 2017-01-04 2017-01-04 用于服务器集群的数据均衡方法与装置 Active CN106843755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710003462.2A CN106843755B (zh) 2017-01-04 2017-01-04 用于服务器集群的数据均衡方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710003462.2A CN106843755B (zh) 2017-01-04 2017-01-04 用于服务器集群的数据均衡方法与装置

Publications (2)

Publication Number Publication Date
CN106843755A true CN106843755A (zh) 2017-06-13
CN106843755B CN106843755B (zh) 2019-10-11

Family

ID=59118428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710003462.2A Active CN106843755B (zh) 2017-01-04 2017-01-04 用于服务器集群的数据均衡方法与装置

Country Status (1)

Country Link
CN (1) CN106843755B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357896A (zh) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 数据库集群的扩容方法、装置、***和数据库集群***
CN107391050A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据迁移方法、***、装置和计算机可读存储介质
CN108197229A (zh) * 2017-12-29 2018-06-22 北京搜狐新媒体信息技术有限公司 一种磁盘数据的平衡方法及***
CN108388468A (zh) * 2018-01-26 2018-08-10 杨立群 一种快速文件***调度方法及装置
WO2019033949A1 (zh) * 2017-08-18 2019-02-21 阿里巴巴集团控股有限公司 一种数据的迁移方法、装置及设备
CN109426439A (zh) * 2017-09-04 2019-03-05 阿里巴巴集团控股有限公司 对分布式存储***进行扩容的方法及装置
CN109683826A (zh) * 2018-12-26 2019-04-26 北京百度网讯科技有限公司 用于分布式存储***的扩容方法和装置
CN110333824A (zh) * 2019-06-05 2019-10-15 腾讯科技(深圳)有限公司 一种存储***的扩容方法和装置
CN110874344A (zh) * 2018-08-10 2020-03-10 阿里巴巴集团控股有限公司 数据迁移方法、装置及电子设备
CN112463050A (zh) * 2020-11-26 2021-03-09 新华三技术有限公司成都分公司 一种存储***扩容方法、装置、设备及机器可读存储介质
CN112596671A (zh) * 2020-12-16 2021-04-02 东软集团股份有限公司 数据存储的方法、装置、存储介质及电子设备
CN112667148A (zh) * 2020-11-30 2021-04-16 上海七牛信息技术有限公司 一种集群存储数据在线迁移的方法及***
CN113127438A (zh) * 2019-12-30 2021-07-16 北京百度网讯科技有限公司 用于存储数据的方法、装置、服务器和介质
CN113867923A (zh) * 2021-12-02 2021-12-31 苏州浪潮智能科技有限公司 一种容器应用跨cpu架构迁移的方法和装置
CN113986825A (zh) * 2021-12-27 2022-01-28 北京星汉未来网络科技有限公司 数据迁移的***、方法、装置、电子设备及可读存储介质
CN115442388A (zh) * 2022-10-21 2022-12-06 四川省华存智谷科技有限责任公司 用于分布式存储集群利用率100%的扩容方法、装置及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855284A (zh) * 2012-08-03 2013-01-02 北京联创信安科技有限公司 一种集群存储***的数据管理方法及***
CN103067433A (zh) * 2011-10-24 2013-04-24 阿里巴巴集团控股有限公司 一种分布式存储***的数据迁移方法、设备和***
CN105260376A (zh) * 2015-08-17 2016-01-20 北京京东尚科信息技术有限公司 用于集群节点缩扩的方法、设备和***
CN105468473A (zh) * 2014-07-16 2016-04-06 北京奇虎科技有限公司 数据迁移方法及数据迁移装置
CN105653630A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 分布式数据库的数据迁移方法与装置
CN105892952A (zh) * 2016-04-22 2016-08-24 深圳市深信服电子科技有限公司 超融合***及其纵向扩展方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067433A (zh) * 2011-10-24 2013-04-24 阿里巴巴集团控股有限公司 一种分布式存储***的数据迁移方法、设备和***
CN102855284A (zh) * 2012-08-03 2013-01-02 北京联创信安科技有限公司 一种集群存储***的数据管理方法及***
CN105468473A (zh) * 2014-07-16 2016-04-06 北京奇虎科技有限公司 数据迁移方法及数据迁移装置
CN105260376A (zh) * 2015-08-17 2016-01-20 北京京东尚科信息技术有限公司 用于集群节点缩扩的方法、设备和***
CN105653630A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 分布式数据库的数据迁移方法与装置
CN105892952A (zh) * 2016-04-22 2016-08-24 深圳市深信服电子科技有限公司 超融合***及其纵向扩展方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357896A (zh) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 数据库集群的扩容方法、装置、***和数据库集群***
WO2019033949A1 (zh) * 2017-08-18 2019-02-21 阿里巴巴集团控股有限公司 一种数据的迁移方法、装置及设备
CN109426439A (zh) * 2017-09-04 2019-03-05 阿里巴巴集团控股有限公司 对分布式存储***进行扩容的方法及装置
CN107391050A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据迁移方法、***、装置和计算机可读存储介质
CN108197229A (zh) * 2017-12-29 2018-06-22 北京搜狐新媒体信息技术有限公司 一种磁盘数据的平衡方法及***
CN108388468B (zh) * 2018-01-26 2022-02-22 杨立群 一种快速文件***调度方法及装置
CN108388468A (zh) * 2018-01-26 2018-08-10 杨立群 一种快速文件***调度方法及装置
CN110874344A (zh) * 2018-08-10 2020-03-10 阿里巴巴集团控股有限公司 数据迁移方法、装置及电子设备
CN110874344B (zh) * 2018-08-10 2023-05-09 阿里巴巴集团控股有限公司 数据迁移方法、装置及电子设备
CN109683826A (zh) * 2018-12-26 2019-04-26 北京百度网讯科技有限公司 用于分布式存储***的扩容方法和装置
CN109683826B (zh) * 2018-12-26 2023-08-29 北京百度网讯科技有限公司 用于分布式存储***的扩容方法和装置
CN110333824A (zh) * 2019-06-05 2019-10-15 腾讯科技(深圳)有限公司 一种存储***的扩容方法和装置
CN113127438A (zh) * 2019-12-30 2021-07-16 北京百度网讯科技有限公司 用于存储数据的方法、装置、服务器和介质
CN113127438B (zh) * 2019-12-30 2023-07-28 北京百度网讯科技有限公司 用于存储数据的方法、装置、服务器和介质
CN112463050A (zh) * 2020-11-26 2021-03-09 新华三技术有限公司成都分公司 一种存储***扩容方法、装置、设备及机器可读存储介质
CN112667148A (zh) * 2020-11-30 2021-04-16 上海七牛信息技术有限公司 一种集群存储数据在线迁移的方法及***
CN112596671A (zh) * 2020-12-16 2021-04-02 东软集团股份有限公司 数据存储的方法、装置、存储介质及电子设备
CN113867923A (zh) * 2021-12-02 2021-12-31 苏州浪潮智能科技有限公司 一种容器应用跨cpu架构迁移的方法和装置
CN113867923B (zh) * 2021-12-02 2022-03-08 苏州浪潮智能科技有限公司 一种容器应用跨cpu架构迁移的方法和装置
CN113986825A (zh) * 2021-12-27 2022-01-28 北京星汉未来网络科技有限公司 数据迁移的***、方法、装置、电子设备及可读存储介质
CN115442388A (zh) * 2022-10-21 2022-12-06 四川省华存智谷科技有限责任公司 用于分布式存储集群利用率100%的扩容方法、装置及***

Also Published As

Publication number Publication date
CN106843755B (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN106843755A (zh) 用于服务器集群的数据均衡方法与装置
CN108737325A (zh) 一种多租户数据隔离方法、装置及***
CN105516367B (zh) 分布式数据存储***、方法和装置
CN105631035B (zh) 数据存储方法和装置
CN108055320A (zh) 资源下载的处理方法、终端设备及计算机可读存储介质
CN107896162A (zh) 监控***的部署方法、 装置、 计算机设备及存储介质
CN105550345A (zh) 文件操作方法和装置
CN108306956A (zh) 信息推送方法、装置、服务器及计算机可读介质
CN103631869B (zh) 一种缓解服务端数据库访问压力的方法和装置
CN114244717B (zh) 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN110083381A (zh) 增量升级的方法及装置
CN104205780B (zh) 一种存储数据的方法和装置
CN109471725A (zh) 资源分配方法、装置和服务器
CN106131055A (zh) 用于分配操作权限的方法和装置
CN106357791A (zh) 业务处理方法、装置及***
CN109582329A (zh) 数据管理及订阅方法、装置、***、电子设备及存储介质
CN106649600A (zh) 一种迁移文件权限的方法、装置以及***
CN114924751A (zh) 一种业务访问请求流量分配的方法和装置
CN107071036A (zh) 一种下载驱动文件的方法、网络服务器及***
JP2015180991A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
CN108255989A (zh) 图片存储方法、装置、终端设备及计算机存储介质
CN112306993A (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
CN105117274B (zh) 虚拟机迁移方法和装置
CN110019537A (zh) 本地缓存刷新方法、装置、计算机设备及存储介质
CN108681550A (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