一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的自由锻供应链溯源系统

2022-05-27 00:59:00 来源:中国专利 TAG:


1.本发明设计自由锻供应链溯源系统技术领域,尤其设计中基于区块链的自由锻供应链溯源系统。


背景技术:

2.供应链是由物流、信息流、资金流共同组成的,根据其负责的结构将行业内供应商、制造商、销售商、消费者串联在一起。一般来说,制造业的供应链从采购的原料开始会涉及生产、加工、包装、运输、销售等环节,所以供应链在主体上会涉及不同的行业和不同的企业,在地域上可能会跨越不同的城市、省份甚至是国家。
3.对于机械制造企业而言,产品的质量水平主要是由生产过程决定的。质量追溯作为最重要的质量管理手段之一,很大程度上决定着机械产品的质量水平。由于自由锻企业的生产模式是小批量订货型,需要根据客户的需求进行设计及组织生产,所以在企业的库存计划中作为原材料之一的特殊坯料库存往往较少,在订单确定之后才能确定一些特殊材料的采购工作,相应的供货商的供应质量和供应周期对自由锻企业的生产有较大的影响。另外,自由锻产品需要经过多道工序,因此只要有一道工序出现瑕疵,锻件就会出现缺陷。因此在自由锻件产品供应链中,针对出现问题的自由锻件及时溯源,需要建立完善的自由锻供应链溯源体系。
4.2008年中本聪第一次提出了区块链的概念。随着电子货币和区块链技术的创新意义被大众熟知,政府明确倡导“无币区块链”的应用。区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、去信任等特点。现今,区块链技术的应用不仅仅是数字货币领域,更是作为一种新的技术应用于物联网和物流领域、公共服务领域、保险领域和公益领域等。对于自由锻供应链存在的问题,应用区块链技术是一种有效的解决手段。


技术实现要素:

