一种对移动通信设备中内存数据库定时监控的方法。设监控周期为T,时间间隔t,把监控周期分成N=T/t等份,共构造N+1个链表;设置定点指针指向Q[N],到点指针指向Q[0];设置时长为t的定时器作为扫描定时器;当新增需要监控的内存数据库记录时,将记录插入到定点指针当前所指的链表中;当扫描定时器定时时间到,定点指针和到点指针的值都加1并模N,然后扫描到点指针所指的链表,其中的每条记录都是超时的记录,对其进行超时处理。由于采用了时间间隔的技术措施,扫描分时段实现,提高了扫描效率;减少了扫描频度,有效地减少了定时器数目,节约系统资源。
【技术实现步骤摘要】
本专利技术涉及一种实时内存数据库定时监控的实现方法,属于移动通信领域,尤其涉及移动通信设备中嵌入式实时操作系统平台上的内存关系型数据库系统的定时监控。
技术介绍
在不少移动通信设备中,如MSC、VLR或者SGSN的内存数据库中需要定时监控用户的相关状态。例如VLR需要根据用户状态定时删除过期的垃圾数据,节约内存空间,保证VLR数据库能支持指定的用户数量。MSC需要定时扫描长时间被占用的资源,检查是否有资源挂死的情况。在移动通信领域,通信设备所能支持的用户数量是一个重要的指标,对于大容量的设备,如果为每个用户设置定时器,则定时器的开销很大;如果只设置一个定时器,每次定时器到时扫描全部用户数据,检查是否超时,则每次扫描的工作量很大。随着系统所支持的用户量的增大,上述两种方法显然不能满足需求。
技术实现思路
本专利技术要解决的技术问题是克服现有技术中定时监控方法存在扫描工作量大或定时器数量较多以及消耗系统资源过大的缺点,提出一种新的定时监控方法。本专利技术的技术方案是构造时间间隔链表和采用循环指针的方法。设监控周期为T,时间间隔t,把监控周期分成N=T/t等份,共构造N+1个链表,步骤为1.1构造N+1个相同数据结构的链表Q,其中n∈,N=T/t,T为监控周期,t为时间间隔,T的大小不能小于t;1.2设置定点指针指向Q,到点指针指向Q;1.3设置时长为t的定时器作为扫描定时器;1.4当新增需要监控的内存数据库记录时,将记录插入到定点指针当前所指的链表中;1.5当扫描定时器定时时间到,定点指针和到点指针的值都加1并模N,然后扫描到点指针所指的链表,其中的每条记录都是超时的记录,对其进行超时处理。本专利技术中的定时器的时长应小于监控周期的误差允许值,且大于监控周期超时处理所需要的时间。在本专利技术中,定时器的时长最好满足监控周期是定时时长的整数倍。本专利技术采用分时间段扫描,每次扫描部分记录的方式。与定时扫描全部记录的现有技术方法相比,由于采用了时间间隔的技术措施,扫描分时段实现,提高了扫描效率;与一个资源占用一个定时器的方法相比,减少了扫描频度,有效地减少了定时器数目,节约系统资源。附图说明图1是本专利技术中构造链表和设置指针的示意图;图2是本专利技术的流程图。具体实施例方式本专利技术的要点是构造时间间隔链表和采用循环指针的方法,用一个定时器定时。在时间链表中,设置定点指针和到点指针,定点指针所指的位置就是当前新增的监控记录需要插入的链表位置,到点指针所指的位置就是达到监控时间的链表位置。扫描定时器的定时时间为t,每次扫描定时器定时时间到,两个指针的值都加1并模N,然后扫描到点指针所指的链表,链表里所有的记录都认为是监控时间到的记录,即超时的记录。如图1所示,在一个监控周期T内,构造0,1,…,k,…N共N+1个链表,设到点指针指向链表0,定点指针指向链表N。若监控周期设为24小时,定时器时间间隔为1小时,则共有25个链表。到点指针指向链表0,定点指针指向链表24。图2是本专利技术的流程图,已在
技术实现思路
部分详细描述,此处不再重复。下面举例说明本专利技术的应用。在VLR内存数据库中,为了节约内存空间,数据库需要定时删除无用数据,处理内容分为以下两个方面1)当用户超过一段时间不访问网络时,把用户设置为Detached(与网络分离)状态,当用户为Detached状态时,不必发出呼叫,节省无线资源。2)VLR内存数据库定时删除无用的用户数据,节约内存空间,保证数据库能支持指定数量的用户。下面分别进行说明1)定时附着分离处理移动用户需要定期做位置更新,若在规定时间内,移动用户没有位置更新,此移动用户应置上Detached标志位,这需要VLR内存数据库对其进行监控。设监控周期T,时间间隔t,把监控周期分成N=T/t份,构造相同数据结构的N+1个链表Q,其中n∈,如图1所示。t的取值必须小于监控周期的误差允许值,大于每次监控周期超时处理所需的时间,否则定时器的下一次定时时间到达时,监控周期超时处理尚未完成。t越小监控周期的精度越高,但扫描的频率越大,消耗的系统资源也越多。所以,t的设定需要根据需要和具体情况而定。初始时设置定点指针指向Q,到点指针指向Q,扫描定时器的定时间隔为t,在时间间隔t内访问网络的用户都插入到定点指针所指的链表里。每次定时器的定时时间到,定点指针和到点指针的值都加1并模N,到点指针当前所指的链表里所有用户都是监控时间到的用户,对其设置detach标志。2)定时删除Detached用户设一个周期为24小时,定时器的时长为1小时。用户数据表的数据在置为Detached(不可及),在大于等于一个周期,将自动被删除。大容量情况下,不活动用户有可能非常的多,若采用发现一个不活动用户即发消息通知VLR MAP方式,当同时有几百几千个不活动用户时,就可能对消息调度系统造成异常。而采用本专利技术的定时监控方法,构造相应的链表,定点、到点指针和扫描定时器,在做附着分离处理时,把Detached用户放到当前定点指针所指的链表里,各个链表的时间间隔为1小时。每次定时时间到,定点、到点指针的值加1并模24,到点指针所指的链表中的Detached用户就是可以通知VLR MAP删除的用户。由于使用1小时的时间间隔,删除数据的时间误差为1小时,误差在允许的范围之内,可以满足定时删除Detached用户的功能要求。在移动通信设备MSC、SGSN的内存数据库中也有同样类似的运用,当定时监控大量的资源或者用户的时候,可以用此方法,用少量的定时器,每次只扫描部分记录就可以满足定时监控的要求。同样的,移动通信设备中的业务、信令等进程在管理自己的数据区的时候,如果需要对其中的状态字段进行定时监控,也可以用本专利技术来实现。权利要求1.一种,包括以下步骤1.1构造N+1个相同数据结构的链表Q,其中n∈,N=T/t,T为监控周期,t为时间间隔,T的大小不能小于t;1.2设置定点指针指向Q,到点指针指向Q;1.3设置时长为t的定时器作为扫描定时器;1.4当新增需要监控的内存数据库记录时,将记录插入到定点指针当前所指的链表中;1.5当扫描定时器定时时间到,定点指针和到点指针的值都加1并模N,然后扫描到点指针所指的链表,其中的每条记录都是超时的记录,对其进行超时处理。2.权利要求1所述的,其特征在于,所述定时器的时长应小于监控周期的误差允许值,且大于监控周期超时处理所需要的时间。3.权利要求1所述的,其特征在于,设置定时器的时长满足监控周期是定时时长的整数倍。4.权利要求1所述的,其特征在于,还包括当被监控的记录由于状态改变原因不再需要被监控时,将该记录从链表中删除。全文摘要一种。设监控周期为T,时间间隔t,把监控周期分成N=T/t等份,共构造N+1个链表;设置定点指针指向Q,到点指针指向Q;设置时长为t的定时器作为扫描定时器;当新增需要监控的内存数据库记录时,将记录插入到定点指针当前所指的链表中;当扫描定时器定时时间到,定点指针和到点指针的值都加1并模N,然后扫描到点指针所指的链表,其中的每条记录都是超时的记录,对其进行超时处理。由于采用了时间间隔的技术措施,扫描分时段实现,提高了扫描效率;减少了扫描频度,有效地减少了定时器数目,节约系统资源。文档编号G06F13/22GK1558691本文档来自技高网...
【技术保护点】
一种对移动通信设备中内存数据库定时监控的方法,包括以下步骤:1.1构造N+1个相同数据结构的链表Q[n],其中n∈[0,N],N=T/t,T为监控周期,t为时间间隔,T的大小不能小于t;1.2设置定点指针指向Q[N],到点指 针指向Q[0];1.3设置时长为t的定时器作为扫描定时器;1.4当新增需要监控的内存数据库记录时,将记录插入到定点指针当前所指的链表中;1.5当扫描定时器定时时间到,定点指针和到点指针的值都加1并模N,然后扫描到点指 针所指的链表,其中的每条记录都是超时的记录,对其进行超时处理。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘峰,黄建军,王健雄,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。