跨OLT切片的频道访问方法、装置、设备及存储介质与流程

文档序号:24981410发布日期:2021-05-07 22:56阅读:145来源:国知局
跨OLT切片的频道访问方法、装置、设备及存储介质与流程

本发明涉及通信技术领域,尤其涉及一种跨olt切片的频道访问方法、装置、设备及存储介质。



背景技术:

iptv(internetprotocoltelevision,网路协定电视)业务是无源光纤网络承载的重要业务,各个内容服务商架设各自的iptv服务器,不同的iptv服务器通过不同的上联口或者同一上联口的不同vlan(virtuallocalareanetwork,虚拟局域网)到达olt(opticallineterminal,光线路终端),olt将不同内容服务商的iptv服务器划分到不同的olt切片。

olt切片技术具有业务隔离的特性,每个olt切片下的用户只能观看本olt切片对应的iptv服务器的频道。即对一用户而言,仅能访问同一内容服务商的iptv服务器的频道,无法实现其访问不同内容服务商的iptv服务器的频道的业务需求。



技术实现要素:

本发明的主要目的在于提供一种跨olt切片的频道访问方法、装置、设备及存储介质,旨在解决现有技术中无法实现同一用户访问不同内容服务商的iptv服务器的频道的业务需求。

第一方面,本发明提供一种跨olt切片的频道访问方法,所述跨olt切片的频道访问方法包括:

当收到逻辑切片对应的onu发送的组播加入请求时,将所述组播加入请求转发至所述逻辑切片对应的多个内容提供平台;

基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项;

当收到目标内容提供平台基于所述组播加入请求下发的组播数据流时,基于所述组播转发表项,将所述组播数据流发送至所述onu。

可选的,在所述当逻辑切片收到onu发送的组播加入请求时的步骤之前,还包括:

当onu订阅单个内容提供平台时,创建所述单个内容提供平台对应的物理切片,并将所述onu划分到所述物理切片;

当onu订阅多个内容提供平台时,创建所述多个内容提供平台对应的逻辑切片,并将所述onu划分到所述逻辑切片。

可选的,所述基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项的步骤包括:

基于所述多个内容提供平台对应的多个物理切片中的各个物理切片的id以及所述组播加入请求对应的组播地址和vlan查询各个物理切片的组播转发软件表项;

若查询结果为空,则基于所述组播加入请求,分别写各个物理切片的组播转发软件表项以及组播转发硬件表项;

若查询结果为非空,则在查询到的记录的观看者列表中新增所述逻辑切片的id。

可选的,所述若查询结果为空,则基于所述组播加入请求,分别写各个物理切片的组播转发软件表项以及组播转发硬件表项的步骤包括:

若查询结果为空,则在各个物理切片的组播转发软件表项中新增一条记录,所述记录包括观看者列表、所述组播加入请求对应的组播地址和vlan以及本物理切片的id,所述观看者列表中包括所述逻辑切片的id;

在各个物理切片的组播转发硬件表项中新增一条包括本物理切片的id、所述组播加入请求对应的组播地址和vlan的记录。

可选的,在所述分别写各个物理切片的组播转发软件表项以及组播转发硬件表项的步骤之后,还包括:

当收到所述onu发送的组播离开请求时,在各个物理切片的组播转发软件表项中查找由观看者列表、所述组播离开请求对应的组播地址和vlan以及本物理切片的id构成的目标记录;

检测所述目标记录中的观看者列表中是否只包括所述逻辑切片的id;

若否,则将所述逻辑切片的id从所述目标记录中的观看者列表中删除;

若是,则删除所述目标记录,删除对应的物理切片的组播转发硬件表项中由本物理切片的id、所述组播离开请求对应的组播地址和vlan构成的记录。

可选的,所述跨olt切片的频道访问方法还包括:

当收到内容提供平台发送的下行组播协议报文时,将所述下行组播协议报文转发给所述内容提供平台对应的物理切片,以供所述物理切片将所述下行组播协议报文转发给所述内容提供平台对应的逻辑切片。

第二方面,本发明还提供一种跨olt切片的频道访问装置,所述跨olt切片的频道访问装置包括:

转发模块,用于当收到逻辑切片对应的onu发送的组播加入请求时,将所述组播加入请求转发至所述逻辑切片对应的多个内容提供平台;

写模块,用于基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项;

数据发送模块,用于当收到目标内容提供平台基于所述组播加入请求下发的组播数据流时,基于所述组播转发表项,将所述组播数据流发送至所述onu。

可选的,所述跨olt切片的频道访问装置包括创建模块,用于:

当onu订阅单个内容提供平台时,创建所述单个内容提供平台对应的物理切片,并将所述onu划分到所述物理切片;

当onu订阅多个内容提供平台时,创建所述多个内容提供平台对应的逻辑切片,并将所述onu划分到所述逻辑切片。

第三方面,本发明还提供一种跨olt切片的频道访问设备,所述跨olt切片的频道访问设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的跨olt切片的频道访问程序,其中所述跨olt切片的频道访问程序被所述处理器执行时,实现如上所述的跨olt切片的频道访问方法的步骤。

第四方面,本发明还提供一种存储介质,所述存储介质上存储有跨olt切片的频道访问程序,其中所述跨olt切片的频道访问程序被处理器执行时,实现如上所述的跨olt切片的频道访问方法的步骤。

本发明中,当收到逻辑切片对应的onu发送的组播加入请求时,将所述组播加入请求转发至所述逻辑切片对应的多个内容提供平台;基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项;当收到目标内容提供平台基于所述组播加入请求下发的组播数据流时,基于所述组播转发表项,将所述组播数据流发送至所述onu。通过本发明,针对逻辑切片下订阅多个内容提供平台的onu,为其转发不同内容提供平台上的组播数据时,复用不同内容提供平台对应的物理切片的转发面,实现了同一onu访问不同内容服务商的iptv服务器的频道的业务需求。

附图说明

图1为本发明实施例方案中涉及的跨olt切片的频道访问设备的硬件结构示意图;

图2为本发明跨olt切片的频道访问方法一实施例的流程示意图;

图3为一实施例中对olt进行切片划分的示意图;

图4为一实施例中下发组播数据流的场景示意图;

图5为一实施例中组播转发软件表项和组播转发硬件表项内容的示意图;

图6为一实施例中切片的组播协议实例写组播转发硬件表项的示意图;

图7为一实施例中进行表项仲裁的流程示意图;

图8为一实施例中一观看场景下组播转发软件表项和组播转发硬件表项的内容变化示意图;

图9为一实施例中处理组播协议报文的示意图;

图10为本发明跨olt切片的频道访问装置一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一方面,本发明实施例提供一种跨olt切片的频道访问设备。

参照图1,图1为本发明实施例方案中涉及的跨olt切片的频道访问设备的硬件结构示意图。本发明实施例中,跨olt切片的频道访问设备可以包括处理器1001(例如中央处理器centralprocessingunit,cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wi-fi接口);存储器1005可以是高速随机存取存储器(randomaccessmemory,ram),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及跨olt切片的频道访问程序。其中,处理器1001可以调用存储器1005中存储的跨olt切片的频道访问程序,并执行本发明实施例提供的跨olt切片的频道访问方法。

第二方面,本发明实施例提供了一种跨olt切片的频道访问方法。

参照图2,图2为本发明跨olt切片的频道访问方法一实施例的流程示意图。如图2所示,跨olt切片的频道访问方法包括:

步骤s10,当收到逻辑切片对应的onu发送的组播加入请求时,将所述组播加入请求转发至所述逻辑切片对应的多个内容提供平台;

本实施例中,根据不同onu(opticalnetworkunit,光网络单元)的订阅请求,在olt设备上创建物理切片、逻辑切片,并将每个onu划分到基于其的订阅请求所创建的切片。其中,当onu的订阅请求为请求订阅单个内容提供平台时,创建该单个内容提供平台对应的物理切片,并将该onu划分到该物理切片;当onu的订阅请求为请求订阅多个内容提供平台时,创建该多个内容提供平台对应的逻辑切片,并将该onu划分到该逻辑切片。

当收到onu发送的组播加入请求时,若根据onu标识确定其被划分到一逻辑切片,则将该onu发送的组播加入请求转发到该逻辑切片对应的多个内容提供平台,内容提供平台即iptv平台。

进一步地,一实施例中,在步骤s10之前,还包括:

当onu订阅单个内容提供平台时,创建所述单个内容提供平台对应的物理切片,并将所述onu划分到所述物理切片;

当onu订阅多个内容提供平台时,创建所述多个内容提供平台对应的逻辑切片,并将所述onu划分到所述逻辑切片。

本实施例中,当一onu仅订阅单个内容提供平台时,创建单个内容提供平台对应的物理切片,并将该onu划分到该物理切片;当一onu订阅多个内容提供平台时,创建多个内容提供平台对应的逻辑切片,并将该onu划分到该逻辑切片。参照图3,图3为一实施例中对olt进行切片划分的示意图。如图3所示,onu1仅订阅iptv平台1,则在olt上创建物理切片vs1,并将onu1划分到vs1;onu2仅订阅iptv平台2,则在olt上创建物理切片vs2,并将onu2划分到vs2;onu3订阅iptv平台1和2,则在olt上创建逻辑切片vs3,并将onu3划分到vs3。

步骤s20,基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项;

本实施例中,逻辑切片没有独立的转发面,需要复用其对应的内容提供平台的物理切片的转发面。其中,每个iptv平台均对应不同的物理切片,例如iptv平台1对应物理切片vs1,iptv平台2对应物理切片vs2,而逻辑切片vs3对应iptv平台1和iptv平台2。当步骤s10中的逻辑切片为vs3时,为了实现复用物理切片vs1和vs2的转发面,需要根据组播加入请求中包含的组播地址、vlan等信息,操作vs1和vs2的组播转发表项。

步骤s30,当收到目标内容提供平台基于所述组播加入请求下发的组播数据流时,基于所述组播转发表项,将所述组播数据流发送至所述onu。

本实施例中,当组播加入请求请求的是iptv平台1上的组播数据流1时,当组播数据流1下发到olt设备后,基于olt设备中物理切片vs1的转发面以及vs1的组播转发表项,即可将组播数据流1转发到发送组播加入请求的onu;同理,当组播加入请求请求的是iptv平台2上的组播数据流2时,当组播数据流2下发到olt设备后,基于olt设备中物理切片vs2的转发面以及vs2的组播转发表项,即可将组播数据流2转发到发送组播加入请求的onu。即vs3下挂的用户onu可以请求iptv平台1和iptv平台2的组播数据流。如此,便可实现同一onu访问不同内容服务商的iptv服务器的频道的业务需求。

参照图4,图4为一实施例中下发组播数据流的场景示意图。图4中,虚线为组播加入请求,实线为组播数据流。每个onu发起的组播加入请求,由其对应的切片发送至其订阅的iptv平台。

若vs1下的用户onu1请求组播地址为239.1.1.1的组播数据流,vs1将onu1的请求转发至iptv平台1,olt的主控和线卡为vs1添加本次组播加入请求对应的组播转发表项,iptv平台1响应onu1的请求并下发组播地址为239.1.1.1的组播数据流,通过vs1的组播转发表项转发给onu1。

若vs2下的用户onu2请求组播地址为238.1.1.1的组播数据流,vs2将onu2的请求转发至iptv平台2,olt的主控和线卡为vs2添加本次组播加入请求对应的组播转发表项,iptv平台2响应onu2的请求并下发组播地址为238.1.1.1的组播数据流,通过vs2的组播转发硬件表项转发给onu2。

若vs3下的用户onu3请求组播地址为239.1.1.2的组播数据流,vs3将onu3的请求转发至iptv平台1和2,主控和线卡同时为vs1和vs2添加本次组播加入请求对应的组播转发表项,iptv平台1响应onu3的请求并下发组播地址为239.1.1.2的组播数据流,通过vs1的组播转发表项转发给onu3。iptv平台2上不存在onu3当前请求的组播数据流,因此直接忽略此次onu3的请求。

同理,当vs3下的用户onu3请求238.1.1.1的组播数据流或其他iptv平台2上的组播数据流,vs3将onu3的请求转发至iptv平台1和2,主控和线卡同时为vs1和vs2添加本次组播加入请求对应的组播转发表项,iptv平台2发送相应的组播数据流,通过vs2的组播转发表项转发给onu3。由于iptv1平台上不存在onu3当前请求的组播数据流,因此直接忽略此次onu3的请求。

