CN112290952B - 一种并行数据编码装置及方法 - Google Patents
一种并行数据编码装置及方法 Download PDFInfo
- Publication number
- CN112290952B CN112290952B CN202011077919.2A CN202011077919A CN112290952B CN 112290952 B CN112290952 B CN 112290952B CN 202011077919 A CN202011077919 A CN 202011077919A CN 112290952 B CN112290952 B CN 112290952B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- address
- module
- middle packet
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3044—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据库技术领域,具体涉及一种并行数据编码装置及方法,所述装置包括:数据控制模块,用于启动编码;还用于向单通道编码模块输入中包数据;通道分配模块,用于分配单通道编码模块,并将通道ID反馈至数据控制模块;单通道编码模块,用于按照编码规则将中包配置信息和中包数据编码转换成64bit数据、将中包头首地址转换成存放地址;若干单通道编码模块同步运行;数据处理模块,用于将64bit数据存储在存放地址中,同时根据编码规则将64bit数据和存放地址编码大包头并存放在大包头首地址中。故本发明在将数据中的同一个数据类型通过触发多个通道去进行并行编码,得到编码数据之后再转换成多字节数据缓存起来以便后续处理。
Description
技术领域
本发明涉及数据库技术领域,具体涉及一种并行数据编码装置及方法。
背景技术
随着数据量的增加,数据库访问延时越来越大,许多曾经在小数据上用传统方法很容易完成的任务,如今在大数据上就变得非常困难。目前最快的固态硬盘(SSD)存储可以达到12GB/s的读取速度,但即便这样的速度,如果数据库有15TB大小,想要用完整检索的方式完成一次查询仍然需要33小时。为了加快数据库查询速度,大都采用设计数据库专用处理器的方法来提高性能。
在数据库专用加速器中,数据管理复杂程度高,需要处理的数据格式复杂,为了快速处理数据,提升数据处理效率,需要对数据转化后再进行处理。现有技术中数据转化处理的方法复杂,对数据处理效率的提升并不明显,实用性不强。
为了解决上述问题,本发明提供了一种并行数据编码装置及方法。
发明内容
本发明的目的在于提供一种并行数据编码装置及方法,以解决现有技术中数据转化处理方法复杂导致实用性不强的问题。
本发明提供的并行数据编码装置,包括:数据控制模块,用于通过设立大包头首地址启动编码和输入若干中包的配置信息和中包头首地址;还用于根据单通道编码模块的通道ID向对应的单通道编码模块输入对应的中包数据;通道分配模块,用于接收若干中包配置信息,并为每个中包分配一个单通道编码模块,同时将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块;单通道编码模块,用于接收中包配置信息、中包头首地址以及对应的中包数据,并按照编码规则将中包配置信息和中包数据编码转换成64bit数据、将中包头首地址转换成存放地址;若干单通道编码模块同步运行;数据处理模块,用于获取若干单通道编码模块中的64bit数据和存放地址,并将64bit数据存储在对应的存放地址中,同时根据编码规则将64bit数据的数据信息和存放地址编码成大包头并存放在大包头首地址中。
如上所述的并行数据编码装置,进一步优选为,所述单通道编码模块包括:编码模块,用于接收中包配置信息、中包首地址以及中包数据,按照编码规则编码成中包并存储在数据收发模块中,同时输出存储地址区间;地址选择模块,用于存储地址区间,并在存储空间充足时向数据收发模块输出存储地址区间;数据收发模块,用于存储中包和地址区间信息,还用于在收到存储地址区间时,根据存储地址区间取出对应的地址数据,并将地址数据与存储地址区间发送至数据转换模块;数据转换模块,用于将地址数据转换成64bit数据,将中包头首地址和存储地址区间转换成存放地址。
如上所述的并行数据编码装置,进一步优选为,所述编码规则为将接收的数据按照大包或中包数据的排列方式编码排列;其中,所述大包包括大包头和若干个中包,所述大包包括大包头、偏移值和若干个中包,所述大包头包括中包个数、中包总字节数、标记2、标志3和标志4;所述中包包括中包头和若干个小包,所述中包头包括小包个数、小包总字节数、Type、ID和标志5;其中Type和ID为中包配置信息;所述小包包括小包头和若干个小包数据;所述小包头包括小包长度。
如上所述的并行数据编码装置,进一步优选为,每个所述小包数据均包括空数据标识、中包末尾标识或小包末尾标识中的一种或几种,所述空数据标识、中包末尾标识和小包末尾标识用于指示数据位置。
如上所述的并行数据编码装置,进一步优选为,包括64位随机存取存储器,所述64位随机存取存储器用于根据存放地址存放64bit数据,根据大包头首地址存放大包头;单通道编码模块还包括8位随机存取存储器和FIFO存储器,所述8位随机存取存储器用于存储中包,所述FIFO存储器用于存储地址区间、存放地址和64bit数据。
如上所述的并行数据编码装置,进一步优选为,所述数据控制模块还用于判断多个所述FIFO存储器中是否有存放地址和64bit数据;若有,则指令所述数据处理模块取出并根据存放地址将64bit数据存放至64位随机存取存储器中;若无,则指令所述数据处理模块编码大包头。
如上所述的并行数据编码装置,进一步优选为,所述单通道编码模块的数量为八个,每个所述单通道编码模块均具有单独的通道ID,八个所述单通道编码模块的通道ID依次为0-7。
本发明还公开了并行数据编码方法,用于通过如上任一项所述的并行数据编码装置实现并行数据编码,包括:S1:数据控制模块通过设立大包头首地址启动编码,然后输入一组中包头首地址和中包配置信息;S2:通道分配模块接收中包配置信息,为每个中包分配一个单通道编码模块,并将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块;S3:数据控制模块接收通道ID,并向多个单通道编码模块中输入对应的中包数据;S4:单通道编码模块接收中包配置信息以及与中包配置信息对应的中包数据,按照编码规则将中包配置信息和中包数据编码转换成64bit数据,同时根据中包首地址和编码规则生成新地址;S5:数据处理模块获取多个单通道编码模块中的64bit数据并将其存储在新地址中,并在处理完成后根据存储的数据重新编码形成大包。
如上所述的并行数据编码方法,进一步优选为,步骤S4包括:S41:编码模块接收输入的中包配置信息以及与中包配置信息对应的中包数据,按照中包格式编码成中包并存储在数据收发模块中的8位随机存取存储器中,同时输出8位随机存取存储器中的存储地址区间;S42:数据收发模块将存储地址区间存储在FIFO存储器中,并在FIFO存储器存储空间充足时根据存储地址区间取出对应的中包,将取出的中包与存储地址区间一起发送至数据转换模块中;S43:数据转换模块将中包转换成64bit数据,同时根据存储地址区间和中包首地址生成新地址,并将64bit数据和新地址存储在FIFO存储器中。
如上所述的并行数据编码方法,进一步优选为,步骤S5还包括:S51:数据控制模块检查FIFO存储器中的中包数量,当FIFO存储器中64bit数据的数量大于1时指定数据获取模块获取FIFO存储器中的64bit数据并将其存储在新地址中;当FIFO存储器中64bit数据的数量清零时,指令数据处理模块根据存储的数据重新编码形成大包。
本发明与现有技术相比具有以下的优点:
本发明所公开的并行数据编码装置包括数据控制模块、通道分配模块、单通道编码模块和数据处理模块,并通过上述模块对数据进行编码后再处理,同时为了提高编码效率,通过设置多个单通道编码模块,对数据采用并行编码,可以在同一时间完成多路数据处理,不仅传输速度快,而且大大提高了编码效率。故本发明在将数据中的同一个数据类型通过触发多个通道去进行并行编码,得到编码数据之后再转换成多字节数据缓存起来以便后续处理。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种并行数据编码装置的连接框图;
图2为单通道编码模块内的数据交互示意图;
图3为大包头、中包头和小包的格式示意图;
图4为64位随机存取存储器内存储示意图;
图5为本发明中一种并行数据编码方法的流程图;
图6为本发明中一个具体实施例中数据的编码过程;
图7为本发明中数据存放的数据格式。
具体实施方式
实施例1:
本实施例的目的是按照既定的数据格式,将输入的单个字节数据即8位数据通过编码存放到随机存取存储器RAM中。但为了更有效率处理大量数据以提高编码效率,在具体实施过程中,通过采用多路数据编码并行装置,将8位数据并行多路编码,随机存取存储器RAM中。
图1为本实施例公开的一种并行数据编码装置的连接框图,具体的,如图1所示,本实施例公开的并行数据编码装置包括:
数据控制模块,用于通过设立大包头首地址启动编码和输入若干中包的配置信息和中包头首地址;还用于根据单通道编码模块的通道ID向对应的单通道编码模块输入对应的中包数据;
通道分配模块,用于接收若干中包配置信息,并为每个中包分配一个单通道编码模块,同时将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块;
单通道编码模块,用于接收中包配置信息、中包头首地址以及对应的中包数据,并按照编码规则将中包配置信息和中包数据编码转换成64bit数据、将中包头首地址转换成存放地址;若干单通道编码模块同步运行;
数据处理模块,用于获取若干单通道编码模块中的64bit数据和存放地址,并将64bit数据存储在对应的存放地址中,同时根据编码规则将64bit数据的数据信息和存放地址编码成大包头并存放在大包头首地址中。
图2为单通道编码模块内的数据交互示意图,进一步的,如图2所示,所述单通道编码模块包括:
编码模块,用于接收中包配置信息、中包首地址以及中包数据,按照编码规则编码成中包并存储在数据收发模块中,同时输出存储地址区间;
地址选择模块,用于存储地址区间,并在存储空间充足时向数据收发模块输出存储地址区间;
数据收发模块,用于存储中包和地址区间信息,还用于在收到存储地址区间时,根据存储地址区间取出对应的地址数据,并将地址数据与存储地址区间发送至数据转换模块;
数据转换模块,用于将地址数据转换成64bit数据,将中包头首地址和存储地址区间转换成存放地址。
具体的,本实施例中,数据以若干“大包”的形式存放到随机存取储存器中,即一个地址一个字节数据,按照地址顺序存放,即,所述编码规则为将接收的数据按照大包或中包数据的排列方式编码排列。其中一个“大包”的格式及排列规则如图3所示。
图3为大包头、中包头和小包的格式示意图,其中包含多个数据,全部的数据整体表示一个“大包”,每个“大包”立面有多个“中包”,每一个中包有多个“小包”。图3为数据包格式示意图,即如图3所示所述大包包括大包头、偏移值和若干个中包,所述大包头包括中包个数、中包总字节数、标记2、标志3和标志4;所述中包包括中包头和若干个小包,所述中包头包括小包个数、小包总字节数、Type、ID和标志5;其中Type和ID为中包配置信息;所述小包包括小包头和若干个小包数据;所述小包头包括小包长度。
其中,小包的第一个数据“第n个小包长度”是一个4个字节(32位)的长度数据,表示该小包内有多少个数据(一个数据占用8位,即一个字节),随后跟随连续的多个数据。特殊情况:当第一个数据Length为0时,表示小包出现空数据的情况,空数据也是指一个小包数,计入“小包个数”数值中。中包的第一个数据“小包个数”(4字节)表示有多少个小包,特殊情况:当第一个数据“小包个数”为0时,表示中包出现了空包的情况,一旦出现空包,整个中包只存在中包头占用字节数,也就是说整个空包就是中包头,其中“小包个数”等于0,“小包总字节数”等于16,Type的值以及ID的值;第二个数据“小包总字节数”(4字节)表示该中包总共有多少字节数,这几个包头(小包个数,小包总字节数,Type,ID)数据的字节数,同样的统计在内;第三个数据type(4字节)表示中包最大字节数;第四个数据ID(4字节)表示该中包的编号(用于外部操作查找);第五个添加了数据“标识5”(4字节)。之后的数据就是连续的小包。到最后一个小包的最后一个数结束,为一个完整的中包。
大包:第一个数据“中包个数”(4字节)表示有多少个中包,第二个数据“中包总字节数”(4字节)表示该大包中总共有多少字节数,所有的包头信息和数据都统计在内;第三个数据标记2“标记2”(4字节);第四个数据“标志3”(4字节),第五个数据为“标志4”(4字节)。大包头紧接着有与“中包个数”相同个“偏移值”数据,表示这个大包中所含中包的首地址,一共占“中包个数”*4个字节。
进一步的,每个所述小包数据均包括空数据标识、中包末尾标识或小包末尾标识中的一种或几种,所述空数据标识、中包末尾标识和小包末尾标识用于指示数据位置。
进一步的,上述装置还包括64位随机存取存储器,所述64位随机存取存储器用于根据存放地址存放64bit数据,根据大包头首地址存放大包头;
单通道编码模块还包括8位随机存取存储器和FIFO存储器,所述8位随机存取存储器用于存储中包,所述FIFO存储器用于存储地址区间、存放地址和64bit数据。
进一步的,所述数据控制模块还用于判断多个所述FIFO存储器中是否有存放地址和64bit数据;若有,则指令所述数据处理模块取出并根据存放地址将64bit数据存放至64位随机存取存储器中;若无,则指令所述数据处理模块编码大包头。
进一步的,所述单通道编码模块的数量为八个,每个所述单通道编码模块均具有单独的通道ID,八个所述单通道编码模块的通道ID依次为0-7。
本实施例中目的是按照既定的数据格式,将输入的单个字节数据即8位数据通过编码存放在随机存取存储器RAM中。在具体实施例中,通过采用多路数据编码并行装置,将8位数据并行8路编码,随机存取存储器RAM中,其位宽为64,即64位随机存取存储器(以下称RAM64)。而单通道编码模块中,数据编码过程中输入的单个字节数据即8位数据,即缓存采用8位随机存取存储器(以下称RAM8)。
图4为64位随机存取存储器内存储示意图,从图中可知,每个地址只存放64bit数据,注意在这里大包的第一个字节地址是0,只是一个特殊情况。随后的许多大包的第一个字节不会是0地址,大包头首地址可以为任意值,只要RAM64中余下的地址可以存放剩余的大包数据。
实施例2:
图5公开了一种并行数据编码方法,用于通过实施例1中的并行数据编码装置实现并行数据编码。具体的,如图5所示,所述方法包括:
S1:数据控制模块通过设立大包头首地址启动编码,然后输入一组中包头首地址和中包头配置信息;
S2:通道分配模块接收中包配置信息,为每个中包分配一个单通道编码模块,并将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块;
S3:数据控制模块接收通道ID,并向多个单通道编码模块中输入对应的中包数据;
S4:单通道编码模块接收中包配置信息以及与中包配置信息对应的中包数据,按照编码规则将中包配置信息和中包数据编码转换成64bit数据,同时根据中包首地址和编码规则生成新地址;
S5:数据处理模块获取多个单通道编码模块中的64bit数据并将其存储在新地址中,并在处理完成后根据存储的数据重新编码形成大包。
进一步的,步骤S4包括:
S41:编码模块接收输入的中包配置信息以及与中包配置信息对应的中包数据,按照中包格式编码成完整的中包并存储在数据收发模块中的8位随机存取存储器中,同时输出8位随机存取存储器中的存储地址区间;
S42:数据收发模块将存储地址区间存储在FIFO存储器中,并在FIFO存储器存储空间充足时根据存储地址区间取出对应的中包,将取出的中包与存储地址区间一起发送至数据转换模块中;
S43:数据转换模块将中包转换成64bit数据,同时根据存储地址区间和中包首地址生成新地址,并将64bit数据和新地址存储在FIFO存储器中。
进一步的,步骤S5还包括:
S51:数据控制模块检查FIFO存储器中的中包数量,当FIFO存储器中64bit数据的数量大于1时指定数据获取模块获取FIFO存储器中的64bit数据并将其存储在新地址中;当FIFO存储器中64bit数据的数量清零时,指令数据处理模块根据存储的数据重新编码形成大包。
具体的,以一个具体的大包处理方式为例介绍本实施例中的编码方法。示例大包中一个有9个中包,第一个中包包含4个小包,每个小包中数据个数分别为10、3、0、3,具体的第一个中包中数据的小包数据如图6所示,编码之后的部分大包格式如图7所示。
首先,数据控制模块输入start,设立大包头首地址start_addr,表示编码开始,然后输入一组中包头配置信息(type和ID)和中包首地址。通道分配模块接收数据控制模块输入的一组中包配置信息,为每个中包分配一个单通道编码模块,并将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块。数据控制模块接收通道ID,并向多个单通道编码模块中输入对应的中包数据,具体的,若分配到通道0,则将type和ID输入给0通道编码转换,0单通道编码转换中的编码模块进行编码,数据则存入RAM8中。将中包首地址输入给数据处理模块寄存,等到之后有数据和地址偏移值输入后进行处理数据操作。同时反馈使用通道ID为0。使通道ID为0的单通道编码模块能够继续参与下一次的分配。
具体的,在通道ID为0的单通道编码模块中首先输入中包头配置信息Type和ID,将两个数据存进地址8到15中,存完之后输出地址“15”(代表的区间为8到15,而输出地址“15”可以是8到15区间地址的任意一个,下同)。紧接着输入中包头对应的中包数据。先输入第一个小包数据为a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,在a10时接收到小包结束标志一共10个数据,顺序存放在RAM8地址的24到33中。当存放的小包数据个数刚好等于8时,输出此时的区间地址“24”存放到FIFO中。等到小包数据存完之后,进行小包头的处理,计数得到小包数据个数为10,将数据长度0000000aH存放到地址20到23的位置。由于地址16到19存放的数据不作考虑,等到第一个小包头存好之后输出区间地址“23”存放到FIFO中。若此时未出现中包结束标志,也就是说还有小包,则继续接收输入的小包数据b1,b2,b3,在b3时接收到小包结束标志,此时数据长度为3,顺序存放在RAM8地址的38到40中。此时虽满足8个区间地址,但是小包头预留位置34到37并未存放好数据,将第二个小包头00000003H编码到位置34到37,等到第二个小包头编码完成后输出地址“32”。判断是否有中包结束标志,没有出现那么接收第三包小包数据。第三个小包没有数据,出现空数据标志,此时小包头00000000H编码到第三个小包头的位置41到44,编码完后不满足8个区间地址,故不输出地址。判断是否有中包结束标志,没有那么就接收第四个小包数据c1,c2,c3一共三个数据,编码到地址49到51。之前满足了8个区间地址,但其中45到48是第四个小包头的位置地址,故在填完第四个小包头00000003H之后输出地址“40”。判断是否有中包结束标志,出现了,由于整个8个区间地址只编码了四个地址即48到51,这一区间的其他地址即52到55,每个地址编码00H数据,等到8个区间地址均编码完毕后输出地址“48”。与此同时将中包头数据进行编码,计数得到的小包个数为4以及计算得到总字节数为52bytes(中包头20bytes加上小包头16bytes以及数据16bytes)写进地址0到7,之后输出地址“0”。到此通道0编码一个中包数据编码执行完毕。
之后,根据FIFO中存放的地址,取出这一地址对应的区间地址上的RAM8中的数据。即如果FIFO中存放了24地址,从FIFO中取出24,根据区间地址24连续从RAM8中取出地址24到31中的数据,取出的数据进行数据转换为a1a2a3a4a5a6a7a8H,同时伴随着区间地址“24”拼接组合起来一起存放到FIFO中,待到有接收到取数据请求时输出给数据处理模块进行处理。由于在编码到RAM8的过程中,将数据从地址0开始进行编码,故数据处理模块根据之前输入的第一个中包首地址00007H,将在中包首地址的基础上叠加上区间地址除以8的值(因为之前RAM8的地址数据要存放到RAM64中地址里,故在原地址的基础上除以8即可)作为RAM64的地址,将数据a1a2a3a4a5a6a7a8H存放进地址0000aH中。整个实现过程描述完毕。8个通道数据解码直到将64bit数据和地址均存进FIFO中的整个过程都8路通道并行进行且都相互独立。
当8路通道数据和地址均存进各路通道的FIFO中。只要FIFO中有数就取出数据在数据处理模块进行处理,具体操作已描述。等到8路通道的FIFO中数据全部取完后,进行处理偏移值的值。其值为每个中包首地址的字节偏移量,即中包首地址乘8的数值,每个中包按顺序组合成64bit数据存进对应地址。对应地址按照大包头首地址进行叠加。待到偏移值存放完毕后,处理大包头的数据,在整个过程中只需要存大包头首地址的数据即中包个数和总字节数。其中总字节数是指每个中包的总字节数,将它们进行计算叠加就是大包的总字节数。将两者组合起来存进RAM64的地址0中。存放格式如图7所示。
如上述所述,整体装置实现8通道并行数据解码,保证数据的稳定性,加快数据编码速度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种并行数据编码装置,其特征在于,包括:
数据控制模块,用于通过设立大包头首地址启动编码和输入若干中包的配置信息和中包头首地址;还用于根据单通道编码模块的通道ID向对应的单通道编码模块输入对应的中包数据;
通道分配模块,用于接收若干中包配置信息,并为每个中包分配一个单通道编码模块,同时将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块;
单通道编码模块,用于接收中包配置信息、中包头首地址以及对应的中包数据,并按照编码规则将中包配置信息和中包数据编码转换成64bit数据、将中包头首地址转换成存放地址;若干单通道编码模块同步运行;
数据处理模块,用于获取若干单通道编码模块中的64bit数据和存放地址,并将64bit数据存储在对应的存放地址中,同时根据编码规则将64bit数据的数据信息和存放地址编码成大包头并存放在大包头首地址中;
所述大包包括大包头、偏移值和若干个中包,所述大包头包括中包个数、中包总字节数、标记2、标志3和标志4;所述中包包括中包头和若干个小包,所述中包头包括小包个数、小包总字节数、Type、ID和标志5,其中所述中包头中的Type和ID为中包配置信息;所述小包包括小包头和若干个小包数据;所述小包头包括小包长度。
2.根据权利要求1所述的并行数据编码装置,其特征在于,所述单通道编码模块包括:
编码模块,用于接收中包配置信息、中包首地址以及中包数据,按照编码规则编码成中包并存储在数据收发模块中,同时输出存储地址区间;
地址选择模块,用于存储地址区间,并在存储空间充足时向数据收发模块输出存储地址区间;
数据收发模块,用于存储中包和地址区间信息,还用于在收到存储地址区间时,根据存储地址区间取出对应的地址数据,并将地址数据与存储地址区间发送至数据转换模块;
数据转换模块,用于将地址数据转换成64bit数据,将中包头首地址和存储地址区间转换成存放地址。
3.根据权利要求2所述的并行数据编码装置,其特征在于,
每个所述小包数据均包括空数据标识、中包末尾标识或小包末尾标识中的一种或几种,所述空数据标识、中包末尾标识和小包末尾标识用于指示数据位置。
4.根据权利要求3所述的并行数据编码装置,其特征在于,
包括64位随机存取存储器,所述64位随机存取存储器用于根据存放地址存放64bit数据,根据大包头首地址存放大包头;
单通道编码模块还包括8位随机存取存储器和FIFO存储器,所述8位随机存取存储器用于存储中包,所述FIFO存储器用于存储地址区间、存放地址和64bit数据。
5.根据权利要求4所述的并行数据编码装置,其特征在于,
所述数据控制模块还用于判断多个所述FIFO存储器中是否有存放地址和64bit数据;若有,则指令所述数据处理模块取出并根据存放地址将64bit数据存放至64位随机存取存储器中;若无,则指令所述数据处理模块编码大包头。
6.根据权利要求5所述的并行数据编码装置,其特征在于,所述单通道编码模块的数量为八个,每个所述单通道编码模块均具有单独的通道ID,八个所述单通道编码模块的通道ID依次为0-7。
7.一种并行数据编码方法,其特征在于,用于通过权利要求1-6中任一项所述的并行数据编码装置实现并行数据编码,包括:
S1:数据控制模块通过设立大包头首地址启动编码,然后输入一组中包头首地址和中包头配置信息;
S2:通道分配模块接收中包配置信息,为每个中包分配一个单通道编码模块,并将每个中包对应的单通道编码模块的通道ID反馈至数据控制模块;
S3:数据控制模块接收通道ID,并向多个单通道编码模块中输入对应的中包数据;
S4:单通道编码模块接收中包配置信息以及与中包配置信息对应的中包数据,按照编码规则将中包配置信息和中包数据编码转换成64bit数据,同时根据中包首地址和编码规则生成新地址;
S5:数据处理模块获取多个单通道编码模块中的64bit数据并将其存储在新地址中,并在处理完成后根据存储的数据重新编码形成大包。
8.根据权利要求7所述的并行数据编码方法,其特征在于,步骤S4包括:
S41:编码模块接收输入的中包配置信息以及与中包配置信息对应的中包数据,按照中包格式编码成完整的中包并存储在数据收发模块中的8位随机存取存储器中,同时输出8位随机存取存储器中的存储地址区间;
S42:数据收发模块将存储地址区间存储在FIFO存储器中,并在FIFO存储器存储空间充足时根据存储地址区间取出对应的中包,将取出的中包与存储地址区间一起发送至数据转换模块中;
S43:数据转换模块将中包转换成64bit数据,同时根据存储地址区间和中包首地址生成新地址,并将64bit数据和新地址存储在FIFO存储器中。
9.根据权利要求8所述的并行数据编码方法,其特征在于,步骤S5还包括:
S51:数据控制模块检查FIFO存储器中的中包数量,当FIFO存储器中64bit数据的数量大于1时指定数据获取模块获取FIFO存储器中的64bit数据并将其存储在新地址中;当FIFO存储器中64bit数据的数量清零时,指令数据处理模块根据存储的数据重新编码形成大包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011077919.2A CN112290952B (zh) | 2020-10-10 | 2020-10-10 | 一种并行数据编码装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011077919.2A CN112290952B (zh) | 2020-10-10 | 2020-10-10 | 一种并行数据编码装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112290952A CN112290952A (zh) | 2021-01-29 |
CN112290952B true CN112290952B (zh) | 2023-07-18 |
Family
ID=74422423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011077919.2A Active CN112290952B (zh) | 2020-10-10 | 2020-10-10 | 一种并行数据编码装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112290952B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1151230A (zh) * | 1994-05-19 | 1997-06-04 | 集成网络公司 | 可变规模的多媒体网络 |
WO2003052997A2 (en) * | 2001-12-14 | 2003-06-26 | Qualcomm, Incorporated | Method and apparatus for coding bits of data in parallel |
US6862278B1 (en) * | 1998-06-18 | 2005-03-01 | Microsoft Corporation | System and method using a packetized encoded bitstream for parallel compression and decompression |
CN101997834A (zh) * | 2009-08-10 | 2011-03-30 | 北京多思科技发展有限公司 | 支持高性能安全协议的装置 |
US8667377B1 (en) * | 2011-09-08 | 2014-03-04 | Xilinx, Inc. | Circuit and method for parallel decoding |
WO2016056201A1 (ja) * | 2014-10-10 | 2016-04-14 | パナソニックIpマネジメント株式会社 | 送信方法、送信装置及びシステム |
WO2017022211A1 (ja) * | 2015-08-03 | 2017-02-09 | パナソニックIpマネジメント株式会社 | 送信方法、受信方法、送信装置及び受信装置 |
WO2017219216A1 (zh) * | 2016-06-20 | 2017-12-28 | 华为技术有限公司 | 一种数据传输方法、相关设备及系统 |
CN107925781A (zh) * | 2015-08-03 | 2018-04-17 | 松下知识产权经营株式会社 | 发送方法、接收方法、发送装置以及接收装置 |
CN109712674A (zh) * | 2019-01-14 | 2019-05-03 | 深圳市泰尔迪恩生物信息科技有限公司 | 注释数据库索引结构、快速注释遗传变异的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002281063A (ja) * | 2001-03-21 | 2002-09-27 | Nec Corp | パケットスイッチ及びそれに用いるパケットメモリアクセス方法 |
US8189591B2 (en) * | 2001-10-30 | 2012-05-29 | Exar Corporation | Methods, systems and computer program products for packet ordering for parallel packet transform processing |
US9767032B2 (en) * | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
-
2020
- 2020-10-10 CN CN202011077919.2A patent/CN112290952B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1151230A (zh) * | 1994-05-19 | 1997-06-04 | 集成网络公司 | 可变规模的多媒体网络 |
US6862278B1 (en) * | 1998-06-18 | 2005-03-01 | Microsoft Corporation | System and method using a packetized encoded bitstream for parallel compression and decompression |
WO2003052997A2 (en) * | 2001-12-14 | 2003-06-26 | Qualcomm, Incorporated | Method and apparatus for coding bits of data in parallel |
CN101997834A (zh) * | 2009-08-10 | 2011-03-30 | 北京多思科技发展有限公司 | 支持高性能安全协议的装置 |
US8667377B1 (en) * | 2011-09-08 | 2014-03-04 | Xilinx, Inc. | Circuit and method for parallel decoding |
WO2016056201A1 (ja) * | 2014-10-10 | 2016-04-14 | パナソニックIpマネジメント株式会社 | 送信方法、送信装置及びシステム |
WO2017022211A1 (ja) * | 2015-08-03 | 2017-02-09 | パナソニックIpマネジメント株式会社 | 送信方法、受信方法、送信装置及び受信装置 |
CN107925781A (zh) * | 2015-08-03 | 2018-04-17 | 松下知识产权经营株式会社 | 发送方法、接收方法、发送装置以及接收装置 |
WO2017219216A1 (zh) * | 2016-06-20 | 2017-12-28 | 华为技术有限公司 | 一种数据传输方法、相关设备及系统 |
CN109712674A (zh) * | 2019-01-14 | 2019-05-03 | 深圳市泰尔迪恩生物信息科技有限公司 | 注释数据库索引结构、快速注释遗传变异的方法及系统 |
Non-Patent Citations (2)
Title |
---|
A FLEXIBLE HASH TABLE DESIGN FOR 10GBPS KEY-VALUE STORES ON FPGAS;Zsolt Istv´an等;《2013 23rd International Conference on Field programmable Logic and Applications》;1-8 * |
基于分层架构的网络处理器系统性能分析方法研究;单征;《中国博士学位论文全文数据库信息科技辑》(第01(2012)期);I139-10 * |
Also Published As
Publication number | Publication date |
---|---|
CN112290952A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7260580B2 (en) | Binary XML | |
US11269529B2 (en) | Neural network data processing apparatus, method and electronic device | |
CN101321279B (zh) | 处理数据的方法和系统 | |
US8291150B2 (en) | Table device, variable length coding apparatus, variable length decoding apparatus, and variable length coding and decoding apparatus | |
CN110134365B (zh) | 一种多通道并行读出fifo的方法及装置 | |
RU2004119842A (ru) | Разреженное кэширование для потоковой аудиовизуальной информации | |
CN104065588B (zh) | 一种数据包调度和缓存的装置及方法 | |
US20190188181A1 (en) | Method for Zero-Copy Object Serialization and Deserialization | |
CN108334622A (zh) | 一种获取格式化复合数据的方法 | |
CN109213828B (zh) | 区块生成方法、装置、设备及存储介质 | |
CN101990128A (zh) | 对象轮播的方法及装置及对象轮播下载的方法及装置 | |
CN112290952B (zh) | 一种并行数据编码装置及方法 | |
CN107276912B (zh) | 存储器、报文处理方法及分布式存储系统 | |
CN105337617A (zh) | 一种fsn文件高效压缩方法 | |
CN102468902B (zh) | LTE系统Turbo编码速率匹配/解速率匹配的方法 | |
CN112383313B (zh) | 一种并行数据解码装置及方法 | |
CN114302089A (zh) | 一种基于fpga的多路视频信号缓存控制方法及系统 | |
CN109327284B (zh) | 数据传输方法、装置及电子设备 | |
CN102033836A (zh) | 用于交换数据的方法 | |
JP2008124998A (ja) | パケットエミュレーション装置 | |
US7423969B2 (en) | Process for storing transmission units and a network communications device | |
CN112100170B (zh) | 数据库交互数据解码方法和装置 | |
WO2023169060A1 (zh) | 图像数据处理方法及装置、存储介质 | |
CN110298017A (zh) | 一种编码数据处理方法、装置及计算机存储介质 | |
JPH03198544A (ja) | パリティ計数回路 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |