CN102725753A - 优化数据访问的方法及装置、优化数据存储的方法及装置 - Google Patents

优化数据访问的方法及装置、优化数据存储的方法及装置 Download PDF

Info

Publication number
CN102725753A
CN102725753A CN2011800025376A CN201180002537A CN102725753A CN 102725753 A CN102725753 A CN 102725753A CN 2011800025376 A CN2011800025376 A CN 2011800025376A CN 201180002537 A CN201180002537 A CN 201180002537A CN 102725753 A CN102725753 A CN 102725753A
Authority
CN
China
Prior art keywords
data
input
key assignments
piecemeal
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800025376A
Other languages
English (en)
Other versions
CN102725753B (zh
Inventor
智伟
赵智峰
周帅锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102725753A publication Critical patent/CN102725753A/zh
Application granted granted Critical
Publication of CN102725753B publication Critical patent/CN102725753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种优化数据访问的方法及装置、以及一种优化数据存储的方法及装置,该优化数据访问的方法包括:主控制器接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;根据所述输入分块信息确定Map任务个数;按照所述Map任务个数分配从处理器读取所述数据表中的数据;将所述从处理器读取的数据返回给所述用户。

Description

优化数据访问的方法及装置、优化数据存储的方法及装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种优化数据访问的方法及装置、以及一种优化数据存储的方法及装置。
背景技术
MapReduce作为大规模数据并行处理方法,已经广泛应用于大规模数据分析中。HBASE(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,HBASE可以作为MapReduce的数据来源和数据目的地,从而使得MapReduce能够处理HBASE中保存的数据或者将输出数据保存在HBASE中。
在HBASE作为MapReduce的数据来源时,通过表名和范围查询对象来定义MapReduce访问的表和访问的数据范围,其中范围查询对象通过制定起始键值和终止键值来定义数据查询范围。
当用户程序调用MapReduce函数,就会引起如下操作:
(1)MapReduce根据表名从HBASE中获取制定表的所有分区(Region)信息,通过比较范围查询对象定义数据范围和所有分区信息得到分块信息和个数M。
(2)主控制器根据分块信息和个数创建Map(映射)任务,每个Map任务处理一个分块中的数据。
(3)其它流程同基本MapReduce过程。
在HBASE作为MapReduce的数据目的地时,通过表名来定义MapReduce数据将要保存的表,主要有如下操作:
(1)用户程序中的MapReduce函数库首先将输入文件分成M块,根据数据要保存的表,访问HBASE元数据表得到表对应的范围信息,通过范围信息指定Reduce(化简)个数R。
(2)主控制器得到输入划分信息,为每个划分创建一个Map任务。根据配置的Reduce数量,创建Reduce任务。总共有M个Map任务和R个Reduce任务需要分派。主控制器向从处理器分派任务。总共有M个Map任务和R个Reduce任务需要分派。
(3)其它流程同基本MapReduce过程。
由上述处理过程可以看出,现有技术至少存在以下问题:
在HBASE作为MapReduce的数据来源时,根据一个范围查询对象中的数据查询范围来定义MapReduce访问的数据范围,为了使符合要求的记录数据不被遗漏,只能通过扩大范围查询对象指定的数据范围,从而导致涵盖过多分区且分区中包含大量无效数据。MapReduce程序读取分区中的符合要求的记录外,还必须读取大量无效记录进行比较并丢弃,造成大量无效操作,严重降低了数据处理执行速度。
在HBASE作为MapReduce的数据目的地时,如果数据保存的分区范围有限,则会产生多个无用Reduce进程,浪费调度时间和系统资源,降低了数据处理执行速度。
发明内容
本发明实施例一方面提供一种优化数据访问的方法及装置,以减少无效数据的读取,提高数据处理效率。
本发明实施例一方面提供一种优化数据存储的方法及装置,以减少无效MapReduce任务的执行,提高数据处理效率。
为了解决以上技术问题,本发明实施例采取的技术方案是:
一种优化数据访问的方法,包括:
主控制器接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
根据所述输入分块信息确定Map任务个数;
按照所述Map任务个数分配从处理器读取所述数据表中的数据;
将所述从处理器读取的数据返回给所述用户。
一种优化数据存储的方法,包括:
主控制器接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围;
根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息;
根据所述输出分块信息确定Reduce任务个数;
按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
一种优化数据访问的装置,包括:
接收单元,用于接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
输入分块单元,用于根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
任务确定单元,用于根据所述输入分块信息确定Map任务个数;
分配单元,用于按照所述Map任务个数分配从处理器读取所述数据表中的数据;
发送单元,用于将所述从处理器读取的数据返回给所述用户。
一种优化数据存储的装置,包括:
接收单元,用于接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围;
输出分块单元,用于根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息;
任务确定单元,用于根据所述输出分块信息确定Reduce任务个数;
分配单元,用于按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
本发明实施例优化数据访问的方法及装置,在HBASE作为MapReduce的数据来源时,通过指定多个数据输入范围来减少无效数据的读取,提高数据处理效率;相应地,本发明实施例优化数据存储的方法及装置,在HBASE作为MapReduce的数据目的地时,通过指定多个数据输出范围来减少无效MapReduce任务的执行,提高数据处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的MapReduce的操作流程示意图;
图2是现有HBASE数据库中表的数据模型示意图;
图3是现有技术中HBASE作为数据来源时MapReduce的操作流程示意图;
图4是现有技术中HBASE作为数据目的地时MapReduce的操作流程示意图;
图5是本发明实施例优化数据访问的方法的流程图;
图6是本发明实施例HBASE中数据表的示意图;
图7是按照现有技术中对图6所示数据表进行查询的示意图;
图8是按照本发明实施例的方法对图6所示数据表进行查询的示意图;
图9是本发明实施例优化数据存储的方法的流程图;
图10是按照现有技术中对图4所示数据表进行存储的示意图;
图11是按照本发明实施例的方法对图4所示数据表进行存储的示意图;
图12是本发明实施例优化数据访问的装置的结构示意图;
图13是本发明实施例优化数据访问的装置中输入分块单元的一种结构示意图;
图14是本发明实施例优化数据存储的装置的结构示意图;
图15是是本发明实施例优化数据存储的装置中输出分块单元的一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
下面首先对现有的MapReduce的操作流程作简单说明。
如图1所示,MapReduce包括三个独立的实体,分别为:用户程序、主控制器、从处理器。其中,主控制器用于协调作业的运行,向从处理器分派任务;从处理器处理作业运行后的Map任务和Reduce任务。
当用户程序调用MapReduce函数时,会引起如下操作:
1)用户程序中的MapReduce函数库首先将输入文件分成M块。
2)主控制器得到输入划分信息,为每个划分创建一个Map任务。根据配置的Reduce数量,创建Reduce任务。总共有M个Map任务和R个Reduce任务需要分派。主控制器向从处理器分派任务。
3)一个分配了Map任务的从处理器读取并处理相关的输入小块。
4)Map任务缓冲到内存的中间结果将被定期写到本地硬盘,数据通过分区函数分成R个区。中间结果在本地硬盘的位置信息将被发送回主控制器,然后主控制器负责将这些位置信息传送给Reduce任务的从处理器。
5)当主控制器通知Reduce任务的从处理器中间数据位置时,从Map任务的从处理器的本地硬盘上读取缓冲的中间数据。
6)Reduce任务的从处理器处理中间数据,将中间结果值集合传递给用户定义的Reduce函数。该Reduce函数中对于本Reduce区块的输出到一个最终的输出文件。
7)当所有的Map任务和Reduce任务都已经完成了的时候,主控制器激活用户程序,MapReduce返回用户程序的调用点。
HBASE作为分布式列存储数据库,其中表的数据模型如图2所示:
图2中所示为一个HBASE表中的数据,包括以下信息:
行键(RowKey):每一行数据的标识,类似关系数据库中表的主键。
列簇(Column Family),HBASE表是不同列簇的集合。类似关系数据库中表的列,需要预先定义。与关系数据库中表的列不同的是,列簇下可以有多个列。
列(Column),是列簇下的一个标签,可以在写入数据时任意添加。
列值(Value),与关系数据库中的列的值类似。
分区(Region),表中数据按照一定大小进行分区组织。当表中列簇下数据达到阈值时,分区会分裂,建立新的分区,将原来列簇下的数据按照行键顺序搬迁一部分到新的分区中。
HBASE可以作为MapReduce的数据来源,也就是说,MapReduce可以处理HBASE中保存的数据。
如图3所示,当用户程序调用MapReduce函数时,会引起如下操作:
1)MapReduce根据表名从HBASE中获取制定表的所有Region信息,通过比较范围查询对象定义数据范围和所有Region范围信息得到分块信息和个数。
2)主控制器根据上述分块信息和个数创建Map任务,每个Map任务处理一个分块中的数据。
3)主控制器向从处理器分派Map任务。
4)其它流程同基本MapReduce过程。
HBASE也可以作为MapReduce的数据出口,也就是说,MapReduce可以将输出数据存储到HBASE中,通过表名来定义MapReduce的数据要存储的表。
如图4所示,当用户程序调用MapReduce函数时,会引起如下操作:
1)用户程序中的MapReduce函数首先将输入文件分成多个分块,根据数据要保存的表,访问HBASE数据表得到表对应的Region信息,通过Region信息指定Reduce个数。
2)主控制器得到输入文件分块信息,为每个分块创建一个Map任务。根据配置的Reduce数量,创建Reduce任务。
3)主控制器向从处理器分派Map任务和Reduce任务。
4)其它流程同基本MapReduce过程。
本发明实施例优化数据访问的方法及装置,针对上述现有技术存在的问题,在HBASE作为MapReduce的数据来源时,通过指定多个数据输入范围来减少无效数据的读取,提高数据处理效率。
相应地,本发明实施例优化数据存储的方法及装置,针对上述现有技术存在的问题,在HBASE作为MapReduce的数据目的地时,通过指定多个数据输出范围来减少无效MapReduce任务的执行,提高数据处理效率。
下面分别对本发明实施例优化数据访问的方法及装置、以及优化数据存储的方法及装置进行详细说明。
如图5所示,是本发明实施例优化数据访问的方法的流程图,包括以下步骤:
步骤501,主控制器接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围。
上述多个数据输入范围可以通过分隔符进行分割,相应地,主控制器可以利用分隔符对输入字符串进行划分来获取多个数据输入范围。
所述数据输入范围可以采用多种形式,比如,可以是以下任意一种形式:
a)列表形式,并且列表中包含多个范围查询对象,每个范围查询对象为一个数据输入范围,例如:
SCAN1(20010101,20010131),
SCAN2(20010201,20010228),
SCAN3(20010301,20010331)。
b)列表形式,并且列表中包含多个起始、终止数据范围对,每个起始、终止数据范围对表示一个数据范围,例如:
(20010101,20010131),
(20010201,20010228),
(20010301,20010331)。
c)文件形式,即通过文件的形式,将多个数据输入范围保存在文件中,主控制器通过读取文件获取数据输入范围,例如:
(20010101,20010131),(20010201,20010228),(20010301,20010331)。
步骤502,根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息。
在该过程中,可以首先获取所述数据表中所有分区的起始键值和终止键值,然后将所述数据输入范围信息中的每个数据输入范围分别与各分区的起始键值和终止键值进行比较,得到每个数据输入范围在各分区中的覆盖范围,根据该覆盖范围即可确定输入分块信息。
另外,在得到每个数据输入范围在各分区中的覆盖范围后,也可以先将得到的所有覆盖范围中属于同一个分区并且连续的覆盖范围合并,然后再根据合并后的覆盖范围确定输入分块信息。
为了进一步提高处理效率,在上述过程中,在将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较之前,可以先对所述数据输入范围信息中的数据输入范围进行排序,然后对排序后的数据输入范围依次与各分区的起始键值和终止键值进行比较。
当然,也可以不进行上述排序,而是在得到每个数据输入范围在各分区中的覆盖范围后,对得到的所有覆盖范围进行排序,然后再将其中属于同一个分区并且连续的覆盖范围合并。
上述输入分块信息可以包括:输入分块个数及每个输入分块的起始键值和终止键值。
步骤503,根据所述输入分块信息确定Map任务个数。
具体地,可以根据所述输入分块个数确定Map任务个数,每个Map任务对应一个输入分块。
步骤504,按照所述Map任务个数分配从处理器读取所述数据表中的数据。
具体地,主控制器可以为每个Map任务分配一个从处理器,并将所述Map任务对应的输入分块的起起始键值和终止键值传送给所述从处理器。相应地,所述从处理器根据所述输入分块的起起始键值和终止键值读取所述数据表中的数据。
步骤505,将所述从处理器读取的数据返回给所述用户。
需要说明的是,在上述用户访问HBASE中数据表的请求中,还包括所述数据表的表名信息。在实际应用中,主控制器接收到该请求后,可以先对该请求中的表名及携带的各数据输入范围进行检查,判断这些信息是否正确。也就是说,根据该请求中的表名信息检查HBASE中是否有相应的数据表,以及所述数据输入范围是否在相应数据表存储的数据范围内。如果这些信息正确,再执行上述步骤502。
具体地,可以查询HBASE的系统表,如果所述系统表中没有所述表名,则说明输入表错误;如果有所述表名,则说明表名正确。然后获取所述表名对应的数据表的Region信息,通过比较数据输入范围和Region信息,如果数据输入范围小于表的起始键值或者大于表的终止键值则可确定数据输入范围不正确,否则可以确定数据输入范围正确。
另外,本发明实施例优化数据访问的方法在实际应用中,也可以与现有的方法相兼容,比如,主控制器接收到用户访问HBASE中数据表的请求后,判断该请求中是否携带了多个数据输入范围,如果是,则按照上述步骤502至步骤504的流程访问HBASE中的数据表;否则,按照现有技术的方式访问HBASE中的数据表。
下面举例进一步说明本发明实施例优化数据访问的方法中MapReduce的处理过程与现有技术的区别。
例如,图6所示的HBASE中的一个数据表,该数据表为影片访问信息表,表示不同影片在每天被不同类型终端访问的次数。
图6所示的数据表中的Region信息如下表1所示。
表1:
  Region名称   起始键值   终止键值
  Region0   影片1#20110104   影片1#20110808
  Region1   影片2#20110102   影片2#20110808
  Region2   影片3#20110101   影片3#20110808
如果按照现有技术,对图6所示的数据表执行MapReduce处理,汇聚8月份第一周每个影片不同终端的访问总量,则处理过程如图7所示,具体如下:
设置范围查询对象的起始键值为:影片1#20110801,结束键值为:影片3#20110807。
将范围查询对象起始键值和结束键值和Region信息进行比较得到有效输入数据范围为:
Region0(影片1#20110801,影片1#20110808)
Region1(影片2#20110102,影片2#20110808)
Region2(影片3#20110101,影片1#20110807)
这些有效输入数据范围属于三个不同的Region,实际上其中每个有效数据范围中可能会包括无效数据。
将该有效输入数据范围划分为三个不同的分块信息,分别为:
第一个分块信息:影片1#20110801--影片 1#20110808,其中影片1#20110808为无效数据。
第二个分块信息:影片2#20110102--影片 2#20110808,其中影片2#20110101-影片2#20110731,影片2#20110808为无效数据。
第三个分块信息:影片3#20110101--影片 1#20110807,其中影片3#20110101-影片3#20110731为无效数据。
因此,主控制器根据这三个分块信息启动三个Map任务,分派给从处理器进行处理。三个Map任务分别处理不同分块中的数据,而上述无效数据也被包含在上述分块中。从处理器在处理数据时会从HBASE表中读取各分块中的每条记录,判断是否是8月第一周数据,如果是则进行相加,如果不是则直接丢弃不进行处理。如图7所示,粗线框内的数据为有效数据,其它为无效数据。
由此可见,按照Map任务会读取大量无效数据进行判断,造成大量无效操作,降低了数据处理执行速度,使得效率较低。
如果按照本发明实施例优化数据访问的方法,对图6所示的数据表执行MapReduce处理,汇聚8月份第一周每个影片不同终端的访问总量,则处理过程如图8所示,具体如下:
1.主控制器接收用户进行数据访问的请求,所述请求中携带多个数据输入范围信息,比如,在该示例中,有3个数据输入范围,具体如下:
SCAN1(起始键值:影片1#20110801,终止键值:影片1#20110807);
SCAN2(起始键值:影片2#20110801,终止键值:影片2#20110807);
SCAN3(起始键值:影片3#20110801,终止键值:影片3#20110807)。
2.调用MapReduce分别对每个数据输入范围进行分块划分,其中:
对于第一个数据输入范围和Region信息进行比较,得到有效输入数据范围为:
Region0(影片1#20110801,影片1#20110807);
对于第二个数据输入范围和Region信息进行比较,得到有效输入数据范围为:
Region1(影片2#20110801,影片2#20110807);
对于第三个数据输入范围和Region信息进行比较,得到有效输入数据范围为:
Region2(影片3#20110801,影片3#20110807)。
上述有效输入数据范围属于三个不同的Region,因此根据上述得到的三个有效输入数据范围,得到三个不同的输入分块信息,分别为:
SPLIT0(影片1#20110801......影片1#20110807)
SPLIT1(影片2#20110801......影片2#20110807)
SPLIT2(影片3#20110801......影片3#20110807)。
3.根据上述输入分块信息和个数,主控制器启动三个Map任务,分派给从处理器进行处理。三个Map任务分别处理不同输入分块信息中的数据。由图6可以看出,上述三个输入分块信息中的数据均为有效数据,而不包含无效数据。
由此可见,本发明实施例优化数据访问的方法中,通过细分和设置多个数据输入范围,即查询对象,通过简单的多次比较操作限定有效输入数据范围,使得数据处理过程中减少了大量无效数据的读取,大大提高了处理效率。
如图9所示,是本发明实施例优化数据存储的方法的流程图,包括以下步骤:
步骤901,主控制器接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围。
上述多个数据输出范围可以通过分隔符进行分割,相应地,主控制器利用分隔符对输出字符串进行划分来获取多个数据输出范围。
所述数据输出范围可以采用多种形式,比如,可以是以下任意一种形式:
a)列表形式,列表中包含一个起始、终止数据范围对,例如:
(20010101,20010331)。
c)列表形式,并且列表中包含多个起始、终止数据范围对,每个起始、终止数据范围对表示一个数据输出范围,例如:
(20010101,20010131),
(20010201,20010228),
(20010301,20010331)。
d)文件形式,即通过文件的形式,将一个或多个数据输出范围保存在文件中,主控制器通过读取文件获取数据输出范围,例如:
(20010101,20010131),(20010201,20010228),(20010301,20010331)。
步骤902,根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息。
在该过程中,可以首先获取所述数据表中所有分区的起始键值和终止键值,然后将所述数据输出范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输出范围覆盖的分区信息,根据所述分区信息确定输出分块信息。
上述输出分块信息包括:输出分块个数。
步骤903,根据所述输出分块信息确定Reduce任务个数。
具体地,可以根据所述输出分块个数确定Reduce任务个数,每个Reduce任务对应一个输出分块。
步骤904,按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
具体地,主控制器可以为每个Reduce任务分配一个从处理器,并将所述Reduce任务对应的存储数据传送给所述从处理器。相应地,所述从处理器将所述Reduce任务对应的存储数据写入所述输出分块对应的分区中。
下面举例进一步说明本发明实施例优化数据存储的方法中MapReduce的处理过程与现有技术的区别。
假设下表2是影片3的最新访问信息,需要将该信息保存到HBASE的数据表中,数据输出的表为图6所示的影片访问信息表。
表2:
Figure BDA0000122671410000121
如果按照现有技术,对表2所示的信息执行MapReduce处理,则处理过程如下:
根据图6所示的数据表中的Region信息得到输出数据范围:
Region0(影片1#20110104,影片1#20110808);
Region1(影片2#20110101,影片2#20110808);
Region2(影片3#20110101,影片3#20110808)。
这些输出数据范围属于三个不同的Region,则主控制器设置三个不同的Reduce任务,分派给从处理器上进行处理。其中每个Reduce任务处理一个输出数据范围,将满足条件“起始键值<输入数据≤终止键值”的数据保存在相应的Region内。
而表2中需要保存到HBASE的数据表中的实际数据范围为影片3#20110809--影片3#20110812,其属于Region2对应的Reduce数据范围内,因而Region0和Region1对应的Reduce不会处理任何数据。也就是说,由于实际输入数据满足Region2的数据范围,因此表2中的数据将保存在Region2中,而另外两个Reduce任务则无任何输出数据,为无效Reduce任务,如图10所示。
由此可见,现有技术中按照Reduce任务会产生多个无效的Reduce进程,浪费调度时间和资源,降低数据处理执行速度。
如果按照本发明实施例优化数据存储的方法,对表2所示的信息执行MapReduce处理,则处理过程如图11所示,具体如下:
1.主控制器接收用户进行数据存储的请求,所述请求中携带数据输出范围信息,比如,在该示例中,携带的数据输出范围信息为:<影片3#20110809,影片3#20110812>。
2.MapReduce对数据输出范围和图6所示的数据表的Region信息进行比较,得到有效输出数据范围,即Region2(影片3#20110101,影片3#20110808)。该有效输出数据范围只属于一个Region。
因此根据上述得到的一个有效输出数据范围,得到一个输出分块信息:
Region2(影片3#20110101,影片3#20110808)
3.主控制器根据上述输出分块信息,设置1个Reduce任务。分派给从处理器进行处理。
由此可见,本发明实施例数据存储的方法,通过细分和设置输出数据范围,通过简单的比较操作限定有效输出数据范围,使得数据处理过程中减少了大量无效Reduce任务的启动和销毁,大大提高了处理效率。
相应地,本发明实施例还提供一种优化数据访问的装置,如图12所示,是该装置的一种结构示意图。
在该实施例中,所述优化数据访问的装置包括:
接收单元121,用于接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
输入分块单元122,用于根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
任务确定单元123,根据所述输入分块信息确定Map任务个数;
分配单元124,用于按照所述Map任务个数分配从处理器读取所述数据表中的数据;
发送单元125,用于将所述从处理器读取的数据返回给所述用户。
上述输入分块单元122可以有多种方式实现,比如,如图13所示,该输入分块单元122可以包括:分区信息获取子单元1221,比较子单元1222,合并子单元1223和分块信息确定子单元1224。其中:
所述分区信息获取子单元1221,用于获取所述数据表中所有分区的起始键值和终止键值;
所述比较子单元1222,用于将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输入范围在各分区中的覆盖范围;
所述合并子单元1223,用于将所述比较子单元得到的所有覆盖范围中属于同一个分区并且连续的覆盖范围合并;
所述分块信息确定子单元1224,用于根据合并后的覆盖范围确定输入分块信息。
需要说明的是,上述合并子单元1223是可选的,也就是说,分块信息确定子单元1224也可以直接根据比较子单元1222得到的覆盖范围确定输入分块信息。
为了进一步提高处理效率,上述输入分块单元122还可进一步包括:排序子单元1225,用于在所述比较子单元1222将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较之前,对所述数据输入范围信息中的数据输入范围进行排序。
在本发明实施例中,所述输入分块信息可以包括:输入分块个数及每个输入分块的起始键值和终止键值。
相应地,上述任务确定单元123可以根据所述输入分块个数确定Map任务个数,每个Map任务对应一个输入分块。
相应地,上述分配单元124可以为每个Map任务分配一个从处理器,并将所述Map任务对应的输入分块的起起始键值和终止键值传送给所述从处理器,以使所述从处理器根据所述输入分块的起起始键值和终止键值读取所述数据表中的数据。
本发明实施例优化数据访问的装置可以作为MapReduce中的主控制器,利用该装置,可以通过简单的多次比较操作限定有效输入数据范围,使得数据处理过程中减少了大量无效数据的读取,大大提高了处理效率。具体处理过程可参照前面本发明实施例优化数据访问的方法中的描述,在此不再赘述。
相应地,本发明实施例还提供一种优化数据存储的装置,如图14所示,是该装置的一种结构示意图。
在该实施例中,所述优化数据存储的装置包括:
接收单元131,用于接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围;
输出分块单元132,用于根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息;
任务确定单元133,用于根据所述输出分块信息确定Reduce任务个数;
分配单元134,用于按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
上述输出分块单元132可以有多种方式实现,比如,如图15所示,该输出分块单元132可以包括:分区信息获取子单元1321,比较子单元1322和分块信息确定子单元1323。其中:
所述分区信息获取子单元1321,用于获取所述数据表中所有分区的起始键值和终止键值;
所述比较子单元1322,用于将所述数据输出范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输出范围覆盖的分区信息;
所述分块信息确定子单元1323,用于根据所述分区信息确定输出分块信息。
当然,上述输出分块单元132还可以有其它实现方式,对此本发明实施例不做限定。
在本发明实施例中,所述输出分块信息可以包括:输出分块个数。
相应地,上述任务确定单元133可以根据所述输出分块个数确定Reduce任务个数,每个Reduce任务对应一个输出分块;
相应地,上述分配单元134可以为每个Reduce任务分配一个从处理器,并将所述Reduce任务对应的存储数据传送给所述从处理器,以使所述从处理器将所述Reduce任务对应的存储数据写入所述输出分块对应的分区中。
本发明实施例优化数据存储的装置可以作为MapReduce中的主控制器,利用该装置,可以通过简单的比较操作限定有效输出数据范围,使得数据处理过程中减少了大量无效Reduce任务的启动和销毁,大大提高了处理效率。具体处理过程可参照前面本发明实施例优化数据访问的方法中的描述,在此不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (18)

1.一种优化数据访问的方法,其特征在于,包括:
主控制器接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
根据所述输入分块信息确定Map任务个数;
按照所述Map任务个数分配从处理器读取所述数据表中的数据;
将所述从处理器读取的数据返回给所述用户。
2.如权利要求1所述的方法,其特征在于,所述多个数据输入范围为以下任意一种形式:
列表形式,并且列表中包含多个范围查询对象,每个范围查询对象为一个数据输入范围;
列表形式,并且列表中包含多个起始、终止数据范围对,每个起始、终止数据范围对表示一个数据输入范围;
文件形式。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息包括:
获取所述数据表中所有分区的起始键值和终止键值;
将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输入范围在各分区中的覆盖范围;
根据所述覆盖范围确定输入分块信息。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在根据所述覆盖范围确定输入分块信息之前,将得到的所有覆盖范围中属于同一个分区并且连续的覆盖范围合并;
所述根据所述覆盖范围确定输入分块信息包括:
根据合并后的覆盖范围确定输入分块信息。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
在将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较之前,对所述数据输入范围信息中的数据输入范围进行排序。
6.如权利要求3或4或5所述的方法,其特征在于,所述输入分块信息包括:输入分块个数及每个输入分块的起始键值和终止键值;
所述根据所述输入分块信息确定Map任务个数包括:根据所述输入分块个数确定Map任务个数,每个Map任务对应一个输入分块;
所述按照所述Map任务个数分配从处理器读取所述数据表中的数据包括:
为每个Map任务分配一个从处理器,并将所述Map任务对应的输入分块的起始键值和终止键值传送给所述从处理器,以使所述从处理器根据所述输入分块的起起始键值和终止键值读取所述数据表中的数据。
7.一种优化数据存储的方法,其特征在于,包括:
主控制器接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围;
根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息;
根据所述输出分块信息确定Reduce任务个数;
按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
8.如权利要求7所述的方法,其特征在于,所述数据输出范围为以下任意一种形式:
列表形式,并且列表中包含一个或多个起始、终止数据范围对,每个起始、终止数据范围对表示一个数据输出范围;
文件形式。
9.如权利要求7或8所述的方法,其特征在于,所述根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息包括:
获取所述数据表中所有分区的起始键值和终止键值;
将所述数据输出范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输出范围覆盖的分区信息;
根据所述分区信息确定输出分块信息。
10.如权利要求9所述的方法,其特征在于,所述输出分块信息包括:输出分块个数;
所述根据所述输出分块信息确定Reduce任务个数包括:根据所述输出分块个数确定Reduce任务个数,每个Reduce任务对应一个输出分块;
所述按照所述Reduce任务个数分配从处理器向所述数据表中写入数据包括:
为每个Reduce任务分配一个从处理器,并将所述Reduce任务对应的存储数据传送给所述从处理器,以使所述从处理器将所述Reduce任务对应的存储数据写入所述输出分块对应的分区中。
11.一种优化数据访问的装置,其特征在于,包括:
接收单元,用于接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
输入分块单元,用于根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
任务确定单元,用于根据所述输入分块信息确定Map任务个数;
分配单元,用于按照所述Map任务个数分配从处理器读取所述数据表中的数据;
发送单元,用于将所述从处理器读取的数据返回给所述用户。
12.如权利要求11所述的装置,其特征在于,所述输入分块单元包括:
分区信息获取子单元,用于获取所述数据表中所有分区的起始键值和终止键值;
比较子单元,用于将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输入范围在各分区中的覆盖范围;
分块信息确定子单元,用于根据所述覆盖范围确定输入分块信息。
13.如权利要求12所述的装置,其特征在于,所述输入分块单元还包括:
合并子单元,用于将所述比较子单元得到的所有覆盖范围中属于同一个分区并且连续的覆盖范围合并;
所述分块信息确定子单元,具体用于根据所述合并子单元合并后的覆盖范围确定输入分块信息。
14.如权利要求12或13所述的装置,其特征在于,所述输入分块单元还包括:
排序子单元,用于在所述比较子单元将所述数据输入范围信息中的数据输入范围分别与各分区的起始键值和终止键值进行比较之前,对所述数据输入范围信息中的数据输入范围进行排序。
15.如权利要求12或13或14所述的装置,其特征在于,所述输入分块信息包括:输入分块个数及每个输入分块的起始键值和终止键值;
所述任务确定单元,具体用于根据所述输入分块个数确定Map任务个数,每个Map任务对应一个输入分块;
所述分配单元,具体用于为每个Map任务分配一个从处理器,并将所述Map任务对应的输入分块的起起始键值和终止键值传送给所述从处理器,以使所述从处理器根据所述输入分块的起起始键值和终止键值读取所述数据表中的数据。
16.一种优化数据存储的装置,其特征在于,包括:
接收单元,用于接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围;
输出分块单元,用于根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息;
任务确定单元,用于根据所述输出分块信息确定Reduce任务个数;
分配单元,用于按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
17.如权利要求16所述的装置,其特征在于,所述输出分块单元包括:
分区信息获取子单元,用于获取所述数据表中所有分区的起始键值和终止键值;
比较子单元,用于将所述数据输出范围分别与各分区的起始键值和终止键值进行比较,得到所述数据输出范围覆盖的分区信息;
分块信息确定子单元,用于根据所述分区信息确定输出分块信息。
18.如权利要求17所述的装置,其特征在于,所述输出分块信息包括:输出分块个数;
所述任务确定单元,具体用于根据所述输出分块个数确定Reduce任务个数,每个Reduce任务对应一个输出分块;
所述分配单元,具体用于为每个Reduce任务分配一个从处理器,并将所述Reduce任务对应的存储数据传送给所述从处理器,以使所述从处理器将所述Reduce任务对应的存储数据写入所述输出分块对应的分区中。
CN201180002537.6A 2011-11-28 2011-11-28 优化数据访问的方法及装置、优化数据存储的方法及装置 Active CN102725753B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/083021 WO2013078583A1 (zh) 2011-11-28 2011-11-28 优化数据访问的方法及装置、优化数据存储的方法及装置

Publications (2)

Publication Number Publication Date
CN102725753A true CN102725753A (zh) 2012-10-10
CN102725753B CN102725753B (zh) 2014-01-01

Family

ID=46950464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180002537.6A Active CN102725753B (zh) 2011-11-28 2011-11-28 优化数据访问的方法及装置、优化数据存储的方法及装置

Country Status (2)

Country Link
CN (1) CN102725753B (zh)
WO (1) WO2013078583A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150403A (zh) * 2013-03-28 2013-06-12 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103198109A (zh) * 2013-03-28 2013-07-10 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103226532A (zh) * 2013-03-28 2013-07-31 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103646073A (zh) * 2013-12-11 2014-03-19 浪潮电子信息产业股份有限公司 一种基于HBase表的条件查询优化方法
CN103838632A (zh) * 2012-11-21 2014-06-04 阿里巴巴集团控股有限公司 数据查询方法及装置
CN104112011A (zh) * 2014-07-16 2014-10-22 深圳市国泰安信息技术有限公司 一种海量数据提取的方法及装置
CN104252536A (zh) * 2014-09-16 2014-12-31 福建新大陆软件工程有限公司 一种基于hbase的上网日志数据查询方法及装置
CN104679590A (zh) * 2013-11-27 2015-06-03 阿里巴巴集团控股有限公司 分布式计算系统中的Map优化方法及装置
CN105183901A (zh) * 2015-09-30 2015-12-23 北京京东尚科信息技术有限公司 一种数据查询引擎读取数据库表的方法及装置
CN105956043A (zh) * 2016-04-26 2016-09-21 海尔优家智能科技(北京)有限公司 为Hbase数据库上运行的MapReduce分配Map task的方法及装置
CN106294886A (zh) * 2016-10-17 2017-01-04 北京集奥聚合科技有限公司 一种从HBase中全量抽取数据的方法及系统
WO2017005094A1 (zh) * 2015-07-03 2017-01-12 阿里巴巴集团控股有限公司 一种数据查询方法和装置
CN106383826A (zh) * 2015-07-29 2017-02-08 阿里巴巴集团控股有限公司 数据库查询方法和装置
WO2017031961A1 (zh) * 2015-08-24 2017-03-02 华为技术有限公司 数据处理方法和装置
CN108427747A (zh) * 2018-03-09 2018-08-21 广西师范大学 一种基于范围查询边界集的动态规划数据分片优化方法
CN110083658A (zh) * 2019-03-11 2019-08-02 北京达佳互联信息技术有限公司 数据同步方法、装置、电子设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112335217A (zh) * 2018-08-17 2021-02-05 西门子股份公司 分布式数据处理方法、装置及系统和机器可读介质
CN109195175B (zh) * 2018-09-03 2021-12-21 郑州云海信息技术有限公司 一种基于云计算的移动无线网络优化方法
CN109657009B (zh) * 2018-12-21 2021-03-12 北京锐安科技有限公司 数据预分区存储周期表创建方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957863A (zh) * 2010-10-14 2011-01-26 广州从兴电子开发有限公司 数据并行处理方法、装置及系统
US20110154339A1 (en) * 2009-12-17 2011-06-23 Electronics And Telecommunications Research Institute Incremental mapreduce-based distributed parallel processing system and method for processing stream data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154339A1 (en) * 2009-12-17 2011-06-23 Electronics And Telecommunications Research Institute Incremental mapreduce-based distributed parallel processing system and method for processing stream data
CN101957863A (zh) * 2010-10-14 2011-01-26 广州从兴电子开发有限公司 数据并行处理方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金强: "基于HBase的RDF存储系统的研究与设计", 《中国优秀硕士学位论文全文数据库:科学技术辑》, 15 July 2011 (2011-07-15) *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838632B (zh) * 2012-11-21 2017-04-12 阿里巴巴集团控股有限公司 数据查询方法及装置
CN103838632A (zh) * 2012-11-21 2014-06-04 阿里巴巴集团控股有限公司 数据查询方法及装置
CN103198109A (zh) * 2013-03-28 2013-07-10 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103226532A (zh) * 2013-03-28 2013-07-31 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103150403A (zh) * 2013-03-28 2013-06-12 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN104679590B (zh) * 2013-11-27 2018-12-07 阿里巴巴集团控股有限公司 分布式计算系统中的Map优化方法及装置
CN104679590A (zh) * 2013-11-27 2015-06-03 阿里巴巴集团控股有限公司 分布式计算系统中的Map优化方法及装置
CN103646073A (zh) * 2013-12-11 2014-03-19 浪潮电子信息产业股份有限公司 一种基于HBase表的条件查询优化方法
CN104112011A (zh) * 2014-07-16 2014-10-22 深圳市国泰安信息技术有限公司 一种海量数据提取的方法及装置
CN104112011B (zh) * 2014-07-16 2017-09-15 深圳国泰安教育技术股份有限公司 一种海量数据提取的方法及装置
CN104252536B (zh) * 2014-09-16 2017-12-08 福建新大陆软件工程有限公司 一种基于hbase的上网日志数据查询方法及装置
CN104252536A (zh) * 2014-09-16 2014-12-31 福建新大陆软件工程有限公司 一种基于hbase的上网日志数据查询方法及装置
WO2017005094A1 (zh) * 2015-07-03 2017-01-12 阿里巴巴集团控股有限公司 一种数据查询方法和装置
CN106383826A (zh) * 2015-07-29 2017-02-08 阿里巴巴集团控股有限公司 数据库查询方法和装置
CN106484689B (zh) * 2015-08-24 2019-09-03 杭州华为数字技术有限公司 数据处理方法和装置
WO2017031961A1 (zh) * 2015-08-24 2017-03-02 华为技术有限公司 数据处理方法和装置
CN106484689A (zh) * 2015-08-24 2017-03-08 杭州华为数字技术有限公司 数据处理方法和装置
CN105183901A (zh) * 2015-09-30 2015-12-23 北京京东尚科信息技术有限公司 一种数据查询引擎读取数据库表的方法及装置
CN105956043A (zh) * 2016-04-26 2016-09-21 海尔优家智能科技(北京)有限公司 为Hbase数据库上运行的MapReduce分配Map task的方法及装置
CN106294886A (zh) * 2016-10-17 2017-01-04 北京集奥聚合科技有限公司 一种从HBase中全量抽取数据的方法及系统
CN108427747A (zh) * 2018-03-09 2018-08-21 广西师范大学 一种基于范围查询边界集的动态规划数据分片优化方法
CN108427747B (zh) * 2018-03-09 2021-10-15 广西师范大学 一种基于范围查询边界集的动态规划数据分片优化方法
CN110083658A (zh) * 2019-03-11 2019-08-02 北京达佳互联信息技术有限公司 数据同步方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN102725753B (zh) 2014-01-01
WO2013078583A1 (zh) 2013-06-06

Similar Documents

Publication Publication Date Title
CN102725753B (zh) 优化数据访问的方法及装置、优化数据存储的方法及装置
CN106445676B (zh) 一种分布式数据计算的任务分配方法和任务分配装置
US9372880B2 (en) Reclamation of empty pages in database tables
KR101700340B1 (ko) 대용량 데이터의 클러스터 결과 분석 시스템 및 방법
CN110765489A (zh) 多租户数据库隔离方法、系统、电子设备及计算机存储介质
CN106649828B (zh) 一种数据查询方法及系统
US9311380B2 (en) Processing spatial joins using a mapreduce framework
CN102725755B (zh) 文件访问方法及系统
CN104346135B (zh) 数据流并行处理的方法、设备及系统
WO2014143791A1 (en) Efficiently performing operations on distinct data values
CN102495894A (zh) 重复数据查找方法、装置及系统
CN109241159B (zh) 一种数据立方体的分区查询方法、系统及终端设备
CN103810212A (zh) 一种数据库索引的自动创建方法及系统
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置
CN105912425B (zh) 快照映像建立、回滚方法以及装置
CN105550270B (zh) 数据库查询方法和装置
CN104407935A (zh) 快照回滚方法和存储设备
CN108509437A (zh) 一种ElasticSearch查询加速方法
CN110908697A (zh) 一种资源打包方法、装置、服务器及存储介质
CN102902763A (zh) 关联、检索信息处理数据和处理信息任务的方法及装置
CN111061740A (zh) 一种数据同步方法、设备和存储介质
US20130290352A1 (en) Concatenation for relations
CN112039975A (zh) 一种报文字段的处理方法、装置、设备及存储介质
CN111414422A (zh) 一种数据分布方法、装置、设备和存储介质
CN110221778A (zh) 酒店数据的处理方法、系统、存储介质以及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.