KR20230066597A - 실시간 데이터 통신의 방법, 전자 기기 및 시스템 - Google Patents

실시간 데이터 통신의 방법, 전자 기기 및 시스템 Download PDF

Info

Publication number
KR20230066597A
KR20230066597A KR1020237012155A KR20237012155A KR20230066597A KR 20230066597 A KR20230066597 A KR 20230066597A KR 1020237012155 A KR1020237012155 A KR 1020237012155A KR 20237012155 A KR20237012155 A KR 20237012155A KR 20230066597 A KR20230066597 A KR 20230066597A
Authority
KR
South Korea
Prior art keywords
data
contract
resource pool
data stream
resource
Prior art date
Application number
KR1020237012155A
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 KR20230066597A publication Critical patent/KR20230066597A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 개시는 실시간 데이터 통신에 사용되는 방법, 전자 기기 및 시스템을 제공한다. 데이터 수신자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법은: 블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 단계; 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및 상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 단계; 를 포함한다.

Description

실시간 데이터 통신의 방법, 전자 기기 및 시스템
본 개시는 통신 기술분야에 관한 것으로, 특히 실시간 데이터 통신의 방법, 전자 기기 및 시스템에 관한 것이다.
통신기술의 고속 발전에 따라서, 사물인터넷(IoT)에 대한 관심이 높아지고 있다. 사물인터넷, 즉'만물이 연결된 인터넷'은 인터넷을 기반으로 확장되고 확장된 네트워크로 다양한 정보 센서 기기(즉, 센서)와 인터넷을 결합하여 형성된 거대한 네트워크로 언제 어디서나 사람, 기계, 사물의 상호 연결을 실현할 수 있다.
시장 조사 보고서 'State of the market: Internet of things 2016'의 통계에 따르면, 전 세계 IoT 센서 시장은 센서 구매, 설치, 유지보수 및 센서 인터페이스 소프트웨어를 포함하여 6000억/년을 초과하였다. 센서를 통해 센서 소유자는 더 많은 데이터를 ??득할 수 있으며, 서비스 제공자는 센서 데이터를 기반으로 부가가치 서비스를 제공할 수 있다. 5G 기술의 발전으로 센서 데이터의 전송이 더욱 편리해지고, 센서 데이터는 빠르고 실시간으로 데이터 수신자에게 전송할 수 있다.
따라서, 통신업, 제조업 등 다양한 업종에서 미래는 데이터 시대라는 것을 공감하고 있다. 데이터 거래는 미래의 발전 추세가 될 것이다. 데이터 거래는 한편으로 센서 소유자의 투자, 운영 및 유지 관리 비용을 절감할 수 있고, 다른 한편으로는 데이터의 가치 발굴을 촉진할 수 있다.
전통적인 데이터 거래 방법에서, 데이터 거래는 일반적으로 제3자 거래 센터를 통해 수행된다. 이러한 데이터 거래 방법은 거래 데이터의 완정성을 유지하기 어렵고, 거래의 불투명성과 거래 이력의 추적 어려움으로 인해 거래 프로세스의 관련 정보를 수정하기 쉽다. 또한, 이러한 데이터 거래 방법은 네트워크 또는 데이터 제공자의 이유로 인해 데이터 흐름이 단절될 때, 데이터 수신자를 위한 새로운 데이터 흐름을 바로 설정할 수 있음을 보장하기 어렵기에, 거래 당사자의 이익을 손상시킬 수 있다.
상기 문제를 적어도 부분적으로 해결하거나 완화하기 위하여, 본 개시의 실시예에 따른 실시간 데이터 통신에 사용되는 방법, 전자 기기 및 시스템을 제공한다. 가능한 데이터 단절 현상을 고려하여, 어느 데이터 스트림이 단절될 때, 데이터 수신자는 자동으로 다른 데이터 스트림으로 전환하여 데이터 수량의 요구 사항을 만족하는 데이터 제공자와 언제든지 계약을 체결할 수 있다.
본 개시의 제1 방면에 따르면, 데이터 구매자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법을 제공한다, 해당 방법은: 블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 단계; 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및 상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 단계; 를 포함한다.
일부 실시예에서, 상기 자원풀 계약은 자원 선택 방법을 포함하고, 상기 자원 선택 방법은 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 자원 전환 조건을 만족한다고 판단할 때 호출되는 것으로 사용되어, 상기 데이터 수신자가 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이트 스트림을 구축하도록 한다. 일부 실시예에서, 상기 자원 선택 방법은 또한 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 호출되어, 상기 자원풀 중의 현재 상기 데이터 수신자에 대응되는 데이터 스트림의 자원외의 자원을 선택하도록 하며, 상기 데이터 수신자가 선택된 자원에 대응되는 데이터 제공자와 새로운 데이터 스트림을 구축하도록 한다. 일부 실시예에서, 상기 자원 전환 조건은: 자원 전환 주기; 및 데이터 스트림의 단절; 중의 하나 또는 복수개를 포함한다. 일부 실시예에서, 상기 자원풀 계약은 자원의 풀 진입 방법을 포함하고, 상기 자원의 풀 진입 방법은 자원의 풀 진입 규칙을 포함하고, 상기 자원의 풀 진입 방법은, 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 자원이 상기 자원의 풀 진입 규칙을 만족하는 것을 확정할 때, 상기 자원을 상기 자원풀로 가입하는 것을 트리거하는데 사용된다. 일부 실시에에서, 상기 자원풀 중의 자원은 데이터 송신자 또는 데이터 스트림 계약 중의 적어도 하나이다. 일부 실시예에서, 상기 자원이 데이터 송신자일 경우에, 상기 자원풀 계약은: 데이터 송신자의 식별자 리스트; 데이터 송신자의 전환 주기; 데이트 스트림의 가격 및/또는 가격 결정 방식; 데이터 송신자의 풀 진입 방법; 데이터 송신자의 선택 방법; 및 데이터 스트림의 구축 방법; 중의 적어도 하나를 더 포함한다. 일부 실시예에서, 상기 자원이 데이터 스트림 계약일 경우에, 상기 자원풀 계약은: 데이터 스트림 계약의 식별자 리스트; 데이터 스트림 계약의 전환 주기; 데이터 스트림 계약의 풀 진입 방법; 및 데이터 스트림 계약의 선택 방법; 중의 적어도 하나를 더 포함한다. 일부 실시예에서, 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하는 단계는: 상기 자원풀 계약 중의 데이터 스트림 구축 방법을 실행하여, 상기 제2 수량을 초과하지 않는 자원에 대응되는 데이터 송신자와 데이트 스트림을 구축하는 단계; 또는, 상기 자원풀 계약 중의 데이터 스트림 계약 선택 방법을 실행하여, 제2 수량을 초과하지 않는 데이터 스트림 계약을 트리거하여, 상기 자원풀 중의 상기 제2 수량의 데이터 스트림 계약에 대응되는 데이트 송신자와 데이터 스트림을 구축하는 단계;를 포함한다.
본 개시의 제2 방면에 따르면, 데이터 구매자가 사용하는 제1 전자 기기를 제공한다. 해당 전자 기기는 프로세서, 메모리를 포함하고, 상기 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 프로세서에 의해 실행될 때, 상기 제1 전자 기기로 하여금 제1 방면에 따른 상기 방법을 구현하도록 한다.
본 개시의 제3 방면에 따르면, 데이터 제공자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법을 제공한다. 해당 방법은: 블록체인 네트워크로부터 자원풀 계약을 수신하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되고, 상기 제원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및 상기 블록체인 네트워크로 상기 자원풀로의 가입에 동의하는 것을 지시하는 메시지를 송신하는 단계; 를 포함한다.
일부 실시예에서, 해당 방법은: 상기 자원풀 계약을 실행하는 상기 블록체인 네트워크의 협조하에서, 상기 자원풀 계약을 발표한 데이터 수신자와 데이터 스트림을 구축하는 단계; 및 구축된 데이터 스트림을 통해 대응되는 데이터 수신자로 실시간 데이터를 송신하는 단계;를 더 포함한다.
본 개시의 제4 방면에 따르면, 데이터 제공자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법을 제공한다. 해당 방법은: 블록체인 네트워크로 데이터 스트림 계약을 발표하되, 상기 데이터 스트림 계약은 상기 데이터 제공자가 제공한 데이터 스트림을 자원으로 하여 자원풀에 가입하는 것을 트리거하는데 사용되고, 상기 자원풀은 데이터 수신자가 발표한 자원풀 계약으로 트리거되어 구축된 제1 수량의 자원을 포함하는 자원풀이고, 상기 자원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및 상기 블록체인 네트워크로부터 상기 데이터 스트림 계약이 상기 자원풀에 가입되었다는 것을 지시하는 메시지를 수신하는 단계; 를 포함한다.
일부 실시예에서, 상기 방법은: 상기 데이터 스트림 계약을 실행하는 상기 블록체인 네트워크의 협조하에서, 상기 자원풀 계약을 발표한 데이터 수신자와 데이터 스트림을 구축하는 단계; 및 구축된 데이터 스트림을 통해 대응되는 데이터 수신자로 실시간 데이터를 송신하는 단계;를 더 포함한다. 일부 실시예에서, 상기 데이터 스트림 계약은: 데이터 스트림 계약의 식별자; 상기 데이터 송신자의 식별자; 데이터 스트림의 가격 및/또는 가격 결정 방식; 내용 정보; 데이터 스트림의 구축 방법; 및 자원풀의 가입 방법; 중의 적어도 하나를 포함한다.
본 개시의 제5 방면에 따르면, 데이터 제공자가 사용하는 제2 전자 기기를 제공한다. 해당 전자 기기는 프로세서, 메모리를 포함하고, 상기 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 프로세서에 의해 실행될 때, 상기 제2 전자 기기로 하여금 제3 방면 또는 제4 방면에 따른 상기 방법을 구현하도록 한다.
본 개시의 제6 방면에 따르면, 실시간 데이터 통신에 사용되는 시스템을 제공한다. 해당 시스템은: 블록체인 네트워크, 제1 전자 기기, 하나 또는 복수개의 제2 전자 기기를 포함하고, 상기 제1 전자 기기는 상기 블록체인 네트워크와 통신하며 커플링되고, 상기 제1 전자 기기는 제1 프로세서와 제1 메모리를 포함하고, 상기 제1 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 제1 프로세서에 의해 실행될 때, 상기 제1 전자 기기로 하여금: 블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 단계; 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및 상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 단계; 를 실행하게 하고, 각 상기 제2 전자 기기는 상기 블록체인 네트워크와 통신하며 커플링되고, 각 상기 제2 전자 기기는 제2 프로세서와 제2 메모리를 포함하고, 상기 제2 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 제2 프로세서에 의해 실행될 때, 상기 제2 전자 기기로 하여금: 블록체인 네트워크로부터 자원풀 계약을 수신하는 단계; 및 상기 블록체인 네트워크로 상기 자원풀로의 가입에 동의하는 것을 지시하는 메시지를 송신하는 단계;를 실행하게 하거나, 또는, 블록체인 네트워크로 데이터 스트림 계약을 발표하되, 상기 데이터 스트림 계약은 상기 데이터 제공자가 제공한 데이터 스트림을 자원으로 하여 자원풀에 가입하는 것을 트리거하는데 사용되는 단계; 및 상기 블록체인 네트워크로부터 상기 데이터 스트림 계약이 상기 자원풀에 가입되었다는 것을 지시하는 메시지를 수신하는 단계; 를 실행하게 한다.
본 개시의 제7 방면에 따르면, 컴퓨터 판독 가능 제장 매체를 더 제공한다. 해당 저장 매체에는 명령이 저장되어 있고, 상기 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1 방면, 제3 방면 또는 제4 방면에 따른 상기 방법을 구현하도록 한다.
상기 방법, 전자 기기, 시스템 및/또는 컴퓨터 판독 가능 저장 매체를 사용하는 경우, 한편으로는 데이터 제공자의 장비 고장으로 인한 데이터 손실을 피면할 수 있고, 다른 한편으로는 더 많은 데이터 제공자와의 계약 체결로 인한 비용 추가를 피면할 수 있다.
이하 도면을 결부하여, 본 개시의 바람직한 실시예에 대하여 설명을 진행함으로써, 본 개시의 상술한 목적 및 기타 목적, 특징 및 장점을 더욱 명확하게 할 수 있다.
도 1은 블록체인 네트워크를 기반으로 하는 예시적인 스마트 계약의 예시적인 응용 시나리오의 예시도이다.
도 2는 본 개시의 실시예에 따른 블록체인을 기반으로 하는 데이터 거래 시나리오의 예시도이다.
도 3은 본 개시의 실시예에 따른 예시적인 실시적 데이터 거래 과정의 메시지 스트림의 예시도이다.
도 4는 본 개시의 또 다른 실시예에 따른 예시적인 실시적 데이터 거래 과정의 메시지 스트림의 예시도이다.
도 5는 본 개시의 실시예에 따른 데이터 스트림의 단절을 검측하는 예시도이다.
도 6은 본 개시의 실시예에 따른 데이터 수신측의 전자 기기에서 실행하는 예시 방법의 흐름도이다.
도 7은 본 개시의 실시예에 따른 데이터 송신자의 전자 기기에서 실행하는 예시 방법의 흐름도이다.
도 8은 본 개시의 실시예에 따른 데이터 수신측의 전자 기기에서 실행하는 또 다른 예시 방법의 흐름도이다.
도 9는 본 개시의 실시예에 따른 실시간 데이터 통신에 사용되는 기기의 예시적인 하드웨어 배치도이다.
본 개시의 목적, 기술적 방안 및 장점을 보다 명확하기 위해, 이하에서는 첨부 도면을 참조하여 본 개시에 대해 더 자세히 설명한다. 유의해야 할 것은, 이하 설명은 예시에만 사용되며 본 개시를 제한하는데 사용되지 않는다. 이하 설명에서는 본 개시에 대한 철저한 이해를 제공하기 위해 많은 특정 세부 사항이 설명되지만, 이 분야의 일반 기술자에게 분명한 것은 이러한 특정 세부 사항을 사용하여 본 개시를 실행할 필요가 없다는 것이다. 다른 예시에서 본 개시에 대한 혼동을 피하기 위해, 공지된 회로, 재료 또는 방법은 구체적으로 설명하지 않는다.
명세서 전체에서 '일 실시예', '실시예', '일 예시' 또는 '예시'에 대한 언급은, 실시예 또는 예시와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서 전체 설명서의 각 부분에 나타나는 문구 '하나의 실시예에서', '실시예에서', '일 예시' 또는 '예시'가 반드시 동일한 실시예 또는 예시를 가리키는 것은 아니다. 또한, 특정 특성, 구조 또는 특성은 적절한 조합 및/또는 하위 조합으로 하나 이상의 실시예 또는 예시에서 결합될 수 있다. 또한, 이 분야의 일반 기술자는 여기에 제공된 도면이 모두 설명의 목적이며 도면이 반드시 비례하여 그려지는 것은 아님을 이해해야 한다. 여기에 사용된 용어 '및/또는'에는 하나 이상의 관련 나열된 항목의 모든 조합과 모든 조합이 포함된다.
유의해야 할 것은, 아래에서는 '실시간 데이터 거래'를 예로 들어 본문의 실시예를 자세히 설명하지만, 본 개시는 이에 국한되지 않는다. 사실상, 실시간 데이터 거래는 본문에서 제안한 '실시간 데이터 통신' 방안의 일종의 구체적인 적용 시나리오일 뿐이며, 본 개시의 실시간 데이터 통신 방안은 실시간 데이터 통신이 필요한 모든 상황에 적용할 수 있으며, 예컨대 비거래성의 실시간 데이터 통신에 적용할 수 있다.
또한, 본 명세서에서 이더리움(ethereum) 기술의 용어인 '스마트 계약' 또는 '계약'과 이에 사용되는 Solidity 프로그래밍 언어를 사용하지만, 본 개시는 이에 한정되지 않는다. 본문에서 '계약'이라는 용어는 데이터 거래(또는 데이터 통신) 중 적어도 일측에서 제출한 데이터 스트림의 구축, 유지, 변경, 제거 등과 관련된 정보를 지칭하는데 사용할 수 있으므로, '스마트 계약' 및/또는 '계약'이라는 용어는 응용 프로그램, APP, 소스 코드, 실행 코드, 메시지, 텍스트, 이진 데이터, 소프트웨어, 펌웨어 및 기타 네트워크에서 전달할 수 있는 모든 정보일 수 있다. 또한 실시간 데이터 통신 이외의 영역에 적용될 때, '스마트 계약' 및/또는 '계약'이라는 용어는 데이터 흐름과 관련된 다른 정보와 상관이 없을 수도 된다.
또한 '데이터 스트림'이라는 용어는 일반적으로 전송 중에 정보를 전송하거나 수신하는데 사용되는 일련의 디지털 인코딩된 시퀀스 신호 또는 그 벡터를 나타낸다. 즉, 본문에서 '데이터 스트림'이라는 용어는 두개 또는 구개 이상의 엔티티 간에 전송되는 일련의 정보 자체 또는 두개 이상의 엔티티 간에 이러한 정보를 전송하기 위해 설정된 논리적 채널을 가리킬 수 있다.
상술한 바와 같이, 기존의 데이터 거래 방법에는 거래 데이터의 완전성 유지의 어려움, 거래의 불투명성, 거래 이력의 추적의 어려움, 관련 정보의 수정의 용이성, 데이터 흐름이 단절되었을 때, 데이터 수신자를 위한 새로운 데이터 스트림을 바로 구축하지 못하는 등등의 데이터 거래 쌍방의 이익이 손상될 수 있는 많은 문제가 있다. 기존의 데이터 거래 방법에 비하여, 블록체인을 기반으로 하는 데이터 거래 방법은 분산, 탈중앙화, 거래 데이터의 변조 및 취소 불가 등의 장점으로 인해 점점 더 많은 관심을 받고 있다.
블록체인을 기반으로 하는 데이터 거래 시스템은 일반적으로 하나 또는 하나 이상의 데이터 제공자(본문에서 '데이터 송신자'라고도 함), 하나 또는 하나 이상의 데이터 구매자(본문에서 '데이터 수신자'라고도 함) 및 블록체인 네트워크를 포함한다. 블록체인 네트워크는 일반적으로 복수개의 노드를 포함한다. 데이터 제공자와 데이터 구매자 간의 데이터 거래에 관한 정보는 블록체인 네트워크 내의 복수개의 노드에 저장될 수 있다. 데이터 거래 과정에서 데이터 구매자 또는 데이터 제공자 중의 하나 또는 둘은 모두 블록체인 네트워크로 스마트 계약을 발표할 수 있다. 해당 스마트 계약은 데이터 구매자가 데이터 제공자와 데이터 스트림을 구축하는 것을 트리거할 수 있고, 해당 데이터 스트림을 통해 데이터를 수신하고 비용을 지불할 수 있다.
스마트 계약은 블록체인을 기반으로 하는 데이터 거래의 중요한 특성 중 하나다. 스마트 계약의 개념은 Nick Szabo가 1994년 처음 제안한 것으로 스마트 계약을 "하나의 스마트 계약은 디지털 형식으로 정의된 승낙이며, 계약 참여자가 여기서 해당 승낙을 실행할 수 있는 프로토콜을 포함한다"라고 정의하였다. 스마트 계약은 계약을 정보화 방식으로 전파, 검증 또는 집행하기 위한 컴퓨터 프로토콜이다. 스마트 계약은 제3자가 없는 상황에서 신뢰할 수 있는 거래를 허용하며, 이러한 거래는 추적이 가능하고 일반적으로 불가역적(계약에 철회조건 등이 설정되는 경우를 제외)인 것이다.
보다 일반적으로, 스마트 계약을 계약 또는 계약의 조항에 따라 법률 관련 사건을 자동으로 실행, 제어 또는 보관하기 위한 컴퓨터 프로그램 또는 거래 계약으로 간주할 수 있다. 스마트 계약은 신뢰할 수 있는 중재인에 대한 필요성 감소, 중재 및 강제 집행 비용 감소, 사기 피해 감소, 악의적 행위 및 우발적 행위 감소를 목적으로 한다.
블록체인 기술을 기반으로 한 스마트 계약은 비용 효율성 측면에서 스마트 계약의 장점을 발휘할 수 있을 뿐만 아니라, 계약의 정상적인 수행에 대한 악의적인 행동의 간섭을 피할 수 있다. 스마트 계약을 디지털 형식으로 블록체인에 작성하고 블록체인 기술의 특성을 통해 저장, 읽기 및 실행의 전체 프로세스가 투명하고 추적 가능하며 변조되지 않도록 보장한다. 동시에, 블록체인 자체 합의 알고리즘을 통해 일련의 상태기 시스템을 구축하여 스마트 계약을 보다 효율적으로 실행할 수 있다. 다음으로, 도 1을 결부하여 블록체인 네트워크를 기반으로 하는 스마트 계약에 대해 자세히 설명하기로 한다.
도 1은 블록체인 네트워크를 기반으로 하는 예시적인 스마트 계약의 예시적인(10)을 설명하기 위한 예시도이다. 도 1에서 도시된 바와 같이, 시나리오(10)은: 자신의 차량(140)을 판매하려는 사용자-1(110), 차량을 구매하려는 사용자-2(120), 및 복수개의 노드(151~154)를 포함하는 블록체인 네트워크(150)을 포함한다. 유의해야 할 것은, 도 1의 시나리오(10)은 예시적인 설명만을 위한 것이며, 본 개시는 이에 한정되지 않는다. 기타 실시예에서 시나리오(10)은 더 많은 사용자, 아이템(예컨대 차량(140))을 포함할 수 있으며, 블록체인 네트워크(150)은 더 많거나 적거나 또는 다른 노드를 포함할 수 있다.
도 1에서 도시된 바와 같이, 사용자-1(110)은 자신의 차량(140)을 판매하려고 한다. 따라서, 단계 1에서, 사용자-1(110)은 스마트 계약(130)을 작성하고 블록체인 네트워크(150)으로 해당 스마트 계약(130)을 발표할 수 있다.
예를 들어, 일부 실시예에서 사용자-1(110)은 예컨대 이더리움 네트워크에서 등록하여 분배된 계정 ID(예컨대 123456)을 획득하고, 이더리움 네트워크에서 제공한 응용 프로그램을 통해 해당 네트워크 상의 노드(151~154) 중의 적어도 하나의 노드를 통해 작성한 스마트 계약(130)을 업로드하고 배치할 수 있다.
일부 실시예에서, 하나의 간단은 예시적인 스마트 계약(130)의 내용은 아래와 같을 수 있다.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >0.6.99 <0.8.0;
contract Sell_A_Car{
address payable public seller; ///멤버 변수"판매자"
address payable public buyer; ///멤버 변수"구매자"
address public car; ///멤버 변수"차량"
bytes32 passcode; ///멤버 변수"스마트락 비밀번호”
enum State { Created, Locked, Release, Inactive }
State public state; //멤버 변수"계약 상태”
modifier condition(bool _condition) {
require(_condition);
_;
}
modifier onlyBuyer() {
require(
msg.sender == buyer,
"구매자만 해당 방법을 호출할 수 있습니다."
);
_;
}
modifier onlySeller() {
require(
msg.sender == seller,
"판매자만 해당 방법을 호출할 수 있습니다."
);
_;
}
modifier inState(State _state) {
require(
state == _state,
"무효 상태"
);
_;
}
event Aborted(); /// 판매자가 거래를 중지하는 이벤트를 발표
event PurchaseConfirmed(); /// 구매자가 구매를 확인하는 이벤트를 발표
event CarReceived(); /// 구매자가 차량을 받았다는 이벤트를 발표
event SellerRefunded(); /// 판매자가 차량 비용을 받았다는 이벤트를 발표
///컨스트럭터 방법,계약을 초기화하며, 본 계약에서 언급한 구매자의 신분, 차량의 신분과 스마트락의 비밀번호를 지정한다.
constructor(address payable _car, bytes32 _passcode) payable {
seller = msg.sender;
car = _car;
passcode = _passcode;
}
/// 중지 구매 방법, 단지 판매자가 계약이 락되기 전에 호출이 가능하다.
function abort()
public
onlySeller
inState(State.Created)
{
emit Aborted();
state = State.Inactive;
}
/// 구매자가 구매를 확인하는 방법, 계약이 구매자에게 스마트락 비밀번호를 통지한다.
/// 거래는 반드시 10 이더리움 코인을 포함하여야 하며, 해당 이더리움 코인은 confirmReceived방법이 호출될 때까지 락된다.
function confirmPurchase() returns (bytes32)
public
inState(State.Created)
condition(msg.value == 1e19)
payable
{
emit PurchaseConfirmed();
buyer = msg.sender;
state = State.Locked;
return passcode;
}
/// 구매자가 차량을 받았다는 것을 확인하는 방법, 이는 락된 이더리움 코인을 릴리즈할 수 있다.
function confirmReceived()
public
onlyBuyer
inState(State.Locked)
{
emit CarReceived();
state = State.Release;
}
/// 해당 방법은 판매자로 비용을 반환하며, 즉 판매자에게 차량 비용을 지불하는 방법.
function refundSeller()
public
onlySeller
inState(State.Release)
{
emit SellerRefunded();
state = State.Inactive;
seller.transfer(address(this).balance)
}
}
상기 코딩의 대략적인 기능은 도 1 중의 "스마트 계약(130)"에서 설명된 바와 같이, 어느 한명의 구매자(예컨대, 사용자-2(120))가 사용자-1(110)로 10개의 이더리움 코인을 지불하였다면, 해당 스마트 계약은 자동적으로 스마트락의 비밀번호를 해당 구매자에게 알려주고, 해당 구매자의 수령 확인을 기다리며, 성공적으로 수령을 한 후, 블록체인 네트워크(150)은 발표된 이벤트를 통해 차량 소유자의 전환을 기록하고 해당 10개의 이더리움 코인을 사용자-1(110)에게 전해준다.
구체적으로, 해당 스마트 계약(130)을 초기화(또는 인스턴시에이션)할 때, 판매자(예컨대 사용자-1(110))는 예컨대 계약의 구조 방법 "constructor"을 통해 구매자의 블록체인 네트워크 주소(예컨대, 도 1 중의 123456), 차량의 블록체인 네트워크 주소(에컨대 도 1 중의 330524)와 차량 관련된 스마트락의 비밀번호(예컨대 상기 코딩 중의 멤버 변수 "passcode")를 설정할 수 있다.
그 외에, 단계 1 전에 또는 후에 또는 동시에, 사용자-1(110)은 단계 1a에서, 차량(140)를 하나의 공용 차고에 저장할 수 있으며, 스마트 계약(130)으로 제어할 수 있는 스마트락을 통해 해당 차량(140)을 락할 수 있으며(예컨대, 차량(140)을 스마트락으로 락된 차고에 저장할 수 있음), 해당 해제 비밀번호를 상술한 passcode로 설정할 수 있다. 기타 실시예에서, 해당 스마트락은 네트워킹 기능을 구비할 수 있으며, 스마트락(130)의 제어하에서 매번 거래전에 자동으로 새로운 비밀번호를 생성하여, 기존의 거래 실패로 인해 비밀번호가 최종 구매자 이외의 다른 사람에게 알려지는 것을 방지할 수 있다.
그 다음, 해당 스마트 계약(130) 자체는 예를 들어 인터넷 홈페이지를 통해 발표하여 대중에게 알려줄 수 있다.
잠시 뒤에, 단계 2에서, 차량을 구매하려는 사용자-2(120)는 인터넷 홈페이지를 통하거나 또는 직접 블록체인 네트워크(150)에서 사용자-1(110)가 발표한 스마트 계약(130)을 찾을 수 있고, 해당 스마트 계약(130)을 통해 관련 정보를 알 수 있으며(예컨대, 스마트 계약(130)과 관련된 인터넷 홈페이지를 통해 알거나, 기타 실시예에서는 스마트 계약(130)에 직접 해당 차량의 조건을 명확하게 기재할 수 있음), 해당 차량을 구매할 의향이 있을 때, 해당 스마트 계약(130)에 서명할 수 있다. 구체적으로, 사용자-2(120)은 상술한 “confirmPurchase()" 방법을 호출하는 것을 통해, 해당 계약(130)을 서명할 수 있다.
사용자-2(120)의 서명(또는 방법 호출)을 수신한 후, 단계 3에서, 블록체인 네트워크(150) 중의 복수개의 노드는 해당 거래에 대하여 검증을 진행할 수 있고, 예컨대 사용자-1(110)이 차량 주인이 맞는지 여부(예컨대 차량 ID 330524와 관련된 거래 기록을 검증하는 것), 사용자-2(120)의 계좌에 지불할만한 충족한 돈이 있는지 여부(예컨대 상기 코딩 중의 confirmPurchase()방법 중의 수식어 condition(msg.value == 1e19)를 통해 검증하는 것)를 검증할 수 있으며, 검증 성공인 경우에, 사용자-2(120)으로 자동으로 스마트락의 해제 비밀번호를 발송하고, 사용자-2(120)의 계좌에 대응되는 금액이 감소되는 것을 기록하고, 동시에 사용자-1(110)의 계좌에 대응되는 금액이 추가되는 것을 기록한다.
단계 4에서, 사용자-2(120)는 블록체인 네트워크(150)에서 스마트락 해제 비밀번호를 획득한 후, 획득한 스마트락 해제 비밀번호를 통해 차량(140)을 가져간다. 또 다른 실시예에서, 사용자-2(120)는 차량(140)을 가져갈 수 있는 것을 확정하였을 때, 거래 성공을 확인(예컨대 상술한 코딩에서 도시된 바)하고, 대응되는 계좌이체 작업을 확인한다.
일부 실시예에서, 블록체인 네트워크(150)는 해당 거래 정보를 복수개의 노드(151~154) 중의 적어도 하나의 노드에 기록할 수 있다. 예를 들어, 상술한 코딩 중의 복수개의 이벤트를 발표할 때, 각 노드에 대응되는 이벤트를 기록하여 거래 프로세스에 대하여 기록을 진행한다.
설명해야 할 것은, 비록 상기에서 거래에 사용되는 스마트 계약의 하나의 간단한 예시를 기재하였지만, 본 개시는 이에 한정되지 않는다. 사실상, 스마트 계약(130)에 대하여 수정을 진행하여, 더 많거나, 다른 변수 및/또는 방법 등을 포함하게 할 수 있다. 아래에 기재된 바와 같이, 데이터 거래의 시나리오에 사용될 수도 있다.
예컨대, 데이터 제공자를 사용자-1(110)로 하고, 데이터 구매자를 사용자-2(120)로 하며, 스마트 계약에서 예컨대 변수(예컨대 방법 또는 변수 중의 파라미터)를 통해 쌍방간의 데이터 거래에 대한 디테일을 규정할 수 있다. 예를 들어(이에 한정하지 않음), 어떻게 데이터 스트림을 구축하는지, 데이트 스트림의 가격/가격 결정 방식이 어떻게 되는지, 데이터 스트림을 어떻게 결제하는지, 데이트 스트림을 어떻게 종료하는지, 이견이 발생되었을 때 어떻게 해결하는지, 계약 해제 조건이 무엇인지 등등이다. 블록체인 네트워크(150)을 사용하여 이러한 데이터 거래를 구현한 상황에서, 거래 데이터의 완전성 유지의 어려움, 거래의 불투명성, 거래 이력 추적의 어려움, 관련 정보의 수정의 용이성 등의 문제를 보다 쉽게 해결할 수 있다.
하지만, 일부 상황에서, 데이터 구매자가 동시에 복수개의 데이터 제공자와 거래를 진행하여 충분한 데이터를 획득하고자 할 때, 예를 들어, 생산 설비 제공자(데이터 구매자로서)가 생산 설비를 사용하는 여러 공장(데이터 제공자로서)에서 해당 생산 설비의 실시간 생산 데이터를 획득하여 해당 생산 설비를 개선하고자 하는 경우, 해당 생산 설비 제공자는 동시에 여러 공장과 데이터 스트림을 구축하고 각 공장의 데이터를 획득하고 각 데이터 스트림에 대해 지불을 진행할 수 있다. 이런 경우, 특정 데이터 공급자가 일정 기간 동안 데이터를 제공하지 않는 문제가 있을 수 있다. 예를 들어, 생산 계획의 조정으로 인해 생산 라인의 가동 중단으로 데이터 공급자의 생산 장비는 장비 운영 데이터를 업로드할 수 없게 된다. 또 예를 들어, 산업 생산 장비가 고장으로 인해 제대로 작동하지도 못하고 장비 운영 데이터를 업로드하지도 못할 수 있다. 상술한 상황은 모두 데이터 스트림의 단절을 초래할 수 있으며, 데이터 구매자의 정상적인 업무에 영향을 미칠 수 있다.
이 문제를 해결하는 한 가지 방법은: 데이터 구매자가 충분한 데이터를 얻을 수 있도록 더 많은 데이터 제공자와 계약을 체결하여, 장비 고장으로 인한 데이터 손실을 방지하는 것이다. 예를 들어, 데이터 구매자는 정상적인 상황에서 2개의 데이터 제공자의 데이터가 필요할 수 있지만 데이터 제공자 중 하나 또는 둘 이상의 데이터 제공자의 스트림이 단절되었을 때 충분한 데이터를 얻을 수 있도록, 데이터 구매자는 일반적으로 3개 이상의 데이터 제공자와 데이터 스트림을 구축하고 이러한 데이터 스트림에 대해 지불을 진행한다.
그러나 이는 데이터 구매자가 한방면으로는 추가 비용을 지불해야 하고, 다른 한방면으로는 데이터 구매자가 제한된 처리 능력으로 인해 구매한 실시간 데이터를 완전히 처리하지 못해 비용과 데이터 자원을 낭비할 수 있다는 새로운 문제가 발생할 수 있다.
따라서, 본 개시의 실시예에 따른 실시간 데이터 통신에 사용되는 방안을 제출한다. 이하에서는 도 2~도 5를 결부하여 해당 기술방안을 상세하게 설명하기로 한다.
도 2는 본 개시의 실시예에 따른 블록체인을 기반으로 하는 데이터 거래 시나리오(20)의 예시도이다. 해당 예시 시나리오(20)에서, 4개의 데이터 제공자(210-1 내지 210-4(아래에서는 모두 데이터 제공자 또는 데이터 송신자(210)으로 지칭함)와 3개의 데이터 구매자(220-1 내지 220-3(아래에서는 모두 데이터 구매자 또는 데이터 수신자(220)으로 지칭함)가 존재할 수 있다. 데이터 제공자(210)와 데이터 구매자(220)는 블록체인 네트워크(250)을 통해 데이터 거래를 진행할 수 있다. 블록체인 네트워크(250)는 서로 통신하는 4개의 노드(251 내지 254)를 포함할 수 있다. 하지만, 본 개시는 이에 한정되지 않는다. 다른 실시예에서, 더 많거나 더 적거나 다른 데이터 제공자, 데이터 구매자 및/또는 블록체인 네트워크(250)의 노드가 존재할 수도 있다.
구체적으로, 각 데이터 제공자(210-1 내지 201-4)는 각각 블록체인 네트워크(250)로 스마트 계약을 발표할 수 있고, 해당 스마트 계약은 데이터 거래와 관련된 정보를 포함할 수 있으며, 예컨대 데이터 제공자가 제공한 데이터 스트림의 유형, 가격, 데이터 스트림 구축 방법 등 내용을 포함할 수 있다. 각 데이터 구매자(220-1 내지 220-3)은 자신의 수요에 따라 대응되는 스마트 계약을 체결할 수 있으며, 대응되는 하나 또는 복수개의 데이터 제공자와 거래를 진행할 수 있다. 일부 실시예에서, 이러한 데이터 거래는 데이터 구매자와 데이터 제공자 간에 구축된 데이터 스트림을 통해 구현된다.
이와 비슷하게, 데이터 구매자(220-1 내지 220-3)도 블록체인 네트워크(250)로 스마트 계약을 발표하여 대응되는 실시간 데이터 스트림을 구매할 수 있다. 이때, 데이터 제공자(210)는 자신의 능력과 의향에 따라 대응되는 스마틀 계약을 선택하여 데이터 스트림을 구축하는 것을 통해 데이터 거래를 구현할 수 있다. 일부 기타 실시예에서, 데이터 제공자(210-1 내지 210-4)와 데이터 구매자(220-1 내지 220-3)는 각자 자신의 스마트 계약을 발표할 수 있으며, 각자 실시간 데이터를 제공하거나 구매할 수 있다.
상술한 바와 같이, 데이터 구매자(220)이 장비 고장으로 인한 데이터 손실을 피하기 위해 실제 필요한 수량보다 많은 데이터 제공자(210)과 계약을 체결하는 경우, 데이터 구매자(220)은 한방면으로 추가 비용을 지불해야 하고, 다른 한방면으로 데이터 구매자(220)은 제한된 처리 능력으로 인해 구매한 데이터를 완전히 처리하지 못해 비용 낭비를 초래할 수 있다.
상기 문제점을 적어도 부분적으로 해결하거나 완화하기 위하여, 본 개시의 실시예에 따른 실시간 데이터 통신 방법, 전자 기기 및 시스템을 제공한다. 대체적으로, 해당 방안은 필요한 정격 자원보다 많은 자원을 가진 자원 풀을 설정하여, 특정 자원이 단절될 때 자동으로 다른 자원으로 전환하여 언제든지 자원의 요구를 충족하는 데이터 제공자와 계약을 체결할 수 있다. 아래에서는 도 3과 도 4를 결부하여 자원 풀을 구축하는 두 가지 실시 예를 각각 설명하기로 한다.
도 3은 본 개시의 실시예에 따른 실시간 데이터 거래 프로세스의 예시적인 메시지 흐름을 도시한 예시도이다. 도 3에서 도시된 바와 같이, 해당 방법은 예시적으로 형성 단계, 사용 단계, 조정 단계 및 해제 단계인 4개의 단계를 포함한다. 그러나 이러한 단계는 표시된 순서대로 나타나는 것이 아니라 순서를 바꿀 수 있다는 점에 유의해야 한다. 예를 들어, 조정 단계 또는 사용 단계 전에 해지 단계가 나타날 수 있으므로 데이터 구매자 및/또는 데이터 제공자는 스마트 계약의 규정을 만족하는 경우 언제든지 거래를 종료할 권리가 있다. 또한, 후술한 바와 같이, 각 단계 중의 절차는 예를 들어 교차하여 실행될 수 있기에, 본 개시의 실시예는 도 3에 예시되는 단계 실행 순서에 한정되지 않는다.
또한, 도 3에 도시된 실시예는 도 2 중의 데이터 구매자(220-1), 데이터 제공자(210-1), 데이터 제공자(210-2) 및 블록체인 네트워크(250)만을 포함하지만, 본 개시는 이에 한정되지 않으며, 본 개시는 독자가 본 개시의 기술적 내용을 이해하는데 도움이 되는 용도로만 사용된다. 다른 실시예에서는 더 많은 데이터 구매자 및/또는 데이터 제공자를 포함할 수 있다.
이하에서는, 도 2를 결부하여 도 3에 도시된 각 단계를 상세하게 설명하기로 한다.
형성 단계
단계 S310에서, 데이터 구매자(220-1)는 블록체인 네트워크(250)로 자원풀 계약(또는 더 구체적으로는 데이터 제공자 계약)을 발표할 수 있고, 해당 자원풀 계약은 제1 수량(해당 예시에서는 2이지만, 이에 한정되지 않음)의 자원(또는 더 구체적으로는 데이터 제공자임)을 포함하는 자원풀을 구축하는 것을 트리거할 수 있다. 일부 실시예에서, 자원풀 계약은: 데이터 제공자의 식별자 리스트, 데이터 제공자의 전환 주기, 데이터 스트림의 가격 및/또는 가격 결정 방식, 데이터 제공자의 자원의 풀 진입 방법, 데이터 제공자의 선택 방법, 및 데이터 스트림의 구축 방법 중의 적어도 하나를 포함할 수 있다.
예컨대, 아래 표 1에는 해당 스마트 계약에 포함될 수 있는 멤버 변수와 멤버 방법을 예시하였다.
스마트 계약멤버 설명
멤버 변수 최대 데이터 제공자 수량
정격 데이터 제공자 수량
데이터 제공자 식별자 리스트
데이터 제공자 전환 주기(선택 가능)
데이터 스트림 제공자 수량
데이터 제공자 리스트
데이터 스트림 가격과 가격 결정 방식
멤버 방법 데이터 제공자의 자원의 풀 진입 방법() ///자원의 풀 진입 규칙을 포함
데이터 제공자의 선택 방법() ///데이터 제공자 리스트를업데이트
데이터 스트림 구축 방법() ///데이터 제공자와 데이터 구매자 간에 데이터 스트림을 구축하는데 사용됨
표 1: 예시적인 자원풀 계약의 멤버 리스트
본 실시예에서, 데이터 제공자를 자원으로 할 수 있고, 즉 멤버 변수 "최대 데이터 제공자 수량"제1 수량으로 할 수 있으며, 이는 스마트 계약에 대응되는 자원 풀이 용납할 수 있는 자원의 수량을 제한하는데 사용된다. 또한, 멤버 변수 "정격 데이터 제공자 수량"을 제2 수량으로 할 수 있으며, 이는 자원 풀에서 동시에 작업(또는 활성화)할 수 있는 자원의 예상 수량을 정의하는데 사용되고, 일반적으로 제1 수량보다 작다. 자원 풀이 정상적으로 작동할 때, 일반적으로 적어도 하나의 자원이 예비 자원으로 사용되며, 데이터 스트림이 단절될때 데이터 구매자(예컨대 데이터 구매자(220-1))와 바로 데이터 스트림을 구축하고 실시간 데이터를 제공하여 데이터 구매자(220-1)이 직면할 수 있는 데이터 스트림 단절 문제를 해결하거나 최소화할 수 있다. 또한 데이터 거래를 위한 데이터 스트림이 실제로 구축되지 않았기에, 최소 비용으로 데이터 제공자를 자원풀에 요청할 수 있다. 즉, 자원풀 중의 자원이 데이터 제공자(데이터 송신자)에 해당하는 경우, 데이터 구매자(또는 데이터 수신자)는 자원풀 중의 제2 수량의 자원(즉, 데이터 제공자 또는 데이터 송신자)와 데이터 스트림을 구축할 수 있으며, 해당 제2 수량은 자원풀의 최대 데이터 제공자 수량(즉, 제1 수량)보다 작을 수 있다. 따라서 자원 자체도 데이터 제공자에 대응될 수 있기에, 데이터 구매자(또는 데이터 수신자)가 자원풀 중의 제2 수량의 자원에 대응되는 데이터 제공자(또는 데이터 송신자)와 데이터 스트림을 구축한다고 간주할 수 있다.
도 3을 다시 살펴보면, 단계 S315a와 단계 S315b에서, 데이터 제공자(210-1) 와 제공자(210-2)는 각각 데이터 구매자(220-1)가 발표한 해당 자원풀 계약을 체결할 수 있다. 예를 들어,"데이터 제공자의 자운풀 진입 진입 방법()"을 호출하여 해당 데이터 제공자를 자원풀에 추가하는 것을 구현할 수 있다. 주의해야 할 것은,이 두개의 단계는 동시에 수행될 수도 있고, 또는 적어도 부분이 순차적으로 수행될 수도 있다.
단계 S320에서, 블록체인 네트워크(250)는 가입한 데이터 제공자(210-1)과 데이터 제공자(210-2)에 따라 자원풀을 형성한다. 도 3에서 예시된 실시예에서, 예를 들어, 발표된 자원풀 계약에서 "최대 데이터 제공자 수량"을 2로 제한하였기에, 자원풀에는 데이터 제공자(210-1)과 데이터 제공자(210-2) 2개의 자원을 포함할 수 있다. 일부 실시예에서, 그 다음으로는 자원풀의 사용 단계로 진입할 수 있다.
또한, 표 1에서 도시된 바와 같이, 데이터 제공자의 풀 진입 방법은 풀 진입 규칙을 포함할 수 있고, 이는 자원풀에 가입하는 데이터 제공자가 만족해야하는 규칙을 지정할 수 있다. 예를 들어, 해당 규칙은 데이터 제공자가 제공한 데이터의 내용, 품질, 가격 또는 데이터 제공자의 평점과 관련이 있을 수 있다.예를 들어, 풀 진입 규칙은 데이터 제공자가 제공한 데이터의 내용이 관련 요구 사항을 충족해야 하며, 데이터의 품질 또는 데이터 제공자의 평점이 특정 임계값보다 높거나 데이터 가격이 특정 임계값보다 낮아야 한다. 자원풀을 형성할 때 데이터 제공자가 자원풀에 가입하도록 주도하거나 블록체인 네트워크(250)이 풀 진입 규칙을 충족하는 데이터 제공자에게 자원풀 가입 요청을 보낼 수 있으며, 데이터 제공자가 자원풀 가입에 동의한 경우 데이터 제공자의 식별자를 자원풀 계약의 데이터 제공자 리스트에 추가하여 데이터 제공자를 자원풀에 추가한다.또한 풀 진입 규칙을 충족하는 데이터 제공자가 자원풀 가입에 동의하지 않는 경우 블록체인 네트워크(250)은 풀 진입 규칙을 충족하는 다른 데이터 제공자를 찾아 자원풀 가입 요청을 보낼 수 있다. 해당 프로세스는 자원풀에 자원풀 계약에 지정된 제1 수량의 자원이 포함될 때까지 반복될 수 있다.
사용 단계
단계 S330에서, 블록체인 네트워크(250)의 하나 또는 복수개의 노드 또는 데이터 구매자(220-1)은 자원풀 계약 중의 데이터 제공자 선택 방법을 호출하여 제2 수량의 데이터 제공자를 선택할 수 있다. 일부 실시예에서, 제2 수량은 제1 수량보다 작을 수 있다. 도 3에서 예시된 실시예에서, 블록체인(250)은 데이터 제공자(210-1)을 선택할 수 있다. 일부 실시예에서 데이터 제공자 선택 방법은 예를 들어 데이터 품질을 기반으로 하는 선택 방법, 데이터 가격을 기반으로 하는 선택 방법, 데이터 제공자의 평점을 기반으로 하는 선택 방법 등일 수 있다. 다른 일부의 실시예에서 데이터 제공자 선택 방법은 랜덤 선택 방법일 수도 있다.
다음으로, 단계 S335a 및/또는 S335b에서 블록체인(250)은 각각 데이터 구매자(220-1)와 데이터 제공자(210-1)이 서로 데이터 스트림을 구축하도록 지시할 수 있다. 예를 들어, 자원풀 중의 "데이터 스트림 구축 방법()"을 호출하여 둘 사이의 데이터 스트림을 구축할 수 있다. 예를 들어, 해당 방법에서는 데이터 구매자(220-1) 또는 데이터 제공자(210-1)에게 상대방의 정보를 제공하고 이에 따라 상대방과의 데이터 스트림을 구축할 수 있다. 다른 실시예에서 데이터 스트림을 모니터링해야 하는 경우, 블록체인 네트워크(250)은 데이터 구매자(220-1) 및 데이터 제공자(210-1)과 각각 데이터 스트림을 구축하고 두 데이터 스트림 간에서 릴레이를 진행하여 데이터 스트림을 모니터링할 수 있기에, 예를 들어 이에 따라 공평하고 개방적이며 공정한 과금 처리(예컨대 데이터 스트림이 전송되는 데이터량, 단절이 있는지 여부 등)를 수행할 수 있다.
단계 S340에서, 데이터 구매자(220-1)는 구축된 데이터 스트림을 통해 데이터 제공자(210-1)로부터 실시간 데이터를 수신하고 대응되는 처리를 진행할 수 있다.
상술한 실시예에서, 데이터 스트림을 구축하는 단계 S335a 및/또는 S335b는 블록체인 네트워크(250)이 자원풀을 형성하는 단계 S320 이후에 수행된다. 그러나 본 개시는 이에 한정되지 않는다. 실제로 다른 실시예에서 스트림을 구축하는 단계 S335a 및/또는 S335b는 그 전에 수행하거나 또는 자원풀을 형성하는 것과 동시에 수행할 수 있다. 예컨대, 데이터 구매자(220-1)가 자원풀 계약을 발표하기 전이거나 또는 동시에, 데이터 제공자(210-1)와 실시간 데이터 전송을 위한 데이터 스트림을 구축한 후, 예컨대 형성 단계를 통해 자원풀 계약을 보완하고, 데이터 스트림을 구축한 데이터 제공자(210-1)을 해당 자원풀로 납입하여, 자원풀 중의 일 자원으로 할 수 있다.
조정 단계
조정 단계에서, 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드가 자원 전환 조건을 충족한다고 확정하면, 자원풀 계약 중의 데이터 제공자 선택 방법을 다시 호출하여 제2 수량의 데이터 제공자를 다시 선택할 수 있다. 일부 실시예에서 자원 전환 조건은 자원 전환 주기일 수 있다. 또 다른 실시예에서 자원 전환 조건은 데이터 스트림의 단절일 수 있다. 해당 데이터 스트림의 단절은 데이터 제공자의 장비 고장으로 인해 발생할 수 있다.
예컨대, 도 3의 실시예에서, 단계 S350에서 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드에서 예컨대 도 5와 같은 방식으로 데이터 스트림의 단절이 발생되었다는 것을 검측하였다면, 단계 S355에서 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드는 예를 들어 "데이터 제공자 선택 방법()"을 호출하여 데이터 제공자(예컨대 데이터 제공자(210-2))를 다시 선택할 수 있다.
다음으로, 단계 S335a 및 단계 S335b와 마찬가지로, 단계 S360a 및/또는 S360b에서 블록체인(250)의 하나 또는 복수개의 노드는 각각 데이터 구매자(220-1) 및 데이터 제공자(210-2)를 지시하여 데이터 스트림의 일부를 구축하되 최종적으로 블록체인 네트워크를 경과하여 릴레이되는 데이터 스트림을 구축하도록 하거나, 또는 일측을 지시하여 다른 일측과 직접 데이터 스트림을 구축하도록 한다.
단계 S365에서, 데이구 구매자(220-1)는 새로 구축된 데이터 스트림을 통해 다시 선택된 데이터 구매자(210-2)로부터 실시간 데이터를 수신할 수 있다.
해제 단계
단계 S370a 및 단계 S370b에서 데이터 구매자(220-1) 및/또는 데이터 제공자(210-2)는 블록체인 네트워크(250)로 자원풀 계약 해지를 위한 요청을 송신할 수 있다. 예를 들어, 일부 실시예에서 데이터 제공자(210-2)가 유지보수를 하기 위해 단절을 해야 하는 경우, 해당 자원풀에서 잠시 탈퇴하는 것을 고려할 수 있으므로 자원풀 계약의 해제를 단계 S370b에서 시작할 수 있다. 다른 일부 실시예에서, 데이터 구매자(220-1)가 기기를 일시적으로 유지보수해야 할 때, 역시 자원풀 계약의 해제를 시작할 수 있다. 물론 이러한 자원풀 계약 해제 요청은 자원풀 계약 기간과 같은 이전에 발행된 자원풀 계약에 존재할 수 있는 관련 규정을 위반해서는 안 된다. 또한, 다른 실시예에서 데이터 구매자(S220-1)가 필요한 데이터를 획득한 후 자원풀 계약 해제를 시작할 수도 있다.
단계 S375에서, 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드는 데이터 구매자(220-1) 및/또는 데이터 제공자(210-2)가 계약 해제 조건을 만족하는지 여부를 판단할 수 있다. 예를 들어, 데이터 구매자(220-1)의 경우 계약 해제 조건은 데이터 구매자가 데이터에 대하여 지불했는지 여부일 수 있다. 데이터 제공자(210-2)의 경우 계약 해제 조건은 데이터 제공자가 충분한 데이터를 제공했는지 여부 등이 될 수 있다. 또한, 상기에서 설명한 대로 양자가 자원풀 계약 기간과 같은 다른 계약 해제 조건을 충족하는지 여부를 확인할 수도 있다.
블록체인 네트워크(250) 중의 하나 또는 복수개의 노드가 데이터 구매자(220-1) 및/또는 데이터 제공자(210-2)가 계약 해제 조건을 만족한다고 판단하는 경우, 단계 S380a 및/또는 S380b에서 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드는 데이터 구매자(220-1) 및/또는 데이터 제공자(210-2)에 계약을 해지하고 둘 사이의 데이터 스트림을 제거하도록 지시할 수 있다. 예를 들어, 상기에서 언급한 둘 사이에 데이터 스트림이 직접 구축된 경우 둘 중 하나가 데이터 스트림을 제거하도록 지시할 수 있고, 데이터 스트림이 블록체인 네트워크(250)을 통해 구축된 경우 둘 다 데이터 스트림을 제거하도록 각각 지시할 수 있다.
단계 S385에서 데이터 구매자(220-1)과 데이터 제공자(210-2) 사이의 데이터 스트림이 제거되고 계약이 종료된다.
이와 같이, 도 3에서 도시된 데이터 통신 방법을 이용하여, 자원풀을 구축하는 것을 통해 데이터 구매자(220-1)에게 예비 자원(예컨대 데이터 제공자(210-2)의 예비 데이터 스트림)을 제공하여 특정 데이터 스트림(예컨대 데이터 제공자(210-1)의 데이터 스트림)이 단절된 상황에서 바로 새로운 데이터 스트림을 구축할 수 없는 것을 방지할 수 있다. 또한 이렇게 구축된 데이터 스트림의 관련 정보는 블록체인 네트워크에 유지되어 추적성이 우수하고 계약 당사자가 데이터 거래 업무를 관리 및 유지 관리하는데 편리하다.
도 4는 본 개시의 다른 실시예에 따른 실시간 데이터 거래 프로세스의 메시지 흐름을 도시하였다. 도 3과 유사하게 해당 방법은 형성 단계, 사용 단계, 조정 단계 및 해제 단계 등 4개의 단계로 구성된다. 그러나 이러한 단계는 표시된 순서대로 나타나는 것이 아니라 순서를 바꿀 수 있다는 점에 유의해야 한다. 예를 들어, 조정 단계 또는 사용 단계 전에 해지 단계가 나타날 수 있으므로 데이터 구매자 및/또는 데이터 제공자는 스마트 계약의 규정을 만족하는 경우 언제든지 거래를 종료할 권리가 있다. 또한, 도 4에 도시된 실시예는 도 2 중의 데이터 구매자(220-1), 데이터 제공자(210-1), 데이터 제공자(210-2) 및 블록체인 네트워크(250)만을 포함하지만, 본 개시는 이에 한정되지 않으며, 본 개시는 독자가 본 개시의 기술적 내용을 이해하는데 도움이 되는 용도로만 사용된다. 다른 실시예에서는 더 많은 데이터 구매자 및/또는 데이터 제공자를 포함할 수 있다.
이하에서는, 도 2를 결부하여 도 4에 도시된 각 단계를 상세하게 설명하기로 한다.
형성 단계
단계 410에서, 데이터 구매자(220-1)는 블록체인 네트워크(250)로 자원풀 계약을 발표할 수 있다. 도 3과 유사하게, 해당 자원풀 계약은 제1 수량(해당 예시에서는 2이지만, 이에 한정되지 않음)의 자원(또는 더 구체적으로는 데이터 스트림임)을 포함하는 자원풀(또는 더 구체적으로는 데이터 스트림 계약풀, 데이터 스트림풀)을 구축하는 것을 트리거할 수 있다. 일부 실시예에서, 자원풀 계약은: 데이터 스트림 계약의 식별자 리스트, 데이터 스트림 계약의 전환 주기, 데이터 스트림 계약의 풀 진입 방범, 및 데이터 스트림 계약의 선택 방법을 포함할 수 있다. 다른 실시예에서, 자원풀 계약은 현재 데이터 스트림의 수량과 현재 데이터 스트림 리스트 중의 하나 또는 복수개를 추가 또는 대체적으로 포함할 수 있다. 데이터 스트림 계약의 풀 진입 방법은 데이터 스트림의 풀 진입 조건 또는 규칙을 포함할 수 있다.
예컨대, 아래 표 2에는 해당 스마트 계약에 포함될 수 있는 멤버 변수와 멤버 방법을 예시하였다.
스마트 계약멤버 설명
멤버 변수 최대 데이터 스트림 계약 수량
정격 데이터 스트림 계약 수량
데이터 스트림 계약 식별자 리스트
데이터 스트림 계약 전환 주기(선택 가능)
현재 데이터 스트림 수량
현재 데이터 스트림 리스트
멤버 방법 데이터 스트림 계약의 풀 진입 방법() ///풀 진입 규칙을 포함
데이터 스트림 계약의 선택 방법() ///데이터 스트림 계약의 리스트를 업데이트
표 2: 예시적인 자원풀 계약의 멤버 리스트
표 1에 표시된 멤버 리스트와 다르게, 표 2의 자원은 데이터 제공자가 아닌"데이터 스트림 계약(또는 데이터 스트림)"일 수 있다. 즉, 도 4에 도시된 실시예에서 데이터 구매자(220-1)이 구축하려는 자원풀은 데이터 제공자에 대한 자원풀이 아니라 데이터 스트림에 대한 자원풀이다. 또한 표 1의 멤버 방법에 비해 표 2의 멤버 방법은 데이터 스트림 구축 방법()이 없다. 이는 예를 들어 아래 설명과 같이 각 데이터 제공자가 제공하는 데이터 스트림 계약에서 해당 방법을 구현할 수 있기 때문이다.
도 3에 도시된 실시예와 유사하게, 자원풀 중의 자원이 데이터 스트림 계약(또는 데이터 스트림)에 대응하는 경우, 데이터 구매자(또는 데이터 수신자)는 해당 데이터 제공자(또는 데이터 송신자)와 데이터 스트림을 구축할 수 있으며, 이러한 데이터 제공자는 자원풀의 제2 수량의 데이터 스트림 계약(또는 데이터 스트림)에 해당한다.
단계 S415a 및 S415b에서, 데이터 제공자(210-1)와 데이터 제급자(210-2)는 각각 자기의 데이터 스트림 계약을 블록체인 네트워크(250)에 발표할 수 있다. 일부 실시예에서, 해당 데이터 스트림 계약은 데이터 스트림 계약의 식별자, 데이터 제공자의 식별자, 데이터 스트림의 가격 및/또는 가격 결정 방식, 내용 정보, 데이터 스트림의 구축 방법 및 데이터 스트림의 풀 진입 방법 중 적어도 하나를 포함할 수 있다.
예컨대, 아래 표 3에는 해당 스마트 계약에 포함될 수 있는 멤버 변수와 멤버 방법을 예시하였다.
스마트 계약멤버 설명
멤버 변수 데이터 스트림 계약의 식별자
데이터 제공자의 식별자(선택 가능)
데이터 스트림의 가격 및/또는 가격 결정 방식
내용 정보
멤버 방법 데이터 스트림의 구축 방법()
데이터 풀의 진입 방법()
표 3: 예시적인 자원풀 계약의 멤버 리스트
단계 S420에서, 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드는 각각 데이터 제공자(210-1)와 데이터 제급자(210-2)가 발표한 데이터 스트림 계약이 자원풀 계약 중의 풀 진입 조건을 만족하는지 여부를 판단할 수 있다. 예를 들어, 데이터 구매자(220-1)가 발표한 자원풀 계약의"데이터 스트림 계약의 풀 진입 방법"(표 2 참조)은 데이터 제공자(210-1) 및/또는 (210-2)가 발표한 데이터 스트림 계약 중의 "데이터 풀의 진입 방법"(표 3 참조)을 호출하는 것을 통해해당 자원풀에 진입할 수 있는지 여부를 결정하거나, 또는 반대로(이 두 방법의 구체적인 구현에 따라) 호출하여 해당 자원풀에 진입할 수 있는지 여부를 결정한다.
데이터 제공자(210-1)와 데이터 제공자(210-2)가 발표한 데이터 스트림 계약이 자원풀 계약의 풀 진입 조건을 만족하는 경우, 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드가 단계 S425에서 자원풀(또는 데이터 스트림 계약 풀, 데이터 스트림 풀)을 형성할 수 있다. 해당 예시에서, 데이터 스트림 계약 풀은 데이터 제공자(210-1)과 데이터 제공자(210-2)에서 제공하는 데이터 스트림 계약을 포함할 수 있다.
일부 실시예에서, 풀 진입 규칙 조건 또는 규칙은 데이터 제공자가 제공한 데이터의 내용, 품질, 가격 또는 데이터 제공자의 평점과 관련이 있을 수 있다. 예를 들어, 풀 진입 조건 또는 규칙은 데이터 스트림의 내용이 관련 요구 사항을 만족하거나 데이터 스트림의 가격이 특정 임계값보다 낮을 수 있다. 또한 도 3에 도시된 실시예와 같이, 자원풀을 형성할 때 데이터 제공자의 데이터 스트림 계약 자체가 자원풀에 진입하는 것을 주동적으로 요청하거나 블록체인 네트워크(250)이 풀 진입 규칙을 만족하는 데이터 제공자의 데이터 스트림 계약으로 자원풀 진입 요청을 보내고, 데이터 스트림 계약이 자원풀 진입에 동의한 경우 데이터 스트림 계약의 식별자를 자원풀 계약의 데이터 스트림 계약 식별자 리스트에 추가하여 자원풀에 데이터 스트림 계약을 추가할 수 있다. 또한 풀 진입 규칙을 만족하는 데이터 스트림 계약이 자원 풀 진입에 동의하지 않는 경우, 블록체인 네트워크(250)은 풀 진입 규칙을 만족하는 또 다른 데이터 스트림 계약을 찾아 풀 진입 방법을 호출할 수 있다. 해당 프로세스는 자원풀에 자원풀 계약에 지정된 제1 수량의 자원(즉, 데이터 스트림 계약)이 포함될 때까지 반복될 수 있다.
사용 단계
단계 S430에서, 블록체인 네트워크(250)의 하나 또는 복수개의 노드는 자원풀 계약 중의 데이터 스트림 선택 방법을 호출하여 제2 수량의 데이터 스트림 계약을 선택할 수 있다. 일부 실시예에서, 제2 수량은 제1 수량보다 작을 수 있다. 도 4에서 예시된 실시예에서, 블록체인(250) 중의 하나 또는 복수개의 노드는 데이터 제공자(210-1)가 제공한 데이터 스트림 계약을 선택할 수 있다. 일부 실시예에서 데이터 스트림 선택 방법은 예를 들어 데이터 품질을 기반으로 하는 선택 방법, 데이터 가격을 기반으로 하는 선택 방법, 데이터 제공자의 평점을 기반으로 하는 선택 방법 등일 수 있다. 기타 실시예에서 데이터 스트림 선택 방법은 랜덤 선택 방법일 수도 있다.
단계 S435a 및 S435b에서 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드는 각각 데이터 구매자(220-1)와 데이터 제공자(210-1)이 서로 데이터 스트림을 구축하도록 지시할 수 있다. 예를 들어, 데이터 제공자(210-1)에서 발표한 자원풀 스트림 계약 중의 "데이터 스트림 구축 방법()"을 호출하여 둘 사이의 데이터 스트림을 구축할 수 있다. 도 3에 도시된 실시예와 유사하게 데이터 스트림은 블록체인 네트워크(250)을 통해 구축되거나 둘 사이에 직접 구축될 수 있다.
단계 S440에서, 데이터 구매자(220-1)은 구축된 데이터 스트림을 통해 데이터 제공자(210-1)로부터 실시간 데이터를 수신하고 대응되는 처리를 진행할 수 있다.
조정 단계
블록체인 네트워크(250) 중의 하나 또는 복수개의 노드가 자원 전환 조건을 충족한다고 확정하면, 자원풀 계약 중의 데이터 스트림 계약 선택 선택 방법을 다시 호출하여 제2 수량의 데이터 스트림 계약을 다시 선택할 수 있다. 일부 실시예에서 자원 전환 조건은 자원 전환 주기일 수 있다. 또 다른 실시예에서 자원 전환 조건은 데이터 스트림의 단절일 수 있다. 해당 데이터 스트림의 단절은 데이터 제공자의 장비 고장으로 인해 발생할 수 있다.
도 4의 실시예에서, 단계 S450에서 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드 또는 데이터 구매자(220-1)에서 도 5에 도시된 방식을 통해, 데이터 구매자(220-1)와 데이터 제공자(210-1) 간의 데이터 스트림이 단절하였다는 것을 검측하였다면, 단계 S455에서 블록체인 네트워크(250) 중의 하나 또는 복수개의 노드는"데이터 스트림 계약 선택 방법()"을 호출하여 데이터 제공자(예컨대 데이터 제공자(210-2))에서 제공한 스트림 계약을 다시 선택할 수 있다.
다음으로, 단계 S435a 및 단계 S435b와 마찬가지로, 단계 S460a 및/또는 S460b에서 블록체인(250)의 하나 또는 복수개의 노드는 각각 데이터 구매자(220-1) 및 데이터 제공자(210-2)를 지시하여 서로 데이터 스트림을 구축하도록 하거나, 또는 일측을 지시하여 다른 일측과 데이터 스트림을 구축하도록 한다.
단계 S465에서, 데이구 구매자(220-1)는 새로 구축된 데이터 스트림을 통해 다시 선택된 데이터 구매자(210-2)로부터 실시간 데이터를 수신할 수 있다.
해제 단계
단계 S470a 및 단계 S470b에서 데이터 구매자(220-1) 및/또는 데이터 제공자(210-2)는 블록체인 네트워크(250)로 자원풀 계약 해지를 위한 요청을 송신할 수 있다. 예를 들어, 일부 실시예에서 데이터 제공자(210-2)가 유지보수를 하기 위해 단절을 해야 하는 경우, 해당 자원풀에서 잠시 탈퇴하는 것을 고려할 수 있으므로 자원풀 계약의 해제를 단계 S370b에서 시작할 수 있다. 다른 일부 실시예에서, 데이터 구매자(220-1)가 기기를 일시적으로 유지보수해야 할 때, 역시 자원풀 계약의 해제를 시작할 수 있다. 물론 이러한 자원풀 계약 해제 요청은 자원풀 계약 기간과 같은 이전에 발행된 자원풀 계약에 존재할 수 있는 관련 규정을 위반해서는 안 된다. 또한, 다른 실시예에서 데이터 구매자(S220-1)가 필요한 데이터를 획득한 후 자원풀 계약 해제를 시작할 수도 있다.
도 4에 도시된 후속 단계는 도 3에 도시된 해당 단계와 거의 유사하기에 더중이상 기술하지 않는다.
도 3 또는 도 4의 실시예에 따르면, 블록체인 네트워크(250) 중의 하나 또는복수개의 노드는 자원 전환 조건을 만족한다고 판단할 때, 자원풀 계약 중의 자원 선택 방법(예를 들어 표 1 중의 데이터 제공자 선택 방법 또는 표 2 중의 데이터 스트림 계약 선택 방법)을 호출하여 제2 수량의 자원을 다시 선택할 수 있으며, 여기서 자원 전환 조건은 데이터 스트림의 흐름 단절 또는 주기적일 수 있다.
데이터 거래에서 데이터 제공자가 데이터 구매자에게 제공하는 데이터 스트림은 내용 정보 외에도 일반적으로 타임스탬프, 데이터 제공자의 식별자 등 정보를 더 포함할 수 있다. 상이한 시각에 검출된 데이터 스트림의 정보에 따라, 데이터 스트림의 단절이 발생하였는지를 판단할 수 있다.
도 5는 본 개시의 실시예에 따른 데이터 스트림의 단절을 검측하는 것을 표시한 예시도이다. 도 5의 실시예에서, 블록체인 네트워크(예컨대 블록체인 네트워크(250))중의 하나 또는 복수개의 노드는 검측 시각(T1) 및 검측 시각(T2)에서 획득한 데이터 스트림의 타임스탬프 및/또는 데이터 제공 방법 식별자를 판단하여 데이터가 실시간 데이터인지 여부 및/또는 데이터 스트림에서 단절이 발생했는지 여부를 판단할 수 있다. 예를 들어, 검측 시각(T1)에서 블록체인 네트워크 중의 하나또는 복수개의 노드 또는 데이터 구매자(220-1)은 데이터 스트림의 데이터 제공자 식별자를 통해 현재 데이터 구매자(220-1)에 데이터를 제공하는 3개의 데이터 제공(210-1~210-3)이 있다고 판단할 수 있다. 검측 시점(T2)에서 블록체인 네트워크 중의 하나 또는 복수개의 노드 또는 데이터 구매자(220-1)은 데이터 스트림의 데이터 제공자 식별자를 통해 현재 데이터 구매자(220-1)에 데이터를 제공하는 2개의 데이터 제공자(210-1) 및 데이터 제공자(210-2)가 있음을 판단할 수 있다. 검측 시각(T1)과 검측 시각(T2)에서 획득한 데이터 스트림 비교함으로써 블록체인 네트워크중의 하나 또는 복수개의 노드 또는 데이터 구매자(220-1)은 검측 시각(T2)에서 데이터 제공자(210-3)이 데이터 구매자(220-1)에 데이터를 제공하지 않았음을 확인할 수 있으며, 이를 통해 데이터 제공자(210-3)과 데이터 구매자(220-1) 사이에서 데이터 스트림의 단절이 발생하였다는 것을 확정할 수 있다.
도 6은 본 개시의 실시예에 따른 데이터 수신자의 전자기기에서 실행할 수 있는 방법(600)의 흐름도이다.
해당 방법(600)은: 블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 단계(S610)를 포함할 수 있다.
해당 방법(600)은: 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 단계(S620)를 더 포함할 수 있다.
해당 방법(600)은: 상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 단계(S630)를 더 포함할 수 있다.
일부 실시예에서, 상기 자원풀 계약은 자원 선택 방법을 포함하고, 상기 자원 선택 방법은 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 자원 전환 조건을 만족한다고 판단할 때 호출되는 것으로 사용되어, 상기 데이터 수신자가 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이트 스트림을 구축하도록 한다. 일부 실시예에서, 상기 자원 선택 방법은 또한 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 호출되어, 상기 자원풀 중의 현재 상기 데이터 수신자에 대응되는 데이터 스트림의 자원외의 자원을 선택하도록 하며, 상기 데이터 수신자가 선택된 자원에 대응되는 데이터 제공자와 새로운 데이터 스트림을 구축하도록 한다. 일부 실시예에서, 상기 자원 전환 조건은: 자원 전환 주기; 및 데이터 스트림의 단절; 중의 하나 또는 복수개를 포함한다. 일부 실시예에서, 상기 자원풀 계약은 자원의 풀 진입 방법을 포함하고, 상기 자원의 풀 진입 방법은 자원의 풀 진입 규칙을 포함하고, 상기 자원의 풀 진입 방법은, 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 자원이 상기 자원의 풀 진입 규칙을 만족하는 것을 확정할 때, 상기 자원을 상기 자원풀로 가입하는 것을 트리거하는데 사용된다. 일부 실시에에서, 상기 자원풀 중의 자원은 데이터 송신자 또는 데이터 스트림 계약 중의 적어도 하나이다. 일부 실시예에서, 상기 자원이 데이터 송신자일 경우에, 상기 자원풀 계약은: 데이터 송신자의 식별자 리스트; 데이터 송신자의 전환 주기; 데이트 스트림의 가격 및/또는 가격 결정 방식; 데이터 제공자의 풀 진입 방법; 데이터 송신자의 선택 방법; 및 데이터 스트림의 구축 방법; 중의 적어도 하나를 더 포함한다. 일부 실시예에서, 상기 자원이 데이터 스트림 계약일 경우에, 상기 자원풀 계약은: 데이터 스트림 계약의 식별자 리스트; 데이터 스트림 계약의 전환 주기; 데이터 스트림 계약의 풀 진입 방법; 및 데이터 스트림 계약의 선택 방법; 중의 적어도 하나를 더 포함한다. 일부 실시예에서, 자원이 데이트 스트림 계약일 경우, 단계(S620)는: 상기 자원풀 계약 중의 데이터 스트림 구축 방법을 실행하여, 상기 제2 수량을 초과하지 않는 자원에 대응되는 데이터 송신자와 데이트 스트림을 구축하는 단계; 또는, 상기 자원풀 계약 중의 데이터 스트림 계약 선택 방법을 실행하여, 제2 수량을 초과하지 않는 데이터 스트림 계약을 트리거하여, 상기 자원풀 중의 상기 제2 수량의 데이터 스트림 계약에 대응되는 데이트 송신자와 데이터 스트림을 구축하는 단계;를 포함한다.
도 7은 본 개시의 실시예에 따른 데이터 송신자의 전자기기에서 실행할 수 있는 방법(700)의 흐름도이다.
해당 방법(700)은: 블록체인 네트워크로부터 자원풀 계약을 수신하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되고, 상기 제원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 단계(S710)를 포함할 수 있다.
해당 방법(700)은: 상기 블록체인 네트워크로 상기 자원풀로의 가입에 동의하는 것을 지시하는 메시지를 송신하는 단계(S720)를 더 포함할 수 있다.
일부 실시예에서, 해당 방법(700)은: 상기 자원풀 계약을 실행하는 상기 블록체인 네트워크의 협조하에서, 상기 자원풀 계약을 발표한 데이터 수신자와 데이터 스트림을 구축하는 단계; 및 구축된 데이터 스트림을 통해 대응되는 데이터 수신자로 실시간 데이터를 송신하는 단계;를 더 포함한다.
도 8은 본 개시의 실시예에 따른 데이터 송신자의 전자기기에서 실행할 수 있는 또 다른 방법(800)의 흐름도이다.
해당 방법(800)은: 블록체인 네트워크로 데이터 스트림 계약을 발표하되, 상기 데이터 스트림 계약은 상기 데이터 제공자가 제공한 데이터 스트림을 자원으로 하여 자원풀에 가입하는 것을 트리거하는데 사용되고, 상기 자원풀은 데이터 수신자가 발표한 자원풀 계약으로 트리거되어 구축된 제1 수량의 자원을 포함하는 자원풀이고, 상기 자원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 단계(S810)를 포함할 수 있다.
해당 방법(800)은: 상기 블록체인 네트워크로부터 상기 데이터 스트림 계약이 상기 자원풀에 가입되었다는 것을 지시하는 메시지를 수신하는 단계를 더 포함할 수 있다. 일부 실시예에서, 상기 방법(800)은: 상기 데이터 스트림 계약을 실행하는 상기 블록체인 네트워크의 협조하에서, 상기 자원풀 계약을 발표한 데이터 수신자와 데이터 스트림을 구축하는 단계; 및 구축된 데이터 스트림을 통해 대응되는 데이터 수신자로 실시간 데이터를 송신하는 단계;를 더 포함한다. 일부 실시예에서, 상기 데이터 스트림 계약은: 데이터 스트림 계약의 식별자; 상기 데이터 송신자의 식별자; 데이터 스트림의 가격 및/또는 가격 결정 방식; 내용 정보; 데이터 스트림의 구축 방법; 및 자원풀의 가입 방법; 중의 적어도 하나를 포함한다.
도 9는 본 개시의 실시예에 따른 실시간 데이터 통신에 사용되는 전자 기기(900, 예컨대 도 2 내지 도 5에서 도시된 데이터 제공자(210)와 데이터 구매자(220) 중의 임의의 하나)의 하드웨어 예시 배치도이다. 하드웨어 배치(900)은 프로세서 또는 컨트롤러(906, 예를 들어 디지털 신호 프로세서(DSP), 중앙 처리 장치(CPU) 등)을 포함할 수 있다. 프로세서(906)은 본 명세서에 기재된 프로세스의 상이한 작업을 수행하기 위한 단일 처리 유닛 또는 복수의 처리 유닛일 수 있다. 배치(900)은 또한 다른 엔티티로부터 신호를 수신하기 위한 입력 유닛(902) 및 다른 엔티티에 신호를 제공하기 위한 출력 유닛(904)를 포함할 수 있다. 입력 유닛(902) 및 출력 유닛(904)는 단일 엔티티 또는 분리된 엔티티로 배치될 수 있다.
또한, 배치(900)은 비휘발성 또는 휘발성 메모리 형태를 갖는 적어도 하나의 판독 가능 저장 매체(908)를 포함할 수 있으며, 예를 들어 전기적 소거 가능한 프로그램 가능한 읽기 전용 메모리(EEPROM), 플래시 메모리 및/또는 하드 디스크 드라이브를 포함할 수 있다. 판독 가능 저장 매체(908)은 코드/컴퓨터 가독 명령을 포함하는 컴퓨터 프로그램(910)을 포함하고 있으며, 해당 컴퓨터 프로그램(910)은 배치(900)의 프로세서(909)에 의해 실행될 때, 하드웨어 배치(900) 및/또는 하드웨어 배치(900)을 포함하는 장치가 예를 들어 상술한 도 3~5를 결부하여 설명한 프로세스 및 그 변형들을 실행할 수 있도록 한다.
컴퓨터 프로그램(910)은 예를 들어 컴퓨터 프로그램 모듈(910A~910C) 아키텍처의 컴퓨터 프로그램 코드를 구비하도록 구성될 수 있다. 따라서 예를 들어 데이터 구매자(220)에서 하드웨어 배치(900)을 사용하는 경우의 예시적인 실시예에서, 배치(900)의 컴퓨터 프로그램 내의 코드는: 블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 모듈(910A); 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 모듈(910B); 및 상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 모듈(910C)를 포함한다.
또한, 데이터 제공자(210)에서 하드웨어 배치(900)을 사용하는 경우의 예시적인 실시예에서, 배치(900)의 컴퓨터 프로그램 내의 코드는: 블록체인 네트워크로부터 자원풀 계약을 수신하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되고, 상기 제원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 모듈(910D); 및 상기 블록체인 네트워크로 상기 자원풀로의 가입에 동의하는 것을 지시하는 메시지를 송신하는 모듈(910E)를 포함한다.
또한, 기타 일부 실시예에서, 예를 들어 데이터 제공자(210)에서 하드웨어 배치(900)을 사용하는 경우의 예시적인 실시예에서, 배치(900)의 컴퓨터 프로그램 내의 코드는: 블록체인 네트워크로 데이터 스트림 계약을 발표하되, 상기 데이터 스트림 계약은 상기 데이터 제공자가 제공한 데이터 스트림을 자원으로 하여 자원풀에 가입하는 것을 트리거하는데 사용되고, 상기 자원풀은 데이터 수신자가 발표한 자원풀 계약으로 트리거되어 구축된 제1 수량의 자원을 포함하는 자원풀이고, 상기 자원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 모듈(910D); 및 상기 블록체인 네트워크로부터 상기 데이터 스트림 계약이 상기 자원풀에 가입되었다는 것을 지시하는 메시지를 수신하는 모듈(910E)를 포함한다.
컴퓨터 프로그램 모듈은 실질적으로 도 3~5에 표시된 프로세스의 각 동작을 수행하여 데이터 제공자(210) 및/또는 데이터 구매자(220)을 시뮬레이션할 수 있다. 즉, 프로세서 또는 컨트롤러(909)에서 서로 다른 컴퓨터 프로그램 모듈이 실행되는 경우 아날로그 데이터 제공자(210) 및/또는 데이터 구매자(220)의 서로 다른 유닛 또는 모듈에 대응할 수 있다.
도 9와 관련하여 상술한 실시예의 코드수단은 프로세서(906)에서 실행될 때 하드웨어 배치(900)이 도 3~5와 관련하여 상술한 동작을 수행하도록 하는 컴퓨터 프로그램 모듈로 구현되지만, 대체 실시예에서 코드수단 중 적어도 하나는 적어도 부분적으로 하드웨어 회로로 구현될 수 있다.
프로세서는 단일 CPU(중앙 처리 장치)일 수 있지만 두 개 이상의 처리 장치를 포함할 수도 있다. 예를 들어, 프로세서에는 범용 마이크로프로세서, 명령 세트 프로세서 및/또는 관련 칩셋 및/또는 특수 마이크로프로세서(예: 특수 집적 회로(ASIC))가 포함될 수 있다. 프로세서는 또한 캐시를 위한 온보드 메모리를 포함할 수 있다. 컴퓨터 프로그램은 프로세서에 연결된 컴퓨터 프로그램 제품에 의해 탑재될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 플래시 메모리, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), EEPROM일 수 있으며, 상기 컴퓨터 프로그램 모듈은 대체 실시예에서 전자 기기의 메모리 형태로 다양한 컴퓨터 프로그램 제품에 분포될 수 있다.
지금까지 본 개시는 바람직한 실시예와 함께 설명되었다. 본 분야의 기술자는 본 개시의 정신과 범위를 벗어나지 않고 다양한 기타 변경, 교체 및 추가를 수행할 수 있음을 이해해야 한다. 따라서 본 개시의 범위는 위에서 언급한 특정 실시예에 국한되지 않고 첨부된 청구범위에 의해 정의되어야 한다.

Claims (17)

  1. 데이터 수신자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법에 있어서,
    블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 단계;
    상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및
    상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 단계; 를 포함하는 방법.
  2. 제1항에 있어서,
    상기 자원풀 계약은 자원 선택 방법을 포함하고,
    상기 자원 선택 방법은 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 자원 전환 조건을 만족한다고 판단할 때 호출되는 것으로 사용되어, 상기 데이터 수신자가 상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이트 스트림을 구축하도록 하는 방법.
  3. 제2항에 있어서,
    상기 자원 선택 방법은 또한 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 호출되어, 상기 자원풀 중의 현재 상기 데이터 수신자에 대응되는 데이터 스트림의 자원외의 자원을 선택하도록 하며, 상기 데이터 수신자가 선택된 자원에 대응되는 데이터 제공자와 새로운 데이터 스트림을 구축하도록 하는 방법.
  4. 제2항에 있어서,
    상기 자원 전환 조건은:
    자원 전환 주기; 및
    데이터 스트림의 단절;
    중의 하나 또는 복수개를 포함하는 방법.
  5. 제1항에 있어서,
    상기 자원풀 계약은 자원의 풀 진입 방법을 포함하고, 상기 자원의 풀 진입 방법은 자원의 풀 진입 규칙을 포함하고,
    상기 자원의 풀 진입 방법은, 상기 블록체인 네트워크 중의 하나 또는 복수개의 노드에서 자원이 상기 자원의 풀 진입 규칙을 만족하는 것을 확정할 때, 상기 자원을 상기 자원풀로 가입하는 것을 트리거하는데 사용되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 자원풀 중의 자원은 데이터 송신자 또는 데이터 스트림 계약 중의 적어도 하나인 방법.
  7. 제6항에 있어서,
    상기 자원이 데이터 송신자일 경우에, 상기 자원풀 계약은:
    데이터 송신자의 식별자 리스트;
    데이터 송신자의 전환 주기;
    데이트 스트림의 가격 및/또는 가격 결정 방식;
    데이터 송신자의 풀 진입 방법;
    데이터 송신자의 선택 방법; 및
    데이터 스트림의 구축 방법; 중의 적어도 하나를 더 포함하는 방법.
  8. 제6항에 있어서,
    상기 자원이 데이터 스트림 계약일 경우에, 상기 자원풀 계약은:
    데이터 스트림 계약의 식별자 리스트;
    데이터 스트림 계약의 전환 주기;
    데이터 스트림 계약의 풀 진입 방법; 및
    데이터 스트림 계약의 선택 방법; 중의 적어도 하나를 더 포함하는 방법.
  9. 제7항 또는 제8항에 있어서,
    상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하는 단계는:
    상기 자원풀 계약 중의 데이터 스트림 구축 방법을 실행하여, 상기 제2 수량을 초과하지 않는 자원에 대응되는 데이터 송신자와 데이트 스트림을 구축하는 단계;
    또는,
    상기 자원풀 계약 중의 데이터 스트림 계약 선택 방법을 실행하여, 제2 수량을 초과하지 않는 데이터 스트림 계약을 트리거하여, 상기 자원풀 중의 상기 제2 수량의 데이터 스트림 계약에 대응되는 데이트 송신자와 데이터 스트림을 구축하는 단계;를 포함하는 방법.
  10. 데이터 수신자가 사용하는 제1 전자 기기에 있어서,
    프로세서, 메모리를 포함하고,
    상기 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 프로세서에 의해 실행될 때, 상기 제1 전자 기기로 하여금 청구항 제1항 내지 제9항 중 어느 한 항에 따른 상기 방법을 구현하도록 하는 제1 전자 기기.
  11. 데이터 송신자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법에 있어서,
    블록체인 네트워크로부터 자원풀 계약을 수신하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되고, 상기 제원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및
    상기 블록체인 네트워크로 상기 자원풀로의 가입에 동의하는 것을 지시하는 메시지를 송신하는 단계; 를 포함하는 방법.
  12. 제11항에 있어서,
    상기 방법은:
    상기 자원풀 계약을 실행하는 상기 블록체인 네트워크의 협조하에서, 상기 자원풀 계약을 발표한 데이터 수신자와 데이터 스트림을 구축하는 단계; 및
    구축된 데이터 스트림을 통해 대응되는 데이터 수신자로 실시간 데이터를 송신하는 단계;를 더 포함하는 방법.
  13. 데이터 송신자의 전자기기에서 실행되는 실시간 데이터 통신에 사용되는 방법에 있어서,
    블록체인 네트워크로 데이터 스트림 계약을 발표하되, 상기 데이터 스트림 계약은 상기 데이터 제공자가 제공한 데이터 스트림을 자원으로 하여 자원풀에 가입하는 것을 트리거하는데 사용되고, 상기 자원풀은 데이터 수신자가 발표한 자원풀 계약으로 트리거되어 구축된 제1 수량의 자원을 포함하는 자원풀이고, 상기 자원풀 계약은 자원풀에서 예정으로 응당 동시에 활성화되어야 할 자원의 제2 수량을 지시하는 파라미터를 더 포함하며, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및
    상기 블록체인 네트워크로부터 상기 데이터 스트림 계약이 상기 자원풀에 가입되었다는 것을 지시하는 메시지를 수신하는 단계; 를 포함하는 방법.
  14. 제13항에 있어서,
    상기 방법은:
    상기 데이터 스트림 계약을 실행하는 상기 블록체인 네트워크의 협조하에서, 상기 자원풀 계약을 발표한 데이터 수신자와 데이터 스트림을 구축하는 단계; 및
    구축된 데이터 스트림을 통해 대응되는 데이터 수신자로 실시간 데이터를 송신하는 단계;를 더 포함하는 방법.
  15. 제13항에 있어서,
    상기 데이터 스트림 계약은:
    데이터 스트림 계약의 식별자;
    상기 데이터 송신자의 식별자;
    데이터 스트림의 가격 및/또는 가격 결정 방식;
    내용 정보;
    데이터 스트림의 구축 방법; 및
    자원풀의 가입 방법; 중의 적어도 하나를 포함하는 방법.
  16. 데이터 송신자가 사용하는 제2 전자 기기에 있어서,
    프로세서, 메모리를 포함하고,
    상기 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 프로세서에 의해 실행될 때, 상기 제2 전자 기기로 하여금 청구항 제11항 내지 제15항 중 어느 한 항에 따른 상기 방법을 구현하도록 하는 제2 전자 기기.
  17. 실시간 데이터 통신에 사용되는 시스템에 있어서,
    블록체인 네트워크, 제1 전자 기기, 하나 또는 복수개의 제2 전자 기기를 포함하고,
    상기 제1 전자 기기는 상기 블록체인 네트워크와 통신하며 커플링되고,
    상기 제1 전자 기기는 제1 프로세서와 제1 메모리를 포함하고,
    상기 제1 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 제1 프로세서에 의해 실행될 때, 상기 제1 전자 기기로 하여금:
    블록체인 네트워크로 자원풀 계약을 발표하되, 상기 자원풀 계약은 제1 수량의 자원이 포함되는 자원풀을 구축하는 것을 트리거하는데 사용되는 단계;
    상기 자원풀 중의 제2 수량의 자원에 대응되는 데이터 송신자와 데이터 스트림을 구축하되, 상기 제2 수량은 상기 제1 수량보다 작은 단계; 및
    상기 데이터 스트림을 통해, 상기 데이터 송신자가 송신한 실시간 데이터를 수신하는 단계; 를 실행하게 하고,
    각 상기 제2 전자 기기는 상기 블록체인 네트워크와 통신하며 커플링되고,
    각 상기 제2 전자 기기는 제2 프로세서와 제2 메모리를 포함하고,
    상기 제2 메모리에는 명령이 저장되어 있고, 상기 명령은 상기 제2 프로세서에 의해 실행될 때, 상기 제2 전자 기기로 하여금:
    블록체인 네트워크로부터 자원풀 계약을 수신하는 단계; 및 상기 블록체인 네트워크로 상기 자원풀로의 가입에 동의하는 것을 지시하는 메시지를 송신하는 단계;를 실행하게 하거나,
    또는,
    블록체인 네트워크로 데이터 스트림 계약을 발표하되, 상기 데이터 스트림 계약은 상기 데이터 제공자가 제공한 데이터 스트림을 자원으로 하여 자원풀에 가입하는 것을 트리거하는데 사용되는 단계; 및 상기 블록체인 네트워크로부터 상기 데이터 스트림 계약이 상기 자원풀에 가입되었다는 것을 지시하는 메시지를 수신하는 단계; 를 실행하게 하는 시스템.
KR1020237012155A 2020-09-11 2021-09-06 실시간 데이터 통신의 방법, 전자 기기 및 시스템 KR20230066597A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010958010.1 2020-09-11
CN202010958010.1A CN114125020B (zh) 2020-09-11 2020-09-11 实时数据通信的方法、电子设备和系统
PCT/CN2021/116694 WO2022052885A1 (zh) 2020-09-11 2021-09-06 实时数据通信的方法、电子设备和系统

Publications (1)

Publication Number Publication Date
KR20230066597A true KR20230066597A (ko) 2023-05-16

Family

ID=80360649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237012155A KR20230066597A (ko) 2020-09-11 2021-09-06 실시간 데이터 통신의 방법, 전자 기기 및 시스템

Country Status (6)

Country Link
US (1) US20240029158A1 (ko)
EP (1) EP4213467A1 (ko)
JP (1) JP2023541900A (ko)
KR (1) KR20230066597A (ko)
CN (1) CN114125020B (ko)
WO (1) WO2022052885A1 (ko)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080221743A1 (en) * 2007-03-09 2008-09-11 Gordon * Howard Associates, Inc. Onboard Starter-Interrupt Device Incorporating Wireless Personal Area Network
US7724780B2 (en) * 2007-04-19 2010-05-25 Cisco Technology, Ink. Synchronization of one or more source RTP streams at multiple receiver destinations
US20170330159A1 (en) * 2016-05-13 2017-11-16 Bank Of America Corporation Resource allocation and transfer in a distributed network
US10158703B2 (en) * 2016-06-10 2018-12-18 Bank Of America Corporation Resource allocation and transfer utilizing holds and a distributed network
TWI660610B (zh) * 2016-09-01 2019-05-21 鴻海精密工業股份有限公司 無線通訊系統的資源分配方法及其設備和系統
CN108696760A (zh) * 2017-04-07 2018-10-23 京东方科技集团股份有限公司 一种信息获取、提供方法及装置
SE542329C2 (en) * 2017-05-31 2020-04-14 Scania Cv Ab Method and system for performing data transactions in exchange for assets on a network
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
CN108197944B (zh) * 2017-11-22 2021-03-30 远光软件股份有限公司 基于区块链技术的资源交易方法及装置
US20190318353A1 (en) * 2018-04-12 2019-10-17 Bank Of America Corporation Real time data processing platform for resources on delivery interactions
CN108665261B (zh) * 2018-04-20 2021-07-09 杭州环普数据技术有限公司 一种去中心化的物联网数据交易系统
KR102100338B1 (ko) * 2018-05-21 2020-04-23 김지훈 실시간 영상 데이터 거래 시스템 및 방법
WO2019223869A1 (en) * 2018-05-24 2019-11-28 Nokia Solutions And Networks Oy Migration of service
US20200076742A1 (en) * 2018-08-28 2020-03-05 Hewlett Packard Enterprise Development Lp Sending data using a plurality of credit pools at the receivers
US11270296B2 (en) * 2018-11-09 2022-03-08 International Business Machines Corporation Protection of data trading
CN109803004B (zh) * 2019-01-03 2021-06-01 深圳壹账通智能科技有限公司 区块链智能合约管理方法与装置、电子设备、存储介质
KR20200098222A (ko) * 2019-02-12 2020-08-20 이왕재 P2p 기반의 데이터 트랜잭션 장치 및 방법
CN110335037A (zh) * 2019-04-19 2019-10-15 矩阵元技术(深圳)有限公司 基于区块链和多方安全计算的交易方法、装置及存储介质
CN111163132A (zh) * 2019-12-11 2020-05-15 支付宝(杭州)信息技术有限公司 基于区块链的服务提供方法、装置、设备及系统
CN111061713A (zh) * 2019-12-11 2020-04-24 北京时代云链信息科技有限公司 区块链数据融合方法、装置、设备以及存储介质
CN111402055B (zh) * 2020-03-19 2022-08-30 合肥工业大学 一种基于区块链的去中心化数据交易方法

Also Published As

Publication number Publication date
WO2022052885A1 (zh) 2022-03-17
EP4213467A1 (en) 2023-07-19
US20240029158A1 (en) 2024-01-25
JP2023541900A (ja) 2023-10-04
CN114125020A (zh) 2022-03-01
CN114125020B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
KR102573433B1 (ko) 블록체인을 이용한 에너지 거래 플랫폼 및 그 방법
CN112132558B (zh) 基于智能合约的数字货币交易方法、装置及电子设备
JP2020047104A (ja) 決済システム、決済方法、利用者装置、決済プログラム
WO2020173499A1 (zh) 基于公链的区块链子链创建方法及系统
CN112132559B (zh) 数字货币交易方法、装置、电子设备及可读存储介质
US20220012702A1 (en) Third-party settlement control method and apparatus, electronic device, and storage medium
CN112650764A (zh) 跨链数据处理方法、装置、设备和存储介质
CN112907244B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
WO2020238250A1 (zh) 资金链信息追溯方法、系统、服务器和可读存储介质
CN112529577A (zh) 基于激励治理的区块链跨链系统和方法
CN113344535B (zh) 一种基于区块链的软件开发外包控制系统及实现方法
CN117010894A (zh) 基于区块链的资源管理方法、装置及电子设备
CN110278264A (zh) 一种基于区块链的跨链通信的方法、装置及交易系统
CN111506932A (zh) 一种区块链算力上链实现方法
CN114066401A (zh) 订单处理方法、装置、系统、设备和计算机可读存储介质
KR20230066597A (ko) 실시간 데이터 통신의 방법, 전자 기기 및 시스템
CN111586157B (zh) 一种信息处理方法、装置及设备
CN112819464A (zh) 一种智能合约处理方法、处理装置、终端设备及存储介质
CN110852891A (zh) 基于轧差的数据处理方法、装置以及可读存储介质
CN110458701A (zh) 一种数据处理方法、装置、区块链节点设备及介质
WO2019205023A1 (zh) 一种基于区块链的数据管理方法及相关系统
WO2022068665A1 (zh) 数据通信的方法和电子设备
KR20200140094A (ko) 블록체인 기반 배송 시스템 및 이의 운용 방법
Burgos et al. Tackling Trust and Scalability of the Blockchain-Based Shared Manufacturing Concept
CN110956551B (zh) 一种收益分发方法及相关设备