CN104468143A - 一种广播环境下支持周期连续实时查询的广播调度算法 - Google Patents
一种广播环境下支持周期连续实时查询的广播调度算法 Download PDFInfo
- Publication number
- CN104468143A CN104468143A CN201410603413.9A CN201410603413A CN104468143A CN 104468143 A CN104468143 A CN 104468143A CN 201410603413 A CN201410603413 A CN 201410603413A CN 104468143 A CN104468143 A CN 104468143A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- ancestral
- tasks
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种广播环境下,针对周期、连续性实时任务查询的数据调度算法,结合带宽有效使用的基本要求,对原有的调度算法进行改进和扩展,在一定程度上遏制了带宽的浪费,并保证了任务的实时性要求。其主要步骤包括:初步处理、可合并查询合并(Mergable Queries Merging,MQM)和可合并查询合并后的独占型数据(Mergable Queries Merging-Unique Data Only,MQM-UO)调度算法。通过这些算法,服务器可以更有效的利用广播带宽,更及时、有效地为查询任务提供服务。本发明中所提出的调度算法与其他的广播调度算法相比,同时考虑了广播数据的共享性,任务的实时性,服务的持续性以及带宽利用的高效性。
Description
技术领域
本发明属于实时数据广播调度技术领域,更具体地,涉及一种广播环境下支持周期连续实时查询的广播调度算法。
背景技术
随着无线通信技术的发展和便携式通信设备的广泛使用,数据广播已经成为一种流行的数据通讯方式,人们可以随时随地的应用无线网络和便携式通信设备查询其所需要的各种数据信息。然而,在现实环境中,数据可能经常的发生改变(如股票的价格,移动中汽车的位置),查询任务也可能具有不同的急迫性,从而导致了查询任务往往具有各自不同的任务周期。为了保证查询任务的顺利完成,服务器需要在任务的每个周期内至少广播一次其所查询的所有数据。也就是说,在实际的应用环境中,查询任务往往同时具有周期性,连续性和实时性。可以预见,针对于此环境下的数据广播调度技术必将是通信技术的发展趋势,并将广泛的应用于金融、军事、汽车等诸多领域。
现阶段,虽然国内外已经对实时数据广播技术进行了较为广泛的研究,但大多数的研究不够深入,仅仅是将实时系统调度技术直接移植到实时数据广播环境中。显而易见,这种做法虽然保证了数据的实时性,却忽视了在广播环境下的数据的共享性,从而导致了调度结果往往差强人意。如何兼容数据的实时性与广播数据的共享性,这成为了研究的重要课题。
此外,在国内外,实时数据广播调度的研究都只是将截止期错失率作为衡量算法好坏的唯一标准。对于在同样任务集合下执行的不同算法,现有的研究普遍认为截止期错失率低的算法具有更好的表现。然而,这种衡量标准忽视了服务的稳定性。对于一次性查询,截止期错失率可以作为算法好坏的衡量标准;但对于连续性查询,查询客户端希望获得的是持续的服务,时有时无的查询反馈不会被认为是一个高质量的服务。所以,对于实时数据广播调度算法而言,能否在保证查询任务实时性的前提下保证服务的持续性,也是衡量其好坏的重要标准之一。只有服务的持续性得到保证,服务的质量才会得到提高。目前,在国内外,对于广播环境下,周期、连续性实时任务查询的数据广播调度研究比较少,而能够同时考虑到广播数据的共享性、任务的实时性,并能够保证服务的持续性的算法只有RM-UO算法,其应用环境和算法特点归纳如下:
RM-UO:有一个服务器和若干个通信设备,服务器与通信设备通过上传信道和唯一的一条下载信道相互通信。通过上传信道,通信设备可随时向服务器发出数据查询请求,然后监听下载信道,等待服务器的回应。作为服务器,其本身存储着供通信设备查询的数据信息。在接收到来自通信设备的查询时,服务器组织、调度数据,在任务截止期前(周期结束前)对查询做出答复(拒绝服务或广播其所需的全部数据)。RM-UO算法的主要优点在于其兼容了广播数据的共享性和查询的实时性,并能够保证服务的持续性。但是,RM-UO算法在数据调度方面仅仅是将Sr算法引入到了数据广播调度环境中,这致使任务的周期往往被不必要的缩短,造成了数据广播的冗余,浪费了有限的广播带宽。进而。导致了服务率的损失。在看到RM-UO算法缺陷的同时,我们可以预见,此研究领域仍然存在着很大的研究空间。
目前,移动通信设备的广泛使用已成必然之势,今后必将有越来越多的人选择以广播方式进行数据通信和数据查询。数据广播系统能否对广播带宽利用进行有效的利用,直接影响了服务的质量和服务的规模。在相同环境下,为更多的查询提供更及时有效的服务是现实应用的客观需要。因此,研究兼容任务实时性、广播数据共享性、服务持续性和带宽利用高效性的数据广播调度算法,具有相当主要的实际意义。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种广播环境下支持周期连续实时查询的广播调度算法,能够保证数据广播调度的任务实时性、广播数据共享性、服务持续性和带宽利用高效性。
为了实现上述目的,本发明提供了一种广播环境下支持周期连续实时查询的广播调度算法,所述方法包括如下步骤:
(1)初步处理:将数据进行分类,从而获得原始任务集合,并将原始任务集合转化为2谐波任务集合;
(2)MQM合并:对2谐波任务集合中相邻的任务进行合并,从而减小被合并任务对广播带宽的总体消耗;
(3)MQM-UO调度:对执行MQM合并后所产生的所有2谐波任务进行调度,在每个单位时间内选出此单位时间需要广播的数据,并进行广播。
本发明的一个实施例中,所述步骤(2)具体包括:
(2.1)同步遍历原始任务集合和2谐波任务集合,计算原始任务的Ni值,并计算出任务的α值和β值;
(2.2)根据任务α值和β值的关系,确定任务是否可以进行MQM合并;对于符合MQM合并规则的任务,计算任务的y值和z值;
(2.3)将可以进行MQM合并的连续任务集进行合并,合并后产生一个新的任务。
本发明的一个实施例中,所述步骤(2.1)具体包括:
(2.1.1)同步访问原始任务集合和2谐波任务集合的首个任务对;
(2.1.2)记录此时所访问的任务对中原始任务的Ni值,所述Ni值为对应的2谐波任务与此原始任务对应的2谐波任务周期相同,且在原始任务集合中不排在此任务前的原始任务的数量;
(2.1.3)计算此原始任务的α值和β值,β=2η,其中T为原始任务的周期,HT为转化后的2谐波任务周期。
本发明的一个实施例中,所述步骤(2.2)具体包括:
(2.2.1)如果此原始任务的α值大于β值,则计算此任务的y值和z值,其中x为α与β的最大公约数,并记录此原始任务的y值和z值,进入(2.3);否则,直接进入(2.2.2);
(2.2.2)如果当前任务对为最后一对任务,MQM合并结束;否则,访问下一个任务对,返回(2.1.2)。
本发明的一个实施例中,所述步骤(2.2)具体包括:
(2.3.1)假定在此时所访问任务对之后,还存在i个任务对;如果i<z,令z=i;
(2.3.2)合并此原始任务为首任务的z个连续任务,生成一个周期为的虚拟任务,将此虚拟任务同时插入到原始任务集合和2谐波任务集合的前端,其中HT为此原始任务对应的2谐波任务的周期;标记虚拟任务为MQM型任务,并记录生成此任务的所有任务所查询的数据;
(2.3.3)在原始任务集合和2谐波任务集合上同时删除以此时所访问任务对为首的z个任务对;
(2.3.4)如果新生成的虚拟任务对为最后一对任务,以周期由小到大的顺序排序原始任务集合和2谐波任务集合中的任务,MQM合并结束;否则,访问下一个任务对,返回(2.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)操作。
本发明的一个实施例中,所述步骤(1)具体包括如下子步骤:
(1.1)数据的分类:对于每个查询任务,将其所查询的所有数据在本任务中进行分类;在此阶段,对于每个查询任务,其所查询的数据将被分为两类:共享型数据和独占型数据;
(1.2)生成原始任务集合:根据每个查询任务所查询的数据在任务中的分类,生成原始任务集合;
(1.3)将原始任务集合转化为2谐波任务集合;
本发明的一个实施例中,所述步骤(1.1)具体包括如下子步骤:
(1.1.1)按照周期由小到大的顺序将所有查询任务进行排序;
(1.1.2)访问首个查询任务;
(1.1.3)针对此时被访问的任务,访问其所查询的首个数据;
(1.1.4)如果此数据已被之前的某个任务所查询,则此数据在此时所访问的任务中为共享型数据;否则,此数据在此时所访问的任务中为独占型数据;
(1.1.5)如果此时所访问的数据为此时所访问任务所查询的最后一个数据,进入(1.1.6);否则,访问此时所访问任务所查询的下一个数据,返回(1.1.4);
(1.1.6)如果此时所访问的任务为最后一个任务,进入(1.2);否则,访问集合中的下一个任务,返回(1.1.3)。
本发明的一个实施例中,所述步骤(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)。
本发明的一个实施例中,所述步骤(1.3)具体包括如下子步骤:
(1.3.1)假定第一个原始任务周期为T1;如果存在其他的原始任务,将T1记录到候选数据集合中,访问原始任务集合中的第二个原始任务,进入(1.3.2);否则,令μ=T1,进入(1.3.9);
(1.3.2)假定此时所访问任务的周期为OT;将OT不断的除以2,直到所得到的商值映射在数值范围(T1/2,T1]中,将此时的商值记录到候选数据集合中;
(1.3.3)如果此时所访问的原始任务为最后一个任务,进入(1.3.4);否则,访问下一个原始任务,返回(1.3.2);
(1.3.4)获得候选数据集合中的第一个数据值,ζ;
(1.3.5)针对原始任务集合中的每一个原始任务(假定其周期为OT),计算其在ζ为特殊值时所对应的的2谐波任务的周期HT;其中,HT必为ζ乘以2的整数次方且HT必须满足条件OT/2<HT≤OT;
(1.3.6)如果λ尚未赋值,计算在当前ζ下广播带宽开销,令γ=λ,μ=ζ,进入(1.3.8);否则,γ设定为无穷大,进入(1.3.7);
(1.3.7)计算在当前ζ下的广播带宽开销,如果λ<γ,令γ=λ,μ=ζ;否则,保持λ和μ的值不变;
(1.3.8)如果候选数据集合中存在下一候选值,令ζ等于下一个候选值,返回(1.3.5);否则,进入(1.3.9);
(1.3.9)根据当前的μ值,针对每一个原始任务,计算出其在ζ=μ下所对应的2谐波任务周期HT并生成一个2谐波任务,加入2谐波任务集合。
通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
(1)与已有的实时数据广播技术相比,本发明是基于RM-UO广播调度算法的扩展,在原有的广播调度算法的基础上综合了广播带宽有效利用当面的考虑。这样做的好处是:在已有广播调度算法的基础上进行扩展,开发周期短、开发难度小;以与原有技术相同的应用环境为研究模型,保证了本发明可以应用于所有以传统RM-UO算法为调度依据的广播系统之中。
(2)本发明针对传统算法中,有些任务的周期被无必要缩短的缺陷进行改进,并提出相应的调度算法。改进所采用的方法为:合并多个任务为一个虚拟任务,服务虚拟任务所需要的广播带宽小于服务被合并任务所需要的总体带宽。其合并的规则为本发明所提出的MQM合并规则,合并的处理过程被称之为MQM合并。同时,针对合并后所产生的2谐波任务集合,本发明提出了MQM-UO调度算法进行任务的调度,并在每一个单位时间选出此时所需要广播的数据进行广播。利用MQM合并规则和MQM-UO调度算法的广播系统,可以更好的利用广播带宽,为更多的查询提供并行的服务。
(3)本发明所采用的MQM合并和MQM-UO调度技术实现简单,易于操作。另外,与传统算法相比,本发明提出的算法在减少了广播带宽浪费的同时,并没有对算法的时间复杂度产生不利的影响,保证了广播系统的服务效率。
总而言之,本发明实现的数据广播调度算法,综合考虑了广播数据的共享性、任务的实时性、服务的持续性和带宽使用的高效性。改进后的数据广播系统在更大程度上满足了用户查询数据的需求,使更多的用户可以并行的获得及时、有效的服务。
附图说明
图1为本发明数据广播调度算法的总流程图;
图2为本发明方法中初步处理流程图;
图3为本发明方法中MQM合并流程图;
图4为本发明方法中MQM-UO调度流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。现作解释如下:
本发明方法适用于广播环境下,对于周期、连续性实时查询任务的广播调度处理。方法综合考虑了广播数据的共享性、任务的实时性、服务的持续性和带宽使用的高效性。本发明所提出的方法由初步处理、MQM合并和MQM-UO调度构成。其中初步处理是基础,包括数据的划分,原始任务的生成和任务的2谐波转化,最终产生一个原始任务集合和一个2谐波任务集合。而MQM合并和MQM-UO调度是对传统调度技术的改进和扩展,体现了本发明所提出技术的技术优势。
下面,具体介绍本发明所提出的算法,如图1所示,所述方法包括如下步骤:
(1)初步处理
将数据进行分类,从而获得原始任务集合,并将原始任务集合转化为2谐波任务集合。原始任务集合和转化后所获得的2谐波任务集合构成后续算法的数据依据。如图2所示,所述对数据进行初步处理包括如下子步骤:
(1.1)数据的分类
对于每个查询任务,将其所查询的所有数据在本任务中进行分类。在此阶段,对于每个查询任务,其所查询的数据将被分为两类:共享型数据和独占型数据。分类处理执行步骤如下:
(1.1.1)按照周期由小到大的顺序将所有查询任务进行排序。
(1.1.2)访问首个查询任务。
(1.1.3)针对此时被访问的任务,访问其所查询的首个数据。
(1.1.4)如果此数据已被之前的某个任务所查询,则此数据在此时所访问的任务中为共享型数据;否则,此数据在此时所访问的任务中为独占型数据。
(1.1.5)如果此时所访问的数据为此时所访问任务所查询的最后一个数据,进入(1.1.6);否则,访问此时所访问任务所查询的下一个数据,返回(1.1.4)。
(1.1.6)如果此时所访问的任务为最后一个任务,进入(1.2);否则,访问集合中的下一个任务,返回(1.1.3)。
(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)。
(1.3)将原始任务集合转化为2谐波任务集合
此过程调用Sr算法完成。在转化过程中,算法尽可能的抑制总体所需带宽的增加,同时,保证所有任务的周期呈现2谐波关系。也就是说,转化后的任务集合中的任意两个任务,其周期之比一定是2的n次方(n为整数)。
(1.3.1)假定第一个原始任务周期为T。如果存在其他的原始任务,将T记录到候选数据集合中,访问原始任务集合中的第二个原始任务,进入(1.3.2);否则,令μ=T1,进入(1.3.9)。
(1.3.2)假定此时所访问任务的周期为HT。将HT不断的除以2,直到所得到的商值映射在数值范围(T1/2,T1]中,将此时的商值记录到候选数据集合中。
(1.3.3)如果此时所访问的原始任务为最后一个任务,进入(1.3.4);否则,访问下一个原始任务,返回(1.3.2)。
(1.3.4)获得候选数据集合中的第一个数据值,ζ。
(1.3.5)针对原始任务集合中的每一个原始任务(假定其周期为OT),计算其在ζ为特殊值时所对应的的2谐波任务的周期HT。其中,HT必为ζ乘以2的整数次方且HT必须满足条件OT/2<HT≤OT。
(1.3.6)如果λ尚未赋值,计算在当前ζ下广播带宽开销,令γ=λ,μ=ζ,进入(1.3.8);否则,γ设定为无穷大,进入(1.3.7)。
(1.3.7)计算在当前ζ下的广播带宽开销,如果λ<γ,令γ=λ,μ=ζ;否则,保持λ和μ的值不变。
(1.3.8)如果候选数据集合中存在下一候选值,令ζ等于下一个候选值,返回(1.3.5);否则,进入(1.3.9)。
(1.3.9)根据当前的μ值,针对每一个原始任务,计算出其在ζ=μ下所对应的2谐波任务周期HT并生成一个2谐波任务,加入2谐波任务集合。
(2)MQM合并
对某几个相邻的任务进行合并,从而减小被合并任务对广播带宽的总体消耗。这意味着,在同等带宽的情况下,使用本发明的广播系统,可以同时为更多的任务进行服务。
MQM合并的根据是本发明所提出的MQM规则,利用此规则,系统可以找到可以进行MQM合并的首个原始任务,然后根据本发明提出的计算公式确定合并的区间。在执行过一次合并后,系统继续查找下一个可以进行MQM合并的任务,直到原始任务集合中没有符合MQM合并规则可合并的任务为止。实质上,传统算法将所有任务的周期进行了转化,从而产生了任务周期上的压缩。而MQM合并是将连续的几个被压缩的任务进行周期上的扩大。由于任务所要求的带宽与任务的周期成反比,所以,MQM合并能够达到减少总体带宽使用的效果。
本步骤中,MQM合并的依据是每个任务对中原始任务周期和2谐波任务周期之间的数值关系。根据两个任务数值间的关系,确定此任务对中的原始任务可否进行MQM合并,并确定合并的区间。如图3所示,所述MQM合并具体包括如下子步骤:
(2.1)同步遍历原始任务集合和2谐波任务集合,计算原始任务的Ni值,并计算出任务的α值和β值。
(2.1.1)同步访问原始任务集合和2谐波任务集合的首个任务对。
(2.1.2)记录此时所访问的任务对中原始任务的Ni值(对应的2谐波任务与此原始任务对应的2谐波任务周期相同,且在原始任务集合中不排在此任务前的原始任务的数量)。
(2.1.3)计算此原始任务的α值和β值。假设原始任务的周期为T,转化后的2谐波任务周期为HT,则,β=2η,
(2.2)根据任务α值和β值的关系,确定任务是否可以进行MQM合并。对于符合MQM合并规则的任务,计算任务的y值和z值。
(2.2.1)如果此原始任务的α值大于β值,则计算此任务的y值和z值(其中,x为α与β的最大公约数)并记录此原始任务的y值和z值,进入(2.3);否则,直接进入(2.2.2)。
(2.2.2)如果当前任务对为最后一对任务,MQM合并结束;否则,访问下一个任务对,返回(2.1.2)。
(2.3)将可以进行MQM合并的连续任务集进行合并,合并后产生一个新的任务。
(2.3.1)假定在此时所访问任务对之后,还存在i个任务对。如果i<z,令z=i。
(2.3.2)合并此原始任务为首任务的z个连续任务,生成一个周期为的虚拟任务,将此虚拟任务同时插入到原始任务集合和2谐波任务集合的前端,其中HT为此原始任务对应的2谐波任务的周期。标记虚拟任务为MQM型任务,并记录生成此任务的所有任务所查询的数据。
(2.3.3)在原始任务集合和2谐波任务集合上同时删除以此时所访问任务对为首的z个任务对。
(2.3.4)如果新生成的虚拟任务对为最后一对任务,以周期由小到大的顺序排序原始任务集合和2谐波任务集合中的任务,MQM合并结束;否则,访问下一个任务对,返回(2.1.2)。
(3)MQM-UO调度
MQM-UO调度是MQM合并的支撑。采用MQM合并进行处理后的任务集合,需要使用MQM-UO技术进行调度。从而,真正实现在保证任务的实时性的同时,节约广播带宽的目的。在具体应用中,MQM合并技术和MQM-UO调度技术需要绑定执行。
MQM-UO调度技术实质上是在每个单位时间,对要广播数据的选择过程。广播系统需要在每个单位时间执行一次MQM-UO调度算法中的数据选择处理程序,选出此单位时间需要广播的数据,并进行广播。
本步骤是镇对执行MQM合并规则后所产生的所有2谐波任务的调度算法。MQM-UO调度算法在满足任务的时间约束性的同时,确保了广播带宽的有效利用。如图4所示,所述MQM-UO调度具体包括如下子步骤:
(3.1)调用EDF算法调度2谐波任务集合,得到初步的调度表。
调用EDF算法对2谐波任务集合中的任务进行调度,得到任务的调度表。此调度表是MQM-UO调度的数据依据,接下来的工作将在每一个单位时间执行。
(3.2)在每个单位时间,根据调度表,选择此时刻应该执行的2谐波任务。
(3.3)判断任务的类型(普通任务类型或MQM任务类型)。针对不同类型的任务,选择所需要的处理方式选择此时应该广播的数据并进行广播。广播后等待下一个单位时间的到来。
(3.3.1)如果此任务为普通任务,直接广播任务所需数据。
(3.3.2)如果此任务为MQM类型任务,以(2.3.1)中记录的数据表为根据,轮流的选择数据表中的数据进行广播。广播后等待下一个单位时间,重复(3.2)操作。
下面举例说明广播环境下,针对周期、连续性实时任务查询的数据调度算法的功能。
假设在有四个查询任务,周期分别为4、5、6,8个广播时间单位。任务1查询数据A,任务2查询数据A和B,任务3要求数据B,C和D。任务4需要数据E。首先,按照(1.1)中所阐述的方法,将数据进行分类。分类结果为任务1中包含独占性数据A;任务2包含共享型数据A和独占型数据B;任务3包含共享型数据B和独占型数据C、D;任务4包含独占型数据E。接下来,根据(1.2),我们生成原始任务集合{τ1,τ2,τ3,τ4,τ5},其对应周期为{4,5,6,6,8},所需数据为{A,B,C,D,E}。然后,根据(1.3),我们得到候选数据集合{4,2.5,3,3,4}。接下来,依次将表中数据作为ζ值,计算每个原始任务在此ζ值下所对应的2谐波周期和所占带宽。例如,当ζ=4时,原始任务集合中的任务在ζ值下所对应的2谐波周期分别为{4,4,4,4,8},带宽为根据(1.3.6)和(1.3.7),最后选定μ=4。于是,在(1.3.9)生成2谐波任务集合{τ1*,τ2*,τ3*,τ4*,τ5*},其对应周期为{4,4,4,4,8}。至此,初步处理结束,进入MQM合并阶段。在此阶段,首先访问第一个任务对{τ1,τ1*},得到τ1的Ni值为4。根据(2.1.3),得到其α=4,β=4。由于α=β且其不是最后一对任务,访问下一任务对{τ2,τ2*}。得到τ2的Ni值为3,进一步得到τ2的α=2,β=2。由于α=β且其不是最后一对任务,访问下一任务对{τ3,τ3*}。得到τ3的Ni值为2,α=3,β=2。因为α>β,根据(2.2.1),得到y=1,z=3。在(2.3)中,合并以τ3为首的连续的z(z=3)个任务τ3、τ4和τ5,生成一个周期等于2的虚拟任务τ3’,(2.3.2)。然后,记录τ3、τ4、τ5所需的数据C、D、E,将生成的任务插入原始任务集合和2谐波任务集合的最前端,删除τ3、τ4、τ5和τ3*、τ4*、τ5*。最后,以周期由小到大的顺排序原始任务集合和2谐波任务集合中的任务。至此MQM合并技术,得到最终2谐波任务集合{τ3’,τ1*,τ2*},其任务周期为{2,4,4}。
在调度阶段,首先调用EDF算法,得到调度表:{τ3’,τ1*,τ3’,τ2*}。然后在广播的每一时刻t,得到此时所应执行的任务。如果此时所应执行的任务为τ1*,广播数据A;如果此时所应执行的任务为τ2*,广播数据B;如果此时所应执行的任务为τ3’,则以C、D、E的循环顺序依次选择下一个数据进行广播。实际数据广播周期表为:
C,A,D,B,E,A,C,B,D,A,E,B。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种广播环境下支持周期连续实时查询的广播调度算法,其特征在于,所述方法包括如下步骤:
(1)初步处理:将数据进行分类,从而获得原始任务集合,并将原始任务集合转化为2谐波任务集合;
(2)MQM合并:对2谐波任务集合中相邻的任务进行合并,从而减小被合并任务对广播带宽的总体消耗;
(3)MQM-UO调度:对执行MQM合并后所产生的所有2谐波任务进行调度,在每个单位时间内选出此单位时间需要广播的数据,并进行广播。
2.如权利要求1所述的方法,其特征在于,所述步骤(2)具体包括:
(2.1)同步遍历原始任务集合和2谐波任务集合,计算原始任务的Ni值,并计算出任务的α值和β值;
(2.2)根据任务α值和β值的关系,确定任务是否可以进行MQM合并;对于符合MQM合并规则的任务,计算任务的y值和z值;
(2.3)将可以进行MQM合并的连续任务集进行合并,合并后产生一个新的任务。
3.如权利要求2所述的方法,其特征在于,所述步骤(2.1)具体包括:
(2.1.1)同步访问原始任务集合和2谐波任务集合的首个任务对;
(2.1.2)记录此时所访问的任务对中原始任务的Ni值,所述Ni值为对应的2谐波任务与此原始任务对应的2谐波任务周期相同,且在原始任务集合中不排在此任务前的原始任务的数量;
(2.1.3)计算此原始任务的α值和β值,β=2η, 其中OT为原始任务的周期,HT为转化后的2谐波任务周 期。
4.如权利要求2或3所述的方法,其特征在于,所述步骤(2.2)具体包括:
(2.2.1)如果此原始任务的α值大于β值,则计算此任务的y值和z值,其中x为α与β的最大公约数,并记录此原始任务的y值和z值,进入(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;否则,z保持不变;
(2.3.2)合并此原始任务为首任务的z个连续任务,生成一个周期为的虚拟任务,将此虚拟任务同时插入到原始任务集合和2谐波任务集合的前端,其中HT为此原始任务对应的2谐波任务的周期;标记虚拟任务为MQM型任务,并记录生成此任务的所有任务所查询的数据;
(2.3.3)在原始任务集合和2谐波任务集合上同时删除以此时所访问任务对为首的z个任务对;
(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)按照周期由小到大的顺序将所有查询任务进行排序;
(1.1.2)访问首个查询任务;
(1.1.3)针对此时被访问的任务,访问其所查询的首个数据;
(1.1.4)如果此数据已被之前的某个任务所查询,则此数据在此时所访问的任务中为共享型数据;否则,此数据在此时所访问的任务中为独占型数据;
(1.1.5)如果此时所访问的数据为此时所访问任务所查询的最后一个数据,进入(1.1.6);否则,访问此时所访问任务所查询的下一个数据,返回(1.1.4);
(1.1.6)如果此时所访问的任务为最后一个任务,进入(1.2);否则,访问集合中的下一个任务,返回(1.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所述的方法,其特征在于,所述步骤(1.3)具体包括如下子步骤:
(1.3.1)假定第一个原始任务周期为T1;如果存在其他的原始任务,将T1记录到候选数据集合中,访问原始任务集合中的第二个原始任务,进入(1.3.2);否则,令μ=T1,进入(1.3.9);
(1.3.2)假定此时所访问任务的周期为OT;将OT不断的除以2,直到所得到的商值映射在数值范围(T1/2,T1]中,将此时的商值记录到候选数据集合中;
(1.3.3)如果此时所访问的原始任务为最后一个任务,进入(1.3.4); 否则,访问下一个原始任务,返回(1.3.2);
(1.3.4)获得候选数据集合中的第一个数据值,ζ;
(1.3.5)针对原始任务集合中的每一个原始任务,记其周期为OT,计算其在ζ为特殊值时所对应的的2谐波任务的周期HT;其中,HT必为ζ乘以2的整数次方且HT必须满足条件OT/2<HT≤OT;
(1.3.6)如果λ尚未赋值,计算在当前ζ下广播带宽开销,令γ=λ,μ=ζ,进入(1.3.8);否则,γ设定为无穷大,进入(1.3.7);
(1.3.7)计算在当前ζ下的广播带宽开销,如果λ<γ,令γ=λ,μ=ζ;否则,保持λ和μ的值不变;
(1.3.8)如果候选数据集合中存在下一候选值,令ζ等于下一个候选值,返回(1.3.5);否则,进入(1.3.9);
(1.3.9)根据当前的μ值,针对每一个原始任务,计算出其在ζ=μ下所对应的2谐波任务周期HT并生成一个2谐波任务,加入2谐波任务集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410603413.9A CN104468143B (zh) | 2014-10-30 | 2014-10-30 | 一种广播环境下支持周期连续实时查询的广播调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410603413.9A CN104468143B (zh) | 2014-10-30 | 2014-10-30 | 一种广播环境下支持周期连续实时查询的广播调度算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468143A true CN104468143A (zh) | 2015-03-25 |
CN104468143B CN104468143B (zh) | 2015-08-26 |
Family
ID=52913572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410603413.9A Expired - Fee Related CN104468143B (zh) | 2014-10-30 | 2014-10-30 | 一种广播环境下支持周期连续实时查询的广播调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468143B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183964A (zh) * | 2007-12-13 | 2008-05-21 | 复旦大学 | 一种点播模式下的多数据项无线数据广播调度方法 |
WO2008105568A1 (en) * | 2007-02-28 | 2008-09-04 | University Of Seoul Foundation Of Industry Academic Cooperation | Scheduling method of digital broadcasting service |
CN102857875A (zh) * | 2012-10-12 | 2013-01-02 | 山东省科学院自动化研究所 | 移动计算环境中面向混合广播的多数据项广播调度方法 |
CN103036806A (zh) * | 2012-10-30 | 2013-04-10 | 武汉大学 | 一种基于动态索引的按需数据广播调度方法 |
-
2014
- 2014-10-30 CN CN201410603413.9A patent/CN104468143B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008105568A1 (en) * | 2007-02-28 | 2008-09-04 | University Of Seoul Foundation Of Industry Academic Cooperation | Scheduling method of digital broadcasting service |
CN101183964A (zh) * | 2007-12-13 | 2008-05-21 | 复旦大学 | 一种点播模式下的多数据项无线数据广播调度方法 |
CN102857875A (zh) * | 2012-10-12 | 2013-01-02 | 山东省科学院自动化研究所 | 移动计算环境中面向混合广播的多数据项广播调度方法 |
CN103036806A (zh) * | 2012-10-30 | 2013-04-10 | 武汉大学 | 一种基于动态索引的按需数据广播调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104468143B (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876856B2 (en) | Method for computational-power sharing and related device | |
CN101694665B (zh) | 一种异构数据源数据查询方法及装置 | |
CN101764831B (zh) | 一种流媒体数据共享方法、共享系统和流媒体节点 | |
Cao et al. | Optimal radio resource allocation for mobile task offloading in cellular networks | |
Lv et al. | Profit-based scheduling and channel allocation for multi-item requests in real-time on-demand data broadcast systems | |
CN102665282B (zh) | 无线异构网络多用户并行传输资源的分配方法 | |
CN109510714A (zh) | 即时通讯中的会议邀请方法、资源分配方法及装置 | |
CN102185801A (zh) | 一种即时通讯中的信息处理方法和即时通讯工具 | |
Liu et al. | On-demand broadcast for multiple-item requests in a multiple-channel environment | |
Zhang et al. | Online algorithms for uploading deferrable big data to the cloud | |
CN103095684A (zh) | 获取关注用户聚合信息的方法、装置及系统 | |
CN103778251A (zh) | 面向大规模rdf图数据的sparql并行查询方法 | |
CN110149377A (zh) | 一种视频服务节点资源分配方法、系统、装置及存储介质 | |
CN109936643A (zh) | 一种基于IPv6网络的考勤系统及方法 | |
CN103347079A (zh) | 一种日程事件同步的方法和移动设备 | |
CN110866052A (zh) | 一种数据分析方法、装置及设备 | |
CN101193262A (zh) | 视讯会议系统备选mcu选择方法 | |
CN104468143B (zh) | 一种广播环境下支持周期连续实时查询的广播调度算法 | |
CN104125150A (zh) | 一种协议报文处理方法、装置及系统 | |
CN104980685B (zh) | 视频服务提供方法及视频服务提供系统 | |
RU2008141703A (ru) | Способ передачи данных между неоднородными системами обработки, соединенными в локальную сеть, и система передачи, использующая этот способ | |
CN107567100B (zh) | 一种无线通信系统资源调度方法及装置 | |
CN104954381B (zh) | 一种支持连续周期性查询的动态优先级广播调度方法 | |
CN115633383A (zh) | 边缘计算场景下的多合作服务器部署方法 | |
CN109218371A (zh) | 一种调用数据的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150826 Termination date: 20201030 |
|
CF01 | Termination of patent right due to non-payment of annual fee |