一种数据处理方法、编解码加速器和相关设备技术

技术编号:39057835 阅读:10 留言:0更新日期:2023-10-12 19:50
本申请实施例公开了一种数据处理方法、编解码加速器和相关设备,用于降低运算负担,节约算力资源。本申请实施例方法包括:解析待处理数据,得到待处理数据对应的目标模板序号和目标数据分布序号。根据目标模板序号,确定待处理数据对应的目标处理模板;根据目标数据分布序号,确定待处理数据对应的目标数据分布信息。根据目标数据分布信息,确定待处理数据中定长字段对应的第一内存开销;根据目标数据分布信息、目标处理模板和待处理数据,计算待处理数据中变长字段对应的第二内存开销。根据第一内存开销和第二内存开销,申请用于存储编解码待处理数据的输出数据的目标内存空间。码待处理数据的输出数据的目标内存空间。码待处理数据的输出数据的目标内存空间。

【技术实现步骤摘要】
一种数据处理方法、编解码加速器和相关设备


[0001]本申请实施例涉及计算机领域,尤其涉及一种数据处理方法、编解码加速器和相关设备。

技术介绍

[0002]在计算机科学中,编码和解码发挥着重要作用,在计算机通信、存储等场景中,序列化和反序列化作为编解码的一种具体实现,得到了广泛的应用。其中,序列化是指当数据需要传输或者存储时,将内存中分散的数据结构转换为按照特定方式排布的、连续的字节流的过程,而反序列化的功能则与之相反。
[0003]在一种数据处理方法中,采用多次分配扩容的内存分配方式,进行序列化或者反序列化。具体来说,预先分配一块内存缓冲区用于进行序列化或者反序列化,在执行过程中,如果出现内存不足的情况,会重新申请更大的内存缓冲区,并将原内存缓冲区中的数据集中拷贝到该更大的内存缓冲区中,再释放原内存缓冲区。
[0004]在这种方法中,可能会出现多次申请内存并再次调用编解码加速器进行序列化或者反序列化,增加了运算负担,浪费了算力资源。

技术实现思路

[0005]本申请实施例提供了一种数据处理方法、编解码加速器和相关设备。在这种数据处理方法中,对待处理数据进行解析,得到目标模板序号和目标数据分布序号,根据目标数据分布序号对应的目标数据分布信息,确定待处理数据中定长字段对应的第一内存开销;根据目标模板序号对应的目标处理模板和目标数据分布信息,确定待处理数据中变长字段对应的第二内存开销。最后根据第一内存开销和第二内存开销,确定输出数据的目标内存空间。这样能够精确计算出输出数据所需要的内存空间,进行一次内存申请即可,降低了运算负担,节约了算力资源。
[0006]本申请实施例第一方面提供了一种数据处理方法,包括:
[0007]编解码加速器获取到待处理数据之后,会对待处理数据进行解析,得到待处理数据所对应的目标模板序号和目标数据分布序号。根据目标模板序号,能够获取到待处理数据对应的目标处理模板,该目标处理模板指示了待处理数据的属性信息,包括待处理数据的类型、定义等信息。根据目标数据分布信息,能够获取待处理数据对应的目标数据分布信息,该目标数据分布信息指示的是待处理数据的数据分布情况,也即待处理数据的结构体,简单来说,即为待处理数据中各部分数据的排布情况。目标数据分布信息还可以绑定该信息所对应的定长字段的内存开销,因此根据目标数据分布信息,能够确定待处理数据中定长字段对应的第一内存开销。在得到第一内存开销和第二内存开销之后,编解码加速器根据这两个内存开销能够计算出用于存储编解码待处理数据之后得到的输出数据的目标内存空间的大小,并申请目标内存空间。
[0008]从以上技术方案可以看出,本申请实施例具有以下优点:
[0009]根据目标数据分布序号对应的目标数据分布信息,确定待处理数据中定长字段对应的第一内存开销;根据目标模板序号对应的目标处理模板和目标数据分布信息,确定待处理数据中变长字段对应的第二内存开销。最后根据第一内存开销和第二内存开销,确定输出数据的目标内存空间。这样能够精确计算出输出数据所需要的内存空间,进行一次内存申请即可,降低了运算负担,节约了算力资源。
[0010]在第一方面一些可选的实施例中,在解析待处理数据之前,编解码加速器能够获取到指示注册信息的存储位置的第一地址信息,并根据第一地址信息获取到初始注册信息。注册信息包括M个处理模板和N个数据分布信息,M和N均为正整数。编解码加速器会建立这M个处理模板与N个数据分布信息之间的对应关系,使得一个处理模板对应至少一个数据分布信息。编解码加速器还可以基于多种方式,确定每个处理模板中每个定长字段的内存开销。具体来说,在实际应用中,编解码加速器可以对处理模板中的成员进行分析,并计算各个模板中每个定长字段的内存开销,由此确定每个处理模板中每个定长字段的内存开销。也可以由处理器或者终端设备在注册处理模板时,直接注明每个定长字段的内存开销,使得编解码加速器可以直接获取处理模板中每个定长字段的内存开销。除此之外,还可以通过其他的方式确定每个处理模板中各个定长字段的内存开销,具体此处不做限定。例如,在配置过程中,注明成员数量少的处理模板中每个定长字段的内存开销,其他未注明内存开销的定长字段由编解码加速器在获取到处理模板之后进行计算,由此获取到每个处理模板中每个定长字段的内存开销。编解码加速器根据每个定长字段的内存开销和M个处理模板与N个数据分布信息之间的对应关系,能够确定出这N个数据分布信息中每个数据分布信息所对应的定长字段的内存开销。
[0011]本申请实施例中,建立注册信息所包括的M个处理模板和N个数据分布信息之间的对应关系,由于一个处理模板中可以包括多种类型的成员,因此一个处理模板可以对应多个数据分布信息,这为本申请实施例实现以非侵入式的方式进行序列化和/或反序列化提供了技术支持,也即提升了技术方案的可实现性。其中,非侵入式是指不需要使用指定的输入数据结构,便可以实现序列化和/或反序列化功能。这是因为,注册信息中的处理模板囊括了多种情况,编解码加速器根据待处理数据的数据分布信息,便能确定与之对应的处理模板,也就确定了待处理数据的处理方式。同时,如果一个处理模板可以对应多个数据分布信息,也可以减少注册的处理模板的数量,从而降低了内存消耗。另外,根据数据分布信息与处理模板之间的对应关系,和每个处理模板中每个定长字段的内存开销,能够确定的每个数据分布信息所对应的定长内存开销,也即将数据分布信息与定长内存开销进行绑定,使得编解码加速器在后续的处理过程中,能够根据待处理数据的目标数据分布信息快速确定出待处理数据对应的定长内存开销,提升了处理效率。
[0012]在第一方面一些可选的实施例中,待处理数据对应的目标数据分布信息包含于N个数据分布信息中。在数据分布信息与定长内存开销绑定的情况下,编解码加速器可以直接将目标数据分布信息对应的定长内存开销,确定为待处理数据中定长字段对应的第一内存开销。
[0013]本申请实施例中,将数据分布信息与定长内存开销进行绑定,使得编解码加速器在数据处理过程中,不需要再进行计算,节约了运算资源。同时,够根据目标数据分布信息直接快速确定出待处理数据对应的定长内存开销,也提升了处理效率。
[0014]在第一方面一些可选的实施例中,在解析待处理数据之前,编解码加速器能够获取指示注册信息的存储位置的第一地址信息,并根据第一地址信息获取注册信息。该注册信息包括M个处理模板,M为正整数。然后确定这M个处理模板中每个处理模板所包括的每个定长字段的内存开销。编解码加速器确定每个定长字段的内存开销的方式,在上文已经介绍过,此处不再赘述。
[0015]在第一方面一些可选的实施例中,如果编解码加速器在解析待处理数据之前,仅仅确定了每个处理模板中每个定长字段的内存开销,那么在确定待处理数据中定长字段对应的第一内存开销时,编解码加速器需要根据目标数据分布信息和目标处理模板,确定待处理数据中包括的至少一个定长字段,然后根据至少一个定长字段中每个定长字段的内存开销,确定第一内存开销。
[0016]本申请实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:解析待处理数据,得到所述待处理数据对应的目标模板序号和目标数据分布序号;根据所述目标模板序号,获取所述待处理数据对应的目标处理模板;根据所述目标数据分布序号,获取所述待处理数据对应的目标数据分布信息;根据所述目标数据分布信息,确定所述待处理数据中定长字段对应的第一内存开销;根据所述目标数据分布信息、所述目标处理模板和所述待处理数据,计算所述待处理数据中变长字段对应的第二内存开销;根据所述第一内存开销和所述第二内存开销,申请目标内存空间,所述目标内存空间用于存储编解码所述待处理数据得到的输出数据。2.根据权利要求1所述的方法,其特征在于,在所述解析待处理数据之前,所述方法还包括:获取第一地址信息,所述第一地址信息指示注册信息的存储位置,所述注册信息包括M个处理模板和N个数据分布信息,所述M个处理模板中每个处理模板对应至少一个数据分布信息,M和N均为正整数;根据所述第一地址信息,获取所述M个处理模板和所述N个数据分布信息;确定所述每个处理模板中每个定长字段的内存开销;根据所述每个定长字段的内存开销,和所述M个处理模板与所述N个数据分布信息之间的对应关系,确定所述N个数据分布信息中每个数据分布信息对应的定长内存开销。3.根据权利要求2所述的方法,其特征在于,所述目标数据分布信息包含于所述N个数据分布信息;所述根据所述目标数据分布信息,确定所述待处理数据中定长字段对应的第一内存开销,包括:确定所述目标数据分布信息对应的定长内存开销,为所述第一内存开销。4.根据权利要求1所述的方法,其特征在于,在所述解析待处理数据之前,所述方法还包括:获取第一地址信息,所述第一地址信息指示注册信息的存储位置,所述注册信息包括M个处理模板,M为正整数;根据所述第一地址信息,获取所述M个处理模板;确定所述M个处理模板中每个处理模板包括的每个定长字段的内存开销。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标数据分布信息,确定所述待处理数据中定长字段对应的第一内存开销,包括:根据所述目标数据分布信息和所述目标处理模板,确定所述待处理数据对应的至少一个定长字段;根据所述至少一个定长字段中每个定长字段的内存开销,确定所述第一内存开销。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述目标数据分布信息指示所述待处理数据的成员分布情况,所述目标处理模板指示所述待处理数据的属性信息;所述根据所述目标数据分布信息和所述目标处理模板,计算所述待处理数据中变长字段对应的第二内存开销,包括:根据所述待处理数据的成员分布情况、所述待处理数据的属性信息和所述待处理数
据,确定所述待处理数据包括的所述变长字段;计算所述变长字段对应的所述第二内存开销。7.根据权利要求2至6中任一项所述的方法,其特征在于,所述方法还包括:获取所述M个处理模板对应的M个地址信息和M个模板序号;建立所述M个地址信息与所述M个模板序号之间的映射关系,得到所述第一映射表;所述根据所述目标模板序号,获取所述待处理数据对应的目标处理模板,包括:根据所述目标模板序号,从所述第一映射表中确定所述目标处理模板对应的第二地址信息;根据所述第二地址信息,从内存中获取所述目标处理模板。8.根据权利要求2至7中任一项所述的方法,其特征在于,所述方法还包括:获取所述N个数据分布信息对应的N个地址信息和N个数据分布序号;建立所述N个地址信息与所述N个数据分布序号之间的映射关系,得到所述第二映射表;所述根据所述目标数据分布序号,获取所述待处理数据对应的目标数据分布信息,包括:根据所述目标数据分布序号,从所述第二映射表中确定所述目标数据分布信息对应的第三地址信息;根据所述第三地址信息,从内存中获取所述目标数据分布信息。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述申请目标内存空间,包括:通过内存管理加速器或者内存管理模块,申请所述目标内存空间。10.一种编解码加速器,其特征在于,包括:处理单元,用于解析待处理数据,得到所述待处理数据对应的目标模板序号和目标数据分布序号;获取单元,用于根据所述目标模板序号,获取所述待...

【专利技术属性】
技术研发人员:王睿熊婕秦涛黄敬雷李吉史济源
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1