CN107515863A - 一种基于分布式数据库的sdn集群实现的方法及系统 - Google Patents
一种基于分布式数据库的sdn集群实现的方法及系统 Download PDFInfo
- Publication number
- CN107515863A CN107515863A CN201610423042.5A CN201610423042A CN107515863A CN 107515863 A CN107515863 A CN 107515863A CN 201610423042 A CN201610423042 A CN 201610423042A CN 107515863 A CN107515863 A CN 107515863A
- Authority
- CN
- China
- Prior art keywords
- data
- sdn
- realized
- sdn controllers
- controllers
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于分布式数据库的SDN控制器集群实现的方法及系统。其中,所述基于分布式数据库的SDN集群实现的方法包括:接收数据存储命令,对SDN控制器中的数据进行存储;将所述SDN控制器中的数据进行编码并转换成统一的TLV数据;将所述TLV数据写入到SDN数据库中。不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。本发明通过控制器外部数据在SDN控制器转换成统一的TLV内部数据在SDN数据库中存取,降低了数据库和控制器的耦合性,使不同的控制器之间也可以进行数据的同步。
Description
技术领域
本发明涉及一种计算机网络技术,特别是涉及一种基于分布式数据库的SDN集群实现的方法及系统。
背景技术
SDN(软件定义网络,Software Defined Network)是一种新型网络架构,通过将网络设备控制面和数据面分离开来,从而达到了网络的灵活控制,实现了网络资源的集中管理,在实际的使用中,控制平面通常使用SDN控制器集群来实现对于网络的控制。但是在SDN控制器集群内部数据同步上,不同的控制器都使用了各自的实现方式。有的控制器使用关系型数据库进行数据同步,但是在大规模的并发处理时会产生性能瓶颈,而且如果存储的数据多为稀疏数据结构,对表的设计和扩展上会造成困难。有的控制器使用非分布式的数据库,但是当数据量比较庞大的时候,将会产生较高的硬件成本,而且数据库会容易成为单点故障。由于不同的控制器所使用的实现方式不同,不同的控制器之间的数据是无法同步的,导致一个网络中存在不同的控制器的时候,无法进行协同工作。
鉴于此,如何找到一种可支持不同控制器间数据同步的分布式数据库的SDN控制器集群方案就成了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于分布式数据库的SDN集群实现的方法及系统,用于解决现有技术中由于不同的控制器所使用的实现方式不同,不同的控制器之间的数据是无法同步的,导致一个网络中存在不同的控制器的时候,无法进行协同工作的问题。
为实现上述目的及其他相关目的,本发明提供一种基于分布式数据库的SDN控制器集群实现的方法,所述基于分布式数据库的SDN集群实现的方法包括:接收数据存储命令,对SDN控制器中的数据进行存储;将所述SDN控制器中的数据进行编码并转换成统一的TLV数据;将所述TLV数据写入到SDN数据库中。
可选地,不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
可选地,所述SDN数据库包括分布式非关系型数据库。
本发明提供一种基于分布式数据库的SDN控制器集群实现的方法,所述基于分布式数据库的SDN集群实现的方法包括:接收到一个SDN控制器读取SDN数据库中的数据的命令;读取SDN数据库中的相应的TLV数据到所述SDN控制器;将读取的TLV数据转换成所述SDN控制器中的数据格式的数据,并更新所述SDN控制器中相应的数据。
可选地,不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
可选地,所述SDN数据库包括分布式非关系型数据库。
本发明提供一种基于分布式数据库的SDN控制器集群实现的系统,所述基于分布式数据库的SDN集群实现的系统包括:外部数据存储模块,用于接收数据存储命令,对SDN控制器中的数据进行存储;控制器同步模块,用于将所述SDN控制器中的数据进行编码并转换成统一的TLV数据;内部数据存储模块,用于将所述TLV数据写入到SDN数据库中。
可选地,不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
可选地,所述SDN数据库包括分布式非关系型数据库。
本发明提供一种基于分布式数据库的SDN控制器集群实现的系统,所述基于分布式数据库的SDN集群实现的系统包括:外部数据读取模块,用于接收到一个SDN控制器读取SDN数据库中的数据的命令;内部数据读取模块,用于读取SDN数据库中相应的TLV数据到所述SDN控制器;控制器同步模块,用于将读取的TLV数据转换成所述SDN控制器中的数据格式的数据,并更新所述SDN控制器中相应的数据。
可选地,不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
可选地,所述SDN数据库包括分布式非关系型数据库。
如上所述,本发明的一种基于分布式数据库的SDN集群实现的方法及系统,具有以下有益效果:通过分布式数据库提供了灵活的存储方式,提高了可靠性,降低了成本,通过控制器外部数据在SDN控制器转换成统一的TLV内部数据在SDN数据库中存取,降低了数据库和控制器的耦合性,使不同的控制器之间也可以进行数据的同步。
附图说明
图1显示为本发明的基于分布式数据库的SDN集群实现的方法的一实施例的流程示意图。
图2显示为本发明的基于分布式数据库的SDN集群实现的方法的另一实施例的流程示意图。
图3显示为本发明的基于分布式数据库的SDN集群实现的系统的一实施例的模块示意图。
图4显示为本发明的基于分布式数据库的SDN集群实现的系统的另一实施例的模块示意图。
图5显示为本发明的基于分布式数据库的SDN集群实现的系统的一实施例的系统结构示意图。
图6显示为本发明的基于分布式数据库的SDN集群实现的系统的一实施例的存储示意图。
图7显示为本发明的基于分布式数据库的SDN集群实现的系统的一实施例的读取示意图。
元件标号说明
1 基于分布式数据库的SDN
集群实现的系统
11 外部数据存储模块
12 控制器同步模块
13 内部数据存储模块
2 基于分布式数据库的SDN
集群实现的系统
21 外部数据读取模块
22 内部数据读取模块
23 控制器同步模块
S11~S13 步骤
S21~S23 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种基于分布式数据库的SDN控制器集群实现的方法。在一个实施例中,如图1所示,所述基于分布式数据库的SDN集群实现的方法包括:
步骤S11,接收数据存储命令,对SDN控制器中的数据进行存储。
步骤S12,将所述SDN控制器中的数据进行编码并转换成统一的TLV数据。不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。TLV数据包括自定义的TLV(Type-Length-Value,类型-长度-值)格式的数据。
步骤S13,将所述TLV数据写入到SDN数据库中。所述SDN数据库包括分布式非关系型数据库。
本发明提供一种基于分布式数据库的SDN控制器集群实现的方法。在一个实施例中,如图2所示,所述基于分布式数据库的SDN集群实现的方法包括:
步骤S21,接收到一个SDN控制器读取SDN数据库中的数据的命令。所述SDN数据库包括分布式非关系型数据库。
步骤S22,读取SDN数据库中的相应的TLV数据到所述SDN控制器。不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。TLV数据包括自定义的TLV(Type-Length-Value,类型-长度-值)格式的数据。
步骤S23,将读取的TLV数据转换成所述SDN控制器中的数据格式的数据,并更新所述SDN控制器中相应的数据。
本发明提供一种基于分布式数据库的SDN控制器集群实现的系统。在一个实施例中,如图3所示,所述基于分布式数据库的SDN集群实现的系统1包括外部数据存储模块11、控制器同步模块12以及内部数据存储模块13。其中:
外部数据存储模块11用于接收数据存储命令,对SDN控制器中的数据进行存储。所述SDN数据库包括分布式非关系型数据库。
控制器同步模块12与外部数据存储模块11相连,用于将所述SDN控制器中的数据进行编码并转换成统一的TLV数据。TLV数据包括自定义的TLV(Type-Length-Value,类型-长度-值)格式的数据。不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
内部数据存储模块13与控制器同步模块12相连,用于将所述TLV数据写入到SDN数据库中。
本发明提供一种基于分布式数据库的SDN控制器集群实现的系统。在一个实施例中,如图4所示,所述基于分布式数据库的SDN集群实现的系统2包括外部数据读取模块21、内部数据读取模块22以及控制器同步模块23。其中:
外部数据读取模块21用于接收到一个SDN控制器读取SDN数据库中的数据的命令。所述SDN数据库包括分布式非关系型数据库。
内部数据读取模块22与外部数据读取模块21相连,用于读取SDN数据库中相应的TLV数据到所述SDN控制器。不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。TLV数据包括自定义的TLV(Type-Length-Value,类型-长度-值)格式的数据。
控制器同步模块23与内部数据读取模块22相连,用于将读取的TLV数据转换成所述SDN控制器中的数据格式的数据,并更新所述SDN控制器中相应的数据。
在一个实施例中,本发明中的内部数据读取模块和内部数据存储模块统一为数据库抽象模块,用于为底层的SDN数据库提供读取和存储(即写入)的接口。所述数据库抽象模块还可以根据需要添加增加、删除、修改、查询等接口。所述数据库抽象模块使用自定义的TLV(Type-Length-Value,类型-长度-值)格式将数据写入数据库,TLV格式是将每一条信息都拆分成类型,长度,内容三部分进行存储,不关心具体的内容,以此来实现灵活的数据存储。本发明中的控制器同步模块是基于各个控制器开发的同步模块。提供将控制器中的数据转换成TLV结构并且通过数据库抽象模块进行存储的接口,提供将TLV还原成控制器可以识别的数据并且更新控制器数据的接口。
在一个实施例中,本发明的系统架构如图5所示,其中,REST指一组架构约束条件和原则,满足约束条件和原则的应用程序设计。RestAPI即为满足REST要求的API(应用程序接口)。该系统的的存储过程如图6所示,为Master(主)控制器向SDN数据库写入数据的过程。具体地,为了存储此数据,控制器同步模块将会提供一个通用的接口用以存储。控制器同步模块将所传入的数据进行编码,重新编码后,会转换成与结构体无关的TLV(Type-Length-Value,类型-长度-值)数据。通过调用底层数据库提供的接口(即数据库抽象模块,包括内部数据读取模块和内部数据存储模块),将数据存入底层数据库(SDN数据库)中。此时的底层数据库可以是单一服务器,也可以是分布式集群。为提高可用性和可靠性,降低成本,底层数据库使用NoSQL(Not Only SQL,非关系数据库)底层数据库。可以是Hbase,bigtable等,对于不同的数据库,修改数据库抽象模块就可以适配各种不同的底层数据库。该系统的读取过程如图7所示,为Slave(备用)控制器从数据库读取数据。SDN控制器调用控制器同步模块提供的接口读取数据,控制器同步模块调用数据库抽象模块(包括内部数据读取模块和内部数据存储模块)使用底层数据所提供的接口,从底层数据库(SDN数据库)中读取数据。此时的底层数据库可以是单一服务器,也可以是分布式集群。底层数据库可以是Hbase,bigtable等各种类型数据库,只要修改数据库抽象模块就可以适配各种不同的底层数据库。数据库抽象模块读取到底层数据库取到的数据后,将会根据TLV的编码规则,将数据库中读取到数据还原为TLV格式,并且将数据发送给控制器同步模块。控制器同步模块根据TLV格式中的Type、lenght,将TLV格式还原成SDN控制器中所定义的数据结构。通过回调SDN控制器存储数据相关的接口,更新当前控制器相应的数据。
综上所述,本发明的一种基于分布式数据库的SDN集群实现的方法及系统,具有以下有益效果:通过分布式数据库提供了灵活的存储方式,提高了可靠性,降低了成本,通过控制器外部数据在SDN控制器转换成统一的TLV内部数据在SDN数据库中存取,降低了数据库和控制器的耦合性,使不同的控制器之间也可以进行数据的同步。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于分布式数据库的SDN控制器集群实现的方法,其特征在于,所述基于分布式数据库的SDN集群实现的方法包括:
接收数据存储命令,对SDN控制器中的数据进行存储;
将所述SDN控制器中的数据进行编码并转换成统一的TLV数据;
将所述TLV数据写入到SDN数据库中。
2.根据权利要求1所述的基于分布式数据库的SDN控制器集群实现的方法,其特征在于:不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
3.一种基于分布式数据库的SDN控制器集群实现的方法,其特征在于:所述基于分布式数据库的SDN集群实现的方法包括:
接收到一个SDN控制器读取SDN数据库中的数据的命令;
读取SDN数据库中的相应的TLV数据到所述SDN控制器;
将读取的TLV数据转换成所述SDN控制器中的数据格式的数据,并更新所述SDN控制器中相应的数据。
4.根据权利要求3所述的基于分布式数据库的SDN控制器集群实现的方法,其特征在于:不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
5.一种基于分布式数据库的SDN控制器集群实现的系统,其特征在于:所述基于分布式数据库的SDN集群实现的系统包括:
外部数据存储模块,用于接收数据存储命令,对SDN控制器中的数据进行存储;
控制器同步模块,用于将所述SDN控制器中的数据进行编码并转换成统一的TLV数据;
内部数据存储模块,用于将所述TLV数据写入到SDN数据库中。
6.根据权利要求5所述的基于分布式数据库的SDN控制器集群实现的系统,其特征在于:不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
7.根据权利要求5所述的基于分布式数据库的SDN控制器集群实现的系统,其特征在于:所述SDN数据库包括分布式非关系型数据库。
8.一种基于分布式数据库的SDN控制器集群实现的系统,其特征在于:所述基于分布式数据库的SDN集群实现的系统包括:
外部数据读取模块,用于接收到一个SDN控制器读取SDN数据库中的数据的命令;
内部数据读取模块,用于读取SDN数据库中相应的TLV数据到所述SDN控制器;
控制器同步模块,用于将读取的TLV数据转换成所述SDN控制器中的数据格式的数据,并更新所述SDN控制器中相应的数据。
9.根据权利要求8所述的基于分布式数据库的SDN控制器集群实现的系统,其特征在于:不同所述SDN控制器中的数据具有不同的数据格式或者相同的数据格式。
10.根据权利要求8所述的基于分布式数据库的SDN控制器集群实现的系统,其特征在于:所述SDN数据库包括分布式非关系型数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610423042.5A CN107515863A (zh) | 2016-06-15 | 2016-06-15 | 一种基于分布式数据库的sdn集群实现的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610423042.5A CN107515863A (zh) | 2016-06-15 | 2016-06-15 | 一种基于分布式数据库的sdn集群实现的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107515863A true CN107515863A (zh) | 2017-12-26 |
Family
ID=60720842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610423042.5A Pending CN107515863A (zh) | 2016-06-15 | 2016-06-15 | 一种基于分布式数据库的sdn集群实现的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107515863A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412840A (zh) * | 2018-10-08 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种数据获取方法及sdn控制器 |
CN110134662A (zh) * | 2018-02-08 | 2019-08-16 | 中国移动通信有限公司研究院 | Sdn分布式存储系统、数据处理方法及存储介质 |
CN110838935A (zh) * | 2018-08-15 | 2020-02-25 | 上海宽带技术及应用工程研究中心 | 高可用sdn控制器集群方法、系统、存储介质及设备 |
CN113472891A (zh) * | 2021-07-15 | 2021-10-01 | 浪潮思科网络科技有限公司 | 一种sdn控制器集群数据处理方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1997173A (zh) * | 2006-12-22 | 2007-07-11 | 深圳市戴文科技有限公司 | 移动终端数据同步的实现系统及方法 |
US8453136B1 (en) * | 2007-03-06 | 2013-05-28 | Cadence Design Systems, Inc. | Change tracking and incremental synchronization of EDA design and technology data |
CN104111983A (zh) * | 2014-06-30 | 2014-10-22 | 中国科学院信息工程研究所 | 一种开放式的多源数据采集系统及方法 |
CN104933095A (zh) * | 2015-05-22 | 2015-09-23 | 中国电子科技集团公司第十研究所 | 异构信息通用性关联分析系统及其分析方法 |
CN105095294A (zh) * | 2014-05-15 | 2015-11-25 | 中兴通讯股份有限公司 | 一种分布式存储系统中管理异构副本的方法及装置 |
-
2016
- 2016-06-15 CN CN201610423042.5A patent/CN107515863A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1997173A (zh) * | 2006-12-22 | 2007-07-11 | 深圳市戴文科技有限公司 | 移动终端数据同步的实现系统及方法 |
US8453136B1 (en) * | 2007-03-06 | 2013-05-28 | Cadence Design Systems, Inc. | Change tracking and incremental synchronization of EDA design and technology data |
CN105095294A (zh) * | 2014-05-15 | 2015-11-25 | 中兴通讯股份有限公司 | 一种分布式存储系统中管理异构副本的方法及装置 |
CN104111983A (zh) * | 2014-06-30 | 2014-10-22 | 中国科学院信息工程研究所 | 一种开放式的多源数据采集系统及方法 |
CN104933095A (zh) * | 2015-05-22 | 2015-09-23 | 中国电子科技集团公司第十研究所 | 异构信息通用性关联分析系统及其分析方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134662A (zh) * | 2018-02-08 | 2019-08-16 | 中国移动通信有限公司研究院 | Sdn分布式存储系统、数据处理方法及存储介质 |
CN110838935A (zh) * | 2018-08-15 | 2020-02-25 | 上海宽带技术及应用工程研究中心 | 高可用sdn控制器集群方法、系统、存储介质及设备 |
CN109412840A (zh) * | 2018-10-08 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种数据获取方法及sdn控制器 |
CN113472891A (zh) * | 2021-07-15 | 2021-10-01 | 浪潮思科网络科技有限公司 | 一种sdn控制器集群数据处理方法、设备及介质 |
CN113472891B (zh) * | 2021-07-15 | 2024-04-26 | 浪潮思科网络科技有限公司 | 一种sdn控制器集群数据处理方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106250543B (zh) | 一种自动化数据查询同步存储方法 | |
CN105320085B (zh) | 工业自动化数据的采集方法及装置、系统 | |
CN107526645B (zh) | 一种通信优化方法及系统 | |
CN107515863A (zh) | 一种基于分布式数据库的sdn集群实现的方法及系统 | |
CN105407138B (zh) | 配置文件加载方法及装置、通信设备 | |
CN105339899B (zh) | 用于在软件定义网络中使应用程序集群的方法和控制器 | |
CN102855271A (zh) | 一种多版本电网模型的存储与可追溯管理方法 | |
CN106951552A (zh) | 一种基于Hadoop的用户行为数据处理方法 | |
WO2016019772A1 (zh) | 一种屏蔽异构数据源的方法及装置 | |
CN107506482A (zh) | 一种基于流式处理框架的大规模数据处理装置及方法 | |
CN104317970A (zh) | 一种基于数据加工中心的数据流式处理方法 | |
CN107506218A (zh) | 一种配置文件的管理方法及管理系统 | |
CN107656951B (zh) | 一种同步异构数据库系统中实时数据的方法 | |
CN104253858B (zh) | 一种基于数据包的移动数据同步冲突预处理与消解方法 | |
CN104657143A (zh) | 高性能数据缓存方法 | |
CN104967686A (zh) | 一种构建面型3s智慧服务商店系统及其设计方法 | |
CN109508319A (zh) | 一种3d跨平台资源管理系统和方法 | |
CN105930417A (zh) | 一种基于云计算的大数据etl交互式处理平台 | |
CN102541923A (zh) | 一种数据库读写分离的方法和装置 | |
CN103441988B (zh) | 跨gis平台数据迁移方法 | |
CN102929619A (zh) | 一种跨硬件平台的过程自动化软件开发系统 | |
CN103488794A (zh) | 一种任意属性的数据库操作的Web实现方法 | |
CN104346441B (zh) | 一种配电网信息数据动态集成交互方法 | |
CN103092767B (zh) | 一种对云计算内部物理机信息内存池的管理方法 | |
CN109241153A (zh) | 一种异构数据库集成接入方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
Application publication date: 20171226 |
|
RJ01 | Rejection of invention patent application after publication |