数据处理方法技术

技术编号:39676439 阅读:10 留言:0更新日期:2023-12-11 18:42
本申请实施例提供了数据处理方法

【技术实现步骤摘要】
数据处理方法、装置、设备、可读存储介质及程序产品


[0001]本申请涉及计算机
,具体而言,本申请涉及一种数据处理方法

装置

设备

可读存储介质及程序产品


技术介绍

[0002]现有技术中,
Ceph
是分布式的存储系统,
Ceph
通过
Cephfs
文件系统提供分布式文件系统服务,允许多个用户同时读写,并保证每个用户看到的数据是一致性的

数据一致性的实现需要进行业务改造;业务改造包括:用户客户端中业务发起一次写请求到主
cephfs
集群,业务同时发起一次写请求到备用
cephfs
集群;如此,实现对主
cephfs
集群和备用
cephfs
集群的双写,但是,对主
cephfs
集群和备用
cephfs
集群的双写会导致请求延时的增加,业务改造也增加了数据同步的成本,从而导致主
Cephfs
集群和备用
Cephfs
集群之间数据同步的效率较低


技术实现思路

[0003]本申请针对现有的方式的缺点,提出一种数据处理方法

装置

设备

计算机可读存储介质及计算机程序产品,用于解决如何提高主
Cephfs
集群和备用
Cephfs
>集群之间数据同步的效率的问题

[0004]第一方面,本申请提供了一种数据处理方法,由同步客户端执行,包括:通过主服务集群,获取多个用户客户端中每个用户客户端对应的对象,每个用户客户端对应的对象包括至少一个记录,至少一个记录用于表征每个用户客户端向主服务集群发送的操作请求的相关信息;基于各对象包括的至少一个记录,确定同步记录队列,同步记录队列中每个记录按照预设排序规则进行排列;基于同步记录队列中每个记录,将每个记录对应的数据从主服务集群中读出,并将读出的每个记录对应的数据写入到备用服务集群中

[0005]在一个实施例中,通过主服务集群,获取多个用户客户端中每个用户客户端对应的对象,包括:从主服务集群的同步元数据池中,获取用户客户端集合对应的对象队列,用户客户端集合中一个用户客户端对应对象队列中一个对象,用户客户端集合中每一个用户客户端用于向主服务集群的文件系统发送操作请求,以使文件系统进行相应的操作,同步元数据池用于存储每一个用户客户端向同步元数据池写入的记录;基于对象队列,通过筛选处理,确定筛选后的对象队列,筛选后的对象队列对应多个用户客户端,筛选后的对象队列中每个对象都包括至少一个记录

[0006]在一个实施例中,基于对象队列,通过筛选处理,确定筛选后的对象队列,包括:通过预设线程池中任一线程,确定对象队列中任一对象是否存在记录;若确定任一对象中存在记录,则将任一对象中的记录设置到筛选后的对象队列


[0007]在一个实施例中,基于各对象包括的至少一个记录,确定同步记录队列,包括:基于各对象中每个记录对应的键值对和预设排序规则,将各记录进行排序,确定同步记录队列

[0008]在一个实施例中,各对象中每个记录对应的键值对的键用于表征各对象中每个记录对应的时间戳和各对象中每个记录对应的数据所在的父目录路径名;基于各对象中每个记录对应的键值对和预设排序规则,将各记录进行排序,确定同步记录队列,包括:基于各记录对应的时间戳

各记录对应的数据所在的父目录路径名中至少一项,以及预设排序规则,将各记录进行排序,并将排序后的各记录进行分发处理,得到同步记录队列;其中,各对象中每个记录对应的时间戳用于表征每个记录对应的用户客户端向主服务集群发送操作请求的时间点,键值对的值用于表征各对象中每个记录对应的数据所在的父目录路径名

各对象中每个记录对应的数据的索引节点和操作请求的类型

[0009]在一个实施例中,将排序后的各记录进行分发处理,得到同步记录队列,包括:基于排序后的各记录,通过匹配处理,确定与排序后的各记录相匹配的预设同步线程池中同步线程,并将与预设同步线程池中任一同步线程相匹配的多个记录构成一个同步记录队列,排序后的各记录中包括多个记录

[0010]在一个实施例中,排序后的各记录包括各记录对应的数据的名称和各记录对应的数据所在的父目录路径名;基于排序后的各记录,通过匹配处理,确定与排序后的各记录相匹配的预设同步线程池中同步线程,包括:通过哈希函数,确定各记录对应的数据的名称和各记录对应的数据所在的父目录路径名中任一项的哈希值;基于任一项的哈希值,通过匹配处理,确定与排序后的各记录相匹配的预设同步线程池中同步线程

[0011]在一个实施例中,预设同步线程池中包括多个同步线程,多个同步线程中每一个同步线程对应一个同步记录队列,基于同步记录队列中每个记录,将每个记录对应的数据从主服务集群中读出,并将读出的每个记录对应的数据写入到备用服务集群中,包括:基于每一个同步线程对应的一个同步记录队列中每个记录,通过预设拷贝工具,将一个同步记录队列中每个记录对应的数据从主服务集群的文件系统中读出,并将读出的每个记录对应的数据写入到备用服务集群的文件系统中

[0012]在一个实施例中,在将读出的每个记录对应的数据写入到备用服务集群中之后,还包括:若将读出的每个记录对应的数据写入到备用服务集群中,则将每个记录设置到记录完成队列中,并依次将每个记录进行记录清理

[0013]在一个实施例中,每个记录对应的数据包括文件

文件目录中的至少一项;操作请求包括创建文件请求

删除文件请求

创建目录请求

写文件请求中任一项

[0014]第二方面,本申请提供了一种数据处理装置,应用于同步客户端,包括:第一处理模块,用于通过主服务集群,获取多个用户客户端中每个用户客户端对应的对象,每个用户客户端对应的对象包括至少一个记录,至少一个记录用于表征每个用
户客户端向主服务集群发送的操作请求的相关信息;第二处理模块,用于基于各对象包括的至少一个记录,确定同步记录队列,同步记录队列中每个记录按照预设排序规则进行排列;第三处理模块,用于基于同步记录队列中每个记录,将每个记录对应的数据从主服务集群中读出,并将读出的每个记录对应的数据写入到备用服务集群中

[0015]第三方面,本申请提供了一种电子设备,包括:处理器

存储器和总线;总线,用于连接处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行本申请第一方面的数据处理方法

[0016]第四方面,本申请提供了一种计算机本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种数据处理方法,由同步客户端执行,其特征在于,包括:通过主服务集群,获取多个用户客户端中每个用户客户端对应的对象,所述每个用户客户端对应的对象包括至少一个记录,所述至少一个记录用于表征所述每个用户客户端向所述主服务集群发送的操作请求的相关信息;基于各对象包括的至少一个记录,确定同步记录队列,所述同步记录队列中每个记录按照预设排序规则进行排列;基于所述同步记录队列中每个记录,将所述每个记录对应的数据从所述主服务集群中读出,并将读出的所述每个记录对应的数据写入到备用服务集群中
。2.
根据权利要求1所述的方法,其特征在于,所述通过主服务集群,获取多个用户客户端中每个用户客户端对应的对象,包括:从主服务集群的同步元数据池中,获取用户客户端集合对应的对象队列,所述用户客户端集合中一个用户客户端对应所述对象队列中一个对象,所述用户客户端集合中每一个用户客户端用于向所述主服务集群的文件系统发送操作请求,以使所述文件系统进行相应的操作,所述同步元数据池用于存储所述每一个用户客户端向所述同步元数据池写入的记录;基于所述对象队列,通过筛选处理,确定筛选后的对象队列,所述筛选后的对象队列对应多个用户客户端,所述筛选后的对象队列中每个对象都包括至少一个记录
。3.
根据权利要求2所述的方法,其特征在于,所述基于所述对象队列,通过筛选处理,确定筛选后的对象队列,包括:通过预设线程池中任一线程,确定所述对象队列中任一对象是否存在记录;若确定所述任一对象中存在记录,则将所述任一对象中的记录设置到筛选后的对象队列中
。4.
根据权利要求1所述的方法,其特征在于,所述基于各对象包括的至少一个记录,确定同步记录队列,包括:基于各对象中每个记录对应的键值对和预设排序规则,将各记录进行排序,确定同步记录队列
。5.
根据权利要求4所述的方法,其特征在于,所述各对象中每个记录对应的键值对的键用于表征所述各对象中每个记录对应的时间戳和所述各对象中每个记录对应的数据所在的父目录路径名;所述基于各对象中每个记录对应的键值对和预设排序规则,将各记录进行排序,确定同步记录队列,包括:基于各记录对应的时间戳

所述各记录对应的数据所在的父目录路径名中至少一项,以及预设排序规则,将所述各记录进行排序,并将排序后的各记录进行分发处理,得到同步记录队列;其中,所述各对象中每个记录对应的时间戳用于表征所述每个记录对应的用户客户端向所述主服务集群发送操作请求的时间点,所述键值对的值用于表征所述各对象中每个记录对应的数据所在的父目录路径名

所述各对象中每个记录对应的数据的索引节点和所述操作请求的类型
。6.
根据权利要求5所述的方法,其特征在于,所述将排序后的各记录进行分发处理,得到同步记录队列,包括:
基于排序后的各记录,通过匹配处理,确定与所述排序后的各记录相匹配的预设同步线程池中同步线程,并将与所述预设同步线程池中任一同步线程相匹配的多个记录构成一个同步记录队列,所述排序后的各记录中包括所述多个记录
。7.
根据权...

【专利技术属性】
技术研发人员:葛凯凯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1