[发明专利]定时器的管理方法有效
申请号: | 201010285242.1 | 申请日: | 2010-09-16 |
公开(公告)号: | CN101957779A | 公开(公告)日: | 2011-01-26 |
发明(设计)人: | 杨海;蒋述庭;汪东升 | 申请(专利权)人: | 深圳天源迪科信息技术股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 深圳市德力知识产权代理事务所 44265 | 代理人: | 林才桂 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时器 管理 方法 | ||
技术领域
本发明涉及电信领域,尤其涉及一种定时器的管理方法。
背景技术
计算机系统常常需要为处理器和外设提供时间标记,或对外部事件进行计数,分为内部定时和外部定时:内部定时是计算机本身运行的时间基准或时序关系,计算机每个操作都是按照严格的时间节拍执行的;外部定时是外部设备实现某种功能时,本身所需要的一种时序关系。对于要求多线索高并发处理能力的实时系统,需要使用到软件定时器(Timer),它利用CPU内部的定时机构(晶振),通过运用软件编程来循环执行一段程序而产生的等待延时。在一些需要大量定时器的系统中,例如通信系统中,需要创建大量的定时器,用来进行定时处理以控制系统中各种事件发生的时间间隔。
例如,电信领域的OCS(Online Charging System,在线计费系统)的业务驱动力主要来自于当前预付费业务实现方式存在的问题以及将来业务发展趋势的影响,目前运营商有准实时计费和在线计费两种方式实现预付费的计费,其方案均不够完善。准实时计费系统实现预付费存在的主要问题表现在对欠费情况的控制上,由于采集时延、系统时延等原因,从用户使用业务到完成计费和信控有较大的时延,使该方式目前实际产生的欠费问题较为严重,也使一些高风险业务(如支付业务等)很难进行大规模的推展;在线计费在解决了时延和欠费风险问题后,引入了实时性要求。事务处理能力由原先的分钟级别到秒级,甚至是毫秒级别提升,对系统资源(CPU和内存)提出了很高的要求。为了更好的支撑在线计费系统,提高系统的响应能力,毫秒级的定时器是必不可少的。
现在使用的定时器多为操作系统和第三方提供的,虽然存在很大的通用性,但是在处理并发性和大并发量的情景时表现不佳。以下简单的概括一下ACE(Adaptive Communication Environment,自适配通信环境)的定时器实现机制方式:ACE的定时器实现有4种,这里不具体介绍实现细节,主要介绍实现数据结构、性能。
具体的4种定时器都是从ACE_Timer_Queue_T继承,每种定时器用不同的数据结构来实现具体Timer(定时器)的算法。
1)ACE_Timer_Heap定时器,根据触发时间建立一个优先级队列(一个最小堆数据结构)来维护所有的定时器,代价就是删除和插入过程的操作复杂度为O(logn),代价比较高。
2)ACE_Timer_List定时器,根据触发时间建立一个有序的双向链表,代价就是插入定时器代价较高。
3)ACE_Timer_Hash定时器,采用开链的Hash方式每一个桶为一个单链表,在检查所有桶超时的时候会遍历链表所有的元素。为了提高效率这里所用的Hash桶应该足够大,而对于定时器一般是频繁的超时响应定时器,已经插入和删除,响应会采用迭代的方式,所以效率并不是那么高效。
4)ACE_Timer_Wheel定时器,采用的一种时间轮的方式,具体实现就好象一个轮子上面有很多插槽,每一个插槽下面包括一个有序双向链表,在Ace中把轮子叫做Wheel,插槽叫做Spoke,每一个定时器被Hash到Spoke中,而Spoke也可以理解为timer的分辨率,而Spoke的计算公式为触发时间>>(分辨率的位数)&(spoke大小-1)。然后在根据触发时间把定时器插入到每一个Spoke的有序双向链表中,与Ace_timer_Hash的实现类似,只是这里用户可以指定Spoke大小。这里的代价就是插入的时候操作复杂度可能最坏为O(n)。
以上定时器的处理方式和性能方面都不适合现有的OCS系统。
发明内容
因此,本发明的目的在于提出一种定时器的管理方法,实现毫秒级的实时定时器。
为实现上述目的,本发明提供一种定时器的管理方法,包括:按照毫秒级划分定时器的时间段,在内存中分别存储与各时间段相关联的互斥锁、标志位和定时器信息;对于每个时间段,所述互斥锁以信号量数值的形式存储,所述标志位以无符号短整型数值的形式存储,所述定时器信息以16个连续的内存块的形式存储,所述16个内存块中的每个都可以用于存储其所属时间段的一个定时器的定时器信息,所述标志位的每个bit位分别依序对应于16个内存块中的一个以标志每个内存块中的定时器信息的使用情况。
其中,所述标志位的bit位为1表示对应内存块位置的定时器信息被占用,所述标志位的bit位为0代表对应内存块位置的定时器信息空闲。
其中,所述内存块使用Hash算法来访问。
其中,所述定时器的管理方法应用于在线计费系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳天源迪科信息技术股份有限公司,未经深圳天源迪科信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010285242.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:包括LED的LCD
- 下一篇:一种显示模式的切换方法、系统及移动终端