一种利用信号量实现的序列号生成方法和生成器技术

技术编号:7758807 阅读:203 留言:0更新日期:2012-09-14 00:18
本发明专利技术公开一种利用信号量实现的序列号生成方法以及序列号生成器,具体的序列号生成步骤为,输入单元输入链路编号;获取单元打开信号量,获取信号量ID;加锁单元在信号量ID获取成功后,对信号量进行加锁操作;然后由序列号生成单元在判断链路编号是否在合理范围内时,则根据链路编号计算序列号;解锁单元在判断单元判断序列号未达到最大值的情况下,对信号量进行解锁操作,释放其占用的资源,然后返回序列号。本发明专利技术保证了多进程与多线程环境下的序列号唯一性。

【技术实现步骤摘要】

本专利技术涉及一种多进程与多线程环境下获取唯一序列号的方法和序列号生成器。
技术介绍
在互联网数据传输中,经常要用到唯一的序列号。传统方式一般采用计数器加线程锁进行控制,而在多进程环境下,该方法存在序列号重复等问题。也有采用从数据库读取序列号,该方法虽然能保证唯一,但是效率低下,无法支持高并发。因此,本专利技术所要解决的问题是如何在多进程、多线程、高并发的环境中保证序列号的唯一性。
技术实现思路
本专利技术的目的之一是提供一种序列号生成方法,保证在多进程与多线程高发情况下序列号的唯一性,该方法包括如下流程步骤I,输入链路编号;步骤2,打开信号量,获取信号量ID ;步骤3,如果信号量ID获取成功,对信号量进行加锁操作;步骤4,判断链路编号是否在合理范围内,如果是,则根据链路编号计算序列号;其中,根据链路编号计算序列号具体为,找到链路编号对应的计数器,进行累加,生成序列号。步骤5,判断序列号是否达到最大值,如果否,直接执行步骤6 ;步骤6,对信号量进行解锁操作,释放其占用的资源,然后返回序列号。上述步骤3进一步包括,如果信号量I D获取不成功,则创建信号量,如果信号量创建成功,则对信号量进本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张庆庭焦念兰顾朝辉韩宇峰
申请(专利权)人:北京神州数码思特奇信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1