[发明专利]获取信息的方法和系统在审
申请号: | 201610181818.7 | 申请日: | 2016-03-25 |
公开(公告)号: | CN107229572A | 公开(公告)日: | 2017-10-03 |
发明(设计)人: | 马文军 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F12/0846 | 分类号: | G06F12/0846;G06F17/30 |
代理公司: | 中原信达知识产权代理有限责任公司11219 | 代理人: | 张一军,姜劲 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 信息 方法 系统 | ||
技术领域
本发明涉及计算机网络以及计算机软件技术领域,特别地涉及一种获取信息的方法和系统。
背景技术
现实生活中经常会有在高并发环境下需要获取非重复的唯一识别符的场景。例如:用户到手机运营商网店去办理新的手机号码,手机号码即唯一识别符。购买新车辆后需要在交通局上车牌号,车牌号即唯一识别符。电子商务中商家需要为订单开具发票,发票的相关信息中发票号码即唯一识别符。下面以开具发票为例做详细介绍。
目前发票系统开具发票使用流程是:首先通过系统的发票导入功能导入购买的、空白的发票,然后各个开票人员通过不同的开票功能,获取未使用的发票并进行开票。具体地:目前发票系统在开票之前,直接查询数据库,获取发票状态为“未使用”的最小的发票,然后进行开票,开票完成后更新此张发票的发票状态为“已使用”。上述现有技术至少存在如下缺陷。
1.数据库中存在大量不同状态、不同内容的发票,并且数据量仍在持续的狂猛增长中,因此查询“未使用”状态的最小发票的效率会越来越低,严重影响发票开具的效率,增加了开票的人力资源消耗,甚至导致客户的投诉。
2.在大量开具发票的情况下,如此慢且并发量大的查询会对数据库造成特别大的读压力,高峰时期可能引起数据库所在机器宕机,从而导致开票系统瘫痪。
3.随着开票业务的增长,开票人员和开票途径也随之增长,因此同一时间获取到相同发票用于开票的几率也愈来愈大,造成大量的开票失败。严重影响了开票的效率和准确性,增加了开票人员不必要的业务操作。
因此,为了解决并发开票问题,急切需要一种获取发票的服务,此服务可快速的提供不重复的发票,提高开票效率和准确性。从广义上理解,目前需要一种能够应对大数据高并发的数据环境的获取包含唯一识别符的信息的方法和系统。
发明内容
有鉴于此,本发明提供一种高效率的、能够避免重复的获取唯一识别符的方法和系统,以解决现有技术中的上述问题。
本发明的第一方面提出了一种获取信息的方法,包括:从数据库批量获取多个状态为未使用的唯一识别符放入队列式缓存,并且将所述多个状态为未使用的唯一识别符的状态更改为预占用;根据外部请求从所述队列式缓存中获取目标数量的状态为预占用的唯一识别符;根据所述目标数量的状态为预占用的唯一识别符生成目标信息然后输出,并且将所述目标数量的状态为预占用的唯一识别符的状态更改为已使用。
可选地,所述从数据库批量获取多个状态为未使用的唯一识别符放入队列式缓存的步骤包括:从数据库定时地批量获取多个状态为未使用的唯一识别符然后放入队列式缓存。
可选地,所述从数据库批量获取多个状态为未使用的唯一识别符放入队列式缓存,并且将所述多个状态为未使用的唯一识别符的状态更改为预占用的步骤包括:利用缓存锁确认当前无并发任务;判断若当前队列式缓存中的状态为预占用的所述唯一识别符的数量小于预设 数值M,则从所述数据库中的所有状态为未使用的唯一识别符中选取M个状态为未使用的唯一识别符然后放入队列式缓存并且将这M个唯一识别符的状态更改为预占用;结束所述缓存锁。
可选地,所述根据外部请求从所述队列式缓存中获取目标数量的状态为预占用的唯一识别符的步骤包括:步骤B1:根据所述外部请求判断当前所述队列式缓存中的状态为预占用的唯一识别符的数量X是否大于等于目标数量Y;步骤B2:若X≥Y,则从所述队列式缓存中获取Y个状态为预占用的唯一识别符;步骤B3:若X<Y,则利用缓存锁确认当前无并发任务,然后从所述数据库中获取所述M个状态为未使用的唯一识别符放入所述队列式缓存并且将这M个唯一识别符的状态更改为预占用,然后结束缓存锁,跳至步骤B1。
可选地,所述唯一识别符为发票号码、车牌号或手机号码。
本发明的第二方面提出了一种获取信息的系统,包括:第一获取模块,用于从数据库批量获取多个状态为未使用的唯一识别符放入队列式缓存,并且将所述多个状态为未使用的唯一识别符的状态更改为预占用;第二获取模块,用于根据外部请求从所述队列式缓存中获取目标数量的状态为预占用的唯一识别符;处理模块,用于根据所述目标数量的状态为已使用的唯一识别符,生成目标信息然后输出,并且将所述目标数量的状态为预占用的唯一识别符的状态更改为已使用。
可选地,所述第一获取模块还用于:从数据库定时地获取多个状态为未使用的唯一识别符然后放入队列式缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610181818.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种压力模拟方法及装置
- 下一篇:缓存及其控制方法
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置