任务执行方法、装置、中心节点和下游节点设备【
技术领域:
:】1.本说明书实施例涉及互联网
技术领域:
:,尤其涉及一种任务执行方法、装置、中心节点和下游节点设备。
背景技术:
::2.多方安全计算(multi-partycomputation,mpc)是指在满足数据安全、隐私保护和监管合规要求的前提下,利用秘密分享、混淆电路和/或同态加密等密码学算法,在多方数据不出域的前提下,挖掘数据价值。3.在mpc训练场景下,需要多方联合进行训练。训练任务将下发至各训练方进行训练,而各训练方使用的训练节点配置均不一致,同时各训练任务资源占用情况亦有不同,因此需要提供一种方案对训练任务进行资源调度。技术实现要素:4.本说明书实施例提供了一种任务执行方法、装置、中心节点和下游节点设备,以实现根据参与训练的各下游节点的总资源创建训练任务,充分利用各下游节点的运算资源,加快训练任务的执行速度。5.第一方面,本说明书实施例提供一种任务执行方法,应用于执行多方安全计算的训练任务的目标下游节点,所述方法包括:获取训练任务,所述训练任务中包括所述训练任务所需的资源配额;其中,所述训练任务是中心节点确定参与训练的每个下游节点的总资源均大于或等于所述训练任务所需的资源配额之后,在每个下游节点创建的;所述中心节点为执行所述多方安全计算的训练任务的中心节点;如果所述训练任务所需的资源配额小于或等于所述目标下游节点当前可用的资源,则启动所述训练任务,并等待参与训练的其他下游节点启动训练任务;根据参与训练的其他下游节点中训练任务的启动情况,确定执行所述训练任务。6.上述任务执行方法中,目标下游节点获取训练任务之后,如果上述训练任务所需的资源配额小于或等于目标下游节点当前可用的资源,则启动上述训练任务,并等待参与训练的其他下游节点启动训练任务,然后,根据参与训练的其他下游节点中训练任务的启动情况,确定执行上述训练任务,从而可以实现下游节点根据自身当前的可用资源启动训练任务,降低了资源调度的复杂性,并且可以充分利用下游节点的运算资源,加快了训练任务的执行速度。7.其中一种可能的实现方式中,所述根据参与训练的其他下游节点中训练任务的启动情况,确定执行所述训练任务包括:如果参与训练的其他下游节点中的训练任务均正常启动,则开始执行所述训练任务。8.其中一种可能的实现方式中,所述根据参与训练的其他下游节点中训练任务的启动情况,确定执行所述训练任务包括:如果所述目标下游节点启动的训练任务等待超时之后,参与训练的其他下游节点中仍存在未启动训练任务的下游节点,则将所述目标下游节点启动的训练任务加入所述目标下游节点的等待队列。9.其中一种可能的实现方式中,所述开始执行所述训练任务之后,还包括:在所述训练任务执行结束之后,释放所述训练任务占用的资源,从所述目标下游节点的等待队列中获取下一训练任务;启动下一训练任务。10.其中一种可能的实现方式中,所述获取训练任务之后,还包括:如果所述训练任务所需的资源配额大于所述目标下游节点当前可用的资源,则将所述训练任务加入所述目标下游节点的等待队列。11.第二方面,本说明书实施例提供一种任务执行方法,应用于执行多方安全计算的训练任务的中心节点,所述方法包括:获取训练任务建立请求;其中,所述训练任务建立请求中包括待建立的训练任务所包括的算子类型和参与训练的下游节点;根据预先设定的每种算子类型对应的资源配额,确定所述待建立的训练任务所需的资源配额;将所述待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比;如果每个下游节点的总资源均大于或等于所述待建立的训练任务所需的资源配额,则在所述参与训练的下游节点创建所述待建立的训练任务;其中,所述训练任务中包括所述训练任务所需的资源配额。12.上述任务执行方法中,中心节点获取训练任务建立请求之后,根据预先设定的每种算子类型对应的资源配额,确定待建立的训练任务所需的资源配额,然后将待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比,如果每个下游节点的总资源均大于或等于待建立的训练任务所需的资源配额,则在上述参与训练的各下游节点创建待建立的训练任务,从而可以实现根据各下游节点的当前可用资源启动训练任务,充分利用各下游节点的运算资源,加快训练任务的执行速度。13.其中一种可能的实现方式中,所述将所述待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比之后,还包括:如果参与训练的下游节点中存在总资源小于所述待建立的训练任务所需的资源配额的下游节点,则确定所述待建立的训练任务创建失败。14.第三方面,本说明书实施例提供一种任务执行装置,所述任务执行装置设置在执行多方安全计算的训练任务的目标下游节点中,所述装置包括:获取模块,用于获取训练任务,所述训练任务中包括所述训练任务所需的资源配额;其中,所述训练任务是中心节点确定参与训练的每个下游节点的总资源均大于或等于所述训练任务所需的资源配额之后,在每个下游节点创建的;所述中心节点为执行所述多方安全计算的训练任务的中心节点;启动模块,用于当所述训练任务所需的资源配额小于或等于所述目标下游节点当前可用的资源时,启动所述训练任务,并等待参与训练的其他下游节点启动训练任务;执行模块,用于根据参与训练的其他下游节点中训练任务的启动情况,确定执行所述训练任务。15.其中一种可能的实现方式中,所述执行模块,具体用于当参与训练的其他下游节点中的训练任务均正常启动时,开始执行所述训练任务。16.其中一种可能的实现方式中,所述执行模块,具体用于在启动的训练任务等待超时之后,如果参与训练的其他下游节点中仍存在未启动训练任务的下游节点,则将所述启动的训练任务加入所述目标下游节点的等待队列。17.其中一种可能的实现方式中,所述装置还包括:释放模块;所述释放模块,用于在所述训练任务执行结束之后,释放所述训练任务占用的资源;所述获取模块,还用于从所述目标下游节点的等待队列中获取下一训练任务;所述启动模块,还用于启动下一训练任务。18.其中一种可能的实现方式中,所述装置还包括:加入模块,用于在所述获取模块获取训练任务之后,如果所述训练任务所需的资源配额大于所述目标下游节点当前可用的资源,则将所述训练任务加入所述目标下游节点的等待队列。19.第四方面,本说明书实施例提供一种任务执行装置,所述任务执行装置设置在执行多方安全计算的训练任务的中心节点中,所述装置包括:获取模块,用于获取训练任务建立请求;其中,所述训练任务建立请求中包括待建立的训练任务所包括的算子类型和参与训练的下游节点;确定模块,用于根据预先设定的每种算子类型对应的资源配额,确定所述待建立的训练任务所需的资源配额;对比模块,用于将所述待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比;创建模块,用于当每个下游节点的总资源均大于或等于所述待建立的训练任务所需的资源配额时,在所述参与训练的下游节点创建所述待建立的训练任务;其中,所述训练任务中包括所述训练任务所需的资源配额。20.其中一种可能的实现方式中,所述确定模块,还用于在所述对比模块将所述待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比之后,如果参与训练的下游节点中存在总资源小于所述待建立的训练任务所需的资源配额的下游节点,则确定所述待建立的训练任务创建失败。21.第五方面,本说明书实施例提供一种下游节点设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。22.第六方面,本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。23.第七方面,本说明书实施例提供一种中心节点设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第二方面提供的方法。24.第八方面,本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第二方面提供的方法。25.应当理解的是,本说明书实施例的第三、第五和第六方面与本说明书实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。26.应当理解的是,本说明书实施例的第四、第七和第八方面与本说明书实施例的第二方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。【附图说明】27.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。28.图1为本说明书一个实施例提供的任务执行方法的流程图;29.图2为本说明书另一个实施例提供的任务执行方法的流程图;30.图3为本说明书一个实施例提供的任务执行的示意图;31.图4为本说明书再一个实施例提供的任务执行方法的流程图;32.图5为本说明书一个实施例提供的训练任务的状态转换一个实施例的示意图;33.图6为本说明书一个实施例提供的任务执行装置的结构示意图;34.图7为本说明书另一个实施例提供的任务执行装置的结构示意图;35.图8为本说明书再一个实施例提供的任务执行装置的结构示意图;36.图9为本说明书一个实施例提供的中心节点设备的结构示意图。【具体实施方式】37.为了更好的理解本说明书的技术方案,下面结合附图对本说明书实施例进行详细描述。38.应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。39.在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。40.现有相关技术中,在mpc训练场景下,在需要多方联合执行训练任务时,一般采用以下两种方式执行上述训练任务。41.一种方式为串行执行方式,即一个训练节点执行完自身的训练任务之后,将获得的训练结果传递给下一训练节点,但这种方式执行效率低,无法根据节点运算资源与训练任务的资源消耗合理分配运算资源。42.另一种方式由任务分发模块对任务进行调度,但是这种方式中,任务分发模块需对各训练节点的任务执行状态和各训练节点的资源消耗情况进行监测,实现复杂且稳定性较低。43.图1为本说明书一个实施例提供的任务执行方法的流程图,上述任务执行方法可以应用于执行多方安全计算的训练任务的中心节点,如图1所示,上述方法可以包括:44.步骤102,获取训练任务建立请求;其中,上述训练任务建立请求中包括待建立的训练任务所包括的算子类型和参与训练的下游节点。45.本实施例中,用户可以调用系统框架的应用程序接口(applicationprogramminginterface,api)发起训练任务建立请求,上述训练任务建立请求中指明待建立的训练任务所包括的算子类型和参与训练的下游节点。然后系统框架api根据用户发起的训练任务建立请求,向中心节点发起训练任务建立请求,中心节点获取上述训练任务建立请求。46.其中,系统框架是多方安全计算场景下,编排、部署和管理各类应用的平台。系统框架是一个跨机构的kubernetes集群,其中,kubernetesmaster位于中心节点,负责管理、调度和/或协调整个集群的资源和状态。kubernetesnode位于下游节点,负责执行离线训练任务,以及运行在线模型服务。47.步骤104,根据预先设定的每种算子类型对应的资源配额,确定待建立的训练任务所需的资源配额。48.本实施例中,训练任务以算子为训练单元,因此可以预先按照不同的算子类型,设置每种算子类型对应的资源配额。举例来说:“隐私求交”这种算子对应的资源配额为“4cpu核4g内存”,“woe分箱”这种算子对应的资源配额为“1cpu核1g内存”……49.这样,中心节点获取训练任务建立请求之后,可以获取待建立的训练任务所包括的算子类型,进而根据预先设定的每种算子类型对应的资源配额,就可以确定待建立的训练任务所需的资源配额。50.步骤106,将待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比。然后执行步骤108或步骤110。51.具体地,将待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比,是为了校验待建立的训练任务所需的资源配额是否大于参与训练的每个下游节点的总资源。如有任一下游节点的总资源小于待建立的训练任务所需的资源配额,则将本训练任务置为失败;如参与训练的每个下游节点的总资源均满足要求,则在各下游节点创建上述待建立的训练任务。52.步骤108,如果每个下游节点的总资源均大于或等于待建立的训练任务所需的资源配额,则在上述参与训练的下游节点创建待建立的训练任务;其中,上述训练任务中包括上述训练任务所需的资源配额。53.步骤110,如果参与训练的下游节点中存在总资源小于待建立的训练任务所需的资源配额的下游节点,则确定上述待建立的训练任务创建失败。54.上述任务执行方法中,中心节点获取训练任务建立请求之后,根据预先设定的每种算子类型对应的资源配额,确定待建立的训练任务所需的资源配额,然后将待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比,如果每个下游节点的总资源均大于或等于待建立的训练任务所需的资源配额,则在上述参与训练的各下游节点创建待建立的训练任务,从而可以实现根据各下游节点的当前可用资源启动训练任务,充分利用各下游节点的运算资源,加快训练任务的执行速度。55.图2为本说明书另一个实施例提供的任务执行方法的流程图,上述任务执行方法可以应用于执行多方安全计算的训练任务的目标下游节点,其中,目标下游节点可以是参与多方安全计算的训练任务的任一下游节点。56.如图2所示,上述方法可以包括:57.步骤202,获取训练任务,上述训练任务中包括上述训练任务所需的资源配额。58.其中,上述训练任务是中心节点确定参与训练的每个下游节点的总资源均大于或等于上述训练任务所需的资源配额之后,在每个下游节点创建的;上述中心节点为执行所述多方安全计算的训练任务的中心节点。具体地,中心节点创建训练任务的过程可以参见本说明书图1所示实施例中的描述,在此不再赘述。59.步骤204,如果上述训练任务所需的资源配额小于或等于目标下游节点当前可用的资源,则启动上述训练任务,并等待参与训练的其他下游节点启动训练任务。60.其中,上述训练任务所需的资源配额小于或等于目标下游节点当前可用的资源,说明目标下游节点当前可用的资源充足,这时,该目标节点可以正常启动训练任务,等待其他下游节点启动训练任务。61.步骤206,根据参与训练的其他下游节点中训练任务的启动情况,确定执行上述训练任务。62.具体地,一种实现方式中,根据参与训练的其他下游节点中训练任务的启动情况,确定执行上述训练任务可以为:如果参与训练的其他下游节点中的训练任务均正常启动,则开始执行上述训练任务。63.本实现方式中,开始执行上述训练任务之后,在上述训练任务执行结束之后,目标下游节点释放上述训练任务占用的资源,从目标下游节点的等待队列中获取下一训练任务,然后启动下一训练任务。64.另一种实现方式中,根据参与训练的其他下游节点中训练任务的启动情况,确定执行上述训练任务可以为:如果目标下游节点启动的训练任务等待超时之后,参与训练的其他下游节点中仍存在未启动训练任务的下游节点,则将目标下游节点启动的训练任务加入上述目标下游节点的等待队列。65.参见图3,图3为本说明书一个实施例提供的任务执行的示意图,图3中,节点b和节点c共同执行任务2。节点b获取任务2之后,由于节点b当前可用的资源大于任务2所需的资源配额,因此节点b启动任务2,并等待节点c启动任务2。但是节点c当前可用的资源小于任务2所需的资源配额,因此节点c无法启动任务2,将任务2加入节点c的等待队列。这样,节点b启动的任务2等待超时之后,节点c仍未启动任务2,节点b将任务2加入节点b的等待队列。66.上述任务执行方法中,目标下游节点获取训练任务之后,如果上述训练任务所需的资源配额小于或等于目标下游节点当前可用的资源,则启动上述训练任务,并等待参与训练的其他下游节点启动训练任务,然后,根据参与训练的其他下游节点中训练任务的启动情况,确定执行上述训练任务,从而可以实现下游节点根据自身当前的可用资源启动训练任务,降低了资源调度的复杂性,并且可以充分利用下游节点的运算资源,加快了训练任务的执行速度。67.图4为本说明书再一个实施例提供的任务执行方法的流程图,如图4所示,本说明书图2所示实施例中,步骤202之后,还可以包括:68.步骤402,如果上述训练任务所需的资源配额大于目标下游节点当前可用的资源,则将上述训练任务加入目标下游节点的等待队列。69.参见图3,如上所述,节点b和节点c共同执行任务2,节点c获取任务2之后,节点c当前可用的资源小于任务2所需的资源配额,因此节点c无法启动任务2,将任务2加入节点c的等待队列。70.下面结合本说明书图1~图4所示实施例的描述,对本说明书实施例提供的任务执行方法中训练任务的状态转换进行说明。图5为本说明书一个实施例提供的训练任务的状态转换一个实施例的示意图。71.参见图5,用户发起训练任务建立请求之后,训练任务的状态为起始(starting)。如果中心节点确定参与训练的每个下游节点的总资源均大于或等于待建立的训练任务所需的资源配额,则在上述参与训练的下游节点创建待建立的训练任务,下游节点获取训练任务之后,如果训练任务所需的资源配额小于或等于下游节点当前可用的资源,则下游节点启动训练任务,这时,训练任务的状态由起始(starting)转为等待(pending)。72.如果参与训练的所有下游节点中的训练任务均正常启动,则开始执行上述训练任务,训练任务的状态由等待(pending)转为运行(running)。训练任务开始执行之后,如果训练任务的训练结果为训练成功,则状态转为成功(success);如果训练任务的训练结果为训练失败,则状态转为失败(failed);而如果训练任务训练超时,状态也转为失败(failed)。73.另一方面,用户发起训练任务建立请求之后,如果中心节点确定参与训练的下游节点中存在总资源小于待建立的训练任务所需的资源配额的下游节点,则确定上述训练任务创建失败,训练任务的状态由起始(starting)转为失败(failed)。74.本说明书实施例提供的任务执行方法,根据mpc训练任务需要多方联合训练、同时启动同时训练的特点,利用系统框架对mpc训练任务的调度能力将训练资源调度拆解为了中心节点对下游节点的总资源的判断和下游节点启动训练任务之后的超时判断,通过下游节点实现任务启动与排队机制的模式,降低了资源调度系统的复杂性。同时,根据不同算子对资源消耗的情况,利用kubernetes资源预算的相关功能,可以灵活配置下游节点的资源使用,并且可以充分利用下游节点的运算资源,加快了训练任务的执行速度。75.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。76.图6为本说明书一个实施例提供的任务执行装置的结构示意图,上述任务执行装置可以设置在执行多方安全计算的训练任务的目标下游节点中,如图6所示,上述任务执行装置可以包括:获取模块61、启动模块62和执行模块63;77.其中,获取模块61,用于获取训练任务,上述训练任务中包括训练任务所需的资源配额;其中,上述训练任务是中心节点确定参与训练的每个下游节点的总资源均大于或等于上述训练任务所需的资源配额之后,在每个下游节点创建的;上述中心节点为执行上述多方安全计算的训练任务的中心节点;78.启动模块62,用于当上述训练任务所需的资源配额小于或等于目标下游节点当前可用的资源时,启动上述训练任务,并等待参与训练的其他下游节点启动训练任务;79.执行模块63,用于根据参与训练的其他下游节点中训练任务的启动情况,确定执行上述训练任务。80.图6所示实施例提供的任务执行装置可用于执行本说明书图2所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。81.图7为本说明书另一个实施例提供的任务执行装置的结构示意图,与图6所示的任务执行装置相比,一种实现方式中,执行模块63,具体用于当参与训练的其他下游节点中的训练任务均正常启动时,开始执行上述训练任务。82.另一种实现方式中,执行模块63,具体用于在启动的训练任务等待超时之后,如果参与训练的其他下游节点中仍存在未启动训练任务的下游节点,则将启动的训练任务加入目标下游节点的等待队列。83.进一步地,上述任务执行装置还可以包括:释放模块64;84.释放模块64,用于在上述训练任务执行结束之后,释放上述训练任务占用的资源;85.获取模块61,还用于从目标下游节点的等待队列中获取下一训练任务;86.启动模块62,还用于启动下一训练任务。87.进一步地,上述任务执行装置还可以包括:加入模块65;88.加入模块65,用于在获取模块61获取训练任务之后,如果上述训练任务所需的资源配额大于目标下游节点当前可用的资源,则将上述训练任务加入目标下游节点的等待队列。89.图7所示实施例提供的任务执行装置可用于执行本说明书图2~图4所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。90.图8为本说明书再一个实施例提供的任务执行装置的结构示意图,上述任务执行装置可以设置在执行多方安全计算的训练任务的中心节点中,如图8所示,上述任务执行装置可以包括:获取模块81、确定模块82、对比模块83和创建模块84;91.其中,获取模块81,用于获取训练任务建立请求;其中,上述训练任务建立请求中包括待建立的训练任务所包括的算子类型和参与训练的下游节点;92.确定模块82,用于根据预先设定的每种算子类型对应的资源配额,确定待建立的训练任务所需的资源配额;93.对比模块83,用于将待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比;94.创建模块84,用于当每个下游节点的总资源均大于或等于待建立的训练任务所需的资源配额时,在参与训练的下游节点创建上述待建立的训练任务;其中,上述训练任务中包括上述训练任务所需的资源配额。95.本实施例中,确定模块82,还用于在对比模块83将待建立的训练任务所需的资源配额分别与参与训练的每个下游节点的总资源进行对比之后,如果参与训练的下游节点中存在总资源小于待建立的训练任务所需的资源配额的下游节点,则确定上述待建立的训练任务创建失败。96.图8所示实施例提供的任务执行装置可用于执行本说明书图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。97.图9为本说明书一个实施例提供的中心节点设备的结构示意图,如图9所示,上述中心节点设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1所示实施例提供的任务执行方法。98.其中,上述中心节点设备可以为执行多方安全计算的训练任务的中心节点。99.图9示出了适于用来实现本说明书实施方式的示例性中心节点设备的框图。图9显示的中心节点设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。100.如图9所示,中心节点设备以通用计算设备的形式表现。中心节点设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,以及连接不同组件(包括存储器430、通信接口420和处理单元410)的通信总线440。101.通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,或者使用多种总线结构中的任意总线结构的局域总线。举例来说,通信总线440可以包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mca)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection,pci)总线。102.中心节点设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被中心节点设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。103.存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)和/或高速缓存存储器。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书图1所示实施例的功能。104.具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书图1所描述的实施例中的功能和/或方法。105.处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图1所示实施例提供的任务执行方法。106.本说明书实施例还提供一种下游节点设备,上述下游节点设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图2~图4所示实施例提供的任务执行方法。107.其中,上述下游节点设备可以为执行多方安全计算的训练任务的下游节点。在具体实现时,下游节点设备同样可以采用图9所示的结构实现,在此不再赘述。108.本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图1所示实施例提供的任务执行方法。109.本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图2~图4所示实施例提供的任务执行方法。110.上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。111.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。112.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radiofrequency,rf)等等,或者上述的任意合适的组合。113.可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,lan)或广域网(wideareanetwork,wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。114.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。115.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。116.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。117.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属
技术领域:
:的技术人员所理解。118.取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。119.需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(personalcomputer,pc)、个人数字助理(personaldigitalassistant,pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3播放器、mp4播放器等。120.在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。121.另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。122.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram)、磁碟或者光盘等各种可以存储程序代码的介质。123.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。当前第1页12当前第1页12