对机器学习模型进行处理的方法及装置与流程

文档序号:15388145发布日期:2018-09-08 00:49阅读:257来源:国知局

本发明涉及互联网电子商务技术领域,尤其涉及一种对机器学习模型进行处理的方法及装置。



背景技术:

随着互联网技术的发展,机器学习技术逐步应用在了各类在线业务中,目前最常用的领域,就是通过机器学习训练的模型,建立相应的应答机器人,以便于提高在线业务的自动化程度,从而提高业务系统的运营效率。目前,在机器学习模型的训练和部署过程中,业界传统的做法有如下:先将模型保存成pmml格式文件,再利用对应pmml格式文件的工具(比如jpmml)或自定义解析方法将pmml格式文件解析后进行实验。但是,由于需要依赖pmml的方式,这种方式要求算法代码必须满足特定的规范,规则复杂,导致了代码编写繁琐,需要按照特定格式\规范编写,且难以编写自定义的一些算法,费时费力,导致模型的开发效率很低,难以适应实时性要求越来越高的业务系统。



技术实现要素:

本发明的实施例提供一种对机器学习模型进行处理方法及装置,能够提高基于机器学习模型的开发效率。

为达到上述目的,本发明的实施例采用如下技术方案:

通过机器学习平台运行训练实验,生成对应所述训练实验的模型文件,并根据所述模型文件创建预测实验;通过所述机器学习平台,获取所述预测实验对应的实验数据,所述实验数据包括:xml信息、所述预测实验所依赖的算法包;调用所述预测实验所依赖的算法包解析所述xml信息,并将所述解析结果加载至所述模型后,执行所述预测实验。

通过本实施例中的机器学习平台,实现了用于建立机器人的模型的自动化训练,尤其是通过训练实验实现了模型的实验准备,并自动提取相关的实验数据,再通过预测实验自动校验模型的训练效果。使得模型文件的准备和训练过程不再受制于pmml格式,从而提高了模型的开发效率,使其能够更好地适应实时性要求越来越高的业务系统。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1a、图1b为本发明实施例提供的提供架构示意图;

图2为本发明实施例提供的方法流程示意图;

图3、图4、图5为本发明实施例提供的具体实例的示意图。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

本实施例中的方法流程,具体可以在一种如图1a所示的系统上实现,具体来说,该系统包括:

机器学习平台、离线计算平台和spark计算集群,系统的各端设备相互之间可以通过互联网建立信道,并通过各自的数据传输端口进行数据交互。

本实施例中所揭示的离线计算平台,在硬件层面上具体可以是工作站、超级计算机等设备,或者是由多台服务器组成的一种用于数据处理的服务器集。离线计算平台,具体用于获取实验所需的的xml信息、依赖的算法包以及模型文件,并向spark提交执行指令。

spark计算集群,包括多个计算节点,每个计算节点都可以是服务器、计算机或者通过分配的计算资源建立的虚拟机,执行任务的spark进程作为客户端向”集群”申请资源(运算节点),“集群”分配资源以后,这个spark进程会分解一些计算工作,并把他们放到这些申请来的资源中运行。

机器学习平台,在硬件层面上具体可以是由多台服务器、超算等具备计算功能的硬件设备组成的。

本发明实施例提供一种对机器学习模型进行处理方法,如图2所示,包括:

s1、通过机器学习平台运行训练实验,生成对应所述训练实验的模型文件,并根据所述模型文件创建预测实验。

需要说明的是,业内一般会将用于做机器学习类模型训练的平台称作为机器学习平台。所述的“实验”,可以理解为从单个入口点执行的一个或多个任务的统称,可以包含诸如数据引入、特征工程、模型训练或模型评估等任务。其中,以训练模型为目标的实验称为训练实验。将训练好的模型作为实验中的任务节点的实验称为预测实验。

模型文件具体可以理解为一种用于实验的模型存储在计算机中的文件,模型是一种序列化后的二进制文档。在机器学习平台创建一个训练实验,实验运行完后,生成对应的模型文件。在预测过程中,模型文件可以反序列化为模型,模型父类有预测接口。之后,根据生成的模型,在机器学习平台再创建对应的预测实验。

其中,“模型的父类”可以按照业内所公认的意思来理解,即所述模型的父类是指所有算法模型类的基类,所述模型的父类定义了模型共同需要的接口,如fit和transform接口。

s2、通过所述机器学习平台,获取所述预测实验对应的实验数据。

其中,所述实验数据包括:xml信息、所述预测实验所依赖的算法包。离线计算平台可以通过机器学习平台的提供的接口,获取预测实验的xml信息、依赖的算法包以及模型文件。

具体的,所述xml信息中包括了:所述预测实验执行的步骤流程,其中,每一个步骤对应一个job任务,每一个job任务包含所对应步骤的逻辑类和参数信息,前一个job任务的输出结果作为后一个job任务的输入。例如:xml信息包含了实验执行的顺序和步骤。每个步骤作为一个独立的job任务,每个job任务包含当前阶段的处理逻辑类以及相关参数。前面job任务的输出结果,会作为下面job任务的输入。

s3、调用所述预测实验所依赖的算法包解析所述xml信息,并将所述解析结果加载至所述模型后,执行所述预测实验。

通过本实施例中的机器学习平台,实现了用于建立机器人的模型的自动化训练,尤其是通过训练实验实现了模型的实验准备,并自动提取相关的实验数据,再通过预测实验自动校验模型的训练效果。使得模型文件的准备和训练过程不再受制于pmml格式,从而提高了模型的开发效率,使其能够更好地适应实时性要求越来越高的业务系统。

具体的,实验中所有节点的配置信息以xml的格式保存,这些节点包括但不限于:数据读写节点,数据预处理节点,特征工程的节点和算法应用节点等,xml信息中具体包含了每个节点的参数和各节点之间的依赖关系等信息。

具体的,所述算法包包括:所述预测实验中各个任务节点的源代码,比如:数据预处理、特征工程、回归分类聚类时间序列等多种类型算法。

通过机器学习平台运行训练实验,生成用于建立机器人的模型文件,并根据所述模型文件创建预测实验来检验模型文件的准确性。其中,所述模型文件被反序列化则得到模型,所述模型的父类具有对应所述预测实验的接口。同时,机器学习平台也读取xml信息和算法包,通过算法包解析所述xml信息,从而得到需要导入模型运行的参数,使得模型能够被正常运行,从而完成预测实验。

进一步的,还包括:当所述模型通过所述预测实验时,发布所述模型,其中,所述模型用于在目标业务系统建立机器人。机器学习平台可以自动地,或者由用户手动选择地,向目标业务系统发布模型,以便于目标业务系统根据所发布得模型建立机器人。具体的,可以由目标业务系统的运维人员通过发布的模型,为目标业务系统建立机器人。

由于模型能够自动向目标业务系统发布,因此也提高了模型部署的效率,进一步提高模型开发、发布过程的实时性。由此可见,通过机器学习平台,实现了用于建立机器人的模型的高效开发和高效发布。

举例来说:本实施例应用在离线预测和准实时预测的场景中时,可以扩展为如图3所示的流程:

s101:创建训练实验。具体的,机器学习平台创建一个训练实验用于防黄牛检测,算法节点使用随机森林二分类。

s102:通训练实验并生成模型。具体的,实验训练结束以后,随机森林二分类节点会生成对应的模型,该模型为序列化后的二进制文件,里面有一个预测的函数,调用这个函数即可预测。

s200:创建预测实验。具体的,机器学习平台应用该模型,创建一个用于预测是否是黄牛的实验。

s300:获取实验的xml信息、依赖的算法包以及模型文件。具体的,离线计算平台通过机器学习接口,获取该试验的xml信息,并对数据源和真实的数据源进行替换和映射。其中,如果是离线预测方案,真实的数据源是业务的hive表。如果是准实时方案,那么真实的数据源就是mq(messagequeue,消息队列),所以映射的是mq的配置信息,通过这个配置信息可以连接并获取需要预测的数据。

s401:向spark提交执行指令。具体的,离线计算平台通过spark-submit方式,向spark提交执行该预测实验的指令,指令里面会指定实验的xml信息、算法包、模型文件、运行的参数,以及main函数所在的类全路径等信息。

s402:解析实验的xml信息,找出有源表输入的job任务。具体的,spark运行main函数所在的类,解析实验的xml信息,先找出有源表输入的job任务。s403:根据源表与数据源的映射关系,从对应的hive(hive较慢,用于离线)或者mq(mq较快,用于准实时)取出数据并转成rdd(resilientdistributeddatasets,弹性分布式数据集)。具体的,根据源表与数据源的映射关系,找到对应的hive表或者mq,读取数据,并转成rdd格式。根据具体的应用场景,可以通过切换接口,来灵活调整数据源,从而使得本实施例能够满足离线、准实时和实时等不同的场景。

s404:判断job任务是模型预测类型,还是其他类型。具体的,按照实验的xml信息里面的job任务信息,顺序往下执行。再此过程中,需要判断该job任务是否是随机森林二分类的模型预测节点,还是其他节点(如数据预处理节点:类型转换/缺失值填充等等)。

s405:如果是模型预测类型,反序列化对应的模型文件,然后调用预测方法,并把结果输出到中间表。具体的,如果该job任务是随机森林二分类的类型,根据job任务里面的信息,解析出模型文件名称(如”黄牛预测模型1”),再根据上传的模型文件,加载到内存,并反序列化,再调用它的预测函数进行运算,结果写到中间表(如果该节点是最后一个节点,那就写到最终的结果hive表里或者对应的mq里)。

s406:如果是其他类型,执行对应的算法,并把结果输出到中间表。具体的,如果该job任务是其他操作类型,如string类型转成double类型,那么直接加载并调用算法包里对应的算法函数进行处理。处理的结果同上写到中间表/最终的结果表/mq里。

s407:依次往下执行所有job任务,直到结束。最后结果落到目标的hive表里或者mq里。

s500:以上步骤离线计算平台会定时循环调度。具体的,如每隔5~10分钟离线计算平台会定时循环触发调度。

在目前主流的机器学习模型的训练、部署方案中:都是先将模型保存成pmml格式文件,再用jpmml工具或自定义解析方法将pmml格式文件解析后去预测。但是,由于需要依赖pmml的方式,这种方式要求算法代码必须满足特定的规范,规则复杂,导致了代码编写繁琐,需要按照特定格式\规范编写,且难以编写自定义的一些算法。费时费力,难以进一步满足目前在线业务的实时性要求。

在本实施例中,可以根据不同的实时等级要求,采用与之配置的架构方案,大幅减少代码和部署的复杂度,实现一键部署和调用。并且大幅降低编码的复杂度,自由定制自己的算法逻辑,不再要求满足特定的规范编写算法(传统的技术方案需要按照一定的规范编写以便生成pmml格式文件),从而实现代码的自由度。整个实验或者模型可以完成自动化部署,并能覆盖到离线、准实时和实时各个场景。

进一步的,根据源表与数据源的映射关系,从对应的hive(hive较慢,用于离线)或者mq(mq较快,用于准实时)取出数据并转成rdd。具体的,根据源表与数据源的映射关系,找到对应的hive表或者mq,读取数据,并转成rdd格式。根据具体的应用场景,可以通过切换接口,来灵活调整数据源,从而使得本实施例能够满足离线、准实时和实时等不同的场景。

本实施例应用在离线预测和准实时预测两种场景中,具备处理大数据量的能力,非常适合用户量很大的场景;本专利中实时预测方案能够根据用户的应用场景,实现资源的统一分配和调度,以便平行扩展,尤其适用于具有季节性、节日性和突发性的访问量激增的场景。

在本实施例中,步骤s3中所述将所述解析结果加载至所述模型后,执行所述预测实验的具体实现方式,可以包括:

调用所述预测实验所依赖的算法包,从所述xml信息中提取有源表,并输入job任务1。再根据所述有源表和数据源的映射关系提取源数据,并转成rdd,再根据转换得到的rdd执行所述job任务1,将所述job任务1的运行结果输出到目标表。

具体的,算法包可以理解为机器学习平台支持的算法的代码的一个集合。本实施例中,这个算法包被机器学习平台和模型服务化平台共用,算法包可以存储在机器学习平台、模型服务化平台或者与机器学习平台和模型服务化平台相连的存储设备上。xml信息具体包含了各个任务信息,任务信息代表了各个实验步骤(比如预测实验的各个步骤,而训练实验各个实验步骤的算法代码,则可以预先设置在机器学习平台中)具体所需要的算法代码,这些算法代码则来源于算法包。本实施例中,算法训练依赖的原始数据则可以被称为源数据,即源数据包括了:算法包中的算法的代码在训练时所依赖的原始数据。

