CN114968525B - 隐私计算和隐私数据保护的云原生任务调度方法及装置 - Google Patents
隐私计算和隐私数据保护的云原生任务调度方法及装置 Download PDFInfo
- Publication number
- CN114968525B CN114968525B CN202210582671.8A CN202210582671A CN114968525B CN 114968525 B CN114968525 B CN 114968525B CN 202210582671 A CN202210582671 A CN 202210582671A CN 114968525 B CN114968525 B CN 114968525B
- Authority
- CN
- China
- Prior art keywords
- task
- participants
- participant
- cloud
- executed
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及隐私计算、隐私数据及联邦学习技术领域,具体涉及一种隐私计算和隐私数据保护的云原生任务调度方法及装置。云原生任务调度方法使得多个参与方根据初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与待执行隐私计算任务相关联的动态任务单元以及使得多个参与方通过调用各自的动态任务单元来协同完成待执行隐私计算任务,并且在完成该参与方的任务目标后删除动态任务单元以及释放为创建该动态任务单元而申请的可执行资源。如此改进自动化能力和资源利用率。
Description
技术领域
本申请涉及隐私计算、隐私数据及联邦学习技术领域,具体涉及一种隐私计算和隐私数据保护的云原生任务调度方法及装置。
背景技术
隐私计算(Privacy Computing)指的是在保证数据提供方不泄露原始数据的前提下对数据进行分析计算的一系列技术,保证数据在流通和融合过程中“可用不可见”。隐私计算在通常意义上涵盖以保护数据隐私的同时实现计算任务为目的所使用的一系列广泛的技术。隐私计算结合计算机科学、人工智能以及云计算等技术的发展,在数据查询和机器学习中取得了重大进展,在诸多应用场景下提供了对数据的安全获取和对数据隐私的保护。常见的隐私计算技术包括如联邦学习(Federated Learning,FL)、安全多方计算(Secure Multi-Party Computation,SMPC)、秘密共享(Secret Sharing)、可信执行环境(Trusted Execution Environment,TEE)、差分隐私(Differential Privacy,DP)、同态加密(Homomorphic Encryption,HE)等。其中联邦学习指的是在确保数据不离开安全控制范围例如数据不传递到外部的前提下实现多方协同构建联邦学习模型。另一方面,随着对数据安全和隐私信息保护的日益重视,隐私数据例如涉及个人信息或敏感信息的个人隐私数据等,在数据处理、数据通信、数据交互等各方面也面临更高的隐私保护和数据安全的要求。
云原生(Cloud Native)或者说原生云,是在设计时就将云环境和云应用考虑进去,能充分利用云平台的弹性和分布式优势的构建及运行应用程序的方法。云原生的关键技术包括容器和容器编排、服务网格、微服务、不可变基础设施及声明式应用程序接口(Application Programming Interface,API)等。其中容器和容器编排为云原生应用提供了开源容器管理平台,能实现可快速部署的轻量级运行平台。但是,现有的隐私计算、隐私数据以及联邦学习技术领域的产品和服务是基于传统的应用架构来构建及运行应用程序,与云原生应用架构例如开源容器管理平台架构等整合度低下,不利于利用云平台、云环境和云计算等来进行容器化部署,从而不利于推广隐私计算、隐私数据以及联邦学习技术领域的产品和服务。
为此,需要一种隐私计算和隐私数据保护的云原生任务调度方法及装置,能够实现隐私计算、隐私数据以及联邦学习技术领域的产品和服务与云原生应用架构之间的高度整合,做到基于云原生技术设计以及基于云平台进行容器化部署,有利于提高隐私计算系统的自动化能力和提高资源利用率。
发明内容
第一方面,本申请实施例提供了一种云原生任务调度方法,应用于隐私计算和隐私数据保护。所述云原生任务调度方法包括:多个参与方根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标;所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元;所述多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。其中,所述多个参与方中的每一个参与方在完成该参与方的任务目标后,删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的该参与方的可执行资源。
第一方面所描述的技术方案,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述云原生任务调度方法还包括:在所述多个参与方共同确定所述待执行隐私计算任务的初始调度信息之后,根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及所述多个参与方用所述调整后调度信息替换所述初始调度信息。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述云原生任务调度方法还包括:在所述多个参与方共同确定述待执行隐私计算任务的初始调度信息之后,根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及所述至少一个参与方根据所述调整后调度信息在所述至少一个参与方的云原生应用平台上通过申请所述至少一个参与方的可执行资源来创建所述至少一个参与方的与所述待执行隐私计算任务相关联的动态任务单元。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方中的每一个参与方的可执行资源包括该参与方的CPU、内存、节点数、GPU、和FPGA中的至少一项服务器资源信息。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方中的一个或者多个参与方通过反复调用所述一个或者多个参与方的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方,在调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务的过程中,还通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来交换各自的任务参数信息。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方在共同确定所述待执行隐私计算任务的初始调度信息的过程中交换各自的任务控制信息。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方的每一个参与方的与所述待执行隐私计算任务相关联的动态任务单元包括一种或者多种工作负载资源类型。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方各自的任务目标均是所述待执行隐私计算任务的结束。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方各自的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBM Kubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多个参与方还根据所述多个参与方各自的行业或者业务场景或者偏好共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。
第二方面,本申请实施例提供了一种非瞬时性计算机可读存储介质。所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现根据第一方面中任一项所述的云原生任务调度方法。
第二方面所描述的技术方案,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
第三方面,本申请实施例提供了一种电子设备。所述电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现根据第一方面中任一项所述的云原生任务调度方法。
第三方面所描述的技术方案,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
第四方面,本申请实施例提供了一种云原生任务调度装置,应用于隐私计算和隐私数据保护。所述云原生任务调度装置部署在第一参与方,所述第一参与方是多个参与方中任意参与方。所述云原生任务调度装置包括:跨站点协调服务单元,用于:根据待执行隐私计算任务和所述多个参与方各自的可执行资源,与所述多个参与方的其它参与方共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标,其中所述多个参与方各自的任务目标包括所述第一参与方的任务目标;调度服务单元,用于根据所述初始调度信息独自地在所述第一参与方的云原生应用平台上通过申请所述第一参与方的可执行资源来创建所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元;和动态任务单元池,其中所述动态任务单元池是所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元的集合。其中,所述第一参与方通过调用所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。其中,所述第一参与方在完成所述第一参与方的任务目标后,删除所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的所述第一参与方的可执行资源。
第四方面所描述的技术方案,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述云原生任务调度装置还包括:控制请求服务单元,用于接收控制指令并校验所述控制指令的有效性;通信服务单元,用于所述第一参与方与所述多个参与方的其它参与方之间的加密通信。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,在所述跨站点协调服务单元与所述多个参与方的其它参与方共同确定所述待执行隐私计算任务的初始调度信息之后,所述跨站点协调服务单元还用于:根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及用所述调整后调度信息替换所述初始调度信息。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一参与方的可执行资源包括所述第一参与方的CPU、内存、节点数、GPU、和FPGA中的至少一项服务器资源信息。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一参与方的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBM Kubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。
附图说明
为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了本申请实施例提供的云原生任务调度方法的流程示意图。
图2示出了本申请实施例提供的一种实施方式的图1的云原生任务调度方法的应用场景。
图3示出了本申请实施例提供的用于图1所示的云原生任务调度方法的电子设备的框图。
图4示出了本申请实施例提供的云原生任务调度装置的框图。
具体实施方式
本申请实施例为了解决现有的隐私计算、隐私数据以及联邦学习技术领域的产品和服务是基于传统的应用架构来构建及运行应用程序从而与云原生应用架构例如开源容器管理平台架构等整合度低下,这样的技术难题,提出了一种隐私计算和隐私数据保护的云原生任务调度方法及装置。其中,所述云原生任务调度方法包括:多个参与方根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标;所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元;所述多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。其中,所述多个参与方中的每一个参与方在完成该参与方的任务目标后,删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的该参与方的可执行资源。本申请实施例具有以下有益技术效果:能够实现隐私计算、隐私数据以及联邦学习技术领域的产品和服务与云原生应用架构之间的高度整合,做到基于云原生技术设计以及基于云平台进行容器化部署,有利于提高隐私计算、隐私数据以及联邦学习相关的计算系统的自动化能力和提高资源利用率。
本申请实施例可用于以下应用场景,包括但是不限于,云计算,云服务,云原生应用的有关技术如云原生应用平台、云原生应用架构、云原生管理平台、云原生隐私计算平台、云原生联邦学习平台等。
本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的云原生任务调度方法的流程示意图。如图1所示,云原生任务调度方法包括以下步骤。
步骤S102:多个参与方根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。
步骤S104:所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元。
步骤S106:所述多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。
其中,所述多个参与方中的每一个参与方在完成该参与方的任务目标后,删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的该参与方的可执行资源。
应当理解的是,图1所示的云原生任务调度方法指的是基于云原生技术设计的任务调度方法,并且图1的云原生任务调度方法在步骤S104使得所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元以及在步骤S106使得所述多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。因此,图1的云原生任务调度方法与云原生应用架构之间做到了高度整合,基于云原生技术设计以及基于云平台进行容器化部署。在一种可能的实施方式中,所述多个参与方各自的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBM Kubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。在一种可能的实施方式中,所述多个参与方各自的云原生应用平台还可以包括没有在此示例性列出的容器和容器编排服务,或者采用其它容器管理平台。其中,所述多个参与方各自的云原生应用平台所采用的容器化部署技术或者说容器化应用服务都是基于容器技术。容器技术一般理解为将代码及其依赖项打包得到独立的可执行的软件包,有时也称之为容器镜像,里面包括运行应用进程所必需的如代码、运行时、系统工具、系统库和设置等,这样就使得各种应用(例如容器服务中的任务、最小部署单元(Pod)、集群等)可以从一种计算环境快速切换到另一种计算环境中并保持可靠的运行。因此,容器技术通过运行容器或者容器镜像,或者说调用容器,来模拟软件应用过程。每个容器模拟不同的软件应用过程,因此每个容器都是独立进行的进程。容器和容器技术是在应用层上的抽象,也可以被理解为一种虚拟化可执行资源。多个容器可以共享一台物理机也可以在不同的物理机上运行。多个容器可以共享一个通用操作系统例如通过同一个虚拟机启动,也可以运行在不同的操作系统下。容器和容器技术使得软件应用过程和各种应用的运行进程不依赖于完整的操作系统和依赖环境从而便于移植,并且容器构建过程只打包必要元素也即只需要轻量级虚拟化技术,在容器构建后可便利地部署。
图1所示的云原生任务调度方法,以及本申请其它具体实施例,应用于隐私计算和隐私数据保护,包括应用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务,采用特定的方式和特定的组合来完成所述待执行隐私计算任务。其中意味着借助各个参与方的云原生应用平台包括各自的容器化部署技术实现了隐私计算、隐私数据以及联邦学习技术领域的产品和服务与云原生应用架构之间的高度整合。具体地,本申请所描述的图1所示的云原生任务调度方法以及本申请其它具体实施例,通过解耦底层操作系统、硬件、存储和支持服务之间的依赖关系,使得新的基础架构之间的迁移和扩展变得简单便利;通过容器编排服务和容器管理平台来管理服务器、网络和存储的配置脚本等,从而简化了复杂的大规模操作且利于问题诊断;在容器构建过程中只打包必要元素也即只需要轻量级虚拟化技术,从而在开发和部署过程中有较好的敏捷性。
请继续参阅图1,在步骤S102,多个参与方根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。这里,多个参与方可以理解为至少两个参与方并且该至少两个参与方要协同完成所述待执行隐私计算任务。待执行隐私计算任务指的是隐私计算、隐私数据以及联邦学习技术领域的产品和服务中任意涉及到两个或者更多个参与方的项目、任务、算法或者模型等。例如,所述多个参与方可以是一起进行联邦学习模型的训练、建立或者推理,还可以是属于同一个联邦学习合作网络,还可以是具有实现协定的联邦学习合作关系等。多个参与方各自对应的载体、身份、角色可以根据实际应用场景而定,例如多个参与方可以是同一个机构内的不同部门,也可以是不同的机构、企业或者个人。其中每个参与方都具有各自的可执行资源。这里,可执行资源应宽泛地理解为各个参与方各自能调用的计算资源、存储资源和控制资源的集合,包括在某个参与方本地的资源以及不在某个参与方本地但是可以通过远程或者云端来调用的资源。这一点下面还会进一步详细描述。在步骤S102中,值得注意的是,多个参与方根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。这里,所述多个参与方共同确定初始调度信息和各自的任务目标,意味着在步骤S102中确定初始调度信息和各自的任务目标的过程中需要多个参与方的全体参与。也就是说,对于给定参与方,该给定参与方的任务目标的确定过程必然牵扯到其它参与方,这样才能共同确定该给定参与方的任务目标。另外,初始调度信息是针对给定待执行隐私计算任务而言,因此初始调度信息在协同完成给定待执行隐私计算任务的各个参与方之间是共享的。
接着,在步骤S104,所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元。上面提到,每个参与方都有各自的云原生应用平台,也有各自的可执行资源。这里各个参与方各自的云原生应用平台可以包括任意合适的容器和容器编排服务,或者采用任意合适的容器管理平台。在一种可能的实施方式中,两个不同的参与方之间可以采用不同的容器管理平台,只要两者之间能完成共同确定初始调度信息和各自的任务目标等操作。在另一种可能的实施方式中,多个参与方采用相同的容器管理平台。对于给定参与方,在步骤S102共同确定的初始调度信息是共享于多个参与方之间的,而在步骤S102共同确定的该给定参与方的任务目标是特定于该给定参与方的。所述多个参与方各自的可执行资源,指的是每个参与方各自能调用的计算资源、存储资源和控制资源的集合,包括在某个参与方本地的资源以及不在某个参与方本地但是可以通过远程或者云端来调用的资源。对于给定参与方而言,通过该给定参与方的云原生应用平台的容器技术,将运行应用程序进程所需的一切如代码、运行时、系统工具、系统库和设置等整合成一个独立的、可执行的软件包,就是容器。每个容器模拟不同的软件应用过程并且每个容器运行独立的进程。容器是虚拟化的可执行资源,运行在该给定参与方的云原生应用平台上的容器就是将该给定参与方的可执行资源虚拟化。一个容器也可以理解为可独立运行的独立部署单元或者说应用程序实例。例如,该给定参与方的可执行资源可能是一个计算集群,该计算集群下包括大量的计算机,其中可能有物理机也可能有虚拟机。这样的计算集群通过运行在该给定参与方的云原生应用平台上的容器实现了可执行资源虚拟化,从而对应多个节点,每个节点上运行的不同的应用程序分别对应不同的容器。而不同的节点可以指代不同的机器,也可以指代不同的运行环境例如开发环境、测试环境和生产环境,还可以指代不同的操作系统等。如此,借助于该给定参与方的云原生应用平台上的容器编排服务或者容器编排系统,通过容器的部署和组织能力,例如在合适的主机上启动容器以及当应用程序实例的计算/存储不足时拓展容器等,可以对该给定参与方的可执行资源的集合例如该给定参与方的计算集群下的大量可执行资源的集合,进行统一管理以及通过设定的策略将容器部署到计算集群的机器上,实现容器多实例的部署和应用路由的自动化配置。
参阅步骤S104和步骤S106,在步骤S104中所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元,以及在步骤S106中所述多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。这里,多个参与方各自的可执行资源的情况可能是不一致的,例如某个参与方的可执行资源可能多于另一个参与方的可执行资源,并且各个参与方的可执行资源的情况也是随着时间推移而可能发生变化的,例如某个参与方的计算集群中的节点或者主机发生故障或当机或下线,又例如某个参与方的计算集群中有新的节点或主机加入等。因此,为了确保多个参与方能够在共同确定的初始调度信息和各自的任务目标的基础上,不受到多个参与方各自的可执行资源的各种可能的变化的影响,而协同完成所述待执行隐私计算任务,需要进一步地解耦各个参与方的可执行资源的实际状态带来的影响。为此,设计了动态任务单元,每个参与方的动态任务单元可以理解为该参与方执行隐私计算任务的基础单元,这里动态任务单元是从功能上定义并不一定局限于特定的节点或者机器。例如,某个参与方的可执行资源是包括多个节点的计算集群,该参与方根据初始调度信息独自地在该参与方的云原生应用平台上通过申请该参与方的可执行资源(该参与方的包括多个节点的计算集群)来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元,这样得到的该参与方的动态任务单元可能对应该参与方的包括多个节点的计算集群中的一个节点或者更多个节点。并且,该参与方每次申请并创建动态任务单元时,所创建的动态任务单元对应的计算集群中的节点可能是不同的。这样就可以根据该参与方的可执行资源的实际状态,例如计算集群中的当前可用节点,来创建动态任务单元。这里,因为都是根据初始调度信息来申请可执行资源并创建动态任务单元,因此确保了所创建的动态任务单元可以满足完成所述待执行隐私计算任务的要求。接着在步骤S106中由多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。此外,每个参与方在完成各自的任务目标后还删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的该参与方的可执行资源。这样意味着动态任务单元是与给定的待执行隐私计算任务绑定的,为了完成当前任务所申请并创建的动态任务单元在该参与方完成该参与方的任务目标后就会被删除且可执行资源也会被回收,也就是说当前任务的执行情况不会影响其它任务的执行情况,这样更进一步地解耦了每个隐私计算任务对彼此的影响,有利于提高整体的稳定性和资源利用效率。如此,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
在一种可能的实施方式中,所述云原生任务调度方法还包括:在所述多个参与方共同确定所述待执行隐私计算任务的初始调度信息之后,根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及所述多个参与方用所述调整后调度信息替换所述初始调度信息。如此有利于根据至少一个参与方的可执行资源的实时状态调整初始调度信息得到调整后调度信息,有利于更好地协调多个参与方完成待执行隐私计算任务。
在一种可能的实施方式中,所述云原生任务调度方法还包括:在所述多个参与方共同确定述待执行隐私计算任务的初始调度信息之后,根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及所述至少一个参与方根据所述调整后调度信息在所述至少一个参与方的云原生应用平台上通过申请所述至少一个参与方的可执行资源来创建所述至少一个参与方的与所述待执行隐私计算任务相关联的动态任务单元。如此有利于根据至少一个参与方的可执行资源的实时状态调整初始调度信息得到调整后调度信息,有利于更好地创建动态任务单元来完成待执行隐私计算任务。
在一种可能的实施方式中,所述多个参与方中的每一个参与方的可执行资源包括该参与方的CPU、内存、节点数、GPU、和FPGA中的至少一项服务器资源信息。应当理解的是,可执行资源还可以包括其它形式的资源信息,以及包括任意能调用的计算资源、存储资源和控制资源的集合,包括本地的资源以及不在本地但是可以通过远程或者云端来调用的资源。
在一种可能的实施方式中,所述多个参与方中的一个或者多个参与方通过反复调用所述一个或者多个参与方的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。如此通过反复调用动态任务单元提高了资源利用效率。
在一种可能的实施方式中,所述多个参与方,在调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务的过程中,还通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来交换各自的任务参数信息。如此通过动态任务单元实现了数据交互。
在一种可能的实施方式中,所述多个参与方在共同确定所述待执行隐私计算任务的初始调度信息的过程中交换各自的任务控制信息。
在一种可能的实施方式中,所述多个参与方的每一个参与方的与所述待执行隐私计算任务相关联的动态任务单元包括一种或者多种工作负载资源类型。例如,工作负载资源类型可以是Kubernetes平台的工作负载资源类型,如Pod组件、Job组件或者Deploy组件等。
在一种可能的实施方式中,所述多个参与方各自的任务目标均是所述待执行隐私计算任务的结束。
在一种可能的实施方式中,所述多个参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络。
在一种可能的实施方式中,所述多个参与方各自的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBMKubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。应当理解的是,云原生应用平台还可以包括没有在此示例性列出的容器和容器编排服务,或者采用其它容器管理平台,只要能满足上述的动态任务单元调度的操作要求。
在一种可能的实施方式中,所述多个参与方还根据所述多个参与方各自的行业或者业务场景或者偏好共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。在上述的根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标的基础上,还可以结合所述多个参与方各自的行业或者业务场景或者偏好。例如,某个参与方的行业或者业务场景对安全性或数据加密有更高的要求,则可以设定相应的任务目标甚至为此调整初始调度信息。再例如,某个参与方的偏好可以体现在该参与方的任务目标上,从而更好地体现定制化特色。
应当理解的是,上述方法可以通过相应的执行主体或者载体来实现。在一些示例性实施例中,一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现上述方法以及上述任意实施例、实施方式或者它们的组合。在一些示例性实施例中,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述方法以及上述任意实施例、实施方式或者它们的组合。
图2示出了本申请实施例提供的一种实施方式的图1的云原生任务调度方法的应用场景。如图2所示,有三个参与方且各自有云原生应用平台和可执行资源。具体地,参与方210有云原生应用平台212和可执行资源214,参与方220有云原生应用平台222和可执行资源224,以及参与方230有云原生应用平台232和可执行资源234。图1所示的云原生任务调度方法适用于图2所示的三个参与方之间的协作。具体地,参考图1所示的云原生任务调度方法以及各种实施例、实施方式的有关细节,图2所示的三个参与方之间的云原生任务调度方法包括:参与方210、参与方220以及参与方230根据待执行隐私计算任务和参与方210、参与方220以及参与方230各自的可执行资源(分别为可执行资源214、可执行资源224以及可执行资源234)共同确定所述待执行隐私计算任务的初始调度信息和参与方210、参与方220以及参与方230各自的任务目标。接着,参与方210、参与方220以及参与方230根据所述初始调度信息独自地且分别地在各自的云原生应用平台上(分别为云原生应用平台212、云原生应用平台222以及云原生应用平台232)通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元。也就是说,参与方210在云原生应用平台212上根据所述初始调度信息申请可执行资源214来创建参与方210的与所述待执行隐私计算任务相关联的动态任务单元,参与方220在云原生应用平台222上根据所述初始调度信息申请可执行资源224来创建参与方220的与所述待执行隐私计算任务相关联的动态任务单元,以及参与方230在云原生应用平台232上根据所述初始调度信息申请可执行资源234来创建参与方230的与所述待执行隐私计算任务相关联的动态任务单元。最后,参与方210、参与方220以及参与方230通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。如此,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
图3示出了本申请实施例提供的用于图1所示的云原生任务调度方法的电子设备的框图。如图3所示,电子设备包括主处理器302,内部总线304,网络接口306,主存储器308,以及辅助处理器310和辅助内存312,还有辅助处理器320和辅助内存322。其中,主处理器302与主存储器308连接,主存储器308可用于存储主处理器302可执行的计算机指令,从而可以实现图1所示的云原生任务调度方法,包括其中部分或者全部步骤,也包括其中步骤的任意可能的组合或结合以及可能的替换或者变体。网络接口306用于提供网络连接以及通过网络收发数据。内部总线304用于提供在主处理器302、网络接口306、辅助处理器310以及辅助处理器320之间的内部的数据交互。其中,辅助处理器310与辅助内存312连接并一起提供辅助计算能力,而辅助处理器320与辅助内存322连接并一起提供辅助计算能力。辅助处理器310和辅助处理器320可以提供相同或者不同的辅助计算能力,包括但是不限于,针对特定计算需求进行优化的计算能力如并行处理能力或者张量计算能力,针对特定算法或者逻辑结构进行优化的计算能力例如迭代计算能力或者图计算能力等。辅助处理器310和辅助处理器320可以包括特定类型的一个或者多个处理器,如数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,从而可以提供定制化的功能和结构。在一些示例性实施例中,电子设备可以不包括辅助处理器,可以包括仅一个辅助处理器,还可以包括任意数量的辅助处理器且各自具有相应的定制化功能及结构,在此不做具体限定。图3中所示出的两个辅助处理器的架构仅为说明性而不应解释为限制性。另外,主处理器302可以包括单核或者多核的计算单元,用于提供本申请实施例所必需的功能和操作。另外,主处理器302和辅助处理器(如图3中的辅助处理器310和辅助处理器320)可以具有不同的架构,也就是电子设备可以是基于异构架构的系统,例如主处理器302可以是基于指令集操作体系的通用型处理器如CPU,而辅助处理器可以是适合并行化计算的图形处理器GPU或者是适合神经网络模型相关运算的专用加速器。辅助内存(例如图3所示的辅助内存312和辅助内存322)可以用于配合各自对应的辅助处理器来实现定制化功能及结构。而主存储器308用于存储必要的指令、软件、配置、数据等从而可以配合主处理器302提供本申请实施例所必需的功能和操作。在一些示例性实施例中,电子设备可以不包括辅助内存,可以包括仅一个辅助内存,还可以包括任意数量的辅助内存,在此不做具体限定。图3中所示出的两个辅助内存的架构仅为说明性而不应解释为限制性。主存储器308以及可能的辅助内存可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性,并且可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。内部总线304可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。应当理解的是,图3所示的电子设备,其所示的结构并不构成对有关装置或系统的具体限定,在一些示例性实施例中,电子设备可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
图4示出了本申请实施例提供的云原生任务调度装置的框图。所述云原生任务调度装置部署在第一参与方,所述第一参与方是多个参与方中任意参与方。如图4所示,所述云原生任务调度装置包括:跨站点协调服务单元410,用于:根据待执行隐私计算任务和所述多个参与方各自的可执行资源,与所述多个参与方的其它参与方共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标,其中所述多个参与方各自的任务目标包括所述第一参与方的任务目标;调度服务单元420,用于根据所述初始调度信息独自地在所述第一参与方的云原生应用平台上通过申请所述第一参与方的可执行资源来创建所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元;和动态任务单元池430,其中所述动态任务单元池430是所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元的集合。其中,所述第一参与方通过调用所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。其中,所述第一参与方在完成所述第一参与方的任务目标后,删除所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的所述第一参与方的可执行资源。所述云原生任务调度装置还包括:控制请求服务单元402,用于接收控制指令并校验所述控制指令的有效性;通信服务单元404,用于所述第一参与方与所述多个参与方的其它参与方之间的加密通信。应当理解的是,动态任务单元池430是所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元的集合,因此动态任务单元池430可能包括任意数量的动态任务单元,例如一个、两个或者更多个。并且,当所述第一参与方完成所述第一参与方的任务目标后,删除所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元并释放响应的可执行资源,这也就意味着释放动态任务单元池430对应的可执行资源。在第一参与方完成所述第一参与方的任务目标之前,所述云原生任务调度装置还依赖动态任务单元池430来执行所述待执行隐私计算任务,包括必要的控制信息和任务参数等交互。因此,所述动态任务单元池430是所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元的集合,也是与所述待执行隐私计算任务绑定的。如此,在充分利用了云原生和基于云平台进行容器化部署所带来的便利性和敏捷性的基础上,实现了可用于隐私计算和隐私数据保护的云原生任务调度方法,适用于隐私计算、隐私数据及联邦学习技术领域的各种产品和服务跟云原生应用架构之间的高度整合,并且通过多个参与方共同确定初始调度信息和各自的任务目标来加强协作同时还利用动态任务单元解耦了多个参与方各自的可执行资源的变化对协作完成待执行隐私计算任务带来的影响,而且还通过在完成各自的任务目标后删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元从而解耦了每个隐私计算任务对彼此的影响进而有利于提高整体的稳定性和资源利用效率。
在一种可能的实施方式中,所述云原生任务调度装置还包括:控制请求服务单元402,用于接收控制指令并校验所述控制指令的有效性;通信服务单元404,用于所述第一参与方与所述多个参与方的其它参与方之间的加密通信。其中,控制请求服务单元402可用于对例如启动任务、停止任务、查询状态等来自外部的控制指令进行校验,确定请求的有效性。通信服务单元404可以实现不同参与方或者不同站点之间的加密通信,例如采用传输层安全协议(Transport Layer Security,TLS)加密方式,可用于控制信息和任务参数等信息的交互。
在一种可能的实施方式中,在所述跨站点协调服务单元410与所述多个参与方的其它参与方共同确定所述待执行隐私计算任务的初始调度信息之后,所述跨站点协调服务单元410还用于:根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及用所述调整后调度信息替换所述初始调度信息。如此有利于根据至少一个参与方的可执行资源的实时状态调整初始调度信息得到调整后调度信息,有利于更好地协调多个参与方完成待执行隐私计算任务。
在一种可能的实施方式中,所述第一参与方的可执行资源包括所述第一参与方的CPU、内存、节点数、GPU、和FPGA中的至少一项服务器资源信息。应当理解的是,可执行资源还可以包括其它形式的资源信息,以及包括任意能调用的计算资源、存储资源和控制资源的集合,包括本地的资源以及不在本地但是可以通过远程或者云端来调用的资源。
在一种可能的实施方式中,所述第一参与方的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBMKubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。应当理解的是,云原生应用平台还可以包括没有在此示例性列出的容器和容器编排服务,或者采用其它容器管理平台。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
Claims (17)
1.一种云原生任务调度方法,应用于隐私计算和隐私数据保护,其特征在于,所述云原生任务调度方法包括:
多个参与方根据待执行隐私计算任务和所述多个参与方各自的可执行资源共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标;
所述多个参与方根据所述初始调度信息独自地且分别地在各自的云原生应用平台上通过申请该参与方的可执行资源来创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元;
所述多个参与方通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务,
其中,所述多个参与方中的每一个参与方在完成该参与方的任务目标后,删除该参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建该参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的该参与方的可执行资源,
所述多个参与方在共同确定所述待执行隐私计算任务的初始调度信息的过程中交换各自的任务控制信息,
所述多个参与方还根据所述多个参与方各自的行业或者业务场景或者偏好共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。
2.根据权利要求1所述的云原生任务调度方法,其特征在于,所述云原生任务调度方法还包括:
在所述多个参与方共同确定所述待执行隐私计算任务的初始调度信息之后,根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及所述多个参与方用所述调整后调度信息替换所述初始调度信息。
3.根据权利要求1所述的云原生任务调度方法,其特征在于,所述云原生任务调度方法还包括:
在所述多个参与方共同确定述待执行隐私计算任务的初始调度信息之后,根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及所述至少一个参与方根据所述调整后调度信息在所述至少一个参与方的云原生应用平台上通过申请所述至少一个参与方的可执行资源来创建所述至少一个参与方的与所述待执行隐私计算任务相关联的动态任务单元。
4.根据权利要求1所述的云原生任务调度方法,其特征在于,所述多个参与方中的每一个参与方的可执行资源包括该参与方的CPU、内存、节点数、GPU、和FPGA中的至少一项服务器资源信息。
5.根据权利要求1所述的云原生任务调度方法,其特征在于,所述多个参与方中的一个或者多个参与方通过反复调用所述一个或者多个参与方的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务。
6.根据权利要求1所述的云原生任务调度方法,其特征在于,所述多个参与方,在调用各自的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务的过程中,还通过调用各自的与所述待执行隐私计算任务相关联的动态任务单元来交换各自的任务参数信息。
7.根据权利要求1所述的云原生任务调度方法,其特征在于,所述多个参与方的每一个参与方的与所述待执行隐私计算任务相关联的动态任务单元包括一种或者多种工作负载资源类型。
8.根据权利要求1所述的云原生任务调度方法,其特征在于,所述多个参与方各自的任务目标均是所述待执行隐私计算任务的结束。
9.根据权利要求1至8中任一项所述的云原生任务调度方法,其特征在于,所述多个参与方参与同一隐私计算协作项目或者属于同一隐私计算协作网络。
10.根据权利要求1至8中任一项所述的云原生任务调度方法,其特征在于,所述多个参与方各自的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBM Kubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。
11.一种非瞬时性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现根据权利要求1至10中任一项所述的云原生任务调度方法。
12.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现根据权利要求1至10中任一项所述的云原生任务调度方法。
13.一种云原生任务调度装置,应用于隐私计算和隐私数据保护,其特征在于,所述云原生任务调度装置部署在第一参与方,所述第一参与方是多个参与方中任意参与方,所述云原生任务调度装置包括:
跨站点协调服务单元,用于:根据待执行隐私计算任务和所述多个参与方各自的可执行资源,与所述多个参与方的其它参与方共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标,其中所述多个参与方各自的任务目标包括所述第一参与方的任务目标;
调度服务单元,用于根据所述初始调度信息独自地在所述第一参与方的云原生应用平台上通过申请所述第一参与方的可执行资源来创建所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元;和
动态任务单元池,其中所述动态任务单元池是所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元的集合,
其中,所述第一参与方通过调用所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元来协同完成所述待执行隐私计算任务,
其中,所述第一参与方在完成所述第一参与方的任务目标后,删除所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元,并且释放为创建所述第一参与方的与所述待执行隐私计算任务相关联的动态任务单元而申请的所述第一参与方的可执行资源,
所述多个参与方在共同确定所述待执行隐私计算任务的初始调度信息的过程中交换各自的任务控制信息,
所述多个参与方还根据所述多个参与方各自的行业或者业务场景或者偏好共同确定所述待执行隐私计算任务的初始调度信息和所述多个参与方各自的任务目标。
14.根据权利要求13所述的云原生任务调度装置,其特征在于,所述云原生任务调度装置还包括:
控制请求服务单元,用于接收控制指令并校验所述控制指令的有效性;
通信服务单元,用于所述第一参与方与所述多个参与方的其它参与方之间的加密通信。
15.根据权利要求13所述的云原生任务调度装置,其特征在于,在所述跨站点协调服务单元与所述多个参与方的其它参与方共同确定所述待执行隐私计算任务的初始调度信息之后,所述跨站点协调服务单元还用于:根据所述多个参与方中的至少一个参与方的可执行资源的实时状态调整所述初始调度信息得到调整后调度信息,以及用所述调整后调度信息替换所述初始调度信息。
16.根据权利要求13所述的云原生任务调度装置,其特征在于,所述第一参与方的可执行资源括所述第一参与方的CPU、内存、节点数、GPU、和FPGA中的至少一项服务器资源信息。
17.根据权利要求13至16中任一项所述的云原生任务调度装置,其特征在于,所述第一参与方的云原生应用平台包括以下至少一项:Kubernetes容器编排引擎、Kubernetes容器管理平台、Azure Kubernetes服务、IBM Kubernetes服务、KubeSphere容器云平台、Rancher容器管理平台、k3s容器管理服务、MicroK8s容器管理工具、Vmware Tanzu容器调度框架以及RedHat OpenShift容器调度框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210582671.8A CN114968525B (zh) | 2022-05-26 | 2022-05-26 | 隐私计算和隐私数据保护的云原生任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210582671.8A CN114968525B (zh) | 2022-05-26 | 2022-05-26 | 隐私计算和隐私数据保护的云原生任务调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114968525A CN114968525A (zh) | 2022-08-30 |
CN114968525B true CN114968525B (zh) | 2023-03-24 |
Family
ID=82954941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210582671.8A Active CN114968525B (zh) | 2022-05-26 | 2022-05-26 | 隐私计算和隐私数据保护的云原生任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968525B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113537508A (zh) * | 2021-06-18 | 2021-10-22 | 百度在线网络技术(北京)有限公司 | 联邦计算的处理方法、装置、电子设备和存储介质 |
CN113961318A (zh) * | 2020-07-20 | 2022-01-21 | 百度在线网络技术(北京)有限公司 | 分布式调度方法、装置、设备以及存储介质 |
CN114035907A (zh) * | 2021-12-16 | 2022-02-11 | 北京冲量在线科技有限公司 | 基于超算中心Slurm作业调度和安全虚拟机容器的隐私计算系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190041853A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Distributed compute method, apparatus, and system |
CN113112029B (zh) * | 2021-04-22 | 2022-09-16 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习系统和方法 |
CN113220459B (zh) * | 2021-05-26 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 一种任务处理方法及装置 |
-
2022
- 2022-05-26 CN CN202210582671.8A patent/CN114968525B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961318A (zh) * | 2020-07-20 | 2022-01-21 | 百度在线网络技术(北京)有限公司 | 分布式调度方法、装置、设备以及存储介质 |
CN113537508A (zh) * | 2021-06-18 | 2021-10-22 | 百度在线网络技术(北京)有限公司 | 联邦计算的处理方法、装置、电子设备和存储介质 |
CN114035907A (zh) * | 2021-12-16 | 2022-02-11 | 北京冲量在线科技有限公司 | 基于超算中心Slurm作业调度和安全虚拟机容器的隐私计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114968525A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429442B2 (en) | Parallel and distributed computing using multiple virtual machines | |
US9661071B2 (en) | Apparatus, systems and methods for deployment and management of distributed computing systems and applications | |
Shu et al. | Cloud-integrated cyber-physical systems for complex industrial applications | |
US20200293354A1 (en) | Container dockerfile and container mirror image quick generation methods and systems | |
US10360050B2 (en) | Simulation of high performance computing (HPC) application environment using virtual nodes | |
Awaysheh et al. | Big data resource management & networks: Taxonomy, survey, and future directions | |
US11902251B2 (en) | Socket transferring for HPC networks using kernel tracing | |
US20180165177A1 (en) | Debugging distributed web service requests | |
Song et al. | A load balancing scheme using federate migration based on virtual machines for cloud simulations | |
Kjorveziroski et al. | IoT serverless computing at the edge: Open issues and research direction | |
US20180316572A1 (en) | Cloud lifecycle managment | |
Mohamed et al. | MidCloud: an agent‐based middleware for effective utilization of replicated Cloud services | |
Shan et al. | KubeAdaptor: a docking framework for workflow containerization on Kubernetes | |
WO2020124459A1 (zh) | 基于混合云计算平台的无服务函数的服务方法 | |
Satoh | MapReduce-based data processing on IoT | |
CN114968525B (zh) | 隐私计算和隐私数据保护的云原生任务调度方法及装置 | |
CN114661427B (zh) | 部署容器化应用服务的计算集群的节点管理方法及系统 | |
CN114006815A (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
CN116302433A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN116204307A (zh) | 兼容不同计算框架的联邦学习方法和联邦学习系统 | |
Liu et al. | A large-scale rendering system based on hadoop | |
Youssef et al. | New framework for improving big data analysis using mobile agent | |
Benedictis et al. | A framework for cloud-aware development of bag-of-tasks scientific applications | |
CN104731603A (zh) | 面向复杂环境的系统自适应动态演化方法 | |
Hsiao et al. | Cloud Computing, Internet of Things (IoT), Edge Computing, and Big Data Infrastructure |
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 |