一种数据处理方法、服务器及存储介质与流程

文档序号:16199989发布日期:2018-12-08 06:31阅读:129来源:国知局
一种数据处理方法、服务器及存储介质与流程

本发明涉及数据处理技术,尤其涉及一种数据处理方法、服务器及存储介质。

背景技术

对于浏览器/服务器(browser/server,b/s)结构的网站应用初期,由于用户量及访问量少,因此,一台服务器便能满足用户的需求;此时,在进行网站程序部署时,只需将调试成功的程序数据上传至服务器,便完成了程序数据的分发;对于配置数据的分发也采用与上述程序数据的分发同样的流程。但是,随着用户量及访问量的增加,需要相应的增加服务器的数量,并在每台服务器上部署相同的网站程序,以使每台服务器都能独立处理用户的业务请求,提升系统的吞吐量。

随着服务器数量的增加,通常采用中心化方案来分发数据;即以一台电子设备作为中心源设备,将该设备上的文件或数据通过网络逐一分发到所有目标服务器。可以看出,该数据分发过程是线性的、串行的,因此,数据分发速度也随着服务器数量的增多而减慢;在多个数据分发任务同时进行时,中心源设备的负载也会成倍的增加,进一步降低数据分发效率;并且,由于中心源设备独自负责数据分发任务,因此,当中心源设备出现故障时,数据分发任务将无法正常进行。



技术实现要素:

有鉴于此,本发明实施例为解决现有技术中存在的问题而提供一种数据处理方法、服务器及存储介质。

本发明实施例提供一种数据处理方法,所述方法包括:

第一服务器接收到任务信息,解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果;所述任务信息用于指示分发任务数据至目标服务器;

当所述解析结果还表明所述任务信息由源服务器发送时,基于所述任务数据信息从所述源服务器中获取任务数据;

基于所述目标服务器信息发送所述任务数据信息至所述目标服务器,以使所述目标服务器基于所述任务数据信息获取所述任务数据。

上述方案中,所述基于所述目标服务器信息发送所述任务数据信息至所述目标服务器,包括:

基于所述目标服务器信息将所述目标服务器划分为至少一个目标服务器群组,每个目标服务器群组至少包括一个目标服务器

基于所述至少一个目标服务器群组生成至少一个第一子任务信息,每个第一子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;

分别发送第一子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第一子任务信息获取所述任务数据。。

上述方案中,当所述解析结果还表明所述任务信息不是由源服务器发送时,所述方法还包括:

所述第一服务器获取用户设备发送的任务数据。

上述方案中,所述基于所述目标服务器信息发送所述任务数据信息至所述目标服务器,包括:

基于所述目标服务器信息将多个目标服务器划分为至少两个目标服务器群组,每个目标服务器群组包括至少一个目标服务器;

基于所述至少两个目标服务器群组生成对应的至少两个第二子任务信息,每个第二子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;

分别发送第二子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第二子任务信息获取所述任务数据。

上述方案中,所述任务数据信息用于表征所述任务数据的存储路径时,所述基于所述任务数据信息从所述源服务器中获取任务数据,包括:

所述第一服务器建立与所述源服务器之间的通信连接;

基于所述通信连接,按照所述任务数据的存储路径从所述源服务器获取任务数据。

本发明实施例还提供一种服务器,所述服务器包括:

处理单元,用于接收到任务信息,解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果;所述任务信息用于指示分发任务数据至目标服务器;

判断单元,用于判断所述解析结果是否表明所述任务信息由源服务器发送;

第一获取单元,用于在所述判断单元判断所述解析结果还表明所述任务信息由源服务器发送时,基于所述任务数据信息从所述源服务器中获取任务数据;

发送单元,用于基于所述目标服务器信息发送所述任务数据信息至所述目标服务器,以使所述目标服务器基于所述任务数据信息获取所述任务数据。

上述方案中,所述发送单元,具体用于基于所述目标服务器信息将所述目标服务器划分为至少一个目标服务器群组,每个目标服务器群组至少包括一个目标服务器

基于所述至少一个目标服务器群组生成至少一个第一子任务信息,每个第一子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;

分别发送第一子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第一子任务信息获取所述任务数据。

上述方案中,所述判断单元判断所述解析结果还表明所述任务信息不是由源服务器发送时,所述服务器还包括第二获取单元,用于获取用户设备发送的任务数据。

上述方案中,所述发送单元,具体用于基于所述目标服务器信息将多个目标服务器划分为至少两个目标服务器群组,每个目标服务器群组包括至少一个目标服务器;

