CN107872477A - 一种多媒体资源存储方法及装置 - Google Patents

一种多媒体资源存储方法及装置 Download PDF

Info

Publication number
CN107872477A
CN107872477A CN201610851920.3A CN201610851920A CN107872477A CN 107872477 A CN107872477 A CN 107872477A CN 201610851920 A CN201610851920 A CN 201610851920A CN 107872477 A CN107872477 A CN 107872477A
Authority
CN
China
Prior art keywords
multimedia resource
client
node server
data
store tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610851920.3A
Other languages
English (en)
Inventor
孔韬
李响
刘春瑞
李波
吕宏亮
高静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING UNION VOOLE TECHNOLOGY Co Ltd
Original Assignee
BEIJING UNION VOOLE TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING UNION VOOLE TECHNOLOGY Co Ltd filed Critical BEIJING UNION VOOLE TECHNOLOGY Co Ltd
Priority to CN201610851920.3A priority Critical patent/CN107872477A/zh
Publication of CN107872477A publication Critical patent/CN107872477A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种多媒体资源存储方法及装置,用以解决现有技术中多媒体资源的下载方式不灵活的问题。在该方法中,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。

Description

一种多媒体资源存储方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种多媒体资源存储方法及装置。
背景技术
随着互联网的发展,人们通过网络点播的方式越来越普遍,从而对网络服务的要求越来越高。在传统的客户端/服务器(Client/Server,C/S)模式中,各个客户端均要向服务器请求播放服务。随着请求服务的客户端不断增多,服务器会受到自身能力的限制,因此,为了消除以服务器为中心的网络瓶颈,涌现出了点对点(Peer To Peer,P2P)点播下载方式。
P2P点播下载方式打破了传统的C/S模式,在网络中客户端可以充当服务器,为其它客户端提供服务和多媒体资源。在P2P点播下载方式中,当客户端根据用户指令播放多媒体资源时,所述客户端才能下载播放的所述多媒体资源。
显然,在上述P2P点播下载方式中,只有在客户端根据用户指令播放多媒体资源时,所述客户端才能下载播放的所述多媒体资源。因此,P2P点播下载方式不灵活,不能满足用户的需求。
发明内容
本发明提供一种多媒体资源存储方法及装置,用以解决现有技术中P2P点播下载方式不灵活的问题。
本发明提供的具体技术方案如下:
第一方面,本发明实施例提供了一种多媒体资源存储方法,包括:
客户端向节点服务器发送存储任务请求;
所述客户端接收所述节点服务器针对所述存储任务请求返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息;
所述客户端根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。
结合第一方面,在第一方面的第一种可能的实现方式中,所述客户端向所述节点服务器发送所述存储任务请求之前,所述方法还包括:
所述客户端确定本地存储有第二多媒体资源的数据时,所述客户端向所述节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述客户端接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
当所述客户端根据所述状态指示信息确定所述第二多媒体资源下线时,所述客户端删除本地存储的所述第二多媒体资源的数据。
结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:
所述客户端登录所述节点服务器后,接收所述节点服务器发送的多媒体资源下线消息,其中,所述多媒体资源下线消息中包含所述节点服务器检测到的至少一个已下线的多媒体资源的标识信息;
当所述客户端确定在所述至少一个已下线的多媒体资源的标识信息中存在本地存储的第三多媒体资源的标识信息时,所述客户端删除本地存储的所述第三多媒体资源的数据。
结合第一方面,在第一方面的第三种可能的实现方式中,所述客户端向所述节点服务器发送所述存储任务请求,包括:
若所述客户端在预设时长内接收到携带第四多媒体资源的播放地址的播放请求,则所述客户端在接收到所述播放请求后,向所述节点服务器发送所述存储任务请求,所述存储任务请求中包含所述第四多媒体资源的播放地址;或者
若所述客户端未播放任何多媒体资源的持续时间达到所述预设时长时,则所述客户端向所述节点服务器发送所述存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
结合第一方面,在第一方面的第四种可能的实现方式中,所述存储任务响应中还包含所述第一多媒体资源的数据范围;
所述客户端根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,包括:
所述客户端在所述第一多媒体数据资源的数据范围内确定待下载数据范围;
所述客户端向所述节点服务器发送下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置;
所述客户端接收所述节点服务器返回的下载地址,所述下载地址为所述节点服务器根据所述下载地址请求中的所述第一多媒体资源的标识信息和所述数据位置生成的;
所述客户端根据所述下载地址下载所述第一多媒体资源中所述待下载数据范围内的数据。
结合第一方面,在第一方面的第五种可能的实现方式中,所述客户端下载所述第一多媒体资源中的数据,包括:
所述客户端获取到播放指示后,所述客户端暂停下载所述第一多媒体资源中的数据,并在所述播放指示请求播放的多媒体资源播放结束后继续下载所述第一多媒体资源中的数据。
结合第一方面、第一方面的第一种至第五种可能的实现方式中的任一项,在第一方面的第六种可能的实现方式中,所述客户端将所述第一多媒体资源中的数据保存到本地之后,所述方法还包括:
所述客户端确定存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及本地保存的所述第一多媒体资源的数据范围;
所述客户端将所述状态信息发送给所述节点服务器。
第二方面,本发明实施例提供了一种多媒体资源存储方法,包括:
客户端确定本地存储有第二多媒体资源的数据时,所述客户端向节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述客户端接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
当所述客户端根据所述状态指示信息确定所述第二多媒体资源未下线时,所述客户端确定所述第二多媒体资源未完成下载后,所述客户端从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
第三方面,本发明实施例提供了一种多媒体资源存储方法,包括:
节点服务器接收到客户端发送的存储任务请求后,生成包含第一多媒体资源的标识信息的存储任务响应;
所述节点服务器将所述存储任务响应发送给所述客户端。
结合第三方面,在第三方面的第一种可能的实现方式中,所述节点服务器接收所述客户端发送的所述存储任务请求之前,所述方法还包括:
所述节点服务器接收所述客户端发送的携带第二多媒体资源的标识信息的登录请求;
所述节点服务器根据所述标识信息检测所述第二多媒体资源是否下线,并生成状态指示信息,将所述状态指示信息发送给所述客户端,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线。
结合第三方面,在第三方面的第二种可能的实现方式中,所述节点服务器接收所述客户端发送的所述存储任务请求之前,所述方法还包括:
所述节点服务器检测已下线的多媒体资源;
所述节点服务器生成多媒体资源下线消息,所述多媒体资源下线消息中包含检测到的至少一个已下线的多媒体资源的标识信息;
所述节点服务器将所述多媒体资源下线消息发送给登录所述节点服务器的所有客户端。
结合第三方面,在第三方面的第三种可能的实现方式中,所述节点服务器生成所述存储任务响应之前,所述方法还包括:
所述节点服务器判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,所述节点服务器继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则所述节点服务器按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,所述节点服务器将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源,包括:
所述节点服务器根据所述多个多媒体资源的权重大小确定所述第一多媒体资源;或者
所述节点服务器根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
结合第三方面、第三方面的第一种至第四种可能的实现方式中的任一项,在第三方面的第五种可能的实现方式中,所述节点服务器生成包含所述第一多媒体资源的标识信息的存储任务响应,包括:
所述节点服务器确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中;
所述节点服务器将所述存储任务响应发送给所述客户端后,所述方法还包括:
所述节点服务器接收所述客户端发送的下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述客户端在所述第一多媒体数据资源的数据范围内确定的待下载数据范围中任意一个数据位置;
所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址,并将所述下载地址返回给所述客户端。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述节点服务器确定所述第一多媒体资源的数据范围,包括:
所述节点服务器接收所述客户端上报的剩余空间;
所述节点服务器根据所述剩余空间以及预设的可分配比例,确定所述第一多媒体资源的数据范围;其中,所述可分配比例为所述剩余空间对应的可分配比例和/或所述客户端对应的可分配比例。
结合第三方面、第三方面的第一种至第四种可能的实现方式中的任一项,在第三方面的第七种可能的实现方式中,所述方法还包括:
所述节点服务器接收所述客户端发送的存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及所述客户端本地保存的所述第一多媒体资源的数据范围。
第四方面,本发明实施例提供了一种客户端,包括:
发送单元,用于向节点服务器发送存储任务请求;
接收单元,用于接收所述节点服务器针对所述存储任务请求返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息;
处理单元,用于根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。
结合第四方面,在第四方面的第一种可能的实现方式中,
所述处理单元,还用于在所述发送单元向所述节点服务器发送所述存储任务请求之前,确定本地存储有第二多媒体资源的数据;
所述发送单元,还用于向所述节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述接收单元,还用于接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述处理单元,还用于当根据所述状态指示信息确定所述第二多媒体资源下线时,删除本地存储的所述第二多媒体资源的数据。
结合第四方面,在第四方面的第二种可能的实现方式中,所述接收单元,还用于:
在所述客户端登录所述节点服务器后,接收所述节点服务器发送的多媒体资源下线消息,其中,所述多媒体资源下线消息中包含所述节点服务器检测到的至少一个已下线的多媒体资源的标识信息;
所述处理单元,还用于当确定在所述至少一个已下线的多媒体资源的标识信息中存在本地存储的第三多媒体资源的标识信息时,删除本地存储的所述第三多媒体资源的数据。
结合第四方面,在第四方面的第三种可能的实现方式中,所述发送单元,在向所述节点服务器发送所述存储任务请求时,具体用于:
若所述接收单元在预设时长内接收到携带第四多媒体资源的播放地址的播放请求,则所述发送单元在接收到所述播放请求后,向所述节点服务器发送所述存储任务请求,所述存储任务请求中包含所述第四多媒体资源的播放地址;或者
若所述客户端未播放任何多媒体资源的持续时间达到所述预设时长时,则所述发送单元向所述节点服务器发送所述存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
结合第四方面,在第四方面的第四种可能的实现方式中,所述存储任务响应中还包含所述第一多媒体资源的数据范围;
所述处理单元,还用于在所述第一多媒体数据资源的数据范围内确定待下载数据范围;
所述发送单元,还用于向所述节点服务器发送下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置;
所述接收单元,还用于接收所述节点服务器返回的下载地址,所述下载地址为所述节点服务器根据所述下载地址请求中的所述第一多媒体资源的标识信息和所述数据位置生成的;
所述处理单元,具体用于:
根据所述下载地址下载所述第一多媒体资源中所述待下载数据范围内的数据。
第五方面,本发明实施例提供了一种客户端,包括:
处理单元,用于确定本地存储有第二多媒体资源的数据;
发送单元,用于向节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
接收单元,用于接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述处理单元,还用于当根据所述状态指示信息确定所述第二多媒体资源未下线时,确定所述第二多媒体资源未完成下载后,从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
第六方面,本发明实施例提供了一种节点服务器,包括:
接收单元,用于接收客户端发送的存储任务请求;
处理单元,用于生成包含第一多媒体资源的标识信息的存储任务响应;
发送单元,用于所述存储任务响应发送给所述客户端。
结合第六方面,在第六方面的第一种可能的实现方式中,
所述接收单元,还用于在接收所述客户端发送的所述存储任务请求之前,接收所述客户端发送的携带第二多媒体资源的标识信息的登录请求;
所述处理单元,还用于根据所述标识信息检测所述第二多媒体资源是否下线,并生成状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述发送单元,还用于将所述状态指示信息发送给所述客户端。
结合第六方面,在第六方面的第二种可能的实现方式中,
所述处理单元,还用于在所述接收单元接收所述客户端发送的所述存储任务请求之前,检测已下线的多媒体资源,并生成多媒体资源下线消息,所述多媒体资源下线消息中包含检测到的至少一个已下线的多媒体资源的标识信息;
所述发送单元,还用于将所述多媒体资源下线消息发送给登录所述节点服务器的所有客户端。
结合第六方面,在第六方面的第三种可能的实现方式中,所述处理单元,在所述生成单元生成所述存储任务响应之前,还用于:
判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
结合第六方面的第三种可能的实现方式,在第六方面的第四种可能的实现方式中,所述处理单元,在按照设定策略在多个多媒体资源中选择所述第一多媒体资源时,具体用于:
根据所述多个多媒体资源的权重大小确定所述第一多媒体资源;或者
根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
结合第六方面、第六方面的第一种至第四种可能的实现方式中的任一项,在第六方面的第五种可能的实现方式中,所述处理单元,在生成包含所述第一多媒体资源的标识信息的存储任务响应时,具体用于:
确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中;
所述接收单元,还用于在所述发送单元将所述存储任务响应发送给所述客户端后,接收所述客户端发送的下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述客户端在所述第一多媒体数据资源的数据范围内确定的待下载数据范围中任意一个数据位置;
所述处理单元,还用于根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址;
所述发送单元,还用于将所述下载地址返回给所述客户端。
本发明实施例中,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
附图说明
图1为本发明实施例提供的一种P2P点播系统架构图;
图2为本发明实施例提供的一种多媒体资源存储方法流程图;
图3为本发明实施例提供的另一种多媒体资源存储方法流程图;
图4为本发明实施例提供的又一种多媒体资源存储方法流程图;
图5为本发明实施例提供的一种多媒体资源存储方法的示例流程图;
图6为本发明实施例提供的一种客户端结构图;
图7为本发明实施例提供的另一种客户端结构图;
图8为本发明实施例提供的一种节点服务器结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种多媒体资源存储方法及装置,用以解决现有技术中多媒体资源的下载方式不灵活的问题。其中,本发明所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
本发明实施例中,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
为了更加清晰地描述本发明实施例的技术方案,下面结合附图,对本发明实施例提供的多媒体资源存储方法及装置进行详细说明。
本发明实施例提供的多媒体资源存储方法,适用于P2P点播系统,参阅图1所示,所述P2P点播系统中包括,多个客户端101、节点服务器102和至少一个流媒体服务器103,其中,
所述客户端101,确定本地存储有第二多媒体资源的数据时,向所述节点服务器102发送携带所述第二多媒体资源的标识信息的登录请求,以通过所述节点服务器102确认所述第二多媒体资源是否下线;并接收所述节点服务器102返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
当所述客户端101根据所述状态指示信息确定所述第二多媒体资源未下线时,所述客户端101,确定所述第二多媒体资源未完成下载后,从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地;
当所述客户端101根据所述状态指示信息确定所述第二多媒体资源下线时,所述客户端101,还用于:
删除本地存储的所述第二多媒体资源的数据;以及
向所述节点服务器102请求存储任务,并根据所述节点服务器102返回的包含第一多媒体资源的标识信息的存储任务响应,下载所述第一多媒体资源中的数据,并存储到本地;
所述节点服务器102,用于向所述客户端101反馈所述存储任务响应;
所述流媒体服务器103,用于在所述客户端101在下载所述第一多媒体资源中的数据的过程中,向所述客户端101发送所述第一多媒体资源的数据。
其中,所述客户端101下载所述第一多媒体资源中的数据的过程具体包括以下步骤:
所述客户端101根据所述存储任务响应中的所述第一多媒体资源的标识信息,向所述节点服务器102发送下载地址请求,所述下载地址请求中包所述第一多媒体资源的标识信息;
所述节点服务器102接收所述客户端101发送的所述下载地址请求,根据所述第一多媒体资源的标识信息生成下载地址,并将所述下载地址返回给所述客户端101;
所述客户端101接收所述节点服务器102返回的所述下载地址;并根据所述下载地址向至少一个流媒体服务器103发送下载数据请求;
所述至少一个流媒体服务器103,针对所述下载数据请求,返回所述第一多媒体资源中的数据;
所述客户端101接收所述至少一个流媒体服务器103返回的所述第一多媒体资源中的数据,并将所述第一多媒体资源中的数据存储在本地。
可选的,所述客户端101将存储在本地的所述第一多媒体资源中的数据发送给其他客户端101。例如,当图中所示的客户端A本地存储有所述第一多媒体资源中的数据时,可以在接收到客户端B的获取请求时,将所述第一多媒体资源中的数据推送给所述客户端B。
可选的,所述P2P点播系统中还可以包括:
存储介质服务器,用于当所述至少一个流媒体服务器103中没有所述第一多媒体资源中的数据时,接收所述至少一个流媒体服务器103发送的获取所述第一多媒体资源中的数据请求,并将所述第一多媒体资源的数据返回给所述至少一个流媒体服务器103。
本发明实施例中,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
基于以上实施例,本发明实施例提供了一种多媒体资源发送方法,适用于如图1所示的P2P点播系统中的多个客户端,参阅图2所示,该方法的具体流程包括:
步骤201:客户端向节点服务器发送存储任务请求。
可选的,所述客户端在执行步骤201之前,所述客户端还执行下述操作:
所述客户端确定本地存储有第二多媒体资源的数据时,所述客户端向所述节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述客户端接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
当所述客户端根据所述状态指示信息确定所述第二多媒体资源下线时,所述客户端删除本地存储的所述第二多媒体资源的数据。
其中,所述状态指示信息是所述节点服务器在接收到所述客户端发送的携带所述第二多媒体资源的标识信息的登录请求,根据所述标识信息检测所述第二多媒体资源是否下线后生成的。
当所述客户端根据所述状态指示信息确定所述第二多媒体资源下线时,通过所述客户端删除本地存储的所述第二多媒体资源的数据,可以节省所述客户端本地存储空间,避免资源浪费。
可选的,所述方法还包括:
所述客户端登录所述节点服务器后,接收所述节点服务器发送的多媒体资源下线消息,其中,所述多媒体资源下线消息中包含所述节点服务器检测到的至少一个已下线的多媒体资源的标识信息;
当所述客户端确定在所述至少一个已下线的多媒体资源的标识信息中存在本地存储的第三多媒体资源的标识信息时,所述客户端删除本地存储的所述第三多媒体资源的数据。
其中,所述多媒体资源下线消息是所述节点服务器根据实时检测的已下线的多媒体资源生成的,所述多媒体资源下线消息指示所述客户端执行删除本地存储的所述已下线的多媒体资源的数据的操作。
通过上述方法,所述客户端可以实时删除本地存储的已下线的多媒体资源的数据,节省本地存储空间,避免资源浪费。
可选的,所述客户端执行步骤201时,所述客户端当前未播放任何多媒体资源。
可选的,所述客户端向所述节点服务器发送所述存储任务请求时,分为以下两种方式:
第一种方式:所述客户端在预设时长内接收到携带第四多媒体资源的播放地址的播放请求后,所述客户端向所述节点服务器发送存储任务请求,所述存储任务请求中包含所述第四多媒体资源的播放地址,其中,所述预设时长可以是10分钟;
其中,所述客户端当前未播放任何多媒体资源,且待播放所述第四多媒体资源;
可选的,所述播放地址可以为所述第四多媒体资源的统一资源定位符(UniformResource Locator,URL);
第二种方式:所述客户端未播放任何多媒体资源的持续时间达到所述预设时长,所述客户端向所述节点服务器发送所述存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
可选的,所述预设时长为所述客户端获取的,所述客户端获取所述预设时长的方法可以为:
所述客户端登录所述节点服务器,所述节点服务器下发给所述客户端所述预设时长;或者
所述客户端获取自身设置的所述预设时长;或者
所述客户端获取用户设置的所述预设时长。
所述预设时长为所述客户端开始处于空闲状态下至向所述节点服务器索要存储任务的持续时间经验值,例如预设时长为10分钟。
例如,本发明实施例可以同时结合上述两种方式,向所述节点服务器发送所述存储任务请求,具体流程包括:
当所述客户端开始处于空闲状态下,根据所述预设时长,创建索要存储任务定时器,开始计时;当所述任务定时器未超时的情况下,所述客户端接收到携带所述第四多媒体资源的播放地址的播放请求,所述客户端停止所述定时器定时功能,向所述节点服务器发送包含所述第四多媒体资源的播放地址的存储任务请求;当所述定时器超时的情况下,所述客户端还没接收到携带任何多媒体资源的播放地址的播放请求时,所述客户端向所述节点服务器发送存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
步骤202:所述客户端接收所述节点服务器针对所述存储任务请求返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息。
其中,所述存储任务响应指示所述客户端执行存储所述第一多媒体资源的任务。
可选的,所述第一多媒体资源的标识信息可以是用户在客户端输入到所述客户端的,还可以是客户端通过存储任务请求流程从节点服务器获取的。可选的,所述第一多媒体资源的标识信息可以为所述第一多媒体资源的频道号。
所述第一多媒体资源的类型可以为多种,例如动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio Layer 4,MP4)、音频视频转换格式(Audio VideoInterleave,AVI)、微软视频压缩格式(Windows Media Video,WMV)、M3U8等等。
当所述客户端确定所述第一多媒体资源的类型为M3U8时,由于M3U8类型的多媒体资源是分片存在的,需要分片下载,所以所述客户端还要根据所述存储任务响应中包含第一多媒体资源的标识信息,向所述节点服务器发送分片范围信息请求,并接收所述节点服务器返回的分片范围信息,以便所述客户端根据所述分片范围信息下载所述第一多媒体资源的各个分片的数据。
当所述客户端确定所述第一多媒体资源的类型为MP4、AVI、WMV等时,所述客户端可以下载完整的所述第一多媒体资源的数据。
可选的,所述下载任务响应中还可以包含所述第一多媒体资源的数据范围。
可选的,所述存储任务响应中还可以包含返回所述存储任务响应的时间戳,所述客户端可以通过所述存储任务响应中的时间戳确定所述节点服务器下发所述存储任务响应的时间。
步骤203:所述客户端根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。
可选的,所述客户端下载所述第一多媒体资源中的数据,具体方法可以为:
所述客户端获取到播放指示后,所述客户端暂停下载所述第一多媒体资源中的数据,并在所述播放指示请求播放的多媒体资源播放结束后继续下载所述第一多媒体资源中的数据。
可选的,所述存储任务响应中还可以包含所述第一多媒体资源的数据范围;
可选的,所述客户端根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,具体方法可以为:
所述客户端在所述第一多媒体数据资源的数据范围内确定待下载数据范围;
所述客户端向所述节点服务器发送下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置;
所述客户端接收所述节点服务器返回的下载地址,所述下载地址为所述节点服务器根据所述下载地址请求中的所述第一多媒体资源的标识信息和所述数据位置生成的;
所述客户端根据所述下载地址下载所述第一多媒体资源中所述待下载数据范围内的数据。
可选的,所述待下载数据范围中任意一个数据位置可以为所述待下载数据范围中的起始数据位置,也可以是所述待下载数据范围中间任一个数据位置。
可选的,所述节点服务器根据所述第一多媒体资源的标识信息和所述数据位置生成所述下载地址,具体方法可以为:
所述节点服务器根据所述第一多媒体资源的标识信息和所述数据位置,查找所述第一多媒体资源的下载信息,其中,所述下载信息可以包括所述第一多媒体资源的类型,数据范围、数据大小;
所述节点服务器根据所述第一多媒体资源的下载信息生成所述下载地址,具体的,所述节点服务器针对所述客户端生成认证码,根据所述认证码和所述第一多媒体资源的下载信息,拼接所述下载地址。
可选的,所述下载地址为所述第一多媒体资源的URL。
可选的,所述客户端根据所述下载地址下载所述第一多媒体资源中所述待下载数据范围内的数据,具体方法可以为:
所述客户端根据所述下载地址向至少一个流媒体服务器发送下载数据请求;
所述客户端接收所述至少一个流媒体服务器返回的所述第一多媒体资源的数据。
可选的,所述客户端根据所述下载地址向所述至少一个流媒体服务器发送下载数据请求,具体方法可以为:
所述客户端根据所述下载地址确定所述第一多媒体资源的数据范围,并根据所述第一多媒体资源的数据范围拆分为多个部分数据范围;
所述客户端根据所述下载地址,以及所述多个部分数据范围,确定每个部分数据范围的部分下载地址;
所述客户端针对所述每个部分数据范围,生成对应的下载数据请求,其中,任意一个部分数据范围对应的下载数据请求中包含所述部分数据范围的部分下载地址;
所述客户端将所述每个部分数据范围对应的下载数据请求发送给所述至少一个流媒体服务器,其中,所述客户端将所述下载数据请求发送给所述至少一个流媒体服务器之前,根据私有协议获取流媒体服务器列表,所述流媒体服务器列表包含多个流媒体服务器,所述客户端在所述流媒体服务器列表中选择所述至少一个流媒体服务器。
可选的,所述客户端根据所述下载地址确定所述第一多媒体资源的数据范围,具体方法可以为:
所述客户端获取所述下载地址中包含的数据范围信息,根据所述数据范围信息确定所述第一多媒体资源的数据范围。
其中,可选的,所述客户端根据所述第一多媒体资源的数据范围拆分为多个部分数据范围,具体方法可以为:
所述客户端按照固定数据容量,对所述第一多媒体资源的数据范围进行拆分,生成多个部分数据范围,其中每个部分数据范围中的数据的容量等于所述固定数据容量,例如,所述固定数据容量可以为(64*7*188)千字节(KiloByte,KB)。
可选的,所述客户端接收所述至少一个流媒体服务器返回的所述第一多媒体资源的数据,具体方法可以为:
所述客户端接收所述至少一个流媒体服务器针对每个下载数据请求返回的所述第一多媒体资源的部分数据。
可选的,所述客户端接收所述至少一个流媒体服务器返回的所述第一多媒体资源的数据之后,在将所述第一多媒体资源中的数据存储在本地之前,所述方法还包括:
所述客户端确定接收的每个所述第一多媒体资源的部分数据属于所述多个部分数据范围中的一个部分数据范围中的数据。
通过确定接收的每个所述第一多媒体资源的部分数据属于所述多个部分数据范围中的一个部分数据范围中的数据,可以保证所述客户端保存到本地的所述数据为有效、可靠的数据。
可选的,所述客户端将所述第一多媒体资源中的数据存储在本地,具体方法可以为:
所述客户端下载所述第一多媒体资源的数据到本地,每下满本地一块时,更新本地的位图文件(Bitmap),其中,本地分为多块。
可选的,所述客户端将所述第一多媒体资源中的数据保存到本地之后,所述方法还包括:
所述客户端确定存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及本地保存的所述第一多媒体资源的数据范围;
所述客户端将所述状态信息发送给所述节点服务器。
通过上述方法,所述客户端将所述状态信息发送给所述节点服务器,可以使所述节点服务器当检测到所述第一多媒体资源下线后,及时通知所述客户端。
可选的,所述客户端将所述第一多媒体资源中的数据保存到本地之后,所述客户端将存储在本地的所述第一多媒体资源中的数据发送给其他客户端,具体方法为:
所述客户端将自身的Bitmap发送给其他客户端;
其他客户端根据所述Bitmap在所述客户端本地获取所述第一多媒体资源的数据。
采用本发明实施例提供的多媒体资源存储方法,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
基于以上实施例,本发明实施例还提供了一种多媒体资源存储方法,适用于如图1所示的P2P点播系统中的多个客户端,参阅图3所示,该方法的具体流程包括:
步骤301:客户端确定本地存储有第二多媒体资源的数据时,所述客户端向节点服务器发送携带所述第二多媒体资源的标识信息的登录请求。
步骤302:所述客户端接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线。
其中,所述状态指示信息是所述节点服务器在接收到所述客户端发送的携带所述第二多媒体资源的标识信息的登录请求,根据所述标识信息检测所述第二多媒体资源是否下线后生成的。
步骤303:当所述客户端根据所述状态指示信息确定所述第二多媒体资源未下线时,所述客户端确定所述第二多媒体资源未完成下载后,所述客户端从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
采用本发明实施例提供的多媒体资源存储方法,客户端确定所述存储的第二多媒体资源未下线并未下载完时,所述客户端从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。这样,客户端可以在多媒体资源未下线且未下载完时,主动下载所述多媒体资源中的数据,并将下载的所述多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
基于以上实施例,本发明实施例还提供了一种多媒体资源存储方法,适用于如图1所示的P2P点播系统中的节点服务器,参阅图4所示,该方法的具体流程包括:
步骤401:节点服务器接收到客户端发送的存储任务请求后,生成包含第一多媒体资源的标识信息的存储任务响应。
其中,所述存储任务响应指示所述客户端执行存储所述第一多媒体资源的任务。
所述第一多媒体资源的类型可以为多种,例如MP4、AVI、WMV、M3U8等等。
可选的,所述第一多媒体资源的标识信息可以是用户在客户端输入到所述客户端的,还可以是客户端通过存储任务请求流程从节点服务器获取的。可选的,所述第一多媒体资源的标识信息可以为所述第一多媒体资源的频道号。
可选的,所述节点服务器接收所述客户端发送的所述存储任务请求之前,所述方法还包括:
所述节点服务器接收所述客户端发送的携带第二多媒体资源的标识信息的登录请求;
所述节点服务器根据所述标识信息检测所述第二多媒体资源是否下线,并生成状态指示信息,将所述状态指示信息发送给所述客户端,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线。
通过所述节点服务器将所述状态指示信息发送给所述客户端,可以使所述客户端根据所述状态指示信息确定存储的所述第二多媒体资源已下线时删除所述第二多媒体资源的数据,从而节省本地存储空间,避免资源浪费。
可选的,所述节点服务器接收所述客户端发送的所述存储任务请求之前,所述方法还包括:
所述节点服务器检测已下线的多媒体资源;其中,所述节点服务器实时检测已下线的多媒体资源;
所述节点服务器生成多媒体资源下线消息,所述多媒体资源下线消息中包含检测到的至少一个已下线的多媒体资源的标识信息;
所述节点服务器将所述多媒体资源下线消息发送给登录所述节点服务器的所有客户端。
通过所述节点服务器实时检测已下线的多媒体资源,并向所述客户端发送所述多媒体资源下线消息,指示所述客户端执行删除本地存储的所述已下线的多媒体资源的数据的操作,从而节省所述客户端本地存储空间,避免资源浪费。
可选的,所述节点服务器生成所述存储任务响应之前,所述方法还包括:
所述节点服务器判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,所述节点服务器继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则所述节点服务器按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,所述节点服务器将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
通过上述方法,所述节点服务器可以确定所述第一多媒体资源,进而生成包含所述第一多媒体资源的标识信息的所述下载任务响应。
其中,可选的,所述节点服务器生成包含所述第一多媒体资源的标识信息的所述下载任务响应之前,确定所述第一多媒体资源的下载次数小于预设的下载次数阈值,这样可以避免所述第一多媒体资源被重复多次下载,避免浪费资源空间。
可选的,所述节点服务器将所述第四多媒体资源,确定为所述第一多媒体资源时,所述节点服务器根据所述下载任务请求中包含所述第四多媒体资源的播放地址,确定所述第四多媒体资源作为所述第一多媒体资源。其中,所述第四多媒体资源的播放地址为所述第二多媒体资源的URL,所述节点服务器确定所述第四多媒体资源的方法包括:
所述节点服务器根据在数据库中确定所述第四多媒体资源的播放地址对应的匹配规则;
所述节点服务器根据所述匹配规则对所述第四多媒体资源的播放地址进行重写(rewrite),得到所述第四多媒体资源的关键字(Key),根据所述第四多媒体资源的Key在数据库中确定所述第四多媒体资源。
可选的,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源,可以分为以下两种方式:
第一种方式:所述节点服务器根据所述多个多媒体资源的权重大小确定所述第一多媒体资源。
可选的,所述节点服务器可以在数据库中存储的多个多媒体资源列表中,选择权重最大或最小的所述第一多媒体资源。
第二种方式:所述节点服务器根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
可选的,所述节点服务器可以在数据库中存储的多个多媒体资源列表中,选择在预设的存储份数阈值内存储份数最大的多媒体资源作为所述第一多媒体资源。
可选的,所述节点服务器生成包含所述第一多媒体资源的标识信息的存储任务响应,具体方法可以为:
所述节点服务器确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中。
可选的,所述节点服务器确定所述第一多媒体资源的数据范围,具体方法可以为:
所述节点服务器接收所述客户端上报的剩余空间;
所述节点服务器根据所述剩余空间以及预设的可分配比例,确定所述第一多媒体资源的数据范围;其中,所述可分配比例为所述剩余空间对应的可分配比例和/或所述客户端对应的可分配比例。
可选的,所述存储任务响应中还可以包含返回所述存储任务响应的时间戳,所述客户端可以通过所述存储任务响应中的时间戳确定所述节点服务器下发所述存储任务响应的时间。
步骤402:所述节点服务器将所述存储任务响应发送给所述客户端。
所述节点服务器将所述存储任务响应发送给所述客户端后,所述方法还包括:
所述节点服务器接收所述客户端发送的下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述客户端在所述第一多媒体数据资源的数据范围内确定的待下载数据范围中任意一个数据位置;
所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址,并将所述下载地址返回给所述客户端。
可选的,所述待下载数据范围中任意一个数据位置可以为所述待下载数据范围中的起始数据位置,也可以是所述待下载数据范围中间任一个数据位置。
可选的,所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成所述下载地址时,具体方法可以为:
所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置,查找所述第一多媒体资源的下载信息,其中,所述下载信息可以包括所述第一多媒体资源的类型,数据范围、数据大小;
所述节点服务器根据所述第一多媒体资源的下载信息生成所述下载地址,具体的,所述节点服务器针对所述客户端生成认证码,根据所述认证码和所述第一多媒体资源的下载信息,拼接所述下载地址。
可选的,所述下载地址为所述第一多媒体资源的URL。
可选的,所述方法还包括:
所述节点服务器接收所述客户端发送的存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及所述客户端本地保存的所述第一多媒体资源的数据范围。
采用本发明实施例提供的多媒体资源存储方法,节点服务器接收到客户端发送的存储任务请求后,生成包含第一多媒体资源的标识信息的存储任务响应,并将所述存储任务响应发送给所述客户端。这样可以使所述客户端根据所述存储任务响应去存储所述第一多媒体资源中的数据。
基于以上实施例,本发明实施例还提供了一种多媒体资源发送方法的示例,该示例可以应用于如图1所示的P2P点播系统中。参阅图5所示,该示例的具体流程包括:
步骤501:客户端A确定本地存储有第二多媒体资源的数据时,向节点服务器发送携带所述第二多媒体资源的标识信息的登录请求。
步骤502:所述节点服务器向所述客户端A发送状态指示信息,所述状态指示信息用于通知所述客户端A所述第二多媒体资源是否下线。
步骤503:所述客户端A根据所述状态指示信息判断所述第二多媒体资源是否下线,若未下线,则所述客户端A执行步骤504;若下线,则所述客户端A执行步骤505。
步骤504:所述客户端A确定所述第二多媒体资源未完成下载后,从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
步骤505:所述客户端A删除本地存储的所述第二多媒体资源的数据。
步骤506:所述客户端A向所述节点服务器发送存储任务请求。
可选的,所述客户端A执行步骤506时,所述客户端A当前未播放任何多媒体资源。
可选的,所述客户端A向所述节点服务器发送所述存储任务请求时,分为以下两种方式:
第一种方式:所述客户端A在预设时长内接收到携带所述第四多媒体资源的播放地址的播放请求后,所述客户端A向所述节点服务器存储任务请求,所述下载任务请求中包含所述第四多媒体资源的播放地址,其中,所述预设时长可以是10分钟,所述客户端A当前未播放任何多媒体资源,且待播放所述第四多媒体资源;
可选的,所述播放地址可以为所述第四多媒体资源的URL;
第二种方式:所述客户端A未播放任何多媒体资源的持续时间达到所述预设时长时,所述客户端A向所述节点服务器发送所述存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
可选的,所述预设时长为所述客户端A获取的,所述客户端A获取所述预设时长的方法可以为:
所述客户端A登录所述节点服务器,所述节点服务器下发给所述客户端A所述预设时长;或者
所述客户端A获取自身设置的所述预设时长;或者
所述客户端A获取用户设置的所述预设时长。
所述预设时长为所述客户端A开始处于空闲状态下至向所述节点服务器索要存储任务的持续时间经验值,例如预设时长为10分钟。
例如,本发明实施例可以同时结合上述两种方式,向所述节点服务器发送所述存储任务请求,具体流程包括:
当所述客户端A开始处于空闲状态下,根据所述预设时长,创建索要存储任务定时器,开始计时;当所述任务定时器未超时的情况下,所述客户端A接收到携带所述第四多媒体资源的播放地址的播放请求,所述客户端A停止所述定时器定时功能,向所述节点服务器发送包含所述第四多媒体资源的播放地址的存储任务请求;当所述定时器超时的情况下,所述客户端A还没接收到携带任何多媒体资源的播放地址的播放请求时,所述客户端A向所述节点服务器发送存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
步骤507:所述节点服务器生成存储任务响应,并向所述客户端A发送所述存储任务响应。其中,所述存储任务响应中包含第一多媒体资源的标识信息。
其中,所述存储任务响应指示所述客户端A执行存储所述第一多媒体资源的任务。
可选的,所述第一多媒体资源的标识信息可以为所述第一多媒体资源的频道号。
可选的,所述节点服务器生成所述存储任务响应之前,所述方法还包括:
所述节点服务器判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,所述节点服务器继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则所述节点服务器按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,所述节点服务器将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
通过上述方法,所述节点服务器可以确定所述第一多媒体资源,进而生成包含所述第一多媒体资源的标识信息的所述下载任务响应。
其中,可选的,所述节点服务器生成包含所述第一多媒体资源的标识信息的所述下载任务响应之前,确定所述第一多媒体资源的下载次数小于预设的下载次数阈值,这样可以避免所述第一多媒体资源被重复多次下载,避免浪费资源空间。
可选的,所述节点服务器将所述第四多媒体资源,确定为所述第一多媒体资源时,所述节点服务器根据所述下载任务请求中包含所述第四多媒体资源的播放地址,确定所述第四多媒体资源作为所述第一多媒体资源。其中,所述第四多媒体资源的播放地址为所述第二多媒体资源的URL,所述节点服务器确定所述第四多媒体资源的方法包括:
所述节点服务器根据在数据库中确定所述第四多媒体资源的播放地址对应的匹配规则;
所述节点服务器根据所述匹配规则对所述第四多媒体资源的播放地址进行重写(rewrite),得到所述第四多媒体资源的关键字(Key),根据所述第四多媒体资源的Key在数据库中确定所述第四多媒体资源。
可选的,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源,具体方法可以分为以下两种方式:
第一种方式:所述节点服务器根据所述多个多媒体资源的权重大小确定所述第一多媒体资源。
可选的,所述节点服务器可以在数据库中存储的多个多媒体资源列表中,选择权重最大或最小的所述第一多媒体资源。
第二种方式:所述节点服务器根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
可选的,所述节点服务器可以在数据库中存储的多个多媒体资源列表中,选择在预设的存储份数阈值内存储份数最大的多媒体资源作为所述第一多媒体资源。
可选的,所述节点服务器生成包含所述第一多媒体资源的标识信息的存储任务响应,具体方法可以为:
所述节点服务器确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中。
可选的,所述节点服务器确定所述第一多媒体资源的数据范围,具体方法可以为:
所述节点服务器接收所述客户端A上报的剩余空间;
所述节点服务器根据所述剩余空间以及预设的可分配比例,确定所述第一多媒体资源的数据范围;其中,所述可分配比例为所述剩余空间对应的可分配比例和/或所述客户端A对应的可分配比例。
可选的,所述下载任务响应中还可以包含返回所述存储任务响应的时间戳,所述客户端A可以通过所述存储任务响应中的时间戳确定所述节点服务器下发所述存储任务响应的时间。
步骤508:所述客户端A向所述节点服务器发送下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置。
可选的,所述待下载数据范围中任意一个数据位置可以为待下载数据范围中的起始数据位置,也可以是待下载数据范围中间任一个数据位置;
可选的,所述第一多媒体资源的标识信息可以是用户在客户端A输入到所述客户端A的,还可以是客户端A通过存储任务请求流程从节点服务器获取的。
步骤509:所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址。
可选的,所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成所述下载地址时,具体方法可以为:
所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置,查找所述第一多媒体资源的下载信息,其中,所述下载信息可以包括所述第一多媒体资源的类型、数据范围、数据大小;
所述节点服务器根据所述第一多媒体资源的下载信息生成所述下载地址,具体的,所述节点服务器针对所述客户端A生成认证码,根据所述认证码和所述第一多媒体资源的下载信息,拼接所述下载地址。
可选的,所述下载地址为所述第一多媒体资源的URL。
步骤510:所述节点服务器将所述下载地址返回给所述客户端A。
步骤511:所述客户端A根据所述下载地址向至少一个流媒体服务器发送下载数据请求。
可选的,所述客户端A根据所述下载地址向所述至少一个流媒体服务器发送下载数据请求,具体方法可以为:
所述客户端A根据所述下载地址确定所述第一多媒体资源的数据范围,并根据所述第一多媒体资源的数据范围拆分为多个部分数据范围;
所述客户端A根据所述下载地址,以及所述多个部分数据范围,确定每个部分数据范围的部分下载地址;
所述客户端A针对所述每个部分数据范围,生成对应的下载数据请求,其中,任意一个部分数据范围对应的下载数据请求中包含所述部分数据范围的部分下载地址;
所述客户端A将所述每个部分数据范围对应的下载数据请求发送给所述至少一个流媒体服务器,其中,所述客户端A将所述下载数据请求发送给所述至少一个流媒体服务器之前,根据私有协议获取流媒体服务器列表,所述流媒体服务器列表包含多个流媒体服务器,所述客户端A在所述流媒体服务器列表中选择所述至少一个流媒体服务器。
可选的,所述客户端A根据所述下载地址确定所述第一多媒体资源的数据范围,具体方法可以为:
所述客户端A获取所述下载地址中包含的数据范围信息,根据所述数据范围信息确定所述第一多媒体资源的数据范围。
其中,可选的,所述客户端A根据所述第一多媒体资源的数据范围拆分为多个部分数据范围,具体方法可以为:
所述客户端A按照固定数据容量,对所述第一多媒体资源的数据范围进行拆分,生成多个部分数据范围,其中每个部分数据范围中的数据的容量等于所述固定数据容量,例如,所述固定数据容量可以为(64*7*188)KB。
步骤512:所述客户端A接收所述至少一个流媒体服务器返回的所述第一多媒体资源的数据。
可选的,所述客户端A接收所述至少一个流媒体服务器返回的所述第一多媒体资源的数据,具体方法可以为:
所述客户端A接收所述至少一个流媒体服务器针对每个下载数据请求返回的所述第一多媒体资源的部分数据。
可选的,在所述客户端A接收所述至少一个流媒体服务器返回的所述第一多媒体资源的数据之后,在将所述第一多媒体资源中的数据存储在本地之前,所述方法还包括:
所述客户端A确定接收的每个所述第一多媒体资源的部分数据属于所述多个部分数据范围中的一个部分数据范围中的数据。
通过确定接收的每个所述第一多媒体资源的部分数据属于所述多个部分数据范围中的一个部分数据范围中的数据,可以保证所述客户端A存储在本地的所述数据为有效、可靠的数据。
步骤513:所述客户端A将所述第一多媒体资源中的数据存储在本地。
可选的,所述客户端A将所述第一多媒体资源中的数据存储在本地,具体方法可以为:
所述客户端A下载所述第一多媒体资源的数据到本地,每下满本地一块时,更新本地的位图文件(Bitmap),其中,本地分为多块。
步骤514:所述客户端A确定存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及本地保存的所述第一多媒体资源的数据范围。
步骤515:所述客户端A将所述状态信息发送给所述节点服务器。
步骤516:所述客户端A将存储在本地的所述第一多媒体资源的数据发送给客户端B。
可选的,执行步骤516的具体方法为:
所述客户端A将自身的Bitmap发送给客户端B;
客户端B根据所述Bitmap在所述客户端A本地获取所述第一多媒体资源的数据。
采用本发明实施例提供的多媒体资源存储方法,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
基于以上实施例,本发明实施例还提供了一种客户端,该客户端具有实现如图2所示的一种多媒体资源存储方法的功能,如图6所示,该客户端600包括:发送单元601、接收单元602和处理单元603,其中,
所述发送单元601,用于向节点服务器发送存储任务请求;
所述接收单元602,用于接收所述节点服务器针对所述存储任务请求返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息;
所述处理单元603,用于根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。
可选的,所述处理单元603,还用于在所述发送单元601向所述节点服务器发送所述存储任务请求之前,确定本地存储有第二多媒体资源的数据;
所述发送单元601,还用于向所述节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述接收单元602,还用于接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述处理单元603,还用于当根据所述状态指示信息确定所述第二多媒体资源下线时,删除本地存储的所述第二多媒体资源的数据。
可选的,所述接收单元602,还用于:
在所述客户端600登录所述节点服务器后,接收所述节点服务器发送的多媒体资源下线消息,其中,所述多媒体资源下线消息中包含所述节点服务器检测到的至少一个已下线的多媒体资源的标识信息;
所述处理单元603,还用于当确定在所述至少一个已下线的多媒体资源的标识信息中存在本地存储的第三多媒体资源的标识信息时,删除本地存储的所述第三多媒体资源的数据。
可选的,所述发送单元601,在向所述节点服务器发送所述存储任务请求时,具体用于:
若所述接收单元602在预设时长内接收到携带第四多媒体资源的播放地址的播放请求,则在所述接收单元602接收到所述播放请求后,向所述节点服务器发送所述存储任务请求,所述存储任务请求中包含所述第四多媒体资源的播放地址;或者
若所述客户端600未播放任何多媒体资源的持续时间达到所述预设时长时,则向所述节点服务器发送所述存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
可选的,所述存储任务响应中还包含所述第一多媒体资源的数据范围;
所述处理单元603,还用于在所述第一多媒体数据资源的数据范围内确定待下载数据范围;
所述发送单元601,还用于向所述节点服务器发送下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置;
所述接收单元602,还用于接收所述节点服务器返回的下载地址,所述下载地址为所述节点服务器根据所述下载地址请求中的所述第一多媒体资源的标识信息和所述数据位置生成的;
所述处理单元603,具体用于:
根据所述下载地址下载所述第一多媒体资源中所述待下载数据范围内的数据。
可选的,所述处理单元603,具体用于:
在所述接收单元602获取到播放指示后,暂停下载所述第一多媒体资源中的数据,并在所述播放指示请求播放的多媒体资源播放结束后继续下载所述第一多媒体资源中的数据。
可选的,所述处理单元603,还用于在将所述第一多媒体资源中的数据保存到本地之后,确定存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及本地保存的所述第一多媒体资源的数据范围;
所述发送单元601,还用于将所述状态信息发送给所述节点服务器。
采用本发明实施例提供的客户端,向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
基于以上实施例,本发明实施例还提供了一种客户端,该客户端具有实现如图3所示的一种多媒体资源存储方法的功能,如图7所示,该客户端700包括:处理单元701、发送单元702和接收单元703,其中,
所述处理单元701,用于确定本地存储有第二多媒体资源的数据;
所述发送单元702,用于向所述节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述接收单元703,用于接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述处理单元701,还用于当根据所述状态指示信息确定所述第二多媒体资源未下线时,确定所述第二多媒体资源未完成下载后,从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
采用本发明实施例提供的客户端,确定所述存储的第二多媒体资源未下线并未下载完时,所述客户端从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。这样,客户端可以在多媒体资源未下线且未下载完时,主动下载所述多媒体资源中的数据,并将下载的所述多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
基于以上实施例,本发明实施例还提供了一种节点服务器,该节点服务器具有实现如图4所示的一种多媒体资源存储方法的功能,如图8所示,该节点服务器800包括:接收单元801、处理单元802和发送单元803,其中,
所述接收单元801,用于接收客户端发送的存储任务请求;
所述处理单元802,用于生成包含第一多媒体资源的标识信息的存储任务响应;
所述发送单元803,用于所述存储任务响应发送给所述客户端。
可选的,所述接收单元801,还用于在接收所述客户端发送的所述存储任务请求之前,接收所述客户端发送的携带第二多媒体资源的标识信息的登录请求;
所述处理单元802,还用于根据所述标识信息检测所述第二多媒体资源是否下线,并生成状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述发送单元803,还用于将所述状态指示信息发送给所述客户端。
可选的,所述处理单元802,还用于在所述接收单元801接收所述客户端发送的所述存储任务请求之前,检测已下线的多媒体资源,并生成多媒体资源下线消息,所述多媒体资源下线消息中包含检测到的至少一个已下线的多媒体资源的标识信息;
所述发送单元803,还用于将所述多媒体资源下线消息发送给登录所述节点服务器的所有客户端。
可选的,所述处理单元802,在生成所述存储任务响应之前,还用于:
判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
可选的,所述处理单元802,在按照设定策略在多个多媒体资源中选择所述第一多媒体资源时,具体用于:
根据所述多个多媒体资源的权重大小确定所述第一多媒体资源;或者
根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
可选的,所述处理单元802,在生成包含所述第一多媒体资源的标识信息的存储任务响应时,具体用于:
确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中;
所述接收单元801,还用于在所述发送单元803将所述存储任务响应发送给所述客户端后,接收所述客户端发送的下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述客户端在所述第一多媒体数据资源的数据范围内确定的待下载数据范围中任意一个数据位置;
所述处理单元802,还用于根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址;
所述发送单元803,还用于将所述下载地址返回给所述客户端。
可选的,所述接收单元801,还用于接收所述客户端上报的剩余空间;
所述处理单元802,在确定所述第一多媒体资源的数据范围时,具体用于:
根据所述剩余空间以及预设的可分配比例,确定所述第一多媒体资源的数据范围;其中,所述可分配比例为所述剩余空间对应的可分配比例和/或所述客户端对应的可分配比例。
可选的,所述接收单元801,还用于:
接收所述客户端发送的存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及所述客户端本地保存的所述第一多媒体资源的数据范围。
采用本发明实施例提供的节点服务器,接收到客户端发送的存储任务请求后,生成包含第一多媒体资源的标识信息的存储任务响应,并将所述存储任务响应发送给所述客户端。这样可以使所述客户端根据所述存储任务响应去存储所述第一多媒体资源中的数据。
综上所述,本发明实施例中提供的多媒体资源存储方法及装置,客户端向节点服务器发送存储任务请求,接收所述节点服务器返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息,并根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。这样,客户端可以主动向节点服务器索要存储任务,并将下载的多媒体资源中的数据存储在本地,使P2P点播下载方式更加灵活,满足用户需求。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (24)