本实施例中,当收到逻辑切片对应的onu发送的组播加入请求时,将所述组播加入请求转发至所述逻辑切片对应的多个内容提供平台;基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项;当收到目标内容提供平台基于所述组播加入请求下发的组播数据流时,基于所述组播转发表项,将所述组播数据流发送至所述onu。通过本实施例,针对逻辑切片下订阅多个内容提供平台的onu,为其转发不同内容提供平台上的组播数据时,复用不同内容提供平台对应的物理切片的转发面,实现了同一onu访问不同内容服务商的iptv服务器的频道的业务需求。

进一步地,一实施例中,步骤s20包括:

基于所述多个内容提供平台对应的多个物理切片中的各个物理切片的id以及所述组播加入请求对应的组播地址和vlan查询各个物理切片的组播转发软件表项;若查询结果为空,则基于所述组播加入请求,分别写各个物理切片的组播转发软件表项以及组播转发硬件表项;若查询结果为非空,则在查询到的记录的观看者列表中新增所述逻辑切片的id。

本实施例中,针对该逻辑切片对应的多个内容提供平台关联的多个物理切片,考虑到物理切片本身或者共享该物理切片的组播转发硬件表项的其他逻辑切片可能已经请求相同的组播数据流,从而已经写入当前组播加入请求请求的组播数据流对应的组播转发硬件表项。为了避免重复写组播转发硬件表项,需要检测当前的组播加入请求对应的组播数据流的组播转发硬件表项是否已存在。若存在,则说明该本次组播加入请求所请求的组播数据流已经下发到olt,无需再次写本次组播加入请求对应的组播数据流的组播转发硬件表项,仅需要写多个内容提供平台对应的多个物理切片的组播转发软件表项;若不存在,则需要基于组播加入请求写多个内容提供平台对应的多个物理切片的组播转发软件表项以及组播转发硬件表项。

具体的,基于多个内容提供平台对应的多个物理切片中的各个物理切片的id以及组播加入请求对应的组播地址和vlan查询各个物理切片的组播转发软件表项,若能查询到结果,说明本次组播加入请求所请求的组播数据流已经下发到olt,无需再次写本次组播加入请求对应的组播数据流的组播转发硬件表项,仅需要写多个内容提供平台对应的多个物理切片的组播转发软件表项;若查询不到结果,则需要基于组播加入请求写多个内容提供平台对应的多个物理切片的组播转发软件表项以及组播转发硬件表项。

参照图5,图5为一实施例中组播转发软件表项和组播转发硬件表项内容的示意图。如图5所示,组播转发软件表项内容包括物理切片id,组播地址,vlan,观看者列表,组播转发硬件表项内容包括物理切片id,组播地址,vlan。特别指出的是,物理切片id+组播地址+vlan表示一条组播数据流,组播转发软件表项中的观看者列表表示哪些切片正在观看该组播数据流对应的频道节目。其中,组播转发软件表项存储于olt设备的内存中,组播转发硬件表项存储于olt设备的转发芯片中。

参照图6,图6为一实施例中切片的组播协议实例写组播转发硬件表项的示意图。如图6所示,主控和线卡的组播协议实例处理逻辑完全相同,主控组播协议实例写主控盘转发芯片的组播转发硬件表项,线卡组播协议实例写线卡转发芯片的组播转发硬件表项。vs1的组播协议实例通过组播转发表仲裁模块写转发芯片中vs1的组播转发硬件表项,vs2的组播协议实例通过组播转发表仲裁模块写转发芯片中vs2的组播转发硬件表项,vs3的组播协议实例通过组播转发表仲裁模块同时写转发芯片中vs1的组播转发硬件表项和vs2的组播转发硬件表项。具体的,组播转发表仲裁模块收到vs1或vs3的组播协议实例的操作组播转发硬件表项指令时,若指令类型为添加,则进行表项仲裁后确定是否写转发芯片中vs1的组播转发硬件表项;收到vs2和vs3的组播协议实例的操作组播转发硬件表项指令时,若指令类型为添加,则进行表项仲裁后确定是否写转发芯片中vs2的组播转发硬件表项。对应的,组播转发表仲裁模块收到vs1或vs3的组播协议实例的操作组播转发硬件表项指令时,若指令类型为删除,则进行表项仲裁后确定是否删除转发芯片中vs1的组播转发硬件表项;收到vs2和vs3的组播协议实例的操作组播转发硬件表项指令时,若指令类型为删除,则进行表项仲裁后确定是否删除转发芯片中vs2的组播转发硬件表项。

进一步地,一实施例中,所述若查询结果为空,则基于所述组播加入请求,分别写各个物理切片的组播转发软件表项以及组播转发硬件表项的步骤包括:

若查询结果为空,则在各个物理切片的组播转发软件表项中新增一条记录,所述记录包括观看者列表、所述组播加入请求对应的组播地址和vlan以及本物理切片的id,所述观看者列表中包括所述逻辑切片的id;在各个物理切片的组播转发硬件表项中新增一条包括本物理切片的id、所述组播加入请求对应的组播地址和vlan的记录。

本实施例中,参照图7,图7为一实施例中进行表项仲裁的流程示意图。如图7所示,切片组播协议实例下发操作组播转发硬件表项指令,指令内容包括:物理切片id(指操作组播转发硬件表项指令对应的物理切片的id)、本次组播加入请求对应的组播地址以及vlan、切片组播协议实例id(例如,当前收到切片x下的onu发送的组播加入请求,则切片x的组播协议实例下发操作组播转发硬件表项指令,切片组播协议实例id即为发送本次组播加入请求的onu所属切片的id,切片x可以是物理切片也可以是逻辑切片)和指令类型。组播转发表仲裁模块收到操作组播转发硬件表项指令,识别指令类型。如果指令类型为添加组播转发硬件表项(针对组播加入请求,指令类型为添加),则基于物理切片id、组播地址、vlan查询该物理切片id对应的组播转发软件表项。

如果查询结果为空,则在该物理切片id对应的组播转发软件表项中新增一条记录,该记录包括观看者列表、组播地址、vlan以及该物理切片id,在该记录的观看者列表中新增发送本次组播加入请求的onu所属切片的id,在转发芯片中该物理切片的组播转发硬件表项中新增一条包括物理切片id、组播地址以及vlan的记录。

对应的,如果查询结果为非空,则仅需在查找到的记录的观看者列表中新增发送本次组播加入请求的onu所属切片的id。

进一步地,一实施例中,在所述分别写所述多个内容提供平台对应的多个物理切片的组播转发软件表项以及组播转发硬件表项的步骤之后,还包括:

当收到所述onu发送的组播离开请求时,在各个物理切片的组播转发软件表项中查找由观看者列表、所述组播离开请求对应的组播地址和vlan以及本物理切片的id构成的目标记录;检测所述目标记录中的观看者列表中是否只包括所述逻辑切片的id;若否,则将所述逻辑切片的id从所述目标记录中的观看者列表中删除,并保留对应的物理切片的组播转发硬件表项中由本物理切片的id、所述组播离开请求对应的组播地址和vlan构成的记录;若是,则删除所述目标记录,删除对应的物理切片的组播转发硬件表项中由本物理切片的id、所述组播离开请求对应的组播地址和vlan构成的记录。

本实施例中,在基于逻辑切片下的onu的组播加入请求对多个物理切片的组播转发软件表项以及组播转发硬件表项进行写入操作后,若收到该onu的组播离开请求,则需要根据实际情况确定是否删除基于onu的组播加入请求写的各个物理切片的组播转发硬件表项。

为了避免删除组播转发硬件表项导致物理切片本身或者其他逻辑切片下已请求本次组播离开请求对应的组播数据流的onu异常断流,需要检测物理切片本身或者与该物理切片共享组播转发硬件表项的其他逻辑切片是否已经请求本次组播离开请求对应的组播数据流。若已请求,则说明该物理切片或关联该物理切片的其他逻辑切片下有其他onu用户正在观看组播加入请求对应的频道节目,此时只对该物理切片的组播转发软件表项进行修改,保留该物理切片的组播转发硬件表项中由本物理切片的id、组播加入请求对应的组播地址和vlan构成的记录;若一物理切片本身或者与该物理切片共享组播转发硬件表项的其他逻辑切片未请求本次组播离开请求对应的组播数据流,则删除该物理切片的组播转发软件表项由观看者列表、组播离开请求对应的组播地址和vlan以及本物理切片的id构成的记录,并删除该物理切片的组播转发硬件表项中由本物理切片的id、所述组播离开请求对应的组播地址和vlan构成的记录。

继续参见图7,切片组播协议实例下发操作组播转发硬件表项指令,指令内容包括物理切片id(指操作组播转发硬件表项指令对应的物理切片的id)、本次组播离开请求对应的组播地址以及vlan、切片组播协议实例id(例如,当前收到切片x下的onu发送的组播离开请求,则切片x的组播协议实例下发操作组播转发硬件表项指令,切片组播协议实例id即为发送本次组播离开请求的onu所属切片的id,切片x可以是物理切片也可以是逻辑切片)和指令类型。组播转发表仲裁模块收到操作组播转发硬件表项指令,识别指令类型。如果指令类型为删除组播转发硬件表项(针对组播离开请求,指令类型为删除),则查询该物理切片id对应的组播转发软件表项中由观看者列表、组播离开请求对应的组播地址和vlan以及本物理切片的id构成的目标记录,若目标记录中的观看者列表中只包括切片x的id,则将目标记录从该物理切片的组播转发软件表项中删除,并从该物理切片的组播转发硬件表项中删除由组播离开请求对应的组播地址和vlan以及本物理切片的id构成的记录;若目标记录中的观看者列表中包含除切片x的id外的其他切片的id,则将切片x的id从该物理切片的组播转发软件表项中的目标记录中的观看者列表中删除,保留该物理切片的组播转发硬件表项中由本物理切片的id、组播离开请求对应的组播地址和vlan构成的记录。

上述实施例中,是以逻辑切片下的onu的加入以及离开为例对本发明进行说明。下面以物理切片下的onu的加入以及离开为例对本发明进行说明。

一实施例中,当收到一物理切片下的onu发送的组播加入请求时,检测与本物理切片共享本物理切片的组播转发硬件表项的逻辑切片是否已请求相同的组播数据流。若未请求,则基于组播加入请求写本物理切片的组播转发硬件表项。

本实施例中,考虑到与本物理切片共享组播转发硬件表项的逻辑切片可能已经请求相同的组播数据流,从而已经写入组播加入请求对应的组播数据流的组播转发硬件表项。为了避免重复写组播转发硬件表项,需要检测本物理切片中,组播加入请求对应的组播数据流的组播转发软件表项是否已存在。若存在,则说明该本次组播加入请求所请求的组播数据流已经下发到olt,无需再次写本次组播加入请求对应的组播数据流的组播转发硬件表项;若不存在,则写本次组播加入请求对应的组播数据流的组播转发软件表项以及组播转发硬件表项。其中,组播转发硬件表项存储于olt设备的交换芯片中,每个物理切片的组播转发硬件表项相互独立。

进一步地,一实施例中,当收到该物理切片下的onu发送的组播离开请求时,检测共享该物理切片组播转发硬件表项的逻辑切片是否已请求所述组播离开请求对应的组播数据流。若已请求,则不删除组播转发硬件表项;否则删除组播转发硬件表项。

本实施例中,考虑到共享该物理切片组播转发硬件表项的逻辑切片可能已经请求相同的组播数据流,从而已经写入同一组播数据流对应的组播转发硬件表项。为了避免删除组播转发硬件表项导致逻辑切片下已请求相同的组播数据流的onu异常断流,需要检测共享该物理切片组播转发硬件表项的逻辑切片是否已经请求相同的组播数据流。若已请求,则说明关联该物理切片的逻辑切片有onu用户正在观看相同的频道节目,不删除组播转发硬件表项;否则删除组播转发硬件表项。

参照图8,图8为一实施例中一观看场景下组播转发软件表项和组播转发硬件表项的内容变化示意图。如图8所示:

当没有任何用户请求频道节目时,组播转发软件表项和组播转发硬件表项都为空;

