一种吊死资源的释放方法

文档序号:7963462阅读:202来源:国知局
专利名称:一种吊死资源的释放方法
技术领域
本发明涉及一种通信系统中资源释放方法,特别地涉及一种吊死资源的释放方法。
背景技术
在通信系统中,系统资源通常有三种类型暂态资源、半永久资源和永久资源,其中暂态资源是指通信系统中临时性使用的资源。例如,通信系统中的消息转递模块在收到某个进程来的消息时,分配暂态资源保存信息、进行相应处理,处理完后,马上释放该资源以便该资源被重复利用。该资源的最大占用时长可以根据使用的协议由系统预先确定,也可以通过分析的方法由系统预先确定,还可以根据系统中软硬件的配置由系统预先设定。
半永久资源是指由通信系统根据外部输入触发而分配和释放的资源。该资源的最大占用时长是不能由系统设计分析得到的,必须由外部输入来决定是否释放。例如通信系统中控制呼叫的一些资源,当接收用户进行呼叫时分配,用户挂机时释放。
永久资源是指在系统启动过程中分配、在系统运行中一直占用且不需要释放的资源。
在实时通信系统中,暂态资源的使用是很普遍的。例如操作系统中各个进程间通信使用的消息包资源、呼叫运行过程中为了记录呼叫相关信息系统所分配的控制表等。但是通信系统中资源是有限的,这就要求有限的资源能够得到合理的利用,因而对于普遍使用的暂态资源,在其不被使用时应及时释放,以便被其它的进程所利用。
在实时通信系统中,暂态资源的申请与释放类似于普通程序设计中的动态内存的申请与释放,主要是依靠程序设计人员的程序设计来保证的,由于程序设计的复杂性,很难保证在各种复杂的运行状况中,程序都能正确完成资源释放的工作,而如果已申请的暂态资源没有被正常释放,系统会认为该资源处于正在被使用的状态,从而形成资源吊死。若所有可分配的资源都被吊死,系统将无法按照进程需要分配可用暂态资源,这会造成系统功能不可用的严重后果。
在下一代网络(Next Generation Network,NGN)中,由于系统的忙时呼叫量(Busy Hour Call Atternpt,BHCA)很高,一个小概率触发的资源吊死错误,都有可能最终造成系统无足够暂态资源进行分配、资源耗尽、功能失效、网络通信中断以及系统崩溃等严重后果。这种状况下,通常也只能通过重启通信系统来重新获得暂态资源,这样会引起通信中断、数据丢失等一系列问题。这些问题对于电信服务提供商和通信系统提供商而言,都是不可接受的。

发明内容
本发明即是针对上述现有技术中存在的缺点而提出的一种吊死资源的释放方法,该方法使得资源吊死后能够有效释放,防止因资源吊死而引起的通信系统资源耗尽、功能失效、网络通信中断以及系统崩溃等问题的发生。
本发明是通过下述技术方案来实现的一种吊死资源的释放方法,包括下述步骤系统设定各个暂态资源的最大占用时长;系统接收到触发信息时,计算各个已分配暂态资源的实际占用时长;当存在实际占用时长大于该暂态资源设定最大占用时长的暂态资源时,判定该暂态资源为吊死资源并进行释放。
进一步地,所述的各个暂态资源的最大占用时长是系统根据其所使用的协议来设定的。
进一步地,所述的各个暂态资源的最大占用时长是系统通过对其中各进程的运行情况进行分析后,根据各个进程使用暂态资源的状况来设定的。
进一步地,所述的各个暂态资源的最大占用时长是系统根据软硬件的配置来设定的。
进一步地,所述的触发信息是系统进行资源新分配时不成功的信息。
进一步地,所述的触发信息是系统中设定一循检周期,新一次循检开始时刻的信息。
进一步地,所述的触发信息是系统中设定的定时器定时时间到的信息。
更进一步地,所述的定时器由系统设定为一个,所述的定时器第一次启动工作时刻是在系统启动的时刻,且当前定时器定时时间到的信息自动触发下一次定时器开始工作。
更进一步地,所述的定时器由系统设定为一个,所述的定时器第一次启动工作时刻是在系统第一次进行资源分配的时刻,且当前定时器定时时间到的信息自动触发下一次定时器开始工作。
更进一步地,所述的定时器由系统设定,每一个暂态资源都设定一对应的定时器,所述的定时器启动工作时刻是在系统分配该定时器所对应暂态资源的时刻,且当该暂态资源实际占用时长小于该暂态资源设定最大占用时长时,当前定时器定时时间到的信息自动触发下一次定时器开始工作,所述的定时器在对应的被分配暂态资源进行释放时停止工作。
再进一步地,所述的定时器的定时时间设置为对应暂态资源的最大占用时长。
进一步地,所述的已分配暂态资源的实际占用时长是这样得到的(b1)系统分配暂态资源时,获取并记录该暂态资源所对应的占用起始系统时间;(b2)系统收到触发信息,获取此时的系统实时时间;(b3)计算系统实时时间与步骤(b1)中所记录的已分配暂态资源所对应的占用起始系统时间之间的时间差得到已分配暂态资源的实际占用时长。
与现有技术相比,本发明具有如下显著优点(1)充分利用了系统中暂态资源最大占用时长是可以预知的特性,对系统资源吊死的情况进行处理、自我恢复和纠正;(2)能够防止因资源吊死而引起的通信系统资源耗尽、功能失效、网络通信中断以及系统崩溃等问题的发生;(3)提高了系统的稳定性和健壮性。


图1为本发明具体实施例一中吊死资源释放的流程图;图2为本发明具体实施例二中吊死资源释放的流程图;
图3为本发明具体实施例三中吊死资源释放的流程图;图4为本发明具体实施例四中吊死资源释放的流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步的介绍,但不作为对本发明的限定。
首先说明一点下述实施例中暂态资源的实际占用时长是指暂态资源在一次分配使用过程中的实际占用时长,暂态资源的最大占用时长指的是暂态资源在一次分配使用中所能占用的最大时长。
实施例一如图1所示,本发明实施例一的吊死资源的释放方法包括以下步骤步骤101,根据系统设计要求,对该系统中各进程的运行情况进行分析后,设定系统中唯一暂态资源的最大占用时长为T1;步骤102,系统根据进程需要分配暂态资源,获取和保存分配该暂态资源时所对应的占用起始系统时间Ta1;步骤103,系统运行过程中,当一个新进程需要分配暂态资源,而系统中不存在空闲的暂态资源时,此次分配暂态资源不成功,系统立即获取当前系统时间Tc;步骤104,计算当前系统时间Tc与占用起始系统时间Ta1的时间差,得到该暂态资源的实际占用时长,判断该暂态资源的实际占用时长是否超过了其设定的最大占用时长T1,如果是,执行步骤105,否则,对被占用的暂态资源不作处理,使其继续被使用;步骤105,判定该暂态资源为吊死资源,释放该吊死资源,并清除保存的占用起始系统时间Ta1。
本实施例一中,利用系统分配资源不成功为触发条件检查系统是否存在吊死资源,并释放吊死资源,这种吊死资源的释放方法能够在系统无足够资源进行新分配、且又存在吊死资源时,及时释放吊死资源。该方法不仅实时性较好、可靠性也较高。
实施例二如图2所示,本发明实施例二的吊死资源释放的方法包括以下步骤
步骤201,系统根据其软件和硬件的配置状态,设定系统中存在的各个暂态资源的最大占用时长为T1、T2、……,并在系统中设定一资源吊死循检周期;步骤202,系统根据进程需要分配各个暂态资源,并获取和保存各个暂态资源进行分配时所对应的占用起始系统时间Ta1、Ta2、……;步骤203,系统运行过程中,按照其吊死资源循检周期的设定,在新一轮循检开始时,系统获取当前系统时间Tc;步骤204,分别计算还在使用的各个暂态资源所对应的实际的占用时长,也即当前系统时间Tc与占用起始系统时间Ta1、当前系统时间Tc与占用起始系统时间Ta2、……的时间差,分别判断这些暂态资源的实际占用时长是否超过了其已经设定的最大占用时长T1、T2、……,如果是,执行步骤205,否则,对被占用的暂态资源不作处理,使其继续被使用;步骤205,判定实际占用时长超过设定最大占用时长所对应的暂态资源为吊死资源,释放该吊死资源,并清除保存的该吊死资源所对应的占用起始系统时间。
在实施例二中,系统中设定吊死资源的循检周期,以循检的起始时刻为触发条件检查系统是否存在吊死资源,并释放吊死资源。这种方式也是在系统启动时加载循检周期,不会因为程序运行的异常而造成吊死资源的释放失效,能够保证系统在运行过程中吊死资源的及时释放。
实施例三如图3所示,本发明实施例三的吊死资源释放的方法包括以下步骤步骤301,根据系统所使用的协议要求,设定系统中存在的各个暂态资源的最大占用时长为T1、T2、……,并在系统中设定一循环使用的定时器,此处循环使用的定时器指的是定时器定时时间到的信息自动触发定时器的下一次工作开始;步骤302,系统启动时,同时启动定时器;系统根据进程需要分配各个暂态资源,获取和保存分配各个暂态资源时所对应的占用起始系统时间Ta1、Ta2、……;步骤303,系统运行过程中,定时器定时时间到,系统立即获取当前系统时间Tc;步骤304,分别计算还在使用的各个暂态资源所对应的实际的占用时长,也即当前系统时间Tc与占用起始系统时间Ta1、当前系统时间Tc与占用起始系统时间Ta2、……的时间差,分别判断这些暂态资源的实际占用时长是否超过了其已经设定的最大占用时长T1、T2、……,如果是,执行步骤305,否则,对被占用的暂态资源不作处理,使其继续被使用;步骤305,判定实际占用时长超过设定最大占用时长所对应的暂态资源为吊死资源,释放该吊死资源,并清除保存的该吊死资源所对应的占用起始系统时间。
在实施例三中,系统中设定一定时器,系统启动时启动定时器,利用定时器时间到为触发条件检查系统是否存在吊死资源,并释放吊死资源。这种吊死资源的释放方法能够及时检测出系统中存在吊死资源,并且释放吊死资源。该方法可靠性较高。
实施例四如图4所示,本发明实施例四的吊死资源的释放方法包括以下步骤步骤401,根据系统设计要求,对该系统中各进程的运行情况进行分析后,设定系统中唯一暂态资源的最大占用时长为T1,并在系统中设定一循环使用的定时器,此处循环使用的定时器指的是在暂态资源实际占用时长小于该暂态资源设定最大占用时长时,定时器定时时间到的信息自动触发定时器的下一次工作开始;步骤402,系统根据进程需要分配暂态资源,分配暂态资源时,启动定时器,并获取和保存分配该暂态资源时所对应的占用起始系统时间Ta1;步骤403,系统运行过程中,当定时器定时时间到,系统立即获取当前系统时间Tc;步骤404,计算当前系统时间Tc与占用起始系统时间Ta1的时间差,得到该暂态资源的实际占用时长,判断该暂态资源的实际占用时长是否超过了其设定的最大占用时长T1,如果是,执行步骤405,否则,对被占用的暂态资源不作处理,使其继续被使用;步骤405,判定该暂态资源为吊死资源,释放该吊死资源,并清除保存的占用起始系统时间Ta1。
在上述实施例中,系统中设定有一定时器,系统进行资源分配的同时启动定时器,利用定时器时间到为触发条件检查系统是否存在吊死资源,并释放吊死资源,这种吊死资源的释放方法能够及时检测出系统中存在吊死资源,并且释放吊死资源。该方法可靠性较高。
说明一点如果系统中存在多个暂态资源,系统可以对每个暂态资源都设定一对应的定时器,当某一个暂态资源被分配时,其对应的定时器启动,利用该定时器时间到为触发条件检查该定时器所对应的暂态资源是否为吊死资源,并释放吊死资源,当某一个暂态资源被释放的时候,其对应的定时器停止工作。
在本实施例中,还存在一种特殊的形式,如果将定时器的定时时间设置为对应的暂态资源的最长占用时长,则定时器定时时间到,对应暂态资源的实际占用时长就是定时器的定时时间,也即在定时器定时时间到的时刻,其对应的暂态资源当前系统时间与占用起始系统时间的时间差就是定时器的定时时间。如果定时器定时时间到,对应的暂态资源还被占用,说明该暂态资源的实际占用时长大于该暂态资源设定最大占用时长,该暂态资源是吊死资源,直接进行释放。
在另一实施例中,系统中可以仅设置一循环使用的定时器,该定时器定时时间到的信息自动触发定时器的下一次工作开始。在进行第一个暂态资源分配时启动定时器,利用定时器定时时间到为触发条件检查系统中是否存在吊死资源,如果存在,则释放该吊死资源。当系统中所有暂态资源都没有被分配时,定时器停止工作。
需要说明的是在上述所有实施例中,如果系统运行正常,在进程启动申请暂态资源时,获取和保存该暂态资源进行分配时所对应的占用起始系统时间;当进程结束时立即释放该进程所占用的暂态资源,并清除保存的该暂态资源占用起始系统时间。
与现有技术相比,本发明具有如下显著优点(1)充分利用了系统中暂态资源最大占用时长是可以预知的特性,对系统资源吊死的情况进行处理、自我恢复和纠正;
(2)能够防止因资源吊死而引起的通信系统资源耗尽、功能失效、网络通信中断以及系统崩溃等问题的发生;(3)提高了系统的稳定性和健壮性。
还需要说明的是,上述实施例中所提出的暂态资源的释放方法不仅仅限于实时通信系统,可以适用于一切通信系统中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种吊死资源的释放方法,其特征在于,该方法包括下述步骤系统设定各个暂态资源的最大占用时长;系统接收到触发信息时,计算各个已分配暂态资源的实际占用时长;当存在实际占用时长大于该暂态资源设定最大占用时长的暂态资源时,判定该暂态资源为吊死资源并进行释放。
2.如权利要求1所述的方法,其特征在于,所述的各个暂态资源的最大占用时长是系统根据其所使用的协议来设定的。
3.如权利要求1所述的方法,其特征在于,所述的各个暂态资源的最大占用时长是系统通过对其中各进程的运行情况进行分析后,根据各个进程使用暂态资源的状况来设定的。
4.如权利要求1所述的方法,其特征在于,所述的各个暂态资源的最大占用时长是系统根据软硬件的配置来设定的。
5.如权利要求1所述的方法,其特征在于,所述的触发信息是系统进行资源新分配时不成功的信息。
6.如权利要求1所述的方法,其特征在于,所述的触发信息是系统中设定一循检周期,新一次循检开始时刻的信息。
7.如权利要求1所述的方法,其特征在于,所述的触发信息是系统中设定的定时器定时时间到的信息。
8.如权利要求7所述的方法,其特征在于,所述的定时器由系统设定为一个,所述的定时器第一次启动工作时刻是在系统启动的时刻,且当前定时器定时时间到的信息自动触发下一次定时器开始工作。
9.如权利要求7所述的方法,其特征在于,所述的定时器由系统设定为一个,所述的定时器第一次启动工作时刻是在系统第一次进行资源分配的时刻,且当前定时器定时时间到的信息自动触发下一次定时器开始工作。
10.如权利要求7所述的方法,其特征在于,所述的定时器由系统设定,每一个暂态资源都设定对应的定时器,所述的定时器启动工作时刻是在系统分配该定时器所对应暂态资源的时刻,且当该暂态资源实际占用时长小于该暂态资源设定最大占用时长时,当前定时器定时时间到的信息自动触发下一次定时器开始工作,所述的定时器在对应的被分配暂态资源进行释放时停止工作。
11.如权利要求10所述的方法,其特征在于,所述的定时器的定时时间设置为对应暂态资源的最大占用时长。
12.如权利要求1所述的方法,其特征在于,所述的已分配暂态资源的实际占用时长是这样得到的(b1)系统分配暂态资源时,获取并记录该暂态资源所对应的占用起始系统时间;(b2)系统收到触发信息,获取此时的系统实时时间;(b3)计算系统实时时间与步骤(b1)中所记录的已分配暂态资源所对应的占用起始系统时间之间的时间差得到已分配暂态资源的实际占用时长。
全文摘要
本发明公开了一种吊死资源释放的方法,包括下述步骤系统设定各个暂态资源的最大占用时长;系统接收到触发信息时,计算各个已分配暂态资源的实际占用时长;当存在实际占用时长大于该暂态资源设定最大占用时长的暂态资源时,判定该暂态资源为吊死资源并进行释放。与现有技术相比,本发明充分利用了系统中暂态资源最大占用时长是可以预知的特性,对系统暂态资源吊死的情况进行了处理和自我恢复;能够防止因暂态资源吊死而引起的通信系统功能失效、网络通信中断等问题的发生;提高了系统的稳定性和健壮性。
文档编号H04W72/00GK101090511SQ200610092219
公开日2007年12月19日 申请日期2006年6月14日 优先权日2006年6月14日
发明者谢汝林 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1