一种多节点通信方法及装置与流程

文档序号:12040283阅读:465来源:国知局
一种多节点通信方法及装置与流程
本发明涉及通信相关技术领域,特别是一种多节点通信方法及装置。

背景技术:
在数据传输的过程中,一般涉及到发送方和接收方。当接收方是多个节点时,现有技术采用流量均衡策略进行处理。发送方根据预设的流量均衡策略来选择接收方的最优接收节点。采用流量均衡策略,能够使得多节点接收方的流量接收达到预设最优。现有的均衡策略有:(1)轮询;(2)随机;(3)选择流量值最小的(需要接收方提供每一台服务器的流量值)。然而,不管采用哪种均衡策略,当接收方某一个节点出现异常不能正常接收数据的时候,那么就需要将这台服务器流量转移到其他几个还正常功能的节点。但是,当经过对故障接收节点的处理,故障节点恢复正常的时候,现有技术并不会对流量进行切换,致使原来经过流量均衡策略选择的最优接收节点,仍然处于空闲状态,并不能实现流量均衡策略的最优化。如图1所示为多节点传输系统,其中,发送方110向接收方120发送数据,发送方110包括发送节点111、112、……、11n,接收方120包括接收节点121、122、……、12m。发送数据时,发送节点111、112、……、11n会根据预设的负载均衡策略,从接收节点121、122、……、12n中选择一个作为目的接收节点。负载均衡也称负载共享,是指对系统中的负载情况进行动态调整,以尽量消除或减少系统中各节点负载不均衡的现象。具体实现方法是将过载节点上的任务转移到其他轻载节点上,尽可能实现系统各节点的负载平衡,从而提高系统的吞吐量。具体应用到多节点传输中则是每个发送节点通过负载均衡策略,分别选择一个接收节点作为目的节点,以尽量消除或减少各接收节点的负载不均衡的现象。现有技术已经对负载均衡策略进行了大量的研究,有众多文献公开进行介绍,因此,其具体策略在此不予详述。然而,现有技术当某个接收节点,例如接收节点121出现故障时,其对应的发送节点,例如发送节点111则会通过一定的算法,例如同样通过负载均衡策略,选择另外一个接收节点,例如接收节点122作为其目的接收节点,进行数据传输。然而,当接收节点121从故障中恢复后,由于发送节点111已经选择了接收节点122作为其目的接收节点,因此,接收节点121不会有数据传输。甚至,考虑一种极端情况,如图2所示,发送方210向接收方220发送数据,发送方210包括发送节点211和112,接收方220包括接收节点221和222。在未出现故障时,发送节点211向接收节点221传输数据,发送节点212向接收节点222传输数据。接收节点221出现故障后,发送节点211向接收节点222传输数据。接收节点221很快从故障中恢复,然而,如果采用现有技术的话,则发送节点211仍然向接收节点222传输数据。接收节点222承受了原来2倍的传输压力,很快也出现故障停止传输服务。此时,发送节点211和212均向接收节点221传输数据。接收节点222同样很快从故障中恢复,然而发送节点211和仍然向接收节点221传输数据,同样导致接收节点221出现故障而停止传输服务。则上述循环会不停的延续导致传输出现极大问题。

技术实现要素:
基于此,有必要针对现有的多节点通信方法,在最优接收节点出现故障并恢复后,最优接收节点长时间处于空闲状态,导致多节点通信未能达到流量均衡策略最优化的技术问题,提供一种多节点通信方法及装置。一种多节点通信方法,包括:根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;响应传输数据请求,向目的接收节点传输数据,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据,并执行最优接收节点重获步骤;所述最优接收节点重获步骤包括:向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。优选地,所述最优接收节点重获步骤,具体包括:定时检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。优选地,所述最优接收节点重获步骤,具体包括:每当响应传输数据请求,则检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。优选地,所述选择另一接收节点作为目的接收节点,具体包括:根据负载均衡策略选择另一接收节点作为目的接收节点。优选地,所述最优接收节点的节点标识包括:最优接收节点的名称、最优接收节点的网络地址和/或最优接收节点的硬件地址。一种多节点通信装置,包括:最优接收节点选择模块,用于根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;传输模块,用于响应传输数据请求,向目的接收节点传输数据,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据,并执行最优接收节点重获模块的功能;最优接收节点重获模块,用于向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。优选地,所述最优接收节点重获模块,具体用于:定时检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。优选地,所述最优接收节点重获模块,具体用于:每当响应传输数据请求,则检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。优选地,传输模块中,所述选择另一接收节点作为目的接收节点,具体包括:根据负载均衡策略选择另一接收节点作为目的接收节点。优选地,所述最优接收节点的节点标识包括:最优接收节点的名称、最优接收节点的网络地址和/或最优接收节点的硬件地址。本发明的多节点通信方法保存最优接收节点标识,并且在向最优接收节点传输数据失败后执行最优接收节点重获步骤,通过最优接收节点重获步骤,使得发送节点能够在最优接收节点恢复故障后,第一时间将目的接收节点重新设置为最优接收节点。因此,解决了接收方一个节点从故障状态恢复以后没有发送方选择其进行数据传输的问题,避免节点长时间处于空闲状态;同时也解决了故障节点恢复后的负载均衡问题,使得整个发送接收系统能够最短时间内恢复到最优的负载均衡状态。附图说明图1为多节点传输系统示意图;图2为2节点传输系统示意图;图3为本发明一种多节点通信方法的工作流程图;图4为本发明一个实施例相关例子的工作流程图;图5为本发明第二个实施例相关例子的工作流程图;图6为本发明第三个实施例相关例子的工作流程图;图7为本发明一种多节点通信装置的结构模块图。具体实施方式下面结合附图和具体实施例对本发明做进一步详细的说明。如图3所示为本发明的一种多节点通信方法的工作流程图,包括:步骤S301,根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;步骤S302,响应传输数据请求,向目的接收节点传输数据,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据,并执行最优接收节点重获步骤S303;所述最优接收节点重获步骤S303包括:向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。本发明的技术方案,在步骤S301中预先保存最优接收节点的节点标识。在其中一个实施例中,所述最优接收节点的节点标识包括:最优接收节点的名称、最优接收节点的网络地址和/或最优接收节点的硬件地址。例如,节点标识可以是最优接收节点的网络地址即按照TCP/IP(TransportControlProtocol/InternetProtocol,传输控制协议/Internet协议)协议规定的IP地址。通过保存IP地址,则当需要再次访问最优接收节点时,可以通过访问IP地址实现。或者,最优接收节点的节点标识也可以是优接收节点的硬件地址,即MediaAccessControl地址,或称为MAC位址、硬件位址,用来定义网络设备的位置。再或者,最优接收节点的节点标识最优接收节点的名称,在某些系统中,接收方有一个专门的服务器用于记录接收节点的名称与IP地址或者MAC地址之间的关系,因此,发送节点通过提供最优接收节点的节点标识,也可以访问最优接收节点。最优接收节点的节点标识可以是上述最优接收节点的名称、最优接收节点的网络地址、最优接收节点的硬件地址的随意组合。如上所述,单个最优接收节点的名称、最优接收节点的网络地址或最优接收节点的硬件地址均能访问到最优接收节点,因此,最优接收节点的名称、最优接收节点的网络地址、最优接收节点的硬件地址的任意组合方式,均可以实现访问最优接收节点。在步骤S302中,目的接收节点开始为最优接收节点,一般情况下,向目的接收节点传输数据,即向最优接收节点传输数据。但当向最优接收节点传输出现失败时,则设定另一接收节点作为目的接收节点,同时,启动最优接收节点重获步骤S303。无论向最优接收节点传输数据成功与否,步骤S302执行完毕后,均等待传输数据请求,每当响应传输数据请求,则执行步骤S302。步骤S302中,当向最优接收节点传输出现失败时,则设定另一接收节点作为目的接收节点,该另一接收节点可以通过负载均衡策略选择,或者轮询所有的接收节点后随机选择一个可接收传输请求的接收节点。优选地,作为其中一个实施例,所述选择另一接收节点作为目的接收节点,具体包括:根据负载均衡策略选择另一接收节点作为目的接收节点。进一步的,如果步骤S302中,当向最优接收节点传输出现失败时,则设定另一接收节点作为目的接收节点,如果新选定的接收节点传输也出现失败时,则可以继续根据负载均衡策略或者轮询所有的接收节点后随机选择一个可接收传输请求的接收节点再选择新的接收节点,直到选择到可以传输成功的接收节点。最优接收节点重获步骤S303通过向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。将目的接收节点更改为最优接收节点,相当于恢复向最优接收节点传输数据。从而解决了现有技术的技术问题。在其中一个实施例中,所述最优接收节点重获步骤S303采用定时检查方式,具体包括:定时检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。当步骤S302向最优接收节点传输出现失败时,在向新的接收节点传输数据的同时,则同时启动最优接收节点重获步骤S303,在本实施例中,即启动定时检查目的接收节点的步骤。通过定时检查目的接收节点,并定时向最优接收节点发送传输请求,及时发现最优接收节点是否恢复,如果最优接收节点恢复,则将目的接收节点重新设置为最优接收节点。一般来说,当启动最优接收节点重获步骤S303后,通过定时检查目的接收节点,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点后,可以停止最优接收节点重获步骤S303,仅当执行步骤S302再次出现向目的接收节点传输数据失败时,启动最优接收节点重获步骤S303。然而,最优接收节点重获步骤S303也可以设置为启动后不停止,即接收节点重获步骤S303一直重复执行。即在其中一个实施例中,所述最优接收节点重获步骤S303,具体包括:启动定时器定时检查目的接收节点,当接收到定时器中断,如果目的接收节点是最优接收节点,则等待下一次定时器中断,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点,并等待下一次定时器中断。作为本实施例的一个例子的工作流程图如图4所示,包括:步骤S401,根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;步骤S402,等待传输数据请求;步骤S403,响应传输数据请求,向目的接收节点传输数据,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据,并同步执行步骤S404和步骤S402,如果传输成功,执行步骤S402;步骤S404,设定定时时间,并启动定时器,当定时时间达到,则执行步骤S405;步骤S405,检查目的接收节点,如果目的接收节点是最优接收节点,则执行步骤S408,否则执行步骤S406;步骤S406,向最优接收节点标识对应的最优接收节点发送传输请求,如果在规定时间内接收到最优接收节点返回的传输请求响应,则执行步骤S407,否则执行步骤S404;步骤S407,将所述最优接收节点设定为目的接收节点;步骤S408,停止定时器,退出定时检查。在本例子中,当执行步骤S407后,将目的接收节点设置为最优接收节点后,将会停止定时器,即当将所述最优接收节点设定为目的接收节点后,会停止执行最优接收节点重获步骤S303。然而,在另外一个实施例中,当将所述最优接收节点设定为目的接收节点后,也可以不停止执行最优接收节点重获步骤S303。即在步骤S407将所述最优接收节点设定为目的接收节点后,不停止定时器,重复执行步骤S404。在其中一个实施例中,所述最优接收节点重获步骤S303采用按需检查方式,具体包括:每当响应传输数据请求,则检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。当步骤S302向最优接收节点传输出现失败时,在向新的接收节点传输数据的同时,则同时启动最优接收节点重获步骤S303,在本实施例中,即在响应传输数据请求时,增加检查目的接收节点的步骤。在本实施例中,每当响应传输数据请求,则检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点,如果没有接收到最优接收节点返回的传输请求响应,则当下一次响应传输数据请求时,也会重新检查目的接收节点。本实施例的方式,当目的接收节点不是最优接收节点时,能够在每次需要传输数据时,检查最优接收节点是否已经正常工作,一旦最优接收节点恢复工作,则立刻将流量切换到最优接收节点,从而恢复原来的负载均衡状态。按需检查方式与采用定时检查方式相比,定时检查方式比较依赖于定时间隔参数,如果定时间隔参数较大,则不能在最优接收节点从故障中恢复后及时调整目的接收节点,容易导致最优接收节点已经恢复但仍然未有数据传输。但如果定时间隔参数较小,则会频繁地向最优接收节点发送传输请求,导致大量的无谓的网络流量,容易造成网络拥塞等其他问题。而采用本实施例的按需检查方式,则仅在需要传输数据时,才对最优接收节点发送传输请求,如果最优接收节点已经从故障中恢复,则立刻能调整目的接收节点,不会发生最优接收节点已经恢复,但仍然向非最优接收节点传输数据的情况。作为本实施例的一个例子的工作流程图如图5所示,包括:步骤S501,根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;步骤S502,等待传输数据请求;步骤S503,响应传输数据请求,向设置为最优接收节点的目的接收节点传输数据,如果传输成功,执行步骤S502,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据,执行步骤S504;步骤S504,等待传输数据请求;步骤S505,响应传输数据请求,检查目的接收节点,如果目的接收节点不是最优接收节点,则执行步骤S506,如果目的接收节点是最优接收节点,则执行步骤S508;步骤S506,向最优接收节点标识对应的最优接收节点发送传输请求,如果在规定时间内接收到最优接收节点返回的传输请求响应,则执行步骤S507,否则如果在规定时间内未接收到最优接收节点返回的传输请求响应,则执行步骤S508;步骤S507,将所述最优接收节点设定为目的接收节点,执行步骤S508;步骤S508,向目的接收节点传输数据,如果传输成功,且目的接收节点为最优接收节点,执行步骤S502,如果传输失败,则选择新的接收节点作为目的接收节点,执行步骤S508,如果传输成功但目的接收节点不是最优接收节点,则执行步骤S504。一般来说,当启动最优接收节点重获步骤S303后,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点后,可以停止最优接收节点重获步骤S303,当执行步骤S302再次出现向目的接收节点传输数据失败时,启动最优接收节点重获步骤S303。然而,本实施例的最优接收节点重获步骤S303也可以设置为从开始即执行,接收节点重获步骤S303一直重复执行。即在其中一个实施例中,步骤S302和步骤S303合并为:响应传输数据请求,检查目的接收节点:如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点,如果超过预定时间未能接收到最优接收节点返回的传输请求响应,则向目的接收节点传输数据;如果目的节点是最优接收节点,则向目的接收节点传输数据,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据。如图6所示为本实施例的一个例子的工作流程图,包括:步骤S601,根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;步骤S602,等待传输数据请求;步骤S603,响应传输数据请求,检查目的接收节点,如果目的接收节点不是最优接收节点,则执行步骤S604,如果目的接收节点是最优接收节点,则执行步骤S606;步骤S604,向最优接收节点标识对应的最优接收节点发送传输请求,如果在规定时间内不能接收到最优接收节点返回的传输请求响应,则执行步骤S606,否则执行步骤S605;步骤S605,将所述最优接收节点设定为目的接收节点,执行步骤S606;步骤S606,向目的接收节点传输数据,如果传输成功,执行步骤S602,如果传输失败,则选择另一接收节点作为目的接收节点,执行步骤S606直到传输成功,并执行步骤S602。如图7所示为本发明一种多节点通信装置的模块结构图,包括:最优接收节点选择模块710,用于根据负载均衡策略选择最优接收节点,并保存所述最优接收节点的节点标识作为最优接收节点标识,并将所述最优接收节点设定为目的接收节点;传输模块720,用于响应传输数据请求,向目的接收节点传输数据,如果传输失败,则选择另一接收节点作为目的接收节点,向目的接收节点传输数据,并执行最优接收节点重获模块730的功能;最优接收节点重获模块730,用于向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。在其中一个实施例中,所述最优接收节点重获模块730,具体用于:定时检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。在其中一个实施例中,所述最优接收节点重获模块730,具体用于:每当响应传输数据请求,则检查目的接收节点,如果目的接收节点不是最优接收节点,则向最优接收节点标识对应的最优接收节点发送传输请求,当接收到最优接收节点返回的传输请求响应,则将所述最优接收节点设定为目的接收节点。在其中一个实施例中,传输模块720中,所述选择另一接收节点作为目的接收节点,具体包括:根据负载均衡策略选择另一接收节点作为目的接收节点。在其中一个实施例中,所述最优接收节点的节点标识包括:最优接收节点的名称、最优接收节点的网络地址和/或最优接收节点的硬件地址。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1