一种分布式数据流处理方法及装置的制造方法_4

文档序号:8265919阅读:来源:国知局
42]基于同一发明构思,本发明实施例中还提供了一种与数据流处理方法对应的数据流处理装置,由于该装置解决问题的原理与本发明实施例中的数据流处理方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
[0143]如图10所示,为本发明实施例一提供的分布式数据流处理装置示意图,该装置属于第一节点,包括:
[0144]确定模块101,用于根据需要分配给所述第一节点的下一跳工作节点的数据流的键值,确定第二节点为处理所述键值对应的数据流的下一跳工作节点;
[0145]迁移模块102,用于在确定所述第二节点满足设定的负载迁移条件后,将所述需要分配给下一跳工作节点的数据流从所述第二节点迁移至第三节点进行处理,并指示所述第二节点和第三节点同步所述键值对应的数据流的状态信息;
[0146]其中,所述第二节点和第三节点属于所述第一节点的下一跳工作节点集合,所述第三节点的累计负载小于所述第二节点的累计负载。
[0147]可选地,所述第三节点为当前所述第一节点的下一跳工作节点集合中具有最小累计负载的工作节点。
[0148]可选地,所述设定的负载迁移条件包括:
[0149]所述第二节点的累计负载超过设定阈值;和/或,
[0150]所述第二节点的累计负载与第三节点的累计负载的比值和/或差值超过设定阈值。
[0151]可选地,所述设定的负载迁移条件还包括:当前时间与所述装置最近一次进行数据流迁移处理的时间的时间间隔不小于设定阈值。
[0152]可选地,所述迁移模块102具体用于根据以下公式确定设定时间段内所述第一节点的任意一个下一跳工作节点的累计负载W:
[0153]W=cXW' +(l-c)Xy;
[0154]其中,y为所述装置在所述设定时间段内分配给所述任意一个下一跳工作节点的负载,r为所述任意一个下一跳工作节点在所述设定时间段的前一个时间段结束时的累计负载,c为常数,且O <c< I。
[0155]可选地,所述迁移模块102具体用于,向所述第二节点发送包含所述键值的状态信息迁出指示,以及,向所述第三节点发送包含所述键值的状态信息迁入指示;
[0156]其中,所述状态信息迁出指示用于指示所述第二节点将本地生成的所述键值对应的数据流的第一状态信息发送给管理各工作节点的协调器;所述状态信息迁入指示用于指示所述第三节点从管理各工作节点的协调器中获取所述键值对应的数据流的第一状态信息,并将获取的所述第一状态信息与本地生成的对应所述键值的数据流的第二状态信息进行合并。
[0157]可选地,所述迁移模块102还用于,在确定所述第二节点满足设定的负载迁移条件之前,若接收到管理各工作节点的协调器发送的指示所述第二节点过载的信息,则调整设定的所述负载迁移条件。
[0158]可选地,所述确定模块101还用于:根据需要分配给下一跳工作节点的数据流的键值,确定当前不存在处理该键值对应的数据流的下一跳工作节点;所述迁移模块102还用于,将所述需要分配给下一跳工作节点的数据流分配给当前所述第一节点的下一跳工作节点集合中具有最小累计负载的工作节点进行处理。
[0159]如图11所示,为本发明实施例二提供的分布式数据流处理装置示意图,该装置属于上述第二节点,包括:
[0160]接收模块111,用于接收第一节点发送的包含设定键值的状态信息迁出指示,并将所述状态信息迁出指示传输至发送模块112 ;
[0161]发送模块112,用于根据接收模块111接收的所述状态信息迁出指示,确定本地生成的所述键值对应的数据流的第一状态信息,并将确定的所述第一状态信息发送给管理各工作节点的协调器。
[0162]如图12所示,为本发明实施例三提供的分布式数据流处理装置示意图,该装置属于上述第三节点,包括:
[0163]接收模块121,用于接收第一节点发送的包含设定键值的状态信息迁入指示,并将所述状态信息迁入指示传输至获取模块122 ;
[0164]获取模块122,用于根据接收模块121接收的所述状态信息迁入指示,从管理各工作节点的协调器中获取所述第二节点发送到协调器中的所述键值对应的数据流的第一状态信息,并将获取的所述第一状态信息与本地生成的对应所述键值的数据流的第二状态信息进行合并。
[0165]如图13所示,为本发明实施例四提供的分布式数据流处理装置示意图,该装置属于第一节点,包括:
[0166]处理器131,用于根据需要分配给所述第一节点的下一跳工作节点的数据流的键值,确定第二节点为处理所述键值对应的数据流的下一跳工作节点,在确定所述第二节点满足设定的负载迁移条件后,确定将所述需要分配给下一跳工作节点的数据流从所述第二节点迁移至第三节点进行处理,并确定指示所述第二节点和第三节点同步所述键值对应的数据流的状态信息的指示信息,将确定的指示信息传输给收发器132 ;其中,所述第二节点和第三节点属于所述第一节点的下一跳工作节点集合,所述第三节点的累计负载小于所述第二节点的累计负载;
[0167]收发器132,用于向所述第二节点和第三节点发送所述指示信息。
[0168]可选地,所述第三节点为当前所述第一节点的下一跳工作节点集合中具有最小累计负载的工作节点。
[0169]可选地,所述设定的负载迁移条件包括:
[0170]所述第二节点的累计负载超过设定阈值;和/或,
[0171]所述第二节点的累计负载与第三节点的累计负载的比值和/或差值超过设定阈值。
[0172]可选地,所述设定的负载迁移条件还包括:当前时间与所述装置最近一次进行数据流迁移处理的时间的时间间隔不小于设定阈值。
[0173]可选地,所述处理器131具体用于根据以下公式确定设定时间段内所述第一节点的任意一个下一跳工作节点的累计负载W:
[0174]W=cXW' +(l-c)Xy;
[0175]其中,y为所述装置在所述设定时间段内分配给所述任意一个下一跳工作节点的负载,r为所述任意一个下一跳工作节点在所述设定时间段的前一个时间段结束时的累计负载,c为常数,且O <c< I。
[0176]可选地,所述收发器132具体用于,向所述第二节点发送包含所述键值的状态信息迁出指示,以及,向所述第三节点发送包含所述键值的状态信息迁入指示;
[0177]其中,所述状态信息迁出指示用于指示所述第二节点将本地生成的所述键值对应的数据流的第一状态信息发送给管理各工作节点的协调器;所述状态信息迁入指示用于指示所述第三节点从管理各工作节点的协调器中获取所述键值对应的数据流的第一状态信息,并将获取的所述第一状态信息与本地生成的对应所述键值的数据流的第二状态信息进行合并。
[0178]可选地,所述处理器131还用于,在确定所述第二节点满足设定的负载迁移条件之前,若通过收发器132接收到管理各工作节点的协调器发送的指示所述第二节点过载的信息,则调整设定的所述负载迁移条件。
[0179]可选地,所述处理器131还用于:根据需要分配给下一跳工作节点的数据流的键值,在确定当前不存在处理该键值对应的数据流的下一跳工作节点时,将所述需要分配给下一跳工作节点的数据流分配给当前所述第一节点的下一跳工作节点集合中具有最小累计负载的工作节点进行处理。
[0180]如图14所示,为本发明实施例五提供的分布式数据流处理装置示意图,该装置属于上述第二节点,包括:
[0181]收发器141,用于接收第一节点发送的包含设定键值的状态信息迁出指示,并将所述状态信息迁出指示传输至处理器142 ;
[0182]处理器142,用于根据收发器141接收的所述状态信息迁出指示,确定本地生成的所述键值对应的数据流的第一状态信息,并通过收发器141将确定的所述第一状态信息发送给管理各工作节点的协调器。
[0183]如图15所示,为本发明实施例六提供的分布式数据流处理装置示意图,该装置属于上述第三节点,包括:
[0184]收发器151,用于接收第一节点发送的包含设定键值的状态信息迁入指示,并将所述状态信息迁入指示传输至处理器152 ;
[0185]处理器152,用于根据收发器151接收的所述状态信息迁入指示,通过收发器151从管理各工作节点的协调器中获取所述第二节点发送到协调器中的所述键值对应的数据流的第一状态信息,并将获取的所述第一状态信息与本地生成的对应所述键值的数据流的第二状态信息进行合并。
[0186]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0187]本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0188]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1