重复上述过程,依次执行job任务2至job任务n,并将所述job任务2至所述job任务n的运行结果输出到目标表,n为大于且等于2的正整数。

例如:离线计算平台通过spark-submit方式,向spark提交执行该预测实验的指令,spark会调用上传的算法包里面的代码去解析该实验的xml信息。在运行代码时,先找出有源表输入的job任务,根据源表与数据源的映射关系,从对应的hive(hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为mapreduce任务进行运行)或者mq取出预测的数据并转成rdd,最后执行该job任务。运行结束以后再把结果输出到目标表(或称为中间表),依次往下执行所有job任务,直到结束。此时整个预测实验已经执行完毕,输出最终预测结果。

需要说明一点的是,执行job任务的时候,需要区分该job任务是用于模型预测的还是其他功能。如果是用于模型预测,就需要将该模型文件反序列化,再执行它的预测方法;反之,调用对应的算法。以上步骤离线计算平台会定时循环调度。通过如上例子中的方案,就能满足离线预测的场景。

其中,所述根据所述有源表和数据源的映射关系提取源数据,包括:

根据所述有源表和数据源的映射关系,从mq提取所述源数据。job任务1至job任务n的运行结果通过mq方式输出到所述目标表。例如:

本实施例应用于实时预测的场景中时,源数据是通过mq加载,转成rdd再执行job任务,预测结果也是通过mq方式输出。应用于实时预测的场景中时,具体可以在一种如图1b所示的系统上实现,具体来说,该系统包括:

机器学习平台、模型服务化平台、nginx(或称为enginex,是一个高性能的http和反向代理服务器)、缓存redis、db(database,数据库)、文件系统和服务能力节点,系统的各端设备相互之间可以通过互联网建立信道,并通过各自的数据传输端口进行数据交互。

db(database,数据库)在具体可以是目前常用的数据库架构类型,硬件层面上由多台服务器组成的一种用于数据存储、管理的服务器集群。

服务能力节点,包括多个计算节点,每个计算节点都可以是服务器、计算机或者通过分配的计算资源建立的虚拟机,服务能力节点是真正提供服务的点,它会抽象出计算资源的概念,如cpu核心数、内存容量、磁盘容量、带宽等信息。同时,为了负载和高可用,会同时部署n个服务能力节点,每个节点都有发布模型的接口和模型服务的统一接口。

缓存redis用于缓存当前处理的数据,以便于提高系统的数据处理效率。

模型服务化平台在硬件层面上具体可以是工作站、超级计算机等设备,或者是由多台服务器组成的一种用于数据处理的服务器集。模型服务化平台提供发布模型的接口。

文件系统用于存储并管理实验所需的的xml信息、依赖的算法包以及模型文件。

在本实施例了中,还包括:

接受所述机器学习平台发送的接口调用请求,并为所述接口调用请求指向的模型调用模型接口。并根据所述接口调用请求为所述模型接口分配服务能力节点。

其中,所述接口调用请求是当所述机器学习平台被触发模型发布流程后发出的。具体的,机器学习平台创建训练实验,训练结束以后,会生成了对应的模型文件,并将文件保存在文件系统里。具体的,用户通过用户终端接入机器学习平台,或者直接操作机器学习平台的交互设备选择需要的计算资源(服务能力节点中的cpu内存等),开始发布该模型。此时,机器学习平台会调用模型服务化平台的发布模型的接口,所述接口调用请求包括:模型的相关信息(包括权限、所属模块、存放路径、计算资源等信息)发送过去。

之后,从文件系统获取所述接口调用请求对应的模型文件,将所述模型文件发送给所分配的服务能力节点。并将所述模型文件、所述模型文件对应的实验数据,和所分配的服务能力节点的映射关系存储至缓存和db(database,数据库)。

具体的,模型服务化平台接收到请求以后,根据服务能力节点的资源状况,根据一定的策略选择其中n个服务能力节点用于发布模型。接着,从文件系统下载模型文件,用文件流的方式发送给各服务能力节点。服务能力节点接收到模型文件以后,对其进行反序列化,并反馈发布的结果。如果这些服务能力节点都发布成功,模型服务化平台把模型、资源以及它们的映射关系存储到缓存和db(database,数据库)里。

具体的,用户终端通过调用nginx接口,来触发所述预测实验。例如:机器学习平台给用户反馈模型预测服务的高可用nginx接口地址(地址的上下文唯一)。用户调用模型预测服务的高可用nginx的接口,发起预测请求。nginx接收到请求以后,用lua解析出请求的上下文,去缓存里面找到映射的模型信息和服务能力节点信息。nginx再根据一定的策略,选择其中一个服务能力节点,调用它的预测接口。服务能力节点根据请求的模型信息,用java反射机制代理调用对应的模型的预测函数,返回预测结果。需要说明一点的是,这个过程中需要spark上下文计算环境。为了提高预测的实时性,spark上下文环境使用本地local模式。

举例来说:在实际应用中,本实施例具体可以实现为如图4所示的实时预测场景中的生成并发布模型流程,其中包括了:

s601:创建训练实验。具体的,机器学习平台创建一个训练实验用于防黄牛检测,算法节点使用随机森林二分类。

s602:通训练实验并生成模型。具体的,实验训练结束以后,随机森林二分类节点会生成对应的模型,该模型为javaclass序列化后的文件,里面有一个预测的函数,调用这个函数即可预测。

s700:设置该模型需要的计算资源,并发布模型。具体的,用户根据自己的业务要求,设置该部署模型需要10核cpu和5g内存,然后选中该模型,点击发布。

s800:根据一定的策略选择其中的n个服务能力节点作为资源,下载模型文件,并发送给各服务能力节点。具体的,机器学习平台调用模型服务化平台的发布模型的接口发布该模型。模型服务化平台会根据服务能力节点主机的负载情况,选择其中的n个服务能力节点部署该模型。

s900:接收到模型文件以后,对其进行反序列化,并反馈发布的结果。具体的,模型服务化平台逐一调用服务能力节点的发布模型的接口发布该模型。服务能力节点收到该模型的文件流以后,进行反序列化,并加载该类,最后反馈加载成功。

s1000:把模型、资源以及它们的映射关系存储到缓存和db(database,数据库)里。具体的,模型服务化平台把模型、n个服务能力节点、模块、上下文等信息做相应的映射,持久化到数据库db(database,数据库)中,并缓存到缓存中。

s1100:给用户反馈模型预测服务的nginx接口地址(地址的上下文唯一)。具体的,机器学习平台给用户反馈该模型的调用地址,如:http://域名+端口/model/scalpercheck。其中,“/model/scalpercheck”就是该服务的上下文,并且是唯一的。

之后用户终端通过调用nginx接口,来触发所述预测实验,预测实验的执行流程如图5所示的:

s1201:调用模型预测服务的nginx接口,发起预测请求。具体的,用户开始调用该模型的服务“http://域名+端口/model/scalpercheck”进行是否是黄牛的预测。

s1202:用lua解析出请求的上下文,并到缓存里面找到映射的模型信息和服务能力节点信息。具体的,nginx会用lua获取到本次请求的上下文/model/scalpercheck,到缓存里面找它映射的服务能力节点信息(如:10.11.20.127,10.11.20.128)和模型信息(如:com.suning.mlaas.spark.main.dealwithrandomforest)。

s1203:再根据一定的策略,选择其中一个服务能力节点,调用它的预测接口。具体的,nginx使用随机的策略,选择了10.11.20.128这个服务节点提供服务。nginx路由这个服务节点的统一的服务接口,并将预测的数据透明传递给该接口。

s1300:根据请求的模型信息,用java反射机制代理调用对应的模型的预测函数,返回结果。具体的,10.11.20.128这个服务节点接受到请求以后,根据传入的class=com.suning.mlaas.spark.main.dealwithrandomfores和ctx=/model/scalpercheck两个参数,找到该模型的并反射调用它的预测函数进行预测,并返回预测结果。

在本实施例中,可以根据不同的实时性等级要求,采用与之匹配的架构方案,大幅减少代码和部署的复杂度,实现机器学习模型的一键部署和调用,例如:本实施例中,针对离线预测和准实时预测的场景提供了如图3所示的方案,则针对实时预测场景提供了如图4所示的方案。从而使得本实施例至少能够应用于离线预测、准实时预测和实时预测这三种开发场景,使得本实施例具备很强的兼用性。相对于传统的技术方案需要按照一定的规范编写以便生成pmml格式文件,本实施例还通过机器学习平台的模型训练方式,大幅降低了编码的复杂度,也便于开发人员自由定制自己的算法逻辑(通过提供对应目标业务系统的算法包和xml信息即可),不再要求满足特定的规范编写算法,从而提高代码开发的自由度。使得本实施例的方案能够高效的应用于离线、准实时和实时场景。

本发明实施例还提供一种机器学习平台,包括:处理器、网络接口、存储器、通信总线,所述通信总线用于各组件之间的连接通信。

所述存储器中存储用于所述处理器执行的计算机程序,所述处理器所执行的计算机程序包括:

训练模块,用于运行训练实验,生成对应所述训练实验的模型文件,并根据所述模型文件创建预测实验。

预处理模块,用于获取所述预测实验对应的实验数据,所述实验数据包括:xml信息、所述预测实验所依赖的算法包。

处理模块,用于调用所述预测实验所依赖的算法包解析所述xml信息,并将所述解析结果加载至所述模型后,执行所述预测实验。

在目前主流的机器学习模型的训练、部署方案中:都是先将模型保存成pmml格式文件,再用jpmml工具或自定义解析方法将pmml格式文件解析后去预测。但是,由于需要依赖pmml的方式,这种方式要求算法代码必须满足特定的规范,规则复杂,导致了代码编写繁琐,需要按照特定格式\规范编写,且难以编写自定义的一些算法。费时费力,难以进一步满足目前在线业务的实时性要求。

在本实施例中,可以根据不同的实时等级要求,采用与之配置的架构方案,大幅减少代码和部署的复杂度,实现一键部署和调用。并且大幅降低编码的复杂度,自由定制自己的算法逻辑,不再要求满足特定的规范编写算法(传统的技术方案需要按照一定的规范编写以便生成pmml格式文件),从而实现代码的自由度。整个实验或者模型可以完成自动化部署,并能覆盖到离线、准实时和实时各个场景。

进一步的,根据源表与数据源的映射关系,从对应的hive(hive较慢,用于离线)或者mq(mq较快,用于准实时)取出数据并转成rdd。具体的,根据源表与数据源的映射关系,找到对应的hive表或者mq,读取数据,并转成rdd格式。根据具体的应用场景,可以通过切换接口,来灵活调整数据源,从而使得本实施例能够满足离线、准实时和实时等不同的场景。

具体的,所述处理模块,具体用于:调用所述预测实验所依赖的算法包,从所述xml信息中提取有源表,并输入job任务1;并根据所述有源表和数据源的映射关系提取源数据,并转成rdd,再根据转换得到的rdd执行所述job任务1,将所述job任务1的运行结果输出到目标表;重复上述过程,依次执行job任务2至job任务n,并将所述job任务2至所述job任务n的运行结果输出到目标表,n为大于且等于2的正整数。

其中,所述xml信息中包括了:所述预测实验执行的步骤流程,其中,每一个步骤对应一个job任务,每一个job任务包含所对应步骤的逻辑类和参数信息,前一个job任务的输出结果作为后一个job任务的输入。

进一步的,还包括:

接收模块,用于接受所述机器学习平台发送的接口调用请求,并为所述接口调用请求指向的模型调用模型接口,所述接口调用请求是当所述机器学习平台被触发模型发布流程后发出的;并根据所述接口调用请求为所述模型接口分配服务能力节点。

分配模块,用于从文件系统获取所述接口调用请求对应的模型文件,将所述模型文件发送给所分配的服务能力节点;并将所述模型文件、所述模型文件对应的实验数据,和所分配的服务能力节点的映射关系存储至缓存和数据库。

本实施例应用在离线预测和准实时预测两种场景中,具备处理大数据量的能力,非常适合用户量很大的场景;本专利中实时预测方案能够根据用户的应用场景,实现资源的统一分配和调度,以便平行扩展,尤其适用于具有季节性、节日性和突发性的访问量激增的场景。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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