一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

隐私计算、隐私数据和联邦学习的互联互通方法及装置与流程

2022-07-20 20:36:03 来源:中国专利 TAG:

1.本技术涉及隐私计算、隐私数据及联邦学习技术领域,具体涉及一种隐私计算、隐私数据和联邦学习的互联互通方法及装置。


背景技术:

2.隐私计算(privacy computing)指的是在保证数据提供方不泄露原始数据的前提下对数据进行分析计算的一系列技术,保证数据在流通和融合过程中“可用不可见”。隐私计算在通常意义上涵盖以保护数据隐私的同时实现计算任务为目的所使用的一系列广泛的技术。隐私计算结合计算机科学、人工智能以及云计算等技术的发展,在数据查询和机器学习中取得了重大进展,在诸多应用场景下提供了对数据的安全获取和对数据隐私的保护。常见的隐私计算技术包括如联邦学习(federated learning,fl)、安全多方计算(secure multi-party computation,smpc)、秘密共享(secret sharing)、可信执行环境(trusted execution environment,tee)、差分隐私(differential privacy,dp)、同态加密(homomorphic encryption,he)等。其中联邦学习指的是在确保数据不离开安全控制范围例如数据不传递到外部的前提下实现多方协同构建联邦学习模型。另一方面,随着对数据安全和隐私信息保护的日益重视以及《数据安全法》和《个人信息保护法》等相关法律法规的推出,隐私数据例如涉及个人信息或敏感信息的个人隐私数据等,在数据处理、数据通信、数据交互等各方面也面临更高的隐私保护和数据安全的要求。
3.随着隐私计算技术的发展以及与人工智能、密码学、计算机科学等技术的融合,出现了各种隐私计算框架或者隐私计算平台,例如fate、paddlefl和pysyft等,这些隐私计算框架(平台)往往采用不同的后端技术和安全协议来提供在数据安全和隐私信息保护方面的技术支持,从而使得隐私计算任务、隐私数据相关处理以及联邦学习项目可以顺利进行。此外,同一个隐私计算框架也可能出现版本更迭和企业二次开发或深度定制的版本,例如fate框架已经迭代了多个版本如fate 1.4版本和fate 1.7版本,这些不同版本或者企业定制的隐私计算框架之间也可能在底层技术如软件技术和硬件实现上有所变化。当多个参与方一起协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时,不同参与方之间可能采用不同的隐私计算框架或者同一个隐私计算框架的不同版本,也因此可能是基于不同的后端技术、安全协议或者底层软硬件技术来提供隐私计算能力及服务。而随着相关法律法规和监管条例对数据安全和隐私保护方面提出的合规性要求逐步加强,多个参与方之间的协作需要克服如计算环境建设、数据传输、数据留存等各方面的技术挑战并在满足数据安全和隐私保护方面的合规性要求前提下做到互联互通,包括跨平台跨架构的互联和数据流通。现有技术中,通过制定不同参与方之间的通用标准如统一的安全标准和标准化算法组件来做到跨平台互联互通。但是,这种基于通用标准的互联互通方案要求每个参与方都采用标准化的组件来构建通用架构或者在既有隐私计算框架基础上进行大幅改造,因此不利于参与方采用最符合自身需求的隐私计算框架也带来了额外的资源和开销,而很多持有高价值数据的参与方如中小企业和个人往往缺乏足够的资源和技术在实施基于通用标
准的互联互通方案同时还能满足数据安全和隐私保护方面的合规性要求。
4.为此,需要一种隐私计算、隐私数据和联邦学习的互联互通方法及装置,不仅能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。


技术实现要素:

5.第一方面,本技术实施例提供了一种互联互通方法,应用于隐私计算、隐私数据和联邦学习。所述互联互通方法应用于第一参与方和第二参与方之间的互联互通,所述第一参与方和所述第二参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络,所述互联互通方法包括:由所述第一参与方和所述第二参与方共同确定所述第一参与方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求,其中所述第一参与方和所述第二参与方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成隐私计算任务;由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述第一参与方发送给所述第二参与方的第一数据进行第一数据预处理操作从而使得该第一数据适配所述第二隐私计算框架,或者,由所述第二参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述第二参与方发送给所述第一参与方的第二数据进行第二数据预处理操作从而使得该第二数据适配所述第一隐私计算框架;由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第一参与方发起的第一任务启动请求/第一任务启动答复进行第一启动方式适配操作从而使得所述第一任务启动请求/第一任务启动答复适配所述第二隐私计算框架,或者,由所述第二参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第二参与方发起的第二任务启动请求/第二任务启动答复进行第二启动方式适配操作从而使得所述第二任务启动请求/第二任务启动答复适配所述第一隐私计算框架。
6.第一方面所描述的技术方案,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
7.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述互联互通方法还包括:由所述第一参与方单方面地基于所述第二隐私计算框架的硬件资源需求确定与所述第二参与方关联的资源调度策略,并且所述第一参与方在所述隐私计算任
务被启动之前根据与所述第二参与方关联的资源调度策略对所述第一参与方的可执行资源进行资源预分配操作从而适配所述第二隐私计算框架的硬件资源需求。
8.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第二隐私计算框架的硬件资源需求包括以下至少一项:cpu线程数、内存空间、磁盘空间、fpga。
9.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,与所述第二参与方关联的资源调度策略是基于所述第二隐私计算框架的框架特性和任务数据量级确定的最优最小资源分配策略。
10.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一数据格式要求和所述第二数据格式要求之间的差异包括以下至少一项:是否需要数据拆分、是否需要特征预处理、是否需要秘密分享状态。
11.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一任务启动要求和所述第二任务启动要求之间的差异包括以下至少一项:模型结构的差异、模型参数配置的差异、是否需要秘密分享环境、是否需要cpu层级安全区域。
12.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第二数据格式要求和所述第二任务启动要求是基于所述第一参与方和所述第二参与方之间的在启动所述隐私计算任务之前的协作历史确定。
13.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一数据格式要求和所述第一任务启动要求是基于所述第一参与方和所述第二参与方之间的在启动所述隐私计算任务之前的协作历史确定。
14.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第二参与方是所述隐私计算任务的发起方并且所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起,所述第二数据格式要求和所述第二任务启动要求是基于所述第二任务启动请求确定,该第二任务启动请求包括数据标签、模型结构和参数配置。
15.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一参与方是数据源方,所述第二参与方是数据应用方,所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起并由所述第一参与方通过所述第一任务启动答复响应,所述第一数据包括待发布数据集的标识信息,并且由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对所述待发布数据集的标识信息进行第一数据预处理操作以及由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对所述第一任务启动答复进行第一启动方式适配操作。
16.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一参与方是数据源方,所述第二参与方是数据应用方,所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起并由所述第一参与方通过所述第一任务启动答复响应,所述第二数据包括加密后的中间数据,并且由所述第二参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对所述加密后的中间数据进行第二数据预处理操作以及由所述第二参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对所述第二任务启动请求进行第二启动方
式适配操作。
17.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一参与方是数据源方,所述第二参与方是数据应用方,所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起并由所述第一参与方通过所述第一任务启动答复响应,所述第一数据包括待发布数据集的标识信息和加密后的中间数据,并且由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对所述第一数据进行第一数据预处理操作以及由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对所述第一任务启动答复进行第一启动方式适配操作。
18.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第一隐私计算框架/所述第二隐私计算框架是fate框架、pysyft框架或者sgx框架。
19.第二方面,本技术实施例提供了一种非瞬时性计算机可读存储介质。所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现根据第一方面中任一项所述的互联互通方法。
20.第二方面所描述的技术方案,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
21.第三方面,本技术实施例提供了一种电子设备。所述电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现根据第一方面中任一项所述的互联互通方法。
22.第三方面所描述的技术方案,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
23.第四方面,本技术实施例提供了一种互联互通方法,应用于隐私计算、隐私数据和联邦学习。所述互联互通方法应用于隐私计算任务的发起方和响应方之间的互联互通,所述互联互通方法包括:由所述发起方和所述响应方共同确定所述发起方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述响应方的第二隐私计算框架的第二
数据格式要求和第二任务启动要求,其中所述发起方和所述响应方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成所述隐私计算任务;由所述发起方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述发起方发送给所述响应方的第一数据进行第一数据预处理操作从而使得该第一数据适配所述第二隐私计算框架,或者,由所述响应方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述响应方发送给所述发起方的第二数据进行第二数据预处理操作从而使得该第二数据适配所述第一隐私计算框架;由所述发起方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述发起方发起的第一任务启动请求进行第一启动方式适配操作从而使得所述第一任务启动请求适配所述第二隐私计算框架,或者,由所述响应方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述响应方发起的第二任务启动答复进行第二启动方式适配操作从而使得所述第二任务启动答复适配所述第一隐私计算框架。其中,所述隐私计算任务由所述发起方通过所述第一任务启动请求发起以及由所述响应方通过所述第二任务启动答复响应所述第一任务启动请求。其中,所述第二数据格式要求和所述第二任务启动要求是基于所述第二任务启动答复确定,该第二任务启动答复包括数据标签、模型结构和参数配置。
24.第四方面所描述的技术方案,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
25.第五方面,本技术实施例提供了一种互联互通方法,应用于隐私计算、隐私数据和联邦学习。所述互联互通方法应用于数据源方和数据应用方之间的互联互通,所述互联互通方法包括:由所述数据源方和所述数据应用方共同确定所述数据源方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述数据应用方的第二隐私计算框架的第二数据格式要求和第二任务启动要求,其中所述数据源方和所述数据应用方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成隐私计算任务;由所述数据源方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述数据源方发送给所述数据应用方的待发布数据集的标识信息或者加密后的中间数据进行第一数据预处理操作从而使得该待发布数据集的标识信息或者加密后的中间数据适配所述第二隐私计算框架,或者,由所述数据应用方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述数据应用方发送给所述数据源方的加密后的中间数据进行第二数据预处理操作从而使得该加密后的中间数据适配所述第一隐私计算框架;由所述数据源方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述数据源方发起的第一任务启动答复进行第一
启动方式适配操作从而使得所述第一任务启动答复适配所述第二隐私计算框架,或者,由所述数据应用方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述数据应用方发起的第二任务启动请求进行第二启动方式适配操作从而使得所述第二任务启动请求适配所述第一隐私计算框架。其中,所述隐私计算任务由所述数据应用方通过所述第二任务启动请求发起并由所述数据源方通过所述第一任务启动答复响应。
26.第五方面所描述的技术方案,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
27.根据第五方面的技术方案的一种可能的实现方式,本技术实施例还提供了,其中所述第一数据格式要求和所述第二数据格式要求之间的差异包括以下至少一项:是否需要数据拆分、是否需要特征预处理、是否需要秘密分享状态,以及所述第一任务启动要求和所述第二任务启动要求之间的差异包括以下至少一项:模型结构的差异、模型参数配置的差异、是否需要秘密分享环境、是否需要cpu层级安全区域。
28.根据第五方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述互联互通方法还包括:由所述数据源方单方面地基于所述第二隐私计算框架的硬件资源需求确定与所述数据应用方关联的资源调度策略,并且所述数据源方在所述隐私计算任务被启动之前根据与所述数据应用方关联的资源调度策略对所述数据源方的可执行资源进行资源预分配操作从而适配所述第二隐私计算框架的硬件资源需求。
29.根据第五方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述第二隐私计算框架的硬件资源需求包括以下至少一项:cpu线程数、内存空间、磁盘空间、fpga,以及与所述数据应用方关联的资源调度策略是基于所述第二隐私计算框架的框架特性和任务数据量级确定的最优最小资源分配策略。
附图说明
30.为了说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
31.图1示出了本技术实施例提供的多个参与方之间互联互通方法的应用场景。
32.图2示出了本技术实施例提供的一种实施方式的互联互通方法的流程示意图。
33.图3示出了本技术实施例提供的另一种实施方式的互联互通方法的流程示意图。
34.图4示出了本技术实施例提供的另一种实施方式的互联互通方法的流程示意图。
35.图5示出了本技术实施例提供的用于互联互通方法的电子设备的框图。
具体实施方式
36.本技术实施例为了解决如何确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,进而实现不同参与方、不同平台、不同架构之间的互联互通,这样的技术难题,提出了一种隐私计算、隐私数据和联邦学习的互联互通方法及装置。其中,所述互联互通方法应用于隐私计算、隐私数据和联邦学习以及应用于第一参与方和第二参与方之间的互联互通,所述第一参与方和所述第二参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络。所述互联互通方法包括:由所述第一参与方和所述第二参与方共同确定所述第一参与方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求,其中所述第一参与方和所述第二参与方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成隐私计算任务;由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述第一参与方发送给所述第二参与方的第一数据进行第一数据预处理操作从而使得该第一数据适配所述第二隐私计算框架,或者,由所述第二参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述第二参与方发送给所述第一参与方的第二数据进行第二数据预处理操作从而使得该第二数据适配所述第一隐私计算框架;由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第一参与方发起的第一任务启动请求/第一任务启动答复进行第一启动方式适配操作从而使得所述第一任务启动请求/第一任务启动答复适配所述第二隐私计算框架,或者,由所述第二参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第二参与方发起的第二任务启动请求/第二任务启动答复进行第二启动方式适配操作从而使得所述第二任务启动请求/第二任务启动答复适配所述第一隐私计算框架。本技术实施例具有以下有益技术效果:实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
37.本技术实施例可用于以下应用场景,包括但是不限于,多方安全计算、与联邦学习有关的机器学习模型训练、数据安全、隐私保护或者应用隐私计算框架或算法的其它应用场景等。
38.本技术实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
39.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术的实施例进行描述。
40.图1示出了本技术实施例提供的多个参与方之间互联互通方法的应用场景。如图1所示,三个参与方之间进行互联互通,该三个参与方分别为参与方110,参与方120以及参与方130。其中,参与方110上设有三种隐私计算框架分别为隐私计算框架112,隐私计算框架114以及隐私计算框架116。参与方120上设有两种隐私计算框架分别为隐私计算框架122和隐私计算框架124。参与方130上设有一种隐私计算框架为隐私计算框架132。参与方110,参与方120以及参与方130各自所具有的这些隐私计算框架,其中的任意两个隐私计算框架可能满足:同一种隐私计算框架的同一个版本,同一种隐私计算框架的不同版本,或者不同种的隐私计算框架。应当理解的是,图1所示的参与方的数量以及每个参与方所具有的隐私计算框架的数量以及每个参与方的每个隐私计算框架的类型,都仅为示例性。本技术实施例所描述的互联互通方法,可以适用于任意数量的参与方之间的互联互通并且适用于任意参与方所具有的任意数量及类型的隐私计算框架。下面仅出于便于说明的目的,对图1所示的各个参与方的隐私计算框架给出说明性的示例,参与方110所具有的隐私计算框架满足:隐私计算框架112是fate框架的fate 1.4版本,隐私计算框架114是fate 框架的fate 1.7版本以及隐私计算框架116是pysyft框架;参与方120所具有的隐私计算框架满足:隐私计算框架122是fate 框架的fate 1.7版本,隐私计算框架124是基于软件防护扩展(software guard extensions,sgx)所构建的tee或者说sgx框架;参与方130所具有的隐私计算框架满足:隐私计算框架132是fate 框架的fate 1.7版本。从这样的说明性的示例可以看出,参与方110所具有的隐私计算框架112和隐私计算框架114是同一种隐私计算框架的不同版本(分别为fate 1.4版本和fate 1.7版本),参与方110所具有的隐私计算框架114和隐私计算框架116是不同种的隐私计算框架(分别为fate 框架的fate 1.7版本和pysyft框架)。另外,参与方110所具有的隐私计算框架114,参与方120所具有的隐私计算框架122以及参与方130所具有的隐私计算框架132均为同一种隐私计算框架的同一个版本也就是fate 1.7版本。
41.图1所示的参与方110,参与方120以及参与方130协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目,面临着因各自所采用的隐私计算框架之间的差异而带来的互联互通方面的障碍,而且取决于具体所采用的隐私计算框架,各参与方所采用的隐私计算框架之间的差异程度也可能不同。例如,当参与方110采用隐私计算框架112(fate框架的fate 1.4版本)而参与方120采用隐私计算框架122(fate 框架的fate 1.7版本)时,这两者之间的差异可能相对较小;但是当参与方110采用隐私计算框架116(pysyft框架)而参与方120采用隐私计算框架122(fate 框架的fate 1.7版本)时,这两者之间的差异可能相对较大。参与方110具体所采用的隐私计算框架有所不同,则导致参与方110和参与方120各自的隐私计算框架之间的差异性有所不同,可能是相对较小也可能是相对较大。而参与方110具体所采用的隐私计算框架,可能是与参与方120事先商定的,也可能是基于其它因素例如当前算力和资源状况所确定,因此是难以预料的。一般来说,同一种隐私计算框架的不同版本之间的差异相对较小,而不同种隐私计算框架之间的差异较大,并且取决于给定隐私计算框架所采用的底层技术方案特别是硬件实现细节,不同种隐私计算框架之间的差异可能会特别突出,例如sgx框架特别要求在应用程序的地址空间中专门划分一块受保护的安全区域来做到内存隔离和访问控制。实践中,为了能共同构建互联互通的安全数据网络从而协作完成隐私计算任务、隐私数据相关处理以及联邦学习项目,各个参与方需要克服彼此所
采用的隐私计算框架之间的差异所带来的技术挑战。但是,每个参与方所具有的隐私计算框架的数量以及类型,可能是不固定的或者难以预料的。例如图1所示的参与方110具有三种隐私计算框架。这样的参与方具有多于一种的隐私计算框架,这可能是因为该参与方是具有多个下属部门的机构且每个下属部门可能有自己的隐私计算框架,例如某个集团公司下辖的多个子公司或者某个企业下设的多个部门等。而这些归属于同一个参与方的多于一种的隐私计算框架,其中可能存在与另一个参与方的隐私计算框架相同的也可能存在不相同的隐私计算框架。并且随着时间发展和参与方内部的变化,例如部门的新增和撤销等,也会导致该参与方所具有的隐私计算框架的组成发生变化。因此,在实践中很难预先判断出参与当前隐私计算任务、隐私数据相关处理以及联邦学习项目的这些参与方各自所采用的隐私计算框架之间的差异性或者说整体上的差异化程度,也就很难预先估计为了克服这些差异性所必须克服的技术挑战和需要占用的资源。如果让这些参与方都采用标准化的组件来构建通用的架构用于实现基于通用标准的互联互通方案,则意味着这些参与方很可能必须舍弃各自已有的隐私计算框架,而且这些参与方已有的隐私计算框架往往是基于自身偏好例如对数据安全性、隐私保护以及成本、能耗等方面的考量而做出的,因此用通用标准的架构来替代这些参与方已有的隐私计算框架会不利于提升包容性和资源利用效率。而如果让这些参与方以基于通用标准的互联互通方案为目标来改造各自的既有隐私计算框架,例如通过增加标准化组件和统一接口,则会带来额外的资源和开销,而且随着参与方所具有的隐私计算框架的组成发生变化,可能还需要进行新的改造且相关的资源占用和开销都难以控制。下面结合图2至图4进一步说明,本技术实施例所提供的隐私计算、隐私数据和联邦学习的互联互通方法及装置所作出的各项改进,从而能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
42.图2示出了本技术实施例提供的一种实施方式的互联互通方法的流程示意图。图2所示的互联互通方法应用于第一参与方和第二参与方之间的互联互通,该互联互通方法包括以下步骤。
43.步骤s210:由所述第一参与方和所述第二参与方共同确定所述第一参与方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求,其中所述第一参与方和所述第二参与方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成隐私计算任务。
44.步骤s220:由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述第一参与方发送给所述第二参与方的第一数据进行第一数据预处理操作从而使得该第一数据适配所述第二隐私计算框架,或者,由所述第二参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述第二参与方发送给所述第一参与方的第二数据进行第二数据预处理操作从而使得该第二数据适配所述第一隐私计算框架。
45.步骤s230:由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第一参与方发起的第一任务启动请求/第一任务启动答复进行第一启动方式适配操作从而使得所述第一任务启动请求/第一任务启动答
复适配所述第二隐私计算框架,或者,由所述第二参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第二参与方发起的第二任务启动请求/第二任务启动答复进行第二启动方式适配操作从而使得所述第二任务启动请求/第二任务启动答复适配所述第一隐私计算框架。
46.其中,所述第一参与方和所述第二参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络。应当理解的是,第一参与方和第二参与方是相对概念,并且可以对应任意合适的角色,例如数据源方、数据提供方、数据应用方等。并且,第一参与方和第二参与方可以分别对应图1所示的多个参与方之间互联互通方法的应用场景中任意参与方,例如第一参与方可以是图1的参与方110而第二参与方可以是图1的参与方120。只要第一参与方和第二参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络,就可以通过图2所示的互联互通方法来实现第一参与方和第二参与方之间的互联互通。这里,第一参与方和第二参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络意味着第一参与方和第二参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目。第一参与方或者第二参与方可能具有多种隐私计算框架,类似图1的参与方110具有三种隐私计算框架。取决于第一参与方和第二参与方具体采用的隐私计算框架是哪种类型以及哪种版本,存在同一种隐私计算框架的同一个版本、同一种隐私计算框架的不同版本或者不同种的隐私计算框架,这样三种可能情况,并且第一参与方和第二参与方各自所具有的隐私计算框架的组成也可能随着时间推移和事件而发生变化。
47.在步骤s210中,由第一参与方和第二参与方共同确定第一参与方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求。第一参与方和第二参与方分别通过第一隐私计算框架和第二隐私计算框架来协同完成隐私计算任务。第一参与方和第二参与方均有可能具有多于一种的隐私计算框架,并且可能基于各种可能因素来确定具体采用哪种隐私计算框架用于该隐私计算任务。在一些实施例中,第一参与方和第二参与方之间可以事先协定或者约定具体采用的隐私计算框架,例如可以事先约定都采用fate框架。在一些实施例中,第一参与方或者第二参与方可以根据自身情况来确定具体采用哪种隐私计算框架。例如,设第一参与方或者第二参与方是图1所示的参与方110,参与方110具有三种隐私计算框架分别为隐私计算框架112,隐私计算框架114以及隐私计算框架116。参与方110可能是下设有多个部门的企业,每个部门分别对应一种隐私计算框架,例如负责电商业务的部门对应隐私计算框架112和负责金融业务的部门对应隐私计算框架114。参与方110所具体采用的隐私计算框架可能是通过该隐私计算任务所对接的部门来确定的,如果参与方110要协同完成的隐私计算任务是电商领域的,则可能适合让负责电商业务的部门对接也就采用隐私计算框架112作为参与方110参与该隐私计算任务所用的隐私计算框架。类似地,如果参与方110要协同完成的隐私计算任务是金融领域的,则可能适合让负责金融业务的部门对接也就采用隐私计算框架114作为参与方110参与该隐私计算任务所用的隐私计算框架。此外,第一参与方或者第二参与方还可以结合实际资源状态、应用场景需求或者任意其它合适因素来确定具体采用的隐私计算框架。因此,在步骤s210中,由第一参与方和第二参与方共同确定各自所具体采用的用于协同完成该隐私计算任务的隐私计算框架,也就是第一参与方的第一隐私计算框架和第二参与方的第二隐私计算框架,并且除了确定所具体采用的隐私计算
框架(包括版本号),还由第一参与方和第二参与方共同确定第一参与方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求。这里,数据格式要求和任务启动要求是对应给定隐私计算框架而言,用于解耦给定隐私计算框架的底层技术实现细节和上层如服务层,也用于简化整体互联互通方案的执行过程。数据格式要求指的是外部数据如果要被导入给定隐私计算框架进行适当处理所必须满足的数据格式方面包括预处理方面的要求。不同的隐私计算框架,基于所采用的底层技术方案特别是软件算法细节和硬件实现细节,对待处理数据的数据格式可能有不同的要求甚至可能要求进行特定的预处理操作。例如,支持纵向联邦学习算法和纵向联邦学习模型的应用的隐私计算框架,一般需要待处理数据能满足指定标签列、加密id等操作要求,但是通常不需要对特征数据进行任何预处理;但是支持多方安全计算任务和多方安全计算应用的隐私计算框架则对特征数据有预处理要求,要求将待处理数据或者说待处理数据集分成多个部分以满足秘密共享状态的要求。应当理解的是,数据格式要求针对的是要导入给定隐私计算框架的外部数据,并且是基于给定隐私计算框架对该外部数据进行适当处理的基本程度甚至是最低程度的要求。并且,针对外部数据的数据格式要求可能相同于也可能不同于在给定隐私计算框架内部生成的数据或者说从给定隐私计算框架所在的平台内部导入的数据的数据格式。以上面提到的第一参与方的第一隐私计算框架的第一数据格式要求和第二参与方的第二隐私计算框架的第二数据格式要求为例,第一数据格式要求针对的是要导入第一参与方的第一隐私计算框架的外部数据而言,也就是适用于从第二参与方发送给第一参与方的数据,而与之相对的,第一隐私计算框架内部生成的数据或者从第一参与方内部(例如第一参与方的存储器)导入第一隐私计算框架的数据可以视为相对于第一隐私计算框架的内部数据。这里,第一数据格式要求针对的是外部数据而不是内部数据,也就是说第一数据格式要求仅限定了如果从第一参与方的外部例如第二参与方获得外部数据并将外部数据导入第一隐私计算框架则外部数据必须满足的数据格式要求。如果从第一参与方的相对于第一隐私计算框架的其它隐私计算框架导入数据到第一隐私计算框架,这样导入的数据可以看作内部数据也可以看作外部数据。这样发生在第一参与方内部的不同部门、不同内部平台、不同架构或者不同的内部的隐私计算框架之间的数据传输被认为是局限于第一参与方内部,并不涉及第一参与方和其它参与方之间的协作,因此可以参考也可以不参考第一参与方和其它参与方之间的互联互通方案。通过在步骤s210由第一参与方和第二参与方共同确定第一参与方的第一隐私计算框架的第一数据格式要求和第二参与方的第二隐私计算框架的第二数据格式要求,确定了第一参与方和第二参与方各自具体采用的隐私计算框架以及要将外部数据(一般针对从该隐私计算框架所在的参与方的外部也就是其它参与方而言)导入这些具体采用的隐私计算框架所必须满足的数据格式要求包括预处理要求。这里,“由第一参与方和第二参与方共同确定”可能包括协商过程也可能不包括协商过程。在一些实施例中,第一参与方和第二参与方可以分别独自地确定具体采用的隐私计算框架然后通知对方。在另一些实施例中,第一参与方和第二参与方协商确定具体采用的隐私计算框架,例如根据各自要承担的任务步骤、数据量以及结合自身实际状态等。任务启动要求针对的是给定隐私计算框架为了启动任务以及为了回应已经启动的任务所必须满足的控制流层面的要求。上述的数据格式要求是给定隐私计算框架要执行该隐私计算任务所必须满足的数据流层面的要求,而任务启动要求
是给定隐私计算框架要执行该隐私计算任务所必须满足的控制流层面的要求。不同的隐私计算框架,基于所采用的底层技术方案特别是软件算法细节和硬件实现细节,对于启动任务或者回应已经启动的任务,可能有不同的环境要求、配置要求甚至特定的操作要求,这些体现在控制流层面上要进行一些准备动作。例如,fate框架下启动任务或者回应已经启动的任务,要通过例如fate flow来提交描述了模型结构的dsl文件以及描述了模型运行过程中的参数设置的config文件如运行时配置(runtime_config)文件。也就是说,fate框架包括其中各种迭代版本,其任务启动要求包括提交对模型结构以及模型运行过程中的参数配置的描述。再例如,pysyft框架下启动任务或者回应已经启动的任务,要求所有计算节点上线并且在秘密分享状态下或者秘密拆分状态下启动脚本文件如python脚本。也就是说,pysyft框架的启动任务要求包括确保所有计算节点上线后在特定的秘密分享状态下启动脚本文件。再例如,sgx框架下启动任务或者回应已经启动的任务,要求在存储应用程序的地址空间中专门划分一块受保护的安全区域来做到内存隔离和访问控制,或者说提供内核级的安全访问控制以确保任务执行过程中的关键代码及数据的保密性。也就是说,sgx框架的启动任务要求包括专门划分受保护的安全区域并提供内核级的安全访问控制及内存隔离。
48.请继续参阅步骤s210,由第一参与方和第二参与方共同确定第一参与方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求,其中数据格式要求指的是外部数据如果要被导入给定隐私计算框架进行适当处理所必须满足的数据格式方面包括预处理方面的要求或者说数据流层面的要求,任务启动要求针对的是给定隐私计算框架为了启动任务以及为了回应已经启动的任务所必须满足的控制流层面的要求。如此,通过共同确定各自所具体采用的隐私计算框架以及相应的数据格式要求和任务启动要求,实现了解耦给定隐私计算框架的底层技术实现细节,从而让上层如服务层和适配层等能便利地提供如数据统计、结果审计、数据配置、任务调度、任务监控等功能同时不用考虑底层实现细节,这样有利于搭建第一参与方和第二参与方之间的协作平台和互联互通。第一参与方的第一隐私计算框架和第二参与方的第二隐私计算框架可以分别向上对接各自的适配层、服务层以及各种服务模块和数据模块,完成上层部署的任务并更新任务进度和上传任务结果等。只要能满足第一隐私计算框架的第一数据格式要求和第一任务启动要求,则从第二参与方发送给第一参与方的数据可以被导入第一隐私计算框架进行适当处理并且第一隐私计算框架也可以正确地启动任务或者回应来自第二参与方的已经启动的任务。类似地,只要能满足第二隐私计算框架的第二数据格式要求和第二任务启动要求,则从第一参与方发送给第二参与方的数据可以被导入第二隐私计算框架进行适当处理并且第二隐私计算框架也可以正确地启动任务或者回应来自第一参与方的已经启动的任务。
49.在步骤s220中,与在步骤s210中由第一参与方和第二参与方共同确定两者的隐私计算框架的数据格式要求和任务启动要求不同的是,由第一参与方单方面地或者由第二参与方单方面地来进行数据适配方面的判断和执行。具体地,可以由第一参与方单方面地基于第一数据格式要求和第二数据格式要求之间的差异来选择性地对从第一参与方发送给第二参与方的第一数据进行第一数据预处理操作从而使得该第一数据适配第二隐私计算框架,或者,由第二参与方单方面地进行类似操作。这里,第一数据是从第一参与方发送给
第二参与方,因此一般来说可以认为其满足第一数据格式要求,而基于第一数据格式要求和第二数据格式要求之间的差异可以判断第一数据是否满足第二数据格式要求,并且可以选择是否对第一数据进行第一数据预处理操作从而适配第二隐私计算框架。例如,设第一参与方是图1的参与方110,第二参与方是图1的参与方120,当参与方110采用隐私计算框架112(fate框架的fate 1.4版本)而参与方120采用隐私计算框架122(fate 框架的fate 1.7版本)时,这两者各自的数据格式要求之间的差异可能相对较小,则第一参与方可以选择不进行第一数据预处理操作;但是当参与方110采用隐私计算框架116(pysyft框架)而参与方120采用隐私计算框架122(fate 框架的fate 1.7版本)时,这两者之间的差异可能相对较大,则第一参与方可以选择进行第一数据预处理操作。并且,由第一参与方单方面地基于第一数据格式要求和第二数据格式要求之间的差异来进行选择以及执行,意味着不需要第二参与方的参与,也就是第一参与方独立于第二参与方做出是否进行第一数据预处理操作的选择。这一点与在步骤s210中由第一参与方和第二参与方共同确定不同,也就是说在步骤s220中不需要第一参与方和第二参与方之间事先约定或者商定如何进行选择以及执行,而是由第一参与方或者第二参与方独自地做出判断。另外,在步骤s220中,由第一参与方单方面地进行数据适配方面的判断和执行从而让第一数据适配第二隐私计算框架,或者,由第二参与方单方面地进行数据适配方面的判断和执行从而让第二数据适配第一隐私计算框架,这意味着由一方单方面地进行数据适配方面的判断和执行从而让该方发送给另一方的数据适配另一方,不需要双方都进行数据适配方面的判断和执行。基于通用标准的互联互通方案要求双方都参考通用架构和标准化组件来做出改造或者调整,但是图2所示的互联互通方法仅要求双方中的一方单方面地进行数据适配方面的判断和执行,也就是要求第一参与方和第二参与方之间由第一参与方或者第二参与方来单方面地进行数据适配方面的判断和执行,这样就节省了整体上的资源开销也保留了每个参与方已有的隐私计算框架。至于如何安排是让第一参与方或者第二参与方来负责数据适配方面的判断和执行,可以在步骤s210共同确定第一隐私计算框架和第二隐私计算框架时就做出安排,也可以在步骤s210共同确定之后做出安排,还可以在步骤s210之前做出安排。具体地,可以根据第一参与方和第二参与方的实时状态,例如可用算力、可执行资源空闲程度等做出判断。例如第一参与方的能用来支持第一隐私计算框架的硬件资源比较丰富,则可以安排在步骤s220由第一参与方来单方面地进行数据适配方面的判断和执行也就是让第一参与方去判断是否需要调整自第一参与方发送给第二参与方的第一数据以及做出相应数据适配操作。另外,也可以参考第一参与方和第二参与方在安全性、可信度、监管要求等因素,例如第一参与方是占据市场主导地位的或者根据协议由第二参与方来配合第一参与方,则可能适合让第二参与方来单方面地进行数据适配方面的判断和执行从而让第二参与方去判断是否需要调整自第二参与方发送给第一参与方的第二数据以及做出相应数据适配操作。再例如,第一参与方对自身数据的保密性和完整性的要求较高,则可能适合让第一参与方去判断是否需要调整自第一参与方发送给第二参与方的第一数据以及做出相应数据适配操作。如此,通过在步骤s210共同确定各自所具体采用的隐私计算框架以及相应的数据格式要求,实现了解耦给定隐私计算框架的底层技术实现细节,再通过在步骤s220中由第一参与方单方面地或者由第二参与方单方面地来基于第一数据格式要求和第二数据格式要求之间的差异进行数据适配方面的判断和执行,保留了各自的隐私计算框架同时节省了整体上资源开销。
50.在步骤s230中,与在步骤s210中由第一参与方和第二参与方共同确定两者的隐私计算框架的数据格式要求和任务启动要求不同的是,由第一参与方单方面地或者由第二参与方单方面地来进行控制适配方面的判断和执行。具体地,可以由第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述第一参与方发起的第一任务启动请求/第一任务启动答复进行第一启动方式适配操作从而使得所述第一任务启动请求/第一任务启动答复适配所述第二隐私计算框架,或者,由第二参与方单方面地进行类似操作。这里,第一任务启动请求指的是由第一参与方发起的任务启动请求也即由第一参与方启动的任务,第一任务启动答复指的是由第一参与方对来自其它参与方的任务启动请求做出答复也即由第一参与方回应已经启动的任务。类似地,第二任务启动请求指的是由第二参与方发起的任务启动请求也即由第二参与方启动的任务,第二任务启动答复指的是由第二参与方对来自其它参与方的任务启动请求做出答复也即由第二参与方回应已经启动的任务。上面提到,任务启动要求针对的是给定隐私计算框架为了启动任务以及为了回应已经启动的任务所必须满足的控制流层面的要求。不同的隐私计算框架,基于所采用的底层技术方案特别是软件算法细节和硬件实现细节,对于启动任务或者回应已经启动的任务,可能有不同的环境要求、配置要求甚至特定的操作要求,这些体现在控制流层面上要进行一些准备动作。由第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异可以判断第一任务启动请求或者第一任务启动答复是否满足第二任务启动要求,并且可以选择对其进行控制适配方面的判断和执行从而适配所述第二隐私计算框架。例如,设第一参与方是图1的参与方110,第二参与方是图1的参与方120,当参与方110采用隐私计算框架112(fate框架的fate 1.4版本)而参与方120采用隐私计算框架122(fate 框架的fate 1.7版本)时,这两者各自的任务启动要求之间的差异可能相对较小,则第一参与方可以选择不进行第一启动方式适配操作;但是当参与方110采用隐私计算框架116(pysyft框架)而参与方120采用隐私计算框架122(fate 框架的fate 1.7版本)时,这两者之间的差异可能相对较大,则第一参与方可以选择进行第一启动方式适配操作。并且,由第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来进行选择以及执行,意味着不需要第二参与方的参与,也就是第一参与方独立于第二参与方做出是否进行第一启动方式适配操作的选择。这一点与在步骤s210中由第一参与方和第二参与方共同确定不同,也就是说在步骤s230中不需要第一参与方和第二参与方之间事先约定或者商定如何进行选择以及执行,而是由第一参与方或者第二参与方独自地做出判断。另外,在步骤s230中,由第一参与方单方面地进行控制适配方面的判断和执行从而适配第二隐私计算框架,或者,由第二参与方单方面地进行控制适配方面的判断和执行从而适配第一隐私计算框架,这意味着由一方单方面地进行控制适配方面的判断和执行从而适配另一方,不需要双方都进行控制适配方面的判断和执行。基于通用标准的互联互通方案要求双方都参考通用架构和标准化组件来做出改造或者调整,但是图2所示的互联互通方法仅要求双方中的一方单方面地进行控制适配方面的判断和执行,也就是要求第一参与方和第二参与方之间由第一参与方或者第二参与方来单方面地进行控制适配方面的判断和执行,这样就节省了整体上的资源开销也保留了每个参与方已有的隐私计算框架。至于如何安排是让第一参与方或者第二参与方来负责控制适配方面的判断和执行,可以在步骤s210共同确定第一隐私计算框架和第二隐私计算框架时就做出安排,也可以在步骤
s210共同确定之后做出安排,还可以在步骤s210之前做出安排。并且,步骤s230和步骤s220可以一起执行也可以分开执行还可以按照任意次序执行,例如在一些实施例中先执行步骤s230进行控制适配方面的判断和执行再执行步骤s220进行数据适配方面的判断和执行。具体地,可以根据第一参与方和第二参与方的实时状态,例如可用算力、可执行资源空闲程度等做出判断,也可以参考第一参与方和第二参与方在安全性、可信度、监管要求等因素。如此,通过在步骤s210共同确定各自所具体采用的隐私计算框架以及相应的任务启动要求,实现了解耦给定隐私计算框架的底层技术实现细节,再通过在步骤s230中由第一参与方单方面地或者由第二参与方单方面地来基于第一任务启动要求和第二任务启动要求之间的差异进行控制适配方面的判断和执行,保留了各自的隐私计算框架同时节省了整体上资源开销。
51.请参阅步骤s210、步骤s220和步骤s230,通过在步骤s210共同确定各自所具体采用的隐私计算框架以及相应的数据格式要求和任务启动要求,通过在步骤s220中由第一参与方单方面地或者由第二参与方单方面地来基于第一数据格式要求和第二数据格式要求之间的差异进行数据适配方面的判断和执行,通过在步骤s230中由第一参与方单方面地或者由第二参与方单方面地来基于第一任务启动要求和第二任务启动要求之间的差异进行控制适配方面的判断和执行,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图2的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
52.应当理解的是,图2所示的是在第一参与方和第二参与方之间的互联互通方案,该方案也可以推广到第三个或者更多个参与方的情形。以图1所示的参与方110,参与方120以及参与方130为例,在这三个参与方中的任意两个参与方之间可以参考图2的互联互通方法实现该两个参与方之间的互联互通。
53.应当理解的是,在步骤s220中由第一参与方单方面地或者由第二参与方单方面地来基于第一数据格式要求和第二数据格式要求之间的差异进行数据适配方面的判断和执行,以及在步骤s230中由第一参与方单方面地或者由第二参与方单方面地来基于第一任务启动要求和第二任务启动要求之间的差异进行控制适配方面的判断和执行,都是以单个参与方的单方面地进行判断及执行。至于具体的由两个参与方中的哪一个参与方去负责数据适配方面的判断和执行或者控制适配方面的判断和执行,则可以参考上述的多种因素,例如可用算力、可执行资源空闲程度以及安全性、可信度、监管要求等。第一参与方和第二参与方之间的互联互通方案因此有四种可能的内部组成:(1)在步骤s220中由第一参与方单方面进行数据适配方面的判断和执行以及在步骤s230中由第一参与方单方面地进行控制适配方面的判断和执行;(2)在步骤s220中由第一参与方单方面进行数据适配方面的判断和执行以及在步骤s230中由第二参与方单方面地进行控制适配方面的判断和执行;(3)在
步骤s220中由第二参与方单方面进行数据适配方面的判断和执行以及在步骤s230中由第一参与方单方面地进行控制适配方面的判断和执行;(4)在步骤s220中由第二参与方单方面进行数据适配方面的判断和执行以及在步骤s230中由第二参与方单方面地进行控制适配方面的判断和执行。其中第(1)种和第(4)种的内部组成,意味着完全由第一参与方或者第二参与方来负责满足要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,也就是由第一参与方去适配第二参与方在控制流层面的要求和数据流层面的要求或者由第二参与方去适配第一参与方在控制流层面的要求和数据流层面的要求。这两种情形可能适用于一方为数据源方而另一方为数据应用方的情形,一般由数据源方去适配数据应用方的需求,而数据应用方可能同时从多个数据源方获取数据集,每个数据源方都去适配同一个数据应用方的需求。第(2)种和第(3)种的内部组成,意味着在第一参与方和第二参与方之间进行分工,由一方负责满足控制流层面的要求而另一方负责满足数据流层面的要求。这两种情形可能适用于一方的算力存储等可执行资源不足以同时承担控制流层面的要求和数据流层面的要求的情形,也可能适用于某一方的硬件设施可能针对控制流层面的要求或者数据流层面的要求做出了优化的情形。通过在步骤s210中由双方共同确定各自所具体采用的隐私计算框架以及相应的数据格式要求和任务启动要求,使得后续可以灵活地在上述四种内部组成中选择最合适的内部组成,也就是在第一参与方和第二参与方之间灵活地安排分工或者指定一方同时负责数据适配方面和控制适配方面。并且,应当注意的是,被安排负责数据适配方面和/或控制适配方面的一方,自身有选择权也就是可以选择执行也可以选择不执行适配,这也就意味着被安排负责数据适配方面和/或控制适配方面的一方可以便利地结合自身需求和实际情形判断是否有必要投入资源和时间去进行适配以及要投入到什么程度从而可以确保隐私计算任务、隐私数据相关处理以及联邦学习项目的顺利进行。相比于基于通用标准的互联互通方案要求双方都参考通用架构和标准化组件来做出改造或者调整,图2所示的互联互通方法以及基于此的互联互通方案使得双方可以决定是否需要进行适配以及投入程度,并且通过分工安排数据适配和控制适配或者指定某一方,提供了更好的包容性和灵活性,也保留了各自的隐私计算框架同时节省了整体上资源开销。
54.应当理解的是,上述方法可以通过相应的执行主体或者载体来实现。在一些示例性实施例中,一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现上述方法以及上述任意实施例、实施方式或者它们的组合。在一些示例性实施例中,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述方法以及上述任意实施例、实施方式或者它们的组合。
55.在一种可能的实施方式中,所述互联互通方法还包括:由所述第一参与方单方面地基于所述第二隐私计算框架的硬件资源需求确定与所述第二参与方关联的资源调度策略,并且所述第一参与方在所述隐私计算任务被启动之前根据与所述第二参与方关联的资源调度策略对所述第一参与方的可执行资源进行资源预分配操作从而适配所述第二隐私计算框架的硬件资源需求。如此,通过增加在所述第一参与方执行的资源预分配操作,可以更好地实现第一参与方和第二参与方之间的互联互通。在一些实施例中,所述第二隐私计算框架的硬件资源需求包括以下至少一项:cpu线程数、内存空间、磁盘空间、fpga。在一些
实施例中,与所述第二参与方关联的资源调度策略是基于所述第二隐私计算框架的框架特性和任务数据量级确定的最优最小资源分配策略。如此,通过使得第一参与方参考第二参与方的所述第二隐私计算框架的框架特性和任务数据量级,也就是基于所述第二隐私计算框架的框架特性和任务数据量级确定的最优最小资源分配策略,可以更好地实现第一参与方和第二参与方之间的互联互通。
56.在一种可能的实施方式中,所述第一数据格式要求和所述第二数据格式要求之间的差异包括以下至少一项:是否需要数据拆分、是否需要特征预处理、是否需要秘密分享状态。
57.在一种可能的实施方式中,所述第一任务启动要求和所述第二任务启动要求之间的差异包括以下至少一项:模型结构的差异、模型参数配置的差异、是否需要秘密分享环境、是否需要cpu层级安全区域。
58.在一种可能的实施方式中,所述第二数据格式要求和所述第二任务启动要求是基于所述第一参与方和所述第二参与方之间的在启动所述隐私计算任务之前的协作历史确定。这里,协作历史指的是第一参与方和第二参与方过去一起参与过的隐私计算任务、隐私数据相关处理以及联邦学习项目。例如,第一参与方和第二参与方在过去合作完成了某个隐私计算任务或者联邦学习项目,在合作过程中第二参与方采用了fate框架或者sgx框架或者其它合适的框架,这意味着对于当前的所述隐私计算任务,第二参与方很可能延续了之前所采用的框架,也就是说第二参与方的第二隐私计算框架的第二数据格式要求和第二任务启动要求很可能还延续了之前采用的fate框架或者sgx框架或者其它框架。此外,第一参与方和第二参与方之间的在启动所述隐私计算任务之前的协作历史,还可以对应例如数据查询、数据求交这样的相对简单的操作,而这些操作往往提供了足够多的信息来确定第二数据格式要求和第二任务启动要求。通过参考协作历史来确定二数据格式要求和第二任务启动要求,实现了信息复用,有利于提升互联互通效率。
59.在一种可能的实施方式中,所述第一数据格式要求和所述第一任务启动要求是基于所述第一参与方和所述第二参与方之间的在启动所述隐私计算任务之前的协作历史确定。如此,通过参考协作历史来确定第一数据格式要求和第一任务启动要求,实现了信息复用,有利于提升互联互通效率。协作历史可以是第一参与方和第二参与方在过去合作完成的某个隐私计算任务或者联邦学习项目,也可以是例如数据查询、数据求交这样的相对简单的操作,通过这些合作过的任务、项目以及操作可以提供足够的信息来确定第一数据格式要求和第一任务启动要求。
60.在一种可能的实施方式中,所述第二参与方是所述隐私计算任务的发起方并且所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起,所述第二数据格式要求和所述第二任务启动要求是基于所述第二任务启动请求确定,该第二任务启动请求包括数据标签、模型结构和参数配置。这里,第二参与方作为发起方发起第二任务启动请求,第一参与方在接收到第二任务启动请求后基于所述第二任务启动请求确定所述第二数据格式要求和所述第二任务启动要求。接着第一参与方可以和第二参与方共同确定双方所采用的隐私计算框架。
61.在一种可能的实施方式中,所述第一参与方是数据源方,所述第二参与方是数据应用方,所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起并由所述第
一参与方通过所述第一任务启动答复响应,所述第一数据包括待发布数据集的标识信息,并且由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对所述待发布数据集的标识信息进行第一数据预处理操作以及由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对所述第一任务启动答复进行第一启动方式适配操作。如此,针对数据源方发布待发布数据集的标识信息的协作行为提供了数据源方和数据应用方之间的互联互通方案。其中,基于数据不出本地的原则,数据源方不会将待发布数据集发给数据应用方,而是将待发布数据集的标识信息发送给数据应用方。标识信息可以包括如数据集名称和其它描述信息,例如数据集的提供方信息、允许用途信息(建模、查询、预测)、添加时间、授权状态信息等。标识信息不包括数据样本的内容信息。
62.在一种可能的实施方式中,所述第一参与方是数据源方,所述第二参与方是数据应用方,所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起并由所述第一参与方通过所述第一任务启动答复响应,所述第二数据包括加密后的中间数据(例如基于同态加密的中间数据),并且由所述第二参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对所述加密后的中间数据进行第二数据预处理操作以及由所述第二参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对所述第二任务启动请求进行第二启动方式适配操作。如此,针对数据应用方分享加密后的中间数据(包括中间结果数据、梯度信息、参数信息和模型信息等)的协作行为提供了数据源方和数据应用方之间的互联互通方案。
63.在一种可能的实施方式中,所述第一参与方是数据源方,所述第二参与方是数据应用方,所述隐私计算任务由所述第二参与方通过所述第二任务启动请求发起并由所述第一参与方通过所述第一任务启动答复响应,所述第一数据包括待发布数据集的标识信息和加密后的中间数据(例如基于同态加密的中间数据),并且由所述第一参与方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对所述第一数据进行第一数据预处理操作以及由所述第一参与方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对所述第一任务启动答复进行第一启动方式适配操作。如此,针对数据源方发布待发布数据集的标识信息以及分享加密后的中间数据(包括中间结果数据、梯度信息、参数信息和模型信息等)的协作行为提供了数据源方和数据应用方之间的互联互通方案。
64.在一种可能的实施方式中,所述第一隐私计算框架/所述第二隐私计算框架是fate框架、pysyft框架或者sgx框架。
65.图3示出了本技术实施例提供的另一种实施方式的互联互通方法的流程示意图。图3所示的互联互通方法应用于隐私计算任务的发起方和响应方之间的互联互通,该互联互通方法包括以下步骤。
66.步骤s310:由所述发起方和所述响应方共同确定所述发起方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述响应方的第二隐私计算框架的第二数据格式要求和第二任务启动要求,其中所述发起方和所述响应方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成所述隐私计算任务。
67.步骤s320:由所述发起方单方面地基于所述第一数据格式要求和所述第二数据格
式要求之间的差异来选择性地对从所述发起方发送给所述响应方的第一数据进行第一数据预处理操作从而使得该第一数据适配所述第二隐私计算框架,或者,由所述响应方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述响应方发送给所述发起方的第二数据进行第二数据预处理操作从而使得该第二数据适配所述第一隐私计算框架。
68.步骤s330:由所述发起方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述发起方发起的第一任务启动请求进行第一启动方式适配操作从而使得所述第一任务启动请求适配所述第二隐私计算框架,或者,由所述响应方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述响应方发起的第二任务启动答复进行第二启动方式适配操作从而使得所述第二任务启动答复适配所述第一隐私计算框架。
69.其中,所述隐私计算任务由所述发起方通过所述第一任务启动请求发起以及由所述响应方通过所述第二任务启动答复响应所述第一任务启动请求。所述第二数据格式要求和所述第二任务启动要求是基于所述第二任务启动答复确定,该第二任务启动答复包括数据标签、模型结构和参数配置。
70.图3所示的互联互通方法与图2所示的互联互通方法相似,主要区别在于,图2所示的互联互通方法中的第一参与方对应图3所示的互联互通方法中的发起方,图2所示的互联互通方法中的第二参与方对应图3所示的互联互通方法中的响应方。上述关于图2所示的互联互通方法的各项改进以及实施例、实施方式也可以适用于图3所示的互联互通方法,除非另有所指。图3所示的互联互通方法,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图3的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
71.应当理解的是,上述方法可以通过相应的执行主体或者载体来实现。在一些示例性实施例中,一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现上述方法以及上述任意实施例、实施方式或者它们的组合。在一些示例性实施例中,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述方法以及上述任意实施例、实施方式或者它们的组合。
72.图4示出了本技术实施例提供的另一种实施方式的互联互通方法的流程示意图。图4所示的互联互通方法应用于数据源方和数据应用方之间的互联互通,该互联互通方法包括以下步骤。
73.步骤s410:由所述数据源方和所述数据应用方共同确定所述数据源方的第一隐私计算框架的第一数据格式要求和第一任务启动要求以及所述数据应用方的第二隐私计算
框架的第二数据格式要求和第二任务启动要求,其中所述数据源方和所述数据应用方分别通过所述第一隐私计算框架和所述第二隐私计算框架来协同完成隐私计算任务。
74.步骤s420:由所述数据源方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述数据源方发送给所述数据应用方的待发布数据集的标识信息或者加密后的中间数据进行第一数据预处理操作从而使得该待发布数据集的标识信息或者加密后的中间数据适配所述第二隐私计算框架,或者,由所述数据应用方单方面地基于所述第一数据格式要求和所述第二数据格式要求之间的差异来选择性地对从所述数据应用方发送给所述数据源方的加密后的中间数据进行第二数据预处理操作从而使得该加密后的中间数据适配所述第一隐私计算框架。
75.步骤s430:由所述数据源方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述数据源方发起的第一任务启动答复进行第一启动方式适配操作从而使得所述第一任务启动答复适配所述第二隐私计算框架,或者,由所述数据应用方单方面地基于所述第一任务启动要求和所述第二任务启动要求之间的差异来选择性地对由所述数据应用方发起的第二任务启动请求进行第二启动方式适配操作从而使得所述第二任务启动请求适配所述第一隐私计算框架。
76.其中,加密后的中间数据可以基于同态加密。所述隐私计算任务由所述数据应用方通过所述第二任务启动请求发起并由所述数据源方通过所述第一任务启动答复响应。
77.图4所示的互联互通方法与图2所示的互联互通方法相似,主要区别在于,图2所示的互联互通方法中的第一参与方对应图4所示的互联互通方法中的数据源方,图2所示的互联互通方法中的第二参与方对应图4所示的互联互通方法中的数据应用方。上述关于图2所示的互联互通方法的各项改进以及实施例、实施方式也可以适用于图4所示的互联互通方法,除非另有所指。图4所示的互联互通方法,实现了给定隐私计算框架(第一隐私计算框架或者第二隐私计算框架)要执行该隐私计算任务所必须满足的控制流层面的要求和数据流层面的要求,这样有利于解耦给定隐私计算框架的底层技术实现细节,使得给定隐私计算框架的上层如服务层可以不受到给定隐私计算框架和来自另一方的隐私计算框架的底层技术的限制,做到跨平台跨架构的互联互通,并且保留了各自的隐私计算框架同时节省了整体上资源开销。因此,图4的互联互通方法,能够确保各参与方协作开展隐私计算任务、隐私数据相关处理以及联邦学习项目时能满足数据安全和隐私保护方面的合规性要求,而且充分考虑到参与方在资源和开销上的限制以及参与方自身需求,有利于实现不同参与方、不同平台、不同架构之间的互联互通并且具有较好的包容性和资源利用效率。
78.应当理解的是,图4提到对从所述数据源方发送给所述数据应用方的待发布数据集的标识信息或者加密后的中间数据进行第一数据预处理操作从而使得该待发布数据集的标识信息或者加密后的中间数据适配所述第二隐私计算框架。其中,基于数据不出本地的原则,数据源方不会将待发布数据集发给数据应用方,而是将待发布数据集的标识信息发送给数据应用方。标识信息可以包括如数据集名称和其它描述信息,例如数据集的提供方信息、允许用途信息(建模、查询、预测)、添加时间、授权状态信息等。标识信息不包括数据样本的内容信息。
79.在一种可能的实施方式中,其中所述第一数据格式要求和所述第二数据格式要求之间的差异包括以下至少一项:是否需要数据拆分、是否需要特征预处理、是否需要秘密分
享状态,以及所述第一任务启动要求和所述第二任务启动要求之间的差异包括以下至少一项:模型结构的差异、模型参数配置的差异、是否需要秘密分享环境、是否需要cpu层级安全区域。
80.在一种可能的实施方式中,所述互联互通方法还包括:由所述数据源方单方面地基于所述第二隐私计算框架的硬件资源需求确定与所述数据应用方关联的资源调度策略,并且所述数据源方在所述隐私计算任务被启动之前根据与所述数据应用方关联的资源调度策略对所述数据源方的可执行资源进行资源预分配操作从而适配所述第二隐私计算框架的硬件资源需求。
81.在一种可能的实施方式中,所述第二隐私计算框架的硬件资源需求包括以下至少一项:cpu线程数、内存空间、磁盘空间、fpga,以及与所述数据应用方关联的资源调度策略是基于所述第二隐私计算框架的框架特性和任务数据量级确定的最优最小资源分配策略。
82.应当理解的是,上述方法可以通过相应的执行主体或者载体来实现。在一些示例性实施例中,一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现上述方法以及上述任意实施例、实施方式或者它们的组合。在一些示例性实施例中,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述方法以及上述任意实施例、实施方式或者它们的组合。
83.图5示出了本技术实施例提供的用于互联互通方法的电子设备的框图。如图5所示,电子设备包括主处理器502,内部总线504,网络接口506,主存储器508,以及辅助处理器510和辅助内存512,还有辅助处理器520和辅助内存522。其中,主处理器502与主存储器508连接,主存储器508可用于存储主处理器502可执行的计算机指令,从而可以实现上述的各种互联互通方法,包括其中部分或者全部步骤,也包括其中步骤的任意可能的组合或结合以及可能的替换或者变体。网络接口506用于提供网络连接以及通过网络收发数据。内部总线504用于提供在主处理器502、网络接口506、辅助处理器510以及辅助处理器520之间的内部的数据交互。其中,辅助处理器510与辅助内存512连接并一起提供辅助计算能力,而辅助处理器520与辅助内存522连接并一起提供辅助计算能力。辅助处理器510和辅助处理器520可以提供相同或者不同的辅助计算能力,包括但是不限于,针对特定计算需求进行优化的计算能力如并行处理能力或者张量计算能力,针对特定算法或者逻辑结构进行优化的计算能力例如迭代计算能力或者图计算能力等。辅助处理器510和辅助处理器520可以包括特定类型的一个或者多个处理器,如数字信号处理器(dsp),专用集成电路(asic),现场可编程门阵列(fpga)等,从而可以提供定制化的功能和结构。在一些示例性实施例中,电子设备可以不包括辅助处理器,可以包括仅一个辅助处理器,还可以包括任意数量的辅助处理器且各自具有相应的定制化功能及结构,在此不做具体限定。图5中所示出的两个辅助处理器的架构仅为说明性而不应解释为限制性。另外,主处理器502可以包括单核或者多核的计算单元,用于提供本技术实施例所必需的功能和操作。另外,主处理器502和辅助处理器(如图5中的辅助处理器510和辅助处理器520)可以具有不同的架构,也就是电子设备可以是基于异构架构的系统,例如主处理器502可以是基于指令集操作体系的通用型处理器如cpu,而辅助处理器可以是适合并行化计算的图形处理器gpu或者是适合神经网络模型相关运算的专用加速器。辅助内存(例如图5所示的辅助内存512和辅助内存522)可以用于配合各自对
应的辅助处理器来实现定制化功能及结构。而主存储器508用于存储必要的指令、软件、配置、数据等从而可以配合主处理器502提供本技术实施例所必需的功能和操作。在一些示例性实施例中,电子设备可以不包括辅助内存,可以包括仅一个辅助内存,还可以包括任意数量的辅助内存,在此不做具体限定。图5中所示出的两个辅助内存的架构仅为说明性而不应解释为限制性。主存储器508以及可能的辅助内存可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性,并且可以包括随机存取存储器(ram),闪存,只读存储器(rom),可擦可编程只读存储器(eprom),电可擦可编程只读存储器(eeprom),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(cd),数字多功能光盘(dvd),大容量存储介质设备或任何其他形式的合适存储介质。内部总线504可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。应当理解的是,图5所示的电子设备,其所示的结构并不构成对有关装置或系统的具体限定,在一些示例性实施例中,电子设备可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
84.本技术提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本技术具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(dsp),专用集成电路(asic),现场可编程门阵列(fpga)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本技术具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本技术具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
85.本技术提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本技术具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本技术具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(ram),闪存,只读存储器(rom),可擦可编程只读存储器(eprom),电可擦可编程只读存储器(eeprom),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(cd),数字多功能光盘(dvd),大容量存储介质设备或任何其他形式的合适存储介质。
86.以上是本技术实施例的实施方式,应当指出,本技术具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述
都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本技术实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本技术另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本技术具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本技术实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献