The invention discloses a sequence number processing method, which includes: receiving a sequence number application request; selecting a sequence number in the sequence number pool according to the sequence number application request; setting the occupied bit of the sequence number to occupy and returning the sequence number; where the sequence number is stored in the sequence number pool after unified pre-configuration. The method of the present invention makes the generation of unique sequence number more flexible and dynamically configurable by storing the sequence number in the sequence number pool uniformly after pre-configuration, and ensures the reusability of sequence number by combining the mechanism of event-driven and scanning. It can not only effectively guarantee the global uniqueness of sequence number, but also meet the special needs of limited sequence number length.
【技术实现步骤摘要】
序列号处理方法及系统、装置和存储介质
本专利技术涉及信息
,更为具体而言,涉及一种序列号处理方法及系统、设备和存储介质。
技术介绍
在分布式环境特别是容器场景下,例如采用Kubernetes进行集群管理的Docker容器集群,Kubernetes为容器化的应用提供了资源调度、部署运行、服务发现、扩容、缩容等一套功能。应用程序及相关依赖被打包成容器镜像,Pod(PlainOldDocumentation,标记型语言)则通常包含一个或多个紧密相关的容器,并且寄生于集群的Node节点中,Node节点可以为物理机,也可以是虚拟机。容器镜像在Pod中被Kubernetes调度运行单个或多个副本,相关的服务进程共同形成Service,Pod随着Service而创建和销毁,并且由于集群策略可能游离于不同Node节点中。容器化将服务最大化的分离,通过网络进行交互,解除了耦合,提高了可靠性和高效性。然而,对于某些应用场景中,集群中的服务进程往往有着获取特定序列号的需求,并且对与序列号可能还存在着如全局唯一、定长等特殊限制。特别是在对稳定性、可靠性、一致性有着极高要求的银行业信息系统中,各系统往往对对每一事件分配一个例如全局事件跟踪号的全局唯一序列号进行流水记录,以保证在系统出现异常时追溯到异常及影响范围,并且该序列号限定在固定长度内。目前,对于全局唯一序列号典型的解决方案通常有以下两种:1、通过应用数据库提供的自增长序列字段;2、通过算法生成如GUID型字段。但是,方案1当应用数据库不同时需要考虑不同的语法和实现,分库分表时无法保证唯一性,且序列号一直增长是非定长的; ...
【技术保护点】
1.一种序列号处理方法,其特征在于,所述方法包括:接收序列号申请请求;根据所述序列号申请请求在序列号池中选取序列号;将所述序列号的占用位设置为占用,并返回所述序列号;其中,所述序列号由统一预先配置后存储于所述序列号池中。
【技术特征摘要】
1.一种序列号处理方法,其特征在于,所述方法包括:接收序列号申请请求;根据所述序列号申请请求在序列号池中选取序列号;将所述序列号的占用位设置为占用,并返回所述序列号;其中,所述序列号由统一预先配置后存储于所述序列号池中。2.如权利要求1所述的方法,其特征在于,所述预先配置包括:序列号长度配置、起始序列号配置、结束序列号配置和序列号个数配置。3.如权利要求1所述的方法,其特征在于,所述方法还包括:监控集群中的事件的运行情况;若所述事件运行结束,根据所述事件的标识在所述序列号池中查找出相对应的序列号,并将所述序列号的占用位设置为未占用。4.如权利要求1所述的方法,其特征在于,所述方法还包括:扫描集群中的所有事件,获取所述事件的健康状态列表;对比所述序列号池中序列号的状态,若所述序列号的占用位为占用,且其对应的事件不在所述健康状态列表中,则将所述序列号的占用位设置为未占用。5.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述序列号池中占用位标记为未占用的序列号的个数小于预设的阈值,按照所述预先配置生成新的序列号并存放于所述序列号池中。6.一种序列号处理系统,其特征在于,所述系统包括:序列号池,用于存储统一预先配置后的序列号;序列号管理模块,用于接收序列号申请请求,根据所述序列号申请请求在序列号池中选取序列号,将所述序列号的占用...
【专利技术属性】
技术研发人员:张凡,安兴朝,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。