云网络架构和用于维护具有依赖关系的实体对象的方法技术

技术编号:37334903 阅读:34 留言:0更新日期:2023-04-21 23:13
本申请提供一种云网络架构和用于维护具有依赖关系的实体对象的方法。该方法包括:根据实体对象创建对应的有向无环图的节点,所述节点包括数据节点和汇集节点,所述数据节点包括节点属性和配置数据,所述汇集节点包括节点属性和增量日志并通过所述增量日志汇集作为其子节点的数据节点的数据变更信息;根据实体对象的依赖关系添加节点之间的连边;将添加所述连边带来的数据变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。本申请的技术方案能够以更低的计算成本实现变更集的计算。算成本实现变更集的计算。算成本实现变更集的计算。

【技术实现步骤摘要】
云网络架构和用于维护具有依赖关系的实体对象的方法


[0001]本专利技术涉及云计算
,具体涉及一种云网络架构和用于维护具有依赖关系的实体对象的方法及云网络控制器。

技术介绍

[0002]在云网络控制器或者其他大规模数据之间存在依赖关系的场景下,存在很多需要实时监测数据或其依赖关系发生变化的需求。例如,在云网络控制器领域,为了向为数众多的租户提供云服务,云服务商依赖于云网络控制器对规模庞大的服务器集群机器上的海量虚拟化网元进行配置和管理。
[0003]目前,业界一般把控制器配置数据存放在关系型数据库或者键值数据库中。这使得对数据间依赖关系的表示非常复杂,同时计算变更集需要频繁查询和计算,导致巨大的计算和存储开销。对于配置表项众多、表项间依赖关系复杂的云场景,需要一种计算开销满足需求的技术方案。

技术实现思路

[0004]本申请旨在提供一种云网络架构和用于维护具有依赖关系的实体对象的方法及云网络控制器,通过汇集节点减少对大规模数据的频繁访问,能够实时计算变更集。
[0005]根据本申请的一方面,提供一种云网络架构,包括北向管理层、云网络控制器及网元层,所述网元层包括物理设备和虚拟设备,所述云网络控制器通过北向接口与所述北向管理层通信并通过南向接口与物理设备通信。其中:所述北向管理层用于响应用户操作生成网元配置和调度命令;所述云网络控制器用于根据所述网元配置和调度命令生成和维护有向无环图,所述云网络控制器配置为执行如下操作:根据网元创建对应的有向无环图的节点,所述节点包括数据节点和汇集节点,所述数据节点包括节点属性和配置数据,所述汇集节点包括节点属性和增量日志并通过所述增量日志汇集作为其子节点的数据节点的数据变更信息,根据网元的依赖关系添加节点之间的连边,将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集,响应于网元的配置更新和调度命令,更新对应的节点和/或连边,并将节点和/或连边的变更汇集到相应的汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集;所述网元层用于实现云网络功能,其中所述物理设备承载网元配置并根据相应的网元变更集执行网元配置和调度命令。
[0006]根据一些实施例,所述节点的数据内容以键值对的形式存储在分布式缓存数据库中。
[0007]根据一些实施例,所述连边以双向键值对的形式存储在分布式缓存数据库中。
[0008]根据一些实施例,所述汇集节点还包括子节点的引用计数,所述子节点的引用计数表示所述汇集节点到相应子节点的路径数量。
[0009]根据一些实施例,为将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:添加一节点与其父节点之间的连边时,递归遍历所述节点的所有子节点,得到子节点列表,所述子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段,在遍历的过程中,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点;递归遍历所述节点的所述父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;对于根汇集节点列表中的每一个根汇集节点,进行关于所述子节点列表中的每个子节点的引用计数和增量日志计算:在当前根汇集节点上增加引用计数,引用计数的增加量为所述节点的所述父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数;如果当前子节点在当前根汇集节点上已经存在引用计数,则表明当前子节点不是首次被添加到当前根汇集节点所在有向无环图上,增量日志不做任何处理;否则,构造关于创建当前子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
[0010]根据一些实施例,为将节点的变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:对一节点进行更新时,将所述节点的节点属性中的版本号加1;递归遍历所述节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;对于根汇集节点列表中的每一个根汇集节点,构造关于所述节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
[0011]根据一些实施例,为将连边的变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:移除一节点与其父节点之间的连边时,递归遍历所述节点的所有子节点,得到子节点列表,所述子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点;递归遍历所述节点的父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;删除由所述节点到其父节点的连边;对于根汇集节点列表中的每一个根汇集节点,进行关于所述子节点列表中的每个
子节点的引用计数和增量日志计算:在当前根汇集节点上减少引用计数,引用计数的减少量为所述父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数;如果当前根汇集节点对当前子节点的引用计数减为0,表明移除了当前根汇集节点到当前子节点的所有可达路径,则构造关于删除当前子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
[0012]根据一些实施例,为将节点的变更汇集到相应的汇集节点的增量日志中,所述云网络控制器还配置为执行如下操作:当一节点没有子节点和父节点时,根据需求移除所述节点,不对增量日志产生影响。
[0013]根据一些实施例,所述节点属性包括节点的类型、版本号、及时间戳。
[0014]根据一些实施例,所述增量日志包括对实体对象的操作信息和/或对实体对象之间依赖关系的操作信息。
[0015]根据一些实施例,所述汇集节点还包括配置数据。
[0016]根据本申请的另一方面,还提供一种用于维护具有依赖关系的实体对象的方法,包括:根据实体对象创建对应的有向无环图的节点,所述节点包括数据节点和汇集节点,所述数据节点包括节点属性和配置数据,所述汇集节点包括节点属性和增量日志并通过所述增量日志汇集作为其子节点的数据节点的数据变更信息;根据实体对象的依赖关系添加节点之间的连边;将添加所述连边带来的数据变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。
[0017]根据一些实施例,前述方法还包括:响应于实体对象的配置更新,更新对应的节点和/或连边,并将节点数据和/或连边的变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。
[0018]根据一些实施例,所述根据实体对象创建对应的有向无环图的节点,包括:将所述节点的数据内容以键值对的形式存储在分布本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云网络架构,包括北向管理层、云网络控制器及网元层,所述网元层包括物理设备和虚拟设备,所述云网络控制器通过北向接口与所述北向管理层通信并通过南向接口与物理设备通信,其特征在于:所述北向管理层用于响应用户操作生成网元配置和调度命令;所述云网络控制器用于根据所述网元配置和调度命令生成和维护有向无环图,所述云网络控制器配置为执行如下操作,根据网元创建对应的有向无环图的节点,所述节点包括数据节点和汇集节点,所述数据节点包括节点属性和配置数据,所述汇集节点包括节点属性和增量日志并通过所述增量日志汇集作为其子节点的数据节点的数据变更信息,根据网元的依赖关系添加节点之间的连边,将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集,响应于网元的配置更新和调度命令,更新对应的节点和/或连边,并将节点和/或连边的变更汇集到相应的汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集;所述网元层用于实现云网络功能,其中所述物理设备承载网元配置并根据相应的网元变更集执行网元配置和调度命令。2.根据权利要求1所述的云网络架构,其特征在于,所述节点的数据内容以键值对的形式存储在分布式缓存数据库中;所述连边以双向键值对的形式存储在分布式缓存数据库中。3.根据权利要求1所述的云网络架构,其特征在于,所述汇集节点还包括子节点的引用计数,所述子节点的引用计数表示所述汇集节点到相应子节点的路径数量。4.根据权利要求3所述的云网络架构,其特征在于,为将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:添加一节点与其父节点之间的连边时,递归遍历所述节点的所有子节点,得到子节点列表,所述子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段,在遍历的过程中,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点;递归遍历所述节点的所述父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;对于根汇集节点列表中的每一个根汇集节点,进行关于所述子节点列表中的每个子节点的引用计数和增量日志计算:在当前根汇集节点上增加引用计数,引用计数的增加量为所述节点的所述父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数;如果当前子节点在当前根汇集节点上已经存在引用计数,则表明当前子节点不是首次被添加到当前根汇集节点所在有向无环图上,增量日志不做任何处理;否则,构造关于创建当前子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。5.根据权利要求3所述的云网络架构,其特征在于,为将节点的变更汇集到相应的汇集
节点的增量日志中,所述云网络控制器配置为执行如下操作:对一节点进行更新时,将所述节点的节点属性中的版本号加1;递归遍历所述节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的父节点...

【专利技术属性】
技术研发人员:吕彪耿若鹏高磊方崇荣祝顺民蒋江伟程鹏陈积明
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1