一种用户组播权限的管理方法

文档序号:7626681阅读:131来源:国知局
专利名称:一种用户组播权限的管理方法
技术领域
本发明涉及到数据通信技术领域,特别涉及到对用户组播权限进行管理的方法。
背景技术
组播是一种数据包传输方式。通过组播方式,一个主机可以将相同的数据包同时发送到同一组播组内的多个主机上。在实际的应用中,组播的源主机将224.0.0.0-239.255.255.255的D类因特网协议(IP)地址作为组播地址发出组播数据包,在网络中如果有其他主机对这个组播数据包有兴趣,可以申请加入该组播数据包目的地址对应的组播组,从而接收该组播组的组播数据包,而其他没有加入该组播组的主机无法获得该组播组的组播数据包。
实现组播的关键技术之一是对用户组播权限的管理。目前,用户组播权限的管理可以通过因特网组管理协议(IGMP,Internet Group ManageProtocol)实现,其主要方法就是在用户通过IGMP请求加入某个组播组时,由进行用户组播权限管理的组播权限管理设备根据该用户的组播权限选择接受或者拒绝该用户请求加入组播组的IGMP请求,即允许或拒绝该用户加入所述的组播组,从而实现对用户组播权限的管理。
所述的组播权限管理设备可以是具有IGMP监听功能的局域网交换机(LAN Switch)、数字用户线接入复用器(DSLAM,Digital Subscriber LineAccess Multiplexer)、处理IGMP的路由器或接入服务器等等。
在现有的组播权限管理设备上通常存储有每个用户的组播权限表,如图1A和图1B所示。其中,用户表项为标识不同用户组播权限表的标识,所述用户表项可以是用户帐户、该用户表项所对应用户主机的IP地址、媒体接入控制层(MAC)地址、虚拟局域网(VLAN)号、对于ATM方式还可以是永久虚电路(PVC)的虚通道号(VPI)、虚电路号(VCI)和/或端口号等等。在每个用户的组播权限表中,每一条记录称为一个组播权限,每个组播权限由组播地址、掩码及权限三部分组成。其中,组播地址表示组播组的地址,该地址可以是IPv4的组播地址也可以是IPv6的组播地址;掩码用于表示组播地址的范围;权限为用户对应该组播地址的组播权限,表示该用户是否可以加入该组播地址对应的组播组,其值包括允许或禁止。
从图1A可以看出,允许用户张三加入的组播组的组播地址为230.1.1.2、224.5.6.0以及ff∷1,禁止用户张三加入的组播组的组播地址为0.0.0.0。从图1B可以看出,允许用户李四加入的组播组的组播地址为0.0.0.0,禁止用户李四加入的组播组的组播地址为230.1.1.2及224.5.6.0。
在某个用户通过IGMP请求加入某个组播组时,组播权限管理设备首先通过该用户的用户表项,找到该用户的组播权限表,再查找该用户组播权限表中的各项组播权限记录,判断该用户是否可以加入该组播组。
上述对用户进行组播权限管理的过程可以通过以下两种方法来实现第一种,优先匹配算法,如图2所示,主要包括以下步骤步骤201从该用户发送的IGMP请求中获取该用户申请加入的组播地址;步骤202根据该用户的用户表项查找到该用户的组播权限表;步骤203获取步骤202所述组播权限表中的第一条记录;步骤204判断该条记录中的组播地址是否与步骤201所述的组播地址匹配,如果不是,执行步骤205;如果是,执行步骤207;步骤205判断当前记录是否为所述组播权限表中的最后一条记录,如果是则执行步骤209,否则,执行步骤206;步骤206获取所述组播权限表中的下一条记录,然后返回步骤204;步骤207判断该记录中组播地址对应的组播权限,如果是“允许”,则执行步骤208;否则执行步骤209;
步骤208接受该用户的IGMP请求,允许该用户加入该组播组,该用户获得该组播组的组播权限,然后结束;步骤209拒绝该用户的IGMP请求,不允许该用户加入该组播组,该用户没有该组播组的组播权限,然后结束。
在上述方法中,组播权限管理设备将用户通过IGMP请求申请加入的组播地址和该用户的组播权限表中各条记录的组播地址进行匹配,并且在匹配到第一条记录后,根据该条记录的组播权限,允许或者拒绝该用户加入所述的组播组,实现对用户组播权限的管理。
第二种,完整匹配算法,如图3所示,主要包括以下步骤步骤301从该用户发送的IGMP请求中获取该用户申请加入的组播地址;步骤302根据该用户的用户表项查找到该用户的组播权限表;步骤303将该用户对应步骤301所述组播地址的组播权限初始化为“禁止”,并获取步骤302所述组播权限表中的第一条记录;步骤304判断该条记录中的组播地址是否与步骤301所述的组播地址匹配,如果不是,执行步骤305;如果是,执行步骤307;步骤305判断当前记录是否为所述组播权限表中的最后一条记录,如果是,则执行步骤308,否则,执行步骤306;步骤306获取所述组播权限表中的下一条组播权限记录,然后返回步骤304;步骤307该记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限作为该用户当前的组播权限,然后执行步骤305;所述的组播权限包括“允许”和“禁止”,并且“允许”的组播权限级别要高于“禁止”,因此,若该记录中的组播权限为“允许”,而当前该用户的组播权限为“禁止”,则在本步骤中,会将该用户当前的组播权限更新为级别较高的“允许”;若该记录中的组播权限为“禁止”,而当前该用户的组播权限为“允许”,则在本步骤中,该用户当前的组播权限将保持“允许”不变;步骤308根据所记录的该用户的最高组播权限接受或拒绝该用户的IGMP请求,允许或拒绝该用户加入该组播组,然后结束。
在该步骤中,若该用户的最高组播权限为“允许”,则接受该用户的IGMP请求,允许该用户加入该组播组,设置该用户获得该组播组的组播权限;若该用户的最高组播权限为“禁止”,则拒绝该用户的IGMP请求,不允许该用户加入该组播组,设置该用户没有该组播组的组播权限。
在上述方法中,组播权限管理设备遍历该用户的组播权限列表,获取该用户级别最高的组播权限后,按照该用户级别最高的组播权限确定该用户的组播权限,然后根据组播权限选择接受、拒绝该用户的IGMP加入请求,实现对用户组播权限的管理。
从上述对用户的组播权限进行管理的方法可以看出,现有方法需要在组播权限管理设备为每个用户配置详细的组播权限表,即使在多个用户的组播权限相同或者部分相同时,组播权限管理设备还是需要进行重复配置,这不仅大大浪费了组播权限管理设备的存储空间,同时也大大增加了组播权限管理设备进行组播权限管理和维护的工作量。

发明内容
为了解决上述技术问题,本发明提供了一种用户组播权限管理的方法,可以减少组播权限管理设备的存储空间,同时大大降低组播权限管理设备进行组播权限管理和维护的工作量。
本发明所述的用户组播权限的管理方法,确定每个用户所具有的组播权限,并根据每个用户的组播权限确定允许和/或禁止该用户加入的组播地址,包括A、将不同用户所具有的相同的组播权限组成至少一个组播权限组;B、组播权限管理设备保存每个用户所具有的组播权限和/或组播权限组;
C、用户发送请求加入一组播组的请求消息到所述组播权限管理设备,所述请求消息携带有该用户申请加入的组播组对应的组播地址;D、组播权限管理设备在自身保存的该用户所具有的组播权限和/或组播权限组中查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组。
步骤C所述保存为组播权限管理设备为每个用户建立一张由该用户的用户表项标识的、保存该用户所具有的组播权限和/或组播权限组的组播权限表;在步骤D之前进一步包括组播权限管理设备根据所述用户的用户表项找到自身保存的该用户对应的组播权限表。
本发明所述组播权限表至少采用线性表结构、树结构、链表结构或哈希结构来存储所述组播权限和/或组播权限组。
本发明所述方法在步骤A之后进一步包括组播权限管理设备将所述至少一个组播权限组记录在自身存储的组播权限组表中,每个组播权限组通过组播权限组标识来标识自身。
本发明所述组播权限组表至少采用线性表结构、树结构、链表结构或哈希结构来存储每个组播权限组所包含的组播权限。
步骤D所述查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组包括D11、获取所述组播权限表中的第一条组播权限记录;D12、判断该组播权限记录是否为组播权限组记录,如果是,则执行步骤D14;否则,判断该组播权限记录中的组播地址是否与所述组播地址匹配,如果是,执行步骤D15;如果不是,执行步骤D13;D13、判断当前的组播权限记录是否为所述组播权限表中的最后一条记录,如果是,则禁止该用户加入该组播组,然后结束;否则,获取所述组播权限表中的下一条组播权限记录,然后返回步骤D12;D14、根据该条组播权限组记录的组播权限组标识,在自身保存的组播权限组表中查找与所述组播地址相匹配的组播权限,如果查找到匹配的组播权限,则执行步骤D15,否则,执行步骤D13;D15、判断该组播权限记录中组播地址对应的组播权限,如果是允许,则允许该用户加入该组播组,然后结束;否则,禁止该用户加入该组播组,然后结束。
步骤D14所述根据该条组播权限组记录的组播权限组标识,在预先保存的组播权限组表中查找与所述组播地址相匹配的组播权限包括D141、根据该组播权限组记录的组播权限组标识,在组播权限组表中查找到对应的组播权限组,并获取该组播权限组的第一条组播权限记录;D142、判断该组播权限记录的组播地址是否与所述的组播地址匹配,如果是,则找到匹配的组播权限,然后结束;否则,执行步骤D143;D143、判断当前的组播权限记录是否为所述组播权限组的最后一条记录,如果是,则没有找到匹配的组播权限,并结束,否则,获取该组播权限组的下一条组播权限记录,然后返回步骤D142;步骤D所述查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组包括D21、将所述用户对应所述组播地址的组播权限初始化为禁止,并获取所述组播权限表中的第一条组播权限记录;D22、判断该组播权限记录是否为组播权限组记录,如果是,则遍历自身保存的组播权限组表中的所有组播权限,记录与所述组播地址相匹配的组播权限中级别最高的组播权限,然后执行步骤D24;否则,执行步骤D23;D23、判断该组播权限记录中的组播地址是否与所述的组播地址匹配,如果不是,执行步骤D24;如果是,执行步骤D25;D24、判断当前记录是否为所述组播权限表中的最后一条记录,如果是,则根据所记录的用户的最高组播权限允许或拒绝该用户加入该组播组,然后结束;否则,获取所述组播权限表中的下一条记录,然后返回步骤D22;D25、将该记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限作为该用户当前的组播权限,然后执行步骤D24。
步骤D22所述遍历预先配置的组播权限组中的所有组播权限,记录与所述组播地址相匹配的组播权限中级别最高的组播权限包括D221、根据该组播权限组记录的组播权限组标识,在组播权限组表中查找到对应的组播权限组,获取该组播权限组的第一条组播权限记录;D222、判断该组播权限记录的组播地址是否与所述的组播地址匹配,如果是,则执行步骤D224;否则,执行步骤D223;D223、判断当前组播权限记录是否为所述组播权限组的最后一条记录,如果是,则结束;否则,获取该组播权限组的下一条组播权限记录,然后返回步骤D222;D224、将该组播权限记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限作为该用户当前的组播权限,然后执行步骤D223。
本发明所述判断该组播权限记录是否为组播权限组记录为判断该条组播权限记录是否具有的特殊的组播地址、或特殊的掩码、或特殊的权限数值、或特殊标识组播权限组字段,如果有,则是组播权限组记录;否则,不是组播权限组记录。
本发明所述获取下一条组播权限记录对应于所述组播权限表或组播权限组表的存储结构,通过顺序查找、深度遍历或广度遍历查找、或哈希查找冲突检测实现。
由此可以看出,本发明所述的组播权限管理方法设置记录多个组播权限的组播权限组,每个用户可以使用组播权限组及单独的组播权限来表示自身的组播权限,这样不仅大大的节省了组播权限管理设备的存储空间,还能够降低播权限管理设备进行组播权限管理和维护的工作量。


图1A、图1B为组播权限管理设备存储的用户的组播权限表示意图;
图2为通过优先匹配算法进行用户组播权限管理的流程图;图3为通过完整匹配算法进行用户组播权限管理的流程图;图4A、图4B为本发明所述的组播权限管理设备存储的用户的组播权限表示意图;图5为本发明优选实施例所述的通过优先匹配算法进行用户组播权限管理的流程图;图6为图5所述实施例中在组播权限组表中查找与所述组播地址相匹配的组播权限的流程图;图7为本发明另一个优选实施例所述的通过完整匹配算法进行用户组播权限管理的流程图;图8为图7所述实施例中,记录与所述组播地址相匹配的组播权限中级别最高的组播权限的流程图。
具体实施例方式
为了解决现有技术中存在的问题,本发明提出了一种用户组播权限管理的方法,其核心思想是引入组播权限组的概念,将相同的组播权限配置为一个权限组,这样,在组播权限管理设备对每个用户进行组播权限配置时,可以直接为用户配置组播权限组也可以为用户配置单独的组播权限。这样一来,当多个用户的组播权限相同或者部分相同时,只需要为其中的每个用户配置一个或者多个权限组就可以了,而不需要分别为每个用户配置单独的组播权限,从而可以大大减少存储空间,同时大大减少组播权限管理维护的工作量。
本发明所配置的组播权限组将存储在所述的组播权限管理设备的组播权限组表中,所述组播权限组表中的每个组播权限组记录了一个以上的组播权限信息,每条组播权限信息包括组播地址以及对应该组播地址的掩码及组播权限。所述组播地址可以是IPv4地址,也可以是IPv6地址。
表1显示了本发明优选实施例所述的在组播权限管理设备中存储的组<p>表2

特别地,为了进一步减少存储空间,在上述组播权限表中可以删除权限这一列,而固定配置所有配置项的权限为“允许”或者“禁止”,对于未配置组播地址的权限则缺省为“禁止”或者“允许”。同时,还可以再删除掩码这一列,而固定配置所有组播地址都是单个组播源地址,而不是通过掩码表示的网段地址。也就是说,所述组播权限表至少包含组播地址或组播组标识一项。
在实际的应用中,组播权限管理设备可以采用多种存储结构来存储上述用户的组播权限表或组播权限组表,例如,使用线性表结构、树结构、链表结构、哈希(Hash)存储结构或其他各种数据存储结构来存储。
从上述在组播权限管理设备中存储的组播权限表可以看出,本发明所述的方法通过设置组播权限组,使得每个用户可以直接使用组播权限组来表示自身的组播权限,从而大大降低了存储用户组播权限所需的存储空间,同时也可以降低组播权限管理设备进行组播权限管理和维护的工作量。
由于在所述组播权限管理设备中存储的每个用户的组播权限表发生了变化,组播权限管理设备的组播权限管理的方法也将相应地发生变化。
本发明的一个优选实施例给出了一种通过优先匹配算法进行用户组播权限管理的方法,如图5所示,该方法主要包括以下步骤步骤501从该用户发送的IGMP请求中获取该用户申请加入的组播地址;
步骤502根据该用户的用户表项查找到该用户的组播权限表;所述用户表项可以是用户帐户、该用户主机的IP地址、MAC地址、VLAN号、ATM的VPI、VCI或端口号等等;步骤503获取步骤502所述组播权限表中的第一条组播权限记录;步骤504判断该组播权限记录是否为组播权限组记录,如果是,则执行步骤508;否则,执行步骤505;该步骤所述判断该组播权限记录是否为组播权限记录可以通过该条组播权限记录所具有的特殊的组播地址、特殊的掩码或特殊的权限数值、特殊字段来进行判断;步骤505判断该组播权限记录中的组播地址是否与步骤501所述的组播地址匹配,如果不是,执行步骤506;如果是,执行步骤509;步骤506判断当前的组播权限记录是否为所述组播权限表中的最后一条记录,如果是,则执行步骤511,否则,执行步骤507;步骤507获取所述组播权限表中的下一条组播权限记录,然后返回步骤504;步骤508根据该条组播权限组记录的组播权限组标识,在预先保存的组播权限组表中查找与步骤501所述组播地址相匹配的组播权限,如果查找到匹配的组播权限,则执行步骤509,否则,执行步骤506;步骤509判断该组播权限记录中组播地址对应的组播权限,如果是“允许”,则执行步骤510;否则,执行步骤511;步骤510接受该用户的IGMP请求,允许该用户加入该组播组,该用户获得该组播组的组播权限,然后结束;步骤511拒绝该用户的IGMP请求,不允许该用户加入该组播组,该用户没有该组播组的组播权限,然后结束。
上述步骤508所述的在组播权限组表中查找与步骤501所述组播地址相匹配的组播权限的方法如图6所示,具体包括以下步骤步骤5081根据该组播权限组记录的组播权限组标识,在组播权限组表中查找到对应的组播权限组;步骤5082获取该组播权限组的第一条组播权限记录;步骤5083判断该组播权限记录的组播地址是否与步骤501所述的组播地址匹配,如果是,则找到匹配的组播权限,结束组播权限组的匹配,返回步骤508;否则,执行步骤5084;步骤5084判断当前的组播权限记录是否为所述组播权限组的最后一条记录,如果是,则没有找到匹配的组播权限,结束组播权限组的匹配,返回步骤508,否则,执行步骤5085;步骤5085获取该组播权限组的下一条组播权限记录,然后返回步骤5083。
上述步骤507或步骤5085所述的获取下一条组播权限记录可以根据用户组播权限表或组播权限组表的存储结构采用多种方法来实现,例如,若用户的组播权限表或组播权限组表是线性表结构的,则组播权限管理设备可以通过顺序查找的方法获得下一条组播权限记录;若用户的组播权限表或组播权限组表是树结构的,则组播权限管理设备可以通过深度遍历或广度遍历查找的方法获得下一条组播权限记录;而对应于Hash结构的存储方式,组播权限管理设备则可以使用Hash查找冲突检测等方法来获得下一条组播权限记录。
本发明的另一个优选实施例给出了一种通过完整匹配算法进行用户组播权限管理的方法,如图7所示,该方法主要包括以下步骤步骤701从该用户发送的IGMP请求中获取该用户申请加入的组播地址;步骤702根据该用户的用户表项查找到该用户的组播权限表;步骤703将用户对应步骤701所述组播地址的组播权限初始化为“禁止”,并获取步骤702所述组播权限表中的第一条组播权限记录;步骤704判断该组播权限记录是否为组播权限组记录,如果是,则执行步骤709;否则,执行步骤705;
该步骤所述判断该组播权限记录是否为组播权限记录的方法与步骤504所述的方法相同,即可以通过该条组播权限记录所具有的特殊的组播地址、特殊的掩码或特殊的权限数值、特殊字段来进行判断;步骤705判断该组播权限记录中的组播地址是否与步骤701所述的组播地址匹配,如果不是,执行步骤706;如果是,执行步骤708;步骤706判断当前记录是否为所述组播权限表中的最后一条记录,如果是,则执行步骤710,否则,执行步骤707;步骤707获取所述组播权限表中的下一条记录,然后返回步骤704;步骤708将该记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限(“允许”高于“禁止”)作为该用户当前的组播权限,然后执行步骤706;步骤709遍历预先配置的组播权限组中的所有组播权限,记录与步骤701所述组播地址相匹配的组播权限中级别最高的组播权限,然后执行步骤706;步骤710根据所记录的用户的最高组播权限接受或拒绝该用户的IGMP请求,允许或拒绝该用户加入该组播组,然后结束。
在该步骤中,若该用户的最高组播权限为允许,则接受该用户的IGMP请求,允许该用户加入该组播组,设置该用户获得该组播组的组播权限;若该用户的最高组播权限为拒绝,则拒绝该用户的IGMP请求,不允许该用户加入该组播组,设置该用户没有该组播组的组播权限。
上述步骤709具体包括以下步骤,如图8所示步骤7091根据该组播权限组记录的组播权限组标识,在组播权限组表中查找到对应的组播权限组;步骤7092获取该组播权限组的第一条组播权限记录;步骤7093判断该组播权限记录的组播地址是否与步骤701所述的组播地址匹配,如果是,则执行步骤7096;否则,执行步骤7094;步骤7094判断当前组播权限记录是否为所述组播权限组的最后一条记录,如果是,则返回,否则,执行步骤7095;步骤7095获取该组播权限组的下一条组播权限记录,然后返回步骤7093;步骤7096将该组播权限记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限作为该用户当前的组播权限,然后执行步骤7094。
同样,在上述步骤707或步骤7095中,对应用户组播权限表和组播权限组表的存储方式,组播权限管理设备可以通过顺序查找、深度遍历或广度遍历、Hash查找冲突检测等方法来获得下一条组播权限记录。
如上所述,由于在所述组播权限表及组播权限组表中可以省略权限这一项,而固定配置所有组播地址项的权限为“允许”或者“禁止”,对于未配置组播地址的权限则缺省为“禁止”或者“允许”。因此,在这种情况下,在上述步骤501~511以及步骤701~710所述的方法中,当在所述组播权限表或组播权限组表中找到与用户所希望加入的组播组地址匹配的组播地址后,就可以直接判断出该组播地址对应的权限是“允许”还是“禁止”,而不需要进一步查找组播权限表或组播权限组表中的权限一项来获得该组播地址对应的权限了,从而在简化组播权限存储结构的同时也简化了组播权限管理的处理过程。
从上述方法可以看出,在配置了组播权限组之后,组播权限管理设备可以通过上面两个实施例所述的方法实现用户组播权限的管理。由于将不同用户所具有的相同的组播权限用同一个组播组进行标识,从而有效地节省了组播权限管理设备的存储空间,同时还降低了播权限管理设备进行组播权限管理和维护的工作量。
权利要求
1.一种用户组播权限的管理方法,确定每个用户所具有的组播权限,并根据每个用户的组播权限确定允许和/或禁止该用户加入的组播地址,其特征在于,所述方法包括A、将不同用户所具有的相同的组播权限组成至少一个组播权限组;B、组播权限管理设备保存每个用户所具有的组播权限和/或组播权限组;C、用户发送请求加入一组播组的请求消息到所述组播权限管理设备,所述请求消息携带有该用户申请加入的组播组对应的组播地址;D、组播权限管理设备在自身保存的该用户所具有的组播权限和/或组播权限组中查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组。
2.如权利要求1所述的方法,其特征在于,步骤C所述保存为组播权限管理设备为每个用户建立一张由该用户的用户表项标识的、保存该用户所具有的组播权限和/或组播权限组的组播权限表;在步骤D之前进一步包括组播权限管理设备根据所述用户的用户表项找到自身保存的该用户对应的组播权限表。
3.如权利要求2所述的方法,其特征在于,所述组播权限表至少采用线性表结构、树结构、链表结构或哈希结构来存储所述组播权限和/或组播权限组。
4.如权利要求2所述的方法,其特征在于,所述方法在步骤A之后进一步包括组播权限管理设备将所述至少一个组播权限组记录在自身存储的组播权限组表中,每个组播权限组通过组播权限组标识来标识自身。
5.如权利要求4所述的方法,其特征在于,所述组播权限组表至少采用线性表结构、树结构、链表结构或哈希结构来存储每个组播权限组所包含的组播权限。
6.如权利要求4所述的方法,其特征在于,步骤D所述查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组包括D11、获取所述组播权限表中的第一条组播权限记录;D12、判断该组播权限记录是否为组播权限组记录,如果是,则执行步骤D14;否则,判断该组播权限记录中的组播地址是否与所述组播地址匹配,如果是,执行步骤D15;如果不是,执行步骤D13;D13、判断当前的组播权限记录是否为所述组播权限表中的最后一条记录,如果是,则禁止该用户加入该组播组,然后结束;否则,获取所述组播权限表中的下一条组播权限记录,然后返回步骤D12;D14、根据该条组播权限组记录的组播权限组标识,在自身保存的组播权限组表中查找与所述组播地址相匹配的组播权限,如果查找到匹配的组播权限,则执行步骤D15,否则,执行步骤D13;D15、判断该组播权限记录中组播地址对应的组播权限,如果是允许,则允许该用户加入该组播组,然后结束;否则,禁止该用户加入该组播组,然后结束。
7.如权利要求6所述的方法,其特征在于,步骤D14所述根据该条组播权限组记录的组播权限组标识,在预先保存的组播权限组表中查找与所述组播地址相匹配的组播权限包括D141、根据该组播权限组记录的组播权限组标识,在组播权限组表中查找到对应的组播权限组,并获取该组播权限组的第一条组播权限记录;D142、判断该组播权限记录的组播地址是否与所述的组播地址匹配,如果是,则找到匹配的组播权限,然后结束;否则,执行步骤D143;D143、判断当前的组播权限记录是否为所述组播权限组的最后一条记录,如果是,则没有找到匹配的组播权限,并结束,否则,获取该组播权限组的下一条组播权限记录,然后返回步骤D142。
8.如权利要求4所述的方法,其特征在于,步骤D所述查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组包括D21、将所述用户对应所述组播地址的组播权限初始化为禁止,并获取所述组播权限表中的第一条组播权限记录;D22、判断该组播权限记录是否为组播权限组记录,如果是,则遍历自身保存的组播权限组表中的所有组播权限,记录与所述组播地址相匹配的组播权限中级别最高的组播权限,然后执行步骤D24;否则,执行步骤D23;D23、判断该组播权限记录中的组播地址是否与所述的组播地址匹配,如果不是,执行步骤D24;如果是,执行步骤D25;D24、判断当前记录是否为所述组播权限表中的最后一条记录,如果是,则根据所记录的用户的最高组播权限允许或拒绝该用户加入该组播组,然后结束;否则,获取所述组播权限表中的下一条记录,然后返回步骤D22;D25、将该记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限作为该用户当前的组播权限,然后执行步骤D24。
9.如权利要求8所述的方法,其特征在于,步骤D22所述遍历预先配置的组播权限组中的所有组播权限,记录与所述组播地址相匹配的组播权限中级别最高的组播权限包括D221、根据该组播权限组记录的组播权限组标识,在组播权限组表中查找到对应的组播权限组,获取该组播权限组的第一条组播权限记录;D222、判断该组播权限记录的组播地址是否与所述的组播地址匹配,如果是,则执行步骤D224;否则,执行步骤D223;D223、判断当前组播权限记录是否为所述组播权限组的最后一条记录,如果是,则结束;否则,获取该组播权限组的下一条组播权限记录,然后返回步骤D222;D224、将该组播权限记录中的组播权限与该用户当前的组播权限进行比较,记录其中级别较高的组播权限作为该用户当前的组播权限,然后执行步骤D223。
10.如权利要求6或8所述的方法,其特征在于,所述判断该组播权限记录是否为组播权限组记录为判断该条组播权限记录是否具有的特殊的组播地址、或特殊的掩码、或特殊的权限数值、或特殊标识组播权限组字段,如果有,则是组播权限组记录;否则,不是组播权限组记录。
11.如权利要求6至9任一项所述的方法,其特征在于,所述获取下一条组播权限记录对应于所述组播权限表或组播权限组表的存储结构,通过顺序查找、深度遍历或广度遍历查找、或哈希查找冲突检测实现。
全文摘要
本发明公开了一种用户组播权限的管理方法,包括将不同用户所具有的相同的组播权限组成至少一个组播权限组;组播权限管理设备保存每个用户所具有的组播权限和/或组播权限组;用户发送请求加入一组播组的请求消息到所述组播权限管理设备,所述请求消息携带有该用户申请加入的组播组对应的组播地址;组播权限管理设备在自身保存的该用户所具有的组播权限和/或组播权限组中查找与所述组播地址对应的组播权限,并根据查找结果允许或禁止该用户加入所述组播组,可以节省组播权限管理设备的存储空间,降低播权限管理设备进行组播权限管理和维护的工作量。
文档编号H04L12/24GK1859179SQ200510116980
公开日2006年11月8日 申请日期2005年10月28日 优先权日2005年10月28日
发明者金涛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1