一种可扩展的通用编码生成系统及方法与流程

文档序号:22737400发布日期:2020-10-31 09:17阅读:148来源:国知局
一种可扩展的通用编码生成系统及方法与流程

本发明属于计算机科学信息化技术领域,尤其涉及一种可扩展的通用编码生成系统及方法。



背景技术:

目前,编码在很多业务领域都有广泛使用。编码的作用是对物质进行标准化的分类和标识。政府、行业协会会针对通用对象制定标准编码体系,例如公文编码体系;为了方便管理,企业也会对业务对象进行编码,例如,在企业内部,通常对人员,文件,物料等进行编码,以标准化区分和标识。

编码规则体系的策划难度大,一般由领域内专家组统筹制定。规则体系制定后根据标准的标识方式对对象进行管理。使用过程中,需要保证编码的正确性、唯一性和一致性。为了避免混乱,通常会设立一个专门的编码管理机构负责对编码统一分类、授权、及发布更新。负责编码授权的机构需查阅约定的编码规则文件、结合现有的编码库内容后才能制定新编码;同时对新的编码进行发布公开,保证所有的使用人获知最新的编码。授权人员需要非常熟悉分类规则的同时还需要对管理的内容有非常深刻的了解,才能保证授权编码的正确性、唯一性。

通过信息化系统和工具统一对编码进行自动管理和分发,可以有效保证编码的正确性、唯一性和一致性,是编码管理的发展趋势。现有的编码工具通常包括集成于信息化系统中,面向特定领域,通过预置编码对象类型和编码规则实现编码生成,在信息系统的业务领域中可以满足编码管理的需要,但无法应对业务扩展、编码规则变更、以及企业自定义个性化编码的需求。

以上问题的解决依赖于两个方面,一是业务扩展时,需要编码的业务对象丰富多样,如何扩展生成器的编码对象类型;另外就是如何实现编码规则定义,让用户可以根据需求方便的自定义个性化编码规则。本发明通过解决以上问题,构建一种通用的编码生成系统,满足企业业务扩展过程中的编码管理需求,在保证唯一性,准确性的基础上,实现编码系统的统一管理、可扩展以及可扩展。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种可扩展的通用编码生成系统及方法。

本发明是这样实现的,一种可扩展的通用编码生成系统,所述可扩展的编码生成系统包括:

编码对象注册中心、编码规则定义器、编码生成器、编码对象类型库、编码规则库以及编码库;

编码对象注册中心,用于管理所有需要编码的对象类型信息;

编码规则定义器,用于定义编码规则;

编码生成器,用于根据编码规则的定义,从待编码的对象中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者;

编码对象类型库,用于存储所有注册的对象类型;

编码规则库,用于存储所有的编码规则定义;

编码库,用于存储编码以及生成编码的对象属性值。

进一步,所述对象类型信息包括但不限于对象类型标识,对象的属性名列表。

进一步,所述编码规则信息包括但不限于编码规则标识,编码对象的类型,和编码规则定义;所述编码规则定义根据具体的编码规则情况进行定义。

本发明的另一目的在于提供一种应用于所述可扩展的编码生成系统的可扩展的编码生成方法,所述可扩展的编码生成方法包括:

步骤一,注册编码对象类型信息,包括类型标识和属性信息,将其信息保存到编码对象类型库;

步骤二,通过片段组合规则定义、属性计算规则定义、编码转换规则定义进行编码规则定义,将编码规则定义保存到编码规则定义库;

步骤三,申请编码时,编码器根据编码规则的定义,从待编码的对象实例中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者,并将编码对象实例信息和编码值保存到编码库。。

进一步,步骤二中,所述片段组合规则定义、编码转换规则定义、属性计算规则定义包括:

(1)片段组合规则定义:定义片段之间的组合的顺序方式;

(2)属性计算规则定义:定义属性组合或计算的表达式;属性计算通过组合或计算编码对象的属性,得到用于编码的值;

(3)编码转换规则定义:定义从具体值到编码字符转换的格式。

进一步,所述编码转换的规则包括但不限于:常量片段,随机码片段,变量片段,时间片段,截取片段,正则片段,序列片段,可重启序列片段。以上提到的编码转换规则的定义包括:

常量片段:片段的编码值为常量字符串,如编码中的连接符,公司代号等同一编码对象的编码中不发生变化的片段;

随机码片段:片段的编码值为随机生成的字符串,可定义编码生成的字符范围和长度;

变量片段:片段的编码值为编码对象实例的某个属性值、编码片段值或者多个属性、编码片段值的计算结果值;

时间片段:一种特殊的变量片段,需要额外定义事件格式,可以按照指定格式从编码对象实例的时间属性、或计算结果值中获取编码值;

截取片段:一种特殊的变量片段,需要额外定义截取字符片段的起始位置和结束位置,可以按照字符位置截取编码对象实例的属性值、或计算结果值作为编码值;

正则片段:一种特殊的变量片段,需要额外定义正则表达式和默认值,可以用正则表达式在编码对象实例的属性值、或属性计算结果值中匹配字符串作为编码值,如果没有匹配,则取默认值;

序列片段:按顺序递增的序列片段,需要定义序列的起始值,结束值,步长,以及编码的字符位数;

可重启序列片段:一种特殊的序列片段,需要额外定义序列重启依赖的片段,如果该片段值和上一个编码不同,则重启序列,从初始值重新开始计算。

进一步,步骤三中,根据所述片段组合规则定义、编码转换规则定义、属性计算规则定义计算编码值过程(如图4)为:编码对象实例通过属性计算规则获得特定属性值,属性值通过编码转换规则转换为编码片段,编码片段通过片段组合规则组成编码。

本发明另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

注册编码对象类型信息;

通过片段组合规则定义、编码转换规则定义、属性计算规则定义进行编码规则定义;

根据编码规则的定义,从待编码的对象中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者。

本发明另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

注册编码对象类型信息;

通过片段组合规则定义、编码转换规则定义、属性计算规则定义进行编码规则定义;

根据编码规则的定义,从待编码的对象中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者。

结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供了一种动态可扩展的编码生成工具,可根据业务需要动态注册新的编码对象类型,自定义编码生成规则,生成新的编码,并提供对编码对象类型,编码规则以及编码的管理,保证编码的正确性,唯一性和一致性。

和其他编码生成器相比,本发明具有以下特点:

本发明提供了一种可扩展的编码生成工具,通过动态的编码对象类型管理,多层次、个性化的编码规则定义,以及编码自动生成和统一管理,实现可扩展编码对象类型的编码管理,同时保证编码的一致性,唯一性,和可追溯。本发明可以根据业务需求动态注册编码对象类型,满足企业未来的业务扩展需要。本发明将编码规则定义分为属性计算规则,编码转换规则和片段组合规则三个层次,从而使编码规则的制定既简单实用,又不影响灵活和个性化。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的可扩展的通用编码生成系统结构示意图;

图中:1、编码对象注册中心;2、编码对象类型库;3、编码规则定义器;4、编码规则库;5、编码生成器;6、编码库。

图2是本发明实施例提供的可扩展的通用编码生成方法流程图。

图3是本发明实施例提供的可扩展的通用编码生成方法原理图。

图4是本发明步骤三编码自动生成的步骤图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术存在的问题,本发明提供了一种可扩展的通用编码生成系统,下面结合附图对本发明作详细的描述。

如图1所示,本发明实施例提供的可扩展的编码生成系统包括:

编码对象注册中心1、编码对象类型库2、编码规则定义器3、编码规则库4、编码生成器5、编码库6。

编码对象注册中心1,用于管理所有需要编码的对象类型信息;

编码对象类型库2,用于存储所有注册的对象类型;

编码规则定义器3,用于定义编码规则;

编码规则库4,用于存储所有的编码规则定义;

编码生成器5,用于根据编码规则的定义,从待编码的对象中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者;

编码库6,用于存储编码以及生成编码的对象属性值。

本发明实施例提供的对象类型信息包括但不限于对象类型标识,对象的属性名列表。

本发明实施例提供的编码规则信息包括但不限于编码规则标识,编码对象的类型,和编码规则定义;所述编码规则定义根据具体的编码规则情况进行定义。

如图2,本发明实施例提供的可扩展的编码生成方法包括:

s101,注册编码对象类型信息;

s102,通过片段组合规则定义、编码转换规则定义、属性计算规则定义进行编码规则定义;

s103,根据编码规则的定义,从待编码的对象中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者。

作为选选实施例,图3是本发明实施例提供的可扩展的通用编码生成方法原理图。包括:

步骤一,注册编码对象类型信息,包括类型标识和属性信息,将其信息保存到编码对象类型库;

步骤二,通过片段组合规则定义、属性计算规则定义、编码转换规则定义进行编码规则定义,将编码规则定义保存到编码规则定义库;

步骤三,申请编码时,编码器根据编码规则的定义,从待编码的对象实例中获取相应属性值,通过属性计算、编码转换和片段组合得到新的编码值,分发给编码申请者,并将编码对象实例信息和编码值保存到编码库。。

步骤二中,所述片段组合规则定义、编码转换规则定义、属性计算规则定义包括:

(1)片段组合规则定义:定义片段之间的组合的顺序方式;

(2)属性计算规则定义:定义属性组合或计算的表达式;属性计算通过组合或计算编码对象的属性,得到用于编码的值;

(3)编码转换规则定义:定义从具体值到编码字符转换的格式。

所述编码转换的规则包括但不限于:常量片段,随机码片段,变量片段,时间片段,截取片段,正则片段,序列片段,可重启序列片段。以上提到的编码转换规则的定义包括:

常量片段:片段的编码值为常量字符串,如编码中的连接符,公司代号等同一编码对象的编码中不发生变化的片段;

随机码片段:片段的编码值为随机生成的字符串,可定义编码生成的字符范围和长度;

变量片段:片段的编码值为编码对象实例的某个属性值、编码片段值或者多个属性、编码片段值的计算结果值;

时间片段:一种特殊的变量片段,需要额外定义事件格式,可以按照指定格式从编码对象实例的时间属性、或计算结果值中获取编码值;

截取片段:一种特殊的变量片段,需要额外定义截取字符片段的起始位置和结束位置,可以按照字符位置截取编码对象实例的属性值、或计算结果值作为编码值;

正则片段:一种特殊的变量片段,需要额外定义正则表达式和默认值,可以用正则表达式在编码对象实例的属性值、或属性计算结果值中匹配字符串作为编码值,如果没有匹配,则取默认值;

序列片段:按顺序递增的序列片段,需要定义序列的起始值,结束值,步长,以及编码的字符位数;

可重启序列片段:一种特殊的序列片段,需要额外定义序列重启依赖的片段,如果该片段值和上一个编码不同,则重启序列,从初始值重新开始计算。

步骤三中,根据所述片段组合规则定义、编码转换规则定义、属性计算规则定义计算编码值过程(如图4)为:编码对象实例通过属性计算规则获得特定属性值,属性值通过编码转换规则转换为编码片段,编码片段通过片段组合规则组成编码。

图3是本发明实施例提供的可扩展的通用编码生成方法原理图。

下面结合具体实施例对本发明的技术方案作进一步说明。

实施例1:

以一种通用编码生成器,为某企业的“公司通知发文编号”规则文件进行编码为例,公司通知文件编码组成方式为:

其中,前3位c1c2c3为某公司代码,即公司简称的首字母大写[mgs];c4c5两位代表通知的类别,如行政,财务,业务;c6c7c8c9为4位数的年份;c10c11c12为3位数的发文流水号。

使用本发明的进行编码生成的步骤是:

1)首先对oa(officeautomation,办公自动化)系统中通知的类型信息进行注册。本例中通知类型为:

notification={id,type,post_time,title,content,signer,scope,create_time,create_user}。

包括类型名称“notification”和通知对象的属性,如:通知的类别”type”,通知发送时间”post_time”,通知的标题“title”,通知的内容”content”,通知的签发人”signer”,通知的范围(全公司,部门及下级部门,部门)”scope”,等。

2)标准化管理员在编码规则定义器中定义编码规则,首先定义片段组合规则。本例中的通知编码分为4个片段,记为p1,p2,p3,p4,分别代表公司简称,通知类别,签发年份,流水号。

3)标准化管理员在编码规则定义器其中定义公司简称片段为常量片段,变量计算规则为空,编码转换规则为字符串常量“mgs”。

4)标准化管理员在编码规则定义器中定义通知性质为字典片段,变量计算规则为“$type”,编码转换规则为字典{“行政”:“xz”,“财务”:“cw”,“业务”:“yw”}。

