一种基于区块链的内容分发系统及方法



1.本技术涉及信息技术领域,特别是涉及一种基于区块链的内容分发系统及方法。


背景技术:



2.为了应对爆炸式增长的移动流量,业界提出了边缘缓存技术,通过在移动网络无线接入网侧部署智能高速缓存,将流行的内容缓存在最贴近用户的边缘,当有用户进行内容请求时,如果距离用户近的缓存有该内容,则直接将内容传输给用户,这种方式可以减少内容重复传输,缓解回程链路压力,快速响应用户请求,提升用户体验。
3.然而,现有技术的内容缓存和分发由isp(internet service provider,网络业务提供商)控制,存在isp利用缓存的内容直接响应用户的内容请求而不通知内容提供商的情况,因此cp(content provider,内容提供商)难以得到真实的内容请求和分发数据。


技术实现要素:



4.本技术实施例的目的在于提供一种基于区块链的内容分发系统及方法,用以解决isp利用缓存的内容直接响应用户的内容请求,cp难以得到真实的内容请求和分发数据的问题。具体技术方案如下:
5.本技术实施例的第一方面,提供了一种基于区块链的内容分发系统,所述系统包括区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商isp管控平台及多个内容提供商cp管控平台;
6.所述isp管控平台,用于基于内容分发信息表,确定待缓存的第一数据及用于缓存所述第一数据的第一缓存节点,其中,所述内容分发信息表中存储了所述cp管控平台发布的内容的历史分发信息;向发布所述第一数据的cp管控平台发送内容缓存请求信息;
7.所述cp管控平台,用于在接收到所述内容缓存请求信息后,确定所述第一数据所属的第一内容源服务器,并生成包括所述第一内容源服务器标识的内容缓存应答信息;向所述isp管控平台发送内容缓存应答信息;
8.所述isp管控平台,还用于响应于接收到所述内容缓存应答信息,向所述第一缓存节点发送目标内容的内容获取请求信息;
9.所述第一缓存节点,用于响应于接收到所述内容获取请求信息,从第一源服务器中获取所述第一数据中的至少一部分数据;向所述isp管控平台发送内容获取应答信息;
10.所述isp管控平台,还用于响应于接收到所述内容获取应答信息,向所述cp管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述至少一部分数据的内容摘要的哈希值;
11.所述cp管控平台,还用于响应于接收到所述内容获取确认信息,验证所述内容摘要的哈希值;当验证通过时,向所述区块链网络广播内容缓存确认信息,以使所述区块链网络中的其它节点接收所述内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;
12.所述isp管控平台,还用于接收并根据所述内容获取应答信息和所述内容缓存确认信息,更新自身的本地内容缓存状态表。
13.在一种可能的实施方式中,所述cp管控平台,用于在所述区块链网络中广播自身的内容发布信息,以使所述区块链网络中的其它节点接收所述内容发布信息并验证,在验证通过时添加到各节点自身的交易池中,其中,针对任一cp管控平台,该cp管控平台的内容发布信息包括该cp管控平台的标识信息和该cp管控平台所管理的内容源服务器中待分发数据的标识。
14.在一种可能的实施方式中,所述isp管控平台,还用于向第二缓存节点发送针对指定内容的内容缓存删除请求信息,其中,所述内容缓存删除请求信息包括所述指定内容的标识信息;
15.所述第二缓存节点,用于响应于接收到所述内容缓存删除请求信息,根据所述指定内容的标识信息从自身的缓存空间中识别所述指定内容并删除;在删除完成后,向所述isp管控平台发送内容缓存删除应答信息;
16.所述isp管控平台,还用于响应于接收到所述内容缓存删除应答信息,向所述区块链网络中的其它节点广播内容缓存删除确认信息,以使所述区块链网络中的其它节点响应于接收到所述内容缓存删除确认信息并验证,在验证通过时将对应的交易添加到各节点自身的交易池中;根据所述内容缓存删除应答信息和所述内容缓存删除确认信息更新自身的本地内容缓存状态表。
17.在一种可能的实施方式中,所述isp管控平台,还用于响应于接收到所述用户设备发送的指定内容的内容请求信息后,根据所述内容请求信息查看自身的本地内容缓存状态表。
18.在一种可能的实施方式中,所述isp管控平台,还用于识别所述用户设备和已经缓存了所述指定内容的多个第三缓存节点的链路状态;选取所述多个第三缓存节点中对应链路状态最好的缓存节点作为第四缓存节点;创建所述第四缓存节点和所述用户设备之间的数据连接,并向所述第四缓存节点发送第二数据的内容分发请求;
19.所述第四缓存节点,用于响应于接收到所述内容分发请求,向所述用户设备发送所述第二数据的至少一部分;向所述isp管控平台发送内容分发应答信息;
20.所述isp管控平台,还用于接收到所述内容分发应答信息后,向所述cp管控平台发送第二数据的剩余部分的剩余部分内容分发请求信息;
21.所述cp管控平台,用于响应于接收到所述剩余部分内容分发请求信息,向所述isp管控平台发送链路建立请求;
22.所述isp管控平台,还用于响应于接收到所述链路建立请求,建立所述用户设备和所述内容源服务器之间的数据连接;向所述cp管控平台发送链路建立应答信息;
23.所述内容源服务器,用于通过建立的数据连接采用加密方式向所述用户设备发送所述第二数据的剩余部分;
24.所述用户设备,用于接收通过采用加密方式发送的第二数据的剩余部分,并根据自身的私钥进行解密,得到第二数据的剩余部分。
25.在一种可能的实施方式中,所述isp管控平台,还用于识别所述用户设备和已经缓存了第二数据的更高码率版本的缓存节点之间的链路状态;选取对应链路状态最好的缓存
节点作为第五缓存节点;建立所述用户设备和所述第五缓存节点之间的数据连接;向所述第五缓存节点发送内容分发请求信息;
26.所述第五缓存节点,用于响应于接收到所述内容分发请求信息,将自身存储的更高码率版本的第二数据转换为对应码率版本,并向所述用户设备进行发送。
27.在一种可能的实施方式中,所述isp管控平台,还用于向所述cp管控平台发送第三数据的完整内容分发请求信息;
28.所述cp管控平台,还用于响应于接收到所述完整内容分发请求信息,向所述isp管控平台发送链路建立请求信息;
29.所述isp管控平台,还用于响应于接收到所述链路建立请求信息,建立所述用户设备和所述内容源服务器之间的数据连接;向所述cp管控平台发送链路建立应答信息;
30.所述内容源服务器,用于通过建立的数据连接利用加密方式向所述用户设备发送所述第三数据;
31.所述用户设备,用于接收通过采用加密方式发送的第三数据,并根据自身的私钥进行解密,得到所述第三数据。
32.在一种可能的实施方式中,所述用户设备,还用于向所述isp管控平台发送完整内容分发完成信息;
33.所述isp管控平台,还用于响应于接收到所述完整内容分发完成信息,向所述cp管控平台发送内容分发确认信息,其中,所述内容分发确认信息包括所述第三数据的摘要的哈希值;
34.所述cp管控平台,还用于接收所述内容分发确认信息,并对所述第三数据的摘要的哈希值进行验证;当验证通过时,向所述区块链网络中的其它节点广播所述内容分发确认信息,以使所述区块链网络中的其它节点接收并对所述内容分发确认信息进行验证,当验证通过时添加到各节点自身的交易池中。
35.在一种可能的实施方式中,所述区块链网络,用于每间隔预设时长,在所述区块链网络的各isp管控平台及各cp管控平台中选取一个目标网络节点;
36.所述目标网络节点,用于从自身的交易池中选取预设数量的交易封装成一个目标区块,其中,所述预设数量的交易包括内容发布信息、内容缓存确认信息、内容缓存删除确认信息、内容分发确认信息;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;
37.所述isp管控平台和所述cp管控平台,还用于根据目标区块中所述内容发布信息、所述内容缓存确认信息、所述内容缓存删除确认信息和所述内容分发确认信息来更新自身的内容发布信息表、全局内容缓存状态信息表、内容分发信息表。
38.本技术实施例的第二方面,提供了一种基于区块链的内容分发方法,应用于基于区块链的内容分发系统,所述系统包括:区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商isp管控平台及多个内容提供商cp管控平台;
39.所述方法包括:
40.通过所述isp管控平台基于内容分发信息表,确定待缓存的第一数据及用于缓存所述第一数据的第一缓存节点,其中,所述内容分发信息表中存储了所述cp管控平台发布
的内容的历史分发信息;向发布所述第一数据的cp管控平台发送内容缓存请求信息;
41.通过所述cp管控平台在接收到所述内容缓存请求信息后,确定所述第一数据所属的第一内容源服务器,并生成包括所述第一内容源服务器标识的内容缓存应答信息;向所述isp管控平台发送内容缓存应答信息;
42.通过所述isp管控平台响应于接收到所述内容缓存应答信息,向所述第一缓存节点发送目标内容的内容获取请求信息;
43.通过所述第一缓存节点响应于接收到所述内容获取请求信息,从第一源服务器中获取所述第一数据中的至少一部分数据;向所述isp管控平台发送内容获取应答信息;
44.通过所述isp管控平台响应于接收到所述内容获取应答信息,向所述cp管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述至少一部分数据的内容摘要的哈希值;
45.通过所述cp管控平台响应于接收到所述内容获取确认信息,验证所述内容摘要的哈希值;当验证通过时,向所述区块链网络广播内容缓存确认信息,以使所述区块链网络中的其它节点接收所述内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;
46.通过所述isp管控平台接收并根据所述内容获取应答信息和所述内容缓存确认信息,更新自身的本地内容缓存状态表。
47.在一种可能的实施方式中,所述方法还包括:
48.通过所述cp管控平台在所述区块链网络中广播自身的内容发布信息,以使所述区块链网络中的其它节点接收所述内容发布信息并验证,在验证通过时添加到各节点自身的交易池中,其中,针对任一cp管控平台,该cp管控平台的内容发布信息包括该cp管控平台的标识信息和该cp管控平台所管理的内容源服务器中待分发数据的标识。
49.在一种可能的实施方式中,所述方法还包括:
50.通过所述isp管控平台向第二缓存节点发送针对指定内容的内容缓存删除请求信息,其中,所述内容缓存删除请求信息包括所述指定内容的标识信息;
51.通过所述第二缓存节点响应于接收到所述内容缓存删除请求信息,根据所述指定内容的标识信息从自身的缓存空间中识别所述指定内容并删除;在删除完成后,向所述isp管控平台发送内容缓存删除应答信息;
52.通过所述isp管控平台响应于接收到所述内容缓存删除应答信息,向所述区块链网络中的其它节点广播内容缓存删除确认信息,以使所述区块链网络中的其它节点响应于接收到所述内容缓存删除确认信息并验证,在验证通过时将对应的交易添加到各节点自身的交易池中;根据所述内容缓存删除应答信息和所述内容缓存删除确认信息更新自身的本地内容缓存状态表。
53.在一种可能的实施方式中,所述方法还包括:
54.通过所述isp管控平台响应于接收到用户设备发送的指定内容的内容请求信息后,根据所述内容请求信息查看自身的本地内容缓存状态表。
55.在一种可能的实施方式中,所述方法还包括:
56.通过所述isp管控平台识别所述用户设备和已经缓存了所述指定内容的多个第三缓存节点的链路状态;选取所述多个第三缓存节点中对应链路状态最好的缓存节点作为第
四缓存节点;创建所述第四缓存节点和所述用户设备之间的数据连接,并向所述第四缓存节点发送第二数据的内容分发请求;
57.通过所述第四缓存节点响应于接收到所述内容分发请求,向所述用户设备发送所述第二数据的至少一部分;向所述isp管控平台发送内容分发应答信息;
58.通过所述isp管控平台接收到所述内容分发应答信息后,向所述cp管控平台发送第二数据的剩余部分的剩余部分内容分发请求信息;
59.通过所述cp管控平台响应于接收到所述剩余部分内容分发请求信息,向所述isp管控平台发送链路建立请求;
60.通过所述isp管控平台响应于接收到所述链路建立请求,建立所述用户设备和所述内容源服务器之间的数据连接;向所述cp管控平台发送链路建立应答信息;
61.通过所述内容源服务器通过建立的数据连接采用加密方式向所述用户设备发送所述第二数据的剩余部分;
62.通过所述用户设备接收通过采用加密方式发送的第二数据的剩余部分,并根据自身的私钥进行解密,得到第二数据的剩余部分。
63.在一种可能的实施方式中,所述方法还包括:
64.通过所述isp管控平台识别所述用户设备和已经缓存了第二数据的更高码率版本的缓存节点之间的链路状态;选取对应链路状态最好的缓存节点作为第五缓存节点;建立所述用户设备和所述第五缓存节点之间的数据连接;向所述第五缓存节点发送内容分发请求信息;
65.通过所述第五缓存节点响应于接收到所述内容分发请求信息,将自身存储的更高码率版本的第二数据转换为对应码率版本,并向所述用户设备进行发送。
66.在一种可能的实施方式中,所述方法还包括:
67.通过所述isp管控平台向所述cp管控平台发送第三数据的完整内容分发请求信息;
68.通过所述cp管控平台响应于接收到所述完整内容分发请求信息,向所述isp管控平台发送链路建立请求信息;
69.通过所述isp管控平台响应于接收到所述链路建立请求信息,建立所述用户设备和所述内容源服务器之间的数据连接;向所述cp管控平台发送链路建立应答信息;
70.通过所述内容源服务器通过建立的数据连接利用加密方式向所述用户设备发送所述第三数据;
71.通过所述用户设备接收通过采用加密方式发送的第三数据,并根据自身的私钥进行解密,得到所述第三数据。
72.在一种可能的实施方式中,所述方法还包括:
73.通过所述用户设备向所述isp管控平台发送完整内容分发完成信息;
74.通过所述isp管控平台响应于接收到所述完整内容分发完成信息,向所述cp管控平台发送内容分发确认信息,其中,所述内容分发确认信息包括所述第三数据的摘要的哈希值;
75.通过所述cp管控平台接收所述内容分发确认信息,并对所述第三数据的摘要的哈希值进行验证;当验证通过时,向所述区块链网络中的其它节点广播所述内容分发确认信
息,以使所述区块链网络中的其它节点接收并对所述内容分发确认信息进行验证,当验证通过时添加到各节点自身的交易池中。
76.在一种可能的实施方式中,所述方法还包括:
77.通过所述区块链网络每间隔预设时长,在所述区块链网络的各isp管控平台及各cp管控平台中选取一个目标网络节点;
78.通过所述目标网络节点从自身的交易池中选取预设数量的交易封装成一个目标区块,其中,所述预设数量的交易包括内容发布信息、内容缓存确认信息、内容缓存删除确认信息、内容分发确认信息;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;
79.通过所述isp管控平台和所述cp管控平台根据目标区块中所述内容发布信息、所述内容缓存确认信息、所述内容缓存删除确认信息和所述内容分发确认信息来更新自身的内容发布信息表、全局内容缓存状态信息表、内容分发信息表。
80.本技术实施例的另一方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
81.存储器,用于存放计算机程序;
82.处理器,用于执行存储器上所存放的程序时,实现上述任一基于区块链的内容分发方法。
83.本技术实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于区块链的内容分发方法。
84.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于区块链的内容分发方法。
85.本技术实施例有益效果:
86.本技术实施例提供的一种基于区块链的内容分发系统及方法,所述系统包括区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商isp管控平台及多个内容提供商cp管控平台;所述isp管控平台,用于基于内容分发信息表,确定待缓存的第一数据及用于缓存所述第一数据的第一缓存节点,其中,所述内容分发信息表中存储了所述cp管控平台发布的内容的历史分发信息;向发布所述第一数据的cp管控平台发送内容缓存请求信息;所述cp管控平台,用于在接收到所述内容缓存请求信息后,确定所述第一数据所属的第一内容源服务器,并生成包括所述第一内容源服务器标识的内容缓存应答信息;向所述isp管控平台发送内容缓存应答信息;所述isp管控平台,还用于响应于接收到所述内容缓存应答信息,向所述第一缓存节点发送目标内容的内容获取请求信息;所述第一缓存节点,用于响应于接收到所述内容获取请求信息,从第一源服务器中获取所述第一数据中的至少一部分数据;向所述isp管控平台发送内容获取应答信息;所述isp管控平台,还用于响应于接收到所述内容获取应答信息,向所述cp管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述至少一部分数据的内容摘要的哈希值;所述cp管控平台,还用于响应于接收到所述内容获取确认信息,验证所述内容摘要的哈希值;当验证通过时,向所述区块链网络广播内容缓存确认信息,以使所述区块链网络中的其它节
点接收所述内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;所述isp管控平台,还用于接收并根据所述内容获取应答信息和所述内容缓存确认信息,更新自身的本地内容缓存状态表。可以在内容缓存过程中,通过向所述cp管控平台发送内容获取确认信息,以使cp管控平台进行验证,解决isp利用缓存的内容直接响应用户的内容请求,cp难以得到真实的内容请求和分发数据的问题。
87.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
88.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
89.图1为本技术实施例提供的基于区块链的内容分发系统的一种结构示意图;
90.图2为本技术实施例提供的基于区块链的内容分发系统的一种实例图;
91.图3为本技术实施例提供的基于区块链的内容分发方法的一种流程示意图;
92.图4为本技术实施例提供的电子设备的一种结构示意图。
具体实施方式
93.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
94.本技术实施例的第一方面,提供了一种基于区块链的内容分发系统,参见图1,上述系统包括区块链网络101、多个内容源服务器102、多个缓存节点103,区块链网络包括多个isp(internet service provider,网络业务提供商)管控平台1011及多个cp(content provider,内容提供商)管控平台1012;
95.isp管控平台1011,用于基于内容分发信息表,确定待缓存的第一数据及用于缓存第一数据的第一缓存节点,其中,内容分发信息表中存储了cp管控平台发布的内容的历史分发信息;向发布第一数据的cp管控平台发送内容缓存请求信息;
96.cp管控平台1012,用于在接收到内容缓存请求信息后,确定第一数据所属的第一内容源服务器,并生成包括第一内容源服务器标识的内容缓存应答信息;向isp管控平台发送内容缓存应答信息;
97.isp管控平台1011,还用于响应于接收到内容缓存应答信息,向第一缓存节点发送目标内容的内容获取请求信息;
98.第一缓存节点,用于响应于接收到内容获取请求信息,从第一源服务器中获取第一数据中的至少一部分数据;向isp管控平台发送内容获取应答信息;
99.isp管控平台1011,还用于响应于接收到内容获取应答信息,向cp管控平台发送内容获取确认信息,其中,内容获取确认信息包括至少一部分数据的内容摘要的哈希值;
100.cp管控平台1012,还用于响应于接收到内容获取确认信息,验证内容摘要的哈希值;当验证通过时,向区块链网络广播内容缓存确认信息,以使区块链网络中的其它节点接收内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;
101.isp管控平台1011,还用于接收并根据内容获取应答信息和内容缓存确认信息,更新自身的本地内容缓存状态表。
102.一个例子中,例如参见图2,本技术实施例中的内容缓存过程包括:
103.步骤1.1:isp管控平台向cp管控平台发送“内容缓存请求”,其中携带:isp标识、内容uri(uniform resource identifier,统一资源标识符)、码率版本。
104.步骤1.2:cp管控平台向isp管控平台发送“内容缓存应答”,其中携带:cp标识、内容uri、码率版本、源服务器地址。
105.步骤1.3:isp挑选合适的缓存节点(假设选择了缓存节点1),向缓存节点1发送“内容获取请求”,其中携带:内容uri、码率版本、源服务器地址。
106.步骤1.4:缓存节点1根据“内容获取请求”,从源服务器获取相应内容的码率版本。备注:源服务器不把整个内容传输给缓存节点,只传输内容的一部分(假设只传输内容的前80%)。
107.步骤1.5:内容获取完成后,缓存节点1向isp管控平台发送“内容获取应答”,其中携带:缓存节点id、内容uri、码率版本、内容摘要的哈希值、内容获取完成标识符。内容获取完成标识符为1表示内容获取完成,为0表示获取未完成。
108.步骤1.6:isp管控平台向cp管控平台发送“内容获取确认”,其中携带:isp标识、内容uri、码率版本、内容摘要的哈希值、内容获取完成标识符、该isp的公钥、该isp的数字签名。
109.步骤1.7:cp管控平台收到“内容获取确认”后,验证其中携带的内容摘要的哈希值,如果该值错误,则说明内容在传输过程中出错了,需要重新执行步骤1.3到1.6;如果该值正确,表明isp已经正确缓存了内容,之后cp管控平台向区块链网络广播“内容缓存确认信息”,其中携带:交易哈希值、cp标识、isp标识、内容uri、码率版本、缓存完整内容标识符、时间戳、nonce值、该isp的公钥、该isp的数字签名、该cp的公钥、该cp的数字签名。交易哈希值是利用哈希函数根据cp标识、isp标识、内容uri、码率版本、缓存完整内容标识符、时间戳、nonce值计算出来的结果,要通过不断调整nonce值使得计算出来的交易哈希值小于targethash2。缓存完整内容标识符为1表示缓存的是完整的内容,为0表示缓存的是部分内容。
110.步骤1.8:区块链网络的其它节点收到“内容缓存确认信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。
111.步骤1.9:isp管控平台根据收到的“内容获取应答”和收到的“内容缓存确认信息”更新“本地内容缓存状态信息表”。“本地内容缓存状态信息表”包含cp标识、内容uri、码率版本、缓存节点id、缓存完整内容标识符、时间戳。具体更新操作为:在“本地内容缓存状态信息表”中添加cp标识、内容uri、码率版本、缓存节点id、缓存完整内容标识符、时间戳等信息。
112.在一种可能的实施方式中,cp管控平台1012,用于在区块链网络中广播自身的内容发布信息,以使区块链网络中的其它节点接收内容发布信息并验证,在验证通过时添加到各节点自身的交易池中,其中,针对任一cp管控平台,该cp管控平台的内容发布信息包括该cp管控平台的标识信息和该cp管控平台所管理的内容源服务器中待分发数据的标识。
113.一个例子中,cp管控平台在区块链网络广播“内容发布信息”,其中携带:交易哈希值、cp标识、内容uri、码率版本号列表、时间戳、nonce值、该cp的公钥、该cp的数字签名。交易哈希值是利用哈希函数根据cp标识、内容uri、码率版本号列表、时间戳、nonce值计算出来的结果,要通过不断调整nonce值使得计算出来的交易哈希值小于目标哈希值targethash1。cp标识指明了“内容发布信息”是哪个cp管控平台发布的,内容uri、码率版本号列表指明了该cp拥有哪些内容。区块链网络的其它节点收到“内容发布信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。
114.可见,通过本技术实施例的系统,可以在内容缓存过程中,通过向cp管控平台发送内容获取确认信息,以使cp管控平台进行验证,解决isp利用缓存的内容直接响应用户的内容请求,cp难以得到真实的内容请求和分发数据的问题。
115.在一种可能的实施方式中,isp管控平台1011,还用于向第二缓存节点发送针对指定内容的内容缓存删除请求信息,其中,内容缓存删除请求信息包括指定内容的标识信息;
116.第二缓存节点,用于响应于接收到内容缓存删除请求信息,根据指定内容的标识信息从自身的缓存空间中识别指定内容并删除;在删除完成后,向isp管控平台发送内容缓存删除应答信息;
117.isp管控平台1011,还用于响应于接收到内容缓存删除应答信息,向区块链网络中的其它节点广播内容缓存删除确认信息,以使区块链网络中的其它节点响应于接收到内容缓存删除确认信息并验证,在验证通过时将对应的交易添加到各节点自身的交易池中;根据内容缓存删除应答信息和内容缓存删除确认信息更新自身的本地内容缓存状态表。
118.一个例子中,本技术实施例中的内容缓存的删除步骤具体包括:
119.步骤2.1:isp管控平台向相应的缓存节点发送“内容缓存删除请求”,其中携带:内容uri、码率版本。
120.步骤2.2:缓存节点根据“内容缓存删除请求”,将相应内容的码率版本从缓存空间中删除。内容删除完成后,缓存节点向isp管控平台发送“内容缓存删除应答”,其中携带:缓存节点id、内容uri、码率版本、内容缓存删除完成标识符。内容缓存删除完成标识符为1表示内容删除完成,为0表示删除未完成。
121.步骤2.3:isp管控平台向区块链网络广播“内容缓存删除确认信息”,其中携带:交易哈希值、isp标识、cp标识、内容uri、码率版本、时间戳、nonce值、该isp的公钥、该isp的数字签名。交易哈希值是利用哈希函数根据isp标识、cp标识、内容uri、码率版本、时间戳、nonce值计算出来的结果,要通过不断调整nonce值使得计算出来的交易哈希值小于targethash3。
122.步骤2.4:区块链网络的其它节点收到“内容缓存删除确认信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通
过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。
123.步骤2.5:isp管控平台根据步骤2.2中收到的“内容缓存删除应答”和步骤2.4中收到的“内容缓存删除确认信息”更新“本地内容缓存状态信息表”。具体更新操作为:根据其中的cp标识、内容uri、码率版本、缓存节点id(identity document,身份标识号码)等信息删除“本地内容缓存状态信息表”中对应的条目。
124.在一种可能的实施方式中,isp管控平台1011,还用于响应于接收到用户设备发送的指定内容的内容请求信息后,根据内容请求信息查看自身的本地内容缓存状态表。
125.例如,ue(user equipment,用户设备)发送“内容请求”,其中携带ue id、ue的位置信息、内容uri、码率版本、cp标识、ue的公钥。isp管控平台收到“内容请求”后,根据ue的位置、内容uri、码率版本,查看“本地内容缓存状态信息表”。
126.在一种可能的实施方式中,isp管控平台1011,还用于识别用户设备和已经缓存了指定内容的多个第三缓存节点的链路状态;选取多个第三缓存节点中对应链路状态最好的缓存节点作为第四缓存节点;创建第四缓存节点和用户设备之间的数据连接,并向第四缓存节点发送第二数据的内容分发请求;
127.第四缓存节点,用于响应于接收到内容分发请求,向用户设备发送第二数据的至少一部分;向isp管控平台发送内容分发应答信息;
128.isp管控平台1011,还用于接收到内容分发应答信息后,向cp管控平台发送第二数据的剩余部分的剩余部分内容分发请求信息;
129.cp管控平台1012,用于响应于接收到剩余部分内容分发请求信息,向isp管控平台发送链路建立请求;
130.isp管控平台1011,还用于响应于接收到链路建立请求,建立用户设备和内容源服务器之间的数据连接;向cp管控平台发送链路建立应答信息;
131.内容源服务器102,用于通过建立的数据连接采用加密方式向用户设备发送第二数据的剩余部分;
132.用户设备,用于接收通过采用加密方式发送的第二数据的剩余部分,并根据自身的私钥进行解密,得到第二数据的剩余部分。
133.在一种可能的实施方式中,isp管控平台1011,还用于识别用户设备和已经缓存了第二数据的更高码率版本的缓存节点之间的链路状态;选取对应链路状态最好的缓存节点作为第五缓存节点;建立用户设备和第五缓存节点之间的数据连接;向第五缓存节点发送内容分发请求信息;
134.第五缓存节点,用于响应于接收到内容分发请求信息,将自身存储的更高码率版本的第二数据转换为对应码率版本,并向用户设备进行发送。
135.在一种可能的实施方式中,isp管控平台1011,还用于向cp管控平台发送第三数据的完整内容分发请求信息;
136.cp管控平台1012,还用于响应于接收到完整内容分发请求信息,向isp管控平台发送链路建立请求信息;
137.isp管控平台1011,还用于响应于接收到链路建立请求信息,建立用户设备和内容源服务器之间的数据连接;向cp管控平台发送链路建立应答信息;
138.内容源服务器102,用于通过建立的数据连接利用加密方式向用户设备发送第三数据;
139.用户设备,用于接收通过采用加密方式发送的第三数据,并根据自身的私钥进行解密,得到第三数据。
140.在一种可能的实施方式中,用户设备,还用于向isp管控平台发送完整内容分发完成信息;
141.isp管控平台1011,还用于响应于接收到完整内容分发完成信息,向cp管控平台发送内容分发确认信息,其中,内容分发确认信息包括第三数据的摘要的哈希值;
142.cp管控平台1012,还用于接收内容分发确认信息,并对第三数据的摘要的哈希值进行验证;当验证通过时,向区块链网络中的其它节点广播内容分发确认信息,以使区块链网络中的其它节点接收并对内容分发确认信息进行验证,当验证通过时添加到各节点自身的交易池中。
143.例如,本技术实施例中的内容请求过程具体包括:
144.步骤3.1:ue发送“内容请求”,其中携带ue id、ue的位置信息、内容uri、码率版本、cp标识、ue的公钥。
145.步骤3.2:isp管控平台收到“内容请求”后,根据ue的位置、内容uri、码率版本,查看“本地内容缓存状态信息表”。
146.一种情况下:ue附近的一定范围内,已经有缓存节点缓存了所请求内容的码率版本。
147.步骤3.3:isp管控平台根据ue和已经缓存了所请求内容的码率版本的缓存节点之间的链路状态,选择链路状态最好的缓存节点,在该缓存节点和ue之间建立数据平面的连接,之后向该缓存节点发送“内容分发请求”,其中携带:ue id、内容uri、码率版本。
148.步骤3.4:缓存节点向ue发送其请求内容的码率版本。
149.步骤3.5:内容分发完成后,缓存节点向isp管控平台发送“内容分发应答”,其中携带:缓存节点id、ue id、内容uri、码率版本、内容分发完成标识符。内容分发完成标识符为1表示内容分发完成,为0表示分发未完成。
150.步骤3.6:isp管控平台收到“内容分发应答”后,根据其中的内容uri、码率版本、缓存节点id等信息,查看“本地内容缓存状态信息表”中对应条目的缓存完整内容标识符,缓存完整内容标识符为0表示缓存的是部分内容。之后isp管控平台向cp管控平台发送“剩余部分内容分发请求”,其中携带:isp标识、ue id、内容uri、码率版本、ue的公钥。
151.步骤3.7:cp管控平台向isp管控平台发送“链路建立请求”,其中携带:cp标识、ue id、源服务器地址。
152.步骤3.8:isp管控平台在相应的ue和源服务器之间建立数据平面的连接,建立完成后,向cp管控平台发送“链路建立应答”,其中携带:isp标识、ue id、源服务器地址、链路建立完成标识符。链路建立完成标识符为1表示链路建立完成,为0表示链路建立未完成。
153.步骤3.9:内容源服务器通过建立的数据平面链路采用加密方式向ue发送其请求内容的码率版本的剩余部分。加密方式指内容源服务器用ue的公钥对其请求内容的码率版本的剩余部分进行加密,并将加密后的内容传输给ue。
154.步骤3.10:ue收到内容后,用自己的私钥进行解密,即可得到所请求内容的码率版
本的剩余部分。
155.另一种情况下:ue附近的一定范围内,没有缓存节点缓存了所请求内容的码率版本,但是有缓存节点缓存了所请求内容的更高码率版本。
156.步骤3.11:isp管控平台根据ue和已经缓存了所请求内容的更高码率版本的缓存节点之间的链路状态、内容转码需要的计算资源以及缓存节点可用的计算资源,选择链路状态最好且满足转码所需计算资源的缓存节点,在该缓存节点和ue之间建立数据平面的连接,之后向该缓存节点发送“内容分发请求”,其中携带:ue id、内容uri、码率版本。
157.步骤3.12:缓存节点将缓存的高码率版本的内容实时转码成低码率版本的内容,并向ue发送其请求内容的码率版本。
158.重复上述步骤3.5到3.10。
159.又一种情况下:ue附近的一定范围内,既没有缓存节点缓存了所请求内容的码率版本,也没有缓存节点缓存了所请求内容的更高码率版本。
160.步骤3.13:isp管控平台向cp管控平台发送“完整内容分发请求”,其中携带:isp标识、ue id、内容uri、码率版本、ue的公钥。
161.步骤3.14:cp管控平台向isp管控平台发送“链路建立请求”,其中携带:cp标识、ue id、源服务器地址。
162.步骤3.15:isp管控平台在相应的ue和源服务器之间建立数据平面的连接,建立完成后,向cp管控平台发送“链路建立应答”,其中携带:isp标识、ue id、源服务器地址、链路建立完成标识符。链路建立完成标识符为1表示链路建立完成,为0表示链路建立未完成。
163.步骤3.16:内容源服务器通过建立的数据平面链路采用加密方式向ue发送其请求内容的码率版本。加密方式指内容源服务器用ue的公钥对其请求内容的码率版本进行加密,并将加密后的内容传输给ue。
164.步骤3.17:ue收到内容后,用自己的私钥进行解密,即可得到所请求内容的码率版本。
165.其中:步骤3.18到3.21是上述三种情况共有的。
166.步骤3.18:内容分发完成后,ue向isp管控平台发送“完整内容分发完成”,其中携带:cp标识、ue id、内容uri、码率版本、内容摘要的哈希值、该ue的公钥、该ue的数字签名。“内容摘要的哈希值”指的是ue对收到的完整内容的摘要进行哈希运算得到哈希值。
167.步骤3.19:isp管控平台收到用户发送的“完整内容分发完成”后,向cp管控平台发送“内容分发确认”,其中携带:cp标识、isp标识、ue id、内容uri、码率版本、内容摘要的哈希值、该ue的公钥、该ue的数字签名、该isp的公钥、该isp的数字签名。
168.步骤3.20:cp管控平台收到“内容分发确认”后,首先验证内容摘要哈希值,如果该值错误,说明ue收到的内容不正确,需要重新执行步骤3.3到3.19;如果该值正确,表明ue收到的内容是正确的,之后cp管控平台向区块链网络广播“内容分发确认信息”,其中携带:交易哈希值、cp标识、isp标识、ue id、内容uri、码率版本、时间戳、nonce值、该ue的公钥、该ue的数字签名、该isp的公钥、该isp的数字签名、该cp的公钥、该cp的数字签名。交易哈希值是利用哈希函数根据cp标识、isp标识、ue id、内容uri、码率版本、时间戳、nonce值计算出来的结果,要通过不断调整nonce值使得计算出来的交易哈希值小于targethash4。
169.步骤3.21:区块链网络的其它节点收到“内容分发确认信息”后,需要验证该交易
的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。
170.在一种可能的实施方式中,区块链网络101,用于每间隔预设时长,在区块链网络的各isp管控平台及各cp管控平台中选取一个目标网络节点;
171.目标网络节点,用于从自身的交易池中选取预设数量的交易封装成一个目标区块,其中,预设数量的交易包括内容发布信息、内容缓存确认信息、内容缓存删除确认信息、内容分发确认信息;在区块链网络中广播目标区块,以使区块链网络中的其它节点判断目标区块是否合法,在目标区块合法时添加目标区块到区块链的尾部;
172.isp管控平台1011和cp管控平台1012,还用于根据目标区块中内容发布信息、内容缓存确认信息、内容缓存删除确认信息和内容分发确认信息来更新自身的内容发布信息表、全局内容缓存状态信息表、内容分发信息表。
173.例如,区块链网络的节点由cp管控平台和isp管控平台组成,区块链网络的交易包含“内容发布信息”、“内容缓存确认信息”、“内容缓存删除确认信息”、“内容分发确认信息”。
174.步骤4.1:每隔周期t会由一个区块链网络节点从交易池中取出一定数量的交易封装成一个区块,并将其广播给区块链网络中的其它节点。
175.每个区块包含区块头和区块体,区块体由多个交易组成,区块体中的交易以merkle树结构进行存储,merkle树(可信树)的根作为该区块中所有交易的摘要被记录在区块头中,便于对交易进行验证和查。区块头除了merkle树根,还包含区块编号、时间戳、交易的数量、父区块的哈希值、本区块的哈希值。创世区块的编号为0,以后每产生一个区块,其编号加1;时间戳记录了该区块的产生时间;交易的数量指该区块的区块体中包含的交易的数量;父区块的哈希值用来形成链式结构;本区块的哈希值是利用哈希函数根据区块头中的区块编号、时间戳、交易的数量、父区块的哈希值、merkle树根等信息计算出来的结果。
176.步骤4.2:其它节点收到该区块后,会采用共识算法(pos(proof of stake,权益证明)、dpos(delegated proof of stake,委托的股权权益证明算法)、pbft(practical byzantine fault tolerance,拜占庭容错算法)等)对区块的合法性达成共识,如果区块是合法的,则将该区块添加到区块链的尾部;如果区块是非法的,则丢弃该区块。
177.步骤4.3:当区块链中增加了一个合法区块,所有区块链网络节点会根据该区块中的交易更新“内容发布信息表”、“全局内容缓存状态信息表”、“内容分发信息表”。“内容发布信息”用来更新“内容发布信息表”,“内容缓存确认信息”和“内容缓存删除确认信息”用来更新“全局内容缓存状态信息表”,“内容分发确认信息”用来更新“内容分发信息表”。其中,“内容发布信息表”包含cp标识、内容uri、码率版本号列表、时间戳;“全局内容缓存状态信息表”包含isp标识、cp标识、内容uri、码率版本、时间戳;“内容分发信息表”包含cp标识、isp标识、ue id、内容uri、码率版本、分发次数。
178.具体更新步骤如下:
179.(1)如果交易是“内容发布信息”,则更新“内容发布信息表”。如果“内容发布信息表”中存在关于相应cp的条目,“内容发布信息”中的时间戳大于已有条目的时间戳时(“内容发布信息”中的信息是最新的),更新相应cp的内容uri、码率版本号列表、时间戳等信息;“内容发布信息”中的时间戳小于等于已有条目的时间戳时(“内容发布信息”中的信息比较旧),则不更新。如果“内容发布信息表”中不存在关于相应cp的条目,则添加相应的cp标识、内容uri、码率版本号列表、时间戳等信息。
180.(2)如果交易是“内容缓存确认信息”,则在“全局内容缓存状态信息表”中添加isp标识、cp标识、内容uri、码率版本、时间戳等信息。
181.(3)如果交易是“内容缓存删除确认信息”,则根据其中的isp标识、cp标识、内容uri、码率版本等信息删除“全局内容缓存状态信息表”中对应的条目。
182.(4)如果交易是“内容分发确认信息”,则根据cp标识、isp标识、ue id、内容uri、码率版本等信息更新“内容分发信息表”中的“分发次数”信息(即每分发一次,分发次数加1);如果“内容分发信息表”中不存在cp标识、isp标识、ue id、内容uri、码率版本等信息对应的条目,则根据“内容分发确认信息”在“内容分发信息表”中添加相应的cp标识、isp标识、ue id、内容uri、码率版本、分发次数等信息。
183.本技术实施例的第二方面,提供了一种基于区块链的内容分发方法,应用于基于区块链的内容分发系统,系统包括:区块链网络、多个内容源服务器、多个缓存节点,区块链网络包括多个网络业务提供商isp管控平台及多个内容提供商cp管控平台;
184.参见图3,上述方法包括:
185.步骤s31,通过isp管控平台基于内容分发信息表,确定待缓存的第一数据及用于缓存第一数据的第一缓存节点,其中,内容分发信息表中存储了cp管控平台发布的内容的历史分发信息;向发布第一数据的cp管控平台发送内容缓存请求信息;
186.步骤s32,通过cp管控平台在接收到内容缓存请求信息后,确定第一数据所属的第一内容源服务器,并生成包括第一内容源服务器标识的内容缓存应答信息;向isp管控平台发送内容缓存应答信息;
187.步骤s33,通过isp管控平台响应于接收到内容缓存应答信息,向第一缓存节点发送目标内容的内容获取请求信息;
188.步骤s34,通过第一缓存节点响应于接收到内容获取请求信息,从第一源服务器中获取第一数据中的至少一部分数据;向isp管控平台发送内容获取应答信息;
189.步骤s35,通过isp管控平台响应于接收到内容获取应答信息,向cp管控平台发送内容获取确认信息,其中,内容获取确认信息包括至少一部分数据的内容摘要的哈希值;
190.步骤s36,通过cp管控平台响应于接收到内容获取确认信息,验证内容摘要的哈希值;当验证通过时,向区块链网络广播内容缓存确认信息,以使区块链网络中的其它节点接收内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;
191.步骤s37,通过isp管控平台接收并根据内容获取应答信息和内容缓存确认信息,更新自身的本地内容缓存状态表。
192.在一种可能的实施方式中,上述方法还包括:
193.通过cp管控平台在区块链网络中广播自身的内容发布信息,以使区块链网络中的其它节点接收内容发布信息并验证,在验证通过时添加到各节点自身的交易池中,其中,针对任一cp管控平台,该cp管控平台的内容发布信息包括该cp管控平台的标识信息和该cp管控平台所管理的内容源服务器中待分发数据的标识。
194.在一种可能的实施方式中,上述方法还包括:
195.通过isp管控平台向第二缓存节点发送针对指定内容的内容缓存删除请求信息,其中,内容缓存删除请求信息包括指定内容的标识信息;
196.通过第二缓存节点响应于接收到内容缓存删除请求信息,根据指定内容的标识信息从自身的缓存空间中识别指定内容并删除;在删除完成后,向isp管控平台发送内容缓存删除应答信息;
197.通过isp管控平台响应于接收到内容缓存删除应答信息,向区块链网络中的其它节点广播内容缓存删除确认信息,以使区块链网络中的其它节点响应于接收到内容缓存删除确认信息并验证,在验证通过时将对应的交易添加到各节点自身的交易池中;根据内容缓存删除应答信息和内容缓存删除确认信息更新自身的本地内容缓存状态表。
198.在一种可能的实施方式中,上述方法还包括:
199.通过isp管控平台响应于接收到用户设备发送的指定内容的内容请求信息后,根据内容请求信息查看自身的本地内容缓存状态表。
200.在一种可能的实施方式中,上述方法还包括:
201.通过isp管控平台识别用户设备和已经缓存了指定内容的多个第三缓存节点的链路状态;选取多个第三缓存节点中对应链路状态最好的缓存节点作为第四缓存节点;创建第四缓存节点和用户设备之间的数据连接,并向第四缓存节点发送第二数据的内容分发请求;
202.通过第四缓存节点响应于接收到内容分发请求,向用户设备发送第二数据的至少一部分;向isp管控平台发送内容分发应答信息;
203.通过isp管控平台接收到内容分发应答信息后,向cp管控平台发送第二数据的剩余部分的剩余部分内容分发请求信息;
204.通过cp管控平台响应于接收到剩余部分内容分发请求信息,向isp管控平台发送链路建立请求;
205.通过isp管控平台响应于接收到链路建立请求,建立用户设备和内容源服务器之间的数据连接;向cp管控平台发送链路建立应答信息;
206.通过内容源服务器通过建立的数据连接采用加密方式向用户设备发送第二数据的剩余部分;
207.通过用户设备接收通过采用加密方式发送的第二数据的剩余部分,并根据自身的私钥进行解密,得到第二数据的剩余部分。
208.在一种可能的实施方式中,上述方法还包括:
209.通过isp管控平台识别用户设备和已经缓存了第二数据的更高码率版本的缓存节点之间的链路状态;选取对应链路状态最好的缓存节点作为第五缓存节点;建立用户设备和第五缓存节点之间的数据连接;向第五缓存节点发送内容分发请求信息;
210.通过第五缓存节点响应于接收到内容分发请求信息,将自身存储的更高码率版本的第二数据转换为对应码率版本,并向用户设备进行发送。
211.在一种可能的实施方式中,上述方法还包括:
212.通过isp管控平台向cp管控平台发送第三数据的完整内容分发请求信息;
213.通过cp管控平台响应于接收到完整内容分发请求信息,向isp管控平台发送链路建立请求信息;
214.通过isp管控平台响应于接收到链路建立请求信息,建立用户设备和内容源服务器之间的数据连接;向cp管控平台发送链路建立应答信息;
215.通过内容源服务器通过建立的数据连接利用加密方式向用户设备发送第三数据;
216.通过用户设备接收通过采用加密方式发送的第三数据,并根据自身的私钥进行解密,得到第三数据。
217.在一种可能的实施方式中,上述方法还包括:
218.通过用户设备向isp管控平台发送完整内容分发完成信息;
219.通过isp管控平台响应于接收到完整内容分发完成信息,向cp管控平台发送内容分发确认信息,其中,内容分发确认信息包括第三数据的摘要的哈希值;
220.通过cp管控平台接收内容分发确认信息,并对第三数据的摘要的哈希值进行验证;当验证通过时,向区块链网络中的其它节点广播内容分发确认信息,以使区块链网络中的其它节点接收并对内容分发确认信息进行验证,当验证通过时添加到各节点自身的交易池中。
221.在一种可能的实施方式中,上述方法还包括:
222.通过区块链网络每间隔预设时长,在区块链网络的各isp管控平台及各cp管控平台中选取一个目标网络节点;
223.通过目标网络节点从自身的交易池中选取预设数量的交易封装成一个目标区块,其中,预设数量的交易包括内容发布信息、内容缓存确认信息、内容缓存删除确认信息、内容分发确认信息;在区块链网络中广播目标区块,以使区块链网络中的其它节点判断目标区块是否合法,在目标区块合法时添加目标区块到区块链的尾部;
224.通过isp管控平台和cp管控平台根据目标区块中内容发布信息、内容缓存确认信息、内容缓存删除确认信息和内容分发确认信息来更新自身的内容发布信息表、全局内容缓存状态信息表、内容分发信息表。
225.可见,通过本技术实施例的方法,可以在内容缓存过程中,通过向所述cp管控平台发送内容获取确认信息,以使cp管控平台进行验证,解决isp利用缓存的内容直接响应用户的内容请求,cp难以得到真实的内容请求和分发数据的问题。
226.本技术实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
227.存储器403,用于存放计算机程序;
228.处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
229.通过isp管控平台基于内容分发信息表,确定待缓存的第一数据及用于缓存第一数据的第一缓存节点,其中,内容分发信息表中存储了cp管控平台发布的内容的历史分发信息;向发布第一数据的cp管控平台发送内容缓存请求信息;
230.通过cp管控平台在接收到内容缓存请求信息后,确定第一数据所属的第一内容源服务器,并生成包括第一内容源服务器标识的内容缓存应答信息;向isp管控平台发送内容缓存应答信息;
231.通过isp管控平台响应于接收到内容缓存应答信息,向第一缓存节点发送目标内容的内容获取请求信息;
232.通过第一缓存节点响应于接收到内容获取请求信息,从第一源服务器中获取第一数据中的至少一部分数据;向isp管控平台发送内容获取应答信息;
233.通过isp管控平台响应于接收到内容获取应答信息,向cp管控平台发送内容获取确认信息,其中,内容获取确认信息包括至少一部分数据的内容摘要的哈希值;
234.通过cp管控平台响应于接收到内容获取确认信息,验证内容摘要的哈希值;当验证通过时,向区块链网络广播内容缓存确认信息,以使区块链网络中的其它节点接收内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;
235.通过isp管控平台接收并根据内容获取应答信息和内容缓存确认信息,更新自身的本地内容缓存状态表。
236.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
237.通信接口用于上述电子设备与其他设备之间的通信。
238.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
239.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
240.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于区块链的内容分发方法的步骤。
241.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于区块链的内容分发方法。
242.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
243.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
244.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
245.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。

技术特征:


1.一种基于区块链的内容分发系统,其特征在于,所述系统包括:区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商isp管控平台及多个内容提供商cp管控平台;所述isp管控平台,用于基于内容分发信息表,确定待缓存的第一数据及用于缓存所述第一数据的第一缓存节点,其中,所述内容分发信息表中存储了所述cp管控平台发布的内容的历史分发信息;向发布所述第一数据的cp管控平台发送内容缓存请求信息;所述cp管控平台,用于在接收到所述内容缓存请求信息后,确定所述第一数据所属的第一内容源服务器,并生成包括所述第一内容源服务器标识的内容缓存应答信息;向所述isp管控平台发送内容缓存应答信息;所述isp管控平台,还用于响应于接收到所述内容缓存应答信息,向所述第一缓存节点发送目标内容的内容获取请求信息;所述第一缓存节点,用于响应于接收到所述内容获取请求信息,从第一源服务器中获取所述第一数据中的至少一部分数据;向所述isp管控平台发送内容获取应答信息;所述isp管控平台,还用于响应于接收到所述内容获取应答信息,向所述cp管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述至少一部分数据的内容摘要的哈希值;所述cp管控平台,还用于响应于接收到所述内容获取确认信息,验证所述内容摘要的哈希值;当验证通过时,向所述区块链网络广播内容缓存确认信息,以使所述区块链网络中的其它节点接收所述内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;所述isp管控平台,还用于接收并根据所述内容获取应答信息和所述内容缓存确认信息,更新自身的本地内容缓存状态表。2.根据权利要求1所述的系统,其特征在于,所述cp管控平台,用于在所述区块链网络中广播自身的内容发布信息,以使所述区块链网络中的其它节点接收所述内容发布信息并验证,在验证通过时添加到各节点自身的交易池中,其中,针对任一cp管控平台,该cp管控平台的内容发布信息包括该cp管控平台的标识信息和该cp管控平台所管理的内容源服务器中待分发数据的标识。3.根据权利要求1所述的系统,其特征在于,所述isp管控平台,还用于向第二缓存节点发送针对指定内容的内容缓存删除请求信息,其中,所述内容缓存删除请求信息包括所述指定内容的标识信息;所述第二缓存节点,用于响应于接收到所述内容缓存删除请求信息,根据所述指定内容的标识信息从自身的缓存空间中识别所述指定内容并删除;在删除完成后,向所述isp管控平台发送内容缓存删除应答信息;所述isp管控平台,还用于响应于接收到所述内容缓存删除应答信息,向所述区块链网络中的其它节点广播内容缓存删除确认信息,以使所述区块链网络中的其它节点响应于接收到所述内容缓存删除确认信息并验证,在验证通过时将对应的交易添加到各节点自身的交易池中;根据所述内容缓存删除应答信息和所述内容缓存删除确认信息更新自身的本地内容缓存状态表。4.根据权利要求1所述的系统,其特征在于,
所述isp管控平台,还用于响应于接收到用户设备发送的指定内容的内容请求信息后,根据所述内容请求信息查看自身的本地内容缓存状态表。5.根据权利要求4所述的系统,其特征在于,所述isp管控平台,还用于识别所述用户设备和已经缓存了所述指定内容的多个第三缓存节点的链路状态;选取所述多个第三缓存节点中对应链路状态最好的缓存节点作为第四缓存节点;创建所述第四缓存节点和所述用户设备之间的数据连接,并向所述第四缓存节点发送第二数据的内容分发请求;所述第四缓存节点,用于响应于接收到所述内容分发请求,向所述用户设备发送所述第二数据的至少一部分;向所述isp管控平台发送内容分发应答信息;所述isp管控平台,还用于接收到所述内容分发应答信息后,向所述cp管控平台发送第二数据的剩余部分的剩余部分内容分发请求信息;所述cp管控平台,用于响应于接收到所述剩余部分内容分发请求信息,向所述isp管控平台发送链路建立请求;所述isp管控平台,还用于响应于接收到所述链路建立请求,建立所述用户设备和所述内容源服务器之间的数据连接;向所述cp管控平台发送链路建立应答信息;所述内容源服务器,用于通过建立的数据连接采用加密方式向所述用户设备发送所述第二数据的剩余部分;所述用户设备,用于接收通过采用加密方式发送的第二数据的剩余部分,并根据自身的私钥进行解密,得到第二数据的剩余部分。6.根据权利要求4所述的系统,其特征在于,所述isp管控平台,还用于识别所述用户设备和已经缓存了第二数据的更高码率版本的缓存节点之间的链路状态;选取对应链路状态最好的缓存节点作为第五缓存节点;建立所述用户设备和所述第五缓存节点之间的数据连接;向所述第五缓存节点发送内容分发请求信息;所述第五缓存节点,用于响应于接收到所述内容分发请求信息,将自身存储的更高码率版本的第二数据转换为对应码率版本,并向所述用户设备进行发送。7.根据权利要求4所述的系统,其特征在于,所述isp管控平台,还用于向所述cp管控平台发送第三数据的完整内容分发请求信息;所述cp管控平台,还用于响应于接收到所述完整内容分发请求信息,向所述isp管控平台发送链路建立请求信息;所述isp管控平台,还用于响应于接收到所述链路建立请求信息,建立所述用户设备和所述内容源服务器之间的数据连接;向所述cp管控平台发送链路建立应答信息;所述内容源服务器,用于通过建立的数据连接利用加密方式向所述用户设备发送所述第三数据;所述用户设备,用于接收通过采用加密方式发送的第三数据,并根据自身的私钥进行解密,得到所述第三数据。8.根据权利要求7所述的系统,其特征在于,所述用户设备,还用于向所述isp管控平台发送完整内容分发完成信息;所述isp管控平台,还用于响应于接收到所述完整内容分发完成信息,向所述cp管控平
台发送内容分发确认信息,其中,所述内容分发确认信息包括所述第三数据的摘要的哈希值;所述cp管控平台,还用于接收所述内容分发确认信息,并对所述第三数据的摘要的哈希值进行验证;当验证通过时,向所述区块链网络中的其它节点广播所述内容分发确认信息,以使所述区块链网络中的其它节点接收并对所述内容分发确认信息进行验证,当验证通过时添加到各节点自身的交易池中。9.根据权利要求1所述的系统,其特征在于,所述区块链网络,用于每间隔预设时长,在所述区块链网络的各isp管控平台及各cp管控平台中选取一个目标网络节点;所述目标网络节点,用于从自身的交易池中选取预设数量的交易封装成一个目标区块,其中,所述预设数量的交易包括内容发布信息、内容缓存确认信息、内容缓存删除确认信息、内容分发确认信息;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;所述isp管控平台和所述cp管控平台,还用于根据目标区块中所述内容发布信息、所述内容缓存确认信息、所述内容缓存删除确认信息和所述内容分发确认信息来更新自身的内容发布信息表、全局内容缓存状态信息表、内容分发信息表。10.一种基于区块链的内容分发方法,其特征在于,应用于基于区块链的内容分发系统,所述系统包括:区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商isp管控平台及多个内容提供商cp管控平台;所述方法包括:通过所述isp管控平台基于内容分发信息表,确定待缓存的第一数据及用于缓存所述第一数据的第一缓存节点,其中,所述内容分发信息表中存储了所述cp管控平台发布的内容的历史分发信息;向发布所述第一数据的cp管控平台发送内容缓存请求信息;通过所述cp管控平台在接收到所述内容缓存请求信息后,确定所述第一数据所属的第一内容源服务器,并生成包括所述第一内容源服务器标识的内容缓存应答信息;向所述isp管控平台发送内容缓存应答信息;通过所述isp管控平台响应于接收到所述内容缓存应答信息,向所述第一缓存节点发送目标内容的内容获取请求信息;通过所述第一缓存节点响应于接收到所述内容获取请求信息,从第一源服务器中获取所述第一数据中的至少一部分数据;向所述isp管控平台发送内容获取应答信息;通过所述isp管控平台响应于接收到所述内容获取应答信息,向所述cp管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述至少一部分数据的内容摘要的哈希值;通过所述cp管控平台响应于接收到所述内容获取确认信息,验证所述内容摘要的哈希值;当验证通过时,向所述区块链网络广播内容缓存确认信息,以使所述区块链网络中的其它节点接收所述内容缓存确认信息并验证,在验证通过时添加到各节点自身的交易池中;通过所述isp管控平台接收并根据所述内容获取应答信息和所述内容缓存确认信息,更新自身的本地内容缓存状态表。

技术总结


本申请实施例提供的一种基于区块链的内容分发系统及方法,应用于信息技术领域,ISP管控平台,用于向发布第一数据的CP管控平台发送内容缓存请求信息;CP管控平台,用于向ISP管控平台发送内容缓存应答信息;ISP管控平台,还用于向第一缓存节点发送目标内容的内容获取请求信息;第一缓存节点,用于获取第一数据中的至少一部分数据;向ISP管控平台发送内容获取应答信息;ISP管控平台,还用于向CP管控平台发送内容获取确认信息;CP管控平台,还用于向区块链广播内容缓存确认信息;ISP管控平台,还用于接收并根据内容获取应答信息和内容缓存确认信息,更新本地内容缓存状态表,解决ISP直接响应用户的内容请求,CP难以得到真实的内容请求和分发数据的问题。求和分发数据的问题。求和分发数据的问题。


技术研发人员:

谢俊峰 陈友兴 金永 王伟 郭鑫

受保护的技术使用者:

中北大学

技术研发日:

2022.11.14

技术公布日:

2023/3/3

本文发布于:2024-09-23 13:27:49,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/64387.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   内容   缓存   信息
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议