CN115987751A - 云网络架构和用于维护具有依赖关系的实体对象的方法 - Google Patents

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

Info

Publication number
CN115987751A
CN115987751A CN202310265894.6A CN202310265894A CN115987751A CN 115987751 A CN115987751 A CN 115987751A CN 202310265894 A CN202310265894 A CN 202310265894A CN 115987751 A CN115987751 A CN 115987751A
Authority
CN
China
Prior art keywords
node
nodes
sink
root
child
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.)
Granted
Application number
CN202310265894.6A
Other languages
English (en)
Other versions
CN115987751B (zh
Inventor
吕彪
耿若鹏
高磊
方崇荣
祝顺民
蒋江伟
程鹏
陈积明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202310265894.6A priority Critical patent/CN115987751B/zh
Publication of CN115987751A publication Critical patent/CN115987751A/zh
Application granted granted Critical
Publication of CN115987751B publication Critical patent/CN115987751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

云网络架构和用于维护具有依赖关系的实体对象的方法
技术领域
本发明涉及云计算技术领域,具体涉及一种云网络架构和用于维护具有依赖关系的实体对象的方法及云网络控制器。
背景技术
在云网络控制器或者其他大规模数据之间存在依赖关系的场景下,存在很多需要实时监测数据或其依赖关系发生变化的需求。例如,在云网络控制器领域,为了向为数众多的租户提供云服务,云服务商依赖于云网络控制器对规模庞大的服务器集群机器上的海量虚拟化网元进行配置和管理。
目前,业界一般把控制器配置数据存放在关系型数据库或者键值数据库中。这使得对数据间依赖关系的表示非常复杂,同时计算变更集需要频繁查询和计算,导致巨大的计算和存储开销。对于配置表项众多、表项间依赖关系复杂的云场景,需要一种计算开销满足需求的技术方案。
发明内容
本申请旨在提供一种云网络架构和用于维护具有依赖关系的实体对象的方法及云网络控制器,通过汇集节点减少对大规模数据的频繁访问,能够实时计算变更集。
根据本申请的一方面,提供一种云网络架构,包括北向管理层、云网络控制器及网元层,所述网元层包括物理设备和虚拟设备,所述云网络控制器通过北向接口与所述北向管理层通信并通过南向接口与物理设备通信。其中:
所述北向管理层用于响应用户操作生成网元配置和调度命令;
所述云网络控制器用于根据所述网元配置和调度命令生成和维护有向无环图,所述云网络控制器配置为执行如下操作:
根据网元创建对应的有向无环图的节点,所述节点包括数据节点和汇集节点,所述数据节点包括节点属性和配置数据,所述汇集节点包括节点属性和增量日志并通过所述增量日志汇集作为其子节点的数据节点的数据变更信息,
根据网元的依赖关系添加节点之间的连边,
将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集,
响应于网元的配置更新和调度命令,更新对应的节点和/或连边,并将节点和/或连边的变更汇集到相应的汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集;
所述网元层用于实现云网络功能,其中所述物理设备承载网元配置并根据相应的网元变更集执行网元配置和调度命令。
根据一些实施例,所述节点的数据内容以键值对的形式存储在分布式缓存数据库中。
根据一些实施例,所述连边以双向键值对的形式存储在分布式缓存数据库中。
根据一些实施例,所述汇集节点还包括子节点的引用计数,所述子节点的引用计数表示所述汇集节点到相应子节点的路径数量。
根据一些实施例,为将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:
添加一节点与其父节点之间的连边时,递归遍历所述节点的所有子节点,得到子节点列表,所述子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段,在遍历的过程中,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点;
递归遍历所述节点的所述父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;
对于根汇集节点列表中的每一个根汇集节点,进行关于所述子节点列表中的每个子节点的引用计数和增量日志计算:
在当前根汇集节点上增加引用计数,引用计数的增加量为所述节点的所述父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数;
如果当前子节点在当前根汇集节点上已经存在引用计数,则表明当前子节点不是首次被添加到当前根汇集节点所在有向无环图上,增量日志不做任何处理;否则,构造关于创建当前子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
根据一些实施例,为将节点的变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:
对一节点进行更新时,将所述节点的节点属性中的版本号加1;
递归遍历所述节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;
对于根汇集节点列表中的每一个根汇集节点,构造关于所述节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
根据一些实施例,为将连边的变更汇集到相应的汇集节点的增量日志中,所述云网络控制器配置为执行如下操作:
移除一节点与其父节点之间的连边时,递归遍历所述节点的所有子节点,得到子节点列表,所述子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点;
递归遍历所述节点的父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,所述根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;
删除由所述节点到其父节点的连边;
对于根汇集节点列表中的每一个根汇集节点,进行关于所述子节点列表中的每个子节点的引用计数和增量日志计算:
在当前根汇集节点上减少引用计数,引用计数的减少量为所述父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数;
如果当前根汇集节点对当前子节点的引用计数减为0,表明移除了当前根汇集节点到当前子节点的所有可达路径,则构造关于删除当前子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
根据一些实施例,为将节点的变更汇集到相应的汇集节点的增量日志中,所述云网络控制器还配置为执行如下操作:
当一节点没有子节点和父节点时,根据需求移除所述节点,不对增量日志产生影响。
根据一些实施例,所述节点属性包括节点的类型、版本号、及时间戳。
根据一些实施例,所述增量日志包括对实体对象的操作信息和/或对实体对象之间依赖关系的操作信息。
根据一些实施例,所述汇集节点还包括配置数据。
根据本申请的另一方面,还提供一种用于维护具有依赖关系的实体对象的方法,包括:
根据实体对象创建对应的有向无环图的节点,所述节点包括数据节点和汇集节点,所述数据节点包括节点属性和配置数据,所述汇集节点包括节点属性和增量日志并通过所述增量日志汇集作为其子节点的数据节点的数据变更信息;
根据实体对象的依赖关系添加节点之间的连边;
将添加所述连边带来的数据变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。
根据一些实施例,前述方法还包括:响应于实体对象的配置更新,更新对应的节点和/或连边,并将节点数据和/或连边的变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。
根据一些实施例,所述根据实体对象创建对应的有向无环图的节点,包括:将所述节点的数据内容以键值对的形式存储在分布式缓存数据库中。
根据一些实施例,所述根据实体对象的依赖关系添加节点之间的连边,包括:将所述连边以双向键值对的形式存储在分布式缓存数据库中。
根据一些实施例,所述汇集节点还包括子节点的引用计数,表示到子节点的路径数量。
根据一些实施例,所述节点属性包括节点的类型、版本号、及时间戳。
根据一些实施例,将添加所述连边带来的数据变更汇集到相应汇集节点的增量日志中,包括:将对实体对象的操作信息和/或对实体对象之间依赖关系的操作信息添加到分布式缓存数据库的有序集合结构中。
根据一些实施例,所述汇集节点还包括配置数据。
根据本申请的另一方面,提供一种云网络控制器,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的方法。
根据本申请的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。
根据本申请的实施例,通过有向无环图结构和数据节点设计,本方法可以刻画复杂的、规模巨大的数据间相互依赖关系。此外,利用汇集节点实时汇集各数据的变更情况,降低数据分发的计算和通信开销。根据本申请的技术方案,对数据的操作和变更集计算消耗的计算成本更低。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1示出根据本申请示例实施例的用于维护具有依赖关系的实体对象的方法流程图。
图2A示例性示出一组具有依赖关系的实体对象的关系拓扑;
图2B示例性示出与图2A的关系拓扑对应的有向无环图示意结构;
图2C示出根据本申请另一示例实施例的用于维护具有依赖关系的实体对象的方法流程图。
图3示出根据本申请示例实施例的部分云网络及有向无环图示意结构。
图4示出根据本申请示例实施例的云网络架构示意图。
图5示出根据示例性实施例的云网络控制器的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
在大规模数据之间存在依赖关系的场景下,存在很多需要实时监测数据或其依赖关系发生变化的需求。以云网络为例,控制器需要管理大规模的服务器和众多异构的网络设备,包括但不限于负载均衡器、软硬件防火墙、路由器等。云网络控制器接收配置命令,例如租户和云服务商通过软件、API等下达的配置命令,并将这些配置命令下发给底层的网元设备执行,从而实现云网络的快速变配和弹性伸缩。在此场景下,数据为配置表项,配置表项之间存在依赖关系。这里的数据依赖关系指不同类型的两个数据实体,一方需要另一方的存在才能具有实际意义。例如,在云网络中虚拟端口必须依赖虚拟机才能具备工作能力。对这些存在依赖关系的数据变化汇总起来的描述被称为数据变更集,即对数据进行新增、修改、删除等变更操作的记录汇总,通常包含变更操作的时间、操作对象和操作内容等元素。
在云网络中,控制器通过对网元表项的创建、修改和删除来下发配置命令。表项中包含设备信息、配置规则等。底层网元设备或者监测系统需要实时获取表项及其依赖关系的变化,以快速对设备进行配置更改或者核对表项和依赖关系是否符合上层命令的配置意图。例如,某一批设备连接在相同的虚拟交换机和虚拟路由器之下,那么该批设备中涉及到路由信息的表项就是相同的。当控制器创建、修改或者删除一条表项的时候,与该表项有关系的其他表项以及网络设备都需要及时进行相应的变更,才能保证网络设备正常的工作。
在云网络场景下,表项数量都是极大规模的,其依赖关系也是非常复杂的。这些表项数据的变更集需要实时被计算出来,这样才能支持后续针对海量云网络设备下发、修改、核对这些配置数据。同时,云服务商还必须保证云网络中运行的租户应用不会受到监测大规模表项及其依赖关系的变化而带来的计算、存储和网络通信开销的影响。在其他存在复杂数据关系的场景下对大规模数据变更集的实时计算也有着类似的挑战。然而,业界一般把控制器配置数据存放在关系型数据库或者键值数据库中。这使得对数据间依赖关系的表示非常复杂,同时计算变更集需要频繁查询和计算,导致巨大的计算和存储开销。
为此,本申请提出一种技术方案,利用有向无环图(DAG:Directed AcyclicGraph)存储有复杂依赖关系的数据及其之间的关系,并在数据或依赖关系发生变化时,实时计算出数据变更集。该技术方案可应用于存在复杂数据依赖关系场景下,供各种网络和数据管理方案使用,包括但不限于云网络控制器配置表项的管理。
以下结合附图对本申请的示例实施例进行说明。
图1示出根据本申请示例实施例的用于维护具有依赖关系的实体对象的方法流程图。
根据实施例,通过创建节点、添加连边、更新节点、移除连边、删除节点等原子操作实现节点和连边的新增、修改和删除,从而构建和维护从存在复杂依赖关系的大规模实体对象或数据抽象得到的有向无环图。
参见图1,在S101,根据实体对象创建对应的有向无环图的节点。
这里的实体对象可包括网元、数据实体、组织实体等,是可进行参数、属性、功能、或组成配置的对象。图2A示例性示出一组具有依赖关系的实体对象的关系拓扑,包括实体对象1、2、31、32、33、4、51、52和53,其中实体对象2依赖于实体对象1,实体对象31、32、33依赖于实体对象2,实体对象4依赖于实体对象31、32和33,实体对象51、52和53依赖于实体对象4。再以云网络中的网元为例(参见图3),其可包括物理设备和虚拟设备,例如物理服务器、虚拟机、虚拟端口、虚拟私有网、路由规则等。根据一些实施例,在云网络控制器配置应用中,节点可根据接收的网元配置命令来创建,例如租户和云服务商通过软件、API等下达的配置命令。
节点可包括数据节点和汇集节点。参见图2B,其为与图2A的关系拓扑对应的有向无环图示意结构,节点R和节点C为汇集节点,其余节点A、B1、B2、B3、D1、D2、D3等为数据节点。数据节点包括节点属性和配置数据,也可以扩展其他字段。根据一些实施例,在云网络控制器中,数据节点可包括网元属性和网元配置数据,例如对应一条网元配置表项,包含多个网络配置规则和/或网络设备信息等。
汇集节点包括节点属性、子节点的引用计数和增量日志并通过子节点的引用计数和增量日志汇集作为其子节点的数据节点的数据变更信息。例如,汇集节点可具有一个或多个数据节点作为子节点,用于汇集子节点的数据变更信息,汇集节点也是其自身的子节点。汇集节点C在作为其他汇集节点R的子节点时,C的所有子节点的数据变更情况不再汇集给R。换言之,汇集节点可以屏蔽其所有子节点的数据变更情况。汇集节点通常会对应一个普通的数据节点,可视为一类升级的特殊数据节点,也可包括配置数据。
节点的每一个单独数据字段(节点属性字段、配置数据字段等)可以键值对的形式存储于分布式缓存数据库,键为节点ID。例如,节点的存储可基于Redis或者支持哈希HASH,有序集合ZSET等基础数据结构的类似缓存服务器。
节点属性可包括但不限于节点的类型、版本号、时间戳等元数据。时间戳表示节点创建时间,版本号在数据每次更新后加1,节点类型与实际应用场景相关。
根据一些实施例,数据节点存储格式为“attr:数据节点ID->节点属性”和“data:数据节点ID->HASH(配置数据)”。配置数据可由实际应用场景决定。
根据一些实施例,汇集节点存储格式可为“b-attr:汇集节点ID->节点属性”,“b-ref:汇集节点ID->HASH(子节点ID,引用计数)”和“b-log:汇集节点ID->ZSET(时间戳,增量日志OPLOG)”。引用计数为一个节点到其子节点的路径数量,到其自身的引用计数为1。OPLOG包括对实体对象的操作信息(增加、修改、删除)或者对实体对象之间依赖关系的操作信息(添加、移除)。根据一些实施例,OPLOG的格式可构造为(时间戳,操作,节点ID,版本号)。
汇集节点作为其自身的子节点,在创建时,引用计数字段添加(节点ID, 1)字段到HASH表中,增量日志字段添加(时间戳, 操作=生成节点, 节点ID, 版本号)到有序集合ZSET 中。
在S103,根据实体对象的依赖关系添加节点之间的连边。
由于节点对应的实体对象之间存在拓扑关系和依赖关系,这些节点之间天然就存在连接拓扑和相应的依赖关系。因此,根据实体对象之间的拓扑关系或依赖关系创建节点之间的连边关系,在存储中可添加双向的键值对,包括节点之间的父节点和子节点关系,以维护有向无环图(DAG)。基于边可以快速双向遍历DAG中的节点。
以图2A和2B为例,实体对象31依赖于实体对象2,实体对象4依赖于实体对象31,已经创建了对应实体对象2的节点A及对应实体对象4的节点C。在创建对应于实体对象31的节点B1后,可根据实体对象之间的依赖关系,添加节点A和节点C与节点B1之间的连边。节点A为添加连边后节点B1的父节点。若以网元为例,网元之间的依赖关系可体现在云网络配置命令中。例如,参见图3,在云网络控制器网络配置下发的场景中,连边指网元间具体的依赖关系,如虚拟机一定依赖于物理服务器存在,虚拟端口vport一定依赖于虚拟机。
根据实施例,一条连边同时存储两条数据,即“父节点ID->子节点ID”和“子节点ID->父节点ID”,以实现双向访问。
在S105,将添加连边带来的数据变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。
添加一节点与其父节点之间的连边时,参见图2A和2B,以添加节点B1与节点A之间的连边为例,可先递归遍历节点B1的所有子节点(B1是其自身的子节点),得到子节点列表(子节点ID,子节点的引用计数,子节点版本号),其中节点B1对子节点的引用计数为节点B1到相应子节点的路径数量,节点B1到其自身的引用计数为1。在遍历的过程中,如果任何一个子节点为汇集节点,则不再继续遍历该节点的子节点。因此,在该例子中,节点B1的子节点列表包括节点B1和节点C,节点B1对节点C的引用计数为1。
然后可递归遍历节点B1的父节点A的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点。参见图2B,该例中根汇集节点列表包括一个根汇集节点,即汇集节点R。
若根汇集节点列表为空集,则不再执行后续任何动作。
对于根汇集节点列表中的每一个根汇集节点,进行关于子节点列表中的每个子节点的引用计数和增量日志计算。包括:
在当前根汇集节点上增加引用计数(子节点ID,增加量),从而新增对当前子节点ID的引用计数。增加量计算方法为,该节点的父节点在当前根汇集节点上的引用计数乘以该节点对当前子节点的引用计数。例如,参见图2B,对于子节点列表中的子节点C,增加量为节点B1的父节点A在根汇集节点R上的引用计数1乘以节点B1对子节点C的引用计数1,结果为1。类似地,对于子节点列表中的子节点B1,增加量的计算结果为1。
在根汇集节点上增加引用计数的操作可为一个自增的原子操作,即若子节点已在根汇集节点有引用计数,则累加新计算的计数值即可,否则直接使用计算出来的计数值。在示例中,节点B1在汇集节点R的引用计数为计算出来的1;节点C在汇集节点R的引用计数为原引用计数(为1)增加1,即为2。
如果当前子节点在当前根汇集节点上已经存在引用计数,则表明子节点不是首次被添加到根汇集节点所在DAG上,增量日志不做任何处理。否则,构造格式为(时间戳,操作=生成节点,子节点ID,版本号)的 OPLOG 字段插入到当前的根汇集节点的增量日志(例如,有序集合ZSET),并将新增的日志信息加入到当前汇集节点的变更集当中。例如,参见图2B,对于子节点列表中的子节点B1,可构造增量日志字段加入增量日志中。而对于子节点C,由于不是首次被添加到根汇集节点所在DAG上,增量日志不做任何处理。
执行完毕后,添加连边带来的数据变更被存储到所有相关的汇集节点的增量日志中,并且得到一个准确反应本次操作影响的变更集。
这样,通过有向无环图结构和节点设计,本申请的技术方案可以刻画复杂的、规模巨大的数据间相互依赖关系。通过汇集节点的增量日志设计,可以实时维护DAG并计算出节点的变更集,减少对大规模数据的频繁访问。通过汇集节点的级联,可以灵活汇集不同范围的数据变更情况生成变更集,以支持灵活的数据变更集使用场景。此外,通过通用分布式缓存数据库存储大规模有向无环图,能够在短时间内快速对复杂的数据进行遍历和计算。
图2C示出根据本申请示例实施例的用于维护具有依赖关系的实体对象的方法流程图。
图2C所示实施例与图1基本相同,区别在于还包括S107:响应于实体对象的配置更新(例如,响应于云网络中网元的配置更新),更新对应的节点和/或连边,并将节点和/或连边的变更汇集到相应汇集节点的增量日志中,从而根据所述增量日志得到相应的数据变更集。
根据实施例,对节点进行更新时,将节点属性中的版本号加1,新创建的节点其版本号可为0。然后,递归遍历当前更新节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表。若根汇集节点列表为空集,则不再执行后续任何动作。对于根汇集节点列表中的每一个根汇集节点,构造格式为(时间戳,操作=更新节点,被更新节点的ID,更新的版本号)的 OPLOG 字段插入到当前的根汇集节点的增量日志(例如,有序集合ZSET),并将OPLOG信息加入到当前根汇集节点的变更集当中。执行完毕后,本次更新操作的数据被存储到所有相关的汇集节点的增量日志中,并且得到一个准确反应本次操作影响的变更集。
根据实施例,参见图2B,移除节点B1与其父节点A之间的连边时,可先递归遍历节点B1的所有子节点(B1是其自身的子节点),得到子节点列表(子节点ID,子节点的引用计数,子节点版本号),其中节点B1对子节点的引用计数为节点B1到相应子节点的路径数量,节点B1到其自身的引用计数为1。在遍历的过程中,如果任何一个子节点为汇集节点,则不再继续遍历该节点的子节点。因此,在该例子中,节点B1的子节点列表包括节点B1和节点C,节点B1对节点C的引用计数为1。
然后可递归遍历节点B1的父节点A的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点。参见图2B,该例中根汇集节点列表包括一个根汇集节点,即汇集节点R。
删除由节点A到父节点的连边,在存储中可删除双向的键值对,例如从分布式缓存数据库中删除双向的键值对。
若根汇集节点列表为空集,则不再执行后续任何动作。
对于根汇集节点列表中的每一个根汇集节点,进行关于子节点列表中的每个子节点的引用计数和增量日志计算。包括:
在当前根汇集节点上减少引用计数(子节点ID,减少量),从而减少对当前子节点ID的引用计数。减少量计算方法为,父节点在当前根汇集节点上的引用计数乘以该节点对当前子节点的引用计数。例如,参见图2B,对于子节点列表中的子节点C,减少量为父节点A在根汇集节点R上的引用计数1乘以节点B1对子节点C的引用计数1,结果为1。类似地,对于子节点列表中的子节点B1,减少量的计算结果为1。这样,节点B1在汇集节点R的引用计数减为0;节点C在汇集节点R的引用计数减为1。
如果当前根汇集节点对当前子节点的引用计数减为0,则表明本次操作移除了根汇集节点到当前子节点的所有可达路径。
根据一些实施例,可构造格式为(时间戳,操作=删除子节点,子节点ID,子节点版本号)的 OPLOG 字段并插入到当前的根汇集节点的增量日志(例如,有序集合ZSET),并将新增日志信息加入到当前汇集节点的变更集当中。
由此,利用移除连边操作,对于有开花节点的DAG会更新开花节点的引用计数,还可将可能造成的数据变更写入开花节点的增量日志。
移除连边操作执行完毕后,操作带来的可能数据变更被存储到所有相关的汇集节点的增量日志中,并且得到一个反应本次操作影响的变更集。
根据实施例,删除节点时,要求先移除所有执行该节点的连边以及该节点指向的连边。当该节点没有子节点和父节点时,可视需求移除该节点,即删除不在DAG中且确认无用的数据节点或者开花节点,不对增量日志产生影响。
每个汇集节点上获得了各个原子操作的变更集后,同一个汇集节点的多个原子操作变更集汇集在一起就是这个汇集节点的变更集。
图3示出根据本申请示例实施例部分云网络及有向无环图示意结构。
参见图3,在图示的云网络中,物理服务器N01上有至少一个弹性云服务器E101,这个物理服务器N01可抽象为一个汇集节点(为方便起见,同样表示为N01,其他类似)。类似地,物理服务器N02上有多个弹性云服务器(虚拟服务器)E201和E203,这个物理服务器N02也抽象为一个汇集节点N02。多个弹性云服务器E101、E201和E203分别抽象为数据节点E101、E201和E203。这里,汇集节点N01是数据节点E101的父节点,汇集节点N02是数据节点E201和E203的父节点。弹性云服务器E101上设置有多个虚拟端口101和102,弹性云服务器E201上设置有至少一个虚拟端口201,弹性云服务器E203上设置有至少一个虚拟端口203。虚拟端口101、102、201和203可分别抽象为数据节点101、102、201和203。在虚拟端口101、102和201上设立虚拟私有云100,在虚拟端口203设立虚拟私有云200。虚拟私有云100可抽象为汇集节点100,虚拟私有云200可抽象为汇集节点或数据节点200。在虚拟私有云100上配置路由表项1~4,可抽象为数据节点1~4。
参见图3, 如果云网络的租户修改了虚拟端口对应的带宽,这个配置需要下发给虚拟端口所在的物理服务器去执行。用户的配置操作完成后,云网络控制器对DAG执行更新节点的原子操作,并且相应的操作会以增量日志的形式汇总在汇集节点,形成新的变更集。新的变更集下发到对应的物理服务器,便可以执行对虚拟端口带宽的设置。
图4示出根据本申请示例实施例的云网络架构示意图。
参见图4,根据示例实施例的云网络架构包括北向管理层410、云网络控制器420及网元层430。网元层430包括物理设备和虚拟设备(参见图3),云网络控制器420通过北向接口与北向管理层410通信并通过南向接口与物理设备通信。
根据实施例,北向管理层410用于响应用户操作生成网元配置和调度命令,从而实现对网络的配置和变更。例如,租户通过北向管理层生成诸如“在物理服务器N01上新建一个虚拟云服务器E101”这样的命令。北向管理层410可包括但不限于网元控制器、NFV(网络功能虚拟化)控制器、网络测量等功能应用,可实现用户控制、运维控制、网络管理应用等。
云网络控制器420用于根据网元配置和调度命令生成和维护有向无环图(DAG)。根据实施例,云网络控制器420通过北向接口接收网元配置和调度命令。云网络控制器420可配置为利用前面描述的本申请的方法根据网元配置和调度命令管理诸如图3所示的云网络。下面结合图3所示的部分云网络和DAG进行描述,并可参照前面结合图1-图2C的说明(注:图3的DAG与图2B的DAG部分相同)。
根据实施例,云网络控制器420配置为根据网元创建对应的有向无环图的节点。参见前面的描述和图3,节点可包括数据节点和汇集节点,数据节点包括节点属性和配置数据,汇集节点包括节点属性和增量日志并通过增量日志汇集作为其子节点的数据节点的数据变更信息。云网络控制器根据网元的依赖关系添加节点之间的连边。
参见前面的描述,类似地,根据实施例,云网络控制器420还可配置为执行如下操作将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,从而根据增量日志得到相应的数据变更集;以及响应于网元的配置更新和调度命令,更新对应的节点和/或连边,并将节点和/或连边的变更汇集到相应的汇集节点的增量日志中,从而根据增量日志得到相应的数据变更集。
根据实施例,节点的数据内容以键值对的形式存储在分布式缓存数据库中,能够在短时间内快速对复杂的数据进行遍历和计算。节点属性可包括节点的类型、版本号、及时间戳。
节点之间的连边对应网元之间的依赖关系。例如,根据北向管理层410下发的配置命令“新建一个虚拟服务器,并在虚拟服务器上新建两个虚拟端口”,反映在DAG上就是新建三个节点,虚拟服务器的父节点一定是分配的物理服务器,虚拟端口的父节点一定是虚拟服务器,新建节点与其父节点之间建立连边,反映了网元之间的依赖关系。根据实施例,连边以双向键值对的形式存储在分布式缓存数据库中,从而可以快速双向遍历DAG中的节点。
根据实施例,为将添加连边带来的数据变更汇集到相应的汇集节点的增量日志中,云网络控制器420配置为在添加一节点与其父节点之间的连边时,递归遍历节点的所有子节点,得到子节点列表,子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段。在遍历的过程中,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点。
云网络控制器420递归遍历节点的父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点。
对于根汇集节点列表中的每一个根汇集节点,云网络控制器420进行关于子节点列表中的每个子节点的引用计数和增量日志计算:在当前根汇集节点上增加引用计数,引用计数的增加量为节点的父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数。如果当前子节点在当前根汇集节点上已经存在引用计数,则表明当前子节点不是首次被添加到当前根汇集节点所在有向无环图上,增量日志不做任何处理;否则,构造关于当前创建子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。
网元层430用于实现云网络功能,包括物理设备和虚拟设备,例如可包括但不限于虚拟交换机、虚拟服务器、物理服务器等。物理设备承载网元配置并根据相应的网元变更集真正执行网元配置和调度命令。网元变更集通过南向接口发送给网元层以执行变更命令。例如,云网络控制器420 接收到“在物理服务器N01上新建一个虚拟云服务器E101”这样的命令后,会创建一个虚拟云服务器节点E101,节点ID根据预定规则生成。然后,在物理服务器节点N01与虚拟云服务器节点E101之间添加连边。此时,虚拟云服务器还没有新建,需等到变更集下发给网元层430的相应物理设备后才具体执行。
根据实施例,为将节点的变更汇集到相应的汇集节点的增量日志中,云网络控制器420还配置为执行如下操作:对一节点进行更新时,将节点的节点属性中的版本号加1;递归遍历节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;对于根汇集节点列表中的每一个根汇集节点,构造关于节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。此操作与前面参照图2C描述的操作一致,不再赘述。
根据实施例,为将连边的变更汇集到相应的汇集节点的增量日志中,云网络控制器420还配置为执行如下操作:移除一节点与其父节点之间的连边时,递归遍历节点的所有子节点,得到子节点列表,子节点列表的元素包括子节点ID、子节点的引用计数及子节点版本号三个字段,如果任何一个子节点为汇集节点,则不再继续遍历该汇集节点的子节点;递归遍历节点的父节点的所有根节点,找到所有的根汇集节点,得到根汇集节点列表,根汇集节点为遍历的过程中遇到的汇集节点且遇到该汇集节点后则不再继续遍历该汇集节点的根节点;删除由节点到其父节点的连边;对于根汇集节点列表中的每一个根汇集节点,进行关于子节点列表中的每个子节点的引用计数和增量日志计算:在当前根汇集节点上减少引用计数,引用计数的减少量为父节点在当前根汇集节点上的引用计数乘以当前子节点的引用计数;如果当前根汇集节点对当前子节点的引用计数减为0,表明移除了当前根汇集节点到当前子节点的所有可达路径,则构造关于删除当前子节点的增量日志字段插入到当前根汇集节点的增量日志,并将新增的日志信息加入到当前汇集节点的变更集当中。此操作与前面参照图2C描述的操作一致,不再赘述。易于理解,一个汇集节点处下发了关于移除节点的变更指令,会导致网元移除该节点相关的网络配置,但是并不一定导致此节点被删除,因为此节点可能在其他网元处仍然发挥作用。
根据实施例,为将节点的变更汇集到相应的汇集节点的增量日志中,云网络控制器420还配置为:当一节点没有子节点和父节点时,根据需求移除节点,不对增量日志产生影响。
根据示例实施例的云网络架构,能够根据用户的网络配置和调整命令,快速实时计算网元变更集,从而实现大规模复杂云网络的快速调整和管理。
通过对示例实施例的描述,本领域技术人员易于理解,根据本申请实施例的存储数据的网络架构和方法至少具有以下优点中的一个或多个。
根据示例实施例,通过有向无环图结构和数据节点设计,本方法可以刻画复杂的、规模巨大的数据间相互依赖关系,例如管理复杂云网络。
根据实施例,利用汇集节点实时汇集各数据的变更情况,降低数据分发的计算和通信开销。根据本申请的技术方案,对大规模云网络网元的操作和变更集计算消耗的计算成本更低。
根据示例实施例,通用分布式缓存数据库存储大规模有向无环图,本方法能够在短时间内快速对复杂的数据或云网络进行遍历和计算。
根据示例实施例,通过汇集节点的增量日志设计,可以实时维护DAG并计算出节点的变更集,减少对大规模数据或云网络的频繁访问。
根据示例实施例,通过汇集节点的级联,可以灵活汇集不同范围的数据变更情况生成变更集,以支持灵活的数据变更集使用场景。
图5示出根据本申请示例实施例的云网络控制器的框图。
如图5所示,云网络控制器30包括处理器12和存储器14。云网络控制器30还可以包括总线22、网络接口16以及I/O接口18。处理器12、存储器14、网络接口16以及I/O接口18可以通过总线22相互通信。
处理器12可以包括一个或多个通用CPU(Central Processing Unit,处理器)、微处理器、或专用集成电路等,用于执行相关程序指令。
存储器14可以包括易失性存储器形式的机器系统可读介质,例如随机存取存储器(RAM)、只读存储器(ROM)和/或高速缓存存储器。存储器14用于存储包含指令的一个或多个程序以及数据。处理器12可读取存储在存储器14中的指令以执行上述根据本申请实施例的方法。
云网络控制器30也可以通过网络接口16与一个或者多个网络通信。该网络接口16可以是无线网络接口。
总线22可以包括地址总线、数据总线、控制总线等。总线22提供了各组件之间交换信息的通路。
需要说明的是,在具体实施过程中,云网络控制器30还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)、网络存储设备、云存储设备,或适合于存储指令和/或数据的任何类型的媒介或设备。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列、集成电路等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例进行了详细描述和解释。应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附条款的精神和范围内的各种修改和等效设置。

