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

模型存储方法、模型使用方法、装置和电子设备

文献发布时间:2023-06-19 11:22:42


模型存储方法、模型使用方法、装置和电子设备

技术领域

本发明涉及数据加密技术领域,尤其是涉及一种模型存储方法、模型使用方法、装置和电子设备。

背景技术

统计模型或者数学模型作为技术成果,其生产成本巨大,尤其是需要大数据支撑的模型。在现实生产应用中,模型提供方不希望模型使用方因获得了较多的模型信息而掌握了模型,或者模型的主要逻辑和算法,因此,需要对模型进行加密,避免模型使用方获得较多的模型信息。

相关技术中,通常对模型的运算过程和运算法则进行拆分,然后通过同态加密算法对拆分后的模型进行加密,由于同态加密算法不成熟,导致加密过程中需要增加噪声,从而提升加密效果,但在解密过程中会出现算力增加和噪声引起的信息失真问题,由此会导致算力开销增大,不利于模型的使用。

发明内容

本发明的目的在于提供一种模型存储方法、模型使用方法、装置和电子设备,以减少模型加密和使用的算力开销。

第一方面,本发明实施例提供了一种模型存储方法,该方法包括:根据预设的拆分规则,将目标模型拆分为多个模型脚本;将多个模型脚本保存至预设的区块链中;生成多个模型脚本的基准链;其中,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存变换链。

在可选的实施方式中,上述根据预设的拆分规则,将目标模型拆分为多个模型脚本的步骤,包括:根据目标模型的数据运算逻辑,确定目标模型中包含的变量;根据目标模型中包含的变量,对目标模型进行拆分,以使拆分得到的多个模型脚本中,一个模型脚本对应一个变量;其中,每个模型脚本包括第一运算顺序标识,以及该模型脚本对应的变量的数据运算序列。

在可选的实施方式中,上述根据目标模型中包含的变量,对目标模型进行拆分,以使拆分得到的多个模型脚本中,一个模型脚本对应一个变量的步骤之后,上述方法还包括:根据目标模型中包含的变量,对目标模型的输入数据进行拆分,以使拆分得到的多个数据块中,一个数据块对应一个变量;其中,该数据块包括第二运算顺序标识,以及数据块对应的变量的输入数据;针对每个数据块,将数据块进行加密,并从区块链中确定存储节点,将加密后的数据块存储至存储节点中。

在可选的实施方式中,上述将多个模型脚本保存至预设的区块链中的步骤,包括:对每个模型脚本进行加密,得到每个模型脚本对应的加密包;从区块链中确定目标节点,将每个加密包存储至目标节点;其中,该目标节点为从区块链的节点中随机选取的节点。

在可选的实施方式中,上述对每个模型脚本进行加密,得到每个模型脚本对应的加密包的步骤,包括:采用同态加密算法对每个模型脚本进行加密,得到每个模型脚本对应的加密包;上述从区块链中确定目标节点,将每个加密包存储至目标节点的步骤,包括:调用预设的调度节点,从区块链的节点中,随机确定出与加密包的数量相同的目标节点,以使一个目标节点保存一个加密包。

在可选的实施方式中,上述基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则;上述生成多个模型脚本的基准链的步骤,包括:针对每个模型脚本,根据模型脚本的数据运算逻辑,为模型脚本分配碱基标号;按照多个模型脚本之间的数据运算顺序,依次连接每个模型脚本分配的碱基标号,得到基准链。

在可选的实施方式中,上述变换参数包括变换方向、变换速度和配对变换规则;上述基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则;上述从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链的步骤,包括:基于预设的变换次数和变换参数,向预设的调度节点发送变换指令;通过调度节点从区块链的节点中,随机选取多个变换节点;其中,变换节点的数量与变换次数相同;通过多个变换节点,根据变换速度,按照变换方向变换基准链中的碱基标号,得到变换后的基准链;根据配对变换规则,替换变换后的基准链中的碱基标号,得到变换链。

第二方面,本发明实施例提供了一种模型存储方法,该方法应用于调度节点,该方法包括:接收变换指令;其中,该变换指令中携带有变换参数、变换次数和基准链,该变换参数包括变换方向、变换速度和配对变换规则;该变换参数的数量与变换次数相同;该基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则;从预设的区块链的节点中,随机选取多个变换节点;其中,该变换节点的数量与变换次数相同;将基准链和第一变换参数发送至第一变换节点,以使第一变换节点根据第一变换参数对基准链进行变换,得到第一碱基链;将第一碱基链和第二变换参数发送至第二变换节点,以使第二变换节点根据第二变换参数对第一碱基链进行变换,得到第二碱基链,继续将第二碱基链和第三变换参数发送至第三变换节点,直到与变换次数相同数量的变换节点均完成变换,返回最终的变换链;保存该变换链。

第三方面,本发明实施例提供了一种模型使用方法,该方法包括:向预设的调度节点发送模型使用指令,通过调度节点解析目标模型对应的变换链,得到解析后的基准链;其中,该变换链为通过变换节点,基于预设的变换参数对基准链进行变换处理得到的;该基准链包括目标模型拆分后的多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;从区块链中确定运算节点,通过该运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果;组合每个模型脚本对应的运算结果,得到最终的运算结果。

在可选的实施方式中,每个变换节点中均保存有变换节点执行的变换参数;上述通过调度节点解析目标模型对应的变换链,得到解析后的基准链的步骤,包括:通过调度节点,从区块链的节点中随机确定多个解析节点;其中,该解析节点的数量与变换节点的数量相同;通过调度节点将变换链发送至解析节点,并指令变换节点将变换参数发送至解析节点,以使解析节点根据变换参数对变换链进行解析,得到解析后的基准链。

在可选的实施方式中,上述向预设的调度节点发送模型使用指令,通过调度节点解析目标模型对应的变换链,得到解析后的基准链的步骤之后,上述方法还包括:根据预先保存的目标模型的基准链,验证解析后的基准链;如果验证通过,执行从区块链中确定运算节点的步骤。

在可选的实施方式中,上述目标模型拆分后的、加密的多个模型脚本保存在区块链的目标节点中,上述模型输入数据拆分后的、加密的多个数据块保存在区块链的存储节点中;上述模型脚本包括模型脚本的运算顺序标识,以及目标模型中的一个变量的数据运算序列;上述通过运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果的步骤,包括:向调度节点发送运算指令,以使调度节点从区块链的节点中随机选取运算节点;通过运算节点对加密的模型脚本和加密的数据块进行解析,并根据运算顺序标识,将解析后的数据块代入解析后的模型脚本对应的变量中,得到中间变量,根据解析后的基准链将中间结果与解析后的模型脚本结合,得到每个模型对应运算结果。

第四方面,本发明实施例提供了一种模型存储装置,该装置包括:模型拆分模块,用于根据预设的拆分规则,将目标模型拆分为多个模型脚本;将多个模型脚本保存至预设的区块链中;基准链生成模块,用于生成多个模型脚本的基准链;其中,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;变换模块,用于从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存该变换链。

第五方面,本发明实施例提供了一种模型存储装置,该装置设置于调度节点,该装置包括:指令接收模块,用于接收变换指令;其中,该变换指令中携带有变换参数、变换次数和基准链,该变换参数包括变换方向、变换速度和配对变换规则;该变换参数的数量与变换次数相同;该基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则;节点选取模块,用于从预设的区块链的节点中,随机选取多个变换节点;其中,该变换节点的数量与变换次数相同;第一变换模块,用于将基准链和第一变换参数发送至第一变换节点,以使第一变换节点根据第一变换参数对基准链进行变换,得到第一碱基链;第二变换模块,用于将第一碱基链和第二变换参数发送至第二变换节点,以使第二变换节点根据第二变换参数对第一碱基链进行变换,得到第二碱基链,继续将第二碱基链和第三变换参数发送至第三变换节点,直到与变换次数相同数量的变换节点均完成变换,返回最终的变换链;保存变换链。

第六方面,本发明实施例提供了一种模型使用装置,该装置包括:指令发送模块,用于向预设的调度节点发送模型使用指令,通过调度节点解析目标模型对应的变换链,得到解析后的基准链;其中,该变换链为通过变换节点,基于预设的变换参数对基准链进行变换处理得到的;该基准链包括目标模型拆分后的多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;数据运算模块,用于从区块链中确定运算节点,通过运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果;结果组合模块,用于组合每个模型脚本对应的运算结果,得到最终的运算结果。

第七方面,本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述模型存储方法或者上述模型使用方法。

第八方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述模型加密方法或者前述上述模型使用方法。

本发明实施例带来了以下有益效果:

本发明提供的一种模型存储方法、模型使用方法、装置和电子设备,首先根据预设的拆分规则,将目标模型拆分为多个模型脚本;进而将多个模型脚本保存至预设的区块链中;再生成多个模型脚本的基准链,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;然后从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存该变换链。该方式通过变换基准链,对目标模型拆分后的多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑进行加密,相对于在同态加密的过程中引入噪声的加密方式,该方式不仅操作简单且可在不引入噪声的情况下增加模型的保密性,同时,在对模型进行解密的过程中,降低了算力开销,有助于模型的使用。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种模型存储方法的流程图;

图2为本发明实施例提供的另一种模型存储方法的流程图;

图3为本发明实施例提供的另一种模型存储方法的流程图;

图4为本发明实施例提供的另一种模型存储方法的流程图;

图5为本发明实施例提供的一种基准链的环链结构示意图;

图6为本发明实施例提供的一种基准链顺时针变换3个碱基标号的示意图;

图7为本发明实施例提供的一种第一碱基链的环链结构示意图;

图8为本发明实施例提供的一种第一碱基链逆时针变换2个碱基标号的示意图;

图9为本发明实施例提供的一种第二碱基链的环链结构示意图;

图10为本发明实施例提供的一种第二碱基链顺时针变换4个碱基标号的示意图;

图11为本发明实施例提供的一种变换链的环链结构示意图;

图12为本发明实施例提供的一种模型使用方法的流程图;

图13为本发明实施例提供的另一种模型使用方法的流程图;

图14为本发明实施例提供的一种模型存储装置的结构示意图;

图15为本发明实施例提供的另一种模型存储装置的结构示意图;

图16为本发明实施例提供的一种模型使用装置的结构示意图;

图17为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在现有技术发展过程中,侧重点往往以数据加密传输为中心,以在数据生产、使用、存储等各个环节有效保障隐私和知识产权安全,并随着安全多方计算、联邦学习等技术的兴起,在一定程度上能保证在数据“可用不可见”的情况下做到数据安全共享,实现数据价值传递。

但同时,针对模型(例如,统计模型或者数学模型等)加密安全传输的技术发展稍显滞后。模型作为技术成果,其生产成本巨大,特别是需要大数据支撑的模型运算过程生成成本更大,模型生产和维护往往需要持续投入,因此,模型加密显得尤为重要。

在现实生产应用中,模型生产和使用通常包括下述流程:

1.模型的生产

模型提供方(也可称为模型开发者)通过获得的数据源,结合已有的分析成果,通过多种方法提炼观点,给出逻辑结构,最终得到模型,并将模型投入到实际的生产环节。

2.模型的优化和迭代

模型提供方完成模型生产后,将模型部署到数据提供方(也可称为模型使用方)的生产环境中,通过数据抽取和运算,输出模型运算结果,此结果可以输出至模型提供方,或按照协议直接提供给模型使用方。模型投产后,一般都需要不断监控运行成果,以监测数据对模型进行优化和迭代,保证模型的精确度。特别针对于评估类模型来说,要通过区隔能力和稳定性水平进行不断监控,保证模型运行情况可控,并通过多次优化和迭代来达到较好的评估效果。

3.以新模型替代旧模型

如果有新的数据基础(可以理解为与生产模型使用的数据源不同类型的数据)进入建模范围,或者模型评估的对象集合发生很大变化,则模型需要全面更新,并通过对新模型(也可称为挑战者模型)优化达到较好的效果,以逐步替代旧模型(也可称为冠军模型)。

模型在生产和运行过程中,特别在新的数据基础加入或模型评估的总体增加较多(包括样本集合及新进入评估范围的主体)时,模型的稳定度和区隔能力会出现明显下降,因此,模型需要不断与数据(包括历史数据和新产生的数据)进行碰撞,以不断检验模型的准确性。

但是,由于在现实生产中,大多数模型提供方并不完全拥有数据,甚至模型的生产与数据是完全脱节的,需要有一种机制能保证模型与数据在安全可信的环境中进行互动,一方面为数据提供方保证数据在安全和隐私保护的前提下得到使用,一方面保证模型生产过程和运行过程能得到保护,不会出现模型使用方或其他第三者由于获得了较多的模型信息从而能掌握模型,或者模型的主要逻辑和算法,从而造成模型泄密的可能。因此,需要对模型进行加密,避免模型使用方获得较多的模型信息。

在现实生产应用中,模型生产和加密通常存在以下问题:

1.在模型开发和运行中存在数据共享问题。

在模型开发和运算过程中,为了得到更有效力的精确度,模型提供方往往希望拥有较多的数据基础,但数据作为生产要素已经成为数据提供方的关键能力,并不愿意在不能保障数据安全的前提下将数据提供给模型提供方。作为模型开发和运行的前提,数据提供方往往希望能有一种机制,使得数据即使离开原有的数据环境,也能够做到安全和隐私保护,模型使用者在数据使用完成后,数据提供方能确信其无法复制或获得整个原始数据集。

2.现有的模型加解密过程和技术过于简单。

目前,已有的加密技术主要是针对模型的运算过程和法则的拆分后加密,加密时通常采用同态加密算法,由于同态加密算法发展的滞后性和不成熟性,导致模型加密的运算大,且加密效果不好,为了提升加密效果,通常会在加密过程加入背景噪声,但由此导致的解析难度增大很多,算力额外开销也增大很多,因此,在安全性和效率之间的平衡点难以把握,也不利于模型的使用。

3.现有模型加解密技术的“定制化”成分少,不能满足多场景需要。

现有的模型加解密技术往往作出标准化产品,不能满足不同客户对不同加解密水平的要求,如加密方案虽然可插拔,但给出的选择并不多,且多种方案混合使用后,解析过程过于冗长,对算力开销增加的负担也指数级增加,难以做到既提升安全性水平又简单易行。

基于上述问题,本发明实施例提供了一种模型存储方法、模型使用方法、装置和电子设备,该技术可以应用于各种模型的存储和使用场景中,尤其是对数学模型的加密、解密和使用的场景中。为了便于对本发明实施例进行理解,首先对本发明实施例所公开的一种模型存储方法进行详细介绍,该方法应用于模型提供方对应的电子设备,如图1所示,该方法包括如下步骤:

步骤S102,根据预设的拆分规则,将目标模型拆分为多个模型脚本;将多个模型脚本保存至预设的区块链中。

上述目标模型可以为数学模型或者统计学模型,其中,数学模型通常是针对参照某种事物系统的特征或数量依存关系,采用数学语言,概括地或近似地表述出的一种数学结构,这种数学结构是借助于数学符号刻划出来的某种系统的纯关系结构;统计学模型通常是指以概率论为基础,采用数学统计方法建立的模型。

上述预设的拆分规则可以是根据目标模型中的变量的个数进行拆分,如一个变量对应一个模型脚本;也可以是根据目标模型中的数据运算逻辑进行拆分;还可以根据目标模型中的数据运算顺序或者运算法则进行拆分等,这里的拆分规则可以是根据模型提供方设置的规则设定的,在此不做具体限定。

将目标模型拆分为多个模型脚本后,会将拆分后的多个模型脚本保存至预设的区块链中,在具体实现时,多个模型脚本可以保存在区块链的同一节点上;为了提高模型的安全性,也可以将多个模型脚本保存在区块链的不同节点上,例如,每个模型脚本均存储在不同的节点上。上述区块链可以是联盟链、私有链或者公有链等。

步骤S104,生成多个模型脚本的基准链;其中,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑。

在具体实现时,可以根据目标模型拆分后的多个模型脚本的数据运算逻辑和运算顺序,生成多个模型脚本的基准链,该基准链用于表示多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑。

步骤S106,从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存变换链。

上述变换节点可以是从区块链中随机确定的节点,该节点可以根据变换参数对基准链进行变换处理,得到变换链,并将该变换链保存在区块链中,以便后续解析目标模型时使用。上述变换参数可以包括变换规则和变换次数等,具体的变换参数由模型提供方进行设置。

本发明实施例提供的一种模型存储方法,首先根据预设的拆分规则,将目标模型拆分为多个模型脚本;进而将多个模型脚本保存至预设的区块链中;再生成多个模型脚本的基准链,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;然后从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存该变换链。该方式通过变换基准链,对目标模型拆分后的多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑进行加密,相对于在同态加密的过程中引入噪声的加密方式,该方式不仅操作简单且可在不引入噪声的情况下增加模型的保密性,同时,在对模型进行解密的过程中,降低了算力开销,有助于模型的使用。

本发明实施例还提供了另一种模型存储方法,该方法在上述实施例方法的基础上实现;该方法重点描述根据预设的拆分规则,将目标模型拆分为多个模型脚本,将多个模型脚本保存至预设的区块链中的具体过程(通过下述步骤S202-S208实现);如图2所示,该方法包括如下步骤:

步骤S202,根据目标模型的数据运算逻辑,确定目标模型中包含的变量。

在目标模型的数据表达式中,通常包含有变量和常量。该常量也即是目标模型中的不变量,而变量是会根输入数据的不同进行变化的量,该变量分为自变量和中间变量。

步骤S204,根据目标模型中包含的变量,对目标模型进行拆分,以使拆分得到的多个模型脚本中,一个模型脚本对应一个变量;其中,每个模型脚本包括第一运算顺序标识,以及模型脚本对应的变量的数据运算序列。

上述第一运算顺序标识用于表征每个模型脚本在目标模型的数据运算逻辑中的运算顺序,上述模型脚本对应的变量的数据运算序列表示变量的运算逻辑,例如目标模型中一个变量x对应的运算逻辑为2*x,那么该变量x的数据运算序列为2。

在具体实现时,模型拆分具有一定复杂性,运算法则对应不同的自变量及中间变量,为简便起见,本发明实施例以“加、减、乘、除”四种运算法则代替,且不考虑中间变量,假设每一步拆分后的模型脚本只针对一个自变量,即一个模型脚本对应一个自变量,此自变量包括在数据提供方给出的数据中。

例如,假设目标模型M拆分后形成的n个模型脚本为m1、m2、...、mn,如果设定n=5,即目标模型中包含有5个变量,目标模型拆分后包含有5个模型脚本m1、m2、m3、m4和m5,其中1-5为每个模型脚本对应的第一运算顺序标识,该第一运算顺序标识代表每个模型脚本每次运算的先后顺序。

步骤S206,对每个模型脚本进行加密,得到每个模型脚本对应的加密包。

上述对模型脚本进行加密的方式可以是模型提供方设置的任意加密方式,例如,同态加密、MD5(Message Digest Algorithm,消息摘要算法)加密等。在具体实现时,可以采用同态加密算法对每个模型脚本进行加密,得到每个模型脚本对应的加密包。

步骤S208,从区块链中确定目标节点,将每个加密包存储至目标节点;其中,该目标节点为从区块链的节点中随机选取的节点。

在具体实现时,可以从区块链中随机确定出一个或者多个目标节点,并用随机确定出的目标节点存储加密包,也即是多个加密包可以保存至一个目标节点,也可以每个加密包保存至不同的目标节点。

在具体实现时,上述步骤S208可以包括:调用预设的调度节点,从区块链的节点中,随机确定出与加密包的数量相同的目标节点,以使一个目标节点保存一个加密包。

上述调度节点为区块链上的节点,该调度节点可以根据接收到的加密包存储指令(该加密包存储指令中携带有加密包的数量),启动随机算法,从区块链的节点中随机选取与加密包的数量相同数量的目标节点,以使一个目标节点存储一个加密包。

在具体实现时,本发明将拆分后的模型脚本,加密后随机选取区块链中的节点存放,待使用时再通过任务调度的方式将其取出,这种分布式随机存储的方式,也能保证模型在存储过程中的安全性。

在具体实现时,在对目标模型进行拆分之后,需要对模型输入数据进行拆分和存储,步骤如下:

步骤10,根据目标模型中包含的变量,对目标模型的输入数据进行拆分,以使拆分得到的多个所述数据块中,一个数据块对应一个变量;其中,数据块包括第二运算顺序标识,以及该数据块对应的变量的输入数据。

与目标模型的拆分相对应,根据目标模型中包含的变量对模型输入数据进行拆分,例如,目标模型包括5个变量,数据拆分为5个数据块,包括数据块d1、d2、d3、d4和d5,其中1-5为每个数据块对应的第二运算顺序标识,该第二运算顺序标识代表每个数据块对应的变量每次运算的先后顺序。

步骤11,针对每个数据块,将数据块进行加密,并从区块链中确定存储节点,将加密后的数据块存储至所述存储节点中。

通过调度节点启动随机算法,从区块链的节点中随机选取与数据块的数量相同数量的存储节点,以使一个存储节点存储一个加密后的数据块。

在具体实现时,通过本发明提供的客户端DApp(DecentralizationApplication,去中心化应用),数据提供方可以很方便的将输入数据整体进行切分,形成多个独立存在的“数据单元”(相当于上述数据块),并随机选取区块链中的节点进行存储,客户端随机选取节点的过程和结果都是后台自动完成,数据提供方并不知道每个数据块的存储位置,其他人也不知道,且这些数据快在使用过后会即刻删除,不留痕迹,保证了数据安全性。同时,该方式数据提供方可将模型输入数据切分为多个数据块,加密后随机选择区块链中不同的节点存储,待运算时再从这些节点调出数据单元,存储节点只做缓存,保证了数据“用后即删”;另外,模型提供方可将模型切分为多个模型脚本,加密后随机分布式存储,同时做到“用后即焚”,保证了模型存储的安全性。

步骤S210,生成多个模型脚本的基准链;其中,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑。

步骤S212,从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存变换链。

上述模型存储方法,将目标模型拆分为多个模型脚本,进而对拆分后的模型脚本进行加密得到多个加密包,再将每个加密包随机保存至区块链上的不同节点中,保证了模型存储的安全性,同时,该方式还通过变换基准链,对目标模型拆分后的多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑进行加密,进一步提升了模型的安全性。

本发明实施例还提供了另一种模型存储方法,该方法在上述实施例方法的基础上实现;该方法重点描述生成多个模型脚本的基准链的具体过程(通过下述步骤S304-S306实现),以及从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链的具体过程(通过下述步骤S308-S312实现);如图3所示,该方法包括如下步骤:

步骤S302,根据预设的拆分规则,将目标模型拆分为多个模型脚本;将多个模型脚本加密保存至预设的区块链中。

步骤S304,针对每个模型脚本,根据该模型脚本的数据运算逻辑,为每个模型脚本分配碱基标号;其中,每个碱基标号代表一种运算法则。

模型脚本的数量与碱基标号的数量一致,通常碱基标号有多种,每种碱基标号代表不同的运算法则,例如,碱基标号“A、T、C、G”分别对应“加、减、乘、除”。在具体实现时,如果模型脚本与其对应的变量的数据运算逻辑为加法运算,为该模型脚本分配碱基标号A。

步骤S306,按照多个模型脚本之间的数据运算顺序,依次连接每个模型脚本分配的碱基标号,得到基准链。

例如,目标模型包含有3个模型脚本,这3个模型脚本之间的数据运算数据为:模型脚本1、模型脚本2和模型脚本3,其中,模型脚本1对应的碱基标号为A,模型脚本2对应的碱基标号为G,模型脚本3对应的碱基标号为T,那么基准链为A-G-T。

步骤S308,基于预设的变换次数和变换参数,向预设的调度节点发送变换指令;该变换参数包括变换方向、变换速度和配对变换规则。

模型提供方可以设定变换次数,设置变换次数的目的主要是设定几个变换节点参与变换基准链的过程,通常变换次数越多,对基准链的加密效果越好。例如,模型提供方设定的变换次数为3,即需要3个变换节点参与加密过程。

上述变换参数包括变换方向、变换速度和配对变换规则。其中,变换方向包括顺时针方向和逆时针方向;变换速度可以理解为本次变换需要在变换方向上移动多少个碱基标号;配对变换规则也即是移动完成后,给基准链上的碱基标号分配哪种碱基标号的规则,可以是配以原来的碱基标号,如“A-A”,也即是碱基标号A替换为碱基标号A;也可以是用新的碱基标号进行配对,但只能在设定种类中的碱基标号进行替换,如“A-T”,也即是碱基标号A替换为碱基标号T。

步骤S310,通过调度节点从区块链的节点中,随机选取多个变换节点;该变换节点的数量与变换次数相同。

模型提供方设定好变换次数和变换参数后,会通知调度节点(也即是向调度节点发送变换指令)启动随机算法,从区块链的节点中随机选取与变换次数相同数量的节点作为变换节点参与加密过程,选取的变换节点不排序,由哪个开始,到哪个结束,随机进行。

步骤S312,通过多个变换节点,根据变换速度,按照变换方向变换基准链中的碱基标号,得到变换后的基准链;根据配对变换规则,替换变换后的基准链中的碱基标号,得到变换链;保存变换链。

在具体实现时,每个变换节点都设置有各自对应的变换参数,一个变换节点会根据变换参数对基准链进行变换,并将变换结果发送至下一个变换节点,下一个变换节点会根据自己保存的变换参数对接收的变换结果进行变换,直到所有的变换节点都变换完成,得到变换链。

上述模型存储方法,可以将目标模型拆分后的多个模型脚本加密后保存至区块链中,然后通过变换基准链,对目标模型拆分后的多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑进行加密,进一步增加了模型传输过程中的安全性。另外,该方式只采用两种加密算法,一种是对拆分后的模型脚本进行加密,另一种是通过变换参数对基准链进行变换加密,不需要再增加其他加密算法,而且该变换参数可随机性设置,增加保密性同时,与其他加密算法相比,简单易行,算力开销少,对系统资源占用很低。

本发明实施例还提供了另一种模型存储方法,该方法应用于区块链上的调度节点,该调度节点与上述模型提供方对应的电子设备通信连接;如图4所示,该方法包括如下步骤:

步骤S402,接收变换指令;其中,该变换指令中携带有变换参数、变换次数和基准链,该变换参数包括变换方向、变换速度和配对变换规则;该变换参数的数量与变换次数相同;该基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则。

步骤S404,从预设的区块链的节点中,随机选取多个变换节点;其中,该变换节点的数量与变换次数相同。

步骤S406,将基准链和第一变换参数发送至第一变换节点,以使第一变换节点根据第一变换参数对基准链进行变换,得到第一碱基链。

上述第一变换参数是与变换次数相同个数的变换参数中的一个,上述第一变换节点为随机选取的多个变换节点中的任意一个。在具体实现时,该第一变换参数包括变换方向、变换速度和配对变换规则;第一变换节点根据第一变换参数的变换速度,按照变换方向变换基准链中的碱基标号,得到变换后的基准链,根据配对变换规则,替换变换后的基准链中的碱基标号,得到第一碱基链。

步骤S408,将上述第一碱基链和第二变换参数发送至第二变换节点,以使第二变换节点根据第二变换参数对第一碱基链进行变换,得到第二碱基链,继续将第二碱基链和第三变换参数发送至第三变换节点,直到与变换次数相同数量的变换节点均完成变换,返回最终的变换链;保存该变换链。

上述第二变换参数是与变换次数相同个数的变换参数中除第一变换参数之外的变换参数,上述第二变换节点为随机选取的多个变换节点中除第一变换节点之外的变换节点。在具体实现时,该第二变换参数包括变换方向、变换速度和配对变换规则;第二变换节点根据第二变换参数的变换速度,按照变换方向变换第一碱基链中的碱基标号,得到变换后的第一碱基链,根据配对变换规则,替换变换后的第一碱基链中的碱基标号,得到第二碱基链。

上述第三变换参数是与变换次数相同个数的变换参数中除第一变换参数和第二变换参数之外的变换参数,上述第三变换节点为随机选取的多个变换节点中除第一变换节点和第二变换节点之外的变换节点,第三变换节点会根据第三变换参数对第二碱基链进行变换,得到第三碱基链,如果变换节点的数量为三个,则该第三碱基链为最终的变换链,如果变换节点的数量大于三个,继续按照上述方式进行变换处理,至少所有的变换节点都变换完毕,得到最终的变换链。

为了便于对本发明实施例进行理解,下面以变换次数为3次,也即是调度节点需要从区块链的节点中随机选择3个变换节点为例,对基准链的变换进行详细介绍。首先模型提供方确定目标模型的碱基配对法则,如碱基标号“A、T、C、G”分别对应“加、减、乘、除”,并将碱基依序配对给模型脚本,假定配对后生成的基准链为“A-A-C-T-G”,将其首尾相连(顺时针方向),形成一个环链结构,如图5,顶点碱基标号为基准链中的第一个碱基对应的碱基标号为A,后续的变换节点将以此为基准链进行变换及加密。

然后模型提供方设定的变换参数,由于设定了进行3次变换,需要设置第一变换参数、第二变换参数和第三变换参数。其中,假设第一变换参数被分配至第一变换节点,第二变换参数被分配至第二变换节点,第三变换参数被分配至第三变换节点,每个变换节点可以将分配到的变换参数生成令牌,并将保存该令牌。

通过第一变换节点进行第一次变换时,假设第一变换参数中的变换方向为顺时针,转速为3,碱基配对规则“A-T、C-G”(相当于A用T替代,C用G替代),生成令牌1,第一变换节点围绕基准链“A-A-C-T-G”,顺时针转动三个碱基标号后,形成的环链结构如图6所示,顶点碱基标号由A转变为C;然后根据碱基配对规则“A-T、C-G”,将图6中得到的碱基链中的碱基标号进行碱基配对,也即是将图6中的碱基链中的碱基标号进行替换,得到第一碱基链,从顶点碱基标号开始,得到的第一碱基链为“G-C-A-T-T”,如图7所示。

通过第二变换节点进行第二次变换时,假设第二变换参数中的变换方向为逆时针,转速为2,碱基配对规则“A-C、G-T”,生成令牌2,第二变换节点围绕第一碱基链“G-C-A-T-T”,逆时针转动2个碱基标号后,形成的环链结构如图8所示,顶点的碱基标号由C转变为A;然后根据碱基配对规则“A-C、G-T”,将图8中得到的碱基链中的碱基标号进行碱基配对,得到第二碱基链,从顶点碱基标号开始,得到的第二碱基链为“C-G-G-T-A”,如图9所示。

通过第三变换节点进行第三次变换时,假设第三变换参数中的变换方向为顺时针,转速为4,碱基配对规则“A-A、C-C、G-T”,生成令牌3,第三变换节点围绕第二碱基链“C-G-G-T-A”,顺时针转动4个碱基标号后,形成的环链结构如图10所示,顶点的碱基标号由A转变为G;然后根据碱基配对规则“A-A、C-C、G-T”,将图10中得到的碱基链中的碱基标号进行碱基配对,得到变换链,从顶点碱基标号开始,得到的变换链为“T-T-G-A-C”,如图11所示,将该变换链保存至调度节点。

在一些实施例中,还可以由调度节点启动随机算法,从区块链的节点中选取3个令牌节点,分别存储令牌1、令牌2和令牌3。

上述模型存储方法,通过采用碱基配对和对基准链进行变换的方式对模型的运算顺序进行加密,每增加一个碱基标号或者变换次数,破解难度呈几何级上升,但解密方法简单;同时,该方式中的变换次数和变换参数可根据需求配置,使得加密程度和解密难度具有灵活性,可以需要配置算力开销,定制化系统资源的占用。

对应于上述模型存储方法的实施例,本发明实施例提供了一种模型使用方法,该方法应用于模型提供方对应的电子设备,如图12所示,该方法包括如下步骤:

步骤S502,向预设的调度节点发送模型使用指令,通过该调度节点解析目标模型对应的变换链,得到解析后的基准链;其中,变换链为通过变换节点,基于预设的变换参数对基准链进行变换处理得到的;该基准链包括目标模型拆分后的多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑。

上述调度节点可以对保存的变换链进行解析,也即是根据确定变换链的变换参数对变换链进行解密,得到解析后的基准链,也即使得到目标模型拆分后的多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑。

步骤S504,从区块链中确定运算节点,通过运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果。

上述运算节点可以是从区块链中随机选取的节点,通过该运算节点可以对模型脚本与其对应的变量进行匹配,得到多个运算单元,再将模型输入数据中每个变量对应的输入数据输入至该变量对应的运算单元中,可得到每个模型脚本对应的运算结果。

步骤S506,组合每个模型脚本对应的运算结果,得到最终的运算结果。

在具体实现时,可以按照目标模型的数据运算逻辑对每个模型脚本对应的运算结果进行组装,得到最终的运算结果,并将该最终的运算结果返回给模型使用方或者保存在模型提供方。

上述模型使用方法,首先向预设的调度节点发送模型使用指令,通过该调度节点解析目标模型对应的变换链,得到解析后的基准链;进而从区块链中确定运算节点,通过运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果;然后组合每个模型脚本对应的运算结果,得到最终的运算结果。该方式采用变换链加密了目标模型的数据运算逻辑,在使用模型时对变换链解析,从而提升了评估模型分布式运算过程的安全性。

本发明实施例还提供了另一种模型使用方法,该方法在上述实施例方法的基础上实现;该方法重点描述通过所述调度节点解析目标模型对应的变换链,得到解析后的基准链的具体过程(通过下述步骤S602-S604实现),以及从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链的具体过程(通过下述步骤S608-S610实现);如图13所示,该方法包括如下步骤:

步骤S602,向预设的调度节点发送模型使用指令,通过调度节点,从区块链的节点中随机确定多个解析节点;其中,该解析节点的数量与变换节点的数量相同;其中,每个变换节点中均保存有变换节点执行的变换参数。

上述每个变换节点中保存的变换参数也可以称为令牌。当调度节点接收到模型提供方发出的模型使用指令时,启动随机算法,从区块链的节点中确定多个解析节点,该解析节点的数量与通过基准链得到变换链时的变换节点的数量相同,例如,变换节点的数量为3个,那么解析节点的数量也为3个。

步骤S604,通过调度节点将变换链发送至解析节点,并指令变换节点将变换参数发送至解析节点,以使解析节点根据变换参数对变换链进行解析,得到解析后的基准链。

在具体实现时,由于解析节点的数量可以为多个,可以依次通过多个解析节点来解析变换链,每个解析节点可以根据接收到变换参数解析该变换参数对应的变换节点形成的变换链,从而得到解析后的基准链。

为了便于对变换链的解析进行理解,下面结合上述图5-图11的基准链变换过程,以解析节点为3个,分别为第一解析节点、第二解析节点和第三解析节点为例对解析过程进行详细介绍。假设变换链为图11所示的“T-T-G-A-C”,首先对令牌3进行解析,过程为:调度节点将第三次变换形成的变换链“T-T-G-A-C”发送给第一解析节点,并指令第三变换节点将令牌3发送至第一解析节点,第一解析节点根据令牌3给出的变换参数,将变换链解析至第三次变换启动前的状态,即图9所示的结构,得到第二碱基链“C-G-G-T-A”。

对令牌2进行解析的过程为:调度节点将第一解析节点解析得到的第二碱基链“C-G-G-T-A”发送给第二解析节点,并指令第二变换节点将令牌2发送至第二解析节点,第二解析节点根据令牌2给出的变换参数,将第二碱基链解析至第二次变换启动前的状态,即图7所示的结构,得到第一碱基链“G-C-A-T-T”。

对令牌1进行解析的过程为:调度节点将第二解析节点解析得到的第一碱基链“G-C-A-T-T”发送给第三解析节点,并指令第一变换节点将令牌1发送至第三解析节点,第三解析节点根据令牌1给出的变换参数,将第一碱基链解析至第一次变换启动前的状态,即图5所示的结构,得到解析后的基准链“A-A-C-T-G”。

步骤S606,根据预先保存的目标模型的基准链,验证解析后的基准链。

例如,调度节点得到解析后的基准链后,会将该基准链返回给模型提供方,由模型提供方根据保存的基准链与接收的解析后的基准链进行比对,如果一致,则验证通过,也即是说明了调度节点完整还原了目标模型的运算顺序对应的基准链;如果不一致,则验证失败,无法使用目标模型。

步骤S608,如果验证通过,向调度节点发送运算指令,以使调度节点从区块链的节点中随机选取运算节点。

步骤S610,通过运算节点对加密的模型脚本和加密的数据块进行解析,并根据运算顺序标识,将解析后的数据块代入解析后的模型脚本对应的变量中,得到中间变量,根据所述解析后的基准链将所述中间结果与解析后的模型脚本结合,得到每个模型对应运算结果。

上述目标模型拆分后的、加密的多个模型脚本保存在区块链的目标节点中,模型输入数据拆分后的、加密的多个数据块保存在区块链的存储节点中;该模型脚本包括模型脚本的运算顺序标识,以及目标模型中的一个变量的数据运算序列。

如果验证通过,模型提供方会向调度节点发送还原指令,调度节点会根据解析得到的基准链,以及模型提供方定义的基准链中每个碱基标号对应的运算法则(即加减乘除),还原出模型脚本的数据运算顺序和数据运算逻辑。在具体实现时,模型提供方还会向调度节点发送加密的模型脚本和变量,调度节点可根据加密的模型脚本携带的运算顺序标识,对加密的模型脚本与变量配对,形成多个运算单元,一个运算单元对应一个变量。

模型提供方还会依照解析得到的模型脚本的运算顺序,依次向调度节点发出运算指令,由调度节点依次从区块链的节点中随机选取运算节点(该运算节点的数量与模型脚本的数量一致),对加密的模型脚本和加密的数据块完成解析,并完成对应的运算单元的运算,得到每个模型脚本对应的运算结果,并将该运算结果储存在各自对应的运算节点中。

步骤S612,组合每个模型脚本对应的运算结果,得到最终的运算结果。

上述模型使用方法,该方式采用变换链加密了目标模型的数据运算逻辑,从而提升了评估模型分布式运算过程的安全性。另外,通过将输入数据切分、模型切分,并通过碱基配对进行加密,使得存储节点、运算节点、中间变量管理节点等所有数据与模型互动的节点都不能获得数据和模型的全貌,从而不能倒推除数据和模型的功能性整体。

对应于上述模型存储方法的实施例,本发明实施例提供了一种模型存储装置,如图14所示,该装置包括:

模型拆分模块140,用于根据预设的拆分规则,将目标模型拆分为多个模型脚本;将多个模型脚本保存至预设的区块链中。

基准链生成模块141,用于生成多个模型脚本的基准链;其中,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑。

变换模块142,用于从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存该变换链。

上述模型存储装置,首先根据预设的拆分规则,将目标模型拆分为多个模型脚本;进而将多个模型脚本保存至预设的区块链中;再生成多个模型脚本的基准链,该基准链包括多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑;然后从区块链中确定变换节点,通过变换节点,基于预设的变换参数对基准链进行变换处理,得到变换链;保存该变换链。该方式通过变换基准链,对目标模型拆分后的多个模型脚本之间的数据运算顺序和每个模型脚本对应的数据运算逻辑进行加密,相对于在同态加密的过程中引入噪声的加密方式,该方式不仅操作简单且可在不引入噪声的情况下增加模型的保密性,同时,在对模型进行解密的过程中,降低了算力开销,有助于模型的使用。

进一步地,上述模型拆分模块140,用于:根据目标模型的数据运算逻辑,确定目标模型中包含的变量;根据目标模型中包含的变量,对目标模型进行拆分,以使拆分得到的多个模型脚本中,一个模型脚本对应一个变量;其中,每个模型脚本包括第一运算顺序标识,以及模型脚本对应的变量的数据运算序列。

具体地,上述装置还包括数据拆分模块,用于:根据目标模型中包含的变量,对目标模型进行拆分,以使拆分得到的多个模型脚本中,一个模型脚本对应一个变量之后,根据目标模型中包含的变量,对目标模型的输入数据进行拆分,以使拆分得到的多个数据块中,一个数据块对应一个变量;其中,该数据块包括第二运算顺序标识,以及该数据块对应的变量的输入数据;针对每个数据块,将数据块进行加密,并从区块链中确定存储节点,将加密后的数据块存储至存储节点中。

进一步地,上述模型拆分模块140,包括:加密单元,用于对每个模型脚本进行加密,得到每个模型脚本对应的加密包;存储单元,用于从区块链中确定目标节点,将每个加密包存储至目标节点;其中,该目标节点为从区块链的节点中随机选取的节点。

具体地,上述加密单元,用于采用同态加密算法对每个模型脚本进行加密,得到每个模型脚本对应的加密包;上述存储单元,用于调用预设的调度节点,从区块链的节点中,随机确定出与加密包的数量相同的目标节点,以使一个目标节点保存一个加密包。

进一步地,上述基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则;上述基准链生成模块141,用于:针对每个模型脚本,根据模型脚本的数据运算逻辑,为模型脚本分配碱基标号;按照多个模型脚本之间的数据运算顺序,依次连接每个模型脚本分配的碱基标号,得到基准链。

在具体实现时,上述变换参数包括变换方向、变换速度和配对变换规则;该基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则;上述变换模块142,用于:基于预设的变换次数和变换参数,向预设调度节点发送变换指令;通过调度节点从区块链的节点中,随机选取多个变换节点;其中,该变换节点的数量与变换次数相同;通过多个变换节点,根据变换速度,按照变换方向变换基准链中的碱基标号,得到变换后的基准链;根据配对变换规则,替换变换后的基准链中的碱基标号,得到变换链。

本发明实施例所提供的模型存储装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

对应于上述模型存储方法的实施例,本发明实施例还提供了另一种模型存储装置,该装置设置于调度节点,如图15所示,该装置包括:

指令接收模块150,用于接收变换指令;其中,该变换指令中携带有变换参数、变换次数和基准链,该变换参数包括变换方向、变换速度和配对变换规则;该变换参数的数量与变换次数相同;该基准链中包含有多个碱基标号,每个碱基标号代表一种运算法则。

节点选取模块151,用于从预设的区块链的节点中,随机选取多个变换节点;其中,该变换节点的数量与变换次数相同。

第一变换模块152,用于将基准链和第一变换参数发送至第一变换节点,以使第一变换节点根据第一变换参数对基准链进行变换,得到第一碱基链。

第二变换模块153,用于将第一碱基链和第二变换参数发送至第二变换节点,以使第二变换节点根据第二变换参数对第一碱基链进行变换,得到第二碱基链,继续将第二碱基链和第三变换参数发送至第三变换节点,直到与变换次数相同数量的变换节点均完成变换,返回最终的变换链;保存所述变换链。

上述模型存储装置,通过采用碱基配对和对基准链进行变换的方式对模型的运算顺序进行加密,每增加一个碱基标号或者变换次数,破解难度呈几何级上升,但解密方法简单;同时,该方式中的变换次数和变换参数可根据需求配置,使得加密程度和解密难度具有灵活性,可以需要配置算力开销,定制化系统资源的占用。

对应于上述模型使用方法的实施例,本发明实施例还提供了一种模型使用装置,如图16所示,该装置包括:

指令发送模块160,用于向预设的调度节点发送模型使用指令,通过调度节点解析目标模型对应的变换链,得到解析后的基准链;其中,该变换链为通过变换节点,基于预设的变换参数对基准链进行变换处理得到的;该基准链包括目标模型拆分后的多个模型脚本之间的数据运算顺序,以及每个模型脚本对应的数据运算逻辑。

数据运算模块161,用于从区块链中确定运算节点,通过运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果。

结果组合模块162,用于组合每个模型脚本对应的运算结果,得到最终的运算结果。

上述模型使用装置,首先向预设的调度节点发送模型使用指令,通过该调度节点解析目标模型对应的变换链,得到解析后的基准链;进而从区块链中确定运算节点,通过运算节点,基于解析后的基准链和模型输入数据,计算每个模型脚本对应的运算结果;然后组合每个模型脚本对应的运算结果,得到最终的运算结果。该方式采用变换链加密了目标模型的数据运算逻辑,从而提升了评估模型分布式运算过程的安全性。

具体地,每个变换节点中均保存有变换节点执行的变换参数;上述指令发送模块160,用于:通过调度节点,从区块链的节点中随机确定多个解析节点;其中,解析节点的数量与变换节点的数量相同;通过调度节点将变换链发送至解析节点,并指令变换节点将变换参数发送至解析节点,以使解析节点根据变换参数对变换链进行解析,得到解析后的基准链。

进一步地,上述装置还包括基准链验证模块,用于:向预设的调度节点发送模型使用指令,通过调度节点解析目标模型对应的变换链,得到解析后的基准链之后,根据预先保存的目标模型的基准链,验证解析后的基准链;如果验证通过,从区块链中确定运算节点。

具体地,上述目标模型拆分后的、加密的多个模型脚本保存在区块链的目标节点中,模型输入数据拆分后的、加密的多个数据块保存在区块链的存储节点中;上述模型脚本包括模型脚本的运算顺序标识,以及目标模型中的一个变量的数据运算序列;上述数据运算模块161,用于:向调度节点发送运算指令,以使调度节点从区块链的节点中随机选取运算节点;通过运算节点对加密的模型脚本和加密的数据块进行解析,并根据运算顺序标识,将解析后的数据块代入解析后的模型脚本对应的变量中,得到中间变量,根据解析后的基准链将中间结果与解析后的模型脚本结合,得到每个模型对应运算结果。

本发明实施例所提供的模型使用装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明实施例还提供了一种电子设备,参见图17所示,该电子设备包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器101执行机器可执行指令以实现上述模型存储方法或者上述模型使用方法。

进一步地,图17所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。

其中,存储器100可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。

本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述模型存储方法或者上述模型使用方法,具体实现可参见方法实施例,在此不再赘述。

本发明实施例所提供的模型存储方法、模型使用方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 模型存储方法、模型使用方法、装置和电子设备
  • 一种模型训练方法、数据存储方法、装置及电子设备
技术分类

06120112900739