一种TLV数据包的过滤方法、存储介质及终端设备与流程

文档序号:30491231发布日期:2022-06-22 01:54阅读:170来源:国知局
一种TLV数据包的过滤方法、存储介质及终端设备与流程
一种tlv数据包的过滤方法、存储介质及终端设备
技术领域
1.本发明涉及电视技术领域,特别涉及一种tlv数据包的过滤方法、存储介质及终端设备。


背景技术:

2.在日本isdb s3数字电视广播系统中,tlv数据包的全流数据从kernel层传输到user层,其中包含了大量不需要的数据在解析后丢弃,但是需要丢弃的数据也要拷贝到user层,这个过程导致系统带宽占用高,从而导致cpu的占用率过高,降低了系统的流畅度。
3.因而现有技术还有待改进和提高。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的不足,提供一种tlv数据包的过滤方法、存储介质及终端设备,以解决现有技术中需要丢弃的数据也要拷贝到user层,且这个过程导致系统带宽占用高的问题。
5.本发明所采用的技术方案如下:
6.第一方面,本发明实施例提供一种tlv数据包的过滤方法,其包括:
7.当接收到tlv数据包时,判断所述tlv数据包对应的有效负载类型;
8.当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤。
9.作为进一步的改进技术方案,所述判断所述tlv数据包对应的有效负载类型具体包括:
10.获取所述tlv数据包的包头指定区域的字符串;
11.根据所述字符串判断所述tlv数据包对应的有效负载类型。
12.作为进一步的改进技术方案,所述获取所述tlv数据包的包头指定区域的字符串具体为:
13.对所述tlv数据包的包头的第二个字节进行解析,以得到字符串。
14.作为进一步的改进技术方案,所述根据所述字符串判断所述tlv数据包对应的有效负载类型具体包括:
15.将所述字符串与预设的字符串进行比较;
16.当所述字符串与预设的字符串相同时,所述tlv数据包对应的有效负载类型为预设的有效负载类型。
17.作为进一步的改进技术方案,所述当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤具体包括:
18.当所述有效负载类型为预设的有效负载类型时,丢弃所述tlv数据包。
19.作为进一步的改进技术方案,所述当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤具体包括:
20.当所述有效负载类型为预设的有效负载类型时,获取所述tlv数据包对应的编号;
21.当所述编号与预设的编号不相匹配时,丢弃所述tlv数据包。
22.作为进一步的改进技术方案,所述当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤具体包括:
23.当所述有效负载类型为预设的有效负载类型时,获取电视的使用场景;
24.当所述使用场景为第一使用场景时,丢弃所述tlv数据包;
25.当所述使用场景为第二使用场景时,获取所述tlv数据包对应的编号;
26.当所述编号与预设的编号不相匹配时,丢弃所述tlv数据包。
27.第二方面,本发明实施例提供一种tlv数据包的过滤装置,所述装置包括:
28.判断模块,用于当接收到tlv数据包时,判断所述tlv数据包对应的有效负载类型;
29.过滤模块,用于当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤。
30.第三方面,本发明实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的tlv数据包的过滤方法中的步骤。
31.第四方面,本发明实施例提供一种终端设备,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上任意一项所述的tlv数据包的过滤方法中的步骤。
32.有益效果:与现有技术相比,本发明提供了一种tlv数据包的过滤方法、存储介质及终端设备,所述方法包括:当接收到tlv数据包时,确定所述tlv数据包对应的有效负载类型;当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤。本发明通过判断tlv数据包对应的有效负载类型,并当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤,这样可以显著减少数据的拷贝,从而降低cpu的占用率,提升系统的流畅度。
附图说明
33.图1为本发明提供的tlv数据包的过滤方法的流程图。
34.图2为本发明提供的媒体传输包的格式示意图。
35.图3为本发明提供的tlv数据包的过滤装置的结构示意图。
36.图4为本发明提供的终端设备的结构原理图。
具体实施方式
37.本发明提供一种tlv数据包的过滤方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
38.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在
中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
39.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
40.下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
41.本实施例提供了一种tlv数据包的过滤方法,如图1所示,所述方法包括:
42.s100、当接收到tlv数据包时,判断所述tlv数据包对应的有效负载类型。
43.具体地,在日本isdb s3数字电视广播系统中,tlv数据包的全流数据从kernel层传输到user层,其中包含了大量不需要的数据在解析后丢弃,但是需要丢弃的数据也要拷贝到user层,这个过程导致系统带宽占用高,从而导致cpu的占用率过高,降低了系统的流畅度。而本发明通过获取全流输出的tlv数据包,并当接收到的每个tlv数据包分别进行处理,从而可以显著减少从kernel到user层的数据拷贝,进而降低了cpu loading和系统总线占用,提升系统流畅度。
44.本实施例中,当接收到tlv数据包时,首先要判断tlv数据包对应的有效负载类型,当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤。相应的,所述判断所述tlv数据包对应的有效负载类型具体包括:
45.s10、获取所述tlv数据包的包头指定区域的字符串;
46.s20、根据所述字符串判断所述tlv数据包对应的有效负载类型。
47.具体地,所述包头指定区域为包头的第二个字节,在实际应用中,如图2所示,图2为本发明提供的媒体传输包的格式示意图。所述包头为tlv数据包对应的媒体传输包的的包头,所述获取所述tlv数据包的包头指定区域的字符串具体为:对所述tlv数据包的包头的第二个字节进行解析,以得到字符串。本实施例中,通过判断包头的第二个字节的低6位,即可得到tlv数据包的有效负载类型。例如,当第二个字节为0x00时,tlv数据包对应的有效负载类型为mpu类型(媒体播放单元);当第二个字节为0x01时,tlv数据包对应的有效负载类型为信令消息类型。
48.相应的,在实际应用中,所述根据所述字符串判断所述tlv数据包对应的有效负载类型具体包括:
49.s21、将所述字符串与预设的字符串进行比较;
50.s22、当所述字符串与预设的字符串相同时,所述tlv数据包对应的有效负载类型为预设的有效负载类型。
51.具体地,所述预设的字符串为ox00,所述预设的有效负载类型为mpu类型,也就是说,当所述字符串与预设的字符串相同,即解析出的字符串为0x00时,即可以得到该tlv数据包对应的有效负载类型为mpu类型。说要说明的是,除了tlv-si数据和ntp包之外,其他数据都有媒体传输包的的包头,即mmtp header,从而只需要解析mmtp header的第2个字节,得到tlv数据包对应的有效负载类型就可以做出判断,从而提高了数据处理效率。
52.s200、当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过
滤。
53.本实施例中,在将数据包拷贝到用户层user之前就做了筛选,不需要的数据不拷贝到用户层,一般来说可以减少一半的系统带宽。相应的,所述当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤具体包括:当所述有效负载类型为预设的有效负载类型时,丢弃所述tlv数据包。可见,本发明中首先要判断tlv数据包的有效负载类型,然后当tlv数据包的有效负载类型为mpu类型时,就将该tlv数据包进行丢弃,例如,在用户搜台场景情况下,就不需要mpu类型的数据,所以可以直接将类型为mpu类型的tlv数据包进行丢弃。在实际应用中,当用户使用进行节目播放功能时,可以在系统设置编号,每个编号代表用户需要使用播放功能的节目信息,因此在本实施例的一个实现方式中,所述当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤具体包括:
54.当所述有效负载类型为预设的有效负载类型时,获取所述tlv数据包对应的编号;
55.当所述编号与预设的编号不相匹配时,丢弃所述tlv数据包。
56.具体地,所述预设的编号是根据用户的实际需要而进行设置,即可以通过获取tlv数据包的编号,并将该编号与预设的编号进行比对与匹配,当查找到与预设的编号一致时,则说明用户有需要使用到该tlv数据,所以需要将该tlv数据包上抛到用户层,这样减少了从kernel到user层的数据拷贝,降低了系统总线占用,丢弃的数据不会copy到user层,让user层处理数据量变少,降低了cpu loading;当未查找到与预设的编号一致时,则说明用户没有需要使用到该tlv数据包,所以需要将该tlv数据包进行抛弃。本发明实施例提供一种实现高效tlv过滤器的方法,减少带宽消耗和降低cpu loading,适用于不同硬件配置的系统。并且,不增加硬件成本,可以复用tlv demux(分解器)来处理信息,具有广泛的适应性。
57.进一步,在本实施例的一个实现方式中,还可以根据使用场景来进行判断对tlv数据包的过滤,相应的,所述当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤具体包括:
58.m01、当所述有效负载类型为预设的有效负载类型时,获取电视的使用场景;
59.m02、当所述使用场景为第一使用场景时,丢弃所述tlv数据包;
60.m03、当所述使用场景为第二使用场景时,获取所述tlv数据包对应的编号;
61.m04、当所述编号与预设的编号不相匹配时,丢弃所述tlv数据包。
62.具体地,使用场景包括是搜台或者节目播放等场景,本实施例中,所述第一使用场景为搜台等场景,第二使用场景为节目播放等场景,这样,本发明通过判断电视的使用场景,从而根据使用场景来采用不同的过滤方式,给用户的使用带来方便。
63.可以理解的,当所述tlv数据包对应的有效负载类型不是mpu类型时,那么该tlv数据包即是tlv-si/mmt-si类型,用户层在播放之前组织播放信息使用的,比如获取节目分辨率,获取解扰信息等等。那么该tlv数据包将仍然正常发送给用户层。
64.综上所述,与现有技术相比,本发明实施例具有以下优点:
65.本发明公开了一种tlv数据包的过滤方法,所述方法包括:当接收到tlv数据包时,确定所述tlv数据包对应的有效负载类型;当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤。本发明通过判断tlv数据包对应的有效负载类型,并当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤,这样可以显著减少数据
的拷贝,从而降低cpu的占用率,提升系统的流畅度。
66.基于上述tlv数据包的过滤方法,本发明还提供了一种tlv数据包的过滤装置,如图3所示,所述装置包括:
67.判断模块41,用于当接收到tlv数据包时,判断所述tlv数据包对应的有效负载类型;
68.过滤模块42,用于当所述有效负载类型为预设的有效负载类型时,对所述tlv数据包进行过滤。
69.需要说明的是,所属领域的技术人员可以清楚地了解到,上述tlv数据包的过滤装置和各模块的具体实现过程,可以参考前述tlv数据包的过滤方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
70.上述tlv数据包的过滤装置可以实现为一种计算机程序的形式,该计算机程序可以如图4所示的终端设备上运行。
71.基于上述tlv数据包的过滤方法,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的tlv数据包的过滤方法中的步骤。
72.基于上述tlv数据包的过滤方法,本发明还提供了一种终端设备,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
73.此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
74.存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
75.存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
76.此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
77.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1