CN102937964B - 基于分布式系统的智能数据服务方法 - Google Patents
基于分布式系统的智能数据服务方法 Download PDFInfo
- Publication number
- CN102937964B CN102937964B CN201210372403.XA CN201210372403A CN102937964B CN 102937964 B CN102937964 B CN 102937964B CN 201210372403 A CN201210372403 A CN 201210372403A CN 102937964 B CN102937964 B CN 102937964B
- Authority
- CN
- China
- Prior art keywords
- data
- distributed system
- node
- file
- engine
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种基于分布式系统的智能数据服务方法。利用分布式系统的主节点管理全局文件命名空间;并且,在向分布式系统写入文件的流程、从分布式系统读取文件的流程、以及从分布式系统读取文件的流程中,利用分布式系统的主节点对客户端的请求进行分析处理,选择具体的数据预处理程序,分发到分布式系统的从节点以进行后续的数据预处理和传输操作。本发明能够在数据密集型应用环境下,将现有的分布式系统存储空间快速聚合;而且,本发明充分利用分布式系统计算资源,能够根据外部计算设备的需求智能地提供数据服务;并且,本发明将部分数据处理负载从外部计算设备转移到分布式系统中,从而减少向外部计算设备提供数据服务的带宽需求。
Description
技术领域
本发明涉及计算技术领域,更具体地说,本发明涉及一种基于分布式系统的智能数据服务方法。
背景技术
在数据密集型应用中,大规模数据集处理是应用的核心,而I/O(输入/输出)带宽成为影响其性能的主要因素,这使得传统的计算和存储分离的系统不适合数据密集型应用,因此,需要一种新型的数据存储和服务模式,以提高数据传输和处理的性能。
数据服务一般指的是数据的存储、管理和传输,在不同的应用场合中具体表现形式不同。在数据密集型应用背景下,数据服务主要包含两方面的内容,一是海量数据的存储技术,二是海量数据的组织管理技术。
智能数据服务指的是在上述两方面加入了数据的预处理操作处理,这样可以将部分数据处理负载从外部计算设备转移到系统内部,从而减少系统向外部计算设备提供数据服务的带宽需求。
实现数据服务有很多种方法,比如采用传统的集中全局存储的方法,或采用数据库系统。
传统的集中全局存储的方法需要专用的存储服务器,传统的计算密集型计算采用的是这种模式。集中全局存储的方法构建数据服务的性能受限于存储服务器的带宽,并且价格昂贵,难以大规模扩展。
数据库系统又分为关系型数据库和非关系型数据库。数据密集型应用工作数据集较大,且不需要进行频繁的数据库操作,所以不适合存储在关系型数据库中。非关系型数据库提供Key-Value(键-值)的存储形式,但它难以在数据服务中加入预处理的功能,难以形成智能数据服务。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种在数据密集应用中将传统的分布式系统的空闲存储资源聚合起来并向外部计算设备提供智能数据服务的方法。
根据本发明,提供了一种基于分布式系统的智能数据服务方法,其包括:利用分布式系统的主节点管理全局文件命名空间;并且,在向分布式系统写入文件的流程、从分布式系统读取文件的流程、以及从分布式系统读取文件的流程中,利用分布式系统的主节点对客户端的请求进行分析处理,选择具体的数据预处理程序,分发到分布式系统的从节点以进行后续的数据预处理和传输操作。
优选地,主节点监测并管理从节点的正常运行,保存并更新所有从节点数据存储的元数据,以及提供客户端对数据请求的响应。
优选地,主节点维持分布式系统的全局文件系统的目录。
优选地,在分布式系统中,数据按照原始数据的形式进行存储,不对文件进行分块存储。
优选地,数据是冗余存储的,从而一个文件可以冗余存储在多个从节点中。
优选地,向分布式系统写入文件的流程包括:第一写入步骤:客户端向主节点询问需要写入的文件是否在分布式系统中存在;第二写入步骤:如果需要写入的文件存在分布式系统,主节点向客户端发送文件的元数据,其中包括文件的信息和文件所处的从节点信息,向分布式系统写入文件的流程进入第三写入步骤;如果需要写入的文件不存在分布式系统,主节点向客户端返回可写入文件的从节点列表;第三写入步骤:客户端根据第二写入步骤返回的文件元数据及从节点信息向其中一个从节点写入文件;第四写入步骤:从节点接收客户端数据流并写入文件,如果成功完成向主节点发送成功信息,并同时向客户端发送确认信息,客户端收到确认信息后完成操作;如果确认信息不成功,重复第二写入步骤的操作;第五写入步骤:主节点收到从节点完成数据写入的信息后更新元数据。
优选地,向分布式系统写入文件的过程不会对数据进行预处理。
优选地,从分布式系统读取文件的流程包括:第一读取步骤:客户端向主节点发送数据请求,其中包括文件路径和所需要的预处理;第二读取步骤:主节点对客户端的数据请求进行分析,确定所需文件所处的从节点和所需要的预处理程序,直接对所需文件进行预处理操作,并且向客户单返回中间数据所处的从节点;第三读取步骤:客户端直接向中间数据所处的从节点进行数据请求,从节点根据数据数据预处理的情况返回给客户端所需数据。
优选地,从分布式系统读取文件的流程包括:第一预处理步骤:客户端向主节点发送数据预处理操作,并根据需要编写更加复杂的数据预处理程序;第二预处理步骤:主节点根据数据预处理处理请求指定从节点通过数据预处理引擎对本地文件进行数据预处理,从节点完成后发送给主节点成功信息;第三预处理步骤:主节点根据从节点发送的成功信息更新元数据。
本发明能够在数据密集型应用环境下,将现有的分布式系统存储空间快速聚合,并向外部计算设备提供数据服务;而且,本发明充分利用分布式系统计算资源,能够根据外部计算设备的需求智能地提供数据服务;并且,本发明将部分数据处理负载从外部计算设备转移到分布式系统中,从而减少向外部计算设备提供数据服务的带宽需求。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明第一实施例的基于分布式系统的智能数据服务平台架构。
图2示意性地示出了根据本发明第二实施例的向分布式系统写入文件的流程的示意图。
图3示意性地示出了根据本发明第三实施例的从分布式系统读取文件的流程的示意图。
图4示意性地示出了根据本发明第四实施例的分布式系统内部预处理流程的示意图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
<第一实施例>
本发明是基于传统分布式系统衍生出来的针对数据密集型应用的智能数据服务方法。
具体地,图1示意性地示出了根据本发明第一实施例的基于分布式系统的智能数据服务平台架构。
如图1所示,类似于绝大多数分布式文件系统和分布式数据库,整个架构是典型的主从(Master/Slave)架构。例如,图1所示的基于分布式系统的智能数据服务平台架构包括一个主节点M以及多个从节点;具体地说,图1中示出了包括n个从节点的情况,即第一从节点S1、第二从节点S2、第三从节点S3、……、第n从节点Sn。
其中,主节点M包括数据预处理分析引擎M1以及全局元数据管理模块M2。每个从节点均包括数据预处理引擎(S11、S21、S31、……、Sn1)和数据存储器(S12、S22、S32、……、Sn2)。
外部计算设备pcm(作为客户端)可对各个从节点进行可以通过不同的从节点读写文件。
分布式系统的主节点M管理全局文件命名空间,其提供的主要操作为:监测并管理从节点的正常运行;保存并更新所有从节点数据存储的元数据;提供客户端对数据请求的响应等。从节点(第一从节点S1、第二从节点S2、第三从节点S3、……、第n从节点Sn)存储海量数据,在主节点M的协调下直接向客户端提供数据。
在本发明实施例的分布式系统中,数据仍然按照原始数据的形式进行存储,不对文件进行分块存储,这是因为分布式系统采用单主节点配置,分块会加大主节点进行元数据处理的开销,同时在数据处理过程中不需要再对分块整合,使得数据处理更加灵活。在分布式系统中存储的文件直接通过文件路径访问,比如“/dir1/file1”,主节点维持分布式系统的全局文件系统的目录。
在本发明实施例的分布式系统中,数据是冗余存储的,一个文件可以冗余存储在多个从节点中。这是由于分布式系统是采用商用的组件,单节点宕机后仍需要分布式系统能够正常使用。冗余存储的另一个优点是在发生读写热点,即多个客户端集中读写少数的几个文件时,多个客户端可以通过不同的从节点读写文件,提高可用带宽。
本发明实施例的分布式系统的一个典型特征是数据存储和数据处理紧耦合,本发明实施例的智能数据服务方法充分利用了这个特征。在分布式系统中,不仅提供了海量数据的存储管理组件,同时提供了数据的预处理引擎。
数据预处理引擎同样分为主节点M的数据预处理分析引擎M1和从节点的数据预处理引擎;由此,主节点M负责对客户端的请求进行分析处理,选择具体的数据预处理程序,分发到从节点以进行后续的数据预处理和传输操作。从节点的预处理引擎内置提供多种数据预处理程序,同时允许用户进行扩展,只需要采用预处理引擎提供的统一编程接口。
<第二实施例>
图2示意性地示出了根据本发明第二实施例的向分布式系统写入文件的流程的示意图。其中,向分布式系统写入文件的过程不会对数据进行预处理。在此,假设分布式系统中具有三个从节点:第一从节点S1、第二从节点S2、第三从节点S3,但是显然分布式系统中从节点的数量不限于三个,而是可以是任意合适数量。
具体地说,如图2所示,根据本发明第二实施例的向分布式系统写入文件的流程包括:
第一写入步骤a1:客户端pcm1向主节点M询问需要写入的文件是否在分布式系统中存在。
第二写入步骤b1:如果需要写入的文件存在分布式系统,主节点M向客户端pcm1发送文件的元数据,其中包括文件的信息和文件所处的从节点信息,向分布式系统写入文件的流程进入第三写入步骤c1;如果需要写入的文件不存在分布式系统,那就需要写入新的文件,主节点M向客户端pcm1返回可写入文件的从节点列表。
第三写入步骤c1:客户端pcm1根据第二写入步骤b1返回的文件元数据及从节点信息向其中一个从节点写入文件。分布式系统会在后台进行所有文件的备份,所以此时只需要向一个从节点写入文件即可。
第四写入步骤d1:从节点接收客户端pcm1数据流并写入文件,如果成功完成向主节点M发送成功信息,并同时向客户端pcm1发送确认信息,客户端pcm1收到确认信息后完成操作。如果确认信息不成功,重复第二写入步骤b1的操作。
第五写入步骤e1:主节点M收到从节点完成数据写入的信息后更新元数据。
<第三实施例>
图3示意性地示出了根据本发明第三实施例的从分布式系统读取文件的流程的示意图。在此,假设分布式系统中具有三个从节点:第一从节点S1、第二从节点S2、第三从节点S3,但是显然分布式系统中从节点的数量不限于三个,而是可以是任意合适数量。
根据本发明第三实施例的从分布式系统读取文件的流程包括:
第一读取步骤a2:客户端pcm1向主节点M发送数据请求,其中包括文件路径和所需要的预处理。
第二读取步骤b2:主节点M对客户端pcm1的数据请求进行分析,可以确定所需文件所处的从节点和所需要的预处理程序,直接对所需文件进行预处理操作,并且向客户单返回中间数据所处的从节点。
第三读取步骤c2:客户端pcm1直接向中间数据所处的从节点进行数据请求,从节点会根据数据数据预处理的情况返回给客户端pcm1所需数据。
<第四实施例>
图4示意性地示出了根据本发明第四实施例的分布式系统内部预处理流程的示意图。在实际中,分布式系统内部的数据需要进行多次预处理,并且不需要将其导出分布式系统。并且,在此,假设分布式系统中具有三个从节点:第一从节点S1、第二从节点S2、第三从节点S3,但是显然分布式系统中从节点的数量不限于三个,而是可以是任意合适数量。
具体地说,如图4所示,根据本发明第四实施例的分布式系统内部预处理流程包括:
第一预处理步骤a3:客户端pcm1向主节点M发送数据预处理操作,并根据需要编写更加复杂的数据预处理程序。
第二预处理步骤b3:主节点M根据数据预处理处理请求指定从节点通过数据预处理引擎对本地文件进行数据预处理,从节点完成后发送给主节点M成功信息。
第三预处理步骤c3:主节点M根据从节点发送的成功信息更新元数据。
前面所描述的智能数据服务方法主要在数据密集型应用中利用现有的分布式系统及相关软件,快速搭建适用于数据密集型应用的智能数据服务平台。而且,在实际实施中,分布式系统已经有很多的软件可选,比如专门用户文件服务的分布式文件系统,计算和数据存储相结合的Hadoop和HDFS,Sector&Sphere,本发明的实现可尽量使用现有的软件栈,这些分布式文件系统和分布式计算系统都可以用于构建智能数据服务平台。需要做的就是在这些分布式系统之上加入数据预处理分析引擎及数据预处理引擎,以实现数据读写、系统内部数据预处理等操作,构建智能数据服务平台。
由此,根据本发明实施例的基于分布式系统的智能数据服务方法至少具有下述优势:
1.本发明实施例解决了在数据密集型应用环境下,如何将现有的分布式系统存储空间快速聚合,并向外部计算设备提供数据服务的问题;
2.本发明实施例充分利用分布式系统计算资源,根据外部计算设备的需求智能地提供数据服务;
3.本发明实施例将部分数据处理负载从外部计算设备转移到分布式系统中,从而减少向外部计算设备提供数据服务的带宽需求。
此外,需要说明的是,说明书中的术语“第一”、“第二”、“第三”等描述,除非特别限定,否则仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (2)
1.一种基于分布式系统的智能数据服务方法,其特征在于包括:利用分布式系统的包括数据预处理分析引擎的主节点管理全局文件命名空间;并且,在向分布式系统写入文件的流程、以及从分布式系统读取文件的流程中,利用分布式系统的包括数据预处理分析引擎的主节点对客户端的请求进行分析处理,选择具体的数据预处理程序,分发到分布式系统的包括数据预处理引擎的从节点以进行后续的数据预处理和传输操作;在基于分布式系统的智能数据服务方法中,对分布式系统内部的数据进行多次预处理,并且不将预处理后的数据导出分布式系统;
而且,包括数据预处理分析引擎的主节点监测并管理包括数据预处理引擎的从节点的正常运行,保存并更新所有包括数据预处理引擎的从节点数据存储的文件元数据,以及提供客户端对数据请求的响应;
其中,在分布式系统中,数据按照原始数据的形式进行存储,不对文件进行分块存储;
其中,向分布式系统写入文件的流程包括:
第一写入步骤:客户端向包括数据预处理分析引擎的主节点询问需要写入的文件是否在分布式系统中存在;
第二写入步骤:如果需要写入的文件存在于分布式系统中,包括数据预处理分析引擎的主节点向客户端发送文件元数据,其中包括文件的信息和文件所处的从节点信息,向分布式系统写入文件的流程进入第三写入步骤;如果需要写入的文件不存在于分布式系统中,包括数据预处理分析引擎的主节点向客户端返回可写入文件的从节点列表;
第三写入步骤:客户端根据第二写入步骤返回的文件元数据及从节点信息向其中一个包括数据预处理引擎的从节点写入文件;
第四写入步骤:包括数据预处理引擎的从节点接收客户端数据流并写入文件,如果成功完成向包括数据预处理分析引擎的主节点发送成功信息,并同时向客户端发送确认信息,客户端收到确认信息后完成操作;如果确认信息不成功,重复第二写入步骤的操作;
第五写入步骤:包括数据预处理分析引擎的主节点收到包括数据预处理引擎的从节点完成数据写入的信息后更新文件元数据;
其中,从分布式系统读取文件的流程包括:
第一读取步骤:客户端向包括数据预处理分析引擎的主节点发送数据请求,其中包括文件路径和所需要的预处理;
第二读取步骤:包括数据预处理分析引擎的主节点对客户端的数据请求进行分析,确定所需文件所处的包括数据预处理引擎的从节点和所需要的预处理程序,并且向客户端返回中间数据所处的包括数据预处理引擎的从节点;
第三读取步骤:客户端直接向中间数据所处的包括数据预处理引擎的从节点进行数据请求,包括数据预处理引擎的从节点根据数据预处理的情况返回给客户端所需数据;
而且其中,对分布式系统内部的数据进行多次预处理中的每次预处理的流程包括:
第一预处理步骤:客户端向包括数据预处理分析引擎的主节点发送数据预处理操作请求,并根据需要编写更加复杂的数据预处理程序;
第二预处理步骤:包括数据预处理分析引擎的主节点根据数据预处理操作请求指定包括数据预处理引擎的从节点通过数据预处理引擎对本地文件进行数据预处理,包括数据预处理引擎的从节点完成后发送给包括数据预处理分析引擎的主节点成功信息;
第三预处理步骤:包括数据预处理分析引擎的主节点根据包括数据预处理引擎的从节点发送的成功信息更新文件元数据;其中,包括数据预处理分析引擎的主节点维持分布式系统的全局文件系统的目录。
2.根据权利要求1所述的基于分布式系统的智能数据服务方法,其特征在于,在分布式系统中,数据是冗余存储的,从而一个文件可以冗余存储在包括数据预处理引擎的多个从节点中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210372403.XA CN102937964B (zh) | 2012-09-28 | 2012-09-28 | 基于分布式系统的智能数据服务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210372403.XA CN102937964B (zh) | 2012-09-28 | 2012-09-28 | 基于分布式系统的智能数据服务方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102937964A CN102937964A (zh) | 2013-02-20 |
CN102937964B true CN102937964B (zh) | 2015-02-11 |
Family
ID=47696861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210372403.XA Active CN102937964B (zh) | 2012-09-28 | 2012-09-28 | 基于分布式系统的智能数据服务方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102937964B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598610B (zh) * | 2015-01-29 | 2017-12-12 | 无锡江南计算技术研究所 | 一种分布式数据库数据分发上传同步方法 |
CN106294357B (zh) * | 2015-05-14 | 2019-07-09 | 阿里巴巴集团控股有限公司 | 数据处理方法和流计算系统 |
CN106339176B (zh) | 2015-07-08 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 中间文件处理方法、客户端、服务器和系统 |
CN107704462B (zh) * | 2016-08-08 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 资源的元数据维护方法、设备及存储装置 |
CN106406758B (zh) * | 2016-09-05 | 2019-06-18 | 华为技术有限公司 | 一种基于分布式存储系统的数据处理方法及存储设备 |
CN109144406B (zh) * | 2017-06-28 | 2020-08-07 | 华为技术有限公司 | 分布式存储系统中元数据存储方法、系统及存储介质 |
CN112631771B (zh) * | 2020-12-18 | 2021-11-16 | 北京合思信息技术有限公司 | 一种大数据系统的并行处理方法 |
CN113778331B (zh) * | 2021-08-12 | 2024-06-07 | 联想凌拓科技有限公司 | 一种数据处理方法、主节点及存储介质 |
CN115904253B (zh) * | 2023-01-09 | 2023-06-13 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、装置、一种存储系统及设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101595680A (zh) * | 2006-12-05 | 2009-12-02 | 艾利森电话股份有限公司 | 与通过分布式处理的性能管理相关的装置和方法 |
CN102136003A (zh) * | 2011-03-25 | 2011-07-27 | 上海交通大学 | 大规模分布式存储系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617568A (en) * | 1994-12-14 | 1997-04-01 | International Business Machines Corporation | System and method for supporting file attributes on a distributed file system without native support therefor |
-
2012
- 2012-09-28 CN CN201210372403.XA patent/CN102937964B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101595680A (zh) * | 2006-12-05 | 2009-12-02 | 艾利森电话股份有限公司 | 与通过分布式处理的性能管理相关的装置和方法 |
CN102136003A (zh) * | 2011-03-25 | 2011-07-27 | 上海交通大学 | 大规模分布式存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102937964A (zh) | 2013-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102937964B (zh) | 基于分布式系统的智能数据服务方法 | |
US11487771B2 (en) | Per-node custom code engine for distributed query processing | |
CN103312791B (zh) | 物联网异构数据存储方法及系统 | |
Padhy | Big data processing with Hadoop-MapReduce in cloud systems | |
JP5387757B2 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
US20140358844A1 (en) | Workflow controller compatibility | |
Chavan et al. | Survey paper on big data | |
US8402119B2 (en) | Real-load tuning of database applications | |
CN102243660A (zh) | 一种数据访问方法及设备 | |
CN100452046C (zh) | 一种海量文件的存储方法及系统 | |
CN103399894A (zh) | 一种基于共享存储池的分布式事务处理方法 | |
CN102855239A (zh) | 一种分布式地理文件系统 | |
WO2015021215A1 (en) | Data bus architecture for inter-database data distribution | |
CN105677251A (zh) | 基于Redis集群的存储系统 | |
CN103345502A (zh) | 分布式数据库的事务处理方法和系统 | |
CN106569896A (zh) | 一种数据分发及并行处理方法和系统 | |
CN102495730A (zh) | 一种动态可扩展的web界面的方法 | |
US20120054429A1 (en) | Method and apparatus for optimizing data allocation | |
CN115083538A (zh) | 一种药物数据的处理系统、运行方法及数据处理方法 | |
US10419537B1 (en) | Architecture for a converged compute and file system within network-attached storage clusters | |
CN117056303B (zh) | 适用于军事行动大数据的数据存储方法及装置 | |
Zhao et al. | Toward efficient and flexible metadata indexing of big data systems | |
Ye | Research on the key technology of big data service in university library | |
Pothuganti | Big data analytics: Hadoop-Map reduce & NoSQL databases | |
CN102867029A (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 |