移动终端协作下载方法与流程

文档序号:12009163阅读:327来源:国知局
移动终端协作下载方法与流程
本发明涉及通信技术领域,具体地,涉及一种移动终端协作下载方法。

背景技术:
随着移动通信的蓬勃发展,最近几年移动蜂窝网络数据流量增长迅速,有统计分析表明在未来几年蜂窝网络数据流量将迎来更加快速的爆炸性增长。为此,各大运营商正竭力为其网络扩容,但是运营商网络的扩容速度要远低于移动数据流量的增长速度。蜂窝网络运营商提供的带宽越来越不能满足用户的需求,在这种情况下,移动终端的协作下载机制受到越来越多的关注。协作下载不仅能够缓解蜂窝网络运营商的带宽压力,而且能够有效的改善用户体验。协作下载机制使移动终端设备的多个无线接口协同工作,全面提升用户的上网体验和下载速度。目前的蜂窝网络运营商提供的数据套餐业务存在很多缺陷,其中之一就是月套餐中规定用户每月最多可以用多少蜂窝网络数据流量,超过套餐规定的蜂窝网络数据流量部分将会以很高的流量费计价。用户在用手机等设备通过蜂窝网络上网时需要不时地查看自己剩余的蜂窝网络数据流量,以免超出规定的数据流量,从而产生很高的流量费。经过对现有技术文献的检索发现,G.P.Perrucci等2009年在EURASIPJournalonWirelessCommunicationsandNetworking发表的“CooperativeMobileWebBrowsing”中提出了一种手机端的协作浏览网页的机制,采用该机制可以明显的改善手机浏览网页的体验。但是该机制的局限性在于其只能用于网页浏览,而且参与协作的手机都必须去浏览同一个网页。LorenzoKeller等2012年在Mobisys会议上发表的“MicroCast:CooperativeVideoStreamingonSmartphones”中提出了一种智能手机协作观看在线视频的机制,采用该机制智能手机用户可以在蜂窝网络带宽受限的情况下,流畅的观看在线高清视频。但是该机制的局限性在于要求参与协作的用户都对同一个在线视频感兴趣。上述两种机制都要求参与协作的用户对相同的内容感兴趣,这个条件在大多数情况下不能够得到满足。

技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种移动终端协作下载方法,通过移动终端上的蜂窝网络接口(3G/4G接口)和WiFi网络接口,使得这两个网络接口协同工作,提高移动终端用户的上网体验和下载速度。根据本发明的一个方面,提供一种移动终端协作下载方法,其特征是,包括如下步骤:第一步:将多个移动终端建立一个WiFi局域网,其中一个移动终端为主下载用户,其他移动终端为协助下载用户;第二步:主下载用户向服务器发送协助下载用户信息列表和文件下载请求;第三步:服务器收到主下载用户发送的协助下载用户信息列表和文件下载请求后,向主下载用户反馈文件信息和主下载用户的应付出代价信息;第四步:主下载用户收到应付代价值信息后,如果不接受,则主下载用户自行下载,流程结束;如果接受,则主下载用户向所有协助下载用户发送要下载的文件信息、服务器信息以及开始下载指令,接下来进入第五步执行;第五步:所有协助下载用户根据要下载的文件信息以及服务器信息开始向服务器请求下载文件,服务器负责向各个协助下载用户动态地推送数据,在所有文件数据推送完毕后,服务器向所有协助下载用户发送一个结束指令,此时主下载用户完成整个文件的下载;第六步:服务器根据各个协助下载用户的实际下载量,给各个协助下载用户分配一定的代价。优选地,第三步中,所述服务器端设有一个数据库,所述数据库保存所有移动终端用户的账户,每个账户里面记录了用户的代价值、合作下载的历史信息。优选地,第五步中,服务器根据各个协助下载用户的实时蜂窝网络下载速度动态地给各个协助下载用户分配下载数据量。优选地,所述第六步中,服务器根据协助下载用户的终端状态为每个协助下载用户分配其应该得到的代价,当很少协助别人下载的主下载用户需要协助下载时,将付出更多的代价。优选地,所述代价是虚拟货币或积分。优选地,在协助下载用户的终端电量较少时,其协助下载过程将得到更多的代价值。与现有技术相比,本发明具有如下的有益效果:通过协作下载机制,利用空闲客户端的资源,实现高效地下载。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明的步骤流程图;图2为本发明的协作下载及流量管理机制的架构示意图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。本发明充分利用了移动终端上的蜂窝网络接口(3G/4G接口)和WiFi网络接口,使得这两个网络接口协同工作,提高移动终端用户的上网体验和下载速度。移动终端通过蜂窝网络接口接入因特网,并可以访问和下载因特网上的资源,同时通过WiFi网络接口接入本地WiFi局域网,并可以在该本地WiFi局域网中传输数据。考虑到不同的移动终端的蜂窝网络下载速度不一样,我们在协作下载机制中引入了一种动态数据分发策略,服务器端可以根据移动终端的实时蜂窝网络下载速度动态的给各个参与协作下载的移动终端推送数据,使得各个移动终端的数据下载量与其平均蜂窝网络下载速度成正比例。除了协作下载机制外,我们的系统还具有流量管理的功能。目前蜂窝网络运营商所提供的蜂窝网络数据套餐业务存在一些缺陷,其中之一就是月套餐规定用户每月最多只能使用有限的蜂窝网络数据流量,使用超过套餐规定的蜂窝网络数据流量将会产生很昂贵的流量费。在大多数情况下,即使到了月末用户也不会把蜂窝网络流量全部用完,从而造成蜂窝网络数据流量浪费。采用了我们的流量管理机制后,用户可以更加高效的管理其蜂窝网络数据流量,减少蜂窝网络数据流量的浪费,而且在套餐规定的蜂窝网络数据流量用完了的情况下,用户还可以继续通过蜂窝网络访问因特网而不必担心产生昂贵流量费的问题。为了鼓励用户协助其他用户下载,我们设计了一种激励机制,协助其他用户下载的用户可以获得一定的报酬,而让其他用户协助自己下载的用户需要付出一定的代价。在我们的系统中,有三种角色。一是主下载用户,主下载用户需要通过蜂窝网络从因特网上下载文件、视频等数据。一是协助下载用户,协助下载用户在主下载用户需要通过蜂窝网络从因特网上下载文件、视频等数据的时候自己不需要从因特网上下载文件、视频等数据,此时协助下载用户的蜂窝网络接口和WiFi网络接口都是空闲的,协助下载用户通过蜂窝网络协助主下载用户从因特网上下载文件、视频等数据。最后一种角色是服务器,服务器建在因特网上,服务器是文件、视频等数据的提供者和整个协作下载过程的控制者,服务器负责给各个参与协作下载的用户推送数据。在我们的系统中为了使移动终端用户愿意通过蜂窝网络协助其他用户从因特网上下载文件、视频等数据,我们设计了一种激励机制。主下载用户为了使其他用户通过蜂窝网络协助其从因特网上下载文件、视频等数据,需要提供一定量的虚拟货币或积分给协助其下载的用户。同时,协助下载用户在通过蜂窝网络协助主下载用户从因特网上下载文件、视频等数据时能够获得一定量的虚拟货币或积分。当这些协助下载用户下次成为主下载用户的时候,他们可以将他们获得的虚拟货币或积分提供出来,让其他用户通过蜂窝网络协助他们从因特网上下载文件、视频等数据。我们的服务器为每一个使用我们这个系统的用户建立一个账户,这个账户里面存储了用户的虚拟货币或积分数,同时也对用户参与协作下载的历史行为有一个记录,并且为每个用户计算了一个自私度值。如果一个用户在协作下载的历史行为中表现好的话,那么其自私度值就会小,表示这是一个“乐于助人的用户”。如果一个用户在协作下载的历史行为中表现不好的话,那么其自私度值就会大,表示这是一个“自私的用户”,“自私的用户”在我们的机制中会受到一定的惩罚。采用了该机制后,用户一旦决定参与某次协作下载,那么在任务完成前,他就不能随便退出这个协作下载过程。同时,为了鼓励电池剩余电量少的用户积极参与协作下载,对于在协作下载过程中的单位贡献量,电池剩余电量少的用户可以获得更多的报酬。参见附图1,本发明是通过以下技术方案实现的,本发明包括如下步骤:第一步:将多个移动终端建立一个WiFi局域网,其中一个移动终端为主下载用户,其他移动终端为协助下载用户;第二步:主下载用户向服务器发送协助下载用户信息列表和文件下载请求;第三步:服务器收到主下载用户发送的协助下载用户信息列表和文件下载请求后,向主下载用户反馈文件信息和主下载用户的应付出代价信息;第四步:主下载用户收到应付代价值信息后,如果不接受,则主下载用户自行下载,流程结束;如果接受,则主下载用户向所有协助下载用户发送要下载的文件信息、服务器信息以及开始下载指令,接下来进入第五步执行;第五步:所有协助下载用户根据要下载的文件信息以及服务器信息开始向服务器请求下载文件,服务器负责向各个协助下载用户动态地推送数据,在所有文件数据推送完毕后,服务器向所有协助下载用户发送一个结束指令,此时主下载用户完成整个文件的下载;第六步:服务器根据各个协助下载用户的实际下载量,给各个协助下载用户分配一定的代价。下面更详细地将本发明的实施过程进行阐述。步骤一,有多部移动终端(智能手机)处在他们的WiFi通信范围之内。这些移动终端都同时具有蜂窝网络接口和WiFi网络接口。假设附近没有连接因特网的外部WiFi接入点,这些移动终端都只能够通过蜂窝网络(3G)访问因特网。在这些移动终端中,有部分移动终端需要从因特网上下载文件、视频等数据,其他移动终端不需要从因特网上下载任何数据,这些移动终端设备的蜂窝网络接口处于空闲状态,他们可以协助那些需要从因特网上下载文件、视频等数据的移动终端下载数据。假设有一部移动终端设备需要从因特网上下载文件、视频等数据,那么就称这部移动终端设备为主下载用户,其他移动终端设备不需要从因特网上下载任何数据,他们的蜂窝网络接口处于空闲状态。这些移动终端设备可以通过蜂窝网络协助需要下载的那部移动终端设备(主下载用户)从因特网上下载文件、视频等数据,那么称这些移动终端设备为协助下载用户;步骤二,主下载用户建立移动WiFi热点,并把该移动WiFi热点的SSID和密码告诉周围的协助下载用户,协助下载用户在获取了主下载用户建立的移动WiFi热点的SSID和密码后,打开WiFi,并连接上该移动WiFi热点;步骤三,当所有的协助下载用户都连接上主下载用户建立的移动WiFi热点后,一个本地WiFi局域网就建好了。此时,主下载用户通过WiFi网络接口向本地WiFi局域网内的所有用户发送一条指令,让本地WiFi局域网内的所有用户向其上报各自的本地WiFiIP地址、蜂窝网络(3G)IP地址和电池剩余电量等信息,主下载用户收集到所有这些信息后建立一张参与本次协作下载的用户的信息列表,保存起来,并通过WiFi接口将这张列表广播给本地WiFi局域网内的其他用户;步骤四,主下载用户通过蜂窝网络接口向建立在因特网上的服务器发送文件或视频数据下载请求,并把将要参与本次协作下载的用户列表发送给服务器。主下载用户可以工作在两种模式,一种是耗流量模式,另外一种是免流量模式。当工作在耗流量模式时,主下载用户自己也需要分担一部分数据流量;当工作在免流量模式时,主下载用户不需要分担数据流量。服务器在收到文件下载请求和参与下载的用户信息列表后,根据主下载用户请求下载的文件信息和参与本次协作下载的用户的具体情况,以及主下载用户的协作下载历史行为表现,为主下载用户计算出一个代价值PA,这个代价值PA表示主下载用户需要为这次协作下载过程提供的虚拟货币或积分量。服务器把这个代价值PA和相应的文件信息反馈给主下载用户。这个代价值PA的具体计算过程如下。首先,服务器根据主下载用户发送过来的信息,给出一个协助下载单位数据量的单价P0,然后根据协助下载用户电池剩余电量的情况,分别为每个协助下载用户计算一个协助下载单位数据量的单价pi,其中,Ei表示第i个协助下载用户电池剩余电量的百分比,A是一个由服务器根据实际环境给定的一个正常数值。然后服务器预估每个协助下载用户将会分到的文件下载量fi。假设F表示主下载用户想要下载的文件大小,则其中N表示协助下载用户总数,如果主下载用户工作在免流量模式,则θ=0,否则θ=1。最后,计算得到的主下载用户需要提供的虚拟货币或积分的初步量为服务器根据主下载用户的历史协作下载行为,为主下载用户计算一个自私度值,用M表示,其中,D表示主下载用户在过去的协作下载行为中总共下载到其设备上数据量,R表示主下载用户在过去的协作下载行为中总共协助其他用户下载的数据量。最后,服务器得出主下载用户应该为本次协作下载付出的虚拟货币或积分量为PA=(1+γ)M·P1其中,γ是惩罚因子,由服务器根据实际环境给定的一个正常数值,M为上述的自私度值。步骤五,主下载用户在收到代价值PA后,可以决定选择是否接受,如果接受的话,协作下载过程继续下去,转到步骤六,如果不接受的话,那么协作下载过程就不进行下去,主下载用户自己独立下载文件、视频等数据;步骤六,主下载用户通过WiFi接口向本地WiFi网络中的所有协助下载用户广播所要下载的文件信息和服务器的信息,并下达下载开始的指令;步骤七,参与协作下载的所有用户开始通过蜂窝网络向服务器请求下载文件;步骤八,服务器根据参与协作下载的用户的实时蜂窝网络下载速度动态的给各个用户分配数据量。服务器首先将整个文件数据分成若干个小数据包,并给这些数据包编号,然后将这些数据包分成若干堆,开若干条线程来推送这几堆数据包,服务器每隔固定的时间间隔,检查这几堆数据包的剩余数据包量,将剩余数据包最多的堆对应的手机与剩余数据包最少的堆对应的手机位置对调,第二多的与第二少的对调,以此类推,最终可以实现各个堆的数据包分发速度达到平衡。主下载用户通过蜂窝网下载到数据后直接存下来,协助下载用户通过蜂窝网下载到数据后不进行存储而是直接将数据通过WiFi接口转发给主下载用户;步骤九,服务器把主下载用户所请求的文件数据推送完毕后,向参与本次协作下载的所有用户发送一个结束指令。此时,主下载用户已经把要下载的文件完整的下载下来了,整个下载过程结束了;步骤十,服务器根据各个用户的实际文件数据下载量和用户信息,把之前主下载用户提供的虚拟货币或积分量适当的分配给所有参与本次协作下载的协助下载用户。具体的分配方式如下。第i个协助下载用户所能获得的虚拟货币或积分量由下式决定:其中,表示第i个协助下载用户的实际数据下载量。可以看出,我们的激励机制可以鼓励用户多协助其他用户下载文件,同时也可以鼓励电池剩余电量少的用户参与到协作下载的过程中来。如图1所示,有三部Android智能手机,这三部Android智能手机都有蜂窝网络接口和WiFi网络接口,他们处在相互之间可以WiFi通信的范围之内。这三部手机使用的都是中国联通WCDMA3G蜂窝网络。这三部Android智能手机中有一部需要通过蜂窝网络从因特网上下载文件、视频等数据,这部手机作为主下载用户,记为手机A,其他两部手机的蜂窝网络接口和WiFi网络接口处于空闲状态,他们可以通过蜂窝网络协助手机A(主下载用户)从因特网上下载文件、视频等数据,这两部手机作为协助下载用户,分别记为手机B和手机C。手机A、手机B和手机C都可以通过中国联通WCDMA3G蜂窝网络接入因特网,同时他们之间可以通过WiFi进行数据传输。我们在因特网上搭建了一个服务器,服务器给用户提供文件、视频等数据下载,手机A、手机B和手机C都可以通过蜂窝网络去向服务器请求文件数据下载。服务器为每一个用户建立了一个账户,账户里面存储了用户虚拟货币或积分数、用户参与协作下载的历史行为等相关的信息。本实施例的环境参数为:移动终端设备:三部Android智能手机,都是NexusS,每部智能手机都配置有1GHzCortex-A8CPU和344MBRAM,三部智能手机的操作系统都是AndroidGingerbread(2.3)。这三部智能手机中一部作为主下载用户,另外两部作为协助下载用户。这三部智能手机使用的都是中国联通的WCDMA3G蜂窝网络,他们可以通过该网络接入因特网。这三部智能手机都有建立WiFi移动热点和WiFi功能,而且他们之间可以通过WiFi接口相互传输数据。服务器:宏基4930G笔记本电脑,酷睿双核处理器,2G的内存,2G的主频。本实施例包括如下具体步骤:步骤一,手机A建立移动WiFi热点,并将该WiFi热点的SSID和密码告诉手机B和手机C;步骤二,手机B和手机C知道手机A所建立的移动WiFi热点的SSID和密码后打开WiFi并连接上该移动WiFi热点;步骤三,手机A向手机B和手机C广播一个指令,让他们把各自的WiFiIP地址、3GIP地址和电池剩余电量等信息上报给手机A,然后手机A建立一张包含本地WiFi局域网络中所有用户的信息列表,手机A可以工作在耗流量模式或免流量模式;步骤四,手机A向服务器请求下载文件,并把本地WiFi局域网中的用户信息列表发送给服务器;步骤五,服务器收到手机A的文件下载请求和参与协作下载的用户信息列表信息后,计算出手机A应该为本次下载提供的虚拟货币或积分量,具体的计算过程如下。首先,服务器根据手机A发送过来的信息,给出一个协助下载单位数据量的单价P0,在本实例中P0取值为1。然后根据手机B和手机C电池剩余电量的情况,分别为手机B和手机C计算一个协助下载单位数据量的报酬pi,其中,EB表示手机B电池剩余电量的百分比,在本实例中取值为60%,EC表示手机C电池剩余电量的百分比,在本实例中取值为50%,A是一个由服务器给定的正常数,在本实例中取值为1。然后服务器预估每个协助下载用户将会分到的文件下载量fi。用F表示主下载用户想要下载的文件大小,在本实例中F=300MB,则在本实例中N=2,θ=1。从而计算得到主下载用户需要提供的虚拟货币或积分的初步量P1为服务器根据手机A的历史协作下载行为,为手机A计算一个自私度值,用M表示,则其中,D表示手机A的历史协作下载行为中总共下载的数据量,在本实例中取值为300MB,R表示手机A的历史协作下载行为中总共协助其他用户下载的数据量,在本实例中取值为200MB。最后,服务器得出手机A应该为本次协作下载付出的虚拟货币或积分量PA为PA=(1+γ)M·P1其中,γ是惩罚因子,由服务器定的一个常数值,在本实例中取值为0.1。步骤六,服务器把PA值反馈给手机A,手机A选择接受这个代价值,本次协作下载过程继续进行下去。手机A通过WiFi接口向手机B和手机C发送所要下载的文件的信息和服务器的信息,并下达开始下载文件的指令,步骤七,手机A、手机B和手机C开始通过蜂窝网络接口向服务器请求下载文件;步骤八,服务器根据参与协作下载的用户的实时蜂窝网络下载速度动态的给各个用户分配数据量,服务器首先将文件数据分成若干个小数据包,每个数据包大小为1024KB,并给这些数据包编号,将这些数据分成3堆,开3条线程来推送这三堆数据包,每隔10秒,检查这三堆数据包的剩余数据包量,将剩余数据包最多的堆对应的手机与剩余数据包最少的堆对应的手机位置对调,最终可以实现各个数据包堆的分发速度达到平衡。手机A(主下载用户)通过蜂窝网下载到数据后直接存下来,手机B和手机C(协助下载用户)通过蜂窝网下载到数据后不进行存储而是直接将数据通过WiFi接口转发给主下载用户;步骤九,服务器把手机A要下载的文件数据推送完毕后,向参与本次协作下载的所有手机发送一个结束指令。此时,手机A(主下载用户)已经把要下载的文件完整的下载下来了,整个下载过程结束了;步骤十,服务器根据各个手机的实际数据下载量和用户信息,把之前主下载用户提供的虚拟货币或积分量PA适当的分配给参与本次协作下载的手机B和手机C(协助下载用户)。手机B和手机C所能获得的虚拟货币或积分量PB、PC由下式决定:其中,fB*表示手机B在本次协作下载过程中的实际数据下载量,在本实例中其值为141MB,fc*表示手机C在本次协作下载过程中的实际下载量,在本实例中其值为159MB。可以看出,该激励机制可以鼓励用户多协助其他用户下载文件,同时也可以鼓励电池剩余电量少的用户参与到协作下载的过程中来。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1