一种数据存储方法和协调节点技术

技术编号:15616904 阅读:80 留言:0更新日期:2017-06-14 03:35
本发明专利技术实施例涉及数据信息管理技术领域,尤其涉及一种数据存储方法和协调节点,用于有效存储数据,以便在查询数据时提升数据查询效率。本发明专利技术实施例中,CN根据获取的一条数据对应的数据表标识,确定出数据表标识对应的多个分布键;CN根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,其中,至少一个数据节点中的每个数据节点对应至少一个分布键,至少一个数据节点中每个数据节点的存储区标识表示每个数据节点对应的至少一个分布键,至少一个数据节点各自对应的存储区标识被至少一个数据节点中的每一个数据节点用于将数据存储在每一个数据节点的存储区。

【技术实现步骤摘要】
一种数据存储方法和协调节点
本专利技术实施例涉及数据信息管理
,尤其涉及一种数据存储方法和协调节点。
技术介绍
现有技术中,通常将不同领域的数据存储到不同的数据库中,以实现对数据的管理。不同的数据库组成分布式数据管理系统。分布式数据管理系统中包含至少一个协调节点(CoordinateNode,简称CN),至少一个数据节点(DataNode,简称DN)。任一协调节点和任一数据节点之间可通信,任两个数据节点之间也可通信。协调节点中包含全局优化查询器,全局优化查询器将各个数据表按照某种规则对数据表进行分区或分片。比如,将数据表中一个列或多个列作为该数据表的分布键的列,进而根据将数据根据一个分布键的列的哈希值进行分区或分片。将分区或分片之后的数据表中的数据根据一个分布键分别存储在多个不同的数据节点中,使每一个数据节点中存储的数据量得到均衡分配。每个数据节点可以根据全局优化查询器的指令管理和操作自身的存储的数据。由于数据库中涵盖的数据表种类比较多,因此在各个数据节点中存储的数据中,各个数据表作为分布键的列可能相同,也可能不同。在分布式数据管理系统中,用户登录客户端,连接数据库,向协调节点发出数据查询命令,协调节点的全局优化查询器接收到数据查询命令,并对数据查询命令进行解析,生成数据查询计划,并将生成的数据查询计划分发到每个数据节点。每个数据节点在接收到数据查询计划后,进行数据查询。有关联(join)的相关数据表的分布键相同,则相关联数据就可在相同节点内部进行关联,并将关联操作之后的结果发送至协调节点,从而能够较好提高数据查询效率。由于现有技术中存储数据的方法,使用户在进行数据查询的过程中,往往要重新分布数据节点中存储的数据,即数据查询过程中,多个数据节点之间需要进行数据的传输以及数据与分布键重新关联,降低了数据查询的效率,增加了网络的负担。可见,由于现有的数据存储方法导致用户在查询所存储的数据时,以非分布键进行查询的概率加大,导致各个数据节点之间大量的数据传输,为查询过程带来了不必要的开销,如此不足以满足当前高效率查询的需求。
技术实现思路
本专利技术实施例提供一种数据存储方法和协调节点,用于有效存储数据,以便匹配当前高效率查询的需求。本专利技术实施例提供一种数据存储方法,包括以下步骤:协调节点CN根据获取的一条数据对应的数据表标识,确定出数据表标识对应的多个分布键;CN根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,其中,至少一个数据节点中的每个数据节点对应多个分布键中的至少一个分布键,至少一个数据节点中每个数据节点的存储区标识表示每个数据节点对应的多个分布键中的至少一个分布键,至少一个数据节点各自对应的存储区标识被至少一个数据节点中的每一个数据节点用于将数据存储在每一个数据节点的存储区。由于CN根据获取的一条数据对应的数据表标识,确定出数据表标识对应的多个分布键,并根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,进而可使一条数据按多个分布键进行存储,通过该有效的数据存储方法,增加了数据对应的分布键,进而提高了用户查询数据时所使用的关键词为分布键的概率,降低了用户在非分布键上做关联等查询操作的机率,从而降低了各个节点之间进行数据重分布的机率,进而降低了开销以及网络和内容等资源的耗用,提高了数据查询效率。可选地,CN根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,包括:CN根据多个分布键,向一个数据节点发送数据和数据节点的存储区标识,存储区标识被数据节点用于将数据存储在数据节点的公共存储区。如此,避免了将该数据在一个数据节点的多个分布键中的每个分布键上均存储该数据,将数据存储于一个数据节点的公共存储区,节省了数据存储空间,减轻了网络负荷。可选地,CN根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,包括:CN根据多个分布键,向多个数据节点发送数据和多个数据节点各自对应的存储区标识,多个数据节点各自对应的存储区标识被多个数据节点中的每一个数据节点用于将数据分别存储在每一个数据节点的至少一个存储区,至少一个存储区为每一个数据节点对应的至少一个分布键各自的私有存储区。如此,则在查询数据时,可根据所查询的分布键,准确的确定出数据在数据节点上的存储位置,进而提高了数据查询效率。可选地,还包括:经过预设时长,CN获取数据表标识对应的至少一条历史查询记录;其中,每条历史查询记录中包括关联键,关联键表示历史查询记录中查询数据所使用的关键词;CN根据至少一条历史查询记录,确定出至少一条历史查询记录中出现频率大于阈值的至少一个关联键;CN将确定出的至少一个关联键作为数据表标识对应的至少一个新的分布键;CN根据至少一个新的分布键,更新数据表标识与分布键的对应关系。由于根据历史查询记录确定出用户查询数据时所使用的关键词,进而将确定出的关键词作为新的分布键,之后,进一步提高了用户查询数据时所使用的关键词为分布键的概率,降低了用户在非分布键上做关联等查询操作的机率,从而降低了各个节点之间进行数据重分布的机率,进而降低了开销以及网络和内容等资源的耗用,提高了数据查询效率。本专利技术实施例提供一种协调节点,包括:确定单元,用于根据获取的一条数据对应的数据表标识,确定出数据表标识对应的多个分布键;发送单元,用于根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,其中,至少一个数据节点中的每个数据节点对应多个分布键中的至少一个分布键,至少一个数据节点中每个数据节点的存储区标识表示每个数据节点对应的多个分布键中的至少一个分布键,至少一个数据节点各自对应的存储区标识被至少一个数据节点中的每一个数据节点用于将数据存储在每一个数据节点的存储区。由于CN根据获取的一条数据对应的数据表标识,确定出数据表标识对应的多个分布键,并根据多个分布键,向至少一个数据节点发送数据和至少一个数据节点各自对应的存储区标识,进而可使一条数据按多个分布键进行存储,通过该有效的数据存储方法,增加了数据对应的分布键,进而提高了用户查询数据时所使用的关键词为分布键的概率,降低了用户在非分布键上做关联等查询操作的机率,从而降低了各个节点之间进行数据重分布的机率,进而降低了开销以及网络和内容等资源的耗用,提高了数据查询效率。可选地,发送单元,具体用于:根据多个分布键,向一个数据节点发送数据和数据节点的存储区标识,存储区标识被数据节点用于将数据存储在数据节点的公共存储区。如此,避免了将该数据在一个数据节点的多个分布键中的每个分布键上均存储该数据,将数据存储于一个数据节点的公共存储区,节省了数据存储空间,减轻了网络负荷。可选地,发送单元,具体用于:根据多个分布键,向多个数据节点发送数据和多个数据节点各自对应的存储区标识,多个数据节点各自对应的存储区标识被多个数据节点中的每一个数据节点用于将数据分别存储在每一个数据节点的至少一个存储区,至少一个存储区为每一个数据节点对应的至少一个分布键各自的私有存储区。如此,则在查询数据时,可根据所查询的分布键,准确的确定出数据在数据节点上的存储位置,进而提高了数据查询效率。本文档来自技高网
...
一种数据存储方法和协调节点

【技术保护点】
一种数据存储方法,其特征在于,包括以下步骤:协调节点CN根据获取的一条数据对应的数据表标识,确定出所述数据表标识对应的多个分布键;所述CN根据所述多个分布键,向至少一个数据节点发送所述数据和所述至少一个数据节点各自对应的存储区标识,其中,所述至少一个数据节点中的每个数据节点对应所述多个分布键中的至少一个分布键,所述至少一个数据节点中每个数据节点的存储区标识表示所述每个数据节点对应的所述多个分布键中的至少一个分布键,所述至少一个数据节点各自对应的存储区标识被所述至少一个数据节点中的每一个数据节点用于将所述数据存储在所述每一个数据节点的存储区。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括以下步骤:协调节点CN根据获取的一条数据对应的数据表标识,确定出所述数据表标识对应的多个分布键;所述CN根据所述多个分布键,向至少一个数据节点发送所述数据和所述至少一个数据节点各自对应的存储区标识,其中,所述至少一个数据节点中的每个数据节点对应所述多个分布键中的至少一个分布键,所述至少一个数据节点中每个数据节点的存储区标识表示所述每个数据节点对应的所述多个分布键中的至少一个分布键,所述至少一个数据节点各自对应的存储区标识被所述至少一个数据节点中的每一个数据节点用于将所述数据存储在所述每一个数据节点的存储区。2.如权利要求1所述的方法,其特征在于,所述CN根据所述多个分布键,向至少一个数据节点发送所述数据和所述至少一个数据节点各自对应的存储区标识,包括:所述CN根据所述多个分布键,向一个数据节点发送所述数据和所述数据节点的存储区标识,所述存储区标识被所述数据节点用于将所述数据存储在所述数据节点的公共存储区。3.如权利要求1所述的方法,其特征在于,所述CN根据所述多个分布键,向至少一个数据节点发送所述数据和所述至少一个数据节点各自对应的存储区标识,包括:所述CN根据所述多个分布键,向多个数据节点发送所述数据和所述多个数据节点各自对应的存储区标识,所述多个数据节点各自对应的存储区标识被所述多个数据节点中的每一个数据节点用于将所述数据分别存储在所述每一个数据节点的至少一个存储区,所述至少一个存储区为所述每一个数据节点对应的至少一个分布键各自的私有存储区。4.如权利要求1至3任一权利要求所述的方法,其特征在于,还包括:经过预设时长,所述CN获取所述数据表标识对应的至少一条历史查询记录;其中,每条历史查询记录中包括关联键,所述关联键表示所述历史查询记录中查询数据所使用的关键词;所述CN根据所述至少一条历史查询记录,确定出所述至少一条历史查询记录中出现频率大于阈值的至少一个关联键;所述CN将确定出的所述至少一个关联键作为所述数据表标识对应的至少一个新的分布键;所述CN根据所述至少一个新的分布键,更新所述数据表标识与分布键的对应关系。5.一种协调节点,其特征在于,包括:确定单元,用于根据获取的一条数据对应的数据表标识,确定出所述数据表标识对应的多个分布键;发送单元,用于根据所述多个分布键,向至少一个数据节点发送所述数据和所述至少一个数据节点各自对应的存储区标识,其中,所述至少一个数据节点中的每个数据节点对应所述多个分布键中的至少一个分布键,所述至少一个数据节点中每个数据节点的存储区标识表示所述每个数据节点对应的所述多个分布键中的至少一个分布键,所述至少一个数据节点各自对应的存储区标识被所述至少一个数据节点中的每一个数据节点用于将所述数据存储在所述每一个数据节点的存储区。6.如权利要求5所述的协调节点,其特征在于,所述发送单元,具体用于:根据所述多个分布键,向一个数据节点发送所述数据和所述数据节点的存储区标识,所述存储区标识被所述数据节点用于将所述数据存储在所述数据节点的公共存储区。7.如权利要求5所述的协调节点,其特征在于,所述发送单元,具体用于:根据所述多个分布键,向多个数据节点发送所述数据和所述多个数据节点各自对应的存储区标识,所述多个...

【专利技术属性】
技术研发人员:张金玉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1