CN103353901A - 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 - Google Patents
基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 Download PDFInfo
- Publication number
- CN103353901A CN103353901A CN2013103315206A CN201310331520A CN103353901A CN 103353901 A CN103353901 A CN 103353901A CN 2013103315206 A CN2013103315206 A CN 2013103315206A CN 201310331520 A CN201310331520 A CN 201310331520A CN 103353901 A CN103353901 A CN 103353901A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- key assignments
- filename
- information
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法、读取表数据的方法和系统。一种基于HDFS的表数据的有序管理方法包括:接收用户输入的待操作的表的名称和包括多个操作记录的批量数据,基于Hadoop将接收的批量数据进行排序,对经排序的批量数据生成索引数据,在HDFS的指定目录下以文件形式存储经排序的批量数据和生成的索引数据,并且将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器。
Description
技术领域
本申请涉及一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法以及使用所述方法的系统,尤其涉及一种在Hadoop分布式文件系统(HDFS)中,对表数据进行分片管理和排序并生成索引数据,并且以文件的形式对所述表数据进行管理的方法和系统。
背景技术
在各种系统中,需要对海量数据进行管理,为此Hadoop技术得到了广泛的使用,可在Hadoop分布式文件系统(HDFS)中,存储海量的如日志、网页、URL等数据。通常,需要对这些数据进行以下的处理和操作:
1、在日志分析和问题追查程序中,人工查看其中的一条或多条数据;
2、批量读取数据;
3、按照特定顺序批量地遍历全部或部分数据,如遍历一个站点的全部URL;
4、按照键值聚合多路数据,并进行分析。
Bigtable/Hbase和Hive是两种典型的分布式数据存储系统。
其中,BigTable是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。BigTable是一个稀疏的、分布式的、持久化存储的多维度排序Map。Bigtable的设计目的是可靠的处理PB级别的数据,并且能够部署到上千台机器上。但是,Bigtable/Hbase对于通常的离线数据处理来说,过于重型。为了支持实时读写,在Bigtable/Hbase技术中,需要搭建单独的tablet server集群,将数据从HDFS导入,因此,部署和维护的代价很大;同时,Bigtable/Hbase也没有对批量读写进行优化,因此性能上不及HDFS与MapReduce结合的方案。
Hive则是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,并且将SQL语句转换为MapReduce任务进行运行。但是,由于Hive更倾向于通用的数据仓库,需要将所有的查询转换为MapReduce任务,因此,造成较长的延时,无法满足人工查询的需求,也缺少根据键值对多路数据进行聚合的优化机制。
发明内容
本发明的目的在于提供一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法以及使用所述方法的系统,对表数据进行分片管理和排序并生成索引数据,并且以文件的形式对所述表数据进行管理,实现表数据的批量导入,并且可根据键值读取数据,从而构建轻量级的分布式全局有效的表格管理系统。
根据本发明的一方面,提供一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法,包括:接收待操作的表的名称和包括多个操作记录的批量数据,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据;基于Hadoop,根据操作记录中的键值对所述批量数据进行抽样排序,并且生成分区标尺;基于Hadoop,根据操作记录中的键值和生成的分区标尺,对所述批量数据进行排序;基于Hadoop,对经排序的所述批量数据生成索引数据,每条索引包括操作记录的键值、存储有所述批量数据的文件名以及所述操作记录的偏移值;在HDFS系统的指定目录下以文件形式存储经排序的批量数据和生成的索引数据;将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器。
所述对表记录的操作可以是插入、修改以及删除中的一个。
优选地,所述基于Hadoop对经排序的所述批量数据生成索引数据的步骤包括:基于Hadoop,对经排序的所述批量数据生成抽样索引数据。
优选地,所述的方法还包括:向主服务器发送包括所述表的名称的路径数据请求,并且从主服务器接收包括所述表的路径数据的响应,其中,在所述接收的路径数据指示的目录下以文件形式存储经排序的批量数据和生成的索引数据。
优选地,所述的方法还包括:从主服务器接收操作结果;显示所述操作结果。
根据本发明的另一方面,提供一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法,包括:从客户端接收表的名称、批量数据文件的文件名、索引数据文件的文件名以及表的路径数据;根据接收的表名称在表管理数据中查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名;如果没有找到相应的表信息,则在表管理数据中添加包括接收的表的名称、接收的表的路径数据以及索引数据文件的文件名的表信息;如果找到了相应的表信息,则在找到的表信息中添加所述表的索引数据文件的文件名;选择索引服务器,并且向选择的索引服务器发送表的名称、表的路径数据和索引数据文件的文件名;在索引服务器管理数据中记录关于所述索引服务器管理所述表的所述索引数据的信息。
优选地,所述的方法还包括:向所述客户端发送操作结果。
根据本发明的另一方面,提供一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法,包括:从主服务器接收表的名称、表的路径数据和索引数据文件的文件名;根据所述表的路径数据和索引数据文件的文件名加载相应的索引数据。
根据本发明的另一方面,提供一种从基于Hadoop分布式文件系统(HDFS)读取表数据的方法,包括:接收表名称以及索引键值;向主服务器发送包括所述表名称的第一请求;从主服务器接收包括表的路径数据以及索引服务器信息的第一响应;分别向接收的索引服务器信息指示的各个索引服务器发送包括所述表名称和索引键值的第二请求;从所述各个索引服务器接收包括表数据的文件名和偏移值的第二响应;根据接收的表的路径数据、表数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录;根据读取的目标记录的写入顺序以及目标记录中的操作信息构建要返回的表记录;并且发送构建的表记录。
所述对表记录的操作可以是插入、修改以及删除中的一个。
优选地,所述根据接收的表的路径数据、批量数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录的步骤包括:根据文件名和偏移值从所述表的路径数据指示的目录读取包括操作信息以及操作数据的操作记录,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据;如果构建的索引数据是全量索引,则将读取的操作记录作为目标记录;如果构建的索引数据是抽样索引,则执行以下处理:将接收的索引键值与读取的操作记录中的键值进行比较;如果根据所述比较确定接收的索引键值等于读取的操作记录中的键值,则将所述操作记录作为目标记录;如果根据所述比较确定接收的索引键值不等于读取的操作记录中的键值,则顺序读取后面的操作记录,直到读取的操作记录中的键值等于或大于接收的索引键值为止,其中,如果读取到键值等于接收的索引键值的操作记录,则将所述操作记录作为目标记录。
优选地,基于Hadoop,分布式地执行读取目标记录和构建要返回的表记录的步骤。
根据本发明的另一方面,提供一种从基于Hadoop分布式文件系统(HDFS)读取表数据的方法,包括:从客户端接收包括表名称的请求;根据接收的表名称从表管理数据查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名;根据接收的表名称从索引服务器管理数据查找管理表的索引数据的索引服务器的信息,所述索引服务器管理数据包括关于各个索引服务器管理相应的表的索引数据的信息;将包括查找到的表信息中的表的路径数据以及管理表的索引数据的索引服务器的信息的响应发送给客户端。
根据本发明的另一方面,提供一种从基于Hadoop分布式文件系统(HDFS)读取表数据的方法,包括:从客户端接收表名称和索引键值;根据接收的表名称查找相应的索引数据;在所述索引数据查找与接收的索引键值相应的索引条目,所述索引数据中的每条索引包括操作记录的键值、批量数据的文件的文件名以及所述批量数据中的偏移值;将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端。
可选地,所述索引数据是全量索引,并且所述在所述索引数据查找与接收的索引键值相应的索引条目的步骤包括:在所述索引数据查找索引键值等于接收的索引键值的索引条目。优选地,所述将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端的步骤包括:如果在全量索引数据中没有找到索引键值等于接收的索引键值的索引条目,则向所述客户端发送指示无匹配数据的响应。
可选地,所述索引数据是抽样索引,并且所述在所述索引数据查找与接收的索引键值相应的索引条目的步骤包括:查找索引键值符合以下条件的索引条目:其等于接收的索引键值,或者其是所述索引数据中不大于接收的索引键值的最大的索引键值。
优选地,通过二分查找法在所述索引数据查找与接收的索引键值相应的索引条目。
根据本发明的另一方面,提供一种基于Hadoop分布式文件系统的有序表格管理系统,包括:客户端,用于接收用户输入的待操作的表的名称和包括多个操作记录的批量数据,基于Hadoop将接收的批量数据进行排序,对经排序的批量数据生成索引数据,在HDFS的指定目录下以文件形式存储经排序的批量数据和生成的索引数据,并且将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器,其中,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据,每条索引包括操作记录的键值、存储有所述批量数据的文件名以及所述操作记录的偏移值;主服务器,用于从客户端接收表的名称、批量数据文件的文件名、索引数据文件的文件名以及表的路径数据,在表管理数据中计入相应的表信息,从多个索引服务器选择索引服务器,向选择的索引服务器发送表的名称、表的路径数据和索引数据文件的文件名,并且在索引服务器管理数据中记录关于所述索引服务器管理所述表的所述索引数据的信息,其中,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名,并且如果根据表的名称没有找到相应的表信息,则在表管理数据中添加包括接收的表的名称、接收的表的路径数据以及索引数据文件的文件名的表信息,如果根据表的名称找到了相应的表信息,则在找到的表信息中添加所述表的索引数据文件的文件名;多个索引服务器,其每个用于从主服务器接收表的名称、表的路径数据和索引数据文件的文件名,并且根据所述索引数据文件的目录信息和文件名加载相应的索引数据。
根据本发明的另一方面,提供一种基于Hadoop分布式文件系统的有序表格管理系统,包括:客户端,用于接收表名称以及索引键值,向主服务器发送包括所述表名称的第一请求,从主服务器接收包括表的路径数据以及索引服务器信息的第一响应,分别向接收的索引服务器信息指示的各个索引服务器发送包括所述表名称和索引键值的第二请求,从所述各个索引服务器接收包括批量数据的文件名和偏移值的第二响应,根据接收的表的路径数据、批量数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录,根据读取的目标记录的写入顺序以及目标记录中的操作信息构建要返回的表记录,并且发送构建的表记录;主服务器,用于从客户端接收包括表名称的请求,根据接收的表名称从表管理数据查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名,根据接收的表名称从索引服务器管理数据查找管理表的索引数据的索引服务器的信息,所述索引服务器管理数据包括关于各个索引服务器管理相应的表的索引数据的信息,并且将包括查找到的表信息中的表的路径数据以及管理表的索引数据的索引服务器的信息的响应发送给客户端;一个或多个索引服务器,其每个用于从客户端接收表名称和索引键值,根据接收的表名称查找相应的索引数据,在所述索引数据查找与接收的索引键值相应的索引条目,所述索引数据中的每条索引包括操作记录的键值、批量数据的文件的文件名以及所述批量数据中的偏移值,并且将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端。
有益效果
本发明的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法以及使用所述方法的系统可构建轻量级的分布式全局有效的表格管理系统,对表数据进行分片管理和排序并生成索引数据,并且以文件的形式对所述表数据进行管理。因此,在可提高单条或多条数据的读取以及对于批量数据的处理的效率,尤其适合离线数据的管理。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是示出根据本发明的示例性实施例的实现基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的系统的构架图;
图2是示出根据本发明的示例性实施例的在HDFS中表数据的存储的示意图;
图3是示出根据本发明的示例性实施例的在客户端实现的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的流程图;
图4是示出根据本发明的示例性实施例的在主服务器端实现的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的流程图;
图5是示出根据本发明的示例性实施例的在索引服务器端实现的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的流程图;
图6是示出根据本发明的示例性实施例的在客户端实现的从基于Hadoop分布式文件系统(HDFS)读取表数据的方法的流程图;
图7是示出根据本发明的示例性实施例的在主服务器端实现的从基于Hadoop分布式文件系统(HDFS)读取表数据的方法的流程图;
图8是示出根据本发明的示例性实施例的在索引服务器端实现的从基于Hadoop分布式文件系统(HDFS)读取表数据的方法的流程图;
图9是示出根据本发明的示例性实施例的客户端、主服务器和索引服务器的结构的逻辑框图。
具体实施方式
以下,将参照附图来详细说明本发明的实施例。
本发明提出的技术方案主要针对批量导入的表数据进行管理,并且对同属于一个表的表数据执行分片管理。也就是,将每次导入的表的批量数据作为所述表的Base/Patch基于Hadoop进行排序,此后,为所述Base/Patch生成索引数据,并且在HDFS中将经排序的批量数据以及生成的索引数据分布存储为单独的文件。这样,可构建从逻辑上全局有序的表格管理系统。此外,在本发明的系统中,对表中任一条表记录的操作(如插入记录、对记录中字段的修改、记录的删除等)构建为包括对表记录的操作的信息以及包括键值的操作数据的操作记录。因此,每次导入的批量数据事实上包括表的多个操作记录,而在读取表记录时,通过索引键值读取所述表记录的所有操作记录,然后根据写入的先后顺序以及操作信息来构建所述表记录的数据。这种方式尤其利于离线数据的批量处理。
图1是示出根据本发明的示例性实施例的实现基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的系统的构架图。
参照图1,所述实现基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的系统包括客户端、主服务器、一个或多个索引服务器以及用于存储表数据和索引数据的磁盘阵列。
客户端可通过管理界面与用户交互,接收表数据导入、数据读取等指令,向主服务器以及索引服务器发送相应的请求并接收相应的数据,根据接收的数据对HDFS的磁盘阵列执行文件写入或数据读取的操作,并且向用户提供操作结果的信息。可在客户端提供用于对表执行操作的API、数据导入工作、表数据合并工具、管理界面以及基于Hadoop的分布式计算的计算逻辑。
主服务器维护表的管理数据以及索引服务器的管理数据。所述表的管理数据中的每条表信息可包括表名称、表的路径数据以及各个索引数据文件的文件名,还可包括例如字段信息以及更新时间等。在表数据的写入/导入处理中,主服务器根据客户端提供的与导入的表的批量数据(Base/Patch)相关的管理数据更新表的管理数据,并且从多个索引服务器当中指定索引服务器用于维护导入的表的批量数据的索引数据;而在数据读取操作中,主服务器根据客户端提供的表名称,将待表的路径数据以及维护所述表的索引数据的索引服务器的信息发送给客户端,从而客户端可向相应的索引服务器请求操作记录的读取信息。
每个索引服务器用于维护其被指定管理的表的批量数据的索引数据,并且加载所述索引数据。所述索引管理数据中的每条索引管理信息包括表的名称、在批量数据的写入/导入处理中,索引服务器从主服务器接收关于导入的批量数据的索引数据的管理信息,并且将所述索引数据加载到内存。在数据读取操作中,索引服务器根据客户端提供的表名称和索引键值,从其维护的所述表的索引数据中提取相应的索引条目,并且将相应的批量数据的文件名和批量数据中的偏移值发送给客户端。
图2是示出根据本发明的示例性实施例的在HDFS中表数据的存储的示意图。
参照图2,在本发明所述的系统中,批量导入的表数据从逻辑上作为表的Base/Patch以文件形式被存储。最先导入的批量数据是表的Base,其后导入的批量数据是表的Patch。根据本发明的示例性实施例,在同一目录下存储为同一个表导入的所有批量数据(包括Base和Patch)以及为每个Base/Patch生成的索引数据。如图2所示,将表的Base和N个Batch以及其索引数据一同存储。这里,Base和Patch中的操作记录都是经排序的。为提高操作效率,每次导入的批量数据存储为一个文件。作为维护工作的一部分,可从客户端将较早导入的Base和Patch合并成新的Base。对于合并后包含大数据量的Base对应的索引数据,也可分片存储,以便于管理。
以下将参照图3~图8详细介绍表数据导入以及记录读取的处理。
图3是示出根据本发明的示例性实施例的在客户端实现的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的流程图。可在客户端提供专门的数据导入工具来实现图3中示出的方法。
参照图3,在步骤S310,客户端接收待操作的表的名称和包括多个操作记录的批量数据(Base/Patch),所述操作记录包括对表记录的操作的信息以及包括键值的操作数据。所述对表记录的操作是插入、修改以及删除中的一个。
在步骤S320,客户端基于Hadoop,根据操作记录中的键值对所述批量数据进行抽样排序,并且生成分区标尺。可通过在Hadoop中的Map/Reduce引擎分布式地执行所述对接收的批量数据进行抽样排序并生成分区标尺的处理。
在步骤S330,客户端基于Hadoop,根据操作记录中的键值和生成的分区标尺,对所述批量数据进行排序。同样,可通过在Hadoop中的Map/Reduce引擎分布式地执行所述根据分区标尺对接收的批量数据进行排序的处理。
在步骤S340,客户端基于Hadoop,对经排序的所述批量数据生成索引数据,每条索引包括操作记录的键值、存储有所述批量数据的文件的文件名以及所述操作记录的偏移值。对于一次导入大量数据的情况,根据本发明的可选实施例,在步骤S340,客户端可对经排序的所述批量数据生成抽样索引数据。
在步骤S350,客户端在HDFS系统的指定目录下以文件形式存储经排序的批量数据和生成的索引数据。这里,在执行步骤S350前,客户端可从主服务器请求并接收用于存储所述表的目录的信息,并且在接收的表的目录的信息指示的目录下存储所述批量数据和索引数据。
此后,在步骤S360,客户端将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器。
根据本发明的优选实施例,客户端还从主服务器接收操作结果,并且显示所述操作结果。
图4是示出根据本发明的示例性实施例的在主服务器端实现的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的流程图。
前面已提及,主服务器维护表管理数据以及索引服务器管理数据。其中,表管理数据包括多条表信息,每条表信息可至少包括表名称、表的路径数据以及各个索引数据文件的文件名等。索引服务器管理数据包括多条索引服务器管理信息,每条索引服务器管理信息包括索引服务器的标识、其管理的一个或多个表的名称和索引数据文件的文件名。
参照图4,在步骤S410,主服务器从客户端接收表的名称、批量数据文件的文件名、索引数据文件的文件名以及表的路径数据。
在步骤S420,主服务器根据接收的表名称在表管理数据中查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名。
在步骤S430,主服务器确定是否查找到相应的表信息。
如果在步骤S430确定找到了相应的表信息,则在步骤S440,主服务器在找到的表信息中添加所述表的索引数据文件的文件名。
如果在步骤S430确定没有找到相应的表信息,则在步骤S445,主服务器在表管理数据中添加包括接收的表的名称、接收的表的路径数据以及索引数据文件的文件名的表信息。
此后,在执行步骤S440和S445以后,主服务器执行步骤S450。在步骤S450,主服务器从所述系统中的多个索引服务器当中选择索引服务器,并且向选择的索引服务器发送表的名称、表的路径数据和索引数据文件的文件名。
在步骤S460,主服务器在索引服务器管理数据中记录关于所述索引服务器管理所述表的所述索引数据的信息。
根据本发明的可选实施例,在执行步骤S460后,主服务器还向所述客户端发送操作结果。
图5是示出根据本发明的示例性实施例的在索引服务器端实现的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法的流程图。
参照图5,在步骤S510,在前述步骤S450被主服务器选择的索引服务器从主服务器接收表的名称、表的路径数据和索引数据文件的文件名。
在步骤S520,所述索引服务器根据所述表的路径数据和索引数据文件的文件名加载相应的索引数据。
图6是示出根据本发明的示例性实施例的在客户端实现的从基于Hadoop分布式文件系统(HDFS)读取表数据的方法的流程图。
参照图6,在步骤S610,客户端接收要读取的表名称以及索引键值。
在步骤S620,客户端向主服务器发送包括所述表名称的第一请求。
在步骤S630,客户端从主服务器接收包括表的路径数据以及索引服务器信息的第一响应。由于同一个表的索引数据通常被指定由多个索引服务器维护,因此主服务器提供所述多个索引服务器的信息。
在步骤S640,客户端分别向接收的索引服务器信息指示的各个索引服务器发送包括所述表名称和索引键值的第二请求。
在步骤S650,客户端从所述各个索引服务器接收包括批量数据的文件名和偏移值的第二响应。这里,在表的索引数据是全量索引的情况下,如果任一索引服务器查找到与索引键值匹配的索引条目,则所述索引服务器返回包括批量数据的文件名和偏移值的第二响应;如果所述索引服务器没有找到与索引键值匹配的索引条目,则所述索引服务器返回指示无匹配数据的第二响应。在表的索引数据是抽样索引的情况下,索引服务器将返回包括在其维护的索引数据中索引键值小于或等于客户端提供的索引键值的索引条目中的批量数据的文件名和偏移值的第二响应。
在步骤S660,客户端根据接收的表的路径数据、批量数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录。
具体地,根据文件名和偏移值从所述表的路径数据指示的目录读取包括操作信息以及操作数据的操作记录。
此后,如果构建的索引数据是全量索引,则客户端将读取的操作记录作为目标记录。
如果构建的索引数据是抽样索引,则客户端将接收的索引键值与读取的操作记录中的键值进行比较。如果根据所述比较确定接收的索引键值等于读取的操作记录中的键值,则将所述操作记录作为目标记录;如果根据所述比较确定接收的索引键值不等于读取的操作记录中的键值,则顺序读取后面的操作记录,直到读取的操作记录中的键值等于或大于接收的索引键值为止,其中,如果读取到键值等于接收的索引键值的操作记录,则将所述操作记录作为目标记录。如果读到操作记录中的键值大于接收的索引键值,则说明所述索引数据对应的批量数据中无相应的操作记录。
在步骤S670,客户端根据读取的目标记录的写入顺序以及目标记录中的操作信息构建要返回的表记录。例如,如果先后写入的5目标记录中的操作分别是“插入、修改、修改、修改、修改”,则客户端从最后写入的目标记录构建要返回的表记录。
在步骤S680,客户端发送在步骤S670构建的表记录。
对于涉及大量数据的情况,根据本发明的优选实施例,客户端可基于Hadoop,分布式地执行步骤S660和S670的处理。
图7是示出根据本发明的示例性实施例的在主服务器端实现的从基于Hadoop分布式文件系统(HDFS)读取表数据的方法的流程图。
参照图7,在步骤S710,主服务器从客户端接收包括表名称的请求。
在步骤S720,主服务器根据接收的表名称从表管理数据查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名。
在步骤S730,主服务器根据接收的表名称从索引服务器管理数据查找管理表的索引数据的索引服务器的信息,所述索引服务器管理数据包括关于各个索引服务器管理相应的表的索引数据的信息。
在步骤S740,主服务器将包括查找到的表信息中的表的路径数据以及管理表的索引数据的索引服务器的信息的响应发送给客户端。
图8是示出根据本发明的示例性实施例的在索引服务器端实现的从基于Hadoop分布式文件系统(HDFS)读取表数据的方法的流程图。
参照图8,在步骤S810,索引服务器从客户端接收表名称和索引键值。
在步骤S820,索引服务器根据接收的表名称在其维护的索引数据中查找相应的索引数据。
在步骤S830,索引服务器在所述索引数据查找与接收的索引键值相应的索引条目,所述索引数据中的每条索引包括操作记录的键值、批量数据的文件的文件名以及所述批量数据中的偏移值。具体地,如果构建的索引数据是全量索引,则索引服务器在所述索引数据查找索引键值等于接收的索引键值的索引条目。如果构建的索引数据是抽样索引,则索引服务器查找索引键值符合以下条件的索引条目:其等于接收的索引键值,或者其是不大于接收的索引键值的最大的索引键值。优选地,索引服务器通过二分查找法在所述索引数据查找与接收的索引键值相应的索引条目。
在步骤S840,索引服务器将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端。如果在步骤S730,在全量索引数据中没有找到索引键值等于接收的索引键值的索引条目,则索引服务器向所述客户端发送指示无匹配数据的响应。
需要指出,前述参照图6~图8描述的读取表数据的方法通过表名称和索引键值读取单条表记录,但是可以看出,通过对上述操作进行简单修改,可通过表名称查询这个表的数据,也可以通过表名称和多个键值/键值范围查找多条表记录。
通过上述参照图3~图8描述的基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法以及读取表数据的方法,可以看出,通过将表记录以及对表记录的操作反映为前述的操作记录,可通过累加地导入表的操作记录来更新表数据。此外,基于Hadoop,对表数据执行分片管理,将每次导入的批量数据进行排序,并且对排序的批量数据生成索引数据。这种方式,不仅实现每个分片的有序管理,而且由于在数据读取的处理中,可从管理表数据的各个索引服务器读取同一表记录的操作记录,并且通过根据写入顺序以及操作信息构建要要返回的表记录,因此,从逻辑上也实现了表数据的全局有序管理。
图9是示出根据本发明的示例性实施例的客户端、主服务器和索引服务器的结构的逻辑框图。
参照图9,根据本发明的示例性实施例的客户端9100包括操作命令交互单元9110、数据导入执行单元9120、数据查询单元9130和发送/接收单元9140。
操作命令交互单元9110用于接收表数据的操作指令以及数据,并且发送所述操作指令的操作结果。所述操作指令可包括,但不限于,数据导入指令、读取指令以及数据合并指令等。例如,在数据导入处理中,操作命令交互单元9110接收待操作的表的名称和包括多个操作记录的批量数据,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据;在数据读取处理中,操作命令交互单元9110接收表名称以及索引键值,或者可接收表名称以及多个索引键值或索引键值的范围。所述操作结果可包括数据导入的执行结果以及读取的表记录等。
数据导入执行单元9210用于在操作命令交互单元9110接收到待操作的表的名称和包括多个操作记录的批量数据以后,执行以下处理:基于Hadoop,根据操作记录中的键值对所述批量数据进行抽样排序,并且生成分区标尺;基于Hadoop,根据操作记录中的键值和生成的分区标尺,对所述批量数据进行排序;基于Hadoop,对经排序的所述批量数据生成索引数据;在HDFS系统的指定目录下以文件形式存储经排序的批量数据和生成的索引数据;通过发送/接收单元9140将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器。
如前所述,所述对表记录的操作可以是插入、修改以及删除中的一个。
根据本发明的可选实施例,数据导入执行单元9210可基于Hadoop,对经排序的所述批量数据生成抽样索引数据。
数据查询单元9130用于在操作命令交互单元9110接收到表名称以及索引键值的读取请求以后,通过发送/接收单元9140向主服务器发送包括所述表名称的第一请求并且从主服务器接收包括表的路径数据以及索引服务器信息的第一响应。此后,数据查询单元9130通过发送/接收单元9140分别向接收的索引服务器信息指示的各个索引服务器发送包括所述表名称和索引键值的第二请求,并且从所述各个索引服务器接收包括批量数据的文件名和偏移值的第二响应。再后,数据查询单元9130根据接收的表的路径数据、批量数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录,根据读取的目标记录的写入顺序以及目标记录中的操作信息构建要返回的表记录,并且通过命令交互单元9110发送构建的表记录。
根据本发明的优选实施例,数据查询单元9130读取目标记录的处理包括:根据文件名和偏移值从所述表的路径数据指示的目录读取包括操作信息以及操作数据的操作记录,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据;如果构建的索引数据是全量索引,则将读取的操作记录作为目标记录;如果构建的索引数据是抽样索引,则将接收的索引键值与读取的操作记录中的键值进行比较,如果根据所述比较确定接收的索引键值等于读取的操作记录中的键值,则将所述操作记录作为目标记录,如果根据所述比较确定接收的索引键值不等于读取的操作记录中的键值,则顺序读取后面的操作记录,直到读取的操作记录中的键值等于或大于接收的索引键值为止,其中,如果读取到键值等于接收的索引键值的操作记录,则将所述操作记录作为目标记录。
发送/接收单元9140用于执行其与主服务器9120以及相应的索引服务器之间的交互。例如,在输入导入处理中,发送/接收单元9140向主服务器发送数据导入执行单元9210提供的表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据,并且可从主服务器接收导入是否成功的结果;在数据读取处理中,发送/接收单元9140在数据查询单元9130的控制下,向主服务器发送所述第一请求,接收所述第一响应,并且分别向各个索引服务器发送所述第二请求,并且从所述各个索引服务器接收所述第二响应。
参照图9,根据本发明的示例性实施例的主服务器9200包括发送/接收单元9210、表管理数据处理单元9220和索引管理数据处理单元9230。
发送/接收单元9210用于在数据导入处理中,从客户端9100接收表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据,并且可向客户端9100发送操作结果;在数据读取处理中,从客户端接收包括表名称的请求,并且将包括查找到的表信息中的表的路径数据以及管理表的索引数据的索引服务器的信息的响应发送给客户端;此外,发送/接收单元9210还向选择的索引服务器发送表的名称、表的路径数据和索引数据文件的文件名。
表管理数据处理单元9220用于在数据导入处理中,根据接收的表名称在表管理数据中查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名,如果没有找到相应的表信息,则在表管理数据中添加包括接收的表的名称、接收的表的路径数据以及索引数据文件的文件名的表信息,如果找到了相应的表信息,则在找到的表信息中添加所述表的索引数据文件的文件名;在数据读取处理中,表管理数据处理单元9220用于根据接收的表名称从表管理数据查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名。
索引管理数据处理单元9230用于在数据导入处理中,选择索引服务器,并且在索引服务器管理数据中记录关于所述索引服务器管理所述表的所述索引数据的信息。在数据读取处理中,索引管理数据处理单元9230用于根据接收的表名称从索引服务器管理数据查找管理表的索引数据的索引服务器的信息,所述索引服务器管理数据包括关于各个索引服务器管理相应的表的索引数据的信息。
参照图9,根据本发明的示例性实施例的索引服务器9300包括发送/接收单元9310、导入处理单元9320和查询处理单元9330。
发送/接收单元9310用于在数据导入处理中,从主服务器9200接收表的名称、表的路径数据和索引数据文件的文件名。在数据读取处理中,发送/接收单元9310用于将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端9100。
导入处理单元9320用于在数据导入处理中,根据所述表的路径数据和索引数据文件的文件名加载相应的索引数据。
查询处理单元9330用于根据接收的表名称查找相应的索引数据,在所述索引数据查找与接收的索引键值相应的索引条目,并且通过发送/接收单元9310将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端9100。
从上述参照附图对本发明的示例性实施例的描述可以看出,本发明的表数据的有序管理方法以及使用所述方法的系统可构建轻量级的分布式全局有效的表格管理系统,对表数据进行分片管理和排序并生成索引数据,并且以文件的形式对所述表数据进行管理。因此,在可提高单条或多条数据的读取以及对于批量数据的处理的效率,尤其适合离线数据的管理。
需要指出,根据实施的需要,可将本申请中描述的各个步骤拆分为更多步骤,也可将两个或多个步骤或者步骤的部分操作组合成新的步骤,以实现本发明的目的。
上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
尽管已参照优选实施例表示和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。
Claims (20)
1.一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法,包括:
接收待操作的表的名称和包括多个操作记录的批量数据,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据;
基于Hadoop,根据操作记录中的键值对所述批量数据进行抽样排序,并且生成分区标尺;
基于Hadoop,根据操作记录中的键值和生成的分区标尺,对所述批量数据进行排序;
基于Hadoop,对经排序的所述批量数据生成索引数据,每条索引包括操作记录的键值、存储有所述批量数据的文件名以及所述操作记录的偏移值;
在HDFS系统的指定目录下以文件形式存储经排序的批量数据和生成的索引数据;
将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器。
2.如权利要求1所述的方法,其特征在于,所述对表记录的操作是插入、修改以及删除中的一个。
3.如权利要求2所述的方法,其特征在于,所述基于Hadoop对经排序的所述批量数据生成索引数据的步骤包括:基于Hadoop,对经排序的所述批量数据生成抽样索引数据。
4.如权利要求3所述的方法,还包括:向主服务器发送包括所述表的名称的路径数据请求,并且从主服务器接收包括所述表的路径数据的响应,其中,在所述接收的路径数据指示的目录下以文件形式存储经排序的批量数据和生成的索引数据。
5.如权利要求3所述的方法,还包括:
从主服务器接收操作结果;
显示所述操作结果。
6.一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法,包括:
从客户端接收表的名称、批量数据文件的文件名、索引数据文件的文件名以及表的路径数据;
根据接收的表名称在表管理数据中查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名;
如果没有找到相应的表信息,则在表管理数据中添加包括接收的表的名称、接收的表的路径数据以及索引数据文件的文件名的表信息;
如果找到了相应的表信息,则在找到的表信息中添加所述表的索引数据文件的文件名;
选择索引服务器,并且向选择的索引服务器发送表的名称、表的路径数据和索引数据文件的文件名;
在索引服务器管理数据中记录关于所述索引服务器管理所述表的所述索引数据的信息。
7.如权利要求6所述的方法,还包括:向所述客户端发送操作结果。
8.一种基于Hadoop分布式文件系统(HDFS)的表数据的有序管理方法,包括:
从主服务器接收表的名称、表的路径数据和索引数据文件的文件名;
根据所述表的路径数据和索引数据文件的文件名加载相应的索引数据。
9.一种从基于Hadoop分布式文件系统(HDFS)读取表数据的方法,包括:
接收表名称以及索引键值;
向主服务器发送包括所述表名称的第一请求;
从主服务器接收包括表的路径数据以及索引服务器信息的第一响应;
分别向接收的索引服务器信息指示的各个索引服务器发送包括所述表名称和索引键值的第二请求;
从所述各个索引服务器接收包括表数据的文件名和偏移值的第二响应;
根据接收的表的路径数据、表数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录;
根据读取的目标记录的写入顺序以及目标记录中的操作信息构建要返回的表记录;并且
发送构建的表记录。
10.如权利要求9所述的方法,其特征在于,所述对表记录的操作是插入、修改以及删除中的一个。
11.如权利要求10所述的方法,其特征在于,所述根据接收的表的路径数据、批量数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录的步骤包括:
根据文件名和偏移值从所述表的路径数据指示的目录读取包括操作信息以及操作数据的操作记录,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据;
如果构建的索引数据是全量索引,则将读取的操作记录作为目标记录;
如果构建的索引数据是抽样索引,则执行以下处理:
将接收的索引键值与读取的操作记录中的键值进行比较;
如果根据所述比较确定接收的索引键值等于读取的操作记录中的键值,则将所述操作记录作为目标记录;
如果根据所述比较确定接收的索引键值不等于读取的操作记录中的键值,则顺序读取后面的操作记录,直到读取的操作记录中的键值等于或大于接收的索引键值为止,其中,如果读取到键值等于接收的索引键值的操作记录,则将所述操作记录作为目标记录。
12.如权利要求11所述的方法,其特征在于,基于Hadoop,分布式地执行读取目标记录和构建要返回的表记录的步骤。
13.一种从基于Hadoop分布式文件系统(HDFS)读取表数据的方法,包括:
从客户端接收包括表名称的请求;
根据接收的表名称从表管理数据查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名;
根据接收的表名称从索引服务器管理数据查找管理表的索引数据的索引服务器的信息,所述索引服务器管理数据包括关于各个索引服务器管理相应的表的索引数据的信息;
将包括查找到的表信息中的表的路径数据以及管理表的索引数据的索引服务器的信息的响应发送给客户端。
14.一种从基于Hadoop分布式文件系统(HDFS)读取表数据的方法,包括:
从客户端接收表名称和索引键值;
根据接收的表名称查找相应的索引数据;
在所述索引数据查找与接收的索引键值相应的索引条目,所述索引数据中的每条索引包括操作记录的键值、批量数据的文件的文件名以及所述批量数据中的偏移值;
将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端。
15.如权利要求14所述的方法,其特征在于,所述索引数据是全量索引,并且所述在所述索引数据查找与接收的索引键值相应的索引条目的步骤包括:在所述索引数据查找索引键值等于接收的索引键值的索引条目。
16.如权利要求15所述的方法,其特征在于,所述将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端的步骤包括:如果在全量索引数据中没有找到索引键值等于接收的索引键值的索引条目,则向所述客户端发送指示无匹配数据的响应。
17.如权利要求14所述的方法,其特征在于,所述索引数据是抽样索引,并且所述在所述索引数据查找与接收的索引键值相应的索引条目的步骤包括:
查找索引键值符合以下条件的索引条目:其等于接收的索引键值,或者其是所述索引数据中不大于接收的索引键值的最大的索引键值。
18.如权利要求14~17中任一项所述的方法,其特征在于,通过二分查找法在所述索引数据查找与接收的索引键值相应的索引条目。
19.一种基于Hadoop分布式文件系统的有序表格管理系统,包括:
客户端,用于接收用户输入的待操作的表的名称和包括多个操作记录的批量数据,基于Hadoop将接收的批量数据进行排序,对经排序的批量数据生成索引数据,在HDFS的指定目录下以文件形式存储经排序的批量数据和生成的索引数据,并且将所述表的名称、存储有所述批量数据的文件的文件名、存储有所述索引数据的文件的文件名以及所述指定目录的路径数据发送给主服务器,其中,所述操作记录包括对表记录的操作的信息以及包括键值的操作数据,每条索引包括操作记录的键值、存储有所述批量数据的文件名以及所述操作记录的偏移值;
主服务器,用于从客户端接收表的名称、批量数据文件的文件名、索引数据文件的文件名以及表的路径数据,在表管理数据中计入相应的表信息,从多个索引服务器选择索引服务器,向选择的索引服务器发送表的名称、表的路径数据和索引数据文件的文件名,并且在索引服务器管理数据中记录关于所述索引服务器管理所述表的所述索引数据的信息,其中,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名,并且如果根据表的名称没有找到相应的表信息,则在表管理数据中添加包括接收的表的名称、接收的表的路径数据以及索引数据文件的文件名的表信息,如果根据表的名称找到了相应的表信息,则在找到的表信息中添加所述表的索引数据文件的文件名;
多个索引服务器,其每个用于从主服务器接收表的名称、表的路径数据和索引数据文件的文件名,并且根据所述索引数据文件的目录信息和文件名加载相应的索引数据。
20.一种基于Hadoop分布式文件系统的有序表格管理系统,包括:
客户端,用于接收表名称以及索引键值,向主服务器发送包括所述表名称的第一请求,从主服务器接收包括表的路径数据以及索引服务器信息的第一响应,分别向接收的索引服务器信息指示的各个索引服务器发送包括所述表名称和索引键值的第二请求,从所述各个索引服务器接收包括批量数据的文件名和偏移值的第二响应,根据接收的表的路径数据、批量数据的文件名和偏移值以及接收的索引键值读取包括操作信息以及操作数据的目标记录,根据读取的目标记录的写入顺序以及目标记录中的操作信息构建要返回的表记录,并且发送构建的表记录;
主服务器,用于从客户端接收包括表名称的请求,根据接收的表名称从表管理数据查找相应的表信息,所述表管理数据中的每条表信息包括表名称、表的路径数据以及各个索引数据文件的文件名,根据接收的表名称从索引服务器管理数据查找管理表的索引数据的索引服务器的信息,所述索引服务器管理数据包括关于各个索引服务器管理相应的表的索引数据的信息,并且将包括查找到的表信息中的表的路径数据以及管理表的索引数据的索引服务器的信息的响应发送给客户端;
一个或多个索引服务器,其每个用于从客户端接收表名称和索引键值,根据接收的表名称查找相应的索引数据,在所述索引数据查找与接收的索引键值相应的索引条目,所述索引数据中的每条索引包括操作记录的键值、批量数据的文件的文件名以及所述批量数据中的偏移值,并且将查找到的索引条目中的所述批量数据的文件的文件名以及所述批量数据中的偏移值发送给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310331520.6A CN103353901B (zh) | 2013-08-01 | 2013-08-01 | 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310331520.6A CN103353901B (zh) | 2013-08-01 | 2013-08-01 | 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103353901A true CN103353901A (zh) | 2013-10-16 |
CN103353901B CN103353901B (zh) | 2016-10-05 |
Family
ID=49310273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310331520.6A Active CN103353901B (zh) | 2013-08-01 | 2013-08-01 | 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103353901B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731500A (zh) * | 2014-01-09 | 2014-04-16 | 西安电子科技大学 | 基于Bigtable存储系统的数据批量插入方法 |
CN104008012A (zh) * | 2014-05-30 | 2014-08-27 | 长沙麓云信息科技有限公司 | 一种基于虚拟机动态迁移的高性能MapReduce实现机制 |
CN104580457A (zh) * | 2014-12-31 | 2015-04-29 | 广州华多网络科技有限公司 | 有序图片集多线程并发上传的方法及系统 |
CN105701096A (zh) * | 2014-11-25 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 索引生成方法、数据查询方法、装置及系统 |
CN105893435A (zh) * | 2015-12-11 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 数据加载及存储设备、方法、以及系统 |
CN109902067A (zh) * | 2019-02-15 | 2019-06-18 | 杭州数梦工场科技有限公司 | 文件处理方法、装置、存储介质及计算机设备 |
CN111694811A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种批量数据入库方法及装置 |
CN112100152A (zh) * | 2020-09-14 | 2020-12-18 | 广州华多网络科技有限公司 | 业务数据处理方法、系统、服务器和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073741A (zh) * | 2011-01-30 | 2011-05-25 | 宇龙计算机通信科技(深圳)有限公司 | 一种实现文件读取和/或写入的方法以及数据服务器 |
CN102708285A (zh) * | 2012-04-24 | 2012-10-03 | 河海大学 | 基于复杂网络模型并行化PageRank算法的核心药物挖掘方法 |
WO2012135720A2 (en) * | 2011-03-30 | 2012-10-04 | Google Inc. | Preservation of documents in a hosted user environment |
CN103020315A (zh) * | 2013-01-10 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 一种基于主从分布式文件系统的海量小文件存储方法 |
-
2013
- 2013-08-01 CN CN201310331520.6A patent/CN103353901B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073741A (zh) * | 2011-01-30 | 2011-05-25 | 宇龙计算机通信科技(深圳)有限公司 | 一种实现文件读取和/或写入的方法以及数据服务器 |
WO2012135720A2 (en) * | 2011-03-30 | 2012-10-04 | Google Inc. | Preservation of documents in a hosted user environment |
CN102708285A (zh) * | 2012-04-24 | 2012-10-03 | 河海大学 | 基于复杂网络模型并行化PageRank算法的核心药物挖掘方法 |
CN103020315A (zh) * | 2013-01-10 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 一种基于主从分布式文件系统的海量小文件存储方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731500A (zh) * | 2014-01-09 | 2014-04-16 | 西安电子科技大学 | 基于Bigtable存储系统的数据批量插入方法 |
CN103731500B (zh) * | 2014-01-09 | 2017-02-08 | 西安电子科技大学 | 基于Bigtable存储系统的数据批量插入方法 |
CN104008012A (zh) * | 2014-05-30 | 2014-08-27 | 长沙麓云信息科技有限公司 | 一种基于虚拟机动态迁移的高性能MapReduce实现机制 |
CN104008012B (zh) * | 2014-05-30 | 2017-10-20 | 长沙麓云信息科技有限公司 | 一种基于虚拟机动态迁移的高性能MapReduce实现方法 |
CN105701096A (zh) * | 2014-11-25 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 索引生成方法、数据查询方法、装置及系统 |
CN104580457A (zh) * | 2014-12-31 | 2015-04-29 | 广州华多网络科技有限公司 | 有序图片集多线程并发上传的方法及系统 |
CN105893435A (zh) * | 2015-12-11 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 数据加载及存储设备、方法、以及系统 |
CN109902067A (zh) * | 2019-02-15 | 2019-06-18 | 杭州数梦工场科技有限公司 | 文件处理方法、装置、存储介质及计算机设备 |
CN109902067B (zh) * | 2019-02-15 | 2020-11-27 | 杭州数梦工场科技有限公司 | 文件处理方法、装置、存储介质及计算机设备 |
CN111694811A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种批量数据入库方法及装置 |
CN111694811B (zh) * | 2020-04-01 | 2022-08-30 | 新华三大数据技术有限公司 | 一种批量数据入库方法及装置 |
CN112100152A (zh) * | 2020-09-14 | 2020-12-18 | 广州华多网络科技有限公司 | 业务数据处理方法、系统、服务器和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103353901B (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247808B (zh) | 一种分布式NewSQL数据库系统及图片数据查询方法 | |
CN103353901A (zh) | 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 | |
US9805079B2 (en) | Executing constant time relational queries against structured and semi-structured data | |
CN104424199B (zh) | 搜索方法和装置 | |
US10083227B2 (en) | On-the-fly determination of search areas and queries for database searches | |
CN104516979B (zh) | 一种基于二次检索的数据查询方法及系统 | |
CN104102710A (zh) | 一种海量数据查询方法 | |
CN102375853A (zh) | 分布式数据库系统、在其中建立索引的方法和查询方法 | |
CN102193917A (zh) | 一种数据处理和查询方法和装置 | |
CN107391502B (zh) | 时间间隔的数据查询方法、装置及索引构建方法、装置 | |
CN102169507A (zh) | 一种分布式实时搜索引擎 | |
US20140046928A1 (en) | Query plans with parameter markers in place of object identifiers | |
CN100458784C (zh) | 在数字图书馆中所采用的检索系统和检索方法 | |
CN104765840A (zh) | 一种大数据分布式存储的方法和装置 | |
US20190377827A1 (en) | Method and system for scalable search using microservice and cloud based search with records indexes | |
US10812322B2 (en) | Systems and methods for real time streaming | |
CN104794190A (zh) | 一种大数据有效存储的方法和装置 | |
CN105574054A (zh) | 一种分布式缓存范围查询方法、装置及系统 | |
CN102609488A (zh) | 客户端及其数据查询方法、服务端和数据查询系统 | |
CN104750855A (zh) | 一种大数据存储优化方法和装置 | |
CN104199978A (zh) | 基于NoSQL实现元数据缓存与分析的系统及方法 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN112131214A (zh) | 数据写入、数据查询的方法、系统、设备和存储介质 | |
CN102968456A (zh) | 一种栅格数据读取处理方法和装置 | |
US20110289061A1 (en) | Redistribute native xml index key shipping |
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 |