利用时间段的状态数组实现分布式系统的动态控制的方法

文档序号:7677425阅读:140来源:国知局
专利名称:利用时间段的状态数组实现分布式系统的动态控制的方法
所属领域本发明涉及一种利用时间段的状态数组实现分布式系统的动态控制的方法,确切地说,涉及一种利用时间段的状态数组来实现分布式系统的时间段功能,从而为相关模块提供与时间相关的动态控制的方法,该方法属于IP通信技术领域。
分布式系统一般是由主控板和多个接口板组成(例如申请人研制的接入服务器等设备)。其中主控板承担设备的集中控制、管理的功能,把实现不同业务的各个接口板的公共特性进行集中处理,然后再分发到各个接口板。每个接口板更多的是关心自己业务的处理和实现。对于公共特性,分布式系统一般采用同步的机制,由主控板实现公共特性的管理,如配置、修改和操作。然后将处理的结果同步传输到各个接口板供其使用。主控板通常是按照时间段来为其相关模块提供公共特性的动态控制和管理功能的。这种分布式系统的优点是控制管理比较方便迅捷,并提高系统性能和节省系统资源等等,所以在电信等领域获得了广泛的应用。
通常,一个时间段包括一个绝对时间段和多个周期时间段。绝对时间段是一个连续的时间范围,有明确的起始时间和结束时间,如2001/10/1600...2001/10/30 2000。周期时间段更接近于描述性的语句,如每周的星期一到星期三;每周六的600到2000;每周的周末(星期六和星期日)等等。周期时间段都是以周为单位,表示每周的某个时间片或者每周的某几个时间片。周期时间段是依附于绝对时间段存在的,表示周期时间段的时间片都在绝对时间所指定的时间范围内。每个时间段都设有一个时间段号,如同每个防火墙规则都设有一个规则号一样。在分布式系统中,主控板只要把相应的时间段号分配给需要进行控制和管理的模块,就可在该时间段内实现动态控制的功能。
参见

图1所示的时间段列表的数据结构示意图,其中绝对时间段存放在一个数组中,该数组中的每个绝对时间段的下标为时间号,又称时间段号或索引号,因为在该数组中是以该时间段号作为索引的序号。周期时间段则以单向链表的形式与其所属的对应的绝对时间段连结,表示该绝对时间段下的多个周期时间段。
本发明的目的是这样实现的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于该方法包括有下列步骤(1)首先在主控板上设置时间段表,还设置一个变量作为时间段的标识符来标识每一个时间段是否处于当前时刻;
(2)再设置一个时间段状态数组来表示该主控板上所有的时间段在当前时间的不同状态,该时间段状态数组中的变量个数应等于所有时间段的个数,并且各个变量的数值分别与其所对应的每一个时间段是否处于当前时间的状态相对应;(3)接着,在打开时间段功能的时候,同时启动一个定时器来定时地扫描各个时间段在当前时间的状态,然后将其所获得的各状态值写入对应的时间段状态数组中;与此同时,将该时间段状态数组分别复制备份到每一个接口板上,并在主控板上的时间段模块每次刷新时间段状态数组时,主控板还将有状态变化的时间段号通知各个接口板,以便使各接口板的时间段状态数组与主控板实现同步。
所述的第(1)步骤中标识每一个时间段是否处于当前时刻的变量是用该变量的两个不同数值来分别表示当前时刻是在该时间段的时间范围内以及当前时间不在该时间段的时间范围内的两种不同状态。
所述的当前时刻是在该时间段的时间范围内的情况包括当前时刻恰好处于该时间段的边界时刻。
所述的变量可以用具有“1”、“0”两种不同数值的一个二进制数位来表示。
所述的第(3)步骤中定时器定时扫描的时间间隔是10-50秒。
所述的定时器定时扫描的时间间隔也是时间段的标识符配置更改后的系统响应时间。
该方法还可以进一步包括有下述步骤(4)在主控板上的访问控制列表中的每个允许(permit)/禁止(deny)描述项扩充一个域,用于存放配置的时间段号;时间段状态数组则定时进行刷新,将对应时间段号的当前状态存放在其中;(5)在对每一条允许(permit)/禁止(deny)描述项进行匹配时,首先根据配置的时间段号在时间段状态数组中查找该时间段当前的状态,如果其数值表明该规则在当前时间有效,继续进行其他属性的比较;如果其数值表明该规则在当前时间无效,继续进行下一条允许/禁止描述项的匹配比较;如此即可执行相应时间段的控制功能。
在所述的第(4)步骤中可以将时间段状态数组中的第0个元素的数值设置为当前时刻是在该时间段的时间范围内,且该数值始终不变。
在要求一条其规则长期有效且不随时间变化时,可以将该规则的时间段分配在0号时间段。
本发明的特点是提出一种非常简单的形式-时间段状态数组-用于在分布式系统中实现时间段功能。该时间段状态数组是由标识每个时间段是否处于当前时刻的多个标识符所组成,其面向其他模块提供了一个独立性强、结构简单又非常便于使用的接口来实现时间控制功能,并且实现的代价非常小。因此,该方法在分布式的系统中实施时,主控板与各个接口板之间的信号交互少,交换的数据量也非常小;各接口板只需要一个跟主控板同步的时间段状态数组就可以使用时间段的功能。本发明可以在分布式系统中需要根据用户设定的时间范围实现动态控制的不同功能模块或者协议(例如防火墙)上得到广泛的应用。
图2是时间段状态数组和时间段表的关系示意图。
图3是本发明在分布式系统中利用时间段的状态数组来实现与时间相关的时间段功能,从而为相关模块提供动态控制的方法示意图。
图4是本发明的一实施例利用时间段的状态数组在分布式系统中实现防火墙功能的接口示意图。
参见图2和图3,本发明是一种利用时间段的状态数组实现分布式系统的动态控制的方法,该方法包括有下列步骤首先在主控板上设置时间段表,还设置一个变量作为时间段的标识符来标识每一个时间段号为m的时间段是否处于当前时刻,因为在某一个时刻,对于时间段号为m的时间段只有两种情况,即当前时刻在该时间段m的时间范围内(包括当前时刻恰好位于该时间段的边界时刻)和当前时间不在该时间段m的时间范围内。标识这种状态变量可以用具有“1”、“0”两种不同数值的一个二进制数位来表示,如1表示在当前时刻范围内,0表示不在当前时刻范围内。
再设置一个其元素个数等于时间段个数的所谓的时间段状态数组来表示该主控板上每一个时间段在当前时间的不同状态,该时间段状态数组中的变量个数应等于所有时间段的个数,并且各个变量的数值分别与其所对应的每一个时间段是否处于当前时间的状态相对应;接着,在打开时间段功能的时候,同时启动一个定时器来定时扫描各个时间段在当前时间的状态,然后将其所获得的各状态值写入对应的时间段状态数组中(如图2所示);由于时间段功能对时间精度的要求不是很高,一般是以分钟为单位。所以设定定时器定时扫描的时间间隔可以是10-50秒(例如20秒,即每20秒扫描一次)。这个时间间隔同时也是时间段的标识符配置更改后的系统响应时间;也就是说当用户更改了一个时间段配置后,这个配置最多在20秒的时间内产生作用。与此同时,将该时间段状态数组分别复制备份到每一个接口板上,并在主控板上的时间段模块每次刷新时间段状态数组时,主控板还将有状态变化的时间段号下发通知各个接口板,即图3中所示的“将时间段状态数组的变化下发”,以便使各接口板A、B、C的时间段状态数组与主控板实现同步(如图3所示)。
在分布式系统中,要求各个单板的公共配置要同步。时间段状态数组能够很简单地实现分布式系统的时间段功能。本发明的方法不用在每个单板上都保留一份时间段表,只需由主控板存放时间段表和时间段状态数组,而其他接口板保存一个时间段状态数组的备份就行了。在主控板上的时间段模块每次刷新时间段状态数组时,主控板将有状态变化的时间段号通知给接口板就可以实现时间段状态数组的同步了。比如时间段号为1的时间段在刷新后状态发生变化,主控板只需将时间段号1的状态数值发给各个接口板。各接口板收到此消息后将时间段状态数组中下标为1的元素值进行修改即可。
参见图4,下面以防火墙为例,说明该方法时间段的应用还进一步包括有下述步骤(4)在主控板上的访问控制列表中的每个允许(permit)/禁止(deny)描述项扩充一个域,用于存放配置的时间段号;而其中的时间段状态数组定时(例如20秒)进行刷新,存放的是对应时间段号的当前状态;(5)这样,在包过滤的过程中,在对每一条允许/禁止描述项进行匹配时,首先根据配置的时间段号在时间段状态数组中查找该时间段当前的状态,如果其数值表明该规则在当前时间有效(例如为1),继续进行其他属性的比较;如果其数值表明该规则在当前时间无效(例如为0),继续进行下一条允许/禁止描述项的比较;如此即可执行相应时间段的控制功能。
本发明的方法可以将时间段状态数组中的第0个元素的数值设置为当前时刻是在该时间段的时间范围内,即其值始终为1,且该数值始终不变。在要求某一条规则长期有效且不随时间变化时,可以将该规则的时间段分配在0号时间段。
从该实施例可以看到,虽然防火墙实现了根据时间动态改变配置的功能,但其实现的代价是很小的。在时间上包过滤的规则匹配中仅仅增加了一条判断语句,对效率影响很小;在空间上,仅仅是permit/deny描述项增加了一个域用于存放时间段号。由于这些特点,可以很容易地将本发明的方法运用于其他需要由时间段控制状态的模块。
本发明的方法已经在申请人研制的接入服务器设备中进行实施试验,主要用于实现对防火墙的时间控制功能,试验的结果是成功的,实现了发明目的。
权利要求
1.一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于该方法包括有下列步骤(1)首先在主控板上设置时间段表,还设置一个变量作为时间段的标识符来标识每一个时间段是否处于当前时刻;(2)再设置一个时间段状态数组来表示该主控板上所有的时间段在当前时间的不同状态,该时间段状态数组中的变量个数应等于所有时间段的个数,并且各个变量的数值分别与其所对应的每一个时间段是否处于当前时间的状态相对应;(3)接着,在打开时间段功能的时候,同时启动一个定时器来定时地扫描各个时间段在当前时间的状态,然后将其所获得的各状态值写入对应的时间段状态数组中;与此同时,将该时间段状态数组分别复制备份到每一个接口板上,并在主控板上的时间段模块每次刷新时间段状态数组时,主控板还将有状态变化的时间段号通知各个接口板,以便使各接口板的时间段状态数组与主控板实现同步。
2.根据权利要求1所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于所述的第(1)步骤中标识每一个时间段是否处于当前时刻的变量是用该变量的两个不同数值来分别表示当前时刻是在该时间段的时间范围内以及当前时间不在该时间段的时间范围内的两种不同状态。
3.根据权利要求2所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于所述的当前时刻是在该时间段的时间范围内的情况包括当前时刻恰好处于该时间段的边界时刻。
4.根据权利要求2所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于所述的变量可以用具有“1”、“0”两种不同数值的一个二进制数位来表示。
5.根据权利要求1所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于所述的第(3)步骤中定时器定时扫描的时间间隔是10-50秒。
6.根据权利要求1或5所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于所述的定时器定时扫描的时间间隔也是时间段的标识符配置更改后的系统响应时间。
7.根据权利要求1所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于该方法还可以进一步包括有下述步骤(4)在主控板上的访问控制列表中的每个允许(permit)/禁止(deny)描述项扩充一个域,用于存放配置的时间段号;时间段状态数组则定时进行刷新,将对应时间段号的当前状态存放在其中;(5)在对每一条允许(permit)/禁止(deny)描述项进行匹配时,首先根据配置的时间段号在时间段状态数组中查找该时间段当前的状态,如果其数值表明该规则在当前时间有效,继续进行其他属性的比较;如果其数值表明该规则在当前时间无效,继续进行下一条允许/禁止描述项的匹配比较。
8.根据权利要求7所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于在所述的第(4)步骤中可以将时间段状态数组中的第0个元素的数值设置为当前时刻是在该时间段的时间范围内,且该数值始终不变。
9.根据权利要求7或8所述的一种利用时间段的状态数组实现分布式系统的动态控制的方法,其特征在于在要求一条其规则长期有效且不随时间变化时,可以将该规则的时间段分配在0号时间段。
全文摘要
一种利用时间段的状态数组实现分布式系统的动态控制的方法,是利用时间段的状态数组来实现分布式系统的时间段功能,从而为相关模块提供与时间相关的动态控制的方法,在分布式系统中,该方法的技术手段比较简单,可以减少主控板和接口板之间传输的同步数据量,即在主控板低负荷的基础上,同时保证各个时间段的控制功能能够准确、实时、高效地实现。以防火墙模块为例,说明本发明的方法在以主控板和接口板组成的分布式系统中是如何实现快速的、低资源占用和同步方式简单的时间段功能。该时间段功能具有独立性强的特点,可以非常简单地运用于其他需要时间控制的模块中。
文档编号H04L12/24GK1414774SQ0210400
公开日2003年4月30日 申请日期2002年2月26日 优先权日2002年2月26日
发明者蔡海涛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1