《基于分布式系统的智能数据服务方法.pdf》由会员分享,可在线阅读,更多相关《基于分布式系统的智能数据服务方法.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102937964 A (43)申请公布日 2013.02.20 CN 102937964 A *CN102937964A* (21)申请号 201210372403.X (22)申请日 2012.09.28 G06F 17/30(2006.01) (71)申请人 无锡江南计算技术研究所 地址 214083 江苏省无锡市滨湖区军东新村 030 号 (72)发明人 谢向辉 臧春峰 吴东 郝子宇 原昊 钱磊 张鲁飞 胡苏太 (74)专利代理机构 北京众合诚成知识产权代理 有限公司 11246 代理人 龚燮英 (54) 发明名称 基于分布式系统的智能数据服务方法 (57) 。
2、摘要 本发明提供了一种基于分布式系统的智能数 据服务方法。利用分布式系统的主节点管理全局 文件命名空间 ; 并且, 在向分布式系统写入文件 的流程、 从分布式系统读取文件的流程、 以及从分 布式系统读取文件的流程中, 利用分布式系统的 主节点对客户端的请求进行分析处理, 选择具体 的数据预处理程序, 分发到分布式系统的从节点 以进行后续的数据预处理和传输操作。本发明能 够在数据密集型应用环境下, 将现有的分布式系 统存储空间快速聚合 ; 而且, 本发明充分利用分 布式系统计算资源, 能够根据外部计算设备的需 求智能地提供数据服务 ; 并且, 本发明将部分数 据处理负载从外部计算设备转移到分布式。
3、系统 中, 从而减少向外部计算设备提供数据服务的带 宽需求。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 2 页 1/2 页 2 1. 一种基于分布式系统的智能数据服务方法, 其特征在于包括 : 利用分布式系统的主 节点管理全局文件命名空间 ; 并且, 在向分布式系统写入文件的流程、 从分布式系统读取文 件的流程、 以及从分布式系统读取文件的流程中, 利用分布式系统的主节点对客户端的请 求进行分析处理, 选择具体的数据预处理程序, 分发到分布式系统的从节点以进行后。
4、续的 数据预处理和传输操作。 2. 根据权利要求 1 所述的基于分布式系统的智能数据服务方法, 其特征在于, 主节点 监测并管理从节点的正常运行, 保存并更新所有从节点数据存储的元数据, 以及提供客户 端对数据请求的响应。 3.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 主节 点维持分布式系统的全局文件系统的目录。 4.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 在分 布式系统中, 数据按照原始数据的形式进行存储, 不对文件进行分块存储。 5.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 在分 布式系统中,。
5、 数据是冗余存储的, 从而一个文件可以冗余存储在多个从节点中。 6.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 向分 布式系统写入文件的流程包括 : 第一写入步骤 : 客户端向主节点询问需要写入的文件是否在分布式系统中存在 ; 第二写入步骤 : 如果需要写入的文件存在分布式系统, 主节点向客户端发送文件的元 数据, 其中包括文件的信息和文件所处的从节点信息, 向分布式系统写入文件的流程进入 第三写入步骤 ; 如果需要写入的文件不存在分布式系统, 主节点向客户端返回可写入文件 的从节点列表 ; 第三写入步骤 : 客户端根据第二写入步骤返回的文件元数据及从节点信息向其。
6、中一个 从节点写入文件 ; 第四写入步骤 : 从节点接收客户端数据流并写入文件, 如果成功完成向主节点发送成 功信息, 并同时向客户端发送确认信息, 客户端收到确认信息后完成操作 ; 如果确认信息不 成功, 重复第二写入步骤的操作 ; 第五写入步骤 : 主节点收到从节点完成数据写入的信息后更新元数据。 7.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 向分 布式系统写入文件的过程不会对数据进行预处理。 8.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 从分 布式系统读取文件的流程包括 : 第一读取步骤 : 客户端向主节点发送数据请求, 其。
7、中包括文件路径和所需要的预处 理 ; 第二读取步骤 : 主节点对客户端的数据请求进行分析, 确定所需文件所处的从节点和 所需要的预处理程序, 直接对所需文件进行预处理操作, 并且向客户单返回中间数据所处 的从节点 ; 第三读取步骤 : 客户端直接向中间数据所处的从节点进行数据请求, 从节点根据数据 数据预处理的情况返回给客户端所需数据。 9.根据权利要求1或2所述的基于分布式系统的智能数据服务方法, 其特征在于, 从分 权 利 要 求 书 CN 102937964 A 2 2/2 页 3 布式系统读取文件的流程包括 : 第一预处理步骤 : 客户端向主节点发送数据预处理操作, 并根据需要编写更加。
8、复杂的 数据预处理程序 ; 第二预处理步骤 : 主节点根据数据预处理处理请求指定从节点通过数据预处理引擎对 本地文件进行数据预处理, 从节点完成后发送给主节点成功信息 ; 第三预处理步骤 : 主节点根据从节点发送的成功信息更新元数据。 权 利 要 求 书 CN 102937964 A 3 1/5 页 4 基于分布式系统的智能数据服务方法 技术领域 0001 本发明涉及计算技术领域, 更具体地说, 本发明涉及一种基于分布式系统的智能 数据服务方法。 背景技术 0002 在数据密集型应用中, 大规模数据集处理是应用的核心, 而 I/O(输入 / 输出) 带 宽成为影响其性能的主要因素, 这使得传统。
9、的计算和存储分离的系统不适合数据密集型应 用, 因此, 需要一种新型的数据存储和服务模式, 以提高数据传输和处理的性能。 0003 数据服务一般指的是数据的存储、 管理和传输, 在不同的应用场合中具体表现形 式不同。 在数据密集型应用背景下, 数据服务主要包含两方面的内容, 一是海量数据的存储 技术, 二是海量数据的组织管理技术。 0004 智能数据服务指的是在上述两方面加入了数据的预处理操作处理, 这样可以将部 分数据处理负载从外部计算设备转移到系统内部, 从而减少系统向外部计算设备提供数据 服务的带宽需求。 0005 实现数据服务有很多种方法, 比如采用传统的集中全局存储的方法, 或采用数。
10、据 库系统。 0006 传统的集中全局存储的方法需要专用的存储服务器, 传统的计算密集型计算采用 的是这种模式。集中全局存储的方法构建数据服务的性能受限于存储服务器的带宽, 并且 价格昂贵, 难以大规模扩展。 0007 数据库系统又分为关系型数据库和非关系型数据库。 数据密集型应用工作数据集 较大, 且不需要进行频繁的数据库操作, 所以不适合存储在关系型数据库中。 非关系型数据 库提供 Key-Value(键 - 值) 的存储形式, 但它难以在数据服务中加入预处理的功能, 难以 形成智能数据服务。 发明内容 0008 本发明所要解决的技术问题是针对现有技术中存在上述缺陷, 提供一种在数据密 集。
11、应用中将传统的分布式系统的空闲存储资源聚合起来并向外部计算设备提供智能数据 服务的方法。 0009 根据本发明, 提供了一种基于分布式系统的智能数据服务方法, 其包括 : 利用分布 式系统的主节点管理全局文件命名空间 ; 并且, 在向分布式系统写入文件的流程、 从分布式 系统读取文件的流程、 以及从分布式系统读取文件的流程中, 利用分布式系统的主节点对 客户端的请求进行分析处理, 选择具体的数据预处理程序, 分发到分布式系统的从节点以 进行后续的数据预处理和传输操作。 0010 优选地, 主节点监测并管理从节点的正常运行, 保存并更新所有从节点数据存储 的元数据, 以及提供客户端对数据请求的响。
12、应。 0011 优选地, 主节点维持分布式系统的全局文件系统的目录。 说 明 书 CN 102937964 A 4 2/5 页 5 0012 优选地, 在分布式系统中, 数据按照原始数据的形式进行存储, 不对文件进行分块 存储。 0013 优选地, 数据是冗余存储的, 从而一个文件可以冗余存储在多个从节点中。 0014 优选地, 向分布式系统写入文件的流程包括 : 第一写入步骤 : 客户端向主节点询 问需要写入的文件是否在分布式系统中存在 ; 第二写入步骤 : 如果需要写入的文件存在分 布式系统, 主节点向客户端发送文件的元数据, 其中包括文件的信息和文件所处的从节点 信息, 向分布式系统写入。
13、文件的流程进入第三写入步骤 ; 如果需要写入的文件不存在分布 式系统, 主节点向客户端返回可写入文件的从节点列表 ; 第三写入步骤 : 客户端根据第二 写入步骤返回的文件元数据及从节点信息向其中一个从节点写入文件 ; 第四写入步骤 : 从 节点接收客户端数据流并写入文件, 如果成功完成向主节点发送成功信息, 并同时向客户 端发送确认信息, 客户端收到确认信息后完成操作 ; 如果确认信息不成功, 重复第二写入步 骤的操作 ; 第五写入步骤 : 主节点收到从节点完成数据写入的信息后更新元数据。 0015 优选地, 向分布式系统写入文件的过程不会对数据进行预处理。 0016 优选地, 从分布式系统读。
14、取文件的流程包括 : 第一读取步骤 : 客户端向主节点发 送数据请求, 其中包括文件路径和所需要的预处理 ; 第二读取步骤 : 主节点对客户端的数 据请求进行分析, 确定所需文件所处的从节点和所需要的预处理程序, 直接对所需文件进 行预处理操作, 并且向客户单返回中间数据所处的从节点 ; 第三读取步骤 : 客户端直接向 中间数据所处的从节点进行数据请求, 从节点根据数据数据预处理的情况返回给客户端所 需数据。 0017 优选地, 从分布式系统读取文件的流程包括 : 第一预处理步骤 : 客户端向主节点 发送数据预处理操作, 并根据需要编写更加复杂的数据预处理程序 ; 第二预处理步骤 : 主 节点。
15、根据数据预处理处理请求指定从节点通过数据预处理引擎对本地文件进行数据预处 理, 从节点完成后发送给主节点成功信息 ; 第三预处理步骤 : 主节点根据从节点发送的成 功信息更新元数据。 0018 本发明能够在数据密集型应用环境下, 将现有的分布式系统存储空间快速聚合, 并向外部计算设备提供数据服务 ; 而且, 本发明充分利用分布式系统计算资源, 能够根据外 部计算设备的需求智能地提供数据服务 ; 并且, 本发明将部分数据处理负载从外部计算设 备转移到分布式系统中, 从而减少向外部计算设备提供数据服务的带宽需求。 附图说明 0019 结合附图, 并通过参考下面的详细描述, 将会更容易地对本发明有更。
16、完整的理解 并且更容易地理解其伴随的优点和特征, 其中 : 0020 图 1 示意性地示出了根据本发明第一实施例的基于分布式系统的智能数据服务 平台架构。 0021 图 2 示意性地示出了根据本发明第二实施例的向分布式系统写入文件的流程的 示意图。 0022 图 3 示意性地示出了根据本发明第三实施例的从分布式系统读取文件的流程的 示意图。 0023 图 4 示意性地示出了根据本发明第四实施例的分布式系统内部预处理流程的示 说 明 书 CN 102937964 A 5 3/5 页 6 意图。 0024 需要说明的是, 附图用于说明本发明, 而非限制本发明。注意, 表示结构的附图可 能并非按比例。
17、绘制。并且, 附图中, 相同或者类似的元件标有相同或者类似的标号。 具体实施方式 0025 为了使本发明的内容更加清楚和易懂, 下面结合具体实施例和附图对本发明的内 容进行详细描述。 0026 0027 本发明是基于传统分布式系统衍生出来的针对数据密集型应用的智能数据服务 方法。 0028 具体地, 图 1 示意性地示出了根据本发明第一实施例的基于分布式系统的智能数 据服务平台架构。 0029 如图 1 所示, 类似于绝大多数分布式文件系统和分布式数据库, 整个架构是典型 的主从 (Master/Slave) 架构。例如, 图 1 所示的基于分布式系统的智能数据服务平台架构 包括一个主节点 M。
18、 以及多个从节点 ; 具体地说, 图 1 中示出了包括 n 个从节点的情况, 即第 一从节点 S1、 第二从节点 S2、 第三从节点 S3、 第 n 从节点 Sn。 0030 其中, 主节点M包括数据预处理分析引擎M1以及全局元数据管理模块M2。 每个从 节点均包括数据预处理引擎 (S11、 S21、 S31、 、 Sn1) 和数据存储器 (S12、 S22、 S32、 、 Sn2) 。 0031 外部计算设备 pcm(作为客户端) 可对各个从节点进行可以通过不同的从节点读 写文件。 0032 分布式系统的主节点 M 管理全局文件命名空间, 其提供的主要操作为 : 监测并管 理从节点的正常运行。
19、 ; 保存并更新所有从节点数据存储的元数据 ; 提供客户端对数据请求 的响应等。从节点 (第一从节点 S1、 第二从节点 S2、 第三从节点 S3、 第 n 从节点 Sn) 存储海量数据, 在主节点 M 的协调下直接向客户端提供数据。 0033 在本发明实施例的分布式系统中, 数据仍然按照原始数据的形式进行存储, 不对 文件进行分块存储, 这是因为分布式系统采用单主节点配置, 分块会加大主节点进行元数 据处理的开销, 同时在数据处理过程中不需要再对分块整合, 使得数据处理更加灵活。 在分 布式系统中存储的文件直接通过文件路径访问, 比如 “/dir1/file1” , 主节点维持分布式系 统的。
20、全局文件系统的目录。 0034 在本发明实施例的分布式系统中, 数据是冗余存储的, 一个文件可以冗余存储在 多个从节点中。这是由于分布式系统是采用商用的组件, 单节点宕机后仍需要分布式系统 能够正常使用。冗余存储的另一个优点是在发生读写热点, 即多个客户端集中读写少数的 几个文件时, 多个客户端可以通过不同的从节点读写文件, 提高可用带宽。 0035 本发明实施例的分布式系统的一个典型特征是数据存储和数据处理紧耦合, 本发 明实施例的智能数据服务方法充分利用了这个特征。在分布式系统中, 不仅提供了海量数 据的存储管理组件, 同时提供了数据的预处理引擎。 0036 数据预处理引擎同样分为主节点 。
21、M 的数据预处理分析引擎 M1 和从节点的数据预 处理引擎 ; 由此, 主节点 M 负责对客户端的请求进行分析处理, 选择具体的数据预处理程 说 明 书 CN 102937964 A 6 4/5 页 7 序, 分发到从节点以进行后续的数据预处理和传输操作。从节点的预处理引擎内置提供多 种数据预处理程序, 同时允许用户进行扩展, 只需要采用预处理引擎提供的统一编程接口。 0037 0038 图 2 示意性地示出了根据本发明第二实施例的向分布式系统写入文件的流程的 示意图。其中, 向分布式系统写入文件的过程不会对数据进行预处理。在此, 假设分布式系 统中具有三个从节点 : 第一从节点 S1、 第二。
22、从节点 S2、 第三从节点 S3, 但是显然分布式系统 中从节点的数量不限于三个, 而是可以是任意合适数量。 0039 具体地说, 如图 2 所示, 根据本发明第二实施例的向分布式系统写入文件的流程 包括 : 0040 第一写入步骤 a1 : 客户端 pcm1 向主节点 M 询问需要写入的文件是否在分布式系 统中存在。 0041 第二写入步骤 b1 : 如果需要写入的文件存在分布式系统, 主节点 M 向客户端 pcm1 发送文件的元数据, 其中包括文件的信息和文件所处的从节点信息, 向分布式系统写入文 件的流程进入第三写入步骤 c1 ; 如果需要写入的文件不存在分布式系统, 那就需要写入新 的。
23、文件, 主节点 M 向客户端 pcm1 返回可写入文件的从节点列表。 0042 第三写入步骤 c1 : 客户端 pcm1 根据第二写入步骤 b1 返回的文件元数据及从节点 信息向其中一个从节点写入文件。分布式系统会在后台进行所有文件的备份, 所以此时只 需要向一个从节点写入文件即可。 0043 第四写入步骤 d1 : 从节点接收客户端 pcm1 数据流并写入文件, 如果成功完成向主 节点 M 发送成功信息, 并同时向客户端 pcm1 发送确认信息, 客户端 pcm1 收到确认信息后完 成操作。如果确认信息不成功, 重复第二写入步骤 b1 的操作。 0044 第五写入步骤 e1 : 主节点 M 。
24、收到从节点完成数据写入的信息后更新元数据。 0045 0046 图 3 示意性地示出了根据本发明第三实施例的从分布式系统读取文件的流程的 示意图。在此, 假设分布式系统中具有三个从节点 : 第一从节点 S1、 第二从节点 S2、 第三从 节点 S3, 但是显然分布式系统中从节点的数量不限于三个, 而是可以是任意合适数量。 0047 根据本发明第三实施例的从分布式系统读取文件的流程包括 : 0048 第一读取步骤 a2 : 客户端 pcm1 向主节点 M 发送数据请求, 其中包括文件路径和所 需要的预处理。 0049 第二读取步骤 b2 : 主节点 M 对客户端 pcm1 的数据请求进行分析, 。
25、可以确定所需文 件所处的从节点和所需要的预处理程序, 直接对所需文件进行预处理操作, 并且向客户单 返回中间数据所处的从节点。 0050 第三读取步骤 c2 : 客户端 pcm1 直接向中间数据所处的从节点进行数据请求, 从节 点会根据数据数据预处理的情况返回给客户端 pcm1 所需数据。 0051 0052 图 4 示意性地示出了根据本发明第四实施例的分布式系统内部预处理流程的示 意图。 在实际中, 分布式系统内部的数据需要进行多次预处理, 并且不需要将其导出分布式 系统。 并且, 在此, 假设分布式系统中具有三个从节点 : 第一从节点S1、 第二从节点S2、 第三 从节点 S3, 但是显然。
26、分布式系统中从节点的数量不限于三个, 而是可以是任意合适数量。 说 明 书 CN 102937964 A 7 5/5 页 8 0053 具体地说, 如图 4 所示, 根据本发明第四实施例的分布式系统内部预处理流程包 括 : 0054 第一预处理步骤 a3 : 客户端 pcm1 向主节点 M 发送数据预处理操作, 并根据需要编 写更加复杂的数据预处理程序。 0055 第二预处理步骤 b3 : 主节点 M 根据数据预处理处理请求指定从节点通过数据预处 理引擎对本地文件进行数据预处理, 从节点完成后发送给主节点 M 成功信息。 0056 第三预处理步骤 c3 : 主节点 M 根据从节点发送的成功信息。
27、更新元数据。 0057 前面所描述的智能数据服务方法主要在数据密集型应用中利用现有的分布式系 统及相关软件, 快速搭建适用于数据密集型应用的智能数据服务平台。而且, 在实际实施 中, 分布式系统已经有很多的软件可选, 比如专门用户文件服务的分布式文件系统, 计算和 数据存储相结合的 Hadoop 和 HDFS, Sector&Sphere, 本发明的实现可尽量使用现有的软件 栈, 这些分布式文件系统和分布式计算系统都可以用于构建智能数据服务平台。需要做的 就是在这些分布式系统之上加入数据预处理分析引擎及数据预处理引擎, 以实现数据读 写、 系统内部数据预处理等操作, 构建智能数据服务平台。 0。
28、058 由此, 根据本发明实施例的基于分布式系统的智能数据服务方法至少具有下述优 势 : 0059 1. 本发明实施例解决了在数据密集型应用环境下, 如何将现有的分布式系统存储 空间快速聚合, 并向外部计算设备提供数据服务的问题 ; 0060 2. 本发明实施例充分利用分布式系统计算资源, 根据外部计算设备的需求智能地 提供数据服务 ; 0061 3. 本发明实施例将部分数据处理负载从外部计算设备转移到分布式系统中, 从而 减少向外部计算设备提供数据服务的带宽需求。 0062 此外, 需要说明的是, 说明书中的术语 “第一” 、“第二” 、“第三” 等描述, 除非特别 限定, 否则仅仅用于区分。
29、说明书中的各个组件、 元素、 步骤等, 而不是用于表示各个组件、 元 素、 步骤之间的逻辑关系或者顺序关系等。 0063 可以理解的是, 虽然本发明已以较佳实施例披露如上, 然而上述实施例并非用以 限定本发明。 对于任何熟悉本领域的技术人员而言, 在不脱离本发明技术方案范围情况下, 都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰, 或修改为等 同变化的等效实施例。 因此, 凡是未脱离本发明技术方案的内容, 依据本发明的技术实质对 以上实施例所做的任何简单修改、 等同变化及修饰, 均仍属于本发明技术方案保护的范围 内。 说 明 书 CN 102937964 A 8 1/2 页 9 图 1 图 2 图 3 说 明 书 附 图 CN 102937964 A 9 2/2 页 10 图 4 说 明 书 附 图 CN 102937964 A 10 。