5)标准化管理员在编码规则定义器中定义年份为时间片段,变量计算规则为“$post_time”,编码转换规则为格式字符串“yyyy”。

6)标准化管理员在编码规则定义器中定义序号为序列片段,变量计算规则为空,编码转换规则为序列表达式[001,1,999],标识序号从001开始,步长为1,终止于999。

7)通知签发人申请编码。以属性值为:{1892,“行政”,2020-01-2812:22:22,“聚会活动取消通知”,“因疫情原因,原定于02月02日的公司聚会活动取消。”,“陶武安”,“全公司”,“朱莉”,2020-01-2717:32:09}的某通知实例为例,编码生成器生成编码值为“mgsxz2020006”,其中mgs是公司简称首字母大写,xz是通知性质的编码,2020是通知签发年份编码,006是序号,由序列片段的状态确定。编码生成器将生成的编码值分发给通知签发人。

8)将生成的编码值和生成编码时的通知实例信息保存在编码库中,随时可追溯编码来源和编码对象具体的属性值。

实施例2:

以某公司新实施了一套产品管理系统中的产品编码为例。本例中产品系统中产品类型为:

product={id,is_standard,type,code,name,short_name,en_name,version,description,ext_json,create_user,create_time,update_user,update_time}

其中,is_standard标识产品是否标准产品:标准产品[0],定制产品[1];type是产品的类型,包括:0(控制类),1(保护类),2(监测类)三个产品类型;name,short_name,en_name分别为产品的名称,简称,英文名称,version是产品的版本号,description是产品的简要说明,ext_json是json格式的扩展属性集。该系统中,产品编号定义为:

其中:c1c2c3是公司代码;c4是产品类别代号,由is_standard和type属性计算得到,计算方式为type*2+is_standard;c5c6c7为三位的产品编码,由产品管理系统确定,如201;c8c9为两位的产品版本号,由产品管理系统确定,如a3;c10为校验码,计算方式为:从编码第4位到第9位,取每一位的ascii码,偶数位的权数为3,奇数位的权数为1,则c10为[(c4+c6+c8)*3+(c5+c7+c9)]/10的余数。

基于本发明对此产品管理系统中产品进行编码管理的步骤为:

(1)注册产品管理系统中的产品类型信息。

(2)定义编码规则。首先定义组合规则,产品编码由5个片段构成,按顺序标记为p1,p2,p3,p4,p5,分别代表公司代码片段,产品类别片段,产品代号片段,版本号片段,校验码片段。

(3)接着定义片段规则。定义公司代码片段为常量片段,属性计算规则为空,编码转换表达式为“mgs”。

(4)定义产品类别片段为变量片段,属性计算规则为$type*2+$is_standard,编码转换规则为空。

(5)定义产品代号片段为变量片段,属性计算规则为$code,编码转换规则为空。

(6)定义版本号片段为变量片段,属性计算规则为$code,编码转换规则为空。

(7)定义校验码片段为变量片段,属性计算规则为(($c4+$c6+$c8)*3+($c5+$c7+$c9)%10,编码转换规则为空。

(8)产品管理人员申请编码。以属性值为:{id=73,is_standard=1,type=0,code=“p30”,name=“5g数字隔离开关”,short_name=“智能隔离开关”,en_name=“intellegentswitch”,version=“m5”,description=“可通过5g通信实现状态监测和控制的数字化隔离开关”,ext_json=“{}”,create_user=”满磊”,2020-01-2717:32:09,“满磊”,2020-01-2717:32:09}的某产品实例为例,编码生成器生成编码值为“mgs1p30m57”,其中”mgs”是公司简称首字母大写,”1”是由is_standard和type属性计算得到的类别码,”p30”是产品代码,”m5”是产品版本号,”7”是校验码。编码生成器将生成的编码值分发给产品管理人员。

(9)生成的编码值和生成编码时的产品实例信息自动保存到编码库中,随时可追溯编码来源和编码对象具体的属性值。

基于本发明应用中,进行编码规则定义以及编码生成,某公司项目文档的编码规则进行定义,分为公司代码,类型代码,立项年份,流水号四个片段,并定义了每个片段的类型,可计算规则表达式以及转换规则表达式。

新建项目文档时,基于图五定义的规则,可获取项目文档编码。

在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1