数据转发路径规划方法、装置以及电子设备

文档序号:31360552发布日期:2022-08-31 14:30阅读:37来源:国知局
1.本发明涉及路径规划
技术领域
:,具体而言,涉及一种数据转发路径规划方法、装置以及电子设备。
背景技术
::2.目前,电力数据大规模的增长,造成了网络路径拥塞以及无法在有限时间段内完成传输的问题,从而导致了路径中资源利用不理想的情况。相关技术中对传输业务不加区分的进行优化,没有考虑到实际传输场景传输业务的差异化需求,存在着算法性能不稳定以及容易陷入局部最优的问题,导致传输路径规划不合理,进而造成传输效率低的问题。3.针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:4.本发明实施例提供了一种数据转发路径规划方法、装置以及电子设备,以至少解决相关技术中存在的路径选择不合理、传输效率低的技术问题。5.根据本发明实施例的一个方面,提供了一种数据转发路径规划方法,包括:获取目标数据包,所述目标数据包对应的初始节点,以及所述初始节点对应的初始节点信息;根据所述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将所述目标数据包发送至所述当前转发节点;在确定所述当前转发节点不是终止节点的情况下,根据所述目标数据包发送至所述当前转发节点的转发过程,更新所述初始节点对应的经验池,其中,所述经验池存储有历史转发过程信息;基于所述经验池更新所述深度强化学习算法;根据所述当前转发节点对应的第一节点信息,采用更新后的所述深度强化学习算法进行计算,得到下一转发节点,并将所述目标数据包发送至所述下一转发节点。6.可选地,判断所述下一转发节点是否为所述终止节点;若所述下一转发节点不是所述终止节点,则循环执行以下操作,直至得到的下一转发节点为所述终止节点:将下一转发节点作为新的当前转发节点,根据所述目标数据包发送至新的当前转发节点的转发过程,更新所述新的当前转发节点的前一节点对应的经验池;基于所述前一节点对应的经验池更新深度强化学习算法,得到更新后的深度强化学习算法;根据所述新的当前转发节点对应的节点信息,采用所述更新后的深度强化学习算法进行计算,得到新的下一转发节点。7.可选地,所述初始节点信息至少包括:所述目标数据包对应的属性信息、所述初始节点对应的第一拥堵状态和第一资源状态,所述初始节点的相邻节点对应的第二拥堵状态和第二资源状态,获取所述目标数据包对应的所述初始节点信息,包括:根据所述初始节点中的第一待转发数据量确定所述第一拥堵状态;根据所述初始节点对应的第一缓存容量和第一带宽,确定所述第一资源状态;根据所述相邻节点中的第二待转发数据量确定所述第二拥堵状态;根据所述相邻节点对应的第二缓存容量和第二带宽,确定所述第二资源状态。8.可选地,所述根据所述初始节点信息,采用所述深度强化学习算法进行计算,得到当前转发节点,并将所述目标数据包发送至所述当前转发节点,包括:获取所述目标数据包对应的可传输节点集合;根据所述初始节点对应的所述相邻节点和所述可传输节点集合,得到转发节点集合;根据所述初始节点信息,采用所述深度强化学习算法进行计算,从所述转发节点集合中确定所述当前转发节点,并将所述目标数据包发送至所述当前转发节点。9.可选地,所述在确定所述当前转发节点不是终止节点的情况下,根据所述目标数据包发送至所述当前转发节点的转发过程,更新初始节点对应的经验池,包括:获取所述当前转发节点对应的传输标志,其中,所述传输标志用于指示所述目标数据包是否到达所述终止节点;获取所述转发过程对应的传输奖励信息,其中,所述传输奖励信息是基于所述目标数据包对应的传输时间信息和资源占用状态信息确定的;根据所述目标数据包发送至所述当前转发节点的转发过程,建立经验元组,其中,所述经验元组至少包括:所述初始节点信息、所述当前转发节点、所述传输奖励信息、所述当前转发节点信息、所述传输标志;采用所述经验元组更新所述初始节点对应的经验池。10.可选地,所述获取所述转发过程对应的传输奖励信息,包括:根据所述目标数据包在所述初始节点的传输等待时间,以及将所述目标数据包发送至所述当前转发节点的数据传输时间,确定所述目标数据包对应的所述传输时间信息;根据所述目标数据包在所述初始节点占用的缓存资源信息和带宽资源信息,确定所述目标数据包对应的所述资源占用状态信息;获取所述传输时间信息对应的第一权重值,以及所述资源占用状态信息对应的第二权重值;基于所述传输时间信息,所述资源占用状态信息,所述第一权重值以及所述第二权重值,计算所述传输奖励信息。11.可选地,判断所述目标数据包是否满足传输约束条件和资源约束条件,其中,所述传输约束条件至少包括:所述目标数据包在数据转发路径中的存在时长未达到预设时长,所述目标数据包在所述数据转发路径中经过的转发节点数量值未达到预设数量值,所述资源约束条件至少包括:所述目标数据包占用所述当前转发节点的缓存容量值未达到预设缓存阈值,所述目标数据包占用所述当前转发节点的带宽容量值未达到预设带宽值;若所述目标数据包同时满足所述传输约束条件和所述资源约束条件,则继续对所述目标数据包进行传输。12.根据本发明实施例的另一方面,提供了一种数据转发路径规划装置,包括:第一获取模块,用于获取目标数据包,所述目标数据包对应的初始节点,以及所述初始节点对应的初始节点信息;第一转发模块,用于根据所述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将所述目标数据包发送至所述当前转发节点;第一更新模块,用于在确定所述当前转发节点不是终止节点的情况下,根据所述目标数据包发送至所述当前转发节点的转发过程,更新所述初始节点对应的经验池,其中,所述经验池存储有历史转发过程信息;第二更新模块,用于基于所述经验池更新所述深度强化学习算法;第二转发模块,用于根据所述当前转发节点对应的第一节点信息,采用更新后的所述深度强化学习算法进行计算,得到下一转发节点,并将所述目标数据包发送至所述下一转发节点。13.根据本发明实施例的另一方面,提供了一种非易失性存储介质,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的数据转发路径规划方法。14.根据本发明实施例的另一方面,提供了一种电子设备,包括:一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的数据转发路径规划方法。15.在本发明实施例中,通过获取目标数据包,所述目标数据包对应的初始节点,以及所述初始节点对应的初始节点信息;根据所述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将所述目标数据包发送至所述当前转发节点;在确定所述当前转发节点不是终止节点的情况下,根据所述目标数据包发送至所述当前转发节点的转发过程,更新所述初始节点对应的经验池,其中,所述经验池存储有历史转发过程信息;基于所述经验池更新所述深度强化学习算法;根据所述当前转发节点对应的第一节点信息,采用更新后的所述深度强化学习算法进行计算,得到下一转发节点,并将所述目标数据包发送至所述下一转发节点。达到了针对性进行传输路径优化,提高传输效率的目的,实现了提升传输路径合理性,进而提高传输效率的技术效果,进而解决了相关技术中存在的路径选择不合理、传输效率低的技术问题。附图说明16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:17.图1是根据本发明实施例提供的数据转发路径规划方法的流程图;18.图2是根据本发明实施例提供的数据转发路径规划方法的架构示意图;19.图3是根据本发明实施例提供的数据转发路径规划方法的队列示意图;20.图4是根据本发明实施例提供的数据转发路径规划方法的传输网络示意图;21.图5是根据本发明实施例提供的数据转发路径规划装置的示意图。具体实施方式22.为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。23.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。24.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:25.深度强化学习算法(deepreinforcementlearning,drl),是一种深度学习领域的分支算法,在解决实际决策优化问题中具有突出的优势。深度强化学习包含神经网络算法,并结合了深度学习的优点,能够有效解决传统强化学习中学习速度低、适用范围小、需要手动对状态建模、高维度输入状态的问题。26.dqn算法(deepqnetwork),是一种深度强化学习算法,在传统q-learning算法的基础上,将q-table存储转换为用神经网络来拟合q值函数,以实现在高维空间下根据不同的状态得到相应的动作输出,从而很好的解决了高维连续空间问题。27.奖励(reward),是一种dqn算法中的专用语,表达为对算法的反馈。28.q值,是一种dqn算法中的专用语,代表dqn算法中的q,表达为价值拟合。29.根据本发明实施例,提供了一种数据转发路径规划方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。30.目前,由于信息化水平的不断提高,导致了电力路径出现了拓扑规模的复杂提升,以及电力数据井喷式增长问题。而电力数据大规模的增长,造成了路径拥塞以及无法在有限时延交付的结果,还导致了路径中资源利用不理想的情况。例如,当路径的局部发生拥塞情况时,数据包堆积在传输队列以及多个数据包将在同一条链路上同时传输,这种局部拥塞的情况对交换机节点的缓存能力、传输链路带宽能力提出了不小的挑战。此外,不同的时延敏感类业务具有不同级别的时延敏感特性。例如,在异常监测场景下,包含故障信息的数据包,如果不能在尽可能短的时间内传输完成,就可能会引发非常严重的后果。而在周期性的状态监控场景下,对交付时延敏感的程度相较于前者要低一些。而对于一些非关键性的传输业务来说,数据只要按照尽力而为的方式进行传输即可满足其传输需求。31.另一方面,相关技术中常常采用包括蚁群算法、免疫算法以及基于路径寻找在内的传统算法,由于上述多种算法存在着算法性能不稳定,以及容易陷入局部最优的缺点,导致效率不够令人满意。相关研究中大多只从某一两个指标考虑调度问题,以及对传输业务不加区分的进行优化,没有考虑到实际传输场景传输业务的差异化需求。32.针对上述问题,本发明实施例提供了一种数据转发路径规划方法。图1是根据本发明实施例的数据转发路径规划方法,如图1所示,该方法包括如下步骤:33.步骤s102,获取目标数据包,上述目标数据包对应的初始节点,以及上述初始节点对应的初始节点信息;34.步骤s104,根据上述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将上述目标数据包发送至上述当前转发节点;35.步骤s106,在确定上述当前转发节点不是终止节点的情况下,根据上述目标数据包发送至上述当前转发节点的转发过程,更新上述初始节点对应的经验池,其中,上述经验池存储有历史转发过程信息;36.步骤s108,基于上述经验池更新上述深度强化学习算法;37.步骤s110,根据上述当前转发节点对应的第一节点信息,采用更新后的上述深度强化学习算法进行计算,得到下一转发节点,并将上述目标数据包发送至上述下一转发节点。38.通过上述步骤,可以实现针对性进行传输路径优化,提高传输效率的目的,实现了提升传输路径合理性,进而提高传输效率的技术效果,进而解决了相关技术中存在的路径选择不合理、传输效率低的技术问题。39.在本发明实施例提供的数据转发路径规划方法中,初始节点作为传输的起点,终止节点作为传输的起点(目的地)。初始节点中有许多待转发的数据包,首先获取目标数据包,对应的初始节点以及初始节点信息。其次,根据初始节点信息,采用深度强化学习算法进行计算,计算得到当前转发节点,并将目标数据包从初始节点发送至当前转发节点。在确定当前转发节点不是终止节点的情况下,根据上述转发过程,更新初始节点对应的经验池。之后再采用上述经验池更新深度强化学习算法,得到更新后的深度强化学习算法。基于当前战法节点对应的第一节点信息,采用更新后的深度强化学习算法进行计算,通过计算确定得到下一转发节点,将目标数据包继续宋总值下一转发节点。40.可选地,上述目标数据包可以为多种,例如:时延敏感类数据包中,优先级最高的数据包作为目标数据包。在当前转发节点中目标数据包被优先转发。目标数据包的优先级划分方式可以为多种,为了便于理解进行具体举例,例如,根据传输的时延敏感特性,对节点中数据包分类设定如下:ⅰ类传输业务:这些业务对时延高度敏感,即数据包要求在尽可能短的时延内完成交付,因此该类业务的数据被赋予网络中传输的最高优先级。即该类数据相对于其它优先级的数据包,得到优先转发的机会,此外该类业务数据包的传输将会沿着最短路径进行传输。ⅱ类传输业务:该类业务具有一定的时延敏感特性,但是其敏感程度要低于ⅰ类传输业务,于是优先级也低于ⅰ类传输业务。因此,该类业务的数据包的传输需要在于ⅰ类传输业务完成数据转发后进行。此外,该类业务的传输路径的长度比其最短路径长度要稍微长一些,超过的程度由设定的参数指定。ⅲ类传输业务:该类业务指的是一些非关键性传输业务,即业务要求数据包只要按照尽力而为的方式传输即可。因此,该类业务的优先级要低于前两种业务。该类业务数据传输需要在前两种业务完成数据转发之后进行,同时其传输路径的长度也不做任何要求。41.需要说明的是,本发明实施例中的目标数据包,是按照时延敏感特性对电力时延敏感类业务进行了优先级划分,当不同优先级的数据包在交换机内部相遇时,根据数据包的优先级决定谁得到优先转发的机会。此外,高优先级业务的传输路径相对低优先级的业务要更短。通过上述方式来适配级别时延敏感类业务之间差异化的传输需求。42.在一种可选的实施例中,判断上述下一转发节点是否为上述终止节点;若上述下一转发节点不是上述终止节点,则循环执行以下操作,直至得到的下一转发节点为上述终止节点:将下一转发节点作为新的当前转发节点,根据上述目标数据包发送至新的当前转发节点的转发过程,更新上述新的当前转发节点的前一节点对应的经验池;基于上述前一节点对应的经验池更新深度强化学习算法,得到更新后的深度强化学习算法;根据上述新的当前转发节点对应的节点信息,采用上述更新后的深度强化学习算法进行计算,得到新的下一转发节点。43.可以理解,在目标数据包未到达目的地,即终止节点前,需要循环执行转发操作,直到将目标数据包传输至终止节点,循环过程为:将下一转发节点作为新的当前转发节点进行处理,首先,根据目标数据包发送至新的当前转发节点的转发过程,更新经验池,其中,上述经验池为新的当前转发节点的前一节点对应的经验池。之后,基于上述经验池更新深度强化学习算法,得到更新后的深度强化学习算法。再根据新的当前转发节点对应的节点信息,采用更新后的深度强化学习算法进行计算,得到新的下一转发节点,继续执行转发操作。44.需要说明的是,可以视为是一种自适应的动态路由,基于深度强化学习算法可自适应地根据当前节点拥塞情况和资源利用情况完成对数据包的转发,保障传输稳定高效执行。在转发过程中,上述深度强化学习算法是同步进行训练更新的,随着传输的进行,上述深度强化学习算法逐渐达到收敛。在神经网络的参数趋于稳定后,视为深度强化学习算法的达到最佳,之后目标数据包将按照收敛后深度强化学习算法的完成选择下一转发节点的操作。45.在一种可选的实施例中,上述初始节点信息至少包括:上述目标数据包对应的属性信息、上述初始节点对应的第一拥堵状态和第一资源状态,上述初始节点的相邻节点对应的第二拥堵状态和第二资源状态,获取上述目标数据包对应的上述初始节点信息,包括:根据上述初始节点中的第一待转发数据量确定上述第一拥堵状态;根据上述初始节点对应的第一缓存容量和第一带宽,确定上述第一资源状态;根据上述相邻节点中的第二待转发数据量确定上述第二拥堵状态;根据上述相邻节点对应的第二缓存容量和第二带宽,确定上述第二资源状态。46.可以理解,获取目标数据包对应的初始节点信息,上述初始节点信息至少包括:目标数据包对应的属性信息、初始节点对应的第一拥堵状态和第一资源状态,初始节点的相邻节点对应的第二拥堵状态和第二资源状态。47.可选地,上述第一拥堵状态可以为多种,例如,初始节点中存在数据包的队列,队列中积压的所有待转发数据包数量作为第一拥堵状态。48.可选地,上述第二拥堵状态可以为多种,例如,相邻节点中存在数据包的队列,队列中积压的所有待转发数据包数量作为第二拥堵状态。49.可选地,上述第一资源状态可以为多种,例如,初始节点中的缓存占用情况和链路的带宽占用情况表征为第一资源状态。50.可选地,上述第二资源状态可以为多种,例如,相邻节点中的缓存占用情况和链路的带宽占用情况表征为第二资源状态。51.可选地,上述初始节点信息可以为多种,还可以包括,例如,确定传输路径中的相邻节点。52.在一种可选的实施例中,上述根据上述初始节点信息,采用上述深度强化学习算法进行计算,得到当前转发节点,并将上述目标数据包发送至上述当前转发节点,包括:获取上述目标数据包对应的可传输节点集合;根据上述初始节点对应的上述相邻节点和上述可传输节点集合,得到转发节点集合;根据上述初始节点信息,采用上述深度强化学习算法进行计算,从上述转发节点集合中确定上述当前转发节点,并将上述目标数据包发送至上述当前转发节点。53.可以理解,根据初始节点信息,采用深度强化学习算法进行计算,在转发节点集合中选择得到当前转发节点,并将目标数据包发送至当前转发节点。上述转发节点集合为,由初始节点对应的相邻节点和可传输节点集合得到的。54.可选地,得到上述转发节点集合的方式有多种,例如,对相邻节点和可传输节点集合进行取交集处理。55.在一种可选的实施例中,上述在确定上述当前转发节点不是终止节点的情况下,根据上述目标数据包发送至上述当前转发节点的转发过程,更新初始节点对应的经验池,包括:获取上述当前转发节点对应的传输标志,其中,上述传输标志用于指示上述目标数据包是否到达上述终止节点;获取上述转发过程对应的传输奖励信息,其中,上述传输奖励信息是基于上述目标数据包对应的传输时间信息和资源占用状态信息确定的;根据上述目标数据包发送至上述当前转发节点的转发过程,建立经验元组,其中,上述经验元组至少包括:上述初始节点信息、上述当前转发节点、上述传输奖励信息、上述当前转发节点信息、上述传输标志;采用上述经验元组更新上述初始节点对应的经验池。56.可以理解,传输标志用于指示目标数据包是否到达终止节点,获取当前转发节点对应的传输标志,以及获取转发过程对应的传输奖励信息。之后,根据目标数据包发送至当前转发节点的转发过程,建立经验元组,上述经验元组至少包括:初始节点信息、当前转发节点、传输奖励信息、当前转发节点信息、传输标志,采用经验元组更新初始节点对应的经验池。57.在一种可选的实施例中,上述获取上述转发过程对应的传输奖励信息,包括:根据上述目标数据包在上述初始节点的传输等待时间,以及将上述目标数据包发送至上述当前转发节点的数据传输时间,确定上述目标数据包对应的上述传输时间信息;根据上述目标数据包在上述初始节点占用的缓存资源信息和带宽资源信息,确定上述目标数据包对应的上述资源占用状态信息;获取上述传输时间信息对应的第一权重值,以及上述资源占用状态信息对应的第二权重值;基于上述传输时间信息,上述资源占用状态信息,上述第一权重值以及上述第二权重值,计算上述传输奖励信息。58.可以理解,传输奖励信息与传输时间信息和资源占用状态信息相关,因此根据目标数据包在初始节点的传输等待时间,以及将目标数据包发送至当前转发节点的数据传输时间,确定目标数据包对应的传输时间信息。根据目标数据包在初始节点占用的缓存资源信息和带宽资源信息,确定目标数据包对应的资源占用状态信息。分别对传输时间信息和资源占用状态信息赋予权重,进行计算得到传输奖励信息。59.可选地,上述传输奖励信息可以为多种形式,例如,传输奖励信息主要由单跳时延和消耗网络资源两个部分组成。节点的缓存资源信息用cc表示,链路的带宽资源信息用bc表示。建立传输奖励信息的表达为:60.rt(st,at)=a1*r1+a2*r261.r1=dqueue+dprop[0062][0063]其中,r1表示传输奖励信息的第一部分,即单跳时延,由排队时延dqueue和转发至下一转发节点的传播时延dprop组成。r2表示传输奖励信息的第二部分,即网络资源的消耗,这部分包括缓存资源信息和链路的带宽资源信息,其中queuet和bandwidtht,i分别表示转发目标数据包后当前转发节点的剩余缓存资源和链路的剩余带宽资源。a1、a2、a3、a4代表权重系数。[0064]在一种可选的实施例中,判断上述目标数据包是否满足传输约束条件和资源约束条件,其中,上述传输约束条件至少包括:上述目标数据包在数据转发路径中的存在时长未达到预设时长,上述目标数据包在上述数据转发路径中经过的转发节点数量值未达到预设数量值,上述资源约束条件至少包括:上述目标数据包占用上述当前转发节点的缓存容量值未达到预设缓存阈值,上述目标数据包占用上述当前转发节点的带宽容量值未达到预设带宽值;若上述目标数据包同时满足上述传输约束条件和上述资源约束条件,则继续对上述目标数据包进行传输。[0065]可以理解,在路径传输的目标数据包需要同是满足上述传输约束条件和资源约束条件,传输约束条件至少包括:目标数据包在数据转发路径中的存在时长未达到预设时长,目标数据包在数据转发路径中经过的转发节点数量值未达到预设数量值,资源约束条件至少包括:目标数据包占用当前转发节点的缓存容量值未达到预设缓存阈值,目标数据包占用当前转发节点的带宽容量值未达到预设带宽值。[0066]可选地,上述传输约束条件可以为多种,例如,目标数据包在传输路径中的生存时间不能超过规定的生存时间,否则不满足时间敏感特性。此外,目标数据包经过的路径中的转发节点数,还不能超过规定的最大跳数,否则会被丢弃。于是,传输约束条件表示为[0067][0068][0069]其中,packet表征为数据包,flow表征为数据包集合,delay表示时间延迟,mh表征规定的最大跳数。[0070]可选地,上述资源约束条件可以为多种,例如,当前的转发节点在t时刻的缓存值要小于节点的缓存资源。类似的,链路在t时刻的链路负载要小于链路带宽资源。于是,资源约束表示为:[0071][0072][0073]其中,nodei表达为当前的转发节点,queue表示为缓存队列,表示当前转发节点的缓存资源信息,表示当前转发节点的链路带宽资源信息,表达链路负载。[0074]基于上述实施例和可选实施例,本发明提出一种可选实施方式,为了便于理解进行具体举例,例如:[0075]图2是根据本发明实施例提供的数据转发路径规划方法的架构示意图,如图2所示,基于深度强化学习实现电力时延敏感类业务的数据包传输,即传输路径中的每个转发节点都是通过算法计算获取到的,其通过获取当前转发节点状态以及相邻节点的状态来选择执行的转发动作,当前转发节点在完成转发的选择后,根据上述传输过程获得经验元组,完成对深度强化学习算法中的神经网络参数的更新。最终可自适应地根据当前节点拥塞情况和资源利用情况完成对目标数据包的转发,适配动态路由的情形。[0076]按照时延敏感特性对电力时延敏感类业务进行了优先级划分,当不同优先级的数据包在交换机内部相遇时,根据数据包的优先级决定谁得到优先转发的机会。此外,高优先级业务的传输路径相对低优先级的业务要更短。通过上述方式来适配级别时延敏感类业务之间差异化的传输需求。根据传输的时延敏感特性,对节点中数据包分类设定如下:ⅰ类传输业务:这些业务对时延高度敏感,即数据包要求在尽可能短的时延内完成交付,因此该类业务的数据被赋予网络中传输的最高优先级。即该类数据相对于其它优先级的数据包,得到优先转发的机会,此外该类业务数据包的传输将会沿着最短路径进行传输。ⅱ类传输业务:该类业务具有一定的时延敏感特性,但是其敏感程度要低于ⅰ类传输业务,于是优先级也低于ⅰ类传输业务。因此,该类业务的数据包的传输需要在于ⅰ类传输业务完成数据转发后进行。此外,该类业务的传输路径的长度比其最短路径长度要稍微长一些,超过的程度由设定的参数指定。ⅲ类传输业务:该类业务指的是一些非关键性传输业务,即业务要求数据包只要按照尽力而为的方式传输即可。因此,该类业务的优先级要低于前两种业务。该类业务数据传输需要在前两种业务完成数据转发之后进行,同时其传输路径的长度也不做任何要求。[0077]上述三类业务对应的数据包共存于传输路径中,对应每一个转发节点需要确定并获得队列中优先级最高的数据包作为目标数据包。建立以下数学模型进行表达,定义如下集合:n为节点集合,表达为n={nodei};e为链路集合,表达为e={(nodei,nodej)};,t为时隙集合,表达为t={ti};f为所有传输业务流的集合,表达为g1,g2,...,gmax-1,gmax表示不同优先级划分,其中指的是优先级总数量;flow为数据包集合,表达为flow={packeti};ttlflow为每个flow的存活时长(允许的最大延迟d),表达为pflow为流flo所有可传输路径的集合,表达为|spflow|表示流flow最短路径的长度,传输路径的长度减去|spflow|不超过某个值,这个值由el参数指定,表达为el={elgm}。不同优先级的数据包,对应的实际传输路径的长度减去对应的起点和终点间的最短路径长度的差值是不同的,el={elgm}中的el参数指定了上述差值的上限。例如:ⅰ类传输业务的el参数为0,表示该业务始终沿着最短路径传输;而ⅱ类传输业务el参数为一个较小的正整数;ⅲ类传输业务的el参数不做任何设定。[0078]图3是根据本发明实施例提供的数据转发路径规划方法的队列示意图,如图3所示,传输路径中的任意节点包含多种传输队列,和多种优先级的数据包。其中,ⅰ类传输业务的数据包交由queue0和queue1完成传输,ⅱ类传输业务的数据包交由queue2和queue3完成传输,ⅲ类传输业务的数据包交由queue4完成传输。由于每个队列中存放的数据包都具有同样的优先级别,于是队列内部按照先进先出的规则决定转发顺序。队列之间的转发顺序遵循高优先级优先的原则,即低优先级的队列必须等高优先级的队列处理完所有数据后再开始转发操作。队列的开关由门控制列表控制,例如当门控制列表的参数为“00000”时,所有队列停止转发操作。当门控制列表的参数为“01000”时,queue2中ⅱ类传输任务的数据包允许被转发。[0079]数据包转发过程的具体步骤如下:[0080]步骤s1,对路径中所有节点对应的经验池和深度强化学习算法进行初始化,创建空的经验池以及用参数θi初始化神经网络。获取目标数据包,目标数据包对应的初始节点,以及初始节点对应的初始节点信息。[0081]可选地,获取目标数据包packet、相邻节点集合cnode、节点的缓存资源信息链路的带宽资源信息相邻节点的第二拥堵状态及第二资源状态获得初始节点信息表达为[0082][0083]步骤s2,上述初始节点信息,采用深度强化学习算法进行计算,并基于ε-greedy策略,即按照ε的概率随机选择一个动作,或以1-ε的概率选择价值最高的动作。ε表示探索概率。[0084]可选地,上述ε-贪心策略表示在做决策时,采用一个很小的正数∈的概率随机选择未知的一个动作,剩下1-∈的概率选择价值最大的动作,表达为:[0085][0086]其中,maxq(st,at;θi)表达为由深度强化学习算法得到的价值最大的动作。在计算得到转发动作at以及转发过程对应的奖励rt后,完成对目标数据包的转发操作。[0087]步骤s3,设置传输标志为1,is_endt表达为传输标志。当前转发节点信息为st+1,采用上述过程对应的元组(st、at、rt、st+1、is_endt)更新至其经验池di中。[0088]步骤s4,从经验池di中抽样若干个元组来更新深度强化学习算法,为了便于理解进行具体举例,例如:为了获得更新后的深度强化学习算法,建立yj用来计算当前的目标q值,表达为:[0089][0090]其中,γ表示衰减因子,设定在[0,1]之间取值。a’表示在节点信息为sj+1下获得最大q值的动作,记作a’。公式中的指的是,在节点信息为sj+1、神经网络的参数为θi下,能够获得的最大q值。图4是根据本发明实施例提供的数据转发路径规划方法的传输网络示意图,如图4所示,采用损失函数来更新神经网络,定义损失函数l(θi),表达为l(θi)=e[(yj-q(sj,aj;θi))2],其中,sj、aj表示元组(sj、aj、rj、sj+1、is_endj)里的状态sj、动作aj。然后基于l(θi)的偏导数来得到θi的更新梯度,表达为:[0091][0092]其中,e表示求期望。更新神经网络的参数θi,表达为:其中,α是预设的学习率。[0093]步骤s5,基于上述更新后的神经网络参数θi,更新深度强化学习算法,之后再用更新后的深度强化学习算法进行计算,得到下一转发节点,并将目标数据包发送至下一转发节点。[0094]由上述可选实施方式可以至少实现以下任意一种效果:深度强化学习作为一种将深度学习的感知能力和强化学习(神经网络)的决策能力相结合的智能方法,其在数据转发问题中呈现出显著的优势。基于dqn的数据包路由框架,每个转发节点进行独立的训练和路径选择。采用上述可选实施方式,根据数据包的不同优先级的时延需求完成对业务流量的分类,并以提高传输资源利用为目标,实现了一种自适应的动态路由方法,即可自适应地根据当前节点拥塞情况和资源利用情况,完成对数据包的转发,适配动态路由的。此外,针对时延敏感特性对电力时延敏感类业务进行了优先级划分,当不同优先级的数据包在交换机内部相遇时,根据数据包的优先级决定谁得到优先转发的机会。此外,高优先级数据包的传输路径相对低优先级的数据包要更短。通过这些方式来适配级别时延敏感类业务之间差异化的传输需求。[0095]在本实施例中还提供了一种数据转发路径规划装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”“装置”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。[0096]根据本发明实施例,还提供了一种用于实施数据转发路径规划方法的装置实施例,图5是根据本发明实施例的一种数据转发路径规划装置的示意图,如图5所示,上述数据转发路径规划装置,包括:第一获取模块502、第一转发模块504,第一更新模块506,第二更新模块508,第二转发模块510,下面对该装置进行说明。[0097]第一获取模块502,用于获取目标数据包,上述目标数据包对应的初始节点,以及上述初始节点对应的初始节点信息;[0098]第一转发模块504,与第一获取模块502相连,用于根据上述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将上述目标数据包发送至上述当前转发节点;[0099]第一更新模块506,与第一转发模块504相连,用于在确定上述当前转发节点不是终止节点的情况下,根据上述目标数据包发送至上述当前转发节点的转发过程,更新上述初始节点对应的经验池,其中,上述经验池存储有历史转发过程信息;[0100]第二更新模块508,与第一更新模块506相连,用于基于上述经验池更新上述深度强化学习算法;[0101]第二转发模块510,与第二更新模块508相连,用于根据上述当前转发节点对应的第一节点信息,采用更新后的上述深度强化学习算法进行计算,得到下一转发节点,并将上述目标数据包发送至上述下一转发节点。[0102]本发明实施例提供的一种数据转发路径规划装置中,通过设置第一获取模块502,用于获取目标数据包,上述目标数据包对应的初始节点,以及上述初始节点对应的初始节点信息;第一转发模块504,与第一获取模块502相连,用于根据上述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将上述目标数据包发送至上述当前转发节点;第一更新模块506,与第一转发模块504相连,用于在确定上述当前转发节点不是终止节点的情况下,根据上述目标数据包发送至上述当前转发节点的转发过程,更新上述初始节点对应的经验池,其中,上述经验池存储有历史转发过程信息;第二更新模块508,与第一更新模块506相连,用于基于上述经验池更新上述深度强化学习算法;第二转发模块510,与第二更新模块508相连,用于根据上述当前转发节点对应的第一节点信息,采用更新后的上述深度强化学习算法进行计算,得到下一转发节点,并将上述目标数据包发送至上述下一转发节点。达到了针对性进行传输路径优化,提高传输效率的目的,实现了提升传输路径合理性,进而提高传输效率的技术效果,进而解决了相关技术中存在的路径选择不合理、传输效率低的技术问题。[0103]需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。[0104]此处需要说明的是,上述第一获取模块502、第一转发模块504,第一更新模块506,第二更新模块508,第二转发模块510对应于实施例中的步骤s102至步骤s110,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。[0105]需要说明的是,本实施例的可选或优选实施方式可以参见实施例中的相关描述,此处不再赘述。[0106]上述数据转发路径规划装置还可以包括处理器和存储器,第一获取模块502、第一转发模块504,第一更新模块506,第二更新模块508,第二转发模块510等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。[0107]处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。[0108]本发明实施例提供了一种非易失性存储介质,其上存储有程序,该程序被处理器执行时实现数据转发路径规划方法。[0109]本发明实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取目标数据包,上述目标数据包对应的初始节点,以及上述初始节点对应的初始节点信息;根据上述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将上述目标数据包发送至上述当前转发节点;在确定上述当前转发节点不是终止节点的情况下,根据上述目标数据包发送至上述当前转发节点的转发过程,更新上述初始节点对应的经验池,其中,上述经验池存储有历史转发过程信息;基于上述经验池更新上述深度强化学习算法;根据上述当前转发节点对应的第一节点信息,采用更新后的上述深度强化学习算法进行计算,得到下一转发节点,并将上述目标数据包发送至上述下一转发节点。本文中的设备可以是服务器、pc等。[0110]本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取目标数据包,上述目标数据包对应的初始节点,以及上述初始节点对应的初始节点信息;根据上述初始节点信息,采用深度强化学习算法进行计算,得到当前转发节点,并将上述目标数据包发送至上述当前转发节点;在确定上述当前转发节点不是终止节点的情况下,根据上述目标数据包发送至上述当前转发节点的转发过程,更新上述初始节点对应的经验池,其中,上述经验池存储有历史转发过程信息;基于上述经验池更新上述深度强化学习算法;根据上述当前转发节点对应的第一节点信息,采用更新后的上述深度强化学习算法进行计算,得到下一转发节点,并将上述目标数据包发送至上述下一转发节点。[0111]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0112]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0113]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0114]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0115]在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。[0116]存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。[0117]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0118]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。[0119]本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0120]以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1