CN117714360B - 数据路由方法、装置、电子设备、存储介质及程序产品 - Google Patents

数据路由方法、装置、电子设备、存储介质及程序产品 Download PDF

Info

Publication number
CN117714360B
CN117714360B CN202410174881.2A CN202410174881A CN117714360B CN 117714360 B CN117714360 B CN 117714360B CN 202410174881 A CN202410174881 A CN 202410174881A CN 117714360 B CN117714360 B CN 117714360B
Authority
CN
China
Prior art keywords
routing
data
target
node
target routing
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.)
Active
Application number
CN202410174881.2A
Other languages
English (en)
Other versions
CN117714360A (zh
Inventor
朱颖彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410174881.2A priority Critical patent/CN117714360B/zh
Publication of CN117714360A publication Critical patent/CN117714360A/zh
Application granted granted Critical
Publication of CN117714360B publication Critical patent/CN117714360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种数据路由方法、装置、电子设备、存储介质及程序产品;方法包括:接收多个目标路由节点发送的流量指示信息,流量指示信息用于指示目标路由节点进行数据路由所对应的流量大小;基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,路由优先级与相应的流量大小正相关;按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。通过本申请,能够有效减少数据路由的丢包率。

Description

数据路由方法、装置、电子设备、存储介质及程序产品
技术领域
本申请涉及计算机技术领域,涉及一种数据路由方法、装置、电子设备、存储介质及程序产品。
背景技术
集群技术,是近来随着互联网发展而兴起的一种技术,其通过高速网络将一组相互独立的计算机连接,组成一个能统一管理调度的集群系统,用于处理各种大数据场景下的业务,从而提高服务的可扩展性和可靠性。为了保证大数据场景下的业务能够正常运行,集群系统中通常是存储了海量的数据,以支持大数据场景下的各种业务。
在相关技术中,对于进行数据路由的路由节点的流量调整,通常是直接将路由节点关机下电,从而使得路由节点的流量直接归零,这样,会导致路由节点中相关的路由数据无法继续进行数据路由,从而导致数据路由的数据丢包率较高。
发明内容
本申请实施例提供一种数据路由方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效减少数据路由的丢包率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种数据路由方法,包括:
接收多个目标路由节点发送的流量指示信息,所述流量指示信息用于指示所述目标路由节点进行数据路由所对应的流量大小;
基于各所述流量指示信息指示的流量大小,确定各所述目标路由节点的路由优先级,所述路由优先级与相应的所述流量大小正相关;
按照所述路由优先级从高至低的顺序,基于所述目标路由节点进行数据路由。
本申请实施例提供一种数据路由方法,包括:
获取目标路由节点进行数据路由所对应的流量大小,并基于所述流量大小,确定所述目标路由节点的流量指示信息;
发送所述流量指示信息,以结合多个目标路由节点发送的流量指示信息所指示的所述流量大小,确定各所述目标路由节点的路由优先级,并按照所述路由优先级从高至低的顺序,基于所述目标路由节点进行数据路由。
本申请实施例提供一种数据路由装置,包括:
接收模块,用于接收多个目标路由节点发送的流量指示信息,所述流量指示信息用于指示所述目标路由节点进行数据路由所对应的流量大小;
确定模块,用于基于各所述流量指示信息指示的流量大小,确定各所述目标路由节点的路由优先级,所述路由优先级与相应的所述流量大小正相关;
数据路由模块,用于按照所述路由优先级从高至低的顺序,基于所述目标路由节点进行数据路由。
上述方案中,上述接收模块,还用于接收所述多个目标路由节点发送的属性字段,将各所述属性字段的字段长度,分别确定为相应的所述目标路由节点的流量指示信息,所述字段长度用于指示相应的所述流量大小;上述确定模块,还用于基于各所述流量属性字段的字段长度,确定各所述目标路由节点的路由优先级。
上述方案中,上述接收模块,还用于接收所述多个目标路由节点发送的属性字段,所述属性字段包括多个子属性字段;将各所述属性字段中能够指示相应的所述流量大小的子属性字段,确定为相应的所述目标路由节点的流量指示信息。
上述方案中,上述数据路由模块,还用于获取待路由数据,以及各所述目标路由节点分别所能承载的数据量阈值,并按照所述路由优先级从高至低的顺序,对所述目标路由节点进行排序,得到路由节点队列;当所述路由节点队列中的第1个目标路由节点的数据量阈值大于或等于所述待路由数据的数据量时,基于所述第1个目标路由节点,对所述待路由数据进行数据路由;当所述第1个目标路由节点的数据量阈值小于所述待路由数据的数据量时,对所述待路由数据进行数据划分,得到数据量等于相应的所述数据量阈值的第1目标路由数据和第1参考路由数据;基于所述第1个目标路由节点,对所述第1目标路由数据进行数据路由,并按照所述路由优先级从高至低的顺序,基于除所述第1个目标路由节点以外的目标路由节点,对所述第1参考路由数据进行数据路由。
上述方案中,上述数据路由模块,还用于遍历i执行以下处理,直至完成对所述第1参考路由数据的数据路由:当所述路由节点队列中的第i个目标路由节点的数据量阈值大于或等于第i-1参考路由数据的数据量时,基于所述第i个目标路由节点,对所述第i-1参考路由数据进行数据路由;当所述第i个目标路由节点的数据量阈值小于所述第i-1参考路由数据的数据量时,对所述第i-1参考路由数据进行数据划分,得到数据量等于相应的所述数据量阈值的第i目标路由数据和第i参考路由数据;基于所述第i个目标路由节点,对所述第i目标路由数据进行数据路由,其中,i大于或等于2,i的数值大小与所述路由优先级负相关。
上述方案中,上述数据路由装置,还包括:故障模块,用于接收各所述目标路由节点发送的节点故障信息,当所述节点故障信息指示相应的所述目标路由节点不存在节点故障时,将所述目标路由节点确定为参考路由节点;上述数据路由模块,还用于按照所述路由优先级从高至低的顺序,基于所述参考路由节点进行数据路由。
本申请实施例提供一种数据路由装置,包括:
获取模块,用于获取目标路由节点进行数据路由所对应的流量大小,并基于所述流量大小,确定所述目标路由节点的流量指示信息;
发送模块,用于发送所述流量指示信息,以结合多个目标路由节点发送的流量指示信息所指示的所述流量大小,确定各所述目标路由节点的路由优先级,并按照所述路由优先级从高至低的顺序,基于所述目标路由节点进行数据路由。
上述方案中,上述获取模块,还用于获取所述目标路由节点的初始指示信息,所述初始指示信息,用于指示所述目标路由节点进行初始数据路由所对应的初始流量大小,不同的所述目标路由节点对应的所述初始流量大小相同;将所述初始流量大小与所述流量大小进行比较,得到比较结果;当所述比较结果指示所述初始流量大小与所述流量大小相同时,将所述初始指示信息,确定为所述流量指示信息;当所述比较结果指示所述初始流量大小与所述流量大小不同时,对所述初始指示信息进行调整,得到所述流量指示信息。
上述方案中,上述所述初始指示信息通过所述目标路由节点的初始属性字段的字段长度所表征,上述获取模块,还用于对所述目标路由节点的所述初始属性字段进行字段长度调整,得到所述目标路由节点的流量属性字段;将所述流量属性字段的字段长度,确定为所述目标路由节点的流量指示信息;其中,所述初始属性字段与所述流量属性字段对应的字段长度不同。
上述方案中,上述获取模块,还用于当所述比较结果指示所述初始流量大小小于所述流量大小时,对所述目标路由节点的所述初始属性字段进行字段长度加长,得到所述目标路由节点的第一属性字段;当所述比较结果指示所述初始流量大小大于所述流量大小时,对所述目标路由节点的所述初始属性字段进行字段长度减小,得到所述目标路由节点的第二属性字段。
上述方案中,上述数据路由装置,还包括:故障模块,用于当所述比较结果指示所述初始流量大小大于所述流量大小时,将所述目标路由节点的节点故障信息,确定为目标故障信息,并发送所述目标故障信息;当所述比较结果指示所述初始流量大小小于或等于所述流量大小时,将所述目标路由节点的节点故障信息,确定为参考故障信息,并发送所述参考故障信息;其中,所述目标故障信息,用于指示所述目标路由节点存在节点故障,所述参考故障信息,用于指示所述目标路由节点不存在节点故障。
上述方案中,上述数据路由装置,还包括:状态切换模块,用于将所述目标路由节点的节点状态由工作状态切换为休眠状态,以暂停所述目标路由节点的数据路由功能。
上述方案中,上述状态切换模块,还用于对所述目标路由节点进行休眠状态检查,得到状态检查结果;当所述状态检查结果指示所述目标路由节点存在状态异常时,将所述目标路由节点的节点状态由所述休眠状态切换为所述工作状态。
上述方案中,上述状态切换模块,还用于响应于所述目标路由节点完成故障修复,将所述目标路由节点的节点状态由所述休眠状态切换为所述工作状态,并将所述目标路由节点的节点故障信息由所述目标故障信息修改为所述参考故障信息,并发送所述参考故障信息;对所述流量指示信息进行调整,得到所述目标路由节点的修复指示信息,所述修复指示信息所指示的修复流量大小与所述流量指示信息所指示的流量大小不同;发送所述修复指示信息,所述修复指示信息所指示的修复流量大小与所述初始流量大小相同。
上述方案中,上述数据路由装置,还包括:检查模块,用于对所述目标路由节点进行流量调整检查,得到检查结果;上述获取模块,还用于当所述检查结果指示所述目标路由节点满足流量调整条件时,获取目标路由节点进行数据路由所对应的流量大小。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本申请实施例提供的数据路由方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于引起处理器执行时,实现本申请实施例提供的数据路由方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的数据路由方法。
本申请实施例具有以下有益效果:
通过接收多个目标路由节点发送的流量指示信息,基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。如此,使得不同的目标路由节点能够按照所期望的流量大小,按照路由优先级从高至低的顺序进行数据路由,使得路由优先级相对较低的目标路由节点的流量大小能够逐步的减少,从而使得路由优先级相对较低的目标路由节点的流量大小不至于断崖式的归零,使得路由优先级相对较低的目标路由节点中相关的路由数据能够继续进行数据路由,从而不会出现路由数据的丢包,从而有效减少了数据路由的丢包率。
附图说明
图1是本申请实施例提供的数据路由系统的架构示意图;
图2是本申请实施例提供的用于数据路由的电子设备的结构示意图一;
图3是本申请实施例提供的用于数据路由的电子设备的结构示意图二;
图4是本申请实施例提供的分布式服务系统的架构示意图;
图5是本申请实施例提供的数据路由方法的流程示意图一;
图6是本申请实施例提供的数据路由方法的流程示意图二;
图7是本申请实施例提供的数据路由方法的流程示意图三;
图8是本申请实施例提供的数据路由方法的流程示意图四;
图9是本申请实施例提供的数据路由方法的界面示意图;
图10是本申请实施例提供的数据路由方法的原理示意图一;
图11是本申请实施例提供的数据路由方法的流程示意图五;
图12是本申请实施例提供的路由节点的流量示意图;
图13是本申请实施例提供的数据路由方法的原理示意图二。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)集群技术:是近来随着互联网发展而兴起的一种技术,其通过高速网络将一组相互独立的计算机连接,组成一个能统一管理调度的集群系统,用于处理各种大数据场景下的业务,从而提高服务的可扩展性和可靠性。为了保证大数据场景下的业务能够正常运行,集群系统中通常是存储了海量的数据,以支持大数据场景下的各种业务。
2)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)云技术(Cloud Technology):云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
4)分布式服务系统(Hadoop Distributed File System,HDFS):是指被设计成适合运行在通用硬件(commodity hardware)上的分布式服务系统(Distributed FileSystem)。它和现有的分布式服务系统有很多共同点,但同时,它和其他的分布式服务系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取服务系统数据的目的。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(Streaming Access)服务系统中的数据。
5)节点:在电信网络中,一个节点(Node)是一个连接点,表示一个再分发点(Redistribution Point)或一个通信端点(一些终端设备)。节点的定义依赖于所提及的网络和协议层。一个物理网络节点是一个连接到网络的有源电子设备,能够通过通信通道发送、接收或转发信息。因此,无源分发点(如配线架或接插板)不是节点。在网络理论或图论中,术语节点表示网络拓扑中,线相交或分支的点。
6)边界网关协议(Border Gateway Protocol,BGP):边界网关协议是运行于TCP上的一种自治系统的路由协议。BGP是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在EGP的经验之上。BGP系统的主要功能是和其他的BGP系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了AS互联的拓扑图并由此清除了路由环路,同时在AS级别上可实施策略决策。
7)丢包率(Loss Tolerance或Packet Loss Rate):是指数据路由的过程中所丢失的路由数据的数据量占路由数据总量的比率。丢包率与数据包长度以及包发送频率相关。通常,千兆网卡在流量大于200Mbps时,丢包率小于万分之五;百兆网卡在流量大于60Mbps时,丢包率小于万分之一。通常在吞吐量范围内测试。
在本申请实施例的实施过程中,申请人发现相关技术存在以下问题:
在相关技术中,对于进行数据路由的路由节点的流量调整,通常是直接将路由节点关机下电,从而使得路由节点的流量直接归零,这样,会导致路由节点中相关的路由数据无法继续进行数据路由,从而导致数据路由的数据丢包率较高。
本申请实施例提供一种数据路由方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效减少数据路由的丢包率,下面说明本申请实施例提供的数据路由系统的示例性应用。
参见图1,图1是本申请实施例提供的数据路由系统100的架构示意图,终端(示例性示出了终端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400用于供用户使用客户端410,在图形界面410-1(示例性示出了图形界面410-1)显示路由优先级。终端400和服务器200通过有线或者无线网络相互连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表、车载终端等,但并不局限于此。本申请实施例提供的电子设备可以实施为终端,也可以实施为服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,服务器200接收多个目标路由节点发送的流量指示信息,并基于流量指示信息指示的流量大小,确定目标路由节点的路由优先级,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在另一些实施例中,终端400接收多个目标路由节点发送的流量指示信息,并基于流量指示信息指示的流量大小,确定目标路由节点的路由优先级,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在另一些实施例中,本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
参见图2,图2是本申请实施例提供的用于数据路由的电子设备的结构示意图一,其中,图2所示出的电子设备500可以是图1中的服务器200或者终端400,图2所示的电子设备500包括:至少一个处理器430、存储器450、至少一个网络接口420。电子设备500中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器430可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器430的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的数据路由装置可以采用软件方式实现,图2示出了存储在存储器450中的数据路由装置455,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块4551、确定模块4552、数据路由模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
参见图3,图3是本申请实施例提供的用于数据路由的电子设备的结构示意图二,其中,图3所示出的电子设备600可以是图1中的服务器200或者终端400,图3所示的电子设备600包括:至少一个处理器530、存储器550、至少一个网络接口520。电子设备600中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统540。
处理器530可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器530的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他电子设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的数据路由装置可以采用软件方式实现,图3示出了存储在存储器550中的数据路由装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、发送模块5552,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的数据路由装置可以采用硬件方式实现,作为示例,本申请实施例提供的数据路由装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据路由方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序或计算机可执行指令来实现本申请实施例提供的数据路由方法。举例来说,计算机程序可以是操作系统中的原生程序(例如,专用的数据路由程序)或软件模块,例如,可以嵌入到任意程序(如即时通信客户端、相册程序、电子地图客户端、导航客户端)中的数据路由模块;例如可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
将结合本申请实施例提供的服务器或终端的示例性应用和实施,说明本申请实施例提供的数据路由方法。
在一些实施例中,参见图4,图4是本申请实施例提供的分布式服务系统的架构示意图,本申请实施例提供的分布式服务系统至少包括服务节点和目标路由节点,例如,本申请实施例提供的分布式服务系统包括服务节点、多个目标路由节点、多个参考路由节点和业务节点,例如,图4所示出的分布式服务系统包括服务节点40、目标路由节点421、参考路由节点412、参考路由节点413、目标路由节点421、参考路由节点422、参考路由节点423和业务节点43。
参见图5,图5是本申请实施例提供的数据路由方法的流程示意图一,将结合图5示出的步骤101至步骤103进行说明,本申请实施例提供的数据路由方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器单独实施,从服务节点的角度为例进行说明。
在步骤101中,接收多个目标路由节点发送的流量指示信息。
在一些实施例中,流量指示信息用于指示目标路由节点进行数据路由所对应的流量大小,目标路由节点为与服务节点能够通信连接的路由节点。
作为示例,参见图4,服务节点40接收目标路由节点411和目标路由节点421发送的流量指示信息。
在一些实施例中,上述步骤101可以通过如下方式实现:接收多个目标路由节点发送的属性字段,将各属性字段的字段长度,分别确定为相应的目标路由节点的流量指示信息,字段长度用于指示相应的流量大小。
在一些实施例中,不同的目标路由节点所发送的属性字段可以相同,也可以不同,属性字段用于描述目标路由节点的节点属性,属性字段中包括多个属性字符,上述属性字段的字段长度等于属性字段中的各属性字符的字符长度的加和,属性字段的字段长度用于指示相应的目标路由节点的流量大小,字段长度越大,对应的流量大小越大,字段长度越短,对应的流量大小越小。
作为示例,参见图4,服务节点40接收目标路由节点411发送的属性字段,服务节点40接收目标路由节点421发送的属性字段,将目标路由节点411发送的属性字段的字段长度,确定为目标路由节点411的流量指示信息,将目标路由节点421发送的属性字段的字段长度,确定为目标路由节点421的流量指示信息。
在一些实施例中,上述步骤101可以通过如下方式实现:接收多个目标路由节点发送的属性字段,属性字段包括多个子属性字段;将各属性字段中能够指示相应的流量大小的子属性字段,确定为相应的目标路由节点的流量指示信息。
在一些实施例中,不同的目标路由节点所发送的属性字段可以相同,也可以不同,属性字段用于描述目标路由节点的节点属性,属性字段中包括多个子属性字段,不同的子属性字段所指示的目标路由节点的节点属性不同。
作为示例,参见图4,服务节点40接收目标路由节点411发送的属性字段,服务节点40接收目标路由节点421发送的属性字段,将目标路由节点411发送的属性字段中能够指示目标路由节点411的流量大小的子属性字段,确定为目标路由节点411的流量指示信息,将目标路由节点421发送的属性字段中能够指示目标路由节点421的流量大小的子属性字段,确定为目标路由节点421的流量指示信息。
如此,通过接收多个目标路由节点发送的流量指示信息,由于流量指示信息能够指示目标路由节点进行数据路由所对应的流量大小,从而便于后续为目标路由节点分配满足其流量大小期望的数据流量,从而实现了流量调配的精准控制。
在步骤102中,基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级。
在一些实施例中,路由优先级与相应的流量大小正相关,流量大小越大的目标路由节点对应的路由优先级越高,流量大小越小的目标路由节点对应的路由优先级越小。
在一些实施例中,上述步骤102可以通过如下方式实现:基于各流量属性字段的字段长度,确定各目标路由节点的路由优先级。
作为示例,参见图4,服务节点40接收目标路由节点411发送的属性字段A,服务节点40接收目标路由节点421发送的属性字段B,属性字段A的字段长度大于属性字段B的字段长度,那么,目标路由节点411的路由优先级大于目标路由节点421的路由优先级。
在另一些实施例中,上述步骤102可以通过如下方式实现:将各属性字段中能够指示相应的流量大小的子属性字段,确定为相应的目标路由节点的流量指示信息。
作为示例,参见图4,服务节点40接收目标路由节点411发送的属性字段A,服务节点40接收目标路由节点421发送的属性字段B,将属性字段A中能够指示相应的流量大小的子属性字段,确定为目标路由节点411的流量指示信息,将属性字段B中能够指示相应的流量大小的子属性字段,确定为目标路由节点421的流量指示信息。
如此,基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,从而使得流量大小较大的目标路由节点具有较高的路由优先级,使得流量大小较大的目标路由节点能够优先被分配到流量,流量大小较小的目标路由节点相对滞后被分配到流量甚至不分配流量,从而便于后续为目标路由节点分配满足其流量大小期望的数据流量,从而实现了流量调配的精准控制。
在步骤103中,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在一些实施例中,路由节点用于对起止于不同业务节点之间的路由数据进行数据转发,目标路由节点是与服务节点具有通信连接的路由节点,数据路由(Routing)是指分组从源到目的地时,决定端到端路径的网络范围的数据传输进程。
在一些实施例中,参见图6,图6是本申请实施例提供的数据路由方法的流程示意图二,图5所示出的步骤103可以通过图6所示出的步骤1031至步骤1034实现。
在步骤1031中,获取待路由数据,以及各目标路由节点分别所能承载的数据量阈值,并按照路由优先级从高至低的顺序,对目标路由节点进行排序,得到路由节点队列。
在一些实施例中,目标路由节点所能承载的数据量阈值,用于指示目标路由节点当前的空闲承载能力,上述路由节点队列中的目标路由节点的顺序,按照目标路由节点的路由优先级从高至低的顺序排布。
作为示例,参见图4,当目标路由节点411的路由优先级大于目标路由节点421的路由优先级时,按照路由优先级从高至低的顺序,对目标路由节点进行排序,得到路由节点队列{目标路由节点411,目标路由节点421}。
作为示例,参见图4,当目标路由节点411的路由优先级小于目标路由节点421的路由优先级时,按照路由优先级从高至低的顺序,对目标路由节点进行排序,得到路由节点队列{目标路由节点421,目标路由节点411}。
在步骤1032中,当路由节点队列中的第1个目标路由节点的数据量阈值大于或等于待路由数据的数据量时,基于第1个目标路由节点,对待路由数据进行数据路由。
在一些实施例中,由于路由节点队列中的目标路由节点的顺序,按照目标路由节点的路由优先级从高至低的顺序排布,因此,路由节点队列中的第1个目标路由节点是路由优先级最大的目标路由节点,因此,可以最先基于第1个目标路由节点进行数据路由,当路由节点队列中的第1个目标路由节点的数据量阈值大于或等于待路由数据的数据量时,说明第1个目标路由节点能够承载全量的待路由数据,此时可以直接基于第1个目标路由节点,对待路由数据进行数据路由。
承接上例,参见图4,路由节点队列为{目标路由节点411,目标路由节点421},目标路由节点411为路由节点队列中的第1个目标路由节点,当目标路由节点411的数据量阈值大于或等于待路由数据的数据量时,基于目标路由节点411,对待路由数据进行数据路由。
在步骤1033中,当第1个目标路由节点的数据量阈值小于待路由数据的数据量时,对待路由数据进行数据划分,得到数据量等于相应的数据量阈值的第1目标路由数据和第1参考路由数据。
在一些实施例中,上述第1目标路由数据和第1参考路由数据构成待路由数据,也即第1参考路由数据是待路由数据中除第1目标路由数据以外的数据。
在一些实施例中,当第1个目标路由节点的数据量阈值小于待路由数据的数据量时,说明第1个目标路由节点不能够承载全量的待路由数据,仅能够承载数据量等于相应的数据量阈值的第1目标路由数据,因此,可以通过对待路由数据进行数据划分,得到数据量等于相应的数据量阈值的第1目标路由数据和第1参考路由数据,使得第1个目标路由节点对第1目标路由数据进行数据路由,其他的路由优先级较低的目标路由节点继续完成第1参考路由数据的数据路由。
在步骤1034中,基于第1个目标路由节点,对第1目标路由数据进行数据路由,并按照路由优先级从高至低的顺序,基于除第1个目标路由节点以外的目标路由节点,对第1参考路由数据进行数据路由。
在一些实施例中,当第1个目标路由节点的数据量阈值小于待路由数据的数据量时,说明第1个目标路由节点不能够承载全量的待路由数据,仅能够承载数据量等于相应的数据量阈值的第1目标路由数据,因此,可以通过对待路由数据进行数据划分,得到数据量等于相应的数据量阈值的第1目标路由数据和第1参考路由数据,使得第1个目标路由节点对第1目标路由数据进行数据路由,其他的路由优先级较低的目标路由节点继续完成第1参考路由数据的数据路由,也即按照路由优先级从高至低的顺序,基于除第1个目标路由节点以外的目标路由节点,对第1参考路由数据进行数据路由。
承接上例,参见图4,路由节点队列为{目标路由节点411,目标路由节点421},目标路由节点411为路由节点队列中的第1个目标路由节点,当目标路由节点411的数据量阈值小于待路由数据的数据量时,对待路由数据进行数据划分,得到数据量等于相应的数据量阈值的第1目标路由数据和第1参考路由数据,基于目标路由节点411,对第1目标路由数据进行数据路由,并基于除第1个目标路由节点以外的目标路由节点421,对第1参考路由数据进行数据路由。
在一些实施例中,上述步骤1034可以通过如下方式实现:遍历i执行以下处理,直至完成对第1参考路由数据的数据路由:当路由节点队列中的第i个目标路由节点的数据量阈值大于或等于第i-1参考路由数据的数据量时,基于第i个目标路由节点,对第i-1参考路由数据进行数据路由;当第i个目标路由节点的数据量阈值小于第i-1参考路由数据的数据量时,对第i-1参考路由数据进行数据划分,得到数据量等于相应的数据量阈值的第i目标路由数据和第i参考路由数据;基于第i个目标路由节点,对第i目标路由数据进行数据路由。
在一些实施例中,i大于或等于2,i的数值大小与路由优先级负相关。
承接上例,当路由节点队列中的第2个目标路由节点的数据量阈值大于或等于第1参考路由数据的数据量时,基于第2个目标路由节点,对第1参考路由数据进行数据路由,从而完成对第1参考路由数据的数据路由,停止继续进行遍历。
作为示例,路由节点队列为{目标路由节点A,目标路由节点B,目标路由节点C和目标路由节点D},当第2个目标路由节点(目标路由节点B)的数据量阈值小于第1参考路由数据的数据量时,对第1参考路由数据进行数据划分,得到数据量等于相应的数据量阈值的第2目标路由数据和第2参考路由数据;基于第2个目标路由节点(目标路由节点B),对第2目标路由数据进行数据路由;当第3个目标路由节点(目标路由节点C)的数据量阈值小于第2参考路由数据的数据量时,对第2参考路由数据进行数据划分,得到数据量等于相应的数据量阈值的第3目标路由数据和第3参考路由数据;基于第3个目标路由节点(目标路由节点C),对第3目标路由数据进行数据路由;当第4个目标路由节点(目标路由节点D)的数据量阈值大于第3参考路由数据的数据量时,基于第4个目标路由节点(目标路由节点D),对第3参考路由数据进行数据路由,从而完成对第3参考路由数据的数据路由,停止继续进行遍历。在这种情况下,路由节点队列中的各目标路由节点均承载了相应流量的路由数据。
作为示例,路由节点队列为{目标路由节点A,目标路由节点B,目标路由节点C和目标路由节点D},当第2个目标路由节点(目标路由节点B)的数据量阈值小于第1参考路由数据的数据量时,对第1参考路由数据进行数据划分,得到数据量等于相应的数据量阈值的第2目标路由数据和第2参考路由数据;基于第2个目标路由节点(目标路由节点B),对第2目标路由数据进行数据路由;当第3个目标路由节点(目标路由节点C)的数据量阈值大于第2参考路由数据的数据量时,基于第3个目标路由节点(目标路由节点C),对第2参考路由数据进行数据路由,从而完成对第2参考路由数据的数据路由,停止继续进行遍历。在这种情况下,路由节点队列中的目标路由节点D没有承载相应流量的路由数据,也即目标路由节点D实现了流量大小的归零。
可以理解的是,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由,路由优先级越低的目标路由节点对待路由数据进行数据路由的可能性就越低(路由优先级高的目标路由节点就可能完成了对全量的待路由数据的路由),在待路由数据的数据量较小的情况下,就可以通过路由优先级相对较高的目标路由节点完成对待路由数据的数据路由,从而不影响待路由数据的数据路由,在待路由数据的数据量较大的情况下,就可以通过全量的目标路由节点完成对待路由数据的数据路由。
如此,通过按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由,路由优先级越低的目标路由节点对待路由数据进行数据路由的可能性就越低,按照路由优先级从高至低的顺序进行数据路由,使得路由优先级相对较低的目标路由节点的流量大小能够逐步的减少,从而使得路由优先级相对较低的目标路由节点的流量大小不至于断崖式的归零,使得路由优先级相对较低的目标路由节点中相关的路由数据能够继续进行数据路由,从而不会出现路由数据的丢包,从而有效减少了数据路由的丢包率。
在一些实施例中,还可以通过如下方式确定目标路由节点是否存在节点故障:接收各目标路由节点发送的节点故障信息,当节点故障信息指示相应的目标路由节点不存在节点故障时,将目标路由节点确定为参考路由节点。
作为示例,参见图4,接收目标路由节点411发送的节点故障信息,当节点故障信息指示目标路由节点411不存在节点故障时,将目标路由节点411确定为参考路由节点。
作为示例,参见图4,接收目标路由节点421发送的节点故障信息,当节点故障信息指示目标路由节点421不存在节点故障时,将目标路由节点421确定为参考路由节点。
在一些实施例中,上述步骤103还可以通过如下方式实现:按照路由优先级从高至低的顺序,基于参考路由节点进行数据路由。
如此,通过接收多个目标路由节点发送的流量指示信息,基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。如此,使得不同的目标路由节点能够按照所期望的流量大小,按照路由优先级从高至低的顺序进行数据路由,使得路由优先级相对较低的目标路由节点的流量大小能够逐步的减少,从而使得路由优先级相对较低的目标路由节点的流量大小不至于断崖式的归零,使得路由优先级相对较低的目标路由节点中相关的路由数据能够继续进行数据路由,从而不会出现路由数据的丢包,从而有效减少了数据路由的丢包率。
参见图7,图7是本申请实施例提供的数据路由方法的流程示意图三,将结合图7示出的步骤201至步骤203进行说明,本申请实施例提供的数据路由方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器单独实施为例进行说明。
在步骤201中,获取目标路由节点进行数据路由所对应的流量大小。
在一些实施例中,在上述步骤201之前,还可以对目标路由节点进行流量调整检查:对目标路由节点进行流量调整检查,得到检查结果。
在一些实施例中,上述流量调整检查,用于判断目标路由节点是否满足流量调整条件,流量调整检查包括设备正确性检查、配置规范性检查、设备使用情况检查、架构冗余性检查等。在设备正确性检查中主要判断路由节点是否为数据中心内的目标路由节点,如果不是(是接入交换机、汇聚交换机等)则不通过设备正确性检查。在配置规范性检查中主要判断目标路由节点当前的配置是否与架构定义的标准配置是否一致,如不一致则不通过配置规范性检查。在设备使用情况检查中主要检查目标路由节点当前是否正在进行其他操作,如果有其他操作正在进行,则不通过设备使用情况检查,以免互相影响。
在一些实施例中,当目标路由节点通过设备正确性检查、配置规范性检查、设备使用情况检查、架构冗余性检查等流量调整检查时,将检查结果确定为第一检查结果,当目标路由节点没有通过设备正确性检查、配置规范性检查、设备使用情况检查、架构冗余性检查等流量调整检查中的至少之一时,将检查结果确定为第二检查结果。
在一些实施例中,第一检查结果,用于指示目标路由节点满足流量调整条件,第二检查结果,用于指示目标路由节点不满足流量调整条件。
在一些实施例中,上述步骤201可以通过如下方式实现:当所述检查结果指示所述目标路由节点满足流量调整条件时,获取目标路由节点进行数据路由所对应的流量大小。
如此,通过对目标路由节点进行流量调整检查,得到检查结果,当所述检查结果指示所述目标路由节点满足流量调整条件时,获取目标路由节点进行数据路由所对应的流量大小,从而实现了对目标路由节点是否满足流量调整条件的检查,在目标路由节点满足流量调整条件的检查时,获取目标路由节点进行数据路由所对应的流量大小,以便于后续对目标路由节点进行流量调整。
在步骤202中,基于流量大小,确定目标路由节点的流量指示信息。
在一些实施例中,参见图8,图8是本申请实施例提供的数据路由方法的流程示意图四,图7所示出的步骤202可以通过图8所示出的步骤2021至步骤2024实现。
在步骤2021中,获取目标路由节点的初始指示信息。
在一些实施例中,初始指示信息,用于指示目标路由节点进行初始数据路由所对应的初始流量大小,不同的目标路由节点对应的初始流量大小相同。
在步骤2022中,将初始流量大小与流量大小进行比较,得到比较结果。
在一些实施例中,上述比较结果,用于指示初始流量大小与流量大小是否相同。
在步骤2023中,当比较结果指示初始流量大小与流量大小相同时,将初始指示信息,确定为流量指示信息。
在一些实施例中,当比较结果指示初始流量大小与流量大小相同时,则说明目标路由节点无需进行流量的调整,则直接将初始指示信息,确定为流量指示信息,以使得初始指示信息与流量指示信息保持一致,实现目标路由节点的流量维持不变。
在步骤2024中,当比较结果指示初始流量大小与流量大小不同时,对初始指示信息进行调整,得到流量指示信息。
在一些实施例中,当比较结果指示初始流量大小与流量大小不同时,则说明目标路由节点需要进行流量的调整,此时可以对初始指示信息进行调整,得到流量指示信息。
在一些实施例中,初始指示信息通过目标路由节点的初始属性字段的字段长度所表征。
在一些实施例中,上述步骤2024可以通过如下方式实现:对目标路由节点的初始属性字段进行字段长度调整,得到目标路由节点的流量属性字段;将流量属性字段的字段长度,确定为目标路由节点的流量指示信息。
在一些实施例中,初始属性字段与流量属性字段对应的字段长度不同。
在一些实施例中,上述流量属性字段包括第一属性字段和第二属性字段,第一属性字段的字段长度大于初始属性字段的字段长度,第二属性字段的字段长度小于初始属性字段的字段长度。
在一些实施例中,上述对目标路由节点的初始属性字段进行字段长度调整,得到目标路由节点的流量属性字段,可以通过如下方式实现:当比较结果指示初始流量大小小于流量大小时,对目标路由节点的初始属性字段进行字段长度加长,得到目标路由节点的第一属性字段;当比较结果指示初始流量大小大于流量大小时,对目标路由节点的初始属性字段进行字段长度减小,得到目标路由节点的第二属性字段。
在一些实施例中,当比较结果指示初始流量大小小于流量大小时,此时需要将初始流量大小进行增大,以使得增大后的初始流量大小等于流量大小,由于初始属性字段的字段长度,为目标路由节点的初始指示信息,且属性字段的字段长度与对应的流量大小正相关,因此,可以对目标路由节点的初始属性字段进行字段长度加长,得到目标路由节点的第一属性字段,使得第一属性字段所指示的第一流量大小等于上述流量大小。
在一些实施例中,当比较结果指示初始流量大小大于流量大小时,此时需要将初始流量大小进行减小,以使得减小后的初始流量大小等于流量大小,由于初始属性字段的字段长度,为目标路由节点的初始指示信息,且属性字段的字段长度与对应的流量大小正相关,因此,可以对目标路由节点的初始属性字段进行字段长度减小,得到目标路由节点的第二属性字段,使得第二属性字段所指示的第二流量大小等于上述流量大小。
在步骤203中,发送流量指示信息,以结合多个目标路由节点发送的流量指示信息所指示的流量大小,确定各目标路由节点的路由优先级,并按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在一些实施例中,目标路由节点向服务节点发送流量指示信息,以使服务节点结合多个目标路由节点发送的流量指示信息所指示的流量大小,确定各目标路由节点的路由优先级,并按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在一些实施例中,在上述步骤203之后,还可以通过如下方式确定目标路由节点的故障信息:当比较结果指示初始流量大小大于流量大小时,将目标路由节点的节点故障信息,确定为目标故障信息,并发送目标故障信息;当比较结果指示初始流量大小小于或等于流量大小时,将目标路由节点的节点故障信息,确定为参考故障信息,并发送参考故障信息。
在一些实施例中,目标故障信息,用于指示目标路由节点存在节点故障,参考故障信息,用于指示目标路由节点不存在节点故障。
在一些实施例中,当比较结果指示初始流量大小大于流量大小时,说明目标路由节点的流量进行了调小,那么目标路由节点对应的路由优先级也相应进行了降低,随着目标路由节点的路由优先级的降低,目标路由节点接收到的数量流量也会随之降低,此时,可以将目标路由节点的节点故障信息,确定为目标故障信息,并向服务节点发送目标故障信息,使得服务节点彻底不对目标路由节点进行数据路由,使得目标路由节点的数据流量从减小至降为零,从而使得流量大小不至于断崖式的归零,实现目标路由节点的渐进式歇停,以便对目标路由节点进行检修,而不至于对数据路由的正常进行造成影响,使得目标路由节点的故障/系统升级可以实现对数据路由无感知的效果。
在一些实施例中,当比较结果指示初始流量大小小于或等于流量大小时,说明目标路由节点的流量维持不变或者进行了增大,那么目标路由节点对应的路由优先级也维持了不变或者增大,随着目标路由节点的路由优先级的增大,目标路由节点接收到的数量流量也会随之加大,此时,将目标路由节点的节点故障信息,确定为参考故障信息,并向服务节点发送参考故障信息,从而使得数据流量增大的目标路由节点仍然能够接收到服务节点发送的路由数据,从而使得目标路由节点的数据流量不至于在升高之后而断崖式下跌至零,而导致会数据路由的正常进行造成影响,使得在这种情况下目标路由节点不进行故障/系统的升级,从而使得目标路由节点进行故障/系统的升级可以实现对数据路由无感知的效果。
在一些实施例中,在将目标路由节点的节点故障信息,确定为目标故障信息之后,还可以通过如下方式切换目标路由节点的状态:将目标路由节点的节点状态由工作状态切换为休眠状态,以暂停目标路由节点的数据路由功能。
在一些实施例中,在将目标路由节点的节点故障信息,确定为目标故障信息之后,使得服务节点彻底不对目标路由节点进行数据路由,使得目标路由节点的数据流量从减小至降为零,此时目标路由节点为保险起见,可以直接将节点状态由工作状态切换为休眠状态,以暂停目标路由节点的数据路由功能,以防止仍然接收到路由数据而无法对路由数据进行数据路由,从而在休眠状态下对目标路由节点进行检修,而不至于对数据路由的正常进行造成影响,使得目标路由节点的故障/系统升级可以实现对数据路由无感知的效果。
在一些实施例中,上述将目标路由节点的节点状态由工作状态切换为休眠状态之后,还可以通过如下方式进行状态检查:对目标路由节点进行休眠状态检查,得到状态检查结果;当状态检查结果指示目标路由节点存在状态异常时,将目标路由节点的节点状态由休眠状态切换为工作状态。
在一些实施例中,上述状态检查结果用于指示目标路由节点是否存在状态异常,在将目标路由节点的节点状态由工作状态切换为休眠状态,路由节点的established状态对应的参数值为0,路由节点的BGP邻居应全部为idle(Admin)状态,在完成流量迁出的实施动作后,需要进行检查确保设备状态符合预期。具体来说,需要检查该核心交换机的BGP邻居状态。正常情况下,关闭BGP邻居后,目标路由节点的BGP邻居不是全部为idle状态,established状态的邻居不是为0,则将状态检查结果确定为指示目标路由节点存在状态异常。
在一些实施例中,上述将目标路由节点的节点状态由工作状态切换为休眠状态之后,还可以通过如下方式进行节点复原:响应于目标路由节点完成故障修复,将目标路由节点的节点状态由休眠状态切换为工作状态,并将目标路由节点的节点故障信息由目标故障信息修改为参考故障信息,并发送参考故障信息;对流量指示信息进行调整,得到目标路由节点的修复指示信息。发送修复指示信息。
在一些实施例中,响应于目标路由节点完成故障修复,首先将目标路由节点的节点状态由休眠状态切换为工作状态,以使得目标路由节点能够进行正常工作,然后将目标路由节点的节点故障信息由目标故障信息修改为参考故障信息,并向服务节点发送参考故障信息,以使得服务节点继续基于目标路由节点进行数据路由,通过对流量指示信息进行调整,得到目标路由节点的修复指示信息,并向服务节点发送修复指示信息,从而使得服务节点对目标路由节点的路由优先级进行恢复,使得目标路由节点能够像节点修复前一样,正常的进行数据路由。
在一些实施例中,修复指示信息所指示的修复流量大小与初始流量大小相同,修复指示信息所指示的修复流量大小与流量指示信息所指示的流量大小不同。
如此,通过接收多个目标路由节点发送的流量指示信息,基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。如此,使得不同的目标路由节点能够按照所期望的流量大小,按照路由优先级从高至低的顺序进行数据路由,使得路由优先级相对较低的目标路由节点的流量大小能够逐步的减少,从而使得路由优先级相对较低的目标路由节点的流量大小不至于断崖式的归零,使得路由优先级相对较低的目标路由节点中相关的路由数据能够继续进行数据路由,从而不会出现路由数据的丢包,从而有效减少了数据路由的丢包率。
下面,将说明本申请实施例在一个实际的数据路由的应用场景中的示例性应用。
数据中心内承载着无数互联网业务不间断运行,为下联服务器提供网络服务的交换机起到至关重要的作用。然而,交换机是电子产品,也存在故障的可能性。当交换机故障需要处理时,主流方案为关闭所有交换机端口或者直接将设备下电关机,尽管这样可以达到处理故障的目的,但是处理的过程中对于该交换机下联服务器正在运行的业务会不可避免的造成丢包问题,严重情况下会导致下联服务器断网一段时间,这对于正在服务器上运行的服务极其不友好。
本申请实施例通过处理故障交换机时实现过程无丢包。通过一系列调度手段,实现故障交换机流量迁移至正常交换机上,最终达到服务器不感知交换机故障的效果,避免交换机出现故障时,下联服务器业务也需要进行规避迁移的尴尬处境。本申请实施例通过路由协议层面的操作,实现交换机不丢包的流量迁移动作,为交换机下的服务器提供无损的网络环境。具体路由协议的操作包括as-path软隔离、上下联拒发路由、关闭BGP三个步骤。
在一些实施例中,参见图9,图9是本申请实施例提供的数据路由方法的界面示意图,主要使用于数据中心网络的核心交换机,主要使用场景如下:核心交换机的故障处理,需要快速进行流量迁移,以便下线故障交换机/上线正常交换机。核心交换机需要升级系统及重启时,需要提前使用此工具迁移流量,再进行重启等相关操作。核心交换机达到使用年限需要退役时,需要提前使用此工具迁移流量,再进行下电关机等操作本申请实施例提供的数据路由方法可以基于交换机命令下发至图9所示出的平台自动化实施。在平台侧选择一键隔离功能(图9所示出的核心设备隔离),通过输入故障交换机的名称,即可基于本申请实施例实现自动化的交换机无损流量迁移。
在一些实施例中,参见图10,图10是本申请实施例提供的数据路由方法的原理示意图一,数据中心网络模块的架构,从下往上依次为服务器(SER,Server)、接入交换机(LA,Lan Access),例如图10中所示出的接入交换机11、接入交换机12、接入交换机13和接入交换机14,核心交换机(LC,Lan Core),例如,如图10所示出的核心交换机21、核心交换机22、核心交换机23和核心交换机24,汇聚交换机(CUF,Campus Union Fabric)。服务器与接入交换机之间进行二层通信,交换机与交换机之间通过建立BGP协议邻居互相发布路由,以获得模块内所有服务器的路由。核心交换机(LC)将模块内的所有明细路由通过BGP邻居发送给汇聚交换机(CUF),同时将汇聚交换机(CUF)发送的大段路由向上传递给接入交换机(LA)。
在一些实施例中,参见图10,数据中心网络模块的架构,从下往上依次为服务器、接入交换机、核心交换机、汇聚交换机。服务器与接入交换机之间进行二层通信,交换机与交换机之间通过建立BGP协议邻居互相发布路由,以获得模块内所有服务器的路由。核心交换机将模块内的所有明细路由通过BGP邻居发送给汇聚交换机,同时将汇聚交换机发送的大段路由向上传递给接入交换机。
在一些实施例中,参见图11,图11是本申请实施例提供的数据路由方法的流程示意图五,本申请实施例提供的数据路由方法可以通过图11所示出的步骤301至步骤308实现。
在一些实施例中,可以通过图11中所示出的步骤301至步骤303判断核心交换机是否具有流量迁移的条件,如设备正确性检查、配置规范性检查、设备使用情况检查、架构冗余性检查等。
在步骤301中,设备正确性检查。
在一些实施例中,在设备正确性检查中主要判断设备是否为数据中心内的核心交换机,如果不是(是接入交换机、汇聚交换机等)则不予下发此工具。
在步骤302中,配置规范性检查。
在一些实施例中,在配置规范性检查中主要判断设备当前的配置是否与架构定义的标准配置是否一致,如不一致则不予下发。
在步骤303中,设备使用情况检查。
在一些实施例中,在设备使用情况检查中主要检查该设备当前是否正在进行其他操作,如果有其他操作正在进行,则不应下发此工具,以免互相影响。
在步骤304中,架构冗余性检查。
在一些实施例中,在架构冗余性检查中,主要判断模块内是否具备下线核心交换机的条件,例如在4核心架构中,如果已经下线了两台核心交换机,则不允许下线第三台核心交换机,以避免流量突发导致模块内核心层容量不足产生的流量拥塞。同理,在8核心架构中则最多允许下线四台核心交换机。
在步骤305中,上联加as-path软隔离。
在一些实施例中,上述步骤305为在LC去往CUF方向(即出向流量)的as path上,增加一个as属性长度。由于其他同层级设备的as-path长度一致,都比被隔离的设备短。且所有交换机都配置了ECMP等价负载均衡,在CUF去往LC的出向流量会优选as-path相等且比待下线的核心交换机更短的其他核心交换机。因此,在经过一段时间的BGP路由通告和学习后,上层设备在转发流量时将会优选同层级其他LC设备。此时,设备仍然具有正常转发功能,只是学习到新as-path的上联设备将不再优选被隔离设备作为转发设备。
作为示例,参见图12,图12是本申请实施例提供的路由节点的流量示意图,如图12所示出的表a,在10-19 11:18:00之前,路由节点的入向流量和出向流量均不为0,通过执行上述步骤305,为设备上联端口入向流量逐渐变小。在上联所有设备学习到加长的as-path后,设备上联端口入向流量(从CUF发过来的流量)为0,在10-19 11:19:00时,路由节点的入向流量为0,出向流量为43448.01。
在步骤306中,上下联拒发路由。
在一些实施例中,对协议隔离时就不会产生网络波动。在这一阶段,主要操作为,在去往CUF以及去往LA的路由策略上删除原本的permit路由,加上deny。做完此操作后,设备不向外发送自己的路由表,也不接收其他设备发来的BGP路由。从LA的角度来看,对应的LC不对外发送路由,意味着此台LC不可达。因此,LA将会更新自己的路由表,LA的流量都会绕行这台LC,走其他没有拒发路由的LC出去。从流量表现来看,LA发往这台LC的流量会逐渐变小至0,即被隔离LC与LA相连的端口(LC下联端口)流量逐渐掉底。
作为示例,参见图12,如图12所示出的表b,在10-19 11:18:00之前,路由节点的入向流量和出向流量均不为0,通过执行上述步骤306,从流量表现来看,LA发往这台LC的流量会逐渐变小至0,即被隔离LC与LA相连的端口(LC下联端口)流量逐渐掉底,在10-19 11:19:00时,路由节点的入向流量和出向流量均为0。
在步骤307中,关闭BGP邻居。
在一些实施例中,这一步与对端口做shutdown操作类似,作用为将LC与LA、CUF已经建立的BGP邻居关闭。由于前面两步已经将需要隔离的LC的流量都迁移完成了,这一步并不会有实际的影响,仅为保险操作,防止未知bug导致设备流量未完全迁移。
在步骤308中,BGP邻居检查。
在一些实施例中,参见图13,图13是本申请实施例提供的数据路由方法的原理示意图二,路由节点的established状态对应的参数值为0,路由节点的BGP邻居应全部为idle(Admin)状态,在完成流量迁出的实施动作后,需要进行检查确保设备状态符合预期。具体来说,需要检查该核心交换机的BGP邻居状态。正常情况下,关闭BGP邻居后,设备的BGP邻居应全部为idle状态,established状态的邻居为0。如不符合预期,则需要尽快回退,避免触发未知bug对现网业务流量产生影响。
在一些实施例中,以上为核心交换机流量迁出(设备隔离)方案的全部步骤,通过此步骤可将现网正在运行的核心交换机无损的隔离出来,以便进行重启、升级、替换等故障修复操作。在设备故障修复完成后需要将离线的设备重新加入现网,则需要用到流量迁入(设备回切)方案。此方案原理与流量迁出类似,具体实施步骤与流量迁出方案刚好相反,实施步骤先后顺序分别为:打开BGP邻居、删除拒发路由、删除加长as-path。
如此,本申请实施例可以实现无损流量迁移,对业务更加友好。在使用旧技术时,如果有核心交换机出现故障/需要升级重启,下联业务要么需要忍受数分钟的丢包高延迟,要么需要提前迁移业务避免丢包。通过本申请实施例,网络侧设备的故障/系统升级可以实现对业务无感的效果。同时本申请实施例可配合网络告警系统实现故障自愈,以实现网络侧故障快速恢复。还可配合自动化流程实现网络设备的无感知系统升级,增强网络设备的可用性、稳定性。
可以理解的是,在本申请实施例中,涉及到流量指示信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的数据路由装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的数据路由装置455中的软件模块可以包括:接收模块4551,用于接收多个目标路由节点发送的流量指示信息,流量指示信息用于指示目标路由节点进行数据路由所对应的流量大小;确定模块4552,用于基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,路由优先级与相应的流量大小正相关;数据路由模块4553,用于按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在一些实施例中,上述接收模块,还用于接收多个目标路由节点发送的属性字段,将各属性字段的字段长度,分别确定为相应的目标路由节点的流量指示信息,字段长度用于指示相应的流量大小;上述确定模块,还用于基于各流量属性字段的字段长度,确定各目标路由节点的路由优先级。
在一些实施例中,上述接收模块,还用于接收多个目标路由节点发送的属性字段,属性字段包括多个子属性字段;将各属性字段中能够指示相应的流量大小的子属性字段,确定为相应的目标路由节点的流量指示信息。
在一些实施例中,上述数据路由模块,还用于获取待路由数据,以及各目标路由节点分别所能承载的数据量阈值,并按照路由优先级从高至低的顺序,对目标路由节点进行排序,得到路由节点队列;当路由节点队列中的第1个目标路由节点的数据量阈值大于或等于待路由数据的数据量时,基于第1个目标路由节点,对待路由数据进行数据路由;当第1个目标路由节点的数据量阈值小于待路由数据的数据量时,对待路由数据进行数据划分,得到数据量等于相应的数据量阈值的第1目标路由数据和第1参考路由数据;基于第1个目标路由节点,对第1目标路由数据进行数据路由,并按照路由优先级从高至低的顺序,基于除第1个目标路由节点以外的目标路由节点,对第1参考路由数据进行数据路由。
在一些实施例中,上述数据路由模块,还用于遍历i执行以下处理,直至完成对第1参考路由数据的数据路由:当路由节点队列中的第i个目标路由节点的数据量阈值大于或等于第i-1参考路由数据的数据量时,基于第i个目标路由节点,对第i-1参考路由数据进行数据路由;当第i个目标路由节点的数据量阈值小于第i-1参考路由数据的数据量时,对第i-1参考路由数据进行数据划分,得到数据量等于相应的数据量阈值的第i目标路由数据和第i参考路由数据;基于第i个目标路由节点,对第i目标路由数据进行数据路由,其中,i大于或等于2,i的数值大小与路由优先级负相关。
在一些实施例中,上述数据路由装置,还包括:故障模块,用于接收各目标路由节点发送的节点故障信息,当节点故障信息指示相应的目标路由节点不存在节点故障时,将目标路由节点确定为参考路由节点;上述数据路由模块,还用于按照路由优先级从高至低的顺序,基于参考路由节点进行数据路由。
下面继续说明本申请实施例提供的数据路由装置555的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器550的数据路由装置555中的软件模块可以包括:获取模块5551,用于获取目标路由节点进行数据路由所对应的流量大小,并基于流量大小,确定目标路由节点的流量指示信息;发送模块5552,用于发送流量指示信息,以结合多个目标路由节点发送的流量指示信息所指示的流量大小,确定各目标路由节点的路由优先级,并按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。
在一些实施例中,上述获取模块,还用于获取目标路由节点的初始指示信息,初始指示信息,用于指示目标路由节点进行初始数据路由所对应的初始流量大小,不同的目标路由节点对应的初始流量大小相同;将初始流量大小与流量大小进行比较,得到比较结果;当比较结果指示初始流量大小与流量大小相同时,将初始指示信息,确定为流量指示信息;当比较结果指示初始流量大小与流量大小不同时,对初始指示信息进行调整,得到流量指示信息。
在一些实施例中,上述初始指示信息通过目标路由节点的初始属性字段的字段长度所表征,上述获取模块,还用于对目标路由节点的初始属性字段进行字段长度调整,得到目标路由节点的流量属性字段;将流量属性字段的字段长度,确定为目标路由节点的流量指示信息;其中,初始属性字段与流量属性字段对应的字段长度不同。
在一些实施例中,上述获取模块,还用于当比较结果指示初始流量大小小于流量大小时,对目标路由节点的初始属性字段进行字段长度加长,得到目标路由节点的第一属性字段;当比较结果指示初始流量大小大于流量大小时,对目标路由节点的初始属性字段进行字段长度减小,得到目标路由节点的第二属性字段。
在一些实施例中,上述数据路由装置,还包括:故障模块,用于当比较结果指示初始流量大小大于流量大小时,将目标路由节点的节点故障信息,确定为目标故障信息,并发送目标故障信息;当比较结果指示初始流量大小小于或等于流量大小时,将目标路由节点的节点故障信息,确定为参考故障信息,并发送参考故障信息;其中,目标故障信息,用于指示目标路由节点存在节点故障,参考故障信息,用于指示目标路由节点不存在节点故障。
在一些实施例中,上述数据路由装置,还包括:状态切换模块,用于将目标路由节点的节点状态由工作状态切换为休眠状态,以暂停目标路由节点的数据路由功能。
在一些实施例中,上述状态切换模块,还用于对目标路由节点进行休眠状态检查,得到状态检查结果;当状态检查结果指示目标路由节点存在状态异常时,将目标路由节点的节点状态由休眠状态切换为工作状态。
在一些实施例中,上述状态切换模块,还用于响应于目标路由节点完成故障修复,将目标路由节点的节点状态由休眠状态切换为工作状态,并将目标路由节点的节点故障信息由目标故障信息修改为参考故障信息,并发送参考故障信息;对流量指示信息进行调整,得到目标路由节点的修复指示信息,修复指示信息所指示的修复流量大小与流量指示信息所指示的流量大小不同;发送修复指示信息,修复指示信息所指示的修复流量大小与初始流量大小相同。
在一些实施例中,上述数据路由装置,还包括:检查模块,用于对目标路由节点进行流量调整检查,得到检查结果;上述获取模块,还用于当检查结果指示目标路由节点满足流量调整条件时,获取目标路由节点进行数据路由所对应的流量大小。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的数据路由方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的数据路由方法,例如,如图5示出的数据路由方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上,本申请实施例具有如下有益效果:
(1)通过接收多个目标路由节点发送的流量指示信息,基于各流量指示信息指示的流量大小,确定各目标路由节点的路由优先级,按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由。如此,使得不同的目标路由节点能够按照所期望的流量大小,按照路由优先级从高至低的顺序进行数据路由,使得路由优先级相对较低的目标路由节点的流量大小能够逐步的减少,从而使得路由优先级相对较低的目标路由节点的流量大小不至于断崖式的归零,使得路由优先级相对较低的目标路由节点中相关的路由数据能够继续进行数据路由,从而不会出现路由数据的丢包,从而有效减少了数据路由的丢包率。
(2)本申请实施例可以实现无损流量迁移,对业务更加友好。在使用旧技术时,如果有核心交换机出现故障/需要升级重启,下联业务要么需要忍受数分钟的丢包高延迟,要么需要提前迁移业务避免丢包。通过本申请实施例,网络侧设备的故障/系统升级可以实现对业务无感的效果。同时本申请实施例可配合网络告警系统实现故障自愈,以实现网络侧故障快速恢复。还可配合自动化流程实现网络设备的无感知系统升级,增强网络设备的可用性、稳定性。
(3)通过接收多个目标路由节点发送的流量指示信息,由于流量指示信息能够指示目标路由节点进行数据路由所对应的流量大小,从而便于后续为目标路由节点分配满足其流量大小期望的数据流量,从而实现了流量调配的精准控制。
(4)按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由,路由优先级越低的目标路由节点对待路由数据进行数据路由的可能性就越低(路由优先级高的目标路由节点就可能完成了对全量的待路由数据的路由),在待路由数据的数据量较小的情况下,就可以通过路由优先级相对较高的目标路由节点完成对待路由数据的数据路由,从而不影响待路由数据的数据路由,在待路由数据的数据量较大的情况下,就可以通过全量的目标路由节点完成对待路由数据的数据路由。
(5)通过按照路由优先级从高至低的顺序,基于目标路由节点进行数据路由,路由优先级越低的目标路由节点对待路由数据进行数据路由的可能性就越低,按照路由优先级从高至低的顺序进行数据路由,使得路由优先级相对较低的目标路由节点的流量大小能够逐步的减少,从而使得路由优先级相对较低的目标路由节点的流量大小不至于断崖式的归零,使得路由优先级相对较低的目标路由节点中相关的路由数据能够继续进行数据路由,从而不会出现路由数据的丢包,从而有效减少了数据路由的丢包率。
(6)通过对目标路由节点进行流量调整检查,得到检查结果,当所述检查结果指示所述目标路由节点满足流量调整条件时,获取目标路由节点进行数据路由所对应的流量大小,从而实现了对目标路由节点是否满足流量调整条件的检查,在目标路由节点满足流量调整条件的检查时,获取目标路由节点进行数据路由所对应的流量大小,以便于后续对目标路由节点进行流量调整。
(7)当比较结果指示初始流量大小与流量大小相同时,则说明目标路由节点无需进行流量的调整,则直接将初始指示信息,确定为流量指示信息,以使得初始指示信息与流量指示信息保持一致,实现目标路由节点的流量维持不变。
(8)当比较结果指示初始流量大小大于流量大小时,说明目标路由节点的流量进行了调小,那么目标路由节点对应的路由优先级也相应进行了降低,随着目标路由节点的路由优先级的降低,目标路由节点接收到的数量流量也会随之降低,此时,可以将目标路由节点的节点故障信息,确定为目标故障信息,并向服务节点发送目标故障信息,使得服务节点彻底不对目标路由节点进行数据路由,使得目标路由节点的数据流量从减小至降为零,从而使得流量大小不至于断崖式的归零,实现目标路由节点的渐进式歇停,以便对目标路由节点进行检修,而不至于对数据路由的正常进行造成影响,使得目标路由节点的故障/系统升级可以实现对数据路由无感知的效果。
(9)当比较结果指示初始流量大小小于或等于流量大小时,说明目标路由节点的流量维持不变或者进行了增大,那么目标路由节点对应的路由优先级也维持了不变或者增大,随着目标路由节点的路由优先级的增大,目标路由节点接收到的数量流量也会随之加大,此时,将目标路由节点的节点故障信息,确定为参考故障信息,并向服务节点发送参考故障信息,从而使得数据流量增大的目标路由节点仍然能够接收到服务节点发送的路由数据,从而使得目标路由节点的数据流量不至于在升高之后而断崖式下跌至零,而导致会数据路由的正常进行造成影响,使得在这种情况下目标路由节点不进行故障/系统的升级,从而使得目标路由节点进行故障/系统的升级可以实现对数据路由无感知的效果。
(10)在将目标路由节点的节点故障信息,确定为目标故障信息之后,使得服务节点彻底不对目标路由节点进行数据路由,使得目标路由节点的数据流量从减小至降为零,此时目标路由节点为保险起见,可以直接将节点状态由工作状态切换为休眠状态,以暂停目标路由节点的数据路由功能,以防止仍然接收到路由数据而无法对路由数据进行数据路由,从而在休眠状态下对目标路由节点进行检修,而不至于对数据路由的正常进行造成影响,使得目标路由节点的故障/系统升级可以实现对数据路由无感知的效果。
(11)响应于目标路由节点完成故障修复,首先将目标路由节点的节点状态由休眠状态切换为工作状态,以使得目标路由节点能够进行正常工作,然后将目标路由节点的节点故障信息由目标故障信息修改为参考故障信息,并向服务节点发送参考故障信息,以使得服务节点继续基于目标路由节点进行数据路由,通过对流量指示信息进行调整,得到目标路由节点的修复指示信息,并向服务节点发送修复指示信息,从而使得服务节点对目标路由节点的路由优先级进行恢复,使得目标路由节点能够像节点修复前一样,正常的进行数据路由。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (20)

1.一种数据路由方法,其特征在于,所述方法包括:
接收多个目标路由节点发送的流量指示信息,所述流量指示信息用于指示所述目标路由节点进行数据路由所对应的流量大小;
基于各所述流量指示信息指示的流量大小,确定各所述目标路由节点的路由优先级,所述路由优先级与相应的所述流量大小正相关;
获取待路由数据,以及各所述目标路由节点分别所能承载的数据量阈值,并按照所述路由优先级从高至低的顺序,对所述目标路由节点进行排序,得到路由节点队列;
当第1个目标路由节点的数据量阈值小于所述待路由数据的数据量时,对所述待路由数据进行数据划分,得到第1参考路由数据和数据量等于相应的所述数据量阈值的第1目标路由数据;
基于所述第1个目标路由节点,对所述第1目标路由数据进行数据路由,并按照所述路由优先级从高至低的顺序,基于除所述第1个目标路由节点以外的目标路由节点,对所述第1参考路由数据进行数据路由。
2.根据权利要求1所述的方法,其特征在于,所述接收多个目标路由节点发送的流量指示信息,包括:
接收所述多个目标路由节点发送的属性字段,将各所述属性字段的字段长度,分别确定为相应的所述目标路由节点的流量指示信息,所述字段长度用于指示相应的所述流量大小;
所述基于各所述流量指示信息指示的流量大小,确定各所述目标路由节点的路由优先级,包括:
基于各所述属性字段的字段长度,确定各所述目标路由节点的路由优先级。
3.根据权利要求1所述的方法,其特征在于,所述接收多个目标路由节点发送的流量指示信息,包括:
接收所述多个目标路由节点发送的属性字段,所述属性字段包括多个子属性字段;
将各所述属性字段中能够指示相应的所述流量大小的子属性字段,确定为相应的所述目标路由节点的流量指示信息。
4.根据权利要求1所述的方法,其特征在于,所述对所述目标路由节点进行排序,得到路由节点队列之后,所述方法还包括:
当所述路由节点队列中的第1个目标路由节点的数据量阈值大于或等于所述待路由数据的数据量时,基于所述第1个目标路由节点,对所述待路由数据进行数据路由。
5.根据权利要求1所述的方法,其特征在于,所述按照所述路由优先级从高至低的顺序,基于除所述第1个目标路由节点以外的目标路由节点,对所述第1参考路由数据进行数据路由,包括:
遍历i执行以下处理,直至完成对所述第1参考路由数据的数据路由:
当所述路由节点队列中的第i个目标路由节点的数据量阈值大于或等于第i-1参考路由数据的数据量时,基于所述第i个目标路由节点,对所述第i-1参考路由数据进行数据路由;
当所述第i个目标路由节点的数据量阈值小于所述第i-1参考路由数据的数据量时,对所述第i-1参考路由数据进行数据划分,得到第i参考路由数据和数据量等于相应的所述数据量阈值的第i目标路由数据;
基于所述第i个目标路由节点,对所述第i目标路由数据进行数据路由,其中,i大于或等于2,i的数值大小与所述路由优先级负相关。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收各所述目标路由节点发送的节点故障信息,当所述节点故障信息指示相应的所述目标路由节点不存在节点故障时,将所述目标路由节点确定为参考路由节点;
所述按照所述路由优先级从高至低的顺序,基于所述目标路由节点进行数据路由,包括:
按照所述路由优先级从高至低的顺序,基于所述参考路由节点进行数据路由。
7.一种数据路由方法,其特征在于,所述方法包括:
获取目标路由节点进行数据路由所对应的流量大小,并基于所述流量大小,确定所述目标路由节点的流量指示信息;
发送所述流量指示信息,以结合多个目标路由节点发送的流量指示信息所指示的所述流量大小,确定各所述目标路由节点的路由优先级,并获取待路由数据,以及各所述目标路由节点分别所能承载的数据量阈值,并按照所述路由优先级从高至低的顺序,对所述目标路由节点进行排序,得到路由节点队列;
当第1个目标路由节点的数据量阈值小于所述待路由数据的数据量时,对所述待路由数据进行数据划分,得到第1参考路由数据和数据量等于相应的所述数据量阈值的第1目标路由数据;
基于所述第1个目标路由节点,对所述第1目标路由数据进行数据路由,并按照所述路由优先级从高至低的顺序,基于除所述第1个目标路由节点以外的目标路由节点,对所述第1参考路由数据进行数据路由。
8.根据权利要求7所述的方法,其特征在于,所述基于所述流量大小,确定所述目标路由节点的流量指示信息,包括:
获取所述目标路由节点的初始指示信息,所述初始指示信息,用于指示所述目标路由节点进行初始数据路由所对应的初始流量大小,不同的所述目标路由节点对应的所述初始流量大小相同;
将所述初始流量大小与所述流量大小进行比较,得到比较结果;
当所述比较结果指示所述初始流量大小与所述流量大小相同时,将所述初始指示信息,确定为所述流量指示信息;
当所述比较结果指示所述初始流量大小与所述流量大小不同时,对所述初始指示信息进行调整,得到所述流量指示信息。
9.根据权利要求8所述的方法,其特征在于,所述初始指示信息通过所述目标路由节点的初始属性字段的字段长度所表征,所述对所述初始指示信息进行调整,得到所述流量指示信息,包括:
对所述目标路由节点的所述初始属性字段进行字段长度调整,得到所述目标路由节点的流量属性字段;
将所述流量属性字段的字段长度,确定为所述目标路由节点的流量指示信息;
其中,所述初始属性字段与所述流量属性字段对应的字段长度不同。
10.根据权利要求9所述的方法,其特征在于,所述流量属性字段包括第一属性字段和第二属性字段,所述对所述目标路由节点的所述初始属性字段进行字段长度调整,得到所述目标路由节点的流量属性字段,包括:
当所述比较结果指示所述初始流量大小小于所述流量大小时,对所述目标路由节点的所述初始属性字段进行字段长度加长,得到所述目标路由节点的第一属性字段;
当所述比较结果指示所述初始流量大小大于所述流量大小时,对所述目标路由节点的所述初始属性字段进行字段长度减小,得到所述目标路由节点的第二属性字段。
11.根据权利要求8所述的方法,其特征在于,所述发送所述流量指示信息之后,所述方法还包括:
当所述比较结果指示所述初始流量大小大于所述流量大小时,将所述目标路由节点的节点故障信息,确定为目标故障信息,并发送所述目标故障信息;
当所述比较结果指示所述初始流量大小小于或等于所述流量大小时,将所述目标路由节点的节点故障信息,确定为参考故障信息,并发送所述参考故障信息;
其中,所述目标故障信息,用于指示所述目标路由节点存在节点故障,所述参考故障信息,用于指示所述目标路由节点不存在节点故障。
12.根据权利要求11所述的方法,其特征在于,所述将所述目标路由节点的节点故障信息,确定为目标故障信息之后,所述方法还包括:
将所述目标路由节点的节点状态由工作状态切换为休眠状态,以暂停所述目标路由节点的数据路由功能。
13.根据权利要求12所述的方法,其特征在于,所述将所述目标路由节点的节点状态由工作状态切换为休眠状态之后,所述方法还包括:
对所述目标路由节点进行休眠状态检查,得到状态检查结果;
当所述状态检查结果指示所述目标路由节点存在状态异常时,将所述目标路由节点的节点状态由所述休眠状态切换为所述工作状态。
14.根据权利要求12所述的方法,其特征在于,所述将所述目标路由节点的节点状态由工作状态切换为休眠状态之后,所述方法还包括:
响应于所述目标路由节点完成故障修复,将所述目标路由节点的节点状态由所述休眠状态切换为所述工作状态,并将所述目标路由节点的节点故障信息由所述目标故障信息修改为所述参考故障信息,并发送所述参考故障信息;
对所述流量指示信息进行调整,得到所述目标路由节点的修复指示信息,所述修复指示信息所指示的修复流量大小与所述流量指示信息所指示的流量大小不同;
发送所述修复指示信息,所述修复指示信息所指示的修复流量大小与所述初始流量大小相同。
15.根据权利要求7所述的方法,其特征在于,所述获取目标路由节点进行数据路由所对应的流量大小之前,所述方法还包括:
对所述目标路由节点进行流量调整检查,得到检查结果;
所述获取目标路由节点进行数据路由所对应的流量大小,包括:
当所述检查结果指示所述目标路由节点满足流量调整条件时,获取目标路由节点进行数据路由所对应的流量大小。
16.一种数据路由装置,其特征在于,所述装置包括:
接收模块,用于接收多个目标路由节点发送的流量指示信息,所述流量指示信息用于指示所述目标路由节点进行数据路由所对应的流量大小;
确定模块,用于基于各所述流量指示信息指示的流量大小,确定各所述目标路由节点的路由优先级,所述路由优先级与相应的所述流量大小正相关;
数据路由模块,用于获取待路由数据,以及各所述目标路由节点分别所能承载的数据量阈值,并按照所述路由优先级从高至低的顺序,对所述目标路由节点进行排序,得到路由节点队列;当第1个目标路由节点的数据量阈值小于所述待路由数据的数据量时,对所述待路由数据进行数据划分,得到第1参考路由数据和数据量等于相应的所述数据量阈值的第1目标路由数据;基于所述第1个目标路由节点,对所述第1目标路由数据进行数据路由,并按照所述路由优先级从高至低的顺序,基于除所述第1个目标路由节点以外的目标路由节点,对所述第1参考路由数据进行数据路由。
17.一种数据路由装置,其特征在于,所述装置包括:
获取模块,用于获取目标路由节点进行数据路由所对应的流量大小,并基于所述流量大小,确定所述目标路由节点的流量指示信息;
发送模块,用于发送所述流量指示信息,以结合多个目标路由节点发送的流量指示信息所指示的所述流量大小,确定各所述目标路由节点的路由优先级,并获取待路由数据,以及各所述目标路由节点分别所能承载的数据量阈值,并按照所述路由优先级从高至低的顺序,对所述目标路由节点进行排序,得到路由节点队列;当第1个目标路由节点的数据量阈值小于所述待路由数据的数据量时,对所述待路由数据进行数据划分,得到第1参考路由数据和数据量等于相应的所述数据量阈值的第1目标路由数据;基于所述第1个目标路由节点,对所述第1目标路由数据进行数据路由,并按照所述路由优先级从高至低的顺序,基于除所述第1个目标路由节点以外的目标路由节点,对所述第1参考路由数据进行数据路由。
18.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至15任一项所述的数据路由方法。
19.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至15任一项所述的数据路由方法。
20.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至15任一项所述的数据路由方法。
CN202410174881.2A 2024-02-07 2024-02-07 数据路由方法、装置、电子设备、存储介质及程序产品 Active CN117714360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410174881.2A CN117714360B (zh) 2024-02-07 2024-02-07 数据路由方法、装置、电子设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410174881.2A CN117714360B (zh) 2024-02-07 2024-02-07 数据路由方法、装置、电子设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN117714360A CN117714360A (zh) 2024-03-15
CN117714360B true CN117714360B (zh) 2024-04-26

Family

ID=90162924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410174881.2A Active CN117714360B (zh) 2024-02-07 2024-02-07 数据路由方法、装置、电子设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN117714360B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011012062A1 (zh) * 2009-07-27 2011-02-03 华为技术有限公司 一种路由发现的选择方法、设备和系统
CN103152284A (zh) * 2013-03-18 2013-06-12 神州数码网络(北京)有限公司 一种路由器多径输出智能负载均衡的方法及路由器
CN103581014A (zh) * 2012-07-20 2014-02-12 中兴通讯股份有限公司 Vrrp路由器动态调整方法及装置
US8964546B1 (en) * 2012-01-31 2015-02-24 Google Inc. Indirect measurement of user traffic on links
CN109104298A (zh) * 2018-07-10 2018-12-28 新华三技术有限公司 一种线卡框选择方法及装置
CN114465836A (zh) * 2020-10-30 2022-05-10 华为技术有限公司 一种流量转发方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011012062A1 (zh) * 2009-07-27 2011-02-03 华为技术有限公司 一种路由发现的选择方法、设备和系统
US8964546B1 (en) * 2012-01-31 2015-02-24 Google Inc. Indirect measurement of user traffic on links
CN103581014A (zh) * 2012-07-20 2014-02-12 中兴通讯股份有限公司 Vrrp路由器动态调整方法及装置
CN103152284A (zh) * 2013-03-18 2013-06-12 神州数码网络(北京)有限公司 一种路由器多径输出智能负载均衡的方法及路由器
CN109104298A (zh) * 2018-07-10 2018-12-28 新华三技术有限公司 一种线卡框选择方法及装置
CN114465836A (zh) * 2020-10-30 2022-05-10 华为技术有限公司 一种流量转发方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无线Mesh网络集中式信道分配算法设计;刘贺;张陆勇;陈明刚;李茁;;无线电工程;20110505(第05期);全文 *

Also Published As

Publication number Publication date
CN117714360A (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
US11693746B2 (en) Systems and methods for enabling a highly available managed failover service
US10075329B2 (en) Customizable high availability switchover control of application delivery controllers
CN103621027B (zh) 通信路由控制系统和通信路由控制方法
US8923113B2 (en) Optimizations in multi-destination tree calculations for layer 2 link state protocols
CN111049695A (zh) 云网关配置方法和系统
US11366728B2 (en) Systems and methods for enabling a highly available managed failover service
US11341005B2 (en) Systems and methods for enabling a highly available managed failover service
CN104243196B (zh) 一种sdn架构下的虚拟网络映射保护方法及系统
US11403319B2 (en) High-availability network device database synchronization
CN111935017B (zh) 跨网络的应用调用方法、装置及路由设备
CN110636036A (zh) 一种基于SDN的OpenStack云主机网络访问控制的方法
CN113193996B (zh) 一种电力光传输网优化方法、装置、设备及存储介质
US20220283822A1 (en) State machine processing method, state processing method, electronic device, and storage medium
CN104639437A (zh) 堆叠系统中广播报文的转发方法及装置
Tsvetkov et al. Model of Restoration of the Communication Network Using the Technology of Software Defined Networks
US11595294B1 (en) Satisfying demands in data communication networks
US11695856B2 (en) Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device
US10897402B2 (en) Statistics increment for multiple publishers
CN112994942B (zh) 一种sdn控制方法及装置
CN117714360B (zh) 数据路由方法、装置、电子设备、存储介质及程序产品
CN113472641B (zh) 链路控制方法、装置、系统、协同业务编排器及存储介质
US11743108B1 (en) Dynamic customization of network controller data path based on controller internal state awareness
CN115865791B (zh) 骨干网络故障的路径切换方法、系统、介质及电子设备
CN113595760B (zh) 一种系统故障的处理方法和装置
CN111385182B (zh) 流量的传输方法及装置,系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant