CN112953547A - 一种数据处理方法、装置及*** - Google Patents
一种数据处理方法、装置及*** Download PDFInfo
- Publication number
- CN112953547A CN112953547A CN201911259094.3A CN201911259094A CN112953547A CN 112953547 A CN112953547 A CN 112953547A CN 201911259094 A CN201911259094 A CN 201911259094A CN 112953547 A CN112953547 A CN 112953547A
- Authority
- CN
- China
- Prior art keywords
- attribute
- data
- original
- dictionary
- encoding
- 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
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000007906 compression Methods 0.000 claims abstract description 22
- 230000006835 compression Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 abstract description 18
- 230000002688 persistence Effects 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000013144 data compression Methods 0.000 description 6
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 208000022120 Jeavons syndrome Diseases 0.000 description 2
- 208000021825 aldosterone-producing adrenal cortex adenoma Diseases 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 101100136996 Arabidopsis thaliana QRT1 gene Proteins 0.000 description 1
- 101100300550 Arabidopsis thaliana QRT2 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
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/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例提供一种数据处理方法、装置及***,用于解决现有序列化方式中数据膨胀、相似对象重复存储的技术问题。方法包括:对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;对所述编码数据进行序列化,获得字节流;将所述字节流发送给所述目的设备。通过将数据先编码压缩再序列化的方式,可以有效解决传统序列化方式中数据膨胀、相似对象重复存储的问题。特别是在分布式、大数据场景下,可以降低大量的数据对象传输占用的网络带宽和传输时延,提高应用的整体性能。另外,还可以在对象持久化的场景中,有效减小对象持久化存储所占用的物理资源,节约对象存储成本。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置及***。
背景技术
在现有技术中,在将数据对象进行序列化时,常发生数据膨胀的情况,即序列化后的数据对象与序列化之前相比占用的数据空间会变大。在分布式、大数据场景中,大量的对象序列化传输或持久化存储会占用大量的网络带宽、磁盘空间等资源,会增大物理成本,影响应用的整体性能。
因此,现有序列化方式存在序列化后数据膨胀、相似对象重复存储的技术问题。
发明内容
本申请实施例提供一种数据处理方法、装置及***,用于解决现有序列化方式中数据膨胀、相似对象重复存储的技术问题。
第一方面,本申请实施例提供一种数据处理方法,可以应用于源设备,方法包括:对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;对所述编码数据进行序列化,获得字节流;将所述字节流发送给目的设备。
在本申请实施例中,源设备和目的设备在进行数据传输的过程中,源设备在对原始数据进行序列化之前,可以先对原始数据进行编码实现数据压缩,然后再对编码数据进行序列化,获得字节流,然后传输给目的设备,可以有效解决传统序列化方式中数据膨胀、相似对象重复存储的问题,特别是在分布式、大数据场景下,可以降低大量的数据对象传输占用的网络带宽和传输时延,提高应用的整体性能。
一种可能的设计中,源设备对原始数据进行编码压缩的方法包括:在编码字典中查找所述原始数据中每种属性的原始值对应的编码值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;将所述原始数据中每种属性的原始值替换为该原始值对应的编码值。
这样,源设备按照编码字典对原始数据进行编码,可以提高编码效率,在保证蝴蝶较大数据压缩比的前提下,提高序列化效率,降低数据传输的时延。
一种可能的设计中,源设备还可以将所述编码字典发送至所述目的设备。
这样,目的设备可以获得编码字典,进而在接收到字节流对其反序列化获得编码数据后,可基于该编码字典快速解码编码数据,提高目的设备的解码效率。
一种可能的设计中,所述编码字典可以是源设备学习数据特征生成的。示例性地,在对原始数据进行编码压缩之前,可以先确定所述至少一种属性中的每种属性的基数,所述基数表征所述每种属性的不同原始值的数量,然后根据所述每种属性的基数生成所述每种属性的编码方式,获得编码字典。其中,基数的确定方式包括但不限于以下两种:第一种、为至少一种属性中的每种属性配置默认基数,这种情况适用于源设备还没原始数据产生或流入时的情况。第二种、统计至少一批原始数据中的所述至少一种属性中的每种属性的不同原始值的数量,根据统计的所述每种属性的不同原始值的数量确定该种属性的基数,其中所述每种属性的基数大于或等于统计的该种属性的不同原始值的数量。
这样,源设备可以学习原始数据的特征生成编码字典,进而使得编码字典能够动态演进,使数据被编码序列化后达到更优的压缩去重效果,进一步减少数据占用的网络带宽、磁盘空间等资源,降低物理成本。
一种可能的设计中,还可以检测到所述至少一种属性中任一属性的基数更新后,根据所述任一属性更新后的基数对所述编码字典中所述任一属性的编码方式进行更新,获得更新后的编码字典。
这样,可以保证编码方式及时更新,使数据被编码序列化后达到更优的压缩去重效果。
一种可能的设计中,所述任一属性更新后的基数大于所述任一属性更新前的基数。
这样,可以避免编码字典频繁更新影响***性能,提高设备处理数据的效率。
一种可能的设计中,当编码字典更新后,还可以将更新后的编码字典同步至所述目的设备。
这样,保证目的设备在任何时刻都可以快速准确地解码数据,保证***性能。
第二方面,本申请实施例提供一种数据处理方法,可以应用于目的设备,所述方法包括:从源设备接收字节流;对所述字节流进行反序列化,获得编码数据;对所述编码数据进行解码,获得原始数据,其中所述编码数据的数据量小于所述原始数据的数据量。
一种可能的设计中,对所述编码数据进行解码,包括:在编码字典中查找所述编码数据中每种属性的编码值对应的原始值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;将所述编码数据中每种属性的编码值替换为该编码值对应的原始值。
一种可能的设计中,所述方法还包括:从所述源设备接收所述编码字典。
一种可能的设计中,所述方法还包括:从所述源设备接收更新的编码字典,并删除原编码字典。
第三方面,本申请实施例提供一种数据处理装置,包括:编码模块,用于对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;序列化模块,用于对所述编码数据进行序列化,获得字节流;发送模块,用于将所述字节流发送给所述目的设备。
一种可能的设计中,所述编码模块具体用于:在编码字典中查找所述原始数据中每种属性的原始值对应的编码值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;将所述原始数据中每种属性的原始值替换为该原始值对应的编码值。
一种可能的设计中,所述发送模块,还可以用于将所述编码字典发送至目的设备。
一种可能的设计中,所述装置还可以包括:编码字典生成模块,用于所述编码模块在对原始数据进行编码压缩之前,确定所述至少一种属性中的每种属性的基数,所述基数表征所述每种属性的不同原始值的数量;根据所述每种属性的基数生成所述每种属性的编码方式。
一种可能的设计中,所述编码字典生成模块在确定所述至少一种属性中的每种属性的基数时,具体用于:为至少一种属性中的每种属性配置默认基数;或者,统计至少一批原始数据中的所述至少一种属性中的每种属性的不同原始值的数量,根据统计的所述每种属性的不同原始值的数量确定该种属性的基数,其中所述每种属性的基数大于或等于统计的该种属性的不同原始值的数量。
一种可能的设计中,所述编码字典生成模块还可以用于:检测到所述至少一种属性中任一属性的基数更新后,根据所述任一属性更新后的基数对所述编码字典中所述任一属性的编码方式进行更新,获得更新后的编码字典。
一种可能的设计中,所述任一属性更新后的基数大于所述任一属性更新前的基数。
一种可能的设计中,所述发送模块,还可以用于将所述更新后的编码字典发送至目的设备。
第四方面,本申请实施例提供一种数据处理装置,包括:接收模块,用于从源设备接收字节流;反序列化模块,用于对所述字节流进行反序列化,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;解码模块,用于对所述编码数据进行解码,获得原始数据。
一种可能的设计中,所述解码模块具体用于:在编码字典中查找所述编码数据中每种属性的编码值对应的原始值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;将所述编码数据中每种属性的编码值替换为该编码值对应的原始值。
一种可能的设计中,所述接收模块,还可以用于从源设备接收所述编码字典。
一种可能的设计中,所述接收模块,还可以用于从所述源设备接收更新的编码字典,并删除原编码字典。
第五方面,本申请实施例提供一种电子设备,包括存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行第一方面或第一方面任一种可能的设计中所述的方法。
可选的,所述电子设备还可以包括通信接口,用于与其他设备进行通信。
第六方面,本申请实施例提供一种电子设备,包括存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行第二方面或第二方面任一种可能的设计中所述的方法。
可选的,所述电子设备还可以包括通信接口,用于与其他设备进行通信。
第七方面,本申请实施例提供一种数据处理***,包括如第三方面或第三方面任一种可能的设计中所述的装置和如第四方面或第四方面任一种可能的设计中所述的装置。
第八方面,本申请实施例提供一种数据处理***,包括如第五方面或第五方面任一种可能的设计中所述的电子设备和如第六方面或第六方面任一种可能的设计中所述的电子设备。
第九方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如第一方面或第一方面任一种可能的设计中所述的方法。
第十方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第十一方面,本申请还提供一种芯片***,该芯片***包括处理器,还可以包括存储器,用于实现各方面所述的方法。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
上述第二方面至第十一方面中各实现方式的有益效果可以参考第一方面中对应实现方式有益效果的描述。
附图说明
图1为对象序列化和反序列化的过程示意图;
图2为现有技术中两个近似对象的序列化结果的示意图;
图3A为本申请实施例提供的一种数据处理***的架构示意图;
图3B为本申请实施例提供的另一种数据处理***的架构示意图;
图4为本申请实施例提供的一种数据处理方法的流程图;
图5A、图5B、图5C分别为本申请实施例中原始数据、编码字典以及编码数据的示意图;
图6为本申请实施例提供的另一种数据处理方法的流程图;
图7为本申请实施例提供的一种数据处理装置的结构示意图;
图8为本申请实施例提供的另一种数据处理装置的结构示意图;
图9为本申请实施例提供的一种数据处理***的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
序列化和反序列化一直是***架构中的一个重要的环节,在分布式、大数据***中更为显著。高效的序列化进程不仅可以提高***的通用性、强健性、安全性、优化***性能,而且会让***更加易于调试、便于扩展。参见图1,电子设备将对象转换为字节流的过程称为对象的序列化,而把字节流恢复为对象的过程称为对象的反序列化。
对象的序列化主要应用场景包括:
1)、对象持久化:在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,以某种形式保存在物理介质上,能够长期保存。
2)、对象传输:当两个主机或进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以字节流的形式进行传输。发送方需要把这个对象转换为字节流,而接收方则需要把字节流再恢复为对象。
在面向对象的编程语言中,例如Java、C#、Scala等,一切都是对象,在分布式环境中经常需要将对象从这一端网络或设备传递到另一端。序列化机制就是一种解决在网络两端传输数据的问题而产生的协议。
以java为例,java语言内置了序列化和反序列化,通过Serializable接口实现,并且使用java.io库可以进行对象的输入/输出(Input/Output,I/O)操作。
java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。
java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。
对象序列化包括如下步骤:
1)创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;
2)通过对象输出流的writeObject()方法写对象。
对象反序列化的步骤如下:
1)创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流;
2)通过对象输入流的readObject()方法读取对象。
Java中对象序列化保存时,为了节省磁盘空间,对于相同的对象会进行优化。当多次保存相同对象时,后面保存的对象只是第一个对象的引用。
序列化与反序列化提供了进程间数据交换的能力,但传输的字节码可读性差,在应用层开发过程中不易调试,为了解决该问题,就需要将对象的内容转换为字符串的形式进行传递。
为了统一数据传输的格式,出现了几种数据交换协议,如:JS对象简谱(javascript object notation,JSON),Protobuf,可扩展标记语言(extensible markuplanguage,XML)等。这些数据交换协议可视为是应用层面的序列化/反序列化。
在现有技术中,JSON,Protobuf,XML等序列化方式序列化后的对象会转换成字符串的形式进行传输,会发生数据膨胀,即序列化后的对象占用空间会变大。
现有的序列化方案中虽然对于相同重复的对象有一定的压缩去重效果,但对于不同近似对象无法进行压缩去重。
对于源源不断的对象数据流,采用统一的序列化压缩算法,整体压缩效果较差,难以达到良好的压缩去重效果。
在分布式、大数据场景中,大量的对象序列化传输或持久化存储会占用大量的网络带宽、磁盘空间等资源,会增大物理成本,影响应用的整体性能(并发下降、时延增大)。如图2所示,两个不同对象有部分相同属性,序列化成二进制后不同的字节码只占用了很少一部分,两个对象在序列化后传输或存储都会存在大量重复冗余。
为了解决现有技术存在的上述一个或多个技术问题,本申请实施例提出在进行数据传输的过程中,在对原始数据进行序列化之前,先对原始数据进行编码实现数据压缩,获得编码数据,其中编码数据的数据量小于原始数据的数据量,然后再对编码数据进行序列化,获得字节流;相应的,在对字节流进行反序列化后,获得编码数据,然后对编码数据进行解码获得原始数据,这样可以有效解决传统序列化方式中数据膨胀、相似对象重复存储的问题。本申请实施例进一步提出通过机器学习数据特征生成编码字典,使得编码字典能够动态演进,使数据被编码序列化后达到更优的压缩去重效果,进一步减少数据占用的网络带宽、磁盘空间等资源,降低物理成本。
本申请实施例中的技术方案可以应用于多种数据处理***,比如单个计算机中的数据处理***,比如由多台计算机组成的数据处理***等,本申请实施例对此不做具体限制。
图3A示出了本申请实施例提供的一种数据处理***。如图3A所示,该***包括源设备和目的设备,其中源设备为发送数据的设备,目的设备为接收所述数据的设备。源设备具有编码压缩功能、序列化功能,目的设备具有解码功能、反序列化功能,源设备和目的设备在传输数据时,源设备将原始数据进行编码和序列化操作,将数据转换为字节流的形式后传输给目的设备,目的设备接收到所述字节流后进行对字节流进行反序列化和解码操作,将字节流恢复为原始数据。
示例性的,源设备可以为物联网设备和互联网设备中的其中一个,目的设备可以为所述物联网设备和所述互联网设备中除所述第一设备之外的另一个。其中,所述物联网设备可以为传感器节点、家用水表或者电表、火警报警器、智能门锁、监控摄像头等等可以联网的设备。所述互联网设备可以是通信基站等等设备。当然,当源或目的设备为物联网设备时,所述物联网设备可以被终端设备替代,具体的,所述终端设备可以为手机、笔记本电脑、机顶盒等等。
图3B示出了本申请实施例提供的另一种数据处理***。如图3B所示,该***为单个计算设备中的数据处理***,***包括编码、解码、序列化、反序列化等功能模块。计算设备需要存数据时,编码模块先对原始数据进行编码生成编码数据,然后序列化模块将编码数据转换为字节流后写入存储空间存储,可以节省数据占用的存储空间;计算设备需要存读取数据时,反序列化模块从存储空间中获取字节流后,对其对反序列化生成编码数据,然后由解码模块将编码数据恢复为原始数据。
应理解,本申请实施例描述的数据处理***是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,应理解,随着数据处理技术和***架构的演变,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下,先对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1)字节流(byte stream):是一种抽象化的数据通道,由一个个字节(byte)组成。
2)基数(cardinal):在数学上,基数(cardinal number)是集合论中刻画任意集合大小的一个概念,即集合中包含的元素的个数。
3)在本申请的描述中,“多个”是指两个或两个以上,也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
4)除非有相反的说明,本申请中提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、***、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
请参见图4,为本申请实施例提供的一种数据处理方法,可以适用于如图3A所示的***。
S41、源设备对原始数据进行编码压缩,获得编码数据。
在本申请实施例中,原始数据可以是以数据流的形式流入源设备,即随着时间的流逝,源源不断地有新的数据进入源设备或在源设备上产生。应理解,原始数据可以是外界流入源设备的,例如其它设备发送给源设备的超文本传输协议(hypertext transferprotocol,HTTP)请求、HTTP响应、日志等数据,也可以是源设备自身运行所生成的数据,例如源设备生成的日志,本申请实施例对原始数据的来源不做具体限制。
一种可能的设计中,源设备可以基于编码字典对原始数据进行编码。编码字典可以存储至少一种属性(或者说数据项)中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,且所述原始值的数据量小于或等于所述原始值对应的编码值的数据。当源设备对原始数据进行编码时,先从编码字典中查找所述原始数据中每种属性的原始值对应的编码值,然后将所述原始数据中每种属性的原始值替换为该原始值对应的编码值,即可完成编码操作。其中所述编码数据的数据量小于所述原始数据的数据量。
图5A为本申请实施例中原始数据的示意图,图5A中的原始数据包括有“年”、“季度”、“月”、“地区”、“国家”、“销量”6种属性,其中“年”的原始值只有一种,即2019,“季度”的原始值包括两种:QTR1和QTR2,其它属性请继续参见图5A,这里不一一叙述。
图5B为本申请实施例中编码字典的示意图,图5B中包括“年”、“季度”、“月”、“地区”、“国家”这五中属性的编码方式,其中“年”编码方式为“2019:1”,表示原始值2019对应的编码值为1,“地区”的编码方式包括“EMEA:1、APAC:2、Japan:3”,表示原始值EMEA对应的编码值为1,原始值APAC对应的编码值为2,原始值Japan对应的编码值为3,其它属性的编码方式请继续参见图5A,这里不一一叙述。
图5C为本申请实施例中将图5A的原始数据按照图5B所示编码字典进行编码后的到的编码数据的示意图。从图5C可以看出,编码后数据的数据量远远小于原始数据的数据量。例如“年”属性中的1代表字符串2009后,如果转换成二进制只需要用1bit(比特)即可表示,远远小于字符串2009换成二进制后的比特量;季度”属性中的2代表字符串QTR2后,如果转换成二进制只需要2bit即可表示,远远小于字符串QTR2成二进制后的比特量。
在具体实施时,如果编码字典中不存在某种属性的编码方式,则可以直接保留该属性的原始值,例如图5A中的属性“销量”,因为该属性下不同的原始值较多,即便编码也得不到较大的数据缩减比,所以保留了原始值。
应理解,图5C所示的编码方式仅仅为一种举例,在具体实施过程中,除了用数字的方式来对原始数据进行编码,还可以采用其他方式,例如还可以用字母A、B、C等来编码,本申请实施例对编码的具体形式不做限制,只要满足编码后数据被序列化后获得字节流的比特量小于数据直接被序列化后获得的字节流的比特量即可。
S42、源设备对所述编码数据进行序列化,获得字节流。
在本申请实施例中,序列化方法可以是JSON、Protobuf、XML等,还可以是现有技术中已存在的其它序列化方法,或者未来技术中出现的其它序列化方法,这里不做具体限制。
图5A中单条原始数据直接序列化(一行数据)需要占用约200Byte,按照字典编码压缩后再序列化只需要占用20Byte,数据压缩比可达到10:1。
S43、源设备将所述字节流发送给目的设备。
一些可能的设计中,源设备还可以将编码字典同步至目的设备,使得目的设备可以依据编码字典对编码数据进行解码获得原始数据。应理解,源设备将编码字典发送给目的设备可以是在步骤S43之前,也可以是在步骤S43之后,或者是在步骤S43中连同字节流一并发送,这里不做具体限制。
S44、目的设备接收所述字节流,对所述字节流进行反序列化,获得所述编码数据。
应理解,这里的反序列化方法和步骤S42中的序列化方法相对应。具体可以是JSON、Protobuf、XML等,还可以是现有技术中已存在的其它反序列化方法,或者未来技术中出现的其它反序列化方法,这里不做具体限制。
S45、目的设备对所述编码数据进行解码,获得所述原始数据。
与步骤S41向对应,目的设备可以在编码字典中查找所述编码数据中每种属性的编码值对应的原始值;然后将所述编码数据中每种属性的编码值替换为该编码值对应的原始值。例如,继续参见图5A、图5B、图5C,目的设备在字典中查询到“年”属性中编码值为1的原始值为2019,则将1恢复为2019;又如,目的设备在字典中查询到“国家”属性中编码值为2的原始值为China,则将2恢复为China,其它属性的解码方式可以以此类推,这里不再一一叙述。
在本申请实施例中,源设备和目的设备在进行数据传输的过程中,源设备在对原始数据进行序列化之前,先对原始数据进行编码实现数据压缩,获得编码数据,然后再对编码数据进行序列化,获得字节流,然后传输给目的设备;相应的,目的在接收字节流后,先对字节流进行反序列化,获得编码数据,然后对编码数据进行解码获得原始数据。该方法可以有效解决传统序列化方式中数据膨胀、相似对象重复存储的问题。特别是在分布式、大数据场景下,可以降低大量的数据对象传输占用的网络带宽和传输时延,提高应用的整体性能。
为了使得数据编码后能够获得更优的数据缩减比,在本申请实施例中,还可以通过机器学习原始数据的特征来生成编码字典中的编码方式,使得编码字典能够动态演进,使数据被编码序列化后达到更优的压缩去重效果。
具体的,源设备可以先确定所述至少一种属性中的每种属性的基数,然后根据每种属性的基数生成所述每种属性的编码方式。其中,每种属性的基数表征所述每种属性的不同原始值的数量。
基数的确定方式包括但不限于以下两种:
方式1、为至少一种属性中的每种属性配置默认基数。
例如,***启动后,源设备还没原始数据产生或进入时,可以预置编码类型,例如配置可能存在的至少一种属性(如年、季度、月等),每种属性可能的基础值(例如配置年的基数为1,配置月的基数为12、配置季度的基数为4等),然后根据各个属性的基数的生成各个属性的编码方式,建立各属性与编码后各属性的映射关系,获得初始编码字典。
这种方式,可以在***初期数据量较少时提供可靠的编码方式,保证编码的准确性。
方式2、统计至少一批原始数据中的所述至少一种属性中的每种属性的不同原始值的数量,根据统计的所述每种属性的不同原始值的数量确定该种属性的基数,其中所述每种属性的基数大于或等于统计的该种属性的不同原始值的数量。
仍以图5A中原始数据为例。通过观察原始数据可以知道,属性“年”当前只有一种取值,则基数为1,配置2019的编码值为1;属性“季度”当前有两种取值,则基数为2,配置QRT1的编码值为1,QRT2的编码值为2;属性“国家”当前有8种取值,则基数为8,将“国家”中的8种原始值分别按照1-8进行编码。
为保证编码方式及时更新,一种可能的设计中,源设备可以按照设定的时间间隔周期性地获取原始数据重新确定各属性的基数,例如每隔1min获取一次前1min周期时长内的数据进行观测。另一种可能的设计中,源设备可以按照设定大小的数据量来周期性地获取原始数据重新确定各属性的基数,例如,源设备按照每产生进入1000bits的新数据,统计一次新数据的属性和属性的基数。
进一步的,为了避免编码字典频繁更新影响***性能,本申请实施例中的源设备可以在确定任一属性更新后的基数大于更新前的基数的情况下,再更新该属性的编码方式。或者是在数据对象的属性的基数变化超过一定阈值后,再更新该属性的编码方式。
进一步的,当编码字典更新后,源设备可以将更新后的编码字典同步至目的设备,保证目的设备可以顺利解码。应理解,源设备同步更新后的编码字典的方式可以是将整个字典发送给目的设备,也可以是仅将字典中更新的部分发送给目的设备,这里不做具体限制。目的设备在收到更新后的编码字典(或更新后的编码方式)后,可以删除原编码字典(或原编码方式)。
上述实施例是以数据传输场景为例介绍的本申请技术方案,而对于单个设备内部的数据处理场景,上述技术方案仍然适用。
如图6所示,为本申请实施例中提供的另一种数据处理方法,可以应用于图3B所示的数据处理***。
S61、计算设备在需要存储数据时,对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量。
具体的,计算设备中的编码模块对原始数据进行编码压缩,获得编码数据,并将编码数据传递给序列化模块。这里编码模块对原始数据进行编码压缩的具体实现方式可以参考上述图4所示的实施例中源设备对原始数据进行编码压缩的具体实现方式,这里不再赘述。
S62、计算设备对所述编码数据进行序列化,获得字节流。
具体的,计算设备中的序列化模块对原始数据进行序列化,获得字节流。这里序列化模块对编码数据进行序列化的具体实现方式可以参考上述图4所示的实施例中源设备对编码数据进行序列化的具体实现方式,这里不再赘述。
S63、计算设备将所述字节流写入存储空间。
进一步的,当计算设备需要读取原始数据时,执行如下步骤:
S64、计算设备从存储空间读取所述字节流。
S65、计算设备对所述字节流进行反序列化,获得所述编码数据。
具体的,计算模块中的反序列化模块对字节流进行反序列化,获得编码数据,并将编码数据传递给解码模块。这里反序列化模块对字节流进行反序列化的具体实现方式可以参考上述图4所示的实施例中目的设备对字节流进行反序列化的具体实现方式,这里不再赘述。
S66、计算设备对所述编码数据进行解码,获得所述原始数据。
具体的,计算模块中的解码模块对字节流进行解码,获得原始数据。这里解码模块对编码数据进行解码的具体实现方式可以参考上述图4所示的实施例中目的设备对编码数据进行解码的具体实现方式,这里不再赘述。
应理解,上述是以单个设备的存储***为例介绍本申请实施例在读/写数据时对数据的序列化和反序列化方案,在具体实施例还方案还可以应用于多个设备组成的存储***,例如分布式文件存储***。
在本申请实施例中,计算设备在进行数据的读写操作时,在对原始数据进行序列化之前,先对原始数据进行编码实现数据压缩,获得编码数据,然后再对编码数据进行序列化,获得字节流,然后将数据以字节流的方式写入存储空间;相应的,计算设备读数据时,先从存储空间读取字节流,然后对字节流进行反序列化,获得编码数据,然后再对编码数据进行解码获得原始数据。该方法可以有效解决传统序列化方式中数据膨胀、相似对象重复存储的问题。特别是在对象持久化的场景中可以减小对象持久化存储所占用的物理资源,节约对象存储成本。
上述各个实施方式可以相互结合以实现不同的技术效果。
上述本申请提供的实施例中,分别从源设备及目的服务器之间交互的角度、计算设备读/写数据的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,本申请实施例中各电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图7为本申请实施例提供的一种数据处理装置的结构示意图。装置70可以是上述实施例中的源设备。装置70包括:
编码模块701,用于对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;
序列化模块702,用于对所述编码数据进行序列化,获得字节流;
发送模块703,用于将所述字节流发送给所述目的设备。
可选的,所述编码模块701具体用于:
在编码字典中查找所述原始数据中每种属性的原始值对应的编码值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;
将所述原始数据中每种属性的原始值替换为该原始值对应的编码值。
可选的,所述发送模块703,还用于将所述编码字典发送至目的设备。
可选的,所述装置70还可以包括:编码字典生成模块704,用于所述编码模块701在对原始数据进行编码压缩之前,确定所述至少一种属性中的每种属性的基数,所述基数表征所述每种属性的不同原始值的数量;根据所述每种属性的基数生成所述每种属性的编码方式。
可选的,所述编码字典生成模块704在确定所述至少一种属性中的每种属性的基数时,具体用于:为至少一种属性中的每种属性配置默认基数;或者,统计至少一批原始数据中的所述至少一种属性中的每种属性的不同原始值的数量,根据统计的所述每种属性的不同原始值的数量确定该种属性的基数,其中所述每种属性的基数大于或等于统计的该种属性的不同原始值的数量。图7中虚线表示编码字典生成模块704是可选的意思。
可选的,所述编码字典生成模块704还可以用于:检测到所述至少一种属性中任一属性的基数更新后,根据所述任一属性更新后的基数对所述编码字典中所述任一属性的编码方式进行更新,获得更新后的编码字典。
可选的,所述任一属性更新后的基数大于所述任一属性更新前的基数。
可选的,所述发送模块703,还用于将所述更新后的编码字典发送至目的设备。
以上各单元所执行操作步骤的具体实现方式可以参照本申请实施例上述方法实施例中源设备对应的操作步骤的具体实现方式,本申请实施例不再赘述。
图8为本申请实施例提供的另一种数据处理装置的结构示意图。装置80可以是上述实施例中的目的设备。装置80包括:
接收模块801,用于从源设备接收字节流;
反序列化模块802,用于对所述字节流进行反序列化,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;
解码模块803,用于对所述编码数据进行解码,获得原始数据。
可选的,所述解码模块803具体用于:
在编码字典中查找所述编码数据中每种属性的编码值对应的原始值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;
将所述编码数据中每种属性的编码值替换为该编码值对应的原始值。
可选的,所述接收模块801,还可以用于从源设备接收所述编码字典。
可选的,所述接收模块801,还可以用于从所述源设备接收更新的编码字典,并删除原编码字典。
以上各单元所执行操作步骤的具体实现方式可以参照本申请实施例上述方法实施例中目的设备对应的操作步骤的具体实现方式,本申请实施例不再赘述。
图9为本申请实施例提供的一种数据处理***的结构示意图。***90包括源设备901和目的设备902。
其中,源设备901的具体实现方式可以参见图7所示的处理装置70的具体实现方式,目的设备902的具体实现方式可以参见图8所示的处理装置80的具体实现方式。
图10为本申请实施例提供的一种电子设备的结构示意图。电子设备100可以是上述实施例中的源设备,电子设备100包括存储器1001和处理器1002;所述存储器1001存储有程序指令,所述处理器运行所述程序指令以执行图4或图6所示的方法步骤。
其中,存储器1001可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
其中,处理器1002可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选的,电子设备100还可以包括通信接口1003,用于和其他设备通信。例如,当电子设备为源设备时,通信接口1003用于和目的设备通信。例如,当电子设备为目的设备时,通信接口1003用于和源设备通信。
应理解,本申请实施例中不限定上述通信接口1003、处理器1002以及存储器1001之间的具体连接介质。本申请实施例在图10中以通信接口1003、处理器1002以及存储器1001之间通过总线1004连接,总线在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于同一技术构思,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如图4或图6所示的方法步骤。
基于同一技术构思,本申请实施例还提供一种芯片***,该芯片***包括处理器,还可以包括存储器,用于实现图4或图6所示的方法步骤。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
基于同一技术构思,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图4或图6所示的方法步骤。
本申请实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (29)
1.一种数据处理方法,其特征在于,所述方法包括:
对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;
对所述编码数据进行序列化,获得字节流;
将所述字节流发送给目的设备。
2.如权利要求1所述的方法,其特征在于,对原始数据进行编码压缩,包括:
在编码字典中查找所述原始数据中每种属性的原始值对应的编码值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;
将所述原始数据中每种属性的原始值替换为该原始值对应的编码值。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
将所述编码字典发送至所述目的设备。
4.如权利要求2所述的方法,其特征在于,在对原始数据进行编码压缩之前,所述方法还包括:
确定所述至少一种属性中的每种属性的基数,所述基数表征所述每种属性的不同原始值的数量;
根据所述每种属性的基数生成所述每种属性的编码方式。
5.如权利要求4所述的方法,其特征在于,确定至少一种属性中的每种属性的基数,包括:
为至少一种属性中的每种属性配置默认基数;或者
统计至少一批原始数据中的所述至少一种属性中的每种属性的不同原始值的数量,根据统计的所述每种属性的不同原始值的数量确定该种属性的基数,其中所述每种属性的基数大于或等于统计的该种属性的不同原始值的数量。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
检测到所述至少一种属性中任一属性的基数更新后,根据所述任一属性更新后的基数对所述编码字典中所述任一属性的编码方式进行更新,获得更新后的编码字典。
7.如权利要求6所述的方法,其特征在于,所述任一属性更新后的基数大于所述任一属性更新前的基数。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
将所述更新后的编码字典发送至所述目的设备。
9.一种数据处理方法,其特征在于,所述方法包括:
从源设备接收字节流;
对所述字节流进行反序列化,获得编码数据;
对所述编码数据进行解码,获得原始数据,其中所述编码数据的数据量小于所述原始数据的数据量。
10.如权利要求9所述的方法,其特征在于,对所述编码数据进行解码,包括:
在编码字典中查找所述编码数据中每种属性的编码值对应的原始值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;
将所述编码数据中每种属性的编码值替换为该编码值对应的原始值。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
从所述源设备接收所述编码字典。
12.如权利要求10所述的方法,其特征在于,所述方法还包括:
从所述源设备接收更新的编码字典,并删除原编码字典。
13.一种数据处理装置,其特征在于,包括:
编码模块,用于对原始数据进行编码压缩,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;
序列化模块,用于对所述编码数据进行序列化,获得字节流;
发送模块,用于将所述字节流发送给所述目的设备。
14.如权利要求13所述的装置,其特征在于,所述编码模块具体用于:
在编码字典中查找所述原始数据中每种属性的原始值对应的编码值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;
将所述原始数据中每种属性的原始值替换为该原始值对应的编码值。
15.如权利要求14所述的装置,其特征在于,所述发送模块,还用于将所述编码字典发送至目的设备。
16.如权利要求14所述的装置,其特征在于,所述装置还包括:
编码字典生成模块,用于所述编码模块在对原始数据进行编码压缩之前,确定所述至少一种属性中的每种属性的基数,所述基数表征所述每种属性的不同原始值的数量;根据所述每种属性的基数生成所述每种属性的编码方式。
17.如权利要求16所述的装置,其特征在于,所述编码字典生成模块在确定所述至少一种属性中的每种属性的基数时,具体用于:
为至少一种属性中的每种属性配置默认基数;或者
统计至少一批原始数据中的所述至少一种属性中的每种属性的不同原始值的数量,根据统计的所述每种属性的不同原始值的数量确定该种属性的基数,其中所述每种属性的基数大于或等于统计的该种属性的不同原始值的数量。
18.如权利要求16所述的装置,其特征在于,所述编码字典生成模块还用于:
检测到所述至少一种属性中任一属性的基数更新后,根据所述任一属性更新后的基数对所述编码字典中所述任一属性的编码方式进行更新,获得更新后的编码字典。
19.如权利要求18所述的装置,其特征在于,所述任一属性更新后的基数大于所述任一属性更新前的基数。
20.如权利要求18所述的装置,其特征在于,所述发送模块,还用于将所述更新后的编码字典发送至目的设备。
21.一种数据处理装置,其特征在于,包括:
接收模块,用于从源设备接收字节流;
反序列化模块,用于对所述字节流进行反序列化,获得编码数据,其中所述编码数据的数据量小于所述原始数据的数据量;
解码模块,用于对所述编码数据进行解码,获得原始数据。
22.如权利要求21所述的装置,其特征在于,所述解码模块具体用于:
在编码字典中查找所述编码数据中每种属性的编码值对应的原始值;其中,所述编码字典存储有至少一种属性中每种属性的编码方式,所述每种属性的编码方式包括所述每种属性的原始值与编码值的映射关系,所述原始值的数据量小于或等于所述原始值对应的编码值的数据量;
将所述编码数据中每种属性的编码值替换为该编码值对应的原始值。
23.如权利要求22所述的装置,其特征在于,所述接收模块,还用于从源设备接收所述编码字典。
24.如权利要求22所述的装置,其特征在于,所述接收模块,还用于从所述源设备接收更新的编码字典,并删除原编码字典。
25.一种数据处理***,其特征在于,包括如权利要求13-20中任一项所述的装置和如权利要求21-24中任一项所述的装置。
26.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求1~8任一所述的方法。
27.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求9~12任一所述的方法。
28.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1~8任一所述的方法。
29.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求9~12任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911259094.3A CN112953547A (zh) | 2019-12-10 | 2019-12-10 | 一种数据处理方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911259094.3A CN112953547A (zh) | 2019-12-10 | 2019-12-10 | 一种数据处理方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112953547A true CN112953547A (zh) | 2021-06-11 |
Family
ID=76225573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911259094.3A Pending CN112953547A (zh) | 2019-12-10 | 2019-12-10 | 一种数据处理方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112953547A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114596415A (zh) * | 2022-03-03 | 2022-06-07 | 广东汇天航空航天科技有限公司 | 地形数据处理方法、装置、设备及存储介质 |
CN114726480A (zh) * | 2022-03-08 | 2022-07-08 | 科大讯飞股份有限公司 | 数据编码方法及相关装置、电子设备和存储介质 |
-
2019
- 2019-12-10 CN CN201911259094.3A patent/CN112953547A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114596415A (zh) * | 2022-03-03 | 2022-06-07 | 广东汇天航空航天科技有限公司 | 地形数据处理方法、装置、设备及存储介质 |
CN114726480A (zh) * | 2022-03-08 | 2022-07-08 | 科大讯飞股份有限公司 | 数据编码方法及相关装置、电子设备和存储介质 |
CN114726480B (zh) * | 2022-03-08 | 2023-07-25 | 科大讯飞股份有限公司 | 数据编码方法及相关装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wiseman et al. | Efficient end to end data exchange using configurable compression | |
US9088403B1 (en) | Identification codewords for a rate-adapted version of a data stream | |
CN108628898B (zh) | 数据入库的方法、装置和设备 | |
US20100191777A1 (en) | Serialization of shared and cyclic data structures using compressed object encodings | |
CN111884660B (zh) | 一种哈夫曼编码设备 | |
CN107451237B (zh) | 序列化与反序列化方法、装置及设备 | |
CN114731162A (zh) | 压缩数据的部分下载 | |
US7605721B2 (en) | Adaptive entropy coding compression output formats | |
CN112953547A (zh) | 一种数据处理方法、装置及*** | |
CN115567589B (zh) | Json数据的压缩传输方法、装置、设备及存储介质 | |
CN114764557A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US7779139B2 (en) | Normalization of binary data | |
CN113220651A (zh) | 运行数据压缩方法、装置、终端设备以及存储介质 | |
WO2019018030A1 (en) | COMPRESSION AND RECOVERY OF STRUCTURED RECORDINGS | |
CN115314121B (zh) | 量子通信方法、装置及电子设备 | |
CN114125071B (zh) | 数据压缩传输方法及装置 | |
CN115167869A (zh) | 一种Java对象序列化和反序列化的方法、电子设备及介质 | |
CN115426375A (zh) | 一种数据处理方法和数据处理*** | |
CN112351107B (zh) | 用于编码文件的方法、装置、电子设备及可读存储介质 | |
US20110093483A1 (en) | Method and apparatus for data exchange in a distributed system | |
US9160820B2 (en) | Large volume data transfer | |
CN113946453A (zh) | 数据处理方法及*** | |
CN113066139A (zh) | 图片处理方法和装置、存储介质及电子设备 | |
CN111935237A (zh) | 日志处理方法及***、电子设备及存储介质 | |
CN115001628B (zh) | 数据编码的方法及装置、数据解码的方法及装置和数据结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220210 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |