序列号处理方法及系统、装置和存储介质制造方法及图纸

技术编号:20916117 阅读:23 留言:0更新日期:2019-04-20 09:36
本发明专利技术公开了一种序列号处理方法,所述方法包括:接收序列号申请请求;根据所述序列号申请请求在序列号池中选取序列号;将所述序列号的占用位设置为占用,并返回所述序列号;其中,所述序列号由统一预先配置后存储于所述序列号池中。本发明专利技术的方法通过将序列号预先配置后统一存储于序列号池中,使得唯一序列号的生成更加灵活动态可配置,结合事件驱动和扫描的机制使得序列号可重复再利用得到了保障,不仅能有效保证序列号的全局唯一性,更能满足序列号长度受限的特殊需求。

Sequence Number Processing Method and System, Device and Storage Media

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当应用数据库不同时需要考虑不同的语法和实现,分库分表时无法保证唯一性,且序列号一直增长是非定长的;而方案2无法适用于序列号限制在较短长度的场景。同时传统的全局唯一序列号生成的解决方案也很难适用于容器集群的环境下的需求,应用程序的镜像包含基本的操作系统依赖,对应用程序来说Pod就相当于其寄生的机器环境,依据Pod为单位分配序列号时,随着容器集群中频繁的创建销毁Pod,传统方案中分配过的序列号而不会随着Pod的销毁而被释放,并不适用于限定长度的场景。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提供了一种序列号处理方法及系统、设备和存储介质,不仅能有效保证序列号的全局唯一性,更能满足序列号长度受限的特殊需求。根据本专利技术的实施方式,提供了一种序列号处理方法,所述方法包括:接收序列号申请请求;根据所述序列号申请请求在序列号池中选取序列号;将所述序列号的占用位设置为占用,并返回所述序列号;其中,所述序列号由统一预先配置后存储于所述序列号池中。在本专利技术的一些实施方式中,所述预先配置包括:序列号长度配置、起始序列号配置、结束序列号配置和序列号个数配置。在本专利技术的一些实施方式中,所述方法还包括:监控集群中的事件的运行情况;若所述事件运行结束,根据所述事件的标识在所述序列号池中查找出相对应的序列号,并将所述序列号的占用位设置为未占用。在本专利技术的一些实施方式中,所述方法还包括:扫描集群中的所有事件,获取所述事件的健康状态列表;对比所述序列号池中序列号的状态,若所述序列号的占用位为占用,且其对应的事件不在所述健康状态列表中,则将所述序列号的占用位设置为未占用。在本专利技术的一些实施方式中,所述方法还包括:若所述序列号池中占用位标记为未占用的序列号的个数小于预设的阈值,按照所述预先配置生成新的序列号并存放于所述序列号池中。根据本专利技术的实施方式,提供了一种序列号处理系统,所述系统包括:序列号池,用于存储统一预先配置后的序列号;序列号管理模块,用于接收序列号申请请求,根据所述序列号申请请求在序列号池中选取序列号,将所述序列号的占用位设置为占用,并返回所述序列号。在本专利技术的一些实施方式中,所述预先配置包括:序列号长度配置、起始序列号配置、结束序列号配置和序列号个数配置。在本专利技术的一些实施方式中,所述系统还包括:事件监控模块,用于监控集群中的事件的运行情况;若所述事件运行结束,根据所述事件的标识在所述序列号池中查找出相对应的序列号,并将所述序列号的占用位设置为未占用。在本专利技术的一些实施方式中,所述系统还包括:扫描模块,用于扫描集群中的所有事件,获取所述事件的健康状态列表;对比所述序列号池中序列号的状态,若所述序列号的占用位为占用,且其对应的事件不在所述健康状态列表中,则将所述序列号的占用位设置为未占用。在本专利技术的一些实施方式中,所述序列号管理模块还用于:若所述序列号池中占用位标记为未占用的序列号的个数小于预设的阈值,按照所述预先配置生成新的序列号并存放于所述序列号池中。同时,本专利技术提供了一种序列号处理装置,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令;所述处理器用于调用所述一条或多条计算机指令从而执行前述任一项的序列号处理方法。本专利技术还提供了一种计算机存储介质,存储有一条或多条计算机程序,所述一条或多条计算机程序在调用时实现前述任一项的序列号处理方法。本专利技术的方法通过将序列号预先配置后统一存储于序列号池中,使得唯一序列号的生成更加灵活动态可配置,结合事件驱动和扫描的机制使得序列号可重复再利用得到了保障,不仅能有效保证序列号的全局唯一性,更能满足序列号长度受限的特殊需求。附图说明为了便于理解本专利技术,以下通过具体实施方式并结合附图对本专利技术进行具体说明。图1是根据本专利技术实施方式的一种序列号处理方法的流程示意图;图2是根据本专利技术实施方式的一种序列号处理系统的框图。具体实施方式以下结合附图和具体实施方式对本专利技术的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。首先,对本专利技术涉及的名词进行解释:Kubernetes:简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。Docker:是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Pod:全称PlainOldDocumentation,是一种用于记录Perl编程语言的轻量级标记语言。图1是根据本专利技术实施方式的一种序列号处理方法的流程示意图,在本专利技术的实施方式中,参照图1,该方法具体包括:100:接收序列号申请请求;101:根据该序列号申请请求在序列号池中选取序列号;102:将序列号的占用位设置为占用,并返回该序列号。其中,序列号由统一预先配置后存储于序列号池中。在本专利技术的实施方式中,可配置的序列号池是全局序列号分配的来源,通过对其进行初始化,序列号分配,序列号释放等操作。对序列号池加入的序列号保持相互唯一,特别当加入的序列号保持在固定长度内时,即能达到全局序列号长度受限的要本文档来自技高网
...

【技术保护点】
1.一种序列号处理方法,其特征在于,所述方法包括:接收序列号申请请求;根据所述序列号申请请求在序列号池中选取序列号;将所述序列号的占用位设置为占用,并返回所述序列号;其中,所述序列号由统一预先配置后存储于所述序列号池中。

【技术特征摘要】
1.一种序列号处理方法,其特征在于,所述方法包括:接收序列号申请请求;根据所述序列号申请请求在序列号池中选取序列号;将所述序列号的占用位设置为占用,并返回所述序列号;其中,所述序列号由统一预先配置后存储于所述序列号池中。2.如权利要求1所述的方法,其特征在于,所述预先配置包括:序列号长度配置、起始序列号配置、结束序列号配置和序列号个数配置。3.如权利要求1所述的方法,其特征在于,所述方法还包括:监控集群中的事件的运行情况;若所述事件运行结束,根据所述事件的标识在所述序列号池中查找出相对应的序列号,并将所述序列号的占用位设置为未占用。4.如权利要求1所述的方法,其特征在于,所述方法还包括:扫描集群中的所有事件,获取所述事件的健康状态列表;对比所述序列号池中序列号的状态,若所述序列号的占用位为占用,且其对应的事件不在所述健康状态列表中,则将所述序列号的占用位设置为未占用。5.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述序列号池中占用位标记为未占用的序列号的个数小于预设的阈值,按照所述预先配置生成新的序列号并存放于所述序列号池中。6.一种序列号处理系统,其特征在于,所述系统包括:序列号池,用于存储统一预先配置后的序列号;序列号管理模块,用于接收序列号申请请求,根据所述序列号申请请求在序列号池中选取序列号,将所述序列号的占用...

【专利技术属性】
技术研发人员:张凡安兴朝
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1