一种支持连续周期性查询的动态优先级广播调度方法

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

【发明内容】

[0007] 本发明提供了一种支持连续周期性查询的广播调度方法,其能够在保证广播数据 共享性,任务实时性和广播服务稳定性的同时,保证广播带宽利用的高效性。需要说明的 是,本发明所提供的广播调度方法是一种非固定优先级广播调度方法,其可以很大程度上 提高广播系统的服务规模,在同等条件下,让更多的广播查询任务可以同时获得服务并顺 利完成。
[0008] 为了实现上述目的,本发明提供了一种广播环境下支持周期连续性实时查询的非 固定优先级广播调度方法,所述方法包括如下步骤:
[0009] (1)数据项分类与初始任务集合生成处理:将数据进行分类(分为通用数据和私 有数据),从而生成初始任务集合(由通用任务和私有任务构成);
[0010] (2)通用任务调度处理:调用Sr算法将通用任务集合转化为一个初始2谐波任务 集合,然后,根据初始2谐波任务集合生成一个虚拟任务,并生成最终2谐波任务集合,最 后,用EDF算法调度最终2谐波任务集合,从而生成通用任务调度表;
[0011] (3)私有任务调度处理:将虚拟任务插入私有任务集合,调度插入虚拟任务后的 任务集合,从而获得私有任务调度表;
[0012] (4)总体调度处理:根据通用任务调度表和私有任务调度表,在每个单位时间内 选出此单位时间需要广播的数据,并进行广播。
[0013] 本发明的一个实施例中,所述步骤(1)具体包括:
[0014] (1. 1)收集所有被广播任务所查询的数据项,从而获得一个数据项集合,并将此数 据项集合中的数据进行分类(分为通用数据和私有数据);
[0015] (1. 2)根据广播查询任务的属性和(1. 1)所获得的数据项集合,生成一个初始任 务集合,然后,根据数据项的分类结果,将初始任务集合中的任务进行划分(分为通用任务 和私有任务),从而得到通用任务集合和私有任务集合;
[0016] 本发明的一个实施例中,所述步骤(1. 1)具体包括:
[0017] (1. 1. 1)访问所有广播查询任务,获得所有被查询的广播数据,从而得到数据项集 合;
[0018] (1. 1.2)对于数据项集合中的每一个数据项,统计查询此数据项的所有任务的 周期,如果统计结果的值不唯一,且最短的两个任务周期(A与B,将设A〈B)满足等式: A〈B〈2A,则此数据项为私有数据,否则,此数据项为通用数据。
[0019] 本发明的一个实施例中,所述步骤(1. 2)具体包括:
[0020] (1. 2. 1)对于每一个(1. 1. 1)所获得的数据项,找到查询此数据项的周期最短的 任务,并生成一个周期与此任务相等且只查询此数据项的初始任务,所有此步所生成的初 始任务构成初始任务集合;
[0021] (1. 2. 2)对于初始任务集合中的每一个任务,如果此任务所查询的数据项是个通 用数据,那么此任务为一个通用任务,否则,此任务为一个私有任务,所有私有任务构成私 有任务集合,所有通用任务构成通用任务集合。
[0022] 本发明的一个实施例中,所述步骤(2)具体包括:
[0023] (2. 1)调用Sr算法将通用任务集合转化为一个初始2谐波任务集合;
[0024] (2. 2)根据初始2谐波任务集合生成一个虚拟任务;
[0025] (2. 3)根据虚拟任务,生成最终2谐波任务集合;
[0026] (2. 4)调用EDF算法调度最终2谐波任务集合,从而生成通用任务调度表。
[0027] 本发明的一个实施例中,所述步骤(2. 2)具体包括:
[0028] (2. 2. 1)根据(2. 1)所生成的初始2谐波任务集合,计算此集合中的所有任务所需 要的总体带宽(设为1/A)。
[0029] (2. 2. 2)生成一个周期为A,所查询数据为虚拟数据(实际为所有通用数据)的虚 拟任务。
[0030] 本发明的一个实施例中,所述步骤(2. 3)具体包括如下子步骤:
[0031] (2. 3. 1)遍历(2. 1)所生成的初始2谐波任务集合,对于每一个初始的2谐波任务 (假设周期为T),生成一个周期等于T/A的新的任务,其中A为(2. 2)中所生成的虚拟任务 的周期;
[0032] (2. 3. 2)所有新生成的任务构成最终2谐波任务集合。
[0033] 本发明的一个实施例中,所述步骤(3)具体包括如下子步骤:
[0034] (3. 1)将(2. 2)所生成的虚拟任务插入私有任务集合;
[0035] (3. 2)调度插入虚拟任务后的任务集合,从而获得私有任务调度表。
[0036] 本发明的一个实施例中,所述步骤(3. 2)具体包括如下子步骤:
[0037] (3. 2. 1)将特殊任务赋予最高优先级;
[0038] (3. 2. 2)在(3. 2. 1)的基础上,对最终私有任务集合执行EDF调度,从而获得
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1