CN108304201A - 对象更新方法、装置及设备 - Google Patents
对象更新方法、装置及设备 Download PDFInfo
- Publication number
- CN108304201A CN108304201A CN201710825045.6A CN201710825045A CN108304201A CN 108304201 A CN108304201 A CN 108304201A CN 201710825045 A CN201710825045 A CN 201710825045A CN 108304201 A CN108304201 A CN 108304201A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- target object
- newer
- workflow
- background devices
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对象更新方法、装置及设备。所述方法包括:获取第一前台设备提交的目标对象的配置文件,目标对象为机器学习平台更新的组件或者算法;采用热加载方式将目标对象的配置文件加载至缓存中;在接收到第二前台设备发送的文件加载请求之后,从缓存中读取更新的配置文件,更新的配置文件包括目标对象的配置文件;向第二前台设备发送更新的配置文件,以使得第二前台设备根据更新的配置文件提供服务。本发明实施例实现了在无需重启服务端的前提下,完成加载和发布更新的配置文件,确保平台在更新过程中也能够正常使用。
Description
技术领域
本发明实施例涉及机器学习技术领域,特别涉及一种对象更新方法、装置及设备。
背景技术
机器学习平台基于机器学习算法库,为用户提供大数据解决方案。机器学习平台的服务端运行于后台设备中,该服务端用于向客户端提供多种组件和算法供用户构建工作流,服务端执行用户构建的工作流以实现特征工程、统计、模型训练、模型评估、模型预测和模型发布等功能。
每个组件和算法均有各自的配置文件。在实际应用中,平台管理人员和算法工程师会对机器学习平台支持的组件和算法进行更新,例如新增组件、新增算法、修改组件或者修改算法。当组件或算法发生更新时,后台设备中需要同步更新该组件或算法的配置文件。
在相关技术中,当后台设备获取到平台管理人员或者算法工程师提交的目标对象(也即更新的组件或算法)的配置文件之后,重启服务端以将上述目标对象的配置文件加载至内存中,也即后台设备在内存中存储上述目标对象的配置文件。
由于后台设备需要重启服务端以加载更新的配置文件,在重启过程中,整个服务端会停止向各个客户端提供服务,影响到平台的正常使用。
发明内容
本发明实施例提供了一种对象更新方法、装置及设备,用以解决相关技术中因采用重启服务端的方式来加载更新的配置文件,而导致影响到平台的正常使用的问题。所述技术方案如下:
第一方面,提供了一种对象更新方法,所述方法包括:
获取第一前台设备提交的目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法;
采用热加载方式将所述目标对象的配置文件加载至缓存中;
在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件;
向所述第二前台设备发送所述更新的配置文件,以使得所述第二前台设备根据所述更新的配置文件提供服务。
可选地,所述采用热加载方式将所述目标对象的配置文件加载至缓存中,包括:
根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象;
若所述目标对象不是新增对象,则确定所述目标对象的配置文件中的修改内容,将所述修改内容加载至所述缓存中,并覆盖掉所述缓存中已存储的所述修改内容对应的原始内容。
可选地,所述根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象之后,还包括:
若所述目标对象是新增对象,则将所述目标对象的配置文件中的全部内容加载至所述缓存中。
可选地,所述获取第一前台设备提交的目标对象的配置文件,包括:
接收所述第一前台设备发送的所述目标对象的修改后的配置信息;其中,所述目标对象的修改后的配置信息由所述第一前台设备根据对应于对象配置页面中显示的所述目标对象的原始配置信息的修改操作获取,所述对象配置页面由所述第一前台设备根据存储的所述目标对象的原始配置文件显示;
根据所述目标对象的修改后的配置信息生成所述目标对象的配置文件。
可选地,所述获取第一前台设备提交的目标对象的配置文件之后,还包括:
将所述目标对象的配置文件由文本形式转换成二进制形式,其中,转换后的所述目标对象的配置文件被加载至所述缓存中。
第二方面,提供了一种对象更新方法,所述方法包括:
向后台设备发送文件加载请求,所述文件加载请求用于请求从所述后台设备的缓存中读取机器学习平台支持的组件和算法的配置文件;
接收所述后台设备发送的更新的配置文件;其中,所述更新的配置文件包括目标对象的配置文件,所述目标对象为所述机器学习平台更新的组件或算法,所述目标对象的配置文件在第一前台设备提交给所述后台设备之后,由所述后台设备采用热加载方式加载至所述缓存中;
根据所述更新的配置文件提供服务。
可选地,所述根据所述更新的配置文件提供服务,包括:
显示工作流制定页面,所述工作流制定页面中包括对象列表,所述对象列表中包括所述更新的配置文件对应的至少一个对象;
根据在所述对象列表中的被选择对象制定工作流;
在所述工作流制定完成之后,根据所述被选择对象的配置文件,显示信息提交页面,所述信息提交页面用于引导用户提交与所述工作流相关的信息;
获取在所述信息提交页面中提交的与所述工作流相关的信息;
向所述后台设备发送工作流信息,以使得所述后台设备根据所述工作流信息,执行所述工作流;其中,所述工作流信息中包括所述工作流以及与所述工作流相关的信息。
可选地,所述工作流制定页面中包括目标设置选项,所述目标设置选项用于选择设置是否在执行所述工作流生成目标模型之后,使用所述目标模型执行预测操作;
所述方法还包括:
若获取到对应于所述目标设置选项的肯定设置指示,则在所述信息提交页面中显示参数提交引导信息,所述参数提交引导信息用于引导用户提交所述目标模型的配置参数和输入输出参数,以使得所述后台设备在执行所述工作流生成所述目标模型之后,根据所述目标模型的配置参数和输入输出参数采用所述目标模型执行预测操作。
第三方面,提供了一种对象更新方法,所述方法包括:
第一前台设备向后台设备提交目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法;
所述后台设备采用热加载方式将所述目标对象的配置文件加载至缓存中;
所述后台设备在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件,向所述第二前台设备发送所述更新的配置文件;
所述第二前台设备根据所述更新的配置文件提供服务。
可选地,所述后台设备采用热加载方式将所述目标对象的配置文件加载至缓存中,包括:
所述后台设备根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象;
若所述目标对象不是新增对象,则所述后台设备确定所述目标对象的配置文件中的修改内容,将所述修改内容加载至所述缓存中,并覆盖掉所述缓存中已存储的所述修改内容对应的原始内容。
可选地,所述后台设备根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象之后,还包括:
若所述目标对象是新增对象,则所述后台设备将所述目标对象的配置文件中的全部内容加载至所述缓存中。
可选地,所述后台设备获取第一前台设备提交的目标对象的配置文件,包括:
所述后台设备接收所述第一前台设备发送的所述目标对象的修改后的配置信息;其中,所述目标对象的修改后的配置信息由所述第一前台设备根据对应于对象配置页面中显示的所述目标对象的原始配置信息的修改操作获取,所述对象配置页面由所述第一前台设备根据存储的所述目标对象的原始配置文件显示;
所述后台设备根据所述目标对象的修改后的配置信息生成所述目标对象的配置文件。
可选地,所述后台设备获取第一前台设备提交的目标对象的配置文件之后,还包括:
所述后台设备将所述目标对象的配置文件由文本形式转换成二进制形式,其中,转换后的所述目标对象的配置文件被加载至所述缓存中。
可选地,所述第二前台设备根据所述更新的配置文件提供服务,包括:
所述第二前台设备显示工作流制定页面,所述工作流制定页面中包括对象列表,所述对象列表中包括所述更新的配置文件对应的至少一个对象;
所述第二前台设备根据在所述对象列表中的被选择对象制定工作流;
在所述工作流制定完成之后,所述第二前台设备根据所述被选择对象的配置文件,显示信息提交页面,所述信息提交页面用于引导用户提交与所述工作流相关的信息;
所述第二前台设备获取在所述信息提交页面中提交的与所述工作流相关的信息;
所述第二前台设备向所述后台设备发送工作流信息,以使得所述后台设备根据所述工作流信息,执行所述工作流;其中,所述工作流信息中包括所述工作流以及与所述工作流相关的信息。
可选地,所述工作流制定页面中包括目标设置选项,所述目标设置选项用于选择设置是否在执行所述工作流生成目标模型之后,使用所述目标模型执行预测操作;
所述方法还包括:
若获取到对应于所述目标设置选项的肯定设置指示,则所述第二前台设备在所述信息提交页面中显示参数提交引导信息,所述参数提交引导信息用于引导用户提交所述目标模型的配置参数和输入输出参数,以使得所述后台设备在执行所述工作流生成所述目标模型之后,根据所述目标模型的配置参数和输入输出参数采用所述目标模型执行预测操作。
第四方面,提供了一种对象更新装置,所述装置包括:
获取模块,用于获取第一前台设备提交的目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法;
加载模块,用于采用热加载方式将所述目标对象的配置文件加载至缓存中;
读取模块,用于在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件;
发送模块,用于向所述第二前台设备发送所述更新的配置文件,以使得所述第二前台设备根据所述更新的配置文件提供服务。
可选地,所述加载模块,用于:
根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象;
若所述目标对象不是新增对象,则确定所述目标对象的配置文件中的修改内容,将所述修改内容加载至所述缓存中,并覆盖掉所述缓存中已存储的所述修改内容对应的原始内容。
可选地,所述加载模块,还用于:
若所述目标对象是新增对象,则将所述目标对象的配置文件中的全部内容加载至所述缓存中。
可选地,所述获取模块,用于:
接收所述第一前台设备发送的所述目标对象的修改后的配置信息;其中,所述目标对象的修改后的配置信息由所述第一前台设备根据对应于对象配置页面中显示的所述目标对象的原始配置信息的修改操作获取,所述对象配置页面由所述第一前台设备根据存储的所述目标对象的原始配置文件显示;
根据所述目标对象的修改后的配置信息生成所述目标对象的配置文件。
可选地,所述装置还包括:
转换模块,用于将所述目标对象的配置文件由文本形式转换成二进制形式,其中,转换后的所述目标对象的配置文件被加载至所述缓存中。
第五方面,提供了一种对象更新装置,所述装置包括:
请求发送模块,用于向后台设备发送文件加载请求,所述文件加载请求用于请求从所述后台设备的缓存中读取机器学习平台支持的组件和算法的配置文件;
文件接收模块,用于接收所述后台设备发送的更新的配置文件;其中,所述更新的配置文件包括目标对象的配置文件,所述目标对象为所述机器学习平台更新的组件或算法,所述目标对象的配置文件在第一前台设备提交给所述后台设备之后,由所述后台设备采用热加载方式加载至所述缓存中;
服务提供模块,用于根据所述更新的配置文件提供服务。
可选地,所述服务提供模块,用于:
显示工作流制定页面,所述工作流制定页面中包括对象列表,所述对象列表中包括所述更新的配置文件对应的至少一个对象;
根据在所述对象列表中的被选择对象制定工作流;
在所述工作流制定完成之后,根据所述被选择对象的配置文件,显示信息提交页面,所述信息提交页面用于引导用户提交与所述工作流相关的信息;
获取在所述信息提交页面中提交的与所述工作流相关的信息;
向所述后台设备发送工作流信息,以使得所述后台设备根据所述工作流信息,执行所述工作流;其中,所述工作流信息中包括所述工作流以及与所述工作流相关的信息。
可选地,所述工作流制定页面中包括目标设置选项,所述目标设置选项用于选择设置是否在执行所述工作流生成目标模型之后,使用所述目标模型执行预测操作;
所述装置还包括:
信息提供模块,用于若获取到对应于所述目标设置选项的肯定设置指示,则在所述信息提交页面中显示参数提交引导信息,所述参数提交引导信息用于引导用户提交所述目标模型的配置参数和输入输出参数,以使得所述后台设备在执行所述工作流生成所述目标模型之后,根据所述目标模型的配置参数和输入输出参数采用所述目标模型执行预测操作。
第六方面,提供了一种后台设备,所述后台设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的对象更新方法。
第七方面,提供了一种前台设备,其特征在于,所述前台设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第二方面所述的对象更新方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面或第二方面所述的对象更新方法。
第九方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述第一方面或第二方面所述的对象更新方法。
本发明实施例提供的技术方案可以带来如下有益效果:
在本发明实施例中,针对机器学习平台所支持的组件和算法提供了一种可插拔式的接入方案。通过后台设备采用热加载方式在缓存中加载目标对象(即更新的组件或者算法)的配置文件,并在获取到第二前台设备发送的文件加载请求之后,将已经加载至缓存中的目标对象的配置文件发送给第二前台设备,由于将目标对象的配置文件加载至缓存中并不需要重启服务端,从而能够实现在无需重启服务端的前提下,完成加载和发布更新的配置文件,实现了将更新的组件或者算法进行即插即用,从而确保平台在更新对象的过程中也能够正常使用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的机器学习平台架构的示意图;
图2是本发明一个实施例提供的对象更新方法的流程图;
图3是本发明一个实施例提供的组件更新过程的示意图;
图4是本发明一个实施例提供的算法更新过程的示意图;
图5A是本发明一个实施例提供的工作流制定和执行过程的流程图;
图5B是图5A实施例涉及的界面示意图;
图6是本发明一个实施例提供的对象更新装置的框图;
图7是本发明另一个实施例提供的对象更新装置的框图;
图8是本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例介绍之前,先对本发明实施例涉及的相关名词进行介绍说明。
1、机器学习平台
机器学习平台基于机器学习算法库,为用户提供大数据解决方案。机器学习平台提供特征工程、统计、模型训练、模型评估、模型预测和模型发布等功能,覆盖机器学习全流程。机器学习平台提供有用于实现上述功能所需的组件和算法。
2、组件
组件是指机器学习基础实现平台,例如常见的组件包括Spark组件、TensorFlow组件等。
3、算法
算法是指在组件的基础上实现一种对数据的处理逻辑,例如常见的算法包括LR(Logistic Regression,逻辑回归)算法、DNN(Deep Neural Networks,深度神经网络)算法、K-means聚类算法等。
请参考图1,其示出了本发明一个实施例提供的机器学习平台架构的示意图。该机器学习平台架构可以包括:第一前台设备10、第二前台设备20和后台设备30。
前台设备(包括第一前台设备10和第二前台设备20)中运行有机器学习平台的客户端,后台设备30中运行有机器学习平台的服务端,该服务端用于为上述客户端提供后台服务。上述客户端与服务端之间可基于浏览器/服务器的方式进行通信。
第一前台设备10是指平台管理人员、算法工程师等平台运维用户所使用的前台设备,平台运维用户在第一前台设备10中完成客户端登录之后,能够通过客户端访问后台设备30,对整个机器学习平台进行管理和维护。
第二前台设备20是指普通用户所使用的前台设备,普通用户在第二前台设备20中完成客户端登录之后,能够通过客户端访问后台设备30,以获取机器学习平台所提供的服务。具体地,普通用户在第二前台设备20中制定工作流之后,将工作流提交给后台设备30执行。
后台设备30用于向客户端提供机器学习平台支持的组件和算法,并执行客户端提交的工作流,并且后台设备30还用于响应客户端对上述组件和算法的更新。
另外,上述前台设备可以是PC(Personal Computer,个人计算机),后台设备30可以是服务器,该服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。前台设备与后台设备30之间可通过有线或者无线网络相连。
本发明实施例提供的方案中,针对机器学习平台所支持的组件和算法提供了一种可插拔式的接入方案。平台运维用户在将目标对象(即更新的组件或者算法)的配置文件提交给后台设备之后,后台设备采用热加载方式将目标对象的配置文件加载至缓存中,由于将目标对象的配置文件加载至缓存中并不需要重启服务端,因此能实现在无需重启服务端的前提下,完成加载和发布上述更新的配置文件,实现了将更新的组件或者算法进行即插即用,从而确保平台在更新对象的过程中也能够正常使用。
下面将基于上面所述的本发明实施例所涉及的共性方面,对本发明实施例的技术方案做进一步的详细说明。
请参考图2,其示出了本发明一个实施例提供的对象更新方法的流程图。该方法可应用于图1所示的机器学习平台架构中。该方法可以包括如下几个步骤:
步骤201,第一前台设备向后台设备提交目标对象的配置文件。
目标对象为机器学习平台更新的组件或者算法。上述更新可以是新增,也可以是修改,也即上述目标对象可以是新增的组件、新增的算法、修改的组件或者修改的算法。以新增的算法为例,该新增的算法的配置文件可以是由平台运维用户新编辑的配置文件。以修改的算法为例,该修改的算法的配置文件可以是由平台运维用户在该算法的原始配置文件的基础上进行修改后得到的配置文件。
另外,组件的配置文件用于定义组件的各项参数,包括基本参数、资源参数和特殊参数等。算法的配置文件用于定义算法所依赖的组件、算法的各项参数、算法的数据处理逻辑、算法的输入输出参数等。
可选地,目标对象的配置文件是文本形式的。例如,目标对象的配置文件为XML(Extensible Markup Language,可扩展标记语言)格式。XML是一种通用的、易于编辑和识别的标记语言。在其它可能的实施方式中,目标对象的配置文件也可以是JSON(JavaScript Object Notation,一种轻量级的数据交换格式)格式或者其它文本格式,本发明实施例对此不作限定。
在一种可能的实施方式中,第一前台设备向后台设备发送目标对象的配置文件。目标对象的配置文件由平台运维用户上传至第一前台设备,之后第一前台设备向后台设备发送该目标对象的配置文件。其中,目标对象的配置文件中包括目标对象的全部配置信息。上述目标对象可以是新增或者修改的对象。采用上述直接发送文件的方式提交目标对象的配置文件,能够便于在不同的机器学习平台之间同步目标对象。
当目标对象为组件时,组件的全部配置信息包括组件名称、组件说明、组件中参数的拼接格式、组件对应的全部参数的相关信息(例如参数的名称,参数的类型,参数的取值范围,参数的描述等等)等等。当目标对象为算法时,算法的全部配置信息包括算法名称、算法说明、算法中参数的拼接格式、算法的数据处理逻辑、算法对应的全部参数的相关信息(例如参数的名称,参数的类型,参数的取值范围,参数的描述等等)、算法所依赖的组件、算法所依赖的组件对应的全部参数的相关信息等等。
在另一种可能的实施方式中,当目标对象是修改的对象时,若第一前台设备中存储有目标对象的原始配置文件,则上述步骤201可以包括如下子步骤:
步骤201a,第一前台设备根据目标对象的原始配置文件显示目标对象对应的对象配置页面;
目标对象的原始配置文件是指目标对象的修改前的配置文件,平台运维用户需要对该目标对象的原始配置文件中所记录的原始配置信息进行修改。目标对象对应的对象配置页面中包括目标对象的原始配置信息。可选地,上述对象配置页面中提供多元化的参数类型供平台运维用户选择,如整型、文本、枚举、文件等。另外,不论是组件还是算法,平台运维用户能够定义参数显示名称、是否必填、参数描述、默认值、取值范围等展示和限制条件。当目标对象为算法时,平台运维用户也可以自定义算法所依赖的组件、算法的数据处理逻辑、算法中参数的拼接格式、是否生成模型、模型图标及算法说明等配置信息。
当平台运维用户需要修改某一目标对象时,触发第一前台设备的客户端显示对象配置页面,客户端根据目标对象的原始配置文件在对象配置页面中显示目标对象的全部配置项。
步骤201b,第一前台设备根据对应于目标对象的原始配置信息的修改操作,获取目标对象的修改后的配置信息;
平台运维用户可以在可视化的对象配置页面中对目标对象的原始配置信息执行删除、增加、修改等操作。相应地,第一前台设备根据上述修改操作获取目标对象的修改后的配置信息。
步骤201c,第一前台设备向后台设备发送目标对象的修改后的配置信息;
在一个示例中,目标对象的修改后的配置信息是目标对象的全部配置信息。在另一个示例中,目标对象的修改后的配置信息是目标对象的发生修改的配置信息。
相应地,后台设备接收第一前台设备发送的目标对象的修改后的配置信息。
步骤201d,后台设备根据目标对象的修改后的配置信息生成目标对象的配置文件。
若第一前台设备发送的是目标对象的全部配置信息,则后台设备根据接收到的配置信息直接生成目标对象的配置文件。若第一前台设备发送的是目标对象的发生修改的配置信息,则后台设备根据原始配置信息中的未发生修改的配置信息与接收到的配置信息,按照指定格式(例如文本格式、二进制格式等)生成目标对象的配置文件。
采用上述方式,在修改目标对象的配置文件时无需平台运维用户手动编写配置文件,平台运维用户仅需在可视化的对象配置页面中对相关的配置项进行定义或修改即可,后续由后台设备自动根据修改后的配置信息生成配置文件,有助于节省时间与人力成本。
步骤202,后台设备采用热加载方式将目标对象的配置文件加载至缓存中。
在本发明实施例中,热加载方式是指在后台设备中的服务端处于运行状态的情况下,动态加载更新的配置文件,该更新过程中服务端不会发生中断,始终正常提供服务。
缓存是数据交换的缓冲区。当某一硬件需要读取数据时,首先会从缓存中查找需要的数据,若查找到则直接执行,若未查找到则从内存中读取,缓存能够帮助硬件更快地运行。此外,相较于在内存中加载更新的配置文件,将更新的配置文件加载至缓存中并不需要重启服务端,因此能够实现在无需重启服务端的前提下,完成加载和发布更新的配置文件。示例性地,上述缓存可以是Redis缓存。
可选地,后台设备采用热加载方式将目标对象的配置文件加载至缓存中,包括如下几个子步骤:
步骤204a,后台设备根据目标对象的标识和已有对象的标识,确定目标对象是否为新增对象;
步骤204b,若目标对象不是新增对象,则后台设备确定目标对象的配置文件中的修改内容,将修改内容加载至缓存中,并覆盖掉缓存中已存储的修改内容对应的原始内容。
对象的标识用于唯一标识对象。后台设备可以从目标对象的配置文件中获取目标对象的标识。已有对象是指后台设备的缓存中已经加载的对象。可选地,后台设备检测目标对象的标识是否与任意一个已有对象的标识相同;若目标对象的标识与任意一个已有对象的标识均不相同,则确定目标对象是新增对象;若目标对象的标识与任意一个已有对象的标识相同,则确定目标对象不是新增对象。
当目标对象不是新增对象时,说明目标对象的配置文件是对其原始配置文件的修改。后台设备通过将目标对象的配置文件与其原始配置文件进行比对,确定配置文件中的修改内容,后台设备将目标对象的配置文件加载至缓存中时,仅需要采用上述修改内容覆盖掉缓存中已存储的该修改内容对应的原始内容即可。通过上述方式,尽可能地减少对缓存中数据的读写操作,且后台设备完成加载所需的耗时较短。
可选地,后台设备根据目标对象的标识和已有对象的标识,确定目标对象是否为新增对象之后,还包括如下步骤:若目标对象是新增对象,则后台设备将目标对象的配置文件中的全部内容加载至缓存中。
可选地,后台设备在采用热加载方式将目标对象的配置文件加载至缓存中之前,后台设备将目标对象的配置文件由文本形式转换成二进制形式,其中,转换后的目标对象的配置文件被加载至缓存中。可选地,后台设备对文本形式的配置文件中的内容执行编码操作,得到二进制形式的配置文件。二进制形式的配置文件中包含有可被计算机识别的数据或程序指令。通过上述方式,使得缓存中保存的配置文件即可被直接使用,有助于提升后续使用配置文件执行工作流时的效率。
可选地,后台设备在接收到目标对象的配置文件之后,将目标对象的配置文件存储至数据库中。数据库用于对目标对象的配置文件进行备份保存,上述数据库可以是MySQL数据库。另外,数据库可以部署在后台设备中,数据库也可以是一个独立于后台设备的服务器。
步骤203,后台设备在接收到第二前台设备发送的文件加载请求之后,从缓存中读取更新的配置文件。
文件加载请求用于请求从后台设备的缓存中读取机器学习平台支持的组件和算法的配置文件。可选地,当普通用户在第二前台设备中重新登录客户端时,或者当普通用户触发刷新客户端所显示的用户页面时,第二前台设备向后台设备发送文件加载请求。上述方式可以称之为“主动请求”。在其它可能的示例中,后台设备在采用热加载方式将目标对象的配置文件加载至缓存中之后,向各个第二前台设备发送文件更新通知,文件更新通知用于指示缓存中配置文件发生更新,第二前台设备根据该文件更新通知向后台设备发送文件加载请求。上述方式可以称之为“被动请求”。
更新的配置文件可以是后台设备的缓存中所有的配置文件,也可以是后台设备的缓存中未同步给第二前台设备的配置文件。更新的配置文件包括目标对象的配置文件。
可选地,在更新的配置文件是后台设备的缓存中未同步给第二前台设备的配置文件的情况下,后台设备确定已同步给第二前台设备的配置文件,根据已同步给第二前台设备的配置文件和缓存中所有的配置文件,确定未同步给第二前台设备的配置文件。在一种可能的实施方式中,第二前台设备发送的文件加载请求中携带有已同步的配置文件的标识,后台设备根据上述已同步的配置文件的标识和缓存中所有配置文件的标识确定出未同步给第二前台设备的配置文件。在另一种可能的实施方式中,后台设备存储有已同步给第二前台设备的配置文件的标识,后台设备根据上述已同步的配置文件的标识和缓存中所有配置文件的标识确定出未同步给第二前台设备的配置文件。
需要说明的是,在更新的配置文件是后台设备的缓存中未同步给第二前台设备的配置文件的情况下,如果采用“主动请求”方式触发的文件加载请求,后台设备获取的更新的配置文件中除了包括目标对象的配置文件之外,还可能包括其它未同步给第二前台设备的配置文件。例如,上述其它配置文件可以是后台设备在获取目标对象的配置文件之前获取到的其它更新的组件和/或算法的配置文件。如果采用“被动请求”方式触发的文件加载请求,后台设备获取的更新的配置文件中可以仅包括目标对象的配置文件。
另外,若缓存中存储的是二进制形式的配置文件,则后台设备从缓存中读取二进制形式的配置文件。
步骤204,后台设备向第二前台设备发送更新的配置文件。
如果更新的配置文件是后台设备的缓存中所有的配置文件,则可以称为全量同步。如果更新的配置文件是后台设备的缓存中未同步给第二前台设备的配置文件,则可以称为增量同步。
另外,若后台设备从缓存中读取的是二进制形式的配置文件,则后台设备向第二前台设备发送二进制形式的配置文件。通过上述方式,后续第二前台设备提供服务时,无需对目标对象的配置文件进行转换即可直接加载使用,从而可以减少第二前台设备的响应时延。
步骤205,第二前台设备根据更新的配置文件提供服务。
第二前台设备接收到更新的配置文件之后,存储该更新的配置文件。如果采用全量同步方式,则第二前台设备获取到更新的配置文件之后,将原来存储的配置文件删除,并存储上述更新的配置文件。如果采用增量同步方式,则第二前台设备确定更新的配置文件中包含的新增对象的配置文件以及修改对象的配置文件,对于新增对象的配置文件,第二前台设备存储上述新增对象的配置文件,对于修改对象的配置文件,第二前台设备采用该修改对象的配置文件替换掉该修改对象的原始配置文件。上述新增对象是指新增的组件或者算法,修改对象是指修改的组件或者算法。
第二前台设备接收到更新的配置文件之后,可以基于更新的配置文件所对应的各个对象向普通用户提供服务,也即,普通用户可以在上述各个对象中选择所需对象制定工作流。有关工作流的指定与执行过程,将在下文进行介绍说明。可选地,上述服务可以包括特征工程、统计、模型训练、模型评估、模型预测和模型发布等等。
综上所述,本发明实施例提供的方法,针对机器学习平台所支持的组件和算法提供了一种可插拔式的接入设计。通过后台设备采用热加载方式在缓存中加载目标对象(即更新的组件或者算法)的配置文件,并在获取到第二前台设备发送的文件加载请求之后,将已经加载至缓存中的目标对象的配置文件发送给第二前台设备,由于将目标对象的配置文件加载至缓存中并不需要重启服务端,从而实现了在无需重启服务端的前提下,完成加载和发布更新的配置文件,实现了将更新的组件或者算法进行即插即用,从而确保平台在更新对象的过程中也能够正常使用。
请参考图3,其示出了本发明一个实施例提供的组件更新过程的示意图。组件更新过程可以包括组件接入、组件展示以及组件使用三个步骤。
在组件接入步骤中,由平台运维用户(如平台管理人员)在第一前台设备对新增或修改的组件进行配置。之后,第一前台设备将更新的组件的配置信息发送至后台设备,后台设备生成该组件的配置文件,上述组件的配置文件为文本形式。另外,平台管理人员还可以在第一前台设备直接上传更新的组件的配置文件,并由第一前台设备向后台设备发送上述组件的配置文件,以实现新增或者修改组件。后台设备将组件的标识与组件的配置文件按照一一对应的关系存储至数据库中。
在组件展示步骤中,第二前台设备根据上述组件的标识与组件的配置文件之间的对应关系,在组件列表中展示数据库中已存储的组件的标识(如名称),以供用户选择。用户选择出工作流所需的组件之后,第二前台设备调用接口读取该组件的配置文件,并展示该组件对应的信息提交页面。关于信息提交页面的介绍将在下文实施例中进行说明。此外,与组件接入步骤不同,此处组件的配置文件为二进制形式,二进制形式的配置文件由后台设备对文本形式的配置文件转换后发送至第二前台设备。
在组件使用步骤中,第二前台设备从组件列表中选择组件制定工作流,向后台设备提交工作流信息之后,后台设备对与工作流相关的信息执行转换处理,以将参数的格式转化成可被机器学习平台识别的格式,例如,将“A=1”转换成可被机器学习平台识别的“A:1”;之后,后台设备对与工作流相关的信息执行拼接处理,在参数拼接的过程中,后台设备确定各个参数对应的执行顺序,以及对指定参数执行加密处理,指定参数可以是上述各个参数中的全部参数或部分参数,上述参数拼接的过程可以在机器学习基础实现平台中进行。另外,后台设备还能实现任务终止及日志解析的功能。
请参考图4,其示出了本发明一个实施例提供的算法更新过程的示意图。算法更新过程可以包括算法接入、算法展示以及算法使用三个步骤。
在算法接入步骤中,由平台运维用户(如算法工程师)在第一前台设备新增或修改算法。之后,第一前台设备将更新的算法的配置信息发送至后台设备,后台设备生成算法的配置文件,上述算法的配置文件为文本形式。另外,平台运维用户还可以在第一前台设备直接上传算法的配置文件,并由第一前台设备向后台设备发送上述算法的配置文件,以实现增加或者修改算法。后台设备将算法的标识与算法的配置文件按照一一对应的关系存储至数据库中。
在算法展示步骤中,第二前台设备根据上述算法的标识与算法的配置文件之间的对应关系,在算法列表中展示数据库中已存储的算法的标识(如名称),以供用户选择。用户选择出工作流所需的算法之后,第二前台设备调用接口读取该算法的配置文件,并展示该算法对应的信息提交页面。关于信息提交页面的介绍将在下文实施例中进行说明。此外,与算法接入步骤不同,此处算法的配置文件为二进制形式,二进制形式的配置文件由后台设备对文本形式的配置文件转换后发送至第二前台设备。
在算法执行步骤中,对于普通参数,后台设备读取之后直接对其进行拼接;而对于资源文件等特殊参数,后台设备通常会为特殊参数创建软连接,软连接记录有上述特殊参数的存储路径,后续后台设备执行工作流时,先访问软连接获取上述特殊参数的存储路径,进而访问上述特殊参数。
在基于图2实施例提供的一个可选实施例中,如图5A所示,其示出了制定及执行工作流的方法流程图:
步骤501,第二前台设备显示工作流制定页面。
工作流定制页面是供普通用户制定工作流的操作页面。工作流是指将某项工作的业务流程及其中各个步骤之间的业务规则和相互关联的抽象与概括描述。工作流包括若干个步骤,如某一工作流包括数据预处理、特征提取、样本生成、模型训练等多个步骤。上述每一个步骤也可以称为工作流中的一个节点。
工作流制定页面中包括对象列表。对象列表中提供有可供用户选择的对象,也即该机器学习平台所支持的组件和算法。可选地,第二前台设备在获取到更新的配置文件之后,其显示的对象列表中可包括更新的配置文件对应的至少一个对象。结合参考图5B,其示出了本发明一个实施例提供的工作流制定页面51的示意图。该工作流制定页面51包括对象列表511和用于触发保存工作流的操作控件512。
步骤502,第二前台设备根据在对象列表中的被选择对象制定工作流。
用户在对象列表中选择出制定工作流所需的对象。可选地,用户还确定出各个被选择对象在工作流中的顺序。
步骤503,在工作流制定完成之后,第二前台设备根据被选择对象的配置文件,显示信息提交页面。
当用户触发用于保存工作流的操作信号之后,终端根据该操作信号保存工作流,此时工作流制定完成,之后第二前台设备读取各个被选择对象的配置文件,并根据上述各个被选择对象的配置文件显示信息提交页面。
信息提交页面用于引导用户提交与工作流相关的信息。信息提交页面中通常包括用于输入被选择对象的各参数项的参数值的输入框。可选地,信息提交页面中还包括用于触发上传相关文件的操作控件。上述输入框以及操作控件的展现形式由该对象的配置文件定义。例如,工作流包括算法A,算法A的配置文件中定义了输入参数对应的输入框为文本框、输出参数对应的输入框为下拉框,此时信息提交页面显示有文本框与下拉框,文本框用于供用户输入输入参数的参数值,下拉框用于供用户输入输出参数的参数值。
结合参考图5B,其示出了本发明一个实施例提供的信息提交页面52的示意图。该信息提交页面52包括用于触发保存信息的操作控件521。
步骤504,第二前台设备获取在信息提交页面中提交的与工作流相关的信息。
可选地,当普通用户触发用于提交与工作流相关的信息的操作信号之后,第二前台设备获取用户在信息提交页面中提交的与工作流相关的信息。
与工作流相关的信息是指执行该工作流所需的对象相关的信息。例如,组件对应的各参数项的参数值、组件对应的资源文件、算法对应的各参数项的参数值、算法对应的资源文件等等。
步骤505,第二前台设备向后台设备发送工作流信息。
工作流信息中包括工作流以及与工作流相关的信息。其中,工作流可以包括各个被选择对象的标识以及各个被选择对象之间的顺序。
步骤506,后台设备根据工作流信息,执行工作流。
后台设备在接收到工作流信息之后,执行工作流。例如,采用工作流信息中指定的数据处理算法对提交的参数进行处理,得到训练样本,而后采用工作流信息中指定的模型训练算法对上述训练样本进行训练,得到模型。其中,模型是一组文件,表示从特征空间到输出空间的一个映射,即一些数据经过模型中定义的规则后,能得到想要预测的结果。示例性地,常见的模型包括语音识别模型、语义分析模型、人脸识别模型等等。
通过上述方式,实现了利用机器学习平台制定和执行工作流。
结合参考图5B,第二前台设备显示工作流制定页面51,用户在工作流制定页面51的对象列表511中选择“组件2”、“组件3”和“算法1”,之后触发上述用于触发保存工作流的操作控件512,从而完成工作流的制定,此时第二前台设备跳转显示信息提交页面52,用户在信息提交页面52中输入相关信息,之后触发上述用于触发保存信息的操作控件521,之后第二前台设备向后台设备发送工作流信息。
在本发明实施例中,工作流制定页面中包括目标设置选项,目标设置选项用于选择设置是否在执行工作流生成目标模型之后,使用目标模型执行预测操作。在制定工作流的过程中,若第二前台设备获取到对应于目标设置选项的肯定设置指示,则第二前台设备在显示信息提交页面时,在信息提交页面中显示参数提交引导信息,该参数提交引导信息用于引导用户提交目标模型的配置参数和输入输出参数,以使得后台设备在执行工作流生成目标模型之后,根据目标模型的配置参数和输入输出参数采用目标模型执行预测操作。
目标模型是指在后台设备在执行工作流过程中根据与工作流相关的信息训练得到的模型,上述与工作流相关的信息包括用于实现模型训练的算法对应的各项参数的参数值、训练样本等信息。采用目标模型执行预测操作是指采用目标模型预测输入数据对应的输出结果。
在该示例中,当用户制定的工作流中包括用于实现模型训练的算法,并且,该工作流指示后台设备采用上述算法进行模型训练时,工作流制定页面中包括目标设置选项,用户触发对应于目标设置选项的肯定设置指示之后,则后台设备在执行工作流中的模型训练步骤之后,直接根据在信息提交页面中输入的目标模型的配置参数和输入输出参数执行预测操作。
在本发明实施例中,实现了在一个工作流中执行模型训练,而后采用训练得到的模型执行预测操作,使得模型训练和模型预测能够紧密结合起来。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图6,其示出了本发明一个实施例示出的对象更新装置的框图。该装置具有实现上述方法示例中后台设备一侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:获取模块601、加载模块602、读取模块603和发送模块604。
获取模块601,用于获取第一前台设备提交的目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法。
加载模块602,用于采用热加载方式将所述目标对象的配置文件加载至缓存中。
读取模块603,用于在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件。
发送模块604,用于向所述第二前台设备发送更新的配置文件,以使得所述第二前台设备根据所述更新的配置文件提供服务。
在基于图6所示实施例提供的一个可选实施例中,所述加载模块602,用于:
根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象;
若所述目标对象不是新增对象,则确定所述目标对象的配置文件中的修改内容,将所述修改内容加载至所述缓存中,并覆盖掉所述缓存中已存储的所述修改内容对应的原始内容。
在基于图6所示实施例提供的另一个可选实施例中,所述加载模块602,还用于:
若所述目标对象是新增对象,则将所述目标对象的配置文件中的全部内容加载至所述缓存中。
在基于图6所示实施例提供的另一个可选实施例中,所述获取模块601,用于:
接收所述第一前台设备发送的所述目标对象的修改后的配置信息;其中,所述目标对象的修改后的配置信息由所述第一前台设备,根据对应于对象配置页面中的目标对象的原始配置信息的修改操作获取,所述对象配置页面由所述第一前台设备根据存储的所述目标对象的原始配置文件显示;
根据所述目标对象的修改后的配置信息生成所述目标对象的配置文件。
在基于图6所示实施例提供的另一个可选实施例中,所述装置还包括:转换模块(图中未示出)。
转换模块,用于将所述目标对象的配置文件由文本形式转换成二进制形式,其中,转换后的所述目标对象的配置文件被加载至所述缓存中。
综上所述,本发明实施例提供的装置,通过后台设备采用热加载方式在缓存中加载目标对象(即更新的组件或者算法)的配置文件,并在获取到第二前台设备发送的文件加载请求之后,将已经加载至缓存中的目标对象的配置文件发送给第二前台设备,由于将目标对象的配置文件加载至缓存中并不需要重启服务端,从而实现了在无需重启服务端的前提下,完成加载和发布更新的配置文件,确保平台在更新过程中也能够正常使用。
请参考图7,其示出了本发明一个实施例示出的对象更新装置的框图。该装置具有实现上述方法示例中第二前台设备一侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:请求发送模块701、文件接收模块702和服务提供模块703。
请求发送模块701,用于向后台设备发送文件加载请求,所述文件加载请求用于请求从所述后台设备的缓存中读取机器学习平台支持的组件和算法的配置文件。
文件接收模块702,用于接收所述后台设备发送的更新的配置文件;其中,所述更新的配置文件包括目标对象的配置文件,所述目标对象为所述机器学习平台更新的组件或算法,所述目标对象的配置文件在第一前台设备提交给所述后台设备之后,由所述后台设备采用热加载方式加载至所述缓存中。
服务提供模块703,用于根据所述更新的配置文件提供服务。
在基于图7所示实施例提供的一个可选实施例中,所述服务提供模块703,用于:
显示工作流制定页面,所述工作流制定页面中包括对象列表,所述对象列表中包括所述更新的配置文件对应的至少一个对象;
根据在所述对象列表中的被选择对象制定工作流;
在所述工作流制定完成之后,根据所述被选择对象的配置文件,显示信息提交页面,所述信息提交页面用于引导用户提交与所述工作流相关的信息;
获取在所述信息提交页面中提交的与所述工作流相关的信息;
向所述后台设备发送工作流信息,以使得所述后台设备根据所述工作流信息,执行所述工作流;其中,所述工作流信息中包括所述工作流以及与所述工作流相关的信息。
在基于图7所示实施例提供的一个可选实施例中,所述工作流制定页面中包括目标设置选项,所述目标设置选项用于选择设置是否在执行所述工作流生成目标模型之后,使用所述目标模型执行预测操作;
所述装置还包括:信息显示模块(图中未示出)。
信息提供模块,用于若获取到对应于所述目标设置选项的肯定设置指示,则在所述信息提交页面中显示参数提交引导信息,所述参数提交引导信息用于引导用户提交所述目标模型的配置参数和输入输出参数,以使得所述后台设备在执行所述工作流生成所述目标模型之后,根据所述目标模型的配置参数和输入输出参数采用所述目标模型执行预测操作。
综上所述,本发明实施例提供的装置,通过后台设备采用热加载方式在缓存中加载目标对象(即更新的组件或者算法)的配置文件,并在获取到第二前台设备发送的文件加载请求之后,将已经加载至缓存中的目标对象的配置文件发送给第二前台设备,由于将目标对象的配置文件加载至缓存中并不需要重启服务端,从而实现了在无需重启服务端的前提下,完成加载和发布更新的配置文件,确保平台在更新过程中也能够正常使用。
本发明实施例还提供了一种对象更新装置,该装置具有实现上述方法示例中第一前台设备一侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:信息提交模块(图中未示出)。
信息提交模块,用于向后台设备提交目标对象的配置文件,以使得所述后台设备采用热加载方式将所述目标对象的配置文件存储至缓存中,并在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,向所述第二前台设备发送所述更新的配置文件,所述第二前台设备根据所述更新的配置文件提供服务;
其中,所述更新的配置文件包括所述目标对象的配置文件,所述目标对象为所述机器学习平台更新的组件或者算法。
在基于上述实施例提供的一个可选实施例中,所述信息提交模块,用于:
当所述第一前台设备中存储有所述目标对象的原始配置文件时,根据所述目标对象的原始配置文件显示所述目标对象对应的对象配置页面,所述对象配置页面中包括所述目标对象的原始配置信息;
根据对应于所述目标对象的原始配置信息的修改操作,获取所述目标对象的修改后的配置信息;
向所述后台设备发送所述目标对象的修改后的配置信息,以使得所述后台设备根据所述目标对象的修改后的配置信息生成所述目标对象的配置文件。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,其示出了本发明一个实施例提供的电子设备的结构示意图。该电子设备可以是上述实施例中的第一前台设备、第二前台设备或者后台设备。具体来讲:
所述电子设备800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述电子设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备808。其中所述显示器808和输入设备808都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为电子设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本发明的各种实施例,所述电子设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即电子设备800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,其中所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述对象更新方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由电子设备的处理器加载并执行以实现上述对象更新方法。可选地,上述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述对象更新方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种对象更新方法,其特征在于,所述方法包括:
获取第一前台设备提交的目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法;
采用热加载方式将所述目标对象的配置文件加载至缓存中;
在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件;
向所述第二前台设备发送所述更新的配置文件,以使得所述第二前台设备根据所述更新的配置文件提供服务。
2.根据权利要求1所述的方法,其特征在于,所述采用热加载方式将所述目标对象的配置文件加载至缓存中,包括:
根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象;
若所述目标对象不是新增对象,则确定所述目标对象的配置文件中的修改内容,将所述修改内容加载至所述缓存中,并覆盖掉所述缓存中已存储的所述修改内容对应的原始内容。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标对象的标识和已有对象的标识,确定所述目标对象是否为新增对象之后,还包括:
若所述目标对象是新增对象,则将所述目标对象的配置文件中的全部内容加载至所述缓存中。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述获取第一前台设备提交的目标对象的配置文件,包括:
接收所述第一前台设备发送的所述目标对象的修改后的配置信息;其中,所述目标对象的修改后的配置信息由所述第一前台设备根据对应于对象配置页面中显示的所述目标对象的原始配置信息的修改操作获取,所述对象配置页面由所述第一前台设备根据存储的所述目标对象的原始配置文件显示;
根据所述目标对象的修改后的配置信息生成所述目标对象的配置文件。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述获取第一前台设备提交的目标对象的配置文件之后,还包括:
将所述目标对象的配置文件由文本形式转换成二进制形式,其中,转换后的所述目标对象的配置文件被加载至所述缓存中。
6.一种对象更新方法,其特征在于,所述方法包括:
向后台设备发送文件加载请求,所述文件加载请求用于请求从所述后台设备的缓存中读取机器学习平台支持的组件和算法的配置文件;
接收所述后台设备发送的更新的配置文件;其中,所述更新的配置文件包括目标对象的配置文件,所述目标对象为所述机器学习平台更新的组件或算法,所述目标对象的配置文件在第一前台设备提交给所述后台设备之后,由所述后台设备采用热加载方式加载至所述缓存中;
根据所述更新的配置文件提供服务。
7.根据权利要求6所述的方法,其特征在于,所述根据所述更新的配置文件提供服务,包括:
显示工作流制定页面,所述工作流制定页面中包括对象列表,所述对象列表中包括所述更新的配置文件对应的至少一个对象;
根据在所述对象列表中的被选择对象制定工作流;
在所述工作流制定完成之后,根据所述被选择对象的配置文件,显示信息提交页面,所述信息提交页面用于引导用户提交与所述工作流相关的信息;
获取在所述信息提交页面中提交的与所述工作流相关的信息;
向所述后台设备发送工作流信息,以使得所述后台设备根据所述工作流信息,执行所述工作流;其中,所述工作流信息中包括所述工作流以及与所述工作流相关的信息。
8.根据权利要求7所述的方法,其特征在于,所述工作流制定页面中包括目标设置选项,所述目标设置选项用于选择设置是否在执行所述工作流生成目标模型之后,使用所述目标模型执行预测操作;
所述方法还包括:
若获取到对应于所述目标设置选项的肯定设置指示,则在所述信息提交页面中显示参数提交引导信息,所述参数提交引导信息用于引导用户提交所述目标模型的配置参数和输入输出参数,以使得所述后台设备在执行所述工作流生成所述目标模型之后,根据所述目标模型的配置参数和输入输出参数采用所述目标模型执行预测操作。
9.一种对象更新方法,其特征在于,所述方法包括:
第一前台设备向后台设备提交目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法;
所述后台设备采用热加载方式将所述目标对象的配置文件加载至缓存中;
所述后台设备在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,向所述第二前台设备发送所述更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件;所述第二前台设备根据所述更新的配置文件提供服务。
10.一种对象更新装置,其特征在于,所述装置包括:
获取模块,用于获取第一前台设备提交的目标对象的配置文件,所述目标对象为机器学习平台更新的组件或者算法;
加载模块,用于采用热加载方式将所述目标对象的配置文件加载至缓存中;
读取模块,用于在接收到第二前台设备发送的文件加载请求之后,从所述缓存中读取更新的配置文件,所述更新的配置文件包括所述目标对象的配置文件;
发送模块,用于向所述第二前台设备发送所述更新的配置文件,以使得所述第二前台设备根据所述更新的配置文件提供服务。
11.一种对象更新装置,其特征在于,所述装置包括:
请求发送模块,用于向后台设备发送文件加载请求,所述文件加载请求用于请求从所述后台设备的缓存中读取机器学习平台支持的组件和算法的配置文件;
文件接收模块,用于接收所述后台设备发送的更新的配置文件;其中,所述更新的配置文件包括目标对象的配置文件,所述目标对象为所述机器学习平台更新的组件或算法,所述目标对象的配置文件在第一前台设备提交给所述后台设备之后,由所述后台设备采用热加载方式加载至所述缓存中;
服务提供模块,用于根据所述更新的配置文件提供服务。
12.一种后台设备,其特征在于,所述后台设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一项所述的对象更新方法。
13.一种前台设备,其特征在于,所述前台设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求6至8任一项所述的对象更新方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一项所述的对象更新方法,或者,如权利要求6至8任一项所述的对象更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710825045.6A CN108304201B (zh) | 2017-09-14 | 2017-09-14 | 对象更新方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710825045.6A CN108304201B (zh) | 2017-09-14 | 2017-09-14 | 对象更新方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108304201A true CN108304201A (zh) | 2018-07-20 |
CN108304201B CN108304201B (zh) | 2022-02-22 |
Family
ID=62869373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710825045.6A Active CN108304201B (zh) | 2017-09-14 | 2017-09-14 | 对象更新方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304201B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109263271A (zh) * | 2018-08-15 | 2019-01-25 | 同济大学 | 一种基于大数据的印刷设备检测分析方法 |
CN109299124A (zh) * | 2018-09-30 | 2019-02-01 | 北京字节跳动网络技术有限公司 | 用于更新模型的方法和装置 |
CN109683984A (zh) * | 2018-12-14 | 2019-04-26 | 拉扎斯网络科技(上海)有限公司 | 数据热加载方法、装置、电子设备及计算机可读存储介质 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110286926A (zh) * | 2019-06-20 | 2019-09-27 | 西北工业大学 | 一种工业机器更新方法及装置 |
CN110334103A (zh) * | 2019-05-09 | 2019-10-15 | 北京顺丰同城科技有限公司 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
CN110362330A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 应用程序更新方法、装置、终端及存储介质 |
CN110941588A (zh) * | 2018-09-21 | 2020-03-31 | 北京国双科技有限公司 | 文件的配置方法及装置 |
CN111258670A (zh) * | 2020-01-08 | 2020-06-09 | 北京字节跳动网络技术有限公司 | 组件数据的管理方法、装置、电子设备和存储介质 |
CN111522570A (zh) * | 2020-06-19 | 2020-08-11 | 杭州海康威视数字技术股份有限公司 | 目标库更新方法、装置、电子设备及机器可读存储介质 |
CN111629034A (zh) * | 2020-05-06 | 2020-09-04 | 深圳力维智联技术有限公司 | 物联网终端的远程维护方法与装置 |
CN112527357A (zh) * | 2020-12-14 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 服务热加载更新方法、装置、计算机设备和存储介质 |
CN112612568A (zh) * | 2020-12-25 | 2021-04-06 | 中电金信软件有限公司 | 工作流任务项展示方法、装置及电子设备 |
CN112685069A (zh) * | 2019-10-20 | 2021-04-20 | 辉达公司 | 机器学习模型的实时更新 |
CN112988208A (zh) * | 2019-12-18 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 数据更新方法、装置、设备及存储介质 |
CN113778488A (zh) * | 2021-09-14 | 2021-12-10 | 北京飞讯数码科技有限公司 | 一种页面更新方法、装置、计算机设备及存储介质 |
CN115062595A (zh) * | 2022-04-25 | 2022-09-16 | 北京达佳互联信息技术有限公司 | 推送信息生成方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107416A1 (en) * | 2002-12-02 | 2004-06-03 | Microsoft Corporation | Patching of in-use functions on a running computer system |
CN102255752A (zh) * | 2011-06-30 | 2011-11-23 | 北京新媒传信科技有限公司 | 一种服务器集群的配置管理系统和方法 |
CN102521274A (zh) * | 2011-11-24 | 2012-06-27 | 上海明想电子科技有限公司 | 一种基于ibatis的SQL脚本动态加载方法 |
CN102541598A (zh) * | 2011-12-26 | 2012-07-04 | 深圳联友科技有限公司 | 一种动态加载组件的方法及系统 |
CN103530420A (zh) * | 2013-10-30 | 2014-01-22 | 北京奇虎科技有限公司 | 数据文件的动态更新方法及装置 |
CN105553738A (zh) * | 2015-12-25 | 2016-05-04 | 北京奇虎科技有限公司 | 配置信息的热加载方法及装置、分布式集群系统 |
CN106020877A (zh) * | 2016-05-16 | 2016-10-12 | 乐视控股(北京)有限公司 | 系统环境配置自动更新方法及装置 |
CN106325847A (zh) * | 2015-07-02 | 2017-01-11 | 杭州海康机器人技术有限公司 | 基于iOS平台获取应用程序功能的方法和装置 |
CN106326128A (zh) * | 2016-09-06 | 2017-01-11 | 网易(杭州)网络有限公司 | 配置文件的检测方法及装置 |
CN106713469A (zh) * | 2016-12-29 | 2017-05-24 | 上海智臻智能网络科技股份有限公司 | 用于分布式容器的动态加载方法、装置及系统 |
CN106897808A (zh) * | 2015-12-17 | 2017-06-27 | 北京奇虎科技有限公司 | 一种工作流创建方法和装置 |
CN106909411A (zh) * | 2015-12-23 | 2017-06-30 | 中国移动通信集团江苏有限公司 | 一种文件更新方法及装置 |
US20170242686A1 (en) * | 2016-02-19 | 2017-08-24 | Sumanth Vidyadhara | Systems And Methods Of Updating Hot-Pluggable Devices |
-
2017
- 2017-09-14 CN CN201710825045.6A patent/CN108304201B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107416A1 (en) * | 2002-12-02 | 2004-06-03 | Microsoft Corporation | Patching of in-use functions on a running computer system |
CN102255752A (zh) * | 2011-06-30 | 2011-11-23 | 北京新媒传信科技有限公司 | 一种服务器集群的配置管理系统和方法 |
CN102521274A (zh) * | 2011-11-24 | 2012-06-27 | 上海明想电子科技有限公司 | 一种基于ibatis的SQL脚本动态加载方法 |
CN102541598A (zh) * | 2011-12-26 | 2012-07-04 | 深圳联友科技有限公司 | 一种动态加载组件的方法及系统 |
CN103530420A (zh) * | 2013-10-30 | 2014-01-22 | 北京奇虎科技有限公司 | 数据文件的动态更新方法及装置 |
CN106325847A (zh) * | 2015-07-02 | 2017-01-11 | 杭州海康机器人技术有限公司 | 基于iOS平台获取应用程序功能的方法和装置 |
CN106897808A (zh) * | 2015-12-17 | 2017-06-27 | 北京奇虎科技有限公司 | 一种工作流创建方法和装置 |
CN106909411A (zh) * | 2015-12-23 | 2017-06-30 | 中国移动通信集团江苏有限公司 | 一种文件更新方法及装置 |
CN105553738A (zh) * | 2015-12-25 | 2016-05-04 | 北京奇虎科技有限公司 | 配置信息的热加载方法及装置、分布式集群系统 |
US20170242686A1 (en) * | 2016-02-19 | 2017-08-24 | Sumanth Vidyadhara | Systems And Methods Of Updating Hot-Pluggable Devices |
CN106020877A (zh) * | 2016-05-16 | 2016-10-12 | 乐视控股(北京)有限公司 | 系统环境配置自动更新方法及装置 |
CN106326128A (zh) * | 2016-09-06 | 2017-01-11 | 网易(杭州)网络有限公司 | 配置文件的检测方法及装置 |
CN106713469A (zh) * | 2016-12-29 | 2017-05-24 | 上海智臻智能网络科技股份有限公司 | 用于分布式容器的动态加载方法、装置及系统 |
Non-Patent Citations (3)
Title |
---|
严成武: "支持分库分表和读写分离的ORM框架的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
刘伦: "基于SOA架构的OSGi平台的研究与应用", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
陆小慧: "基于Zookeeper分布式搜索引擎系统的配置文件自动更新方法、装置及系统", 《广东通信技术 新技术·新业务》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109263271B (zh) * | 2018-08-15 | 2020-06-12 | 同济大学 | 一种基于大数据的印刷设备检测分析方法 |
CN109263271A (zh) * | 2018-08-15 | 2019-01-25 | 同济大学 | 一种基于大数据的印刷设备检测分析方法 |
CN110941588A (zh) * | 2018-09-21 | 2020-03-31 | 北京国双科技有限公司 | 文件的配置方法及装置 |
CN109299124A (zh) * | 2018-09-30 | 2019-02-01 | 北京字节跳动网络技术有限公司 | 用于更新模型的方法和装置 |
CN109299124B (zh) * | 2018-09-30 | 2021-01-08 | 北京字节跳动网络技术有限公司 | 用于更新模型的方法和装置 |
CN109683984A (zh) * | 2018-12-14 | 2019-04-26 | 拉扎斯网络科技(上海)有限公司 | 数据热加载方法、装置、电子设备及计算机可读存储介质 |
CN109683984B (zh) * | 2018-12-14 | 2022-01-28 | 拉扎斯网络科技(上海)有限公司 | 数据热加载方法、装置、电子设备及计算机可读存储介质 |
CN110334103B (zh) * | 2019-05-09 | 2021-11-02 | 北京顺丰同城科技有限公司 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
CN110334103A (zh) * | 2019-05-09 | 2019-10-15 | 北京顺丰同城科技有限公司 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110286926A (zh) * | 2019-06-20 | 2019-09-27 | 西北工业大学 | 一种工业机器更新方法及装置 |
CN110362330B (zh) * | 2019-07-18 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 应用程序更新方法、装置、终端及存储介质 |
CN110362330A (zh) * | 2019-07-18 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 应用程序更新方法、装置、终端及存储介质 |
CN112685069B (zh) * | 2019-10-20 | 2024-02-09 | 辉达公司 | 用于机器学习模型的实时更新的方法和系统 |
CN112685069A (zh) * | 2019-10-20 | 2021-04-20 | 辉达公司 | 机器学习模型的实时更新 |
CN112988208B (zh) * | 2019-12-18 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 数据更新方法、装置、设备及存储介质 |
CN112988208A (zh) * | 2019-12-18 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 数据更新方法、装置、设备及存储介质 |
CN111258670B (zh) * | 2020-01-08 | 2023-09-22 | 北京字节跳动网络技术有限公司 | 组件数据的管理方法、装置、电子设备和存储介质 |
CN111258670A (zh) * | 2020-01-08 | 2020-06-09 | 北京字节跳动网络技术有限公司 | 组件数据的管理方法、装置、电子设备和存储介质 |
CN111629034A (zh) * | 2020-05-06 | 2020-09-04 | 深圳力维智联技术有限公司 | 物联网终端的远程维护方法与装置 |
CN111629034B (zh) * | 2020-05-06 | 2023-07-25 | 深圳力维智联技术有限公司 | 物联网终端的远程维护方法与装置 |
CN111522570A (zh) * | 2020-06-19 | 2020-08-11 | 杭州海康威视数字技术股份有限公司 | 目标库更新方法、装置、电子设备及机器可读存储介质 |
CN111522570B (zh) * | 2020-06-19 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 目标库更新方法、装置、电子设备及机器可读存储介质 |
CN112527357A (zh) * | 2020-12-14 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 服务热加载更新方法、装置、计算机设备和存储介质 |
CN112612568A (zh) * | 2020-12-25 | 2021-04-06 | 中电金信软件有限公司 | 工作流任务项展示方法、装置及电子设备 |
CN113778488A (zh) * | 2021-09-14 | 2021-12-10 | 北京飞讯数码科技有限公司 | 一种页面更新方法、装置、计算机设备及存储介质 |
CN113778488B (zh) * | 2021-09-14 | 2024-02-06 | 北京飞讯数码科技有限公司 | 一种页面更新方法、装置、计算机设备及存储介质 |
CN115062595A (zh) * | 2022-04-25 | 2022-09-16 | 北京达佳互联信息技术有限公司 | 推送信息生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108304201B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304201A (zh) | 对象更新方法、装置及设备 | |
US10958748B2 (en) | Resource push method and apparatus | |
US10990644B2 (en) | Systems and methods for contextual vocabularies and customer segmentation | |
US11710076B2 (en) | Method, apparatus, and computer program product for machine learning model lifecycle management | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
WO2021217911A1 (zh) | 业务网站项目构建方法、装置、计算机设备和存储介质 | |
CN112800370B (zh) | 业务单据的处理方法、装置、计算机设备和存储介质 | |
US20180074796A1 (en) | Inversion of control framework for multiple behaviors of a process | |
US20180232352A1 (en) | Digital content infrastructure | |
US11403347B2 (en) | Automated master data classification and curation using machine learning | |
CN108664331A (zh) | 分布式数据处理方法及装置、电子设备、存储介质 | |
US11443102B1 (en) | Methods and systems for artificial intelligence-assisted document annotation | |
US20230049167A1 (en) | Continuous machine learning method and system for information extraction | |
US11348032B1 (en) | Automated generation of machine learning models | |
CN111459610B (zh) | 一种模型部署方法和装置 | |
CN115952966A (zh) | 使用用于机器人过程自动化的语义人工智能在源与目标之间的自动数据传输 | |
WO2023019120A2 (en) | Methods and systems for artificial intelligence-assisted document annotation | |
US11526345B2 (en) | Production compute deployment and governance | |
Muiruri et al. | Practices and infrastructures for machine learning systems: An interview study in finnish organizations | |
US20170199858A1 (en) | Form management system and method | |
CN108604226A (zh) | 用于跨平台使对电子文档的评论同步的系统和方法 | |
US20230186117A1 (en) | Automated cloud data and technology solution delivery using dynamic minibot squad engine machine learning and artificial intelligence modeling | |
US20230195742A1 (en) | Time series prediction method for graph structure data | |
CN117716373A (zh) | 基于期望的度量值提供机器学习模型 | |
US11294644B2 (en) | Inversion of control framework for multiple behaviors on top of a process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |