一种支持多处理器的数据封装方法及系统的制作方法

文档序号:10572661阅读:190来源:国知局
一种支持多处理器的数据封装方法及系统的制作方法
【专利摘要】本发明提供一种支持多处理器的数据封装方法及系统,所述数据封装方法包括以下步骤:步骤S1,首先将待封装的数据组织成预定格式的数据序列;步骤S2,将预定格式的数据序列拼装在一起;步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处理并记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4;步骤S4,添加头信息;步骤S5,添加尾信息。本发明通过设计一种统一的预定格式的数据封装格式,并在数据封装的过程中携带与处理器一一对应的处理器名称,在使用过程中,用户只要重点关注预定格式所携带的数据和信息即可,进而能够简化系统的通讯机制,保证了系统的稳定性、易用性和扩展性。
【专利说明】
一种支持多处理器的数据封装方法及系统
技术领域
[0001] 本发明涉及一种数据封装方法,尤其涉及一种支持多处理器的数据封装方法,并 涉及采用了该支持多处理器的数据封装方法的数据封装系统。
【背景技术】
[0002] 现有技术中,设备和外部通讯提供了TCP/UDP和UART的通讯方式;UI工具采用TCP/ UDP的方式和设备通讯,而第三方设备或软件采用UART方式和设备通讯,从而制定了两套不 同的二进制的通讯协议,并且协议采用定长的格式。这样对于每个参数的设置都要做专门 的解析过程,每次增加一个参数,通讯双方都需要编写对应的代码进行解析。
[0003] 在设备中需要使用和保存Τ0Ρ0文件、ARG文件,这两种文件采用不同的数据结构, 需要编写不同的解析代码。Τ0Ρ0文件,即拓扑文件,用于描述使用了哪些算法及数据流动的 路径。ARG文件,即参数文件,用于描述设备的参数及各个算法的参数。UI工具或者第三方设 备发送参数配置命令给设备后,由设备硬编码来确定该发往哪个DSP处理,比如说原来的 Τ0Ρ0文件定好将ANS算法放在第一个DSP运行,则每次收到ANS的参数设置时,固定分发给第 一个DSP处理;而现在根据实际需求需要将ANS算法放到第二个DSP运行,则无法满足此需 求,必须修改设备的软件才能适应这种变化。
[0004] 假如一个系统中存在多种通讯协议,包括内部通讯和外部通讯,同时系统中也存 在多种文件格式,这些使得系统变得繁琐且不易使用,最要命的是增加了系统的复杂性和 不稳定性,从而无法很好解决对两个以上DSP的支持;并且,Τ0Ρ0文件和软件的耦合性太强, Τ0Ρ0文件的修改有时需要修改软件来配合,扩展性和适应性很差,增加了大量的开发工作, 并且版本管理和维护工作变得非常繁重。

【发明内容】

