数据通信方法、装置、控制器及系统与流程

文档序号:21035952发布日期:2020-06-09 20:25阅读:145来源:国知局
数据通信方法、装置、控制器及系统与流程

本申请涉及数据传输领域,尤其是涉及一种数据通信方法、装置、控制器及系统。



背景技术:

目前,公有云中归属不同用户的vpc(virtualprivatecloud,虚拟私有云)可以保证云中环境隔离,而一些大型企业或者对数据私密性要求较高的企业通常会把较为重要的数据放置到企业内部的互联网数据中心(idc,internetdatacenter)。此时同一用户的vpc与idc进行通信时,需通过私有线路或者通过加密的公网线路来实现。

1)vpc采用私有物理专线与idc通信,该方案具有延迟低、通信稳定、可靠的优点,但是也由于需要在客户idc与公有云提供商之间建立物理链路,有施工周期长、成本高的弱点。

2)vpc通过加密的公网线路(例如:vpn(virtualprivatenetwork,虚拟专用网络))与idc互通,该方案只需要两端接入设备在公网可通的前提下,做相应的链路加密、互通配置即可,具有实施灵活、不需建设物理线路成本低有点,但是通过不稳定以及高延迟的公网线路,就具有抖动频繁、卡顿、通信质量较差等弊端。

但是在采用上述这两种方式对接企业idc时,一旦出现物理专线或者公网线路链路故障,就会导致通信中断,严重影响通信质量和通信的可靠性,同时降低了客户体验。



技术实现要素:

有鉴于此,本申请的目的在于提供一种数据通信方法、装置、控制器及系统,以有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。

第一方面,本申请实施例提供了一种数据通信系统,包括控制器及至少两个通信设备;所述控制器分别与所述至少两个通信设备通信连接;

每个所述通信设备分别接入虚拟私有云vpc和企业的互联网数据中心idc;所述vpc与所述idc之间通过所述至少两个通信设备形成相应的通信链路;所述通信链路包括主链路和备份链路;

所述控制器对所述通信链路的通信状态进行实时检测,并根据检测到的所述通信链路的通信状态,对所述通信链路进行切换。

结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述主链路包括物理专线,所述备份链路包括经过加密后的公网路线;或者

所述主链路包括物理专线,所述备份链路包括物理专线;或者

所述主链路包括经过加密后的公网路线,所述备份链路包括经过加密后的公网路线。

结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述经过加密后的公网路线包括vpn线路。

结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述数据通信系统采用虚拟扩展局域网vxlan技术进行数据通信;

所述控制器在接收到链路创建请求后,为所述通信链路分配vxlan标识符vni作为隔离标签,并生成配置信息;将所述配置信息发送至所述至少两个通信设备。

结合第一方面,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述控制器在接收到链路创建请求时,还根据与所述控制器连接的通信设备的当前剩余吞吐容量,从与所述控制器连接的通信设备中选择所述至少两个通信设备。

结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述控制器还根据所述通信链路是否可达、通信延迟时间,及所述通信链路相关的通信设备的当前剩余吞吐容量,确定所述通信链路的通信状态。

结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述控制器还连接所述vpc对应的发包器;

所述发包器按照预设的发送周期,通过所述通信链路发送控制报文协议icmp报文至所述idc;

所述控制器根据所述发包器是否接收到所述idc返回的应答报文,确定所述通信链路是否可达。

结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,其中,所述控制器还连接所述vpc对应的发包器;

所述发包器按照预设的发送周期,通过所述通信链路发送控制报文协议icmp报文至所述idc,并记录当前的发送时间;

所述发包器接收所述idc返回的应答报文,并记录当前的接收时间;

根据所述发送时间和所述接收时间,确定所述通信链路的通信延迟时间。

第二方面,本申请实施例还提供一种数据通信方法,应用于如第一方面及其任一种可能的实施方式所述的数据通信系统中的控制器,所述方法包括:

对所述通信链路的通信状态进行实时检测,确定所述通信链路的通信状态;

根据所述通信链路的通信状态,对所述通信链路进行切换。

结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述根据所述通信链路的通信状态,对所述通信链路进行切换包括:

