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

文档序号:9730241阅读:250来源:国知局
数据的处理方法和装置的制造方法
【技术领域】
[0001]本发明实施例涉及通信技术,尤其涉及一种数据的处理方法和装置。
【背景技术】
[0002]分布式存储系统是一种采用可扩展的系统构架,将数据分散存储在多台独立的设备上的存储系统,具有可靠性高、可用性强、存取效率高、易于扩展的特点。
[0003]图1为现有技术中分布式存储系统的物理架构示意图。如图1所示,该系统包括多个计算机节点1和多个存储节点2,计算机节点1通过网络向存储节点2发送操作请求,存储节点2根据操作请求,执行数据的存储、读取、删除等操作。数据存储时,通常在多个存储节点2中以副本的形式对数据进行备份存储,为了保证数据的多个副本之间的一致性,最常用的方案是基于主节点的复制协议的方法。图2为现有技术中基于主节点的复制协议的方法示意图。如图2所示,从图1所示的多个存储节点中选择一个作为主节点4,其它的存储节点作为备节点,图2中仅示出了备节点5和备节点6。以写数据为例来说明现有技术的方案,在写数据之前,需要先将日志写入到主节点4中,再由主节点4将该日志写入备节点5和备节点6中,其中,日志包括待写入数据对应的序列号和操作码,当主节点和备节点中的数据不一致的时候,通过比较日志中的序列号,可以知道不一致的数据有哪些,然后完成数据同步操作。待日志写入成功之后,计算机节点3将包括待写入数据的写请求发送给主节点4,主节点4将待写入数据存储之后,再由主节点4将待写入数据写入备节点5和备节点6,完成数据的备份存储。
[0004]现有技术的存储方案,在每次写入数据时,都需要先将日志写入主节点和备节点中,相当于每写入一次数据,主节点和备节点均需要执行两次写操作,明显增加了主节点和备节点的处理器的负荷。

【发明内容】

[0005]本发明实施例提供一种数据的处理方法和装置,以降低存储节点的处理器的负荷。
[0006]第一方面,本发明实施例提供一种数据的处理方法,包括:主控服务器接收用户终端发送的写请求;其中,所述写请求包括待写入数据和初始关键字;所述主控服务器为所述待写入数据分配序列号,并根据所述序列号与所述初始关键字组成第一关键字;其中,所述序列号为严格递增的数值;所述主控服务器向存储节点发送写数据指令;其中,所述写数据指令包括所述待写入数据和所述第一关键字。本实施例方法,主控服务器将待写入数据和第一关键字发送给存储节点进行存储,相当于将日志放到关键字中与待写入数据一起写入存储节点,避免了单独写日志的过程,有效降低了存储节点的处理器的负荷。
[0007]第二方面,本发明实施例提供一种数据的处理方法,包括:存储节点接收写数据指令;其中,所述写数据指令包括待写入数据和第一关键字,所述第一关键字为所述主控服务器根据所述待写入数据的序列号和初始关键字组成的关键字,所述序列号为严格递增的数值;所述存储节点根据所述写数据指令,存储所述待写入数据和所述第一关键字。本实施例方法,由于写数据指令包括待写入数据和第一关键字,相当于将日志放到关键字中与待写入数据一次存储到存储节点,避免了单独存储日志的过程,有效降低了存储节点的处理器的负荷。
[0008]结合第二方面,在第二方面的第一种可能实现方式中,所述存储节点根据所述写数据指令,存储所述待写入数据和所述第一关键字之后,所述方法还包括:所述存储节点更新缓存器中最大的序列号。本实施例中,在存储数据的同时更新缓存器中的最大的序列号,保证写入数据与序列号的一致。
[0009]结合第二方面的第一种可能实现方式,在第二方面的第二种可能实施例中,所述存储节点更新缓存器中最大的序列号之后,所述方法还包括:所述存储节点按照预设时间周期,对所述缓存器中最大的序列号和最小的序列号进行持久化,避免了存储节点掉电或者发生故障时内存中的最大的序列号和最小的序列号丢失的现象。
[0010]结合第二方面的第二种可能实现方式,在第二方面的第三种可能实施例中,所述存储节点按照预设时间周期,对所述缓存器中最大的序列号和最小的序列号进行持久化之后,所述方法还包括:所述存储节点接收所述主控服务器发送的检测指令;所述存储节点根据所述检测指令获取第一序列号和第二序列号;其中,所述第一序列号为所述存储节点中持久化的最大的序列号,所述第二序列号为所述存储节点中持久化的最小的序列号;所述存储节点获取主存储节点中获取第三序列号和第四序列号;其中,所述第三序列号为所述主存储节点中持久化的最大的序列号,所述第四序列号为所述主存储节点中持久化的最小的序列号;若所述第一序列号与所述第三序列号不相等,和/或,所述第二序列号与所述第四序列号不相等,则根据序列号从所述主存储节点中获取待同步数据,并保存所述待同步数据。本实施例的方法,通过比较故障节点与主存储节点中持久化的最大、最小序列号可以获得同步数据,从而对故障节点中的数据进行同步,保证了存储系统的可靠性。
[0011]第三方面,本发明实施例提供一种数据的处理装置,包括:接收模块,用于接收用户终端发送的写请求;其中,所述写请求包括待写入数据和初始关键字;处理模块,用于为所述待写入数据分配序列号,并根据所述序列号与所述初始关键字组成第一关键字;其中,所述序列号为严格递增的数值;发送模块,用于向存储节点发送写数据指令;其中,所述写数据指令包括所述待写入数据和所述第一关键字。本实施例的装置,用于执行第一方面所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0012]第四方面,本发明实施例提供一种数据的处理装置,包括:接收模块,用于接收写数据指令;其中,所述写数据指令包括待写入数据和第一关键字,所述第一关键字为所述主控服务器根据所述待写入数据的序列号和初始关键字组成的关键字,所述序列号为严格递增的数值;存储模块,用于根据所述写数据指令,存储所述待写入数据和所述第一关键字。本实施例的装置,用于执行第二方面所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0013]结合第四方面,在第四方面的第一种可能实现方式中,所述存储模块还用于存储节点更新缓存器中最大的序列号。本实施例的装置,用于执行第二方面的第一种可能实现方式所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0014]结合第四方面的第一种可能实现方式,在第四方面的第二种可能实现方式中,所述存储模块还用于按照预设时间周期,对所述缓存器中最大的序列号和最小的序列号进行持久化。本实施例的装置,用于执行第二方面的第二种可能实现方式所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0015]结合第四方面的第二种可能实现方式,在第四方面的第三种可能实现方式中,所述接收模块还用于接收所述主控服务器发送的检测指令;所述装置还包括处理模块,用于根据所述检测指令获取第一序列号和第二序列号;并获取主存储节点中获取第三序列号和第四序列号;其中,所述第一序列号为所述存储节点中持久化的最大的序列号,所述第二序列号为所述存储节点中持久化的最小的序列号,所述第三序列号为所述主存储节点中持久化的最大的序列号,所述第四序列号为所述主存储节点中持久化的最小的序列号;若所述第一序列号与所述第三序列号不相等,和/或,所述第二序列号与所述第四序列号不相等,则所述处理模块根据序列号从所述主存储节点中获取待同步数据,并触发所述存储模块保存所述待同步数据。本实施例的装置,用于执行第二方面的第三种可能实现方式所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
【附图说
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1