基于负载均衡的分布式数据传输方法和系统的制作方法

文档序号:8530316阅读:390来源:国知局
基于负载均衡的分布式数据传输方法和系统的制作方法
【技术领域】
[0001]本发明涉及分布式数据传输技术领域,尤其涉及一种基于负载均衡的分布式数据传输方法和系统。
【背景技术】
[0002]近年来信息技术快速发展,网络数据量增长非常迅速。同时云计算、物联网技术的发展也产生了大量的网络数据。在这些网络数据中存在着很大一部分数据需要长距离、长时间的网络传输。例如用于数据挖掘的云计算平台,需要从各个采集点中采集数据并传输到云平台中。基于物联网的城市交通管理系统则需要实时从城市各个关键节点采集数据,并实时对数据进行存储、合并、处理等操作。
[0003]当前长距离、长时间的网络数据传输主要有两种,一种就是应用的服务器在网络中开放接口,用于接收数据,各个外网节点均通过该接口向服务器发送数据;另一种则是使用分布式数据传输的方法,通过设置大量的、多层次的中间缓存节点,来对采集到的数据进行汇聚并最终汇集到服务器中。
[0004]近年来随着互联网的发展,许多业务应用中均存在着分布式数据传输系统,例如物联网、交通信息管理、网络监控等。然而这些分布式数据传输系统均存在一定的缺点。在这类分布式数据传输系统中,数据需要在不同节点间进行传输、分流、汇聚等操作。伴随着节点的增加,出现节点失效、节点负载过大等情况的概率将大大增加,而这些情况都将会导致数据丢失。这些分布式数据传输系统只有当其中某个节点出现故障失效后才能发现问题,而这时缓存在该节点的数据则很有可能无法找回。同时这些分布式数据传输系统的网络传输速率也是很大的制约因素,当多个上一节节点同时向某个下一节节点并行传输数据时,该下一节节点可能无法处理接收数据,从而导致数据丢失。

【发明内容】

[0005]本发明的实施例提供了一种基于负载均衡的分布式数据传输方法和系统,以提高分布式数据传输系统的数据传输的效率。
[0006]本发明提供了如下方案:
[0007]—种基于负载均衡的分布式数据传输方法,将分布式数据传输系统中的各个传输节点分成多个层次,在每个层次中包括多个传输节点,在分布式数据传输系统中设置一个负载均衡管理节点,所述方法具体包括:
[0008]所述负载均衡管理节点与每个传输节点进行数据通信,接收每个传输节点发送过来的节点状态信息;
[0009]所述负载均衡管理节点根据接收到的各个传输节点的节点状态信息,按照设定的负载均衡策略对各个传输节点之间的数据传输流量进行控制。
[0010]所述负载均衡管理节点与每个传输节点进行数据通信,接收每个传输节点发送过来的节点状态信息,包括:
[0011]在分布式数据传输系统中的各个传输节点中设置心跳模块,各个传输节点实时获取传输节点自身的节点状态信息;
[0012]各个传输节点按照设定的时间间隔通过所述心跳模块采用远程过程调用协议向所述负载均衡管理节点发送携带所述节点状态信息的心跳消息,所述负载均衡管理节点通过指定端口接收各个传输节点发送过来的心跳消息,获取所述心跳消息中携带的节点状态信息。
[0013]所述节点状态信息包括节点网络流量速率、节点最大带宽、CPU负载、内存使用量。
[0014]所述负载均衡管理节点根据接收到的各个传输节点的节点状态信息,按照设定的负载均衡策略对各个传输节点之间的数据传输流量进行控制,包括:
[0015]所述负载均衡管理节点在一定时间内没有接收到某个传输节点发送过来的心跳信息,所述负载均衡管理节点确认所述某个传输节点的状态为失效;
[0016]所述负载均衡管理节点判断是否存在和所述某个传输节点位于同一层次、同一位置单元,并且状态为有效的其它传输节点,如果是,则所述负载均衡管理节点选择所述位于同一层次、同一位置单元,并且状态为有效的其它传输节点作为所述某个传输节点的备用传输节点,将发送给所述某个传输节点的数据流量导向到所述备用传输节点;否则,执行下述处理步骤;
[0017]所述负载均衡管理节点判断是否存在和所述某个传输节点位于同一层次、状态为有效的其它传输节点,如果是,则所述负载均衡管理节点选择所述位于同一层次、状态为有效的其它传输节点作为所述某个传输节点的备用传输节点,将发送给所述某个传输节点的数据流量导向到所述备用传输节点。
[0018]所述负载均衡管理节点根据接收到的各个传输节点的节点状态信息,按照设定的负载均衡策略对各个传输节点之间的数据传输流量进行控制,包括:
[0019]所述负载均衡管理节点接收到某个传输节点发送过来的心跳信息后,获取该心跳信息中携带的节点状态信息,根据该节点状态信息判断某个传输节点的CPU使用量超过80%、内存使用量超过80%、缓存数据大小占整个缓存空间大小超过90%和/或网络带宽使用量超过90%,则所述负载均衡管理节点确认所述某个传输节点的状态为过载;
[0020]所述负载均衡管理节点判断是否存在和所述某个传输节点位于同一层次、同一位置单元,并且状态为有效的其它传输节点,如果是,则所述负载均衡管理节点选择所述位于同一层次、同一位置单元,并且状态为有效的其它传输节点作为所述某个传输节点的备用传输节点,将发送给所述某个传输节点的全部或者部分数据流量导向到所述备用传输节点;否则,执行下述处理步骤;
[0021]所述负载均衡管理节点判断是否存在和所述某个传输节点位于同一层次、状态为有效的其它传输节点,如果是,则所述负载均衡管理节点选择所述位于同一层次、状态为有效的其它传输节点作为所述某个传输节点的备用传输节点,将发送给所述某个传输节点的全部或者部分数据流量导向到所述备用传输节点。
[0022]所述负载均衡管理节点根据接收到的各个传输节点的节点状态信息,按照设定的负载均衡策略对各个传输节点之间的数据传输流量进行控制,包括:
[0023]所述负载均衡管理节点接收到某个传输节点后续发送过来的心跳信息后,获取该心跳信息中携带的节点状态信息,根据该节点状态信息判断所述某个传输节点的状态为正常,则所述负载均衡管理节点将发送给所述某个传输节点的数据流量从所述备用传输节点重新导向所述某个传输节点。
[0024]—种基于负载均衡的分布式数据传输系统,包括:多个传输节点和一个负载均衡管理节点,所述各个传输节点分成多个层次,在每个层次中包括多个传输节点;
[0025]所述的负载均衡管理节点,用于与每个传输节点进行数据通信,接收每个传输节点发送过来的节点状态信息,根据接收到的各个传输节点的节点状态信息,按照设定的负载均衡策略对各个传输节点之间的数据传输流量进行控制。
[0026]所述的传输节点,用于设置心跳模块,实时获取传输节点自身的节点状态信息;按照设定的时间间隔通过所述心跳模块采用远程过程调用协议向所述负载均衡管理节点发送携带所述节点状态信息的心跳消息;
[0027]所述的负载均衡管理节点,用于通过指定端口接收各个传输节点发送过来的心跳消息,获取所述心跳消息中携带的节点状态信息。
[0028]所述的负载均衡管理节点,具体用于在一定时间内没有接收到某个传输节点发送过来的心跳信息,确认所述某个传输节点的状态为失效;
[0029]判断是否存在和所述某个传输节点位于同一层次、同一位置单元,并且状态为有效的其它传输节点,如果是,则选择所述位于同一层次、同一位置单元,并且状态为有效的其它传输节点作为所述某个传输节点的备用传输节点,将发送给所述某个传输节点的数据流量导向到所述备用传输节点;否则,执行下述处理步骤;
[0030]判断是否存在和所述某个传输节点位于同一层次、状态为有效的其它传输节点,如果是,则选择所述位于同一层次、状态为有效的其它传输节点作为所述某个传输节点的备用传输节点,将发送给所述某个传输节点的数据流量导向到所述备用传输节点。
[0031]所述的负载均衡管理节点,具体用于接收到某个传输节点发送过来的心跳信息后,获取该心跳信息中携带的节点状态信息,根据该节点状态信息判断某个传输节点的CPU使用量超过80%、内存使用量超过80%、缓存数据大小占整个缓存空间大小超过90%和/或网络带宽使用量超过90%,则所述负载均衡管理节点确认所述某个传输节点的状态为过载;
[0032]判断是否存在和所述某个传输节点位于同一层次、同一位置单元,并且状态为有效的其它传输节点,如果是,则选择所述位于同一层次、同一位置单元,并且状态为有效
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1