Claims (13)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310265894.6A CN115987751B (zh) 2023-03-20 2023-03-20 云网络架构和用于维护具有依赖关系的实体对象的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310265894.6A CN115987751B (zh) 2023-03-20 2023-03-20 云网络架构和用于维护具有依赖关系的实体对象的方法

Publications (2)

Publication Number Publication Date
CN115987751A true CN115987751A (zh) 2023-04-18
CN115987751B CN115987751B (zh) 2023-06-13

Family

ID=85972527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310265894.6A Active CN115987751B (zh) 2023-03-20 2023-03-20 云网络架构和用于维护具有依赖关系的实体对象的方法

Country Status (1)

Country Link
CN (1) CN115987751B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938753A (zh) * 2023-09-13 2023-10-24 中移(苏州)软件技术有限公司 数据处理方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838627A (zh) * 2014-03-18 2014-06-04 北京工业大学 一种基于工作流吞吐量最大化的工作流调度方法
CN106293971A (zh) * 2016-08-15 2017-01-04 张家林 一种分布式任务调度的方法和装置
JP2020046826A (ja) * 2018-09-18 2020-03-26 富士ゼロックス株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
CN113377348A (zh) * 2021-06-10 2021-09-10 平安科技(深圳)有限公司 应用于任务引擎的任务调整方法、相关装置和存储介质
CN114363355A (zh) * 2020-09-29 2022-04-15 华为云计算技术有限公司 数据同步的方法、存储网关、系统及计算机可读存储介质
CN115455917A (zh) * 2022-09-21 2022-12-09 中国平安人寿保险股份有限公司 文本协同编辑方法和协同编辑装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838627A (zh) * 2014-03-18 2014-06-04 北京工业大学 一种基于工作流吞吐量最大化的工作流调度方法
CN106293971A (zh) * 2016-08-15 2017-01-04 张家林 一种分布式任务调度的方法和装置
JP2020046826A (ja) * 2018-09-18 2020-03-26 富士ゼロックス株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
CN114363355A (zh) * 2020-09-29 2022-04-15 华为云计算技术有限公司 数据同步的方法、存储网关、系统及计算机可读存储介质
CN113377348A (zh) * 2021-06-10 2021-09-10 平安科技(深圳)有限公司 应用于任务引擎的任务调整方法、相关装置和存储介质
CN115455917A (zh) * 2022-09-21 2022-12-09 中国平安人寿保险股份有限公司 文本协同编辑方法和协同编辑装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘乾: "网格化分布式新安江模型并行计算方法", 网格化分布式新安江模型并行计算方法 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938753A (zh) * 2023-09-13 2023-10-24 中移(苏州)软件技术有限公司 数据处理方法、装置及电子设备
CN116938753B (zh) * 2023-09-13 2023-12-29 中移(苏州)软件技术有限公司 数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN115987751B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
US9635101B2 (en) Proposed storage system solution selection for service level objective management
Bravo et al. Saturn: A distributed metadata service for causal consistency
US8121966B2 (en) Method and system for automated integrated server-network-storage disaster recovery planning
US8620921B1 (en) Modeler for predicting storage metrics
JP5568776B2 (ja) 計算機のモニタリングシステム及びモニタリング方法
US7490265B2 (en) Recovery segment identification in a computing infrastructure
JP5459800B2 (ja) サーバクラスタ、データ媒体および対応するサーバクラスタの初期化および管理データベースの操作リクエストを生成するための方法
US9122739B1 (en) Evaluating proposed storage solutions
WO2016101638A1 (zh) 一种电力系统云仿真平台的运营管理方法
US20120278365A1 (en) Graph databases for storing multidimensional models of softwqare offerings
EP3371705A1 (en) System and method for processing alerts indicative of conditions of a computing infrastructure
WO2012166166A1 (en) Dependency-based impact analysis using multidimensional models of software offerings
Shao et al. Page: a partition aware engine for parallel graph computation
CN115987751B (zh) 云网络架构和用于维护具有依赖关系的实体对象的方法
US11250022B1 (en) Offline index builds for database tables
US11113174B1 (en) Methods and systems that identify dimensions related to anomalies in system components of distributed computer systems using traces, metrics, and component-associated attribute values
Xiang et al. Global stabilization for causally consistent partial replication
CN115827380A (zh) 云平台监控方法及云平台监控系统
CN111258840A (zh) 一种集群节点管理方法、装置及集群
Li et al. Modeling and verifying Google file system
US12040954B2 (en) Alternative control interface provided to infrastructure-as-a-service clients
WO2023061257A1 (zh) 数据库业务处理方法和装置
de Almeida et al. Bigdatanetsim: A simulator for data and process placement in large big data platforms
Molero et al. A tool for the design and evaluation of fibre channel storage area networks
JP4608288B2 (ja) オプションの複雑性を評価する方法、コンピュータ・ソフトウェアおよびコンピュータ・システム

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