本申请涉及本申请涉及PMML模型更新技术领域,尤其涉及一种在线实时更新PMML模型计算服务的方法,包括:在springboot应用启动dubbo服务时,启动预先创建的web应用;web应用提供文件上传页面;接收文件上传页面上传的更新PMML模型文件;将更新PMML模型文件转换为文件输入流;将文件输入流作为输入参数,调用bean对象提供的根据文件输入流重新刷新模型文件的方法,更新以bean对象形式加载的原有PMML模型文件。本申请中的技术方案,在需要更新模型文件时,无需重启dubbo服务,不会对应用进行变动,只需使用web应用打开文件上传页面将模型文件上传,即可实现PMML模型文件的更新,从而实现模型计算服务的更新,相较于现有技术方便快捷且不容易出错。快捷且不容易出错。快捷且不容易出错。
【技术实现步骤摘要】
一种在线实时更新PMML模型计算服务的方法
[0001]本申请涉及PMML(Predictive Model Markup Language,预言模型标记语言)模型更新
,尤其涉及一种在线实时更新PMML模型计算服务的方法。
技术介绍
[0002]现有的PMML模型计算服务运行在一个基于springboot框架搭建的dubbo服务中,模型文件被一同打包在jar包中。当springboot应用启动时,PMML模型文件以bean对象的形式加载到dubbo服务中,当有dubbo消费者请求模型计算时,调用bean方法来处理,并将结果返回。在模型文件有更新时,需将更新文件重新构建打包并部署至服务器,重启dubbo服务,从而使新模型计算服务生效。这就导致了每次更新模型文件都需要重新进行工程构建打包,并部署应用,费时费力且容易出错。
技术实现思路
[0003]为至少在一定程度上克服相关技术中每次更新模型文件都需要重新进行工程构建打包,并部署应用,费时费力且容易出错的问题,本申请提供一种在线实时更新PMML模型计算服务的方法。
[0004]本申请的方案如下:
[0005]一种在线实时更新PMML模型计算服务的方法,包括:
[0006]在springboot应用启动dubbo服务时,启动预先创建的web应用;所述web应用提供文件上传页面;
[0007]接收所述文件上传页面上传的更新PMML模型文件;
[0008]将所述更新PMML模型文件转换为文件输入流;
[0009]将所述文件输入流作为输入参数,调用bean对象提供的根据文件输入流重新刷新模型文件的方法,更新以bean对象形式加载的原有PMML模型文件。
[0010]优选地,所述方法还包括:
[0011]在springboot应用的dubbo服务中,加入web应用组件,使得在springboot应用启动dubbo服务时,启动创建的web应用;
[0012]根据录入的上传页面html代码和对应的Controller代码,构建所述web应用的文件上传页面。
[0013]优选地,所述方法还包括:
[0014]在springboot应用启动dubbo服务时,将PMML模型文件以bean对象的形式加载到应用中。
[0015]优选地,所述方法还包括:
[0016]在有dubbo消费者请求模型计算时,调用bean方法进行处理,并将处理结果返回。
[0017]优选地,所述dubbo服务和所述web应用共享同一个springboot应用空间。
[0018]优选地,所述bean对象构建为单例模式
[0019]本申请提供的技术方案可以包括以下有益效果:本申请中的在线实时更新PMML模型计算服务的方法,包括:在springboot应用启动dubbo服务时,启动预先创建的web应用;web应用提供文件上传页面;接收文件上传页面上传的更新PMML模型文件;将更新PMML模型文件转换为文件输入流;将文件输入流作为输入参数,调用bean对象提供的根据文件输入流重新刷新模型文件的方法,更新以bean对象形式加载的原有PMML模型文件。本申请中的技术方案,在需要更新模型文件时,无需重启dubbo服务,不会对应用进行变动,只需使用web应用打开文件上传页面将模型文件上传,即可实现PMML模型文件的更新,从而实现模型计算服务的更新,相较于现有技术方便快捷且不容易出错。
[0020]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0021]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0022]图1是本申请一个实施例提供的一种在线实时更新PMML模型计算服务的方法的流程示意图。
具体实施方式
[0023]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0024]图1是本申请一个实施例提供的一种在线实时更新PMML模型计算服务的方法的流程示意图,参照图1,一种在线实时更新PMML模型计算服务的方法,包括:
[0025]S11:在springboot应用启动dubbo服务时,启动预先创建的web应用;web应用提供文件上传页面;
[0026]S12:接收文件上传页面上传的更新PMML模型文件;
[0027]S13:将更新PMML模型文件转换为文件输入流;
[0028]S14:将文件输入流作为输入参数,调用bean对象提供的根据文件输入流重新刷新模型文件的方法,更新以bean对象形式加载的原有PMML模型文件。
[0029]需要说明的是,
[0030]1)PMML模型文件:是一种机器学习模型的文件格式,可被java读取并用于线上预测。机器学习模型一般由数据分析师用python语言,经过对离线数据多次迭代来生成,这种迭代用python语言非常适合,但java无法读取。之后再通过转换工具将模型文件转换为pmml格式,再放至java环境中,部署到生产环境用于线上预测。
[0031]2)springboot:是一个快速开发Java应用的开源框架,该框架使用特定的方式来进行配置,而不再需要定义样板化配置;springboot提供了量的开箱即用的依赖模块,从而可以快速搭建一个web应用或dubbo服务。
[0032]3)dubbo服务:dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应
用可通过高性能的RPC(Remote Procedure Call,远程过程调用)实现服务的输出和输入功能,可以和springboot框架无缝集成。dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
[0033]4)bean:也即JavaBean,是描述Java的软件组件模型,在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
[0034]需要说明的是,本实施例中的技术方案在实施前,还需要预先构建web应用,流程如下:
[0035]在springboot应用的dubbo服务中,加入web应用组件,使得在springboot应用启动dubbo服务时,启动创建的web应用;
[0036]根据录入的上传页面html代码和对应的Controller代码,构建web应用的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种在线实时更新PMML模型计算服务的方法,其特征在于,包括:在springboot应用启动dubbo服务时,启动预先创建的web应用;所述web应用提供文件上传页面;接收所述文件上传页面上传的更新PMML模型文件;将所述更新PMML模型文件转换为文件输入流;将所述文件输入流作为输入参数,调用bean对象提供的根据文件输入流重新刷新模型文件的方法,更新以bean对象形式加载的原有PMML模型文件。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在springboot应用的dubbo服务中,加入web应用组件,使得在springboot应用启动dubbo服务时,启动创建的web应用...
【专利技术属性】
技术研发人员:张凯歌,
申请(专利权)人:上海中通吉网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。