CN103617023A - 一种系统垃圾资源的回收方法和装置 - Google Patents
一种系统垃圾资源的回收方法和装置 Download PDFInfo
- Publication number
- CN103617023A CN103617023A CN201310591213.1A CN201310591213A CN103617023A CN 103617023 A CN103617023 A CN 103617023A CN 201310591213 A CN201310591213 A CN 201310591213A CN 103617023 A CN103617023 A CN 103617023A
- Authority
- CN
- China
- Prior art keywords
- message
- rubbish
- data
- flow
- resource area
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种系统垃圾资源回收方法和装置,所述方法包括:垃圾回收进程按预定时间间隔检测系统资源区;从所述系统资源区获取系统垃圾数据;按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除。本发明可以在无需人工干预的情况下及时准确清除系统垃圾数据,避免了现有技术中因维护人员无法及时清除垃圾消息导致的系统长期处于拥塞或故障状态,造成系统处理能力下降的问题。
Description
技术领域
本发明涉及数据通信技术领域,特别涉及一种系统垃圾资源的回收方法和装置。
背景技术
在一般的应用系统运行过程中,通常会将需要处理的消息放入消息队列,并以先进先出的方式对队列中等待的消息逐一处理。但是,由于消息接收方超时、接收进程异常、系统处理能力不足等原因会导致消息在消息队列中等待的时间过长,进而影响系统中正常的消息处理,形成垃圾消息。
由于消息队列中产生的垃圾消息通常都是随机不可预测的,因此,现有技术要清除这些垃圾消息,一般会安排专人以手工方式定期查看、清理这些垃圾消息,成本很高。并且常常会由于清理不及时,导致系统中垃圾消息过多,造成系统拥塞或异常,严重的甚至导致系统瘫痪。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种系统垃圾资源的回收方法和装置。所述技术方案如下:
一方面,提供了一种系统垃圾资源的回收方法,所述方法包括:
垃圾回收进程按预定时间间隔检测系统资源区;
从所述系统资源区获取系统垃圾数据;
按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除。
可选地,所述系统资源区包括:系统消息队列,所述系统垃圾数据包括:垃圾消息;
所述从所述系统资源区获取系统垃圾数据,具体包括:
从系统消息队列中获取消息登记信息,所述消息登记信息包括消息标识、消息发送方、消息接收方、消息发送时间;
根据所述消息发送时间和系统当前时间确定所述消息在消息队列中的等待时间;
判断所述消息在消息队列中的等待时间是否超出阈值,若超出,则确定该消息为垃圾消息;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
将所述垃圾消息和对应的消息登记信息从所述系统消息队列中移除。
可选地,所述系统资源区包括:系统临界区,所述系统垃圾数据包括:死锁临界数据;
所述从所述系统资源区获取系统垃圾数据,具体包括:
从系统临界区中获取锁定状态临界数据;
判断占用所述锁定状态临界数据的进程或所述进程的占用时间在阈值时间间隔内是否发生变化,若未变化,则所述锁定状态临界数据为死锁临界数据;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
解除所述死锁临界数据的锁定状态。
可选地,所述系统资源区包括:系统流量并发控制器,所述系统垃圾数据包括:异常流量并发控制器;
所述从所述系统资源区获取系统垃圾数据,具体包括:
从系统流量并发控制器获取当前流量并发数;
判断所述当前流量并发数在预设时间内是否发生变化,若未发生变化,则所述系统流量并发控制器为异常流量并发控制器;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
重置所述异常流量并发控制器。
可选地,所述系统资源区包括:系统缓冲区;所述系统垃圾数据包括:异常缓冲区;
所述从所述系统资源区获取系统垃圾数据,具体包括:
判断系统缓冲区中的缓冲区资源所对应的消息队列和/或消息是否发生异常,若存在异常,则所述缓冲区资源为异常缓冲区;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
释放所述异常缓冲区。
可选地,所述方法还包括:
监测所述垃圾回收进程是否异常退出,若退出,则重新启动所述垃圾回收进程。
另一方面,提供了一种系统垃圾资源的回收装置,所述装置包括:
垃圾检测模块,用于按预定时间间隔检测系统资源区;
垃圾数据获取模块,用于从所述系统资源区获取系统垃圾数据;
垃圾数据清除模块,用于按照垃圾数据获取模块所获取的系统垃圾数据的类型将所述系统垃圾数据从系统资源区中清除。
可选地,
所述垃圾检测模块所检测的系统资源区包括:系统消息队列;
所述垃圾数据获取模块所获取的垃圾数据包括:垃圾消息;
所述垃圾数据获取模块,具体还用于从系统消息队列中获取消息登记信息,所述消息登记信息包括消息标识、消息发送方、消息接收方、消息发送时间;根据所述消息发送时间和系统当前时间确定所述消息在消息队列中的等待时间;判断所述消息在消息队列中的等待时间是否超出阈值,若超出,则确定该消息为垃圾消息;
所述垃圾清除模块,具体还用于将垃圾消息和对应的消息登记信息从系统消息队列中移除。
可选地,
所述垃圾检测模块所检测的系统资源区包括:系统临界区;
所述垃圾数据获取模块所获取的垃圾数据包括:死锁临界数据;
所述垃圾数据获取模块,具体还用于从系统临界区中获取锁定状态临界数据;判断占用所述锁定状态临界数据的进程或所述进程的占用时间在阈值时间间隔内是否发生变化,若未变化,则所述锁定状态临界数据为死锁临界数据;
所述垃圾清除模块,具体还用于解除所述死锁临界数据的锁定状态。
可选地,
所述垃圾检测模块所检测的系统资源区包括:系统流量并发控制器;
所述垃圾数据获取模块所获取的垃圾数据包括:异常流量并发控制器;
所述垃圾数据获取模块,具体还用于从系统流量并发控制器获取当前流量并发数;判断所述当前流量并发数在预设时间内是否发生变化,若未发生变化,则所述系统流量并发控制器为异常流量并发控制器;
所述垃圾清除模块,具体还用于重置所述异常流量并发控制器。
本发明实施例提供的技术方案带来的有益效果是:
现有技术以人工方式检查系统中产生的垃圾数据,由于人员工作时间的不可持续性,无法及时的发现故障状态,往往是故障状态已经持续了较长时间才会被发现和处理,不能及时的解除故障状态,使得系统会在故障状态下持续较长时间,产生更严重的故障,甚至需要重启系统才能从故障中恢复,而且,系统重启还会暂停、关闭系统中服务和进程,严重影响系统的正常运转。本发明实施例通过垃圾进程按照预先设定的时间间隔,从系统中扫描、检测垃圾数据,可在第一时间将垃圾数据从系统中清除,释放其所占用的系统资源,将系统从故障或者故障萌芽状态中恢复到正常状态,并且能够持续不间断的自动监控系统的运行,无需运维人员的过多干预,有效降低了运维的成本,提高了系统的可靠性和健壮性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种系统垃圾资源的回收方法流程图;
图2是本发明实施例二提供的一种系统垃圾资源回收方法流程图;
图3是本发明实施例三提供的一种系统垃圾资源回收方法流程图;
图4是本发明实施例四提供的一种系统垃圾资源回收方法示意图;
图5是本发明实施例五提供的一种系统垃圾资源回收装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1,图1示出了本发明实施例提供的一种系统垃圾资源的回收方法,该方法流程具体如下:
S101,垃圾回收进程按预定时间间隔检测系统资源区。
本发明实施例中,垃圾回收进程随系统启动或停止,并以常驻内存的方式检测回收系统垃圾资源。
进一步的,系统监测所述垃圾回收进程是否异常退出,若退出,则重新启动所述垃圾回收进程。
本发明实施例中的按预定时间间隔可由本领域技术人员在实施本发明时根据需要自行设定时间间隔,本发明对此不作限制,其既可以是周期性的时间间隔,例如每隔30秒,也可以是随机或不定期的时间间隔,例如,根据当前系统的负载情况设定时间间隔。
S102,从所述系统资源区获取系统垃圾数据。
本发明实施例能够回收的系统垃圾数据按照其所在位置、产生机制的不同包括多种不同类型,例如:系统消息队列中的垃圾消息、系统临界区的死锁临界数据、系统并发控制器中的异常流量并发控制器、黑名单并发控制器等。
根据要回收的系统垃圾数据的类型,按照其所在的系统资源区获取对应的系统垃圾数据。
S103,按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除。
将获取到的系统垃圾数据从其所在系统资源区中清除。
进一步的,本实施例所提供的方法还包括:回收所述系统垃圾数据占用的系统资源,例如:释放对应的地址空间、内存、进程、缓冲区等。
现有技术以人工方式检查系统中产生的垃圾数据,由于人员工作时间的不可持续性,无法及时的发现故障状态,往往是故障状态已经持续了较长时间才会被发现和处理,不能及时的解除故障状态,使得系统会在故障状态下持续较长时间,产生更严重的故障,甚至需要重启系统才能从故障中恢复,而且,系统重启还会暂停、关闭系统中服务和进程,严重影响系统的正常运转。本发明实施例通过垃圾进程按照预先设定的时间间隔,从系统中扫描、检测垃圾数据,可在第一时间将垃圾数据从系统中清除,释放其所占用的系统资源,将系统从故障或者故障萌芽状态中恢复到正常状态,并且能够持续不间断的自动监控系统的运行,无需运维人员的过多干预,有效降低了运维的成本,提高了系统的可靠性和健壮性。
实施例二
参见图2,本实施例以从系统消息队列中清除垃圾消息为例对本发明提供的一种系统垃圾资源的回收方法进行描述,所述方法的具体流程包括:
S201,垃圾回收进程按预定时间间隔从消息队列中获取消息登记信息,所述消息登记信息包括消息标识、消息发送方、消息接收方、消息发送时间。
消息由消息发送者发送到消息队列,并且在所述消息队列中登记该消息对应的消息登记信息。另外,也可以设置与所述消息队列对应的消息登记区存储消息登记信息。消息接收方守候在相应的接收队列中等待接收消息,一旦获取到消息后,就将该消息的消息登记信息从所述消息队列或消息登记区中清除。
其中,消息标识用于唯一区别消息所属身份,可按一定规则计算得到或直接携带在消息报文中。在具体实施时,消息标识根据应用的需求不同可以是不同的信息,例如标识一个提供服务的外部系统方的唯一识别号。
当本发明所提供的方法被应用于银行系统时,该消息标识还可以是用户卡号、账号、企业编号等;相应的,所述消息队列还包括对应的交易登记区,所述消息被称为一笔交易消息。当消息被发者发送消息队列中后,同时在交易登记区登记一笔消息登记信息或交易登记信息。
S202,根据所述消息发送时间和系统当前时间确定所述消息在消息队列中的等待时间。
S203,判断所述消息在消息队列中的等待时间是否超出阈值,若超出,则确定该消息为垃圾消息。
S204,将垃圾消息和对应的消息登记信息从所述消息队列中移除。
在消息队列中,如果一个消息没有被接收,那么该消息将会被永远保留在消息队列中。而队列中能够保存的消息数总是有限的,当消息在队列中等待的时间异常,超出了一定阈值,那么该消息就可以被确定为垃圾消息,当垃圾消息越来越多时,就会导致队列中再也不能存入新的消息,这将会导致使用队列的相关程序或进程不能正常运行,引起系统处理效率下降甚至完全堵塞。本发明实施例将确定的垃圾消息和对应的消息登记信息从消息队列或消息登记区中移除,以保证系统消息队列的正常有效使用。
当判断一个消息是否为垃圾消息时,首先从该消息的消息登记信息中获取该消息的发送时间,然后依据系统当前时间计算该消息在消息队列中的等待时间,比较该等待时间与预先设定的阈值,若超出,则确定该消息为垃圾消息。其中,阈值的设定可由本领域技术人员根据系统的性能、需求等因素自行设定,本发明对此不作具体限制。
进一步的,所述消息登记消息中还包括:消息类型;所述步骤S102具体包括:确定所述消息的消息类型,
若所述消息类型为请求消息,则判断所述消息在消息队列中的等待时间是否超出请求消息接收方对应的时间阈值;
若所述消息为响应消息,则判断所述消息在消息队列中的等待时间是否超出响应消息接收方对应的时间阈值。
系统中的消息一般可分为请求消息、响应消息。
对于请求消息而言,其对应的时间阈值即为被请求方服务设定的超时时间,若在被请求方服务的超时时间内,该消息未得到处理,即为垃圾消息;
对于服务的响应消息而言,其对应的时间阈值为请求方服务设定的超时时间,若在该时间内消息未被处理,即为垃圾消息;另外,若响应消息对应的请求方未设置超时限制,则请求方会一直在等待该响应消息,对于这类响应消息,可根据实际西药设定时间阈值,例如3秒,若消息等待时间超过3秒仍未被处理,则可将其认定为垃圾消息。
对于服务请求的垃圾消息,往往是由于服务提供方处理能力不足,导致的服务请求堆积。由于其未及时被处理,请求方必定已经超时,并可能已经做了超时/失败的处理(比如发起了冲正),若此时消息再被处理,可能引起业务上面的错误,因此及时将其清理出去,除避免垃圾消息堆积导致系统故障之外,还能避免该服务在超时后才被处理,导致错误的发生。
对于服务响应的垃圾消息,一般是由于被请求方处理时间过长或者其本身处理能力不足,而服务请求方已经超时了才完成处理并给出响应,服务请求方将不会再接受该响应而是按照接收响应超时的模式进行了处理;或者是由于服务的请求方也就是响应的接收方已经异常退出,不可能再接收响应。因此,服务响应的垃圾消息回收,除了避免系统发生堵塞之外,不会产生不良影响。
在本发明的另一扩展实施例中,垃圾回收进程扫描的系统资源区还包括:系统缓冲区;所述系统垃圾数据包括:异常缓冲区;本发明提供的系统垃圾资源回收方法包括:
S301,垃圾回收进程按预定时间间隔检测系统缓冲区。
S302,判断系统缓冲区中的缓冲区所对应的消息队列和/或消息是否发生异常,若发生异常,则所述缓冲区资源为异常缓冲区。
例如,若消息队列/消息被删除造成异常,则其对应的缓冲区即为异常缓冲区。
S303,清除所述异常缓冲区中的数据。
S304,释放所述异常缓冲区。
与现有技术相比,本实施例提供的系统垃圾资源回收方法按预定时间间隔从消息队列中获取消息登记信息并依据所述消息登记信息判断消息队列中的消息是否为垃圾消息,若确定为垃圾消息,则删除所述消息和对应的消息登记信息。本实施例提供的方法可以及时准确清除垃圾消息并回收所述垃圾消息占用的资源,无需维护人员的过多干预,避免了现有技术中维护人员手工清除垃圾消息,因为无法及时删除垃圾消息导致的系统长时间处于故障状态、处理能力下降的问题,在提高系统运行可靠性和健壮性的同时,大大降低了系统维护的成本。
实施例三
参见图3,本实施例以从系统临界区中解锁死锁临界数据为例对本发明提供的一种系统垃圾资源的回收方法进行描述,所述方法的具体流程包括:
S401,垃圾回收进程按预定时间间隔从系统临界区中获取锁定状态临界数据。
本发明实施例中,将存储在系统临界区的以共享方式供系统进程访问的数据称为临界数据。为了避免多个进程访问同一临界数据产生冲突,要求只有未加锁的临界数据才能被进程访问:当进程需要访问某个临界数据时,首先需要对该临界数据枷锁,待访问结束后,将该临界数据解锁。
进一步地,本发明实施中,进程通过设置临界数据对应的IPC(Inter-ProcessCommunication,进程间通信)信号量来对临界数据做同步锁,即该临界数据同时只能被一个进程实例持有。
IPC信号量用于多进程对同一共享数据对象(如共享内存)的访问时标识系统中可用资源的个数,它本质上是一个整数类型的计数器。IPC信号量可以规定每个信号量的最大值,即同时最多有多少个实例可以持有该信号量,其他需要持有该信号量的进程实例,将会被阻塞。而一般信号量被用做同步锁时,往往设置该信号量只能被一个进程实例持有,其他申请使用者将会被阻塞直到持有者释放该信号量。当持有该信号量的进程实例因为程序逻辑错误或者进程实例异常退出等原因未能及时释放该“锁”时,其他申请使用者将会被堵塞。如果申请者在申请锁资源前未使用某种超时机制,那么申请者将会被一直阻塞,极大的降低系统的处理能力。
S402,判断占用锁定状态临界数据的进程或所述进程的占用时间在阈值时间间隔内是否发生变化,若未变化,则所述锁定状态临界数据为死锁临界数据。
如果一个锁定状态的临界数据被同一个进程持有的时间超过一定时间,例如3秒,则认为该临界数据发生了死锁;或者一个锁定状态的临界数据被同一个进程持有,在预定时间内该临界数据的锁状态(信号量)未发生变化,也可以认为该临界数据发生了死锁。造成临界数据死锁的原因是进程异常退出,导致没有来得及对持有的临界数据进行解锁。
S403,解除死锁临界数据的锁定状态,释放占用的系统资源。
解除死锁临界数据的锁定状态,例如,重置死锁临界数据对应的信号量或其他锁标识。
本实施例提供的方法按预定时间间隔获取系统中为锁定状态的邻居诶诶数据,并判断该临界数据是否发生死锁,则释放该临界数据的锁定状态。由于系统可按照预定时间间隔自行对系统中死锁的临界数据进行解锁,及时释放/回收该死锁临界数据占用的资源,因此,避免了现有技术中因维护人员进行手工故障清理时,由于不能及时处理,导致系统长时间处于故障状态、性能下降的问题。
实施例四
参见图4,本实施例以重置异常流量并发控制器为例对本发明提供的一种系统垃圾资源的回收方法进行描述,所述方法的具体流程包括:,
S501,垃圾进程按预定时间间隔从系统流量并发控制器获取当前流量并发数。
对系统而言,通常需要对系统当前接入的最大并发数进行控制,以保证系统性能和处理接入请求的响应速度。具体的,通过设置系统流量并发控制器来记录系统当前的流量并发数。
当系统接收到来自外部的新业务请求后,首先从系统流量并发控制器中获取当前流量并发数,如果当前流量并发数小于限制值,则系统接受所述业务请求并且将流量并发控制器中的并发数加一;如果当前流量并发数已经超出限制值,则系统拒绝所述外部请求。
S502,判断所述当前流量并发数在预设时间内是否发生改变,若未改变,则系统流量并发控制器为异常流量并发控制器。
对于流量并发数而言,在请求方请求被请求方时,对被请求方的并发数加一,被请求方完成服务请求并给请求方响应时,并发数减一。
正常情况下,流量并发控制器中记录的流量并发数在系统内最大的服务超时时间内至少应该会变化一次(加或者减),如果持续很长时间未发生变化并且其并发数大于0,则说明应当对并发数进行减一操作的进程可能出现了异常,而这导致了流量控制异常,使得系统会拒绝一些服务的请求。
S503,重置异常流量并发控制器。
将异常流量并发控制器清零或设置为初始值。
本实施例提供的方法按预定时间间隔获取系统流量并发控制器的当前并发数,并判断所述并发数在预设时间内是否发生改变,若未改变,则重置所述系统流量并发控制器。本实施例提供的方法可以及时准确重置发生故障的并发控制器并释放对应的存储资源,避免了因并发流量控制器故障导致系统最大并发接入能力降低问题。
实施例五
本实施例提供了一种系统垃圾资源回收装置,参见图5,本实施例提供的装置具体包括:
垃圾检测模块601,用于按预定时间间隔检测系统资源区;
垃圾数据获取模块602,用于从所述系统资源区获取系统垃圾数据;
垃圾数据清除模块603,用于按照垃圾数据获取模块所获取的系统垃圾数据的类型将所述系统垃圾数据从系统资源区中清除。
可选地,
所述垃圾检测模块所检测的系统资源区包括:系统消息队列;
所述垃圾数据获取模块所获取的垃圾数据包括:垃圾消息;
所述垃圾数据获取模块,具体还用于从系统消息队列中获取消息登记信息,所述消息登记信息包括消息标识、消息发送方、消息接收方、消息发送时间;根据所述消息发送时间和系统当前时间确定所述消息在消息队列中的等待时间;判断所述消息在消息队列中的等待时间是否超出阈值,若超出,则确定该消息为垃圾消息;
所述垃圾清除模块,具体还用于将垃圾消息和对应的消息登记信息从系统消息队列中移除。
可选地,
所述垃圾检测模块所检测的系统资源区包括:系统临界区;
所述垃圾数据获取模块所获取的垃圾数据包括:死锁临界数据;
所述垃圾数据获取模块,具体还用于从系统临界区中获取锁定状态临界数据;判断占用所述锁定状态临界数据的进程或所述进程的占用时间在阈值时间间隔内是否发生变化,若未变化,则所述锁定状态临界数据为死锁临界数据;
所述垃圾清除模块,具体还用于解除所述死锁临界数据的锁定状态。
可选地,
所述垃圾检测模块所检测的系统资源区包括:系统流量并发控制器;
所述垃圾数据获取模块所获取的垃圾数据包括:异常流量并发控制器;
所述垃圾数据获取模块,具体还用于从系统流量并发控制器获取当前流量并发数;判断所述当前流量并发数在预设时间内是否发生变化,若未发生变化,则所述系统流量并发控制器为异常流量并发控制器;
所述垃圾清除模块,具体还用于重置所述异常流量并发控制器。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的点击操作实现装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种系统垃圾资源的回收方法,其特征在于,所述方法包括:
垃圾回收进程按预定时间间隔检测系统资源区;
从所述系统资源区获取系统垃圾数据;
按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除。
2.如权利要求1所述的方法,其特征在于,所述系统资源区包括:系统消息队列,所述系统垃圾数据包括:垃圾消息;
所述从所述系统资源区获取系统垃圾数据,具体包括:
从系统消息队列中获取消息登记信息,所述消息登记信息包括消息标识、消息发送方、消息接收方、消息发送时间;
根据所述消息发送时间和系统当前时间确定所述消息在消息队列中的等待时间;
判断所述消息在消息队列中的等待时间是否超出阈值,若超出,则确定该消息为垃圾消息;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
将所述垃圾消息和对应的消息登记信息从所述系统消息队列中移除。
3.如权利要求1所述的方法,其特征在于,所述系统资源区包括:系统临界区,所述系统垃圾数据包括:死锁临界数据;
所述从所述系统资源区获取系统垃圾数据,具体包括:
从系统临界区中获取锁定状态临界数据;
判断占用所述锁定状态临界数据的进程或所述进程的占用时间在阈值时间间隔内是否发生变化,若未变化,则所述锁定状态临界数据为死锁临界数据;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
解除所述死锁临界数据的锁定状态。
4.如权利要求1所述的方法,其特征在于,所述系统资源区包括:系统流量并发控制器,所述系统垃圾数据包括:异常流量并发控制器;
所述从所述系统资源区获取系统垃圾数据,具体包括:
从系统流量并发控制器获取当前流量并发数;
判断所述当前流量并发数在预设时间内是否发生变化,若未发生变化,则所述系统流量并发控制器为异常流量并发控制器;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
重置所述异常流量并发控制器。
5.如权利要求1所述的方法,其特征在于,所述系统资源区包括:系统缓冲区;所述系统垃圾数据包括:异常缓冲区;
所述从所述系统资源区获取系统垃圾数据,具体包括:
判断系统缓冲区中的缓冲区资源所对应的消息队列和/或消息是否发生异常,若存在异常,则所述缓冲区资源为异常缓冲区;
所述按照所述系统垃圾数据的类型将所述系统垃圾数据从所述系统资源区中清除,具体包括:
释放所述异常缓冲区。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
监测所述垃圾回收进程是否异常退出,若退出,则重新启动所述垃圾回收进程。
7.一种系统垃圾资源的回收装置,其特征在于,所述装置包括:
垃圾检测模块,用于按预定时间间隔检测系统资源区;
垃圾数据获取模块,用于从所述系统资源区获取系统垃圾数据;
垃圾数据清除模块,用于按照垃圾数据获取模块所获取的系统垃圾数据的类型将所述系统垃圾数据从系统资源区中清除。
8.如权利要求7所述的装置,其特征在于,
所述垃圾检测模块所检测的系统资源区包括:系统消息队列;
所述垃圾数据获取模块所获取的垃圾数据包括:垃圾消息;
所述垃圾数据获取模块,具体还用于从系统消息队列中获取消息登记信息,所述消息登记信息包括消息标识、消息发送方、消息接收方、消息发送时间;根据所述消息发送时间和系统当前时间确定所述消息在消息队列中的等待时间;判断所述消息在消息队列中的等待时间是否超出阈值,若超出,则确定该消息为垃圾消息;
所述垃圾清除模块,具体还用于将垃圾消息和对应的消息登记信息从系统消息队列中移除。
9.如权利要求7所述的装置,其特征在于,
所述垃圾检测模块所检测的系统资源区包括:系统临界区;
所述垃圾数据获取模块所获取的垃圾数据包括:死锁临界数据;
所述垃圾数据获取模块,具体还用于从系统临界区中获取锁定状态临界数据;判断占用所述锁定状态临界数据的进程或所述进程的占用时间在阈值时间间隔内是否发生变化,若未变化,则所述锁定状态临界数据为死锁临界数据;
所述垃圾清除模块,具体还用于解除所述死锁临界数据的锁定状态。
10.如权利要求7所述的装置,其特征在于,
所述垃圾检测模块所检测的系统资源区包括:系统流量并发控制器;
所述垃圾数据获取模块所获取的垃圾数据包括:异常流量并发控制器;
所述垃圾数据获取模块,具体还用于从系统流量并发控制器获取当前流量并发数;判断所述当前流量并发数在预设时间内是否发生变化,若未发生变化,则所述系统流量并发控制器为异常流量并发控制器;
所述垃圾清除模块,具体还用于重置所述异常流量并发控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310591213.1A CN103617023B (zh) | 2013-11-20 | 2013-11-20 | 一种系统垃圾资源的回收方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310591213.1A CN103617023B (zh) | 2013-11-20 | 2013-11-20 | 一种系统垃圾资源的回收方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103617023A true CN103617023A (zh) | 2014-03-05 |
CN103617023B CN103617023B (zh) | 2016-02-17 |
Family
ID=50167726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310591213.1A Active CN103617023B (zh) | 2013-11-20 | 2013-11-20 | 一种系统垃圾资源的回收方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617023B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391850A (zh) * | 2014-07-31 | 2015-03-04 | 珠海市君天电子科技有限公司 | 一种磁盘垃圾文件的清理方法、清理装置及终端设备 |
CN106055407A (zh) * | 2016-05-25 | 2016-10-26 | 努比亚技术有限公司 | 进程资源调整装置及方法 |
WO2017157199A1 (zh) * | 2016-03-17 | 2017-09-21 | 阿里巴巴集团控股有限公司 | 垃圾回收方法及装置 |
CN111045779A (zh) * | 2019-11-01 | 2020-04-21 | 福建天泉教育科技有限公司 | 系统内存回收配置方法、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7209954B1 (en) * | 2001-07-26 | 2007-04-24 | Mcafee, Inc. | System and method for intelligent SPAM detection using statistical analysis |
CN101082870A (zh) * | 2007-07-20 | 2007-12-05 | 中兴通讯股份有限公司 | 一种限制shell脚本并行执行的方法 |
CN101320389A (zh) * | 2008-06-30 | 2008-12-10 | 中兴通讯股份有限公司 | 文件管理方法和装置 |
CN101589379A (zh) * | 2006-11-06 | 2009-11-25 | 戴尔营销美国公司 | 用于管理跨越多个环境的数据的系统和方法 |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
US20100088380A1 (en) * | 2003-05-02 | 2010-04-08 | Microsoft Corporation | Message rendering for identification of content features |
-
2013
- 2013-11-20 CN CN201310591213.1A patent/CN103617023B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7209954B1 (en) * | 2001-07-26 | 2007-04-24 | Mcafee, Inc. | System and method for intelligent SPAM detection using statistical analysis |
US20100088380A1 (en) * | 2003-05-02 | 2010-04-08 | Microsoft Corporation | Message rendering for identification of content features |
CN101589379A (zh) * | 2006-11-06 | 2009-11-25 | 戴尔营销美国公司 | 用于管理跨越多个环境的数据的系统和方法 |
CN101082870A (zh) * | 2007-07-20 | 2007-12-05 | 中兴通讯股份有限公司 | 一种限制shell脚本并行执行的方法 |
CN101320389A (zh) * | 2008-06-30 | 2008-12-10 | 中兴通讯股份有限公司 | 文件管理方法和装置 |
CN101650646A (zh) * | 2009-09-22 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种共享数据一致性的实现方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391850A (zh) * | 2014-07-31 | 2015-03-04 | 珠海市君天电子科技有限公司 | 一种磁盘垃圾文件的清理方法、清理装置及终端设备 |
WO2017157199A1 (zh) * | 2016-03-17 | 2017-09-21 | 阿里巴巴集团控股有限公司 | 垃圾回收方法及装置 |
US11119911B2 (en) | 2016-03-17 | 2021-09-14 | Alibaba Group Holding Limited | Garbage collection method and device |
CN106055407A (zh) * | 2016-05-25 | 2016-10-26 | 努比亚技术有限公司 | 进程资源调整装置及方法 |
CN106055407B (zh) * | 2016-05-25 | 2020-02-07 | 努比亚技术有限公司 | 进程资源调整装置及方法 |
CN111045779A (zh) * | 2019-11-01 | 2020-04-21 | 福建天泉教育科技有限公司 | 系统内存回收配置方法、存储介质 |
CN111045779B (zh) * | 2019-11-01 | 2024-03-01 | 福建天泉教育科技有限公司 | 系统内存回收配置方法、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103617023B (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1213376C (zh) | 用于被复制的服务器的协议 | |
CN100471128C (zh) | 一种实现设备状态轮询的方法及装置 | |
KR100941041B1 (ko) | 아웃 오브 메모리 및 무리없는 셧다운의 검출 | |
EP0444376A1 (en) | Mechanism for passing messages between several processors coupled through a shared intelligent memory | |
CN105357042B (zh) | 一种高可用集群系统及其主节点和从节点 | |
CN103617023B (zh) | 一种系统垃圾资源的回收方法和装置 | |
CN102955851A (zh) | 一种数据库的切换方法和装置 | |
CN102983990A (zh) | 虚拟机的管理方法和装置 | |
CN110830283A (zh) | 故障检测方法、装置、设备和系统 | |
CN102968457B (zh) | 数据库间切换方法和系统 | |
CN102185770A (zh) | 基于多核架构的批量式报文收发方法 | |
CN1754153A (zh) | 对在os运行时期间发生的系统错误的基于策略的响应 | |
CN101971144A (zh) | 受系统资源影响的阶段式停机 | |
CN107357664B (zh) | 一种分布式锁的实现方法和装置 | |
CN103853713A (zh) | 海量数据高效入库方法 | |
CN116127494A (zh) | 用户并发访问的控制方法及相关装置 | |
CN101202671A (zh) | 端口配置方法及装置 | |
CN113542001B (zh) | Osd故障心跳检测方法、装置、设备及存储介质 | |
JP7135648B2 (ja) | 中継システム | |
CN103853719A (zh) | 易扩展海量数据采集系统 | |
US8006122B2 (en) | Methods, systems, and computer products for detection of and policy directed resolution of signaling sympathy sickness in a multisystem cluster | |
JP2010102612A (ja) | デバイス状態通知装置 | |
US9959173B2 (en) | Node, arithmetic processing device, and arithmetic processing method | |
CN111464357A (zh) | 资源配置方法及装置 | |
CN117544584B (zh) | 基于双cpu架构的控制方法、装置、交换机及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |