一种实现灵活配置生成编号和编号安全的方法与流程

文档序号:33463800发布日期:2023-03-15 05:51阅读:22来源:国知局
一种实现灵活配置生成编号和编号安全的方法与流程

1.本发明涉及编号配置和安全技术领域,尤其是一种实现灵活配置生成编号和编 号安全的方法。


背景技术:

2.编号用于进行自定义,分类,分批以方便生产、销售标识商品,管理人员,物 品借阅,条码输出等应用场景。同时区别uuid(universally unique identifier 通用唯一识别码),易于用户或操作等人员辨识,以及安全校验。开发人员只需一次 开发,就可以为不同项目提供编号生成和安全校验的微服务;对多类别、类型的大 型项目,只需移植实现该方法的模块就可配置生成各种不同编号规则的编号,节省 开发部署测试的重复工作,提高开发效率并提供一定的安全保障。
3.目前如果项目需求对数据进行编号,那么编号的生成,都是一个项目固定的编 号规则和编号生成逻辑。开发人员开发多个项目如果均有实现数据编号的需求,如 人员编号,商品编号,档案编号,人员编号等,就需实现不同编号规则和编号生成 逻辑。项目中开发人员都是固化的实现编号规则和编号生成逻辑,这样既不适应于 后期项目编号需求的变更,也不适用于数据的扩展,变更和扩展都需开发人员重新 开发、测试和部署。


技术实现要素:

4.本发明专利提出了一种实现灵活配置生成编号和编号安全的方法,以期解决背 景技术中的技术问题。
5.为了实现上述目的,本发明采用以下技术方案:
6.一种实现灵活配置生成编号和编号安全的方法,包括:
7.将编号规则、流水号规则进行数据可配置化设计;
8.将编号规则、流水号规则与业务类别数据相绑定;
9.当生成编号时,根据编号规则生成编号和编号记录,并返回编号,同时部份编 号与业务类别进行哈希摘要存底;
10.当删除编号时,根据编号规则回收编号的流水号或删除编号记录;
11.用户根据业务安全需求,进行安全校验编号;根据生成编号的记录或哈希摘要 比对进行判断编号的合法性。
12.在一些实施例中,所述将编号规则、流水号规则进行数据可配置化设计,包括:
13.设计业务类型数据表,业务类型数据表数据至少包括类型名称,类型uuid,类 型的父类id;
14.设计流水码数据表,流水码数据表数据至少包括流水码中文名称,流水码uuid, 流水码英文简称,初始化值,步长,是否需要补位,补位代码,码段长度;
15.设计编号规则数据表,编号规则数据表数据至少包括编号规则中文名称,编号 规则英文简称,编号规则uuid;
16.设计编号规则与类别数据表绑定关联表;
17.设计编号组成类型表;
18.设计编号组成表,编号组成表的作用是配置编号的组成;编号组成表包含的数 据至少包括编号规则uuid,编号组成类型,编号组成内容,编号组成顺序权重;
19.设计编号生成记录序列表,编号生成记录序列表的作用是记录编号生成,以及 回收删除编号的流水号;编号生成记录序列表数据至少包括流水码步长,是否需要 补位,补位代码,码段长度,当前值,流水码英文简称,编号规uuid,编号生成记 录序列表的父类id,编号组成顺序权重,删除编号时回收的流水码。
20.在一些实施例中,所述将编号规则、流水号规则与业务类别数据相绑定,包括:
21.按编号需求填写配置信息到设计业务类型数据表,流水码数据表,编号规则数 据表,编号组成类型表,编号组成表;
22.通过页面操作建立编号规则与类别数据的绑定;
23.编号组成类型表预制:对象属性,固定常量值,日期,流水号四个类型;
24.编号组成表由业务人员配置编号的组成;
25.配置编号的组成为固定值时,需输入固定的字符串;
26.配置编号的组成为时间日期格式时,需输入日期的格式;
27.配置编号的组成为对象属性时,需配置对象属性值,对象属性值为第三方业务 查询数据库获取的字段名称,实际使用时根据数据库字段名称获取数据表中数据;
28.配置编号的组成为自定义类型时,由采用接口调用输入符合正则表达式的数据。
29.在一些实施例中,所述当生成编号时,根据编号规则生成编号和编号记录,并 返回编号,同时部份编号与业务类别进行哈希摘要存底;包括:
30.业务方需要对业务数据生成编号时,调用本方法的接口或微服务,传入类型、 业务参数;
31.先根据类型找到编号规则,由编号规则从数据库获取编号组成规则数据;
32.根据编号组成规则数据,各个编号组成部分,并按权重排序生成编号,返回给 业务方。
33.在一些实施例中,所述当删除编号时,根据编号规则回收编号的流水号或删除 编号记录,包括:
34.在编号生成记录序列表中记录流水码长度,流水当前值,流水步进,编码规则 uuid,流水码uuid值;
35.当某个业务数据删除时,对应的编码删除,需调用本方法接口,在编号生成记 录序列表中记录回收的流水码。
36.在一些实施例中,所述用户根据业务安全需求,进行安全校验编号;根据生成 编号的记录或哈希摘要比对进行判断编号的合法性,包括:
37.根据编号组成类型表的权重数据再随机排序编号的组成进行获取摘要的hash 计算;
38.将业务单位,业务类型uuid,固定值或日期等与该hash值一对一绑定持久化 保存;
39.根据业务安全需要对编号进行hash比对,和流水号是否超越当前值,是否合法 等
进行安全判定。
40.本发明与现有技术相比具有的有益效果是:
41.本技术方案独有的技术特征是灵活配置编号规则及校验编号,使用本技术方案, 后台开发人员开发有编号需求的项目,无需再重复开发,只需配置规则即可。
42.本发明独有的技术创新点在编号配置的灵活性,编号可以灵活配置和包含各种 特征的字符和字符串,编号长度无限制,流水码步进可以配,以及一套编号可以配 置多套流水码。
43.安全校验技术特征是轻量级,无需终端或用户端生成或保存key之类私钥,提 取摘要hash在于根据编号组成类型表的权重数据再随机排序编号的组成进行摘要。
44.本方法移植性强,可以作为项目的一个功能模块嵌入到不同项目中;也可以作 为微服务为不同项目提供编号生成和编号的安全校验。本方法实现集中生成编号的 逻辑和流程,使编号易于集中维护和拓展,并提供一定的安全保障。
附图说明
45.图1是本发明的一种实现灵活配置生成编号和编号安全的方法的示意图。图2是实施例中配置编号组成表例;
具体实施方式
46.下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部 分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员 在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
47.实施例1:
48.本发明一种实现灵活配置生成编号和编号安全的方法是将编号规则,流水号规 则进行数据可配置化设计;然后编号规则、流水号规则与业务类别数据相绑定;当 生成编号时,根据规则生成编号和编号记录,并返回编号,同时部份编号与业务类 别进行哈希摘要存底;当删除编号时,根据规则回收编号的流水号或删除编号记录。 用户根据业务安全需求,可安全校验编号,可根据生成编号的记录或哈希摘要比对 进行判断编号的合法性。具体实现方案和步骤如下:
49.步骤1,设计业务类型数据表,该表作用是业务人员可将需要编号的数据类别 配置填入该表。该表数据至少包括类型名称,类型uuid,类型的父类id等。类型 数据可以是设备,人员,档案,标签,及子类型等各种各样的业务类型数据。
50.设计流水码数据表,该表作用是业务人员根据需求定义流水码,将流水码的生 成需求填入该表。该表数据至少包括流水码中文名称,流水码uuid,流水码英文简 称,初始化值,步长,是否需要补位,补位代码,码段长度等。流水码名称示例如: 设备流水码、文件流水码、员工编号流水码、借阅流水码等各种流水码名称。补位 代码一般是数值或字符串。系统初始使用时,可以提前在数据表中设置如常用3位 流水号,常用4位流水号,常用5位流水号,常用6位流水号,常用7位流水号等, 用户在配置时可以直接选用常用的流水号。步长默认设置为1,也可以根据需求设 置为其他数字。如设置步长为2,补位代码为0,起始为2,3位流水号示例:002, 004,006......如设置步长为5,补位代码为#,起始为0,4位流水号示
例:###0, ###5,##10,##15......如此,可以设置各种样式的流水码。
51.设计编号规则数据表,该表作用是业务人员根据业务数据编号需要定义编号规 则基础信息。该表数据至少包括编号规则中文名称,编号规则英文简称,编号规则 uuid等。
52.设计编号规则与类别数据表绑定关联表,该表的作用是业务人员将业务类型与 编号规则进行绑定。
53.设计编号组成类型表,该表主要记录编号组成的类型,如对象属性,固定常量 值,日期,流水号,自定义类型等。
54.设计编号组成表,该表的作用是配置编号的组成。包含的数据至少包括编号规 则uuid,编号组成类型,编号组成内容,编号组成顺序权重等。
55.设计编号生成记录序列表,该表的作用是记录编号生成,以及回收删除编号的 流水号。该表数据至少包括流水码步长,是否需要补位,补位代码,码段长度,当 前值,流水码英文简称,编号规uuid,编号生成记录序列表的父类id,编号组成顺 序权重,删除编号时回收的流水码。
56.步骤2,在基于步骤1设计的数据库基础上。业务人员先按编号需求填写配置 信息到设计业务类型数据表,流水码数据表,编号规则数据表,编号组成类型表, 编号组成表。通过页面操作建立编号规则与类别数据的绑定。编号组成类型表预制: 对象属性,固定常量值,日期,流水号四个类型,业务员可以根据需求自定义类型。 编号组成表由业务人员配置编号的组成,如固定值,时间日期格式,字段属性,选 择流水号,自定义类型等,以及编号的排序。
57.配置编号的组成为固定值时,需输入固定的字符串,如单位名称简写,设备, 人员等固定字符串,以及编号中包含的
“‑”
,“*”,“/”等字符串符号。配置编号 的组成为时间日期格式时,需输入日期的格式,如yyyymmddhhmmss,yyyy-mm, yyyy:mm:dd hh:mm:ss等。配置编号的组成为对象属性时,需配置对象属性值,该 值一般为第三方业务查询数据库获取的字段名称,实际使用时根据数据库字段名称 获取数据表中数据。配置编号的组成为自定义类型时,一般输入正则表达,实际使 用时由采用接口调用输入符合正则表达式的数据。
58.步骤3,完成步骤2数据配置以后。业务方需要对业务数据生成编号时,调用 本方法的接口或微服务,传入类型、业务等参数。本方法先根据类型找到编号规则, 由编号规则从数据库获取编号组成规则数据。根据编号组成规则数据,各个编号组 成部分,并按权重排序生成编号,返回给业务方。同时,在编号生成记录序列表中 记录流水码长度,流水当前值,流水步进,编码规则uuid,流水码uuid等值。当某 个业务数据删除时,对应的编码删除,需调用本方法接口,在编号生成记录序列表 中记录回收的流水码。
59.步骤4,基于步骤3生成编号的同时,本方法将编号组成部分,除开流水号部 分,根据编号组成类型表的权重数据再随机排序编号的组成进行获取摘要的hash 计算。将业务单位,业务类型uuid,固定值或日期等与该hash值一对一绑定持久 化保存,可根据业务安全需要对编号进行hash比对,和流水号是否超越当前值,是 否合法等进行安全判定。
60.该发明在四川省内中小型卫生院检验设备数据打印系统和档案管理系统中部署 实施。部署采用bs模式。以卫生院检验设备数据打印系统为例,设备需打印条码编 号,编号规定公式是:
61.固定值+固定值+设备唯一编号+时间日期+流水号。
62.该公式其中,前面两个固定值为部门中文简写和大写拼音简称,设备唯一编号 为设备身份sn号,时间日期为yyyymmdd格式的时间戳,流水号配置为5位数字, 从1开始前面补0,每日该台设备每增加一个打印条码编号流水号增加2,及步进为 2,中间用
“‑”
符号间隔,示例:
63.(检)jyjc-fn207109-20220728-00001,(检)jyjc-fn207109-20220728-00003,
64.(检)jyjc-fn207109-20220728-00005......
65.编号生成和安全验证的步骤如下:
66.(1)用户登录本发明所提供的云服务页面:
67.在本单位树形模型下新建业务类型数据,如建立检验检测设备类型,名称:jyjc。
68.新建编号规则,名称:某卫生院检验检测设备编号规则。
69.在某卫生院检验检测设备编号规则下,配置编号组成规则,见附图2,配置编 号组成表例。如图表,当编号组成类型为流水号时,选择流水码数据表提前预制步 进为2,起始值为1的“常用5位流水号”数据项。
70.(2)用户在操作页面上将新建的检验检测设备类型与某卫生院检验检测设备 编号规则相绑定。
71.(3)设备系统需生成编号时,调用本发明的接口,传入设备类型,根据设备类 型查找到编码规则。根据编码规则一对多对所应的编码组成,按排序逐一生成编号 组成部分,并拼接形成编号,返回设备系统。
72.编号组成类型为固定常量值时,值直接取用户配置的值;
73.编号组成类型为对象属性时,值取用户从数据表中查询的数据,附图2配置的 值为数据表的字段名,根据字段名获取值;
74.编号组成类型为时间日期时,值根据配置的格式取当前的时间;
75.编号组成类型为流水号时,根据配置值读取流水码数据表,获取流水码规则, 在生成记录序列表中记录或更新步进,当前值,回收流水等信息。
76.(4)本发明在生成编号的同时,对单位,类型,除去流水码的编号组成进行 hash摘要,摘要的数据根据编号组成类型表的权重数据再随机排序编号的组成进行 获取摘要的hash计算。如附图2随机排序5301642,则进行摘要的数据顺序为时间 日期:20220728,对象属性:fn207109,固定常量值:(检),固定常量值:jyjc,固定 常量值:-,固定常量值:-,固定常量值:-,即:20220728fn207109(检)jyjc
‑‑‑

77.并按单位,类型,时间,固定值,排序随机数:5301642等进行分类保存存底。 当用户需验证条码编号是否合法时,可调用该发明的安全验证接口,传入编号。本 发明根据编号解析,获取固定值,时间,再从数据库中提取单位,类型等不在云端 或接口中传递的参数,对单位,类型,除去流水码的编号组成按保存的随机排序 5301642进行hash摘要,hash摘要前的数据示例:某某卫生院检验检查科 20220728fn207109(检)jyjc
‑‑‑
。最后再比对之前的hash摘要存底,以保证编号 的合法性。同时,获取编号的流水码与生成记录序列表中的当前值、回收流水码值 比对,验证流水码是否是超值,已回收,步进为2,流水码起始数为1时,流水号 是偶数等非法码值。
78.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的 精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范 围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1