基于区块链的数据关联方法、装置及计算设备
技术领域
本发明实施例涉及区块链技术领域,具体涉及一种基于区块链的数据关联方法、装置及计算设备。
背景技术
现有技术中,多方参与的数据关联的方法主要分为两种:一种是以其中一方的中间数据库作为关联媒介,数据所属双方将需要关联的数据统一导入指定的数据库中,在数据库中执行相应逻辑(或执行相应关联查询语句),并将关联结果告知数据所属双方;另一种是数据持有的一方索要对方数据,在自己的平台进行数据关联操作。现有技术有如下缺点:
1)、数据可篡改,关联过程不受信任。例如,可以通过替换原始字段内容实现数据伪造,也可以通过修改关联结果逻辑而导致关联结果的不准确。
2)、数据安全与隐私无法保障。例如,采用明文或原始形式上传待关联数据,关联平台运维方可在未授权的情况下通过访问文件系统或查看相应表等方法获取原始数据具体内容,造成数据的不安全。
由上可见,现有技术方案均未能有效保证数据安全,从而造成关联结果的不可靠。
发明内容
鉴于上述问题,本发明实施例提供了一种基于区块链的数据关联方法、装置及计算设备,克服了上述问题或者至少部分地解决了上述问题。
根据本发明实施例的一个方面,提供了一种基于区块链的数据关联方法,应用于客户端,所述客户端通过区块链网络连接服务器,所述方法包括:
在所述服务器接收第一数据和第二数据的关联请求后,接收所述服务器发送的所述第一数据描述信息,其中,所述第一数据描述信息由所述服务器通过所述区块链网络获取第一数据描述信息的摘要后,基于所述第一数据描述信息的摘要检索得到;
根据所述第一数据描述信息获取第一数据包;
接收所述服务器发送的第一临时密钥;
根据所述第一临时密钥,加密所述第一数据包;
将加密后的所述第一数据包通过所述区块链网络发送至所述服务器,以使所述服务器对所述第一数据进行数据关联操作;
其中,所述第一数据描述信息和所述第一数据包为根据所述第一数据生成的。
在一种可选的方式中,所述方法还包括:
根据所述第一数据,生成所述第一数据描述信息和所述第一数据包;
将所述第一数据描述信息通过所述区块链网络发送至所述服务器,其中,所述区块链网络存储所述第一数据描述信息的摘要。
在一种可选的方式中,在根据所述第一临时密钥,加密所述第一数据包之前,所述方法还包括:对所述第一数据包进行校验。
在一种可选的方式中,所述方法还包括:
将所述第一数据包发送至所述区块链网络,以使所述区块链网络存储所述第一数据包的摘要;
则,所述对所述第一数据包进行校验,进一步包括:
生成所述第一数据包的本地摘要;
从所述区块链网络获取所述第一数据包的摘要;
根据所述第一数据包的本地摘要和所述第一数据包的摘要,对所述第一数据包进行校验,若所述第一数据包的本地摘要与所述第一数据包的摘要相同,则校验通过,否则,校验不通过。
在一种可选的方式中,所述方法还包括:
接收所述服务器发送的第一授权请求;
在接收到用户发送的所述第一授权请求的确认指令后,返回所述第一授权请求的确认指令至所述服务器。
根据本发明实施例的另一方面,提供了一种基于区块链的数据关联方法,应用于服务器,所述服务器通过所述区块链网络连接多个客户端,所述客户端包括第一客户端和第二客户端,所述方法包括:
接收发送的第一数据和第二数据的关联请求;
根据所述关联请求,通过所述区块链网络获取第一数据描述信息的摘要和第二数据描述信息的摘要,并基于所述第一数据描述信息的摘要和所述第二数据描述信息的摘要检索第一数据描述信息和第二数据描述信息;
发送所述第一数据描述信息至所述第一客户端,以使所述第一客户端根据所述第一数据描述信息获取第一数据包;并发送所述第二数据描述信息至所述第二客户端,以使所述第二客户端根据所述第二数据描述信息获取第二数据包;
发送第一临时密钥至所述第一客户端,以使所述第一客户端根据所述第一临时密钥加密所述第一数据包;并发送第二临时密钥至所述第二客户端,以使所述第二客户端根据所述第二临时密钥加密所述第二数据包;
接收所述第一客户端通过所述区块链网络发送的加密后的所述第一数据包,以及所述第二客户端通过所述区块链网络发送的加密后的所述第二数据包;
根据加密后的所述第一数据包和加密后的所述第二数据包,进行数据关联操作;
其中,所述第一数据描述信息和所述第一数据包为根据所述第一数据生成的,所述第二数据描述信息和所述第二数据包为根据所述第二数据生成的。
在一种可选的方式中,所述方法还包括:
接收所述第一客户端通过所述区块链网络发送的所述第一数据描述信息,并接收所述第二客户端通过所述区块链网络发送的所述第二数据描述信息,其中,所述第一数据描述信息的摘要、所述第二数据描述信息的摘要存储于所述区块链网络;
将所述第一数据描述信息和所述第二数据描述信息存储至数据库。
在一种可选的方式中,所述方法还包括:
接收第一数据和第二数据的查找请求;
根据所述查找请求,在所述数据库中查找是否存在所述第一数据描述信息和所述第二数据描述信息;
将查找结果发送给发出查找请求的客户端或用户。
在一种可选的方式中,所述根据加密后的所述第一数据包和加密后的所述第二数据包,进行数据关联操作,进一步包括:
根据所述第一临时密钥和所述第二临时密钥,分别解密并获取所述第一数据包和所述第二数据包;
对所述第一数据包和所述第二数据包进行数据关联操作。
在一种可选的方式中,在所述对所述第一数据包和所述第二数据包进行数据关联操作之前,所述方法还包括:
接收第一数据包和第二数据包的关联条件;
根据所述关联条件,对所述第一数据包和所述第二数据包进行验证;
若验证通过,则执行对所述第一数据包和所述第二数据包进行数据关联操作的步骤。
在一种可选的方式中,在所述发送所述第一数据描述信息至所述第一客户端之前,所述方法还包括:
根据所述关联请求,发送第一授权请求至所述第一客户端;
接收所述第一客户端返回的所述第一授权请求的确认指令;
在所述发送所述第二数据描述信息至所述第二客户端之前,所述方法还包括:
根据所述关联请求,发送第二授权请求至所述第二客户端;
接收所述第二客户端返回的所述第二授权请求的确认指令。
根据本发明实施例的另一方面,提供了一种基于区块链的数据关联装置,应用于客户端,所述客户端通过所述区块链网络连接服务器,所述装置包括:
描述信息接收模块,用于在所述服务器接收第一数据和第二数据的关联请求后,接收所述服务器发送的所述第一数据描述信息,其中,所述第一数据描述信息由所述服务器通过所述区块链网络获取第一数据描述信息的摘要后,基于所述第一数据描述信息的摘要检索得到;
数据包获取模块,用于根据所述第一数据描述信息获取第一数据包;
临时密钥接收模块,用于接收所述服务器发送的第一临时密钥;
加密模块,用于根据所述第一临时密钥,加密所述第一数据包;
数据包发送模块,用于将加密后的所述第一数据包通过所述区块链网络发送至所述服务器,以使所述服务器对所述第一数据进行数据关联操作;
其中,所述第一数据描述信息和所述第一数据包为根据所述第一数据生成的。
根据本发明实施例的另一方面,提供了一种基于区块链的数据关联装置,应用于服务器,所述服务器通过所述区块链网络连接多个客户端,所述客户端包括第一客户端和第二客户端,所述方法包括:
关联请求接收模块,用于接收其中一所述客户端发送的第一数据和第二数据的关联请求;
描述信息获取模块,用于根据所述关联请求,通过所述区块链网络获取第一数据描述信息的摘要和第二数据描述信息的摘要,并基于所述第一数据描述信息的摘要和第二数据描述信息的摘要检索第一数据描述信息和第二数据描述信息;
描述信息发送模块,用于发送所述第一数据描述信息至所述第一客户端,以使所述第一客户端根据所述第一数据描述信息获取第一数据包,并发送所述第二数据描述信息至所述第二客户端,以使所述第二客户端根据所述第二数据描述信息获取第二数据包;
临时密钥发送模块,用于发送第一临时密钥至所述第一客户端,以使所述第一客户端根据所述第一临时密钥加密所述第一数据包,并发送第二临时密钥至所述第二客户端,以使所述第二客户端根据所述第二临时密钥加密所述第二数据包;
数据包接收模块,用于接收所述第一客户端通过所述区块链网络发送的加密后的所述第一数据包,以及所述第二客户端通过所述区块链网络发送的加密后的所述第二数据包;
关联模块,用于根据加密后的所述第一数据包和加密后的所述第二数据包,进行数据关联操作;
其中,所述第一数据描述信息和所述第一数据包为根据所述第一数据生成的,所述第二数据描述信息和所述第二数据包为根据所述第二数据生成的。
根据本发明实施例的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的基于区块链的数据关联方法的操作。
根据本发明实施例的另一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上所述的基于区块链的数据关联方法。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的基于区块链的数据关联系统的结构示意图;
图2示出了本发明实施例提供的基于区块链的数据关联方法的流程图;
图3示出了本发明实施例基于区块链的数据关联的方法的过程流程图;
图4示出了本发明实施例中数据申报的方法流程图;
图5示出了本发明实施例中数据申报的过程流程图;
图6示出了本发明实施例中在数据库中查找数据的方法流程图;
图7示出了本发明实施例中进行客户端授权的方法流程图;
图8示出了本发明另一实施例提供的基于区块链的数据关联方法的流程图;
图9示出了本发明又一实施例提供的基于区块链的数据关联方法的流程图;
图10示出了本发明实施例提供的基于区块链的数据关联装置的结构示意图;
图11示出了本发明另一实施例提供的基于区块链的数据关联装置的结构示意图;
图12示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的基于区块链的数据关联系统的结构示意图。该基于区块链的数据关联系统100为本发明实施例提供的基于区块链的数据关联方法和装置的运行环境。如图1所示,在该基于区块链的数据关联系统100中,包括:客户端10、服务器20和区块链网络30。服务器20通过区块链网络30连接多个客户端10,其中,客户端10包括第一客户端11和第二客户端12。
其中,客户端10可进行数据包生成、数据包申报、数据包预览、数据包销毁、数据包加解密、数据包上传等操作;服务器20具备数据包标签一栏、数据关联字段选择、数据关联客户端脚本生成、临时密钥生成、数据关联任务监控、关联结果报表、全程摘要上链等功能;区块链网络30按照合约存储待关联数据/关联操作的相关摘要,且其合约具备实时写入实际行为与反向回溯验证的能力。
在本发明实施例中,将不同用户所使用的不同客户端10以及服务器30分别作为区块链网络30中的区块链节点,并在每一客户端10以及服务器30中安装用于数据关联的区块链应用,这样,基于区块链技术,通过区块链应用能够将数据存储至区块链网络中,以保证数据的安全、不被篡改,从而保证多方参与的数据关联的关联结果的可靠性。
图2示出了本发明实施例提供的基于区块链的数据关联方法的流程图,该方法应用于图1所示的基于区块链的数据关联系统100中。如图2所示,该方法包括:
步骤210、服务器接收第一数据和第二数据的关联请求。
本步骤中,服务器接收用户或任一客户端发送的第一数据和第二数据的关联请求。其中,用户或任一客户端为获得数据关联许可的用户或客户端,例如可以为第一客户端的用户、第二客户端的用户或者与服务器通过区块链网络连接的其他客户端的用户,还可以为第一客户端、第二客户端或者与服务器通过区块链网络连接的其他客户端。其中,可以通过登录账号等方法验证用户是否获得数据关联许可。
本步骤中,第一数据和第二数据的关联请求是指用户希望对第一数据和第二数据进行数据关联而发送的请求。例如,假设第一数据为化妆品营销用户清单,第二数据为用户性别,用户希望将化妆品营销用户清单与用户性别进行数据关联,以对化妆品进行精准营销,因此,用户发送第一数据和第二数据的关联请求。
其中,第一数据和第二数据的属性包括但不限于:文本类型、图像类型、表格类型。
步骤220、服务器根据关联请求,通过区块链网络获取第一数据描述信息的摘要和第二数据描述信息的摘要,并基于第一数据描述信息的摘要和第二数据描述信息的摘要检索第一数据描述信息和第二数据描述信息。
其中,第一数据描述信息是根据第一数据生成的,第二数据描述信息是根据第二数据生成的。第一数据描述信息的摘要、第二数据描述信息的摘要是区块链网络对第一数据描述信息和第二数据描述信息分别根据预设特定规则生成的相同长度的数据序列。例如,第一数据描述信息为0001,第二数据描述信息为0002,根据预设特定规则生成的第一描述信息的摘要、第二数据描述信息的摘要分别为abcdef、ghijkl。当第一数据描述信息与第二数据描述信息不同时,生成的摘要也不同,只有当第一数据描述信息与第二数据描述信息完全相同时,生成的摘要才相同。
本步骤中,由于服务器与区块链网络连接,服务器能够通过区块链网络获取存储在区块链网络的第一数据描述信息的摘要和第二数据描述信息的摘要。如图3中A1、A2所示,服务器根据第一数据描述信息的摘要检索第一数据描述信息,具体可以为:服务器根据预先存储的第一数据描述信息以及区块链网络中的第一数据描述信息的摘要,验证第一数据描述信息的摘要与预先存储的第一数据描述信息的对应关系,若该对应关系成立,则检索到第一数据描述信息,并且,服务器根据第一数据描述信息的摘要查找存储的区块链网络的区块,并通过该区块获取到生成第一数据描述信息的第一客户端。如图3中B1、B2所示,服务器根据第二数据描述信息的摘要检索第二数据描述信息,具体可以为:服务器根据预先存储的第二数据描述信息以及区块链网络中的第二数据描述信息的摘要,验证第二数据描述信息的摘要与预先存储的第二数据描述信息的对应关系,若该对应关系成立,则检索到第二数据描述信息,并且,服务器根据第二数据描述信息的摘要查找存储的区块链网络的区块,并通过该区块获取到生成第二数据描述信息的第二客户端。
区块链网络中预先存储有第一数据描述信息的摘要和第二数据描述信息的摘要,服务器预先存储有第一数据描述信息和第二数据描述信息,以使服务器基于第一数据描述信息的摘要、第二数据描述信息的摘要分别检索得到第一数据描述信息、第二数据描述信息。因此,在服务器接收第一数据和第二数据的关联请求之前,还需要进行数据申报。图4示出了本发明实施例中数据申报的方法流程图。图5示出了本发明实施例中数据申报的过程流程图。如图4和图5所示,数据申报具体还包括:
步骤201、第一客户端根据第一数据,生成第一数据描述信息和第一数据包;第二客户端根据第二数据,生成第二数据描述信息和第二数据包。
本步骤中,第一客户端和第二客户端先进行数据申报,以使服务器中存储有第一客户端的数据和第二客户端的数据,从而使得服务器端的用户能对数据发送关联请求。如图5中A1、A2、A3所示,第一客户端根据第一数据生成第一数据描述信息和第一数据包,其中,第一数据描述信息包含了第一数据的数据存储位置、数据创建时间、数据获取方式、数据大小、数据加密方式、数据归属中的一种或多种内容,第一数据包为第一数据的文本形式的数据快照。如图5中B1、B2、B3所示,第二客户端根据第二数据生成第二数据描述信息和第二数据包,其中,第二数据描述信息包含了第二数据的数据存储位置、数据创建时间、数据获取方式、数据大小、数据加密方式、数据归属中的一种或多种内容,第二数据包为第二数据的文本形式的数据快照。
步骤202、第一客户端将第一数据描述信息通过区块链网络发送至服务器,第二客户端将第二数据描述信息通过区块链网络发送至服务器,其中,第一数据描述信息的摘要、第二数据描述信息的摘要存储于区块链网络。
本步骤中,在对数据生成描述信息后,第一客户端将生成的第一数据描述信息通过区块链网络发送至服务器(如图5中A4、A5所示),第二客户端将生成的第二数据描述信息通过区块链网络发送至服务器(如图5中B4、B5所示),以保证第一数据描述信息和第二数据描述信息的不可篡改性。
其中,当第一客户端将第一数据描述信息发送至区块链网络时,区块链网络中的一个区块生成第一数据描述信息的摘要并存储,当第二客户端将第二数据描述信息发送至区块链网络时,区块链网络中的另一个区块生成第二数据描述信息的摘要并存储。
步骤203、第一客户端将第一数据包发送至区块链网络,以使区块链网络存储第一数据包的摘要;第二客户端将第二数据包发送至区块链网络,以使区块链网络存储第二数据包的摘要。
本步骤中,在对数据生成数据局包后,第一客户端将生成的第一数据包发送至区块链网络,区块链网络生成第一数据包的摘要并存储,第二客户端将生成的第二数据包发送至区块链网络,区块链网络生成第二数据包的摘要并存储,以使得区块链网络中存储有第一数据和第二数据的原始数据的摘要信息,从而使得后续可通过摘要信息对数据进行验证,防止数据被篡改。
步骤204、服务器接收第一客户端通过区块链网络发送的第一数据描述信息,并接收第二客户端通过区块链网络发送的第二数据描述信息。
本步骤中,服务器接收第一客户端发送的第一数据描述信息,并接收第二客户端发送的第二数据描述信息,同时,区块链网络记录第一客户端、第二客户端与服务器之间的数据交易信息。
步骤205、服务器将第一数据描述信息和第二数据描述信息存储至数据库。
本步骤中,服务器将接收到的第一数据描述信息和第二数据描述信息存储至数据库,以使得服务器端的用户可在数据库中查找到所需的第一数据描述信息和第二数据描述信息。
服务器端的用户可在数据库中查找所需关联的数据,从而对特定数据发送关联请求。因此,该方法还可以包括在数据库中查找数据。图6示出了本发明实施例中在数据库中查找数据的方法流程图。如图6所示,在数据库中查找数据具体还包括:
步骤206、接收第一数据和第二数据的查找请求。
本步骤中,服务器接收用户或任一客户端发送的第一数据和第二数据的查找请求。其中,查找请求可以包含数据关键字等检索信息。
步骤207、根据查找请求,在数据库中查找是否存在第一数据描述信息和第二数据描述信息。
步骤208、将查找结果发送给发出查找请求的客户端或用户。
本步骤中,若在数据库中查找到存在第一数据描述信息和第二数据描述信息,则返回包含第一数据描述信息和第二数据描述信息的查找结果给发出查找请求的客户端或用户;若数据库中不存在第一数据描述信息和第二数据描述信息,则返回查找失败的查找结果给发出查找请求的客户端或用户。
步骤230、服务器发送第一数据描述信息至第一客户端,并发送第二数据描述信息至第二客户端;服务器发送第一临时密钥至第一客户端,并发送第二临时密钥至第二客户端。
本步骤中,服务器发送第一数据描述信息至第一客户端,服务器发送第一临时密钥至第一客户端,可以同时发送或者分别发送;服务器发送第二数据描述信息至第二客户端,服务器发送第二临时密钥至第二客户端,可以同时发送或者分别发送。
步骤240、第一客户端接收服务器发送的第一数据描述信息,第二客户端接收服务器发送的第二数据描述信息;第一客户端接收服务器发送的第一临时密钥,第二客户端接收服务器发送的第二临时密钥。
本步骤中,第一客户端接收服务器发送的第一数据描述信息,第一客户端接收服务器发送的第一临时密钥,可以同时接收或分别接收;第二客户端接收服务器发送的第二数据描述信息,第二客户端接收服务器发送的第二临时密钥,可以同时接收或分别接收。其中,第一临时密钥、第二临时密钥为服务器随机生成的密钥。
步骤250、第一客户端根据第一数据描述信息获取第一数据包,第二客户端根据第二数据描述信息获取第二数据包。
本步骤中,如图3中A4所示,当第一客户端接收到第一数据描述信息后,第一客户端根据第一数据描述信息中包含的信息(例如第一数据包的位置信息等)获取之前生成的第一数据包;如图3中B4所示,当第二客户端接收到第二数据描述信息后,第二客户端根据第二数据描述信息中包含的信息(例如第二数据包的位置信息等)获取之前生成的第二数据包。
步骤260、第一客户端根据第一临时密钥加密第一数据包,第二客户端根据第二临时密钥加密第二数据包。
本步骤中,如图3中A5所示,当第一客户端接收到第一临时密钥后,第一客户端按照服务器提供的第一临时密钥加密第一数据包,以得到加密后的第一数据包;如图3中B5所示,当第二客户端接收到第二临时密钥后,第二客户端按照服务器提供的第二临时密钥加密第二数据包,以得到加密后的第二数据包。
步骤270、第一客户端将加密后的第一数据包通过区块链网络发送至服务器,第二客户端将加密后的第二数据包通过区块链网络发送至服务器。
本步骤中,如图3中A6和A7所示,第一客户端将加密后的第一数据包通过区块链网络发送至服务器,区块链网络记录第一客户端和服务器之间的数据交互信息;如图3中B6和B7所示,第二客户端将加密后的第二数据包通过区块链网络发送至服务器,区块链网络记录第二客户端和服务器之间的数据交互信息。
步骤280、服务器接收第一客户端通过区块链网络发送的加密后的第一数据包,并接收第二客户端通过区块链网络发送的加密后的第二数据包。
本步骤中,服务器接收加密后的第一数据包和加密后的第二数据包后,服务器将加密后的第一数据包和加密后的第二数据包存储至服务器的数据库中。
步骤290、服务器根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作。
本步骤中,如图3中A8和B8所示,服务器根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,具体包括:服务器根据第一临时密钥,对加密后的第一数据包进行解密,以获取第一数据包,服务器根据第二临时密钥,对加密后的第二数据包进行解密,以获取第二数据包;服务器在数据库中对第一数据包和第二数据包进行数据关联操作,并返回关联结果。
其中,在对加密后的第一数据包和加密后的第二数据包进行解密之后,并在对第一数据包和第二数据包进行数据关联操作之前,该方法还包括:
步骤291、获取第一数据包和第二数据包的关联条件。
本步骤中,第一数据包和第二数据包的关联条件可以从第一数据和第二数据的关联请求中获取。其中,第一数据包的关联条件和第二数据包的关联条件可以为第一数据包的内容条件和第二数据包的内容条件,例如,假设第一数据为化妆品营销用户清单,第二数据为用户性别,则第一数据包的关联条件为姓名,第二数据包的关联条件为性别。
步骤292、根据关联条件,对第一数据包和第二数据包进行验证。
本步骤中,根据关联条件,对第一数据包和第二数据包进行验证,具体可以为:分别查找第一数据包、第二数据包中是否包含关联条件中的数据内容,若第一数据包包含第一数据包的关联条件的数据内容,且第二数据包包含第二数据包的关联条件的数据内容,则验证通过,否则,验证不通过。例如,假设第一数据为化妆品营销用户清单,第二数据为用户性别,第一数据包的关联条件为姓名,第二数据包的关联条件为性别,若验证发现:第一数据包中包含有姓名的数据内容,第二数据包包含有性别的数据内容,则验证通过;若验证发现第一数据包中只包含有号码的数据内容,而不包含有姓名的数据内容,则验证不通过。
步骤293、若验证通过,则执行对第一数据包和第二数据包进行数据关联操作的步骤。
本步骤中,当第一数据包和第二数据包验证通过,服务器确认数据的准确性后,服务器才开始执行数据关联的操作。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
在一些实施例中,为了防止原始数据被篡改,在数据关联之前需要对数据进行校验。则,在步骤260之前,该方法还包括:
步骤251、第一客户端对第一数据包进行校验,第二客户端对第二数据包进行校验。
其中,第一客户端对第一数据包进行校验,具体包括:生成第一数据包的本地摘要,从区块链网络获取第一数据包的摘要;根据第一数据包的本地摘要和第一数据包的摘要,对第一数据包进行校验,若第一数据包的本地摘要与第一数据包的摘要相同,则校验通过,否则,校验不通过。其中,第一数据包的本地摘要为第一客户端根据区块链网络的计算规则对根据第一数据描述信息获取的第一数据包计算得到的摘要,第一数据包的摘要为第一客户端在数据申报时生成的第一数据包上传到区块链网络时得到的摘要,将第一数据包的本地摘要和第一数据包的摘要进行比对,则可校验第一客户端根据第一数据描述信息获取的第一数据包是否有被篡改,而若第一数据包有被篡改时,则第一数据包的本地摘要与第一数据包的摘要不相同。
其中,第二客户端对第二数据包进行校验,具体包括:生成第二数据包的本地摘要,从区块链网络获取第二数据包的摘要;根据第二数据包的本地摘要和第二数据包的摘要,对第二数据包进行校验,若第二数据包的本地摘要与第二数据包的摘要相同,则校验通过,否则,校验不通过。
在一些实施例中,需要得到客户端的授权后才进行数据关联。图7示出了本发明实施例中进行客户端授权的方法流程图。如图7所示,在服务器发送数据描述信息至客户端之前,进行客户端授权的方法包括:
步骤310、根据关联请求,服务器发送第一授权请求至第一客户端,并发送第二授权请求至第二客户端。
本步骤中,服务器根据关联请求所指示的数据方,分别将授权请求发送给各个客户端。在本实施例中,关联请求所指示的数据方为第一客户端和第二客户端,则服务器将第一授权请求发送至第一客户端,将第二授权请求发送至第二客户端。在一些其他实施例中,当关联请求所指示的数据方包含关联请求发出方时,则服务器不发送授权请求给关联请求发出方,而是默认关联请求发出方确认授权。例如,若第一数据和第二数据的关联请求为存储有第一数据的第一客户端发送时,则服务器发送第二授权请求至第二客户端,而不发送授权请求至第一客户端。
步骤320、第一客户端接收服务器发送的第一授权请求;第二客户端接收服务器发送的第二授权请求。
本步骤中,当第一客户端接收服务器发送的第一授权请求,第二客户端接收服务器发送的第二授权请求,各个客户端可将授权请求显示在客户端的屏幕上,以使相应客户端的用户能够针对授权请求发送确认指令或拒绝指令。
步骤330、第一客户端在接收到用户发送的第一授权请求的确认指令后,返回第一授权请求的确认指令至服务器;第二客户端在接收到用户发送的第二授权请求的确认指令后,返回第二授权请求的确认指令至服务器。
本步骤中,当各个客户端的用户同意授权时,第一客户端的用户发送第一授权请求的确认指令,则第一客户端接收到第一授权请求的确认指令,并将第一授权请求的确认指令返回给服务器;第二客户端的用户发送第二授权请求的确认指令,则第二客户端接收到第二授权请求的确认指令,并将第二授权请求的确认指令返回给服务器。
步骤340、服务器接收第一客户端返回的第一授权请求的确认指令,并接收第二客户端返回的第二授权请求的确认指令。
本步骤中,当服务器接收到第一授权请求的确认指令后,服务器才会执行发送第一数据描述信息至第一客户端的步骤,否则,不发送第一数据描述信息;当服务器接收到第二授权请求的确认指令后,服务器才会执行发送第二数据描述信息至第二客户端的步骤,否则,不发送第二数据描述信息。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作。本发明实施例采用区块链技术,搭建了一个无法停止、抗屏蔽和自我维持的去中心化场景,在多个设备上验证、存储和复制交易数据,通过分布式记账保证了上链交易的真实性与不可篡改性;同时,还通过随机密钥单向加密的方式实现数据关联过程中的数据安全与隐私保证,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
图8示出了本发明另一实施例提供的基于区块链的数据关联方法的流程图,该方法应用于图1所示的基于区块链的数据关联系统100的第一客户端中。如图8所示,该方法包括:
步骤410、在服务器接收第一数据和第二数据的关联请求后,接收服务器发送的第一数据描述信息,其中,第一数据描述信息由服务器通过区块链网络获取第一数据描述信息的摘要后,基于第一数据描述信息的摘要检索得到;
步骤420、根据第一数据描述信息获取第一数据包;
步骤430、接收服务器发送的第一临时密钥;
步骤440、根据第一临时密钥,加密第一数据包;
步骤450、将加密后的第一数据包通过区块链网络发送至服务器,以使服务器对第一数据进行数据关联操作。
其中,第一数据描述信息和第一数据包为根据第一数据生成的。
其中,在步骤410之前,该方法还包括:
步骤401、根据第一数据,生成第一数据描述信息和第一数据包;
步骤402、将第一数据描述信息通过区块链网络发送至服务器,其中,区块链网络存储第一数据描述信息的摘要;
步骤403、将第一数据包发送至区块链网络,以使区块链网络存储第一数据包的摘要。
其中,在步骤440之前,该方法还包括:对第一数据包进行校验。对第一数据包进行校验,具体包括:生成第一数据包的本地摘要;从区块链网络获取第一数据包的摘要;根据第一数据包的本地摘要和第一数据包的摘要,对第一数据包进行校验,若第一数据包的本地摘要与第一数据包的摘要相同,则校验通过,否则,校验不通过。
其中,该方法还包括:接收服务器发送的第一授权请求;在接收到用户发送的第一授权请求的确认指令后,返回第一授权请求的确认指令至服务器。
具体实施例可参考上述应用于图1所示的基于区块链的数据关联系统100的基于区块链的数据关联方法(如图2所示)的实施例,此处不再赘述。
需要说明的是,应用于第二客户端的基于区块链的数据关联方法可才参考上述应用于第一客户端的基于区块链的数据关联方法,此处不再赘述。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
图9示出了本发明又一实施例提供的基于区块链的数据关联方法的流程图,该方法应用于图1所示的基于区块链的数据关联系统100的服务器中。如图9所示,该方法包括:
步骤510、接收发送的第一数据和第二数据的关联请求;
步骤520、根据关联请求,通过区块链网络获取第一数据描述信息的摘要和第二数据描述信息的摘要,并基于第一数据描述信息的摘要和第二数据描述信息的摘要检索第一数据描述信息和第二数据描述信息;
步骤530、发送第一数据描述信息至第一客户端,以使第一客户端根据第一数据描述信息获取第一数据包;并发送第二数据描述信息至第二客户端,以使第二客户端根据第二数据描述信息获取第二数据包;
步骤540、发送第一临时密钥至第一客户端,以使第一客户端根据第一临时密钥加密第一数据包;并发送第二临时密钥至第二客户端,以使第二客户端根据第二临时密钥加密第二数据包;
步骤550、接收第一客户端通过区块链网络发送的加密后的第一数据包,以及第二客户端通过区块链网络发送的加密后的第二数据包;
步骤560、根据加密后的第一数据包和加密后的第二数据包,进行数据关联操。
其中,第一数据描述信息和第一数据包为根据第一数据生成的,第二数据描述信息和第二数据包为根据第二数据生成的。
其中,在步骤510之前,该方法还包括:
步骤501、接收第一客户端通过区块链网络发送的第一数据描述信息,并接收第二客户端通过区块链网络发送的第二数据描述信息,其中,第一数据描述信息的摘要、第二数据描述信息的摘要存储于区块链网络;
步骤502、将第一数据描述信息和第二数据描述信息存储至数据库。
其中,在步骤510之前,该方法还包括:
步骤503、接收第一数据和第二数据的查找请求;
步骤504、根据查找请求,在数据库中查找是否存在第一数据描述信息和第二数据描述信息;
步骤505、将查找结果发送给发出查找请求的客户端或用户。
其中,步骤560具体包括:根据第一临时密钥和第二临时密钥,分别解密并获取第一数据包和第二数据包,对第一数据包和第二数据包进行数据关联操作。
其中,在对第一数据包和第二数据包进行数据关联操作之前,该方法还包括:接收第一数据包和第二数据包的关联条件;根据关联条件,对第一数据包和第二数据包进行验证;若验证通过,则执行对第一数据包和第二数据包进行数据关联操作的步骤。
其中,在步骤530之前,该方法还包括:根据关联请求,发送第一授权请求至第一客户端,接收第一客户端返回的第一授权请求的确认指令;根据关联请求,发送第二授权请求至第二客户端,接收第二客户端返回的第二授权请求的确认指令。
具体实施例可参考上述应用于图1所示的基于区块链的数据关联系统100的基于区块链的数据关联方法(如图2所示)的实施例,此处不再赘述。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
图10示出了本发明实施例提供的基于区块链的数据关联装置的结构示意图,该装置应用于图1所示的基于区块链的数据关联系统100的第一客户端中。如图10所示,该装置600包括:描述信息接收模块610、数据包获取模块620、临时密钥接收模块630、加密模块640和数据包发送模块650。
描述信息接收模块610用于在所述服务器接收第一数据和第二数据的关联请求后,接收所述服务器发送的所述第一数据描述信息,其中,所述第一数据描述信息由所述服务器通过所述区块链网络获取第一数据描述信息的摘要后,基于所述第一数据描述信息的摘要检索得到;数据包获取模块620用于根据所述第一数据描述信息获取第一数据包;临时密钥接收模块630用于接收所述服务器发送的第一临时密钥;加密模块640用于根据所述第一临时密钥,加密所述第一数据包;数据包发送模块650用于将加密后的所述第一数据包通过所述区块链网络发送至所述服务器,以使所述服务器对所述第一数据进行数据关联操作;其中,所述第一数据描述信息和所述第一数据包为根据所述第一数据生成的。
在一种可选的方式中,该装置600还包括:第一生成模块、第一发送模块和第二发送模块。第一生成模块用于根据所述第一数据,生成所述第一数据描述信息和所述第一数据包;第一发送模块,用于将所述第一数据描述信息通过所述区块链网络发送至所述服务器,其中,所述区块链网络存储所述第一数据描述信息的摘要;第二发送模块,用于将所述第一数据包发送至所述区块链网络,以使所述区块链网络存储所述第一数据包的摘要。
在一种可选的方式中,该装置600还包括:校验模块。校验模块用于对所述第一数据包进行校验。检验模块具体用于:生成所述第一数据包的本地摘要;从所述区块链网络获取所述第一数据包的摘要;根据所述第一数据包的本地摘要和所述第一数据包的摘要,对所述第一数据包进行校验,若所述第一数据包的本地摘要与所述第一数据包的摘要相同,则校验通过,否则,校验不通过。
在一种可选的方式中,该装置600还包括:授权请求接收模块和授权指令返回模块。授权请求接收模块用于接收所述服务器发送的第一授权请求;授权指令返回模块用于在接收到用户发送的所述第一授权请求的确认指令后,返回所述第一授权请求的确认指令至所述服务器。
需要说明的是,本发明实施例提供的基于区块链的数据关联装置是能够执行上述基于区块链的数据关联方法的装置,则上述基于区块链的数据关联方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
需要说明的是,应用于第二客户端的基于区块链的数据关联装置可才参考上述应用于第一客户端的基于区块链的数据关联装置,此处不再赘述。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
图11示出了本发明另一实施例提供的基于区块链的数据关联装置的结构示意图,该装置应用于图1所示的基于区块链的数据关联系统100的服务器中。如图11所示,该装置700包括:关联请求接收模块710、描述信息获取模块720、描述信息发送模块730、临时密钥发送模块740、数据包接收模块750和关联模块760。
关联请求接收模块710用于接收其中一所述客户端发送的第一数据和第二数据的关联请求;描述信息获取模块720用于根据所述关联请求,通过所述区块链网络获取第一数据描述信息的摘要和第二数据描述信息的摘要,并基于所述第一数据描述信息的摘要和第二数据描述信息的摘要检索第一数据描述信息和第二数据描述信息;描述信息发送模块730用于发送所述第一数据描述信息至所述第一客户端,以使所述第一客户端根据所述第一数据描述信息获取第一数据包,并发送所述第二数据描述信息至所述第二客户端,以使所述第二客户端根据所述第二数据描述信息获取第二数据包;临时密钥发送模块740用于发送第一临时密钥至所述第一客户端,以使所述第一客户端根据所述第一临时密钥加密所述第一数据包,并发送第二临时密钥至所述第二客户端,以使所述第二客户端根据所述第二临时密钥加密所述第二数据包;数据包接收模块750用于接收所述第一客户端通过所述区块链网络发送的加密后的所述第一数据包,以及所述第二客户端通过所述区块链网络发送的加密后的所述第二数据包;关联模块760用于根据加密后的所述第一数据包和加密后的所述第二数据包,进行数据关联操作;其中,所述第一数据描述信息和所述第一数据包为根据所述第一数据生成的,所述第二数据描述信息和所述第二数据包为根据所述第二数据生成的。
在一种可选的方式中,该装置700还包括:第一接收模块和存储模块。第一接收模块用于接收所述第一客户端通过所述区块链网络发送的所述第一数据描述信息,并接收所述第二客户端通过所述区块链网络发送的所述第二数据描述信息,其中,所述第一数据描述信息的摘要、所述第二数据描述信息的摘要存储于所述区块链网络;存储模块用于将所述第一数据描述信息和所述第二数据描述信息存储至数据库。
在一种可选的方式中,该装置700包括:查找请求接收模块查找模块和查找结果模块。查找请求接收模块用于接收第一数据和第二数据的查找请求;查找模块用于根据所述查找请求,在所述数据库中查找是否存在所述第一数据描述信息和所述第二数据描述信息;查找结果模块用于将查找结果发送给发出查找请求的客户端或用户。
在一种可选的方式中,该装置700还包括:关联条件接收模块、验证模块和验证通过模块。关联条件接收模块用于接收第一数据包和第二数据包的关联条件;验证模块用于根据所述关联条件,对所述第一数据包和所述第二数据包进行验证;验证通过模块用于若验证通过,则执行对所述第一数据包和所述第二数据包进行数据关联操作的步骤。
在一种可选的方式中,该装置700还包括:授权请求发送模块和授权指令接收模块。授权请求发送模块用于根据所述关联请求,发送第一授权请求至所述第一客户端,并发送第二授权请求至所述第二客户端;授权指令接收模块用于接收所述第一客户端返回的所述第一授权请求的确认指令,并接收所述第二客户端返回的所述第二授权请求的确认指令。
需要说明的是,本发明实施例提供的基于区块链的数据关联装置是能够执行上述基于区块链的数据关联方法的装置,则上述基于区块链的数据关联方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
本发明实施例提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述任意方法实施例中的基于区块链的数据关联方法。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的基于区块链的数据关联方法。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
图12示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图12所示,该计算设备可以包括:处理器(processor)802、通信接口(Communications Interface)804、存储器(memory)806、以及通信总线808。
其中:处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。处理器802,用于执行程序810,具体可以执行上述任意方法实施例中的基于区块链的数据关联方法。
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器806,用于存放程序810。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例通过服务器接收第一数据和第二数据的关联请求,通过区块链网络获取第一数据描述信息和第二数据描述信息后,服务器将第一数据描述信息和第一临时密钥发送至第一客户端,并将第二数据描述信息和第二临时密钥发送至第二客户端,第一客户端根据第一数据描述信息获取第一数据包、根据第一临时密钥对第一数据包进行加密、并将加密后的第一数据包发送给服务器,第二客户端根据第二数据描述信息获取第二数据包、根据第二临时密钥对第二数据包进行加密、并将加密后的第二数据包发送给服务器,服务器接收并根据加密后的第一数据包和加密后的第二数据包,进行数据关联操作,实现了有效保证关联数据的安全、不可篡改性,从而保证了关联结果的可靠性。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。