CN112966279B - 一种分布式数据处理方法及*** - Google Patents

一种分布式数据处理方法及*** Download PDF

Info

Publication number
CN112966279B
CN112966279B CN202110183631.1A CN202110183631A CN112966279B CN 112966279 B CN112966279 B CN 112966279B CN 202110183631 A CN202110183631 A CN 202110183631A CN 112966279 B CN112966279 B CN 112966279B
Authority
CN
China
Prior art keywords
node
information
algorithm
base
data
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
CN202110183631.1A
Other languages
English (en)
Other versions
CN112966279A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110183631.1A priority Critical patent/CN112966279B/zh
Publication of CN112966279A publication Critical patent/CN112966279A/zh
Application granted granted Critical
Publication of CN112966279B publication Critical patent/CN112966279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种分布式数据处理方法及***,其中方法包括:获取用于进行计算的待处理信息,待处理信息中包括至少两个变量信息;获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据;根据运算数据及变量信息生成各第一运算节点对应的运算控制信息;根据第一节点标识将运算控制信息发送到第一运算节点;以使第一运算节点根据运算控制信息计算得到运算结果,并将运算结果根据第二节点标识发送至第二运算节点;获取最终运算节点计算得到最终结果。可以使运算步骤由多个运算节点进行,使每个运算节点都只能获取部分算法以及单个变量信息,而无法获取算法以及待处理信息的全貌,可以有效避免算法被破解,并避免待处理信息外泄。

Description

一种分布式数据处理方法及***
技术领域
本申请涉及数据处理技术领域,尤其涉及一种分布式数据处理方法及***。
背景技术
为了能在数字资产领域很好的完成风险定价,新兴金融机构、传统金融机构都开始注重基于大数据的信用风险定价模型的开发和实施,甚至以此为基础,出现了很多专门进行这类模型设计并提供相关服务的金融科技公司,并在金融领域中占有越来越重要的地位。现有技术方案存在的问题,主要如下:
1.模型的非授权使用问题
若模型在数据提供方的环境中运行,导致数据提供方无需模型提供方的授权,随时可以使用模型。
2.模型逻辑困难,容易被通过“倒推”而破解
数据提供方拥有完整的模型运算过程,虽然这个过程可以是黑箱,但入参和出参对数据提供方来说是清晰的,即使是模型提供方通过增加“噪声”的方式进行一定程度的防破解,往往也不一定能完全做到不能破解。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种分布式数据处理方法及***。
第一方面,本申请实施例提供了一种分布式数据处理方法,包括:
获取用于进行计算的待处理信息,所述待处理信息中包括至少两个变量信息;
获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;以使所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
获取最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
可选的,如前述的方法:所述根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息,包括:
查询得到所述变量信息对应的算法序列,并根据所述变量信息以及对应的算法序列生成运算单元;
确定各个所述运算单元对应的所述运算数据;
根据所述运算数据及所述运算单元生成各第一运算节点对应的运算控制信息。
可选的,如前述的方法,所述根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点,包括:
将所述运算控制信息按照预设的加密策略进行加密,得到加密信息;
将所述加密信息发送到所述第一运算节点,以使所述第一运算节点按照与所述加密策略对应的解密策略对所述加密信息进行解密,得到所述运算控制信息。
第二方面,本申请实施例提供了一种模型分割的数据处理方法,包括:
对目标模型进行分割,确定依次分割对应的运算法则以及分割得到的逻辑单元;
根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列;
根据所述目标模型确定每个所述最小逻辑单元之间的逻辑关系信息;
根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型;
根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,并将所述运算数据发送到分发平台,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识。
可选的,如前述的方法,所述根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列,包括:
确定由所述目标模型分割得到所述最小逻辑单元依次依据的运算法则;
将每个所述最小逻辑单元对应的所述运算法则按分割的顺序排列,得到与每个所述最小逻辑单元对应的所述算法序列。
可选的,如前述的方法,所述根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型,包括:
根据每个所述最小逻辑单元的算法序列,确定每个所述最小逻辑单元的层级信息;
按照所述逻辑关系信息以及所述层级信息逐层确定每个所述最小逻辑单元的计算序号;
根据每个所述运算法则对应的碱基,得到与所述算法序列对应的碱基密码;其中,所述碱基包括至少一个字符;
根据每个所述最小逻辑单元的计算序号、碱基密码以及所述最小逻辑单元得到所述分割后子模型。
可选的,如前述的方法,所述根据每个所述运算法则对应的碱基,得到与所述算法序列对应的碱基密码,包括:
根据每个所述运算法则对应的碱基,得到与各个所述算法序列对应的第一碱基密码;
确定所有所述第一碱基密码中碱基数量最多的最长碱基密码;
根据所述最长碱基密码的最大碱基数量确定第二碱基密码的碱基补偿数量;其中,所述第二碱基密码是碱基数量少于所述最长碱基密码的第一碱基密码;
按照所述碱基补偿数量在所述第二碱基密码的最终运算法则的后端补充空逻辑碱基,以将第二碱基密码的碱基数量补偿至所述最大碱基数量,并得到补偿后第二碱基密码;所述最终运算法则是所述算法序列中最后一个运算法则;所述空逻辑碱基是不包含运算法则的碱基;
根据所述最长碱基密码以及补偿后第二碱基密码得到与各个所述算法序列对应的碱基密码。
可选的,如前述的方法,所述根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,包括:
对所述逻辑关系信息进行解析,确定相互关联的各个所述逻辑单元;
根据所述相互关联的各个所述逻辑单元以及所述逻辑关系信息,得到所述运算流程;
根据所述算法序列,确定各个所述逻辑单元相互关联时对应的运算法则;
根据各个所述逻辑单元相互关联时对应的运算法则,得到所述运算流程中各个运算步骤对应的运算法则;
随机选择得到执行各个所述运算步骤对应的运算节点,并确定各个所述运算节点的节点标识;
根据各个所述运算步骤对应的运算节点的节点标识以及运算法则,得到所述运算步骤对应的运算数据。
第三方面,本申请实施例提供了一种分布式数据处理***,包括:分发平台、数据提供端以及算法处理服务器;
所述数据提供端将需要进行计算的待处理信息发送至分发平台,所述待处理信息中包括至少两个变量信息;
所述算法处理服务器确定运算流程中各运算步骤对应的运算数据,并将所述运算数据发送至所述分发平台;所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
所述分发平台根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
所述分发平台根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;
所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
按此递归,直至最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
可选的,如前述的***,所述分发平台根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点,包括:
所述分发平台将所述运算控制信息按照预设的加密策略进行加密,得到第一加密信息;
所述分发平台将所述加密信息发送到所述第一运算节点;
所述第一运算节点按照与所述加密策略对应的解密策略对所述第一加密信息进行解密,得到所述运算控制信息。
可选的,如前述的***,所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点,包括:
所述第一运算节点根据所述运算控制信息计算得到所述运算结果;
所述第一运算节点将所述运算结果按照所述加密策略进行加密,得到第二加密信息,将所述第二加密信息根据所述第二节点标识发送至所述第二运算节点;
所述分发平台根据所述运算数据生成所述第二运算节点对应的运算控制信息;
所述分发平台将所述运算控制信息按照所述加密策略进行加密,得到第三加密信息,将所述第三加密信息根据所述第二节点标识发送至所述第二运算节点;
所述第二运算节点按照与所述解密策略对所述第二加密信息和第三加密信息进行解密,得到对应的运算数据。
第四方面,本申请实施例提供了一种分布式数据处理装置,包括:
第一获取模块,用于获取用于进行计算的待处理信息,所述待处理信息中包括至少两个变量信息;
第二获取模块,用于获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
生成模块,用于根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
发送模块,用于根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;以使所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
第三获取模块,用于获取最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
第五方面,本申请实施例提供了一种模型分割的数据处理装置,包括:
分割模块,用于对目标模型进行分割,确定依次分割对应的运算法则以及分割得到的逻辑单元;
算法序列模块,用于根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列;
确定模块,用于根据所述目标模型确定每个所述最小逻辑单元之间的逻辑关系信息;
子模型获取模块,用于根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型;
发送模块,用于根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,并将所述运算数据发送到分发平台。
第六方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的处理方法。
第七方面,本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,通过将运算步骤拆分为多个子步骤,并且分别由多个运算节点进行运算,使每个运算节点都只能获取部分算法以及单个变量信息,而无法获取算法以及待处理信息的全貌,可以有效避免算法被破解,并避免待处理信息外泄。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种模型分割的数据处理方法的流程示意图;
图2为本申请另一实施例提供的一种模型分割的数据处理方法的流程示意图;
图3为本申请另一实施例提供的一种模型分割的数据处理方法的流程示意图;
图4为本申请实施例提供的一种模型分割的示意图;
图5为本申请另一实施例提供的一种模型分割的示意图;
图6为本申请实施例提供的一种分布式数据处理方法的流程示意图;
图7为本申请另一实施例提供的一种分布式数据处理方法的流程示意图;
图8为本申请实施例提供的一种分布式数据处理***的架构图;
图9为本申请实施例提供的一种模型分割的数据处理装置的框图;
图10为本申请实施例提供的一种分布式数据处理装置的框图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
风险评价模型指的是在资产经数字化改造后,在流转过程中对数字资产的信用风险状况进行评估的模型,一般来说涉及到与资产相关的各个维度数据的收集、处理、运算等。在传统风险定价领域中,这些数据的获取和处理一般依托中心化机构和操作流程完成,如通过信用分析师现场尽调、信用模型的搭建等过程完成,在此过程中,需要将数字资产变现的企业,为了在融资过程中尽快获得信贷配给,同时处于融资企业信息披露的要求,往往愿意提供企业数据方便于模型运算等过程,涉及的主体除融资企业外,与之关联的企业信息往往由承担信用风险定价的第三方机构完成,并不涉及过多的数据采集和模型传输过程。作为专业第三方机构,信用评级公司的模型往往是其核心技术机密,并不会将信用风险定价模型的细节向被评估的融资企业公布,也不会在公开场合进行模型方面信息的披露。
随着传统金融资产来源的减少,普惠金融的兴起,特别是针对C端的消费金融和针对SME(中小微企业)金融资产成为各种金融机构,特别是新兴金融机构的风险偏好。与之相对应的数字资产作为其中一种重要的金融资产模式正渐渐成为资产形态的主流。但是,数字资产与传统形态资产的重要区别是其来源以C端和中小微个体中流动性较差的资产为主,这要求风险定价模型与传统相比较在技术路线和数据基础上有很大的区别。
为了能在数字资产领域很好的完成风险定价,新兴金融机构、传统金融机构都开始注重基于大数据的信用风险定价模型的开发和实施,甚至以此为基础,出现了很多专门进行这类模型设计并提供相关服务的金融科技公司,并在金融领域中占有越来越重要的地位。现有技术的做法和流程大致如下:
1.模型的生产和部署
作为模型的提供者,专业的金融科技公司通过对信用信息数据的采集和清洗等,将原始数据与公司的技术基础相结合,通过专家法、统计学方法、机器学习等方法完成模型搭建,部署到生产环境中,并不断进行优化和迭代。
2.一般来说风险定价模型信息不会向外传递
作为金融科技公司的核心技术和机密,其风险定价模型是最具竞争力的产品,出于保护科技成果和知识产权的考虑,金融科技公司一般不会将模型部署在数据提供方的生产环境中,也并不愿意向社会公布模型的具体细节。
3.模型一旦出了金融科技公司体系,安全问题不好解决
出于信息安全和隐私保护等问题,数据提供方需要在合规和安全的情形下才能将数据提供给模型进行运算,基于此,较为创新的业务模式是模型提供方将模型加密后部署到数据提供方的独立环境中,计算出结果后输出。
现有技术方案的缺点:
正如上文所述,由于数字资产的信用风险定价模型的特殊性,往往需要脱离模型提供方环境进行部署,如在数据提供方环境中,或是开展某种特定金融业务的平台***中。
现有技术方案来看,虽然能在一定程度解决模型在其他环境中部署的安全性问题,但由于数据提供方拥有较为完整的模型信息,即使在黑箱中运行,也可通过不拆解过程,直接将数据输入模型而得到结果的方式,向模型提供方之外的其他客户提供服务,从技术上来说,尚不能建立让双方均满意的运算机制。
为了解决上述至少一个技术问题,如图1所示,本申请实施例提供了一种模型分割的数据处理方法,包括如下所述步骤P1至P5:
步骤P1.对目标模型进行分割,确定依次分割对应的运算法则以及分割得到的逻辑单元;其中,目标模型包括多个逻辑单元。
具体的,可以先确定目标模型的逻辑结构,其中目标模型可以是用于实现特定算法的公式,对应于公式的逻辑结构可以是:按照运算顺序或者运算法则,确定公式中包括的逻辑单元。举例的,当存在如下所示的公式(1):
M=0.8×[x1/3+(x2+x3)/(x4+x5)]+0.2×(x6 2+x7x8-x9+x10 3) (1)
公式(1)对应的逻辑结构中,从最大的层面上来说是与加法相对应的逻辑,因此进行拆分,可以得到:0.8×[x1/3+(x2+x3)/(x4+x5)]对应的逻辑单元I与0.2×(x6 2+x7x8-x9+x10 3)对应的逻辑单元II,且两个逻辑单元之间的运算规则是相加。
具体的,确定每次分割依据的运算法则以及分割得到的逻辑单元,进而可以得到进行分割得到的各个逻辑单元之间相互关联所依据的运算法则。
进一步的,每进行一次分割所得到的逻辑单元,必然是上一次分割得到的一个逻辑单元中的一个子逻辑单元。举例的,当对公式(1)第一次进行分割时,得到的0.8×[x1/3+(x2+x3)/(x4+x5)]对应的逻辑单元I或者0.2×(x6 2+x7x8-x9+x10 3)对应的逻辑单元II都是原逻辑单元(即:公式(1))的一个子逻辑单元,并且逻辑单元I与逻辑单元II之间依据的运算法则是“加法”;当对逻辑单元I进一步分割得到x1/3逻辑单元III,则该逻辑单元III是逻辑单元I的一个子逻辑单元。
步骤P2.根据分割得到最小逻辑单元对应的所有运算法则,得到与最小逻辑单元对应的算法序列。
也就是说,按照逻辑结构对目标模型按序进行分割,直至得到最小逻辑单元时停止。并且,记录下得到最小逻辑单元相关的所有运算法则,并得到对应的算法序列。一般情况下,每个算法序列中至少包括一个运算法则。
步骤P3.根据目标模型确定每个最小逻辑单元之间的逻辑关系信息。
具体的,以目标模型是公式为例,各个最小逻辑单元之间的逻辑关系信息可以包括:不同最小逻辑单元之间存在运算关系的信息,根据不同的最小逻辑单元得到的各个中间变量之间的信息;且每个最小逻辑单元可以继承得到由其构成的中间变量与其他中间变量之间的逻辑关系。
步骤P4.根据算法序列、逻辑关系信息以及最小逻辑单元得到分割后子模型。
具体的,每个分割后子模型中包括与最小逻辑单元对应的算法序列以及逻辑关系信息。
进而可以根据算法序列以及逻辑关系信息确定如何对各个最小逻辑单元进行“组装”,以还原得到目标模型。
步骤P5.根据分割后子模型确定运算流程,以及运算流程中各运算步骤对应的运算数据,并将运算数据发送到分发平台,运算数据包括:运算步骤对应的运算法则、执行运算步骤的第一运算节点的第一节点标识以及用于接收运算步骤运算结果的第二运算节点的第二节点标识。
具体的,由于分割后子模型是根据算法序列、逻辑关系信息以及最小逻辑单元得到的,而算法序列、逻辑关系信息以及最小逻辑单元是将目标模型按照对应的逻辑结构进行拆分得到的,因此根据分割后子模型中的逻辑关系信息和最小逻辑单元可以还原得到目标模型,以及通过目标模型进行计算时的运算流程(例如:以公式(1)为例,运算流程需要先第一步计算(x2+x3)和(x4+x5),第二步计算(x2+x3)/(x4+x5)以及x1/3,第三步计算x1/3+(x2+x3)/(x4+x5),第四步计算0.8×[x1/3+(x2+x3)/(x4+x5),最后再计算得到最终结果);此外,在得到运算流程之后,结合各个最小逻辑单元对应的算法序列,可以解析得到运算流程中各个步骤对应的运算数据。
可选的,运算数据可以是在每确定一个运算步骤后生成与该运算步骤对应的运算数据,也可以是事先规划好运算流程中执行各个运算步骤的运算节点后,得到所有运算步骤对应的运算数据。
其中,第一运算节点可以是执行各个运算步骤对应的运算节点;第二运算节点可以是用于接收得到各运算步骤得到的运算结果的运算节点;因此,当第二运算节点接收得到运算结果之后,其可以重新作为第一运算节点接收得到运算数据,以确定其需要对接收得到的运算结果执行的运算法则以及得到的新的运算结果的发送目标(即:另一个第二运算节点)。
通过本实施例中的方法,可以将一个目标模型分割为多个最小逻辑单元,并得到对应的分割后子模型,进而可以根据分割后子模型还原得到对应的运算流程,并通过将其发送给分发平台,使运算流程中的各个运算步骤可以通过不同的运算节点进行计算,以最终达到使各个运算方均无法完全获取目标模型的整体算法的目的,可以保证算法不会外泄。
如图2所示,在一些实施例中,如前述的方法,所述步骤P2根据分割得到最小逻辑单元对应的所有运算法则,得到与最小逻辑单元对应的算法序列,包括如下所述步骤P21和P22:
步骤P21.确定由目标模型分割得到最小逻辑单元依次依据的运算法则。
步骤P22.将每个最小逻辑单元对应的运算法则按分割的顺序排列,得到与每个最小逻辑单元对应的算法序列。
也就是说,在对目标模型进行分割时,记录下在得到最小逻辑单元时,分割的次序与运算法则之间的对应关系。
并且,算法序列是将各个运算法则按照分割的顺序排列得到的。
举例来说,当分割到一个最小逻辑单元z依次进行分割依据的运算法则分别是:“+”、“×”、“+”、“×”时,对应的算法序列则可以是:+→×→+→×。
如图3所示,在一些实施例中,如前述的方法,所述步骤P4根据算法序列、逻辑关系信息以及最小逻辑单元得到分割后子模型,包括如下步骤P41至步骤P44:
步骤P41.根据每个最小逻辑单元的算法序列中运算法则的个数,确定每个最小逻辑单元的层级信息。
也就是说,每个最小逻辑单元的层级信息是与其对应的算法序列中运算法则的个数一致的。
举例的,当所有最小逻辑单元中,算法序列对应的运算法则的个数最多为5个时,则算法序列包括5个运算法则的最小逻辑单元的层级信息可以是一级,算法序列包括4个运算法则的最小逻辑单元的层级信息可以是二级等等。
具体的,由于运算法则的个数与分割的次数相一致,因此,也可以通过分割得到每个最小逻辑单元的分割次数进行层级的划分。
步骤P42.按照逻辑关系信息以及层级信息逐层确定每个最小逻辑单元的计算序号。
具体的,按照层级信息逐层确定每个最小逻辑单元的计算序号,进而可以根据每个最小逻辑单元的运算法则的个数,确定后续进行计算时的计算次序;同时,逻辑关系信息确定各个最小逻辑单元的计算序号,可以将存在逻辑关系的多个最小逻辑单元进行相邻排序,以在后期进行模型还原时,可以依据计算序号对最小逻辑单元进行分发。
步骤P43.根据每个运算法则对应的碱基,得到与算法序列对应的碱基密码;其中,碱基包括至少一个字符。
也就是说,通过碱基带体运算法则,并由此得到与算法序列对应的碱基密码。
可选的,当碱基设有“A、T、C、G”四种,并可以分别对应“加、减、乘、除”四种算法,由此碱基与算法有4×4=16种配对方法。进而可以确定如下对应关系“A-加、T-减、C-乘、G-除”,在实际处理中,可通过多层嵌套的方法增加解密难度,如“AT-加、TA-减、CG-乘、GC-除”每嵌套一次,解密难度会呈现几何级数上升,以进一步避免算法被解密。
步骤P44.根据每个最小逻辑单元的计算序号、碱基密码以及最小逻辑单元得到分割后子模型。
也就是说,每个分割后子模型中,包括每个最小逻辑单元对应的计算序号以及碱基密码。
在一些实施例中,如前述的方法,步骤P43根据每个运算法则对应的碱基,得到与算法序列对应的碱基密码,包括如下所述步骤P431至步骤P435:
步骤P431.根据每个运算法则对应的碱基,得到与各个算法序列对应的第一碱基密码。
具体的,第一碱基密码是与每个算法序列对应的碱基密码。
步骤P432.确定所有第一碱基密码中碱基数量最多的最长碱基密码。
具体的,最长碱基密码是所有第一碱基密码中,碱基的数量最多的碱基密码,即:对应于运算法则最多的算法序列。
步骤P433.根据最长碱基密码的最大碱基数量确定第二碱基密码的碱基补偿数量;其中,第二碱基密码是碱基数量少于最长碱基密码的第一碱基密码。
具体的,最大碱基数量是最长碱基密码的碱基数量;因此,可以通过确定各个第二碱基密码中的碱基数量与最大碱基数量之间的差值,得到碱基补偿数量。
步骤P434.按照碱基补偿数量在第二碱基密码的最终运算法则的后端补充空逻辑碱基,以将第二碱基密码的碱基数量补偿至最大碱基数量,并得到补偿后第二碱基密码;最终运算法则是算法序列中最后一个运算法则;空逻辑碱基是不包含运算法则的碱基。
具体的,最终运算法则是在分割得到与第二碱基密码对应的最小逻辑单元时,最后一次进行分割依据的运算法则;可选的,在前述实施例中步骤P53的基础上,当最大碱基数量是4个时,且存在一个第二碱基密码是C-A-C,最左侧的碱基对应的是最终运算法则时,则需要在最左侧再添加一个空逻辑碱基(例如:U),并得到U-C-A-C,作为补偿后第二碱基密码。
步骤P435.根据最长碱基密码以及补偿后第二碱基密码得到与各个算法序列对应的碱基密码。
具体的,由于最长碱基密码的碱基数量是最多的,因此无需进行补偿;在得到补偿后第二碱基密码之后,即可根据最长碱基密码以及补偿后第二碱基密码得到对应于各个算法序列的碱基密码。
通过本实施例中的方法,可以对碱基密码进行统一,便于在后期进行模型还原时,可以直接通过识别碱基密码中的各个碱基判断是否需要对与该最小逻辑单元对应的变量信息进行运算,以及是否要对该变量信息进行分发,更加便于***进行识别判断。
在一些实施例中,如前述的方法,所述步骤P5根据分割后子模型确定运算流程,以及运算流程中各运算步骤对应的运算数据,包括如下所述步骤P51至P56:
步骤P51.对逻辑关系信息进行解析,确定相互关联的各个逻辑单元。
步骤P52.根据相互关联的各个逻辑单元以及逻辑关系信息,得到运算流程;
步骤P53.根据算法序列,确定各个逻辑单元相互关联时对应的运算法则;
步骤P54.根据各个逻辑单元相互关联时对应的运算法则,得到运算流程中各个运算步骤对应的运算法则。
具体的,上述步骤P51至P54是对步骤P1至P4的逆序处理,而步骤P1至P4中对目标模型的拆分是与运算流程相逆的,因此通过步骤P51至P54中的方法可以还原得到运算流程,以及运算流程中的各个运算步骤对应的运算法则。
步骤P55.随机选择得到执行各个运算步骤对应的运算节点,并确定各个运算节点的节点标识;
步骤P56.根据各个运算步骤对应的运算节点的节点标识以及运算法则,得到运算步骤对应的运算数据。
也就是说,在运算数据中存储的是运算节点的节点标识。
通过随机选择得到各个运算节点;可以避免各个运算节点之间相互协同并还原得到目标模型的情况。
应用例:
(I)按照逻辑结构进行分割
(1)第一层逻辑分割
由于数字资产的风险定价模型一般来说属于统计学模型,最终的结果是通过不同的数据维度乘以其权重并加总而成。因此,第一层逻辑分割,得到的是权重序列和对应的数据维度序列。为了便于描述,本方面以公式(1)的例子作为模型:
M=0.8×[x1/3+(x2+x3)/(x4+x5)]+0.2×(x6 2+x7x8-x9+x10 3) (1)
可选的,在将对应于不同的权重的两部分逻辑单元分别作为单独个体时,第一层逻辑分割分别对0.8×[x1/3+(x2+x3)/(x4+x5)]以及0.2×(x6 2+x7x8-x9+x10 3)进行分割,两个逻辑单元分别对应的权重序列为0.8和0.2。并且本次分割后得到的逻辑单元为“[x1/3+(x2+x3)/(x4+x5)]”和“(x6 2+x7x8-x9+x10 3)”。
本层分割得到的逻辑单元可表示为公式(2)和公式(3)。
m1=x1/3+(x2+x3)/(x4+x5) (2)
m2=x6 2+x7x8-x9+x10 3 (3)
公式(2)和公式(3)中,m1、m2中的1和2代表本层逻辑分割形成的第一个逻辑单元和第二个逻辑单元,下文类似。
m下标的数字,数字的位数表示逻辑分割的层级信息,一般性示例:如m1212,下标有四位数字,表示经过了四次分割后得到逻辑单元m1212,因此层级信息是4,此逻辑单元m1212的分割方法为:对目标模型m进行第一次分割得到第一逻辑单元m1,然后对第一逻辑单元m1进行第二次分割,并得到该次分割下的第二逻辑单元m12,再对m12进行第三次分割中,并得到该次分割下的第一逻辑单元m121;最后对m121进行第四次分割,取该次分割下的第二逻辑单元m1212。具体分割的示意图如图4所示:
(2)第二层分割
按照与第一层分割同样的过程,可得第二层分割结果为公式(4)到公式(9)。
m11=x1/3 (4)
m12=(x2+x3)/(x4+x5) (5)
m21=x6 2=x6×x6 (6)
m22=x7×x8 (7)
m23=-x9 (8)
m24=x10 3=x10×x10×x10 (9)
需要注意的是,公式(4)中,只包含一个自变量,且该自变量不涉及与自身(幂运算)和其他自变量的计算,因此,第三次分割中不再包括x1的内容,x9也属于同样的情况。
(3)第三层分割
第三层逻辑分割,结果为公式:
m121=x2+x3 (10)
m122=x4+x5 (11)
m211=x6 (12)
m212=x6 (13)
m221=x7 (14)
m222=x8 (15)
m241=x10 (16)
m242=x10 (17)
m243=x10 (18)
(4)第四层分割
第四层逻辑分割,结果为公式:
m1211=x2 (19)
m1212=x3 (20)
m1221=x4 (21)
m1222=x5 (22)
逻辑分割结束的依据是最后每个最小逻辑单元里,只包括一个自变量,如果出现几个相同的自变量在结果中,说明这是同一的变量多次的运算。
最后形成的运算逻辑框架如图5中的模型逻辑分割框架图所示:
由图5可知,本发明举例中的模型,经四层分割,最后得到13个基本逻辑单元,由下到上分别为:m1211、m1212、m1221、m1222、m211、m212、m221、m222、m241、m242、m243、m11、m23。判断其是否为最终的逻辑单元,标准是其下再没有进行分割,此单元内只涉及一个自变量的运算。
(II)模型逻辑的碱基密码加工
(1)随机确定碱基配对原则
由于碱基只有“A、T、C、G”四种,可以对应“加、减、乘、除”四种算法,由此碱基与算法有4×4=16种配对方法。本发明为了简便起见,由以下顺序确定“A-加、T-减、C-乘、G-除”,在实际处理中,可通过多层嵌套的方法增加解密难度,如“AT-加、TA-减、CG-乘、GC-除”每嵌套一次,解密难度会呈现几何级数上升。有的逻辑单元不涉及所有分割层次,如m212只分到第三层,则第四层对应的算法碱基以“U”代替,标识逻辑缺省。
(2)逻辑单元碱基配对
根据逻辑分割的层次,依据碱基配对原则(配对过程要包括所有四层的运算逻辑,而不仅仅是一层的),配对出运算序列,如表1所示:
表1:与逻辑分割对应的碱基配对表
表1中,第一列为逻辑单元,第二列为计算序号,后期可以根据该计算序号对整个公式所有单元逻辑进行“组装”。第一层分割对应的所有元素都需要和权重值相乘,所以碱基均为“C”。
(III)获取逻辑单元碱基密码
将逻辑单元的计算序号、碱基密码以及权重组装在一起,形成逻辑单元碱基密码列表,如表2所示:
表2:逻辑单元碱基序列表
/>
如图6所示,根据本申请的另一实施例,还提供的一种分布式数据处理方法,包括如下所述步骤S1至S5:
步骤S1.接收用于进行计算的待处理信息,待处理信息中包括至少两个变量信息。
具体的,本实施例方法可以应用于对各个变量信息进行分发的分发平台;待处理信息是用于按照预设算法进行计算的数据,也就是说,待处理信息是需要通过算法进行计算,以得到对应的计算结果;其中,每个变量信息中可以包括:变量类型以及变量值;其中变量类型可以是诸如x1、x2等变量;也可以是诸如:本金、利率等用于表征变量的具体含义的信息。
步骤S2.获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据,运算数据包括:运算步骤对应的运算法则、执行运算步骤的第一运算节点的第一节点标识以及用于接收运算步骤运算结果的第二运算节点的第二节点标识。
其中,运算节点用于提供执行运算步骤对应的运算能力,各运算步骤对应不同的运算节点。
具体的,每个运算步骤都存在一个与其对应的运算节点;可选的,运算流程可以是:在需要对变量信息进行运算时,实时选择一个运算节点,并确定得到包括一个运算步骤的运算流程;运算流程可以包括该变量信息或包括该变量信息的中间变量信息(举例的:当变量信息对应的变量是x1时,中间变量信息可以是包括根据x1得到的中间变量(x1+x2),或者x3(x1+x2)等等)的多个运算流程。
一般的,为了打乱中心化处理,以提高解密的难度,一般每个运算节点处理有限次数(例如:至多一次)的运算,以避免一个节点处理过多的运算步骤,进而到推出算法的概率。
运算法则可以是例如:加、减、乘、除、立方等运算的规则,以及在进行运算时,各个变量之间的运算关系(例如:当存在变量x1和x2时,且两者之间需要相除时,运算法则除了确定x1和x2之间需要进行除法运算,还确定x1和x2相对于除号的位置关系,即确定x1和x2中的除数和被除数)。
其中,第一运算节点是与运算步骤对应的,对变量信息进行处理的运算节点;第二运算节点是用于接收运算结果,并根据运算结果进行计算的运算节点;每个运算节点都对应于一个节点标识,节点标识可以是运算节点的地址信息或者唯一标识信息,进而可以通过节点标识定位到运算信息需发送至的目标运算节点。
在一些情况下,在进行运算时,可能会涉及多个变量信息,因此,同一个运算节点在该情况下可以接收到多个变量信息;此外,当变量信息对应的运算法则是求负或者求倒数时,同一个运算节点中也可以只接收到一个变量信息。
步骤S3.根据运算数据及变量信息生成各第一运算节点对应的运算控制信息。
具体的,当第一运算节点是接收经过任何计算的变量信息,同时关联有需要将运算结果发送至的第二运算节点时,运算控制信息中会包括:运算步骤对应的运算法则、执行运算步骤的第一运算节点的第一节点标识,用于接收运算步骤运算结果的第二运算节点的第二节点标识,以及变量信息。
当第一运算节点中接收得到的用于计算的变量信息是中间变量时,则只需接收运算法则、第一节点标识以及第二节点标识。
当第一运算节点运算流程中最后一个运算步骤对应的运算节点时,则只需接收运算法则和第一节点标识即可。
步骤S4.根据第一节点标识将运算控制信息发送到第一运算节点;以使第一运算节点根据运算控制信息计算得到运算结果,并将运算结果根据第二节点标识发送至第二运算节点。
步骤S5.获取最终运算节点计算得到最终结果;其中,最终运算节点为运算流程中的最后一个运算节点。
具体的,在第一运算节点按照运算信息中的运算法则对变量信息进行运算后,得到运算结果。
此外,由于运算信息中还包括第二运算节点的节点标识,因此,第一运算节点在得到运算结果之后,可以根据节点标识将运算结果发送至对应的第二运算节点中,以使目标运算节点可以根据运算结果继续进行下一运算步骤。
并且按此递归,使第二运算节点得到的运算结果再发送至下一运算节点中;直至由最终运算节点根据接收到的前序的运算节点计算得到的运算结果,以及接收到的运算法则计算得到最终结果;并且,在第二运算节点得到运算结果之后,第二运算节点所需将运算结果转发至的另一运算节点的节点标识,可以由控制端下发的信息中获取得到;进而,实现本实施例方法的分发平台,只能执行分发的动作,而无法获取待处理信息以及算法模型的全貌。
进一步的,在本实施例中,运算法则、第二节点标识以及变量信息可以是同时发送至第一运算节点,也可以是先将运算法则以及变量信息先发送至第一运算节点,在当前运算节点反馈其得到运算结果之后,再将第二节点标识发送至第一运算节点;上述两种方法均可达到使第一运算节点将运算结果发送至执行下一运算步骤的第二运算节点中的目的。
通过本实施例中的方法,通过将运算步骤拆分为多个子步骤,并且分别由多个运算节点进行运算,使每个运算节点都只能获取部分算法以及单个变量信息,而无法获取算法以及待处理信息的全貌,可以有效避免算法被破解,并避免待处理信息外泄。
如图7所示,在一些实施例中,如前述的方法,所述步骤S3根据运算数据及变量信息生成各第一运算节点对应的运算控制信息,包括如下所述步骤S31至S34:
步骤S31.查询得到变量信息对应的算法序列,并根据变量信息以及对应的算法序列生成运算单元。
具体的,变量信息中可以包括类型信息,算法序列也可以对应有一个类型信息;进而,可以通过对类型信息的字符进行匹配的方式进行上述查询,在查询得到算法序列之后,可以通过在算法序列中添加一个字段,用于写入该变量信息的变量值,进而生成运算单元。
其中算法序列的获取方法可参考前述实施例中的内容,在此不再进行赘述。
步骤S32.确定各个运算单元对应的运算数据。
具体的,由于运算数据是接收自算法处理服务器发送的信息,运算数据可以是根据分割后子模型确定得到的,且分割后子模型中包括算法序列,因此,可以根据该算法序列匹配得到对应的运算单元,进而确定运算单元对应的运算数据。
步骤S33.根据运算数据及运算单元生成各第一运算节点对应的运算控制信息。
运算单元中包括变量信息,因此可以根据运算数据以及运算单元得到各第一运算节点对应的运算控制信息。
进一步的,由于第二运算节点可能会接收得到多个运算结果,而且在执行相同的相同规则(例如:除法)的运算时,除数和被除数相互对调,则会得到完全不同的结果,因此,运算数据中还可以携带有指定各个第一运算单元对应的运算结果的顺序的信息,举例的,信息的其中一种可选的表达方式可以是:x1、x2、÷;进而使第二运算单元可以得知应该是x1÷x2;当第二运算单元接收得到的是:x2、x1、÷;则第二运算单元应该执行的运算是x2÷x1
在一些实施例中,如前述的方法,所述步骤S4根据第一节点标识将运算控制信息发送到第一运算节点,包括如下所述步骤S41和S42:
步骤S41.将运算控制信息按照预设的加密策略进行加密,得到加密信息;
步骤S42.将加密信息发送到第一运算节点,以使第一运算节点按照与加密策略对应的解密策略对加密信息进行解密,得到运算控制信息。
具体的,本实施例中的加密策略和解密策略是相互对应设置的,可选的,可以采用对应的公钥和私钥。
因此可以通过私钥对运算法则、节点标识以及变量信息在内的运算控制信息进行加密;并且预先将公钥分发到各个可以用于进行计算的候选运算节点中。以使候选运算节点被选中后,可以根据公钥对加密信息进行解密,得到运算法则、节点标识以及变量信息。
通过本实施例中的方法,可以通过加密,避免非法人员对分发的信息进行截取,导致数据以及算法外泄,影响安全性。
应用例:
通过上述实施例中的方法实现运算组装单元及分布式运算:
逻辑单元的碱基密码与数据单元合并为运算子单元,且运算子单元与逻辑单元可以构成运算单元。
在前一应用例的基础上,由模型分割的过程可知,每个逻辑单元对应不同的自变量x,将分割过的数据单元与逻辑单元进行组合,组成运算单元如表3所示:
表3:逻辑单元、碱基密码及自变量对应表
其中,每个运算单元的最左侧都带有计算序号,可作为运算单元的排序用编号。
并且根据该计算序号,在指示运算节点进行计算时,可以用于限定两个或两个以上的变量信息进行相互计算时的顺序;举例的:在用于计算得到m121和m122之间的商时,可以通过m1211、m1212、m1221和m1222分别对应的序号1、2、3和4确定在进行除法运算时,应该是m121/m122而不是m122/m121
分布式运算环境随机选择及逆逻辑切割顺序的分布式运算过程
通过随机方法,在区块链中选择与运算单元对应的运算节点,由运算节点提供算力,对运算单元进行运算。具体过程如下:
(1)运算单元首次分发及运算
运算单元分发,是遵循逻辑分割的顺序的,及安装模型逻辑切割的过程进行,如果按照分割的次数进行发送,第一次分发出去的运算单元,可以是第1、2、3、4号,如果只是对各个运算单元进行存储,则还可以其它运算单元;特别是1、2、3、4号运算单元,在第一次分发时可以不带有算法,只做存储用。随机分发是为了打乱中心化切割后的存储状态,通过去中心化过程提高解密难度,各个运算节点是随机选出的,因此,“合谋”的可能性会降低。
此次分发和运算的结果,得到x2、x3、x4、x5、x1、x9,其中x2、x3、x4、x5单独存在,举例的,在对x1、x9进行分发时,可以带有相关的算法,并使运算节点计算得到对应的运算结果:x1/3和-x9
(2)运算单元多次分发及分布式运算
依照上述运算单元的产生过程,依次得出以下结果:
a.第二次分发及运算
得到:x2+x3以及x4+x5
b.第三次分发及运算
得到:(x2+x3)/(x4+x5)、x6×x6(等价于x6 2)、x7×x8、x10×x10×x10(等价于x10 3)。
c.第四次分发及运算
得到[x1/3+(x2+x3)/(x4+x5)]和[x6 2+x7×x8+x10×x10×x10]两个结果。
d.最终结果的运算及组装
将分布式运算结果组合到一个随机选取的分布式计算节点中,得到:
[x1/3+(x2+x3)/(x4+x5)]、[x6 2+x7×x8+x10×x10×x10]的组合,代入算法A权重系数(在运算单元中已经标识出),还原得到公式(1)。
0.8×[x1/3+(x2+x3)/(x4+x5)]+0.2×[x6 2+x7×x8+x10 3] (1)
进而完整的还原得到了公式(1),即目标模型。
如图8所示,根据本申请的另一方面,还提供了一种分布式数据处理***,包括:分发平台3、数据提供端2以及算法处理服务器1;
数据提供端2将需要进行计算的待处理信息发送至分发平台,待处理信息中包括至少两个变量信息;
算法处理服务器1确定运算流程中各运算步骤对应的运算数据,并将运算数据发送至分发平台;运算数据包括:运算步骤对应的运算法则、执行运算步骤的第一运算节点401的第一节点标识以及用于接收运算步骤运算结果的第二运算节点402的第二节点标识;
分发平台3根据运算数据及变量信息生成各第一运算节点401对应的运算控制信息;
分发平台3根据第一节点标识将运算控制信息发送到第一运算节点401;
第一运算节点401根据运算控制信息计算得到运算结果,并将运算结果根据第二节点标识发送至第二运算节点402;
按此递归,直至最终运算节点403计算得到最终结果;其中,最终运算节点为运算流程中的最后一个运算节点。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的***,分发平台3根据第一节点标识将运算控制信息发送到第一运算节点401,包括:
分发平台3将运算控制信息按照预设的加密策略进行加密,得到第一加密信息;
分发平台3将加密信息发送到第一运算节点401;
第一运算节点401按照与加密策略对应的解密策略对第一加密信息进行解密,得到运算控制信息。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的***,第一运算节点401根据运算控制信息计算得到运算结果,并将运算结果根据第二节点标识发送至第二运算节点402,包括:
第一运算节点401根据运算控制信息计算得到运算结果;
第一运算节点401将运算结果按照加密策略进行加密,得到第二加密信息,将第二加密信息根据第二节点标识发送至第二运算节点402;
分发平台3根据运算数据生成第二运算节点对应的运算控制信息;
分发平台3将运算控制信息按照加密策略进行加密,得到第三加密信息,将第三加密信息根据第二节点标识发送至第二运算节点402;
第二运算节点402按照与解密策略对第二加密信息和第三加密信息进行解密,得到对应的运算数据。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
如图9所示,根据本申请另一方面的一个实施例,还提供了一种模型分割的数据处理装置,包括:
分割模块11,用于对目标模型进行分割,确定依次分割对应的运算法则以及分割得到的逻辑单元;
算法序列模块12,用于根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列;
确定模块13,用于根据所述目标模型确定每个所述最小逻辑单元之间的逻辑关系信息;
子模型获取模块14,用于根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型;
发送模块15,用于根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,并将所述运算数据发送到分发平台。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
如图10所示,根据本申请另一方面的一个实施例,还提供了一种分布式数据处理装置,包括:
第一获取模块21,用于获取用于进行计算的待处理信息,所述待处理信息中包括至少两个变量信息;
第二获取模块22,用于获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
生成模块23,用于根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
发送模块24,用于根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;以使所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
第三获取模块25,用于获取最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图11所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (15)

1.一种分布式数据处理方法,其特征在于,包括:
获取用于进行计算的待处理信息,所述待处理信息中包括至少两个变量信息;
获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;以使所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
获取最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
2.根据权利要求1所述的方法,其特征在于:所述根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息,包括:
查询得到所述变量信息对应的算法序列,并根据所述变量信息以及对应的算法序列生成运算单元;
确定各个所述运算单元对应的所述运算数据;
根据所述运算数据及所述运算单元生成各第一运算节点对应的运算控制信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点,包括:
将所述运算控制信息按照预设的加密策略进行加密,得到加密信息;
将所述加密信息发送到所述第一运算节点,以使所述第一运算节点按照与所述加密策略对应的解密策略对所述加密信息进行解密,得到所述运算控制信息。
4.一种模型分割的数据处理方法,其特征在于,包括:
对目标模型进行分割,确定依次分割对应的运算法则以及分割得到的逻辑单元;
根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列;
根据所述目标模型确定每个所述最小逻辑单元之间的逻辑关系信息;
根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型;
根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,并将所述运算数据发送到分发平台,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识。
5.根据权利要求4所述的方法,其特征在于,所述根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列,包括:
确定由所述目标模型分割得到所述最小逻辑单元依次依据的运算法则;
将每个所述最小逻辑单元对应的所述运算法则按分割的顺序排列,得到与每个所述最小逻辑单元对应的所述算法序列。
6.根据权利要求4所述的方法,其特征在于,所述根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型,包括:
根据每个所述最小逻辑单元的算法序列,确定每个所述最小逻辑单元的层级信息;
按照所述逻辑关系信息以及所述层级信息逐层确定每个所述最小逻辑单元的计算序号;
根据每个所述运算法则对应的碱基,得到与所述算法序列对应的碱基密码;其中,所述碱基包括至少一个字符;
根据每个所述最小逻辑单元的计算序号、碱基密码以及所述最小逻辑单元得到所述分割后子模型。
7.根据权利要求6所述的方法,其特征在于,所述根据每个所述运算法则对应的碱基,得到与所述算法序列对应的碱基密码,包括:
根据每个所述运算法则对应的碱基,得到与各个所述算法序列对应的第一碱基密码;
确定所有所述第一碱基密码中碱基数量最多的最长碱基密码;
根据所述最长碱基密码的最大碱基数量确定第二碱基密码的碱基补偿数量;其中,所述第二碱基密码是碱基数量少于所述最长碱基密码的第一碱基密码;
按照所述碱基补偿数量在所述第二碱基密码的最终运算法则的后端补充空逻辑碱基,以将第二碱基密码的碱基数量补偿至所述最大碱基数量,并得到补偿后第二碱基密码;所述最终运算法则是所述算法序列中最后一个运算法则;所述空逻辑碱基是不包含运算法则的碱基;
根据所述最长碱基密码以及补偿后第二碱基密码得到与各个所述算法序列对应的碱基密码。
8.根据权利要求4所述的方法,其特征在于,所述根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,包括:
对所述逻辑关系信息进行解析,确定相互关联的各个所述逻辑单元;
根据所述相互关联的各个所述逻辑单元以及所述逻辑关系信息,得到所述运算流程;
根据所述算法序列,确定各个所述逻辑单元相互关联时对应的运算法则;
根据各个所述逻辑单元相互关联时对应的运算法则,得到所述运算流程中各个运算步骤对应的运算法则;
随机选择得到执行各个所述运算步骤对应的运算节点,并确定各个所述运算节点的节点标识;
根据各个所述运算步骤对应的运算节点的节点标识以及运算法则,得到所述运算步骤对应的运算数据。
9.一种分布式数据处理***,其特征在于,包括:分发平台、数据提供端以及算法处理服务器;
所述数据提供端将需要进行计算的待处理信息发送至分发平台,所述待处理信息中包括至少两个变量信息;
所述算法处理服务器确定运算流程中各运算步骤对应的运算数据,并将所述运算数据发送至所述分发平台;所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
所述分发平台根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
所述分发平台根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;
所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
按此递归,直至最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
10.根据权利要求9所述的***,其特征在于,所述分发平台根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点,包括:
所述分发平台将所述运算控制信息按照预设的加密策略进行加密,得到第一加密信息;
所述分发平台将所述加密信息发送到所述第一运算节点;
所述第一运算节点按照与所述加密策略对应的解密策略对所述第一加密信息进行解密,得到所述运算控制信息。
11.根据权利要求10所述的***,其特征在于,所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点,包括:
所述第一运算节点根据所述运算控制信息计算得到所述运算结果;
所述第一运算节点将所述运算结果按照所述加密策略进行加密,得到第二加密信息,将所述第二加密信息根据所述第二节点标识发送至所述第二运算节点;
所述分发平台根据所述运算数据生成所述第二运算节点对应的运算控制信息;
所述分发平台将所述运算控制信息按照所述加密策略进行加密,得到第三加密信息,将所述第三加密信息根据所述第二节点标识发送至所述第二运算节点;
所述第二运算节点按照与所述解密策略对所述第二加密信息和第三加密信息进行解密,得到对应的运算数据。
12.一种分布式数据处理装置,其特征在于,包括:
第一获取模块,用于获取用于进行计算的待处理信息,所述待处理信息中包括至少两个变量信息;
第二获取模块,用于获取来自于算法处理服务器的运算流程中各运算步骤对应的运算数据,所述运算数据包括:所述运算步骤对应的运算法则、执行所述运算步骤的第一运算节点的第一节点标识以及用于接收所述运算步骤运算结果的第二运算节点的第二节点标识;
生成模块,用于根据所述运算数据及所述变量信息生成各第一运算节点对应的运算控制信息;
发送模块,用于根据所述第一节点标识将所述运算控制信息发送到所述第一运算节点;以使所述第一运算节点根据所述运算控制信息计算得到所述运算结果,并将所述运算结果根据所述第二节点标识发送至所述第二运算节点;
第三获取模块,用于获取最终运算节点计算得到最终结果;其中,所述最终运算节点为所述运算流程中的最后一个运算节点。
13.一种模型分割的数据处理装置,其特征在于,包括:
分割模块,用于对目标模型进行分割,确定依次分割对应的运算法则以及分割得到的逻辑单元;
算法序列模块,用于根据分割得到最小逻辑单元对应的所有所述运算法则,得到与所述最小逻辑单元对应的算法序列;
确定模块,用于根据所述目标模型确定每个所述最小逻辑单元之间的逻辑关系信息;
子模型获取模块,用于根据所述算法序列、所述逻辑关系信息以及所述最小逻辑单元得到分割后子模型;
发送模块,用于根据所述分割后子模型确定运算流程,以及所述运算流程中各运算步骤对应的运算数据,并将所述运算数据发送到分发平台。
14.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-8任一项所述的方法步骤。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1-8中任一项所述的方法步骤。
CN202110183631.1A 2021-02-08 2021-02-08 一种分布式数据处理方法及*** Active CN112966279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110183631.1A CN112966279B (zh) 2021-02-08 2021-02-08 一种分布式数据处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110183631.1A CN112966279B (zh) 2021-02-08 2021-02-08 一种分布式数据处理方法及***

Publications (2)

Publication Number Publication Date
CN112966279A CN112966279A (zh) 2021-06-15
CN112966279B true CN112966279B (zh) 2023-11-03

Family

ID=76284809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110183631.1A Active CN112966279B (zh) 2021-02-08 2021-02-08 一种分布式数据处理方法及***

Country Status (1)

Country Link
CN (1) CN112966279B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012903A (zh) * 2009-09-04 2011-04-13 斯必克有限公司 用于在一个关系数据库中组织分层数据的方法和设备
CN109426574A (zh) * 2017-08-31 2019-03-05 华为技术有限公司 分布式计算***,分布式计算***中数据传输方法和装置
CN109450617A (zh) * 2018-12-06 2019-03-08 成都卫士通信息产业股份有限公司 加解密方法及装置、电子设备、计算机可读存储介质
CN111666087A (zh) * 2020-05-28 2020-09-15 平安医疗健康管理股份有限公司 运算规则更新方法、装置、计算机***及可读存储介质
WO2020233350A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 基于明文日志的收据存储方法、节点和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012903A (zh) * 2009-09-04 2011-04-13 斯必克有限公司 用于在一个关系数据库中组织分层数据的方法和设备
CN109426574A (zh) * 2017-08-31 2019-03-05 华为技术有限公司 分布式计算***,分布式计算***中数据传输方法和装置
WO2019042312A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 分布式计算***,分布式计算***中数据传输方法和装置
CN109450617A (zh) * 2018-12-06 2019-03-08 成都卫士通信息产业股份有限公司 加解密方法及装置、电子设备、计算机可读存储介质
WO2020233350A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 基于明文日志的收据存储方法、节点和***
CN111666087A (zh) * 2020-05-28 2020-09-15 平安医疗健康管理股份有限公司 运算规则更新方法、装置、计算机***及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于微服务的试验台数采分析展示架构;关岳;王戬;;自动化博览(09);全文 *
基于WebGIS的气象服务产品制作***及关键技术;吕终亮;白新萍;薛峰;;应用气象学报(01);全文 *

Also Published As

Publication number Publication date
CN112966279A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
US20240113858A1 (en) Systems and Methods for Performing Secure Machine Learning Analytics Using Homomorphic Encryption
US11100427B2 (en) Multi-party computation system for learning a classifier
Garrido et al. Revealing the landscape of privacy-enhancing technologies in the context of data markets for the IoT: A systematic literature review
US20190036678A1 (en) Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
EP3651405B1 (en) Cryptographic datashare control for blockchain
CN112347495A (zh) 一种基于区块链的可信隐私智能服务计算***及方法
CN113239391B (zh) 一种无第三方的逻辑回归联邦学习模型训练***及方法
CN112272825A (zh) 用于结构化对象以在软件环境中操作的***和方法
JPWO2022016102A5 (zh)
Oppermann et al. Secure cloud computing: Reference architecture for measuring instrument under legal control
Serrano et al. A peer-to-peer ownership-preserving data marketplace
JP2019153216A (ja) 学習装置、情報処理システム、学習方法、及びプログラム
Wang et al. A blockchain-based system for secure image protection using zero-watermark
Upadhyay et al. Auditing metaverse requires multimodal deep learning
CN117521102A (zh) 一种基于联邦学习的模型训练方法及装置
CN112966279B (zh) 一种分布式数据处理方法及***
Covaci et al. NECTAR: non-interactive smart contract protocol using blockchain technology
Anwarbasha et al. An efficient and secure protocol for checking remote data integrity in multi-cloud environment
Arulananth et al. Multi party secure data access management in cloud using user centric block chain data encryption
CS Machado et al. Software control and intellectual property protection in cyber-physical systems
US20220318389A1 (en) Transforming dataflows into secure dataflows using trusted and isolated computing environments
Abukari et al. A homomorphic block approach to blockchain and cloud ERP implementation
Geetha et al. Blockchain based Mechanism for Cloud Security
Ahmed et al. Integrity verification for an optimized cloud architecture
CN113065156B (zh) 一种控制延时的多方联合数据处理方法及装置

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