一种点播模式下的多数据项无线数据广播调度方法

文档序号:7664323阅读:109来源:国知局

专利名称::一种点播模式下的多数据项无线数据广播调度方法
技术领域
:本发明属于无线移动计算领域,具体涉及到无线网络中点播模式下对多数据项请求的数据广播调度方法。
背景技术
:随着无线设备的普及和无线网络的发展,无线移动计算已经成为了一个十分活跃的研究领域,无线数据广播由于其特有的可伸縮性及充分利用带宽的特性成为目前无线移动网络中广泛采用的数据传递方法。服务器广播信道的组织和调度是无线数据广播的核心研究问题。本发明所涉及的正是无线数据广播中点播模式下的多数据项广播调度方法问题。无线数据广播主要有两种模式,分别为周期广播模式和点播模式。周期广播模式^r朋Asstifoofe/AA/-6ase":服务器端将存储的数据以一种确定的调度方式在广播信道上循环广播,用户端只需要在广播信道上侦听,一旦发现自己需要的数据则下载到本地。点播模式0/7-c/e历a/^#ode//^"-/7asec/J/加fe入用户通过上行信道将自己的请求发送给服务器端,服务器将用户的请求放入请求队列并根据队列中的请求状况安排调度。一旦请求的数据被广播,则将该请求从队列中删除。同时用户在广播信道上侦听,一旦发现自己需要的数据则下载到本地。其中,点播模式具有可以及时适应用户访问模式改变的优点,因此更具有现实应用性。在无线数据广播系统中,访问时间是一个衡量系统性能的重要标准。访问时间指的是一个用户提出一个请求到该用户的这个请求被满足这个期间所经过的时间。一个高效的数据广播系统应当具有较小的平均访问时间,即平均每个请求的访问时间较小。广播调度序列指的是服务器根据一定的广播调度算法确定的在广播信道上每个数据出现的时间和频率,广播调度序列是影响系统平均访问时间的重要因素。已有的广播调度算法大多是建立在单数据项请求的假设前提下,即每个用户请求只需要一个数据。但现实中很多情况下,很可能一个用户请求需要多个数据,例如用户浏览网页的时候,不仅需要下载浏览页面的信息,同时需要下载该页面上的各种内嵌对象(flash等)。这种情况下,多数据项请求显然是更为合理的请求方式。已有的针对单数据项请求的调度方法不适合运用到多数据项请求中,这是由于那些方法都是以数据项的访问频率为根据确定调度结果。而在多数据项请求中请求与数据不再是一对一的关系,沿用之前的方法很可能造成一个请求中热门的数据(即访问频率高的数据项)很快得到满足,但其中非热门的数据必须等待相当长的时间,于是请求的访问时间也因此大大增加。因此,针对多数据项请求的调度算法必须同时考虑请求与数据项两者的访问频率。已有的针对多数据项请求的周期广播调度算法主要分为基于请求的调度方法和基于数据的调度方法。基于请求的调度方法包括QEM算法,改进的QEM算法和Grey码算法。基于数据的调度方法包括访问图算法和基于数据联系度的方法。在周期广播模式中,所有的算法都是假设所有用户的请求和这些请求的访问模式是不变的。因此调度完成后,每个广播周期中的数据项及其出现顺序都相同。但在点播模式下,用户的请求访问模式可能随时改变,因此以上算法并不适合。点播模式下的多数据项广播调度目前采用的大都是两步走的方法。首先确定下一次广播周期应当广播的数据(请求选择问题);其次合理安排该周期内的数据顺序使用户请求的平均访问时间最少(广播调度问题)。对于前一个问题目前有仅考虑请求频率的方法,仅考虑请求频率的方法,考虑了交集的频率/长度比方法和"温度"度量方法。对于后一个问题,广播模式下的调度算法在此并不能采用,这是因为这些算法思想都建立在数据项是循环广播的前提下。而在点播模式下,由于每一次广播周期中的数据项都不相同,因此以上算法并不适合。Prabhu提出过一种简单的解决方案,即首先选择访问频率最好的请求,将该请求需要的数据加入广播周期最前位置,之后每次选择重叠率最高的请求仏(即gDS(《)中,已经加入广播周期中的数据项个数与尚未加入的数据项个数的比值最大),将2"S&,)中剩余的数据项加入到广播周期中。
发明内容本发明的目的在于提出一种点播模式下的多数据项广播调度方法,该方法要同时考虑多数据项请求与点播模式的特点。采用该调度算法进行广播时,可以使点播广播系统的平均访问时间较小,并且该算法计算代价小速度快,适合点播模式下迅速调度的要求。下面首先介绍一些相关的基本概念。广播周期在点播广播模式下,广播周期指服务器广播的一个完整的数据广播序列。在点播模式下,广播周期的内容由服务器根据当前用户的请求状况决定,每次广播周期中的数据项都不完全相同。广播周期具有一定的长度5丄。我们假设每个数据项的长度相同,则广播周期的长度可以用可广播的数据项个数表示。广播调度序列广播调度序列指的是在一个完整的广播周期内,每个数据项出现的位置和频率。一个设计合理的广播调度序列可以有效降低系统的平均访问时间。多数据项请求多数据项请求指的是需要多个数据项的请求。请求的数据集QDS:对于多数据项请求,一个请求可以访问多个数据。请求的数据集QDS指的是该请求需要的数据项的个数。例如2"S(《)=表示请求《需要数据项《和々本发明针对于点播模式下的多数据项广播调度,沿用之前研究的结构,我们将该问题分为请求选择和广播调度两个子问题。其中请求选择问题不是本方法讨论的范围。即我们假设已经知道下次广播周期会满足的请求以及这些请求需要的数据项(可以采用已有的任一种请求选择方法得到)。此时问题的关键就在于如何安排这些数据的出现顺序以使得需要这批数据的请求都可以尽快的被满足。这属于一个NPC问题且目前尚没有有效的解决方法。我们提出了一种基于最少访问数据最后广播的启发式算法。该算法的主要思想如下由于多数据项请求必须等待该请求所需的所有数据都广播后才能得到满足,因此那些需要位于广播周期末尾数据的请求的访问时间最长(等于整个广播周期的长度),显然我们希望这种请求越少越好,因此本方法采用从后向前推算的思路,首先把访问频率最少的数据项放在广播周期的末尾,然后依次向前推算每个位置应当广播的数据项。本方法包括以下几个步骤首先计算每个数据项的访问频率,然后将访问频率最低的数据项置于广播周期末尾。此时对于需要该数据项的请求来说,其他数据项的调度顺序不会影像他们的访问时间已经确定(他们的访问时间已经确定等于广播周期长度),因此可以不再将这些请求列入考虑范围,在忽略这些请求的情况下,重新计算每个数据项的访问频率,选择其中访问频率最低的放在广播周期中最后的空闲位置(此时为倒数第二个),同样以此继续推算,直到广播周期中的每个位置都确定相应的广播数据项。下面对选择方法的各个步骤作进一步的描述步骤一计算每个请求的访问频率由点播模式的特点,请求队列中每个请求的访问频率是已知的,由请求的访问频率计算每个数据项的访问频率的公式如下其中W)表示数据项《的访问频率,/r^(力)表示请求^的访问频率。sq为当前广播周期中的请求集合。2"s(^)表示请求力所需要的数据项集合。步骤二在步骤一中得到了每个数据项的访问频率,选择其中最小的一个填充到广播周期的末尾(广播周期的长度是已知的)。步骤三更新每个数据项的访问频率。具体方法为1)将刚被调度过的数据项《*^的访问频率置为-12)对每个需要数据项的请求力,对《,的数据项集2AS(^.)中的每个数据项《,更新该数据项《的访问频率。更新公式如下步骤四待对数据项的访问频率更新结束后,重新扫描整个数据项集合,选择访问频率最小且尚未被调度过的数据项,将它填充到广播周期最后的空闲位置。步骤五反复执行步骤三到步骤四,直到所有的数据项都被调度过,此时即得到了本次广播周期的最终调度结果。由上述的算法步骤可以看出,本发明算法是一种尽量减少最差情况的贪心算法。由于每一次选择数据项的时候,都使受到此次选择影响的请求数量最小(即当前最差情况最少),因此从整体上提高了系统的平均性能。可以进一步证明,在我们的调度结果中,任意交换两个数据项的位置,其结果一定会使系统的平均访问时间延长,从理论上证明了本方法的高效性。此外,假设系统的请求等待序列中的请求个数为M,平均每个请求需要的数据项个数为W,广播周期的长度为尺,则由我们的算法步骤可以推出本方法的计算复杂度为0(TM+ZQXA9。可见本方法的计算复杂度低,计算速度快,适合点播模式下迅速调度的要求。图1为举例说明中本方法的调度过程。其中,(a)为计算每个数据项的访问频率图示。(b)为更新每个数据项的访问频率图示。(c)-(e)为重复上述计算过程的图示。图2为采用本方法的系统和采用Prabhu方法的系统,两者的平均访问时间在不同的广播周期下的长短比较。图3为采用本方法的系统和采用Prabhu方法的系统,两者的平均访问时间在不同的请求访问模式下的长短比较。具体实施例方式不失一般性,本发明将以以下数据集为例来详细介绍整个调度算法,以对本发明的目的、特征和优点进行更深入地理解。但本发明的保护范围不限于下述实例。例如现在有五个请求ql,q2,q3,q4,q5和6个数据项dl,d2,d3,d4,d5,d6,则广播周期的长度等于数据项个数6。每个请求的请求数据集和访问频率如表1所示。其中"1"表示与之对应的请求需要与之对应的数据项。例如ql需要数据项d2,d4。最后一列表示的是每个请求的访问频率,为表述方便我们直接用访问次数代表访问频率,即把一个广播周期看成一个单位时间。表1请求的数据集和访问频率<table>tableseeoriginaldocumentpage7</column></row><table>步骤1:计算每个数据项的访问频率。根据之前的计算公式得到每个数据项的访问频率,如附图1(a)所示。最下面一行"total"表示对应的每个数据项的访问频率。步骤2:选择访问频率最小的数据项,填充到广播周期的末尾。如附图l(a)所示,此时选中的数据项为dl。步骤3:更新每个数据项的访问频率。如附图1(b)所示,设置dl的访问频率为-1。由于不用再考虑需要dl的请求(本例中为q3),将这些请求从访问表中删除,注意图1(b)中已将q3删除。对于q3需要的每个数据项di(已经加入广播序列的除外),更新他们的访问频率>^(《)=々^(《)—々eg(g3)。结果如附图1(b)所示。注意此时dl,d3,d4的访问频率己经改变。步骤4:在更新结束后,选择访问频率最小且尚未被调度过的数据项(本例中为d4),将它填充到广播周期最后的空闲位置。如附图1(b)所示。步骤5:反复执行步骤3到步骤4,直到所有的数据项都被调度过。如附图1(c)(e)所示。此时即得到了本次广播周期的最终调度结果。此外,本方法还通过了许多模拟实验的测试,通过跟已有方法的比较证明了方法的有效性。具体的结果如附图2和附图3。图2所示为采用本方法的系统和采用Prabhu方法的系统,两者的平均访问时间在不同的广播周期下的长短比较。由图中可见,随着广播周期长度的增加,平均访问时间都随之延长。理由是由于在此系统中所有的请求都是在该广播周期广播之前到达的,因此较长的广播周期意味着部分请求必须等待较长的时间才能得到满足。但是采用我们方法的系统的访问时间增长速度明显慢于采用Prabhu方法的系统。可见我们的方法更加设计更为合理,可以使系统受到广播周期延长的影像较小。图3所示为采用本方法的系统和采用Prabhu方法的系统,两者的平均访问时间在不同的请求访问模式下的长短比较。其中请求的访问频率符合Zipf分布,Zipf参数的值越大则表示请求的访问频率越偏斜,即大部分的请求都集中访问小部分的数据。由图可见,随着请求的访问频率趋向偏斜,系统的平均访问时间都有所减少。这是因为请求需要的数据比较集中,此时广播访问频率较高的数据项可以满足更多请求的需要,因此整个系统的性能有所提高。而采用我们方法,在Zipf参数值较大的时候具有更短的平均访问时间,因此我们的方法更有实用意义,因为在实际环境中,大部分时候请求的访问频率都是偏斜的。权利要求1.一种点播模式下的多数据项广播调度方法,其特征在于具体步骤如下(1)计算每个数据项的访问频率根据请求队列中每个请求的访问频率得到每个数据项的访问频率;(2)从步骤(1)得到的数据项的访问频率中,选择访问频率最小的一个数据项填充到广播周期的末尾;(3)更新每个数据项的访问频率;(4)重新扫描整个数据项集合,选择访问频率最小且尚未被调度过的数据项,将它填充到广播周期最后的空闲位置;(5)反复执行步骤(3)到(4),直到所有的数据项都被调度过,此时即得到了本次广播周期的最终调度结果。2.根据权利要求1所述的方法,其特征在于所述根据请求队列中每个请求的访问频率计算每个数据项的访问频率,计算公式如下-河"')=S一w《稀》—(力)其中)表示数据项t/,的访问频率,々m(^)表示请求力的访问频率,59为当前广播周期中的请求集合,2ASX力)表示请求^所需要的数据项集合。3.根据权利要求1所述的方法,其特征在于所述更新每个数据项的访问频率的具体步骤如下(1)将刚被调度过的数据项《w,的访问频率置为-l;(2)对每个需要数据项《^^的请求^,对^的数据项集gAS(^)中的每个数据项《,更新该数据项《的访问频率,更新公式如下<formula>formulaseeoriginaldocumentpage2</formula>全文摘要本发明属于无线移动计算
技术领域
,具体为一种点播模式下的多数据项无线数据广播调度方法。该方法包含如下步骤首先计算每个数据项的访问频率,将访问频率最低的数据项置于广播周期末尾;然后根据选中的数据项和需要该数据项的所有请求重新计算每个数据项的访问频率,选择其中访问频率最低的放在广播周期中最后的空闲位置,同样以此继续推算,直到广播周期中的每个位置都确定相应的广播数据项。采用该调度算法进行广播时,可以使点播广播系统的平均访问时间较小,并且该算法计算代价小速度快,适合点播模式下迅速调度的要求。文档编号H04L12/18GK101183964SQ20071017217公开日2008年5月21日申请日期2007年12月13日优先权日2007年12月13日发明者平余,孙未未,张卓瑶,覃泳睿申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1