统一业务编码方法及装置制造方法及图纸

技术编号:26303998 阅读:47 留言:0更新日期:2020-11-10 19:59
本发明专利技术公开了一种统一业务编码方法及装置,所述方法包括:接收业务应用的业务编码请求,并解析该请求中的编码指令;执行所述编码指令对应的编码方式,包括:若所述编码指令为第一编码指令,进行数字序列编码;若所述编码指令为第二编码指令,进行模板化编码;若所述编码指令为第三编码指令,随机执行所述数字序列编码或模板化编码;所述编码方式封装于PaaS服务中。本发明专利技术能够在云端分布式的应用集群中产生全局唯一性、趋势递增和格式化的业务编码。本发明专利技术的业务编码能够实现线性扩展,实现方式简单,且性能完全能够支撑大多数业务场景,适用性广。

【技术实现步骤摘要】
统一业务编码方法及装置
本专利技术涉及计算机领域,特别涉及一种统一业务编码方法及装置。
技术介绍
当前云端应用中比较通用的业务编码ID生成方式主要有两种:UUID和类snowflake方案。UUID(UniversallyUniqueIdentifier)的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12。其缺陷在于UUID的36个字符太长,16字节128位,通常以36长度的字符串表示,很多场景不适用,不易存储;基于MAC地址生成UUID的算法可能会造成MAC地址泄露,信息不安全;ID作为主键时在特定的环境会存在一些问题,比如做DB主键的场景下,UUID就非常不适用。类snowflake方案大致来说是一种以划分命名空间来生成ID的一种算法,这种方案把64-bit分别划分成多段,分开来标示机器、时间等。其缺陷在于强依赖机器时钟,如果机器上时钟回拨,会导致发号重复或者服务会处于不可用状态。
技术实现思路
本专利技术的目的在于针对上述现有技术存在的问题,提供一种可以在云端分布式的应用集群中产生全局唯一性本文档来自技高网...

【技术保护点】
1.统一业务编码方法,其特征在于,所述方法包括以下步骤:/n接收业务应用的业务编码请求,并解析该请求中的编码指令;/n执行所述编码指令对应的编码方式,包括:若所述编码指令为第一编码指令,进行数字序列编码;若所述编码指令为第二编码指令,进行模板化编码;若所述编码指令为第三编码指令,随机执行所述数字序列编码或模板化编码;所述编码方式封装于PaaS服务中。/n

【技术特征摘要】
1.统一业务编码方法,其特征在于,所述方法包括以下步骤:
接收业务应用的业务编码请求,并解析该请求中的编码指令;
执行所述编码指令对应的编码方式,包括:若所述编码指令为第一编码指令,进行数字序列编码;若所述编码指令为第二编码指令,进行模板化编码;若所述编码指令为第三编码指令,随机执行所述数字序列编码或模板化编码;所述编码方式封装于PaaS服务中。


2.根据权利要求1所述的统一业务编码方法,其特征在于,所述数字序列编码的具体过程包括:
构建数据库,具体过程包括:为每个业务应用定义若干数字序列;将每个数字系列划分为多个数字编号段,记为号段;
获取每个数字序列当前被业务应用调用的线程数,若线程数为一,表示只有一个业务应用调用该数字序列,则执行下一步;若线程数大于一,表示有两个及以上业务应用调用该数字序列,随机为该数字序列分配一个业务应用的线程,之后执行下一步;
从所述数字序列中申请一个号段,之后从该号段中逐个申请数字编号发放给业务应用,直至业务编码请求终止;在此过程中,将已申请的数字编号标记为已使用;
在当前申请的号段的数字编号全部发放完之后,标记该号段为已使用,并判断业务应用是否还在发送业务编码请求,若是,则判断业务应用对应的数字序列中是否还存在尚未使用的号段,若存在,则从所述数字序列中继续申请下一个号段,并返回执行上一步;否则,在数据库中为业务应用定义新的数字序列,更新数据库,之后从所述新的数字序列中继续申请下一个号段,并返回执行上一步。


3.根据权利要求2所述的统一业务编码方法,其特征在于,所述数字序列为利用Leaf-Segment算法生成的长整型数字序列。


4.根据权利要求2所述的统一业务编码方法,其特征在于,所述数字序列为升序排列的序列,支持按时间重置,包括“按年度重置”、“按月份重置”以及“按天重置”;所述按时间重置具体包括:
在所述数据库中设置并存储重置时间,同时实时将各个数字序列中未使用的第一个数字编号标记为最大值,该最大值表示该数字编号为下一次将申请的数字编号;
在每次申请新的数字编号之前,比较当前时间与所述重置时间,若当前时间超出重置时间,则将数字序列中的所有“已使用”标记清除,并将各个数字序列中的所述最大值重置为该数字序列的第一个数字编号,同时记录当前重置时间。


5.根据权利要求1或2所述的统一业务编码方法,其特征在于,所述模板化编码的模板部件包括:静态文本部件、EL表达式部件、参数值部件以及数字序列部件;
所述EL表达式部件来源于第一部件库,该部件库中包括业务应用的各参数信息以及各参数对应的EL表达式;
所述参数值部件来源于第二部件库,该部件库中包括若干键值对”key=value”,value代表参数值。


6.根据权利要求5所述的统一业务编码方法,其特征在于,所述模板化编码的具体过程包括:
自定义若干静态文本;
解析所述业务编码请求,获取其携带的若干业务应用参数信息,...

【专利技术属性】
技术研发人员:胡昌平胡翔宇王梦左刚卞德志侍守创单文金曲欣姜厚禄闫四洋许永正尹玉峰王东军
申请(专利权)人:中国船舶重工集团公司第七一六研究所中船重工信息科技有限公司
类型:发明
国别省市:江苏;32

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

1