[发明专利]一种发号方法及发号器有效
申请号: | 201810017150.1 | 申请日: | 2018-01-08 |
公开(公告)号: | CN108171862B | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 姜晓腾 | 申请(专利权)人: | 北京值得买科技股份有限公司 |
主分类号: | G07C11/00 | 分类号: | G07C11/00;G06F9/46;G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100068 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 方法 发号器 | ||
1.一种发号方法,其特征在于,应用于提供目标业务的任一目标进程,所述发号方法包括:
收到针对所述目标进程的发号请求后,获取目标业务对应的目标业务唯一标识;
按照预设的业务唯一标识与信号量之间的对应关系,确定目标业务唯一标识对应的目标信号量;
判断所述目标信号量的状态是否为可抢占状态;
如果是,则抢占所述目标信号量、锁定所述目标信号量为不可抢占状态,然后从预设共享内存中获取与所述目标业务唯一标识对应的当前号、将所述当前号映射至目标进程在本地执行数值自增1操作,并将自增操作后得到的目标号确定为当前号、并写回至所述预设共享内存,以及释放所抢占的目标信号量、更改所述目标信号量为可抢占状态;
如果否,则排队等待抢占所述目标信号量;
在所述将所述当前号映射至目标进程在本地执行数值自增1操作的步骤之后,还包括:
将自增操作后得到的目标号返回至目标业务。
2.根据权利要求1所述的发号方法,其特征在于,所述获取目标业务对应的目标业务唯一标识的步骤,包括:
获取目标业务的目标业务名;
基于循环冗余校验算法对所述目标业务名进行数字化处理,并在数字化处理之后得到所述目标业务名对应的目标业务唯一标识。
4.根据权利要求1所述的发号方法,其特征在于,所述预设共享内存是基于Linux操作系统实现的内存共享。
5.根据权利要求4所述的发号方法,其特征在于,所述预设共享内存中设置有针对不同业务的多个信号量。
6.一种发号器,其特征在于,所述发号器包括:
唯一标识获取模块,用于在收到针对目标进程的发号请求后,获取目标业务对应的目标业务唯一标识;
信号量确定模块,用于按照预设的业务唯一标识与信号量之间的对应关系,确定目标业务唯一标识对应的目标信号量;
状态判断模块,用于判断所述目标信号量的状态是否为可抢占状态,如果是,触发发号模块,否则触发排队模块;
所述发号模块,用于在所述状态判断模块的判断结果为是时,抢占所述目标信号量、锁定所述目标信号量为不可抢占状态,然后从预设共享内存中获取与所述目标业务唯一标识对应的当前号、将所述当前号映射至目标进程在本地执行数值自增1操作,并将自增操作后得到的目标号确定为当前号、并写回至所述预设共享内存,以及释放所抢占的目标信号量、更改所述目标信号量为可抢占状态;
所述排队模块,用于在所述状态判断模块的判断结果为否时,排队等待抢占所述目标信号量。
7.根据权利要求6所述的发号器,其特征在于,所述唯一标识获取模块,具体用于:
获取目标业务的目标业务名;
基于循环冗余校验算法对所述目标业务名进行数字化处理,并在所述数字化处理之后得到所述目标业务名对应的目标业务唯一标识。
8.根据权利要求6所述的发号器,其特征在于,所述预设共享内存是基于Linux操作系统实现的内存共享。
9.根据权利要求6-8任一项所述的发号器,其特征在于,所述发号器还包括:
目标号返回模块,用于在所述发号模块将所述当前号映射至目标进程在本地执行数值自增1操作的步骤之后,将自增操作后得到的目标号返回至目标业务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京值得买科技股份有限公司,未经北京值得买科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810017150.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:医院排队叫号系统
- 下一篇:增值税发票的检验方法及装置