5.本发明为解决现有的自由锻供应链存在的供应链角色信息不对称、供应链角色信息公信力不足、交易数据易被篡改等问题,提供了一种基于区块链的自由锻供应链溯源系统。
6.为实现以上发明目的,而采用的技术手段是:
7.一种基于区块链的自由锻供应链溯源系统基于hyperledger fabric实现,所述系统总体方案包括:应用层、业务层、网络层与数据库存储层。
8.所述应用层是直接展示给用户的操作系统,用户可以通过在浏览器浏览进行自由锻信息查询,也可以通过浏览器触发服务器中智能合约的运行。应用层开发采用主流的前后端分离方式,极大的降低了前后端逻辑的耦合度,因此也提高了系统开发和维护的效率。前端主要采用vue-element-admin框架进行开发,该框架将vue与element ui进行结合生成了一套适合系统开发的完整代码。后端主要采用springboot框架进行开发,该框架由pivotal团队研发编写,是一个开源的轻量级开发框架。所有浏览器中用户的行为都要在区
块链中上链,以便于对自由锻供应链进行安全可靠的溯源,因此需要通过sdk进行,fabric官方提供的sdk版本主要有python,nodejs,golang,python,而发明采用fabric-java-sdk与linux部署的fabric网络进行交互。该sdk为fabric官方提供的基于java语言的应用开发工具。
9.所述业务层为linux中部署的自由锻供应链溯源系统,所有的自由锻供应链中的业务逻辑都需要在fabric网络中记录后打包成区块上链,用户登录系统后可以随时随地对自由锻供应链中的行为进行溯源,包括原材料生产时间,自由锻件加工时间等等一系列行为。而自由锻供应链中所有的业务逻辑都是包含在智能合约中,因此业务层主要为智能合约的部署,在b/s架构中,用户的行为操作实际为sdk去触发智能合约中的逻辑函数。hyperledger fabric架构主要由golang编写完成,因此本发明也采用官方建议的golang编写智能合约部署在自由锻供应链不同的通道中。
10.所述数据库存储层目的是提高系统的响应速度,并且存储用户的基本信息。对于整个自由锻供应链溯源系统而言,只有属于该联盟的用户才能合法的对整个系统进行访问,因此对于准入节点的信息需要持久化存储于单独的服务器数据库中,在用户进行登录时对进行验证,为了提高用户的响应速度,本发明采用较为流行的jwt令牌机制进行用户信息的存储,用户第一次访问后会获得后端提供的token,在有效期内只需携带token即可完成用户信息的加载。另外,为了提供整个自由锻供应链溯源系统的响应速度,也会在本地数据库中持久化存储额外的溯源信息,如果当前节点为非拜占庭节点,则数据库中存储的数据与linux中部署的couchdb数据库中数据是一致的,每次查询溯源信息时无需访问远程服务器fabric中的数据,在第一次进行查询以后将溯源信息持久化存储在本地,则前端用户进行访问时直接请求本地数据库即可。但是为了保证当前节点溯源信息的安全性,可以设置溯源信息的有效期,当数据过期后对fabric网络中的溯源信息再次发送请求即可。用户持久化存储的数据方式较多,本发明采用使用范围最广的数据库mysql进行存储,后端则采用mybatis对mysql进行读写操作。
11.所述网络层建立fabric网络,而fabric部署则依赖于docker容器,自由锻供应链中每一个环节对应的org和每一个组织中的每一个节点peerer都会以容器的形式运行在docker中。当然溯源是本系统的核心业务逻辑,因此要将所有对于智能合约的操作(invoke)进行上链溯源,则需要对溯源信息进行持久化存储,本发明则选取fabric官方自带的couchdb数据库进行持久化存储。couchdb不是一个单纯的键值对存储数据库,而是以json文本数据格式进行存储,与前后端交互的数据格式一致,它支持数据库中文本数据的索引,因此非常适合进行溯源信息的存储。
12.所述智能合约是整个自由锻供应链溯源系统的核心环节之一,其决定了各自由锻环节操作溯源系统的权限和获取溯源信息的权限。本文在fabric网络中部署的智能合约以官方推荐的golang语言编写,主要为四个智能合约以对应自由锻供应链中四个不同的环节,为material.go,machining.go,transport.go和saling.go。在每一个智能合约中,主要是结构体定义和触发(invoke)合约的函数编写。
附图说明
13.图1为自由锻供应链溯源系统总体架构图
14.图2为基于区块链的自由锻供应链溯源运行体系
15.图3为自由锻供应链溯源系统网络拓扑
具体实施方式
16.下面结合附图对本发明作进一步的描述。
17.一种基于区块链的自由锻供应链溯源系统,如图2所示,包括:自由锻件供应链各节点数据信息采集、部署fabric网络、自由锻件交易数据上链、自由锻件供应链交易数据溯源。每一个节点根据其iot或网页录入所需采集的信息,所采集的数据通过非对称加密的方式生成hash码发送至基于区块链的自由锻供应链溯源系统中,由fabric网络中的order节点进行全局共识,共识完成后将数据以区块的形式写入区块链网络中,同时将产生的区块hash返回,完成信息数据上链存储和共享。在整个自由锻供应链环节中,客户可以扫描自由锻件外包装上的身份码进行溯源,也可以登录开发的基于区块链的自由锻供应链溯源系统对唯一自由锻身份码进行搜索溯源。客户可以查询从自由锻供应链起点原材料供应商到终端销售全过程信息数据。在用户进行信息搜索溯源时,首先登录基于区块链的自由锻供应链溯源系统后,在前端界面中输入想要搜索的当前批次或其他任意批次的自由锻供应链信息时(其它批次自由锻部分信息不予展示),通过fabric-sdk调用远程服务器中部署的fabric网络,通过触发智能合约中的“query”函数查询后台couchdb中存储的数据后返回前端用户进行展示。如果用户发现订购的自由锻件信息有误,可联系有关监管部门或存疑节点进行查证,实现任意环节信息可追溯、任意节点厂商可联络,从而加强自由锻消费者的消费信息,提高自由锻供应链的安全性,降低厂商作弊的风险。下面对自由锻信息存储、溯源系统进行详细说明。
18.内容1、自由锻供应链溯源流程:首先基于近距离无线通讯(near field communication,nfc)技术将自由锻件的相关信息记录于身份识别码中;然后通过扫描自由锻件上的身份识别码获取自由锻身份信息后直接录入到基于区块链的自由锻供应链溯源系统中,而部分无法通过身份码上传的信息由各节点手动将信息上传至溯源系统中;最后,在整个自由锻供应链环节中,客户可以扫描自由锻件外包装上的身份码进行溯源,也可以登录基于区块链的自由锻供应链溯源系统对唯一自由锻身份码进行搜索溯源。
19.内容2、自由锻信息存储:本发明引入了“一物一码”的身份识别机制,因此在数据传入系统的过程中取代人员手动录入相关的交易信息,通过扫描自由锻件上的身份识别码获取自由锻身份信息后直接录入到基于区块链的自由锻供应链溯源系统中,而部分无法通过身份码上传的信息,例如各节点负责人的信息等由各节点将信息上传至溯源系统中。自由锻造原材料供应商和自由锻造厂商会对原材料和自由锻件进行检验,检验过程中会使用传感器,将传感器获得的数据进行相应参数的校验后将检验结果也传入自由锻件身份码中。在整个基于区块链的自由锻供应链溯源中,可以选择明文存储或者密文存储。对于整个供应链流程中,绝大部分用于溯源的数据都是可公开的,因此可以选择直接使用交易数据明文信息进行存储。而自由锻供应链部分节点中某些信息是自由锻加工的商业机密信息,商家可以选择对该部分信息进行加密存储于物联网识别码中。只有当该批次或该自由锻件出现问题进行溯源时才会要求对应节点厂商将信息进行明文公布进行对照检验。
20.内容3、自由锻供应链溯源系统:如图3所示为本发明实现的基于自由锻供应链溯
源系统的网络拓扑图,使用五台linux系统部署hyperledger fabric网络,分别代表4个peer节点和一个order节点,并且确保五台服务器之间可以互相ping通;使用一台个人pc进行开发,并使用其作为客户端进行溯源系统前端界面的查看与操作。
21.所述系统中使用vue-element-admin进行前端开发,使用springboot进行后端开发,使用fabric-java-sdk完成网络连接与触发智能合约。
22.所述系统主要含有用户角色管理模块、用户交易信息上链模块、自由锻供应链信息溯源模块、自由锻供应链供给预测模块。对于超级管理员用户而言,其可以设置整个网络的准入机制,想要加入整个联盟链系统中,该节点需要向超级管理用户提供相应的资质证书,随后由超级管理员确定是否将该用户纳入到联盟链中。对于自由锻供应链原材料供应商、自由锻锻件加工厂商、物流运输公司及自由锻件销售网点,展示出其不同的功能模块界面供其操作处理。
23.所述自由锻供应链溯源系统登录模块主要是针对联盟链中的用户进行登录验证,只有在系统中完成注册并且由超级管理员同意许可后加入的节点,才能进入真正的溯源系统内部进行交易并且将交易信息上链。登录信息主要由每个企业负责人在注册登记时绑定的手机号和密码组成,当手机号和密码在后台数据库中存在并且一致则登录成功。进入联盟链中的用户并不会在登录界面进行注册,这样对于系统的安全性和健壮性的强度都会有所削弱,假设用户可以随意注册进行登录,则整个联盟链中自由锻的交易信息就会对外暴露,这对一个溯源系统而言是十分危险的。因此注册界面,将放在超级管理员模块中实现,只有向超级管理员提交企业资质证书经检验合法有效后方可加入到整个fabric网络中。超级管理员用户为用户管理的核心角色,其可以为一个第三方信任机构,也可以由整个联盟选举出公信力最强的节点作为超级管理员,超级管理员有删除拜占庭节点的权限,同时也拥有添加合法节点的权限,当然对于整个自由锻供应科交易信息也是可溯的,这样对于交易的监督力度也进行了一定程度的增强。
24.所述自由锻信息管理模块为自由锻供应链不同环节对应的不同的角色用户登录到系统后,会展示与之对应的功能模块,该功能模块中的功能与智能合约中对外暴露的api接口对应。添加原材料信息时,根据自由锻原材料供应商id结合当前原材料批次生成新批次的原材料,通过sdk将其添加至fabric网络中后更新至couchdb中。同样对于自由锻供应链中各环节对于自由锻件的各种操作,如加工自由锻件,自由锻件的运输,自由锻件的销售等等也会通过sdk触发智能合约打包成区块上链更新至couchdb中,这样对于自由锻信息溯源模块而言,可以直接访问历史数据,实现自由锻供应链的真正溯源。
25.所述的自由锻信息溯源模块是本发明的主要研究内容。对于前端用户而言,只需要输入想要查询的相关批次自由锻件,即可追溯该批次自由锻件的所有操作记录(包括原材料供应环节,自由锻件锻造环节,物流运输环节,销售环节),操作记录中包含了每个操作动作的时间,负责人及相关的备注信息。该功能模块为所有合法存在于自由锻供应链联盟中节点均可见的公共模块。
26.所述自由锻供给预测模块根据区块链中记录的自由锻件供给数据实时预测未来三天的供给量。主要展示近一周的自由锻供应链供给数据柱状图,并通过基于注意力机制的lstm模型对未来三天进行实时预测,预测周期为一天。最后展示的是当前所有自由锻件的销售总额,并与去年同期进行对比,将增长或下降趋势展示在前端界面中,帮助各节点更
好的掌握当前自由锻件的供给趋势和未来走向。
27.所述注意力机制,其核心思想是人脑在特定时刻对事物的注意力会集中在某个地方,而忽略了其他部分的特点。引入注意力机制为经lstm算法处理得到的特征分配不同的权重,进而突出更关键的影响因素,以提高自由锻供应链供给量预测的准确性和较低计算机的资源开销。
[0028][0029]
式(1)中x1,x2,x3,

,xn为输入信息,q为与任务相关的查询向量,s(x,q)为注意力打分函数。
[0030]
当确定了查询函数q和输入信息x后,便可以计算出第i个输入向量的概率αn,
[0031][0032]
那么最后的的输出信息汇总即可得出,
[0033][0034]
式(3)中注意力分布αn为第n个输入的受关注度程度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献