一种基于区块链的数据缓存系统及方法

阅读: 评论:0

著录项
  • CN202211418567.1
  • 20221114
  • CN115834609A
  • 20230321
  • 中北大学
  • 谢俊峰;陈友兴;金永;王伟;郭鑫
  • H04L67/1097
  • H04L67/1097 H04L67/568 H04L67/566

  • 山西省太原市尖草坪区学院路3号
  • 山西(14)
  • 北京柏杉松知识产权代理事务所(普通合伙)
  • 丁芸;马敬
摘要
本申请实施例提供的一种基于区块链的数据缓存系统及方法,应用于信息技术领域,通过ISP管控平台在区块链网络中广播自身的缓存资源分布信息;CP管控平台获取合法的缓存资源分布信息;生成并将缓存资源申请信息发送给管理指定缓存节点的ISP管控平台;ISP管控平台为发送缓存资源申请信息的CP管控平台分配指定缓存节点的缓存资源,生成并向发送缓存资源申请信息的CP管控平台发送缓存资源申请应答信息;CP管控平台生成数据缓存信息;向管理指定缓存节点的ISP管控平台发送数据缓存信息;ISP管控平台向指定缓存节点发送数据获取信息;指定缓存节点获取指定数据并缓存指定数据。本申请实施例的方案可以实现在移动网络中的缓存和分发的管理。
权利要求

1.一种基于区块链的数据缓存系统,其特征在于,所述系统包括:

区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商ISP管控平台及多个内容提供商CP管控平台;

所述ISP管控平台,用于在所述区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

所述CP管控平台,用于获取合法的缓存资源分布信息;按照所述合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将所述缓存资源申请信息发送给管理所述指定缓存节点的ISP管控平台;

所述ISP管控平台,还用于响应于接收到所述缓存资源申请信息,为发送所述缓存资源申请信息的CP管控平台分配所述指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送所述缓存资源申请信息的CP管控平台发送所述缓存资源申请应答信息;

所述CP管控平台,还用于在接收到所述缓存资源申请应答信息后,生成数据缓存信息,其中,所述数据缓存信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息;

所述ISP管控平台,还用于响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;

所述指定缓存节点,用于响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据。

2.根据权利要求1所述的系统,其特征在于,所述指定缓存节点,还用于在缓存完所述指定数据后,获取自身缓存的所述指定数据对应的哈希值,得到目标哈希值;生成包括所述目标哈希值的内容获取应答,并向自身对应的ISP管控平台发送所述内容获取应答;

所述ISP管控平台,还用于在接收到所述内容获取应答后,向发送所述数据缓存信息的CP管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述目标哈希值;

所述CP管控平台,还用于在接收到所述内容获取确认信息后,根据所述目标哈希值验证所述指定缓存节点中缓存的所述指定数据是否正确,如果正确则生成表示所述指定缓存节点完成所述指定数据缓存的内容预缓存确认信息,并在所述区块链网络中广播所述内容预缓存确认信息,以使所述区块链网络中的其他节点根据所述内容预缓存确认信息更新自身的交易池;

所述CP管控平台,还用于如果验证所述指定缓存节点中缓存的所述指定数据不正确,则重新向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息。

3.根据权利要求1所述的系统,其特征在于,

所述ISP管控平台,具体用于响应于接收到所述缓存资源申请信息,判断所述指定缓存节点的剩余可用缓存资源是否小于请求值,其中,所述请求值为所述缓存资源申请信息中所请求的所述指定缓存节点的缓存资源的大小;若不小于,则将所述指定缓存节点中所述请求值大小的缓存资源,分配给发送所述缓存资源申请信息的CP管控平台;若小于,则将所述指定缓存节点的剩余可用缓存资源全部分配给发送所述缓存资源申请信息的CP管控平台。

4.根据权利要求1所述的系统,其特征在于,

所述CP管控平台,还用于在需要删除所述指定数据的情况下,向管理所述指定缓存节点的所述ISP管控平台发送内容缓存删除请求,其中,所述内容缓存删除请求包括所述指定数据的标识;

所述ISP管控平台,还用于响应于接收到所述内容缓存删除请求,将所述内容缓存删除请求转发给所述指定缓存节点;

所述指定缓存节点,用于响应于接收到所述内容缓存删除请求,根据所述内容缓存删除请求中所述指定数据的标识,删除待删除内容;生成并向所述ISP管控平台发送内容缓存删除应答信息;

所述ISP管控平台,还用于响应于接收到所述内容缓存删除应答信息,生成内容缓存删除确认信息,并向发送所述内容缓存删除请求的所述CP管控平台发送内容缓存删除确认信息;

所述CP管控平台,还用于响应于接收到所述内容缓存删除确认信息,生成内容缓存删除广播信息,并在所述区块链网络中广播所述内容缓存删除广播信息,以使所述区块链网络中的其他节点根据所述内容缓存删除广播信息更新自身的交易池。

5.根据权利要求1所述的系统,其特征在于,

所述ISP管控平台,还用于在接收客户端发送的内容请求后,按照所述内容请求中CP管控平台的标识,将所述内容请求转发给相应的CP管控平台,其中,所述内容请求中包括CP管控平台的标识、加密的客户端请求的目标数据的标识、所述客户端的位置信息;

所述CP管控平台,还用于响应于接收到所述内容请求,解密所述内容请求中的目标数据的标识;根据所述位置信息及所述目标数据的标识,判断在所述客户端的预设范围内是否存在缓存有所述目标数据的缓存节点;若预设范围内存在缓存有所述目标数据的缓存节点,则获取所述客户端预设范围内的缓存有所述目标数据的全部缓存节点的标识,得到至少一个第一节点标识;将包括全部第一节点标识的链路状态请求反馈给所述ISP管控平台;

所述ISP管控平台,还用于响应于接收到所述链路状态请求,针对所述链路状态请求中的每一个第一节点标识,确定该第一节点标识表示的缓存节点与所述客户端的链路状态,得到该第一节点标识对应的链路状态;生成包括全部第一节点标识对应的链路状态的链路状态应答信息,并向所述CP管控平台反馈所述链路状态应答信息;

所述CP管控平台,还用于响应于接收到所述链路状态应答信息,确定链路状态最好的第一节点标识,并向所述ISP管控平台发送第一内容分发请求,其中,所述第一内容分发请求包括链路状态最好的第一节点标识;

所述ISP管控平台,还用于响应于接收到所述第一内容分发请求,创建第一缓存节点与所述客户端的通信连接,以使所述第一缓存节点通过创建的通信连接向所述客户端发送所述目标数据,其中,所述第一缓存节点为所述第一内容分发请求中携带的第一节点标识所表示的缓存节点。

6.根据权利要求5所述的系统,其特征在于,所述目标数据为视频数据;

所述CP管控平台,还用于若预设范围内不存在缓存有所述目标数据的缓存节点,判断在所述客户端的预设范围内是否存在缓存有所述目标数据对应的更高码率版本的缓存节点;若预设范围内存在缓存有所述目标数据对应的更高码率版本的缓存节点,则获取所述客户端预设范围内缓存有所述目标数据对应的更高码率版本的全部缓存节点的标识,得到至少一个第二节点标识;将包括全部第二节点标识的链路和计算状态请求反馈给所述ISP管控平台;

所述ISP管控平台,还用于响应于接收到所述链路和计算状态请求,针对所述链路和计算状态请求中的每一个第二节点标识,确定该第二节点标识表示的缓存节点与所述客户端的链路状态,以及确定该第二节点标识表示的缓存节点的可用计算资源,得到该第二节点标识对应的链路状态及可用计算资源;生成包括全部第二节点标识对应的链路状态及可用计算资源的链路和计算状态应答信息;向所述CP管控平台反馈所述链路和计算状态应答信息;

所述CP管控平台,还用于响应于接收到所述链路和计算状态应答信息,在可用计算资源满足转码需求的第二节点标识中,选取链路状态最好的第二节点标识得到目标节点标识;向所述ISP管控平台发送包括所述目标节点标识的第二内容分发请求;

所述ISP管控平台,还用于响应于接收到所述第二内容分发请求,创建第二缓存节点与所述客户端的通信连接,其中,所述第二缓存节点为所述第二内容分发请求中携带的目标节点标识所表示的缓存节点;

所述第二缓存节点,用于将所述目标数据对应的更高码率版本转换为所述目标数据,基于与所述客户端的通信连接,向所述客户端发送所述目标数据。

7.根据权利要求5-6任一所述的系统,其特征在于,

所述ISP管控平台,还用于响应于接收到所述客户端发送的内容分发应答信息,向所述CP管控平台发送内容分发确认信息,其中,所述内容分发应答信息为所述客户端下载完目标数据后发送的,所述内容分发应答信息中包括加密的目标数据摘要的哈希值,所述内容分发确认信息中包括加密的目标数据摘要的哈希值;

