KR20240033484A - Single delivery management method and system using block chain - Google Patents

Single delivery management method and system using block chain Download PDF

Info

Publication number
KR20240033484A
KR20240033484A KR1020220112186A KR20220112186A KR20240033484A KR 20240033484 A KR20240033484 A KR 20240033484A KR 1020220112186 A KR1020220112186 A KR 1020220112186A KR 20220112186 A KR20220112186 A KR 20220112186A KR 20240033484 A KR20240033484 A KR 20240033484A
Authority
KR
South Korea
Prior art keywords
delivery
person
function
blockchain
order
Prior art date
Application number
KR1020220112186A
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 KR1020220112186A priority Critical patent/KR20240033484A/en
Publication of KR20240033484A publication Critical patent/KR20240033484A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063118Staff planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 배달원이 단건 배달을 접수 받았을 경우 해당 배달의 완료 전까지는 추가적인 배달을 접수 받지 못하도록 시스템적으로 자동 관리할 수 있는 블록체인을 이용한 단건 배달 관리 방법 및 시스템에 관한 것이다.
본 발명에 따른 블록체인을 이용한 단건 배달 관리 방법은, 복수의 배달 플랫폼으로 이루어진 제1 채널이 블록체인 네트워크 상에서 생성되고, 상기 제1 채널에 제1 체인코드가 설치되는 단계; 및 상기 제1 체인코드의 실행을 통해 배달원 객체 및 배달 객체를 생성 및 업데이트하는 단계를 포함한다.
그리고, 상기 제1 체인코드는, 관리하고자 하는 클라이언트에 해당하는 배달원의 객체를 생성하기 위한 'createDeliveryman' 함수; 제1 배달주문의 발생시, 상기 제1 배달주문에 대한 배달 객체를 생성하고, 상기 제1 배달주문에 대한 배달(이하, '제1 배달'이라 함)이 배정된 배달원(이하, '제1 배달원'이라 함)의 배달 진행 상태를 재설정하기 위한 'pickUp' 함수; 및 상기 제1 배달이 완료되면, 상기 제1 배달원의 배달 진행 상태 및 상기 배달 객체의 완료 여부를 업데이트하는 'dropOff' 함수를 포함한다.
The present invention relates to a single-item delivery management method and system using blockchain that can systematically and automatically manage a delivery person to prevent additional deliveries from being received until the delivery is completed when a single-item delivery is received.
The single delivery management method using blockchain according to the present invention includes the steps of creating a first channel consisting of a plurality of delivery platforms on a blockchain network and installing a first chain code in the first channel; and creating and updating a delivery person object and a delivery object through execution of the first chain code.
And, the first chain code includes a 'createDeliveryman' function for creating a deliveryman object corresponding to the client to be managed; When a first delivery order occurs, a delivery object for the first delivery order is created, and delivery for the first delivery order (hereinafter referred to as 'first delivery') is assigned to a delivery person (hereinafter, 'first delivery person') 'pickUp' function to reset the delivery progress status of '; And when the first delivery is completed, it includes a 'dropOff' function that updates the delivery progress status of the first delivery person and whether the delivery object has been completed.

Description

블록체인을 이용한 단건 배달 관리 방법 및 시스템{SINGLE DELIVERY MANAGEMENT METHOD AND SYSTEM USING BLOCK CHAIN}Single delivery management method and system using blockchain {SINGLE DELIVERY MANAGEMENT METHOD AND SYSTEM USING BLOCK CHAIN}

본 발명은 블록체인을 기반으로 구현되는 배달 관리 방법 및 시스템에 관한 것으로서, 보다 상세하게는 배달원이 단건 배달을 접수 받았을 경우 해당 배달의 완료 전까지는 추가적인 배달을 접수 받지 못하도록 자동 관리할 수 있는 블록체인을 이용한 단건 배달 관리 방법 및 시스템에 관한 것이다.The present invention relates to a delivery management method and system implemented based on blockchain. More specifically, when a delivery person receives a single delivery, the present invention relates to a blockchain that can automatically manage to prevent additional deliveries from being received until the delivery is completed. It relates to a single delivery management method and system using .

최근 COVID-19 확산, 1인 가구의 증가 그리고 배달 애플리케이션의 발전 등의 다양한 이유로 소비자들이 식당에 직접 방문하는 것이 아닌 배달 애플리케이션을 이용하여 음식을 주문하는 경우가 증가하였다. 이와 동시에 한 배달 플랫폼에서 시작한 '단건 배달'이 주목을 받게 되었다. 단건 배달이란 여러 가게에서 접수된 주문 건을 동시에 배달하는 기존의 묶음 배달 형식과는 다르게, 한 번에 한 건의 배달만을 수행하는 프리미엄 배달 서비스이다. Recently, for various reasons such as the spread of COVID-19, the increase in single-person households, and the development of delivery applications, the number of consumers ordering food using delivery applications rather than visiting restaurants directly has increased. At the same time, ‘single delivery’, which started on one delivery platform, gained attention. Single delivery is a premium delivery service that performs only one delivery at a time, unlike the existing bundled delivery format that delivers orders received from multiple stores simultaneously.

그러나 단건 배달임에도 불구하고 배달원이 다양한 배달 플랫폼을 통하여 주문을 받게 될 경우 단건 배달로 취급되는 맹점을 이용하여 실질적으로는 묶음 배달을 수행하는 경우가 발생하였다. However, even though it is a single delivery, when the delivery person receives orders through various delivery platforms, there are cases where he takes advantage of the blind spot of being treated as a single delivery and actually performs a bundled delivery.

즉, 원칙적으로 한 번에 한 건만의 배달을 해야 하는 단건 배달임에도 불구하고, 배달원이 배달 경로를 이탈하여 다른 지역을 방문하는 경우가 발생하였다. 이는 배달원이 두 개의 배달 애플리케이션으로부터 각각 주문을 받은 뒤 두 개의 배달을 동시에 하게 될 경우 발생하는 문제로, 실질적으론 묶음 배달이지만 각 플랫폼에서는 단건 배달로 취급이 된다. In other words, although in principle it is a single-item delivery that requires only one delivery at a time, there have been cases where the delivery person deviates from the delivery route and visits another area. This is a problem that occurs when a delivery person receives orders from two delivery applications and then makes two deliveries at the same time. Although it is actually a bundled delivery, each platform treats it as a single delivery.

이로 인해, 추가 요금을 지불하고 사용하는 프리미엄 서비스임에도 불구하고 배달 주문자는 기존과 동일한 서비스를 제공받게 되는 문제가 있었다.Because of this, there was a problem that delivery orderers were provided with the same service as before, even though it was a premium service that required paying an additional fee.

이를 방지하기 위해 배달 플랫폼에서 단건 배달을 묶음 배달하는 배달원과의 계약을 해지하는 등의 제재를 가하고 있다. 하지만 이를 적발하기 위해서는 배달원의 배달경로를 일일이 직접 확인해야하기 때문에 막대한 인력이 필요한 한계가 있었다. 또한, 배달경로를 통해 적발될 경우에도 배달원이 길을 잘못갈 수도 있기 때문에, 이에 대해 제재를 가하는 것에도 한계가 존재한다. To prevent this, delivery platforms are imposing sanctions such as terminating contracts with delivery workers who deliver single deliveries in bundles. However, in order to detect this, there was a limitation that a large amount of manpower was required because each delivery person's delivery route had to be personally checked. Additionally, even if caught along the delivery route, the delivery person may take a wrong turn, so there are limits to imposing sanctions on this.

한국공개특허 제10-2015-0060658호 (2015.06.03.공개)Korean Patent Publication No. 10-2015-0060658 (published on June 3, 2015) 한국등록특허 제10-2315856호 (2021.10.15.등록)Korean Patent No. 10-2315856 (registered on October 15, 2021)

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 배달원이 단건 배달을 접수 받았을 경우, 해당 배달주문을 완료하기 전까지는 추가적인 배달을 접수 받지 못하도록 시스템적으로 자동 관리할 수 있는 블록체인을 이용한 단건 배달 관리 방법 및 시스템을 제공하는 것이다.The present invention is to solve the above problems, and the purpose of the present invention is to provide a block that can automatically and systematically manage the delivery person to prevent additional deliveries from being received until the delivery order is completed when a single delivery is received. It provides a single delivery management method and system using a chain.

상기 목적을 달성하기 위한 본 발명에 따른 블록체인을 이용한 단건 배달 관리 방법은, 복수의 배달 플랫폼으로 이루어진 제1 채널이 블록체인 네트워크 상에서 생성되고, 상기 제1 채널에 제1 체인코드가 설치되는 단계; 및 상기 제1 체인코드의 실행을 통해 배달원 객체 및 배달 객체를 생성 및 업데이트하는 단계를 포함한다.The single delivery management method using blockchain according to the present invention to achieve the above purpose includes the steps of creating a first channel consisting of a plurality of delivery platforms on a blockchain network and installing a first chain code in the first channel. ; and creating and updating a delivery person object and a delivery object through execution of the first chain code.

그리고, 상기 배달원 객체의 클래스(class)는, 배달원들 간의 식별을 위한 고유값을 포함하는 'IMEI' 항목; 및 해당 배달원의 배달 진행 상태를 나타내기 위한 변수값을 포함하는 'inDelivery' 항목을 포함한다.And, the class of the delivery person object includes an 'IMEI' item containing a unique value for identification between delivery people; and an 'inDelivery' item containing a variable value to indicate the delivery progress status of the delivery person.

상기 'inDelivery' 항목은, 해당 배달원이 배달 진행 중일 경우 'true'로 설정되고, 배달 진행 중이지 않을 경우 'false'로 설정되도록 구성된다.The 'inDelivery' item is configured to be set to 'true' when the delivery person is in progress of delivery, and to 'false' when delivery is not in progress.

그리고, 상기 제1 체인코드는, 관리하고자 하는 클라이언트에 해당하는 배달원의 객체를 생성하기 위한 'createDeliveryman' 함수; 제1 배달주문의 발생시, 상기 제1 배달주문에 대한 배달 객체를 생성하고, 상기 제1 배달주문에 대한 배달(이하, '제1 배달'이라 함)이 배정된 배달원(이하, '제1 배달원'이라 함)의 배달 진행 상태를 재설정하기 위한 'pickUp' 함수; 및 상기 제1 배달이 완료되면, 상기 제1 배달원의 배달 진행 상태 및 상기 배달 객체의 완료 여부를 업데이트하는 'dropOff' 함수를 포함한다.And, the first chain code includes a 'createDeliveryman' function for creating a deliveryman object corresponding to the client to be managed; When a first delivery order occurs, a delivery object for the first delivery order is created, and delivery for the first delivery order (hereinafter referred to as 'first delivery') is assigned to a delivery person (hereinafter, 'first delivery person') 'pickUp' function to reset the delivery progress status of '; And when the first delivery is completed, it includes a 'dropOff' function that updates the delivery progress status of the first delivery person and whether the delivery object has been completed.

상기 'pickUp' 함수의 실행시,When executing the ‘pickUp’ function,

상기 'createDeliveryman' 함수에 의해 생성된 다수의 배달원 객체 중 어느 하나의 배달원 객체(이하, '제1 배달원 객체'라 함)를 불러오는 제1 단계; 상기 제1 배달원 객체의 상기 'inDelivery' 함수를 호출하는 제2 단계; 상기 제2 단계의 호출에 대한 리턴이 상기 'false'일 경우, 상기 제1 배달원 객체에 기록된 상기 'IMEI'의 고유값(이하, '제1 고유값'이라 함)을 이용하여, 상기 제1 고유값이 설정된 배달 객체(이하, '제1 배달 객체'라 함)를 생성하는 제3 단계; 및 상기 제1 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'true'로 재설정하는 제4 단계;를 포함한다.A first step of loading one deliveryman object (hereinafter referred to as 'first deliveryman object') among the plurality of deliveryman objects created by the 'createDeliveryman' function; A second step of calling the 'inDelivery' function of the first delivery person object; When the return for the call of the second step is 'false', the unique value of the 'IMEI' recorded in the first delivery person object (hereinafter referred to as 'first unique value') is used to 1 A third step of creating a delivery object with a unique value set (hereinafter referred to as ‘first delivery object’); and a fourth step of resetting the variable value of 'inDelivery' of the first delivery person object to 'true'.

만약, 상기 제2 단계의 호출에 대한 리턴이 상기 'true'일 경우, 상기 제1 배달원 객체와 구분되는 또 다른 배달원 객체(이하, '제2 배달원 객체'라 함)를 불러오는 제1' 단계; 상기 제2 배달원 객체의 상기 'inDelivery' 함수를 호출하는 제2' 단계; 상기 제2' 단계의 호출에 대한 리턴이 상기 'false'일 경우, 상기 제2 배달원 객체에 기록된 상기 'IMEI'의 고유값(이하, '제2 고유값'이라 함)을 이용하여, 상기 제2 고유값이 설정된 배달 객체를 생성하는 제3' 단계; 및 상기 제2 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'true'로 재설정하는 제4' 단계;를 포함할 수 있다.If the return to the call of the second step is 'true', a 'first' step of calling another delivery person object (hereinafter referred to as 'second delivery person object') that is distinct from the first delivery person object; A second' step of calling the 'inDelivery' function of the second delivery person object; If the return for the call in the 'second' step is 'false', the unique value of the 'IMEI' recorded in the second delivery person object (hereinafter referred to as 'second unique value') is used to A third' step of creating a delivery object with a second unique value set; and a fourth' step of resetting the variable value of 'inDelivery' of the second delivery person object to 'true'.

그리고, 상기 제1 배달주문에 대한 배달 완료시, 상기 'dropOff' 함수는 상기 제1 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'false'로 재설정하도록 구성된다.And, when delivery of the first delivery order is completed, the 'dropOff' function is configured to reset the variable value of 'inDelivery' of the first delivery person object to 'false'.

본 발명에 따른 블록체인을 이용한 단건 배달 관리 방법 및 시스템에 의하면, 배달원이 단건 배달을 접수 받았을 경우, 해당 배달원은 해당 배달을 완료하기 전까지는 다수의 배달 애플리케이션의 배달 접수에서 자동 배제되는 바, 배달원이 여러 개의 배달 애플리케이션으로부터 단건 배달을 받아 묶음 배달을 하는 경우를 원천적으로 방지할 수 있게 되었다.According to the single delivery management method and system using blockchain according to the present invention, when a delivery person receives a single delivery, the delivery person is automatically excluded from receiving deliveries of multiple delivery applications until the delivery is completed. It has been possible to fundamentally prevent cases of receiving single deliveries from multiple delivery applications and making bundled deliveries.

이에 따라, 고객은 단건 배달 서비스를 안심하고 이용할 수 있게 되고, 점주와 배달 플랫폼 입장에서도 고객에게 단건 배달 서비스를 확실하게 제공할 수 있게 되었다.Accordingly, customers can use the single-item delivery service with confidence, and store owners and delivery platforms can now reliably provide single-item delivery services to customers.

또한, 종래와 같이 단건 배달을 묶음 배달하는 배달원을 적발하기 위해 배달원의 배달경로를 일일히 확인해야하는 작업도 불필요하게 되었다.In addition, it is no longer necessary to manually check the delivery route of a delivery person to detect a delivery person who bundles a single delivery as in the past.

도 1은 본 발명에 따른 블록체인을 이용한 단건 배달 관리 방법의 순서도.
도 2는 본 발명에 따른 블록 체인을 이용한 단건 배달 관리 시스템의 네트워크 구조를 나타낸 블록도.
도 3은 본 발명에 따른 체인코드에 사용되는 배달원 클래스(DeliveryMan class)를 나타낸 도면.
도 4는 본 발명에 따른 체인코드에 사용되는 배달 클래스(Delivery class)를 나타낸 도면.
도 5은 본 발명에 따른 체인코드의 'createDeliveryman' 함수의 의사코드 (pseudo-code)를 나타낸 도면.
도 6은 본 발명에 따른 체인코드의 'createDeliveryman' 함수를 실행하여 생성되는 배달원 객체의 결과를 나타낸 도면.
도 7은 본 발명에 따른 체인코드의 'pickUp' 함수의 의사코드(pseudo-code)를 나타낸 도면.
도 8은 본 발명에 따른 체인코드의 'pickUp' 함수를 실행하여 생성되는 배달 객체의 결과를 나타낸 도면.
도 9는 본 발명에 따른 체인코드의 'pickUp' 함수를 실행하여 변경된 배달원 객체의 결과를 나타낸 도면.
도 10은 본 발명에 따른 체인코드의 'dropOff' 함수의 의사코드(pseudo- code)를 나타낸 도면.
도 11은 본 발명에 따른 체인코드의 'dropOff' 함수를 실행하야 변경된 배달원 객체의 결과를 나타낸 도면.
도 12는 본 발명에 따른 체인코드의 'dropOff' 함수를 실행하여 변경된 배달 객체의 결과를 나타낸 도면.
1 is a flowchart of a single-item delivery management method using blockchain according to the present invention.
Figure 2 is a block diagram showing the network structure of a single-item delivery management system using blockchain according to the present invention.
Figure 3 is a diagram showing the DeliveryMan class used in the chaincode according to the present invention.
Figure 4 is a diagram showing the delivery class used in the chaincode according to the present invention.
Figure 5 is a diagram showing pseudo-code of the 'createDeliveryman' function of the chaincode according to the present invention.
Figure 6 is a diagram showing the result of a delivery man object created by executing the 'createDeliveryman' function of the chaincode according to the present invention.
Figure 7 is a diagram showing pseudo-code of the 'pickUp' function of the chaincode according to the present invention.
Figure 8 is a diagram showing the result of a delivery object created by executing the 'pickUp' function of the chaincode according to the present invention.
Figure 9 is a diagram showing the results of a delivery person object changed by executing the 'pickUp' function of the chain code according to the present invention.
Figure 10 is a diagram showing pseudo-code of the 'dropOff' function of the chaincode according to the present invention.
Figure 11 is a diagram showing the results of a delivery person object changed by executing the 'dropOff' function of the chain code according to the present invention.
Figure 12 is a diagram showing the result of a delivery object changed by executing the 'dropOff' function of the chaincode according to the present invention.

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

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in this specification, when a component is referred to as "connected" or "connected" to another component, the component may be directly connected or directly connected to the other component, but specifically Unless there is a contrary description, it should be understood that it may be connected or connected through another component in the middle.

또한, 본 명세서에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Additionally, in this specification, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

이하에서는, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예, 장점 및 특징에 대하여 상세히 설명하도록 한다.Hereinafter, preferred embodiments, advantages and features of the present invention will be described in detail with reference to the attached drawings.

도 1은 본 발명에 따른 블록체인을 이용한 단건 배달 관리 방법의 순서도이고, 도 2는 본 발명에 따른 블록 체인을 이용한 단건 배달 관리 시스템의 네트워크 구조를 나타낸 블록도이다.Figure 1 is a flowchart of a single-item delivery management method using a blockchain according to the present invention, and Figure 2 is a block diagram showing the network structure of a single-item delivery management system using a blockchain according to the present invention.

도 1 및 도 2를 참조하면, 본 발명에 따른 블록체인을 이용한 단건 배달 관리 방법은 제1 채널 생성단계(S10), 배달원 객체 생성 단계(S20), 배달 객체 생성 단계(S30), 배달원 객체 재설정 단계(S40), 배달원 객체 및 배달 객체 재설정 단계(S50), 신규 블록 생성 단계(S60), 및 배달 정보 제공 단계(S70)를 포함한다.Referring to Figures 1 and 2, the single delivery management method using blockchain according to the present invention includes a first channel creation step (S10), a delivery person object creation step (S20), a delivery object creation step (S30), and a delivery person object resetting step. It includes a step (S40), a step of resetting the delivery person object and a delivery object (S50), a step of creating a new block (S60), and a step of providing delivery information (S70).

제1 채널 생성단계(S10)는 배달업무를 수행하는 다수의 회사 즉, 다수의 배달 플랫폼으로 이루어진 제1 채널을 블록체인 네트워크 상에서 생성하는 단계이다. 이때, 제1 채널에는 체인코드(이하, '제1 체인코드'라 칭함)가 설치된다.The first channel creation step (S10) is a step of creating a first channel on the blockchain network consisting of multiple companies performing delivery work, that is, multiple delivery platforms. At this time, a chain code (hereinafter referred to as ‘first chain code’) is installed in the first channel.

따라서, 제1 채널을 구성하는 배달 플랫폼들과 구분되는 또 다른 다수의 배달 플랫폼으로 이루어진 채널 즉, 제2 채널, 제3 채널, 제N 채널 역시 같은 방식으로 생성될 수 있으며, 이들 채널에는 각각 체인코드가 설치될 수 있다.Accordingly, channels consisting of a plurality of delivery platforms that are distinct from the delivery platforms constituting the first channel, that is, the second channel, third channel, and N channel, can also be created in the same way, and each of these channels has a chain. Code can be installed.

일 실시예에 따르면, 본 발명의 체인코드는 타입스크립트(TypeScript)를 사용하여 프로그래밍될 수 있고, 데이터베이스는 CouchDB로 이루어질 수 있으며, 시스템은 HnNetwork라는 네트워크 위에서 동작될 수 있다.According to one embodiment, the chaincode of the present invention can be programmed using TypeScript, the database can be CouchDB, and the system can be operated on a network called HnNetwork.

일 실시예에 따르면, 본 발명의 블록체인을 이용한 단건 배달 관리 방법 및 시스템은 프라이빗 블록체인 플랫폼의 일종인 하이퍼레저 패브릭(Hyperledger Fabric)을 이용하여 구현될 수 있다.According to one embodiment, the single-item delivery management method and system using blockchain of the present invention can be implemented using Hyperledger Fabric, a type of private blockchain platform.

하이퍼레저 패브릭(Hyperledger Fabric)은 리눅스 재단에서 진행 중인 하이퍼레저 프로젝트로부터 나온 프레임워크로, IBM에서 개발을 담당하고 있다. CA(Certificate Authority)를 이용하여 네트워크 참여자에 대한 인증을 거칠 수 있으며, '체인코드'라는 스마트 계약을 Go, node.js, Java와 같은 일반 프로그래밍 언어를 통해 호스팅하여 비즈니스 구현에 적합하다.Hyperledger Fabric is a framework derived from the Hyperledger project underway at the Linux Foundation, and is being developed by IBM. Network participants can be authenticated using CA (Certificate Authority), and a smart contract called 'chaincode' is hosted through general programming languages such as Go, node.js, and Java, making it suitable for business implementation.

즉, 하이퍼레저 패브릭은 네트워크에 누구나 참여할 수 있는 퍼블릭 블록체인이 아닌, 인가된 사용자만이 네트워크에 참여할 수 있는 프라이빗 블록체인이다. In other words, Hyperledger Fabric is not a public blockchain in which anyone can participate in the network, but a private blockchain in which only authorized users can participate in the network.

하이퍼레저 패브릭은 기업 비즈니스를 위한 서비스이며, CA(Certificate Authority)를 통해 인가된 사용자만이 네트워크에 참여할 수 있다. 이러한 특성을 통해 네트워크 사용자들의 신뢰성을 보장한다. Hyperledger Fabric is a service for corporate business, and only users authorized through a CA (Certificate Authority) can participate in the network. These characteristics ensure the reliability of network users.

체인코드는 제3 자 없이 복수의 사용자가 특정 조건을 만족할 경우, 거래를 가능하게 하는 시스템이다. 이를 통해 하이퍼레저 패브릭은 탈중앙화가 가능하게 된다. 하이퍼레저 패브릭은 하나의 네트워크를 다양한 요소들이 구성하고 있다.Chaincode is a system that enables transactions when multiple users meet certain conditions without a third party. Through this, Hyperledger Fabric becomes decentralized. Hyperledger Fabric is a network comprised of various elements.

이러한 요소들에는 대표적으로 채널, 조직, 피어 그리고 원장이 있다. 패브릭 네트워크에서는 각 원장이 채널별로 나누어져 있으며, 각 채널의 사용자들만이 해당 채널의 원장에 접근할 수 있다. 따라서 채널은 데이터의 기밀성을 제공한다. Representative examples of these elements include channels, organizations, peers, and ledgers. In a fabric network, each ledger is divided by channel, and only users of each channel can access the ledger of that channel. Therefore, the channel provides confidentiality of data.

조직은 MSP(Membership Service Provider)를 통해 인증서를 사용하여 네트워크에 등록된다. 피어(Peer)는 원장에 접근하고 스마트 계약을 실행시키는 노드이다. 원장은 공유하고자 하는 데이터의 변화를 모두 기록해둔 것을 의미한다. 원장은 World State와 블록체인으로 구성된다. World State는 현재의 상태를 기록해둔 데이터 베이스를 말하고, 블록체인은 상태 변화에 대한 모든 로그 기록을 저장해주는 곳이다.Organizations are registered on the network using certificates through a Membership Service Provider (MSP). Peers are nodes that access the ledger and execute smart contracts. The ledger records all changes in data to be shared. The ledger consists of the World State and blockchain. World State refers to a database that records the current state, and blockchain is a place that stores all log records of state changes.

또한, 하이퍼레저 패브릭은 도커(Docker)라고 하는 컨테이너 시스템을 이용하여 실행된다. 도커는 실행 환경 추상화 시스템으로서, 실행 환경이나 프로그램을 이미지로 만든 뒤, 이를 추상화 단위인 컨테이너로 생성 및 실행하여 관리한다. 즉, 하이퍼레저 패브릭에서는 피어, 데이터베이스, CA 조직 등이 하나의 서비스로서 도커를 통해 구동되게 된다.Additionally, Hyperledger Fabric runs using a container system called Docker. Docker is an execution environment abstraction system that creates an execution environment or program into an image and then manages it by creating and executing it as a container, which is an abstraction unit. In other words, in Hyperledger Fabric, peers, databases, CA organizations, etc. are run as one service through Docker.

하이퍼레저 패브릭에서 사용하는 합의 알고리즘으로는 대표적으로 Kafka와 RAFT가 있다. 1.x 버전의 하이퍼레저 패브릭에서는 Kafka를 사용하였으며 2.x 버전부터는 RAFT를 사용하였다.Representative consensus algorithms used in Hyperledger Fabric include Kafka and RAFT. Kafka was used in the 1.x version of Hyperledger Fabric, and RAFT was used starting from the 2.x version.

