CN111147931A - Tlv数据包的传输方法、装置、设备及可读存储介质 - Google Patents

Tlv数据包的传输方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111147931A
CN111147931A CN201911422619.0A CN201911422619A CN111147931A CN 111147931 A CN111147931 A CN 111147931A CN 201911422619 A CN201911422619 A CN 201911422619A CN 111147931 A CN111147931 A CN 111147931A
Authority
CN
China
Prior art keywords
tlv
data packets
slot
processed
tlv data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911422619.0A
Other languages
English (en)
Inventor
季培隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TCL New Technology Co Ltd
Original Assignee
Shenzhen TCL New Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen TCL New Technology Co Ltd filed Critical Shenzhen TCL New Technology Co Ltd
Priority to CN201911422619.0A priority Critical patent/CN111147931A/zh
Publication of CN111147931A publication Critical patent/CN111147931A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种TLV数据包的传输方法、装置、设备及可读存储介质,该方法包括步骤:当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷;将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间等于或者大于两个slot的内存空间;在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。本发明节省了在将slot拆分成TLV数据包过程中所需的内存空间,提高了在将slot拆分成TLV数据包过程中电视的运行效率。

Description

TLV数据包的传输方法、装置、设备及可读存储介质
技术领域
本发明涉及电视技术领域,尤其涉及一种TLV数据包的传输方法、装置、设备及可读存储介质。
背景技术
ISDB S3是一种电视标准,该标准中数据是以slot的形式传输的,每一个slot包含多个TLV的数据包。在电视处理数据过程中,要将slot拆分成TLV数据包然后传输到协议栈进行TLV的解析。其中,slot是ISDB S3标准中一用于包装TLV的数据的协议,一个slot包含多个TLV数据包;TLV是一种标准的数据封装协议,是以Type(标签)-Length(长度)-Value(内容)这种三段式的数据组织方式,value为有效载荷。
在将slot拆分成TLV数据包的过程中,由于slot的大小是固定的(在制作码流时设定好),所以每个slot中的TLV数据包不一定是完整的,可能一个slot包含了多个TLV数据包的完整数据,但是最后一个TLV数据包的前半段数据在这个slot中,后半段数据存放在下一个slot中,这样就会导致在分割出TLV数据包的流程中需要处理这种情况。通常的做法是在电视中额外分配一块内存,当遇到这种TLV不完整的数据包时,将该不完整的TLV片段写入该内存中进行拼装,拼完成后将TLV数据包传入协议栈。但是这样需要占用电视额外的内存空间,同时由于需要进行额外的拷贝,导致将slot拆分成TLV数据包的代码逻辑比较复杂,电视运行的效率也会比较低。
发明内容
本发明的主要目的在于提供一种TLV数据包的传输方法、装置、设备及可读存储介质,旨在解决现有的在将slot拆分成TLV数据包过程中,需要占用电视额外的内存空间,且导致电视运行效率低下的技术问题。
为实现上述目的,本发明提供一种TLV数据包的传输方法,所述TLV数据包的传输方法包括步骤:
当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷;
将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间等于或者大于两个slot的内存空间;
在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
优选地,所述将所述有效载荷拷贝到所述电视的预设内存中的步骤之后,还包括:
获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态;
若检测到各个所述有效载荷处于完整状态,则执行在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤。
优选地,所述获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态的步骤之后,还包括:
若存在所述有效载荷未处于完整状态,则确定未处于完整状态的有效载荷对应的slot为第一目标slot,以及确定所述第一目标slot对应有效载荷中待拼接的待处理第一数据;
将所述第一目标slot对应的上一个slot确定为第二目标slot,确定所述第二目标slot的有效载荷中属于最后一个TLV数据包的待处理第二数据;
所述在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤包括:
在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,并将所述待处理第一数据和所述待处理第二数据拼接成完整的TLV数据包传输给所述协议栈,以在所述协议栈中处理所述待处理数据。
优选地,所述获取各个所述slot的头文件的步骤之后,还包括:
根据所述待处理数据对应第一个所述slot的头文件检测所述第一个所述slot对应的有效目标载荷是否携带非法数据;
若检测到所述有效目标载荷携带非法数据,则删除所述有效目标载荷中的非法数据,得到处理后的有效目标载荷;
所述在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤包括:
在所述预设内存中将处理后的有效目标载荷和其余所述slot对应的有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
优选地,所述获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态的步骤包括:
获取各个所述slot的头文件,以及获取各个所述头文件中的前两个字节数;
若前两个字节数为预设字符,则确定携带所述预设字符头文件对应的有效载荷处于完整状态。
优选地,所述在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤包括:
在所述预设内存中将各个所述有效载荷切割成TLV数据包,获取各个所述TLV数据包的首指针;
将所述首指针发送给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
优选地,所述在所述预设内存中将各个所述有效载荷切割成TLV数据包的步骤包括:
获取各个所述有效载荷中的切割标识符,在所述预设内存中根据所述切割标识符切割对应将所述有效载荷切割成TLV数据包。
此外,为实现上述目的,本发明还提供一种TLV数据包的传输装置,所述TLV数据包的传输装置包括:
解析模块,用于当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷;
拷贝模块,用于将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间等于或者大于两个slot的内存空间;
切割模块,用于在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
此外,为实现上述目的,本发明还提供一种TLV数据包的传输设备,所述TLV数据包的传输设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的TLV数据包的传输程序,所述TLV数据包的传输程序被所述处理器执行时实现如上所述的TLV数据包的传输方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有TLV数据包的传输程序,所述TLV数据包的传输程序被处理器执行时实现如上所述的TLV数据包的传输方法的步骤。
本发明实现了在将slot拆分成TLV数据包的过程中,将所获取的slot的有效载荷拷贝到电视中等于或者大于两个slot的内存空间的预设内存中,在预设内存中将有效载荷拆分成TLV数据包,避免了由于slot内存空间大小的限制,当一个TLV数据包对应的数据存在两个slot中时,需要在电视中额外分配一块内存,将slot中不完整的TLV数据包数据放入该额外分配的内存中,从而将不完整的TLV数据包拼接成完整的TLV数据包。而在本实施例中预设内存的大小是等于或者大于两个slot的内存空间,因此可以直接在预设内存中将不完整的TLV数据包拼接成完整的TLV数据包,不需要额外分配内存存储不完整的TLV数据包,节省了在将slot拆分成TLV数据包过程中所需的内存空间,且不需要将不完整的TLV数据包拷贝到额外分配的内存中,降低了将slot拆分成TLV数据包的代码逻辑的复杂度,从而提高了在将slot拆分成TLV数据包过程中电视的运行效率。
附图说明
图1是本发明TLV数据包的传输方法第一实施例的流程示意图;
图2是本发明TLV数据包的传输方法第二实施例的流程示意图;
图3是本发明是现有技术中将slot切割成TLV数据包进行传输的一种示意图;
图4是本发明实施例中将slot切割成TLV数据包进行传输的一种示意图;
图5是本发明TLV数据包的传输装置较佳的结构示意图;
图6是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种TLV数据包的传输方法,参照图1,图1为本发明TLV数据包的传输方法第一实施例的流程示意图。
本发明实施例提供了TLV数据包的传输方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
TLV数据包的传输方法包括:
步骤S10,当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷。
当电视接收到待处理数据后,解析该待处理数据对应的各个slot,得到各个slot对应的有效载荷。其中,待处理数据包括但不限于视频数据、音频数据和图片数据。待处理数据至少对应一个slot,每个slot的长度是固定的,一个slot包含至少一个TLV数据包。有效载荷Payload是在网络协议中,表示一帧数据中除了协议头之外的实际的有效数据。在slot中,主信号段对应的内容即为有效载荷。可以理解的是,每个TLV数据包中都存储了对应的有效载荷。
步骤S20,将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间两个slot的内存空间。
当得到有效载荷后,将有效载荷拷贝到预先设置好的预设内存中,其中,预设内存的存储空间等于或者大于两个slot的内存空间,该预设内存的具体大小可根据具体需要而设置,如可将预设内存的大小设置为2个slot的内存空间,或者将预设内存的大小设置为4个slot的内存空间等。需要说明的是,该预设内存为电视的总内存的一部分。需要说明的是,一个slot对应一段有效载荷。
步骤S30,在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
当将有效载荷拷贝到预设内存中后,在预设内存中将有效载荷切割成TLV数据包,具体地,将预设内存中各段有效载荷都切割成TLV数据包,每一有效载荷至少可切割成一个TLV数据包,即每个slot至少包括一个TLV数据包。在本实施例中,slot中可能包括了一个不完整的TLV数据包。当将有效载荷切割成TLV数据包后,将TLV数据包发送给电视的协议栈,以在协议栈中处理待处理数据。
进一步地,所述步骤S30包括:
步骤a,将各个所述有效载荷切割成TLV数据包,获取各个所述TLV数据包的首指针。
步骤b,将所述首指针发送给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
具体地,将各个slot对应的有效载荷切割成TLV数据包,获取得到各个slot对应的TLV数据包时,获取各个TLV数据包的首指针,即获取各个TLV数据包的偏移地址,将各个TLV数据包的首指针发送给电视的协议栈。当协议栈接收到各个TLV数据包的首指针后,通过首指针即可获取到对应的TLV数据包,然后对TLV数据包中的待处理数据进行处理,以让电视能正常输出待处理数据。
进一步地,所述将各个所述有效载荷切割成TLV数据包的步骤包括:
步骤c,获取各个所述有效载荷中的切割标识符,根据所述切割标识符切割对应将所述有效载荷切割成TLV数据包。
进一步地,在切割有效载荷过程中,获取各个有效载荷中的切割标识符,其中,该切割标识符是预先设置好的,本实施例中不限制切割标识符的表现形式,如可将切割标识符设置为“!”或者设置为“/”。可以理解的是,切割标识符是有效载荷中对应待处理数据中不会出现的字符,否者会将待处理数据与切割标识符混淆,从而导致有效载荷切割错误。当获取到有效载荷中的切割标识符后,根据切割标识符切割有效载荷,以将有效载荷切割成TLV数据包。需要说明的是,由于有效载荷中的切割标识符是预先设置好的,因此切割有效载荷所得的TLV数据包的大小也是固定的,有效载荷中切割标识符的设置位置决定了切割所得的TLV数据包的大小。进一步地,当电视的协议栈处理完该待处理数据对应的TLV数据包后,会删除预设内存中slot的有效载荷,以便于下一次接收到slot时,可以将该slot对应的有效载荷存储至预设内存中。
本实施例实现了在将slot拆分成TLV数据包的过程中,将所获取的slot的有效载荷拷贝到电视中等于或者大于两个slot的内存空间的预设内存中,在预设内存中将有效载荷拆分成TLV数据包,避免了由于slot内存空间大小的限制,当一个TLV数据包对应的数据存在两个slot中时,需要在电视中额外分配一块内存,将slot中不完整的TLV数据包数据放入该额外分配的内存中,从而将不完整的TLV数据包拼接成完整的TLV数据包。而在本实施例中预设内存的大小是等于或者大于两个slot的内存空间,因此可以直接在预设内存中将不完整的TLV数据包拼接成完整的TLV数据包,不需要额外分配内存存储不完整的TLV数据包,节省了在将slot拆分成TLV数据包过程中所需的内存空间,且不需要将不完整的TLV数据包拷贝到额外分配的内存中,降低了将slot拆分成TLV数据包的代码逻辑的复杂度,从而提高了在将slot拆分成TLV数据包过程中电视的运行效率。
为了便于理解,举例进行说明,如在现有技术中,在电视中,需要A内存空间来存储一个slot,且由于该slot中有一个不完整的TLV数据包,因此该不完整的TLV数据包需要额外占用电视的空间,而本实施例不需要,因此存储slot的预设内存的存储空间大于或者等于两个slot的内存空间。
进一步地,提出本发明TLV数据包的传输方法第二实施例。
所述TLV数据包的传输方法第二实施例与所述TLV数据包的传输方法第一施例的区别在于,参照图2,所述TLV数据包的传输方法还包括:
步骤S40,获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态。
若检测到各个所述有效载荷处于完整状态,则执行步骤S30。
当获取得到slot后,获取各个slot的头文件,其中,每一个slot都存在对应的头文件。根据各个slot的头文件对应检测预设内存中的各个有效载荷是否处于完整状态。若检测到预设内存中的各个有效载荷处于完整状态,则直接在预设内存中将有效载荷切割成TLV数据包传输给电视的协议栈,以在协议栈中处理待处理数据。可以理解的是,当预设内存中的各个有效载荷处于完整状态时,此时切割各个有效载荷时所得的各个TLV数据包都是完整的。
进一步地,所述步骤S40包括:
步骤d,获取各个所述slot的头文件,以及获取各个所述头文件中的前两个字节数。
步骤e,若前两个字节数为预设字符,则确定携带所述预设字符头文件对应的有效载荷处于完整状态。
具体地,当获取到各个slot的头文件时,获取各个slot头文件中的前两个字节数,并检测各个头文件中的前两个字节数是否为预设字符。若各个头文件中的前两个字节数为预设字符,则确定携带预设字符的头文件对应的有效载荷处于完整状态。可以理解的是,头文件与slot是一一对应的,而每一个slot中是存在对应的有效载荷的,因此,头文件和有效载荷是存在对应关系的。其中,预设字符可根据具体需要而设置。如当某个头文件中的前两个字节数为“00”时,可确定该头文件对应slot的有效载荷处于完整状态。需要说明的是,在本实施例中,处于完整状态的有效载荷是指将有效载荷切割成TLV数据包时,该slot的有效载荷中不存在上一个slot对应的有效载荷。
本实施例通过获取各个slot的头文件,通过各个slot的头文件来确定各个slot的有效载荷是否处于完整状态,提高了确定slot的有效载荷是否处于完整状态的准确率。
进一步地,所述TLV数据包的传输方法还包括:
步骤f,根据所述待处理数据对应第一个所述slot的头文件检测所述第一个所述slot对应的有效目标载荷是否携带非法数据。
步骤g,若检测到所述有效目标载荷携带非法数据,则删除所述有效目标载荷中的非法数据,得到处理后的有效目标载荷。
当获取到各个slot对应的头文件后,确定待处理数据对应的第一个slot,即确定电视在当前时间段所接收的第一slot,并请确定该第一个slot的头文件,根据该第一个slot的头文件检测第一个slot对应的有效目标载荷是否携带非法数据。其中,有效目标载荷是第一个slot对应的有效载荷,本实施例将第一个slot对应的有效载荷称为有效目标载荷是为了将第一个slot的有效载荷与其它slot的有效载荷进行区分。
具体地,检测第一个slot的头文件中的前两个字节数是否为预设字符。若检测到第一个slot的头文件中的前两个字节数不是预设字符,则确定有效目标载荷携带非法数据,并根据该前两个字节数确定有效目标载荷中的非法数据,删除有效目标载荷中的非法数据,得到处理后的有效目标载荷。可以理解的是,当有效目标载荷携带非法数据时,表明有效目标载荷处于非完整状态,即表明有效目标载荷未处于完整状态。如当第一个slot的头文件中的前两个字节数为“50”时,表明有效目标载荷前50个字节是非法数据,即第一个slot主信号段的前50个字节是非法数据。进一步地,若检测到第一个slot的头文件的前两个字节数是预设字符,则确定有效目标载荷中未携带非法数据。
所述步骤S30还包括:
步骤h,将处理后的有效目标载荷和其余所述slot对应的有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
当得到处理后的有效目标载荷后,将处理后的有效目标载荷和其余slot对应的有效载荷切割成TLV数据包传输给电视的协议栈,以在协议栈中处理待处理数据。可以理解的是,其余slot为除待处理数据对应的第二个slot和第二个slot之后的所有slot。
本实施例通过待处理数据对应的第一个slot的头文件来检测第一个slot的有效载荷是否携带非法数据,并在检测到第一个slot的有效载荷携带非法数据时,删除该非法数据,得到处理后的有效载荷,将处理后的有效载荷和其余slot对应的有效载荷切割成TLV数据包传输给电视的协议栈,避免第一个slot对应的TLV数据包中携带有非法数据,进一步提高了将有效载荷切割成TLV数据包的正确率。
进一步地,提出本发明TLV数据包的传输方法第三实施例。
所述TLV数据包的传输方法第三实施例与所述TLV数据包的传输方法第二实施例的区别在于,所述TLV数据包的传输方法还包括:
步骤i,若存在所述有效载荷未处于完整状态,则确定未处于完整状态的有效载荷对应的slot为第一目标slot,以及确定所述第一目标slot对应有效载荷中待拼接的待处理第一数据。
若确定存在slot的有效载荷未处于完整状态,则确定未处理完整状态的有效载荷对应的slot为第一目标slot,以及确定第一目标slot对应的有效载荷中待拼接的待处理第一数据,其中,待处理第一数据为第一目标slot的有效载荷中属于上一个slot对应TLV数据包中的数据。如当某个slot的头文件中前两个字节数为“100”,则表明在该slot的有效载荷中的前面100个字节是上一个slot对应TLV数据包中的数据。
步骤j,将所述第一目标slot对应的上一个slot确定为第二目标slot,确定所述第二目标slot的有效载荷中属于最后一个TLV数据包的待处理第二数据。
当确定第一目标slot后,确定该第一目标slot对应的上一个slot,并将该上一个slot确定为第二目标slot。需要说明的是,对电视接收待处理数据对应slot的先后顺序从前到后对slot进行排序,先接收到的slot排在前面,后接收到的slot排在后面,因此可通过第一目标slot确定第二目标slot。如当第一目标slot为待处理数据对应的第4个slot时,第二目标slot为待处理数据对应的第3个slot。当确定第二目标slot后,确定第二目标slot的有效载荷中属于最后一个TLV数据包的数据,并将第二目标slot的有效载荷中属于最后一个TLV数据包的数据确定为待处理第二数据。可以理解的是,此时,最后一个TLV数据包中的数据是不完整的,有一部分数据在第二目标slot的有效载荷中。
所述步骤S30还包括:
步骤k,将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,并将所述待处理第一数据和所述待处理第二数据拼接成TLV数据包传输给所述协议栈,以在所述协议栈中处理所述待处理数据。
当确定待处理第一数据和待处理第二数据后,将各个slot对应的有效载荷切割成TLV数据包传输给电视的协议栈,并将待处理第一数据和待处理第二数据拼接成TLV数据包传输给协议栈,以在协议栈中处理待处理数据。在本实施例中,在将有效载荷切割成TLV数据包的过程中,切割所得的TLV数据包是完整的数据包,而待处理第一数据和待处理第二数据拼接成TLV数据包是同一个TLV数据包中的数据存在两个slot中的情况,由此可知,本实施例所得的TLV数据包都是完整的数据包。
进一步地,参照图3和图4,图3为现有技术中将slot切割成TLV数据包进行传输的过程,由图3可知,slot1中的第3个TLV数据包“#3”有一部分数据是在slot2中,此时需要拷贝6次才能将切割slot1和slot2所得的TLV数据包发送给协议栈。而由图4可知,由于存在两个slot,slot1和slot2,此时,只需要拷贝两次,就可以实现将切割slot1和slot2所得的TLV数据包发送给协议栈。由此可知,本实施例减少了在在传输TLV数据包过程中的拷贝次数,每一个slot只需要拷贝一次,以及减少了电视内存的分配次数,提高了电视底层数据处理速率,提高了超高清视频的播放流畅度。
需要说明的是,本实施例是对ISDB S3协议栈中Broadcasting TLV这两层之间的协议解析,Broadcasting层给到TLV层的就应该是完整的TLV数据包,Broadcasting层就是解析slot的操作,减少了ISDB S3协议栈中模块间的交互接口,提高了协议栈中代码的可维护性。
本实施例通过当前确定某个TLV数据包中的数据存在两个slot中时,获取该TLV数据包在这两个slot中的待处理第一数据和待处理第二数据,根据该待处理第一数据和待处理第二数据拼接得到完整的TLV数据包,使在切割有效载荷得到TLV数据包过程中,不会得到不完整的TLV数据包,进一步提高了将slot对应的有效载荷切割成TLV数据包的准确度。
此外,本发明还提供一种TLV数据包的传输装置,参照图6,所述TLV数据包的传输装置包括:
解析模块10,用于当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷;
拷贝模块20,用于将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间等于或者大于两个slot的内存空间;
切割模块30,用于在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
进一步地,所述TLV数据包的传输装置包括:
获取模块,用于获取各个所述slot的头文件;
检测模块,用于根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态;
所述切割模块30还用于若检测到各个所述有效载荷处于完整状态,则在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
进一步地,所述TLV数据包的传输装置包括:
第一确定模块,用于若存在所述有效载荷未处于完整状态,则确定未处于完整状态的有效载荷对应的slot为第一目标slot,以及确定所述第一目标slot对应有效载荷中待拼接的待处理第一数据;将所述第一目标slot对应的上一个slot确定为第二目标slot,确定所述第二目标slot的有效载荷中属于最后一个TLV数据包的待处理第二数据;
所述切割模块30还用于在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,并将所述待处理第一数据和所述待处理第二数据拼接成完整的TLV数据包传输给所述协议栈,以在所述协议栈中处理所述待处理数据。
进一步地,所述检测模块还用于根据所述待处理数据对应第一个所述slot的头文件检测所述第一个所述slot对应的有效目标载荷是否携带非法数据;
所述TLV数据包的传输装置包括:
删除模块,用于若检测到所述有效目标载荷携带非法数据,则删除所述有效目标载荷中的非法数据,得到处理后的有效目标载荷;
所述切割模块30还用于在所述预设内存中将处理后的有效目标载荷和其余所述slot对应的有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
进一步地,所述获取模块还用于获取各个所述头文件中的前两个字节数;
所述TLV数据包的传输装置包括:
第二确定模块,用于若前两个字节数为预设字符,则确定携带所述预设字符头文件对应的有效载荷处于完整状态。
进一步地,所述切割模块30包括:
切割单元,用于在所述预设内存中将各个所述有效载荷切割成TLV数据包;
获取单元,用于获取各个所述TLV数据包的首指针;
发送单元,用于将所述首指针发送给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
进一步地,所述切割单元还用于获取各个所述有效载荷中的切割标识符,在所述预设内存中根据所述切割标识符切割对应将所述有效载荷切割成TLV数据包。
本发明TLV数据包的传输装置具体实施方式与上述TLV数据包的传输方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种TLV数据包的传输设备。如图6所示,图6是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图6即可为TLV数据包的传输设备的硬件运行环境的结构示意图。
如图6所示,该TLV数据包的传输设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,TLV数据包的传输设备还可以包括RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图6中示出的TLV数据包的传输设备结构并不构成对TLV数据包的传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及TLV数据包的传输程序。其中,操作系统是管理和控制TLV数据包的传输设备硬件和软件资源的程序,支持TLV数据包的传输程序以及其它软件或程序的运行。
在图6所示的TLV数据包的传输设备中,用户接口1003主要用于连接移动终端,与移动终端进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的TLV数据包的传输程序,并执行如上所述的TLV数据包的传输方法的步骤。
本发明设备具体实施方式与上述TLV数据包的传输方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有TLV数据包的传输程序,所述TLV数据包的传输程序被处理器执行时实现如上所述的TLV数据包的传输方法的步骤。
本发明计算机可读存储介质具体实施方式与上述TLV数据包的传输方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,设备,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种TLV数据包的传输方法,其特征在于,所述TLV数据包的传输方法包括以下步骤:
当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷;
将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间等于或者大于两个slot的内存空间;
在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
2.如权利要求1所述的TLV数据包的传输方法,其特征在于,所述将所述有效载荷拷贝到所述电视的预设内存中的步骤之后,还包括:
获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态;
若检测到各个所述有效载荷处于完整状态,则执行在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤。
3.如权利要求2所述的TLV数据包的传输方法,其特征在于,所述获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态的步骤之后,还包括:
若存在所述有效载荷未处于完整状态,则确定未处于完整状态的有效载荷对应的slot为第一目标slot,以及确定所述第一目标slot对应有效载荷中待拼接的待处理第一数据;
将所述第一目标slot对应的上一个slot确定为第二目标slot,确定所述第二目标slot的有效载荷中属于最后一个TLV数据包的待处理第二数据;
所述在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤包括:
在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,并将所述待处理第一数据和所述待处理第二数据拼接成完整的TLV数据包传输给所述协议栈,以在所述协议栈中处理所述待处理数据。
4.如权利要求2所述的TLV数据包的传输方法,其特征在于,所述获取各个所述slot的头文件的步骤之后,还包括:
根据所述待处理数据对应第一个所述slot的头文件检测所述第一个所述slot对应的有效目标载荷是否携带非法数据;
若检测到所述有效目标载荷携带非法数据,则删除所述有效目标载荷中的非法数据,得到处理后的有效目标载荷;
所述在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤包括:
在所述预设内存中将处理后的有效目标载荷和其余所述slot对应的有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
5.如权利要求2所述的TLV数据包的传输方法,其特征在于,所述获取各个所述slot的头文件,根据各个所述头文件对应检测所述预设内存中的各个有效载荷是否处于完整状态的步骤包括:
获取各个所述slot的头文件,以及获取各个所述头文件中的前两个字节数;
若前两个字节数为预设字符,则确定携带所述预设字符头文件对应的有效载荷处于完整状态。
6.如权利要求1或2所述的TLV数据包的传输方法,其特征在于,所述在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据的步骤包括:
在所述预设内存中将各个所述有效载荷切割成TLV数据包,获取各个所述TLV数据包的首指针;
将所述首指针发送给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
7.如权利要求6所述的TLV数据包的传输方法,其特征在于,所述在所述预设内存中将各个所述有效载荷切割成TLV数据包的步骤包括:
获取各个所述有效载荷中的切割标识符,在所述预设内存中根据所述切割标识符切割对应将所述有效载荷切割成TLV数据包。
8.一种TLV数据包的传输装置,其特征在于,所述TLV数据包的传输装置包括:
解析模块,用于当电视接收到待处理数据后,解析所述待处理数据对应的各个slot,得到各个所述slot对应的有效载荷;
拷贝模块,用于将所述有效载荷拷贝到所述电视的预设内存中,其中,所述预设内存的存储空间等于或者大于两个slot的内存空间;
切割模块,用于在所述预设内存中将所述有效载荷切割成TLV数据包传输给所述电视的协议栈,以在所述协议栈中处理所述待处理数据。
9.一种TLV数据包的传输设备,其特征在于,所述TLV数据包的传输设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的TLV数据包的传输程序,所述TLV数据包的传输程序被所述处理器执行时实现如权利要求1至7中任一项所述的TLV数据包的传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有TLV数据包的传输程序,所述TLV数据包的传输程序被处理器执行时实现如权利要求1至7中任一项所述的TLV数据包的传输方法的步骤。
CN201911422619.0A 2019-12-31 2019-12-31 Tlv数据包的传输方法、装置、设备及可读存储介质 Pending CN111147931A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911422619.0A CN111147931A (zh) 2019-12-31 2019-12-31 Tlv数据包的传输方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911422619.0A CN111147931A (zh) 2019-12-31 2019-12-31 Tlv数据包的传输方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111147931A true CN111147931A (zh) 2020-05-12

