基于区块链的信息交互方法、装置、设备、介质和产品与流程

文档序号:27263900发布日期:2021-11-05 23:08阅读:101来源:国知局
基于区块链的信息交互方法、装置、设备、介质和产品与流程

1.本公开涉及区块链领域,具体地涉及一种基于区块链的信息交互方法、装置、设备、存储介质和程序产品。


背景技术:

2.需求交互系统是客户与企业之间进行沟通的重要工具。通过需求交互系统,客户提出的需求可以传达至企业,而企业可以根据客户提出的需求进行反馈,从而实现交互。
3.然而,目前的需求交互系统为实现例如存证、安全验证等功能,需要设置一些特定的环节,而这导致了各部分成员之间信息交流、意见反馈流程冗余,信息传递效率较低。


技术实现要素:

4.鉴于上述问题,本公开提供了提高信息传递效率的一种基于区块链的信息交互方法、装置、设备、存储介质和程序产品。
5.根据本公开的第一个方面,提供了一种基于区块链的信息交互方法,应用于信息交互装置中,其中,所述信息交互装置包括:多个区块链网络和信息存储中心,所述多个区块链网络包括第一区块链网络和第二区块链网络,所述信息存储中心包括第一存储单元和第二存储单元,所述第一存储单元用于存储由所述第一区块链网络中的节点写入的信息,所述第二存储单元用于存储由所述第二区块链网络中的节点写入的信息;所述信息交互方法包括:
6.根据用户的访问请求,将用户接入所述多个区块链网络中与所述访问请求相匹配的区块链网络中;
7.当用户接入所述第一区块链网络时,所述信息交互方法还包括:
8.授予用户第一操作权限,所述第一操作权限配置为,使用户能够对所述第一存储单元中存储的信息进行查询和修改;
9.当用户接入所述第二区块链网络时,所述信息交互方法还包括:
10.授予用户第二操作权限,所述第二操作权限配置为,使用户能够对所述第二存储单元中存储的信息进行查询;以及,
11.对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限,所述第三操作权限配置为,使用户能够对所述第二存储单元中存储的与用户的节点相匹配的信息进行修改。
12.根据本公开的实施例,当用户接入所述第二区块链网络时,所述信息交互方法还包括:
13.获取用户的写入请求,所述写入请求包括用户写入的信息以及第一标识信息,所述第一标识信息用于标识发送所述写入请求的节点的身份;
14.将所述第一标识信息和用户写入的信息存储至所述第二存储单元,以得到第一信息;
15.所述对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限的步骤包括:
16.获取用户的修改请求,以及第二存储单元中存储的与所述修改请求相对应的第一信息,所述修改请求包括第二标识信息,所述第二标识信息用于标识发送所述修改请求的节点的身份;
17.当所述第二标识信息和与所述修改请求相对应的第一信息的所述第一标识信息相匹配时,授予用户所述第三操作权限。
18.根据本公开的实施例,当用户接入所述第二区块链网络时,所述信息交互方法还包括:
19.在所述授予用户第二操作权限的步骤之前,验证用户的节点的身份;
20.当用户的节点的身份通过验证时,授予用户所述第二操作权限。
21.根据本公开的实施例,当用户接入所述第二区块链网络时,所述信息交互方法还包括:
22.获取用户的注册请求;
23.生成与用户的节点相对应的私钥作为该节点的第一标识信息;以及,
24.生成与私钥相匹配的公钥作为第三标识信息;
25.所述验证用户的节点的身份的步骤包括:
26.当第一标识信息与所述第三标识信息相匹配时,判定用户的节点的身份通过验证。
27.根据本公开的实施例,所述第一区块链网络为公共链网络,所述第二区块链网络为联盟链网络。
28.根据本公开的实施例,所述第一区块链网络采用的共识机制包括:股权证明或工作量证明;所述第二区块链网络采用的共识机制包括:实用拜占庭容错算法。
29.本公开的第二方面提供了一种信息交互装置,其中,所述信息交互装置包括:多个区块链网络和信息存储中心,所述多个区块链网络包括第一区块链网络和第二区块链网络,所述信息存储中心包括第一存储单元和第二存储单元,所述第一存储单元用于存储由所述第一区块链网络中的节点写入的信息,所述第二存储单元用于存储由所述第二区块链网络中的节点写入的信息;
30.所述多个区块链网络中的每个均包括:
31.接入模块,用于当用户的访问请求与该接入模块所属的区块链网络相匹配时,将用户接入该接入模块所属的区块链网络中;
32.所述第一区块链网络包括:第一权限认证模块,用于当用户接入所述第一区块链网络时,授予用户第一操作权限,所述第一操作权限配置为,使用户能够对所述第一存储单元中存储的信息进行查询和修改;
33.所述第二区块链网络包括:第二权限认证模块,用于当用户接入所述第二区块链网络时,
34.授予用户第二操作权限,所述第二操作权限配置为,使用户能够对所述第二存储单元中存储的信息进行查询;以及,对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限,所述第三操作权限配置为,使用户能够对所述第二存储单元中存储的
与用户的节点相匹配的信息进行修改。
35.本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述的信息交互方法。
36.本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的信息交互方法。
37.本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的信息交互方法。
38.上述一个或多个实施例具有如下优点或益效果:
39.通过区块链的防篡改和可追溯等特性,可以省去各成员在交互中为实现存证和安全验证等功能而设置的冗余环节,提高各成员之间的信息传递效率。同时,在第二区块链网络中,各节点均需要进行身份验证后才能对与其相匹配的信息进行修改,从而防止第二存储单元中存储的某一信息遭到其他节点干涉,增强了第二存储单元中存储的信息的可靠性。
附图说明
40.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
41.图1示意性示出了根据本公开实施例的信息交互方法、装置、设备、介质和程序产品的应用场景图;
42.图2示意性示出了根据本公开实施例的信息交互装置的示意图;
43.图3示意性示出了根据本公开实施例的信息交互方法的流程图之一;
44.图4示意性示出了根据本公开实施例的信息交互方法的流程图之二;
45.图5示意性示出了根据本公开实施例的用户进行注册的流程图;
46.图6示意性示出了根据本公开实施例的验证用户的节点的身份的流程图;
47.图7示意性示出了根据本公开实施例的进行信息写入的流程图;
48.图8a示意性示出了根据本公开实施例的信息交互装置的结构框图;
49.图8b示意性示出了根据本公开实施例的第二区块链网络的结构框图;
50.图9示意性示出了根据本公开实施例的适于实现信息交互方法的电子设备的方框图。
具体实施方式
51.为方便理解本技术实施例的方案,首先给出相关概念的简要介绍如下:
52.第一,区块链技术。
53.区块链技术,也被称为分布式账本技术,是一种由若干台计算设备共同参与“记账”(即记录交易数据),共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化(即没有中心节点)、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
54.目前,区块链按照部署方式可以分为:公共链和联盟链。公共链是指全世界任何设备都可读取的区块链,或者是任何设备都能参与交易的共识验证过程的区块链。联盟链,也称共同体区块链(consortium block chains),是指由指定区块链的参与成员组成联盟,成员之间的业务往来信息被记录在区块链中,限定了使用规模和权限。
55.第二,区块链节点。
56.本公开实施例中的区块链包括多个区块链节点(以下可以简称为节点)。其中,节点为具有通信功能以及存储功能的设备,如存储有区块链数据的设备。每一个节点既可接收信息,也可生成信息。不同的节点之间通过维护一个共同的区块链来保持通信和数据同步。具体的,在区块链系统中,任一节点可以根据客户端发送的与交易相关的数据生成新的区块链数据,并以广播的形式发布至其他节点,其他节点可以对这个区块链数据进行验证。当区块链系统中的所有节点达成共识后,新的区块链数据就可以被添加到该区块链中。
57.可选的,本公开实施例中的节点可以理解为处理单元。在一种实现方式中,节点可以为物理设备,例如服务器或者计算机。在另一种实现方式中,节点可以为虚拟计算机;虚拟计算机为所有类型的虚拟化设备中软件虚拟出来的运行环境的统称,该概念包括虚拟机和容器。在其他实现方式中,本公开实施例中的节点可以为进程(process)或者线程(thread);线程是操作系统能够进行运算调度的最小单位,线程被包含在进程之中,是进程中的实际运作单位;进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。
58.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
59.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
60.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
61.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
62.本公开实施例提供一种基于区块链的信息交互方法,该方法应用于信息交互装置中,信息交互装置包括:多个区块链网络和信息存储中心。其中,多个区块链网络包括第一区块链网络和第二区块链网络,信息存储中心包括第一存储单元和第二存储单元,第一存储单元用于存储由第一区块链网络中的节点写入的信息,第二存储单元用于存储由第二区块链网络中的节点写入的信息。
63.本公开实施例提供的信息交互方法包括:根据用户的访问请求,将用户接入多个
区块链网络中与访问请求相匹配的区块链网络中;当用户接入第一区块链网络时,信息交互方法还包括:授予用户第一操作权限,第一操作权限配置为,使用户能够对第一存储单元中存储的信息进行查询和修改;当用户接入第二区块链网络时,信息交互方法还包括:授予用户第二操作权限,第二操作权限配置为,使用户能够对第二存储单元中存储的信息进行查询;以及,对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限,第三操作权限配置为,使用户能够对第二存储单元中存储的与用户的节点相匹配的信息进行修改。
64.采用本公开实施例的信息交互方法,通过区块链的防篡改和可追溯等特性,可以省去各成员在交互中为实现存证和安全验证等功能而设置的冗余环节,提高各成员之间的信息传递效率。同时,在第二区块链网络中,各节点均需要进行身份验证后才能对与其相匹配的信息进行修改,从而防止第二存储单元中存储的某一信息遭到其他节点干涉,增强了第二存储单元中存储的信息的可靠性。
65.图1示意性示出了根据本公开实施例的信息交互方法、装置、设备、介质和程序产品的应用场景图,如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
66.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
67.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
68.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
69.需要说明的是,本公开实施例所提供的一种基于区块链的信息交互方法一般可以由服务器105执行。相应地,本公开实施例所提供的一种基于区块链的信息交互装置一般可以设置于服务器105中。本公开实施例所提供的一种基于区块链的信息交互方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的一种基于区块链的信息交互装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
70.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
71.以下将基于图1描述的场景,通过图2和图3对公开实施例的一种基于区块链的信息交互方法进行详细描述。
72.图2示意性示出了根据本公开实施例的信息交互装置的示意图,如图2所示,信息交互装置包括:多个区块链网络a和信息存储中心b。其中,多个区块链网络a包括第一区块
链网络a1和第二区块链网络a2,信息存储中心b包括第一存储单元和第二存储单元,第一存储单元用于存储由第一区块链网络a1中的节点写入的信息,第二存储单元用于存储由第二区块链网络a2中的节点写入的信息。
73.图3示意性示出了根据本公开实施例的信息交互方法的流程图之一。结合图2和图3所示,该实施例的一种基于区块链的信息交互包括步骤s210至步骤s240。
74.在步骤s210,根据用户的访问请求,将用户接入多个区块链网络中与访问请求相匹配的区块链网络中。在本步骤中,首先获取用户的访问请求,之后,根据用户的访问请求,将用户接入第一区块链网络a1中;或者,根据用户的访问请求,将用户接入第二区块链网络a2中。
75.在本公开实施例中,访问请求中可以包括用户想要访问的区块链网络,多个区块链网络中与访问请求相匹配的区块链网络可以是指多个区块链网络中接收到访问请求的区块链网络。示例性地,当用户想要访问第一区块链网络a1时,向第一区块链网络发a1出访问请求,第一区块链网络a1获取到访问请求后,将用户接入第一区块链网络a1中。
76.当用户接入第一区块链网络a1时,第一区块链网络a1可以执行步骤s220。在步骤s220,授予用户第一操作权限,第一操作权限配置为,使用户能够对第一存储单元中存储的信息进行查询和修改。
77.在一些具体实施例中,参与到第一区块链网络a1中的成员和第二区块链网络a2中的成员可以根据实际应用确定,下面以参与到区块链网络中的成员包括甲单位和乙单位为例,对本公开实施例的信息交互方法进行说明。
78.在本公开实施例中,乙单位内各个部门通过第一区块链网络a1进行交互。第一区块链网络a1中每个节点的查询和修改的权限可以相同,因此,乙单位内的部门可以与第一区块链网络a1中的节点一一对应,从而使每个部门都可以对第一存储单元中存储的信息进行查询和修改,并且,根据区块链的共识机制,每个部门对第一存储单元中存储的信息进行查询和修改时,均会被记录并存储至第一存储单元,以达成第一区块链网络a1中全部或部分节点的数据全备份,从而使任一信息的每项编辑都可以被追溯。同时,每个节点在进行查询和修改时,其合法性需要经过第一区块链中的部分或全部节点的验证,例如采用作量证明(pow)共识的区块链网络,至少需要全网51%算力的攻击才有可能篡改已有数据,因此能够防止第一存储单元中的内容遭到篡改。
79.当用户接入第二区块链网络a2时,第二区块链网络a2执行步骤s230和s240。
80.在步骤s230,授予用户第二操作权限,第二操作权限配置为,使用户能够对第二存储单元中存储的信息进行查询。
81.在步骤s240,对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限,第三操作权限配置为,使用户能够对第二存储单元中存储的与用户的节点相匹配的信息进行修改。
82.在本公开实施例中,乙单位中的各部门除参与第一区块链网络a1之外,还与甲单位通过第二区块链网络a2进行交互。第二区块链网络a2中的各个节点的查询权限相同,因此,可以使乙单位与甲单位与第二区块链网络a2的节点一一对应,从而使乙单位和甲单位均能看到第二存储单元存储的所有信息。而第二区块链网络a2中的节点仅能对与之匹配的内容进行修改,从而防止第二存储单元中存储的某一信息遭到其他节点干涉,进而提高了
第二存储单元存储的信息的可靠性。示例性地,第二区块链网络a2中的每个节点只能对由自己写入的信息进行修改,这样一来,乙单位(或甲单位)对甲单位(或乙单位)写入的信息只能查看而无法进行修改,此时,乙单位(或甲单位)对甲单位(或乙单位)写入的信息进行反馈的方式可以采用写入新的内容来实现。需要说明的是,除使乙单位与甲单位与第二区块链网络a2的节点一一对应之外,也可以是二者的各个部门与第二区块链网络a2的节点一一对应,具体可以根据实际需要确定,在此不作限制。
83.下面将基于图1描述的场景,以乙单位内各部门通过第一区块链网络a1进行交互,乙单位和甲单位通过第二区块链网络a2进行交互为例,通过图2、图4至图7对公开实施例的一种基于区块链的信息交互方法进行详细描述。
84.在一些具体实施例中,多个区块链网络所采用的共识机制可以包括工作量证明(pow)、股权证明(pos)、委托权益证明(dpos)以及实用拜占庭容错(pbft)等。
85.可选地,第一区块链网络a1为公共链网络,第二区块链网络a2为联盟链网络。
86.可选地,第一区块链网络a1采用的共识机制包括:股权证明或工作量证明,第二区块链网络a2采用的共识机制包括:实用拜占庭容错算法。
87.图4示意性示出了根据本公开实施例的信息交互方法的流程图之二,如图4所示,本公开实施例的信息交互方法包括步骤s300至步骤s360。
88.在步骤s300,获取用户的访问请求。
89.当第一区块链网络a1接收到用户的访问请求时,执行步骤s310。
90.在步骤s310,第一区块链网络a1根据用户的访问请求,将用户接入至第一区块链网络a1中。
91.在本公开实施例中,用户在发出访问请求时,还可以发出相应的操作请求,例如,写入请求,修改请求等,区块链网络在获取到操作请求时,执行相应的操作。
92.当用户访问第一区块链网络a1且向第一区块链网络a1发出查询/修改请求时,获取用户的查询/修改请求,并执行步骤s320。
93.在步骤s320,第一区块链网络a1授予用户第一操作权限,以使用户能够对第一存储单元中存储的信息进行查看和修改。
94.在一些具体实施例中,第一存储单元中所存储的信息可以根据实际需要确定,在此不作限制。例如,第一存储单元中存储的信息可以包括当前在建项目中的相关信息,例如,相关信息可以包括甲单位提出的项目需求以及乙单位内各个部门对项目需求的反馈信息。
95.示例性地,甲单位提出一项项目需求,该项目需求经第一区块链网络a1存储至第一存储单元,在第一区块链网络a1中,乙单位内各个部门对甲单位提出的项目需求进行反馈,并将反馈信息存储至第一存储单元中。可选地,第一区块链网络a1可以按照项目的阶段对存储至第一存储单元中的反馈信息进行分类,例如,项目的阶段可以包括需求获取阶段、分析阶段、研发阶段和验证阶段等。第一区块链网络a1可以对待存储的反馈信息进行例如提取关键词、语义识别等操作,以确认待存储的反馈信息的类型,之后对待存储的反馈信息分配相应的标签后,将待存储的反馈信息存储至第一存储单元,以供乙单位内各个部门随时查看和修改。
96.在本公开实施例中,第一区块链网络a1还可以对第一存储单元中的相关信息进行
整合,整合后的信息可以通过第二区块链网络a2存储至第二存储单元。其中,对第一存储单元中的相关信息进行整合可以通过例如语义识别、分类或者其他本领域技术人员能够想到的方式进行。以在前文中的研发阶段和验证阶段对功能模块进行总计三次的修改为例,第一区块链网络a1可以对三次修改过程的相关信息进行语义识别,提取出针对功能模块的每一项功能的删、改、增等操作,将对同一功能的删、改、增等操作作为一类进行合并以及脱敏等操作,只保留最终的结果。这样一来,第二区块链网络a2中的甲单位能够直观的看到反馈结果,同时还能避免第一存储单元中乙单位内部的敏感信息外泄。
97.当第二区块链网络a2接收到用户的访问请求时,执行步骤s330。
98.在步骤s330,第二区块链网络a2根据用户的访问请求,将用户接入至第二区块链网络a2中。
99.当用户访问第二区块链网络a2且向第二区块链网络a2发出查询请求时,获取用户的查询请求并执行步骤s340。
100.在步骤s340,验证用户的节点的身份。当用户的节点的身份通过验证时,执行步骤s350。当用户的节点的身份未通过验证时,则拒绝查询请求。
101.在一些具体实施例中,可以通过非对称加密算法验证用户的节点的身份或者通过其他本领域技术人员能够想到的方式验证用户的节点的身份。下面以采用非对称加密算法为例,对本公开实施例中验证用户的节点的身份的过程进行说明。
102.在一些具体实施例中,用户在首次访问第二区块链网络a2时先进行注册。图5示意性示出了根据本公开实施例的用户进行注册的流程图,如图5所示,注册过程包括步骤s410至步骤s420。
103.在步骤s410,获取用户的注册请求。
104.在步骤s420,生成与用户的节点相对应的私钥作为该节点的第一标识信息;以及,生成与私钥相匹配的公钥作为第三标识信息。
105.在本公开实施例中,可以根据国密sm2算法或其他本领域技术人员能够想到的非对称加密算法生成公钥和私钥。生成的公钥由第二区块链网络a2留存,生成的私钥由用户的节点留存。
106.图6示意性示出了根据本公开实施例的验证用户的节点的身份的流程图,结合图4和图6所示,步骤s340包括步骤s341和步骤s342。
107.在步骤s341,获取用户的节点的第一标识信息。
108.在步骤s342,当第一标识信息与第三标识信息相匹配时,判定用户的节点的身份通过验证,并执行步骤s350。
109.在步骤s350,授予用户第二操作权限,以使用户能够对第二存储单元中存储的信息进行查询。
110.在本公开实施例中,第二存储单元中的所存储的信息可以根据实际需要确定,示例性地,第二存储单元中存储的信息可以包括当前在建项目中的关键信息,例如,关键信息可以包括甲单位提出的项目需求以及乙单位中各个部门对项目需求的反馈信息整合后的信息。前文中已经对将反馈信息进行整合的过程进行过详细说明,故在此不再赘述。
111.在一些具体实施例中,除上述的在建项目外,第二存储单元还可以存储已经完成的项目的信息。例如,当某一在建项目完成后,可以将该项目归类为已经完成的项目,并将
第二存储单元中与该项目关联的信息进行整合,例如脱敏,或者删除冗余数据等,从而将该项目作为历史案例在乙单位和甲单位之间进行共享。
112.图7示意性示出了根据本公开实施例的进行信息写入的流程图,如图7所示,在一些具体实施例中,当用户接入第二区块链网络a2时,信息交互方法还包括步骤s510至步骤s530。
113.在步骤s510,获取用户的写入请求,写入请求包括用户写入的信息以及第一标识信息,第一标识信息用于标识发送写入请求的节点的身份。
114.在本公开实施例中,第一标识信息可以是前文中在步骤s420中生成的私钥,故,在步骤s510之后,也可以对用户的节点的身份进行验证,也即执行步骤s520。
115.在步骤s520,判断第一标识信息与第三标识信息是否匹配,当第一标识信息与第三标识信息相匹配时,确定用户的节点的身份通过验证,并执行步骤s530;当第一标识信息与第三标识信息不匹配时,则拒绝写入请求。
116.在步骤s530,将第一标识信息和用户写入的信息存储至第二存储单元,以得到第一信息。
117.在本公开实施例中,可以通过第一标识信息(也即私钥)对用户写入的信息进行签名,并将签名后的信息存储至第二存储单元中,以得到第一信息。
118.在本公开实施例中,通过非对称加密算法生成的公私钥除了可以对节点进行身份认证外,还可以对节点存储至第二存储单元中的信息的合法性进行验证,进而确定信息在传输过程中是否遭到篡改。示例性地,对需要传输的数据,做哈希计算,例如,可以使用安全散列算法(securehash algorithm,sha)进行运算。数据接收端在接收到传输的数据后,需要确认该数据是否就是数据发送端发出的数据,中途是否曾经被篡改。因此拿自身持有的公钥对接收到的数据进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密),得到了数据的摘要,然后使用与数据发送端同样的哈希算法计算接收到的数据的摘要值,再与解密得到的摘要做对比,若发现二者完全一致,则说明文本没有被篡改过。
119.如图4所示,在本公开实施例中,当用户访问第二区块链网络a2且向第二区块链网络a2发出修改请求,以对第二存储单元中存储的信息进行修改时,执行步骤s360。
120.在步骤s360,对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限,第三操作权限配置为,使用户能够对第二存储单元中存储的与用户的节点相匹配的信息进行修改。
121.在本公开实施例中,步骤s360包括步骤s361和步骤s362。
122.在步骤s361,获取用户的修改请求,以及第二存储单元中存储的与修改请求相对应的第一信息(下文称为第一信息c),修改请求包括第二标识信息,第二标识信息用于标识发送修改请求的节点的身份。
123.在本公开实施例中,第二标识信息可以是前文中在步骤s420中生成的私钥。这样一来,第二区块链网络a2利用第三标识信息(也即公钥)与第二标识信息进行匹配,即可确定出发送修改请求的节点的身份。
124.在步骤s362,当第二标识信息和与修改请求相对应的第一信息c的第一标识信息相匹配时,授予用户第三操作权限。
125.在本公开实施例中,第二存储单元中存储的信息只能由写入该信息的节点进行修
改,那么,第二区块链网络a2可以利用第三标识信息和第二标识信息确定出发送修改请求的节点的身份,利用第三标识信息与第一信息c的第一标识信息确定出写入第一信息c的节点的身份,当两个节点的身份一致时,授予用户第三操作权限,以使用户能够对第一信息c进行修改。
126.如图2所示,在一些具体实施例中,多个区块链网络a还可以包括第三区块链网络a3,信息存储中心b还包括第三存储单元,第三存储单元用于存储第三区块链网络a3所写入的信息。
127.在本公开实施例中,第三区块链网络a3所能实现的方法步骤可以与第二区块链网络a2所能实现的方法步骤相同,故在此不再赘述。示例性地,乙单位和同业可以通过第三区块链网络a3进行交互,第三存储单元所存储的内容可以是用于业内共享的内容,例如前文所述的第二存储单元中存储的已经完成的项目的信息。
128.可选地,第三区块链网络a3为联盟链网络。
129.可选地,第三区块链网络a3采用的共识机制包括:实用拜占庭容错算法。
130.基于上述的信息交互方法,本公开还提供了一种基于区块链的信息交互装置。以下将结合图8a对该装置进行详细描述。
131.图8a示意性示出了根据本公开实施例的信息交互装置的结构框图,如图8a所示,该实施例的信息交互装置800包括多个区块链网络和信息存储中心b,所述多个区块链网络包括第一区块链网络a1和第二区块链网络a2,所述信息存储中心b包括第一存储单元和第二存储单元,所述第一存储单元用于存储由所述第一区块链网络a1中的节点写入的信息,所述第二存储单元用于存储由所述第二区块链网络a2中的节点写入的信息。
132.多个区块链网络中的每个均包括接入模块810,第一区块链网络a1还包括,第一权限认证模块820,第二区块链网络a2还包括第二权限认证模块830。
133.接入模块810用于当用户的访问请求与该接入模块810所属的区块链网络相匹配时,将用户接入该接入模块810所属的区块链网络中。在一实施例中,接入模块810可以用于执行前文描述的步骤s210,在此不再赘述。
134.第一权限认证模块820用于当用户接入第一区块链网络a1时,授予用户第一操作权限,第一操作权限配置为,使用户能够对第一存储单元中存储的信息进行查询和修改。在一实施例中,第一权限认证模块820可以用于执行前文描述的步骤s220,在此不再赘述。
135.第二权限认证模块830用于当用户接入第二区块链网络a2时,授予用户第二操作权限,第二操作权限配置为,使用户能够对第二存储单元中存储的信息进行查询;以及,对用户的节点进行权限识别,并根据识别的结果,授予用户第三操作权限,第三操作权限配置为,使用户能够对第二存储单元中存储的与用户的节点相匹配的信息进行修改。在一实施例中,第二权限认证模块830可以用于执行前文描述的步骤s230和步骤s240,在此不再赘述。
136.根据本公开的实施例的信息交互装置,通过区块链的防篡改和可追溯等特性,可以省去各成员在交互中为实现存证和安全验证等功能而设置的冗余环节,提高各成员之间的信息传递效率。同时,在第二区块链网络a2中,各节点均需要进行身份验证后才能对与其相匹配的信息进行修改,从而防止第二存储单元中存储的某一信息遭到其他节点干涉,增强了第二存储单元中存储的信息的可靠性。
137.根据本公开的实施例,接入模块810、第一权限认证模块820和第二权限认证模块830中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接入模块810、第一权限认证模块820和第二权限认证模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接入模块810、第一权限认证模块820和第二权限认证模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
138.图8b示意性示出了根据本公开实施例的第二区块链网络a2的结构框图,如图8b所示,本公开实施例的第二区块链网络a2的各个功能模块可以划分为用于对用户的身份、权限进行授予和识别的功能模块c1以及用于实现各个操作的功能模块c2,例如,功能模块c1可以包括:接入模块810、第二权限认证模块830、身份认证模块840和注册模块850,功能模块c2可以包括写入模块860、查询模块870、存储模块880和修改模块890。其中,各个模块的具体功能在前文中已有详细介绍,故在此不再赘述。第一区块链网络a1的结构可以参照第二区块链网络a2得到,故在此也不再赘述。
139.在一些具体实施例中,甲单位可以包括多个部门,多个部门分别通过多个节点接入第二区块链网络a2。例如,甲单位可以包括部门a和部门b,部门a和部门b分别通过两个节点接入第二区块链网络a2,部门a可以向第二存储单元中存储原始的需求信息,部门b可以查询原始的需求信息而不能对其修改,部门b可以在原始的需求信息的基础上进行优化以得到优化后的需求信息,并将优化后的需求信息存储至第二存储单元存中。这样一来,第二存储单元中同时存储有原始的需求信息和优化后的需求信息,从而在保证信息完整性的同时提高需求信息的可读性。
140.在一些具体实施例中,乙单位可以包括多个部门,多个部门分别通过多个节点接入第二区块链网络a2。例如,乙单位可以包括部门c和部门d,部门c和部门d分别通过两个节点接入第二区块链网络a2。部门c可以查询第二存储单元中存储的原始的需求信息和优化后的需求信息而不能对其修改,部门c可以根据第二存储单元中存储的原始的需求信息和优化后的需求信息进行挖掘等工作,以得到最终的需求信息,并将最终的需求信息存储至第二存储单元中。部门d则可以以最终的需求信息为基准,同时参考原始的需求信息和优化后的需求信息进行开发等工作。而部门a和部门b能够查询部门c和部门d所存储的内容,并随时根据部门c和部门d所存储的内容进行反馈。
141.综上,通过本公开实施例的信息交互装置大大增强了甲单位和乙单位之间的交互性。
142.图9示意性示出了根据本公开实施例的适于实现信息交互方法的电子设备的方框图。
143.如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程
序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
144.在ram 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、rom 902以及ram 903通过总线904彼此相连。处理器901通过执行rom 902和/或ram 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除rom 902和ram 903以外的一个或多个存储器中。处理器901也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
145.根据本公开的实施例,电子设备900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。电子设备900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
146.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例所提供的信息交互方法。
147.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 902和/或ram 903和/或rom 902和ram 903以外的一个或多个存储器。
148.本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的信息交互方法。
149.在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
150.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
151.在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
152.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
153.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
154.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
155.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1