一种存储数据的方法、装置及系统制造方法及图纸

技术编号:32436348 阅读:16 留言:0更新日期:2022-02-26 07:54
本申请实施例公开了一种存储数据的方法、装置及系统,涉及计算机领域,在保证分布式数据服务系统可用性的前提下,降低了系统的存储成本。具体方案为:给复制组配置持久服务器及临时服务器,持久服务器用于长期存储数据,临时服务器用于临时存储数据,复制组用于采用复制协议向其包含的服务器写入相同数据;复制组中的每个持久服务器分别执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为复制组中所有服务器内存储的满足第一条件的数据的并集;复制组中的每个临时服务器分别确定其自身的存储数据中满足第二条件的数据已存储于复制组中的持久服务器后,每个临时服务器分别执行删除操作,删除满足第二条件的数据。据。据。

【技术实现步骤摘要】
一种存储数据的方法、装置及系统


[0001]本申请实施例涉及信息
,尤其涉及一种存储数据的方法、装置及系统。

技术介绍

[0002]随着互联网技术及存储技术的发展,分布式数据服务系统得到广泛应用。分布式数据服务系统由分布式部署的多个服务器(也可以称为节点)组成。用户通过客户机与节点通信,将数据写入到节点中,以及读取复制组中各节点的数据。
[0003]在分布式数据服务系统中,可用性是衡量分布式数据服务系统可靠性的重要指标,可用性为数据可以访问成功的概率,决定了系统可以访问成功时容忍的故障节点的数量。为了避免部分节点故障导致整个系统不可用,通常采用复制协议把数据复制到多个节点,可以将该多个节点称为复制组。这样,即使复制组中部分节点故障,剩余节点仍可以继续提供服务,保证了系统的高可用性。
[0004]当前常用的复制协议包括主复制协议和无主复制协议。其中,主复制协议方案是在复制组中选取主节点,将复制组中其他节点作为从节点,写入数据时先将数据写入到主节点,主节点依次将数据发送到从节点写入,写入成功的从节点向主节点发送写入成功响应,主节点统计写入成功的节点数量,当该数量大于第一阈值时认为写入成功。无主复制协议系统的复制组中包括的节点功能相同,写入数据时,用户通过客户机将数据发送给复制组中的节点写入,写入成功的节点向客户机发送写入成功响应,客户机统计写入成功的节点数量,当该数量大于第一阈值时认为写入成功。
[0005]上述复制协议存储数据时,复制组中所有节点都用于存储用户输入的数据,为了保证用户数据的完整存储,需要配置大容量的服务器作为复制组中的节点,这样虽然提高了分布式数据服务系统的可用性,但是大容量服务器设备成本高,也就导致分布式数据服务系统的存储成本高。当系统可用性要求很高时,复制组中的节点数量也会很大,系统的存储成本也将巨大。

技术实现思路

[0006]本申请提供一种存储数据的方法、装置及系统,在保证分布式数据服务系统可用性的前提下,降低了分布式数据服务系统的存储成本。
[0007]为了达到上述目的,本申请采用如下技术方案:
[0008]第一方面,提供一种存储数据的方法,应用于包括一个或多个持久服务器及一个或多个临时服务器的复制组;持久服务器用于长期存储数据,临时服务器用于临时存储数据,复制组用于采用复制协议向其包含的服务器写入相同数据;该方法可以包括:每个持久服务器分别执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为该复制组中所有服务器内存储的满足第一条件的数据的并集;每个临时服务器分别确定其自身的存储数据中满足第二条件的数据已存储于该复制组中的持久服务器后,每个临时服务器分别执行删除操作,删除满足第二条件的数据。
[0009]通过本申请提供的存储数据的方法,在复制组中配置用于长期存储数据的持久服务器和临时存储数据的临时服务器,在数据写入成功后或者周期性的,对持久服务器进行数据同步,使持久服务器中的数据包括其所属复制组中所有服务器的存储数据,然后删除临时服务器中的数据。这样,复制组中的临时服务器仅用于暂时存储数据,可以配置小容量的服务器作为临时服务器,在保证系统可用性的前提下,降低了设备成本。即使系统可用性需求进一步增加,通过增加临时服务器的数量来保证系统可用性需求,也不会大幅增加设备成本。
[0010]其中,可以根据实际需求配置第一条件和第二条件,本申请实施例对此不予具体限定。
[0011]结合第一方面,在一种可能的实现方式中,第一条件可以包括:前N次写入的数据,N大于或等于1;或者,当前时刻之前第一预设时长内写入的数据。在该可能的实现方式中,持久服务器可以在不同的第一条件下更新数据,提高了更新操作的灵活性及存储数据的灵活性。
[0012]结合第一方面和上述一种可能的实现方式中,在另一种可能的实现方式中,在一种可能的实现方式中,第二条件可以包括:前M次写入的数据,M大于或等于1;或者,当前时刻之前第二预设时长内写入的数据。在该可能的实现方式中,临时服务器可以在不同的第二条件下删除数据,提高了删除操作的灵活性及存储数据的灵活性。
[0013]结合第一方面及上述任一种可能的实现方式,在另一种可能的实现方式中,复制组采用主复制协议,对于第一持久服务器,第一持久服务为复制组中任一持久服务器,第一持久服务器为从节点,第一持久服务器执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为复制组中所有服务器内存储的满足第一条件的数据的并集,包括:若主节点正常通信,第一持久服务器执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为复制组中主节点内存储的满足第一条件的数据;或者,若主节点故障,第一持久服务器执行更新操作,将复制组中所有服务器内存储的满足第一条件的数据中,第一持久服务器未存储的数据写入;或者,若主节点故障,且新选取的主节点为第一持久服务器,第一持久服务器执行更新操作,将复制组中所有服务器内存储的满足第一条件的数据中,第一持久服务器未存储的数据写入;第一持久服务器向复制组中的其他持久服务器发送更新完成指令;更新完成指令用于指示主节点完成更新操作;或者,若主节点故障,且新选取的主节点为第一持久服务器之外的持久服务器,第一持久服务器在新选取的主节点执行更新操作后,将自身的存储数据中满足第一条件的存储数据,更新为新选取的主节点内存储的满足第一条件的数据。在该可能的实现方式中,具体说明了对于主复制协议不同情况下,持久服务器更新数据的方法,针对不同情形采用不同更新方法,提高了存储数据的可靠性。
[0014]结合第一方面及上述任一种可能的实现方式,在另一种可能的实现方式中,复制组中服务器的数量可以由系统可用度确定,复制组中持久服务器的数量可以由系统持久度确定。在该可能的实现方式中,复制组中持久服务器的数量和临时服务器的数量由系统的可用度指标和持久度指标确定,保证了在降低了设备成本的同时不影响存储的可靠性。
[0015]结合第一方面及上述任一种可能的实现方式,在另一种可能的实现方式中,持久服务器可以在写入操作后,执行更新操作;或者,持久服务器周期性的执行更新操作。在该可能的实现方式中,配置了持久服务器执行更新操作的不同方式,提高了存储数据的灵活
性。
[0016]结合第一方面及上述任一种可能的实现方式,在另一种可能的实现方式中,若复制组中持久服务器故障时,该方法还可以包括:向复制组添加新的持久服务器;新的持久服务器写入复制组中所有服务器内存储的数据的并集。在该可能的实现方式中,说明了持久服务器故障时的处理方法,提高了存储数据的可靠性。
[0017]第二方面,提供一种存储数据的装置,可以部署于复制组中的持久服务器,复制组用于采用复制协议向其包含的服务器写入相同数据,持久服务器用于长期存储数据;该装置可以包括:存储单元、写入单元和更新单元。其中:
[0018]存储单元,用于存储写入持久服务器的数据。
[0019]写入单元,用于将写入持久服务器的数据写入持久服务器的存储单元。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储数据的方法,其特征在于,应用于包括一个或多个持久服务器及一个或多个临时服务器的复制组;所述持久服务器用于长期存储数据,所述临时服务器用于临时存储数据,所述复制组用于采用复制协议向其包含的服务器写入相同数据;所述方法包括:每个持久服务器分别执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为所述复制组中所有服务器内存储的满足所述第一条件的数据的并集;每个所述临时服务器分别确定其自身的存储数据中满足第二条件的数据已存储于所述复制组中的持久服务器后,每个所述临时服务器分别执行删除操作,删除所述满足第二条件的数据。2.根据权利要求1所述的方法,其特征在于,所述第一条件包括:前N次写入的数据,所述N大于或等于1;或者,当前时刻之前第一预设时长内写入的数据。3.根据权利要求1或2所述的方法,其特征在于,所述第二条件包括:前M次写入的数据,所述M大于或等于1;或者,当前时刻之前第二预设时长内写入的数据。4.根据权利要求1-3任一项所述的方法,其特征在于,所述复制组采用主复制协议,对于第一持久服务器,所述第一持久服务为所述复制组中任一持久服务器,所述第一持久服务器为从节点,所述第一持久服务器执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为所述复制组中所有服务器内存储的满足所述第一条件的数据的并集,包括:若主节点正常通信,所述第一持久服务器执行更新操作,将自身的存储数据中满足第一条件的存储数据,更新为所述复制组中主节点内存储的满足所述第一条件的数据;或者,若主节点故障,所述第一持久服务器执行更新操作,将所述复制组中所有服务器内存储的满足所述第一条件的数据中,所述第一持久服务器未存储的数据写入;或者,若主节点故障,且新选取的主节点为第一持久服务器,所述第一持久服务器执行更新操作,将所述复制组中所有服务器内存储的满足所述第一条件的数据中,所述第一持久服务器未存储的数据写入;所述第一持久服务器向所述复制组中的其他持久服务器发送更新完成指令;所述更新完成指令用于指示所述主节点完成所述更新操作;或者,若主节点故障,且新选取的主节点为第一持久服务器之外的持久服务器,所述第一持久服务器在所述新选取的主节点执行更新操作后,将自身的存储数据中满足第一条件的存储数据,更新为所述新选取的主节点内存储的满足所述第一条件的数据。5.根据权利要求1-4任一项所述的方法,其特征在于,所述复制组中服务器的数量由系统可用度确定,所述复制组中持久服务器的数量由系统持久度确定。6.根据权利要求1-5任一项所述的方法,其特征在于,持久服务器在写入操作后,执行所述更新操作;
或者,持久服务器周期性的执行所述更新操作。7.根据权利要求1-3任一项所述的方法,其特征在于,若所述复制组中持久服务器故障时,所述方法还包括:向所述复制组添加新的持久服务器;所述新的持久服务器写入所述复制组中所有服务器内存储的数据的并集。8.一种存储数据的装置,其特征在于,部署于复制组中的持久服务器,所述复制组用于采用复制协议向其包含的服务器写入相同数据,所述持久服务器用于长期存储数据;所述装置包括:存储单元,用于存储写入所述持久服务器的数据;写入单元,用于将写入所述持久服务器的数据写入所述持久服务器的存储单元;更新单元,用于执行更新操作,将所述存储单元中的存储数据中满足第一条件的存储数据,更新为所述复制组中所有服务器内存储的满足所述第一条件的数据的并集。9.根据权利要求8所述的装置,其特征在于,所述第一条件包括:前N次写入的数据,所述N大于或等于1;或者,当前时刻之前第一预设时长内写入的数据。10.一种存储数据的装置,其特征在于,部署于复制组中的临时服务器,所述复制组还包括一个或多个持久服务器,所述持久服务器用于长期存储数据,所述临时服务器用于临时存储数据,所述复制组用于采用复制协议向其包含的服务器写入相同数据;所述装置包括:存储单元,用于存储写入所述临时服务器的数据;写入单元,用于将写入所述临时服务器的数据...

【专利技术属性】
技术研发人员:刘强
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1