当检测到主链路出现故障时,发送第一配置更新指令至所述至少两个通信设备,以将经过所述主链路传输的数据切换至所述备份链路上进行传输;

当检测到主链路故障修复后,发送第二配置更新指令至所述至少两个通信设备,以将经过所述备份链路传输的数据切换回至所述主链路上进行传输。

结合第二方面,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述对所述主链路和所述备份链路的通信状态进行实时检测之前,还包括:

在接收到链路创建请求时,为所述通信链路分配vxlan标识符vni作为隔离标签,并生成配置信息;

根据与所述控制器连接的通信设备的当前剩余吞吐容量,从与所述控制器连接的通信设备中选择至少两个通信设备,将所述配置信息发送至所述至少两个通信设备。

结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,其中,所述确定所述通信链路的通信状包括:

根据所述通信链路是否可达、通信延迟时间,及所述通信链路相关的通信设备的当前剩余吞吐容量,确定所述通信链路的通信状态。

结合第二方面的第三种可能的实施方式,本申请实施例提供了第二方面的第四种可能的实施方式,其中,所述控制器还连接所述vpc对应的发包器;所述方法还包括:

根据所述发包器是否接收到所述idc返回的应答报文,确定所述通信链路是否可达。

结合第二方面的第三种可能的实施方式,本申请实施例提供了第二方面的第五种可能的实施方式,其中,所述控制器还连接所述vpc对应的发包器;

根据所述发包器通过所述通信链路向所述idc发送控制报文协议icmp报文的发送时间,和所述发包器接收到所述idc返回的应答报文的接收时间,确定所述通信链路的通信延迟时间。

第三方面,本申请实施例还提供一种数据通信装置,应用于如第一方面及其任一种可能的实施方式所述的数据通信系统中的控制器,所述装置包括:

链路检测模块,用于对所述通信链路的通信状态进行实时检测,确定所述通信链路的通信状态;

链路切换模块,用于根据所述通信链路的通信状态,对所述通信链路进行切换。

结合第三方面,本申请实施例提供了第三方面的第一种可能的实施方式,其中,所述链路切换模块还用于:

当检测到主链路出现故障时,发送第一配置更新指令至所述至少两个通信设备,以将经过所述主链路传输的数据切换至所述备份链路上进行传输;

当检测到主链路故障修复后,发送第二配置更新指令至所述至少两个通信设备,以将经过所述备份链路传输的数据切换回至所述主链路上进行传输。

结合第三方面,本申请实施例提供了第三方面的第二种可能的实施方式,其中,所述装置还包括:

配置生成模块,用于在接收到链路创建请求时,为所述通信链路分配vxlan标识符vni作为隔离标签,并生成配置信息;

配置下发模块,用于根据与所述控制器连接的通信设备的当前剩余吞吐容量,从与所述控制器连接的通信设备中选择至少两个通信设备,将所述配置信息发送至所述至少两个通信设备。

第四方面,本申请实施例还提供一种控制器,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面及其任一种可能的实施方式所述的方法。

第五方面,本申请实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述第一方面及其任一种可能的实施方式所述方法。

本申请实施例带来了以下有益效果:

在本申请实施例中,该数据通信系统控制器及至少两个通信设备;该控制器分别与至少两个通信设备通信连接;每个所述通信设备分别接入所述虚拟私有云vpc和企业的互联网数据中心idc;所述vpc与所述idc之间通过所述至少两个通信设备形成相应的通信链路;所述通信链路包括主链路和备份链路;上述控制器对主链路的通信状态进行实时检测;根据检测到的通信链路的通信状态,切换当前的通信链路。在实际应用过程中,由两条链路可以互为备用的承担数据流量的传输,一旦用于传输数据流量的主链路出现故障,则控制器直接切换至备份链路进行通信,因此数据流量的中断时间仅限于链路切换的时间,有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。

本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的数据通信系统的结构示意图;

图2为本申请实施例提供的一种数据通信方法的流程示意图;

图3为本申请实施例提供的另一种数据通信方法的流程示意图;

图4为本申请实施例提供的一种数据通信装置的结构示意图;

图5为本申请实施例提供的另一种数据通信装置的结构示意图;

图6为本申请实施例提供的一种控制器的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前采用物理专线或者是经过加密的公网线路进行vpc与企业对应的idc进行通信,即均是单链路的通信方式,一旦出现物理专线或者公网线路链路故障,就会导致通信中断,严重影响通信质量和通信的可靠性,同时降低了客户体验。

基于此,本申请实施例提供的一种数据通信方法、装置、控制器及系统,由两条链路可以互为备用的承担数据流量的传输,一旦用于传输数据流量的主链路出现故障,则控制器直接切换至备份链路进行通信,因此数据流量的中断时间仅限于链路切换的时间,有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。

为便于对本实施例进行理解,首先对本申请实施例所公开的一种数据通信系统进行详细介绍。

实施例一:

图1示出了本申请实施例提供的一种数据通信系统的结构示意图。该数据通信系统可以但不限于应用于虚拟私有云和企业的idc之间进行通信。如图1所示,该数据通信系统包括控制器100及至少两个通信设备110,该控制器100分别与至少两个通信设备110(图1中以两个通信设备为例,但并不作为对数量的限定)通信连接。其中该通信设备可以为路由器或者是交换机。

该至少两个通信设备110用于分别接入虚拟私有云vpc和企业的互联网数据中心idc;其中,通过每个上述通信设备,分别在vpc与idc(当然也可以是其他与idc具有相同作用的存储空间)之间形成相应的通信链路;该两条通信链路包括主链路和备份链路。图1中虚线标识vpc1通过两条通信链路到达其对应的idc1链路示意图,实线标识vpc2通过两条通信链路到达其对应的idc2链路示意图。

也就是,vpc通过其对应的路由器集群(即vpc的内网路由)连接任意一个通信设备110,该通信设备110再通过相应的线路连接至idc,从而形成了一条通信链路。如可以但不限于通过物理专线或者经过加密的公网线路。其中公网线路可以选用vpn线路。

在可能的实施例中,主链路包括物理专线,备份链路包括经过加密后的公网路线。具体地,由于不同的线路对应接入的通信设备不同,如物理专线对应的通信设备为交换机,而公网线路对应的通信设备为路由器;因此在上述主链路包括物理专线,备份链路包括经过加密后的公网路线时,上述两个通信设备分别为交换机和路由器,其中交换机与物理专线用于形成主链路,路由器与公网路线用于形成备份线路。

另外需要说明的是,由于物理专线具有延迟低、通信稳定、可靠的优点,因此在物理专线和公网线路为互备线路时,将物理专线用于形成主链路,从而保证较好的通信指令。

但是如果是成本充裕或者通信质量要求较高的情况,主链路和备份链路可以同时选用物理专线,同理此时对应的两个通信设备均为交换机。而在成本不足或者是通信质量要求较低时,主链路和备份链路可以同时选用经过加密后的公网路线,此时对应的两个通信设备均为路由器。

在应用上述主链路和备用链路的通信过程中,控制器100对通信链路的通信状态进行实时检测,根据检测到的通信链路的通信状态,对该通信链路进行切换。例如可以由控制器发送配置更新指令至通信设备,该通信设备根据该配置更新指令更新转发表项,并同步至vpc对应的路由器集群,以将经过主链路传输的数据切换至备份链路上进行传输,或者将经过备份链路传输的数据切换回至主链路上进行传输。

在本申请提供的实施例中,由两条链路可以互为备用的承担数据流量的传输,一旦用于传输数据流量的主链路出现故障,则控制器直接切换至备份链路进行通信,因此数据流量的中断时间仅限于链路切换的时间,有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。

为了便于对上述实施例的理解,现以选用两个通信设备为例进行详细说明。同时为了便于描述,可以将两个通信设备分别描述为sw1和sw2。其中通过该sw1和sw2进行链路创建的过程如下:

(a1)控制器接收链路创建请求。

例如,用户可以通过用户终端(可以为移动终端或者是电脑)直接调用相应的api(applicationprogramminginterface,应用程序编程接口),或者是登录web(worldwideweb,全球广域网)控制台(也就是公有云对应的控制台)调用相应的api发送对应的链路创建请求至控制器。其中该链路创建请求至少包括本地地址和目的地址。

考虑到在共有云平台提供商侧不同的用户不允许访问其他用户的idc,因此现有各企业的idc连接到公有云侧的vpc时,公有云侧会为众多的用户提供统一的硬件设备来供用户接入,通常利用vlan(virtuallocalareanetwork,虚拟局域网)等隔离机制来达到隔离效果。

但是在超大规模云环境场景中,vpc的个数非常庞大,需做到各个vpc映射到正确的idc且与其他用户对应的idc隔离,而目前采用vlan(virtuallocalareanetwork,虚拟局域网)技术会限制接入的idc个数,这就难以满足当前超大规模云环境的扩展性需求。

且考虑到vpc侧对接用户的idc的通信设备,通常为商用硬件设备。当一个用户通过公有云的控制台或者api发起vpc与idc间的链路创建时,若还采用人工配置方式,则时效性、体验度上都较差,且引入潜在的人为误操作风险和不必要的人工成本。

基于此,上述链路创建的过程还包括:

(a2)控制器为通信链路分配vxlan标识符vni(vxlannetworkidentifier)作为隔离标签,并生成配置信息。

具体地,控制器在接收到用户发送的链路创建请求后,采用虚拟扩展局域网vxlan技术进行数据通信,形成vxlan的隔离机制,将vxlan标识符vni作为隔离标签,以防止用户访问其他用户的idc。由于vni占用vxlan报头的24位,其个数为10的24次方,因此能满足超大规模云环境下的扩展性需求。

另外,由于本实施例采用的主链路和备用链路进行数据通信的形式,因此需要进行设置从而达到主备效果,保证数据流量通过其中一条通信链路进行传输,因此在配置信息中还包括路由优先级。具体地,初始状态下进行配置时,主链路中的通信设备sw1对应的路由优先级高于备用链路中的通信设备sw2对应的路由优先级。

(a3)根据与所述控制器连接的通信设备的当前剩余吞吐容量,从与控制器连接的通信设备中选择至少两个通信设备,将上述配置信息发送至上述至少两个通信设备。

具体地,该控制器可以实时采集多个通信设备的转发信息,根据该各个通信设备的当前剩余吞吐容量,选择至少两个满足要求的通信设备并进行信息配置。若当前没有足够的满足当前剩余吞吐容量的通信设备,则发送类似当前线路正忙的提示信息返回至用户终端或者控制台。

在可能的实施例中,控制器和通信设备之间通过netconf(networkconfigurationprotocol,网络配置协议)互相通信,在通信设备资源基础上能做到很好的抽象,一方面能使控制器在实现上较为灵活,另一方面能够实现通信设备的自动化控制,进而能满足用户的实时请求并准确的下发至通信设备上。

在进行初始配置的过程中,控制器首先经配置信息发送至sw1和sw2,然后由sw1和sw2进行路由宣告。具体地,sw1发布配置信息至vpc对应的路由集群,此时sw1作为主链路的通信设备,根据该配置信息发布至路由集群中的路由优先级高,例如为100;而sw2作为备用链路的通信设备,根据配置信息发布至路由集群中的路由优先级低,例如为50。因此在vpc与idc进行通信时,会按照路由优先级的高低,将数据流量经过路由器传输至路由优先级较高的通信设备sw1,从而优先使用主链路进行通信。

由此可知,可以通过变更路由优先级的方式,选择不同的通信链路进行数据传输,从而实现对通信链路的切换。这就很好了解决了现有技术中,由于物理线路和公网线路,在vpc侧对应接入不同种类的硬件设备(物理专线为交换机、公网线路为路由器),而不能将两者很好的结合起来,做到互备关系的问题。

综上通过步骤(a1)至步骤(a3),很好的实现了不同线路如物理专线和公网线路的结合,实现了两者的互备;提高了超大规模云环境的扩展性差,且由控制器直接根据实际情况,对vpc测对接idc的通信设备进行配置,提高了时效性、体验度,且降低了人为误操作的风险和不必要的人工成本。

