集群设备批量传输数据的方法、装置及系统、服务器与流程

文档序号:12377466阅读:221来源:国知局
集群设备批量传输数据的方法、装置及系统、服务器与流程

本公开涉及集群设备传输数据的技术,特别涉及一种集群设备批量传输数据的方法、装置及系统、服务器。



背景技术:

在通信系统中,有一种应用网络设备的技术,如应用以太网交换机设备的技术,该技术将多台网络设备互相连接,形成一个集群设备组。如今,大数据技术已经得到了广泛的应用。许多互联网公司拥有数千台甚至更多服务器组成的集群。集群中每台服务器的软件和配置文件通常需要保持一致,经常需要将文件复制分发到集群中所有服务器上。怎样高效的将文件复制分发到集群中的各个服务器,这对集群的管理带来了挑战。

目前将文件复制分发到集群中的各个服务器主要采用以下两种方案:

方案1:顺序复制,将主服务器的文件按顺序依次复制到目标服务器。由于操作简单,适合在服务器数量少的时候使用。

方案2:并行复制,在主服务器同时发起多个复制操作,并行向目标服务器复制文件。此方法比顺序复制速度快,当服务器数量较多的时候通常使用此方法。

然而,对于顺序复制,文件复制分发速度慢。复制文件到某一台目标服务器时,其他目标服务器都在等待。主服务器和目标服务器的资源利用率都很低。

对于并行复制,文件复制分发速度较慢。由于主服务器同时向多台目标服务器复制文件,因此主服务器非常繁忙,硬件资源迅速耗尽,结果主服务器只能同时向部分目标服务器复制文件,其他目标服务器仍然空闲。目标服务器的资源利用率很低。



技术实现要素:

本公开提供一种集群设备批量传输数据的方法、装置及系统、服务器,能够提高服务器间复制分发文件的速度,降低源服务器的压力,提高目标服务器的资源利用率。

根据本公开的一方面,提供一种集群设备批量传输数据的方法,所述集群设备包括至少一源服务器和多个目标服务器,所述源服务器存储有待传数据和传输程序,所述方法包括:

1)通过所述源服务器执行自身储存的所述传输程序;

2)根据所述传输程序的配置,向所述多个目标服务器中预定数量的目标服务器传输所述待传数据和所述传输程序;

3)通过收到所述待传数据和所述传输程序的目标服务器执行接收的所述传输程序;

4)重复步骤2)-3),直到将所述待传数据逐层分发至每个目标服务器。

在本公开的一种示例性实施例中,还包括:

在所述源服务器执行自身储存的所述传输程序之后,创建包括所述多个目标服务器的目标服务器列表。

在本公开的一种示例性实施例中,

根据所述传输程序的配置,向所述多个目标服务器中预定数量的目标服务器传输所述待传数据和所述传输程序包括:

从所述目标服务器列表中选取所述预定数量的目标服务器;

创建包括所述预定数量的目标服务器的当前服务器列表;

更新目标服务器列表中目标服务器的数量;

向当前服务器列表中的目标服务器传输所述待传数据、传输程序和更新的目标服务器列表。

在本公开的一种示例性实施例中,所述待传数据包括待传文件和待传文件目录。

根据本公开的一个方面,提供一种集群设备批量传输数据的装置,所述装置包括:

选取模块,用于从目标服务器列表中选取预定数量的目标服务器;

第一创建模块,用于创建包括所述预定数量的目标服务器的当前服务器列表;

更新模块,用于更新目标服务器列表中目标服务器的数量;

传输模块,用于向当前服务器列表中的目标服务器传输待传数据、批量传输数据的装置副本和更新的目标服务器列表。

在本公开的一种示例性实施例中,还包括:

第二创建模块,用于创建包括所述多个目标服务器的目标服务器列表。

在本公开的一种示例性实施例中,所述更新模块包括:

减法单元,从目标服务器列表中祛除选取的目标服务器,得到第一数量的目标服务器;

除法单元,将所述第一数量的目标服务器除以当前服务器列表中第二数量的服务器,

更新单元,根据除法单元的计算结果得到更新目标服务器列表中目标服务器的数量。

在本公开的一种示例性实施例中,所述待传数据包括待传文件和待传文件目录。

根据本公开的一个方面,提供一种集群设备服务器,包括:

处理器;

用于存储待传数据和处理器可执行指令的存储器;

其中,所述处理器被配置为:

从目标服务器列表中选取预定数量的目标服务器;

创建包括所述预定数量的目标服务器的当前服务器列表;

更新目标服务器列表中目标服务器的数量;

向当前服务器列表中的目标服务器传输待传数据、传输程序和更新的目标服务器列表。

根据本公开的一个方面,提供一种集群设备批量传输数据的系统,包括:

源服务器,包括:

处理器;

用于存储待传数据和传输程序的存储器;

其中,所述源服务器的处理器被配置为:

从目标服务器列表中选取预定数量的目标服务器;

创建包括所述预定数量的目标服务器的当前服务器列表;

更新目标服务器列表中目标服务器的数量;

向当前服务器列表中的目标服务器传输所述待传数据、传输程序和更新的目标服务器列表;

多个目标服务器,每个目标服务器包括:

处理器;

用于接收所述待传数据、传输程序和更新的目标服务器列表的存储器;

其中,所述目标服务器的处理器执行所述传输程序,根据所述传输程序的配置,将所述待传数据以递归方式逐级分发至所有目标服务器。

本发明采用多级复制分发数据的方法,使源服务器和目标服务器之间的负载压力平衡,大幅提升了服务器之间复制分发文件的效率。

此外,服务器的分级以及数据传输均可通过传输程序自动执行,操作非常简单,节省了人力资源。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。

图1示意性示出根据本公开示例实施方式的集群设备批量传输数据的方法的流程图;

图2示意性示出根据本公开示例实施方式的传输程序的流程图;

图3为示意性示出根据本公开实际实施方式的集群设备批量传输数据的系统架构图。

图4示意性示出根据本公开示例实施方式的集群设备批量传输数据的装置结构框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。

附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

图1示意性示出根据本公开示例实施方式的集群设备批量传输数据的方法的流程图。

所述源服务器存储有待传数据和传输程序。如图1所示,集群设备批量传输数据的方法,包括如下步骤:

步骤S110:通过所述源服务器执行自身储存的所述传输程序。

在步骤S110中,源服务器响应用户发送的批量复制待传数据的请求,执行源服务器中储存的传输程序。源服务器执行传输程序,以控制向目标服务器批量复制待传数据。

步骤S120:根据所述传输程序的配置,向所述多个目标服务器中预定数量的目标服务器传输所述待传数据和所述传输程序。

在步骤S120中,本发明中所说的待传数据包括待传文件和待传文件目录,通过传输待传文件目录可以在一次传输过程中批量传输文件目录中的传输程序并行复制分发的最大数量默认等于服务器中处理器核心数量。然而本发明并不局限于此,传输程序可以读取配置文件,设定服务器并行复制分发的最大数量。为保证数据传送到所有目标服务器的速度,可以将集群设备中所有服务器的并行复制分发的最大数量设定为相同,使数据分发至每一级服务器中的速度基本一致。但本发明并不以此为限。

由于集群设备中每台服务器的并行处理能力可能不同,当然也可以将集群设备中所有服务器的并行复制分发的最大数量设定为依据每台服务器的并行处理能力进行设定。例如,如果服务器的处理器核心数量较多,可以相应将其并行复制分发的最大数量设定为大于其他服务器。如果服务器的处理器核心数量较少,可以将其并行复制分发的最大数量设定为小于其他服务器。

在示例性实施例中,步骤S110之后还包括:创建包括多个目标服务器的目标服务器列表。目标服务器列表中记录还未接收到待传数据的所有目标服务器的数量以及IP地址。

在示例性实施例中,步骤S120具体包括如下步骤:

如图2所示,步骤S1201:从目标服务器列表中选取所述预定数量的目标服务器。从目标服务器列表中选取目标服务器的数量的实现方式,已在步骤S120中记载,在此不再赘述。

步骤S1202:创建包括所述预定数量的目标服务器的当前服务器列表。其中,当前服务器列表中记录将要接收待传数据的目标服务器的数量和IP地址。根据当前服务器列表中目标服务器的IP地址,可以将待传数据复制至当前服务器列表中的目标服务器中。如此可以将源服务器中存储的待传数据传输到部分目标服务器中,完成第一级分发。当前服务器列表中目标服务器的数量表示每台服务器并行复制分发数据的数量。

