应对多业务场景下的模型管理系统及方法与流程

文档序号:11323009阅读:400来源:国知局
应对多业务场景下的模型管理系统及方法与流程

本发明涉及一种应对多业务场景下的模型管理系统及方法。



背景技术:

目前,应对多业务场景下的模型管理上存在以下几方面的缺陷:

1、数据分析团队针对各种业务会建立各种预测模型,而这些模型的表现方式因建模语言、建模方法等因素而各不相同,导致模型从交付到上线的整个过程不可控;

2、模型的表现方式不一,可能是一系列调整好的参数,也可能是一个持久化后的文件,而不同的编程语言产出的模型文件也不一致,导致不方便统一管理;

3、以往模型在上线前会在线下的测试环境进行测试,而上线到生产环境后可能由于环境差异,导致模型结果不一致;

4、以往在对线上模型进行调整时,需要暂时停止目标模型的服务,并重新上传模型文件,测试通过后再重新上线到生产环境,这之间的时间损耗较高,不能做到新旧模型的流畅切换,对生产环境的人工干预较多,风险较高;

5、以往模型在上线后,处理第一次请求时,需要首先加载模型到内存中,这样会造成服务延迟,使得本次请求失效。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中模型从交付到上线的整个过程不可控,不方便统一管理的缺陷,提供一种应对多业务场景下的模型管理系统及方法。

本发明是通过下述技术方案来解决上述技术问题:

一种应对多业务场景下的模型管理系统,其特点在于,所述模型管理系统包括模型转换模块、模型上传模块、模型预编译模块、模型测试模块及模型管理模块;

所述模型转换模块用于将线下模型文件分别转换为预定格式的模型文件;

所述模型上传模块用于上传预定格式的模型文件,并将所述模型文件加载至缓存中;

所述模型预编译模块用于对上传的所述模型文件进行预编译;

所述模型测试模块用于对预编译的所述模型文件进行生产环境测试,若测试成功,上线所述模型文件,若测试失败,从缓存中删除所述模型文件;

所述模型管理模块用于接收客户端的请求,根据所述请求中的模型名在缓存中获取相应的模型文件,并且通过执行模型文件对所述请求进行处理。

较佳地,所述预定格式为pmml(predictivemodelmarkuplanguage,预言模型标记语言)格式。

较佳地,所述模型管理系统还包括模型存储模块,所述模型存储模块用于存储预定格式的模型文件。

较佳地,所述模型管理系统包括模型更新模块;

所述模型更新模块用于根据预设时间间隔从所述模型存储模块中获取当前模型文件对应的模型版本号,并且存储至缓存中,所述模型更新模块还用于比较获取的模型版本号与所述模型管理模块中执行的模型文件对应的模型版本号,若模型版本号存在差异,从所述模型存储模块中获取当前模型文件,调用所述模型上传模块来上传所述当前模型文件,调用所述模型预编译模块来预编译所述当前模型文件,调用所述模型测试模块来测试所述当前模型文件,若测试成功,上线所述当前模型文件,并且替换执行中的模型文件,若测试失败,从缓存中删除所述当前模型文件。

较佳地,所述模型管理系统还包括操作记录数据库,所述操作记录数据库用于存储对模型文件的各项操作记录。

一种应对多业务场景下的模型管理方法,其特点在于,所述模型管理方法包括以下步骤:

s1、将线下模型文件分别转换为预定格式的模型文件;

s2、上传预定格式的模型文件,并将所述模型文件加载至缓存中;

s3、对上传的所述模型文件进行预编译;

s4、对预编译的所述模型文件进行生产环境测试,若测试成功,上线所述模型文件,若测试失败,从缓存中删除所述模型文件;

s5、模型管理模块接收客户端的请求,根据所述请求中的模型名在缓存中获取相应的模型文件,并且通过执行模型文件对所述请求进行处理。

较佳地,在s1步骤中,所述预定格式为pmml格式。

较佳地,在s1步骤中,将预定格式的模型文件存储至模型存储模块。

较佳地,执行步骤s5之后,所述模型管理方法还包括以下步骤:

s6、根据预设时间间隔从所述模型存储模块中获取当前模型文件对应的模型版本号,并且存储至缓存中,比较获取的模型版本号与所述模型管理模块中执行的模型文件对应的模型版本号,若模型版本号存在差异,从所述模型存储模块中获取当前模型文件,依次上传、预编译及测试所述当前模型文件,若测试成功,上线所述当前模型文件,并且替换执行中的模型文件,若测试失败,从缓存中删除所述当前模型文件。

较佳地,所述模型管理方法还包括存储对模型文件的各项操作记录的步骤。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

本发明提供的应对多业务场景下的模型管理系统及方法统一模型从交付到上线的流程,做到风险可控,方便统一管理模型,有效地防止环境差异导致模型结果不一致的情况。

本发明实现了模型的预编译、测试、上线的整个流程,对模型交付后的生命周期进行统一管理,能够在模型上传后进行预编译,能够在上线前进行生产环境的测试,并且引入了版本管理和定时刷新功能,能够对不同的模型的不同版本进行有效区分,以及同一模型的版本升级时进行无人工干预的流畅切换。

本发明还实现了模型文件存储和模型服务部署相分离的功能,可以独立部署模型服务,并且在启动时加载统一版本的模型。

附图说明

图1为本发明较佳实施例的应对多业务场景下的模型管理系统的结构示意图。

图2为本发明较佳实施例的应对多业务场景下的模型管理方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

如图1所示,本实施例提供的应对多业务场景下的模型管理系统1包括模型转换模块11、模型存储模块12、模型上传模块13、模型预编译模块14、模型测试模块15、模型管理模块16、模型更新模块17及操作记录数据库18。

具体的,模型转换模块11用于将线下模型文件分别转换为预定格式的模型文件,在本实施例中,所述预定格式为pmml格式。由于线下模型文件的表现方式因建模语言、建模方法等因素而各不相同,因此为了能够统一管理,引入了pmml文件对各种模型进行描述,pmml文件是跨平台的模型定义文件,利用了pmml文件格式解决了模型交付时的表现形式不统一的问题,保证了多业务场景的模型实现统一管理和使用的可能性。

模型存储模块12用于存储预定格式的模型文件,模型文件的上传和存储需要统一,为了避免生产环境的机器调整,在本实施例中,模型的存储与部署服务的机器相分离,解耦了系统,便于多实例部署服务。

模型上传模块13用于上传预定格式的模型文件,并将所述模型文件加载至缓存中,模型预编译模块14用于对上传的所述模型文件进行预编译,模型测试模块15用于对预编译的所述模型文件进行生产环境测试,若测试成功,上线所述模型文件,若测试失败,从缓存中删除所述模型文件。为防止环境差异导致模型结果不一致的情况,需要实现在生产环境上进行模型预测试的功能。在本实施例中,在模型上传后进行预编译,解决了首次请求的延迟问题,在模型上线前进行的生产环境测试,保证了模型上线后的可用性和结果一致性。加载到缓存中的模型文件,划分为测试和上线两个状态,只有上线状态才能对外提供服务。

模型管理模块16用于接收客户端的请求,根据所述请求中的模型名在缓存中获取相应的模型文件,并且通过执行模型文件对传入的参数进行处理。

模型更新模块17用于建一个定时器,根据预设时间间隔从模型存储模块中获取当前模型文件对应的模型版本号,并且存储至缓存中,模型更新模块还用于比较获取的模型版本号与模型管理模块中执行的模型文件对应的模型版本号,若模型版本号存在差异,从模型存储模块中获取当前模型文件,调用模型上传模块来上传所述当前模型文件,调用模型预编译模块来预编译所述当前模型文件,调用模型测试模块来测试所述当前模型文件,若测试成功,上线所述当前模型文件,并且替换执行中的模型文件,若测试失败,从缓存中删除所述当前模型文件。在本实施例中,所述预设时间间隔为10分钟,但并不仅限于此时间间隔,可根据实际情况来进行调整。在模型升级替换时,使用版本管理和定时刷新功能,保证了模型在生产环境上无人工干预下的流畅切换。

操作记录数据库18用于存储对模型文件的各项操作记录,在本实施例中,将模型的上线、升级、下线等操作记录到操作记录数据库18中,并且同步更新模型存储模块中模型文件的版本。

本实施例提供的应对多业务场景下的模型管理系统统一模型从交付到上线的流程,做到风险可控,方便统一管理模型,有效地防止环境差异导致模型结果不一致的情况。在本实施例中,实现了模型的预编译、测试、上线的整个流程,对模型交付后的生命周期进行统一管理,能够在模型上传后进行预编译,能够在上线前进行生产环境的测试,并且引入了版本管理和定时刷新功能,能够对不同的模型的不同版本进行有效区分,以及同一模型的版本升级时进行无人工干预的流畅切换。在本实施例中,还实现了模型文件存储和模型服务部署相分离的功能,可以独立部署模型服务,并且在启动时加载统一版本的模型。

如图2所示,本实施例还提供一种应对多业务场景下的模型管理方法,所述模型管理方法包括以下步骤:

步骤101、将线下模型文件分别转换为pmml格式的模型文件。

在本步骤中,由于线下模型文件的表现方式因建模语言、建模方法等因素而各不相同,因此为了能够统一管理,引入了pmml文件对各种模型进行描述,pmml文件是跨平台的模型定义文件,利用了pmml文件格式解决了模型交付时的表现形式不统一的问题,保证了多业务场景的模型实现统一管理和使用的可能性。

在本步骤中,将pmml格式的模型文件存储至模型存储模块中,模型文件的上传和存储需要统一,为了避免生产环境的机器调整,模型的存储与部署服务的机器相分离,解耦了系统,便于多实例部署服务。

步骤102、上传预定格式的模型文件,并且加载至缓存中。

步骤103、对模型文件进行预编译。

步骤104、对模型文件进行生产环境测试,若测试成功,上线模型文件,若测试失败,从缓存中删除模型文件。

在本步骤中,为防止环境差异导致模型结果不一致的情况,需要实现在生产环境上进行模型预测试的功能。

在本实施例中,在模型上传后进行预编译,解决了首次请求的延迟问题,在模型上线前进行的生产环境测试,保证了模型上线后的可用性和结果一致性。加载到缓存中的模型文件,划分为测试和上线两个状态,只有上线状态才能对外提供服务。

步骤105、接收客户端的请求,根据请求获取相应的模型文件,并且通过执行模型文件对请求进行处理。

在本步骤中,根据所述请求中的模型名获取相应的模型文件,并且通过执行模型文件对传入的参数进行处理。

步骤106、根据预设时间间隔获取当前模型文件对应的模型版本号,并且与执行的模型文件对应的模型版本号进行比较,若存在差异,更新至当前模型文件。

在本步骤中,建一个定时器,根据预设时间间隔从所述模型存储模块中获取当前模型文件对应的模型版本号,并且存储至缓存中,比较获取的模型版本号与所述模型管理模块中执行的模型文件对应的模型版本号,若模型版本号存在差异,从所述模型存储模块中获取当前模型文件,依次上传、预编译及测试所述当前模型文件,若测试成功,上线所述当前模型文件,并且替换执行中的模型文件,若测试失败,从缓存中删除所述当前模型文件。在本实施例中,所述预设时间间隔为10分钟,但并不仅限于此时间间隔,可根据实际情况来进行调整。在模型升级替换时,使用版本管理和定时刷新功能,保证了模型在生产环境上无人工干预下的流畅切换。

在本实施例中,所述模型管理方法还包括存储对模型文件的各项操作记录的步骤,将模型的上线、升级、下线等操作记录到操作记录数据库中,并且同步更新模型存储模块中模型文件的版本。

本实施例提供的应对多业务场景下的模型管理方法统一模型从交付到上线的流程,做到风险可控,方便统一管理模型,有效地防止环境差异导致模型结果不一致的情况。在本实施例中,实现了模型的预编译、测试、上线的整个流程,对模型交付后的生命周期进行统一管理,能够在模型上传后进行预编译,能够在上线前进行生产环境的测试,并且引入了版本管理和定时刷新功能,能够对不同的模型的不同版本进行有效区分,以及同一模型的版本升级时进行无人工干预的流畅切换。在本实施例中,还实现了模型文件存储和模型服务部署相分离的功能,可以独立部署模型服务,并且在启动时加载统一版本的模型。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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