掌桥专利:专业的专利平台
掌桥专利
首页

一种联合建模的实现方法、装置、设备和介质

文献发布时间:2023-06-19 09:24:30


一种联合建模的实现方法、装置、设备和介质

技术领域

本发明实施例涉及机器学习技术,尤其涉及一种联合建模的实现方法、装置、设备和介质。

背景技术

多方联合建模技术,是基于多方数据进行联合建模来训练模型的技术方案。但是,各方拥有的数据,都是宝贵资源,不希望被其他方获取。

针对上述需求,现有联合建模普遍采用两种方案来解决:1)密码学方案和2)可信执行环境方案。

密码学方案是指借助密钥分享、混淆电路、同态加密、零知识证明等前沿密码学和安全计算技术,实现安全的数据碰撞、数据查询、数据建模和模型部署功能。其特点是:参与数据分享的各方底层明细数据和原始数据均不出计算节点,所有的计算在密文状态下进行,查询方仅能获取查询和计算的结果。但密码学数据的计算量和通信量大,所以此建模方案的性能较差。

可信执行环境方案是通过硬件机制来提供可信的计算环境,将各方数据传输至可信计算环境中进行联合建模训练。但是,该方案强烈依赖可信硬件,如SGX,资源成本比较高。

因此,现有技术需要提供一种综合性能较好的联合建模分析解决方案。

发明内容

本发明实施例提供一种联合建模的实现方法、装置、设备和介质,以优化安全性、数据计算量和设备成本的综合性能。

第一方面,本发明实施例提供了一种联合建模的实现方法,由联合建模处理平台执行,该方法包括:

获取建模发起方发送的联合建模请求,其中,所述联合建模请求涉及至少两个建模参与方作为数据提供方;

通过配置在所述联合建模处理平台中的软件运行框架,根据所述联合建模请求从安全算法库中获取模型算子,并组建形成待训练模型;

通过所述软件运行框架中的解析器,解析所述待训练模型中设定代码格式的模型算子,以运行所述模型算子;

在所述模型算子产生数据读取需求时,将所述建模参与方提供的数据加密文件传输至解密服务端,并获取反馈的解密数据;

采用所述解密数据进行模型训练,以获取训练完成后的联合建模模型。

第二方面,本发明实施例提供了一种联合建模的实现装置,配置于联合建模处理平台,所述装置包括:

建模请求获取模块,用于获取建模发起方发送的联合建模请求,其中,所述联合建模请求涉及至少两个建模参与方作为数据提供方;

训练模型组建模块,用于通过配置在所述联合建模处理平台中的软件运行框架,根据所述联合建模请求从安全算法库中获取模型算子,并组建形成待训练模型;

模型算子解析模块,用于通过所述软件运行框架中的解析器,解析所述待训练模型中设定代码格式的模型算子,以运行所述模型算子;

数据读取解密模块,用于在所述模型算子产生数据读取需求时,将所述建模参与方提供的数据加密文件传输至解密服务端,并获取反馈的解密数据;

模型训练模块,用于采用所述解密数据进行模型训练,以获取训练完成后的联合建模模型。

第三方面,本发明实施例提供了一种设备,包括:

一个或多个处理装置;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现本发明任意实施例所提供的联合建模的实现方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现本发明任意实施例所提供的联合建模的实现方法。

本发明实施例的技术方案,在接收到联合建模请求时,通过建模处理平台的软件运行框架从安全算法库中获取模型算子,再根据软件运行框架中的解析器进行解析从而运行相应的模型算子,保障了用户进行建模的模型算子通过本平台的解析器可解析并运行,保护了建模过程的保密性;在读取数据时,解密服务端根据加密文件进行解密,并反馈解密数据,由解密服务端进行数据解密,保证了数据的安全性;根据解密数据进行模型训练和联合建模。本发明实施例的技术方案所提供的联合建模的实现方法,不依赖于额外的硬件设备,实现成本低,方法适用性广;建模所需的模型算子及数据均是由联合建模处理平台进行解析、解密等操作,数据计算量小、通信量小,实现方法效率高、安全性强。

附图说明

图1A是本发明实施例一中的一种联合建模的实现方法的流程图;

图1B是本发明实施例一中的一种联合建模处理平台的示意图;

图2A是本发明实施例二中的一种联合建模的实现方法的流程图;

图2B是本发明实施例二中的一种联合建模的实现方法的示例图;

图3是本发明实施例三中的一种联合建模的实现方法的流程图;

图4是本发明实施例四中的一种联合建模的实现装置的结构示意图;

图5是本发明实施例五中的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1A为本发明实施例一提供的一种联合建模的实现方法的流程图,本实施例可适用于多方数据进行联合建模的情况,联合建模的实现方法具体由联合建模的实现装置来实现,该装置可以通过软件和/或硬件的方式实现,集成于联合建模处理平台中,通过与多个数据提供方交互来完成。联合建模处理平台例如可以由具备模型训练处理能力的服务器或服务器集群来实现。本实施例的方法具体包括:

S110、获取建模发起方发送的联合建模请求。

其中,所述联合建模请求涉及至少两个建模参与方作为数据提供方,联合建模请求的发起方可以是或不是其中一个数据提供方。建模参与方作为数据提供方时,需要将自己的数据提供用于作为联合建模的样本数据。

联合建模请求中可包括建模参与方的标识信息,例如,建模参与方在联合建模处理平台进行注册的账号,以及账号对应的姓名、手机号或者身份证号等信息;还可以包括联合建模对模型的要求,例如所需要的模型算子或算法、训练模型存储的位置以及建模数据的存储位置等配置信息。

可选的,建模发起方可通过联合建模处理平台发起联合建模请求。如,点击联合建模处理平台的请求按钮,或者通过下拉菜单的形式选择相应的模式并发起联合建模请求,如点击“确定”或“发起请求”按钮,或者通过输入框输入相应内容从而发起联合建模请求,或者通过联合建模处理平台选择“新建一个联合建模项目”的形式发起联合建模请求,或者通过触摸屏的形式进行,或者通过编程的方式进行,或者其他任意形式发起联合建模请求。

S120、通过配置在所述联合建模处理平台中的软件运行框架,根据所述联合建模请求从安全算法库中获取模型算子,并组建形成待训练模型。

其中,联合建模处理平台,是用于进行联合建模的平台。软件运行框架是配置于联合建模处理平台中的,用于为联合建模过程提供各个用于运行的接口,用于关联用户操作与内部算法,还用于将接收到的算法解析为可执行模式运行。安全算法库用于提供联合建模过程所需要的各种算法,以及为在建模过程提供安全屏障,如,对各种算法进行代码安全加固,用于保护建模的各个环节的私密性和安全性。模型算子,即联合建模时所用到的算法,可以是安全算法库中原有的算子,也可以是用户上传至安全算法库中的算子。模型算子可以是实现某种机器学习算法的代码程序,也可以是实现某种数据处理功能的代码程序。供用户选择并组合形成待训练模型。

可选的,安全算法库中的模型算子文件可以是基于原生的tensorflow、sklearn、xgboost、paddle算法库和架构中至少一种,来进行改造。改造时,还可以修订代码,将原代码运行过程中中间要输出的数据进行抑制。例如,对于关键词output等类似代码行,进行禁用。或添加代码,如果监测到数据输出行为,则拦截。可选的,改造时,还可以采用安全加固技术进行加固,从而避免模型算子的代码被破解、调试。

可选的,可以根据联合建模请求中建模发起方选择的安全算法库中现有的建模算子组建形成待训练模型,也可以是根据建模发起方在建模请求中自己提供的算法,或者修改、组合或关联的安全算法库中的算法,组建形成待训练模型。

可选的,当模型算子为用户自定义算子,且用户选择将其上传至安全算法库时,可以对该模型算子的使用规则进行设定,如使用群体的限制,是否付费等。

其中,待训练模型是联合建模中间过程的模型,是未完成的训练模型。

可选的,通过配置在所述联合建模处理平台中的软件运行框架,根据所述联合建模请求从安全算法库中获取模型算子,并组建形成待训练模型包括:

通过可视化人机交互界面显示各种模型算子的图标;接收用户对所述图标的选择和关联操作,作为所述联合建模请求;所述软件运行框架根据所述图标的选择和关联操作,从安全算法库中获取所述图标对应的模型算子并进行关联操作,以组件形成待训练模型。

可选的,获取模型算子,还可以是通过所述软件运行框架,对接收到的用户输入的代码形式的模型算子,转换为所述设定代码格式的模型算子;将所述模型算子添加到所述待训练模型中或所述安全算法库中,从而获取用户自定义的模型算子。再根据用户输入的代码,从安全算法库中获取模型算子,并组建形成待训练模型。其中,用户可以是当前的建模发起方,也可以是注册联合建模处理平台的其他用户。

示例性的,当建模发起方通过联合建模处理平台新建一个建模项目时,从联合建模处理平台的软件运行框架中发起建模请求,并根据指示进行建模过程各项的设置,如确定建模参与方、导入建模发起方的数据、选择或自定义模型算子等,设置完成后,发起联合建模请求。安全算法库则根据用户选择或自定义的模型算子确定在联合建模处理平台可执行的模型算子,并根据联合建模请求中的建模发起方、建模发起方的数据以及模型算子等信息组建形成待训练模型。

示例性的,用户可通过联合建模处理平台提供的UI(User Interface,用户界面),通过拖拽、点击等选中操作选中安全算法库中的至少一个模型算子,可以是组合或者关联多个模型算子,发起建模请求。

示例性的,用户还可以通过联合建模处理平台的代码输入区域,如输入框或可编辑区域中,编辑代码来选择安全算法库中的至少一种模型算子,从而发起建模请求。当用户采用编辑代码的方式选择模型算子时,联合建模处理平台可提供示例,以供用户参考或者复制。当然用户也可以选择从外部导入代码或者输入自定义代码的形式选择模型算子。

可选的,通过所述软件运行框架,接收用户输入的代码形式的模型算子,并将所述代码形式的模型算子转换为所述设定代码格式的模型算子之前,还包括:

通过所述联合建模处理平台配置的算法安装分发壳,获取用户输入的代码形式的模型算子;通过所述算法安装分发壳将所述代码形式的模型算子传输给所述软件运行框架;所述软件运行框架,将所述代码形式的模型算子转换为所述设定代码格式的模型算子。

其中,算法安装分发壳,是配置于联合建模处理平台的,用于提供对用户输入或自定义的算法或模型算子进行验证、代码安全加固等操作,从而保障用户提供的算法的安全和有效性。算法安装分发壳,可以是一种对外提供的API(Application ProgrammingInterface,应用程序编程接口),用于将用户提供的算法转换成平台内部的算法,再将其发送至软件运行框架进行加密、运行等操作。代码安全加固是对各种算法文件进行安全加固的一种方法,如可通过安全编译器、Xshell安全加固或者自定义的安全加固方法进行加固。

可选的,在通过所述联合建模处理平台配置的算法安装分发壳,获取用户输入的代码形式的模型算子之后或过程中,还包括通过所述算法安装分发壳对用户进行下述至少一项权限认证:用户身份认证;用户执行模型算子的权限认证。

其中,用户身份认证可通过验证用户注册信息来确定用户身份,还可以通过调用用户相关设备的摄像头采用人脸识别的形式进行验证,或者通过向用户注册时所使用的手机号发送验证码的形式进行验证。对用户执行模型算子的权限认证,可通过联合建模处理平台对用户对执行算子的权限的规则进行,如仅注册本平台的用户,或注册本平台且达到设定要求的用户,例如,用户等级达到5级或10级等,或用户具有符合设定的证书,或用户具有本平台算法相关领域的认证等。本发明实施例对验证的方式和内容不进行限定

S130、通过所述软件运行框架中的解析器,解析所述待训练模型中设定代码格式的模型算子,以运行所述模型算子。

其中,设定代码格式可以是Python代码对应的二进制文件,解析器用于解析所述二进制文件以获取所述Python代码的模型算子。可选的,设定代码可以是通过安全加固技术加固的代码。

示例性的,在确定模型算子后,由于安全算法库对模型算子,如采用Python编码的文件,进行了改造,将其格式修改为二进制文件,故在运行该模型算子时,还需要根据特点解析器进行解析,从而获取原Python格式文件。

安全算法库中存储的模型算子均通过格式转换变为二进制格式的,从而保障了除本联合建模处理平台之外,其他平台或软件无法解析本平台的模型算子。当用户选择安全算法库中的模型算子进行建模时,还需要通过软件运行框架中相应的解析器进行解析,从而将二进制文件转换为Python代码文件,以执行该模型算子。

其中,模型算子的数据屏幕输出功能被设置为禁止状态。具体的,在安全算法库对模型算子进行改造时,可以修订原代码,将原代码运行过程中中间要输出的数据进行抑制。例如,对于关键词output等类似代码行,进行禁用。或添加代码,如果监测到数据输出行为,则拦截。可以将原代码,如Python代码,中的输出直接重定向到/dev/null,也可以将原代码输出内容的缓冲区输出进行忽略,从而使得原代码无法输出至屏幕。

可选的,组建形成待训练模型之前,还包括:

根据当前联合建模项目的运行环境信息,以及所述建模参与方的数据加密文件中数据许可文件,进行权限认证。

其中,权限认证可包括下述至少一项:确定数据是否在有效期;当前联合建模项目的建模发起方是否符合数据应用范围;当前联合建模项目所使用的模型算子是否符合数据应用范围;当前运行环境是否为联合建模处理平台;当前运行环境的处理空间是否为设定公有空间、设定私有空间或设定可信执行环境。

其中,数据加密文件为通过联合建模处理平台的加密工具进行加密的,其可以存储在安全算法库中。

可选的,所述数据加密文件采用联合建模加密工具进行加密,以形成设定加密格式的密文数据文件和数据许可文件。

可选的,联合建模加密工具在加密时,除了生成加密文件和数据许可文件,还可以生成文件组织目录schema文件,用以指示加密文件的相对路径和MD5(Message-DigestAlgorithm,消息摘要算法)值。

其中,所述联合建模加密工具的加密技术包括下述至少一项:白盒加密、RSA加密和多种签名算法,所述联合建模加密工具采用下述至少一项附加限制:数据使用有效期限制、联合建模项目限制、建模发起方限制和运行环境限制。

可选的,数据使用有效期可以是24小时、48小时或者5天、7天等,可以由建模参与方进行设定,或者由联合建模处理平台设定。联合建模项目限制指的是当前建模参与方的建模项目是否符合加密数据的使用范围。建模发起方限制指的是当前建模发起方是否有权限使用联合建模的功能,以及是否有权限使用加密数据,或者还可以包括是否能使用安全算法库中的模型算子,或者是否有权限进行自定义模型算子。运行环境限制指的是当前建模所处的环境所能使用的安全算法库中的指定的模型算子和调用方式。运行环境限制包括判断当前运行环境是否是联合建模处理平台,当前运行环境是否是公有云、私有化存储空间、是否有SGX、是否需要进行算法认证。其中,算法认证包括SGX的认证方法和安全算法库中的签名信息,通过比较安全算法库中的签名信息和经过后续步骤重新计算的签名信息是否一致来判断当前环境是否符合规定或是否安全。

可选的,联合建模加密工具优选用C++实现。联合加密工具进行加密的过程还可以采用安全加固技术进行加固,反调试和代码加密。

可选的,联合建模加密工具仅用来进行加密,并不能提供解密功能。

示例性的,对建模参与方的数据进行加密的过程可以是,该加密工具自定义有一种安全文件格式,将原始数据加密后,形成特定后缀的密文数据文件,如后缀*.bdsf,以及该文件对应的数据许可文件,如对应的license文件,以及文件组织目录schema文件。

S140、在所述模型算子产生数据读取需求时,将所述建模参与方提供的数据加密文件传输至解密服务端,并获取反馈的解密数据。

其中,解密服务端可以是集成于所述联合建模处理平台中的虚拟机,或为独立于所述联合建模处理平台设置的服务器。

可选的,模型算子产生数据读取需求,可以是检测到相应的读取代码。

示例性的,安全算法库中的模型算子在运行时,检测到需要读取建模参与方,如建模配合方,的数据时,可基于HTTPS协议发起读取数据请求,联合建模处理平台接收到该HTTPS协议后,将密文数据读取至联合建模处理平台的设定内存处,识别密文文件的后缀,根据后缀确定是否需要进行解密,当需要解密时,将密文数据传输至解密服务端进行解密,并将解密后的数据反馈至安全算法库,解密后的文件也可通过HTTPS协议进行传输。

S150、采用所述解密数据进行模型训练,以获取训练完成后的联合建模模型。

可选的,可以采用建模发起方的建模数据、所述解密数据及所述模型算子进行模型训练,以获取训练完成后的联合建模模型。

示例性的,获取解密后的建模匹配方提供的建模数据后,将其输入模型算子中进行模型训练,并将最终生成的训练模型输出至联合建模请求中的建模发起方指定的位置。

