报文流切换处理方法及设备与流程

文档序号:31831637发布日期:2022-10-18 18:24阅读:36来源:国知局
报文流切换处理方法及设备与流程

1.本发明涉及通信技术领域,尤其涉及一种报文流切换处理方法及设备。


背景技术:

2.随着超高清媒体产业迅速发展,4k/8k超高清数据对带宽提出更高的要求,传统的基于数字串行接口(serial digital interface,sdi)采集制作、调度分发的方式已经不能满足技术更新的需求,媒体制播网络的网际互联协议(internet protocol,ip)化是进一步发展的趋势。制播网络ip化指的是通过互联网来实现媒体数据的传输。
3.媒体数据切换是指从某一路媒体数据源瞬间切换到另一路媒体数据源的过程。例如在多个摄像头输出的视频源之间切换,在终端显示屏上表现为一个摄像头拍摄的画面切换为另一个摄像头拍摄的画面。又例如,在多个节目的视频源之间切换,在终端显示屏上表现为一个节目的画面切换为另一个节目的画面。媒体数据切换的基本要求是避免在终端播放时出现不稳定现象,例如对于视频数据切换避免在终端出现花屏等现象,对于音频数据切换避免在终端播放时出现切换前后的音频混合的现象。
4.ip数据包的无缝保护切换标准中,为了避免服务因故障中断,定义了通过两条不同的传输路径来传输相同媒体数据的报文流的保护方案,即该两条不同的传输路径传输的报文流的有效负载相同,最终均到达同一个媒体网关设备。媒体网关设备结合该两路的报文流合成媒体数据发送到终端为用户提供服务。若在传输媒体数据过程中进行媒体数据切换,由于切换前的两路报文流传输的路径不重合,出现报文流之间的传输不同步,因此,切换后的两路报文流到达媒体网关合成媒体数据后,该合成的媒体数据同时包括切换前和切换后两种不同的媒体数据,导致媒体数据发送到终端用于播放时出现上述不稳定现象。综上所述,如何解决媒体数据切换过程中终端侧出现不稳定现象的问题是本领域技术人员急需处理的技术问题。


技术实现要素:

5.本技术公开了一种报文流切换处理方法及设备,用于解决媒体数据切换过程中终端侧出现不稳定现象的问题。
6.第一方面,本技术公开了一种报文流切换处理方法,该方法包括:
7.控制器向第一网络设备发送第一通知消息,该第一通知消息用于指示该第一网络设备将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流;
8.该控制器在该第一网络设备暂停向该目标设备发送该第二报文流的情况下,向第二网络设备发送第二通知消息,该第二通知消息用于指示该第二网络设备将发往该目标设备的第三报文流切换为第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同。
9.本技术中,对于通过两个不同传输路径的两个报文流传输相同的媒体数据的场
景,在需要进行媒体数据切换的过程中(例如电视节目的切换),可以先暂停其中一个传输路径的报文流的发送,使得另一个传输路径的报文流在切换的过程中总是可以先到达上述目标设备(例如媒体网关),这样在目标设备进行媒体数据合成时,总是提取该先到达的报文流中的媒体数据用于合成,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
10.一种可能的实施方式中,该控制器在该第一网络设备暂停向该目标设备发送该第二报文流的情况下,向第二网络设备发送第二通知消息,包括:
11.该控制器在接收到来自该第一网络设备的第一响应消息的情况下,向该第二网络设备发送该第二通知消息,该第一响应消息用于指示该第一网络设备已经暂停向该目标设备发送该第二报文流。
12.在本技术中,第一网络设备根据控制器的通知执行对应的操作后,可以通过向控制器返回响应消息告知控制器已经完成对应的操作,使得控制器可以及时执行下一步的操作,可以提高整个流程的效率。
13.一种可能的实施方式中,该方法还包括:该控制器在该第二网络设备将发往该目标设备的第三报文流切换为第四报文流的情况下,向该第一网络设备发送第三通知消息,该第三通知消息用于指示该第一网络设备向该目标设备发送该第二报文流。
14.在本技术中,上述第一网络设备暂停发送报文流的过程中,同时完成了对应传输路径中的报文流的切换,然后,在第二网络设备完成报文流的切换后,恢复原始的报文流处理速度,正常将切换后的报文流发送给目标设备,这样两个网络设备切换后的报文流均可以正常传输,由于该切换后的两个报文流传输的媒体数据相同,从而在解决了上述合成的媒体数据发送到终端播放时出现不稳定问题的同时,还可以继续避免因单点故障导致服务中断的问题。
15.一种可能的实施方式中,该暂停向该目标设备发送该第二报文流,包括:延迟预设时长向目标设备发送该第一报文流和该第二报文流。
16.在本技术实施例中,通过延迟向目标设备发送其中一个传输路径上的报文流也可以使得另一个传输路径的报文流在切换的过程中总是可以先到达上述目标设备(例如媒体网关),这样在目标设备进行媒体数据合成时,总是提取该先到达的报文流中的媒体数据用于合成,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
17.第二方面,本技术公开了一种报文流切换处理方法,该方法包括:
18.控制器向目标设备发送第一通知消息,该第一通知消息用于指示该目标设备对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;
19.该控制器在该目标设备按照该第一通知消息的指示操作的情况下,向该第一网络设备发送第二通知消息,以及向该第二网络设备发送第三通知消息,该第二通知消息用于指示该第一网络设备将该第一报文流切换为该第二报文流,该第三通知消息用于指示该第二网络设备将该第三报文流切换为该第四报文流。
20.本技术中,对于通过两个不同传输路径的两个报文流传输相同的媒体数据的场景,在需要进行媒体数据切换的过程中,可以控制上述目标设备(例如媒体网关)仅选择其中一个传输路径发送过来的报文进行媒体数据合成,这样在目标设备进行媒体数据合成时,不需要交替地从该两个传输路径发送过来的报文流提取报文数据,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
21.一种可能的实施方式中,该控制器在该目标设备按照该第一通知消息的指示操作的情况下,向该第一网络设备发送第二通知消息,以及向该第二网络设备发送第三通知消息,包括:
22.该控制器在接收到来自该目标设备的第一响应消息的情况下,向该第一网络设备发送该第二通知消息,以及向该第二网络设备发送该第三通知消息,该第一响应消息用于指示该目标设备已经按照该第一通知消息的指示操作。
23.在本技术中,目标设备根据控制器的通知执行对应的操作后,可以通过向控制器返回响应消息告知控制器已经完成对应的操作,使得控制器可以及时执行下一步的操作,可以提高整个流程的效率。
24.一种可能的实施方式中,该方法还包括:该控制器在该第一网络设备和该第二网络设备分别按照该第二通知消息和该第三通知消息的指示操作的情况下,向该目标设备发送第四通知消息,该第四通知消息用于指示该目标设备恢复对该第四报文流的处理。
25.在本技术中,在第一网络设备和第二网络设备完成报文流的切换后,目标设备(例如媒体网关)恢复原始的报文流处理方式,即按照预设的标准正常接收和处理来自第一网络设备第二报文流和来自第二网络设备的第四报文流,由于该第二报文流和第四报文流传输的媒体数据相同,从而在解决了上述合成的媒体数据发送到终端播放时出现不稳定问题的同时,还可以继续避免因单点故障导致服务中断的问题。
26.一种可能的实施方式中,该控制器在该第一网络设备和该第二网络设备分别按照该第二通知消息和该第三通知消息的指示操作的情况下,向该目标设备发送第四通知消息,包括:
27.该控制器在接收到来自该第一网络设备的第二响应消息,以及接收到来自该第二网络设备的第三响应消息的情况下,向该目标设备发送该第四通知消息,该第二响应消息用于指示该第一网络设备已经将该第一报文流切换为该第二报文流,该第三响应消息用于指示该第二网络设备已经将该第三报文流切换为该第四报文流。
28.在本技术中,第一网络设备和第二网络设备根据控制器的通知执行对应的操作后,可以通过向控制器返回响应消息告知控制器已经完成对应的操作,使得控制器可以及时执行下一步的操作,可以提高整个流程的效率。
29.第三方面,本技术公开了一种报文流切换处理方法,该方法包括:
30.网络设备接收第一通知消息,该第一通知消息用于指示将发往目标设备的第一报文流切换为第二报文流,并暂停向目标设备发送该第二报文流;
31.该网络设备基于该第一通知消息将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流。
32.本技术中,对于通过两个不同传输路径的两个报文流传输相同的媒体数据的场
景,在需要进行媒体数据切换的过程中(例如电视节目的切换),可以先暂停其中一个传输路径的报文流的发送,使得另一个传输路径的报文流在切换的过程中总是可以先到达上述目标设备(例如媒体网关),这样在目标设备进行媒体数据合成时,总是提取该先到达的报文流中的媒体数据用于合成,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
33.一种可能的实施方式中,该方法还包括:该网络设备向控制器发送响应消息,该响应消息用于指示该网络设备已经暂停向该目标设备发送该第二报文流。
34.在本技术中,第一网络设备根据控制器的通知执行对应的操作后,可以通过向控制器返回响应消息告知控制器已经完成对应的操作,使得控制器可以及时执行下一步的操作,可以提高整个流程的效率。
35.一种可能的实施方式中,该方法还包括:该网络设备接收第二通知消息,该第二通知消息用于指示向该目标设备发送该第二报文流;该网络设备基于该第二通知消息向该目标设备发送该第二报文流。
36.在本技术中,上述第一网络设备暂停发送报文流的过程中,同时完成了对应传输路径中的报文流的切换,然后,在第二网络设备完成报文流的切换后,恢复原始的报文流处理速度,正常将切换后的报文流发送给目标设备,这样两个网络设备切换后的报文流均可以正常传输,由于该切换后的两个报文流传输的媒体数据相同,从而在解决了上述合成的媒体数据发送到终端播放时出现不稳定问题的同时,还可以继续避免因单点故障导致服务中断的问题。
37.一种可能的实施方式中,该暂停向目标设备发送该第二报文流,包括:延迟预设时长向该目标设备发送该第二报文流。
38.在本技术实施例中,通过延迟向目标设备发送其中一个传输路径上的报文流也可以使得另一个传输路径的报文流在切换的过程中总是可以先到达上述目标设备(例如媒体网关),这样在目标设备进行媒体数据合成时,总是提取该先到达的报文流中的媒体数据用于合成,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
39.第四方面,本技术公开了一种报文流切换处理方法,该方法包括:
40.目标设备接收第一通知消息,该第一通知消息用于指示对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;
41.该目标设备基于该第一通知消息,对于该第一目标报文流和该第二目标报文流,仅选择该第一目标报文流转发。
42.本技术中,对于通过两个不同传输路径的两个报文流传输相同的媒体数据的场景,在需要进行媒体数据切换的过程中,可以控制上述目标设备(例如媒体网关)仅选择其中一个传输路径发送过来的报文进行媒体数据合成,这样在目标设备进行媒体数据合成时,不需要交替地从该两个传输路径发送过来的报文流提取报文数据,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定
的现象。
43.一种可能的实施方式中,该方法还包括:
44.该目标设备接收第二通知消息,该第二通知消息用于指示恢复对该第四报文流的处理;
45.该目标设备基于该第二通知消息恢复对该第四报文流的处理。
46.在本技术中,在第一网络设备和第二网络设备完成报文流的切换后,目标设备(例如媒体网关)恢复原始的报文流处理方式,即按照预设的标准正常接收和处理来自第一网络设备第二报文流和来自第二网络设备的第四报文流,由于该第二报文流和第四报文流传输的媒体数据相同,从而在解决了上述合成的媒体数据发送到终端播放时出现不稳定问题的同时,还可以继续避免因单点故障导致服务中断的问题。
47.第五方面,本技术公开了一种设备,该设备包括:
48.发送单元,用于向第一网络设备发送第一通知消息,该第一通知消息用于指示该第一网络设备将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流;
49.该发送单元,还用于在该第一网络设备暂停向该目标设备发送该第二报文流的情况下,向第二网络设备发送第二通知消息,该第二通知消息用于指示该第二网络设备将发往该目标设备的第三报文流切换为第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同。
50.一种可能的实施方式中,该发送单元具体用于:
51.在接收到来自该第一网络设备的第一响应消息的情况下,向该第二网络设备发送该第二通知消息,该第一响应消息用于指示该第一网络设备已经暂停向该目标设备发送该第二报文流。
52.一种可能的实施方式中,该发送单元还用于:
53.在该第二网络设备将发往该目标设备的第三报文流切换为第四报文流的情况下,向该第一网络设备发送第三通知消息,该第三通知消息用于指示该第一网络设备向该目标设备发送该第二报文流。
54.一种可能的实施方式中,该暂停向该目标设备发送该第二报文流,包括:
55.延迟预设时长向目标设备发送该第一报文流和该第二报文流。
56.第六方面,本技术公开了一种设备,该设备包括:
57.发送单元,用于向目标设备发送第一通知消息,该第一通知消息用于指示该目标设备对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;
58.该发送单元,还用于在该目标设备按照该第一通知消息的指示操作的情况下,向该第一网络设备发送第二通知消息,以及向该第二网络设备发送第三通知消息,该第二通知消息用于指示该第一网络设备将该第一报文流切换为该第二报文流,该第三通知消息用于指示该第二网络设备将该第三报文流切换为该第四报文流。
59.一种可能的实施方式中,该发送单元具体用于:
60.在接收到来自该目标设备的第一响应消息的情况下,向该第一网络设备发送该第二通知消息,以及向该第二网络设备发送该第三通知消息,该第一响应消息用于指示该目标设备已经按照该第一通知消息的指示操作。
61.一种可能的实施方式中,该发送单元还用于:
62.在该第一网络设备和该第二网络设备分别按照该第二通知消息和该第三通知消息的指示操作的情况下,向该目标设备发送第四通知消息,该第四通知消息用于指示该目标设备恢复对该第四报文流的处理。
63.一种可能的实施方式中,该发送单元还用于:
64.在接收到来自该第一网络设备的第二响应消息,以及接收到来自该第二网络设备的第三响应消息的情况下,向该目标设备发送该第四通知消息,该第二响应消息用于指示该第一网络设备已经将该第一报文流切换为该第二报文流,该第三响应消息用于指示该第二网络设备已经将该第三报文流切换为该第四报文流。
65.第七方面,本技术公开了一种设备,该设备包括:
66.接收单元,用于接收第一通知消息,该第一通知消息用于指示将发往目标设备的第一报文流切换为第二报文流,并暂停向目标设备发送该第二报文流;
67.处理单元,用于基于该第一通知消息将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流。
68.一种可能的实施方式中,该设备还包括:
69.发送单元,用于向控制器发送响应消息,该响应消息用于指示该网络设备已经暂停向该目标设备发送该第二报文流。
70.一种可能的实施方式中,该接收单元,还用于接收第二通知消息,该第二通知消息用于指示向该目标设备发送该第二报文流;
71.该设备还包括发送单元,用于基于该第二通知消息向该目标设备发送该第二报文流。
72.一种可能的实施方式中,该暂停向目标设备发送该第二报文流,包括:
73.延迟预设时长向该目标设备发送该第二报文流。
74.第八方面,本技术公开了一种设备,该设备包括:
75.接收单元,用于接收第一通知消息,该第一通知消息用于指示对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;
76.处理单元,用于基于该第一通知消息,对于该第一目标报文流和该第二目标报文流,仅选择该第一目标报文流转发。
77.一种可能的实施方式中,该接收单元还用于:
78.接收第二通知消息,该第二通知消息用于指示恢复对该第四报文流的处理;
79.该设备还包括处理单元,用于基于该第二通知消息恢复对该第四报文流的处理。
80.第九方面,本技术公开了一种设备,该设备包括处理器、接收接口、发送接口和存储器,其中,该存储器用于存储计算机程序和/或数据,该接收接口用于接收报文,该发送接
口用于发送报文,该处理器用于执行该存储器中存储的计算机程序,使得该设备执行如下操作:
81.通过发送接口向第一网络设备发送第一通知消息,该第一通知消息用于指示该第一网络设备将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流;
82.在该第一网络设备暂停向该目标设备发送该第二报文流的情况下,通过发送接口向第二网络设备发送第二通知消息,该第二通知消息用于指示该第二网络设备将发往该目标设备的第三报文流切换为第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同。
83.一种可能的实施方式中,该在该第一网络设备暂停向该目标设备发送该第二报文流的情况下,通过发送接口向第二网络设备发送第二通知消息,包括:
84.在通过接收接口接收到来自该第一网络设备的第一响应消息的情况下,通过发送接口向该第二网络设备发送该第二通知消息,该第一响应消息用于指示该第一网络设备已经暂停向该目标设备发送该第二报文流。
85.一种可能的实施方式中,该所述设备还执行如下操作:在该第二网络设备将发往该目标设备的第三报文流切换为第四报文流的情况下,通过发送接口向该第一网络设备发送第三通知消息,该第三通知消息用于指示该第一网络设备向该目标设备发送该第二报文流。
86.一种可能的实施方式中,该暂停向该目标设备发送该第二报文流,包括:延迟预设时长向目标设备发送该第一报文流和该第二报文流。
87.第十方面,本技术公开了一种设备,该设备包括处理器、接收接口、发送接口和存储器,其中,该存储器用于存储计算机程序和/或数据,该接收接口用于接收报文,该发送接口用于发送报文,该处理器用于执行该存储器中存储的计算机程序,使得该设备执行如下操作:
88.通过发送接口向目标设备发送第一通知消息,该第一通知消息用于指示该目标设备对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;
89.在该目标设备按照该第一通知消息的指示操作的情况下,通过发送接口向该第一网络设备发送第二通知消息,以及通过发送接口向该第二网络设备发送第三通知消息,该第二通知消息用于指示该第一网络设备将该第一报文流切换为该第二报文流,该第三通知消息用于指示该第二网络设备将该第三报文流切换为该第四报文流。
90.一种可能的实施方式中,该在该目标设备按照该第一通知消息的指示操作的情况下,通过发送接口向该第一网络设备发送第二通知消息,以及通过发送接口向该第二网络设备发送第三通知消息,包括:
91.在通过接收接口接收到来自该目标设备的第一响应消息的情况下,通过发送接口向该第一网络设备发送该第二通知消息,以及向该第二网络设备发送该第三通知消息,该第一响应消息用于指示该目标设备已经按照该第一通知消息的指示操作。
92.一种可能的实施方式中,该设备还执行如下操作:在该第一网络设备和该第二网络设备分别按照该第二通知消息和该第三通知消息的指示操作的情况下,通过发送接口向该目标设备发送第四通知消息,该第四通知消息用于指示该目标设备恢复对该第四报文流的处理。
93.一种可能的实施方式中,该在该第一网络设备和该第二网络设备分别按照该第二通知消息和该第三通知消息的指示操作的情况下,通过发送接口向该目标设备发送第四通知消息,包括:
94.在通过接收接口接收到来自该第一网络设备的第二响应消息,以及通过接收接口接收到来自该第二网络设备的第三响应消息的情况下,通过发送接口向该目标设备发送该第四通知消息,该第二响应消息用于指示该第一网络设备已经将该第一报文流切换为该第二报文流,该第三响应消息用于指示该第二网络设备已经将该第三报文流切换为该第四报文流。
95.第十一方面,本技术公开了一种设备,该设备包括处理器、接收接口、发送接口和存储器,其中,该存储器用于存储计算机程序和/或数据,该接收接口用于接收报文,该发送接口用于发送报文,该处理器用于执行该存储器中存储的计算机程序,使得该设备执行如下操作:
96.通过接收接口接收第一通知消息,该第一通知消息用于指示将发往目标设备的第一报文流切换为第二报文流,并暂停向目标设备发送该第二报文流;
97.基于该第一通知消息将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流。
98.一种可能的实施方式中,该设备还执行如下操作:通过发送接口向控制器发送响应消息,该响应消息用于指示该网络设备已经暂停向该目标设备发送该第二报文流。
99.一种可能的实施方式中,该设备还执行如下操作:通过接收接口接收第二通知消息,该第二通知消息用于指示向该目标设备发送该第二报文流;基于该第二通知消息通过发送接口向该目标设备发送该第二报文流。
100.一种可能的实施方式中,该暂停向目标设备发送该第二报文流,包括:延迟预设时长向该目标设备发送该第二报文流。
101.第十二方面,本技术公开了一种设备,该设备包括处理器、接收接口、发送接口和存储器,其中,该存储器用于存储计算机程序和/或数据,该接收接口用于接收报文,该发送接口用于发送报文,该处理器用于执行该存储器中存储的计算机程序,使得该设备执行如下操作:
102.通过接收接口接收第一通知消息,该第一通知消息用于指示对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;
103.基于该第一通知消息,对于该第一目标报文流和该第二目标报文流,仅选择该第一目标报文流转发。
104.一种可能的实施方式中,该设备还执行如下操作:通过接收接口接收第二通知消
息,该第二通知消息用于指示恢复对该第四报文流的处理;基于该第二通知消息恢复对该第四报文流的处理。
105.第十三方面,本技术公开了一种系统,该系统包括控制器和网络设备,该控制器为上述第五方面及其可能的实施方式中任一项所述的设备,该网络设备为上述第七方面及其可能的实施方式中任一项所述的设备;或者,该控制器为上述第九方面及其可能的实施方式中任一项所述的设备,该网络设备为上述第十一方面及其可能的实施方式中任一项所述的设备。
106.第十四方面,本技术公开了一种系统,所述系统包括控制器和目标设备,该控制器为上述第六方面及其可能的实施方式中任一项所述的设备,该网络设备为上述第八方面及其可能的实施方式中任一项所述的设备;或者,该控制器为上述第十方面及其可能的实施方式中任一项所述的设备,该网络设备为上述第十二方面及其可能的实施方式中任一项所述的设备。
107.第十五方面,本技术公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面及其可能的实施方式中任意一项所述的方法;或者,所述计算机程序被处理器执行以实现上述第二方面及其可能的实施方式中任意一项所述的方法;或者,所述计算机程序被处理器执行以实现上述第三方面及其可能的实施方式中任意一项所述的方法;或者,所述计算机程序被处理器执行以实现上述第四方面及其可能的实施方式中任意一项所述的方法。
108.第十六方面,本技术公开了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,上述第一方面及其可能的实施方式中任意一项所述的方法将被执行;或者,如上述第二方面及其可能的实施方式中任意一项所述的方法将被执行;或者,如上述第三方面及其可能的实施方式中任意一项所述的方法将被执行;或者,如上述第四方面及其可能的实施方式中任意一项所述的方法将被执行。
109.第十七方面,本技术公开了一种计算机程序,当所述计算机程序在计算机上执行时,将会使所述计算机实现上述第一方面及其可能的实施方式中任意一项所述的方法;或者,将会使所述计算机实现上述第二方面及其可能的实施方式中任意一项所述的方法;或者,将会使所述计算机实现上述第三方面及其可能的实施方式中任意一项所述的方法;或者,将会使所述计算机实现上述第四方面及其可能的实施方式中任意一项所述的方法。
110.上述第五方面至第十七方面提供的方案,用于实现或配合实现上述第一方面至第四方面中对应提供的方法,因此可以与第一方面至第四方面中对应的方法达到相同或相应的有益效果,此处不再进行赘述。
111.综上所述,本技术对于通过两个不同传输路径的两个报文流传输相同的媒体数据的场景,在需要进行媒体数据切换的过程中,可以避免该两个传输路径的报文流合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
附图说明
112.下面将对本技术实施例中所需要使用的附图作介绍。
113.图1所示为本技术实施例适用的一种场景示意图;
114.图2所示为两路报文流合成一路数据的示意图;
115.图3所示为本技术适用的场景中的一种报文流传输示意图;
116.图4所示为另一种两路报文流合成一路数据的示意图;
117.图5至图11所示为本技术提供的报文流处理方法的流程示意图;
118.图12至图15为本技术提供的装置的逻辑结构示意图;
119.图16至图18为本技术提供的设备的硬件结构示意图。
具体实施方式
120.下面结合附图对本技术的实施例进行描述。
121.图1所示为本技术实施例提供的报文流切换处理方法的一种可能的应用场景。该应用场景中可以包括源服务器(source)101、源服务器102、网络设备103、网络设备104、媒体网关105、控制器106和终端107。其中,源服务器101和源服务器102分别与网络设备103建立通信连接,且分别与网络设备104建立通信连接;网络设备103和网络设备104分别与媒体网关105建立通信连接,媒体网关105与终端107建立通信连接;控制器106分别与网络设备103、网络设备104以及媒体网关105建立通信连接。
122.源服务器101和源服务器102可以提供媒体数据的报文流,通过网络设备103和网络设备104将这些报文流发送给媒体网关105,报文流经媒体网关105处理后,发送到终端107进行播放为用户提供服务。控制器106可以向网络设备103、网络设备104和媒体网关105发送通知消息,以控制网络设备103、网络设备104和媒体网关105的相关操作。例如,本技术实施例中,控制器可以向网络设备103和网络设备104发送切换传输的媒体数据的通知消息,以用于控制网络设备103和网络设备104进行对应媒体数据报文流的传输切换。
123.一种可能的实施方式中,本技术所述的报文流可以是组播流。
124.示例性地,源服务器101和源服务器102可以是流媒体服务器或者电视台服务器等。网络设备103和网络设备104可以是路由器或者交换机(例如三层交换机)等。控制器106可以是软件定义网络(software defined network,sdn)控制器等。终端107可以是电脑、智能手机或者车载显示设备等智能终端。
125.本技术实施例提供的报文流切换处理方法的应用场景不限于上述场景,可以应用本技术实施例提供的报文流切换处理方法的场景均在本技术的保护范围之内。
126.基于上述描述的应用场景,下面先介绍一下本技术实施例需要解决的技术问题。
127.电影与电视工程师学会(society of motion picture and television engineers,smpte)发布的标准(standard,st):smpte st2022 ip数据包的无缝保护切换(seamless protection switching of smpte st 2022ip datagrams)标准中,定义了制播网中同一个媒体数据可以封装在两个不同的报文流中进行传输,以实现故障保护切换。具体的:
128.1、该两个不同的报文流的五元组不同(主要是目的ip地址不同),但该两个不同的报文流的有效负载(load)和实时传输协议(real-time transport protocol,rtp)的序列号保持同步。以视频流为例,一个无压缩视频帧信息很多,一般一个帧就会有成千上万的超过1000字节的报文,每秒画面又由25~60幅视频帧组成,这些报文要在rtp层进行序列号分配;而该两个不同的报文流中的携带相同有效负载的报文的序列号需要相同。
129.上述五元组为源媒体存取控制(media access control,mac)地址、源ip地址、目
的ip地址、源用户数据包协议(user datagram protocol,udp)端口号和目的udp端口号。
130.2、该两个不同的报文流的传输路径一般要求不重合,那么经过的网络设备也不重合,从而可以防止出现单点故障时该两个不同的报文流同时中断,进而可以防止业务服务的中断。
131.3、该两个不同的报文流最后均会传输到同一个媒体网关,媒体网关接收到该两个不同的报文流后,按照预设规则从该两个不同的报文流中提取具体的有效负载合成完整的媒体数据发送给终端,以为用户提供服务。该预设规则可以是:媒体网关从先接收到预期序列号报文所在的报文流中,提取该预期序列号报文中的有效负载。根据该预设规则,可以在该两个不同的报文流中任一个报文流因故障中断传输时,仍然可以保持稳定的媒体数据输出到终端。
132.为了便于理解上述媒体网关从该两个不同的报文流中提取具体的有效负载合成完整的媒体数据的过程,可以示例性地参见图2。在图2中,假设上述两个不同的报文流为报文流a和报文流b,假设该两个报文流包括6个报文,相同序号的报文中的有效负载相同。假设媒体网关先从报文流a中接收到序号1的报文,那么提取报文流a中序号1报文的有效负载;而序号2和序号3的报文是先从报文流b中接收到的,那么,媒体网关从报文流b中提取序号2和序号3报文的有效负载;序号4和序号5的报文分别先从报文流a和报文流b中接收到,因此,媒体网关从报文流a中提取序号4报文的有效负载,从报文流b中提取序号5报文的有效负载。媒体网关提取到的有效负载也按提取的先后顺序合成最终的媒体数据流,发送给终端。
133.基于上述标准传输媒体数据报文流的情况下,若需要进行媒体数据的切换,例如多个摄像头输出的视频数据之间切换或者多个节目的视频数据之间切换,可以在报文流经过的网络设备中进行切换。可选的,报文流的切换可以是净切换。示例性地,参见图3,图3是上述图1所示的应用场景结合该标准得到的报文流传输示意图。
134.在图3中,源服务器101发出两个报文流,分别为报文流1和报文流3,该报文流1和报文流3即为上述介绍的携带相同媒体数据从两个不同传输路径传输的报文流,假设该报文流1和报文流3携带的媒体数据为媒体数据a。源服务器102发出两个报文流,分别为报文流2和报文流4,同样的,该报文流2和报文流4也是上述介绍的携带相同媒体数据从两个不同传输路径传输的报文流,假设该报文流2和报文流4携带的媒体数据为媒体数据b。
135.报文流1和报文流2经过网络设备103发送到媒体网关105,报文流3和报文流4经过网络设备104发送到媒体网关105。当控制器106接收到将媒体数据a的报文流切换为媒体数据b的报文流的通知消息时,控制器可以向网络设备103和网络设备104发送切换通知,指示网络设备103将发往媒体网关105的报文流1切换为报文流2,指示网络设备104将发往媒体网关105的报文流3切换为报文流4。但是在切换的过程中,由于上述相同媒体数据的两个不同报文流之间的传输路径和经过的网络设备不重合,存在延时不同步的情况,导致网络设备103和网络设备104的切换不同步。不同步切换之后的两个报文流传输到媒体网关进行媒体数据合成时,会使得合成的媒体数据掺杂有切换前的媒体数据a和切换后的媒体数据b,该合成的媒体数据发送到终端107进行播放时会出现不稳定现象。例如,媒体数据若是视频数据,则会在终端播放时出现花屏等现象;媒体数据若是音频数据,则会在终端播放时出现嘈杂混乱的声音等。
136.为了便于理解上述网络设备103和网络设备104的切换不同步导致媒体网关合成的媒体数据混杂的情况,可以示例性地参见图4。对于报文流1切换为报文流2,假设网络设备103是在序号2的报文后切换的;对于报文流3切换为报文流4,由于延时不同步,假设网络设备104是在序号4的报文后切换的。切换完成后,网络设备103和网络设备104继续将报文流发送给媒体网关,媒体网关基于接收到报文流进行媒体数据的合成。参见图4中合成的媒体数据,发现序号3的媒体数据是来自报文流2,序号4的媒体数据来自报文流3,序号5的媒体数据来自报文流4;报文流2和报文流4传输的媒体数据属于同一种数据,均为上述媒体数据b,而报文流3中的媒体数据为上述媒体数据a,可以看到该合成媒体数据中媒体数据a和媒体数据b中交错掺杂。这个合成的媒体数据发送到终端播放时即会出现上述不稳定的现象,影响用户体验。
137.需要说明的是,上述图4是以报文为基本单位进行介绍,具体实施例中网络设备也可以以数据帧例如视频帧为基本单位进行流的切换,本技术对此不作限制。
138.为了解决上述媒体数据切换过程中终端侧出现不稳定现象的问题,本技术提供了一种报文流切换处理方法,该方法可以应用于上述图1和图3所示的场景架构中。参见图5,该方法可以包括但不限于如下步骤:
139.501、控制器向第一网络设备发送第一通知消息,该第一通知消息用于指示该第一网络设备将发往目标设备的第一报文流切换为第二报文流,并暂停向目标设备发送所述第二报文流。
140.示例性地,该控制器可以是上述图1和图3中所示的控制器106。该第一网络设备可以是图1和图3中所示的网络设备103或者网络设备104。该目标设备可以是图1和图3中所示的媒体网关105,或者可以是其它的网间连接器或者协议转换器,该网间连接器或者协议转换器同样地可以实现媒体网关105在本技术实施例中所实现的功能。
141.具体实施例中,控制器接收将发往目标设备的第一媒体数据切换为第二媒体数据的指示,该指示包括传输该第一媒体数据的报文流的标识和传输该第二媒体数据的报文流的标识。示例性地,报文流的标识可以是报文流对应的五元组信息。假设传输该第一媒体数据的报文流包括上述第一报文流,假设传输该第二媒体数据的报文流包括上述第二报文流。另外,基于上述smpte st 2022ip数据包的无缝保护切换标准,传输该第一媒体数据的报文流除了该第一报文流还包括另外一个报文流,假设称为第三报文流;同理,基于该标准,传输该第二媒体数据的报文流除了该第二报文流还包括另外一个报文流,假设称为第四报文流。
142.控制器基于接收到的指示中该第一报文流、第二报文流、第三报文流和第四报文流的标识,查找到该几个报文流的传输路径经过的网络设备。假设该第一报文流和第二报文流经过的网络设备为上述第一网络设备,该第三报文流和第四报文流经过的网络设备为第二网络设备。
143.示例性地,若第一网络设备为图3中的网络设备103,那么,上述第二网络设备为图3中的网络设备104,上述第一报文流、第二报文流、第三报文流和第四报文流分别为图3中所示的报文流1、报文流2、报文流3和报文流4。若第一网络设备为图3中的网络设备104,那么,上述第二网络设备为图3中的网络设备103,上述第一报文流、第二报文流、第三报文流和第四报文流分别为图3中所示的报文流3、报文流4、报文流1和报文流2。
144.控制器查找到上述第一报文流和第二报文流经过的网络设备为第一网络设备后,向该第一网络设备发送第一通知消息。示例性地,该第一通知消息可以包括该第一报文流和该第二报文流的标识,以及包括将该第一报文流切换为第二报文流的动作指示信息和暂停将该第二报文流发送给上述目标设备的动作指示信息。
145.一种可能的实施方式中,上述第一通知消息不限于是一个通知消息,示例性地,该第一通知消息可以包括两个单独的通知消息,其中一个通知消息中包括将该第一报文流切换为第二报文流的动作指示信息,用于指示第一网络设备执行该切换操作。另一个通知消息中包括暂停将该第二报文流发送给上述目标设备的动作指示信息,用于指示该暂停的操作。
146.502、第一网络设备接收第一通知消息,并基于该第一通知消息执行该切换和暂停的操作。
147.一种可能的实施方式中,第一网络设备接收到上述第一通知消息后,基于该消息中的指示将发往目标设备的第一报文流切换为第二报文流,并且在切换完成的同时暂停向上述目标设备发送该第二报文流。另外,虽然暂停向目标设备发送该第二报文流,但是该第一网络设备还是会继续更新该第二报文流的报文时戳和序列号,以便恢复转发时序列号及时戳正确。
148.一种可能的实施方式中,上述第一通知消息包括的暂停将该第二报文流发送给上述目标设备的动作指示信息,可以替换成暂停将上述第一报文流和第二报文流发送给上述目标设备的动作指示信息。然后,第一网络设备接收到该第一通知消息后,可以是先暂停向目标设备发送该第一报文流,然后,将该第一报文流切换成第二报文流,由于该第一网络设备暂停了向目标设备发送该第一报文流,那么第一报文流切换为第二报文流后,仍然暂停向上述目标设备发送。同样的,虽然暂停向目标设备发送该第二报文流,但是该第一网络设备还是会继续更新该第二报文流的报文时戳和序列号,以便恢复转发时序列号及时戳正确。
149.一种可能的实施方式中,该暂停将该第二报文流发送给上述目标设备可以包括:延迟预设时长后将该第二报文流发送给上述目标设备。示例性地,该预设时长可以是20微秒、30微秒、45微秒或者58微秒等等,可以根据实际需要设置,本技术对此不做限制。
150.示例性地,第一网络设备延迟预设时长将该第二报文流发送给上述目标设备的操作可以通过如下方式实现:在该第一网络设备的网络处理器(network processor,np)的流量管理(traffic management)模块中配置流量整形(shaping)值。示例性地,假设第二报文流的发送速率为v,延迟的预设时长为t,开始时先配置shaping值《v(shaping值比如为0.9a),np的处理器动态监控发送队列长度,如果当前发送队列长度/当前shaping值=t,则保持当前的shaping值,如果当前发送队列长度/当前shaping值》t,则将shaping值提高10%,如果当前发送队列长度/当前shaping值《t,则将shaping值减小10%。直到达到一个动态平衡,将延迟的预设时长t控制在要求的范围内。
151.503、控制器确定该第一网络设备暂停向该目标设备发送该第二报文流。
152.一种可能的实施方式中,该控制器确定该第一网络设备暂停向该目标设备发送该第二报文流可以通过如下方式实现:示例性地,参见图6,上述步骤502之后还可以包括如下操作:
153.503a、第一网络设备向控制器发送第一响应消息,用于指示该第一网络设备已经完成对应切换和暂停的操作。
154.503b、控制器接收该第一响应消息,确定第一网络设备执行了对应切换和暂停的操作。
155.具体的,上述第一网络设备接收到控制器的第一通知消息后,响应于上述切换和暂停的动作指示信息完成了对应操作。然后,该第一网络设备向控制器发送第一响应消息,用于向控制器指示该第一网络设备已经完成了该切换和暂停的操作。控制器接收到该第一响应消息后,确定该第一网络设备已经执行了该切换和暂停的操作。
156.可选的,若上述控制器另外向第一网络设备发送通知消息来指示第一网络设备将第一报文流切换为第二报文流,那么,第一网络设备也可以另外向控制器发送一个响应消息,用于向控制器指示该第一网络设备完成了第一报文流与第二报文流之间的切换。
157.另一种可能的实施方式中,控制器可以自向第一网络设备发送上述第一通知消息起,开始设置一个定时器或者计时器用于计时,当计时达到设定的时长时,则控制器确定该第一网络设备已经执行了上述暂停将该第一报文流和第二报文流发送给上述目标设备的操作。可选的,当该计时达到设定的时长时,控制器还可以确定该第一网络设备完成了第一报文流与第二报文流之间的切换。
158.504、控制器向第二网络设备发送第二通知消息,该第二通知消息用于指示该第二网络设备将发往该目标设备的第三报文流切换为第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和第二报文流的有效负载相同。
159.基于前面的描述可知,该第三报文流和上述第一报文流的有效负载均为上述第一媒体数据,该第四报文流和上述第二报文流的有效负载均为上述第二媒体数据,通过两路不同传输路径的报文流传输相同的有效负载即媒体数据,可以避免因单点故障导致服务中断。
160.该控制器确定该第一网络设备已经完成第一报文流和第二报文流之间的切换,并暂停向该目标设备发送该第二报文流后,该控制器向上述第二网络设备发送第二通知消息。示例性地,该第二通知消息可以包括该第三报文流和该第四报文流的标识,以及包括将发往目标设备的第三报文流切换为第四报文流的动作指示信息,用于指示第二网络设备进行报文流的切换。
161.505、第二网络设备接收该第二通知消息,并基于第二通知消息将第三报文流切换为第四报文流。
162.具体的,第二网络设备接收该第二通知消息后,基于该第二通知消息的指示信息,将发往目标设备的第三报文流切换为第四报文流。
163.综上所述,本技术实施例中,对于上述通过两个不同传输路径的两个报文流传输相同的媒体数据的场景,在需要进行媒体数据切换的过程中,可以先暂停其中一个传输路径的报文流的发送,使得另一个传输路径的报文流在切换的过程中总是可以先到达上述目标设备(例如媒体网关),这样在目标设备进行媒体数据合成时,总是提取该先到达的报文流中的媒体数据用于合成,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
164.一种可能的实施方式中,参见图7,本技术提供的报文流切换处理方法还可以包括
如下步骤:
165.506、该控制器确定该第二网络设备将发往该目标设备的第三报文流切换为第四报文流。
166.一种可能的实施方式中,该控制器确定该第二网络设备将发往该目标设备的第三报文流切换为第四报文流可以通过如下方式实现:示例性地,参见图8,上述步骤505之后还可以包括如下操作:
167.506a、第二网络设备向控制器发送第二响应消息,用于指示该第二网络设备已经将第三报文流切换为第四报文流。
168.506b、控制器接收该第二响应消息,确定第二网络设备将发往目标设备的第三报文流切换为第四报文流。
169.具体的,上述第二网络设备接收到控制器的第二通知消息后,响应于将发往目标设备的第三报文流切换为第四报文流的动作指示信息完成了对应的切换操作。然后,该第二网络设备向控制器发送第二响应消息,用于向控制器指示该第二网络设备已经将发往目标设备的第三报文流切换为第四报文流。控制器接收到该第二响应消息后,确定该第二网络设备已经执行了对应切换的操作。
170.另一种可能的实施方式中,控制器可以自向第二网络设备发送上述第二通知消息起,开始设置一个定时器或者计时器用于计时,当计时达到设定的时长时,则控制器确定该第二网络设备已经执行了上述将发往目标设备的第三报文流切换为第四报文流的操作。
171.507、该控制器向该第一网络设备发送第三通知消息,该第三通知消息用于指示该第一网络设备恢复到原始的处理速度向该目标设备发送报文流,该原始的处理速度为该第一网络设备接收该第一通知消息前的处理速度。
172.具体实施例中,控制器确定上述第一网络设备完成了将发往目标设备的第一报文流切换为第二报文流的操作后,并且确定该第二网络设备将发往该目标设备的第三报文流切换为第四报文流后,可以向第一网路设备发送上述第三通知消息,该第三通知消息可以包括指示该第一网络设备恢复原始的处理速度向目标设备发送报文流的动作指示信息。示例性地,该第三通知消息可以包括第二报文流的标识,以及包括向目标设备发送该第二报文流的动作指示信息。
173.508、第一网络设备接收上述第三通知消息,并恢复原始的报文流处理速度。
174.第一网络设备接收到上述第三通知消息后,基于消息中恢复原始的处理速度向目标设备发送报文流的动作指示信息,撤销上述暂停向目标设备发送报文流的操作。并且,由于第一网络设备完成了将发往目标设备的第一报文流切换为第二报文流的操作,因此,第一网络设备开始正常地向目标设备发送该第二报文流。
175.在本技术中,上述第一网络设备暂停发送报文流的过程中,同时完成了对应传输路径中的报文流的切换,然后,在第二网络设备完成报文流的切换后,恢复原始的报文流处理速度,正常将切换后的报文流发送给目标设备,这样两个网络设备切换后的报文流均可以正常传输,由于该切换后的两个报文流传输的媒体数据相同,从而在解决了上述合成的媒体数据发送到终端播放时出现不稳定问题的同时,还可以继续避免因单点故障导致服务中断的问题。
176.为了解决上述媒体数据切换过程中终端侧出现不稳定现象的问题,本技术提供另
一种报文流切换处理方法,该方法同样可以应用于上述图1和图3所示的场景架构中。需要说明的是,本实施例中所提到的用于区分不同通知消息的“第一通知消息”、“第二通知消息”和“第三通知消息”与上述图5至图8中对应相同称呼的通知消息可以是不同的消息;同理,本实施例中所提到的用于区分不同响应消息的“第一响应消息”、“第二响应消息”和“第三响应消息”与上述图5至图8中对应相同称呼的响应消息可以是不同的消息。
177.参见图9,本技术提供的另一种报文流切换处理方法可以包括但不限于如下步骤:
178.901、控制器向目标设备发送第一通知消息,该第一通知消息用于指示该目标设备对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发。
179.该来自第一网络设备的第一目标报文流为来自第一网络设备的第一报文流和第二报文流,该来自第二网络设备的第二目标报文流为来自第二网络设备的第三报文流和第四报文流。
180.本实施例中的控制器、目标设备、第一网络设备、第二网络设备、第一报文流、第二报文流、第三报文流和第四报文流与上述图1和图3中所示的对象之间的对应关系可以示例性地参见上述步骤501中对应的描述,此处不再赘述。
181.具体实施例中,控制器接收将发往目标设备的第一媒体数据切换为第二媒体数据的指示,该指示的相关描述也可以参见上述步骤501中对应的描述,此处不再赘述。
182.控制器基于接收到的指示中该第一报文流、第二报文流、第三报文流和第四报文流的标识查找到该几个报文流到达的目标设备(例如上述媒体网关)。然后,控制器向该目标设备发送上述第一通知消息。示例性地,该第一通知消息包括第一报文流、第二报文流、第三报文流和第四报文流的标识,以及包括对应的动作指示信息。该动作指示信息用于指示该目标设备对于接收到的上述第一目标报文流和上述第二目标报文流,仅选择第一目标报文流转发。
183.902、目标设备接收该第一通知消息,并按照该第一通知消息的指示执行对应操作。
184.具体的,目标设备基于该第一通知消息的指示,对于从第一网络设备接收到的第一报文流和第二报文流,以及从第二网络设备接收到的第三报文流和第四报文流,仅选择提取来自第一网络设备的该第一报文流和第二报文流中的媒体数据用于合成发送给终端的媒体数据。
185.903、控制器确定该目标设备按照该第一通知消息的指示执行操作。
186.一种可能的实施方式中,该控制器确定该目标设备按照该第一通知消息的指示执行操作可以通过如下方式实现:示例性地,参见图10,上述步骤902之后还可以包括如下操作:
187.903a、目标设备向控制器发送第一响应消息,用于指示该目标设备已经延按照该第一通知消息的指示执行对应操作。
188.903b、控制器接收该第一响应消息,确定目标设备按照该第一通知消息的指示执行对应操作。
189.具体的,上述目标设备接收到控制器的第一通知消息后,响应于该第一通知消息的指示执行对应操作。然后,该目标设备向控制器发送第一响应消息,用于向控制器指示该
目标设备已经执行了该第一通知消息指示执行的操作。控制器接收到该第一响应消息后,可以确定该目标设备已经按照该第一通知消息的指示执行操作。
190.另一种可能的实施方式中,控制器可以自向目标设备发送上述第一通知消息起,开始设置一个定时器或者计时器用于计时,当计时达到设定的时长时,则控制器确定该目标设备已经按照该第一通知消息的指示执行操作。
191.904、该控制器向该第一网络设备发送第二通知消息,以及向该第二网络设备发送第三通知消息,该第二通知消息用于指示该第一网络设备将该第一报文流切换为该第二报文流,该第三通知消息用于指示该第二网络设备将该第三报文流切换为该第四报文流。
192.在上述控制器确定目标设备已经按照上述第一通知消息的指示执行操作后,该控制器可以向第一网络设备发送第二通知消息,以及向第二网络设备发送第三通知消息。示例性地,该第二通知消息可以包括第一报文流和第二报文流的标识,以及包括指示该第一网络设备将发往目标设备的第一报文流切换为第二报文流的动作指示信息。同理,示例性地,该第三通知消息可以包括第三报文流和第四报文流的标识,以及包括指示该第二网络设备将发往目标设备的第三报文流切换为第四报文流的动作指示信息。
193.905、第一网络设备接收该第二通知消息,并基于第二通知消息将第一报文流切换为第二报文流;第二网络设备接收该第三通知消息,并基于第三通知消息将第三报文流切换为第四报文流。
194.具体的,第一网络设备接收到上述第二通知消息后,基于该消息中的动作指示信息将发往目标设备的第一报文流切换为第二报文流。同理,第二网络设备接收到上述第三通知消息后,基于该消息中的动作指示信息将发往目标设备的第三报文流切换为第四报文流。
195.本技术实施例中,对于上述通过两个不同传输路径的两个报文流传输相同的媒体数据的场景,在需要进行媒体数据切换的过程中,可以控制上述目标设备(例如媒体网关)仅选择其中一个传输路径发送过来的报文进行媒体数据合成,这样在目标设备进行媒体数据合成时,不需要交替地从该两个传输路径发送过来的报文流提取报文数据,避免了切换过程中合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
196.一种可能的实施方式中,参见图11,上述图9或图10提供的报文流切换处理方法还可以包括如下步骤:
197.906、控制器确定该第一网络设备和第二网络设备完成报文流的切换。
198.对于控制器确定该第一网络设备完成报文流的切换:
199.一种可能的实施方式中,上述第一网络设备接收到控制器的第二通知消息后,响应于该第二通知消息的指示执行对应操作。然后,该第一网络设备向控制器发送第二响应消息,用于向控制器指示该第一网络设备已经将发往目标设备的第一报文流切换为第二报文流。控制器接收到该第二响应消息后,可以确定该第一网络设备已经按照该第二通知消息的指示执行操作。
200.另一种可能的实施方式中,控制器可以自向第一网络设备发送上述第二通知消息起,开始设置一个定时器或者计时器用于计时,当计时达到设定的时长时,则控制器确定该第一网络设备已经按照该第二通知消息的指示执行操作。
201.对于控制器确定该第二网络设备完成报文流的切换:
202.一种可能的实施方式中,上述第二网络设备接收到控制器的第三通知消息后,响应于该第三通知消息的指示执行对应操作。然后,该第二网络设备向控制器发送第三响应消息,用于向控制器指示该第二网络设备已经将发往目标设备的第三报文流切换为第四报文流。控制器接收到该第三响应消息后,可以确定该第二网络设备已经按照该第三通知消息的指示执行操作。
203.另一种可能的实施方式中,控制器可以自向第二网络设备发送上述第三通知消息起,开始设置一个定时器或者计时器用于计时,当计时达到设定的时长时,则控制器确定该第二网络设备已经按照该第三通知消息的指示执行操作。
204.907、控制器向目标设备发送第四通知消息,用于指示恢复对第四报文流的处理。
205.具体的,控制器确定该第一网络设备和第二网络设备完成报文流的切换后,可以向目标设备发送上述第四通知消息。示例性地,该第四通知消息可以包括第四报文流的标识,以及包括恢复对该第四报文流的处理的动作指示信息。这里包括的是第四报文流的标识是由于第二网络设备已经将发往目标设备的第三报文流切换为第四报文流,因此此时来自第二网络设备的第二目标报文流为该第四报文流。
206.908、目标设备接收该第四通知消息,并基于第四通知消息恢复对第二目标报文流的处理。
207.目标设备接收到上述第四通知消息后,基于该消息的动作指示信息恢复正常的报文流处理操作,即对于来自第一网络设备的第二报文流和来自第二网络设备的第四报文流,依然按照上述从先接收到预期序列号报文的报文流中,提取该预期序列号报文中的有效负载的预设规则,提取第二报文流和第四报文流中的媒体数据用于合成,以发送给终端为用户提供服务。
208.在本技术中,在第一网络设备和第二网络设备完成报文流的切换后,目标设备(例如媒体网关)恢复原始的报文流处理方式,即按照上述标准正常接收和处理来自第一网络设备第二报文流和来自第二网络设备的第四报文流,由于该第二报文流和第四报文流传输的媒体数据相同,从而在解决了上述合成的媒体数据发送到终端播放时出现不稳定问题的同时,还可以继续避免因单点故障导致服务中断的问题。
209.需要说明的是,上述图5至图11中所述的各个通知消息中包括的内容不限于上述对应描述的内容,只要是可以实现对应功能的通知消息均在本技术的保护范围之内。
210.上述主要对本技术实施例提供的报文转发备份路径确定方法进行了介绍。可以理解的是,各个设备为了实现上述对应的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
211.本技术实施例可以根据上述方法示例对设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明
的是,本技术实施例对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
212.在采用对应各个功能划分各个功能模块的情况下,图12示出了装置的一种可能的逻辑结构示意图,该设备可以是上述图5至图8中所述的控制器,或者可以是该控制器中的芯片,或者可以是该控制器中的处理系统等。该装置1200包括发送单元1201。其中:
213.发送单元1201,用于向第一网络设备发送第一通知消息,该第一通知消息用于指示该第一网络设备将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流;该发送单元1201可以执行图5所示的步骤501中所述的操作。
214.该发送单元1201,还用于在该第一网络设备暂停向该目标设备发送该第二报文流的情况下,向第二网络设备发送第二通知消息,该第二通知消息用于指示该第二网络设备将发往该目标设备的第三报文流切换为第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同。该发送单元1201还可以执行图5所示的步骤504中所述的操作。
215.一种可能的实施方式中,该发送单元1201具体用于:在接收到来自该第一网络设备的第一响应消息的情况下,向该第二网络设备发送该第二通知消息,该第一响应消息用于指示该第一网络设备已经暂停向该目标设备发送该第二报文流。该发送单元1201还可以执行图6所示的步骤503a、503b和504中所述的操作。
216.一种可能的实施方式中,该发送单元1201还用于:在该第二网络设备将发往该目标设备的第三报文流切换为第四报文流的情况下,向该第一网络设备发送第三通知消息,该第三通知消息用于指示该第一网络设备向该目标设备发送该第二报文流。该发送单元1201还可以执行图7所示的步骤507中所述的操作。
217.一种可能的实施方式中,该暂停向该目标设备发送该第二报文流,包括:延迟预设时长向目标设备发送该第一报文流和该第二报文流。
218.可选地,上述装置1200还可以包括处理单元1202、接收单元1203和存储单元1204。存储单元1204用于存储数据或计算机指令。接收单元1203用于接收消息或报文。处理单元1202可以执行除了接收和发送数据或报文之外的其它操作。作为示例,接收单元1203可以为收发器或接口,存储单元1204可以为存储器,处理单元1202可以为处理器。
219.图12所示装置1200中各个单元的具体操作以及有益效果可以参见上述图5至图8所示方法实施例中对应的描述,此处不再赘述。
220.在采用对应各个功能划分各个功能模块的情况下,图13示出了装置的一种可能的逻辑结构示意图,该设备可以是上述图9至图11中所述的控制器,或者可以是该控制器中的芯片,或者可以是该控制器中的处理系统等。该装置1300包括发送单元1301。其中:
221.发送单元1301,用于向目标设备发送第一通知消息,该第一通知消息用于指示该目标设备对于来自第一网络设备的第一目标报文流和来自第二网络设备的第二目标报文流,仅选择该第一目标报文流转发,该第一目标报文流包括第一报文流和第二报文流,该第二目标报文流包括第三报文流和第四报文流,该第三报文流和第四报文流的有效负载分别与该第一报文流和该第二报文流的有效负载相同;该发送单元1301可以执行图9所示的步骤901中所述的操作。
222.该发送单元1301,还用于在该目标设备按照该第一通知消息的指示操作的情况
下,向该第一网络设备发送第二通知消息,以及向该第二网络设备发送第三通知消息,该第二通知消息用于指示该第一网络设备将该第一报文流切换为该第二报文流,该第三通知消息用于指示该第二网络设备将该第三报文流切换为该第四报文流。该发送单元1301还可以执行图9所示的步骤904中所述的操作。
223.一种可能的实施方式中,该发送单元1301具体用于:在接收到来自该目标设备的第一响应消息的情况下,向该第一网络设备发送该第二通知消息,以及向该第二网络设备发送该第三通知消息,该第一响应消息用于指示该目标设备已经按照该第一通知消息的指示操作。具体的可以参见上述图10中对步骤903a、903b和904中的对应描述。
224.一种可能的实施方式中,该发送单元1301还用于:在该第一网络设备和该第二网络设备分别按照该第二通知消息和该第三通知消息的指示操作的情况下,向该目标设备发送第四通知消息,该第四通知消息用于指示该目标设备恢复对该第四报文流的处理。该发送单元1301还可以执行图11所示的步骤907中所述的操作。
225.一种可能的实施方式中,该发送单元1301还用于:在接收到来自该第一网络设备的第二响应消息,以及接收到来自该第二网络设备的第三响应消息的情况下,向该目标设备发送该第四通知消息,该第二响应消息用于指示该第一网络设备已经将该第一报文流切换为该第二报文流,该第三响应消息用于指示该第二网络设备已经将该第三报文流切换为该第四报文流。
226.可选地,上述装置1300还可以包括处理单元1302、接收单元1303和存储单元1304。存储单元1304用于存储数据或计算机指令。接收单元1303用于接收消息或报文。处理单元1302可以执行除了接收和发送数据或报文之外的其它操作。作为示例,接收单元1303可以为收发器或接口,存储单元1304可以为存储器,处理单元1302可以为处理器。
227.图13所示装置1300中各个单元的具体操作以及有益效果可以参见上述图9至图11所示方法实施例中对应的描述,此处不再赘述。
228.在采用对应各个功能划分各个功能模块的情况下,图14示出了装置的一种可能的逻辑结构示意图,该设备可以是上述图5至图8中所述的第一网络设备,或者可以是该第一网络设备中的芯片,或者可以是该第一网络设备中的处理系统等。该装置1400包括接收单元1401和处理单元1402。其中:
229.接收单元1401,用于接收第一通知消息,该第一通知消息用于指示将发往目标设备的第一报文流切换为第二报文流,并暂停向目标设备发送该第二报文流;该接收单元1401可以执行图5所示的步骤502中所述的接收操作。
230.处理单元1402,用于基于该第一通知消息将发往目标设备的第一报文流切换为第二报文流,并暂停向该目标设备发送该第二报文流。处理单元1402可以执行图5所示的步骤502中所述的切换和暂停操作。
231.一种可能的实施方式中,该设备还包括:发送单元1403,用于向控制器发送响应消息,该响应消息用于指示该网络设备已经暂停向该目标设备发送该第二报文流。该发送单元1403可以执行图6所示的步骤503a中所述的操作。
232.一种可能的实施方式中,该接收单元1401,还用于接收第二通知消息,该第二通知消息用于指示向该目标设备发送该第二报文流;该接收单元1401还可以执行图8所示的步骤508中所述的接收操作。
memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)或便携式只读存储器(compact disc read-only memory,cd-rom)等。接收接口1603用于接收报文等信息,发送接口1605用于发送报文等信息。
245.示例性的,处理器1601可以是中央处理器单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器1601可以用于读取上述存储器1602中存储的程序,使得设备1600执行上述图5至图11以及可能的实施方式中,本技术提供的任意一个报文流切换处理方法所述的控制器所做的操作。
246.图17所示为本技术提供的设备的一种可能的硬件结构示意图,该设备可以是上述方法实施例中所述的控制器。该设备1700包括:处理器1701、存储器1702、接收接口1703和发送接口1705。处理器1701、接收接口1703、发送接口1705以及存储器1702可以相互连接或者通过总线1704相互连接。
247.示例性的,存储器1702用于存储设备1700的计算机程序和数据,存储器1702可以包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)或便携式只读存储器(compact disc read-only memory,cd-rom)等。接收接口1703用于接收报文等信息,发送接口1705用于发送报文等信息。
248.示例性的,处理器1701可以是中央处理器单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器1701可以用于读取上述存储器1702中存储的程序,使得设备1700执行上述图5至图11以及可能的实施方式中,本技术提供的任意一个报文流切换处理方法所述的第一网络设备所做的操作。
249.图18所示为本技术提供的设备的一种可能的硬件结构示意图,该设备可以是上述方法实施例中所述的控制器。该设备1800包括:处理器1801、存储器1802、接收接口1803和发送接口1805。处理器1801、接收接口1803、发送接口1805以及存储器1802可以相互连接或者通过总线1804相互连接。
250.示例性的,存储器1802用于存储设备1800的计算机程序和数据,存储器1802可以包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)或便携式只读存储器(compact disc read-only memory,cd-rom)等。接收接口1803用于接收报文等信息,发送接口1805用于发送报文等信息。
251.示例性的,处理器1801可以是中央处理器单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器1801可以用于读取上述存储器1802中存储的程序,使得设备1800执行上述图5至图11以及可能的实施方式中,本技术提供的任意一个报文流切换处理方法所述的目标设备所做的操作。
252.本技术还提供一种系统,该系统可以包括上述各个实施例所述的控制器、第一网络设备、第二网络设备和目标设备。
253.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述各个实施例及其可能的实施例中任意一个实施例中控制器所做的操作。
254.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述各个实施例及其可能的实施例中任意一个实施例中第一网络设备所做的操作。
255.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述各个实施例及其可能的实施例中任意一个实施例中目标设备所做的操作。
256.本技术实施例还提供一种计算机程序产品,当该计算机程序产品被计算机读取并执行时,上述各个实施例及其可能的实施例中任意一个实施例中控制器所做的操作将被执行。
257.本技术实施例还提供一种计算机程序产品,当该计算机程序产品被计算机读取并执行时,上述各个实施例及其可能的实施例中任意一个实施例中第一网络设备所做的操作将被执行。本技术实施例还提供一种计算机程序产品,当该计算机程序产品被计算机读取并执行时,上述各个实施例及其可能的实施例中任意一个实施例中目标设备所做的操作将被执行。
258.本技术实施例还提供一种计算机程序,当该计算机程序在计算机上执行时,将会使该计算机实现上述各个实施例及其可能的实施例中任意一个实施例中控制器所做的操作。
259.本技术实施例还提供一种计算机程序,当该计算机程序在计算机上执行时,将会使该计算机实现上述各个实施例及其可能的实施例中任意一个实施例中第一网络设备所做的操作。
260.本技术实施例还提供一种计算机程序,当该计算机程序在计算机上执行时,将会使该计算机实现上述各个实施例及其可能的实施例中任意一个实施例中目标设备所做的操作。
261.综上所述,本技术对于通过两个不同传输路径的两个报文流传输相同的媒体数据的场景,在需要进行媒体数据切换的过程中,可以避免该两个传输路径的报文流合成的媒体数据混乱的情况,从而可以避免合成的媒体数据发送到终端播放时出现不稳定的现象。
262.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一通知消息可以被称为第二通知消息,并且类似地,第二通知消息可以被称为第一通知消息。第一通知消息和第二通知消息都可以是通知消息,并且在某些情况下,可以是单独且不同的通知消息。
263.还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺
序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
264.还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
265.还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
266.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1