分布式数据挖掘方法及系统与流程

文档序号:11590567阅读:261来源:国知局

本发明涉及计算机技术领域,具体而言,涉及一种分布式数据挖掘方法及系统。



背景技术:

在现有的数据挖掘技术中,通常只配置一台服务器对数据进行处理,数据处理量小,服务器负担重。并且需要在高度专业化的客户端界面上进行模型定义,需要通过专业的编程语言来实现。由此,进行数据挖掘的技术人员需要具备较高水平的专业技术,增加了相应的技术学习成本。



技术实现要素:

为了克服现有技术中的上述不足,本发明提供一种分布式数据挖掘方法及系统,其采用分布式架构,可横向扩展数据的处理规模,优化了对数据模型的定义,减轻对技术人员的专业要求,降低了学习成本。

本发明的第一目的在于提供一种分布式数据挖掘方法,所述方法应用于分布式数据挖掘系统,所述分布式数据挖掘系统包括:第一服务器及分布式集群组,所述分布式集群组包括多个用于进行模型运算及挖掘分析的第二服务器,所述方法包括:

第一服务器获取用户在浏览器界面选择的挖掘数据信息;

第一服务器基于所述挖掘数据信息进行变量定义,以便进行模型运算;

第一服务器获取用户在浏览器界面选择的模型信息,并将挖掘数据信息及选择的所述模型信息发送给分布式集群组;

分布式集群组接收所述第一服务器发送的所述挖掘数据信息及选择的模型信息,根据用户选择的模型进行模型运算及挖掘分析。

本发明的第二目的在于提供一种分布式数据挖掘系统,所述分布式数据挖掘系统包括:第一服务器及分布式集群组,所述分布式集群组包括多个用于进行模型运算及挖掘分析的第二服务器,其中:

所述第一服务器,用于获取用户在浏览器界面选择的挖掘数据信息;

所述第一服务器,还用于基于所述挖掘数据信息进行变量定义,以便进行模型运算;

所述第一服务器,还用于获取用户在浏览器界面选择的模型信息,并将挖掘数据信息及选择的所述模型信息发送给分布式集群组;

所述分布式集群组,用于接收所述第一服务器发送的所述挖掘数据信息及选择的模型信息,根据用户选择的模型进行模型运算及挖掘分析。

相对于现有技术而言,本发明具有以下有益效果:

本发明提供一种分布式数据挖掘方法及系统。所述分布式数据挖掘系统包括:第一服务器及分布式集群组,所述分布式集群组包括多个用于进行模型运算及挖掘分析的第二服务器。第一服务器获取用户在浏览器界面选择的挖掘数据信息。第一服务器基于所述挖掘数据信息进行变量定义,以便进行模型运算。第一服务器获取用户在浏览器界面选择的模型信息,并将挖掘数据信息及选择的所述模型信息发送给分布式集群组。分布式集群组接收所述第一服务器发送的所述挖掘数据信息及选择的模型信息,根据用户选择的模型进行模型运算及挖掘分析。由此,通过采用分布式架构横向扩展了数据的处理规模,优化了对数据模型的定义,不需要高度专业化的客户端,减轻对技术人员的专业要求,降低了学习成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明较佳实施例提供的分布式数据挖掘系统的方框示意图。

图2是本发明较佳实施例提供的图1所示的第一服务器的方框示意图。

图3是本发明较佳实施例提供的图1所示的第二服务器的方框示意图。

图4是本发明较佳实施例提供的分布式数据挖掘方法的步骤流程图之一。

图5是本发明较佳实施例提供的图4所示的步骤s110的子步骤流程图。

图6是本发明较佳实施例提供的图4所示的步骤s130的子步骤流程图。

图7是本发明较佳实施例提供的分布式数据挖掘方法的步骤流程图之二。

图标:10-分布式数据挖掘系统;100-第一服务器;110-第一存储器;120-第一处理器;130-第一网络模块;200-分布式集群组;210-第二服务器;212-第二存储器;214-第二处理器;216-第二网络模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明提供一种分布式数据挖掘系统。请参照图1,图1是本发明较佳实施例提供的分布式数据挖掘系统10的方框示意图。所述分布式数据挖掘系统10包括相互通信连接的第一服务器100及分布式集群组200。所述分布式集群组200包括多个第二服务器210。

在本实施例中,所述第一服务器100负责响应用户在浏览器界面进行的相关操作,以及执行数据挖掘的相关业务并对数据挖掘业务进行管理。所述分布式集群组200专门负责对数据进行运算。所述分布式集群组200通过多个第二服务器210实现数据的分布式运算,以对数据的处理规模进行扩展。

在本实施例中,所述分布式数据挖掘系统10采用b/s架构(browser/server,浏览器/服务器模式),b/s是web兴起后的一种网络结构模式,web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户端上只要安装一个浏览器,如netscapenavigator或internetexplorer,服务器安装sqlserver、oracle、mysql等数据库,浏览器通过webserver同数据库进行数据交互。由此,不需要依靠高度专业化的客户端来进行模型的定义操作,易于对系统进行扩展,也降低了成本。

在本实施例中,所述分布式数据挖掘系统10采用分布式架构进行数据处理,通过将需要进行大量计算的数据分区成小块,由多台服务器分别进行计算,计算后再将结果统一合并得出数据结论。采用分布式架构的系统更易于对数据处理规模进行扩展,以对大量数据进行运算。

请参照图2,图2是本发明较佳实施例提供的图1所示的第一服务器100的方框示意图。所述第一服务器100包括第一存储器110、第一处理器120及第一网络模块130。

所述第一存储器110、第一处理器120及第一网络模块130相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线或信号线实现电性连接。第一存储器110中存储有多个软件功能模块,所述第一处理器120通过运行存储在第一存储器110内的软件程序以及模块,从而执行各种功能应用以及数据处理。

其中,所述第一存储器110可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,第一存储器110用于存储程序,所述第一处理器120在接收到执行指令后,执行所述程序。进一步地,上述第一存储器110内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。

所述第一处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的第一处理器120可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

第一网络模块130用于通过网络建立第一服务器100与分布式集群组200的多个第二服务器210之间的通信连接,实现网络信号及数据的传输操作。

可以理解,图2所述的结构仅为示意,第一服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

请参照图3,图3是本发明较佳实施例提供的图1所示的第二服务器210的方框示意图。所述第二服务器210包括第二存储器212、第二处理器214及第二网络模块216。

所述第二存储器212中存储有数据库,所述数据库用于存储需要运算的数据信息及经过运算后的数据结果。

其中,所述第二存储器212、第二处理器214及第二网络模块216与图2中的第一存储器110、第一处理器120及第一网络模块130的硬件配置相同,在此就不再一一介绍。

本发明还提供一种分布式数据挖掘方法。请参照图4,图4是本发明提供的分布式数据挖掘方法的步骤流程图之一。所述分布式数据挖掘方法应用于分布式数据挖掘系统10。下面对分布式数据挖掘方法具体流程进行详细阐述。

步骤s110,第一服务器100获取用户在浏览器界面选择的挖掘数据信息。

请参阅图5,图5是本发明第一实施例提供的图4所示的步骤s110的子步骤流程图。所述步骤s110包括:子步骤s111、子步骤s112及子步骤s113。

子步骤s111,第一服务器100获取用户在浏览器界面选择的需要进行挖掘分析的交换服务信息及数据字段信息。

在本实施例中,所述交换服务信息指的是数据库中存储的数据表(或称表)。数据表是数据库中一个非常重要的对象,是其他对象的基础,数据库只是一个框架,数据表才是真正的实质内容。例如,以教学管理系统为例,教学管理系统的数据库可以包括:教师表、学生表、成绩表、课程表及班级表等多个数据表。通过这些数据表来对教学过程中学生、教师、课程等信息进行管理。所述数据字段信息与数据表中的列相对应,数据字段名称对应列的名称,数据字段类型对应列的类型。

子步骤s112,第一服务器100分别响应用户对所述交换服务信息及数据字段信息进行关联设置的操作,并获取经过关联设置的交换服务信息及数据字段信息。

在本实施例中,所述第一服务器100响应用户对所述交换服务信息及数据字段信息进行关联设置的操作指的是:用户通过数据库语言将数据库中各自独立的数据表通过建立关系进行关联,第一服务器100响应用户对数据表进行关联的操作。其中,所述数据库语言包括:sql(结构化查询语言)、oracle、db2、sqlserver、sybase、mysql等。在本实施例中,优选采用sql(结构化查询语言)。

子步骤s113,当用户需要对交换服务中的数据进行过滤时,第一服务器100响应用户对数据进行过滤条件设置的操作,以对所述数据进行过滤。

在本实施例中,当用户需要对交换服务中的数据进行过滤时,第一服务器100通过读取用户用sql数据库语言填写的where条件,以此对需要过滤的数据进行过滤。

步骤s130,第一服务器100基于所述挖掘数据信息进行变量定义,以便进行模型运算。

请参阅图6,图6是本发明提供的图4所示的步骤s130的子步骤流程图。所述步骤s130包括:子步骤s131及子步骤s132。

子步骤s131,第一服务器100响应用户对需要进入模型运算的数据字段进行参数配置的操作。

在本实施例中,数据字段配置的参数包括:数据字段名称、数据字段类型、变量数据类型、插补取值、空值率、输入/输出变量等。

在本实施例中,第一服务器100基于获取的数据字段信息进行字段类型定义,并根据数据字段类型配置默认的变量数据类型。其中,所述数据字段类型包括:double(双精度浮点型)、string(字符型)及bigint(超过int整型数据范围的整型)等类型,所述变量数据类型包括:分段型、连续型、离散型及归类型。离散型:取值为有限个可列举的类别或数值;连续型:取值为数值型的连续型变量;分段型:对连续型变量离散化,如将1-10的连续数值分为三段:[1,3),[3,7),[7,10];归类型:将离散变量划分为更少的大类,如将dba工程师、前端工程师归类为it工程师。

在本实施例中,所述第一服务器100会根据所述数据字段类型配置相应的变量数据类型。例如,double型及bigint型与连续型对应,string型与离散型对应。

在本实施例中,第一服务器100响应用户对不同类型的数据字段进行离散化设置的操作,以便对所述数据字段进行分类,其中,所述离散化设置包括:分段设置、归类设置及标签设置。分段设置:针对连续型的数值字段/变量,将数值类型的字段/变量离散成多个分段区间进行分析,分段设置就是填写每个分段区间的过程。归类设置:可将离散型的字段/变量归类分析,将离散型的字段/变量拖动到预先定义的分类下。标签设置:是对输出变量进行分类标记,只有输出变量会进行标签设置。在一个挖掘过程中,只允许有一个输出变量,可以从原来的字段/变量中选择,也可以自定义。

在本实施例中,第一服务器100响应用户对插补数据进行类型选择的操作,当数据字段中存在缺失数据时,第一服务器100基于用户选择的插补数据类型对缺失数据进行插补取值。所述插补数据类型包括:均值、众数、最大值、最小值等。例如,若用户选择的插补数据类型是均值,则第一服务器100将缺失数据在数据表中所在列的数值的均值数作为插补取值数填补该缺失数据。

子步骤s132,第一服务器100将需要进行模型运算的数据字段进行转换定义,转换为可带入模型中进行运算的变量。

在本实施例中,由于数据字段类型众多,第一服务器100需要将数据字段进行转换定义,转换为可被计算程序识别的的数值变量,以带入到模型中进行运算。例如,将老师字段定义为0,学生字段定义为1,以此带入到计算程序中进行计算。

步骤s140,第一服务器100获取用户在浏览器界面选择的模型信息,并将挖掘数据信息及选择的所述模型信息发送给分布式集群组200。

在本实施例中,第一服务器100获取用户在浏览器界面选择的模型信息。第一服务器100基于用户选择的模型信息配置相应的挖掘算法,并通过浏览器显示给用户。第一服务器100为每种模型配置默认的分析参数,并通过浏览器显示给用户。第一服务器100响应用户对所述挖掘算法及分析参数进行更改的操作。第一服务器100将挖掘数据信息及选择的所述模型信息发送给所述分布式集群组200的多个第二服务器210。

在本实施例中,常用的数据挖掘与机器学习的模型包括:分类模型、回归模型、聚类模型、预测模型、关联挖掘模型等。不同的模型执行不同的任务,对应不同的数据处理方式,并且每种模型也有相对应的一种或多种运算算法。

在本实施例中,所述挖掘数据信息包括:挖掘算法、分析参数及经过转换定义的变量。其中,所述分析参数包括:训练比例、测试比例等通用参数及每种模型特有的专用参数。所述训练比例与测试比例之和为1,通常将训练比例设定为0.7,测试比例设定为0.3。即70%的样本数据作为训练数据用于建立模型,30%的样本数据作为测试数据用于对建立的模型效果进行检测。第一服务器100也可响应用户根据需求对训练比例及测试比例进行调整的操作,只需保证训练比例与测试比例之和为1。

步骤s150,所述分布式集群组200接收所述第一服务器100发送的所述挖掘数据信息及选择的模型信息,根据用户选择的模型进行模型运算及挖掘分析。

在本实施例中,多个第二服务器210接收所述第一服务器100发送的所述挖掘数据信息及选择的模型信息。多个第二服务器210基于所述挖掘数据信息包括的挖掘算法、分析参数及经过转换定义的变量对用户选择的模型进行运算,对运算结果进行挖掘分析。在运算、分析结束后,多个第二服务器210会将经过运算及分析的数据结果及模型结果存储于数据库中,并将所述数据结果及模型结果发送给第一服务器100,使数据结果及模型结果可通过浏览器显示给用户。

请参照图7,图7是本发明提供的分布式数据挖掘方法的步骤流程图之二。所述方法还包括步骤s120及步骤s160。

步骤s120,第一服务器100响应用户点击的预分析操作,对所述挖掘数据信息进行预分析,并将预分析结果通过浏览器显示给用户,以便响应用户根据所述预分析结果对所述数据字段进行离散化设置的操作。

在本实施例中,所述预分析结果包括:总行数、平均值、和值、最大值、最小值、极差、方差、中位数、空值率等。第一服务器100对挖掘数据信息进行预分析以得到预分析结果,用户可根据变量数据类型查看预分析结果的不同数据信息以进行离散化设置。例如,连续型的可以查看:总行数、平均值、最大值、最小值等数据信息,离散型的可以查看每种字段类型的数量等。

步骤s160,第一服务器100对创建的挖掘分析模型进行管理。

在本实施例中,第一服务器100将分析结果通过浏览器显示给用户,并响应用户对分析结果进行的后续操作。所述后续操作包括:生成数据图形、发布分析结果、模型及算法重置、模型刷新及删除等。例如,用户可对需要添加的图形及图形参数(尺寸、颜色等)进行选择,第一服务器100响应用户对添加图形选择的操作,生成相应的图形并展现给用户。

综上所述,本发明提供一种分布式数据挖掘方法及系统。所述分布式数据挖掘系统包括:第一服务器及分布式集群组,所述分布式集群组包括多个用于进行模型运算及挖掘分析的第二服务器。第一服务器获取用户在浏览器界面选择的挖掘数据信息。第一服务器基于所述挖掘数据信息进行变量定义,以便进行模型运算。第一服务器获取用户在浏览器界面选择的模型信息,并将挖掘数据信息及选择的所述模型信息发送给分布式集群组。分布式集群组接收所述第一服务器发送的所述挖掘数据信息及选择的模型信息,根据用户选择的模型进行模型运算及挖掘分析。

由此,通过采用分布式架构横向扩展了数据的处理规模,优化了对数据模型的定义,不需要高度专业化的客户端,减轻对技术人员的专业要求,降低了学习成本。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1