一种工业互联网分布式标识编码方法及系统与流程

文档序号:22626745发布日期:2020-10-23 19:35阅读:173来源:国知局
一种工业互联网分布式标识编码方法及系统与流程

本发明涉及标识编码技术领域,具体地说是一种工业互联网分布式标识编码方法及系统。



背景技术:

随着工业互联网和5g的兴起,国家正式推进“一物一码”,实现对工业产品的全生命周期管理,因此,我们需要对每个产品生成一个全球唯一的标识编码。物品的数量是海量的,目前标识编码单机系统已经无法满足设计需求,需要一种全新的标识编码分布式系统方案。



技术实现要素:

本发明的目的在于提供一种工业互联网分布式标识编码方法及系统,用于解决目前标识编码单机系统已经无法满足设计需求的问题。

本发明解决其技术问题所采取的技术方案是:本发明第一方面提供了一种工业互联网分布式标识编码方法,包括以下步骤:

编码接收器接收请求标识编码物品的参数;

编码接收器将参数打包,加入到待编码队列集群;

编码监听器监听待编码队列集群,按照先进先出原则给编码执行器分配编码任务;

编码执行器接收到编码任务,根据物品参数,生成全局锁集群;

编码执行器根据参数,递增全局计数器,获取当前序号,生成单向递增标识;

编码执行器将编码结果,异步发送消息通知,执行编码任务。

结合第一方面,在第一方面第一种可能实现的方式中,在编码接收器将参数打包,加入到待编码队列集群之前还包括:

对参数进行安全性校验和规则校验。

结合第一方面,在第一方面第二种可能实现的方式中,所述的安全性校验包括对涉黄、涉政、辱骂、广告等敏感词、表单参数sql注入校验;所述的规则校验包括参数必填性校验、数值类型校验、参数长度校验、字符集校验。

结合第一方面,在第一方面第三种可能实现的方式中,所述的全局计数器通过设置唯一的主键实现递增。

结合第一方面,在第一方面第四种可能实现的方式中,所述的主键由企业组织机构代码、年月和产品分类构成。

结合第一方面,在第一方面第五种可能实现的方式中,所述的方法还包括对编码接收器和编码执行器进行解耦。

结合第一方面,在第一方面第六种可能实现的方式中,解耦通过以下方法实现:

通过微服务化,将编码接收器和编码执行器单独部署到不同的服务器进行。

本发明第二方面提供了一种工业互联网分布式标识编码系统,该系统包括:

编码接收器,用于对外提高http调用接口,跨平台跨语言支持使用端调用,接收标识编码物品的参数,并对参数进行安全性校验和规则校验、加入到待编码队列集群;或/和,

编码监听器,用于监听待编码队列集群,按照先进先出原则给编码执行器分配编码任务;或/和,

编码执行器,用于接收到编码任务,根据物品参数,生成全局锁集群;或/和,

全局计数器,用于递增标识序号;或/和,

全局锁集群,用于防止同一个编码任务重复执行;或/和,

队列集群,通过redis的链表属性,实现队列功能,保证编码任务先进先出;或/和,

数据存储系统,用于持久化标识编码成功的数据信息。

结合第二方面,在第二方面第一种可能实现的方式中,所述的系统还包括解耦模块,用于通过微服务化,将编码接收器和编码执行器单独部署到不同的服务器对编码接收器与编码执行器的解耦。

本发明第二方面的所述系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。

由以上方案可知,本发明通过全局锁集群、全局计数器、队列集群等实现“一物一码”功能,并且可以通过对编码接收器与编码执行器的解耦,提高编码接收器、编码执行器的性能,解决了目前标识编码单机系统性能的瓶颈。

附图说明

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

图1为一种工业互联网分布式标识编码方法流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

如图1所示,一种工业互联网分布式标识编码方法,包括以下步骤:

s1、编码接收器接收请求标识编码物品的参数;

s2、对参数进行安全性校验和规则校验;

s3、编码接收器将参数打包,加入到待编码队列集群;

s4、编码监听器监听待编码队列集群,按照先进先出原则给编码执行器分配编码任务;

s5、编码执行器接收到编码任务,根据物品参数,生成全局锁集群;

s6、编码执行器根据参数,递增全局计数器,获取当前序号,生成单向递增标识;

s7、对编码接收器和编码执行器进行解耦;

s8、编码执行器将编码结果,异步发送消息通知,执行编码任务。

步骤s2中安全性校验包括对涉黄、涉政、辱骂、广告等敏感词、表单参数sql注入校验;所述的规则校验包括参数必填性校验、数值类型校验、参数长度校验、字符集校验。

全局计数器通过设置唯一的主键实现递增,主键由企业组织机构代码、年月和产品分类构成。

步骤s7中对编码接收器和编码执行器进行解耦通过微服务化,将编码接收器和编码执行器单独部署到不同的服务器进行。微服务化是基于目前springcloud框架构建的微服务程序,将编码接收器、编码执行器独立开发部署,各服务间通过网络进行通信,协调完成编码作业,以此达到分布式效果;编码接收器、编码执行器是独立开发的软件程序,是将此程序部署到服务器,并启动运行。

一种工业互联网分布式标识编码系统,该系统包括:

编码接收器,用于对外提高http调用接口,跨平台跨语言支持使用端调用,接收标识编码物品的参数,并对参数进行安全性校验和规则校验、加入到待编码队列集群;编码监听器,用于监听待编码队列集群,按照先进先出原则给编码执行器分配编码任务;编码执行器,用于接收到编码任务,根据物品参数,生成全局锁集群;全局计数器,用于递增标识序号;全局锁集群,用于防止同一个编码任务重复执行;队列集群,通过redis的链表属性,实现队列功能,保证编码任务先进先出;数据存储系统,用于持久化标识编码成功的数据信息;解耦模块,用于通过微服务化,将编码接收器和编码执行器单独部署到不同的服务器对编码接收器与编码执行器的解耦。

全局锁和计数器都是利用redis缓存技术来实现的,全局锁是基于redis字符串的setnx功能实现,计数器是基于redis有序集合的zincrby功能来实现的;全局锁集群和全局计数器集群利用redis的集群部署方案,来实现集群化。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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