CN111767152A - 探测资源闲置的方法、设备和计算机可读存储介质 - Google Patents
探测资源闲置的方法、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111767152A CN111767152A CN202010691146.0A CN202010691146A CN111767152A CN 111767152 A CN111767152 A CN 111767152A CN 202010691146 A CN202010691146 A CN 202010691146A CN 111767152 A CN111767152 A CN 111767152A
- Authority
- CN
- China
- Prior art keywords
- message
- hash
- monitored
- intercepted message
- intercepted
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 156
- 230000008569 process Effects 0.000 claims abstract description 120
- 238000012544 monitoring process Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 49
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Cardiology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及云计算领域,提供了一种探测资源闲置的方法、设备和计算机可读存储介质。该方法包括:在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;从截获报文中提取截获报文的属性信息,其中,截获报文的属性信息包括截获报文携带的地址、端口号和协议号;根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问,预设时间按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定;当监测到待监测进程在预设时间内未访问过截获报文时,确定待监测进程对应的资源闲置。本申请的技术方案探测的更有针对性或探测更为精确,只将真正闲置的资源回收。
Description
技术领域
本申请涉及云计算领域,特别涉及一种探测资源闲置的方法、设备和计算机可读存储介质。
背景技术
作为云计算(Cloud Computing)的基础能力提供商,会建立云计算资源池平台(也称云平台),在资源池中部署多种类型的虚拟资源供外部客户选择使用。云平台中主要包括计算设备(例如虚拟机)、存储设备和网络设备,等等。
尽管云平台为用户提供了诸多便利,然而,相关研究表明,企业在使用云平台时大约有35%的云支出是浪费的,因此,闲置资源回收或再利用对于企业节约云使用的成本的意义重大。目前,对云平台的闲置资源进行回收、再利用的一种方法是自动伸缩法。在该方法中,自动伸缩组件会采样一段时间内云主机和网络的利用率,自动回收利用率不高的计算资源,使得业务从较多的云主机收缩到更少的云主机上。
然而,由于上述自动伸缩法是基于对整个云主机和网络的利用率的计算而进行,当个别节点或在某种场景下由于某种原因而在“较短的时间”内没有使用资源时,则该资源仍然会被当作闲置资源予以回收,但从长远来看,该资源并费闲置资源,不能予以回收。
发明内容
本申请实施例提供了一种探测资源闲置的方法、设备和计算机可读存储介质,以解决现有技术对事实上并非闲置资源进行了不当回收的问题。该技术方案如下:
一方面,提供了一种探测资源闲置的方法,该方法包括:
在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;
从所述截获报文中提取所述截获报文的属性信息,所述截获报文的属性信息包括所述截获报文携带的地址、端口号和协议号;
根据所述截获报文的属性信息,监测所述待监测进程在预设时间内对所述截获报文的访问,所述预设时间按照监测需求设定或者按照所述待监测进程对应的资源在历史上闲置的最大时间间隔设定;
当监测到所述待监测进程在预设时间内未访问过所述截获报文时,确定所述待监测进程对应的资源闲置。
一方面,提供了一种探测资源闲置的装置,该装置包括:
报文截获模块,用于在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;
提取模块,用于从所述截获报文中提取所述截获报文的属性信息,所述截获报文的属性信息包括所述截获报文携带的地址、端口号和协议号;
监测模块,用于根据所述截获报文的属性信息,监测所述待监测进程在预设时间内对所述截获报文的访问,所述预设时间按照监测需求设定或者按照所述待监测进程对应的资源在历史上闲置的最大时间间隔设定;
确定模块,用于当监测到所述待监测进程在预设时间内未访问过所述截获报文时,确定所述待监测进程对应的资源闲置。
一方面,提供了一种计算机设备,该计算设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,该计算机程序代码由该一个或多个处理器加载并执行以实现该探测资源闲置的方法所执行的操作。
一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序由处理器加载并执行以实现该探测资源闲置的方法所执行的操作。
从上述本申请提供的技术方案可知,一方面,由于是在待监测进程的报文收发方向上对任一报文进行截获,即,针对某个具体的进程来探测资源是否闲置,相比于现有技术针对整个CPU或网络的利用率来探测资源闲置,本申请的技术方案探测的对象的粒度更小,因而更有针对性或探测更为精确;另一方面,由于预设时间是按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定,相对于现有技术频繁地探测,从而将实质上并不宜回收的资源误回收,本申请的技术方案能够避免这种误操作,从而只将真正闲置的资源回收。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的探测资源闲置的方法的流程图;
图2是本申请实施例提供的在待监测进程的报文收发方向上对任一报文进行截获的示意图;
图3是本申请实施例提供的一种探测资源闲置的装置的结构示意图;
图4是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例基于计算机设备作为执行主体来进行介绍。此处的计算机设备可以是服务器,也可以是终端,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,而终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。上述终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
现有技术中,往往是针对一个计算节点来确定该计算节点的资源是否闲置,然而,这种方法并不客观。原因在于,一个计算节点上存在多个不同的进程,不同的进程存在资源闲置的时间可能不一样,例如,进程P1、P2和P3存在资源闲置的时间分别为T1、T2和T3。现有技术在评估计算节点的资源是否闲置时,是以某个时间Tc为界限来判断整个计算节点的资源是否闲置,然而,可能存在的情形是由于T2比Tc大,但进程P2在T2时间内存在资源闲置是合理的(例如,因测试需求,允许进程P2在T2时间内不使用任何资源),而按照Tc来度量,则认为进程P2存在资源闲置,因此将P2的资源进行回收,则给进程P2的发挥作用造成了障碍。为了解决上述问题,本申请提供一种探测资源闲置的方法。参见图1,该方法主要包括以下步骤S101至S104,详细说明如下:
步骤S101:在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文。
在本申请实施例中,待监测进程的报文收发方向包括该待监测进程发送报文的方向和接收报文的方向。当待监测进程运行在一计算机设备上时,计算机设备通过其中的网卡连接到网络;网卡从网络接收报文,传送到待监测进程,或者,待监测进程发送报文,经网卡向网络发送。如附图2所示,可以在网卡与待监测进程之间即待监测进程的报文收发方向上设置一监控程序或一段代码,这些监控程序或代码对任一报文进行截获。
步骤S102:从截获报文中提取截获报文的属性信息,其中,截获报文的属性信息包括截获报文携带的地址、端口号和协议号。
截获报文即在待监测进程的报文收发方向上截获的任一报文,其属性信息是报文携带的地址、端口号和协议号,其中,报文的地址包括源地址或目的地址,即,报文携带的源地址、端口号和协议号,或者,报文携带的目的地址、端口号和协议号,这些三元组构成该报文的基本属性。
步骤S103:根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问,其中,预设时间按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定。
为了根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问,可以在步骤S101即在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文之前,创建哈希表,此处的哈希表以每个目标报文携带的地址、端口号和协议号为关键码构成一键-值(key-value)对的键(key),以每个目标报文的时间戳构成键-值对的值(value),该值或者时间戳存储在以某个函数为哈希函数进行哈希运算所得哈希值为地址的存储单元,其中,上述端口号表示待监测进程通信时所用端口。考虑到后续根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问主要是通过以截获报文携带的地址、端口号和协议号为关键码,采用计算所得的哈希值在哈希表上进行索引来进行,然而,由于不同的关键码可能得到同一哈希值即存在哈希冲突,因此,作为本申请一个实施例,在创建哈希表时,可通过如下步骤S11至S15实现,以减小哈希冲突发生的概率:
步骤S11:基于初始哈希函数对X个关键码分别进行哈希运算得到X个关键码各个关键码对应的第一哈希值。
在本申请实施例中,基于初始哈希算法,对X个关键码分别进行哈希运算,得到X个关键码各个关键码对应的第一哈希值。
步骤S12:根据存在冲突的第一哈希值的关键码的数量Y和关键码的数量X,确定关键码的第一哈希值的冲突概率p,其中,X和Y为正整数。
哈希值冲突或哈希冲突的概念如前所述,在本申请实施例中,记关键码的数量为X、存在冲突的第一哈希值的关键码数量为Y,则关键码的第一哈希值的冲突概率p=Y/X。例如,若所有关键码数量为15000,仅有关键码“edsxu”、“fexyz”和“byduk”的第一哈希值相同,存在冲突,则这组关键码的第一哈希值的冲突概率p=3/15000=0.02%。
步骤S13:根据关键码的第一哈希值的冲突概率修改初始哈希函数,得到确定哈希函数。
作为本申请一个实施例,根据关键码的第一哈希值的冲突概率修改初始哈希函数,得到确定哈希函数可以是:1)设置哈希值冲突概率的最大允许值Pm;2)根据哈希值冲突概率的最大允许值Pm和关键码的第一哈希值的冲突概率p,不断调整初始哈希函数的参数,用这些不同参数的哈希函数计算哈希值的冲突概率;3)当哈希值的冲突概率p降低为小于哈希值冲突概率的最大允许值Pm时,将此时的参数作为确定哈希函数的参数,得到确定哈希函数。
步骤S14:基于确定哈希函数分别对X个关键码进行哈希运算得到X个关键码各个关键码对应的第二哈希值。
当经步骤S3得到确定哈希函数后,采用确定哈希函数分别对X个关键码进行哈希运算得到X个关键码各个关键码对应的第二哈希值。
步骤S15:根据第二哈希值构建红黑树并基于红黑树构建对应的哈希表。
本说明书一个或多个实施例中,红黑树是一个自平衡二叉查找树,平衡二叉树的最小高度和最大高度的差值的绝对值不超过1。红黑树处于空状态时,树中的根节点和根节点的子节点均为空节点。将X个关键码作为键(key),X个关键码的第二哈希值作为值(value)的存储地址构建红黑树,在红黑树构建过程中,为了维护红黑树的平衡性,会对树的节点进行颜色变换和旋转操作。当红黑树表示构建完成后,完成一次红黑树表示的遍历,根据遍历得到的红黑树表示中各节点的信息创建哈希表。
相应于经上述步骤S11至步骤S15构建的哈希表,作为本申请一个实施例,根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问可以通过如下步骤S’11至步骤S’14实现:
步骤S’11:以截获报文携带的地址、端口号和协议号为关键码,采用计算所得的哈希值在哈希表上进行索引。
在本申请实施例中,可以截获报文携带的地址、端口号和协议号作为关键码,以构建哈希表时的哈希函数作为哈希函数,对关键码计算哈希值,所计算出来的哈希值就是关键码对应的键-值对所对应的值的存储单元的地址。
步骤S’12:若命中哈希表,则更改截获报文的时间戳的值,否则,保持截获报文的时间戳的初始值。
如前所述,在哈希表中,以每个目标报文携带的地址、端口号和协议号为关键码构成一键-值对的键,以每个目标报文的时间戳构成键-值对的值,因此,此处的截获报文的时间戳的值是以截获报文携带的地址、端口号和协议号为关键码构成一键-值对的值。例如,当待监测进程接收截获报文时,此处的截获报文的时间戳的值是以截获报文携带的目的地址、端口号和协议号为关键码构成一键-值对的值,当待监测进程发送截获报文时,此处的截获报文的时间戳的值是以截获报文携带的源地址、端口号和协议号为关键码构成一键-值对的值。若命中哈希表,则表示存在以某个截获报文携带的地址、端口号和协议号为关键码、以创建哈希表时的哈希函数为哈希函数计算所得哈希值为地址的存储单元,该存储单元存储有该截获报文的时间戳的初始值。将该时间戳的初始值进行更改,具体而言,当该截获报文为待监测进程接收的报文时,将该截获报文的时间戳的初始值更改为收到该截获报文的时间,当该截获报文为待监测进程发送的报文时,将该截获报文的时间戳的初始值更改为发送该截获报文的时间。
步骤S’13:守护进程以预设时间为周期,从时间戳的存储单元读取截获报文的时间戳。
如前所述,本申请的预设时间可以按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定,例如,对于一些具有管理功能的进程,或者,具有测试功能的进程,可以是按照监测需求设定,例如预计该进程可能2天时间都处于闲置,则可以将预设时间设置为2天,而对于其他的进程,也可以按照待监测进程对应的资源在历史上闲置的最大时间间隔设定,如此,能客观评价资源是否真的闲置。
在本申请实施例中,可以设置一个守护进程,该守护进程以预设时间为周期,从时间戳的存储单元读取截获报文的时间戳。
步骤S’14:若截获报文的时间戳的值已更改,则确定待监测进程在预设时间内访问过截获报文,否则,确定待监测进程在预设时间内未访问过截获报文。
由于经步骤S’11索引,经步骤S’12可能命中哈希表,而命中哈希表后,则更改截获报文的时间戳的值,否则,保持截获报文的时间戳的初始值,因此,若守护进程从时间戳的存储单元读取截获报文的时间戳后,发现截获报文的时间戳的值已更改,则确定待监测进程在预设时间内访问过截获报文,若截获报文的时间戳的值没有更改即仍然是初始值,确定待监测进程在预设时间内未访问过截获报文。
减少了哈希冲突的概率率,提高哈希表存储空间的利用率,从而节省存储资源,作为本申请一个实施例,创建哈希表可通过如下步骤S21至S24实现:
步骤S21:从内存划出第一表项存储空间,第一表项存储空间包括若干地址空间。
在本申请实施例中,第一表项存储空间的每个地址空间设置并维护一指示该地址空间空满程度的空满标识,例如,为每个地址空间设置一个变量作为空满标识,每当该地址空间存储一个信息后,变量即增1,因此,一个地址空间的空满标识的值越小,表示该地址空间的存储空间越富余。
步骤S22:构建至少两个哈希函数,并利用至少两个哈希函数对关键码进行哈希计算,得到每个关键码对应的至少两个哈希值。
关键码即目标报文携带的地址、端口号和协议号。在本实施例中,对于每个关键码,使用至少两个哈希函数对其进行哈希计算,计算所得至少两个哈希值,该至少两个哈希值又至少对应两个不同的地址空间。
步骤S23:比较至少两个哈希值对应的地址空间的空满程度,将待存储信息存储至第一表项存储空间中地址空间中存储空间最富余的地址空间。
如前所述,一个地址空间的空满标识的值越小,表示该地址空间的存储空间越富余,因此,比较至少两个哈希值对应的地址空间的空满程度,可以比较该至少两个哈希值对应的地址空间的空满标识的值大小,若某个地址空间的空满标识的值较小,则应该将待存储信息存储至该地址空间。
步骤S24:若至少两个哈希值对应的地址空间的均已存满,则将待存储信息存储至第二表项存储空间。
如前所述,第一表项存储空间的每个地址空间维护了一个指示该地址空间空满程度的空满标识,因此,在比较至少两个哈希值对应的地址空间的空满程度时,可以查看该至少两个地址空间的空满标识。若该至少两个地址空间均未存满,则将待存储信息存储至第一表项存储空间中地址空间中存储空间最富余的地址空间。若至少两个哈希值对应的地址空间的均已存满,则将待存储信息存储至第二表项存储空间;在本申请实施例中,可以根据需要,第二表项存储空间也可以包含若干地址空间。
显然,在将待存储信息存储至第一表项存储空间中地址空间中存储空间最富余的地址空间,可以减小哈希冲突的概率,而采取至少两种哈希函数来计算存储地址,可以节省存储资源。
相应于经上述步骤S21至步骤S24构建的哈希表,作为本申请一个实施例,根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问可以通过如下步骤S’21至步骤S’25实现:
步骤S’21:以截获报文携带的地址、端口号和协议号为关键码,采用至少两个哈希函数对关键码并行进行哈希计算得到至少两个哈希值。
所谓并行计算哈希值,是指至少两个哈希函数对关键码同时进行哈希计算得到至少两个哈希值,如此,可以提高效率。
步骤S’22:以至少两个哈希值在哈希表上进行索引。
需要说明的是,以至少两个哈希值在哈希表上进行索引亦可以是并行进行,如此,也能提高索引效率。
根据哈希表的查找原理,此处以至少两个哈希值在哈希表上进行索引,实际上是在前述实施例提及的第一表项存储空间和第二表项存储空间上索引。当在第一表项存储空间上索引不到即没有命中哈希表,则继续在第二表项存储空间上索引,若两个表项存储空间均索引不到,则表明查找失败即没有命中哈希表。
步骤S’23:若命中哈希表,则更改截获报文的时间戳的值,否则,保持截获报文的时间戳的初始值。
步骤S’24:守护进程以预设时间为周期,从时间戳的存储单元读取截获报文的时间戳。
如前所述,报文的时间戳存储在以创建哈希表时所得哈希值为地址的存储单元,因此,若命中哈希表,则可以从存储单元读取截获报文的时间戳。
步骤S’25:若截获报文的时间戳的值已更改,则确定待监测进程在预设时间内访问过截获报文,否则,确定待监测进程在预设时间内未访问过所述截获报文。
在本实施例中,步骤S’23至S’25分别与前述实施例的步骤S’12至S’14相同,可参阅前述实施例的相关描述,此处不做赘述。
步骤S104:当监测到待监测进程在预设时间内未访问过截获报文时,确定待监测进程对应的资源闲置。
步骤S104中,预设时间的定义如前所述,即按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定,相关解释可参阅前述实施例的说明,此处不做赘述。
从上述附图1示例的技术方案可知,一方面,由于是在待监测进程的报文收发方向上对任一报文进行截获,即,针对某个具体的进程来探测资源是否闲置,相比于现有技术针对整个CPU或网络的利用率来探测资源闲置,本申请的技术方案探测的对象的粒度更小,因而更有针对性或探测更为精确;另一方面,由于预设时间是按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定,相对于现有技术频繁地探测,从而将实质上并不宜回收的资源误回收,本申请的技术方案能够避免这种误操作,从而只将真正闲置的资源回收。
请参阅附图3,是本申请实施例提供的一种探测资源闲置的装置的结构示意图,该装置可以集成在终端等计算机设备中,该装置包括报文截获模块301、提取模块302、监测模块303和确定模块304,其中:
报文截获模块301,用于在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;
提取模块302,用于从截获报文中提取截获报文的属性信息,其中,截获报文的属性信息包括截获报文携带的地址、端口号和协议号;
监测模块303,用于根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问,其中,预设时间按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定;
确定模块304,用于当监测到待监测进程在预设时间内未访问过截获报文时,确定待监测进程对应的资源闲置。
在一种可能实现方式中,附图3示例装置还包括创建模块,用于在报文截获模块301在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文之前,创建哈希表,其中,哈希表以每个目标报文携带的地址、端口号和协议号为关键码构成一键-值对的键,以每个目标报文的时间戳构成键-值对的值。
在一种可能实现方式中,上述实施例的创建模块用于基于初始哈希函数对X个关键码分别进行哈希运算得到X个关键码各个关键码对应的第一哈希值,根据存在冲突的第一哈希值的关键码的数量Y和关键码的数量X,确定关键码的第一哈希值的冲突概率p,根据第一哈希值的冲突概率修改初始哈希函数,得到确定哈希函数;基于确定哈希函数分别对X个关键码进行哈希运算得到X个关键码各个关键码对应的第二哈希值,根据第二哈希值构建红黑树,并基于红黑树构建对应的哈希表,其中,X和Y为正整数。
在一种可能实现方式中,附图3示例的监测模块303用于以截获报文携带的地址、端口号和协议号为关键码,采用计算所得的哈希值在哈希表上进行索引;若命中哈希表,则更改截获报文的时间戳的值,否则,保持截获报文的时间戳的初始值;守护进程以预设时间为周期,从时间戳的存储单元读取截获报文的时间戳;若截获报文的时间戳的值已更改,则确定待监测进程在预设时间内访问过截获报文,否则,确定待监测进程在预设时间内未访问过截获报文。
在一种可能实现方式中,上述实施例的创建模块用于从内存划出第一表项存储空间,构建至少两个哈希函数,并利用至少两个哈希函数对关键码进行哈希计算,得到每个关键码对应的至少两个哈希值,比较至少两个哈希值对应的地址空间的空满程度,将待存储信息存储至地址空间中存储空间最富余的地址空间,若至少两个哈希值对应的地址空间的均已存满,则将待存储信息存储至第二表项存储空间,其中,第一表项存储空间包括若干地址空间;对应于该实现方式,附图3示例的监测模块303用于以截获报文携带的地址、端口号和协议号为关键码,采用计算所得的哈希值在哈希表上进行索引,若命中哈希表,则更改截获报文的时间戳的值,否则,保持截获报文的时间戳的初始值,守护进程以预设时间为周期,从时间戳的存储单元读取截获报文的时间戳,若截获报文的时间戳的值已更改,则确定待监测进程在预设时间内访问过截获报文,否则,确定待监测进程在预设时间内未访问过截获报文。
需要说明的是,上述实施例提供的探测资源闲置的装置在探测资源闲置时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的探测资源闲置的装置与探测资源闲置的方法实施例属于同一构思,其具体实现过程以及技术效果详见方法实施例,此处不再赘述。
本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器等设备,如图4所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,可选地,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;从截获报文中提取截获报文的属性信息,其中,截获报文的属性信息包括截获报文携带的地址、端口号和协议号;根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问,预设时间按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定;当监测到待监测进程在预设时间内未访问过截获报文时,确定待监测进程对应的资源闲置。
以上个操作的具体实施例可参见前面的实施例,在此不再赘述。
由以上可知,不同于现有技术是针对整个CPU或网络的利用率来探测资源闲置,本申请的技术方案一方面是在待监测进程的报文收发方向上对任一报文进行截获,即,针对某个具体的进程来探测资源是否闲置,因而探测的对象的粒度更小,更有针对性或探测更为精确;另一方面,由于预设时间是按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定,相对于现有技术频繁地探测,从而将实质上并不宜回收的资源误回收,本申请的技术方案能够避免这种误操作,从而只将真正闲置的资源回收。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种探测资源闲置的方法中的步骤。例如,该指令可以执行如下步骤:在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;从截获报文中提取截获报文的属性信息,其中,截获报文的属性信息包括截获报文携带的地址、端口号和协议号;根据截获报文的属性信息,监测待监测进程在预设时间内对截获报文的访问,预设时间按照监测需求设定或者按照待监测进程对应的资源在历史上闲置的最大时间间隔设定;当监测到待监测进程在预设时间内未访问过截获报文时,确定待监测进程对应的资源闲置。
以上各个操作的具体实施方式可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种探测资源闲置的方法中的步骤,因此,可以实现本申请实施例所提供的任一种探测资源闲置的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种探测资源闲置的方法、设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种探测资源闲置的方法,其特征在于,所述方法包括:
在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;
从所述截获报文中提取所述截获报文的属性信息,所述截获报文的属性信息包括所述截获报文携带的地址、端口号和协议号;
根据所述截获报文的属性信息,监测所述待监测进程在预设时间内对所述截获报文的访问,所述预设时间按照监测需求设定或者按照所述待监测进程对应的资源在历史上闲置的最大时间间隔设定;
当监测到所述待监测进程在预设时间内未访问过所述截获报文时,确定所述待监测进程对应的资源闲置。
2.如权利要求1所述探测资源闲置的方法,其特征在于,所述在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文之前,所述方法还包括:
创建哈希表,所述哈希表以每个目标报文携带的地址、端口号和协议号为关键码构成一键-值对的键,以所述每个目标报文的时间戳构成所述键-值对的值。
3.如权利要求2所述探测资源闲置的方法,其特征在于,所述创建哈希表包括:
基于初始哈希函数对X个所述关键码分别进行哈希运算得到所述X个关键码各个关键码对应的第一哈希值;
根据存在冲突的第一哈希值的关键码的数量Y和所述关键码的数量X,确定所述关键码的第一哈希值的冲突概率p,所述X和Y为正整数;
根据所述第一哈希值的冲突概率修改所述初始哈希函数,得到确定哈希函数;
基于所述确定哈希函数分别对所述X个关键码进行哈希运算得到所述X个关键码各个关键码对应的第二哈希值;
根据所述第二哈希值构建红黑树,并基于所述红黑树构建对应的哈希表。
4.如权利要求2所述探测资源闲置的方法,其特征在于,所述根据所述截获报文的属性信息,监测所述待监测进程在预设时间内对所述截获报文的访问,包括:
以所述截获报文携带的地址、端口号和协议号为关键码,采用计算所得的哈希值在所述哈希表上进行索引;
若命中所述哈希表,则更改所述截获报文的时间戳的值,否则,保持所述截获报文的时间戳的初始值;
守护进程以所述预设时间为周期,从时间戳的存储单元读取所述截获报文的时间戳;
若所述截获报文的时间戳的值已更改,则确定所述待监测进程在预设时间内访问过所述截获报文,否则,确定所述待监测进程在所述预设时间内未访问过所述截获报文。
5.如权利要求2所述探测资源闲置的方法,其特征在于,所述创建哈希表包括:
从内存划出第一表项存储空间,所述第一表项存储空间包括若干地址空间;
构建至少两个哈希函数,并利用所述至少两个哈希函数对所述关键码进行哈希计算,得到每个所述关键码对应的至少两个哈希值;
比较所述至少两个哈希值对应的地址空间的空满程度,将待存储信息存储至所述地址空间中存储空间最富余的地址空间;
若所述至少两个哈希值对应的地址空间均已存满,则将所述待存储信息存储至第二表项存储空间。
6.如权利要求5所述探测资源闲置的方法,其特征在于,所述根据所述截获报文的属性信息,监测所述待监测进程在预设时间内对所述截获报文的访问,包括:
以所述截获报文携带的地址、端口号和协议号为关键码,采用所述至少两个哈希函数对所述关键码并行进行哈希计算得到至少两个哈希值;
以所述至少两个哈希值在所述哈希表上进行索引;
若命中所述哈希表,则更改所述截获报文的时间戳的值,否则,保持所述截获报文的时间戳的初始值;
守护进程以所述预设时间为周期,从时间戳的存储单元读取所述截获报文的时间戳;
若所述截获报文的时间戳的值已更改,则确定所述待监测进程在预设时间内访问过所述截获报文,否则,确定所述待监测进程在预设时间内未访问过所述截获报文。
7.一种探测资源闲置的装置,其特征在于,所述装置包括:
报文截获模块,用于在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文;
提取模块,用于从所述截获报文中提取所述截获报文的属性信息,所述截获报文的属性信息包括所述截获报文携带的地址、端口号和协议号;
监测模块,用于根据所述截获报文的属性信息,监测所述待监测进程在预设时间内对所述截获报文的访问,所述预设时间按照监测需求设定或者按照所述待监测进程对应的资源在历史上闲置的最大时间间隔设定;
确定模块,用于当监测到所述待监测进程在预设时间内未访问过所述截获报文时,确定所述待监测进程对应的资源闲置。
8.如权利要求7所述探测资源闲置的装置,其特征在于,所述装置还包括:
哈希表创建模块,用于在所述报文截获模块在待监测进程的报文收发方向上对任一报文进行截获,得到截获报文之前,创建哈希表,所述哈希表以每个目标报文携带的地址、端口号和协议号为关键码构成一键-值对的键,以所述每个目标报文的时间戳构成所述键-值对的值。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691146.0A CN111767152A (zh) | 2020-07-17 | 2020-07-17 | 探测资源闲置的方法、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691146.0A CN111767152A (zh) | 2020-07-17 | 2020-07-17 | 探测资源闲置的方法、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767152A true CN111767152A (zh) | 2020-10-13 |
Family
ID=72728385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010691146.0A Pending CN111767152A (zh) | 2020-07-17 | 2020-07-17 | 探测资源闲置的方法、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767152A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088205A1 (en) * | 2008-10-02 | 2010-04-08 | Verizon Business Network Services Inc. | Methods, Systems and Computer Program Products for a Cloud Computing Spot Market Platform |
CN105939212A (zh) * | 2016-02-25 | 2016-09-14 | 杭州迪普科技有限公司 | 状态探测的方法及装置 |
CN107291628A (zh) * | 2017-07-04 | 2017-10-24 | 北京京东尚科信息技术有限公司 | 访问数据存储设备的方法和装置 |
WO2018099107A1 (zh) * | 2016-12-02 | 2018-06-07 | 深圳市中兴微电子技术有限公司 | 一种哈希表管理的方法和装置、计算机存储介质 |
US20190386928A1 (en) * | 2018-06-19 | 2019-12-19 | R-Stor Inc. | System and method for utilizing idle network resources |
CN110661671A (zh) * | 2018-06-28 | 2020-01-07 | 中兴通讯股份有限公司 | 业务检测方法、装置及设备、存储介质 |
-
2020
- 2020-07-17 CN CN202010691146.0A patent/CN111767152A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088205A1 (en) * | 2008-10-02 | 2010-04-08 | Verizon Business Network Services Inc. | Methods, Systems and Computer Program Products for a Cloud Computing Spot Market Platform |
CN105939212A (zh) * | 2016-02-25 | 2016-09-14 | 杭州迪普科技有限公司 | 状态探测的方法及装置 |
WO2018099107A1 (zh) * | 2016-12-02 | 2018-06-07 | 深圳市中兴微电子技术有限公司 | 一种哈希表管理的方法和装置、计算机存储介质 |
CN107291628A (zh) * | 2017-07-04 | 2017-10-24 | 北京京东尚科信息技术有限公司 | 访问数据存储设备的方法和装置 |
US20190386928A1 (en) * | 2018-06-19 | 2019-12-19 | R-Stor Inc. | System and method for utilizing idle network resources |
CN110661671A (zh) * | 2018-06-28 | 2020-01-07 | 中兴通讯股份有限公司 | 业务检测方法、装置及设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
冬天里的懒猫: "解决哈希冲突的常用方法分析", pages 1 - 2, Retrieved from the Internet <URL:《https://www.jianshu.com/p/4d3cb99d7580》> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403297B2 (en) | Selecting resource configurations for query execution | |
CN107547595B (zh) | 云资源调度系统、方法及装置 | |
US8775372B2 (en) | Retrieving historical object-related configuration data | |
CN112130965A (zh) | 部署分布式容器编排管理集群的方法、设备及存储介质 | |
CN108566290A (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
WO2020042427A1 (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
CN104951694A (zh) | 一种管理虚拟机的隔离方法及装置 | |
CN102880557A (zh) | 一种异构数据源的多级分布式高速缓存 | |
CN108073423A (zh) | 一种加速器加载方法、系统和加速器加载装置 | |
CN110784515A (zh) | 基于分布式集群的数据存储方法、及其相关设备 | |
CN109634802B (zh) | 进程监控方法及终端设备 | |
US11683316B2 (en) | Method and device for communication between microservices | |
US20190012087A1 (en) | Method, apparatus, and system for preventing loss of memory data | |
CN113687964A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
US20240205292A1 (en) | Data processing method and apparatus, computer device, and computer-readable storage medium | |
CN112800415B (zh) | 一种基于贪婪算法模型的弱口令检测方法和系统 | |
US8898314B2 (en) | Direct communication between applications in a cloud computing environment | |
US10572486B2 (en) | Data communication in a distributed data grid | |
US20190243953A1 (en) | Enhanced security for multiple node computing platform | |
CN111767152A (zh) | 探测资源闲置的方法、设备和计算机可读存储介质 | |
CN114722927A (zh) | 一种崩溃聚类方法、装置、电子设备以及存储介质 | |
CN115643163A (zh) | 故障设备定位方法、装置、设备和存储介质 | |
US20210021524A1 (en) | Load balancing system and method | |
CN111522649B (zh) | 一种分布式任务分配方法、装置和系统 | |
CN112732198A (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 |