用于调度多于一个任务的方法和装置的制作方法

文档序号:6557164阅读:186来源:国知局
专利名称:用于调度多于一个任务的方法和装置的制作方法
技术领域
本发明涉及一种用于调度第一任务和第二任务的方法和装置,其中,以预定第一重复时间间隔重复地执行第一任务,并且以预定第二重复时间间隔重复地执行第二任务。 此外,本发明涉及一种用于执行必须被重复地执行的第一任务和第二任务的方法。
背景技术
在许多技术领域中,有必要重复地执行一个或多个任务,其中,该任务可能具有不同的重复时间间隔。该任务可以例如包括控制设备,获取测量值或者对由传感器生成的信号进行采样。特别地,在用于由风能生成电能的风力涡轮机中,存在大量电气传感器,其感测或检测风力涡轮机的条件或配置,或者其可以检测或测量外部条件,例如诸如温度、风速等的环境参数。此外,安装在风力涡轮机内或位于风力涡轮机外面的其它位置处的这些传感器或测量设备可以生成和/或供应关于风力涡轮机的组件的温度、位置、质量和状态的信息。特别地,可以由涡轮机的控制计算机以不同的重复时间间隔(通常从几分之一毫秒一直到一秒或多秒)对由测量设备或传感器生成的传感器信号进行采样(在特定时间点获取和/或读出)。“动作”或“任务”可以包括诸如获取测量信号、控制传感器、对由传感器或测量设备生成的信号进行采样、读取测量值、触发传感器促使其获取测量值等之类的操作。通常, 可能必须在装置、设备或布置的操作期间执行多个任务以便监视装置、设备或布置的条件、 配置和/或状态。特别地,可能必须以不同的重复时间间隔重复地执行所述多个任务。特别地,所述重复时间间隔可以表示执行用于执行或实行以重复时间间隔重复地执行的给定任务的连续实例之间的时间。当必须执行多个任务时,其中,各任务具有不同的重复时间间隔,当不同的重复时间间隔的数目变大(诸如大于5、10、20或100)时或者当任务的数目变大时,可能难以调度要被执行的不同的任务或动作,涉及大的管理开销。处理任务并调度任务可能是困难的,并且可能导致采样时间间隔的显著抖动和软件中的高精度数字涡轮机控制算法的复杂实现。按照惯例,使用用于根据采样(或重复)时间间隔表进行传感器采样的两个一般使用的算法第一算法利用绝对延迟列表且第二算法利用分类的相对延迟列表。绝对延迟列表包括用于每个任务或动作的条目。绝对延迟列表中的每个条目包括实际动作或任务的描述(诸如传感器类型、定标、报警限等)以及在下一次应执行的任务之前应终止(expire)的时间单元的剩余数目。时间单元可以对应于要调度的任务的最短重复时间间隔(或采样时间间隔)。针对每个时间单元(也称为第零重复时间间隔)逐个记录地检验绝对延迟列表。在这里,将包括在每个记录中的在下一次应执行的动作之前应终止的时间单元的剩余数目减少一个。如果对于特定记录而言此数目是0,则执行(或实行)与此记录相关联的任务。然后,将此特定记录的在下一次应执行的动作之前应终止的时间单元的剩余数目重新设立为原始值。因此,为了检验将执行绝对延迟列表中的哪些任务,必须检验包括所有条目或记录的绝对延迟的整个列表。从而,产生管理开销。特别地,必须检验或处理绝对延迟列表中的所有记录,即使对于包含在绝对延迟列表中的任何任务而言,在当前时间点处将不执行动作。分类的相对延迟列表包括保持实际动作或任务的描述以及在下一次应执行的动作之前从列表中的前一元素的终止开始应终止的时间单元的剩余数目的记录或元素。因此,除了保持绝对延迟的列表中的第一元素之外,始终给出相对于分类的相对延迟列表中的前一位置处的元素的执行时间的延迟。当利用分类的相对延迟列表来调度包括在列表中的任务时,必须仅处理第一列表元素或记录,如果相对延迟为零,则对该第一列表元素或记录进行处理。然而,可能发生的是需要以与已包括在列表中的任务的所有重复时间间隔不同的另一重复时间间隔来执行新的任务。因此,可能要求必须使用分类的相对延迟列表来调度新任务。因此,必须将用于新任务的条目或记录插入分类的相对延迟列表中。由此,必须在适当的位置处插入新任务,这产生针对此新任务定义的预期的重复时间间隔。为了在分类的相对延迟列表中插入新任务或用于此新任务的记录,必须从开头处理分类的相对延迟列表中的列表元素直至找到插入位置为止。当在分类的相对延迟列表中存在A-I个动作或任务时,必须处理最多A-I个元素直至找到正确的插入位置为止。从而,可能产生相当大的管理负担或开销。可能存在对用于调度第一任务和第二任务的方法和装置的需要,其中,以预定第一重复时间间隔重复地执行第一任务并以预定第二重复时间间隔重复地执行第二任务,其中,所述方法或所述装置适合于调度大量任务,并且其中,特别地,计算工作量或计算时间独立于要重复地执行的任务的数目。特别地,可能存在对用于调度要以不同的重复时间间隔重复地执行的第一任务和第二任务的方法和装置的需要,这在用于调度具有两个不同重复时间间隔的两个任务的方法或装置的操作或/和维护期间要求较少的管理开销。特别地,可能存在对用于调度要以不同的重复时间间隔重复地执行的第一任务和第二任务的方法和装置的需要,这与现有技术相比得到改进,特别地相对于维护所述方法和/或所述装置而言和相对于用于结合具有另一不同重复时间间隔的其它任务的适应性而言。

发明内容
由根据独立权利要求的主题来满足此需要。由从属权利要求来描述本发明的有利实施例。根据实施例,提供了一种用于调度第一任务和第二任务的方法,其中,以预定第一重复时间间隔重复地执行第一任务并以预定第二重复时间间隔重复地执行第二任务,其中,所述方法包括调度第一任务以便在第一时间点执行第一任务;以及调度第二任务以便在第二时间点执行第二任务,其中,第二时间点中的每一个都不同于第一时间点中的任何一个。所述调度可以涉及设置要执行或实行第一任务和第二任务的一个或多个时间点。 此外,调度可以涉及计划任务(特别是任务的时间点),建立时间点列表,建立用于执行或实行任务的时间点,找到用于执行或实行任务的日期或建立用于执行或实行任务的日期或时间点或多个时间点或多个日期,计划或建立实行或执行任务的过程等。所述调度还可以包括生成必须以其来执行第一任务和第二任务的时间点的列表。特别地,调度还可以涉及生成表示第一时间点和/或第二时间点的数据和/或将该数据写入诸如计算机存储器的数据存储器。此外,调度可以包括执行诸如计算机程序的程序以便读取所生成的第一时间点和第二时间点的列表并促使在第一时间点处执行第一任务且促使在第二时间点处执行第二任务。“动作”或“任务”通常可以包括诸如获取测量信号、控制传感器、对由传感器或测量设备生成的信号进行采样、读取测量值、触发传感器促使其获取测量值等之类的操作。通常,可能必须在装置、设备或布置的操作期间执行第一任务和/或第二任务以便监视装置、 设备或布置的条件、配置和/或状态。特别地,可能必须以不同的重复时间间隔重复地执行第一任务和/或第二任务。特别地,所述重复时间间隔可以表示执行用于执行或实行以重复时间间隔重复地执行的给定任务的连续实例之间的时间。第一任务和第二任务可以表示要执行的任何种类的动作,诸如控制设备或装置, 测量值,从传感器或检测器获取测量值,对由传感器或检测器连续地供应的测量值进行采样,读入信号,触发传感器或检测器以生成信号或测量值,控制传感器以获取或测量值,从诸如计算机存储器的存储器读取数据,向诸如计算机存储器的存储器写入数据,触发要被执行的程序(诸如运行用于控制传感器或检测器的程序)等。特别地,第一任务和第二任务可以包括测量温度,测量位置,测量或控制开关,测量风速,测量风力涡轮机的转子的旋转速度,测量风力涡轮机的叶片的俯仰角,测量风力涡轮机的机舱的定向,测量由风力涡轮机的发电机生成的电功率,测量风力涡轮机的、特别是风力涡轮机的叶片的振荡,测量风力涡轮机的发电机或逆变器处的电压和/或电流,测量风力涡轮机处的湿度等等。第一任务和第二任务可以包括控制技术装置,在技术装置中执行程序,配置技术装置等。第一重复时间间隔表示第一时间点的后续或连续时间点之间的时间跨度或时间间隔,其中,在这些第一时间点中的每一个处,将实行或执行第一任务。因此,第一时间点的后续时间点之间的差等于第一重复时间间隔。以类似方式,可以定义在本申请中参考的第二重复时间间隔和任何其它重复时间间隔。特别地,第二重复时间间隔不同于第一重复时间间隔。特别地,第一重复时间间隔和第二重复时间间隔可以在30. 000 ms与1 ms之间、 特别地1000 ms与5 ms之间、更特别地500 ms与10 ms之间的范围内。第一任务被调度成在第一时间点处执行,在该时间点处,绝不会执行或实行第二任务,因为第二时间点中的每一个都不同于第一时间点中的任何一个。从而,以第一重复时间间隔重复地执行第一任务,并且以第二重复时间间隔重复地执行第二个,但是在相互不同的时间点处执行这些任务,使得它们以交错的方式被执行。每当第一任务被调度成要执行(或第一任务被执行)时,第二任务不会被调度成要执行(或第二任务不被执行),并且每当第二任务被调度成要执行(或第二任务被执行)时,第一任务不会被调度成要执行(或第一任务不被执行)。如果第一重复时间间隔和第二重复时间间隔两者都大于可以表示最短重复时间间隔或时间单元或预定第零重复时间间隔的(另一任务的)重复时间间隔,则特别地可以实现这一点。特别地,第一重复时间间隔可以等于第零重复时间间隔的两倍且第二重复时间间隔可以是第零重复时间间隔的四倍。在另一实施例中,第一重复时间间隔和第二重复时间间隔可以采取第零重复时间间隔(或时间单元)的倍数或其它值。当新任务的重复时间间隔等于第一重复时间间隔或第二重复时间间隔时,可能容易将新任务结合或插入调度算法中。当新任务的重复时间间隔等于第一重复时间间隔时, 新任务被调度成在第一时间点处执行。当新任务的重复时间间隔等于第二重复时间间隔时,新任务被调度成在第二时间点处执行。因此,可以减少管理开销。根据实施例,用于调度第一任务和第二任务的方法还包括调度第零任务以便在第零时间点处执行第零任务,其中,以预定第零重复时间间隔重复地执行第零任务,其中,第一时间点中的每一个都等于第零时间点中的一个且第二时间点中的每一个都等于第零时间点中的一个,其中,第零重复时间间隔小于第一重复时间间隔且小于第二重复时间间隔。第零重复时间间隔可以表示必须重复地执行的多个任务的最小(或最短)重复时间间隔。还可以将第零重复时间间隔称为时间单元。第零重复时间间隔可以例如相当于在 Ims与20ms之间,特别地在5ms与IOms之间。第零任务被调度成连同第一任务或第二任务一起来实行或执行而不是连同第一任务和第二任务两者一起来实行或执行。因此,不以与第一任务交错的方式来执行第零任务而且也不以与第二任务交错的方式来实行或执行第零任务。具有等于第零重复时间间隔的重复时间间隔的其它任务可以在第零时间点处连同第零任务一起被执行。调度具有等于第零重复时间间隔的重复时间间隔的新任务可以包括调度要在第零时间点处执行的新任务。因此,在不涉及管理负担或开销的情况下,可以容易地执行插入具有等于第零重复时间间隔的重复时间间隔的新任务。根据实施例,第一重复时间间隔等于第零重复时间间隔与数字2的第一整数次幂的乘积且第二重复时间间隔等于第零重复时间间隔与数字2的第二整数次幂的乘积。 特别地,可以将第零时间间隔称为At。因此,对于第一重复时间间隔Atl而言,其保持 Atl=At*2n,并且对于第二重复时间间隔At2而言,其保持At2=At*212,其中Il是第一整数且其中12是第二整数。特别地,Il可以是1或2或3或4或任何其它整数。特别地, 12可以是1或2或3或4或任何其它整数。特别地,Il可以不等于12。因此,第一重复时间间隔Atl和第二重复时间间隔At2两者可以是第零时间间隔At的倍数,其中,该倍数是2的幂。用第一重复时间间隔和第二重复时间间隔的此选择,可以容易地实现用于第一任务和第二任务的实行或执行的交错调度。根据实施例,用于调度第一任务和第二任务的方法还适合于调度至少一个另外的第一任务和/或用于调度至少一个另外的第二任务,其中,以预定第一重复时间间隔重复地执行所述至少一个另外的第一任务和/或以预定第二重复时间间隔重复地执行所述至少一个另外的第二任务,其中,所述方法还包括调度所述至少一个另外的第一任务以便在第一时间点处执行所述至少一个另外的第一任务;和/或调度所述至少一个另外的第二任务以便在第二时间点处执行所述至少一个另外的第二任务。因此,有可能在具有与第一任务相同的重复时间间隔(即其具有第一重复时间间隔)的第一时间点处调度那些任务。从而,使得能够调度具有相同重复时间间隔的多于一个任务。特别地,可以通过调度要在第一时间点处执行的新任务来实现具有将第一重复时间间隔作为重复时间间隔的新任务的插入。类似地,可以通过调度要在第二时间点处执行的新任务来实现具有将第二重复时间间隔作为重复时间间隔的新任务。因此,可以使得能够实现且可以促进多个任务的处理和调度。根据实施例,用于调度第一任务和第二任务的方法还包括建立包括第一任务和所述至少一个另外的第一任务的第一列表;和/或建立包括第二任务和所述至少一个另外的
第二任务的第二列表。特别地,建立第一列表和/或建立第二列表可以包括创建第一列表和/或第二列表,(临时地)存储第一列表和/或第二列表,打印第一列表和/或第二列表,将第一列表和/ 或第二列表传送至控制器,将第一列表和/或第二列表特别地供应给控制器以便控制诸如风力涡轮机的装置,例示表示第一列表和/或第二列表的一个或多个计算机程序对象(特别地在随机存取存储器中),更新第一列表/第二列表,和/或将第一列表和/或第二列表写入诸如计算机存储器的存储器中等。建立第一列表和/或第二列表可以促进调度第一任务、第二任务和另外的任务。特别地,可以由第一处理单元来实现建立第一列表和/或建立第二列表,并且实际上可以由列表可能已被传送到的第二处理单元来执行使用第一列表和 /或第二列表(以便实际上执行第一任务和/或第二任务)。根据实施例,用于调度第一任务和第二任务的方法还适合于调度至少一个第N任务,其中,以预定第N重复时间间隔重复地执行所述至少一个第N任务,其中,所述第N重复时间间隔等于第零重复时间间隔与数字2的整数N次幂的乘积,整数N大于第一整数(Il) 且大于第二整数(12),所述方法还包括调度所述至少一个第N任务以便在第N时间点处执行第N任务,其中,所述第N时间点中的每一个都不同于第一时间点中的任何一个且不同于第二时间点中的任何一个;以及建立包括第N列表的至少一个另外的列表,该第N列表包括所述至少一个第N任务。第N重复时间间隔AtN等于第零重复时间间隔乘以2N( AtN=A t*2N),其中,N是整数,诸如例如1、2、3、4、5、6、7或任何其它自然数(或整数)。第N列表包括以第N重复时间间隔重复地执行的至少一个第N任务。可以根据要考虑的任务的最大重复时间间隔来选择N。特别地,2N可以是大约要考虑的任务的最大重复时间间隔的一半。特别地,可以根据应用和局部要求来选择N。因此,可以建立多个列表,每个列表被设计为用于容纳或包括以特定重复时间间隔执行的任务。因此,在多于一个列表中的每一个中,可以仅包括以特定的相同重复时间间隔重复地执行的那些任务。因此,当新任务具有等于已结合的任务的重复时间间隔的重复时间间隔时,在各列表中的一个列表中插入新任务是容易的。然后可以将此新任务调度成在与具有相同重复时间间隔的已结合的任务相同的时间点处执行。根据实施例,用于调度第一任务和第二任务的方法还包括通过考虑在第零重复时间间隔的每次终止之后被增加一的N位二进制计数器来确定用于调度包括在第一列表、第二列表和所述至少一个另外的列表中的任务的特定顺序。作为如在上述常规算法中使用的仅具有一个延迟列表的替代,可以存在列表阵列。可以将这些列表从0开始向前编号直至列表N。列表0可以保持应以第零重复时间间隔或时间单元重复地执行的元素或任务。列表1可以保持应被延迟两个时间单元或者换言之应以第二重复时间间隔(其特别地等于Δ t*2)重复地执行的元素或任务。列表2可以保持应以第二重复时间间隔(其可以特别地是Δ *22)重复地执行的元素或任务,以此类推。 列表D可以保持应以第D重复时间间隔(其可以特别地是At*2D)重复地执行或实行的元素或任务。根据实施例,可以通过创建N位二进制计数器(包括N个位置的二进制数表示,每个位置表示一个位)来获得用于N个列表的处理(排除保持以第零重复时间间隔重复地执行的任务的第零列表)的方案,其中,可以针对每个时间单元(第零重复时间间隔)将N位二进制计数器(也称为c)增加1,并从2N_1至0回绕(因此在达到2n_1之后再次在0处开始)。 在每次增加之后,可以计数在N位二进制计数器c中最低有效二进制零的数目。要处理的下一个列表可以是具有比二进制计数器c中的最低有效二进制零的数目多一的数目的列表。 然而,当二进制计数器c是0时,没有列表可以被处理(除列表0之外)。从而,可以容易地获得列表的顺序,由此使得能够调度包含在列表内的任务。在已经确定列表的排序之后,连同包括以等于At的第零重复时间间隔重复地执行的任务的第零列表一起按照列表的顺序来一个接着一个地处理列表。从而,使得能够调度具有不同重复时间间隔的大量任务。根据实施例,用于调度第一任务和第二任务的方法还包括调度第三任务以便在第三时间点处执行第三任务,其中,以预定第三重复时间间隔重复地执行第三任务,其中,第三重复时间间隔大于第零重复时间间隔与数字2的第三较低整数次幂的乘积且小于第零重复时间间隔与数字2的第三较高整数次幂的乘积,其中,被增加一的第三较低整数等于第三较高整数。可以不将第三重复时间间隔表示为时间单元(第零重复时间间隔)与2的幂的乘积。事实上,第三重复时间可以等于At乘以因数,其中,该因数可以等于3、5、6、7、9、10、 11、12、13、14、15、17或任何其它自然数(当此自然数不是2的幂时)。根据实施例,还可以调度第三任务以便在第三时间点处执行第三任务。从而,用于调度若干个任务的方法也可灵活地处理以不同于规则重复时间间隔的重复时间间隔重复地执行的任务。根据实施例,调度第三任务包括识别第三较低整数并将第三任务与所建立的第三列表相关联以包括以重复时间间隔重复地执行的至少一个任务,所述重复时间间隔等于第零时间间隔与数字2的第三较低整数次幂的乘积。根据实施例,第三重复时间间隔At3 = Δ t*T,其中,T是不同于2的幂的整数(自然数)。第三任务与列表D相关联,对于列表D而言,2D<T,其中,D是保持此不等式成立的最大整数。当将任务输入到列表中时,可以将列表D中的剩余时间单元(直至该列表被再次处理为止)的数目R(D)确定为
权利要求
1.一种用于调度第一任务和第二任务的方法,其中,以预定第一重复时间间隔(Atl) 来重复地执行第一任务,并且以预定第二重复时间间隔(At2)来重复地执行第二任务,该方法包括 调度第一任务以便在第一时间点处执行第一任务;以及 调度第二任务以便在第二时间点处执行第二任务,其中,第二时间点中的每一个都不同于第一时间点中的任何一个。
2.根据权利要求1所述的方法,还包括 调度第零任务以便在第零时间点处执行第零任务,其中,以预定第零重复时间间隔(ΔΟ来重复地执行第零任务,其中,第一时间点中的每一个都等于第零时间点中的一个且第二时间点中的每一个都等于第零时间点中的一个, 其中,所述第零重复时间间隔小于第一重复时间间隔且小于第二重复时间间隔。
3.根据权利要求1或2所述的方法,其中,第一重复时间间隔(Atl)等于第零重复时间间隔(At)与数字2的第一整数(Il)次幂的乘积,以及第二重复时间间隔(At2)等于第零重复时间间隔(At)与数字2的第二整数(12)次幂的乘积。
4.根据前述权利要求中的任一项所述的方法,其中,所述方法还适合于调度至少一个另外的第一任务和/或调度至少一个另外的第二任务,其中,以预定第一重复时间间隔来重复地执行所述至少一个另外的第一任务和/ 或以预定第二重复时间间隔来重复地执行所述至少一个另外的第二任务,该方法还包括 调度所述至少一个另外的第一任务以便在第一时间点处执行所述至少一个另外的第一任务;以及/或者 调度所述至少一个另外的第二任务以便在第二时间点处执行所述至少一个另外的第二任务。
5.根据权利要求4所述的方法,还包括 建立包括第一任务和所述至少一个另外的第一任务的第一列表(Li);以及/或者 建立包括第二任务和所述至少一个另外的第二任务的第二列表(L2)。
6.根据权利要求5所述的方法,其中,所述方法还适合于调度至少一个第N任务,其中,以预定第N重复时间间隔重复地执行所述至少一个第N任务,其中,所述第N重复时间间隔等于第零重复时间间隔与数字2的整数N次幂的乘积,所述整数N大于第一整数且大于第二整数,所述方法还包括 调度所述至少一个第N任务以便在第N时间点处执行第N任务,其中,第N时间点中的每一个都不同于第一时间点中的任何一个且不同于第二时间点中的任何一个;以及 建立包括第N列表(LN)的至少一个另外的列表,所述第N列表包括所述至少一个第 N任务。
7.根据权利要求6的方法,还包括通过考虑在第零重复时间间隔的每次终止之后被增加一的N位二进制计数器(c)来确定用于调度包括在第一列表、第二列表和所述至少一个另外的列表中的任务的特定顺序。
8.根据权利要求2至7中的任一项所述的方法,还包括 调度第三任务以便在第三时间点处执行第三任务,其中,以预定第三重复时间间隔(T*At)来重复地执行第三任务,其中,第三重复时间间隔大于第零重复时间间隔与数字2的第三较低整数次幂的乘积且小于第零重复时间间隔与数字2的第三较高整数次幂的乘积,其中,被增加一的第三较低整数等于第三较高整数。
9.根据权利要求8所述的方法,其中,调度第三任务包括识别第三较低整数并将第三任务与所建立的第三列表相关联以包括以等于第零重复时间间隔与数字2的第三较低整数次幂的乘积的时间间隔重复地执行的至少一个任务。
10.一种用于执行第一任务和第二任务的方法,其中,以预定第一重复时间间隔来重复地执行第一任务,并且以预定第二重复时间间隔来重复地执行第二任务,该方法包括 依据根据前述权利要求中的任一项所述的方法来调度第一任务和第二任务; 在第一时间点处执行第一任务;以及 在第二时间点处执行第二任务。
11.根据权利要求10所述的方法,其中,执行第一任务或第二任务包括控制致动器和 /或控制传感器和/或获取测量值。
12.根据权利要求10或11所述的方法,其中,执行该方法以监视风力涡轮机的传感器信号。
13.一种用于调度第一任务和第二任务的装置,其中,以预定第一重复时间间隔来重复地执行第一任务,并且以预定第二重复时间间隔来重复地执行第二任务,该装置包括 调度器,其用于调度第一任务以便在第一时间点处执行第一任务,并用于调度第二任务以便在第二时间点处执行第二任务,其中,第二时间点中的每一个都不同于第一时间点中的任何一个。
全文摘要
本发明涉及用于调度对于一个任务的方法和装置。其描述了一种用于调度第一任务和第二任务的方法,其中,以预定第一重复时间间隔(Δt1)来重复地执行第一任务,并以预定第二重复时间间隔(Δt2)来重复地执行第二任务,该方法包括调度第一任务以便在第一时间点处执行第一任务;以及调度第二任务以便在第二时间点处执行第二任务,其中,第二时间点中的每一个都不同于第一时间点中的任何一个。此外,描述了一种用于调度第一任务和第二任务的装置。
文档编号G06Q10/00GK102279946SQ20111015551
公开日2011年12月14日 申请日期2011年6月10日 优先权日2010年6月11日
发明者克鲁肯伯格 H. 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1