基于所述至少两个目标服务器群组生成对应的至少两个第二子任务信息,每个第二子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;

分别发送第二子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第二子任务信息获取所述任务数据。

上述方案中,所述任务数据信息用于表征所述任务数据的存储路径时,所述发送单元,具体用于建立所述服务器与所述源服务器之间的通信连接;

基于所述通信连接,按照所述任务数据的存储路径从所述源服务器获取任务数据。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明实施例还提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

本发明实施例中所提供的数据处理方法、服务器及存储介质,第一服务器接收到任务信息,解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果;所述任务信息用于指示分发任务数据至目标服务器;当所述解析结果还表明所述任务信息由源服务器发送时,基于所述任务数据信息从所述源服务器中获取任务数据;基于所述目标服务器信息发送所述任务数据信息至所述目标服务器,以使所述目标服务器基于所述任务数据信息获取所述任务数据。如此,第一服务器基于所述任务信息获取到任务数据后,作为源服务器执行数据分发任务,将任务信息中携带的任务数据信息发送至目标服务器;不仅提高了数据分发效率,而且避免了单独一台源分发机器负责数据分发时,由于源分发机器故障导致的数据分发任务无法正常进行的问题。

附图说明

图1为本发明采用中心化方案分发数据的网络拓扑结构示意图;

图2为本发明采用中心化方案分发数据的处理流程示意图;

图3为本发明实施例一种数据处理方法的处理流程示意图一;

图4为本发明实施例一种数据处理方法的处理流程示意图二;

图5为本发明实施例一种数据处理方法的处理流程示意图三;

图6为本发明实施例一种数据处理方法的处理流程示意图四;

图7为实现本发明实施例第一目标服务器发送子任务的网络拓扑结构示意图;

图8为本发明实施例第二目标服务器和第六目标服务器拉取任务数据的网络拓扑结构示意图;

图9为本发明实施例第二目标服务器和第二目标服务器分发子任务的网络拓扑结构示意图;

图10为实现本发明实施例数据处理方法的网络拓扑结构示意图;

图11为本发明实施例服务器的组成结构示意图;

图12为本发明实施例服务器的硬件组成结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

为了更好的理解本发明实施例所述的数据处理方法,下面对现有技术中采用中心化方案分发数据进行简要介绍。

采用中心化方案分发数据的网络拓扑结构示意图,如图1所示,利用一台电子设备作为中心源设备,用户通过终端设备将文件或数据上传至中心源设备,中心源设备再将文件或数据通过网络逐一传输至所有目标服务器。具体的,采用中心化方案分发数据的处理流程示意图,如图2所示,用户通过终端设备将文件或数据发送至中心源设备,并向所述中心源设备发送携带目标服务器列表的控制命令,以使所述中心源设备将该文件或数据逐一分发至所述目标服务器列表中的所有目标服务器。中心源设备在接收到控制命令后,判断所述控制命令中携带的目标服务器列表不为空时,向其中一个目标服务器发送文件或数据,直至将所述文件或数据发送至所有目标服务器。

本发明实施例一种数据处理方法的处理流程示意图一,如图3所示,包括以下步骤:

步骤s101,第一服务器接收到任务信息,解析所述任务信息;

具体地,第一服务器通过解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果。

这里,所述任务数据信息为第一服务器能够根据其获取到任务数据的信息;举例来说,所述任务数据信息可以为任务数据的存储路径,也可以为存储所述任务数据的文件夹名称。所述目标服务器信息为表征接收任务数据的目标服务器的信息,举例来说,所述目标服务器信息可以为目标服务器的名称,也可以为目标服务器的网络协议(internetprotocol,ip)地址。相应的,所述任务信息用于指示第一服务器分发任务数据至目标服务器。

步骤s102,当所述解析结果还表明所述任务信息由源服务器发送时,基于所述任务数据信息从所述源服务器中获取任务数据;

具体地,当所述还表明所述任务信息由源服务器发送时,所述第一服务器建立与所述源服务器之间的通信连接,并基于所述通信连接和所述任务数据信息从所述源服务器获取任务数据。

这里,在所述任务数据信息用于表征所述任务数据的存储路径时,所述第一服务器按照所述任务数据的存储路径从所述源服务器拉取任务数据。

其中,所述源服务器内存储的任务数据由用户通过终端设备发送。

步骤s103,基于所述目标服务器信息发送所述任务数据信息至所述目标服务器;

