CN116821204A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN116821204A
CN116821204A CN202210276054.5A CN202210276054A CN116821204A CN 116821204 A CN116821204 A CN 116821204A CN 202210276054 A CN202210276054 A CN 202210276054A CN 116821204 A CN116821204 A CN 116821204A
Authority
CN
China
Prior art keywords
data
serialized
data object
attribute
hardware accelerator
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
CN202210276054.5A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210276054.5A priority Critical patent/CN116821204A/zh
Priority to PCT/CN2023/082918 priority patent/WO2023179632A1/zh
Publication of CN116821204A publication Critical patent/CN116821204A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据处理方法,应用于电子设备的处理器,该电子设备还包括硬件加速器;该方法包括:获取待序列化的数据对象对应的内存地址和数据结构信息;向硬件加速器发送第一指令,该第一指令用于指示硬件加速器对待序列化的数据对象进行序列化操作;将内存地址和数据结构信息发送给硬件加速器,以使硬件加速器基于内存地址和数据结构信息,对内存地址存储的数据进行序列化操作,以得到待序列化的数据对象的序列化数据。本申请提供的数据处理的方法,通过设置硬件加速器,并通过硬件加速器来完成较为占用CPU资源的序列化过程,以减少数据对象在序列化过程中对CPU的使用率,提升系统业务的性能。

Description

一种数据处理方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及装置。
背景技术
如图1所示,序列化是指用于将数据是将程序中的数据对象转换为字节序列的过程,通过字节序列的数据对象可以永久的保存在存储介质中,也可以通过网络传输到其他节点,后续需要用时可以执行反序列化过程,将恢复成原来的数据对象,再次在程序中使用,也就是说,序列化是可逆的,数据对象可以通过序列化转换为字节序列,字节序列也可以通过反序列化转换为数据对象。
目前在大数据等许多分布式业务场景中,在网络上传输和保存到存储介质的对象都必须进行序列化动作。例如,在大数据kafka等业务场景中,就大量运用了json来进行序列化动作,它是目前使用最为广泛的一种序列化方式,它比较简单通用,但是序列化动作本身一般也是我们整个系统的性能瓶颈点,解决好序列化的性能问题往往会是解决整个系统序性能问题的关键。
发明内容
本申请的实施例提供一种数据处理方法,通过设置硬件加速器,并通过硬件加速器来完成较为占用CPU资源的序列化过程,以减少数据对象在序列化过程中对CPU的使用率,提升系统业务的性能。
第一方面,本申请提供了一种数据处理方法,应用于电子设备的处理器,该电子设备还包括硬件加速器;该方法包括:获取待序列化的数据对象对应的内存地址和数据结构信息;向硬件加速器发送第一指令,该第一指令用于指示硬件加速器对待序列化的数据对象进行序列化操作;将内存地址和数据结构信息发送给硬件加速器,以使硬件加速器基于内存地址和数据结构信息,对内存地址存储的数据进行序列化操作,以得到待序列化的数据对象的序列化数据。
本申请提供的数据处理的方法,通过设置硬件加速器,并通过硬件加速器来完成较为占用CPU资源的序列化过程,以减少数据对象在序列化过程中对CPU的使用率,提升系统业务的性能。
在一个可能的实现中,上述数据结构信息包括待序列化的数据对象的各个属性的类型的编码信息;上述硬件加速器基于内存地址和数据结构信息,对内存地址存储的数据进行序列化操作,以得到待序列化的数据对象的序列化数据,包括:基于待序列化的数据对象的各个属性的类型的编码信息对内存地址存储的数据进行解析,得到待序列化的数据对象的各个属性和各个属性对应的属性值;基于待序列化的数据对象的各个属性和各个属性对应的属性值,确定待序列化的数据对象的序列化数据。
在一个可能的实现中,电子设备还包括收发器;硬件加速器还用于将待序列化的数据对象的序列化数据发送给收发器,以使收发器将待序列化的数据对象的序列化数据发送给目标设备。
即该电子设备可以应用于分布式场景中,电子设备作为分布式场景中的一个计算节点,在向另一个节点传输数据对象的数据时,利用硬件加速器对数据对象的数据进行序列化操作,将其转换为序列化数据,然后将序列化数据通过收发器发送给另一个计算节点,实现分布式场景中的网络传输,减少分布式场景中各个计算节点因序列化操作对cpu的资源占用,进而提升分布式系统的性能。
在另一个可能的实现中,还包括向硬件加速器发送第二指令,第二指令用于指示硬件加速器对待反序列化的序列化数据进行解析;基于解析结果,确定待反序列化的序列化数据对应的数据对象,解析结果包括硬件加速器对待反序列化的序列化数据进行解析得到的待重建的数据对象的各个属性和各个属性对应的属性值。
该可能的实现中,硬件加速器对序列化数据进行分析得到待重建的数据对象的各个属性以及各个属性的属性值,然后软件利用硬件解析得到的待重建的数据对象的各个属性以及各个属性的属性值,为待重建的数据对象的类的各个属性赋值,以完成数据对象的重建,也就是说,通过软硬结合的方式完成反序列化过程,并将最消耗算力的解析过程交由硬件加速器去做,在反序列化过程中降低对CPU资源的占用,进一步提高系统的性能。
在另一个可能的实现中,基于所述解析结果,确定待反序列化的序列化数据对应的数据对象,包括:获取待重建的数据对象的类信息,类信息包括待重建的数据对象的各个属性;基于硬件加速器解析得到的各个属性对应的属性值,对待重建的数据对象的类信息中的各个属性进行赋值,以重建待反序列化的序列化数据对应的数据对象。
在另一个可能的实现中,硬件加速器设置在处理器上;或者电子设备包括网卡,硬件加速器设置在网卡上;或者电子设备包括网卡,硬件加速器与网卡分体设置且与网卡通信连接;或者电子设备包括硬盘,硬件加速器设置在硬盘上。
也就是说,本申请中硬件加速器有多种设置方式,例如,硬件加速器可以集成设置于CPU上,作为CPU的一个计算单元来实现数据对象的序列化或反序列化的加速功能;或者,硬件加速器可以与网卡芯片集成设置,作为网卡芯片的一个计算单元来实现数据对象的序列化或反序列化的加速功能;或者硬件加速器可以作为单独的一个芯片,例如硬件加速器可以为片上系统(System on Chip,SoC),片上系统通过驱动代码接入电子设备的操作系统,向上提供API接口,向下与网卡通信连接,片上系统处理好的数据通过网卡发送出去;或者,硬件加速器可以设置在硬盘上。
第二方面,本申请提供了一种数据处理装置,包括:
获取模块,用于获取待序列化的数据对象对应的内存地址和数据结构信息;
发送模块,用于向所述硬件加速模块发送第一指令,所述第一指令用于指示所述硬件加速模块对所述待序列化的数据对象进行序列化操作;
将所述内存地址和数据结构信息发送给所述硬件加速模块;
硬件加速模块,用于基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
在一个可能的实现中,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速模块具体用于:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
在另一个可能的实现中,还包括收发模块;
所述硬件加速模块还用于,将所述待序列化的数据对象的序列化数据发送给所述收发器;
所述收发模块用于,将所述待序列化的数据对象的序列化数据发送给目标设备。
在另一个可能的实现中,还包括重建模块;
所述发送模块还用于,向所述硬件加速模块发送第二指令,所述第二指令用于指示所述硬件加速模块对待反序列化的序列化数据进行解析;
所述重建模块用于,基于所述解析结果,确定所述待反序列化的序列化数据对应的数据对象,所述解析结果包括所述硬件加速模块对待反序列化的序列化数据进行解析得到的待重建的数据对象的各个属性和各个属性对应的属性值。
在另一个可能的实现中,所述重建模块具体用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速模块解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
第三方面,本申请还提供一种电子设备,包括处理器和硬件加速器,其中,处理器用于,获取待序列化的数据对象对应的内存地址和数据结构信息;向所述硬件加速器发送第一指令,所述第一指令用于指示所述硬件加速器对所述待序列化的数据对象进行序列化操作;将所述内存地址和数据结构信息发送给所述硬件加速器;
硬件加速器用于,基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
在一个可能的实现中,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速器具体用于:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
在另一个可能的实现中,所述电子设备还包括收发器;
所述硬件加速器还用于,将所述待序列化的数据对象的序列化数据发送给所述收发器;所述收发器用于,将所述待序列化的数据对象的序列化数据发送给目标设备。
在另一个可能的实现中,所述处理器还用于,向所述硬件加速器发送第二指令,所述第二指令用于指示所述硬件加速器对待反序列化的序列化数据进行解析;
所述硬件加速器用于,响应于所述第二指令,对所述待反序列化的序列化数据进行解析,得到待重建的数据对象的各个属性和各个属性对应的属性值。
所述处理器还用于,基于所述待重建的数据对象的各个属性和各个属性对应的属性值,确定所述待反序列化的序列化数据对应的数据对象。
在另一个可能的实现中,所述处理器还用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速器解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
在另一个可能的实现中,所述处理器还用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速器解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
第四方面,本申请还提供一种计算设备,包括存储器和处理器,所述存储器中存储有指令,当所述指令被处理器执行时,使得第一方面所述的方法被实现。
第五方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在被处理器执行时,使得第一方面所述的方法被实现。
第六方面,本申请实施例还提供一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括指令,当所述指令执行时,令计算机执行第一方面所述的方法。
附图说明
图1为数据对象序列化和反序列化的过程示意图;
图2a为本申请实施例提供的一种数据处理系统的架构示意图;
图2b为本申请实施例提供的另一种数据处理系统的架构示意图;
图3为本申请实施例提供的一种数据处理方法的流程图;
图4为CPU和硬件加速度配合完成数据对象的序列化过程的示意图;
图5为硬件加速器完成序列化过程的示意图;
图6为本申请实施例提供的一种数据处理方法的反序列化过程的示意图;
图7为CPU和硬件加速器配合完成反序列化过程的示意图;
图8为本申请实施例提供的一种数据处理装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
序列化和反序列化一直都是系统架构中的一个重要环节,在分布式、大数据系统中更为显著。序列化动作本身一般也是系统的性能瓶颈点,解决好序列化的性能问题往往会是解决整个系统性能问题的关键。但是现有的对数据对象的序列化过程往往是通过软件来实现的,例如软件需要对数据对象中各个成员变量的解析、组建序列化结构、封包等操作来实现数据对象的序列化,上述操作均需要CPU参与,因此造成序列化过程中CPU占有较高,成为整个系统的性能瓶颈。
针对上述问题,本申请实施例提出一种数据处理的方法,通过设置硬件加速器,并通过硬件加速器来完成数据对象的序列化过程,以减少数据对象在序列化过程中对CPU的使用率,提升系统业务的性能。
本申请实施例提供的数据处理的方法可以应用于多种数据处理系统,例如由单台计算设备构成的数据处理系统,或者由多台计算设备组成的数据处理系统等,本申请实施例对此不做具体限定。
计算设备为具有计算能力的设备,例如计算机、智能穿戴设备、智能手机、服务器等。
图2a为本申请实施例提供的一种数据处理系统的架构示意图。如图2所示,该数据处理系统至少包括设备10和设备20,设备10和设备20在整体架构上课划分为四层,包括业务层、序列化引擎层、硬件加速器层和网络收发层。业务层,即上层业务层,可以是Spark、Kafka等常见大数据业务。序列化引擎层与硬件加速器配合,向上提供硬件加速器的序列化API接口,也就是说,序列化引擎层可以理解为硬件加速器的驱动程序,使硬件加速器接入计算设备的操作系统。硬件加速器层用于在硬件层面实现数据对象的序列化过程,降低计算设备CPU的参与,也就是说,采用硬件方式对数据对象的序列化过程进行加速。网络收发层(收发器作为网络收发层),将序列化后的数据从本计算设备发送至目标计算设备。
如图2a所示,当设备10需要将其业务层中的数据对象发送给设备20时,设备10的CPU向硬件加速器发送数据对象的内存地址和序列化指令,硬件加速器则对内存地址中的数据进行序列化操作,将数据对象转换为字节流,即得到数据对象的序列化数据,将字节流通过网络收发层发送给设备20的网络收发层,设备20接收到该字节流后,当需要调用时,设备20的CPU向硬件加速器发送反序列化解析指令,硬件加速器对该字节流进行解析,得到数据对象的各个属性和各个属性对应的属性值,CPU利用该解析结果对数据对象的类进行属性赋值,将字节流恢复为数据对象。
该数据处理系统可以应用于分布式业务场景中,即数据处理系统可以应用于分布式系统中,分布式系统包括多个计算节点,多个计算节点中全部或部分计算节点为设备10或设备20。
该数据处理系统还以应用于服务端和客户端之间的数据传输,此时,设备10为服务端设备,设备20为客户端设备。
该数据处理系统还以应用于客户端和服务端之间的数据传输,此时,设备10为客户端设备,设备20为服务端设备。
其中,服务端设备可以为各种类型的服务器,例如,服务器可以为专用服务器计算机(例如个人计算机服务器、UNIX服务器、终端服务器)、刀片式服务器、大型计算机、服务器集群或任何其他适当的布置或组合。客户端设备可以包括各种类型的计算机设备,例如,便携式手持设备、通用计算机(例如个人计算机或膝上计算机)、工作站计算机、可穿戴设备等。
图2b为本申请实施例提供的另一种数据处理系统的架构示意图。如图2b所示,该数据处理系统为单台计算设备30,计算设备30包括内存、硬件加速器和硬盘,内存用于提供内存空间、硬盘用于提供硬盘存储空间,当内存要将数据对象持久化存储于硬盘存储空间时,内存中的数据对象经硬件加速器进行序列化后转换为易于存储的字节序列,将序列化后的字节序列存储于硬盘存储空间内,当计算设备需要调用数据对象时,硬件加速器再对硬盘存储空间内的序列化后的字节序列数据进行解析,得到数据对象的各个属性和各个属性对应的属性值,CPU利用该解析结果对数据对象的类进行属性赋值,将字节流恢复为数据对象。
因此,数据对象的序列化和反序列化的应用场景主要包括,数据对象的持久化和数据对象的传输。数据对象的持久化是指在很多应用中,需要对某些数据对象进行序列化,让它们离开内存空间,以某种形式保存在物理介质上,能够长期保存。数据对象的传输是指,当两个电子设备或进程在进行原创通信时,彼此可以发送各种类型的数据对象。无论何种类型的数据对象,都会以字节序列的形式进行传输,发送方需要将这个数据对象转换为字节序列,而接收方需要把字节序列再恢复为数据对象。
应理解的是,图2a和图2b示出的两种数据处理系统仅是为了便于理解本申请实施例的技术方案的示意图,并不构成对本申请实施例提供的的技术方案的限定,例如,数据处理系统还可以包括更多或更少的模块,只要是应用了硬件加速器对数据对象进行序列化或反序列化即可。
下面详细介绍本申请实施例提供的数据处理方法的具体实现方案。
图3为本申请实施例提供的一种数据处理方法的流程图。该方法可应用于图2a和图2b所示的数据处理系统。如图3所示,本申请实施例提供的数据处理方法至少包括步骤S301-S303。
在步骤S301中,获取待序列化的数据对象对应的内存地址和数据结构信息。
可以理解的是,数据对象为客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。例如,当对象为用户时,其具有的属性包括姓名、邮箱、年龄和性别等,在使用时数据对象在内存中的表示为结构化的数据,例如,数据对象可以有如下的userInfo信息结构:
class UserInfo{
string name;
string email;
int age;
boolen male;
int math;
int phy;
}。
用户有大量的userinfo数据信息需要进行节点间传输,例如初始化的信息如下:
Userinfo info=new Userinfo();
info.setName(“xiaoming”);
info.setEmail(“xiaoming@huawei.com”);
info.setAge(26);
info.setMale(true);
info.math(90);
info.phy(95);
也即对象为用户时,数据对象的属性包括姓名、邮箱、年龄、性别、数学成绩和物理成绩等,用各种属性对用户进行描述。例如由上述userinfo可知,该用户姓名为“xiaoming”,邮箱为“xiaoming@huawei.com”,性别为“男”,数学成绩为“90”,物理成绩为“95”。
在定义数据结构时会对其进行编码,例如,可以通过如下格式进行编码:
type encode
string 1
int 2
short 3
double 4
long 5
bool 6
如上表,user的数据结构可以编码为A:{1,1,2,6,2,2}。
当数据对象需要在设备间进行传输或者需要持久化存储在自身的硬盘上时,需要将数据对象进行序列化为字节流,以便于传输和存储。
在需要将数据对象userinfo进行序列化时,CPU会获取该userinfo对应的内存地址以及数据对象的结构信息,数据对象的结构信息也就是数据对象的各个属性的类型的编码信息,例如数据对象为用户user时,其数据结构为A:{1,1,2,6,2,2}。
在步骤S302中,向硬件加速器发送第一指令,第一指令用户指示硬件加速器对待序列化的数据对象进行序列化操作。
也就是说,CPU向硬件加速器发送序列化指令,以控制硬件加速器对待序列化的数据对象进行序列化操作。
在步骤S303中,将内存地址和数据结构信息发送给硬件加速器,以使硬件加速器基于内存地址和数据结构信息,对内存地址存储的数据进行序列化操作,以得到待序列化的数据对象的序列化数据。
可以理解的是,硬件加速器可以采用多种序列化方式将数据对象进行序列化以转换为字符串的形式进行传输,例如,对象简谱(javascript object notation,JSON),可扩展标记语言(extensible markup language,XML)等。
可以理解的是,CPU可以单独将内存地址和数据结构信息发送给硬件加速器,也可以将内存地址和数据结构信息携带到第一指令中,一并发送给硬件加速器,对此本申请实施例不做限定。
下面以JSON为例介绍硬件加速器对数据对象的序列化过程。
图4为本申请实施例提供的CPU和硬件加速器配合完成数据对象的序列化过程的示意图。如图4所示,CPU只需将数据对象的源数据的内存地址和数据对象的结构编码信息告知发送给硬件加速器,硬件加速器即可对数据对象的源数据进行序列化操作以得到JSON字符串信息。
数据对象的结构编码信息为数据对象的各个属性的类型的编码信息,例如,上文中userInfo的代码信息结构中,数据对象user的属性包括name、email、age、male、math、phy…,各个属性的类型分别为string、string、int、boolen、int、int…,以及各个属性的类型的编码信息为A:{1,1,2,6,2,2},每个类型后面即为描述数据对象的属性信息(包括属性名称和属性值),因此,知道数据对象的各个属性的类型的编码信息后,即可得知,数据对象的数据结构信息,也即该数据对象的结构编码信息为A:{1,1,2,6,2,2}。
继续参见图4,硬件加速器得知数据对象的内存地址和数据结构编码信息后,即可根据数据对象的内存地址和数据结构编码信息对底层数据(即内存地址上存储的数据,也即数据对象的源数据)进行解析,得到数据对象的各个属性和各个属性对应的属性值,即该数据对象的键值对信息,再将该键值对信息进行JSON字符组装得到数据对象的序列化数据,最后将数据对象的序列化数据通过网络收发层发送给目标设备。
示例性的,硬件加速器具有内存空间,硬件加速器为数据对象的序列化数据在硬件加速器上为其分配内存空间,硬件加速器根据CPU发送的内存地址信息,读取计算设备内存地址上存储的数据对象的源数据。将接收到的数据对象的各个属性的类型的编码信息进行解码,得到数据对象的各个属性的类型,再根据数据对象的各个属性的类型和数据对象的各个属性的类型的存储规则,解析得到数据对象的各个属性以及各个属性的属性值,例如,硬件加速器接收到数据对象的结构编码信息为{1,1,2,6,2,2},解码后数据对象的各个属性的类别分别为:string、string、int、boolen、int、int。则硬件加速器在其内存空间先添加{“,然后硬件加速器根据接收到的内存地址,读取内存地址上存储的数据,当读取到string类型时,则在硬件加速器的内存中添加“,接着从对应内存向后扫描,当扫描到\0字段时停止,同时硬件加速器将string类型至\0字段之间的数据复制/搬移到硬件加速器的内存空间上,并添加”和,;接着获取下一个encode信息,当再次读取到string类型时,则在硬件加速器的内存中添加“,接着从对应内存向后扫描,当扫描到\0字段时停止,同时硬件加速器将string类型至\0字段之间的数据复制/搬移到硬件加速器的内存空间上,并添加”和,;接着获取下一个encode信息,读取到int,则硬件加速器可以直接读取4n各字节长度的数据进行复制/搬移操作到硬件加速器的内存上,直至解析到数据结构尾部,例如解析到第三个int后的数据即可,添加”,最后加}(参见图5)。上述数据对象user的JSON信息为{“name”:“xiaoming”,“age”:“26”,“email”:“xiaoming@huawei.com”,“male”:“true”,“math”:“90”,“phy”:“95”}。
本申请实施例提供的数据处理方法,通过设置硬件加速器,并通过硬件加速器来完成数据对象的序列化过程,CPU的开销控制在下达控制指令和发送信息(例如包括内存地址信息和数据结构信息),大大减少数据对象在序列化过程中对CPU的使用率,提升系统业务的性能。
在另一个示例中,本申请实施例提供的一种数据处理的方法还包括反序列化的过程,即当计算设备需要调用数据对象时,将序列化数据进行反序列化处理,以重建数据对象。
图6为本申请实施例提供的一种数据处理方法的反序列化过程示意图。该方法可应用于图2a和图2b所示的数据处理系统。如图6所示,本申请实施例提供的数据处理方法至少包括步骤S601-S602。
在步骤S601中,向硬件加速器发送第二指令,第二指令用于指示硬件加速器对待反序列化的序列化数据进行解析。
数据对象一般以序列化后的字节序列进行存储,当需要调用数据对象时,CPU向硬件加速器发送对待反序列化的序列化数据进行解析的指令。
在步骤S602中,基于解析结果,确定待反序列化的序列化数据对应的数据对象,解析结果包括硬件加速器对待反序列化的序列化数据进行解析得到的待重建的数据对象的各个属性和各个属性对应的属性值。
硬件加速器响应于第二指令,对序列化数据进行解析,得到待重建的数据对象的各个属性和各个属性对应的属性值,也就是待重建对象的键值对。
图7为本申请实施例CPU和硬件加速器配合完成反序列化过程的示意图。如图7所示,硬件加速器接收到CPU发送的第二指令后,即调用待重建数据对象对应的序列化数据,并对该序列化数据进行解析,得到数据对象的各个属性和各个属性对应的属性值,即键值对信息。然后序列化引擎层向计算设备的内存申请内存空间,并申请结构体(即数据对象的类),序列化引擎层从硬件加速器解析的键值对中获取各个属性和各个属性的值,将数据对象的类填充完整,进而重建数据对象。
示例性的,目标设备的网络收发层接收到数据对象的序列化数据后,将序列化数据发送至硬件加速器,由硬件加速器将字节流转换成JSON格式的数据流,同时对上(即向序列化引擎层)提供相应的接口可以实现反序列化过程。硬件加速器可以向上提供getfirstkeyinfo。硬件加速器可以通过这个接口给到序列化引擎层相应的key(键,即属性)信息,在一个示例中,属性信息包括属性和属性值以及属性的类型,例如硬件加速器保存数据对象的属性的类型的编码信息。通过getnaxtkeyinfo可以继续往下进行遍历,将整个类信息填满,最终如果getnextkeyinfo为空,则代表整个json序列化流读取完成,完成最终的反序列化过程类的重建,即完成了数据对象的重建。
本申请实施例提供的反序列化过程,通过硬件加速器和软件的配合,共同完成了反序列化过程,硬件加速器完成了较为耗费算力的解析过程,软件(即CPU)只需完成类的填充即可完成数据对象的重建,进一步在反序列化过程中降低CPU的开销,进一步提升系统性能。
本申请实施例中的硬件加速器有多种设置方式,例如,硬件加速器可以集成设置于CPU上,作为CPU的一个计算单元来实现数据对象的序列化或反序列化的加速功能;或者,硬件加速器可以与网卡芯片集成设置,作为网卡芯片的一个计算单元来实现数据对象的序列化或反序列化的加速功能;或者硬件加速器可以作为单独的一个芯片,例如硬件加速器可以为片上系统(System on Chip,SoC),片上系统通过驱动代码接入电子设备的操作系统,向上提供API接口,向下与网卡通信连接,片上系统处理好的数据通过网卡发送出去;或者,硬件加速器可以设置在硬盘上。
同时,本申请实施例中的硬件加速器可以为多种硬件,例如,片上系统(system onchip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、现场可编程门阵列(field programmablegate array,FPGA)和复杂可编程逻辑器件(complex programmable logic device,CPLD)等中的一种或多种,本申请实施例对此不进行限定,可以根据需要选择合适的硬件实现本申请实施例的硬件加速器的功能。
与前述方法实施例基于相同的构思,本申请实施例中还提供了一种基数据处理装置800,该基于异质图神经网络的数据处理装置700包括用以实现图3-7所示的数据处理方法中的各个步骤的单元或模块。
图8为本申请实施例提供的一种数据处理装置的结构示意图。该装置部署于计算设备后可实现图3-7所示的方法,如图8所示,该一种数据处理装置800至少包括:
获取模块801,用于获取待序列化的数据对象对应的内存地址和数据结构信息;
发送模块802,用于向所述硬件加速模块发送第一指令,所述第一指令用于指示所述硬件加速模块对所述待序列化的数据对象进行序列化操作;
将所述内存地址和数据结构信息发送给所述硬件加速模块;
硬件加速模块803,用于基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
在一个可能的实现中,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速模块803具体用于:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
在另一个可能的实现中,还包括收发模块804;
所述硬件加速模块803还用于,将所述待序列化的数据对象的序列化数据发送给所述收发器;
所述收发模块804用于,将所述待序列化的数据对象的序列化数据发送给目标设备。
在另一个可能的实现中,还包括重建模块805;
所述发送模块802还用于,向所述硬件加速模块发送第二指令,所述第二指令用于指示所述硬件加速模块对待反序列化的序列化数据进行解析;
所述重建模块805用于,基于所述解析结果,确定所述待反序列化的序列化数据对应的数据对象,所述解析结果包括所述硬件加速模块803对待反序列化的序列化数据进行解析得到的待重建的数据对象的各个属性和各个属性对应的属性值。
在另一个可能的实现中,所述重建模块805具体用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速模块803解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
根据本申请实施例的数据处理装置800可对应于执行本申请实施例中描述的方法,并且一种数据处理装置800中的各个模块的上述和其它操作和/或功能分别为了实现图3-7中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种电子设备,包括至少一个处理器、存储器和硬件加速器,所述处理器用于执行图3-7所述的方法。
图9为本申请实施例提供的电子设备的结构示意图。如图9所示,该电子设备至少包括处理器901、存储器902和硬件加速器903,其中,存储器902中存储有计算机程序,处理器901执行该计算机程序用于,获取待序列化的数据对象对应的内存地址和数据结构信息;向所述硬件加速器903发送第一指令,所述第一指令用于指示所述硬件加速器903对所述待序列化的数据对象进行序列化操作;将所述内存地址和数据结构信息发送给所述硬件加速器;
硬件加速器903用于,基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
在一个可能的实现中,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速器903具体用于:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
在另一个可能的实现中,所述电子设备900还包括收发器904;
所述硬件加速器903还用于,将所述待序列化的数据对象的序列化数据发送给所述收发器904;所述收发器904用于,将所述待序列化的数据对象的序列化数据发送给目标设备。
在另一个可能的实现中,所述处理器901还用于,向所述硬件加速器903发送第二指令,所述第二指令用于指示所述硬件加速器903对待反序列化的序列化数据进行解析;
所述硬件加速器903用于,响应于所述第二指令,对所述待反序列化的序列化数据进行解析,得到待重建的数据对象的各个属性和各个属性对应的属性值。
所述处理器901还用于,基于所述待重建的数据对象的各个属性和各个属性对应的属性值,确定所述待反序列化的序列化数据对应的数据对象。
在另一个可能的实现中,所述处理器901还用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速器903解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
在另一个可能的实现中,所述处理器901还用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速器903解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
应理解,在本申请实施例中,该处理器901可以是中央处理单元CPU,该处理器901还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器902可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器902还可以包括非易失性随机存取存储器。
该存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
应理解,根据本申请实施例的电子设备900可以执行实现本申请实施例中图3-7所示方法,该方法实现的详细描述参见上文,为了简洁,在此不再赘述。
本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机指令在被处理器执行时,使得上文提及的数据处理方法被实现。
本申请还提供一种计算设备,包括存储器和处理器,所述存储器中存储有指令,当所述指令被处理器执行时,使得上文提及的数据处理方法被实现。
本申请的实施例提供了一种芯片,该芯片包括至少一个处理器和接口,所述至少一个处理器通过所述接口确定程序指令或者数据;该至少一个处理器用于执行所述程序指令,以实现上文提及的数据处理方法。
本申请的实施例提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括指令,当该指令执行时,令计算机执行上文提及的数据处理方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (19)

1.一种数据处理方法,其特征在于,应用于电子设备的处理器,所述电子设备包括硬件加速器;包括:
获取待序列化的数据对象对应的内存地址和数据结构信息;
向所述硬件加速器发送第一指令,所述第一指令用于指示所述硬件加速器对所述待序列化的数据对象进行序列化操作;
将所述内存地址和数据结构信息发送给所述硬件加速器,以使所述硬件加速器基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
2.根据权利要求1所述的方法,其特征在于,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速器基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据,包括:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备还包括收发器;
所述硬件加速器还用于将所述待序列化的数据对象的序列化数据发送给所述收发器,以使所述收发器将所述待序列化的数据对象的序列化数据发送给目标设备。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括向所述硬件加速器发送第二指令,所述第二指令用于指示所述硬件加速器对待反序列化的序列化数据进行解析;
基于所述解析结果,确定所述待反序列化的序列化数据对应的数据对象,所述解析结果包括所述硬件加速器对待反序列化的序列化数据进行解析得到的待重建的数据对象的各个属性和各个属性对应的属性值。
5.根据权利要求4所述的方法,其特征在于,所述基于所述解析结果,确定所述待反序列化的序列化数据对应的数据对象,包括:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速器解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述硬件加速器设置在所述处理器上;或者
所述电子设备包括网卡,所述硬件加速器设置在所述网卡上;或者
所述电子设备包括网卡,所述硬件加速器与所述网卡分体设置且与所述网卡通信连接;或者
所述电子设备包括硬盘,所述硬件加速器设置在所述硬盘上。
7.一种数据处理装置,其特征在于,包括:
获取模块,用于获取待序列化的数据对象对应的内存地址和数据结构信息;
发送模块,用于向所述硬件加速模块发送第一指令,所述第一指令用于指示所述硬件加速模块对所述待序列化的数据对象进行序列化操作;
将所述内存地址和数据结构信息发送给所述硬件加速模块;
硬件加速模块,用于基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
8.根据权利要求7所述的装置,其特征在于,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速模块具体用于:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
9.根据权利要求7或8所述的装置,其特征在于,还包括收发模块;
所述硬件加速模块还用于,将所述待序列化的数据对象的序列化数据发送给所述收发器;
所述收发模块用于,将所述待序列化的数据对象的序列化数据发送给目标设备。
10.根据权利要求7-9任一项所述的装置,其特征在于,还包括重建模块;
所述发送模块还用于,向所述硬件加速模块发送第二指令,所述第二指令用于指示所述硬件加速模块对待反序列化的序列化数据进行解析;
所述重建模块用于,基于所述解析结果,确定所述待反序列化的序列化数据对应的数据对象,所述解析结果包括所述硬件加速模块对待反序列化的序列化数据进行解析得到的待重建的数据对象的各个属性和各个属性对应的属性值。
11.根据权利要求10所述的装置,其特征在于,所述重建模块具体用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速模块解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
12.一种电子设备,其特征在于,包括:处理器和硬件加速器;
所述处理器用于,获取待序列化的数据对象对应的内存地址和数据结构信息;
向所述硬件加速器发送第一指令,所述第一指令用于指示所述硬件加速器对所述待序列化的数据对象进行序列化操作;
将所述内存地址和数据结构信息发送给所述硬件加速器;
所述硬件加速器用于,基于所述内存地址和所述数据结构信息,对所述内存地址存储的数据进行序列化操作,以得到所述待序列化的数据对象的序列化数据。
13.根据权利要求12所述的电子设备,其特征在于,所述数据结构信息包括所述待序列化的数据对象的各个属性的类型的编码信息;
所述硬件加速器具体用于:
基于所述待序列化的数据对象的各个属性的类型的编码信息对所述内存地址存储的数据进行解析,得到所述待序列化的数据对象的各个属性和各个属性对应的属性值;
基于所述待序列化的数据对象的各个属性和各个属性对应的属性值,确定所述待序列化的数据对象的序列化数据。
14.根据权利要求12或13所述的电子设备,其特征在于,所述电子设备还包括收发器;
所述硬件加速器还用于,将所述待序列化的数据对象的序列化数据发送给所述收发器;
所述收发器用于,将所述待序列化的数据对象的序列化数据发送给目标设备。
15.根据权利要求12-14任一项所述的电子设备,其特征在于,所述处理器还用于,向所述硬件加速器发送第二指令,所述第二指令用于指示所述硬件加速器对待反序列化的序列化数据进行解析;
所述硬件加速器用于,响应于所述第二指令,对所述待反序列化的序列化数据进行解析,得到待重建的数据对象的各个属性和各个属性对应的属性值。
所述处理器还用于,基于所述待重建的数据对象的各个属性和各个属性对应的属性值,确定所述待反序列化的序列化数据对应的数据对象。
16.根据权利要求15所述的电子设备,其特征在于,所述处理器还用于:
获取所述待重建的数据对象的类信息,所述类信息包括所述待重建的数据对象的各个属性;
基于所述硬件加速器解析得到的各个属性对应的属性值,对所述待重建的数据对象的类信息中的各个属性进行赋值,以重建所述待反序列化的序列化数据对应的数据对象。
17.根据权利要求12-16任一项所述的电子设备,其特征在于,所述硬件加速器设置在所述处理器上;或者
所述电子设备包括网卡,所述硬件加速器设置在所述网卡上;或者
所述电子设备包括网卡,所述硬件加速器与所述网卡分体设置且与所述网卡通信连接;或者
所述电子设备包括硬盘,所述硬件加速器设置在所述硬盘上。
18.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有指令,当所述指令被处理器执行时,使得如权利要求1-6任一项所述的方法被实现。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在被处理器执行时,使得如权利要求1-6任一项所述的方法被实现。
CN202210276054.5A 2022-03-21 2022-03-21 一种数据处理方法及装置 Pending CN116821204A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210276054.5A CN116821204A (zh) 2022-03-21 2022-03-21 一种数据处理方法及装置
PCT/CN2023/082918 WO2023179632A1 (zh) 2022-03-21 2023-03-21 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210276054.5A CN116821204A (zh) 2022-03-21 2022-03-21 一种数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN116821204A true CN116821204A (zh) 2023-09-29

Family

ID=88099995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210276054.5A Pending CN116821204A (zh) 2022-03-21 2022-03-21 一种数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN116821204A (zh)
WO (1) WO2023179632A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK3358463T3 (da) * 2016-08-26 2020-11-16 Huawei Tech Co Ltd Fremgangsmåde, anordning og system til implementering af hardwareaccelerationsbehandling
WO2019216797A1 (en) * 2018-05-08 2019-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and node for managing a request for hardware acceleration by means of an accelerator device
CN111756779B (zh) * 2019-03-26 2022-07-26 阿里巴巴集团控股有限公司 数据序列化处理方法、装置及计算机系统
US11477258B2 (en) * 2020-03-30 2022-10-18 Oracle International Corporation Serialization of objects using multiple serialization algorithms
CN114070892A (zh) * 2021-11-25 2022-02-18 维沃移动通信有限公司 数据传输方法和装置

Also Published As

Publication number Publication date
WO2023179632A1 (zh) 2023-09-28

Similar Documents

Publication Publication Date Title
CN102246154B (zh) 基于用户模式的远程桌面协议(rdp)编码体系结构
US20210089871A1 (en) Processing system and method for binary weight convolutional neural network
CN109902274B (zh) 一种将json字符串转化为thrift二进制流的方法及系统
US8812643B2 (en) Conversion of hierarchical infoset type data to binary data
US8332539B2 (en) Binary data serialization system using machine dependant data alignment
WO2019128707A1 (zh) 一种速率匹配和极化码编码的方法和设备
US20180039446A1 (en) Data format conversion apparatus and method and buffer chip
US11190620B2 (en) Methods and electronic devices for data transmission and reception
CN116821204A (zh) 一种数据处理方法及装置
US20230403232A1 (en) Data Transmission System and Method, and Related Device
CN116257494A (zh) 一种聚合通信的方法、系统和计算机设备
CN111314699A (zh) 图像解码方法、装置、电子设备及存储介质
CN114385139B (zh) 一种flink框架运行ETL流程的消息序列化以及比较方法与装置
CN113946453A (zh) 数据处理方法及系统
US20210224632A1 (en) Methods, devices, chips, electronic apparatuses, and storage media for processing data
AU2017363055A1 (en) Multi-pixel caching scheme for lossless encoding
CN116561202A (zh) 一种对象序列化处理的方法和装置
CN113010103A (zh) 数据存储方法、装置、相关设备及存储介质
CN117992578B (zh) 基于大语言模型处理数据的方法、大语言模型及电子设备
CN112468576B (zh) 一种云内存共享的方法与系统
US20230237613A1 (en) Method for generating metadata, image processing method, electronic device, and program product
KR102621139B1 (ko) 프레임 양자화에 기반한 분산 행렬 곱 연산 방법 및 장치
WO2021063317A1 (en) Tensor processing method and apparatus, electronic device
CN111680051B (zh) 一种数据序列化和反序列化方法、设备及存储介质
CN212873459U (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