一种模型容器加密与部署系统的制作方法

文档序号:29494965发布日期:2022-04-06 14:51阅读:103来源:国知局
一种模型容器加密与部署系统的制作方法

1.本发明属于计算机应用技术领域,具体涉及一种模型容器加密与部署系统。


背景技术:

2.当前通常使用容器(docker)技术将模型以及其依赖包封装到一个可移植的镜像中,然后部署到k8s集群中。在k8s集群上部署容器主要有两种方法,一是直接编写部署(deployment)的配置文件,并通过kubectl应用该配置文件部署容器;二是通过可视化界面配置部署的参数,后台自动生成该部署的配置文件。第二种部署方式是对第一种部署方式的简化,二者通过不同的方式将容器的名称、标签、镜像、镜像抓取策略、容器端口号、节点端口号、副本数等信息存储到配置文件中,由kubectl应用该配置文件。
3.为了避免开发者的模型容器在向甲方交付时被第三方窃取,需要对容器中的模型进行加密,目前对容器加密的方式主要为使用加密算法对容器文件本身进行加密,在部署前通过解密算法对容器进行解密。
4.中国专利“cn 111930388一种基于k8s、docker容器的持续化集成方法和系统”提供了一种基于利用yaml文件配置创建容器的方法,此专利通过将git服务器、nereus平台、镜像仓库以及k8s集群依次连接,然后创建容器,启动容器,部署到k8s集群中进行管理,支持java、python、vue等代码的发布、上线、回滚。
5.通过配置文件进行容器部署的方法需要专业的运维人员来编写配置文件,在缺乏运维人员且要部署大量模型容器的场景下,需要模型部署人员与模型开发人员进行大量沟通,导致部署效率较低,亟需模型容器自动化部署技术;当前的模型容器加密技术安全性较低,模型开发人员不愿向甲方交付无加密措施的模型容器。


技术实现要素:

6.(一)要解决的技术问题
7.本发明要解决的技术问题是:如何设计一种模型开发方加密模型容器、模型管理方自动部署模型容器并解密的模型部署应用系统,提升模型的安全性,解决大批量模型容器部署效率低的问题。
8.(二)技术方案
9.为了解决上述技术问题,本发明提供了一种模型容器加密与部署系统,包括模型开发模块与模型管理模块,其中,所述模型开发模块用于:
10.使用sm2和sm4混合加密方法对模型的输出结果进行加密,并根据所使用的编程语言编译为可执行文件;
11.根据模型的编程语言采用不同框架将模型转换为可远程调用的web服务,并将模型以及模型的依赖文件封装到容器中;
12.编写模型容器部署所需的配置文件,配置文件中应包含:模型名称、镜像名称、镜像抓取策略、容器端口号、运行命令、环境变量、容器副本数、容器运行所需的硬件资源、数
据卷这些信息,确保容器管理模块可通过该配置文件自动部署模型容器,同时模型开发方需向模型管理模块提供模型的设计文档、使用说明、测试文档文件;
13.通过可视化界面向模型管理模块提供所述硬件资源,存储在模型资源管理平台中;所述模型开发模块的信息包括模型开发模块的名称、地址、联系电话、开发业务这些信息;
14.模型管理模块用于查找模型资源库中的模型信息,根据业务需求通过可视化界面部署相应模型,可根据可用节点端口号、已使用节点端口号、所需端口数量自动推荐模型容器的节点端口号,实现容器的自动部署;所述模型信息包括模型的名称、功能、编程语言、版本号、配置文件地址、镜像名称、镜像地址这些信息。
15.优选地,所述可用节点端口号包括所存储和更新k8s集群的可对外提供服务的节点端口号。
16.优选地,所述已使用节点端口号包括所存储和更新的k8s集群中已经使用的节点端口号。
17.优选地,还包括模型使用模块、gateway网关,用于通过gateway网关访问k8s集群中已经部署的模型实例,gateway网关中的模型解密算法自动将模型输出结果解密并发送给模型使用模块。
18.优选地,模型开发模块采用的sm2和sm4混合加密方法中,使用对称加密sm4算法加密模型输出结果得到加密的输出结果,使用非对称加密sm2算法对sm4密钥进行加密得到加密的密钥串,并把经过sm4加密的输出结果和经过sm2加密的密钥串封装并输出,为编译提供数据。
19.优选地,模型开发模块采用的sm2和sm4混合加密方法具体为:
20.(1)模型管理模块始化sm2密钥对,私钥保存到gateway网关,公钥发放给模型开发模块;
21.(2)模型开发模块使用sm4算法,初始化得到sm4密钥,并使用sm4密钥对输出结果进行加密,得到加密的输出结果;
22.(3)模型开发模块得到sm2公钥,并使用sm2公钥对sm4密钥进行加密,得到加密的sm4密钥块;
23.(4)模型开发模块把sm4密钥块和加密的输出结果封装成加密数据块,作为模型的结果输出,为编译提供数据。
24.优选地,gateway网关进行模型解密时:
25.(1)模型使用模块通过gateway网关服务,请求模型服务接口;
26.(2)gateway网关拦截请求后,转发到对应的模型服务;
27.(3)模型原型根据用户输入的参数,执行输出,模型输出全局拦截服务拦截到输出接口后,对需要加密的输出结果进行加密,并输出到gateway网关;
28.(4)gateway网关接收到加密的数据块,通过解析得到sm4密钥块和加密的输出结果;
29.(5)gateway网关从所述模型资源管理平台获取sm2私钥,并使用sm2私钥对sm4密钥块进行解密,得到sm4密钥;
30.(6)gateway网关使用得到的sm4密钥,对输出结果进行解密得到解密的模型输出
结果,并发送给模型的使用者。
31.优选地,模型使用模块还创建用于保存模型路由信息的数据结构。
32.优选地,所述路由信息包含访问前缀、路由id、路由名称、转发url信息。
33.本发明还提供了一种所述系统在计算机应用技术领域中的应用。
34.(三)有益效果
35.本发明通过创新模型容器部署流程和自动推荐节点端口号的方式,实现了模型容器的自动部署,降低了模型管理方的管理难度,提升了大批量模型容器的部署速度;同时使用sm2与sm4混合加密的方式,确保了容器中模型的安全性,其中sm4加密算法加密速度快但安全性较低且密钥管理复杂,sm2为非对称加密算法,安全性高且密钥管理简单,但对大块数据的加密与解密速度较慢,使用二者的混合加密算法可以实现快速且安全性高的模型加密方式;通过gateway网关的解密方式确保了模型生产方开发的模型容器只能在模型管理方的k8s集群中运行,保护了模型生产方的知识产权。
36.本发明的系统将模型生产方提交的模型容器以及文档存放到模型资源管理平台中,既可以实现对模型资源的管理,也可以通过拉取模型生产方提供的配置文件的方式实现模型容器的自动部署,解决了模型管理方大批量模型容器部署速度慢的问题;使用sm2与sm4混合加密算法加密模型的方式也确保了模型生成方的模型只能在模型管理方的k8s集群中运行,保证了模型的安全性。
附图说明
37.图1为本发明的系统主要实现过程图;
38.图2为本发明的模型加密算法示意图;
39.图3为本发明的模型输出解密算法示意图。
具体实施方式
40.为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
41.如图1所示,本发明提出的一种模型容器加密与部署系统,包括模型开发方的模型开发模块与模型管理方的模型管理模块,还包括模型使用模块、gateway网关,其中,模型开发模块用于:
42.(1)使用sm2和sm4混合加密方法对模型的输出结果进行加密,并根据所使用的编程语言编译为可执行文件;
43.(2)根据模型的编程语言采用不同框架将模型转换为可远程调用(rpc)的web服务,并将模型以及模型的依赖文件封装到容器中;
44.(3)编写模型容器部署所需的配置文件,配置文件中应包含:模型名称、镜像名称、镜像抓取策略、容器端口号、运行命令、环境变量、容器副本数、容器运行所需的硬件资源、数据卷等信息,确保模型管理方可通过该配置文件自动部署模型容器。同时模型开发方需向模型管理方提供模型的设计文档、使用说明、测试文档等文件;
45.(4)通过可视化界面向模型管理方提供步骤3中的资源,并存储在模型资源管理平台中,在本发明中,创建了以下数据结构:
46.模型开发模块信息包括模型开发模块的名称、地址、联系电话、开发业务等基本信息;
47.模型信息:用于记录模型的名称、主要功能、编程语言、版本号、配置文件地址、镜像名称、镜像地址等信息;
48.配置文件库:用于记录模型部署配置文件的存储地址;
49.模型镜像库:用于保存模型镜像文件的名称与存储地址。
50.模型管理方的模型管理模块用于查找模型资源库中的模型信息,根据业务需要通过可视化界面部署相应模型,系统可根据可用节点端口号(nodeport)、已使用节点端口号、所需端口数量自动推荐该模型容器的节点端口号,实现容器的自动部署,本发明中,创建了以下数据结构:
51.可用节点端口号:用于存储和更新k8s集群的可对外提供服务的节点端口号;
52.已使用节点端口号:用于存储和更新k8s集群中已经使用的节点端口号。
53.模型使用模块、gateway网关,模型使用模块通过gateway网关访问k8s集群中已经部署的模型实例,gateway网关中的模型解密算法会自动将模型的输出结果解密并发送给模型的使用者。
54.图2是本发明中的模型加密算法示意图,模型开发模块采用sm2和sm4混合加密的方法,使用对称加密sm4算法加密模型输出结果得到加密的输出结果,使用非对称加密sm2算法对sm4密钥进行加密得到加密的密钥串,并把经过sm4加密的输出结果和经过sm2加密的密钥串封装并输出,本发明提出的模型加密方法包括下列步骤:
55.(1)模型管理模块始化sm2密钥对,私钥保存到gateway网关,公钥发放给模型开发模块;
56.(2)模型开发模块使用sm4算法,初始化得到sm4密钥,并使用sm4密钥对输出结果进行加密,得到加密的输出结果;
57.(3)模型开发模块得到sm2公钥,并使用sm2公钥对sm4密钥进行加密,得到加密的sm4密钥块;
58.(4)模型开发模块把sm4密钥块和加密输出结果封装成加密数据块,作为模型的结果输出。
59.图3是本发明中的模型输出解密算法示意图,本发明提出的模型解密方法包括下列步骤:
60.(1)模型使用模块通过gateway网关服务,请求模型服务接口,本发明中,创建了以下数据结构:
61.路由信息:用于保存模型的路由信息,包含访问前缀、路由id、路由名称、转发url等信息。
62.(2)gateway网关拦截请求后,转发到对应的模型服务;
63.(3)模型原型根据用户输入的参数,执行输出,模型输出全局拦截服务拦截到输出接口后,对需要加密的输出结果进行加密,并输出到网关;
64.(4)gateway网关接收到加密数据块,通过解析得到sm4密钥块和加密的输出结果;
65.(5)gateway网关从模型资源管理平台获取sm2私钥,并使用sm2私钥对sm4密钥块进行解密,得到sm4密钥;
66.(6)gateway网关使用得到的sm4密钥,对输出结果进行解密得到解密的模型输出结果,并发送给模型使用模块。
67.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1