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

一种组件适配方法、装置、电子设备及存储介质与流程

2022-05-18 06:56:31 来源:中国专利 TAG:


1.本技术涉及联邦学习、机器学习和软件工程的技术领域,具体而言,涉及一种组件适配方法、装置、电子设备及存储介质。


背景技术:

2.隐私计算平台是为了解决数据隐私泄露问题提出的一种联邦学习信息处理平台,该平台主要是改善因隐私保护导致的数据孤岛问题。
3.目前,隐私计算平台对数据流进行处理的过程包括:通过数据流的工程管理模块来创建流程任务,再通过数据流的引擎将流程任务经过组件容器后,直接调用联邦学习实际服务。然而,在具体的实践过程中发现,当隐私计算平台中的组件容器升级或改版时,需要联邦学习实际服务的开发者对应进行二次修改来兼容组件容器修改,也就是说,在组件容器中运行的任务对象与联邦学习实际服务过于耦合。


技术实现要素:

4.本技术实施例的目的在于提供一种组件适配方法、装置、电子设备及存储介质,用于改善在组件容器中运行的任务对象与联邦学习实际服务过于耦合的问题。
5.第一方面,本技术实施例提供了一种组件适配方法,包括:从组件容器中获取不同的任务对象信息;获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象。在上述方案的实现过程中,通过获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得用于创建和运行联邦学习实际服务的任务对象,有效地在联邦学习实际服务与组件容器之间增加了适配转换过程,使得在隐私计算平台中的组件容器升级或改版时,直接升级或改版适配转换服务即可,该适配转换过程解耦了联邦学习实际服务与组件容器的依赖关系,从而改善了任务对象与联邦学习实际服务过于耦合的问题。
6.在第一方面的一种可选实现方式中,根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象,包括:对任务对象信息进行拆解,获得树状格式的对象数据;根据目标联邦学习信息对树状格式的对象数据进行适配转换,获得转换后的任务对象。
7.在上述方案的实现过程中,通过对任务对象信息进行拆解,获得树状格式的对象数据,并根据目标联邦学习信息对树状格式的对象数据进行适配转换,从而有效地解耦了联邦学习实际服务与组件容器的依赖关系,改善了任务对象与联邦学习实际服务过于耦合的问题。
8.在第一方面的一种可选实现方式中,对任务对象信息进行拆解,包括:使用脚本对象简谱json格式或者可扩展标记语言xml格式对任务对象信息进行拆解。
9.在第一方面的一种可选实现方式中,树状格式的对象数据包括:至少一条数据记录,数据记录包括标识符和具体值;根据目标联邦学习信息对树状格式的对象数据进行适
配转换,包括:判断数据记录的标识符是否在目标联邦学习信息中;若是,则根据目标联邦学习信息移动数据记录在树状格式的对象数据的位置。
10.在上述方案的实现过程中,通过在数据记录的标识符是否在目标联邦学习信息中的情况下,根据目标联邦学习信息移动数据记录在树状格式的对象数据的位置,从而有效地解耦了联邦学习实际服务与组件容器的依赖关系,改善了任务对象与联邦学习实际服务过于耦合的问题。
11.在第一方面的一种可选实现方式中,在判断数据记录的标识符是否包括在目标联邦学习信息中之后,还包括:若数据记录的标识符不在目标联邦学习信息中,则从树状格式的对象数据中移除数据记录。
12.在上述方案的实现过程中,通过在数据记录的标识符不在目标联邦学习信息中的情况下,就从树状格式的对象数据中移除数据记录,从而有效地解耦了联邦学习实际服务与组件容器的依赖关系,改善了任务对象与联邦学习实际服务过于耦合的问题。
13.在第一方面的一种可选实现方式中,在获得转换后的任务对象之后,还包括:使用转换后的任务对象创建和运行目标联邦学习对应的任务。在上述方案的实现过程中,通过使用转换后的任务对象创建和运行目标联邦学习对应的任务,从而使得目标联邦学习的程序接口不需要改动即可运行,从而实现了联邦学习实际服务与组件容器之间的解耦,并减轻了联邦学习实际服务的开发和维护难度。
14.第二方面,本技术实施例提供了一种组件适配装置,包括:任务信息获取模块,用于从组件容器中获取不同的任务对象信息;任务适配转换模块,用于获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象。
15.在第二方面的一种可选实现方式中,任务适配转换模块,包括:对象数据获取模块,用于对任务对象信息进行拆解,获得树状格式的对象数据;任务对象转换模块,用于根据目标联邦学习信息对树状格式的对象数据进行适配转换,获得转换后的任务对象。
16.在第二方面的一种可选实现方式中,对象数据获取模块,包括:任务对象拆解模块,用于使用脚本对象简谱json格式或者可扩展标记语言xml格式对任务对象信息进行拆解。
17.在第二方面的一种可选实现方式中,树状格式的对象数据包括:至少一条数据记录,数据记录包括标识符和具体值;任务对象转换模块,包括:数据记录判断模块,用于判断数据记录的标识符是否在目标联邦学习信息中;数据记录移动模块,用于若数据记录的标识符在目标联邦学习信息中,则根据目标联邦学习信息移动数据记录在树状格式的对象数据的位置。
18.在第二方面的一种可选实现方式中,任务对象转换模块,还包括:数据记录移除模块,用于若数据记录的标识符不在目标联邦学习信息中,则从树状格式的对象数据中移除数据记录。
19.在第二方面的一种可选实现方式中,组件适配装置,还包括:任务创建运行模块,用于使用转换后的任务对象创建和运行目标联邦学习对应的任务。
20.第三方面,本技术实施例提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
21.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
22.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
23.图1示出的本技术实施例提供的组件适配方法适用的应用场景示意图;
24.图2示出的本技术实施例提供的组件适配方法的流程示意图;
25.图3示出的本技术实施例提供的隐私计算平台中的组件适配服务的示意图;
26.图4示出的本技术实施例提供的json格式的任务对象信息的示意图;
27.图5示出的本技术实施例提供的目标联邦学习信息的示意图;
28.图6示出的本技术实施例提供的几种适配转换方式的示意图;
29.图7示出的本技术实施例提供的组件适配装置的结构示意图。
具体实施方式
30.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术实施例的详细描述并非旨在限制要求保护的本技术实施例的范围,而是仅仅表示本技术实施例中的选定实施例。基于本技术实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术实施例保护的范围。
31.可以理解的是,本技术实施例中的“第一”、“第二”用于区别类似的对象。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
32.在介绍本技术实施例提供的组件适配方法之前,先介绍本技术实施例中所涉及的一些概念:
33.联邦机器学习(federated machine learning,fml),又被称为联邦学习(federated learning)、联合学习或者联盟学习,是一种机器学习技术,具体来说就是人们在多个拥有本地数据样本的分散式边缘设备或服务器上训练算法。这种方法与传统的集中式机器学习技术有显著不同,传统的集中式机器学习技术将所有的本地数据集上传到一个服务器上,而更经典的分散式方法则通常假设本地数据样本都是相同分布的。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和法律法规的要求下,进行数据使用和机器学习建模。
34.前端(英语:front-end)和后端(英语:back-end),是指描述系统或者进程的通用词汇;通常前端的作用是输入信息和输出信息,而后端的作用是进行对输入信息进行处理,获得输出信息;具体例如:在浏览器展示的界面样式和视觉呈现均属于前端,而在服务器处
理的计算机程序的业务逻辑处理和微服务处理等均属于后端。
35.脚本对象简谱(javascript object notation,json)是一种轻量级的数据交换格式;json基于ecmascript的一个子集,这里的ecmascript是欧洲计算机协会制定的javascript规范,json采用完全独立于编程语言的文本格式来存储和表示数据。
36.可扩展标记语言(extensible markup language,xml)是指标准通用标记语言的子集,同时,xml也是一种用于标记电子文件使其具有结构性的标记语言。
37.领域特定语言(domain-specific language,dsl),又被译作领域专用语言,是指专注于某个应用程序领域的计算机语言。
38.需要说明的是,本技术实施例提供的组件适配方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和unix服务器。
39.请参见图1示出的本技术实施例提供的组件适配方法适用的应用场景示意图;下面介绍该组件适配方法适用的应用场景,这里的应用场景包括但不限于:图中的隐私计算平台包括:前端、流的工程管理、流的引擎和联邦学习服务等。其中,前端可以直接接收用户的流程图创建、保存和修改等操作,自动将前端修改后的流程图转换为工作流,并将工作流交给流的工程管理进行处理(即执行前端的创建、保存、选择模板和修改等等操作),获得由领域特定语言描述的工作流。然后,可以使用流的引擎对领域特定语言描述的工作流进行解析,从而生成有向无环图(directed acyclic graphs,dag),并对有向无环图(dag)进行编排优化后以任务对象信息的方式存放在组件容器中,根据组件容器中的任务对象信息执行和发布联邦学习实际服务。
40.由上述内容可以发现,联邦学习实际服务是与流的引擎强关联连接的,流的引擎负责解析和执行有向无环图(dag),并通过组件容器依据状态机的变化对组件执行进行调度,即组件容器中的任务对象信息是与联邦学习实际服务强邦定的。也就是说,联邦学习实际服务的运行依赖于组件容器,组件容器依赖于流的引擎,因此,在组件容器中运行的任务对象与联邦学习实际服务过于耦合的情况下,可以使用该组件适配方法在联邦学习实际服务与组件容器之间增加了适配转换过程,该适配转换过程解耦了联邦学习实际服务与组件容器的依赖关系,从而改善了任务对象与联邦学习实际服务过于耦合的问题。
41.请参见图2示出的本技术实施例提供的组件适配方法的流程示意图;该组件适配方法的主要思路是,通过获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得用于创建和运行联邦学习实际服务的任务对象,有效地在联邦学习实际服务与组件容器之间增加了适配转换过程,该适配转换过程解耦了联邦学习实际服务与组件容器的依赖关系,从而改善了任务对象与联邦学习实际服务过于耦合的问题。上述的组件适配方法可以包括:
42.步骤s110:从组件容器中获取不同的任务对象信息。
43.上述步骤s110的实施方式例如:在隐私计算平台中流的引擎对领域特定语言描述的工作流进行解析,并对解析生成的有向无环图(dag)进行编排优化后以任务对象信息的方式存放在组件容器中之后,可以通过隐私计算平台中流的引擎从组件容器中读取不同的
任务对象信息。其中,上述的任务对象信息是通过隐私计算平台中流的引擎,在组件容器中对领域特定语言描述的工作流进行解析和生成的,任务对象信息是指组件容器中一次执行任务的元数据信息。
44.步骤s120:获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象。
45.请参见图3示出的本技术实施例提供的隐私计算平台中的组件适配服务的示意图;上述步骤s120的实施方式例如:获取目标联邦学习信息,并通过隐私计算平台中的组件适配服务根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象,即转换成联邦学习实际服务可执行的任务对象。以流程调度的角度来看,任务对象信息是前置组件(即流的引擎中的组件代理)通过线性传递的方式给到当前组件(即组件适配服务)的,因此,组件适配服务可以接收到任务对象信息,并根据目标联邦学习信息对任务对象信息进行适配转换,具体的适配转换过程如下。
46.作为步骤s120的一种可选实施方式,根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象,包括:
47.步骤s121:对任务对象信息进行拆解,获得树状格式的对象数据。
48.请参见图4示出的本技术实施例提供的json格式的任务对象信息的示意图;上述的任务对象信息可以包括输入信息和静态信息,该可以是json格式或者xml格式等等树状格式(即以数据结构中的树表示的格式),为了便于理解和说明,下面均以json格式为例进行说明。
49.上述步骤s121的实施方式具体例如:使用脚本对象简谱json格式对任务对象信息进行拆解,获得树状格式的对象数据例如:{"ware":{"wareid":"123","version":"456"},"job":{"jobid":"789","inputs":[{},{}],"setting":{}},"info":"任务信息"}。上述的树状格式的对象数据包括:至少一条数据记录,数据记录包括标识符(即键值对中的key)和具体值(即键值对中的value);上述的version就是数据记录中的标识符,456就是数据记录中的具体值,该数据记录表示版本号是456。
[0050]
步骤s122:根据目标联邦学习信息对树状格式的对象数据进行适配转换,获得转换后的任务对象。
[0051]
请参见图5示出的本技术实施例提供的目标联邦学习信息的示意图;由于目标联邦学习信息(即目标联邦学习服务所需要的任务对象信息)可能和组件容器中保存的任务对象信息不匹配,因此,才需要对树状格式的对象数据按照目标联邦学习信息的格式进行适配转换,获得转换后的任务对象。
[0052]
请参见图6示出的本技术实施例提供的几种适配转换方式的示意图;上述步骤s122中的适配转换方式有很多种,包括但不限于如下几种:
[0053]
第一种适配转换方式,移动或移除的适配转换方式,具体可以包括:判断数据记录的标识符(例如wareid和info)是否在目标联邦学习信息中;若数据记录的标识符在目标联邦学习信息中,则根据目标联邦学习信息移动数据记录在树状格式的对象数据的位置,例如:wareid同时在任务对象信息和目标联邦学习信息中,只是两者的位置不同,因此需要将wareid对应的数据记录移动位置。若数据记录的标识符不在目标联邦学习信息中,则从树状格式的对象数据中移除数据记录,例如:wareid只是在任务对象信息中,但是不在目标联
邦学习信息中,因此,需要将wareid对应的数据记录从树状格式的对象数据中移除。
[0054]
第二种适配转换方式,转换的适配转换方式,具体例如:标识符为inputs的数据记录,其具体值为两个输入值,因此,需要在目标联邦学习信息中将其转换为两个输入值的形式(即图中的input1对应的数据记录和input2对应的数据记录)。
[0055]
第三种适配转换方式,填充的适配转换方式,具体例如:标识符为author仅在目标联邦学习信息中,不在任务对象信息中,因此,需要填充该author对应的数据记录,同理地,标识符为other对应的数据记录也需要填充在目标联邦学习信息中。
[0056]
在上述方案的实现过程中,通过获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得用于创建和运行联邦学习实际服务的任务对象,有效地在联邦学习实际服务与组件容器之间增加了适配转换过程,使得在隐私计算平台中的组件容器升级或改版时,直接升级或改版适配转换服务即可,该适配转换过程解耦了联邦学习实际服务与组件容器的依赖关系,从而改善了任务对象与联邦学习实际服务过于耦合的问题。
[0057]
作为上述组件适配方法的一种可选的实施方式,在获得转换后的任务对象之后,还可以使用转换后的任务对象创建和运行联邦学习任务,该实施方式包括:
[0058]
步骤s130:使用转换后的任务对象创建和运行目标联邦学习对应的任务。
[0059]
上述步骤s130的实施方式例如:使用转换后的任务对象创建和运行目标联邦学习对应的任务,使得目标联邦学习的程序接口不需要改动即可运行,从而实现了联邦学习实际服务与组件容器之间的解耦,并减轻了联邦学习实际服务的开发和维护难度。
[0060]
在上述方案的实现过程中,通过使用转换后的任务对象创建和运行目标联邦学习对应的任务,从而使得目标联邦学习的程序接口不需要改动即可运行,从而实现了联邦学习实际服务与组件容器之间的解耦,并减轻了联邦学习实际服务的开发和维护难度。
[0061]
请参见图7示出的本技术实施例提供的组件适配装置的结构示意图。本技术实施例提供了一种组件适配装置200,包括:
[0062]
任务信息获取模块210,用于从组件容器中获取不同的任务对象信息。
[0063]
任务适配转换模块220,用于获取目标联邦学习信息,并根据目标联邦学习信息对任务对象信息进行适配转换,获得转换后的任务对象。
[0064]
可选地,在本技术实施例中,任务适配转换模块,包括:
[0065]
对象数据获取模块,用于对任务对象信息进行拆解,获得树状格式的对象数据。
[0066]
任务对象转换模块,用于根据目标联邦学习信息对树状格式的对象数据进行适配转换,获得转换后的任务对象。
[0067]
可选地,在本技术实施例中,对象数据获取模块,包括:
[0068]
任务对象拆解模块,用于使用脚本对象简谱json格式或者可扩展标记语言xml格式对任务对象信息进行拆解。
[0069]
可选地,在本技术实施例中,树状格式的对象数据包括:至少一条数据记录,数据记录包括标识符和具体值;任务对象转换模块,包括:
[0070]
数据记录判断模块,用于判断数据记录的标识符是否在目标联邦学习信息中。
[0071]
数据记录移动模块,用于若数据记录的标识符在目标联邦学习信息中,则根据目标联邦学习信息移动数据记录在树状格式的对象数据的位置。
[0072]
可选地,在本技术实施例中,任务对象转换模块,还包括:
[0073]
数据记录移除模块,用于若数据记录的标识符不在目标联邦学习信息中,则从树状格式的对象数据中移除数据记录。
[0074]
可选地,在本技术实施例中,组件适配装置,还包括:
[0075]
任务创建运行模块,用于使用转换后的任务对象创建和运行目标联邦学习对应的任务。
[0076]
应理解的是,该装置与上述的组件适配方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,os)中的软件功能模块。
[0077]
本技术实施例提供的一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上的方法。
[0078]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。
[0079]
其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
[0080]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0081]
本技术实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本技术实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
[0082]
另外,在本技术实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领
域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0083]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0084]
以上的描述,仅为本技术实施例的可选实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。
再多了解一些

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

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

相关文献