具体地,基于所述目标服务器信息将所述目标服务器划分为至少一个目标服务器群组,每个目标服务器群组至少包括一个目标服务器;基于所述至少一个目标服务器群组生成至少一个第一子任务信息,每个第一子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;分别发送第一子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第一子任务信息获取所述任务数据。

这里,以第一服务器将n个目标服务器划分为m个目标服务器群组,并在每个目标服务器群组中选择一个目标服务器,并将第二子任务信息发送至所选择的m个目标服务器;m个目标服务器接收到第二子任务信息后,基于所述第二子任务信息获取任务数据;以m个目标服务器中的一个目标服务器为例,在接收到第二子任务信息,并基于所述第二子任务信息获取任务数据后,发现所述第二子任务信息中还包括多个目标服务器,故将所述多个目标服务器划分为x个目标服务器群组,在x个目标服务器群组中的每个目标服务器群组中选择一个目标服务器,并发送第三子任务信息至选择的目标服务器,以使所所选择的目标服务器基于所述第三子任务信息获取任务数据;以此类推,直至全部目标服务器获取到任务数据。

本发明实施例一种数据处理方法的处理流程示意图二,如图4所示,包括以下步骤:

步骤s201,第一服务器接收到任务信息,解析所述任务信息;

具体地,第一服务器通过解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果。

这里,所述任务数据信息为第一服务器能够根据其获取到任务数据的信息;举例来说,所述任务数据信息可以为任务数据的存储路径,也可以为存储所述任务数据的文件夹名称。所述目标服务器信息为表征接收任务数据的目标服务器的信息,举例来说,所述目标服务器信息可以为目标服务器的名称,也可以为目标服务器的ip地址。相应的,所述任务信息用于指示第一服务器分发任务数据至目标服务器。

步骤s202,当所述解析结果还表明所述任务信息不是由源服务器发送时,所述第一服务器获取用户设备发送的任务数据;

具体地,当所述解析结果还表明所述任务信息不是由源服务器发送时,所述第一服务器作为源服务器,直接接收用户设备发送的任务数据。

步骤s203,基于所述目标服务器信息发送所述任务数据信息至所述目标服务器;

具体地,作为源服务器的第一服务器基于所述目标服务器信息将多个目标服务器划分为至少两个目标服务器群组,每个目标服务器群组包括至少一个目标服务器。

基于所述至少两个目标服务器群组生成对应的至少两个第二子任务信息,每个第二子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息。

分别发送第二子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第二子任务信息获取所述任务数据。

本发明实施例一种数据处理方法的处理流程示意图三,如图5所示,包括以下步骤:

步骤s301,第一服务器接收任务信息,解析所述任务信息,得到解析结果;

具体地,所述第一服务器通过解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果;所述任务信息用于指示分发任务数据至目标服务器。

步骤s302,第一服务器判断所述解析结果中是否包括源服务器;在判断结果为是时,执行步骤s303;在判断结果为否时,执行步骤s304;

这里,所述判断结果中包括源服务器,表明所述任务信息由源服务器发送;相应的,所述任务数据也存储在所述源服务器内;因此,所述第一服务器可基于所述任务数据信息从所述源服务器获取任务数据。

所述判断结果中不包括源服务器时,表明所述任务信息不是由源服务器发送,而是由用户设备发送,即用户通过终端设备发送;因此,第一服务器可直接接收用户设备发送的任务数据。

步骤s303,第一服务器从源服务器获取任务数据;

具体地,所述第一服务器主动建立与源服务器的通信连接,基于所述通信连接,按照所述数据任务信息从所述源服务器拉取任务数据。

步骤s304,判断所述解析结果中是否存在目标服务器列表;在判断结果为是时,执行步骤s305;在判断结果为否时,结束流程。

具体地,所述第一服务器在判断所述解析结果中存在目标服务器列表时,表明所述第一服务器需将所获取的任务数据发送至目标服务器列表中的目标服务器。

步骤s305,将所述目标服务器列表中的目标服务器划分为至少两个目标服务器群组;

这里,每个目标服务器群组包括至少一个目标服务器。

步骤s306,基于所述至少两个目标服务器群组生成对应的至少两个第一子任务信息;

这里,每个第一子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息。

其中,目标服务器子信息用于表征接收所述任务数据信息的目标服务器信息。

步骤s307,第一服务器分别发送第一子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第一子任务信息获取所述任务数据。

步骤s308,接收第一子任务信息的目标服务器基于所述第一子任务信息获取任务数据。

步骤s309,接收第一子任务信息的目标服务器判断所述第一子任务信息中是否携带目标服务器列表;判断结果为是时,执行步骤310,判断结果为否时,结束流程。

步骤s310,接收第一子任务信息的目标服务器向所述第一子任务信息中携带的目标服务器发送一个或多个子任务信息,以使所述目标服务器基于所述一个或多个子任务信息获取任务数据。

具体的,接收第一子任务信息的目标服务器可以将所述第一子任务信息中携带的目标服务器划分为多个目标服务器群组,在每个目标服务器群组中任意选择一个目标服务器,用于接收第二子任务信息,根据所述第二子任务信息获取任务数据;接收第二子任务信息的目标服务器再向自身所在目标服务器群组中的其他目标服务器发送第三子任务信息,直至全部目标服务器均获取到任务数据。接收第一子任务信息的目标服务器也可以直接将第二子任务信息发送至第一子任务信息中的每个目标服务器,以使每个目标服务器基于所述第二子任务信息获取任务数据。

这里,所述第一子任务信息、第二子任务信息和第三子任务信息均携带任务数据信息。

步骤s311,所述第一子任务信息中携带的目标服务器基于一个或多个子任务信息获取任务数据。

以8台目标服务器需要更新2个文件为例,本发明实施例一种数据处理方法的流程示意图四,如图6所示,包括以下步骤:

步骤s401,终端设备向第一目标服务器发送任务信息;

具体地,所述第一目标服务器为终端设备从8台目标服务器中任意选择的一台目标服务器;因此,本步骤中,终端设备也可以向除第一目标服务器外的其他目标服务器发送任务信息。

第一目标服务器可通过自身的shell工具解析所述任务信息,获得包括待更新文件的存储路径及目标服务器列表的解析结果。

这里,所述解析结果如表1所示,包括目标服务器列表和待更新文件的存储路径;其中,待更新文件的存储路径分别为/data/example/file1和/data/example/file1;目标服务器列表包括与八个目标服务器分别对应的八个目标服务器ip地址;第一目标服务器对应的ip地址为192.168.1.1,第二目标服务器对应的ip地址为192.168.1.2,第三目标服务器对应的ip地址为192.168.1.3,第四目标服务器对应的ip地址为192.168.1.4,第五目标服务器对应的ip地址为192.168.1.5,第六目标服务器对应的ip地址为192.168.1.6,第七目标服务器对应的ip地址为192.168.1.7,第八目标服务器对应的ip地址为192.168.1.8。

表1

步骤s402,第一目标服务器基于目标服务器列表创建子任务信息;

具体地,ip地址为192.168.1.1的第一目标服务器创建的子任务信息如表2所示,包括子任务1和子任务2;其中,子任务1的源服务器为第一目标服务器,发送服务器为ip地址为192.168.1.2的第二目标服务器,目标服务器列表包括ip地址为192.168.1.3的第三目标服务器、ip地址为192.168.1.4的第四目标服务器和ip地址为192.168.1.5的第五目标服务器,文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.1的第一目标服务器向ip地址为192.168.1.2的第二目标服务器发送子任务1,指示第二目标服务器基于文件列表所示的文件的路径获取任务数据,并指示第二目标服务器向目标服务器列表中的第三目标服务器、第四目标服务器和第五目标服务器发送文件列表,以使第三目标服务器、第四目标服务器和第五目标服务器基于所述文件列表获取任务数据。子任务2的源服务器为第一目标服务器,发送服务器为ip地址为192.168.1.6的第六目标服务器,目标服务器列表为ip地址为192.168.1.7的第七目标服务器和ip地址为192.168.1.8的第八目标服务器,文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.1的第一目标服务器向ip地址为192.168.1.6的第六目标服务器发送子任务2,用于指示第六目标服务器基于文件列表所示的文件的路径获取任务数据,并指示第六目标服务器向目标服务器列表中的第七目标服务器和第八目标服务器发送文件列表,以使第七目标服务器和第八目标服务器基于所述文件列表获取任务数据。

表2

本发明实施例中,第一目标服务器发送子任务的网络拓扑结构示意图,如图7所示,所述子任务1和子任务2可通过第一目标服务器中的ssh工具发送至第二目标服务器和第六目标服务器。

步骤s403,第二目标服务器和第六目标服务器拉取任务数据;