在上述对sw1和sw2进行链路创建完成后,即可在vpc与idc之间进行数据传输。在数据传输过程中,控制器对通信链路如主链路的通信状态进行实时检测。具体检测过程如下:根据通信链路是否可达、通信延迟时间,及通信链路相关的通信设备的当前剩余吞吐容量,确定该通信链路的通信状态。

其中,上述对通信链路的通信状态的检测,主要通过vpc侧的发包器与控制器相互协作来完成。控制器还连接vpc对应的发包器。其中该发包器按照预设的发送周期,通过主链路发送控制报文协议icmp报文至idc。

在可能的实施例中,通过以下方式判断通信链路是否可达:发包器按照预设的发送周期,通过主链路发送控制报文协议icmp报文至idc;控制器根据发包器是否接收到idc返回的应答报文,确定所述通信链路是否可达。当确定通信链路不可达时,链路出现故障,直接切换当前应用的通信链路。

例如,发包器需要构造控制报文协议icmp(internetcontrolmessageprotocol)报文,然后以预设的发送周期,例如以5s为一个发送周期发送该icmp报文,并通过主链路(如物理专线和对应的交换机)到达对应的idc的接入点。如果vpc侧的发包器收到对应的idc回复的icmp应答报文,则认为该通信链路的通信状态正常,否则为该通信链路的通信状态异常,检测失败。发包器还会将检测结果信号发送至控制器,以便控制器进行故障决策,即是否切换通信链路。

在可能的实施例中,考虑到公网线路如vpn的链路的复杂和不稳定性,上述控制器在预设数量的周期内,例如5个周期内,收到发包器连续发送的5次检测失败信号,则确定当前通信链路不可达,链路状态出现故障,直接切换当前应用的通信链路。

在可能的实施例中,通过以下方式判断通信链路的通信延迟时间:发包器按照预设的发送周期,通过通信链路发送控制报文协议icmp报文至idc,并记录当前的发送时间;发包器接收idc返回的应答报文,并记录当前的接收时间;根据发送时间和接收时间,确定通信链路的通信延迟时间。即可以通过接收时间与发送时间的差值,计算得到通信延迟时间。

在可能的实施例中,当通信延迟时间大于等于预设延迟时长时,确定通信链路的通信链路故障,直接切换当前应用的通信链路。其中预设延迟时长可以但不限于为1ms至10ms。

在另外的实施例中,当检测到通信链路相关的通信设备的当前剩余吞吐容量小于预设吞吐阈值时,确定链路故障,直接切换当前应用的通信链路。其中该预设吞吐阈值可以但不限于为1gbyte。

进一步地,在确定主链路出现故障后,控制器发送配置更新指令至相应的通信设备例如sw1,使得sw1对应的路由优先级降低,如由100变更为50;而备用链路中的通信设备sw2对应的路由优先级升高,如由50变更为100。由此在sw1和sw2发布更新后的配置信息至vpc对应的路由集群后,在后续数据流量的传输中会优先选择当前路由优先级较高的备用链路,从而从主链路切换为备用链路。

如此按照同样的方式,当检测到主链路的通信状态正常后,在通过配置更新指令,变更主链路和备用链路对应的路由优先级,从而从备用链路切换为主链路。

需要声明的是,在本实施例中,备用链路可以为多条,控制器可以检测各个通信链路的通信状态,在当前的通信链路的通信状态出现异常时,直接切换到通信状态正常的通信链路上。

综上在本申请实施例中,由两条链路可以互为备用的承担数据流量的传输,一旦用于传输数据流量的主链路出现故障,则控制器直接切换至备份链路进行通信,因此数据流量的中断时间仅限于链路切换的时间,有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。另外,本实施例很好的实现了不同线路如物理专线和公网线路的结合,实现了两者的互备;提高了超大规模云环境的扩展性差,且由控制器直接根据实际情况,对vpc测对接idc的通信设备进行配置,提高了时效性、体验度,且降低了人为误操作的风险和不必要的人工成本。

实施例二:

图2示出了本申请实施例提供的一种数据通信方法的流程示意图,该数据通信方法应用于如实施例一中所描述的数据通信系统中的控制器。如图2所示,该数据通信方法包括:

步骤s201,对通信链路的通信状态进行实时检测,确定该通信链路的通信状态。

例如控制器可以实时检测任一通信链路的通信状态。可以通过多种参数来确定通信状态,如根据通信链路是否可达确定通信状态,现以主链路进行说明:

通过vpc端的发包器与控制器相互协作,完成对通信状态的检测。由发包器构造控制报文协议icmp(internetcontrolmessageprotocol)报文,然后以预设的发送周期,例如以5s为一个发送周期发送该icmp报文,并通过主链路(如物理专线和对应的交换机)到达对应的idc的接入点。如果vpc侧的发包器收到对应的idc回复的icmp应答报文,则认为该通信链路的通信状态正常,否则为该通信链路的通信状态异常,检测失败,发包器将检测结果信号发送至控制器。

步骤s202,根据该通信链路的通信状态,对该通信链路进行切换。

例如当检测到主链路的通信状态异常时,控制器发送配置更新指令至相应的通信设备例如sw1,使得sw1对应的路由优先级降低,如由100变更为50;而备用链路中的通信设备sw2对应的路由优先级升高,如由50变更为100。由此在sw1和sw2发布更新后的配置信息至vpc对应的路由集群后,在后续数据流量的传输中会优先选择当前路由优先级较高的备用链路,从而从主链路切换为备用链路。

在本实施例中,由两条链路可以互为备用的承担数据流量的传输,一旦用于传输数据流量的主链路出现故障,则控制器直接切换至备份链路进行通信,因此数据流量的中断时间仅限于链路切换的时间,有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。

图3示出了本申请实施例提供的另一种数据通信方法的流程示意图,该数据通信方法应用于如实施例一中描述的数据通信系统中的控制器。如图3所示,该数据通信方法包括:

步骤s301,接收链路创建请求。

例如,用户可以通过用户终端(可以为移动终端或者是电脑)直接调用相应的api(applicationprogramminginterface,应用程序编程接口),或者是登录web(worldwideweb,全球广域网)控制台(也就是公有云对应的控制台)调用相应的api发送对应的链路创建请求至控制器。其中该链路创建请求至少包括本地地址和目的地址。

步骤s302,为通信链路分配vxlan标识符vni作为隔离标签,并生成配置信息。

具体地,控制器在接收到用户发送的链路创建请求后,采用虚拟扩展局域网vxlan技术进行数据通信,形成vxlan的隔离机制,将vxlan标识符vni作为隔离标签,以防止用户访问其他用户的idc。由于vni占用vxlan报头的24位,其个数为10的24次方,因此能满足超大规模云环境下的扩展性需求。

另外,由于本实施例采用的主链路和备用链路进行数据通信的形式,因此需要进行设置从而达到主备效果,保证数据流量通过其中一条通信链路进行传输,因此在配置信息中还包括路由优先级。具体地,初始状态下进行配置时,主链路中的通信设备sw1对应的路由优先级高于备用链路中的通信设备sw2对应的路由优先级。

步骤s303,根据与控制器连接的通信设备的当前剩余吞吐容量,从与该控制器连接的通信设备中选择至少两个通信设备,将上述配置信息发送至上述至少两个通信设备。

具体地,该控制器可以实时采集多个通信设备的转发信息,根据该各个通信设备的当前剩余吞吐容量,选择至少两个满足要求的通信设备并进行信息配置。若当前没有足够的满足剩余吞吐容量的通信设备,则发送类似当前线路正忙的提示信息返回至用户终端或者控制台。

步骤s304,对通信链路的通信状态进行实时检测,根据通信链路是否可达、通信延迟时间,及通信链路相关的通信设备的当前剩余吞吐容量,确定通信链路的通信状态。

在可能的实施例中,上述控制器还连接所述vpc对应的发包器;根据该发包器是否接收到idc返回的应答报文,确定通信链路是否可达。根据发包器通过通信链路向idc发送控制报文协议icmp报文的发送时间,和发包器接收到idc返回的应答报文的接收时间,确定通信链路的通信延迟时间。具体可以参见上述系统实施例,在此不再赘述。

步骤s305,当检测到主链路出现故障时,发送第一配置更新指令至上述至少两个通信设备,以将经过主链路传输的数据切换至备份链路上进行传输。

其中,该第一配置更新指令用于更新主链路与备用链路对应的路由优先级,将主链路的通信设备sw1对应的路由优先级降低,如由100变更为50;而备用链路中的通信设备sw2对应的路由优先级升高,如由50变更为100。由此在sw1和sw2发布更新后第一配置更新信息至vpc对应的路由集群后,在后续数据流量的传输中会优先选择当前路由优先级较高的备用链路,从而从主链路切换为备用链路。

步骤s306,当检测到主链路故障修复后,发送第二配置更新指令至上述至少两个通信设备,以将经过备份链路传输的数据切换回至主链路上进行传输。

其中,该第二配置更新指令用于更新主链路与备用链路对应的路由优先级,将主链路的通信设备sw1对应的路由优先级升高,如由50变更为100;而备用链路中的通信设备sw2对应的路由优先级降低,如由100变更为50。由此在sw1和sw2发布更新后的第二配置更新信息至vpc对应的路由集群后,在后续数据流量的传输中会优先选择当前路由优先级较高的主链路,从而从备用链路切换回至主链路。

综上在本申请实施例中,由两条链路可以互为备用的承担数据流量的传输,一旦用于传输数据流量的主链路出现故障,则控制器直接切换至备份链路进行通信,因此数据流量的中断时间仅限于链路切换的时间,有效缓解了现有技术中一旦链路故障就会导致通信中断的问题,有效提高了通信质量和通信的可靠性,同时提升了客户体验。另外,本实施例很好的实现了不同线路如物理专线和公网线路的结合,实现了两者的互备;提高了超大规模云环境的扩展性差,且由控制器直接根据实际情况,对vpc测对接idc的通信设备进行配置,提高了时效性、体验度,且降低了人为误操作的风险和不必要的人工成本。

实施例三:

针对于实施例二所述的方法,本申请实施例还提供了一种数据通信装置。如图4所示,该数据通信装置,应用于如实施例一中描述的数据通信系统中的控制器,该装置包括:

链路检测模块11,用于对通信链路的通信状态进行实时检测,确定该通信链路的通信状态;

链路切换模块12,用于根据该通信链路的通信状态,对该通信链路进行切换。

进一步的,上述链路检测模块11还用于:

根据通信链路是否可达、通信延迟时间,及通信链路相关的通信设备的当前剩余吞吐容量,确定通信链路的通信状态。

进一步的,上述控制器还连接vpc对应的发包器;上述链路检测模块11还用于:

根据发包器是否接收到idc返回的应答报文,确定通信链路是否可达。

进一步的,上述链路检测模块11还用于:

根据发包器通过通信链路向idc发送控制报文协议icmp报文的发送时间,和发包器接收到idc返回的应答报文的接收时间,确定通信链路的通信延迟时间。

进一步的,参见图5,上述装置还包括:

配置生成模块13,用于在接收到链路创建请求时,为通信链路分配vxlan标识符vni作为隔离标签,并生成配置信息;

配置下发模块14,用于根据与所述控制器连接的通信设备的当前剩余吞吐容量,从与控制器连接的通信设备中选择至少两个通信设备,将上述配置信息发送至该至少两个通信设备。

进一步的,上述链路切换模块12,还用于:

当检测到主链路出现故障时,发送第一配置更新指令至上述至少两个通信设备,以将经过主链路传输的数据切换至备份链路上进行传输;

当检测到主链路故障修复后,发送第二配置更新指令至上述至少两个通信设备,以将经过备份链路传输的数据切换回至主链路上进行传输。

实施例四:

参见图6,本申请实施例还提供一种控制器100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。

其中,存储器41可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线42可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本申请实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。

处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。

本申请实施例提供的数据通信方法、装置及控制器,与上述实施例提供的数据通信系统具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本申请实施例所提供的进行数据通信方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及控制器的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

附图中的流程图和框图显示了根据本申请的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1