用于海量数据管理的数据处理方法和系统.pdf

上传人:e1 文档编号:974123 上传时间:2018-03-22 格式:PDF 页数:14 大小:507.24KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110217035.7

申请日:

2011.07.29

公开号:

CN102332004A

公开日:

2012.01.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20110729|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

中国科学院计算技术研究所

发明人:

吴广君; 王树鹏; 云晓春; 张永铮; 王明华

地址:

100080 北京市海淀区中关村科学院南路6号

优先权:

专利代理机构:

北京律诚同业知识产权代理有限公司 11006

代理人:

祁建国;梁挥

PDF下载: PDF下载
内容摘要

本发明涉及一种用于海量数据管理的数据处理方法和系统。该方法包括:设置多个数据加载装置的步骤、设置元数据管理装置的步骤、在所述数据存储服务器上设置数据管理服务装置的步骤。该系统包括:多个数据加载装置、元数据管理装置、数据存储服务器。该方法和系统提高了海量数据的处理效率,降低了针对海量数据处理的复杂性,从而实现提高海量数据检索与挖掘的效率。

权利要求书

1: 一种用于海量数据管理的数据处理方法, 其特征在于, 包括 : A, 设置多个数据加载装置的步骤, 通过二维表结构管理不同类型的字段创建不同类型 的索引, 并以并发方式向通过网络连接的至少一个数据存储服务器加载索引数据源, 实现 数据加载与维护操作 ; B, 设置元数据管理装置的步骤, 用于记录由所述数据加载装置生成的索引分片的分布 信息, 记录并更新所述数据存储服务器的状态信息, 以及记录所述索引分片与所述数据存 储服务器的对应关系 ; C, 在所述数据存储服务器上设置数据管理服务装置的步骤, 用于存储、 管理所述索引 分片, 并根据检索命令并发检索索引分片, 并向所述元数据管理装置报告工作状态。
2: 根据权利要求 1 所述数据处理方法, 其特征在于, 还包括 : 设置多个数据检索装置的 步骤, 用于实现多机协同、 多层次、 不同粒度的数据并发检索。
3: 根据权利要求 1 所述数据处理方法, 其特征在于, 还包括 : 所述索引分片由所述数据 加载装置独立生成, 构成进行调度、 负载均衡和并发检索的基本单元。
4: 根据权利要求 3 所述数据处理方法, 其特征在于, 还包括 : 所述索引分片之间根据时 间顺序排序 ; 所述索引分片内部根据字典序排序。
5: 根据权利要求 2 所述数据处理方法, 其特征在于, 所述数据检索装置至少设置二个 层次数据过滤机制, 和 / 或二个层次数据汇总机制。
6: 根据权利要求 5 所述数据处理方法, 其特征在于, 所述二个层次数据过滤机制, 包 括: 第一级过滤机制是根据检索命令, 通过所述元数据管理装置过滤特定的数据存储服务 器列表, 并发地向过滤后的检索服务器发送检索命令 ; 第二级过滤机制是所述数据存储服务器根据检索命令, 过滤本地索引分片, 符合条件 的索引分片并发的执行检索操作。
7: 根据权利要求 5 所述数据处理方法, 其特征在于, 所述二个层次数据汇总机制, 包 括: 所述数据存储服务器汇总多个索引分片的并发检索后结果 ; 所述数据检索装置汇总多个所述数据存储服务器返回的初次汇总结果。
8: 一种用于海量数据管理的数据处理系统, 采用所述权利要求 1 至 7 中任意一种的数 据处理方法, 其特征在于, 包括 : 多个数据加载装置通过二维表结构, 为不同类型的字段创建不同类型的索引, 并通过 网络连接的至少一个数据存储服务器加载索引数据源, 实现数据加载与维护操作 ; 元数据管理装置, 用于记录由所述数据加载装置生成的索引分片的分布信息, 记录并 更新所述数据存储服务器的状态信息, 以及记录所述索引分片与所述数据存储服务器的对 应关系 ; 数据存储服务器, 还包括数据管理服务装置, 用于存储、 管理所述索引分片, 并根据检 索命令并发索引分片, 并向所述元数据管理装置报告工作状态。
9: 根据权利要求 8 所述数据处理系统, 其特征在于, 还包括 : 多个数据检索装置, 用于 实现多机协同、 多层次、 不同粒度的数据并发检索。
10: 根据权利要求 9 所述数据处理系统, 其特征在于, 当有新的数据存储服务器加入 2 时, 所述数据管理服务装置向所述元数据管理装置报告状态变更信息, 所述元数据管理装 置把新的数据存储服务器加入到可用服务器列表中, 并开始接下来的存储调度和定期心跳 机制检查中。

说明书


用于海量数据管理的数据处理方法和系统

    技术领域 本发明针对海量数据管理过程中加载与检索效率低下的问题, 提出并发加载和多 层次并发检索的方法和线性扩容的系统, 尤其涉及一种线性扩容的分布式并发加载、 检索 方法和系统。
     背景技术
     据市场调查公司 IDC 统计, 到 2011 年全球数据量预计达到 35.2ZB(1ZB = 1021B)。 典型的应用包括 : 海量日志的分析、 挖掘 ; 网络报文的实时存储与分析 ; Web2.0 下的在线游 戏、 SNS 网络等。传统关系型数据库由于一致性的约束, 在数据量达到 TB 量级时, 加载效 率和检索效率会明显下降 ; 典型的分布式 No-SQL 数据库, 如 Yahoo !的 PNUTS, Amazon 的 Dynamo, Facebook 的 Cassandra 以及 Hbase, Hypertable 等由于没有为数据源建立索引的 机制, 仅支持字符串数据类型, 导致系统仅提供基于关键字或者时间戳的数据管理, 无法执 行复杂的统计、 分析操作。 目前海量数据管理中大部分的应用可以通过二维表结构数据管理模型实现数据 的管理与分析操作 ; 同时对于数据加载过程中多条记录之间的一致性需求较弱。基于上述 分析, 本发明设计并实现具有海量数据管理功能的数据处理方法和系统, 通过分布式的数 据处理方法和系统为用户提供二维表空间的数据管理模型 ( 行为记录, 列为属性 ), 每条记 录内部支持多种属性数据检索, 多条记录之间可以联合执行复杂的统计、 分析操作。 通过元 数据管理装置, 集中管理海量数据的元数据和分布存储的数据块与数据存储装置的映射关 系, 支持数据的并发加载与数据管理装置的线性扩容。
     发明内容 为解决上述技术问题, 本发明提出一种用于海量数据管理的数据处理方法和系 统, 提高了海量数据的处理效率, 降低了针对海量数据处理的复杂性, 从而实现提高海量数 据检索与挖掘的效率。
     本发明公开了一种用于海量数据管理的数据处理方法, 其特征在于, 包括 :
     A, 设置多个数据加载装置的步骤, 通过二维表结构管理不同类型的字段创建不同 类型的索引, 并以并发方式向通过网络连接的至少一个数据存储服务器加载索引数据源, 实现数据加载与维护操作 ;
     B, 设置元数据管理装置的步骤, 用于记录由所述数据加载装置生成的索引分片的 分布信息, 记录并更新所述数据存储服务器的状态信息, 以及记录所述索引分片与所述数 据存储服务器的对应关系 ;
     C, 在所述数据存储服务器上设置数据管理服务装置的步骤, 用于存储、 管理所述 索引分片, 并根据检索命令并发检索索引分片, 并向所述元数据管理装置报告工作状态。
     还包括 : 设置多个数据检索装置的步骤, 用于实现多机协同、 多层次、 不同粒度的 数据并发检索。
     还包括 : 所述索引分片由所述数据加载装置独立生成, 构成进行调度、 负载均衡和 并发检索的基本单元。
     还包括 : 所述索引分片之间根据时间顺序排序 ; 所述索引分片内部根据字典序排 序。
     所述数据检索装置至少设置二层次数据过滤机制, 和 / 或二个层次数据汇总机 制。
     所述二个层次数据过滤机制, 包括 : 第一级过滤机制是根据检索命令, 通过所述元 数据管理装置过滤特定的数据存储服务器列表, 并发地向过滤后的检索服务器发送检索命 令; 第二级过滤机制是所述数据存储服务器根据检索命令, 过滤本地索引分片, 符合条件的 索引分片并发的执行检索操作。
     所述二个层次数据汇总机制, 包括 : 所述数据存储服务器汇总多个索引分片的并 发检索后结果 ; 所述数据检索装置汇总多个所述数据存储服务器返回的初次汇总结果。
     本发明还公开了一种用于海量数据管理的数据处理系统, 包括 : 多个数据加载装 置通过二维表结构, 为不同类型的字段创建不同类型的索引, 并通过网络连接的至少一个 数据存储服务器加载索引数据源, 实现数据加载与维护操作 ; 元数据管理装置, 用于记录由 所述数据加载装置生成的索引分片的分布信息, 记录并更新所述数据存储服务器的状态信 息, 以及记录所述索引分片与所述数据存储服务器的对应关系 ; 数据存储服务器, 还包括数 据管理服务装置, 用于存储、 管理所述索引分片, 并根据检索命令并发检索索引分片, 并向 所述元数据管理装置报告工作状态。
     还包括 : 多个数据检索装置, 用于实现多机协同、 多层次、 不同粒度的数据并发检 索。当有新的数据存储服务器加入时, 所述数据管理服务装置向所述元数据管理装置报告 状态变更信息, 所述元数据管理装置把新的数据存储服务器加入到可用服务器列表中, 并 开始接下来的存储调度和定期心跳机制检查中。
     本发明的技术特征, 首先, 基于表结构 (schema) 的并发索引创建、 加载机制。数据 加载装置利用表结构 (schema) 为不同类型的字段, 创建不同类型的索引。多个数据加载装 置可以并发的向存储系统加载索引数据源 ; 该技术在以记录为原子操作的应用场合, 可以 在线的为数据源创建索引, 在系统计算资源允许的条件下, 系统的加载效率可以随数据加 载装置的数目呈线性关系增长。其次, 索引分片的分割策略和分布存储技术。一定数量的 索引构成一个索引分片。 每个索引分片是由数据加载装置独立生成的, 是调度、 负载均衡和 并发检索的基本单位。索引分片根据一定的规则进行有序存储, 默认索引分片之间根据时 间顺序排序 ; 索引分片内部根据字典序排序。通过元数据管理装置记录分片的分布信息。 该技术可以有效管理大规模存储中索引并发加载、 检索乃至负载均衡的粒度, 并且根据检 索条件, 采用具体的优化策略, 提高索引整体检索效率。 最后, 多层次、 不同粒度的索引并发 检索、 过滤以及汇总机制。 检索过程主要包括两个层次的过滤机制, 两个层次的数据汇总机 制。第一级过滤机制是根据检索命令, 通过元数据管理装置过滤特定的数据存储服务器列 表, 并发的向过滤后的检索服务器发送检索命令 ; 第二级过滤机制是数据存储服务器根据 检索命令, 过滤本地索引分片, 符合条件的索引分片并发的执行检索操作。 两级汇总机制包 括: 数据存储服务器汇总多个索引分片的并发检索后结果 ; 数据检索装置汇总多个数据存 储服务器返回的初次汇总结果。 该技术的效果是利用多机协同, 实现多层次, 不同粒度的数据并发检索框架, 提高大规模存储条件下索引的检索效率。
     本发明的基本出发点是通过降低关系模型中多记录之间的强一致性的约束, 实现 以单条记录为原子操作, 面向用户提供二维表数据模型。同时本发明利用 SQL-Like 语言描 述数据检索规则。系统通过增加数据加载装置可以达到近线性的提高系统加载效率 ; 通过 增加存储管理服务器的数量, 可以近线性的提高检索效率。本发明提出的方法和系统适用 于海量日志存储分析与挖掘、 网络报文落地存储与统计等要求较高的加载效率和复杂的统 计检索功能的场合。 附图说明
     图 1 为数据并发检索存储系统示意图 ; 图 2 为数据加载装置工作流程图 ; 图 3 为数据检索装置工作流程图 ; 图 4 为元数据管理装置功能描述 ; 图 5 为数据管理装置工作流程图。具体实施方式 下面结合附图, 详细说明本发明的具体实施方式。图 1 给出整体的数据部署结 构图, 本发明揭示了一种用于海量数据管理的数据处理方法以及采用该方法的系统。该 系统包括 : 多个数据加载装置 10, 多个数据检索装置 20, 元数据管理装置 30, 多个数据存 储服务器 40, 该数据存储服务器 40 又包括数据管理装置 41 以及存储介质装置 42。数据 加载装置 10, 数据检索装置 20, 元数据管理装置 30, 以及数据存储服务器 40 之间通过 Gb Ethernet(Gb 以太网 ) 连接。
     该数据加载装置 10 接收加载数据源, 并构建二维表结构。二维表结构支持的数据 类型包括 : INDEX( 创建全文索引 ), INTEGER( 整数 ), TIMESTAMP( 时间戳 ), IPFIELD(IP 类 型 ), STORE( 不创建索引, 直接存储数据源 )。 该数据加载装置 10 为不同类型的字段建立索 引。 多个数据加载装置 10 可以同时加载数据源, 提高数据加载效率。 数据通过 Gb Ethernet 传输到具体的数据存储服务器 40, 并保存到存储介质装置 42。该数据的检索装置 20, 接收 用户检索命令, 通过该元数据管理装置 30 获得满足检索条件的数据存储服务器 40, 并向该 数据存储服务器 40 发出检索命令。该数据存储服务器 40 通过数据管理装置 41 检索本地 的索引分片并返回检索结果, 该数据检索装置 42 接收返回的检索结果并返回给用户。
     本发明的数据源加载流程如图 2 所示。该数据加载装置 10 主要的功能是接收操 作命令, 实现表空间管理, 数据加载操作, 数据删除操作等。该数据加载装置 10 以记录为单 位进行原子操作, 多个数据加载装置 10 之间可以并行向系统加载数据。数据加载装置 10 进一步的工作步骤 :
     步骤 S101 : 初始化数据加载装置, 开辟内存空间, 数据加载装置通常以进程为单 位进行并发加载 ;
     步骤 S102 : 开辟缓存空间, 接收加载数据命令和对应的数据源 ;
     步骤 S103 : 通过分词, 解析加载数据的命令信息, 提取输入信息的关键字, 并进行 SQL 语法分析, 进行语法检查, 如果语法正确执行步骤 S1041 ;
     步骤 S104 : 解析操作命令 ;
     步骤 S1041 : 如果是创建表空间命令, 类型如下 : CREATE TABLE tablename( 字段 名字段类型, … ), 根据输入的表名, 字段名, 字段类型等信息, 创建二维表结构, 并记录表空 间的结构 (schema) 文件 ;
     步骤 S1042 : 把表结构文件写入到元数据管理装置 ; 如果执行成功, 返回步骤 S102 ;
     步骤 S1051 : 如果是数据加载命令 ( 图中表述为插入数据, 请修改。), 类型如下 : INSERT INTO tablename VALUES( 字段值类表 ), 从元数据管理装置读取对应的 schema, 并 根据 schema 文件对输入的字段值进行检查, 检查通过后根据每个字段类型进行数据转换, 针对文本数据需要进行分词工作 ;
     步骤 S1052 : 根据每个字段的类型建立对应的索引。目前系统分为五类数据类型 : STORE 类型字段不建立索引直接存储数据 ; INDEX 类型字段保存文本信息 ; INTEGER 保存整 数类型, TIMESTAMP 保存统计信息, IPFIELD 字段类型主要存储 IP 数据 ;
     步骤 S1053 : 根据不同字段类型创建索引首先在本地进行缓存 ;
     步骤 S1054 : 判断本地缓存索引是否达到阈值, 缓存阈值是 5 分钟或者是 100 万记 录; 如果达到阈值转到步骤 S1055, 否则执行步骤 S102 ; 步骤 S1055 : 判断是否为新的索引分片, 索引分片阈值通过配置文件进行说明, 默 认把缓存阈值作为索引分片阈值。对于新生成的索引分片进行负载均衡 ; 如果是新生成的 索引分片执行步骤 S1056, 否则执行步骤 S1057 ;
     步骤 S1056 : 连接元数据管理装置, 根据调度规则, 获得当前可用的数据存储服务 器地址, 并在本地缓存 ;
     步骤 S1057 : 向数据存储服务器传输由索引分片构成的数据 ;
     步骤 S1058 : 更新元数据管理装置, 如果执行成功返回步骤 S102 ;
     步骤 S1061 : 系统提供基于时间戳区间的旧数据删除机制 ; 如果是删除数据的命 令, 获取删除命令中删除数据的时间戳区间 ;
     步骤 S1062 : 连接元数据管理装置, 检索索引分片对应数据存储服务器列表 ;
     步骤 S1063 : 从元数据管理装置获得存储索引分片对应的数据存储服务器列表 ;
     步骤 S1064 : 向保存时间戳区间内的索引分片数据存储服务器发送索引删除数据 命令 ; 如果执行成功返回步骤 S102 ;
     步骤 S1071 : 如果是删除表空间的命令, 型如 : DROP tablename, 向元数据管理装 置发起连接, 检索索引分片对应的数据存储服务器列表 ;
     步骤 S1072 : 根据存储索引的数据存储服务器列表, 发送删除表空间命令 ; 如果执 行成功返回步骤 S102 ;
     步骤 S1081 : 如果是退出数据加载装置的命令, 则关闭表空间, 清空资源 ;
     步骤 S1082 : 结束流程。
     该数据检索装置 20, 主要面向用户执行具体的数据检索操作。数据的检索操作使 用 SQL-Like 语言描述检索规则。本发明根据海量流数据、 日志数据主要的检索特点, 设计 并实现了一种支持精确、 模糊检索、 多属性检索, 具备统计分析功能的聚和函数 (SUM, AVG, COUNT, MAX, MIN), 分组排序 (ORDER BY, GROUP BY) 等描述数据操作的数据检索方法, 具体
     的检索流程如图 3 所示。
     步骤 S201 : 接收 SQL-Like 语言描述的数据检索命令 ;
     步骤 S202 : 通过分词, 语法分析等操作, 解析输入的 SQL-Like 检索命令, 并生成检 索语法树 ;
     步骤 S203 : 连接元数据管理装置, 根据检索的语法树过滤数据存储服务器, 获得 索引分片所在的数据存储服务器地址列表 ;
     步骤 S204 : 根据数据存储服务器地址列表, 并发的向目标数据存储服务器发送检 索命令 ;
     步骤 S205 : 开辟缓存, 接收数据存储服务器发回的检索结果 ;
     步骤 S206 : 对步骤 S205 发回的检索结果, 根据检索命令进行汇总, 二次排序等操 作, 如果检索命令中有 ORDER BY, GROUP BY 等关键字时, 需要对不同数据存储服务器发回的 结果集进行二次排序或分组处理 ; 有 TOP 或 LIMIT 关键字时, 需要进行结果的截断处理 ;
     步骤 S207 : 根据检索结果的大小以及检索命令的类型进行判断, 如果结果过大, 返回结果的前 100 万条记录, 并提示用户结果不完全, 是否继续检索 ; 如果继续检索则转到 步骤 S204, 如果结束本次操作则执行步骤 S208 ; 步骤 S208 : 判断是否退出检索操作, 如果退出则释放资源, 否则执行步骤 S201。
     该元数据管理装置 30 主要的功能是 : 记录索引分片和数据存储服务器的对应关 系, 记录数据存储服务器的状态信息, 定期检测本地数据存储服务器状态。 在有新数据写入 时 S301, 根据当前的服务器状态进行负载均衡, 并记录或更新表空间的 schema 文件以及对 应表空间元数据信息 ; 当数据检索装置进行数据检索时 S302, 元数据管理装置提供索引分 片和数据存储服务器的对应关系, 并把目标数据存储服务器列表发送给数据检索装置 ; 元 数据管理装置定期利用心跳机制监测集群内部的数据存储服务器是否可以连接, 并根据心 跳机制返回信息更新服务器状态 S303。
     该元数据管理装置具有的其他功能包括进行组员管理, 副本管理。当有新的数据 存储服务器加入时, 向元数据管理装置报告本地的状态信息, 元数据管理装置把新的数据 存储服务器加入到可用数据存储服务器列表中, 并开始接下来的存储调度和定期心跳机制 检查中。根据索引分片和数据存储服务器的对应关系, 元数据管理装置可以把同一份索引 分片导向两个不同的数据存储服务器, 起到副本容错的功能。该元数据管理装置的基本工 作流程如图 4 所示。
     数据管理装置 41 通常部署在数据存储服务器 40 上, 主要提供三种功能 : 存储、 管 理索引分片 ; 根据检索命令并发检索索引分片 ; 定期向元数据管理装置报告系统的状态。 具体工作流程如图 5 所示。
     步骤 S401 : 数据管理装置启动监听服务, 接收并判断操作命令 ;
     步骤 S4021 : 如果是元数据管理装置的心跳机制信息, 则收集本地的状态信息, 主 要是本地的磁盘剩余空间等参数 ;
     步骤 S4022 : 向元数据管理装置发送心跳机制状态信息 ;
     步骤 S4031 : 如果是数据写入操作, 在本地开辟缓存, 接收数据加载装置传来的索 引或数据 ;
     步骤 S4032 : 在存储本地索引分片, 并根据具体规则组织本地的索引分片 ;
     步骤 S4033 : 判断索引分片是否大于、 等于本地索引分片的阈值, 如果大于执行步 骤 S4034, 否则执行步骤 S4035 ;
     步骤 S4034 : 生成不同的索引分片 ;
     步骤 S4035 : 更新本地索引分片对应的元数据信息 ;
     步骤 S4036 : 如果本地索引分片写入成功, 向元数据管理装置发送更新的索引分 片元数据信息 ;
     步骤 S4041 : 如果是接收数据检索命令, 首先根据数据检索命令判断是否是新建 立的检索会话, 如果是则执行步骤 S4043, 否则执行 S4042 ;
     步骤 S4042 : 当检索的结果过大时, 只返回部分的结果 ( 前 100 万记录 ), 本次需要 继续上次的检索操作, 首先从内存的获得上次检索后剩余的缓存的结果 ;
     步骤 S4043 : 根据检索条件过滤本地的索引分片, 选择符合检索条件的索引分片 ;
     步骤 S4044 : 根据检索条件, 并发检索目标索引分片, 并对结果集进行汇总 ;
     步骤 S4045 : 判断结果集是否大于结果集的阈值, 系统默认是 100 万记录 ; 如果大 于阈值, 执行步骤 S4046, 否则执行步骤 S4047 ;
     步骤 S4046 : 缓存本次检索大于阈值的结果集部分和本次检索的会话 ID 信息, 支 持后续的查找操作 ;
     步骤 S4047 : 向数据检索装置发送检索结果 ;
     步骤 S4051 : 如果是退出命令, 清空缓存数据, 释放资源 ;
     步骤 S4052 : 退出流程。
     本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下, 还 可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明, 而是由 权利要求书的范围来确定的。

用于海量数据管理的数据处理方法和系统.pdf_第1页
第1页 / 共14页
用于海量数据管理的数据处理方法和系统.pdf_第2页
第2页 / 共14页
用于海量数据管理的数据处理方法和系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《用于海量数据管理的数据处理方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于海量数据管理的数据处理方法和系统.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102332004A43申请公布日20120125CN102332004ACN102332004A21申请号201110217035722申请日20110729G06F17/3020060171申请人中国科学院计算技术研究所地址100080北京市海淀区中关村科学院南路6号72发明人吴广君王树鹏云晓春张永铮王明华74专利代理机构北京律诚同业知识产权代理有限公司11006代理人祁建国梁挥54发明名称用于海量数据管理的数据处理方法和系统57摘要本发明涉及一种用于海量数据管理的数据处理方法和系统。该方法包括设置多个数据加载装置的步骤、设置元数据管理装置的步骤、在所述数据存储服务器上设。

2、置数据管理服务装置的步骤。该系统包括多个数据加载装置、元数据管理装置、数据存储服务器。该方法和系统提高了海量数据的处理效率,降低了针对海量数据处理的复杂性,从而实现提高海量数据检索与挖掘的效率。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图5页CN102332017A1/2页21一种用于海量数据管理的数据处理方法,其特征在于,包括A,设置多个数据加载装置的步骤,通过二维表结构管理不同类型的字段创建不同类型的索引,并以并发方式向通过网络连接的至少一个数据存储服务器加载索引数据源,实现数据加载与维护操作;B,设置元数据管理装置的步骤,用于记录由所述数据加。

3、载装置生成的索引分片的分布信息,记录并更新所述数据存储服务器的状态信息,以及记录所述索引分片与所述数据存储服务器的对应关系;C,在所述数据存储服务器上设置数据管理服务装置的步骤,用于存储、管理所述索引分片,并根据检索命令并发检索索引分片,并向所述元数据管理装置报告工作状态。2根据权利要求1所述数据处理方法,其特征在于,还包括设置多个数据检索装置的步骤,用于实现多机协同、多层次、不同粒度的数据并发检索。3根据权利要求1所述数据处理方法,其特征在于,还包括所述索引分片由所述数据加载装置独立生成,构成进行调度、负载均衡和并发检索的基本单元。4根据权利要求3所述数据处理方法,其特征在于,还包括所述索引。

4、分片之间根据时间顺序排序;所述索引分片内部根据字典序排序。5根据权利要求2所述数据处理方法,其特征在于,所述数据检索装置至少设置二个层次数据过滤机制,和/或二个层次数据汇总机制。6根据权利要求5所述数据处理方法,其特征在于,所述二个层次数据过滤机制,包括第一级过滤机制是根据检索命令,通过所述元数据管理装置过滤特定的数据存储服务器列表,并发地向过滤后的检索服务器发送检索命令;第二级过滤机制是所述数据存储服务器根据检索命令,过滤本地索引分片,符合条件的索引分片并发的执行检索操作。7根据权利要求5所述数据处理方法,其特征在于,所述二个层次数据汇总机制,包括所述数据存储服务器汇总多个索引分片的并发检索。

