CN117957541A - 资源分发方法及装置 - Google Patents
资源分发方法及装置 Download PDFInfo
- Publication number
- CN117957541A CN117957541A CN202280002985.4A CN202280002985A CN117957541A CN 117957541 A CN117957541 A CN 117957541A CN 202280002985 A CN202280002985 A CN 202280002985A CN 117957541 A CN117957541 A CN 117957541A
- Authority
- CN
- China
- Prior art keywords
- resource
- transaction
- acquisition
- server
- target resource
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000009826 distribution Methods 0.000 title claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 60
- 238000003860 storage Methods 0.000 claims description 65
- 230000000977 initiatory effect Effects 0.000 claims description 42
- 238000004519 manufacturing process Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000003999 initiator Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种资源分发方法及装置。所述方法应用于第一服务端,包括:响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。该方法能够以执行交易的方式实现对资源分发记录的可靠存证。基于被存证至区块链的交易,可以对目标资源的分发过程进行溯源,从而提升对目标资源的管控能力,并在一定程度上降低资源分发过程的安全风险和侵权隐患。
Description
本公开涉及区块链技术领域,具体而言,涉及资源分发方法及装置。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
在相关技术中,为了实现对音视频文件等资源的安全管控,通常将资源存证至链上,即将资源本身或资源的哈希等关键信息打包至区块中,并存储在区块链节点本地。但是,虽然资源被存证至区块链,但服务端通常响应于客户端发起的请求即向其返回上述资源,使得客户端可以随意获取或转发资源,导致资源分发过程存在一定的安全风险和侵权隐患。
发明内容
有鉴于此,本发明的实施例提出了一种资源分发方法及装置,以解决相关技术中存在的不足。
根据本发明实施例的第一方面,提出一种资源分发方法,应用于第一服务端,包括:
响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;
在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
根据本发明实施例的第二方面,提出一种另资源分发方法,应用于第一消费端,包括:
向第一服务端发起针对目标资源的资源获取请求,以触发所述第一服务端从区 块链网络处获取对应于所述资源获取请求的预获取信息;
接收所述第一服务端返回的目标资源,所述目标资源由所述第一服务端在所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易的情况下返回。
根据本发明实施例的第三方面,提出一种又资源分发方法,应用于区块链网络中的任一区块链节点,包括:
在接收到第一服务端针对目标资源发起的资源获取交易的情况下,确定对应于资源获取请求的预获取信息,所述资源获取交易由所述第一服务端响应于第一消费端针对所述目标资源发起的所述资源获取请求所发起;
将所述预获取信息返回至所述第一服务端,以由所述第一服务端在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
根据本发明实施例的第四方面,提出一种资源分发装置,所述装置应用于第一服务端,所述装置包括一个或多个处理器,所述处理器被配置为:
响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;
在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
根据本发明实施例的第五方面,提出一种另资源分发装置,所述装置应用于第一消费端,所述装置包括一个或多个处理器,所述处理器被配置为:
向第一服务端发起针对目标资源的资源获取请求,以触发所述第一服务端从区块链网络处获取对应于所述资源获取请求的预获取信息;
接收所述第一服务端返回的目标资源,所述目标资源由所述第一服务端在所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易的情况下返回。
根据本发明实施例的第六方面,提出一种又资源分发装置,所述装置应用于区块链网络中的任一区块链节点,所述装置包括一个或多个处理器,所述处理器被配置 为:
在接收到第一服务端针对目标资源发起的资源获取交易的情况下,确定对应于资源获取请求的预获取信息,所述资源获取交易由所述第一服务端响应于第一消费端针对所述目标资源发起的所述资源获取请求所发起;
将所述预获取信息返回至所述第一服务端,以由所述第一服务端在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
根据本发明实施例的第七方面,提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现上述第一方面、第二方面或第三方面中任一项所述的资源分发方法。
根据本发明实施例的第八方面,提出一种非瞬态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面、第二方面或第三方面中任一项所述的资源分发方法中的步骤。
根据本发明的实施例,第一服务端响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;进而,在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
在上述方案中,第一消费端需要向第一服务端发起资源获取请求以用于获取目标资源,在此之前,第一消费端或者第一服务端还需要向区块链网络发起对应于所述第一消费端和所述目标资源的资源预获取交易,以由区块链网络将该交易存储至自身维护的所述区块链网络的区块链账本中。可以理解的是,所述资源预获取交易与所述资源获取交易相对应,二者共同反映了第一消费端和第一服务端之间发生的、针对目标资源的一次资源获取事件,该事件即对应于本方案所述的资源分发过程;而且,在所述区块链网络中的区块链节点执行资源获取交易后,该交易同样会被存储至所述区块链账本中。可见,在第一消费端从第一服务端获取目标资源的情况下,与该资源获取事件相关的两个交易均会被存证至链上,即链上会存证第一消费端针对目标资源的分发记录。
可见,本方案通过向区块链网络发起区块链交易,将与第一消费端从第一服务 端获取目标资源的过程相关的分发记录存证至区块链上,从而实现了对分发记录的可靠存证。基于被存证的资源预获取交易和资源获取交易,可以对目标资源的任一次分发过程进行溯源,从而有助于提升对目标资源的管控能力,并在一定程度上降低资源分发过程的安全风险和侵权隐患。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例示出的一种资源消费系统的架构示意图。
图2是根据本发明实施例示出的一种资源分发方法的流程图。
图3是根据本发明实施例示出的另一种资源分发方法的流程图。
图4是根据本发明实施例示出的又一种资源分发方法的流程图。
图5是根据本发明实施例示出的一种消费端认证方案的流程图。
图6是根据本发明实施例示出的一种资源存证方案的流程图。
图7是根据本发明实施例示出的一种资源分发方案的流程图。
图8是根据本发明实施例示出的一种资源转发方案的流程图。
图9是根据本发明实施例示出的一种资源分发装置的示意框图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是一示例性实施例提供的一种资源消费系统的架构示意图。如图1所示, 该系统可以包括区块链网络10、若干服务器,如服务器11和服务器12等、若干电子设备,如手机13、手机14、手机15和手机16等。实际上,所述资源消费系统还可以包括网络(图中未示出),该网络可以包括多种类型的有线或无线网络。所述手机与服务器之间、服务器与服务器之间,手机或服务器与区块链节点之间可以通过相应网络实现连接,不再赘述。
其中,所述区块链网络10可以基于BaaS(Blockchain as a Service,区块链即服务)平台构建,该网络可以包括多个区块链节点,如节点d1~d5等,各个区块链节点分别维护有所述区块链网络10的区块链账本,该区块链账本可以为分布式账本,该账本由多个区块按照时间顺序依次连接构成,任一区块中可以包含一个或多个区块链交易。
所述资源消费系统中的任一服务器可以为包含一独立主机的物理服务器,或者该服务器可以为主机集群承载的虚拟服务器、云服务器等。手机13~16只是用户可以使用的一种类型的终端设备。实际上,用户显然还可以使用诸如下述类型的终端设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital A目标资源istants)、可穿戴设备(如智能眼镜、智能手表等)、VR(Virtual Reality,虚拟现实)设备、AR(Augmented Reality,增强现实)设备等,本发明一个或多个实施例并不对此进行限制。
其中,所述资源消费系统中的任一服务器可以通过区块链节点实现与区块链网络之间的连接,如服务器11和12分别连接区块链节点d1和d2。上述任一手机可以与相应的服务器连接,如手机13~14分别连接服务器11、手机15~16分别连接服务器12等。另外,任一手机也可以与所述区块链网络10中的区块链节点直接连接,而且任一手机所连接的区块链节点可以与该手机所对应服务器连接的区块链节点相同或不同,如手机13和16分别连接节点d1和d3,不再赘述。
上述服务器11~12可以运行资源消费平台的服务端,手机13~16中可以运行有相应服务器对应的客户端,从而手机13~16可以通过自身运行的客户端实现与相应服务端之间的交互。例如,手机13和14可以运行视频消费平台的客户端,并通过与服务器11之间的交互实现所述视频消费平台提供的视频消费功能;类似的,手机13~14可以运行音乐消费平台的客户端,并通过与服务器11之间的交互实现所述音乐消费平台提供的音乐消费功能等,不再赘述。当然,服务器11~12也可以分别运行不同的视频消费平台的服务端程序,或者还可以分别运行同一视频消费平台中的不同功能模块 等,不再赘述。
另外,所述手机中运行的客户端本质上可以为应用程序(APP,Application),该应用程序可以被预先安装在手机上,使得该客户端可以在该手机上被启动并运行;当然,当使用诸如HTML5技术的在线“客户端”时,无需在手机上安装相应的应用程序,即可获得并运行该客户端,本发明实施例并不对此进行限定。
另外,连接至所述区块链节点的任一手机或服务器本地可以运行有所述区块链网络对应的链机SDK(Software Development Kit,软件开发工具包),所述链机SDK可以提供与区块链进行交互的底层逻辑,例如可以用于生成并向区块链网络发起区块链交易、监听区块链节点对区块链交易的执行结果等,不再赘述。
本发明实施例所述的第一服务端和第二服务端可以为所述资源消费系统中的任一服务端,所述第一消费客户端、第二消费客户端和第一生产端可以分别为所述资源消费系统中的任一客户端。如所述第一服务端和第二服务端可以分别为服务器11~12,所述第一消费客户端、第二消费客户端和第一生产端可以分别为手机13、手机16和手机14,下文实施例将针对各个参与方的具体情况分别进行方案描述,此处暂不赘述。其中,所述第一消费客户端或者第二服务端可以作为本发明所述的第一消费端;类似的,所述第一生产客户端或者所述第二服务端可以作为本发明所述的第一生产端。例如,在第一服务端为服务器11的情况下,所述第一消费端可以为手机13,或者也可以为服务器12;而第一生产端可以为手机14,或者也可以为服务器12。可见在资源消费系统中,任一服务端(如所述服务器12)可以针对其他服务端(如服务器11)同时承担作为生产者和消费者的功能。
下面结合附图及相应实施例对本发明的数据存证方案进行详细描述。图2是本发明示例性实施例示出的一种资源分发方法的流程图。如图2所示,该方法应用于第一服务端。包括以下步骤202-204:
步骤202,响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息。
在本发明实施例中,第一服务端可以用于管理待消费资源,例如可以将这类资源存储在本地存储空间,或者用于管理存储在分布式数据库中的资源等。就生产方式而言,所述资源可以为UGC(User Generated Content,用户生成内容)、PGC(Professionally-generated Content,专业生产内容)、OGC(Occupationally-generated Content,品牌生产内容)等多种形式。另外,为了进一步加强针对资源的管理功能,第一服务端还可以将上述资源的文件大小、文件哈希(Hash)、格式信息、播放时长、加密参数等资源信息存证至所述区块链网络,本发明实施例并不对此进行限定。可以理解的是,上述本地存储空间或数据量中可以存储待消费资源的原始资源文件,如视频文件、音频文件、图片等。通常情况下,原始资源文件会占用较多的存储空间,而其上述资源信息则通常只需占用较少的存储空间,所以通过上述方式,可以仅将待消费资源的资源信息存证至区块链账本,从而尽量节省区块链宝贵的链上存储空间,提升区块链节点的存储资源利用率。
在本发明实施例中,第一消费端可以在预设时刻或者响应于用户操作向第一服务端请求获取目标资源。以用户操作为例,第一消费端可以在资源展示界面中展示资源相关信息以便用户查看,进而用户可以通过上述资源相关信息了解各个待消费资源,并针对其中自身感兴趣的目标资源实施触发操作。相应地,在检测到上述触发操作的情况下,第一消费端可以开始向自身对应的第一服务端请求获取所述目标资源。
其中,本发明所述的资源可以为文本、图片、音频、视频等至少一种形式,本发明实施例并不对此进行限定。以视频为例,第一消费端可以在自身的视频浏览页面中展示视频首页、视频封面、视频标题、上传者名称、上传时间、播放量、交互量等视频相关信息,用户可以通过浏览上述视频相关信息从各个候选视频中确定自身感兴趣(想要观看)的目标视频,进而触发所述目标视频的视频相关信息(如点击该视频的视频封面)。第一消费端若检测到所述触发操作,则表明需要向自身对应的第一客户端请求获取所述目标视频,即获取该视频的视频数据,此时第一消费端可以开始向第一服务端请求获取所述视频。
在本发明实施例中,为了将所述目标资源的分发过程的相关信息充分上链存证,可以向区块链网络发起对应于第一消费端和所述目标资源的区块链交易。具体的,可以先发起资源预获取交易,再发起相应的资源获取交易。
在一实施例中,可以通过多种方式向区块链网络发起所述资源预获取交易。作为一示例性实施例,第一消费端可以生成并向区块链网络发起资源预获取交易。其中,所述资源预获取交易包含资源获取事件的相关信息,如第一消费端的客户端标识,该客户端所处终端设备的设备标识、该客户端所对应用户的用户标识(如用户账户)、待获取的目标资源的资源标识、所述资源预获取交易的有效时间信息等,上述信息可以用于表明哪个第一消费端请求获取哪个目标资源。具体的,第一消费端可以调用本 地运行的所述链机SDK,按照区块链网络所支持的交易格式基于上述相关信息生成所述资源预获取交易,并将该交易发送至自身所连接的区块链节点,从而向所述区块链网络发起该交易。例如,图1所示的手机13在确定自身需要获取目标资源后,可以根据该资源对应的上述相关信息向区块链节点d1发起资源预获取交易;或者,服务器12在接收到手机16针对目标资源发起的资源获取请求后,可以响应于该请求确定目标资源的上述相关信息,进而向区块链节点d3发起资源预获取交易。
作为另一示例性实施例,为了减少接入所述区块链网络的设备数量,从而减轻区块链节点需要对自身所连接设备的维护工作量,客户端也可以通过服务端统一接入所述区块链网络,即任一服务端对应的客户端可以通过该服务端作为中间方(或称代理)实现与区块链网络中区块链节点的数据交互。此时,第一消费端可以通过第一服务端向区块链网络发起资源预获取交易。例如,第一消费端可以针对所述目标资源向第一服务端发起资源预获取请求,该请求中可以包含上述相关信息;相应地,第一服务端可以根据上述相关信息生成资源预获取交易,并向区块链网络发起该交易。如图1所示,手机13可以向服务器11发起资源预获取请求,并由服务器11响应于该请求向区块链节点d1发起针对目标资源的资源预获取交易。或者,服务器12可以将手机16针对目标资源向其发起的资源获取请求转发至服务器11,从而服务器11可以响应于该请求向区块链节点d1发起针对目标资源的资源预获取交易。在前述实施例中,所述资源预获取交易可以由服务器11调用本地运行的链机SDK生成。在该场景下,第一服务端可以代替自身所对应的各个消费客户端或者其他服务端向区块链网络发起针对相应资源的资源预获取交易。
在接收到前述第一服务端或者第一消费端发起的所述资源预获取交易之后,区块链节点可以将该交易同步至区块链网络中的其他区块链节点,进而由网络中的各个区块链节点共同参与针对该交易的共识过程。所述资源预获取交易的具体共识过程可以参见相关技术中针对区块链网络工作方式的记载,此处不再赘述。需要说明的是,由于区块链网络中各个区块链节点的功能不同,上述共识过程也可以仅由具备共识功能的各个共识节点参与完成,而其他节点可以不参与该共识过程。其中,上述资源预获取交易会被与区块链网络中的其他交易一并打包进区块(Block),进而在共识通过的情况下,所述区块链网络中的各个区块链节点即分别确定该交易所在的区块,并通过在区块头部记录前一区块的区块信息的方式实现该区块的上链,即将通过共识的该区块连接至区块链账本的末端。此后,所述资源预获取交易即被各个区块链节点分别存储至自身维护的所述区块链网络的区块链账本中,即该交易完成上链。
当然,区块链网络也可能出现资源预获取交易无法通过共识、区块链节点的存储空间不足等异常情况,从而导致所述资源预获取交易无法被成功存储至所述区块链网络的区块链账本。可见,对应于第一消费端和所述目标资源的第一资源预获取交易,可能被成功存储至区块链账本,也可能无法被成功存储至该区块链账本。
在所述资源预获取交易由第一消费端发起的情况下,区块链节点可以在将资源预获取交易成功存储至所述区块链账本之后向第一消费端返回相应的存储成功消息,该消息即用于告知第一消费端所述资源预获取交易被成功存储至所述区块链网络的区块链账本。当然,也可以在存储失败的情况下返回相应的存储失败消息,不再赘述。或者,为了尽快感知资源预获取交易的存储结果,第一消费端也可以通过区块链网络提供的监听机制监听所述资源预获取交易的执行结果,以获知该交易是否被成功存储至所述区块链账本。
在所述资源预获取交易由第一服务端响应于第一消费端发起(或转发)的资源预获取请求而发起的情况下,第一服务端可以将区块链节点返回的所述存储成功消息或存储失败消息转发至第一消费端。或者,也可以由第一服务端通过监听机制监听所述资源预获取交易的执行结果,并在监听结果表明该交易被成功存储至所述区块链账本的情况下,向第一消费端发送相应的存储成功消息;当然也可以在监听结果表明交易未被成功存储至所述区块链账本的情况下,向第一消费端发送相应的存储失败消息。通过上述方式,第一消费端可以获知资源预获取交易是否被成本存储至区块链网络的区块链账本。
在所述资源预获取交易未被成功存储至区块链账本的情况下,第一消费端可以避免向第一服务端发起所述资源获取请求。而在所述资源预获取交易被成功存储至区块链账本的情况下,第一消费端可以向第一服务端发起针对所述目标资源的资源获取请求,以用于向第一服务端请求获取所述目标资源。
为避免自身所管理的资源被客户端随意获取,第一服务端可以通过认证机制管理具有资源获取权限的合法客户端。例如,第一服务端可以维护消费端列表,该列表可以用于记录已通过所述第一服务端认证的各个消费端的消费端标识。如前所述,本发明所述第一消费端可以包括第一服务端对应的第一消费客户端以及区别于第一服务端的第二服务端,因此为有效区分不同类型的服务端,上述不同类型的服务端可以具有不同的消费端标识。如图1所示,若手机13和手机14中运行的客户端(下称客户端13和客户端14)均已通过服务器11的认证,则服务器11中维护的消费端列表中 应当记录有客户端13和客户端14的客户端标识;若服务器12已通过服务器11的认证,则服务器11中维护的消费端列表中应当记录有服务器12的服务端标识,不再赘述。其中,本方案所述的消费端标识可以为消费端的签名或令牌(token)等,本发明实施例并不对此进行限定。
可以理解的是,若所述消费端列表中记录有某一客户端所在终端的消费端标识,则表明该客户端已经被认证至所述第一服务端,即该客户端可视为第一服务端对应的合法消费端;反之,若所述消费端列表中并未记录某一客户端的所在终端的消费端标识,则表明该客户端并未被认证至所述第一服务端,即该客户端可视为第一服务端对应的非法消费端。因此,第一服务端可以基于所述消费端列表控制第一消费端对待消费资源的获取过程。例如,第一服务端在接收到第一消费端发起的所述资源获取请求的情况下,可以先确定该请求中携带的所述第一消费端的第一标识,然后在所述消费端列表中查询该标识,若查询到所述第一标识(即所述消费端列表中记录有所述第一标识),则表明资源获取请求的发起方(即所述第一消费端)为第一服务端对应的合法消费端,此时可以正常响应该请求;反之,若未查询到所述第一标识(即所述消费端列表中并未记录所述第一标识),即表明资源获取请求的发起方(即所述第一消费端)为第一服务端对应的非法消费端,此时可以拒绝响应该请求,如可以丢弃该请求,或者进一步记录该请求或者针对该请求发起告警等,不再赘述。另外,在查询到第一标识的情况下,第一服务端还可以确定第一消费端的类型,如在第一标识为前述客户端标识的情况下,即表明第一消费端为第一服务端对应的第一消费客户端;而在第一标识为前述服务端标识的情况下,即表明第一消费端为第一服务端对应的第二客户端。
其中,在第一服务端认证第一消费端的过程中,为了避免向第一服务端泄露第一消费端所处设备(下称第一消费设备)的设备隐私信息(如该设备的加密算法、TEE(Trusted Execution Environment,可信执行环境)参数、设备私钥等),可以基于零知识证明(ZKP,Zero Knowledge Proof)算法对第一终端进行认证。例如,第一消费端可以先确定第一消费设备的设备隐私信息和设备公开信息,其中,所述设备公开信息即为ZKP算法中的Public信息,如可以为第一消费设备的设备类型、设备编号(如IMEI(International Mobile Equipment Identity,国际移动设备身份码)、MSN(Mechanical Serial Number,机械序列号)等)、MAC(Media Access Control Address,媒体访问控制)地址,设备公钥等,本发明实施例并不对此进行限定。然后,第一消费端可以根据预定义(如可以记录在第一消费端的安装文件中)的ZKP算法多项式,基于上述 设备隐私信息和设备公开信息计算相应的证明参数和认证参数。
进而,第一消费客户端可以向第一服务端发起携带有自身第一标识和所述认证参数的预认证请求,后者可以响应于该请求向区块链网络发起包含所述第一标识和所述认证参数的预认证交易。与前述资源预获取交易类似的,区块链网络中的区块链节点可以在所述预认证交易通过共识的情况下将该交易存储至所述该网络的区块链张本中,并通过返回消息或者监听机制将相应的存储结果通知第一服务端。从而,第一服务端可以在确定所述预认证交易被成功存储至所述区块链账本的情况下,将该交易的交易相关信息返回至所述第一消费端。其中,所述预认证交易的所属区块即为被上链后的所述预认证交易所在的区块,上述交易相关信息可以包括预认证交易的交易信息(如交易哈希、交易发起方、交易发起时间、交易所调用智能合约的合约地址、交易回执等)和该交易所属区块的区块信息(如区块哈希、区块高度(Block height)等),不再赘述。另外,第一服务端可以在本地缓存所述预认证请求中包含的所述第一标识和认证参数,以便后续认证过程使用。
在获取到所述交易相关信息的情况下,第一消费端可以根据所述证明参数、第一消费设备的设备隐私信息和所述交易相关信息计算ZKP算法的认证证明。进而,第一消费端可以将向第一服务端发起认证请求,该请求可以包含所述认证证明和设备公开信息。从而,第一服务都可以响应于该请求确定所述与认证交易的交易相关信息,如在前述步骤中缓存了该信息的情况下,可以直接从缓存中查找该信息;而在未缓存该信息的情况下,可以向区块链网络请求获取该信息。此后,第一服务端可以根据验证参数、所述第一消费端所处设备的设备公开信息和所述交易相关信息对所述认证请求中携带的待验证认证证明进行验证。在前述步骤中,第一消费端计算所述认证证明以及第一服务端对待验证认证证明进行验证的具体方式,由所采用ZKP算法的具体实现所决定,本发明实施例并不对此进行限定。可以理解的是,若上述待验证认证证明验证通过,则表明所述第一消费端通过第一服务端的认证,此时第一服务端可以将第一服务端的第一标识记录在自身维护的前述消费端列表中,从而完成对第一消费端的认证过程。而在记录完成后或者在认证不通过的情况下,可以向第一消费端返回相应的通知消息以便及时通知第一消费端。
可以理解的是,因为前述认证证明的生成过程使用了第一消费设备的设备隐私信息,所以零知识证明的认证过程实现了对第一消费端和第一消费设备的绑定。通过上述方式,为第一消费端赋予了针对第一服务端所管理的待消费资源的获取权限。显 然,基于上述认证方式,可以确保运行于合法设备中的已认证消费端从第一服务端顺利获取目标资源,而运行于其他设备中的非法消费端则无法从第一服务端处获取目标资源(即未经过零知识认证的非法消费端无法从第一服务端处获取到所述目标资源),所以保证了对目标资源分发过程的权限管控,有助于降低资源分发过程的安全隐患和侵权风险。另外需要说明的是,无论是目标资源的消费方(如所述第一消费端)还是其生产方(即上传该资源的第一生产端),均可以是在第一服务端中完成认证的客户端或者服务端。
步骤204,在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
在接收到第一消费端针对目标资源发起的所述资源获取请求的情况下,第一服务端可以响应于该请求从区块链网络处获取对应于所述资源获取请求的预获取信息。进而,第一消费端可以根据所述预获取信息确定所述资源预获取交易是否被成功存储至所述区块链网络的区块链账本中。
在一实施例中,为了减少第一消费端和第一服务端之间的交互过程对所述资源获取请求的响应效率,第一消费端可以向第一服务端同时发起多个请求或交易。例如,在前述资源预获取交易由第一服务端响应于资源预获取请求所发起的情况下,第一消费端可以在发起所述资源预获取请求的同时发起所述资源获取请求。再例如,在前述资源预获取交易由第一消费端所发起的情况下,第一消费端可以在发起所述资源预获取交易的同时发起所述资源获取请求。进而,第一服务端在通过前述存储成功消息或者监听机制获知资源预获取交易被成功存储至区块链账本的情况下,可以立即响应所述资源获取请求,而无需通知第一消费端,从而节省了向第一消费端通知资源预获取交易被存储成功需要消耗的时间,一定程度上提升了第一服务端对资源获取请求的响应效率。
在响应所述资源获取请求的过程中,第一服务端可以向自身连接的区块链节点发起信息获取请求或者信息获取交易,以用于从所述区块链节点处获取所述资源获取请求对应的预获取信息。所述信息获取请求和信息获取交易中可以包含第一消费端的第一标识或者和或资源预获取交易的交易哈希等信息,从而区块链节点可以根据上述信息在本地维护的区块链账本中确定被存储的资源预获取交易,进而确定相应的预获取信息。所述预获取信息可以包括存储结果标志,该信息用于表征资源预获取交易是 否被成功存储至所述区块链账本中,示例性的,在该标志的取值为1的情况下,可以表明资源预获取交易被成功存储至所述区块链账本中,而在该标志的取值为0的情况下,可以表明资源预获取交易未被成功存储至所述区块链账本中。另外,在资源预获取交易被成功存储至所述区块链账本中的情况下,所述预获取信息还可以包括所述资源预获取交易的交易哈希、该交易所属区块的区块哈希或区块高度等信息。
其中,在所述资源预获取请求和所述资源获取请求由所述第一消费端同时发起,且所述资源预获取交易由所述第一服务端响应于所述第一消费端发起的资源预获取请求所发起的情况下,区块链网络中的区块链节点可以响应于所述信息获取请求或者信息获取交易,根据针对目标资源的资源预获取交易以及对该交易的存储情况确定相应的预获取信息,并在确定所述资源预获取交易被成功存储至所述区块链账本的情况下将所述预获取信息返回至所述第一服务端。通过该方式,将对资源预获取交易的存储情况的判断过程前置(即由区块链节点进行判断),使得第一服务端在获取到所述预获取信息的情况下即可直接判定所资源预获取交易被成功存储至区块链账本,从而简化了第一服务端对于预获取信息的判断逻辑,有助于提升第一服务端对于资源获取请求的响应速度,即便第一服务端在短时间内接收到大量资源获取请求,也能够尽量顺利完成响应过程。
在响应所述资源获取请求的过程中,第一服务端可以在获取到所述预获取信息后,根据该信息判定资源预获取交易是否被成功存储在所述区块链账本中。如前所述,所述资源预获取交易可能被成功存储至区块链账本,也可能未被成功存储至区块链账本。相应的,区块链节点可以在查询到所述资源预获取交易的情况下向第一服务端返回所述预获取信息,所以第一服务端可以在接收到该消息的情况下,直接判定资源预获取交易被成功存储在所述区块链账本中。或者,区块链节点也可以在未查询到所述资源预获取交易的情况下,不返回相应的预获取信息、返回内容为空的预获取信息或返回存储结果标志的取值为0的预获取信息,以便第一服务端根据上述信息确定所述区块链网络的区块链账本中并未存储对应于所述第一消费端和所述目标资源的资源预获取交易。通过上述方式,第一服务端可以根据所述预获取信息确定“所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易”这一条件是否满足。
在确定“所述区块链网络维护的区块链账本中存储有对应于所述第一消费端和所述目标资源的预获取交易”这一条件满足的情况下,第一服务端将所述目标资源返 回至第一消费端。
在一实施例中,第一服务端可以在当前时刻处于所述资源预获取交易的有效期内的情况下,将所述目标资源返回至所述第一消费端。可以理解的是,此时第一服务端除了判断前述条件是否满足之外,还判断“当前时刻处于所述资源预获取交易的有效期内”这一条件是否满足,并在两条件均满足的情况下,将所述目标资源返回至所述第一消费端。
在一实施例中,所述资源预获取交易中可以包含有效时间信息,该信息用于指示所述资源预获取交易的有效期。其中,若任一资源获取请求和资源预获取交易均由同一客户端针对同一资源发起,或者任一资源获取请求由某一客户端针对某一资源发起且任一资源预获取交易由该客户端对应的服务端响应于该客户端发起的资源预获取请求所发起,则所述任一资源获取请求和所述任一区块链网络相互对应——二者分别表明同一请求方请求获取同一资源。对此,若第一服务端在资源预获取交易的有效期内接收到该交易对应的资源获取请求,则可以正常响应该请求;反之,若第一服务端在超出资源预获取交易的有效期之后接收到该交易对应的资源获取请求,则无需响应该请求,此时可以丢弃该请求、记录该请求或者针对该请求发起告警等,不再赘述。
其中,所述有效时间信息可以为截止时刻,如在所述有效时间信息为“xx.yy.xx”时刻的情况下,可以用于表明所述资源预获取交易在该时刻之前有效,而在该时刻之后无效。或者,鉴于所述区块链网络的出块时间(即区块链账本中相邻两个区块被连接至该账本中的时间间隔)可能存在波动,所以也可以使用区块高度表征所述资源预获取交易的有效期。例如,所述资源预获取交易中可以包含有效区块个数,基于此,第一服务端可以先确定所述资源预获取交易所属区块的起始区块高度以及当前时刻的最大区块高度;进而,在所述最大区块高度不大于所述起始区块高度与所述有效区块个数之和的情况下,可以判定当前时刻处于所述资源预获取交易的有效期内;反之,若所述最大区块高度大于所述起始区块高度与所述有效区块个数之和的情况下,可以判定当前时刻不处于所述资源预获取交易的有效期内,即当前时刻已经超出有效区块个数所指示的、所述资源预获取交易的有效期。
其中,第一服务端可以通过多种方式确定所述资源预获取交易所属区块的区块高度(即下述起始区块高度)。例如在前述步骤中,所述区块链网络可以在确定所述资源预获取交易被成功存储至所述区块链账本的情况下,将所述资源预获取交易所属区块的区块高度(即所述起始区块高度)直接返回至所述第一消费端或者通过所述第 一服务端返回至所述第一消费端。基于此,第一消费端可以向第一服务端发起携带所述起始区块高度的资源获取请求,相应地,第一服务端在接收到所述资源获取请求的情况下,可以确定该请求中携带的所述起始区块高度。再例如,第一消费端发起的所述资源获取请求中也可以携带资源预获取交易所属区块的区块摘要(即下述初始区块摘要),相应地,第一服务端可以将所述初始区块摘要发送至所述区块链网络,以由区块链节点根据该摘要在本地维护的区块链账本中查询资源预获取交易所属的区块及其初始区块高度,并在确定所述资源预获取交易被成功存储至所述区块链账本的情况下将所述初始区块高度返回至所述第一服务端。从而,第一服务端可以接收所述区块链网络(实际为第一服务端所连接的区块链节点)返回的所述初始区块高度。
通过上述方式,第一服务端可以从第一消费端或者区块链网络处获取所资源预获取交易所属区块的起始区块高度,进而可以将该起始区块高度和资源预获取交易中记录的有效区块个数之和作为所述资源预获取交易的有效期对应的最后区块高度——若所述区块链账本在当前时刻的最大区块高度不大于所述最后区块高度,则可以确定当前时刻仍然处于所述资源预获取交易的有效期内。可以理解的是,由于区块链网络中的各个区块链节点构成分布式结构,所以各个区块链节点可能难以具备统一且准确的时钟,但该方式可以基于不同区块链节点之间区块链账本的一致性,在各个区块链节点之间实现资源预获取交易的有效期一致,从而确保各个区块链节点分别执行资源预获取交易和资源获取交易所得到的执行结果之间保持一致。
在一实施例中,在资源生产方向第一服务端上传资源时,第一服务端可以将相应的资源信息存证至区块链网络中,以便在资源分发时使用该资源信息对资源获取交易进行验证。以所述目标资源为例,第一服务端在接收到第一生产端(即所述目标资源的生产方)上传的所述目标资源的情况下,一方面可以存储所述目标资源,另一方面可以向区块链网络发起包含所述目标资源的资源信息的资源存证交易,以由所述区块链网络将所述资源存证交易存储至所述区块链账本。
基于此,针对第一消费端发起的所述资源获取请求,第一服务端可以将所述资源获取请求中携带的待验证资源信息包含在资源获取交易中发送至所述区块链网络,并在接收到所述区块链网络返回的验证通过消息的情况下将所述目标资源返回至所述第一消费端,所述验证通过消息由所述区块链网络在确定所述待验证资源信息匹配于所述资源存证交易中包含的所述资源信息的情况下返回。其中,所述目标资源的资源信息可以包括该资源的文件大小、文件哈希、格式信息、播放时长、加密参数等,相 应地,所述待验证资源信息可以包括待获取的所述目标资源的上述资源信息。基于此,所述区块链网络可以在本地已存储的所述资源存证交易中查询匹配于所述待验证资源信息的资源存证交易,并将查询到的资源存证交易所对应的资源确定为所述目标资源,然后向第一服务端返回针对所述目标资源的验证通过消息。当然,在未查询到所述资源存证交易的情况下,可以向第一服务端返回验证未通过消息,以指示所述第一服务端避免将所述目标资源返回至所述第一消费端,从而通过该方式实现对被存证资源的分发管控。
下面结合多个实施例对第一服务端将目标资源返回至第一消费端的过程进行说明。
在一实施例中,第一消费端发起的所述资源获取请求中可以携带加密参数。基于此,第一服务端可以使用所述加密参数对所述目标资源进行加密处理,然后将相应的密文数据返回至所述第一消费端。可以理解的是,因为上述加密参数由第一消费端提供,所以第一消费端可以维护该加密参数对应的解密参数,并在接收到前述密文数据的情况下,使用所述解密参数对其进行解密处理以得到明文形式的目标资源,从而确保目标资源的私密传输,避免目标资源的明文被泄露给非法消费方,提升目标资源传输过程中的安全性。具体的,在所述加密参数为对称密钥的情况下,第一消费端可以在本地维护该对称密钥;在所述加密参数为非对称密钥中的公钥的情况下,第一消费端可以在本地维护相应的私钥。其中,上述加密参数和解密参数均可以由第一消费端生成,如第一消费端可以根据自身的原始密钥派生得到加密参数和解密参数。另外,上述加/解密参数可以具有数据唯一性,如针对待获取的某一目标资源,第一消费端可以生成针对该数据的加/解密参数,并在通过前述过程获取到明文形式的该目标资源后,即销毁针对该目标资源的加/解密参数,此后,在获取下一目标资源时,第一消费端可以再次生成针对下一目标资源的加/解密参数,从而确保不同目标资源的传输和解密使用不同的加/解密参数。可以理解的是,上述过程实现了加/解密参数的一次性使用,即便某一目标资源的加/解密参数被泄露,仍然可以保证其他目标资源的私密传输,从而有效控制泄密事件的影响范围,进一步提升目标资源传输过程的整体私密性。
其中,在所述目标资源为视频的情况下,第一服务端可以根据加密参数的不同,采用不同的加密方式加密所述目标资源。例如,在所述加密参数包括第一密钥的情况下,第一服务端可以使用所述第一密钥对所述视频的全部视频帧图像进行加密处理。当然,为了减少加密处理的工作量,减少加密过程的整体耗时,也可以仅对所述视频 的部分视频帧图像进行加密处理。此时,第一服务端可以通过随机选取或者等间隔选取等方式,从所述视频的全部视频帧图像中选取上述(待加密的)部分视频帧图像。
通常情况下,所述视频的全部视频帧图像中,会包含某些关键帧。如在所述视频按照在H264协议编码的情况下,其全部视频帧图像包括I帧(完整编码)、P帧(参考之前的I帧生成的只包含差异部分编码的帧)和B帧(参考前后的帧生成的只包含差异部分编码的帧)三类,其中I帧是解码视频所必需的帧,因此其为关键帧。基于此,在所述加密参数包括加密模数(enmod)和第二密钥的情况下,第一服务端可以根据所述加密模数和所述视频中各张视频帧的帧序号(seq)确定所述各张视频帧中的关键帧,并使用所述第一密钥对所述关键帧进行加密处理。此时,第一服务端通过仅加密所述视频中的关键帧,即可以较小的加密工作量取得良好的加密效果。
在另一实施例中,所述资源获取请求中还可以携带有用于指示特定数据格式的格式信息。基于此,第一服务端可以将所述目标资源的原始资源文件处理为符合所述特定数据格式的待传输数据,并将所述待传输数据传输至所述第一消费端。示例性的,上述特定数据格式可以为RTSP(Real Time Streaming Protocol,实时流传输协议)、UDP(User Datagram Protocol,用户数据报协议)、HTTP(Hyper Text Transfer Protocol,超文本传输协议)、HLS(HTTP Live Streaming,基于HTTP的自适应码率流媒体传输协议)等,本发明实施例并不对此进行限定。另外,从被传输数据的数据格式的角度而言,可以按照流媒体的数据格式传输所述目标资源的数据流,此时第一消费客户端可以直接播放接收到的视频;也可以按照资源文件的方式传输所述完整的资源文件,此时第一消费端可以接收到完成的视频文件。通过上述方式,目标资源的传输双方可以按照统一的数据格式传输数据,避免出现第一消费端无法解码目标资源的异常情况出现,从而确保目标资源的数据传输过程和解码过程顺利完成。
通常情况下,第一消费端的用户可能存在针对目标资源的处理需求,如将目标资源转发至其他消费端,或者对目标资源进行编辑、排版、剪辑等后处理。但上述目标资源的所有方(如前述资源生产方)、监管方(如资源消费平台的管理方等)可能需要限制上述处理需求的实现,如UP主并不希望自己发布的视频被其他用户随意编辑,或者视频平台处于版权要求等不允许用户随意转发某些视频等。对此,在向第一消费端返回所述目标资源之前,第一服务端可以为所述目标资源设置至少一个权限标识,所述权限标识的取值用于表明允许第一消费端针对所述目标资源实施的预设操作。具体的,第一服务端可以响应于前述所有方或监管方针对目标视频的设置操作,为目 标视频设置上述权限标识;或者第一服务端也可以在获取到目标资源的各个相关方充分授权的情况下,自动查询预设的权限设置规则并按照该规则进行上述设置,从而简化前述上述相关方的设置操作。
在上述权限标识设置完成后,权限管理的实现需要第一消费端配合。例如,第一消费端在响应于用户请求针对目标资源实施的任一预设操作之前,可以先检查该操作是否符合该目标资源的权限标识的取值,并在相符的情况下执行所述预设操作。示例性的,在第一消费客户端检测到用户针对目标资源实施的剪辑操作的情况下,可以检查目标资源的剪辑权限标识的当前值,并在该值表明目标资源可以被剪辑的情况下再进行剪辑,而在该值表明目标资源不可被剪辑的情况下,则拒绝剪辑并提醒用户。或者,在第二服务端接收到第二消费客户端发起的针对目标资源的转发请求的情况下,可以检查目标资源的转发权限标识的当前值,并在该值表明目标资源可以被转发的情况下再进行转发,而在该值表明目标资源不可被剪辑的情况下,则拒绝转发并向第二消费客户端返回相应的提醒消息。
在另一实施例中,为了加快资源分发速度以提升分发效率,第一服务端可以通过分布式的CDN(Content Delivery Network,内容分发网络)将所述目标资源发送至所述第一消费端。其中,所述CDN网络由多个CDN节点构成,各个节点处可以分别存储所述目标资源的全部或部分数据,基于此,第一服务端可以根据所述第一消费端的网络地址确定距离该客户端最近的CDN节点,并由该节点将所述目标资源的数据传输至第一消费端,从而实现对目标资源的分发。另外,基于CDN分发所述目标资源的过程可以基于QoS(Quality of Service,服务质量)算法实现,具体实现过程可以参见相关技术中的记载,此处不再赘述。显然,因为所述目标资源实际上由CDN节点进行就近传输,所以不仅可以提升对目标资源的传输效率,而且简化了第一服务端的数据分发逻辑,从而有助于提升第一服务端的请求处理效率。
具体的,所述第一服务端在向第一消费端返回所述目标资源时,可以直接将所述目标资源的原始资源文件发送至所述第一消费端。或者,为了减少第一服务端的数据传输量,从而减轻其在资源分发过程中的工作量,第一服务端也可以将所述目标资源的原始资源文件的存储地址发送至所述第一客户端,以使所述第一客户端根据所述存储地址下载所述原始资源文件。例如,上述存储地址可以是所述目标资源在区别于第一服务端的本地存储空间的其他存储空间的存储地址,如可以是所述目标资源在前述CDN所对应分布式数据库中的存储地址等,本发明实施例并不对此进行限定。
如前所述,本发明所述的第一消费端可以为区别于所述第一服务端的第二服务端,此时前述资源预获取交易或者所述资源预获取请求由所述第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求所发起。可以理解的是,此时可以针对目标资源实现在第一服务端和第二服务端之间的跨服务端转发,如跨平台或跨应用转发等。下面以第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求,向第一服务端发起所述资源获取请求为例,对上述转发过程进行说明:
第一服务端可以响应于第二服务端针对所述目标资源发起的资源获取请求,从所述区块链处获取对应于所述资源获取请求的预获取信息;并在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第二服务端和所述目标资源的资源预获取交易的情况下,将所述目标资源的存储地址返回至所述第二服务端。该方式通过向区块链网络发起区块链交易,将与第二服务端从第一服务端请求转发目标资源的过程相关的获取记录存证至区块链上,实现了对资源转发记录的可靠存证。基于被存证的资源预获取交易和资源获取交易,可以对目标资源的任一次转发过程进行溯源,从而有助于提升对目标资源的管控能力,并在一定程度上降低资源转发过程的安全风险和侵权隐患。
其中,与前述资源预获取交易类似的,所述资源预获取交易既可以由所述第二服务端向所述区块链网络发起;或者,也可以由所述第一服务端响应于所述第二服务端针对目标资源发起的资源预获取请求,向所述区块链网络发起。
另外可以理解的是,第二服务端接收到所述目标资源的存储地址后,可以基于该地址向自身对应的第二消费客户端获取所述目标资源。例如,第二消费客户端可以向第二服务端发起资源消费请求,而所述资源预获取交易或者所述资源预获取请求即可以由所述第二服务端响应于所述资源消费请求向所述第一服务端发起。基于此,第二服务端获取到的所述存储地址可以被所述第二服务端用于向所述第二消费客户端转发所述目标资源。如所述第二服务端可以响应于所述资源消费请求将所述存储地址返回至第二消费客户端,或者也可以从所述存储地址处读取所述目标资源的原始资源文件,并将该文件返回至所述第二消费客户端以用于消费。
如图1所示,服务器12可以响应于手机16发起的资源消费请求,直接向区块链节点d2发起针对目标资源的资源预获取交易;或者向服务器11发起针对目标资源的资源预获取请求,并由服务器11向区块链节点d1发起针对目标资源的资源预获取交易。区块链网络中的各个区块链节点在对所述资源预获取交易共识通过的情况下, 可以分别将该交易打包存储至自身维护的所述区块链网络的区块链账本中。进一步的,服务器12可以向服务器11发起针对所述目标资源的资源获取请求,从而服务器11可以响应于该请求从区块链节点d1处获取预获取信息,并根据该信息确定“所述区块链网络的区块链账本中存储有对应于所述第二服务端和所述目标资源的资源预获取交易”的条件是否满足,进而在该条件满足的情况下将所述目标资源的存储地址返回至服务器12;当然,在该条件不满足的情况下,可以直接终止针对该请求的响应过程,并向服务端12返回获取失败消息。进而,服务器12可以将该存储地址发送至手机16,以由手机16从该存储地址处获取目标资源;或者,服务器12也可以从所述存储地址处读取所述目标资源并发送至手机16。手机16获取到所述目标资源后即可对其进行消费,如显示、播放等,不再赘述。
根据本发明的实施例,第一服务端响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;进而,在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
在上述方案中,第一消费端需要向第一服务端发起资源获取请求以用于获取目标资源,在此之前,第一消费端或者第一服务端还需要向区块链网络发起对应于所述第一消费端和所述目标资源的资源预获取交易,以由区块链网络将该交易存储至自身维护的所述区块链网络的区块链账本中。可以理解的是,所述资源预获取交易与所述资源获取交易相对应,二者共同反映了第一消费端和第一服务端之间发生的、针对目标资源的一次资源获取事件,该事件即对应于本方案所述的资源分发过程;而且,在所述区块链网络中的区块链节点执行资源获取交易后,该交易同样会被存储至所述区块链账本中。可见,在第一消费端从第一服务端获取目标资源的情况下,与该资源获取事件相关的两个交易均会被存证至链上,即链上会存证第一消费端针对目标资源的分发记录。
可见,本方案通过向区块链网络发起区块链交易,将与第一消费端从第一服务端获取目标资源的过程相关的分发记录存证至区块链上,从而实现了对分发记录的可靠存证。基于被存证的资源预获取交易和资源获取交易,可以对目标资源的任一次分发过程进行溯源,从而有助于提升对目标资源的管控能力,并在一定程度上降低资源分发过程的安全风险和侵权隐患。
对应于前述实施例,本发明还提出了分别适用于所述第一消费端和所述区块链网络中的任一区块链节点的资源分发方法。图3是本发明一示例性实施例示出的另一种资源分发方法的流程图,如图3所示,该方法应用于第一消费端,该方法可以包括下述步骤302-304。
步骤302,向第一服务端发起针对目标资源的资源获取请求,以触发所述第一服务端从区块链网络处获取对应于所述资源获取请求的预获取信息。
步骤304,接收所述第一服务端返回的目标资源,所述目标资源由所述第一服务端在所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易的情况下返回。
在一实施例中,所述方法还包括:
向所述区块链网络发起所述资源预获取交易;或者,
向所述第一服务端发起针对所述目标资源的资源预获取请求,以由所述第一服务端响应于所述资源预获取请求向所述区块链网络发起所述资源预获取交易。
在一实施例中,发起所述获取请求,包括:
在确定所述资源预获取交易被成功存储至所述区块链账本的情况下发起所述资源获取请求;或者,
在发起所述资源预获取请求或所述资源预获取交易的同时发起所述资源获取请求,所述资源获取请求由所述第一服务端在确定所述资源预获取交易被成功存储至所述区块链账本的情况下响应。
在一实施例中,所述第一消费端包括:
所述第一服务端对应的第一消费客户端;或者,
区别于所述第一服务端的第二服务端,此时所述资源预获取交易或者所述资源预获取请求由所述第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求所发起。
图4是本发明一示例性实施例示出的又一种资源分发方法的流程图,如图4所示,该方法应用于区块链网络中的任一区块链节点,该方法可以包括下述步骤402-404。
步骤402,在接收到第一服务端针对目标资源发起的资源获取交易的情况下,确定对应于资源获取请求的预获取信息,所述资源获取交易由所述第一服务端响应于 第一消费端针对所述目标资源发起的所述资源获取请求所发起。
步骤404,将所述预获取信息返回至所述第一服务端,以由所述第一服务端在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
在一实施例中,所述方法还包括:
在接收到所述第一服务端或者所述第一消费端发起的所述资源预获取交易的情况下,参与针对所述资源预获取交易的共识过程;
在所述资源预获取交易通过共识的情况下,将所述资源预获取交易存储至自身维护的所述区块链网络的区块链账本中。
图3和图4所述方法的具体实现方式可以参见前述实施例的详细记载,此处不再赘述。
图5是本发明一示例性实施例示出的一种客户端认证方案的流程图。如图5所示,该方案可以包括下述步骤501-508。首先需要说明的是,本方案所述的服务端可以为所述第一服务端或者第二服务端,本方案所述的客户端可以为所述服务端对应的任一服务端。以第一服务端为例,所述客户端可以为第一服务端对应的第一消费客户端或者第一生产客户端,本发明实施例并不对此进行限定。
步骤501,客户端向区块链网络发起预认证交易。
在开始验证之前,客户端可以先确定自身所处的第一消费设备的设备隐私信息和设备公开信息。其中,所述设备隐私信息可以为第一消费设备的加密算法、TEE参数、设备私钥等信息;所述设备公开信息即为ZKP算法中的Public信息,如可以为第一消费设备的设备类型、设备编号(如IMEI、MSN)、MAC地址,设备公钥等,本发明实施例并不对此进行限定。然后,第一消费端可以根据预定义(如可以记录在第一消费端的安装文件中)的ZKP算法多项式,基于上述设备隐私信息和设备公开信息计算相应的证明参数和认证参数。
此后,客户端可以根据自身的第一标识和所述认证参数生成预认证交易,并向自身连接的区块链节点发起该交易。其中,生成和发起所述预认证交易的过程,可以通过客户端中部署的链机SDK实现。
步骤502,区块链网络将预认证交易存储至自身的区块链账本。
客户端所连接的区块链节点接收到前述预认证交易后,可以基于区块链网络的同步机制将该交易同步至其他区块链节点,从而各个区块链节点可以参与针对所述预认证交易的共识过程。在共识通过的情况下,该交易将被各个区块链节点分别打包至区块,并存储至自身维护的所述区块链网络的区块链账本中。
步骤503,区块链网络将所述预认证交易所属区块的交易相关信息返回至所述客户端。
在所述预认证交易被成功存储至所述区块链账本的情况下,区块链网络可以向客户端返回相应的存储成功消息,该消息中可以包含所述预认证交易的交易相关信息。所述交易相关信息可以包括预认证交易的交易信息(如交易哈希、交易发起方、交易发起时间、交易所调用智能合约的合约地址、交易回执等)和该交易所属区块的区块信息(如区块哈希、区块高度等)。
当然,在上述预认证信息未被成功存储至所述区块链账本的情况下,区块链网络可以向客户端返回存储失败消息,不再赘述。
需要说明的是,步骤501-503是示例性的。实际上,在客户端与区块链网络中的区块链节点并未建立连接的情况下,客户端也可以向服务端发起预认证请求,并由服务端响应于该请求向区块链网络发起预认证交易;相应地,区块链网络可以通过所述服务端将前述存储成功消息或存储失败消息转发至所述客户端。
步骤504,客户端根据获取到的交易相关信息、自身所处终端设备的设备隐私信息和前述计算得到的证明参数生成认证证明。
通过零知识证明算法,利用所述客户端所处终端设备的设备隐私信息生成认证证明,可以将所述客户端与运行该客户端的终端设备相互绑定。
步骤505,客户端向服务端发起认证请求。
所述认证请求中可以包含待验证认证证明和终端设备的设备公开信息。可以理解的是,若所述客户端为正常用户使用的客户端,则该客户端所发起认证请求中会携带自身计算得到的认证证明,即所述待验证认证证明即为客户端计算得到的真实的认证证明。但对于服务端而言,其接收到所述认证请求后,并不能直接确定该请求发送方的真实性,因此需要对其中携带的待验证认证证明进行验证。
步骤506,服务端从区块链网络获取对应于所述认证请求的交易相关信息。
所述服务端可以从自身连接的区块链节点处请求获取对应于该认证请求的交易相关信息。可以理解的是,在接收到的认证请求的发起方即为步骤503中交易相关信息的接收方的情况下,步骤503与步骤506所述的交易相关信息应当相同。
步骤507,服务端根据预认证交易中包含的验证参数和设备公开信息,以及从区块链网络获取到的交易相关信息验证所述待验证认证证明。
在前述步骤中,客户端计算所述认证证明以及服务端对待验证认证证明进行验证的具体方式,由所采用ZKP算法的具体实现所决定,本发明实施例并不对此进行限定。可以理解的是,若上述待验证认证证明验证通过,则表明所述客户端通过服务端的认证,此时服务端可以将服务端的第一标识记录在自身维护的前述消费端列表中,从而完成对客户端的认证过程。而在记录完成后或者在认证不通过的情况下,可以向客户端返回相应的通知消息以便及时通知客户端。当然,也可以在上述消费端列表中记录所述客户端的token,该token可以根据前述认证证明生成,不再赘述。基于上述消费端列表,服务端可以在接收到任一客户端发起的业务请求(如资源预获取请求或资源获取请求等)的情况下,可以在该列表中查询该请求中携带的客户端标识或token:若查询到则表明所述任一客户端(即该请求的发起方)为合法客户端从,此时服务端可以开始响应该请求;否则可以拒绝响应该请求。
可以理解的是,因为前述认证证明的生成过程使用了所述终端设备的设备隐私信息,所以零知识证明的认证过程实现了对客户端和终端设备的绑定。通过上述方式,为客户端赋予了与服务端合法交互的权限。所以保证了对待消费资源的权限管控,有助于降低待消费资源的安全隐患和侵权风险。
步骤508,服务端向客户端返回认证结果。
此后,服务端可以向客户端返回针对所述客户端的认证结果,以便告知所述客户端。在完成认证的情况下,所述客户端作为合法客户端可以访问所述服务端,以使用所述服务端提供的预设功能。
在认证完成后,任一客户端(下称第一生产客户端)可以向自身对应的服务端(下称第一服务端)上传自身生产的目标资源。图6是本发明一示例性实施例示出的一种资源存证方案的流程图。如图6所示,该方案可以包括下述步骤601-608。
步骤601,第一生产客户端向第一服务端上传目标资源。
第一生产客户端可以在本地生成所述目标资源,或者也可以获取其他设备发送至第一生产客户端所处终端设备中的、已经生产完成的目标资源。其中,生成所述目标资源的过程可以包括选取、编辑素材等,以视频为例,第一生产客户端对应的用户(如UP主、博主等)可以选取原始视频作为素材,通过所述第一生产客户端或者所述终端设备中的其他应用程序提供的视频剪辑功能剪辑所述原始视频,如调整所述原始视频的声音或画面、为所述原始视频添加字幕等、对所述原始视频进行转码等,本发明实施例并不对此进行限定。
其中,上传至第一服务端的所述目标资源本质上即为该资源的原始资源文件,如文本文件、图片、音频文件、视频文件等。
步骤602,第一服务端在相应的数据库中存储所述目标资源,并确定该资源的资源信息。
在接收到第一生产客户端上传的所述目标资源后,一方面,第一服务端可以将所述原始资源文件存储至相应的数据库中,该数据库可以为所述服务端的本地数据库,或者也可以为所述服务端连接的分布式数据库等,本发明实施例并不对此进行限定。另一方面,第一服务端可以确定所述目标资源的文件大小、文件哈希(Hash)、格式信息、播放时长、加密参数等资源信息。
步骤603,第一服务端向区块链网络发起包含所述资源信息的资源存证交易。
步骤604,区块链网络将所述资源存证交易存储至自身的区块链账本中。
进而,第一服务端可以向区块链网络发起资源存证交易,通过在该交易中心携带所述目标资源的资源信息,服务端可以将所述资源信息存证至链上,具体的,在区块链网络中的各个区块链节点对所述资源存证交易共识通过的情况下,携带有所述资源信息的资源存证交易即被各个区块链节点分别打包至区块并存储至自身维护的所述区块链网络的区块链账本中。
步骤605,区块链网络向第一服务端返回所述资源存证交易的存证结果。
步骤606,第一服务端向自身对应的服务端提供针对所述目标资源的资源服务。
在上述资源存证交易被成功存储至区块链账本的情况下,第一服务端所连接的区块链节点可以将相应的存储结果返回至所述第一服务端,该存储结果可以为一条存证成功消息,该消息中可以包含所述资源存证交易所属区块的区块高度和区块哈希等。当然,在上述资源存证交易未被成功存储至所述区块链账本的情况下,区块链网络可 以向KK返回存储失败消息,不再赘述。
至此,完成对所述目标资源的上传处理。此时,目标资源的原始资源文件被存储至相应的数据库中,目标资源的资源信息被存证至链上。此后,服务端可以基于被存储的所述原始资源文件和被存证的资源信息为自身对应的客户端提供针对所述目标资源的资源服务。例如,对于所述第一生产客户端,服务端可以为其提供资源管理服务,以便所述生产用户通过该服务管理自身上传的目标资源。在例如,对于除所述第一生产客户端之外的其他客户端(如消费客户端或者其他第一生产客户端等),区块链网络可以为其提供资源消费服务,以便其他用户通过该服务消费上传完成的所述目标资源。
在任一消费客户端消费所述目标资源的过程中,第一服务端需要将该资源分发至该消费客户端。下面结合图7对第一消费客户端(可以为第一服务端对应的任一消费客户端)向第一服务端请求获取所述目标资源的过程进行说明。图7是本发明一示例性实施例示出的一种资源分发方案的流程图。如图7所示,该方案可以包括下述步骤701-712。
步骤701,第一消费客户端向区块链网络发起针对目标资源的资源预获取交易。
步骤702,区块链网络将所述资源预获取交易存储至自身的区块链账本中。
所述资源预获取交易中可以包含待获取的所述目标资源的资源信息,所述资源信息可以包括文件大小、文件哈希、格式信息、播放时长、加密参数等。相应地,区块链网络中的各个区块链节点可以对所述资源预获取交易发起共识,在共识通过的情况下,该交易将被各个区块链节点分别打包至区块并存储至自身维护的所述区块链网络的区块链账本中。
步骤703,区块链网络向第一服务端返回所述资源预获取交易的交易相关信息。
在所述资源预获取交易被成功存储至所述区块链账本的情况下,区块链网络可以向第一消费客户端返回相应的存储成功消息,该消息中可以包含所述预认证交易的交易相关信息。所述交易相关信息可以包括预认证交易的交易信息(如交易哈希、交易发起方、交易发起时间、交易所调用智能合约的合约地址、交易回执等)和该交易所属区块的区块信息(如区块哈希、区块高度等)。当然,在上述预认证信息未被成功存储至所述区块链账本的情况下,区块链网络也可以向第一消费客户端返回存储失败消息,不再赘述。
需要说明的是,步骤701-703是示例性的。实际上,在客户端与区块链网络中的区块链节点并未建立连接的情况下,第一消费客户端也可以向第一服务端发起资源预获取请求,并由第一服务端响应于该请求向区块链网络发起相应的资源预获取交易;而在存储所述资源预获取交易完成后,区块链网络可以通过所述服务端将前述存储成功消息或存储失败消息转发至所述第一消费客户端,不再赘述。
步骤704,第一消费客户端向第一服务端发起针对目标资源的资源获取请求。
在一实施例中,在获取到所述存储成功消息的情况下,第一消费客户端可以在适当的时刻向第一服务端发起针对目标资源的资源获取请求,相应地,第一服务端可以响应于该请求向区块链网络发起针对目标资源的资源获取交易。其中,上述资源获取请求和资源获取交易中可以携带接收到的所述交易相关信息。
在另一实施例中,为了减少步骤703的耗时,第一消费客户端也可以在向区块链网络发起所述资源预获取交易的同时,向第一服务端发起所述资源获取请求(此时该请求中可以包含目标资源的资源标识,而无需包含前述交易相关信息),使得第一服务端可以在接收到区块链网络返回的存储成功消息后,即触发开始响应所述资源获取请求,而无需向第一消费客户端返回所述区块信息并等待其根据该信息发起的资源获取请求,从而一定程度上提升对资源获取请求的响应速度。
另外需要说明的是,第一消费客户端发起的前述资源预获取请求和资源获取请求中可以携带自身的第一标识,从而第一服务端可以根据本地维护的前述消费端列表查询第一标识,并根据查询结果(即是否查询到所述第一标识)确定第一消费客户端是否为已经完成认证的合法客户端,从而有效避免未通过第一服务端认证的第一消费客户端获取到所述目标资源,降低可能存在的侵权隐患。
相应于所述资源获取交易,区块链网络中的区块链节点可以在区块链账本中查询所述资源预获取交易,并在查询到该交易的情况下进一步确定相应的预获取信息,然后将该信息返回至所述第一服务端。
步骤705,第一服务端向区块链网络发起针对目标资源的资源获取交易。
步骤706,区块链网络根据区块链账本查询对应于资源获取交易的预获取信息。
步骤707,区块链网络将所述预获取信息返回至第一服务端。
响应于所述目标资源,所述第一服务端可以将向区块链网络发起资源获取交易,该交易中可以包含所述目标资源的资源标识以及前述交易相关信息。当然,区块 链网络也有可能接收到其他服务端或者客户端针对所述目标资源发起的资源获取请求,因此区块链网络可以通过验证区块链账本中是否存储有对应于所述资源获取请求的资源预获取交易,来确定所述资源获取请求的真实性。
在区块链网络的区块链账本中确实存储有对应于所述资源获取请求的资源预获取交易的情况下,区块链网络可以确定所述资源获取请求通过验证,此时可以将该资源预获取交易的预获取信息返回至第一服务端。
步骤708,第一服务端根据所述预获取信息判定资源分发条件是否满足。
在获取到所述预获取信息后,第一服务端可以根据该信息进一步判定“所述区块链网络维护的区块链账本中存储有对应于所述第一消费客户端和所述目标资源的预获取交易”这一资源分发条件是否满足,并在该条件满足的情况下转入步骤709,在该条件不满足的情况下转入步骤712。
另外,第一服务端还可以根据资源预获取交易的有效时间信息判断“当前时刻处于所述资源预获取交易的有效期内”这一条件是否满足。此时,第一服务端可以在上述两条件均满足的情况下转入步骤709,在上述任一条件不满足的情况下转入步骤712。通过该方式,可以进一步确保第一服务端所响应的资源获取请求是有效请求。上述两条件的具体判定方式可以参见前述实施例的记载,此处不再赘述。
步骤709,第一服务端使用加密参数所述目标资源进行加密处理。
步骤710,第一服务端将加密后的密文数据返回至第一消费客户端。
步骤711,第一消费客户端使用加密参数解密得到所述目标资源的明文数据,进而消费所述明文数据。
为了提升目标资源的传输过程的私密性,避免传输过程中出现数据泄露,第一服务端可以使用加密参数将所述目标资源加密为密文数据,并将该密文数据传输至所述第一消费客户端。上述加密参数可以包含在前述资源获取请求中,即由第一消费服务端为第一服务端提供所述加密参数。其中,在所述加密参数包括第一密钥的情况下,第一服务端可以使用所述第一密钥对所述视频的全部或部分视频帧图像进行加密处理;或者,在所述加密参数包括加密模数和第二密钥的情况下,第一服务端可以根据所述加密模数和所述视频中各张视频帧的帧序号确定所述各张视频帧中的关键帧,并使用所述第一密钥对所述关键帧进行加密处理。具体加密方式可以参见前述实施例的详细记载,此处不再赘述。
可以理解的是,因为上述加密参数由第一消费客户端提供,所以第一消费客户端可以维护该加密参数对应的解密参数,并在接收到前述密文数据的情况下,使用所述解密参数对其进行解密处理以得到明文形式的目标资源,并进一步消费所述明文形式的目标资源。该方式可以确保目标资源的私密传输,避免目标资源的明文被泄露给非法消费客户端,提升目标资源传输过程中的安全性。
步骤712,第一服务端终止响应所述资源获取请求。
在所述预获取信息表明所述资源分发条件不满足的情况下,第一服务端可以终止响应所述资源获取请求,如可以直接丢弃该请求,或者也可以记录该请求或者针对该请求向预设管理方发起告警等。通过该方式,可以有效避免将目标资源分发至不具有合法获取权限的客户端,提升目标资源分发过程的安全性。
可见,本方案通过向区块链网络发起区块链交易,将与第一消费客户端从第一服务端获取目标资源的过程相关的分发记录存证至区块链上,从而实现了对分发记录的可靠存证。基于被存证的上述交易,可以对目标资源的任一次分发过程进行溯源,从而有助于提升对目标资源的管控能力,并在一定程度上降低资源分发过程的安全风险和侵权隐患。
除了具备上述资源分发功能之外,所述第一服务端也可以通过与第二服务端的配合实现资源转发功能,使得第二消费客户端可以通过自身对应的第二服务端向第一服务端请求获取目标资源用于消费。图8是本发明一示例性实施例示出的一种资源转发方案的流程图。如图8所示,该方案可以包括下述步骤801-815。
步骤801,第二消费客户端向第二服务端发起针对目标资源的资源消费请求。
第二消费客户端可以是预先认证至第二服务端的合法客户端,在第二消费客户端的用户想要消费目标资源时,第二消费客户端可以向自身对应的第二服务端发起针对该资源的所述资源消息请求。当然,第二服务端可以预先从第一服务端处获取资源列表并提供给第二消费客户端,以便该客户端向用户展示,便于用户从中选取自身感兴趣的至少一个资源,以作为本方案中待获取的目标资源。
步骤802,消费客户端响应于资源消费请求向第一服务端发起针对目标资源的资源预获取请求。
为了避免目标资源的获取过程产生恶意侵权,第二服务端可以在接收到所述资源预获取请求后,对该请求的发起方进行验证,以确定第二消费客户端是否为合法客 户端。具体验证方式可以参见前述消费端列表的使用方式,此处不再赘述。
在验证通过后,第二服务端可以触发开始响应资源消费请求。首先,第二服务端可以向第一服务端发起针对所述目标资源的资源预获取请求,该请求中可以携带目标资源的资源信息。
步骤803,第一服务端向所述区块链网络发起针对目标资源的资源预获取交易。
步骤804,区块链网络将所述资源预获取交易存储至自身的区块链账本中。
步骤805,区块链网络向第一服务端返回所述资源预获取交易所属区块的交易相关信息。
本方案所述的交易相关信息可以包括资源预获取交易的交易信息(如交易哈希、交易发起方、交易发起时间、交易所调用智能合约的合约地址、交易回执等)和该交易所属区块的区块信息(如区块哈希、区块高度等)。
步骤806,第一服务端向第二服务端转发所述交易相关信息。
上述获取过程前述实施例的相应步骤类似,不再赘述。需要说明的是,步骤802-806是示例性的,在所述第二服务端与区块链网络中的区块链节点建立连接的情况下,第二服务端也可以直接向所述区块链节点发起所述资源预获取交易,不再赘述。
步骤807,第二服务端向第一服务端发起针对目标资源的资源获取请求。
步骤808,第一服务端向区块链网络发起针对目标资源的资源获取交易。
步骤809,区块链网络根据区块链账本查询对应于的资源获取交易的预获取信息。
步骤810,区块链网络将所述预获取信息返回至第一服务端。
步骤807-810的具体过程与前述实施例中的步骤704-707类似,不再赘述。
步骤811,第一服务端根据所述预获取信息判定资源获取条件是否满足。
在获取到所述预获取信息后,第一服务端可以根据该信息进一步判定“所述区块链网络维护的区块链账本中存储有对应于所述第二服务端和所述目标资源的资源预获取交易”这一资源获取条件是否满足。在所述预获取信息表明所述资源获取条件满足的情况下,可以转入步骤812;否则,在所述预获取信息表明所述资源获取条件不满足的情况下,可以转入步骤815。
另外,第一服务端还可以根据资源预获取交易的有效时间信息判断“当前时刻处于所述资源预获取交易的有效期内”这一条件是否满足。此时,第一服务端可以在上述两条件均满足的情况下转入步骤812,在上述任一条件不满足的情况下转入步骤815。通过该方式,可以进一步确保第一服务端所响应的资源获取请求是有效请求。上述两条件的具体判定方式与前述资源分发条件类似,可以参见前述实施例的记载,此处不再赘述。
步骤812,第一服务端将所述目标资源的存储地址返回至第二服务端。
步骤813,第二服务端根据所述存储地址从相应存储空间读取所述目标资源。
步骤814,第二服务端将所述目标资源返回至所述第二消费客户端。
步骤815,第一服务端终止响应所述资源获取请求。
上述步骤812-815的具体实现方式可以参见前述实施例的记载,此处不再赘述。在该方案中,第一服务端和第二服务端可以分别对应于不同的资源消费平台,该方案向第二客户端提供了针对第一服务端所维护资源的转发功,实现了针对目标资源的跨平台消费。
与前述的资源分发方法的实施例相对应,本发明还提供了多种资源分发装置的实施例。
本发明实施例提出一种资源分发装置,所述装置应用于第一服务端,所述装置包括一个或多个处理器,所述处理器被配置为:
响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;
在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
在一实施例中,所述第一服务端维护有消费端列表,所述消费端列表用于记录已通过所述第一服务端认证的各个消费端的消费端标识,所述处理器被配置为:
确定所述资源获取请求中携带的所述第一消费端的第一标识,并在所述消费端列表中记录有所述第一标识的情况下,响应所述资源获取请求。
在一实施例中,所述处理器被配置为:
响应于所述第一消费端发起的预认证请求,向区块链网络发起包含所述第一标识的预认证交易;以及,在确定所述预认证交易被成功存储至所述区块链账本的情况下,将所述预认证交易的交易相关信息返回至所述第一消费端,以触发所述第一消费端根据证明参数、第一消费端所处设备的设备隐私信息和所述交易相关信息计算零知识证明算法的认证证明;
响应于所述第一消费端发起的认证请求确定所述预认证交易的交易相关信息,并根据验证参数、所述第一消费端所处设备的设备公开信息和所述交易相关信息对所述认证请求中携带的待验证认证证明进行验证;所述证明参数和所述验证参数由所述第一消费端基于所述设备隐私信息和所述设备公开信息计算得到;
在对所述待验证认证证明验证通过的情况下,将所述第一标识记录至所述消费端列表中。
在一实施例中,所述资源预获取交易由所述第一消费端向所述区块链网络发起;或者,
所述方法还包括:响应于所述第一消费端针对所述目标资源发起的资源预获取请求,向所述区块链网络发起所述资源预获取交易。
在一实施例中,所述处理器被配置为:
在当前时刻处于所述资源预获取交易的有效期内的情况下,将所述目标资源返回至所述第一消费端。
在一实施例中,所述资源预获取交易中包含有效区块个数,所述处理器被配置为:
确定所述资源预获取交易所属区块的起始区块高度以及当前时刻的最大区块高度;
在所述最大区块高度不大于所述起始区块高度与所述有效区块个数之和的情况下,判定当前时刻处于所述资源预获取交易的有效期内。
在一实施例中,所述处理器被配置为:
确定所述资源获取请求中携带的所述起始区块高度,所述起始区块高度由所述区块链网络在确定所述资源预获取交易被成功存储至所述区块链账本的情况下返回至所述第一消费端;或者,
将所述资源获取请求中携带的初始区块摘要发送至所述区块链网络,并接收所述区块链网络在确定所述资源预获取交易被成功存储至所述区块链账本的情况下返回的所述起始区块高度,其中,所述起始区块高度由所述区块链网络根据所述初始区块摘要在所述区块链账本中查询得到。
在一实施例中,所述处理器被配置为:所述资源预获取交易由所述第一服务端响应于所述第一消费端发起的资源预获取请求所发起,所述资源预获取请求和所述资源获取请求由所述第一消费端同时发起,所述处理器被配置为:
接收所述区块链网络在确定所述资源预获取交易被成功存储至所述区块链账本的情况下返回的对应于所述资源获取请求的预获取信息。
在一实施例中,所述处理器被配置为:
在接收到第一生产端上传的所述目标资源的情况下,存储所述目标资源并向所述区块链网络发起包含所述目标资源的资源信息的资源存证交易,以由所述区块链网络将所述资源存证交易存储至所述区块链账本;
将所述资源获取请求中携带的待验证资源信息包含在资源获取交易中发送至所述区块链网络,并在接收到所述区块链网络返回的验证通过消息的情况下将所述目标资源返回至所述第一消费端,其中,所述验证通过消息由所述区块链网络在确定所述待验证资源信息匹配于所述资源存证交易中包含的所述资源信息的情况下返回。
在一实施例中,所述资源获取请求中携带有加密参数,所述处理器被配置为:
使用所述加密参数对所述目标资源进行加密处理,并将相应的密文数据返回至所述第一消费端。
在一实施例中,所述目标资源为视频,所述处理器被配置为:
在所述加密参数包括第一密钥的情况下,使用所述第一密钥对所述视频的全部或部分视频帧图像进行加密处理;或者,
在所述加密参数包括加密模数和第二密钥的情况下,根据所述加密模数和所述视频中各张视频帧的帧序号确定所述各张视频帧中的关键帧,并使用所述第一密钥对所述关键帧进行加密处理。
在一实施例中,所述资源获取请求中携带有用于指示特定数据格式的格式信息,所述处理器被配置为:
将所述目标资源的原始资源文件处理为符合所述特定数据格式的待传输数据,并将所述待传输数据传输至所述第一消费端。
在一实施例中,所述处理器被配置为:
为所述目标资源设置发送限制标识,所述发送限制标识用于限制所述第一消费端将所述目标资源转发至其他消费端。
在一实施例中,所述处理器被配置为:
通过分布式的内容分发网络将所述目标资源发送至所述第一消费端。
在一实施例中,所述处理器被配置为:
将所述目标资源的原始资源文件发送至所述第一消费端;或者,
将所述目标资源的原始资源文件的存储地址发送至所述第一消费端,以使所述第一消费端根据所述存储地址下载所述原始资源文件。
在一实施例中,所述资源预获取交易由所述第一消费端向所述区块链网络发起;或者,
所述方法还包括:响应于所述第一消费端针对所述目标资源发起的资源预获取请求,向所述区块链网络发起所述资源预获取交易。
在一实施例中,所述第一消费端包括:所述第一服务端对应的第一消费客户端;或者,
区别于所述第一服务端的第二服务端,此时所述资源预获取交易或者所述资源预获取请求由所述第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求所发起。
本发明实施例提出另一种资源分发装置,所述装置应用于第一消费端,所述装置包括一个或多个处理器,所述处理器被配置为:
向第一服务端发起针对目标资源的资源获取请求,以触发所述第一服务端从区块链网络处获取对应于所述资源获取请求的预获取信息;
接收所述第一服务端返回的目标资源,所述目标资源由所述第一服务端在所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易的情况下返回。
在一实施例中,向所述区块链网络发起所述资源预获取交易;或者,
所述处理器被配置为:向所述第一服务端发起针对所述目标资源的资源预获取请求,以由所述第一服务端响应于所述资源预获取请求向所述区块链网络发起所述资源预获取交易。
在一实施例中,所述处理器被配置为:
在确定所述资源预获取交易被成功存储至所述区块链账本的情况下发起所述资源获取请求;或者,
在发起所述资源预获取请求或所述资源预获取交易的同时发起所述资源获取请求,所述资源获取请求由所述第一服务端在确定所述资源预获取交易被成功存储至所述区块链账本的情况下响应。
在一实施例中,所述第一消费端包括:所述第一服务端对应的第一消费客户端;或者,
区别于所述第一服务端的第二服务端,此时所述资源预获取交易或者所述资源预获取请求由所述第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求所发起。
本发明实施例提出又一种资源分发装置,所述装置应用于区块链网络中的任一区块链节点,所述装置包括一个或多个处理器,所述处理器被配置为:
在接收到第一服务端针对目标资源发起的资源获取交易的情况下,确定对应于资源获取请求的预获取信息,所述资源获取交易由所述第一服务端响应于第一消费端针对所述目标资源发起的所述资源获取请求所发起;
将所述预获取信息返回至所述第一服务端,以由所述第一服务端在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
在一实施例中,所述处理器被配置为:
在接收到所述第一服务端或者所述第一消费端发起的所述资源预获取交易的情况下,参与针对所述资源预获取交易的共识过程;
在所述资源预获取交易通过共识的情况下,将所述资源预获取交易存储至自身维护的所述区块链网络的区块链账本中。
本发明的实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现上述任一实施例所述的资源分发方法。
本发明的实施例还提出一种非瞬态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的资源分发方法中的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在相关方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据本发明的实施例示出的一种用于数据存证或者驾驶模式的确定的装置900的示意框图。例如,装置900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图9,装置900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口912,传感器组件914,以及通信组件916。
处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述资源分发方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
存储器904被配置为存储各种类型的数据以支持在装置900的操作。这些数据的示例包括用于在装置900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件906为装置900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为装置900生成、管理和分配电力相关联的组件。
多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以 不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当装置900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为装置900提供各个方面的状态评估。例如,传感器组件914可以检测到装置900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE、6G NR或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置900可以被一个或多个应用专用集成电路(ASIC)、 数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述资源分发方法。
在示例性实施例中,还提供了一种包括指令的非瞬态计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述资源分发方法。例如,所述非瞬态计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的实施例后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本发明内容不应理解为对本发明的限制。
Claims (28)
- 一种资源分发方法,应用于第一服务端,包括:响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
- 根据权利要求1所述的方法,所述第一服务端维护有消费端列表,所述消费端列表用于记录已通过所述第一服务端认证的各个消费端的消费端标识,响应所述资源获取请求,包括:确定所述资源获取请求中携带的所述第一消费端的第一标识,并在所述消费端列表中记录有所述第一标识的情况下,响应所述资源获取请求。
- 根据权利要求2所述的方法,认证所述第一消费端,包括:响应于所述第一消费端发起的预认证请求,向区块链网络发起包含所述第一标识的预认证交易;以及,在确定所述预认证交易被成功存储至所述区块链账本的情况下,将所述预认证交易的交易相关信息返回至所述第一消费端,以触发所述第一消费端根据证明参数、第一消费端所处设备的设备隐私信息和所述交易相关信息计算零知识证明算法的认证证明;响应于所述第一消费端发起的认证请求确定所述预认证交易的交易相关信息,并根据验证参数、所述第一消费端所处设备的设备公开信息和所述交易相关信息对所述认证请求中携带的待验证认证证明进行验证;所述证明参数和所述验证参数由所述第一消费端基于所述设备隐私信息和所述设备公开信息计算得到;在对所述待验证认证证明验证通过的情况下,将所述第一标识记录至所述消费端列表中。
- 根据权利要求1所述的方法,所述资源预获取交易由所述第一消费端向所述区块链网络发起;或者,所述方法还包括:响应于所述第一消费端针对所述目标资源发起的资源预获取请求,向所述区块链网络发起所述资源预获取交易。
- 根据权利要求1所述的方法,所述将所述目标资源返回至所述第一消费端,包括:在当前时刻处于所述资源预获取交易的有效期内的情况下,将所述目标资源返回 至所述第一消费端。
- 根据权利要求5所述的方法,所述资源预获取交易中包含有效区块个数,确定当前时刻处于所述资源预获取交易的有效期内,包括:确定所述资源预获取交易所属区块的起始区块高度以及当前时刻的最大区块高度;在所述最大区块高度不大于所述起始区块高度与所述有效区块个数之和的情况下,判定当前时刻处于所述资源预获取交易的有效期内。
- 根据权利要求6所述的方法,所述确定所述资源预获取交易所属区块的起始区块高度,包括:确定所述资源获取请求中携带的所述起始区块高度,所述起始区块高度由所述区块链网络在确定所述资源预获取交易被成功存储至所述区块链账本的情况下返回至所述第一消费端;或者,将所述资源获取请求中携带的初始区块摘要发送至所述区块链网络,并接收所述区块链网络在确定所述资源预获取交易被成功存储至所述区块链账本的情况下返回的所述起始区块高度,其中,所述起始区块高度由所述区块链网络根据所述初始区块摘要在所述区块链账本中查询得到。
- 根据权利要求1所述的方法,所述资源预获取交易由所述第一服务端响应于所述第一消费端发起的资源预获取请求所发起,所述资源预获取请求和所述资源获取请求由所述第一消费端同时发起,所述从区块链网络处获取对应于所述资源获取请求的预获取信息,包括:接收所述区块链网络在确定所述资源预获取交易被成功存储至所述区块链账本的情况下返回的对应于所述资源获取请求的预获取信息。
- 根据权利要求1所述的方法,还包括:在接收到第一生产端上传的所述目标资源的情况下,存储所述目标资源并向所述区块链网络发起包含所述目标资源的资源信息的资源存证交易,以由所述区块链网络将所述资源存证交易存储至所述区块链账本;所述将所述目标资源返回至所述第一消费端,包括:将所述资源获取请求中携带的待验证资源信息包含在资源获取交易中发送至所述区块链网络,并在接收到所述区块链网络返回的验证通过消息的情况下将所述目标资源返回至所述第一消费端,其中,所述验证通过消息由所述区块链网络在确定所述待验证资源信息匹配于所述资源存证交易中包含的所述资源信息的情况下返回。
- 根据权利要求1所述的方法,所述资源获取请求中携带有加密参数,所述将所述目标资源返回至所述第一消费端,包括:使用所述加密参数对所述目标资源进行加密处理,并将相应的密文数据返回至所述第一消费端。
- 根据权利要求10所述的方法,所述目标资源为视频,所述使用所述加密参数对所述目标资源进行加密处理,包括:在所述加密参数包括第一密钥的情况下,使用所述第一密钥对所述视频的全部或部分视频帧图像进行加密处理;或者,在所述加密参数包括加密模数和第二密钥的情况下,根据所述加密模数和所述视频中各张视频帧的帧序号确定所述各张视频帧中的关键帧,并使用所述第一密钥对所述关键帧进行加密处理。
- 根据权利要求1所述的方法,所述资源获取请求中携带有用于指示特定数据格式的格式信息,所述将所述目标资源返回至所述第一消费端,包括:将所述目标资源的原始资源文件处理为符合所述特定数据格式的待传输数据,并将所述待传输数据传输至所述第一消费端。
- 根据权利要求1所述的方法,还包括:为所述目标资源设置至少一个权限标识,所述权限标识的取值用于表明允许第一消费端针对所述目标资源实施的预设操作。
- 根据权利要求1所述的方法,所述将所述目标资源返回至所述第一消费端,包括:通过分布式的内容分发网络将所述目标资源返回至所述第一消费端。
- 根据权利要求1所述的方法,所述将所述目标资源返回至所述第一消费端,包括:将所述目标资源的原始资源文件发送至所述第一消费端;或者,将所述目标资源的原始资源文件的存储地址发送至所述第一消费端,以使所述第一消费端根据所述存储地址下载所述原始资源文件。
- 根据权利要求1所述的方法,所述资源预获取交易由所述第一消费端向所述区块链网络发起;或者,所述方法还包括:响应于所述第一消费端针对所述目标资源发起的资源预获取请求,向所述区块链网络发起所述资源预获取交易。
- 根据权利要求1-16中任一项所述的方法,所述第一消费端包括:所述第一服务端对应的第一消费客户端;或者,区别于所述第一服务端的第二服务端,此时所述资源预获取交易或者所述资源预获取请求由所述第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求所发起。
- 一种资源分发方法,应用于第一消费端,包括:向第一服务端发起针对目标资源的资源获取请求,以触发所述第一服务端从区块链网络处获取对应于所述资源获取请求的预获取信息;接收所述第一服务端返回的目标资源,所述目标资源由所述第一服务端在所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易的情况下返回。
- 根据权利要求18所述的方法,还包括:向所述区块链网络发起所述资源预获取交易;或者,向所述第一服务端发起针对所述目标资源的资源预获取请求,以由所述第一服务端响应于所述资源预获取请求向所述区块链网络发起所述资源预获取交易。
- 根据权利要求19所述的方法,发起所述资源获取请求,包括:在确定所述资源预获取交易被成功存储至所述区块链账本的情况下发起所述资源获取请求;或者,在发起所述资源预获取请求或所述资源预获取交易的同时发起所述资源获取请求,所述资源获取请求由所述第一服务端在确定所述资源预获取交易被成功存储至所述区块链账本的情况下响应。
- 根据权利要求18-20中任一项所述的方法,所述第一消费端包括:所述第一服务端对应的第一消费客户端;或者,区别于所述第一服务端的第二服务端,此时所述资源预获取交易或者所述资源预获取请求由所述第二服务端响应于第二消费客户端针对所述目标资源发起的资源消费请求所发起。
- 一种资源分发方法,应用于区块链网络中的任一区块链节点,包括:在接收到第一服务端针对目标资源发起的资源获取交易的情况下,确定对应于资源获取请求的预获取信息,所述资源获取交易由所述第一服务端响应于第一消费端针对所述目标资源发起的所述资源获取请求所发起;将所述预获取信息返回至所述第一服务端,以由所述第一服务端在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述 目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
- 根据权利要求22所述的方法,还包括:在接收到所述第一服务端或者所述第一消费端发起的所述资源预获取交易的情况下,参与针对所述资源预获取交易的共识过程;在所述资源预获取交易通过共识的情况下,将所述资源预获取交易存储至自身维护的所述区块链网络的区块链账本中。
- 一种资源分发装置,所述装置应用于第一服务端,所述装置包括一个或多个处理器,所述处理器被配置为:响应于第一消费端针对目标资源发起的资源获取请求,从区块链网络处获取对应于所述资源获取请求的预获取信息;在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
- 一种资源分发装置,所述装置应用于第一消费端,所述装置包括一个或多个处理器,所述处理器被配置为:向第一服务端发起针对目标资源的资源获取请求,以触发所述第一服务端从区块链网络处获取对应于所述资源获取请求的预获取信息;接收所述第一服务端返回的目标资源,所述目标资源由所述第一服务端在所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易的情况下返回。
- 一种资源分发装置,所述装置应用于区块链网络中的任一区块链节点,所述装置包括一个或多个处理器,所述处理器被配置为:在接收到第一服务端针对目标资源发起的资源获取交易的情况下,确定对应于资源获取请求的预获取信息,所述资源获取交易由所述第一服务端响应于第一消费端针对所述目标资源发起的所述资源获取请求所发起;将所述预获取信息返回至所述第一服务端,以由所述第一服务端在获取到的所述预获取信息表明所述区块链网络的区块链账本中存储有对应于所述第一消费端和所述目标资源的资源预获取交易情况下,将所述目标资源返回至所述第一消费端。
- 一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现权利要求1至23中任一项所述的方法。
- 一种非瞬态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至23中任一项所述的方法中的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/116239 WO2024045053A1 (zh) | 2022-08-31 | 2022-08-31 | 资源分发方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117957541A true CN117957541A (zh) | 2024-04-30 |
Family
ID=90100009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280002985.4A Pending CN117957541A (zh) | 2022-08-31 | 2022-08-31 | 资源分发方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117957541A (zh) |
WO (1) | WO2024045053A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961292B (zh) * | 2019-03-22 | 2022-04-01 | 杭州复杂美科技有限公司 | 区块链验证码应用方法、设备和存储介质 |
CN110333948A (zh) * | 2019-06-11 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 基于区块链的虚拟资源分配方法和装置 |
US20210042748A1 (en) * | 2019-08-07 | 2021-02-11 | American Lebanese Syrian Associated Charities, Inc. | Blockchain-based secure resource management |
CN112818414B (zh) * | 2021-04-16 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113392430B (zh) * | 2021-05-27 | 2023-05-19 | 中国联合网络通信集团有限公司 | 基于智能合约认证的数字资源管理方法及系统 |
CN113821817B (zh) * | 2021-11-22 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理方法、装置、设备及系统 |
-
2022
- 2022-08-31 WO PCT/CN2022/116239 patent/WO2024045053A1/zh active Application Filing
- 2022-08-31 CN CN202280002985.4A patent/CN117957541A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2024045053A1 (zh) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10020997B2 (en) | Device communication | |
CN108989848B (zh) | 一种视频资源文件的获取方法和管理系统 | |
CN105243318B (zh) | 确定用户设备控制权限的方法、装置及终端设备 | |
US10650119B2 (en) | Multimedia data processing method, apparatus, system, and storage medium | |
CN111727611A (zh) | 位置特定的用户信息提供 | |
CN110234020B (zh) | 视频播放方法及装置 | |
CN111431724B (zh) | 数据传输方法、装置及电子设备 | |
US20220353552A1 (en) | Methods and devices for pulling live stream | |
CN112182647A (zh) | 数据读取方法及装置、数据授权方法及装置、存储介质 | |
JP2023518662A (ja) | 暗号学的に安全な要求の検証 | |
US20200327251A1 (en) | Media content privacy control | |
CN116192371A (zh) | 令牌发送、访问请求处理方法、装置、设备、介质及产品 | |
CN112182646A (zh) | 数据读取方法及装置、数据授权方法及装置、存储介质 | |
CN114218510A (zh) | 业务页面显示方法、装置和设备 | |
US20200037005A1 (en) | Video resource file acquisition method and management system | |
CN112927026A (zh) | 优惠券的处理方法、装置、电子设备及计算机存储介质 | |
CN112087411B (zh) | 进行授权处理的系统、方法、装置及电子设备 | |
EP3627361B1 (en) | Media content control | |
WO2024045053A1 (zh) | 资源分发方法及装置 | |
CN112434339A (zh) | 一种信息处理方法及装置 | |
US20230254291A1 (en) | Client-side encryption of content for virtual meetings | |
CN114247150B (zh) | 一种虚拟队伍组建方法、装置、电子设备及存储介质 | |
CN112468834B (zh) | 属性值更新方法、装置、电子设备、服务器及存储介质 | |
CN116318652A (zh) | 密钥分发方法、装置、电子设备和存储介质 | |
CN115879123A (zh) | 私密数据的管理方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |