KR20220039526A - 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램 - Google Patents

연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220039526A
KR20220039526A KR1020210028427A KR20210028427A KR20220039526A KR 20220039526 A KR20220039526 A KR 20220039526A KR 1020210028427 A KR1020210028427 A KR 1020210028427A KR 20210028427 A KR20210028427 A KR 20210028427A KR 20220039526 A KR20220039526 A KR 20220039526A
Authority
KR
South Korea
Prior art keywords
data
node
computation
task
federated
Prior art date
Application number
KR1020210028427A
Other languages
English (en)
Inventor
뤼 량량
펑 즈
쑹 촨위안
Original Assignee
베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
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 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
Publication of KR20220039526A publication Critical patent/KR20220039526A/ko

Links

Images

Classifications

    • 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
    • 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/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

본 발명은 데이터 처리 분야에 관한 것으로서, 구체적으로는, 빅 데이터의 연합 계산 분야에 관한 것이고, 연합 계산 방법을 제공한다. 상기 연합 계산 방법은, 복수의 계산 노드로부터 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는 복수의 원시 데이터를 취득하고, 복수의 원시 데이터를 발행하는 것, 복수의 계산 노드로부터 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하는 것, 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 연합 계산 태스크를 복수의 서브 태스크로 분할하는 것, 및 복수의 서브 태스크를 적어도 2개의 계산 노드로 배포하여, 적어도 2개의 계산 노드사이에서 복수의 서브 태스크를 실행하는 것을 포함한다. 또한, 본 발명은 연합 계산 장치, 장비, 비 일 시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램을 제공한다.

Description

연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램{combined computiong method, apparatus, equipment, non transitory computer readable storage medium and computer program}
본 발명은 데이터 처리 분야에 관한 것으로서, 구체적으로는, 빅 데이터의 연합 계산 분야에 관한 것이고, 보다 구체적으로는, 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램에 관한 것이다.
대량의 데이터에 기반한 분석 기술에 대한, 데이터 유통이 원활하지 않음으로 인한 제약은 나날이 심해지고 있다. 대량의 데이터는 통상적으로 복수의 실체가 갖고 있으므로, 보다 정확한 데이터 분석 결과를 얻기 위해서는, 복수의 실체의 데이터 웨어하우스에 기반하여 연합 계산을 실행하여야 하는 것이 실정이다. 연합 계산은 데이터 안전 및 개인 프라이버시 보호 기술에 기반하여, 복수의 분리된 실체의 데이터 웨어하우스에서 계산을 실행하므로, 데이터 공유를 실현함과 동시에 데이터의 개인 프라이버시 안전을 보장할 수 있다.
하지만, 연합 계산을 실행하기 전에, 종종 대량의 초기 준비 작업이 필요하다. 예를 들어, 조사 연구, 협상, 담판 등 방식을 통해 사전에 다른 실체의 데이터 웨어하우스중 데이터의 상황을 파악함으로써, 이러한 데이터 웨어하우스중의 데이터가 필요한 데이터인지 확정할 필요가 있다. 이는 대량의 인력, 물력 및 시간을 소모하므로, 연합 계산의 전반적인 성능에 영향을 미치게 된다.
이를 감안하여, 본 발명은 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램을 제공한다.
본 발명의 제1 측면에 의하면,
복수의 계산 노드로부터 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는 복수의 원시 데이터를 취득하고, 상기 복수의 원시 데이터를 발행하는 것,
상기 복수의 계산 노드로부터 상기 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하는 것,
상기 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 상기 연합 계산 태스크를 복수의 서브 태스크로 분할하는 것, 및
상기 복수의 서브 태스크를 상기 적어도 2개의 계산 노드에 배포하여, 상기 적어도 2개의 계산 노드사이에서 상기 복수의 서브 태스크를 실행하도록 하는 것을 포함하는
연합 계산 방법을 제공한다.
본 발명의 제2 측면에 의하면,
조율 노드로부터 복수의 계산 노드가 상기 조율 노드로 업 로드한 복수의 원시 데이터를 취득하는 것,
상기 복수의 원시 데이터에 근거하여 상기 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하는 것,
상기 제1 연합 계산 태스크를 상기 조율 노드로 제출하여, 상기 조율 노드가 상기 제1 연합 계산 태스크를 복수의 제1 서브 태스크로 분할하도록 하는 것, 및
상기 조율 노드로부터 상기 복수의 제1 서브 태스크 중 적어도 하나의 제1 서브 태스크를 수신하고, 상기 데이터 제공자 노드와 협동으로 상기 적어도 하나의 제1 서브 태스크를 실행하는 것을 포함하고,
각 계산 노드의 원시 데이터는 해당 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는
연합 계산 방법을 제공한다.
본 발명의 제3 측면에 의하면,
복수의 계산 노드로부터 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는 복수의 원시 데이터를 취득하고, 상기 복수의 원시 데이터를 발행하도록 배치된 원시 데이터 관리 모듈,
상기 복수의 계산 노드로부터 상기 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하도록 배치된 노드 확정 모듈,
상기 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 상기 연합 계산 태스크를 복수의 서브 태스크로 분할하도록 배치된 태스크 처리 모듈, 및
상기 복수의 서브 태스크를 상기 적어도 2개의 계산 노드에 배포하여, 상기 적어도 2개의 계산 노드사이에서 상기 복수의 서브 태스크를 실행하도록 배치된 태스크 배포 모듈을 포함하는
연합 계산 장치를 제공한다.
본 발명의 제4 측면에 의하면,
프로그램 명령이 저장된 메모리, 및
상기 프로그램 명령을 실행할 경우, 본 발명의 제1 측면에 의해제공되는 연합 계산 방법을 실행하도록 배치된 프로세서를 포함하는
연합 계산 장비를 제공한다.
본 발명의 제5 측면에 의하면,
조율 노드로부터 복수의 계산 노드가 상기 조율 노드로 업 로드한 복수의 원시 데이터를 취득하도록 배치된 원시 데이터 조회 모듈,
상기 복수의 원시 데이터에 근거하여 상기 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하도록 배치된 제1 노드 확정 모듈,
상기 제1 연합 계산 태스크를 상기 조율 노드로 제출하여, 상기 조율 노드가 상기 제1 연합 계산 태스크를 복수의 제1 서브 태스크로 분할하도록 배치된 태스크 제출 모듈, 및
상기 조율 노드로부터 상기 복수의 제1 서브 태스크 중 적어도 하나의 제1 서브 태스크를 수신하고, 상기 데이터 제공자 노드와 협동으로 상기 적어도 하나의 제1 서브 태스크를 실행하도록 배치된 제1 태스크 실행 모듈을 포함하고,
각 계산 노드의 원시 데이터는 해당 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는
연합 계산 장치를 제공한다.
본 발명의 제6 측면에 의하면,
프로그램 명령이 저장된 메모리, 및
상기 프로그램 명령을 실행할 경우, 본 발명의 제2 측면에 의해제공되는 연합 계산 방법을 실행하도록 배치된 프로세서를 포함하는
연합 계산 장비를 제공한다.
본 발명의 제7 측면에 의하면,
컴퓨터 프로그램이 저장된 비 일시적 컴퓨터 판독가능 저장 매체에 있어서,
상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 상기의 연합 계산 방법을 구현하는
비 일시적 컴퓨터 판독가능 저장 매체를 제공한다.
본 발명의 제8 측면에 의하면,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램의 명령이 프로세서에 의해 실행될 경우, 상기의 연합 계산 방법을 구현하는
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램을 제공한다.
본 발명의 실시예에 의하면, 신뢰가능한 연합 안전 모델 구축에 적용될 수 있다. 부동한 사용자(서로 다른 계산 노드에 위치 함)는 연합적인 안전한 모델 구축 트레이닝, 테스트를 실행하고, 또한, 얻은 모델을 이용하여 데이터를 검증하고 예측할 수 있다. 얻은 모델을 사용하여 리스크를 예측하여, 리스크 식별능력을 향상시키고, 기업의 손실을 감소시킬 수 있다.
본 발명의 실시예에 의하면, 연합적인 안전한 데이터 분석에 적용될 수 있다. 부동한 사용자는 연합된 SQL조회, 프로그램 계산을 통해, 데이터가 현지를 떠나지 않고, 안전성을 보장하는 상황에서 신뢰가능한 데이터 분석 및 계산 등 기능을 실현할 수 있고, 데이터 연합 계산의 효과를 향상시킬 수 있다.
본 발명의 실시예에 의하면, 개인 프라이버시 집합의 적집합 산출에 적용될 수 있다. 각자의 집합을 가진 2개의 사용자가 공동으로 각자의 로컬 데이터 웨어하우스중 데이터 집합의 적집합 운산을 하도록 허용한다. 계산 인터액션을 거친 후, 일방 또는 쌍방은 정확한 적집합을 얻게 되지만, 적집합 외의 상대방의 그 어떤 정보도 얻지 못한다. 이렇게 하여, 집합의 개인 프라이버시를 보호할 수 있을뿐만 아니라, 정확한 계산결과를 얻어, 사용자의 요구를 만족할 수 있다.
이하에서 첨부 도면을 참조하여 설명한 본 발명의 실시예를 통해, 본 발명의 상기 및 다른 목적, 특징 및 장점들은 보다 명확해질 것이다.
도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)는 각각 대량의 개인 프라이버시 데이터를 갖고 있는 3개의 실체이다. 예를 들어, 실체(A)는 대량의 개인 프라이버시 금융 데이터를 갖고 있는 금융 기구이고, 실체(B)는 대량의 개인 프라이버시 데이터를 갖고 있는 인터넷 기구이며, 실체(C)는 대량의 개인 프라이버시 데이터를 갖고 있는 어느 의료 기구이다. 3개 실체의 데이터는 각각 로컬 데이터 웨어하우스(A1, B1 및 C1)에 저장되어 있다. 각자 모델의 성능을 보다 향상시키기 위해, 실체(A) 및 실체(C)는 실체(B)와 데이터 안전 및 개인 정보 보호를 전제로 한 연합 러닝을 진행하고자 한다. 본 발명의 실시예는 실체(A), 실체(B) 및 실체(C) 3자사이의 연합 러닝과정을 조율하는 방법을 제공한다.
하기의 실시예에 있어서, 데이터 웨어하우스를 갖고 있고 데이터의 안전 및 개인 프라이버시를 보장하고자 하는 실체(A), 실체(B) 및 실체(C)를 계산 노드로 표시한다. 여기서, 계산 노드는 데이터 사용자 노드일 수 있고, 데이터 제공자 노드일 수도 있다. 데이터 사용자 노드는 예를 들어 상기 실체(A) 및 실체(C)이고, 데이터 제공자 노드는 예를 들어 상기 실체(B)이다. 실제로, 실체(A) 및 실체(C)는 외부로 데이터를 제공할 수도 있고, 실체(B)는 외부로부터 데이터를 취득할 수도 있다. 따라서, 별도로 언급하지 않는 한, 모든 계산 노드 자체는 데이터 사용자 노드일 수도 있고, 데이터 제공자 노드일 수도 있다. 나아가서, 실체(A), 실체(B) 및 실체(C)사이의 연합 러닝 과정을 조율하기 위해, 조율 노드를 더 설치한다. 실체(A), 실체(B) 및 실체(C) 등과 같은 계산 노드와 달리, 조율 노드는 외부로 데이터를 제공하는 데이터 제공자도 아니고, 외부로부터 데이터를 취득하여 계산을 실행하는 데이터 사용자도 아니다. 조율 노드는 단지 계산 노드사이의 연합 계산 과정을 전반적으로 운영함으로써, 연합 계산 과정을 최적화하기 위한 것이다. 본 발명의 실시예에 따른 연합 계산 방법을 계산 노드 및 조율 노드에 적용하여, 연합 계산을 위한 전반적인 솔루션을 실현할 수 있다.
도2는 본 발명의 실시예에 따른 연합 계산 방법(200)의 흐름도를 개략적으로 나타내고, 조율 노드에 적용될 수 있다. 도2에 도시된 바와 같이, 연합 계산 방법(200)은 하기의 단계를 포함한다.
단계(S210)에서는, 복수의 계산 노드로부터 복수의 원시 데이터를 취득하고, 복수의 원시 데이터를 발행하고, 원시 데이터는 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타낸다.
단계(S220)에서는, 복수의 계산 노드로부터 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하고, 여기서, 적어도 2개의 계산 노드는 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한다.
단계(S230)에서는, 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 연합 계산 태스크를 복수의 서브 태스크로 분할한다.
단계(S240)에서는, 복수의 서브 태스크를 적어도 2개의 계산 노드에 배포하여, 적어도 2개의 계산 노드사이에서 복수의 서브 태스크를 실행한다.
실시예에 따르면, 원시 데이터를 이용하여 각 계산 노드에서의 데이터 웨어하우스중 데이터의 특징을 나타낸다. 실시예에 따르면, 원시 데이터는, 데이터 웨어하우스의 명칭, 데이터 웨어하우스에 저장된 데이터 테이블의 명칭, 데이터 테이블의 필드 명칭, 필드 유형 및 행수 등을 포함할 수 있는데, 이에 한정되지는 않는다. 따라서, 다른 계산 노드(즉, 데이터 제공자 노드)의 데이터 웨어하우스중의 데이터의 사용권을 취득하고자 하는 어느 계산 노드(즉, 데이터 사용자 노드)는 원시 데이터를 조회함으로써 다른 계산 노드의 데이터 웨어하우스중의 데이터의 정보를 알 수 있고, 나아가서 해당 데이터가 필요로 하는 데이터인지 확정할 수 있다. 실시예에 따르면, 복수의 원시 데이터를 발행할 수 있고, 이러한 발행된 원시 데이터는 데이터 마켓을 구성하여, 원시 데이터의 집중 전시를 실현할 수 있다. 따라서, 본 발명의 실시예에 의하면, 연합 계산을 실행하기 전에 복잡하고 시간이 드는 초기 조사 연구 작업을 생략할 수 있다. 전시에 참여하는 모든 계산 노드는 규정된 요구에 따라 로컬 데이터 웨어하우스중의 데이터 정보를 나타내는 원시 데이터를 전시하므로, 연합 계산 초기의 준비 작업을 현저하게 간소화할 수 있다.
데이터 사용자 노드는, 원시 데이터를 통해 자신이 필요로 하는데이터를 찾아낸 후, 해당 데이터를 갖고 있는 데이터 제공자 노드와 협상함으로써, 데이터의 사용권을 청구할 수 있다.
실시예에 따르면, 복수의 계산 노드로부터 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하는 것은, 복수의 계산 노드 중 적어도 2개의 계산 노드사이에 데이터 심사 허가 루트를 구축하여, 해당 적어도 2개의 계산 노드가 데이터 심사 허가 루트를 거쳐 복수의 원시 데이터에 기초하여 데이터 사용에 대해 협상하도록 하는 것, 데이터 사용 협상이 달성된 적어도 2개의 계산 노드사이에 태스크 심사 허가 루트를 구축하여, 데이터 사용 협상이 달성된 적어도 2개의 계산 노드가 태스크 심사 허가 루트를 거쳐 연합 계산 태스크의 심사 허가를 실행하도록 하는 것, 및 연합 계산 태스크 심사 허가를 달성한 적어도 2개의 계산 노드를 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드로 확정하는 것을 더 포함한다. 본 실시예에서는, 데이터 사용자 노드가 원시 데이터를 통해 자신이 필요로 하는 데이터를 찾아낸 후, 우선, 데이터 심사 허가 루트를 이용하여 데이터를 갖고 있는 데이터 제공자 노드와 데이터 사용권에 대해 협상하고, 쌍방이 데이터 사용권에 대해 일치한 합의를 달성한 후에야만, 데이터 사용자 노드가 태스크 심사 허가 루트를 이용하여 데이터 제공자 노드와 연합 모델 구축 의사에 대해 협상할 수 있다. 여기서, 데이터 심사 허가 루트 및 태스크 심사 허가 루트는, 조율 노드가 계산 노드사이의 인터액션 과정을 위해 제공한 통신 채널이다. 지적해두어야 할 것은, 연합 모델 구축 의사에 대한 협상중, 모델의 구체적인 설정 및 파라미터는 고려하지 않고, 연합 모델 구축 및 데이터 웨어하우스중 데이터의 사용과 관련된 문제만 고려한다.
실시예에 따르면, 데이터 사용자 노드가 제출한 모델 구축 의사가 데이터 제공자 노드의 심사 허가를 받은 후, 데이터 사용자 노드는 모델을 설정하고, 모델의 파라미터를 조정한 다음, 설정 및 조정을 거친 모델의 모델 구축 태스크를 조율 노드로 제출할 수 있다. 조율 노드는 수신된 모델 구축 태스크를 복수의 서브 태스크로 분할하고, 해당 복수의 서브 태스크를 각각 데이터 사용자 노드 및 데이터 제공자 노드로 배포하여, 연합으로 실행하도록 한다. 이 과정에서, 데이터 사용자 노드는 예를 들어 로컬 데이터 웨어하우스만 이용하여 모델을 구축하는 것과 같이 모델을 설정하고 조정할 수 있고, 여러 데이터 웨어하우스에 기초한 연합 모델 구축의 보다 상세한 인터액션 세부내용은 고려하지 않아도 된다. 이러한 조작은 모델 구축 태스크를 조율 노드로 제출한 후, 조율 노드가 처리하도록 할 수 있다. 예를 들어, 조율 노드는 계산 노드가 제출한 모델 구축 태스크를 보다 상세하게 세분화된 복수의 서브 태스크로 분할할 수 있다.
도3a 및 도3b는 본 발명의 다른 실시예에 따른 연합 계산 방법(300)의 흐름도를 개략적으로 나타내고, 계산 노드에 적용될 수 있다. 도3a에 도시된 바와 같이, 연합 계산 방법(300)은 하기의 단계를 포함한다.
단계(S310)에서는, 조율 노드로부터 복수의 계산 노드가 조율 노드로 업 로드한 복수의 원시 데이터를 취득하고, 여기서, 각 계산 노드의 원시 데이터는 해당 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타낸다.
단계(S320)에서는, 복수의 원시 데이터에 근거하여 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 한다.
단계(S330)에서는, 제1 연합 계산 태스크를 조율 노드로 제출하고, 조율 노드는 제1 연합 계산 태스크를 복수의 제1 서브 태스크로 분할한다.
단계(S340)에서는, 조율 노드로부터 복수의 제1 서브 태스크 중 적어도 하나의 제1 서브 태스크를 수신하고, 데이터 제공자 노드와 협동으로 적어도 하나의 제1 서브 태스크를 실행한다.
실시예에 따르면, 연합 계산을 실행하고자 하는 계산 노드, 즉, 데이터 사용자 노드는 조율 노드를 통해 복수의 원시 데이터를 취득하고, 복수의 원시 데이터를 통해 다른 계산 노드가 갖고 있는 데이터 웨어하우스중 데이터의 상황을 보다 상세하게 알 수 있다. 상술한바와 같이, 원시 데이터는 데이터 웨어하우스의 명칭, 데이터 웨어하우스에 저장된 데이터 테이블의 명칭, 데이터 테이블의 필드 명칭, 필드 유형 및 행수 등을 포함할 수 있는데, 이에 한정되지는 않는다. 예를 들어, 계산 노드는 데이터 테이블의 명칭 및 데이터 테이블의 필드 명칭으로부터 다른 계산 노드의 데이터 웨어하우스중 데이터의 내용을 대체적으로 알 수 있고, 데이터 테이블의 필드 유형 및 행수를 통해 데이터의 유형 및 규모 등을 대체적으로 알 수 있다.
이어서, 데이터 사용자 노드가 연합 계산에 필요하는 데이터를 찾아낸 후, 해당 데이터를 제공하는 계산 노드를 협동으로 제1 연합 계산 태스크를 실해할 데이터 제공자 노드로 확정할 수 있다. 여기서, 제1 연합 계산 태스크는, 현재 계산 노드가 데이터 사용자 노드로서 발의하고 제출한 연합 계산 태스크를 의미하고, 제1 서브 태스크는, 제1 연합 계산 태스크를 분할하여 얻은 서브 태스크를 의미한다. 실시예에 따르면, 복수의 원시 데이터에 근거하여 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하는 것은, 복수의 원시 데이터에 근거하여 복수의 계산 노드로부터 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드를 확정하는 것, 조율 노드가 구축한 데이터 심사 허가 루트를 거쳐, 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드와 데이터 사용에 대해 협상하는 것, 조율 노드가 구축한 태스크 심사 허가 루트를 거쳐, 데이터 사용 협상이 달성된 계산 노드와 연합 계산 태스크의 심사 허가를 실행하는 것, 및 연합 계산 태스크 심사 허가를 달성한 계산 노드를 데이터 제공자 노드로 하는 것을 더 포함한다. 본 실시예에서, 데이터 사용자 노드는 우선 연합 계산에 필요되는 데이터가 위치한 계산 노드를 확정하고, 그 다음, 데이터 심사 허가 루트를 이용하여 해당 계산 노드와 데이터의 사용권에 대해 협상하고, 쌍방이 데이터 사용권에 대해 일치한 협의를 달성한 후에야만, 데이터 사용자 노드가 태스크 심사 허가 루트를 이용하여 해당 계산 노드와 연합 모델 구축의 의사를 협상할 수 있다. 앞에서 설명한 실시예와 동일하게, 데이터 사용자 노드는 태스크 심사 허가 루트를 거쳐 데이터 사용 협상이 달성된 계산 노드와 계속하여 연합 모델 구축의 의사를 협상할 때, 모델의 구체적인 설정 및 파라미터는 고려하지 않고, 연합 모델 구축 및 데이터 웨어하우스중 데이터의 사용과 관련된 문제만 고려한다.
이어서, 연합 모델 구축 의사를 달성하고 데이터 제공자 노드를 확정한 후, 데이터 사용자 노드는 예를 들어, 모델의 파라미터를 조정하는 등 추가로 모델을 설정할 수 있다. 실시예에 따르면, 데이터 사용자 노드는 데이터 사용자 노드의 로컬 데이터 웨어하우스중의 데이터 및 확정된 데이터 제공자 노드의 데이터 웨어하우스중의 데이터에 기초하여 연합 계산 모델을 구축할 수 있고, 또한, 모델 구축 과정에, 데이터 사용자 노드는 전반적으로 모델을 고려할 수 있다. 예를 들어, 실시예에 따르면, 로컬 데이터 웨어하우스중의 데이터 및 데이터 제공자 노드의 데이터 웨어하우스중의 데이터에 기초하여, 가상 모델을 구축하고, 가상 모델의 효과가 데이터 사용자 노드 및 데이터 제공자 노드의 데이터 웨어하우스중의 데이터를 물리적으로 집합시켜 구축한 최적화 모델과 일치하도록 할 수 있다. 모델 트레이닝중의 보다 많은 실행 세부사항에 대해서는 고려할 필요가 없다. 데이터 사용자 노드는 연합 계산 모델을 설정한 후, 연합 계산 태스크(제1 연합 계산 태스크)를 조율 노드로 제출하여, 조율 노드가 연합 계산 태스크를 처리하도록 할 수 있다. 실시예에 따르면, 조율 노드는 연합 계산 태스크를 복수의 서브 태스크(제1 서브 태스크)로 분할한다. 데이터 사용자 노드 및 데이터 제공자 노드는 각각 조율 노드로부터 적어도 하나의 서브 태스크를 수신하고, 협동으로 수신된 서브 태스크를 실행함으로써, 협동으로 연합 계산 태스크를 실행하도록 할수 있다. 당업자라면, 이를 쉽게 이해할 수 있을 것이다. 서브 태스크는 연합 계산 태스크가 데이터 사용자 노드 및 데이터 제공자 노드사이에서 실행되는 세부사항을 보다 세분화한다. 실제로, 이전에 데이터 사용자 노드 및 데이터 제공자 노드가 공동으로 완성해야 할 동작들을 조율 노드에 의해 완성함으로써, 데이터 사용자 노드 및 데이터 제공자 노드가 실행하는 연합 계산 태스크를 보다 간소화할 수 있다.
본 발명의 실시예에 따른 연합 계산 방법은, 원시 데이터를 사용하여 각 계산 노드의 로컬 데이터 웨어하우스중 데이터의 특징을 나타내고, 각 계산 노드에 다른 계산 노드의 데이터 웨어하우스중 데이터의 상황을 제공함으로써, 연합 계산 장면을 구축하기 전에 대량의 인력 및 시간을 소모하여 조사 연구 및 협상을 진행해야 하는 문제점을 해결하고, 모델 구축 코스트를 절감시킬 수 있다. 또한, 모델 구축 전에 계산 노드사이에 데이터 심사 허가 루트 및 태스크 심사 허가 루트를 제공하고, 모델 구축을 제출한 후 모델 구축 태스크를 보다 세분화함으로써, 연합 모델 구축 과정에서의 계산 노드사이의 복잡한 인터액션 동작을 간소화할 수 있고, 연합 계산 모델 구축의 난이도를 낮추는데 유리하고, 모델 구축 코스트를 한층 더 절감시킬 수 있다.
도3a에 도시된 실시예의 연합 계산 방법(300)은 데이터 사용자 노드에 적용된다. 데이터 사용 수요가 없고, 단지 데이터를 제공하여 다른 계산 노드가 사용하도록 하는 데이터 제공자 노드일 경우, 연합 계산 방법(300)은 도3b에 도시된 바와 같이, 하기의 단계를 포함한다.
단계(S350)에서는, 로컬 원시 데이터를 조율 노드로 업 로드하고, 로컬 원시 데이터는 로컬 데이터 웨어하우스중 데이터의 특징을 나타낸다.
단계(S360)에서는, 복수의 계산 노드 중 적어도 하나의 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정한다.
단계(S370)에서는, 조율 노드로부터 제2 연합 계산 태스크를 분할하여 얻은 복수의 제2 서브 태스크 중 적어도 하나의 제2 서브 태스크를 수신한다.
단계(S380)에서는, 데이터 사용자 노드와 협동으로 적어도 하나의 제2 서브 태스크를 실행한다.
데이터 제공자 노드로서는, 조율 노드에 접속(예를 들어, 등록)한 후, 우선 로컬 데이터 웨어하우스중의 데이터를 나타내는 원시 데이터를 조율 노드로 업 로드할 수 있다. 상기 원시 데이터는 발행을 통해 다른 계산 노드에게 전시할 수 있다. 다른 계산 노드, 즉, 데이터 사용자 노드가 데이터 제공자 노드의 로컬 데이터 웨어하우스중의 데이터를 사용하고자 할 경우, 조율 노드가 제공한 데이터 심사 허가 루트 및 태스크 심사 허가 루트를 통해 해당 데이터 제공자 노드와 인터액션할 수 있다. 실시예에 따르면, 데이터 제공자 노드는 데이터 사용자 노드와의 인터액션을 통해 복수의 계산 노드 중 적어도 하나의 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정한다. 여기서, 제2 연합 계산 태스크는, 현재 계산 노드가 데이터 제공자 노드로서 수신한 연합 계산 태스크를 의미하고, 제2 서브 태스크는 제2 연합 계산 태스크를 분할하여 얻은 서브 태스크를 의미한다.
실시예에 따르면, 복수의 계산 노드 중 적어도 하나의 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정하는 것은, 조율 노드가 구축한 데이터 심사 허가 루트를 거쳐, 복수의 계산 노드 중 적어도 하나의 계산 노드와 데이터 사용에 대해 협상하는 것, 조율 노드가 구축한 태스크 심사 허가 루트를 거쳐, 데이터 사용 협상이 달성된 계산 노드와 연합 계산 태스크의 심사 허가를 실행하는 것, 및 연합 계산 태스크 심사 허가를 달성한 계산 노드를 협동으로 제2 연합 계산 태스크를 실해할 데이터 사용자 노드로 하는 것을 더 포함한다. 협상 과정에, 데이터 제공자 노드는 데이터 사용자 노드가 제공한 협상 내용에 근거하여 데이터심사 허가 및 태스크 심사 허가에 동의할 지 판단할 수 있다. 데이터 제공자 노드가 데이터 사용자 노드가 송신한 데이터 사용 청구에 동의하지 않으면, 데이터 사용자 노드는 태스크 심사 허가의 협상을 계속할 수 없다. 데이터 제공자 노드가 데이터 사용자 노드의 데이터 사용 청구는 동의하지만, 데이터 사용자 노드가 송신한 모델 구축 태스크 청구는 동의하지 않을 경우, 데이터 사용자 노드는 모델 구축 태스크를 계속하여 실행할 수 없다. 실시예에 따르면, 데이터 제공자 노드가 데이터 사용자 노드의 데이터 사용 청구 및 모델 구축 태스크 청구를 각각 통과시키면, 즉, 데이터 제공자 노드와 데이터 사용자 노드사이에 데이터 심사 허가 협상 및 태스크 심사 허가 협상이 달성되면, 데이터 제공자 노드는 조율 노드로부터 제2 연합 계산 태스크를 분할하여 얻은 복수의 제2 서브 태스크 중 적어도 하나의 제2 서브 태스크를 수신하고, 데이터 사용자 노드와 협동으로 적어도 하나의 제2 서브 태스크를 실행하여, 협동으로 연합 계산 태스크를 실행하도록 할 수 있다.
실제로는, 대부분 계산 노드는 모두 데이터 사용자 노드일 수도 있고, 데이터 제공자 노드일 수도 있다. 따라서, 일반적인 경우, 단계(S310)~단계(S380)의 모든 단계를 포함하는 연합 계산 방법(300)을 계산 노드에 적용할 수 있다. 또한, 상기 실시예 중의 동작 단계의 번호는 실제로 실행되는 순서를 의미하지 않음을 이해하여야 한다. 실제로 실행 할 경우, 단계(S310)~단계(S340)와 단계(S350)~단계(S380)는 서로 병행으로 실행되거나 교체적으로 실행될 수 있다. 예를 들어, 계산 노드가 데이터를 사용하든 안하든, 모두 조율 노드에 등록한 후, 로컬 데이터 웨어하우스중의 데이터를 나타내는 원시 데이터를 조율 노드로 업 로드할 수 있다. 즉, 단계(S310)전에 단계(S350)를 실행할 수 있다.
도4는 본 발명의 실시예에 따른 연합 계산 방법의 전체 구성도를 개략적으로 나타낸다. 도4에서는, 조율 노드(410) 및 4개의 계산 노드(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)은, 주로 각종 연합 계산 태스크의 실행을 책임진다. 본 발명의 실시예에 의하면, 연합 계산 태스크는, 적어도 2개의 계산 노드 각각의 데이터 웨어하우스중의 데이터에 기초하여 실행되는 연합 데이터 조회, 연합 데이터 분석 및 연합 모델 트레이닝, 및 연합 모델 트레이닝에 의해 얻은 모델에 따라 연합 예측을 진행하는 것을 포함할수 있고, 이에 한정되지는 않는다. 모니터링 경보 유닛(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)로 데이터 사용 청구를 송신하고, 상기 데이터 사용 청구에는 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드의 정보가 포함되어 있다(단계(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조회, 프로그램 계산을 통해, 데이터가 현지를 떠나지 않고, 안전성을 보장하는 상황에서 신뢰가능한 데이터 분석 및 계산 등 기능을 실현할 수 있고, 데이터 연합 계산의 효과를 향상시킬 수 있다.
본 발명의 실시예에 의하면, 개인 프라이버시 집합의 적집합 산출에 적용될 수 있다. 각자의 집합을 가진 2개의 사용자가 공동으로 각자의 로컬 데이터 웨어하우스중 데이터 집합의 적집합 운산을 하도록 허용한다. 계산 인터액션을 거친 후, 일방 또는 쌍방은 정확한 적집합을 얻게 되지만, 적집합 외의 상대방의 그 어떤 정보도 얻지 못한다. 이렇게 하여, 집합의 개인 프라이버시를 보호할 수 있을뿐만 아니라, 정확한 계산결과를 얻어, 사용자의 요구를 만족할 수 있다. 집합내용은 연락부, 유전자 진단 서비스 고객의 유전자 계열, 주민 등록 번호 등을 포함할 수 있는데, 이에 한정되지는 않는다.
도7은 본 발명의 실시예에 따른 연합 계산 장치(700)의 블록도를 개략적으로 나타낸다. 도7에 도시된 바와 같이, 연합 계산 장치(700)는 원시 데이터 관리 모듈(710), 노드 확정 모듈(720), 태스크 처리 모듈(730) 및 태스크 배포 모듈(740)을 포함한다.
실시예에 의하면, 원시 데이터 관리 모듈(710)은, 복수의 계산 노드로부터 복수의 원시 데이터를 취득하고, 복수의 원시 데이터를 발행하도록 배치되고, 여기서, 원시 데이터는 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타낸다. 노드 확정 모듈(720)은, 복수의 계산 노드로부터 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하도록 배치되고, 여기서, 적어도 2개의 계산 노드는 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한다. 태스크 처리 모듈(730)은, 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 연합 계산 태스크를 복수의 서브 태스크로 분할하도록 배치된다. 태스크 배포 모듈(740)은, 복수의 서브 태스크를 적어도 2개의 계산 노드에 배포하여, 적어도 2개의 계산 노드사이에서 복수의 서브 태스크를 실행하도록 배치된다.
상기 각 기능 모듈의 구체적인 동작은 앞에서 설명한 실시예의 연합 계산 방법(200)의 동작 단계를 참조하여 얻을 수 있으므로, 여기서는 설명을 생략한다.
도8은 본 발명의 다른 실시예에 따른 연합 계산 장치의 블록도를 개략적으로 나타낸다. 도8에 도시된 바와 같이, 연합 계산 장치(800)는 원시 데이터 조회 모듈(810), 제1 노드 확정 모듈(820), 태스크 제출 모듈(830), 제1 태스크 실행 모듈(840), 원시 데이터 업 로드 모듈(850), 제2 노드 확정 모듈(860), 태스크 수신 모듈(870) 및 제2 태스크 실행 모듈(880)을 포함한다.
실시예에 따르면, 원시 데이터 조회 모듈(810)은, 조율 노드로부터 복수의 계산 노드가 조율 노드로 업 로드한 복수의 원시 데이터를 취득하도록 배치되고, 여기서, 각 계산 노드의 원시 데이터는 해당 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타낸다. 제1 노드 확정 모듈(820)은, 복수의 원시 데이터에 근거하여 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하도록 배치된다. 태스크 제출 모듈(830)은, 제1 연합 계산 태스크를 조율 노드로 제출하여, 조율 노드가 제1 연합 계산 태스크를 복수의 제1 서브 태스크로 분할하도록 배치된다. 제1 태스크 실행 모듈(840)은, 조율 노드로부터 복수의 제1 서브 태스크 중 적어도 하나의 제1 서브 태스크를 수신하고, 데이터 제공자 노드와 협동으로 적어도 하나의 제1 서브 태스크를 실행하도록 배치된다. 원시 데이터 업 로드 모듈(850)은, 로컬 원시 데이터를 조율 노드로 업 로드하도록 배치되고, 로컬 원시 데이터는 로컬 데이터 웨어하우스중 데이터의 특징을 나타낸다. 제2 노드 확정 모듈(860)은, 복수의 계산 노드 중 적어도 하나의 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정하도록 배치된다. 태스크 수신 모듈(870)은, 조율 노드로부터 제2 연합 계산 태스크를 분할하여 얻은 복수의 제2 서브 태스크 중 적어도 하나의 제2 서브 태스크를 수신하도록 배치된다. 제2 태스크 실행 모듈(880)은, 데이터 사용자 노드와 협동으로 적어도 하나의 제2 서브 태스크를 실행하도록 배치된다.
상기 각 기능 모듈의 구체적인 동작은 앞에서 설명한 실시예의 연합 계산 방법(300)의 동작 단계를 참조하여 얻을 수 있으므로, 여기서는 설명을 생략한다.
도9는 본 발명의 실시예에 따른 연합 계산을 실행하기에 적합한 연합 계산 장비(900)의 블록도를 개략적으로 나타낸다. 도9에 도시된 연합 계산 장비를 통해 본 발명의 실시예에 따른 연합 계산 방법을 실행할 수 있다.
도 9에 도시된 바와 같이, 본 발명의 실시예에 따른 연합 계산 장비(900)는 프로세서 (901) 및 메모리 (902)를 포함한다. 프로세서 (901)는 메모리(902)에 저장된 프로그램 또는 명령에 따라 각종 적당한 동작 및 처리를 실행할 수 있다. 프로세서 (901)는 예를 들어 범용 마이크로 프로세서 (예를 들어, CPU), 명령 집합 프로세서 및/또는 관련 칩셋 및/또는 전용 마이크로 프로세서 (예를 들어, ASIC(Application Specific Integrated Circuit)) 등을 포함할 수 있다. 프로세서 (901)는 버퍼링 용도로 쓰이는 보드 탑재 메모리를 포함할 수도 있다. 프로세서 (901)는 본 발명의 실시예에 따른 방법의 흐름의 서로 다른 동작을 실행하기 위한 단일 처리 유닛 또는 복수의 처리 유닛을 포함할 수 있다.
프로세서 (901)와 메모리(902)는 버스를 통해 서로 연결된다. 프로세서 (901)는 메모리(902)에 저장된 프로그램을 실행함으로써, 본 발명의 실시예에 따른 방법의 흐름의 각 동작을 실행한다. 지적해두어야 할 것은, 상기 프로그램은 메모리(902)를 제외한 하나 또는 복수의 저장 장비에 저장될 수도 있다. 프로세서 (901)는 상기 하나 또는 복수의 저장 장비에 저장되어 있는 프로그램을 실행함으로써, 본 발명의 실시예에 따른 방법의 흐름의 각 동작을 실행할 수도 있다.
본 발명의 실시예에 따르면, 연합 계산 장비(900)는 입력장치(903) 및 출력장치(904)를 더 포함할 수 있고, 입력장치(903) 및 출력장치(904)도 버스에 연결된다. 연합 계산 장비(900)는, 키보드, 마우스 등을 포함하는 입력부, 음극선관(CRT), 액정 디스플레이(LCD) 등 및 스피커 등을 포함하는 출력부, 하드 디스크 등을 포함하는 저장부, 및 LAN 카드, 모뎀 등과 같은 네트워크 인터페이스 카드를 포함하는 통신부 중의 하나 또는 복수개를 포함할 수 있다.
본 발명의 실시예에 따르면, 본 발명의 실시예에 따른 방법의 흐름은 컴퓨터 소프트웨어 프로그램으로 실현될 수 있다. 예를 들어, 본 발명의 실시예는 컴퓨터 프로그램 제품을 포함하고, 상기 제품은 비 일시적 컴퓨터 판독가능 저장 매체에 탑재된 컴퓨터 프로그램을 포함하고, 상기 컴퓨터 프로그램은 흐름도에 도시된 방법을 실행하기 위한 프로그램 코드를 포함할 수 있다. 이러한 실시예에 있어서, 상기 컴퓨터 프로그램은 통신부를 통해 네트워크로부터 다운도르하여 설치하거나, 또는 탈착가능 매체로부터 설치할 수 있다. 상기 컴퓨터 프로그램이 프로세서 (901)에 의해 실행될 경우, 본 발명의 실시예의 시스템에서 한정된 상기 기능을 실행한다. 본 발명의 실시예에 따르면, 앞에서 설명한 시스템, 장비, 장치, 모듈, 유닛 등은 컴퓨터 프로그램 모듈을 통해 실현될 수 있다.
본 발명은 비 일시적 컴퓨터 판독가능 저장 매체도 제공한다. 상기 비 일시적 컴퓨터 판독가능 저장 매체는 상기 실시예에서 설명한 장비/장치/시스템에 포함될 수도 있고, 상기 장비/장치/시스템에 조립되지 않고 단독적으로 존재할 수 도 있다. 상기 비 일시적 컴퓨터 판독가능 저장 매체에는 하나 또는 복수의 프로그램이 탑재되고, 상기 하나 또는 복수의 프로그램이 프로세서(901)에 의해 실행될 경우, 본 발명의 실시예에 따른 방법을 실현한다.
본 발명의 실시예에 따르면, 비 일시적 컴퓨터 판독가능 저장 매체는 컴퓨터 비휘발성 컴퓨터 판독가능 저장 매체일 수 있다. 예를 들어, 휴대용 컴퓨터 디스크, 하드 디스크, RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programming ROM), 또는 플래시 메모리, 휴대용 CD-ROM(Compact Disc Read Only Memory), 광학적 저장 디바이스, 자기적 저장 디바이스, 또는 이들의 임의의 적합한 조합을 포함할 수 있는데, 이에 한정되지는 않는다. 본 발명에 있어서, 비 일시적 컴퓨터 판독가능 저장 매체는 프로그램을 포함 또는 저장하는 임의의 유형의 매체일 수 있는데, 상기 프로그램은 명령 실행 시스템, 장치 또는 디바이스에 의해 사용되거나 이들과 결합하여 사용할 수 있다.
첨부 도면의 흐름도 및 블록도는, 본 발명의 각종 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 실현가능한 체계구조, 기능 및 동작을 도시하고 있다. 이 점에서, 흐름도 또는 블록도의 각 블록은 하나의 모듈, 프로그램 세그먼트, 또는 코드의 일부를 의미할 수 있고, 상기 모듈, 프로그램 세그먼트 또는 코드의 일부는 하나 또는 복수의 소정의 논리적 기능을 실현하기 위한 실행가능 명령을 포함한다. 지적해두어야 할 것은, 다른 일부 실시예에 있어서, 블록에 표기된 기능은 첨부 도면에 표기된 순서와 다른 순서로 실행될 수도 있다. 예를 들어, 순차적으로 표시된 2개의 블록은 병행적으로 실행될 수 도 있고, 반대되는 순서로 실행될 수도 있는데, 이는 관련되는 기능에 의해 결정된다. 또한, 지적해두어야 할 것은, 블록도 또는 흐름도중의 각 블록 및 블록도 또는 흐름도중의 블록의 조합은, 소정의 기능 또는 동작을 실행하는 전용적인 하드웨어에 기반한 시스템을 통해 구현하거나, 또는 전용 하드웨어와 컴퓨터 명령의 조합을 통해 구현할 수 있다.
당업자라면, 본 발명에 명확히 개시되어 있지 않더라도, 본 발명의 각 실시예 및/또는 청구항에 기재된 특징을 다양하게 조합 및/또는 결합할 수 있음을 이해할수 있을 것이다. 특히, 본 발명의 취지 및 시사를 벗어나지 않고 본 발명의 각 실시예 및/또는 청구항에 기재된 특징을 다양하게 조합 및/또는 결합할 수 있다. 이러한 모든 조합 및/또는 결합은 모두 본 발명의 범위에 속한다.
이상에서는 본 발명의 실시예에 대해 설명하였다. 하지만, 이러한 실시예는 단지 설명을 위한 것일 뿐, 결코 본 발명의 범위를 제한하기 위한 것이 아니다. 비록 이상에서는 각 실시예를 별도로 설명하였으나, 이는 결코 각 실시예중의 조치가 결합하여 사용할수 없음을 의미하지 않는다. 본 발명의 범위는 첨부된 청구의 범위 및 그 등가물에 의해 한정된다. 당업자라면, 본 발명의 범위를 벗어나지 않고, 다양하게 치환 및 변경할 수 있는데, 이러한 치환 및 변경 또한 본 발명의 범위에 포함되어야 한다.
조율 노드 : 410 계산 노드 : 420, 430, 440, 450
원시 데이터 관리 유닛 : 411 참여자 관리 유닛 : 412
계산 태스크 조율 유닛 : 413 계산 노드 : 420
원시 데이터 업 로드 유닛 : 421 태스크 관리 유닛 : 422
태스크 실행 유닛 : 423 모니터링 경보 유닛 : 424
연합 계산 장치 : 700, 800, 900 원시 데이터 관리 모듈 : 710
노드 확정 모듈 : 720 태스크 처리 모듈 : 730
태스크 배포 모듈 : 740 원시 데이터 조회 모듈 : 810
제1 노드 확정 모듈 : 820 태스크 제출 모듈 : 830
제1 태스크 실행 모듈 : 840 원시 데이터 업 로드 모듈 : 850
제2 노드 확정 모듈 : 860 태스크 수신 모듈 : 870
제2 태스크 실행 모듈 : 880 프로세서 : 901
메모리 : 902

Claims (23)

  1. 복수의 계산 노드로부터 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는 복수의 원시 데이터를 취득하고, 상기 복수의 원시 데이터를 발행하는 것,
    상기 복수의 계산 노드로부터 상기 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하는 것,
    상기 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 상기 연합 계산 태스크를 복수의 서브 태스크로 분할하는 것, 및
    상기 복수의 서브 태스크를 상기 적어도 2개의 계산 노드에 배포하여, 상기 적어도 2개의 계산 노드사이에서 상기 복수의 서브 태스크를 실행하도록 하는 것을 포함하는
    연합 계산 방법.
  2. 제1항에 있어서,
    상기 복수의 계산 노드로부터 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하는 것은,
    상기 복수의 계산 노드 중 적어도 2개의 계산 노드사이에 데이터 심사 허가 루트를 구축하여, 상기 적어도 2개의 계산 노드가 상기 데이터 심사 허가 루트를 거쳐 상기 복수의 원시 데이터에 기초하여 데이터 사용에 대해 협상하도록 하는 것,
    데이터 사용 협상이 달성된 적어도 2개의 계산 노드사이에 태스크 심사 허가 루트를 구축하여, 상기 데이터 사용 협상이 달성된 적어도 2개의 계산 노드가 상기 태스크 심사 허가 루트를 거쳐 연합 계산 태스크의 심사 허가를 실행하도록 하는 것, 및
    연합 계산 태스크 심사 허가를 달성한 적어도 2개의 계산 노드를 상기 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드로 하는 것을 포함하는
    연합 계산 방법.
  3. 제2항에 있어서,
    상기 복수의 계산 노드 중 적어도 2개의 계산 노드사이에 데이터 심사 허가 루트를 구축하는 것은,
    상기 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 데이터 사용자 노드로서 송신한 데이터 사용 청구를 수신하는 것,
    상기 데이터 사용 청구에 따라, 상기 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드를 데이터 제공자 노드로 확정하고, 상기 데이터 사용 청구를 상기 데이터 제공자 노드로 송신하는 것, 및
    상기 데이터 제공자 노드로부터의 사용 청구 응답을 수신하고, 상기 사용 청구 응답을 상기 데이터 사용자 노드로 송신하는 것을 포함하는
    연합 계산 방법.
  4. 제3항에 있어서,
    상기 복수의 계산 노드 중 적어도 2개의 계산 노드사이에 태스크 심사 허가 루트를 구축하는 것은,
    상기 적어도 2개의 계산 노드중 데이터 사용자 노드로부터의 모델 구축 태스크 청구를 수신하는 것,
    상기 모델 구축 태스크 청구를 상기 데이터 제공자 노드로 송신하는 것, 및
    상기 데이터 제공자 노드로부터의 모델 구축 청구 응답을 수신하고, 상기 모델 구축 청구 응답을 상기 데이터 사용자 노드로 송신하는 것을 포함하는
    연합 계산 방법.
  5. 제1항에 있어서,
    상기 연합 계산 태스크는, 상기 적어도 2개의 계산 노드 각각의 데이터 웨어하우스중의 데이터에 기초하여 실행되는 연합 데이터 조회, 연합 데이터 분석 및 연합 모델 트레이닝을 포함하고, 상기 연합 모델 트레이닝을 통해 얻은 모델에 따라 연합 예측을 실행하는 것을 포함하는
    연합 계산 방법.
  6. 제1항에 있어서,
    상기 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신한 후,
    상기 연합 계산 태스크가 연합 계산 안전 규범에 부합되는지 심의하는 것, 및
    상기 연합 계산 태스크가 상기 연합 계산 안전 규범에 부합되지 않을 경우, 상기 연합 계산 태스크를 거절하는 것을 더 포함하는
    연합 계산 방법.
  7. 제1항에 있어서,
    상기 원시 데이터는 데이터 웨어하우스의 명칭, 상기 데이터 웨어하우스에 저장된 데이터 테이블의 명칭, 상기 데이터 테이블의 필드 명칭, 필드 유형 및 행수를 포함하는
    연합 계산 방법.
  8. 조율 노드로부터 복수의 계산 노드가 상기 조율 노드로 업 로드한 복수의 원시 데이터를 취득하는 것,
    상기 복수의 원시 데이터에 근거하여 상기 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하는 것,
    상기 제1 연합 계산 태스크를 상기 조율 노드로 제출하여, 상기 조율 노드가 상기 제1 연합 계산 태스크를 복수의 제1 서브 태스크로 분할하도록 하는 것, 및
    상기 조율 노드로부터 상기 복수의 제1 서브 태스크 중 적어도 하나의 제1 서브 태스크를 수신하고, 상기 데이터 제공자 노드와 협동으로 상기 적어도 하나의 제1 서브 태스크를 실행하는 것을 포함하고,
    각 계산 노드의 원시 데이터는 해당 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는
    연합 계산 방법.
  9. 제8항에 있어서,
    상기 복수의 원시 데이터에 근거하여 상기 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하는 것은,
    상기 복수의 원시 데이터에 근거하여 상기 복수의 계산 노드로부터 상기 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드를 확정하는 것,
    상기 조율 노드가 구축한 데이터 심사 허가 루트를 거쳐, 상기 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드와 데이터 사용에 대해 협상하는 것,
    상기 조율 노드가 구축한 태스크 심사 허가 루트를 거쳐, 데이터 사용 협상이 달성된 계산 노드와 연합 계산 태스크의 심사 허가를 실행하는 것, 및
    연합 계산 태스크 심사 허가를 달성한 계산 노드를 상기 데이터 제공자 노드로 하는 것을 포함하는
    연합 계산 방법.
  10. 제8항에 있어서,
    로컬 데이터 웨어하우스중 데이터의 특징을 나타내는 로컬 원시 데이터를 상기 조율 노드로 업 로드하는 것,
    상기 복수의 계산 노드 중 적어도 하나의 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정하는 것,
    상기 조율 노드로부터 상기 제2 연합 계산 태스크를 분할하여 얻은 복수의 제2 서브 태스크 중 적어도 하나의 제2 서브 태스크를 수신하는 것, 및
    상기 데이터 사용자 노드와 협동으로 상기 적어도 하나의 제2 서브 태스크를 실행하는 것을 더 포함하는
    연합 계산 방법.
  11. 제10항에 있어서,
    상기 복수의 계산 노드 중 적어도 하나의 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정하는 것은,
    상기 조율 노드가 구축한 데이터 심사 허가 루트를 거쳐, 상기 복수의 계산 노드 중 적어도 하나의 계산 노드와 데이터 사용에 대해 협상하는 것,
    상기 조율 노드가 구축한 태스크 심사 허가 루트를 거쳐, 데이터 사용 협상이 달성된 계산 노드와 연합 계산 태스크의 심사 허가를 실행하는 것,
    연합 계산 태스크 심사 허가를 달성한 계산 노드를 협동으로 제2 연합 계산 태스크를 실행할 데이터 사용자 노드로 확정하는 것을 포함하는
    연합 계산 방법.
  12. 제9항에 있어서,
    상기 조율 노드가 구축한 데이터 심사 허가 루트를 거쳐, 상기 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드와 데이터 사용에 대해 협상하는 것은,
    상기 조율 노드로 상기 제1 연합 계산 태스크를 실행하는데 필요하는 데이터가 위치한 계산 노드의 정보를 포함한 데이터 사용 청구를 송신하는 것, 및
    상기 조율 노드로부터 사용 청구 응답을 수신하는 것을 포함하는
    연합 계산 방법.
  13. 제9항에 있어서,
    상기 조율 노드가 구축한 태스크 심사 허가 루트를 거쳐, 데이터 사용 협상이 달성된 계산 노드와 연합 계산 태스크의 심사 허가를 실행하는 것은,
    상기 조율 노드로 모델 구축 태스크 청구를 송신하는 것, 및
    상기 조율 노드로부터 모델 구축 청구 응답을 수신하는 것을 포함하는
    연합 계산 방법.
  14. 제11항에 있어서,
    상기 조율 노드가 구축한 데이터 심사 허가 루트를 거쳐, 상기 복수의 계산 노드 중 적어도 하나의 계산 노드와 데이터 사용에 대해 협상하는 것은,
    상기 조율 노드로부터 상기 적어도 하나의 계산 노드가 송신한 데이터 사용 청구를 수신하는 것, 및
    상기 적어도 하나의 계산 노드가 로컬 데이터 웨어하우스중의 데이터를 사용하는 것을 허용할 경우, 상기 조율 노드로 사용 청구 응답을 송신하는 것을 포함하는
    연합 계산 방법.
  15. 제11항에 있어서,
    상기 조율 노드가 구축한 태스크 심사 허가 루트를 거쳐, 데이터 사용 협상이 달성된 계산 노드와 연합 계산 태스크의 심사 허가를 실행하는 것은,
    상기 조율 노드로부터 상기 데이터 사용 협상이 달성된 계산 노드가 송신한 모델 구축 태스크 청구를 수신하는 것, 및
    상기 데이터 사용 협상이 달성된 계산 노드가 로컬 데이터 웨어하우스중의 데이터를 사용하여 모델 구축을 진행하는 것을 허용할 경우, 상기 조율 노드로 모델 구축 청구 응답을 송신하는 것을 포함하는
    연합 계산 방법.
  16. 복수의 계산 노드로부터 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는 복수의 원시 데이터를 취득하고, 상기 복수의 원시 데이터를 발행하도록 배치된 원시 데이터 관리 모듈,
    상기 복수의 계산 노드로부터 상기 복수의 원시 데이터에 기초하여 연합 계산 태스크를 실행하기로 합의한 적어도 2개의 계산 노드를 확정하도록 배치된 노드 확정 모듈,
    상기 적어도 2개의 계산 노드 중 적어도 하나의 계산 노드가 제출한 연합 계산 태스크를 수신하고, 상기 연합 계산 태스크를 복수의 서브 태스크로 분할하도록 배치된 태스크 처리 모듈, 및
    상기 복수의 서브 태스크를 상기 적어도 2개의 계산 노드에 배포하여, 상기 적어도 2개의 계산 노드사이에서 상기 복수의 서브 태스크를 실행하도록 배치된 태스크 배포 모듈을 포함하는
    연합 계산 장치.
  17. 프로그램 명령이 저장된 메모리, 및
    상기 프로그램 명령을 실행할 경우, 제1항 내지 제7항 중 임의의 한 항의 연합 계산 방법을 실행하도록 배치된 프로세서를 포함하는
    연합 계산 장비.
  18. 조율 노드로부터 복수의 계산 노드가 상기 조율 노드로 업 로드한 복수의 원시 데이터를 취득하도록 배치된 원시 데이터 조회 모듈,
    상기 복수의 원시 데이터에 근거하여 상기 복수의 계산 노드로부터 협동으로 제1 연합 계산 태스크를 실행할 계산 노드를 확정하여 데이터 제공자 노드로 하도록 배치된 제1 노드 확정 모듈,
    상기 제1 연합 계산 태스크를 상기 조율 노드로 제출하여, 상기 조율 노드가 상기 제1 연합 계산 태스크를 복수의 제1 서브 태스크로 분할하도록 배치된 태스크 제출 모듈, 및
    상기 조율 노드로부터 상기 복수의 제1 서브 태스크 중 적어도 하나의 제1 서브 태스크를 수신하고, 상기 데이터 제공자 노드와 협동으로 상기 적어도 하나의 제1 서브 태스크를 실행하도록 배치된 제1 태스크 실행 모듈을 포함하고,
    각 계산 노드의 원시 데이터는 해당 계산 노드의 데이터 웨어하우스중 데이터의 특징을 나타내는
    연합 계산 장치.
  19. 프로그램 명령이 저장된 메모리, 및
    상기 프로그램 명령을 실행할 경우, 제8항 내지 제15항 중 임의의 한 항의 연합 계산 방법을 실행하도록 배치된 프로세서를 포함하는
    연합 계산 장비.
  20. 컴퓨터 프로그램이 저장된 비 일시적 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제7항 중 임의의 한 항의 연합 계산 방법을 구현하는
    비 일시적 컴퓨터 판독가능 저장 매체.
  21. 컴퓨터 프로그램이 저장된 비 일시적 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 제8항 내지 제15항 중 임의의 한 항의 연합 계산 방법을 구현하는
    비 일시적 컴퓨터 판독가능 저장 매체.
  22. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램의 명령이 프로세서에 의해 실행될 경우, 제1항 내지 제7항중 어느 한 항의 연합 계산 방법을 구현하는
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  23. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램의 명령이 프로세서에 의해 실행될 경우, 제8항 내지 제15항중 어느 한 항의 연합 계산 방법을 구현하는
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.


KR1020210028427A 2020-09-21 2021-03-03 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램 KR20220039526A (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
KR20220039526A true KR20220039526A (ko) 2022-03-29

Family

ID=73265296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210028427A KR20220039526A (ko) 2020-09-21 2021-03-03 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램

Country Status (5)

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

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 中国电子信息产业集团有限公司 一种基于数据体系的联邦计算系统及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698375B2 (en) * 2004-07-21 2010-04-13 International Business Machines Corporation Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
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
CN110990329B (zh) * 2019-12-09 2023-12-01 杭州趣链科技有限公司 一种联邦计算高可用方法、设备及介质
CN111212110B (zh) * 2019-12-13 2022-06-03 清华大学深圳国际研究生院 一种基于区块链的联邦学习系统及方法
CN110955907B (zh) * 2019-12-13 2022-03-25 支付宝(杭州)信息技术有限公司 一种基于联邦学习的模型训练方法

Also Published As

Publication number Publication date
US20220091891A1 (en) 2022-03-24
CN111914038B (zh) 2024-04-16
JP2021103588A (ja) 2021-07-15
CN111914038A (zh) 2020-11-10
EP3971728A1 (en) 2022-03-23

Similar Documents

Publication Publication Date Title
KR20220039526A (ko) 연합 계산 방법, 장치, 장비, 비 일시적 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
US11087878B2 (en) Methods and systems for improving connections within a healthcare ecosystem
Liu et al. A blockchain-empowered federated learning in healthcare-based cyber physical systems
Morabito Trends and challenges in digital business innovation
US10902134B2 (en) Multi-party encryption cube processing apparatuses, methods and systems
CN106576114A (zh) 基于策略的资源管理和分配系统
CA3015454C (en) System and method for complaint and reputation management in a multi-party data marketplace
US10515060B2 (en) Method and system for generating a master clinical database and uses thereof
Westerink‐Duijzer et al. Core allocations for cooperation problems in vaccination
US11121874B2 (en) Method for analyzing data using a blockchain, a data provider and a data customer therefor
Yetis et al. Blockchain-based mass customization framework using optimized production management for industry 4.0 applications
US8239553B2 (en) Providing services for multiple business consumers
Poonsuph The Design Blueprint for a Large‐Scale Telehealth Platform
Spini et al. Private hospital workflow optimization via secure k-means clustering
CN112181376B (zh) 代码资源管理方法、装置、电子设备和介质
CN112434323A (zh) 模型参数获取方法、装置、计算机设备及存储介质
US20220318706A1 (en) Incentive-based data exchange
Mendelsohn et al. sfkit: a web-based toolkit for secure and federated genomic analysis
Dogac et al. Collaborative business process support in eHealth: integrating IHE profiles through ebXML business process specification language
US20210142361A1 (en) Method of Implementing a Digital Platform
CN103069410A (zh) 用于服务推荐服务的系统和方法
Dibouliya et al. Review on Data Mesh Architecture and its Impact
Prabha et al. Survey on big data and cloud computing
JP2020160547A (ja) 情報処理装置、オペレータ引継ぎシステム、およびオペレータ引継ぎ方法
Chavali et al. Clinical Trials in the Realm of Health Informatics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application