[发明专利]编号生成方法、装置及系统和存储介质有效
申请号: | 201811213822.2 | 申请日: | 2018-10-18 |
公开(公告)号: | CN109450987B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 谭华林 | 申请(专利权)人: | 杭州云永网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/863 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 巴翠昆;王宝筠 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编号 生成 方法 装置 系统 存储 介质 | ||
1.一种编号生成方法,其特征在于,应用于分布式系统中的缓存服务器,所述分布式系统还包括与所述缓存服务器相连的多个服务器、与所述缓存服务器相连的数据库设备;所述编号生成方法包括:
在编号请求设备向服务器发送编号生成请求后,接收由所述服务器转发的所述编号生成请求;所述编号生成请求包括业务类型;
在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;
反馈该编号至所述服务器,以供所述服务器反馈该编号至所述编号请求设备;
还包括:数据库落地操作:单位时间内,从消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息;
还包括:
若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息,进入所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;
在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,还包括:
判断所述消息队列是否为空;
若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;
若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
2.如权利要求1所述的方法,其特征在于,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;
则所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;
在该最大编号基础上加一计数,获得与所述编号生成请求对应的编号。
3.如权利要求1所述的方法,其特征在于,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;
则所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;
在该最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
4.如权利要求2或3所述的方法,其特征在于在接收由所述服务器转发的所述编号生成请求之后,还包括:
判断所述缓存服务器中缓存的编号计数器信息是否存在;
若所述缓存服务器中的编号计数器信息存在,则执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;并执行编号缓存操作:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;
所述数据库落地操作与所述编号缓存操作异步执行。
5.如权利要求4所述的方法,其特征在于,所述生成与所述编号对应的编号消息并缓存所述编号消息至消息队列,包括:
构建所述编号生成请求中业务类型和所述编号生成请求对应编号组成的键值对;
添加所述键值对至预先构建的先进先出的消息队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云永网络科技有限公司,未经杭州云永网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811213822.2/1.html,转载请声明来源钻瓜专利网。