KR102281765B1 - Method and apparatus for adaptive synchronization of blockchain - Google Patents

Method and apparatus for adaptive synchronization of blockchain Download PDF

Info

Publication number
KR102281765B1
KR102281765B1 KR1020200030435A KR20200030435A KR102281765B1 KR 102281765 B1 KR102281765 B1 KR 102281765B1 KR 1020200030435 A KR1020200030435 A KR 1020200030435A KR 20200030435 A KR20200030435 A KR 20200030435A KR 102281765 B1 KR102281765 B1 KR 102281765B1
Authority
KR
South Korea
Prior art keywords
synchronization method
time
transaction
synchronization
collision probability
Prior art date
Application number
KR1020200030435A
Other languages
Korean (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 아주대학교산학협력단
Priority to KR1020200030435A priority Critical patent/KR102281765B1/en
Application granted granted Critical
Publication of KR102281765B1 publication Critical patent/KR102281765B1/en

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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • H04L67/325
    • 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
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed is a method for adaptively synchronizing a blockchain. In accordance with an embodiment of the present invention, a method for adaptively synchronizing data by using one of a first synchronization method based on a lock mechanism and a second synchronization method based on a multiversion concurrency control (MVCC) technique comprises the steps of: collecting transaction processing information including information on a sync time required to apply the lock mechanism, an overhead time occurring when the MVCC technique is applied, and the probability of the collision between transactions for a predetermined first period of time; determining a minimum synchronization method with a less transactional delay of the first synchronization method and the second synchronization method by using a collected ledger access time and the transaction processing information; and setting a blockchain network so that the same processes transactions by using the minimum operation method. Therefore, the collision between transactions can be prevented by adaptively changing a synchronization method on the blockchain.

Description

블록체인의 가변적 동기화 방법 및 장치{METHOD AND APPARATUS FOR ADAPTIVE SYNCHRONIZATION OF BLOCKCHAIN}Variable synchronization method and device of blockchain {METHOD AND APPARATUS FOR ADAPTIVE SYNCHRONIZATION OF BLOCKCHAIN}

본 발명은 블록체인에서 여러 트랜잭션이 동시에 원장 데이터에 접근할 때의 동기화 문제를 해결하기 위한 동기화 방법을 가변적으로 설정하는 방법 및 그 방법이 적용된 장치에 관한 것이다.The present invention relates to a method for variably setting a synchronization method to solve a synchronization problem when multiple transactions simultaneously access ledger data in a block chain, and to a device to which the method is applied.

분산원장 기술인 블록체인에서 여러 트랜잭션이 동시에 동일한 원장 데이터에 접근을 할 때 동기화 문제가 발생한다. 이러한 동기화 문제를 해결하기 위하여 트랜잭션 수행 전에 잠금 기능을 이용하여 데이터접근의 독점권을 확보함으로써 경주조건(race condition)을 피하는 방법이 있고, 또 다른 방법으로는 MVCC(multi-version concurrency control)를 이용하여 여러 트랜잭션이 잠금 기능없이 동시에 접근을 허용하되 트랜잭션 사이에 충돌이 발생하였는지 점검하여 충돌 발생시 해당 트랜잭션을 취소하는 방법이 있다.In blockchain, a distributed ledger technology, synchronization problems occur when multiple transactions access the same ledger data at the same time. In order to solve this synchronization problem, there is a method to avoid a race condition by securing the exclusive right of data access by using a lock function before performing a transaction. Another method is to use MVCC (multi-version concurrency control) to There is a way to allow multiple transactions to access at the same time without a lock function, but check whether there is a conflict between transactions and cancel the transaction when a conflict occurs.

보다 구체적으로, 잠금 기능(Locking mechanism)은 데이터 접근 이전에 그 데이터에 대한 잠금(lock)을 수행하고, 데이터 사용을 종료한 이후에 그 잠금을 해제(unlock)한다. 또한, MVCC는 잠금기능을 이용하지 않으며, 여러 트랜잭션이 동시에 데이터에 접근하는 것을 허용하나, 추후 확인하여 충돌이 발생하면 해당 트랜잭션을 취소시킨다.More specifically, the locking mechanism performs a lock on the data before accessing the data, and unlocks the lock after terminating the use of the data. In addition, MVCC does not use the lock function and allows multiple transactions to access data at the same time, but checks later and cancels the transaction if a conflict occurs.

하지만, 잠금 기능을 이용한 동기화 방법은 트랜잭션간 충돌이 자주 발생하지 않는 환경 또는 충돌 해결이 용이한 환경에서는 오히려 비효율적일 수 있으며, MVCCC는 트랜잭션간 충돌이 빈번한 환경 또는 충돌 해결이 어려운 환경에서 비효율적일 수 있다.However, the synchronization method using the lock function may be rather inefficient in an environment where conflicts between transactions do not occur frequently or where conflict resolution is easy, and MVCCC may be inefficient in an environment where conflicts between transactions are frequent or where conflict resolution is difficult. there is.

따라서, 앞서 언급한 동기화 방법들의 문제점을 최소화하기 위하여, 블록체인의 동기화 방법을 상황에 따라 가변적으로 변경할 수 있는 방법 및 장치에 대한 필요성이 대두되고 있다.Therefore, in order to minimize the problems of the aforementioned synchronization methods, the need for a method and apparatus that can variably change the synchronization method of the block chain according to the situation is emerging.

본 발명은 블록체인의 환경변수를 모니터링하여 블록체인의 성능이 극대화되도록 가변적으로 동기화 방법을 변경하는 방법 및 장치를 제공하고자 한다.An object of the present invention is to provide a method and apparatus for variably changing the synchronization method to maximize the performance of the block chain by monitoring the environment variables of the block chain.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명은 블록체인 네트워크에서 잠금 메커니즘에 기반하는 제1 동기화방법 및 MVCC(multi-version concurrency control) 기법에 기반하는 제2 동기화방법 중 하나를 이용하여 가변적으로 데이터를 동기화하는 방법에 있어서, 소정의 제1 시간 동안, 잠금 메커니즘 적용에 소요되는 SYNCH시간, MVCC 기법 적용에 발생하는 오버헤드시간 및 트랜잭션의 충돌가능성에 관한 정보를 포함하는 트랜잭션처리정보를 수집하는 단계; 미리 수집된 원장접근시간 및 상기 트랜잭션처리정보를 이용하여, 상기 제1 동기화방법 및 상기 제2 동기화방법 중 트랜잭션 지연이 더 작은 최소동기화방법을 결정하는 단계; 및 상기 블록체인 네트워크가 상기 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정하는 단계를 포함한다.The present invention provides a method for variably synchronizing data using one of a first synchronization method based on a lock mechanism and a second synchronization method based on a multi-version concurrency control (MVCC) technique in a block chain network, During the first time, collecting transaction processing information including information on SYNCH time required to apply the locking mechanism, overhead time that occurs in applying the MVCC technique, and the possibility of transaction collision; determining a minimum synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method by using the previously collected ledger access time and the transaction processing information; and setting the block chain network to process a transaction using the minimum synchronization method.

바람직하게는, 상기 최소동기화방법을 결정하는 단계는 상기 원장접근시간, 상기 SYNCH시간 및 상기 오버헤드시간에 기초하여, 상기 제1 동기화방법 및 상기 제2 동기화방법에 의한 트랜잭션 지연이 같아지는 기준충돌가능성을 산출하는 단계; 상기 충돌가능성을 상기 기준충돌가능성과 비교하는 단계; 및 상기 비교 결과에 따라, 상기 충돌가능성이 상기 기준충돌가능성보다 큰 경우는 상기 제1 동기화방법을 최소동기화방법으로 결정하고, 상기 충돌가능성이 상기 기준충돌가능성보다 작은 경우는 상기 제2 동기화방법을 최소동기화방법으로 결정하는 단계;를 포함할 수 있다.Preferably, the determining of the minimum synchronization method is based on the ledger access time, the SYNCH time, and the overhead time, a reference collision in which the transaction delays by the first synchronization method and the second synchronization method are equal. calculating a possibility; comparing the collision probability with the reference collision probability; and according to the comparison result, when the probability of collision is greater than the reference probability of collision, the first synchronization method is determined as the minimum synchronization method, and when the probability of collision is smaller than the reference probability of collision, the second synchronization method is selected. Determining the minimum synchronization method; may include.

바람직하게는, 상기 기준충돌가능성을 산출하는 단계는 상기 원장접근시간 및 상기 SYNCH시간을 이용하여 제1 동기화방법에 의한 트랜잭션 지연을 산출하는 단계; 상기 원장접근시간, 상기 오버헤드시간 및 상기 기준충돌가능성을 이용하여 제2 동기화방법에 의한 트랜잭션 지연을 산출하는 단계; 및 상기 제1 동기화방법에 의한 트랜잭션 지연과 상기 제2 동기화방법에 의한 트랜잭션 지연 각각에 대응되는 식을 이용한 방정식으로부터, 상기 기준충돌가능성을 산출하는 단계를 포함할 수 있다.Preferably, the calculating of the reference collision probability comprises: calculating a transaction delay by a first synchronization method using the ledger access time and the SYNCH time; calculating a transaction delay by a second synchronization method using the ledger access time, the overhead time, and the reference collision probability; and calculating the reference collision probability from an equation using an equation corresponding to each of the transaction delay by the first synchronization method and the transaction delay by the second synchronization method.

바람직하게는, 소정의 제2 시간의 간격으로, 상기 트랜잭션처리정보를 수집하는 단계, 상기 최소동기화방법을 결정하는 단계 및 상기 트랜잭션을 처리하도록 설정하는 단계를 반복하는 단계를 더 포함할 수 있다.Preferably, the method may further include repeating the steps of collecting the transaction processing information, determining the minimum synchronization method, and setting the transaction to be processed at an interval of a second predetermined time.

바람직하게는, 상기 제2 시간은 상기 최소동기화방법이 상기 제1 동기화방법과 상기 제2 동기화방법의 사이에서 변경되는 빈도에 기초하여 동적으로 조정될 수 있다.Advantageously, the second time period may be dynamically adjusted based on a frequency at which the minimum synchronization method is changed between the first synchronization method and the second synchronization method.

또한, 본 발명은 블록체인 네트워크에서 잠금 메커니즘에 기반하는 제1 동기화방법 및 MVCC 기법에 기반하는 제2 동기화방법 중 하나를 이용하여 가변적으로 데이터를 동기화하는 장치에 있어서, 소정의 제1 시간 동안, 잠금 메커니즘 적용에 소요되는 SYNCH시간, MVCC 기법 적용에 발생하는 오버헤드시간 및 트랜잭션의 충돌가능성에 관한 정보를 포함하는 트랜잭션처리정보를 수집하는 수집부; 미리 수집된 원장접근시간 및 상기 트랜잭션처리정보를 이용하여, 상기 제1 동기화방법 및 상기 제2 동기화방법 중 트랜잭션 지연이 더 작은 최소동기화방법을 결정하는 결정부; 및 상기 블록체인 네트워크가 상기 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정하는 설정부를 포함한다.In addition, the present invention provides an apparatus for variably synchronizing data using one of a first synchronization method based on a lock mechanism and a second synchronization method based on an MVCC technique in a block chain network, for a predetermined first time, a collection unit that collects transaction processing information including information on the SYNCH time required to apply the locking mechanism, the overhead time that occurs in applying the MVCC technique, and the possibility of transaction collision; a determination unit for determining a minimum synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method by using the previously collected ledger access time and the transaction processing information; and a setting unit configured to set the block chain network to process a transaction using the minimum synchronization method.

바람직하게는, 상기 결정부는 상기 원장접근시간, 상기 SYNCH시간 및 상기 오버헤드시간에 기초하여, 상기 제1 동기화방법 및 상기 제2 동기화방법에 의한 트랜잭션 지연이 같아지는 기준충돌가능성을 산출하고, 상기 충돌가능성을 상기 기준충돌가능성과 비교하고, 상기 비교 결과에 따라, 상기 충돌가능성이 상기 기준충돌가능성보다 큰 경우는 상기 제1 동기화방법을 최소동기화방법으로 결정하고, 상기 충돌가능성이 상기 기준충돌가능성보다 작은 경우는 상기 제2 동기화방법을 최소동기화방법으로 결정할 수 있다.Preferably, the determination unit calculates a reference collision probability in which transaction delays by the first synchronization method and the second synchronization method are equal, based on the ledger access time, the SYNCH time, and the overhead time, The collision probability is compared with the reference collision probability, and according to the comparison result, when the collision probability is greater than the reference collision probability, the first synchronization method is determined as the minimum synchronization method, and the collision probability is the reference collision probability In a smaller case, the second synchronization method may be determined as the minimum synchronization method.

바람직하게는, 상기 결정부가 상기 기준충돌가능성을 산출할 때, 상기 원장접근시간 및 상기 SYNCH시간을 이용하여 제1 동기화방법에 의한 트랜잭션 지연을 산출하고, 상기 원장접근시간, 상기 오버헤드시간 및 상기 기준충돌가능성을 이용하여 제2 동기화방법에 의한 트랜잭션 지연을 산출하고, 상기 제1 동기화방법에 의한 트랜잭션 지연과 상기 제2 동기화방법에 의한 트랜잭션 지연 각각에 대응되는 식을 이용한 방정식으로부터, 상기 기준충돌가능성을 산출할 수 있다.Preferably, when the determination unit calculates the reference collision probability, the transaction delay by the first synchronization method is calculated using the ledger access time and the SYNCH time, and the ledger access time, the overhead time and the Calculate the transaction delay by the second synchronization method using the reference collision probability, and from the equation using the equations corresponding to the transaction delay by the first synchronization method and the transaction delay by the second synchronization method, the reference conflict possibility can be calculated.

바람직하게는, 소정의 제2 시간의 간격으로, 상기 수집부가 트랜잭션처리정보를 수집하고, 상기 결정부가 최소동기화방법을 결정하고, 상기 설정부가 트랜잭션을 처리하도록 설정하도록 반복하여 제어하는 제어부를 더 포함할 수 있다.Preferably, at an interval of a second predetermined time, the collection unit collects the transaction processing information, the determination unit determines a minimum synchronization method, and further comprises a control unit repeatedly controlling to set the setting unit to process the transaction can do.

바람직하게는, 상기 제2 시간은 상기 최소동기화방법이 상기 제1 동기화방법과 상기 제2 동기화방법의 사이에서 변경되는 빈도에 기초하여 동적으로 조정될 수 있다.Advantageously, the second time period may be dynamically adjusted based on a frequency at which the minimum synchronization method is changed between the first synchronization method and the second synchronization method.

본 발명은 블록체인의 환경변수를 모니터링하여 가변적으로 블록체인의 동기화 방법을 변경함으로써, 트랜잭션의 충돌을 방지하면서도, 블록체인의 성능을 높은 수준으로 유지할 수 있는 효과가 있다.The present invention has the effect of maintaining the performance of the block chain at a high level while preventing the collision of transactions by variably changing the synchronization method of the block chain by monitoring the environment variables of the block chain.

도 1은 본 발명의 일 실시예에 따른 블록체인의 가변적 동기화 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 최소동기화방법의 결정 방법을 설명하기 위한 흐름도이다.
도 3는 본 발명의 일 실시예에 따른 기준충돌가능성의 산출 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 블록체인의 가변적 동기화 장치의 블록도이다.
도 5는 트랜잭션 충돌의 발생 가능성에 따른 트랜잭션 지연을 나타내는 그래프이다.
1 is a flowchart illustrating a method for variable synchronization of a block chain according to an embodiment of the present invention.
2 is a flowchart illustrating a method of determining a minimum synchronization method according to an embodiment of the present invention.
3 is a flowchart for explaining a method of calculating a reference collision probability according to an embodiment of the present invention.
4 is a block diagram of a block chain variable synchronization device according to an embodiment of the present invention.
5 is a graph illustrating a transaction delay according to the possibility of occurrence of a transaction conflict.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 블록체인의 가변적 동기화 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a method for variable synchronization of a block chain according to an embodiment of the present invention.

이하에서 제1 동기화방법은 잠금 메커니즘(Locking mechanism)에 기반하는 동기화 방법이고, 제2 동기화방법은 MVCC(multi-version concurrency control) 기법에 기반하는 동기화 방법이다.Hereinafter, a first synchronization method is a synchronization method based on a locking mechanism, and a second synchronization method is a synchronization method based on a multi-version concurrency control (MVCC) method.

단계 S110에서는, 가변적 동기화 장치가 소정의 제1 시간 동안, 잠금 메커니즘 적용에 소요되는 SYNCH시간, MVCC 기법 적용에 발생하는 오버헤드시간 및 트랜잭션의 충돌가능성에 관한 정보를 포함하는 트랜잭션처리정보를 수집한다.In step S110, the variable synchronization device collects transaction processing information including information on the SYNCH time required to apply the lock mechanism, the overhead time that occurs in applying the MVCC technique, and the possibility of transaction collision for a predetermined first time period. .

여기서, 제1 시간은 블록체인을 모니터링하여 트랜잭션처리정보를 수집하기 위하여 미리 설정된 시간이며, 블록체인의 트랜잭션 부하 및 다양한 환경에 따라 다른 값으로 결정될 수 있다.Here, the first time is a preset time to collect transaction processing information by monitoring the block chain, and may be determined as a different value according to the transaction load of the block chain and various environments.

또한, SYNCH시간은 잠금 메커니즘을 이용하여 블록체인의 데이터를 잠그거나(lock), 잠금해제(unlock)하는데 소요되는 시간을 의미할 수 있다. 오버헤드시간은 MVCC 기법을 이용할 때 충돌이 발생하면 이를 복구하기 위해 소요되는 시간을 의미할 수 있다. 트랜잭션의 충돌가능성은 제1 시간 동안의 전체 트랜잭션 횟수와 트랜잭션 시 충돌(또는 락킹)이 발생한 횟수 등으로부터 산출될 수 있다. 이처럼, 가변적 동기화 장치는 SYNCH시간, 오버헤드시간 및 충돌가능성과 같은 블록체인 시스템의 환경변수에 대한 정보를 수집할 수 있다.In addition, the SYNCH time may refer to the time it takes to lock or unlock the data of the block chain using the lock mechanism. The overhead time may mean a time taken to recover when a collision occurs when using the MVCC technique. The collision probability of a transaction may be calculated from the total number of transactions during the first time period and the number of collisions (or locking) occurring during a transaction. In this way, the variable synchronization device can collect information about the environment variables of the blockchain system, such as SYNCH time, overhead time, and collision possibility.

이때, 가변적 동기화 장치는 제1 시간 동안 수집된 데이터를 이용하여 평균 SYNCH시간, 평균 오버헤드시간, 충돌가능성을 산출하여 트랜잭션처리정보를 수집할 수 있다. In this case, the variable synchronization apparatus may collect the transaction processing information by calculating the average SYNCH time, the average overhead time, and the possibility of collision using the data collected during the first time.

단계 S120에서는, 가변적 동기화 장치가 미리 수집된 원장접근시간 및 그 트랜잭션처리정보를 이용하여, 제1 동기화방법 및 제2 동기화방법 중 트랜잭션 지연이 더 작은 최소동기화방법을 결정한다.In step S120, the variable synchronization device determines a minimum synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method by using the previously collected ledger access time and the transaction processing information.

즉, 가변적 동기화 장치는 SYNCH시간, 오버헤드시간, 충돌가능성 및 원장접근시간을 이용하여 제1 동기화방법 및 제2 동기화방법 중에서 최소동기화방법을 결정할 수 있다. 이때, 최소동기화방법은 제1 동기화방법 및 제2 동기화방법 중 트랜잭션 지연이 더 작은 동기화 방법일 수 있다.That is, the variable synchronization apparatus may determine the minimum synchronization method among the first synchronization method and the second synchronization method by using the SYNCH time, the overhead time, the possibility of collision, and the ledger access time. In this case, the minimum synchronization method may be a synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method.

이때, 원장접근시간은 블록체인의 원장 데이터에 접근(access)하는 시간을 의미할 수 있으며, 원장접근시간은 동기화 방법과는 무관하게 고정된 값으로 볼 수 있으므로 미리 수집된 데이터를 이용할 수 있다.In this case, the ledger access time may mean the time to access the ledger data of the block chain, and since the ledger access time can be viewed as a fixed value regardless of the synchronization method, pre-collected data can be used.

한편, 최소동기화방법을 결정하는 구체적인 방법에 관하여는 도 2 및 3에 대한 설명에서 상세하게 후술한다.Meanwhile, a detailed method of determining the minimum synchronization method will be described later in detail with reference to FIGS. 2 and 3 .

마지막으로 단계 S130에서는, 가변적 동기화 장치가 블록체인 네트워크가 그 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정한다.Finally, in step S130, the variable synchronization device sets the block chain network to process the transaction using the minimum synchronization method.

예컨대, 가변적 동기화 장치는 현재 블록체인 네트워크에 설정된 동기화 방법이 제1 동기화방법이고, 최소동기화방법이 제2 동기화방법일 때, 블록체인 네트워크를 구성하는 복수의 노드가 제2 동기화방법에 따라 운영되도록 변경하여 설정할 수 있다. 이는, 현재 블록체인 네트워크에 설정된 동기화 방법이 제2 동기화방법이고, 최소동기화방법이 제1 동기화방법일 때에도 마찬가지이다.For example, when the synchronization method currently set in the block chain network is the first synchronization method and the minimum synchronization method is the second synchronization method, the variable synchronization device is configured so that a plurality of nodes constituting the block chain network are operated according to the second synchronization method. It can be set by changing. This is also the case when the synchronization method currently set in the blockchain network is the second synchronization method and the minimum synchronization method is the first synchronization method.

하지만, 가변적 동기화 장치는 현재 블록체인 네트워크에 설정된 동기화 방법과 최소동기화방법이 동일할 때에는 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정하는 것을 생략할 수 있다. 이는, 블록체인 네트워크의 기존 설정과 최소동기화방법이 동일하기 때문이다.However, the variable synchronization device may omit setting to process transactions using the minimum synchronization method when the synchronization method currently set in the blockchain network is the same as the minimum synchronization method. This is because the existing setting of the blockchain network and the minimum synchronization method are the same.

다른 실시예에서는, 가변적 동기화 장치가 소정의 제2 시간의 간격으로, 단계 S110 내지 S130을 반복할 수 있다.In another embodiment, the variable synchronization device may repeat steps S110 to S130 at an interval of a second predetermined time.

예컨대, 가변적 동기화 장치는 블록체인 네트워크의 환경이 빈번하게 변경되는 경우, 즉, 환경변수값의 변동폭이 큰 경우를 대비하기 위하여, 제2 시간과 같은 주기를 두고, 단계 S110 내지 S130을 반복할 수 있다. 이로 인해, 가변적 동기화 장치는 블록체인의 환경에 따라 유연하게 동기화 방법을 변경하여 설정할 수 있게 된다. 또한, 제2 시간은 제1 시간 이상의 값으로 결정될 수 있다.For example, the variable synchronization device may repeat steps S110 to S130 with the same period as the second time in order to prepare for the case where the environment of the block chain network is frequently changed, that is, the fluctuation range of the environmental variable value is large. there is. Due to this, the variable synchronization device can be set by changing the synchronization method flexibly according to the environment of the block chain. Also, the second time may be determined to be a value greater than or equal to the first time.

또 다른 실시예에서는, 가변적 동기화 장치가 제2 시간을 최소동기화방법이 제1 동기화방법과 제2 동기화방법의 사이에서 변경되는 빈도에 기초하여 동적으로 조정할 수 있다.In another embodiment, the variable synchronization device may dynamically adjust the second time based on the frequency at which the minimum synchronization method is changed between the first synchronization method and the second synchronization method.

즉, 가변적 동기화 장치는 최소동기화방법이 제1 동기화방법에서 제2 동기화방법으로, 제2 동기화방법에서 제1 동기화방법으로 변경되는 빈도가 미리 정해진 임계치보다 커질수록 제2 시간을 줄여 효과적으로 대응할 수 있다. 반대로, 가변적 동기화 장치는 최소동기화방법이 제1 동기화방법에서 제2 동기화방법으로, 제2 동기화방법에서 제1 동기화방법으로 변경되는 빈도가 그 임계치보다 작아질수록 제2 시간을 동적으로 늘려 불필요한 시스템 부하를 감소시킬 수 있다.That is, the variable synchronization apparatus can effectively respond by reducing the second time as the frequency at which the minimum synchronization method is changed from the first synchronization method to the second synchronization method and from the second synchronization method to the first synchronization method is greater than a predetermined threshold value. . Conversely, in the variable synchronization device, the second time is dynamically increased as the frequency at which the minimum synchronization method is changed from the first synchronization method to the second synchronization method and from the second synchronization method to the first synchronization method becomes smaller than the threshold value. load can be reduced.

예컨대, 가변적 동기화 장치는 지난 12시간 동안의 동기화 방법의 변경 발생 빈도를 이용하여, 임계치보다 큰 경우 제2 시간을 줄이고, 작은 경우 제2 시간을 늘릴 수 있다.For example, the variable synchronization apparatus may decrease the second time when it is greater than the threshold value and increase the second time when it is smaller than the threshold, using the frequency of occurrence of change of the synchronization method during the past 12 hours.

이와 같이, 본 발명의 일 실시예에 따른 블록체인의 가변적 동기화 방법은 블록체인의 환경변수를 모니터링하여 가변적으로 블록체인의 동기화 방법을 변경함으로써, 트랜잭션의 충돌을 방지하면서도, 블록체인의 성능을 높은 수준으로 유지할 수 있는 효과가 있다.As described above, the variable synchronization method of the block chain according to an embodiment of the present invention monitors the environment variables of the block chain and variably changes the synchronization method of the block chain, thereby preventing the collision of transactions and improving the performance of the block chain. It has the effect of maintaining the level.

도 2는 본 발명의 일 실시예에 따른 최소동기화방법의 결정 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method of determining a minimum synchronization method according to an embodiment of the present invention.

단계 S210에서는, 가변적 동기화 장치가 원장접근시간, SYNCH시간 및 오버헤드시간에 기초하여, 제1 동기화방법 및 제2 동기화방법에 의한 트랜잭션 지연이 같아지는 기준충돌가능성을 산출한다.In step S210, the variable synchronization device calculates a reference collision probability in which the transaction delay by the first synchronization method and the second synchronization method are equal, based on the ledger access time, the SYNCH time, and the overhead time.

예컨대, 가변적 동기화 장치는 제1 동기화방법에 의한 트랜잭션 지연과 제2 동기화방법에 의한 트랜잭션 지연을 각각 산출한 후, 그 2개의 지연이 같아지는 기준충돌가능성을 산출할 수 있다.For example, the variable synchronization apparatus may calculate a reference collision probability in which the two delays are equal after calculating the transaction delay by the first synchronization method and the transaction delay by the second synchronization method, respectively.

한편, 기준충돌가능성을 산출하는 구체적인 방법에 관하여는 도 3에 대한 설명에서 상세하게 후술한다.On the other hand, a detailed method of calculating the reference collision probability will be described later in detail in the description of FIG. 3 .

단계 S220에서는, 가변적 동기화 장치가 충돌가능성을 기준충돌가능성과 비교한다.In step S220, the variable synchronization device compares the collision probability with a reference collision probability.

즉, 가변적 동기화 장치는 앞서 수집된 충돌가능성과 기준충돌가능성의 크기를 비교하여, 어느 값이 더 큰지 판단할 수 있다.That is, the variable synchronization device may determine which value is larger by comparing the previously collected magnitudes of the collision probability and the reference collision probability.

마지막으로 단계 S230에서는, 가변적 동기화 장치가 그 비교 결과에 따라, 충돌가능성이 기준충돌가능성보다 큰 경우는 제1 동기화방법을 최소동기화방법으로 결정하고, 충돌가능성이 기준충돌가능성보다 작은 경우는 제2 동기화방법을 최소동기화방법으로 결정한다.Finally, in step S230, according to the comparison result, the variable synchronization device determines the first synchronization method as the minimum synchronization method if the probability of collision is greater than the reference collision probability, and determines the second synchronization method as the minimum synchronization method if the collision probability is less than the reference collision probability. The synchronization method is determined as the minimum synchronization method.

이때, 가변적 동기화 장치는 충돌가능성이 기준충돌가능성보다 크면, 트랜잭션 충돌이 자주 발생하는 상황으로 판단하여, 해당 상황에 보다 유리한 잠금 메커니즘에 기반한 제1 동기화방법을 최소동기화방법으로 결정할 수 있다. In this case, if the possibility of collision is greater than the probability of a reference collision, the variable synchronization apparatus may determine that a transaction collision occurs frequently, and determine the first synchronization method based on a lock mechanism more advantageous to the situation as the minimum synchronization method.

또한, 가변적 동기화 장치는 충돌가능성이 기준충돌가능성보다 작으면, 트랜잭션 충돌이 드물게 발생하는 상황으로 판단하여, 해당 상황에 보다 유리한 MVCC에 기반한 제2 동기화방법을 최소동기화방법으로 결정할 수 있다.In addition, when the probability of collision is smaller than the standard collision probability, the variable synchronization apparatus determines that a transaction collision rarely occurs, and determines the second synchronization method based on the MVCC which is more advantageous for the situation as the minimum synchronization method.

한편, 도 5를 참조하면, 가변적 동기화 장치가 이와 같이 최소동기화방법을 결정하는 이유가 나타나있다. 즉, 잠금 메커니즘에 기반하는 제1 동기화방법(ETH)은 충돌가능성이 높은 상황(즉, 충돌가능성이 기준충돌가능성보다 큰 상황)에서 트랜잭션 지연이 상대적으로 작아지며, MVCC기법에 기반하는 제2 동기화방법(HLF)은 충돌가능성이 낮은 상황에서 트랜잭션 지연이 상대적으로 작아지기 때문이다. 이때, 그 2개의 선이 만나는 지점이 바로 기준충돌가능성을 의미할 수 있다.Meanwhile, referring to FIG. 5 , the reason why the variable synchronization device determines the minimum synchronization method is shown. That is, in the first synchronization method (ETH) based on the lock mechanism, the transaction delay is relatively small in a situation with a high probability of collision (that is, a situation where the probability of collision is greater than the reference collision probability), and the second synchronization method based on the MVCC technique Method (HLF) is because the transaction delay is relatively small in a situation where the probability of collision is low. In this case, the point where the two lines meet may indicate the possibility of a reference collision.

도 3는 본 발명의 일 실시예에 따른 기준충돌가능성의 산출 방법을 설명하기 위한 흐름도이다.3 is a flowchart for explaining a method of calculating a reference collision probability according to an embodiment of the present invention.

단계 S310에서는, 가변적 동기화 장치가 원장접근시간 및 SYNCH시간을 이용하여 제1 동기화방법에 의한 트랜잭션 지연을 산출한다.In step S310, the variable synchronization device calculates the transaction delay by the first synchronization method using the ledger access time and the SYNCH time.

즉, 잠금 메커니즘에 기반한 제1 동기화방법에서 트랜잭션 지연은 원장접근시간과 SYNCH시간을 이용하여 아래의 수학식 1과 같이 산출될 수 있다.That is, in the first synchronization method based on the locking mechanism, the transaction delay can be calculated as in Equation 1 below using the ledger access time and the SYNCH time.

[수학식 1][Equation 1]

Figure 112020026012276-pat00001
Figure 112020026012276-pat00001

여기서, ttx1은 제1 동기화방법에서 트랜잭션 지연이고, tledger는 원장접근시간이고, tsynch는 SYNCH시간이다.Here, t tx1 is the transaction delay in the first synchronization method, t ledger is the ledger access time, and t synch is the SYNCH time.

단계 S320에서는, 가변적 동기화 장치가 원장접근시간, 오버헤드시간 및 기준충돌가능성을 이용하여 제2 동기화방법에 의한 트랜잭션 지연을 산출한다.In step S320, the variable synchronization device calculates the transaction delay by the second synchronization method using the ledger access time, the overhead time, and the reference collision probability.

[수학식 2][Equation 2]

Figure 112020026012276-pat00002
Figure 112020026012276-pat00002

여기서, ttx2는 제2 동기화방법에서 트랜잭션 지연이고, tledger는 원장접근시간이고, tMVCC는 오버헤드시간이고, pconflict는 기준충돌가능성이다.Here, t tx2 is the transaction delay in the second synchronization method, t ledger is the ledger access time, t MVCC is the overhead time, and p conflict is the standard conflict possibility.

이때, 기준충돌가능성은 아직 결정되지 않은 값으로 변수이며, 원장접근시간, SYNCH시간 및 오버헤드시간은 결정된 값으로 상수이다.At this time, the standard collision probability is a variable with a value that has not yet been determined, and the ledger access time, SYNCH time, and overhead time are determined values and are constant.

마지막으로 단계 S330에서는, 가변적 동기화 장치가 제1 동기화방법에 의한 트랜잭션 지연과 제2 동기화방법에 의한 트랜잭션 지연 각각에 대응되는 식을 이용한 방정식으로부터, 기준충돌가능성을 산출한다.Finally, in step S330, the variable synchronization device calculates the reference collision probability from the equations using the equations corresponding to the transaction delay by the first synchronization method and the transaction delay by the second synchronization method, respectively.

즉, 가변적 동기화 장치는 위의 수학식 1과 2를 방정식의 양변에 대입하고, 기준충돌가능성에 관한 방정식을 풀어, 그 값을 산출할 수 있다.That is, the variable synchronization device can calculate the value by substituting Equations 1 and 2 above into both sides of the equation, solving the equation regarding the reference collision possibility.

이때, 기준충돌가능성은 아래의 수학식 3을 이용하여 산출될 수 있다.In this case, the reference collision probability may be calculated using Equation 3 below.

[수학식 3][Equation 3]

Figure 112020026012276-pat00003
Figure 112020026012276-pat00003

도 4는 본 발명의 일 실시예에 따른 블록체인의 가변적 동기화 장치의 블록도이다.4 is a block diagram of a block chain variable synchronization device according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 블록체인의 가변적 동기화 장치(400)는 수집부(410), 결정부(420) 및 설정부(430)를 포함한다. 또한, 선택적으로 제어부(미도시)를 더 포함할 수 있다.Referring to FIG. 4 , a block chain variable synchronization apparatus 400 according to an embodiment of the present invention includes a collection unit 410 , a determination unit 420 , and a setting unit 430 . In addition, it may optionally further include a control unit (not shown).

한편, 블록체인의 가변적 동기화 장치(400)는 블록체인 네트워크를 구성하는 복수의 노드 중 하나에 탑재되거나 그 노드에 유선 또는 무선의 통신수단을 통해 연결될 수 있다. 후자의 경우에, 블록체인의 가변적 동기화 장치(400)는 데스크탑PC, 노트북PC, 서버컴퓨터, 스마트폰 및 태블리PC 등과 같은 컴퓨팅 장치에 탑재될 수 있다.On the other hand, the block chain variable synchronization device 400 may be mounted on one of a plurality of nodes constituting the block chain network or may be connected to the node through a wired or wireless communication means. In the latter case, the block chain variable synchronization device 400 may be mounted on a computing device such as a desktop PC, a notebook PC, a server computer, a smart phone, and a tablet PC.

수집부(410)는 소정의 제1 시간 동안, 잠금 메커니즘 적용에 소요되는 SYNCH시간, MVCC 기법 적용에 발생하는 오버헤드시간 및 트랜잭션의 충돌가능성에 관한 정보를 포함하는 트랜잭션처리정보를 수집한다.The collection unit 410 collects transaction processing information including information on the SYNCH time required to apply the locking mechanism, the overhead time that occurs in applying the MVCC technique, and the possibility of transaction collision for a predetermined first time period.

결정부(420)는 미리 수집된 원장접근시간 및 그 트랜잭션처리정보를 이용하여, 제1 동기화방법 및 제2 동기화방법 중 트랜잭션 지연이 더 작은 최소동기화방법을 결정한다.The determination unit 420 determines a minimum synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method by using the previously collected ledger access time and transaction processing information.

다른 실시예에서는, 결정부(420)는 원장접근시간, SYNCH시간 및 오버헤드시간에 기초하여, 제1 동기화방법 및 제2 동기화방법에 의한 트랜잭션 지연이 같아지는 기준충돌가능성을 산출하고, 그 충돌가능성을 기준충돌가능성과 비교하고, 그 비교 결과에 따라, 충돌가능성이 기준충돌가능성보다 큰 경우는 제1 동기화방법을 최소동기화방법으로 결정하고, 충돌가능성이 기준충돌가능성보다 작은 경우는 제2 동기화방법을 최소동기화방법으로 결정할 수 있다.In another embodiment, the determination unit 420 calculates a reference collision probability in which the transaction delay by the first synchronization method and the second synchronization method is equal based on the ledger access time, the SYNCH time, and the overhead time, and the collision The probability is compared with the standard collision probability, and according to the comparison result, if the collision probability is greater than the reference collision probability, the first synchronization method is determined as the minimum synchronization method, and if the collision probability is less than the standard collision probability, the second synchronization method The method can be determined as the minimum synchronization method.

또 다른 실시예에서는, 결정부(420)가 기준충돌가능성을 산출할 때, 원장접근시간 및 SYNCH시간을 이용하여 제1 동기화방법에 의한 트랜잭션 지연을 산출하고, 원장접근시간, 오버헤드시간 및 기준충돌가능성을 이용하여 제2 동기화방법에 의한 트랜잭션 지연을 산출하고, 그 제1 동기화방법에 의한 트랜잭션 지연과 제2 동기화방법에 의한 트랜잭션 지연 각각에 대응되는 식을 이용한 방정식으로부터, 기준충돌가능성을 산출할 수 있다.In another embodiment, when the determination unit 420 calculates the reference collision probability, the transaction delay by the first synchronization method is calculated using the ledger access time and the SYNCH time, and the ledger access time, the overhead time and the reference Calculate the transaction delay by the second synchronization method using the collision probability, and calculate the reference collision probability from the equation using the equations corresponding to the transaction delay by the first synchronization method and the transaction delay by the second synchronization method can do.

설정부(430)는 블록체인 네트워크가 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정한다.The setting unit 430 sets the block chain network to process the transaction using the minimum synchronization method.

제어부(미도시)는 소정의 제2 시간의 간격으로, 수집부(410)가 트랜잭션처리정보를 수집하고, 결정부(420)가 최소동기화방법을 결정하고, 설정부(430)가 트랜잭션을 처리하도록 설정하도록 반복하여 제어한다.In the control unit (not shown), the collection unit 410 collects transaction processing information at a predetermined second time interval, the determination unit 420 determines the minimum synchronization method, and the setting unit 430 processes the transaction. Control it repeatedly to set it to do so.

다른 실시예에서는, 제2 시간은 최소동기화방법이 제1 동기화방법과 제2 동기화방법의 사이에서 변경되는 빈도에 기초하여 동적으로 조정될 수 있다.In another embodiment, the second time may be dynamically adjusted based on the frequency at which the minimum synchronization method is changed between the first synchronization method and the second synchronization method.

이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시 예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.So far, the present invention has been looked at with respect to preferred embodiments thereof. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in modified forms without departing from the essential characteristics of the present invention. Accordingly, the scope of the present invention is not limited to the above-described embodiments, and should be construed to include various embodiments within the scope equivalent to the content described in the claims.

Claims (10)

블록체인 네트워크에서 잠금 메커니즘에 기반하는 제1 동기화방법 및 MVCC(multi-version concurrency control) 기법에 기반하는 제2 동기화방법 중 하나를 이용하여 가변적으로 데이터를 동기화하는 방법에 있어서,
소정의 제1 시간 동안, 잠금 메커니즘 적용에 소요되는 SYNCH시간, MVCC 기법 적용에 발생하는 오버헤드시간 및 트랜잭션의 충돌가능성에 관한 정보를 포함하는 트랜잭션처리정보를 수집하는 단계;
미리 수집된 원장접근시간 및 상기 트랜잭션처리정보를 이용하여, 상기 제1 동기화방법 및 상기 제2 동기화방법 중 트랜잭션 지연이 더 작은 최소동기화방법을 결정하는 단계; 및
상기 블록체인 네트워크가 상기 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정하는 단계
를 포함하는 것을 특징으로 하는 블록체인의 가변적 동기화 방법.
A method for variably synchronizing data using one of a first synchronization method based on a lock mechanism and a second synchronization method based on a multi-version concurrency control (MVCC) technique in a blockchain network, the method comprising:
Collecting transaction processing information including information on the SYNCH time required to apply the locking mechanism, the overhead time that occurs in applying the MVCC technique, and the possibility of transaction collision for a predetermined first time;
determining a minimum synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method by using the previously collected ledger access time and the transaction processing information; and
Setting the blockchain network to process transactions using the minimum synchronization method
Variable synchronization method of the block chain, characterized in that it comprises a.
제1항에 있어서,
상기 최소동기화방법을 결정하는 단계는
상기 원장접근시간, 상기 SYNCH시간 및 상기 오버헤드시간에 기초하여, 상기 제1 동기화방법 및 상기 제2 동기화방법에 의한 트랜잭션 지연이 같아지는 기준충돌가능성을 산출하는 단계;
상기 충돌가능성을 상기 기준충돌가능성과 비교하는 단계; 및
상기 비교 결과에 따라, 상기 충돌가능성이 상기 기준충돌가능성보다 큰 경우는 상기 제1 동기화방법을 최소동기화방법으로 결정하고, 상기 충돌가능성이 상기 기준충돌가능성보다 작은 경우는 상기 제2 동기화방법을 최소동기화방법으로 결정하는 단계;
를 포함하는 특징으로 하는 블록체인의 가변적 동기화 방법.
According to claim 1,
The step of determining the minimum synchronization method includes:
calculating a reference collision probability in which transaction delays by the first synchronization method and the second synchronization method are equal, based on the ledger access time, the SYNCH time, and the overhead time;
comparing the collision probability with the reference collision probability; and
According to the comparison result, when the collision probability is greater than the reference collision probability, the first synchronization method is determined as the minimum synchronization method, and when the collision probability is less than the reference collision probability, the second synchronization method is minimized determining a synchronization method;
Variable synchronization method of the block chain, characterized in that it includes.
제2항에 있어서,
상기 기준충돌가능성을 산출하는 단계는
상기 원장접근시간 및 상기 SYNCH시간을 이용하여 제1 동기화방법에 의한 트랜잭션 지연을 산출하는 단계;
상기 원장접근시간, 상기 오버헤드시간 및 상기 기준충돌가능성을 이용하여 제2 동기화방법에 의한 트랜잭션 지연을 산출하는 단계; 및
상기 제1 동기화방법에 의한 트랜잭션 지연과 상기 제2 동기화방법에 의한 트랜잭션 지연 각각에 대응되는 식을 이용한 방정식으로부터, 상기 기준충돌가능성을 산출하는 단계
를 포함하는 것을 특징으로 하는 블록체인의 가변적 동기화 방법.
3. The method of claim 2,
The step of calculating the standard collision probability
calculating a transaction delay by a first synchronization method using the ledger access time and the SYNCH time;
calculating a transaction delay by a second synchronization method using the ledger access time, the overhead time, and the reference collision probability; and
Calculating the reference collision probability from an equation using an equation corresponding to each of the transaction delay by the first synchronization method and the transaction delay by the second synchronization method
Variable synchronization method of the block chain, characterized in that it comprises a.
제1항에 있어서,
소정의 제2 시간의 간격으로, 상기 트랜잭션처리정보를 수집하는 단계, 상기 최소동기화방법을 결정하는 단계 및 상기 트랜잭션을 처리하도록 설정하는 단계를 반복하는 단계
를 더 포함하는 것을 특징으로 하는 블록체인의 가변적 동기화 방법.
According to claim 1,
Repeating the steps of collecting the transaction processing information, determining the minimum synchronization method, and setting the transaction to be processed at an interval of a second predetermined time
Variable synchronization method of the block chain, characterized in that it further comprises.
제4항에 있어서,
상기 제2 시간은
상기 최소동기화방법이 상기 제1 동기화방법과 상기 제2 동기화방법의 사이에서 변경되는 빈도에 기초하여 동적으로 조정되는 것을 특징으로 하는 블록체인의 가변적 동기화 방법.
5. The method of claim 4,
the second time
The variable synchronization method of the block chain, characterized in that the minimum synchronization method is dynamically adjusted based on the frequency changed between the first synchronization method and the second synchronization method.
블록체인 네트워크에서 잠금 메커니즘에 기반하는 제1 동기화방법 및 MVCC 기법에 기반하는 제2 동기화방법 중 하나를 이용하여 가변적으로 데이터를 동기화하는 장치에 있어서,
소정의 제1 시간 동안, 잠금 메커니즘 적용에 소요되는 SYNCH시간, MVCC 기법 적용에 발생하는 오버헤드시간 및 트랜잭션의 충돌가능성에 관한 정보를 포함하는 트랜잭션처리정보를 수집하는 수집부;
미리 수집된 원장접근시간 및 상기 트랜잭션처리정보를 이용하여, 상기 제1 동기화방법 및 상기 제2 동기화방법 중 트랜잭션 지연이 더 작은 최소동기화방법을 결정하는 결정부; 및
상기 블록체인 네트워크가 상기 최소동기화방법을 이용하여 트랜잭션을 처리하도록 설정하는 설정부
를 포함하는 것을 특징으로 하는 블록체인의 가변적 동기화 장치.
An apparatus for variably synchronizing data using one of a first synchronization method based on a lock mechanism and a second synchronization method based on an MVCC method in a blockchain network, the apparatus comprising:
a collection unit that collects transaction processing information including information on the SYNCH time required to apply the locking mechanism, the overhead time that occurs in applying the MVCC technique, and the possibility of transaction collision during a predetermined first time;
a determination unit for determining a minimum synchronization method having a smaller transaction delay among the first synchronization method and the second synchronization method by using the previously collected ledger access time and the transaction processing information; and
A setting unit that sets the block chain network to process a transaction using the minimum synchronization method
Variable synchronization device of the block chain, characterized in that it comprises a.
제6항에 있어서,
상기 결정부는
상기 원장접근시간, 상기 SYNCH시간 및 상기 오버헤드시간에 기초하여, 상기 제1 동기화방법 및 상기 제2 동기화방법에 의한 트랜잭션 지연이 같아지는 기준충돌가능성을 산출하고,
상기 충돌가능성을 상기 기준충돌가능성과 비교하고,
상기 비교 결과에 따라, 상기 충돌가능성이 상기 기준충돌가능성보다 큰 경우는 상기 제1 동기화방법을 최소동기화방법으로 결정하고, 상기 충돌가능성이 상기 기준충돌가능성보다 작은 경우는 상기 제2 동기화방법을 최소동기화방법으로 결정하는 것을 포함하는 특징으로 하는 블록체인의 가변적 동기화 장치.
7. The method of claim 6,
The decision part
Based on the ledger access time, the SYNCH time, and the overhead time, calculating a reference collision probability in which the transaction delay by the first synchronization method and the second synchronization method is equal,
comparing the collision probability with the reference collision probability;
According to the comparison result, if the collision probability is greater than the reference collision probability, the first synchronization method is determined as the minimum synchronization method, and if the collision probability is less than the reference collision probability, the second synchronization method is minimized Variable synchronization device of a block chain, characterized in that it includes determining by a synchronization method.
제7항에 있어서,
상기 결정부가 상기 기준충돌가능성을 산출할 때,
상기 원장접근시간 및 상기 SYNCH시간을 이용하여 제1 동기화방법에 의한 트랜잭션 지연을 산출하고,
상기 원장접근시간, 상기 오버헤드시간 및 상기 기준충돌가능성을 이용하여 제2 동기화방법에 의한 트랜잭션 지연을 산출하고,
상기 제1 동기화방법에 의한 트랜잭션 지연과 상기 제2 동기화방법에 의한 트랜잭션 지연 각각에 대응되는 식을 이용한 방정식으로부터, 상기 기준충돌가능성을 산출하는 것을 특징으로 하는 블록체인의 가변적 동기화 장치.
8. The method of claim 7,
When the determination unit calculates the reference collision probability,
Calculating the transaction delay by the first synchronization method using the ledger access time and the SYNCH time,
Calculating the transaction delay by the second synchronization method using the ledger access time, the overhead time, and the reference collision possibility;
The block chain variable synchronization device, characterized in that the reference collision probability is calculated from an equation using an equation corresponding to each of the transaction delay by the first synchronization method and the transaction delay by the second synchronization method.
제6항에 있어서,
소정의 제2 시간의 간격으로, 상기 수집부가 트랜잭션처리정보를 수집하고, 상기 결정부가 최소동기화방법을 결정하고, 상기 설정부가 트랜잭션을 처리하도록 설정하도록 반복하여 제어하는 제어부
를 더 포함하는 것을 특징으로 하는 블록체인의 가변적 동기화 장치.
7. The method of claim 6,
A control unit that repeatedly controls so that the collection unit collects transaction processing information, the determination unit determines a minimum synchronization method, and sets the setting unit to process the transaction at an interval of a second predetermined time
Variable synchronization device of the block chain, characterized in that it further comprises.
제9항에 있어서,
상기 제2 시간은
상기 최소동기화방법이 상기 제1 동기화방법과 상기 제2 동기화방법의 사이에서 변경되는 빈도에 기초하여 동적으로 조정되는 것을 특징으로 하는 블록체인의 가변적 동기화 장치.
10. The method of claim 9,
the second time
The variable synchronization device of the block chain, characterized in that the minimum synchronization method is dynamically adjusted based on the frequency changed between the first synchronization method and the second synchronization method.
KR1020200030435A 2020-03-11 2020-03-11 Method and apparatus for adaptive synchronization of blockchain KR102281765B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200030435A KR102281765B1 (en) 2020-03-11 2020-03-11 Method and apparatus for adaptive synchronization of blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200030435A KR102281765B1 (en) 2020-03-11 2020-03-11 Method and apparatus for adaptive synchronization of blockchain

Publications (1)

Publication Number Publication Date
KR102281765B1 true KR102281765B1 (en) 2021-07-27

Family

ID=77125536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200030435A KR102281765B1 (en) 2020-03-11 2020-03-11 Method and apparatus for adaptive synchronization of blockchain

Country Status (1)

Country Link
KR (1) KR102281765B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240082971A (en) 2022-12-02 2024-06-11 디엑스웍스 주식회사 Method and apparatus for avoiding read conflict in multi-version concurrency control(MVCC) using multi-queue

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김유성 외, "분산 데이터베이스 체제하에서 순간 검증을 이용하는 통합 동시성 제어 방법", 한국정보과학회 학술발표논문집 14(2), 1987.10, 635-638(1987.10)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240082971A (en) 2022-12-02 2024-06-11 디엑스웍스 주식회사 Method and apparatus for avoiding read conflict in multi-version concurrency control(MVCC) using multi-queue

Similar Documents

Publication Publication Date Title
US8862782B2 (en) Background synchronization
CN112866136B (en) Service data processing method and device
CN109978177B (en) Model training method, service processing method, device and related equipment
CN112799923B (en) System abnormality cause determination method, device, equipment and storage medium
CN107656937B (en) Method and device for realizing consistency of read-write data
JP7549137B2 (en) Transaction processing method, system, device, equipment, and program
CN111858677A (en) Local cache data access method, device, equipment and storage medium
KR102281765B1 (en) Method and apparatus for adaptive synchronization of blockchain
CN104113571A (en) Data collision processing method and device
CN108471385B (en) Flow control method and device for distributed system
CN106802939A (en) A kind of method and system of resolving data conflicts
CN114518948B (en) Dynamic perception rescheduling method for large-scale micro-service application and application
CN112184436A (en) Data synchronization method, electronic device and readable storage medium
CN109889602B (en) Resource acquisition frequency adjusting method, device, system and storage medium
JP5459579B2 (en) Job management system, method and program thereof
CN104202349B (en) The method of scheduling distributed buffer resources, Apparatus and system
CN112436962B (en) Block chain consensus network dynamic expansion method, electronic device, system and medium
CN118193485A (en) Concurrency control method and device, electronic equipment and storage medium
CN114036164A (en) High-concurrency transaction locking method and system combining optimistic lock and pessimistic lock
Raja et al. SDN assisted middlebox synchronization mechanism for next generation mobile data management system
CN112734574A (en) Transaction execution method, computer device, and storage medium
CN110554914B (en) Resource lock management method, device, server and storage medium
CN114679464B (en) Data rollback method, device, equipment and storage medium based on distributed lock
CN113342480B (en) Transaction processing system, transaction processing method and host system
CN111865722B (en) Node health state detection and processing method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant