System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于区块链及工业互联网,特别是一种基于区块链的标识解析性能提升方法。
技术介绍
1、工业互联网标识注册与解析需依托标识解析软件实现,标识数据通过标识注册流程被注册到企业节点上,下游企业/用户通过递归解析流程从企业节点上获得相应的数据。通常情况下,标识解析企业节点与企业间存在一一对应关系,多个企业间一般不公用企业节点(同一集团下的多个企业除外)。
2、传统标识解析体系一般是先约定标识编码结构,各企业进行标识注册时结合企业自身标准采用随机、自增等方式对对象进行赋码,该行为保障了体系内编码的唯一性。但由于缺乏跨产业链/供应链标识编码协同机制,对象在上下游企业间流通过程中极易出现“一物多码”问题。在实际场景中,标识的对象(比如工业产品)在生产、仓储、运输、销售、安装交付、运行、维护、报废等阶段产生大量的数据,不同阶段的数据可能由不同的企业/组织采集并注册到自己的企业节点上,同一标识的对象在标识注册过程中被赋予不同的编码。同一标识的对象不同阶段的数据被赋予不同编码、存储在不同的节点上的情况加剧了数据孤岛问题。
3、具体在生产、安装交付、运行阶段中,同一产品在不同阶段被赋予不同的编码,各编码间也不存在直接的关联关系,该情况导致对产品实施全生命周期数据管理时存证较大的数据编码映射难题,产业链/供应链中处于下游的企业/组织无法获知所有上游的编码。
4、例如,现有的星火链网提出基于分布式标识符did规范、基于星火链网分层架构搭建工业互联网、物联网场景下的标识解析协议,实现一物一码溯源,如图1所示,具体
5、某产品的bid标识为did:bid:eivugqqffyeu97abf6sgm3wftvxhzb2,其全生命周期数据包括产品出厂信息(存储在子链1,对应子链bid编码为did:bid:1234:eivugqqffyeu97abf6sgm3wftvxhzb2)、物流信息(存储在子链2,对应子链bid编码为did:bid:abcd:eivugqqffyeu97abf6sgm3wftvxhzb2)、销售信息(存储在子链3,对应bid编码为did:bid:3758:eivugqqffyeu97abf6sgm3wftvxhzb2),三条子链上标识信息的bid编码存在一定的关联性(除了子链编号不同外,其它完全一致)。一物一码溯源时,通过did:bid:eivugqqffyeu97abf6sgm3wftvxhzb2编码调用主链解析服务,获得存储了该对象标识的所有子链的解析服务地址,再依次采用子链bid编码调用各子链的解析服务,便可获得该产品对象全生命周期数据,实现一物一码溯源。
6、上述星火链网bid访问通过分布式数字身份解决了上下游企业间产品流通过程中产品编码一致性的问题,但其主子链分层架构选用基于行业、区域的子链分割方式,客观上同一产品的标识数据依然分布于不同的子链上,其一物一码溯源场景中标识解析过程需访问多个行业/区域子链方能获取产品的全生命周期数据,考虑到区块链技术在数据访问性能方面存在天然的不足,星火链网bid标识实现产品全生命周期数据获取时的性能是无法支撑实际工业应用场景的。
技术实现思路
1、本专利技术的目的是针对现有的技术存在上述问题,提出了一种基于区块链的标识解析性能提升方法。
2、本专利技术的目的可通过下列技术方案来实现:一种基于区块链的标识解析性能提升方法,其特征在于,包括以下步骤:
3、a、标识注册
4、s1、建立对象身份:
5、根据did编码结构:
6、did:rsv:<ac-id>:<method-specific-id>
7、其中,did:rsv为固定前缀;<ac-id>为子链编号,由4个字母或数字构成,对于主链,<ac-id>字段可省略;<method-specific-id>为did编码后缀;
8、进行对象赋码,以did标识上、下游企业间对象的身份;对象身份生成时,按照以下计算公式:
9、<method-specific-id>=base58(ripemd160(sha256(<对象公钥>)))
10、分配公私钥对,约定保持一致性的did编码生成规则;
11、s2、搭建子链划分机制:
12、以<method-specific-id>为输入,引入<method-specific-id>到<ac-id>的计算函数calc,生产子链编号,其计算公式如下:
13、<ac-id>=calc(<method-specific-id>)
14、其中,calc为<method-specific-id>到<ac-id>的计算函数;
15、s3、构建标识元数据和数据模版:
16、至少从属性名、取值类型、取值范围、属性个数的角度构建标识元数据和数据模版,并为每个数据模版分为template_id;
17、s4、基于数据模版和签名机制搭建访问控制机制:
18、1)did文档数据结构
19、did标识数据遵循w3c diddocument规范,在w3c diddocument规范的基础上新增字段extension;
20、2)基于did的标识注册流程及签名方案
21、(1)企业为标识对象数据选择数据模版;
22、(2)在数据模版的基础上,采集对象数据,生成标识数据;
23、(3)按照签名规则对标识数据生成签名;
24、(4)区块链节点接收到did及标识数据后,通过前述子链划分机制,计算得出子链编号;标识数据存储在相应子链时,首先校验数据模版是否被别的企业占用,并使用未被占用的数据模版;
25、(5)从extension结构中templates下获取对应模版的issuer,并通过issuer did编码从区块链上获取企业公钥,使用公钥对接收到的标识数据中签名进行校验,校验通过则进入did文档更新流程,否则提示标识注册失败;
26、(6)将新收到的标识数据更新到产品对象did文档的extension对应部分,对于首次使用的数据模版,同时更新templates下数据模版与issuer的映射关系;
27、b、标识解析
28、s1、构建标识解析机制,开发标识解析接口
29、1)基于前述子链划分机制中ac_id的生成算法,构建基于did的路由解析服务,并开发标识解析接口;
30、2)解析方式
31、(1)通过did编码精准定位对象标识数据所在子链,实现对象全生命周期数据的全量获取;
32、(2)通过template_id对返回数据进行过滤,返本文档来自技高网...
【技术保护点】
1.一种基于区块链的标识解析性能提升方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤A、S2中,calc计算方法包括:
3.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤A、S3中,数据模板生成后通过template_id唯一索引,数据模板与template_id间存在一一对应关系,而被标识的对象与数据模板间存在一对多的关系;template_id的生成方式为自增数字、定长随机字符串中的任一种。
4.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤A、S4、2)、(3)中,签名规则如下:
5.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤A、S4、2)、(4)中,设定上游企业为生产企业,生产企业标识了对象产品的自身特性数据,形成自身特性数据模版;设定下游企业为运输企业,运输企业标识对象产品的运输管理数据,形成运输管理数据模版;运输管理数据模版不干涉或修改自身特性数据模版。
6.如权利要求1所述
...【技术特征摘要】
1.一种基于区块链的标识解析性能提升方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤a、s2中,calc计算方法包括:
3.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤a、s3中,数据模板生成后通过template_id唯一索引,数据模板与template_id间存在一一对应关系,而被标识的对象与数据模板间存在一对多的关系;template_id的生成方式为自增数字、定长随机字符串中的任一种。
4.如权利要求1所述的基于区块链的标识解析性能提升方法,其特征在于,在步骤a、s4、2)、(3)中,签名规则如下:...
【专利技术属性】
技术研发人员:陈栋梁,尚舵,王磊,于明旭,聂光涛,耿介坦,
申请(专利权)人:中国工业互联网研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。