具体地,第二目标服务器接收到子任务1后,对所述子任务1进行解析,得到第一解析结果;第六目标服务器接收到子任务2后,对所述子任务2进行解析,得到第二解析结果;所述第一解析结果和所述第二解析结果包括目标服务器列表、文件列表等数据和源服务器;所述第二目标服务器和所述第六目标服务器判断所述源服务器为第一目标服务器后,主动与所述第一目标服务器建立连接关系,并从所述第一目标服务器拉取任务数据。

本发明实施例中,第二目标服务器和第六目标服务器拉取任务数据的网络拓扑结构示意图,如图8所示,第二目标服务器和第六目标服务器分别通过自身的sftp工具从第一目标服务器拉取任务数据。

步骤s404,第二目标服务器基于目标服务器列表创建子任务信息;

具体地,第二目标服务器确定子任务1中包括目标服务器列表,且目标服务器列表包括ip地址为192.168.1.3的第三目标服务器、ip地址为192.168.1.4的第四目标服务器和ip地址为192.168.1.5的第五目标服务器;因此,第二目标服务器可创建三个子任务,所述三个子任务分别对应第三目标服务器、第四目标服务器和第五目标服务器;第二目标服务器也可创建两个子任务,所述两个子任务分别对应第三目标服务器、第四目标服务器和第五目标服务器中的任意两个;第二目标服务器也可创建一个子任务,所述一个子任务对应第三目标服务器、第四目标服务器和第五目标服务器中的任意一个。

这里,以第二目标服务器创建两个子任务为例,所述第二目标服务器创建的子任务信息如表3所示,包括子任务3和子任务4;其中,子任务3的源服务器为第二目标服务器,发送服务器的ip地址为192.168.1.3的第三目标服务器,目标服务器列表为192.168.1.4的第四目标服务器;文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.2的第二目标服务器向ip地址为192.168.1.3的第三目标服务器发送子任务3,指示第三目标服务器基于文件列表所示的文件的路径获取任务数据,并指示第三目标服务器向目标服务器列表中的第四目标服务器发送文件列表,以使第四目标服务器基于所述文件列表获取任务数据。子任务4的源服务器为第二目标服务器,发送服务器的ip地址为192.168.1.5的第五目标服务器,目标服务器列表为空;文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.2的第二目标服务器向ip地址为192.168.1.5的第五目标服务器发送子任务4,指示第五目标服务器基于文件列表所示的文件的路径获取任务数据。

表3

步骤s405,第六目标服务器基于目标服务器列表创建子任务信息;

具体地,第六目标服务器确定子任务2中包括目标服务器列表,且目标服务器列表包括ip地址为192.168.1.7的第七目标服务器、ip地址为192.168.1.8的第八目标服务器;因此,第六目标服务器可创建二个子任务,所述二个子任务分别对应第七目标服务器和第八目标服务器;第六目标服务器也可创建一个子任务,所述一个子任务对应第七目标服务器和第八目标服务器中的任意一个。

这里,以第六目标服务器创建两个子任务为例,所述第二目标服务器创建的子任务信息如表4所示,包括子任务5和子任务6;其中,子任务5的源服务器为第六目标服务器,发送服务器的ip地址为192.168.1.7的第七目标服务器,目标服务器列表为空;文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.6的第六目标服务器向ip地址为192.168.1.7的第七目标服务器发送子任务5,指示第七目标服务器基于文件列表所示的文件的路径获取任务数据。子任务6的源服务器为第六目标服务器,发送服务器的ip地址为192.168.1.8的第八目标服务器,目标服务器列表为空;文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.6的第六目标服务器向ip地址为192.168.1.8的第八目标服务器发送子任务6,指示第八目标服务器基于文件列表所示的文件的路径获取任务数据。

表4

需要说明的是,本发明实施例中,可以同时执行步骤s404和步骤s405;也可以先执行步骤s404,再执行步骤s405;还可以先执行步骤s405,再执行步骤s404。

第二目标服务器和第二目标服务器分发子任务的网络拓扑结构示意图,如图9所示,第二目标服务器和第六目标服务器分别通过自身的ssh工具发送子任务。

步骤s406,第三目标服务器和第五目标服务器拉取任务数据;

具体地,第三目标服务器和第五目标服务器拉取任务数据的处理过程与步骤s403中所述第二目标服务器和第六目标服务器拉取任务数据的处理过程相同,这里不再赘述。

步骤s407,第三目标服务器基于目标服务器列表创建子任务信息;

具体地,第三目标服务器确定子任务3中包括目标服务器列表,且目标服务器列表包括ip地址为192.168.1.4的第四目标服务器;所述第三目标服务器创建子任务信息如表5所示,包括子任务7;其中,子任务7的源服务器为第三目标服务器,发送服务器的ip地址为192.168.1.4的第四目标服务器,目标服务器列表为空;文件列表为/data/example/file1和/data/example/file1;也就是说,ip地址为192.168.1.3的第三目标服务器向ip地址为192.168.1.4的第四目标服务器发送子任务7,指示第四目标服务器基于文件列表所示的文件的路径获取任务数据。

表5

步骤s408,第四目标服务器拉取任务数据;

具体地,第四目标服务器拉取数据的过程与步骤s406所述第三目标服务器和第五目标服务器拉取数据的过程相同,这里不再赘述。

至此,完成对存储路径分别为/data/example/file1和/data/example/file1的文件的分发。实现本发明实施例数据处理方法的网络拓扑结构示意图,如图10所示;可以看出,ip地址为192.168.1.2的第二目标服务器和ip地址为192.168.1.6的第六目标服务器执行数据分发的过程可以是并行的;因此,利用本发明实施例所述方案进行数据分发的分发时间复杂度为0(logn),其中,n为目标服务器的数量;相对于现有技术中的中心化方案进行数据分发的分发时间复杂度0(n)来说,目标服务器n的数量越大,本发明所述方案的分发效率更高。同时,本发明实施例中,任意一台目标服务器都可以作为数据分发的源机器将任务信息转发至另一台目标服务器,不仅承担了源服务器数据分发的压力、提高了分发效率,而且能够避免因源服务器故障导致的数据分发终止的问题。

为实现本发明上述数据处理方法实施例,本发明实施例还提供一种服务器,所述服务器的组成结构示意图,如图11所示,包括:处理单元11、判断单元12、第一获取单元13和发送单元14;其中,

所述处理单元11,用于接收到任务信息,解析所述任务信息,获得包括任务数据信息以及目标服务器信息的解析结果;所述任务信息用于指示分发任务数据至目标服务器;

所述判断单元12,用于判断所述解析结果是否表明所述任务信息由源服务器发送;

所述第一获取单元13,用于在所述判断单元12判断所述解析结果还表明所述任务信息由源服务器发送时,基于所述任务数据信息从所述源服务器中获取任务数据;

所述发送单元14,用于基于所述目标服务器信息发送所述任务数据信息至所述目标服务器,以使所述目标服务器基于所述任务数据信息获取所述任务数据。

在一具体实施方式中,所述发送单元14,具体用于基于所述目标服务器信息将所述目标服务器划分为至少一个目标服务器群组,每个目标服务器群组至少包括一个目标服务器

基于所述至少一个目标服务器群组生成至少一个第一子任务信息,每个第一子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;

分别发送第一子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第一子任务信息获取所述任务数据。

在一具体实施方式中,所述任务数据信息用于表征所述任务数据的存储路径时,所述发送单元14,具体用于建立所述服务器与所述源服务器之间的通信连接;基于所述通信连接,按照所述任务数据的存储路径从所述源服务器获取任务数据。

在一具体实施方式中,所述判断单元12判断所述解析结果还表明所述任务信息不是由源服务器发送时,所述服务器还包括第二获取单元15,用于获取用户设备发送的任务数据。

相应的,所述发送单元14,具体用于基于所述目标服务器信息将多个目标服务器划分为至少两个目标服务器群组,每个目标服务器群组包括至少一个目标服务器;

基于所述至少两个目标服务器群组生成对应的至少两个第二子任务信息,每个第二子任务信息中携带有任务数据信息以及与目标服务器群组相关联的目标服务器子信息;

分别发送第二子任务信息至对应的目标服务器群组中的任一目标服务器,以使所述任一目标服务器基于所述第二子任务信息获取所述任务数据。

需要说明的是,本发明实施例中,所述第一获取单元13执行相应的操作时,所述服务器接收源服务器发送的任务信息,所述源服务器为多个目标服务器中的任意一个服务器。所述第二获取单元15执行相应的操作时,所述服务器接收用户设备发送的任务信息。

在示例性实施例中,所述服务器可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、数字信号处理器(dsp,digitalsignalprocessor)、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。所述的计算机可读存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种服务器,所述服务器的硬件组成结构示意图,如图12所示,包括处理器701和存储器702,所述存储器702上存储有应用程序7022。

上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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