KR20210106379A - 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램 - Google Patents

블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램 Download PDF

Info

Publication number
KR20210106379A
KR20210106379A KR1020210022183A KR20210022183A KR20210106379A KR 20210106379 A KR20210106379 A KR 20210106379A KR 1020210022183 A KR1020210022183 A KR 1020210022183A KR 20210022183 A KR20210022183 A KR 20210022183A KR 20210106379 A KR20210106379 A KR 20210106379A
Authority
KR
South Korea
Prior art keywords
data processing
data
request
processing task
task request
Prior art date
Application number
KR1020210022183A
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 KR20210106379A publication Critical patent/KR20210106379A/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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/10ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medicinal Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 출원은 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램을 개시하였으며, 블록체인 기술에 관한 것이며, 해당 방법은 로컬에서 생성한 데이터 처리 업무 요청을 획득하는 것; 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 하는 것; 상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하는 것; 상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청하는 것; 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정된 것에 응답하여, 업데이트된 데이터를 무효로 확정하는 것; 및 블록체인 네트워크가 상기 데이터 처리 업무 요청을 실행하였다고 확정된 것에 응답하여, 상기 업데이트된 데이터를 확인상태로 표기하는 것을 포함한다. 미확인 상태를 증설함으로써, 데이터로 하여금 시효성과 온체인의 확실성을 함께 고려하도록 하였다.

Description

블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램{BLOCKCHAIN-BASED DATA PROCESSING METHOD AND APPARATUS, DEVICE, MEDIUM, AND PROGRAM}
본 출원의 실시예는 컴퓨터 기술분야에 관한 것이며, 구체적으로는 블록체인 기술에 관한 것이다.
블록체인 기술의 보급속도는 매우 빨라, 이미 수많은 정경에 응용되어 데이터 처리와 저장 문제를 해결하고 있으며, 여기서 하나의 전형적인 응용 정경은 전체 네트워크 융합의 데이터 종합 저장을 진행하는 것이다.
전체 네트워크 융합이란, 일반적으로 전체 네트워크에 복수의 데이터 센터가 포함되는 것을 가리키고, 각 데이터 센터에는 데이터의 증가, 삭제, 수정, 검색의 수요가 있을수 있다. 그러나 전체 네트워크 범위 내에서는, 각 데이터 센터의 데이터를 종합하여 통계한 후 저장해야 했다. 병원 시스템을 예로 들면, 각 병원은 자신의 데이터 센터를 구비하고, 여러 병원의 데이터는 상급 정부기관에 집결하여 종합해야 한다.
기존의 전체 네트워크 융합의 데이터 종합 저장 방안에 있어서, 네트워크 통신의 영향을 받아, 복수의 데이터 센터의 데이터 보고에는 충돌, 시간 지연 등 여러 가지 문제점이 존재하며, 이로 하여 데이터 종합의 시효성을 저감시키고, 데이터 센터 객체의 데이터 및 종합 데이터에 대한 사용시효성이 모두 우수하지 않았다.
본 출원의 실시예는 블록체인에 기반한 데이터 처리 방법, 장치, 기기와 매체를 개시함으로써, 전체 네트워크 융합의 데이터 종합 시스템에서 데이터 처리의 시효성을 향상시킬 수 있도록 한다.
제1 측면에서, 본 출원의 실시예는 블록체인에 기반한 데이터 처리 방법을 제공하며, 해당 방법은,
로컬에서 발생한 데이터 처리 업무 요청을 획득하는 것;
상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 하는 것;
상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하는 것;
상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청하는 것; 및
상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 업데이트된 데이터를 무효 데이터로 확정하는 것; 또는
상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행한 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 확인상태의 데이터로 표기하는 것을 포함한다.
본 출원의 실시예는 획득한 데이터 처리 업무 요청을 사전 실행함으로써, 읽기 데이터와 쓰기 데이터를 포함하는 사전 실행결과를 얻은 다음, 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태로 표기하며, 사전 실행결과를 데이터 처리 업무 요청에 패키징하여, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송함으로써, 기타 노드로 하여금 해당 패키징된데이터 처리 업무 요청을 처리하도록 요청하며, 처리결과에 근거하여 해당 패키징된 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효로 확정하거나 또는 확인상태로 표기하여, 기존의 블록체인 기술이 데이터 종합 시스템에 응용될 때 존재하는 데이터 처리의 시효성이 차한 문제를 해결하였으며, 전체 네트워크 융합의 데이터 종합 시스템에서 데이터 처리의 시효성을 향상시키도록 하였다.
이 외에, 본 출원의 실시예에 따른 블록체인에 기반한 데이터 처리 방법은 아래와 같은 부가적인 기술적 특징을 더 구비할 수 있다.
선택적으로, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효 데이터로 확정하는 것은,
패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 삭제하거나 또는 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터가 무효상태의 데이터를 포함한 것으로 표기하는 것을 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 업데이트된 데이터에 대해 무효처리, 즉 무효한 업데이트된 데이터에 대해 무효작업을 실행함으로써, 에러 데이터를 선별 및 처리할 수 있으며, 데이터 처리의 정확도를 향상시킬 수 있다.
선택적으로, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효 데이터로 확정한 후,
로컬 데이터 베이스에 상기 무효 데이터에 의존하는 기타 미확인 상태의 데이터가 존재하는 것이 확정된 것에 응답하여, 상기 기타 미확인 상태의 데이터를 무효 데이터로 확정하고, 상기 기타 미확인 상태의 데이터와 관련되는 기타 데이터 처리 업무 요청을 무효 요청으로 확정하는 것을 더 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 의존성을 가지는 데이터가 후속의 데이터 처리 업무 요청에 대한 연속적인 영향을 효과적으로 피면할수 있으며, 블록체인 노드 로컬 데이터에 대량의 에러가 발생하는 것을 피면할 수 있다.
선택적으로, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효 데이터로 확정한 후,
패키징된 상기 데이터 처리 업무 요청을 포기하는 것, 또는
패키징된 상기 데이터 처리 업무 요청에서의 콘텐츠에 근거하여, 업데이트한 데이터 처리 업무 요청을 생성하고 상기 업데이트한 데이터 처리 업무 요청에 대해 사전 실행을 진행하는 것을 더 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 효과적이고 정확하게 데이터 처리 업무 요청을 처리하도록 확보할 수 있다.
선택적으로, 블록체인에 기반한 데이터 처리는,
데이터 액세스 요청을 수신하였을 때, 상기 로컬 데이터 베이스의 상기 확인 상태의 데이터와 상기 미확인 상태의 데이터에 기반하여 응답 처리를 진행하는 것을 더 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 데이터의 공유와 교류를 실현할 수 있다.
선택적으로, 블록체인에 기반한 데이터 처리는,
상기 기타 블록체인 노드가 전송한 복수의 데이터 처리 업무 요청을 획득하고, 복수의 상기 데이터 처리 업무 요청을 검증 대기 데이터 처리 업무 요청으로 표기하는 것;
각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것; 및
충돌이 발생한 검증 대기 데이터 처리 업무 요청을 식별한 것에 응답하여, 온체인을 거절하는 것을 더 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 데이터 처리 업무 요청 사이에 충돌이 존재한다고 확정되였을 때 온체인 동작을 거절하여, 블록 데이터의 정확도를 담보할 수 있다.
선택적으로, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은,
설정된 순서에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 차례로 실행하는 것;
현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 각 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는지 여부를 효과적으로 식별할 수 있다.
선택적으로, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은,
각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하는 것;
상기 토폴로지 정렬 기간에 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것에 응답하여, 상기 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청중의 하나를 접수하고, 상기 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청중의 기타 검증 대기 데이터 처리 업무 요청을 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 더 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 각 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는지 여부를 효과적으로 식별할 수 있다.
선택적으로, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은,
각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하는 것;
상기 토폴로지 정렬의 결과에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 실행하는 것; 및
현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 상기 현재 실행하는 검증 대기 데이터 처리 업무 요청을 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 더 포함한다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 각 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는지 여부를 효과적으로 식별할 수 있다.
선택적으로, 상기 로컬에서 발생한 데이터 처리 업무 요청은 데이터 기입 처리 업무 요청이고, 상기 블록체인 노드중의 상기 하나 또는 복수의 블록체인 노드가 상대하는 데이터 객체는 상기 블록체인 노드중의 기타 블록체인 노드와 동일할 수 있다.
상기 출원에서의 한 실시예는 아래와 같은 장점 또는 유익한 효과를 가진다. 즉: 블록체인 노드 중의 하나 또는 복수개가 상대하는 데이터 객체는 해당 블록체인 노드 중의 기타 블록체인 노드가 상대하는 데이터 객체와 동일할 수 있으므로, 각 블록체인 노드 데이터 처리 업무 요청 사이의 연결을 건립하여, 블록체인 네트워크의 전체 네트워크 융합의 수요를 실현할 수 있다.
제2 측면에서, 본 출원의 실시예는 블록체인에 기반한 데이터 처리 장치를 더 제공하며, 해당 장치는,
로컬에서 생성한 데이터 처리 업무 요청을 획득하기 위한 데이터 처리 업무 요청 획득모듈;
상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 하기 위한 데이터 처리 업무 요청 사전 실행모듈;
상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 상기 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하기 위한 미확인 상태 표기모듈;
상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 상기 데이터 처리 업무 요청을 처리하도록 요청하기 위한 사전 실행결과 패키징 모듈; 및
상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다는 것을 확정한 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 업데이트된 데이터를 무효 데이터로 확정하기 위한 제1 업데이트된 데이터 처리모듈; 또는
상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행한 것을 확정한 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 확인상태의 데이터로 표기하기 위한 제2 업데이트된 데이터 처리모듈을 포함한다.
제3 측면에서, 본 출원의 실시예는 전자기기를 더 제공하며, 해당 전자 기기는,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 통신연결된 메모리를 포함하며, 여기서,
상기 메모리는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장하고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되여, 상기 적어도 하나의 프로세서로 하여금 제1 측면의 실시예에서 제공하는 블록체인에 기반한 데이터 처리 방법을 수행할수 있도록 한다.
제4 측면에서, 본 출원의 실시예는 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체를 더 제공하며, 상기 컴퓨터 명령은 상기 컴퓨터로 하여금 제1 측면의 실시예에서 제공하는 블록체인에 기반한 데이터 처리 방법을 수행하도록 하는 것을 특징으로 한다.
본 출원은 블록체인에 기반한 데이터 처리 방법, 장치, 기기와 매체를 개시함으로써, 전체 네트워크 융합의 데이터 종합 시스템에서 데이터 처리의 시효성을 향상시키는 효과가 있다.
상기 선택적인 방식이 구비한 기타 효과는 아래 내용에서 구체적인 실시예와 결부하여 더 설명할 것이다.
도면은 본 방안을 더 잘 이해하기 위한 것으로서, 본 출원에 대한 한정이 되지 않는다. 여기서,
도 1은 본 출원의 실시예1에서 제공하는 블록체인에 기반한 데이터 처리 방법의 흐름도;
도 2는 본 출원의 실시예2에서 제공하는 블록체인에 기반한 데이터 처리 방법의 흐름도;
도 3은 본 출원의 실시예3에서 제공하는 블록체인에 기반한 데이터 처리 장치의 구조도;
도 4는 본 출원의 실시예에 따른 블록체인에 기반한 데이터 처리 방법을 실현하기 위한 컴퓨터기기의 블록도이다.
이하 도면과 결부하여 본 출원의 예시적인 실시예를 설명하되, 여기서 본 출원의 실시예를 포함하는 여러 가지 세부절차는 이해를 돕기 위한 것으로 이들은 응당 예시적인 것으로 간주해야 한다. 따라서 해당 분야 기술자들은 여기서 설명한 실시예에 대하여 여러 가지 변화와 수정을 진행할 수 있고, 이는 본 출원의 범위와 정신을 벗어나지 않는다는 것을 인식하여야 한다. 마찬가지로, 명확함과 간결함을 위하여, 아래의 설명에서는 공지 기능과 구조에 대한 설명을 생략한다.
실시예1
도 1은 본 출원의 실시예1에서 제공하는 블록체인에 기반한 데이터 처리 방법의 흐름도이고, 본 출원의 실시예는 블록체인에서의 데이터를 고효율적으로 처리하는 경우에 적용될 수 있으며, 해당 방법은 블록체인에 기반한 데이터 처리 장치에 의해 수행될 수 있고, 해당 장치는 소프트웨어 및/또는 하드웨어의 방식으로 실현될 수 있으며, 일반적으로 컴퓨터기기에 집적될 수 있다. 해당 컴퓨터기기는 블록체인 노드기기 일 수 있다. 상응하게, 도 1에 도시된 바와 같이, 해당 방법은 아래와 같은 조작을 포함한다.
S110, 로컬에서 발생한 데이터 처리 업무 요청을 획득한다.
여기서, 데이터 처리 업무 요청은 블록체인 노드가 발생한 것으로서 데이터를 처리하는 업무 요청일 수 있다. 선택적으로, 블록체인 노드는 병원 데이터 센터 및/또는 요금소 데이터 센터 등 전자기기에 배치될 수 있고, 본 출원의 실시예는 블록체인 노드의 응용 정경을 한정하지 않는다.
본 출원의 실시예에서, 각 데이터 센터는 블록체인 노드로서 블록체인 네트워크의 운행에 참여하여, 블록체인 기술에 의해 각 데이터 센터의 전체 네트워크 융합을 실현하도록할 수 있다. 블록체인 노드는 블록체인 네트워크에서의 각 데이터 객체에 대한 데이터 처리 업무 요청을 생성할 수 있고, 데이터 처리는 증가, 삭제, 수정, 검색 등 액세스 조작을 포함할 수 있다.
각 데이터 센터마다 모두 데이터에 대한 자신의 관리 수요가 있게 되므로, 데이터 객체를 로컬에 저장하며, 신속하게 조회할 수 있도록 한다. 데이터 센테가 구성한 블록체인 네트워크에 있어서, 각 데이터 센터는 일반적으로 오프라인 비즈니스에 근거하여 새로운 데이터를 생성하게 된다. 예를 들면, 병원의 데이터 센터는 새로 증가한 병례, 새로운 약품 사용량 정보 등을 생성하게 되는데, 이로써 로컬에서 이러한 데이터의 데이터 처리 업무 요청을 생성할 수 있게 된다.
각 블록체인 노드가 로컬에서 수요에 따라 저장한 데이터 객체는 동일할 수도 있고 상이할 수도 있다. 예를 들면, 상이한 병원의 데이터 센터는 이 병원과 관련된 환자 정보에만 관심을 가지게 되므로, 이 병원과 관련된 환자의 데이터 객체만 저장하게 된다. 상이한 병원의 데이터 센터는 기타 병원의 일부 데이터, 예를 들어 약품 저장량, 혈액 저장량 등에 대해 관심을 가질 수 있다. 모든 이러한 정보는 모두 데이터 객체로서, 온체인 저장되고, 온체인 저장된 정보에 기반하여 종합할 수 있다. 예를 들면, 모든 병원의 약품 저장량은 종합하여 통계할 필요가 있고, 각 병원 특정일의 새로 증가한 병례, 새로 증가한 사망자수는 종합하여 통계할 필요가 있다.
S120, 상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 한다.
여기서, 사전 실행은 블록체인 노드가 로컬에서 데이터 처리 업무 요청를 처리하는 것으로 이해할 수 있다. 사전 실행 결과는 블록체인 노드가 로컬에서 데이터 처리 업무 요청을 처리한 결과라고 이해할 수 있다. 사전 실행결과는 통상적으로 이미 존재하는 데이터 객체에 대한 판독 조작 및 이미 존재하는 데이터 객체에 대한 기입 조작 또는 새로 증가한 데이터 객체에 대한 기입 조작을 포함한다. 판독 조작과 관련된 데이터 객체는 읽기 데이터이고, 기입 조작과 관련된 데이터 객체는 쓰기 데이터이다.
상응하게, 블록체인 노드는 로컬에서 생성한 데이터 처리 업무 요청을 획득한 후, 상응한 스마트 계약을 호출하여 데이터 처리 업무 요청을 사전 실행하여, 읽기 데이터와 쓰기 데이터를 포함하는 사전 실행결과를 얻도록 할 수 있다.
S130, 상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기한다.
여기서, 미확인 상태는 블록체인 노드가 로컬 저장한 데이터 표기의 한가지 상태 유형일 수 있다.
전통적인 블록체인 네트워크에서, 데이터 처리 업무 요청의 실행결과는 모든 노드의 검증 확인을 얻기 전에는 온체인이 불가능하다. 온체인이 되지 않은 데이터는 로컬 데이터 베이스에서 업데이트되지 않는다. 만약 네트워크 통신, 업무 요청 동시성 등 문제로 인하여 데이터 처리 업무 요청이 제때에 온체인 되도록 처리될 수 없으면, 이러한 데이터는 로컬화되여 사용될 수 없다. 예를 들면, 해당 병원의 데이터 센터는 내부 작업인원들을 위해 이러한 온체인되지 않은 데이터에 대한 조회를 제공할 수 없고, 나아가 외부인원에게 온체인되지 않은 데이터에 대한 조회도 제공할 수 없게 된다. 따라서 시효성이 비교적 차하다.
이런 문제를 해결하기 위하여, 본 출원의 실시예에서, 블록체인 노드는 데이터 처리 업무 요청의 사전 실행결과를 획득한 후, 사전 실행결과에서의 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 즉시 업데이트할 수 있다. 구체적인 예에서, 데이터 객체를 총 확진 병례라고 가정하면, 해당 데이터 객체와 대응되는 수치는 100례이다. 사전 실행결과에 포함되는 쓰기 데이터가 새로 증가한 확진 병례 5례이면, 사전 실행결과에서의 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하는 것은, 총 확진 병례 105례로 업데이트하는 것일수 있다.
설명해야 할 것은, 사전 실행결과는 단지 블록체인 노드의 로컬 수행결과로서, 기타 블록체인 노드의 합의를 아직 통과하지 못하였으므로, 그 유효성도 확인할 수 없다. 그러나 블록체인 노드가 로컬 데이터에 대한 증가, 삭제, 수정, 검색 기능을 실현하기 위하여, 사전 실행결과에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하여, 해당 데이터 객체의 업데이트된 데이터가 아직 합의를 통과하지 못하였다는 것을 확인할 수 있다. 블록체인 노드 로컬 데이터 베이스의 데이터는 모두 조회 및 액세스에 제공될 수 있고, 동시에 해당 데이터 객체가 이미 온체인된 확인상태 또는 온체인되지 않은 미확인 상태에 있는지를 파악할 수 있다.
S140, 상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청한다.
상응하게, 블록체인 노드는 데이터 처리 업무 요청의 사전 실행결과를 획득한 후, 사전 실행결과를 해당 데이터 처리 업무 요청에 패키징하고, 해당 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송함으로써, 기타 노드로 하여금 해당 패키징된 데이터 처리 업무 요청을 처리하도록 요청할 수 있다. 기타 노드는 패키징된 데이터 처리 업무 요청을 수신한 후, 역시 마찬가지로 해당 패키징된 데이터 처리 업무 요청을 실행하여 검증을 완성하도록 할 수 있다. 만약 실행결과가 사전 실행결과와 일치하면, 온체인할 수 있다.
S150, 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정하면, 패키징된 상기 데이터 처리 업무 요청과 관련되는 업데이트된 데이터를 무효 데이터로 확정한다.
본 출원의 하나의 선택적인 실시예에서, 블록체인 네트워크가 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정하는 것은, 기타 블록체인 노드 중의 하나 또는 복수개가 피드백한 데이터 처리 업무 요청을 실행하는 것을 거절하는 통지를 수신하는 것을 포함할 수 있다.
블록체인 네트워크에서의 각 블록체인 노드는 수신한 데이터 처리 업무 요청에 근거하여 처리할 수 있으나, 처리결과가 합의를 통과하지 못하게 되면, 예를 들어 처리결과가 데이터 처리 업무 요청에 포함되는 사전 실행결과와 서로 충돌되면, 데이터 처리 업무 요청을 실행하는 것을 거절하는 통지를 생성한다. 선택적으로, 기타 블록체인 노드는 유니캐스트 또는 브로드캐스트의 방식으로 데이터 처리 업무 요청을 수행하는 것을 거절하는 통지를 피드백할 수 있다.
설명해야 할 것은, 일부 상황에서, 블록체인 네트워크에서의 각 블록체인 노드는 수신한 데이터 처리 업무 요청에 근거하여 처리를 진행하고, 처리결과가 합의를 통과하였지만, 즉, 기타 블록체인 노드가 데이터 처리 업무 요청을 수행하는 것을 거절하는 통지를 피드백하지 않았지만, 네트워크 통신질량이 차한 것과 같은 여러 요소로 인하여 메시지 분실 또는 지연 등이 발생하여, 설정된 시간 내에 블록체인 네트워크가 상응한 블록을 생성하지 못하였거나, 또는 온체인 조작을 발생하지 않게 되면, 블록체인 네트워크가 데이터 처리 업무 요청을 실행하는 것을 거절한다는 것으로 묵인할 가능성이 있다. 즉, 데이터 처리 업무 요청의 실행이 거절되는 원인은 여러 가지가 있을 수 있는데, 본 출원의 실시예는 이에 대해 한정하지 않는다.
본 출원의 실시예에서, 만약 블록체인 노드에서 블록체인 네트워크가 데이터 처리 업무 요청을 수행하는 것을 거절한다고 확정하면, 해당 데이터 처리 업무 요청의 사전 실행결과가 무효라고 인정하고, 해당 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효로 확정할 수 있다.
본 출원의 하나의 선택적인 실시예에서, 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효로 확정하는 것은, 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 삭제하거나 또는 그를 무효상태로 표기하는 것을 포함한다. 무효한 업데이트된 데이터에 대해 처리를 진행, 즉 그에 대해 무효작업을 수행함으로써, 에러 데이터에 대한 선별 및 처리를 실현할 수 있으며, 따라서 데이터 처리의 정확도를 향상시킬 수 있다.
본 출원의 하나의 선택적인 실시예에서, 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효로 확정한 후, 만약 로컬 데이터 베이스에 해당 무효 데이터 또는 현재의 무효 데이터에 의존하는 기타 미확인 상태 데이터가 존재하는 것이 검출되면, 해당 기타 미확인 상태 데이터를 무효로 확정하고, 대응되는 기타 데이터 처리 업무 요청을 무효로 확정하는 것을 더 포함할 수 있다.
이해할 수 있는 것은, 각 데이터 처리 업무 요청 사이에는 의존성을 가질 수 있다. 예시적으로, 데이터 처리 업무 요청1과 데이터 처리 업무 요청2는 모두 총 확진 병례를 계산하는 것이다. 블록체인 노드는 데이터 처리 업무 요청1에 대해 처리를 완성한 후, 데이터 처리 업무 요청1의 처리결과의 기초상에, 데이터 처리 업무 요청2을 처리해야 한다. 따라서, 데이터 처리 업무 요청2는 데이터 처리 업무 요청1의 처리 데이터에 의존해야 한다. 이런 경우, 만약 데이터 처리 업무 요청1의 처리 데이터가 무효 데이터, 즉 블록체인에서 합의 확인을 받지 못하였으면, 데이터 처리 업무 요청1의 처리 데이터에 기반하여 얻은 데이터 처리 업무 요청2의 미확인 상태 데이터도 무효이므로, 데이터 처리 업무 요청2의 미확인 상태 데이터를 무효로 확정하고, 데이터 처리 업무 요청2를 무효로 확정해야 한다. 이렇게 설정한 장점은, 의존성을 가지는 데이터가 후속의 데이터 처리 업무 요청에 대한 연속적인 영향을 효과적으로 피면하여, 블록체인 노드 로컬 데이터에 대량의 에러가 나타나는 것을 피면할 수 있다.
본 출원의 하나의 선택적인 실시예에서, 상기 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효 데이터로 확정한 후, 상기 데이터 처리 업무 요청을 포기하거나 또는 상기 데이터 처리 업무 요청에서의 콘텐츠에 근거하여, 업데이트한 데이터 처리 업무 요청을 생성하고 그에 대해 사전 실행을 진행하는 것을 더 포함할 수 있다.
상응하게, 만약 데이터 처리 업무 요청과 대응되는 업데이트된 데이터가 무효로 확정되면, 해당 데이터 처리 업무 요청을 그대로 포기할 수 있다. 대체적으로, 데이터 처리 업무 요청에서의 콘텐츠에 근거하여 업데이트한 또는 새로운 데이터 처리 업무 요청을 생성하고 사전 실행하여, 효과적이고 정확하게 데이터 처리 업무 요청을 처리하도록 확보할 수 있다.
구체적인 예에서, 만약 데이터 객체를 총 확진 병례라고 가정하면, 해당 데이터 객체와 대응되는 수치는 100례이다. 데이터 처리 업무 요청1은 "새로 증가한 확진 병례가 5례이고, 총 확진 병례를 계산한다"(실제로 새로 증가한 병례는 10례)일 수 있다. 데이터 처리 업무 요청1의 사전 실행결과에 포함된 쓰기 데이터는 새로 증가한 확진 병례5례(실제 쓰기 데이터는 새로 증가한 확진 병례10례임)이고, 사전 실행결과에서의 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하는 것은, 총 확진 병례는 105례라고 업데이트하는 것일 수 있다. 해당 데이터 객체의 업데이트된 데이터는 무효로 확정될 수 있다. 데이터 처리 업무 요청1을 그대로 포기할 수 있다. 대체적으로, 데이터 처리 업무 요청1의 콘텐츠인 "새로 증가한 확진 병례 5례, 총 확진 병례를 계산한다"에 근거하여 새로운 또는 업데이트한 데이터 처리 업무 요청2인 "새로 증가한 확진 병례 10례, 총 확진 병례를 계산하는 것"을 생성하고 사전 실행할 수 있다.
S160, 상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하였다고 확정한 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 확인상태의 데이터로 표기한다.
본 출원의 실시예에서, 만약 블록체인 노드에서 블록체인 네트워크가 이미 데이터 처리 업무 요청을 실행 및/또는 이미 실행하였다고 확정하고, 사전 실행결과가 온체인되었다고 확인한 것을 표명하면, 업데이트된 데이터를 확인상태로 표기할 수 있다. 확인상태로 표기된 업데이트된 데이터는 데이터 처리 업무 요청과 대응되는 처리 데이터와 동일할 수 있다.
본 출원의 하나의 선택적인 실시예에서, 블록체인에 기반한 데이터 처리 방법은, 데이터 액세스 요청을 수신하였을 때, 로컬 데이터 베이스에서의 확인 상태와 미확인 상태의 데이터에 기반하여 응답 처리를 진행하는 것을 더 포함할 수 있다.
여기서, 데이터 액세스 요청은 기타 블록체인 노드 또는 블록체인 노드 내부에서 사용자가 발송한, 블록체인 노드 로컬 데이터 베이스에 저장된 데이터에 액세스하기 위한 요청일 수 있다.
본 출원의 실시예에서, 블록체인 노드가 로컬 데이터 베이스에 저장한 확인 상태와 미확인 상태의 데이터는 모두 액세스 조회 기능을 제공하여, 데이터의 공유와 교류를 실현할 수 있도록 한다.
본 출원의 실시예는 획득한 데이터 처리 업무 요청을 사전 실행함으로써, 읽기 데이터와 쓰기 데이터를 포함하는 사전 실행결과를 얻은 다음, 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태로 표기하며, 사전 실행결과를 데이터 처리 업무 요청에 패키징하여, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송함으로써, 기타 노드로 하여금 해당 패키징된 데이터 처리 업무 요청을 처리하도록 요청하며, 처리결과에 근거하여 해당 패키징된 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효 데이터로 확정하거나 또는 확인상태의 데이터로 표기하여, 기존의 블록체인기술이 데이터 종합 시스템에 응용될 때 존재하는 데이터 처리의 시효성이 차한 문제를 해결함으로써, 전체 네트워크 융합의 데이터 종합 시스템에서 데이터 처리의 시효성을 향상시키도록 하였다.
실시예2
도 2는 본 출원의 실시예2에서 제공하는 블록체인에 기반한 데이터 처리 방법의 흐름도이고, 본 출원의 실시예는 상기 각 실시예의 기술방안의 기초상에서, 최적화 개량을 진행하여, 블록체인에서 충돌을 포함하는 데이터 처리 업무 요청에 대한 처리방식을 제공한다.
도 2에 도시된 바와 같은 블록체인에 기반한 데이터 처리 방법은 아래와 같은 조작을 포함한다.
S210, 로컬에서 생성한 데이터 처리 업무 요청을 획득한다.
S220, 상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 한다.
S230, 상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 상기 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기한다.
S240, 상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청한다.
S250, 블록체인 네트워크가 데이터 처리 업무 요청을 실행하는 것을 거절할지 여부를 판정하며, 만약 블록체인 네트워크가 데이터 처리 업무 요청을 실행하는 것을 거절하면, S260을 수행하고; 그렇지 않으면, 블록체인 네트워크가 데이터 처리 업무 요청을 수행하는 것을 거절하지 않으면, S270을 수행한다.
S260, 상기 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효 데이터로 확정한다.
S270, 상기 업데이트된 데이터를 확인상태의 데이터로 표기한다.
S280, 상기 기타 블록체인 노드가 전송한 복수의 데이터 처리 업무 요청을 획득하고, 복수의 상기 데이터 처리 업무 요청을 검증 대기 데이터 처리 업무 요청으로 표기한다.
본 출원의 실시예에서, 블록체인 노드는 로컬에서 업무 요청을 발송할 수도 있고, 기타 노드가 발송한 업무 요청을 획득하여, 업무 요청을 검증하여 확인할 수 있다. 기타 노드에서 획득한 업무 요청은 검증 대기 데이터 처리 업무 요청으로 표기한다. 통상적으로, 현재 블록 생성 노드에 의해 업무 요청 처리를 진행하고 패키징하여 블록을 형성하며, 기타 노드에게 브로드캐스트할 수 있다. 기타 노드는 수신한 업무 요청에 근거하여 검증을 실행하여, 블록의 정확도를 검증할 수 있다.
S290, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별한다.
이해할 수 있는 것은, 데이터 객체가 여러 측에 의해 동시에 업데이트 될 때, 네트워크 통신질량 등 요소의 영향으로, 데이터 처리 업무 요청 사이에 충돌이 존재할 가능성이 있다. 주요하게는 여러 측에서 동시에 동일한 데이터 객체에 쓰기 조작을 진행할 때 충돌이 발생하게 된다.
상응하게, 블록체인 노드가 블록 처리 권한을 가진 후, 스마트 계약을 이용하여 수신된 각 검증 대기 데이터 처리 업무 요청을 수행하며, 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별할 수 있다.
본 출원의 하나의 선택적인 실시예에서, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은, 설정된 순서에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 차례로 실행하는 것; 및 만약 현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청과 충돌이 존재하면, 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 포함할 수 있다.
여기서, 설정된 순서는 검증 대기 데이터 처리 업무 요청을 수신하는 시간 순서 등일 수 있고, 본 출원의 실시예는 설정된 순서의 구체적인 정렬방식에 대해 한정하지 않는다. 과거에 실행한 검증 대기 데이터 처리 업무 요청은 현재 실행하는 검증 대기 데이터 처리 업무 요청 이전에 수신한 임의의 검증 대기 데이터 처리 업무 요청일 수 있다.
본 출원의 실시예에서는 설정된 순서에 따라 각 검증 대기 데이터 처리 업무 요청을 차례로 실행할 수 있다. 현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청과 충돌이 존재한다고 확정하였을 경우, 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라는 것을 확정할 수 있으며, 따라서, 각 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는지 여부를 효과적으로 식별할 수 있다.
일 구체적인 예에서, 데이터 객체 "총 확진 병례"는 지역급 병원1과 지역급 병원2에 보고하여 종합해야 한다. 지역급 병원1의 데이터 센터에 버전 번호가 P인 데이터 객체에 대해 데이터 처리 업무 요청1 "새로 증가한 확진 병례 5례이고, 총 확진 병례를 계산한다"를 생성하고, 지역급 병원2의 데이터 센터에 버전 번호가 P인 데이터 객체에 대한의 데이터 처리 업무 요청2 “새로 증가한 확진 병례3례이고, 총 확진 병례를 계산한다”를 생성한다고 가정한다. 지역급 병원2의 데이터 센터는 네트워크 통신질량의 영향을 받아, 데이터 처리 업무 요청2가 시간이 지연되여 발송된다. 블록체인 노드는 먼저 데이터 처리 업무 요청1을 수신하고 실행하는데, 이때 데이터 객체의 버전 번호는 T로 변경되고, 그다음에 데이터 처리 업무 요청2를 수신하는데, 이때 데이터 객체는 이미 업데이트되였으므로, 데이터 처리 업무 요청1과 데이터 처리 업무 요청2 사이에는 충돌이 존재하거나 충돌관계가 있다.
설명해야 할 것은, 각 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는지 여부를 식별할 때, 현재 처리하는 블록과 대응되는 검증 대기 데이터 처리 업무 요청에 한정되지 않는다. 만약 블록이 생성된 시간이 짧으면, 현재 처리하는 블록에 포함된 검증 대기 데이터 처리 업무 요청도 이미 생성된 블록에서의 검증 대기 데이터 처리 업무 요청과 충돌이 발생할 가능성이 있다, 예를 들면, 블록1은 데이터 객체a를 온체인하고, 수치는 10이며, 버전 번호는 A이고, 블록 아이디는 1이다. 블록2가 데이터 객체a의 수치를 20으로 업데이트하고, 버전 번호는 B이며, 블록 아이디는 2이다. 이때, 블록3의 한 검증 대기 데이터 처리 업무 요청이 버전번호가 A인 데이터 객체a의 데이터를 수정하고자 하면, 해당 검증 대기 데이터 처리 업무 요청과 블록 2에서 데이터 객체a를 업데이트한 검증 대기 데이터 처리 업무 요청은 충돌하게 된다.
본 출원의 하나의 선택적인 실시예에서, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은, 각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하는 것; 및 토폴로지 정렬에서 두 개 이상의 검증 대기 데이터 처리 업무 요청에 충돌이 존재할 때, 하나의 검증 대기 데이터 처리 업무 요청을 접수하고, 기타 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 포함할 수 있다.
여기서, 토폴로지 정렬은 사전 실행결과 사이의 쓰기 데이터의 의존 관계에 따라 확정한 업무 요청 사이의 실행 순서일 수 있다.
본 출원의 실시예에서, 블록체인 노드가 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별할 때, 설정된 시간대 내에 수신한 모든 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행할 수도 있다. 여기서, 설정된 시간대는 수요에 따라 설정할 수 있는 바, 예를 들어 블록 생성 시간에 대응되는 시간대 등일 수 있다. 토폴로지 정렬에서, 만약 블록체인 노드가 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청에 충돌이 존재하는 것을 발견하면, 이 중의 한 검증 대기 데이터 처리 업무 요청을 접수하고, 기타 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라고 확정할 수 있다.
본 출원의 하나의 선택적인 실시예에서, 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은, 각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하는 것; 토폴로지 정렬의 결과에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 실행하는 것; 및 만약 현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청과 충돌이 존재하면, 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌이 발생하는 데이터 처리 업무 요청이라고 확정하는 것을 포함할 수 있다.
본 출원의 실시예에서, 블록체인 노드가 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별할 때, 설정된 시간대 내에 수신한 모든 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행할 수도 있다. 여기서, 설정된 시간대는 수요에 따라 설정할 수 있는 바, 예를 들어 블록 생성 시간에 대응되는 시간대 등 일 수 있다. 다음 토폴로지 정렬의 결과에 따라 각 검증 대기 데이터 처리 업무 요청을 수행할 수 있다. 예를 들면, 설정된 순서에 따라 토폴로지 정렬을 거친 후의 각 검증 대기 데이터 처리 업무 요청을 차례로 실행할 수 있다. 만약 현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청과 충돌이 존재하면, 현재 실행하는 검증 대기 데이터 처리 업무 요청에 충돌이 발생한다고 확정한다.
설명해야 할 것은, 토폴로지 정렬의 결과에 따라 각 검증 대기 데이터 처리 업무 요청을 실행한 후, 만약 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌이 발생하는 데이터 처리 업무 요청이나, 현재 실행하는 검증 대기 데이터 처리 업무 요청과 과거에 실행한 검증 대기 데이터 처리 업무 요청의 업데이트된 데이터를 기입한 결과가 여전히 정확하다는것을 확정하면, 현재 실행하는 검증 대기 데이터 처리 업무 요청을 거절하지 않을 수 있다. 예를 들면, 두 개의 데이터 처리 업무 요청은 모두 약품의 가격을 100위안으로 변경하는 것이면, 비록 동일한 데이터 객체에 대해 수정하는 것이지만, 수정 결과가 동일하므로, 충돌로 간주하지 않을 수 있다.
S2A0, 충돌이 발생한 검증 대기 데이터 처리 업무 요청을 식별하였는지 여부를 판정하며, 만약 식별하였으면, 단계 S2B0를 수행하고, 그렇지 않으면 단계S2C0을 수행한다.
S2B0, 온체인을 거절한다.
S2C0, 온체인을 허용한다.
상응하게, 만약 블록체인 노드가 충돌이 발생한 검증 대기 데이터 처리 업무 요청을 식별하게 되면, 온체인을 거절하여, 블록데이터의 정확도를 담보한다. 여기서, 온체인을 거절한다는 것은, 충돌되는 검증 대기 데이터 처리 업무 요청을 블록체인에 연결하는 것을 거절한다는 것을 표시하며, 온체인을 허용한다는 것은, 충돌되는 검증 대기 데이터 처리 업무 요청을 블록체인에 연결하는 것을 허용한다는 것을 표시한다.
상기 기술방안을 이용하면, 각 데이터 처리 업무 요청 사이의 충돌을 식별함으로써, 데이터 처리 업무 요청에 충돌이 발생한다고 식별하였을 때, 온체인을 거절하여, 블록 데이터의 정확도를 담보할 수 있다.
실시예3
도 3은 본 출원의 실시예3에서 제공하는 블록체인에 기반한 데이터 처리 장치의 구조도이고, 해당 장치는 블록체인 노드에 배치된다. 본 출원의 실시예는 블록체인에서의 데이터를 고효율적으로 처리하는 경우에 적용될 수 있고, 해당 장치는 소프트웨어 및/또는 하드웨어에 의해 실현되며, 구체적으로 컴퓨터 기기에 배치된다. 해당 컴퓨터 기기는 블록체인 노드기기 일 수 있다.
도 3에 도시된 바와 같은 블록체인에 기반한 데이터 처리 장치(300)는 데이터 처리 업무 요청 획득모듈(310), 데이터 처리 업무 요청 사전 실행모듈(320), 미확인 상태 표기모듈(330), 사전 실행결과 패키징 모듈(340), 제1 업데이트된 데이터 처리모듈(350) 및 제2 업데이트된 데이터 처리모듈(360)을 포함한다. 여기서,
데이터 처리 업무 요청 획득모듈(310)은 로컬에서 발생한 데이터 처리 업무 요청을 획득하기 위한 것이고;
데이터 처리 업무 요청 사전 실행모듈(320)은 상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 하기 위한 것이며;
미확인 상태 표기모듈(330)은 상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 상기 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하기 위한 것이고;
사전 실행결과 패키징 모듈(340)은 상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청하기 위한 것이며; 및
제1 업데이트된 데이터 처리모듈(350)은 상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정된 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 업데이트된 데이터를 무효 데이터로 확정하기 위한 것이고; 또는
제2 업데이트된 데이터 처리모듈(360)은 상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하였다고 확정된 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 확인상태의 데이터로 표기하기 위한 것이다.
본 출원의 실시예는 획득한 데이터 처리 업무 요청을 사전 실행함으로써, 읽기 데이터와 쓰기 데이터를 포함하는 사전 실행결과를 얻은 다음, 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태로 표기하며, 사전 실행결과를 데이터 처리 업무 요청에 패키징하여, 블록체인 네트워크에 전송함으로써, 기타 노드로 하여금 데이터 처리 업무 요청을 처리하도록 요청하며, 처리결과에 근거하여 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효로 확정하거나 또는 확인상태로 표기하는 것을 통하여, 기존의 블록체인기술이 데이터 요약 시스템에 응용될 때 존재하는 데이터 처리의 시효성이 차한 문제를 해결하였으며, 전체 네트워크 융합의 데이터 종합 시스템에서 데이터 처리의 시효성을 향상시키도록 하였다.
선택적으로, 제1 업데이트된 데이터 처리모듈(350)은, 상기 기타 블록체인 노드중의 하나 또는 복수개가 피드백한 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절하는 통지를 수신하기 위한 통지 수신유닛을 포함한다.
선택적으로, 제1 업데이트된 데이터 처리모듈(350)은, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 삭제하거나 또는 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효상태의 데이터로 표기하기 위한 제1 업데이트된 데이터 처리유닛을 포함한다.
선택적으로, 블록체인에 기반한 데이터 처리 장치는, 로컬 데이터 베이스에 상기 무효 데이터에 의존하는 기타 미확인 상태의 데이터가 존재하는 것이 확정된 것에 응답하여, 상기 기타 미확인 상태의 데이터를 무효 데이터로 확정하고, 상기 기타 미확인 상태의 데이터와 관련되는 기타 데이터 처리 업무 요청을 무효 요청으로 확정하기 위한 제1 데이터 요청 처리모듈을 더 포함한다.
선택적으로, 블록체인에 기반한 데이터 처리 장치는, 패키징된 상기 데이터 처리 업무 요청을 포기하거나 또는 패키징된 상기 데이터 처리 업무 요청에서의 콘텐츠에 근거하여, 업데이트한 데이터 처리 업무 요청을 생성하고 상기 업데이트한 데이터 처리 업무 요청에 대해 사전 실행을 진행하기 위한 제2 데이터 요청 처리모듈을 더 포함한다.
선택적으로, 블록체인에 기반한 데이터 처리 장치는, 데이터 액세스 요청을 수신하였을 때, 상기 로컬 데이터 베이스의 상기 확인 상태의 데이터와 상기 미확인 상태의 데이터에 기반하여 응답 처리를 진행하기 위한 데이터 액세스 요청 응답 처리모듈을 더 포함한다.
선택적으로, 블록체인에 기반한 데이터 처리 장치는, 상기 기타 블록체인 노드가 전송한 복수의 데이터 처리 업무 요청을 획득하고, 복수의 상기 데이터 처리 업무 요청을 검증 대기 데이터 처리 업무 요청으로 표기하기 위한 검증 대기 데이터 처리 업무 요청 획득모듈; 각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하기 위한 충돌 식별모듈; 및 충돌이 발생한 검증 대기 데이터 처리 업무 요청을 식별하게 된 것에 응답하여, 온체인을 거절하기 위한 온체인 처리모듈을 더 포함한다.
선택적으로, 충돌 식별모듈은, 설정된 순서에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 차례로 실행하기 위한 제1 검증 대기 데이터 처리 업무 요청 실행유닛; 및 현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라고 확정하기 위한 제1 충돌 식별유닛을 포함한다.
선택적으로, 충돌 식별모듈은, 각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하기 위한 제1 사전 실행결과 식별유닛; 및 상기 토폴로지 정렬 기간에 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 발견한 것에 응답하여, 상기 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 중의 하나를 접수하고, 상기 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 중의 기타 검증 대기 데이터 처리 업무 요청을 충돌되는 데이터 처리 업무 요청으로 확정하기 위한 제2 충돌 식별유닛을 더 포함한다.
선택적으로, 충돌 식별모듈은, 각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하기 위한 제2 사전 실행결과 식별유닛; 상기 토폴로지 정렬의 결과에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 실행하기 위한 제2 검증 대기 데이터 처리 업무 요청 실행유닛; 및 현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 상기 현재 실행하는 검증 대기 데이터 처리 업무 요청을 상기 충돌되는 데이터 처리 업무 요청이라고 확정하기 위한 제3 충돌 식별유닛을 더 포함한다.
선택적으로, 상기 로컬에서 생성한 데이터 처리 업무 요청은 데이터 기입 처리 업무 요청이고, 상기 블록체인 노드 중의 하나 또는 복수의 블록체인 노드가 상대하는 데이터 객체는 상기 블록체인 노드 중의 기타 블록체인 노드와 동일할 수 있다.
선택적으로, 상기 블록체인 노드는 병원 데이터 센터 및/또는 요금소 데이터 센터에 배치된다.
상기 블록체인에 기반한 데이터 처리 장치는, 본 출원의 임의의 실시예에서 제공하는 블록체인에 기반한 데이터 처리 방법을 수행할 수 있고, 블록체인에 기반한 데이터 처리 방법을 수행하는데 상응한 기능모듈과 유익한 효과를 가진다.
실시예4
본 출원의 실시예에 따르면, 본 출원은 컴퓨터 기기와 판독 가능 저장매체를 더 제공한다.
도 4에 도시된 바와 같이, 이는 본 출원의 실시예에 따른 블록체인에 기반한 데이터 처리 방법을 실현하기 위한 컴퓨터기기의 블록도이다. 컴퓨터기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 대형 컴퓨터 및 기타 적합한 컴퓨터와 같은 여러 가지 형식의 디지털 컴퓨터를 가리킨다. 컴퓨터 기기는 개인 디지털 프로세싱, 휴대 폰, 스마트 폰, 웨어러블 기기와 기타 유사한 컴퓨팅 장치와 같은 여러 가지 형식의 이동장치를 더 나타낼 수 있다. 본 명세서에 도시된 부품, 이들의 연결과 관계 및 이들의 기능은 단지 예시적인 것일 뿐 본 명세서에서 설명 및/또는 요구한 본 출원의 실현을 한정하기 위한 것이 아니다.
도 4에 도시된 바와 같이, 이 컴퓨터기기는, 하나 또는 다수의 프로세서(401), 메모리(402) 및 각 부품을 연결하기 위한, 고속 인테페이스와 저속 인터페이스를 포함하는 인터페이스를 포함한다. 각 부품은 상이한 버스를 이용하여 서로 연결되고, 공용 메인보드에 장착되거나 또는 수요에 따라 기타 방식으로 장착될 수 있다. 프로세서는 컴퓨터기기 내에서 실행되는 명령을 처리할 수 있으며, 이는 메모리에 저장되거나 또는 메모리에서 외부 입력/출력장치(예를 들어 인터페이스에 커플링된 디스플레이 기기)에 GUI를 표시하는 그래프 정보의 명령을 포함한다. 기타 실시형태에서, 만약 필요하면, 복수의 프로세서 및/또는 복수의 버스를 복수의 메모리와 함께 사용할 수 있다. 마찬가지로 복수의 컴퓨터기기를 연결할 수 있고, 각 기기는 일부 필요한 조작(예를 들면 서버 어레이, 블레이드 서버 세트 또는 멀티 프로세서 시스템으로 함)을 제공할 수 있다. 도 4에서는 하나의 프로세서(401)를 예로 한다.
메모리(402)는 본 출원에서 제공하는 비일시적 컴퓨터 판독 가능 저장매체이다. 여기서, 상기 메모리에는 적어도 하나의 프로세서에 의해 수행될 수 있는 명령이 저장되어 있으며, 상기 적어도 하나의 프로세서로 하여금 본 출원에서 제공하는 블록체인에 기반한 데이터 처리 방법을 수행하도록 할 수 있다. 본 출원의 비일시적 컴퓨터 판독 가능 저장매체는 컴퓨터 명령을 저장하고, 해당 컴퓨터 명령은 컴퓨터로 하여금 본 출원에서 제공하는 블록체인에 기반한 데이터 처리 방법을 수행하도록 한다.
메모리(402)는 비일시적 컴퓨터 판독 가능 저장매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행 가능 프로그램 및 모듈, 예를 들어 본 출원의 실시예에서의 블록체인에 기반한 데이터 처리 방법과 대응되는 프로그램 명령/모듈(예를 들면, 도 3에 도시된 데이터 처리 업무 요청 획득모듈(310), 데이터 처리 업무 요청 사전 실행모듈(320), 미확인 상태 표기모듈(330), 사전 실행결과 패키징 모듈(340), 제1 업데이트된 데이터 처리모듈(350) 및 제2 업데이트된 데이터 처리모듈(360))을 저장하는데 이용될 수 있다. 프로세서(401)는 메모리(402)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 운행시킴으로써, 서버의 여러 가지 기능 응용및 데이터 처리를 수행, 즉 상기 방법 실시예에서의 블록체인에서에 기반한 데이터 처리 방법을 실현한다.
메모리(402)는 프로그램 저장구역과 데이터 저장구역을 포함할 수 있는데, 여기서, 프로그램 저장구역은 운영체제, 적어도 하나의 기능에 필요한응용 프로그램을 저장할 수 있고; 데이터 저장영역은 블록체인에 기반한 데이터 처리 방법의 컴퓨터기기의 사용에 의해 생성된 데이터 등을 저장할 수 있다. 이 외에, 메모리(402)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 비일시적 메모리, 예를 들면 적어도 하나의 디스크 메모리, 플래시 메모리 또는 기타 비일시적 솔리드 스테이트 메모리를 더 포함할 수 있다. 일부 실시예에서, 메모리(402)는 선택적으로 프로세서(401)에 대해 원격으로 설치된 메모리를 포함하고, 이러한 원격 메모리는 네트워크를 통해 본 출원의 실시예의 블록체인에 기반한 데이터 처리 방법을 실현하기 위한 컴퓨터기기에 연결될 수 있다. 상기 네트워크의 실례는 인터넷, 인트라넷, 근거리 통신망, 블록체인 네트워크, 이동 통신망 및 이들의 조합을 포함하나 이에 한정되지 않는다.
블록체인에 기반한 데이터 처리 방법을 실현하는 컴퓨터기기는 입력장치(403)와 출력장치(404)를 더 포함할 수 있다. 프로세서(401), 메모리(402), 입력장치(403)와 출력장치(404)는 버스 또는 기타 방식을 통해 연결될 수 있고, 도 4에서는 버스를 통해 연결되는 것을 예로 한다.
입력장치(403)는 입력된 숫자 또는 문자 부호정보를 수신하고, 블록체인에 기반한 데이터 처리 방법을 실현하기 위한 컴퓨터기기의 사용자 설정 및 기능 제어와 관련되는 키 신호 입력을 생성할수 있으며, 예를 들면 터치 스크린, 키보드, 마우스, 트랙패드, 터치패드, 지시바, 하나 또는 복수의 마우스버튼, 트랙볼, 조이스틱 등 입력장치일 수 있다. 출력장치(404)는 디스플레이 기기, 보조 조명장치(예를 들면, LED)와 촉각 피드백 장치(예를 들면, 진동모터) 등을 포함할 수 있다. 해당 디스플레이 기기는 액정 모니터(LCD), 발광 다이오드(LED) 디스플레이와 플라즈마 디스플레이를 포함할 수 있으나 이에 한정되지 않는다. 일부 실시예에서, 디스플레이 기기는 터치 스크린일 수 있다.
여기서 설명하는 시스템과 기술의 여러 가지 실시형태는 디지털 전자회로 시스템, 집적회로 시스템, 전용 ASIC(전용 집적회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 실현할 수 있다. 이러한 여러 가지 실시형태는 하나 또는 복수의 컴퓨터 프로그램에서 실시되는 것을 포함할 수 있고, 해당 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템에서 실행 및/또는 해석될수 있고, 해당 프로그래머블 프로세서는 전용 또는 범용 프로그래머블 프로세서일수 있으며, 저장 시스템, 적어도 하나의 입력장치 및 적어도 하나의 출력장치에서 데이터와 명령을 수신할 수 있으며, 데이터와 명령을 해당 저장 시스템, 해당 적어도 하나의 입력장치 및 해당 적어도 하나의 출력장치에 전송할 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래머블 프로세서의 기계 명령을 포함하고, 고급 프로세서 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어를 이용하여 이러한 컴퓨터 프로그램을 실시할 수 있다. 본 명세서에서 사용한 바와 같이, 용어 "기계 판독 가능 매체”와 "컴퓨터 판독 가능 매체”는 기계 명령 및/또는 데이터를 프로그래머블 프로세서에 제공하는 임의의 컴퓨터 프로그램 제품, 기기 및/또는 장치(예를 들면 자기 디스크, 시디롬, 메모리, 프로그래머블 로직 장치(PLD))를 가리키고, 기계 판독 가능 신호로서의 기계 명령을 수신하는 기계 판독 가능 매체를 포함한다. 용어 "기계 판독 가능 신호”는 기계 명령 및/또는 데이터를 프로그래머블 프로세서에 제공하는 임의의 신호를 가리킨다.
사용자와의 인터랙션을 제공하기 위하여, 컴퓨터에서 여기서 설명하는 시스템과 기술을 실시할 수 있으며, 해당 컴퓨터는, 사용자에게 정보를 디스플레이하는 디스플레이 장치(예를 들면CRT(음극선관) 또는 LCD(액정 모니터) 모니터); 및 키보드와 포인팅 장치(예를 들면 마우스 또는 트랙볼)를 구비하고 사용자는 해당 키보드와 해당 포인팅 장치를 통해 컴퓨터에 입력을 제공할 수 있다. 기타 유형의 장치는 사용자와의 인터랙션에 이용될 수도 있는 바: 예를 들면 사용자에게 제공된 피드백은 모든 형식의 감각 피드백(예를 들면 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고; 모든 형식(소리 입력, 음성 입력 또는 촉각 입력을 포함)을 통해 사용자로부터의 입력을 수신할 수 있다.
여기서 설명한 시스템과 기술을 백그라운드 부품을 포함하는 컴퓨팅 시스템(예를 들면 데이터 서버), 또는 미들웨어 부품을 포함하는 컴퓨팅 시스템(예를 들면 애플리케이션 서버) 또는 프런트엔드 부품을 포함하는 컴퓨팅 시스템(예를 들면 그래픽 사용자 인터페이스 또는 네트워크 브라우저를 구비한 사용자 컴퓨터로서 사용자는 해당 그래픽 사용자 인터페이스 또는 해당 네트워크 브라우저를 통해 여기서 설명한 시스템과 기술의 실시형태와 인터랙셔을 진행할 수 있음), 또는 이러한 백그라운드 부품, 미들웨어 푸붐 또는 프런트엔드 부품을 포함하는 임의의 조합의 컴퓨팅 시스템에서 실시할 수 있다. 모든 형태 또는 매체의 디지털 데이터 통신(예를 들면 통신 네트워크)을 통해 시스템의 부품을 서로 연결할 수 있다. 통신 네트워크의 예시는 근거리 통신망 (LAN), 광역 통신망(WAN), 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 단말과 서버를 포함할 수 있다. 클라이언트 단말과 서버는 일반적으로 서로 원격으로 설치되여 통상적으로 통신 네트워크를 통해 인터랙션을 진행한다. 상응한 컴퓨터에서 운행됨과 동시에 서로 클라이언트 단말-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트 단말과 서버의 관계를 발생한다.
본 출원의 실시예는 획득한 데이터 처리 업무 요청을 사전 실행함으로써, 읽기 데이터와 쓰기 데이터를 포함하는 사전 실행결과를 얻은 다음, 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 해당 데이터 객체의 업데이트된 데이터를 미확인 상태로 표기하며, 사전 실행결과를 데이터 처리 업무 요청에 패키징하여, 블록체인 네트워크에 전송함으로써, 기타 노드로 하여금 데이터 처리 업무 요청을 처리하도록 요청하며, 처리결과에 근거하여 데이터 처리 업무 요청과 대응되는 업데이트된 데이터를 무효로 확정하거나 또는 확인상태로 표기하여, 기존의 블록체인 기술이 데이터 종합 시스템에 응용될 때 존재하는 데이터 처리의 시효성이 차한 문제를 해결하였으며, 전체 네트워크 융합의 데이터 종합 시스템에서 데이터 처리의 시효성을 향상시키도록 하였다.
이해해야 할 것은, 이상에서 설명한 여러 가지 형태의 프로세스를 이용하여, 단계에 대해 다시 정렬시키고 증가 또는 삭제할 수 있다. 예를 들면, 본 출원에서 기재한 각 단계는 동시에 수행할 수도 있고 순차적으로 수행할 수도 있으며 상이한 순서로 수행할 수도 있는 바, 본 출원에서 개시한 기술방안에서 기대하는 결과를 실현할 수만 있다면, 본 문은 이에 대해 한정하지 않는다.
상기 구체적인 실시형태는 본 출원의 보호범위에 대한 한정이 아니다. 해당 분야 기술자자들은 설계 요구와 기타 요소에 근거하여, 여러 가지 수정, 조합, 하위 조합과 대체를 진행할 수 있다는 것을 명백하여야 한다. 본 출원의 정신과 원칙 내에서 진행한 그 어떤 수정, 균등한 대체와 개량 등은 모두 본 출원의 보호범위 내에 포함된다.

Claims (16)

  1. 블록체인 노드에 의해 실행되는 블록체인에 기반한 데이터 처리 방법에 있어서,
    로컬에서 발생한 데이터 처리 업무 요청을 획득하는 것;
    상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 하는 것;
    상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 상기 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하는 것;
    상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청하는 것; 및
    상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정된 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 업데이트된 데이터를 무효 데이터로 확정하는 것; 또는
    상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하였다고 확정된 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 확인상태의 데이터로 표기하는 것,
    을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정된 것은,
    상기 기타 블록체인 노드 중의 하나 또는 복수개가 피드백한 패키징된 상기 데이터 처리 업무 요청을 실행하는 것을 거절하는 통지를 수신하는 것을 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효 데이터로 확정하는 것은,
    패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 삭제하거나 또는 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효상태의 데이터로 표기하는 것을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효 데이터로 확정한 후,
    로컬 데이터 베이스에 상기 무효 데이터에 의존하는 기타 미확인 상태의 데이터가 존재하는 것이 확정된 것에 응답하여, 상기 기타 미확인 상태의 데이터를 무효 데이터로 확정하고, 상기 기타 미확인 상태의 데이터와 관련되는 기타 데이터 처리 업무 요청을 무효 요청으로 확정하는 것을 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 무효 데이터로 확정한 후,
    패키징된 상기 데이터 처리 업무 요청을 포기하는 것, 또는
    패키징된 상기 데이터 처리 업무 요청에서의 콘텐츠에 근거하여, 업데이트한 데이터 처리 업무 요청을 생성하고 상기 업데이트한 데이터 처리 업무 요청에 대해 사전 실행을 진행하는 것을 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    데이터 액세스 요청을 수신하였을 때, 상기 로컬 데이터 베이스의 상기 확인 상태의 데이터와 상기 미확인 상태의 데이터에 기반하여 응답 처리를 진행하는 것을 더 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 기타 블록체인 노드가 전송한 복수의 데이터 처리 업무 요청을 획득하고, 복수의 상기 데이터 처리 업무 요청을 검증 대기 데이터 처리 업무 요청으로 표기하는 것;
    각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것; 및
    충돌이 발생한 검증 대기 데이터 처리 업무 요청을 식별한 것에 응답하여, 온체인을 거절하는 것을 더 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은,
    설정된 순서에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 차례로 실행하는 것; 및
    현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 현재 실행하는 검증 대기 데이터 처리 업무 요청은 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은,
    각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하는 것; 및
    상기 토폴로지 정렬 기간에 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 상기 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 중의 하나를 접수하고, 상기 두 개 또는 두 개 이상의 검증 대기 데이터 처리 업무 요청 중의 기타 검증 대기 데이터 처리 업무 요청을 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 더 포함하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    각 상기 검증 대기 데이터 처리 업무 요청을 실행하고, 상기 검증 대기 데이터 처리 업무 요청 사이의 충돌을 식별하는 것은,
    각 상기 검증 대기 데이터 처리 업무 요청의 사전 실행결과에 따라 의존 관계를 식별하고, 식별결과에 근거하여 토폴로지 정렬을 진행하는 것;
    상기 토폴로지 정렬의 결과에 따라 각 상기 검증 대기 데이터 처리 업무 요청을 실행하는 것; 및
    현재 실행하는 검증 대기 데이터 처리 업무 요청이 과거에 실행한 검증 대기 데이터 처리 업무 요청 사이에 충돌이 존재하는 것을 식별한 것에 응답하여, 상기 현재 실행하는 검증 대기 데이터 처리 업무 요청은 상기 충돌되는 데이터 처리 업무 요청이라고 확정하는 것을 더 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 로컬에서 생성한 데이터 처리 업무 요청은 데이터 기입 처리 업무 요청이고, 상기 블록체인 노드 중의 하나 또는 복수의 블록체인 노드가 상대하는 데이터 객체는 상기 블록체인 노드 중의 기타 노드와 동일할 수 있는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 블록체인 노드는 병원 데이터 센터 및/또는 요금소 데이터 센터에 배치되는 것을 특징으로 하는 방법.
  13. 블록체인 노드에 배치되는 블록체인에 기반한 데이터 처리 장치에 있어서,
    로컬에서 생성한 데이터 처리 업무 요청을 획득하기 위한 데이터 처리 업무 요청 획득모듈;
    상기 데이터 처리 업무 요청을 사전 실행하여, 쓰기 데이터를 포함하는 사전 실행결과를 확정하도록 하기 위한 데이터 처리 업무 요청 사전 실행모듈;
    상기 쓰기 데이터에 근거하여 로컬 데이터 베이스에서의 데이터 객체를 업데이트하고, 상기 데이터 객체의 업데이트된 데이터를 미확인 상태의 데이터로 표기하기 위한 미확인 상태 표기모듈;
    상기 사전 실행결과를 상기 데이터 처리 업무 요청에 패키징하고, 패키징된 데이터 처리 업무 요청을 블록체인 네트워크에 전송하여, 기타 블록체인 노드로 하여금 패키징된 상기 데이터 처리 업무 요청을 처리하도록 요청하기 위한 사전 실행결과 패키징 모듈; 및
    상기 블록체인 네트워크가 상기 데이터 처리 업무 요청을 실행하는 것을 거절한다고 확정된 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 업데이트된 데이터를 무효 데이터로 확정하기 위한 제1 업데이트된 데이터 처리모듈; 또는
    상기 블록체인 네트워크가 패키징된 상기 데이터 처리 업무 요청을 실행하였다고 확정된 것에 응답하여, 패키징된 상기 데이터 처리 업무 요청과 관련되는 상기 업데이트된 데이터를 확인상태의 데이터로 표기하기 위한 제2 업데이트된 데이터 처리모듈을 포함하는 것을 특징으로 하는 블록체인에 기반한 데이터 처리 장치.
  14. 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 통신연결된 메모리를 포함하는 전자기기에 있어서,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되여, 상기 적어도 하나의 프로세서로 하여금 청구항1 내지 청구항 12 중 임의의 한 항의 블록체인에 기반한 데이터 처리 방법을 수행할 수 있도록 하는 것을 특징으로 하는 전자기기.
  15. 컴퓨터로 하여금 청구항1 내지 청구항12 중 임의의 한 항의 블록체인에 기반한 데이터 처리 방법을 수행하도록 하기 위한 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체.
  16. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 제1항의 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020210022183A 2020-02-19 2021-02-18 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램 KR20210106379A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010102672.9 2020-02-19
CN202010102672.9A CN111312352B (zh) 2020-02-19 2020-02-19 一种基于区块链的数据处理方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
KR20210106379A true KR20210106379A (ko) 2021-08-30

Family

ID=71148024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210022183A KR20210106379A (ko) 2020-02-19 2021-02-18 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램

Country Status (5)

Country Link
US (1) US11630821B2 (ko)
EP (1) EP3869434B1 (ko)
JP (1) JP7066890B2 (ko)
KR (1) KR20210106379A (ko)
CN (1) CN111312352B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11792022B2 (en) * 2020-02-21 2023-10-17 International Business Machines Corporation Resolution of conflicting data
CN111930847B (zh) * 2020-09-16 2021-01-08 深圳壹账通智能科技有限公司 基于区块链的数据处理方法、装置及存储介质
CN112235251B (zh) * 2020-09-21 2022-11-15 中国建设银行股份有限公司 一种区块链管理方法、装置、计算机设备及存储介质
CN113743949B (zh) * 2021-11-04 2022-07-12 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法、区块链、主节点和从节点
CN114691687B (zh) * 2021-12-30 2022-12-06 北京连琪科技有限公司 验证区块状态证明的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6826290B2 (ja) 2017-01-19 2021-02-03 富士通株式会社 証明書配付システム、証明書配付方法、および証明書配付プログラム
JP2019029933A (ja) 2017-08-02 2019-02-21 富士通株式会社 コンテンツ配信装置、コンテンツ配信システム、コンテンツ配信プログラム、およびコンテンツ配信方法
US11271717B2 (en) * 2018-02-21 2022-03-08 Thunder Token Inc. Blockchain consensus methods and systems
CN108632045A (zh) * 2018-05-10 2018-10-09 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置、处理设备及系统
CN108804112B (zh) 2018-05-22 2022-02-11 上海分布信息科技有限公司 一种区块链落账处理方法及系统
JP2020010267A (ja) 2018-07-12 2020-01-16 コニカミノルタ株式会社 分散型医療情報共有システム、医療情報提供サーバー及びプログラム
WO2020028589A1 (en) * 2018-07-31 2020-02-06 Americorp Investments Llc Techniques for expediting processing of blockchain transactions
WO2020108288A1 (zh) 2018-11-29 2020-06-04 华为技术有限公司 一种数据库系统、节点和方法
CN109951546B (zh) * 2019-03-15 2021-12-14 百度在线网络技术(北京)有限公司 基于智能合约的事务请求处理方法、装置、设备和介质
CN112966311A (zh) 2019-03-15 2021-06-15 创新先进技术有限公司 智能合约校验方法及装置和电子设备
CN110033244B (zh) 2019-03-15 2021-10-22 创新先进技术有限公司 基于区块链的智能合约执行方法及装置和电子设备
US11269858B2 (en) * 2019-03-26 2022-03-08 International Business Machines Corporation Information management in a decentralized database including a fast path service
CA3061810A1 (en) 2019-04-30 2019-07-18 Alibaba Group Holding Limited Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
CN110321219A (zh) * 2019-05-06 2019-10-11 百度在线网络技术(北京)有限公司 一种事务请求的并行执行方法、装置、设备和介质
CN110659907B (zh) 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 用于执行智能合约的方法和装置

Also Published As

Publication number Publication date
US20210256015A1 (en) 2021-08-19
JP2021131865A (ja) 2021-09-09
JP7066890B2 (ja) 2022-05-13
EP3869434B1 (en) 2024-05-08
CN111312352B (zh) 2023-07-21
EP3869434A1 (en) 2021-08-25
US11630821B2 (en) 2023-04-18
CN111312352A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
KR20210106379A (ko) 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램
US11216444B2 (en) Scalable event sourcing datastore
WO2022161308A1 (zh) 事务处理方法、装置、计算机设备及存储介质
EP3058690B1 (en) System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database
CN107113341B (zh) 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统
WO2018107772A1 (zh) 写入请求处理方法、装置及设备
US9369332B1 (en) In-memory distributed cache
EP3869339B1 (en) Data storage method and apparatus for blockchain, device, and medium
US20210081364A1 (en) Managing Dataset Edits
EP4141687A1 (en) Global secondary index method and apparatus for distributed database
US10666557B2 (en) Method to manage data flow for edge-core distributed analytics systems
CN116151631A (zh) 一种业务决策处理系统、一种业务决策处理方法和装置
CN113726885A (zh) 一种流量配额的调整方法和装置
US20200110739A1 (en) Transaction processing method, apparatus, and device
CN113760841A (zh) 实现分布式锁的方法和装置
US8751447B2 (en) Representing attachments of objects in a collaboration system using metadata copies
WO2018188416A1 (zh) 一种数据搜索的方法、装置和相关设备
CN109684386B (zh) 报表协同编排方法及装置
CN111639089B (zh) 事务处理方法、装置、电子设备和计算机可读存储介质
CN108984450B (zh) 数据传输方法、装置和设备
CN113419978A (zh) 一种通信设备、表项更新方法及存储介质
US10776344B2 (en) Index management in a multi-process environment
CN113760860A (zh) 一种数据读取方法和装置
Tripathi et al. Incremental parallel computing for continuous queries in dynamic graphs using a transactional model
US10423475B2 (en) Stateful tokens for communicating with external services

Legal Events

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