Family

ID=70522962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911422619.0A Pending CN111147931A (zh) 2019-12-31 2019-12-31 Tlv数据包的传输方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111147931A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650445A (zh) * 2020-12-17 2022-06-21 深圳Tcl新技术有限公司 一种tlv数据包的过滤方法、存储介质及终端设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345531A (zh) * 2008-08-19 2009-01-14 北京中星微电子有限公司 Ogg格式码流的数据处理方法
WO2015062503A1 (zh) * 2013-11-04 2015-05-07 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN105681335A (zh) * 2016-03-02 2016-06-15 臧利 基站数据处理方法及系统
WO2016203968A1 (ja) * 2015-06-15 2016-12-22 ソニー株式会社 放送受信機および方法、並びにプログラム
CN108702544A (zh) * 2016-03-22 2018-10-23 索尼公司 接收装置、数据处理方法和发送/接收系统
CN110267062A (zh) * 2019-07-26 2019-09-20 深圳Tcl新技术有限公司 拼装视频帧的优化方法、装置、可读存储介质及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345531A (zh) * 2008-08-19 2009-01-14 北京中星微电子有限公司 Ogg格式码流的数据处理方法
WO2015062503A1 (zh) * 2013-11-04 2015-05-07 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
WO2016203968A1 (ja) * 2015-06-15 2016-12-22 ソニー株式会社 放送受信機および方法、並びにプログラム
CN105681335A (zh) * 2016-03-02 2016-06-15 臧利 基站数据处理方法及系统
CN108702544A (zh) * 2016-03-22 2018-10-23 索尼公司 接收装置、数据处理方法和发送/接收系统
CN110267062A (zh) * 2019-07-26 2019-09-20 深圳Tcl新技术有限公司 拼装视频帧的优化方法、装置、可读存储介质及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650445A (zh) * 2020-12-17 2022-06-21 深圳Tcl新技术有限公司 一种tlv数据包的过滤方法、存储介质及终端设备
CN114650445B (zh) * 2020-12-17 2023-08-01 深圳Tcl新技术有限公司 一种tlv数据包的过滤方法、存储介质及终端设备

Similar Documents

Publication Publication Date Title
CN108055264B (zh) 推流服务器的调度装置、方法及计算机可读存储介质
US6684399B1 (en) Electronic program guide including live network multimedia broadcast channels
US20060179465A1 (en) Handling feature availability in a broadcast
CN109729386B (zh) 一种视频文件启播方法、系统及电子设备和存储介质
CN105430482A (zh) 一种多屏互动方法及终端设备
WO2023005137A1 (zh) 投屏控制方法、装置及计算机可读存储介质
US11671678B2 (en) Method and device, equipment, and storage medium for data processing
WO2017219872A1 (zh) 机顶盒的升级、换台方法及系统
CN111147931A (zh) Tlv数据包的传输方法、装置、设备及可读存储介质
CN109842814B (zh) 节目的切换方法、装置、电视机及可读存储介质
CN109302639B (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
CN108153873B (zh) 录制文件的压缩方法、电视机及可读存储介质
CN110198481B (zh) 一种节目更新方法、装置、电子设备及存储介质
CN108989244B (zh) 数据处理方法、装置、存储介质及电子设备
CN108965295B (zh) 一种文件压缩合并方法及相关装置
CN111736761A (zh) 数据分发方法、装置、存储系统及计算机可读存储介质
CN110889880A (zh) 一种贴图处理方法、装置、设备及存储介质
CN111090651A (zh) 数据源的处理方法、装置、设备及可读存储介质
CN115567754A (zh) 视频播放方法、装置、设备及存储介质
CN111918120B (zh) 频道号的赋值方法、电视和存储介质
US8374593B2 (en) Method of providing mobile application
CN108235265A (zh) 短信消息的下发及呈现方法、服务器和移动终端
CN109327726B (zh) 一种弹幕消息的处理方法、装置、终端和存储介质
CN107911718B (zh) 数字电视软件升级方法、装置及计算机可读存储介质
CN108521601B (zh) 一种非标准码流的快速播放方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200512