用于存储数据的方法和装置制造方法及图纸

技术编号:14945520 阅读:81 留言:0更新日期:2017-04-01 11:56
本申请公开了用于存储数据的方法和装置。该方法的一具体实施方式包括:获取存储节点的数量作为新数据的分组数,其中,在存储节点之间存在地理隔离和/或电源总线隔离;接收待存储的原始数据并将原始数据进行纠删码编码以生成包含校验数据的新数据;将新数据按照分组数进行分组并为每个分组设置分组编号;将每个分组中的新数据发送给不同的存储节点进行存储并记录分组编号和存储节点的对应关系;响应于接收到存储节点发送的包括存储地址的存储成功的响应消息,记录存储地址。该实施方式实现了低成本、高可靠性的分布式存储。

【技术实现步骤摘要】

本申请涉及计算机
,具体涉及计算机存储
,尤其涉及用于存储数据的方法和装置
技术介绍
随着互联网技术的快速发展及智能手机的全面普及,用户(含企业用户)产生的数据量呈现爆炸式增长,对于这些数据的保存也提出来越来越高的要求。用户希望能够长期持久的保存数据,确保不会丢失。现有的网盘提供给用户大量的免费空间可用,这些都是基于单机房的存储方案,如果机房出现火灾或者其它某些情况,就会导致用户数据丢失。有些用户数据特别重要,用户愿意付费以追求更高的可靠性,这部分用户希望能将其数据同时存放在多个机房中,以保证机房故障的数据损失保障。现有的多机房数据备份方案,是2套或者多套独立的系统以复制的方式在多机房部署,存储集群之间彼此独立,每个存储集群维护了多个数据副本。每个存储集群要独立运作起来,就必须有一定的副本冗余度,传统的是3副本,最新的基于纠删码编码(ErasureCoding,EC)技术的是1.x副本,这样2个集群就需要2x3=6副本,或者2*1.x副本,成本居高不下。
技术实现思路
本申请的目的在于提出一种改进的用于存储数据的方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种用于存储数据的方法,该方法包括:获取存储节点的数量作为分组数,其中,在存储节点之间存在地理隔离和/或电源总线隔离;接收待存储的原始数据并将原始数据进行纠删码编码以生成包含校验数据的新数据;将新数据按照分组数进行分组并为每个分组设置分组编号;将每个分组中的新数据发送给不同的存储节点进行存储并记录分组编号和存储节点的对应关系;响应于接收到存储节点发送的包括存储地址的存储成功的响应消息,记录存储地址。在一些实施例中,将原始数据进行纠删码编码以生成包含校验数据的新数据包括:将原始数据分成大小相同的多个原始数据块,并对每个原始数据块进行编号;将多个原始数据块进行纠删码编码以生成包含校验数据块的新数据块,并对每个校验数据块进行编号。在一些实施例中,在将每个分组中的新数据发送给不同的存储节点进行存储之后,该方法还包括:若在预设的超时时间内未收到存储节点发送的包括存储地址的存储成功的响应消息,则查找到存储节点对应的分组数据并将分组数据重新发送给存储节点。在一些实施例中,在将每个分组中的新数据发送给不同的存储节点进行存储之后,该方法还包括:若在预设的超时时间内未收到存储节点发送的包括存储地址的存储成功的响应消息,则查找到存储节点对应的分组数据并将分组数据发送给发送了存储成功的响应消息的存储节点。在一些实施例中,当存储节点的数量大于2时,纠删码编码的编码率大于50%。第二方面,本申请提供了一种用于存储数据的装置,该装置包括:获取单元,配置用于获取存储节点的数量作为分组数,其中,在存储节点之间存在地理隔离和/或电源总线隔离;编码单元,配置用于接收待存储的原始数据并将原始数据进行纠删码编码以生成包含校验数据的新数据;分组单元,配置用于将新数据按照分组数进行分组并为每个分组设置分组编号;发送单元,配置用于将每个分组中的新数据发送给不同的存储节点进行存储并记录分组编号和存储节点的对应关系;记录单元,配置用于响应于接收到存储节点发送的包括存储地址的存储成功的响应消息,记录存储地址。在一些实施例中,编码单元配置用于:将原始数据分成大小相同的多个原始数据块,并对每个原始数据块进行编号;将多个原始数据块进行纠删码编码以生成包含校验数据块的新数据块,并对每个校验数据块进行编号。在一些实施例中,该装置还包括重传单元,配置用于:在将每个分组中的新数据发送给不同的存储节点进行存储之后,若在预设的超时时间内未收到存储节点发送的包括存储地址的存储成功的响应消息,则查找到存储节点对应的分组数据并将分组数据重新发送给存储节点。在一些实施例中,该装置还包括重选单元,配置用于:在将每个分组中的新数据发送给不同的存储节点进行存储之后,若在预设的超时时间内未收到存储节点发送的包括存储地址的存储成功的响应消息,则查找到存储节点对应的分组数据并将分组数据发送给发送了存储成功的响应消息的存储节点。在一些实施例中,当存储节点的数量大于2时,纠删码编码的编码率大于50%。本申请提供的用于存储数据的方法和装置通过将数据进行纠删码编码后再分组发向存在地理隔离和/或电源总线隔离的存储节点,从而提高了数据存储的容灾性并且降低了成本。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的用于存储数据的方法的一个实施例的流程图;图3是根据本申请的用于存储数据的方法的一个应用场景的示意图;图4是根据本申请的用于存储数据的方法的又一个实施例的流程图;图5是根据本申请的用于存储数据的装置的一个实施例的结构示意图;图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于存储数据的方法或用于存储数据的装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104、服务器105和存储节点106、107、108。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。服务器105与存储节点106、107、108之间通过有线、无线通信链路或者光纤电缆等线路连接。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是具有将数据上传至远程服务器的功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的数据提供支持的后台存储服务器。后台存储服务器可以对接收到的待存储数据分发到存储节点106、107、108进行分布式存储等处理。存储节点106、107、108可以是提供存放数据存储服务器的机房,它们之间彼此存在地理隔离和/或电源总线隔离。每个机房中存放多个数据存储服务器。需要说明的是,本申请实施例所提供的用于存储数据的方法一般由服务器105执行,相应地,用于存储数据的装置一般本文档来自技高网...
用于存储数据的方法和装置

【技术保护点】
一种用于存储数据的方法,其特征在于,所述方法包括:获取存储节点的数量作为分组数,其中,在存储节点之间存在地理隔离和/或电源总线隔离;接收待存储的原始数据并将所述原始数据进行纠删码编码以生成包含校验数据的新数据;将所述新数据按照所述分组数进行分组并为每个分组设置分组编号;将每个分组中的新数据发送给不同的存储节点进行存储并记录分组编号和存储节点的对应关系;响应于接收到存储节点发送的包括存储地址的存储成功的响应消息,记录所述存储地址。

【技术特征摘要】
1.一种用于存储数据的方法,其特征在于,所述方法包括:获取存储节点的数量作为分组数,其中,在存储节点之间存在地理隔离和/或电源总线隔离;接收待存储的原始数据并将所述原始数据进行纠删码编码以生成包含校验数据的新数据;将所述新数据按照所述分组数进行分组并为每个分组设置分组编号;将每个分组中的新数据发送给不同的存储节点进行存储并记录分组编号和存储节点的对应关系;响应于接收到存储节点发送的包括存储地址的存储成功的响应消息,记录所述存储地址。2.根据权利要求1所述的用于存储数据的方法,其特征在于,所述将所述原始数据进行纠删码编码以生成包含校验数据的新数据包括:将所述原始数据分成大小相同的多个原始数据块,并对每个原始数据块进行编号;将多个原始数据块进行纠删码编码以生成包含校验数据块的新数据块,并对每个校验数据块进行编号。3.根据权利要求1所述的用于存储数据的方法,其特征在于,在将每个分组中的新数据发送给不同的存储节点进行存储之后,所述方法还包括:若在预设的超时时间内未收到所述存储节点发送的包括存储地址的存储成功的响应消息,则查找到所述存储节点对应的分组数据并将所述分组数据重新发送给所述存储节点。4.根据权利要求1所述的用于存储数据的方法,其特征在于,在将每个分组中的新数据发送给不同的存储节点进行存储之后,所述方法还包括:若在预设的超时时间内未收到所述存储节点发送的包括存储地址的存储成功的响应消息,则查找到所述存储节点对应的分组数据并将所述分组数据发送给发送了存储成功的响应消息的存储节点。5.根据权利要求1所述的用于存储数据的方法,其特征在于,当所述存储节点的数量大于2时,所述纠删码编码的编码率大于50%。6.一种用于存储数据的装置,其特征在于,所...

【专利技术属性】
技术研发人员:李栋梁杨奋强
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1