CN111914038B - 联邦计算方法、装置、设备及存储介质 - Google Patents

联邦计算方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111914038B
CN111914038B CN202010997997.8A CN202010997997A CN111914038B CN 111914038 B CN111914038 B CN 111914038B CN 202010997997 A CN202010997997 A CN 202010997997A CN 111914038 B CN111914038 B CN 111914038B
Authority
CN
China
Prior art keywords
computing
data
node
task
federation
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
Application number
CN202010997997.8A
Other languages
English (en)
Other versions
CN111914038A (zh
Inventor
吕亮亮
冯智
宋传园
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010997997.8A priority Critical patent/CN111914038B/zh
Publication of CN111914038A publication Critical patent/CN111914038A/zh
Priority to US17/189,385 priority patent/US20220091891A1/en
Priority to KR1020210028427A priority patent/KR20220039526A/ko
Priority to EP21160993.8A priority patent/EP3971728A1/en
Priority to JP2021057612A priority patent/JP2021103588A/ja
Application granted granted Critical
Publication of CN111914038B publication Critical patent/CN111914038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种联邦计算方法,涉及数据处理领域,具体地,涉及大数据的联邦计算领域。该联邦计算方法包括:从多个计算节点获取多个元数据,并发布多个元数据,该元数据表示计算节点的数据仓库中的数据的特征;在多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中至少两个计算节点是基于多个元数据来商定执行联邦计算任务的;接收由至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将联邦计算任务拆分为多个子任务;以及将多个子任务分发给至少两个计算节点,以用于在至少两个计算节点之间执行多个子任务。本公开还提供了一种联邦计算装置、设备和存储介质。

Description

联邦计算方法、装置、设备及存储介质
技术领域
本公开涉及数据处理领域,具体地,涉及大数据的联邦计算领域,更具体地,涉及一种联邦计算方法、装置、设备及存储介质。
背景技术
基于海量数据的分析技术越来越受到数据流通不畅的制约。实际中,海量数据通常由多个实体方所拥有,为了得到更准确的数据分析结果,需要在多个实体方的数据仓库的基础上进行联邦计算。联邦计算基于数据安全及隐私保护技术,在多个分离的实体数据仓库上实施计算,可以实现数据共享并保障数据的隐私安全。然而,在开展联邦计算之前,往往需要开展大量的前期准备工作。例如,需要通过调研、协商、谈判等方式来提前获知其他实体方的数据仓库中数据的情况,以确定这些数据仓库中的数据是否是所需的数据。这需要耗费大量的人力、物力和时间,影响了联邦计算的整体性能。
发明内容
有鉴于此,本公开提供了一种联邦计算方法、装置、设备及存储介质。
本公开的第一方面提供了一种联邦计算方法,包括:
从多个计算节点获取多个元数据,并发布所述多个元数据,所述元数据表示计算节点的数据仓库中的数据的特征;
在所述多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中所述至少两个计算节点是基于所述多个元数据来商定执行所述联邦计算任务的;
接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将所述联邦计算任务拆分为多个子任务;以及
将所述多个子任务分发给所述至少两个计算节点,以用于在所述至少两个计算节点之间执行所述多个子任务。
本公开的第二方面提供了一种联邦计算方法,包括:
从协调节点获取由多个计算节点上传至所述协调节点的多个元数据,其中每个计算节点的元数据表示该计算节点的数据仓库中的数据的特征;
根据所述多个元数据从所述多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点;
将所述第一联邦计算任务提交给所述协调节点,以用于所述协调节点将所述第一联邦计算任务拆分为多个第一子任务;以及
从所述协调节点接收所述多个第一子任务中的至少一个第一子任务,并与所述数据提供方节点协同执行所述至少一个第一子任务。
本公开的第三方面提供了一种联邦计算装置,包括:
元数据管理模块,配置为从多个计算节点获取多个元数据,并发布所述多个元数据,所述元数据表示计算节点的数据仓库中的数据的特征;
节点确定模块,配置为在所述多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中所述至少两个计算节点是基于所述多个元数据来商定执行所述联邦计算任务的;
任务处理模块,配置为接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将所述联邦计算任务拆分为多个子任务;以及
任务分发模块,配置为将所述多个子任务分发给所述至少两个计算节点,以用于在所述至少两个计算节点之间执行所述多个子任务。
本公开的第四方面提供了一种联邦计算设备,包括:
存储器,存储有程序指令;以及
处理器,被配置为执行所述程序指令,以执行本公开第一方面所提供的联邦计算方法。
本公开的第五方面提供了一种联邦计算装置,包括:
元数据查询模块,配置为从所述协调节点获取由多个计算节点上传至所述协调节点的多个元数据,其中每个计算节点的元数据表示该计算节点的数据仓库中的数据的特征;
第一节点确定模块,配置为根据所述多个元数据从所述多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点;
任务提交模块,配置为将所述第一联邦计算任务提交给所述协调节点,以用于所述协调节点将所述第一联邦计算任务拆分为多个第一子任务;以及
第一任务执行模块,配置为从所述协调节点接收所述多个第一子任务中的至少一个第一子任务,并与所述数据提供方节点协同执行所述至少一个第一子任务。
本公开的第六方面提供了一种联邦计算设备,包括:
存储器,存储有程序指令;以及
处理器,被配置为执行所述程序指令,以执行本公开第二方面所提供的联邦计算方法。
本公开的第七方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现上述联邦计算方法。
本公开的第八方面提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的联邦计算方法的实施环境;
图2示意性示出了根据本公开实施例的联邦计算方法的流程图;
图3A和图3B示意性示出了根据本公开另一实施例的联邦计算方法的流程图;
图4示意性示出了根据本公开实施例的联邦计算方法的整体架构图;
图5示意性示出了根据本公开实施例的联邦计算方法的交互过程;
图6A至图6F示意性示出了实施根据本公开实施例的联邦计算方法的解决方案的界面的示例;
图7和图8示意性示出了根据本公开实施例的联邦计算装置的框图;
图9示意性示出了根据本公开实施例的适于执行联邦计算的联邦计算设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
图1示意性示出了根据本公开实施例的联邦计算方法的实施环境。如图1所示,A方、B方和C方分别是拥有海量隐私数据的三个实体方。例如,A方为拥有大量隐私金融数据的金融机构,B方为拥有大量个人隐私数据的互联网机构,C方为拥有大量个人隐私数据的某医疗结构。三方的数据分别存储在本地数据仓库A1、B1和C1中。为了进一步提高各自模型的性能,A方和C方想要和B方来进行基于数据安全及隐私保护的联邦学习。本公开的实施例提供了一种对A方、B方和C方三方之间的联邦学习过程进行协调的方法。
在下面的实施例中,以计算节点表示拥有数据仓库并希望保证数据的安全和隐私的A方、B方和C方。这里,计算节点可以是数据使用方节点,也可以是数据提供方节点。数据使用方节点例如上述A方和C方,数据提供方节点例如上述B方。而实际上,A方和C方也可以向外提供数据,B方也可以从外部获取数据。因此,除非特别说明,否则计算节点本身均既可以为数据使用方节点,也可以为数据提供方节点。进一步地,为了协调A方、B方和C方之间的联邦学习过程,还设置了协调节点。与诸如A方、B方和C之类的计算节点不同的是,协调节点既不是向外部提供数据的数据提供方,也不是从外部获取数据以进行计算的数据使用方。协调节点仅用于为计算节点之间的联邦计算过程提供整体调度,以对联邦计算过程进行优化。可以将根据本公开实施例的联邦计算方法应用于计算节点和协调节点上,以实现一种用于联邦计算的整体解决方案。
图2示意性示出了根据本公开实施例的联邦计算方法200的流程图,可以应用于协调节点。如图2所示,联邦计算方法200包括以下步骤:
在步骤S210中,从多个计算节点获取多个元数据,并发布多个元数据,该元数据表示计算节点的数据仓库中的数据的特征。
在步骤S220中,在多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中至少两个计算节点是基于多个元数据来商定执行联邦计算任务的。
在步骤S230中,接收由至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将联邦计算任务拆分为多个子任务。
在步骤S240中,将多个子任务分发给至少两个计算节点,以用于在至少两个计算节点之间执行多个子任务。
根据实施例,利用元数据来表示各计算节点处的数据仓库中的数据的特征。根据实施例,元数据可以包括但不限于数据仓库的名称、存储于数据仓库中的数据表的名称、数据表的字段名称、字段类型和行数等。因此,某个想要获取其他计算节点(即数据提供方节点)的数据仓库中的数据的使用权的计算节点(即数据使用方节点)可以通过查询元数据来获知其他计算节点的数据仓库中的数据的信息,并进一步确认该数据是否是想要的数据。根据实施例,可以发布多个元数据,这些发布的元数据可以构成数据集市,实现元数据的集中展示。因此,根据本公开的实施例,可以省去执行联邦计算之前复杂又耗时间的前期调研工作。所有加入展示的计算节点按照规定的要求来展示表示本地数据仓库中数据信息的元数据,显著简化了联邦计算前期的准备工作。
在数据使用方节点通过元数据找到自己想要的数据之后,其可以与拥有该数据的数据提供方节点进行协商,以争取数据的使用权。
根据实施例,在多个计算节点中确定商定执行联邦计算任务的至少两个计算节点可以进一步包括:在多个计算节点中的至少两个计算节点之间构建数据审批通道,以用于该至少两个计算节点经由数据审批通道,并基于多个元数据进行数据使用的协商;在达成数据使用协商的至少两个计算节点之间构建任务审批通道,以用于达成数据使用协商的至少两个计算节点经由任务审批通道进行联邦计算任务的审批;以及将达成联邦计算任务审批的至少两个计算节点作为商定执行联邦计算任务的至少两个计算节点。在该实施例中,在数据使用方节点通过元数据找到自己想要的数据之后,首先利用数据审批通道与拥有数据的数据提供方节点协商数据使用权,并且只有在双方就数据使用权达成一致的协定之后,数据使用方节点才可以利用任务审批通道与数据提供方节点协商联邦建模的意愿。这里,数据审批通道和任务审批通道为协调节点为计算节点之间的交互过程提供的通信信道。需要注意的是,在联邦建模意愿的协商中,不考虑模型的具体配置和参数,而仅考虑联邦建模和数据仓库中数据的使用相关的问题。
根据实施例,在由数据使用方节点所提出的建模意愿得到数据提供方节点的审批之后,数据使用方节点可以对模型进行配置,并对模型的参数进行调整,然后将基于配置和调整后的模型的建模任务提交给协调节点。协调节点可以将接收到的建模任务进一步拆分为多个子任务,并将该多个子任务分别分发给数据使用方节点和数据提供方节点,以进行联合执行。在这个过程中,数据使用方节点可以如仅利用本地数据仓库进行建模那样来配置和调整模型,而不必考虑基于多方数据仓库的联邦建模的更多交互细节,这些操作可以在将建模任务提交给协调节点之后,由协调节点来处理。例如,协调节点可以将计算节点所提交的建模任务进一步细分更加详细的多个子任务。
图3A和图3B示意性示出了根据本公开另一实施例的联邦计算方法300的流程图,可以应用于计算节点。如图3A所示,联邦计算方法300包括以下步骤:
在步骤S310中,从协调节点获取由多个计算节点上传至协调节点的多个元数据,其中每个计算节点的元数据表示该计算节点的数据仓库中的数据的特征。
在步骤S320中,根据多个元数据从多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点。
在步骤S330中,将第一联邦计算任务提交给协调节点,以用于协调节点将第一联邦计算任务拆分为多个第一子任务。
在步骤S340中,从协调节点接收多个第一子任务中的至少一个第一子任务,并与数据提供方节点协同执行至少一个第一子任务。
根据实施例,想要进行联邦计算的计算节点,即数据使用方节点可以通过协调节点获取多个元数据,并通过多个元数据进一步获知其他计算节点所拥有的数据仓库中的数据的情况。如前所述,元数据可以包括但不限于数据仓库的名称、存储于数据仓库中的数据表的名称、数据表的字段名称、字段类型和行数等。例如,计算节点可以通过数据表的名称和数据表的字段名称大致了解到其他计算节点数据仓库中数据的内容,可以通过数据表的字段类型和行数大致了解到数据的类型和规模等。
接下来,在数据使用方节点在找到联邦计算所需的数据之后,可以将提供该数据的计算节点确定为要协同执行第一联邦计算任务的数据提供方节点。这里,第一联邦计算任务指代当前计算节点作为数据使用方节点而发起并提交的联邦计算任务,第一子任务指代有第一联邦计算任务拆分得到的子任务。根据实施例,根据多个元数据从多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点可以进一步包括:根据多个元数据从多个计算节点中确定执行第一联邦计算任务所需的数据所在的计算节点;与执行第一联邦计算任务所需的数据所在的计算节点经由协调节点所构建的数据审批通道进行数据使用的协商;与达成数据使用协商的计算节点经由协调节点所构建的任务审批通道进行联邦计算任务的审批;以及将达成联邦计算任务审批的计算节点作为数据提供方节点。在该实施例中,数据使用方节点首先确定联邦计算所需数据所在的计算节点,然后利用数据审批通道与该计算节点协商数据的使用权,只有在双方就数据使用权达成一致的协定之后,数据使用方节点才可以利用任务审批通道与该计算节点协商联邦建模的意愿。与前述实施例相同,数据使用方节点在经由任务审批通道与与达成数据使用协商的计算节点进一步协商联邦建模意愿时,不考虑模型的具体配置和参数,而仅考虑联邦建模和数据仓库中数据的使用相关的问题。
接下来,在达成了联邦建模的意愿并确定了数据提供方节点之后,数据使用方节点可以进一步对模型进行配置,例如可以对模型的参数进行调整等。根据实施例,数据使用方节点基于数据使用方节点本地的数据仓库中的数据和所确定的数据提供方节点的数据仓库中的数据来建立联邦计算模型,并且,在建模过程中,数据使用方节点可以从总体上对模型进行考虑。例如,根据实施例,可以在本地的数据仓库中的数据和数据提供方节点的数据仓库中的数据的基础上建立虚拟模型,使得虚拟模型的效果与将数据使用方节点和数据提供方节点的数据仓库中的数据物理地聚合后所建立的最优模型一致,至于在模型训练中更多的执行细节可以不必考虑。数据使用方节点在配置好联邦计算模型之后,就可以将联邦计算任务(第一联邦计算任务)提交给协调节点,由协调节点对联邦计算任务进行处理。根据实施例,协调节点将联邦计算任务拆分为多个子任务(第一子任务),容易理解,数据使用方节点和数据提供方节点将分别从协调节点接收至少一个子任务,并协同执行接收到的子任务,以便协同执行联邦计算任务。子任务更细化了联邦计算任务在数据使用方节点和数据提供方节点之间的执行细节,这实际上是由协调节点来完成之前需要由数据使用方节点和数据提供方节点共同完成的操作,从而进一步简化了在数据使用方节点和数据提供方节点所进行的联邦计算任务。
在根据本公开实施例的联邦计算方法中,通过采用元数据表示各计算节点本地数据仓库中数据的特征,来向各计算节点提供其他计算节点处的数据仓库中的数据的情况,解决了在搭建联邦计算场景之前需要耗费大量人力和事件进行调研和协商的问题,降低了建模成本。另外,通过在建模之前为计算节点之间提供数据审批通道和任务审批通道,在提交建模之后对建模任务进行更进一步的任务细分,简化了在联邦建模过程中,计算节点之间复杂的交互操作,有利于降低联邦计算建模的难度,并进一步降低了建模成本。
图3A所示实施例中的联邦计算方法300应用于数据使用方节点,对于没有数据使用要求,而仅提供数据以供其他计算节点使用的数据提供方节点,联邦计算方法300如图3B所示,包括以下步骤:
在步骤S350中,将本地元数据上传至协调节点,本地元数据表示本地数据仓库中的数据的特征。
在步骤S360中,将多个计算节点中的至少一个计算节点确定为要协同执行第二联邦计算任务的数据使用方节点。
在步骤S370中,从协调节点接收由第二联邦计算任务拆分得到的多个第二子任务中的至少一个第二子任务。
在步骤S380中,与数据使用方节点协同执行至少一个第二子任务。
作为数据提供方节点,在连接(例如注册)到协调节点之后,可以首先将表示本地数据仓库中的数据的元数据上传至协调节点。该元数据可以通过发布展示给其他计算节点。在有其他计算节点,即数据使用方节点想要使用数据提供方节点本地的数据仓库中的数据时,可以通过协调节点所提供的数据审批通道和任务审批通道来与该数据提供方节点进行交互。根据实施例,数据提供方节点通过与数据使用方节点之间的交互来将多个计算节点中的至少一个计算节点确定为要协同执行第二联邦计算任务的数据使用方节点。这里,第二联邦计算任务指代当前计算节点作为数据提供方节点所接收的联邦计算任务,第二子任务指代有第二联邦计算任务拆分得到的子任务。
根据实施例,将多个计算节点中的至少一个计算节点确定为要协同执行第二联邦计算任务的数据使用方节点可以进一步包括:与多个计算节点中的至少一个计算节点经由协调节点所构建的数据审批通道进行数据使用的协商;与达成数据使用协商的计算节点经由协调节点所构建的任务审批通道进行联邦计算任务的审批;以及将达成联邦计算任务审批的计算节点作为要协同执行第二联邦计算任务的数据使用方节点。在协商过程中,数据提供方节点可以根据由数据使用方节点所提供的协商内容来判断是否同意数据审批和任务审批。如果数据提供方节点不同意数据使用方节点所发送的数据使用请求,则数据使用方节点不能继续进行任务审批的协商。如果数据提供方节点同意数据使用方节点的数据使用请求,但不同意数据使用方节点所发送的建模任务请求,则数据使用方节点不能继续执行建模任务。根据实施例,如果数据提供方节点分别通过数据使用方节点的数据使用请求和建模任务请求,即在数据提供方节点与数据使用方节点之间达成了数据审批协商和任务审批协商,则数据提供方节点可以从协调节点接收由第二联邦计算任务拆分得到的多个第二子任务中的至少一个第二子任务,并与数据使用方节点协同执行至少一个第二子任务,以便协同执行联邦计算任务。
实际中,大部分计算节点都可以既作为数据使用方节点,又可以作为数据提供方节点,因此,在一般情况下,可以将包括全部步骤S310至步骤S380的联邦计算方法300应用于计算节点。另外,应当理解,上述实施例中的操作步骤的序号并不表示实际执行的顺序。在实际执行中,步骤S310至步骤S340与步骤S350至步骤S380之间可以并行或交替执行。例如,无论计算节点是否想要使用数据,都可以在注册至协调节点之后,将用于表示本地数据仓库中的数据的元数据上传至协调节点,即在步骤S310之前执行步骤S350。
图4示意性示出了根据本公开实施例的联邦计算方法的整体架构图。在图4中,示意性示出了协调节点410和四个计算节点420、430、440和450。协调节点410分别与计算节点420、430、440和450耦接,用于计算节点420、430、440和450之间的联邦计算任务的总体调度。计算节点420、430、440和450可以相互耦接,在其间传输安全数据流,可以实现数据安全并保障隐私的联邦计算。
如图4所示,协调节点410包括元数据管理单元411、参与方管理单元412和计算任务协调单元413。其中,元数据管理单元411可以用于从计算节点420、430、440和450接收元数据并发布所接收的元数据。参与方管理单元412可以用于接收计算节点420、430、440和450的注册,并为不同的计算节点420、430、440和450创建不同的用户管理文档。参与方管理单元412还可以根据计算节点420、430、440和450中的数据使用方节点的请求来在计算节点420、430、440和450之间构建数据审批通道和任务审批通道,以简化计算节点420、430、440和450之间的交互。计算任务协调单元413可以接收由计算节点420、430、440和450中的数据使用方节点所提交的联邦计算任务,对联邦计算任务进行拆分以形成细化的多个子任务,并将多个子任务分发至对应的计算节点420、430、440和450。计算任务协调单元413可以在接收到数据使用方节点所提交的联邦计算任务之后,且在对联邦计算任务进行拆分之前,对联邦计算任务是否符合联邦计算安全规范进行审核,并在联邦计算任务不符合联邦计算安全规范的情况下,拒绝联邦计算任务。这样就可以进一步保障联邦计算的安全性。计算任务协调单元413还可以对计算节点420、430、440和450的状态进行监控,以及时发现计算节点420、430、440和450的故障。
如图4所示,以计算节点420为例,计算节点420包括元数据上传单元421、任务管理单元422、任务执行单元423和监控警报单元424。其中,元数据上传单元421用于提取本地数据仓库中的数据的特征以生成元数据,并将所生成的元数据上传至协调节点410。元数据上传单元421还可以根据本地数据仓库中数据的更新情况来更新元数据,并将更新的元数据上传至协调节点410,以便协调节点410及时更新元数据信息。任务管理单元422可以用于在创建联邦计算任务的过程中,与其他计算节点进行数据使用审批和建模任务审批的协商。任务管理单元422还可以用于从协调节点410接收经过拆分的子任务,并将所接收的子任务传输给任务执行单元423进行执行。任务执行单元423主要用于负责各种联邦计算任务的执行。根据本公开的实施例,联邦计算任务可以包括但不限于基于至少两个计算节点各自的数据仓库中的数据而执行的联邦数据查询、联邦数据分析和联邦模型训练,以及根据联邦模型训练所得的模型进行联邦预测。监控警报单元424用于在计算节点本地实时监控节点的状态,以保障联邦计算任务的安全性。
根据本公开的实施例,利用协调节点410对各个计算节点420、430、440和450进行统一的协调和管理。各个计算节点420、430、440和450可以将资源更多地集中在与其他计算节点之间的联邦计算任务的执行和保障安全性上,而由协调节点410来协调与其他计算节点之间的交互,由此有利于简化联邦计算任务的执行。另外,当需要加入新的计算节点时,可以在不影响其他计算节点的情况下,方便地对整个方案进行扩展。
图5示意性示出了根据本公开实施例的联邦计算方法的交互过程。如图5所示,在该实施例中,数据使用方节点520与数据提供方节点530经由协调节点510在数据使用方节点520与数据提供方节点530之间构建的数据审批通道来达成数据使用的协商,以及经由协调节点510在数据使用方节点520与数据提供方节点530之间构建的任务审批通道来达成联邦计算任务的审批。下面结合图5详细说明上述过程。
如图5所示,数据使用方节点520首先通过查询协调节点510所发布的元数据来找到建立联邦计算任务所需的数据所在的数据提供方节点530,如步骤S5001所示。接下来,数据使用方节点520向协调节点510发送数据使用请求,在该数据使用请求中包括执行第一联邦计算任务所需的数据所在的计算节点的信息,如步骤S5002所示。协调节点510接收数据使用方节点520发送的数据使用请求,根据数据使用请求确定执行联邦计算任务所需的数据所在的数据提供方节点530,并将数据使用请求发送给数据提供方节点530,如步骤S5003所示。数据提供方节点530从协调节点510接收数据使用方节点520发送的数据使用请求,并根据相关情况判断是否允许数据使用方节点520使用其本地数据仓库中的数据。在允许数据使用方节点520使用其本地数据仓库中的数据的情况下,向协调节点510发送使用请求应答,如步骤S5004所示。协调节点510接收来自数据提供方节点530的使用请求应答,并将使用请求应答发送给数据使用方节点510,如步骤S5005所示。数据使用方节点520在接收到数据提供方节点530允许其使用数据提供方节点530的数据仓库中的数据之后,可以进一步向协调节点510发送建模任务请求,如步骤S5006所示。协调节点510接收来自数据使用方节点520的建模任务请求,并将该建模任务请求发送给数据提供方节点530,如步骤S5007所示。数据提供方节点530从协调节点510接收由达成数据使用协商的计算节点,即数据使用方节点520发送的建模任务请求,并根据相关情况判断是否允许数据使用方节点520使用其本地数据仓库中的数据来进行建模。在允许数据使用方节点520使用本地数据仓库中的数据进行建模的情况下,向协调节点510发送建模请求应答,如步骤S5008所示。协调节点510接收来自数据提供方节点530的建模请求应答,并将该建模请求应答发送给数据使用方节点510,如步骤S5009所示。数据使用方节点520从协调节点510接收建模请求应答之后,可以继续进行对联邦计算的模型进行配置和调整的处理。
根据本公开的实施例,数据使用方节点520和数据提供方节点530经由协调节点510进行数据使用审批和联邦建模审批,数据使用方节点520和数据提供方节点530无需考虑更多的沟通细节,仅通过简单的查询操作即可完成审批,由此简化了联邦建模的操作过程。特别是在一个数据使用方节点520想要与多个数据提供方节点530建立联邦计算任务,或一个数据提供方节点530为多个数据使用方节点520提供数据,或计算节点同时充当数据使用方节点520和数据提供方节点530而与多个计算节点建立联邦计算任务的情况下,根据本公开实施例的方案可以显著地简化计算节点之间的审批过程。
在本公开的另一实施例中,提供了一种基于前述实施例的联邦计算方法的整体解决方案。可以将前述实施例的联邦计算方法的各功能步骤可视化,分别在协调节点和多个计算节点处提供了便于操作的用户界面。在协调节点处安装可以执行前述联邦计算方法200的主程序,在多个计算节点中的每个计算节点处安装可以执行前述邦计算方法300的代理程序。
在协调节点处的主程序负责进行统一的多方任务协调、执行和管理,也提供全局的元数据管理和针对计算节点的租户统一管理等功能。可以接收用户的联邦数据分析或者联邦机器学习任务,将联邦计算任务的执行计划拆分成多方联合执行计划,分发到对应的计算节点来执行任务。在协调节点处的主程序还负责对任务进行管理、跟踪和记录任务的执行、提供查询和展示。在协调节点处的主程序还负责对元数据进行管理。在计算节点处的用户本地数据仓库加入联邦式数据仓库后,管理所有联邦式数据仓库中的元数据信息。在协调节点处的主程序还负责对注册至协调节点的计算节点处的用户进行管理。包括但不限于管理所有的用户信息,包括用户本身的信息(如用户名)、用户对应的计算节点的位置等以及用户权限相关信息。在协调节点处的主程序还可以对SQL查询进行优化。例如,当进行联合的可信数据分析时,可以将查询SQL进行性能优化,生成更高性能的SQL语句,返回给各个计算节点处的用户执行模型来执行。
计算节点处的代理程序提供任务执行和查询,以及本地数据仓库的管理等功能。计算节点处的代理程序负责联邦计算任务的执行。例如,负责执行多方计算任务,其中采用了密码学的安全多方计算协议、安全快速求交等算法执行多方执行计划的算子。计算节点处的代理程序还负责对本地的联邦计算任务进行管理。例如负责记录执行任务日志、管理任务完成情况、任务执行并发数控制等。计算节点处的代理程序还负责对本地数据仓库进行管理。例如,可以管理配置本地数据仓库,定时向协调节点同步元数据信息等。
图6A至图6F示意性示出了根据本公开实施例的联邦计算方法的解决方案的界面的示例,主要示出的是计算节点本地的界面。
图6A示出了数据集市的界面。计算节点处的用户可以方便地通过数据集市,在本地查看所有本计算节点已经发布,和其他计算节点发布来的元数据列表和信息。点击数据集市界面上的每条记录信息,可以进入查看具体的元数据信息,如图6B和图6C所示,提供了元数据的基本信息和字段说明。图6D示出了数据管理界面,用户可以在该界面上对元数据进行管理。例如发布元数据,或将已发布的元数据取消发布。图6E示出了任务管理界面,支持用户创建、编辑、执行和删除任务,并且统一分租户管理用户的任务列表。用户可以查看当前用户的任务列表,和对应的任务执行(作业)列表。图6F示出了审批管理界面。所有使用当前用户已发布的元数据进行联邦计算任务的请求,都会通知到当前用户,用户可以在界面上通过点击操作进行审批。审批通过后,任务请求方才能开始执行任务。同时,提供审批列表统一管理,并且可以修改和拒绝任务批准。
根据本公开的实施例可以应用于联合可信的安全建模。不同的用户(位于不同的计算节点)可以进行联合的安全的建模训练、测试,并利用所得到的模型来对数据进行验证和预测。也可以使用所得到的模型对风险进行预测,提高风险识别能力,减少企业的损失。
根据本公开的实施例可以应用于联合的安全的数据分析。不同用户之间通过联合的SQL查询、程序计算,可以实现数据不出本地,并且在保证安全的情况下,就能实现可信的数据分析和计算等功能,提升数据联邦计算的效果。
根据本公开的实施例可以应用于隐私集合的求交集。允许持有各自集合的两个用户来共同计算各自本地数据仓库中数据集合的交集运算。在计算交互的最后,一方或是两方得到正确的交集,但是不会得到交集以外另一方集合的任何信息。这样既能保护集合的隐私性,也能得到正确的计算结果,满足用户需求。集合内容包括但不限于通信录、基因诊断服务用户的基因组、证件号码等。
图7示意性地示出了根据本公开实施例的联邦计算装置700的框图。如图7所示,联邦计算装置700包括元数据管理模块710、节点确定模块720、任务处理模块730和任务分发模块740。
根据实施例,元数据管理模块710被配置为从多个计算节点获取多个元数据,并发布多个元数据,其中,元数据表示计算节点的数据仓库中的数据的特征。节点确定模块720被配置为在多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中至少两个计算节点是基于多个元数据来商定执行联邦计算任务的。任务处理模块730被配置为接收由至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将联邦计算任务拆分为多个子任务。任务分发模块740被配置为将多个子任务分发给至少两个计算节点,以用于在至少两个计算节点之间执行多个子任务。
以上各功能模块的具体操作可以参考前述实施例中的联邦计算方法200的操作步骤来获取,此处不再赘述。
图8示意性地示出了根据本公开另一实施例的联邦计算装置的框图。如图8所示,联邦计算装置800包括元数据查询模块810、第一节点确定模块820、任务提交模块830、第一任务执行模块840、元数据上传模块850、第二节点确定模块860、任务接收模块870和第二任务执行模块880。
根据实施例,元数据查询模块810被配置为从协调节点获取由多个计算节点上传至协调节点的多个元数据,其中每个计算节点的元数据表示该计算节点的数据仓库中的数据的特征。第一节点确定模块820被配置为根据多个元数据从多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点。任务提交模块830被配置为将第一联邦计算任务提交给协调节点,以用于协调节点将第一联邦计算任务拆分为多个第一子任务。第一任务执行模块840被配置为从协调节点接收多个第一子任务中的至少一个第一子任务,并与数据提供方节点协同执行至少一个第一子任务。元数据上传模块850被配置为将本地元数据上传至协调节点,本地元数据表示本地数据仓库中的数据的特征。第二节点确定模块860被配置为将多个计算节点中的至少一个计算节点确定为要协同执行第二联邦计算任务的数据使用方节点。任务接收模块870被配置为从协调节点接收由第二联邦计算任务拆分得到的多个第二子任务中的至少一个第二子任务。第二任务执行模块880被配置为与数据使用方节点协同执行至少一个第二子任务。
以上各功能模块的具体操作可以参考前述实施例中的联邦计算方法300的操作步骤来获取,此处不再赘述。
图9示意性示出了根据本公开实施例的适于执行联邦计算的联邦计算设备900的框图。可以利用图9所示的联邦计算设备来执行根据本公开实施例的联邦计算方法。
如图9所示,根据本公开实施例的联邦计算设备900包括处理器901和存储器902。处理器901可以根据存储在存储器902中的程序或指令来执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
处理器901与存储器902通过总线彼此相连。处理器901通过执行存储器902中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除存储器902以外的一个或多个存储设备中。处理器901也可以通过执行存储在所述一个或多个存储设备中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,联邦计算设备900还可以包括输入装置903和输出装置904,输入装置903和输出装置904也连接至总线。此外,联邦计算设备900还可以包括以下部件中的一项或多项:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质和一种计算机程序产品。该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被处理器901执行时,实现根据本公开实施例的方法。计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时可以实现上述任意实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是计算机非易失性的计算机可读存储介质,例如可以可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (21)

1.一种联邦计算方法,包括:
从多个计算节点获取多个元数据,并发布所述多个元数据,所述元数据表示计算节点的数据仓库中的数据的特征;
在所述多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中所述至少两个计算节点是基于所述多个元数据来商定执行所述联邦计算任务的;
接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将所述联邦计算任务拆分为多个子任务;以及
将所述多个子任务分发给所述至少两个计算节点,以用于在所述至少两个计算节点之间执行所述多个子任务;
其中,所述接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将所述联邦计算任务拆分为多个子任务包括:
接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务;
对所述联邦计算任务进行是否符合联邦计算安全规范的审核;以及
响应于所述联邦计算任务符合联邦计算安全规范的审核,将所述联邦计算任务拆分为所述多个子任务;
其中,所述至少两个计算节点包括数据使用方节点和数据提供方节点,所述联邦计算任务是通过以下操作得到的:
所述数据使用方节点确定所述多个计算节点中要协同执行所述联邦计算任务的计算节点作为数据提供方节点;
响应于建模意愿得到所述数据提供方节点的审批,所述数据使用方节点根据所述数据使用方节点的数据仓库中的数据和所述数据提供方节点的数据仓库中的数据,对联邦计算模型进行配置,对所述联邦计算模型的参数进行调整,并基于配置和调整后的联邦计算模型得到所述联邦计算任务。
2.根据权利要求1所述的方法,其中,在所述多个计算节点中确定商定执行联邦计算任务的至少两个计算节点包括:
在所述多个计算节点中的至少两个计算节点之间构建数据审批通道,以用于所述至少两个计算节点经由所述数据审批通道基于所述多个元数据进行数据使用的协商;
在达成数据使用协商的至少两个计算节点之间构建任务审批通道,以用于所述达成数据使用协商的至少两个计算节点经由所述任务审批通道进行联邦计算任务的审批;
将达成联邦计算任务审批的至少两个计算节点作为所述商定执行联邦计算任务的至少两个计算节点。
3.根据权利要求2所述的方法,其中,在所述多个计算节点中的至少两个计算节点之间构建数据审批通道包括:
接收来自所述至少两个计算节点中的至少一个计算节点作为数据使用方节点而发送的数据使用请求;
根据所述数据使用请求确定执行所述联邦计算任务所需的数据所在的计算节点作为数据提供方节点,并将所述数据使用请求发送给所述数据提供方节点;以及
接收来自所述数据提供方节点的使用请求应答,并将所述使用请求应答发送给所述数据使用方节点。
4.根据权利要求3所述的方法,其中,在所述多个计算节点中的至少两个计算节点之间构建任务审批通道包括:
接收来自所述至少两个计算节点中的数据使用方节点的建模任务请求;
将所述建模任务请求发送给所述数据提供方节点;以及
接收来自所述数据提供方节点的建模请求应答,并将所述建模请求应答发送给所述数据使用方节点。
5.根据权利要求1所述的方法,其中,所述联邦计算任务包括基于所述至少两个计算节点各自的数据仓库中的数据而执行的联邦数据查询、联邦数据分析和联邦模型训练,以及根据所述联邦模型训练所得的模型进行联邦预测。
6.根据权利要求1所述的方法,在接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务之后,还包括:
对所述联邦计算任务是否符合联邦计算安全规范进行审核;
在所述联邦计算任务不符合所述联邦计算安全规范的情况下,拒绝所述联邦计算任务。
7.根据权利要求1所述的方法,其中,所述元数据包括数据仓库的名称、存储于所述数据仓库中的数据表的名称、所述数据表的字段名称、字段类型和行数。
8.一种联邦计算方法,包括:
数据使用方节点从协调节点获取由多个计算节点上传至所述协调节点的多个元数据,其中每个计算节点的元数据表示相关联的计算节点的数据仓库中的数据的特征;
根据所述多个元数据从所述多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点;
响应于建模意愿得到所述数据提供方节点的审批,所述数据使用方节点根据所述数据使用方节点的数据仓库中的数据和所述数据提供方节点的数据仓库中的数据,对联邦计算模型进行配置,对所述联邦计算模型的参数进行调整;
将基于配置和调整后的联邦计算模型的所述第一联邦计算任务提交给所述协调节点,以用于所述协调节点将所述第一联邦计算任务拆分为多个第一子任务;以及
从所述协调节点接收所述多个第一子任务中的至少一个第一子任务,并与所述数据提供方节点协同执行所述至少一个第一子任务;
其中,所述多个第一子任务是响应于所述第一联邦计算任务符合联邦计算安全规范的审核而拆分得到的。
9.根据权利要求8所述的方法,其中,根据所述多个元数据从所述多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点包括:
根据所述多个元数据从所述多个计算节点中确定执行所述第一联邦计算任务所需的数据所在的计算节点;
与所述执行所述第一联邦计算任务所需的数据所在的计算节点经由所述协调节点所构建的数据审批通道进行数据使用的协商;
与达成数据使用协商的计算节点经由所述协调节点所构建的任务审批通道进行联邦计算任务的审批;
将达成联邦计算任务审批的计算节点作为所述数据提供方节点。
10.根据权利要求8所述的方法,还包括:
将本地元数据上传至所述协调节点,所述本地元数据表示本地数据仓库中的数据的特征;
将所述多个计算节点中的至少一个计算节点确定为要协同执行第二联邦计算任务的数据使用方节点;
从所述协调节点接收由所述第二联邦计算任务拆分得到的多个第二子任务中的至少一个第二子任务;以及
与所述数据使用方节点协同执行所述至少一个第二子任务。
11.根据权利要求10所述的方法,其中,将所述多个计算节点中的至少一个计算节点确定为要协同执行第二联邦计算任务的数据使用方节点包括:
与所述多个计算节点中的至少一个计算节点经由所述协调节点所构建的数据审批通道进行数据使用的协商;
与达成数据使用协商的计算节点经由所述协调节点所构建的任务审批通道进行联邦计算任务的审批;
将达成联邦计算任务审批的计算节点作为要协同执行第二联邦计算任务的数据使用方节点。
12.根据权利要求9所述的方法,其中,与所述执行所述第一联邦计算任务所需的数据所在的计算节点经由所述协调节点所构建的数据审批通道进行数据使用的协商包括:
向所述协调节点发送数据使用请求,所述数据使用请求中包括所述执行所述第一联邦计算任务所需的数据所在的计算节点的信息;以及
从所述协调节点接收使用请求应答。
13.根据权利要求9所述的方法,其中,与达成数据使用协商的计算节点经由所述协调节点所构建的任务审批通道进行联邦计算任务的审批包括:
向所述协调节点发送建模任务请求;以及
从所述协调节点接收建模请求应答。
14.根据权利要求11所述的方法,其中,与所述多个计算节点中的至少一个计算节点经由所述协调节点所构建的数据审批通道进行数据使用的协商包括:
从所述协调节点接收由所述至少一个计算节点发送的数据使用请求;以及
在允许所述至少一个计算节点使用本地数据仓库中的数据的情况下,向所述协调节点发送使用请求应答。
15.根据权利要求11所述的方法,其中,与达成数据使用协商的计算节点经由所述协调节点所构建的任务审批通道进行联邦计算任务的审批包括:
从所述协调节点接收由所述达成数据使用协商的计算节点发送的建模任务请求;以及
在允许所述达成数据使用协商的计算节点使用本地数据仓库中的数据进行建模的情况下,向所述协调节点发送建模请求应答。
16.一种联邦计算装置,包括:
元数据管理模块,配置为从多个计算节点获取多个元数据,并发布所述多个元数据,所述元数据表示计算节点的数据仓库中的数据的特征;
节点确定模块,配置为在所述多个计算节点中确定商定执行联邦计算任务的至少两个计算节点,其中所述至少两个计算节点是基于所述多个元数据来商定执行所述联邦计算任务的;
任务处理模块,配置为接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务,并将所述联邦计算任务拆分为多个子任务;以及
任务分发模块,配置为将所述多个子任务分发给所述至少两个计算节点,以用于在所述至少两个计算节点之间执行所述多个子任务;
其中,所述任务处理模块还配置为:
接收由所述至少两个计算节点中的至少一个计算节点提交的联邦计算任务;
对所述联邦计算任务进行是否符合联邦计算安全规范的审核;以及
响应于所述联邦计算任务符合联邦计算安全规范的审核,将所述联邦计算任务拆分为所述多个子任务;
其中,所述至少两个计算节点包括数据使用方节点和数据提供方节点,所述联邦计算任务是通过以下操作得到的:
所述数据使用方节点确定所述多个计算节点中要协同执行所述联邦计算任务的计算节点作为数据提供方节点;
响应于建模意愿得到所述数据提供方节点的审批,所述数据使用方节点根据所述数据使用方节点的数据仓库中的数据和所述数据提供方节点的数据仓库中的数据,对联邦计算模型进行配置,对所述联邦计算模型的参数进行调整,并基于配置和调整后的联邦计算模型得到所述联邦计算任务。
17.一种联邦计算设备,包括:
存储器,存储有程序指令;以及
处理器,被配置为执行所述程序指令,以执行如权利要求1至7中任一项所述的联邦计算方法。
18.一种联邦计算装置,包括:
元数据查询模块,配置为数据使用方节点从协调节点获取由多个计算节点上传至所述协调节点的多个元数据,其中每个计算节点的元数据表示该计算节点的数据仓库中的数据的特征;
第一节点确定模块,配置为根据所述多个元数据从所述多个计算节点中确定要协同执行第一联邦计算任务的计算节点作为数据提供方节点;
模块,配置为响应于建模意愿得到所述数据提供方节点的审批,所述数据使用方节点根据所述数据使用方节点的数据仓库中的数据和所述数据提供方节点的数据仓库中的数据,对联邦计算模型进行配置,对所述联邦计算模型的参数进行调整;
任务提交模块,配置为将基于配置和调整后的联邦计算模型的所述第一联邦计算任务提交给所述协调节点,以用于所述协调节点将所述第一联邦计算任务拆分为多个第一子任务;以及
第一任务执行模块,配置为从所述协调节点接收所述多个第一子任务中的至少一个第一子任务,并与所述数据提供方节点协同执行所述至少一个第一子任务;
其中,所述多个第一子任务是响应于所述第一联邦计算任务符合联邦计算安全规范的审核而拆分得到的。
19.一种联邦计算设备,包括:
存储器,存储有程序指令;以及
处理器,被配置为执行所述程序指令,以执行如权利要求8至15中任一项所述的联邦计算方法。
20.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1至7中任一项所述的联邦计算方法,或权利要求8至15中任一项所述的联邦计算方法。
21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时用于实现权利要求1至7中任一项所述的联邦计算方法,或权利要求8至15中任一项所述的联邦计算方法。
CN202010997997.8A 2020-09-21 2020-09-21 联邦计算方法、装置、设备及存储介质 Active CN111914038B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010997997.8A CN111914038B (zh) 2020-09-21 2020-09-21 联邦计算方法、装置、设备及存储介质
US17/189,385 US20220091891A1 (en) 2020-09-21 2021-03-02 Method, device, apparatus of federated computing, and storage medium
KR1020210028427A KR20220039526A (ko) 2020-09-21 2021-03-03 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
EP21160993.8A EP3971728A1 (en) 2020-09-21 2021-03-05 Method, device, apparatus of federated computing, and storage medium
JP2021057612A JP2021103588A (ja) 2020-09-21 2021-03-30 連邦計算方法、連邦計算装置、連邦計算デバイス、記憶媒体及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010997997.8A CN111914038B (zh) 2020-09-21 2020-09-21 联邦计算方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111914038A CN111914038A (zh) 2020-11-10
CN111914038B true CN111914038B (zh) 2024-04-16

Family

ID=73265296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010997997.8A Active CN111914038B (zh) 2020-09-21 2020-09-21 联邦计算方法、装置、设备及存储介质

Country Status (5)

Country Link
US (1) US20220091891A1 (zh)
EP (1) EP3971728A1 (zh)
JP (1) JP2021103588A (zh)
KR (1) KR20220039526A (zh)
CN (1) CN111914038B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860970B (zh) * 2021-03-02 2024-03-12 百度在线网络技术(北京)有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113537508B (zh) * 2021-06-18 2024-02-02 百度在线网络技术(北京)有限公司 联邦计算的处理方法、装置、电子设备和存储介质
CN115567427A (zh) * 2021-07-02 2023-01-03 中国移动通信有限公司研究院 交互协议一致性的评审方法、评审节点及联邦学习系统
CN114221957A (zh) * 2021-11-30 2022-03-22 中国电子科技网络信息安全有限公司 一种联邦管理系统
CN114721804B (zh) * 2022-04-15 2024-08-13 支付宝(杭州)信息技术有限公司 任务调度方法、装置和电子设备
CN114692209B (zh) * 2022-05-31 2022-09-20 蓝象智联(杭州)科技有限公司 一种基于混淆技术的图联邦方法及系统
CN115202908B (zh) * 2022-09-09 2023-01-03 杭州海康威视数字技术股份有限公司 一种基于动态编排的隐私计算请求响应方法及装置
CN115577034B (zh) * 2022-11-21 2023-04-04 中国电子信息产业集团有限公司 一种基于数据体系的联邦计算系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1985493A (zh) * 2004-07-21 2007-06-20 国际商业机器公司 用于在数据处理系统内提供联邦功能性的方法和设备
CN110955907A (zh) * 2019-12-13 2020-04-03 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法
CN110990329A (zh) * 2019-12-09 2020-04-10 杭州趣链科技有限公司 一种联邦计算高可用方法、设备及介质
CN111212110A (zh) * 2019-12-13 2020-05-29 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469248B2 (en) * 2005-05-17 2008-12-23 International Business Machines Corporation Common interface to access catalog information from heterogeneous databases
US7818783B2 (en) * 2006-03-08 2010-10-19 Davis Russell J System and method for global access control
US8380750B2 (en) * 2011-02-17 2013-02-19 International Business Machines Corporation Searching and displaying data objects residing in data management systems
US9489243B2 (en) * 2012-01-26 2016-11-08 Computenext Inc. Federating computing resources across the web
CA2929825C (en) * 2015-05-17 2018-11-13 Ormuco Inc. Method of and system for managing a federation of cloud computing resources
JP6398944B2 (ja) * 2015-10-28 2018-10-03 オムロン株式会社 データ流通管理システム
JP6827327B2 (ja) * 2017-01-05 2021-02-10 株式会社日立製作所 分散コンピューティングシステム
JP2019047334A (ja) * 2017-09-01 2019-03-22 学校法人慶應義塾 データ処理装置、データ処理方法及びデータ処理用プログラム
JP7000259B2 (ja) * 2018-06-07 2022-01-19 ヤフー株式会社 生成装置、生成方法、および生成プログラム
US11494380B2 (en) * 2019-10-18 2022-11-08 Splunk Inc. Management of distributed computing framework components in a data fabric service system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1985493A (zh) * 2004-07-21 2007-06-20 国际商业机器公司 用于在数据处理系统内提供联邦功能性的方法和设备
CN110990329A (zh) * 2019-12-09 2020-04-10 杭州趣链科技有限公司 一种联邦计算高可用方法、设备及介质
CN110955907A (zh) * 2019-12-13 2020-04-03 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法
CN111212110A (zh) * 2019-12-13 2020-05-29 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
From Federated Databases to a Federated Data Warehouse System;Stefan Berger等;Proceedings of the 41st Hawaii International Conference on System Sciences;1-10 *
Managing hot metadata for scientific workflows on multisite clouds;Luis Pineda-Morales等;2016 IEEE International Conference on Big Data (Big Data);20170206;全文 *
基于Web的作战模拟系统中数据共享方法研究;陈彬;鞠儒生;黄柯棣;;系统仿真学报;20090505(第09期);全文 *
面向数据共享交换的联邦学习技术发展综述;王亚珅;;无人系统技术(第06期);全文 *

Also Published As

Publication number Publication date
US20220091891A1 (en) 2022-03-24
JP2021103588A (ja) 2021-07-15
CN111914038A (zh) 2020-11-10
EP3971728A1 (en) 2022-03-23
KR20220039526A (ko) 2022-03-29

Similar Documents

Publication Publication Date Title
CN111914038B (zh) 联邦计算方法、装置、设备及存储介质
Liu et al. A blockchain-empowered federated learning in healthcare-based cyber physical systems
CN108491164B (zh) 一种混合云存储架构系统
US20200265493A1 (en) Real-time customizable ai model collaboration and marketplace service over a trusted ai model network
CN110490305A (zh) 基于区块链网络的机器学习模型处理方法及节点
US20230367888A1 (en) Multi-party encryption cube processing apparatuses, methods and systems
US10977230B2 (en) Data information processing method and data storage system
US10652231B2 (en) Systems and methods for managing secure sharing of online data
US10878950B1 (en) Verifying data accuracy in privacy-preserving computations
US20150074096A1 (en) Interfaces for accessing and managing enhanced connection data for shared resources
Cheng et al. Construction cost management using blockchain and encryption
Kaur et al. Blockchain technology for convergence: an overview, applications, and challenges
US20210119796A1 (en) Method for Analyzing Data Using a Blockchain, a Data Provider and a Data Customer Therefor
WO2023124219A1 (zh) 一种联合学习模型迭代更新方法、装置、系统及存储介质
CN116420149A (zh) 基于联邦学习的客户体验感知
US20220318706A1 (en) Incentive-based data exchange
Gopalakrishnan et al. Trust based approach and risk management for IT systems in cloud service selection
Chinos et al. Adjusting scheduling model with release and due dates in production planning
CN111260375B (zh) 一种服务处理方法和装置
CN103069410A (zh) 用于服务推荐服务的系统和方法
US20190158418A1 (en) Exchange hosting server
EP4350533A1 (en) Computer-implemented method and system for processing a service with sovereign data
Zohora et al. DBDAA: A real-time approach to Dynamic Banker’s Deadlock Avoidance Algorithm with optimized time complexity
US20100145863A1 (en) Method and system for creative collaborative marketplaces
CN117633904A (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