在对等网络中分发数字内容的方法和系统与流程

文档序号:13861253阅读:277来源:国知局
本申请涉及数字版权管理
技术领域
,尤其涉及在对等网络中分发数字内容的方法和系统。
背景技术
:数字权利管理(digitalrightsmanagement,简称:drm)是随着电子音频视频节目在互联网上的广泛传播而发展起来的一种技术。其目的是保护数字内容的权利(rights),从技术上防止数字内容的非授权(unauthorized)复制,或者在一定程度上使复制很困难,最终用户必须得到授权后才能使用数字内容。drm保护软件、音乐和电影等数字化产品,可以控制和限制这些数字化产品的使用权。从而有效地保护数字内容的版权,保护数字内容所有人的合法收益,提高数字内容创作者的热情以及刺激数字内容的发展。目前对等(peertopeer,简称:p2p)网络的内容分发技术有很多。比如,比特种子(bittorrent,简称:bt)就是一种常见的p2p内容分发技术。其工作原理大致为:bt下载软件首先在上传端(内容发布者,也称种子)把一个内容文件分成了多个部分。用户甲从上传端随机下载了内容文件的第n部分,用户乙从上传端随机下载了内容文件的第m部分。用户甲的bt下载软件根据情况向用户乙的bt下载软件请求下载内容文件的第m部分。用户乙的bt下载软件根据情况到用户甲的bt下载软件请求下载内容文件的第n部分。这样就不但减轻了上传端的负荷,也加快了用户方(甲乙)的下载速度,提高了下载速度和网络带宽的利用率,也同时减少了地域之间的限制。比如说用户丙要从上传端去下载内容文件的话可能需要很长时间,但是向用户甲和乙的bt下载软件请求下载就会快得多。所以使用bt技术,下载的人越多,下载速度也就越快。虽然p2p内容分发技术加快了网络间大容量文件的共享,提高了网络带宽的利用率,但数字内容文件的传播范围控制的不够好,可能会导致数字内容文件被无限制性地传播。进一步地,会导致了数字内容的权利无法完全得到控制。技术实现要素:本申请实施例提供一种在p2p网络中分发数字内容的方法和系统,所述系统包括了一个以上的内容装置,一个以上的内容事务处理装置及其对应的区块链处理装置。在数字内容下载过程中,将关于数字内容发送需要校验的信息存储在区块链处理装置中,这样在数字内容下载过程,均需要从区块链处理装置获取上述需要检验的信息,然后进行校验。只有校验成功才会允许数字内容下载,因此可以使数字内容的发送限于特定的可控范围内。第一方面,本申请的实施例提供了一种分发数字内容的方法,在一个p2p网络中,有一个或多个内容装置,一个或多个内容事务处理装置和与内容事务处理装置一一对应的区块链处理装置,方法包括:内容装置接收下载客户端发送的下载请求,该下载请求包括请求下载的内容文件的上传事务标识(identity)和许可证事务标识;内容装置根据上传事务标识和许可证事务标识确定所述下载客户端是否具有下载所述内容文件的许可信息,如果具有,则将内容文件发送到下载客户端。如果内容文件被划分成多个内容分块,而内容分块可能被存储在不同的内容装置,对于某个特定内容装置而言;当内容装置确定该下载客户端具有下载内容文件的许可证则将内容分块发送到下载客户端。当内容文件发送完成后,内容装置需要将下载信息存储到区块链中,因此内容装置向内容事务处理装置发送下载事务请求,该下载事务请求包含下载信息,内容事务处理装置接收了下载事务请求,校验下载信息是否为有效的,校验成功后生成下载事务,将所述下载事务发送到内容事务处理装置对应的区块链处理装置中。区块链处理装置接收了所述下载事务,将所述下载事务加入到区块链处理装置存储的区块链中,p2p网络中各个区块链处理装置都会存储该区块链,当某个区块链处理装置存储的区块链发生了更新,则需要让p2p网络中的其它区块链处理装置的区块链进行同步更新,以保证各个区块链处理装置存储的区块链是相同的。由于内容装置可以根据内容上传事务标识和许可证事务标识校验内容下载客户端是否具有下载的资格,只有具有下载资格了,内容装置才会将内容文件发送给下载客户端,这样可以限制内容文件被发送的范围。另外,当下载完成时,内容事务处理装置还将下载事务保存到区块链处理装置的区块链中,这样在区块链中就会记录了本次下载,从而可以追查非授权用户的下载行为,从而进一步控制内容文件的传播范围。在一个可能的设计中,所述下载请求还包括许可证所有人私钥的签名,内容装置根据所述上传事务标识和许可证事务标识确定所述下载客户端是否具有下载所述内容文件的许可信息具体为:所述内容装置从所述区块链处理装置存储的区块链中获取所述许可证事务标识对应的许可证事务,如果没有获取到许可证事务标识对应的许可证事务,则说明该许可证事务标识是无效的,因此该下载客户端不具有下载内容文件的许可证。如果能够获取到许可证事务,则用所述许可证事务的输出内容包含的资产地址确定许可证所有人私钥的签名是否为有效的,确定所述输出内容的许可信息是否为有效的,以及确定所述许可证事务的输入内容是否包含了所述上传事务标识。在一个可能的设计中,内容文件包含一个以上的内容分块,将所述内容文件发送到所述下载客户端,具体为:将存储在所述内容装置的所述内容文件的内容分块发送到所述下载客户端。内容文件分成多个内容分块,不同的内容分块被存储在不同的内容装置中,相当于多个内容装置可以向区块链处理装置并行发送内容文件,可以提高下载内容文件的速度。在一个可能的设计中,所述下载信息包含了许可证事务标识、许可证所有人私钥的签名、下载过程记录、内容装置的资产地址、上传事务标识和内容装置所发送的内容分块的标识。在一个可能的设计中,确定下载信息为有效的具体为,所述内容事务处理装置从所述区块链处理装置存储的区块链中获取所述许可证事务标识对应的版权事务,用所述版权事务的输出内容包含的资产地址确定所述许可证所有人私钥的签名为有效的。对下载信息的校验,可以确定加入到区块链中的下载事务是正确的。在一个可能的设计中,所述生成下载事务具体为:所述内容事务处理装置将下载事务中包含的输入内容设置为所述许可证事务标识和所述许可证所有人的签名,输出内容的地址设置为所述内容装置的资产地址,所述输出内容的资产包括所述下载过程记录、所述上传事务标识和所述内容装置所发送的内容分块的标识。通过设置下载事务包含了许可证事务标识和上传事务标识,可以提高搜素下载事务时的速度。在一个可能的设计中,在所述内容装置接收下载客户端发送的下载请求之前,还包括:所述内容事务处理装置接收所述下载客户端发送的获取请求,所述获取请求包含所述上传事务标识,从所述区块链处理装置存储的区块链中获取所述上传事务标识对应的上传信息,将所述上传信息发送给所述下载客户端。通过从区块链获取上传信息,确保获取的上传信息的准确性。在一个可能的设计中,还包括:所述内容装置接收上传客户端发送的所述上传内容请求,所述上传内容请求包含所述上传客户端的互联网协议(internetprotocol,简称:ip)地址;根据所述上传客户端ip地址向所述上传客户端发送授权请求,所述授权请求包含所述内容装置的ip地址,分发资格证书,内容装置私钥的签名和数字内容标识;接收所述上传客户端发送的授权响应,所述授权响应包含授权发送的内容分块的标识。当某个内容装置可以处理上传客户端的上传内容请求时,需要向上传客户端发送授权请求,以便上传客户端对授权请求包含的分发资格证书和内容装置私钥的签名进行校验,从而确保将数字内容文件上传到健康和授权的内容装置中。在一个可能的设计中,当一个数字内容文件包含的所有内容分块都上传成功后,上传客户端才会向内容事务处理装置发送上传事务请求,此时方法还包括:所述内容事务处理装置接收上传客户端发送的上传事务请求,所述上传事务请求包含所述上传信息;确定所述上传信息为有效的,生成上传事务,将所述上传事务发送到区块链处理装置;所述区块链装置接收所述上传事务,并将所述上传事务加入到所述区块链处理装置存储的区块链中。确定上传信息是否有效,保证了加入到区块链中的上传事务是准确的。在一个可能的设计中,所述上传信息具体包括版权事务标识、版权所有人私钥的签名、所述上传客户端的资产地址、所述数字内容标识、上传方式和内容装置信息列表。在一个可能的设计中,所述确定所述上传信息为有效的,具体为:所述内容事务处理装置从所述区块链处理装置存储的区块链中获取所述版权事务标识对应的版权事务,如果区块链中没有版权事务标识对应的版权事务,则确定所述上传信息是无效的,如果能够获取到版权事务标识对应的版权事务,则用所述版权事务的输出内容包含的资产地址确定所述版权所有人私钥的签名为有效的,以及确定所述数字内容标识为所述版权事务对应的数字内容标识的子集。在一个可能的设计中,所述生成上传事务具体为:所述内容事务处理装置将所述上传事务中包含的输入内容设置为所述版权事务标识和所述版权所有人私钥的签名,输出内容的资产地址设置为所述上传客户端的资产地址,所述输出内容的资产数据设置为所述数字内容标识、所述上传方式和所述内容装置信息列表。在一个可能的设计中,还包括:许可证处理装置接收版权管理客户端发送的许可证颁发请求,所述许可证颁发请求包含被颁发许可证的对象的资产地址、产品事务标识、拥有产品的产品所有人私钥的签名、承载可授权使用的内容文件的上传事务标识、拥有所述上传事务的所有人私钥的签名、许可信息和数字内容文件解密信息列表;确定所述许可证颁发请求为有效的,生成许可证事务,将所述许可证事务发送给区块链处理装置;所述区块链处理装置接收所述许可证事务,并将所述许可证事务加入到所述区块链处理装置存储的区块链中。上述产品事务标识可以替换为版权事务标识,则产品所有人相应替换成版权所有人。将上传事务加入到区块链,确保了上传事务的不可更改。在一个可能的设计中,所述确定所述许可证颁发请求为有效的具体包括:所述许可证处理装置从所述区块链处理装置存储的区块链中获取产品事务标识对应的产品事务和上传事务标识对应的上传事务,用所述产品事务的输出内容包含的资产地址确定产品所有人私钥的签名为有效的,用所述上传事务的输出内容包含的资产地址确定拥有所述上传事务的所有人私钥的签名为有效的。上述产品事务标识可以替换为版权事务标识,则产品事务相应替换成版权事务,产品所有人相应替换成版权所有人。在一个可能的设计中,所述生成许可证事务具体为:所述许可证处理装置将所述许可证事务中第一个输入内容设置为所述产品事务标识和所述产品所有人私钥的签名,第二个输入内容设置为所述上传事务标识和所述拥有该上传事务的所有人私钥的签名,输出内容的资产地址设置为所述被颁发许可证的对象的资产地址,输出内容的资产数据设置为所述许可信息和所述数字内容文件解密信息列表。上述产品事务标识可以替换为版权事务标识,则产品所有人相应替换为版权所有人。第二方面,本申请的实施例提供了一种分发数字内容的系统,包括:一个以上的内容装置,一个以上的内容事务处理装置和与每个内容事务处理装置对应的区块链处理装置,该内容装置具有实现上述方法实际中内容装置行为的功能,该内容事务处理装置具有实现上述方法实际中内容事务处理装置行为的功能,该区块链处理装置具有实现上述方法实际中区块链处理装置行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该分发数字内容的系统,还包括了许可证处理装置具有实现上述方法实际中许可证处理装置行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,内容装置的结构中包括处理器和存储器,所述存储器用于存储支持内容装置执行上述方法的应用程序代码,所述处理器被配置为用于执行所述存储器中存储的应用程序。内容装置还可以包括通信接口,用于内容装置与其他设备或通信网络通信。对于内容事务处理装置、区块链处理装置或者许可证处理装置而言,也是具有相似的结构,也就是说,该部分的内容装置被替换为内容事务处理装置、区块链处理装置或者许可证处理装置也是可以的。第三方面,本申请的实施例提供了一种分发数字内容的方法,该方案包括:下载客户端从内容事务处理装置获得上传信息,从所述上传信息中获取所述内容装置的ip地址,向所述内容装置发送下载请求,该下载请求包含许可证事务标识,该许可证事务标识对应的许可证事务包含了许可信息、许可证所有人私钥的签名和上传事务标识,这样内容装置就可以根据许可证事务的事务标识、许可证所有人私钥的签名和上传事务标识进行校验,校验成功后,下载客户端从内容装置接收到内容文件。在一个可能的设计中,下载客户端从上传信息中获取内容装置的ip地址,具体为,当下载方式为文件方式,下载客户端从许可证事务标识对应的许可证事务中获得密钥索引列表和分块密钥列表,并从分块密钥列表中获得每个内容分块的标识,然后从上传信息中分别查找出存储各个内容分块的内容装置的ip地址。当多个内容装置存储同一个内容分块时,下载客户端可以随机选择1个内装置的ip地址或者根据内容装置的ip地址的地域属性选择1个内容装置ip地址。在一个可能的设计中,下载客户端根据上传信息中的内容装置信息列表,获取内容装置的ip地址和播放列表文件的标识;下载客户端生成播放列表请求,并根据获取到的内容装置的ip地址,将播放列表请求发送给内容装置,播放列表请求包含上传事务标识和播放列表文件的标识;下载客户端接收到媒体流播放列表文件后,对媒体流播放列表文件进行解密,获得密钥。在一个可能的设计中,对媒体流播放列表文件进行解密,获得密钥的过程具体为:下载客户端根据上传事务标识从许可证事务中获取对应的文件解密信息;根据播放列表文件的标识从内容文件解密信息获取播放列表文件的标识对应的密钥索引;根据密钥索引从文件解密信息中获取对应的被许可证公钥加密后的密钥;使用许可证私钥对被许可证公钥加密后的密钥进行解密,得到明文的密钥。在一个可能的设计中,下载客户端根据带宽情况选择一个合适的下载播放列表文件中的内容分块进行在线播放的下载。在一个可能的设计中,还包括:上传客户端从内容装置接收授权请求,所述授权请求包含内容装置的ip地址、分发资格证书、分发资格私钥的认证机构(certificateauthority,简称:ca)签名和数字内容标识。上传客户端使用ca公钥对分发资格证书的ca私钥签名进行验证,如果验证不通过,则校验失败,如果验证通过,则说明该分发资格证书是真实的和得到授权的;上传客户端使用内容装置的公钥对分发资格私钥签名进行验证,如果验证不通过,则校验失败,如果验证通过,则说明该内容装置是真实的和得到授权的;上传客户端确定内容装置的ip地址有没有被重复申请该数字内容标识的内容发送授权。检验通过后,上传客户端根据内容装置的ip地址,向内容装置发送内容授权响应,该授权响应包含授权结果,如果结果为授权成功,该授权响应还可以包括授权发送的内容分块的标识。在一个可能的设计中,上传客户端保存内容分块标识和内容装置的ip地址之间的对应关系。在一个可能的设计中,当内容文件或者多个内容文件上传完成时,上传客户端生成上传事务请求,并将上传事务请求发送给内容事务处理装置,该上传事务请求包含上传信息,该上传信息可以包括版权事务标识、版权所有人私钥的签名、上传客户端的资产地址、数字内容标识、上传方式和内容装置信息列表。在一个可能的设计中,版权管理客户端根据上传事务标识,获得数字内容标识。对于上传方式为文件方式,版权管理客户端根据数字内容标识,获得密钥索引列表和分块密钥列表。对于上传方式为媒体流方式,版权管理客户端根据数字内容标识,获得密钥索引列表、分块密钥列表和文件密钥列表。如果版权管理客户端没有包含版权所有人的签名,版权管理客户端还可以生成上传事务的版权所有人私钥的签名。在一个可能的设计中,版权管理客户端生成许可证颁发请求,并将许可证颁发请求发送给许可证处理装置。许可证颁发请求包含被颁发许可证的对象的资产地址、产品事务标识、拥有该产品的产品所有人私钥的签名、承载可授权使用的内容文件的上传事务标识、拥有该上传事务的版权所有人私钥的签名、许可信息和数字内容文件解密信息列表。第四方面,本申请的实施例提供了一种下载客户端,该下载客户端具有实现上述方法实际中下载客户端行为的功能,该上传客户端具有实现上述方法实际中上传客户端行为的功能,该版权管理客户端具有实现上述方法实际中版权管理客户端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中下载客户端的结构中包括处理器和存储器,所述存储器用于存储支持内容装置执行上述方法的应用程序代码,所述处理器被配置为用于执行所述存储器中存储的应用程序。下载客户端还可以包括通信接口,用于下载客户端与其他设备或通信网络通信。对于上传客户端或者版权管理客户端而言,也是具有相似的结构,也就是说,该部分的内容下载装置被替换为上传客户端或者版权管理客户端也是可以的。第五方面,本发明实施例提供了一种计算机存储介质,用于储存为上述内容事务处理装置、内容装置、区块链处理装置或者许可证处理装置所用的计算机软件指令,其包含用于分别执行上述方面为内容事务处理装置、内容装置、区块链处理装置或者许可证处理装置所设计的程序。第六方面,本发明实施例提供了一种计算机存储介质,用于储存为上述区内容下载装置、上传客户端或者版权管理客户端所用的计算机软件指令,其包含用于分别执行上述方面为内容下载装置、上传客户端或者版权管理客户端所设计的程序。相较于现有技术,本发明提供的方案可以实现数字内容的分发传播是受控的。附图说明为了说明本发明实施例中的技术方案,下面对实施例描述中所使用的附图作简要介绍。显而易见地,本文中揭示的仅仅是本发明的一部分实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图和实施例获得其他的实施例。图1所示为本发明实施例提供的事务的一种数据结构示意图;图2所示为本发明实施例提供的事务的另一种数据结构示意图;图3所示为本发明实施例提供的数字内容的版权和许可证的关系示意图;图4所示为本发明实施例提供的数字内容的版权,产品和许可证的关系示意图;图5所示为本发明实施例提供的分发数字内容的系统的应用场景示意图;图6所示为本发明实施例提供的分发数字内容的系统的结构示意图;图7-1所示为本发明实施例提供的计算机设备示意图;图7-2所示为本发明实施例提供的另一种计算机设备示意图;图8-1所示为本发明实例提供的数字内容上传流程示意图;图8-2所示为本发明实例提供的数字内容上传的界面示意图;图9所示为本发明实例提供的许可证颁发的流程示意图;图10所示为本发明实例提供的内容下载的流程示意图;图11所示为本发明实施例提供的分发数字内容的系统的结构示意图。具体实施方式以下结合附图及实施例,对本申请进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。目前p2p内容分发技术可以加快网络间大容量文件的传输效率,提高网络带宽的利用率。但p2p内容分发技术下的数字内容的传播范围可能不受限制,从而导致数字内容的版权(copyright)保护变得困难。比如:在数学内容上传或者下载过程中,是可以不需要对执行上传或下载的消费者或者内容装置进行校验的。没有拥有该数字内容许可的消费者也可以从内容装置下载内容。或者,一个未授权的内容装置也可以存储上传的数字内容。因此数字内容可能被无限制地传播出去。而本发明实施例提供了一种方法,在数字内容上传过程中,版权所有人需要对数字内容装置进行资格认证和授权,确保数字内容的分发过程可控,并且将与数字内容上传相关的数据存储到区块链(blockchain)中。区块链被保存在一个以上的区块链处理装置中。另外,版权所有人将数字内容的许可证颁发给一个或多个消费者,并且把颁发的许可证加入到区块链中。消费者在下载数字内容时,需要对该消费者是否拥有许可证以及与待下载数字内容有关的上传信息进行校验。消费者需要从任意区块链处理装置保存的区块链中获得该数字内容对应的许可证。消费者利用下载客户端向内容装置发送许可证和与待下载数字内容有关的上传信息。内容装置校验该许可证和上传信息,确认消费者已获得版权所有人的许可证后,才向下载客户端发送数字内容文件。在数字内容文件下载完成后,内容装置将下载数字内容相关的信息以事务(transaction)的方式加入到区块链中。在p2p网络中,各个区块链处理设备都存储了该区块链,一旦事务添加到区块链后,就无法更改。此过程保证了发送内容文件相关信息的不可篡改性,确保了内容分发的可控,透明和安全。下面介绍本发明所使用到的知识点。需要说明的是,为了全文的简洁,相同的内容通常只会在一个地方进行描述。全文中相同的内容可以相互引用。对于有些内容,在本专利中的不同地方都做了介绍,可能存在不同维度或者角度的描述,这并不影响它们表达为同样的意思。权利所有人(rightsowner)为拥有数字内容权利的自然人、法人或者社会机构。权利所有人可以是数字内容的创作者,权利所有人也可以不是数字内容的创作者。通常情况下,数字内容创作者为权利owner,但是如果权利发生转移后,则权利转移目标对象为权利owner。权利所有人可以实现数字内容分发的完全控制。内容分发者是消费者提供内容分发服务的组织,内容分发者可以拥有多个内容装置,内容装置可以将数字内容发送到最终消费者,也可以接收权利所有人上传的数字内容,内容装置提供了内容存储和p2p网路传输能力。数字内容可以包括文学作品,文本,视频,音频,动漫,游戏,应用软件,图片和flash等等。需要说明的是:这里只是列举了几类常见数字内容作品形式,并不是限制这几类作品形式。在本发明中,数字内容的权利(right)包括版权(copyright)。版权拥有的权利是由法律规定的,而各国法律规定的权利可能会有不同。通常来说,版权拥有的权利包括发表权、署名权、修改权、保护作品完整权、复制权、出行权、出租权、展览权、表演权、放映权、广播权、信息网络传播权、改编权和翻译权等等。通过登记版权时对版权的声明,可以明确数字内容权利的归属和范围。版权声明通常包括版权所有人的身份信息、数字内容标识、对于版权权利的说明、创作者的身份信息和版权所有人的资产地址。版权声明还可以包括版权所有人的签名。版权声明还可以包含数字内容的基本信息,作品的权利状况说明。其中,创作者的身份信息可以是创作者的个人简介。数字内容的基本信息包括了数字内容概述或者评价。数字内容的权利状况说明包括了权利取得方式、权利拥有状况及其说明等。数字内容使用许可证包含版权所有人对消费者或者内容分发者进行内容使用或者发送操作的权利规则、被授权对象的资产地址、数字内容的解密密钥和授权的数字内容标识。在本发明中,数字内容使用许可证(license),可以简称为许可证。通常情况下,将版权所有人对消费者或者内容分发者进行内容使用或者发送操作的权利规则也可以被称为许可信息。具体来说,许可信息包含许可证等信息,具体来说,许可信息可以包含许可证允许执行的操作,许可证对操作的约束和许可证发送约束。通常情况下,被授权对象资产地址也可以称为许可证资产地址。许可信息可以包括如下内容:a.允许执行的操作类型,例如播放、显示、运行、打印或者导出等。b.对内容操作的约束,例如允许操作的次数、允许操作的时间或者允许内容操作的地理位置等。c.许可证发送约束,其规定了本许可证是否允许发送给其他人(消费者/其他内容分发者),可以包括如下发送约束:发送次数、发送开始结束时间或发送时长等。颁发给终端消费者的许可证,一般设置为不可发送(例如把发送次数设置为0)。产品包含了一个或多个数字内容标识、价格和许可证的定义。版权所有人根据商业需要,针对不同的受众和地理位置,发布不同的产品,用于适配消费者和内容分发者的需求。许可证可以继承产品中有关许可证的定义,也就是说,发送给消费者的许可证的限定是来自于产品中许可证的定义的限定。资产为版权所有人、内容分发者和消费者对数字内容的版权、许可证和产品的所有权或使用权。资产包括版权、许可证和产品三种类型。内容文件分发包含内容文件上传和内容文件下载两个过程。内容文件上传是指内容文件由上传客户端发送到内容装置的过程。内容文件上传后,内容装置将保存上传信息。上传信息包含的内容将在后面实施例中的808部分中进行详细介绍。进一步地,该上传信息将写入到区块链处理装置的区块链中。内容文件下载是指将内容文件从内容装置发送到消费者的下载客户端的过程。消费者在下载内容文件前,必须要先获取到该内容文件的上传信息和关联的数字内容使用许可证。消费者下载内容文件后,内容装置将保存下载信息,该下载信息包含的内容将在后续实施例中的1010部分中详细介绍。进一步地,该下载信息将加入到区块链处理装置的区块链中。区块链技术是去中心化且寓于分布式结构的数据存储、传输和证明的方法。用数据区块(block)取代了目前互联网对中心服务器的依赖,使得所有数据变更或者交易项目都记录在一个云系统之上,理论上实现了数据传输中对数据的自我证明。在本发明实施例中,区块链将存储在全网中所有的区块链处理装置中。在本发明实施例中存在多种版权管理或者内容分发的过程,例如:内容文件的上传和下载,许可证颁发等等。本发明实施例中,将记录这些版权管理过程或者内容分发过程的数据称为版权管理事务,可以简称为事务。版权管理事务可以分为版权事务,产品事务和许可证事务、上传事务和下载事务。事务包括版本号,事务类型,输入内容和输出内容。其中,版本号表示承载该事务的数据结构的版本,输入内容包括了表示事务所承载的资产输入来源,具体包括:当前承载资产的版权管理事务的事务标识,该资产在版权管理事务中的索引和资产所有人的签名。需要说明的是:承载资产的事务指的是当前承载该资产的事务。比如:如果是版权登记时,由于当前版权还没有登记,所以当下没有承载该资产的事务,因此此时该输入内容为空。如果是版权转移时,此时承载该资产的事务为版权转移前的版权所在的事务的事务标识,当然,由于版权转移还没有完成,此时还没有版权转移后的版权所在的事务的事务标识。输出内容包含输出对象资产地址和资产数据。事务标识可以是根据某一hash算法对事务中的包含的数据进行运算后得到的hash值。hash算法可以有多种,例如:安全哈希算法(securehashalgorithm,简称,sha1)和信息-摘要算法5(message-digestalgorithm5,简称,md5)。需要说明的是,虽然hash算法有很多,但是相同数据在不同网元上的进行的运算,必须保证所使用hash算法是相同的。outputindex表示了该资产在其所在事务的索引,方便在事务中查找该资产,outputindex可以为空,为了方便描述,后续实施例中,当出现了事务标识和资产在其所在事务的索引,有些地方被简化为事务标识。事务中的输入内容或者输出内容可以有多个,例如:对于本发明实施例的许可证事务有两个输入内容,第一输入内容为版权事务标识或者产品事务标识,第二输入内容为上传事务标识。由于事务类型的不同,输入内容中包含的当前承载资产的版权管理事务的事务标识是不同的。该资产在版权管理事务中的索引和资产所有人的私钥签名具体的内容也是不同的。输出内容包括了表示资产输出的所有人的资产地址和资产数据。其中,资产输出的所有人具体可以为内容文件上传后的所有人或者提供内容文件下载服务的内容分发者,资产数据表示了事务所承载的资产,根据事务类型有不同的资产数据类型定义,包括许可证资产、上传信息和下载信息。事务的数据结构可以有很多种形式。比如事务可以采取表格,文件或某种特定的数据结构,如图1和图2的数据结构。图1的数据结构中一个事务包含了事务版本号,事务类型,输入内容(input)和输出内容(output),如上传事务或者下载事务。图2的数据结构中一个事务包含了事务版本号,事务类型,2个input和1个output,如许可证事务。如图3所示,通常情况下,一个数字内容可以有一个版权,在一个版权的基础上可以派生出多个内容上传文件,代表数字内容的多种格式或制式(例如一个视频内容版权可以分别上传标清、高清、超高清分辨率的内容文件)。这里可以将版权作为内容上传的父资产。许可证可以由一个版权和多个内容上传派生而来,也即是许可证可以有多个父资产。在一个许可证的基础上可以派生出多个内容下载。在一些情况下,如图4所示,在数字内容的版权生态系统中,还有个产品的概念。此种情况下,一个数字内容可以有一个版权,在一个版权的基础上可以派生出很多个产品和内容上传。这里可以将版权作为产品和内容上传的父资产。许可证也可以由一个产品和多个内容上传派生而来,即许可证可以有多个父资产。在一个许可证的基础上可以派生出多个内容下载。区块链是一个全局公开的版权事务的账本数据结构,包含着若干事务的区块(block)。每个block都包含区块链数据中链接的前一个block标识、生成block时间和版权管理事务,确保block的内容无法被篡改,实现区块链数据存在性证明。由于区块链数据存放在p2p网络,p2p网络中任何一个或多个网络节点瘫痪,都不会导致区块链数据的丢失。这样区块链数据就具有很强的安全性,确保数据的永久保存和不可篡改。block标识可以是利用某一hash算法对该block中包含的内容进行运算而得到的hash值。具体来说,block可以分为头(head)和体(body)。body包含版权管理事务(如bob转给alice某个版权这样的版权转移的过程数据),head包含了该block的关键元数据,通常包括block数据结构的版本号、区块链数据中链接的前一个block标识,本block标识和生成本block时间戳。当一个区块加入到区块链数据中时,全网中所有区块链处理装置存储的区块链都需要添加该区块。区块是按照加入时间顺序一个一个地添加到区块链数据中的。除了区块链数据中第一个区块外的每一个区块都要链接到其前一个区块。这样区块链数据就形成一个区块接着一个区块了。就像一个链条一样,当一个区块被加入到区块链中后,该区块就无法被修改了。在区块链数据中,前一个区块通常被理解为该区块链接的前一个区块。公钥(publickey)与私钥(privatekey)是通过一种加密算法得到的一个密钥对(即一个公钥和一个私钥)。例如:加密算法为李维斯特-萨莫尔-阿德曼(rivest-shamir-adleman,简称rsa)或数字签名算法(digitalsignaturealgorithm,简称dsa)等非对称加密算法。公钥是密钥对中公开的部分,是对外公开的。私钥则是非公开的部分,是不对外公开的,需要由用户个人保存的。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。在本发明实施例中,通常情况下,该公钥和私钥长度是256位(bit)或者以上。公钥可以用于生成资产地址,用于在版权管理过程中标识该版权所有人、许可证接收的对象、产品归属对象(该产品是属于哪个对象的)、内容文件被上传的对象或者内容文件下载的对象。私钥为该版权所有人用于版权资产事务的签署证明,例如:用于对版权所有人、许可证接收者或产品接收者的身份进行认证鉴权。ca是负责颁发和管理数字证书的权威机构,作为受信任的第三方对内容装置的安全性、遵从性等进行认证,承担证书合法性检验的责任。ca公钥与ca私钥,是ca机构通过一种非对称加密算法得到的一个密钥对。其中私钥由ca机构保密存储。ca机构使用ca私钥对分发资格证书进行签名并颁发给内容分发者。版权所有人或者任何第三方使用ca公钥对签名进行验证,验证通过才能说明分发资格证书是由对应ca机构颁发的。分发资格证书及分发资格私钥,分发资格证书包含内容装置的公钥、分发服务方信息(名称、标识、联系方式等)、分发服务能力信息(安全级别、处理能力等)、ca私钥的签名。内容装置的公钥与分发资格私钥是内容分发者通过一种非对称加密算法得到的一个密钥对。资产地址指的是由公钥经过一定运算产生的结果。资产地址与公钥是一一对应,资产地址可以是公钥、公钥的hash值或者包含公钥与操作指令的一段脚本等。例如:资产地址为的形式可以为:公钥+空格+op_checksig。op_checksig表示进行签名验证操作。这段脚本指示相关设备通过公钥和op_checksig操作对input中的签名进行验证。资产地址可以用于标识一个版权所有人标识、标识接收许可证的组织或个人,标识接收产品的组织或个人,或者标识内容装置。具体来说,版权所有人的资产地址可以是版权所有人的公钥自身,也可以是根据一个hash算法,对版权所有人的公钥进行hash运算生成的公钥hash值,还可以是包含公钥的一段脚本等多种形式。数字内容标识可以是根据某个hash算法,对数字内容文件与版权所有人的资产地址进行运算得到的数字内容hash值,只要能够确保在p2p网络中数字内容标识代表了唯一的数字内容,数字内容标识也可以为其它形式。数字内容hash值用于标识数字内容的唯一性,该数字内容标识存储在各个区块链处理装置的区块链、版权管理客户端、上传客户端或者下载客户端。由于版权可能被转移,同一个版权在不同时间内可能被不同版权所有人所拥有。由于不同的版权所有人的资产地址是不同的,因此数字内容标识会随着其版权所有人的不同而变化,或者说,可以通过版权所有人的签名来验证该版权所有人是否拥有该版权。签名可以是用私钥对一段任意数字(例如:数字内容,数字内容标识,许可证等等)进行加密运算的结果。通过公钥可以对签名进行验证,验证通过,则说明被签名的数字内容是由公钥所有者发布的和可信的;否则表示被签名的数据是伪造的和不可信的。p2p网络中参与区块链数据维护的所有节点(在本发明实施例中,节点又可以称为区块链处理装置),对区块链中的block需要满足一致性的公信力约束和证明规则。区块创建的节点具有创建该block的权利,任意节点均可通过公信力约束和证明规则,对区块是否满足共识约束进行检验。共识约束使得任何人或者组织都只需要检验一个区块是否满足该共识约束,从而验证一个区块是否可信,而不需要信任一个组织。共识约束的种类有很多,包括工作量证明(proofofwork,简称,pow)、股权证明(proofofstake,pos)和木筏(raft)算法等共识机制。例如,pow的约束内容包括:节点需要找到一个随机数(nonce),这个随机数要使得该block的随机散列值出现了比特币算法所需的前n位0的数目。节点通过反复尝试来找到这个随机数,找到就具备了创建一个block的权利。其它节点通过检验该block是否满足pow共识约束,满足了就确认该block是经过节点诚实的劳动而获得的,从而信任并接纳该block,实现网络所有节点都对一个区块达成一致,这样该block就可以正式生成了。本发明实施例为数字内容消费开发者提供软件开发工具包(softwaredevelopmentkit,简称:sdk),提供数字版权区块链的应用程序编程接口(applicationprogramminginterface,简称:api)接口,内容消费终端应用通过api获得许可证,根据许可证对内容进行使用。提供版权管理软件,提供给版权所有人、内容分发者和其它监督查询机构,作为版权管理服务客户端,提供版权登记、产品创建、许可证管理服务和内容上传接入界面。如图5所示,为本发明实施例提供的基于p2p网络的一种分发数字内容的系统的框架图。该系统包括:区块链处理装置501、许可证处理装置503、内容事务处理装置508和内容装置510。该系统还可包括版权管理客户端504、上传客户端509和下载客户端511。该系统中可能涉及到四类角色,包括版权所有人505、内容分发者506和消费者507。许可证处理装置503和内容事务处理装置508分别与区域链处理装置501相连接。版权所有人505通过版权管理客户端504或者上传客户端509连接登陆到分发数字内容的系统中。消费者507通过下载客户端508连接登陆到数字内容分发的系统。内容分发者506通过内容装置510连接到数字内容分发的系统。版权管理客户端504、上传客户端509和下载客户端511可以以应用软件(application,app)或者sdk的方式提供。app可以是一个完整的版权管理的软件,直接与内容事务处理装置或者许可证处理装置等交互。sdk的方式可以集成在第三方软件上,通过和第三方软件共同提供丰富的功能。版权管理客户端504、上传客户端509和下载客户端511可以是同一个app的不同功能模块,也可以是不同的app,它们可以安装在同一个终端设备,也可以安装在不同的终端设备。终端设备可以为智能手机,智能手表,平板电脑或者普通计算机设备等。版权管理客户端504可以与许可处理装置503相连接。上传客户端509或者下载客户端511可以与内容事务处理装置508或者内容装置510相连接。区块链处理装置501可以是组成的p2p网络上的任意可信节点,也可以是完全开放的p2p网络上的任意节点。区块链处理装置501可以装载在通用计算设备上,每个计算设备称为一个peer。例如:通用计算设备可以为普通计算机或便携计算机等。另外,如果许可证处理装置503或者内容事务处理装置508与区块链处理装置501是集成在一个设备上的,则该集成的设备就是上述的peer,并且此时可以称这个装置为区块链装置。也就是说,在本发明实施例中,区块链装置包含了区块链处理装置501、许可证处理装置503和内容事务处理装置508的功能。在这种情况下,下面各个流程中关于区块链处理装置501和和许可证处理装置503之间或者的区块链处理装置501和内容事务处理装置508之间交互流程可以看做区块链装置内部模块之间的交互流程。为了描述的方便,在一些本发明实施例中可能没有将区块链装置内部模块之间的交互流程描述出来。区块链处理装置501在接收到来自许可证处理装置503或者内容事务处理装置508发送的版权管理事务后,保存所述版权管理事务。比如:区块链处理装置501用于广播校验成功的事务和block,通过共识机制把事务打包成为block,链接到全局区块链中以及广播到网络中所有peer。区块链处理装置501还用于区块链完整性校验。区块链完整性校验包括检验以下内容:该block是否指向前一个block、该block生成的时间戳是否正确,该block是否满足共识约束,该block打包的事务的merkle树是否与事务中包含数据匹配等。校验过程:新的block中包含的前一个block的hash值是否存在、该blockbody包含的事务使用merkle树计算得到的hash值与blockhead包含的hash值是否匹配,block是否符合共识约束。例如,共识约束为工作量证明机制时,blockhead的hash值是否满足block所要求的工作量证明、block生成时间戳和当前时间偏差不大于某个值,以及必须迟于前一个block的时间。区块链处理装置501还用于在本地存储区块链数据。数据存储的方式有多种,比如存储到数据库中,或者以文件的方式进行存储。许可证处理装置503用于接收版权所有人的版权管理客户端504的许可证颁发请求,并进行许可证事务校验。校验成功后向消费者颁发许可证。许可证事务的input可以包含上传事务标识。消费者根据input信息找到上传事务后,即可向上传事务中记录的内容装置510请求下载内容。另外许可证中携带数字内容的密钥,消费者使用这个密钥来解密数字内容。内容事务处理装置508用于接收上传客户端509和下载客户端511的上传事务请求或者下载事务请求,并对请求进行校验,校验成功后生成上传事务或下载事务,并提交事务到区块链处理装置501中。上传客户端509是上传内容的客户端,上传客户端509与内容事务处理装置508或者内容装置510等交互。具体来说:上传客户端509生成加密密钥并对内容文件进行加密,并管理加密密钥,上传客户端509对内容装置510的分发资格进行认证和授权,认证授权通过后把内容文件通过p2p下载协议传输到内容装置510,容上传客户端509还可以提供创建上传事务的api,携带必要的参数,与内容事务处理装置508交互。内容装置510在提供内容分发服务前需要由内容分发者申请分发资格证书。证书申请的典型过程举例说明如下:软件开发商生成一个未签名的分发资格证书及其私钥。ca机构对该内容装置的功能兼容性、可靠性和安全性等进行验证。验证通过后使用ca私钥对分发资格证书进行签名并颁发给该软件开发商。软件开发商把内容装置销售给内容分发者。内容分发者生成一个新的未签名的分发资格证书及其私钥。软件开发商使用他的分发资格私钥对内容分发者的分发资格证书进行签名并颁发给内容分发者。内容分发者把签名后的分发资格证书及私钥、软件开发商的分发资格证书存储到内容装置510中。其中ca证书、软件开发商的分发资格证书和内容分发者的分发资格证书组成了一条证书链,这里我们称之为分发资格证书链。版权所有人从ca机构下载ca证书,并存储到上传客户端509。上传客户端509可以存储多个不同ca机构的ca证书。上传客户端509对内容装置510请求的分发资格证书链进行认证。认证过程为:使用配置的ca证书中的公钥对软件开发商的分发资格证书的签名进行验证,验证失败则认证失败。再使用软件开发商的分发资格证书的公钥对内容分发者的分发资格证书的签名进行验证,验证成功则认证通过,否则认证失败。下载客户端511是下载内容的客户端,下载客户端511与内容事务处理装置508或者内容装置510等交互。具体来说,下载客户端511与内容事务处理装置508交互获取上传事务信息,并根据上传信息查找并连接到内容装置的ip地址,然后通过p2p下载协议从内容装置510下载内容文件。图6为本发明实施例提供的区块链处理装置的网络架构。在p2p网络中,多个区块链处理装置501之间是互相连接的。也就是说,每个区块链处理装置510都可连接到互联网上,从而实现所有的区块链处理装置之间的相互连接。如上所述,版权受理装置502、许可处理装置503和内容事务处理装置508可以分别独立于区块链处理装置501。此时,版权受理装置502、许可处理装置503和内容事务处理装置508在配置上分别一一对应于区块链处理装置501。另外,版权受理装置502、许可处理装置503和内容事务处理装置508(全部或部分)也可以是区块链处理装置501的一部分。图7-1所示为本发明实施例提供的计算机设备示意图。计算机设备700包括至少一个处理器701,通信总线702,存储器703以及至少一个通信接口704。本发明实施例中的区块链处理装置501可以是一个安装在计算机设备700中的软件,由处理器710执行储存在存储器703中的程序代码以实现如前所述的功能。版权管理客户端504、上传客户端509、下载客户端511、内容事务处理装置508,许可证处理装置503和内容装置均可以类似地以图7-1中的计算机设备(或系统)的方式来实现,即由处理器执行储存在存储器中的程序代码以实现相应的功能。另外,区块链装置501,内容事务处理装置508,许可证处理装置503和内容装置510可以安装在同一台图7-1所示的计算机设备或安装在不同的计算机设备中。版权管理客户端504、上传客户端509和下载客户端511也可以安装在同一台图7-1所示的计算机设备或安装在不同的计算机设备中。处理器701可以是一个通用中央处理器(cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。在具体实现中,作为一种实施例,计算机设备700可以包括多个处理器,例如图7-1中的处理器701和处理器708。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。处理器701或708可以包括一个或多个cpu,例如图7-1中的cpu0和cpu1。通信总线702可包括一通路,在上述组件之间传送信息。所述通信接口704,用于与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wirelesslocalareanetworks,wlan)等。存储器703可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。在具体实现中,作为一种实施例,计算机设备700还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备706和处理器701通信,可以以多种方式接受用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。上述的计算机设备700可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备700可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图7-1中类似结构的设备。本发明实施例不限定计算机设备700的类型。如图5或图6中的内容装置、许可证处理装置、内容事务处理装置或者区块链处理装置可以为图7-1所示的设备的存储器中存储了一个或多个软件模块。类似地,上传客户端、版权管理客户端以及内容下载客户端可以是安装在计算机设备中的软件。通常安装这些客户端的计算机设备可以通过internet与安装内容事务处理装置、内容装置和区块链处理装置的计算机设备交互,实现数字内容的上传和数字内容下载的功能。安装这些客户端的计算机设备也可以通过internet与安装许可证处理装置和区块链处理装置的计算机设备交互,实现数字内容的上传和数字内容下载的功能。如图7-2所示,为这些客户端的计算机设备的示意图。在具体实现中,客户端的计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等。本发明实施例不作限定。当版权所有人已经对数字内容的版权进行登记后,网络中的各个区块链处理装置已经记载了该数字内容的版权时,版权所有人还可以将数字内容上传到内容装置上,消费者可以从内容装置下载该数字内容。下面将基于上面所述的本发明涉及的共性方面,对本发明实施例中版权所有人利用区块链技术实现了对内容分发过程的控制方法进一步详细说明。本发明实施例提供的一种基于区块链技术的分发数字内容的方法,该方法的实现过程包括了(1)数字内容上传过程,(2)许可证颁发过程和(3)数字内容下载过程这三个子过程。需要说明的是,这三个子过程是相互独立的,且执行过程可以不连续。数字内容上传过程中,上传客户端首先向网络中多个内容装置广播上传内容请求。内容装置接收到广播上传内容请求,会根据自身情况,确定是否能够处理该广播上传内容请求。如果可以的话,向上传客户端发送授权请求。上传客户端接收到该授权请求,对该内容装置进行验证。如果验证通过,则将内容文件上传到该内容装置中。当内容文件上传完成后,上传客户端向内容事务处理装置发送上传事务请求。内容事务处理装置对该上传事务请求进行校验。校验通过后,则生成上传事务,并将上传事务保存到区块链处理装置中。该过程更加详细的描述参加图8对应的实施例。许可证颁发过程中,版权所有人通过版权管理客户端生成许可证颁发请求,并将该许可证颁发请求发送给许可证处理装置。许可证处理装置对该许可证颁发请求包含的信息进行校验。比如:版权事务标识或者产品事务标识的校验,许可证事务标识的校验等等。在校验通过后,生成许可证事务。该许可证事务包含了两个输入和一个输出。两个输入分别为版权事务标识或者产品事务标识,以及上传事务标识。输出为被许可人的资产地址和许可信息等其它信息。然后许可证处理装置将该许可证事务存储在区块链处理装置存储的区块链中。该过程更加详细的描述参加图9对应的实施例。数字内容下载过程中,消费者通过下载客户端向内容事务处理装置发送获取请求。内容事务处理装置根据获取请求包含的上传事务标识,从区块链处理装置获取上传信息,然后将上传信息发送给下载客户端。下载客户端可以根据上传信息中包含的内容装置的ip地址,从该内容装置下载相应数字内容文件。数字内容文件下载成功后,下载客户端向事务处理装置发送下载事务请求。内容事务处理装置进行校验后,生产下载事务,并将下载事务存储在对应的区块链处理装置存储的区块链中。该过程更加详细的描述参加图10对应的实施例。下面继续对上述的三个过程进行详细介绍。1.数字内容上传过程数字内容上传过程的一个实施例如图8-1所示。内容上传过程包括:在801部分,上传客户端接收版权所有人输入上传内容命令和上传内容的相关信息。其中上传内容的相关信息可以包括待上传内容的版权事务标识、上传方式和待上传的内容文件。上传方式包括文件方式或者媒体流方式。当上传方式为文件方式时,待上传的内容文件只能为一个;当上传方式为媒体流时,待上传的内容文件可以为多个,这些内容文件可以为同一个数字内容的不同质量的版本,例如:对视频媒体内容来说,不同的分辨率或者码率的数字内容文件。上传内容的相关信息还可以包括内容分块的最大长度、内容装置授权的最大分块数、存储该内容文件的内容装置的最大数量、内容加密密钥数量和发送的分片大小。其中,通常情况下,一个内容文件可以被分成多个个内容分块,每个内容分块可以被分别上传到不同或者相同的内容装置中,这样可以实现对数字内容上传的并行处理,缩短了内容文件上传的时间。当上传方式为文件方式时,分块的长度的单位为字节,按固定字节大小对内容文件进行分块。比如:一个500megabytes(m)的视频,每100m分成一个分块,这样这个视频就可以被划分成5个分块。这里的内容分块的最大长度为100m。上传方式为媒体流方式时,分块长度的单位为时间单位(比如:秒,分钟),按分块时长对内容文件进行分块。比如:1个50分钟的视频,每10分钟分成1个分块,这样这个视频就可以被划分成5个分块,这里的内容分块的最大长度为10分钟或者600秒。如果上传内容的相关信息没有包含该内容分块的最大长度或者内容分块的最大长度为0时,则表示内容文件不分块,该内容文件将被整体上传到内容装置。内容装置授权的最大分块数指的是一个内容装置可以最多存储最大分块数,比如:内容装置授权的最大分块数为2,就是不管这个内容文件被划分成多少分块,每个内容装置最多只能存储该内容文件的2个分块。存储该内容文件的内容装置的最大数量指的是存储内容文件的内容装置的数量的最大值,比如:存储该内容文件的内容装置的最大数量为20,就是不管这个内容文件被划分成多少分块,该内容文件最多只能在20个内容装置进行存储。存储内容文件的内容装置的最大数量可以被设置一个默认值,也可以根据版权所有人进行任意调整。内容加密密钥数量指的是可以为内容分开加密的密钥数量,如果上传内容的相关信息没有包含该内容加密密钥数量或者内容加密密钥数量为时,则表示内容加密密钥数量为1。发送的分片大小指的是通过p2p下载协议发送内容时,内容装置之间传输内容分片的大小,如果没有给出给值,则发送的分片大小是默认值。一个数字内容文件可以被分成多个分块,一个内容分发者只能获得其中的部分分块,这样即使内容分发者出现不诚实行为或被攻击,能进一步加强数字内容的安全性。另外版权所有人可以使用多个不同的密钥对不同内容分片分别进行加密,增加内容的安全性。上传客户端可以提供类似一个界面给版权所有人,版权所有人根据界面上的输入框的提示填入相应信息,界面可以如图8-2所示。在802部分,上传客户端校验上传内容的相关信息是否完整,以及校验内容是否可以被上传。上传客户端校验上传内容的相关信息是否完整指的是确定待上传内容的版权事务标识、上传方式和待上传的内容文件是否完整。上传客户端校验内容是否可以被上传的过程包括:1)如果内容分块长度等于0,即表示该内容文件整体被上传,如果满足(要上传的内容文件数)<=(内容装置授权的最大分块数*存储该内容文件的内容装置的最大数量),则校验通过,否则校验失败。例如:在文件方式进行上传内容文件时,此时该要上传的内容文件数为1,内容装置授权的最大分块数为2,存储该内容文件的内容装置的最大数量为4,则1<2*4,此时该校验通过。2)如果内容分块长度大于0,即表示该内容文件被分成几块被上传,如果满足(要上传的内容文件数*内容文件长度/内容分块长度)<=(分发者授权的最大分块数*内容装置的名额),则校验通过,否则校验失败。例如:在文件方式进行上传内容文件时,此时该要上传的内容文件数为1,容分块长度为10,内容装置授权的最大分块数为2,存储该内容文件的内容装置的最大数量为4,则10>2*4,此时该校验失败。继续802部分,当校验内容可以被上传后,上传客户端按照内容分块的最大长度对内容文件划分为n个内容分块,并利用随机的对称加密算法为该内容文件进行运算产生密钥和密钥索引,该密钥的数量为内容加密密钥数量,可以用密钥索引列表来保存密钥和密钥索引的对应关系,如图1所示。上传客户端还可以利用密钥对内容文件或者内容分块进行加密。版权事务标识密钥密钥索引abc123456789密钥1密钥索引1abc123456789密钥2密钥索引2abc123456789密钥3密钥索引3abc123456789…………表1上传客户端利用某一hash算法,对该内容文件的每个内容分块分别进行hash运算,获得每个内容分块的hash值,该内容分块hash值可以唯一标识该内容分块,通常来说,可以用内容分块hash值作为内容分块的标识。上传客户端可以采用随机或轮询的方式使用前面产生的密钥对每个内容分块进行加密。上传客户端保存内容分块的标识及加密的密钥索引的对应关系。例如,可以通过分块密钥列表的形式来保存内容分块的标识和加密密钥的对应关系,对于文件方式而言,只有一个数字内容标识,因此可以没有数字内容标识这一列。如表2所示。版权事务标识数字内容标识内容分块的标识密钥索引abc123456789数字内容标识1内容分块的标识1密钥索引1abc123456789数字内容标识1内容分块的标识2密钥索引2abc123456789数字内容标识2内容分块的标识3密钥索引3abc123456789…………表2在803部分,上传客户端生成上传内容请求,该上传内容请求包含上传方式、数字内容标识和上传客户端的ip地址。在版权登记成功后,上传客户端会保存版权管理事务标识和数字内容标识的关系,因此上传客户端通过版权管理事务标识,可以获得数字内容标识。当然,上传客户端也可以通过版权事务标识从区块链处理装置存储的区块链中,查询获取版权事务标识对应的数字内容标识。上传内容请求还可以包括内容装置授权的最大分块数、存储该内容文件的内容装置的最大数量、内容分块的最大长度或者转发的最大次数的一个或多个。如果该上传客户端第一次连接到网络中,该上传客户端可以首先连接到网络中固定或者预制的连接装置,该连接装置与网络中的多个内容装置相连接,该连接装置可以获知当前在线的与自身相连接的内容装置的ip地址,然后将这些内容装置的ip地址发送给上传客户端,上传客户端存储这些内容装置的ip地址,并且根据这些内容装置的ip地址,分别向各个内容装置发送上传内容请求。另外,每个内容装置还与多个内容装置相连接,当该内容装置接收到该上传内容请求,将继续转发该上传内容请求至与其相连接的其它内容装置中。例如多个内容装置有a,b,c,d,e,f,g。那么上传客户端将上传内容请求发送给多个内容装置的过程可能为:上传客户端将上传内容请求发送给内容装置a,然后内容装置a再将该上传内容请求发送给内容装置b,然后内容装置b再将该上传内容请求发送给内容装置c、g和h,内容装置c再将该上传内容请求发送给内容装置d、e和f。进一步地可选的,如果p2p网络包含的内容装置数量太多,而需要存储该内容文件的内容装置数量是有限的,为了能够使得该上传内容请求不至于发到所有的内容装置,可以在上传内容请求设置转发的最大次数,比如:转发的最大次数为3,也就是说,该上传内容请求被3个内容装置转发后,就不被继续被转发下去了。由于上传内容请求可能被发送到多个内容装置,而每个内容装置接收到该上述上传内容请求后,处理的流程是相同的,因此下面介绍一个内容装置的处理流程。在804部分,内容装置根据上传内容请求,生成授权请求,并根据上传客户端的ip地址将该授权请求发送到上传客户端。授权请求包含内容装置的ip地址、分发资格证书、分发资格私钥签名和数字内容标识。如果内容装置接收的上传内容请求还包含了内容装置授权的最大分块数、存储该内容文件的内容装置的最大数量和内容分块的最大长度。该内容装置根据自身的带宽性能或者自身存储空间、以及内容装置授权的最大分块数、存储该内容文件的内容装置的最大数量和内容分块的最大长度,确定是否能够处理该上传内容请求,如果不能处理该上传内容请求,该内容装置将不向该上传客户端发送上传内容请求。当上传内容请求没有包含了内容装置授权的最大分块数、存储该内容文件的内容装置的最大数量或者内容分块的最大长度,该内容装置根据自身的带宽性能或者自身的存储空间,确定是否能够处理该上传内容请求,如果不能处理该上传内容请求,该内容装置将不向该上传客户端发送授权请求。比如:该内容装置的带宽足够大,并且存储空间足够大,则内容装置确定能够处理该上传内容请求。分发资格证书包含内容装置的公钥和ca私钥的签名。分发资格证书是由ca机构颁发的,表示该内容装置是经过认证的,分发资格证书包含了内容装置的公钥和ca私钥签名,其中,内容装置的公钥可以标识该分发资格证书,ca私钥签名用来验证分发资格证书是合法的。分发资格私钥签名是用来证明发送这个分发资格证书的内容装置是该分发资格证书实际拥有者。在805部分,上传客户端接收了该授权请求,并对该授权请求进行校验。校验的过程包括:1)如果上传客户端已授权的授权请求数量已大于等于存储该内容文件的内容装置的最大数量,则校验失败。上传客户端每次授权内容装置发送的内容发送请求,都将记录将被上传的内容分块的标识和内容装置ip地址的对应关系,如表3所示。表32)使用从ca机构中获得的ca公钥对分发资格证书的ca私钥签名进行验证,如果验证不通过,则校验失败,如果验证通过,则说明该分发资格证书是真实的和合法的。3)使用内容装置的公钥对分发资格私钥签名进行验证,如果验证不通过,则校验失败,如果验证通过,则说明该内容装置是真实的和合法的。4)如果内容装置ip地址重复申请了本数字内容标识的内容发送授权,则校验失败。在805部分,上传客户端根据校验结果,生成授权响应,该授权响应包含授权结果,如果授权成功的话,该授权响应还可以包括授权发送的内容分块的标识。上传客户端根据内容文件的总内容分块数、每个内容装置可授权的最大分块数、存储该内容文件的内容装置的最大数量,再根据现有的均衡分配算法,将某个内容分块上传到某个内容装置,同时上传客户端可以保存内容分块的标识和内容装置ip地址之间的对应关系。例如:如表2所示。在806部分,上传客户端根据保存的内容分块的标识和内容装置的ip地址,分别向不同的内容装置上传对应的内容分块,上传的过程同现有的p2p上传文件的过程,现有的p2p上传内容文件的当时可以为bt方式或者电驴(edonkey)等。如上传方式为媒体流方式,则继续807部分,当内容文件上传完成时,上传客户端为每个内容文件生成媒体流播放列表文件,并且对媒体流播放列表文件进行加密,加密的密钥可以为802中生成的密钥。上传客户端会保存媒体流播放列表文件的标识和密钥索引的关系,该关系可以为文件密钥列表,播放列表文件的标识可以是根据某一hash算法对播放列表文件进行运算得到的hash值,如表4所示,版权事务标识播放列表文件的标识密钥索引abc123456789播放列表文件的标识1密钥索引1abc123456789播放列表文件的标识2密钥索引2abc123456789播放列表文件的标识3密钥索引3abc123456789…………表4上传客户端生成播放列表消息,并将播放列表消息发送给所有已授权的内容装置。内容装置存储了该播放列表消息该媒体流播放列表文件包含了内容分块的信息,如果有n个内容分块,就会有n条内容分块的信息,每条内容分块的信息可以包括内容分块的标识,内容分块的长度、内容分块的加密密钥标识和存储该内容分块的内容装置的公钥。例如:媒体流播放列表文件可以如图5所示的列表,当然,其它的形式也是可以的。内容分块的标识内容分块的长度密钥索引内容装置的公钥内容分块的标识1内容分块的长度1密钥索引1内容装置的公钥1内容分块的标识2内容分块的长度2密钥索引2内容装置的公钥2内容分块的标识3内容分块的长度3密钥索引3内容装置的公钥3……………………表5该播放列表消息可以包括版权事务标识、播放列表文件的标识和媒体流播放列表文件,由于媒体流方式上传时,可能会上传多个内容文件,因此可能会存在多个播放列表文件,每一个播放列表文件的标识可以代表一个播放列表文件。例如,对于上传方式为媒体流方式时,可以通过内容分块的密钥列表的形式来保存内容分块的标识和密钥索引的对应关系,如表2所示。对于文件上传方式,当内容文件(所有的内容分块)上传完成后,则继续执行808部分,或者对于媒体流方式,当本次上传任务对应的多个内容文件都上传完成后,则继续执行808部分。在808部分,上传客户端生成上传事务请求,并将上传事务请求发送给内容事务处理装置。上传事务请求包含上传信息,该上传信息可以包括版权事务标识、版权所有人私钥的签名、上传客户端的资产地址、数字内容标识、上传方式和内容装置信息列表。版权事务指的是承载该数字内容对应版权的版权事务。版权所有人私钥的签名是由上传客户端利用版权所有人的私钥对除自身之外的上传信息进行运算所得。内容装置信息列表包含了1条或多条内容装置信息,对于上传方式为文件方式而言,每条内容装置信息包含了含内容装置公钥、授权发送的内容分块的标识列表和内容装置的ip地址。对于上传方式为媒体流方式,每条内容装置信息包含了媒体流播放列表文件、以及带宽要求和播放列表文件的标识的两者对应关系。比如:如果播放列表文件的标识对应为标清的视频,则对应带宽要求为低,如果如果播放列表文件的标识对应为高清的视频,则对应带宽要求为高。上传信息还可以包含内容文件大小和每个内容分块的长度。上传信息也可以包含发送的分片大小。上传客户端为该内容上传任务产生一对随机的非对称加密算法的公钥和私钥,这里可以称为内容上传公钥和内容上传私钥。上传客户端可以保存存储内容上传私钥,用于在网络上对内容上传所有人身份进行验证。在809部分,内容事务处理装置接收了该上传事务请求,并对该上传信息进行校验。确认上传信息是有效的,则根据上传事务请求,生成上传事务,将上传事务中包含的输入内容的当前承载资产事务的事务标识和资产所有人的签名分别设置为版权事务标识和版权所有人私钥的签名,输出内容的资产地址设置为上传客户端的资产地址,输出内容的资产数据为除版权事务标识、版权所有人私钥的签名和上传客户端的资产地址之外的上传信息。并将该上传事务发送给该内容事务处理装置对应的区块链处理装置。对该上传信息进行校验的方法如下:内容事务处理装置到其对应的区块链处理装置存储的区块链中获取版权事务标识对应的版权事务,如果获取不到,则校验失败,该上传信息是无效的。接着,内容事务处理装置用该输出内容包含的资产地址对版权所有人私钥的签名进行签名验证。每一个区块链处理装置都会保存每个版权事务标识、版权事务的输入内容,版权事务的输出内容及其三者对应关系,根据版权事务标识,可以查询到该事务的输出内容,由于输出内容包含了版权所有人的资产地址,因此可以利用上述版权所有人的资产地址对版权所有人私钥的签名进行签名验证。签名验证方法:具体参考rsa和dsa等非对称算法的签名验证方法,rsa签名签证方法为用公钥对签名进行解密,解密结果跟被签名的内容进行比较,如果两者一致则说明签名验证通过。如果验证不通过,则校验失败。最后,内容事务处理装置检查上传信息数据中的数字内容标识是否为版权事务对应的数字内容标识的子集,如果不是,则校验失败。如果校验失败,则返回失败的上传响应给上传客户端。在810部分,内容事务处理装置向其对应的区块链处理装置发送上传事务,将上传事务存储在区块链中,存储的过程同现有技术中事务存储到区块链中的过程相同,这里不予赘述。在811部分,区块链处理装置返回上传响应给内容事务处理装置,响应消息包含上传事务标识和数字内容标识;上传事务标识是由区块链处理装置存储上传事务生成的。在812部分,内容事务处理装置将向上传客户端发送上传响应。在813部分,上传客户端保存上传事务标识和数字内容标识之间的关系,并向所有已授权成功的内容装置发送上传事务消息。该消息包含:上传事务标识和数字内容标识。通过上述过程,实现了在互联网上的内容上传的在线处理过程,将上传信息通过上传事务加入到区块链中,并通过版权所有人的版权私钥签名校验,确保该上传信息的不可伪造、不可篡改和可信的。根据上传事务信息找到内容发送服务资产地址进行内容下载,通过区块链的p2p网络可以方便、可靠的发布和查询上传事务,无需中心化的web网站进行发送。内容装置需要通过ca认证、版权所有人可对内容装置鉴权认证和授权,实现了版权所有人对内容上传过程的控制。版权所有人新增产品和上传内容后,可以通过第三方网站(例如版权运营系统)发布产品信息及产品关联的上传事务。消费者通过该网站购买相应的产品,并把接收许可证的目的资产地址提供给版权所有人。版权所有人再根据消费者购买的产品、产品对应的上传事务及目的资产地址颁发许可证。另外版权所有人也可以把新增产品的私钥由受信的第三方网站进行托管,由该网站根据消费者购买的产品自动颁发许可证。消费者在获得许可证后,就可以根据许可证关联的上传事务找到内容装置并下载加密的数字内容文件,并根据版权所有人颁发的许可证使用内容。另外消费者也可以通过在线播放的视频播放技术、通过流媒体传输协议与内容装置交互实现在线使用内容。2.许可证颁发过程如图9所示,下面介绍版权所有人向消费者颁发许可证的过程,具体包括:在901部分,版权管理客户端接收版权所有人输入许可证颁发命令和颁发许可证的相关信息。其中,颁发许可证的相关信息包括选择要颁发许可证的产品事务标识、提供被颁发许可证的对象的资产地址、许可信息和选择许可证可授权使用的内容文件对应的上传事务标识。产品事务指的是承载许可证归属的产品的事务。在902部分,版权管理客户端根据上传事务标识,根据813部分保存的上传事务标识和数字内容标识之间的关系,获得数字内容标识。对于上传方式为文件方式,版权管理客户端根据数字内容标识,获得密钥索引列表和分块密钥列表。对于上传方式为媒体流方式,版权管理客户端根据数字内容标识,获得密钥索引列表、分块密钥列表和文件密钥列表。如果版权管理客户端没有包含版权所有人的签名,版权管理客户端还可以生成上传事务的版权所有人私钥的签名。在903部分,版权管理客户端生成许可证颁发请求,并将许可证颁发请求发送给许可证处理装置。许可证颁发请求包含被颁发许可证的对象的资产地址、产品事务标识、拥有该产品的产品所有人私钥的签名、承载可授权使用的内容文件的上传事务标识、拥有该上传事务的版权所有人私钥的签名、许可信息和数字内容文件解密信息列表。该数字内容文件解密信息列表可以包含1条或者多条文件解密信息,每条文件解密信息对应一条上传信息。文件解密信息可以包括上传事务标识、被许可证公钥加密后的密钥和索引的对应关系,密钥的明文从内容上传流程中的步骤802获取,需要使用许可证私钥解密才能得到明文的密钥。如果上传方式为文件方式,文件解密信息还可以包括内容分块的标识与密钥的索引对应关系;如果上传方式为媒体流方式,文件解密信息还可以包括播放列表文件的标识与密钥索引对应关系。在904部分,许可证处理装置接收了该许可证颁发请求,并对该许可证颁发请求进行校验。如果校验成功后,即许可证颁发请求为有效的,则根据许可证颁发请求生成许可证事务,将许可证事务中第一个输入内容设置为产品事务标识和该产品所有人私钥的签名,第二个输入内容设置为上传事务标识和拥有该上传事务的版权所有人私钥的签名。如果版权所有人选择了多个上传信息,则后续的输入内容依此类推进行设置,输出内容的资产地址被设置为被颁发许可证的对象的资产地址,输出内容的资产数据设置为许可信息和数字内容文件解密信息列表。并将该颁发许可证事务发送给该许可证处理装置对应的区块链处理装置。并对该许可证颁发请求进行校验包括:许可证处理装置到其对应的区块链处理装置存储的区块链中查询是否包含当前承载产品的产品事务的事务标识和上传事务标识,如果有一个或两个不包含则校验失败,如果两个都包含,获取产品事务标识对应的产品事务和上传事务标识对应的上传事务。许可证处理装置用产品事务的输出内容包含的资产地址校验产品所有人私钥的签名是否为有效的,如果校验产品所有人私钥的签名为无效的,则校验失败;以及许可证处理装置用所述上传事务的输出内容包含的资产地址确定拥有上传事务的所有人私钥的签名为有效的,如果校验拥有上传事务的所有人私钥的签名为无效的,则校验失败。如果校验产品所有人私钥的签名和拥有上传事务的所有人私钥的签名都是有效的,则校验成功。许可证处理装置还可以进一步比较产品事务中输出内容的数字内容标识是否等于许可证颁发请求中的数字内容标识,如果不相等则校验失败。如果校验失败,则返回失败的许可证事务响应给许可证处理装置。在905部分,许可证处理装置向其对应的区块链处理装置发送许可证事务.在906部分,区块链处理装置将许可证事务存储在区块链中,存储的过程同现有技术中事务存储到区块链中的过程相同,这里不予赘述。在907部分,区块链处理装置返回许可证颁发响应给许可证处理装置,响应消息包含颁发结果和许可证事务。在908部分,许可证处理装置向版权管理客户端发送许可证颁发响应。版权管理客户端在接收到成功的许可证颁发响应后,版权管理客户端保存所述许可证事务,版权所有人可以把许可证事务直接发送给消费者;也可以只把许可证事务标识发送给消费者,然后由消费者/内容分发者通过版权管理客户端到区块链查询许可证事务信息,获得包含许可信息的许可证事务,下面介绍具体的查询过程:版权管理客户端向许可证处理装置发送许可证查询请求,请求包含如下许可证事务标识。许可证处理装置接收到许可证查询请求后,向对应的区块链处理装置发送查询许可证请求。区块链处理装置接收到该查询许可证请求,并向许可证处理装置发送查询结果,具体查询方法如下:区块链处理装置存储了每个事务的事务标识和输出内容及其关联关系,根据许可证事务标识,可以查询到对应许可证事务的输出内容,通过输出内容包含的许可证所有人的资产地址可以确定该所有人是否拥有该许可证。许可证处理装置接收查询结果,并将查询结果发送给版权管理客户端。如果在分发数字内容的系统中,没有产品这个资产时,此时许可证颁发过程和上面过程类似,不同的地方包括901部分、903部分和904部分。901部分中,颁发许可证的相关信息包括的不是选择要颁发许可证的产品事务标识,而是选择要颁发许可证的版权事务标识。在903部分中,许可证颁发请求包含的不是产品事务标识,而是承载要颁发许可证归属的版权的版权事务标识;许可证颁发请求包含的不是拥有该产品的产品所有人私钥的签名,而是版权所有人私钥的签名。904部分的过程如下:许可证处理装置接收了该许可证颁发请求,并对该许可证颁发请求进行校验,如果校验成功后,则根据许可证颁发请求生成许可证事务,即,将许可证事务中第一个输入内容设置为承载版权的版权事务的版权事务标识和该版权所有人私钥的签名,第二个输入内容设置为上传事务标识和拥有该上传事务的版权所有人私钥的签名,如果版权所有人选择了多个上传信息,则后续的输入内容依此类推进行设置,输出内容的资产地址被设置为被颁发许可证的对象的资产地址,输出内容的资产数据设置为许可信息和数字内容文件解密信息列表。并将该颁发许可证事务发送给该许可证处理装置对应的区块链处理装置。校验的方法如下:许可证处理装置到其对应的区块链处理装置存储的区块链中查询是否包含当前承载许可证归属的版权的版权事务标识和上传事务标识,如果有一个或两个不包含则校验失败,如果两个都包含,获取产品事务标识对应的产品事务和上传事务标识对应的上传事务。许可证处理装置用产品事务的输出内容包含的资产地址校验版权所有人私钥的签名是否为有效的,如果校验版权所有人私钥的签名为无效的,则校验失败;以及许可证处理装置用所述上传事务的输出内容包含的资产地址确定拥有上传事务的所有人私钥的签名为有效的,如果校验拥有上传事务的所有人私钥的签名为无效的,则校验失败。如果校验版权所有人私钥的签名和拥有上传事务的所有人私钥的签名都是有效的,则校验成功。许可证处理装置还可以进一步比较版权事务中输出内容的数字内容标识是否等于许可证颁发请求中的数字内容标识,如果不相等则校验失败。如果校验失败,则返回失败的许可证事务响应给许可证处理装置。通过上述过程,实现了在互联网上的对许可证颁发的在线处理过程,通过将许可证颁发的许可证事务加入到区块链中,确保该许可证颁发的结果的不可篡改和可信的。并且实现了版权所有人对版权颁发的控制。3.数字内容下载过程消费者获得版权所有人颁发的许可证后,可以从许可证事务中获取到上传信息的上传事务标识,根据上传事务标识查找对应的内容装置和内容分块。如图10所示,本发明实施例公开的一种内容下载或者内容在线使用的过程,包括:在1001部分,下载客户端接收消费者输入的下载数字内容文件的命令、许可证事务标识和许可证关联的上传事务标识。在1002部分,下载客户端生成获取请求,下载客户端向内容事务处理装置发送获取请求,该获取请求包含上传事务标识。在1003部分,内容事务处理装置接收该获取请求,并向对应的区块链处理装置发送获取请求。在1004部分,区块链处理装置接收到该获取请求,从区块链中找到该上传事务标识对应的上传事务,并从上传事务获取到获取到上传信息,并向内容事务处理装置发送上传信息。上传信息参见808部分。在1005部分,内容事务处理装置接收上传信息,并将上传信息发送给下载客户端。在1006部分,下载客户端根据上传信息和许可证事务标识,获取内容装置的ip地址。具体的:如果下载文件方式,下载客户端从许可证事务标识对应的许可证事务中获得密钥索引列表和分块密钥列表,并从分块密钥列表中获得每个内容分块的标识,然后从上传信息中分别查找出存储各个内容分块的内容装置ip地址,当多个内容装置存储同一个内容分块时,只向其中的一个内容装置请求下载内容分块,由该内容分块装置进行调度发送,因此下载客户端可以随机或根据内容装置ip地址的地域属性选择1个内容装置ip地址。并继续执行1007-1014部分的过程。如果在线播放媒体流时,下载客户端根据上传信息中的内容装置信息列表,获取内容装置的ip地址和播放列表文件的标识。下载客户端生成播放列表请求,并根据内容装置的ip地址,将播放列表请求发送给内容装置,播放列表请求包含上传事务标识和播放列表文件的标识。内容装置接收到播放列表请求后,向下载客户端返回对应的媒体流播放列表文件。下载客户端接收到媒体流播放列表文件后。对媒体流播放列表文件进行解密,解密密钥获取方法:1)根据上传事务标识从许可证事务中获取对应的文件解密信息。2)根据播放列表文件的标识从内容文件解密信息获取播放列表文件的标识对应的密钥索引。3)根据密钥索引从文件解密信息中获取对应的被许可证公钥加密后的密钥。4)使用许可证私钥对被许可证公钥加密后的密钥进行解密,得到明文的密钥。下载客户端根据带宽情况选择一个合适的下载播放列表文件中的内容分块进行在线播放的下载,播放列表文件中包含了内容分块信息的列表,列表包含内容分块的标识、拥有该内容分块的内容装置的公钥,根据分内容装置的到上传信息中获取内容装置的ip地址,当多个分发者拥有同一个内容分块时可以随机或根据内容装置ip地址的地域属性进行选择。下载客户端在线播放的下载过程中可以根据带宽情况,从不同的下载播放列表文件中下载不同质量的内容分块;例如有三个不同清晰度的播放列表文件:高清、标清、流畅,当带宽足够高时下载高清播放列表文件中的分块,当带宽降低时选择从标清或者流畅的播放列表文件中的分块。下载客户端对每一个内容分块分别进行下载,每个内容分块下载过程都包括以下1007~1013部分。在1007部分,下载客户端根据查找到的内容装置的ip地址,与内容装置建立连接,并向内容装置发送下载请求,下载请求包括许可证事务标识、许可证所有人私钥的签名、上传事务标识和内容分块的标识。在1008部分,内容装置接收了该下载请求,并对该下载请求进行校验,确定是否满足下载条件(也可以理解为:确定下载客户端是否具有下载内容文件的许可信息),如果校验成功后,则继续步骤1009的处理,否则向下载客户端返回校验失败的响应,并流程下载结束。校验的方法如下:1)内容装置通过内容事务处理装置到区块链处理装置存储的区块链中获取许可证事务标识对应的许可证事务,如果区块链中并没有许可证事务标识对应的许可证事务,则获取不到,校验失败。内容装置可以通过内容事务处理装置查询区块链处理装置存储的区块链。比如:内容装置可以向内容事务处理装置发送事务查询请求,内容事务处理装置根据事务查询请求包含的许可证事务标识,查询该许可证事务标识对应的许可证事务。2)内容装置用获取到的许可证事务的输出内容包含的资产地址校验许可证所有人私钥的签名进行签名是否有效。如果校验结果为无效,则校验失败。3)内容装置确定上述输出内容包含的许可信息是否为有效的,例如校验许可信息中的有效期是否小于当前时间。如果许可信息是无效的,则校验失败。4)内容装置校验该许可证事务的输入内容是否包含下载请求中的上传事务标识,如果不包含则校验失败。在1009部分,内容装置通过p2p下载协议把内容分块发送给下载客户端。要说明的是这里的下载一个内容分块的过程相当于p2p下载协议中的下载一个文件的过程。由于这里采用了现有技术,就不予赘述。在1010部分,当内容分块发送完成后,内容装置生成下载事务请求,并将下载事务请求发送给内容事务处理装置。下载事务请求包含了下载信息,该下载信息包含了许可证事务标识、许可证所有人私钥的签名、下载过程记录、内容装置的资产地址、上传事务标识和内容装置所发送的内容分块的标识。其中下载过程记录可以为下载时间、下载速率或者下载流量等,内容装置的资产地址可以由,该资产地址可以由内容装置的公钥生成的。在1011部分,内容事务处理装置接收了该下载事务请求,并对该下载信息进行校验,如果校验失败则返回失败的下载响应给内容装置。如果校验成功后,则根据下载事务请求生成下载事务,将下载事务中包含的输入内容的当前承载资产事务的事务标识和资产所有人的签名分别设置为许可证事务标识和许可证所有人的签名,输出内容设置为内容装置的资产地址,输出内容的资产数据设置为。并将该下载事务发送给该内容事务处理装置对应的区块链处理装置。校验的方法如下:内容事务处理装置从对应的区块链处理装置存储的区块链中获取许可证事务标识对应的版权事务,如果获取不到版权事务,则该下载信息是无效的。如果获取到了版权事务,用所述版权事务的输出内容包含的资产地址确定所述许可证所有人私钥的签名为有效的。在1012部分,内容事务处理装置向其对应的区块链处理装置发送下载事务,在1013部分,区块链处理装置将下载事务存储在区块链中,存储的过程同现有技术中事务存储到区块链中的过程相同,这里不予赘述。在1014部分,区块链处理装置返回下载响应给内容事务处理装置,响应消息包含下载事务标识;下载事务标识是由区块链处理装置存储下载事务生成的。在1015部分,内容事务处理装置将向内容装置发送下载响应。通过上述过程,实现了在互联网上的内容下载的在线处理过程,在下载内容前,内容装置需要对消费者提供的许可证信息和许可证签名进行验证,而许可证的颁发由版权所有人进行控制,因此版权所有人间接的对消费者下载数字内容的过程进行了授权控制,确保了版权所有人的利益。另外将内容下载过程信息通过下载事务加入到区块链中,并通过许可证所有人的许可证私钥签名校验,确保该下载信息的不可伪造、不可篡改和可信的。内容装置可依据下载事务与内容所有人进行分发费用的结算,内容所有人可以依据下载事务对数字内容的分发过程进行监控和审计。上述三个子过程构成一个在p2p网络中的分发数字内容的方法。如图11所示,基于计算机网络架构,尤其是p2p网络架构,本发明实施例提供的分发数字内容的系统包括如下以计算机实现的装置:内容装置1101,内容事务处理装置1102和与内容事务处理装置1102对应的区块链处理装置1103。所述内容装置1101接收下载客户端发送的下载请求,所述下载请求包括所述请求下载的内容文件的上传事务标识和许可证事务标识,根据所述上传事务标识和许可证事务标识确定所述下载客户端是否具有下载所述内容文件的许可信息,如有,将所述内容文件发送到所述下载客户端,当内容文件分发完成后,向内容事务处理装置发送下载事务请求,所述下载事务请求包含下载信息。所述内容事务处理装置1102用于接收所述内容装置发送的下载事务请求,确定所述下载信息为有效的,生成下载事务,将所述下载事务发送到区块链处理装置。所述区块链处理装置1103用于接收所述下载事务,并将所述下载事务加入到所述区块链处理装置存储的区块链中。进一步地,内容装置1101用于根据所述上传事务标识和许可证事务标识确定所述下载客户端是否具有下载所述内容文件的许可信息,具体包括:所述内容装置1101,用于通过内容事务处理装置从所述区块链处理装置1103存储的区块链中获取所述许可证事务标识对应的许可证事务,用所述许可证事务的输出内容包含的资产地址校验许可证所有人私钥的签名是否为有效的,确定所述输出内容的许可信息是否为有效的,以及确定所述许可证事务的输入内容是否包含了所述上传事务标识,其中,所述下载请求还包括许可证所有人私钥的签名。进一步地,内容装置1101,用于将内容文件发送到所述下载客户端,具体包括:内容装置1101将存储在内容装置1101的所述内容文件的内容分块发送到所述下载客户端,其中,所述内容文件包含一个以上的内容分块。进一步地,下载信息包含了许可证事务标识、许可证所有人私钥的签名、下载过程记录、内容装置的资产地址、上传事务标识和内容装置所发送的内容分块的标识,内容事务处理装置1102用于确定下载信息为有效的,具体包括:所述内容事务处理装置用于从所述区块链处理装置存储的区块链中获取所述许可证事务标识对应的版权事务,用所述版权事务的输出内容包含的资产地址确定所述许可证所有人私钥的签名为有效的。进一步地,内容事务处理装置1102用于生成下载事务。具体包括:所述内容事务处理装置1102,用于将下载事务中包含的输入内容设置为所述许可证事务标识和所述许可证所有人的签名,输出内容的地址设置为所述内容装置的资产地址,所述输出内容的资产包括所述下载过程记录、所述上传事务标识和所述内容装置所发送的内容分块的标识。进一步地,内容事务处理装置1102还用于接收下载客户端发送的获取请求,获取请求包含所述上传事务标识,从所述区块链处理装置存储的区块链获取所述上传事务标识对应的上传信息,将上传信息发送给下载客户端。进一步地,内容事务处理装置1102还用于接收上传客户端发送的所述上传内容请求,所述上传内容请求包含所述上传客户端的ip地址;根据所述上传客户端ip地址向所述上传客户端发送授权请求,所述授权请求包含所述内容装置的ip地址,分发资格证书,内容装置私钥的签名和数字内容标识;接收所述上传客户端发送的授权响应,所述授权响应包含授权分发的内容分块的标识。进一步地,内容事务处理装置1102,还用于接收上传客户端发送的上传事务请求,所述上传事务请求包含所述上传信息;确定所述上传信息为有效的,生成上传事务,将所述上传事务发送到区块链处理装置1103。区块链处理装置1103,还用于接收所述上传事务,并将所述上传事务加入到所述区块链处理装置1103存储的区块链中。进一步地,上传信息具体包括版权事务标识、版权所有人私钥的签名、所述上传客户端的资产地址、所述数字内容标识、上传方式和内容装置信息列表。内容事务处理装置1102用于校验所述上传信息具体包括:所述内容事务处理装置1102,用于从所述区块链处理装置1103存储的区块链中获取所述版权事务标识对应的版权事务,用所述版权事务的输出内容包含的资产地址确定所述版权所有人私钥的签名为有效的;以及确定所述数字内容标识为所述版权事务对应的数字内容标识的子集。进一步地,内容事务处理装置1102用于生成上传事务具体包括:内容事务处理装置1102,用于将所述上传事务中包含的输入内容设置为所述版权事务标识和所述版权所有人私钥的签名,输出内容的资产地址设置为所述上传客户端的资产地址,所述输出内容的资产数据设置为所述数字内容标识、所述上传方式和所述内容装置信息列表。进一步地,该系统还包括:许可证处理装置1104,用接收版权管理客户端发送的许可证颁发请求,所述许可证颁发请求包含被颁发许可证的对象的资产地址、产品事务标识、拥有产品的产品所有人私钥的签名、承载可授权使用的内容文件的上传事务标识、拥有所述上传事务的所有人私钥的签名、许可信息和数字内容文件解密信息列表,确定所述许可证颁发请求为有效的,生成许可证事务,将所述许可证事务发送给区块链处理装置1103;区块链处理装置1103,用于接收所述许可证事务,并将许可证事务加入到所述区块链处理装置1103存储的区块链中。当不是产品事务而是版权事务时,许可证处理装置1104获取的是版权事务标识和版权事务所有人私钥的签名。进一步地,许可证处理装置1104用于确定所述许可证颁发请求为有效的。具体包括:许可证处理装置1104用于从所述区块链处理装置1103存储的区块链中获取所述产品事务标识对应的产品事务和所述上传事务标识对应的上传事务,用所述产品事务的输出内容包含的资产地址确定产品所有人私钥的签名为有效的,用所述上传事务的输出内容包含的资产地址确定拥有所述上传事务的所有人私钥的签名为有效的。当不是产品事务而是版权事务时,许可证处理装置1104校验的是版权事务标识的类似信息。进一步地,许可证处理装置1104用于生成许可证事务。具体包括:许可证处理装置1104用于将所述许可证事务中第一个输入内容设置为所述产品事务标识和所述产品所有人私钥的签名,第二个输入内容设置为所述上传事务标识和所述拥有该上传事务的所有人私钥的签名,输出内容的资产地址设置为所述被颁发许可证的对象的资产地址,输出内容的资产数据设置为所述许可信息和所述数字内容文件解密信息列表。在本实施例中,内容装置1101,内容事务处理装置1102或区块链处理装置1103是以功能单元的形式来呈现。这里的“单元”的实现方式可以特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到内容装置1101,内容事务处理装置1102或区块链处理装置1103可以采用图7-1所示的形式。内容装置1101,内容事务处理装置1102或区块链处理装置1103可以通过图7-1的处理器和存储器来实现。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1