当物理切片vs1用户请求239.1.1.1/vlan100的频道节目,在vs1的组播转发软件表项新增vs1/239.1.1.1/vlan100/vs_idlist=vs1的记录,在vs1的组播转发硬件表项新增vs1/239.1.1.1/vlan100的记录;

当物理切片vs1用户请求239.1.1.2/vlan100的频道节目时,在vs1的组播转发软件表项新增vs1/239.1.1.2/vlan100/vs_idlist=vs1的记录,在vs1的组播转发硬件表项新增vs1/239.1.1.2/vlan100的记录;

当逻辑切片vs3用户请求239.1.1.2/vlan100的频道节目时,在vs1的组播转发软件表项新增vs1/239.1.1.2/vlan100/vs_idlist=vs3的记录,vs1的组播转发软件表项vs1/239.1.1.2/vlan100/vs_idlist=vs1更新为:vs1/239.1.1.2/vlan100/vs_idlist=vs1,vs3;其中逻辑切片vs3共享物理切片vs1的转发面;

当物理切片vs1用户离开239.1.1.1/vlan100的频道节目时,在vs1的组播转发软件表项删除vs1/239.1.1.1/vlan100/vs_idlist=vs1的记录,在vs1的组播转发硬件表项删除vs1/239.1.1.1/vlan100的记录;

当逻辑切片vs3用户离开请求239.1.1.2/vlan100的频道节目时,在vs1的组播转发软件表项中删除vs1/239.1.1.2/vlan100/vs_idlist=vs3的记录,vs1的组播转发软件表项更新为vs1/239.1.1.2/vlan100/vs_idlist=vs1;

当物理切片vs1用户离开239.1.1.2/vlan100的频道节目时,在vs1的组播转发软件表项删除vs1/239.1.1.2/vlan100/vs_idlist=vs1的记录,在vs1的组播转发硬件表项删除vs1/239.1.1.2/vlan100的记录。

进一步地,一实施例中,所述跨olt切片的频道访问方法还包括:

当收到内容提供平台发送的下行组播协议报文时,将所述下行组播协议报文转发给所述内容提供平台对应的物理切片,以供所述物理切片将所述下行组播协议报文转发给所述内容提供平台对应的逻辑切片。

本实施例中,olt除了要处理组播数据流的转发工作外,还要处理与内容提供平台的组播协议报文交互。参照图9,图9为一实施例中处理组播协议报文的示意图。如图9所示,主控收到iptv平台1和iptv平台2的下行组播协议报文时,将下行组播协议报文转发给对应的切片的组播协议实例进行处理。vs1的组播协议实例收到下行组播协议报文,回复上行组播协议报文给iptv平台1,并如虚线所示复制下行组播协议报文携带vs3切片信息给vs3处理;vs2的组播协议实例收到下行组播协议报文,回复上行组播协议报文给iptv平台2,并如虚线所示复制下行组播协议报文携带vs3切片信息给vs3处理;vs3组播协议实例收到iptv平台1的下行组播协议报文时回复上行组播协议报文给iptv平台1,收到iptv平台2的下行组播协议报文时回复上行组播协议报文给iptv平台2。主控的vs1、vs2和vs3的组播协议实例周期性发送携带vsid信息的下行组播协议报文给线卡。线卡收到主控的下行组播协议报文时,根据vsid转发给对应的切片组播协议实例进行处理。vs1的组播协议实例收到下行组播协议报文,携带vs1切片信息将上行组播协议报文转发给主控;vs2的组播协议实例收到下行组播协议报文,携带vs2切片信息将上行组播协议报文转发给主控;vs3的组播协议实例收到下行组播协议报文,携带vs3切片信息将上行组播协议报文转发给主控。

当然,如图9所示,olt还要处理与onu的组播协议报文交互。线卡收到onu的上行组播协议报文时,根据onu所属的切片转发给对应的切片的组播协议实例进行处理。以上行组播协议报文为组播加入请求为例,vs1的组播协议实例写vs1的组播转发硬件表项,并携带vs1切片信息将上行组播协议报文转发给主控盘;vs2的组播协议实例写vs2的组播转发硬件表项,并携带vs2切片信息将上行组播协议报文转发给主控盘;vs3的组播协议实例同时写vs1和vs2的组播转发硬件表项,并携带vs3切片信息将上行组播协议报文转发给主控盘。主控收到上行组播协议报文时,根据vsid转发给不同的切片的组播协议实例进行处理。vs1的组播协议实例写vs1的组播转发硬件表项,并将上行组播协议报文转发给iptv平台1;vs2的组播协议实例写vs2的组播转发硬件表项,并将上行组播协议报文iptv平台2;vs3的组播协议实例同时写vs1和vs2的组播转发硬件表项,并将上行组播协议报文同时转发给iptv平台1和iptv平台2。

第三方面,本发明实施例还提供一种跨olt切片的频道访问装置。

参照图10,图10为本发明跨olt切片的频道访问装置一实施例的功能模块示意图。如图10所示,一实施例中,跨olt切片的频道访问装置包括:

转发模块10,用于当收到逻辑切片对应的onu发送的组播加入请求时,将所述组播加入请求转发至所述逻辑切片对应的多个内容提供平台;

写模块20,用于基于所述组播加入请求,分别操作所述多个内容提供平台对应的多个物理切片的组播转发表项;

数据发送模块30,用于当收到目标内容提供平台基于所述组播加入请求下发的组播数据流时,基于所述组播转发表项,将所述组播数据流发送至所述onu。

进一步地,一实施例中,所述跨olt切片的频道访问装置包括创建模块,用于:

当onu订阅单个内容提供平台时,创建所述单个内容提供平台对应的物理切片,并将所述onu划分到所述物理切片;

当onu订阅多个内容提供平台时,创建所述多个内容提供平台对应的逻辑切片,并将所述onu划分到所述逻辑切片。

进一步地,一实施例中,写模块20,用于:

基于所述多个内容提供平台对应的多个物理切片中的各个物理切片的id以及所述组播加入请求对应的组播地址和vlan查询各个物理切片的组播转发软件表项;

若查询结果为空,则基于所述组播加入请求,分别写各个物理切片的组播转发软件表项以及组播转发硬件表项;

若查询结果为非空,则在查询到的记录的观看者列表中新增所述逻辑切片的id。

进一步地,一实施例中,写模块20,用于:

若查询结果为空,则在各个物理切片的组播转发软件表项中新增一条记录,所述记录包括观看者列表、所述组播加入请求对应的组播地址和vlan以及本物理切片的id,所述观看者列表中包括所述逻辑切片的id;

在各个物理切片的组播转发硬件表项中新增一条包括本物理切片的id、所述组播加入请求对应的组播地址和vlan的记录。

进一步地,一实施例中,跨olt切片的频道访问装置还包括删除模块,用于:

当收到所述onu发送的组播离开请求时,在各个物理切片的组播转发软件表项中查找由观看者列表、所述组播离开请求对应的组播地址和vlan以及本物理切片的id构成的目标记录;

检测所述目标记录中的观看者列表中是否只包括所述逻辑切片的id;

若否,则将所述逻辑切片的id从所述目标记录中的观看者列表中删除;

若是,则删除所述目标记录,删除对应的物理切片的组播转发硬件表项中由本物理切片的id、所述组播离开请求对应的组播地址和vlan构成的记录。

进一步地,一实施例中,跨olt切片的频道访问装置还包括报文处理模块,用于:

当收到内容提供平台发送的下行组播协议报文时,将所述下行组播协议报文转发给所述内容提供平台对应的物理切片,以供所述物理切片将所述下行组播协议报文转发给所述内容提供平台对应的逻辑切片。

其中,上述跨olt切片的频道访问装置中各个模块的功能实现与上述跨olt切片的频道访问方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

第四方面,本发明实施例还提供一种存储介质。

本发明存储介质上存储有跨olt切片的频道访问程序,其中所述跨olt切片的频道访问程序被处理器执行时,实现如上述的跨olt切片的频道访问方法的步骤。

其中,跨olt切片的频道访问程序被执行时所实现的方法可参照本发明跨olt切片的频道访问方法的各个实施例,此处不再赘述。其中,存储介质即计算机可读存储介质。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1