CN105933307A - 一种支持多处理器的数据封装方法及系统 - Google Patents
一种支持多处理器的数据封装方法及系统 Download PDFInfo
- Publication number
- CN105933307A CN105933307A CN201610244726.9A CN201610244726A CN105933307A CN 105933307 A CN105933307 A CN 105933307A CN 201610244726 A CN201610244726 A CN 201610244726A CN 105933307 A CN105933307 A CN 105933307A
- Authority
- CN
- China
- Prior art keywords
- data
- multiprocessor
- encapsulation method
- package system
- support
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种支持多处理器的数据封装方法及系统,所述数据封装方法包括以下步骤:步骤S1,首先将待封装的数据组织成预定格式的数据序列;步骤S2,将预定格式的数据序列拼装在一起;步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处理并记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4;步骤S4,添加头信息;步骤S5,添加尾信息。本发明通过设计一种统一的预定格式的数据封装格式,并在数据封装的过程中携带与处理器一一对应的处理器名称,在使用过程中,用户只要重点关注预定格式所携带的数据和信息即可,进而能够简化系统的通讯机制,保证了系统的稳定性、易用性和扩展性。
Description
技术领域
本发明涉及一种数据封装方法,尤其涉及一种支持多处理器的数据封装方法,并涉及采用了该支持多处理器的数据封装方法的数据封装系统。
背景技术
现有技术中,设备和外部通讯提供了TCP/UDP和UART的通讯方式;UI工具采用TCP/UDP的方式和设备通讯,而第三方设备或软件采用UART方式和设备通讯,从而制定了两套不同的二进制的通讯协议,并且协议采用定长的格式。这样对于每个参数的设置都要做专门的解析过程,每次增加一个参数,通讯双方都需要编写对应的代码进行解析。
在设备中需要使用和保存TOPO文件、ARG文件,这两种文件采用不同的数据结构,需要编写不同的解析代码。TOPO文件,即拓扑文件,用于描述使用了哪些算法及数据流动的路径。ARG文件,即参数文件,用于描述设备的参数及各个算法的参数。UI工具或者第三方设备发送参数配置命令给设备后,由设备硬编码来确定该发往哪个DSP处理,比如说原来的TOPO文件定好将ANS算法放在第一个DSP运行,则每次收到ANS的参数设置时,固定分发给第一个DSP处理;而现在根据实际需求需要将ANS算法放到第二个DSP运行,则无法满足此需求,必须修改设备的软件才能适应这种变化。
假如一个系统中存在多种通讯协议,包括内部通讯和外部通讯,同时系统中也存在多种文件格式,这些使得系统变得繁琐且不易使用,最要命的是增加了系统的复杂性和不稳定性,从而无法很好解决对两个以上DSP的支持;并且,TOPO文件和软件的耦合性太强,TOPO文件的修改有时需要修改软件来配合,扩展性和适应性很差,增加了大量的开发工作,并且版本管理和维护工作变得非常繁重。
发明内容
本发明所要解决的技术问题是需要提供一种能够简化通讯机制,保证了系统的稳定性、易用性和扩展性的支持多处理器的数据封装方法,并提供采用了该支持多处理器的数据封装方法的数据封装系统。
对此,本发明提供一种支持多处理器的数据封装方法,包括以下步骤:
步骤S1,首先将待封装的数据组织成预定格式的数据序列;
步骤S2,将预定格式的数据序列拼装在一起;
步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处理并记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4;
步骤S4,添加头信息;
步骤S5,添加尾信息。
本发明的进一步改进在于,所述预定格式为NTLV格式,所述NTLV格式的数据序列包括要操作的对象名、操作对象的类型、操作对象的给值长度以及操作对象的给值。
本发明的进一步改进在于,所述要操作的对象名包括多处理器中每一个处理器所唯一对应的处理器名称。
本发明的进一步改进在于,所述步骤S3中,当拼装后的数据序列大小超过预设分片大小时,进行分片处理,并在分片处理时保证每一个分片格式均为完整的预定格式。
本发明的进一步改进在于,所述步骤S3中,所述预设分片大小为64KB。
本发明的进一步改进在于,所述步骤S4中,添加头信息包括描述起始码、版本号、数据长度、分片号、校验字、消息类型、标志位以及序号。
本发明的进一步改进在于,所述步骤S5中,添加尾信息包括描述结束码。
本发明还提供一种支持多处理器的数据封装系统,所述数据封装系统采用了如上所述的支持多处理器的数据封装方法。
本发明的进一步改进在于,所述数据封装系统实现外部通讯的过程为:通过TCP/UDP或者UART实现与外部的通讯,所述数据封装系统将封装后的数据经由路由器发送给外部设备,当收到外部发送过来的数据时,由路由器解析后,分发给对应的处理器进行处理;所述数据封装系统实现内部通讯的过程为:通过调用TIP函数库中的接口,将封装后的数据发送给路由器实现解析后,分发给对应的处理器进行处理。
本发明的进一步改进在于,所述数据封装系统中将TOPO文件、ARG文件、登陆账号文件和设备信息文件的多个文件存储到存储器中,这些文件的内容由多个预定格式的数据序列嵌套组合而成。
与现有技术相比,本发明的有益效果在于:通过设计一种统一的预定格式的数据封装格式,并在数据封装的过程中携带与处理器一一对应的处理器名称,在使用过程中,用户只要重点关注预定格式所携带的数据和信息即可,进而能够简化系统的通讯机制,保证了系统的稳定性、易用性和扩展性;在本发明中,不管是实现外部通讯还是实现内部通讯,都交由系统中的路由器来解析,并分发给相应的处理器进行处理,这样一来,数据如何处理由TOPO文件来决定,TOPO文件和设备软件解除了耦合关系,进而多个处理器之间又是通过FIFO来交换数据,彼此间能够保持独立性,对一个处理器的支持和对多个处理器的支持均是一样的,从而能够轻松应对多处理器的应用。
附图说明
图1是本发明一种实施例的工作流程示意图;
图2是本发明一种实施例的预定格式的数据序列封装示意图;
图3是本发明一种实施例中多处理器实现通讯的系统结构示意图。
具体实施方式
下面结合附图,对本发明的较优的实施例作进一步的详细说明:
实施例1:
如图1所示,本例提供一种支持多处理器的数据封装方法,包括以下步骤:
步骤S1,首先将待封装的数据组织成预定格式的数据序列;
步骤S2,将预定格式的数据序列拼装在一起;
步骤S3,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处理并记录其分片序号,然后跳转至步骤S4;若否,则直接跳转至步骤S4;
步骤S4,添加头信息;
步骤S5,添加尾信息。
本例所述数据封装方法是基于TIP的基础而提出的,所述TIP为TendzoneInformation Protocol,即音视频数据协议,也就是说,本例是一种针对音视频数据协议的支持多处理器的数据封装方法,这与现有技术中tcp/ip协议的封装是不同的概念;本发明定义了统一的数据封装格式,既可以用于内部通讯和外部通讯,也可以用于文件的存储格式,也就是说采用了该支持多处理器的数据封装方法的数据封装系统中只有一种数据封装格式,该数据封装格式也就是预定格式,如图2所示。
如图2所示,本例所述TIP封装中就是一个或多个NTLV的数据序列,即所述预定格式为NTLV格式,所述NTLV格式的数据序列包括要操作的对象名、操作对象的类型、操作对象的给值长度以及操作对象的给值。本例所述要操作的对象名包括多处理器中每一个处理器所唯一对应的处理器名称。
也就是说,本例对每个处理器定义了一个唯一的处理器名称,在通讯中携带此信息,即图2中的Name中含有处理器名称;不管是实现外部通讯还是实现内部通讯,都交由系统中的路由器来解析,并分发给相应的处理器进行处理,这样一来,数据如何处理由TOPO文件来决定,TOPO文件和设备软件之间解除了耦合,进而多个处理器之间又是通过FIFO来交换数据,彼此间保持独立性,对一个处理器的支持和对多个处理器的支持在实现方法上是一样的,从而能够轻松应对多处理器的应用,具体的支持多处理器的数据封装系统的系统结构示意图如图3所示。
本发明提供了一套完整的数据封装方法和解析函数库,并可授权给第三方使用,从而简化TIP的应用,使用过程中,只需重点关注NTLV格式所携带的信息和内容即可,其完整的封装格式如图2所示。
其中,图2中的Preamble及EOM的具体解释如下表所示:
本例所述NTLV格式支持嵌套组合格式,其具体解释如下表所示:
本例所述步骤S3中,判断拼装后的数据序列大小是否大于预设分片大小,若是,则进行分片处理并记录其分片序号,便于接收方还原数据,然后跳转至步骤S4;若否,则直接跳转至步骤S4;本例所述步骤S3中,当拼装后的数据序列大小超过预设分片大小时,进行分片处理,并在分片处理时保证每一个分片格式均为完整的预定格式。本例所述预设分片大小为64KB,也就是说,每个拼装后的数据序列大小支持最大64KB,大于64KB的数据序列,自动启用分片处理,直到文件传输完毕。
本例所述步骤S4中,添加头信息包括描述起始码、版本号、数据长度、分片号、校验字、消息类型、标志位以及序号,起始码采用TIP表示。所述步骤S5中,添加尾信息包括描述结束码,结束码采用PIT表示。
本例通过设计一种统一的预定格式的数据封装方法,并在数据封装的过程中携带与处理器一一对应的处理器名称,在使用过程中,用户只要重点关注预定格式所携带的数据和信息即可,进而能够简化系统的通讯机制,保证了系统的稳定性、易用性和扩展性;在本例中,不管是实现外部通讯还是实现内部通讯,都交由系统中的路由器来解析,并分发给相应的处理器进行处理,这样一来,数据如何处理由TOPO文件来决定,TOPO文件和设备软件解除了耦合关系,进而多个处理器之间又是通过FIFO来交换数据,彼此间能够保持独立性,对一个处理器的支持和对多个处理器的支持均是一样的,从而能够轻松应对多处理器的应用。
实施例2:
如图3所示,本例还提供一种支持多处理器的数据封装系统,所述数据封装系统采用了如实施例1所述的支持多处理器的数据封装方法。
本例所述数据封装系统实现外部通讯的过程为:通过TCP/UDP或者UART实现与外部的通讯,所述数据封装系统将封装后的数据经由路由器发送给外部设备,当收到外部发送过来的数据时,由路由器解析后,分发给对应的处理器进行处理,比如设置设备名称和获取设备MAC等;所述数据封装系统实现内部通讯的过程为:通过调用TIP函数库中的接口,将封装后的数据发送给路由器实现解析后,分发给对应的处理器进行处理。
本例所述数据封装系统中将TOPO文件、ARG文件、登陆账号文件和设备信息文件的多个文件存储到存储器中,这些文件的内容由多个预定格式的数据序列嵌套组合而成。使用时,编辑好文本文件,得到待封装的数据,再利用实施例1所提供的数据封装方法,就可以转换成NTLV格式的封装格式的数据序列,比如设备信息文件。
在设备程序和文件升级中,升级采用起始码为TIP的封装格式,即采用NTLV格式进行拼装,每个NTLV格式封装支持最大64KB,大于64KB的文件,自动启用分片处理,直到文件传输完毕。此时采用NTLV格式的嵌套组合格式,如下:
dev/cmd/writeFile:{
totalBytes:0
fragIndex:0
content:``
}
其中,totalBytes为要升级文件的总长度,fragIndex为分片序号,content为要传送的二进制内容,传送文件时,由多个这样的NTLV格式的数据序列组成,在内容传送完毕后,最后一个NTLV格式的数据序列是fileName,即要存储的文件名。
在对于多处理器的支持,本例可以支持一个乃至多个处理器(DSP),本例已经在实验中通过了一台音频处理器设备拥有8个DSP的应用,多个DSP可以运行不同的音频算法,而算法放到哪个DSP运行,完全由TOPO文件决定,这个得益于NTLV格式的Name中携带了处理器名称,这样路由器就可以解析并进行分发,如图3所示。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种支持多处理器的数据封装方法,其特征在于,包括以下步骤:
步骤S1,首先将待封装的数据组织成预定格式的数据序列;
步骤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文件、登陆账号文件和设备信息文件的多个文件存储到存储器中,这些文件的内容由多个预定格式的数据序列嵌套组合而成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610244726.9A CN105933307A (zh) | 2016-04-19 | 2016-04-19 | 一种支持多处理器的数据封装方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610244726.9A CN105933307A (zh) | 2016-04-19 | 2016-04-19 | 一种支持多处理器的数据封装方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105933307A true CN105933307A (zh) | 2016-09-07 |
Family
ID=56839314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610244726.9A Pending CN105933307A (zh) | 2016-04-19 | 2016-04-19 | 一种支持多处理器的数据封装方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105933307A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785866A (zh) * | 2022-04-25 | 2022-07-22 | 北京兴竹同智信息技术股份有限公司 | 一种绿通查验综合数据交互方法、系统、接口及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1169224A (zh) * | 1994-12-09 | 1997-12-31 | 英国电讯有限公司 | 多处理器环境 |
US6487619B1 (en) * | 1999-10-14 | 2002-11-26 | Nec Corporation | Multiprocessor system that communicates through an internal bus using a network protocol |
CN1816042A (zh) * | 2005-01-31 | 2006-08-09 | 华为技术有限公司 | 一种处理器间数据传输方法 |
CN1866835A (zh) * | 2006-03-31 | 2006-11-22 | 华为技术有限公司 | 网络中数据传输的方法 |
CN102739423A (zh) * | 2011-04-08 | 2012-10-17 | 中兴通讯股份有限公司 | 一种采集性能数据的方法、设备和网管系统 |
-
2016
- 2016-04-19 CN CN201610244726.9A patent/CN105933307A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1169224A (zh) * | 1994-12-09 | 1997-12-31 | 英国电讯有限公司 | 多处理器环境 |
US6487619B1 (en) * | 1999-10-14 | 2002-11-26 | Nec Corporation | Multiprocessor system that communicates through an internal bus using a network protocol |
CN1816042A (zh) * | 2005-01-31 | 2006-08-09 | 华为技术有限公司 | 一种处理器间数据传输方法 |
CN1866835A (zh) * | 2006-03-31 | 2006-11-22 | 华为技术有限公司 | 网络中数据传输的方法 |
CN102739423A (zh) * | 2011-04-08 | 2012-10-17 | 中兴通讯股份有限公司 | 一种采集性能数据的方法、设备和网管系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785866A (zh) * | 2022-04-25 | 2022-07-22 | 北京兴竹同智信息技术股份有限公司 | 一种绿通查验综合数据交互方法、系统、接口及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8065657B2 (en) | Exchange infrastructure system and method | |
CN103036956B (zh) | 一种分布式组态化海量数据归档系统及实现方法 | |
US9760588B2 (en) | Cross-media storage coordination | |
CN1442788A (zh) | 带有适应性调度程序的虚拟网络 | |
CN101515929B (zh) | 消息格式转换方法和网络设备及代理装置 | |
WO2003073271A1 (en) | System and method for xml data binding | |
CN1922572A (zh) | 为组件应用程序建立混合模式执行环境的系统和方法 | |
CN1601465A (zh) | 动态注册表分区 | |
MX2008012378A (es) | Estructura de agregacion de mensaje basado en politica. | |
CN115858481A (zh) | 分布式服务器-客户端环境中的文档同步的方法和系统 | |
CN101334872A (zh) | 基于Web服务的电子公文交换方法 | |
CN102624894B (zh) | 一种报文组装与解析的方法和系统 | |
CN105933307A (zh) | 一种支持多处理器的数据封装方法及系统 | |
CN101997873A (zh) | 一种能力接入的方法和接入平台 | |
CN101189594A (zh) | 用于在打包模型的组件与包的物理表示的特征之间进行映射的方法和系统 | |
CN101226534A (zh) | 一种查找关联文件的方法、终端和系统 | |
CN101179444B (zh) | 配置生效方法、配置系统及配置网关 | |
CN111782882A (zh) | 一种tcp报文转换方法、装置、系统及计算机存储介质 | |
US9201838B2 (en) | Systems and methods for the efficient exchange of hierarchical data | |
CN103646015A (zh) | 发送、接收以及传输xml报文的方法和系统 | |
JP2006216024A (ja) | 交換フォーマットメッセージの効率的な変換 | |
CN106484375A (zh) | 一种指令块加载方法、软交换设备及系统 | |
CN100336058C (zh) | 可放缩的浏览器 | |
EP2373118B1 (en) | Method and device for converting digital rights management (drm) file | |
TWI309381B (en) | Methods and systems for prevention of system execution malfunction and compiler product thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160907 |
|
RJ01 | Rejection of invention patent application after publication |