CN112600942B - 一种应用于提升sd-wan中的路由计算效率的方法及系统 - Google Patents
一种应用于提升sd-wan中的路由计算效率的方法及系统 Download PDFInfo
- Publication number
- CN112600942B CN112600942B CN202110187150.8A CN202110187150A CN112600942B CN 112600942 B CN112600942 B CN 112600942B CN 202110187150 A CN202110187150 A CN 202110187150A CN 112600942 B CN112600942 B CN 112600942B
- Authority
- CN
- China
- Prior art keywords
- link data
- service component
- route calculation
- subscription
- updating
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及sd‑wan产品技术领域,具体为一种应用于提升sd‑wan中的路由计算效率的方法及系统,包括:步骤s1,路由计算服务组件向订阅更新服务组件订阅链路数据的增量更新信息;步骤s2,步骤s1订阅成功后,当链路数据变更,则订阅更新服务组件将链路数据的增量更新信息推送给路由计算服务组件;步骤s3,路由计算服务组件接收链路数据的增量更新信息,请求调取全量链路数据并请求路由计算服务,有效提升路由更新效率。
Description
技术领域
本发明涉及sd-wan产品技术领域,具体为一种应用于提升sd-wan中的路由计算效率的方法及系统。
背景技术
SD-WAN,即软件定义广域网,是将SDN技术应用到广域网场景中所形成的一种服务,这种服务用于连接广阔地理范围的企业网络、数据中心、互联网应用及云服务。这种服务的典型特征是将网络控制能力通过软件方式‘云化’,支持应用可感知的网络能力开放。SD-WAN代表了SDN技术在2015年最引人关注的应用,它旨在帮助用户降低广域网(WAN)的开支和提高网络连接灵活性。
在sd-wan产品中,大量的cpe和pop节点上各个转发路由表的中心化计算以及发散式的并发更新。sd-wan通过技术升级,淘汰了企业分支互访的传统方式,大量的企业共享同一张物理网络。随着企业数、分支个数的增加,整张物理网络被切割的更加独立与碎片,路由表张数日益剧增,需要更多的算力来支撑sd-wan整张网里路由被正确地计算和更新。新的分支互访解决方案和传统的路由计算存在一个矛盾点:sd-wan的规模是不断增长的,传统的规模一般是固定的,传统的边界网关协议(BGP)计算方式解决不了这样规模计算要求和路由更新的快速传递。例如,公开号为105915457A的中国专利公开的一种基于路由校验的边界网关协议的路由更新方法,公开号为103944822A中国专利公开的一种BGP路由通告方法和装置及BGP路由维护方法和装置,都是一些采用传统的bgp方式进行路由更新的相关技术,这些现有技术就存在前述的缺陷。
发明内容
本发明的目的是提供一种应用于提升sd-wan中的路由计算效率的方法及系统。
本发明的上述技术目的是通过以下技术方案得以实现的:一种应用于提升sd-wan中的路由计算效率的方法,包括:步骤s1,路由计算服务组件向订阅更新服务组件订阅链路数据的增量更新信息;步骤s2,步骤s1订阅成功后,当链路数据变更,则订阅更新服务组件将链路数据的增量更新信息推送给路由计算服务组件;步骤s3,路由计算服务组件接收链路数据的增量更新信息,请求调取全量链路数据并请求路由计算服务。
作为对本发明的优选,链路数据的增量更新信息包括add、delete或update链路变更信息。
作为对本发明的优选,在步骤3中,路由计算服务组件通过订阅更新服务组件调取全量链路数据。
作为对本发明的优选,全量链路数据由etcd数据库做持久化处理并同时更新存储于链路数据缓存模块中。
作为对本发明的优选,订阅更新服务组件通过服务端pull接口从链路数据缓存模块中调取全量链路数据,路由计算服务组件通过客户端pull接口与服务端pull接口相连后调取全量链路数据。
作为对本发明的优选,客户端pull接口与服务端pull接口维持在一个http2的长连接。
作为对本发明的优选,步骤s3中的请求路由计算服务的队列通过scheduler调用calculator来计算路由。
一种应用于提升sd-wan中的路由计算效率的系统,包括订阅更新服务组件、路由计算服务组件、链路数据缓存模块,其中,路由计算服务组件用于向订阅更新服务组件订阅链路数据的增量更新信息;订阅更新服务组件用于供路由计算服务组件订阅更新服务组件将链路数据的增量更新信息;链路数据缓存模块用于存储全量链路数据。
作为对本发明的优选,订阅更新服务组件具有服务端pull接口和服务端subscirbe接口。
作为对本发明的优选,路由计算服务组件具有客户端pull接口和客户端subscirbe接口。
本发明的有益效果:所有的数据集中持久存储,多个服务进程内通过一种机制同步该数据,共享数据在多个进程内实时同步,订阅者客户端和服务端保持数据的同步;
订阅者客户端和服务端保持数据的同步,通过弹性伸缩计算实例来应对链路情况的波动,同时均衡的分发计算任务;
快速让所有的计算服务同步得到最新版本的链路数据使得路由更新的速度有效提升。
附图说明
图1为实施例的方法的流程图;
图2为实施例的系统的模块图。
具体实施方式
以下具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
实施例,如图所示,一种应用于提升sd-wan中的路由计算效率的方法,包括:步骤s1,路由计算服务组件向订阅更新服务组件订阅链路数据的增量更新信息;步骤s2,步骤s1订阅成功后,当链路数据变更,则订阅更新服务组件将链路数据的增量更新信息推送给路由计算服务组件;步骤s3,路由计算服务组件接收链路数据的增量更新信息,请求调取全量链路数据并请求路由计算服务。
上述的方案是为了解决背景技术的矛盾,创造了一种更加适合sdwan场景的路由计算方式,即使面对全网所有隧道同时重建这样的极端突发情况,系统也能应对自如。
具体地,链路数据的增量更新信息包括add、delete或update链路变更信息。基本上都是添加、删除、更新链路变更信息的种类。
在步骤3中,路由计算服务组件通过订阅更新服务组件调取全量链路数据,调取全量链路数据就是为了路由计算而使用。
在这个方法中,优先需要配置一个链路数据缓存模块,全量链路数据由etcd数据库做持久化处理并同时更新存储于链路数据缓存模块中。订阅更新服务组件通过服务端pull接口从链路数据缓存模块中调取全量链路数据,路由计算服务组件通过客户端pull接口与服务端pull接口相连后调取全量链路数据。进一步,客户端pull接口与服务端pull接口维持在一个http2的长连接。步骤s3中的请求路由计算服务的队列通过scheduler调用calculator来计算路由。
下面介绍下运用上述方案的具体实施案例:
为了解决规模问题和时效问题,大量的计算服务被弹性按需管理,计算服务请求可以按后端负载压力均衡地分发到后端的计算服务,同一个企业涉及的每张转发表按需在一个计算服务里面集中式被计算和更新。路由在哪个服务里面被计算对客户端来说是透明的,因为后端的计算服务是共享同一份链路数据,计算路由的请求依赖链路数据的版本,如何快速的毫秒级别的让所有的计算服务同步到最新版本的链路数据决定了路由更新的快慢。
本实施例实现了一种通用的机制,可以把所有的数据集中持久存储,多个服务进程内通过一种机制同步该数据,共享数据在多个进程内实时同步。
整个流程中包含了链路数据缓存模块,订阅更新服务组件,路由计算服务组件,路由计算服务组件可以动态的订阅链路数据的增量更新(add,delete,update),订阅成功后,一旦链路数据变更告知路由计算服务组件以后,推送服务会毫秒级推送数据给路由计算服务组件,就能触发路由计算路由的需求。但路由计算服务组件由于不做持久化存储,所有数据都保持在链路数据缓存模块(内存)中,所以路由计算服务组件启动时链路数据需要到链路数据缓存模块拉取全量链路数据。
订阅更新服务组件(订阅服务端)必须实现以下两个接口:
需要被共享的数据必须实现以下两个接口:
type ResourceWatcher interface {
Pull(options Options) (runtime.Object, error)
Subscribe(options Options) (watch.Interface, error)
}。
服务端Pull接口是进程初始化的时候从内存(cache)拉取所有资源,所有资料包括全量链路数据,服务端订阅接口Subscribe接口会生成一个stream,在这个stream里面,add、delete、update事件源源不断地被推送到每个共享进程。
路由计算服务组件(订阅客户端)实现以下接口:
type ResourceInterface interface {
Create(*Resource) (*Resource, error)
Update(*Resource) (*Resource, error)
Delete(name string, options *DeleteOptions) error
DeleteCollection(options *DeleteOptions, listOptions PullOptions)error
Get(name string, options GetOptions) (*Resource, error)
Pull(opts PullOptions) (*ResourceList, error)
Subscribe(opts PullOptions) (Subscribe.Interface, error)
}。
客户端pull接口 和 客户端subscribe接口与服务端pull接口和服务端subscirbe接口是相对应的,客户端和服务端维持一个http2的长连接,通过这个连接,订阅者客户端和服务端保持数据的同步。
在我们的实例中,存在以下的链路数据需要被共享到多个计算进程:
Bgp: null
DynamicNet: null
Gre: null
Ipsec:
E201202005270023:
LanIp:
- 192.168.34.0/26
MasterIsp: UNINET
MasterPop: ShangHai.zhihuiwan.SDWAN1
MasterTunnelGwIp: 100.192.0.1
MasterTunnelId: c02i14n5aegesp7i59dg
MasterVpeId: ShangHai.zhihuiwan.SDWAN1.VM21.Devvpe1
MasterVtiIp: 100.64.0.22/32
SlaveIsp: CHINANET
SlavePop: HangZhou.xiasha.xiashayourpop
StandbyTunnelId: c02i14n5aegesp7i59gg
StandbyVpeId: HangZhou.xiasha.xiashayourpop.host1.vm0
TunnelRevision: 1610948755349962446
MasterChannelId: E201202005270023
Mpls3: null
Revision: 1610948755352864121
RevisionNet: 1610948755352864205
RevisionRole: 1610594074876679414
RouterId: SN_E201202005270023
Static: null
StaticNet:
- 192.168.34.0/26
TunnelType:
E201202005270023: ipsec
VxlanId: 53。
该link主要定义了以下几个方面:
1. 分支到边缘pop的链路的定义;
2. 公有云到边缘pop的链路;
3. 主备ha网关的定义以及单机模式;
4. 主备隧道的工作隧道。
接下来将从服务、链路数据的可靠性,调度器scheduler的灵活性,计算服务的弹性 3个方面上来说明整个计算过程。
1. 服务、链路数据的可靠性:
数据链路集中存储在etcd数据库,利用其注册发现特性来观察(watch)链路数据。基于raft协议,多个实例保证链路数据服务高可用,每条链路数据同时会被写入到2个副本实例以上才认为提交成功,这体现了链路数据的高可靠。
2. apiserver的多副本及高可靠性:
在我们的系统中,订阅更新服务组件(apiserver)是虚拟链路的缓存层,同时负责数据的订阅,以及发布推送更新到订阅者(路由计算服务组件)。任何链路的变更都会被定义到etcd做持久化,持久化的同时更新链路数据缓存模块(cache),然后毫秒级别通知到订阅者。订阅者和apiserver之间维持着长连接,保证订阅者的链路副本数据与apiserver的cache保持一致。
3. 调度器scheduler的灵活及计算的弹性:
路由计算实例和调度实例,scheduler维持了路由计算服务组件路由计算请求的队列,均衡的调用calculator来计算路由。当算力不足的时候,scheduler通过增加calculator来增加算力。scheduler通过统计计算的耗时,预估队列中的计算任务预计多长时间执行完毕,超出一定时间的话,通过增加calculator副本来缩短耗时;反之队列空闲的时候,会减少calculator副本。
综上所述,这样的机制保证了每个计算实例中的链路数据是一致的,路由计算服务组件中全局链路版本号最终都能保持一致。在多个计算实例中共享链路数据,为弹性计算提供数据支持。scheduler能够感知算力的需求量,通过弹性伸缩计算实例来应对链路情况的波动,同时均衡的分发计算任务。
本实施例同时提供适用于前述方法的系统,即,一种应用于提升sd-wan中的路由计算效率的系统,包括订阅更新服务组件、路由计算服务组件、链路数据缓存模块,其中,路由计算服务组件用于向订阅更新服务组件订阅链路数据的增量更新信息;订阅更新服务组件用于供路由计算服务组件订阅更新服务组件将链路数据的增量更新信息;链路数据缓存模块用于存储全量链路数据。
具体地,订阅更新服务组件具有服务端pull接口和服务端subscirbe接口。路由计算服务组件具有客户端pull接口和客户端subscirbe接口。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (5)
1.一种应用于提升sd-wan中的路由计算效率的方法,其特征在于,包括:步骤s1,路由计算服务组件向订阅更新服务组件订阅链路数据的增量更新信息;步骤s2,步骤s1订阅成功后,当链路数据变更,则订阅更新服务组件将链路数据的增量更新信息推送给路由计算服务组件;步骤s3,路由计算服务组件接收链路数据的增量更新信息,请求调取全量链路数据并请求路由计算服务,在步骤3中,路由计算服务组件通过订阅更新服务组件调取全量链路数据,全量链路数据由etcd数据库做持久化处理并同时更新存储于链路数据缓存模块中,订阅更新服务组件通过服务端pull接口从链路数据缓存模块中调取全量链路数据,路由计算服务组件通过客户端pull接口与服务端pull接口相连后调取全量链路数据。
2.根据权利要求1所述的一种应用于提升sd-wan中的路由计算效率的方法,其特征在于,链路数据的增量更新信息包括add、delete或update链路变更信息。
3.根据权利要求1所述的一种应用于提升sd-wan中的路由计算效率的方法,其特征在于,客户端pull接口与服务端pull接口维持在一个http2的长连接。
4.根据权利要求1所述的一种应用于提升sd-wan中的路由计算效率的方法,其特征在于,步骤s3中的请求路由计算服务的队列通过scheduler调用calculator来计算路由。
5.一种应用于提升sd-wan中的路由计算效率的系统,其特征在于,包括订阅更新服务组件、路由计算服务组件、链路数据缓存模块,其中,路由计算服务组件用于向订阅更新服务组件订阅链路数据的增量更新信息;订阅更新服务组件用于供路由计算服务组件订阅更新服务组件将链路数据的增量更新信息;链路数据缓存模块用于存储全量链路数据,订阅更新服务组件具有服务端pull接口和服务端subscirbe接口,路由计算服务组件具有客户端pull接口和客户端subscirbe接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110187150.8A CN112600942B (zh) | 2021-02-18 | 2021-02-18 | 一种应用于提升sd-wan中的路由计算效率的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110187150.8A CN112600942B (zh) | 2021-02-18 | 2021-02-18 | 一种应用于提升sd-wan中的路由计算效率的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112600942A CN112600942A (zh) | 2021-04-02 |
CN112600942B true CN112600942B (zh) | 2022-12-02 |
Family
ID=75207537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110187150.8A Active CN112600942B (zh) | 2021-02-18 | 2021-02-18 | 一种应用于提升sd-wan中的路由计算效率的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112600942B (zh) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1370965A4 (en) * | 2001-03-14 | 2007-03-07 | Microsoft Corp | SERVICE-TO-SERVICE COMMUNICATION FOR NETWORK SERVICES |
CN101258720A (zh) * | 2005-09-15 | 2008-09-03 | 艾利森电话股份有限公司 | 维护ims客户端信息用的方法和设备 |
CN101438256B (zh) * | 2006-03-07 | 2011-12-21 | 索尼株式会社 | 信息处理设备、信息通信系统、信息处理方法 |
CN105991689B (zh) * | 2015-02-03 | 2020-02-28 | 阿里巴巴集团控股有限公司 | Http报文处理方法及系统、http客户端及服务器 |
CA2912643A1 (en) * | 2015-03-04 | 2016-09-04 | Teloip Inc. | System, apparatus and method for providing a virtual network edge and overlay with virtual control plane |
CN105208081A (zh) * | 2015-08-14 | 2015-12-30 | 深圳联友科技有限公司 | 一种通过订阅方式实现网络通信的方法和系统 |
CN105376303B (zh) * | 2015-10-23 | 2018-11-06 | 深圳前海达闼云端智能科技有限公司 | 一种Docker实现系统及其通信方法 |
CN106354563B (zh) * | 2016-08-29 | 2020-05-22 | 广州市香港科大霍英东研究院 | 用于3d重建的分布式计算系统以及3d重建方法 |
US10819577B2 (en) * | 2017-07-31 | 2020-10-27 | Cisco Technology, Inc. | Node update in a software-defined network |
CN109067816B (zh) * | 2018-05-28 | 2020-11-03 | 北京达佳互联信息技术有限公司 | 一种游戏资源推送方法、服务器及客户端 |
CN109033312A (zh) * | 2018-07-17 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于获取信息的方法和装置 |
CN109150987B (zh) * | 2018-07-27 | 2021-11-30 | 北京友普信息技术有限公司 | 基于主机层和容器层的两层式容器集群弹性扩容方法 |
CN110460664A (zh) * | 2019-08-13 | 2019-11-15 | 深圳市商汤科技有限公司 | 信息同步方法及装置、电子设备和存储介质 |
CN112187896A (zh) * | 2020-09-18 | 2021-01-05 | 成都精灵云科技有限公司 | 支持改动实时通知和数据实时同步的缓存系统及方法 |
CN112104559B (zh) * | 2020-11-05 | 2021-02-23 | 杭州网银互联科技股份有限公司 | 一种sd-wan网络的路由抖动缓解方法、sd-wan网络控制器 |
CN112333095B (zh) * | 2021-01-06 | 2021-04-16 | 杭州网银互联科技股份有限公司 | 基于kubernetes伸缩特性的软件定义广域网路由计算方法、系统 |
-
2021
- 2021-02-18 CN CN202110187150.8A patent/CN112600942B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112600942A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3249545B1 (en) | Content delivery network | |
US7127514B2 (en) | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client | |
US6321250B1 (en) | Data communication system and method for transporting objects over a permanent connections | |
EP0806731A2 (en) | Database network | |
US20120278817A1 (en) | Event distribution pattern for use with a distributed data grid | |
US9881071B2 (en) | Transport layer abstraction for clustering implementation | |
US20080195689A1 (en) | Subscription-based management and distribution of member-specific state data in a distributed computing system | |
US20050080825A1 (en) | Fast database replication | |
JPS62118465A (ja) | 資源情報を伝播する方法 | |
US11514077B2 (en) | Replication event ordering using an external data store | |
CN105183470B (zh) | 一种自然语言处理系统化服务平台 | |
CN112583895B (zh) | Tcp通信方法、系统及装置 | |
Chang et al. | Write-aware replica placement for cloud computing | |
CN112600942B (zh) | 一种应用于提升sd-wan中的路由计算效率的方法及系统 | |
US11895212B2 (en) | Read-only data store replication to edge locations | |
CN112698941A (zh) | 一种基于动态负载均衡的实时数据库查询方法 | |
Nishimura et al. | Applying flexibility in scale-out-based web cloud to future telecommunication session control systems | |
WO2022096137A1 (en) | Methods, system, and devices for managing consistency between replicas | |
US20210136143A1 (en) | System operating using opc ua, communication method using opc ua, and load balancer | |
CN116708191A (zh) | 流量转发网元的容量调整方法、装置、设备及存储介质 | |
WO2024021471A1 (zh) | 一种服务更新方法、装置、系统和存储介质 | |
EP3829139A1 (en) | Distributed storage system for storing context data | |
CN112333095B (zh) | 基于kubernetes伸缩特性的软件定义广域网路由计算方法、系统 | |
CN109522294A (zh) | 一种分布式数据缓存系统和数据缓存方法 | |
CN110661857B (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 |