步骤S1203:更新目标服务器列表中目标服务器的数量。

在步骤S1203中,更新目标服务器列表中目标服务器的数量可以通过以下步骤计算得到:

从目标服务器列表中祛除选取的目标服务器,得到第一数量的目标服务器。其中,第一数量的目标服务器表示未接收待传数据的目标服务器。

使所述第一数量的目标服务器除以当前服务器列表中第二数量的服务器,得到第三数量的目标服务器。从第一数量的目标服务器中分配第三数量的目标服务器,第三数量的目标服务器即表示更新的目标服务器列表。如此可以保证目标服务器列表中的目标服务器均匀分配给每一级服务器,使得每一层级的服务器的资源均能被有效利用,节省了传输数据所用时间。

如果第一数量值除以第二数量值不能整除,则依据四舍五入取整数原则,从第一数量的目标服务器中分配取整数后所得数量的目标服务器。因此,发送待传数据的发送方服务器所分配的接收方服务器的数量可能有少许差异,但每台发送方服务器所分配的接收方服务器的数量相差很小,且均在服务器的最大负载数量范围之内,基本不会影响数据的传输速度和服务器的负载压力。此时,在数据传输时可以不再向接收方目标服务器发送更新的目标服务器列表,仅传递传输程序和待传数据。

步骤S1204:向当前服务器列表中的目标服务器传输所述待传数据、传输程序和更新的目标服务器列表。

在步骤S1204中,待传数据的发送方服务器在向接收方服务器发送完待传数据、传输程序和更新的目标服务器列表之后,会随之向接收方服务器发送启动传输程序的执行指令。

步骤S130:通过收到所述待传数据和所述传输程序的目标服务器执行接收的所述传输程序;

在步骤S130中,当前服务器列表中的目标服务器在接收到待传数据、传输程序和更新的目标服务器列表后,可以将接收到的待传数据发送至更新的目标服务器列表中记载的目标服务器,以完成下一级数据的传输。

重复步骤S120-S130直到将待传数据以上述递归方式逐级分发至所有目标服务器。其中,当更新的目标服务器列表中为空时,表示循环结束,待传数据已经被逐级分发至所有目标服务器。当更新的目标服务器列表中的目标服务器数量小于当前服务器列表中服务器的数量时,则不再向剩余服务器发送更新的服务器列表,此时定义更新的服务器列表为空。此外,待传数据的发送方服务器在向接收方服务器发送完待传数据、传输程序和更新的目标服务器列表之后,会随之向接收方服务器发送启动传输程序的执行指令。接收方服务器会响应发送方服务器的执行指令触发执行传输程序,以实现步骤S120-S130的自动重复执行。

本发明采用多级复制分发数据的方法,使源服务器和目标服务器之间的负载压力平衡,大幅提升了服务器之间复制分发文件的效率。并且服务器的分级以及数据传输均可通过传输程序自动执行,操作非常简单,节省了人力资源。

图3为示意性示出根据本公开实际实施方式的集群设备批量传输数据的架构图。

如图3所示,本示例以一台源服务器向1500台目标服务器批量传输待传数据,服务器最大并行处理数量均为10为例进行说明。然而,本发明中源服务器和目标服务器的数量,以及服务器的并行处理数量并不局限于此。

第一级分发:源服务器执行传输程序,创建1500台目标服务器的目标服务器列表,从1500台目标服务器中选取10台目标服务器,并以选取的10台目标服务器创建当前服务器列表,然后向当前服务器列表中的10台目标服务器复制分发文件、复制传输程序,并将更新的目标服务器列表拆分为10份复制分发到10台目标服务器。更新的目标服务器列表中目标服务器的数量为(1500-10)÷10=149,则更新的目标服务器列表中有149台目标服务器。这时共有1台服务器向10台服务器复制分发数据。

第二级分发:这10台服务器在接收到源服务器发送的待传文件、传输程序和更新的目标服务器列表之后,分别执行各自接收的传输程序,按照各自的目标服务器列表向10台服务器复制分发文件、复制传输程序和更新的目标服务器列表。更新的目标服务器列表中目标服务器的数量为(149-10)÷10=13.9,由于不能被整除,四舍五入取整后为14。则向10台服务器分发的目标服务器列表中的目标服务器数量不等,有9台服务器的服务器列表的目标服务器数量为14,有1台服务器的服务器列表的目标服务器数量为13。此时共有10台服务器向100台服务器复制分发数据。

第三级分发:这100台服务器分别向10台服务器复制分发待传数据、传输程序和更新的目标服务器列表。此时共有100台服务器向1000台服务器复制分发数据。其中,每级服务器中传输数据的速度基本一致,将待传数据传输到第三级中1000台服务器所用时间仅需要3秒,批量传输数据的速度大幅提高。

以此类推,第四级分发,这1000台服务器向剩余的390台服务器复制分发数据,此时每台服务器中的目标服务器列表为空,待传数据被复制到所有目标服务器。

图4示意性示出根据本公开示例实施方式的集群设备批量传输数据的装置结构框图。

如图4所示,所述装置包括:选取模块210,其用于从目标服务器列表中选取预定数量的目标服务器;创建模块220,其用于创建包括所述预定数量的目标服务器的当前服务器列表;更新模块230,其用于更新目标服务器列表中目标服务器的数量;传输模块240,其用于向当前服务器列表中的目标服务器传输待传数据、批量传输数据的装置副本和更新的目标服务器列表。

在示例性实施例中,创建模块220,还用于创建包括多个目标服务器的目标服务器列表。

在示例性实施例中,更新模块230包括减法单元,其从目标服务器列表中祛除选取的目标服务器,得到第一数量的目标服务器;除法单元,其将所述第一数量的目标服务器除以当前服务器列表中第二数量的服务器;更新单元,其根据除法单元的计算结果得到更新目标服务器列表中目标服务器的数量。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本公开实施例的再一方面,提供集群设备服务器,包括:处理器;用于存储待传数据和传输程序的存储器;其中,所述服务器的处理器被配置为:从目标服务器列表中选取预定数量的目标服务器;创建包括所述预定数量的目标服务器的当前服务器列表;更新目标服务器列表中目标服务器的数量;向当前服务器列表中的目标服务器传输待传数据、传输程序和更新的目标服务器列表。

在示例性实施例中,所述集群设备服务器可为服务器、台式计算机、平板计算机或其他智能型电子装置,其中包括通信装置、处理器、储存装置、显示器及输入装置。其中,通信装置、储存装置、显示器及输入装置分别连接于处理器以接受处理器的控制。

通信装置可为具有短程通讯功能的近场通讯(NFC)模块、无线射频识别(RFID)模块或蓝芽(Bluetooth)模块等短程通讯模块芯片。处理器则可为用户终端当中的主要运算核心,例如为中央处理器(CPU)、嵌入式控制器(EC)或数字讯号处理器(DSP),或是被设计为专用于处理页面流量数据统计的专用集成芯片(ASIC)或现场可编程逻辑门芯片(FPGA)。

储存装置用以储存页面流量数据。储存装置具体可为例如为快闪存储器、可编程只读存储器等非挥发性存储器(NVM)芯片。显示器提供使用界面以显示相关的页面流量数据查询信息,而输入装置则用以供使用者操作,以产生控制使用界面上的流量数据。显示器及输入装置可整合为具有触控面板的触控式屏幕。

在示例性实施例,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

根据本公开实施例的再一方面,提供一种集群设备批量传输数据的系统,包括:源服务器,包括:处理器;用于存储待传数据和传输程序的存储器;其中,所述源服务器的处理器被配置为:从目标服务器列表中选取预定数量的目标服务器;创建包括所述预定数量的目标服务器的当前服务器列表;更新目标服务器列表中目标服务器的数量;向当前服务器列表中的目标服务器传输所述待传数据、传输程序和更新的目标服务器列表;多个目标服务器,包括:处理器;用于存储待传数据、传输程序和更新的目标服务器列表的存储器;其中,所述目标服务器执行所述传输程序直到将所述待传数据和所述传输程序逐层分发至所有目标服务器中。此系统的架构图如图3所示。

本发明实施例中其它内容参考上述发明实施例中的内容,在此不再赘述。

图1和2示出根据本公开示例实施方式的集群设备批量传输数据的方法的流程图。该方法可例如利用如图4所示的集群设备批量传输数据的装置实现,但本公开不限于此。需要注意的是,图1和2仅是根据本公开示例实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,图1和2所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块/进程/线程中同步或异步执行的。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1