CN109189505B - 一种减少对象序列化占用存储空间的方法及系统 - Google Patents

一种减少对象序列化占用存储空间的方法及系统 Download PDF

Info

Publication number
CN109189505B
CN109189505B CN201810737784.4A CN201810737784A CN109189505B CN 109189505 B CN109189505 B CN 109189505B CN 201810737784 A CN201810737784 A CN 201810737784A CN 109189505 B CN109189505 B CN 109189505B
Authority
CN
China
Prior art keywords
memory
pickle
content
size
serialized
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
Application number
CN201810737784.4A
Other languages
English (en)
Other versions
CN109189505A (zh
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.)
Heilongjiang Jingxinrui Technology Co.,Ltd.
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810737784.4A priority Critical patent/CN109189505B/zh
Publication of CN109189505A publication Critical patent/CN109189505A/zh
Application granted granted Critical
Publication of CN109189505B publication Critical patent/CN109189505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种减少对象序列化占用存储空间的方法及系统,涉及软件开发技术领域,所述方法包括步骤:定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;将待序列化对象的内容写入到所述Pickle对象中;根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。本发明提供的减少对象序列化占用存储空间的方法,通过使用Pickle对象进行对象序列化,从而减少序列化对象所占用的内存大小,进而提高文件的写入速度,并减少存储该文件所需的硬盘空间大小。

Description

一种减少对象序列化占用存储空间的方法及系统
技术领域
本发明涉及软件开发技术领域,具体涉及一种减少对象序列化占用存储空间的方法及系统。
背景技术
通常,对象序列化是指将对象的状态信息转换为可以存储的形式的过程;在序列化期间,对象将其当前状态写入到内存或本地硬盘中;在需要时,可以通过从内存或本地硬盘中读取或反序列化对象的状态,并重新创建该对象。
现有技术中,普通序列化的方法过程为:调用memcpy函数,把对象拷贝到一个内存当中,然后再把这个内存数据通过写文件的方式,存储在硬盘当中,且该序列化过程中存储文件格式为json文件格式或xml文件格式。
一方面,由于json文件格式或xml文件格式属于文本流格式,在存储时包含有一定的规则,导致文件存储的内容要比实际的内容大很多,进而使得在写入文件时速度变慢,且占用更多的硬盘空间。
另一方面,在有些情况下,虽然该对象的总内存较大,但是该总内存中有些字节并未存储有内容,该对象实际使用到的内存较小。当直接调用memcpy函数对该对象进行序列化时,由于是直接将该对象拷贝到内存当中,然后再写入到硬盘中,这一过程,将会造成内存浪费,无存储内容的内存数据也会被序列化到硬盘中,导致写入到硬盘中的文件变大,使得写入该文件的速度变慢,并导致占用的硬盘空间较大,用户体验较差。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种减少对象序列化占用存储空间的方法,通过使用Pickle对象进行对象序列化,从而减少序列化对象所占用的内存大小,进而提高文件的写入速度,并减少存储该文件所需的硬盘空间大小。
为达到以上目的,本发明采取的技术方案是:
一种减少对象序列化占用存储空间的方法,包括步骤:
定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
将待序列化对象的内容写入到所述Pickle对象中;
根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。
在上述技术方案的基础上,所述待序列化对象包括若干字段,所述将待序列化对象的内容写入到所述Pickle对象中的具体步骤包括:
A1:定义一个偏移变量,所述偏移变量用于保存写入待序列化对象的内存偏移量,并对所述偏移变量进行初始化;
A2:调用strlen函数获取第一个字段的内存大小;
A3:调用WriteData函数写入第一个字段的内容,并将所述偏移变量的值增加所述第一个字段的内存大小;
A4:重复步骤A2~A3,写入下一个字段的内容,并将所述偏移变量的值增加所述下一个字段的内存大小,直至写入所述待序列化对象中的所有字段。
在上述技术方案的基础上,所述步骤A2和A3之间还包括步骤:
调用WriteInt函数在所述Pickle对象的内存头部写入获取到的第一个字段的内存大小,并将所述偏移变量的值增加所述第一个字段的内存大小所占用的内存。
在上述技术方案的基础上,在调用WriteData函数写入第一个字段的内容时,还包括步骤:调用Align函数对第一个字段的内容进行对齐。
在上述技术方案的基础上,根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中的具体步骤包括:
预先定义一个Header对象,使用所述Header对象保存所述Pickle对象占用内存的大小;
调用data函数返回Pickle对象的内存地址指针,调用size函数返回Header对象中保存的所述Pickle对象占用内存的大小;
根据所述Pickle对象的内存地址指针和占用内存的大小,调用CreateFile函数创建一个本地硬盘文件,再调用WriteFile函数把所述Pickle对象的内容写入到本地硬盘当中。
在上述技术方案的基础上,在将待序列化对象的内容写入到所述Pickle对象中的同时,还包括步骤:调用realloc函数动态调整所述Pickle对象内存。
本发明还提供了一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述减少对象序列化占用存储空间的方法。
本发明还提供了一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述减少对象序列化占用存储空间的方法。
本发明还提供了一种减少对象序列化占用存储空间的系统,包括:
自定义模块,其用于定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
写入模块,其用于将待序列化对象的内容写入到所述Pickle对象中;
存储模块,其用于根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。
在上述技术方案的基础上,所述待序列化对象包括若干字段,所述写入模块具体包括:
设置单元,其用于定义一个偏移变量,所述偏移变量用于保存写入待序列化对象的内存偏移量,并对所述偏移变量进行初始化;
获取单元,其用于调用strlen函数获取每个字段的内存大小;
处理单元,其用于调用WriteData函数写入每个字段的内容,并在写入一个字段的内容后将所述偏移变量的值增加该写入字段的内存大小。
在上述技术方案的基础上,所述存储模块具体包括:
预定义单元,其用于预先定义一个Header对象,使用所述Header对象保存所述Pickle对象占用内存的大小;
返回单元,其用于调用data函数返回Pickle对象的内存地址指针,调用size函数返回Header对象中保存的所述Pickle对象占用内存的大小;
存储单元,其用于根据所述Pickle对象的内存地址指针和占用内存的大小,调用CreateFile函数创建一个本地硬盘文件,再调用WriteFile函数把所述Pickle对象的内容写入到本地硬盘当中。
与现有技术相比,本发明的优点在于:
(1)本发明的减少对象序列化占用存储空间的方法,通过使用Pickle对象进行对象序列化,由于Pickle对象以字节流格式保存待序列化对象的内容,可以对待序列化对象的内容格式进行重新排列优化,该字节流格式的文件规则也不会导致文件的内容增大,从而减少序列化对象所占用的内存大小,并在硬盘空间中写入该序列化对象时,提高了文件的写入速度,减少存储该文件所需的硬盘空间大小,使得用户体验较好。
(2)本发明的减少对象序列化占用存储空间的方法中,调用realloc函数动态调整所述Pickle对象内存,使得在将待序列化对象的内容写入到所述Pickle对象中时,Pickle对象的内存自动增长,且始终与待序列化对象的内存保持一致,有效避免申请多余的内存,节约了内存资源。
(3)本发明的减少对象序列化占用存储空间的方法中,调用Align函数对第一个字段的内容进行对齐,可以使得待序列化对象的每个字段的内存对齐,优化内存排列。
附图说明
图1为本发明实施例一减少对象序列化占用存储空间的方法流程图;
图2为本发明实施例一步骤S2的具体步骤流程图;
图3为本发明实施例一步骤S3的具体步骤流程图;
图4为本发明实施例三电子设备的示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
实施例一
参见图1所示,本发明实施例提供一种减少对象序列化占用存储空间的方法,包括步骤:
S1:定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
S2:将待序列化对象的内容写入到所述Pickle对象中;
S3:根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。
本发明实施例中,该存储空间包括内存空间和本地硬盘空间。
本发明实施例的减少对象序列化占用存储空间的方法,通过使用Pickle对象进行对象序列化,由于Pickle对象以字节流格式保存待序列化对象的内容,可以对待序列化对象的内容格式进行重新排列优化,该字节流格式的文件规则也不会导致文件的内容增大,从而减少序列化对象所占用的内存大小,并在硬盘空间中写入该序列化对象时,提高了文件的写入速度,减少存储该文件所需的硬盘空间大小,使得用户体验较好。
在本发明实施例中,待序列化对象为Object对象,待序列化对象示例如下:
Figure BDA0001722473390000061
上述Object对象包括两个字段,分别为id字段和name字段,且id字段和name字段各分配有200字节,Object对象总内存为400字节。
在有些情况下,虽然Object对象的总内存较大,但是该总内存中有些字节并未存储有内容,该Object对象实际使用到的内存较小。在本发明实施例中,以,id字段和name字段只需分别使用到100字节的内存为例。
当采用现有技术的序列化方法对上述Object对象进行序列化时,Object对象总内存为400字节,但id和name字段只需分别使用到100字节的内存,Object对象实际上只用到了200字节的内存,但却占用了400字节的内存,从而造成内存资源的浪费,没有用到的内存数据也会被序列化到文件当中,导致序列化后的文件较大,当将该文件写入到硬盘时,不仅写入速度明显较慢,而且占用的硬盘空间较大,用户体验较差。
当使用本发明实施例中的减少对象序列化占用存储空间的方法时,先用Pickle对象以字节流格式保存Object对象的内容,再将Object对象的内容写入到所述Pickle对象中,根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。在此过程中,所述Pickle对象的内容即为Object对象的内容,具体为id字段和name字段的内容,Object对象总内存为400字节,而Pickle对象占用内存的大小等于id字段和name字段实际使用到的内存之和,即为200字节,将所述Pickle对象的内容写入到本地硬盘中,等同于将Object对象的内容写入到本地硬盘中去,但此时Pickle对象占用内存的大小只有200字节,与Object对象总内存400字节相比,不仅明显提高了写入速度,而且大大减少了占用的硬盘空间,使得用户体验较好。
进一步地,在将待序列化对象的内容写入到所述Pickle对象中的同时,还包括步骤:调用realloc函数动态调整所述Pickle对象内存。该步骤使得在将待序列化对象的内容写入到所述Pickle对象中时,Pickle对象的内存自动增长,且始终与待序列化对象的内存保持一致,有效避免申请多余的内存,节约了内存资源。
具体地,所述待序列化对象包括若干字段,在本发明实施例中,所述待序列化对象的若干字段为id字段和name字段。
参见图2所示,步骤S2中将待序列化对象的内容写入到所述Pickle对象中的具体步骤包括:
S201:定义一个偏移变量size_t,所述偏移变量size_t用于保存写入待序列化对象的内存偏移量,并对所述偏移变量size_t进行初始化,在本发明实施例中,初始化后的所述偏移变量size_t的值为0;
S202:调用strlen函数获取第一个字段的内存大小,此处第一个字段为id字段,获取到的第一个字段的内存大小为100字节;
S203:调用WriteInt函数在所述Pickle对象的内存头部写入获取到的第一个字段的内存大小,并将所述偏移变量size_t的值增加所述第一个字段的内存大小所占用的内存;
在本发明实施例中,即在所述Pickle对象的内存头部写入一个数字变量100,且由于该数字变量100为int类型,数字变量100占用所述Pickle对象的内存大小为4字节,所述偏移变量size_t的值增加4,此时偏移变量size_t的值为4;
S204:调用WriteData函数写入第一个字段的内容,并将所述偏移变量size_t的值增加所述第一个字段的内存大小;
在本发明实施例中,即调用WriteData函数写入id字段的内容,由于id字段的内存大小为100字节,因此,将所述偏移变量size_t的值增加100,此时所述偏移变量size_t的值变为104;
S205:重复步骤S202~S204,完成下一个字段的内容的写入,直至写入所述待序列化对象中的所有字段;
在本发明实施例中,该下一个字段即为name字段,当写入name字段的内容后,即写入所述Object对象中的所有字段,依此类推,最后所述偏移变量size_t的值将增加至208,可见,与Object对象总内存400字节相比,所述Pickle对象占用的内存208字节较小,该序列化过程使得占用内存呢大小比原来减少了接近50%,效果显著。
更进一步地,在本发明实施例中,在调用WriteData函数写入第一个字段的内容时,还包括步骤:调用Align函数对第一个字段的内容进行对齐,可以使得待序列化对象的每个字段的内存对齐,优化内存排列。
具体为:调用bits::Align函数,对id字段的内容进行4字节对齐,使得id字段的内容与下个name字段的内容对齐,优化内存排列。
参见图3所示,在本发明实施例中,步骤S3中根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中的具体步骤包括:
S301:预先定义一个Header对象,使用所述Header对象保存所述Pickle对象占用内存的大小;
所述Pickle对象占用内存的大小即为Object对象实际上使用到的内存大小,为200字节;
S302:调用data函数返回Pickle对象的内存地址指针,调用size函数返回Header对象中保存的所述Pickle对象占用内存的大小;
S303:根据所述Pickle对象的内存地址指针和占用内存的大小,调用CreateFile函数创建一个本地硬盘文件,再调用WriteFile函数把所述Pickle对象的内容写入到本地硬盘中,即把Object对象的内容写入到本地硬盘中。
此时,所述Pickle对象占用内存的大小比Object对象的总内存要减少很多,在将所述Pickle对象的内容写入到本地硬盘中时,写入速度明显提高,且占用的本地硬盘空间也较小,不仅节约存储资源,而且提高用户体验。
基于同一发明构思,本申请提供了实施例一对应的存储介质的实施例,详见实施例二
实施例二
对应上述减少对象序列化占用存储空间的方法,本发明实施例还提供了一种存储介质的实施例,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的减少对象序列化占用存储空间的方法的步骤,具体实现以下步骤:
定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
将待序列化对象的内容写入到所述Pickle对象中;
根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。
需要说明的是,本发明实施例中使用的方法和实施例一中一种减少对象序列化占用存储空间的方法是基于同一构思的,故而基于本申请实施例一种介绍的方法,本领域的技术人员能够了解本实施例的存储介质的具体实施方式以及其各种变化形式,所以在此对于该存储介质如何实现本申请实施例中的方法以及各种优选方案不再详细介绍。
基于同一发明构思,本申请提供了实施例一对应的电子设备的实施例,详见实施例三
实施例三
参见图4所示,对应上述减少对象序列化占用存储空间的方法,本发明实施例还提供了一种电子设备的实施例,该电子设备存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的减少对象序列化占用存储空间的方法的步骤。
该电子设备包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
将待序列化对象的内容写入到所述Pickle对象中;
根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。
需要说明的是,本发明实施例中使用的方法和实施例一中一种减少对象序列化占用存储空间的方法是基于同一构思的,故而基于本申请实施例一种介绍的方法,本领域的技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法以及各种优选方案不再详细介绍。
基于同一发明构思,本申请提供了实施例一对应的一种同步本地与服务器时间的系统,详见实施例四。
实施例四
本发明实施例还提供了一种减少对象序列化占用存储空间的系统,包括:
自定义模块,其用于定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
写入模块,其用于将待序列化对象的内容写入到所述Pickle对象中;
存储模块,其用于根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中。
更进一步地,所述待序列化对象包括若干字段,所述写入模块具体包括:
设置单元,其用于定义一个偏移变量,所述偏移变量用于保存写入待序列化对象的内存偏移量,并对所述偏移变量进行初始化;
获取单元,其用于调用strlen函数获取每个字段的内存大小;
处理单元,其用于调用WriteData函数写入每个字段的内容,并在写入一个字段的内容后将所述偏移变量的值增加该写入字段的内存大小。
在本发明实施例中,所述存储模块具体包括:
预定义单元,其用于预先定义一个Header对象,使用所述Header对象保存所述Pickle对象占用内存的大小;
返回单元,其用于调用data函数返回Pickle对象的内存地址指针,调用size函数返回Header对象中保存的所述Pickle对象占用内存的大小;
存储单元,其用于根据所述Pickle对象的内存地址指针和占用内存的大小,调用CreateFile函数创建一个本地硬盘文件,再调用WriteFile函数把所述Pickle对象的内容写入到本地硬盘当中。
本发明实施例的减少对象序列化占用存储空间的系统,通过使用Pickle对象进行对象序列化,由于Pickle对象以字节流格式保存待序列化对象的内容,可以对待序列化对象的内容格式进行重新排列优化,该字节流格式的文件规则也不会导致文件的内容增大,从而减少序列化对象所占用的内存大小,并在硬盘空间中写入该序列化对象时,提高了文件的写入速度,减少存储该文件所需的硬盘空间大小,使得用户体验较好。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (8)

1.一种减少对象序列化占用存储空间的方法,其特征在于,包括步骤:
定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
将待序列化对象的内容写入到所述Pickle对象中;
根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中;
所述待序列化对象包括若干字段,所述将待序列化对象的内容写入到所述Pickle对象中的具体步骤包括:
A1:定义一个偏移变量,所述偏移变量用于保存写入待序列化对象的内存偏移量,并对所述偏移变量进行初始化;
A2:调用strlen函数获取第一个字段的内存大小;
A3:调用WriteData函数写入第一个字段的内容,并将所述偏移变量的值增加所述第一个字段的内存大小;
A4:重复步骤A2~A3,写入下一个字段的内容,并将所述偏移变量的值增加所述下一个字段的内存大小,直至写入所述待序列化对象中的所有字段。
2.如权利要求1所述的减少对象序列化占用存储空间的方法,其特征在于,所述步骤A2和A3之间还包括步骤:
调用WriteInt函数在所述Pickle对象的内存头部写入获取到的第一个字段的内存大小,并将所述偏移变量的值增加所述第一个字段的内存大小所占用的内存。
3.如权利要求1所述的减少对象序列化占用存储空间的方法,其特征在于,在调用WriteData函数写入第一个字段的内容时,还包括步骤:调用Align函数对第一个字段的内容进行对齐。
4.如权利要求1所述的减少对象序列化占用存储空间的方法,其特征在于,根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中的具体步骤包括:
预先定义一个Header对象,使用所述Header对象保存所述Pickle对象占用内存的大小;
调用data函数返回Pickle对象的内存地址指针,调用size函数返回Header对象中保存的所述Pickle对象占用内存的大小;
根据所述Pickle对象的内存地址指针和占用内存的大小,调用CreateFile函数创建一个本地硬盘文件,再调用WriteFile函数把所述Pickle对象的内容写入到本地硬盘当中。
5.如权利要求1所述的减少对象序列化占用存储空间的方法,其特征在于,在将待序列化对象的内容写入到所述Pickle对象中的同时,还包括步骤:调用realloc函数动态调整所述Pickle对象内存。
6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。
7.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。
8.一种减少对象序列化占用存储空间的系统,其特征在于,包括:
自定义模块,其用于定义一个Pickle对象,所述Pickle对象用于以字节流格式保存待序列化对象的内容;
写入模块,其用于将待序列化对象的内容写入到所述Pickle对象中;
存储模块,其用于根据所述Pickle对象的内存地址指针和占用内存的大小,创建本地硬盘文件,并将所述Pickle对象的内容写入到本地硬盘中;
所述待序列化对象包括若干字段,所述写入模块具体包括:
设置单元,其用于定义一个偏移变量,所述偏移变量用于保存写入待序列化对象的内存偏移量,并对所述偏移变量进行初始化;
获取单元,其用于调用strlen函数获取每个字段的内存大小;
处理单元,其用于调用WriteData函数写入每个字段的内容,并在写入一个字段的内容后将所述偏移变量的值增加该写入字段的内存大小。
CN201810737784.4A 2018-07-06 2018-07-06 一种减少对象序列化占用存储空间的方法及系统 Active CN109189505B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810737784.4A CN109189505B (zh) 2018-07-06 2018-07-06 一种减少对象序列化占用存储空间的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810737784.4A CN109189505B (zh) 2018-07-06 2018-07-06 一种减少对象序列化占用存储空间的方法及系统

Publications (2)

Publication Number Publication Date
CN109189505A CN109189505A (zh) 2019-01-11
CN109189505B true CN109189505B (zh) 2021-11-09

Family

ID=64936208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810737784.4A Active CN109189505B (zh) 2018-07-06 2018-07-06 一种减少对象序列化占用存储空间的方法及系统

Country Status (1)

Country Link
CN (1) CN109189505B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612427B (zh) * 2020-12-30 2022-11-25 北京优挂信息科技有限公司 一种车辆停靠点数据处理方法、装置、存储介质及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182547A1 (de) * 2000-08-24 2002-02-27 Wincor Nixdorf GmbH & Co KG Programmkopplungsmethode
CN106209698A (zh) * 2016-07-07 2016-12-07 西安交大捷普网络科技有限公司 基于Libnids的协议还原方法
CN107689996A (zh) * 2017-09-05 2018-02-13 武汉斗鱼网络科技有限公司 数据传输方法、装置及终端设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711695B2 (en) * 2005-01-18 2010-05-04 Oracle International Corporation Reducing memory used by metadata for duplicate user defined types
CN106533728B (zh) * 2015-09-14 2019-06-21 北京国双科技有限公司 服务器信息收集方法和装置
CN105608142B (zh) * 2015-12-17 2019-02-12 浙江大华技术股份有限公司 一种Json数据的存储方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182547A1 (de) * 2000-08-24 2002-02-27 Wincor Nixdorf GmbH & Co KG Programmkopplungsmethode
CN106209698A (zh) * 2016-07-07 2016-12-07 西安交大捷普网络科技有限公司 基于Libnids的协议还原方法
CN107689996A (zh) * 2017-09-05 2018-02-13 武汉斗鱼网络科技有限公司 数据传输方法、装置及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《pickle 更快的数据储存方式》;张学人;《https://stor.51cto.com/art/201806/576564.htm》;20180620;第1-2页 *
《浅析Python中的序列化存储的方法》;廖雪峰;《https://www.jb51.net/article/65097.htm》;20150428;第1-2页 *

Also Published As

Publication number Publication date
CN109189505A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN102654827B (zh) 一种先进先出缓冲器及缓存数据的方法
JP5923583B2 (ja) ハイバネーションから復帰するための電子機器及び方法
CN110941395B (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
CN112199040B (zh) 存储访问方法及智能处理装置
CN115237599B (zh) 一种渲染任务处理方法和装置
CN103413569B (zh) 一读且一写静态随机存储器
CN110825325A (zh) 基于映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质
CN105393228A (zh) 读写闪存中数据的方法、装置及用户设备
CN109189505B (zh) 一种减少对象序列化占用存储空间的方法及系统
CN112230873B (zh) 一种基于dsp的显示处理方法
CN104408126B (zh) 一种数据库的持久化写入方法、装置和系统
CN104281545A (zh) 一种数据读取方法及设备
CN103902471B (zh) 数据缓存处理方法和装置
CN108519860B (zh) 一种ssd读命中的处理方法和装置
CN111651124B (zh) Ssd映射表多核分区并行重建方法、装置、设备及介质
CN104598453A (zh) 基于数据缓冲的数据迁移方法
CN110209352B (zh) 一种存储器的控制方法、存储器控制器、电子设备及存储介质
CN112950456A (zh) 图像处理方法及装置、电子设备、计算机可读介质
CN111078384A (zh) 核心数据迁移的方法、装置、计算机设备及存储介质
US8812813B2 (en) Storage apparatus and data access method thereof for reducing utilized storage space
CN110888737A (zh) 一种支持多GPU的Ringbuffer实现系统及方法
US11755502B2 (en) Methods of controlling power consumption, boards, electronic devices and storage media
US11895043B2 (en) Method for accessing system memory and associated processing circuit within a network card
US20080104307A1 (en) Multi-sector to single-sector request mapping
US20050099877A1 (en) Single operation per-bit memory access

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
TR01 Transfer of patent right

Effective date of registration: 20240426

Address after: Building E, 6th Floor, No. 15 Hongjun Street, Nangang District, Harbin City, Heilongjiang Province, 150000 RMB

Patentee after: Heilongjiang Jingxinrui Technology Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China