CN103942195A - 一种数据处理系统以及数据处理方法 - Google Patents
一种数据处理系统以及数据处理方法 Download PDFInfo
- Publication number
- CN103942195A CN103942195A CN201310017154.7A CN201310017154A CN103942195A CN 103942195 A CN103942195 A CN 103942195A CN 201310017154 A CN201310017154 A CN 201310017154A CN 103942195 A CN103942195 A CN 103942195A
- Authority
- CN
- China
- Prior art keywords
- data
- computing node
- calculation
- node
- described computing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Abstract
本发明涉及数据处理方法和数据处理系统。本发明的数据处理方法是对从数据输入节点流向计算节点的数据流进行处理的方法,其特征在于,依次循环进行下述步骤直到对所有数据流完成处理:数据量计算步骤,计算所述计算节点当前能够进行计算的数据量大小;数据读取步骤,从所述数据流中读取所述数据量计算步骤计算出的数据量大小的数据并送入所述计算节点;数据计算步骤,所述计算节点对送入的数据进行计算并且获得计算结果。根据本发明,能够防止处理大量数据时的内存溢出并且能够改善计算节点的迭代性能。
Description
技术领域
本发明涉及数据处理技术,尤其是涉及支撑海量数据计算的数据挖掘系统以及方法。
背景技术
在现有技术中,挖掘计算涵盖丰富的计算方法。传统单机版挖掘软件已经无法承担大数据量下的业务承载,挖掘计算数据会一次性读入计算机内存。当读入数据量较大时,尤其是在逻辑回归算法计算过程中,容易造成计算机内存溢出,产生错误,无法正常运行。
图1是表示现有技术的数据挖掘系统的读取方式的示意图。
如图1所述,内存一次性从数据输入节点读入所有数据后,然后转入计算,在这个过程中,数据量过大,会产生内存溢出现象。其次,若内存不溢出,数据在计算节点开始计算时,处理的效率会根据现有内存使用情况做更新,效率无法得到有效控制。
发明内容
鉴于上述问题,本发明旨在提供一种能够避免传统软件一次性读入大数据导致内存溢出、能够合理分配数据输入资源的数据处理方法以及数据处理系统。
进一步地,本发明旨在提供一种不仅能避免传统挖掘软件一次性读入大数据导致内存溢出而且又能够改善计算节点的迭代性能的数据处理方法以及数据处理系统。
本发明的数据处理方法,是对从数据输入节点流向计算节点的数据流进行处理的方法,其特征在于,依次循环进行下述步骤直到对所有数据流完成处理:
数据量计算步骤,计算所述计算节点当前能够进行计算的数据量大小;
数据读取步骤,从所述数据流中读取所述数据量计算步骤计算出的数据量大小的数据并送入所述计算节点;
数据计算步骤,所述计算节点对送入的数据进行计算并且获得计算结果。
优选地,在所述数据量计算步骤中,根据所述计算节点当前的空闲内存Z和所述计算节点的因计算所消耗的内存Y,计算所述计算节点当前能够计算的数据量大小X。
优选地,在所述数据量计算步骤中,根据下述公式计算所述计算节点当前能够处理的数据量大小X,
X=Z×K-Y,其中,0<K≤1。
优选地,所述K为固定值或者变化值,
其中,Y远远小于Z×K。
优选地,在所述数据计算步骤中,在获得计算结果后,清空内存。
优选地,在所述数据计算步骤中,所述计算节点对送入的数据进行计算并且获得计算结果,在下次循环到所述数据计算步骤的情况下,以前一次的计算结果为基础,更新计算结果。
本发明的数据处理系统,是对数据流进行处理的系统,其特征在于,包括:
数据输入节点、数据分块节点以及计算节点,
所述数据输入节点用于计算所述计算节点当前能够进行计算的数据量大小;
所述数据分块节点用于从所述数据输入节点读取所述输入节点计算出的数据量大小的数据并送入所述计算节点,
所述计算节点对送入的数据进行计算并且获得计算结果,
其中,在所述计算节点对送入的数据进行计算并且获得计算结果后,所述数据输入节点再次计算所述计算节点当前能够进行计算的数据量大小并且所述数据分块节点再次从所述数据输入节点读取所述输入节点再次计算出的数据量大小的数据并送入所述计算节点进行计算,如此进行循环,直到所述计算节点对所有数据流完成处理。
优选地,所述数据输入节点根据所述计算节点当前的空闲内存Z和所述计算节点的因计算所消耗的内存Y,计算所述计算节点当前能够计算的数据量大小X。
优选地,所述数据输入节点根据下述公式计算所述计算节点当前能够处理的数据量大小X,
X=Z×K-Y,其中,0<K≤1。
优选地,所述K为固定值或者变化值,Y远远小于Z×K。
优选地,所述计算节点在获得计算结果后清空内存。
优选地,所述计算节点对送入的数据进行计算并且获得计算结果,在下次循环到计算的情况下,以前一次的计算结果为基础,更新计算结果。
根据上述本发明的数据处理方法以及数据处理系统,对于巨大的数据流,能够将巨大的数据流,按照计算节点能够进行计算的能力每次读入适当量大小的数据,类似于将数据流切成分块并让分块数据串行地计算节点,这样,能够避免大量数据集合输入而造成内存溢出的情况。而且,计算节点将每次计算出的计算结果作为下次计算的基础,即每次计算时以前一次的计算结果为基础更新计算结果,这样能够提高计算节点结果迭代性能。本发明的数据处理系统和数据处理方法在原有传统数据挖掘工具基础上,对于大数据量集合输入(亿级别数据),把数据拆分成若干数量数据块,依次输入到挖掘计算,并更新计算结果,从而避免因为读入大量数据而造成内存溢出。因此,本发明的数据处理系统以及数据处理方法能够适合数据挖掘输入数据量大,且算法支持动态更新参数模式。
附图说明
图1是表示现有技术的数据挖掘系统的读取方式的示意图。
图2是表示本发明的数据处理方法的流程图。
图3是表示本发明的数据处理系统的构造框图。
具体实施方式
下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。
首先,对于本发明的数据处理方法进行说明。本发明设计了一种逻辑回归计算方法,既避免了传统挖掘软件一次性读入大数据内存溢出,又改善了计算节点结果迭代性能。
本发明的数据处理方法是对从数据输入节点流向计算节点的数据流进行处理的方法。图2是表示本发明的数据处理方法的流程图。如图2所示,本发明的数据处理方法依次包含下述步骤:
数据量计算步骤S101:计算计算节点当前能够进行计算的数据量大小;
数据读取步骤S102:从数据流中读取上述数据量计算步骤S101计算出的数据量大小的数据并送入计算节点;
数据计算步骤S103:计算节点对送入的数据进行计算并且获得计算结果。
依次循环进行上述数据量计算步骤S101、数据读取步骤S102、数据计算步骤S103直到对所有数据流完成处理。
在本发明中,在数据量计算步骤S101中,根据计算节点当前的空闲内存Z和计算节点的因计算所消耗的内存Y,计算所述计算节点当前能够计算的数据量大小X。具体地,根据下述公式计算计算节点当前能够处理的数据量大小X,
X=Z×K-Y,其中,0<K≤1。
其中,Y远远小于Z×K。K可以取0<K≤1范围中的任意数值并且每次循环计算时K可以是相同的固定值也可以是不同的变化值。
例如,当计算节点的因计算所消耗的内存Y=20M、计算节点当前的空闲内存Z=1000M,K=0.95的情况下,根据上述公式可以计算出该计算节点当前能够计算的数据量大小X=930M。
那么,假设从数据输入节点流向计算节点的数据流总共是4G的情况下,在数据量计算步骤S101中,利用上述公式计算出该计算节点当前能够计算的数据大小X为930M,接着,在数据读取步骤S102中,从总共为4G的数据流中读出前面的930M的数据并送入计算节点,然后,在数据计算步骤S103中,对该读出的930M的数据进行计算并获得第一计算结果。在获得第一计算结果之后,清空内存。
完成第一次循环后,接着进行第二次循环。在第二次循环的情况下,在数据量计算步骤S101中,假设Z=1000M、K=0.95、Y=40M的情况下,利用上述公式计算出该计算节点当前能够计算的数据大小X为910M,则在数据读取步骤S102中,从总共为4G的数据流中在前面已经读取了930M的数据后的位置继续读取910M的数据并送入计算节点,然后,在数据计算步骤S103中,以前次计算获得第一计算结果为基础,对该读出的910M的数据进行计算并获得第二计算结果。在获得第二计算结果之后,清空内存。
如第一次循环、第二次循环那样地继续进行循环,直到对数据流中的所有的数据完成处理。这样能够将巨大的数据流分割成分块串行地输入到计算节点,并由计算节点串行地对输入的数据继续计算。
由此,在本发明的数据处理方法中,对于巨大的数据流,能够按照计算节点能够进行计算的能力每次读入适当量的数据,类似于将数据流切成分块并让分块数据串行地计算节点,这样,能够避免大量数据集合输入而造成内存溢出的情况。而且,计算节点将每次计算出的计算结果作为下次计算的基础,即每次计算时以前一次的计算结果为基础更新计算结果,这样能够提高计算节点结果迭代性能。
以下对于本发明的数据处理系统进行说明。本发明的数据处理系统是对数据流进行处理的系统。
图3是表示本发明的数据处理系统的构造框图。如图3所示,本发明的数据处理系统包括数据输入节点100、数据分块节点200、计算节点300。
数据输入节点100用于计算计算节点300当前能够进行计算的数据量大小。数据分块节点200用于从所述数据输入节点100读取数据输入节点100计算出的数据量大小的数据并送入计算节点300。计算节点300点用于对送入的数据进行计算并且获得计算结果,其中,在计算节点300对送入的数据进行计算并且获得计算结果后,数据输入节点100再次计算该计算节点300当前能够进行计算的数据量大小并且数据分块节点200再次从数据输入节点100读取该数据输入节点100计算出的数据量大小的数据并再次送入计算节点300进行计算,如此进行循环,直到计算节点对300所有数据流完成处理。
其中,数据输入节点100根据计算节点300当前的空闲内存Z和计算节点300的因计算所消耗的内存Y,计算计算节点300当前能够计算的数据量大小X。其中,数据输入节点100根据下述公式计算计算节点300当前能够处理的数据量大小X,
X=Z×K-Y,其中,0<K≤1。
其中,Y远远小于Z×K。
而且,计算节点300在每次获得计算结果后清空内存。
进一步地,计算节点300对送入的数据进行计算并且获得计算结果,在下次循环到计算节点进行的情况下,以前一次的计算结果为基础,更新计算结果。
这样,在本发明的数据处理系统中,对于巨大的数据流,能够利用数据输入节点100和数据分块节点200将巨大的数据流,按照计算节点300能够进行计算的能力每次读入适当量大小的数据,类似于将数据流切成分块并让分块数据串行地计算节点300,这样,能够避免大量数据集合输入而造成内存溢出的情况。而且,计算节点300将每次计算出的计算结果作为下次计算的基础,即每次计算时以前一次的计算结果为基础更新计算结果,这样能够提高计算节点结果迭代性能。
本发明的数据处理系统和数据处理方法在原有传统数据挖掘工具基础上,对于大数据量集合输入(亿级别数据),把数据拆分成若干数量数据块,依次输入到挖掘计算,并更新计算结果,从而避免因为读入大量数据而造成内存溢出。因此,本发明的数据处理系统以及数据处理方法能够适合数据挖掘输入数据量大,且算法支持动态更新参数模式。
以上例子主要说明了本发明的数据处理方法以及数据处理系统。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
Claims (12)
1.一种数据处理方法,是对从数据输入节点流向计算节点的数据流进行处理的方法,其特征在于,依次循环进行下述步骤直到对所有数据流完成处理:
数据量计算步骤,计算所述计算节点当前能够进行计算的数据量大小;
数据读取步骤,从所述数据流中读取所述数据量计算步骤计算出的数据量大小的数据并送入所述计算节点;
数据计算步骤,所述计算节点对送入的数据进行计算并且获得计算结果。
2.如权利要求1所述的数据处理方法,其特征在于,
在所述数据量计算步骤中,根据所述计算节点当前的空闲内存Z和所述计算节点的因计算所消耗的内存Y,计算所述计算节点当前能够计算的数据量大小X。
3.如权利要求2所述的数据处理方法,其特征在于,
在所述数据量计算步骤中,根据下述公式计算所述计算节点当前能够处理的数据量大小X,
X=Z×K-Y,其中,0<K≤1。
4.如权利要求3所述的数据处理方法,其特征在于,
所述K为固定值或者变化值,
其中,Y远远小于Z×K。
5.如权利要求3所述的数据处理方法,其特征在于,
在所述数据计算步骤中,在获得计算结果后,清空内存。
6.如权利要求4所述的数据处理方法,其特征在于,
在所述数据计算步骤中,所述计算节点对送入的数据进行计算并且获得计算结果,在下次循环到所述数据计算步骤时,以前一次的计算结果为基础,更新计算结果。
7.一种数据处理系统,是对数据流进行处理的系统,其特征在于,包括:数据输入节点、数据分块节点以及计算节点,
所述数据输入节点用于计算所述计算节点当前能够进行计算的数据量大小;
所述数据分块节点用于从所述数据输入节点读取所述输入节点计算出的数据量大小的数据并送入所述计算节点,
所述计算节点对送入的数据进行计算并且获得计算结果,
其中,在所述计算节点对送入的数据进行计算并且获得计算结果后,所述数据输入节点再次计算所述计算节点当前能够进行计算的数据量大小并且所述数据分块节点再次从所述数据输入节点读取所述输入节点再次计算出的数据量大小的数据并送入所述计算节点进行计算,如此进行循环,直到所述计算节点对所有数据流完成处理。
8.如权利要求6所述的数据处理系统,其特征在于,
所述数据输入节点根据所述计算节点当前的空闲内存Z和所述计算节点的因计算所消耗的内存Y,计算所述计算节点当前能够计算的数据量大小X。
9.如权利要求7所述的数据处理系统,其特征在于,
所述数据输入节点根据下述公式计算所述计算节点当前能够处理的数据量大小X,
X=Z×K-Y,其中,0<K≤1。
10.如权利要求9所述的数据处理系统,其特征在于,
所述K为固定值或者变化值,
Y远远小于Z×K。
11.如权利要求10所述的数据处理系统,其特征在于,
所述计算节点在获得计算结果后清空内存。
12.如权利要求9所述的数据处理系统,其特征在于,
所述计算节点对送入的数据进行计算并且获得计算结果,在下次循环到计算的情况下,以前一次的计算结果为基础,更新计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310017154.7A CN103942195B (zh) | 2013-01-17 | 2013-01-17 | 一种数据处理系统以及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310017154.7A CN103942195B (zh) | 2013-01-17 | 2013-01-17 | 一种数据处理系统以及数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942195A true CN103942195A (zh) | 2014-07-23 |
CN103942195B CN103942195B (zh) | 2017-07-25 |
Family
ID=51189865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310017154.7A Active CN103942195B (zh) | 2013-01-17 | 2013-01-17 | 一种数据处理系统以及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942195B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550523A (zh) * | 2015-12-28 | 2016-05-04 | 上海携程商务有限公司 | 数据处理方法 |
CN106570030A (zh) * | 2015-10-12 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 基于大数据的计算方法和装置 |
CN109074377A (zh) * | 2016-03-29 | 2018-12-21 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193830A (zh) * | 2010-03-12 | 2011-09-21 | 复旦大学 | 面向众核环境的分治映射/归约并行编程模型 |
US20120016816A1 (en) * | 2010-07-15 | 2012-01-19 | Hitachi, Ltd. | Distributed computing system for parallel machine learning |
CN102629219A (zh) * | 2012-02-27 | 2012-08-08 | 北京大学 | 并行计算框架中的Reduce端自适应负载均衡方法 |
-
2013
- 2013-01-17 CN CN201310017154.7A patent/CN103942195B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193830A (zh) * | 2010-03-12 | 2011-09-21 | 复旦大学 | 面向众核环境的分治映射/归约并行编程模型 |
US20120016816A1 (en) * | 2010-07-15 | 2012-01-19 | Hitachi, Ltd. | Distributed computing system for parallel machine learning |
CN102629219A (zh) * | 2012-02-27 | 2012-08-08 | 北京大学 | 并行计算框架中的Reduce端自适应负载均衡方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570030A (zh) * | 2015-10-12 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 基于大数据的计算方法和装置 |
CN105550523A (zh) * | 2015-12-28 | 2016-05-04 | 上海携程商务有限公司 | 数据处理方法 |
CN109074377A (zh) * | 2016-03-29 | 2018-12-21 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN109074377B (zh) * | 2016-03-29 | 2024-04-16 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
Also Published As
Publication number | Publication date |
---|---|
CN103942195B (zh) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2932377B1 (en) | Reachability-based coordination for cyclic dataflow | |
CN102981959B (zh) | 固态存储装置及其垃圾搜集动作的控制方法 | |
CN106547522B (zh) | 一种流应用优化的方法及装置 | |
CN103870340A (zh) | 流计算系统中的数据处理方法、控制节点及流计算系统 | |
CN103514025A (zh) | Opencl编译 | |
CN103488537A (zh) | 一种数据抽取、转换和加载etl的执行方法及装置 | |
CN102306141B (zh) | 一种描述动态可重构阵列配置信息的方法 | |
CN106293947B (zh) | 虚拟化云环境下gpu-cpu混合资源分配系统和方法 | |
CN104615413A (zh) | 一种流水线任务自适应并行方法 | |
CN109597687B (zh) | 数据同步的资源分配方法、装置、存储介质和电子设备 | |
CN103366021A (zh) | 一种云计算平台上的变邻域搜索方法及系统 | |
CN103942195A (zh) | 一种数据处理系统以及数据处理方法 | |
CN104268243A (zh) | 一种位置数据处理方法及装置 | |
CN104077081A (zh) | 一种存储方法及装置 | |
US20140019569A1 (en) | Method to determine patterns represented in closed sequences | |
CN103294799A (zh) | 一种数据并行批量导入只读查询系统的方法及系统 | |
CN103235717B (zh) | 具有多态指令集体系结构的处理器 | |
CN104778088A (zh) | 一种基于减少进程间通信开销的并行i/o优化方法与系统 | |
Deniziak et al. | Hardware/software co-synthesis of distributed embedded systems using genetic programming | |
CN102509177B (zh) | 一种基于云平台的局部加权线性回归预测运算的方法 | |
CN110675088B (zh) | 一种数字孪生系统复杂任务高效划分方法 | |
KR20160112755A (ko) | 임베디드 소프트웨어의 자가 적응형 설계 방법 | |
CN104376366A (zh) | 一种最优网络最大流算法的选择方法和设备 | |
Moreira et al. | Evolutionary acyclic graph partitioning | |
CN107766442B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |