基于SDN的资源清理方法、装置、存储介质和计算机设备与流程

文档序号:14870772发布日期:2018-07-06 23:25阅读:197来源:国知局

本申请涉及计算机技术领域,特别是涉及一种基于sdn的资源清理方法、装置、存储介质和计算机设备。



背景技术:

随着计算机技术的发展,出现了sdn(softwaredefinednetwork,软件定义网络)技术,sdn是一种新型网络创新架构,是网络虚拟化的一种实现方式。sdn技术由于能实现网络流量的灵活控制的优点而被越来越广泛的使用。目前,使用软件定义网络的系统,常常随着系统的扩大和使用积累,导致系统中不再使用的资源越来越多,例如router(路由器),subnet(子网),ip地址(网协地址)等等。而这些不再使用的资源会严重影响系统的运行效率,因此需要及时地被清除。

传统的资源清理方式通常是采用清理特定目录下的文件或者清理具有相同后缀名的文件等方式清理系统冗余或不再使用的资源,但这样只是根据程序内置的预设标准进行机械判断,只能删除指定的文件,很容易漏掉其他需要删除的垃圾文件。而为了更全面地删除垃圾文件则还需要反复核对查找或人工指定删除,导致了资源清理效率低。



技术实现要素:

基于此,有必要针对资源清理效率低的技术问题,提供一种基于sdn的资源清理方法、装置、存储介质和计算机设备。

一种基于sdn的资源清理方法,所述方法包括:

向sdn节点发送资源搜集指令;

接收所述sdn节点反馈的资源信息;所述资源信息表示所述sdn节点中存在的资源;

按照接收的所述资源信息,在资源数据表中关联查询所述资源的控制状态;所述资源数据表用于存储对所述sdn节点上的资源进行控制的记录;

根据所述控制状态确定所述资源中的脏数据;

向所述sdn节点发送删除所述脏数据的通知。

一种基于sdn的资源清理装置,所述装置包括:

发送模块,用于向sdn节点发送资源搜集指令;

接收模块,用于接收所述sdn节点反馈的资源信息;所述资源信息表示所述sdn节点中存在的资源;

关联查询模块,用于按照接收的所述资源信息,在资源数据表中关联查询所述资源的控制状态;所述资源数据表用于存储对所述sdn节点上的资源进行控制的记录;

确定模块,用于根据所述控制状态确定所述资源中的脏数据;

所述发送模块还用于向所述sdn节点发送删除所述脏数据的通知。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于sdn的资源清理方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于sdn的资源清理方法的步骤。

上述基于sdn的资源清理方法、装置、存储介质和计算机设备,通过向sdn节点发送资源搜集指令,使得sdn节点在接收到指令后搜集sdn节点中存在的资源并上报,这样可以高效、全面地获取sdn节点中的资源信息。然后通过在资源数据表中关联查询sdn节点中存在的资源的控制状态,以便确定sdn节点中的脏数据。这样在资源数据表中对sdn节点中存在的资源进行全面地关联查询,可高效、准确地确定所有的脏数据,以便进行资源清理,提高了资源清理的效率。

附图说明

图1为一个实施例中基于sdn的资源清理方法的应用环境图;

图2为一个实施例中基于sdn的资源清理方法的流程示意图;

图3为一个实施例中资源的控制状态记录的步骤的流程示意图;

图4为一个实施例中确定资源自动清理周期的步骤的流程示意图;

图5为一个实施例中调整资源自动清理周期的步骤的流程示意图;

图6为一个实施例中基于sdn的资源清理装置的结构框图;

图7为另一个实施例中基于sdn的资源清理装置的结构框图;

图8为还一个实施例中基于sdn的资源清理装置的结构框图;

图9为再一个实施例中基于sdn的资源清理装置的结构框图;

图10为又一个实施例中基于sdn的资源清理装置的结构框图;

图11为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

具体的,在本实施例中,为了能够高效地清理资源,提出了一种基于sdn的资源清理方法,该方法的实现可依赖计算机程序,可运行于基于冯诺依曼体系的计算机系统上。如图1所示,该计算机系统可以是图1所示的基于sdn的网络系统中的中心控制节点。

图1展示了一种基于sdn的网络系统,包括中心控制节点110和sdn节点120。需要说明的是,中心控制节点110可以是单一的服务器硬件实体设备,也可以是多个服务器构成的服务器集群,该服务器集群中的服务器可分别实现中心控制节点的多个逻辑功能。sdn节点120可以是单一的服务器设备,也可以是多个服务器构成的服务器集群。

如图2所示,在一个实施例中,提供了一种基于sdn的资源清理方法。本实施例主要以该方法应用于上述图1中的中心控制节点110来举例说明。参照图2,该基于sdn的资源清理方法具体包括如下步骤:

s202,向sdn节点发送资源搜集指令。

其中,资源是sdn节点中的网络设备或文件信息等,网络设备具体可以是路由器(router)、虚拟机(vm)、子网(subnet)等;文件信息具体可以是端口(port)名称、网协(ip)地址等。具体地,中心控制节点可向sdn节点发送资源搜集指令,sdn节点在接收到资源搜集指令后搜集sdn节点中存在的资源。

在一个实施例中,中心控制节点可在检测到触发操作后,向sdn节点发送资源搜集指令。其中,触发操作是作用于中心控制节点的预设操作,具体可以是触摸操作、光标操作或者按键操作等。

在一个实施例中,中心控制节点可每隔一定时间段就自动向sdn节点发送资源搜集指令。例如,可通过定时器类的定时装置设置中心控制节点每隔预设时间段就自动向sdn节点发送资源搜集指令,使得sdn节点开始搜集资源。

在一个实施例中,sdn节点上可预先配置不同类别的应用程序,使得每类应用程序可处理单一类别的资源。这些不同类别的应用程序负责接收中心控制节点下发的指令,比如资源创建、资源搜集或资源删除等的指令,并执行相应的动作。这样,当sdn节点接收中心控制节点发送的资源搜集指令后,可通过,不同类别的应用程序分别搜集本节点内各自类别的资源,能大大提高资源搜集的效率。

s204,接收sdn节点反馈的资源信息;资源信息表示sdn节点中存在的资源。

其中,资源信息是用来表示sdn节点中存在的资源的信息,具体可以是资源的名称信息或对资源进行统计后的统计数据等。具体地,sdn节点在接收到中心控制节点发送的资源搜集指令后搜集sdn节点中存在的资源,将搜集到的资源整理成资源信息上报给中心控制节点。

s206,按照接收的资源信息,在资源数据表中关联查询资源的控制状态;资源数据表用于存储对sdn节点上的资源进行控制的记录。

其中,资源数据表是资源的控制状态的记录表,用于存储对sdn节点上的资源进行控制的记录。其中,控制状态是对资源进行控制时资源所处的状态,比如可以是运行状态、删除状态或暂停运行状态等。

具体地,中心控制节点可预先建立资源数据表,资源数据表中记录有资源的名称和控制状态等。当中心控制节点接收到sdn节点上报的资源信息后,按照接收的资源信息,根据资源的名称在资源数据表中关联查询资源的控制状态。

在一个实施例中,中心控制节点可预先建立不同类别资源的资源数据表,资源数据表中可记录有该资源的名称、与该资源相关联的资源、资源的控制状态等。中心控制节点在接收资源创建或删除的指令后在对应的资源数据表中记录资源的状态信息。不同类别的资源比如虚拟机状态的资源、虚拟机性能的资源、与子网相关的资源等。

举例说明,虚拟机状态的资源数据数据表,资源数据表中记录有虚拟机的id(身份证)、name(名称)、tenantid(租户id)、status(状态)、taskstate(任务状态)、powerstate(电源状态)等与该虚拟机状态相关的资源。再比如,虚拟机性能相关的资源数据表,资源数据表中记录有虚拟机的id、硬盘、cpu(centralprocessingunit,中央处理器)等与虚拟机性能相关的资源。

进一步地,在一个实施例中,中心控制节点可根据资源信息中的资源名称在资源数据表中查询到该资源的控制状态及该资源的关联资源。再通过关联查询其他的资源数据表确定关联的资源的控制状态。

举例说明,假如中心控制节点接收的资源信息中有虚拟机的名称信息如vm1,根据虚拟机状态的资源数据表查询到与虚拟机vm1关联的资源id是34567、控制状态是运行状态及其他信息等。再通过于虚拟机vm1相关联的资源id是34567来查找虚拟机性能相关的资源数据表,可找到与该id为34567的虚拟机vm1相关联的硬盘资源、cpu资源等。

s208,根据控制状态确定资源中的脏数据。

其中,脏数据是不再使用的或冗余的资源,比如可以是控制状态为删除状态的资源。具体地,当中心控制节点在资源数据表中关联查询到资源的控制状态为删除状态时,可以确定该资源为脏数据。

在一个实施例中,当中心控制节点在资源数据表中关联查询到资源的控制状态为删除状态,并且通过多个资源数据表确定与该资源关联的资源,当关联的资源是与该资源唯一对应时,则可确认该资源与关联的资源为脏数据。

s210,向sdn节点发送删除脏数据的通知。

具体地,当中心控制节点确定sdn节点中存在的资源中的脏数据时,向sdn节点发送删除脏数据的通知。sdn节点接收到通知后执行删除脏数据的动作以删除sdn节点中的脏数据,完成资源清理。

在一个实施例中,sdn节点上可预先配置不同类别的应用程序,使得每类应用程序可处理单一类别的资源。当sdn节点接收到删除脏数据的通知后,sdn节点上预先配置的不同类别的应用程序开始执行删除对应类别的脏数据的动作。

上述基于sdn的资源清理方法,通过向sdn节点发送资源搜集指令,使得sdn节点在接收到指令后搜集sdn节点中存在的资源并上报,这样可以高效、全面地获取sdn节点中的资源信息。然后通过在资源数据表中关联查询sdn节点中存在的资源的控制状态,以便确定sdn节点中的脏数据。这样在资源数据表中对sdn节点中存在的资源进行全面地关联查询,可高效、准确地确定所有的脏数据,以便进行资源清理,提高了资源清理的效率。

在一个实施例中,该基于sdn的资源清理方法还包括资源的控制状态记录的步骤,资源的控制状态记录的步骤具体包括:

s302,获取资源控制信息。

其中,资源控制信息是资源控制状态变化的信息,具体可以是对资源进行控制的指令,比如资源创建或资源删除等。资源控制信息可以包括资源的控制状态或与资源关联的资源等。在一个实施例中,中心控制节点可在接收对资源进行控制的指令时获取资源控制信息。

s304,确定资源控制信息所对应的资源。

具体地,当中心控制节点获取资源控制信息时,确定资源控制信息所对应的资源。举例说明,当中心控制节点获取的资源控制信息是删除虚拟机vm1时,则可确定与资源控制信息所对应的资源,比如,虚拟机vm1的id、tenantid、state、ip地址、连接的子网、内存空间、cpu等资源。

s306,在确定的资源所属类别所对应的资源数据表中,按照资源控制信息记录确定的资源的控制状态。

具体地,中心控制节点在确定资源控制信息所对应的资源后,在资源所属类别所对应的资源数据表中,按照资源控制信息记录资源的控制状态。

例如,当中心控制节点获取的资源控制信息是删除虚拟机vm1时,则可确定与资源控制信息所对应的资源。比如,虚拟机vm1的id、tenantid、state、ip地址、连接的子网、内存空间、cpu等资源。其中,虚拟机vm1的id、tenantid、state等资源属于虚拟机状态类别,在虚拟机状态类别所对应的资源数据表中,将各资源的控制状态记录为删除状态。其中,ip地址、连接的子网等资源属于网络资源类别,在网络资源类别所对应的资源数据表中,将各资源的控制状态记录为删除状态。

上述实施例中,通过资源控制信息,在资源数据表中记录与资源控制信息相对应的资源的控制状态,可实时记录资源的最新控制状态,使得资源数据表中存储有资源的最新的、准确的控制状态。

在一个实施例中,步骤s208包括:根据资源数据表中记录的资源关联关系,确定与资源关联的资源;当控制状态为删除状态时,将资源信息所表示的资源和关联的资源确定为脏数据。

其中,资源关联关系是资源之间的关联关系,例如虚拟机与子网之间的关联关系是某虚拟机与该虚拟机接入的子网之间的关联关系。具体地,当中心控制节点获取到资源信息后,根据资源数据表中记录的资源关联关系,可确定与该资源关联的资源。当该资源的控制状态为删除状态时,该资源的关联资源与该资源唯一对应时,则可确定与该资源关联的资源也是应该被删除的,因此中心控制节点将资源信息所表示的资源和关联的资源确定为脏数据。

上述实施例中,根据资源数据表中记录的资源关联关系,可以获取与该资源唯一关联的资源。当资源的控制状态为删除状态时,可直接确定该资源和关联的资源为脏数据,而无需对关联的资源依次进行查找判断,减轻了计算量并提高了脏数据的确定效率。

在一个实施例中,步骤s208包括:根据资源数据表中记录的资源关联关系,确定与资源关联的资源;统计关联的资源中控制状态为删除状态的资源的数量;当统计的资源的数量大于或等于阈值时,将资源信息所表示的资源和关联的资源确定为脏数据。

在一个实施例中,当中心控制节点获取到资源信息后,根据资源数据表中记录的资源关联关系,可确定与该资源关联的资源及关联的资源的控制状态。中心控制节点可通过计数器等工具统计关联的资源中控制状态为删除状态的资源的数量。当统计的资源的数量大于或等于预设的阈值时,则可认为与统计的关联的资源相对应的资源为脏数据。再通过资源数据表关联查询该数据的所有关联的数据,将关联的资源确定为脏数据。

上述实施例中,根据资源数据表中记录的资源关联关系,可以获取与该资源关联的资源。当统计控制状态为删除状态的关联的资源的数量大于阈值时,则可以停止关联查找资源的控制状态的动作,直接将与关联的资源相对应的资源和所有的关联的资源确定为脏数据,减轻了计算量并提高了脏数据的确定效率。

在一个实施例中,该基于sdn的资源清理方法还包括确定资源自动清理周期的步骤,确定资源自动清理周期的步骤具体包括:

s402,统计单次资源清理时长;单次资源清理时长,包括自发送资源搜集指令至删除脏数据成功的时长。

其中,单次资源清理时长是自中心控制节点发送资源搜集指令至sdn节点删除脏数据成功的时长。具体地,当sdn节点删除脏数据成功时可向中心控制节点上报删除脏数据成功的信息。中心控制节点可从向sdn节点发送资源搜集指令时开始计时,直至收到sdn节点反馈的删除脏数据程度的信息时停止计时,来计算单次资源清理时长。

s404,根据单次资源清理时长,确定资源自动清理周期;资源自动清理周期大于单次资源清理时长。

其中,资源自动清理周期是从当次中心控制节点向sdn节点发送资源搜集指令开始到下次发送资源搜集指令的中间时长。中心控制节点可根据预先获取的单次资源清理时长来确定资源自动清理周期。资源自动清理周期大于单次资源清理时长。

在一个实施例中,当中心控制节点确定了资源自动清理周期后,可根据sdn节点的负载情况,将资源自动清理的时间确定在sdn节点处于低负载状态的时间,例如凌晨两点或三点。

s406,按照资源自动清理周期,定期执行向sdn节点发送资源搜集指令的步骤。

具体地,中心控制节点可通过定时器类的定时装置设置中心控制节点在每个清理周期内自动向sdn节点发送资源搜集指令,使得sdn节点开始搜集资源。

上述实施例中,通过统计单次资源清理时长,来确定资源自动清理周期。按照资源自动清理周期,定期向sdn节点发送资源搜集指令,可使得整个资源清理的动作自动执行,节省了运维人力成本。

在一个实施例中,该基于sdn的资源清理方法还包括调整资源自动清理周期的步骤,调整资源自动清理周期的步骤具体包括:

s502,在统计时间段内,统计各资源自动清理周期内删除的脏数据的数量。

在一个实施例中,中心控制节点可在每个资源自动清理周期内统计确定的脏数据的数量。进而,获取在统计时间段内,每个资源自动清理周期内确定的脏数据的数量。

在一个实施例中,当sdn节点删除脏数据成功后将上报给中心控制节点删除的脏数据的数量。进而,中心控制节点可统计在统计时间段内,每个资源自动清理周期内删除的脏数据的数量。

s504,根据统计的脏数据的数量确定脏数据数量变化趋势。

在一个实施例中,中心控制节点可根据统计的脏数据的数量,对统计是脏数据的数量进行描点,拟合关于脏数据的数量的函数。根据拟合的函数确定脏数据数量变化趋势。

在一个实施例中,中心控制节点可根据相邻的资源自动清理周期内删除的脏数据的数量的差异,确定脏数据数量变化趋势。

s506,根据脏数据数量变化趋势调整资源自动清理周期。

具体地,中心控制节点可根据脏数据数量变化趋势相对应地调整资源自动清理周期。比如当脏数据数量变化趋势是上升趋势时,则减小资源自动清理周期的时长,使得资源清理更频繁;当脏数据数量变化趋势是下降趋势时,则增加资源自动清理周期的时长,减小资源清理的频率。

举例说明,当资源自动清理周期为24h,资源自动清理时间在凌晨2点或3点时,随着资源清理次数的增加,随后清理的脏数据越来越少后,可根据实际情况调整资源自动清理周期,比如调整为48h。

上述实施例中,在统计时间段内,统计各资源自动清理周期内删除的脏数据的数量,根据脏数据数量的变化趋势相对应地调整资源自动清理周期。这样可以使得资源清理的频率和sdn节点中存在的脏数据的情况相匹配,既能达到资源清理的目的,又能减轻中心控制节点和sdn节点的计算量,减轻了工作量。

在一个实施例中,该基于sdn的资源清理方法还包括取消资源清理的步骤,取消资源清理的步骤具体包括:获取sdn节点的负载状态;当负载状态表示高负载状态时,则在当前的资源自动清理周期内,取消执行向sdn节点发送资源搜集指令的步骤。

其中,负载状态是sdn节点中资源消耗的状态。负载状态比如可以是高负载状态、低负载状态或者空闲状态。具体地,中心控制节点可直接接收sdn节点反馈的自身负载状态;或者中心控制节点可从监控sdn节点的监控设备处获取sdn节点的负载状态。其中,获取sdn节点的负载状态的步骤可以周期性执行。当sdn节点的负载状态表示高负载状态时,则在当前的资源自动清理周期内,取消执行向sdn节点发送资源搜集指令的步骤。

在一个实施例中,当sdn节点的负载状态表示低负载状态或空闲状态时,则在当前的资源自动清理周期内,执行向sdn节点发送资源搜集指令的步骤。

上述实施例中,当sdn节点的负载状态表示高负载状态时,则取消向sdn节点发送资源搜集指令的动作。这样在sdn节点处于低负载或空闲状态时才执行向sdn节点发送资源搜集指令的步骤,高负载时取消向sdn节点发送资源搜集指令的步骤,能减轻计算压力并节省资源,并有效地实现资源清理。

图2为一个实施例中基于sdn的资源清理方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图6所示,在一个实施例中,提供了一种基于sdn的资源清理装置600,包括发送模块601、接收模块602、关联查询模块603、确定模块604。

发送模块601,用于向sdn节点发送资源搜集指令。

接收模块602,用于接收sdn节点反馈的资源信息;资源信息表示sdn节点中存在的资源。

关联查询模块603,用于按照接收的资源信息,在资源数据表中关联查询资源的控制状态;资源数据表用于存储对sdn节点上的资源进行控制的记录。

确定模块604,用于根据控制状态确定资源中的脏数据。

发送模块601还用于向sdn节点发送删除脏数据的通知。

上述基于sdn的资源清理装置,通过向sdn节点发送资源搜集指令,使得sdn节点在接收到指令后搜集sdn节点中存在的资源并上报,这样可以高效、全面地获取sdn节点中的资源信息。然后通过在资源数据表中关联查询sdn节点中存在的资源的控制状态,以便确定sdn节点中的脏数据。这样在资源数据表中对sdn节点中存在的资源进行全面地关联查询,可高效、准确地确定所有的脏数据,以便进行资源清理,提高了资源清理的效率。

在一个实施例中,如图7所示,基于sdn的资源清理装置600还包括获取模块605、记录模块606。

获取模块605,用于获取资源控制信息。

确定模块604还用于确定资源控制信息所对应的资源。

记录模块606,用于在确定的资源所属类别所对应的资源数据表中,按照资源控制信息记录确定的资源的控制状态。

上述实施例中,通过资源控制信息,在资源数据表中记录与资源控制信息相对应的资源的控制状态,可实时记录资源的最新控制状态,使得资源数据表中存储有资源的最新的、准确的控制状态。

在一个实施例中,确定模块604还用于根据资源数据表中记录的资源关联关系,确定与资源关联的资源;当控制状态为删除状态时,将资源信息所表示的资源和关联的资源确定为脏数据。

上述实施例中,根据资源数据表中记录的资源关联关系,可以获取与该资源唯一关联的资源。当资源的控制状态为删除状态时,可直接确定该资源和关联的资源为脏数据,而无需对关联的资源依次进行查找判断,减轻了计算量并提高了脏数据的确定效率。

