CN111200622A - 一种资源传输方法及装置、存储介质 - Google Patents
一种资源传输方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111200622A CN111200622A CN201811369536.5A CN201811369536A CN111200622A CN 111200622 A CN111200622 A CN 111200622A CN 201811369536 A CN201811369536 A CN 201811369536A CN 111200622 A CN111200622 A CN 111200622A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- target resource
- transmission
- transmission device
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Abstract
本发明实施例提供了一种资源传输方法及装置、存储介质,上述方法包括:获取资源传输参数,资源传输参数表征网络传输状况及资源参数的相关信息;基于资源传输参数,从预设多模式传输策略中确定资源传输方式;采用资源传输方式发送目标资源上传请求至服务器,目标资源上传请求中携带有目标资源;当资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收目标资源传输装置发送的目标资源获取请求,目标资源传输装置是由服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有目标资源的装置;响应于目标资源获取请求,直接传输目标资源给目标资源传输装置。
Description
技术领域
本发明涉及通信领域中的网络传输技术,尤其涉及一种资源传输方法及装置、存储介质。
背景技术
随着网络传输技术的发展,资源传输是在目前的网络应用中普遍使用的功能。其中,资源传输是发送方一端将文件经信道传送到另一端,并被对方所接收的过程。
目前,在资源传输的过程中需要借助服务器进行中转或处理。针对社交应用提供的资源传输功能,向参与该社交应用会话的一个或多个好友发送分享照片和视频等大容量的文件(即资源)进行分享的场景,发送方通过该社交应用可以离线传输资源到服务器进行后台存储,然后再通过该服务器发送消息给接收方,接收方再从服务器下载该资源。
然而,由于网络的不稳定性和公网带宽等网络环境的限制,使得发送方采用该离线方式传输资源时受限于网络环境的影响,导致资源的传输速率低;资源传输到服务器后还需要接收方收到消息提示才可以去服务器下载该资源,从资源发送、传输、提示到下载,这一系列的过程导致整个资源传输的过程非常繁琐且耗时。
发明内容
本发明实施例提供一种资源传输方法及装置、存储介质,能够提高了资源传输的传输效率,节省传输时间。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种资源传输方法,包括:
获取资源传输参数,所述资源传输参数表征网络传输状况及资源参数的相关信息;
基于所述资源传输参数,从预设多模式传输策略中确定资源传输方式;
采用所述资源传输方式发送目标资源上传请求至服务器,所述目标资源上传请求中携带有目标资源;
当所述资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收所述目标资源传输装置发送的目标资源获取请求,所述目标资源传输装置是由所述服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有所述目标资源的装置;
响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置。
本发明实施例还提供一种资源传输方法,包括:
发送目标资源下载请求和局域网检索请求至服务器,所述服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源;
接收所述服务器响应于所述目标资源下载请求发送的第一目标资源;
接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息;所述目标检索资源传输装置是由所述服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有所述目标资源的装置;
根据所述目标检索资源传输装置的信息,发送目标资源传输请求至所述目标检索资源传输装置,从所述目标检索资源传输装置直接获取到第二目标资源;
基于所述第一目标资源和所述第二目标资源的资源整合,下载完所述目标资源。
本发明实施例提供一种源资源传输装置,包括:
第一获取单元,用于获取资源传输参数,所述资源传输参数表征网络传输状况及资源参数的相关信息;
确定单元,用于基于所述资源传输参数,从预设多模式传输策略中确定资源传输方式;
第一发送单元,用于采用所述资源传输方式发送目标资源上传请求至服务器,所述目标资源上传请求中携带有目标资源;
第一接收单元,用于当所述资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收所述目标资源传输装置发送的目标资源获取请求,所述目标资源传输装置是由所述服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有所述目标资源的装置;
所述第一发送单元,还用于响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置。
本发明实施例提供一种目标资源下载装置,包括:
第二发送单元,用于发送目标资源下载请求和局域网检索请求至服务器,所述服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源;
第二接收单元,用于接收所述服务器响应于所述目标资源下载请求发送的第一目标资源;以及,接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息;所述目标检索资源传输装置是由所述服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有所述目标资源的装置;
所述第二发送单元,还用于根据所述目标检索资源传输装置的信息,发送目标资源传输请求至所述目标检索资源传输装置,从所述目标检索资源传输装置直接获取到第二目标资源;
整合单元,用于基于所述第一目标资源和所述第二目标资源的资源整合,下载完所述目标资源。
本发明实施例还提供一种源资源传输装置,包括:
第一存储器,用于存储可执行资源传输指令;
第一处理器,用于执行所述第一存储器中存储的可执行资源传输指令时,实现本发明实施例提供的源资源传输装置执行的资源传输方法。
本发明实施例还提供一种目标资源下载装置,包括:
第二存储器,用于存储可执行资源传输指令;
第二处理器,用于执行所述第二存储器中存储的可执行资源传输指令时,实现本发明实施例提供的目标资源下载装置执行的资源传输方法。
本发明实施例提供一种存储介质,存储有可执行资源传输指令,用于引起第一处理器执行时,实现本发明实施例提供的源资源传输装置执行的资源传输方法,或者,存储有可执行资源传输指令,用于引起第二处理器执行时,实现本发明实施例提供的目标资源下载装置执行的资源传输方法。
本发明实施例提供了一种资源传输方法及装置、存储介质,获取资源传输参数,资源传输参数表征网络传输状况及资源参数的相关信息;基于资源传输参数,从预设多模式传输策略中确定资源传输方式;采用资源传输方式发送目标资源上传请求至服务器,目标资源上传请求中携带有目标资源;当资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收目标资源传输装置发送的目标资源获取请求,目标资源传输装置是由服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有目标资源的装置;响应于目标资源获取请求,直接传输目标资源给目标资源传输装置。采用上述技术实现方案,由于源资源传输装置在向其他资源传输装置发送目标资源的时候,基于与其他资源传输装置的资源传输方式的选择,可以进行直连混合传输的时候,通过服务器从其他资源传输装置中选择出与源资源传输装置处于同一局域网的目标资源传输装置,采用离线传输给服务器,通过服务器传输给其他资源传输装置的同时,还可以通过直传发送目标资源给目标资源传输装置,由于直传的速度远远超过离线传输的速度,因此,目标资源传输装置可以提前获取到目标资源,这使得在目标资源的传输过程中提高了目标资源的传输效率,节省了目标资源传输装置的传输时间。
附图说明
图1是本发明实施例提供的资源传输系统架构的一个可选的结构示意图;
图2是本发明实施例提供的示例性的终端的一个可选的结构示意图;
图3是本发明实施例提供的源资源传输装置的一个可选的结构示意图;
图4是本发明实施例提供的目标资源下载装置的一个可选的结构示意图;
图5是本发明实施例提供的资源传输方法的一个可选的流程示意图一;
图6是本发明实施例提供的示例性的阈值区间与资源传输方式的示意图;
图7是本发明实施例提供的示例性的接收端终端收到直连传输的卡片消息的展示图;
图8是本发明实施例提供示例性的直连切换到离线后接收端终端展示卡片消息的示意图;
图9是本发明实施例提供的示例性的离线传输的示意图;
图10是本发明实施例提供的示例性的直连传输的示意图;
图11是本发明实施例提供的示例性的为发送端(PC\MAC)时,接收端直连传输卡片消息展示图;
图12是本发明实施例提供的示例性的发送端(非PC\MAC)时,接收端(PC\MAC)直连传输卡片消息展示图;
图13是本发明实施例提供的示例性的直连连接成功且正常传输的流程图;
图14是本发明实施例提供的示例性的资源分片传输示意图;
图15是本发明实施例提供的资源传输方法的一个可选的流程示意图二;
图16A是本发明实施例提供的示例性的单通道示意图一;
图16B是本发明实施例提供的示例性的单通道示意图二;
图17A是本发明实施例提供的示例性的单源多通道示意图一;
图17B是本发明实施例提供的示例性的单源多通道示意图二;
图18A是本发明实施例提供的示例性的多源多通道示意图一;
图18B是本发明实施例提供的示例性的多源多通道示意图二;
图19是本发明实施例还提供的资源传输方法的一个可选的流程示意图;
图20是本发明实施例提供的示例性的直连离线混合传输时显示状态更新示意图;
图21是本发明实施例提供的示例性的上传资源的交互图;
图22是本发明实施例提供的示例性的下载资源的交互图;
图23是本发明实施例提供的示例性的业务应用场景示意图一;
图24是本发明实施例提供的示例性的业务应用场景示意图二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
需要指出的是,本发明实施例所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里描述的以外的顺序实施。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)资源,本发明实施例指的是文件,资源传输就指的是文件传输,其中,这里的文件为如视频、音频、图像、安装包和压缩包等任意形式的支持复制并传输的文件。本发明实施例中的资源可以包括:目标资源,第一目标资源和第二目标资源。
2)资源分片,资源进行分割形成的子资源,一般地,对同一资源进行分割形成的资源分片具有相同的容量,当然,也可以分割形成不同容量的资源分片。本发明实施例中的资源分片包括第一目标资源分片和第二目标资源分片。
3)卡片消息,指的是资源卡片消息,在社交应用中,沟通会话时资源的展示方式,例如,企业微信中,沟通会话中资源的展示方式等。通过卡片消息可查看具体资源的内容。
4)企业微信,为企业打造的沟通、协同工具,多平台同步推出的提升企业即时通讯效率的平台产品。
5)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
下面说明实现本发明实施例的资源传输装置的示例性应用,本发明实施例提供的资源传输装置可以实施为设置在智能手机、平板电脑、笔记本电脑等各种类型的用户终端中的资源传输模块,也可以实施为设置在服务器中的资源传输模块,还可以为与终端和服务器进行网络通信的网关设备。这里的服务器可以为运行应用功能的终端对应的中控服务器和存储服务器。下面将说明资源传输装置的示例性应用。
以资源传输装置为终端为例进行说明。参见图1,图1是本发明实施例提供的资源传输系统100的一个可选的架构示意图,为实现支撑一个示例性应用,终端400(示例性示出了源资源传输装置对应的终端400-1、目标资源下载装置对应的终端400-2、目标资源传输装置对应的终端400-3和目标检索资源传输装置对应的终端400-4)通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。其中,网络200中包含网关设备200-1。
在资源上传的过程中,终端400-1,用于获取资源传输参数,资源传输参数表征网络传输状况及资源参数的相关信息;基于资源传输参数,从预设多模式传输策略中确定资源传输方式;采用资源传输方式发送目标资源上传请求至服务器300,目标资源上传请求中携带有目标资源;当资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收目标资源传输装置发送的目标资源获取请求,目标资源传输装置400-3是由服务器300根据目标资源确定的与源资源传输装置为同一局域网、且未存储有目标资源的装置;响应于目标资源获取请求,直接传输目标资源给目标资源传输装置终端400-3。其中,服务器300,用于根据目标资源确定与源资源传输装置为同一局域网、且未存储有目标资源的目标资源传输装置;发送目标资源传输装置的标识至终端400-1。
以及在资源下载的过程中,终端400-2,用于发送目标资源下载请求和局域网检索请求至服务器300,服务器300中存储有由源资源传输装置400-1通过目标资源上传请求传输的目标资源;接收服务器300响应于目标资源下载请求发送的第一目标资源;接收服务器300响应于局域网检索请求发送的目标检索资源传输装置400-4的信息;目标检索资源传输装置400-4是由服务器300根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有目标资源的装置;根据目标检索资源传输装置的信息,发送目标资源传输请求至目标检索资源传输装置400-4,从目标检索资源传输装置400-4直接获取到第二目标资源;基于第一目标资源和第二目标资源的资源整合,下载完目标资源。其中,服务器300,用于获取目标资源的云端索引信息;根据云端索引信息检索出候选检索资源传输装置(例如,400-3和400-4);向候选检索资源传输装置发送云端索引信息,检测候选检索资源传输装置存储的资源中是否存在与云端索引信息匹配的本地索引信息;若候选检索资源传输装置中的第一候选检索资源传输装置存在匹配的本地索引信息,则确定第一候选检索资源传输装置为目标检索资源传输装置400-4。
本发明实施例提供的资源传输装置可以实施为硬件或者软硬件结合的方式,下面说明本发明实施例提供的资源传输装置的各种示例性实施。
参见图2,以资源传输装置为终端400为例进行说明,图2是本发明实施例提供的终端400一个可选的结构示意图,终端400可以是移动电话、计算机、数字广播终端、信息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等终端,根据终端400的结构可以预见资源传输装置的实施为终端时的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图2所示的终端400包括:至少一个处理器410、存储器440、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统450耦合在一起。可理解,总线系统450用于实现这些组件之间的连接通信。总线系统450除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统450。
其中,用户接口430可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
存储器440可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、闪存(Flash Memory)等。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static RandomAccess Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random AccessMemory)。本发明实施例描述的存储器440旨在包括这些和任意其它适合类型的存储器。
本发明实施例中的存储器440能够存储数据以支持终端400的操作。这些数据的示例包括:用于在终端400上操作的任何计算机程序,如操作系统442和可执行程序441。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。可执行程序可以包含各种应用程序,例如可执行资源传输指令。
示例性的,本发明实施例提供了一种源资源传输装置(即终端400-1),至少包括:
第一存储器,用于存储可执行资源传输指令;
第一处理器,用于执行所述第一存储器中存储的可执行资源传输指令时,实现本发明实施例提供的资源传输方法。
本发明实施例提供了一种目标资源下载装置(即终端400-2),至少包括:
第二存储器,用于存储可执行资源传输指令;
第二处理器,用于执行所述第二存储器中存储的可执行资源传输指令时,实现本发明实施例提供的资源传输方法。
其中,当资源传输装置400为终端400-1时,第一存储器可以为存储器440,第一处理器为至少一个处理器410;当资源传输装置400为终端400-2时,第二存储器可以为存储器440,第二处理器为至少一个处理器410。
需要说明的是,在本发明实施例中,终端400中的其他部件可以适应性的在源资源传输装置和目标检索资源传输装置中根据实际需求进行部署,本发明实施例不作限制。例如,源资源传输装置和目标检索资源传输装置中的资源的接收和发送都是由网络接口420实现的,而源资源传输装置和目标检索资源传输装置中的资源的展示则是由用户接口430实现的。
作为本发明实施例提供的资源传输方法采用软硬件结合实施的示例,本发明实施例所提供的资源传输方法可以直接体现为由处理器410执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器440,处理器410读取存储器440中软件模块包括的可执行资源传输指令,结合必要的硬件(例如,包括处理器410以及连接到总线450的其他组件)完成本发明实施例提供的资源传输方法。
作为示例,处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
示例性的,本发明实施例提供一种存储介质(即计算机可读存储介质),存储有可执行资源传输指令,用于引起第一处理器执行时,实现本发明实施例提供的源资源传输装置执行的资源传输方法。
本发明实施例提供一种存储介质(计算机可读存储介质),存储有可执行资源传输指令,用于引起第二处理器执行时,实现本发明实施例提供的目标资源下载装置执行的资源传输方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在本发明的一些实施例中,可执行资源传输指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行资源传输指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行资源传输指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
下面说明软件模块的示例性结构,在一些实施例中,如图3所示,源资源传输装置1中的软件模块可以包括:第一获取单元10、确定单元11、第一发送单元12和第一接收单元13;其中,
第一获取单元10,用于获取资源传输参数,所述资源传输参数表征网络传输状况及资源参数的相关信息;
确定单元11,用于基于所述资源传输参数,从预设多模式传输策略中确定资源传输方式;
第一发送单元12,用于采用所述资源传输方式发送目标资源上传请求至服务器,所述目标资源上传请求中携带有目标资源;
第一接收单元13,用于当所述资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收所述目标资源传输装置发送的目标资源获取请求,所述目标资源传输装置是由所述服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有所述目标资源的装置;
所述第一发送单元12,还用于响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置。
在本发明的一些实施例中,所述预设多模式传输策略:直连传输、离线传输、直连离线混合传输、直连和离线混合传输中直连优先传输中任意一种或者多种资源传输方式。
在本发明的一些实施例中,所述第一发送单元12,还用于所述响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置之后,通过所述目标资源传输装置上传所述目标资源至所述服务器。
在本发明的一些实施例中,所述第二接收单元13,还用于所述采用所述资源传输方式发送目标资源上传请求至服务器之后,接收所述服务器发送的上传完成反馈信息;
所述第一发送单元12,还用于发送停止拓扑请求至所述目标资源传输装置,指示所述目标资源传输装置停止向所述服务器上传所述目标资源。
在一些实施例中,如图4所示,目标资源下载装置2中的软件模块可以包括:第二发送单元20、第二接收单元21和整合单元22,其中,
第二发送单元20,用于发送目标资源下载请求和局域网检索请求至服务器,所述服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源;
第二接收单元21,用于接收所述服务器响应于所述目标资源下载请求发送的第一目标资源;以及,接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息;所述目标检索资源传输装置是由所述服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有所述目标资源的装置;
所述第二发送单元20,还用于根据所述目标检索资源传输装置的信息,发送目标资源传输请求至所述目标检索资源传输装置,从所述目标检索资源传输装置直接获取到第二目标资源;
整合单元22,用于基于所述第一目标资源和所述第二目标资源的资源整合,下载完所述目标资源。
在本发明的一些实施例中,所述第二接收单元21,具体用于接收所述服务器响应于所述目标资源下载请求按照第一预设分片序列发送第一目标资源分片,所述第一目标资源分片构成了所述第一目标资源。
在本发明的一些实施例中,所述第二接收单元21,具体用于从所述目标检索资源传输装置直接获取到按照第二预设分片序列传输的第二目标资源分片,所述第二目标资源分片构成了所述第二目标资源。
在本发明的一些实施例中,所述目标检索资源传输装置2还包括:第二获取单元23;
所述第二获取单元23,用于在获取所述第一目标资源和所述第二目标资源时,获取并存储所述第一目标资源的第一结构化信息,以及所述第二目标资源的第二结构化信息;其中,结构化信息表征资源下载的起始位置和存储位置信息;以及,当所述第一目标资源和所述第二目标资源传输中断时,采用所述第一结构化信息和所述第二结构化信息实现断点重新传输所述目标资源。
在本发明的一些实施例中,所述整合单元22,具体用于根据所述第一结构化信息和所述第二结构化信息,进行所述第一目标资源和所述第二目标资源已下载位置的检测;以及当检测到所述第一目标资源的已下载位置和所述第二目标资源的已下载位置相同时,完成所述目标资源的下载,并释放存储所述第一结构化信息和所述第二结构化信息的存储资源。
在本发明的一些实施例中,所述第二发送单元20,还用于所述接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息之前,在客户端中通过调用服务器的访问接口向所述服务器发送鉴权请求,以触发所述服务器执行响应操作:获取所述目标资源的云端索引信息;根据所述云端索引信息检索出所述候选检索资源传输装置;向所述候选检索资源传输装置发送所述云端索引信息,检测所述候选检索资源传输装置存储的资源中是否存在与所述云端索引信息匹配的本地索引信息;若所述候选检索资源传输装置中的第一候选检索资源传输装置存在匹配的本地索引信息,则确定所述第一候选检索资源传输装置为所述目标检索资源传输装置。
在本发明的一些实施例中,所述第二发送单元20,具体用于通过卡片消息向所述服务器发起目标资源下载请求和局域网检索请求;所述卡片消息为源资源传输装置上传所述目标资源完成后的发送的提醒消息。
在本发明的一些实施例中,所述目标检索资源传输装置2还包括:显示单元24;
所述显示单元24,用于所述从所述目标检索资源传输装置直接获取到第二目标资源之后,所述卡片消息由离线下载显示状态更新为局域网加速显示状态;所述离线下载显示状态是在接收到所述第一目标资源时展示的显示状态。
作为本发明实施例提供的资源传输方法采用硬件实施的示例,本发明实施例所提供的方法可以直接采用硬件译码处理器形式的处理器410(例如,第一处理器、第二处理器和第三处理器)来执行完成,例如,被一个或多个应用专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable LogicDevice)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件执行实现本发明实施例提供的资源传输方法。
下面将结合前述的实现本发明实施例的资源传输装置(包括源资源传输装置和目标资源下载装置)的示例性应用和实施,说明实现本发明实施例的资源传输方法。
参见图5,图5是本发明实施例提供的资源传输方法的一个可选的流程示意图,示例性的,应用于源资源传输装置,即终端400-1作为目标资源的发送端,下面将结合图5示出的步骤进行说明。
S101、获取资源传输参数,资源传输参数表征网络传输状况及资源参数的相关信息;
S102、基于资源传输参数,从预设多模式传输策略中确定资源传输方式;
S103、采用资源传输方式发送目标资源上传请求至服务器,目标资源上传请求中携带有目标资源;
S104、当资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收目标资源传输装置发送的目标资源获取请求,目标资源传输装置是由服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有目标资源的装置;
S105、响应于目标资源获取请求,直接传输目标资源给目标资源传输装置。
在本发明实施例中,资源传输方法针对的可以是在客户端中进行会话中的资源传输的场景中,还可以指设备或者业务处理过程中的资源传输的场景中,本发明实施例不作限制,其中,存在发送端和接收端。
本发明实施例中以发送端和接收端为例进行说明,可以理解地,在不同的业务场景的资源传输中,发送端和接收端可以实施为不同的设备,如终端和服务器等,本发明实施例不作限制。
例如,在即时通信的业务场景中,发送端可以为运行即时通信客户端的终端(源资源传输装置),接收端可以为部署在网络中的即时通信服务器,用于接收某一用户通过即时通信客户端在会话中发送的文件;还可以为可以与发送端直连通信的接收端终端(目标资源传输装置)等。
再例如,在云端的存储服务的业务场景中,发送端可以为运行网盘客户端的终端,接收端可以为部署有云端存储服务的服务器。
本发明实施例提供的资源传输方法的实现是基于多模式传输的实现前提下实现的。也就是说,源资源传输装置在进行资源传输的时候,采用的是多模式传输方案进行传输的,多模式传输方案中采用的是预设多模式传输策略确定每次进行资源传输的资源传输方式的。在本发明实施例中,源资源传输装置在传输资源进行资源传输方式的选择时,需要根据网络传输状况及资源参数的相关信息,以及预设多模式传输策略来进行选择。
在本发明的一些实施例中,预设多模式传输策略:直连传输、离线传输、直连离线混合传输、直连和离线混合传输中直连优先传输中任意一种或者多种资源传输方式。
在S101中,源资源传输装置可以主动的自动探测:资源传输的收发双方设备信息、网络信息、待传输资源的信息(如资源大小)、文件传输速率和时间、在线状态等网络传输状况及资源参数的相关信息的,即获取资源传输参数。
那么,预设多模式传输策略除了一种传输方式的可能,这四种资源传输方式也可以根据排列组合逻辑进行组合,具体的组合形式取决于网络和设备信息。对于只有一种传输方式的情况,只采用这一种方式进行传输。比如,如果确定只能离线传输,则不管资源的大小如何,都只能离线传输(因为源资源传输装置为PC、MAC终端,且不在线时直连不可达),也就是说,如果预设多模式传输策略只包括1种传输方式(如只能离线传输)时,不论资源大小如何,只能采用离线传输的方式。
在S102中,源资源传输装置获取了资源传输参数,就可以基于资源传输参数,从预设多模式传输策略中确定资源传输方式了。这里的实现可以为:源资源传输装置从资源传输参数提取特征信息,将特征信息与预设多模式传输策略中多模式的传输方式进行匹配,选择与特征信息匹配的传输方式。
在本发明实施例中,特征信息可以为资源大小等表征资源传输限制的特征,本发明实施例不作限制。
当特征信息为资源大小时,源资源传输装置从资源传输参数中提取的特征信息为待传输资源(目标资源)的资源大小,判断目标资源的资源大小所隶属的阈值区间,得到判断结果,根据判断结果中的不同的阈值区间比对结果,选择对应的资源传输方式。其中,阈值区间是在传输开始之前,从服务器上获取的阈值配置信息,服务器中事先设置有阈值区间这样的阈值配置信息的。
示例性的,在实际应用中,阈值区间包括第一阈值和第二阈值;其中,第一阈值可以为3MB,第二阈值可以为100MB;则如图6所示,根据判断结果中的不同的阈值区间比对结果,选择对应的资源传输方式,包括:1)目标资源的资源大小小于3MB时,选择离线传输方式;2)目标资源的资源大小介于3MB-100MB时,选择直连离线传输方式;3)目标资源的资源大小大于100MB时,选择直连优先传输方式。
本发明实施例的一种资源传输方法中,源资源传输装置从资源传输参数中提取的特征信息为目标资源的资源大小,判断目标资源的资源大小所隶属的阈值区间,得到判断结果,根据判断结果中的不同的阈值区间比对结果,选择对应的资源传输方式,以及根据选定的资源传输方式来控制文件传输,包括如下几种实施方式:
实施方式一:
a1、源资源传输装置从资源传输参数中提取的特征信息为目标资源的资源大小,判断目标资源的资源大小所隶属的阈值区间,得到判断结果;
b1、源资源传输装置判断结果为目标资源的资源大小小于等于第一阈值时,选择离线传输方式,将离线传输方式确定为资源传输方式;
c1、源资源传输装置采用离线传输方式发送的目标资源至中控服务器,中控服务器存储目标文件在本地或外置存储(存储服务器)中,中控服务器收到接收端的下载请求时,响应下载请求,将目标资源发送给接收端。
实施方式二:
a2、源资源传输装置从资源传输参数中提取的特征信息为目标资源的资源大小,判断目标资源的资源大小所隶属的阈值区间,得到判断结果;
b2、源资源传输装置判断结果为第一阈值小于目标资源的资源大小,且目标资源的资源大小小于第二阈值时,选择直连离线混合传输方式,将直连和离线混合传输方式确定为资源传输方式;
c2、源资源传输装置触发直连传输和离线传输的并发模式,分别采用直连传输方式和离线传输方式发送目标资源;
d2、源资源传输装置采取直连传输方式的第一通道,将目标资源传输给接收端;
e2、源资源传输装置采取离线传输方式的第二通道,发送目标资源至本地或外置存储中,中控服务器收到接收端的下载请求,响应所述下载请求,从存储服务器中将目标资源发送给接收端。
就第一通道而言,第一通道是发送端和接收端间直连的传输通道,通过对等网络(P2P,peer to peer)的方式,发送端直接把资源传输给接收端,而中控服务器只负责信令传输,通过信令传输来控制发送端直接将目标资源传输给接收端;就第二通道而言,第二通道是发送端到中控服务器,中控服务器到接收端所构成的非直连的传输通道。
需要说明的是,对等网络是一种用于信息共享的网络架构,在这种架构中,各节点既是网络服务提供者—服务器,又是网络服务申请者—工作站。服务申请者和服务提供者之间进行直接通信,可充分利用网络带宽,减少网络的拥塞状况,使得资源的有效利用率大大提高(包括各种计算资源和存储资源)。同时由于没有中央节点的集中控制,系统的伸缩性较强,也能避免单点故障,提高系统的容错性能。也就是说,P2P计算是指不同系统之间通过直接交换,实现计算机资源和服务共享、进行信息处理的过程。这里,资源可以是处理器、缓存和磁盘空间等;服务包括信息交换、数据计算等。P2P模式与传统客户/服务器模式的关键区别在于Peer与Peer在通信过程中,可以完全摒弃服务器的角色,完成一种直接通信,来获得共享资源或服务。
实施方式三:
a3、源资源传输装置从资源传输参数中提取的特征信息为目标资源的资源大小,判断目标资源的资源大小所隶属的阈值区间,得到判断结果;
b3、源资源传输装置判断结果为目标资源的资源大小大于等于第二阈值时,直接选择直连传输方式,将直连传输方式确定为资源传输方式;
c3、源资源传输装置直接将目标资源传输给接收端。
实施方式四:
a4、源资源传输装置从资源传输参数求中提取的特征信息为源资源传输装置,判断目标资源的资源大小所隶属的阈值区间,得到判断结果;
b4、源资源传输装置判断结果为目标资源的资源大小大于等于第二阈值时,若检测到当前已经处于直连离线混合传输状态,选择在直连离线混合传输中直连优先的传输方式,将直连传输方式确定为资源传输方式;
c4、源资源传输装置根据实时监测的目标资源传输速率、当前网络带宽和/或目标资源传输时间,判断是否优先采用直连传输方式,或者由离线传输方式切换到直连传输方式,如果是,则采用直连传输方式,源资源传输装置直接将目标资源传输给接收端;
d4、采用直连传输方式后,如果检测到目标资源采用直连传输方式传输失败或目标资源采用离线传输方式比直连传输方式更快,则由直连传输方式切换到离线传输方式。
在S103中,源资源传输装置确定了资源传输方式之后,就可以采用资源传输方式发送目标资源上传请求至服务器,目标资源上传请求中携带有目标资源。
这里,由源资源传输装置发起的目标资源上传请求都会给到如图1所示的服务器300(例如,中控服务器),如果采用的是直连传输方式,源资源传输装置可以传输资源属性,并不真实传具体的资源(目标资源),在资源的发送端和接收端进行鉴权校验后才在发送端和接收端之间传输具体的资源。2)如果是离线传输方式,则传的是具体的资源(目标资源),需要后续接收端到如图1所示的服务器300(中控服务器)下载该具体的目标资源,该具体的目标资源由发送端源资源传输装置给到如图1所示的服务器300(由中控服务器和存储服务器构成)的中控服务器后,可以是由中控服务器传输至存储服务器中进行存储,以便后续接收端去存储服务器中索取该具体的目标资源和下载该具体的目标资源。本发明实施例中,这种包含中控服务器和存储服务器的系统架构,会减轻中控服务器的负载,提高中控服务器的存储容量。当然,系统架构中也可以只包含中控服务器,使中控服务器除了具备控制处理功能,还具备存储功能,本发明实施例中,只包含中控服务器的系统架构,使得中控服务器的存储容量变小,好处是,省略了中控服务器向存储服务器传输该资源的时延。
需要说明的是,采用本发明实施例包含直连离线混合传输的方案,在资源传输时,利用局域网本身通信的高速度、高吞吐特性,直连传输文件。通过自动探测收发双方设备信息、网络信息、传输文件的信息和在线状态,确定是采用离线传输、直连离线混合传输,还是选择直连优先传输。由于本发明实施例采用这些预设多模式传输策略,因此,能确保最大速度的传输文件、并尽可能的保证用户多终端离线传输的体验。其中,1)直连传输文件:通过P2P的方式,发送端源资源传输装置直接把目标资源传输给接收端。2)离线传输文件:接收端不需要实时在线,发送端源资源传输装置传输目标资源到服务器,接收端收到卡片消息,上线后点击从服务器下载目标资源。3)直连离线混合传输:通过离线、P2P方式并发对同一个目标资源传输,利用直连传输在局域网内能提升传输速度,利用离线传输能保证多终端用户同步的体验。4)直连优先传输:优先使用P2P的方式传输文件,在P2P方式不可达情况下智能切换为离线传输方式传输文件。对应的,配合包括直连和/或离线等的多模式资源传输方式,在接收端生成卡片消息,通过该卡片消息使得接收端获知当前收到了一个待获取资源(直连)或使得接收端获知当前收到了一个待处理资源(离线),需要对待处理资源进行下载后才可以得到能直接读取的资源。一个实际应用中,如果先是直连传输,则接收端所显示的卡片消息如图7所示,由于本发明是多模式传输并存的方案,如果后续通过离线传输也能收到资源,则接收端所显示的卡片消息如图8所示。图7为接收端终端收到直连传输的卡片消息的展示图,当离线完成后更新对应直连传输的卡片消息,使得各个接收端终端都可下载查看对应资源,图8为直连切换到离线后接收端终端展示卡片消息的示意图,也就是说,随着多模式资源传输方式的变化,接收端终端显示的卡片消息也会进行对应的状态更新,如图8所示,卡片消息中增加了下载交互对象,如A1所标识的“开始下载”按钮。针对卡片消息来说,卡片消息是在即时通信中的一种沟通发送端和接收端双方会话中的资源展示方式,通过卡片消息可查看具体资源或根据其下载交互对象的提示去下载具体资源。
以一个现实应用场景为例对本发明实施例的多模式传输阐述如下:
以资源为文件为例进行说明,在文件传输场景中,文件传输是一个沟通中非常普遍的需求,目前一般的解决方案是发送端离线传输文件到服务器存储,通过服务器发送消息给接收端,接收端再从服务器下载该文件;基于网络的不稳定性和公网带宽的限制,一般文件传输的速度比较低,一两百KB的速度,一个很小的文件可能要等很久;发送端上传完成后,接收端还要从公网下载文件,导致整个文件收发过程耗时更长。而对于文件传输场景,采用本发明实施例,提供了一种基于多终端复杂网络环境的离线直连混合高速文件的传输方案,并在接收端以卡片消息的方式将直连或离线传输得到的文件信息显示给用户。卡片消息是在沟通中沟通会话中文件的展示方式,通过卡片消息可查看具体文件。本发明实施例中,采用离线直连混合传输的方案,在文件传输时,利用局域网本身通信的高速度、高吞吐特性,直连传输文件;通过自动探测收发双方设备信息、网络信息、传输文件的信息和在线状态,确定是采用离线传输、直连离线混合传输还是直连优先传输,即提供了多种传输策略供选择,以确保最大速度的传输文件、并尽可能的保证多终端离线传输的体验。
对于文件传输场景,采用本发明实施例,如图6所示,可以根据传输的文件大小确定传输方式,阈值区间的大小由中控服务器远程控制,发送至发送端使用。阈值区间包括第一阈值和第二阈值;其中,第一阈值可以为3MB,第二阈值可以为100MB;则如图6所示,根据判断结果中的不同的阈值区间比对结果,选择对应的传输方式,包括:1)目标文件的文件大小小于3MB时,选择离线传输方式;2)目标文件的文件大小介于3MB-100MB时,选择直连离线传输方式;3)目标文件的文件大小大于100MB时,选择直连优选的传输方式。
对于文件传输场景,采用本发明实施例,如图9所示为离线传输的示意图,离线传输过程中,发送端先传输文件存储至存储服务器,接收端需要时再去存储服务器下载。如图10为直连传输的示意图,直连传输过程中,通过P2P的方式,发送端直接把文件传输给接收端,中控服务器负责信令传输,传输过程中用户可直观直连的速度,如图11-12所示;其中,图11为发送端(PC\MAC)时,接收端直连传输卡片消息展示图,直传“归档3”,显示局域网直传10.0M/S的显示状态,图12为发送端(非PC\MAC)时,接收端(PC\MAC)直连传输卡片消息展示图,显示通过其他设备发送“归档7”。
如图13所示为直连连接成功且正常传输的流程,包括:
1、发送端发送上传文件请求(目标资源上传请求)。
这里,文件请求中包含:发送端IP地址(local ip)、端口(port)、文件信息(fielnfo)、加密密钥(key)。也就是说,发送端收集要发送的文件信息,启动监听服务,准备IP和端口(目前默认5876)及该文件传输特殊的密钥,通过后台服务器中转给接收端。
2、超时检测。
3、服务器发送命令消息给接收端。
这里,命令消息中包括:发送端local ip、port、fielnfo、加密key。
4、接收端主动请求连接(connect)发送端。
5、接收端发送文件请求信令,请求连接。
这里,文件请求信令中包括:连接(重连)目标ip、port、加密请求文件(含文件范围)、信令。可见,文件请求信令中含有服务器中转的所有文件信息,用发送方的加密key加密数据。
6、如果直连成功,则发送直连成功确认,转入执行8。
7、如果直连失败,通知发送端无法直连,需要切换到云端的离线传输。
8、发送端解析数据后检查发送端请求的文件还在发送池中,则认为鉴权通过,用发送端账号如vid来加密数据并通知接收端,发送数据。
9-10、超时检测。
11、接收端接收文件数据完成后,接收端方发送接收文件发送完成信令。
12、发送端关闭连接。
对于文件传输场景,采用本发明实施例,在直连离线混合传输中,是以并发的形式对同一文件进行传输,直连传输在局域网内能提升传输速度,离线传输能保证多终端用户同步的体验,如果直连传输比离线传输更早完成,接收端终端收到如图7所示的文件卡片消息,接收端终端用户看到卡片消息,可查看对应文件。图7为接收端收到直连文件卡片消息展示图。当离线完成后更新对应直连传输的卡片消息,各个接收端终端都可下载查看对应文件,更新后的接收端终端展示如图8所示。图8为接收端收到离线或者直连更新为离线文件卡片消息展示图。如果直连传输失败或者离线传输比直连传输快,整个文件传输过程转化为离线传输。
采用本发明实施例直连离线混合传输中的直连优先传输,目前对较大文件采用此策略传输,主要目的是为了提高大文件传输速度,此策略对文件先使用直连的方式传输。如果直连传输完成,不会启动离线传输,消息不会更新。
在S104中,针对源资源传输装置采用的资源传输方式为直连离线混合传输方式进行目标资源的传输时,源资源传输装置与由服务器(中控服务器)根据目标资源确定的与源资源传输装置为同一局域网、且未存储有目标资源的目标资源传输装置进行连接,接收目标资源传输装置发送的目标资源获取请求,也就是说,可与源资源传输装置进行直连的目标资源传输装置(接收端终端之一)进行直连后,直接进行目标资源的传输。
需要说明的是,源资源传输装置可以传输目标资源至多个接收端终端,即候选资源传输装置,这时中控服务器可以从候选资源传输装置确定出可与源资源传输装置直连的装置,用于进行直连传输,其中,判断发送端(源资源传输装置)和接收端(目标资源传输装置)的直连是否可达,判断直连是否可达的规则包括:1)直连适用于PC、MAC终端,接收端PC、MAC终端不在线时直连不可达;2)直连依赖局域网,跨局域网的网络传输速度本身不可靠,不属于此处的适用目标。因此,目标资源传输装置是由服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有目标资源的在线PC、MAC终端。
在S105中,由于源资源传输装置接收了目标资源传输装置发送的目标资源获取请求,因此,源资源传输装置响应于目标资源获取请求,采用直连传输方式直接传输目标资源给目标资源传输装置。
在本发明实施例中,源资源传输装置传输目标资源都是以资源分片的方式进行传输的,也就是说,源资源传输装置可以将目标资源的资源分片(可以为所接收的文件分片,或者为根据接收的文件分片合并为文件后重新分割的文件分片)传输给需要的接收端,例如,在一个群会话中,可以传输给参与会话的其他用户的即时通信客户端。如图14所示,以手机QQ客户端向服务器传输文件为例,手机QQ的客户端在向服务器进行多媒体的文件(文件分片1、2、3、4……、N)传输时,客户端通过接入网络接入互联网,建立与服务器之间的基于TCP(TCP连接1和TCP连接2)的多个连接(多通道),将待传输的目标文件按照固定大小进行分割形成文件分片,基于多个连接并行传输不同的文件分片给服务器,通过服务器的响应给QQ群中的不同用户的手机QQ客户端。
需要说明的是,客户端在每个连接上向服务器传输一个资源分片,并开始计时,在超时时间(例如45s)内没有接收到服务器接收到资源分片的响应,即认为传输资源分片丢失,重新传输资源分片,直至接收到服务器的响应并继续传输其余的资源分片。当重新传输资源分片超过预定次数(如3次)且未收到服务器的响应时,若传输资源的所耗费的时间已经超出预定时间(如8分),则可以结束资源传输。
其中,分片采用分片算法或技术实现,在文件传输应用中,文件的大小是随机的,有一些是采用一种自适应的传输策略。传输任务经传输分配策略将文件分为大文件、普通文件、小文件。大文件采用分片并行传输方式传输,普通文件采用通用的传输方式,批量小文件则采用通道复用方式传输。同时,自适应传输系统对这三种传输方式进行状态监控,以确保传输的可控性和可靠性。对于大文件的传输,可以采用分片传输策略。传输文件时,首先依据文件分片策略将文件分为多个文件分片,通过传输控制模块将这些文件分片定向到特定的存储服务器上,从而实现了文件的并行传输。下载文件时,向资源管理器提出请求,得到文件分片的位置信息,然后建立多个连接进行传输,最后将文件分片重组为完整的文件。本发明采用分片技术实现文件或资源的传输。
在本发明实施例中,源资源传输装置在进行目标资源传输的时候,需要获取目标资源的唯一标识,即获取目标资源的哈希值值HASH,HASH是一段数据唯一且极其紧凑的数值表示形式,当然目标资源的唯一标识还可以用其他的表述方式进行表示,本发明实施例并不限制待上传文件的唯一标识的表示方式。
本发明实施例中以目标资源的唯一标识为HASH为了进行描述。其中,每个资源(即文件)对应一个HASH,此HASH可以根据进行计算获得,例如,可以按照资源分片通过安全散列算法安全散列算法(Secure Hash Algorithm,SHA)或者消息摘要算法第五版(MessageDgiest Algorithm,MD5)等算法计算的资源的唯一标识,通常HASH是20个字节,在整个系统中唯一标识一个资源,不同资源对应不同的HASH。
需要说明的是,文件经过分片后,如果不为分片进行有效性检验,那么获得所有的分片后直接重组即可,但是因为分片数据经过网络传输后,可能会出现错误,导致传输文件会不正确。因此,为了校验数据经过传输后的合法性,可以通过散列算法来对这些数据进行校验。散列一个好处是即使原始文件中的一小处修改,也将产生一个完全不同的散列值。例如“Pork"和“Porky”,进行散列运算后将产生完全不同的输出,而且两个输出之间没有任何联系。散列算法中,目前最常用的是SHAl和MD5。各种散列算法进行的操作是一样的。其区别只在于用于产生散列所用的键值(key)的长度,所用键值的长度越大,加密的安全性就越强。例如,SHAl使用160位(bit)的加密键值,然而MD5使用的是128位的加密键值,所以SHAl比MD5更难于破解。选择散列算法时另一点需要考虑的是,是否有实际的或理论上出现冲突的可能。如果重现冲突,两个截然不同的字符串经过散列运算后将得到同样的结果。SHAl在理论上和实际上,都没有出现冲突的可能。因此,本发明实施例采用Bittorrent原理中的片断校验算法一SHAl摘要算法。
示例性的,采用SHA1标识不同资源的唯一标识。
SHAl摘要算法对一段任意的文件或资源进行计算,得出一个160bit(也就是20字节)长的消息摘要。在文件分片信息文件中,保存了每个分片的消息摘要。接收方在收到一个文件分片之后,在计算一次消息摘要,然后跟文件分片的信息文件中对应的值进行比较,如果不一致,那么说明数据在传输过程中发生了变化,这样的数据应该被丢弃。如果计算出来的摘要和信息文件的一致,那么,这个文件分片有效且已经存在用户磁盘上。另外,还需要为每个传输的文件建立一个相关联的表,用于记录每个分片对应存放的超级用户节点。保存这些对应信息的目的和BT一样,就是希望以此来提供分片下载的信息的,本发明实施例中采用的第一结构化信息和第二结构化信息来实现的。
在本发明实施例中,终端(源资源传输装置、目标资源传输装置和候选资源传输装置)在上传、下载资源时都会产生本地索引信息,本地索引信息中存储:资源SHA1、资源大小、资源持有者ID、资源本地存储路径、产生索引时资源系统属性(资源最后修改时间)等。并且,服务器在上传、下载资源时也都会产生云端索引信息,云端索引信息中存储有资源SHA1、资源大小和资源持有者ID。
可以理解的是,由于源资源传输装置在向其他资源传输装置发送目标资源的时候,基于与其他资源传输装置的资源传输方式的选择,可以进行直连混合传输的时候,通过服务器从其他资源传输装置中选择出与源资源传输装置处于同一局域网的目标资源传输装置,采用离线传输给服务器,通过服务器传输给其他资源传输装置的同时,还可以通过直传发送目标资源给目标资源传输装置,由于直传的速度远远超过离线传输的速度,因此,目标资源传输装置可以提前获取到目标资源,这使得在目标资源的传输过程中提高了目标资源的传输效率,节省了目标资源传输装置的传输时间。
在本发明的一些实施例中,如图15所示,上述资源传输方法在S105之后,还可以执行S106。如下:
S106、通过目标资源传输装置上传目标资源至服务器。
源资源传输装置在将目标资源传输给目标资源传输装置后,可以通过目标资源传输装置上传目标资源至服务器,实现目标资源的多源多通道传输。
在本发明实施例中,目标资源传输装置的数目是一个或多个,本发明实施例不作限制。
在本发明实施例中,资源传输通道可以分为单通道、单源多通道以及多源多通道。其中,如图16A所示,单通道为针对一个资源分片上传中,单链接同步一问一答的模式,服务器需要顺序接收资源分片(如图16B所示的资源分片data和nextoffset是具有时间顺序的)来计算资源的SHA1。如图17A单源多通道为针对一个资源分片并发上传,并且支持资源分片无序(如图17B所示的资源分片data和nextoffset是无序的)上传,逻辑层上多通道(例如,channel 1和channel 2);如图18A所示多源多通道为多发送端同时上传同一资源,基于单源多通道(例如,channel 1和channel 2)上又多了至少一个单源多通道(例如,channel 3和channel 4)进行同一个资源的传输,这里的资源分片也可以是无序的(如图18B所示的资源分片data和nextoffset是无序的),即这里的源资源传输装置和目标资源传输装置都想服务器上传目标资源。
需要说明的是,在本发明实施例中,直连离线传输方式采用的是多源多通道的方式进行目标资源的传输的,离线传输方式则是采用单源多通道进行目标资源的传输。
示例性的,下面以终端中的文件分片为例说明下资源分片的算法。
将文件分成n个片段(片段的大小相同),每个片段分别用X1,X2,……,Xn标记。这里,在终端的客户端中,设置一个计数器Counter,用来统计未被请求的片段的个数。在初始阶段,计数器的值设为n。客户端需要维护两个列表:一个是存放未被请求的片段标记的列表Listl,在片段还未分配之前,所有的片段标记都存放到列表Listl中;另一个是存放已被请求的片段标记的列表List2。在文件读写操作上,设置4个进程:Read(Listl,XL)、Write(List2,XL)、Send(XL)、Delete(XL),用来响应超级用户传输分片时所执行的具体操作。Read(Listl,XL)从未被请求的片段的列表Listl中读取一个片段标记XL;Send(XL)对超级用户发送Request请求;Write(List2,L)是将Read(Listl,XL)读取的片段的标记写入已被请求的片段的列表List2中;Delete(XL)删除已被请求的片段的标记。
基于上述描述,分片算法的生成过程为:
Stepl客户端初始化计数器,其值记为n;
Step2向该系统中的一个超级用户(接收端终端)发送一个片段传输请求Request0;
Step3客户端启用进程Read(Listl,XL),从未被请求的片段的列表Listl中随机读取标记为XL的片段;并启用Send(XL)给超级用户发送消息,此时认为被读取的标记为XL的片段分配给该超级用户;
Step4客户端启用进程Write(List2,XL)把读取的标记XL写入List2列表中,同时Delete(XL)Listl列表中的标记XL,并将计数器的值n减l;
Step5检查客户端计数器n的值,若11的值大于0,重复step3,step4和step5;否则转到step6:
Step6当11的值等于0时,客户端已经发送了n个分片,此时标记为X1,X2,……,Xn的n个片段都已经分配到该系统中,算法结束。
进一步地,在本发明实施例中,目标资源传输装置在获取到目标资源之后,还可以继续进行拓扑,通过服务器找到局域网中与目标资源传输装置可直连的其他资源传输装置,传输目标资源给其他资源传输装置,通过其他资源传输装置也同时传输目标资源给服务器,加速目标资源的传输。
需要说明的是,在本发明实施例中,针对不同来源传输的目标资源的传输,每个来源装置可以采用资源分片的无序多通道传输,还可以采用一部分来源的目标资源的资源分片按照从后往前的顺序传输,一部分来源的目标资源的资源分片按照从前往后的顺序传输,这样只要服务器一旦下载到不同来源传输来的资源分片的位置相同,则表征目标资源传输完成了,这样不重复从多个来源同时传输目标资源的资源分片的方式加快了目标资源的上传,节省了传输时间,实现了多源传输的局域网加速的效果。本发明实施例不限制不同来源的目标资源的资源分片的传输顺序的设定,只要不是按照相同的顺序传输即可。
可以理解的是,在使用离线上传资源时,利用资源唯一特征SHA1及各资源分片唯一索引SHA1,对资源在后台服务器建立网格,各资源分片并发上传,在一个来源的终端或装置利用多通道极大利用网络带宽,减少等待相应时的耗时,提高上传速度。同时利用局域网本身通信的高速度、高吞吐特性,通过直连传输资源的方式,将资源拓扑给其他局域网的装置,多端,即多来源同一时间上传同一资源的不同资源分片,减少了资源整体上传耗时,提高平均上传速度,进而提升用户体验。
在本发明的一些实施例中,在S103之后,上述资源传输方法还可以执行S107至S108,下面将结合各步骤进行说明。
S107、接收服务器发送的上传完成反馈信息;
S108、发送停止拓扑请求至目标资源传输装置,指示目标资源传输装置停止向服务器上传目标资源。
在本发明实施例中,源资源传输装置可以实现目标资源的拓扑,实现多源对目标资源进行上传,这样在可能出现在一个来源传输完整个目标资源给服务器前可能服务器已经通过与其他来源的资源整合,已经完成了目标资源的获取了,那么此时,服务器会发送上传完成反馈信息给源资源传输装置,由源资源传输装置告知与其直连的目标资源传输装置停止向服务器上传目标资源,结束上传,提高了上传的速度,节省了上传的时间。
需要说明的是,针对由目标资源传输装置拓扑的其他来源的装置由目标资源传输装置告知停止资源拓扑,停止对目标资源的上传。
基于上述资源传输方法的实现基础上,参见图19,图19是本发明实施例提供的资源传输方法的一个可选的流程示意图,示例性的,应用于目标资源下载装置中,即终端400-2作为目标资源的接收端,下面将结合图19示出的步骤进行说明。
S201、发送目标资源下载请求和局域网检索请求至服务器,服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源;
S202、接收服务器响应于目标资源下载请求发送的第一目标资源;
S203、接收服务器响应于局域网检索请求发送的目标检索资源传输装置的信息;目标检索资源传输装置是由服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有目标资源的装置;
S204、根据目标检索资源传输装置的信息,发送目标资源传输请求至目标检索资源传输装置,从目标检索资源传输装置直接获取到第二目标资源;
S205、基于第一目标资源和第二目标资源的资源整合,下载完目标资源。
在本发明实施例中,源资源传输装置通过服务器向候选资源传输装置传输时,基于前述实施例的实现,源资源传输装置采用直连离线混合传输目标资源时,候选资源传输装置中除了目标资源传输装置外的其他候选资源传输装置作为目标资源下载装置去从服务器侧下载目标资源才能获取到该目标资源,其中,目标资源传输装置也可以从服务器去下载再获取,因此,候选资源传输装置都可以作为目标资源下载装置下载目标资源。
在S201中,源资源传输装置发送目标资源至服务器,服务器存储目标资源,并发送卡片消息至候选资源传输装置,候选资源传输装置中的目标资源下载装置根据卡片消息,触发发送目标资源下载请求和局域网检索请求至服务器,由于服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源,因此,服务器可以直接给目标资源下载装置该目标资源。
在本发明的一些实施例中,目标资源下载装置是通过触发卡片消息中下载控件向服务器发起目标资源下载请求和局域网检索请求;卡片消息为源资源传输装置上传目标资源完成后的发送的提醒消息。
需要说明的是,在本发明实施例中,服务器为统称,具体可以分为中控服务器和存储服务器,这里目标资源下载装置将目标资源下载请求发送至存储服务器,将局域网检索请求发送至中控服务器。
在S202中,由于服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源,因此,服务器可以直接给目标资源下载装置该目标资源,这里的服务器为存储服务器。这里,服务器响应于目标资源下载请求发送的第一目标资源给目标资源下载装置,这里的第一目标资源指的就是目标资源,为了与后续的目标检测资源传输装置发送的目标资源进行描述上的区分,采用第一目标资源和第二目标资源的描述,其表征的都是前述的目标资源。
在本发明的一些实施例中,服务器响应于目标资源下载请求是按照第一预设分片序列发送第一目标资源分片,从而实现第一目标资源的发送的,第一目标资源分片构成了第一目标资源。
在本发明实施例中,第一预设分片序列就是指前述的资源分片的发送顺序或者规则。
在S203中,中控服务器响应于局域网检索请求发送目标检索资源传输装置的信息给目标资源下载装置。其中,目标检索资源传输装置是由服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有目标资源的装置;这样,基于目标检索资源传输装置已经存在了目标资源,又可与目标资源下载装置直连的情况,可以从目标检索资源传输装置中去请求目标资源,加快对目标资源的获取。
进一步地,在目标资源下载装置通过服务器(中控服务器)确定目标检索资源传输装置的过程实现为,在客户端中通过调用服务器的访问接口向服务器发送鉴权请求,以触发服务器执行响应操作:
获取目标资源的云端索引信息;
根据云端索引信息检索出候选检索资源传输装置;
向候选检索资源传输装置发送云端索引信息,检测候选检索资源传输装置存储的资源中是否存在与云端索引信息匹配的本地索引信息;
若候选检索资源传输装置中的第一候选检索资源传输装置存在匹配的本地索引信息,则确定第一候选检索资源传输装置为所述目标检索资源传输装置。
在本发明实施例中,终端(源资源传输装置、目标资源传输装置和候选资源传输装置)在上传、下载资源时都会产生本地索引信息,本地索引信息中存储:资源SHA1、资源大小、资源持有者ID、资源本地存储路径、产生索引时资源系统属性(资源最后修改时间)等。并且,服务器在上传、下载资源时也都会产生云端索引信息,云端索引信息中存储有资源SHA1、资源大小和资源持有者ID。
因此,在本发明实施例中,服务器可以根据云端索引信息检索出候选检索资源传输装置;向候选检索资源传输装置发送云端索引信息,检测候选检索资源传输装置存储的资源中是否存在与云端索引信息匹配的本地索引信息;若候选检索资源传输装置中的第一候选检索资源传输装置存在匹配的本地索引信息,则确定第一候选检索资源传输装置为所述目标检索资源传输装置。
具体的,目标资源下载装置利用要下载索引信息:资源SHA1、资源大小,向中控后台请求局域网下载加速;中控服务器根据云端索引信息中的资源持有者ID检索出候选资源传输装置中潜在的资源持有装置,分别通知各潜在持有装置自查本地资源是否还有效;潜在资源持有装置收到自查命令后,利用资源本地索引信息中的SHA1检索出本地存储的关于资源SHA1对应的资源信息,利用本地路径,检查资源大小、SHA1、是否与服务器命令中发送的匹配,以及资源系统属性(资源最后修改时间)是否有变动,如校验都通过(即信息匹配,资源最后修改时间没有变动),说明此潜在持有装置真的还拥有该资源,成为目标检索资源传输装置,目标检索资源传输装置向目标资源下载装置发出回应,告知目标资源下载装置可以进行目标资源的获取,资源下载者收到资源持有者的资源存在回应的信令后,使用直连传输方式获取目标资源,即目标资源下载装置根据目标检索资源传输装置的信息,发送目标资源传输请求至目标检索资源传输装置,从目标检索资源传输装置直接获取到第二目标资源。
在本发明的一些实施例中,目标资源下载装置从目标检索资源传输装置直接获取到按照第二预设分片序列传输的第二目标资源分片,第二目标资源分片构成了第二目标资源。
在本发明实施例中,第二预设分片序列就是指前述的资源分片的发送顺序或者规则。
需要说明的是,在本发明实施例中,针对不同来源传输的目标资源的传输,每个来源装置可以采用资源分片的无序多通道传输,还可以采用一部分来源的目标资源的资源分片按照从后往前的顺序传输,一部分来源的目标资源的资源分片按照从前往后的顺序传输,这样只要目标资源下载装置一旦下载到不同来源传输来的资源分片的位置相同,则表征目标资源传输完成了,这样不重复从多个来源同时传输目标资源的资源分片的方式加快了目标资源的下载,节省了传输时间,实现了多源传输的局域网加速的效果。本发明实施例不限制不同来源的目标资源的资源分片的传输顺序的设定,只要不是按照相同的顺序传输即可。
在本发明的一些实施例中,目标资源下载装置在接收第一目标资源之后,卡片消息显示为离线下载显示状态,而当开始接收第二目标资源的时候,该卡片消息由离线下载显示状态更新为局域网加速显示状态;即离线下载显示状态是在接收到第一目标资源时展示的显示状态。
示例性的,如图20所示,目标资源下载装置在接收第一目标资源“29CMBrandDFKKUU...Deisgn.zip”之后,卡片消息显示为离线下载显示状态:“50%”,而当开始接收第二目标资源“29CM BrandDFKKUU...Deisgn.zip”的时候,该卡片消息由离线下载显示状态更新为局域网加速显示状态:由“50%”更新为“50%局域网加速1.56M/S”。
在本发明的一些实施例中,在获取第一目标资源和第二目标资源时,本发明实施例提供的资源传输方法还包括断点重新传输目标资源的过程,一种实现为:目标资源下载装在获取第一目标资源和第二目标资源时,获取并存储第一目标资源的第一结构化信息,以及第二目标资源的第二结构化信息;其中,结构化信息表征资源下载的起始位置和存储位置信息;当第一目标资源和第二目标资源传输中断时,采用第一结构化信息和第二结构化信息实现断点重新传输目标资源。
在本发明实施例中,目标资源下载装置使用两个文件来存储下载的cache:一个存储下载到的数据内容(资源内容),一个存储下载的结构化信息(下载起点、目前已下载位置和资源存储位置等),即第一结构化信息和第二结构化信息。
这样,目标资源下载装置存储第一结构化信息和第二结构话信息的文件在下载中断后再次启动下载时使用,支持断点续传输。
在S205中,由于目标资源下载装置可以从多个来源下载目标资源,因此,该目标资源下载装置可以基于第一目标资源和第二目标资源的资源整合,下载完目标资源。
具体的实现包括S2051-S2052,如下:
S2051、根据第一结构化信息和所述第二结构化信息,进行第一目标资源和第二目标资源已下载位置的检测;
S2052、当检测到第一目标资源的已下载位置和第二目标资源的已下载位置相同时,完成目标资源的下载,并释放存储第一结构化信息和第二结构化信息的存储资源。
在本发明实施例中,目标资源下载装置发起局域网检索请求的同时向公网的服务器发起目标资源下载请求,其中,外网下载区间(通过服务器的传输区间):采用HTTPS协议,使用协议字段range限定下载范围,range为公网已下载位置到点对点已下载位置(默认新下载资源起点为0);点对点下载区间(通过目标检索资源传输装置传输区间):采用TCP协议,使用协议字段range限定下载范围,range为点对点已下载位置到公网已下载位置(默认新下载资源起点为资源末尾)。
这里的rang为第一预设资源分片序列和第二预设资源分片序列的一种表现形式。
那么,目标资源下载装置可以根据第一结构化信息和所述第二结构化信息,进行第一目标资源和第二目标资源已下载位置rang的检测;当检测到第一目标资源的已下载位置rang和第二目标资源的已下载位置rang相同时,完成目标资源的下载,并释放存储第一结构化信息和第二结构化信息的存储资源。
可以理解的是,多源多通道下载可以提高资源下载的速度,同时在下载完成时释放存储结构化信息的存储资源。也就是说,在目标资源下载时,目标资源下载装置通过服务器利用资源唯一特征SHA1在局域网范围内检索是否存在相同的目标资源,如存在目标检索资源传输装置,则启动点对点直连传输逻辑,将原本要走外网(公网)下载的目标资源,转化为部分从外网、部分从局域网获取(多源获取),目标资源下载装置对多源获得的资源分片进行组装、校验,以获得完整目标资源;利用局域网本身通信的高速度、高吞吐特性,通过直连传输资源的方式,提高平均下载速度,节约外网带宽,进而提升用户体验。
基于上述资源传输方法的实现基础上,参见图21,图21是本发明实施例提供的资源传输方法的一个可选的流程示意图,包括多源多通道上传目标资源的过程:S301-S312,以及参见图22,图22是本发明实施例提供的资源传输方法的一个可选的流程示意图,包括多源多通道下载目标资源的过程:S401-412。
如下:
S301、发送端终端(源资源传输装置)获取资源传输参数;
S302、发送端终端基于资源传输参数,从预设多模式传输策略中确定资源传输方式;
S303、采用直连离线混合传输方式发送目标资源上传请求至服务器;
S304、服务器根据目标资源,发送传输资源请求给候选终端(候选资源传输装置);
S305、候选终端根据传输资源请求检测自身是否存储有目标资源;
S306、若检测出存在目标资源,候选终端则不再进行目标资源的获取;
S307、若检测出不存在目标资源,候选终端作为接收端终端(目标资源传输装置)与发送端终端的进行直连,并发送目标资源获取请求至发送端终端;
S308、发送端终端响应于目标资源获取请求,直接传输目标资源给接收端终端;
S309、接收端终端上传目标资源至服务器;
S310、服务器基于发送端终端和接收端终端发送的目标资源进行资源整合,得到完整的目标资源,并发送上传完成反馈信息至发送端终端;
S311、发送端终端发送停止拓扑请求至接收端终端;
S312、接收端终端响应于停止拓扑请求,停止向服务器上传目标资源。
在本发明实施例中,S301-S312的具体说明在前述的实施例中已经进行了详细说明,这里不再赘述。
示例性的,如图23所示,以群会话场景为例,描述用户A向群G1中的群成员(包括群成员g1和群成员q2)发送文件F1的过程可以包括:
1、发送端终端向群G1发送文件F1;
2、发送端终端中的发送消息任务进程确认FTN方式发送该F1文件;
3、发送端终端的GroupP2pFileMgr采用FTN上传F1文件给FileTranshferMgr;
这里,GroupP2pFileMgr职责为:a.负责和后台信令交互,确认P2P发送过程及进度汇总;b.负责P2P群文件传输任务管理:启动、取消等;c.负责智能限速,控制可同时群P2P的任务量、测速等;d.负责向上层提供展示接口;e.负责群文件和消息关系维护,负责群网络拓扑。
4、发送端终端通过发送消息任务将FI文件传输给GroupP2pFileMgr;
5、发送端终端的GroupP2pFileMgr上传F1文件给服务器,实现对群成员发送F1文件;
6、服务器向候选终端分发传输文件请求(即传输资源请求);
7、候选终端检测是否已经存储有F1文件,若候选终端中的接收端终端不存在该F1,接收端终端向服务器反馈可与发送端终端进行连接的消息;
8、服务器将可与接收端终端进行P2P连接;
9、发送端终端与接收端终端尝试P2P连接;
10、当连接成功时,接收端终端向发送端终端请求获取F1文件;
11、发送端终端通过FileTranshferMgr处理获取F1文件请求;
12、发送端终端的FileTranshferMgr通过发送消息任务P2P传输F1文件给接收端终端;接收端终端也开始向服务器传输F1文件;
13、当群G1文件F1离线接收完成时,服务器发送上传完成反馈信息给发送端终端;
14、发送端终端取消P2P传输,发送停止拓扑消息给接收端终端;
15、接收端终端停止拓扑,停止向服务器传输FI文件。
S401、发送端终端发送目标资源至服务器;
S402、服务器存储目标资源,并发送卡片消息至候选终端;
S403、候选终端中的下载端终端(目标资源下载装置)根据卡片消息,触发发送目标资源下载请求和局域网检索请求至服务器;
S404、服务器发送存储的第一目标资源给下载终端,响应于局域网检索请求获取目标资源的云端索引信息;所述卡片消息的显示状态更新为离线下载显示状态;
S405、服务器根据云端索引信息检索出候选终端中的候选检索终端(候选检索资源传输装置);
S406、服务器向候选检索终端发送云端索引信息;
S407、候选检索终端检测存储的资源中是否存在与云端索引信息匹配的本地索引信息,反馈检测结果给服务器;
S408、若反馈结果表征第一候选终端存在匹配的本地索引信息,服务器则确定第一候选检索终端为目标检索终端(目标检索资源传输装置);
S409、服务器发送的目标检索资源传输装置的信息至下载终端;
S410、下载终端根据目标检索资源传输装置的信息,发送目标资源传输请求至目标检索终端,从目标检索终端直接获取到第二目标资源;
S411、下载终端中的卡片消息由离线下载显示状态更新为局域网加速显示状态;
S412、下载终端基于第一目标资源和第二目标资源的资源整合,下载完目标资源。
在本发明实施例中,S401-S412的具体说明在前述的实施例中已经进行了详细说明,这里不再赘述。
示例性的,如图24所示,以群会话场景为例,描述User0下载文件X的过程,向群会话中的群成员(包括群成员User1和群成员User2),其中,服务器包括中控服务器和存储服务器,下载文件X的过程可以包括:
1、User0(下载终端)发送下载X文件请求(目标资源下载请求)至存储服务器;
2、存储服务器传输X文件给User0;
3、User0发送检索局域网范围内文件X请求(局域网检索请求)至中控服务器;
4、中控服务器寻找局域网内可能有X文件的终端(即目标检索终端);
5、中控服务器发送检索文件X请求至User1和User2(候选终端);
这里指中控服务器发送云端索引信息的过程。
6、User1(目标检索终端)根据检索文件X请求检索到文件X,发起发送自己的设备信息给服务器;
7、User1发送自己的设备信息(目标检索资源传输装置的信息)给服务器告知存储有X;
8、服务器将设备信息发送给User0,通知User0可以向User1请求X文件;
9、User0根据设备信息,向User1请求X,从User1中获取X文件;
10、User0将存储服务器、User1传来的文件X合并,得到完成的X文件。
需要说明的是,X文件在传输的过程是按照文件分片的方式进行传输的,需要一定的传输时间。
综上所述,通过本发明实施例,一方面,在使用离线上传资源时,利用资源唯一特征SHA1及各资源分片唯一索引SHA1,对资源在后台服务器建立网格,各资源分片并发上传,在一个来源的终端或装置利用多通道极大利用网络带宽,减少等待相应时的耗时,提高上传速度。同时利用局域网本身通信的高速度、高吞吐特性,通过直连传输资源的方式,将资源拓扑给其他局域网的装置,多端,即多来源同一时间上传同一资源的不同资源分片,减少了资源整体上传耗时,提高平均上传速度,进而提升用户体验。另一方面,在目标资源下载时,目标资源下载装置通过服务器利用资源唯一特征SHA1在局域网范围内检索是否存在相同的目标资源,如存在目标检索资源传输装置,则启动点对点直连传输逻辑,将原本要走外网(公网)下载的目标资源,转化为部分从外网、部分从局域网获取(多源获取),目标资源下载装置对多源获得的资源分片进行组装、校验,以获得完整目标资源;利用局域网本身通信的高速度、高吞吐特性,通过直连传输资源的方式,提高平均下载速度,节约外网带宽,进而提升用户体验。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (15)
1.一种资源传输方法,其特征在于,包括:
获取资源传输参数,所述资源传输参数表征网络传输状况及资源参数的相关信息;
基于所述资源传输参数,从预设多模式传输策略中确定资源传输方式;
采用所述资源传输方式发送目标资源上传请求至服务器,所述目标资源上传请求中携带有目标资源;
当所述资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收所述目标资源传输装置发送的目标资源获取请求,所述目标资源传输装置是由所述服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有所述目标资源的装置;
响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置。
2.根据权利要求1所述的方法,其特征在于,
所述预设多模式传输策略:直连传输、离线传输、直连离线混合传输、直连和离线混合传输中直连优先传输中任意一种或者多种资源传输方式。
3.根据权利要求1或2所述的方法,其特征在于,所述响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置之后,所述方法还包括:
通过所述目标资源传输装置上传所述目标资源至所述服务器。
4.根据权利要求3所述的方法,其特征在于,所述采用所述资源传输方式发送目标资源上传请求至服务器之后,所述方法还包括:
接收所述服务器发送的上传完成反馈信息;
发送停止拓扑请求至所述目标资源传输装置,指示所述目标资源传输装置停止向所述服务器上传所述目标资源。
5.一种资源传输方法,其特征在于,包括:
发送目标资源下载请求和局域网检索请求至服务器,所述服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源;
接收所述服务器响应于所述目标资源下载请求发送的第一目标资源;
接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息;所述目标检索资源传输装置是由所述服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有所述目标资源的装置;
根据所述目标检索资源传输装置的信息,发送目标资源传输请求至所述目标检索资源传输装置,从所述目标检索资源传输装置直接获取到第二目标资源;
基于所述第一目标资源和所述第二目标资源的资源整合,下载完所述目标资源。
6.根据权利要求5所述的方法,其特征在于,所述接收所述服务器响应于所述目标资源下载请求发送的第一目标资源,包括:
接收所述服务器响应于所述目标资源下载请求按照第一预设分片序列发送第一目标资源分片,所述第一目标资源分片构成了所述第一目标资源。
7.根据权利要求5或6所述的方法,其特征在于,所述从所述目标检索资源传输装置直接获取到第二目标资源,包括:
从所述目标检索资源传输装置直接获取到按照第二预设分片序列传输的第二目标资源分片,所述第二目标资源分片构成了所述第二目标资源。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取所述第一目标资源和所述第二目标资源时,获取并存储所述第一目标资源的第一结构化信息,以及所述第二目标资源的第二结构化信息;其中,结构化信息表征资源下载的起始位置和存储位置信息;
当所述第一目标资源和所述第二目标资源传输中断时,采用所述第一结构化信息和所述第二结构化信息实现断点重新传输所述目标资源;
相应的,所述基于所述第一目标资源和所述第二目标资源的资源整合,下载完所述目标资源,包括:
根据所述第一结构化信息和所述第二结构化信息,进行所述第一目标资源和所述第二目标资源已下载位置的检测;
当检测到所述第一目标资源的已下载位置和所述第二目标资源的已下载位置相同时,完成所述目标资源的下载,并释放存储所述第一结构化信息和所述第二结构化信息的存储资源。
9.根据权利要求1所述的方法,其特征在于,所述接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息之前,所述方法还包括:
在客户端中通过调用服务器的访问接口向所述服务器发送鉴权请求,以触发所述服务器执行响应操作:
获取所述目标资源的云端索引信息;
根据所述云端索引信息检索出所述候选检索资源传输装置;
向所述候选检索资源传输装置发送所述云端索引信息,检测所述候选检索资源传输装置存储的资源中是否存在与所述云端索引信息匹配的本地索引信息;
若所述候选检索资源传输装置中的第一候选检索资源传输装置存在匹配的本地索引信息,则确定所述第一候选检索资源传输装置为所述目标检索资源传输装置。
10.根据权利要求1所述的方法,其特征在于,所述发送目标资源下载请求和局域网检索请求至服务器,包括:
通过卡片消息向所述服务器发起目标资源下载请求和局域网检索请求;所述卡片消息为源资源传输装置上传所述目标资源完成后的发送的提醒消息。
相应的,所述从所述目标检索资源传输装置直接获取到第二目标资源之后,所述方法还包括:
所述卡片消息由离线下载显示状态更新为局域网加速显示状态;所述离线下载显示状态是在接收到所述第一目标资源时展示的显示状态。
11.一种源资源传输装置,其特征在于,包括:
第一获取单元,用于获取资源传输参数,所述资源传输参数表征网络传输状况及资源参数的相关信息;
确定单元,用于基于所述资源传输参数,从预设多模式传输策略中确定资源传输方式;
第一发送单元,用于采用所述资源传输方式发送目标资源上传请求至服务器,所述目标资源上传请求中携带有目标资源;
第一接收单元,用于当所述资源传输方式为直连离线混合传输方式进行目标资源的传输时,与目标资源传输装置进行连接,接收所述目标资源传输装置发送的目标资源获取请求,所述目标资源传输装置是由所述服务器根据目标资源确定的与源资源传输装置为同一局域网、且未存储有所述目标资源的装置;
所述第一发送单元,还用于响应于所述目标资源获取请求,直接传输所述目标资源给所述目标资源传输装置。
12.一种目标源资源下载装置,其特征在于,包括:
第二发送单元,用于发送目标资源下载请求和局域网检索请求至服务器,所述服务器中存储有由源资源传输装置通过目标资源上传请求传输的目标资源;
第二接收单元,用于接收所述服务器响应于所述目标资源下载请求发送的第一目标资源;以及,接收所述服务器响应于所述局域网检索请求发送的目标检索资源传输装置的信息;所述目标检索资源传输装置是由所述服务器根据局域网检索请求确定的与目标资源传输装置为同一局域网、且存储有所述目标资源的装置;
所述第二发送单元,还用于根据所述目标检索资源传输装置的信息,发送目标资源传输请求至所述目标检索资源传输装置,从所述目标检索资源传输装置直接获取到第二目标资源;
整合单元,用于基于所述第一目标资源和所述第二目标资源的资源整合,下载完所述目标资源。
13.一种源资源传输装置,其特征在于,包括:
第一存储器,用于存储可执行资源传输指令;
第一处理器,用于执行所述第一存储器中存储的可执行资源传输指令时,实现权利要求1至4任一项所述的方法。
14.一种目标资源下载装置,其特征在于,包括:
第二存储器,用于存储可执行资源传输指令;
第二处理器,用于执行所述第二存储器中存储的可执行资源传输指令时,实现权利要求5至10任一项所述的方法。
15.一种存储介质,其特征在于,存储有可执行资源传输指令,用于引起第一处理器执行时,实现权利要求1至4任一项所述的方法;或者,存储有可执行资源传输指令,用于引起第二处理器执行时,实现权利要求5至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811369536.5A CN111200622B (zh) | 2018-11-16 | 2018-11-16 | 一种资源传输方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811369536.5A CN111200622B (zh) | 2018-11-16 | 2018-11-16 | 一种资源传输方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111200622A true CN111200622A (zh) | 2020-05-26 |
CN111200622B CN111200622B (zh) | 2022-04-08 |
Family
ID=70747195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811369536.5A Active CN111200622B (zh) | 2018-11-16 | 2018-11-16 | 一种资源传输方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111200622B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104741A (zh) * | 2020-09-21 | 2020-12-18 | 北京指掌易科技有限公司 | 资源共享方法、装置、系统及网关控制器 |
CN113747245A (zh) * | 2021-09-06 | 2021-12-03 | 北京字跳网络技术有限公司 | 多媒体资源上传方法、装置、电子设备以及可读存储介质 |
CN114189715A (zh) * | 2021-12-07 | 2022-03-15 | 北京奇艺世纪科技有限公司 | 下载地址切换方法及相关设备 |
CN115695895A (zh) * | 2021-07-21 | 2023-02-03 | 成都极米科技股份有限公司 | 提高数据传输速率的方法、装置、设备及存储介质 |
WO2023143287A1 (zh) * | 2022-01-29 | 2023-08-03 | 大唐移动通信设备有限公司 | 数据传输方法、装置、设备及存储介质 |
CN115695895B (zh) * | 2021-07-21 | 2024-05-10 | 极米科技股份有限公司 | 提高数据传输速率的方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833293A (zh) * | 2011-06-17 | 2012-12-19 | 腾讯科技(深圳)有限公司 | P2sp网络中资源下载的方法及客户端 |
CN103052063A (zh) * | 2011-10-11 | 2013-04-17 | 中国移动通信集团公司 | 一种接入无线局域网的方法、系统、无线共享设备和终端 |
CN104539437A (zh) * | 2014-12-30 | 2015-04-22 | 北京奇虎科技有限公司 | 资源获取方法及终端设备 |
WO2017193622A1 (zh) * | 2016-05-12 | 2017-11-16 | 中兴通讯股份有限公司 | 数据传输方法、装置及计算机存储介质 |
CN107995247A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种文件传输方法、服务器及系统 |
CN108259542A (zh) * | 2016-12-29 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 资源的传输方法和装置 |
-
2018
- 2018-11-16 CN CN201811369536.5A patent/CN111200622B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833293A (zh) * | 2011-06-17 | 2012-12-19 | 腾讯科技(深圳)有限公司 | P2sp网络中资源下载的方法及客户端 |
CN103052063A (zh) * | 2011-10-11 | 2013-04-17 | 中国移动通信集团公司 | 一种接入无线局域网的方法、系统、无线共享设备和终端 |
CN104539437A (zh) * | 2014-12-30 | 2015-04-22 | 北京奇虎科技有限公司 | 资源获取方法及终端设备 |
WO2017193622A1 (zh) * | 2016-05-12 | 2017-11-16 | 中兴通讯股份有限公司 | 数据传输方法、装置及计算机存储介质 |
CN107995247A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种文件传输方法、服务器及系统 |
CN108259542A (zh) * | 2016-12-29 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 资源的传输方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104741A (zh) * | 2020-09-21 | 2020-12-18 | 北京指掌易科技有限公司 | 资源共享方法、装置、系统及网关控制器 |
CN112104741B (zh) * | 2020-09-21 | 2024-02-02 | 北京指掌易科技有限公司 | 资源共享方法、装置、系统及网关控制器 |
CN115695895A (zh) * | 2021-07-21 | 2023-02-03 | 成都极米科技股份有限公司 | 提高数据传输速率的方法、装置、设备及存储介质 |
CN115695895B (zh) * | 2021-07-21 | 2024-05-10 | 极米科技股份有限公司 | 提高数据传输速率的方法、装置、设备及存储介质 |
CN113747245A (zh) * | 2021-09-06 | 2021-12-03 | 北京字跳网络技术有限公司 | 多媒体资源上传方法、装置、电子设备以及可读存储介质 |
CN114189715A (zh) * | 2021-12-07 | 2022-03-15 | 北京奇艺世纪科技有限公司 | 下载地址切换方法及相关设备 |
WO2023143287A1 (zh) * | 2022-01-29 | 2023-08-03 | 大唐移动通信设备有限公司 | 数据传输方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111200622B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111200622B (zh) | 一种资源传输方法及装置、存储介质 | |
KR101337039B1 (ko) | 통신 네트워크 내의 패킷을 라우팅하는 방법 및 통신 네트워크 내의 패킷을 라우팅하기 위한 네트워크 노드 | |
KR101887581B1 (ko) | 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법 | |
CN110740460B (zh) | 一种设备的入网方法、装置、网络设备及存储介质 | |
US20070283043A1 (en) | Information delivery system, delivery request program, transfer program, delivery program, and the like | |
CN108023812B (zh) | 云计算系统的内容分发方法及装置、计算节点及系统 | |
KR20090101489A (ko) | 풀 및 푸시 모드를 조합하는 시스템 및 방법 | |
CN111917562B (zh) | 广播消息转发方法、装置、设备及存储介质 | |
WO2012151851A1 (zh) | 一种移动终端间共享数据的方法、系统及控制服务器 | |
US9621412B2 (en) | Method for guaranteeing service continuity in a telecommunication network and system thereof | |
US20200228932A1 (en) | Mesh communications network having mesh ports | |
CN112491717A (zh) | 一种服务路由方法及装置 | |
US20140185613A1 (en) | Multiple path control for multicast communication | |
CN113422818B (zh) | 一种数据级联传输方法、系统及节点设备 | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
US10771372B2 (en) | Transmitting test traffic on a communication link | |
CN112954406A (zh) | 数据下载方法、装置、计算机设备和存储介质 | |
CN112003943A (zh) | 语音数据同步方法和装置 | |
CN113242462B (zh) | 一种实现融合终端的投屏方法和装置 | |
US20170034124A1 (en) | Terminal and multicast address distribution server | |
CN112492030B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN112217735A (zh) | 信息同步方法与负载均衡系统 | |
CN113055457A (zh) | 接入控制与数据转发方法、装置、电子设备及存储介质 | |
JP2006227763A (ja) | データ共有システム、データ共有方法及びプログラム | |
CN112131014A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |