CN109213745B - 一种分布式文件存储方法、装置、处理器及存储介质 - Google Patents

一种分布式文件存储方法、装置、处理器及存储介质 Download PDF

Info

Publication number
CN109213745B
CN109213745B CN201810983042.XA CN201810983042A CN109213745B CN 109213745 B CN109213745 B CN 109213745B CN 201810983042 A CN201810983042 A CN 201810983042A CN 109213745 B CN109213745 B CN 109213745B
Authority
CN
China
Prior art keywords
data type
data
storage
distributed file
bytes
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
CN201810983042.XA
Other languages
English (en)
Other versions
CN109213745A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810983042.XA priority Critical patent/CN109213745B/zh
Publication of CN109213745A publication Critical patent/CN109213745A/zh
Application granted granted Critical
Publication of CN109213745B publication Critical patent/CN109213745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式文件存储方法、装置、处理器和存储介质,可应用于分布式文件系统,所述分布式文件系统用于进行块存储、文件存储和对象存储;所述块存储、文件存储和对象存储在存储时均以底层的对象object形式存储。所述方法包括:将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中;所述第二数据类型所占字节数小于所述第一数据类型所占字节数;所述第一数据类型包含所述object的特征信息;从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。利用本发明提供的方法,能够降低存储文件时文件占用的存储空间,提高存储效率。

Description

一种分布式文件存储方法、装置、处理器及存储介质
技术领域
本发明涉及数据存储技术领域,尤其涉及一种分布式文件存储方法、装置、处理器及存储介质。
背景技术
随着计算机技术和网络技术的飞速发展,存储成本在不断降低,存储容量和数据总线带宽的增长速度无法满足应用需求,海量数据的存储逐渐成为互联网技术发展急需解决的问题,人们对于分布式文件系统技术的研究也越来越成熟。现阶段分布式文件系统在存储底层的对象object时需要采用映射操作,该映射操作将每个object映射到一个PG(Placement group,放置组),每个PG又映射到一个OSD(Object-based Storage,对象存储设备),这样object就存放在每个OSD上挂载的磁盘中,现有技术中通常在存放每个object时会为其分配具有固定值的存储空间,例如每个存放的object都被分配了大小为4M的存储空间,每个object存储时都会占用4M存储空间,但存放一个object真正使用的存储空间往往小于该固定值,这就导致了每个object存放后都会浪费一定大小的存储空间,降低了储存效率。
发明内容
为了解决现有技术存在的技术问题,本发明提供了一种分布式文件存储方法、装置、处理器及存储介质,能够降低存储文件时文件占用的存储空间。
本申请提供了一种分布式文件存储方法,应用于分布式文件系统,所述分布式文件系统用于进行块存储、文件存储和对象存储;所述块存储、文件存储和对象存储在存储时均以底层的对象object形式存储;
该方法包括:
将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中;所述第二数据类型所占字节数小于所述第一数据类型所占字节数;所述第一数据类型包含所述object的特征信息;
从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
可选的,所述第二数据类型字符串类型。
可选的,所述容器容纳16个所述第一数据类型的object。
可选的,所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节。
本申请实施例还提供了一种分布式文件存储装置,应用于分布式文件系统,所述分布式文件系统用于进行块存储、文件存储和对象存储;所述块存储、文件存储和对象存储在存储时均以底层的对象object形式存储;
该装置包括:
第一转换单元,用于将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中;所述第二数据类型所占字节数小于所述第一数据类型所占字节数;所述第一数据类型包含所述object的特征信息;
第二转换单元,用于从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
可选的,所述第二数据类型字符串类型。
可选的,所述容器容纳16个所述第一数据类型的object。
可选的,所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述分布式文件存储方法。
本申请实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述分布式文件存储方法。
与现有技术相比,本发明至少具有以下优点:
本申请提出的方法将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中,其中可以通过同时处理多个所述object,来减少操作的执行的次数,而因为所述第二数据类型所占字节数小于所述第一数据类型所占字节数,在完成序列化时的数据类型转换后,储存第二数据类型的数据占用的空间会小于原数据占用的存储空间;从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型即可。利用本申请提出的分布式文件储存方法,可以有效降低存储文件时文件占用的存储空间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例一提供的一种分布式文件存储方法的流程图;
图2为本申请实施例二提供的一种分布式文件存储方法的流程图;
图3为本申请实施例三提供的一种分布式文件存储装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,该图为本申请实施例一提供的一种分布式文件存储方法的流程图。
本实施例所述方法包括:
S101:将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中。
本申请实施例应用于分布式文件系统,所述分布式文件系统可以用于进行块存储、文件存储和对象存储。所述块存储、文件存储和对象存储在存储时均以底层的对象object的形式存储。
本实施例中,可以先为每个object设置大小固定的存储空间,将多个object同时进行序列化,所述序列化目的是将数据结构表示为二进制流的方式,以便通过网络传输或保存在磁盘等存储介质上,同时对多个object进行处理与采用串行方法逐个对object进行处理相比,明显更加效率。
举例说明如下,若所述容器可以容纳16个所述第一数据类型的object,每个object占用的存储空间都是4M,此时第一数据类型的数据共占用64M的存储空间,在序列化时一次将16个object对应的第一数据类型转换为第二数据类型,这一过程采用了对象聚合的方法,即将16个object聚合起来同时处理,这样处理的执行次数是原来的1/16,与采用串行方法逐个对object进行处理相比,明显更加效率。
在序列化时将第一数据类型序列化时转换为第二数据类型的数据,其中所述第二数据类型所占字节数小于所述第一数据类型所占字节数,所以存储同样的信息时,用第二数据类型的数据存储信息占用的存储空间较小;所述第一数据类型包含所述object的特征信息。
本实施例所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节。
本实施例中,因为所述第一数据类型包含所述object的特征信息,所以在只进行数据转换后得到的第二数据类型也会包含所述object的特征信息,即在转换过程中所述object的特征信息不会丢失。
S102:从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
反序列化是上述序列化的反过程,在反序列化时完成上述由第二数据类型转换为第一数据类型,以实现数据的读取。
本申请实施例提出的方法将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中,其中可以通过同时处理多个所述object,来减少操作的执行的次数,而因为所述第二数据类型所占字节数小于所述第一数据类型所占字节数,在完成序列化时的数据类型转换后,储存第二数据类型的数据占用的空间会小于原数据占用的存储空间;从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型即可。利用本申请实施例提出的分布式文件储存方法,可以有效降低存储文件时文件占用的存储空间。
实施例二:
根据上述实施例提供的一种分布式文件存储方法,本申请实施例中以第二数据类型为字符串类型为例对所述方法进行说明。
参见图2,该图为本申请实施例二提供的一种分布式文件存储方法的流程图。
本实施例所述方法包括:
S201:将多个所述object对应的第一数据类型序列化时转换为字符串类型的数据保存在一个容器中。
本实施例中,存储所述object时,所述第一数据类型所占字节数大于20个字节,所述字符串类型所占字节数大于10个字节且小于20个字节。
需要注意的是,因为所述第一数据类型包含所述object的特征信息,所以在只进行数据转换后得到的字符串类型也会包含所述object的特征信息,即在转换过程中所述object的特征信息不会丢失。
S202:从所述容器中读取数据时,将所述字符串类型的数据反序列化时转换为所述object对应的第一数据类型。
通过本实施例提供的方法,将多个所述object对应的第一数据类型序列化时转换为字符串类型的数据保存在一个容器中,其中可以通过同时处理多个所述object,来减少操作的执行的次数,而因为所述字符串类型所占字节数小于所述第一数据类型所占字节数,在完成序列化时的数据类型转换后,储存字符串类型的数据占用的空间会小于原数据占用的存储空间;从所述容器中读取数据时,将所述字符串类型的数据反序列化时转换为所述object对应的第一数据类型即可。利用本申请实施例提出的分布式文件储存方法,可以有效降低存储文件时文件占用的存储空间。
实施例三:
根据上述实施例提供的分布式文件存储方法,本申请实施例还提供了一种分布式文件存储装置,下面结合附图进行具体说明。
参见图3,该图为本申请实施例三提供的一种分布式文件存储装置的示意图。
本装置实施例中,所述分布式文件存储装置包括:第一转换单元301和第二转换单元302。
第一转换单元301,用于将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中。
其中,所述第二数据类型所占字节数小于所述第一数据类型所占字节数;所述第一数据类型包含所述object的特征信息。
本装置实施例中,所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节。
本装置实施例中,所述第二数据类型可以为字符串类型。
本装置实施例中,所述容器可以容纳16个所述第一数据类型的object。
第二转换单元302,用于从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
本申请实施例提供的分布式文件储存装置,可以将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中,其中可以通过同时处理多个所述object,来减少操作的执行的次数,而因为所述第二数据类型所占字节数小于所述第一数据类型所占字节数,在完成序列化时的数据类型转换后,储存第二数据类型的数据占用的空间会小于原数据占用的存储空间;从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型即可。利用本申请提出的分布式文件储存方法,可以有效降低存储文件时文件占用的存储空间。
所述分布式文件存储装置包括处理器和存储器,上述第一转换单元和第二转换单元单元均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现降低存储文件时文件占用的存储空间的目的,有效的提高存储效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述分布式文件存储方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述分布式文件存储方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中;
从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
需要注意的是,以上步骤中所述第二数据类型所占字节数小于所述第一数据类型所占字节数;
所述第一数据类型包含所述object的特征信息;
所述第二数据类型可以为字符串类型;
所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节;
所述容器可以容纳16个所述第一数据类型的object。
本文中的设备可以是服务器、PC、PAD、手机等。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般用来表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (10)

1.一种分布式文件存储方法,其特征在于,应用于分布式文件系统,所述分布式文件系统用于进行块存储、文件存储和对象存储;所述块存储、文件存储和对象存储在存储时均以底层的对象object形式存储;
该方法包括:
将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中;所述第二数据类型所占字节数小于所述第一数据类型所占字节数;所述第一数据类型包含所述object的特征信息;
其中,所述将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中包括:先为每个object设置大小固定的存储空间,采用对象聚合的方式,将多个object聚合起来同时进行序列化;
从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
2.根据权利要求1所述的分布式文件存储方法,其特征在于,所述第二数据类型字符串类型。
3.根据权利要求1所述的分布式文件存储方法,其特征在于,所述容器容纳16个所述第一数据类型的object。
4.根据权利要求2所述的分布式文件存储方法,其特征在于,所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节。
5.一种分布式文件存储装置,其特征在于,应用于分布式文件系统,所述分布式文件系统用于进行块存储、文件存储和对象存储;所述块存储、文件存储和对象存储在存储时均以底层的对象object形式存储;
该装置包括:
第一转换单元,用于将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中;所述第二数据类型所占字节数小于所述第一数据类型所占字节数;所述第一数据类型包含所述object的特征信息;
其中,所述将多个所述object对应的第一数据类型序列化时转换为第二数据类型的数据保存在一个容器中包括:先为每个object设置大小固定的存储空间,采用对象聚合的方式,将多个object聚合起来同时进行序列化;
第二转换单元,用于从所述容器中读取数据时,将所述第二数据类型的数据反序列化时转换为所述object对应的第一数据类型。
6.根据权利要求5所述的分布式文件存储装置,其特征在于,所述第二数据类型字符串类型。
7.根据权利要求5所述的分布式文件存储装置,其特征在于,所述容器容纳16个所述第一数据类型的object。
8.根据权利要求6所述的分布式文件存储装置,其特征在于,所述第一数据类型所占字节数大于20个字节,所述第二数据类型所占字节数大于10个字节且小于20个字节。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-4任一项所述的分布式文件存储方法。
10.一种存储介质,其特征在于,其上存储有程序,该程序被处理器执行时实现权利要求1-4任一项所述的分布式文件存储方法。
CN201810983042.XA 2018-08-27 2018-08-27 一种分布式文件存储方法、装置、处理器及存储介质 Active CN109213745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810983042.XA CN109213745B (zh) 2018-08-27 2018-08-27 一种分布式文件存储方法、装置、处理器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810983042.XA CN109213745B (zh) 2018-08-27 2018-08-27 一种分布式文件存储方法、装置、处理器及存储介质

Publications (2)

Publication Number Publication Date
CN109213745A CN109213745A (zh) 2019-01-15
CN109213745B true CN109213745B (zh) 2022-04-22

Family

ID=64985866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810983042.XA Active CN109213745B (zh) 2018-08-27 2018-08-27 一种分布式文件存储方法、装置、处理器及存储介质

Country Status (1)

Country Link
CN (1) CN109213745B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124291B (zh) * 2019-12-09 2023-05-30 北京金山云网络技术有限公司 分布式存储系统的数据存储处理方法、装置、电子设备
CN111931200B (zh) * 2020-07-13 2024-02-23 车智互联(北京)科技有限公司 一种数据序列化方法、移动终端和可读存储介质
CN116243845A (zh) * 2021-12-07 2023-06-09 深圳晶泰科技有限公司 基于cuda的数据处理方法、计算设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963944A (zh) * 2010-09-30 2011-02-02 用友软件股份有限公司 对象存储方法和系统
CN104199927A (zh) * 2014-09-03 2014-12-10 腾讯科技(深圳)有限公司 数据处理方法及数据处理装置
CN104572763A (zh) * 2013-10-25 2015-04-29 西安群丰电子信息科技有限公司 一种分布式计算系统中对象传递的方法
CN106713423A (zh) * 2016-12-06 2017-05-24 上海斐讯数据通信技术有限公司 一种云接入点控制器中分布式数据的处理方法及装置
CN106775638A (zh) * 2016-11-22 2017-05-31 北京皮尔布莱尼软件有限公司 一种对象序列化方法、装置和计算设备
CN107729355A (zh) * 2017-08-31 2018-02-23 上海金大师网络科技有限公司 一种基于数据储存类型TVariant的数据存储方法及其装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256561B (zh) * 2007-03-02 2010-09-08 阿里巴巴集团控股有限公司 一种存储、访问数据库数据的方法、装置及系统
EP2672387B1 (en) * 2012-06-04 2018-08-01 Amplidata NV A distributed object storage system
CN106294870B (zh) * 2016-08-25 2019-09-17 北京酷成长科技有限公司 基于对象的分布式云存储方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963944A (zh) * 2010-09-30 2011-02-02 用友软件股份有限公司 对象存储方法和系统
CN104572763A (zh) * 2013-10-25 2015-04-29 西安群丰电子信息科技有限公司 一种分布式计算系统中对象传递的方法
CN104199927A (zh) * 2014-09-03 2014-12-10 腾讯科技(深圳)有限公司 数据处理方法及数据处理装置
CN106775638A (zh) * 2016-11-22 2017-05-31 北京皮尔布莱尼软件有限公司 一种对象序列化方法、装置和计算设备
CN106713423A (zh) * 2016-12-06 2017-05-24 上海斐讯数据通信技术有限公司 一种云接入点控制器中分布式数据的处理方法及装置
CN107729355A (zh) * 2017-08-31 2018-02-23 上海金大师网络科技有限公司 一种基于数据储存类型TVariant的数据存储方法及其装置

Also Published As

Publication number Publication date
CN109213745A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
US10649953B2 (en) Blockchain-based data migration method and apparatus
CN112529169B (zh) 数据处理方法、模型优化装置和模型执行装置
CN110262901B (zh) 一种数据处理方法及数据处理系统
CN109213745B (zh) 一种分布式文件存储方法、装置、处理器及存储介质
CN110490313B (zh) 一种内存复用方法及其相关产品
US11151155B2 (en) Memory use in a distributed index and query system
CN108683720A (zh) 一种容器集群服务配置方法及装置
CN110134430A (zh) 一种数据打包方法、装置、存储介质和服务器
CN115129621B (zh) 一种内存管理方法、设备、介质及内存管理模块
US20230393813A1 (en) Sorting apparatus and method
CN111597158A (zh) 日志文件的滚存方法、装置、存储介质及终端
CN110908797B (zh) 调用请求数据处理方法、装置、设备、存储介质及系统
CN110458285B (zh) 数据处理方法、装置、计算机设备和存储介质
CN114117992B (zh) 一种序列化和反序列化方法、装置和电子设备
CN110555522B (zh) 数据处理方法、装置、计算机设备和存储介质
CN115794446B (zh) 一种消息处理方法、装置、电子设备和存储介质
CN112068965A (zh) 数据处理方法、装置、电子设备和可读存储介质
CN107391541A (zh) 一种实时数据合并方法和装置
CN115469803B (zh) 队列消息存储调度的方法及应用
CN116204311A (zh) Pod集群扩缩容方法、装置、计算机设备和存储介质
EP4390646A1 (en) Data processing method in distributed system, and related system
CN117331679A (zh) 数据推理方法、装置、设备及存储介质
US20210224632A1 (en) Methods, devices, chips, electronic apparatuses, and storage media for processing data
US20220318604A1 (en) Sparse machine learning acceleration
US20210141723A1 (en) Memory usage in managed runtime applications

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