所述CP管控平台,还用于响应于接收到所述内容分发确认信息,利用自身预先存储的私钥对所述加密的目标数据摘要的哈希值进行解密,得到目标数据摘要的哈希值;对解密得到的目标数据摘要的哈希值进行验证,当验证通过时,生成表示所述客户端成功获取所述目标数据的内容分发交易信息,在所述区块链网络中广播所述内容分发交易信息,以使所述区块链网络中的其他节点根据内容分发交易信息更新自身的交易池;当验证未通过时,执行响应于接收到所述内容请求的操作。

8.根据权利要求7所述的系统,其特征在于,所述CP管控平台,还用于在接收到所述缓存资源申请应答信息后,生成所述缓存资源申请应答信息对应的缓存资源申请确认信息;在所述区块链网络中广播所述缓存资源申请确认信息,以使所述区块链网络中的其他节点根据所述缓存资源申请确认信息更新自身的交易池;

所述区块链网络,用于每间隔预设时长,在所述区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点;

所述目标网络节点,用于从自身的交易池中选取预设数量的交易封装成一个目标区块;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;

所述ISP管控平台和所述CP管控平台,还用于根据所述缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

9.一种基于区块链的数据缓存方法,其特征在于,应用于区块链网络中的ISP管控平台,所述方法包括:

在所述区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

响应于接收到所述缓存资源申请信息,为发送所述缓存资源申请信息的CP管控平台分配指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送所述缓存资源申请信息的CP管控平台发送所述缓存资源申请应答信息;

响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,以使所述指定缓存节点响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据。

10.一种基于区块链的数据缓存方法,其特征在于,应用于区块链网络中的CP管控平台,

所述方法包括:

获取合法的缓存资源分布信息;按照所述合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将所述缓存资源申请信息发送给管理所述指定缓存节点的ISP管控平台;

在接收到所述缓存资源申请应答信息后,生成数据缓存信息,其中,所述数据缓存信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息,以使所述ISP管控平台响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,通过所述指定缓存节点响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据。

说明书
技术领域

本申请涉及信息技术领域,特别是涉及一种基于区块链的数据缓存系统及方法。

目前,为了应对爆炸式增长的移动流量,业界提出了边缘缓存技术,通过在移动网络无线接入网侧部署智能高速缓存,将流行的内容缓存在最贴近用户的边缘,当有用户进行内容请求时,如果距离用户近的缓存有该内容,则直接将内容传输给用户从而减少内容重复传输,提升用户体验。

然而,目前的内容缓存和分发一般由ISP(Internet Service Provider,网络业务提供商)控制,内容在移动网络中的缓存和分发往往缺乏管理。

本申请实施例的目的在于提供一种基于区块链的数据缓存系统及方法,用以解决内容在移动网络中的缓存和分发往往缺乏管理的问题。具体技术方案如下:

本申请实施例的第一方面,提供了一种基于区块链的数据缓存系统,所述系统包括:区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商ISP管控平台及多个内容提供商CP管控平台;

所述ISP管控平台,用于在所述区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

所述CP管控平台,用于获取合法的缓存资源分布信息;按照所述合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将所述缓存资源申请信息发送给管理所述指定缓存节点的ISP管控平台;

所述ISP管控平台,还用于响应于接收到所述缓存资源申请信息,为发送所述缓存资源申请信息的CP管控平台分配所述指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送所述缓存资源申请信息的CP管控平台发送所述缓存资源申请应答信息;

所述CP管控平台,还用于在接收到所述缓存资源申请应答信息后,生成数据缓存信息,其中,所述数据缓存信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息;

所述ISP管控平台,还用于响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;

所述指定缓存节点,用于响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据。

可选的,所述CP管控平台,还用于在接收到所述缓存资源申请应答信息后,生成所述缓存资源申请应答信息对应的缓存资源申请确认信息;在所述区块链网络中广播所述缓存资源申请确认信息,以使所述区块链网络中的其他节点根据所述缓存资源申请确认信息更新自身的交易池。

可选的,所述指定缓存节点,还用于在缓存完所述指定数据后,获取自身缓存的所述指定数据对应的哈希值,得到目标哈希值;生成包括所述目标哈希值的内容获取应答,并向自身对应的ISP管控平台发送所述内容获取应答;

所述ISP管控平台,还用于在接收到所述内容获取应答后,向发送所述数据缓存信息的CP管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述目标哈希值;

所述CP管控平台,还用于在接收到所述内容获取确认信息后,根据所述目标哈希值验证所述指定缓存节点中缓存的所述指定数据是否正确,如果正确则生成表示所述指定缓存节点完成所述指定数据缓存的内容预缓存确认信息,并在所述区块链网络中广播所述内容预缓存确认信息,以使所述区块链网络中的其他节点根据所述内容预缓存确认信息更新自身的交易池;

所述CP管控平台,还用于如果验证所述指定缓存节点中缓存的所述指定数据不正确,则重新向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息。

可选的,所述ISP管控平台,具体用于响应于接收到所述缓存资源申请信息,判断所述指定缓存节点的剩余可用缓存资源是否小于请求值,其中,所述请求值为所述缓存资源申请信息中所请求的所述指定缓存节点的缓存资源的大小;若不小于,则将所述指定缓存节点中所述请求值大小的缓存资源,分配给发送所述缓存资源申请信息的CP管控平台;若小于,则将所述指定缓存节点的剩余缓存资源全部分配给发送所述缓存资源申请信息的CP管控平台。

可选的,所述CP管控平台,还用于在需要删除所述指定数据的情况下,向管理所述指定缓存节点的所述ISP管控平台发送内容缓存删除请求,其中,所述内容缓存删除请求包括所述指定数据的标识;

所述ISP管控平台,还用于响应于接收到所述内容缓存删除请求,将所述内容缓存删除请求转发给所述指定缓存节点;

所述指定缓存节点,用于响应于接收到所述内容缓存删除请求,根据所述内容缓存删除请求中所述指定数据的标识,删除待删除内容;生成并向所述ISP管控平台发送内容缓存删除应答信息;

所述ISP管控平台,还用于响应于接收到所述内容缓存删除应答信息,生成内容缓存删除确认信息,并向发送所述内容缓存删除请求的所述CP管控平台发送内容缓存删除确认信息;

所述CP管控平台,还用于响应于接收到所述内容缓存删除确认信息,生成内容缓存删除广播信息,并在所述区块链网络中广播所述内容缓存删除广播信息,以使所述区块链网络中的其他节点根据所述内容缓存删除广播信息更新自身的交易池。

可选的,所述ISP管控平台,还用于在接收客户端发送的内容请求后,按照所述内容请求中CP管控平台的标识,将所述内容请求转发给相应的CP管控平台,其中,所述内容请求中包括CP管控平台的标识、加密的客户端请求的目标数据的标识、所述客户端的位置信息;

所述CP管控平台,还用于响应于接收到所述内容请求,解密所述内容请求中的目标数据的标识;根据所述位置信息及所述目标数据的标识,判断在所述客户端的预设范围内是否存在缓存有所述目标数据的缓存节点;若预设范围内存在缓存有所述目标数据的缓存节点,则获取所述客户端预设范围内的缓存有所述目标数据的全部缓存节点的标识,得到至少一个第一节点标识;将包括全部第一节点标识的链路状态请求反馈给所述ISP管控平台;

所述ISP管控平台,还用于响应于接收到所述链路状态请求,针对所述链路状态请求中的每一个第一节点标识,确定该第一节点标识表示的缓存节点与所述客户端的链路状态,得到该第一节点标识对应的链路状态;生成包括全部第一节点标识对应的链路状态的链路状态应答信息,并向所述CP管控平台反馈所述链路状态应答信息;

所述CP管控平台,还用于响应于接收到所述链路状态应答信息,确定链路状态最好的第一节点标识,并向所述ISP管控平台发送第一内容分发请求,其中,所述第一内容分发请求包括链路状态最好的第一节点标识;

所述ISP管控平台,还用于响应于接收到所述第一内容分发请求,创建第一缓存节点与所述客户端的通信连接,以使所述第一缓存节点通过创建的通信连接向所述客户端发送所述目标数据,其中,所述第一缓存节点为所述第一内容分发请求中携带的第一节点标识所表示的缓存节点。

可选的,所述目标数据为视频数据;

所述CP管控平台,还用于若预设范围内不存在缓存有所述目标数据的缓存节点,判断在所述客户端的预设范围内是否存在缓存有所述目标数据对应的更高码率版本的缓存节点;若预设范围内存在缓存有所述目标数据对应的更高码率版本的缓存节点,则获取所述客户端预设范围内缓存有所述目标数据对应的更高码率版本的全部缓存节点的标识,得到至少一个第二节点标识;将包括全部第二节点标识的链路和计算状态请求反馈给所述ISP管控平台;

所述ISP管控平台,还用于响应于接收到所述链路和计算状态请求,针对所述链路和计算状态请求中的每一个第二节点标识,确定该第二节点标识表示的缓存节点与所述客户端的链路状态,以及确定该第二节点标识表示的缓存节点的可用计算资源,得到该第二节点标识对应的链路状态及可用计算资源;生成包括全部第二节点标识对应的链路状态及可用计算资源的链路和计算状态应答信息;向所述CP管控平台反馈所述链路和计算状态应答信息;

所述CP管控平台,还用于响应于接收到所述链路和计算状态应答信息,在计算资源满足转码需求的第二节点标识中,选取链路状态最好的第二节点标识得到目标节点标识;向所述ISP管控平台发送包括所述目标节点标识的第二内容分发请求;

所述ISP管控平台,还用于响应于接收到所述第二内容分发请求,创建第二缓存节点与所述客户端的通信连接,其中,所述第二缓存节点为所述第二内容分发请求中携带的目标节点标识所表示的缓存节点;

所述第二缓存节点,用于将所述目标数据对应的更高码率版本转换为所述目标数据,基于与所述客户端的通信连接,向所述客户端发送所述目标数据。

可选的,所述CP管控平台,还用于若预设范围内不存在缓存有所述目标数据对应的更高码率版本的缓存节点,则获取存储有所述目标数据的内容源服务器的标识,得到目标内容源服务器标识;向所述ISP管控平台发送包括所述目标内容源服务器标识的链路建立请求;

所述ISP管控平台,还用于响应于接收到所述链路建立请求,建立所述目标内容源服务器标识表示的内容源服务器与所述客户端之间的通信连接。

可选的,所述ISP管控平台,还用于响应于接收到所述客户端发送的内容分发应答信息,向所述CP管控平台发送内容分发确认信息,其中,所述内容分发应答信息为所述客户端下载完目标数据后发送的,所述内容分发应答信息中包括加密的目标数据摘要的哈希值,所述内容分发确认信息中包括加密的目标数据摘要的哈希值;

所述CP管控平台,还用于响应于接收到所述内容分发确认信息,利用自身预先存储的私钥对所述加密的目标数据摘要的哈希值进行解密,得到目标数据摘要的哈希值;对解密得到的目标数据摘要的哈希值进行验证,当验证通过时,生成表示所述客户端成功获取所述目标数据的内容分发交易信息,在所述区块链网络中广播所述内容分发交易信息,以使所述区块链网络中的其他节点根据内容分发交易信息更新自身的交易池;当验证未通过时,执行响应于接收到所述内容请求的操作。

可选的,所述区块链网络,用于每间隔预设时长,在所述区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点;

所述目标网络节点,用于从自身的交易池中选取预设数量的交易封装成一个目标区块;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;

所述ISP管控平台和所述CP管控平台,还用于根据所述缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

本申请实施例的第二方面,提供了一种基于区块链的数据缓存方法,应用于区块链网络中的ISP管控平台,所述方法包括:

在所述区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

响应于接收到所述缓存资源申请信息,为发送所述缓存资源申请信息的CP管控平台分配所述指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送所述缓存资源申请信息的CP管控平台发送所述缓存资源申请应答信息;

响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,以使所述指定缓存节点响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据。

可选的,所述方法还包括:

在接收到所述内容获取应答后,向发送所述数据缓存信息的CP管控平台发送内容获取确认信息,其中,所述内容获取确认信息包括所述目标哈希值。

可选的,所述响应于接收到所述缓存资源申请信息,为发送所述缓存资源申请信息的CP管控平台分配所述指定缓存节点的缓存资源,包括:

响应于接收到所述缓存资源申请信息,判断所述指定缓存节点的剩余可用缓存资源是否小于请求值,其中,所述请求值为所述缓存资源申请信息中所请求的所述指定缓存节点的缓存资源的大小;若不小于,则将所述指定缓存节点中所述请求值大小的缓存资源,分配给发送所述缓存资源申请信息的CP管控平台;若小于,则将所述指定缓存节点的剩余可用缓存资源全部分配给发送所述缓存资源申请信息的CP管控平台。

可选的,所述方法还包括:

响应于接收到所述内容缓存删除请求,将所述内容缓存删除请求转发给所述指定缓存节点;

响应于接收到所述内容缓存删除应答信息,生成内容缓存删除确认信息,并向发送所述内容缓存删除请求的所述CP管控平台发送内容缓存删除确认信息。

可选的,所述方法还包括:

在接收客户端发送的内容请求后,按照所述内容请求中CP管控平台的标识,将所述内容请求转发给相应的CP管控平台,其中,所述内容请求中包括CP管控平台的标识、加密的客户端请求的目标数据的标识、所述客户端的位置信息;

响应于接收到所述链路状态请求,针对所述链路状态请求中的每一个第一节点标识,确定该第一节点标识表示的缓存节点与所述客户端的链路状态,得到该第一节点标识对应的链路状态;生成包括全部第一节点标识对应的链路状态的链路状态应答信息,并向所述CP管控平台反馈所述链路状态应答信息;

响应于接收到所述第一内容分发请求,创建第一缓存节点与所述客户端的通信连接,以使所述第一缓存节点通过创建的通信连接向所述客户端发送所述目标数据,其中,所述第一缓存节点为所述第一内容分发请求中携带的第一节点标识所表示的缓存节点。

可选的,所述方法还包括:

响应于接收到所述链路和计算状态请求,针对所述链路和计算状态请求中的每一个第二节点标识,确定该第二节点标识表示的缓存节点与所述客户端的链路状态,以及确定该第二节点标识表示的缓存节点的可用计算资源,得到该第二节点标识对应的链路状态及可用计算资源;生成包括全部第二节点标识对应的链路状态及可用计算资源的链路和计算状态应答信息;向所述CP管控平台反馈所述链路和计算状态应答信息;

响应于接收到所述第二内容分发请求,创建第二缓存节点与所述客户端的通信连接,其中,所述第二缓存节点为所述第二内容分发请求中携带的目标节点标识所表示的缓存节点。

可选的,所述方法还包括:

响应于接收到所述链路建立请求,建立所述目标内容源服务器标识表示的内容源服务器与所述客户端之间的通信连接。

可选的,所述方法还包括:

响应于接收到所述客户端发送的内容分发应答信息,向所述CP管控平台发送内容分发确认信息,其中,所述内容分发应答信息为所述客户端下载完目标数据后发送的,所述内容分发应答信息中包括加密的目标数据摘要的哈希值,所述内容分发确认信息中包括加密的目标数据摘要的哈希值。

可选的,所述方法还包括:

每间隔预设时长,在所述区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点,并通过所述目标网络节点从自身的交易池中选取预设数量的交易封装成一个目标区块;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;

根据所述缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

本申请实施例的第三方面,提供了一种基于区块链的数据缓存方法,应用于区块链网络中的CP管控平台;所述方法包括:

获取合法的缓存资源分布信息;按照所述合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将所述缓存资源申请信息发送给管理所述指定缓存节点的ISP管控平台;

在接收到所述缓存资源申请应答信息后,生成数据缓存信息,其中,所述数据缓存信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息,以使所述ISP管控平台响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,通过所述指定缓存节点响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据。

可选的,所述方法还包括:

在接收到所述缓存资源申请应答信息后,生成所述缓存资源申请应答信息对应的缓存资源申请确认信息;在所述区块链网络中广播所述缓存资源申请确认信息,以使所述区块链网络中的其他节点根据所述缓存资源申请确认信息更新自身的交易池。

可选的,所述方法还包括:

在接收到所述内容获取确认信息后,根据所述目标哈希值验证所述指定缓存节点中缓存的所述指定数据是否正确,如果正确则生成表示所述指定缓存节点完成所述指定数据缓存的内容预缓存确认信息,并在所述区块链网络中广播所述内容预缓存确认信息,以使所述区块链网络中的其他节点根据所述内容预缓存确认信息更新自身的交易池。

可选的,所述方法还包括:

如果验证所述指定缓存节点中缓存的所述指定数据不正确,则重新向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息。

可选的,所述方法还包括:

在需要删除所述指定数据的情况下,向管理所述指定缓存节点的所述ISP管控平台发送内容缓存删除请求,其中,所述内容缓存删除请求包括所述指定数据的标识;

响应于接收到所述内容缓存删除确认信息,生成内容缓存删除广播信息,并在所述区块链网络中广播所述内容缓存删除广播信息,以使所述区块链网络中的其他节点根据所述内容缓存删除广播信息更新自身的交易池。

可选的,所述方法还包括:

响应于接收到所述内容请求,解密所述加密的客户端请求的目标数据的标识,得到并根据所述位置信息及所述目标数据的标识,判断在所述客户端的预设范围内是否存在缓存有所述目标数据的缓存节点;若预设范围内存在缓存有所述目标数据的缓存节点,则获取所述客户端预设范围内的缓存有所述目标数据的全部缓存节点的标识,得到至少一个第一节点标识;将包括全部第一节点标识的链路状态请求反馈给所述ISP管控平台;

响应于接收到所述链路状态应答信息,确定链路状态最好的第一节点标识,并向所述ISP管控平台发送第一内容分发请求,其中,所述第一内容分发请求包括链路状态最好的第一节点标识。

可选的,所述方法还包括:

若预设范围内不存在缓存有所述目标数据的缓存节点,判断在所述客户端的预设范围内是否存在缓存有所述目标数据对应的更高码率版本的缓存节点;若预设范围内存在缓存有所述目标数据对应的更高码率版本的缓存节点,则获取所述客户端预设范围内缓存有所述目标数据对应的更高码率版本的全部缓存节点的标识,得到至少一个第二节点标识;将包括全部第二节点标识的链路和计算状态请求反馈给所述ISP管控平台;

响应于接收到所述链路和计算状态应答信息,在可用计算资源满足转码需求的第二节点标识中,选取链路状态最好的第二节点标识得到目标节点标识;向所述ISP管控平台发送包括所述目标节点标识的第二内容分发请求。

可选的,所述方法还包括:

若预设范围内不存在缓存有所述目标数据对应的更高码率版本的缓存节点,则获取存储有所述目标数据的内容源服务器的标识,得到目标内容源服务器标识;向所述ISP管控平台发送包括所述目标内容源服务器标识的链路建立请求。

可选的,所述方法还包括:

响应于接收到所述内容分发确认信息,利用自身预先存储的私钥对所述加密的目标数据摘要的哈希值进行解密,得到目标数据摘要的哈希值;对解密得到的目标数据摘要的哈希值进行验证,当验证通过时,生成表示所述客户端成功获取所述目标数据的内容分发交易信息,在所述区块链网络中广播所述内容分发交易信息,以使所述区块链网络中的其他节点根据内容分发交易信息更新自身的交易池;当验证未通过时,执行响应于接收到所述内容请求的操作。

可选的,所述方法还包括:

每间隔预设时长,在所述区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点,并通过所述目标网络节点从自身的交易池中选取预设数量的交易封装成一个目标区块;在所述区块链网络中广播所述目标区块,以使所述区块链网络中的其它节点判断所述目标区块是否合法,在所述目标区块合法时添加所述目标区块到区块链的尾部;

根据所述缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

本申请实施例的另一方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一基于区块链的数据缓存方法。

本申请实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于区块链的数据缓存方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于区块链的数据缓存方法。

本申请实施例有益效果:

本申请实施例提供的一种基于区块链的数据缓存系统及方法,所述系统包括:区块链网络、多个内容源服务器、多个缓存节点,所述区块链网络包括多个网络业务提供商ISP管控平台及多个内容提供商CP管控平台;所述ISP管控平台,用于在所述区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;所述CP管控平台,用于获取合法的缓存资源分布信息;按照所述合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将所述缓存资源申请信息发送给管理所述指定缓存节点的ISP管控平台;所述ISP管控平台,还用于响应于接收到所述缓存资源申请信息,为发送所述缓存资源申请信息的CP管控平台分配所述指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送所述缓存资源申请信息的CP管控平台发送所述缓存资源申请应答信息;所述CP管控平台,还用于在接收到所述缓存资源申请应答信息后,生成数据缓存信息,其中,所述数据缓存信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;向管理所述指定缓存节点的ISP管控平台发送所述数据缓存信息;所述ISP管控平台,还用于响应于接收到所述数据缓存信息,向所述指定缓存节点发送数据获取信息,其中,所述数据获取信息表示令所述指定缓存节点缓存指定内容源服务器中的指定数据;所述指定缓存节点,用于响应于接收到所述数据获取信息,从所述指定内容源服务器中获取所述指定数据,并缓存所述指定数据。通过本申请实施例的方案,利用CP管控平台向ISP管控平台发送缓存资源申请信息后,ISP管控平台可以向相应的CP管控平台分配缓存资源,并向CP管控平台发送应答信息,以使CP管控平台生成数据缓存信息并向ISP管控平台发送数据缓存信息,从而使ISP管控平台向所述指定缓存节点发送数据获取信息,以实现指定缓存节点从所述指定内容源服务器中获取该指定数据,并缓存。

当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。

图1为本申请实施例提供的基于区块链的数据缓存系统的一种结构示意图;

图2为本申请实施例提供的基于区块链的数据缓存系统的一种实例图;

图3为本申请实施例提供的基于区块链的数据缓存方法的一种流程示意图;

图4为本申请实施例提供的基于区块链的数据缓存方法的另一种流程示意图;

图5为本申请实施例提供的电子设备的一种结构示意图;

图6为本申请实施例提供的电子设备的另一种结构示意图。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例的第一方面,提供了一种基于区块链的数据缓存系统,参见图1,上述系统包括:区块链网络101、多个内容源服务器102、多个缓存节点103,区块链网络包括多个网络业务提供商ISP(Internet Service Provider,网络业务提供商)管控平台1011及多个内容提供商CP(Content Provider,内容提供商)管控平台1012;

ISP管控平台1011,用于在区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

CP管控平台1012,用于获取合法的缓存资源分布信息;按照合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将缓存资源申请信息发送给管理指定缓存节点的ISP管控平台;

ISP管控平台1011,还用于响应于接收到缓存资源申请信息,为发送缓存资源申请信息的CP管控平台分配指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送缓存资源申请信息的CP管控平台发送缓存资源申请应答信息;

CP管控平台1012,还用于在接收到缓存资源申请应答信息后,生成数据缓存信息,其中,数据缓存信息表示令指定缓存节点缓存指定内容源服务器中的指定数据;向管理指定缓存节点的ISP管控平台发送数据缓存信息;

ISP管控平台1011,还用于响应于接收到数据缓存信息,向指定缓存节点发送数据获取信息,其中,数据获取信息表示令指定缓存节点缓存指定内容源服务器中的指定数据;

指定缓存节点,用于响应于接收到数据获取信息,从指定内容源服务器中获取指定数据,并缓存指定数据。

本申请实施例中的ISP管控平台可以是指移动、联通、电信等网络的运营商,CP管控平台可以是指运营内容资源的运营商。具体的,参见图2,每个ISP有一个ISP管控平台,每个CP有一个CP管控平台,ISP与CP之间的信息交互均通过ISP管控平台和CP管控平台完成,ISP管控平台和CP管控平台共同组成区块链网络。

一个例子中,参见图2,本申请实施例中的内容缓存过程包括:

步骤1.1:ISP管控平台在区块链网络广播“缓存资源分布信息”,其中携带:交易哈希值、ISP标识、缓存节点ID、缓存节点位置信息、可用缓存资源、时间戳、Nonce值、该ISP的公钥、该ISP的数字签名。交易哈希值是利用哈希函数根据ISP标识、缓存节点ID、缓存节点位置信息、可用缓存资源、时间戳、Nonce值计算出来的结果,要通过不断调整Nonce值使得计算出来的交易哈希值小于TargetHash1。ISP标识指明了“缓存资源分布信息”是哪个ISP管控平台发布的,缓存节点ID、缓存节点位置信息、可用缓存资源指明了该ISP缓存资源的分布情况(一般ISP会在多个地方部署多个缓存节点)。

步骤1.2:区块链网络的其它节点收到“缓存资源分布信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。

步骤1.3:CP管控平台向相应的ISP管控平台发送“缓存资源申请请求”,其中携带:CP标识、缓存节点ID、缓存节点位置信息、需要的缓存资源。缓存节点ID、缓存节点位置信息、需要的缓存资源指明了CP的缓存需求。

步骤1.4:ISP管控平台收到“缓存资源申请请求”后,查看“ISP缓存资源分布信息表”,如果缓存节点的可用缓存资源大于等于CP需要的缓存资源,则分配给其需要的缓存资源;如果缓存节点的可用缓存资源小于CP需要的缓存资源,则分配给其最多可用的缓存资源。之后向CP管控平台发送“缓存资源申请应答”,其中携带:ISP标识、缓存节点ID、缓存节点位置信息、分配的缓存资源、该ISP的公钥、该ISP的数字签名。缓存节点ID、缓存节点位置信息、分配的缓存资源指明了ISP分配给该CP的缓存资源信息。

步骤1.5:CP管控平台收到“缓存资源申请应答”后,向区块链网络广播“缓存资源申请确认信息”,其中携带:交易哈希值、CP标识、ISP标识、缓存节点ID、缓存节点位置信息、分配的缓存资源、时间戳、Nonce值、该ISP的公钥、该ISP的数字签名、该CP的公钥、该CP的数字签名。交易哈希值是利用哈希函数根据CP标识、ISP标识、缓存节点ID、缓存节点位置信息、分配的缓存资源、时间戳、Nonce值计算出来的结果,要通过不断调整Nonce值使得计算出来的交易哈希值小于TargetHash2。

步骤1.6:区块链网络的其它节点收到“缓存资源申请确认信息”后,需要验证该交易的合法性。首先根据交易中的数字签名和公钥验证该交易的完整性和真实性,之后查看“ISP缓存资源分布信息表”,如果相应缓存节点的可用缓存资源小于分配的缓存资源,该交易会直接被丢弃,如果相应缓存节点的可用缓存资源大于等于分配的缓存资源,则说明该交易是一个合法的交易,将其添加到交易池中。

可见,通过本申请实施例的系统,可以利用CP管控平台向ISP管控平台发送缓存资源申请信息后,ISP管控平台可以向相应的CP管控平台分配缓存资源,并向CP管控平台发送应答信息,以使CP管控平台生成数据缓存信息并向ISP管控平台发送数据缓存信息,从而使ISP管控平台向指定缓存节点发送数据获取信息,以实现指定缓存节点从指定内容源服务器中获取该指定数据,并缓存。

可选的,CP管控平台1012,还用于在接收到缓存资源申请应答信息后,生成缓存资源申请应答信息对应的缓存资源申请确认信息;在区块链网络中广播缓存资源申请确认信息,以使区块链网络中的其他节点根据缓存资源申请确认信息更新自身的交易池。

可选的,指定缓存节点,还用于在缓存完指定数据后,获取自身缓存的指定数据对应的哈希值,得到目标哈希值;生成包括目标哈希值的内容获取应答,并向自身对应的ISP管控平台发送内容获取应答;

ISP管控平台1011,还用于在接收到内容获取应答后,向发送数据缓存信息的CP管控平台发送内容获取确认信息,其中,内容获取确认信息包括目标哈希值;

CP管控平台1012,还用于在接收到内容获取确认信息后,根据目标哈希值验证指定缓存节点中缓存的指定数据是否正确,如果正确则生成表示指定缓存节点完成指定数据缓存的内容预缓存确认信息,并在区块链网络中广播内容预缓存确认信息,以使区块链网络中的其他节点根据内容预缓存确认信息更新自身的交易池。

可选的,CP管控平台1012,还用于如果验证指定缓存节点中缓存的指定数据不正确,则重新向管理指定缓存节点的ISP管控平台发送数据缓存信息。

可选的,ISP管控平台1011,具体用于响应于接收到缓存资源申请信息,判断指定缓存节点的剩余可用缓存资源是否小于请求值,其中,请求值为缓存资源申请信息中所请求的指定缓存节点的缓存资源的大小;若不小于,则将指定缓存节点中请求值大小的缓存资源,分配给发送缓存资源申请信息的CP管控平台;若小于,则将指定缓存节点的剩余可用缓存资源全部分配给发送缓存资源申请信息的CP管控平台。

一个例子中,CP管控平台根据内容分发信息表,利用预设算法,可以确定在不同位置区域,哪些内容的哪些版本是最受用户欢迎的,并提前将最受欢迎的内容缓存在不同位置的缓存节点中。具体的,在步骤1.6之后,还可以包括:

步骤1.7:CP管控平台向ISP管控平台发送“内容预缓存请求”,其中携带:CP标识、缓存节点ID、内容URI、码率版本、源服务器地址。(例如,CP把“电影***”的码率版本(编号为3)缓存在缓存节点1)

步骤1.8:ISP管控平台根据收到的“内容预缓存请求”,向相应的缓存节点(缓存节点1)发送“内容获取请求”,其中携带:内容URI(电影***)、码率版本(3)、源服务器地址。

步骤1.9:缓存节点1根据“内容获取请求”,从源服务器获取“电影***”的码率版本(3)。

步骤1.10:内容获取完成后,缓存节点1向ISP管控平台发送“内容获取应答”,其中携带:缓存节点ID、内容URI、码率版本、内容摘要的哈希值、内容获取完成标识符。内容获取完成标识符为1表示内容获取完成,为0表示获取未完成。

步骤1.11:ISP管控平台向CP管控平台发送“内容获取确认”,其中携带:ISP标识、缓存节点ID、内容URI、码率版本、内容摘要的哈希值、内容获取完成标识符、该ISP的公钥、该ISP的数字签名。

步骤1.12:CP管控平台收到“内容获取确认”后,验证其中携带的内容摘要哈希值,如果该值错误,则说明内容在传输过程中出错了,需要重新执行步骤1.7到1.11;如果该值正确,表明ISP已经正确缓存了内容,之后CP管控平台向区块链网络广播“内容预缓存确认信息”,其中携带:交易哈希值、CP标识、ISP标识、缓存节点ID、内容URI、码率版本、时间戳、Nonce值、该ISP的公钥、该ISP的数字签名、该CP的公钥、该CP的数字签名。交易哈希值是利用哈希函数根据CP标识、ISP标识、缓存节点ID、内容URI、码率版本、时间戳、Nonce值计算出来的结果,要通过不断调整Nonce值使得计算出来的交易哈希值小于TargetHash3。

步骤1.13:区块链网络的其它节点收到“内容预缓存确认信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。

可选的,CP管控平台1012,还用于在需要删除指定数据的情况下,向管理指定缓存节点的ISP管控平台发送内容缓存删除请求,其中,内容缓存删除请求包括指定数据的标识;

ISP管控平台1011,还用于响应于接收到内容缓存删除请求,将内容缓存删除请求转发给指定缓存节点;

指定缓存节点,用于响应于接收到内容缓存删除请求,根据内容缓存删除请求中指定数据的标识,删除待删除内容;生成并向ISP管控平台发送内容缓存删除应答信息;

ISP管控平台1011,还用于响应于接收到内容缓存删除应答信息,生成内容缓存删除确认信息,并向发送内容缓存删除请求的CP管控平台发送内容缓存删除确认信息;

CP管控平台1012,还用于响应于接收到内容缓存删除确认信息,生成内容缓存删除广播信息,并在区块链网络中广播内容缓存删除广播信息,以使区块链网络中的其他节点根据内容缓存删除广播信息更新自身的交易池。

一个例子中,如果CP管控平台判断某个内容的某个码率版本已经不受用户欢迎了,则需要将其从缓存空间删除,具体步骤包括:

步骤2.1:CP管控平台向ISP管控平台发送“内容缓存删除请求”,其中携带:CP标识、缓存节点ID、内容URI、码率版本。

步骤2.2:ISP管控平台向相应的缓存节点转发“内容缓存删除请求”。

步骤2.3:缓存节点根据“内容缓存删除请求”,将相应内容的码率版本从缓存空间中删除。内容删除完成后,缓存节点向ISP管控平台发送“内容缓存删除应答”,其中携带:缓存节点ID、CP标识、内容URI、码率版本、内容缓存删除完成标识符。内容缓存删除完成标识符为1表示内容删除完成,为0表示删除未完成。

步骤2.4:ISP管控平台向CP管控平台发送“内容缓存删除确认”,其中携带:ISP标识、CP标识、缓存节点ID、内容URI、码率版本、内容缓存删除完成标识符、该ISP的公钥、该ISP的数字签名。

步骤2.5:CP管控平台收到“内容缓存删除确认”后,向区块链网络广播“内容缓存删除确认信息”,其中携带:交易哈希值、ISP标识、CP标识、缓存节点ID、内容URI、码率版本、时间戳、Nonce值、该ISP的公钥、该ISP的数字签名、该CP的公钥、该CP的数字签名。交易哈希值是利用哈希函数根据ISP标识、CP标识、缓存节点ID、内容URI、码率版本、时间戳、Nonce值计算出来的结果,要通过不断调整Nonce值使得计算出来的交易哈希值小于TargetHash4。

步骤2.6:区块链网络的其它节点收到“内容缓存删除确认信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。

一个例子中,如果CP管控平台判断某个内容的某个码率版本即将成为流行的内容,则需要将其添加到缓存空间中,具体步骤包括:

步骤2.7:CP管控平台向ISP管控平台发送“内容缓存增加请求”,其中携带:CP标识、缓存节点ID、内容URI、码率版本、源服务器地址。

重复步骤1.8到1.13。

可选的,ISP管控平台1011,还用于在接收客户端发送的内容请求后,按照内容请求中CP管控平台的标识,将内容请求转发给相应的CP管控平台,其中,内容请求中包括CP管控平台的标识、加密的客户端请求的目标数据的标识、客户端的位置信息;

CP管控平台1012,还用于响应于接收到内容请求,解密内容请求中的目标数据的标识;根据位置信息及目标数据的标识,判断在客户端的预设范围内是否存在缓存有目标数据的缓存节点;若预设范围内存在缓存有目标数据的缓存节点,则获取客户端预设范围内的缓存有目标数据的全部缓存节点的标识,得到至少一个第一节点标识;将包括全部第一节点标识的链路状态请求反馈给ISP管控平台;

ISP管控平台1011,还用于响应于接收到链路状态请求,针对链路状态请求中的每一个第一节点标识,确定该第一节点标识表示的缓存节点与客户端的链路状态,得到该第一节点标识对应的链路状态;生成包括全部第一节点标识对应的链路状态的链路状态应答信息,并向CP管控平台反馈链路状态应答信息;

CP管控平台1012,还用于响应于接收到链路状态应答信息,确定链路状态最好的第一节点标识,并向ISP管控平台发送第一内容分发请求,其中,第一内容分发请求包括链路状态最好的第一节点标识;

ISP管控平台1011,还用于响应于接收到第一内容分发请求,创建第一缓存节点与客户端的通信连接,以使第一缓存节点通过创建的通信连接向客户端发送目标数据,其中,第一缓存节点为第一内容分发请求中携带的第一节点标识所表示的缓存节点。

可选的,目标数据为视频数据;

CP管控平台1012,还用于若预设范围内不存在缓存有目标数据的缓存节点,判断在客户端的预设范围内是否存在缓存有目标数据对应的更高码率版本的缓存节点;若预设范围内存在缓存有目标数据对应的更高码率版本的缓存节点,则获取客户端预设范围内缓存有目标数据对应的更高码率版本的全部缓存节点的标识,得到至少一个第二节点标识;将包括全部第二节点标识的链路和计算状态请求反馈给ISP管控平台;

ISP管控平台1011,还用于响应于接收到链路和计算状态请求,针对链路和计算状态请求中的每一个第二节点标识,确定该第二节点标识表示的缓存节点与客户端的链路状态,以及确定该第二节点标识表示的缓存节点的可用计算资源,得到该第二节点标识对应的链路状态及可用计算资源;生成包括全部第二节点标识对应的链路状态及可用计算资源的链路和计算状态应答信息;向CP管控平台反馈链路和计算状态应答信息;

CP管控平台1012,还用于响应于接收到链路和计算状态应答信息,在可用计算资源满足转码需求的第二节点标识中,选取链路状态最好的第二节点标识得到目标节点标识;向ISP管控平台发送包括目标节点标识的第二内容分发请求

ISP管控平台1011,还用于响应于接收到第二内容分发请求,创建第二缓存节点与客户端的通信连接,其中,第二缓存节点为第二内容分发请求中携带的目标节点标识所表示的缓存节点;

第二缓存节点,用于将目标数据对应的更高码率版本转换为目标数据,基于与客户端的通信连接,向客户端发送目标数据。

可选的,CP管控平台1012,还用于若预设范围内不存在缓存有目标数据对应的更高码率版本的缓存节点,则获取存储有目标数据的内容源服务器的标识,得到目标内容源服务器标识;向ISP管控平台发送包括目标内容源服务器标识的链路建立请求;

ISP管控平台1011,还用于响应于接收到链路建立请求,建立目标内容源服务器标识表示的内容源服务器与客户端之间的通信连接。

可选的,ISP管控平台1011,还用于响应于接收到客户端发送的内容分发应答信息,向CP管控平台发送内容分发确认信息,其中,内容分发应答信息为客户端下载完目标数据后发送的,内容分发应答信息中包括加密的目标数据摘要的哈希值,内容分发确认信息中包括加密的目标数据摘要的哈希值;

CP管控平台1012,还用于响应于接收到内容分发确认信息,利用自身预先存储的私钥对加密的目标数据摘要的哈希值进行解密,得到目标数据摘要的哈希值;对解密得到的目标数据摘要的哈希值进行验证,当验证通过时,生成表示客户端成功获取目标数据的内容分发交易信息,在区块链网络中广播内容分发交易信息,以使区块链网络中的其他节点根据内容分发交易信息更新自身的交易池;当验证未通过时,执行响应于接收到内容请求的操作。

一个例子中,用户可以通过UE(User Equipment,用户设备)发送内容请求,具体步骤包括:

步骤3.1:UE发送“内容请求”,其中携带UE ID(Identity Document,身份标识号)、UE的位置信息、加密的内容URI(Uniform Resource Identifier,统一资源标识符)、码率版本、CP标识。加密的内容URI是指UE用相应CP的公钥对内容URI进行加密,确保只有相应的CP才能知道UE请求的内容URI。例如,如果用户请求的内容属于CP1,则用CP1的公钥对内容URI进行加密。

步骤3.2:ISP管控平台将UE的“内容请求”转发给相应的CP管控平台。

步骤3.3:CP管控平台收到“内容请求”后,首先用自己的私钥解密内容URI,之后根据UE的位置、内容URI、码率版本等信息,查看“内容缓存状态信息表”。

一种情况下,当UE附近的一定范围内,已经有缓存节点缓存了所请求内容的码率版本时,可以执行步骤3.4-步骤3.8,以及步骤3.17-步骤3.20。

步骤3.4:CP管控平台向ISP管控平台发送“链路状态请求”,其中携带:CP标识、UEID、缓存节点ID。这里的缓存节点ID指已经缓存了所请求内容的码率版本的缓存节点的ID。

步骤3.5:ISP管控平台根据UE和缓存节点之间的链路状态,对“链路状态请求”中的缓存节点进行排序,将链路状态好的缓存节点排在前面,之后ISP管控平台向CP管控平台发送“链路状态应答”,其中携带:ISP标识、UE ID、排序后的缓存节点ID。

步骤3.6:CP管控平台收到“链路状态应答”后,选择链路状态最好的缓存节点(即排在第一位的缓存节点),向ISP管控平台发送“内容分发请求”,其中携带:CP标识、UE ID、缓存节点ID、内容URI、码率版本。这里的缓存节点ID指的是链路状态最好的缓存节点的ID。

步骤3.7:ISP管控平台收到CP管控平台发送的“内容分发请求”后,在相应的UE和缓存节点之间建立数据平面的连接,之后向相应的缓存节点转发“内容分发请求”。

步骤3.8:缓存节点向UE发送其请求内容的码率版本。

另一种情况下,当UE附近的一定范围内,没有缓存节点缓存了所请求内容的码率版本,但是有缓存节点缓存了所请求内容的更高码率版本时,可以执行步骤3.9-步骤3.13,以及步骤3.17-步骤3.20。

步骤3.9:CP管控平台向ISP管控平台发送“链路和计算状态请求”,其中携带:CP标识、UE ID、缓存节点ID、内容转码需要的计算资源。这里的缓存节点ID指已经缓存了所请求内容的更高码率版本的缓存节点的ID,因为不同缓存节点缓存的码率版本可能不同,因此不同缓存节点进行内容转码所需要的计算资源也可能不同。

步骤3.10:ISP管控平台根据UE和缓存节点之间的链路状态以及缓存节点可用的计算资源,对“链路和计算状态请求”中的缓存节点进行排序,将链路状态好且满足转码所需计算资源的缓存节点排在前面,之后ISP管控平台向CP管控平台发送“链路和计算状态应答”,其中携带:ISP标识、UE ID、排序后的缓存节点ID。

步骤3.11:CP管控平台收到“链路和计算状态应答”后,选择链路状态最好且满足转码所需计算资源的缓存节点(即排在第一位的缓存节点),向ISP管控平台发送“内容分发请求”,其中携带:CP标识、UE ID、缓存节点ID、内容URI、码率版本。这里的缓存节点ID指的是链路状态最好且满足转码所需计算资源的缓存节点的ID。

步骤3.12:ISP管控平台收到CP管控平台发送的“内容分发请求”后,在相应的UE和缓存节点之间建立数据平面的连接,之后向相应的缓存节点转发“内容分发请求”。

步骤3.13:缓存节点将缓存的高码率版本的内容实时转码成低码率版本的内容,并向UE发送其请求内容的码率版本。

又一种情况下,当UE附近的一定范围内,既没有缓存节点缓存了所请求内容的码率版本,也没有缓存节点缓存了所请求内容的更高码率版本时,可以执行步骤3.14-步骤3.16,以及步骤3.17-步骤3.20。

步骤3.14:CP管控平台向ISP管控平台发送“链路建立请求”,其中携带:CP标识、UEID、源服务器地址。

步骤3.15:ISP管控平台在相应的UE和源服务器之间建立数据平面的连接,建立完成后,向CP管控平台发送“链路建立应答”,其中携带:ISP标识、UE ID、源服务器地址、链路建立完成标识符。链路建立完成标识符为1表示链路建立完成,为0表示链路建立未完成。

步骤3.16:内容源服务器通过建立的数据平面链路向UE发送其请求内容的码率版本。

针对上述三种情况之后均继续执行步骤3.17-步骤3.20。

步骤3.17:内容分发完成后,UE向ISP管控平台发送“内容分发应答”,其中携带:CP标识、UE ID、内容URI、码率版本、加密的内容摘要的哈希值、该UE的公钥、该UE的数字签名。这里“加密的内容摘要的哈希值”指的是UE先对收到的内容摘要进行哈希运算得到哈希值,之后用相应CP的公钥对哈希值进行加密。

步骤3.18:ISP管控平台收到用户发送的“内容分发应答”后,向CP管控平台发送“内容分发确认”,其中携带:CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本、加密的内容摘要的哈希值、该UE的公钥、该UE的数字签名、该ISP的公钥、该ISP的数字签名。这里的缓存节点ID指的是在步骤3.8或步骤3.13中向UE发送内容的缓存节点的ID。如果是第三种情况,则缓存节点ID为空值NULL。

步骤3.19:CP管控平台收到“内容分发确认”后,首先用自己的私钥解密内容摘要哈希值,之后验证内容摘要哈希值,如果该值错误,说明UE收到的内容不正确,需要重新执行步骤3.6到3.8、3.11到3.13、3.16到3.18;如果该值正确,表明UE收到的内容是正确的,之后CP管控平台向区块链网络广播“内容分发确认信息”,其中携带:交易哈希值、CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本、时间戳、Nonce值、该UE的公钥、该UE的数字签名、该ISP的公钥、该ISP的数字签名、该CP的公钥、该CP的数字签名。交易哈希值是利用哈希函数根据CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本、时间戳、Nonce值计算出来的结果,要通过不断调整Nonce值使得计算出来的交易哈希值小于TargetHash5。

步骤3.20:区块链网络的其它节点收到“内容分发确认信息”后,需要验证该交易的合法性。根据交易中的数字签名和公钥验证该交易的完整性和真实性,如果验证不通过,该交易会直接被丢弃,如果验证通过,则说明该交易是一个合法的交易,将其添加到交易池中。

可选的,区块链网络,用于每间隔预设时长,在区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点;

目标网络节点,用于从自身的交易池中选取预设数量的交易封装成一个目标区块;在区块链网络中广播目标区块,以使区块链网络中的其它节点判断目标区块是否合法,在目标区块合法时添加目标区块到区块链的尾部;

ISP管控平台和CP管控平台,还用于根据缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

具体的,本申请实施例中的区块链网络的节点由CP管控平台和ISP管控平台组成,区块链网络的交易包含“缓存资源分布信息”、“缓存资源申请确认信息”、“内容预缓存确认信息”、“内容缓存删除确认信息”、“内容分发确认信息”。区块链网络中的节点还可以对区块链网络中的资源进行共识,包括:

步骤4.1:每隔周期T会由一个区块链网络节点从交易池中取出一定数量的交易封装成一个区块,并将其广播给区块链网络中的其它节点。每个区块包含区块头和区块体,区块体由多个交易组成,区块体中的交易以Merkle树结构进行存储,Merkle树的根作为该区块中所有交易的摘要被记录在区块头中,便于对交易进行验证和查。区块头除了Merkle树根,还包含区块编号、时间戳、交易的数量、父区块的哈希值、本区块的哈希值。创世区块的编号为0,以后每产生一个区块,其编号加1;时间戳记录了该区块的产生时间;交易的数量指该区块的区块体中包含的交易的数量;父区块的哈希值用来形成链式结构;本区块的哈希值是利用哈希函数根据区块头中的区块编号、时间戳、交易的数量、父区块的哈希值、Merkle树根等信息计算出来的结果。

步骤4.2:其它节点收到该区块后,会采用共识算法(PoS、DPoS、PBFT等)对区块的合法性达成共识,如果区块是合法的,则将该区块添加到区块链的尾部;如果区块是非法的,则丢弃该区块。

步骤4.3:当区块链中增加了一个合法区块,所有区块链网络节点会根据该区块中的交易更新“ISP缓存资源分布信息表”、“CP缓存资源分配信息表”、“内容缓存状态信息表”、“内容分发信息表”。“缓存资源分布信息”用来更新“ISP缓存资源分布信息表”,“缓存资源申请确认信息”用来更新“CP缓存资源分配信息表”,“内容预缓存确认信息”和“内容缓存删除确认信息”用来更新“内容缓存状态信息表”,“内容分发确认信息”用来更新“内容分发信息表”。其中,“ISP缓存资源分布信息表”包含ISP标识、缓存节点ID、缓存节点位置信息、可用缓存资源、时间戳;“CP缓存资源分配信息表”包含CP标识、ISP标识、缓存节点ID、缓存节点位置信息、分配的缓存资源、时间戳;“内容缓存状态信息表”包含CP标识、ISP标识、缓存节点ID、内容URI、码率版本、时间戳;“内容分发信息表”包含CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本、分发次数。

具体的,上述信息表的更新步骤包括:

(1)如果交易是“缓存资源分布信息”,则更新“ISP缓存资源分布信息表”。如果“ISP缓存资源分布信息表”中存在关于相应ISP的缓存节点的条目,“缓存资源分布信息”中的时间戳大于已有条目的时间戳时(“缓存资源分布信息”中的信息是最新的),更新相应ISP的缓存节点的可用缓存资源、时间戳等信息;“缓存资源分布信息”中的时间戳小于等于已有条目的时间戳时(“缓存资源分布信息”中的信息比较旧),则不更新。如果“ISP缓存资源分布信息表”中不存在关于相应ISP的缓存节点的条目,则添加相应的ISP标识、缓存节点ID、缓存节点位置信息、可用缓存资源、时间戳等信息。

(2)如果交易是“缓存资源申请确认信息”,则更新“CP缓存资源分配信息表”。如果“CP缓存资源分配信息表”中存在关于相应CP和缓存节点的条目,“缓存资源申请确认信息”中的时间戳大于已有条目的时间戳时(“缓存资源申请确认信息”中的信息是最新的),更新相应CP在相应缓存节点分配的缓存资源、时间戳等信息;“缓存资源申请确认信息”中的时间戳小于等于已有条目的时间戳时(“缓存资源申请确认信息”中的信息比较旧),则不更新。如果“CP缓存资源分配信息表”中不存在关于相应CP和缓存节点的条目,则添加相应的CP标识、ISP标识、缓存节点ID、缓存节点位置信息、分配的缓存资源、时间戳等信息。

(3)如果交易是“内容预缓存确认信息”,则在“内容缓存状态信息表”中添加CP标识、ISP标识、缓存节点ID、内容URI、码率版本、时间戳等信息。

(4)如果交易是“内容缓存删除确认信息”,则根据其中的ISP标识、CP标识、缓存节点ID、内容URI、码率版本等信息删除“内容缓存状态信息表”中对应的条目。

(5)如果交易是“内容分发确认信息”,则根据CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本等信息更新“内容分发信息表”中的“分发次数”信息(即每分发一次,分发次数加1);如果“内容分发信息表”中不存在CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本等信息对应的条目,则根据“内容分发确认信息”在“内容分发信息表”中添加相应的CP标识、ISP标识、UE ID、缓存节点ID、内容URI、码率版本、分发次数等信息。

本申请实施例的第二方面,提供了一种基于区块链的数据缓存方法,应用于基于区块链的数据缓存系统中的网络业务提供商ISP管控平台,基于区块链的数据缓存系统包括:区块链网络、多个内容源服务器、多个缓存节点,区块链网络包括多个ISP管控平台及多个内容提供商CP管控平台;

参见图3,上述方法包括:

步骤S31,在区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

步骤S32,响应于接收到缓存资源申请信息,为发送缓存资源申请信息的CP管控平台分配指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送缓存资源申请信息的CP管控平台发送缓存资源申请应答信息;

步骤S33,响应于接收到数据缓存信息,向指定缓存节点发送数据获取信息,以使指定缓存节点响应于接收到数据获取信息,从指定内容源服务器中获取指定数据,并缓存指定数据,其中,数据获取信息表示令指定缓存节点缓存指定内容源服务器中的指定数据。

可选的,上述方法还包括:

在接收到内容获取应答后,向发送数据缓存信息的CP管控平台发送内容获取确认信息,其中,内容获取确认信息包括目标哈希值。

可选的,上述响应于接收到所述缓存资源申请信息,为发送缓存资源申请信息的CP管控平台分配指定缓存节点的缓存资源,包括:

响应于接收到缓存资源申请信息,判断指定缓存节点的剩余可用缓存资源是否小于请求值,其中,请求值为缓存资源申请信息中所请求的指定缓存节点的缓存资源的大小;若不小于,则将指定缓存节点中请求值大小的缓存资源,分配给发送缓存资源申请信息的CP管控平台;若小于,则将指定缓存节点的剩余可用缓存资源全部分配给发送缓存资源申请信息的CP管控平台。

可选的,上述方法还包括:

响应于接收到内容缓存删除请求,将内容缓存删除请求转发给指定缓存节点;

响应于接收到内容缓存删除应答信息,生成内容缓存删除确认信息,并向发送内容缓存删除请求的CP管控平台发送内容缓存删除确认信息。

可选的,上述方法还包括:

在接收客户端发送的内容请求后,按照内容请求中CP管控平台的标识,将内容请求转发给相应的CP管控平台,其中,内容请求中包括CP管控平台的标识、加密的客户端请求的目标数据的标识、客户端的位置信息;

响应于接收到链路状态请求,针对链路状态请求中的每一个第一节点标识,确定该第一节点标识表示的缓存节点与客户端的链路状态,得到该第一节点标识对应的链路状态;生成包括全部第一节点标识对应的链路状态的链路状态应答信息,并向CP管控平台反馈链路状态应答信息;

响应于接收到第一内容分发请求,创建第一缓存节点与客户端的通信连接,以使第一缓存节点通过创建的通信连接向客户端发送目标数据,其中,第一缓存节点为第一内容分发请求中携带的第一节点标识所表示的缓存节点。

可选的,上述方法还包括:

响应于接收到链路和计算状态请求,针对链路和计算状态请求中的每一个第二节点标识,确定该第二节点标识表示的缓存节点与客户端的链路状态,以及确定该第二节点标识表示的缓存节点的可用计算资源,得到该第二节点标识对应的链路状态及可用计算资源;生成包括全部第二节点标识对应的链路状态及可用计算资源的链路和计算状态应答信息;向CP管控平台反馈链路和计算状态应答信息;

响应于接收到第二内容分发请求,创建第二缓存节点与客户端的通信连接,其中,第二缓存节点为第二内容分发请求中携带的目标节点标识所表示的缓存节点。

可选的,上述方法还包括:

响应于接收到链路建立请求,建立目标内容源服务器标识表示的内容源服务器与客户端之间的通信连接。

可选的,上述方法还包括:

响应于接收到客户端发送的内容分发应答信息,向CP管控平台发送内容分发确认信息,其中,内容分发应答信息为客户端下载完目标数据后发送的,内容分发应答信息中包括加密的目标数据摘要的哈希值,内容分发确认信息中包括加密的目标数据摘要的哈希值。

可选的,上述方法还包括:

每间隔预设时长,在区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点,并通过目标网络节点从自身的交易池中选取预设数量的交易封装成一个目标区块;在区块链网络中广播目标区块,以使区块链网络中的其它节点判断目标区块是否合法,在目标区块合法时添加目标区块到区块链的尾部;

根据缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

通过本申请实施例的方法,可以向相应的CP管控平台分配缓存资源,并向CP管控平台发送应答信息,以使CP管控平台生成数据缓存信息并向ISP管控平台发送数据缓存信息,从而向指定缓存节点发送数据获取信息,以实现指定缓存节点从指定内容源服务器中获取该指定数据,并缓存。

本申请实施例的第三方面,提供了一种基于区块链的数据缓存方法,应用于基于区块链的数据缓存系统中的内容提供商CP管控平台,基于区块链的数据缓存系统包括:区块链网络、多个内容源服务器、多个缓存节点,区块链网络包括多个网络业务提供商ISP管控平台及多个CP管控平台;

参见图4,上述方法包括:

步骤S41,获取合法的缓存资源分布信息;按照合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将缓存资源申请信息发送给管理指定缓存节点的ISP管控平台;

步骤S42,在接收到缓存资源申请应答信息后,生成数据缓存信息,其中,数据缓存信息表示令指定缓存节点缓存指定内容源服务器中的指定数据;向管理指定缓存节点的ISP管控平台发送数据缓存信息,以使ISP管控平台响应于接收到数据缓存信息,向指定缓存节点发送数据获取信息,通过指定缓存节点响应于接收到数据获取信息,从指定内容源服务器中获取指定数据,并缓存指定数据,其中,数据获取信息表示令指定缓存节点缓存指定内容源服务器中的指定数据。

可选的,上述方法还包括:

在接收到缓存资源申请应答信息后,生成缓存资源申请应答信息对应的缓存资源申请确认信息;在区块链网络中广播缓存资源申请确认信息,以使区块链网络中的其他节点根据缓存资源申请确认信息更新自身的交易池。

可选的,上述方法还包括:

在接收到内容获取确认信息后,根据目标哈希值验证指定缓存节点中缓存的指定数据是否正确,如果正确则生成表示指定缓存节点完成指定数据缓存的内容预缓存确认信息,并在区块链网络中广播内容预缓存确认信息,以使区块链网络中的其他节点根据内容预缓存确认信息更新自身的交易池。

可选的,上述方法还包括:

如果验证指定缓存节点中缓存的指定数据不正确,则重新向管理指定缓存节点的ISP管控平台发送数据缓存信息。

可选的,上述方法还包括:

在需要删除指定数据的情况下,向管理指定缓存节点的ISP管控平台发送内容缓存删除请求,其中,内容缓存删除请求包括指定数据的标识;

响应于接收到内容缓存删除确认信息,生成内容缓存删除广播信息,并在区块链网络中广播内容缓存删除广播信息,以使区块链网络中的其他节点根据内容缓存删除广播信息更新自身的交易池。

可选的,上述方法还包括:

响应于接收到内容请求,解密内容请求中加密的客户端请求的目标数据的标识,得到并根据位置信息及目标数据的标识,判断在客户端的预设范围内是否存在缓存有目标数据的缓存节点;若预设范围内存在缓存有目标数据的缓存节点,则获取客户端预设范围内的缓存有目标数据的全部缓存节点的标识,得到至少一个第一节点标识;将包括全部第一节点标识的链路状态请求反馈给ISP管控平台;

响应于接收到链路状态应答信息,确定链路状态最好的第一节点标识,并向ISP管控平台发送第一内容分发请求,其中,第一内容分发请求包括链路状态最好的第一节点标识。

可选的,上述方法还包括:

若预设范围内不存在缓存有目标数据的缓存节点,判断在客户端的预设范围内是否存在缓存有目标数据对应的更高码率版本的缓存节点;若预设范围内存在缓存有目标数据对应的更高码率版本的缓存节点,则获取客户端预设范围内缓存有目标数据对应的更高码率版本的全部缓存节点的标识,得到至少一个第二节点标识;将包括全部第二节点标识的链路和计算状态请求反馈给ISP管控平台;

响应于接收到链路和计算状态应答信息,在可用计算资源满足转码需求的第二节点标识中,选取链路状态最好的第二节点标识得到目标节点标识;向ISP管控平台发送包括目标节点标识的第二内容分发请求。

可选的,上述方法还包括:

若预设范围内不存在缓存有目标数据对应的更高码率版本的缓存节点,则获取存储有目标数据的内容源服务器的标识,得到目标内容源服务器标识;向ISP管控平台发送包括目标内容源服务器标识的链路建立请求。

可选的,上述方法还包括:

响应于接收到内容分发确认信息,利用自身预先存储的私钥对加密的目标数据摘要的哈希值进行解密,得到目标数据摘要的哈希值;对解密得到的目标数据摘要的哈希值进行验证,当验证通过时,生成表示客户端成功获取目标数据的内容分发交易信息,在区块链网络中广播内容分发交易信息,以使区块链网络中的其他节点根据内容分发交易信息更新自身的交易池;当验证未通过时,执行响应于接收到内容请求的操作。

可选的,上述方法还包括:

每间隔预设时长,在区块链网络的各ISP管控平台及各CP管控平台中选取一个目标网络节点,并通过目标网络节点从自身的交易池中选取预设数量的交易封装成一个目标区块;在区块链网络中广播目标区块,以使区块链网络中的其它节点判断目标区块是否合法,在目标区块合法时添加目标区块到区块链的尾部;

根据缓存资源分布信息更新自身的ISP缓存资源分布信息表;根据缓存资源申请确认信息更新自身的CP缓存资源分配信息表;根据内容预缓存确认信息和内容缓存删除广播信息更新自身的内容缓存状态信息表;根据内容分发交易信息来更新自身的内容分发信息表。

通过本申请实施例的方法,CP管控平台在接收到缓存资源申请应答信息后,生成数据缓存信息并向ISP管控平台发送数据缓存信息,从而使ISP管控平台向指定缓存节点发送数据获取信息,以实现指定缓存节点从指定内容源服务器中获取该指定数据,并缓存。

本申请实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:

在区块链网络中广播自身的缓存资源分布信息,其中,针对任一ISP管控平台,该ISP管控平台的缓存资源分布信息包括该ISP管控平台管控的各缓存节点的节点信息;

响应于接收到缓存资源申请信息,为发送缓存资源申请信息的CP管控平台分配指定缓存节点的缓存资源,并生成相应的缓存资源申请应答信息;向发送缓存资源申请信息的CP管控平台发送缓存资源申请应答信息;

响应于接收到数据缓存信息,向指定缓存节点发送数据获取信息,以使指定缓存节点响应于接收到数据获取信息,从指定内容源服务器中获取指定数据,并缓存指定数据,其中,数据获取信息表示令指定缓存节点缓存指定内容源服务器中的指定数据。

本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

获取合法的缓存资源分布信息;按照合法的缓存资源分布信息中的节点信息,生成用于请求指定缓存节点的缓存资源的缓存资源申请信息;将缓存资源申请信息发送给管理指定缓存节点的ISP管控平台;

在接收到缓存资源申请应答信息后,生成数据缓存信息,其中,数据缓存信息表示令指定缓存节点缓存指定内容源服务器中的指定数据;向管理指定缓存节点的ISP管控平台发送数据缓存信息,以使ISP管控平台响应于接收到数据缓存信息,向指定缓存节点发送数据获取信息,通过指定缓存节点响应于接收到数据获取信息,从指定内容源服务器中获取指定数据,并缓存指定数据,其中,数据获取信息表示令指定缓存节点缓存指定内容源服务器中的指定数据。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于区块链的数据缓存方法。

在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于区块链的数据缓存方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、电子设备、存储介质及计算机程序产品实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

本文发布于:2023-04-13 07:48:02,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/85749.html

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

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图