数据处理方法及装置与流程

文档序号:15143602发布日期:2018-08-10 20:11阅读:150来源:国知局

本发明涉及数据处理技术领域,尤其涉及一种数据处理方法及装置。



背景技术:

hdfs(hadoopdistributedfilesystem)是一种大数据分布式存储系统,它将任意大小的文件按照指定块大小(如256mb)分割成若干块,并且为了数据冗余备份,每个块有3(默认)个副本,hdfs将该文件的所有副本块随机分布到大量数据存储节点上,并在主存储节点上记录该文件的每个副本块存在哪个存储节点上。查询数据时从主存储节点获取该文件的所有副本块位置,再按照一定规则从存储节点上获取数据。

由于存放在hdfs中的数据使用频率不一样,对存储的要求也不一样,比如某些数据经常使用(热数据),希望访问速度快。某些数据很少使用(冷数据),希望存储的成本低。目前业内提供多种类型存储介质,如固态硬盘(ssd)速度高,价格贵。磁带速度慢,价格低。普通硬盘价格和速度适中。

但目前hdfs的存储节点,不能区分存储介质类型,所有数据会随机放到各个存储节点上。即使部分存储节点上部署ssd,也无法保证经常访问的数据放到有ssd的存储节点上,无法加速热数据性能。同理,部分存储节点部署磁带,也不能使很少使用的数据到磁带的存储节点上,无法减少冷数据成本。



技术实现要素:

本发明提供一种数据处理方法及装置,用于解决现有技术中无法将数据存储在合适的存储节点上的问题。

第一方面,本发明实施例提供一种数据处理方法,包括:

接收用户端发送的读取请求,所述读取请求包括文件名;

获取主存储节点上的存储信息表;

根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;

根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

可选地,在接收用户端发送的读取请求之前,还包括:

接收用户端发送的存储请求,所述存储请求包括文件副本、文件名和存储条件;

获取所有副本存储节点的存储介质标签;

根据所述存储条件将文件副本发送给副本存储节点进行存储,并将存储信息发送给主存储节点记录在存储信息表上。

可选地,所述根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,包括:

若存在不同存储介质标签的多个副本存储节点,则根据所述位置信息、所述存储介质标签和预设的存储介质优先级确定唯一的副本存储节点;

从确定后的副本存储节点上调用文件副本。

可选地,所述根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,包括:

若存在相同存储介质标签的多个副本存储节点,则根据位置信息任选其中一个副本存储节点;

从选取后的副本存储节点上调用文件副本。

第二方面,本发明实施例提供一种数据处理装置,包括:

第一接收模块,用于接收用户端发送的读取请求,所述读取请求包括文件名;

第一获取模块,用于获取主存储节点上的存储信息表;

匹配模块,用于根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;

读取模块,用于根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

可选地,还包括:

第二接收模块,用于接收用户端发送的存储请求,所述存储请求包括文件副本、文件名和存储条件;

第二获取模块,用于获取所有副本存储节点的存储介质标签;

存储模块,用于根据所述存储条件将文件副本发送给副本存储节点进行存储,并将存储信息发送给主存储节点记录在存储信息表上。

可选地,所述读取模块具体用于:

若存在不同存储介质标签的多个副本存储节点,则根据所述位置信息、所述存储介质标签和预设的存储介质优先级确定唯一的副本存储节点;

从确定后的副本存储节点上调用文件副本。

可选地,所述读取模块,还具体用于:

若存在相同存储介质标签的多个副本存储节点,则根据位置信息任选其中一个副本存储节点;

从选取后的副本存储节点上调用文件副本。

第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;

其中,所述处理器,存储器通过所述总线完成相互间的通信;

所述处理器执行所述计算机程序时实现如上述的方法。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法。

由上述技术方案可知,本发明实施例提供的一种数据处理方法及装置,通过接收用户端发送的文件名以及获取主存储节点上的存储信息表,并根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签,根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,做到存储合理,读取数据效率高。

附图说明

图1为本发明一实施例提供的数据处理方法的流程示意图;

图2为本发明一实施例提供的数据处理方法的流程示意图;

图3为本发明一实施例提供的数据处理装置的结构示意图;

图4为本发明一实施例提供的数据处理装置的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1示出了本发明一实施例提供一种数据处理方法,包括:

s11、接收用户端发送的读取请求,所述读取请求包括文件名;

s12、获取主存储节点上的存储信息表;

s13、根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;

s14、根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

针对步骤s11-步骤s14,需要说明的是,在本发明实施例中,用户通过用户端向要查看文件,此时用户会通过用户端向系统发送读取请,在该读取请求中至少包括文件名,便于匹配对应的文件副本。

在本发明实施例中,文件副本存储后,其存储信息会记录在主存储节点上的存储信息表。在本实施例中,该主存储节点可不用存储文件副本,可存储文件副本具体存储在哪个存储节点(即副本存储节点)上的信息,即存储节点的位置信息和存储节点的存储介质标签。

在本实施例中,存储介质标签可表示存储节点使用的是何种存储设备。如固态硬盘、普通硬盘、磁带等。

系统根据文件名从所述存储信息表中进行匹配,获得存储有对应该文件名的文件副本的副本存储节点和对应的存储介质标签。

系统会根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,具体可为:

1)、若存在不同存储介质标签的多个副本存储节点,则根据所述位置信息、所述存储介质标签和预设的存储介质优先级确定唯一的副本存储节点;从确定后的副本存储节点上调用文件副本。

针对情况1),需要说明的是,在本发明实施例中,系统根据存储介质标签可以得到多个副本存储节点均是采用何种存储介质。当存在不同存储介质标签的多个副本存储节点,则根据存储介质优先级确定唯一的副本存储节点,并根据位置信息从确定后的副本存储节点上调用文件副本。

2)、若存在相同存储介质标签的多个副本存储节点,则根据位置信息任选其中一个副本存储节点;从选取后的副本存储节点上调用文件副本。

针对情况2)需要说明的是,在本发明实施例中,系统根据存储介质标签可以得到多个副本存储节点均是采用何种存储介质。当存在相同存储介质标签的多个副本存储节点,并根据位置信息从选取后的副本存储节点上调用文件副本。

本发明实施例提供的一种数据处理方法,通过接收用户端发送的文件名以及获取主存储节点上的存储信息表,并根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签,根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,做到存储合理,读取数据效率高。

图2示出了本发明一实施例提供一种数据处理方法,包括:

s21、接收用户端发送的存储请求,所述存储请求包括文件副本、文件名和存储条件;

s22、获取所有副本存储节点的存储介质标签;

s23、根据所述存储条件将文件副本发送给副本存储节点进行存储,并将存储信息发送给主存储节点记录在存储信息表上;

s24、接收用户端发送的读取请求,所述读取请求包括文件名;

s25、获取主存储节点上的存储信息表;

s26、根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;

s27、根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

针对步骤s21-步骤s23,需要说明的是,在本发明实施例中,hdfs(hadoopdistributedfilesystem)是一种大数据分布式存储系统,它将任意大小的文件按照指定块大小(如256mb)分割成若干块,并且为了数据冗余备份,每个块有多个(默认为3个)副本。

hdfs将该文件的所有副本随机分布到大量数据节点(在本发明实施例中为了描述区分作为副本存储节点)上。

但存放在hdfs中的数据使用频率不一样,对存储的要求也不一样,比如某些数据经常使用(热数据),希望访问速度快。某些数据很少使用(冷数据),希望存储的成本低。

为此,目前业内提供多种类型存储介质,如固态硬盘(ssd)速度高,价格贵。普通硬盘速度较好,价格较贵。磁带速度慢,价格低。

在本实施例中,首先需要副本存储节点感知它使用的存储介质,为此需要给每个副本存储节点增加一个存储介质标签来标识存储介质,标签名和其对应的存储介质,如下表:

存储时,系统会接收用户端发送的存储请求,所述存储请求包括文件副本、文件名和存储条件。下表为三个文件副本的情况的存储条件进行的解释说明,如下:

系统会根据存储条件中从多个副本存储节点上选取合适的副本存储节点,并将文件副本放在选取的副本存储节点上。

针对步骤s24-步骤s27,需要说明的是,这些步骤与上述实施例所述步骤s11-步骤s241的原理相同,在此不再赘述。

本发明实施例提供的一种数据处理方法,通过存储条件存储在合适存储介质的副本存储节点上,并接收用户端发送的文件名以及获取主存储节点上的存储信息表,并根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签,根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,做到将数据放在合适的存储介质中,合理存储,同时读取数据效率高。

图3示出了本发明一实施例提供的一种数据处理装置,包括第一接收模块31、第一获取模块32、匹配模块33和读取模块34,其中:

第一接收模块31,用于接收用户端发送的读取请求,所述读取请求包括文件名;

第二获取模块32,用于获取主存储节点上的存储信息表;

匹配模块33,用于根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;

读取模块34,用于根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的一种数据处理装置,通过接收用户端发送的文件名以及获取主存储节点上的存储信息表,并根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签,根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,做到存储合理,读取数据效率高。

图4示出了本发明一实施例提供的一种数据处理装置,包括第二接收模块41、第二获取模块42、存储模块43、第一接收模块44、第一获取模块45、匹配模块46和读取模块47,其中:

第二接收模块41,用于接收用户端发送的存储请求,所述存储请求包括文件副本、文件名和存储条件;

第二获取模块42,用于获取所有副本存储节点的存储介质标签;

存储模块43,用于根据所述存储条件将文件副本发送给副本存储节点进行存储,并将存储信息发送给主存储节点记录在存储信息表上;

第一接收模块44,用于接收用户端发送的读取请求,所述读取请求包括文件名;

第二获取模块45,用于获取主存储节点上的存储信息表;

匹配模块46,用于根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;

读取模块47,用于根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的一种数据处理装置,通过存储条件存储在合适存储介质的副本存储节点上,并接收用户端发送的文件名以及获取主存储节点上的存储信息表,并根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签,根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本,做到将数据放在合适的存储介质中,合理存储,同时读取数据效率高。

本发明一实施例提供的一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;

其中,所述处理器,存储器通过所述总线完成相互间的通信;

所述处理器执行所述计算机程序时实现如上述的方法,例如包括:接收用户端发送的读取请求,所述读取请求包括文件名;获取主存储节点上的存储信息表;根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法,例如包括:接收用户端发送的读取请求,所述读取请求包括文件名;获取主存储节点上的存储信息表;根据所述文件名和所述存储信息表获得存储有对应所述文件名的文件副本的副本存储节点的位置信息和存储介质标签;根据所述位置信息和所述存储介质标签从对应的副本存储节点上调用文件副本。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

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