一种广播环境下支持周期连续实时查询的广播调度算法

文档序号:7818519阅读:190来源:国知局
一种广播环境下支持周期连续实时查询的广播调度算法
【专利摘要】本发明公开了一种广播环境下,针对周期、连续性实时任务查询的数据调度算法,结合带宽有效使用的基本要求,对原有的调度算法进行改进和扩展,在一定程度上遏制了带宽的浪费,并保证了任务的实时性要求。其主要步骤包括:初步处理、可合并查询合并(Mergable Queries Merging,MQM)和可合并查询合并后的独占型数据(Mergable Queries Merging-Unique Data Only,MQM-UO)调度算法。通过这些算法,服务器可以更有效的利用广播带宽,更及时、有效地为查询任务提供服务。本发明中所提出的调度算法与其他的广播调度算法相比,同时考虑了广播数据的共享性,任务的实时性,服务的持续性以及带宽利用的高效性。
【专利说明】一种广播环境下支持周期连续实时查询的广播调度算法

【技术领域】
[0001] 本发明属于实时数据广播调度【技术领域】,更具体地,涉及一种广播环境下支持周 期连续实时查询的广播调度算法。

【背景技术】
[0002] 随着无线通信技术的发展和便携式通信设备的广泛使用,数据广播已经成为一种 流行的数据通讯方式,人们可以随时随地的应用无线网络和便携式通信设备查询其所需要 的各种数据信息。然而,在现实环境中,数据可能经常的发生改变(如股票的价格,移动中 汽车的位置),查询任务也可能具有不同的急迫性,从而导致了查询任务往往具有各自不同 的任务周期。为了保证查询任务的顺利完成,服务器需要在任务的每个周期内至少广播一 次其所查询的所有数据。也就是说,在实际的应用环境中,查询任务往往同时具有周期性, 连续性和实时性。可以预见,针对于此环境下的数据广播调度技术必将是通信技术的发展 趋势,并将广泛的应用于金融、军事、汽车等诸多领域。
[0003] 现阶段,虽然国内外已经对实时数据广播技术进行了较为广泛的研究,但大多数 的研究不够深入,仅仅是将实时系统调度技术直接移植到实时数据广播环境中。显而易见, 这种做法虽然保证了数据的实时性,却忽视了在广播环境下的数据的共享性,从而导致了 调度结果往往差强人意。如何兼容数据的实时性与广播数据的共享性,这成为了研究的重 要课题。
[0004] 此外,在国内外,实时数据广播调度的研究都只是将截止期错失率作为衡量算法 好坏的唯一标准。对于在同样任务集合下执行的不同算法,现有的研究普遍认为截止期错 失率低的算法具有更好的表现。然而,这种衡量标准忽视了服务的稳定性。对于一次性查 询,截止期错失率可以作为算法好坏的衡量标准;但对于连续性查询,查询客户端希望获得 的是持续的服务,时有时无的查询反馈不会被认为是一个高质量的服务。所以,对于实时数 据广播调度算法而言,能否在保证查询任务实时性的前提下保证服务的持续性,也是衡量 其好坏的重要标准之一。只有服务的持续性得到保证,服务的质量才会得到提高。目前,在 国内外,对于广播环境下,周期、连续性实时任务查询的数据广播调度研究比较少,而能够 同时考虑到广播数据的共享性、任务的实时性,并能够保证服务的持续性的算法只有RM-U0 算法,其应用环境和算法特点归纳如下:
[0005]RM-U0 :有一个服务器和若干个通信设备,服务器与通信设备通过上传信道和唯一 的一条下载信道相互通信。通过上传信道,通信设备可随时向服务器发出数据查询请求,然 后监听下载信道,等待服务器的回应。作为服务器,其本身存储着供通信设备查询的数据信 息。在接收到来自通信设备的查询时,服务器组织、调度数据,在任务截止期前(周期结束 前)对查询做出答复(拒绝服务或广播其所需的全部数据)。RM-U0算法的主要优点在于 其兼容了广播数据的共享性和查询的实时性,并能够保证服务的持续性。但是,RM-U0算法 在数据调度方面仅仅是将Sr算法引入到了数据广播调度环境中,这致使任务的周期往往 被不必要的缩短,造成了数据广播的冗余,浪费了有限的广播带宽。进而。导致了服务率的 损失。在看到RM-UO算法缺陷的同时,我们可以预见,此研究领域仍然存在着很大的研究空 间。
[0006]目前,移动通信设备的广泛使用已成必然之势,今后必将有越来越多的人选择以 广播方式进行数据通信和数据查询。数据广播系统能否对广播带宽利用进行有效的利用, 直接影响了服务的质量和服务的规模。在相同环境下,为更多的查询提供更及时有效的服 务是现实应用的客观需要。因此,研究兼容任务实时性、广播数据共享性、服务持续性和带 宽利用高效性的数据广播调度算法,具有相当主要的实际意义。


【发明内容】

[0007] 针对现有技术的以上缺陷或改进需求,本发明提供了一种广播环境下支持周期连 续实时查询的广播调度算法,能够保证数据广播调度的任务实时性、广播数据共享性、服务 持续性和带宽利用高效性。
[0008] 为了实现上述目的,本发明提供了一种广播环境下支持周期连续实时查询的广播 调度算法,所述方法包括如下步骤:
[0009] (1)初步处理:将数据进行分类,从而获得原始任务集合,并将原始任务集合转化 为2谐波任务集合;
[0010] (2)MQM合并:对2谐波任务集合中相邻的任务进行合并,从而减小被合并任务对 广播带宽的总体消耗;
[0011] (3)MQM-U0调度:对执行MQM合并后所产生的所有2谐波任务进行调度,在每个单 位时间内选出此单位时间需要广播的数据,并进行广播。
[0012] 本发明的一个实施例中,所述步骤(2)具体包括:
[0013] (2. 1)同步遍历原始任务集合和2谐波任务集合,计算原始任务的Ni值,并计算出 任务的a值和0值;
[0014] (2. 2)根据任务a值和@值的关系,确定任务是否可以进行MQM合并;对于符合 MQM合并规则的任务,计算任务的y值和z值;
[0015] (2. 3)将可以进行MQM合并的连续任务集进行合并,合并后产生一个新的任务。
[0016] 本发明的一个实施例中,所述步骤(2. 1)具体包括:
[0017] (2. 1. 1)同步访问原始任务集合和2谐波任务集合的首个任务对;

【权利要求】
1. 一种广播环境下支持周期连续实时查询的广播调度算法,其特征在于,所述方法包 括如下步骤: (1) 初步处理:将数据进行分类,从而获得原始任务集合,并将原始任务集合转化为2 谐波任务集合; (2)MQM合并:对2谐波任务集合中相邻的任务进行合并,从而减小被合并任务对广播 带宽的总体消耗; (3)MQM-UO调度:对执行MQM合并后所产生的所有2谐波任务进行调度,在每个单位时 间内选出此单位时间需要广播的数据,并进行广播。
2. 如权利要求1所述的方法,其特征在于,所述步骤(2)具体包括: (2. 1)同步遍历原始任务集合和2谐波任务集合,计算原始任务的Ni值,并计算出任务 的α值和β值; (2.2)根据任务α值和β值的关系,确定任务是否可以进行MQM合并;对于符合MQM合并规则的任务,计算任务的y值和ζ值; (2. 3)将可以进行MQM合并的连续任务集进行合并,合并后产生一个新的任务。
3. 如权利要求2所述的方法,其特征在于,所述步骤(2. 1)具体包括: (2.I. 1)同步访问原始任务集合和2谐波任务集合的首个任务对; (2. 1. 2)记录此时所访问的任务对中原始任务的Ni值,所述Ni值为对应的2谐波任务 与此原始任务对应的2谐波任务周期相同,且在原始任务集合中不排在此任务前的原始任 务的数量; (2.L3)计算此原始任务的α值和β值,β= 2η,α=[^J,々=l_l〇g2 _!,其 中OT为原始任务的周期,HT为转化后的2谐波任务周期。
4. 如权利要求2或3所述的方法,其特征在于,所述步骤(2. 2)具体包括: (2.2. 1)如果此原始任务的α值大于β值,则计算此任务的y值和ζ值,其中 y=bgf,z=f,X为α与β的最大公约数,并记录此原始任务的y值和ζ值,进入 (2. 3);否则,直接进入(2.2. 2); (2. 2. 2)如果当前任务对为最后一对任务,MQM合并结束;否则,访问下一个任务对,返 回(2. 1. 2)。
5. 如权利要求2或3所述的方法,其特征在于,所述步骤(2. 2)具体包括: (2. 3. 1)假定在此时所访问任务对之后,还存在i个任务对;如果i〈z,令z=i;否则,ζ保持不变; IIT (2. 3. 2)合并此原始任务为首任务的ζ个连续任务,生成一个周期为jT的虚拟任务, 将此虚拟任务同时插入到原始任务集合和2谐波任务集合的前端,其中HT为此原始任务对 应的2谐波任务的周期;标记虚拟任务为MQM型任务,并记录生成此任务的所有任务所查询 的数据; (2. 3. 3)在原始任务集合和2谐波任务集合上同时删除以此时所访问任务对为首的ζ 个任务对; (2. 3. 4)如果新生成的虚拟任务对为最后一对任务,以周期由小到大的顺序排序原 始任务集合和2谐波任务集合中的任务,MQM合并结束;否则,访问下一个任务对,返回 (2. 1. 2)。
6. 如权利要求1或2所述的方法,其特征在于,所述步骤(3)具体包括: (3. 1)调用EDF算法调度2谐波任务集合,得到初步的调度表; (3. 2)在每个单位时间,根据调度表,选择此时刻应该执行的2谐波任务; (3. 3)判断任务的类型,所述任务类型为普通任务类型或MQM任务类型,针对不同类型 的任务,选择所需要的处理方式选择此时应该广播的数据并进行广播;广播后等待下一个 单位时间的到来;具体包括如下子步骤: (3. 3. 1)如果此任务为普通任务,直接广播任务所需数据; (3.3.2)如果此任务为MQM类型任务,以(2.3. 1)中记录的数据表为根据,轮流选择数 据表中的数据进行广播;广播后等待下一个单位时间,重复(3. 2)操作。
7. 如权利要求1所述的方法,其特征在于,所述步骤(1)具体包括如下子步骤: (1. 1)数据的分类:对于每个查询任务,将其所查询的所有数据在本任务中进行分类; 在此阶段,对于每个查询任务,其所查询的数据将被分为两类:共享型数据和独占型数据; (1. 2)生成原始任务集合:根据每个查询任务所查询的数据在任务中的分类,生成原 始任务集合; (1. 3)将原始任务集合转化为2谐波任务集合。
8. 如权利要求7所述的方法,其特征在于,所述步骤(1.1)具体包括如下子步骤: (1. 1. 1)按照周期由小到大的顺序将所有查询任务进行排序; (I. 1. 2)访问首个查询任务; (I. 1. 3)针对此时被访问的任务,访问其所查询的首个数据; (1. 1.4)如果此数据已被之前的某个任务所查询,则此数据在此时所访问的任务中为 共享型数据;否则,此数据在此时所访问的任务中为独占型数据; (1. 1.5)如果此时所访问的数据为此时所访问任务所查询的最后一个数据,进入 (1.1.6);否则,访问此时所访问任务所查询的下一个数据,返回(1.1.4); (1.1.6)如果此时所访问的任务为最后一个任务,进入(1.2);否则,访问集合中的下 一个任务,返回(I. 1. 3)。
9. 如权利要求7或8所述的方法,其特征在于,所述步骤(1. 2)具体包括如下子步骤: (1. 2. 1)访问首个查询任务; (1. 2. 2)针对被访问的任务,访问其所查询的首个数据; (1. 2. 3)如果此时所访问数据在此时所访问任务中为独占型任务,则生成一个新的原 始任务并将此原始任务加入原始任务集合,此任务的周期等于此时所访问的任务的周期, 任务所查询的数据为此时所访问数据; (1.2.4) 如果此时所访问数据为此时所访问任务所查询的最后一个数据,进入 (1.2.5);否则,访问此时所访问任务所查询的下一个数据,返回(1.2.3); (1.2.5) 如果此时所访问的任务为最后一个查询任务,进入(1.3);否则,访问下一个 查询任务,返回(1.2. 3)。
10.如权利要求7或8所述的方法,其特征在于,所述步骤(I. 3)具体包括如下子步骤: (1. 3. 1)假定第一个原始任务周期为Tl;如果存在其他的原始任务,将Tl记录到候选 数据集合中,访问原始任务集合中的第二个原始任务,进入(1.3.2);否则,令μ=T1,进入 (1. 3. 9); (1. 3. 2)假定此时所访问任务的周期为OT;将OT不断的除以2,直到所得到的商值映 射在数值范围(Tl/2,Tl]中,将此时的商值记录到候选数据集合中; (1.3.3) 如果此时所访问的原始任务为最后一个任务,进入(1.3.4);否则,访问下一 个原始任务,返回(1. 3. 2); (1.3.4) 获得候选数据集合中的第一个数据值,ζ; (1.3.5) 针对原始任务集合中的每一个原始任务,记其周期为0Τ,计算其在ζ为特殊 值时所对应的的2谐波任务的周期HT;其中,HT必为ζ乘以2的整数次方且HT必须满足 条件 0T/2〈HT<OT; (1.3.6) 如果λ尚未赋值,计算在当前ζ下广播带宽开销,A= 令γ=λ, III μ=ζ,进入(I. 3. 8);否则,Y设定为无穷大,进入(I. 3. 7); (1.3.7) 计算在当前ζ下的广播带宽开销,1 = 如果λ〈γ,令γ=λ,μ= ζ;否则,保持λ和μ的值不变; (1.3.8) 如果候选数据集合中存在下一候选值,令ζ等于下一个候选值,返回 (1.3. 5);否则,进入(1.3. 9); (1.3.9) 根据当前的μ值,针对每一个原始任务,计算出其在ζ=μ下所对应的2谐 波任务周期HT并生成一个2谐波任务,加入2谐波任务集合。
【文档编号】H04L12/18GK104468143SQ201410603413
【公开日】2015年3月25日 申请日期:2014年10月30日 优先权日:2014年10月30日
【发明者】李贽, 周全, 李剑军 申请人:武汉市武钢三中, 华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1