在线压缩方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:21913618 阅读:26 留言:0更新日期:2019-08-21 12:19
本发明专利技术公开了一种在线压缩方法、装置、计算机设备及存储介质,其中,该在线压缩方法包括主副本服务器执行的如下步骤:获取客户端发送的数据写入请求,数据写入请求包括原始数据;对原始数据进行压缩,获取压缩数据,并将压缩数据写入对象存储设备中,压缩数据携带有压缩标签和压缩长度;基于原始数据获取对应的原始数据属性;采用单独的线程将压缩数据、压缩标签、压缩长度和原始数据属性传输给从副本服务器,节省压缩成本,提高压缩效率。

Online Compression Method, Device, Computer Equipment and Storage Media

【技术实现步骤摘要】
在线压缩方法、装置、计算机设备及存储介质
本专利技术涉及计算机开发领域,尤其涉及一种在线压缩方法、装置、计算机设备及存储介质。
技术介绍
在分布式存储中,为了提高数据的可靠性,往往采用多副本(包括一个主副本和多个从副本)的方法,将一个对象/文件保存在多副本对应的集群中的多个地方,如:ceph(分布式存储系统)中默认采用三副本(一个主副本和两个从副本)方案。但多副本存储加大了存储空间的占用,也增加了企业数据存储成本。为了降低数据存储成本,缩小存储空间的占用,很多分布式存储提供了压缩功能,如ceph在J版本引入bluestore并提供了在线压缩功能,但写入的每个副本数据都要在各自副本所在的存储节点压缩一次,加大了压缩成本,延长了压缩时间,降低了压缩效率。
技术实现思路
本专利技术实施例提供一种在线压缩方法、装置、计算机设备及存储介质,以解决副本数据在各自副本所在的存储节点都要进行压缩导致压缩成本大和压缩效率较低的问题。一种在线压缩方法,应用于主副本服务器,包括:获取客户端发送的数据写入请求,所述数据写入请求包括原始数据;对所述原始数据进行压缩,获取压缩数据,并将所述压缩数据写入对象存储设备中,所述压缩数据携带有压缩标签和压缩长度;基于所述原始数据获取对应的原始数据属性;采用单独的线程将所述压缩数据、所述压缩标签、所述压缩长度和所述原始数据属性传输给从副本服务器。一种在线压缩装置,包括主副本服务器,所述主副本服务器包括:写入请求获取模块,用于获取客户端发送的数据写入请求,所述数据写入请求包括原始数据;数据压缩模块,用于对所述原始数据进行压缩,获取压缩数据,并将所述压缩数据写入对象存储设备中,所述压缩数据携带有压缩标签和压缩长度;数据属性获取模块,用于基于所述原始数据获取对应的原始数据属性;数据传输模块,用于采用单独的线程将所述压缩数据、所述压缩标签、所述压缩长度和所述原始数据属性传输给从副本服务器。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述在线压缩方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述在线压缩方法。一种在线压缩方法,应用于从副本服务器,包括:获取主副本服务器通过单独的线程发送的压缩数据、压缩标签、压缩长度和原始数据属性;若所述压缩标签为真,则获取所述压缩数据的实际长度,将所述实际长度和所述压缩长度进行比较;若所述实际长度和压缩长度相等,则表示所述压缩数据接收成功;将所述压缩数据写入对应的物理盘中,并根据所述原始数据属性更新元数据,将所述元数据中的对象逻辑地址和物理地址对应起来。一种在线压缩装置,包括从副本服务器,所述从副本服务器包括:数据获取模块,用于获取主副本服务器通过单独的线程发送的压缩数据、压缩标签、压缩长度和原始数据属性;数据处理模块,用于若所述压缩标签为真,则获取所述压缩数据的实际长度,将所述实际长度和所述压缩长度进行比较;数据判断模块,用于若所述实际长度和压缩长度相等,则表示所述压缩数据接收成功;数据存储模块,用于将所述压缩数据写入对应的物理盘中,并根据所述原始数据属性更新元数据,将所述元数据中的对象逻辑地址和物理地址对应起来。一种计算机设备,包括存储器、处理器以及存储在存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述在线压缩方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述在线压缩方法。上述在线压缩方法、装置、计算机设备及存储介质,主副本服务器通过数据写入请求获取原始数据,然后对原始数据进行压缩,获取压缩数据间。在获取压缩数据后,主副本服务器将压缩数据、压缩标签、压缩长度和原始数据属性通过单独的线程传输给从副本服务器,从副本服务器通过判断压缩标签是否为真,确定是否需要对获取的压缩数据再次进行压缩,若压缩标签为真,则从副本服务器不需要对压缩数据再次进行压缩。由于网络传输的不确定性,在确定压缩标签为真后,还需要对压缩长度和实际长度进行比较,若实际长度和压缩长度相等,则表示压缩数据接收成功,将压缩数据写入对应的物理盘中,并根据原始数据属性更新元数据,以使压缩数据在从副本服务器中解压后依然有足够的物理空间进行存储,节省压缩成本,提高压缩效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例中在线压缩方法的应用环境示意图;图2是本专利技术一实施例中在线压缩方法的流程图;图3是图2中步骤S16的一具体流程图;图4是图2中步骤S16的另一具体流程图;图5是本专利技术一实施例中在线压缩装置的示意图;图6是本专利技术一实施例中计算机设备的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请提供的在线压缩方法,可应用在如图1的应用环境中,客户端通过网络与主副本服务器和从副本服务器进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。主副本服务器指在分布式存储中,用于存储数据的主副本的服务器。从副本服务器指在分布式存储中,用于存储数据的从副本的服务器。在分布式存储中,默认主副本为一个,从副本为多个,因此,本申请的主副本服务器可以用独立的服务器实现,从副本服务器可以用多个服务器组成的服务器集群来实现。一种在线压缩方法,应用于主副本服务器,包括:获取客户端发送的数据写入请求,数据写入请求包括原始数据;对原始数据进行压缩,获取压缩数据,并将压缩数据写入对象存储设备中,压缩数据携带有压缩标签和压缩长度;基于原始数据获取对应的原始数据属性;采用单独的线程将压缩数据、压缩标签、压缩长度和原始数据属性传输给从副本服务器。一种在线压缩方法,应用于从副本服务器,包括:获取主副本服务器通过单独的线程发送的压缩数据、压缩标签、压缩长度和原始数据属性;若压缩标签为真,则获取压缩数据的实际长度,将实际长度和压缩长度进行比较;若实际长度和压缩长度相等,则表示压缩数据接收成功;将压缩数据写入对应的物理盘中,并根据原始数据属性更新元数据,将元数据中的对象逻辑地址和物理地址对应起来。在一实施例中,如图2所示,提供一种在线压缩方法,以该方法应用在图1中的主副本服务器和从副本服务器为例进行说明,包括如下步骤:S11:主副本服务器获取客户端发送的数据写入请求,数据写入请求包括原始数据。其中,数据写入请求指将原始数据写入到主副本服务器的硬盘里的请求。原始数据指客户端发出的数据,该原始数据是用户在客户端上传的需要进行处理的数据。具体地,用户在客户端输入原始数据,然后通过数据写入请求将原始数据发送给主副本服务器,以便主副本服务器执行对原始本文档来自技高网...

【技术保护点】
1.一种在线压缩方法,应用于主副本服务器,其特征在于,包括:获取客户端发送的数据写入请求,所述数据写入请求包括原始数据;对所述原始数据进行压缩,获取压缩数据,并将所述压缩数据写入对象存储设备中,所述压缩数据携带有压缩标签和压缩长度;基于所述原始数据获取对应的原始数据属性;采用单独的线程将所述压缩数据、所述压缩标签、所述压缩长度和所述原始数据属性传输给从副本服务器。

【技术特征摘要】
1.一种在线压缩方法,应用于主副本服务器,其特征在于,包括:获取客户端发送的数据写入请求,所述数据写入请求包括原始数据;对所述原始数据进行压缩,获取压缩数据,并将所述压缩数据写入对象存储设备中,所述压缩数据携带有压缩标签和压缩长度;基于所述原始数据获取对应的原始数据属性;采用单独的线程将所述压缩数据、所述压缩标签、所述压缩长度和所述原始数据属性传输给从副本服务器。2.如权利要求1所述的在线压缩方法,其特征在于,在所述将所述压缩数据写入对象存储设备中之后,所述在线压缩方法还包括:获取客户端发送的数据下载请求,所述数据下载请求包括下载关键字;基于所述下载关键字查询所述对象存储设备,将与所述下载关键字相对应的压缩数据确定为目标数据,并将所述目标数据通过所述数据下载请求发送给所述客户端。3.如权利要求2所述的在线压缩方法,其特征在于,所述基于所述下载关键字查询所述对象存储设备,将与所述下载关键字相对应的压缩数据确定为目标数据,包括:若所述下载关键字仅包括数据下载名称,则基于所述数据下载名称查询所述对象存储设备,将与所述数据下载名称相对应的压缩数据确定为目标数据;若所述下载关键字包括数据下载名称和数据版本号,则基于所述数据下载名称和所述数据版本号查询所述对象存储设备,将与所述数据下载名称和所述数据版本号相对应的压缩数据确定为目标数据。4.如权利要求2所述的在线压缩方法,其特征在于,所述将所述目标数据通过所述数据下载请求发送给所述客户端,包括:统计目标数据的数量;若所述目标数据的数量为一个,则直接将所述目标数据通过所述数据下载请求发送给所述客户端;若所述目标数据的数量为两个或两个以上,则对所述目标数据进行自动压缩处理,并将压缩后的目标数据通过所述数据下载请求发送给所述客户端。5.一种在线压缩方法,应用于从副本服务器,其特征在于,包括:获取主副本服务器通过单独的线程发送的压缩数据、压缩标签、压缩长度和原始数据属性;若所述压缩标签为真,则获取所述压缩数据的实际长度,将所述实际长度和所述压缩长度进行比较;若所述实际长度和压缩长度相等,则表示所述压缩数据接收成功;将所述压缩数据写入对应的物理盘中,并根据所述原始数据属性更新元数据,将所述元数据中的对象逻辑...

【专利技术属性】
技术研发人员:龚红斌
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1