KR102152556B1 - 서비스 프로세싱 및 합의 방법 및 디바이스 - Google Patents

서비스 프로세싱 및 합의 방법 및 디바이스 Download PDF

Info

Publication number
KR102152556B1
KR102152556B1 KR1020197018692A KR20197018692A KR102152556B1 KR 102152556 B1 KR102152556 B1 KR 102152556B1 KR 1020197018692 A KR1020197018692 A KR 1020197018692A KR 20197018692 A KR20197018692 A KR 20197018692A KR 102152556 B1 KR102152556 B1 KR 102152556B1
Authority
KR
South Korea
Prior art keywords
blockchain node
service
server
service request
node
Prior art date
Application number
KR1020197018692A
Other languages
English (en)
Other versions
KR20190093598A (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 KR20190093598A publication Critical patent/KR20190093598A/ko
Application granted granted Critical
Publication of KR102152556B1 publication Critical patent/KR102152556B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

본 발명의 실시예들은 서비스 프로세싱 방법 및 디바이스, 또한 서비스 합의 방법 및 디바이스를 제공한다. 상기 방법에서, 제 1 블록체인 노드는 복수의 서버를 포함한다. 제 1 블록체인 노드는 클라이언트에 의해 전송된 서비스 요청을 수신하여 상기 포함된 복수의 서버를 사용하여 상기 서비스 요청을 저장할 수 있고, 사전 프로세싱 블록을 획득하기 위해 상기 복수의 서버 중 하나의 서버를 사용하여 상기 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득할 수 있고, 각각의 제 2 블록체인 노드를 사용하여 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하기 위해 상기 서버를 사용하여 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 사전 프로세싱 블록을 전송할 수 있다. 제 1 블록체인 노드에 포함된 복수의 서버 중 하나의 서버가 사용 가능하다면, 제 1 블록체인 노드가 사용 가능하다는 것이 보장될 수 있다. 따라서, 합의 네트워크 내의 제 1 블록체인 노드의 안정성이 향상된다.

Description

서비스 프로세싱 및 합의 방법 및 디바이스
본 발명은 컴퓨터 기술 분야에 관한 것이며, 특히 서비스 프로세싱 방법, 서비스 프로세싱 디바이스, 서비스 합의 방법, 및 서비스 합의 디바이스에 관한 것이다.
컴퓨터 기술의 지속적인 발전에 따라, 블록체인 기술이 보다 광범위하게 적용되고 있다. 효과적인 데이터 등록을 구현하는 것 외에도, 사람들은 블록체인 기술을 사용하여 일부 서비스를 구현하기 위한 새로운 아이디어를 제공한다.
현재, 블록체인 기술을 사용하여 서비스 프로세싱을 수행하는 것은 대략 2개의 프로세스들: 서비스 프로세싱 프로세스와 서비스 합의 프로세스를 포함한다. 서비스 프로세싱 프로세스에서, 블록체인 노드는 사용자에 의해 전송된 서비스 요청을 수신하고, 그 서비스 요청을 블록체인 노드의 서비스 메모리에 저장한다. 또한, 다른 블록체인 노드가 그 서비스 요청을 수신한 후 다른 블록체인 노드에 대응하는 서비스 메모리에 그 서비스 요청을 저장하도록, 블록체인 노드는 그 서비스 요청을 합의 네트워크의 다른 블록체인 노드로 브로드캐스팅한다.
서비스 합의 프로세스에서, 블록체인 노드는 블록체인 노드에 대응하는 서비스 메모리로부터 일정량의 서비스 요청들을 획득하고, 사전 프로세싱 블록을 획득하기 위해, 그 획득된 서비스 요청들을 프로세싱한다. 그 다음, 다른 블록체인 노드가 그 사전 프로세싱 블록을 수신한 후 그 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록, 블록체인 노드는 사전 프로세싱 블록을 합의 네트워크의 다른 블록체인 노드에 브로드캐스팅한다.
블록체인 서비스의 프로세스는 합의 네트워크 내의 블록체인 노드들 간의 긴밀한 협력을 통해서만 효과적으로 완료될 수 있다는 것을 이전의 2개의 프로세스로부터 알 수 있다. 그러나, 실제로는 블록체인 노드가 단일 서버에 의해 제한되므로 안정성이 상대적으로 낮다. 예외적으로 서버에서 프로그램 재시작 등이 발생하면, 블록체인 노드를 사용할 수 없으므로 전체 합의 네트워크의 안정성에 영향을 주고, 블록체인 서비스의 프로세스에 영향을 준다. 또한, 단일 서버의 소프트웨어 및 하드웨어 리소스들은 매우 제한적이므로, 블록체인 노드가 서비스 프로세싱을 수행할 때 상대적으로 효율성이 떨어진다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예는, 제 1 블록체인 노드에 의해 그리고 제 1 블록체인 노드에 포함된 서버를 사용하여, 클라이언트에 의해 전송된 서비스 요청을 수신하는 단계로서, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계; 상기 서비스 요청을 상기 제 1 블록체인 노드에 포함된 상기 서비스 메모리에 저장하는 단계; 및 각각의 제 2 블록체인 노드가 상기 서비스 요청을 수신한 후에 상기 제 2 블록체인 노드에 포함된 서비스 메모리에 상기 서비스 요청을 저장하도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 서비스 요청을 전송하는 단계로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계를 포함하는 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예는, 클라이언트에 의해 전송된 서비스 요청을 수신하도록 구성된 수신 모듈; 상기 서비스 요청을 서비스 프로세싱 디바이스에 대응하는 서비스 메모리에 저장하도록 구성된 저장 모듈; 및 각각의 제 2 블록체인 노드가 상기 서비스 요청을 수신한 후에 상기 제 2 블록체인 노드에 포함된 서비스 메모리에 상기 서비스 요청을 저장하도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 서비스 요청을 전송하도록 구성된 전송 모듈로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 전송 모듈을 포함하는 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예는, 제 2 블록체인 노드에 의해 그리고 상기 제 2 블록체인 노드에 포함된 서버를 사용하여, 제 1 블록체인 노드에 의해 전송된 서비스 요청을 수신하는 단계로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하며, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계; 및 상기 서비스 요청을 상기 제 2 블록체인 노드에 포함된 상기 서비스 메모리에 저장하는 단계를 포함하는 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예는, 제 1 블록체인 노드에 의해 전송된 서비스 요청을 수신하도록 구성된 요청 수신 모듈로서, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 요청 수신 모듈; 및 상기 서비스 요청을 서비스 프로세싱 디바이스에 대응하는 서비스 메모리에 저장하도록 구성된 요청 저장 모듈을 포함하는 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예는, 사용자에 의해 입력된 서비스 정보를 클라이언트에 의해 수신하는 단계; 대응하는 서비스 요청을 상기 서비스 정보에 기초하여 생성하는 단계; 및 제 1 블록체인 노드가 상기 수신된 서비스 요청을 상기 제 1 블록체인 노드에 포함된 서비스 메모리에 저장하도록, 상기 서비스 요청을 제 1 블록체인 노드에 포함된 서버에 전송하고, 또한 상기 서비스 요청을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송하는 단계로서, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하고, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계를 포함하는 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예는, 사용자에 의해 입력된 서비스 정보를 수신하도록 구성된 정보 수신 모듈; 대응하는 서비스 요청을 상기 서비스 정보에 기초하여 생성하도록 구성된 요청 생성 모듈; 및 상기 제 1 블록체인 노드가 상기 수신된 서비스 요청을 상기 제 1 블록체인 노드에 포함된 서비스 메모리에 저장하도록, 상기 서비스 요청을 제 1 블록체인 노드에 포함된 서버에 전송하도록 구성되고, 또한 상기 서비스 요청을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송하도록 구성된 전송 모듈로서, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하고, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 전송 모듈을 포함하는 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 합의 방법을 제공한다.
본 발명의 실시예는, 제 1 블록체인 노드에 의해, 상기 제 1 블록체인 노드에 포함된 복수의 서버 중에서 하나의 서버를 선택하는 단계로서, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계; 상기 선택된 서버를 사용하여 상기 제 1 블록체인 노드에 포함된 상기 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하는 단계; 및 상기 선택된 서버를 사용하여 상기 적어도 하나의 서비스 요청을 사전 프로세싱 블록에 패키징하고, 각각의 제 2 블록체인 노드가 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록 상기 사전 프로세싱 블록을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송하는 단계로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계를 포함하는 서비스 합의 방법을 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 합의 디바이스를 제공한다.
본 발명의 실시예는, 서비스 합의 디바이스에 대응하는 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하도록 구성된 요청 획득 모듈; 및 상기 적어도 하나의 서비스 요청을 사전 프로세싱 블록에 패키징하고, 각각의 제 2 블록체인 노드가 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록 상기 사전 프로세싱 블록을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송하도록 구성된 전송 모듈로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 전송 모듈을 포함하는 서비스 합의 디바이스를 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 합의 디바이스를 제공한다.
본 발명의 실시예는, 제 1 블록체인 노드에 포함된 복수의 서버 중에서 하나의 서버를 선택하도록 구성된 선택 모듈을 포함하고, 상기 제 1 블록체인 노드는 상기 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 서비스 합의 디바이스를 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 합의 방법을 제공한다.
본 발명의 실시예는, 블록체인 노드에 의해, 상기 블록체인 노드에 포함된 제 1 서버를 사용하여 사전 프로세싱 블록을 획득하는 단계로서, 상기 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계; 및 상기 블록체인 노드에 포함된 상기 서비스 메모리에 저장된 각각의 서비스 요청에 기초하여, 상기 제 1 서버를 사용하여 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하는 단계를 포함하는 서비스 합의 방법을 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 합의 디바이스를 제공한다.
본 발명의 실시예는, 사전 프로세싱 블록을 획득하도록 구성된 획득 모듈; 및 서비스 합의 디바이스에 대응하는 서비스 메모리에 저장된 각각의 서비스 요청에 기초하여, 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록 구성된 합의 모듈을 포함하는 서비스 합의 디바이스를 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예는, 등록 센터에 의해, 합의 네트워크 내의 각각의 블록체인 노드에 포함된 복수의 서버의 주소를 획득하는 단계로서, 각각의 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 단계; 및 저장을 위해 상기 블록체인 노드에 포함된 상기 복수의 서버의 획득된 주소를 상기 합의 네트워크 내의 다른 블록체인 노드들 및 클라이언트에 전송하는 단계를 포함하는 서비스 프로세싱 방법을 제공한다.
본 발명의 실시예들은 블록체인 노드가 서비스 프로세싱을 수행할 때 안정성이 상대적으로 낮고 서비스 프로세싱 효율성이 상대적으로 낮다고 하는 종래 기술의 문제점들을 해결하기 위해, 서비스 프로세싱 디바이스를 제공한다.
본 발명의 실시예는, 합의 네트워크 내의 각각의 블록체인 노드에 포함된 복수의 서버의 주소를 획득하도록 구성된 획득 모듈로서, 각각의 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 획득 모듈; 및 저장을 위해 상기 블록체인 노드에 포함된 상기 복수의 서버의 획득된 주소를 상기 합의 네트워크 내의 다른 블록체인 노드들 및 클라이언트에 전송하도록 구성된 전송 모듈을 포함하는 서비스 프로세싱 디바이스를 제공한다.
상술되고 본 발명의 실시예들에 사용된 적어도 하나의 기술적 해결책은 다음과 같은 유익한 효과들을 달성할 수 있다.
본 발명의 실시예들에서, 제 1 블록체인 노드는 복수의 서버를 포함한다. 제 1 블록체인 노드는 클라이언트에 의해 전송된 서비스 요청을 수신하여 제 1 블록체인 노드에 포함된 하나의 서버를 사용하여 서비스 요청을 저장하고, 제 1 블록체인 노드에 포함된 서버를 사용하여 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하고, 사전 프로세싱 블록을 획득하고, 제 2 블록체인 노드를 사용하여 사전 프로세싱 블록에 대한 서비스 합의를 수행하기 위해 서버를 사용하여 합의 네트워크 내의 각각의 제 2 블록체인 노드에 사전 프로세싱 블록을 전송할 수 있다. 제 1 블록체인 노드에 포함된 복수의 서버 중 하나의 서버가 사용 가능하다면, 제 1 블록체인 노드가 사용 가능하다는 것이 보장될 수 있다. 따라서, 합의 네트워크 내의 제 1 블록체인 노드의 안정성이 크게 향상된다. 또한, 제 1 블록체인 노드에 포함된 각각의 서버는 클라이언트를 사용하여 사용자에 의해 전송된 서비스 요청을 수신할 수 있으며, 각각의 서버는 합의 네트워크 내의 각각의 제 2 블록체인 노드에 대한 서비스 합의를 개시할 수 있다. 따라서, 블록체인 서비스의 서비스 프로세싱 효율성이 크게 향상된다.
본 명세서에서 설명되는 첨부 도면들은 본 발명의 추가적인 이해를 제공하기 위한 것이며, 본 발명의 일부를 구성한다. 본 발명의 예시적인 실시예들 및 본 발명의 실시예들의 설명은 본 발명을 설명하기 위한 것이며, 본 발명에 대한 제한을 구성하지 않는다. 첨부 도면들에서:
도 1은 본 발명의 실시예에 따른 서비스 합의 프로세스를 나타내는 개략도이다.
도 2는 본 발명의 실시예에 따른, 등록 센터에 의해 클라이언트에 주소를 푸시하는 개략도이다.
도 3은 본 발명의 실시예에 따른, 등록 센터에 의해 제 2 블록체인 노드 내의 각각의 서버의 주소를 제 1 블록체인 노드의 각각의 서버에 푸시하는 개략도이다.
도 4는 본 발명의 실시예에 따른, 서버에 의해 검증 예정 식별자를 판정하는 개략도이다.
도 5는 본 발명의 실시예에 따른, 제 2 블록체인 노드 내의 서버에 의해 사전 프로세싱 블록에 대한 서비스 합의를 수행하는 프로세스를 나타내는 개략도이다.
도 6은 본 발명의 실시예에 따른 서비스 프로세싱 디바이스를 나타내는 개략 구조도이다.
도 7은 본 발명의 실시예에 따른 서비스 프로세싱 디바이스를 나타내는 개략 구조도이다.
도 8은 본 발명의 실시예에 따른 서비스 프로세싱 디바이스를 나타내는 개략 구조도이다.
도 9는 본 발명의 실시예에 따른 서비스 합의 디바이스를 나타내는 개략 구조도이다.
도 10은 본 발명의 실시예에 따른 서비스 합의 디바이스를 나타내는 개략 구조도이다.
도 11은 본 발명의 실시예에 따른 서비스 합의 디바이스를 나타내는 개략 구조도이다.
도 12는 본 발명의 실시예에 따른 서비스 합의 디바이스를 나타내는 개략 구조도이다.
당업자가 본 발명의 기술적 해결책들을 보다 잘 이해할 수 있도록, 이하에서는 본 발명의 실시예들에서의 첨부 도면들을 참조하여 본 발명의 실시예에서의 기술적 해결책들을 명확하고 완전하게 설명한다. 명백하게는, 설명된 실시예들은 단지 본 발명의 실시예들의 일부일 뿐 전부는 아니다. 당업자가 창의적인 노력없이 본 발명의 실시예들에 기초하여 얻는 다른 모든 실시예들은 본 발명의 보호 범위 내에 있다.
도 1은 특히 이하의 단계들을 포함하는, 본 발명의 실시예에 따른 서비스 합의 프로세스를 나타내는 개략도이다.
S101. 제 1 블록체인 노드는 제 1 블록체인 노드에 포함된 복수의 서버 중 하나의 서버를 사용하여, 클라이언트에 의해 전송된 서비스 요청을 수신한다.
이러한 본 발명의 실시예에 있어서, 서비스 프로세싱 프로세스에서, 사용자는 클라이언트를 사용하여 서비스 요청을 제 1 블록체인 노드에 전송할 수 있다. 여기서 언급한 클라이언트는 사용자가 보유한 사용자 단말 디바이스에 설치된 클라이언트일 수 있다. 사용자는 사용자 단말 디바이스 상의 클라이언트를 개시하고, 클라이언트에 의해 사용자에게 표시되는 인터페이스 상의 서비스 정보를 입력할 수 있다. 클라이언트는 사용자에 의해 입력된 서비스 정보를 수신한 후, 클라이언트에 사전 저장된 서비스 로직에 기초하여 해당 서비스 요청을 생성하고, 그 서비스 요청을 사용자 단말 디바이스를 사용하여 제 1 블록체인 노드에 전송할 수 있다.
물론, 이러한 본 발명의 실시예에 있어서, 사용자는 해당 서비스 정보를 사용자 단말 디바이스에 직접 입력할 수 있고, 사용자 단말 디바이스가 사용자에 의해 입력된 서비스 정보에 기초하여, 해당 서비스 요청을 생성할 수 있고, 그 서비스 요청을 제 1 블록체인 노드에 전송할 수 있다.
본 발명의 실시예에 있어서, 제 1 블록체인 노드는 복수의 서버를 포함하고(즉, 제 1 블록체인 노드는 서버 클러스터를 포함하고, 서버 클러스터는 제 1 블록체인 노드와 동등하다), 서버들은 포인트 투 포인트 라우팅 테이블, 노드의 비대칭 공개/비공개 키 및 노드 ID(ID)와 같은 노드 구성 정보를 공유한다. 따라서, 클라이언트 및 합의 네트워크 내의 다른 블록체인 노드에 있어서, 제 1 블록체인 노드 내의 서버들에 의해 수행되는 동작들은 모두 제 1 블록체인 노드에 의해 수행되는 것으로 간주된다.
따라서, 서비스 요청을 제 1 블록체인 노드에 전송할 때, 클라이언트는 먼저 서비스 요청이 전송되어야 하는 제 1 블록체인 노드 내의 서버를 판정할 필요가 있다. 따라서, 본 출원의 이러한 실시예는 등록 센터를 제공한다. 등록 센터는 블록체인 노드 내의 서버들의 주소들을 관리하고, 서버들의 주소들을 클라이언트에 푸시하도록 구성된다. 클라이언트는 등록 센터에 의해 푸시된 주소들 중에서 하나의 주소를 랜덤으로 선택할 수 있고, 그 주소에 대응하는 서버에 서비스 요청을 전송할 수 있으며, 이에 대해 도 2에 도시되어 있다.
도 2는 본 발명의 실시예에 따라 등록 센터에 의해 클라이언트에 주소를 푸시하는 개략도이다.
도 2에서, 제 1 블록체인 노드는 복수의 서버를 포함하고, 온라인 상태일 때 각각의 서버는 등록 센터에 등록할 수 있으며(여기서 언급된 "온라인"은 서버가 서비스 프로세싱을 정상적으로 개시한다는 것을 의미함), 즉, 서버가 현재 사용 가능한 상태에 있고 클라이언트에 의해 전송된 서비스 요청을 수신할 수 있다는 것을 등록 센터에 통지할 수 있다. 서버가 온라인 상태인 것으로 판정한 후, 등록 센터는 서버의 주소를 획득하고, 그 다음, 클라이언트가 그 주소를 수신한 후에 그 주소를 저장하도록 그 주소를 클라이언트에 푸시할 수 있다.
이러한 본 발명의 실시예에 있어서, 등록 센터는 서버로부터 서버의 주소를 적극적으로 획득할 수 있거나, 또는 서버는 등록 센터에 주소를 제공할 수 있다. 예를 들어, 서버가 등록 센터에 등록한 후, 등록 센터는 등록 성공 메시지를 서버에 반환할 수 있다. 등록 센터가 그 주소를 관리하도록, 서버는 그 메시지를 수신한 후에 등록 센터에 서버 주소를 적극적으로 전송할 수 있다.
등록 센터는 획득된 주소를 클라이언트에 적극적으로 푸시할 수 있을뿐만 아니라, 클라이언트는 등록 센터에 의해 관리되는 주소들을 적극적으로 획득할 수 있다. 예를 들어, 클라이언트는 제 1 블록체인 노드에 서비스 요청을 전송할 뿐만 아니라, 추가로 주소 획득 쿼리 메시지(query message)를 등록 센터에 전송할 수 있다. 클라이언트가 등록 센터에 의해 전송된 주소들을 수신한 후에 그 주소들 중에서 하나의 주소를 선택하고, 선택된 주소에 대응하는 서버에 서비스 요청을 전송하도록, 등록 센터는 쿼리 메시지를 수신한 후에 제 1 블록체인 노드 내의 현재 사용 가능한 서버(즉, 등록 센터에 현재 등록한 서버)의 주소를 클라이언트에 전송할 수 있다. 물론, 클라이언트는 다른 방법들을 사용하여 등록 센터로부터 제 1 블록체인 노드에 포함된 서버의 주소들을 획득할 수도 있다. 여기에서는 상세한 설명을 생략한다.
실제로, 실행중 결함, 프로그램 재시작 등으로 인해, 제 1 블록체인 노드 내의 서버가 오프라인 상태일 가능성이 있다(즉, 서버가 서비스 프로세싱을 수행할 수 없다)는 것에 유의할 필요가 있다. 등록 센터가 오프라인 서버의 주소를 클라이언트에 전송하고 클라이언트가 서버 선택 동안에 그 오프라인 서버의 주소를 정확하게 선택하면, 클라이언트는 서비스 요청을 제 1 블록체인 노드에 전송할 수 없을 가능성이 있으며, 제 1 블록체인 노드는 서비스 요청을 처리할 수 없다.
이러한 문제들을 피하기 위해, 본 발명의 실시예에 있어서, 등록 센터는 등록 센터에 등록된 각각의 서버에 하트비트(heartbeat) 검출 메시지를 정기적으로 전송할 수 있다. 서버가 정상적으로 온라인 상태로 실행 중일 때, 수신된 하트비트 검출 메시지에 기초하여 응답 메시지를 등록 센터에 반환할 수 있다. 등록 센터는 응답 메시지를 수신한 후에, 서버가 정상적으로 온라인 상태로 실행 중인 것으로 판정하고, 서버의 주소를 계속 관리할 수 있다.
하트비트 검출 메시지를 서버에 전송한 후, 등록 센터는 소정 시간이 경과한 후에 하트비트 검출 메시지에 기초하여 서버에 의해 반환된 응답 메시지가 수신되지 않음을 검출하면, 서버가 실행중 결함, 프로그램 재시작 등으로 인해 현재 오프라인 상태일 가능성이 있다고 판정하고, 서버의 주소를 클라이언트에 푸시하지 않는다. 또한, 등록 센터가 서버의 주소를 클라이언트에 푸시한 경우, 등록 센터는 서버가 오프라인 상태에 있다라는 통지를 클라이언트에 전송함으로써, 클라이언트가 그 통지에 기초하여 서버 주소를 로컬로 삭제할 수 있다.
클라이언트는 오프라인 서버의 주소를 삭제한 후, 서비스 요청을 서버에 전송하지 않는다. 서버가 다시 온라인 상태로 될 때, 클라이언트는 등록 센터로부터 서버의 주소를 다시 획득하고, 그 주소를 사용하여 서비스 요청을 서버에 전송한다.
도 2는 클라이언트가 등록 센터로부터 제 1 블록체인 노드에 포함된 주소들을 획득하는 예를 사용하여 단지 설명된다는 것에 유의할 필요가 있다. 도 2에서, 제 1 블록체인 노드는 클라이언트에 의해 전송된 서비스 요청을 클라이언트로부터 수신할 수 있기 때문에, 등록 센터가 제 1 블록체인 노드 내의 서버들의 주소들을 클라이언트에 푸시할 수 있고, 또한 클라이언트가 획득된 주소들을 사용하여 서비스 요청을 제 1 블록체인 노드 내의 서버들에 전송할 수 있도록, 제 1 블록체인 노드 내의 서버들은 등록 센터에 등록할 필요가 있다.
그러나, 실제로, 합의 네트워크 내의 제 2 블록체인 노드는 클라이언트에 의해 전송된 서비스 요청을 수신하고 그 서비스 요청을 처리할 수 있다. 따라서, 본 발명의 실시예에 있어서, 등록 센터가 제 2 블록체인 노드에 포함된 서버들의 주소들을 클라이언트에 푸시할 수 있도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 포함된 서버들은 또한 등록 센터에 등록할 수 있다. 따라서, 클라이언트는 획득된 주소들을 사용하여 제 2 블록체인 노드 내의 서버들에 서비스 요청을 전송할 수 있다.
S102. 그 서버를 사용하여, 제 1 블록체인 노드에 포함된 서비스 메모리에 서비스 요청을 저장하고, 또한 각각의 제 2 블록체인 노드가 서비스 요청을 수신한 후에 그 서비스 요청을 제 2 블록체인 노드에 포함된 서비스 메모리에 저장하도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 그 서비스 요청을 전송한다.
제 1 블록체인 노드에 포함된 서버는 클라이언트에 전송된 서비스 요청을 수신한 후에, 제 1 블록체인 노드에 포함된 서비스 메모리에 서비스 요청을 저장할 수 있다. 또한, 제 2 블록체인 노드가 그 서비스 요청을 수신한 후에 제 2 블록체인 노드에 포함된 서비스 메모리에 그 서비스 요청을 저장하도록, 그 서버는 클라이언트에 의해 전송된 서비스 요청을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송할 수 있다.
제 1 블록체인 노드 내의 서버는 서비스 요청을 수신한 후에 서비스 요청에 대한 유효성 검증을 먼저 수행할 수 있다. 유효성 검증은 RSA 알고리즘과 같은 비대칭 서명을 사용한 유효성 검증일 수 있거나, 다른 형태의 검증일 수도 있다. 서비스 요청이 유효성 검증에 성공한 것으로 판정될 때, 서버는 제 1 블록체인 노드에 포함된 서비스 메모리에 그 서비스 요청을 저장할 수 있고, 그 서비스 요청을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송할 수 있다. 서비스 요청이 유효성 검증에 성공하지 못한 것으로 판정될 때, 사용자가 클라이언트를 사용하여 그 메시지를 판독한 후에 특정 동작들을 수행하도록, 서버는 그 서비스 요청을 저장하지 않지만, 서비스 요청이 처리되지 않음을 나타내는 메시지를 클라이언트에 반환할 수 있다. 예를 들어, 사용자는 그 메시지를 판독한 후에 클라이언트 내의 서비스 요청을 재편집하고, 그 편집된 서비스 요청을 클라이언트를 사용하여 제 1 블록체인 노드에 포함된 서버에 전송할 수 있다.
이러한 본 발명의 실시예에서, 합의 네트워크 내의 각각의 블록체인 노드는 복수의 서버를 포함할 수 있다. 따라서, 서비스 요청을 제 2 블록체인 노드에 전송할 때, 제 1 블록체인 노드의 서버는 또한 제 2 블록체인 노드의 서버들의 주소들을 획득해야 하고, 그 다음, 획득된 주소들을 사용하여 제 2 블록체인 노드에 포함된 서버들에 그 서비스 요청을 전송해야 한다.
따라서, 이러한 본 발명의 실시예에서, 등록 센터는 또한 제 2 블록체인 노드 내의 서버들의 주소들을 관리해야 하고, 제 2 블록체인 노드 내의 서버들의 주소들을 제 1 블록체인 내의 각각의 서버에 전송해야 하며, 이에 대해서는 도 3에 도시되어 있다.
도 3은 본 발명의 실시예에 따라, 등록 센터에 의해 제 2 블록체인 노드 내의 각각의 서버의 주소를 제 1 블록체인 노드 내의 각각의 서버에 푸시하는 개략도이다.
도 3에서, 등록 센터가 제 2 블록체인 노드의 서버들의 주소들을 획득하도록, 제 2 블록체인 노드의 서버들은 또한 온라인 상태로 된 후에 등록 센터에 등록할 수 있다. 등록 센터는 제 2 블록체인 노드의 서버들로부터 적극적으로 주소들을 획득할 수 있거나, 제 2 블록체인 노드의 서버들이 그들의 주소들을 등록 센터에 적극적으로 전송할 수 있다. 구체적인 방법은, 등록 센터에 의해 제 1 블록체인 노드 내의 서버들의 주소들을 획득하는 단계 S101에서의 상술한 방법과 동일하며, 여기서는 상세한 설명을 생략한다.
등록 센터를 사용하여 제 2 블록체인 노드의 서버들의 주소들을 획득한 후에, 제 1 블록체인 노드 내의 각각의 서버는 획득된 주소들을 저장할 수 있다. 서비스 요청을 제 2 블록체인 노드에 전송할 때, 제 1 블록체인 노드 내의 서버는 제 2 블록체인 노드에 포함된 그 저장된 주소들 중에서 하나의 주소를 선택하고, 그 다음, 서비스 요청을 수신한 후에 그 주소에 대응하는 서버가 제 2 블록체인 노드에 대응하는 서비스 메모리에 그 서비스 요청을 저장하도록, 그 서비스 요청을 그 주소에 대응하는 서버에 전송할 수 있다.
제 2 블록체인 노드 내의 서버는 또한 서비스 요청을 수신한 후에 서비스 요청에 대한 유효성 검증을 수행할 수 있다. 서버는 서비스 요청이 유효성 검증에 성공한 것으로 판정할 때에는 제 2 블록체인 노드에 포함된 서비스 메모리에 서비스 요청을 저장할 수 있다. 서버는 서비스 요청이 유효성 검증에 성공하지 못한 것으로 판정할 때에는 그 서비스 요청을 저장하지 않는다.
단계 S101에서 언급된 바와 같이, 제 2 블록체인 노드에 포함된 서버들이 또한 오프라인 상태일 가능성이 있다는 것에 유의할 필요가 있다. 따라서, 등록 센터는 제 2 블록체인 노드 내의 서버들의 주소들을 획득한 후, 이들 주소에 대응하는 서버들에 하트비트 검출 메시지를 정기적으로 전송할 수 있다. 지정된 시간이 경과한 후에(또는 지정된 시간 내에) 하트비트 검출 메시지에 기초하여 서버에 의해 반환된 응답 메시지를 수신하면, 등록 센터는 서버가 여전히 온라인 상태에 있는 것으로 판정할 수 있고, 계속해서 서버의 주소를 관리할 수 있다. 지정된 시간이 경과한 후에 하트비트 검출 메시지를 기초하여 서버에 의해 반환된 응답 메시지를 수신하지 않으면, 등록 센터는 실행중 결함, 네트워크 불안정성 등으로 인해 서버가 오프라인 상태일 가능성이 있는 것으로 판정할 수 있고, 서버가 다시 온라인 상태가 될 때까지 서버의 주소를 계속해서 관리하지 않을 수 있다.
또한, 상술한 방법을 사용하여, 제 2 블록체인 노드 내의 특정 서버가 오프라인 상태인 것으로 판정한 경우, 등록 센터는 서버가 오프라인 상태에 있다라는 통지를 제 1 블록체인 노드 내의 서버에 전송함으로써, 제 1 블록체인 노드 및 클라이언트 내의 서버들이 그 통지를 수신한 후에 그 서버의 주소를 삭제하고, 후속하여 서버가 다시 온라인 상태로 될 때까지 그 주소에 대응하는 서버에 서비스 요청을 전송하지 않을 수 있다. 등록 센터로부터 서버의 주소를 다시 획득한 후에, 제 1 블록체인 노드 및 클라이언트 내의 서버들은 그 획득한 주소를 사용하여 그 주소에 대응하는 서버에 서비스 요청을 전송할 수 있다.
도 3은 하나의 제 2 블록체인 노드에 포함된 서버들이 등록 센터에 등록하는 경우만을 도시한다. 실제로, 합의 네트워크에는 복수의 제 2 블록체인 노드들이 있다. 따라서, 등록 센터가 제 2 블록체인 노드 내의 서버들의 주소들을 획득하고, 획득한 주소들을 제 1 블록체인 노드 내의 서버들에 푸시하도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드 내의 서버들은 온라인 상태로 된 후에 등록 센터에 등록할 수 있다. 즉, 제 1 블록체인 노드 내의 각각의 서버는 합의 네트워크 내의 각각의 제 2 블록체인 노드에 포함된 서버들의 주소들을 저장한다.
실제로, 전체 합의 네트워크는 복수의 블록체인 노드들을 포함한다는 것에 유의할 필요가 있다. 이러한 본 발명의 실시예에서 언급된 제 1 블록체인 노드는 클라이언트에 의해 전송된 서비스 요청을 수신하는 블록체인 노드이고, 본 발명의 실시예에서 제 1 블록체인 노드 외의 다른 블록 블록체인은 제 2 블록체인 노드로서 지칭될 수 있다. 제 1 블록체인 노드와 제 2 블록체인 노드는 상대적인 용어이다. 구체적으로, 클라이언트로부터 서비스 요청을 수신하는 블록체인 노드는 제 1 블록체인 노드라고 할 수 있으며, 제 1 블록체인 노드에 의해 전송된 서비스 요청을 수신하는 블록체인 노드는 제 2 블록체인 노드라고 할 수 있다. 합의 네트워크 내의 블록체인 노드들은 모두 클라이언트에 의해 전송된 서비스 요청을 수신할 수 있기 때문에, 기본적으로 블록체인 노드들은 제 1 블록체인 노드들이거나 제 2 블록체인 노드들일 수 있다. 제 1 블록체인 노드와 제 2 블록체인 노드는 서비스 요청이 수신된 위치에 따라 구분된다.
물론, 합의 체크 프로세스에서, 제 1 블록체인 노드와 제 2 블록체인 노드는 어느 노드가 합의 체크를 개시하는지에 기초해서 구분될 수 있다. 구체적으로, 적어도 하나의 서비스 요청을 포함하는 사전 프로세싱 블록을 합의 네트워크에 전송하는 합의 체크 개시자는 제 1 블록체인 노드일 수 있고, 사전 프로세싱 블록을 수신하는 블록체인 노드는 제 2 블록체인 노드라고 할 수 있다.
S103. 상기 제 1 블록체인 노드에 포함된 복수의 서버 중에서 하나의 서버를 선택하고, 서비스 합의 단계에서, 그 선택된 서버를 사용하여 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득한다.
이러한 본 발명의 실시예에서, 제 1 블록체인 노드 내의 서버는 제 1 블록체인 노드에 포함된 서비스 메모리 내의 서비스 요청에 대한 서비스 합의를 수행할 필요가 있다. 따라서, 서비스 합의 단계에서, 제 1 블록체인 노드 내의 서버는 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득할 수 있고, 후속해서 그 획득된 서비스 요청을 사전 프로세싱 블록에 패키징하고 서비스 합의를 위해 사전 프로세싱 블록을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송할 수 있다.
이러한 본 발명의 실시예에서, 제 1 블록체인 노드는 복수의 서버 및 서비스 메모리 이외에, 스케줄링된 태스크 트리거를 더 포함하고, 스케줄링된 태스크 트리거는 제 1 블록체인 노드 내의 서버를 사용하여 합의 네트워크 내의 각각의 블록체인 노드에 대한 서비스 합의를 주기적으로 개시하는데 사용된다. 그러나, 제 1 블록체인 노드가 복수의 서버를 포함하기 때문에, 스케줄링된 태스크 트리거는 서비스 합의 단계에서 제 1 블록체인 노드에 포함된 복수의 서버 중에서 하나의 서버를 선택할 수 있고, 그 다음, 서버는 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득한다.
본 발명의 이러한 구현에서, 스케줄링된 태스크 트리거는 하드웨어 디바이스일 수 있거나 소프트웨어의 형태일 수 있다. 소프트웨어 형태인 경우에, 스케줄링된 태스크 트리거는 제 1 블록체인 노드 내의 특정 서버에서 설정될 수 있다. 서버에서 실행 중일 때, 스케줄링된 작업 트리거는 서비스 합의 단계에서 제 1 블록체인 노드에 포함된 서버들 중에서 하나의 서버를 선택하고, 선택된 서버가 통지를 수신한 후에 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 요청을 획득하도록, 스케줄링된 태스크 트리거가 위치하는 서버를 사용하여 그 선택된 서버에 통지를 전송할 수 있다.
서비스 메모리(즉, 제 1 블록체인 노드에 포함된 서비스 메모리)로부터 각각의 서비스 요청을 획득하는 프로세스에서, 서버는 각각의 서비스 요청이 서비스 메모리에 저장하는 시간 순서에 기초하여 각각의 서비스 요청을 획득할 수 있거나, 각각의 서비스 요청의 서비스 유형에 기초하여 각각의 서비스 요청을 획득할 수 있거나, 각각의 서비스 요청의 서비스 레벨에 기초하여 각각의 서비스 요청을 획득할 수 있다. 여러 획득 방법이 있으며, 여기에서는 상세한 설명을 생략한다.
S104 : 선택된 서버를 사용하여 적어도 하나의 서비스 요청을 사전 프로세싱 블록에 패키징하고, 또한 각각의 제 2 블록체인 노드가 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록, 선택된 서버를 사용하여 합의 네트워크 내의 각각의 제 2 블록체인 노드에 사전 프로세싱 블록을 전송한다.
제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득한 후, 제 1 블록체인 노드 내의 서버는 그 획득된 서비스 요청들을 처리할 수 있고, 그 서비스 요청들을 사전 프로세싱 블록에 패키징할 수 있다. 서버는 서비스 요청들의 소팅 결과를 얻기 위해 그 획득된 서비스 요청들을 미리 정해진 소팅 규칙에 기초하여 소팅하고, 미리 정해진 식별자 판정 규칙 및 소팅 결과를 사용하여, 서비스 요청들에 고유하게 대응하는 검증 예정 식별자를 판정할 수 있다. 그 다음, 서버는 그 획득된 서비스 요청들, 서비스 요청들의 소팅 결과 및 판정된 검증 예정 식별자를 하나의 사전 프로세싱 블록에 패키징할 수 있고, 그 다음에 사전 프로세싱 블록을 제 2 블록체인 노드에 포함된 서버들에 전송할 수 있다.
서버에 의해 검증 예정 식별자를 판정하는 특정 방법이 도 4에 도시될 수 있다.
도 4는 본 발명의 실시예에 따라, 서버에 의해 검증 예정 식별자를 판정하는 개략도이다.
도 4에서, 제 1 블록체인 노드 내의 서버(즉, 제 1 블록체인 노드에 포함된 스케줄링된 태스크 트리거를 사용하여 판정된 서버)는 제 1 블록체인 노드에 포함된 서비스 메모리로부터 도 4에 도시된 4개의 서비스 요청들을 획득한다. 서버는 도 4에 도시된 소팅 결과를 획득하기 위해, 미리 정해진 소팅 규칙에 기초하여 4개의 서비스 요청들을 소팅할 수 있다. 그 다음, 서버는 미리 정해진 식별자 판정 규칙: 해쉬 알고리즘에 기초하여 4개의 서비스 요청에 대응하는 자(child) 식별자 Hash1 내지 Hash4를 개별적으로 판정할 수 있고, 머클 트리(Merkle tree)의 루트 노드에서 값 Hash7을 판정하기 위해, 획득된 소팅 결과에 기초하여 그 판정된 4개의 자 식별자를 머클 트리의 리프 노드들에 있어 왼쪽에서 오른쪽으로 배치한다. 서버는 머클 트리의 루트 노드에서 그 판정된 값 Hash7을 4개의 서비스 요청들에 고유하게 대응하는 검증 예정 식별자로서 판정할 수 있고, 그 다음에, 판정된 검증 예정 식별자, 소팅 결과 및 4개의 서비스 요청들을 하나의 사전 프로세싱 블록으로 패키징할 수 있다.
도 4에 도시된 검증 예정 식별자를 판정하는 방법은 유일하지 않다는 것에 유의해야 할 필요가 있다. 예를 들면, 제 1 블록체인 노드의 서버는, 미리 정해진 식별자 판정 규칙으로서의 해시 알고리즘을 사용하여 서비스 요청에 고유하게 대응하는 검증 예정 식별자를 판정하는 것에 더하여, 판정된 검증 예정 식별자가 서비스 요청들에 고유하게 대응하면, 메시지 다이제스트 알고리즘 5(MD5)과 같은 알고리즘을 사용하여 서비스 요청들에 고유하게 대응하는 검증 예정 식별자를 더 판정할 수 있다. 도 4에 도시된 형태 이외에, 머클 트리는 다른 형태를 더 가질 수 있다. 이하에서는 상세한 설명을 생략한다.
물론, 이러한 본 발명의 실시예에서, 머클 트리 외에, 제 1 블록체인 노드 내의 서버는 다른 방법들을 사용하여 서비스 요청에 고유하게 대응하는 검증 예정 식별자를 더 판정할 수 있다. 예를 들어, 서비스 요청들에 대응하는 자 식별자들을 판정한 후에, 서버는 특정 순서에 기초하여 그 판정된 자 식별자들을 소팅하고, 소팅된 결과를 다시 암호화하고, 암호화된 결과를 서비스 요청들에 고유하게 대응하는 검증 예정 식별자로서 사용할 수 있다. 대안으로, 서버는 서비스 요청들에 대응하는 자 식별자들을 판정한 후에, 스노우플레이크(snowflake) 알고리즘을 사용하여 유니버설 고유 ID를 생성하고, 이 ID를 서비스 요청들에 고유하게 대응하는 검증 예정 식별자로서 사용할 수 있다. 대안으로, 서버는 서비스 요청들에 대응하는 판정된 자 식별자들의 유니버설 고유 식별자(UUID)를 판정할 수 있고, 그 UUID를 서비스 요청들에 고유하게 대응하는 검증 예정 식별자로 사용할 수 있다. 물론, 다른 판정 방법들이 여전히 존재하며, 판정된 검증 예정 식별자가 서비스 요청들에 고유하게 대응할 수 있다는 것이 보증된다면, 여기서는 상세한 설명을 생략한다.
사전 프로세싱 블록을 판정한 후에, 제 1 블록체인 노드 내의 서버(즉, 서비스 합의 단계에서 제 1 블록체인 노드 내의 스케쥴링된 태스크 트리거를 사용하여 선택된 서버)는 사전 프로세싱 블록을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송할 수 있다. 그러나, 합의 네트워크 내의 각각의 제 2 블록체인 노드는 복수의 서버를 포함한다. 따라서, 사전 프로세싱 블록을 전송할 때, 제 1 블록체인 노드 내의 서버는 사전 프로세싱 블록이 전송되는 각각의 제 2 블록체인 노드 내의 서버를 판정해야 한다.
이러한 본 발명의 실시예에서, 제 1 블록체인 노드 내의 각각의 서버는 등록 센터로부터 합의 네트워크 내의 각각의 제 2 블록체인 노드에 포함된 서버들의 주소들을 획득할 수 있다. 따라서, 제 1 블록체인 노드 내의 서버가 사전 프로세싱 블록을 합의 네트워크 내의 특정 제 2 블록체인 노드에 전송할 필요가 있을 때, 서버는 제 2 블록체인 노드 내의 서버들의 저장된 주소들(저장된 주소들은 온라인 상태에 있는 제 2 블록체인 노드 내의 서버들의 주소들임) 중에서 하나의 주소를 선택할 수 있고, 그 주소에 대응하는 서버가 사전 프로세싱 블록을 수신한 후에 사전 프로세싱 블록에 대한 합의 체크를 수행하도록, 사전 프로세싱 블록을 그 주소에 대응하는 서버에 전송할 수 있다.
합의 네트워크 내에는 복수의 제 2 블록체인 노드들이 있다. 따라서, 사전 프로세싱 블록을 각각의 제 2 블록체인 노드에 전송할 때, 제 1 블록체인 노드 내의 서버는 상술한 방법을 사용하여 그 저장된 주소들로부터, 사전 프로세싱 블록을 수신한 각각의 제 2 블록체인 노드 내의 서버를 개별적으로 판정할 수 있고, 그 다음, 판정된 주소들을 사용하여 각각의 제 2 블록체인 노드 내의 서버에 사전 프로세싱 블록을 개별적으로 전송할 수 있다.
제 2 블록체인 노드에 있어서, 제 2 블록체인 노드에 포함된 서버는 제 1 블록체인 노드 내의 서버에 의해 전송된 사전 프로세싱 블록을 수신한 후에, 사전 프로세싱 블록에 포함된 서비스 요청들, 서비스 요청의 결과 및 검증 예정 식별자를 판정하기 위해 사전 프로세싱 블록을 분석할 수 있다. 그 다음, 제 2 블록체인 노드 내의 서버는 제 2 블록체인 노드에 포함된 서비스 메모리로부터 사전 프로세싱 블록에 포함된 서비스 요청들과 일치하는 서비스 요청들을 찾을 수 있고, 또한 미리 정해진 식별자 판정 규칙과 판정된 소팅 결과를 사용하여, 제 2 블록체인 노드에 포함된 서비스 메모리로부터 찾은 서비스 요청들에 고유하게 대응하는 식별자를 판정할 수 있다. 여기서 언급된 미리 정해진 식별자 판정 규칙은 제 1 블록체인 노드 내의 서버에 의해 사용되는 식별자 판정 규칙과 동일하다.
제 2 블록체인 노드 내의 서버는 식별자를 판정한 후에 사전 프로세싱 블록에 포함된 검증 예정 식별자와 판정된 식별자를 비교할 수 있고, 이들 2개가 일치한다고 판정한 경우에 사전 프로세싱 블록은 (즉, 제 2 블록체인 노드 내의 서버에 의해 수행되는) 로컬 합의 체크에 성공한 것으로 판정할 수 있고, 그 다음, 제 2 블록체인 노드에 포함된 서비스 메모리에 체크 결과를 저장하고, 그 체크 결과를 합의 네트워크 내의 다른 블록체인 노드들(여기서 언급된 다른 블록체인 노드는 각각의 제 2 블록체인 노드와 제 1 블록체인 노드를 포함함)에 전송할 수 있다.
제 2 블록체인 노드 내의 서버에 의해 체크 결과를 전송하는 방법은 서비스 요청 또는 사전 프로세싱 블록을 제 1 블록체인 노드 내의 서버에 의해 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송하는 방법과 동일하다. 구체적으로, 제 2 블록체인 노드 내의 서버가 체크 결과를 합의 네트워크 내의 특정 블록체인 노드(제 2 블록체인 노드일 수 있거나, 제 1 블록체인 노드일 수 있음)에 전송할 필요가 있을 때, 서버는 그 블록체인 노드 내의 서버들의 로컬 저장된 주소들 중에서 하나의 주소를 선택할 수 있고, 체크 결과를 그 주소에 대응하는 서버에 전송할 수 있다. 그 주소에 대응하는 서버는 체크 결과를 수신한 후에, 서버가 속하는 블록체인 노드에 포함된 서비스 메모리에 체크 결과를 저장할 수 있다.
제 2 블록체인 노드 내의 서버가 체크 결과를 합의 네트워크 내의 각각의 블록체인 노드에 전송할 때, 그 서버 또는 제 2 블록체인 노드 내의 다른 서버들은 합의 네트워크 내의 다른 블록체인 노드들에 의해 전송된 사전 프로세싱 블록에 관한 체크 결과들을 수신할 수도 있고, 수신된 모든 체크 결과들을 제 2 블록체인 노드에 포함된 서비스 메모리에 저장할 수 있다. 그 다음, 제 2 블록체인 노드 내의 서버(사전 프로세싱 블록을 수신한 서버일 수 있음)는 제 2 블록체인 노드에 포함된 서비스 메모리로부터, 합의 네트워크 내의 각각의 블록체인 노드에 의해 획득된 사전 프로세싱 블록에 관한 (서버에 의해 얻어진 체크 결과를 포함하는) 체크 결과를 판정할 수 있고, 합의 네트워크 내의 각각의 블록체인 노드에 의해 획득된 사전 프로세싱 블록에 관한 종합 체크 결과를 판정할 수 있다. 그 다음, 서버는 체크 결과를 전송하는 방법과 동일한 방법을 사용하여 그 판정된 종합 체크 결과를 합의 네트워크 내의 각각의 블록체인 노드에 전송하고, 종합 체크 결과를 제 2 블록체인 노드에 포함된 서비스 메모리에 저장할 수 있다.
제 2 블록체인 노드 내의 서버가 종합 체크 결과를 전송한 후, 제 2 블록체인 노드 내의 다른 서버들 또는 그 서버(즉, 종합 체크 결과를 전송하는 서버)도 합의 네트워크 내의 (각각의 제 2 블록체인 노드 및 제 1 블록체인 노드를 포함하는) 각각의 블록체인 노드에 의해 전송된 사전 프로세싱 블록에 관한 종합 체크 결과를 수신할 수 있고, 그 종합 체크 결과를 제 2 블록체인 노드에 포함된 서비스 메모리에 저장할 수 있다.
제 2 블록체인 노드 내의 서버(즉, 종합 체크 결과를 전송하는 서버)는 합의 네트워크 내의 다른 블록체인 노드들에 의해 전송된 종합 체크 결과를 제 2 블록체인 노드에 포함된 서비스 메모리로부터 획득할 수 있고, 그 수신된 종합 체크 결과 및 서버에 의해 판정된 종합 체크 결과를 사용하여, 사전 프로세싱 블록이 합의 네트워크에서의 서비스 합의에 성공하는지 여부를 판정할 수 있고, 서비스 메모리에 저장된 (서버에 의해 판정된 종합 체크 결과를 포함하는) 종합 체크 결과에 기초하여, 사전 프로세싱 블록에 포함된 각각의 서비스 요청이 합의 네트워크에서의 서비스 합의에 성공한 것으로 판정한 경우, 사전 프로세싱 블록에 포함된 각각의 서비스 요청을 제 2 블록체인 노드에 저장된 블록체인 노드에 기록하거나, 성공하지 못한 것으로 판정한 경우, 각각의 서비스 요청을 블록체인 노드에 기록하지 않을 수 있다. 제 2 블록체인 노드 내의 서버는 각각의 서비스 요청의 전체 내용을 블록체인 노드에 기록하거나, 각각의 서비스 요청의 정보 다이제스트만을 블록체인 노드에 기록할 수 있다.
상술한 서비스 합의 프로세스는 비교적 복잡하다. 이해를 돕기 위해, 이하에서는 제 2 블록체인 노드 내의 서버에 의해 사전 프로세싱 블록에 대한 서비스 합의를 수행하는 프로세스를 명확하게 설명하기 위한 간단한 예를 열거하고, 이에 대해서는 도 5에 도시되어 있다.
도 5는 본 발명의 실시예에 따라, 제 2 블록체인 노드 내의 서버에 의해 사전 프로세싱 블록에 대한 서비스 합의를 수행하는 프로세스를 나타내는 개략도이다.
합의 네트워크 내에 3개의 블록체인 노드: 제 1 블록체인 노드, 제 2 블록체인 노드 A 및 제 2 블록체인 노드 B가 있다고 가정한다. 3개의 블록체인 노드들 내의 각각의 서버는 다른 2개의 블록체인 노드들에 포함된 서버들의 주소들을 각각 저장한다. 제 1 블록체인 노드 내의 서버 #3은 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하고, 적어도 하나의 서비스 요청을 사전 프로세싱 블록에 패키징하고, 사전 프로세싱 블록을 다른 2개의 블록체인 노드들에 전송한다. 서버 #3은 서버 #3에 저장된 다른 2개의 블록체인 노드들에 포함된 서버들의 주소들을 사용하여 사전 프로세싱 블록을 서버 A1 및 서버 B1에 개별적으로 전송하기로 결정한다.
사전 프로세싱 블록을 수신한 후에, 서버 A1와 서버 B1는 사전 프로세싱 블록에 대한 합의 체크를 수행할 수 있고, 사전 프로세싱 블록에 대한 획득된 체크 결과들을 서버 A1와 서버 B1가 속하는 블록체인 노드들에 포함되는 서비스 메모리에 각각 저장할 수 있다. 또한, 서버 A1 및 서버 B1는 판정된 체크 결과들을 합의 네트워크 내의 다른 2개의 블록체인 노드들에 각각 전송할 수 있다. 서버 A1은 서버 A1에 저장된 다른 2개의 블록체인 노드들 내의 서버들의 주소들에 기초하여, 서버 A1에 의해 획득된 체크 결과를, 제 1 블록체인 노드 내의 서버 #2 및 제 2 블록체인 노드 B 내의 서버 B2에 전송하기로 결정하고, 서버 B1은 서버 B1에 의해 획득된 체크 결과를 제 1 블록체인 노드 내의 서버 #3 및 제 2 블록체인 노드 A 내의 서버 A3에 전송하기로 결정한다.
다른 2개의 블록체인 노드들 내의 서버들에 의해 전송된 체크 결과들을 개별적으로 수신한 후에, 합의 네트워크 내의 3개의 블록체인 노드들 내의 서버들은 수신된 체크 결과들을 블록체인 노드에 포함된 서비스 메모리에 저장할 수 있다. 서버 A1(즉, 사전 프로세싱 블록을 수신하는 서버)은 (서버 A1에 의해 획득된 체크 결과를 포함하는) 체크 결과를 제 2 블록체인 노드 A에 포함된 서비스 메모리로부터 획득할 수 있고, 이들 체크 결과들에 기초하여 사전 프로세싱 블록에 대한 합의 네트워크 내의 블록체인 노드들의 종합 체크 결과를 획득할 수 있다. 서버 A1은 획득된 종합 체크 결과를 제 2 블록체인 노드 A에 포함된 서비스 메모리에 저장할 수 있고, 그 종합 체크 결과를 다른 2개의 블록체인 노드들에 전송할 수 있다. 전송 방법은 체크 결과를 전송하는 방법과 동일하여, 여기서는 상세한 설명을 생략한다. 서버 #3(즉, 서비스 합의를 전송하는 서버) 및 서버 B1(사전 프로세싱 블록을 수신하는 서버)은 이러한 방법을 사용하여 사전 프로세싱 블록에 대한 종합 체크 결과를 판정할 수 있고, 그 획득된 종합 체크 결과를 합의 네트워크 내의 다른 2개의 블록체인 노드들에 전송할 수 있다.
다른 2개의 블록체인 노드에 의해 전송된 체크 결과를 수신한 후에, 합의 네트워크 내의 블록체인 노드 내의 서버들은 수신된 체크 결과들을 블록체인 노드에 포함된 서비스 메모리에 저장할 수 있다.
서버 A1은 블록체인 노드들에 의해 전송된, 사전 프로세싱 블록에 대한 (서버 A1에 의해 획득된 종합 체크 결과를 포함하는) 종합 체크 결과를 제 2 블록체인 노드 A에 포함된 서비스 메모리로부터 획득할 수 있다. 그 다음, 서버 A1은 그 종합 체크 결과에 기초하여, 사전 프로세싱 블록이 합의 네트워크에서의 서비스 합의에 성공했는지 여부를 판정할 수 있다. '예'인 경우에, 서버 A1은 사전 프로세싱 블록에 포함된 각각의 서비스 요청을 제 2 블록체인 노드 A의 블록체인 노드에 기록하고, '아니오'인 경우에, 서버 A1은 각각의 서비스 요청을 블록체인 노드에 기록하지 않는다. 마찬가지로, 서버 #3 및 서버 B1은 이러한 방법을 사용하여, 서버 #3 및 서버 B1이 속하는 블록체인 노드에 포함되는 서비스 메모리로부터 종합 체크 결과들을 획득할 수도 있고, 획득된 종합 체크 결과들에 기초하여, 사전 프로세싱 블록에 포함된 각각의 서비스 요청을 서버 #3 및 서버 B1의 블록체인 노드들에 기록할지 여부를 판정할 수 있다.
전술한 방법으로부터, 합의 네트워크 내의 각각의 블록체인 노드들은 복수의 서버를 포함한다는 것을 알 수 있다. 따라서, 각각의 블록체인 노드 내의 서버들 중 하나가 온라인 상태, 즉 사용 가능한 상태에 있는 한, 블록체인 노드는 합의 네트워크 내의 사용 가능한 블록체인 노드이며, 이는 합의 네트워크 내의 블록체인 노드의 안정성이 크게 향상시킨다. 또한, 각각의 블록체인 노드는 복수의 서버를 포함하며, 서버들의 기능들 및 상태들은 블록체인 노드에 대해 동일하다. 즉, 기존 기술과 비교하여, 동등의 서버들이 블록체인 노드에 추가된다. 이는 블록체인 노드의 성능을 크게 향상시키므로, 블록체인 노드의 서비스 프로세싱 효율성이 크게 향상된다.
서비스 합의 프로세스에서, 합의 네트워크 내의 각각의 블록체인 노드는 사전 프로세싱 블록에 대한 블록체인 노드에 의해 획득된 체크 결과를 판정할 수 있고, 획득된 체크 결과를 합의 네트워크 내의 다른 블록체인 노드에 전송할 수 있고, 그 체크 결과를 블록체인 노드에 대응하는 서비스 메모리에 저장할 수 있다는 것에 유의할 필요가 있다. 블록체인 노드는 블록체인 노드에 포함된 제 1 서버를 사용하여 사전 프로세싱 블록에 대한 합의 체크를 수행할 수 있고, 제 1 서버는 블록체인 노드의 지정된 서버이거나, 블록체인 노드에 포함된 서버들 중에서 선택된 서버일 수 있다.
더욱이, 블록체인 노드는 또한 사전 프로세싱 블록에 대한 합의 네트워크 내의 다른 블록체인 노드에 의해 전송된 체크 결과를 수신한다. 블록체인 노드는 블록체인 노드에 포함된 서버를 사용하여 다른 블록체인 노드에 의해 전송된 체크 결과를 수신하고, 수신된 체크 결과를 블록체인 노드에 대응하는 서비스 메모리에 저장한다. 여기서, 다른 블록체인 노드에 의해 전송된 체크 결과를 수신하는 서버는 제 2 서버라고 할 수 있다. 제 2 서버는 블록체인 노드 내의 임의의 서버가 될 수 있으며, 물론 상술한 제 1 서버가 될 수 있다. 다른 블록체인 노드들에 의해 전송된 체크 결과를 수신하는 제 2 서버가 어느 것인지는, 다른 블록체인 노드에 의해 전송된 체크 결과를 수신하도록 다른 블록체인 노드들에 포함된 서버에 의해 선택된 제 2 서버에 따라 다르다.
단계 S101에서, 클라이언트는 제 1 블록체인 노드 내의 서버들의 저장된 주소들 중에서 하나의 주소를 랜덤으로 선택하는 것 이외에, 로딩 밸런싱 상태에 기초하여 주소를 선택할 수도 있다. 따라서, 제 1 블록체인 노드 내의 서버들의 주소들을 클라이언트에 푸시할 때, 클라이언트가 미리 정해진 로딩 밸런싱 알고리즘을 사용하여 그 주소들로부터 경량 로딩된 서버의 주소를 선택하여 그 주소에 대응하는 서버에 서비스 요청을 전송하도록, 등록 센터는 서버의 로딩 상태들을 클라이언트에 공동으로 푸시할 수 있다.
마찬가지로, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 서비스 요청을 전송할 때, 제 1 블록체인 노드 내의 서버는 또한 로딩 밸런싱 방법에 기초하여 그 저장된 주소로부터 서버를 선택할 수 있다. 물론, 제 1 블록체인 노드 내의 서버는 로딩 밸런싱 방법에 기초하여 사전 프로세싱 블록을 전송할 수 있고, 합의 네트워크 내의 각각의 블록체인 노드는 또한 로딩 밸런싱 방법에 기초하여 체크 결과와 종합 체크 결과를 전송할 수 있다. 특정 프로세스는 로딩 밸런싱 방법에 기초하여 클라이언트에 의해 제 1 블록체인 노드에 서비스 요청을 전송하는 방법과 동일하며, 여기서는 상세한 설명을 생략한다.
이러한 본 발명의 실시예에서, 스케줄링된 태스크 트리거를 사용하여 서비스 합의를 개시하는 서버를 선택하는 것 이외에, (제 1 블록체인 노드 및 제 2 블록체인 노드를 포함하는) 블록체인 노드 내의 서버들에 합의 기간들이 추가로 각각 설정될 수 있고, 상이한 서버들은 상이한 합의 기간들을 갖는다. 현재 시각이 서버의 합의 기간에 도달했음을 검출할 때, 서버는 서버가 속하는 블록체인 노드 내의 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득할 수 있다.
이러한 본 발명의 실시예에서, (제 1 블록체인 노드 및 제 2 블록체인 노드를 포함하는) 블록체인 노드 내의 서버는 또한 서비스 요청을 수신한 후에 블록체인 노드 내의 다른 서버들에 서비스 요청을 포워딩할 수 있으며, 다른 서버들은 그 서비스 요청을 블록체인 노드에 포함된 서비스 메모리에 저장한다. 제 1 블록체인 노드에 의해 전송된 사전 프로세싱 블록을 수신한 후에, 합의 네트워크 내의 각각의 제 2 블록체인 노드 내의 서버는 또한 합의 체크를 위해 사전 프로세싱 블록을 제 2 블록체인 노드 내의 다른 서버들에 전송할 수 있고, 획득된 체크 결과를 제 2 블록체인 노드에 포함된 서비스 메모리에 저장한다.
본 발명의 실시예들에 따른 서비스 합의 방법이 상술되어 있다. 동일한 아이디어에 기초하여, 본 발명의 실시예는 도 6 내지 도 12에 도시된 이하의 서비스 프로세싱 디바이스 및 서비스 합의 디바이스를 더 제공한다.
도 6은 본 발명의 실시예에 따른 서비스 프로세싱 디바이스, 구체적으로는, 클라이언트에 의해 전송된 서비스 요청을 수신하도록 구성된 수신 모듈(601); 상기 디바이스에 대응하는 서비스 메모리에 상기 서비스 요청을 저장하도록 구성된 저장 모듈(602); 및 각각의 제 2 블록체인 노드가 상기 서비스 요청을 수신한 후에 제 2 블록체인 노드에 포함된 서비스 메모리에 상기 서비스 요청을 저장하도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 서비스 요청을 전송하도록 구성된 전송 모듈(603)로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 전송 모듈(603)을 포함하는 서비스 프로세싱 디바이스를 나타내는 개략 구조도이다.
상기 디바이스는, 등록 센터가 클라이언트 및 상기 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 디바이스의 주소를 전송하도록, 상기 디바이스가 온라인 상태인 것으로 판정될 때, 상기 등록 센터에 상기 디바이스의 주소를 전송하도록 구성되는 등록 모듈(604)을 더 포함한다.
상기 디바이스는 등록 센터로부터 각각의 제 2 블록체인 노드에 포함된 복수의 서버의 주소들을 획득하도록 구성된 획득 모듈(605)을 더 포함한다.
상기 전송 모듈(603)은 특히 각각의 제 2 블록체인 노드에 포함된 복수의 서버의 획득된 주소들 중에서 하나의 주소를 선택하고; 상기 선택된 주소에 대응하는 서버에 상기 서비스 요청을 전송하도록 구성된다.
상기 저장 모듈(602)은 특히 상기 서비스 요청에 대한 유효성 검증을 수행하고; 상기 서비스 요청이 상기 유효성 검증에 성공한 것으로 판정되면, 상기 서비스 요청을 상기 서비스 메모리에 저장하도록 구성된다.
상기 저장 모듈(602)은 또한 상기 서비스 요청이 상기 유효성 검증에 성공하지 못한 것으로 판정되면, 상기 서비스 요청을 저장하는 것을 스킵하도록 구성된다.
블록체인 노드는 복수의 디바이스를 포함한다.
도 7은 본 발명의 실시예에 따른 서비스 프로세싱 디바이스, 특히, 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는 제 1 블록체인 노드에 의해 전송된 서비스 요청을 수신하도록 구성된 요청 수신 모듈(701); 및 상기 디바이스에 대응하는 서비스 메모리에 상기 서비스 요청을 저장하도록 구성된 요청 저장 모듈(702)을 포함하는 서비스 프로세싱 디바이스를 나타내는 개략 구조도이다.
상기 디바이스는, 등록 센터가 상기 디바이스의 주소를 제 1 블록체인 노드, 클라이언트, 및 합의 네트워크 내의 다른 제 2 블록체인 노드들에 전송하도록, 상기 디바이스가 온라인 상태에 있는 것으로 판정될 때 상기 디바이스의 주소를 상기 등록 센터에 전송하도록 구성된 등록 모듈(703)을 더 포함한다.
상기 요청 저장 모듈(702)은 특히 상기 서비스 요청에 대한 유효성 검증을 수행하고; 상기 서비스 요청이 상기 유효성 검증에 성공한 것으로 판정되면, 상기 서비스 요청을 상기 서비스 메모리에 저장하도록 구성된다.
상기 요청 저장 모듈(702)은 또한 상기 서비스 요청이 유효성 검증에 성공하지 못한 것으로 판정되면, 상기 서비스 요청을 저장하는 것을 스킵하도록 구성된다.
도 8은 본 발명의 실시예에 따른 서비스 프로세싱 디바이스, 특히 사용자에 의해 입력된 서비스 정보를 수신하도록 구성된 정보 수신 모듈(801); 상기 서비스 정보에 기초하여, 대응하는 서비스 요청을 생성하도록 구성된 요청 생성 모듈(802); 및 상기 제 1 블록체인 노드가 상기 제 1 블록체인 노드에 포함된 서비스 메모리에 상기 수신된 서비스 요청을 저장하도록, 상기 서비스 요청을 제 1 블록체인 노드에 포함된 서버에 전송하도록 구성되고, 또한 상기 서비스 요청을 합의 네트워크 내의 각각의 제 2 블록체인 노드에 전송하도록 구성된 전송 모듈(803)로서, 상기 제 1 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하고, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 전송 모듈(803)을 포함하는 서비스 프로세싱 디바이스를 나타내는 개략 구조도이다.
상기 전송 모듈(803)은 특히, 등록 센터로부터 상기 제 1 블록체인 노드에 포함된 복수의 서버의 주소들을 획득하고; 상기 제 1 블록체인 노드에 포함된 상기 복수의 서버의 상기 획득된 주소들 중에서 하나의 주소를 선택하고, 상기 서비스 요청을 상기 선택된 주소에 대응되는 서버에 전송하도록 구성된다.
상기 디바이스는 또한, 특정 서버에 대한 상기 등록 센터에 의해 전송된 오프라인 통지가 수신될 때 상기 특정 서버의 주소를 삭제하도록 구성된 삭제 모듈(804)을 더 포함한다.
도 9는 본 발명의 실시예에 따른 서비스 합의 디바이스, 특히, 상기 디바이스에 대응하는 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하도록 구성된 요청 획득 모듈(901); 및 상기 적어도 하나의 서비스 요청을 사전 프로세싱 블록에 패키징하도록 구성되고, 또한 각각의 제 2 블록체인 노드가 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록, 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 사전 프로세싱 블록을 전송하도록 구성된 전송 모듈(902)로서, 상기 제 2 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 전송 모듈(902)을 포함하는 서비스 합의 디바이스를 나타내는 개략 구조도이다.
상기 디바이스는 등록 센터로부터 각각의 제 2 블록체인 노드에 포함된 복수의 서버의 주소들을 획득하도록 구성된 주소 획득 모듈(903)을 더 포함한다.
상기 전송 모듈(902)은 특히 각각의 제 2 블록체인 노드에 포함된 복수의 서버의 상기 획득된 주소들 중에서 하나의 주소를 선택하도록 구성되고; 또한 상기 선택된 주소에 대응하는 서버가 상기 수신된 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록, 상기 사전 프로세싱 블록을 상기 선택된 주소에 대응하는 서버에 전송하도록 구성된다.
도 10은 본 발명의 실시예에 따른 서비스 합의 디바이스, 특히 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는 제 1 블록체인 노드에 포함된 복수의 서버 중에서 하나의 서버를 선택하도록 구성된 선택 모듈(1001)을 포함하는 서비스 합의 디바이스를 나타내는 개략 구성도이다.
상기 선택 모듈(1001)은 특히 현재 시점이 태스크 트리거 조건을 충족하는지 여부를 검출하도록 구성되고; 또한 상기 태스크 트리거 조건이 충족되는 것으로 검출될 때, 상기 제 1 블록체인 노드에 포함된 상기 복수의 서버로부터 상기 서버를 선택하도록 구성된다.
도 11은 본 발명의 실시예에 따른 서비스 합의 디바이스, 특히 사전 프로세싱 블록을 획득하도록 구성된 획득 모듈(1101); 및 상기 디바이스에 대응하는 서비스 메모리에 저장된 각각의 서비스 요청에 기초하여, 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록 구성된 합의 모듈(1102)을 포함하는 서비스 합의 디바이스를 나타내는 개략 구조도이다.
상기 합의 모듈(1102)은 특히, 체크 결과를 획득하기 위해 상기 사전 프로세싱 블록에 대한 합의 체크를 수행하도록 구성되고; 합의 네트워크 내의 다른 블록체인 노드들에 의해 전송된 각각의 체크 결과를 수신하고, 수신된 각각의 체크 결과를 상기 디바이스에 대응하는 상기 서비스 메모리에 저장하도록 구성되고; 상기 서비스 메모리로부터 각각의 체크 결과를 획득하여, 상기 획득된 각각의 체크 결과를 사용하여 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하도록 구성된다.
도 12는 본 발명의 실시예에 따른 서비스 합의 디바이스, 특히 합의 네트워크 내의 각각의 블록체인 노드에 포함된 복수의 서버의 주소들을 획득하도록 구성된 획득 모듈(1201)로서, 상기 각각의 블록체인 노드는 복수의 서버 및 적어도 하나의 서비스 메모리를 포함하는, 획득 모듈(1201); 및 저장을 위해 상기 블록체인 노드에 포함된 복수의 서버의 상기 획득된 주소들을 상기 합의 네트워크 내의 다른 블록체인 노드 및 클라이언트에 전송하도록 구성된 전송 모듈(1202)을 포함하는 서비스 합의 디바이스를 나타내는 개략 구조도이다.
상기 디바이스는, 블록체인 노드에 포함된 복수의 서버의 획득된 주소들에 기초하여, 합의 네트워크 내의 각각의 블록체인 노드에 포함된 복수의 서버에 하트비트 검출 메시지를 전송하도록 구성되고; 지정된 시간이 경과한 후에 상기 하트비트 검출 메시지에 기초하여 상기 블록체인 노드에 포함된 각각의 서버에 의해 반환된 응답 메시지가 수신되지 않을 때, 상기 서버가 오프라인 상태인 것으로 판정하여, 상기 합의 네트워크 내의 다른 블록체인 노드들 및 클라이언트에 상기 서버의 상기 저장된 주소를 삭제할 것을 지시하도록 구성된 통지 모듈(1203)을 더 포함한다.
본 발명의 실시예들은 서비스 프로세싱 방법 및 디바이스, 또한 서비스 합의 방법 및 디바이스를 제공한다. 상기 방법에서, 제 1 블록체인 노드는 복수의 서버를 포함한다. 제 1 블록체인 노드는 클라이언트에 의해 전송된 서비스 요청을 수신하고 상기 포함된 복수의 서버를 사용하여 상기 서비스 요청을 저장할 수 있고, 사전 프로세싱 블록을 획득하기 위해 상기 복수의 서버 중 하나의 서버를 사용하여 상기 제 1 블록체인 노드에 포함된 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득할 수 있고, 각각의 제 2 블록체인 노드를 사용하여 상기 사전 프로세싱 블록에 대한 서비스 합의를 수행하기 위해 상기 서버를 사용하여 합의 네트워크 내의 각각의 제 2 블록체인 노드에 상기 사전 프로세싱 블록을 전송할 수 있다. 제 1 블록체인 노드에 포함된 복수의 서버 중 하나의 서버가 사용 가능하다면, 제 1 블록체인 노드가 사용 가능하다는 것이 보장될 수 있다. 따라서, 합의 네트워크 내의 제 1 블록체인 노드의 안정성이 향상된다. 또한, 제 1 블록체인 노드에 포함된 각각의 서버는 클라이언트를 사용하여 사용자에 의해 전송된 서비스 요청을 수신할 수 있으며, 각각의 서버는 합의 네트워크 내의 각각의 제 2 블록체인 노드에 대한 서비스 합의를 개시할 수 있다. 따라서, 블록체인 서비스의 서비스 프로세싱 효율성이 크게 향상된다.
1990년대에는, 하드웨어 개선(예를 들면, 다이오드, 트랜지스터 또는 스위치와 같은 회로 구조의 개선)과 소프트웨어 개선(방법 절차의 개선) 사이에서 기술의 개선이 명확하게 구별될 수 있었다. 그러나, 기술의 발달과 함께, 여러 방법 절차의 개선은 하드웨어 회로 구조의 직접적인 개선으로 간주될 수 있다. 설계자 거의 모두는 해당 하드웨어 회로 구조를 획득하기 위해, 개선된 방법 절차를 하드웨어 회로에 프로그래밍한다. 따라서, 하드웨어 엔티티 모듈을 사용하여 방법 절차의 개선을 구현할 수 없다고 할 수는 없다. 예를 들어, 프로그래머블 로직 디바이스(PLD)(예를 들어, 필드 프로그래머블 게이트 어레이(FPGA))는 그러한 집적 회로이다. 프로그래머블 로직 디바이스의 논리적 기능은 사용자에 의해 실행되는 컴포넌트 프로그래밍에 의해 판정된다. 설계자는 칩 제조업체가 전용 집적 회로 칩을 설계하고 생산할 필요없이 디지털 시스템을 단일 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(초고속 집적 회로 하드웨어 기술 언어) 및 Verilog가 가장 많이 사용된다. 당업자는 또한 방법 절차가 논리적으로 프로그래밍될 필요가 있으며, 논리적 방법 절차를 구현하는 하드웨어 회로가 쉽게 획득될 수 있도록 이전의 하드웨어 기술 언어를 사용하여 집적 회로에 프로그래밍될 필요가 있다는 것을 이해해야 한다.
컨트롤러는 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 컨트롤러는 마이크로 프로세서, 프로세서, 또는 컴퓨터 판독 가능 매체, 논리 게이트, 스위치, 주문형 집적 회로(ASIC), 프로그램 가능 로직 컨트롤러, 또는 마이크로 프로세서 또는 프로세서에 의해 실행될 수 있는 컴퓨터 판독 가능 프로그램 코드(예를 들어, 소프트웨어 또는 펌웨어)를 저장하는 임베디드 마이크로프로세서일 수 있다. 컨트롤러의 예로는 이하의 마이크로 컨트롤러들: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 또는 Silicon Labs C8051F320를 포함하지만 이들 마이크로 컨트롤러들로 한정되지 않는다. 메모리 컨트롤러는 또한 메모리의 제어 로직의 일부로서 구현될 수 있다. 당업자는 컨트롤러는 순수 컴퓨터 판독 가능 프로그램 코드를 사용하여 구현될 수 있다는 것과, 본 방법 단계들은 컨트롤러로 하여금 논리 게이트, 스위치, 주문형 집적 회로, 프로그램 가능 로직 컨트롤러, 임베디드 마이크로 컨트롤러 등의 형태로 동일한 기능들을 더 구현하게 하도록 논리적으로 프로그래밍될 수 있다는 것을 알고 있다. 따라서, 컨트롤러는 하드웨어 구성 요소로 간주될 수 있으며, 컨트롤러에 포함되고 다양한 기능들을 구현하도록 구성된 디바이스는 또한 하드웨어 구성 요소의 구조로 간주될 수 있다. 대안으로, 다양한 기능들을 구현하도록 구성된 디바이스는 하드웨어 구성 요소의 방법 또는 구조를 구현할 수 있는 소프트웨어 모듈로서 간주될 수 있다.
상술한 실시예들에서 나타낸 시스템, 디바이스, 모듈 및 유닛은 컴퓨터 칩 또는 엔티티에 의해 구현될 수 있거나, 특정 기능을 갖는 제품에 의해 구현될 수 있다. 일반적인 구현 디바이스는 컴퓨터이다. 컴퓨터는 예를 들어, 퍼스널 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말기, 미디어 플레이어, 네비게이션 장치, 이메일 장치, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 장치 또는 이들 장치들의 조합일 수 있다.
설명의 용이함을 위해, 상술한 디바이스는 기능들을 다양한 유닛들로 구분하여 설명되어 있다. 물론, 본 발명이 구현될 때, 각각의 유닛들의 기능들은 소프트웨어 및/또는 하드웨어의 하나 이상의 부분들로 구현될 수 있다.
당업자는 본 발명의 실시예들이 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 것을 이해해야 한다. 따라서, 본 발명은 하드웨어 전용 구현 형태, 소프트웨어 전용 구현 형태 또는 소프트웨어와 하드웨어 조합의 구현 형태를 사용할 수 있다. 또한, 본 발명은 컴퓨터 사용 가능한 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능한 저장 매체(디스크 메모리, CD-ROM 및 광학 메모리를 포함하지만 이에 한정되지 않음) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 발명은 본 발명의 실시예들에 따른 방법, 디바이스(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령들은 흐름도 및/또는 블록도의 각각의 프로세스 및/또는 각각의 블록 및 흐름도 및/또는 블록도의 프로세스 및/또는 블록의 조합을 구현하는데 사용될 수 있다는 것을 이해해야 한다. 임의의 다른 프로그램 가능 데이터 프로세싱 디바이스의 프로세서 또는 컴퓨터에 의해 실행되는 명령들이 흐름도의 하나 이상의 프로세스들 또는 블록도의 하나 이상의 블록들로 특정 기능을 구현하기 위한 디바이스를 생성하도록, 이들 컴퓨터 프로그램 명령들은 범용 컴퓨터, 전용 컴퓨터, 임베디드 프로세서 또는 임의의 다른 프로그램 가능 데이터 프로세싱 디바이스의 프로세서가 머신을 생성하기 위해 제공될 수 있다.
컴퓨터 판독 가능 메모리에 저장된 명령들이 명령 디바이스를 포함하는 가공물을 생성하도록, 이들 컴퓨터 프로그램 명령들은 컴퓨터 또는 다른 프로그램 가능 데이터 프로세싱 디바이스가 특정 방식으로 동작하도록 지시할 수 있는 컴퓨터 판독 가능 메모리에 저장될 수 있다. 명령 디바이스는 흐름도의 하나 이상의 프로세스들 및/또는 블록도의 하나 이상의 블록들로 특정 기능을 구현한다.
일련의 동작들 및 단계들이 컴퓨터 구현 프로세싱을 생성하는 컴퓨터 또는 다른 프로그램 가능 디바이스 상에서 수행되도록, 이들 컴퓨터 프로그램 명령들은 컴퓨터 또는 다른 프로그램 가능 데이터 프로세싱 디바이스 상에 로딩될 수 있다. 따라서, 컴퓨터 또는 다른 프로그램 가능 디바이스 상에서 실행되는 명령들은 흐름도의 하나 이상의 프로세스들 및/또는 블록도의 하나 이상의 블록들로 특정 기능을 구현하는 단계들을 제공한다.
전형적인 구성에서, 컴퓨팅 디바이스는 하나 이상의 프로세서들(CPU), 하나 이상의 입력/출력 인터페이스들, 하나 이상의 네트워크 인터페이스들, 및 하나 이상의 메모리들을 포함한다.
메모리는 비 영구적 메모리, RAM 및/또는 컴퓨터 판독 가능 매체 내의 비 휘발성 메모리, 예를 들어 ROM 또는 플래시 메모리(플래시 RAM)를 포함할 수 있다.
컴퓨터 판독 가능 매체는 임의의 방법 또는 기술을 사용하여 정보 저장을 구현할 수 있는 영구, 비 영구적, 이동식 및 비 이동식 매체를 포함한다. 정보는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 예로는 파라미터 랜덤 액세스 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 유형의 RAM(랜덤 액세스 메모리), ROM(판독 전용 메모리), EEPROM(전기적 소거 가능 프로그래머블 판독 전용 메모리), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 장치, 자기 테이프, 자기 디스크 저장 장치, 다른 자기 저장 소자들, 또는 컴퓨팅 디바이스에 의해 액세스될 수 있는 정보를 저장하는데 사용될 수 있는 임의의 다른 비 전송 매체를 포함하지만, 이들로 한정되지 않는다. 본 명세서에서의 정의에 기초하여, 컴퓨터 판독 가능 매체는 변조된 데이터 신호 및 캐리어와 같은 임시 컴퓨터 판독 가능 매체(임시 매체)를 포함하지 않는다.
요소들의 리스트를 포함하는 프로세스, 방법, 물품 또는 디바이스가 그들의 요소들을 포함할 뿐만 아니라 명시적으로 나열되지 않은 다른 요소들을 포함하거나, 이러한 프로세스, 방법, 물품 또는 디바이스에 고유한 요소들을 더 포함하도록, 용어 "포함하는", "구성하는" 또는 그들의 임의의 다른 변형예는 비 배타적인 포함을 포함하도록 의도된다는 것에 주목할 필요가 있다. "포함하는" 용어 다음에 나오는 요소들은 요소를 포함하는 프로세스, 방법, 물품 또는 디바이스에서의 추가적인 동일한 요소들의 존재를 제약없이 배제하지 않는다.
당업자는 본 발명의 실시예들이 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 하드웨어 전용 구현 형태, 소프트웨어 전용 구현 형태 또는 소프트웨어와 하드웨어 조합의 구현 형태를 사용할 수 있다. 또한, 본 발명은 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장 매체(디스크 메모리, CD-ROM 및 광학 메모리를 포함하지만 이에 한정되지 않음) 상에 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 발명은 프로그램 모듈과 같은 컴퓨터에 의해 실행되는 컴퓨터 실행 가능 명령들의 공통 콘텍스트로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 실행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 구성 요소, 데이터 구조 등을 포함한다. 본 발명은 분산 컴퓨팅 환경에서도 실시될 수 있다. 이들 분산 컴퓨팅 환경에서, 태스크들은 통신 네트워크를 사용하여 연결된 원격 프로세싱 디바이스들에 의해 수행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 저장 디바이스들을 포함하는 로컬 및 원격 컴퓨터 저장 매체에 배치될 수 있다.
본 발명의 실시예들은 모두 점진적인 방식으로 설명된다. 실시예들에서의 동일 또는 유사한 부분에 대해서는, 실시예들을 참조할 수 있다. 각각의 실시예들은 다른 실시예들과의 차이점에 초점을 맞춘다. 특히, 시스템 실시예는 기본적으로 방법 실시예와 유사하므로, 간략하게 설명한다. 관련 부분들에 대해서는, 방법 실시예의 부분 설명들을 참조할 수 있다.
상술한 설명들은 단지 본 발명의 실시예들이며, 본 발명을 제한하려는 것은 아니다. 당업자는 본 발명에 다양한 변형 및 변경을 가할 수 있다. 본 발명의 사상 및 원리로부터 벗어나지 않고 이루어지는 임의의 수정, 등가의 대체 또는 개선은 본 발명의 청구 범위 내에 있다.

Claims (48)

  1. 서비스 프로세싱을 위한 컴퓨터 구현(computer-implemented) 방법으로서,
    합의 네트워크 내의 제1 블록체인 노드의 제1 서버에 의해, 클라이언트에 의해 전송된 서비스 요청을 수신하는 단계 - 상기 합의 네트워크는 복수의 추가 블록체인 노드를 더 포함하고, 상기 합의 네트워크의 상기 제1 블록체인 노드 및 복수의 추가 블록체인 노드의 각 노드는 대응하는 복수의 서버를 포함함 - ;
    상기 제1 블록체인 노드의 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 단계;
    상기 제1 블록체인 노드에 의해 그리고 등록 센터로부터, 상기 합의 네트워크 내의 상기 복수의 추가 블록체인 노드의 각 노드에 대한 상기 대응하는 복수의 서버의 각 서버의 주소를 획득하는 단계;
    상기 획득된 주소에 기초하여 상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 서비스 요청을 전송하는 단계 - 상기 각각의 추가 블록체인 노드는 상기 서비스 요청을 수신한 후에 대응하는 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장함 -;
    상기 제1 블록체인 노드에 의해, 상기 제1 블록체인 노드의 제1 서버를 선택하는 단계;
    상기 제1 서버에 의해, 상기 제1 블록체인 노드의 상기 적어도 하나의 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하는 단계;
    상기 제1 서버에 의해, 상기 적어도 하나의 서비스 요청을 사전 프로세싱 블록으로 패키징하는 단계; 및
    상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 사전 프로세싱 블록을 전송하는 단계 - 상기 각각의 추가 블록체인 노드는 상기 사전 프로세싱 블록에 대하여 서비스 합의를 수행함 -
    를 포함하는, 서비스 프로세싱을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 제1 블록체인 노드의 제1 서버로부터, 상기 제1 블록체인 노드의 복수의 추가 서버와 노드 구성 정보를 공유하는 단계 - 상기 노드 구성 정보는 포인트 투 포인트 라우팅 테이블, 비대칭 공개 키, 비대칭 개인 키, 및 노드 아이덴티티(identity)를 포함함 - 를 더 포함하는, 서비스 프로세싱을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 등록 센터에 상기 제1 블록체인 노드의 제1 서버를 등록하는 단계;
    상기 등록 센터로부터 메시지를 수신하는 단계; 및
    상기 등록 센터로부터의 메시지에 응답하여, 상기 제1 서버의 주소를 상기 등록 센터에 전송하는 단계
    를 포함하는, 서비스 프로세싱을 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 획득된 주소에 기초하여 상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 서비스 요청을 전송하는 단계는,
    상기 복수의 추가 블록체인 노드의 상기 대응하는 복수의 서버의 주소로부터 제1 주소를 선택하는 단계; 및
    상기 서비스 요청을 상기 제1 주소로 전송하는 단계
    를 포함하는 것인, 서비스 프로세싱을 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 제1 블록체인 노드의 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 단계는,
    상기 서비스 요청이 유효한지 검증하는 단계; 및
    상기 서비스 요청이 유효하다는 검증에 응답하여, 상기 제1 블록체인 노드의 상기 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 단계
    를 포함하는 것인, 서비스 프로세싱을 위한 컴퓨터 구현 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 등록 센터로부터 상기 제1 블록체인 노드의 상기 제1 서버에 의해 하트비트(heartbeat) 검출 메시지를 수신하는 단계를 더 포함하는, 서비스 프로세싱을 위한 컴퓨터 구현 방법.
  8. 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어가 저장된 비일시적 컴퓨터 판독 가능 매체에 있어서,
    상기 동작들은,
    합의 네트워크 내의 제1 블록체인 노드의 제1 서버에 의해, 클라이언트에 의해 전송된 서비스 요청을 수신하는 동작 - 상기 합의 네트워크는 복수의 추가 블록체인 노드를 더 포함하고, 상기 합의 네트워크의 상기 제1 블록체인 노드 및 복수의 추가 블록체인 노드의 각 노드는 대응하는 복수의 서버를 포함함 - ;
    상기 제1 블록체인 노드의 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 동작;
    상기 제1 블록체인 노드에 의해 그리고 등록 센터로부터, 상기 합의 네트워크 내의 상기 복수의 추가 블록체인 노드의 각 노드에 대한 상기 대응하는 복수의 서버의 각 서버의 주소를 획득하는 동작;
    상기 획득된 주소에 기초하여 상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 서비스 요청을 전송하는 동작 - 상기 각각의 추가 블록체인 노드는 상기 서비스 요청을 수신한 후에 대응하는 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장함 -;
    상기 제1 블록체인 노드에 의해, 상기 제1 블록체인 노드의 제1 서버를 선택하는 동작;
    상기 제1 서버에 의해, 상기 제1 블록체인 노드의 상기 적어도 하나의 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하는 동작;
    상기 제1 서버에 의해, 상기 적어도 하나의 서비스 요청을 사전 프로세싱 블록으로 패키징하는 동작; 및
    상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 사전 프로세싱 블록을 전송하는 동작 - 상기 각각의 추가 블록체인 노드는 상기 사전 프로세싱 블록에 대하여 서비스 합의를 수행함 -
    을 포함하는 것인, 비일시적 컴퓨터 판독 가능 매체.
  9. 제8항에 있어서, 상기 동작들은,
    상기 제1 블록체인 노드의 제1 서버로부터, 상기 제1 블록체인 노드의 복수의 추가 서버와 노드 구성 정보를 공유하는 동작 - 상기 노드 구성 정보는 포인트 투 포인트 라우팅 테이블, 비대칭 공개 키, 비대칭 개인 키, 및 노드 아이덴티티를 포함함 - 을 더 포함하는 것인, 비일시적 컴퓨터 판독 가능 매체.
  10. 제8항에 있어서, 상기 동작들은,
    상기 등록 센터에 상기 제1 블록체인 노드의 제1 서버를 등록하는 동작;
    상기 등록 센터로부터 메시지를 수신하는 동작; 및
    상기 등록 센터로부터의 메시지에 응답하여, 상기 제1 서버의 주소를 상기 등록 센터에 전송하는 동작
    을 포함하는 것인, 비일시적 컴퓨터 판독 가능 매체.
  11. 제8항에 있어서,
    상기 획득된 주소에 기초하여 상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 서비스 요청을 전송하는 동작은,
    상기 복수의 추가 블록체인 노드의 상기 대응하는 복수의 서버의 주소로부터 제1 주소를 선택하는 동작; 및
    상기 서비스 요청을 상기 제1 주소로 전송하는 동작
    을 포함하는 것인, 비일시적 컴퓨터 판독 가능 매체.
  12. 제8항에 있어서,
    상기 제1 블록체인 노드의 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 동작은,
    상기 서비스 요청이 유효한지 검증하는 동작; 및
    상기 서비스 요청이 유효하다는 검증에 응답하여, 상기 제1 블록체인 노드의 상기 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 동작
    을 포함하는 것인, 비일시적 컴퓨터 판독 가능 매체.
  13. 삭제
  14. 제8항에 있어서,
    상기 등록 센터로부터 상기 제1 블록체인 노드의 상기 제1 서버에 의해 하트비트 검출 메시지를 수신하는 동작을 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  15. 컴퓨터 구현 시스템에 있어서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터와 상호동작 가능하게 연결되고, 상기 하나 이상의 컴퓨터에 의한 실행시, 하나 이상의 동작을 수행하는 하나 이상의 명령어가 저장된 유형의(tangible) 비일시적 머신 판독 가능 매체를 가진, 하나 이상의 컴퓨터 메모리 디바이스
    를 포함하고,
    상기 하나 이상의 동작은,
    합의 네트워크 내의 제1 블록체인 노드의 제1 서버에 의해, 클라이언트에 의해 전송된 서비스 요청을 수신하는 동작 - 상기 합의 네트워크는 복수의 추가 블록체인 노드를 더 포함하고, 상기 합의 네트워크의 상기 제1 블록체인 노드 및 복수의 추가 블록체인 노드의 각 노드는 대응하는 복수의 서버를 포함함 - ;
    상기 제1 블록체인 노드의 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 동작;
    상기 제1 블록체인 노드에 의해 그리고 등록 센터로부터, 상기 합의 네트워크 내의 상기 복수의 추가 블록체인 노드의 각 노드에 대한 상기 대응하는 복수의 서버의 각 서버의 주소를 획득하는 동작;
    상기 획득된 주소에 기초하여 상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 서비스 요청을 전송하는 동작 - 상기 각각의 추가 블록체인 노드는 상기 서비스 요청을 수신한 후에 대응하는 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장함 -;
    상기 제1 블록체인 노드에 의해, 상기 제1 블록체인 노드의 제1 서버를 선택하는 동작;
    상기 제1 서버에 의해, 상기 제1 블록체인 노드의 상기 적어도 하나의 서비스 메모리로부터 적어도 하나의 서비스 요청을 획득하는 동작;
    상기 제1 서버에 의해, 상기 적어도 하나의 서비스 요청을 사전 프로세싱 블록으로 패키징하는 동작; 및
    상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 사전 프로세싱 블록을 전송하는 동작 - 상기 각각의 추가 블록체인 노드는 상기 사전 프로세싱 블록에 대하여 서비스 합의를 수행함 -
    을 포함하는 것인, 컴퓨터 구현 시스템.
  16. 제15항에 있어서, 상기 하나 이상의 동작은,
    상기 제1 블록체인 노드의 제1 서버로부터, 상기 제1 블록체인 노드의 복수의 추가 서버와 노드 구성 정보를 공유하는 동작 - 상기 노드 구성 정보는 포인트 투 포인트 라우팅 테이블, 비대칭 공개 키, 비대칭 개인 키, 및 노드 아이덴티티(identity)를 포함함 - 를 더 포함하는 것인, 컴퓨터 구현 시스템.
  17. 제15항에 있어서, 상기 하나 이상의 동작은,
    상기 등록 센터에 상기 제1 블록체인 노드의 제1 서버를 등록하는 동작;
    상기 등록 센터로부터 메시지를 수신하는 동작; 및
    상기 등록 센터로부터의 메시지에 응답하여, 상기 제1 서버의 주소를 상기 등록 센터에 전송하는 동작
    을 포함하는 것인, 컴퓨터 구현 시스템.
  18. 제15항에 있어서,
    상기 획득된 주소에 기초하여 상기 합의 네트워크 내의 각각의 추가 블록체인 노드에 상기 서비스 요청을 전송하는 동작은,
    상기 복수의 추가 블록체인 노드의 상기 대응하는 복수의 서버의 주소로부터 제1 주소를 선택하는 동작; 및
    상기 서비스 요청을 상기 제1 주소로 전송하는 동작
    을 포함하는 것인, 컴퓨터 구현 시스템.
  19. 제15항에 있어서,
    상기 제1 블록체인 노드의 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 동작은,
    상기 서비스 요청이 유효한지 검증하는 동작; 및
    상기 서비스 요청이 유효하다는 검증에 응답하여, 상기 제1 블록체인 노드의 상기 적어도 하나의 서비스 메모리에 상기 서비스 요청을 저장하는 동작
    을 포함하는 것인, 컴퓨터 구현 시스템.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020197018692A 2017-03-28 2018-03-26 서비스 프로세싱 및 합의 방법 및 디바이스 KR102152556B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710191462.X 2017-03-28
CN201710191462.XA CN107395659B (zh) 2017-03-28 2017-03-28 一种业务受理及共识的方法及装置
PCT/CN2018/080461 WO2018177239A1 (zh) 2017-03-28 2018-03-26 一种业务受理及共识的方法及装置

Publications (2)

Publication Number Publication Date
KR20190093598A KR20190093598A (ko) 2019-08-09
KR102152556B1 true KR102152556B1 (ko) 2020-09-07

Family

ID=60338363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197018692A KR102152556B1 (ko) 2017-03-28 2018-03-26 서비스 프로세싱 및 합의 방법 및 디바이스

Country Status (15)

Country Link
US (3) US10681175B2 (ko)
EP (1) EP3547648B1 (ko)
JP (1) JP6773912B2 (ko)
KR (1) KR102152556B1 (ko)
CN (2) CN107395659B (ko)
AU (1) AU2018243075B2 (ko)
BR (1) BR112019013204B1 (ko)
CA (1) CA3048737C (ko)
MX (1) MX2019007812A (ko)
MY (1) MY194387A (ko)
PH (1) PH12019501538B1 (ko)
RU (1) RU2735096C1 (ko)
TW (1) TWI686709B (ko)
WO (1) WO2018177239A1 (ko)
ZA (1) ZA201904230B (ko)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
CN107395659B (zh) * 2017-03-28 2021-08-24 创新先进技术有限公司 一种业务受理及共识的方法及装置
CN108009824A (zh) * 2017-11-28 2018-05-08 北京博晨技术有限公司 数据共识方法、装置及电子设备
US10873625B2 (en) * 2018-02-26 2020-12-22 International Business Machines Corpora ! Ion Service management for the infrastructure of blockchain networks
CN108537525B (zh) * 2018-03-09 2020-06-09 阿里巴巴集团控股有限公司 一种共识验证方法、装置及设备
CN108769150B (zh) * 2018-05-14 2021-11-12 百度在线网络技术(北京)有限公司 区块链网络的数据处理方法、装置、集群节点和存储介质
CN108683738B (zh) * 2018-05-16 2020-08-14 腾讯科技(深圳)有限公司 图数据处理方法和图数据的计算任务发布方法
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US11134120B2 (en) * 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
CN108965379B (zh) * 2018-05-29 2021-03-16 张迅 资源调度装置及方法
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
US11348098B2 (en) 2018-08-06 2022-05-31 Inveniam Capital Partners, Inc. Decisional architectures in blockchain environments
CN109192287A (zh) * 2018-08-21 2019-01-11 中国联合网络通信集团有限公司 基于区块链的医院挂号方法及装置
CN109257427B (zh) * 2018-09-26 2021-04-02 网宿科技股份有限公司 一种基于区块链的业务处理方法及系统
CN109547530B (zh) * 2018-10-17 2021-07-27 北京瑞卓喜投科技发展有限公司 区域共识方法、系统及设备
CN109286632B (zh) * 2018-10-25 2021-01-15 中国信息通信研究院 一种基于区块链的大数据授权存证方法和系统
CN110020945B (zh) 2018-11-27 2020-10-30 创新先进技术有限公司 一种基于多个区块链网络的数据读取方法及系统
CN110060152B (zh) 2018-11-27 2020-10-30 创新先进技术有限公司 一种基于多个区块链网络的数据读取方法及系统
CN110060153B (zh) 2018-11-27 2020-11-17 创新先进技术有限公司 一种基于多个区块链网络的数据存证方法及系统
CN111899104B (zh) * 2018-11-27 2023-12-01 创新先进技术有限公司 一种业务执行方法及装置
CN111224793B (zh) * 2018-11-27 2021-06-01 华为技术有限公司 数据存储方法、装置、计算机设备及可读存储介质
CN110431577B (zh) 2018-12-29 2023-08-22 创新先进技术有限公司 用于检测重放攻击的系统和方法
US11283634B2 (en) 2018-12-29 2022-03-22 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
US10735464B2 (en) * 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for detecting replay attack
CN112215608A (zh) * 2019-01-18 2021-01-12 创新先进技术有限公司 数据处理方法和装置
CN109831425B (zh) * 2019-01-25 2022-02-15 中国联合网络通信集团有限公司 区块链共识方法、装置、设备及计算机可读存储介质
JP2020123188A (ja) * 2019-01-31 2020-08-13 富士通株式会社 通信装置、通信プログラム、および通信方法
CN110061856A (zh) * 2019-03-07 2019-07-26 阿里巴巴集团控股有限公司 一种基于区块链的通信方法、装置及电子设备
CN110162570B (zh) * 2019-04-17 2021-03-05 创新先进技术有限公司 区块链数据的分次获取方法和装置
CN110135194B (zh) * 2019-05-20 2020-10-30 北京邮电大学 一种基于区块链的工业互联网数字对象的管理方法
CN112181474B (zh) * 2019-07-04 2022-05-20 北京新唐思创教育科技有限公司 区块链业务处理方法、电子设备及计算机存储介质
CN110633323B (zh) * 2019-09-16 2023-10-20 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质和计算机设备
CN115004728A (zh) * 2019-11-04 2022-09-02 瑞典爱立信有限公司 提供v2x应用服务器注册的方法
CN111030846A (zh) * 2019-11-18 2020-04-17 杭州趣链科技有限公司 一种基于区块链的数据上链异常重试方法
CN110933166B (zh) * 2019-11-27 2022-08-12 中国联合网络通信集团有限公司 一种共识平台、终端、节点和路径选择方法
US11343075B2 (en) 2020-01-17 2022-05-24 Inveniam Capital Partners, Inc. RAM hashing in blockchain environments
CN111506584B (zh) * 2020-03-26 2023-07-25 金蝶软件(中国)有限公司 基于区块链的业务数据处理方法、装置和计算机设备
CN111464356B (zh) * 2020-04-01 2021-11-05 腾讯科技(深圳)有限公司 一种区块共识周期切换方法、装置及计算机设备
CN111522876B (zh) * 2020-04-07 2024-02-20 金蝶软件(中国)有限公司 区块链共识方法、装置和计算机设备、及区块链节点
CN111625593B (zh) * 2020-04-21 2023-09-08 金蝶软件(中国)有限公司 基于区块链的数据处理方法、装置、计算机设备
CN111524010B (zh) * 2020-05-06 2023-06-02 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111614468B (zh) * 2020-05-24 2022-08-26 济南欣格信息科技有限公司 一种区块链共识方法及系统
CN111786952B (zh) * 2020-05-29 2023-03-17 中国银联股份有限公司 区块链系统的共识方法、装置、设备及介质
KR102416337B1 (ko) * 2020-06-02 2022-07-05 (주)세정아이앤씨 블록체인을 관리하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
CN111709803B (zh) * 2020-06-12 2023-09-05 北京思特奇信息技术股份有限公司 一种防止越权办理业务的方法和系统
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
CN112131313B (zh) * 2020-09-16 2024-04-09 浙江工商大学 一种基于区块链的加油数据管理系统及其方法
CN111934997B (zh) * 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 消息传输方法及装置
US11615074B2 (en) 2020-10-01 2023-03-28 Bank Of America Corporation System and methods for intelligent path selection of enhanced distributed processors
CN112416731B (zh) * 2020-12-02 2021-07-30 腾讯科技(深圳)有限公司 应用于区块链系统的稳定性监测方法及装置
US11843503B1 (en) 2021-05-07 2023-12-12 T-Mobile Usa, Inc. Providing out-of-service notifications regarding a server
US11784872B1 (en) * 2021-05-07 2023-10-10 T-Mobile Usa, Inc. Suppressing messages to an out-of-service server
CN113315826B (zh) * 2021-05-24 2023-03-24 网易(杭州)网络有限公司 区块链的管理方法、装置、管理服务节点及存储介质
CN113282570B (zh) * 2021-05-25 2022-06-28 杭州复杂美科技有限公司 区块链节点配置方法、计算机设备和存储介质
CN114419717A (zh) * 2022-01-27 2022-04-29 睿云联(厦门)网络通讯技术有限公司 一种终端设备的人脸检测、识别加速方法及系统
CN114844896B (zh) * 2022-05-07 2023-07-04 深圳嘉业产业发展有限公司 一种基于区块链的资源共享方法及系统
CN114866615A (zh) * 2022-05-24 2022-08-05 深圳点宽网络科技有限公司 基于区块链的服务调用方法、装置、系统及电子设备
CN115396122B (zh) * 2022-10-27 2023-04-25 聚梦创新(北京)软件技术有限公司 消息处理方法、装置、电子设备及存储介质
CN116260707B (zh) * 2023-05-15 2023-10-10 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886023B1 (en) * 2000-01-21 2011-02-08 Cisco Technology, Inc. Method and apparatus for a minimalist approach to implementing server selection
WO2005006649A1 (en) * 2003-06-11 2005-01-20 Web Office, Inc. Multi-node network having common routing table
US20050050227A1 (en) * 2003-07-03 2005-03-03 Cascade Basic Research Corp. Method and system for peer-to-peer directory services
BRPI0417326B1 (pt) * 2003-12-23 2019-03-06 Wachovia Corporation Sistema de autenticação para aplicativos de computadores em rede
CN101123565B (zh) * 2007-07-30 2011-07-13 中兴通讯股份有限公司 P2p系统及用于该系统的资源查询方法
US8631134B2 (en) * 2008-07-30 2014-01-14 Visa U.S.A. Inc. Network architecture for secure data communications
US8843630B1 (en) * 2008-08-27 2014-09-23 Amazon Technologies, Inc. Decentralized request routing
US9032240B2 (en) * 2009-02-24 2015-05-12 Hewlett-Packard Development Company, L.P. Method and system for providing high availability SCTP applications
CN101635726B (zh) * 2009-08-26 2012-07-04 中兴通讯股份有限公司 C/s架构中服务端和客户端的业务执行方法及系统
US20130067095A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US20130110781A1 (en) * 2011-10-31 2013-05-02 Wojciech Golab Server replication and transaction commitment
US10454997B2 (en) 2012-09-07 2019-10-22 Avigilon Corporation Distributed physical security system
US20140337478A1 (en) * 2013-05-07 2014-11-13 Social Communications Company Peer-to-peer network communications
US9519925B2 (en) 2013-08-01 2016-12-13 Omnibazaar, Inc. Decentralized internet shopping marketplaces
US10263836B2 (en) * 2014-03-24 2019-04-16 Microsoft Technology Licensing, Llc Identifying troubleshooting options for resolving network failures
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
US10262161B1 (en) * 2014-12-22 2019-04-16 Amazon Technologies, Inc. Secure execution and transformation techniques for computing executables
US10484168B2 (en) * 2015-03-02 2019-11-19 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN105450757A (zh) * 2015-12-02 2016-03-30 联动优势电子商务有限公司 一种服务管理方法及系统
CN113159948A (zh) 2016-01-24 2021-07-23 杭州复杂美科技有限公司 区块链撮合交易所
KR101637868B1 (ko) * 2016-02-22 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법
CN106022681A (zh) 2016-05-13 2016-10-12 杭州云象网络技术有限公司 一种基于区块链的物流追踪方法
CN106060036B (zh) * 2016-05-26 2019-07-16 布比(北京)网络技术有限公司 去中心化共识方法及装置
US10713731B2 (en) * 2016-07-22 2020-07-14 Nec Corporation Method for secure ledger distribution and computer system using secure distributed ledger technology
CN106327173A (zh) * 2016-08-22 2017-01-11 布比(北京)网络技术有限公司 网络支付方法及装置
KR101781583B1 (ko) * 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
CN106384236B (zh) * 2016-08-31 2019-07-16 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN106446067B (zh) * 2016-09-06 2020-02-18 联动优势科技有限公司 一种获取交易数据的方法和装置
CN106357644B (zh) * 2016-09-21 2019-07-12 江苏通付盾科技有限公司 基于区块链网络的身份认证方法、系统及服务器
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
CN106385319B (zh) * 2016-09-29 2020-11-27 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
US11128603B2 (en) * 2016-09-30 2021-09-21 Nec Corporation Method and system for providing a transaction forwarding service in blockchain implementations
CN106534273B (zh) * 2016-10-31 2022-04-15 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
CN108075956B (zh) * 2016-11-16 2020-05-22 新华三技术有限公司 一种数据处理方法和装置
EP3331217A1 (en) * 2016-12-02 2018-06-06 HOB GmbH & Co. KG Method for connecting a client to a server in a communication system
CN106982203B (zh) * 2017-01-06 2020-05-22 中国银联股份有限公司 基于区块链技术的鲁棒的atm网络系统及其信息处理方法
CN111614655A (zh) * 2017-03-24 2020-09-01 创新先进技术有限公司 一种共识校验的方法及装置
CN107395659B (zh) 2017-03-28 2021-08-24 创新先进技术有限公司 一种业务受理及共识的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법

Also Published As

Publication number Publication date
KR20190093598A (ko) 2019-08-09
US11943317B2 (en) 2024-03-26
EP3547648A1 (en) 2019-10-02
BR112019013204B1 (pt) 2022-04-19
TWI686709B (zh) 2020-03-01
US11057493B2 (en) 2021-07-06
TW201837734A (zh) 2018-10-16
CN107395659A (zh) 2017-11-24
US20200287987A1 (en) 2020-09-10
EP3547648B1 (en) 2021-07-07
WO2018177239A1 (zh) 2018-10-04
JP2020508594A (ja) 2020-03-19
BR112019013204A2 (pt) 2019-12-10
US20210337045A1 (en) 2021-10-28
CN107395659B (zh) 2021-08-24
RU2735096C1 (ru) 2020-10-28
US20190342422A1 (en) 2019-11-07
CN113766035A (zh) 2021-12-07
AU2018243075A1 (en) 2019-07-11
JP6773912B2 (ja) 2020-10-21
EP3547648A4 (en) 2020-01-08
PH12019501538A1 (en) 2020-03-16
AU2018243075B2 (en) 2020-06-18
ZA201904230B (en) 2021-05-26
CN113766035B (zh) 2023-05-23
MY194387A (en) 2022-11-30
CA3048737A1 (en) 2018-10-04
PH12019501538B1 (en) 2020-03-16
US10681175B2 (en) 2020-06-09
MX2019007812A (es) 2019-09-05
CA3048737C (en) 2022-07-12

Similar Documents

Publication Publication Date Title
KR102152556B1 (ko) 서비스 프로세싱 및 합의 방법 및 디바이스
KR102255724B1 (ko) 블록체인 기반 합의 방법 및 디바이스
KR102304492B1 (ko) 합의 검증을 위한 방법 및 장치
JP6876806B2 (ja) ブロックチェーンコンセンサス形成の方法およびデバイス
US10554388B2 (en) Service execution method and device
WO2019144809A1 (zh) 一种服务更新方法及装置、系统
CN115129728A (zh) 一种文件校验的方法及装置

Legal Events

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