一种用于移动终端应用的内容分发的方法和系统技术方案

技术编号:14402729 阅读:68 留言:0更新日期:2017-01-11 14:57
本发明专利技术提供了一种用于移动终端应用的内容分发的方法和系统。该方法包括:移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;软件开发库接收移动终端应用导入的下载请求,并根据请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动p2p下载;如果确定可以启动p2p下载,软件开发库将剩余的未下载的数据切片成多个虚拟文件;软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,软件开发库将已下载的虚拟文件实时转发给移动终端应用;在下载虚拟文件过程中,软件开发库根据分享策略将已下载并且已缓存的资源进行分享。

【技术实现步骤摘要】

本专利技术涉及基于移动互联网内容分发的技术,尤其涉及P2P的分发技术在移动网络下的应用技术。
技术介绍
随着移动互联网的发展,无线网络带宽越来越大,富媒体应用随之发展。而富媒体内容如音频、视频,一般体积比较大,非常依赖内容分发系统对其支持,才能保证这些富媒体应用在移动网络下的用户体验。当前的集中式内容分发系统一般在靠近用户的地方部署缓存系统,通过改写域名指向,将请求导入缓存系统,这样可以达到就近获取内容和缓解源站压力的目的。但现有的集中式内容分发方案存在不少弊端。例如,集中式内容分发系统在用户请求量大的时候容易造成瓶颈,导致可用性下降,用户体验差。此外,传统的集中式内容分发方案容易造成单点故障失效。而且,集中式内容分发方案需要较高的分发成本。P2P(peer-to-peer,点对点)技术已经非常成熟,该技术已经被广泛应用在固定网络下的内容分发。所谓P2P,即点对点传输数据,这里“点”指的是最终用户端,在传统的集中式内容分发系统下,用户获取资源只能到源站或者缓存系统获取,而P2P技术下获取内容主要是到已拥有资源的用户端上获取数据,这样可以实现分布式下载数据,可以解决集中式分发系统所存在的弊端。如果能够将P2P技术应用在移动网络下,那么移动网络下的内容分发系统将更加高效。但移动网络与固定网络有较大区别,固网下传统的P2P技术并不适合移动网络应用,主要体现在以下几个方面。首先,移动网络时延大、网络抖动大,相对固定网络来说更加不稳定,在这种情况下传统P2P技术无法保证数据及时供给,例如,首包不及时,进而用户体验无法得到有效保障。其次,通常P2P需要数据源(P2P技术称该数据源为种子seed)永久在线。但移动终端使用电池供电,各个移动平台一般都会限制后台应用的数据使用以达到节省电源使用的目的,在这种情况下种子服务没办法得到可靠的保障将会影响可用性。再次,运营商对移动流量收费,传统的P2P方案无法区分收费流量和免费流量,因此,会增加客户端的使用成本。因此,亟需一种能克服上述缺陷的适用于移动智能终端应用的P2P内容分发的方法和系统。
技术实现思路
本专利技术要解决的技术问题有以下几个。首先,传统的P2P内容分发方案使得数据源边缘化,但由于移动网络和移动终端的限制,无法保证数据源永远在线的状态。其次,移动网络下网络相对不稳定,数据可能无法及时从特定的终端上获取,从而影响用户体验。再次,传统的P2P内容分发方案无法识别收费流量和免费流量,可能造成用户使用成本上升。最后,传统的P2P内容分发方案未考虑移动终端的电源使用情况,造成电源过快耗费。为了解决上述问题,本专利技术结合了移动网络的特性提出改进后的适用于移动网络应用的P2P内容分发方案。新方案主要结合了集中分发方案和P2P分发方案的优点,规避了两种方案的缺点,使得在移动网络下内容分发更加高效可靠,并且能够保证较好的用户体验。本专利技术提供了一种用于移动终端应用的内容分发的方法,其特征在于,包括以下步骤:A.移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;B.所述软件开发库接收所述移动终端应用导入的所述下载请求,并根据所述请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动P2P下载,其中该首包为欲下载的数据的首个数据分片;C.如果确定可以启动P2P下载,所述软件开发库将剩余的未下载的数据切片成多个虚拟文件;D.所述软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,所述软件开发库将已下载的虚拟文件实时转发给所述移动终端应用;E.在下载所述虚拟文件过程中,所述软件开发库根据分享策略将已下载并且已缓存的资源进行分享。在一个实施例中,步骤A中的所述移动终端应用将所述下载请求导入所述软件开发库的方法包括通过主动代理或者被动劫持的方式的其中一种。在一个实施例中,步骤D中的虚拟文件下载包括:使用http协议向源站或者缓存系统下载和/或使用P2P的方式下载;其中所述软件开发库计算使用http协议的下载速率和使用P2P方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方式;如果使用P2P的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且P2P下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用P2P的方式下载数据。在一个实施例中,步骤E中的分享策略包括:根据所述移动终端的网络制式、所述移动终端的剩余电量、所述移动终端的内存使用情况、所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。在一个实施例中,步骤B中确定是否可以启动P2P包括:根据该首包数据中描述的文件长度和传输编码方式来确定是否启动P2P下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则执行步骤C。在一个实施例中,获取终端应用对数据的需求情况的方法包括:所述软件开发库向所述移动终端应用提供数据使用状态通知接口,以此来获取当前移动终端应用对数据的消费情况。本专利技术还提供了一种用于移动终端应用的内容分发的系统,其特征在于,包括:多个移动终端应用模块,每个移动终端应用模块内嵌软件开发库,所述软件开发库被配置成判断数据下载请求是否满足P2P下载的启动条件、实现P2P的下载、提供响应数据的交付,以及提供数据分享;P2P控制器,与所述多个移动终端模块相通信,所述P2P控制器被配置成管理所述软件开发库、管理和推荐有效的peer、检索下载资源、辅助P2Pp的NAT穿越。在一个实施例中,所述软件开发库包括:P2P调度层模块和P2P协议层模块,该P2P调度层模块与该P2P协议层模块互相通信;所述P2P调度层模块包括:本地代理接口模块,被配置成将来自所述移动终端应用模块的数据下载请求导入所述软件开发库,并通过所述本地代理接口将下载的数据交付至所述移动终端应用模块;通知接口模块,被配置成接收有关来自移动终端应用模块的状态的通知;下载控制器,被配置成判断该数据下载请求是否满足P2P下载的启动条件,并且将根据配置或者当前的条件决定下一个虚拟文件采用http下载方式还是P2P下载方式;上传控制器,被配置成确定当前的缓存数据是否可以分享以及分享的条件;缓存控制器,被配置成管理本地缓存,该管理包括对缓存规模进行控制、对缓存数据的冷热度进行排序及删除,以及管理所述移动终端应用模块对缓存的重复利用。在一个实施例中,所述P2P协议层模块包括:P2P内容检索模块,被配置成实现所述软件开发库与所述P2P控制器的交互管理,移动终端的进入和退出,下载数据的检索以及处理P2P控制的peer推荐和更新。P2P切片任务管理模块,被配置成实现对已注册的P2P文件进行任务管理,切片并发管理,以实现最优的P2P下载;P2PNAT穿越控制模块,被配置成确保peer之间的链路能够建立;peer交互协议模块,被配置成实现peer之间的通讯协议。在一个实施例中,所述P2P控制器包括:peer管理模块,被配置成记录和管理peer的活动状态。p本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201510345155.html" title="一种用于移动终端应用的内容分发的方法和系统原文来自X技术">用于移动终端应用的内容分发的方法和系统</a>

【技术保护点】
一种用于移动终端应用的内容分发的方法,其特征在于,包括以下步骤:A.移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;B.所述软件开发库接收所述移动终端应用导入的所述下载请求,并根据所述请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动p2p下载,其中该首包为欲下载的数据的首个数据分片;C.如果确定可以启动p2p下载,所述软件开发库将剩余的未下载的数据切片成多个虚拟文件;D.所述软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,所述软件开发库将已下载的虚拟文件实时转发给所述移动终端应用;E.在下载所述虚拟文件过程中,所述软件开发库根据分享策略将已下载并且已缓存的资源进行分享。

【技术特征摘要】
1.一种用于移动终端应用的内容分发的方法,其特征在于,包括以下步骤:A.移动终端应用集成嵌入软件开发库,并将一下载请求导入所述软件开发库,并等待接收下载数据;B.所述软件开发库接收所述移动终端应用导入的所述下载请求,并根据所述请求向缓存系统或源站下载首包,并根据该首包来确定是否可以启动p2p下载,其中该首包为欲下载的数据的首个数据分片;C.如果确定可以启动p2p下载,所述软件开发库将剩余的未下载的数据切片成多个虚拟文件;D.所述软件开发库对所述多个虚拟文件逐一发起下载并缓存下载结果,直到所有的虚拟文件下载完成,其中,在下载所述虚拟文件过程中,所述软件开发库将已下载的虚拟文件实时转发给所述移动终端应用;E.在下载所述虚拟文件过程中,所述软件开发库根据分享策略将已下载并且已缓存的资源进行分享。2.如权利要求1所述的方法,其特征在于,步骤A中的所述移动终端应用将所述下载请求导入所述软件开发库的方法包括通过主动代理或者被动劫持的方式的其中一种。3.如权利要求1所述的方法,其特征在于,步骤D中的虚拟文件下载包括:使用http协议向源站或者缓存系统下载和/或使用p2p的方式下载;其中所述软件开发库计算使用http协议的下载速率和使用p2p方式的下载速率,并根据所述移动终端应用对数据的需求情况来决定当前虚拟文件采用哪一种下载方式;如果使用p2p的方式无法下载到所需要的虚拟文件或者下载速率无法满足所述移动终端应用的正常需要,并且p2p下载速率低于http下载速率,则需要使用http方式直接向所述缓存系统或者所述源站下载,除此之外均可使用p2p的方式下载数据。4.如权利要求1所述的方法,其特征在于,步骤E中的分享策略包括:根据所述移动终端的网络制式、所述移动终端的剩余电量、所述移动终端的内存使用情况、所述移动终端的cpu使用情况判断所下载的数据是否可以作为种子进行分享;若可以进行分享,则对该分享进行注册,并等待接收其他移动终端应用的下载请求。5.如权利要求1所述的方法,其特征在于,步骤B中确定是否可以启动p2p包括:根据该首包数据中描述的文件长度和传输编码方式来确定是否启动p2p下载,如果不符合,则向该缓存系统或者该源站发送http请求,以下载剩余数据;如果符合,则执行步骤C。6.如权利要求3所述的方法,其特征在于,获取所述移动终端应用对数据的需求情况的方法包括:所述软件开发库向所述移动终端应用提供数据使用状态通知接口,以此来获取当前移动终端应用对数据的消费情况。7.一种用于移动终端应用的内容分发的系统,其特征在于,包括:多个移动终端应用模块,每个移动终端应用模块内嵌软件开发库,所述软件开发库被配置成判断数据下载请求是否满足p2p下载的启动条件、实现p2p的下载、提供响应数据的交付,以及提供数据分享;p2p控制器,与所述多个移动终端模块相通信,所述p2p控制器被配置成管理所述软件开发库、管理和推荐有效的peer、检索下载资源、辅助p2p的NAT穿越。8.如权利要求7所述的系统,其特征在于,所述软件开发库包括:p2p调度层模块和p2p协议...

【专利技术属性】
技术研发人员:洪珂黄忠旺
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1