数据处理方法以及系统与流程

文档序号:26405773发布日期:2021-08-24 16:20阅读:137来源:国知局
数据处理方法以及系统与流程

本说明书涉及计算机技术领域,特别涉及数据处理方法以及系统。



背景技术:

随着互联网的发展,各种项目在线上的数据量越来越大。当数据量较大,且存储数据的数据存储节点出现故障需要切换时,需要在数据存储节点之间传输全量数据。基于此,可以在数据存储服务与日志服务分离的架构下,通过数据存储空间的版本信息与日志的标识信息进行一致性控制,拉取增量日志的方式减少数据存储节点之间的同步。

然而在这种架构下,对日志进行删除处理的过程中,可能会影响数据的安全性,因此,需要提供更加安全的方案。



技术实现要素:

有鉴于此,本说明书实施例提供了三种数据处理方法。本说明书同时涉及一种数据处理系统,两种数据处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。

根据本说明书实施例的第一方面,提供了第一种数据处理方法,包括:

数据存储节点向日志服务节点发送日志删除请求;

所述日志服务节点接收所述数据存储节点发送的所述日志删除请求,并根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知;

所述数据存储节点接收所述日志服务节点发送的所述数据备份通知,基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点;

所述存储服务节点接收所述数据存储节点上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点发送所述数据的备份路径;

所述数据存储节点接收所述存储服务节点发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录;

所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志。

可选地,所述根据所述日志删除请求,确定待删除日志,包括:

根据所述日志删除请求中携带的标识信息,确定待删除日志;或

响应于所述日志删除请求,获取第一备份记录;根据所述第一备份记录中携带的第一标识信息以及预设日志间隔数量,确定所述待删除日志;或

确定各个数据存储节点的拉取日志标识;根据拉取日志标识的生成时间,确定待删除日志。

可选地,所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志,包括:

所述日志服务节点接收所述数据存储节点反馈的所述备份记录;统计存储的第一备份记录的数量,并在所述数量大于预设数量的情况下,在所述第一备份记录中确定目标备份记录,其中,所述第一备份记录包括所述备份记录;根据所述目标备份记录中携带的标识信息,确定对应的目标日志并删除。

可选地,所述确定对应的目标日志并删除之后,还包括:

将所述目标日志对应的目标备份记录发送至存储服务节点;

所述存储服务节点基于所述目标备份记录,确定待删除的备份数据并进行删除处理;在删除完成的情况下,向所述日志服务节点发送删除通知;

所述日志服务节点接收所述存储服务节点发送的所述删除通知。

可选地,所述日志服务节点接收所述数据存储节点反馈的所述备份记录之后,还包括:

基于所述备份记录生成备份日志;

相应地,所述数据处理方法,还包括:

所述日志服务节点接收第三数据存储节点发送的日志拉取请求;在所述日志拉取请求对应的拉取日志中包含备份日志的情况下,判断包含的备份日志是否为目标备份日志;若否,将所述目标备份日志以及所述目标备份日志之后的日志发送至所述第三数据存储节点。

可选地,所述基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,包括:

基于所述数据备份通知中携带的待删除日志的标识信息,判断是否存在与所述标识信息对应的数据存储空间的版本信息;若否,通过执行所述标识信息对应的日志,对所述数据存储空间中的数据以及所述版本信息进行更新,并将更新后的数据存储空间的数据以及更新后的版本信息确定为待备份的数据存储空间的数据。

可选地,所述确定待备份的数据存储空间的数据之后,还包括:

针对所述待备份的数据存储空间的数据生成第一校验码;

相应地,所述向所述数据存储节点发送所述数据的备份路径,包括:

针对所述数据生成第二校验码;

向所述数据存储节点发送所述数据的备份路径以及所述第二校验码;

相应地,所述根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录,包括:

接收所述存储服务节点发送的针对所述数据的备份路径以及所述第二校验码;在所述第一校验码与所述第二校验码对比一致的情况下,根据所述第一校验码或第二校验码、所述标识信息以及所述数据的备份路径,生成备份记录;向所述日志服务节点反馈所述备份记录。

根据本说明书实施例的第二方面,提供了第二种数据处理方法,应用于日志服务节点,包括:

接收日志删除请求;

根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;

向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;

接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。

可选地,所述根据拉取记录确定对应的数据存储节点,包括:

根据拉取记录中的日志标识以及对应的存储节点标识,确定拉取所述待删除日志的第二数据存储节点;

根据所述拉取记录中的拉取时间从前到后的顺序,对所述第二数据存储节点进行排序;

将排在末位的第二数据存储节点确定为所述数据存储节点。

根据本说明书实施例的第三方面,提供了第三种数据处理方法,应用于数据存储节点,包括:

向日志服务节点发送日志删除请求;

接收所述日志服务节点响应于所述日志删除请求发送的数据备份通知;

基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理;

根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录。

可选地,所述基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理,包括:

所述基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据;

通过将所述数据上传至存储服务节点的方式,对所述数据进行备份处理;

在备份成功的情况下,接收所述存储服务节点发送的所述数据的备份路径。

根据本说明书实施例的第四方面,提供了一种数据处理系统,包括:

数据存储节点、日志服务节点以及存储服务节点;

其中,所述数据存储节点,被配置为向日志服务节点发送日志删除请求;

所述日志服务节点,被配置为接收所述数据存储节点发送的所述日志删除请求;根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知;

所述数据存储节点,被配置为接收所述日志服务节点发送的所述数据备份通知;基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点;

所述存储服务节点,被配置为接收所述数据存储节点上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点发送所述数据的备份路径;

所述数据存储节点,被配置为接收所述存储服务节点发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录。

所述日志服务节点,被配置为接收所述数据存储节点反馈的所述备份记录并删除日志。

根据本说明书实施例的第五方面,提供了第一种数据处理装置,应用于日志服务节点,包括:

接收请求模块,被配置为接收日志删除请求;

确定日志模块,被配置为根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;

发送通知模块,被配置为向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;

接收记录模块,被配置为接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。

根据本说明书实施例的第六方面,提供了第二种数据处理装置,应用于数据存储节点,包括:

发送请求模块,被配置为向日志服务节点发送日志删除请求;

接收通知模块,被配置为接收所述日志服务节点响应于所述日志删除请求发送的数据备份通知;

确定数据模块,被配置为基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理;

反馈记录模块,被配置为根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录。

根据本申请实施例的第七方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述数据处理方法的步骤。

根据本申请实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现所述数据处理方法的步骤。

本说明书提供的数据处理方法,通过数据存储节点、日志服务节点以及存储服务节点相配合,由数据存储节点向日志服务节点发送日志删除请求;所述日志服务节点接收所述数据存储节点发送的所述日志删除请求,并根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知;所述数据存储节点接收所述日志服务节点发送的所述数据备份通知,基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点;所述存储服务节点接收所述数据存储节点上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点发送所述数据的备份路径;所述数据存储节点接收所述存储服务节点发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录;所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志。实现了在日志和数据分离的情况下,将待删除日志对应的数据在存储服务节点进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

附图说明

图1是本说明书一实施例提供的第一种数据处理方法的流程图;

图2是本说明书一个实施例提供的第一种数据处理方法的架构示意图;

图3是本说明书一实施例提供的第二种数据处理方法的流程图;

图4是本说明书一个实施例提供的第三种数据处理方法的流程图;

图5是本说明书一个实施例提供的一种应用于交互场景的数据处理方法的处理流程图;

图6是本说明书一个实施例提供的一种数据处理方法中日志删除策略的示意图;

图7是本说明书一个实施例提供的一种应用于数据恢复场景的数据处理方法的处理流程图;

图8是本说明书一个实施例提供的一种数据处理系统的结构示意图;

图9是本说明书一个实施例提供的第一种数据处理装置的示意图;

图10是本说明书一个实施例提供的第二种数据处理装置的示意图;

图11是本说明书一个实施例提供的一种计算设备的结构框图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

首先,对本说明书一个或多个实施例涉及的名词术语进行解释。

分布式一致性系统:基于一致性协议(如paxos、raft等)实现的分布式一致性系统(如chubby、zookeeper、etcd等)通常在集群中作为基础分布式协调服务存在,一般由奇数个服务器组成。

跨地域:系统中的进程部署在不同地域的服务器上,通过网络互联,例如五个进程分别部署在北京、上海、深圳、杭州、新加坡的服务器上。由于地理位置上距离较远,网络延迟比较高,抖动比较大,造成网络不稳定。

快照和日志:分布式一致性系统中,快照和增量日志构成了全量数据;一致性协议经过多数派同意之后先通过持久化到日志中,然后业务逻辑消费日志信息,形成内存数据结构,并定期将内存数据结构序列化到磁盘上形成快照。

日志压缩(日志删除):当业务逻辑部分生成快照后,此快照数据等同于消费其版本之前所有日志形成的内存数据结构,将此快照前的所有日志数据删除以避免磁盘空间占用的无限增大。

md5信息摘要算法(md5message-digestalgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位的散列值,用于确保信息传输完整一致。

数据恢复:系统接入新的前端服务时,通过获取镜像和日志进行数据恢复。

在本说明书中,提供了三种数据处理方法。本说明书同时涉及一种数据处理系统,两种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。

图1示出了根据本说明书一实施例提供的第一种数据处理方法的流程图,具体包括以下步骤:

步骤102:数据存储节点向日志服务节点发送日志删除请求。

本说明书实施例通过数据存储节点、日志服务节点和存储服务节点相配合实现在数据存储服务(由数据存储节点提供)与日志服务(由日志服务节点提供)分离的状态下,对陈旧的日志的删除处理。

实际应用中,对日志的删除场景中可以包括至少一个数据存储节点和至少一个日志服务节点,而每个数据存储节点从日志服务节点拉取日志的速率不同,并且每个数据存储节点不会存储其他数据存储节点的日志拉取状态。因此,在数据存储服务与日志服务分离的架构下,对陈旧的日志记录进行删除处理,可能会影响数据的安全性,因此,需要制定日志删除策略以提高数据的安全性。

其中,所述数据存储节点,是指包含数据存储空间的计算设备,实际应用中,数据存储节点的数量可以是一个或多个,在数据存储量大并且数据更新频率高的情况下,为了保障数据存取效率,可以采用由多个数据存储节点组成的多个数据存储节点集群进行数据存储,并将各个数据存储节点集群部署在至少两个地理区域,而地理区域可以是以城市、省、或国家等为单位的区域,而每个数据存储节点集群中可以包含至少一个前端服务节点,和至少一个后端的数据存储节点,其中,前端服务节点,用于对外交互(例如与用户交互或与日志服务节点交互),而数据存储节点,用于对数据进行存储、访问和更新等。

所述日志服务节点,是指用于存储日志记录的计算设备,实际应用中,日志服务节点的数量也可以是一个或多个,日志服务节点的部署也可以与上述数据存储节点的部署类似,在此不做赘述,在日志服务节点为多个日志服务节点组成的日志服务集群的情况下,该日志服务集群中的日志服务节点包括一个主日志服务节点,和至少一个从日志服务节点,组成分布式一致性系统,多个日志服务节点之间通过运行分布式一致性协议实现日志一致性,具体的,分布式一致性协议,包括但不限于:paxos协议、zookeeperatomicbroadcast协议、raft协议和chainreplication协议。

存储服务节点,用以存储数据存储节点上传的数据,而数据存储节点向存储服务节点上传数据是为了对数据进行备份,实际应用中,存储服务节点的数量也可以是一个或多个,并且日志服务节点的部署也可以与上述数据存储节点的部署类似,在此不做赘述。

具体的,日志可以理解为用于记录对数据存储空间存储的数据进行变更的数据变更操作,且每一条日记录都存在对应的日志标识,日志序号用于唯一标记一条日志记录。该日志标识可以采用日志序号进行表示,则每增加一条日志,将其对应的日志序号加一。

实际应用中,随着日志存储时间的增长,其使用价值会不断降低,为了避免大量的日志占用日志服务节点的磁盘空间,可以按照设定的日志删除策略(比如按周期、日志条数、用户请求或磁盘空间的占用百分比等),对使用价值低的日志进行删除,从而释放日志服务节点的磁盘空间。

具体实施时,数据存储节点向日志服务节点发送日志删除请求,具体的,数据存储节点向日志服务节点发送日志删除请求的方式是多种多样的,比如,数据存储节点可以根据用户指令向日志服务节点发送日志删除请求,发送日志删除请求的,可以按照预设时间间隔(比如每天、每周等)发送日志删除请求,而各个地区的数据存储节点设置的时间间隔可以不同;此外,日志服务节点也可以按照预设时间间隔触发日志删除请求,或接收用户提交的日志删除请求,在此不做限制。

步骤104:所述日志服务节点接收所述数据存储节点发送的所述日志删除请求,并根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知。

其中,所述数据备份通知中携带所述待删除日志的标识信息。

在数据存储节点向日志服务节点发送日志删除请求的基础上,所述日志服务节点接收该日志删除请求,则根据日志删除请求,确定待删除日志,实际应用中,根据日志删除请求,确定待删除日志的方式是多种多样的,具体的,可以根据在日志删除请求中携带的日志生成时间,确定待删除日志,比如该日志生成时间为2021/2/23日,则确定2020/2/23日之前的日志为待删除日志,此外,还可以根据至少两个数据存储节点中拉取日志最慢的数据存储节点中已拉取日志的日志标识,确定待删除日志,比如该日志标识为0150,则将日志标识0150之前的日志确定为待删除日志。

具体实施时,为了进一步确定待删除日志的灵活性以及多样性,本申请实施例提供的一种可选实施方式中,所述根据所述日志删除请求,确定待删除日志,具体可以采用以下三种方式中任意一种方式进行确定:

1)根据所述日志删除请求中携带的标识信息,确定待删除日志。

具体的,所述标识信息,可以理解为待删除日志中日志生成时间最晚的日志对应的日志标识,而根据该标识信息,则可以将该日志之前的日志全部确定为待删除日志。

此外,所述标识信息,也可以理解为待删除日志中日志生成时间最晚的日志对应的日志标识(比如日志序号),与日志生成时间最早的日志对应的日志标识,所组成的日志标识区间;在标识信息为日志标识区间的情况下,则可以将这两条日志以及这两条日志之间的日志确定为待删除日志。

2)响应于所述日志删除请求,获取第一备份记录;

根据所述第一备份记录中携带的第一标识信息以及预设日志间隔数量,确定所述待删除日志。

其中,第一备份记录,可以理解为日志服务节点中已经存在(存储)的生成时间最晚的备份记录,即上一次执行日志删除请求过程中所确定的备份记录。而备份记录,可以理解为数据存储节点对数据进行备份所记录的信息,具体的,所述备份记录中可以携带有备份数据所存储的备份路径以及所述待删除日志的标识信息。

所述第一标识信息,可以理解为在上一次执行日志删除请求过程中,所确定待删除日志的标识信息。所述预设日志间隔数量,可以理解为预先设置的相邻两次进行数据备份或日志删除所间隔的日志条数,比如该预设日志间隔数量可以为1000条、500条等,在此不做限制。

具体的,根据所述第一备份记录中携带的第一标识信息以及预设日志间隔数量,确定所述待删除日志,则可以根据第一标识信息,确定在上一次执行日志删除请求过程中,所确定的待删除日志中生成时间最晚的日志(也即最新的日志),从而根据上一次待删除日志中生成时间最晚的日志以及预设日志间隔数量,确定待删除日志;此外,在第一标识信息为日志序号的情况下,可以直接将第一标识信息与所述日志间隔数量之和,先确定待删除日志的最新日志序号,并基于待删除日志的最新日志序号,确定待删除日志,比如:将最新日志序号之前的日志,与将上一次待删除日志中生成时间最晚的日志之间的日志,确定为待删除日志。

3)确定各个数据存储节点的拉取日志标识;

根据拉取日志标识的生成时间,确定待删除日志。

具体实施时,可以在接收到日志删除请求的情况下,确定各个数据存储节点最近一次拉取日志的日志标识(即拉取日志标识)。进一步的,在确定拉取日志标识的基础上,根据各个数据存储节点的拉取日志标识的生成时间,可以确定拉取日志标识中的生成时间最晚的拉取日志标识,进一步根据该生成时间最晚的拉取日志标识,确定待删除日志。具体的,可以将该生成时间最晚的拉取日志标识之前的日志确定为待删除日志。

本申请实施例,在接收日志删除请求之后,根据各个数据存储节点的拉取进度最慢的拉取情况,确定待删除日志,避免了还未拉取待删除日志,且所拉取的日志与待删除日志差距较小的数据存储节点,需要通过下载备份数据的方式进行数据同步,增加了同步的时间。

此外,还可以按照实际需要,根据任意时间点的拉取日志标识,确定待删除日志,在此不做限制,增加了确定待删除日志的灵活性。

进一步的,在确定待删除日志的基础上,还需要确定待删除日志是否被拉取过,若待删除日志没有被拉取过,表明该待删除日志还不宜进行删除操作,则不做操作即可;

若待删除日志被拉取过,表明已经有数据存储节点拉取了该待删除日志,也表明该待删除日志存在备份,或上述日志删除请求是有效的,则可以进一步向所述数据存储节点发送数据备份通知,以便在数据备份的基础上进行日志删除。

此外,还可以根据日志拉取过程中记录的拉取记录,确定待删除日志。具体的,拉取记录,可以理解为各个存储节点所拉取日志的确认信息,实际应用中,该拉取记录可以是针对某一条日志(比如待删除日志中生成时间最晚的日志)的拉取情况进行的记录,也可以是针对多条日志记录的拉取情况的记录,此外,还可以是针对每个数据存储节点最近一次拉取情况的记录,在此不做限制。进一步的,根据拉取记录中的记录的日志信息,则可以确定待删除日志是否已被拉取。

在确定待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知。

其中,所述数据备份通知中携带所述待删除日志的标识信息,具体实施时,为了保障日志删除操作的安全性,在对执行日志删除步骤之前,需要先对这些日志对应的数据进行备份,因此,向数据存储节点发送数据备份通知。

步骤106:所述数据存储节点接收所述日志服务节点发送的所述数据备份通知,基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点。

具体的,为了保障待删除日志在数据存储节点中对应的数据的安全性,将执行待删除日志生成的数据作为待备份的数据,并将这些数据上传至存储服务节点进行备份。

而向数据存储节点发送数据备份通知中携带待删除日志的标识信息,可以使数据存储节点可以基于该标识信息确定对应的数据存储空间中数据的版本信息,进而将该版本信息对应的数据进行备份。

其中,数据存储空间可以理解为非关系型数据库、分布式数据库等数据库、数据快照或镜像文件等,用以提供数据存储或数据恢复,且数据存储空间存在对应的版本信息(比如版本标识),版本标识用于标记一个版本的数据存储空间。

具体实施时,本申请实施例提供的一种可选实施方式中,所述基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,具体采用如下方式实现:

基于所述数据备份通知中携带的待删除日志的标识信息,判断是否存在与所述标识信息对应的数据存储空间的版本信息;若否,通过执行所述标识信息对应的日志,对所述数据存储空间中的数据以及所述版本信息进行更新,并将更新后的数据存储空间的数据以及更新后的版本信息确定为待备份的数据存储空间的数据。

实际应用中,日志的标识信息和数据的版本信息之间具有对应关系,以标识信息为标识序号,版本信息为版本序号为例,每一条日志都存在对应的日志序号,日志序号用于唯一标记一条日志。而数据存储节点可以通过执行日志对数据存储空间中的数据和版本序号进行更新,因此每个版本序号与在日志服务节点中都具有对应的日志序号,此外,通过对应关系,可以确定数据存储空间中的数据是执行完哪条日志记录后生成的。

具体实施时,版本序号和日志序号中都可以包含一串可递增的数值,且该数值可以一一对应,比如,在执行通过执行日志序号为“0350”的日志对数据存储空间的数据进行更新之后,数据存储空间的版本序号更新为“0350”,则根据数据存储空间的版本序号,可以知道该数据存储空间是执行日志序号为“0350”的日志生成的。

进一步的,判断是否存在与标识信息对应的数据存储空间的版本信息,可以理解为判断数据存储空间中的数据是否为执行完待删除日志的数据,若是,表明数据存储空间中的数据为执行待删除日志之后的数据,则可以直接将该数据上传至存储服务节点;若否,表明数据存储空间中的数据不是执行待删除日志之后的数据,则需要先执行日志对数据存储空间中的数据以及版本信息进行更新,以便将更新后的数据以及更新后的版本信息确定为待备份的数据存储空间的数据,并上传至存储服务节点,保障了待备份的数据的完整性以及全备性,也保障了删除日志的安全性。

进一步的,本申请实施例提供的一种可选实施方式中,所述确定待备份的数据存储空间的数据之后,还包括:

针对所述待备份的数据存储空间的数据生成第一校验码;

由于在对数据进行备份处理过程中,需要保障备份后的数据与原始数据的一致性,需要对原始数据,即对待备份的数据存储空间的数据生成第一校验码,其中,第一校验码可以是md5校验码、sha1校验码、gpg等,在此不做限制,以便将数据上传至存储服务节点之后,可以针对上传后的数据采用与第一校验码相同的生成方式,再生成一个校验码(即第二校验码),通过两个校验码的比较,确定备份后的数据与原始数据的一致性。

步骤108:所述存储服务节点接收所述数据存储节点上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点发送所述数据的备份路径。

实际应用中,存储服务节点接收数据存储节点上传的数据之后,将数据进行存储(备份),并在存储(备份)成功的情况下,向数据存储节点发送该数据的存储路径(备份路径),以便可以从该备份路径指向的存储位置获取该数据,用以进行数据恢复或数据同步。

在上述数据存储节点针对所述待备份的数据存储空间的数据生成第一校验码的基础上,相应地,所述向所述数据存储节点发送所述数据的备份路径,包括:

针对所述数据生成第二校验码;

向所述数据存储节点发送所述数据的备份路径以及所述第二校验码;

具体的,在数据上传至存储服务节点之后,存储服务节点针对上传的数据生成第二校验码,具体的,该第二校验码,需采用与上述第一校验码一样的生成方式,生成第二校验码,并向数据存储节点发送备份路径的同时发送该第二校验码,以便数据存储节点将该第二校验码与第一校验码进行比对,从而确定上传后的数据(即备份后的数据)与上传前的数据(即原始数据)的一致性。

步骤110:所述数据存储节点接收所述存储服务节点发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录。

具体的,在存储服务节点对上传的数据进行备份之后,向数据存储节点发送所述数据的备份路径,数据存储节点基于待删除日志的标识信息以及该备份路径,向日志服务节点反馈备份记录。

具体的,备份记录,可以理解为对数据进行备份的信息记录,其中,备份记录中可以包括备份路径,标识信息等,以便使日志服务节点基于该备份记录了解备份的详细信息。

进一步的,在上述向所述数据存储节点发送所述数据的备份路径以及所述第二校验码的基础上,相应地,所述根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录,具体采用如下方式实现:

接收所述存储服务节点发送的针对所述数据的备份路径以及所述第二校验码;在所述第一校验码与所述第二校验码对比一致的情况下,根据所述第一校验码或第二校验码、所述标识信息以及所述数据的备份路径,生成备份记录;向所述日志服务节点反馈所述备份记录。

具体的,在数据存储节点接收到存储服务节点发送的第二校验码之后,将第一校验码与第二校验码进行一致性对比,在对比一致的情况下,表明存储服务节点中备份后的数据与数据存储节点中的原始数据是一致的,则根据所述第一校验码或第二校验码、所述标识信息以及所述数据的备份路径,生成备份记录;

在对比不一致的情况下,表明存储服务节点中备份后的数据与数据存储节点中的原始数据是不一致的,则需要重新将数据存储节点中的数据存储空间的数据上传至存储服务节点进行备份处理。

步骤112:所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志。

具体的,在数据存储节点接收到数据备份通知,将待备份的数据上传至存储服务节点进行备份处理之后,则向日志服务节点发送备份记录,以便使日志服务节点基于该备份记录进行日志的删除处理。

具体实施时,本申请实施例提供的一种可选实施方式中,所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志,具体采用如下方式实现:

所述日志服务节点接收所述数据存储节点反馈的所述备份记录;统计存储的第一备份记录的数量,并在所述数量大于预设数量的情况下,在所述第一备份记录中确定目标备份记录,其中,所述第一备份记录包括所述备份记录;根据所述目标备份记录中携带的标识信息,确定对应的目标日志并删除。

实际应用中,为了避免由于删除近期的日志,而导致一些没有拉取这些日志的数据存储节点,需要通过获取备份数据的方式进行同步,而无法通过拉取增量日志,并执行所拉取的增量日志的方式进行同步,从而增加了它们进行同步的时长。本申请实施例,日志服务节点可以在接收到多条备份记录之后,再对日志进行删除处理。

具体的实施时,在接收到备份记录之后,可以统计日志服务节点中所存储的未执行日志删除处理的备份记录(即第一备份记录)的数量,并在该数量大于预设数量(可以理解为预先设置的还未执行对应日志删除处理的备份记录的最大数量,比如3、5等)的情况下,在第一备份记录中确定目标备份记录,其中,所述目标备份记录,可以理解为接收时间最早的备份记录,即最早进行备份处理时生成的备份记录。

所述目标日志,可以理解为目标备份记录中携带的标识信息对应的日志。

具体的,根据目标备份记录中携带的标识信息,确定待删除的目标日志具体实现方式与上述根据标识信息,确定待删除日志的具体实现方式类似,参考上述根据标识信息,确定待删除日志的具体实现即可,在此不做限制。并在确定目标日志之后,将目标日志进行删除处理。

进一步的,本申请实施例提供的一种可选实施方式中,所述确定对应的目标日志并删除之后,还包括:

将所述目标日志对应的目标备份记录发送至存储服务节点;

所述存储服务节点基于所述目标备份记录,确定待删除的备份数据并进行删除处理;在删除完成的情况下,向所述日志服务节点发送删除通知;

所述日志服务节点接收所述存储服务节点发送的所述删除通知。

实际应用中,由于目标日志存在的时间较长,其对应的备份数据也存储的时间较长,此外,后续还备份了新版本的数据,因此,在删除目标日志之后,也可以将目标日志对应的备份数据也进行删除,从而降低存储服务节点中存储空间的占用。

具体实施时,将目标备份记录发送至存储服务节点,以便存储服务节点基于目标备份记录中携带的备份路径,找到该目标备份记录对应的备份数据并删除,且在删除完成之后,向日志服务节点发送删除通知,以使日志服务节点知道该存储服务节点的删除情况。

在删除成功的情况下,删除通知中可以包括表示删除成功的信息或标识,此外,还可能存在删除不成功的情况,则存储服务节点可以在删除通知中添加删除失败的原因等。

具体的,该数据处理方法的架构图如图2所示,具体的,图2中包括:frontend(前端服务,也可以理解为前端服务节点和/或前端服务集群,该前端服务的功能也可以由上述的数据存储节点执行)、镜像服务(snapshotservice,可以理解为由上述的至少一个数据存储节点组成)、三方存储(thirdpartystorage,可以理解为由上述的至少一个存储服务节点组成)以及日志服务(logservice,可以理解为由上述的至少一个日志服务节点组成)。

其中,前端服务,用以响应用户请求,该服务接受用户的请求,如果该请求是读请求,直接从本地镜像服务(localsnapshotservice)中读取,如果该请求是写请求,发送提议(也可以理解为该写请求)到日志服务;同时前端服务还定期从日志服务拉取增量日志,存储到本地镜像服务,该服务没有数量限制,可以全球化部署。如图2所示,存在前端服务节点a,以及前端服务节点b,每一个frontend维护一个当前消费(拉取)日志的游标(日志标识),并不断拉取日志服务中的日志去更新本地镜像服务中的镜像(数据)。其中,本地镜像服务,可以理解为在跨地域场景下,每个区域可以包括至少一个前端服务节点以及至少一个数据存储节点,对于与前端服务节点在同一个区域内的数据存储节点可以统称为本地镜像服务。

镜像服务用以存储结构化数据(即数据存储空间中的数据)的服务,可以是第三方存储服务,也可以由前端的存储服务实现,由前端的存储服务实现的时候可以和frontend运行在同一个进程中,该进程所处的节点统称为数据存储节点。三方存储(thirdpartystorage):存储日志压缩请求(日志删除请求)时的快照副本(数据备份),为了满足系统高效的水平拓展及容灾迁移能力,此三方存储系统需要具有跨地域能力。因此,该三方存储可以使用具有跨地域备份能力的对象存储。

日志服务,是由奇数的日志服务节点组成的一致性服务单元,运行paxos/raft/zab协议对用户传入的写入数据形成一致性决议,并将数据持久化到日志中,该服务部署在多个区域,比如图2中的3个日志服务节点分别为日志服务节点1、日志服务节点2以及日志服务节点3),这3个日志服务节点可以分别部署在北京/上海/深圳。该服务会定期压缩(删除)已经同步好的数据(日志),使服务更加轻量,避免磁盘占用空间的无限扩张。

实际应用中,本申请实施例提供的一种可选实施方式中,所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志之后,还包括:

向第四数据存储节点发送所述备份记录。

其中,所述第四数据存储节点,可以理解为除接收数据备份通知的数据存储节点之外的其他数据存储节点,具体实施时,日志服务节点在接收到备份记录之后,向第四数据存储节点发送该备份记录,以通知其他数据存储节点其日志删除处理。以便第四数据存储节点,可以将该备份记录中的标识信息与已经拉取到的最新日志的标识信息进行对比,在二者相差大于预设差值的情况下,可以使第四数据存储节点直接选择通过该备份记录对应的备份数据进行数据同步,此外,在日志服务节点的删除策略,是删除该备份记录对应的日志数据,且该备份记录中的标识信息与已经拉取到的最新日志的标识信息相比,生成时间更晚的情况下,也可以使第四数据存储节点直接选择通过该备份记录对应的备份数据进行数据同步,从而增加第四数据存储节点数据同步的效率。

此外,若有其他数据存储节点还预备向日志服务节点发送日志删除请求,则在接收到该备份记录的情况下,可以了解到日志服务节点正在响应日志删除指令,或刚完成日志删除处理,则为了避免频繁响应日志删除请求,而浪费计算资源,可以推迟向日志服务节点发送日志删除请求。

具体实施时,本申请实施例提供的一种可选实施方式中,所述日志服务节点接收所述数据存储节点反馈的所述备份记录之后,还包括:

基于所述备份记录生成备份日志;

相应地,所述数据处理方法,还包括:

所述日志服务节点接收第三数据存储节点发送的日志拉取请求;在所述日志拉取请求对应的拉取日志中包含备份日志的情况下,判断包含的备份日志是否为目标备份日志;若否,将所述目标备份日志以及所述目标备份日志之后的日志发送至所述第三数据存储节点。

实际应用中,为了便利对备份记录的拉取、删除等管理,可以基于备份记录生成备份日志,以便与日志进行统一管理。

具体实施时,备份记录中的备份路径可以通过snapshot_addr(镜像地址)表示,备份记录中的标识信息可以采用trimpoint_id(日志压缩点的日志序号)表示,此外,备份记录中还可以包括校验码,用以标识备份前的数据和备份后数据之间一致性,其中,该校验码,可以是上述第一校验码或第二校验码,其中,镜像,可以理解为数据存储空间中的数据,日志压缩点,可以理解为待删除日志中生成时间最晚的日志。

实际应用中,数据存储节点可以通过将需要备份的数据的副本上传至存储服务节点的方式,对数据进行备份,在数据备份前,可以生成该数据的第一校验码,并将数据上传至存储服务节点之后,可以针对上传后的数据采用与第一校验码相同的生成方式,再生成一个校验码(即第二校验码),在将第一校验码与第二校验码对比一致的情况下,表明数据在备份过程中没有出现错误,则在备份记录中记录该第一校验码/第二校验码。

实际应用中,日志服务节点在接收到该备份记录之后,为该记录生成一个日志标识,从而形成备份日志。

具体实施时,该备份日志可以如下表1所示:

表1

其中,表1中的本地镜像可以理解为在数据存储节点中存储的数据存储空间中的数据,而上传镜像,可以理解为在存储服务节点中存储的备份数据。三方存储服务,可以理解为上述存储服务节点。

进一步的,在生成备份日志之后,若除接收数据备份通知的数据存储节点之外的任意一个数据存储节点(即第三数据存储节点)拉取的日志中包含备份日志,则可以判断包含的备份日志是否为目标备份日志(可以理解为生成时间最晚的备份日志),这是考虑到日志服务节点中可能存在多条备份日志,若包含的备份日志为目标备份日志,表明该第三数据存储节点与日志服务节点中最新产生的日志差距较小,则可以通过拉取日志进行同步;

若包含的备份日志不为目标备份日志,表明该第三数据存储节点与日志服务节点中最新产生的日志差距较大,则可以将目标备份日志以及该目标备份日志之后的日志发送至第三数据存储节点,以使该第三数据存储节点基于该目标备份日志下载对应的备份数据对本地数据(数据存储空间中的数据)进行更新(也可以理解为替换),并在更新完成后,执行日志服务节点发送的目标备份日志之后的日志,对更新后的数据存储空间中的数据进行更新。

需要说明的是,为了避免数据拥塞,在日志服务节点或数据存储节点通常针对拉取日志的条数进行了限制,而在出现第三数据存储节点断开之后再恢复重连,或第三数据存储节点为新构建的数据存储节点的情况下,第三数据存储节点若通过日志同步,则需要拉取的日志数量太过庞大,并可能所需要拉取的日志已经被删除。因此,若第三数据存储节点拉取的日志中包含备份日志,且包含的备份日志不是目标备份日志的情况下,则可以使其通过目标备份日志,下载最新的备份数据进行数据更新,提高了数据更新的效率。

综上所述,本说明书提供的数据处理方法,通过数据存储节点、日志服务节点以及存储服务节点相配合,由数据存储节点向日志服务节点发送日志删除请求;所述日志服务节点接收所述数据存储节点发送的所述日志删除请求,并根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知;所述数据存储节点接收所述日志服务节点发送的所述数据备份通知,基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点;所述存储服务节点接收所述数据存储节点上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点发送所述数据的备份路径;所述数据存储节点接收所述存储服务节点发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录;所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志。实现了在日志和数据分离的情况下,将待删除日志对应的数据在存储服务节点进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

本说明书提供的第二种方法实施例与上述方法实施例相对应,本实施例的执行主体为日志服务节点,阅读本实施例时,可与上述方法实施例相对应。图3示出了根据本说明书一实施例提供的第二种数据处理方法的流程图,具体包括以下步骤:

步骤302:接收日志删除请求。

本说明书方法实施例的执行主体是日志服务节点,本说明书另一个方法实施例的执行主体是数据存储节点,本说明书通过日志服务节点和数据存储节点相配合实现在数据存储服务(由数据存储节点提供)与日志服务(由日志服务节点提供)分离的状态下,对陈旧的日志的删除处理。

实际应用中,各个数据存储节点拉取日志的速率不同,并且各个数据存储节点不会存储其他数据存储节点的日志拉取状态。因此,在数据存储服务与日志服务分离的架构下,对陈旧的日志记录进行删除处理,可能会影响数据的安全性,因此,需要制定日志删除策略以提高数据的安全性。

其中,所述数据存储节点,是指包含数据存储空间的计算设备,实际应用中,数据存储节点的数量可以是一个或多个,在数据存储量大并且数据更新频率高的情况下,为了保障数据存取效率,可以采用由多个数据存储节点组成的多个数据存储节点集群进行数据存储,并将各个数据存储节点集群部署在至少两个地理区域,而地理区域可以是以城市、省、或国家等为单位的区域,而每个数据存储节点集群中可以包含至少一个前端服务节点,和至少一个后端的数据存储节点,其中,前端服务节点,用于对外交互(例如与用户交互或与日志服务节点交互),而数据存储节点,用于对数据进行存储、访问和更新等。

所述日志服务节点,是指用于存储日志记录的计算设备,实际应用中,日志服务节点的数量也可以是一个或多个,日志服务节点的部署与上述数据存储节点的部署类似,在此不做赘述,在日志服务节点为多个日志服务节点组成的日志服务集群的情况下,该日志服务集群中的日志服务节点包括一个主日志服务节点,和至少一个从日志服务节点,多个日志服务节点之间通过运行分布式一致性协议实现日志一致性,具体的,分布式一致性协议,包括但不限于:paxos协议、zookeeperatomicbroadcast协议、raft协议和chainreplication协议。

具体的,日志可以理解为用于记录对数据存储空间存储的数据进行变更的数据变更操作,且每一条日记录都存在对应的日志标识,日志序号用于唯一标记一条日志记录。该日志标识可以采用日志序号进行表示,则每增加一条日志,将其对应的日志序号加一。

实际应用中,随着日志存储时间的增长,其使用价值会不断降低,为了避免大量的日志占用日志服务节点的磁盘空间,可以按照设定的日志删除策略(比如按周期、日志条数、用户请求或磁盘空间的占用百分比等),对使用价值低的日志进行删除,从而释放日志服务节点的磁盘空间。

具体实施时,为了增加日志删除触发的灵活性,本申请实施例提供的一种可选实施方式中,所述接收日志删除请求,具体采用如下方式实现:

接收第一数据存储节点发送的日志删除请求;或

接收按照预设时间间隔触发的日志删除请求。

实际应用中,可以由第一数据存储节点(可以理解为任意一个数据存储节点)发送日志删除请求,也可以由日志服务节点触发日志删除请求,在此不做限制;具体的,第一数据存储节点或日志服务节点触发日志删除请求的方式是多种多样的,比如,第一数据存储节点可以根据用户指令向日志服务节点发送日志删除请求,发送日志删除请求的,可以按照预设时间间隔(比如每天、每周等)发送日志删除请求,而各个地区的第一数据存储节点设置的时间间隔可以不同;此外,日志服务节点也可以按照预设时间间隔触发日志删除请求,或接收用户提交的日志删除请求,在此不做限制。

步骤304:根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点。

在接收日志删除请求的基础上,还可以根据日志删除请求,确定待删除日志,实际应用中,根据日志删除请求,确定待删除日志的方式是多种多样的,具体的,可以根据在日志删除请求中携带的日志生成时间,确定待删除日志,比如该日志生成时间为2021/2/23日,则确定2020/2/23日之前的日志为待删除日志,此外,还可以根据至少两个数据存储节点中拉取日志最慢的数据存储节点中已拉取日志的日志标识,确定待删除日志,比如该日志标识为0150,则将日志标识0150之前的日志确定为待删除日志。

具体实施时,为了进一步确定待删除日志的灵活性以及多样性,本申请实施例提供的一种可选实施方式中,所述根据所述日志删除请求,确定待删除日志,具体可以采用以下三种方式中任意一种方式进行确定:

1)根据所述日志删除请求中携带的标识信息,确定待删除日志。

2)响应于所述日志删除请求,获取第一备份记录;

根据所述第一备份记录中携带的第一标识信息以及预设日志间隔数量,确定所述待删除日志。

3)确定各个数据存储节点的拉取日志标识;

根据拉取日志标识的生成时间,确定待删除日志。

具体实施时,三种方式的具体实现与上述方法实施例中的根据所述日志删除请求,确定待删除日志的具体实现类似,参考上述方法实施例中的具体实现即可,在此不做赘述。

本申请实施例,在接收日志删除请求之后,根据各个数据存储节点的拉取进度最慢的拉取情况,确定待删除日志,避免了还未拉取待删除日志,且所拉取的日志与待删除日志差距较小的数据存储节点,需要通过下载备份数据进行数据同步,增加了同步的时间。

此外,还可以按照实际需要,根据任意时间点的拉取日志标识,确定待删除日志,在此不做限制,增加了确定待删除日志的灵活性。

进一步的,在确定待删除日志的基础上,还需要确定待删除日志是否被拉取过,若待删除日志没有被拉取过,表明该待删除日志还不宜进行删除操作,则不做操作即可;

若待删除日志被拉取过,表明已经有数据存储节点拉取了该待删除日志,也表明该待删除日志存在备份,或上述日志删除请求是有效的,则可以进一步确定用以进行数据备份的数据存储节点,以便在数据备份的基础上进行日志删除。

再进一步的,还可以根据日志拉取过程中记录的拉取记录,确定待删除日志。具体的,拉取记录,可以理解为各个存储节点所拉取日志的确认信息,实际应用中,该拉取记录可以是针对某一条日志(比如待删除日志中生成时间最晚的日志)的拉取情况进行的记录,也可以是针对多条日志记录的拉取情况的记录,此外,还可以是针对每个数据存储节点最近一次拉取情况的记录,在此不做限制。进一步的,根据拉取记录中的记录的日志信息,则可以确定已被拉取的待删除日志。

具体实施时,本申请实施例提供的一种可选实施方式中,所述根据拉取记录确定对应的数据存储节点,具体采用如下方式实现:

根据拉取记录中的日志标识以及对应的存储节点标识,确定拉取所述待删除日志的第二数据存储节点;

按照预设规则从所述第二数据存储节点中确定所述数据存储节点。

实际应用中,拉取记录中可以包括日志标识以及拉取该日志标识对应的日志的存储节点标识,则根据这些信息,即可确定所有的拉取过待删除日志的数据存储节点(即第二数据存储节点)。在确定第二数据存储节点的基础上,则可以按照预设规则从第二数据存储节点中确定用以进行数据备份的数据存储节点。

具体的,预设规则,是指预先设置的选择数据存储节点的规则,比如,该预设规则可以是随机选取,也可以是选取存储节点标识最小的数据存储节点、此外,还可以选取磁盘空间最小的数据存储节点等,在此不做限制。

本申请实施例,在拉取过待删除日志的第二数据存储节点中确定数据存储节点,保障了日志删除操作的安全性。

进一步的,本申请实施例提供的一种可选实施方式中,所述按照预设规则从所述第二数据存储节点中确定所述数据存储节点,具体采用如下方式实现:

根据所述拉取记录中的拉取时间从前到后的顺序,对所述第二数据存储节点进行排序;

将排在末位的第二数据存储节点确定为所述数据存储节点。

实际应用中,由于各个数据存储节点对日志的拉取速率不同,因此,可以根据针对待删除日志的拉取时间的先后顺序(即从前到后的顺序)对第二数据存储节点进行排序,即把拉取进度快的第二数据存储节点排在前面,将拉取速度慢的第二数据存储节点排在后面。因此,将排在末位的第二数据存储节点确定为数据存储节点,可以理解为将拉取进度最慢的第二数据存储节点确定为数据存储节点。

本申请实施例,根据已拉取待删除日志的第二数据存储节点的拉取时间,将拉取进度最慢的第二数据存储节点确定为数据存储节点,以避免影响其他需要快速拉取日志的数据存储节点的拉取效率。

需要说明的是,在日志删除请求由数据存储节点发送的情况下,发送日志删除请求的数据存储节点可以与确定进行数据备份的存储节点为不同的节点,也可以为相同的节点,在此不做限制。

步骤306:向所述数据存储节点发送数据备份通知。

其中,所述数据备份通知中携带所述待删除日志的标识信息,具体实施时,为了保障日志删除操作的安全性,在对执行日志删除步骤之前,需要先对这些日志对应的数据进行备份,因此,向数据存储节点发送数据备份通知。

而向数据存储节点发送数据备份通知中携带待删除日志的标识信息,可以使数据存储节点可以基于该标识信息确定对应的数据存储空间中数据的版本信息,进而将该版本信息对应的数据进行备份。

其中,数据存储空间可以理解为非关系型数据库、分布式数据库等数据库、数据快照或镜像文件等,用以提供数据存储或数据恢复,且数据存储空间存在对应的版本信息(比如版本标识),版本标识用于标记一个版本的数据存储空间。

具体实施时,可以构建日志的标识信息和数据的版本信息之间的对应关系,以标识信息为标识序号,版本信息为版本序号为例,每一条日志都存在对应的日志序号,日志序号用于唯一标记一条日志,实际应用中,数据存储节点可以通过执行日志对数据存储空间中的数据和版本序号进行更新,因此每个版本序号与在日志服务节点中都具有对应的日志序号,此外,可以通过对应关系,确定数据存储空间中的数据是执行完哪条日志记录后生成的。

实际应用中,版本序号和日志序号中都可以包含一串可递增的数值,且该数值可以一一对应,比如,在执行通过执行日志序号为“0350”的日志对数据存储空间的数据进行更新之后,数据存储空间的版本序号更新为“0350”,则根据数据存储空间的版本序号,可以知道该数据存储空间是执行日志序号为“0350”的日志生成的。

步骤308:接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志。

其中,所述备份记录中携带有备份数据存储的备份路径以及所述待删除日志的标识信息。

具体的,在数据存储节点接收到数据备份通知进行备份处理之后,向日志服务节点发送备份记录,以便使日志服务节点基于该备份记录进行日志的删除处理。

实际应用中,本申请实施例提供的一种可选实施方式中,所述接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录之后,还包括:

向第四数据存储节点发送所述备份记录。

其中,所述第四数据存储节点,可以理解为除数据存储节点之外的其他数据存储节点,具体实施时,日志服务节点在接收到备份记录之后,向第四数据存储节点发送该备份记录,以通知其他数据存储节点其日志删除处理。以便第四数据存储节点,可以将该备份记录中的标识信息与已经拉取到的最新日志的标识信息进行对比,在二者相差大于预设差值的情况下,可以使第四数据存储节点直接选择通过该备份记录对应的备份数据进行数据同步,此外,在日志服务节点的删除策略,是删除该备份记录对应的日志数据,且该备份记录中的标识信息与已经拉取到的最新日志的标识信息相比,生成时间更晚的情况下,也可以使第四数据存储节点直接选择通过该备份记录对应的备份数据进行数据同步,从而增加第四数据存储节点数据同步的效率。

此外,若有其他数据存储节点还预备向日志服务节点发送日志删除请求,则在接收到该备份记录的情况下,可以了解到日志服务节点正在响应日志删除指令,或刚完成日志删除处理,则为了避免频繁响应日志删除请求,而浪费计算资源,可以推迟向日志服务节点发送日志删除请求。

具体实施时,为了避免本申请实施例提供的一种可选实施方式中,所述接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,具体采用如下方式实现:

接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录;

统计存储的第一备份记录的数量,并在所述数量大于预设数量的情况下,在所述第一备份记录中确定目标备份记录,其中,所述第一备份记录包括所述备份记录;

根据所述目标备份记录中携带的标识信息,确定对应的目标日志并删除。

实际应用中,为了避免由于删除近期的日志,而导致一些没有拉取这些日志的数据存储节点,需要通过获取备份数据的方式进行同步,而无法通过拉取增量日志,并执行所拉取的增量日志的方式进行同步,从而增加了它们进行同步的时长。本申请实施例,可以在接收到多条备份记录之后,再对日志进行删除处理。

具体的实施时,在接收到备份记录之后,可以统计日志服务节点中所存储的未执行日志删除处理的备份记录(即第一备份记录)的数量,并在该数量大于预设数量(可以理解为预先设置的还未执行对应日志删除处理的备份记录的最大数量,比如3、5等)的情况下,在第一备份记录中确定目标备份记录,其中,所述目标备份记录,可以理解为接收时间最早的备份记录,即最早进行备份处理的备份记录。

所述目标日志,可以理解为目标备份记录中携带的标识信息对应的日志。

具体的,根据目标备份记录中携带的标识信息,确定待删除的目标日志具体实现方式与上述根据标识信息,确定待删除日志的具体实现方式类似,参考上述根据标识信息,确定待删除日志的具体实现即可,在此不做限制。并在确定目标日志之后,将目标日志进行删除处理。

进一步的,本申请实施例提供的一种可选实施方式中,所述确定对应的目标日志并删除之后,还包括:

将所述目标日志对应的目标备份记录发送至存储服务节点;

接收所述存储服务节点基于所述目标备份记录发送的删除通知,其中,所述删除通知为所述存储服务节点基于所述目标备份记录删除对应的备份数据后发送的通知。

其中,存储服务节点,用以存储各个版本的备份数据,实际应用中,由于目标日志存在的时间较长,其对应的备份数据也存储的时间较长,此外,后续还备份了新版本的数据,因此,在删除目标日志之后,也可以将目标日志对应的备份数据也进行删除,从而降低存储服务节点中空间占用。

具体实施时,将目标备份记录发送至存储服务节点,以便存储服务节点基于目标备份记录中携带的备份路径,找到该目标备份记录对应的备份数据并删除,且在删除完成之后,向日志服务节点发送删除通知,以使日志服务节点知道该存储服务节点的删除情况。

在删除成功的情况下,删除通知中可以包括表示删除成功的信息或标识,此外,还可能存在删除不成功的情况,则存储服务节点可以在删除通知中添加删除失败的原因等。

具体的,该数据处理方法的架构图如图2所示,具体的,图2中包括:frontend(前端服务,也可以理解为前端服务节点和/或前端服务集群,该前端服务的功能也可以由上述的数据存储节点执行)、镜像服务(snapshotservice,可以理解为由上述的至少一个数据存储节点组成)、三方存储(thirdpartystorage,可以理解为由上述的至少一个存储服务节点组成)以及日志服务(logservice,可以理解为由上述的至少一个日志服务节点组成)。

其中,前端服务,用以响应用户请求,该服务接受用户的请求,如果该请求是读请求,直接从本地镜像服务(localsnapshotservice)中读取,如果该请求是写请求,发送提议(也可以理解为该写请求)到日志服务;同时前端服务还定期从日志服务拉取增量日志,存储到本地镜像服务,该服务没有数量限制,可以全球化部署。如图2所示,存在前端服务节点a,以及前端服务节点b,每一个frontend维护一个当前消费(拉取)日志的游标(日志标识),并不断拉取日志服务中的日志去更新本地镜像服务中的镜像(数据)。其中,本地镜像服务,可以理解为在跨地域场景下,每个区域可以包括至少一个前端服务节点以及至少一个数据存储节点,对于与前端服务节点在同一个区域内的数据存储节点可以统称为本地镜像服务。

镜像服务用以存储结构化数据(即数据存储空间中的数据)的服务,可以是第三方存储服务,也可以由前端的存储服务实现,由前端的存储服务实现的时候可以和frontend运行在同一个进程中,该进程所处的节点统称为数据存储节点。三方存储(thirdpartystorage):存储日志压缩请求(日志删除请求)时的快照副本(数据备份),为了满足系统高效的水平拓展及容灾迁移能力,此三方存储系统需要具有跨地域能力。因此,该三方存储可以使用具有跨地域备份能力的对象存储。

日志服务,是由奇数的日志服务节点组成的一致性服务单元,运行paxos/raft/zab协议对用户传入的写入数据形成一致性决议,并将数据持久化到日志中,该服务部署在多个区域,比如图2中的3个日志服务节点分别为日志服务节点1、日志服务节点2以及日志服务节点3),这3个日志服务节点可以分别部署在北京/上海/深圳。该服务会定期压缩(删除)已经同步好的数据(日志),使服务更加轻量,避免磁盘占用空间的无限扩张。

具体实施时,本申请实施例提供的一种可选实施方式中,所述接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录之后,还包括:

基于所述备份记录生成备份日志;

相应地,所述数据处理方法,还包括:

接收第三数据存储节点发送的日志拉取请求;

在所述日志拉取请求对应的拉取日志中包含备份日志的情况下,判断包含的备份日志是否为目标备份日志;

若否,将所述目标备份日志以及所述目标备份日志之后的日志发送至所述第三数据存储节点。

实际应用中,为了便利对备份记录的拉取、删除等管理,可以基于备份记录生成备份日志,以便与日志进行统一管理。

具体实施时,备份记录中的备份路径可以通过snapshot_addr(镜像地址)表示,备份记录中的标识信息可以采用trimpoint_id(日志压缩点的日志序号)表示,此外,备份记录中还可以包括校验码,用以标识备份前的数据和备份后数据之间一致性,其中,该校验码,可以是md5校验码,其中,镜像,可以理解为数据存储空间中的数据,日志压缩点,可以理解为待删除日志中生成时间最晚的日志。

实际应用中,数据存储节点可以通过将需要备份的数据的副本上传至存储服务节点的方式,对数据进行备份,在数据备份前,可以生成该数据的第一校验码,并将数据上传至存储服务节点之后,可以针对上传后的数据采用与第一校验码相同的生成方式,再生成一个校验码(即第二校验码),在将第一校验码与第二校验码对比一致的情况下,表明数据在备份过程中没有出现错误,则在备份记录中记录该第一校验码/第二校验码。

实际应用中,日志服务节点在接收到该备份记录之后,为该记录生成一个日志标识,从而形成备份日志。

具体实施时,该备份日志可以如上表1所示。

其中,表1中的本地镜像可以理解为在数据存储节点中存储的数据存储空间中的数据,而上传镜像,可以理解为在存储服务节点中存储的备份数据。三方存储服务,可以理解为上述存储服务节点。

进一步的,在生成备份日志之后,若除数据存储节点之外的任意一个数据存储节点(即第三数据存储节点)拉取的日志中包含备份日志,则可以判断包含的备份日志是否为目标备份日志(可以理解为生成时间最晚的备份日志),这是考虑到日志服务节点中可能存在多条备份日志,若包含的备份日志为目标备份日志,表明该第三数据存储节点与日志服务节点中最新产生的日志差距较小,则可以通过拉取日志进行同步;

若包含的备份日志不为目标备份日志,表明该第三数据存储节点与日志服务节点中最新产生的日志差距较大,则可以将目标备份日志以及该目标备份日志之后的日志发送至第三数据存储节点,以使该第三数据存储节点基于该目标备份日志下载对应的备份数据对本地数据(数据存储空间中的数据)进行更新(也可以理解为替换),并在更新完成后,执行日志服务节点发送的目标备份日志之后的日志,对更新后的数据存储空间中的数据进行更新。

需要说明的是,为了避免数据拥塞,在日志服务节点或数据存储节点通常针对拉取日志的条数进行了限制,而在出现第三数据存储节点断开之后再恢复重连,或第三数据存储节点为新构建的数据存储节点的情况下,第三数据存储节点若通过日志同步,则需要拉取的日志数量太过庞大,并可能所需要拉取的日志已经被删除。因此,若第三数据存储节点拉取的日志中包含备份日志,且包含的备份日志不是目标备份日志的情况下,则可以使其通过目标备份日志,下载最新的备份数据进行数据更新,提高了数据更新的效率。

本说明书提供的数据处理方法,执行主体是日志服务节点,通过与数据存储节点相配合,接收日志删除请求;根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。实现了将待删除日志对应的数据进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

本说明书提供的第三种方法实施例与上述方法实施例相对应,本实施例的执行主体为数据存储节点,而上述第二种数据处理方法实施例的执行主体是日志服务节点,两个实施例相互配合实现在数据存储服务(由数据存储节点提供)与日志服务(由日志服务节点提供)分离的状态下,通过执行新增的日志记录,对数据存储装置中存储的数据进行更新,阅读本实施例时,可与上述方法实施例相对应。图4示出了根据本说明书一个实施例提供的第三种数据处理方法的流程图,具体包括以下步骤:

步骤402:向日志服务节点发送日志删除请求。

具体的,数据存储节点可以按照预设时间间隔向日志服务节点发送日志删除请求,以便对日志服务节点中日志进行定期删除。

需要说明的是,本方法实施例中数据存储节点,可以包括:上述方法实施例中的数据存储节点以及除该数据存储节点之外的其他数据存储节点。

实际应用中,该日志删除请求中,可以指定待删除日志,比如通过标识信息进行指定,此外,也可以由日志服务节点决定待删除日志,在此不做限制。

步骤404:接收所述日志服务节点响应于所述日志删除请求发送的数据备份通知。

在日志服务节点同意该日志删除请求之后,可以向数据存储服务节点发送数据备份通知。

步骤406:基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理。

可选地,所述基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理,包括:

所述基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据;

通过将所述数据上传至存储服务节点的方式,对所述数据进行备份处理;

在备份成功的情况下,接收所述存储服务节点发送的所述数据的备份路径。

具体的,将数据上传至存储服务节点,可以理解为将数据的副本上传至存储服务节点。

可选地,所述基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据,包括:

基于所述数据备份通知中携带的待删除日志的标识信息,判断是否存在与所述标识信息对应的数据存储空间的版本信息;

若否,通过执行所述标识信息对应的日志,对所述数据存储空间中的数据以及所述版本信息进行更新,并将更新后的数据存储空间的数据以及更新后的版本信息确定为待备份的数据存储空间的数据。

步骤408:根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录。

可选地,所述确定待备份的数据存储空间的数据之后,还包括:

针对所述待备份的数据存储空间的数据生成第一校验码;

相应地,所述根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录,包括:

接收所述存储服务节点发送的针对所述数据的备份路径以及第二校验码;

在所述第一校验码与所述第二校验码对比一致的情况下,根据所述第一校验码或第二校验码、所述标识信息以及所述数据的备份路径,生成备份记录;

向所述日志服务节点反馈所述备份记录。

可选地,所述数据处理方法,还包括:

向所述日志服务节点发送日志拉取请求;

接收所述日志服务节点响应于所述日志拉取请求发送的目标备份日志以及所述目标备份日志之后的日志;

基于所述目标备份日志中的备份路径下载对应的数据;

根据下载的数据以及所述目标备份日志之后的日志更新所述数据存储空间中的数据。

综上所述,本说明书提供的数据处理方法,执行主体是数据存储节点,通过与日志服务节点相配合,向日志服务节点发送日志删除请求;接收所述日志服务节点响应于所述日志删除请求发送的数据备份通知;基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理;根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录。实现了将待删除日志对应的数据进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

下述结合附图5,以本说明书提供的数据处理方法在交互场景中的应用为例,对所述数据处理方法进行进一步说明。其中,图5示出了本说明书一实施例提供的一种应用于交互场景中的数据处理方法的处理流程图,具体包括以下步骤:

步骤502:前端服务节点(前端服务)向数据存储节点(镜像服务)发送落盘请求,生成本地镜像。

具体的,在当一个区域内的前端服务节点(frontend)均消费(拉取)日志到达trimpoint_id(日志压缩点的日志序号,可以理解为上述方法实施例中待删除日志中生成时间最晚的日志的标识信息)处,最后确认消费到trimpoint_id处的frontend便开始进行日志压缩。

具体的,先更新本地镜像存储(数据存储节点)中的镜像(数据),可以理解为本地镜像落盘,即通过执行拉取的日志,对镜像文件进行更新。

步骤504:数据存储节点向前端服务节点发送落盘响应,本地镜像落盘。

步骤506:数据服务节点向存储服务节点发送上传请求,上传本地镜像。

本地镜像存储镜像落盘后上传镜像至三方存储(可以理解为上述实施例中的存储服务节点)。

步骤508:存储服务节点向数据存储节点发送上传响应,镜像上传成功。

三方存储落盘后,向本地镜像服务返回其镜像地址(snapshot_addr,可以理解为上述方法实施例中的备份路径),表示镜像上传成功。

步骤510:前端服务节点向日志服务节点(日志服务)提交日志请求,请求中携带压缩(删除)日志操作的日志。

本地镜像服务收到携带三方服务镜像地址的响应消息后,通过存储镜像和本地镜像校验码对比,相同则开始执行trimlog(备份日志)的提交,其中,备份日志即为压缩日志操作的日志。

步骤512:日志服务节点之间针对日志压缩操作达成一致。

步骤514:日志服务节点向前端服务节点提交日志响应,压缩日志操作的日志提交成功。

步骤516:日志服务端进行日志压缩。

具体实施时,当日志服务达成一致时,日志服务中接受此日志的一致性节点启动日志压缩流程,压缩trimpoint_id之前的日志。

由于将日志压缩操作也作为日志提交给日志服务,并达成一致,所以日志服务不需要感知各个区域frontend的日志消费状态,且在日志压缩的整个过程中,系统均可对外提供读写服务。

步骤518:前端服务节点向存储服务节点发送压缩请求,压缩本地日志。

步骤520:存储服务节点向前端服务节点发送请求响应,本地压缩日志操作成功。

由于顺序的日志提交,当其他区域frontend收到对应trimlog时,其id是一定大于trimpoint_id的,此时其只需要对本地日志进行压缩,并延后本区域frontend提交trim(删除)操作,以确保trimpoint生成的间隔不会过于密集,此处间隔有配置文件设定,与本地日志自行trim的间隔相似,以尽可能使用本地镜像服务已生成的镜像上传。本地镜像与oss上存储镜像——即日志中保存的trimlog数目保持一致,日志服务清理日志时同时通知存储服务节点清理废弃的镜像。

具体实施时,上述数据处理方法中日志删除策略,可以如图6所示,一个区域内所连接的frontend(如图6中区域2中的2a、2b前端服务)都已经消费到一定数目的日志——即与上一个trimpoint的id(标识)相差一定范围,最后确认消费进度的前端服务根据日志拉取过程中获取的本区域内消费进度最慢的前端服务节点(2a)的位置并提交日志删除(trim)请求,其trimpoint_id为2a所确认消费的日志位置,本地镜像服务开始保存镜像,之后将镜像上传至三方存储,而后提交压缩日志操作的备份日志(trimlog)到日志服务(日志服务节点),待日志服务节点中的多数派同意后接受此条trimlog后,日志服务节点便可以压缩trimlog中压缩点之前的所有日志,实际设计中日志服务节点会收到多条trimlog再执行压缩,避免比日志压缩点落后差距较小的frontend走镜像同步而不是日志同步。

综上所述,本说明书提供的数据处理方法,通过数据存储节点、日志服务节点以及存储服务节点相配合,由数据存储节点向日志服务节点发送日志删除请求;所述日志服务节点接收所述数据存储节点发送的所述日志删除请求,并根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,向所述数据存储节点发送数据备份通知;所述数据存储节点接收所述日志服务节点发送的所述数据备份通知,基于所述数据备份通知中携带的所述待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点;所述存储服务节点接收所述数据存储节点上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点发送所述数据的备份路径;所述数据存储节点接收所述存储服务节点发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点反馈备份记录;所述日志服务节点接收所述数据存储节点反馈的所述备份记录并删除日志。实现了在日志和数据分离的情况下,将待删除日志对应的数据在存储服务节点进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

下述结合附图7,以本说明书提供的数据处理方法在数据恢复场景中的应用为例,对所述数据处理方法进行进一步说明。其中,图7示出了本说明书一实施例提供的一种应用于数据恢复场景的数据处理方法的处理流程图,具体包括以下步骤:

步骤702:前端服务节点(前端服务)向日志服务节点(日志服务)发送日志拉取请求,拉取日志。

具体的,新连入的frontend(可以理解为新加入前端服务的前端服务节点)先不断从日志服务拉取日志并上传至本地镜像服务。

步骤704:日志服务节点进行日志响应,向前端服务节点返回日志。

步骤706:前端服务节点向数据存储节点(镜像服务)发送日志上传请求,并上传日志。

在上传的日志不为trimlog的情况下,执行下述步骤708-步骤710。

步骤708:数据存储节点接收日志之后,缓存日志。

具体的,若拉取到日志id(标识)从1开始或者id小于本地镜像服务的日志,即说明系统未进行过trim(删除)操作或保存的镜像版本小于本地,直接正常应用日志即可。

若拉取到的日志id不从1开始或与本地版本id(数据存储空间的版本信息,比如版本标识)存在间隔,则本地镜像服务需要缓存此部分日志。

步骤710:数据存储节点向前端服务节点发送镜像响应,日志缓存成功。

在上传的日志为trimlog的情况下,执行下述步骤712-步骤720。

步骤712:数据存储节点向存储服务节点发送拉取镜像请求,并根据备份地址(备份路径)拉取。

具体的,当日志拉取到trimlog时,frontend通知本地镜像服务去拉取三方存储上trimlog中的snapshot_addr对应的镜像文件,同时frontend可以继续拉取日志服务上的日志,存入镜像服务的日志缓存队列。

在日志服务存在多个trimlog的情况下,此部分也可以直接根据后端返回的最新trimlog对应的trimpoint_id进行数据拉取。

需要说明的是,除去此种failover(故障)重连和水平拓展(新增节点)情况外,frontend拉取后端返回日志时,若本地日志消费id与后端trimlog相差太远时,也会触发拉取镜像的数据恢复模式,以尽快获取最新数据对外提供服务。

步骤714:存储服务节点向数据存储节点发送拉取响应,返回对应版本镜像文件。

步骤716:数据存储节点向前端服务节点发送镜像响应,已拉取镜像。

步骤718:数据存储节点根据镜像和本地缓存日志构建本地镜像。

步骤720:数据存储节点向前端服务节点发送镜像响应,本地存在镜像,可提供服务。

当本地镜像服务拉取到三方存储上的镜像副本后,进行文件md5校验码与snapshot_md5的对比,确定frontend便拥有能正确提供服务的镜像,待镜像服务根据镜像和缓存日志恢复数据后,便通知frontend可以对外提供服务。

在此种日志镜像分离的系统中,如果依托日志服务管理所有frontend节点,势必造成其管理信息日志也存储在整体日志中,frontend的加入退出等信息会干扰日志服务,且新加入frontend需要获取到最新的全局日志消费日志,才能决定去哪个frontend拉取镜像,如果另外依托一个跨地域的一致性系统来维护全局前端日志消费情况的数据结构,则与本系统解决跨地域问题的日志镜像解耦思路相违背。而通过本申请可以基于引入三方存储系统来针对日志镜像解耦架构所设计的日志压缩机制,日志服务仍然只需要维护增量日志,通过日志提交顺序性保证trimlog中的trimpoint_id一定小于id,保证系统不会丢数据。通过trimpoint选取一定是在本地全局frontend全都确认消费到的日志点,避免本地仅仅只落后于trimpoint_id的frontend执行拉取镜像而不是直接同步日志。通过后端多次收到trimlog再进行日志压缩操作,来保证各个地域frontend大部分情况下可以走更快速的通过日志的数据同步方式。

针对frontendfailover重连恢复和水平拓展时追数据的情况,在此种日志压缩的机制下,可以依托三方存储系统的跨地域能力,来实现日志服务对其他区域frontend消费状态无感知情况下,新加入frontend可以快速拉取镜像而后提供服务。

综上所述,本说明书提供的数据处理方法,通过日志服务节点与数据存储节点相配合,接收日志删除请求;根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。实现了将待删除日志对应的数据进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

本说明书提供的一种系统实施例与上述方法实施例相对应,阅读本实施例时,可与上述方法实施例相对应。图8示出了根据本说明书一个实施例提供的一种数据处理系统的结构示意图。

所述数据处理系统,包括:

数据存储节点802、日志服务节点804以及存储服务节点806;

其中,所述数据存储节点802,被配置为向日志服务节点804发送日志删除请求;

所述日志服务节点804,被配置为接收所述数据存储节点802发送的所述日志删除请求;根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点802;向所述数据存储节点802发送数据备份通知;

所述数据存储节点802,被配置为接收所述日志服务节点804发送的所述数据备份通知;基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据,并将所述数据上传至存储服务节点806;

所述存储服务节点806,被配置为接收所述数据存储节点802上传的所述数据,对所述数据进行备份处理,并在备份成功的情况下,向所述数据存储节点802发送所述数据的备份路径;

所述数据存储节点802,被配置为接收所述存储服务节点806发送的所述备份路径,并根据所述标识信息以及所述备份路径向所述日志服务节点804反馈备份记录。

所述日志服务节点804,被配置为接收所述数据存储节点802反馈的所述备份记录并删除日志。

可选的,在所述数据存储节点802为多个的情况下,数据存储节点802,包括至少一个前端服务节点以及至少一个后端的数据存储节点。

综上所述,本说明书提供的数据处理系统,通过日志服务节点与数据存储节点相配合,接收日志删除请求;根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。实现了将待删除日志对应的数据进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

上述为本实施例的一种数据处理系统的示意性方案。需要说明的是,该数据处理系统的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理系统的技术方案未详细描述的细节内容,均可以参见上述的数据处理方法的技术方案的描述。

与上述第二种方法实施例相对应,本说明书还提供了第一种数据处理装置实施例,图9示出了本说明书一实施例提供的第一种数据处理装置的结构示意图。如图9所示,该装置包括:

接收请求模块902,被配置为接收日志删除请求;

确定日志模块904,被配置为根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;

发送通知模块906,被配置为向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;

接收记录模块908,被配置为接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。

可选地,所述接收请求模块902,进一步被配置为:

接收第一数据存储节点发送的日志删除请求;或

接收按照预设时间间隔触发的日志删除请求。

可选地,所述确定日志模块904,进一步被配置为:

根据所述日志删除请求中携带的标识信息,确定待删除日志;或

响应于所述日志删除请求,获取第一备份记录;根据所述第一备份记录中携带的第一标识信息以及预设日志间隔数量,确定所述待删除日志;或

确定各个数据存储节点的拉取日志标识;根据拉取日志标识的生成时间,确定待删除日志。

可选地,所述确定日志模块904,包括:

第一确定节点子模块,被配置为根据拉取记录中的日志标识以及对应的存储节点标识,确定拉取所述待删除日志的第二数据存储节点;

第二确定节点子模块,被配置为按照预设规则从所述第二数据存储节点中确定所述数据存储节点。

可选地,所述第二确定节点子模块,进一步被配置为:

根据所述拉取记录中的拉取时间从前到后的顺序,对所述第二数据存储节点进行排序;

将排在末位的第二数据存储节点确定为所述数据存储节点。

可选地,所述接收记录模块908,进一步被配置为:

接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录;

统计存储的第一备份记录的数量,并在所述数量大于预设数量的情况下,在所述第一备份记录中确定目标备份记录,其中,所述第一备份记录包括所述备份记录;

根据所述目标备份记录中携带的标识信息,确定对应的目标日志并删除。

可选地,所述数据处理装置,还包括:

第一发送记录模块,被配置为将所述目标日志对应的目标备份记录发送至存储服务节点;

接收通知模块,被配置为接收所述存储服务节点基于所述目标备份记录发送的删除通知,其中,所述删除通知为所述存储服务节点基于所述目标备份记录删除对应的备份数据后发送的通知。

可选地,所述数据处理装置,还包括:

生成模块,被配置为基于所述备份记录生成备份日志;

相应地,所述数据处理装置,还包括:

第二接收请求模块,被配置为接收第三数据存储节点发送的日志拉取请求;

判断模块,被配置为在所述日志拉取请求对应的拉取日志中包含备份日志的情况下,判断包含的备份日志是否为目标备份日志;

若否,运行发送日志模块,所述发送日志模块,被配置为将所述目标备份日志以及所述目标备份日志之后的日志发送至所述第三数据存储节点。

可选地,所述数据处理装置,还包括:

第二发送记录模块,被配置为向第四数据存储节点发送所述备份记录。

综上所述,本说明书提供的数据处理装置,通过日志服务节点与数据存储节点相配合,接收日志删除请求;根据所述日志删除请求,确定待删除日志,在确定所述待删除日志被拉取过的情况下,根据拉取记录确定对应的数据存储节点;向所述数据存储节点发送数据备份通知,其中,所述数据备份通知中携带所述待删除日志的标识信息;接收所述数据存储节点响应于所述数据备份通知进行备份处理后反馈的备份记录并删除日志,其中,所述备份记录中携带有备份路径以及所述待删除日志的标识信息。实现了将待删除日志对应的数据进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

上述为本实施例的第一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的第二种数据处理方法的技术方案属于同一构思,第一种数据处理装置的技术方案未详细描述的细节内容,均可以参见上述的第二种数据处理方法的技术方案的描述。

与上述第三种方法实施例相对应,本说明书还提供了第二种数据处理装置实施例,图10示出了本说明书一个实施例提供的第二种数据处理装置的示意图。如图10所示,该装置包括:

发送请求模块1002,被配置为向日志服务节点发送日志删除请求;

接收通知模块1004,被配置为接收所述日志服务节点响应于所述日志删除请求发送的数据备份通知;

确定数据模块1006,被配置为基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理;

反馈记录模块1008,被配置为根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录。

可选地,所述确定数据模块1006,进一步被配置为:

所述基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据;

通过将所述数据上传至存储服务节点的方式,对所述数据进行备份处理;

在备份成功的情况下,接收所述存储服务节点发送的所述数据的备份路径。

可选地,所述确定数据模块1006,进一步被配置为:

基于所述数据备份通知中携带的待删除日志的标识信息,判断是否存在与所述标识信息对应的数据存储空间的版本信息;

若否,通过执行所述标识信息对应的日志,对所述数据存储空间中的数据以及所述版本信息进行更新,并将更新后的数据存储空间的数据以及更新后的版本信息确定为待备份的数据存储空间的数据。

可选地,所述数据处理装置,还包括:

生成校验码模块,被配置为针对所述待备份的数据存储空间的数据生成第一校验码;

相应地,所述反馈记录模块1008,进一步被配置为:

接收所述存储服务节点发送的针对所述数据的备份路径以及第二校验码;

在所述第一校验码与所述第二校验码对比一致的情况下,根据所述第一校验码或第二校验码、所述标识信息以及所述数据的备份路径,生成备份记录;

向所述日志服务节点反馈所述备份记录。

可选地,所述数据处理装置,还包括:

接收请求模块,被配置为向所述日志服务节点发送日志拉取请求;

接收日志模块,被配置为接收所述日志服务节点响应于所述日志拉取请求发送的目标备份日志以及所述目标备份日志之后的日志;

下载模块,被配置为基于所述目标备份日志中的备份路径下载对应的数据;

更新模块,被配置为根据下载的数据以及所述目标备份日志之后的日志更新所述数据存储空间中的数据。

综上所述,本说明书提供的数据处理方法,执行主体是数据存储节点,通过与日志服务节点相配合,向日志服务节点发送日志删除请求;接收所述日志服务节点响应于所述日志删除请求发送的数据备份通知;基于所述数据备份通知中携带的待删除日志的标识信息,确定待备份的数据存储空间的数据并进行备份处理;根据所述标识信息以及所述数据的备份路径向所述日志服务节点反馈备份记录。实现了将待删除日志对应的数据进行备份,并在备份完成的情况下,对日志进行删除,保障了日志删除的安全性。

上述为本实施例的第二种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的第三种数据处理方法的技术方案属于同一构思,第二种数据处理装置的技术方案未详细描述的细节内容,均可以参见上述第三种数据处理方法的技术方案的描述。

图11示出了根据本说明书一个实施例提供的一种计算设备1100的结构框图。该计算设备1100的部件包括但不限于存储器1110和处理器1120。处理器1120与存储器1110通过总线1130相连接,数据库1150用于保存数据。

计算设备1100还包括接入设备1140,接入设备1140使得计算设备1100能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

在本说明书的一个实施例中,计算设备1100的上述部件以及图11中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图11所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备1100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1100还可以是移动式或静止式的服务器。

其中,处理器1120用于执行计算机指令,所述处理器执行所述计算机指令时实现所述数据处理方法的步骤。

本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现所述数据处理方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1