[0005] 本发明所要解决的技术问题是需要提供一种能够简化通讯机制,保证了系统的稳 定性、易用性和扩展性的支持多处理器的数据封装方法,并提供采用了该支持多处理器的 数据封装方法的数据封装系统。
[0006] 对此,本发明提供一种支持多处理器的数据封装方法,包括以下步骤:
[0007] 步骤S1,首先将待封装的数据组织成预定格式的数据序列;
[0008] 步骤S2,将预定格式的数据序列拼装在一起;
[0009] 步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处 理并记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4;
[0010]步骤S4,添加头信息;
[0011] 步骤S5,添加尾信息。
[0012] 本发明的进一步改进在于,所述预定格式为NTLV格式,所述NTLV格式的数据序列 包括要操作的对象名、操作对象的类型、操作对象的给值长度以及操作对象的给值。
[0013] 本发明的进一步改进在于,所述要操作的对象名包括多处理器中每一个处理器所 唯一对应的处理器名称。
[0014] 本发明的进一步改进在于,所述步骤S3中,当拼装后的数据序列大小超过预设分 片大小时,进行分片处理,并在分片处理时保证每一个分片格式均为完整的预定格式。
[0015] 本发明的进一步改进在于,所述步骤S3中,所述预设分片大小为64KB。
[0016] 本发明的进一步改进在于,所述步骤S4中,添加头信息包括描述起始码、版本号、 数据长度、分片号、校验字、消息类型、标志位以及序号。
[0017] 本发明的进一步改进在于,所述步骤S5中,添加尾信息包括描述结束码。
[0018] 本发明还提供一种支持多处理器的数据封装系统,所述数据封装系统采用了如上 所述的支持多处理器的数据封装方法。
[0019] 本发明的进一步改进在于,所述数据封装系统实现外部通讯的过程为:通过TCP/ UDP或者UART实现与外部的通讯,所述数据封装系统将封装后的数据经由路由器发送给外 部设备,当收到外部发送过来的数据时,由路由器解析后,分发给对应的处理器进行处理; 所述数据封装系统实现内部通讯的过程为:通过调用TIP函数库中的接口,将封装后的数据 发送给路由器实现解析后,分发给对应的处理器进行处理。
[0020] 本发明的进一步改进在于,所述数据封装系统中将Τ0Ρ0文件、ARG文件、登陆账号 文件和设备信息文件的多个文件存储到存储器中,这些文件的内容由多个预定格式的数据 序列嵌套组合而成。
[0021] 与现有技术相比,本发明的有益效果在于:通过设计一种统一的预定格式的数据 封装格式,并在数据封装的过程中携带与处理器一一对应的处理器名称,在使用过程中,用 户只要重点关注预定格式所携带的数据和信息即可,进而能够简化系统的通讯机制,保证 了系统的稳定性、易用性和扩展性;在本发明中,不管是实现外部通讯还是实现内部通讯, 都交由系统中的路由器来解析,并分发给相应的处理器进行处理,这样一来,数据如何处理 由Τ0Ρ0文件来决定,Τ0Ρ0文件和设备软件解除了耦合关系,进而多个处理器之间又是通过 FIFO来交换数据,彼此间能够保持独立性,对一个处理器的支持和对多个处理器的支持均 是一样的,从而能够轻松应对多处理器的应用。
【附图说明】
[0022] 图1是本发明一种实施例的工作流程示意图;
[0023] 图2是本发明一种实施例的预定格式的数据序列封装示意图;
[0024]图3是本发明一种实施例中多处理器实现通讯的系统结构示意图。
【具体实施方式】
[0025]下面结合附图,对本发明的较优的实施例作进一步的详细说明:
[0026] 实施例1:
[0027]如图1所示,本例提供一种支持多处理器的数据封装方法,包括以下步骤:
[0028] 步骤S1,首先将待封装的数据组织成预定格式的数据序列;
[0029] 步骤S2,将预定格式的数据序列拼装在一起;
[0030] 步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处 理并记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4;
[0031] 步骤S4,添加头信息;
[0032] 步骤S5,添加尾信息。
[0033]本例所述数据封装方法是基于TIP的基础而提出的,所述TIP为Tendζ οne Information Protocol,即音视频数据协议,也就是说,本例是一种针对音视频数据协议的 支持多处理器的数据封装方法,这与现有技术中tcp/ip协议的封装是不同的概念;本发明 定义了统一的数据封装格式,既可以用于内部通讯和外部通讯,也可以用于文件的存储格 式,也就是说采用了该支持多处理器的数据封装方法的数据封装系统中只有一种数据封装 格式,该数据封装格式也就是预定格式,如图2所示。
[0034]如图2所示,本例所述TIP封装中就是一个或多个NTLV的数据序列,即所述预定格 式为NTLV格式,所述NTLV格式的数据序列包括要操作的对象名、操作对象的类型、操作对象 的给值长度以及操作对象的给值。本例所述要操作的对象名包括多处理器中每一个处理器 所唯一对应的处理器名称。
[0035]也就是说,本例对每个处理器定义了一个唯一的处理器名称,在通讯中携带此信 息,即图2中的Name中含有处理器名称;不管是实现外部通讯还是实现内部通讯,都交由系 统中的路由器来解析,并分发给相应的处理器进行处理,这样一来,数据如何处理由Τ0Ρ0文 件来决定,Τ0Ρ0文件和设备软件之间解除了耦合,进而多个处理器之间又是通过FIFO来交 换数据,彼此间保持独立性,对一个处理器的支持和对多个处理器的支持在实现方法上是 一样的,从而能够轻松应对多处理器的应用,具体的支持多处理器的数据封装系统的系统 结构示意图如图3所示。
[0036]本发明提供了一套完整的数据封装方法和解析函数库,并可授权给第三方使用, 从而简化TIP的应用,使用过程中,只需重点关注NTLV格式所携带的信息和内容即可,其完 整的封装格式如图2所示。
[0037] 其中,图2中的Preamble及Ε0Μ的具体解释如下表所示:
[0038]
[0039]本例所述NTLV格式支持嵌套组合格式,其具体解释如下表所示:
[0040]
[0042] 本例所述步骤S3中,判断拼装后的数据序列大小是否大于预设分片大小,若是,则 进行分片处理并记录其分片序号,便于接收方还原数据,然后跳转至步骤S4;若否,则直接 跳转至步骤S4;本例所述步骤S3中,当拼装后的数据序列大小超过预设分片大小时,进行分 片处理,并在分片处理时保证每一个分片格式均为完整的预定格式。本例所述预设分片大 小为64KB,也就是说,每个拼装后的数据序列大小支持最大64KB,大于64KB的数据序列,自 动启用分片处理,直到文件传输完毕。
[0043] 本例所述步骤S4中,添加头信息包括描述起始码、版本号、数据长度、分片号、校验 字、消息类型、标志位以及序号,起始码采用TIP表示。所述步骤S5中,添加尾信息包括描述 结束码,结束码采用PIT表示。
[0044]本例通过设计一种统一的预定格式的数据封装方法,并在数据封装的过程中携带 与处理器一一对应的处理器名称,在使用过程中,用户只要重点关注预定格式所携带的数 据和信息即可,进而能够简化系统的通讯机制,保证了系统的稳定性、易用性和扩展性;在 本例中,不管是实现外部通讯还是实现内部通讯,都交由系统中的路由器来解析,并分发给 相应的处理器进行处理,这样一来,数据如何处理由Τ0Ρ0文件来决定,Τ0Ρ0文件和设备软件 解除了耦合关系,进而多个处理器之间又是通过FIFO来交换数据,彼此间能够保持独立性, 对一个处理器的支持和对多个处理器的支持均是一样的,从而能够轻松应对多处理器的应 用。
[0045] 实施例2:
[0046] 如图3所示,本例还提供一种支持多处理器的数据封装系统,所述数据封装系统采 用了如实施例1所述的支持多处理器的数据封装方法。
[0047]本例所述数据封装系统实现外部通讯的过程为:通过TCP/UDP或者UART实现与外 部的通讯,所述数据封装系统将封装后的数据经由路由器发送给外部设备,当收到外部发 送过来的数据时,由路由器解析后,分发给对应的处理器进行处理,比如设置设备名称和获 取设备MAC等;所述数据封装系统实现内部通讯的过程为:通过调用TIP函数库中的接口,将 封装后的数据发送给路由器实现解析后,分发给对应的处理器进行处理。
[0048]本例所述数据封装系统中将Τ0Ρ0文件、ARG文件、登陆账号文件和设备信息文件的 多个文件存储到存储器中,这些文件的内容由多个预定格式的数据序列嵌套组合而成。使 用时,编辑好文本文件,得到待封装的数据,再利用实施例1所提供的数据封装方法,就可以 转换成NTLV格式的封装格式的数据序列,比如设备信息文件。
[0049] 在设备程序和文件升级中,升级采用起始码为TIP的封装格式,即采用NTLV格式进 行拼装,每个NTLV格式封装支持最大64KB,大于64KB的文件,自动启用分片处理,直到文件 传输完毕。此时采用NTLV格式的嵌套组合格式,如下:
[0050] dev/cmd/writeFile:{
[0051] totalBytes:0
[0052] fraglndex:0
[0053] content:''
[0054] }
[0055] 其中,totalBytes为要升级文件的总长度,fraglndex为分片序号,content为要传 送的二进制内容,传送文件时,由多个这样的NTLV格式的数据序列组成,在内容传送完毕 后,最后一个NTLV格式的数据序列是f ileName,即要存储的文件名。
[0056] 在对于多处理器的支持,本例可以支持一个乃至多个处理器(DSP),本例已经在实 验中通过了一台音频处理器设备拥有8个DSP的应用,多个DSP可以运行不同的音频算法,而 算法放到哪个DSP运行,完全由Τ0Ρ0文件决定,这个得益于NTLV格式的Name中携带了处理器 名称,这样路由器就可以解析并进行分发,如图3所示。
[0057]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
【主权项】
1. 一种支持多处理器的数据封装方法,其特征在于,包括以下步骤: 步骤Sl,首先将待封装的数据组织成预定格式的数据序列; 步骤S2,将预定格式的数据序列拼装在一起; 步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处理并 记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4; 步骤S4,添加头信息; 步骤S5,添加尾信息。2. 根据权利要求1所述的支持多处理器的数据封装方法,其特征在于,所述预定格式为 NTLV格式,所述NTLV格式的数据序列包括要操作的对象名、操作对象的类型、操作对象的给 值长度以及操作对象的给值。3. 根据权利要求2所述的支持多处理器的数据封装方法,其特征在于,所述要操作的对 象名包括多处理器中每一个处理器所唯一对应的处理器名称。4. 根据权利要求1至3任意一项所述的支持多处理器的数据封装方法,其特征在于,所 述步骤S3中,当拼装后的数据序列大小超过预设分片大小时,进行分片处理,并在分片处理 时保证每一个分片格式均为完整的预定格式。5. 根据权利要求1至3任意一项所述的支持多处理器的数据封装方法,其特征在于,所 述步骤S3中,所述预设分片大小为64KB。6. 根据权利要求1至3任意一项所述的支持多处理器的数据封装方法,其特征在于,所 述步骤S4中,添加头信息包括描述起始码、版本号、数据长度、分片号、校验字、消息类型、标 志位以及序号。7. 根据权利要求1至3任意一项所述的支持多处理器的数据封装方法,其特征在于,所 述步骤S5中,添加尾信息包括描述结束码。8. -种支持多处理器的数据封装系统,其特征在于,所述数据封装系统采用了如权利 要求1至7任意一项所述的支持多处理器的数据封装方法。9. 根据权利要求8所述的支持多处理器的数据封装系统,其特征在于,所述数据封装系 统实现外部通讯的过程为:通过TCP/UDP或者UART实现与外部的通讯,所述数据封装系统将 封装后的数据经由路由器发送给外部设备,当收到外部发送过来的数据时,由路由器解析 后,分发给对应的处理器进行处理;所述数据封装系统实现内部通讯的过程为:通过调用 TIP函数库中的接口,将封装后的数据发送给路由器实现解析后,分发给对应的处理器进行 处理。10. 根据权利要求8所述的支持多处理器的数据封装系统,其特征在于,所述数据封装 系统中将TOPO文件、ARG文件、登陆账号文件和设备信息文件的多个文件存储到存储器中, 这些文件的内容由多个预定格式的数据序列嵌套组合而成。
【文档编号】H04L29/06GK105933307SQ201610244726
【公开日】2016年9月7日
【申请日】2016年4月19日
【发明人】谌名林
【申请人】深圳市东微智能科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1