业务编码生成方法及系统技术方案

技术编号:31903948 阅读:23 留言:0更新日期:2022-01-15 12:41
本发明专利技术提供一种业务编码生成方法及系统,方法包括:预先在编码服务端配置多种业务对应的编码规则,将编码规则同步至分布式缓存中进行存储;当业务系统接收到用户的编码生成需求时,调用编码客户端的编码生成服务,以从分布式缓存中获取编码规则,将编码规则中的规则ID、连续标识和顺序号字段的设置参数发送至编码服务端,以使编码服务端在连续标识为第一值时,在编码库中查找规则ID下的断号,将断号返回给编码客户端,将断号从编码库中的删除;编码客户端将断号作为业务编码返回给业务系统。本发明专利技术可以保证了分布式部署模式下同一个规则ID下的业务编码的连续性,不会发生重号。不会发生重号。不会发生重号。

【技术实现步骤摘要】
业务编码生成方法及系统


[0001]本说明书一个或多个实施例涉及业务编码生成
,尤其涉及一种业务编码生成方法及系统。

技术介绍

[0002]在一个应用系统中,会涉及多种业务,对应的业务数据可能会需要一个或多个具有业务含义的编码,例如,报销单据对应的编码。每种业务数据需要的编码格式往往各不相同。在传统模式下,业务应用的开发人员需要自行按照需求编写业务编码的生成程序。这种方式存在以下问题:(1)业务开发人员的工作量大,需要为每种业务编码分别编写代码,而且因为业务编码的格式不同,代码复用度差;(2)编码格式难以后期调整,不够灵活;(3)随着业务规模的扩大,业务应用的部署方式由单机模式切换为分布式模式后,编码的生成难以保证一致性等。

技术实现思路

[0003]本说明书一个或多个实施例描述了一种业务编码生成方法及系统。
[0004]根据第一方面,提供了一种业务编码生成方法,包括:
[0005]预先在编码服务端配置多种业务对应的编码规则,并将所述编码规则同步至分布式缓存中进行存储;其中,所述编码规则中包括规则ID、连续标识和编码段列表,所述规则ID为所述编码规则的唯一标识,所述连续标识用于表征依据所述业务编码生成的业务编码是否要求连续,所述编码段列表用于描述所述业务编码中的各个组成部分,所述编码段列表中至少包括顺序号字段,所述顺序号字段中包含顺序号的设置参数;
[0006]当业务系统接收到用户的编码生成需求时,调用编码客户端的编码生成服务,以使所述编码生成服务从所述分布式缓存中获取所述编码生成需求对应的编码规则,将所述编码规则中的所述规则ID、所述连续标识和顺序号字段的设置参数发送至编码服务端,以使所述编码服务端在所述连续标识为第一值时,在编码库中查找所述规则ID下的断号,若查找到断号,则将所述断号返回给所述编码客户端,并将所述断号从所述编码库中的删除;所述编码客户端将所述断号作为所述业务编码返回给所述业务系统;所述断号为所述业务系统之前删除过的业务编码,所述第一值用于表征所述业务编码要求连续。
[0007]根据第二方面,提供了一种业务编码生成系统,包括编码服务端、编码客户端和业务系统,其中:
[0008]所述编码服务端用于:使人员预先在编码服务端配置多种业务对应的编码规则,并将所述编码规则同步至分布式缓存中进行存储;其中,所述编码规则中包括规则ID、连续标识和编码段列表,所述规则ID为所述编码规则的唯一标识,所述连续标识用于表征依据所述业务编码生成的业务编码是否要求连续,所述编码段列表用于描述所述业务编码中的各个组成部分,所述编码段列表中至少包括顺序号字段,所述顺序号字段中包含顺序号的设置参数;
[0009]所述业务系统用于:当接收到用户的编码生成需求时,调用编码客户端的编码生成服务,以使所述编码生成服务从所述分布式缓存中获取所述编码生成需求对应的编码规则,将所述编码规则中的所述规则ID、所述连续标识和顺序号字段的设置参数发送至编码服务端,以使所述编码服务端在所述连续标识为第一值时,在编码库中查找所述规则ID下的断号,若查找到断号,则将所述断号返回给所述编码客户端,并将所述断号从所述编码库中的删除;所述编码客户端将所述断号作为所述业务编码返回给所述业务系统;所述断号为所述业务系统之前删除过的业务编码,所述第一值用于表征所述业务编码要求连续。
[0010]本说明书实施例提供的业务编码生成方法及系统,编码服务端在配置编码规则之后,将编码规则存储在分布式缓存中,以供各个编码客户端在需要时下载,从而实现多个编码客户端的编码规则共享。在连续标识为第一值时首先在编码库中的规则ID下寻找断号,优先使用断号作为业务编码,从而保证了分布式部署模式下同一个规则ID下的业务编码的连续性,不会发生重号,减少因删除而产生的断号。同时,由于在编码规则中包含编码段列表,在编码段列表中通过对多个字段的配置,可以灵活的得到出多种不同种类的编码规则,进而使用各种各样的编码生成要求,不必针对每一种业务编码编写代码,减少业务人员的工作量,而且方便后期调整,灵活性比较强。而且,用户只需要在业务系统中进行操作,编码客户端和编码服务端辅助业务系统实现编码生成等多种操作,而用户感知不到编码客户端和编码服务端得,操作简单方便。
附图说明
[0011]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1是本说明书一个实施例中业务编码生成方法的流程示意图。
具体实施方式
[0013]下面结合附图,对本说明书提供的方案进行描述。
[0014]第一方面,本专利技术提供一种业务编码生成方法,如图1所示,该方法包括如下步骤:
[0015]S100、预先在编码服务端配置多种业务对应的编码规则,并将所述编码规则同步至分布式缓存中进行存储;
[0016]其中,所述编码规则中包括规则ID、连续标识和编码段列表,所述规则ID为所述编码规则的唯一标识,所述连续标识用于表征依据所述业务编码生成的业务编码是否要求连续,所述编码段列表用于描述业务编码中的各个组成部分,所述编码段列表中至少包括顺序号字段。
[0017]可理解的是,编码服务端作为一个公共的配置入口,可以统一配置、管理多种编码规则。将配置的多种编码规则同步到分布式缓存中,可以使得编码客户端进行下载。
[0018]其中,规则ID为编码规则的唯一身份标识,全局唯一。连续标识可以取第一值和第二值,第一值表示要求依据该编码规则进行编码之后得到的业务编码是连续的,即对业务编码的连续性有要求。在要求编码连续时,被删除的编码需要存入编码服务端的编码库中,
并在之后生成编码时被优先使用。第二值表示依据该编码规则进行编码之后得到的业务编码可以是不连续的,对业务编码的连续性没有要求。例如,连续标识为布尔类型,第一值为true,第二值为false。
[0019]其中,所述编码段列表中除了顺序号字段之外,还可以包括常量字段、表达式字段等。编码段列表用来描述业务编码中的各个组成部分。由于不同的业务场景下所需要的编码的格式往往存在区别,通过编码段列表的各个字段对不同的业务编码的各个组成部分进行规定。下面对编码段列表的各个字段进行说明:
[0020](1)在顺序号字段中可以设置起始号、步长和位数等。每一次生成编码时,根据上一次生成的编码中的顺序号加上步长,得到本次的顺序号。例如,将位数设置为4,即顺序号一共四位,如果顺序号不足四位,则在前面用0补足。例如,一个顺序号为3,则用0补足之后的顺序号为0003。顺序号可以作为生成的业务编码中的一个组成部分。
[0021](2)在常量字段中可以设置一个业务编码的常量字符串,这样生成的业务编码中都可以带有该常量字符串,也就是说,该常量字符串作为业务编码的一个组成部分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务编码生成方法,其特征在于,包括:预先在编码服务端配置多种业务对应的编码规则,并将所述编码规则同步至分布式缓存中进行存储;其中,所述编码规则中包括规则ID、连续标识和编码段列表,所述规则ID为所述编码规则的唯一标识,所述连续标识用于表征依据所述业务编码生成的业务编码是否要求连续,所述编码段列表用于描述所述业务编码中的各个组成部分,所述编码段列表中至少包括顺序号字段,所述顺序号字段中包含顺序号的设置参数;当业务系统接收到用户的编码生成需求时,调用编码客户端的编码生成服务,以使所述编码生成服务从所述分布式缓存中获取所述编码生成需求对应的编码规则,将所述编码规则中的所述规则ID、所述连续标识和顺序号字段的设置参数发送至编码服务端,以使所述编码服务端在所述连续标识为第一值时,在编码库中查找所述规则ID下的断号,若查找到断号,则将所述断号返回给所述编码客户端,并将所述断号从所述编码库中的删除;所述编码客户端将所述断号作为所述业务编码返回给所述业务系统;所述断号为所述业务系统之前删除过的业务编码,所述第一值用于表征所述业务编码要求连续。2.根据权利要求1所述的方法,其特征在于,所述编码段列表中还包括常量字段和表达式字段,所述常量字段用于规定所述业务编码中的常量字符串,所述表达式字段用于规定所述业务编码中至少一个预设变量的生成方式,所述设置参数包括起始号和步长;所述方法还包括:在所述连续标识为所述第一值的情况下,若所述编码服务端未查找到断号,则在所述编码库中查找所述规则ID下的当前最大顺序号,并根据所述步长和所述当前最大顺序号生成新的最大顺序号,将新的最大顺序号存储至所述编码库中,并将所述新的最大顺序号返回给所述编码客户端;所述编码客户端将所述新的最大顺序号作为所述顺序号字段对应的值,根据所述编码生成需求对应的业务数据和所述编码规则生成所述常量字段对应的值和所述表达式字段对应的值,根据各个字段对应的值生成对应的业务编码,并将所述业务编码返回给所述业务系统;所述编码库中存储有断号和所述编码服务端生成的顺序号。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述连续标识为所述第一值的情况下,若所述编码服务端中未查找到所述规则ID下的顺序号,则将所述起始号存储至所述编码库中,并将所述起始号作为当前的最大顺序号返回给所述编码客户端。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述编码服务端在所述连续标识为第二值时,在所述编码库中查找所述规则ID下的当前最大顺序号,将所述最大顺序号和所述设置参数中的步长生成新的最大顺序号,并根据所述步长和所述当前最大顺序号生成新的最大顺序号,将新的最大顺序号存储至所述编码库中,并将所述新的最大顺序号返回给所述编码客户端;所述编码客户端将所述新的最大顺序号作为所述顺序号字段对应的值,根据所述编码生成需求对应的业务数据和所述编码规则生成所述常量字段对应的值和所述表达式字段对应的值,根据各个字段对应的值生成对应的业务编码,并将所述业务编码返回给所述业务系统;所述编码库中存储有断号和所述编码服务端生成的顺序号;所述第二值用于表征所述业务编码不要求连续。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述连续标识为所述第二值的情况下,若所述编码服务端中未查找到所述规则ID下
的顺序号,则将所述起始号存储至所述编码库中,并将所述起始号作为当前的最大顺序号返回给所述编码客户端。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当业务系统接收到用户的数据删除需求时,调用所述编码客户端的编码释放服务,以使所述...

【专利技术属性】
技术研发人员:张伟庆
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:

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

1