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

权限控制方法、区块链及存储介质与流程

2022-03-26 12:31:12 来源:中国专利 TAG:


1.本技术涉及计算机领域,尤其涉及一种权限控制方法、区块链及存储介质。


背景技术:

2.随着计算机技术的发展,日常信息的电子化程度越来越高。尤其在金融领域,传统金融业正在逐步向金融科技(fintech)转变。为了满足金融科技领域对信息的电子化需求,以及电子化信息的安全性需求,区块链技术成为金融科技领域信息存储的一种重要方式。
3.在金融科技领域,需要存储的信息主要为业务信息。一个用户可以对应于多项业务信息。一项业务信息中可以包括多个字段。目前,可以通过将这些业务信息存储在区块链中,实现这些业务信息在区块链的每一个节点中的存储,充分保证了这些业务信息的完整性与可信性。用户可以通过访问区块链实现这些业务数据的查询。
4.然而,现有技术中,当用户需要查询业务信息时,最小的颗粒度为一项业务信息。当用户查询一项业务信息时,该项业务信息的全部内容通常会作为一个整体被查询到,存在业务信息安全性差的问题。


技术实现要素:

5.本技术提供一种权限控制方法、区块链及存储介质,用以解决现有技术中存在的业务信息安全性差的问题。
6.第一方面,本技术提供一种权限控制方法,包括:
7.获取查询请求,所述查询请求中包括待查询信息编号和使用拥有所述待查询信息的用户的私钥签名后的待查询字段向量;
8.根据所述待查询信息编号从多个权限规则中确定第一目标权限规则,所述第一目标权限规则中包括拥有所述待查询信息编号的用户的公钥和所述待查询信息编号对应的字段权限向量;
9.使用所述公钥对所述签名后的待查询字段向量进行验证和解析,得到待查询字段向量;
10.根据所述待查询字段向量和所述字段权限向量,确定输出字段向量;
11.根据所述输出字段向量和所述待查询信息编号对应的业务信息的多个字段,确定并输出所述业务信息中的输出字段。
12.第二方面,本技术提供一种权限控制装置,包括:
13.获取模块,用于获取查询请求,所述查询请求中包括待查询信息编号和使用拥有所述待查询信息的用户的私钥签名后的待查询字段向量;
14.处理模块,用于根据所述待查询信息编号从多个权限规则中确定第一目标权限规则,所述第一目标权限规则中包括拥有所述待查询信息编号的用户的公钥和所述待查询信息编号对应的字段权限向量;使用所述公钥对所述签名后的待查询字段向量进行验证和解析,得到待查询字段向量;根据所述待查询字段向量和所述字段权限向量,确定输出字段向
量;根据所述输出字段向量和所述待查询信息编号对应的业务信息的多个字段,确定并输出所述业务信息中的输出字段。
15.第三方面,本技术提供一种区块链节点,包括:存储器和处理器;
16.所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序执行第一方面及第一方面任一种可能的设计中的权限控制方法。
17.第四方面,本技术提供一种可读存储介质,可读存储介质中存储有计算机程序,当区块链节点的至少一个处理器执行该计算机程序时,区块链节点执行第一方面及第一方面任一种可能的设计中的权限控制方法。
18.第五方面,本技术提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当区块链节点的至少一个处理器执行该计算机程序时,区块链节点执行第一方面及第一方面任一种可能的设计中的权限控制方法。
19.本技术提供的权限控制方法,通过接收到用户终端向该区块链发送的查询请求,该查询请求中包括待查询信息编号和使用拥有所述待查询信息的用户的私钥签名后的待查询字段向量;根据该待查询信息编号,从该的权限控制模块中获取该对应的第一目标权限规则,该第一目标权限规则中包括拥有待查询信息编号的用户的公钥和待查询信息编号对应的字段权限向量;使用该第一目标权限规则中的公钥对该查询请求中签名后的待查询字段向量进行验证和解析,得到待查询字段向量;根据输出字段向量,确定该业务信息中需要输出的字段的手段,实现提高业务信息查询的安全性,保障用户数据隐私性,提高查询效率的效果。
附图说明
20.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为现有技术的一种数据查询流程示意图;
22.图2为本技术的一种权限控制流程示意图;
23.图3为本技术一实施例提供的一种权限控制的场景示意图;
24.图4为本技术一实施例提供的一种权限控制方法的流程图;
25.图5为本技术一实施例提供的一种权限控制方法的流程图;
26.图6为本技术一实施例提供的一种数据查询的流程图;
27.图7为本技术一实施例提供的一种权限控制方法的流程图;
28.图8为本技术一实施例提供的一种数据存储的流程图;
29.图9为本技术一实施例提供的一种权限控制方法的流程图;
30.图10为本技术一实施例提供的一种数据更新的流程;
31.图11为本技术一实施例提供的一种权限控制装置的结构示意图;
32.图12为本技术一实施例提供的一种区块链节点的硬件结构示意图。
具体实施方式
33.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。
35.在金融科技领域,需要存储的数据主要为业务信息。通过区块链存储业务信息能够充分保证数据的完整性与可信性。在业务信息存储过程中,一个用户通常可以对应于多项业务信息。一项业务信息中可以包括多个字段。一项业务信息具有一个信息编号。该信息编号(id)用于唯一标识该业务信息。该id可以为该业务信息被存储到该区块链时,区块链按序生成的id。区块链可以通过该id可查询到该业务信息。该业务信息data的数据结构可以表示为:
36.data={id,a1,a2,
…am
}
37.其中,id为data的标志位。a1至am表示该业务信息中的m个字段。m为正整数。该业务信息data中的一个字段可以使用键值结构存储:
38.ai={k

v};
39.其中,k为字段名称,v为字段值。i表示该业务信息data的m个字段中的第i个字段。不同的业务信息data的字段个数可能不同。即,不同的业务信息data其对应的m不同。
40.在业务信息查询过程中,区块链可以通过id获取业务信息data。区块链还可以根据字段的下标i获取该业务信息data中的某一个字段。该第i个字段的可以表示为:
41.data[i]=ai[0042]
例如,假设存在用户1与用户2,存在用于存储个人基本信息的业务信息a和用于存储个人资产信息的业务信息b。其中,业务信息a的字段可以包括[name,age,weight,height],业务信息b的字段可以包括[assetno,assetname,num]。用户1的个人信息数据为[name=abc,age=11,weight=23,height=120],个人资产信息数据为[assetno=0001,assetname=car,num=1],用户2个人信息数据为[name=efg,age=14,weight=40,height=140]。当用户1的个人信息数据、用户1的资产数据、用户2的个人信息数据顺序写入区块链后,该三个业务信息在区块链中的数据结构为:
[0043]
[id=1,name=abc,age=11,weight=23,height=120];
[0044]
[id=2,assetno=0001,assetname=car,num=1];
[0045]
[id=3,name=efg,age=14,weight=40,height=140]。
[0046]
目前,在区块链中,数据的查询粒度为业务信息。即,当用户终端通过访问区块链的方式进行数据查询时,用户终端可以发送的查询请求可以针对至少一项业务信息进行查询。在数据查询时,为了提高安全性,区块链通常通过签名算法对查询请求进行权限校验,
nameabc[a,b,c]age11[]weight23[]height120[c,d]
[0054]
上述权限规则的具体实现过程可以如图2所示。区块链获取用户a通过用户终端发送的查询请求。例如,区块链可以根据该查询请求中的id,确定该查询请求用于查询用户1的业务信息a。区块链可以根据查询请求中的签名,确定用户a不是拥有该业务信息a的用户1,因此,在向用户a的用户终端反馈用户1的业务信息a之前,需要确定该业务信息a中的字段是否为用户a可以查询的字段。区块链可以遍历该业务信息a中每一字段的权限列表,过滤该业务信息a中被限制访问的字段。例如,age、weight为被限制访问的字段。区块链可以确定可访问的字段集合。例如,该业务信息a中的name、height为可以访问的字段。区块链可以根据每一可以访问字段的权限列表,确定该字段是否可以被用户a访问。例如,字段name和字段height中仅有字段name可以被用户a访问。区块链可以将可以被用户a访问的字段对应的内容反馈给发送查询请求的用户终端。例如,区块链可以将业务信息a中的[name:abc]反馈到用户a的用户终端。
[0055]
在该权限快控制方式的实现过程中,通过遍历业务信息删除其中被限制访问字段集合的时间复杂度为o(n),以及,通过遍历可以访问字段的权限列表的时间复杂度为o(n2))。可见,该实现方式在业务信息的查询过程中存在权限校验效率低和查询效率低的问题。
[0056]
针对上述问题,本技术提出了一种权限控制方法。本技术中每一业务信息可以对应于一个字段权限向量。字段权限向量表现为一个固定长度为32位的向量w。其中,每一位数字,即每一个维度可以对应于业务信息中的一个字段。该字段权限向量w可以表示为:
[0057]
w=(w1,w2,...,wn)
[0058]
其中,n为正整数,n≥m。当该区块链节点的数据存储模块中包括多个业务信息时,n为大于等于这些业务信息中最大的m值的正整数。例如,针对上述id=1、id=2和id=3的三个业务信息,其中最大的m取值为4。侧n为大于等于4的正整数。在本实施例中,n=32。该n的取值为经验值。通常业务信息中的字段数小于等于32。w1至wn表示该业务信息中n个字段的每一字段对应的维度。该字段对应的维度中的数值可以用于表示该字段的权限。例如,wi可以表示该字段权限向量的第i个维度,以及该业务信息的第i个字段对应的权限。
[0059]
一种实现方式中,wi∈{0,1}。当该字段对应的维度中的数值为0时,表示该字段不可以被查询;当该字段对应的维度中的数值为1时,表示该字段可以被查询。
[0060]
例如,假设用户1禁止业务信息a的所有字段对外开放,则用户1的业务信息a的字段权限向量w值为:
[0061]
w=(0000 0000 0000 0000 0000 0000 0000 0000)
[0062]
又如,假设用户1允许业务信息a的所有字段对外开放,则用户1的业务信息a的字段权限向量w值为:
[0063]
w=(1111 0000 0000 0000 0000 0000 0000 0000)
[0064]
由于业务信息a中仅包括4个字段,因此,该四个字段对应的w1至w4为1。其余的w5至wn由于没有对应的字段,因此添加0补齐。
[0065]
又如,假设用户1允许业务信息a的字段name和height被查询,则用户1的业务信息a的字段权限向量w值为:
[0066]
w=(1001 0000 0000 0000 0000 0000 0000 0000)
[0067]
即,w和w3为1,其余维度对应值为0。
[0068]
另一种实现方式中,不同用户可以具有不同的用户等级;当该字段对应的维度中的数值为1时1级以及1级以上的用户可以查询该字段;当该字段对应的维度中的数值为2时,2级以及2级以上的用户可以查询该字段。
[0069]
每一字段权限向量可以对应于一个id。因此,区块链可以在存储的业务信息的id与该owner之间的关联关系的基础上增加该业务信息的字段权限向量。区块链可以将包括业务信息的id、拥有该业务信息的用户的公钥owner和该业务信息的字段权限向量w的数据作为一条权限规则,存储在区块链中。该权限规则可以表示为p={id,owner,w}。
[0070]
区块链可以获取用户终端发送的查询请求。该查询请求中包括待查询信息编号和使用拥有待查询信息的用户的私钥签名后的待查询字段向量。根据待查询信息编号和从多个权限规则中确定第一目标权限规则。该第一目标权限规则中包括拥有待查询信息的用户的公钥和待查询信息编号对应的业务信息的字段权限向量。区块链可以使用拥有待查询信息的用户的公钥对使用拥有待查询信息的用户的私钥签名后的待查询字段向量进行验证和解析,得到待查询字段向量。当该业务信息的一个维度为待查询字段时,该维度对应的值为1。否则,该维度对应的值为0。区块链可以根据待查询字段向量和字段权限向量的与运算的结果,确定输出字段向量。即,当一个字段对应的维度在待查询字段向量中的值为1,且在字段权限向量中的值为1时,该字段对应的维度在输出字段向量中的值为1。否则,该字段对应的维度在输出字段向量中的值为0。区块链可以根据输出字段向量,将该输出字段向量中值为1的维度对应的待查询信息编号对应的业务信息的字段作为输出内容。区块链可以将该输出内容输出到用户终端。
[0071]
下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0072]
图3示出了本技术一实施例提供的一种权限控制的场景示意图。其中,图3(a)示出了一种业务信息写入区块链的过程,图3(b)示出了一种业务信息的查询过程。其中,图3(a)和图3(b)中所示的区块链实际为执行本技术实施例的区块链的一个节点。该区块链节点中可以包括权限控制模块和数据存储模块。用户可以通过业务应用,在用户终端向区块链发送请求。区块链的一个节点将接收并处理该请求。当区块链的该节点完成该请求的处理后,该区块链的节点可以通过广播的方式将信息同步到该区块链的其他节点中。
[0073]
在图3(a)所示的业务信息写入过程中,用户终端通过应用业务向区块链发送存储请求。该存储请求中可以包括业务信息。区块链接收该存储请求后,权限控制模块获取该业务信息的字段权限向量。该权限控制模块可以根据该业务信息的id、该用户终端对应的公钥和该字段权限向量生成权限规则,并将该权限规则存储在该权限控制模块中。该区块链还可以将业务信息存储到数据存储模块中。
[0074]
在图3(b)所示的业务信息查询过程中,用户终端通过业务应用向区块链发送查询请求。该查询请求中可以包括待查询字段向量。区块链可以通过权限控制模块实现该查询请求的权限校验。当权限校验成功后,该区块链可以从数据存储模块中获取该业务信息对
应的字段,并将该字段内容反馈到业务应用中。用户可以通过用户终端,查看区块链向业务应用反馈的字段内容。
[0075]
本技术中,以区块链的一个节点作为执行主体,执行如下实施例的权限控制方法。具体地,该执行主体可以为区块链节点的硬件装置,或者为区块链节点中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
[0076]
图4示出了本技术一实施例提供的一种权限控制方法的流程图。如图4所示,以区块链节点为执行主体,本实施例的方法可以包括如下步骤:
[0077]
s101、获取查询请求,查询请求中包括待查询信息编号和使用拥有待查询信息的用户的私钥签名后的待查询字段向量。
[0078]
本实施例中,区块链节点可以接收到用户终端向该区块链发送的查询请求。该查询请求中可以包括待查询信息编号。该待查询信息编号可以唯一对应于一个存储在该区块链节点的数据存储模块中存储的业务信息。例如,id=1的信息编号可以对应于用户1的个人信息数据。该业务信息的具体内容可以包括[id=1,name=abc,age=11,weight=23,height=120]。该查询请求中还可以包括使用拥有待查询信息的用户的私钥签名后的待查询字段向量。该待查询字段向量m可以为一个长度为n的向量。该待查询字段向量中的每一个维度可以对应于该业务信息中的一个字段。当该待查询字段向量m中的一个维度的值为1时,表示需要查询该字段。当该待查询字段向量m中的一个维度的值为0时,表示该查询请求不查询该字段。该待查询字段向量m可以表示为:
[0079]
s=(s1,s2,...,sn)
[0080]
其中,n为大于等于m的正整数,在本实施例中,n可以为32。s1至sn表示该业务信息中n个字段的每一字段对应的维度。该字段对应的维度中的数值可以用于表示该字段是否被请求查询。例如,si可以表示该字段权限向量的第i个维度,以及该业务信息的第i个字段是否被查询。wi∈{0,1}。当该字段对应的维度中的数值为0时,表示该字段没有被请求查询;当该字段对应的维度中的数值为1时,表示该字段被请求查询。
[0081]
一种示例中,当发送查询请求的用户与拥有待查询信息的用户为同一用户时,用户终端可以使用私钥sk对该待查询字段向量进行签名,得到签名后的待查询字段向量。
[0082]
另一种示例中,当发送查询请求的用户与拥有待查询信息的用户为不同用户时,发送查询请求的用户的用户终端在向区块链发送该查询请求之前,可以向拥有待查询信息的用户的用户终端发送权限请求。该权限请求中可以包括待查询字段向量。拥有待查询信息的用户的用户终端可以使用私钥sk对该待查询字段向量进行签名,得到签名后的待查询字段向量。拥有待查询信息的用户的用户终端可以将该签名后的待查询字段向量反馈给发送查询请求的用户的用户终端。该发送查询请求的用户的用户终端可以将该签名后的待查询字段向量添加到查询请求中,并将该查询请求发送到区块链。
[0083]
例如,当发送查询请求的用户2需要查询id=1的业务信息时,用户2可以使用用户终端向拥有待查询信息的用户1的用户终端发送授权请求。用户2的用户终端得到用户1的用户终端反馈的授权信息后,用户2可以通过用户终端向区块链发送查询请求,查询id=1的业务信息。
[0084]
例如,该待查询字段向量可以用于向用户1请求该业务信息的全部字段的授权,该
待查询字段可以为:
[0085]
s=(1111 1111 1111 1111 1111 1111 1111 1111)
[0086]
又如,该待查询字段向量可以用于向用户1请求该业务信息的部分字段的授权,该待查询字段可以为:
[0087]
s=(1000 0000 0000 0000 0000 0000 0000 0000)
[0088]
其中,用户2通过用户终端向用户1的用户终端发送授权请求的过程具体可以包括:
[0089]
步骤1、用户2的用户终端向用户1的用户终端发送权限请求。该权限请求中包括待查询信息编号和待查询字段向量。例如,待查询信息编号可以为id=1。
[0090]
步骤2、用户1的用户终端接收到权限请求后,获取其中的待查询字段向量s。该待查询字段向量s中包括n个维度,每一维度可以对应数值0或1。当一个维度的数值为1时,代表用户2想要查询该字段,并想要请求该字段的查询权限。当一个维度的数值为0时,代表用户2不想查询该字段。
[0091]
步骤3、用户1的用户终端使用私钥sk对待查询字段向量s以及待查询信息编号id的哈希值组合成的字符串m
enc
进行签名,得到签名后的待查询字段向量sign。
[0092]menc
=s@hash(id)
[0093]
sign
enc
=ecdsa
enc
(sk,m
enc
)
[0094]
其中,hash(id)为计算id的哈希值。@为该字符串m
enc
中的分隔符,用于分隔待查询字段向量s和哈希计算后的id的值。哈希值也称摘要,数据摘要、数据指纹等。hash值具有单向性和强抗碰撞性。如果两个数据的哈希值相同,认为两个数据一致。因此,hash值常用于验证消息是否被篡改。
[0095]
其中,ecdsa
enc
为使用椭圆曲线数字签名算法(elliptic curve digital signature algorithm,ecdsa)对字符串m
enc
进行签名(加密)。该加密方式为非对称加密。加密和解密所使用的密钥是一对,也就是公钥和私钥。当用公钥被用于加密时,私钥用于解密。或者,当私钥被用于加密时,公钥被用于解密。例如,上述ecdsa
enc
中,私钥sk被用于对字符串m
enc
进行加密。
[0096]
例如,字符串m
enc
可以表示为:m=1111

1111@356a

28ab。其中
“…”
表示该字符串中部分字符被省略。使用ecdsa
enc
对该字符串m
enc
进行加密后得到的签名可以表示为sign
enc
=u2fsdgvkx1 okrmsyacyjlt...。
[0097]
步骤3、用户1的用户终端可以将该签名反馈到用户2的终端设备。
[0098]
步骤4、用户2的终端设备将该签名添加到查询请求中,并将该查询请求发送到区块链。
[0099]
s102、根据待查询信息编号从多个权限规则中确定第一目标权限规则,第一目标权限规则中包括拥有待查询信息编号的用户的公钥和待查询信息编号对应的字段权限向量。
[0100]
本实施例中,区块链节点可以从该查询请求中获取待查询信息编号id。区块链节点可以根据该id,从该区块链节点的权限控制模块中获取该id对应的权限规则p。该权限规则p即为第一目标权限规则。该权限规则p={id,owner,w}。即,区块链节点可以从该第一目标权限规则p中获取该id对应的拥有该业务信息的用户的公钥owner。该区块链节点还可以
从该第一目标权限规则p中获取该id对应的业务信息的字段权限向量。
[0101]
s103、使用第一目标权限规则中的公钥对签名后的待查询字段向量进行验证和解析,得到待查询字段向量。
[0102]
本实施例中,区块链节点可以使用该第一目标权限规则中的公钥owner对该查询请求中签名后的待查询字段向量进行验证和解析。如果验证成功,说明该查询请求具备查询权限,同时可以得到待查询字段向量。如果验证失败说明该查询请求不具备查询权限。
[0103]
该解密过程可以为:
[0104]mdec
=ecdsa
dec
(owner,sign
enc
)
[0105]
其中,m
dec
为解密得到的字符串。当解密成功时,该m
dec
中可以包括待查询字段向量和待查询信息编号id的哈希值。当解密失败时,该m
dec
中为空,或者,该m
dec
中的id的哈希值错误。
[0106]
一种示例中,该验证和解析的过程可以包括如下步骤:
[0107]
步骤1、区块链节点使用公钥对签名后的待查询字段向量进行验证。该验证即为解签(解密)的过程。区块链节点可以解密得到字符串m
dec

[0108]
步骤2、区块链节点判断该字符串m
dec
是否为空。当该字符串m
dec
为空时,验证失败。区块链节点可以输出验证失败提醒。
[0109]
步骤3、否则,区块链节点可以确定验证成功。区块链节点可以从字符串m
dec
中解析得到待查询字段向量。该步骤中,该区块链节点可以根据分隔符@将该字符串m
dec
中的待查询字段向量和id的哈希值区分开。
[0110]
s104、根据待查询字段向量和字段权限向量,确定输出字段向量。
[0111]
本实施例中,待查询字段向量s为一个长度为n的向量,字段权限向量w为一个长度为n的向量。因此,区块链节点可以对该待查询字段向量和字段权限向量中的每一个维度进行逐一计算,得到输出字段向量。例如,对于第i个维度,区块链节点获取第i个维度对应的第i个字段的权限wi和是否请求查询第i个字段的si。当该第i个字段的权限为可以查询wi=1,且该第i个字段为请求查询si=1时,该第i个字段在输出字段向量r中的值可以为ri=1。否则,该第i个字段在输出字段向量r中的值可以为ri=0。其中,输出字段向量r可以表示为:
[0112]
r=(r1,r2,...,rn)
[0113]
其中,n为正整数。r1至rn表示该业务信息中n个字段的每一字段对应的维度。该字段对应的维度中的数值可以用于表示该字段的是否将被输出。
[0114]
一种示例中,对待查询字段向量和字段权限向量进行与运算,得到输出字段向量。
[0115]
例如,该业务信息a的数据结构可以为[id=1,name=abc,age=11,weight=23,height=120]。该业务信息对应的字段权限向量可以为:
[0116]
w=(1100 0000 0000 0000 0000 0000 0000 0000)
[0117]
该id=1的业务信息中的第一个字段和第二个字段可以被访问。即,字段name和字段age可以被访问。
[0118]
该查询请求中的待查询信息编号为id=1,待查询字段向量s可以为:
[0119]
s=(1001 0000 0000 0000 0000 0000 0000 0000)
[0120]
即,发送该查询请求的用户想要查询上述id=1的业务信息中的第一个字段和第
四个字段。该第一个字段为name,第四个字段为height。
[0121]
区块链节点可以将该待查询字段向量和字段权限向量进行与运算,计算得到输出字段向量r。该输出字段向量r可以为:
[0122]
r=(1000 0000 0000 0000 0000 0000 0000 0000)
[0123]
即,字段name可以被查询,且被请求查询,因此,该字段name将被输出。字段height不可以被查询,但是被请求查询,因此,该字段height将无法输出。因此,根据该输出字段向量r可以确定只有第一个字段将被输出。
[0124]
s105、根据输出字段向量和待查询信息编号对应的业务信息的多个字段,确定并输出业务信息中的输出字段。
[0125]
本实施例中,区块链节点可以根据待查询信息编号id,从该区块链节点的数据存储模块中获取该id对应的业务信息。例如,区块链节点可以根据id=1,确定该id对应的业务信息[id=1,name=abc,age=11,weight=23,height=120]。
[0126]
区块链节点还可以根据输出字段向量,确定该业务信息中需要输出的字段。例如,根据出字段向量r=(1000 0000 0000 0000 0000 0000 0000 0000),可以确定r1=1。即,i=1的字段为需要输出的字段的序号。区块链节点可以根据i=1的序号,确定输出字段为data[1]=a1[0127]
本技术提供的权限控制方法,区块链节点可以接收到用户终端向该区块链发送的查询请求。区块链节点可以从该查询请求中获取待查询信息编号和使用拥有待查询信息的用户的私钥签名后的待查询字段向量。区块链节点可以根据该待查询信息编号,从该区块链节点的权限控制模块中获取该对应的第一目标权限规则。第一目标权限规则中包括拥有待查询信息编号的用户的公钥和待查询信息编号对应的字段权限向量。区块链节点可以使用该第一目标权限规则中的公钥对该查询请求中签名后的待查询字段向量进行验证和解析。如果验证成功,说明该查询请求具备查询权限。该区块链节点可以解析得到待查询字段向量。如果验证失败说明该查询请求不具备查询权限。区块链节点还可以根据输出字段向量,确定并输出该业务信息中需要输出的字段。本技术中,通过签名算法与逻辑运算,实现区块链上数据的细粒度权限控制,提高了业务信息查询的安全性,保障了用户数据隐私性。同时,本技术的校验效率达到最低时间复杂度o(1),运算效率达到最低时间复杂度o(1),极大的提高了查询效率。此外,在本实施例中字段权限向量为32位,该字段权限向量的增加在存储时占用的内存较低,几乎不对业务数据的正常存储产生任何影响。
[0128]
图5示出了本技术一实施例提供的一种权限控制方法的流程图。在图4所示实施例的基础上,如图5所示,以区块链节点为执行主体,本实施例的方法可以包括如下步骤:
[0129]
s201、获取查询请求,查询请求中包括待查询信息编号和使用拥有待查询信息的用户的私钥签名后的待查询字段向量。
[0130]
s202、根据待查询信息编号从多个权限规则中确定第一目标权限规则,第一目标权限规则中包括拥有待查询信息编号的用户的公钥和待查询信息编号对应的字段权限向量。
[0131]
其中,步骤s201和步骤s202与图4实施例中的步骤s101和步骤s102实现方式类似,本实施例此处不再赘述。
[0132]
s203、当查询请求中还包括使用发送查询请求的用户的私钥签名后的用户信息,
使用公钥对用户信息进行验证。
[0133]
本实施例中,查询请求中还包括用户信息。该用户信息可以为发送查询请求的用户使用其私钥对id的哈希值进行签名(加密)后的数据。区块链节点可以从查询请求中获取该用户信息。区块链节点还可以使用第一目标权限规则中的公钥对该用户信息进行验证(解密)。如果解密得到的字符串与id的哈希值相同,则说明验证成功。当验证成功时,说明发送查询请求的用户与拥有该业务信息的用户为同一用户。该区块链节点可以继续执行步骤s204。否则,如果解密得到的字符串为空,或者解密得到的字符串与id的哈希值不同,则说明验证失败。当验证失败时,说明发送查询请求的用户不是拥有该业务信息的用户。则区块链节点跳转到步骤s205。
[0134]
s204、如果验证成功,则输出待查询信息编号对应的业务信息的全部字段。
[0135]
本实施例中,如果验证成功,则说明发送查询请求的用户与拥有该业务信息的用户为同一用户。区块链节点可以不考虑该业务信息的权限控制。拥有该业务信息的用户可以拥有该业务信息的最高权限,该用户可以查询该业务信息的全部字段。因此,区块链节点可以输出待查询信息编号对应的业务信息的全部字段。
[0136]
s205、使用第一目标权限规则中的公钥对签名后的待查询字段向量进行验证和解析,得到待查询字段向量。
[0137]
s206、根据待查询字段向量和字段权限向量,确定输出字段向量。
[0138]
s207、根据输出字段向量和待查询信息编号对应的业务信息的多个字段,确定并输出业务信息中的输出字段。
[0139]
其中,步骤s205至步骤s207与图4实施例中的步骤s103至步骤s105实现方式类似,本实施例此处不再赘述。
[0140]
本技术提供的权限控制方法,区块链节点可以接收到用户终端向该区块链发送的查询请求。区块链节点可以根据该该查询请求中的待查询信息编号,从该区块链节点的权限控制模块中获取该对应的第一目标权限规则。区块链节点可以从查询请求中获取用户信息。区块链节点还可以使用第一目标权限规则中的公钥对该用户信息进行验证。如果验证成功,区块链节点可以输出待查询信息编号对应的业务信息的全部字段。如果验证失败,区块链节点可以使用该第一目标权限规则中的公钥对该查询请求中签名后的待查询字段向量进行验证和解析,得到输出字段向量。区块链节点可以根据该输出字段向量和该待查询信息编号对应的业务信息,确定并输出该业务信息中需要输出的字段。本技术中,通过提高了业务信息查询的安全性,保障了用户数据隐私性,提高了查询效率。
[0141]
在上述实施例的基础上,区块链节点实现权限控制的一种实现方式可以如图6所示。用户可以通过用户终端向区块链发送查询请求查询id=1的业务信息。拥有该id=1的业务信息的用户为用户1。区块链节点首先可以从该查询请求中获取用户信息,并根据该用户信息判断发送该查询请求的用户是否为用户1。当发送该查询请求的用户为用户1时,区块链节点可以向该用户终端返回该id=1的业务信息中的全部字段,并结束该次请求。当发送该查询请求的用户不是用户1时,区块链节点可以该通过使用拥有待查询信息的用户的私钥签名后的待查询字段向量和owner,校验该查询请求是否具有查询权限。当该查询请求没有查询权限时,该次请求结束。当该查询请求具有查询权限时,区块链节点可以解析该签名后的待查询字段向量,得到授权信息。该授权信息中包括用户1授权后的待查询字段向
量。区块链节点可以使用授权信息和权限规则进行运算,得到运算结果,该运算结果为输出字段向量。当该输出字段向量中全部为0时,区块链节点返回无查询结果,并结束该次查询。否则,根据该输出字段向量,从该id对应的业务信息中筛选输出字段。区块链节点可以输出这些输出字段,并结束该次查询。
[0142]
图7示出了本技术一实施例提供的一种权限控制方法的流程图。在图4至图6所示实施例的基础上,如图7所示,以区块链节点为执行主体,本实施例的方法可以包括如下步骤:
[0143]
s301、获取存储请求,存储请求中包括待存储业务信息、公钥和字段权限向量。
[0144]
本实施例中,区块链节点获取用户终端发送的存储请求。该查询请求中可以包括待存储的业务信息和字段权限向量。
[0145]
一种示例中,该查询请求中可以包括发送该存储请求的用户的公钥。
[0146]
另一种示例中,区块链节点可以根据发送该存储请求的用户终端,查找到发送该存储请求的用户的公钥。
[0147]
本示例中,用户可以在用户终端生成公私钥对。该公私钥对中可以包括公钥pk和私钥sk。当用户终端在第一次连接到区块链时,用户终端可以通过区块链的共识特性广播,广播该用户的公钥pk。当用户再次通过该用户终端向区块链发送存储请求、查询请求、更新请求时,区块链可以根据该用户终端,确定其对应的公钥pk。例如,该待存储的业务信息可以为:
[0148]
data={1,name=abc,age=11,weight=23,height=120}
[0149]
一种示例中,由于用户只能通过用户终端发送该用户的存储请求,因此,区块链节点可以直接根据该用户发送的存储请求,存储业务信息和权限规则。
[0150]
另一种示例中,为了避免恶意存储,区块链节点可以对存储请求进行权限验证。当权限验证成功时,区块链节点存储该业务信息,并反馈存储成功。否则,区块链节点直接反馈存储失败的提醒。
[0151]
一种示例中,该查询请求中可以包括字段权限向量。该字段权限向量中包括该业务信息中每一个字段的权限。例如,当该业务信息的全部字段为可查询时,该字段权限向量为:
[0152]
w=(1111 0000 0000 0000 0000 0000 0000 0000)
[0153]
另一种示例中,当存储请求中不包括字段权限向量时,区块链节点可以生成默认字段权限向量。该默认字段权限向量中默认每一字段均为不可查询。该默认字段权限向量可以表示为:
[0154]
w=(0000 0000 0000 0000 0000 0000 0000 0000)
[0155]
s302、根据存储请求,生成信息编号,信息编号用于唯一标识待存储业务信息。
[0156]
本实施例中,区块链节点可以根据当前数据存储模块中已经存储的业务信息,确定该存储请求对应的信息编号id。该信息编号id可以用于唯一标识该存储请求中的待存储业务信息。
[0157]
s303、根据信息编号、公钥和字段权限向量生成权限规则,并存储权限规则。
[0158]
本实施例中,区块链节点可以根据信息编号id、发送该存储请求的用户的公钥和字段权限向量,生成权限规则。该权限规则可以表示为:
[0159]
p={id,owner,w}
[0160]
其中,owner用于表示发送该存储请求的用户的公钥pk。w为该业务信息对应的字段权限向量。例如,p={1,b613679a0814d9ec772f9,1111 0000 0000 0000 0000 0000 0000 0000}。
[0161]
区块链节点可以将该权限规则存储到该区块链节点的权限控制模块中。该区块链节点还可以通过广播将该权限规则同步到其他区块链节点中。
[0162]
s304、存储待存储业务信息和信息编号。
[0163]
本实施例中,区块链节点将该信息编号和该待存储业务信息一起存储到该区块链节点的数据存储模块中。该区块链节点还可以通过广播将存储后的该业务信息同步到其他区块链节点中。
[0164]
本技术提供的权限控制方法,区块链节点获取用户终端发送的存储请求。区块链节点可以根据当前数据存储模块中已经存储的业务信息,确定该存储请求对应的信息编号。区块链节点可以根据信息编号、发送该存储请求的用户的公钥和字段权限向量,生成权限规则。区块链节点将该信息编号和该待存储业务信息一起存储到该区块链节点的数据存储模块中。本技术中,通过在业务信息存储过程中对应生成并存储权限规则,实现该业务信息的的权限控制,提高了该业务信息的安全性,保障了用户数据隐私性。
[0165]
在上述实施例的基础上,区块链节点实现权限控制的一种实现方式可以如图8所示。用户可以通过用户终端向区块链节点发送存储请求。该存储请求用户请求区块链节点将待存储业务信息插入区块链节点的数据存储模块中。区块链节点可以判断该存储请求中是否包括字段权限向量。当该存储请求中包括字段权限向量时,区块链节点可以获取该字段权限向量。当该存储请求中不包括该字段权限向量时,该区块链节点可以生成默认字段权限向量。区块链节点可以根据字段权限向量生成权限规则,并将该权限规则存储到权限控制模块中。区块链节点可以将该待存储业务信息存储到数据存储模块中。
[0166]
图9示出了本技术一实施例提供的一种权限控制方法的流程图。在图4至图8所示实施例的基础上,如图9所示,以区块链节点为执行主体,本实施例的方法可以包括如下步骤:
[0167]
s401、获取更新请求,更新请求中包括待更新信息编号和使用发送更新请求的用户的私钥签名后的新字段权限向量。
[0168]
本实施例中,当用户需要更新一业务信息的权限时,用户可以在用户终端生成该待更新业务信息的新字段权限向量。用户终端可以使用该用户的私钥对该新字段权限向量进行签名(加密)。用户终端可以根据该待更新业务信息的待更新信息编号和该签名后的新字段权限向量生成更新请求。用户终端可以将该更新请求发送到区块链节点。区块链节点接收该更新请求。
[0169]
例如,用户1的id=1的业务信息可以为[id=1,name=abc,age=11,weight=23,height=120]。该业务信息的原始字段权限向量w可以为:w=(1001 0000 0000 0000 0000 0000 0000 0000)。用户可以在用户终端生成新字段权限向量w

=(1100 0000 0000 0000 0000 0000 0000 0000)。该新字段权限向量使原本不可以被访问的字段age可以被访问,使原本可以被访问的字段height不可以被访问。
[0170]
区块链节点接收到的更新请求中的新字段权限向量为用户终端使用该用户的私
钥签名后的新字段权限向量。其中,用户终端的签名过程可以表示为:
[0171]menc
=w

@hash(id)
[0172]
sign
enc
=ecdsa
enc
(sk,m
enc
)
[0173]
其中,sign
enc
为加密后得到的签名。m
enc
为新字段权限向量与id的哈希值组成的字符串。
[0174]
s402、根据待更新信息编号从多个权限规则中确定第二目标权限规则,第二目标权限规则中包括拥有待更新信息编号的用户的公钥和待更新信息编号对应的字段权限向量。
[0175]
本实施例中,区块链节点可以从该更新请求中获取待更新信息编号id。区块链节点可以根据该id,从该区块链节点的权限控制模块中获取该id对应的权限规则p。该权限规则p即为第二目标权限规则。该权限规则p={id,owner,w}。即,区块链节点可以从该第二目标权限规则p中获取该id对应的用户的公钥owner。该区块链节点还可以从该第二目标权限规则p中获取该id对应的原始字段权限向量。
[0176]
s403、使用公钥对签名后的新字段权限向量进行验证和解析,得到新字段权限向量。
[0177]
本实施例中,区块链节点可以使用公钥owner对该签名后的新字段权限向量sign
enc
进行验证(解密)。该验证过程可以为:
[0178]mdec
=ecdsa
dec
(owner,sign
enc
)
[0179]
其中,m
dec
为解密得到的字符串。当解密成功时,该m
dec
中可以包括新字段权限向量和待更新信息编号id的哈希值。当解密失败时,该m
dec
中为空,或者,该m
dec
中的id的哈希值错误。
[0180]
如果解密失败,则说明该签名不是拥有该id的用户签署的。因此,当验证失败时,区块链节点可以直接向用户终端反馈更新错误。否则,当验证成功时,区块链节点可以继续执行下述步骤,对字段权限向量进行更新。
[0181]
s404、将第二目标权限规则中的待更新信息编号对应的字段权限向量替换为新字段权限向量。
[0182]
本实施例中,区块链节点可以将第二目标权限规则中的字段权限向量替换为新字段权限向量。区块链节点可以将该更新后的第二目标权限规则保存在权限控制模块中。区块链节点还可以通过广播将该更新后的第二目标权限规则同步到其他区块链节点。
[0183]
本技术提供的权限控制方法,区块链节点接收该更新请求。更新请求中包括待更新信息编号和使用发送更新请求的用户的私钥签名后的新字段权限向量。区块链节点可以根据待更新信息编号从多个权限规则中确定第二目标权限规则。第二目标权限规则中包括拥有待更新信息编号的用户的公钥和待更新信息编号对应的字段权限向量。区块链节点可以使用公钥对签名后的新字段权限向量进行验证和解析,得到新字段权限向量。区块链节点可以将第二目标权限规则中的待更新信息编号对应的字段权限向量替换为新字段权限向量。本技术中,通过更新该权限规则,提高了权限管理的灵活性。
[0184]
在上述实施例的基础上,区块链节点实现权限控制的一种实现方式可以如图10所示。用户可以在用户终端生成新字段权限向量。用户可以在用户终端使用私钥对该新字段权限向量进行签名。用户可以将该签名后的新字段权限向量添加到更新请求中,并将该更
新请求发送到区块链中。该更新请求中还可以包括待更新信息编号id。区块链可以根据该id确定该用户的公钥。区块链可以使用该公钥对该签名后的新字段权限向量进行解密。如果解密成功则使用该新字段权限向量更新该id对应的权限规则。否则,如果解密失败则向用户终端发送没有权限的提示信息。
[0185]
图11示出了本技术一实施例提供的一种权限控制装置的结构示意图,如图11所示,本实施例的权限控制装置10用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的权限控制装置10包括:
[0186]
获取模块11,用于获取查询请求,查询请求中包括待查询信息编号和使用拥有待查询信息的用户的私钥签名后的待查询字段向量。
[0187]
处理模块12,用于根据待查询信息编号从多个权限规则中确定第一目标权限规则,第一目标权限规则中包括拥有待查询信息编号的用户的公钥和待查询信息编号对应的字段权限向量。使用公钥对签名后的待查询字段向量进行验证和解析,得到待查询字段向量。根据待查询字段向量和字段权限向量,确定输出字段向量。根据输出字段向量和待查询信息编号对应的业务信息的多个字段,确定并输出业务信息中的输出字段。
[0188]
一种示例中,处理模块12,具体用于使用公钥对签名后的待查询字段向量进行验证。当验证失败时,输出验证失败提醒。当验证成功时,使用公钥对签名后的待查询字段向量进行解析,得到待查询字段向量。
[0189]
一种示例中,处理模块12,具体用于对待查询字段向量和字段权限向量进行与运算,得到输出字段向量。
[0190]
一种示例中,查询请求中还包括使用发送查询请求的用户的私钥签名后的用户信息,使用公钥对签名后的待查询字段向量进行验证和解析之前,处理模块12,还用于使用公钥对用户信息进行验证。如果验证成功,则输出待查询信息编号对应的业务信息的全部字段。
[0191]
一种示例中,处理模块12,还用于获取存储请求,存储请求中包括待存储业务信息、公钥和字段权限向量。根据存储请求,生成信息编号,信息编号用于唯一标识待存储业务信息。根据信息编号、公钥和字段权限向量生成权限规则,并存储权限规则。
[0192]
一种示例中,当存储请求中不包括字段权限集合时,处理模块12,还用于生成默认字段权限集合,默认字段权限集合中默认每一字段均为不可查询。
[0193]
一种示例中,处理模块12,还用于获取更新请求,更新请求中包括待更新信息编号和使用发送更新请求的用户的私钥签名后的新字段权限向量。根据待更新信息编号从多个权限规则中确定第二目标权限规则,第二目标权限规则中包括拥有待更新信息编号的用户的公钥和待更新信息编号对应的字段权限向量。使用公钥对签名后的新字段权限向量进行验证和解析,得到新字段权限向量。将第二目标权限规则中的待更新信息编号对应的字段权限向量替换为新字段权限向量。
[0194]
本技术实施例提供的权限管理装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
[0195]
图12示出了本技术实施例提供的一种区块链节点的硬件结构示意图。如图12所示,该区块链节点20,用于实现上述任一方法实施例中对应于区块链节点的操作,本实施例的区块链节点20可以包括:存储器21,处理器22和通信接口24。
[0196]
其中,存储器21可以用于存储计算机程序、业务信息、权限规则等。该存储器21可能包含高速随机存取存储器(random access memory,ram),也可能还包括非易失性存储(non-volatile memory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0197]
其中,处理器22可以用于执行存储器存储的计算机程序,以实现上述实施例中的权限控制方法。具体可以参见前述方法实施例中的相关描述。该处理器22可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0198]
可选地,存储器21既可以是独立的,也可以跟处理器22集成在一起。
[0199]
当存储器21是独立于处理器22之外的器件时,区块链节点20还可以包括总线23。该总线23用于连接存储器21和处理器22。该总线23可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0200]
通信接口24,可以通过总线23与处理器21连接。该通信接口24可以用于实现与用户终端之间的交互。该通信接口24还可以用于向其他区块链节点广播信息或者接收其他区块链节点广播的信息。
[0201]
本实施例提供的区块链节点可用于执行上述的权限控制方法,其实现方式和技术效果类似,本实施例此处不再赘述。
[0202]
本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
[0203]
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。另外,该asic可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
[0204]
具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,sram),电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,eeprom),可擦除可编程只读存储器(erasable programmable read only memory,eprom),可编程只读存储器(programmable read-only memory,prom),只读存储器(read-only memory,rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够
存取的任何可用介质。
[0205]
本技术还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
[0206]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0207]
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本技术可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0208]
当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例方法的部分步骤。
[0209]
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0210]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

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

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

相关文献