1.一种多媒体资源存储方法,其特征在于,包括:
客户端向节点服务器发送存储任务请求;
所述客户端接收所述节点服务器针对所述存储任务请求返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息;
所述客户端根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。
2.如权利要求1所述的方法,其特征在于,所述客户端向所述节点服务器发送所述存储任务请求之前,所述方法还包括:
所述客户端确定本地存储有第二多媒体资源的数据时,所述客户端向所述节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述客户端接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
当所述客户端根据所述状态指示信息确定所述第二多媒体资源下线时,所述客户端删除本地存储的所述第二多媒体资源的数据。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述客户端登录所述节点服务器后,接收所述节点服务器发送的多媒体资源下线消息,其中,所述多媒体资源下线消息中包含所述节点服务器检测到的至少一个已下线的多媒体资源的标识信息;
当所述客户端确定在所述至少一个已下线的多媒体资源的标识信息中存在本地存储的第三多媒体资源的标识信息时,所述客户端删除本地存储的所述第三多媒体资源的数据。
4.如权利要求1所述的方法,其特征在于,所述客户端向所述节点服务器发送所述存储任务请求,包括:
若所述客户端在预设时长内接收到携带第四多媒体资源的播放地址的播放请求,则所述客户端在接收到所述播放请求后,向所述节点服务器发送所述存储任务请求,所述存储任务请求中包含所述第四多媒体资源的播放地址;或者
若所述客户端未播放任何多媒体资源的持续时间达到所述预设时长时,则所述客户端向所述节点服务器发送所述存储任务请求,所述存储任务请求中不包含任何多媒体资源的播放地址。
5.如权利要求1所述的方法,其特征在于,所述存储任务响应中还包含所述第一多媒体资源的数据范围;
所述客户端根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,包括:
所述客户端在所述第一多媒体数据资源的数据范围内确定待下载数据范围;
所述客户端向所述节点服务器发送下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置;
所述客户端接收所述节点服务器返回的下载地址,所述下载地址为所述节点服务器根据所述下载地址请求中的所述第一多媒体资源的标识信息和所述数据位置生成的;
所述客户端根据所述下载地址下载所述第一多媒体资源中所述待下载数据范围内的数据。
6.如权利要求1所述的方法,其特征在于,所述客户端下载所述第一多媒体资源中的数据,包括:
所述客户端获取到播放指示后,所述客户端暂停下载所述第一多媒体资源中的数据,并在所述播放指示请求播放的多媒体资源播放结束后继续下载所述第一多媒体资源中的数据。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述客户端将所述第一多媒体资源中的数据保存到本地之后,所述方法还包括:
所述客户端确定存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及本地保存的所述第一多媒体资源的数据范围;
所述客户端将所述状态信息发送给所述节点服务器。
8.一种多媒体资源存储方法,其特征在于,包括:
客户端确定本地存储有第二多媒体资源的数据时,所述客户端向节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
所述客户端接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
当所述客户端根据所述状态指示信息确定所述第二多媒体资源未下线时,所述客户端确定所述第二多媒体资源未完成下载后,所述客户端从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
9.一种多媒体资源存储方法,其特征在于,包括:
节点服务器接收到客户端发送的存储任务请求后,生成包含第一多媒体资源的标识信息的存储任务响应;
所述节点服务器将所述存储任务响应发送给所述客户端。
10.如权利要求9所述的方法,其特征在于,所述节点服务器接收所述客户端发送的所述存储任务请求之前,所述方法还包括:
所述节点服务器接收所述客户端发送的携带第二多媒体资源的标识信息的登录请求;
所述节点服务器根据所述标识信息检测所述第二多媒体资源是否下线,并生成状态指示信息,将所述状态指示信息发送给所述客户端,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线。
11.如权利要求9所述的方法,其特征在于,所述节点服务器接收所述客户端发送的所述存储任务请求之前,所述方法还包括:
所述节点服务器检测已下线的多媒体资源;
所述节点服务器生成多媒体资源下线消息,所述多媒体资源下线消息中包含检测到的至少一个已下线的多媒体资源的标识信息;
所述节点服务器将所述多媒体资源下线消息发送给登录所述节点服务器的所有客户端。
12.如权利要求9所述的方法,其特征在于,所述节点服务器生成所述存储任务响应之前,所述方法还包括:
所述节点服务器判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,所述节点服务器继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则所述节点服务器按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,所述节点服务器将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
13.如权利要求12所述的方法,其特征在于,所述节点服务器按照设定策略在多个多媒体资源中选择所述第一多媒体资源,包括:
所述节点服务器根据所述多个多媒体资源的权重大小确定所述第一多媒体资源;或者
所述节点服务器根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
14.如权利要求9-13中任一项所述的方法,其特征在于,所述节点服务器生成包含所述第一多媒体资源的标识信息的存储任务响应,包括:
所述节点服务器确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中;
所述节点服务器将所述存储任务响应发送给所述客户端后,所述方法还包括:
所述节点服务器接收所述客户端发送的下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述客户端在所述第一多媒体数据资源的数据范围内确定的待下载数据范围中任意一个数据位置;
所述节点服务器根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址,并将所述下载地址返回给所述客户端。
15.如权利要求14所述的方法,其特征在于,所述节点服务器确定所述第一多媒体资源的数据范围,包括:
所述节点服务器接收所述客户端上报的剩余空间;
所述节点服务器根据所述剩余空间以及预设的可分配比例,确定所述第一多媒体资源的数据范围;其中,所述可分配比例为所述剩余空间对应的可分配比例和/或所述客户端对应的可分配比例。
16.如权利要求9-13中任一项所述的方法,其特征在于,所述方法还包括:
所述节点服务器接收所述客户端发送的存储的所述第一多媒体资源中的数据的状态信息,所述状态信息中包含所述第一多媒体资源的标识信息,以及所述客户端本地保存的所述第一多媒体资源的数据范围。
17.一种客户端,其特征在于,包括:
发送单元,用于向节点服务器发送存储任务请求;
接收单元,用于接收所述节点服务器针对所述存储任务请求返回的存储任务响应,所述存储任务响应中包含第一多媒体资源的标识信息;
处理单元,用于根据所述存储任务响应中的所述第一多媒体资源的标识信息,下载所述第一多媒体资源中的数据,并将下载的所述第一多媒体资源中的数据存储在本地。
18.一种客户端,其特征在于,包括:
处理单元,用于确定本地存储有第二多媒体资源的数据;
发送单元,用于向节点服务器发送携带所述第二多媒体资源的标识信息的登录请求;
接收单元,用于接收所述节点服务器返回的状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述处理单元,还用于当根据所述状态指示信息确定所述第二多媒体资源未下线时,确定所述第二多媒体资源未完成下载后,从所述第二多媒体资源的中断数据位置下载数据,并将下载的所述第二多媒体资源中的数据存储在本地。
19.一种节点服务器,其特征在于,包括:
接收单元,用于接收客户端发送的存储任务请求;
处理单元,用于生成包含第一多媒体资源的标识信息的存储任务响应;
发送单元,用于所述存储任务响应发送给所述客户端。
20.如权利要求19所述的节点服务器,其特征在于,
所述接收单元,还用于在接收所述客户端发送的所述存储任务请求之前,接收所述客户端发送的携带第二多媒体资源的标识信息的登录请求;
所述处理单元,还用于根据所述标识信息检测所述第二多媒体资源是否下线,并生成状态指示信息,所述状态指示信息用于通知所述客户端所述第二多媒体资源是否下线;
所述发送单元,还用于将所述状态指示信息发送给所述客户端。
21.如权利要19所述的节点服务器,其特征在于,
所述处理单元,还用于在所述接收单元接收所述客户端发送的所述存储任务请求之前,检测已下线的多媒体资源,并生成多媒体资源下线消息,所述多媒体资源下线消息中包含检测到的至少一个已下线的多媒体资源的标识信息;所述发送单元,还用于将所述多媒体资源下线消息发送给登录所述节点服务器的所有客户端。
22.如权利要求19所述的节点服务器,其特征在于,所述处理单元,在生成所述存储任务响应之前,还用于:
判断所述存储任务请求中是否包含播放地址;
当所述存储任务请求中包含第四多媒体资源的播放地址时,继续判断其他客户端存储所述第四多媒体资源中的数据的份数是否达到预设的存储份数阈值:若是,则按照设定策略在除所述第四多媒体资源以外的多个多媒体资源中选择所述第一多媒体资源;否则,将所述第四多媒体资源,确定为所述第一多媒体资源;或者
当所述存储任务请求中未包含所述播放地址时,按照设定策略在多个多媒体资源中选择所述第一多媒体资源。
23.如权利要求22所述的节点服务器,其特征在于,所述处理单元,在按照设定策略在多个多媒体资源中选择所述第一多媒体资源时,具体用于:
根据所述多个多媒体资源的权重大小确定所述第一多媒体资源;或者
根据所述多个多媒体资源的存储份数确定所述第一多媒体资源。
24.如权利要求19-23中任一项所述的节点服务器,其特征在于,所述处理单元,在生成包含所述第一多媒体资源的标识信息的存储任务响应时,具体用于:
确定所述第一多媒体资源的数据范围,并将所述第一多媒体资源的数据范围和所述第一多媒体资源的标识信息携带在所述存储任务响应中;
所述接收单元,还用于在所述发送单元将所述存储任务响应发送给所述客户端后,接收所述客户端发送的下载地址请求,所述下载地址请求中包含所述第一多媒体资源的标识信息和所述客户端在所述第一多媒体数据资源的数据范围内确定的待下载数据范围中任意一个数据位置;
所述处理单元,还用于根据所述第一多媒体资源的标识信息和所述待下载数据范围中任意一个数据位置生成下载地址;
所述发送单元,还用于将所述下载地址返回给所述客户端。
CN201610851920.3A 2016-09-26 2016-09-26 一种多媒体资源存储方法及装置 Pending CN107872477A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610851920.3A CN107872477A (zh) 2016-09-26 2016-09-26 一种多媒体资源存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610851920.3A CN107872477A (zh) 2016-09-26 2016-09-26 一种多媒体资源存储方法及装置

Publications (1)

Publication Number Publication Date
CN107872477A true CN107872477A (zh) 2018-04-03

Family

ID=61750993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610851920.3A Pending CN107872477A (zh) 2016-09-26 2016-09-26 一种多媒体资源存储方法及装置

Country Status (1)

Country Link
CN (1) CN107872477A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110996145A (zh) * 2019-12-18 2020-04-10 北京达佳互联信息技术有限公司 一种多媒体资源的播放方法、系统、终端设备及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
WO2010125052A2 (en) * 2009-04-27 2010-11-04 Media Patents, S. L. Methods and apparatus for transmitting multimedia files in a data network
CN103123630A (zh) * 2011-11-21 2013-05-29 腾讯科技(深圳)有限公司 一种获取网页内容的方法、系统以及移动终端和服务器
CN103716391A (zh) * 2013-12-26 2014-04-09 星云融创(北京)信息技术有限公司 一种内容缓存的实现方法及路由器
CN105635254A (zh) * 2015-12-23 2016-06-01 小米科技有限责任公司 多媒体资源下载方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
WO2010125052A2 (en) * 2009-04-27 2010-11-04 Media Patents, S. L. Methods and apparatus for transmitting multimedia files in a data network
CN103123630A (zh) * 2011-11-21 2013-05-29 腾讯科技(深圳)有限公司 一种获取网页内容的方法、系统以及移动终端和服务器
CN103716391A (zh) * 2013-12-26 2014-04-09 星云融创(北京)信息技术有限公司 一种内容缓存的实现方法及路由器
CN105635254A (zh) * 2015-12-23 2016-06-01 小米科技有限责任公司 多媒体资源下载方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110996145A (zh) * 2019-12-18 2020-04-10 北京达佳互联信息技术有限公司 一种多媒体资源的播放方法、系统、终端设备及服务器

Similar Documents

Publication Publication Date Title
CN108540868B (zh) Hls直播的处理方法、装置、服务器、终端及存储介质
CN111787345B (zh) 基于网络直播间的互动资源处理方法、装置、服务器及存储介质
CN111582924B (zh) 一种云游戏的广告投放系统、方法及装置
CN105897850A (zh) 用于cdn平台的响应处理方法、调度代理服务器及系统
CN105187950B (zh) 一种视频文件播放的方法、设备和系统
WO2011068036A1 (ja) コミュニケーションシステムおよびコミュニケーション方法
CN110139123A (zh) 流媒体文件的播放、发送、处理方法和装置
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
CN109905629A (zh) 音视频会议时实现文档共享的方法、装置、介质和设备
CN108521576A (zh) 媒体资源的显示方法、装置、存储介质和电子装置
CN110351569A (zh) 一种直播内容处理方法、装置、设备及介质
CN106686083A (zh) 一种视频文件下载方法及装置
CN110290396B (zh) 一种视频处理的方法、装置、系统、设备和存储介质
CN112312145B (zh) 接入服务器、突发流量的缓存方法、系统、计算机设备及可读存储介质
CN111935242A (zh) 数据传输方法、装置、服务器以及存储介质
CN109767268A (zh) 一种广告推送方法、装置、存储介质及计算机设备
CN100446567C (zh) 在信息家电中实现p2p流播放的装置和方法
CN110719526A (zh) 视频播放方法及装置
CN108632667A (zh) 一种多媒体文件的解码方法及终端
CN109710502A (zh) 日志传输方法、装置及存储介质
US12010197B2 (en) System, method and computer-readable medium for data accessing
CN103561013B (zh) 流媒体的数据分发系统
CN106657172A (zh) 一种信息推送的实现方法及装置
CN107872477A (zh) 一种多媒体资源存储方法及装置
CN108881963A (zh) 数据获取方法、服务端及客户端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180403

WD01 Invention patent application deemed withdrawn after publication