KR102258437B1 - 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스 - Google Patents

블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스 Download PDF

Info

Publication number
KR102258437B1
KR102258437B1 KR1020197018700A KR20197018700A KR102258437B1 KR 102258437 B1 KR102258437 B1 KR 102258437B1 KR 1020197018700 A KR1020197018700 A KR 1020197018700A KR 20197018700 A KR20197018700 A KR 20197018700A KR 102258437 B1 KR102258437 B1 KR 102258437B1
Authority
KR
South Korea
Prior art keywords
data
service
type
blockchain node
database
Prior art date
Application number
KR1020197018700A
Other languages
English (en)
Other versions
KR20190094188A (ko
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 KR20190094188A publication Critical patent/KR20190094188A/ko
Application granted granted Critical
Publication of KR102258437B1 publication Critical patent/KR102258437B1/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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • 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
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 출원은 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스를 개시한다. 방법에서, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하고, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다. 서비스 데이터는 파싱을 통해 획득되고, 서비스 데이터는 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 블록체인 노드에 대응하는 데이터베이스에 저장될 수 있다. 따라서, 사용자는 데이터베이스에서 이러한 매핑 관계에 기초하여 서비스 데이터를 쿼리할 수 있어서, 인덱스에 기초하여 블록체인에서 쿼리를 수행하는 기존의 기술의 문제점을 완화하고 블록체인에서 데이터 쿼리의 융통성 및 효율을 효과적으로 개선할 수 있다.

Description

블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스
본 출원은 컴퓨터 기술들의 분야에 관한 것이고, 더 상세하게는 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스에 관한 것이다.
컴퓨터 기술들의 지속적인 발전에 따라, 새로운 분산형 데이터 저장 기술인 블록체인 기술이 점차 대중적이 되고 있는데, 이는, 템퍼(temper)-저항이 블록체인 기술(이는 또한 분산형 렛저(ledger) 기술로 지칭될 수 있음)의 특징이어서 블록체인에 저장된 데이터가 신뢰가능하기 때문이다.
블록체인에서 데이터 저장의 원리는 하기와 같이 이해될 수 있다: 사용자가 이더리움(Ethereum) 클라이언트(즉, 블록체인 클라이언트로 또한 지칭될 수 있는, 블록체인 기술을 지원하는 클라이언트)를 사용함으로써 서비스 요청을 개시한다. 이더리움 클라이언트는 서비스 요청을 합의(consensus) 네트워크에 전송할 수 있다. 합의 네트워크의 각각의 블록체인 노드가 서비스 요청에 대한 합의 절차를 수행한다. 합의 네트워크의 각각의 블록체인 노드는 서비스 요청에 대한 합의를 달성한 후 각각의 블록체인 노드에 대응하는 블록체인에 서비스 요청 내의 데이터 다이제스트(digest)를 저장한다. 또한, 이더리움 클라이언트는 스마트 계약에서 특정된 미리 결정된 데이터 저장 포맷에 기초하여, 이더리움 클라이언트에 대응하는 저장 매체에 서비스 요청 내의 서비스 데이터를 저장할 수 있다.
후속적으로 저장 매체에 저장된 데이터를 쿼리(query)하는 것을 돕기 위해, 통상적으로 미리 결정된 방식으로 인덱스가 생성되어, 사용자는 인덱스를 사용함으로써 저장 매체에 저장된 서비스 데이터에 대한 쿼리 동작을 수행할 수 있다.
그러나, 실제로, 서비스 데이터를 쿼리하는데 사용되는 쿼리 조건이 생성된 인덱스와 상이하면(즉, 쿼리 조건이 스마트 계약에서 특정된 인덱스에 매칭되지 않으면), 데이터 쿼리 효율이 비교적 낮거나 또는 쿼리가 실패한다.
본 출원의 구현은 블록체인에 저장된 데이터가 쿼리되는 경우 쿼리 효율이 낮거나 또는 쿼리가 실패하는 것과 같은 기존의 기술에서의 문제점들을 완화하기 위한 데이터 저장 방법을 제공한다.
본 출원의 구현은, 블록체인 노드에 의해, 서비스 요청을 수신하는 단계; 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하는(parsing) 단계; 및 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장하는 단계를 포함하는 데이터 저장 방법을 제공한다.
본 출원의 구현은 블록체인에 저장된 데이터가 쿼리되는 경우 쿼리 효율이 낮거나 또는 쿼리가 실패하는 것과 같은 기존의 기술에서의 문제점들을 완화하기 위한 데이터 저장 디바이스를 제공한다.
본 출원의 구현은, 서비스 요청을 수신하도록 구성된 수신 모듈; 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하도록 구성된 데이터 파싱 모듈; 및 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장하도록 구성된 저장 모듈을 포함하는 데이터 저장 디바이스를 제공한다.
본 출원의 구현은 블록체인에 저장된 데이터가 쿼리되는 경우 쿼리 효율이 낮거나 또는 쿼리가 실패하는 것과 같은 기존의 기술에서의 문제점들을 완화하기 위한 데이터 쿼리 방법을 제공한다.
본 출원의 구현은, 블록체인 노드에 의해, 서비스 데이터 쿼리 요청을 수신하는 단계; 서비스 데이터 쿼리 요청에 기초하여, 쿼리될 서비스 데이터에 대응하는 데이터 유형을 결정하는 단계; 및 블록체인 노드에 대응하는 데이터베이스로부터 데이터 유형에 매칭되는 서비스 데이터를 쿼리하는 단계 - 여기서 데이터베이스는 데이터 유형과 서비스 데이터 사이의 매핑 관계를 포함함 - 를 포함하는 데이터 쿼리 방법을 제공한다.
본 출원의 구현은 블록체인에 저장된 데이터가 쿼리되는 경우 쿼리 효율이 낮거나 또는 쿼리가 실패하는 것과 같은 기존의 기술에서의 문제점들을 완화하기 위한 데이터 쿼리 디바이스를 제공한다.
본 출원의 구현은, 서비스 데이터 쿼리 요청을 수신하도록 구성된 요청 수신 모듈; 서비스 데이터 쿼리 요청에 기초하여, 쿼리될 서비스 데이터에 대응하는 데이터 유형을 결정하도록 구성된 유형 결정 모듈; 및 디바이스에 대응하는 데이터베이스로부터 데이터 유형에 매칭되는 서비스 데이터를 쿼리하도록 구성된 데이터 쿼리 모듈 - 여기서 데이터베이스는 데이터 유형과 서비스 데이터 사이의 매핑 관계를 포함함 - 을 포함하는 데이터 쿼리 디바이스를 제공한다.
본 출원의 구현들에서 사용되는 이전에 설명된 기술적 솔루션들 중 적어도 하나는 하기 유리한 효과들을 달성할 수 있다.
본 출원의 구현들에서, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하고, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다. 서비스 데이터는 파싱을 통해 획득되고, 서비스 데이터는 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 블록체인 노드에 대응하는 데이터베이스에 저장될 수 있다. 따라서, 사용자는 데이터베이스에서 이러한 매핑 관계에 기초하여 서비스 데이터를 쿼리할 수 있어서, 인덱스에 기초하여 블록체인에서 쿼리를 수행하는 기존의 기술의 문제점을 완화하고 블록체인에서 데이터 쿼리의 융통성 및 효율을 효과적으로 개선할 수 있다.
여기에 설명되는 첨부된 도면들은 본 출원의 추가적인 이해를 제공하고 본 출원의 일부를 구성하도록 의도된다. 본 출원의 예시적인 구현들 및 이들의 설명들은 본 출원을 설명하도록 의도되고 본 출원에 대한 제한들을 구성하지 않는다. 첨부된 도면들에서,
도 1은 본 출원의 구현에 따른 데이터 저장 프로세스를 예시하는 개략도이다.
도 2는 본 출원의 구현에 따른 데이터 테이블을 예시하는 개략도이다.
도 3은 본 출원의 구현에 따른 상세한 데이터 저장 프로세스를 예시한다.
도 4는 본 출원의 구현에 따른 데이터 저장 디바이스를 예시하는 개략도이다.
도 5는 본 출원의 구현에 따른 데이터 쿼리 디바이스를 예시하는 개략도이다.
당업자가 본 출원의 기술적 솔루션들을 더 양호하게 이해할 수 있게 하기 위해, 하기 내용은 본 출원의 구현들에서 첨부된 도면들을 참조하여 본 출원의 구현들에서의 기술적 솔루션들을 명확하고 포괄적으로 설명한다. 명백하게, 설명된 구현들은 본 출원의 구현들 전부가 아닌 단지 일부이다. 창작적인 노력없이 본 출원의 구현들에 기초하여 당업자에 의해 획득되는 모든 다른 구현들은 본 출원의 보호 범위 내에 속할 것이다.
도 1은 본 출원의 구현에 따른 데이터 저장 프로세스를 예시하는 개략도이다. 프로세스는 하기 단계들을 포함한다.
S101. 블록체인 노드가 서비스 요청을 수신한다.
실제로, 서비스 프로세싱 프로세스에서, 사용자가 블록체인 노드에 서비스 요청을 전송할 수 있다. 블록체인 노드는 최종-사용자 디바이스 또는 서버일 수 있다. 예를 들어, 블록체인 노드가 서버인 경우, 사용자는 사용자가 보유한 최종-사용자 디바이스에 서비스 정보를 작성할 수 있다. 사용자가 최종-사용자 디바이스 상에서 특정 동작을 수행한 후, 최종-사용자 디바이스는 사용자에 의해 작성된 서비스 정보를 서비스 요청의 형태로 서버에 전송한다. 대응적으로, 서버는 서비스 요청을 수신할 수 있다.
블록체인 노드가 최종-사용자 디바이스인 경우, 사용자는 최종-사용자 디바이스에 서비스 정보를 작성할 수 있다. 최종-사용자 디바이스는, 사용자가 특정 동작을 수행한다고(예를 들어, 사용자가 탭 동작을 수행한다고) 결정하는 경우 대응하는 서비스 요청을 생성할 수 있다. 이는 사용자에 의해 전송된 서비스 요청을 수신하는 것과 등가이다.
명백하게, 블록체인 노드는 대안적으로 블록체인 클라이언트(이더리움 클라이언트와 같이, 블록체인 기술에 기초하는 관련 서비스를 프로세싱할 수 있는 클라이언트로 지칭됨)일 수 있다. 대응적으로, 블록체인 합의 네트워크를 사용함으로써 서비스 프로세싱을 수행하는 경우, 사용자는 최종-사용자 디바이스를 사용함으로써 블록체인 클라이언트를 시작하고, 블록체인 클라이언트에 의해 디스플레이되는 인터페이스에 서비스 정보를 작성할 수 있다. 블록체인 클라이언트는, 사용자가 특정 동작을 수행하는 것을 검출하는 경우 사용자에 의해 작성된 서비스 정보에 기초하여 대응하는 서비스 요청을 생성할 수 있다. 이는 사용자에 의해 전송된 서비스 요청을 수신하는 것과 등가이다. 또한, 블록체인 노드에 의해 수신된 서비스 요청은 대안적으로 다른 블록체인 노드에 의해 브로드캐스트될 수 있다.
S102. 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여 서비스 요청을 변환한다.
블록체인 노드는 대응하는 데이터 시퀀스를 획득하기 위해, 서비스 요청을 수신한 후, 미리 결정된 데이터 포맷에 기초하여 서비스 요청을 변환할 수 있다.
본 출원의 본 구현에서, 미리 결정된 데이터 포맷은 하기 필드들, 즉, 식별 정보 필드 및 서비스 유형 필드를 포함하지만 이에 제한되는 것은 아니다.
식별 정보 필드는 사용자 레벨에서의 서비스 데이터, 예를 들어, 사용자를 고유하게 식별할 수 있고 사용자 차원에서 서비스 데이터가 쿼리될 수 있도록 사용자 공개 키 또는 사용자 아이덴티티(ID)와 같이 서비스 요청에 포함되는 정보를 구별하기 위해 사용된다.
서비스 유형 필드는, 사용자가 후속적으로 서비스 데이터 쿼리 프로세스에서의 서비스 차원에서 서비스 데이터를 쿼리할 수 있도록, 사용자의 다양한 서비스들의 서비스 유형을 구별하기 위해 사용된다.
또한, 데이터 필드는 미리 결정된 데이터 포맷으로 특정된다. 데이터 필드는 서비스 요청에서 각각의 데이터 유형과 서비스 데이터의 각각의 조각 사이의 매핑 관계를 표시하기 위해 사용된다. 예를 들어, 서비스 요청이 하기 데이터 필드, 즉, 이름 - Xiaoming, 나이 - 18, 및 체중 65 kg을 포함한다고 가정한다. 정보에서, 실제 서비스 데이터는 Xiaoming, 18 및 65 kg이고, 이름, 나이 및 체중은 서비스 데이터의 데이터 유형들이다. 즉, 본 출원의 본 구현에서, 데이터 유형은 키와 동등하고, 서비스 데이터는 값과 동등하고, 데이터 필드는 키-값 데이터 매핑 세트이다.
이전에 설명된 미리 결정된 데이터 포맷에 기초하여, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 서비스 요청에 포함된 데이터 콘텐츠, 예를 들어, 식별 정보, 서비스 유형, 각각의 데이터 유형에 대응하는 서비스 데이터 및 데이터 필드에 있는 각각의 데이터 유형을 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여 서비스 요청을 파싱할 수 있다. 그 다음, 블록체인 노드는 데이터 시퀀스를 획득하기 위해, 파싱을 통해 획득된 데이터를 특정 형태로 직렬화할 수 있다.
예를 들어, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 미리 결정된 데이터 포맷에 기초하여 서비스 요청을 파싱함으로써 하기 필드들, 즉, 서비스 유형 필드: 상품; 식별 정보 필드: PublicKey; 데이터 필드: 이름: 우산; 및 가격: 46을 획득한다. 블록체인 노드는 파싱을 통해 획득된 이러한 필드들을 특정 형태로 직렬화하고, 하기 데이터 시퀀스를 획득하는 것으로 가정한다:
{"PublicKey.schema": "디폴트", "데이터": "이름: 우산, 가격: 46"}.
서비스 요청은 미리 결정된 데이터 포맷에 기초하여 데이터 시퀀스로 변환되는데, 이는, 본 출원의 본 구현에서, 블록체인 노드가 후속 서비스 데이터 검증을 위해 서비스 요청을 블록체인에 기록할 필요가 있기 때문이다. 실제로, 블록체인 노드는 통상적으로 서비스 요청을 특정 데이터 포맷에 기초하여 블록체인에 기록할 필요가 있다. 따라서, 따라서, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 미리 결정된 데이터 포맷에 기초하여, 서비스 요청을, 후속 프로세스에서 블록체인에 서비스 요청을 기록하는 것을 지원하기 위한 데이터 포맷, 즉, 데이터 시퀀스로 변환할 필요가 있고, 서비스 요청을 데이터 시퀀스 형태로 블록체인에 추가로 기록하여, 서비스 데이터는 블록체인에 저장된 서비스 요청에 기초하여 효과적으로 검증될 수 있다.
본 출원의 본 구현에서, 블록체인 노드는 대안적으로 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하고, 그 다음, 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 파싱을 통해 획득되는 각각의 데이터 유형에 대응하는 서비스 데이터 및 각각의 데이터 유형을 변환할 수 있음을 주목할 가치가 있다. 대안적으로, 파싱을 통해, 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득한 후, 블록체인 노드는 먼저, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장하고(즉, 단계(S103)를 수행하고), 그 다음, 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 변환할 수 있다.
즉, 본 출원의 본 구현에서, 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여 서비스 요청을 변환하는 단계는 선택적이다.
데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여 서비스 요청을 변환하는 단계(S102)에 수반된 특정 구현 프로세스는, 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하고, 그 다음, 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 파싱을 통해 획득되는 각각의 데이터 유형에 대응하는 서비스 데이터 및 각각의 데이터 유형을 변환하는 프로세스일 필요는 없다. 데이터 시퀀스는 대안적으로, 각각의 데이터 유형에 대응하는 서비스 데이터 및 서비스 요청을 파싱함으로써 획득되는 각각의 데이터 유형 이외의, 서비스 요청 내의 다른 필드를 사용함으로써 생성될 수 있다. 데이터 시퀀스를 생성하기 위해 필요한 특정 필드는 블록체인에 서비스 요청을 기록하는 것을 지원하기 위해 실제로 필요한 데이터 포맷에 의존한다.
S103. 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱한다.
본 출원의 본 구현에서, 서비스 요청을 수신한 후, 블록체인 노드는 먼저, 합의 네트워크 내의 각각의 블록체인 노드가 서비스 요청에 대한 합의 절차를 수행하도록, 브로드캐스트를 통해 합의 네트워크 내의 다른 블록체인 노드들에 서비스 요청을 전송할 수 있다. 각각의 블록체인 노드는, 합의 네트워크 내의 각각의 블록체인 노드가 서비스 요청에 대한 합의를 달성한다고 결정한 후 블록체인 노드에 대응하는 블록체인에 서비스 요청을 저장할 수 있다.
또한, 본 출원의 본 구현에서, 서비스 요청을 수신한 후, 블록체인 노드는 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하고, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 후속 프로세스에서, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다.
본 출원의 본 구현에서 언급된 데이터베이스는 관계형 데이터베이스일 수 있다. 이러한 데이터 저장 방법에서, 데이터는 신속하게 쿼리될 수 있고, 쿼리 쿼리 조건에 의해 영향받지 않는다. 즉, 인덱스 필드가 변하는 경우에도, 데이터베이스에 저장된 서비스 데이터는 여전히 새로운 인덱스 필드에 적응될 수 있고, 사용자에 의해 쿼리되는 서비스 데이터는 서비스 데이터를 쿼리하는데 사용된 인덱스 필드의 변화에 의해 영향받지 않는다.
본 출원의 본 구현에서, 서비스 데이터 저장 동안, 블록체인 노드는 서비스 유형 또는 식별 정보에 기초하여 저장될 서비스 데이터를 구별할 수 있어서, 상이한 서비스 유형들 또는 식별 정보에 대응하는 서비스 데이터는 상이한 데이터베이스들에 저장될 수 있다. 따라서, 사용자는 후속 서비스 데이터 쿼리 프로세스에서 서비스 유형 또는 식별 정보 차원에서 쿼리 서비스 데이터를 정밀하게 쿼리할 수 있다.
이에 기초하여, 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하는 것에 추가로, 블록체인 노드는 파싱을 통해, 서비스 요청에 포함된 서비스 데이터에 대응하는 서비스 유형 및 식별 정보를 획득하고, 그 다음, 데이터 저장 스테이트먼트(statement)를 획득하기 위해, 미리 결정된 스테이트먼트 포맷에 기초하여, 파싱을 통해 획득되는 각각의 데이터 유형, 각각의 데이터 유형에 대응하는 서비스 데이터, 서비스 유형 및 식별 정보를 변환하고, 데이터 저장 스테이트먼트를 실행함으로써, 후속 프로세스에서, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다.
예를 들어, 블록체인 노드는 서비스 요청을 파싱함으로써, 저장될 서비스 데이터는 shoes#12xew 및 158이고, 저장될 서비스 데이터에 대응하는 서비스 유형은 상품이고, 저장될 서비스 데이터에 대응하는 식별 정보는 PublicKey1이고, 서비스 데이터 shoes#12xew 및 158에 각각 대응하는 데이터 유형들은 이름 및 비용이라고 결정한다. 블록체인 노드는, 대응하는 데이터 저장 스테이트먼트를 획득하기 위해, 미리 결정된 스테이트먼트 포맷에 기초하여, 파싱을 통해 획득되는 서비스 유형, 식별 정보, 각각의 데이터 유형에 대응하는 서비스 데이터 및 각각의 데이터 유형을 변환할 수 있다. 예시적인 형태는 다음과 같다:
"PublicKey1.schema: 상품" (이름, 가격)에 값 ('shoes#12xew', '158')을 삽입한다.
블록체인 노드는 데이터 저장 스테이트먼트를 실행함으로써, 후속 프로세스에서 블록체인 노드에 대응하는 데이터베이스에 서비스 데이터를 저장할 수 있다.
블록체인 노드는 미리 결정된 파싱 프로그램을 사용함으로써 서비스 요청을 파싱할 수 있다. 파싱 프로그램은 파싱에 사용될 데이터 포맷 및 파싱될 필드를 특정한다. 블록체인 노드는 파싱 프로그램을 실행함으로써 서비스 요청을 파싱할 수 있다. 파싱 프로그램은 실제 필요에 기초하여 블록체인 노드의 동작 및 유지보수 요원에 의해 컴파일될 수 있다.
서비스 데이터를 서비스 유형 및 식별 정보 차원에서 데이터베이스에 저장하는 것과 상이하게, 블록체인 노드가 단일 데이터베이스에 대응하면, 데이터베이스에서 상이한 데이터 테이블들이 설정될 수 있음을 주목할 가치가 있다. 각각의 서비스 유형 및 식별 정보의 각각의 조각은 하나의 데이터 테이블에 대응할 수 있다. 따라서, 블록체인 노드는 서비스 유형 및 식별 정보에 기초하여 서비스 데이터를 데이터베이스 내의 데이터 테이블들에 저장할 수 있다. 명백하게, 서비스 유형 및 식별 정보에 대응하는 서비스 데이터는 데이터 테이블의 형태와 다른 형태로 데이터베이스에서 구별될 수 있다. 세부사항들은 단순화를 위해 여기에서 생략된다.
본 출원의 본 구현에서, 블록체인 노드는 단계(S102)를 수행하기 전에 단계(S103)을 수행할 수 있거나, 단계(S103)를 수행하기 전에 단계(S102)를 수행할 수 있거나, 또는 획득된 파싱 시퀀스를 파싱하여, 단계(S103)에 도시된 방법에 기초하여, 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해, 단계(S103)를 수행하기 전에 데이터 시퀀스를 획득하기 위해 S102를 수행할 수 있음을 주목할 가치가 있다. 단계(S102) 및 단계(S103)는 본 출원의 본 구현에서 동시에 수행될 수 있다. 여기서 어떠한 특정 제한도 부과되지 않는다.
S104. 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장한다.
본 출원의 본 구현에서, 서비스 요청을 파싱함으로써, 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득한 후, 블록체인 노드는 파싱을 통해 획득되는 서비스 데이터를 데이터베이스 내의 데이터 유형들에 저장할 수 있다.
상이한 서비스 유형들 및 식별 정보에 대응하는 서비스 데이터에 대해, 블록체인 노드는 파싱을 통해 획득되는 서비스 유형들 및 식별 정보에 기초하여, 서비스 유형들 및 식별 정보에 대응하는 데이터베이스를 결정할 수 있고, 그 다음, 블록체인 노드는 데이터 유형들에서 파싱하는 것을 통해 획득되는 서비스 데이터를 데이터베이스에 각각 저장할 수 있다.
수행하는 단계(S103)에 의해 데이터 저장 스테이트먼트를 획득한 후, 블록체인 노드는 저장될 서비스 데이터에 대응하는 서비스 유형 및 식별 정보를 결정하기 위해 데이터 저장 스테이트먼트를 실행할 수 있다. 그 다음, 블록체인 노드는, 블록체인 노드가 서비스 유형 및 식별 정보에 대응하는 데이터베이스에 대응하는지 여부를 추가로 결정할 수 있다. 예(yes)이면, 블록체인 노드는 데이터 유형들에서 파싱하는 것을 통해 획득되는 서비스 데이터를 데이터베이스에 추가로 별개로 저장할 수 있다. 아니오이면, 블록체인 노드가 서비스 데이터를 데이터베이스에 저장하도록, 블록체인 노드는 결정된 서비스 유형 및 결정된 식별 정보에 기초하여, 서비스 유형 및 식별 정보에 대응하는 데이터베이스를 생성할 필요가 있다.
명백하게, 본 출원의 본 구현에서, 블록체인 노드가 단일 데이터베이스에 대응하면, 블록체인 노드는 데이터베이스가 서비스 유형 및 식별 정보에 대응하는 데이터 테이블을 포함하는지 여부를 결정할 수 있다. 예이면, 블록체인 노드는 파싱을 통해 획득되는 서비스 데이터를 데이터베이스 내의 데이터 유형들에 별개로 저장한다. 아니오이면, 블록체인 노드는 미리 결정된 테이블 생성 방법을 사용함으로써, 서비스 유형 및 식별 정보에 대응하는 데이터 테이블을 생성하고, 그 다음, 파싱을 통해 획득되는 서비스 데이터를 데이터 테이블에 저장한다.
예를 들어, 블록체인 노드가 데이터 저장 스테이트먼트를 실행함으로써 하기 필드들을 결정하는 것으로, 즉, 저장될 서비스 데이터에 대응하는 서비스 유형 필드는 "상품"이고; 사용자 공개 키는 식별 정보를 표시하기 위해 사용되는 "PublicKey1"인 것으로 가정한다(실제 사용자 공개 키는 비교적 복잡할 수 있기 때문에, 여기서 사용자 공개 키는 단지 단순히 PublicKey1을 사용하여 표시된다). 블록체인 노드는, 블록체인 노드에 대응하는 데이터베이스가 식별 정보 PublicKey1 및 서비스 유형 상품을 포함하는 데이터 테이블을 포함하는지 여부를 추가로 결정할 수 있다. 데이터 테이블이 존재하지 않는다고 결정하는 경우, 블록체인 노드는 결정된 서비스 유형 상품, 결정된 식별 정보 PublicKey1 및 결정된 테이블 생성 방법에 기초하여, 데이터베이스에서 서비스 유형 상품 및 식별 정보 PublicKey1에 대응하는 데이터 테이블을 생성한다. 실행 스테이트먼트는 다음과 같다:
"PublicKey1.schema: 상품"이 존재하지 않으면 테이블 "PublicKey1.schema: 상품"을 생성한다.
데이터 저장 스테이트먼트를 실행함으로써, 블록체인 노드에 대응하는 데이터베이스에서 서비스 데이터에 대응하는 데이터 테이블을 결정(또는 생성)한 후, 블록체인 노드는, 데이터 테이블이 서비스 데이터에 포함된 각각의 데이터 유형을 포함하는지 여부를 결정할 수 있다. 예이면, 블록체인 노드는 데이터 테이블에서 데이터 유형에 대응하는 행 또는 열을 생성한다. 아니오이면, 블록체인 노드는 데이터 유형 및 미리 결정된 행/열 생성 방법에 기초하여 데이터 유형에 대응하는 행/열을 데이터 테이블에 추가할 수 있다.
이전의 예를 계속하여, 블록체인 노드는 데이터 시퀀스에서 데이터 필드, 즉, 이름: shoes#12xew 및 가격: 158을 결정한다. 데이터 필드에서, 이름 및 가격은 데이터 유형들이고 키들과 등가이며, 이름 및 가격에 대응하는 서비스 데이터는 값과 등가이다. 블록체인 노드는, 서비스 유형 상품 및 식별 정보 PublicKey1에 기초하여 결정된 데이터 테이블이 데이터 필드의 각각의 데이터 유형을 포함하는지 여부를 결정할 수 있다. 예이면, 블록체인 노드는 데이터베이스에서 데이터 유형에 대응하는 열을 생성하지 않는다. 아니오이면, 블록체인 노드는 데이터 유형 및 미리 결정된 열 생성 방법에 기초하여 데이터 유형에 대응하는 열을 데이터 테이블에 추가할 수 있다(데이터 테이블이 행 차원에서 생성되면, 행 생성 방법이 사용될 수 있다). 특정 실행 스테이트먼트는 다음과 같다:
"PublicKey1.schema: 상품"이면 열"이름"을 생성한다. "이름"이 존재하지 않고; "PublicKey1.schema: 상품"이면 열 "가격"을 생성한다. "가격"이 존재하지 않는다.
데이터 저장 스테이트먼트를 실행함으로써, 데이터베이스에 저장될 서비스 데이터에 대응하는 데이터 유형(데이터 유형은 데이터베이스에 이미 존재할 수 있거나 또는 데이터 저장 스테이트먼트를 실행함으로써 블록체인 노드에 의해 생성될 수 있음)을 결정한 후, 블록체인 노드는 서비스 데이터를 데이터베이스 내의 데이터 유형에 저장할 수 있다. 명백하게, 저장될 서비스 데이터에 대응하는 데이터 유형이 데이터베이스 내의 특정 데이터 테이블(즉, 서비스 유형 및 식별 정보에 매칭되는 데이터 테이블) 내에 있다고 블록체인 노드가 결정하면, 블록체인 노드는 도 2에 도시된 바와 같이 파싱을 통해 획득되는 서비스 데이터를 데이터 테이블 내의 데이터 유형에 저장할 수 있다.
도 2는 본 출원의 구현에 따른 데이터 테이블을 예시하는 개략도이다.
도 2에서, 이름 및 가격은 서비스 데이터의 데이터 유형들이고, PublicKey1은 서비스 데이터에 대응하는 식별 정보이고, 상품은 서비스 데이터에 대응하는 서비스 유형이고, 각각의 데이터 유형은 데이터 유형에 대응하는 서비스 데이터를 기록한다. 따라서, 사용자가 후속적으로 서비스 데이터를 쿼리하는 경우, 블록체인 노드는 사용자에 의해 전송된 서비스 데이터 쿼리 요청, 및 데이터베이스로부터 서비스 데이터 쿼리 요청에 매칭되는 추가적인 쿼리 서비스 데이터를 수신할 수 있다. 쿼리 프로세스는 다음과 같을 수 있다: 서비스 데이터 쿼리 요청을 수신한 후, 블록체인 노드는 먼저, 서비스 데이터 쿼리 요청에 포함되는 서비스 유형 및 식별 정보를 결정할 수 있다. 그 다음, 블록체인 노드는 데이터베이스에서 서비스 유형 및 식별 정보에 매칭되는 데이터 테이블을 결정하고, 데이터 테이블에 기록된, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여 데이터 테이블로부터, 서비스 데이터 쿼리 요청에 기초하여 쿼리될 서비스 데이터를 추가로 쿼리할 수 있다.
예를 들어, 블록체인 노드에 의해 수신된 서비스 데이터 쿼리 요청이 하기 필드들, 즉, PublicKey: PublicKey1, 스키마: 상품, 및 이름: blouse#4212v를 포함한다고 가정한다. 블록체인 노드는 서비스 데이터 쿼리 요청에서, 서비스 데이터 쿼리 요청에 대응하는 서비스 유형이 상품이고, 식별 정보가 PublicKey1이라고 결정하고, 그 다음, 블록체인 노드에 대응하는 데이터베이스로부터 서비스 유형 상품 및 식별 정보 PublicKey1에 매칭되는 데이터 테이블을 식별하고, 인덱스 필드 blouse#4212v에 기초하여 데이터 테이블로부터 인덱스 필드 blouse#4212v에 대응하는 서비스 데이터(211)를 식별할 수 있다.
명백하게, 서비스 데이터가 오직 데이터 유형에만 기초하여 구별되면, 사용자에 의해 전송된 서비스 데이터 쿼리 요청을 수신한 후, 블록체인 노드는 서비스 데이터 쿼리 요청에 기초하여, 쿼리될 서비스 데이터에 대응하는 데이터 유형을 결정하고, 블록체인 노드에 대응하는 데이터베이스로부터 데이터 유형에 매칭되는 서비스 데이터를 쿼리할 수 있다. 데이터 유형을 결정하는 경우, 사용자에 의해 전송된 서비스 데이터 쿼리 요청을 수신한 후, 블록체인 노드는 인덱스 필드, 즉, 서비스 데이터 쿼리 요청에 포함된 키를 결정하고, 인덱스 필드, 즉, 키를 쿼리될 서비스 데이터에 대응하는 데이터 유형으로서 결정할 수 있다.
데이터 테이블에서, 키를 인덱스 필드로서 사용함으로써 서비스 데이터를 쿼리하는 것에 추가로, 서비스 데이터는 사용자에 의해 인덱스를 생성함으로써 쿼리될 수 있다. 예를 들어, 이전의 예를 계속하여, 사용자가 가격 범위에 기초하여 서비스 데이터를 쿼리할 필요가 있으면, 사용자는 가격 범위를 블록체인 노드에 입력할 수 있다. 블록체인 노드는 사용자에 의해 입력된 가격 범위에 기초하여, 데이터베이스 내의 데이터 테이블로부터 가격 범위를 충족하는 서비스 데이터를 쿼리하고, 조건을 충족하는 서비스 데이터를 뷰잉(viewing)을 위해 사용자에게 리턴할 수 있다.
기존의 기술에서, 블록체인 노드는 스마트 계약에서 특정된 데이터 저장 포맷에 기초하여 서비스 데이터를 블록체인에 기록할 필요가 있다. 또한 블록체인 노드는 통상적으로, 데이터 저장 포맷에 기초하여, 디폴트로 블록체인 노드에 대응하는 메모리에 서비스 데이터를 저장한다. 따라서, 스마트 계약을 컴파일하는 프로세스에서, 블록체인 노드가 특정 데이터 저장 포맷에 기초하여, 블록체인 노드에 대응하는 메모리에 서비스 데이터를 저장하는 것이 통상적으로 특정된다. 대응적으로, 사용자가 스마트 계약을 사용함으로써 블록체인 노드로부터 서비스 데이터를 쿼리하는 경우, 사용자는 또한 고정된 쿼리 방식으로(예를 들어, 고정된 형태의 인덱스 필드를 사용함으로써), 블록체인 노드에 대응하는 메모리로부터 대응하는 서비스 데이터를 쿼리할 필요가 있다.
그러나, 실제로, 서비스 데이터를 쿼리하기 위해 사용자에 의해 사용되는 인덱스 필드는 고유하지 않다. 그 결과, 서비스 데이터를 쿼리하기 위해 사용자에 의해 사용되는 인덱스 필드는 스마트 계약에서 특정되지 않을 수 있다. 사용자가 스마트 계약을 충족하지 않는 인덱스 필드를 사용하면, 블록체인 노드는 스마트 계약을 사용함으로써 블록체인 노드로부터 이전의 서비스 데이터를 식별할 수 없다.
예를 들어, 블록체인 노드가 스마트 계약을 사용함으로써 미리 결정된 데이터 저장 포맷에 기초하여, 블록체인 노드에 대응하는 메모리에 서비스 요청을 저장하는 경우, 사용자는 후속적으로 단지 인덱스 필드로서 키를 사용함으로써 메모리로부터 서비스 데이터를 쿼리할 수 있다. 그러나, 블록체인 노드는 스마트 계약을 사용함으로써 스마트 계약에서 특정된 특정 데이터 포맷에 기초하여 서비스 데이터의 모든 조각들을 하나씩 저장하는데, 즉, 서비스 데이터를 관계형 데이터베이스에 데이터 테이블 형태로 저장하지 않는다. 따라서, 사용자가 값에 기록된 콘텐츠에 기초하여 서비스 데이터를 쿼리할 필요가 있는 경우, 스마트 계약은 사용자에 의해 블록체인 노드에 입력된 쿼리 필드를 효과적으로 지원할 수 없다. 그 결과, 사용자는 스마트 계약을 사용함으로써, 블록체인 노드에 대응하는 메모리로부터 이전의 서비스 데이터를 식별할 수 없다(이는, 단지 인덱스 필드로서 키를 사용함으로써 이전의 서비스 데이터가 쿼리될 수 없기 때문이다). 대안적으로, 블록체인 노드는, 블록체인 노드가 사용자에 의해 입력된 쿼리 필드에 기초하여 장시간 동안 메모리를 가로지르는 경우에만, 블록체인 노드에 대응하는 메모리로부터 대응하는 서비스 데이터를 식별할 수 있다.
본 출원의 본 구현에서, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 결정하기 위해 서비스 요청을 파싱하고, 마지막으로, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다. 따라서, 사용자는 데이터베이스에서 이러한 매핑 관계에 기초하여 서비스 데이터를 쿼리할 수 있어서, 인덱스에 기초하여 블록체인에서 쿼리를 수행하는 기존의 기술의 문제점을 완화하고 블록체인에서 데이터 쿼리의 융통성 및 효율을 효과적으로 개선할 수 있다.
본 출원의 본 구현에서, 사용자들의 서비스 데이터는 단지 식별 정보에 기초하여 데이터베이스에서 구별될 수 있고, 서비스 유형 분류는 모든 사용자들에 대해 수행되는 것은 아님을 주목할 가치가 있다. 따라서, 이전의 프로세스에서, 블록체인 노드는 데이터베이스를 생성하거나, 데이터베이스 내에 데이터 테이블을 생성하거나, 또는 식별 정보에 기초하여 데이터베이스 내에서 데이터 테이블을 결정할 수 있다. 명백하게, 서비스 데이터는 단지 서비스 유형에 기초하여 데이터베이스에서 구별될 수 있다. 서비스 필요에 따라 서비스 데이터를 구별하기 위해 특정 방식이 사용될 수 있다.
이전의 구현에서 제공된 데이터 저장 프로세스를 추가로 설명하기 위해, 본 출원의 구현에서, 본 출원에서 제공된 데이터 저장 방식은 도 3에 도시된 바와 같이 특정 실행 프로세스를 사용함으로써 추가로 설명된다.
도 3은 본 출원의 구현에 따른 상세한 데이터 저장 프로세스를 예시한다. 프로세스는 하기 단계들을 포함한다.
S301. 블록체인 노드가 서비스 요청을 수신한다.
블록체인 노드는 최종-사용자 디바이스를 사용함으로써 사용자에 의해 전송된 서비스 요청을 수신할 수 있다. 블록체인 노드는 최종-사용자 디바이스일 수 있거나, 서버일 수 있거나, 또는 블록체인 기술에 기초하는 관련된 서비스를 프로세싱할 수 있는 클라이언트일 수 있다.
S302. 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 결정하기 위해 서비스 요청을 파싱한다.
서비스 요청을 수신한 후, 블록체인 노드는 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 결정하기 위해 서비스 요청을 파싱할 수 있다. 블록체인 노드는 미리 결정된 파싱 프로그램을 사용함으로써 서비스 요청을 파싱할 수 있다. 파싱 프로그램은 실제 필요에 기초하여 블록체인 노드의 동작 및 유지보수 요원에 의해 설정될 수 있다.
S303. 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 파싱을 통해 획득되는 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 변환한다.
서비스 요청을 파싱함으로써 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득한 후, 블록체인 노드는 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 파싱을 통해 획득되는 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 변환할 수 있다. 데이터 시퀀스를 획득하는 특정 프로세스는 다음과 같을 수 있다: 블록체인 노드는 대응하는 데이터 시퀀스를 획득하기 위해, 파싱을 통해 획득되는 데이터를 특정 형태로 직렬화할 수 있다.
S304. 합의 절차를 위해 서비스 요청을 합의 네트워크에 전송하고, 서비스 요청에 대해 합의가 달성된다고 결정한 후 블록체인 노드에 대응하는 블록체인에 데이터 시퀀스를 저장한다.
서비스 요청을 수신하는 경우, 블록체인 노드는, 합의 네트워크 내의 다른 블록체인 노드가 서비스 요청에 대한 합의 절차를 수행하도록, 합의 네트워크에 서비스 요청을 전송할 수 있다. 다른 블록체인 노드가 서비스 요청에 대한 합의를 달성한다고 결정한 후, 블록체인 노드는 서비스 요청을 후속 서비스 데이터 검증을 위해 블록체인 노드에 의해 저장된 블록체인에 데이터 시퀀스 형태로 저장할 수 있다.
본 출원의 본 구현에서, 블록체인 노드가 서비스 요청을 수신할 때마다, 블록체인 노드는 합의 절차를 위해 합의 네트워크에 서비스 요청을 전송한다. 대안적으로, 블록체인 노드는 먼저 사용자들에 의해 전송된 서비스 요청들을 수신하고, 합의 단계에 도달되었다고 결정할 때, 수신된 서비스 요청들을 프리프로세싱 블록에 패킹하고(pack), 프리프로세싱 블록을 합의 절차를 위해 합의 네트워크에 전송할 수 있다. 대응적으로, 사용자들에 의해 전송된 서비스 요청들을 수신한 후, 블록체인 노드는 각각의 서비스 요청에 포함된 데이터 유형 및 데이터 유형에 대응하는 서비스 데이터를 결정하기 위해 서비스 요청들을 하나씩 파싱하고, 그 다음, 각각의 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 각각의 서비스 요청에 포함된 데이터 유형 및 데이터 유형에 대응하는 서비스 데이터를 변환할 수 있다.
합의 네트워크 내의 다른 블록체인 노드가 합의 네트워크에 전송된 프리프로세싱 블록에 대한 합의를 달성한다고 결정한 후, 블록체인 노드는 프리프로세싱 블록에 포함된 각각의 서비스 요청을, 각각의 서비스 요청에 대응하는 각각의 데이터 시퀀스의 형태로, 블록체인 노드에 포함된 블록체인에 저장할 수 있다.
S305. 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장한다.
파싱을 통해 획득되는 각각의 데이터 유형 및 서비스 데이터를 변환하는 경우, 블록체인 노드는, 사용자가 후속적으로 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여 데이터베이스로부터 대응하는 서비스 데이터를 식별할 수 있는 것을 보장하기 위해, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다.
블록체인 노드는 단계(S303) 및 단계(S305)를 동시에 수행할 수 있다. 즉, 데이터 시퀀스를 획득하기 위해 블록체인 노드가 파싱을 통해 획득되는 각각의 데이터 유형에 대응하는 서비스 데이터 및 각각의 데이터 유형을 변환하는 경우, 블록체인 노드는 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다.
명백하게, 합의 네트워크 내의 다른 블록체인 노드가 서비스 요청에 대한 합의를 달성한다고 결정한 후, 블록체인 노드는 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다.
상기 내용은 본 출원의 구현들에서 제공되는 데이터 저장 방법 및 데이터 쿼리 방법을 설명하였다. 동일한 개념에 기초하여, 본 출원의 구현들은 도 4 및 도 5에 도시된 바와 같이 데이터 저장 디바이스 및 데이터 쿼리 디바이스를 추가로 제공한다.
도 4는 본 출원의 구현에 따른 데이터 저장 디바이스를 예시하는 개략도이다. 디바이스는 서비스 요청을 수신하도록 구성된 수신 모듈(401); 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하도록 구성된 데이터 파싱 모듈(402); 및 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장하도록 구성된 저장 모듈(403)을 포함한다.
디바이스는 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 서비스 요청에 포함된 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 변환하고; 합의 네트워크를 사용함으로써 서비스 요청에 대한 합의 절차를 수행하고; 서비스 요청에 대해 합의가 달성된 후 디바이스에 대응하는 블록체인에 데이터 시퀀스를 저장하도록 구성된 합의 모듈(404)을 더 포함한다.
데이터 파싱 모듈(402)은 서비스 요청에 대응하는 서비스 유형 또는 식별 정보 중 적어도 하나를 결정한다.
저장 모듈(403)은 데이터 저장 스테이트먼트를 획득하기 위해, 미리 결정된 스테이트먼트 포맷에 기초하여, 파싱을 통해 획득되는 각각의 데이터 유형, 각각의 데이터 유형에 대응하는 서비스 데이터, 서비스 유형 또는 식별 정보 중 적어도 하나를 변환하고; 데이터 저장 스테이트먼트를 실행함으로써 파싱을 통해 획득되는 서비스 데이터를 데이터베이스에 저장한다.
저장 모듈(403)은, 데이터 저장 스테이트먼트를 실행함으로써, 서비스 유형 또는 식별 정보 중 적어도 하나에 매칭되는 어떠한 데이터베이스도 식별되지 않는다고 결정하는 경우, 서비스 유형 또는 식별 정보 중 적어도 하나에 기초하여, 서비스 유형 또는 식별 정보 중 적어도 하나에 대응하는 데이터베이스를 생성하고; 파싱을 통해 획득되는 서비스 데이터를 생성된 데이터베이스에 저장한다.
저장 모듈(403)은, 데이터베이스가 데이터 유형을 포함하지 않는다고 결정하는 경우 데이터베이스에서 데이터 시퀀스를 파싱함으로써 획득되는 각각의 데이터 유형을 생성하고; 데이터 유형에 대응하는 서비스 데이터를 데이터베이스에 저장한다.
도 5는 본 출원의 구현에 따른 데이터 쿼리 디바이스를 예시하는 개략도이다. 디바이스는, 서비스 데이터 쿼리 요청을 수신하도록 구성된 요청 수신 모듈(501); 서비스 데이터 쿼리 요청에 기초하여, 쿼리될 서비스 데이터에 대응하는 데이터 유형을 결정하도록 구성된 유형 결정 모듈(502); 및 디바이스에 대응하는 데이터베이스로부터 데이터 유형에 매칭되는 서비스 데이터를 쿼리하도록 구성된 데이터 쿼리 모듈(503) - 여기서 데이터베이스는 데이터 유형과 서비스 데이터 사이의 매핑 관계를 포함함 - 을 포함한다.
본 출원의 구현들에서, 사용자에 의해 전송된 서비스 요청을 수신한 후, 블록체인 노드는 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 서비스 요청을 파싱하고, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 서비스 데이터를 블록체인 노드에 대응하는 데이터베이스에 저장할 수 있다. 서비스 데이터는 파싱을 통해 획득되고, 서비스 데이터는 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 블록체인 노드에 대응하는 데이터베이스에 저장될 수 있다. 따라서, 사용자는 데이터베이스에서 이러한 매핑 관계에 기초하여 서비스 데이터를 쿼리할 수 있어서, 인덱스에 기초하여 블록체인에서 쿼리를 수행하는 기존의 기술의 문제점을 완화하고 블록체인에서 데이터 쿼리의 융통성 및 효율을 효과적으로 개선할 수 있다.
1990년대에는, 기술적 개선이 하드웨어 개선(예를 들어, 다이오드, 트랜지스터 또는 스위치와 같은 회로 구조에 대한 개선)인지 또는 소프트웨어 개선(방법 절차에 대한 개선)인지 여부가 명확하게 구별될 수 있다. 그러나, 기술들이 발전함에 따라, 많은 방법 절차들에 대한 현재 개선들은 하드웨어 회로 구조들에 대한 직접적인 개선들로 고려될 수 있다. 설계자는 통상적으로, 대응하는 하드웨어 회로 구조를 획득하기 위해, 개선된 방법 절차를 하드웨어 회로로 프로그래밍한다. 따라서, 하드웨어 엔티티 모듈을 사용함으로써 방법 절차가 개선될 수 있다. 예를 들어, 프로그래밍가능 로직 디바이스(PLD)(예를 들어, 필드 프로그래밍가능 게이트 어레이(FPGA))가 이러한 집적 회로이고, PLD의 로직 기능은 디바이스 프로그래밍을 통해 사용자에 의해 결정된다. 설계자는, 칩 제조자가 주문형 집적 회로 칩을 설계 및 생성하도록 요청함이 없이 디지털 시스템을 PLD에 "통합"하기 위한 프로그래밍을 수행한다. 또한, 현재, 집적 회로 칩을 수동으로 제조하는 대신에, 이러한 유형의 프로그래밍은 대부분 "로직 컴파일러" 소프트웨어를 사용함으로써 구현된다. 로직 컴파일러 소프트웨어는 프로그램을 발전 및 기록하기 위해 사용되는 소프트웨어 컴파일러와 유사하다. 오리지널 코드가 컴파일을 위해 특정 프로그래밍 언어에 기록될 필요가 있다. 이 언어는 하드웨어 디스크립션 언어(HDL)로 지칭된다. ABEL(Advanced Boolean Expression Language), AHDL(Altera Hardware Description Language), 콘플루언스(Confluence), CUPL(Cornell University Programming Language), HDCal, JHDL(Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, 및 RHDL(Ruby Hardware Description Language)과 같은 많은 HDL들이 존재한다. VHDL(very-high-speed integrated circuit hardware description language) 및 Verilog가 가장 통상적으로 사용된다. 당업자는 또한, 방법 절차가 몇몇 설명된 하드웨어 디스크립션 언어들을 사용함으로써 논리적으로 프로그래밍되고 집적 회로에 프로그래밍되면, 로직 방법 절차를 구현하는 하드웨어 회로가 용이하게 획득될 수 있음을 이해해야 한다.
임의의 적절한 방법을 사용함으로써 제어기가 구현될 수 있다. 예를 들어, 제어기는 마이크로프로세서 또는 프로세서, 또는 마이크로프로세서 또는 프로세서, 로직 게이트, 스위치, 주문형 집적 회로(ASIC), 프로그래밍가능 로직 제어기 또는 임베딩된 마이크로프로세서에 의해 실행될 수 있는 컴퓨터 판독가능 프로그램 코드(예를 들어, 소프트웨어 또는 펌웨어)를 저장하는 컴퓨터 판독가능 매체일 수 있다. 제어기의 예들은 하기 마이크로프로세서들, 즉, ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, 및 Silicon Labs C8051F320을 포함하지만 이에 제한되는 것은 아니다. 메모리 제어기는 또한 메모리의 제어 로직의 일부로서 구현될 수 있다. 당업자는 또한, 컴퓨터 판독가능 프로그램 코드를 사용함으로써 제어기를 구현하는 것에 추가로, 제어기가 로직 게이트의 형태로, 스위치, 주문형 집적 회로, 프로그래밍가능 로직 제어기 및 빌트-인 마이크로제어기와 동일한 기능을 구현하도록 허용하기 위해 방법 단계들 상에서 로직 프로그래밍이 수행될 수 있음을 인식한다. 따라서, 제어기는 하드웨어 컴포넌트로서 고려될 수 있고, 제어기에서 다양한 기능들을 구현하도록 구성된 디바이스는 또한 하드웨어 컴포넌트 내의 구조로서 고려될 수 있다. 또는 다양한 기능들을 구현하도록 구성된 디바이스는 심지어, 방법을 구현하는 소프트웨어 모듈 및 하드웨어 컴포넌트 내의 구조 둘 모두로서 고려될 수 있다.
이전의 구현들에서 예시된 시스템, 디바이스, 모듈 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나 또는 특정 기능을 갖는 제품을 사용함으로써 구현될 수 있다. 통상적인 구현 디바이스는 컴퓨터이다. 컴퓨터는, 예를 들어, 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말, 미디어 플레이어, 네비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이러한 디바이스들 중 임의의 디바이스의 조합일 수 있다.
설명의 용이함을 위해, 상기 디바이스는 기능들을 다양한 유닛들로 분할함으로써 설명된다. 명백하게, 본 출원이 구현되는 경우, 각각의 유닛의 기능은 소프트웨어 및/또는 하드웨어의 하나 이상의 조각들로 구현될 수 있다.
당업자는 본 개시의 구현이 방법, 시스템 또는 컴퓨터 프로그램 제품으로 제공될 수 있음을 이해해야 한다. 따라서, 본 개시는 하드웨어 전용 구현들, 소프트웨어 전용 구현들 또는 소프트웨어와 하드웨어의 조합을 갖는 구현들의 형태를 사용할 수 있다. 또한, 본 개시의 구현들은 컴퓨터 사용가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용가능 저장 매체들(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이에 제한되는 것은 아님) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 개시는 본 개시의 구현들에 기초하여 방법, 디바이스(시스템) 및 컴퓨터 프로그램 제품의 흐름도들 및/또는 블록도들을 참조하여 설명된다. 컴퓨터 프로그램 명령어들은 흐름도들 및/또는 블록도들 내의 각각의 프로세스 및/또는 각각의 블록, 및 흐름도들 및/또는 블록도들 내의 프로세스 및/또는 블록의 조합을 구현하기 위해 사용될 수 있음을 주목할 가치가 있다. 이러한 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 전용 컴퓨터, 임베딩된 프로세서, 또는 머신을 생성하기 위해 다른 프로그래밍가능 데이터 프로세싱 디바이스의 프로세서에 제공될 수 있어서, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스의 프로세서를 통해 실행되는 명령어들은 흐름도들의 하나 이상의 프로세스들 및/또는 블록도들의 하나 이상의 블록들에서 특정 기능들을 구현하기 위한 디바이스를 생성한다.
특정 방식으로 작동하도록 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스에 명령할 수 있는 이러한 컴퓨터 프로그램 명령들이 컴퓨터 판독가능 메모리에 저장되어, 컴퓨터 판독가능 메모리에 저장된 명령어들은 명령 디바이스를 포함하는 아티팩트(artifact)를 생성할 수 있다. 명령 디바이스는 흐름도들의 하나 이상의 프로세스들 및/또는 블록도들의 하나 이상의 블록들에서 특정 기능을 구현한다.
이러한 컴퓨터 프로그램 명령어들은 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스 상에 로딩되어, 컴퓨터 또는 다른 프로그래밍 디바이스 상에서 일련의 동작들 또는 동작들 및 단계들이 수행될 수 있고, 그에 따라 컴퓨터-구현 프로세싱을 생성할 수 있다. 따라서, 컴퓨터 또는 다른 프로그래밍가능 디바이스 상에서 실행되는 명령어들은 흐름도들의 하나 이상의 프로세스들 및/또는 블록도들의 하나 이상의 블록들에서 특정 기능들을 구현하기 위한 단계들을 제공한다.
통상적인 구성에서, 컴퓨팅 디바이스는 하나 이상의 프로세서들(CPU), 하나 이상의 입력/출력 인터페이스들, 하나 이상의 네트워크 인터페이스들 및 하나 이상의 메모리들을 포함한다.
메모리는 비-영구적 메모리, 랜덤 액세스 메모리(RAM), 비휘발성 메모리, 및/또는 컴퓨터 판독가능 매체 내에 있는 다른 형태, 예를 들어, 판독 전용 메모리(ROM) 또는 플래시 메모리(플래시 RAM)를 포함할 수 있다. 메모리는 컴퓨터 판독가능 매체의 예이다.
컴퓨터 판독가능 매체는, 임의의 방법 또는 기술을 사용함으로써 정보를 저장할 수 있는 영구적, 비-영구적, 착탈식 및 비착탈식 매체들을 포함한다. 정보는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 예들은 파라미터 랜덤 액세스 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다기능 디스크(DVD) 또는 다른 광학 스토리지, 카세트 자기 테이프, 자기 테이프/자기 디스크 스토리지, 다른 자기 저장 디바이스 또는 임의의 다른 비-송신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨팅 디바이스에 의해 액세스가능한 정보를 저장하기 위해 사용될 수 있다. 본 명세서에서 설명되는 바와 같이, 컴퓨터 판독가능 매체는 변조된 데이터 신호 및 캐리어와 같은 컴퓨터 판독가능 일시적 매체들을 포함하지 않는다.
용어들 "포함하다", "구비하다" 또는 이들의 임의의 다른 변형들은 비포괄적인 포함을 커버하도록 의도되어, 엘리먼트들의 리스트를 포함하는 프로세스, 방법, 제품 또는 디바이스는 그러한 엘리먼트들을 포함할 뿐만 아니라 명시적으로 나열되지 않은 다른 엘리먼트들을 포함하거나 또는 이러한 프로세스, 방법, 제품 또는 디바이스에 고유한 엘리먼트들을 더 포함함을 추가로 주목할 가치가 있다. "포함한다"에 의해 설명되는 엘리먼트는 추가의 제약들 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 제품 또는 디바이스 내의 다른 동일하거나 동등한 엘리먼트를 더 포함한다.
당업자는 본 출원의 구현이 방법, 시스템 또는 컴퓨터 프로그램 제품으로 제공될 수 있음을 이해해야 한다. 따라서, 본 출원은 하드웨어 전용 구현들, 소프트웨어 전용 구현들 또는 소프트웨어와 하드웨어의 조합을 갖는 구현들의 형태를 사용할 수 있다. 또한, 본 출원은 컴퓨터 사용가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용가능 저장 매체들(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이에 제한되는 것은 아님) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 출원은 컴퓨터에 의해 실행되는 컴퓨터 실행가능 명령어들, 예를 들어, 프로그램 모듈의 일반적 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정한 추상적 데이터 유형들을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 출원은 또한 분산형 컴퓨팅 환경들에서 실시될 수 있다. 분산형 컴퓨팅 환경들에서, 작업들은 통신 네트워크를 통해 접속된 원격 프로세싱 디바이스들에 의해 수행된다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 저장 디바이스들을 포함하는 로컬 및 원격 컴퓨터 저장 매체들 둘 모두에 위치될 수 있다.
본 명세서의 구현들은 점진적 방식으로 설명된다. 구현들의 동일하거나 유사한 부분들에 대해, 구현들이 참조될 수 있다. 각각의 구현은 다른 구현들로부터의 차이에 대해 집중된다. 특히, 시스템 구현은 기본적으로 방법 구현과 유사하고, 따라서 간략하게 설명된다. 관련 부분들의 경우, 방법 구현의 관련 설명들이 참조될 수 있다.
이전의 설명들은 본 출원의 구현들이고, 본 출원을 제한하도록 의도되지 않는다. 당업자는 본 출원에 대한 다양한 수정들 및 변화들을 행할 수 있다. 본 출원의 사상 및 원리로부터 벗어남이 없이 행해진 임의의 수정, 등가적 대체 또는 개선은 본 출원의 청구항들의 범위 내에 속할 것이다.

Claims (12)

  1. 데이터 저장을 위한 컴퓨터 구현 방법으로서,
    블록체인 노드에 의해, 블록체인에 기입하기 위한 상기 블록체인 노드에 대한 서비스 요청을 수신하는 단계;
    상기 서비스 요청에 대응하는 서비스 유형 및 식별 정보를 결정하는 단계;
    각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 서비스 데이터를 획득하기 위해 상기 서비스 요청을 파싱하는 단계;
    상기 블록체인 노드에 의해, 데이터 시퀀스를 획득하기 위해, 미리 결정된 데이터 포맷에 기초하여, 상기 서비스 요청 내의 각각의 데이터 유형 및 각각의 데이터 유형에 대응하는 상기 서비스 데이터를 변환하는 단계 - 상기 미리 결정된 데이터 포맷에는 데이터 필드가 특정되고, 상기 데이터 필드는 각각의 데이터 유형과 상기 서비스 요청 내의 서비스 데이터의 각각의 조각 사이의 매핑 관계를 나타내고, 각각의 데이터 유형은 키와 등가이고, 각각의 데이터 유형에 대응하는 상기 서비스 데이터는 값과 등가이고, 상기 데이터 필드는 키-값 데이터 매핑 세트임 - ;
    합의 네트워크를 사용함으로써 상기 서비스 요청에 대한 합의 절차를 수행하는 단계;
    상기 블록체인 노드에 의해, 상기 서비스 요청에 대해 합의가 달성된 후 상기 블록체인에 상기 데이터 시퀀스를 저장하는 단계;
    상기 블록체인 노드에 의해, 데이터 저장 스테이트먼트(statement)를 획득하기 위해, 미리 결정된 스테이트먼트 포맷에 기초하여, 파싱을 통해 획득된 각각의 데이터 유형, 각각의 데이터 유형에 대응하는 서비스 데이터, 상기 서비스 유형, 및 상기 식별 정보를 변환하는 단계; 및
    상기 블록체인 노드에 의해, 상기 서비스 요청에 대해 합의가 달성된 후 상기 데이터 저장 스테이트먼트를 실행함으로써, 데이터 유형과 서비스 데이터 사이의 매핑 관계에 기초하여, 파싱을 통해 획득되는 상기 서비스 데이터를 상기 블록체인 노드에 대응하는 데이터베이스에 저장하는 단계
    를 포함하는, 데이터 저장을 위한 컴퓨터 구현 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 미리 결정된 스테이트먼트 포맷은 식별 정보 필드 및 서비스 유형 필드를 포함하는 것인, 데이터 저장을 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 데이터 저장 스테이트먼트를 실행함으로써 파싱을 통해 획득되는 상기 서비스 데이터를 상기 데이터베이스에 저장하는 단계는,
    상기 데이터베이스 내의 어떠한 데이터 테이블도 서비스 유형 또는 상기 식별 정보 중 적어도 하나를 포함하지 않는다고 결정하는 것에 응답하여, 상기 서비스 유형 또는 상기 식별 정보 중 상기 적어도 하나에 기초하여 상기 데이터베이스 내에, 서비스 유형 또는 상기 식별 정보 중 상기 적어도 하나를 포함하는 데이터 테이블을 생성하는 단계; 및
    파싱을 통해 획득되는 상기 서비스 데이터를 상기 생성된 데이터 테이블에 저장하는 단계
    를 포함하는 것인, 데이터 저장을 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    파싱을 통해 획득되는 상기 서비스 데이터를 상기 데이터베이스에 저장하는 단계는,
    상기 데이터베이스가 상기 데이터 유형을 포함하지 않는다고 결정하는 것에 응답하여, 상기 데이터베이스에서 상기 데이터 시퀀스를 파싱함으로써 획득되는 각각의 데이터 유형을 생성하는 단계; 및
    상기 데이터 유형에 대응하는 서비스 데이터를 상기 데이터베이스에 저장하는 단계
    를 포함하는 것인, 데이터 저장을 위한 컴퓨터 구현 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 식별 정보는 사용자 공개 키 또는 사용자 아이덴티티를 포함하는 것인, 데이터 저장을 위한 컴퓨터 구현 방법.
  10. 제1항, 제3항 내지 제5항 및 제9항 중 어느 한 항의 컴퓨터 구현 방법을 수행하도록 구성되는 복수의 모듈들을 포함하는, 데이터 저장을 위한 디바이스.
  11. 삭제
  12. 삭제
KR1020197018700A 2017-03-28 2018-03-26 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스 KR102258437B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710191771.7 2017-03-28
CN201710191771.7A CN107239479B (zh) 2017-03-28 2017-03-28 一种基于区块链的数据存储以及查询的方法及装置
PCT/CN2018/080505 WO2018177252A1 (zh) 2017-03-28 2018-03-26 一种基于区块链的数据存储以及查询的方法及装置

Publications (2)

Publication Number Publication Date
KR20190094188A KR20190094188A (ko) 2019-08-12
KR102258437B1 true KR102258437B1 (ko) 2021-06-02

Family

ID=59983363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197018700A KR102258437B1 (ko) 2017-03-28 2018-03-26 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스

Country Status (16)

Country Link
US (3) US10713239B2 (ko)
EP (1) EP3547240A1 (ko)
JP (1) JP7021228B2 (ko)
KR (1) KR102258437B1 (ko)
CN (1) CN107239479B (ko)
AU (1) AU2018241565B2 (ko)
BR (1) BR112019013441A2 (ko)
CA (1) CA3048741C (ko)
MX (1) MX2019007806A (ko)
MY (1) MY196252A (ko)
PH (1) PH12019501518A1 (ko)
RU (1) RU2729960C1 (ko)
SG (2) SG10202105047SA (ko)
TW (1) TWI698813B (ko)
WO (1) WO2018177252A1 (ko)
ZA (1) ZA201904223B (ko)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911592B (zh) 2016-06-01 2020-06-12 创新先进技术有限公司 一种自适应资源分配方法及装置
CN107196989B (zh) 2017-03-21 2019-08-09 阿里巴巴集团控股有限公司 一种业务请求的处理方法及装置
CN111756550B (zh) * 2017-03-28 2023-08-22 创新先进技术有限公司 一种区块链共识方法及装置
CN107239479B (zh) 2017-03-28 2020-03-13 创新先进技术有限公司 一种基于区块链的数据存储以及查询的方法及装置
CN107562775B (zh) 2017-07-14 2020-04-24 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
US20190116036A1 (en) * 2017-10-17 2019-04-18 Hcl Technologies Limited System and method for building a blockchain application
CN107943951B (zh) * 2017-11-24 2020-08-11 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种区块链业务信息的检索方法及系统
CN107944868A (zh) * 2017-12-07 2018-04-20 杭州趣链科技有限公司 一种基于区块链智能合约的电子存证系统和管理方法
CN108446314B (zh) * 2018-02-07 2021-08-13 平安科技(深圳)有限公司 一种学生信息存储方法、计算机可读存储介质及终端设备
CN108345685A (zh) * 2018-03-07 2018-07-31 物数(上海)信息科技有限公司 区块链下的多粒度数据处理方法、系统、设备及存储介质
CN108833330B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种农村电子商务数据鉴证方法
CN108809929B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种基于区块链技术的农村金融系统
CN108664623A (zh) * 2018-05-14 2018-10-16 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种数据存储方法、装置、设备及介质
CN108632386B (zh) * 2018-05-15 2021-06-08 众安信息技术服务有限公司 一种区块链节点集群搭建方法及装置
CN110633389A (zh) * 2018-05-31 2019-12-31 阿里巴巴集团控股有限公司 区块链数据的处理方法、装置、系统以及电子设备
CN108932297B (zh) * 2018-06-01 2022-03-22 创新先进技术有限公司 一种数据查询、数据共享的方法、装置及设备
CN109034832A (zh) * 2018-06-13 2018-12-18 湖南搜云网络科技股份有限公司 区块链的信息处理方法及装置、信息处理节点及存储介质
CN108984645B (zh) * 2018-06-25 2021-02-02 百度在线网络技术(北京)有限公司 区块链处理方法、装置、设备及存储介质
CN108984768B (zh) * 2018-07-21 2022-03-08 江苏飞搏软件股份有限公司 分布链式数据资源目录和索引管理方法
CN109145201B (zh) * 2018-07-26 2020-11-10 百度在线网络技术(北京)有限公司 一种基于区块链的信息管理方法、装置、设备及存储介质
CN109101835A (zh) * 2018-08-08 2018-12-28 苏州酷外文化传媒有限公司 基于区块链的相亲交友平台的信息安全管理方法及装置
CN109271445A (zh) * 2018-08-21 2019-01-25 平安科技(深圳)有限公司 利用区块链存储数据的方法、装置及电子设备
CN109145189A (zh) * 2018-08-22 2019-01-04 杭州微链区块链科技有限公司 一种基于区块链的数据存入和搜索系统及其方法
CN108876383A (zh) * 2018-08-27 2018-11-23 广东工业大学 一种基于区块链的数据交易方法、装置及设备
CN110874492B (zh) * 2018-08-29 2023-05-26 阿里巴巴集团控股有限公司 数据处理方法、装置、计算设备及系统
US11334439B2 (en) * 2018-08-29 2022-05-17 International Business Machines Corporation Checkpointing for increasing efficiency of a blockchain
CN109241361A (zh) * 2018-08-31 2019-01-18 上海雄九投资控股(集团)有限公司 基于区块链的数据处理方法
CN109347917A (zh) * 2018-09-14 2019-02-15 北京沃杰知识产权有限公司 区块链数据共识处理方法、系统、存储介质和电子设备
CN110958211B (zh) * 2018-09-27 2022-05-27 安徽华峪文化科技有限公司 一种基于区块链的数据处理系统及方法
CN109377338A (zh) * 2018-10-17 2019-02-22 中链科技有限公司 基于区块链的金融产品处理方法及装置
US11036497B1 (en) * 2018-10-24 2021-06-15 Cerner Innovation, Inc. Code assessment for quality control of an object relational mapper and correction of problematic cast functions
CN114662159A (zh) 2018-10-26 2022-06-24 蚂蚁双链科技(上海)有限公司 一种数据的处理方法、装置及设备
CN109388643A (zh) * 2018-10-26 2019-02-26 陕西医链区块链集团有限公司 一种基于区块链的快速数据检索系统及方法
CN110011800B (zh) 2018-11-07 2020-04-14 阿里巴巴集团控股有限公司 一种区块链数据读取方法及装置
CN111291037A (zh) * 2018-11-22 2020-06-16 中国移动通信集团重庆有限公司 一种数据存储和查询方法、装置、设备及计算机存储介质
CN109446204B (zh) * 2018-11-27 2022-04-15 北京微播视界科技有限公司 一种即时通信的数据存储方法、装置、电子设备和介质
CN111224793B (zh) * 2018-11-27 2021-06-01 华为技术有限公司 数据存储方法、装置、计算机设备及可读存储介质
TWI700707B (zh) * 2018-11-28 2020-08-01 臺北醫學大學 取得電子醫療健康記錄的方法與系統
CN109669943A (zh) * 2018-11-30 2019-04-23 深圳灵图慧视科技有限公司 数据存储方法、数据查询方法及装置
CN109684408A (zh) * 2018-12-07 2019-04-26 深圳市智税链科技有限公司 区块链系统的数据管理方法、装置、介质及电子设备
CN111324787B (zh) * 2018-12-14 2023-06-23 北京沃东天骏信息技术有限公司 区块链浏览器中区块链数据的展现方法和装置
CN109840257B (zh) * 2018-12-15 2023-11-21 中国平安人寿保险股份有限公司 数据库查询方法、装置、计算机装置及可读存储介质
CN109815051A (zh) * 2018-12-20 2019-05-28 深圳智乾区块链科技有限公司 区块链的数据处理方法和系统
CN110046036A (zh) 2018-12-25 2019-07-23 阿里巴巴集团控股有限公司 一种操作请求分配方法、装置及设备
CN109766342B (zh) * 2018-12-28 2023-05-30 国云科技股份有限公司 一种基于区块链的数据存储与查询方法
CN109559231B (zh) * 2018-12-29 2020-08-04 华东师范大学 一种面向区块链的追溯查询方法
CN109766389B (zh) * 2019-01-09 2020-09-22 华东师范大学 一种基于位图索引的区块链轻客户端验证查询方法
CN111475309A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 一种数据处理方法、装置、区块链服务系统及存储介质
US11010394B2 (en) * 2019-02-15 2021-05-18 Drfirst.Com, Inc. Efficient access of chainable records
CN109871408B (zh) * 2019-03-05 2023-07-14 深圳市迅雷网络技术有限公司 一种多类型数据库适配方法、装置、电子设备及存储介质
CN111694502B (zh) * 2019-03-14 2023-05-30 北京沃东天骏信息技术有限公司 区块链数据存储方法、装置、设备及存储介质
CN110119309A (zh) * 2019-04-04 2019-08-13 中国平安人寿保险股份有限公司 数据处理方法、装置及存储介质
CN110162526B (zh) * 2019-04-18 2023-02-24 创新先进技术有限公司 一种块链式账本中数据记录的查询方法、装置及设备
CN110119486A (zh) * 2019-04-18 2019-08-13 杭州宇链科技有限公司 一种用于区块链交易的数据格式及其生成和解析方法
WO2020211569A1 (zh) * 2019-04-18 2020-10-22 创新先进技术有限公司 一种数据记录的索引创建方法
US10990705B2 (en) 2019-04-18 2021-04-27 Advanced New Technologies Co., Ltd. Index creation for data records
CN110162662B (zh) * 2019-04-18 2023-02-28 创新先进技术有限公司 一种块链式账本中数据记录的验证方法、装置及设备
CN110070444A (zh) * 2019-04-25 2019-07-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种区块链交易流程管理方法及相关装置
CN110209671A (zh) * 2019-05-17 2019-09-06 无锡朝阳供应链科技股份有限公司 一种分布式账本数据的存取系统及其应用
CN110163572B (zh) * 2019-05-21 2022-04-15 东软集团股份有限公司 一种链码函数处理方法、装置及设备
CN110245150B (zh) * 2019-05-30 2023-03-17 创新先进技术有限公司 数据处理、查询方法、装置、设备及数据处理系统
CN110211649A (zh) * 2019-05-30 2019-09-06 爱多特(广东)网络技术有限公司 基于区块链技术的病例分享激励方法及系统
CN112015806A (zh) * 2019-05-30 2020-12-01 中国移动通信集团浙江有限公司 区块链存储数据的方法及装置
CN110347674A (zh) * 2019-06-03 2019-10-18 阿里巴巴集团控股有限公司 一种基于业务标识的索引创建方法、装置及设备
US10963453B2 (en) 2019-06-03 2021-03-30 Advanced New Technologies Co., Ltd. Service identifier-based data indexing
US10789222B2 (en) 2019-06-28 2020-09-29 Alibaba Group Holding Limited Blockchain-based hierarchical data storage
CN110334154B (zh) * 2019-06-28 2020-07-21 阿里巴巴集团控股有限公司 基于区块链的分级存储方法及装置、电子设备
CN112152974B (zh) * 2019-06-28 2022-02-25 华为技术有限公司 基于区块链网络的数据确权方法及相关装置
WO2019179538A2 (en) * 2019-07-11 2019-09-26 Alibaba Group Holding Limited Shared blockchain data storage
SG11202002017YA (en) 2019-07-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage
SG11202001989WA (en) 2019-07-11 2020-04-29 Alibaba Group Holding Ltd Shared blockchain data storage
US10951417B2 (en) * 2019-07-12 2021-03-16 Advanced New Technologies Co., Ltd. Blockchain-based transaction verification
CN112307010B (zh) * 2019-07-29 2024-04-16 创新先进技术有限公司 一种数据存储方法、装置及设备
CN110457398A (zh) * 2019-08-15 2019-11-15 广州蚁比特区块链科技有限公司 区块数据存储方法及装置
CN110609839B (zh) 2019-09-17 2021-05-25 北京海益同展信息科技有限公司 区块链数据处理的方法、装置、设备及可读存储介质
CN110659264B (zh) * 2019-09-26 2022-09-23 联想(北京)有限公司 用于计算系统的业务处理方法、装置和计算系统
CN110795437B (zh) * 2019-11-04 2023-01-31 泰康保险集团股份有限公司 业务处理方法、系统、设备及计算机可读存储介质
KR102337836B1 (ko) * 2019-11-11 2021-12-10 한국전자기술연구원 블록체인 응용 외부 정보 인식 및 정보 제공방법
KR102505911B1 (ko) * 2019-11-27 2023-03-06 한국전자통신연구원 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치
US11620722B2 (en) 2019-11-27 2023-04-04 Electronics And Telecommunications Research Institute Method and apparatus of generating policy-based smart contract
KR20210075654A (ko) * 2019-12-13 2021-06-23 현대자동차주식회사 블록체인 생성 시스템 및 그 운용 방법
CN111090672B (zh) * 2019-12-18 2023-08-22 北京云迹科技股份有限公司 一种数据优化方法及装置
KR102298566B1 (ko) * 2019-12-19 2021-09-03 한전케이디엔주식회사 레거시 인사채용 시스템과 블록체인 플랫폼간의 통신 인터페이스 장치
CN111026336A (zh) * 2019-12-26 2020-04-17 中国建设银行股份有限公司 一种san存储系统的自动化运维方法及运维系统
CN113128998B (zh) * 2019-12-31 2024-04-12 航天信息股份有限公司 一种区块链系统的业务处理方法、装置及系统
CN111369237B (zh) * 2020-02-28 2023-07-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111459935B (zh) * 2020-03-20 2023-09-22 深圳市芯链科技有限公司 物联网数据存储方法、存储系统、查询方法及存储介质
CN111506584B (zh) * 2020-03-26 2023-07-25 金蝶软件(中国)有限公司 基于区块链的业务数据处理方法、装置和计算机设备
CN111488613A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 业务数据区块链的数据高效查询方法及装置
CN111427869A (zh) * 2020-04-10 2020-07-17 科通工业技术(深圳)有限公司 一种基于区块链的日志系统
CN111767301B (zh) * 2020-06-24 2022-07-15 江苏荣泽信息科技股份有限公司 一种基于区块链的关系型数据库解决方法
CN111935208A (zh) * 2020-06-28 2020-11-13 布比(北京)网络技术有限公司 区块链隐私数据共享方法、装置、计算机设备和存储介质
CN111866147A (zh) * 2020-07-23 2020-10-30 山东浪潮商用系统有限公司 远程视频业务办理方法、系统和管理终端
KR102443302B1 (ko) * 2020-11-02 2022-09-15 계명대학교 산학협력단 블록 체인 기반 서버리스 서비스 개발 장치 및 방법
CN112597153B (zh) * 2020-12-09 2023-07-25 杭州趣链科技有限公司 一种基于区块链的数据存储方法、装置及存储介质
CN113409045B (zh) * 2021-01-27 2023-03-21 支付宝(杭州)信息技术有限公司 一种基于区块链的数据处理方法、装置及电子设备
CN112765280B (zh) * 2021-02-03 2021-09-24 腾讯科技(深圳)有限公司 区块数据存储方法、装置、计算机可读介质及电子设备
CN112835904A (zh) * 2021-02-04 2021-05-25 北京电解智科技有限公司 一种数据处理方法和数据处理装置
CN113094397B (zh) * 2021-04-09 2022-05-24 杭州复杂美科技有限公司 数据存储和查询响应方法、区块执行方法
CN113221189B (zh) * 2021-04-29 2022-05-03 华中科技大学 基于区块链的身份认证系统、认证方法、介质、终端
KR102461213B1 (ko) * 2021-05-06 2022-10-31 주식회사 오퍼스엠 블록체인 기반 데이터베이스 운영방법 및 이를 구동하기 위한 블록체인 시스템
CN113139019B (zh) * 2021-06-18 2022-03-25 智己汽车科技有限公司 在区块链上记录车辆的里程数据的方法和装置
CN113792102A (zh) * 2021-08-03 2021-12-14 德方智链科技(深圳)有限公司 基于区块链的业务处理方法、电子设备及存储介质
CN114064740B (zh) * 2022-01-17 2022-05-13 通联支付网络服务股份有限公司 用于查询数据的方法、设备和介质
US11907186B2 (en) * 2022-04-21 2024-02-20 Bank Of America Corporation System and method for electronic data archival in a distributed data network
CN114579611B (zh) * 2022-05-05 2022-07-05 北京理工大学 一种跨链系统的数据并行查询方法及装置
CN116701563A (zh) * 2023-08-08 2023-09-05 佳瑛科技有限公司 基于分布式服务器的非结构化数据处理方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016149834A1 (en) * 2015-03-26 2016-09-29 Caswil Corporation System and method for querying data sources
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100527694C (zh) * 2006-05-10 2009-08-12 华为技术有限公司 为小型网络提供多个公网业务的方法及设备
CN101256650B (zh) * 2008-03-21 2012-02-15 中国科学院软件研究所 一种基于业务实体的企业数据提取方法与系统
WO2011011540A2 (en) * 2009-07-21 2011-01-27 Carexgen, Inc Cloud-based healthcare information exchange
US8732163B2 (en) * 2009-08-04 2014-05-20 Sybase, Inc. Query optimization with memory I/O awareness
US9569771B2 (en) * 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
CN103095746B (zh) * 2011-10-28 2016-08-03 腾讯科技(深圳)有限公司 一种通过微博向群用户发送消息的方法及装置
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
CN103713859B (zh) * 2013-12-30 2015-02-25 税友软件集团股份有限公司 一种移动存储装置及移动存储数据访问方法
JP6437285B2 (ja) 2014-11-21 2018-12-12 シャープ株式会社 通信装置、および通信装置の制御方法
US11386404B2 (en) * 2015-02-04 2022-07-12 Ripple Luxembourg S.A. Temporary consensus subnetwork in a distributed network for payment processing
US20160267566A1 (en) * 2015-03-13 2016-09-15 Mark Levitt Systems and methods for managing an inventory of digital gift card assets
EP3278287A4 (en) * 2015-03-31 2018-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160300234A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US10097356B2 (en) 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
JP2018525729A (ja) 2015-07-14 2018-09-06 エフエムアール エルエルシー 計算上効率的な移転処理、監査及びサーチ装置、方法及びシステム
US20170085555A1 (en) * 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US10785033B2 (en) * 2015-09-04 2020-09-22 Nec Corporation Method for storing an object on a plurality of storage nodes
CN105487816B (zh) * 2015-11-26 2019-01-11 布比(北京)网络技术有限公司 一种数据转移的方法及装置
CN105404701B (zh) * 2015-12-31 2018-11-13 浙江图讯科技股份有限公司 一种基于对等网络的异构数据库同步方法
US11354658B2 (en) * 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
JP6731783B2 (ja) 2016-05-19 2020-07-29 株式会社野村総合研究所 改ざん検知システム、及び改ざん検知方法
CN106445993A (zh) * 2016-07-11 2017-02-22 天津米游科技有限公司 一种基于区块链的数据指纹查询方法及装置
US20180018356A1 (en) * 2016-07-13 2018-01-18 Deepspace Storage Systems Inc. Relational database online storage manager
CN106383754A (zh) * 2016-09-19 2017-02-08 北京众享比特科技有限公司 一种基于区块链技术的数据库备份、恢复方法和系统
US10360191B2 (en) * 2016-10-07 2019-07-23 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system
CN106506493A (zh) 2016-10-27 2017-03-15 摩登大道时尚电子商务有限公司 基于区块链平台的数据处理方法
US20190079998A1 (en) * 2017-01-31 2019-03-14 Thomas Jay Rush Blockchain data-processing engine
US10225078B2 (en) * 2017-02-09 2019-03-05 International Business Machines Corporation Managing a database management system using a blockchain database
CN107239479B (zh) * 2017-03-28 2020-03-13 创新先进技术有限公司 一种基于区块链的数据存储以及查询的方法及装置
US10404471B1 (en) * 2017-04-26 2019-09-03 Wells Fargo Bank, N.A. Secure ledger assurance tokenization
US10565192B2 (en) * 2017-08-01 2020-02-18 International Business Machines Corporation Optimizing queries and other retrieve operations in a blockchain
CN107423426B (zh) * 2017-08-02 2020-06-02 众安信息技术服务有限公司 一种区块链块数据的数据归档方法及电子设备
US10977629B2 (en) * 2017-09-29 2021-04-13 Oracle Financial Services Software Limited Computerized messaging module for blockchain networks
US10831764B2 (en) * 2017-12-02 2020-11-10 International Business Machines Corporation Query processing and access control in a blockchain network
US10783272B2 (en) * 2017-12-08 2020-09-22 Nec Corporation Method and system of preserving privacy for usage of lightweight blockchain clients
US11243945B2 (en) * 2017-12-11 2022-02-08 International Business Machines Corporation Distributed database having blockchain attributes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016149834A1 (en) * 2015-03-26 2016-09-29 Caswil Corporation System and method for querying data sources
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
CN106506638B (zh) * 2016-11-04 2020-01-07 江苏通付盾科技有限公司 区块链中的区块存储方法及装置

Also Published As

Publication number Publication date
EP3547240A4 (en) 2019-10-02
SG10202100669YA (en) 2021-02-25
US20200026700A1 (en) 2020-01-23
US11204915B2 (en) 2021-12-21
WO2018177252A1 (zh) 2018-10-04
JP2020508503A (ja) 2020-03-19
TW201837747A (zh) 2018-10-16
US10713239B2 (en) 2020-07-14
MX2019007806A (es) 2019-09-06
CN107239479B (zh) 2020-03-13
PH12019501518A1 (en) 2020-06-01
MY196252A (en) 2023-03-24
SG10202105047SA (en) 2021-06-29
JP7021228B2 (ja) 2022-02-16
EP3547240A1 (en) 2019-10-02
US20210141784A1 (en) 2021-05-13
ZA201904223B (en) 2020-10-28
KR20190094188A (ko) 2019-08-12
BR112019013441A2 (pt) 2019-12-31
CN107239479A (zh) 2017-10-10
RU2729960C1 (ru) 2020-08-13
CA3048741A1 (en) 2018-10-04
AU2018241565A1 (en) 2019-07-18
US10942921B2 (en) 2021-03-09
US20200265041A1 (en) 2020-08-20
TWI698813B (zh) 2020-07-11
CA3048741C (en) 2021-04-13
AU2018241565B2 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
KR102258437B1 (ko) 블록체인 기반 데이터 저장 및 쿼리 방법 및 디바이스
US11216476B2 (en) Data processing method, apparatus, and device
CN107480198B (zh) 一种分布式NewSQL数据库系统和全文检索方法
CN106970936B (zh) 数据处理方法及装置、数据查询方法及装置
CN107038207B (zh) 一种数据查询方法、数据处理方法及装置
US10467266B2 (en) Information query
KR20180069813A (ko) 타이틀 표시 방법 및 장치
CN110245279B (zh) 依赖树生成方法、装置、设备及存储介质
US20210357461A1 (en) Method, apparatus and storage medium for searching blockchain data
CN110399359B (zh) 一种数据回溯方法、装置及设备
CN106156050B (zh) 一种数据处理方法及装置
CN108959330B (zh) 一种数据库的处理、数据查询方法及设备
US10901971B2 (en) Random walking and cluster-based random walking method, apparatus and device
CN110992039B (zh) 交易处理方法、装置及设备
CN110083602B (zh) 一种基于hive表的数据存储及数据处理的方法及装置
CN107562533B (zh) 一种数据加载处理方法及装置
CN108153799B (zh) 数据库访问控制方法、装置和数据库系统
CN115129786A (zh) 一种维护区块链数据的方法、装置、电子设备和存储介质
CN111339117B (zh) 数据处理方法、装置及设备
CN104239576A (zh) 查找HBase表列值中所有行的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant