CN110263579B - 一种数据处理方法、系统及相关设备 - Google Patents
一种数据处理方法、系统及相关设备 Download PDFInfo
- Publication number
- CN110263579B CN110263579B CN201811366417.4A CN201811366417A CN110263579B CN 110263579 B CN110263579 B CN 110263579B CN 201811366417 A CN201811366417 A CN 201811366417A CN 110263579 B CN110263579 B CN 110263579B
- Authority
- CN
- China
- Prior art keywords
- block
- target
- user terminal
- server
- processing request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本发明实施例公开一种数据处理方法、系统及相关设备,其中,方法包括:接收目标用户终端发送的针对目标数据的处理请求;根据处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将第一区块和区块构建规则发送至目标用户终端;接收目标用户终端发送的第二区块,第二区块为目标用户终端基于第一区块和区块构建规则所生成的;根据第一区块对第二区块进行校验,并在校验通过时,获取目标数据对应的目标地址,并将目标地址返回至目标用户终端。采用本发明,可以在提升用户的辨识度的同时,进一步确保数据的安全性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据处理方法、系统及相关设备。
背景技术
在目前现有的技术方案中,当用户需要在集成有视频应用的智能终端上播放某个视频文件时,该智能终端需要预先获取该视频应用中所集成的动态库,再进一步获取待传入该动态库的参数(比如,该视频应用的版本号、不同的渠道和产线等)来生成该视频文件对应的电子网络钥匙,该电子网络钥匙可以理解为一种通过哈希加密算法而得到的。然后,该智能终端可以进一步将该电子网络钥匙和该待播放的视频文件发送给服务后台,以使该服务后台对接收到的电子网络钥匙进行校验,并在校验成功时返回该视频文件对应的播放地址。
由于电子网络钥匙的生成过程是发生在该智能终端中,因此,当非法用户获取到该智能终端中该动态库对应的安装包文件时,可以通过对该安装包文件进行解压而拿到可以在该视频应用中运行的动态库文件,进而可以使用该动态库文件来生成相应的电子网络钥匙,从而导致服务后台对非法用户的鉴权失效,即会降低用户的辨识度,此外,在对电子网络钥匙的鉴权失效时也会严重影响多媒体数据的安全性。
发明内容
本发明实施例提供一种数据处理方法、系统及相关设备,可以在提升用户的辨识度的同时,进一步确保数据的安全性。
本发明实施例一方面提供了一种数据处理方法,所述方法包括:
接收目标用户终端发送的针对目标数据的处理请求;
根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
本发明实施例一方面提供了一种数据处理方法,包括:
向服务器发送针对目标数据的处理请求;
接收所述服务器基于所述处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据。
本发明实施例一方面提供了一种数据处理方法,包括:
目标用户终端向服务器发送针对目标数据的处理请求;
所述服务器根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
所述目标用户终端基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器;
所述服务器根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
本发明实施例一方面提供了一种服务器,所述服务器包括:
第一请求接收模块,用于接收目标用户终端发送的针对目标数据的处理请求;
第一区块发送模块,用于根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
第二区块接收模块,用于接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
区块校验模块,用于根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
本发明实施例一方面提供了一种用户终端,所述用户终端包括:
第一请求发送模块,用于向服务器发送针对目标数据的处理请求;
第一区块接收模块,用于接收所述服务器基于所述处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
第二区块发送模块,用于基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
第一地址接收模块,用于接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据。
本发明实施例一方面提供了一种数据处理系统,所述系统包括:服务器和用户终端,其中,所述服务器如本发明实施例一方面中提到的服务器,和所述用户终端如本发明实施例一方面中提到的用户终端。
本发明实施例一方面提供了一种服务器,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于连接目标用户终端,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行以下操作:
接收目标用户终端发送的针对目标数据的处理请求;
根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
本发明实施例一方面提供了一种用户终端,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于连接服务器,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行以下操作:
向服务器发送针对目标数据的处理请求;
接收所述服务器基于所述处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
接收所述服务器所返回的所述目标地址,并根据所述目标地址播放所述目标数据。
本发明实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述处理器执行所述程序指令时执行如本发明实施例一方面中的方法。
本发明实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述处理器执行所述程序指令时执行如本发明实施例一方面中的方法。
在本发明实施例中,服务器可以在接收到目标用户终端所发送的处理请求时,在区块链中按照各区块生成的时间顺序将最后一个通过校验的区块确定为第一区块,即该第一区块为所存储的区块链中具有最大时间戳的区块,进一步地,该服务器可以将该第一区块发送给目标用户终端,以接收该目标用户终端基于该第一区块所返回的第二区块。可见,该第二区块的生成是基于服务器为其分发的第一区块和区块构建规则所确定的,由于区块链中的每个区块中的校验计数器可以用来记录该区块是第几个被校验,因此,对于校验通过的第二区块而言,第二区块中所存储的与目标用户终端相关的数据将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络架构的结构示意图;
图2是本发明实施例提供的一种数据交互的示意图;
图3是本发明实施例提供的一种数据处理方法的流程示意图;
图4是本发明实施例提供的一种区块结构图;
图5是本发明实施例提供的一种区块链的结构示意图;
图6是本发明实施例提供的一种校验第二区块的示意图;
图7是本发明实施例提供的另一种数据处理方法的流程示意图;
图8是本发明实施例提供的另一种数据处理方法;
图9是本发明实施例提供的一种生成第二区块的示意图;
图10是本发明实施例提供的一种数据交互方法的示意图;
图11是本发明实施例提供的一种服务器的结构示意图;
图12是本发明实施例提供的另一种服务器的结构示意图;
图13是本发明实施例提供的一种用户终端的结构示意图;
图14是本发明实施例提供的另一种用户终端的结构示意图;
图15是本发明实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的一种网络架构的结构示意图。如图1所示,所述网络架构可以包括服务器2000以及用户终端集群;所述用户终端集群可以包括多个用户终端,如图1所示,所述多个用户终端可以具体包括用户终端3000a、用户终端3000b、…、用户终端3000n;
此外,可以理解的是,该网络架构还可以包括图1所示的服务器2000和一个用户终端,该用户终端可以为图1所示的多个用户终端中的任意一个用户终端(比如,用户终端3000a)。该服务器2000可以为该用户终端中网络服务平台上的目标数据(例如,该目标数据可以是音频数据、视频数据、文本数据、图片数据等)对应的后台服务器。因此,该用户终端可以与该服务器2000进行网络连接,以便于后续可以在鉴权通过时,能够从该服务器2000中获取到该目标数据。
进一步地,如图1所示,所述用户终端3000a、用户终端3000b、…、用户终端3000n可以分别与所述服务器2000进行网络连接,所述多个用户终端可以通过网络服务平台对应的服务器2000实现用户数据之间的交互。其中,所述网络服务平台可以为集成在用户终端中的视频应用所对应的视频网络平台,可以理解,上述任一用户终端中的视频应用可以为一个或多个,为便于理解,本发明实施例以所述视频应用为一个应用为例,以描述安装了该应用(该应用可以称之为目标应用)的用户终端与服务器2000之间进行数据交互的具体过程。其中,该目标应用中的视频数据可以称之为目标数据,通过安装了该目标应用的用户终端与该服务器2000之间的数据交互,可以理解为服务器2000会接收到该用户终端针对目标数据发送的处理请求,从而可使该服务器2000基于该处理请求获取到目标数据对应的目标地址。应当理解,该目标应用还可以为除视频应用之外的其他应用,比如,音频应用、社交应用、和支付应用等,这里将不对安装在该用户终端中的应用进行具体限制。此外,上述目标数据还可以为除视频数据之外的其他数据,比如,音频数据、文本数据、图片数据等,这里将不对该用户终端中的目标数据进行具体限制。
其中,该服务器2000还可以与分布式终端进行网络连接。其中,该分布式终端中可以存储有上述目标数据对应的目标地址,比如,可以存储有该与该目标应用中的目标数据对应的目标地址。可选地,该分布式终端还可以集成于该服务器2000,此时,该分布式终端可以等效于该服务器2000中的后台数据库,因此,该服务器2000在接收到用户终端发来的处理请求时,可以在校验通过时,从该集成于服务器2000中的分布式终端中获取上述目标数据对应的目标地址。
为便于理解,本发明实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端,例如,可以将图1所示的用户终端3000a作为所述目标用户终端。其中,所述目标用户终端可以包括:智能手机、平板电脑、桌上型电脑、智能电视等具备数据加载以及数据播放功能的智能终端。
应当理解,对于待接入该目标应用的每个用户终端而言,该目标应用对应的后台服务器可以为图1所示的服务器2000。因此,该服务器2000可以进一步对待接入的每个用户终端所发起的处理请求进行鉴权,以验证待接入的每个用户终端的合法性。为了更好地理解本方案,本发明实施例以所述目标用户终端为待接入该目标应用中的一个用户终端为例,以便于进一步描述该目标用户终端与所述服务器2000之间进行数据交互的具体过程。进一步地,请参见图2,是本发明实施例提供的一种数据交互的示意图。
如图2所示,目标用户终端可以为上述图1所示的用户终端3000a,其中,在该用户终端3000a中存在如图2所示的B1~B9,用于表征安装在用户终端3000a中的目标应用中某个视频文件所包含的播放序列,即序列B1~序列B9为将该目标应用中某个完整视频文件中的内容进行切分处理后的子视频,且各子视频之间可以按照播放的先后顺序进行排序所得到的。可以理解的是,每一个播放序列对应一个目标地址,且每个目标地址均可以存储在图2所示的分布式终端中。其中,该分布式终端可以为一个内容分发网络(CDN,ContentDelivery Network),该内容分发网络是一种新型网络内容服务体系,可以基于IP(Internet Protocol,网络之间互连的协议)网络而构建的,该内容分发网络可以基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。换言之,该CDN可以尽可能地避开互联网上有可能影响数据传输速度和稳定性的瓶颈以及环节,从而可以确保分发内容的传输更快和更稳定。
鉴于此,在该用户终端3000a发送针对上述目标数据的处理请求之前,还可以接收目标用户(持有该用户终端3000a的用户)对该目标数据(例如,图2所示的视频序列中的序列B6)所执行的触控操作指令(该触控操作指令也可以称之为播放指令),并可以根据该触控操作指令将该用户终端3000a中的设备标识符和该目标数据添加至所述处理请求,以便于该服务器2000在接收到该处理请求时,可以进一步获取该处理请求中所携带的设备标识符和所述目标数据,并在所存储的区块链中查询是否存在所述设备标识符和所述目标数据,并在确定不存在所述设备标识符和所述目标数据时,确定该用户终端3000a所发起的处理请求为第一处理请求。
其中,应当理解,该区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于在该区块链中的各个区块为与该服务器进行数据交互的过程中由各用户终端基于接收到的区块构建规则所生成的有价值的区块。因此,在该区块链中会涉及到利用块链式数据结构来验证与存储数据,并利用分布式节点共识算法来生成和更新数据,以及利用密码学的方式保证数据传输和访问的安全。
进一步地,该服务器2000在确定该处理请求为第一处理请求(例如,该第一处理请求为目标用户终端首次发起的处理请求)时,可以在该区块链上将最后一次通过验证的区块(例如,区块A,此时,该区块A可以理解为该区块链上具有最大时间戳的区块)发送给该用户终端3000a,以使该用户终端3000a可以根据该服务器2000所下发的区块A和区块构建规则生成区块B。然后,该服务器2000可以对该区块B进行校验,并在校验通过时将该区块B添加到该区块链上。与此同时,该服务器2000还可以在校验通过时生成该序列B6对应的标识信息,并将该标识信息和序列B6一起打包发送给与该服务器2000具有网络连接关系的分布式终端,以使该分布式终端可以在获取到该标识信息时能够返回该目标数据(即序列B6)对应的目标地址,并将所述目标地址返回给该服务器2000。最后,该服务器2000可以将该接收到的目标地址作为所述第一处理请求对应的响应返回给用户终端3000a,以使该用户终端3000a可以在图2所示的显示界面中加载并播放该序列B6对应的视频内容。
其中,可以理解的是,存储在该区块链上的交易信息(即各用户终端与服务器之间的交互信息)是公开的,比如,用户终端3000a和用户终端3000b曾与该服务器2000进行了数据交互,即该服务器曾先后接收到该用户终端3000b和用户终端3000a所发送的第一处理请求。那么对于通过验证后的区块A来生成区块B而言,用户终端3000a在接收到该服务器2000所下发的区块A时,是无法获知该区块A中的所包含的用户终端3000b与服务器2000之间的交互信息。换言之,在该区块链中的区块A中会存储有通过验证之后的该用户终端3000b的用户身份信息,且在该区块链中的所存储的用户终端3000b的用户身份信息是高度加密的,只有用户终端3000b在授权的情况下才能继续访问该区块A中所存储的身份信息(例如,用户终端3000b的设备标识符),从而可以保证数据的安全和个人的隐私。
其中,上述图1所示的多个用户终端中的任一用户终端与所述服务器2000之间进行数据交互的过程,可以一并参见本发明实施例提供的目标用户终端(即用户终端3000a)与所述服务器2000之间数据交互的具体过程,这里不再进行赘述。
其中,所述服务器获取第一区块,并基于第一区块对接收到的第二区块进行校验,以及向所述目标用户终端返回目标地址的具体过程,可以参见如下图3至图7所对应的实施例;其中,所述目标用户终端基于区块生成规则和第一区块生成第二区块的具体过程,可参见如图8所对应的实施例。
进一步地,请一并参见图3,是本发明实施例提供的一种数据处理方法的流程示意图。如图3所示,所述方法应用于服务器,且本发明实施例的所述方法可以包括以下步骤S101-步骤S104。
步骤S101,接收目标用户终端发送的针对目标数据的处理请求;
具体地,服务器可以在接收到目标用户终端发起的处理请求时,获取所述处理请求中所携带的所述目标用户终端对应的设备标识符和版本信息;进一步地,该服务器可以在所存储的区块链中查询所述目标用户终端对应的所述设备标识符和所述版本信息;进一步地,若该服务器在所述区块链中未查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第一处理请求;可选地,若在所述区块链中查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第二处理请求。
其中,若该版本信息为该目标用户终端中目标应用的版本信息,则该版本信息中可以包含该目标数据的播放序列(该目标数据的播放序列可以为上述图2所对应实施例中的序列B6,即上述目标应用的一个子视频),应当理解,该目标应用也可以称之为集成于该目标用户终端中的目标客户端。
其中,区块链是一种把区块以链的方式组合在一起的数据结构,它适合存储简单的、有先后关系的、能在系统内验证的数据,并用密码学(即哈希加密算法)保证了存储在该区块链中的数据的不可篡改和不可伪造。在该区块链所采用的区块链技术中,这些存储的数据会以电子记录的形式被永久储存下来,并进一步将存放这些电子记录的文件称之为区块(block)。其中,可以理解的是,区块链中的区块是按时间顺序一个一个先后生成的,每个区块中会记录下从上一区块(例如,上述图2所对应实施例中的区块A)生成时间戳,到该区块(例如,上述图2所对应实施例中的区块B)生成时间戳这个时间段内的交易数据。
为便于理解,进一步地,请参见图4,是本发明实施例提供的一种区块结构图。应当理解,对于区块链中的任意一个区块而言,该区块的区块结构可以包含以下三个部分:即如图4所示的区块数据量10,区块头20和校验计数器30,其中,区块数据量10可以理解为每个区块的大小,且为了防止资源浪费,每个区块的大小被限制在1M以内,其中,区块头20的大小被固定为80个字节,且该区块头20中可以至少包含以下五个部分,即区块版本201、历史区块哈希值202(即对上一个区块的历史区块哈希值进行计算后得到的区块哈希值30)、默克尔根203、生成时间戳204、校验数据205;可选地,该区块结构还可以包含区块的工作量难度目标以及用于计算目标的参数值。其中校验计数器30用于记录当前是第几个被校验的。此外,区块头20可以用于链接到最后一次通过验证的区块,从而可以保证区块链数据库的完整性。
由此可见,该区块结构具备以下两个非常重要的特点:第一,每一个区块上记录的交易是上一个区块形成之后、该区块被创建前所发生的所有价值交换活动,这个特点保证了数据库的完整性。第二,在绝大多数情况下,一旦新区块完成校验之后则会被添加到该区块链的最后,且添加在该区块链上的最后一个区块的数据记录则会永久地存储在该区块链上,即该区块中的数据记录就再也不能改变或删除。这个特点保证了该区块链数据库的严谨性和不可篡改性。由于通过验证的所有用户终端的信息均会被记录到区块链中,因此,当该服务器接收到目标用户终端发起的处理请求时,可以获取该处理请求中所携带的设备标识符和版本信息(即目标应用的版本号,该版本号下的目标应用可以包含该目标数据的播放序列)。其中,该设备标识符可以理解为该目标用户终端的用户终端标识符,比如,该目标用户终端出厂时分配的出厂序列号,物理地址等。然后,该服务器可以在区块链数据库中查找是否存在所述设备标识符和所述版本信息;如果存在,则该服务器可以确定在接收到该处理请求之前曾接受到过该目标用户终端发起的处理请求,(比如,接收到过该目标用户终端首次发起的处理请求)。鉴于此,该服务器可以将当前所接收到的该处理请求称之为第二处理请求。可选地,若不存在,则可以将当前所接收到的该处理请求称之为第一处理请求,该第一处理请求即为该目标用户终端首次发起的处理请求。
其中,可以理解的是:第二处理请求为在第一处理请求之后发起的处理请求,即该第二处理请求可以理解为该目标用户终端后续针对该目标数据再次发起的处理请求。
其中,可以理解的是,当该服务器在接收到上述处理请求时,可以进一步执行步骤S102,即不用判断该处理请求是否为第一处理请求,对每次所发起的处理请求而言,都可以执行步骤S102。可选地,该服务器还可以在接收到上述处理请求时,进一步判断该处理请求是否为第一处理请求,如果是,则进一步执行步骤S102,否则,则确定该处理请求为第二处理请求,并可以进一步基于该第二处理请求对该目标客户端的合法性进行验证。
步骤S102,根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
其中,若服务器在上述步骤S101中确定出的处理请求为第一处理请求,即该第一处理请求为所述目标用户终端首次发起的处理请求;则可以根据该第一处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端。
其中,可以理解的是:区块链中的每个节点都是按照块链式结构存储完整的数据,即该区块链中的每个节点的存储都是独立的、地位等同的,各区块之间可以依靠共识机制(即少数服从多数的原则)来达成共识结果。其中,该区块链中的每个节点可以对应于与该服务器进行数据交互的不同用户终端。为便于理解,进一步地,请参见图5,是本发明实施例提供的一种区块链的结构示意图。如图5所示的区块链是将各区块按照二叉树形式所得到的默克尔树,该默克尔树中包含7个节点,即存在7个区块,且每一个区块对应一个用户终端,即每个区块中会存储有与该用户终端对应的数据加密信息(例如,用户终端的设备标识符和/或注册账号信息)。进一步地,请参见表1,为本发明实施例提供的一种映射关系表。
表1
如上述表1所示,图5所述的区块40对应于用户终端1的数据加密信息,区块50对应于用户终端2的数据加密信息,区块60对应于用户终端3的数据加密信息,区块70对应于用户终端4的数据加密信息,区块80对应于用户终端5的数据加密信息,区块90对应于用户终端6的数据加密信息,区块100对应于用户终端7的数据加密信息。由于区块链中的每一个区块的区块头都包含了前一个区块的交易信息压缩值,即历史区块哈希值,这就使得从创世块(即区块40)到当前区块(即区块100)连接在一起形成了一条长链。因此,在不知道前一区块(即区块90)的历史区块哈希值的情况下,就没有办法生成区块100。
鉴于此,可以理解的是,在区块链中的每个区块必定需要按时间顺序跟随在前一个区块之后,而这种所有区块都将前一个区块的历史区块哈希值作为引用结构的方式,可以让现存的区块集合形成了一条数据长链,即可以按照各区块的生成时间戳得到如下排布形式的区块链:
区块40→区块50→区块60→区块70→区块80→区块90→区块100。
此外,如图5所示,默克尔树最顶层的区块为该默克尔树的默克尔根节点,即该默克尔根节点所对应的区块40为该区块链中的第一个区块,因此,可以将该第一区块称之为创世纪区块,此时该创世纪区块中的校验计数器的计数值为0,于是,基于上述图4所对应实施例中的区块结构,该创世纪区块的区块结构可以包含区块数据量,区块头和校验计数器。此外,服务器基于区块40生成区块50的具体过程可以描述为:在该默克尔树中,节点N1所对应的区块50为该区块链中的第二个区块,由于区块50的上一区块为区块40,因此,该服务器可以基于上述创世纪区块而生成区块50,此时,该区块50中的校验计数器的计数值为对区块40的校验计数器的计数值进行累加之后所得到的,比如,该区块50中的校验计数器的计数值可以为1。基于上述图4所对应实施例中的区块结构,该区块50的区块结构也可以包含区块数据量,区块头和校验计数器。同理,在该默克尔树中,区块60、区块70、区块80、区块90、区块100的生成过程可以参见该服务器基于上述区块40生成区块50的具体过程,这里将不再继续进行赘述。
其中,D0中包含通过验证的用户终端4所对应的数据加密信息,D1中包含通过验证的用户终端5所对应的数据加密信息,D2中包含通过验证的用户终端6所对应的数据加密信息,D3中包含通过验证的用户终端7所对应的数据加密信息,换言之,D0、D1、D2和D3即为该区块链数据库中加密处理后的用户数据信息,因此,只有拥有解密密钥的用户终端才能查看到相应的用户数据信息,以确保个人数据的隐私性和安全性。
应当理解,在图5所示的7个区块所构成的区块链中,最后一次通过验证的区块为区块100,即该区块100为具有最大时间戳的区块。该服务器在确定该目标用户终端当前所发起的处理请求为第一处理请求之后,可以进一步将该区块100称之为第一区块,并将该第一区块和区块构建规则下发给该目标用户终端,以使该目标用户终端可以基于该第一区块和区块构建规则生成新的区块,该新生产的区块可以称之为第二区块。
步骤S103,接收所述目标用户终端发送的第二区块;
其中,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的。由于第二区块和第一区块都是基于同一区块构建规则所构建的,即第一区块和第二区块均会包含上述图4所对应实施例中的区块结构。
其中,区块100的历史区块哈希值,是用户终端7基于前一区块(即上述图5所对应实施例中的区块90)的历史区块哈希值所计算的得到的区块哈希值。换言之,该目标用户终端可以基于接收到的第一区块和区块构建规则来生成新的区块(该新的区块可以称之为第二区块,该第二区块可以为区块110),其中,第二区块(即区块110)的生成时间戳小于第一区块(即区块100)的生成时间戳。因此,该目标用户终端所生成的第二区块中的历史区块哈希值为对接收到的第一区块(即区块100)的历史区块哈希值进行哈希运算之后所得到的区块哈希值,此时所得到的区块哈希值可以称之为第一哈希值。
结合上述图4所对应实施例中得到区块100的历史区块哈希值202的过程,可以将该目标用户终端生成区块110的区块哈希值206的具体过程描述为:该目标用户终端可以首先对从服务器上获取到的区块(例如,区块100,该区块100可以称之为第一区块)中的区块头20进行哈希运算,由于该区块100的区块头20中包含历史区块哈希值202,因此,该目标用户终端对该区块头20所进行的哈希运算可以理解为对该区块头20中的历史区块哈希值202进行哈希运算,从而可以得到哈希运算后的区块哈希值206,并将该区块哈希值206作为区块110(即第二区块)中的历史区块哈希值,即可以得到区块110中的第一哈希值。
其中,上述图1所对应实施例中的任一用户终端在接收到服务器所下发的第一区块之后,可以对该第一区块中的区块头进行哈希运算,即可以采用哈希算法将任意长度的输入,变换成固定长度的输出;因此,通过该哈希算法所输出的固定长度的散列值即为得到的哈希值,哈希值通常具有以下两个特性:单向性和唯一性。
其中,单向性是指该得到的哈希值是无法通过反向运算而得出原始数据的。比如一段数字“1234”可以通过哈希算法得出哈希值A,但是通过哈希值A是永远也没有办法解密出原始数字“1234”的。
步骤S104,根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
具体地,服务器在接收到上述目标用户终端所发送的第二区块时,可以进一步对该第二区块中的数据进行完整性校验,并在确定所述第二区块中所携带的数据具有完整性时,在所述区块链中进一步查找所述第一区块;可选地,该服务器还可以在确定所述第二区块中所携带的数据不具有完整性(比如,存在数据缺失)时,通知所述目标用户终端重新发送所生成的第二区块。进一步地,该服务器可以对所述第一区块中的历史区块哈希值进行哈希运算,得到第二哈希值;然后,该服务器可以将所述第二哈希值和所述第二区块中的所述第一哈希值进行比较;若所述第二哈希值等于所述第一哈希值,则确认校验成功,并在校验通过时,获取所述目标数据对应的目标地址,并将该目标地址作为所述处理请求对应的响应返回至所述目标用户终端;可选地,若所述第二哈希值不等于所述第一哈希值,则确认校验失败,并可以进一步生成失败提示信息,并将所述失败提示信息作为所述处理请求(比如,第一处理请求)对应的响应返回至所述目标用户终端。
其中,对所述第二区块进行完整性校验的目的是为了确保接收到的第二区块中的数据具有完整性,以防止该第二区块中的数据丢失或者被篡改。对于区块链中的每个区块而言,该区块中的区块头中的哈希值为对前一区块的区块头中的哈希值进行哈希运算后所得到的哈希值。因此,在该服务器确定接收到的第二区块中的数据具有完整性时,可以进一步验证该第二区块的合法性,换言之,该服务器可以进一步判断该区块链中的第一区块(即区块链中具有最大时间戳的区块)对应的区块哈希值(即第二哈希值)和第二区块中的历史区块哈希值(即由目标用户端计算出的第一哈希值)之间是否一致;如果一致,则确定校验成功,该第二区块是合法的,即生成该第二区块的目标用户端为合法终端;否则,则确认校验失败,即该第二区块是非法的,即生成该第二区块的目标用户端为非法终端。
其中,当非法终端作为目标用户终端时,为了获取上述目标数据,则需要在该非法终端中伪造一个虚拟区块,以基于该虚拟区块的历史区块哈希值得到第一哈希值,即得到第二区块中的历史区块哈希值,并将该第二区块中的第一哈希值给到服务器,以使该服务器可以基于上述区块链中具有最大时间戳的区块(即第一区块)计算出第二哈希值。由于哈希计算具有单向性,以及区块链中数据的不可篡改性,所以,基于该虚拟区块所计算出的第一哈希值并不会等于上述基于区块链中的第一区块(即通过验证的具有最大时间戳的区块)所计算出的第二哈希值,因此,该服务器可以进一步确认该生成的第二区块是非法的,从而可以有效地对该非法终端进行拦截,进而可以确保目标数据的安全性。
为便于理解,进一步地,请参见图6,是本发明实施例提供的一种校验第二区块的示意图。如图6所示,该服务器可以在完成对第二区块中的数据的完整性校验之后,可以进一步从上述图4所对应的区块链中获取区块100,即得到所述第一区块,并在所述第一区块的区块结构中,对第一区块的区块头中的历史区块哈希值进行哈希运算,以得到第二哈希值。由于该服务器所接收到的图6所述的第二区块的历史区块哈希值,为上述目标用户终端基于该服务器所下发的第一区块的区块头进行哈希运算所得到的第一哈希值。因此,该服务器可以进一步对该第一哈希值和第二哈希值进行判断,并在确定是一致的时候,确定校验通过;可选地,如图6所示,该服务器还可以在确定该第一哈希值不等于第二哈希值时,确定校验失败,此时,可以认为发送该处理请求的目标用户终端为非法终端。
在本发明实施例中的一种实现方式中,当该处理请求为目标用户终端首次发起的处理请求时,该服务器可以进一步执行步骤S102。可选地,在本发明实施例中的另一种实现方式中,当所述处理请求为该目标用户终端再次发起的处理请求时,该服务器也可以重复执行上述步骤S102-步骤S104。即服务器在每次接收到目标用户终端发起的针对该目标数据的处理请求时,都可以进一步执行步骤S102-步骤S104。可以理解的是,服务器对于先后发起的这两次处理请求而言,均可以将具有最大时间戳的区块(即第一区块)下发给目标用户终端,以使目标用户终端可以进一步基于该接收到的第一区块生成第二区块,并将第二区块返回给该服务器。然后,该服务器可以进一步基于第一区块对第二区块进行校验,并在校验通过后向目标用户终端返回该目标数据对应的目标地址。因此,基于区块链的特性,在该服务器中所存储的区块链中,会并列存储先添加到该区块链上的第二区块。
在本发明实施例中,服务器可以在接收到目标用户终端所发送的处理请求时,可以在区块链中按照各区块生成的时间顺序将最后一个通过校验的区块确定为第一区块,即该第一区块为所存储的区块链中具有最大时间戳的区块,进一步地,该服务器可以将该第一区块发送给目标用户终端,以接收该目标用户终端基于该第一区块所返回的第二区块。可见,该第二区块的生成是基于服务器为其分发的第一区块和区块构建规则所确定的,由于区块链中的每个区块中的校验计数器可以用来记录该区块是第几个被校验,因此,对于校验通过的第二区块而言,第二区块中所存储的与目标用户终端相关的数据将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
进一步地,请参见图7,是本发明实施例提供的另一种数据处理方法。如图7所示,所述方法应用于服务器,所述方法至少包含以下步骤:
步骤S201,接收目标用户终端发送的针对目标数据的处理请求;
步骤S202,判断所述处理请求是否为第一处理请求;
具体地,服务器可以在获取到所述处理请求时,进一步获取所述处理请求中所携带的所述目标用户终端对应的设备标识符和版本信息;进一步地,该服务器可以在所存储的区块链中查询所述目标用户终端对应的所述设备标识符和所述版本信息;若在所述区块链中未查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第一处理请求,并可以进一步执行步骤S203;可选地,若在所述区块链中查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则该服务器可以确定所述处理请求为第二处理请求,并可以进一步执行步骤S206;
其中,所述第二处理请求为在所述第一处理请求之后发起的处理请求;所述第一处理请求可以理解为该目标用户终端首次发起的处理请求。
在本发明实施例中,当所述服务器接收到该目标用户终端首次发起的处理请求(第一处理请求)时,将执行下述步骤S203-步骤S205。可选地,当所述服务器进一步接收到该目标用户终端再次发起的处理请求(第二处理请求)时,将执行下述步骤S206-步骤S207。
步骤S203,若是,则根据所述第一处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;所述第一处理请求为所述目标用户终端首次发起的处理请求;
比如,该服务器可以基于上述图5所对应实施例中的区块链,将区块100确定为第一区块,并将该第一区块和区块构建规则发送给目标用户终端,以使用户终端后续可以基于该区块构建规则和所述第一区块可以生成新的区块(即第二区块)。
步骤S204、接收所述目标用户终端发送的第二区块。
其中,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的。
步骤S205,根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
其中,若该目标地址是存储在分布式终端中,且该分布式终端为独立于该服务器的另一终端,则该服务器可以在校验通过时,进一步通知该分布式终端返回所述目标数据对应的目标地址,即该分布式终端可以基于服务器所发送来的目标数据对应的标识信息,对其进行鉴权,并在鉴权成功时,将该目标数据对应的目标地址返回给服务器。然后,该服务器可以进一步将所述目标地址作为所述第一处理请求对应的响应返回至所述目标用户终端。
可选地,若该目标地址是存储在服务器的后台数据库中,即等效于该分布式终端是被集成在该服务器中,此时,该服务器可以在校验通过时,从该后台数据库中获取该目标数据对应的目标地址,并将该目标地址作为所述第一处理请求对应的响应返回至所述目标用户终端。
其中,步骤S201-步骤S205的具体实现方式可参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
步骤S206,若否,则确定所述处理请求为第二处理请求,并根据目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述目标用户终端进行合法性验证。
其中,目标校验键值对包括由服务器从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值;所述第二校验计数器的计数值为将所述第一区块中的第一校验计数器的计数值进行累加后的值;
因此,该服务器在根据目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述目标用户终端进行合法性验证之前,还可以包括以下步骤:
该服务器可以在确定对第二区块进行校验成功之后,进一步将所述第二区块添加至所述区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对。于是,该服务器可以在接收到该目标用户终端基于本地所存储的第二区块发送的第二处理请求时,根据所述目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述目标用户终端进行合法性验证;
其中,用户校验键值对包括由所述目标用户终端从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值。
为便于理解,本发明实施例以添加到区块链中的区块为上述图3所对应实施例中的区块110为例,由于该区块100中存储有目标用户终端对应的用户数据信息,因此,当目标用户终端再次针对该目标数据(例如,上述序列B6)发起处理请求时,该服务器可以基于该处理请求中所携带的设备标识符和包含序列B6的版本信息,确定此时所发起的处理请求为第二处理请求。此时,该目标用户终端中会存储有区块110的校验计数器的计数值和该区块110的历史区块哈希值,换言之,该目标用户终端中所存储的第二区块(即添加到上述区块链中的区块110)的第二校验计数器的计数值为将上述图5所对应实施例中的第一区块(即区块100)的第一校验计数器的计数值(例如,6)进行累加后的值(例如,7)。此外,该目标用户终端中还存储有该区块110的历史区块哈希值。
由此可见,该目标用户终端可以在接收到服务器所发送的将该生成的第二区块进行存储的校验通知信息时,或者接收到服务器在校验通过之后所返回的第二区块时,可以进一步对该第二区块进行存储处理。其中,该存储的第二区块(即区块110)中的“校验计数器的计数值”可以理解为一个用于索引的ID值(即索引值),且被添加到上述区块链中的各区块(包含通过验证的区块110)中的这个ID值具有唯一性,它是递增的。
由于存储在该服务器中的区块链中的每个区块中都保存了前一个区块的历史区块哈希值(即各区块的父区块哈希值),并且该区块链数据库(即服务器的后台数据库)中也保存有完整默克尔树节点(即所有通过验证的区块)的索引值和历史区块哈希值。因此,对于与该服务器存在数据交互的每个用户终端而言,都可以在发送第二处理请求之前,预先基于用户终端中所存储区块的校验计数器的计数值和历史区块哈希值构建一个用户校验键值对。其中,该用户校验键值对的结构可以写为<校验计数器的计数值,历史区块哈希值>。于是,当服务器获取到上述第二处理请求时,可以进一步获取该第二请求中的用户校验键值对。
可以理解的是,该用户校验键值对包含由所述目标用户终端从终端所存储的第二区块中所提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值。
又比如,对已经通过一次校验生成了区块B的目标用户终端(即用户1所持有的终端)而言,该目标用户终端中所存储的区块B中的校验计数器,记录了该区块B是第几个被校验的,假设该目标用户终端中区块B的校验计数器的值为999,且该区块B的历史区块哈希值为0XFF6E(应当理解,实际的历史区块哈希值会比这个长度要长),那么当用户1需要再次播放上述目标应用中的目标数据时,则可以将该用户校验键值对(即<999,0xFF6E>)添加到该处理请求中,以便于服务器可以确定该处理请求为第二处理请求时,获取该第二处理请求中的用户校验键值对,从而可以进一步在区块链数据库中索引是否存在与该用户校验键值对相符的目标校验键值对。其中,该目标校验键值对包括该由服务器从添加到区块链中的区块B中所提取出的区块B的校验计数器的计数值和从该区块B中所提取出的历史区块哈希值。因此,若该服务器可以在该区块链的数据库中查找到与上述用户校验键值对相同的目标校验键值对(即<999,0xFF6E>),则可以确定该目标用户终端为合法用户,否则,则确定该目标用户终端为非法用户。由于,用户键值对<999,0xFF6E>在目标用户终端和服务器之间进行数据交互的过程中通过非对称加密,且在该目标用户终端中存储时也进行加密,从而可以有效地防止该目标用户终端中的区块B的数据被盗用现象,从而提高鉴权的力度,并可以确保多媒体数据的安全性。
步骤S207,在确定该目标用户终端为合法用户时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
此时,存储有目标数据的分布式终端可以集成于该服务器。可选地,该分布式终端还可以独立于该服务器。
比如,当服务器确定该目标用户终端为合法用户时,则可以生成该多媒体数据对应的标识信息,并将该标识信息和该目标数据发送给上述分布式终端(即该分布式终端可以为存储有目标数据的内容分发网络),因此,当该分布式终端接收到该标识信息和目标数据之后,可以进一步对该标识信息进行鉴权,并在鉴权通过时,获取该目标数据(比如,序列B6)对应的目标地址,并将该目标地址返回给服务器,以使该服务器可以进一步将该目标地址作为该第二处理请求对应的响应返回至所述目标用户终端。
由此可见,当该分布式终端独立于该服务器时,该步骤S207还可以为:在确定该目标用户终端为合法用户时,通知分布式终端返回所述目标数据对应的目标地址,并将所述目标地址作为所述第二处理请求对应的响应返回至所述目标用户终端。其中,该分布式终端返回所述目标数据对应的目标地址的具体过程可以参见上述步骤S205中对返回目标数据对应的目标地址的描述,这里将不再继续进行赘述。
可选地,该服务器在将该第二区块添加到上述区块链中之后,还可以将所述第二区块中的生成时间戳确定为所述更新后的区块链中的最大生成时间戳,以便于后续在接收到其他用户终端(例如,上述图1所对应实施例中用户终端3000n)首次发起的处理请求时,执行所述根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块的步骤,比如,该客户案3000n此时可作为新的目标用户终端,以重复执行上述步骤,其中,该用户终端3000n重复执行上述步骤的具体实现方式可参见上述图7所对应实施例中的各执行步骤的具体实现方式,这里将不再继续进行赘述。
在本发明实施例中,服务器可以在接收到目标用户终端所发送的处理请求时,可以在区块链中按照各区块生成的时间顺序将最后一个通过校验的区块确定为第一区块,即该第一区块为所存储的区块链中具有最大时间戳的区块,进一步地,该服务器可以将该第一区块发送给目标用户终端,以接收该目标用户终端基于该第一区块所返回的第二区块。可见,该第二区块的生成是基于服务器为其分发的第一区块和区块构建规则所确定的,由于区块链中的每个区块中的校验计数器可以用来记录该区块是第几个被校验,因此,对于校验通过的第二区块而言,将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
进一步地,请参见图8,是本发明实施例提供的另一种数据处理方法,所述方法可以应用于上述图1所对应实施例中的任一用户终端,所述方法至少包括:
步骤S301,向服务器发送针对目标数据的处理请求;
其中,服务器在接收到用户终端(比如,该用户终端可以为上述图1所对应实施例中的目标用户终端)所发送的处理请求之后,会进一步判断该处理请求是否属于第一处理请求,其中,所述服务器对该处理请求的具体判断过程可参见上述图7所对应实施例中对步骤S202的描述,这里将不再继续进行赘述。
由于区块链中可以存储所有通过验证的用户终端信息(例如,用户终端的设备标识符),因此,服务器可以将接收到的处理请求中所携带的设备标识符与区块链中所存在的设备标识符进行比对,进而可以确定该接收到的处理请求是否为第一处理请求。
可选地,由于通过验证的所有区块均会被添加到区块链中,因此,该服务器还可以将通过验证的第二区块的下发给目标用户终端,以使该目标用户终端将接收到的第二区块进行存储,可选地,该服务器可以在确定校验成功时,可以生成并发送与目标用户终端对应的校验通知信息(该校验通知信息用于通知该目标用户终端将生成的第二区块进行存储),以使该目标用户终端在本地终端中将生成的第二区块进行存储。因此,该目标用户终端可以进一步将该存储的第二区块中的第二校验计数器的计数值和历史区块哈希值构成用户校验键值对。所以,当终端中存在该用户校验键值对时,该目标用户终端也可以确定该发起的处理请求为第二处理请求,否则,该目标用户终端可以确定该发起的处理请求为第一处理请求。其中。所述第一处理请求为目标用户终端首次发起的处理请求;
步骤S302,若所述处理请求为第一处理请求,则接收所述服务器根据所述第一处理请求所返回的第一区块和区块构建规则;
其中,所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
步骤S303,基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器;
具体地,目标用户终端可以进一步基于接收到的区块构建规则生成所述第一区块对应的待处理区块;其中,所述待处理区块包含第二区块数据量、第二校验计数器;所述第二校验计数器用于记录所述待处理区块的计数值;所述待处理区块的计数值为将所述第一校验计数器的计数值进行累加后的值;进一步地,该目标用户终端可以根据所述区块构建规则和所述第一区块头生成所述待处理区块中的第二区块头,并将包含所述第二区块头、第二区块数据量、第二校验计数器的待处理区块确定为第二区块;最后,该目标用户终端可以进一步将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,返回所述目标数据对应的目标地址。
应当理解,该目标用户终端接收到该第一区块时,也会对该第一区块中的数据进行完整性校验,并在确定该第一区块中所携带的数据具有完整性时,基于接收到的区块构建规则构建一个包含上述图4多对应实施例中的区块结构,即得该目标用户终端可以首先对所述第一区块中所包含的第一区块数据量和第一校验计数器进行数值处理,以得到包含第二区块数据量和第二校验计数器的待处理区块。其中,第二校验计数器可以用于记录该生成的待处理区块的计数值;所述待处理区块的计数值即为将所述第一区块中的第一校验计数器的计数值进行累加后的值。
进一步地,该目标用户终端可以根据该接收到的区块构建规则将所述第一处理请求中所携带的设备标识符和版本信息确定为所述待处理区块中的校验数据;然后,可以对所述第一区块头中的历史区块哈希值进行哈希运算,得到第一哈希值,并将所述第一哈希值确定为所述待处理区块中的历史区块哈希值;最后,该目标用户终端可以进一步将所述待处理区块中所包含的区块版本、历史区块哈希值,默克尔根、生成时间戳和校验数据确定为所述待处理区块中的第二区块头,并将包含所述第二区块头、第二区块数据量、第二校验计数器的待处理区块确定为第二区块。
为便于理解,进一步地,请参见图9,是本发明实施例提供的一种生成第二区块的示意图。如图9所示,所述第一区块包含第一区块数据量,第一区块头和第一校验计数器。其中,所述第一校验计数器用于记录第一区块的计数值,比如,第一区块的计数值N=6,因此,该目标用户终端可以进一步根据接收到的区块构建规则预先复制一个与第一区块的区块结构相符的待处理区块,即该待处理区块也会具备上述图4所对应的区块结构。换言之,该目标用户终端可以基于该区块构建规则生成该第一区块对应的待处理区块,该待处理区块可以包含第二区块数据量和第二校验计数器。其中,该第二校验计数器用于记录该待处理区块的计数值;所述待处理区块的计数值为将所述第一校验计数器的计数值进行累加后的值,比如,该待处理区块的计数值可以为7(即N+1=6+1);如图9所示,第一区块的第一区块头包含区块版本A1,历史区块哈希值A2、默克尔根A3,生成时间戳A4和校验数据A5,由于待处理区块是基于区块构建规则对第一区块进行复制后所得到的值为空值的区块头,因此,该目标用户终端可以进一步将该包含目标数据的播放序列的版本号和设备标识符,写入该待处理区块的校验数据中,以得到图9所示的校验数据B5。与此同时,该目标用户终端可以对第一区块的历史区块哈希值A2进行哈希运算,并将哈希运算后所得到的散列值称之为图9所示的第一哈希值,并将该哈希值赋值给该待处理区块的历史区块哈希值,即得到图9所示的第二区块的历史区块哈希值。应当理解,第二区块的生成时间戳即为将包含该第二区块头、第二区块数据量、第二校验计数器的待处理区块确定为第二区块时的时间戳。该目标用户终端在生成图9所示的第二区块之后,可以进一步将该生成的第二区块发送给上述服务器,以使服务器可以进一步基于上述区块链中的第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址。
其中,所述服务器基于第一区块对所述第二区块进行校验的具体过程可参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
步骤S304,接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据。
在本发明实施例中的一种实现方式中,当服务器确定接收到的处理请求为目标用户终端首次发起的处理请求时,该目标用户终端可以进一步执行步骤S302-步骤S304,并可以在后续再次接收到针对该目标数据的触控操作指令时,该目标用户终端可以进一步执行步骤S305-步骤S309,即该目标用户终端可以使服务器在确定接收到的处理请求为目标用户终端再次发起的处理请求时,触发该服务器执行上述图7所对应实施例中对第二处理请求的描述,这里将不再继续进行赘述。
可选地,在本发明实施例中的另一种实现方式中,当服务器确定接收到的处理请求为目标用户终端再次发起的处理请求时,该目标用户终端还是可以进一步执行步骤S302,即该目标用户终端可以重复执行上述步骤S302-步骤S304。即服务器在每次接收到目标用户终端发起的针对该目标数据的处理请求时,都可以将首次发起的处理请求或再次发起的处理请求称之为第一处理请求,以进一步执行步骤S302-步骤S304。可以理解的是,服务器对于先后发起的这两次处理请求而言,均会将具有最大时间戳的区块(即第一区块)下发给目标用户终端,因此,该目标用户终端可以进一步基于先后接收到的第一区块生成第二区块,并将先后生成的第二区块返回给该服务器。
可选地,步骤S305,接收所述服务器在校验通过时所返回的校验通知信息,并根据所述校验通知信息对所述第二区块进行存储。
可选地,在服务器在将第二区块添加到上述区块链之后,该目标用户终端还可以进一步接收该服务器所返回所述第二区块,并将所述第二区块进行存储。
步骤S306,当接收到针对所述目标数据的触控操作指令时,从所述第二区块中提取所述第二校验计数器的计数值以及所述第二区块的历史区块哈希值;
步骤S307,根据所述第二校验计数器的计数值以及所述第二区块的历史区块哈希值,构建所述第二区块对应的用户校验键值对;
步骤S308,对所述用户校验键值对进行加密处理,并基于加密处理后的用户校验键值对生成第二处理请求,并将所述第二处理请求发送至所述服务器。
其中,该目标用户终端将所述第二处理请求发送至所述服务器之后,该服务器可以进一步根据目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述目标用户终端进行合法性验证,并在确认该目标用户终端为合法用户时,进一步获取所述目标数据对应的目标地址。
其中,所述服务器对第二处理请求中的用户校验键值对进行校验的具体过程,可以参见上述图7所对应实施例中对所述用户校验键值对进行校验的具体过程,这里将不再继续进行赘述。
步骤S309,接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据。
其中,步骤S305的执行可以发生在执行上述步骤S304之后,或者在执行上述步骤S304之前,或者在执行上述步骤S304的同时。
在本发明实施例中,在服务器确定出该目标用户终端所发送的处理请求为第一处理请求,即该第一处理请求为所述目标用户终端首次发起的处理请求之后,该目标用户终端可以接收该服务器所为其分发的第一区块和区块构建规则,从而可以生成与该第一区块具有关联关系的第二区块,由于区块链中所存储的数据具有唯一性和不可篡改性,因此,基于第一区块所生成的第二区块也是唯一的,因此,对于校验通过的第二区块而言,也将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
进一步地,请参见图10,是本发明实施例提供的一种数据交互方法的示意图。如图10所示,所述方法可以包括:
步骤S401,目标用户终端向服务器发送针对目标数据的处理请求;
步骤S402,所述服务器判断所述处理请求是否为第一处理请求;
其中,所述步骤S402的具体实现方式可参见上述图7所对应实施例中对步骤S202的描述,这里将不再继续进行赘述。
步骤S403,若所述服务器确定接收到的所述处理请求为第一处理请求,则所述服务器根据所述第一处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
其中,所述步骤S403的具体实现方式可参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
步骤S404,所述目标用户终端基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器;
其中,所述步骤S404的具体实现方式可参见上述图8所对应实施例中对步骤S303的描述,这里将不再继续进行赘述。
步骤S405,所述服务器根据所述第一区块对所述第二区块进行校验;
其中,所述S405的具体实现方式可参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
步骤S406,在校验通过时,所述服务器获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
其中,所述S406的具体实现方式可参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
可选地,所述服务器还可以在校验通过之后,生成校验通知信息,并将所述校验通知信息下发给所述目标用户终端。
可选地,所述服务器还可以在校验通过之后,或者在将第二区块添加到所述区块链之后,将所述第二区块返回给所述目标用户终端,以使所述目标用户终端对接收到的所述第二区块进行存储处理。
步骤S407,所述目标用户终端根据所述目标地址加载所述目标数据。
步骤S408,所述服务器将所述第二区块添加至所述区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
步骤S409,所述目标用户终端接收所述服务器在校验通过时所返回的校验通知信息,并根据所述校验通知信息对所述第二区块进行存储;
步骤S410,所述目标用户终端在接收到针对所述目标数据的触控操作指令时,基于所述第二区块生成第二处理请求,并向所述服务器发送第二处理请求;
其中,所述步骤S410的具体实现方式可参见上述图8所对应实施例中对步骤S306-步骤S308的描述,这里将不再继续进行赘述。
步骤S411,所述服务器在接收到所述第二处理请求时,根据所述目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述目标用户终端进行合法性验证;
其中,所述步骤S411的具体实现方式可参见上述图7所对应实施例中对步骤S206的描述,这里将不再继续进行赘述。
步骤S412,所述服务器在确定所述目标用户终端为合法用户时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
可选地,所述服务器在执行完上述步骤S408之后,还可以进一步执行将所述第二区块中的生成时间戳确定为所述更新后的区块链中的最大生成时间戳,以便于后续在接收到其他用户终端首次发起的处理请求时,重复执行上述步骤S403,即所述根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块的步骤。
其中,所述步骤S402的具体实现方式可以描述为:所述服务器获取所述处理请求中所携带的所述目标用户终端对应的设备标识符和版本信息;所述服务器在所存储的区块链中查询所述目标用户终端对应的所述设备标识符和所述版本信息;若在所述区块链中未查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第一处理请求;可选地,若在所述区块链中查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第二处理请求;所述第二处理请求为在所述第一处理请求之后发起的处理请求。
在本发明实施例中,服务器可以在接收到目标用户终端所发送的处理请求时时,可以在区块链中按照各区块生成的时间顺序将最后一个通过校验的区块确定为第一区块,即该第一区块为所存储的区块链中具有最大时间戳的区块,进一步地,该服务器可以将该第一区块发送给目标用户终端,以接收该目标用户终端基于该第一区块所返回的第二区块。可见,该第二区块的生成是基于服务器为其分发的第一区块和区块构建规则所确定的,由于区块链中的每个区块中的校验计数器可以用来记录该区块是第几个被校验,因此,对于校验通过的第二区块而言,将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
进一步地,请参见图11,是本发明实施例提供的一种服务器的结构示意图,该服务器1可以为上述图1所对应实施例中的服务器2000。如图10所示,该服务器1可以包括:第一请求接收模块100,第一区块发送模块200,第二区块接收模块300和区块校验模块400,进一步地,该服务器1还可以包括:区块添加模块500,第二请求接收模块600和时间戳更新模块700;
第一请求接收模块100,用于接收目标用户终端发送的针对目标数据的处理请求;
其中,所述第一请求接收模块100包括:信息获取单元101,信息查询单元102和请求确定单元103;
信息获取单元101,用于获取所述处理请求中所携带的所述目标用户终端对应的设备标识符和版本信息;
信息查询单元102,用于在所存储的区块链中查询所述目标用户终端对应的所述设备标识符和所述版本信息;
请求确定单元103,用于若在所述区块链中未查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第一处理请求;所述第一处理请求为所述目标客户端首次发起的处理请求;
所述请求确定单元103,还用于若在所述区块链中查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第二处理请求;所述第二处理请求为在所述第一处理请求之后发起的处理请求。
其中,所述信息获取单元101,信息查询单元102和请求确定单元103的具体执行方式可参见上述图10所对应实施例中对步骤S202的描述,这里将不再继续进行赘述。
第一区块发送模块200,用于根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
第二区块接收模块300,用于接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
区块校验模块400,用于根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
其中,所述第二区块中的历史区块哈希值为所述目标用户终端从服务器上获取到的区块中的历史区块哈希值进行哈希运算后所得到的第一哈希值;
所述区块校验模块400可以包括:区块查找单元401,哈希运算单元402,哈希比较单元403,第一确定单元404和第二确定单元405;
区块查找单元401,用于对所述第二区块中的数据进行完整性校验,并在确定所述第二区块中所携带的数据具有完整性时,在所述区块链中查找所述第一区块;
哈希运算单元402,用于对所述第一区块中的历史区块哈希值进行哈希运算,得到第二哈希值;
哈希比较单元403,用于将所述第二哈希值和所述第二区块中的所述第一哈希值进行比较;
第一确定单元404,用于若所述第二哈希值等于所述第一哈希值,则确定校验成功。
可选地,第二确定单元405,用于若所述第二哈希值不等于所述第一哈希值,则确定校验失败,并生成失败提示信息,并将所述失败提示信息作为所述处理请求对应的响应返回至所述目标用户终端。
其中,所述区块查找单元401,哈希运算单元402,哈希比较单元403,第一确定单元404和第二确定单元40的具体执行方式可参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
其中,所述第一请求接收模块100,第一区块发送模块200,第二区块接收模块300和区块校验模块400的具体执行方式可参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
其中,首次发起的所述处理请求为第一处理请求,所述第一处理请求用于触发第一区块发送模块200执行所述根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块;
可选的,区块添加模块500,将所述第二区块添加至所述区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;所述目标校验键值对包括由服务器从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值;所述第二校验计数器的计数值为将所述第一区块中的第一校验计数器的计数值进行累加后的值;
第二请求接收模块600,用于在接收到所述目标用户终端后续基于所述第二区块发送的第二处理请求时,根据所述目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述目标用户终端进行合法性验证;所述用户校验键值对包括由所述目标用户终端从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值;所述第二处理请求为所述目标用户终端再次发起的处理请求。
其中,所述第二请求接收模块600包括:键值对获取单元601和键值对搜索单元602;
键值对获取单元601,用于在接收到所述目标用户终端后续基于所述第二区块发送的第二处理请求时,获取所述第二处理请求中所携带的所述用户校验键值对;
键值对搜索单元602,用于当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的所述目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址作为所述第二处理请求对应的响应返回至所述目标用户终端。
其中,所述键值对获取单元601和键值对搜索单元602的具体实现方式可参见上述图7所对应实施例中对步骤S206-步骤S207的描述,这里将不再继续进行赘述。
时间戳更新模块700,将所述第二区块中的生成时间戳确定为所述更新后的区块链中的最大生成时间戳,以便于后续在接收到其他用户终端首次发起的处理请求时,通知所述第一区块发送模块200执行所述根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块。
其中,区块添加模块500,第二请求接收模块600和时间戳更新模块700的具体执行方式可参见上述图10所对应实施例中对步骤S408-步骤412的描述,这里将不再继续进行赘述。
在本发明实施例中,该服务器可以在接收到目标用户终端所发送的处理请求时,可以在区块链中按照各区块生成的时间顺序将最后一个通过校验的区块确定为第一区块,即该第一区块为所存储的区块链中具有最大时间戳的区块,进一步地,该服务器可以将该第一区块发送给目标用户终端,以接收该目标用户终端基于该第一区块所返回的第二区块。可见,该第二区块的生成是基于服务器为其分发的第一区块和区块构建规则所确定的,由于区块链中的每个区块中的校验计数器可以用来记录该区块是第几个被校验,因此,对于校验通过的第二区块而言,将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
进一步地,请参见图12,是本发明实施例提供的另一种服务器的结构示意图。如图12所示,所述服务器1000可以应用于上述图1对应实施例中的服务器2000,所述服务器1000可以包括:处理器1001,网络接口1004和存储器1005,此外,所述终端1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
该1000中的网络接口1004还可以与目标用户终端进行连接,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图9所示的服务器1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
接收目标用户终端发送的针对目标数据的处理请求;
根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
应当理解,本发明实施例中所描述的服务器1000可执行前文图3和图7所对应实施例中对所述数据处理方法的描述,也可执行前文图11所对应实施例中对所述服务器1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的服务器1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3和图7所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
进一步地,请参见图13,是本发明实施例提供的一种用户终端的结构示意图。所述用户终端2可以为上述图1所对应实施例中的目标用户终端。进一步地,该用户终端2可以包括:第一请求发送模块10,第一区块接收模块20,第二区块发送模块30,第一地址接收模块40;进一步地,所述用户终端2还可以包括:通知接收模块50和第二请求发送模块60;
第一请求发送模块10,用于向服务器发送针对目标数据的处理请求;
第一区块接收模块20,用于接收所述服务器基于所述处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
第二区块发送模块30,用于基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
其中,第二区块发送模块30包括:待处理区块生成单元301,第二区块确定单元302和第二区块发送单元303;
待处理区块生成单元301,用于基于所述区块构建规则生成所述第一区块对应的待处理区块;所述待处理区块包含第二区块数据量、第二校验计数器;所述第二校验计数器用于记录所述待处理区块的计数值;所述待处理区块的计数值为将所述第一校验计数器的计数值进行累加后的值;
其中,所述待处理区块生成单元301,具体用于对所述第一区块中的数据进行完整性校验,并在确定所述第一区块中所携带的数据具有完整性时,基于所述区块构建规则对所述第一区块中所包含的第一区块数据量和第一校验计数器进行数值处理,得到包含第二区块数据量和第二校验计数器的待处理区块。
第二区块确定单元302,用于根据所述区块构建规则和所述第一区块头生成所述待处理区块中的第二区块头,将包含所述第二区块头、第二区块数据量、第二校验计数器的待处理区块确定为第二区块;
其中,所述第二区块确定单元302包括:校验数据确定子单元3021,哈希值确定子单元3022和区块确定子单元3023;
校验数据确定子单元3021,用于根据所述区块构建规则将所述处理请求中所携带的设备标识符和版本信息确定为所述待处理区块中的校验数据;
哈希值确定子单元3022,用于对所述第一区块头中的历史区块哈希值进行哈希运算,得到第一哈希值,并将所述第一哈希值确定为所述待处理区块中的历史区块哈希值;
区块确定子单元3023,用于将所述待处理区块中所包含的区块版本、历史区块哈希值,默克尔根、生成时间戳和校验数据确定为所述待处理区块中的第二区块头,并将包含所述第二区块头、第二区块数据量、第二校验计数器的待处理区块确定为第二区块。
其中,所述校验数据确定子单元3021,哈希值确定子单元3022和区块确定子单元3023的具体实现方式可参见上述图8所对应实施例中对步骤S303的描述,这里将不再继续进行赘述。
第二区块发送单元303,用于将所述第二区块发送给所述服务器。
其中,待处理区块生成单元301,第二区块确定单元302和第二区块发送单元303的具体实现方式可参见上述图8所对应实施例中对步骤S303的描述,这里将不再继续进行赘述。
第一地址接收模块40,用于接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据。
其中,所述第一请求发送模块10,第一区块接收模块20,第二区块发送模块30,第一地址接收模块40的具体实现方式可参见上述图8所对应实施例中对步骤S301-步骤S304的描述,这里将不再继续进行赘述。
通知接收模块50,用于接收所述服务器在校验通过时所返回的校验通知信息,并根据所述校验通知信息对所述第二区块进行存储。
其中,所述第一处理请求为所述用户终端2首次发起的处理请求;
第二请求发送模块60,用于当接收到针对所述目标数据的触控操作指令时,从所述第二区块中提取所述第二校验计数器的计数值以及所述第二区块的历史区块哈希值;
所述第二请求发送模块60,还用于根据所述第二校验计数器的计数值以及所述第二区块的历史区块哈希值,构建所述第二区块对应的用户校验键值对;
所述第二请求发送模块60,还用于对所述用户校验键值对进行加密处理,并基于加密处理后的用户校验键值对生成第二处理请求,并将所述第二处理请求发送至所述服务器,以使所述服务器根据目标校验键值对以及所述第二处理请求中的用户校验键值对,对所述用户终端2进行合法性验证;所述目标校验键值对包括由所述服务器从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值;所述第二处理请求为所述用户终端再次发起的处理请求。
其中,所述通知接收模块50和第二请求发送模块60的具体实现方式可参见上述图8所对应实施例中对步骤S305-步骤S308的描述,这里将不再继续进行赘述。
在本发明实施例中,在服务器确定出该目标用户终端所发送的处理请求为第一处理请求,即该第一处理请求为所述用户终端2首次发起的处理请求之后,该用户终端2可以接收该服务器所为其分发的第一区块和区块构建规则,从而可以生成与该第一区块具有关联关系的第二区块,由于区块链中所存储的数据具有唯一性和不可篡改性,因此,基于第一区块所生成的第二区块也是唯一的,因此,对于校验通过的第二区块而言,也将具有唯一性和不可篡改性,从而可以在提升用户的辨识度的同时,进一步确保数据的安全性。
请参见图14,是本发明实施例提供的另一种用户终端的结构示意图。如图14所示,该用户终端4000可以为上述图1所对应实施例中的目标用户终端。该用户终端4000可以包括:处理器4001,网络接口4004和存储器4005,此外,所述服务器4000还可以包括:用户接口4003,和至少一个通信总线4002。其中,通信总线4002用于实现这些组件之间的连接通信。其中,用户接口4003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口4003还可以包括标准的有线接口、无线接口。网络接口4004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器4004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器4005可选的还可以是至少一个位于远离前述处理器4001的存储装置。如图14所示,作为一种计算机存储介质的存储器4005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,服务器4000中的网络接口4004还可以与上述图1所对应实施例中的服务器2000进行连接,且可选用户接口4003还可以包括显示屏(Display)、键盘(Keyboard)。在图14所示的服务器4000中,网络接口4004可提供网络通讯功能;而用户接口4003主要用于为用户提供输入的接口;而处理器4001可以用于调用存储器4005中存储的设备控制应用程序,以实现:
向服务器发送针对目标数据的处理请求;
接收所述服务器基于所述处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据。
应当理解,本发明实施例中所描述的用户终端4000可执行前文8所对应实施例中对所述数据处理方法的描述,也可执行前文图13所对应实施例中对所述用户终端2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的用户终端2所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图8所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
进一步地,请参见图15,是本发明实施例提供的一种数据处理系统的结构示意图。如图15所示,所述数据处理系统3中具体可以包括服务器1a和用户终端2a。
应当理解,本发明实施例中所描述的服务器1a可执行前文图3和图7所对应实施例中对所述数据处理方法的描述,也可执行前文图12所对应实施例中对所述服务器1000的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。此外,本发明实施例中所描述的用户终端2a可执行前文8所对应实施例中对所述数据处理方法的描述,也可执行前文图14所对应实施例中对所述用户终端4000的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
服务器接收目标用户终端发送的针对目标数据的第一处理请求;
根据所述第一处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
根据所述第一区块对所述第二区块进行校验,在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端;
将所述第二区块添加至区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
在接收到所述目标用户终端后续基于所述第二区块发送的第二处理请求时,获取所述第二处理请求中所携带的用户校验键值对;
当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的所述目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
2.根据权利要求1所述的方法,其特征在于,所述第二区块中的历史区块哈希值为所述目标用户终端从服务器上获取到的区块中的历史区块哈希值进行哈希运算后所得到的第一哈希值;
所述根据所述第一区块对所述第二区块进行校验,包括:
对所述第二区块中的数据进行完整性校验,并在确定所述第二区块中所携带的数据具有完整性时,在所述区块链中查找所述第一区块;
对所述第一区块中的历史区块哈希值进行哈希运算,得到第二哈希值;
将所述第二哈希值和所述第二区块中的所述第一哈希值进行比较;
若所述第二哈希值等于所述第一哈希值,则确认校验成功。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第二哈希值不等于所述第一哈希值,则确认校验失败,并生成失败提示信息,并将所述失败提示信息返回至所述目标用户终端。
4.根据权利要求2所述的方法,其特征在于,所述目标校验键值对包括由服务器从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值;所述第二校验计数器的计数值为将所述第一区块中的第一校验计数器的计数值进行累加后的值;
所述用户校验键值对包括由所述目标用户终端从所述第二区块中提取出的第二校验计数器的计数值和从所述第二区块中提取出的历史区块哈希值。
5.根据权利要求4所述的方法,其特征在于,还包括:
将所述第二区块中的生成时间戳确定为所述更新后的区块链中的最大生成时间戳,以便于后续在接收到其他用户终端首次发起的处理请求时,执行所述根据所述处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块的步骤。
6.根据权利要求1所述的方法,其特征在于,所述接收目标用户终端发送的针对目标数据的处理请求,包括:
获取所述处理请求中所携带的所述目标用户终端对应的设备标识符和版本信息;
在所存储的区块链中查询所述目标用户终端对应的所述设备标识符和所述版本信息;
若在所述区块链中未查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第一处理请求;
若在所述区块链中查询到所述目标用户终端对应的所述设备标识符和所述版本信息,则确定所述处理请求为第二处理请求;所述第二处理请求为在所述第一处理请求之后发起的处理请求。
7.一种数据处理方法,其特征在于,包括:
目标用户终端向服务器发送针对目标数据的第一处理请求;
接收所述服务器基于所述第一处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据;所述服务器还用于将所述第二区块添加至区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
所述目标用户终端后续基于所述第二区块发送第二处理请求至所述服务器,以使所述服务器获取所述第二处理请求中所携带的用户校验键值对,当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的所述目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
8.一种服务器,其特征在于,包括:
第一请求接收模块,用于接收目标用户终端发送的针对目标数据的第一处理请求;
第一区块发送模块,用于根据所述第一处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
第二区块接收模块,用于接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
区块校验模块,用于根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端;
区块添加模块,用于将所述第二区块添加至区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
第二请求接收模块,用于在接收到所述目标用户终端后续基于所述第二区块发送的第二处理请求时,获取所述第二处理请求中所携带的用户校验键值对;
所述第二请求接收模块,还用于当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的所述目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
9.一种用户终端,其特征在于,包括:
第一请求发送模块,用于向服务器发送针对目标数据的第一处理请求;
第一区块接收模块,用于接收所述服务器基于所述第一处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
第二区块发送模块,用于基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时获取所述目标数据对应的目标地址;
第一地址接收模块,用于接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据;所述服务器还用于将所述第二区块添加至区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
第二请求发送模块,用于后续基于所述第二区块发送第二处理请求至所述服务器,以使所述服务器获取所述第二处理请求中所携带的用户校验键值对,当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
10.一种数据处理系统,其特征在于,所述系统包括:如权利要求8所述的服务器,和如权利要求9所述的用户终端。
11.一种服务器,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于连接目标用户终端,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行以下操作:
接收目标用户终端发送的针对目标数据的第一处理请求;
根据所述第一处理请求在所存储的区块链中将具有最大生成时间戳的区块,确定为第一区块,并将所述第一区块和区块构建规则发送至所述目标用户终端;
接收所述目标用户终端发送的第二区块,所述第二区块为所述目标用户终端基于所述第一区块和所述区块构建规则所生成的;
根据所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端;
将所述第二区块添加至区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
在接收到所述目标用户终端后续基于所述第二区块发送的第二处理请求时,获取所述第二处理请求中所携带的用户校验键值对;
当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的所述目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址返回至所述目标用户终端。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当处理器执行所述程序指令时执行如权利要求1-6所述的方法。
13.一种用户终端,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于连接服务器,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行以下操作:
向服务器发送针对目标数据的第一处理请求;
接收所述服务器基于所述第一处理请求所返回的第一区块和区块构建规则;所述第一区块为所述服务器所存储的区块链中具有最大生成时间戳的区块;
基于所述第一区块和所述区块构建规则,生成第二区块,并将所述第二区块发送给所述服务器,以使所述服务器基于所述第一区块对所述第二区块进行校验,并在校验通过时,获取所述目标数据对应的目标地址;
接收所述服务器所返回的所述目标地址,并根据所述目标地址加载所述目标数据;所述服务器还用于将所述第二区块添加至区块链,以更新所述区块链对应的默克尔树,并在更新后的默克尔树中存储所述第二区块对应的目标校验键值对;
后续基于所述第二区块发送第二处理请求至所述服务器,以使所述服务器获取所述第二处理请求中所携带的用户校验键值对,当在所述区块链中搜索到与所述用户校验键值对匹配的所述目标校验键值对时,确定发起所述第二处理请求的目标用户终端为合法用户,并获取所述目标数据对应的目标地址,并将所述目标地址返回至所述用户终端。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当处理器执行所述程序指令时执行如权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811366417.4A CN110263579B (zh) | 2018-11-16 | 2018-11-16 | 一种数据处理方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811366417.4A CN110263579B (zh) | 2018-11-16 | 2018-11-16 | 一种数据处理方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110263579A CN110263579A (zh) | 2019-09-20 |
CN110263579B true CN110263579B (zh) | 2021-05-11 |
Family
ID=67911882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811366417.4A Active CN110263579B (zh) | 2018-11-16 | 2018-11-16 | 一种数据处理方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263579B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125755A (zh) * | 2019-12-12 | 2020-05-08 | 陕西医链区块链集团有限公司 | 基于区块链架构技术的医疗领域数据处理系统及方法 |
CN111127206B (zh) * | 2019-12-25 | 2021-04-16 | 中国银联股份有限公司 | 一种基于智能合约的区块链数据访问控制方法及装置 |
EP3799642B1 (en) * | 2020-02-14 | 2022-06-29 | Alipay (Hangzhou) Information Technology Co., Ltd. | Data authorization based on decentralized identifiers |
CN111429136B (zh) * | 2020-03-05 | 2023-04-28 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据审计方法及装置 |
CN111541756B (zh) * | 2020-04-17 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 区块生成方法、装置、节点设备及存储介质 |
CN111523142A (zh) * | 2020-04-26 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及介质 |
CN111598567B (zh) * | 2020-05-07 | 2023-11-10 | 深圳创客区块链技术有限公司 | 防止区块链大算力攻击的方法、装置及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911641A (zh) * | 2015-12-23 | 2017-06-30 | 索尼公司 | 用于授权访问的客户端装置、服务器装置和访问控制系统 |
US20170364936A1 (en) * | 2016-06-15 | 2017-12-21 | CouponCo Ltd. | Computer-implemented electronic coupon system and methods using a blockchain |
CN106534160B (zh) * | 2016-12-02 | 2020-02-21 | 江苏通付盾科技有限公司 | 基于区块链的身份认证方法及系统 |
CN106952094B (zh) * | 2017-03-10 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 电子票据管理方法及装置 |
CN107124278B (zh) * | 2017-03-30 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置以及数据共享系统 |
CN107220559B (zh) * | 2017-06-11 | 2023-07-07 | 南京安链数据科技有限公司 | 一种针对不可篡改文件的加密存储方法 |
CN107465698A (zh) * | 2017-09-26 | 2017-12-12 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及服务器 |
CN107679149A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据处理方法及服务器 |
CN107682328A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及客户端 |
CN108039943B (zh) * | 2017-12-06 | 2020-10-30 | 清华大学深圳研究生院 | 一种可验证的加密搜索方法 |
CN108334753B (zh) * | 2018-01-04 | 2020-09-11 | 中国银行股份有限公司 | 盗版应用验证方法和分布式服务器节点 |
CN108260015B (zh) * | 2018-01-11 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种投票数据处理方法、装置及电子设备 |
CN108259489A (zh) * | 2018-01-11 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种投票数据处理方法、装置及电子设备 |
CN108540459B (zh) * | 2018-03-22 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 数据储存方法、装置、系统、电子设备及计算机可读介质 |
CN108615156A (zh) * | 2018-05-09 | 2018-10-02 | 上海魅联信息技术有限公司 | 一种基于区块链的数据结构 |
CN108810006B (zh) * | 2018-06-25 | 2021-08-10 | 百度在线网络技术(北京)有限公司 | 资源访问方法、装置、设备及存储介质 |
-
2018
- 2018-11-16 CN CN201811366417.4A patent/CN110263579B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110263579A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263579B (zh) | 一种数据处理方法、系统及相关设备 | |
CN111865920B (zh) | 一种网关认证和身份鉴权的平台及其方法 | |
US10747721B2 (en) | File management/search system and file management/search method based on block chain | |
CN110912707B (zh) | 基于区块链的数字证书处理方法、装置、设备及存储介质 | |
CN113691597B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
CN109474838B (zh) | 一种数据处理方法、设备、系统及存储介质 | |
US11108545B2 (en) | Creating a blockchain account and verifying blockchain transactions | |
CN112600678B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
EP3477561A1 (en) | System for goods delivery | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN110995446A (zh) | 证据验证方法、装置、服务器及存储介质 | |
WO2023020242A1 (zh) | 基于区块链的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN110941672A (zh) | 户籍管理方法、装置、设备以及存储介质 | |
CN113129008B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
KR102367052B1 (ko) | 관계성 탈중앙화 아이디 서비스를 제공하는 방법 및 이를 이용한 블록체인 노드 | |
CN111324914B (zh) | 文件的传输方法、装置、服务器、设备和介质 | |
CN110958285B (zh) | 一种基于区块链的数据存储系统 | |
CN110958211A (zh) | 一种基于区块链的数据处理系统及方法 | |
WO2024007855A1 (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN117034370B (zh) | 基于区块链网络的数据处理方法及相关设备 | |
KR102335199B1 (ko) | 파일 관리 시스템 및 그 방법 | |
CN112241513B (zh) | 一种待认证数字资产处理系统 | |
JP4543789B2 (ja) | トランザクションに基づく証明書検証情報管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40009197 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |