CN112181721B - 一种人工智能作业镜像管理方法和系统 - Google Patents

一种人工智能作业镜像管理方法和系统 Download PDF

Info

Publication number
CN112181721B
CN112181721B CN202010963943.XA CN202010963943A CN112181721B CN 112181721 B CN112181721 B CN 112181721B CN 202010963943 A CN202010963943 A CN 202010963943A CN 112181721 B CN112181721 B CN 112181721B
Authority
CN
China
Prior art keywords
job
image
mirror image
management system
custom
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.)
Active
Application number
CN202010963943.XA
Other languages
English (en)
Other versions
CN112181721A (zh
Inventor
夏鲸
黄林
谢冬鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongyun Ruilian Wuhan Computing Technology Co ltd
Original Assignee
Dongyun Ruilian Wuhan Computing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dongyun Ruilian Wuhan Computing Technology Co ltd filed Critical Dongyun Ruilian Wuhan Computing Technology Co ltd
Priority to CN202010963943.XA priority Critical patent/CN112181721B/zh
Publication of CN112181721A publication Critical patent/CN112181721A/zh
Application granted granted Critical
Publication of CN112181721B publication Critical patent/CN112181721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines

Abstract

本发明公开一种人工智能作业镜像管理方法和系统,由镜像管理系统接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,系统预置作业镜像为已导入到镜像管理系统的作业镜像;根据系统预置作业镜像和自定义作业镜像的信息对自定义作业镜像进行正确性验证;采用预设扫描软件对自定义作业镜像进行安全性验证;在自定义作业镜像的正确性和安全性均验证通过时,将自定义作业镜像导入到镜像管理系统;人工智能云服务系统使用镜像管理系统提供的作业镜像创建人工智能作业。能够同时实现人工智能云服务系统支持自定义作业镜像且确保自定义作业镜像的正确性和安全性,从而扩大人工智能云服务系统的应用范围,降低使用自定义作业镜像的安全风险。

Description

一种人工智能作业镜像管理方法和系统
技术领域
本发明属于人工智能技术领域,尤其涉及一种人工智能作业镜像管理方法和系统。
背景技术
随着人工智能领域的高速发展和容器化技术的广泛应用,通过人工智能云服务系统的方式使用人工智能技术变得越来越普遍,在这种使用方式下,用户只需要在人工智能云服务系统中使用特定的人工智能作业镜像即可轻松使用具体的人工智能技术,因此,人工智能云服务系统中通常会预置一些常用的人工智能作业镜像以供用户选择使用,然而实际中也常常存在一些问题。
首先,人工智能云服务系统中预置的人工智能作业镜像的数量和种类都有限,通常只能提供一些通用或常用的人工智能作业镜像,这些作业镜像无法满足用户的个性化需求,因此限制了人工智能云服务系统的应用范围。
其次,如果人工智能云服务系统支持用户上传和使用自定义作业镜像的功能,又无法确保自定义作业镜像的正确性和安全性,从而无法确保使用自定义作业镜像创建的人工智能作业能够成功运行,以及无法确保使用自定义作业镜像创建人工智能作业的安全性,进一步限制了人工智能云服务系统的应用范围。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
发明的主要目的在于提供一种人工智能作业镜像管理方法和系统,旨在解决现有技术中的人工智能云服务系统无法同时实现支持自定义作业镜像且确定自定义作业镜像的正确性和安全性的技术问题。
本发明就上述技术问题而提出一种人工智能作业镜像管理方法,所述方法包括:
由所述镜像管理系统接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,所述系统预置作业镜像为已导入到所述镜像管理系统的作业镜像;
由所述镜像管理系统根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证;
由所述镜像管理系统采用预设扫描软件对所述自定义作业镜像进行安全性验证;
由所述镜像管理系统在所述自定义作业镜像的正确性和安全性均验证通过时,将所述自定义作业镜像导入到所述镜像管理系统。
优选地,所述接收用户基于下载的系统预置作业镜像生成自定义作业镜像的信息的步骤,具体包括:
由所述镜像管理系统响应用户输入的下载指令,把用户从所述镜像管理系统中选取的系统预置作业镜像下载到用户本地;接收用户输入的基于下载的系统预置作业镜像进行修改生成的自定义作业镜像的信息。
优选地,所述根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证的步骤,具体包括:
由所述镜像管理系统根据所述自定义作业镜像的信息判断所述自定义作业镜像是否已上传到预设存储系统;根据所述自定义作业镜像的信息获取所述自定义作业镜像和所述自定义作业镜像对应的目标预置作业镜像;比较所述自定义作业镜像和所述目标预置作业镜像之间的文件;在所述自定义作业镜像中包含且没有修改或删除所述目标预置作业镜像中所包含的所有文件时,判定正确性验证通过。
优选地,所述采用预设扫描软件对所述自定义作业镜像进行安全性验证的步骤,具体包括:
由所述镜像管理系统采用漏洞扫描软件检查所述自定义作业镜像中的计算机程序是否包含有漏洞;采用病毒扫描软件检查所述自定义作业镜像中的计算机程序是否包含有病毒;若所述自定义作业镜像中不包括漏洞和病毒,则判定安全性验证通过。
优选地,镜像管理系统与人工智能云服务系统交互,所述方法还包括:
由所述人工智能云服务系统从所述镜像管理系统获取所有作业镜像的信息以供用户选择使用;
由所述人工智能云服务系统获取用户选择的目标作业镜像的信息并提交给镜像管理系统;
由所述镜像管理系统根据接收到的目标作业镜像的信息从所述预设存储系统中获取对应的模板作业镜像并提交至所述人工智能云服务系统;
由所述人工智能云服务系统使用接收到的所述目标作业镜像创建人工智能作业。
优选地,所述系统预置作业镜像至少包括操作系统、人工智能作业引擎和人工智能作业运行时库。
此外,为实现上述目的,本发明还提出一种人工智能作业镜像管理系统,所述人工智能作业镜像管理系统包括镜像管理系统;
所述镜像管理系统,用于接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,所述系统预置作业镜像为已导入到所述镜像管理系统的作业镜像;
所述镜像管理系统,用于根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证;
所述镜像管理系统,用于采用预设扫描软件对所述自定义作业镜像进行安全性验证;
所述镜像管理系统,用于在所述自定义作业镜像的正确性和安全性均验证通过时,将所述自定义作业镜像导入到所述镜像管理系统。
优选地,所述人工智能作业镜像管理系统还包括预设存储系统:
所述镜像管理系统,还用于根据所述自定义作业镜像的信息判断所述自定义作业镜像是否已上传到预设存储系统;根据所述自定义作业镜像的信息获取所述自定义作业镜像和所述自定义作业镜像对应的目标预置作业镜像;比较所述自定义作业镜像和所述目标预置作业镜像之间的文件;在所述自定义作业镜像中包含且没有修改或删除所述目标预置作业镜像中所包含的所有文件时,判定正确性验证通过。
优选地,其特征在于,所述预设存储系统包括用于存储作业镜像的镜像存储系统,以及用于存储作业镜像的信息的数据存储系统。
优选地,所述人工智能作业镜像管理系统还包括人工智能云服务系统,所述镜像管理系统与所述人工智能云服务系统交互;
所述人工智能云服务系统,用于从所述镜像管理系统获取所有作业镜像的信息以供用户选择使用;
所述人工智能云服务系统,还用于获取用户选择的目标作业镜像的信息并提交给镜像管理系统;
所述镜像管理系统,还用于根据接收到的目标作业镜像的信息从所述预设存储系统中获取对应的模板作业镜像并提交至所述人工智能云服务系统;
所述人工智能云服务系统,还用于使用接收到的所述目标作业镜像创建人工智能作业。
本发明提供的技术方案带来的有益效果是:本发明支持用户基于系统预置作业镜像修改定制成为满足个性化需求的自定义作业镜像并上传到镜像管理系统中,以便在人工智能云服务系统中选择使用这些作业镜像,从而扩大人工智能云服务系统的应用范围,确保人工智能云服务系统使用自定义作业镜像创建的人工智能作业能够成功运行,以及降低人工智能云服务系统使用自定义作业镜像的安全风险。
附图说明
图1是本发明实施例提供的人工智能作业镜像管理方法的第一实施例流程示意图;
图2为本发明实施例中对自定义作业镜像的正确性进行验证的流程示意图;
图3为本发明实施例中对自定义作业镜像的安全性进行验证的流程示意图;
图4为本发明实施例中人工智能作业镜像管理系统的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种人工智能作业镜像管理方法,本方法中涉及的交互端包括镜像管理系统、人工智能云服务系统以及预设存储系统;
所述镜像管理系统用于管理、上传、下载和使用系统预置作业镜像和用户自定义作业镜像,以及验证用户自定义作业镜像等;
具体地,参考图1,提出本发明的人工智能作业镜像管理方法第一实施例,本实施例的人工智能作业镜像管理方法包括:
步骤S10:由所述镜像管理系统接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,所述系统预置作业镜像为已导入到所述镜像管理系统的作业镜像;
可理解的是,容器化技术的广泛应用对人工智能云服务系统的发展起到了较大的促进作用,在人工智能云服务系统中,通常是把人工智能作业执行所依赖的各种运行环境和工具都集成到作业镜像中,然后再基于作业镜像来运行各种人工智能作业。然而不同的人工智能作业所依赖的运行环境和工具的差异也会导致作业镜像之间存在较大的差异,例如,不同类型的深度学习的人工智能作业,所依赖的深度学习引擎的类型以及编程语言的类型也会不同等。
本实施例以用于深度学习的名称为"tensorflow_py3_gpu:1.0.0"的作业镜像为例来说明系统预置作业镜像的文件内容结构。
在具体实现中,镜像管理系统会预先导入系统管理员已经上传的系统预置作业镜像,主要是把作业镜像及其相关信息保存到存储系统中,相关信息包括作业镜像的基本信息、存储信息、继承信息、用途信息等,存储系统包含用于存储作业镜像的镜像存储系统(如Docker镜像仓库)和用于存储作业镜像相关信息的数据存储系统(如MySQL关系型数据库),存储系统可以是任何能够被所述镜像管理系统使用的存储介质,存储系统的类型不限制本专利的保护范围。
例如:镜像管理系统的系统管理员在镜像管理系统的系统预置作业镜像导入页面中,填写系统预置作业镜像的名称(如"tensorflow_py3_gpu:1.0.0")、描述等信息,填写系统预置作业镜像在Docker镜像仓库中的路径信息(如"/public/tensorflow_py3_gpu")和标签信息(如"1.0.0"),以及填写该作业镜像的用途为"创建推理服务作业",待所有信息填写完成即可点击"导入"按钮进行导入。点击"导入"按钮之后,即可把作业镜像的相关信息保存到存储系统中,才算成功导入了系统预置作业镜像。
可理解的是,作业镜像是由一层一层的文件内容结构组成,人工智能作业镜像一般包含有操作系统、人工智能作业引擎、人工智能作业运行时库等计算机程序的文件内容结构,可以用来创建人工智能作业。人工智能作业镜像包含有系统预置作业镜像和用户自定义作业镜像,系统预置作业镜像是指由所述镜像管理系统的系统管理员导入到所述镜像管理系统中的作业镜像;
具体地,所述接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息的步骤包括:
由所述镜像管理系统响应用户输入的下载指令,把用户从所述镜像管理系统中选取的系统预置作业镜像下载到用户本地;接收用户输入的基于下载的系统预置作业镜像进行修改生成的自定义作业镜像的信息。需要说明的是,用户自定义作业镜像必须是基于某个系统预置作业镜像进行修改定制才能导入到镜像管理系统并被用户所使用,因此,制作用户自定义作业镜像需要先下载对应的系统预置作业镜像,再对系统预置作业镜像进行修改定制,待修改完成后再把定制好的用户自定义作业镜像上传到存储系统中,以及在镜像管理系统的用户自定义作业镜像导入页面中填写相关信息,这样镜像管理系统才能获取用户自定义作业镜像的相关信息对用户自定义作业镜像进行验证以及导入。
例如:用户可以在镜像管理系统的系统预置作业镜像管理页面中下载名称为"tensorflow_py3_gpu:1.0.0"的系统预置作业镜像,然后在该系统预置作业镜像中安装其它的计算机程序或添加计算机文件,待修改完成之后再把修改好的用户自定义作业镜像上传到存储系统中(如上传到Docker镜像仓库的/user/123目录中),最后再在镜像管理系统的用户自定义作业镜像导入页面中填写作业镜像的名称为"user_tensorflow_py3_gpu:1.0.0",填写存储路径为"/user/123/user_tensorflow_py3_gpu"且填写标签为"1.0.0",填写继承的系统预置作业镜像的名称为"tensorflow_py3_gpu:1.0.0",待所有信息填写完成即可点击"导入"按钮进行导入。
需要说明的是,系统预置作业镜像包含有操作系统:人工智能作业需要在具体的操作系统环境中才能执行,因为人工智能作业所依赖的深度学习引擎、运行时库和周边组件都需要安装在具体的操作系统环境中,常用的操作系统有Ubuntu、CentOS、Windows等。例如:系统预置的名称为"tensorflow_py3_gpu:1.0.0"的作业镜像中安装的是CentOS类型的操作系统。
系统预置作业镜像还包含有人工智能作业引擎:不同的深度学习作业可能会采用不同的深度学习技术,因此通常也会需要使用不同的深度学习引擎,常用的深度学习引擎有Tensorflow、Pytorch等。
例如:系统预置的名称为"tensorflow_py3_gpu:1.0.0"的作业镜像中就安装有Tensorflow引擎,该作业镜像可以用来创建基于Tensorflow引擎的深度学习人工智能作业。
系统预置作业镜像还包含有作业运行时库:深度学习作业的运行过程实质上是在运行相应的深度学习算法程序,不同的深度学习作业往往需要提供不同的深度学习算法程序,而算法程序又可以通过不同的程序设计语言来编码实现,人工智能领域中一般使用Python程序设计语言来编码实现这些算法程序,但也可以使用Java等其它程序设计语言来编码实现,而算法程序在运行过程中又依赖于相应的程序设计语言运行时库。
例如:系统预置的名称为"tensorflow_py3_gpu:1.0.0"的作业镜像中安装有Python程序设计语言的运行时库,该作业镜像可以用来运行基于Python程序设计语言编码实现的深度学习算法。
可选地,系统预置作业镜像包含有人工智能作业周边组件:深度学习领域中的人工智能作业可以分为多种类型,比如有的人工智能作业是用于创建一个深度学习模型训练,有的人工智能作业是用于创建一个深度学习推理服务等等,而不同类型的人工智能作业可能需要使用不同的人工智能作业周边组件,也有可能不需要使用任何人工智能作业周边组件,因此,系统预置作业镜像中可能会包含有特定的人工智能作业周边组件以支持特定类型的人工智能作业。
例如:系统预置的名称为"tensorflow_py3_gpu:1.0.0"的作业镜像是用于创建深度学习推理服务作业,则该作业镜像中会安装有推理服务作业组件。
可理解的是,通过在镜像管理系统中提供常用的系统预置作业镜像,用户在人工智能云服务系统中即可直接选择使用这些系统预置作业镜像来完成没有太多特殊需求的人工智能作业,尤其是不熟悉作业镜像制作方法的非专业用户都不需要自己提供作业镜像,从而为用户基于人工智能云服务系统开展自己的人工智能业务提供了极大的便利性。
步骤S20:由所述镜像管理系统根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证;
可理解的是,镜像管理系统只能提供一定数量和种类的系统预置作业镜像,这些系统预置作业镜像无法满足用户的所有个性化需求,因此,为了能够支持用户的个性化需求,镜像管理系统支持用户导入并使用用户自定义作业镜像来创建人工智能作业,而用户自定义作业镜像是由用户制作的,这些作业镜像不一定能够成功运行,所以镜像管理系统需要对用户导入的用户自定义作业镜像进行正确性验证。
在具体实现中,参考图2,步骤S20具体包括以下子步骤:
子步骤S201:由所述镜像管理系统根据所述自定义作业镜像的信息判断所述自定义作业镜像是否已上传到预设存储系统;
可理解的是,用户要想在镜像管理系统中导入用户自定义作业镜像,就需要先把用户自定义作业镜像上传到存储系统中,并在镜像管理系统中填写用户自定义作业镜像的相关信息,这样镜像管理系统才能根据这些信息对用户自定义作业镜像进行验证和导入。
例如:用户把用户自定义作业镜像上传到存储系统中之后,再在镜像管理系统中的用户自定义作业镜像导入页面中填写相关信息,比如填写用户自定义作业镜像的名称为"user_tensorflow_py3_gpu:1.0.0",填写存储路径为"/user/123/user_tensorflow_py3_gpu"且标签为"1.0.0",填写继承的系统预置作业镜像的名称为"tensorflow_py3_gpu:1.0.0",填写用途类型为"创建推理服务"等,则镜像管理系统会通过存储系统来检查/user/123目录下是否存在名称为"user_tensorflow_py3_gpu"且标签为"1.0.0"的作业镜像,如果存在,这一步才验证通过,否则验证不通过。
子步骤S202:根据所述自定义作业镜像的信息获取所述自定义作业镜像和所述自定义作业镜像对应的目标预置作业镜像;
可理解的是,镜像管理系统要想对用户自定义作业镜像进行正确性验证,就需要先从存储系统中获取用户自定义作业镜像和该用户自定义作业镜像所所对应的系统预置作业镜像,将选定的系统预置作业镜像称之为目标预置作业镜像,然后再基于自定义作业镜像和目标预置作业镜像的文件进行正确性验证。
例如:镜像管理系统会根据该用户自定义作业镜像的相关信息分别通过预设存储系统来获取该用户自定义作业镜像和名称为
"tensorflow_py3_gpu:1.0.0"的目标预置作业镜像。
子步骤S203:比较所述自定义作业镜像和所述目标预置作业镜像之间的文件;
可理解的是,镜像管理系统是基于文件来验证用户自定义作业镜像是否正确,由于系统预置作业镜像中的文件是经过镜像管理系统的系统管理员验证过且正确无误的,而用户自定义作业镜像只能在系统预置作业镜像的基础上安装额外的计算机程序和添加额外的计算机文件,而不允许修改或删除所包含的系统预置作业镜像的文件,这样才能确保用户自定义作业镜像能够成功运行,因此,镜像管理系统需要验证用户自定义作业镜像中所包含的目标预置作业镜像的文件是否被用户修改或删除过。
例如:镜像管理系统会比较名称为"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像与名称为"tensorflow_py3_gpu:1.0.0"的目标预置作业镜像中的全部文件,具体而言,首先遍历系统预置作业镜像中的所有文件以得到文件集合(记作集合A),然后再遍历用户自定义作业镜像中的所有文件以得到文件集合(记作集合B),然后再基于文件名称并通过集合操作获取文件集合A与文件集合B的交集(记作集合C),然后再使用集合C与集合A进行计算以判断这两个作业镜像之间的文件的差异。
子步骤S204:在所述自定义作业镜像中包含且没有修改或删除所述目标预置作业镜像中所包含的所有文件时,判定正确性验证通过;否则正确性验证不通过;
可理解的是,镜像管理系统根据比较结果来判断用户在基于系统预置作业镜像修改定制用户自定义作业镜像时,是否对系统预置作业镜像中原有的文件进行了修改或删除,从而判断用户自定义作业镜像是否满足正确性。
在具体实现中,在子步骤S203中获取到文件集合A与文件集合C之后,若判断出文件集合A与文件集合C相等,且文件集合C中任意一个文件的哈希值与文件集合A中对应文件的哈希值相同,则说明用户在基于系统预置作业镜像修改定制用户自定义作业镜像时,没有修改或删除系统预置作业镜像中原有的文件,因此,验证结果为该用户自定义作业镜像满足正确性要求,否则就说明用户修改或删除了系统预置作业镜像中原有的文件,因此,验证结果为该用户自定义作业镜像不满足正确性要求。
镜像管理系统通过对用户自定义作业镜像进行正确性验证,并通过只允许导入满足正确性要求的用户自定义作业镜像,而拒绝导入不满足正确性要求的用户自定义作业镜像,从而确保了人工智能云服务系统使用的用户自定义作业镜像的正确性。
步骤S30:由所述镜像管理系统采用预设扫描软件对所述自定义作业镜像进行安全性验证;
可理解的是,镜像管理系统虽然能够对用户自定义作业镜像的正确性进行验证,以确保用户自定义作业镜像能够成功运行,但作为人工智能云服务系统的作业镜像管理系统,还需要保证能够正确运行的用户自定义作业镜像满足一定的安全性,从而降低人工智能云服务系统使用用户自定义作业镜像创建人工智能作业的风险和隐患,进一步地,在具体实现中,步骤S30具体包括以下子步骤:
子步骤S301:镜像管理系统根据用户自定义作业镜像的信息获取自定义作业镜像;
可理解的是,镜像管理系统要想对用户自定义作业镜像进行安全性验证,就需要先从预设存储系统中获取用户自定义作业镜像,然后再基于用户自定义作业镜像中的计算机程序和计算机文件内容进行安全性验证。
在具体实现中,镜像管理系统会根据名称为"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像的相关信息来通过预设存储系统来获取该用户自定义作业镜像。
子步骤S302:由所述镜像管理系统采用漏洞扫描软件检查所述自定义作业镜像中的计算机程序是否包含有漏洞;
可理解的是,用户自定义作业镜像存在安全性的风险,一方面是因为用户在修改定制用户自定义作业镜像的过程中,安装的计算机程序中包含有漏洞,这些漏洞可能会被恶意利用,从而对人工智能云服务系统造成无法预料的后果,因此,镜像管理系统会检查用户自定义作业镜像中安装的计算机程序是否含有漏洞。
在具体实现中,镜像管理系统会获取名称为"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像中安装的计算机程序,然后使用漏洞扫描软件(比如Scanv漏洞扫描软件)来检查这些计算机程序中是否包含有漏洞。
子步骤S303:采用病毒扫描软件检查所述自定义作业镜像中的计算机程序是否包含有病毒;
可理解的是,用户自定义作业镜像存在安全性的风险,另一方面是因为用户在修改定制用户自定义作业镜像的过程,安装的计算机程序或添加的计算机文件中包含有计算机病毒,这些计算机病毒可能会在未来的某个时刻爆发,从而对人工智能云服务系统造成无法预料的后果,因此,镜像管理系统会检查用户自定义作业中安装的计算机程序和添加的计算机文件中是否包含有计算机病毒。
在具体实现中,镜像管理系统会获取名称为
"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像中安装的计算机程序和添加的计算机文件,然后使用病毒扫描软件(比如ClamAntiVirus反病毒软件包)来检查这些计算机程序和计算机文件中是否包含有病毒。
子步骤S304:若所述自定义作业镜像中不包括漏洞和病毒,则判定安全性验证通过,否则安全性验证不通过。
可理解的是,镜像管理系统通过使用漏洞扫描软件和病毒扫描软件,即可判断出用户自定义作业镜像中是否包含有漏洞和病毒,从而判断用户自定义作业镜像是否满足安全性。
在具体实现中,如果镜像管理系统根据检查结果判断名称为"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像中既不包含漏洞,也不包含病毒,则验证结果为该用户自定义作业镜像满足安全性,否则为不满足安全性。
镜像管理系统通过对用户自定义作业镜像进行安全性验证,并通过只允许导入满足安全性要求的用户自定义作业镜像,而拒绝导入不满足安全性要求的用户自定义作业镜像,从而确保了人工智能云服务系统使用的用户自定义作业镜像的安全性。
步骤S40:由所述镜像管理系统在所述自定义作业镜像的正确性和安全性均验证通过时,将所述自定义作业镜像导入到所述镜像管理系统。
本实施例通过在镜像管理系统中预置常用的人工智能作业镜像供用户使用,并支持用户基于系统预置作业镜像修改定制成为满足个性化需求的自定义作业镜像并上传到镜像管理系统中,以便在人工智能云服务系统中选择使用这些作业镜像,从而扩大人工智能云服务系统的应用范围;并通过镜像管理系统的正确性验证机制和安全性验证机制分别对自定义作业镜像的正确性和安全性进行验证,以确保只有满足正确性要求和安全性要求的自定义作业镜像才能被上传到镜像管理系统中;
通过使用本实施例公开的人工智能作业镜像管理方法,能够有效地扩大人工智能云服务系统的应用范围,确保人工智能云服务系统使用自定义作业镜像创建的人工智能作业能够成功运行,以及降低人工智能云服务系统使用自定义作业镜像的安全风险。
进一步地,参考图4,基于上述人工智能作业镜像管理方法的第一实施例,提出本发明的人工智能作业镜像管理方法第二实施例,本实施例的人工智能作业镜像管理方法还包括:
步骤S501:由所述人工智能云服务系统从所述镜像管理系统获取所有作业镜像的信息以供用户选择使用;
可理解的是,人工智能云服务系统主要用于使用镜像管理系统提供的作业镜像创建并运行人工智能作业。如果人工智能云服务系统使用镜像管理系统来管理系统预置作业镜像和用户自定义作业镜像,则用户在人工智能云服务系统中创建人工智能作业之前,人工智能云服务系统需要先通过镜像管理系统获取所有的系统预置作业镜像和属于该用户的用户自定义作业镜像的相关信息。
在具体实现中,用户在人工智能云服务系统中进入到深度学习推理服务作业创建页面时,人工智能云服务系统就会通过请求镜像管理系统来获取系统预置的作业镜像的信息和属于该用户的用户自定义作业镜像的信息。
步骤S502:由所述人工智能云服务系统获取用户选择的目标作业镜像的信息并提交给镜像管理系统;
在具体实现中,用户可以在人工智能云服务系统中的深度学习推理服务作业创建页面中指定使用名称为"tensorflow_py3_gpu:1.0.0"的系统预置作业镜像或名称为"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像来创建推理服务作业,人工智能云服务系统会把用户指定的作业镜像的相关信息发送给镜像管理系统以获取相应的作业镜像。
步骤S503:由所述镜像管理系统根据接收到的目标作业镜像的信息从所述预设存储系统中获取对应的模板作业镜像并提交至所述人工智能云服务系统;
在具体实现中,镜像管理系统接收到作业镜像的相关信息之后,会通过预设存储系统来下载获取作业镜像,如果接收到的信息中的镜像名称是"tensorflow_py3_gpu:1.0.0",则存储系统会下载获取/public目录下的名称为"tensorflow_py3_gpu:1.0.0"的系统预置作业镜像,如果接收到的信息中的镜像名称是"user_tensorflow_py3_gpu:1.0.0",则存储系统会下载获取/user/123目录下的名称为"user_tensorflow_py3_gpu:1.0.0"的用户自定义作业镜像,并把下载获取好的作业镜像返回给人工智能云服务系统。
步骤S504:由所述人工智能云服务系统使用接收到的所述目标作业镜像创建人工智能作业。
在具体实现中,人工智能云服务系统接收到镜像管理系统返回的作业镜像之后,即可使用该作业镜像和深度学习推理服务作业创建信息中的其它数据信息来创建深度学习推理服务作业并运行作业了。
人工智能云服务系统通过使用镜像管理系统来管理作业镜像,并通过在镜像管理系统中导入系统预置作业镜像,可以让不熟悉作业镜像制作的非专业用户也能方便地使用系统预置作业镜像来创建人工智能作业,并通过使用镜像管理系统的用户自定义作业镜像功能,可以让用户方便地制作和使用满足个性化需求的用户自定义作业镜像来创建人工智能作业,从而达到扩大人工智能云服务系统的应用范围和大幅度降低人工智能云服务系统使用用户自定义作业镜像的安全隐患的目的。
进一步地,参考图4,本发明还提出一种人工智能作业镜像管理系统,所述人工智能作业镜像管理系统包括人工智能云服务系统10、镜像管理系统20、和预设存储系统30,所述人工智能云服务系统10与所述镜像管理系统20交互,以实现获取作业镜像信息、以及获取作业镜像等功能。
所述镜像管理系统20,用于接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,所述系统预置作业镜像为已导入到所述人工智能云服务系统的作业镜像;
所述镜像管理系统20,用于根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证;
所述镜像管理系统20,用于采用预设扫描软件对所述自定义作业镜像进行安全性验证;
所述镜像管理系统20,用于在所述自定义作业镜像的正确性和安全性均验证通过时,将所述自定义作业镜像导入到所述镜像管理系统。
在具体实现中,可参照本实施例上述人工智能作业镜像管理方法的实施例,镜像管理系统20与预设存储系统30交互,以实现对作业镜像的导入、验证、查询、下载获取等功能。所述预设存储系统30包括用于存储作业镜像的镜像存储系统(如Docker镜像仓库),以及用于存储作业镜像的相关信息的数据存储系统(如MySQL关系型数据库)。
具体地,所述镜像管理系统20用于根据所述自定义作业镜像的信息判断所述自定义作业镜像是否已上传到预设存储系统;根据所述自定义作业镜像的信息获取所述自定义作业镜像和所述自定义作业镜像对应的目标预置作业镜像;比较所述自定义作业镜像和所述目标预置作业镜像之间的文件;在所述自定义作业镜像中包含且没有修改或删除所述目标预置作业镜像中所包含的所有文件时,判定正确性验证通过。
通过使用本实施例公开的人工智能作业镜像管理系统,能够有效地扩大人工智能云服务系统的应用范围,确保人工智能云服务系统使用自定义作业镜像创建的人工智能作业能够成功运行,以及降低人工智能云服务系统使用自定义作业镜像的安全风险。
进一步地,一实施例中,所述人工智能云服务系统10与所述镜像管理系统20交互,以实现获取作业镜像等功能。
所述人工智能云服务系统10,用于从所述镜像管理系统获取所有作业镜像的信息以供用户选择使用;
所述人工智能云服务系统10,还用于获取用户选择的目标作业镜像的信息并提交给镜像管理系统;
所述镜像管理系统20,还用于根据接收到的目标作业镜像的信息从所述预设存储系统中获取对应的模板作业镜像并提交至所述人工智能云服务系统;
所述人工智能云服务系统10,还用于使用接收到的所述目标作业镜像创建人工智能作业。
用户在人工智能云服务系统10中进入到人工智能作业创建页面时,人工智能云服务系统10会与镜像管理系统20进行交互,以获取系统预置作业镜像或用户自定义作业镜像的信息以供用户选择使用,并在用户提交了人工智能作业创建信息之后,请求镜像管理系统20以下载获取用户选择的作业镜像,进而可以让用户方便地使用满足个性化需求的用户自定义作业镜像来创建人工智能作业,从而达到扩大人工智能云服务系统的应用范围和大幅度降低人工智能云服务系统使用用户自定义作业镜像的安全隐患的目的。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种人工智能作业镜像管理方法,其特征在于,所述方法包括:
由所述镜像管理系统接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,所述系统预置作业镜像为已导入到所述镜像管理系统的作业镜像;
由所述镜像管理系统根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证;
由所述镜像管理系统采用预设扫描软件对所述自定义作业镜像进行安全性验证;
由所述镜像管理系统在所述自定义作业镜像的正确性和安全性均验证通过时,将所述自定义作业镜像导入到所述镜像管理系统;
其中,所述根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证的步骤,具体包括:
由所述镜像管理系统根据所述自定义作业镜像的信息判断所述自定义作业镜像是否已上传到预设存储系统;
根据所述自定义作业镜像的信息获取所述自定义作业镜像和所述自定义作业镜像对应的目标预置作业镜像;
比较所述自定义作业镜像和所述目标预置作业镜像之间的文件;
在所述自定义作业镜像中包含且没有修改或删除所述目标预置作业镜像中所包含的所有文件,判定正确性验证通过;
其中,所述采用预设扫描软件对所述自定义作业镜像进行安全性验证的步骤,具体包括:
由所述镜像管理系统采用漏洞扫描软件检查所述自定义作业镜像中的计算机程序是否包含有漏洞;
采用病毒扫描软件检查所述自定义作业镜像中的计算机程序是否包含有病毒;
若所述自定义作业镜像中不包括漏洞和病毒,则判定安全性验证通过。
2.如权利要求1所述的方法,其特征在于,所述接收用户基于下载的系统预置作业镜像生成自定义作业镜像的信息的步骤,具体包括:由所述镜像管理系统响应用户输入的下载指令,把用户从所述镜像管理系统中选取的系统预置作业镜像下载到用户本地;接收用户输入的基于下载的系统预置作业镜像进行修改生成的自定义作业镜像的信息。
3.如权利要求1所述的方法,其特征在于,镜像管理系统与人工智能云服务系统交互,所述方法还包括:由所述人工智能云服务系统从所述镜像管理系统获取所有作业镜像的信息以供用户选择使用;
由所述人工智能云服务系统获取用户选择的目标作业镜像的信息并提交给镜像管理系统;
由所述镜像管理系统根据接收到的目标作业镜像的信息从所述预设存储系统中获取对应的模板作业镜像并提交至所述人工智能云服务系统;
由所述人工智能云服务系统使用接收到的所述目标作业镜像创建人工智能作业。
4.如权利要求1-3任一项所述的方法,其特征在于,所述系统预置作业镜像至少包括操作系统、人工智能作业引擎和人工智能作业运行时库。
5.一种人工智能作业镜像管理系统,其特征在于,所述人工智能作业镜像管理系统包括镜像管理系统;
所述镜像管理系统,用于接收用户基于下载的系统预置作业镜像生成的自定义作业镜像的信息,所述系统预置作业镜像为已导入到所述镜像管理系统的作业镜像;
所述镜像管理系统,用于根据所述系统预置作业镜像和所述自定义作业镜像的信息对所述自定义作业镜像进行正确性验证;
所述镜像管理系统,用于采用预设扫描软件对所述自定义作业镜像进行安全性验证;
所述镜像管理系统,用于在所述自定义作业镜像的正确性和安全性均验证通过时,将所述自定义作业镜像导入到所述镜像管理系统;
其中,所述镜像管理系统,还用于根据所述自定义作业镜像的信息判断所述自定义作业镜像是否已上传到预设存储系统;根据所述自定义作业镜像的信息获取所述自定义作业镜像和所述自定义作业镜像对应的目标预置作业镜像;比较所述自定义作业镜像和所述目标预置作业镜像之间的文件;在所述自定义作业镜像中包含且没有修改或删除所述目标预置作业镜像中所包含的所有文件时,判定正确性验证通过;
其中,所述采用预设扫描软件对所述自定义作业镜像进行安全性验证,具体包括:
由所述镜像管理系统采用漏洞扫描软件检查所述自定义作业镜像中的计算机程序是否包含有漏洞;
采用病毒扫描软件检查所述自定义作业镜像中的计算机程序是否包含有病毒;
若所述自定义作业镜像中不包括漏洞和病毒,则判定安全性验证通过。
6.如权利要求5所述的人工智能作业镜像管理系统,其特征在于,所述预设存储系统包括用于存储作业镜像的镜像存储系统,以及用于存储作业镜像的信息的数据存储系统。
7.如权利要求5或6所述的人工智能作业镜像管理系统,其特征在于,所述人工智能作业镜像管理系统还包括人工智能云服务系统,所述镜像管理系统与所述人工智能云服务系统交互;
所述人工智能云服务系统,用于从所述镜像管理系统获取所有作业镜像的信息以供用户选择使用;
所述人工智能云服务系统,还用于获取用户选择的目标作业镜像的信息并提交给镜像管理系统;
所述镜像管理系统,还用于根据接收到的目标作业镜像的信息从所述预设存储系统中获取对应的模板作业镜像并提交至所述人工智能云服务系统;
所述人工智能云服务系统,还用于使用接收到的所述目标作业镜像创建人工智能作业。
CN202010963943.XA 2020-09-14 2020-09-14 一种人工智能作业镜像管理方法和系统 Active CN112181721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010963943.XA CN112181721B (zh) 2020-09-14 2020-09-14 一种人工智能作业镜像管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010963943.XA CN112181721B (zh) 2020-09-14 2020-09-14 一种人工智能作业镜像管理方法和系统

Publications (2)

Publication Number Publication Date
CN112181721A CN112181721A (zh) 2021-01-05
CN112181721B true CN112181721B (zh) 2024-03-19

Family

ID=73921857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010963943.XA Active CN112181721B (zh) 2020-09-14 2020-09-14 一种人工智能作业镜像管理方法和系统

Country Status (1)

Country Link
CN (1) CN112181721B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713516A (zh) * 2017-03-31 2017-05-24 山东超越数控电子有限公司 一种oVirt云平台计算节点镜像快速制作的方法
CN107888695A (zh) * 2017-11-23 2018-04-06 新华三云计算技术有限公司 云平台创建镜像的方法和云平台设备
CN108958892A (zh) * 2018-08-14 2018-12-07 郑州云海信息技术有限公司 一种创建用于深度学习作业的容器的方法和装置
CN109344006A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种镜像管理方法及镜像管理模块
WO2019095936A1 (zh) * 2017-11-15 2019-05-23 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、服务器、装置及存储介质
CN111324360A (zh) * 2020-01-09 2020-06-23 华中科技大学 一种面向边缘计算的容器镜像构建方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713516A (zh) * 2017-03-31 2017-05-24 山东超越数控电子有限公司 一种oVirt云平台计算节点镜像快速制作的方法
WO2019095936A1 (zh) * 2017-11-15 2019-05-23 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、服务器、装置及存储介质
CN107888695A (zh) * 2017-11-23 2018-04-06 新华三云计算技术有限公司 云平台创建镜像的方法和云平台设备
CN108958892A (zh) * 2018-08-14 2018-12-07 郑州云海信息技术有限公司 一种创建用于深度学习作业的容器的方法和装置
CN109344006A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种镜像管理方法及镜像管理模块
CN111324360A (zh) * 2020-01-09 2020-06-23 华中科技大学 一种面向边缘计算的容器镜像构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种概率模型的Docker镜像删减策略;周毅等;《小型微型计算机系统》;第39卷(第9期);第1908-1913页 *

Also Published As

Publication number Publication date
CN112181721A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
US11921497B2 (en) Zero footprint robotic process automation system
US11243803B2 (en) Platform agnostic robotic process automation
US11954514B2 (en) Robotic process automation system with separate code loading
US8856737B2 (en) Techniques for displaying customizations for composite applications
US20080127175A1 (en) Packaging software products as single-file executables containing scripting logic
US9015496B2 (en) MIME handling security enforcement
US8429756B2 (en) Security restrictions on binary behaviors
US20070073724A1 (en) System and method for automatic or semi-automatic software integration
US20100242034A1 (en) Distributing software products as an executable containing script logic with external resources
US11301224B1 (en) Robotic process automation system with a command action logic independent execution environment
AU2021206497B2 (en) Method and apparatus for authority control, computer device and storage medium
KR101596257B1 (ko) 소프트웨어 제품 라인에 기반한 서비스 개발 시스템 및 방법
CN112181721B (zh) 一种人工智能作业镜像管理方法和系统
CN110275923B (zh) 插件化图形的管理方法及设备
CN110889670A (zh) 一种服务审批系统、方法、装置及计算机可读存储介质
US11366658B1 (en) Seamless lifecycle stability for extensible software features
CN116820663A (zh) 镜像构建方法、设备、存储介质及装置
CN113391921A (zh) 一种应用实例的资源配额校验方法
CN112068895A (zh) 代码配置方法、装置、视频播放设备及存储介质
CN112596816A (zh) 一种表单处理方法、装置和电子设备
CN117008890B (zh) 扩展应用开发系统及方法
CN117520021B (zh) 一种Java系统消息推送方法、装置、设备及介质
CN115309376B (zh) 一种应用创建方法、装置、电子设备及存储介质
CN113922964B (zh) 基于rpa及ai的机器人功能处理方法、装置、设备及介质
Olaoye Continuous Delivery Pipelines for iOS App Development

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