[发明专利]订单号的生成方法、装置、设备及存储介质在审
申请号: | 202210577378.2 | 申请日: | 2022-05-25 |
公开(公告)号: | CN114997108A | 公开(公告)日: | 2022-09-02 |
发明(设计)人: | 李春明 | 申请(专利权)人: | 平安银行股份有限公司 |
主分类号: | G06F40/126 | 分类号: | G06F40/126;G06F16/903;G06Q30/06 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 沈克琪 |
地址: | 518001 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 订单号 生成 方法 装置 设备 存储 介质 | ||
1.一种订单号的生成方法,其特征在于,所述订单号的生成方法包括:
接收终端发送的订单号生成请求,其中,所述订单号生成请求中包括业务渠道信息和请求时刻信息;
根据所述业务渠道信息,查询对应业务渠道包含的业务数量,并获取与所述业务数量对应的原始组合序列;
计算所述请求时刻信息对应的请求时刻与预设的固定时刻之间的差值,并基于所述差值生成所述请求时刻信息对应的时间戳;
基于预设的优化雪花算法,对所述原始组合序列和所述时间戳进行计算,得到多个全局唯一的订单号。
2.根据权利要求1所述的订单号的生成方法,其特征在于,所述方法还包括:
若所述时间戳所能生成的订单号耗尽,则等待预设时长以更新所述时间戳;
基于预设的优化雪花算法,对更新后的时间戳和所述原始组合序列进行计算,得到多个新的订单号。
3.根据权利要求1所述的订单号的生成方法,其特征在于,所述根据所述业务渠道信息,查询对应业务渠道包含的业务数量,并获取与所述业务数量对应的原始组合序列包括:
根据所述业务渠道信息,查询对应业务渠道包含的业务数量,并从多个预设的数据队列中随机选择一个数据队列作为目标队列,以及将所述目标队列中原始组合序列的数量与所述业务数量进行比较;
若所述目标队列中原始组合序列的数量不小于所述业务数量,则根据所述业务数量,从所述目标队列中获取多个原始组合序列;
若所述目标队列中原始组合序列的数量小于所述业务数量,则根据所述业务数量,从预设的数据池中获取多个拓展组合序列作为用于生成订单号的原始组合序列。
4.根据权利要求3所述的订单号的生成方法,其特征在于,所述若所述目标队列中原始组合序列的数量小于所述业务数量,则根据所述业务数量,从预设的数据池中获取多个拓展组合序列作为用于生成订单号的原始组合序列包括:
若所述目标队列中原始组合序列的数量小于所述业务数量,则从所述数据池中随机获取一个原始组合序列作为元组合序列;
对所述元组合序列中每个原始序列进行数据拓展,得到多个拓展组合序列,并存储于所述数据池中;
从所述数据池中获取与所述业务数量对应的拓展组合序列作为用于生成订单号的原始组合序列。
5.根据权利要求4所述的订单号的生成方法,其特征在于,在所述从所述数据池中获取与所述业务数量对应的拓展组合序列作为用于生成订单号的原始组合序列之后,还包括:
将从所述数据池中获取到的所述多个拓展组合序列从所述数据池中删除;
若所述业务数量小于所述拓展组合序列的数量,则将所述数据池中剩余的拓展组合序列向所述数据队列进行推送。
6.根据权利要求5所述的订单号的生成方法,其特征在于,所述若所述业务数量小于所述拓展组合序列的数量,则将所述数据池中剩余的拓展组合序列向所述预设的数据队列进行推送包括:
若所述业务数量小于所述拓展组合序列的数量,则检查每个所述数据队列中原始组合序列的数量,并确定待更新队列,其中,所述待更新队列中所述原始组合序列的数量小于预设阈值;
调用所述数据池,将所述数据池中剩余的拓展组合序列添加至所述待更新队列中。
7.根据权利要求1-6中任意一项所述的订单号的生成方法,其特征在于,所述方法还包括:
基于预设的业务需求,建立所述原始组合序列与服务器集群节点之间的存储映射关系,并根据所述存储映射关系,对生成的订单号进行分布式存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210577378.2/1.html,转载请声明来源钻瓜专利网。