CN115884252A - 策略调整方法、数据传输方法、系统、服务器及存储介质 - Google Patents
策略调整方法、数据传输方法、系统、服务器及存储介质 Download PDFInfo
- Publication number
- CN115884252A CN115884252A CN202111146319.1A CN202111146319A CN115884252A CN 115884252 A CN115884252 A CN 115884252A CN 202111146319 A CN202111146319 A CN 202111146319A CN 115884252 A CN115884252 A CN 115884252A
- Authority
- CN
- China
- Prior art keywords
- node
- working
- data
- nodes
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种策略调整方法,包括:获取工作节点的网络状态;若网络状态的变化满足预设条件,则调整工作节点的拓扑策略;将调整后的拓扑策略发送至每一工作节点,其中,工作节点包括一个全局节点、若干局部节点和若干普通工作节点。本发明实施例还公开了一种数据传输方法、系统、服务器及存储介质。本发明实施例提供的策略调整方法、数据传输方法、系统、服务器及存储介质,可以数据传输方案与动态变化的广域网带宽相匹配,提高数据传输的性能。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种策略调整方法、数据传输方法、系统、服务器及存储介质。
背景技术
分布式机器学习是算力网络中的典型业务,为了加速分布式机器学习的训练,需要加速算力网络中数据的汇聚与分发过程,这就要求数据的汇聚与分发与广域网带宽相适应,从而保证数据传输的性能。而广域网带宽通常是一种不稳定的资源,其可能因为工作负载或链路故障等原因随时间的变化而变化,这就要求数据的汇聚与分发与动态变化的广域网带宽相适应,才能有效地发挥数据传输的性能。
然而,目前跨数据中心的数据汇聚与分发采用的是固定的数据传输方案,其负责数据汇聚和分发的节点是在训练之前就已经确定,无论网络带宽变化多大都不会改变,直到训练结束,导致数据传输与动态变化的广域网带宽不匹配,严重降低了数据传输的性能。
发明内容
本申请实施例的主要目的在于提出一种策略调整方法、数据传输方法、系统、服务器及存储介质,可以使数据传输方案与动态变化的广域网带宽相匹配,提高数据传输的性能。
为实现上述目的,本申请实施例提供了一种策略调整方法,应用于调度节点,调度节点连接每一工作节点,工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一局部节点对应部分普通工作节点,局部节点用于汇聚对应的普通工作节点的数据后发送至全局节点,或将全局节点的数据分发至对应的普通工作节点,方法包括:获取工作节点的网络状态;若网络状态的变化满足预设条件,则调整工作节点的拓扑策略;将调整后的拓扑策略发送至每一工作节点。
为实现上述目的,本申请实施例还提供了一种数据传输方法,应用于工作节点,工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一工作节点连接调度节点,每一局部节点对应部分普通工作节点,局部节点用于汇聚对应的普通工作节点的数据后发送至全局节点,或将全局节点的数据分发至对应的普通工作节点,方法包括:接收调度节点发送的拓扑策略;将拓扑策略更新至本节点;根据拓扑策略进行数据传输。
为实现上述目的,本申请实施例还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的策略更新方法或上述的数据传输方法。
为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的策略更新方法或上述的数据传输方法。
本申请提出的策略调整方法,通过在工作节点的网络状态变化满足预设条件时,调整工作节点的拓扑策略,并将调整后的拓扑策略发送给工作节点,可以使工作节点的拓扑与动态变化的广域网带宽相匹配,减少瓶颈链路的产生,提高数据传输的性能,同时,通过局部节点汇聚普通工作节点的数据后再发送至全局节点,可以减少汇聚过程中产生的数据量,减少网络拥塞的发生。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明实施例提供的策略调整方法的原理结构示意图;
图2是本发明实施例提供的策略调整方法的流程示意图;
图3是本发明实施例提供的策略调整方法中工作节点的拓扑关系示意图;
图4是本发明实施例提供的策略调整方法的流程示例图;
图5是本发明实施例提供的策略调整方法中拓扑策略的更新消息格式示例图;
图6是本发明实施例提供的数据传输方法的流程示意图;
图7是本发明实施例提供的数据传输方法的数据汇聚过程的流程示例图;
图8是本发明实施例提供的数据传输方法中NODE结构体定义示例图;
图9是本发明实施例提供的数据传输方法中解读更新消息的示例图;
图10是本发明实施例提供的数据传输方法的数据分发过程的流程示例图;
图11是本发明实施例提供的数据传输系统的模块结构示意图;
图12是本发明实施例提供的服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
在一个实施例中,涉及一种策略调整方法,应用于调度节点,调度节点连接每一工作节点,工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一局部节点对应部分普通工作节点,局部节点用于汇聚对应的普通工作节点的数据后发送至全局节点,或将全局节点的数据分发至对应的普通工作节点,策略调整方法包括:获取工作节点之间的网络状态,若网络状态的变化满足预设条件,则调整工作节点的拓扑策略,将调整后的拓扑策略发送至每一工作节点。
应当说明的是,本发明实施例提供的策略调整方法,适用于以下几种情况:
(1)基于SDN(software-defined networking,软件定义网络)集中控制的;
(2)带宽资源具有异构性、稀缺性和动态性的广域网环境;
(3)数据可归并,数据汇聚和分发过程具有迭代性的分布式业务。
另外,调度节点可以由单独的服务器或多个服务器组成的集成来实现。
请参考图1,其为本发明实施例提供的策略调整方法的原理结构示意图。具体地,调度节点连接N个工作节点,从SDN控制器获取工作节点的网络信息,根据获取的网络信息更新工作节点的网络状态,根据更新的网络状态进行监测;根据监测的结果制定(调整)工作节点的拓扑策略,将制定好的拓扑策略发送至N个工作节点进行策略发布,工作节点在接收到发布的拓扑策略后进行策略更新,再根据更新后的拓扑策略进行传输控制。其中,调度节点相当于决策模块,而工作节点则相当于执行模块。
本发明实施例提供的策略调整方法的具体流程如图2所示,包括以下步骤:
S101:获取工作节点的网络状态。
S102:若网络状态的变化满足预设条件,则调整工作节点的拓扑策略。
预设条件可以根据实际需要进行设置,例如网络状态的变化超过预设阈值,或某个工作节点发生异常等,本发明实施例对此不做具体限制。
在调整工作节点的拓扑策略时,可以是调整全局节点的位置、局部节点的个数、位置、工作节点之间的路由和工作节点之间的速率中的部分或全部。其中,全局节点的位置是指全局节点具体为哪个工作节点,可以为节点ID,局部节点的位置同理。应当理解的是,在对全局节点的位置、局部节点的个数或局部节点的位置进行调整时,必然涉及工作节点之间的路由之间的变化,因此若对全局节点的位置、局部节点的个数或局部节点的位置进行调整,则需同时对工作节点之间的路由进行相应的调整。在一个具体的例子中,拓扑策略包括全局节点的位置、局部节点的个数、位置、工作节点之间的路由和工作节点之间的速率,即在调整工作节点的拓扑策略时,是对全局节点的位置、局部节点的个数、位置、工作节点之间的路由和工作节点之间的速率全部进行调整,可以使工作节点的拓扑能更好地与动态变化的广域网带宽相匹配。
S103:将调整后的拓扑策略发送至每一工作节点。
可选地,工作节点初始的拓扑策略可以预先设置,在网络状态的变化满足预设条件时,调度节点再对工作节点的拓扑策略进行相应的调整。
本发明实施例提供的策略调整方法,通过在工作节点的网络状态变化满足预设条件时,调整工作节点的拓扑策略,并将调整后的拓扑策略发送给工作节点,可以调整全局节点的位置、局部节点的个数、位置、工作节点之间的路由和工作节点之间的速率,从而使工作节点的拓扑与动态变化的广域网带宽相匹配,减少瓶颈链路的产生,提高数据传输的性能,同时,通过局部节点汇聚普通工作节点的数据后再发送至全局节点,可以减少汇聚过程中产生的数据量,减少网络拥塞的发生。
在一个具体的例子中,在S102之前,即在若网络状态的变化满足预设条件,则调整工作节点的拓扑策略之前,本发明实施例提供的策略调整方法还可以包括:根据工作节点之间的带宽或数据处理周期计算网络状态的变化率,若网络状态的变化率大于预设门限值,则判定网络状态的变化满足预设条件,其中,数据处理周期包括数据汇聚或分发的周期。
可选地,根据工作节点之间的带宽或数据处理周期计算网络状态的变化率,可以是:
根据计算网络状态的变化率,其中,change_rate为变化率,state_list[i][j]为工作节点i与工作节点j之间的当前带宽值,dicision_temp[i][j]为工作节点i与工作节点j之间前一次记录的带宽值,i∈J,j∈J,J为工作节点的个数,AVE_TP为当前有效工作节点的带宽平均值。
此时,预设门限值可以为第一种更新门限值,即若变化率大于第一种更新门限值,则判定网络状态的变化满足预设条件。第一种更新门限值可以根据实际需要进行设置,本发明实施例对此不做具体限制。可以理解的是,若第一种更新门限值设置较小,则调度节点会较为频繁地调整工作节点的拓扑策略,增加调度节点的计算负担,但也能使工作节点的拓扑策略更能与动态变化的网络状态相适应;若第一种更新门限值设置较大,则调度节点不会频繁地调整工作节点的拓扑策略,可以减轻调度节点的计算负担,但也会使工作节点的拓扑策略与动态变化的网络状态的匹配度降低,因此,第一种更新门限值宜根据调度节点的计算能力和对动态变化的网络状态匹配度的要求进行设置。
通过工作节点之间前后带宽值的对比,可以有效地计算网络状态的变化,从而在网络状态发生一定的改变时触发拓扑策略的调整,使工作节点的拓扑与动态变化的广域网带宽相匹配,减少瓶颈链路的产生,提高数据传输的性能。
可选地,调度节点在计算工作节点网络状态的变化率时,可以在间隔一定时间后检测一次网络状态的变化。其中,间隔检测的时间也可以根据实际需要进行设置,但同样可以理解的是,若间隔时间较长,则可能使网络监测的灵敏度降低,拓扑策略的调整不及时;若间隔时间较短,则可能使检测过于频繁,提高调度节点的实施成本,因此,间隔时间宜根据对网络监测的灵敏度要求和调度节点的实施成本进行设置。
可选地,根据工作节点之间的带宽或数据处理周期计算网络状态的变化率,还可以是:
此时,预设门限值可以为第二种更新门限值,即若变化率大于第二种更新门限值,则判定网络状态的变化满足预设条件。其中,第二种更新门限值可以根据实际需要进行设置,其具体设置可以参考以上第一种更新门限值的说明。
通过比较数据汇聚或分发周期前后的变化,可以间接地反映网络状态的变化情况,从而在网络状态发生一定的改变时触发拓扑策略的调整,使工作节点的拓扑与动态变化的广域网带宽相匹配。
在一个具体的例子中,在S103之前,即在将调整后的拓扑策略发送至每一工作节点之前,本发明实施例提供的策略调整方法还可以包括:
接收工作节点的策略更新请求;
而将调整后的拓扑策略发送至每一工作节点,则包括:
在接收到所有工作节点或全局节点的策略更新请求时,将拓扑策略发送至每一工作节点。
应当理解的是,工作节点可以既执行数据汇聚过程又执行数据分发过程,也可以是只执行数据汇聚过程或只执行数据分发过程。若工作节点两个过程均执行,则可以由所有工作节点向调度节点发送策略更新请求,调度节点在收到所有工作节点的策略更新请求时,将调整后的拓扑策略发送至每一工作节点;若工作节点只执行数据汇聚过程,则可以由所有工作节点均向调度节点发送策略更新请求,调度节点在接收到所有工作节点的策略更新请求后将调整后的拓扑策略发送至每一工作节点;若工作节点只执行数据分发过程,则可以由全局节点向调度节点发送策略更新请求,调度节点在接收到全局节点的策略更新请求后,将调整后的拓扑策略发送至每一工作节点。
由于分布式环境下网络和设备性能的差异,各工作节点在执行上必然具有异步性,而通过接收工作节点的策略更新请求,在接收到所有工作节点或全局节点的策略更新请求时,将调整后的拓扑策略发送至每一工作节点,可以保证调整后的拓扑策略在所有节点同时生效,实现全局策略更新同步。
在一个具体的例子中,S102中,调整工作节点的拓扑策略,可以包括:
获取每一工作节点的可用带宽,根据可用带宽对工作节点进行排序,工作节点为N个,N为正整数;
初始化局部节点的个数M为1,初始化最小时间记录变量tmin为一个极大值;
判断M是否大于N/2,若是则执行将调整后的拓扑策略发送至工作节点的步骤,否则选择排序后的前M个工作节点作为局部节点;
求解第一数学模型得出第一阶段的数据汇聚时间t1和第一阶段的拓扑策略,第一阶段的拓扑策略包括局部节点的个数、位置、普通工作节点与局部节点之间的路由和普通工作节点与局部节点之间的速率信息;
求解第二数学模型得出第二阶段的数据汇聚时间t2和第二阶段的拓扑策略,第二阶段的拓扑策略包括全局节点的位置、局部节点与全局节点之间的路由和全局节点与局部节点之间的速率信息;
若tmin大于t1+t2,则令tmin=t1+t2,再令M=M+1,否则令M=M+1;
返回执行判断M是否大于N/2的步骤。
其中,第一数学模型可以为:
min t1;
S.t.
第二数学模型可以为:
min t2;
S.t.
bjg>0。
在上述第一数学模型和第二数学模型中,J为普通工作节点集合,I为局部节点集合,L为有向链路集合,Kji为节点j和节点i之间的路径集合,为二进制变量,表示从节点j到节点i的流选择第k条路径,各路径的确定可以基于网络状态由常规的路由算法获得,xji为二进制变量,/>xji=1表示普通工作节点j选择节点i作为它的局部节点(局部汇聚节点),bji为节点j和节点i之间分配的速率,Zg为二进制变量,g∈I,Zg=1表示g被选择作为全局节点(全局汇聚节点),S为数据大小,Rl为有向链路l的容量,基于路径和网络状态信息获得,/>为从节点j到节点i的第k条链路的链路集合,/>
通过第一数学模型和第二数学模型,可以得出与当前网络状态相匹配的工作节点的拓扑策略,从而使工作节点的拓扑与动态变化的网络状态相匹配,减少瓶颈链路的产生,提高数据传输的性能。
为了更清楚地说明本发明实施例提供的策略调整方法,下面以具体的示例作进一步说明。在进一步说明之前,为了更好地说明工作节点之间的拓扑关系,在本申请中,采用父节点与子节点来定义工作节点的拓扑中各个工作节点之间的关系,具体是:对于单个工作节点,数据汇聚过程中其所发送数据的接收方为其父节点,其所接收数据的发送方为其子节点;对应地,数据分发过程中其所发送数据的接收方为其子节点,其所接收数据的发送方为其父节点,具体如图3所示。
请参考图4,其为本发明实施例提供的策略调整方法的流程示例图,其大概流程如下:
1:调度节点持续更新并定期检查网络状态表state_list,满足预设条件则触发拓扑策略调整,其细化流程如下:
1.1:调度节点保持睡眠计时器SLEEP_TIMER计时,当收到来自SDN控制器的网络状态信息时,转至步骤1.2;当SLEEP_TIMER计时到达检查周期设定值CHECK_PERIOD时,转至步骤1.3;
1.2:调度节点按照收到的网络状态信息,依次将各节点i(i∈J)到节点j(j∈J)的带宽值填入网络状态表state_list中state_list[i][j]位置,然后返回步骤1.1;
1.3:调度节点计算当前state_list有效元素的平均值AVE_TP作为元素变化量归一化的基底值,其中,有效元素是指非初始化值;
1.4:按遍历顺序取state_list的一个元素state_list[i][j],将其与上一次策略制定时保留的网络状态表中对应位置的元素dicision_temp[i][j]对比,按照计算该元素的变化率change_rate;
1.5:将change_rate与设定好的更新门限值UPDATE_THRESHOLD对比,如果大于后者,则触发拓扑策略调整,转至步骤2,否则判断当前元素是否为state_list的最后一个元素,若为最后一个元素则重置SLEEP_TIMER,并转至步骤1.1,否则转至步骤1.4;
2:调度节点基于state_list,根据优化算法进行拓扑策略调整,其细化流程如下:
2.1:调度节点通过将state_list中每行有效元素相加来计算每个工作节点的可用带宽,并根据带宽大小对N个工作节点进行排序;
2.2:调度节点初始化局部汇聚节点的数量M为1,初始化最小时间记录变量tmin为一个极大值;
2.3:调度节点检查当前M的值是否大于N/2,如果是则决策结束,转至步骤3,否则选择排序后的前M个工作节点作为局部汇聚节点,并转至步骤2.4;
2.6:判断tmin是否大于t1+t2,如果是则令tmin=t1+t2,然后进入下一步;否则直接进入下一步;
2.7:令M=M+1,然后转至步骤2.3;
3:调度节点缓存决策结果,等待来自各个工作节点的请求消息,收到所有工作节点的请求后依次发送更新消息,其细化流程如下:
3.1:调度节点判断步骤3的转入来源,当由调度流程的步骤2转入时,转至步骤3.2;当由步骤1转入时,转至步骤3.3;
3.3:调度节点等待接收来自工作节点的请求消息,当收到一个请求消息时,转至步骤3.4;
3.4:调度节点将本地的消息计数器COUNTER加1,然后判断其值是否等于工作节点数N,如果是转至步骤3.5,否则转至步骤3.3;
3.5:调度节点检查本地是否有信息的决策结果缓存,如果有则以图5所示格式化编码将各个工作节点的父、子节点及其路由和速率信息写入更新消息的编码字段中,并依次发送给每个工作节点,否则保持更新消息内的编码字段为空并依次发送给每个工作节点,之后转入步骤3.6;
3.6:将本地消息计数器COUNTER置为零。
在一个实施例中,涉及一种数据传输方法,应用于工作节点,工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一工作节点连接调度节点,每一局部节点对应部分普通工作节点,局部节点用于汇聚对应的普通工作节点的数据后发送至全局节点,或将全局节点的数据分发至对应的普通工作节点,数据传输方法包括:接收调度节点发送的拓扑策略;将拓扑策略更新至本节点;根据拓扑策略进行数据传输。
本发明实施例提供的数据传输方法的具体流程如图6所示,包括以下步骤:
S201:接收调度节点发送的拓扑策略。
S202:将拓扑策略更新至本节点。
S203:根据拓扑策略进行数据传输。
本发明实施例提供的数据传输方法,通过接收调度节点发送的拓扑策略,将接收到的拓扑策略更新至本节点,再根据拓扑策略进行数据传输,可以使工作节点根据调度节点制定的拓扑策略进行数据传输,从而使调度节点在网络状态变化时,根据需求调整工作节点的拓扑策略,使工作节点的拓扑与变化的网络状态相匹配,减少瓶颈链路的产生,从而提高数据传输的性能。
在一个具体的例子中,拓扑策略包括全局节点的位置、局部节点的个数、位置、工作节点之间的路由和工作节点之间的速率。
在一个具体的例子中,本发明实施例提供的数据传输方法还包括:
在间隔固定时间或固定的汇聚次数时,向调度节点发送策略更新请求。
其中,固定时间或固定的汇聚次数可以根据实际需要进行设置,本发明实施例对此不做限制。可以理解的是,为了确保全局策略更新的同步性,在数据汇聚过程中,所有工作节点都会向调度节点发送策略更新请求的消息,这样容易造成一个暂时的阻塞,在网络状态不佳时可能会产生较大的时间开销;而通过在间隔固定时间或固定的汇聚次数向调度节点发送策略更新请求,可以降低请求频率,减少时间上的开销。
在一个具体的例子中,S203中,根据拓扑策略进行数据传输,可以包括:
若本节点为普通工作节点,则将本节点的数据发送至对应的局部节点或接收来自对应的局部节点的数据;
若本节点为局部节点,则接收对应的普通工作节点的数据,将所有对应的普通工作节点的数据归并后发送至全局节点,或者,接收来自全局节点的数据,并将全局节点的数据复制后分发至每一对应的普通工作节点;
若本节点为全局节点,则接收局部节点的数据,将所有局部节点的数据进行归并处理;或者,将本节点的数据复制后分发至每一局部节点。
可选地,工作节点可先进行本节点是普通工作节点、局部节点和全局节点中哪种节点的判断,再根据相应类型的节点进行相应的数据处理。在进行判断时,可以判断本节点是否有子节点,若没有子节点,则表明本节点为普通工作节点,否则再判断本节点是否有父节点,若没有父节点,则表明本节点为全局节点,否则本节点为局部节点。当然,也可以利用其它方式进行判断,本发明实施例对具体判断的方式不做限制。
通过使本节点按照相应的节点类型进行数据传输和处理,可以使各个工作节点发挥相应的功能,最终实现数据汇聚和分发的功能。
在一个具体的例子中,在S203中,根据拓扑策略进行数据传输,还包括:
在接收到数据信息时,若数据信息的目的节点不是本节点,则获取数据信息的路由信息,根据路由信息将该数据信息转发至下一跳节点。
通过在数据信息的目的节点不是本节点时,获取数据信息的路由信息,根据路由信息将数据信息转发至下一跳节点,可以有效实现工作节点之间的协作,完成数据的汇聚和分发。
值得一提的是,在相关技术中,均是一个节点实现对其它节点的数据汇聚和分发,这样容易造成瓶颈链路的产生,严重降低了数据传输的性能,显著阻塞了整个分布式应用的执行进程。而本发明实施例提供的数据传输方法中,将原本所有节点数据直接汇聚到汇聚节点的过程分解为:各邻近工作节点之间构成组,先进行组内数据汇聚,然后再进行组间数据汇聚两个过程;由于组内数据汇聚过程中能够进行数据归并,从而使得在组间进行数据汇聚的过程中数据量大大减小,避免了网络拥塞问题的出现。而在分发过程中,负责分发的工作节点(全局节点)不需要逐一向其他所有工作节点发送数据,而是只需要向各组的中心节点(局部节点)发送,然后由各组的中心节点再逐一向组内各其他工作节点发送,显著增强了分发过程的并行性。另一方面,工作节点的分组策略、组内和组间数据传输路径的选择等都是基于网络信息由优化算法得出的,能够有效规避瓶颈链路,更有效利用高带宽资源链路,从而实现了对当前广域网带宽资源的高效利用。
为了更清楚地说明本发明实施例提供的数据传输方法,下面以具体的示例作进一步说明。
请参考图7,其为本发明实施例提供的数据传输方法的数据汇聚过程的流程示例图,其大概流程如下:
1:当工作节点需要发送数据到汇聚节点时,先发送策略更新请求的消息到调度节点请求策略更新;
2:工作节点等待接收来自调度节点对于拓扑策略的更新消息,当收到来自调度节点的更新消息后,执行策略的本地更新,其细化流程如下:
2.1:工作节点等待接收来自调度节点的更新消息,当收到来自调度节点的更新消息后转至2.2;
2.2:工作节点检查更新消息的编码字段是否为空,如果是则转入3,否则将本地NODE结构体数据类型的变量PARENT和SONS清空,其中,变量PARENT用于存储父节点信息,变量SONS用于存储子节点信息,NODE结构体定义如图8所示;
2.3:工作节点按如图9所示的解码方式解读来自调度节点的更新消息,并将父与子节点以节点为单位存入PARENT和SONS中;
3:工作节点判断自己是否需要接收来自子节点的数据,如果不需要则将自己的数据消息发送给父节点,然后结束数据汇聚阶段进程,否则等待接收数据消息,收到数据消息后转入4,其细化流程如下:
3.1:工作节点判断SON的元素个数是否为0,如果是则转至3.2(普通工作节点),否则转至3.3(局部节点);
3.2:工作节点将数据消息的目的节点DST设定为PARENT.ID,接收节点RCV设定为PARENT.ROUTE[0],路由字段ROUTE设定为PARENT.ROUTE[1:end],以速率PARENT.RATE将其发送出去,然后结束数据汇聚阶段进程;
3.3:工作节点等待接收来自其他节点的数据消息,收到数据消息后转至4;
4:工作节点收到来自子节点的数据消息,检查其目的节点是否为自己,如果不是则查询其路由字段转发该消息给下一跳节点,然后返回3,否则将该数据与本地数据归并,然后检查是否已经收到所有子节点的数据,如果不是则转至3,否则再检查自己是否有父节点,如果有则发送归并后数据给父节点,否则作为全局汇聚节点处理归并后的数据,其细化流程如下:
4.1:工作节点收到来自其他工作节点的数据消息,检查其目的节点DST是否为自己的ID,如果是则转至4.2,否则转至4.4;
4.2:工作节点将该数据消息的数据与本地对应数据进行归并处理,然后将本地消息计数器COUNTER加1,检查COUNTER是否等于SONS的元素个数,如果是转至4.3,否则转至3.3;
4.3:工作节点检查自己的PARENT变量是否为有效值,如果是则转至3.2将本地归并后的数据发送出去,否则自己即为全局汇聚节点,结束数据汇聚阶段进程,进行本地数据的后期处理;
4.4:工作节点将该消息的RCV设定为ROUTE[0],将ROUTE设定为ROUTE[1:end],并将其发送出去,之后转至3.3。
请参考图10,其为本发明实施例提供的数据传输方法的数据分发过程的流程示例图,其大概流程如下:
1:当全局节点(分发)需要进行数据分发时,其为每个子节点复制一份数据消息分别发送。对于发送给SONS[i]的数据消息,将其目的节点DST设定为SONS[i].ID,接收节点RCV设定为SONS[i].ROUTE[0],路由字段ROUTE设定为SONS[i].ROUTE[1:end],以速率SONS[i].RATE将其发送出去,然后结束本地数据分发阶段的进程;
2:其他工作节点等待接收数据消息,收到数据消息后,检查其目的节点DST是否为自己的ID,如果不是则转至3,否则转至4;
3:工作节点将该消息的RCV设定为ROUTE[0],将ROUTE设定为ROUTE[1:end],并将其发送出去,之后转至2;
4:工作节点检查自己是否有子节点(检查SONS的元素数是否为0),如果没有则结束本地数据分发阶段进程,然后在本地执行对该数据消息的后续处理,否则为每个子节点复制一份数据消息分别发送。对于发送给SONS[i]的数据消息,将其目的节点DST设定为SONS[i].ID,接收节点RCV设定为SONS[i].ROUTE[0],路由字段ROUTE设定为SONS[i].ROUTE[1:end],以速率SONS[i].RATE将其发送出去,然后结束本地数据分发阶段的进程,执行对该数据消息的后续处理。
不难发现,本实施例为与前述方法的实施例相对应的在工作节点侧的方法实施例,本实施例可与前述方法的实施例互相配合实施。前述方法的实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在前述方法的实施例中。
此外,本领域技术人员可以理解,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
在一个实施例中,涉及一种数据传输系统300,如图11所示,包括调度节点301和工作节点302,调度节点301连接每一工作节点302,工作节点包括一个全局节点3021、若干局部节点3022和若干普通工作节点3023,每一局部节点3022对应部分普通工作节点3023,局部节点3022用于汇聚对应的普通工作节点3023的数据后发送至全局节点3021,或将全局节点3021的数据分发至对应的普通工作节点3023;
调度节点301用于获取工作节点302的网络状态,若网络状态的变化满足预设条件,则调整工作节点302的拓扑策略,将调整后的拓扑策略发送至每一工作节点302;
工作节点302用于接收调整后的拓扑策略,将调整后的拓扑策略更新至本节点,根据调整后的拓扑策略进行数据传输。
进一步地,拓扑策略包括全局节点3021的位置、局部节点3022的个数、位置、工作节点302之间的路由和工作节点302之间的速率。
进一步地,调度节点301还用于:
根据工作节点之间的带宽或数据处理周期计算网络状态的变化率,数据处理周期为数据汇聚或分发的周期;
若变化率大于预设门限值,则判定网络状态的变化满足预设条件。
进一步地,调度节点301还用于:
根据计算网络状态的变化率,其中,change_rate为变化率,state_list[i][j]为工作节点i与工作节点j之间的当前带宽值,dicision_temp[i][j]为工作节点i与工作节点j之间前一次记录的带宽值,AVE_TP为当前有效工作节点的带宽平均值。
进一步地,调度节点301还用于:
进一步地,调度节点301还用于:接收工作节点302的策略更新请求;在接收到所有工作节点302或全局节点3021的策略更新请求时,将调整后的拓扑策略发送至每一工作节点302。
进一步地,调度节点301还用于:获取每一工作节点302的可用带宽,根据可用带宽对工作节点302进行排序,工作节点302为N个,N为正整数;初始化局部节点3022的个数M为1,初始化最小时间记录变量tmin为一个极大值;判断M是否大于N/2,若是则将调整后的拓扑策略发送至工作节点302,否则选择排序后的前M个工作节点302作为局部节点3022;求解第一数学模型得出第一阶段的数据汇聚时间t1和第一阶段的拓扑策略,第一阶段的拓扑策略包括局部节点3022的个数、位置、普通工作节点3023与局部节点3022之间的路由和普通工作节点3023与局部节点3022之间的速率信息;求解第二数学模型得出第二阶段的数据汇聚时间t2和第二阶段的拓扑策略,第二阶段的拓扑策略包括全局节点3021的位置、局部节点3022与全局节点3021之间的路由和全局节点3021与局部节点3022之间的速率信息;若tmin大于t1+t2,则令tmin=t1+t2,再令M=M+1,否则令M=M+1;返回执行判断M是否大于N/2的步骤。
进一步地,工作节点302还用于:在间隔固定时间或固定的汇聚次数时,向调度节点301发送策略更新请求。
进一步地,工作节点302还用于:在本节点为普通工作节点3023时,则将本节点的数据发送至对应的局部节点3022或接收来自对应的局部节点3022的数据;若本节点为局部节点3022,则接收对应的普通工作节点3023的数据,将所有对应的普通工作节点3023的数据归并后发送至全局节点3021,或者,接收来自全局节点3021的数据,并将全局节点3021的数据复制后分发至每一对应的普通工作节点3023;若本节点为全局节点3021,则接收局部节点3022的数据,将所有局部节点3022的数据进行归并处理;或者,将本节点的数据复制后分发至每一局部节点3022。
进一步地,工作节点302还用于:在接收到数据信息时,若数据信息的目的节点不是本节点,则获取数据信息的路由信息;根据路由信息将数据信息转发至下一跳节点。
不难发现,本实施例为与前述方法的实施例相对应的系统实施例,本实施例可与前述方法的实施例互相配合实施。前述方法的实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在前述方法的实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
在一个实施例中,涉及一种服务器,如图12所示,包括:至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的策略调整方法或数据传输方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
在一个实施例中,涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (14)
1.一种策略调整方法,其特征在于,应用于调度节点,所述调度节点连接每一工作节点,所述工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一所述局部节点对应部分所述普通工作节点,所述局部节点用于汇聚对应的普通工作节点的数据后发送至所述全局节点,或将所述全局节点的数据分发至对应的普通工作节点,所述方法包括:
获取工作节点的网络状态;
若所述网络状态的变化满足预设条件,则调整所述工作节点的拓扑策略;
将调整后的拓扑策略发送至每一所述工作节点。
2.根据权利要求1所述的策略调整方法,其特征在于,所述拓扑策略包括全局节点的位置、所述局部节点的个数、位置、所述工作节点之间的路由和所述工作节点之间的速率。
3.根据权利要求1所述的策略调整方法,其特征在于,在所述若所述网络状态的变化满足预设条件,则调整所述工作节点的拓扑策略之前,还包括:
根据工作节点之间的带宽或数据处理周期计算所述网络状态的变化率,所述数据处理周期为数据汇聚或分发的周期;
若所述变化率大于预设门限值,则判定所述网络状态的变化满足预设条件。
6.根据权利要求1所述的策略调整方法,其特征在于,在所述将调整后的拓扑策略发送至每一所述工作节点之前,还包括:
接收所述工作节点的策略更新请求;
所述将调整后的拓扑策略发送至所述工作节点,包括:
在接收到所有所述工作节点或所述全局节点的策略更新请求时,将调整后的拓扑策略发送至每一所述工作节点。
7.根据权利要求1-6任一项所述的策略调整方法,其特征在于,所述调整所述工作节点的拓扑策略,包括:
获取每一所述工作节点的可用带宽,根据所述可用带宽对所述工作节点进行排序,所述工作节点为N个,所述N为正整数;
初始化所述局部节点的个数M为1,初始化最小时间记录变量tmin为一个极大值;
判断所述M是否大于N/2,若是则执行所述将调整后的拓扑策略发送至所述工作节点的步骤,否则选择排序后的前M个工作节点作为局部节点;
求解第一数学模型得出第一阶段的数据汇聚时间t1和第一阶段的拓扑策略,所述第一阶段的拓扑策略包括所述局部节点的个数、位置、所述普通工作节点与所述局部节点之间的路由和所述普通工作节点与所述局部节点之间的速率信息;
求解第二数学模型得出第二阶段的数据汇聚时间t2和第二阶段的拓扑策略,所述第二阶段的拓扑策略包括所述全局节点的位置、所述局部节点与所述全局节点之间的路由和所述全局节点与所述局部节点之间的速率信息;
若所述tmin大于t1+t2,则令tmin=t1+t2,再令M=M+1,否则令M=M+1;
返回执行所述判断所述M是否大于N/2的步骤。
8.一种数据传输方法,其特征在于,应用于工作节点,所述工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一所述工作节点连接调度节点,每一所述局部节点对应部分所述普通工作节点,所述局部节点用于汇聚对应的普通工作节点的数据后发送至所述全局节点,或将所述全局节点的数据分发至对应的普通工作节点,所述方法包括:
接收所述调度节点发送的拓扑策略;
将所述拓扑策略更新至本节点;
根据所述拓扑策略进行数据传输。
9.根据权利要求8所述的数据传输方法,其特征在于,还包括:
在间隔固定时间或固定的汇聚次数时,向所述调度节点发送策略更新请求。
10.根据权利要求8所述的数据传输方法,其特征在于,所述根据所述拓扑策略进行数据传输,包括:
若本节点为普通工作节点,则将本节点的数据发送至对应的局部节点或接收来自对应的局部节点的数据;
若本节点为局部节点,则接收对应的普通工作节点的数据,将所有对应的普通工作节点的数据归并后发送至所述全局节点,或者,接收来自所述全局节点的数据,并将所述全局节点的数据复制后分发至每一对应的普通工作节点;
若本节点为全局节点,则接收局部节点的数据,将所有局部节点的数据进行归并处理;或者,将本节点的数据复制后分发至每一局部节点。
11.根据权利要求8-10任一项所述的数据传输方法,其特征在于,所述根据所述拓扑策略进行数据传输,还包括:
在接收到数据信息时,若所述数据信息的目的节点不是本节点,则获取所述数据信息的路由信息;
根据所述路由信息将所述数据信息转发至下一跳节点。
12.一种数据传输系统,其特征在于,包括调度节点和工作节点,所述调度节点连接每一所述工作节点,所述工作节点包括一个全局节点、若干局部节点和若干普通工作节点,每一所述局部节点对应部分所述普通工作节点,所述局部节点用于汇聚对应的普通工作节点的数据后发送至所述全局节点,或将所述全局节点的数据分发至对应的普通工作节点;
所述调度节点用于获取所述工作节点的网络状态,若所述网络状态的变化满足预设条件,则调整所述工作节点的拓扑策略,将调整后的拓扑策略发送至每一所述工作节点;
所述工作节点用于接收所述调整后的拓扑策略,将所述调整后的拓扑策略更新至本节点,根据所述调整后的拓扑策略进行数据传输。
13.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7任一项所述的策略更新方法或如权利要求8-11任一项所述的数据传输方法。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的策略更新方法或如权利要求8-11任一项所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146319.1A CN115884252A (zh) | 2021-09-28 | 2021-09-28 | 策略调整方法、数据传输方法、系统、服务器及存储介质 |
PCT/CN2022/121772 WO2023051537A1 (zh) | 2021-09-28 | 2022-09-27 | 策略调整方法、数据传输方法、系统、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146319.1A CN115884252A (zh) | 2021-09-28 | 2021-09-28 | 策略调整方法、数据传输方法、系统、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115884252A true CN115884252A (zh) | 2023-03-31 |
Family
ID=85755820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111146319.1A Pending CN115884252A (zh) | 2021-09-28 | 2021-09-28 | 策略调整方法、数据传输方法、系统、服务器及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115884252A (zh) |
WO (1) | WO2023051537A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680048B2 (en) * | 2006-10-06 | 2010-03-16 | International Business Machiens Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamically adjusting local routing strategies |
CN103188161B (zh) * | 2011-12-30 | 2017-11-21 | 中国移动通信集团公司 | 分布式数据加载调度方法与系统 |
CN106201356B (zh) * | 2016-07-14 | 2019-07-19 | 北京理工大学 | 一种基于链路可用带宽状态的动态数据调度方法 |
CN107682258A (zh) * | 2017-09-27 | 2018-02-09 | 北京邮电大学 | 一种基于虚拟化的多路径网络传输方法及装置 |
-
2021
- 2021-09-28 CN CN202111146319.1A patent/CN115884252A/zh active Pending
-
2022
- 2022-09-27 WO PCT/CN2022/121772 patent/WO2023051537A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023051537A1 (zh) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005485B (zh) | 一种确定路由的方法、对应装置及系统 | |
CN108076158B (zh) | 基于朴素贝叶斯分类器的最小负载路由选择方法及系统 | |
CN109104373B (zh) | 网络拥塞的处理方法、装置及系统 | |
Guo et al. | RetroFlow: Maintaining control resiliency and flow programmability for software-defined WANs | |
CN105357124A (zh) | 一种MapReduce带宽优化方法 | |
US20130165187A1 (en) | Apparatus and method for controlling data transmission based on power consumption of nodes in a communication network | |
CN115328579A (zh) | 神经网络训练的调度方法、系统及计算机可读存储介质 | |
CN103905318A (zh) | 发送、加载转发表项的方法、控制器和转发节点 | |
CN115884252A (zh) | 策略调整方法、数据传输方法、系统、服务器及存储介质 | |
CN104247350A (zh) | 实现转换协议,其中用于在第一时间段期间路由由一组交换机接收到的分组的第一规则集被更新到第二规则集 | |
JP2006287919A (ja) | 通信ネットワーク、コンテンツ配信ノード、ツリー構築方法、コンテンツ配信制御プログラム | |
CN109450809B (zh) | 一种数据中心调度系统及方法 | |
CN108848534B (zh) | 移动自组网络中自适应降低节点负载的路由方法 | |
Wu et al. | Routing policy for balanced management of slices using flexible Ethernet | |
Liu et al. | Ppo-based reliable concurrent transmission control for telemedicine real-time services | |
CN114938327A (zh) | 路由方法、路由装置、控制器和计算机可读存储介质 | |
KR101491698B1 (ko) | 소프트웨어 정의 네트워크에서 제어 장치 및 그 동작 방법 | |
CN114157660A (zh) | 数据传输的方法、装置、设备及存储介质 | |
CN114531389A (zh) | 一种路由表优化方法、控制器以及路由器 | |
WO2018179922A1 (ja) | 通信装置、通信制御方法、及び通信システム | |
Ramanathan et al. | A multiple copy approach for delivering messages under deadline constraints | |
CN115665061B (zh) | 一种基于时延感知的心跳控制方法及分布式系统 | |
CN111490940B (zh) | 确定数据转发路径的方法、电子设备以及存储介质 | |
CN109379646B (zh) | 一种无源光网络系统及其通讯方法 | |
WO2023236832A1 (zh) | 数据调度处理方法、设备、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |