CN114925072B - 数据管理方法、装置、***、设备、介质 - Google Patents
数据管理方法、装置、***、设备、介质 Download PDFInfo
- Publication number
- CN114925072B CN114925072B CN202210667189.4A CN202210667189A CN114925072B CN 114925072 B CN114925072 B CN 114925072B CN 202210667189 A CN202210667189 A CN 202210667189A CN 114925072 B CN114925072 B CN 114925072B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- data table
- row
- federal learning
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据管理方法、装置、***、电子设备、非瞬时计算机可读存储介质,涉及计算机技术领域,尤其涉及联邦学习领域、隐私计算领域,可用于对隐私数据进行管理。实现方案为:响应于接收到导入指令,获取第一数据集中至少一个第一数据行各自相应的数据信息,数据信息包括至少一个ID值、回溯时间、以及与属性列相对应的特征数据;基于至少一个第一数据行各自相应的ID值和回溯时间,确定至少一个第一数据行各自相应的索引,索引与索引列相对应;将至少一个第一数据行各自相应的索引和特征数据导入数据表;响应于接收到第一导出指令,基于数据表中的索引列相对应的索引,从数据表中导出与联邦学习任务相关联的第二数据集。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及联邦学习领域、隐私计算领域,可用于对隐私数据进行管理,具体涉及一种数据管理方法、装置、***、电子设备、非瞬时计算机可读存储介质。
背景技术
联邦机器学习(Federated Machine Learning),又名联邦学习(FederatedLearning),是一个机器学习框架,能有效帮助多个参与方在满足用户隐私保护和数据安全下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上完成联合学习任务,能从技术上打破数据孤岛,实现AI(Artificial Intelligence)协作。
联邦学习定义了机器学习框架,在此框架下可以通过设计虚拟模型来解决不同数据拥有方在不交换数据的情况下进行协作的问题。虚拟模型是各方将数据聚合在一起的最优模型,联邦学习的目标是虚拟模型无限接近按照传统建模模式所得到的模型,即将多个数据拥有方的数据汇聚到一处进行建模所得到的模型。在联邦机制下,各参与方(即数据拥有方)的身份和地位相同,可建立共享数据策略。由于各参与方的隐私数据不发生转移,因此不会泄露用户隐私或影响数据规范。需要说明的,联邦学习任务不局限于联邦建模,例如还可以为联邦查询任务、联邦统计任务等。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种数据管理方法、装置、***、电子设备、非瞬时计算机可读存储介质。
根据本公开的一方面,提供了一种数据管理方法,应用于与执行同一联邦学习任务的多个参与方中的任一个参与方通信连接的数据管理***,其特征在于,数据管理***内置有数据表,数据表包括索引列和多个属性列。该方法包括:响应于接收到该参与方的导入指令,获取待导入的第一数据集中至少一个第一数据行各自相应的数据信息,数据信息包括至少一个ID值、回溯时间、以及与至少一个属性列相对应的特征数据;基于至少一个第一数据行各自相应的至少一个ID值和回溯时间,确定至少一个第一数据行各自相应的索引,索引与索引列相对应;以及将至少一个第一数据行各自相应的索引和至少一个特征数据导入数据表;以及响应于接收到该参与方的第一导出指令,基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集。
根据本公开的另一方面,提供了一种联邦学习方法,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其特征在于,该参与方的数据管理***内置数据表,数据表包括索引列和至少一个属性列,其中,数据表还包括至少一个第一数据行,每一个第一数据行包括与索引列相对应的索引和与至少一个属性列相对应的特征数据,并且其中,索引与相对应的第一数据行的至少一个ID值和回溯时间相关。该方法包括:向数据管理***发送第一导出指令,以得到与联邦学习任务相关联的第二数据集,其中,第二数据集是基于数据表中的索引列相对应的至少一个索引从数据表中导出的;以及基于第二数据集,与多个目标参与方中的其他参与方执行联邦学习任务的后续子任务。
根据本公开的另一方面,提供了一种数据管理***,应用于与执行同一联邦学习任务的多个参与方中的任一个参与方,其特征在于,数据管理***内置有数据表,数据表包括索引列和多个属性列,数据管理***包括:导入单元,被配置为响应于接收到该参与方的导入指令,获取待导入的第一数据集中至少一个第一数据行各自相应数据信息,数据信息包括至少一个ID值、回溯时间、以及与至少一个属性列相对应的特征数据;基于至少一个第一数据行各自相应的至少一个ID值和回溯时间,确定至少一个第一数据行各自相应的索引,索引与索引列相对应;以及将至少一个第一数据行各自相应的索引和至少一个特征数据导入数据表;以及导出单元,被配置为响应于接收到该参与方的第一导出指令,基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集。
根据本公开的另一方面,提供了一种联邦学习装置,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其特征在于,该参与方的数据管理***内置数据表,数据表包括索引列和至少一个属性列,其中,数据表还包括至少一个第一数据行,每一个第一数据行包括和索引列相对应的索引和与至少一个属性列相对应的特征数据,并且其中,索引与对应的第一数据行的至少一个ID值和回溯时间相关,装置包括:发送单元,被配置为向数据管理***发送第一导出指令,以得到与联邦学习任务相关联的第二数据集,其中,第二数据集是基于数据表中的索引列相对应的至少一个索引从数据表中导出的;以及执行单元,被配置为基于第二数据集,与多个目标参与方中的其他参与方执行联邦学习任务的后续子任务。
根据本公开的另一方面,提供了一种联邦学习***,包括:上述联邦学习装置。
根据上述联邦学习***,还包括:上述数据管理***。
根据本公开的另一方面,提供了一种电子设备,其中,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据上述任一项的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据上述任一项的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的示例性实施例的数据管理方法的流程图;
图2示出了根据本公开的示例性实施例的从数据表中导出与联邦学习任务相关联的第二数据集的流程图;
图3示出了根据本公开的示例性实施例的联邦学习方法的流程图;
图4示出了根据本公开的示例性实施例的联邦学习方法的示意图;
图5示出了根据本公开的示例性实施例的联邦学习方法的流程图;
图6示出了根据本公开的示例性实施例的联邦学习方法的示意图;
图7示出了根据本公开的示例性实施例的数据管理***的框图;
图8示出了根据本公开的示例性实施例的联邦学习装置的框图;
图9示出了根据本公开的示例性实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
联邦学习是一种带有隐私保护、安全加密技术的分布式机器学习框架,旨在让分散的各参与方在满足不向其它参与者披露隐私数据的前提下,协作进行联邦学习任务。联邦学习任务例如可以为机器学习模型的训练,例如还可以为联邦查询任务、联邦统计任务等。
回溯时间(或简称回溯)用于表示数据个体的属性的记录时间,从而方便记录和查询个体的历史属性。在联邦学习建模领域,追溯各参与方参与建模的个体的回溯时间是很重要的过程。现有的涉及回溯业务的联邦学习场景中,若使用本地文件***的文件存储不同回溯时间的数据,则对这些数据的处理较为繁琐;而传统的数据库通常无法支持回溯场景的使用。
本公开提供了一种数据管理方法、装置、***、电子设备、非瞬时计算机可读存储介质,通过在联邦学习任务的参与方的数据管理***中建立包括与ID和回溯时间相关的索引列的数据表,使得能够在同一个数据表中存储同一个体在不同回溯时间的数据,并且能够对指定索引的数据进行导出,以得到用于下游联邦学习任务的数据集,增加数据使用的灵活性和便捷性,提高了联邦学习任务的整体效率。
以下将结合附图,详细描述本公开的实施例。
图1示出了根据本公开的示例性实施例的联邦学习方法100的流程图。该联邦学习方法100应用于与执行同一联邦学习任务的多个参与方中的任一个参与方通信连接的数据管理***。数据管理***内置有数据表,数据表包括索引列和多个属性列。如图1所示,该联邦学习方法100包括:步骤S102,响应于接收到该参与方的导入指令,获取待导入的第一数据集中至少一个第一数据行各自相应的数据信息,数据信息包括至少一个ID值、回溯时间、以及与至少一个属性列相对应的特征数据;步骤S104、基于至少一个第一数据行各自相应的至少一个ID值和回溯时间,确定至少一个第一数据行各自相应的索引,索引与索引列相对应;步骤S106、将至少一个第一数据行各自相应的索引和至少一个特征数据导入数据表;以及步骤S108、响应于接收到该参与方的第一导出指令,基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集。可以理解的是,步骤S102-步骤S106可以是响应于接收到当前参与方的导入指令后依次执行的。
由此,通过获取至少一个待导入的第一数据行各自的至少一个ID值、回溯时间、以及特征数据等数据信息,并基于每一个第一数据行的至少一个ID值和回溯时间,确定该第一数据行的索引,进而将至少一个第一数据行各自相应的索引和特征数据导入数据表,使得数据表中能够存储同一个体在不同回溯时间下的多组特征数据。而通过基于索引进行数据导出,使得能够灵活且便捷地从数据表中导出满足特定的ID和/或回溯时间要求的数据集。相比于相关技术中对不同回溯时间的数据进行单独管理的方式,本公开的方法降低了在涉及回溯业务的联邦学习场景下对回溯数据进行存储、管理、以及使用的难度,简化了执行联邦学习任务的业务流程,提高了执行联邦学习任务的整体效率。
本公开实施例中的ID是指能够唯一标记对象/个体的标识,例如可以为手机号、身份证号或用户账号等,此处不作限定,可以根据实际的应用场景来设定。在本公开的实施例中,每一个个体可以具有一个ID值,也可以具有多个ID值,在此不作限定。在个体具有多个ID值的实施例中,这些ID值均可以被存储在数据管理***中的数据表中,而在使用数据的过程中可以单独使用指定的一个ID。例如,可以基于与指定的ID相关的索引(ID值或联合索引,如下文将要描述的)导出与联邦学习任务相关联的第二数据集,从而使得联邦学习***基于指定的ID执行联邦学习任务。可以理解的是,各参与方之间可以预先商定一个ID作为指定的ID,或由一个参与方进行指定并将指定的ID发送到其他方,或者以其他方式使得各参与方所使用的指定的ID相同,以确保联邦学习任务的顺利执行。在一些实施例中,ID集可以是指同一种ID(数据表中的同一列)的一系列不同的ID值构成的集合。
本公开实施例中的回溯时间是指能够用于表示对象/个体的属性/特征数据的记录时间的标识,从而方便记录和查询对象/个体的历史属性/特征数据。例如,可以在多个不同的回溯时间对同一对象的多个特征/属性进行记录,从而得到与多个回溯时间分别对应的多组特征数据,而不同组的特征数据均对应相同的多个特征/属性。在涉及回溯业务的联邦学习场景下,各参与方的用于联邦学习任务的数据需要满足特定的回溯时间要求,例如,指定回溯时间下各参与方共同的样本对应的本方特征数据。可以理解的是,回溯时间可以是时间点,也可以是时间段,在此不作限定。
在一些实施例中,数据管理***内置有文档型数据库、图形数据库、键值对数据库等数据库中的一个或多个,以存储参与方的数据集。
根据一些实施例,数据管理***内置有关系型数据库,其中第一数据集以关系型数据的形式被存储在该关系型数据库中。进一步地,关系型数据库可以包括多个关系型数据表,每个关系型数据表可以以多个行和列的形式来存储数据。
由此,通过以关系型数据的形式存储数据集,可以实现对数据集的特定行和列的检索、提取、连接等操作。在本实施例中,在数据管理***中内置关系型数据库可以使得能够从参与方的数据集中导出满足特定ID和/或回溯时间要求或期望的特征数据。
本公开中将以SQL作为关系型数据库的示例对数据导入、导出、查询等操作进行说明,但这样的示例并不意图对数据库的类型进行限定。可以理解的是,本公开的数据管理方法也可以在其他的关系型数据库或具有类似功能的非关系型数据库上执行,而这样的实施均落在本公开的保护范围内。
在一些实施例中,索引列可以包括与回溯时间对应的索引列和与ID值对应的索引列,从而在数据表中通过这两者分别建立每一数据行与回溯时间的对应关系和与个体的对应关系。在一些实施例中,索引列可以包括与回溯时间和ID值两者相关的联合索引对应的联合索引列,从而在数据表中为每一数据行设置唯一指向该数据行的联合索引,并通过该联合索引建立每一数据行与回溯时间的对应关系和与个体的对应关系。在一些实施例中,索引列可以包括回溯时间对应的索引列和与ID值对应的索引列中的至少一者和联合索引列的组合,即与回溯时间对应的索引列和与ID值对应的索引列中的至少一者和与联合索引对应的索引列,或者包括其他能够体现数据行的ID值和回溯时间的一个或多个索引列,在此不做限定。
在一些实施例中,数据行的联合索引可以是通过将相应的ID值和与该数据行对应的回溯时间进行拼接而得到的。可以理解的是,也可以通过其他方式确定与ID值和回溯时间两者均相关的联合索引,在此不作限定。在一些实施例中,不同的参与方可以采用相同的方式生成联合索引,以便于在多参与方之间利用具有相同模式的联合索引执行联邦学习任务。在一些实施例中,每一个个体具有多个ID值,则可以为每一个数据行设置和多个ID值各自相关的多个联合索引。
在一些实施例中,导入指令可以为指示向数据管理***内置的数据表中新增回溯数据的指令。导入指令可以指示导入单一数据行,也可以指示批量导入多个数据行或数据集。导入指令可以直接包括待导入的数据(例如,个体的数据信息,可以包括ID值、特征数据、以及对应的回溯时间),也可以指示待导入的数据的数据源,例如CSV、TXT等本地文件,HTTP、FTP等远程文件地址,以及MySQL、Oracle、Hive等数据库表。
在一些实施例中,对于上述多种数据源(或者与数据源对应的第一数据集),步骤S102、获取待导入的第一数据集中至少一个第一数据行各自相应的数据信息例如可以包括:对于本地文件直接读取各第一数据行的数据信息;对于远程文件地址可以先将第一数据集下载到本地再按行读取相应的数据信息;对于数据库表可以查询相应的数据信息。可以理解的是,以上仅为几类数据源的示例和数据信息的获取方式的示例,本领域技术人员还可以采用其他方式从各类数据源获取数据,在此不作限定。在一个示例性实施例中,导入指令可以使用SQL的CREATE语句实现。
在一些实施例中,数据源本身具有回溯时间属性(例如,具有回溯列),则在导入过程中可以直接将每个个体对应的回溯时间作为该个体的回溯时间进行导入。在另一些实施例中,数据源本身没有回溯时间属性,则可以认为数据源中的每个个体的回溯时间一致,进而可以在导入时通过参数指定回溯时间。
根据一些实施例,导入指令可以包括回溯时间参数,至少一个第一数据行各自相应的回溯时间均可以与回溯时间参数一致。由此,通过为没有回溯时间属性的数据源设定回溯时间,保证了导入数据表后的每一数据行均对应一个回溯时间。
在一些实施例中,在进行数据导入时,也可以对第一数据行对应的回溯时间进行调整。例如,数据表中的与回溯时间相关的索引列支持特定的离散时间点或时间段,而与第一数据行对应的回溯时间为连续时间的时间点,则可以在导入时将这些连续时间的时间点近似到最接近的特定的离散时间点,并将其作为该第一数据行的回溯时间,或者使用包括该时间点的时间段作为该第一数据行的回溯时间,以确定相应的索引。
在一些实施例中,在步骤S104,可以参照数据表中实际包括的索引列,确定至少一个第一数据行各自相应的索引。如上文所描述的,在索引列包括与回溯时间对应的索引列和与ID值对应的索引列时,可以将至少一个第一数据行各自相应的ID值和回溯时间确定为该第一数据行的索引;在索引列包括与回溯时间和ID值两者相关的联合索引对应的联合索引列时,可以将基于每一个第一数据行相应的ID值和回溯时间而确定的该数据行的联合索引确定为该第一数据行的索引。在一些实施例中,还可以将每一个第一数据行的ID值、回溯时间、以及联合索引均作为该第一数据行的索引。可以理解的是,还可以通过其他方式设置与ID值和回溯时间相关的索引以及相应的索引列,在此不作限定。
在一些实施例中,如上文所描述的,至少一个第一数据行各自相应的联合索引可以是通过将该第一数据行的至少一个ID值分别和回溯时间进行拼接而得到的。通过这样的方式,能够较简便地生成与ID值和回溯时间均相关的联合索引,并且便于令不同参与方生成具有相同模式的联合索引,以用于在这些参与方之间进行联邦学习任务。
在一些实施例中,在步骤S106,将至少一个第一数据行各自相应的索引和至少一个特征数据导入数据表例如可以是将每一个第一数据行的至少一个ID值、回溯时间、以及至少一个特征数据导入数据表,也可以是将每一个第一数据行的联合索引和至少一个特征数据导入数据表,还可以是将每一个第一数据行的至少一个ID值和回溯时间中的至少一者、联合索引、以及至少一个特征数据,或者可以是其他能够体现每一个第一数据行的至少一个ID值和回溯时间的一个或多个索引以及至少一个特征数据导入数据表,并将每一个索引和每一个特征数据导入到对应的索引列和属性列中。
在一些实施例中,可以为数据导入过程设定预设条件和规则,以确保数据导入过程的顺利执行,避免发生错误。例如,可以在导入前确认待导入的数据的格式是否符合要求,待导入的数据所包括的属性是否和数据表中的属性列一致,待导入的数据是否和数据表中的数据冲突等等。可以理解的是,本领域技术人员可以根据需求设置相应的预设条件和规则,在此不作限定。
在一些实施例中,可以通过如下方式来避免待导入的数据和数据表中的数据冲突而产生的问题。步骤S106、将至少一个第一数据行各自相应的索引和至少一个特征数据导入数据表可以包括:针对至少一个第一数据行中的每一个第一数据行,响应于确定该第一数据行对应的个体在数据表中没有出现(例如,数据表中与其中一个ID值对应的索引列中未找到该个体对应的ID值),则可以在满足其他预设条件和规则的情况下导入该第一数据行;响应于确定该第一数据行对应的个体在数据表中出现,但该第一数据行对应的回溯时间和数据表中与该个体对应的数据行的回溯时间均不一致,则可以在满足其他预设条件和规则的情况下导入该第一数据行;响应于确定数据表中包括与该第一数据行具有完全相同的索引的第三数据行(即,该第一数据行和数据表中的第三数据行对应的个体的ID值和对应的回溯时间均相同),放弃导入该第一数据行。可以理解的是,第一数据行和第三数据行的索引完全相同例如可以是二者各自对应的联合索引相同。
由此,通过在导入第一数据行前对索引进行冲突检测,能够避免将ID和回溯时间均一致的冲突数据写入数据表,以确保数据表中的每个数据行均具有唯一的索引,从而使得后续的联邦学习任务能够正确进行。
根据一些实施例,导出指令可以为指示从数据管理***内置的数据表中导出用于联邦学习任务的数据的指令。导出指令可以指示导出部分或全部索引对应的数据行的部分或全部的特征数据,也可以仅导出索引以用于进行例如样本对齐等任务或仅导出特征数据以用于进行数据分析等任务,如后文将要描述的。导出指令可以包括指定的回溯时间和ID集,以指示需要导出的数据行的条件。导出指令还可以包括指定的属性,以指示数据行中需要导出的特征数据。在一个示例性实施例中,导出指令可以使用SQL的SELECT语句并增加WHERE条件进行实现。
数据管理***可以将数据导出到文件中,也可以例如通过接口将数据传送到对应的联邦学习***中。从数据管理***的数据表中导出的第二数据集可以用于横向联邦学习建模任务,也可以用于纵向联邦学习建模任务,还可以用于其他各种联邦学习任务;可以用于包含协作方的联邦学习框架,也可以用于不包含协作方的联邦学习框架,在此均不做限定。可以理解的是,本公开中描述的多个参与方执行联邦学习任务可以为多个参与方和协作方共同执行联邦学习任务。
以下将结合多个实施例对第一数据行所包括的索引的多种情况下,如何基于第一导出指令从数据表中导出数据进行说明。
根据一些实施例,第一数据行的索引可以包括ID值和回溯时间,第一导出指令可以包括指定的回溯时间和/或ID集。步骤S108、基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集可以包括:响应于接收到该参与方的第一导出指令,基于第一导出指令中所包括的回溯时间和/或ID集,从数据表中导出与联邦学习任务相关联的第二数据集。由此,能够实现对数据表中指定的回溯时间和/或ID集的数据行的特征数据进行导出。
根据一些实施例,第一数据行的索引可以包括联合索引,联合索引与相对应的第一数据行的至少一个ID值和回溯时间两者相关。步骤S108、基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集可以包括:响应于接收到该参与方的第一导出指令,基于数据表中的索引列相对应的至少一个联合索引,从数据表中导出与联邦学习任务相关联的第二数据集。由此,通过使用联合索引,实现了通过单个索引建立数据行与回溯时间的对应关系和与个体的对应关系,并且得到了与每一数据行唯一对应的索引,以便于快速从数据表中查找所需的数据行(例如,第一导出指令所指示的回溯时间、ID集、和/或联合索引对应的数据行)。
在一些实施例中,第一导出指令可以包括至少一个预设联合索引。基于数据表中的索引列相对应的至少一个联合索引,从数据表中导出与联邦学习任务相关联的第二数据集可以包括:从数据表中筛选出与至少一个预设联合索引对应的第二数据集。由此,通过使用与每一数据行唯一对应的索引进行筛选,能够快速从数据表中查找到第一导出指令所指示的数据行以进行导出。
在一些实施例中,如上文所描述的,至少一个第一数据行各自相应的联合索引可以包括与相应的至少一个ID值各自相关的至少一个联合索引。由此,通过为每一个ID值确定相应的联合索引,使得能够更灵活地基于与各个ID对应的联合索引进行数据导出。
在一些实施例中,如上文所描述的,第一导出指令可以指示目标ID,第二数据集可以包括数据表中的至少一个第二数据行各自的与目标ID相关的联合索引和/或至少一个第二数据行各自的至少一个ID值中的与目标ID对应的ID值。由此,通过将与目标ID(即前文中描述的各参与方共同制定的ID)相关的联合索引和/或ID值和特征数据一并导出,使得各参与方之间能够利用联合索引和/或ID值作为每个数据行的标识以共同执行联邦学习任务。
根据一些实施例,第一数据行的索引可以包括回溯时间、至少一个ID值、以及联合索引,第一导出指令可以包括第一目标回溯时间和/或第一ID集。如图2所示,步骤S108、基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集还可以包括:步骤S202、响应于接收到该参与方的第二导出指令,基于第一目标回溯时间和/或第一ID集,从数据表中导出与联邦学习任务相关联的第三数据集;以及步骤S204、响应于接收到该参与方的第一导出指令,基于数据表中的索引列相对应的至少一个联合索引,从数据表中导出与联邦学习任务相关联的第二数据集。
由此,多个参与方可以先向数据管理***发送第二导出指令,使得数据管理***根据指定的第一目标回溯时间和/或指定的第一ID集进行初筛,以得到与每个参与方对应的第三数据集,进而多个参与方可以向数据管理***发送第一导出指令,使得数据管理***进一步根据第一导出指令中所指示的至少一个预设联合索引导出相应的第二数据集,并传送到本方的联邦学习***以执行联邦学习任务。
在一个示例性实施例中,联邦学习任务为与纵向联邦学习相关的任务,则在执行联邦建模任务前需要进行样本求交。在这样的实施例中,第二导出指令可以指示将满足指定回溯时间的每一个第二数据行的指定的ID值和/或联合索引进行导出,以得到由指定回溯时间的每一个第二数据行的指定的ID值和/或联合索引构成的第三数据集。例如,参与方A导出的第三数据集可以包括回溯时间为2022年6月1日的三个联合索引“01-20220601”“02-20220601”“03-20220601”或这三个联合索引对应的数据行,参与方B导出的第三数据集可以包括三个联合索引“01-20220601”“03-20220601”“04-20220601”或这三个联合索引对应的数据行。然后,各参与方的联邦学习***可以利用第三数据集中所包括的索引(ID值和/或联合索引)进行求交,以得到各参与方共同具有的数据行的索引,即至少一个预设联合索引。例如,参与方A和参与方B各自的第三数据集所包括的联合索引求交后可以得到两个预设联合索引“01-20220601”“03-20220601”。进而,各参与方的数据管理***可以基于这些预设联合索引导出第二数据集并传送到联邦学习***,以执行后续的与纵向联邦学习相关的任务。例如,参与方A导出的第二数据集可以包括参与方A的数据管理***中的数据表中,联合索引为“01-20220601”的数据行和联合索引为“03-20220601”的数据行,参与方B导出的第二数据集可以包括参与方B的数据管理***中的数据表中,联合索引为“01-20220601”的数据行和联合索引为“03-20220601”的数据行。
在一个示例性实施例中,联邦学习任务为与纵向联邦学习相关的任务,并且对回溯时间的跨度不敏感,但需要保证建模过程中各参与方的数据行的回溯时间对齐,则第二导出指令可以指示将每一个第二数据行的联合索引进行导出,以得到第三数据集。然后,各参与方的联邦学习***可以利用第三数据集中所包括的联合索引进行求交,以得到各参与方共同具有的数据行。这些数据行中,不同的数据行之间可能具有不同的回溯时间,但每一个数据行对应的联合索引均是各参与方所共同具有的。
可以理解的是,第二导出指令还可以指示对任意的第一目标回溯时间和/或第一ID集进行导出,以得到对应的第三数据集,在此不作限定。
在一些实施例中,至少一个预设联合索引可以为该参与方与多个参与方中的其他参与方合作计算多个参与方各自的第三数据集的联合索引的交集而得到的。由此,通过各参与方先导出满足特定条件(例如,指定的回溯时间)的联合索引,并基于这些联合索引进行求交,进而基于求交后得到的至少一个预设索引导出对应的特征数据并传送到联邦学习***中进行后续的联邦学习任务,能够降低向联邦学习***传送的第二数据集的数据量以及联邦学习***处理的数据量,从而可以在不影响前置数据处理结果质量的情况下,降低前置数据处理过程所需要的时间和计算资源,因而能够提高整体联邦学习任务的效率。
可以理解的是,至少一个预设联合索引还可以是通过其他方式确定的,在此不做限定。
在一些实施例中,该参与方以异步的方式执行向数据管理***发送第一数据集和/或至少一个预设联合索引、以及从数据管理***接收第二数据集和/或第三数据集。
具体地,每个参与方可以与数据管理***以异步的方式进行数据的获取和发送。例如,参与方可以基于预先确定的获取时间窗口从数据管理***中获取第二数据集或第三数据集,而基于预先确定的与获取时间窗口不同的发送时间窗口向数据管理***发送第一数据集或至少一个预设联合索引,以避免参与方同步进行数据获取和发送所造成的接口超时、带宽不足、数据冲突等问题。
在一些实施例中,每个参与方的任何数据的获取和发送都可以以异步的方式进行,例如,和协作方之间或和其他参与方之间,从而避免接口超时、带宽不足、数据冲突等问题。
根据一些实施例,还可以使用删除指令、更新指令和查询指令实现数据表的删除、更新和查询功能。数据管理方法还可以包括以下中的至少一项:响应于接收到该参与方的删除指令,删除数据表中由删除指令指定的数据行,该删除指令包括待删除数据行相对应的索引;响应于接收到该参与方的更新指令,更新数据表中由更新指令指定的数据行的特征数据,该更新指令包括待更新数据行相对应的索引和待更新属性列相对应的更新特征数据;以及响应于接收到该参与方的查询指令,返回数据表中由查询指令指定的数据行的特征数据,该查询指令包括待获取的数据行相对应的索引。
在一些实施例中,删除指令能够基于索引对至少一个数据行进行删除。在一些示例性实施例中,可以对指定个体在指定回溯时间下(例如,基于ID值对应的索引、回溯时间对应的索引、和/或联合索引)的数据行进行删除,也可以对指定个体的所有回溯时间的数据行进行删除,还可以对指定回溯时间下的所有数据行进行删除,或者采用其他方式灵活地根据条件对至少一个数据行进行删除,在此不作限定。在一个示例性实施例中,删除指令可以使用SQL的DELETE语句并增加WHERE条件进行实现。
在一些实施例中,更新指令能够基于索引对已经存在的个体的指定的回溯时间的数据行(包括至少一个ID值、回溯时间和/或特征数据)进行更新。在一个示例性实施例中,更新指令可以使用SQL的UPDATE语句并增加WHERE条件以实现。
在一些实施例中,查询指令能够基于索引查询至少一个数据行。在一些实施例中,可以查询至少一个数据行的特征数据,也可以查询这些数据行的至少一个ID值、回溯时间、和/或联合索引等索引。在一些实施例中,可以对指定个体在指定回溯时间下(例如,基于ID值对应的索引、回溯时间对应的索引、和/或联合索引)的数据行中的一个或多个特征数据进行查询,也可以采用其他方式灵活地根据条件对至少一个数据行的一个或多个特征数据进行查询,在此不作限定。在一个示例性实施例中,查询指令可以使用SQL的SELECT语句并增加WHERE条件以实现。
由此,通过上述方式,实现了对数据表中的数据行的删除、修改、查询等功能。
图3示出了根据本公开的示例性实施例的联邦学习方法300的流程图。方法300应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其中,该参与方的数据管理***内置数据表,数据表包括索引列和至少一个属性列。数据表还包括至少一个第一数据行,每一个第一数据行包括与索引列相对应的索引和与至少一个属性列相对应的特征数据,并且索引与相对应的第一数据行的至少一个ID值和回溯时间相关。联邦学习方法300包括:步骤S302,向数据管理***发送第一导出指令,以得到与联邦学习任务相关联的第二数据集,其中,第二数据集是基于数据表中的索引列相对应的至少一个索引从数据表中导出的;以及步骤S304、基于第二数据集,与多个目标参与方中的其他参与方执行联邦学习任务的后续子任务。步骤S302中数据管理***的数据导出操作可以参照方法100中的步骤S108,在此不做赘述。
由此,联邦学习任务的各参与方通过从包括与ID和回溯时间相关的索引对应的索引列的数据表中导出本方的第二数据集,并基于第二数据集与其他参与方执行联邦学习任务的后续子任务,使得在涉及回溯业务的联邦学习场景下能够灵活、便捷地获取与回溯时间相关的数据集,提高了联邦学习任务的整体效率。
可以理解的是,关于每一参与方的数据管理***、数据表、索引列、以及属性列等内容可以参照上文中的相应描述,在此不作赘述。
在一些实施例中,在各参与方从相应的数据管理***导出第二数据集之前,多个参与方之间可以先确定与联邦学习任务的后续子任务对应的回溯时间,从而使得多个参与方各自导出的第二数据集中的数据行的回溯时间均相同。与联邦学习任务的后续子任务的回溯时间可以是预先确定的,也可以是由某一参与方确定后同步给其他参与方的,还可以是多个参与方之间协商确定的,或通过其他方式确定的,在此不做限定。
图4示出了根据本公开的示例性实施例的联邦学习方法的示意图。其中,参与方401和与该参与方对应的数据管理***402以及其他参与方403通信连接,其他参与方403和与其他参与方对应的数据管理***404通信连接。如图4所示,该方法包括:
参与方401将与该参与方对应的第一数据集411导入对应的数据管理***402;
其他参与方403将与其他参与方对应的第一数据集412导入对应的数据管理***404;
参与方401确定与联邦学习任务的后续子任务对应的回溯时间413,并将回溯时间发送至其他参与方403;
参与方401从对应的数据管理***402获取与回溯时间413对应的第二数据集414;
其他参与方403从对应的数据管理***404获取与回溯时间413对应的第二数据集415;
至此,各个参与方均获取到了与回溯时间413对应的、用于执行同一联邦学习任务的后续子任务的数据集,各个参与方可以基于各自的数据集以共同执行该后续子任务416。
可以理解的是,上述方法中,向数据管理***导入数据的步骤和从数据管理***获取数据的步骤可以参考前述数据管理方法100中的相应步骤的描述,在此不做赘述。此外,上述方法中的部分步骤可以同步进行。例如,参与方401和其他参与方403可以同时导入数据,并且可以同时导出数据。
在一些实施例中,图4的方法还可以应用于包括协作方的联邦学习框架,则该方法中涉及的部分数据可以传送到协作方和/或从协作方接收,并且其中的部分步骤可以由协作方来完成。这样的方案同样在本公开的保护范围内。
可以理解的是,步骤S302中的第一导出指令和前述数据管理方法100中描述的第一导出指令类似,在此不做赘述。
根据一些实施例,索引可以包括联合索引,联合索引与相对应的第一数据行的至少一个ID值和回溯时间两者相关。第二数据集可以是基于联合索引从数据表中导出的。由此,通过使用联合索引,实现了通过单个索引建立数据行与回溯时间的对应关系和与个体的对应关系,并且得到了与每一数据行唯一对应的索引,以便于能够快速从数据表中获取到所需的数据行(例如,第一导出指令所指示的回溯时间、ID集、和/或联合索引对应的数据行)。
在一些实施例中,第一导出指令可以包括至少一个预设联合索引。第二数据集可以是根据至少一个预设联合索引从数据表中筛选出的。由此,通过使用与每一数据行唯一对应的索引进行筛选,能够快速从数据表中获取到第一导出指令所指示的数据行。
在一些实施例中,至少一个第一数据行各自相应的联合索引可以包括与相应的至少一个ID值各自相关的至少一个联合索引。第一导出指令可以指示目标ID,第二数据集可以包括至少一个第一数据行各自的与目标ID相关的联合索引和/或至少一个第一数据行各自的至少一个ID值中的与目标ID对应的ID值。由此,通过为每一个ID值确定相应的联合索引,使得能够更灵活地基于与各个ID对应的联合索引进行数据导出。此外,通过将与目标ID(即前文中描述的各参与方共同制定的ID)相关的联合索引和/或ID值和特征数据一并导出,使得各参与方之间能够利用联合索引和/或ID值作为每个数据行的标识以共同执行联邦学习任务。。
根据一些实施例,索引可以包括回溯时间、至少一个ID值和联合索引,第一导出指令可以包括第一目标回溯时间和/或第一ID集。如图5所示,联邦学习方法500可以包括:步骤S502、向数据管理***发送第二导出指令,以得到与联邦学习任务相关联的第三数据集,其中,第三数据集是基于第一目标回溯时间和/或第一ID集从数据表中导出的。联邦学习方法500中的步骤S506-步骤S508的操作和效果与联邦学习方法300中的步骤S302-步骤S304的操作和效果类似,在此不做赘述。步骤S506、向数据管理***发送第一导出指令,以得到与联邦学习任务相关联的第二数据集可以包括:向数据管理***发送第一导出指令,以得到从第三数据集筛选出的第二数据集,其中,第二导出指令包括至少一个预设联合索引,第二数据集中的每一个第二数据行对应的联合索引属于至少一个预设联合索引。
由此,多个参与方可以先向数据管理***发送第二导出指令,使得数据管理***根据指定的第一目标回溯时间和/或指定的第一ID集进行初筛,以得到与每个参与方对应的第三数据集,进而多个参与方可以向数据管理***发送第一导出指令,使得数据管理***进一步根据第一导出指令中所指示的至少一个预设联合索引导出相应的第二数据集,并传送到本方的联邦学习***以执行联邦学习任务的后续子任务。
根据一些实施例,如图5所示,联邦学习方法500可以包括:步骤S504、与多个参与方中的其他参与方合作计算多个参与方各自的第三数据集的联合索引的交集,以得到至少一个预设联合索引。由此,通过各参与方先导出满足特定条件(例如,指定的回溯时间)的联合索引,并基于这些联合索引进行求交,进而基于求交后得到的至少一个预设索引获取对应的特征数据以进行联邦学习任务的后续子任务,使得能够降低向联邦学习***传送的第二数据集的数据量以及联邦学习***处理的数据量,从而可以在不影响前置数据处理结果质量的情况下,降低前置数据处理过程所需要的时间和计算资源,因而能够提高整体联邦学习任务的效率。
图6示出了根据本公开的另一个示例性实施例的联邦学习方法的示意图。其中,参与方601和与该参与方对应的数据管理***602以及其他参与方603通信连接,其他参与方603和与其他参与方对应的数据管理***604通信连接。如图6所示,该方法包括:
参与方601将与该参与方对应的第一数据集611导入对应的数据管理***602;
其他参与方603将与其他参与方对应的第一数据集612导入对应的数据管理***604;
参与方601确定与联邦学习任务的后续子任务对应的回溯时间613,并将回溯时间发送至其他参与方603;
参与方601从对应的数据管理***602获取与回溯时间613对应的联合索引集614;
其他参与方603从对应的数据管理***604获取与回溯时间613对应的联合索引集615;
参与方601和其他参与方603基于各自的联合索引集614和联合索引集615进行样本求交,以得到至少一个预设联合索引616;
参与方601从对应的数据管理***602获取与至少一个预设联合索引616对应的第二数据集617;
其他参与方603从对应的数据管理***604获取与至少一个预设联合索引616对应的第二数据集618;
至此,各个参与方均获取到了与样本求交后得到的至少一个预设联合索引616对应的、用于执行同一联邦学习任务的后续子任务的数据集,各个参与方可以基于各自的数据集以共同执行该后续子任务619。
可以理解的是,上述方法中,向数据管理***导入数据的步骤、从数据管理***获取联合索引集的步骤、和基于至少一个预设联合索引从数据管理***获取数据的步骤可以参考前述数据管理方法100的相应步骤和图2中的步骤S202-步骤S204的描述,在此不做赘述。此外,上述方法中的部分步骤可以同步进行。例如,参与方601和其他参与方603可以同时导入数据,并且可以同时导出联合索引集/数据集。
在一些实施例中,图6的方法还可以应用于包括协作方的联邦学习框架,则该方法中涉及的部分数据可以传送到协作方和/或从协作方接收,并且其中的部分步骤可以由协作方来完成。例如,参与方601和其他参与方603可以将各自的联合索引集传送到协作方,协作方执行多个联合索引集之间的样本求交。这样的方案同样在本公开的保护范围内。
根据一些实施例,步骤S304中的联邦学习任务的后续子任务例如可以包括联邦建模任务(例如,联邦机器学习模型的训练)。联邦建模任务涉及对各个参与方的子模型的多次训练,应用上述联邦学习方法能够减少在各次训练中的数据传输、计算ID交集等前置数据处理过程所需要时间和计算资源,以提升用于联邦建模任务的训练数据的获取效率,这将有助于提升联邦建模任务的整体效率。
在一些实施例中,联邦学习任务的后续子任务还可以包括联邦查询任务、联邦统计任务等涉及多个参与方的任务。
图7示出了根据本公开的示例性实施例的数据管理***700的框图。该数据管理***700与执行同一联邦学习任务的多个参与方中的任一个参与方通信连接,其中,数据管理***内置有数据表,数据表包括索引列和多个属性列。数据管理***700包括:导入单元702,被配置为响应于接收到该参与方的导入指令,获取待导入的第一数据集中至少一个第一数据行各自相应数据信息,数据信息包括至少一个ID值、回溯时间、以及与至少一个属性列相对应的特征数据;基于至少一个第一数据行各自相应的至少一个ID值和回溯时间,确定至少一个第一数据行各自相应的索引,索引与索引列相对应;以及将至少一个第一数据行各自相应的索引和至少一个特征数据导入数据表;以及导出单元704,被配置为响应于接收到该参与方的第一导出指令,基于数据表中的索引列相对应的至少一个索引,从数据表中导出与联邦学习任务相关联的第二数据集。
数据管理***700可以被配合用于执行前面描述的数据管理方法100类似的操作,在此不作赘述。
图8示出了根据本公开的示例性实施例的联邦学习装置800的框图。该联邦学习装置800应用于执行同一联邦学习任务的多个参与方中的任一个参与方,其中,该参与方的数据管理***内置数据表,数据表包括索引列和至少一个属性列。数据表还包括至少一个第一数据行,每一个第一数据行包括和索引列相对应的索引和与至少一个属性列相对应的特征数据,并且索引与对应的第一数据行的至少一个ID值和回溯时间相关。联邦学习装置800包括:发送单元802,被配置为向数据管理***发送第一导出指令,以得到与联邦学习任务相关联的第二数据集,其中,第二数据集是基于数据表中的索引列相对应的至少一个索引从数据表中导出的;以及执行单元804,被配置为基于第二数据集,与多个目标参与方中的其他参与方执行联邦学习任务的后续子任务。
联邦学习装置800可以被配合用于执行前面描述的联邦学习方法300类似的操作,在此不作赘述。
根据本公开的另一方面,提供了一种联邦学习***,包括如图8所示的联邦学习装置800。
根据一些实施例,上述联邦学习***还可以包括如图7所示的数据管理***700。可以理解的是,联邦学习***中可以包括多个参与方各自的联邦学习装置和数据管理***。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的方法。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的方法。
参见图9,现将描述电子设备900,其是可以应用于本公开的各方面的硬件设备(电子设备)的示例。电子设备900可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、机器人、智能电话、车载计算机或其任何组合。上述数据传输方法可以全部或至少部分地由电子设备900或类似设备或***实现。
电子设备900可以包括(可能经由一个或多个接口)与总线902连接或与总线902通信的元件。例如,电子设备900可以包括总线902、一个或多个处理器904、一个或多个输入设备906以及一个或多个输出设备908。一个或多个处理器904可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。输入设备906可以是能向电子设备900输入信息的任何类型的设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备908可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。电子设备900还可以包括非暂时性存储设备910,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备910可以从接口拆卸。非暂时性存储设备910可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。电子设备900还可以包括通信设备912。通信设备912可以是使得能够与外部设备和/或与网络通信的任何类型的设备或***,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、802.11设备、Wi-Fi设备、WiMAX设备、蜂窝通信设备和/或类似物。
电子设备900还可以包括工作存储器914,其可以是可以存储对处理器904的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器914中,包括但不限于操作***916、一个或多个应用程序918、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序918中,并且上述方法可以通过由处理器904读取和执行一个或多个应用程序918的指令来实现。更具体地,上述数据管理方法100、联邦学习方法300和联邦学习方法500可以例如通过处理器904分别执行具有步骤S102-步骤S108、步骤S202-步骤S204、步骤S302-步骤S304、以及步骤S502-S508的指令的应用程序918而实现。此外,上述数据管理方法或联邦学习方法中的其它步骤可以例如通过处理器904执行具有执行相应步骤中的指令的应用程序918而实现。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如上述存储设备910)中,并且在执行时可以被存入工作存储器914中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。
还应该理解,电子设备900的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备900的其他组件也可以类似地分布。这样,电子设备900可以被解释为在多个位置执行处理的分布式计算***。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (22)
1.一种数据管理方法,应用于与执行同一联邦学习任务的多个参与方中的任一个参与方通信连接的数据管理***,其特征在于,所述数据管理***内置有数据表,所述数据表包括索引列和多个属性列,所述方法包括:
响应于接收到该参与方的导入指令,
获取待导入的第一数据集中至少一个第一数据行各自相应的数据信息,所述数据信息包括至少一个ID值、回溯时间、以及与至少一个所述属性列相对应的特征数据;
基于所述至少一个第一数据行各自相应的至少一个ID值和回溯时间,确定所述至少一个第一数据行各自相应的索引,所述索引与所述索引列相对应;以及
将所述至少一个第一数据行各自相应的索引和至少一个特征数据导入所述数据表;以及
响应于接收到该参与方的第一导出指令,基于所述数据表中的索引列相对应的至少一个索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集,所述索引包括联合索引,所述联合索引与相对应的第一数据行的至少一个ID值和回溯时间两者相关;
其中,所述基于所述数据表中的索引列相对应的至少一个索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集包括:
响应于接收到该参与方的第一导出指令,基于所述数据表中的索引列相对应的至少一个联合索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集。
2.根据权利要求1所述的方法,其特征在于,所述索引还包括回溯时间和至少一个ID值,所述第一导出指令包括第一目标回溯时间和/或第一ID集,其中,基于所述数据表中的索引列相对应的至少一个索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集还包括:
响应于接收到该参与方的第二导出指令,基于所述第一目标回溯时间和/或第一ID集,从所述数据表中导出与所述联邦学习任务相关联的第三数据集,
并且其中,基于所述数据表中的索引列相对应的至少一个联合索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集包括:
响应于接收到该参与方的第一导出指令,基于所述第三数据集中各数据行相对应的联合索引,从所述第三数据集中筛选出所述第二数据集,所述第一导出指令包括至少一个预设联合索引,所述第二数据集中的每一个数据行相对应的联合索引属于所述至少一个预设联合索引。
3.根据权利要求1所述的方法,其特征在于,所述第一导出指令包括至少一个预设联合索引,其中,基于所述数据表中的索引列相对应的至少一个联合索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集包括:
从所述数据表中筛选出与所述至少一个预设联合索引对应的所述第二数据集。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述至少一个第一数据行各自相应的联合索引包括与相应的至少一个ID值各自相关的至少一个联合索引。
5.根据权利要求2或3所述的方法,其特征在于,所述至少一个预设联合索引为该参与方与所述多个参与方中的其他参与方合作计算所述多个参与方各自的第三数据集的联合索引的交集而得到的。
6.根据权利要求4所述的方法,其特征在于,所述第一导出指令指示目标ID,所述第二数据集包括所述数据表中的至少一个第二数据行各自的与所述目标ID相关的联合索引和/或所述至少一个第二数据行各自的至少一个ID值中的与所述目标ID对应的ID值。
7.根据权利要求4所述的方法,其特征在于,所述至少一个第一数据行各自相应的联合索引是通过将该第一数据行的至少一个ID值分别和回溯时间进行拼接而得到的。
8.根据权利要求1-3中任一项所述的方法,其特征在于,将所述至少一个第一数据行各自相应的索引和至少一个特征数据导入所述数据表包括:
针对所述至少一个第一数据行中的每一个第一数据行,响应于确定所述数据表中包括与该第一数据行具有相同索引的第三数据行,放弃导入该第一数据行。
9.根据权利要求1-3中任一项所述的方法,其特征在于,所述导入指令包括回溯时间参数,所述至少一个第一数据行各自相应的回溯时间均与所述回溯时间参数一致。
10.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括以下中的至少一项:
响应于接收到该参与方的删除指令,删除所述数据表中由所述删除指令指定的数据行,所述删除指令包括待删除数据行相对应的索引;
响应于接收到该参与方的更新指令,更新所述数据表中由所述更新指令指定的数据行的特征数据,所述更新指令包括待更新数据行相对应的索引和待更新属性列相对应的更新特征数据;以及
响应于接收到该参与方的查询指令,返回所述数据表中由所述查询指令指定的数据行的特征数据,所述查询指令包括待获取的数据行相对应的索引。
11.根据权利要求1-3中任一项所述的方法,其特征在于,所述数据管理***内置有关系型数据库,所述数据表以关系型数据的形式被存储在所述关系型数据库中。
12.一种联邦学习方法,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其特征在于,该参与方的数据管理***内置数据表,所述数据表包括索引列和至少一个属性列,其中,所述数据表还包括至少一个第一数据行,每一个所述第一数据行包括与所述索引列相对应的索引和与至少一个所述属性列相对应的特征数据,并且其中,所述索引与相对应的第一数据行的至少一个ID值和回溯时间相关,所述方法包括:
向所述数据管理***发送第一导出指令,以得到与所述联邦学习任务相关联的第二数据集,其中,所述第二数据集是基于所述数据表中的索引列相对应的至少一个索引从所述数据表中导出的,所述索引包括联合索引,所述联合索引与相对应的第一数据行的至少一个ID值和回溯时间两者相关,其中,所述第二数据集是基于所述联合索引从所述数据表中导出的;以及
基于所述第二数据集,与所述多个目标参与方中的其他参与方执行所述联邦学习任务的后续子任务。
13.根据权利要求12所述的方法,其特征在于,所述索引还包括回溯时间和至少一个ID值,所述第一导出指令包括第一目标回溯时间和/或第一ID集,其中,所述方法还包括:
向所述数据管理***发送第二导出指令,以得到与所述联邦学习任务相关联的第三数据集,其中,所述第三数据集是基于所述第一目标回溯时间和/或第一ID集从所述数据表中导出的,
其中,向所述数据管理***发送第一导出指令,以得到与所述联邦学习任务相关联的第二数据集包括:
向所述数据管理***发送第一导出指令,以得到从所述第三数据集筛选出的所述第二数据集,其中,所述第二导出指令包括至少一个预设联合索引,所述第二数据集中的每一个第二数据行对应的联合索引属于所述至少一个预设联合索引。
14.根据权利要求12所述的方法,其特征在于,所述第一导出指令包括至少一个预设联合索引,其中,所述第二数据集是根据所述至少一个预设联合索引从所述数据表中筛选出的。
15.根据权利要求12-14中任一项所述的方法,其特征在于,所述至少一个第一数据行各自相应的联合索引包括与相应的至少一个ID值各自相关的至少一个联合索引,所述第一导出指令指示目标ID,所述第二数据集包括所述至少一个第一数据行各自的与所述目标ID相关的联合索引和/或所述至少一个第一数据行各自的至少一个ID值中的与所述目标ID对应的ID值。
16.根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
与所述多个参与方中的其他参与方合作计算所述多个参与方各自的第三数据集的联合索引的交集,以得到所述至少一个预设联合索引。
17.一种数据管理***,应用于与执行同一联邦学习任务的多个参与方中的任一个参与方,其特征在于,所述数据管理***内置有数据表,所述数据表包括索引列和多个属性列,所述数据管理***包括:
导入单元,被配置为响应于接收到该参与方的导入指令,
获取待导入的第一数据集中至少一个第一数据行各自相应数据信息,所述数据信息包括至少一个ID值、回溯时间、以及与至少一个所述属性列相对应的特征数据;
基于所述至少一个第一数据行各自相应的至少一个ID值和回溯时间,确定所述至少一个第一数据行各自相应的索引,所述索引与所述索引列相对应;以及
将所述至少一个第一数据行各自相应的索引和至少一个特征数据导入所述数据表;以及
导出单元,被配置为响应于接收到该参与方的第一导出指令,基于所述数据表中的索引列相对应的至少一个索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集,所述索引包括联合索引,所述联合索引与相对应的第一数据行的至少一个ID值和回溯时间两者相关;
其中,基于所述数据表中的索引列相对应的至少一个索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集包括:
响应于接收到该参与方的第一导出指令,基于所述数据表中的索引列相对应的至少一个联合索引,从所述数据表中导出与所述联邦学习任务相关联的第二数据集。
18.一种联邦学习装置,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其特征在于,该参与方的数据管理***内置数据表,所述数据表包括索引列和至少一个属性列,其中,所述数据表还包括至少一个第一数据行,每一个所述第一数据行包括和所述索引列相对应的索引和与至少一个所述属性列相对应的特征数据,并且其中,所述索引与对应的第一数据行的至少一个ID值和回溯时间相关,所述装置包括:
发送单元,被配置为向所述数据管理***发送第一导出指令,以得到与所述联邦学习任务相关联的第二数据集,其中,所述第二数据集是基于所述数据表中的索引列相对应的至少一个索引从所述数据表中导出的,所述索引包括联合索引,所述联合索引与相对应的第一数据行的至少一个ID值和回溯时间两者相关,其中,所述第二数据集是基于所述联合索引从所述数据表中导出的;以及
执行单元,被配置为基于所述第二数据集,与所述多个目标参与方中的其他参与方执行所述联邦学习任务的后续子任务。
19.一种联邦学习***,其特征在于,包括:
根据权利要求18所述的联邦学习装置。
20.根据权利要求19所述的***,其特征在于,还包括:
根据权利要求17所述的数据管理***。
21.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-16中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667189.4A CN114925072B (zh) | 2022-06-13 | 2022-06-13 | 数据管理方法、装置、***、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667189.4A CN114925072B (zh) | 2022-06-13 | 2022-06-13 | 数据管理方法、装置、***、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925072A CN114925072A (zh) | 2022-08-19 |
CN114925072B true CN114925072B (zh) | 2023-07-21 |
Family
ID=82814287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210667189.4A Active CN114925072B (zh) | 2022-06-13 | 2022-06-13 | 数据管理方法、装置、***、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925072B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202908B (zh) * | 2022-09-09 | 2023-01-03 | 杭州海康威视数字技术股份有限公司 | 一种基于动态编排的隐私计算请求响应方法及装置 |
CN115329032B (zh) * | 2022-10-14 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 基于联邦字典学习数据传输方法、装置、设备及存储介质 |
CN115730574A (zh) * | 2022-10-31 | 2023-03-03 | 蚂蚁区块链科技(上海)有限公司 | 生成数据表的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685449B (zh) * | 2008-09-26 | 2012-07-11 | 国际商业机器公司 | 一种用于连接多个异构分布式数据库中的表的方法和*** |
CN109241155A (zh) * | 2018-07-27 | 2019-01-18 | 天津大学 | 一种rdf流数据和关系数据的联邦查询处理***及方法 |
CN113505520A (zh) * | 2021-05-17 | 2021-10-15 | 京东科技控股股份有限公司 | 用于支持异构联邦学习的方法、装置和*** |
CN113537508B (zh) * | 2021-06-18 | 2024-02-02 | 百度在线网络技术(北京)有限公司 | 联邦计算的处理方法、装置、电子设备和存储介质 |
CN114186213B (zh) * | 2022-02-16 | 2022-07-05 | 深圳致星科技有限公司 | 基于联邦学习的数据传输方法及装置、设备和介质 |
-
2022
- 2022-06-13 CN CN202210667189.4A patent/CN114925072B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114925072A (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114925072B (zh) | 数据管理方法、装置、***、设备、介质 | |
CN108062367B (zh) | 一种数据列表的上传方法及其终端 | |
CN111666326B (zh) | Etl调度方法及装置 | |
CN110413673B (zh) | 数据库数据统一采集与分发方法及*** | |
CN112150280B (zh) | 提升匹配效率的联邦学习方法及设备、电子设备和介质 | |
US20230319001A1 (en) | Snippet(s) of content associated with a communication platform | |
CN110472109B (zh) | 动态化数据质量分析方法及平台*** | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和*** | |
CN110909034A (zh) | 一种业务数据的分配方法、装置、终端设备及存储介质 | |
WO2021057064A1 (zh) | 基于人工智能的数据交互转换方法、装置、设备及介质 | |
CN108255967B (zh) | 存储过程的调用方法、装置、存储介质及终端 | |
CN109636127A (zh) | 一种基于定位的网络悬赏互助平台及其使用方法 | |
CN110019916A (zh) | 基于用户画像的事件处理方法、装置、设备和存储介质 | |
CN108763260A (zh) | 一种试题搜索方法、***及终端设备 | |
CN114925119A (zh) | 联邦学习方法、装置、***、设备、介质和程序产品 | |
CN110300222A (zh) | 一种短信显示方法、***及终端设备 | |
CN111488386A (zh) | 数据查询方法和装置 | |
WO2023142349A1 (zh) | 行为序列的生成方法及装置、存储介质、电子装置 | |
CN108829725A (zh) | 区块链上用户通信方法、装置、终端设备及存储介质 | |
CN114237798A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN108023949A (zh) | 拨号上网方法、***、智能终端及服务器 | |
WO2021139319A1 (zh) | 多平台权限统一管理方法、装置、终端及存储介质 | |
CN112948593A (zh) | 知识图谱的生成方法、装置、设备和介质 | |
CN111899144A (zh) | 政务管理方法、装置、存储介质及电子设备 | |
CN111290805A (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 |