CN114430379B - 发现网络资源的方法、设备和计算机可读介质 - Google Patents

发现网络资源的方法、设备和计算机可读介质 Download PDF

Info

Publication number
CN114430379B
CN114430379B CN202110407121.8A CN202110407121A CN114430379B CN 114430379 B CN114430379 B CN 114430379B CN 202110407121 A CN202110407121 A CN 202110407121A CN 114430379 B CN114430379 B CN 114430379B
Authority
CN
China
Prior art keywords
discovery
discovery task
task
network
queue
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
Application number
CN202110407121.8A
Other languages
English (en)
Other versions
CN114430379A (zh
Inventor
A·钱德拉舍卡
B·T·雷迪
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN114430379A publication Critical patent/CN114430379A/zh
Application granted granted Critical
Publication of CN114430379B publication Critical patent/CN114430379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Abstract

涉及利用模型用于并发地发现网络的网络资源。一种设备可以接收与网络设备相关联的网络数据,并且可以利用第一模型来处理网络数据以确定第一队列和第二队列,该第一队列标识要针对网络设备执行的第一发现任务,该第二队列标识要针对网络设备执行的第二发现任务。该设备可以利用第二模型来处理第一队列和第二队列以确定用于执行第一发现任务和第二发现任务的调度,并且可以基于调度来执行第一发现任务和第二发现任务。设备可以计算第一发现任务和第二发现任务的执行的进展,并且可以估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。设备可以向用户设备提供标识进展和时间间隔的信息。

Description

发现网络资源的方法、设备和计算机可读介质
相关申请的交叉引用
本申请要求于2020年10月15日提交的标题为“UTILIZING MODELS FORCONCURRENTLY DISCOVERING NETWORK RESOURCES OF A NETWORK”的印度临时申请号202041044888的优先权,其整体内容通过引用并入本文。
技术领域
本发明涉及网络管理领域,特别地,涉及利用模型用于并发地发现网络的网络资源。
背景技术
网络管理系统是一种被设计用于监测、维持以及优化网络的系统。网络管理系统可以包括用于管理网络的硬件和软件,并且可以提供多个服务。
发明内容
在一些实现中,一种方法可以包括:接收网络数据,该网络数据标识与网络的网络设备相关联的数据,以及利用并发发现模型来处理网络数据以确定标识要针对网络设备来执行的第一发现任务的第一队列和标识要在第一发现任务之后针对网络设备来执行的第二发现任务的第二队列。该方法可以包括利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定用于执行第一发现任务和第二发现任务的调度,以及基于该调度来执行第一发现任务和第二发现任务。该方法可以包括计算第一发现任务和第二发现任务的执行的进展,并且估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。该方法可以包括向用户设备提供信息,该信息标识第一发现任务和第二发现任务的执行的进展、以及与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。
在一些实现中,一种设备可以包括一个或多个存储器以及一个或多个处理器,该一个或多个处理器用以:接收网络数据,该网络数据标识与网络的网络设备相关联的数据;以及利用并发发现模型来处理网络数据,以确定标识要针对网络设备来执行的第一发现任务的第一队列和标识要在第一发现任务之后针对网络设备来执行的第二发现任务的第二队列。该一个或多个处理器可以利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定用于执行第一发现任务和第二发现任务的调度;并且可以基于调度来执行第一发现任务和第二发现任务。该一个或多个处理器可以计算第一发现任务和第二发现任务的执行的进展,并且可以估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。该一个或多个处理器可以向用户设备提供信息,该信息标识第一发现任务和第二发现任务的执行的进展、以及与第一发现任务和第二发现任务的执行的完成相关联的时间间隔;并且可以完成第一发现任务和第二发现任务的执行。该一个或多个处理器可以基于第一发现任务和第二发现任务的执行的完成来接收附加网络数据,以及可以将附加网络数据存储在数据结构中。
在一些实现中,一种非瞬态计算机可读介质可以存储指令集,该指令集包括一个或多个指令,该一个或多个指令当由设备的一个或多个处理器执行时,使设备:接收网络数据,该网络数据标识与网络的网络设备相关联的数据;并且利用并发发现模型来处理网络数据,以确定标识要针对网络设备来执行的第一发现任务的第一队列和标识要在第一发现任务之后针对网络设备来执行的第二发现任务的第二队列。该一个或多个指令可以使设备:利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定用于执行第一发现任务和第二发现任务的调度;并且基于调度来执行第一发现任务和第二发现任务。该一个或多个指令可以使设备:基于执行第一发现任务和第二发现任务来接收附加网络数据,其中附加网络数据的第一部分与网络设备的已知资源相关联,并且其中附加网络数据的第二部分与网络设备的未知资源相关联。一个或多个指令可以使设备将附加网络数据存储在数据结构中。
附图说明
图1A-图1G是本文中所描述的示例实现的示意图。
图2是可以在其中实现本文中所描述的系统和/或方法的示例环境的示意图。
图3是图2的一个或多个设备的示例组件的示意图。
图4是用于利用用于并发地发现网络的网络资源的模型的示例过程的流程图。
具体实施方式
以下示例实现的详细描述参考附图。不同附图中的相同附图标记可以标识相同或类似的元件。
网络管理系统可以执行发现任务,以发现与网络的资源(例如,网络设备)相关联的网络数据。在执行发现任务的同时,网络管理系统导入关于网络设备的信息。网络设备的数量可以是数百、数千等。因此,执行发现任务并且导入关于网络设备的信息可能是费时、低效率并且昂贵的。此外,执行发现任务并且导入关于网络设备的信息浪费与确定发现任务、执行发现任务、存储关于网络设备的信息等相关联的计算资源(例如,处理资源、存储器资源、通信资源等)等。
本文中所描述的一些实现涉及利用用于并发地发现网络的网络资源的模型的网络管理系统。例如,该网络管理系统可以接收网络数据,该网络数据标识与网络的网络设备相关联的数据,并且可以利用并发发现模型来处理网络数据,以确定第一队列和第二队列,该第一队列标识要针对网络设备来执行的第一发现任务,该第二队列标识要在第一发现任务之后针对网络设备来执行的第二发现任务。该网络管理系统可以利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定调度,该调度用于执行第一发现任务和第二发现任务,并且可以基于调度来执行第一发现任务和第二发现任务。该网络管理系统可以计算第一发现任务和第二发现任务的执行的进展,并且可以估计与第一发现任的和第二发现任务的执行的完成相关联的时间间隔。该网络管理系统可以向用户设备提供信息,该信息标识第一发现任务和第二发现任务的执行的进展、以及与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。
以这种方式,网络管理系统利用用于并发地发现网络的网络资源的模型。该网络管理系统可以提供并发的网络资源发现,并且可以基于发现任务的容量需求来调度发现任务。该网络管理系统可以在数据结构中有效率地匹配并且更新关于网络设备的信息,并且可以计算与发现任务相关联的网络资源发现时间。这转而节省计算资源、人力资源等,这些资源不然会被浪费在确定发现任务、执行发现任务、存储关于网络设备的信息中等。
图1A-图1G是与利用用于并发地发现网络的网络资源的模型相关联的示例100的示意图。如图1A-图1G所示,示例100包括与用户和网络管理系统相关联的用户设备和企业系统。用户设备可以包括由用户利用的膝上型计算机、移动电话、台式计算机等。企业系统可以包括收集和/或确定标识要由用户提供的产品/服务数据的设备。网络管理系统可以包括利用用于并发地发现网络的网络资源的模型的系统。
如图1A并且由附图标记105所示,网络管理系统接收网络数据,该网络数据标识与网络的网络设备相关联的数据。例如,网络管理系统可以从网络设备和/或从与网络和网络设备相关联的数据结构(例如,数据库、表、列表等)接收网络数据。在一些实现中,网络管理系统向网络设备和/或数据结构提供对网络数据的一个或多个请求,并且基于一个或多个请求来接收网络数据。网络数据可以包括标识与网络设备相关联的网络地址的初步数据、使网络管理系统能够执行与发现与网络设备相关联的详细数据相关联的发现任务的数据、标识与网络设备的资源(例如,策略、网络地址翻译、应用防火墙等)相关联的依赖的数据等。
如图1B并且由附图标记110所示,网络管理系统可以利用并发发现模型来处理网络数据,以确定第一队列和第二队列,该第一队列标识要针对网络设备来执行的第一发现任务,该第二队列标识要在第一发现任务之后针对网络设备来执行的第二发现任务。第一发现任务可以包括要被执行以发现与第一网络设备相关联的数据的发现任务,该发现任务在没有依赖的情况下与第一网络设备相关联。第二发现任务可以包括要被执行以发现与第二网络设备相关联的数据的发现任务,该发现任务在具有依赖的情况下与第二网络设备相关联。在一些实现中,第一队列和第二队列被确定,以使网络管理系统能够并发地发现关于网络设备的数据而。
在一些实现中,网络设备的资源包括分层的依赖,并且网络管理系统在发现关于网络设备的数据的同时,经由并发发现模型来考虑分层的依赖。网络管理系统可以利用并发发现模型以基于网络数据来标识与网络设备的资源相关联的依赖,并且基于依赖来生成资源发现依赖图。对于每个网络设备,网络管理系统可以在资源发现依赖图中创建顶点。如果第一网络设备依赖于第二网络设备,则网络管理系统可以在资源发现依赖图中添加第一网络设备与第二网络设备之间的依赖边。
第一队列可以包括要被执行的发现任务的队列,并且第二队列可以包括要在第一队列中的发现任务之后被执行的未决发现任务的队列。网络管理系统可以向第一队列分配第一发现任务,该第一发现任务与不依赖于其他网络设备的网络设备相关联。网络管理系统可以向第二队列分配第二发现任务,该第二发现任务与依赖于一个或多个其他网络设备的网络设备相关联。网络管理系统可以创建用于被分配给第一队列的第一发现任务的线程。当第一发现任务的执行被完成时,网络管理系统可以更新针对与被分配给第二队列的第二发现任务相关联的网络设备的依赖。当针对特定第二发现任务的经更新的依赖是零时,网络管理系统可以将特定第二发现任务从第二队列移动到第一队列用于执行。
如图1C并且由附图标记115所示,网络管理系统可以利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定调度,该调度用于执行第一发现任务和第二发现任务。不同的网络可以包括不同数量的网络设备。例如,第一网络可以包括与网络设备相关联的1000个资源,而第二网络可以包括与网络设备相关联的60000个资源。因此,网络管理系统可以利用容量调度器模型来确定何时执行第一发现任务和/或第二发现任务,以及是并行地还是依序地来执行第一发现任务和/或第二发现任务中的一个或多个发现任务。这样的容量意识可以防止网络管理系统用完计算资源或者经历计算资源的贫乏利用。容量调度器模型可以使网络管理系统能够利用容量意识。
网络管理系统可以基于与第一发现任务和第二发现任务相关联的网络设备的资源的数量利用容量调度器模型来向第一发现任务和第二发现任务指派权重。例如,权重可以被如下分类:针对与第一数量的资源相关联的任务为小(例如,1-1000个资源),针对与第二数量的资源相关联的任务为中(例如,1000-20000个资源),针对与第三数量的资源相关联的任务为大(例如,20000或更多个资源)等。网络管理系统可以基于被指派给第一发现任务的权重和被指派给第二发现任务的权重利用容量调度器模型来确定调度。
在一些实现中,网络管理系统利用容量调度器模型来修改网络协议(例如,提供安装、操纵、以及删除网络设备配置的机制的网络配置协议(NETCONF))的能力,以捕获与第一发现任务和第二发现任务相关联的资源的数量。NETCONF支持使对配置的部分(诸如名称空间选择、属性匹配表达式、包含节点、选择节点、内容匹配节点等)的接收成为可能的过滤器。可以利用计数查询能力来增强该过滤器,该计数查询能力使网络管理系统能够捕获与第一发现任务和第二发现任务相关联的资源的数量。网络管理系统可以利用容量调度器模型来确定在发现任务可用于执行(例如,第一发现任务中的一个发现任务)时的资源的数量,以防止存储器溢出问题。计数查询能力可以修改“获取配置”操作以接受计数参数。
例如,网络管理系统可以利用以下请求操作(例如,远程过程调用(RPC)请求)来确定资源的数量:
<rpc message-id=“101”
xmlns=“urn:ietf:params:xml:ns:netconf:base:1.0”>
<get-config>
<source>
<running/>
</source>
<filter type=“subtree”>
<top xmlns=“http://example.com/schema/1.2/config”>
<users query=“count”/>
</top>
</filter>
</get-config>
</rpc>
<rpc-reply message-id=“101”
xmlns=“urn:ietf:params:xml:ns:netconf:base:1.0”>
<data>
<top xmlns=“http://example.com/schema/1.2/config”>
<users count=“40”>
</users>
</top>
</data>
</rpc-reply>
网络管理系统可以基于请求来接收响应(例如,RPC响应)。如果网络设备可以满足请求,则网络设备可以提供包括具有查询的结果的数据元素的正响应(例如,RPC回复)。如果网络设备不能满足请求,则网络设备可以提供负响应(例如,RPC错误元素)代替RPC回复。
网络管理系统可以基于网络中网络设备的数量利用容量调度器模型,来初始化总权重,并且将第一队列的当前权重初始化为零。网络管理系统可以基于设备类型来标识要被发现的网络设备,并且可以标识针对该发现任务的权重。如果网络设备支持NETCONF计数能力,则网络管理系统可以利用获取配置操作来确定针对网络设备的计数。如果网络设备不支持NETCONF计数能力,则网络管理系统可以计算针对网络设备的计数。
网络管理系统可以利用容量调度器模型来创建第一队列(例如,要执行的发现任务的优先级队列,其中优先级基于权重)以及创建第二队列(例如,未决发现任务的队列)。如果网络设备不依赖于任何其他网络设备,则网络管理系统可以向第一队列添加针对网络设备的发现任务。如果网络设备依赖于一个或多个其他网络设备,则网络管理系统可以向第二队列添加针对网络设备的发现任务。网络管理系统可以检查第一队列中的第一发现任务的当前权重,并且可以在当前权重和任务权重小于总权重时创建用于第一发现任务的线程。当第一发现任务的执行被完成时,网络管理系统可以更新第一发现任务的当前权重,并且可以更新与第二发现任务相关联的依赖。如果针对第二发现任务的依赖是零,网络管理系统可以将第二发现任务从第二队列移动到第一队列(例如,用于执行)。
如图1D并且由附图标记120所示,网络管理系统可以基于调度来执行第一发现任务和第二发现任务,并且可以计算第一发现任务和第二发现任务的执行的进展。在一些实现中,网络管理系统执行第一队列中的第一发现任务,并且基于第一发现任务的执行而将第二发现任务从第二队列移动到第一队列。网络管理系统然后可以执行从第二队列被移动到第一队列的第二发现任务。网络管理系统可以并行或依序地执行第一发现任务中的两个或更多个发现任务。
在第一发现任务和第二发现任务正在被执行的同时,网络管理系统可以计算第一发现任务和第二发现任务的执行的进展。为了计算该进展,网络管理系统可以计算第一发现任务和第二发现任务的总权重,并且可以将已完成的任务权重初始化为零。当发现任务的执行被完成时,网络管理系统可以将该已完成的发现任务的当前权重添加到已完成的任务权重,并且可以基于已完成的任务权重和总权重来计算进展。在一些实现中,第一发现任务和第二发现任务的执行的进展包括与第一发现任务和第二发现任务的执行相关联的百分比完成值。例如,网络管理系统可以如下来计算进展:
如图1E并且由附图标记125所示,网络管理系统可以基于调度来估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。例如,网络管理系统可以基于被指派给第一发现任务的权重和被指派给第二发现任务的权重来将第一发现任务中的每个发现任务和第二发现任务中的每个发现任务与完成时间(time to complete)间隔相关联。在一些实现中,网络管理系统利用滑动窗口模型的变化(variation)来估计时间间隔。
网络管理系统可以创建要被用于滑动窗口的阵列,并且可以创建时间变量。网络管理系统可以定义开始位置(例如,滑动窗口的开始)和结束位置(例如,滑动窗口的结束)。如果结束位置小于发现任务的总数量,当前权重小于总权重,并且第一队列不是空的,则网络管理系统可以从第一队列选择发现任务并且可以将该发现任务添加到阵列。如果开始位置小于或等于结束位置,当前权重小于总权重,并且第一队列不是空的,则网络管理系统可以从阵列选择发现任务并且确定与执行该发现任务相关联的任务时间。网络管理系统可以将任务时间添加到与发现任务的执行的完成相关联的总时间(例如,所估计的时间间隔)。网络管理系统可以针对发现任务中的每个发现任务来重复前述步骤,以估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。
如图1F并且由附图标记130所示,网络管理系统可以向用户设备提供信息,该信息标识第一发现任务和第二发现任务的执行的进展、以及与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。用户设备可以接收标识进展和时间间隔的信息,并且可以提供标识进展和时间间隔的信息以供显示。以这种方式,网络管理系统的操作者可以被告知与发现关于网络设备的信息相关联的进展和剩余时间。
如图1F进一步并且由附图标记135所示,网络管理系统可以完成第一发现任务和第二发现任务的执行。在一些实现中,网络管理系统完成第一队列中的第一发现任务的执行,并且基于第一发现任务的执行的完成而将第二发现任务从第二队列移动到第一队列。网络管理系统然后可以完成从第二队列被移动到第一队列的第二发现任务的执行。网络管理系统可以并行地或依序地执行第一发现任务中的两个或更多个发现任务,并且可以并行地或依序地执行第二发现任务中的两个或更多个发现任务。
如图1F进一步并且由附图标记140所示,网络管理系统可以基于第一发现任务和第二发现任务的执行的完成来接收附加网络数据。附加网络数据可以包括网络的网络设备的完成配置(complete configuration)、与网络设备相关联的详细数据等。附加网络数据的第一部分可以与网络管理系统已知的网络设备的资源相关联(例如,网络管理系统可以对关于网络设备的已知资源的已存储信息不公开地知情)。附加网络数据的第二部分可以与网络管理系统未知的(例如,由网络管理系统新发现的)网络设备的资源相关联。在一些实现中,网络管理系统将附加网络数据存储在与网络管理系统相关联的数据结构(例如,数据库、表、列表等)中。
如图1G并且由附图标记135所示,网络管理系统可以将附加网络数据的与网络设备的已知资源相关联的第一部分和被存储在数据结构中的关于网络设备的已知资源的数据互相关联。例如,网络管理系统可以将关于网络设备的已知资源的已存储数据与附加网络数据的第一部分相关联。
如图1G进一步并且由附图标记140所示,网络管理系统可以在数据结构中存储附加网络数据的第二部分,该附加网络数据的第二部分与网络设备的未知资源相关联。例如,网络管理系统可以在数据结构中创建针对附加网络数据的第二部分的条目。在一些实现中,网络管理系统维持针对先前被存储在数据结构中的与网络设备相关联的数据的哈希,并且计算针对附加网络数据的新哈希。网络管理系统可以比较该哈希与新哈希,以标识匹配该哈希的新哈希以及未能匹配该哈希的新哈希。网络管理系统可以在数据结构中将与匹配该哈希的新哈希相关联的附加网络数据和关于与匹配新哈希的该哈希相关联的网络设备的数据互相关联。网络管理系统可以在数据结构中存储与未能匹配该哈希的新哈希相关联的附加网络数据(例如,作为新条目)。
以这种方式,网络管理系统利用用于并发地发现网络的网络资源的模型。该网络管理系统可以提供并发的网络资源发现,并且可以基于发现任务的容量需求来调度发现任务。该网络管理系统可以在数据结构中有效率地匹配并且更新关于网络设备的信息,并且可以计算与发现任务相关联的网络资源发现时间。这转而节省计算资源、人力资源等,这些资源不然会被浪费在确定发现任务、执行发现任务、存储关于网络设备的信息中等。
如以上所指示,图1A-图1G作为示例而被提供。其他示例可以与关于图1A-图1G所描述的不同。图1A-图1G所示的设备的数目和布置作为示例而被提供。在实践中,与图1A-图1G所示的设备相比,可以存在附加的设备、更少的设备、不同的设备、或者不同地被布置的设备。此外,图1A-图1G所示的两个或更多个设备可以在单个设备内被实现,或者图1A-图1G所示的单个设备可以被实现为多个、分布式的设备。附加地或备选地,图1A-图1G所示的一组设备(例如,一个或多个设备)可以执行被描述为由图1A-图1G所示的另一组设备执行的一个或多个功能。
图2是可以在其中实现本文中所描述的系统和/或方法的示例环境200的示意图。如图2所示,环境200可以包括网络管理系统201、网络管理系统201可以包括云计算系统202中的一个或多个元件、和/或可以在云计算系统202内执行。云计算系统202可以包括一个或多个元件203-213,如以下更详细地所描述的。如图2所示,环境200可以包括网络220、网络设备230、和/或用户设备240。环境200的设备和/或元件可以经由有线连接和/或无线连接而互连。
云计算系统202包括计算硬件203、资源管理组件204、主机操作系统(OS)205、和/或一个或多个虚拟计算系统206。资源管理组件204可以执行计算硬件203的虚拟化(例如,抽象),以创建一个或多个虚拟计算系统206。使用虚拟化,资源管理组件204使单个计算设备(例如,计算机、服务器等)能够如同多个计算设备操作,诸如通过从单个计算设备的计算硬件203创建多个隔离的虚拟计算系统206。以这种方式,与使用单独的计算设备相比,计算硬件203可以更有效率地操作,具有更低的功耗、更高的可靠性、更高的可用性、更高的利用率、更大的灵活性、以及更低的成本。
计算硬件203包括来自一个或多个计算设备的硬件和对应的资源。例如,计算硬件203可以包括来自单个计算设备(例如,单个服务器)或者来自多个计算设备(例如,多个服务器)(诸如一个或多个数据中心中的多个计算设备)的硬件。如图所示,计算硬件203可以包括一个或多个处理器207、一个或多个存储器208、一个或多个存储组件209和/或一个或多个联网组件210。处理器、存储器、存储组件以及联网组件(例如,通信组件)在本文中其他地方被描述。
资源管理组件204包括虚拟化应用(例如,在诸如计算硬件203的硬件上执行),该虚拟化应用能够虚拟化计算硬件203以开始、停止和/或管理一个或多个虚拟计算系统206。例如,当虚拟计算系统206是虚拟机211时,资源管理组件204可以包括超管理器(例如,裸机或类型1超管理器(hypervisor)、被托管的或类型2超管理器等)或者虚拟机监测器。附加地或备选地,资源管理组件204可以包括容器管理器,诸如当虚拟计算系统206是容器212时。在一些实现中,资源管理组件204在主机操作系统205内执行和/或与主机操作系统205协调执行。
虚拟计算系统206包括虚拟环境,该虚拟环境支持本文中所描述的操作和/或过程使用计算硬件203的基于云的执行。如图所示,虚拟计算系统206可以包括虚拟机211、容器212、包括虚拟机和容器等的混合环境213。虚拟计算系统206可以使用文件系统来执行一个或多个应用,该文件系统包括二进制文件、软件库和/或在访客操作系统(例如,在虚拟计算系统206内)或者主机操作系统205上执行应用所要求的其他资源。
尽管网络管理系统201可以包括云计算系统202的一个或多个元件203-213、可以在云计算系统202内执行、和/或可以托管在云计算系统202内,但是在一些实现中,网络管理系统201可以不是基于云的(例如,可以在云计算系统之外被实现),或者可以是部分基于云的。例如,网络管理系统201可以包括不是云计算系统202的部分的一个或多个设备(诸如图3的设备300),其可以包括独立服务器或另一类型的计算设备。网络管理系统201可以执行本文中在其他地方更详细地所描述的一个或多个操作和/或过程。
网络220包括一个或多个有线和/或无线网络。例如,网络220可以包括蜂窝网络、公用陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、私有网络、互联网等、和/或这些或其他类型的网络的组合。网络220使环境200的设备之中的通信成为可能。
网络设备230包括能够以文本中所描述的方式接收、处理、存储、路由、和/或提供业务(例如,分组,其他信息或元数据等)的一个或多个设备。例如,网络设备230可以包括路由器,诸如标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器,提供方路由器(例如,提供方边缘路由器,提供方核心路由器等)、虚拟路由器等。附加地或备选地,网络设备230可以包括网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载均衡器和/或类似设备。在一些实现中,网络设备230可以是在诸如机架的壳体内被实现的物理设备。在一些实现中,网络设备230可以是由云计算环境或数据中心的一个或多个计算设备实现的虚拟设备。在一些实现中,网络设备230的群组可以是被用于通过网络来路由业务流事务数据中心节点的群组。
用户设备240包括能够接收、生成、存储、处理和/或提供信息的一个或多个设备,如本文中其他地方所描述的。用户设备240可以包括通信设备和/或计算设备。例如,用户设备240可以包括无线通信设备、用户设备(UE)、移动电话(例如,智能电话或蜂窝电话等)膝上型计算机、平板计算机、手持式计算机、台式计算机、游戏设备,可穿戴通信设备(例如,智能手表或一副智能眼镜等)、物联网(IoT)设备、或者类似类型的设备。用户设备240可以与环境300的一个或多个其他设备通信,如本文中其他地方所描述的。
提供图2所示的设备和网络的数目和布置作为示例。在实践中,与图2所示的设备和/或网络相比,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地被布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内被实现,或者图2所示的单个设备可以被实现为多个、分布式的设备。附加地或备选地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3是设备300的示例组件的示意图,设备300可以对应于网络管理系统201、网络设备230和/或用户设备240。在一些实现中,网络管理系统201、网络设备230和/或用户设备240可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信组件370。
总线310包括使设备300的组件之中的有线和/或无线通信成为可能的组件。处理器320包括中央处理单元、图形处理单元、微处理器、控制器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路、和/或另一类型的处理组件。处理器320以硬件、固件、或者硬件和和软件的组合而被实现。在一些实现中,处理器320包括能够被编程以执行功能的一个或多个处理器。存储器330包括随机存取存储器、只读存储器、和/或另一类型的存储器(例如,闪存、磁性存储器和/或光学存储器)。
存储组件340存储与设备300的操作有关的信息和/或软件。例如,存储组件340可以包括硬盘驱动器、磁盘驱动器、光盘驱动器、固态磁盘驱动器、压缩盘、数字多功能光盘、和/或另一类型的非瞬态计算机可读介质。输入组件350使设备300能够接收输入,诸如用户输入和/或被感测的输入。例如,输入组件350可以包括触摸屏、键盘、小键盘、鼠标、按钮、麦克风、开关、传感器、全球定位系统组件、加速计、陀螺仪和/或致动器。输出组件360使设备300能够诸如经由显示器、扬声器和/或一个或多个发光二极管来提供输出。通信组件370使设备300能够诸如通过有线连接和/或无线连接与其他设备通信。例如,通信组件370可以包括接收器、发射器、收发器、调制解调器、网络接口卡和/或天线。
设备300可以执行本文中所描述的一个或多个过程。例如,非瞬态计算机可读介质(例如,存储器330和/或存储组件340)可以存储指令集(例如,一个或多个指令、代码、软件代码和/或程序代码)用于由处理器320执行。处理器320可以执行该指令集,以执行本文中所描述的一个或多个过程。在一些实现中,由一个或多个处理器320对该指令集的执行使一个或多个处理器320和/或设备300执行本文中所描述的一个或多个过程。在一些实现中,硬连线电路装置可以被用于代替指令或者与指令组合来执行本文中所描述的一个或多个过程。因此,本文中所描述的实现不限于硬件电路装置和软件的任何特定组合。
提供图3所示的组件的数量和布置为作为示例。与图3所示的组件相比,设备300可以包括附加的组件、更少的组件、不同的组件或者不同地被布置的组件。此外,附加地或备选地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是示例过程400的流程图,示例过程400用于利用用于并发地发现网络的网络资源的模型。在一些实现中,图4的一个或多个过程框可以由设备(例如,网络管理系统201)执行。在一些实现中,图4的一个或多个过程框可以由另一设备或者与该设备分离或包括该设备的设备组执行,诸如用户设备(例如,用户设备240)。附加地或备选地,图4的一个或多个过程框可以由设备300的一个或多个组件执行,诸如处理器320、存储器330、存储组件340、输入组件350、输出组件360和/或通信组件370。
如图4所示,过程400可以包括接收网络数据,该网络数据标识与网络的网络设备相关联的数据(框410)。例如,设备可以接收网络数据,该网络数据标识与网络的网络设备相关联的数据,如以上所描述。
如图4进一步所示,过程400可以包括利用并发发现模型来处理网络数据,以确定第一队列和第二队列,该第一队列标识要针对网络设备来执行的第一发现任务,该第二队列标识要在第一发现任务之后针对网络设备来执行的第二发现任务(框420)。例如,设备可以利用并发发现模型来处理网络数据,以确定第一队列和第二队列,该第一队列标识要针对网络设备来执行的第一发现任务,该第二队列标识要在第一发现任务之后针对网络设备来执行的第二发现任务,如以上所描述。
如图4进一步所示,过程400可以包括利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定调度,该调度用于执行第一发现任务和第二发现任务(框430)。例如,设备可以利用容量调度器模型来处理第一队列和第二队列,以基于权重来确定调度,该调度用于执行第一发现任务和第二发现任务,如以上所描述。
如图4进一步所示,过程400可以包括基于调度来执行第一发现任务和第二发现任务(框440)。例如,设备可以基于调度来执行第一发现任务和第二发现任务,如以上所描述。
如图4进一步所示,过程400可以包括计算第一发现任务和第二发现任务的执行的进展(框450)。例如,设备可以计算第一发现任务和第二发现任务的执行的进展,如以上所描述。
如图4进一步所示,过程400可以包括估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔(框460)。例如,设备可以估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔,如以上所描述。
如图4进一步所示,过程400可以包括向用户设备提供信息,该信息标识第一发现任务和第二发现任务的执行的进展、以及与第一发现任务和第二发现任务的执行的完成相关联的时间间隔(框470)。例如,设备可以向用户设备提供信息,该信息标识第一发现任务和第二发现任务的执行的进展、以及与第一发现任务和第二发现任务的执行的完成相关联的时间间隔,如以上所描述。
过程400可以包括附加的实现,诸如以下所描述和/或与本文中其他地方所描述的一个或多个其他过程结合的任何单个实现或者实现的组合。
在第一实现中,过程400包括:完成第一发现任务和第二发现任务的执行;基于第一发现任务和第二发现任务的执行的完成来接收附加网络数据,其中附加网络数据的第一部分与网络设备的已知资源相关联,并且其中附加网络数据的第二部分与网络设备的未知资源相关联;以及在数据结构中存储附加网络数据。
在第二实现中,单独地或者与第一实现组合,在数据结构中存储附加网络数据包括:将附加网络数据的第一部分和被存储在数据结构中的关于网络设备的已知资源的数据互相关联,并且在数据结构中存储附加网络数据的第二部分。
第三实现中,单独地或者与第一实现和第二实现中的一个或多个实现组合,在数据结构中存储附加网络数据包括:维持针对先前被存储在数据结构中的与网络设备相关联的数据的哈希;计算针对附加网络数据的新哈希;比较该哈希与新哈希,以标识匹配该哈希的新哈希以及未能匹配该哈希的新哈希;在数据结构中将与匹配该哈希的新哈希相关联的附加网络数据和关于与匹配新哈希的该哈希相关联的网络设备的数据互相关联;以及在数据结构中存储与未能匹配该哈希的新哈希相关联的附加网络数据。
在第四实现中,单独地或者与第一实现至第三实现中的一个或多个实现组合,利用并发发现模型来处理网络数据以确定第一队列和第二队列,该第一队列标识要针对网络设备来执行的第一发现任务,该第二队列标识要针对网络设备来执行的第二发现任务,包括:基于与网络设备的资源相关联的依赖来生成资源发现依赖图;在资源发现依赖图中标识第一发现任务;基于标识第一发现任务来确定第一队列;在资源发现依赖图中标识第二发现任务;以及基于标识第二发现任务来确定第二队列。
在第五实现中,单独地或者与第一实现至第四实现中的一个或多个实现组合,利用容量调度器模型来处理第一队列和第二队列以确定调度包括:向第一队列中的第一发现任务和第二队列中的第二发现任务应用权重;基于被应用到第一发现任务和第二发现任务的权重,来标识要并行地执行的第一发现任务和第二发现任务的第一集合;基于被应用到第一发现任务和第二发现任务的权重,来标识要依序地执行的第一发现任务和第二发现任务的第二集合;以及基于第一集合、第二集合、第一队列和第二队列来确定调度。
在第六实现中,单独地或者与第一实现至第五实现中的一个或多个实现组合,计算第一发现任务和第二发现任务的执行的进展包括:标识与第一发现任务和第二发现任务相关联的权重;在第一发现任务和第二发现任务的执行期间,针对第一发现任务和第二发现任务来计算已完成的任务权重;以及基于权重和已完成的任务权重来计算第一发现任务和第二发现任务的执行的进展。
在第七实现中,单独地或者与第一实现至第六实现中的一个或多个实现组合,过程400包括:标识与第一发现任务和第二发现任务相关联的权重;在第一发现任务和第二发现任务的执行期间,针对第一发现任务和第二发现任务来计算未完成的任务权重;以及基于权重和未完成的任务权重来估计与第一发现任务和第二发现任务的执行的完成相关联的时间间隔。
在第八实现中,单独地或者与第一实现至第七实现中的一个或多个实现组合,过程400包括:基于与网络数据相关联的配置设置来确定网络中的网络设备的数量,并且向用户设备提供标识网络设备的数量的信息。
在第九实现中,单独地或者与第一实现至第八实现中的一个或多个实现组合,过程400包括:生成网络策略,并且基于附加网络数据来使网络策略被实现在网络设备中的一个或多个网络设备中。
在第十实现中,单独地或者与第一实现至第九实现中的一个或多个实现组合,过程400包括:生成网络服务,并且基于附加网络数据来使网络服务被实现在网络设备中的一个或多个网络设备中。
在第十一实现中,单独地或者与第一实现至第十实现中的一个或多个实现组合,第一发现任务和第二发现任务的执行的进展包括与第一发现任务和第二发现任务的执行相关联的百分比完成值。
在第十二实现中,单独地或者与第一实现至第十一实现中的一个或多个实现组合,过程400包括:确定与网络设备的资源相关联的依赖,其中网络设备的第一部分与该依赖相关联,并且其中网络设备的第二部分不与该依赖相关联;标识针对网络设备的第一部分的第一发现任务,基于标识第一发现任务来确定第一队列,标识针对网络设备的第二部分的第二发现任务,以及基于标识第二发现任务来确定第二队列。
尽管图4示出了过程400的示例框,但是在一些实现中,与图4所描绘的框相比,过程400可以包括附加的框、更少的框、不同的框、或者不同地被布置的框。附加地或备选地,过程400的两个或更多个框可以并行地被执行。
前述公开内容提供了说明和描述,但并不旨在是详尽的或者将实现限制为所公开的精确形式。可以鉴于以上公开做出修改,或者可以从实现的实践中获得修改。
如本文中所使用的,术语“组件”旨在被广义地解释为硬件、固件、或者硬件和软件的组合。将明显的是,本文中所描述的系统和/或方法可以以不同形式的硬件、固件和/或硬件和软件的组合而被实现。被用于实现这些系统和/或方法的实际的专用控制硬件或软件代码并不限制实现。因此,本文在不参考特定软件代码的情况下来描述系统和/或方法的操作和行为——应理解,基于本文中的描述,可以使用软件和硬件来实现系统和/或方法。
如本文所使用的,取决于上下文,满足阈值可以指的是值大于阈值、大于或等于阈值、小于阈值、小于或等于阈值、等于阈值等,取决于上下文。
尽管在权利要求中叙述了特征的特定组合和/或在说明书中公开了这些特征的特定组合,但是这些组合并不旨在限制各种实现的公开。事实上,这些特征中的许多特征可以以权利要求书中未具体叙述和/或说明书中未公开的方式被组合。尽管所附每个从属权利要求可能仅直接取决于一个权利要求,但是各种实现的公开包括与权利要求集中的每个其他权利要求组合的每个从属权利要求。
除非明确地描述,否则本文中所使用的元件、动作或指令均不应被解释为关键的或必要的。而且,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项,并且可以与“一个或多个”互换使用。此外,如本文所使用的,冠词“该”旨在包括结合冠词“该”所引用的一个或多个项,并且可以与“该一个或多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个”互换使用。在仅意图一项的情况下,使用短语“仅一个”或者类似的语言。而且,如本文所使用的,术语“有(has)”、“具有(have)”、“具有(having)”等旨在是开放式术语。此外,短语“基于”旨在意味着“至少部分地基于”,除非另有明确说明。而且,如在文本中所使用的,术语“或”在系列中被使用时旨在是包含性的,并且可以与“和/或”互换使用,除非另有明确说明(例如,如果结合“两者中的任一”或“仅…中的一项”使用)。
示例1.一种方法,包括:由设备接收网络数据,所述网络数据标识与网络的网络设备相关联的数据;由所述设备利用并发发现模型来处理所述网络数据,以确定标识要针对所述网络设备来执行的第一发现任务的第一队列和标识要在所述第一发现任务之后针对所述网络设备来执行的第二发现任务的第二队列;由所述设备利用容量调度器模型来处理所述第一队列和所述第二队列,以基于权重来确定用于执行所述第一发现任务和所述第二发现任务的调度;由所述设备基于所述调度来执行所述第一发现任务和所述第二发现任务;由所述设备计算所述第一发现任务和所述第二发现任务的所述执行的进展;由所述设备估计与所述第一发现任务和所述第二发现任务的所述执行的完成相关联的时间间隔;以及由所述设备向用户设备提供信息,所述信息标识所述第一发现任务和所述第二发现任务的所述执行的所述进展、以及与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔。
示例2.根据示例1所述的方法,还包括:完成所述第一发现任务和所述第二发现任务的所述执行;基于所述第一发现任务和所述第二发现任务的所述执行的完成来接收附加网络数据,其中所述附加网络数据的第一部分与网络设备的已知资源相关联,并且其中所述附加网络数据的第二部分与网络设备的未知资源相关联;以及将所述附加网络数据存储在数据结构中。
示例3.根据示例2所述的方法,其中在所述数据结构中存储所述附加网络数据包括:将所述附加网络数据的所述第一部分和被存储在所述数据结构中的关于网络设备的所述已知资源的数据互相关联;以及将所述附加网络数据的所述第二部分存储在所述数据结构中。
示例4.根据示例2所述的方法,其中在所述数据结构中存储所述附加网络数据包括:维持针对与所述网络设备相关联的如下数据的哈希,所述数据先前被存储在所述数据结构中;计算针对所述附加网络数据的新哈希;比较所述哈希与所述新哈希,以标识匹配所述哈希的新哈希以及未能匹配所述哈希的新哈希;在所述数据结构中,将与匹配所述哈希的所述新哈希相关联的所述附加网络数据和关于与匹配所述新哈希的所述哈希相关联的所述网络设备的数据互相关联;以及在所述数据结构中,存储与未能匹配所述哈希的所述新哈希相关联的所述附加网络数据。
示例5.根据示例1所述的方法,其中利用所述并发发现模型来处理所述网络数据,以确定标识要针对所述网络设备来执行的所述第一发现任务的所述第一队列和标识要针对所述网络设备来执行的所述第二发现任务的所述第二队列,包括:基于与所述网络设备的资源相关联的依赖来生成资源发现依赖图;在所述资源发现依赖图中标识所述第一发现任务;基于标识所述第一发现任务来确定所述第一队列;在所述资源发现依赖图中标识所述第二发现任务;以及基于标识所述第二发现任务来确定所述第二队列。
示例6.根据示例1所述的方法,其中利用所述容量调度器模型来处理所述第一队列和所述第二队列以确定所述调度包括:向所述第一队列中的所述第一发现任务和所述第二队列中的所述第二发现任务应用所述权重;基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要并行地执行的所述第一发现任务和所述第二发现任务的第一集合;基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要依序地执行的所述第一发现任务和所述第二发现任务的第二集合;以及基于所述第一集合、所述第二集合、所述第一队列和所述第二队列来确定所述调度。
示例7.根据示例1所述的方法,其中计算所述第一发现任务和所述第二发现任务的所述执行的所述进展包括:标识与所述第一发现任务和所述第二发现任务相关联的所述权重;在所述第一发现任务和所述第二发现任务的所述执行期间,针对所述第一发现任务和所述第二发现任务来计算已完成的任务权重;以及基于所述权重和所述已完成的任务权重来计算所述第一发现任务和所述第二发现任务的所述执行的所述进展。
示例8.一种设备,包括:一个或多个存储器;以及一个或多个处理器,用以:接收网络数据,所述网络数据标识与网络的网络设备相关联的数据;利用并发发现模型来处理所述网络数据,以确定标识要针对所述网络设备来执行的第一发现任务的第一队列和标识要在所述第一发现任务之后针对所述网络设备来执行的第二发现任务的第二队列;利用容量调度器模型来处理所述第一队列和所述第二队列,以基于权重来确定用于执行所述第一发现任务和所述第二发现任务的调度;基于所述调度来执行所述第一发现任务和所述第二发现任务;计算所述第一发现任务和所述第二发现任务的所述执行的进展;估计与所述第一发现任务和所述第二发现任务的所述执行的完成相关联的时间间隔;向用户设备提供信息,所述信息标识所述第一发现任务和所述第二发现任务的所述执行的所述进展、以及与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔;完成所述第一发现任务和所述第二发现任务的所述执行;基于所述第一发现任务和所述第二发现任务的所述执行的完成来接收附加网络数据;以及将所述附加网络数据存储在数据结构中。
示例9.根据示例8所述的设备,其中所述一个或多个处理器当估计与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔时,用以:标识与所述第一发现任务和所述第二发现任务相关联的所述权重;在所述第一发现任务和所述第二发现任务的所述执行期间,针对所述第一发现任务和所述第二发现任务来计算未完成的任务权重;以及基于所述权重和所述未完成的任务权重来估计与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔。
示例10.根据示例8所述的设备,其中所述一个或多个处理器还用以:基于与所述网络数据相关联的配置设置来确定所述网络中的所述网络设备的数量,以及向用户设备提供标识所述网络设备的所述数量的信息。
示例11.根据示例8所述的设备,其中所述一个或多个处理器还用以:生成网络策略;以及基于所述附加网络数据使所述网络策略被实现在所述网络设备中的一个或多个网络设备中。
示例12.根据示例8所述的设备,其中所述一个或多个处理器还用以:生成网络服务,以及基于所述附加网络数据使所述网络服务被实现在所述网络设备中的一个或多个网络设备中。
示例13.根据示例8所述的设备,其中所述第一发现任务和所述第二发现任务的所述执行的所述进展包括与所述第一发现任务和所述第二发现任务的所述执行相关联的百分比完成值。
示例14.根据示例8所述的设备,其中所述一个或多个处理器当利用所述并发发现模型来处理所述网络数据以确定标识要针对所述网络设备来执行的所述第一发现任务的所述第一队列和标识要针对所述网络设备来执行的所述第二发现任务的所述第二队列时,用以:确定与所述网络设备的资源相关联的依赖,其中所述网络设备的第一部分与所述依赖相关联,并且其中所述网络设备的第二部分不与所述依赖相关联;标识针对所述网络设备的所述第一部分的所述第一发现任务;基于标识所述第一发现任务来确定所述第一队列;标识针对所述网络设备的所述第二部分的所述第二发现任务;以及基于标识所述第二发现任务来确定所述第二队列。
示例15.一种存储指令集的非瞬态计算机可读介质,所述指令集包括:一个或多个指令,当由设备的一个或多个处理器执行时,使所述设备:接收网络数据,所述网络数据标识与网络的网络设备相关联的数据;利用并发发现模型来处理所述网络数据,以确定标识要针对所述网络设备来执行的第一发现任务的第一队列和标识要在所述第一发现任务之后针对所述网络设备来执行的第二发现任务的第二队列;利用容量调度器模型来处理所述第一队列和所述第二队列,以基于权重来确定用于执行所述第一发现任务和所述第二发现任务的调度;基于所述调度来执行所述第一发现任务和所述第二发现任务;基于执行所述第一发现任务和所述第二发现任务来接收附加网络数据;其中所述附加网络数据的第一部分与网络设备的已知资源相关联,并且其中所述附加网络数据的第二部分与网络设备的未知资源相关联;以及将所述附加网络数据存储在数据结构中。
示例16.根据示例15所述的非瞬态计算机可读介质,其中所述一个或多个指令还使所述设备:计算所述第一发现任务和所述第二发现任务的所述执行的进展;估计与所述第一发现任务和所述第二发现任务的所述执行的完成相关联的时间间隔;以及向用户设备提供信息,所述信息标识所述第一发现任务和所述第二发现任务的所述执行的所述进展、以及与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔。
示例17.根据示例16所述的非瞬态计算机可读介质,其中使所述设备将所述附加网络数据存储在所述数据结构中的所述一个或多个指令使所述设备:将所述附加网络数据的所述第一部分和被存储在所述数据结构中的关于网络设备的所述已知资源的数据互相关联;并且将所述附加网络数据的所述第二部分存储在所述数据结构中。
示例18.根据示例15所述的非瞬态计算机可读介质,其中使所述设备利用所述并发发现模型来处理所述网络数据以确定标识要针对所述网络设备来执行的所述第一发现任务的所述第一队列和标识要针对所述网络设备来执行的所述第二发现任务的所述第二队列的所述一个或多个指令使所述设备:基于与所述网络设备的资源相关联的依赖来生成资源发现依赖图;在所述资源发现依赖图中标识所述第一发现任务;基于标识所述第一发现任务来确定所述第一队列;在所述资源发现依赖图中标识所述第二发现任务;以及基于标识所述第二发现任务来确定所述第二队列。
示例19.根据示例15所述的非瞬态计算机可读介质,其中使所述设备利用所述容量调度器模型来处理所述第一队列和所述第二队列以确定所述调度的所述一个或多个指令使所述设备:向所述第一队列中的所述第一发现任务和所述第二队列中的所述第二发现任务应用所述权重;基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要并行地执行的所述第一发现任务和所述第二发现任务的第一集合;基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要依序地执行的所述第一发现任务和所述第二发现任务的第二集合;以及基于所述第一集合、所述第二集合、所述第一队列和所述第二队列来确定所述调度。
示例20.根据示例15所述的非瞬态计算机可读介质,其中所述一个或多个指令还使所述设备:基于与所述网络数据相关联的配置设置来确定所述网络中的所述网络设备的数量;以及向用户设备提供标识所述网络设备的所述数量的信息。

Claims (20)

1.一种用于发现网络资源的方法,包括:
由设备接收网络数据,所述网络数据标识与网络的网络设备相关联的数据;
由所述设备利用并发发现模型来处理所述网络数据,以确定第一队列和第二队列,所述第一队列标识要针对所述网络设备来执行的第一发现任务,所述第二队列标识要在所述第一发现任务之后针对所述网络设备来执行的第二发现任务;
由所述设备利用容量调度器模型来处理所述第一队列和所述第二队列,以基于权重来确定用于执行所述第一发现任务和所述第二发现任务的调度;
由所述设备基于所述调度来执行所述第一发现任务和所述第二发现任务;
由所述设备计算所述第一发现任务和所述第二发现任务的所述执行的进展;
由所述设备估计与所述第一发现任务和所述第二发现任务的所述执行的完成相关联的时间间隔;以及
由所述设备向用户设备提供信息,所述信息标识所述第一发现任务和所述第二发现任务的所述执行的所述进展、以及与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔。
2.根据权利要求1所述的方法,还包括:
完成所述第一发现任务和所述第二发现任务的所述执行;
基于所述第一发现任务和所述第二发现任务的所述执行的完成来接收附加网络数据,
其中所述附加网络数据的第一部分与网络设备的已知资源相关联,并且
其中所述附加网络数据的第二部分与网络设备的未知资源相关联;以及
将所述附加网络数据存储在数据结构中。
3.根据权利要求2所述的方法,其中在所述数据结构中存储所述附加网络数据包括:
将所述附加网络数据的所述第一部分和被存储在所述数据结构中的关于网络设备的所述已知资源的数据互相关联;以及
将所述附加网络数据的所述第二部分存储在所述数据结构中。
4.根据权利要求2所述的方法,其中在所述数据结构中存储所述附加网络数据包括:
维持针对与所述网络设备相关联的如下数据的哈希,所述数据先前被存储在所述数据结构中;
计算针对所述附加网络数据的新哈希;
比较所述哈希与所述新哈希,以标识匹配所述哈希的新哈希以及未能匹配所述哈希的新哈希;
在所述数据结构中,将与匹配所述哈希的所述新哈希相关联的所述附加网络数据和关于与匹配所述新哈希的所述哈希相关联的所述网络设备的数据互相关联;以及
在所述数据结构中,存储与未能匹配所述哈希的所述新哈希相关联的所述附加网络数据。
5.根据权利要求1所述的方法,其中利用所述并发发现模型来处理所述网络数据,以确定所述第一队列和所述第二队列,包括:
基于与所述网络设备的资源相关联的依赖来生成资源发现依赖图;
在所述资源发现依赖图中标识所述第一发现任务;
基于标识所述第一发现任务来确定所述第一队列;
在所述资源发现依赖图中标识所述第二发现任务;以及
基于标识所述第二发现任务来确定所述第二队列。
6.根据权利要求1所述的方法,其中利用所述容量调度器模型来处理所述第一队列和所述第二队列以确定所述调度包括:
向所述第一队列中的所述第一发现任务和所述第二队列中的所述第二发现任务应用所述权重;
基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要并行地执行的所述第一发现任务和所述第二发现任务的第一集合;
基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要依序地执行的所述第一发现任务和所述第二发现任务的第二集合;以及
基于所述第一集合、所述第二集合、所述第一队列和所述第二队列来确定所述调度。
7.根据权利要求1所述的方法,其中计算所述第一发现任务和所述第二发现任务的所述执行的所述进展包括:
标识与所述第一发现任务和所述第二发现任务相关联的所述权重;
在所述第一发现任务和所述第二发现任务的所述执行期间,针对所述第一发现任务和所述第二发现任务来计算已完成的任务权重;以及
基于所述权重和所述已完成的任务权重来计算所述第一发现任务和所述第二发现任务的所述执行的所述进展。
8.一种设备,包括:
一个或多个存储器;以及
一个或多个处理器,用以:
接收网络数据,所述网络数据标识与网络的网络设备相关联的数据;
利用并发发现模型来处理所述网络数据,以确定第一队列和第二队列,所述第一队列标识要针对所述网络设备来执行的第一发现任务,所述第二队列标识要在所述第一发现任务之后针对所述网络设备来执行的第二发现任务;
利用容量调度器模型来处理所述第一队列和所述第二队列,
以基于权重来确定用于执行所述第一发现任务和所述第二发现任务的调度;
基于所述调度来执行所述第一发现任务和所述第二发现任务;
计算所述第一发现任务和所述第二发现任务的所述执行的进展;
估计与所述第一发现任务和所述第二发现任务的所述执行的完成相关联的时间间隔;
向用户设备提供信息,所述信息标识所述第一发现任务和所述第二发现任务的所述执行的所述进展、以及与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔;
完成所述第一发现任务和所述第二发现任务的所述执行;
基于所述第一发现任务和所述第二发现任务的所述执行的完成来接收附加网络数据;以及
将所述附加网络数据存储在数据结构中。
9.根据权利要求8所述的设备,其中所述一个或多个处理器当估计与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔时,用以:
标识与所述第一发现任务和所述第二发现任务相关联的所述权重;
在所述第一发现任务和所述第二发现任务的所述执行期间,针对所述第一发现任务和所述第二发现任务来计算未完成的任务权重;以及
基于所述权重和所述未完成的任务权重来估计与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔。
10.根据权利要求8所述的设备,其中所述一个或多个处理器还用以:
基于与所述网络数据相关联的配置设置来确定所述网络中的所述网络设备的数量,以及
向用户设备提供标识所述网络设备的所述数量的信息。
11.根据权利要求8所述的设备,其中所述一个或多个处理器还用以:
生成网络策略;以及
基于所述附加网络数据使所述网络策略被实现在所述网络设备中的一个或多个网络设备中。
12.根据权利要求8所述的设备,其中所述一个或多个处理器还用以:
生成网络服务,以及
基于所述附加网络数据使所述网络服务被实现在所述网络设备中的一个或多个网络设备中。
13.根据权利要求8所述的设备,其中所述第一发现任务和所述第二发现任务的所述执行的所述进展包括与所述第一发现任务和所述第二发现任务的所述执行相关联的百分比完成值。
14.根据权利要求8所述的设备,其中所述一个或多个处理器当利用所述并发发现模型来处理所述网络数据以确定所述第一队列和所述第二队列时,用以:
确定与所述网络设备的资源相关联的依赖,
其中所述网络设备的第一部分与所述依赖相关联,并且
其中所述网络设备的第二部分不与所述依赖相关联;
标识针对所述网络设备的所述第一部分的所述第一发现任务;
基于标识所述第一发现任务来确定所述第一队列;
标识针对所述网络设备的所述第二部分的所述第二发现任务;以及
基于标识所述第二发现任务来确定所述第二队列。
15.一种存储指令集的非瞬态计算机可读介质,所述指令集包括:
一个或多个指令,当由设备的一个或多个处理器执行时,使所述设备:
接收网络数据,所述网络数据标识与网络的网络设备相关联的数据;
利用并发发现模型来处理所述网络数据,以确定第一队列和第二队列,所述第一队列标识要针对所述网络设备来执行的第一发现任务,所述第二队列标识要在所述第一发现任务之后针对所述网络设备来执行的第二发现任务;
利用容量调度器模型来处理所述第一队列和所述第二队列,以基于权重来确定用于执行所述第一发现任务和所述第二发现任务的调度;
基于所述调度来执行所述第一发现任务和所述第二发现任务;
基于执行所述第一发现任务和所述第二发现任务来接收附加网络数据;
其中所述附加网络数据的第一部分与网络设备的已知资源相关联,并且
其中所述附加网络数据的第二部分与网络设备的未知资源相关联;以及
将所述附加网络数据存储在数据结构中。
16.根据权利要求15所述的非瞬态计算机可读介质,其中所述一个或多个指令还使所述设备:
计算所述第一发现任务和所述第二发现任务的所述执行的进展;
估计与所述第一发现任务和所述第二发现任务的所述执行的完成相关联的时间间隔;以及
向用户设备提供信息,所述信息标识所述第一发现任务和所述第二发现任务的所述执行的所述进展、以及与所述第一发现任务和所述第二发现任务的所述执行的所述完成相关联的所述时间间隔。
17.根据权利要求16所述的非瞬态计算机可读介质,其中使所述设备将所述附加网络数据存储在所述数据结构中的所述一个或多个指令使所述设备:
将所述附加网络数据的所述第一部分和被存储在所述数据结构中的关于网络设备的所述已知资源的数据互相关联;并且
将所述附加网络数据的所述第二部分存储在所述数据结构中。
18.根据权利要求15所述的非瞬态计算机可读介质,其中使所述设备利用所述并发发现模型来处理所述网络数据以确定所述第一队列和所述第二队列的所述一个或多个指令使所述设备:
基于与所述网络设备的资源相关联的依赖来生成资源发现依赖图;
在所述资源发现依赖图中标识所述第一发现任务;
基于标识所述第一发现任务来确定所述第一队列;
在所述资源发现依赖图中标识所述第二发现任务;以及
基于标识所述第二发现任务来确定所述第二队列。
19.根据权利要求15所述的非瞬态计算机可读介质,其中使所述设备利用所述容量调度器模型来处理所述第一队列和所述第二队列以确定所述调度的所述一个或多个指令使所述设备:
向所述第一队列中的所述第一发现任务和所述第二队列中的所述第二发现任务应用所述权重;
基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要并行地执行的所述第一发现任务和所述第二发现任务的第一集合;
基于被应用到所述第一发现任务和所述第二发现任务的所述权重,来标识要依序地执行的所述第一发现任务和所述第二发现任务的第二集合;以及
基于所述第一集合、所述第二集合、所述第一队列和所述第二队列来确定所述调度。
20.根据权利要求15所述的非瞬态计算机可读介质,其中所述一个或多个指令还使所述设备:
基于与所述网络数据相关联的配置设置来确定所述网络中的所述网络设备的数量;以及
向用户设备提供标识所述网络设备的所述数量的信息。
CN202110407121.8A 2020-10-15 2021-04-15 发现网络资源的方法、设备和计算机可读介质 Active CN114430379B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN202041044888 2020-10-15
IN202041044888 2020-10-15
US17/248,511 2021-01-28
US17/248,511 US11140044B1 (en) 2020-10-15 2021-01-28 Utilizing models for concurrently discovering network resources of a network

Publications (2)

Publication Number Publication Date
CN114430379A CN114430379A (zh) 2022-05-03
CN114430379B true CN114430379B (zh) 2023-07-28

Family

ID=77923700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110407121.8A Active CN114430379B (zh) 2020-10-15 2021-04-15 发现网络资源的方法、设备和计算机可读介质

Country Status (3)

Country Link
US (1) US11140044B1 (zh)
EP (1) EP3985506A1 (zh)
CN (1) CN114430379B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234589A (zh) * 2016-12-22 2018-06-29 瞻博网络公司 微服务应用的自动缩放
WO2020150231A1 (en) * 2019-01-14 2020-07-23 Apple Inc. Port management for reliable data service (rds) protocol
CN111752180A (zh) * 2019-03-29 2020-10-09 瞻博网络公司 经由集中式控制器或网络设备控制网络中的路径

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567543B2 (en) * 2005-10-24 2009-07-28 Nec Laboratories America, Inc. Method and apparatus for cross layer resource allocation for wireless backhaul networks
US9205754B2 (en) * 2013-09-30 2015-12-08 Elwha Llc Communication and control regarding electricity provider for wireless electric vehicle electrical energy transfer
US9307428B2 (en) * 2014-01-07 2016-04-05 Alcatel Lucent Estimating available cell capacity based on monitored network data
CN106020951A (zh) * 2016-05-12 2016-10-12 中国农业银行股份有限公司 一种任务调度方法及系统
US10514951B2 (en) * 2017-05-04 2019-12-24 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a stateless, deterministic scheduler and work discovery system with interruption recovery
US10826966B2 (en) * 2018-02-23 2020-11-03 Servicenow, Inc. Scheduling and concurrent processing of protocol transactions
US20200257968A1 (en) * 2019-02-08 2020-08-13 Adobe Inc. Self-learning scheduler for application orchestration on shared compute cluster

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234589A (zh) * 2016-12-22 2018-06-29 瞻博网络公司 微服务应用的自动缩放
WO2020150231A1 (en) * 2019-01-14 2020-07-23 Apple Inc. Port management for reliable data service (rds) protocol
CN111752180A (zh) * 2019-03-29 2020-10-09 瞻博网络公司 经由集中式控制器或网络设备控制网络中的路径

Also Published As

Publication number Publication date
CN114430379A (zh) 2022-05-03
EP3985506A1 (en) 2022-04-20
US11140044B1 (en) 2021-10-05

Similar Documents

Publication Publication Date Title
AU2019257143B2 (en) Policy based service routing
US9354941B2 (en) Load balancing for single-address tenants
US10657061B1 (en) Resource distribution using attributes of versioned hash rings
CN111614738B (zh) 基于Kubernetes集群的服务访问方法、装置、设备及存储介质
US11023535B1 (en) Placement of data volumes in a data center
US9378042B2 (en) Virtual machine multicast/broadcast in virtual network
US9851933B2 (en) Capability-based abstraction of software-defined infrastructure
US10091282B2 (en) Metadata-driven dynamic load balancing in multi-tenant systems
WO2014210202A1 (en) Endpoint data centers of different tenancy sets
US11356534B2 (en) Function repository selection mode and signaling for cloud based processing
US10437647B2 (en) Cluster configuration with zero touch provisioning
US8898314B2 (en) Direct communication between applications in a cloud computing environment
US9559910B2 (en) Locating virtual machine(s) within virtual networks
CN114430379B (zh) 发现网络资源的方法、设备和计算机可读介质
US20240097983A1 (en) Translation of a source intent policy model to a target intent policy model
EP4340312A1 (en) Translation of a source intent policy model to a target intent policy model
US11677814B1 (en) Systems and methods for cloud topology management during deployment of virtual applications
EP4198726A1 (en) Event log management
US11768704B2 (en) Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
US20230138568A1 (en) Task allocation in a cloud environment
US20230418681A1 (en) Intelligent layer derived deployment of containers
US20210297485A1 (en) Systems and methods for providing discovery and hierarchical management of distributed multi-access edge computing
CN117729118A (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