数据的处理方法和装置的制造方法_2

文档序号:9730241阅读:来源:国知局
明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为现有技术中分布式存储系统的物理架构示意图;
[0018]图2为现有技术中基于主节点的复制协议的方法示意图;
[0019]图3为本发明实施例提供的数据的处理方法的应用场景示意图;
[0020]图4为本发明实施例一提供的数据的处理方法的流程图;
[0021 ]图5为本发明实施例二提供的数据的处理方法的流程图;
[0022]图6为本发明实施例中的数据同步示意图;
[0023]图7为本发明实施例三提供的数据的处理装置的结构示意图;
[0024]图8为本发明实施例四提供的数据的处理装置的结构示意图;
[0025]图9为本发明实施例五提供的数据的处理装置的结构示意图;
[0026]图10为本发明实施例六提供的服务器的结构示意图;
[0027]图11为本发明实施例七提供的存储节点的结构示意图。
【具体实施方式】
[0028]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]图3为本发明实施例提供的数据的处理方法的应用场景示意图。如图3所示,该场景包括用户终端11、服务器12、主控服务器13、存储节点14、存储节点15和存储节点16。其中,用户终端11可以为手机、电脑、手持终端等设备,服务器12可以为向用户终端11提供服务的任一类型的服务器,主控服务器13为向用户终端11提供服务的多个服务器中的一个,用于管理其他的服务器和存储节点,实现用户终端11与存储节点之间的通信等,存储节点14、存储节点15和存储节点16均可以为一个独立的设备,可以包括处理器、缓存器、硬盘等设备,可以由主控服务器根据用户的需求指定其中的一个存储节点为主存储节点,其他存储节点作为备存储节点,主控服务器与主存储节点进行通信,再由主存储节点与备存储节点进行通信。需要说明的是,该场景仅示意性的示出了部分的用户终端、服务器和存储节点,还可以包括更多的上述设备,也可以包括其他类型的设备,本发明中并不以此为限。
[0030]另外,在分布式存储系统中,数据的存储和访问方式多种多样,比如,随机访问,顺序访问,写入不更新,频繁覆盖写等,本发明提供的数据的处理方法主要是针对没有覆盖写,并且顺序访问数据的场景,例如,最常见的是分布式队列服务,存储数据先进入分布式队列中,然后按先进先出的顺序从分布式队列中读取数据。但,本发明提供的数据的处理方法也可以应用于其他的适合的场景中,例如,随机访问、写入不更新等场景中,本发明中并不以此为限。
[0031]图4为本发明实施例一提供的数据的处理方法的流程图。本实施例涉及的是主控服务器为待写入数据分配序列号,将序列号、关键字和待写入数据一次写入存储节点的具体实现过程。如图4所示,该方法包括以下步骤:
[0032]步骤101、主控服务器接收用户终端发送的写请求;其中,写请求包括待写入数据和初始关键字。
[0033]在本实施例中,数据以key-value的结构进行存储,其中,key为初始关键字,value为待写入数据。当用户需要写入数据时,通过用户终端向主控服务器发送写请求,以通知主控服务器将待写入数据写入存储节点中。
[0034]可选地,用户终端也可以像主控服务器发送删除请求、读请求等,删除请求和读请求中均包括初始关键字(key),主控服务器可以根据初始关键字在存储节点中删除或读取初始关键字对应的数据。
[0035]步骤102、主控服务器为待写入数据分配序列号,并根据序列号与初始关键字组成第一关键字;其中,序列号为严格递增的数值。
[0036]在本实施例中,主控服务器写入数据时,都为待写入数据分配一个序列号,将序列号和初始关键字组合成第一关键字。其中,序列号表示写入数据的次数和顺序,序列号可以为1,2,3……的整数,例如,用户输入的初始关键字(key)为字符串“abc”,主控服务器为该待写入数据(value)分配的序列号是1000,则组成的第一关键字可以为字符串“abc#1000”。
[0037]步骤103、主控服务器向存储节点发送写数据指令;其中,写数据指令包括待写入数据和第一关键字。
[0038]在本实施例中,主控服务器可以将待写入数据和第一关键字发送给多个存储节点进行备份存储,也可以将待写入数据和第一关键字发送给主存储节点进行存储,再由主存储节点将待写入数据和第一关键字备份存储到备存储节点中。
[0039]步骤104、存储节点根据写数据指令,存储待写入数据和第一关键字。
[0040]在本实施例中,存储节点接收到写数据指令之后,将待写入数据和第一关键字进行存储。可选地,若该存储节点为主存储节点,则接收主控服务器发送的写数据指令,将待写入数据和第一关键字进行存储之后,再将该写数据指令发送给备存储节点(步骤1041),由备存储节点对待写入数据和第一关键字进行存储(步骤1042);若该存储节点为备存储节点,则接收主存储节点发送的写数据指令,对待写入数据和第一关键字进行存储。
[0041 ]现有技术中,在每次写入数据时,都需要先将包括序列号的日志写入存储节点,相当于每写入一次数据,存储节点都需要执行两次写操作,例如,若写入100个数据,则存储节点需要执行200次写操作,明显增加了存储节点的处理器负荷。本实施例中,由主控服务器将序列号和初始关键字组成第一关键字,将第一关键字和待写入数据一起写入存储节点中,相当于将日志放到关键字中与待写入数据一起写入存储节点,避免了单独写日志的过程,例如,若写入100个数据,则存储节点执行100次写操作,明显降低了存储节点的处理器的负荷。
[0042]本实施例提供的数据的处理方法,主控服务器接收用户终端发送的写请求,为待写入数据分配序列号,并根据序列号与初始关键字组成第一关键字,将待写入数据和第一关键字发送给存储节点进行存储,相当于将日志放到关键字中与待写入数据一起写入存储节点,避免了单独写日志的过程,有效降低了存储节点的处理器的负荷。
[0043]图5为本发明实施例二提供的数据的处理方法的流程图。本实施例主要涉及的是当存储节点发生故障时,如何对故障节点中的数据进行同步恢复的具体过程。如图5所示,在图4所示的步骤104之后,该方法包括以下步骤:
[0044]步骤201、存储节点更新缓存器中最大的序列号。
[0045]在本实施例中,存储节点具有独立的缓存器,每次写入数据之后,存储节点会自动更新缓存器中的最大的序列号(head),例如,本次写入数据的序列号为56,而缓存器中的最大的序列号为55,则将缓存器中的最大的序列号更新为56。
[0046]可选地,若存储节点删除数据之后,更新缓存器中最小的序列号(tail)。
[0047]步骤202、存储节点按照预设时间周期,对缓存器中最大的序列号和最小的序列号进行持久化。
[
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1