[发明专利]OVSDB客户端代码自动生成方法、系统、设备及介质有效
| 申请号: | 202011127502.2 | 申请日: | 2020-10-20 |
| 公开(公告)号: | CN112235311B | 公开(公告)日: | 2022-08-05 |
| 发明(设计)人: | 余兆国;沈洋 | 申请(专利权)人: | 网络通信与安全紫金山实验室 |
| 主分类号: | H04L69/22 | 分类号: | H04L69/22;G06F8/41;G06F8/34 |
| 代理公司: | 南京睿之博知识产权代理有限公司 32296 | 代理人: | 杨晓玲 |
| 地址: | 211100 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | ovsdb 客户端 代码 自动 生成 方法 系统 设备 介质 | ||
本发明公开了一种OVSDB客户端代码自动生成方法、系统、设备及介质,方法包括:获取待解析的Schema文件并进行合法性检查;定义解析后的数据格式,将合法的Schema文件中的内容解析到该数据格式中;基于解析后的数据生成数据库Go语言代码,包括:结合模板代码文件生成公共代码;结合模板代码文件生成每个表项的代码;对生成的代码进行格式化。本发明使用预先写好的模板代码文件生成所有代码,通过生成OVSDB各表项增删改查API避免用户直接构造数据库操作代码,使用结构化的表项数据避免非结构化的字符串映射,降低了Go语言项目集成OVSDB的难度,增加了代码可读性和可维护性。
技术领域
本发明属于SDN(软件定义网络)以及数据库领域,特别涉及一种OVSDB客户端代码自动生成方法、系统、设备及介质。
背景技术
SDN网络中的协议按照功能可以分为管理层面协议与控制层面协议。以SDN控制器为界限,按照可编程接口的层级可以分为南向接口与北向接口。OpenFlow协议严格的来说,是一种控制层面的南向接口协议,而OVSDB管理协议,是管理层面的南向接口协议。
OVSDB管理协议(Open vSwitch Database Management Protocol,开放虚拟交换机数据库管理协议)起初由VMware公司提出,负责管理开源的软件交换机(OpenvSwitch,OVS)的开放虚拟交换机数据库(OpenvSwitchDatabase,OVSDB),是一个用于实现对虚拟交换机的可编程访问和配置管理的SDN管理协议。OVSDB管理协议定义了一套RPC接口,用户可通过远程调用的方式管理OVSDB,主要包括通信协议(JSON-RPC)方法和所支持的OVSDB操作。OVS是OVSDB的主要应用,其数据模式由OVSDB Schema(DB-SCHEMA)定义,交换机支持通过OVSDB与控制器交互数据,这些数据以表的形式存储在OVSDB数据库中,这些表即为OVSDBSchema表,当交换机和控制器都为OVSDB Client(通过ovsdb管理协议,来与ovsdb数据库服务器进行通信)时,可以在表中增加行,还可以订阅行的添加、删除和修改。
随着SDN和虚拟化技术的发展,虚拟交换机依靠灵活、弹性、经济的特性已经逐渐取代部分传统硬件交换机,在数据中心网络中占据一席之地。OVSDB也在不停优化强化补齐功能短板,例如安全性、对协议栈的兼容、容灾与逃生等。OVSDB作为数据库基于JSON格式的Schema定义数据库表结构及各成员表项关系,支持RPC接口访问等特性也可以作为通用数据库得到更广泛的应用。
现有技术中OVSDB管理协议存在如下一些问题:
1、存在数据库大量硬编码且重复性高的操作,繁琐且容易出错;
2、业务开发阶段,数据库表项字段新增修改频繁,需要修改的代码可能无法及时发现,遗留BUG;
3、ovsdb-client操作命令行要自行构造数据库操作,使用起来比较麻烦,也无法实现测试数据的快速生成。
目前OVSDB集成在OVS项目内使用c语言实现其服务端代码及客户端代码。
发明内容
发明目的:针对现有技术中存在的问题,本发明公开了一种OVSDB客户端代码自动生成方法、系统、设备及介质,利用数据库Schema文件自动生成其定义的相关数据库Go语言代码,包含客户端连接、各表项操作API、表项数据结构、相关成员范围定义,降低了Go语言用户使用OVSDB的复杂度,提高代码可读性及可维护性。
技术方案:本发明采用如下技术方案:一种OVSDB客户端代码自动生成方法,其特征在于,包括如下步骤:
S1、获取待解析的Schema文件,并对Schema文件进行合法性检查,Schema文件中定义了包括数据库的属性和数据库中各表项的属性;
S2、定义解析后的数据格式,将合法的Schema文件中的内容解析到该数据格式中,得到解析后的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网络通信与安全紫金山实验室,未经网络通信与安全紫金山实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011127502.2/2.html,转载请声明来源钻瓜专利网。