kafka는 분산환경에 특화되어 있으며, Producer와 Consumer가 Event 또는 Message를 주고받는 형태로 동작하며, 대용량 로그를 실시간으로 처리하기 유용하다. RAFT 합의 알고리즘은 대표자가 참여자들의 동의를 얻어 확인이 끝나면 새로운 블록이 생성되는 방식을 취하고 있으며, 일부 서버에 장애가 발생하여도 합의를 성공적으로 수행한다는 장점이 있다.Kafka is specialized for distributed environments and operates by exchanging events or messages between producers and consumers, and is useful for processing large amounts of logs in real time. The RAFT consensus algorithm uses a method in which a new block is created once the representative obtains the consent of the participants and confirms it, and has the advantage of successfully carrying out the agreement even if some servers fail.

하이퍼레저 패브릭의 구조는 크게 하나의 네트워크 내에 여러 채널이 있고, 각 채널을 조직들이 이루는 형태로 되어 있다. 각 조직은 피어(Peer)를 가지고 있으며 체인코드는 피어에 설치되어 실행된다.The structure of Hyperledger Fabric is largely composed of multiple channels within one network, and each channel is formed by organizations. Each organization has a peer, and chaincode is installed and executed on the peer.

본 발명의 블록체인을 이용한 단건 배달 관리 시스템은, 복수의 배달 플랫폼을 전술한 하이퍼레저 패브릭의 CA 조직으로 구성하였고, 배달원을 관리 대상인 클라이언트로 설정하였다.The single delivery management system using the blockchain of the present invention consists of multiple delivery platforms as the CA organization of the Hyperledger Fabric described above, and sets delivery workers as clients subject to management.

도 2의 일 실시예에 따른 단건 배달 관리 시스템은, 컨소시엄 내에 총 2개의 조직 즉, 제1 배달 플랫폼 (Platform 1) 및 제2 배달 플랫폼(Platform 2)이 존재하고, 이들 조직이 서로 데이터를 공유하는 한 개의 채널(즉, 제1 채널)로 구성되고, 각각의 조직에는 한 개의 피어(Peer)를 두었으며, 오더러(Orderer)를 통해 네트워크 내의 트랜잭션을 검증하고 관리하도록 구성된다.In the single delivery management system according to the embodiment of Figure 2, there are a total of two organizations in the consortium, that is, a first delivery platform (Platform 1) and a second delivery platform (Platform 2), and these organizations share data with each other. It consists of one channel (i.e., the first channel), each organization has one peer, and is configured to verify and manage transactions within the network through an orderer.

본 발명의 제1 체인코드를 포함한 체인코드는 'createDeliveryman' 함수, 'pickUp' 함수, 및 'dropOff' 함수를 포함한다.The chaincode including the first chaincode of the present invention includes the 'createDeliveryman' function, the 'pickUp' function, and the 'dropOff' function.

'createDeliveryman' 함수는 관리하고자 하는 클라이언트에 해당하는 배달원의 객체(즉, 배달원 객체)를 생성하기 위한 함수이다.The 'createDeliveryman' function is a function to create a deliveryman object (i.e. deliveryman object) corresponding to the client you want to manage.

'pickUp' 함수는 배달주문의 발생시, 해당 배달주문에 대한 배달 객체를 생성하고, 해당 배달이 배정된 배달원의 배달 진행 상태를 업데이트하기 위한 함수이다.The 'pickUp' function is a function for creating a delivery object for the delivery order when a delivery order is generated and updating the delivery progress status of the delivery person assigned to the delivery.

예컨대, 제1 배달주문이 발생되어 이를 위한 배달(이하, '제1 배달'이라 칭함)이 준비 또는 시작되면, 'pickUp' 함수를 호출하여 상기 제1 배달주문에 대한 배달 객체를 생성하고, 상기 제1 배달이 지정된 배달원의 배달 진행 상태를 변경하도록 구성될 수 있다.For example, when a first delivery order is generated and delivery for it (hereinafter referred to as 'first delivery') is prepared or started, the 'pickUp' function is called to create a delivery object for the first delivery order, and the The first delivery may be configured to change the delivery progress status of the designated delivery person.

'dropOff' 함수는 배달이 완료되면 해당 배달원의 배달 진행 상태 및 배달 객체의 완료 여부를 업데이트하기 위한 함수이다.The 'dropOff' function is a function to update the delivery progress status of the delivery person and completion of the delivery object when delivery is completed.

예컨대, 제1 배달주문에 대한 배달이 완료되면, 상기 제1 배달을 수행한 배달원의 배달 진행 상태를 변경하고, 상기 제1 배달주문에 대해 생성된 배달 객체의 배달 완료 상태를 재설정하도록 구성될 수 있다. For example, when delivery for the first delivery order is completed, it may be configured to change the delivery progress status of the delivery person who performed the first delivery and reset the delivery completion status of the delivery object created for the first delivery order. there is.

본 발명의 제1 체인코드를 포함한 체인코드에 사용되는 클래스는 두 종류의 클래스를 포함한다. 구체적으로, 제1 클래스는 배달원을 관리하기 위한 배달원 클래스(DeliveryMan class)이고, 제2 클래스는 주문받은 배달건을 관리하기 위한 배달 클래스(Delivery class)이다.The classes used in chaincodes, including the first chaincode of the present invention, include two types of classes. Specifically, the first class is a DeliveryMan class for managing deliverymen, and the second class is a Delivery class for managing ordered deliveries.

도 3은 본 발명에 따른 체인코드에 사용되는 배달원 클래스(DeliveryMan class)를 나타낸 것이다.Figure 3 shows the DeliveryMan class used in the chaincode according to the present invention.

도 3을 참조하면, 본 발명의 배달원 클래스(DeliveryMan class)는 'IMEI', 'phone' 및 'inDelivery' 항목을 포함한다.Referring to Figure 3, the DeliveryMan class of the present invention includes 'IMEI', 'phone', and 'inDelivery' items.

'IMEI'(International Mobile Equipment Identity)는 관리하고자 하는 클라이언트인 다수의 배달원들을 식별하기 위한 고유값을 포함하는 항목이다. 일 실시예에 따르면, 'IMEI'는 배달원의 핸드폰 번호를 포함하는 키값으로 구성될 수 있으며, 예컨대 핸드폰 번호를 포함하여 총 15자리의 숫자로 구성될 수 있다.'IMEI' (International Mobile Equipment Identity) is an item containing a unique value to identify multiple delivery workers who are clients to be managed. According to one embodiment, 'IMEI' may be composed of a key value including the delivery person's cell phone number, for example, may be composed of a total of 15 digits including the cell phone number.

'phone' 항목에는 배달원의 핸드폰 번호가 저장된다. 'inDelivery'는 해당 배달원이 단건 배달을 진행하는 중인지에 대한 상태를 나타내기 위한 변수로 사용되는 항목이다. 따라서, 'inDelivery'에는 해당 배달원의 배달 진행 상태를 나타내는 변수값을 포함하는 내용이 기록된다.The delivery person's mobile phone number is stored in the 'phone' item. 'inDelivery' is an item used as a variable to indicate the status of whether the delivery person is delivering a single item. Accordingly, 'inDelivery' records content including variable values indicating the delivery progress status of the delivery person.

일 실시예에 따르면, 배달원 객체 클래스의 'inDelivery' 항목은, 해당 배달원이 현재 배달을 진행 중일 경우 'true'로 설정되고, 배달을 진행 중이지 않을 경우 'false'로 설정되도록 구성될 수 있다.According to one embodiment, the 'inDelivery' item of the delivery person object class may be configured to be set to 'true' if the delivery person is currently making a delivery, and set to 'false' if the delivery person is not currently making a delivery.

도 4는 본 발명에 따른 체인코드에 사용되는 배달 클래스(Delivery class)를 나타낸 것이다.Figure 4 shows the delivery class used in the chaincode according to the present invention.

도 4를 참조하면, 본 발명의 배달 클래스(Delivery class)는 'key', 'IMEI', 'target_place', 'in_time', 'out_time' 및 'inDone' 항목을 포함한다.Referring to Figure 4, the delivery class of the present invention includes 'key', 'IMEI', 'target_place', 'in_time', 'out_time', and 'inDone' items.

일 실시예에 따르면, 본 발명에 따른 배달 객체의 클래스는 배달원에 의하여 배달물건(예컨대, 음식)이 픽업되었을 경우 즉, 해당 배달주문에 대한 배달이 시작될 때 생성될 수 있다.According to one embodiment, the class of the delivery object according to the present invention may be created when a delivery item (eg, food) is picked up by a delivery person, that is, when delivery for the corresponding delivery order begins.

'key'는 해당 배달 주문을 식별하기 위한 고유 번호이며, "D-{IMEI}" 의 형태로 작성될 수 있다. 이 때 'IMEI'는 해당 배달을 픽업하게 된 배달원의 'IMEI'를 사용하도록 구성된다.'key' is a unique number to identify the delivery order, and can be written in the form "D-{IMEI}". At this time, 'IMEI' is configured to use the 'IMEI' of the delivery person who picked up the delivery.

즉, 배달 객체 클래스의 'IMEI'의 고유값은, 해당 배달주문을 배정받은 배달원에 대해 생성된 배달원 객체의 'IMEI'의 고유값을 사용하여 생성되는 것일 수 있다.In other words, the unique value of 'IMEI' of the delivery object class may be generated using the unique value of 'IMEI' of the delivery person object created for the delivery person assigned to the delivery order.

'target_place'는 해당 배달주문의 목적지(즉, 배달장소)를 나타낸다.'target_place' indicates the destination (i.e. delivery location) of the delivery order.

'in_time'은 해당 배달주문의 배달물건을 픽업한 시간을 나타낸다.'in_time' indicates the time when the delivery item for the corresponding delivery order was picked up.

'out_time'은 해당 배달주문의 배달을 완료한 시간을 나타낸다. 이 때, 'out_time'은 해당 배달주문의 배달을 픽업한 시점에 '-1'로 설정되고, 배달을 완료할 경우 특정값(즉, 배달 완료 시간)이 설정된다.'out_time' indicates the time when delivery of the corresponding delivery order was completed. At this time, 'out_time' is set to '-1' at the time the delivery of the delivery order is picked up, and a specific value (i.e. delivery completion time) is set when delivery is completed.

'in_time'과 'out_time' 변수를 통하여 배달에 걸린 시간을 계산하여, 추후에 배달원이 단건 배달을 함에도 다른 장소를 방문하였는지에 대한 판별의 근거로 사용할 수 있다.By calculating the time taken for delivery through the 'in_time' and 'out_time' variables, it can later be used as a basis for determining whether the delivery person visited another location despite making a single delivery.

'isDone'은 해당 배달이 완료되었는지에 대해 나타내기 위한 변수로 사용된다. 즉, 해당 배달주문에 대한 배달이 아직 완료되지 않은 상태인 경우 즉, 해당 배달주문에 대한 배달물건이 픽업되었을 때 해당 변수는 'false'로 설정되고, 배달이 완료된 경우 해당 변수는 'true'로 설정된다.'isDone' is used as a variable to indicate whether the delivery has been completed. In other words, if delivery for the delivery order has not yet been completed, that is, when the delivery item for the delivery order has been picked up, the variable is set to 'false', and if delivery is completed, the variable is set to 'true'. It is set.

본 발명의 배달원 객체 생성 단계(S20)는 체인코드의 전술한 'create Deliveryman' 함수의 실행을 통해, 관리하고자 하는 클라이언트에 해당하는 배달원의 객체를 생성하는 단계이다.The deliveryman object creation step (S20) of the present invention is a step of creating a deliveryman object corresponding to the client to be managed through execution of the above-described 'create Deliveryman' function of the chaincode.

도 5는 본 발명에 따른 체인코드의 'createDeliveryman' 함수의 의사코드 (pseudo-code)를 나타낸 것이다.Figure 5 shows the pseudo-code of the 'createDeliveryman' function of the chaincode according to the present invention.

도 5를 참조하면, 본 발명에 따른 체인코드의 'createDeliveryMan' 함수는 우선 객체를 생성하고자하는 배달원의 고유 식별값 즉, 배달원(DeliveryMan) 클래스의 'IMEI' 항목에 등록할 'IMEI' 고유값을 입력받는다. Referring to Figure 5, the 'createDeliveryMan' function of the chaincode according to the present invention first creates a unique identification value of the delivery man for whom an object is to be created, that is, an 'IMEI' unique value to be registered in the 'IMEI' item of the DeliveryMan class. Receive input.

이때, 해당 'IMEI' 고유값이 기록된 배달원 객체가 이미 존재하고 있다면, "deliveryMan already exist" 라는 메시지와 함께 함수를 종료한다.At this time, if the delivery man object with the corresponding 'IMEI' unique value already exists, the function ends with the message "deliveryMan already exists."

만약, 기존에 해당 'IMEI' 고유값을 갖는 배달원 객체가 존재하지 않는다면, 새로운 배달원 객체를 생성한 후 world state를 갱신하며 함수를 종료한다.If there is no existing delivery person object with the corresponding 'IMEI' unique value, a new delivery person object is created, the world state is updated, and the function ends.

도 6은 본 발명에 따른 체인코드의 'createDeliveryman' 함수를 실행하여 생성되는 배달원 객체의 결과를 나타낸 것이다.Figure 6 shows the result of a delivery man object created by executing the 'createDeliveryman' function of the chaincode according to the present invention.

도 6을 참조하면, 도 3의 배달원 클래스(DeliveryMan class)에서 설명한 바와 같이, 'IMEI' 항목은 해당 배달원에 고유한 키값이 설정되어 있고, 'phone' 항목은 해당 배달원의 핸드폰 번호가 설정되어 있음을 확인할 수 있다.Referring to Figure 6, as explained in the DeliveryMan class in Figure 3, the 'IMEI' item is set with a key value unique to the delivery man, and the 'phone' item is set with the mobile phone number of the delivery man. can confirm.

한편, 해당 배달원 객체가 생성된 시점에는 배달을 수행 중이지 않기 때문에 'inDelivery' 항목이 기본적으로 'false'로 설정되어 있는 것을 확인할 수 있다.Meanwhile, since delivery is not being performed at the time the delivery person object is created, you can see that the 'inDelivery' item is set to 'false' by default.

본 발명의 배달 객체 생성 단계(S30)는 배달주문의 발생시, 전술한 'pickUp' 함수를 호출하여 해당 배달주문에 대한 배달 객체를 생성하고, 해당 배달이 배정된 배달원의 배달 진행 상태를 업데이트 내지 변경하는 단계이다.In the delivery object creation step (S30) of the present invention, when a delivery order is generated, the above-described 'pickUp' function is called to create a delivery object for the delivery order, and the delivery progress status of the delivery person assigned to the delivery is updated or changed. This is the step.

도 7은 본 발명에 따른 체인코드의 'pickUp' 함수의 의사코드(pseudo-code)를 나타낸 것이다.Figure 7 shows pseudo-code of the 'pickUp' function of the chaincode according to the present invention.

도 7을 참조하면, 배달 객체 생성 단계(S30) 및 및 배달원 객체 재설정 단계 (S40)는 배달주문의 발생시 도 7과 같은 'pickUp' 함수를 실행함으로써 수행될 수 있고, 구체적으로 다음의 단계 'S30'은 제1 단계 내지 제3 단계를 포함하고, 단계 'S40'은 다음의 제4 단계를 포함한다.Referring to FIG. 7, the delivery object creation step (S30) and the delivery person object resetting step (S40) can be performed by executing the 'pickUp' function as shown in FIG. 7 when a delivery order is generated, and specifically, the following step 'S30 ' includes the first to third steps, and step 'S40' includes the following fourth step.

배달 객체 생성 단계(S30)의 제1 단계는, 전술한 'createDeliveryman' 함수에 의해 생성된 다수의 배달원 객체 중 어느 하나의 배달원 객체(이하, '제1 배달원 객체'라 함)를 불러오는 단계이다.The first step of the delivery object creation step (S30) is a step of loading one delivery man object (hereinafter referred to as the 'first delivery man object') among the plurality of delivery man objects created by the 'createDeliveryman' function described above.

여기서, 'createDeliveryman' 함수의 실행시 호출되는 상기 제1 배달원 객체는 해당 배달주문에 대한 배달원 콜(call)시 가장 먼저 해당 콜(call)을 받은 배달원에 대해 생성된 배달원 객체일 수 있다.Here, the first delivery man object called when executing the 'createDeliveryman' function may be a delivery man object created for the delivery man who first receives the call when the delivery man calls for the delivery order.

또 다른 실시예에 따르면, 'createDeliveryman' 함수의 실행시 호출되는 상기 제1 배달원 객체는 다수의 배달원 객체 중 순차적 또는 무작위 방식으로 불러오거나, 또는 사용자의 설정 기준에 따라 불러오도록 구성될 수도 있다.According to another embodiment, the first deliveryman object called when executing the 'createDeliveryman' function may be configured to be loaded sequentially or randomly from among multiple deliveryman objects, or according to criteria set by the user.

배달 객체 생성 단계(S30)의 제2 단계는, 상기 제1 단계에서 불러온 상기 제1 배달원 객체의 'inDelivery' 함수를 호출하는 단계이다.The second step of the delivery object creation step (S30) is a step of calling the 'inDelivery' function of the first delivery person object called in the first step.

배달 객체 생성 단계(S30)의 제3 단계는, 상기 제2 단계의 호출에 대한 리턴이 'false'일 경우, 상기 제1 배달원 객체에 기록된 'IMEI'의 고유값(이하, '제1 고유값'이라 함)을 이용하여, 상기 제1 고유값이 설정된 배달 객체(이하, '제1 배달 객체'라 칭함)를 생성하는 단계이다. 이를 통해 해당 배달주문에 대한 배달을 어떤 배달원이 수행하고 있는지 나타낼 수 있다The third step of the delivery object creation step (S30) is, when the return to the call of the second step is 'false', the unique value of 'IMEI' recorded in the first delivery object (hereinafter referred to as 'first unique This is a step of creating a delivery object (hereinafter referred to as 'first delivery object') with the first unique value set using the 'value'. Through this, you can indicate which delivery person is performing delivery for the delivery order.

제4 단계 즉, 배달원 객체 재설정 단계(S40)는, 단계 'S30'의 제1 배달원 객체의 'inDelivery'의 변수값을 'true'로 재설정하는 단계이다. 제4 단계가 완료되면 'pickUp' 함수를 종료한다.The fourth step, that is, the delivery person object resetting step (S40), is a step of resetting the variable value of 'inDelivery' of the first delivery person object in step 'S30' to 'true'. When the fourth step is completed, the 'pickUp' function ends.

한편, 배달 객체 생성 단계(S30)의 제3 단계에 있어서, 상기 제2 단계의 호출에 대한 리턴이 'true'일 경우, 즉 해당 배달원이 현재 배달을 수행 중인 상태인 경우 'bundle delivery is unavailable'이라는 메시지를 표시하고, 상기 제1 배달원 객체와 구분되는 또 다른 배달원 객체(이하, '제2 배달원 객체'라 함)를 불러오도록 구성된다.Meanwhile, in the third step of the delivery object creation step (S30), if the return for the call in the second step is 'true', that is, if the delivery person is currently performing delivery, 'bundle delivery is unavailable' It is configured to display a message and load another delivery person object (hereinafter referred to as 'second delivery person object') that is distinct from the first delivery person object.

이어서, 상기 제2 배달원 객체의 'inDelivery' 함수를 호출하고, 상기 호출에 대한 리턴이 'false'일 경우, 상기 제2 배달원 객체에 등록된 'IMEI'의 고유값(이하, '제2 고유값'이라 함)을 이용하여, 상기 제2 고유값이 설정된 배달 객체를 생성하도록 구성된다.Subsequently, the 'inDelivery' function of the second delivery person object is called, and if the return to the call is 'false', the unique value of 'IMEI' registered in the second delivery person object (hereinafter referred to as 'second unique value') ') is configured to create a delivery object in which the second unique value is set.

그리고, 상기 제2 배달원 객체의 'inDelivery'의 변수값을 'true'로 재설정한 후 'pickUp' 함수를 종료하도록 구성된다.In addition, the 'pickUp' function is terminated after resetting the variable value of 'inDelivery' of the second delivery person object to 'true'.

도 8은 본 발명에 따른 체인코드의 'pickUp' 함수를 실행하여 생성되는 배달 객체의 결과를 나타낸 것이다.Figure 8 shows the result of a delivery object created by executing the 'pickUp' function of the chaincode according to the present invention.

도 8을 참조하면, 도 4의 배달 클래스(Delivery class)에서 설명한 바와 같이, 배달 목적지인 'target_place'와 해당 배달주문에 대한 배달을 수행하는 배달원의 'IMEI'가 설정되고, 해당 'IMEI'를 통해 'key'가 생성된 것을 확인할 수 있다.Referring to Figure 8, as described in the delivery class of Figure 4, the delivery destination 'target_place' and the 'IMEI' of the delivery person performing delivery for the delivery order are set, and the 'IMEI' is set. You can confirm that the 'key' has been created.

또한, 'in_time'은 해당 배달주문에 대한 배달이 수행되기 시작한 시점의 밀리세컨드 값이 설정되며, 'out_time'은 아직 배달이 완료되지 않은 상태이므로 '-1'로 설정된다.Additionally, 'in_time' is set to the millisecond value when delivery for the corresponding delivery order began, and 'out_time' is set to '-1' because delivery has not yet been completed.

한편, 배달이 시작된 시점에는 배달이 완료될 수 없으므로, 'isDone'은 기본적으로 'false'로 설정되는 것을 확인할 수 있다.Meanwhile, since delivery cannot be completed when delivery has started, you can see that 'isDone' is set to 'false' by default.

도 9는 본 발명에 따른 체인코드의 'pickUp' 함수를 실행하여 변경된 배달원 객체의 결과를 나타낸 것이다.Figure 9 shows the result of a delivery person object changed by executing the 'pickUp' function of the chaincode according to the present invention.

도 9를 참조하면, 'pickUp' 함수의 실행을 통해 배달 객체가 생성되면, 해당 배달 객체에 대응하는 배달원 객체의 'inDelivery'의 변수값이 'false'에서 'true'로 변경된 것을 확인할 수 있다.Referring to Figure 9, when a delivery object is created through execution of the 'pickUp' function, it can be seen that the variable value of 'inDelivery' of the delivery person object corresponding to the delivery object is changed from 'false' to 'true'.

즉, 'pickUp' 함수에 의해 해당 배달주문에 대한 배달원이 배정되고, 해당 배달이 시작되었으므로 'inDelivery'가 'true'로 재설정된다.In other words, a delivery person for the delivery order is assigned by the 'pickUp' function, and since the delivery has started, 'inDelivery' is reset to 'true'.

본 발명의 배달원 객체 및 배달 객체 재설정 단계(S50)는 해당 배달주문에 대한 배달의 완료시, 전술한 'dropOff' 함수의 실행을 통해 해당 배달을 수행한 배달원의 배달 진행 상태 및 해당 배달 객체의 내용을 업데이트 내지 변경하는 단계이다.The delivery person object and delivery object resetting step (S50) of the present invention is the delivery progress status of the delivery person who performed the delivery and the contents of the corresponding delivery object through execution of the above-described 'dropOff' function upon completion of delivery for the delivery order. This is the step of updating or changing.

도 10은 본 발명에 따른 체인코드의 'dropOff' 함수의 의사코드(pseudo- code)를 나타낸 것이다.Figure 10 shows pseudo-code of the 'dropOff' function of the chaincode according to the present invention.

도 10을 참조하면, 배달원 객체 및 배달 객체 재설정 단계(S50)는 해당 배달주문에 대한 배달 완료시 도 10과 같은 'dropOff' 함수를 실행함으로써 수행될 수 있다.Referring to FIG. 10, the delivery person object and delivery object resetting step (S50) can be performed by executing the 'dropOff' function as shown in FIG. 10 when delivery for the corresponding delivery order is completed.

'dropOff' 함수는 배달이 완료된 해당 배달주문에 대한 배달 객체를 불러오기 위한 키값을 생성하기 위하여 'keyGen' 함수를 호출한다. 키값은 "D-{IMEI}" 의 형태로 되어있으므로 'IMEI'를 입력값으로 사용한다. The 'dropOff' function calls the 'keyGen' function to create a key value to retrieve the delivery object for the delivery order for which delivery has been completed. The key value is in the form of "D-{IMEI}", so 'IMEI' is used as the input value.

그 후 키값과 'IMEI'를 이용하여 배달이 완료된 해당 배달주문에 대한 배달 객체와 배달원 객체를 각각 불러온다. 'dropOff' 함수는 배달을 마쳤을 경우 호출되므로 배달이 종료되었는지에 대해 나타내는 배달 객체의 'isDone' 변수는 'true'로 재설정하고, 배달원이 배달을 진행 중인지에 대해 나타내는 배달원 객체의 'inDelivery' 변수는 'false'로 재설정한 후 World State를 업데이트하고 함수를 종료한다.Afterwards, the key value and 'IMEI' are used to retrieve the delivery object and delivery person object for the delivery order that has been completed, respectively. The 'dropOff' function is called when delivery is completed, so the 'isDone' variable of the delivery object, which indicates whether delivery has ended, is reset to 'true', and the 'inDelivery' variable of the delivery object, which indicates whether the delivery person is in progress, is reset to 'true'. After resetting to 'false', update the World State and exit the function.

예컨대, 제1 배달주문이 발생하였고, 이에 상응하여 제1 배달 객체가 생성되었으며, 상기 제1 배달주문에 대한 배달을 제1 배달원이 수행한 경우를 가정한다.For example, assume that a first delivery order is generated, a first delivery object is created correspondingly, and a first delivery person performs delivery for the first delivery order.

상기 경우, 제1 배달주문에 대한 배달이 완료되어 'dropOff' 함수를 실행하면, 'dropOff' 함수는 제1 배달원의 배달원 객체에 기록되어 있는 'IMEI'와 상기 제1 배달 객체에 기록되어 있는 'IMEI'를 이용하여, 상기 제1 배달주문에 대응되는 배달원 객체와 배달 객체(즉, 상기 제1 배달원 객체 및 상기 제1 배달 객체)를 불러온다.In the above case, when delivery of the first delivery order is completed and the 'dropOff' function is executed, the 'dropOff' function is executed using the 'IMEI' recorded in the delivery object of the first delivery person and the 'dropOff' function recorded in the first delivery object. Using 'IMEI', the delivery person object and delivery object (i.e., the first delivery person object and the first delivery object) corresponding to the first delivery order are retrieved.

이어서, 'dropOff' 함수는 상기 제1 배달원 객체의 상기 'inDelivery'의 변수값을 'false'로 재설정하고, 상기 제1 배달 객체의 'isDone'의 변수값을 'true'로 재설정한다.Subsequently, the 'dropOff' function resets the variable value of 'inDelivery' of the first delivery person object to 'false' and resets the variable value of 'isDone' of the first delivery object to 'true'.

도 11은 본 발명에 따른 체인코드의 'dropOff' 함수를 실행하여 변경된 배달원 객체의 결과를 나타낸 것이다.Figure 11 shows the result of a delivery person object changed by executing the 'dropOff' function of the chaincode according to the present invention.

도 11을 참조하면, 해당 배달주문에 대한 배달이 완료되면, 'pickUp' 함수에 의해 'true'로 설정되어있던 'inDelivery' 변수가 'false'로 재설정된 것을 확인할 수 있다.Referring to Figure 11, when delivery for the corresponding delivery order is completed, it can be seen that the 'inDelivery' variable, which was set to 'true' by the 'pickUp' function, is reset to 'false'.

도 12는 본 발명에 따른 체인코드의 'dropOff' 함수를 실행하여 변경된 배달 객체의 결과를 나타낸 것이다.Figure 12 shows the result of a delivery object changed by executing the 'dropOff' function of the chaincode according to the present invention.

도 12를 참조하면, 해당 배달주문에 대한 배달이 완료되면, 배달 완료 여부를 나타내는 'isDone' 함수가 기존의 'false'에서 'true'로 재설정된 것을 확인할 수 있다.Referring to Figure 12, when delivery for the corresponding delivery order is completed, it can be seen that the 'isDone' function indicating whether delivery has been completed is reset from 'false' to 'true'.

본 발명의 신규 블록 생성 단계(S60)는 단계 'S30' 내지 단계 'S50'을 통해 해당 배달주문에 대해 발생한 배달 관련 정보들이 기록된 신규 블록이 오더러(Orderer)에 의해 생성되는 단계이다. 일 실시예에 따르면, 해당 채널(예컨대, 전술한 제1 채널)의 참여자들의 동의를 얻어 확인이 끝나면 새로운 블록이 생성될 수 있다.The new block creation step (S60) of the present invention is a step in which a new block in which delivery-related information generated for the corresponding delivery order is recorded is created by the orderer through steps 'S30' to 'S50'. According to one embodiment, a new block may be created once confirmation is completed with the consent of participants of the corresponding channel (e.g., the first channel described above).

본 발명의 배달 정보 제공 단계(S70)는 단계 'S30'의 신규 블록에 기록된 배달 관련 정보를 해당 채널 참여자가 열람할 수 있도록 이를 제공하는 단계이다.The delivery information provision step (S70) of the present invention is a step of providing delivery-related information recorded in the new block of step 'S30' so that the relevant channel participants can view it.

즉, 해당 채널(예컨대, 전술한 제1 채널)의 참여자들 즉, 해당 채널을 구성하는 조직(예컨대, 배달 플랫폼)은 해당 조직의 피어(Peer)에 설치된 체인코드(예컨대, 제1 체인코드)의 실행을 통해 해당 블록(즉, 단계 'S30'에서 생성된 블록)에 접근하여, 해당 배달주문과 관련된 배달정보를 제공받을 수 있다.In other words, the participants of the channel (e.g., the above-mentioned first channel), that is, the organization (e.g., delivery platform) that constitutes the channel, use the chaincode (e.g., the first chaincode) installed on the peer of the organization. Through the execution of , you can access the block (i.e., the block created in step 'S30') and receive delivery information related to the delivery order.

전술한 바와 같은 본 발명의 블록체인을 이용한 단건 배달 관리 방법 및 시스템에 의하면, 배달원이 단건 배달을 접수 받았을 경우, 해당 배달원은 해당 배달을 완료하기 전까지는 다수의 배달 애플리케이션의 배달 접수에서 자동 배제되는 바, 배달원이 여러 개의 배달 애플리케이션으로부터 단건 배달을 받아 묶음 배달을 하는 경우를 원천적으로 방지할 수 있게 되었다.According to the single delivery management method and system using the blockchain of the present invention as described above, when a delivery person receives a single delivery, the delivery person is automatically excluded from receiving deliveries of multiple delivery applications until the delivery is completed. As a result, it has been possible to fundamentally prevent cases where delivery workers receive single deliveries from multiple delivery applications and make bundled deliveries.

이에 따라, 고객은 단건 배달 서비스를 안심하고 이용할 수 있게 되고, 점주와 배달 플랫폼 입장에서도 고객에게 단건 배달 서비스를 확실하게 제공할 수 있게 되었다.Accordingly, customers can use the single-item delivery service with confidence, and store owners and delivery platforms can now reliably provide single-item delivery services to customers.

또한, 종래와 같이 단건 배달을 묶음 배달하는 배달원을 적발하기 위해 배달원의 배달경로를 일일히 확인해야하는 작업도 불필요하게 되었다.In addition, it is no longer necessary to manually check the delivery route of a delivery person to detect a delivery person who bundles a single delivery as in the past.

상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.Although preferred embodiments of the present invention have been described and illustrated above using specific terms, such terms are only for clearly describing the present invention, and the embodiments of the present invention and the described terms are in accordance with the technical spirit and scope of the following claims. It is self-evident that various changes and changes can be made without deviating from it. These modified embodiments should not be understood individually from the spirit and scope of the present invention, but should be regarded as falling within the scope of the claims of the present invention.

Claims (9)

블록체인 네트워크 상에서, 복수의 배달 플랫폼으로 이루어진 제1 채널이 생성되고 상기 제1 채널에 제1 체인코드가 설치되는 단계; 및
상기 제1 체인코드의 실행을 통해 배달원 객체 및 배달 객체를 생성 및 업데이트하는 단계를 포함하고,
상기 배달원 객체의 클래스(class)는,
배달원들 간의 식별을 위한 고유값을 포함하는 'IMEI' 항목; 및 해당 배달원의 배달 진행 상태를 나타내기 위한 변수값을 포함하는 'inDelivery' 항목을 포함하고,
상기 'inDelivery' 항목은,
해당 배달원이 배달 진행 중일 경우 'true'로 설정되고, 배달 진행 중이지 않을 경우 'false'로 설정되며,
상기 제1 체인코드는,
관리하고자 하는 클라이언트에 해당하는 배달원의 객체를 생성하기 위한 'createDeliveryman' 함수;
제1 배달주문의 발생시, 상기 제1 배달주문에 대한 배달 객체를 생성하고, 상기 제1 배달주문에 대한 배달(이하, '제1 배달'이라 함)이 배정된 배달원(이하, '제1 배달원'이라 함)의 배달 진행 상태를 재설정하기 위한 'pickUp' 함수; 및
상기 제1 배달이 완료되면, 상기 제1 배달원의 배달 진행 상태 및 상기 배달 객체의 완료 여부를 업데이트하는 'dropOff' 함수를 포함하고,
상기 'pickUp' 함수의 실행시,
상기 'createDeliveryman' 함수에 의해 생성된 다수의 배달원 객체 중 어느 하나의 배달원 객체(이하, '제1 배달원 객체'라 함)를 불러오는 제1 단계;
상기 제1 배달원 객체의 상기 'inDelivery' 함수를 호출하는 제2 단계;
상기 제2 단계의 호출에 대한 리턴이 상기 'false'일 경우, 상기 제1 배달원 객체에 기록된 상기 'IMEI'의 고유값(이하, '제1 고유값'이라 함)을 이용하여, 상기 제1 고유값이 설정된 배달 객체(이하, '제1 배달 객체'라 함)를 생성하는 제3 단계; 및
상기 제1 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'true'로 재설정하는 제4 단계;를 포함하는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
On a blockchain network, a first channel consisting of a plurality of delivery platforms is created and a first chain code is installed in the first channel; and
Comprising the step of creating and updating a delivery person object and a delivery object through execution of the first chain code,
The class of the delivery person object is,
An 'IMEI' field containing a unique value for identification between delivery people; and an 'inDelivery' item containing a variable value to indicate the delivery progress status of the delivery person,
The ‘inDelivery’ item above is,
If the delivery person is in progress of delivery, it is set to 'true', and if delivery is not in progress, it is set to 'false'.
The first chain code is,
'createDeliveryman' function to create a deliveryman object corresponding to the client you want to manage;
When a first delivery order is generated, a delivery object for the first delivery order is created, and delivery for the first delivery order (hereinafter referred to as 'first delivery') is assigned to a delivery person (hereinafter, 'first delivery person') 'pickUp' function to reset the delivery progress status of '; and
When the first delivery is completed, it includes a 'dropOff' function that updates the delivery progress status of the first delivery person and whether the delivery object is completed,
When executing the ‘pickUp’ function,
A first step of loading one deliveryman object (hereinafter referred to as 'first deliveryman object') among the plurality of deliveryman objects created by the 'createDeliveryman'function;
A second step of calling the 'inDelivery' function of the first delivery person object;
When the return for the call of the second step is 'false', the unique value of the 'IMEI' recorded in the first delivery person object (hereinafter referred to as 'first unique value') is used to 1 A third step of creating a delivery object with a unique value set (hereinafter referred to as ‘first delivery object’); and
A fourth step of resetting the variable value of 'inDelivery' of the first delivery person object to 'true'. A single delivery management method using a blockchain, comprising a.
제1 항에 있어서,
상기 제2 단계의 호출에 대한 리턴이 상기 'true'일 경우, 상기 제1 배달원 객체와 구분되는 또 다른 배달원 객체(이하, '제2 배달원 객체'라 함)를 불러오는 제1' 단계;
상기 제2 배달원 객체의 상기 'inDelivery' 함수를 호출하는 제2' 단계;
상기 제2' 단계의 호출에 대한 리턴이 상기 'false'일 경우, 상기 제2 배달원 객체에 기록된 상기 'IMEI'의 고유값(이하, '제2 고유값'이라 함)을 이용하여, 상기 제2 고유값이 설정된 배달 객체를 생성하는 제3' 단계; 및
상기 제2 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'true'로 재설정하는 제4' 단계;를 포함하는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to claim 1,
When the return to the call of the second step is 'true', a 'first' step of calling another delivery person object (hereinafter referred to as 'second delivery person object') that is distinct from the first delivery person object;
A second' step of calling the 'inDelivery' function of the second delivery person object;
If the return for the call in the 'second' step is 'false', the unique value of the 'IMEI' recorded in the second delivery person object (hereinafter referred to as 'second unique value') is used to A third' step of creating a delivery object with a second unique value set; and
A single delivery management method using a blockchain, comprising: a 'fourth' step of resetting the variable value of 'inDelivery' of the second delivery person object to 'true'.
제1 항에 있어서,
제1 항에 있어서,
상기 제1 배달주문에 대한 배달 완료시,
상기 'dropOff' 함수는,
상기 제1 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'false'로 재설정하는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to claim 1,
According to claim 1,
Upon completion of delivery for the first delivery order,
The ‘dropOff’ function is,
A single delivery management method using blockchain, characterized in that the variable value of 'inDelivery' of the first delivery person object is reset to 'false'.
제1 항에 있어서,
상기 배달 객체의 클래스(class)는,
배달주문들 간의 식별을 위한 고유값을 포함하는 'IMEI', 해당 배달주문의 목적지(배달장소)를 나타내는 'target_place', 해당 배달주문의 배달물건을 픽업한 시간을 나타내는 'in_time', 해당 배달주문의 배달을 완료한 시간을 나타내는 'out_time', 및 해당 배달주문의 배달 완료 여부를 나타내기 위한 변수값을 포함하는 'isDone' 항목을 포함하고,
상기 'isDone' 항목은,
해당 배달주문에 대한 배달이 완료되지 않은 상태인 경우 'false'로 설정되고, 배달이 완료된 경우 'true'로 설정되는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to claim 1,
The class of the delivery object is,
'IMEI', which contains a unique value for identification between delivery orders, 'target_place', which indicates the destination (delivery place) of the delivery order, 'in_time', which indicates the time when the delivery item of the delivery order was picked up, the delivery order Includes an 'out_time' item indicating the time when delivery of the delivery was completed, and an 'isDone' item containing a variable value to indicate whether delivery of the corresponding delivery order was completed,
The ‘isDone’ item above is,
A single delivery management method using blockchain, characterized in that it is set to 'false' if delivery for the delivery order has not been completed, and is set to 'true' if delivery is completed.
제4 항에 있어서,
상기 배달 객체 클래스의 상기 'IMEI'의 고유값은,
해당 배달주문을 배정받은 배달원에 대해 생성된 배달원 객체의 'IMEI'의 고유값을 사용하여 생성되는 것이고,
상기 제1 배달주문에 대한 배달이 완료되어 상기 'dropOff' 함수의 실행시,
상기 제1 배달원 객체에 기록되어 있는 'IMEI'와 상기 제1 배달 객체에 기록되어 있는 'IMEI'를 이용하여, 상기 제1 배달주문에 대한 상기 제1 배달원 객체 및 상기 제1 배달 객체를 불러오는 단계; 및
상기 제1 배달원 객체의 상기 'inDelivery'의 변수값을 상기 'false'로 재설정하는 단계를 포함하는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to clause 4,
The unique value of the 'IMEI' of the delivery object class is,
It is created using the unique value of the 'IMEI' of the delivery person object created for the delivery person assigned to the delivery order,
When delivery of the first delivery order is completed and the 'dropOff' function is executed,
Using 'IMEI' recorded in the first delivery person object and 'IMEI' recorded in the first delivery object, calling the first delivery person object and the first delivery object for the first delivery order ; and
A single delivery management method using blockchain, comprising the step of resetting the variable value of 'inDelivery' of the first delivery person object to 'false'.
제4 항에 있어서,
상기 제1 배달주문에 대한 배달 완료시,
상기 'dropOff' 함수는,
상기 제1 배달 객체의 'isDone'의 변수값을 'true'로 재설정하는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to clause 4,
Upon completion of delivery for the first delivery order,
The ‘dropOff’ function is,
A single delivery management method using blockchain, characterized in that the variable value of 'isDone' of the first delivery object is reset to 'true'.
제1 항에 있어서,
상기 'IMEI'은 배달원의 핸드폰 번호를 포함하는 키값으로 구성되는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to claim 1,
The 'IMEI' is a single delivery management method using blockchain, characterized in that it consists of a key value including the mobile phone number of the delivery person.
제1 항에 있어서,
상기 'inDelivery' 항목은,
해당 배달원 객체가 생성된 시점에는 'false'로 설정되어 있는 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.
According to claim 1,
The ‘inDelivery’ item above is,
A single delivery management method using blockchain, characterized in that the delivery person object is set to 'false' at the time of creation.
제1 항에 있어서,
상기 블록체인은 하이퍼레저 패브릭 블록체인 것을 특징으로 하는 블록체인을 이용한 단건 배달 관리 방법.

According to claim 1,
A single delivery management method using blockchain, wherein the blockchain is a Hyperledger Fabric blockchain.

KR1020220112186A 2022-09-05 2022-09-05 Single delivery management method and system using block chain KR20240033484A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220112186A KR20240033484A (en) 2022-09-05 2022-09-05 Single delivery management method and system using block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220112186A KR20240033484A (en) 2022-09-05 2022-09-05 Single delivery management method and system using block chain

Publications (1)

Publication Number Publication Date
KR20240033484A true KR20240033484A (en) 2024-03-12

Family

ID=90300120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220112186A KR20240033484A (en) 2022-09-05 2022-09-05 Single delivery management method and system using block chain

Country Status (1)

Country Link
KR (1) KR20240033484A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150060658A (en) 2015-05-21 2015-06-03 퍼펙트데이타시스템 주식회사 Integrated delivery management method and apparatus therof
KR102315856B1 (en) 2021-04-07 2021-10-21 주식회사 커넥트9 Rider Auto-Allocation System for Food Delivery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150060658A (en) 2015-05-21 2015-06-03 퍼펙트데이타시스템 주식회사 Integrated delivery management method and apparatus therof
KR102315856B1 (en) 2021-04-07 2021-10-21 주식회사 커넥트9 Rider Auto-Allocation System for Food Delivery

Similar Documents

Publication Publication Date Title
US11328347B2 (en) Rental asset processing for blockchain
US10708305B2 (en) Automated data processing systems and methods for automatically processing requests for privacy-related information
CN106101202B (en) It analyzes for social graph data to determine internuncial system and method in community
US8688740B2 (en) System and method for the maintenance and management of commercial property data
US7310613B2 (en) Data management system
US20060009987A1 (en) Distributed scheduling
US9946984B2 (en) System and method for transporting a document between a first service provider and a second service provider
CN111526027B (en) Group management method, device and equipment for instant messaging application and readable medium
CN111861140A (en) Service processing method, device, storage medium and electronic device
CN104169915A (en) Method of extending WEB service application programming interfaces using query languages
US20200342137A1 (en) Automated data processing systems and methods for automatically processing requests for privacy-related information
JP2020060821A (en) Organization management support system, organization management support method and organization management support apparatus
CN105530311A (en) Load distribution method and device
CN113535335B (en) Virtual resource allocation method and device based on block chain and electronic equipment
EP1179928B1 (en) Information Routing
US7730107B1 (en) System and method for updating and sharing private library profile data to facilitate delivery of electronic content to libraries
KR20240033484A (en) Single delivery management method and system using block chain
US20180270351A1 (en) Method and call manager node for handling group calls
CN111953650A (en) Service account logout method, device, equipment and storage medium
Skopik et al. Trusted interaction patterns in large-scale enterprise service networks
US11632375B2 (en) Autonomous data source discovery
CN110874676B (en) Resource allocation method, device and system
CN112907077A (en) Construction task order dispatching method and system
CN113794794B (en) Method, device, equipment and storage medium for adding contact persons based on block chain
CN117217448A (en) Customer relationship distribution method, device, equipment and readable storage medium