5、后结果;所述数据检索装置汇总多个所述数据存储服务器返回的初次汇总结果。8一种用于海量数据管理的数据处理系统,采用所述权利要求1至7中任意一种的数据处理方法,其特征在于,包括多个数据加载装置通过二维表结构,为不同类型的字段创建不同类型的索引,并通过网络连接的至少一个数据存储服务器加载索引数据源,实现数据加载与维护操作;元数据管理装置,用于记录由所述数据加载装置生成的索引分片的分布信息,记录并更新所述数据存储服务器的状态信息,以及记录所述索引分片与所述数据存储服务器的对应关系;数据存储服务器,还包括数据管理服务装置,用于存储、管理所述索引分片,并根据检索命令并发索引分片,并向所述元数据管理装置报告。

6、工作状态。9根据权利要求8所述数据处理系统,其特征在于,还包括多个数据检索装置,用于实现多机协同、多层次、不同粒度的数据并发检索。10根据权利要求9所述数据处理系统,其特征在于,当有新的数据存储服务器加入权利要求书CN102332004ACN102332017A2/2页3时,所述数据管理服务装置向所述元数据管理装置报告状态变更信息,所述元数据管理装置把新的数据存储服务器加入到可用服务器列表中,并开始接下来的存储调度和定期心跳机制检查中。权利要求书CN102332004ACN102332017A1/6页4用于海量数据管理的数据处理方法和系统技术领域0001本发明针对海量数据管理过程中加载与检索效。

7、率低下的问题,提出并发加载和多层次并发检索的方法和线性扩容的系统,尤其涉及一种线性扩容的分布式并发加载、检索方法和系统。背景技术0002据市场调查公司IDC统计,到2011年全球数据量预计达到352ZB1ZB1021B。典型的应用包括海量日志的分析、挖掘;网络报文的实时存储与分析;WEB20下的在线游戏、SNS网络等。传统关系型数据库由于一致性的约束,在数据量达到TB量级时,加载效率和检索效率会明显下降;典型的分布式NOSQL数据库,如YAHOO的PNUTS,AMAZON的DYNAMO,FACEBOOK的CASSANDRA以及HBASE,HYPERTABLE等由于没有为数据源建立索引的机制,仅。

8、支持字符串数据类型,导致系统仅提供基于关键字或者时间戳的数据管理,无法执行复杂的统计、分析操作。0003目前海量数据管理中大部分的应用可以通过二维表结构数据管理模型实现数据的管理与分析操作;同时对于数据加载过程中多条记录之间的一致性需求较弱。基于上述分析,本发明设计并实现具有海量数据管理功能的数据处理方法和系统,通过分布式的数据处理方法和系统为用户提供二维表空间的数据管理模型行为记录,列为属性,每条记录内部支持多种属性数据检索,多条记录之间可以联合执行复杂的统计、分析操作。通过元数据管理装置,集中管理海量数据的元数据和分布存储的数据块与数据存储装置的映射关系,支持数据的并发加载与数据管理装置的。

9、线性扩容。发明内容0004为解决上述技术问题,本发明提出一种用于海量数据管理的数据处理方法和系统,提高了海量数据的处理效率,降低了针对海量数据处理的复杂性,从而实现提高海量数据检索与挖掘的效率。0005本发明公开了一种用于海量数据管理的数据处理方法,其特征在于,包括0006A,设置多个数据加载装置的步骤,通过二维表结构管理不同类型的字段创建不同类型的索引,并以并发方式向通过网络连接的至少一个数据存储服务器加载索引数据源,实现数据加载与维护操作;0007B,设置元数据管理装置的步骤,用于记录由所述数据加载装置生成的索引分片的分布信息,记录并更新所述数据存储服务器的状态信息,以及记录所述索引分片与。

10、所述数据存储服务器的对应关系;0008C,在所述数据存储服务器上设置数据管理服务装置的步骤,用于存储、管理所述索引分片,并根据检索命令并发检索索引分片,并向所述元数据管理装置报告工作状态。0009还包括设置多个数据检索装置的步骤,用于实现多机协同、多层次、不同粒度的数据并发检索。说明书CN102332004ACN102332017A2/6页50010还包括所述索引分片由所述数据加载装置独立生成,构成进行调度、负载均衡和并发检索的基本单元。0011还包括所述索引分片之间根据时间顺序排序;所述索引分片内部根据字典序排序。0012所述数据检索装置至少设置二层次数据过滤机制,和/或二个层次数据汇总机制。

11、。0013所述二个层次数据过滤机制,包括第一级过滤机制是根据检索命令,通过所述元数据管理装置过滤特定的数据存储服务器列表,并发地向过滤后的检索服务器发送检索命令;第二级过滤机制是所述数据存储服务器根据检索命令,过滤本地索引分片,符合条件的索引分片并发的执行检索操作。0014所述二个层次数据汇总机制,包括所述数据存储服务器汇总多个索引分片的并发检索后结果;所述数据检索装置汇总多个所述数据存储服务器返回的初次汇总结果。0015本发明还公开了一种用于海量数据管理的数据处理系统,包括多个数据加载装置通过二维表结构,为不同类型的字段创建不同类型的索引,并通过网络连接的至少一个数据存储服务器加载索引数据源。

12、,实现数据加载与维护操作;元数据管理装置,用于记录由所述数据加载装置生成的索引分片的分布信息,记录并更新所述数据存储服务器的状态信息,以及记录所述索引分片与所述数据存储服务器的对应关系;数据存储服务器,还包括数据管理服务装置,用于存储、管理所述索引分片,并根据检索命令并发检索索引分片,并向所述元数据管理装置报告工作状态。0016还包括多个数据检索装置,用于实现多机协同、多层次、不同粒度的数据并发检索。当有新的数据存储服务器加入时,所述数据管理服务装置向所述元数据管理装置报告状态变更信息,所述元数据管理装置把新的数据存储服务器加入到可用服务器列表中,并开始接下来的存储调度和定期心跳机制检查中。0。

13、017本发明的技术特征,首先,基于表结构SCHEMA的并发索引创建、加载机制。数据加载装置利用表结构SCHEMA为不同类型的字段,创建不同类型的索引。多个数据加载装置可以并发的向存储系统加载索引数据源;该技术在以记录为原子操作的应用场合,可以在线的为数据源创建索引,在系统计算资源允许的条件下,系统的加载效率可以随数据加载装置的数目呈线性关系增长。其次,索引分片的分割策略和分布存储技术。一定数量的索引构成一个索引分片。每个索引分片是由数据加载装置独立生成的,是调度、负载均衡和并发检索的基本单位。索引分片根据一定的规则进行有序存储,默认索引分片之间根据时间顺序排序;索引分片内部根据字典序排序。通过。

14、元数据管理装置记录分片的分布信息。该技术可以有效管理大规模存储中索引并发加载、检索乃至负载均衡的粒度,并且根据检索条件,采用具体的优化策略,提高索引整体检索效率。最后,多层次、不同粒度的索引并发检索、过滤以及汇总机制。检索过程主要包括两个层次的过滤机制,两个层次的数据汇总机制。第一级过滤机制是根据检索命令,通过元数据管理装置过滤特定的数据存储服务器列表,并发的向过滤后的检索服务器发送检索命令;第二级过滤机制是数据存储服务器根据检索命令,过滤本地索引分片,符合条件的索引分片并发的执行检索操作。两级汇总机制包括数据存储服务器汇总多个索引分片的并发检索后结果;数据检索装置汇总多个数据存储服务器返回的。

15、初次汇总结果。该技术的效果是利用多机协同,实现多层次,不同粒度的数说明书CN102332004ACN102332017A3/6页6据并发检索框架,提高大规模存储条件下索引的检索效率。0018本发明的基本出发点是通过降低关系模型中多记录之间的强一致性的约束,实现以单条记录为原子操作,面向用户提供二维表数据模型。同时本发明利用SQLLIKE语言描述数据检索规则。系统通过增加数据加载装置可以达到近线性的提高系统加载效率;通过增加存储管理服务器的数量,可以近线性的提高检索效率。本发明提出的方法和系统适用于海量日志存储分析与挖掘、网络报文落地存储与统计等要求较高的加载效率和复杂的统计检索功能的场合。附图。

16、说明0019图1为数据并发检索存储系统示意图;0020图2为数据加载装置工作流程图;0021图3为数据检索装置工作流程图;0022图4为元数据管理装置功能描述;0023图5为数据管理装置工作流程图。具体实施方式0024下面结合附图,详细说明本发明的具体实施方式。图1给出整体的数据部署结构图,本发明揭示了一种用于海量数据管理的数据处理方法以及采用该方法的系统。该系统包括多个数据加载装置10,多个数据检索装置20,元数据管理装置30,多个数据存储服务器40,该数据存储服务器40又包括数据管理装置41以及存储介质装置42。数据加载装置10,数据检索装置20,元数据管理装置30,以及数据存储服务器40。

17、之间通过GBETHERNETGB以太网连接。0025该数据加载装置10接收加载数据源,并构建二维表结构。二维表结构支持的数据类型包括INDEX创建全文索引,INTEGER整数,TIMESTAMP时间戳,IPFIELDIP类型,STORE不创建索引,直接存储数据源。该数据加载装置10为不同类型的字段建立索引。多个数据加载装置10可以同时加载数据源,提高数据加载效率。数据通过GBETHERNET传输到具体的数据存储服务器40,并保存到存储介质装置42。该数据的检索装置20,接收用户检索命令,通过该元数据管理装置30获得满足检索条件的数据存储服务器40,并向该数据存储服务器40发出检索命令。该数据存。

18、储服务器40通过数据管理装置41检索本地的索引分片并返回检索结果,该数据检索装置42接收返回的检索结果并返回给用户。0026本发明的数据源加载流程如图2所示。该数据加载装置10主要的功能是接收操作命令,实现表空间管理,数据加载操作,数据删除操作等。该数据加载装置10以记录为单位进行原子操作,多个数据加载装置10之间可以并行向系统加载数据。数据加载装置10进一步的工作步骤0027步骤S101初始化数据加载装置,开辟内存空间,数据加载装置通常以进程为单位进行并发加载;0028步骤S102开辟缓存空间,接收加载数据命令和对应的数据源;0029步骤S103通过分词,解析加载数据的命令信息,提取输入信息。

19、的关键字,并进行SQL语法分析,进行语法检查,如果语法正确执行步骤S1041;说明书CN102332004ACN102332017A4/6页70030步骤S104解析操作命令;0031步骤S1041如果是创建表空间命令,类型如下CREATETABLETABLENAME字段名字段类型,根据输入的表名,字段名,字段类型等信息,创建二维表结构,并记录表空间的结构SCHEMA文件;0032步骤S1042把表结构文件写入到元数据管理装置;如果执行成功,返回步骤S102;0033步骤S1051如果是数据加载命令图中表述为插入数据,请修改。,类型如下INSERTINTOTABLENAMEVALUES字段值类。

20、表,从元数据管理装置读取对应的SCHEMA,并根据SCHEMA文件对输入的字段值进行检查,检查通过后根据每个字段类型进行数据转换,针对文本数据需要进行分词工作;0034步骤S1052根据每个字段的类型建立对应的索引。目前系统分为五类数据类型STORE类型字段不建立索引直接存储数据;INDEX类型字段保存文本信息;INTEGER保存整数类型,TIMESTAMP保存统计信息,IPFIELD字段类型主要存储IP数据;0035步骤S1053根据不同字段类型创建索引首先在本地进行缓存;0036步骤S1054判断本地缓存索引是否达到阈值,缓存阈值是5分钟或者是100万记录;如果达到阈值转到步骤S1055,。

21、否则执行步骤S102;0037步骤S1055判断是否为新的索引分片,索引分片阈值通过配置文件进行说明,默认把缓存阈值作为索引分片阈值。对于新生成的索引分片进行负载均衡;如果是新生成的索引分片执行步骤S1056,否则执行步骤S1057;0038步骤S1056连接元数据管理装置,根据调度规则,获得当前可用的数据存储服务器地址,并在本地缓存;0039步骤S1057向数据存储服务器传输由索引分片构成的数据;0040步骤S1058更新元数据管理装置,如果执行成功返回步骤S102;0041步骤S1061系统提供基于时间戳区间的旧数据删除机制;如果是删除数据的命令,获取删除命令中删除数据的时间戳区间;004。

22、2步骤S1062连接元数据管理装置,检索索引分片对应数据存储服务器列表;0043步骤S1063从元数据管理装置获得存储索引分片对应的数据存储服务器列表;0044步骤S1064向保存时间戳区间内的索引分片数据存储服务器发送索引删除数据命令;如果执行成功返回步骤S102;0045步骤S1071如果是删除表空间的命令,型如DROPTABLENAME,向元数据管理装置发起连接,检索索引分片对应的数据存储服务器列表;0046步骤S1072根据存储索引的数据存储服务器列表,发送删除表空间命令;如果执行成功返回步骤S102;0047步骤S1081如果是退出数据加载装置的命令,则关闭表空间,清空资源;0048。

23、步骤S1082结束流程。0049该数据检索装置20,主要面向用户执行具体的数据检索操作。数据的检索操作使用SQLLIKE语言描述检索规则。本发明根据海量流数据、日志数据主要的检索特点,设计并实现了一种支持精确、模糊检索、多属性检索,具备统计分析功能的聚和函数SUM,AVG,COUNT,MAX,MIN,分组排序ORDERBY,GROUPBY等描述数据操作的数据检索方法,具体说明书CN102332004ACN102332017A5/6页8的检索流程如图3所示。0050步骤S201接收SQLLIKE语言描述的数据检索命令;0051步骤S202通过分词,语法分析等操作,解析输入的SQLLIKE检索命令。

24、,并生成检索语法树;0052步骤S203连接元数据管理装置,根据检索的语法树过滤数据存储服务器,获得索引分片所在的数据存储服务器地址列表;0053步骤S204根据数据存储服务器地址列表,并发的向目标数据存储服务器发送检索命令;0054步骤S205开辟缓存,接收数据存储服务器发回的检索结果;0055步骤S206对步骤S205发回的检索结果,根据检索命令进行汇总,二次排序等操作,如果检索命令中有ORDERBY,GROUPBY等关键字时,需要对不同数据存储服务器发回的结果集进行二次排序或分组处理;有TOP或LIMIT关键字时,需要进行结果的截断处理;0056步骤S207根据检索结果的大小以及检索命令。

25、的类型进行判断,如果结果过大,返回结果的前100万条记录,并提示用户结果不完全,是否继续检索;如果继续检索则转到步骤S204,如果结束本次操作则执行步骤S208;0057步骤S208判断是否退出检索操作,如果退出则释放资源,否则执行步骤S201。0058该元数据管理装置30主要的功能是记录索引分片和数据存储服务器的对应关系,记录数据存储服务器的状态信息,定期检测本地数据存储服务器状态。在有新数据写入时S301,根据当前的服务器状态进行负载均衡,并记录或更新表空间的SCHEMA文件以及对应表空间元数据信息;当数据检索装置进行数据检索时S302,元数据管理装置提供索引分片和数据存储服务器的对应关系。

26、,并把目标数据存储服务器列表发送给数据检索装置;元数据管理装置定期利用心跳机制监测集群内部的数据存储服务器是否可以连接,并根据心跳机制返回信息更新服务器状态S303。0059该元数据管理装置具有的其他功能包括进行组员管理,副本管理。当有新的数据存储服务器加入时,向元数据管理装置报告本地的状态信息,元数据管理装置把新的数据存储服务器加入到可用数据存储服务器列表中,并开始接下来的存储调度和定期心跳机制检查中。根据索引分片和数据存储服务器的对应关系,元数据管理装置可以把同一份索引分片导向两个不同的数据存储服务器,起到副本容错的功能。该元数据管理装置的基本工作流程如图4所示。0060数据管理装置41通。

27、常部署在数据存储服务器40上,主要提供三种功能存储、管理索引分片;根据检索命令并发检索索引分片;定期向元数据管理装置报告系统的状态。具体工作流程如图5所示。0061步骤S401数据管理装置启动监听服务,接收并判断操作命令;0062步骤S4021如果是元数据管理装置的心跳机制信息,则收集本地的状态信息,主要是本地的磁盘剩余空间等参数;0063步骤S4022向元数据管理装置发送心跳机制状态信息;0064步骤S4031如果是数据写入操作,在本地开辟缓存,接收数据加载装置传来的索引或数据;0065步骤S4032在存储本地索引分片,并根据具体规则组织本地的索引分片;说明书CN102332004ACN10。

28、2332017A6/6页90066步骤S4033判断索引分片是否大于、等于本地索引分片的阈值,如果大于执行步骤S4034,否则执行步骤S4035;0067步骤S4034生成不同的索引分片;0068步骤S4035更新本地索引分片对应的元数据信息;0069步骤S4036如果本地索引分片写入成功,向元数据管理装置发送更新的索引分片元数据信息;0070步骤S4041如果是接收数据检索命令,首先根据数据检索命令判断是否是新建立的检索会话,如果是则执行步骤S4043,否则执行S4042;0071步骤S4042当检索的结果过大时,只返回部分的结果前100万记录,本次需要继续上次的检索操作,首先从内存的获得上。

29、次检索后剩余的缓存的结果;0072步骤S4043根据检索条件过滤本地的索引分片,选择符合检索条件的索引分片;0073步骤S4044根据检索条件,并发检索目标索引分片,并对结果集进行汇总;0074步骤S4045判断结果集是否大于结果集的阈值,系统默认是100万记录;如果大于阈值,执行步骤S4046,否则执行步骤S4047;0075步骤S4046缓存本次检索大于阈值的结果集部分和本次检索的会话ID信息,支持后续的查找操作;0076步骤S4047向数据检索装置发送检索结果;0077步骤S4051如果是退出命令,清空缓存数据,释放资源;0078步骤S4052退出流程。0079本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。说明书CN102332004ACN102332017A1/5页10图1说明书附图CN102332004ACN102332017A2/5页11图2说明书附图CN102332004ACN102332017A3/5页12图3说明书附图CN102332004ACN102332017A4/5页13图4说明书附图CN102332004ACN102332017A5/5页14图5说明书附图CN102332004A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1