CN109218181A - 一种数据传输的方法、装置及电子设备 - Google Patents
一种数据传输的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109218181A CN109218181A CN201811280905.3A CN201811280905A CN109218181A CN 109218181 A CN109218181 A CN 109218181A CN 201811280905 A CN201811280905 A CN 201811280905A CN 109218181 A CN109218181 A CN 109218181A
- Authority
- CN
- China
- Prior art keywords
- node
- equipment
- data packet
- path
- sent
- 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
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/54—Organization of routing tables
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/52—Multiprotocol routers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据传输的方法、装置及电子设备,用于解决现有技术中当网络出现异常情况时,用户的交互体验差,资金消耗大的问题。包括:根据设定传输协议,接收第一设备发送的数据包;确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;将所述数据包按照所述转发路径发送给第二设备。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输的方法、装置及电子设备。
背景技术
随着互联网应用的发展,在实时通信网络(Real-Time Networks,RTN)里,由于网络的低延迟,在端到端通信时对网络抖动、闪断等突发的异常情况极其敏感,当出现上述异常情况时会立刻影响端到端的音视频会话,会导致两端的用户的交互体验差。
在现有技术中,为了对抗网络不可预知的服务中断,通常采用多点备份或多集群备份的方式,具体的,每个集群都是一个独立的服务单元,可以承载基本的通信服务,以避免单点故障。举例说明,当某一个集群发生故障,将这个集群上服务的用户通过网络调度迁移到另一个集群,或者是集群中的某个节点发生故障,将这个节点上的用户迁移到该集群中的另一个节点,但在RTN网络中,用户从一个集群迁移到另一个集群的调度或者从一个节点迁移到另一个节点时,用户迁移的时间从十多秒到几分钟,用户迁移时间长,影响用户的交互体验,并且集群之间是独立且互为备份的,所以集群的部署存在很大的冗余,资金消耗大。
综上所述,如何在网络出现异常情况时,提高用户的交互体验,减少资金消耗是目前需要解决的问题。
发明内容
有鉴于此,本发明提供了一种数据传输的方法、装置及电子设备,用于解决现有技术中当网络出现异常情况时,用户的交互体验差,资金消耗大的问题。
根据本发明实施例的第一个方面,提供了一种数据传输的方法,包括:根据设定传输协议,接收第一设备发送的数据包;确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;将所述数据包按照所述转发路径发送给第二设备。
在一个实施例中,所述第一设备为服务器,所述根据设定传输协议,接收第一设备发送的数据包,具体包括:根据零消息队列传输协议ZMTP,接收所述服务器发送的所述数据包。
在一个实施例中,所述第一设备为客户端,所述根据设定传输协议,接收第一设备发送的数据包,具体包括:根据路由表维护协议RTMP,接收所述客户端发送的所述数据包。
根据本发明实施例的第二个方面,提供了一种数据传输的方法,包括:按照设定周期接收传输平面中各节点的第一消息,其中,所述第一消息包括任一节点的负载情况及所述任一节点与其相关指定节点间的通路情况;根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,并生成所述各节点的转发规则;将所述转发规则发送给所述各节点。
在一个实施例中,所述通路情况具体包括所述任一节点与其相关的指定节点间的单向延迟及丢包率,根据协议层的ping消息确定。
在一个实施例中,所述根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,具体包括:根据开放式最短路径优先OSPF路由协议确定第一设备到第二设备之间的数据包转发路径。
在一个实施例中,所述转发路径可以根据第三设备的命令直接生成。
根据本发明实施例的第三个方面,提供了一种数据传输的装置,包括:第一接收单元,用于根据设定传输协议,接收第一设备发送的数据包;第一确定单元,用于确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;第一发送单元,用于将所述数据包按照所述转发路径发送给第二设备。
在一个实施例中,所述第一设备为服务器;所述第一接收单元具体用于:根据零消息队列传输协议ZMTP,接收所述服务器发送的所述数据包。
在一个实施例中,所述第一设备为客户端;所述第一接收单元具体用于:根据路由表维护协议RTMP,接收所述客户端发送的所述数据包。
根据本发明实施例的第四个方面,提供了一种数据传输的装置,包括:第二接收单元,用于按照设定周期接收传输平面中各节点的第一消息,其中,所述第一消息包括任一节点的负载情况及所述任一节点与其相关指定节点间的通路情况;第二确定单元,用于根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,并生成所述各节点的转发规则;第二发送单元,用于将所述转发规则发送给所述各节点。
在一个实施例中,所述通路情况具体包括所述任一节点与其相关的指定节点间的单向延迟及丢包率,根据协议层的ping消息确定。
在一个实施例中,所述第二确定单元具体用于:根据开放式最短路径优先OSPF路由协议确定第一设备到第二设备之间的数据包转发路径。
在一个实施例中,所述转发路径可以根据第三设备的命令直接生成。
根据本发明实施例的第五个方面,提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面或第一方面任一种可能所述的方法。
根据本发明实施例的第六个方面,提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能所述的方法。
本发明实施例的有益效果包括:根据设定传输协议,接收第一设备发送的数据包;确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;将所述数据包按照所述转发路径发送给第二设备。由于所述转发路径是所述控制平面根据节点设定周期上报的负载情况和通路情况确定的,当网络出现异常情况时,控制平面可以根据接收到的负载情况和通路情况重新确定数据包的转发路径,使数据包从第一设备发送到第二设备时不受抖动,闪断等网络异常情况的影响,提高用户的交互体验,并且不需要备份多个集群,减少资金消耗。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例提供的一种传统线路平面示意图;
图2是本发明实施例提供的一种基于SD-RTN的数据传输平面示意图;
图3是本发明实施例提供的一种数据传输的方法流程图;
图4(a)是本发明实施例提供的一种服务器与传输平面数据传输的示意图;
图4(b)是本发明实施例提供的另一种服务器与传输平面数据传输的示意图;
图5是本发明实施例提供的一种数据传输的方法流程图;
图6是本发明实施例提供的一种ping消息传输流程图;
图7是本发明实施例提供的一种传输平面中任一节点数据传输示意图;
图8是本发明实施例提供的一种数据传输的装置示意图;
图9是本发明实施例提供的一种数据传输的装置示意图;
图10是本发明实施例提供的一种数据传输的装置示意图;
图11是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在现有技术中,用户使用如图1所示的传统线路平面在实现服务器与服务器间的数据传输时,如果出现网络异常情况数据传输链路断开时,只能将数据从一个服务器迁移到其他服务器,在进行数据迁移时需要十多秒到几分钟,用户迁移时间长,影响用户的交互体验,其中,所述服务器与服务器之间的数据传输可以是国内数据也可以传输国际间的数据传输,当服务器与服务器之间传输的国际数据时,服务器之间的数据传输链路为国际专线。对其本发明实施例提出了一种数据传输方法,所述数据传输方法基于软件定义(Software Defined,SD)-RTN,通过控制平面和传输平面相结合,实现对用户数据的传输,如图2所示,用户通过客户端或者服务器接入传输平面,通过所述传输平面中的转发路径(也可以称为传输路径、路由决策)实现端到端的数据传输,所述转发路径是通过所述控制平面确定的,传输平面中的节点接收到控制平面中的控制器集群下发的转发规则,通过所述转发规则实现用户数据的传输,本发明实施例中,接入传输平面的服务器可以是现有技术中传统线路平面中的服务器。下面分别从控制平面和传输平面对一种数据传输的方法进行详细的说明。
针对传输平面,本发明提供的一种数据传输的方法,具体如图3所示,包括:
步骤S300、根据设定传输协议,接收第一设备发送的数据包。
其中,所述数据包可以通过服务器或者客户端获取,通过传输平面的接入节点接收第一设备发送的数据包,所述接入节点可以为普通节点、边缘节点或核心节点,本申请对其不做限定。
所述设定传输协议包括零消息队列传输协议(Zero Message Queue TransportProtocol,ZMTP)、路由表维护协议(Routing table maintenance protocol,RTMP)等,本发明在此只做示例性说明,而不局限与此。
举例说明:
例一、当所述数据包从所述服务器获取时,根据零消息队列传输协议ZMTP,接收服务器发送的数据包,具体的,基于ZMTP构建的零消息队列(Zero Message Queue,ZMQ)是一个高性能的异步传输通信库,其中,所述ZMQ也可以称为是一个简单的传输层,或者是一个消息处理队列库,ZMQ使得套接字(socket)编程更加简单,可在多个线程、内核和主机盒之间弹性伸缩,适用于高性能网络。基于传输层的传输控制协议(Transmission ControlProtocol,TCP)抽象出了自身的ZMQ socket,因此采用ZMQ socket的服务器都可以通过ZMTP进行通信。服务器只需要使用发布(PUB)和订阅(SUB)两种消息就可以和传输平面中的接入节点进行对接,当服务器需要发送消息时,该服务器为采用ZMTP通信的PUB方,当服务器需要接收消息时,该服务器为采用ZMTP通信的SUB方,由于采用ZMTP通信时,不同的逻辑通道可以复用在一个物理通道内,所以最少只需要两个TCP连接就可以完成和传输平面的对接。具体如图4所示,(a)表示服务器向传输平面发送消息时,服务器为PUB端,传输平面中的节点为SUB端;(b)表示服务器从传输平面接收消息时,服务器为SUB端,传输平面中的节点为PUB端。
例二、当所述数据包从所述客户端获取时,根据路由表维护协议(Routing TableMaintenance Protocol,RTMP),接收所述客户端发送的所述数据包。具体的,传输平面的接入节点接收到客户端通过RTMP协议发送的数据包,由于RTMP数据不能再传输平面中包括的各节点间传输,因此,传输平面的接入节点将数据包拆包,重新封装成传输平面内部可传输的传输协议。
步骤S301、确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则。
具体的,传输平面中具有多条通信的链路,即多条数据包的转发路径,第一设备到第二设备之间传输数据包时,在所述多条链路中选择一条最佳通信链路,所述最佳通信链路时控制单元根据传输平面中各节点上报的通道情况和复杂情况通过计算确定出的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则,传输平面的接入节点接收到数据包后,根据预先接收到的控制平面下发的转发规则,对接收到的数据进行转发。
步骤S302、将所述数据包按照所述转发路径发送给第二设备。
本发明实施例中,根据设定传输协议,接收第一设备发送的数据包;确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;将所述数据包按照所述转发路径发送给第二设备。由于所述转发路径是所述控制平面根据节点设定周期上报的负载情况和通路情况确定的,当网络出现异常情况时,控制平面可以根据接收到的负载情况和通路情况重新确定数据包的转发路径,使数据包从第一设备发送到第二设备时不受抖动,闪断等网络异常情况的影响,提高用户的交互体验,并且不需要备份多个集群,减少资金消耗。
针对控制平面,本发明提供的一种数据传输的方法,具体如图5所示,包括:
步骤S500、按照设定周期接收传输平面中各节点的第一消息,其中,所述第一消息包括任一节点的负载情况及所述任一节点与其相关指定节点间的通路情况。
具体的,所述通路情况具体包括所述任一节点与其相关的指定节点间的单向延迟及丢包率,各个节点的通路消息时根据协议层的ping消息确定的,所述设定周期可以为5秒,也可以为其他数值,由控制平面设置,本申请对其不做限定。控制平面可以从各个节点上部署的监控代理agent获取各节点第一消息,监控代理agent将各个节点的负载情况和通路情况上报给控制平面。
可选的,通过消息接收模块接收传输平面中各节点的第一消息,所述控制平面中所示消息接收模块为多个,并且所述消息接收模块具有负载均衡控制机制,当传输平面中的节点首次连接控制平面时,由负载均衡机制指定一台消息接收模块与该节点进行通信。
步骤S501、根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,并生成所述各节点的转发规则。
具体的,控制平面中的各个消息接收模块将接收到的第一消息聚合后发送给控制平面中的路由运算模块,由控制平面中的路由运算模块确定出转发路径。举例说明,根据带权值的开放式最短路径优先OSPF(Open Shortest Path First)路由协议确定第一设备到第二设备之间的数据包转发路径,即确定第一设备与第二设备进行数据传输时使用的逻辑频道,其中,所述权值主要包括各节点之间的单向延迟、各节点之间的丢包率、各节点的负载情况,还节点的历史承载能力预测和节点的角色(包括:普通节点、核心节点、边缘节点)等,针对每个频道,计算从数据源(第一设备或第二设备)到数据订阅者(第二设备或第一设备)之间的最佳路由(也可以成为最佳转发路径),计算时把该转发路径经过的各节点的权值纳入计算依据,最后为该转发路径中间的节点生成对应的转发规则,即路由表,本发明实施例中,除了动态计算转发规则外,路由决策模块还可以接收静态设置,生产静态路由决策(转发路径),强制指定各节点的转发规则。
可选的,路由决策模块在进行计算时采用支持分布式分区计算模式或按照频道ID的哈希hash结果进行取模运算两种方式,其中,采用支持分布式分区计算模式时,例如国内一个区,国外若干个区域,按照分区的结果将同区域的运算调度到不同的路由计算节点上进行;按照频道ID的哈希hash结果进行取模运算时,例如,按照取模运算的结果,将不同频道的运算调度到不同的路由计算节点上进行;具体的,上述路由计算节点是独立的,可以分布在同一台服务器上,也可以分布在不同的服务器上,确定计算结果,即确定路由规则和转发规则。
步骤S502、将所述转发规则发送给所述各节点。
具体的,将转发规则通过消息接收模块直接发送给各节点。
当传输平面上的节点是首次连接控制平面时,接收到的转发规则是全量更新的转发规则,之后根据节点上报的第一消息,按照路由决策模块的计算情况,对转发规则进行部分的增量更新。
在一种可能的实现方式中,所述转发路径可以根据第三设备的命令直接生成。
具体的,控制平面包括外部API接口,接收来自其他外部模块(第三设备)的命令,直接生成静态路由决策,所述静态路由决策的优先级高于动态路由决策的优先级。除非所述静态路由决策的链路上的存在任一节点的丢包率、单向延迟和负载情况超出了设定的门限值,其中,所述门限值为任一节点首次与控制平面连接时获取的。
本发明实施例中,每个节点和控制平面的交互采用一条http长连接,节点启动时需要和控制平面进行一次注册通信,完成注册后获取到本节点对应的转发规则,并以转发规则表的形式缓存在内存中,每次进行数据转发时从缓存的转发规则表里获取转发规则,然后进行转发,转发规则有不同粒度,可以针对数据来源节点,数据来源协议,数据所在的逻辑频道等,转发规则表不需要存储全网的规则,只需要存储来自控制平面设置的信息即可,此外,所述转发规则表中还有一组默认的转发规则,当数据来源无法匹配任何转发规则时,采用默认规则,并将此情况上报控制平面。对于初始加入SD-RTN的第三方节点,如果没有找到其对应的逻辑频道的转发规则,则会先执行默认的转发规则;若按节点来源的进行转发,转发节点把该逻辑频道上报控制平面,由控制平面选取最优的转发规则,下发给转发节点,转发节点对后续的该频道的报文执行新的转发规则,其中,所述转发节点即转发路径上的节点。
下面通过一个具体实施例,对步骤S500中的通路情况进行详细说明。各节点基于4层协议的tcp/udp ping消息数据来分析网络通路情况,具体如图6所示,由于ping消息是节点间传输的,是节点对指令节点的不间断探测所采用的消息,所述ping消息即一个私有协议报文,所述私有协议即及节点间的数据通信协议,所述通信协议可以基于tcp,也可以是基于udp,具体的,ping发送端和ping接收端分别为传输平面中的两个节点,具体流程如下:
步骤S600、ping发送端向ping接收端发送请求,所述请求中包括当前时间戳t1。
步骤S601、所述ping接收端记录接收到所述请求的时间点t2。
步骤S602、所述ping接收端向所述ping发送端发送响应请求,所述响应请求中包括t2以及当前的时间戳t3。
步骤S603、所述ping发送端记录接收到所述响应请求的时间点t4。
本发明实施例中,由于网络是双向的,但双向延迟不一定是ping延迟的1/2,所以本方案在进行ping消息收发时,会打上当前的时间戳,在数据返回时,分别计算双向的延迟。具体的计算公式如下:首先计算两端的本地时间差=((t2–t1)+(t3–t4))/2,然后计算ping发送端到ping接收端的单向延迟=(t2-t1)+((t2–t1)+(t3–t4))/2。
可选的,通过上述方式不仅可以计算出单向延迟,还可以监控节点之间的丢包率,具体的,ping发送端发送了探测的ping消息后,在设定的时间内没有收到响应的ping消息,认为发生了丢包,根据一个指定时间间隔内,丢包的数量和发送ping消息的数量比率,可以得到丢包率。其中,所述ping消息包含节点自身的负载信息。
下面通过一个具体实施例,对传输平面中的节点进行详细说明。
假设传输平面中的接收数据的节点为边缘节点,当边缘节点接收到数据包后,若所述数据包来源于第三方服务器或者客户端,则所述边缘节点对所述数据包进行拆包,解析出有效载荷后再封装一个节点之间可以使用的私有协议的包头,所述包头的内容包括频道通道编号,来源ID,来源协议等内容,用于唯一标示该数据包,便于其他节点进行转发。举例说明:如图7所示,对于任一节点,接收到1)来源A、频道1和频道2的数据包;2)来源B、频道3和频道4的数据包;3)来源C、频道5和频道6的数据包,在所述节点的缓存中查找转发规则,将1)2)3)接收到的数据包发送给下一个节点,具体的方式可以为4)目标D、频道1、频道2和频道3;5)目标E、频道4、频道5和频道6。通过该方式,将多个不同来源的数据汇聚到不同的转发路径上,所述频道为数据传输的逻辑频道。
可选的,所述传输平面中的节点也可以称为网络节点,可以按照位置和功能分为边缘节点,普通节点和核心节点三类,其中,所述边缘节点支持和第三方服务器(网络),客户端的协议对接;普通节点和核心节点的功能相同,都是负责数据路由转发,普通节点承载的连接数相比核心节点少,路由决策模块在进行计算时会优先考虑核心节点,在部署节点时,一个节点可以是边缘节点,也可以是核心节点,本发明实施例对其不做限定。
图8是本发明实施例提供的一种数据传输的装置示意图。如图7所示,具体为一种传输平面的示意图,本实施例的数据传输的装置包括:第一接收单元81、第一确定单元82和第一发送单元83。
其中,第一接收单元81,用于根据设定传输协议,接收第一设备发送的数据包;第一确定单元82,用于确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;第一发送单元83,用于将所述数据包按照所述转发路径发送给第二设备。
在一个实施例中,所述第一设备为服务器;所述第一接收单元具体用于:根据零消息队列传输协议ZMTP,接收所述服务器发送的所述数据包。
在一个实施例中,所述第一设备为客户端;所述第一接收单元具体用于:根据路由表维护协议RTMP,接收所述客户端发送的所述数据包。
图9是本发明实施例提供的一种数据传输的装置示意图。如图9所示,具体为一种控制平面的示意图,本实施例的数据传输的装置包括:第二接收单元91、第二确定单元92和第二发送单元93。
其中,第二接收单元,用于按照设定周期接收传输平面中各节点的第一消息,其中,所述第一消息包括任一节点的负载情况及所述任一节点与其相关指定节点间的通路情况;第二确定单元,用于根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,并生成所述各节点的转发规则;第二发送单元,用于将所述转发规则发送给所述各节点。
本发明实施例中,还可以通过其它方式表示所述数据传输的装置,即其它方式表示控制平面的结构,如图10所示,所述第二接收单元和第二发送单元可以通过消息接收模块101实现,所述第二确定单元可以通过路由决策模块102实现,所述控制平面还包括外部API接口。
在一个实施例中,所述通路情况具体包括所述任一节点与其相关的指定节点间的单向延迟及丢包率,根据协议层的ping消息确定。
在一个实施例中,所述第二确定单元具体用于:根据开放式最短路径优先OSPF路由协议确定第一设备到第二设备之间的数据包转发路径。
可选的,所述转发路径可以根据第三设备的命令直接生成。
图11是本发明实施例的电子设备的示意图。图11所示的电子设备为通用数据传输装置,其包括通用的计算机硬件结构,其至少包括处理器111和存储器112。处理器111和存储器112通过总线113连接。存储器112适于存储处理器111可执行的指令或程序。处理器111可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器111通过执行存储器112所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线113将上述多个组件连接在一起,同时将上述组件连接到显示控制器114和显示装置以及输入/输出(I/O)装置115。输入/输出(I/O)装置115可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置115通过输入/输出(I/O)控制器116与系统相连。
如本领域技术人员将意识到的,本发明实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本发明实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本发明实施例的各个方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本发明实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。
用于执行针对本发明实施例各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。
上述根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本发明实施例的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/动作的过程。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种数据传输的方法,其特征在于,包括:
根据设定传输协议,接收第一设备发送的数据包;
确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;
将所述数据包按照所述转发路径发送给第二设备。
2.如权利要求1所述的方法,其特征在于,所述第一设备为服务器;
所述根据设定传输协议,接收第一设备发送的数据包,具体包括:
根据零消息队列传输协议ZMTP,接收所述服务器发送的所述数据包。
3.如权利要求1所述的方法,其特征在于,所述第一设备为客户端;
所述根据设定传输协议,接收第一设备发送的数据包,具体包括:
根据路由表维护协议RTMP,接收所述客户端发送的所述数据包。
4.一种数据传输的方法,其特征在于,包括:
按照设定周期接收传输平面中各节点的第一消息,其中,所述第一消息包括任一节点的负载情况及所述任一节点与其相关指定节点间的通路情况;
根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,并生成所述各节点的转发规则;
将所述转发规则发送给所述各节点。
5.如权利要求4所述的方法,其特征在于,所述通路情况具体包括所述任一节点与其相关的指定节点间的单向延迟及丢包率,根据协议层的ping消息确定。
6.如权利要求4所述的方法,其特征在于,所述根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,具体包括:
根据开放式最短路径优先OSPF路由协议确定第一设备到第二设备之间的数据包转发路径。
7.如权利要求4所述的方法,其特征在于,所述转发路径可以根据第三设备的命令直接生成。
8.一种数据传输的装置,其特征在于,包括:
第一接收单元,用于根据设定传输协议,接收第一设备发送的数据包;
第一确定单元,用于确定所述数据包的转发路径,其中,所述转发路径为控制平面预先设置的,所述转发路径上包括至少两个节点,所述至少两个节点的每个节点中存储所述控制平面按照设定周期下发的转发规则;
第一发送单元,用于将所述数据包按照所述转发路径发送给第二设备。
9.如权利要求8所述的装置,其特征在于,所述第一设备为服务器;
所述第一接收单元具体用于:
根据零消息队列传输协议ZMTP,接收所述服务器发送的所述数据包。
10.如权利要求8所述的装置,其特征在于,所述第一设备为客户端;
所述第一接收单元具体用于:
根据路由表维护协议RTMP,接收所述客户端发送的所述数据包。
11.一种数据传输的装置,其特征在于,包括:
第二接收单元,用于按照设定周期接收传输平面中各节点的第一消息,其中,所述第一消息包括任一节点的负载情况及所述任一节点与其相关指定节点间的通路情况;
第二确定单元,用于根据所述第一消息确定第一设备到第二设备之间的数据包转发路径,并生成所述各节点的转发规则;
第二发送单元,用于将所述转发规则发送给所述各节点。
12.如权利要求11所述的装置,其特征在于,所述通路情况具体包括所述任一节点与其相关的指定节点间的单向延迟及丢包率,根据协议层的ping消息确定。
13.如权利要求11所述的装置,其特征在于,所述第二确定单元具体用于:
根据开放式最短路径优先OSPF路由协议确定第一设备到第二设备之间的数据包转发路径。
14.如权利要求11所述的装置,其特征在于,所述转发路径可以根据第三设备的命令直接生成。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280905.3A CN109218181A (zh) | 2018-10-30 | 2018-10-30 | 一种数据传输的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280905.3A CN109218181A (zh) | 2018-10-30 | 2018-10-30 | 一种数据传输的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109218181A true CN109218181A (zh) | 2019-01-15 |
Family
ID=64998165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811280905.3A Pending CN109218181A (zh) | 2018-10-30 | 2018-10-30 | 一种数据传输的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218181A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260853A (zh) * | 2020-09-17 | 2021-01-22 | 北京大米科技有限公司 | 容灾切换方法、装置、存储介质及电子设备 |
CN113114558A (zh) * | 2021-04-07 | 2021-07-13 | 成都卫士通信息产业股份有限公司 | 通讯消息传输方法、装置、通讯服务器及计算机存储介质 |
CN113298649A (zh) * | 2020-07-01 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 交易数据的处理方法和装置、数据处理方法和装置 |
CN113347086A (zh) * | 2021-05-19 | 2021-09-03 | 北京安信智通科技有限公司 | 传输数据的方法、装置以及存储介质 |
CN113765805A (zh) * | 2021-08-31 | 2021-12-07 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841189A (zh) * | 2014-02-28 | 2014-06-04 | 上海斐讯数据通信技术有限公司 | 控制云计算中心服务器之间数据通信的方法 |
CN103888369A (zh) * | 2014-04-10 | 2014-06-25 | 何顺民 | 以太网通信方法、系统和sdn交换机 |
US20150288616A1 (en) * | 2014-01-26 | 2015-10-08 | International Business Machines Corporation | Processing resource access request in network |
CN106059960A (zh) * | 2016-05-24 | 2016-10-26 | 北京交通大学 | 一种基于软件定义网络的空间网络QoS保障方法及管理中心 |
WO2018072833A1 (en) * | 2016-10-20 | 2018-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatuses for attaching a radio base station to a core network node |
-
2018
- 2018-10-30 CN CN201811280905.3A patent/CN109218181A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150288616A1 (en) * | 2014-01-26 | 2015-10-08 | International Business Machines Corporation | Processing resource access request in network |
CN103841189A (zh) * | 2014-02-28 | 2014-06-04 | 上海斐讯数据通信技术有限公司 | 控制云计算中心服务器之间数据通信的方法 |
CN103888369A (zh) * | 2014-04-10 | 2014-06-25 | 何顺民 | 以太网通信方法、系统和sdn交换机 |
CN106059960A (zh) * | 2016-05-24 | 2016-10-26 | 北京交通大学 | 一种基于软件定义网络的空间网络QoS保障方法及管理中心 |
WO2018072833A1 (en) * | 2016-10-20 | 2018-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatuses for attaching a radio base station to a core network node |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113298649A (zh) * | 2020-07-01 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 交易数据的处理方法和装置、数据处理方法和装置 |
CN112260853A (zh) * | 2020-09-17 | 2021-01-22 | 北京大米科技有限公司 | 容灾切换方法、装置、存储介质及电子设备 |
CN112260853B (zh) * | 2020-09-17 | 2023-07-21 | 北京大米科技有限公司 | 容灾切换方法、装置、存储介质及电子设备 |
CN113114558A (zh) * | 2021-04-07 | 2021-07-13 | 成都卫士通信息产业股份有限公司 | 通讯消息传输方法、装置、通讯服务器及计算机存储介质 |
CN113347086A (zh) * | 2021-05-19 | 2021-09-03 | 北京安信智通科技有限公司 | 传输数据的方法、装置以及存储介质 |
CN113347086B (zh) * | 2021-05-19 | 2022-11-22 | 北京安信智通科技有限公司 | 传输数据的方法、装置以及存储介质 |
CN113765805A (zh) * | 2021-08-31 | 2021-12-07 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
CN113765805B (zh) * | 2021-08-31 | 2023-10-20 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218181A (zh) | 一种数据传输的方法、装置及电子设备 | |
US10855575B2 (en) | Adaptive traffic routing in a software-defined wide area network | |
CN110290506B (zh) | 一种边缘云移动性管理方法及设备 | |
US9609549B2 (en) | Dynamic network load rebalancing | |
JP5944537B2 (ja) | 通信経路の管理方法 | |
WO2019206296A1 (zh) | 用于网关服务器的故障处理方法和装置 | |
US8655499B2 (en) | Controlling virtual power circuits | |
JP7345059B2 (ja) | ルーティング制御方法、装置、プログラム及びコンピュータ装置 | |
US9137162B2 (en) | Network traffic routing optimization | |
JP5113093B2 (ja) | ネットワークの管理システム及び管理方法 | |
US20190104061A1 (en) | Controller communications in access networks | |
Xie et al. | Cutting long-tail latency of routing response in software defined networks | |
CN103795805A (zh) | 基于sdn的分布式服务器负载均衡方法 | |
US20170293500A1 (en) | Method for optimal vm selection for multi data center virtual network function deployment | |
JP5757325B2 (ja) | 仮想デスクトップシステム、ネットワーク処理装置、管理方法、及び管理プログラム | |
Isyaku et al. | Dynamic routing and failure recovery approaches for efficient resource utilization in OpenFlow-SDN: a survey | |
Chen et al. | Traffic-aware load balancing for M2M networks using SDN | |
US11936565B2 (en) | Methods and apparatus for data traffic control in networks | |
JP2010045503A (ja) | パケット転送システムおよびパケット転送方法 | |
Aktas et al. | Scheduling and flexible control of bandwidth and in-transit services for end-to-end application workflows | |
CN105515844A (zh) | 一种提高软件定义网络可靠性的系统 | |
JP5252571B2 (ja) | ネットワークの管理システム及び管理方法 | |
US20150372895A1 (en) | Proactive Change of Communication Models | |
JP6228822B2 (ja) | ネットワーク管理制御装置、ネットワーク管理制御システム、及びネットワーク管理制御方法 | |
CN113840331A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190115 |