示例性的,图1B为本发明实施例一提供的一种联合建模处理平台的示意图,如图1B所示,联合建模处理平台主要包括算法安装分发壳、API、安全算法框架和安全算法库。其中,算法安装分发壳主要用于进行用户身份认证、用户权限认证、建模项目权限认证以及代码安全加固。例如,用户在联合建模处理平台的算法安装分发壳中,通过导入外部代码的形式或者编辑的形式输入自定义模型算子,算法安装分发壳首先验证用户权限,包括,认证用户的身份和执行模型算子的权限,认证通过后,获取用户提供的模型算子,对其进行代码安全加固,并将其发送至软件运行框架,软件运行框架对其进行加密并保存至安全算法库中。从而使得其他用户在调用当前用户的模型算子时,无法获取该模型算子的源代码,保障了用户提供的算法和平台原有算法的安全和保密性。API,应用程序编程接口,主要用于对算法安装分发壳的处理逻辑进行加密,如AES256加密。安全算法框架主要用于进行代码安全加固、权限验证、执行环境认证以及数据解密。安全算法库主要用于为联合建模过程的各个算法,如模型算子,进行改造、加固和校验。具体的,安全算法库用于对自定义模型算子就进行改造将其变为二进制格式,并屏蔽屏幕输出;对解释器进行代码加固;校验算法的数据许可文件等。

本发明实施例的技术方案,在接收到联合建模请求时,通过联合建模处理平台的软件运行框架从安全算法库中获取模型算子,再根据软件运行框架中的解析器进行解析从而运行相应的模型算子,保障了用户进行建模的模型算子仅为本平台可解析并运行的,保护了建模过程的保密性;在读取数据时,解密服务端根据加密文件进行解密,并反馈解密数据,由解密服务端进行数据解密,保证了数据的安全性;根据解密数据进行模型训练和联合建模。本发明实施例的技术方案所提供的联合建模的实现方法,不依赖于额外的硬件设备,实现成本低,方法适用性广;建模所需的模型算子及数据均是由联合建模处理平台进行解析、解密等操作,数据计算量小、通信量小,实现方法效率高、安全性强。

实施例二

图2A是本发明实施例二提供的一种联合建模的实现方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化和补充,可选的,获取建模发起方发送的联合建模请求之后,还包括:通过所述软件运行框架,识别所述联合建模请求中指定的建模参与方的数据存储地址;通过所述软件运行框架,从所述数据存储地址中下载所述建模参与方的数据加密文件至所述联合建模处理平台的指定存储空间中。

如图2A所示,本实施例提供的联合建模的实现方法,包括:

S210、获取建模发起方发送的联合建模请求。

S220、通过所述软件运行框架,识别所述联合建模请求中指定的建模参与方的数据存储地址。

S230、通过所述软件运行框架,从所述数据存储地址中下载所述建模参与方的数据加密文件至所述联合建模处理平台的指定存储空间中。

其中,数据存储地址可以是指定的建模参与方的存储设备中,如对象存储设备HDFS(Hadoop分布式文件系统,Hadoop Distributed File System)。

其中,数据加密文件是指定的建模参与方的建模数据通过联合建模加密工具进行加密后产生的加密文件。

可选的,指定的建模参与方可将数据存储地址的相关链接发送至建模发起方,以是建模发起方根据链接进行数据访问或获取。

可选的,如果所述数据加密文件包括密文数据文件和数据许可文件,则从所述数据存储地址中下载所述建模参与方的数据加密文件至所述联合建模处理平台的指定存储空间中之前,还包括:通过所述软件运行框架,基于所述数据存储地址中的数据许可文件以及当前联合建模项目的运行环境信息,进行权限认证;如果权限认证通过,则触发后续下载操作。

S240、通过配置在所述联合建模处理平台中的软件运行框架,根据所述联合建模请求从安全算法库中获取模型算子,并组建形成待训练模型。

S250、通过所述软件运行框架中的解析器,解析所述待训练模型中设定代码格式的模型算子,以运行所述模型算子。

S260、在所述模型算子产生数据读取需求时,基于所述模型算子的数据读取接口进行数据读取。

S270、当通过所述数据读取接口识别到读取的数据为设定加密格式时,则确定为数据加密文件。

S280、将所述数据加密文件基于HTTPS安全传输协议传输至解密服务端,并获取反馈的解密数据。

其中,数据读取接口为模型算子的一个接口,用于关联模型算子的数据读取操作和存储在设定位置的数据。

示例性的,数据接口所映射的是建模参与方所提供的用于指示存储密文数据的链接。当检测到需要读取数据时,该接口通过该链接进行数据读取。

可选的,识别数据是否为加密文件可以根据该数据文件的后缀来确定。通常,加密工具加密生成的数据文件采用了设定的后缀。

可选的,将所述数据加密文件基于HTTPS安全传输协议传输至解密服务端,并获取反馈的解密数据包括:

通过所述数据读取接口,获取运行环境信息和数据加密文件的存储位置信息,添加到基于HTTPS安全传输协议的数据解密请求中,发送给所述解密服务端,以请求所述解密服务端根据所述运行环境信息和所述数据加密文件中的数据许可文件进行权限认证,并在权限认证通过后在内存中进行解密;通过所述数据读取接口,基于HTTPS安全传输协议接收所述解密服务端反馈的解密数据。

可选的,据所述运行环境信息和所述数据加密文件中的数据许可文件进行权限认证,包括下述至少一项:

确定数据是否在有效期;当前联合建模项目的建模发起方是否符合数据应用范围;当前联合建模项目所使用的模型算子是否符合数据应用范围;当前运行环境是否为联合建模处理平台;当前运行环境的处理空间是否为设定公有空间、设定私有空间或设定可信执行环境。

S290、采用所述解密数据进行模型训练,以获取训练完成后的联合建模模型。

示例性的,图2B是本发明实施例二提供的一种联合建模的实现方法的示例图。如图2B所示,联合建模的建模参与方包括一个建模发起方和建模配合方,建模发起方触发联合建模请求,可以是通过联合建模处理平台的交互界面进行请求的发起,如通过表单或者拖拽的形式,也可以通过编程的形式发起联合建模。建模配合方将用于联合建模的数据进行加密后,存储至外部存储介质,如BOS、HDFS等,并以链接的方式告知建模发起方数据保存的地址。当联合建模过程中需要读取建模配合方数据时,根据所提供的链接进行建模参与方加密数据的获取,通过解密服务端解密后(图中未示出),将解密后建模参与方的数据发送至联合建模处理平台的安全算法库中。安全算法库根据建模发起方提供的数据、建模配合方提供的数据以及建模请求中确定的模型算子进行联合建模,并将训练完成的模型发送至建模发起方在建模请求中所指的位置。

本发明实施例的技术方案,通过识别定的建模参与方的数据存储地址,并根据该地址将密文数据下载至联合建模处理平台的指定存储空间中,保证了数据访问的有效性、指向性和针对性,同时保存至平台的存储空间,保证了密文数据的安全和非公开性;通过数据读取接口进行数据读取,操作简单、易于实施,且进一步保证了数据内部信息的不可访问性;通过HTTPS协议进行加密文件和解密文件的传输,保障了传输过程的安全、准确度;通过设置解密服务端进行解密,保证了解密过程的相对隔离性,使得解密过程安全可靠;再根据解密数据进行联合建模训练,实现联合建模,以获取训练效果更好的模型。

实施例三

图3为本发明实施例三提供的一种联合建模的流程图。为了方便对本发明上述实施例的联合建模的实现方法的理解,本发明实施例将对采用上述实现方法的联合建模的过程进行描述。如图3所示,联合建模包括:

S310、发起联合建模请求。

具体的,建模发起方通过联合建模处理平台选择新建一个联合建模项目,并发起联合建模请求。

S320、判断建模发起方发起的联合建模请求的相关权限认证是否通过;若通过,则继续执行;若不通过则终止联合建模。

S330、导入建模发起方的建模数据,获取建模配合方的数据加密文件的链接。

S340、判断建模发起方是否自定义模型算子;若是,则跳至S342;若否,则跳至S341。

S341、建模发起方通过安全算法库中选择模型算子。

S342、建模发起方输入自定义模型算子,并将其上传至安全算法库中,并对自定义模型算子进行改造。

S350、对模型算子进行解析和运行。

S360、检测是否需要读取建模配合方数据;当检测到需要读取数据时,继续执行下一步;当未检测到时,继续执行本步骤。

S370、根据数据加密文件的链接,对数据加密文件进行读取。

S380、判断数据加密文件是否包括数据许可文件;当包括时,执行S381;不包括时,则执行S382。

S381、对数据许可文件及当前运行环境信息进行权限认证;认证通过后,则跳至S382;认证不通过则结束联合建模。

S382、将数据加密文件保存至联合建模处理平台的指定存储空间中。

S390、解密服务端对数据加密文件进行解密,并将解密后的数据反馈至安全算法库。

S400、根据建模配合方的解密后的数据进行模型训练,以获取训练完成后的联合建模模型。

将最终形成的联合建模模型发送至建模发起方,联合建模结束。

本发明实施例的技术方案,通过采用上述实施例的联合建模的实现方法进行联合建模,联合建模过程安全可靠,建模的数据及模型算子不易被泄露;且不依赖于额外的硬件设备,实现成本低,方法适用性广;建模所需的模型算子及数据均是由联合建模处理平台进行解析、解密等操作,数据计算量小、通信量小,实现方法效率高、安全性强。

实施例四

图4是本发明实施例四中的一种联合建模的实现装置的结构示意图,如图4所示,联合建模的实现装置包括:建模请求获取模块410、训练模型组建模块420、模型算子解析模块430、数据读取解密模块440和模型训练模块450。

其中,建模请求获取模块410,用于获取建模发起方发送的联合建模请求,其中,所述联合建模请求涉及至少两个建模参与方作为数据提供方;训练模型组建模块420,用于通过配置在所述联合建模处理平台中的软件运行框架,根据所述联合建模请求从安全算法库中获取模型算子,并组建形成待训练模型;模型算子解析模块430,用于通过所述软件运行框架中的解析器,解析所述待训练模型中设定代码格式的模型算子,以运行所述模型算子;数据读取解密模块440,用于在所述模型算子产生数据读取需求时,将所述建模参与方提供的数据加密文件传输至解密服务端,并获取反馈的解密数据;模型训练模块450,用于采用所述解密数据进行模型训练,以获取训练完成后的联合建模模型。

本发明实施例的技术方案,在接收到联合建模请求时,通过建模处理平台的软件运行框架从安全算法库中获取模型算子,再根据软件运行框架中的解析器进行解析从而运行相应的模型算子,保障了用户进行建模的模型算子通过本平台的解析器可解析并运行,保护了建模过程的保密性;在读取数据时,解密服务端根据加密文件进行解密,并反馈解密数据,由解密服务端进行数据解密,保证了数据的安全性;根据解密数据进行模型训练和联合建模。本发明实施例的技术方案所提供的联合建模的实现方法,不依赖于额外的硬件设备,实现成本低,方法适用性广;建模所需的模型算子及数据均是由联合建模处理平台进行解析、解密等操作,数据计算量小、通信量小,实现方法效率高、安全性强。

可选的,训练模型组建模块420,包括:

图标显示单元,用于通过可视化人机交互界面显示各种模型算子的图标;图标关联单元,用于接收用户对所述图标的选择和关联操作,作为所述联合建模请求;训练模型组建单元,用于所述软件运行框架根据所述图标的选择和关联操作,从安全算法库中获取所述图标对应的模型算子并进行关联操作,以组件形成待训练模型。

可选的,训练模型组建模块420,还包括:

模型算子处理单元,用于通过所述软件运行框架,对接收到的用户输入的代码形式的模型算子,转换为所述设定代码格式的模型算子;将所述模型算子添加到所述待训练模型中或所述安全算法库中。

可选的,模型算子处理单元,还用于:

在通过所述软件运行框架,接收用户输入的代码形式的模型算子,并将所述代码形式的模型算子转换为所述设定代码格式的模型算子之前,通过所述联合建模处理平台配置的算法安装分发壳,获取用户输入的代码形式的模型算子;通过所述算法安装分发壳将所述代码形式的模型算子传输给所述软件运行框架;所述软件运行框架,将所述代码形式的模型算子转换为所述设定代码格式的模型算子。

可选的,联合建模的实现装置,还包括:

权限认证模块,用于通过所述算法安装分发壳对用户进行下述至少一项权限认证:用户身份认证;用户执行模型算子的权限认证。

其中,所述设定代码格式为Python代码对应的二进制文件,所述解析器用于解析所述二进制文件以获取所述Python代码的模型算子。所述模型算子的数据屏幕输出功能被设置为禁止状态。

可选的,权限认证模块,还用于:

在组建形成待训练模型之前,根据当前联合建模项目的运行环境信息,以及所述建模参与方的数据加密文件中数据许可文件,进行权限认证。

可选的,联合建模的实现装置,还包括:

建模数据存储模块,用于在获取建模发起方发送的联合建模请求之后,通过所述软件运行框架,识别所述联合建模请求中指定的建模参与方的数据存储地址;通过所述软件运行框架,从所述数据存储地址中下载所述建模参与方的数据加密文件至所述联合建模处理平台的指定存储空间中。

可选的,权限认证模块,还用于:

如果所述数据加密文件包括密文数据文件和数据许可文件,则从所述数据存储地址中下载所述建模参与方的数据加密文件至所述联合建模处理平台的指定存储空间中之前,通过所述软件运行框架,基于所述数据存储地址中的数据许可文件以及当前联合建模项目的运行环境信息,进行权限认证;如果权限认证通过,则触发后续下载操作。

其中,所述数据加密文件采用联合建模加密工具进行加密,以形成设定加密格式的密文数据文件和数据许可文件;所述联合建模加密工具的加密技术包括下述至少一项:白盒加密、RSA加密和多种签名算法,所述联合建模加密工具采用下述至少一项附加限制:数据使用有效期限制、联合建模项目限制、建模发起方限制和运行环境限制。

可选的,数据读取解密模块440,包括:

数据读取单元,用于在所述模型算子产生数据读取需求时,基于所述模型算子的数据读取接口进行数据读取;加密文件确定单元,用于当通过所述数据读取接口识别到读取的数据为设定加密格式时,则确定为数据加密文件;解密数据反馈单元,用于将所述数据加密文件基于HTTPS安全传输协议传输至解密服务端,并获取反馈的解密数据。

可选的,解密数据反馈单元,具体用于:

通过所述数据读取接口,获取运行环境信息和数据加密文件的存储位置信息,添加到基于HTTPS安全传输协议的数据解密请求中,发送给所述解密服务端,以请求所述解密服务端根据所述运行环境信息和所述数据加密文件中的数据许可文件进行权限认证,并在权限认证通过后在内存中进行解密;通过所述数据读取接口,基于所述HTTPS安全传输协议接收所述解密服务端反馈的解密数据。

其中,解密服务端是集成于所述联合建模处理平台中的虚拟机,或为独立于所述联合建模处理平台设置的服务器。

可选的,权限认证模块所进行的权项认证包括下述至少一项:确定数据是否在有效期;当前联合建模项目的建模发起方是否符合数据应用范围;当前联合建模项目所使用的模型算子是否符合数据应用范围;

当前运行环境是否为联合建模处理平台;当前运行环境的处理空间是否为设定公有空间、设定私有空间或设定可信执行环境。

本发明实施例所提供的联合建模的实现装置可执行本发明任意实施例所提供的联合建模的实现方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5是本发明实施例五中的一种设备的结构示意图,图5示出了适于用来实现本发明实施方式的示例性设备500的框图。图5显示的设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,设备500以通用计算设备的形式表现。设备500的组件可以包括但不限于:一个或者多个处理器或者处理单元510,系统存储器520,连接不同系统组件(包括系统存储器520和处理单元510)的总线530。

总线530表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

设备500典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备500访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器520可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)521和/或高速缓存存储器522。设备500可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统523可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线530相连。存储器530可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块541的程序/实用工具540,可以存储在例如系统存储器520中,这样的程序模块541包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块541通常执行本发明所描述的实施例中的功能和/或方法。

设备500也可以与一个或多个外部设备550(例如键盘、指向设备、显示器551等)通信,还可与一个或者多个使得用户能与该设备500交互的设备通信,和/或与使得该设备500能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口560进行。并且,设备500还可以通过网络适配器570与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器570通过总线530与设备500的其它模块通信。应当明白,尽管图中未示出,可以结合设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元510通过运行存储在系统存储器520中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的联合建模的实现方法。

实施例六

本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现本发明任意实施例所提供的联合建模的实现方法。

本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

值得注意的是,上述联合建模的实现装置的实施例中,所包括的各个单元、子单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 一种联合建模的实现方法、装置、设备和介质
  • 多方联合建模方法、装置、设备及储存介质
技术分类

06120112159022