在一个实施例中,确定模块604还用于根据资源数据表中记录的资源关联关系,确定与资源关联的资源;统计关联的资源中控制状态为删除状态的资源的数量;当统计的资源的数量大于或等于阈值时,将资源信息所表示的资源和关联的资源确定为脏数据。

上述实施例中,根据资源数据表中记录的资源关联关系,可以获取与该资源关联的资源。当统计控制状态为删除状态的关联的资源的数量大于阈值时,则可以停止关联查找资源的控制状态的动作,直接将与关联的资源相对应的资源和所有的关联的资源确定为脏数据,减轻了计算量并提高了脏数据的确定效率。

在一个实施例中,如图8所示,基于sdn的资源清理装置600还包括统计模块607、执行模块608。

统计模块607,用于统计单次资源清理时长;单次资源清理时长,包括自发送资源搜集指令至删除脏数据成功的时长。

确定模块604还用于根据单次资源清理时长,确定资源自动清理周期;资源自动清理周期大于单次资源清理时长。

执行模块608,用于按照资源自动清理周期,定期执行向sdn节点发送资源搜集指令的步骤。

上述实施例中,通过统计单次资源清理时长,来确定资源自动清理周期。按照资源自动清理周期,定期向sdn节点发送资源搜集指令,可使得整个资源清理的动作自动执行,节省了运维人力成本。

在一个实施例中,如图9所示,基于sdn的资源清理装置600还包括调整模块609。

统计模块607还用于在统计时间段内,统计各资源自动清理周期内删除的脏数据的数量。

确定模块604还用于根据统计的脏数据的数量确定脏数据数量变化趋势;

调整模块609,用于根据脏数据数量变化趋势调整资源自动清理周期。

上述实施例中,在统计时间段内,统计各资源自动清理周期内删除的脏数据的数量,根据脏数据数量的变化趋势相对应地调整资源自动清理周期。这样可以使得资源清理的频率和sdn节点中存在的脏数据的情况相匹配,既能达到资源清理的目的,又能减轻中心控制节点和sdn节点的计算量,减轻了工作量。

在一个实施例中,如图10所示,基于sdn的资源清理装置600还包括取消模块610。

获取模块605还用于获取sdn节点的负载状态。

取消模块610,用于当负载状态表示高负载状态时,则在当前的资源自动清理周期内,取消执行向sdn节点发送资源搜集指令的步骤。

上述实施例中,当sdn节点的负载状态表示高负载状态时,则取消向sdn节点发送资源搜集指令的动作。这样在sdn节点处于低负载或空闲状态时才执行向sdn节点发送资源搜集指令的步骤,高负载时取消向sdn节点发送资源搜集指令的步骤,能减轻计算压力并节省资源,并有效地实现资源清理。

图11示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的中心控制节点110。如图11所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端或sdn节点通过网络连接通信。该计算机程序被处理器执行时以实现一种基于sdn的资源清理方法。

本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的基于sdn的资源清理装置可以实现为一种计算机程序的形式,计算机程序可在如图11所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于sdn的资源清理装置的各个程序模块,比如,图6所示的发送模块、接收模块、关联查询模块和确定模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于sdn的资源清理方法中的步骤。

例如,图11所示的计算机设备可以通过如图6所示的基于sdn的资源清理装置中的发送模块执行步骤s202。计算机设备可通过接收模块执行步骤s204。计算机设备可通过关联查询模块执行步骤s206。计算机设备可通过确定模块执行步骤s208。计算机设备可通过发送模块执行步骤s210。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:向sdn节点发送资源搜集指令;接收sdn节点反馈的资源信息;资源信息表示sdn节点中存在的资源;按照接收的资源信息,在资源数据表中关联查询资源的控制状态;资源数据表用于存储对sdn节点上的资源进行控制的记录;根据控制状态确定资源中的脏数据;向sdn节点发送删除脏数据的通知。

在一个实施例中,计算机程序使得还处理器执行以下步骤:获取资源控制信息;确定资源控制信息所对应的资源;在确定的资源所属类别所对应的资源数据表中,按照资源控制信息记录确定的资源的控制状态。

在一个实施例中,计算机程序使得处理器在执行根据控制状态确定资源中的脏数据的步骤时具体执行以下步骤:根据资源数据表中记录的资源关联关系,确定与资源关联的资源;当控制状态为删除状态时,将资源信息所表示的资源和关联的资源确定为脏数据。

在一个实施例中,计算机程序使得处理器在执行根据控制状态确定资源中的脏数据的步骤时具体执行以下步骤:根据资源数据表中记录的资源关联关系,确定与资源关联的资源;统计关联的资源中控制状态为删除状态的资源的数量;当统计的资源的数量大于或等于阈值时,将资源信息所表示的资源和关联的资源确定为脏数据。

在一个实施例中,计算机程序使得还处理器执行以下步骤:统计单次资源清理时长;单次资源清理时长,包括自发送资源搜集指令至删除脏数据成功的时长;根据单次资源清理时长,确定资源自动清理周期;资源自动清理周期大于单次资源清理时长;按照资源自动清理周期,定期执行向sdn节点发送资源搜集指令的步骤。

在一个实施例中,计算机程序使得还处理器执行以下步骤:在统计时间段内,统计各资源自动清理周期内删除的脏数据的数量;根据统计的脏数据的数量确定脏数据数量变化趋势;根据脏数据数量变化趋势调整资源自动清理周期。

在一个实施例中,计算机程序使得还处理器执行以下步骤:获取sdn节点的负载状态;当负载状态表示高负载状态时,则在当前的资源自动清理周期内,取消执行向sdn节点发送资源搜集指令的步骤。

上述计算机设备,通过向sdn节点发送资源搜集指令,使得sdn节点在接收到指令后搜集sdn节点中存在的资源并上报,这样可以高效、全面地获取sdn节点中的资源信息。然后通过在资源数据表中关联查询sdn节点中存在的资源的控制状态,以便确定sdn节点中的脏数据。这样在资源数据表中对sdn节点中存在的资源进行全面地关联查询,可高效、准确地确定所有的脏数据,以便进行资源清理,提高了资源清理的效率。

一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:向sdn节点发送资源搜集指令;接收sdn节点反馈的资源信息;资源信息表示sdn节点中存在的资源;按照接收的资源信息,在资源数据表中关联查询资源的控制状态;资源数据表用于存储对sdn节点上的资源进行控制的记录;根据控制状态确定资源中的脏数据;向sdn节点发送删除脏数据的通知。

在一个实施例中,计算机程序使得还处理器执行以下步骤:获取资源控制信息;确定资源控制信息所对应的资源;在确定的资源所属类别所对应的资源数据表中,按照资源控制信息记录确定的资源的控制状态。

在一个实施例中,计算机程序使得处理器在执行根据控制状态确定资源中的脏数据的步骤时具体执行以下步骤:根据资源数据表中记录的资源关联关系,确定与资源关联的资源;当控制状态为删除状态时,将资源信息所表示的资源和关联的资源确定为脏数据。

在一个实施例中,计算机程序使得处理器在执行根据控制状态确定资源中的脏数据的步骤时具体执行以下步骤:根据资源数据表中记录的资源关联关系,确定与资源关联的资源;统计关联的资源中控制状态为删除状态的资源的数量;当统计的资源的数量大于或等于阈值时,将资源信息所表示的资源和关联的资源确定为脏数据。

在一个实施例中,计算机程序使得还处理器执行以下步骤:统计单次资源清理时长;单次资源清理时长,包括自发送资源搜集指令至删除脏数据成功的时长;根据单次资源清理时长,确定资源自动清理周期;资源自动清理周期大于单次资源清理时长;按照资源自动清理周期,定期执行向sdn节点发送资源搜集指令的步骤。

在一个实施例中,计算机程序使得还处理器执行以下步骤:在统计时间段内,统计各资源自动清理周期内删除的脏数据的数量;根据统计的脏数据的数量确定脏数据数量变化趋势;根据脏数据数量变化趋势调整资源自动清理周期。

在一个实施例中,计算机程序使得还处理器执行以下步骤:获取sdn节点的负载状态;当负载状态表示高负载状态时,则在当前的资源自动清理周期内,取消执行向sdn节点发送资源搜集指令的步骤。

上述计算机可读存储介质,通过向sdn节点发送资源搜集指令,使得sdn节点在接收到指令后搜集sdn节点中存在的资源并上报,这样可以高效、全面地获取sdn节点中的资源信息。然后通过在资源数据表中关联查询sdn节点中存在的资源的控制状态,以便确定sdn节点中的脏数据。这样在资源数据表中对sdn节点中存在的资源进行全面地关联查询,可高效、准确地确定所有的脏数据,以便进行资源清理,提高了资源清理的效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1