KR102630439B1 - Electronic device and operation method for adjusting store location - Google Patents

Electronic device and operation method for adjusting store location Download PDF

Info

Publication number
KR102630439B1
KR102630439B1 KR1020230058913A KR20230058913A KR102630439B1 KR 102630439 B1 KR102630439 B1 KR 102630439B1 KR 1020230058913 A KR1020230058913 A KR 1020230058913A KR 20230058913 A KR20230058913 A KR 20230058913A KR 102630439 B1 KR102630439 B1 KR 102630439B1
Authority
KR
South Korea
Prior art keywords
event
store
location
pickup
events
Prior art date
Application number
KR1020230058913A
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 KR1020230058913A priority Critical patent/KR102630439B1/en
Application granted granted Critical
Publication of KR102630439B1 publication Critical patent/KR102630439B1/en

Links

Images

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
    • G06Q10/08355Routing methods
    • 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
    • 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/10Office automation; Time management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시의 다양한 실시예에 따른 매장 위치 보정 방법은 매장과 관련된 복수의 픽업 이벤트들 및 복수의 매장 도착 이벤트들 중, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트를 식별하여, 식별된 픽업 이벤트 또는 매장 도착 이벤트 중 적어도 하나를 제1 이벤트로 결정하는 동작; 제1 이벤트 중, 픽업 이벤트가 발생한 위치와 상기 픽업 이벤트에 대응하는 매장 도착 이벤트가 발생한 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제1 이벤트를 제2 이벤트로 결정하는 동작; 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제2 이벤트를 제3 이벤트로 결정하는 동작; 및 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정하는 동작을 포함할 수 있다.The store location correction method according to various embodiments of the present disclosure identifies a pickup event and a store arrival event corresponding to the same order information among a plurality of pickup events and a plurality of store arrival events related to the store, and identifies the identified pickup event. or determining at least one of the store arrival events as the first event; Among the first events, determining at least one first event in which the distance between the location where the pickup event occurred and the location where the store arrival event corresponding to the pickup event occurred is within a first predetermined distance as the second event; Among the at least one second event, determining at least one second event whose location at which the second event occurs is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from a store location stored for the store as a third event; And it may include an operation of correcting the store location based on at least one third event.

Figure R1020230058913
Figure R1020230058913

Description

매장 위치 보정을 위한 전자 장치 및 그의 동작 방법{ELECTRONIC DEVICE AND OPERATION METHOD FOR ADJUSTING STORE LOCATION}Electronic device for store location correction and method of operation thereof {ELECTRONIC DEVICE AND OPERATION METHOD FOR ADJUSTING STORE LOCATION}

본 개시는 매장 위치를 보정하기 위한 전자 장치 및 그의 동작 방법에 관한 것이다.The present disclosure relates to an electronic device for correcting store location and a method of operating the same.

다양한 환경적 요인에 따른 비대면 서비스의 확대에 따라, 배달 서비스에 관한 시장의 규모는 가파르게 성장하고 있다. 이러한 성장세에 발맞추어 배달 서비스를 제공하는 플랫폼의 운영 주체는, 그 플랫폼의 사용자 확대를 위해 다양한 노력을 기울이고 있다. 이러한 노력의 일환으로서, 플랫폼의 운영 주체는 배달 서비스의 접근 문턱을 낮추어, 배달 서비스의 수요자가 때로는 배달 수행자로서의 역할을 수행할 수 있도록 그 플랫폼을 다변화하고 있다.As non-face-to-face services expand due to various environmental factors, the size of the delivery service market is growing rapidly. In line with this growth, operators of platforms that provide delivery services are making various efforts to expand the number of users of their platforms. As part of these efforts, the operator of the platform is lowering the access threshold for delivery services and diversifying the platform so that consumers of delivery services can sometimes perform the role of delivery performers.

플랫폼의 배달 수행자는 그 주문에 대응되는 배달 서비스를 제공하기 위해 다양한 이동 수단(예: 차량, 전동기, 도보, 자전거 등)을 이용하고 있다. 배달 수행자는 플랫폼에서 제공하는 매장 위치를 이용하여 배달 목적물을 수령하기 위해 이동하므로, 플랫폼에서 정확한 매장 위치를 제공하는 기술이 요구되고 있다.The platform's delivery person uses various means of transportation (e.g., vehicle, electric motor, walking, bicycle, etc.) to provide delivery services corresponding to the order. Since the delivery person moves to receive the delivery target using the store location provided by the platform, technology that provides the exact store location on the platform is required.

본 개시의 다양한 실시예에 따르면, 부정확한 매장 위치를 보정하는 것을 기술적 과제로 한다.According to various embodiments of the present disclosure, correcting inaccurate store locations is a technical task.

본 개시의 다양한 실시예에 따르면, 배달 수행자들의 픽업 위치를 이용하여 부정확한 매장 위치를 보정하는 것을 기술적 과제로 한다.According to various embodiments of the present disclosure, a technical task is to correct an inaccurate store location using the pickup location of delivery performers.

본 개시의 다양한 실시예에 따르면, 매장 위치를 보정하기 위해 사용되는 배달 수행자들의 픽업 위치를 필터링하는 것을 기술적 과제로 한다.According to various embodiments of the present disclosure, a technical task is to filter the pickup location of delivery performers used to correct the store location.

본 개시의 다양한 실시예에 따르면, 필터링된 배달 수행자들의 픽업 위치를클러스터링하여 정확한 매장 위치를 추정하는 방법을 기술적 과제로 한다.According to various embodiments of the present disclosure, a method of estimating an accurate store location by clustering the pickup locations of filtered delivery performers is a technical task.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below.

일 실시예에 따른, 전자 장치에 의해 수행되는 매장 위치 보정 방법은 매장과 관련된 복수의 픽업 이벤트들 및 복수의 매장 도착 이벤트들 중, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트를 식별하여, 식별된 픽업 이벤트 또는 매장 도착 이벤트 중 적어도 하나를 제1 이벤트로 결정하는 동작; 제1 이벤트 중, 픽업 이벤트가 발생한 위치와 픽업 이벤트에 대응하는 매장 도착 이벤트가 발생한 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제1 이벤트를 제2 이벤트로 결정하는 동작; 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제2 이벤트를 제3 이벤트로 결정하는 동작; 및 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정하는 동작을 포함할 수 있다.According to one embodiment, a store location correction method performed by an electronic device identifies a pickup event and a store arrival event corresponding to the same order information among a plurality of pickup events and a plurality of store arrival events related to the store, determining at least one of the identified pickup event or store arrival event as a first event; Among the first events, determining at least one first event whose distance between the location where the pickup event occurred and the location where the store arrival event corresponding to the pickup event occurred is within a first predetermined distance as the second event; Among the at least one second event, determining at least one second event whose location at which the second event occurs is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from a store location stored for the store as a third event; And it may include an operation of correcting the store location based on at least one third event.

일 실시예에 따른 적어도 하나의 제3 이벤트를 결정하는 동작은, 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인 것에 응답하여 수행될 수 있다.The operation of determining at least one third event according to an embodiment may be performed in response to the at least one second event being more than a predetermined number.

일 실시예에 따른 매장 위치를 보정하는 동작은, 적어도 하나의 제2 이벤트 중 적어도 하나의 제3 이벤트의 비율이 제1 비율 이상인 것에 응답하여 수행될 수 있다.The operation of correcting the store location according to an embodiment may be performed in response to the fact that the ratio of at least one third event among the at least one second event is greater than or equal to the first ratio.

일 실시예에 따른 적어도 하나의 제2 이벤트 중 적어도 하나의 제3 이벤트의 비율은 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장 위치로부터 제3 사전 결정된 거리 초과인 제2 이벤트가 제외된 모수에 기초하여 결정될 수 있다.According to one embodiment, the ratio of at least one third event among the at least one second event is such that, among the at least one second event, the second event where the location at which the second event occurred is greater than a third predetermined distance from the store location It can be determined based on the excluded parameters.

일 실시예에 따른 매장 위치 보정 방법은 적어도 하나의 제3 이벤트에 대응하는 위치에 기초하여 결정된 위치를 매장 위치로 보정하는 동작을 더 포함할 수 있다.The store location correction method according to an embodiment may further include correcting the location determined based on the location corresponding to at least one third event to the store location.

일 실시예에 따른 매장 위치 보정 방법은 적어도 하나의 제3 이벤트에 대응하는 위치의 클러스터링 결과에 기초하여 결정된 위치를 매장 위치로 보정하는 동작을 더 포함할 수 있다.The store location correction method according to an embodiment may further include correcting the location determined based on the clustering result of the location corresponding to at least one third event to the store location.

일 실시예에 따른 매장 위치 보정 방법은 보정된 매장 위치에 대한 검증을 요청하는 동작; 및 검증 결과에 기초하여, 배달 서비스 데이터베이스에 보정된 매장 위치를 업데이트할지 여부를 결정하는 동작을 더 포함할 수 있다.A store location correction method according to an embodiment includes: requesting verification of the corrected store location; And based on the verification result, it may further include determining whether to update the corrected store location in the delivery service database.

일 실시예에 따른 매장 위치 보정 방법은 검증 결과에 기초하여, 배달 서비스 데이터베이스에 업데이트되지 않는 것으로 결정된 보정된 매장 위치 및 제3 이벤트들에 대응하는 제1 위치를 임시 데이터베이스에 저장하는 동작을 더 포함할 수 있다.The store location correction method according to an embodiment further includes the operation of storing the first location corresponding to the corrected store location and the third events, which are determined not to be updated in the delivery service database, in a temporary database, based on the verification result. can do.

일 실시예에 따른 매장 위치 보정 방법은 임시 데이터베이스에 저장된 제3 이벤트들 및 임시 데이터베이스에 저장하는 동작 이후에 추가로 수신된 복수의 픽업 이벤트들 또는 복수의 매장 도착 이벤트들 중 적어도 하나에 기초하여 매장 위치를 다시 보정하는 동작을 더 포함할 수 있다.The store location correction method according to an embodiment is based on at least one of the third events stored in the temporary database and a plurality of pickup events or a plurality of store arrival events additionally received after the operation of storing the store in the temporary database. An operation to re-correct the position may be further included.

일 실시예에 따른 매장 위치를 다시 보정하는 동작은, 임시 데이터베이스에 저장된 제3 이벤트들에 비해, 임시 데이터베이스에 저장하는 동작 이후에 추가로 수신된 복수의 픽업 이벤트들 또는 복수의 매장 도착 이벤트들에 더 높은 가중치를 부여하여 매장 위치를 다시 보정하는 동작을 포함할 수 있다.The operation of re-correcting the store location according to one embodiment is performed on a plurality of pick-up events or a plurality of store arrival events additionally received after the operation of storing in the temporary database, compared to the third events stored in the temporary database. It may include an operation to re-calibrate the store location by assigning a higher weight.

일 실시예에 따른 매장 위치 보정 방법은 복수의 배달원들에 각각 대응하는 복수의 단말들로부터 각각의 주문 정보에 대응하는 이벤트를 수신하여, 이벤트가 픽업 이벤트인지 매장 도착 이벤트인지 여부를 식별하는 동작을 더 포함할 수 있다.A store location correction method according to an embodiment includes receiving an event corresponding to each order information from a plurality of terminals corresponding to a plurality of delivery workers, and identifying whether the event is a pickup event or a store arrival event. More may be included.

다른 실시예에 따른 전자 장치에 있어서, 프로세서; 및 프로세서에 의해 실행되도록 구성된 명령어들이 저장된 메모리를 포함하고, 명령어들은 프로세서에 의해 실행될 때 프로세서로 하여금, 복수의 픽업 이벤트들 및 복수의 매장 도착 이벤트들 중 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트를 식별하여, 식별된 픽업 이벤트 또는 매장 도착 이벤트 중 적어도 하나를 제1 이벤트로 결정하고, 제1 이벤트 중, 픽업 이벤트가 발생한 위치와 픽업 이벤트에 대응하는 매장 도착 이벤트가 발생한 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제1 이벤트를 제2 이벤트로 결정하고, 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장 위치로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인지 여부에 기초하여 적어도 하나의 제2 이벤트를 제3 이벤트로 결정하고, 그리고 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정할 수 있다.An electronic device according to another embodiment, comprising: a processor; and a memory storing instructions configured to be executed by the processor, wherein the instructions, when executed by the processor, cause the processor to: select a pickup event and a store arrival corresponding to the same order information among the plurality of pickup events and the plurality of store arrival events; Identifying an event, determining at least one of the identified pickup event or store arrival event as a first event, wherein, among the first events, the distance between the location where the pickup event occurred and the location where the store arrival event corresponding to the pickup event occurred is the first event. 1 At least one first event within a predetermined distance is determined as a second event, and among the at least one second event, the location where the second event occurs is greater than or equal to the second predetermined distance and a third predetermined distance from the store location. Based on whether or not the at least one second event is determined as the third event, the store location may be corrected based on the at least one third event.

본 개시의 다양한 실시예에 따르면, 서버는 잘못된 매장 위치로 인한 배달 수행자들의 이동 거리를 증가를 방지하는 효과를 가져올 수 있다.According to various embodiments of the present disclosure, the server can prevent an increase in the moving distance of delivery performers due to incorrect store locations.

본 개시의 다양한 실시예에 따르면, 서버는 잘못된 매장 위치를 실제 매장을 방문한 배달 수행자들의 위치에 기초하여 보정함으로써, 정확한 매장 위치를 획득할 수 있다. According to various embodiments of the present disclosure, the server can obtain an accurate store location by correcting the incorrect store location based on the locations of delivery performers who actually visited the store.

본 개시의 다양한 실시예에 따르면, 서버는 필터링을 통해 배달 수행자의 단말로부터 수신한 잘못된 위치 정보를 매장 위치 보정 과정에 사용하지 않을 수 있다.According to various embodiments of the present disclosure, the server may not use incorrect location information received from the delivery person's terminal through filtering in the store location correction process.

본 개시의 다양한 실시예에 따르면, 서버는 픽업 이벤트가 발생한 위치를 이용하여 매장 위치를 보정함으로써, 정확한 매장 위치를 획득할 수 있다.According to various embodiments of the present disclosure, the server can obtain an accurate store location by correcting the store location using the location where the pickup event occurred.

본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 명세서의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned may be clearly understood by those skilled in the art from the description in the specification.

도 1은 본 개시의 다양한 실시예에 따른 시스템을 도시한 도면이다.
도 2는 본 개시의 다양한 실시예에 따른 전자 장치를 도시한 블록도이다.
도 3은 본 개시의 다양한 실시예에 따른 매장 위치를 보정하기 위한 방법의 구성도이다.
도 4는 본 개시의 다양한 실시예에 따른 매장 위치 보정에 사용되는 픽업 이벤트들 또는 매장 도착 이벤트들을 결정하기 위한 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 다양한 실시예에 따른 제3 이벤트의 클러스터링 결과에 기초하여 매장 위치를 보정하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 다양한 실시예에 따른 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 미만인 경우를 설명하기 위한 도면이다.
도 7은 본 개시의 다양한 실시예에 따른 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 이상인 경우의 매장 위치 보정 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 다양한 실시예에 따른 전자 장치의 동작 흐름도이다.
1 is a diagram illustrating a system according to various embodiments of the present disclosure.
Figure 2 is a block diagram illustrating an electronic device according to various embodiments of the present disclosure.
Figure 3 is a configuration diagram of a method for correcting a store location according to various embodiments of the present disclosure.
FIG. 4 is a diagram illustrating a method for determining pickup events or store arrival events used for store location correction according to various embodiments of the present disclosure.
FIG. 5 is a diagram illustrating a method of correcting a store location based on a clustering result of a third event according to various embodiments of the present disclosure.
FIG. 6 is a diagram illustrating a case where a second event that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance is less than a first ratio according to various embodiments of the present disclosure.
FIG. 7 is a diagram illustrating a store location correction method when a second event that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance is greater than or equal to a first rate according to various embodiments of the present disclosure.
8 is a flowchart of an operation of an electronic device according to various embodiments of the present disclosure.

본 개시의 실시예들은 본 개시의 기술적 사상을 설명하기 위한 목적으로 예시된 것이다. 본 개시에 따른 권리범위가 이하에 제시되는 실시예들이나 이들 실시예들에 대한 구체적 설명으로 한정되는 것은 아니다.Embodiments of the present disclosure are illustrated for the purpose of explaining the technical idea of the present disclosure. The scope of rights according to the present disclosure is not limited to the embodiments presented below or the specific description of these embodiments.

본 개시에 사용되는 모든 기술적 용어들 및 과학적 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 갖는다. 본 개시에 사용되는 모든 용어들은 본 개시를 더욱 명확히 설명하기 위한 목적으로 선택된 것이며 본 개시에 따른 권리범위를 제한하기 위해 선택된 것이 아니다.All technical terms and scientific terms used in this disclosure, unless otherwise defined, have meanings commonly understood by those skilled in the art to which this disclosure pertains. All terms used in this disclosure are selected for the purpose of more clearly explaining this disclosure and are not selected to limit the scope of rights according to this disclosure.

본 개시에서 사용되는 "포함하는", "구비하는", "갖는" 등과 같은 표현은, 해당 표현이 포함되는 어구 또는 문장에서 달리 언급되지 않는 한, 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.Expressions such as “comprising,” “comprising,” “having,” and the like used in the present disclosure are open terms that imply the possibility of including other embodiments, unless otherwise stated in the phrase or sentence containing the expression. It should be understood as (open-ended terms).

본 개시에서 기술된 단수형의 표현은 달리 언급하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구범위에 기재된 단수형의 표현에도 마찬가지로 적용된다.The singular forms described in this disclosure may include plural forms unless otherwise stated, and this also applies to the singular forms recited in the claims.

본 개시에서 사용되는 "제1", "제2" 등의 표현들은 복수의 구성요소들을 상호 구분하기 위해 사용되며, 해당 구성요소들의 순서 또는 중요도를 한정하는 것은 아니다.Expressions such as “first” and “second” used in the present disclosure are used to distinguish a plurality of components from each other and do not limit the order or importance of the components.

본 개시에서 사용되는 용어 "부"는, 소프트웨어, 또는 FPGA(field-programmable gate array), ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미한다. 그러나, "부"는 하드웨어 및 소프트웨어에 한정되는 것은 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세서, 함수, 속성, 프로시저, 서브루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조, 테이블, 어레이 및 변수를 포함한다. 구성요소와 "부" 내에서 제공되는 기능은 더 작은 수의 구성요소 및 "부"로 결합되거나 추가적인 구성요소와 "부"로 더 분리될 수 있다.The term “unit” used in this disclosure refers to software or hardware components such as a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC). However, “wealth” is not limited to hardware and software. The “copy” may be configured to reside on an addressable storage medium and may be configured to reproduce on one or more processors. Thus, as an example, “part” refers to software components, such as object-oriented software components, class components, and task components, processors, functions, properties, procedures, subroutines, Includes segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within components and “parts” may be combined into smaller numbers of components and “parts” or may be further separated into additional components and “parts”.

본 개시에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되며, 이 표현은 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.As used in this disclosure, the expression "based on" is used to describe one or more factors that influence the act or action of decision, judgment, or action described in the phrase or sentence containing the expression, and this expression It does not exclude additional factors that may influence the decision, act or action of judgment.

본 개시에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결될 수 있거나 접속될 수 있는 것으로, 또는 새로운 다른 구성요소를 매개로 하여 연결될 수 있거나 접속될 수 있는 것으로 이해되어야 한다.In this disclosure, when a component is referred to as being “connected” or “connected” to another component, it means that the component can be directly connected or connected to the other component, or as a new component. It should be understood that it can be connected or connected through other components.

이하, 첨부한 도면들을 참조하여, 본 개시의 실시예들을 설명한다. 첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.Hereinafter, embodiments of the present disclosure will be described with reference to the attached drawings. In the accompanying drawings, identical or corresponding components are given the same reference numerals. Additionally, in the description of the following embodiments, overlapping descriptions of identical or corresponding components may be omitted. However, even if descriptions of components are omitted, it is not intended that such components are not included in any embodiment.

도 1은 본 개시의 일 실시예에 따른 전자 장치가 적용될 수 있는 환경을 도시한다. 전자 장치(110)와 사용자 단말(120, 이하 '단말'이라 함)은 네트워크를 통해 연결되어, 서로 통신할 수 있다. 전자 장치(110)는 서버일 수도 있고, 단말(120)과 구분되는 다른 단말일 수도 있다.1 illustrates an environment in which an electronic device according to an embodiment of the present disclosure can be applied. The electronic device 110 and the user terminal 120 (hereinafter referred to as “terminal”) are connected through a network and can communicate with each other. The electronic device 110 may be a server or a different terminal separate from the terminal 120.

단말(120)은 네트워크를 통해 다양한 정보를 전자 장치(110)와 송수신할 수 있는 단말로 구현될 수 있다. 예를 들어, 단말(120)은 컴퓨터, 랩탑(laptop), 휴대용 통신 단말(스마트폰 등), 휴대용 멀티미디어 장치, 웨어러블 장치 또는 HMD 중 하나일 수 있다. 단, 단말(120)의 종류는 이에 한정되지 않으며, 단말(120)은 사용자로부터 정보를 입력받거나, 사용자에게 정보를 출력할 수 있는 입출력 인터페이스를 포함하고, 네트워크를 통해 전자 장치(110) 또는 다른 기타 장치와 통신을 수행할 수 있는 임의의 장치일 수 있다. 단말(120)은 전자 장치(110)로부터 수신한 정보를 사용자에게 제공할 수 있고, 사용자로부터 입력을 수신하여 전자 장치(110)로 전송할 수 있다. 사용자로부터 획득되는 입력은 마우스를 이용한 클릭, 터치 패드나 터치 스크린을 이용한 터치, 음성 인식, 기타 전자적 입력 등 다양한 형태의 입력을 포함할 수 있다. The terminal 120 may be implemented as a terminal capable of transmitting and receiving various information to and from the electronic device 110 through a network. For example, the terminal 120 may be one of a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, a wearable device, or a HMD. However, the type of terminal 120 is not limited to this, and the terminal 120 includes an input/output interface that can receive information from the user or output information to the user, and is connected to the electronic device 110 or another device through a network. It may be any device capable of communicating with other devices. The terminal 120 may provide information received from the electronic device 110 to the user, and may receive input from the user and transmit it to the electronic device 110. Input obtained from the user may include various types of input, such as clicking using a mouse, touching using a touch pad or touch screen, voice recognition, and other electronic input.

네트워크는 전자 장치(110)와 단말(120) 또는 기타 외부 장치를 연결하는 역할을 수행할 수 있다. 예를 들어, 네트워크는 단말(120)이 전자 장치(110)와 연결되어 전자 장치(110)와 패킷 데이터를 송수신할 수 있도록 접속 경로를 제공할 수 있다. 네트워크는 예를 들어, 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(Mobile Radio Communication Network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유선 또는 무선 네트워크로 구현될 수 있다.The network may serve to connect the electronic device 110 and the terminal 120 or other external devices. For example, the network may provide a connection path so that the terminal 120 can be connected to the electronic device 110 and transmit and receive packet data with the electronic device 110. A network is any type of wired or wireless network, for example, a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or a Wireless Broadband Internet (Wibro). It can be implemented as:

도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다. 일 실시예에서 전자 장치(200)는 서버일 수도 있고 단말일 수도 있다. 일 실시예에서, 전자 장치(200)는 통신 회로(210), 하나 이상의 프로세서(220) 및/또는 하나 이상의 메모리(230)를 구성요소로서 포함할 수 있다. 일 실시예에서, 전자 장치(200)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 장치 전자 장치(200)에 추가될 수 있다. 일 실시예에서, 추가적으로 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(220)는 프로세서(220)라고 표현될 수 있다. 프로세서(220)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 본 개시에서, 하나 이상의 메모리(230)는 메모리(230)라고 표현될 수 있다. 메모리(230)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다. 일 실시예에서, 전자 장치(200) 내/외부의 구성요소들 중 적어도 일부의 구성요소들은 버스, GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 또는 MIPI(Mobile Industry Processor Interface) 등을 통해 서로 연결되어, 정보(데이터, 신호 등)를 주고 받을 수 있다.Figure 2 is a block diagram of an electronic device according to an embodiment of the present disclosure. In one embodiment, the electronic device 200 may be a server or a terminal. In one embodiment, the electronic device 200 may include a communication circuit 210, one or more processors 220, and/or one or more memories 230 as components. In one embodiment, at least one of the components of the electronic device 200 may be omitted, or another component may be added to the electronic device 200. In one embodiment, additionally or alternatively, some components may be integrated and implemented, or may be implemented as a single or plural entity. In this disclosure, one or more processors 220 may be referred to as processor 220 . The expression processor 220 may mean a set of one or more processors, unless the context clearly expresses otherwise. In this disclosure, one or more memories 230 may be referred to as memory 230 . The expression memory 230 may mean a set of one or more memories, unless the context clearly expresses otherwise. In one embodiment, at least some of the internal/external components of the electronic device 200 include a bus, General Purpose Input/Output (GPIO), Serial Peripheral Interface (SPI), or Mobile Industry Processor Interface (MIPI), etc. They are connected to each other and can exchange information (data, signals, etc.).

통신 회로(communication circuit, 210)는 사용자의 단말 및 외부 장치와 통신할 수 있다. 통신 회로(210)는 전자 장치(200)와 단말 간의 무선 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신 회로(210)는 eMBB(enhanced Mobile Broadband), URLLC(Ultra Reliable Low-Latency Communications), MMTC(Massive Machine Type Communications), LTE(Long-Term Evolution), LTE-A(LTE Advance), NR(New Radio), UMTS(Universal Mobile Telecommunications System), GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), WiBro(Wireless Broadband), WiFi(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication), GPS(Global Positioning System) 또는 GNSS(Global Navigation Satellite System) 등의 방식에 따른 무선 통신을 수행할 수 있다. 예를 들어, 통신 회로(210)는 USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), RS-232(Recommended Standard-232) 또는 POTS(Plain Old Telephone Service) 등의 방식에 따른 유선 통신을 수행할 수 있다. 일 실시예에서, 전자 장치(200)는 다른 장치와 통합되어 구현될 수도 있다. 이 경우, 통신 회로(210)는 전자 장치(200)와 해당 다른 장치를 연결하는 접속 회로 내지 인터페이스로서 기능할 수 있다.The communication circuit 210 can communicate with the user's terminal and external devices. The communication circuit 210 may perform wireless or wired communication between the electronic device 200 and a terminal. For example, the communication circuit 210 may include enhanced Mobile Broadband (eMBB), Ultra Reliable Low-Latency Communications (URLLC), Massive Machine Type Communications (MMTC), Long-Term Evolution (LTE), and LTE Advance (LTE-A). , NR (New Radio), UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile communications), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), WiBro (Wireless Broadband), WiFi (Wireless Fidelity), Wireless communication can be performed using methods such as Bluetooth, NFC (Near Field Communication), GPS (Global Positioning System), or GNSS (Global Navigation Satellite System). For example, the communication circuit 210 provides wired communication according to a method such as USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), RS-232 (Recommended Standard-232), or POTS (Plain Old Telephone Service). It can be done. In one embodiment, the electronic device 200 may be implemented by being integrated with another device. In this case, the communication circuit 210 may function as a connection circuit or interface that connects the electronic device 200 and the other device.

프로세서(220)는 소프트웨어(예: 명령, 프로그램 등)를 구동하여 프로세서(220)에 연결된 전자 장치(200)의 적어도 한 구성요소를 제어할 수 있다. 또한 프로세서(220)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(220)는 데이터 등을 메모리(230)로부터 로드하거나, 메모리(230)에 저장할 수 있다. 나아가 프로세서(220)는 통신 회로(210)를 통해, 사용자의 단말 및 외부 장치와 다양한 정보를 송수신할 수 있다. 일 실시예에서, 프로세서(220)는 통신 회로(210)를 제어하여, 사용자의 단말에 각종 페이지에 대한 정보 등 다양한 정보를 송신할 수 있다.The processor 220 may control at least one component of the electronic device 200 connected to the processor 220 by running software (eg, commands, programs, etc.). Additionally, the processor 220 may perform various operations related to the present disclosure, such as calculation, processing, data generation, and processing. Additionally, the processor 220 may load data, etc. from the memory 230 or store it in the memory 230 . Furthermore, the processor 220 can transmit and receive various information with the user's terminal and external devices through the communication circuit 210. In one embodiment, the processor 220 can control the communication circuit 210 to transmit various information, such as information about various pages, to the user's terminal.

메모리(230)는 다양한 정보(데이터)를 저장할 수 있다. 메모리(230)에 저장되는 정보는, 전자 장치(200)의 적어도 한 구성요소에 의해 획득되거나, 처리되거나, 사용되는 정보로서, 소프트웨어(예: 명령어, 프로그램 등)를 포함할 수 있다. 메모리(230)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 본 개시에서, 명령 내지 프로그램은 메모리(230)에 저장되는 소프트웨어로서, 전자 장치(200)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 전자 장치(200)의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다. 일 실시예에서, 메모리(230)는 프로세서(220)에 의한 실행 시 프로세서(220)가 연산을 수행하도록 하는 명령어들을 저장할 수 있다. 메모리(230)는 통신 회로(210)를 통하여 단말로부터 수신된 정보 및/또는 통신 회로(210)를 통하여 단말에 송신된 정보의 적어도 일부를 저장할 수 있다. 프로세서(220)는 통신 회로(210)를 통하여 단말로부터 수신된 정보 및/또는 통신 회로(210)를 통하여 단말에 송신된 정보의 적어도 일부를 메모리(230)에 저장할 수 있다.The memory 230 can store various information (data). Information stored in the memory 230 is information acquired, processed, or used by at least one component of the electronic device 200, and may include software (eg, commands, programs, etc.). Memory 230 may include volatile and/or non-volatile memory. In the present disclosure, a command or program is software stored in the memory 230, an operating system for controlling the resources of the electronic device 200, an application, and/or various functions so that the application can utilize the resources of the electronic device 200. It may include middleware that provides to the application. In one embodiment, the memory 230 may store instructions that allow the processor 220 to perform an operation when executed by the processor 220. The memory 230 may store at least a portion of information received from the terminal through the communication circuit 210 and/or information transmitted to the terminal through the communication circuit 210. The processor 220 may store in the memory 230 at least a portion of information received from the terminal through the communication circuit 210 and/or information transmitted to the terminal through the communication circuit 210.

이하, 도 3 내지 도 8에서 전자 장치에 의해 수행되는 것으로 설명되는 동작은, 도 2에서 설명된 전자 장치(200)의 프로세서(220)에 의해 수행되는 것으로 이해될 수 있다.Hereinafter, operations described as being performed by the electronic device in FIGS. 3 to 8 may be understood as being performed by the processor 220 of the electronic device 200 described in FIG. 2 .

도 3은 본 개시의 다양한 실시예에 따른 매장 위치를 보정하기 위한 방법의 구성도이다.Figure 3 is a configuration diagram of a method for correcting a store location according to various embodiments of the present disclosure.

배달 서비스가 제공되는 예시적인 환경은, 수요자가 주문을 요청하고, 공급자가 수요자의 주문을 수신하여 그 주문에 대응되는 상품을 준비하고, 배달 수행자가 준비된 상품을 픽업하여 수요자에게 배달하는 일례일 수 있다. 배달 서비스에 참여한 각 주체들은 그들의 단말을 통해서 다양한 정보를 상호 통신할 수 있으며, 여기서, 전자 장치(200)는 각 주체들의 단말이 상호 통신하는 다양한 정보를 처리할 수 있다.An exemplary environment in which a delivery service is provided may be an example in which a consumer requests an order, a supplier receives the consumer's order, prepares a product corresponding to the order, and a delivery person picks up the prepared product and delivers it to the consumer. there is. Each subject participating in the delivery service can communicate various information with each other through their terminals, and here, the electronic device 200 can process various information communicated with each other between the terminals of each subject.

설명을 위해, 복수의 배달 수행자 단말들, 한 개의 수요자 단말 및 한 개의 공급자 단말이 전자 장치(200)와 연동될 수 있다. 이는 이해의 편의를 위한 것일 뿐이고, 배달 서비스에 참여하는 주체들의 수를 나타내는 각 단말의 개수는 얼마든지 달라질 수 있다. 전술한 예시에서, 필요에 따라 일부 구성요소가 추가되거나 삭제될 수 있다.For explanation purposes, a plurality of delivery agent terminals, one consumer terminal, and one supplier terminal may be linked with the electronic device 200. This is only for convenience of understanding, and the number of each terminal representing the number of subjects participating in the delivery service can vary. In the above example, some components may be added or deleted as needed.

전자 장치(200)는 수요자 단말로부터 요청된 신규 주문을 식별할 수 있다. 여기서, 전자 장치(200)가 신규 주문을 식별하는 동작에는 다양한 기술들이 참조될 수 있다. 예를 들어, 전자 장치(200)는 요청된 주문들을 리스트로 관리하여 그 주문들의 처리를 관리할 수 있으며, 신규로 리스트에 편입된 주문을 신규 주문으로 식별할 수 있다. 다른 예를 들어, 전자 장치(200)는 주문에 포함된 식별 정보에 기초하여, 신규 주문을 식별할 수도 있다. 전술한 예시들 외에도 수요자 단말로부터 요청된 신규 주문을 식별하는 다양한 동작들이 본 개시의 범위에 포함될 수 있으며, 신규 주문에 대한 후속 처리를 관리하기 위해 신규 주문을 식별하는 방식이라면 모든 동작이 본 개시의 범위에 포함될 수 있음을 유의해야 한다. 이처럼 전자 장치(200)가 식별한 신규 주문에는, 다양한 정보들이 포함될 수 있다. 구체적인 예시로서, 신규 주문은, 수요자가 주문한 상품의 내역, 그 상품의 공급자, 그 상품의 픽업 장소(예: 공급자의 매장 위치) 및 그 상품의 배달 장소 등에 관한 다양한 정보를 포함할 수 있다.The electronic device 200 may identify a new order requested from the consumer terminal. Here, various technologies may be referred to in the operation of the electronic device 200 to identify a new order. For example, the electronic device 200 may manage the processing of requested orders by managing them in a list, and may identify orders newly added to the list as new orders. As another example, the electronic device 200 may identify a new order based on identification information included in the order. In addition to the examples described above, various operations for identifying a new order requested from a consumer terminal may be included in the scope of the present disclosure, and if it is a method of identifying a new order to manage subsequent processing of the new order, all operations are included in the present disclosure. Please note that it may be included in the scope. In this way, the new order identified by the electronic device 200 may include various information. As a specific example, a new order may include various information about the details of the product ordered by the consumer, the supplier of the product, the pickup location of the product (e.g., the supplier's store location), and the delivery location of the product.

또한, 전자 장치(200)는 신규 주문에 포함된 다양한 정보들에 기초하여, 신규 주문에 대응되는 공급자 단말에 신규 주문을 전송할 수 있다. 여기서, 공급자 단말은 신규 주문을 수신할 수 있으며, 그 공급자는 신규 주문을 확인하여 그 신규 주문에 대응되는 상품의 준비를 진행할 수 있다.Additionally, the electronic device 200 may transmit a new order to the supplier terminal corresponding to the new order based on various information included in the new order. Here, the supplier terminal can receive a new order, and the supplier can confirm the new order and prepare products corresponding to the new order.

나아가, 전자 장치(200)는 신규 주문에 포함된 다양한 정보들에 기초하여, 복수의 배달 수행자 단말 중 어느 하나에 신규 주문을 배정할 수 있다. 여기서, 전자 장치(200)는 신규 주문에 포함된 다양한 정보들 외에도 복수의 배달 수행자 단말 각각의 상태 정보를 더 고려하여, 복수의 배달 수행자 단말 중 어느 하나에 신규 주문을 배정할 수도 있다. 구체적으로, 유휴 상태인 배달 수행자 단말과 배달 중 상태인 배달 수행자 단말 각각의 상태 정보를 더 고려하여, 복수의 배달 수행자 단말 중 어느 하나에 신규 주문을 배정할 수 있다. 이처럼 복수의 배달 수행자 단말 중 어느 하나에 신규 주문이 배정되면, 그 배달 수행자는 신규 주문에 대응되는 상품을 픽업 장소에서 픽업하고, 배달 장소로 배달할 수 있다.Furthermore, the electronic device 200 may assign a new order to one of a plurality of delivery person terminals based on various information included in the new order. Here, the electronic device 200 may assign the new order to one of the plurality of delivery agent terminals by further considering the status information of each of the plurality of delivery agent terminals in addition to various information included in the new order. Specifically, by further considering the status information of each delivery agent terminal in an idle state and a delivery agent terminal in a delivery state, a new order may be assigned to one of a plurality of delivery agent terminals. In this way, when a new order is assigned to one of the plurality of delivery agent terminals, the delivery agent can pick up the product corresponding to the new order at the pickup location and deliver it to the delivery location.

일 실시예에 따른 전자 장치(200)는, 전술한 동작들 외에도 배달 수행자 단말, 수요자 단말 및 공급자 단말과 상호 연동하여, 주문을 처리하는 다양한 동작들을 수행할 수 있으며, 주문의 접수부터 완결까지의 추가 또는 변형될 수 있는 모든 동작들을 수행할 수 있다고 이해되어야 할 것이다. In addition to the above-described operations, the electronic device 200 according to one embodiment can perform various operations to process orders by interoperating with the delivery performer terminal, consumer terminal, and supplier terminal, and performs various operations from receipt of order to completion. It should be understood that all operations that can be added or modified can be performed.

일 실시예에 따른 전자 장치(200)는 서버일 수 있다. 이하에서의 동작은 서버에서 수행되는 것일 수 있다.The electronic device 200 according to one embodiment may be a server. The operations below may be performed on the server.

일 실시예에 따른 프로세서(220)는 이벤트(310)를 단말로부터 수신할 수 있다. 이벤트(310)를 전자 장치(200)에 전송하는 단말은 배달 수행자 단말일 수 있다. 이벤트는 배달 수행자 단말에 입력된 사용자 입력에 기초하여 결정된 정보일 수 있다. 예를 들어, 배달 수행자 단말이 배달 수행자로부터 도착 오브젝트의 입력을 수신하는 경우, 배달 수행자 단말에서 발생한 이벤트는 매장 도착 이벤트일 수 있다. 배달 수행자는 공급자가 위치한 매장 위치에 도착하는 경우, 도착 오브젝트를 선택할 수 있다. 이를 통해, 프로세서(220)는 배달 수행자가 매장 위치에 도착했음을 알 수 있다. 다른 예를 들어, 배달 수행자 단말이 배달 수행자로부터 픽업 오브젝트의 입력을 수신하는 경우, 배달 수행자 단말에서 발생한 이벤트는 픽업 이벤트일 수 있다. 배달 수행자는 공급자가 위치한 매장 위치에서 상품을 픽업한 후에 픽업 오브젝트를 선택할 수 있다. 이를 통해, 프로세서(220)는 배달 수행자가 매장 위치에서 상품을 픽업했음을 알 수 있다.The processor 220 according to one embodiment may receive an event 310 from the terminal. The terminal transmitting the event 310 to the electronic device 200 may be a delivery agent terminal. The event may be information determined based on user input entered into the delivery person terminal. For example, when the delivery agent terminal receives an input of an arrival object from the delivery agent, the event occurring in the delivery agent terminal may be a store arrival event. When the delivery person arrives at the store location where the supplier is located, he or she can select the arrival object. Through this, the processor 220 can know that the delivery person has arrived at the store location. For another example, when the delivery agent terminal receives an input of a pickup object from the delivery agent, the event occurring in the delivery agent terminal may be a pickup event. The delivery person can select the pickup object after picking up the product at the store location where the supplier is located. Through this, the processor 220 can know that the delivery person has picked up the product at the store location.

일 실시예에 따른 프로세서(220)는 소스 핸들러(320)를 이용하여, 수신된 이벤트들에 기초하여 매장 위치를 산출할 수 있다. 프로세서(220)는 수신된 이벤트들을 이벤트 맵핑(321)을 이용하여 이벤트가 픽업 이벤트인지 매장 도착 이벤트인지 식별하여 맵핑할 수 있다. 프로세서(220)는 이벤트 맵핑(321)을 이용한 맵핑 결과에 기초하여, 필터링(322)을 수행할 수 있다. 프로세서(220)는 위치 산출(323)에 사용되는 픽업 이벤트를 선별하기 위해 필터링(322)을 수행할 수 있다. 프로세서(220)는 정확한 매장 위치를 산출하기 위하여 복수의 픽업 이벤트들 중 일부를 필터링할 수 있고, 적어도 일부를 위치 산출(323)에 사용할 수 있다. 필터링(322)에 대한 구체적인 설명은 도 4를 참조하여 구체적으로 후술된다.The processor 220 according to one embodiment may use the source handler 320 to calculate the store location based on received events. The processor 220 can map the received events by identifying whether the event is a pickup event or a store arrival event using the event mapping 321. The processor 220 may perform filtering 322 based on a mapping result using event mapping 321. Processor 220 may perform filtering (322) to select pickup events used for location calculation (323). The processor 220 may filter some of the plurality of pickup events to calculate an accurate store location, and use at least some of them for location calculation 323. A detailed description of the filtering 322 will be described later with reference to FIG. 4 .

일 실시예에 따른 프로세서(220)는 소스 핸들러(320)의 위치 산출(323)을 통해 획득한 매장 위치들을 후보 위치(330)에 저장할 수 있다. 후보 위치(330)에는 하나의 매장에 대응하는 복수의 매장 위치들이 저장될 수 있다. 하나의 매장에 대한 주문 정보는 매일 생성될 수 있으며, 매일 생성된 주문 정보에 대응하는 픽업 이벤트 및/또는 매장 도착 이벤트가 매일 생성될 수 있다. 따라서, 프로세서(220)는 일정 기간 동안 수집된 이벤트를 이용하여 위치 산출(323)을 할 수 있다. 예를 들어, 최근 3주 동안 수집된 이벤트를 이용하여 프로세서(220)는 위치 산출(323)을 할 수 있다. 따라서, 시간의 흐름에 따라, 수집되는 픽업 이벤트들이 상이하고, 픽업 이벤트가 발생한 위치도 상이하므로, 위치 산출(323) 결과가 달라질 수 있다. The processor 220 according to one embodiment may store store locations obtained through location calculation 323 of the source handler 320 in the candidate location 330. A plurality of store locations corresponding to one store may be stored in the candidate location 330. Order information for one store may be created every day, and a pickup event and/or store arrival event corresponding to the order information created every day may be created every day. Accordingly, the processor 220 can calculate the location 323 using events collected over a certain period of time. For example, the processor 220 can calculate the location (323) using events collected over the last three weeks. Therefore, as time passes, the collected pickup events are different and the locations where the pickup events occur are also different, so the location calculation 323 results may vary.

일 실시예에 따른, 프로세서(220)는 후보 위치(330)에 포함된 복수의 매장 위치들 중에서 선택된 하나의 매장 위치에 기초하여 매장 위치를 보정(340)할 수 있다. 프로세서(220)는 보정된 매장 위치를 검증할 수 있다. 따라서, 프로세서(220)는 검증 결과에 기초하여 배달 서비스 데이터베이스에 보정된 매장 위치로 기존 매장 위치를 업데이트할지 여부를 결정할 수 있다. 검증은 수동 체크(350) 또는 다중 소스 체크(360) 중 적어도 하나에 기초하여 수행될 수 있다.According to one embodiment, the processor 220 may correct (340) the store location based on one store location selected from among a plurality of store locations included in the candidate location (330). Processor 220 may verify the corrected store location. Accordingly, the processor 220 may determine whether to update the existing store location with the corrected store location in the delivery service database based on the verification result. Verification may be performed based on at least one of manual check 350 or multi-source check 360.

일 실시예에 따른 보정된 매장 위치에 대하여, 관리자 단말은 수동 체크(350)를 할 수 있다. 수동 체크(350)는 관리자 단말을 이용하는 사용자가 보정된 매장 위치가 실제 매장 위치와 일치하는지 여부를 판단하는 것일 수 있다. 다른 일 실시예에 따른 프로세서(220)는 보정된 매장 위치에 대하여, 다중 소스 체크(360)를 할 수 있다. 소스는 매장 위치를 저장하고 있는 데이터베이스 또는 지도 API(Application Programming Interface)일 수 있다. 프로세서(220)는 복수의 데이터베이스들 또는 지도 API들 각각에 저장된 매장 위치와 보정된 매장 위치를 비교할 수 있다. 예를 들어, 프로세서(220)는 다중 소스 체크(360) 과정에서, 복수의 데이터베이스들 또는 지도 API들 각각에 저장된 매장A의 위치와 보정된 매장A의 위치를 비교할 수 있다.Regarding the corrected store location according to one embodiment, the manager terminal may perform a manual check (350). The manual check 350 may be performed by a user using the manager terminal to determine whether the corrected store location matches the actual store location. The processor 220 according to another embodiment may perform a multi-source check 360 on the corrected store location. The source may be a database or a map application programming interface (API) that stores store locations. The processor 220 may compare the corrected store location with the store location stored in each of a plurality of databases or map APIs. For example, the processor 220 may compare the corrected location of store A with the location of store A stored in each of a plurality of databases or map APIs during the multi-source check 360 process.

일 실시예에 따른 프로세서(220)는 수동 체크(350) 결과 또는 다중 소스 체크(360) 결과 중 적어도 하나에 기초하여, 보정된 매장 위치 사용 여부를 판단할 수 있다. 수동 체크(350) 결과 또는 다중 소스 체크(360) 결과 중 적어도 하나는 보정된 매장 위치의 정확도를 포함할 수 있다. 예를 들어, 정확도는 보정된 매장 위치와 실제 매장 위치 사이 거리에 기초하여 결정될 수 있다. 실제 매장 위치는 지도 API로부터 획득한 매장 위치 또는 실사를 통해 확인한 매장 위치 중 적어도 하나일 수 있다. 정확도가 높을수록 보정된 매장 위치와 실제 매장 위치 사이 거리는 가까울 수 있다. 프로세서(220)가 보정된 매장 위치의 정확도에 기초하여 배달 서비스에 해당 보정된 매장 위치를 사용할지 여부를 판단할 수 있다. 정확도가 일정 기준 이상(예: 정확도가 90% 이상)인 경우, 프로세서(220)는 보정된 매장 위치를 배달 서비스 데이터베이스(372)에 업데이트할 수 있다. 배달 서비스 데이터베이스(372)는 복수의 매장들 각각에 대응하는 매장 위치를 저장하고 있을 수 있다. 그리고 프로세서(220)는 보정된 매장 위치에 기초하여 배달 서비스(371)를 사용자들(예: 공급자, 배달 수행자, 수요자 등)에게 제공할 수 있다. 정확도가 일정 기준 이하인 경우, 프로세서(220)는 보정된 매장 위치, 보정된 매장 위치를 산출하기 위해 사용된 복수의 픽업 이벤트들 또는 보정된 매장 위치를 산출하기 위해 사용된 복수의 매장 도착 이벤트들 중 적어도 하나를 임시 데이터베이스(380)에 저장할 수 있다. 임시 데이터베이스(380)는 보정된 매장 위치 또는 과거의 이벤트들 중 적어도 하나를 저장할 수 있다. 임시 데이터베이스(380)는 과거 이벤트들을 저장하는 저장 장치일 수 있다. 예를 들어, T-1 시점에 발생한 이벤트가 소스 핸들러(320)를 통해 수신되는 경우, 임시 데이터베이스(380)에 저장된 이벤트들은 T-2 시점 이전에 발생한 이벤트들일 수 있다. 예를 들어, 어제 발생한 이벤트가 소스 핸들러(320)를 통해 수신되는 경우, 3일전에 발생한 이벤트들은 임시 데이터베이스(380)에 저장될 수 있다. The processor 220 according to one embodiment may determine whether to use the corrected store location based on at least one of the manual check 350 result or the multi-source check 360 result. At least one of the manual check 350 result or the multi-source check 360 result may include the corrected accuracy of the store location. For example, accuracy may be determined based on the distance between the calibrated store location and the actual store location. The actual store location may be at least one of a store location obtained from a map API or a store location confirmed through due diligence. The higher the accuracy, the closer the distance between the corrected store location and the actual store location can be. The processor 220 may determine whether to use the corrected store location for the delivery service based on the accuracy of the corrected store location. If the accuracy is above a certain standard (e.g., accuracy is 90% or more), the processor 220 may update the corrected store location in the delivery service database 372. The delivery service database 372 may store store locations corresponding to each of a plurality of stores. And the processor 220 may provide the delivery service 371 to users (eg, suppliers, delivery performers, consumers, etc.) based on the corrected store location. If the accuracy is below a certain standard, the processor 220 selects one of the corrected store location, a plurality of pickup events used to calculate the corrected store location, or a plurality of store arrival events used to calculate the corrected store location. At least one may be stored in the temporary database 380. Temporary database 380 may store at least one of a corrected store location or past events. The temporary database 380 may be a storage device that stores past events. For example, if an event that occurred at time T-1 is received through the source handler 320, the events stored in the temporary database 380 may be events that occurred before time T-2. For example, when an event that occurred yesterday is received through the source handler 320, events that occurred 3 days ago may be stored in the temporary database 380.

일 실시예에 따른 프로세서(220)는 임시 데이터베이스(380)에 저장된 이벤트(예: 픽업 이벤트, 매장 도착 이벤트), 소스 핸들러(320)에 수신된 픽업 이벤트들 또는 소스 핸들러(320)에 수신된 매장 도착 이벤트들 중 적어도 하나에 기초하여 매장 위치를 보정할 수 있다. 예를 들어, 소스 핸들러(320)에 수신된 이벤트는 T-1 시점에 발생한 픽업 이벤트일 수 있고, 임시 데이터베이스(380)에 저장된 이벤트는 T-2 시점 이전에 발생한 픽업 이벤트(또는 매장 도착 이벤트)일 수 있다. 따라서, 프로세서(220)는 특정 시점에 수신된 이벤트 뿐만 아니라, 과거에 수신된 이벤트들까지 사용하여 정확한 매장 위치를 산출할 수 있다. Processor 220 according to one embodiment may store events (e.g., pickup event, store arrival event) stored in the temporary database 380, pickup events received by the source handler 320, or store events received by the source handler 320. The store location may be corrected based on at least one of the arrival events. For example, the event received by the source handler 320 may be a pickup event that occurred at time T-1, and the event stored in the temporary database 380 may be a pickup event (or store arrival event) that occurred before time T-2. It can be. Accordingly, the processor 220 can calculate an accurate store location using not only events received at a specific point in time, but also events received in the past.

일 실시예에 따른 프로세서(220)는 최근에 수신된 픽업 이벤트들(또는 매장 도착 이벤트들)에 더 높은 가중치를 부여하여 매장 위치를 보정할 수 있다. 예를 들어, 프로세서(220)는 임시 데이터베이스(380)에 저장된 픽업 이벤트(또는 매장 도착 이벤트)보다, 임시 데이터베이스(380)에 저장하는 동작 이후에 추가로 수신된 복수의 픽업 이벤트들(또는 매장 도착 이벤트들)에 더 높은 가중치를 부여하여 매장 위치를 다시 보정할 수 있다. 예를 들어, 소스 핸들러(320)에 수신된 이벤트는 T-1 시점에 발생한 픽업 이벤트(또는 매장 도착 이벤트)일 수 있고, 임시 데이터베이스(380)에 저장된 이벤트는 T-2 시점 이전에 발생한 픽업 이벤트들(또는 매장 도착 이벤트들)일 수 있다. 프로세서(220)는 T-2 시점 이전에 발생한 픽업 이벤트들(또는 매장 도착 이벤트들)보다 T-1 시점에 발생한 픽업 이벤트(또는 매장 도착 이벤트)에 더 높은 가중치를 부여하여 정확한 매장 위치를 산출한 후, 매장 위치를 다시 보정할 수 있다. 다른 예를 들어, 프로세서(220)는 T-3 시점에 발생한 픽업 이벤트(또는 매장 도착 이벤트)보다 T-2 시점에 발생한 픽업 이벤트(또는 매장 도착 이벤트)에 더 높은 가중치를 부여하고, 또한 T-2 시점에 발생한 픽업 이벤트(또는 매장 도착 이벤트)보다 T-1 시점에 발생한 픽업 이벤트(또는 매장 도착 이벤트)에 더 높은 가중치를 부여할 수 있다. 본 명세서에서 T는 특정 시간 또는 일정 기간일 수 있다. 예를 들어, T는 특정 날짜(예: 1일, 2일 등), 특정 시간(예: 10시, 11시, 11시 9분 등), 일정 기간(예: 1주, 3주, 1달, 3달 등) 등일 수 있다.The processor 220 according to one embodiment may correct the store location by assigning higher weight to recently received pickup events (or store arrival events). For example, the processor 220 may select a plurality of pickup events (or store arrival events) additionally received after the operation of storing them in the temporary database 380 rather than the pickup events (or store arrival events) stored in the temporary database 380. The store location can be recalibrated by giving higher weight to events). For example, the event received by the source handler 320 may be a pickup event (or store arrival event) that occurred at time T-1, and the event stored in the temporary database 380 may be a pickup event that occurred before time T-2. (or store arrival events). The processor 220 calculates the exact store location by assigning higher weight to the pickup event (or store arrival event) that occurred at time T-1 than to the pickup events (or store arrival events) that occurred before time T-2. Afterwards, the store location can be corrected again. For another example, the processor 220 assigns higher weight to a pickup event (or store arrival event) occurring at time T-2 than to a pickup event (or store arrival event) occurring at time T-3, and also assigns higher weight to a pickup event (or store arrival event) occurring at time T-3. Higher weight may be assigned to the pickup event (or store arrival event) that occurred at time T-1 than to the pickup event (or store arrival event) that occurred at time 2. In this specification, T may be a specific time or a certain period of time. For example, T stands for a specific date (e.g. 1st, 2nd, etc.), a specific time (e.g. 10:00, 11:00, 11:09, etc.), or a period of time (e.g., 1 week, 3 weeks, 1 month). , 3 months, etc.).

도 4는 본 개시의 다양한 실시예에 따른 매장 위치 보정에 사용되는 픽업 이벤트들 또는 매장 도착 이벤트들을 결정하기 위한 방법을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a method for determining pickup events or store arrival events used for store location correction according to various embodiments of the present disclosure.

일 실시예에 따른 단말(480)은 배달 수행자 단말일 수 있다. 단말(480)은 사용자 입력에 기초하여 이벤트가 발생(481)될 수 있다. 단말(480)은 발생된 이벤트와 관련된 정보를 서버(410)에 전송할 수 있다.The terminal 480 according to one embodiment may be a delivery agent terminal. The terminal 480 may generate an event (481) based on user input. The terminal 480 may transmit information related to the occurred event to the server 410.

일 실시예에 따른 서버(410)는 이벤트를 수신하고, 수신된 이벤트를 식별할 수 있다. 예를 들어, 프로세서(220)는 수신된 이벤트가 매장 도착 이벤트인지 픽업 이벤트인지 여부를 식별할 수 있다. 프로세서(220)는 식별 결과에 기초하여 수신된 이벤트를 매장 도착 이벤트 또는 픽업 이벤트 중 적어도 하나로 맵핑할 수 있다. 이벤트 맵핑은 도 3에서 구체적으로 전술하였으므로, 본 도면에서 구체적인 설명은 생략된다.The server 410 according to one embodiment may receive an event and identify the received event. For example, processor 220 may identify whether the received event is a store arrival event or a pickup event. The processor 220 may map the received event to at least one of a store arrival event or a pickup event based on the identification result. Since event mapping was specifically described above in FIG. 3, detailed description in this figure is omitted.

일 실시예에 따른 동작(430)에서, 서버(410)는 픽업 이벤트와 매장 도착 이벤트가 동일 주문 정보에 대응하는지 판단할 수 있다. 주문 정보는 수요자 단말로부터 수신한 주문 요청과 관련된 정보일 수 있다. 주문 정보는 공급자 단말 또는 배달 수행자 단말 중 적어도 하나에 전송될 수 있다. 배달 수행자는 매장 위치에 도착했음에도, 도착 오브젝트를 배달 수행자 단말을 통해 입력하지 않아, 매장 도착 이벤트가 발생하지 않을 수 있다. 이 경우, 하나의 주문 정보에 대응하는 매장 도착 이벤트는 존재하지 않을 수 있다. 다른 예를 들어, 배달 수행자는 매장 위치에 도착하여, 도착 오브젝트를 배달 수행자 단말을 통해 입력하였으나, 픽업 오브젝트를 입력하지 않은 경우, 픽업 이벤트가 발생하지 않을 수 있다. 이 경우, 하나의 주문 정보에 대응하는 픽업 이벤트는 존재하지 않을 수 있다. 따라서, 원칙적으로 하나의 주문 정보에는 반드시 매장 도착 이벤트 및 픽업 이벤트가 발생하나, 배달 수행자의 입력에 따라, 매장 도착 이벤트 또는 픽업 이벤트 중 하나가 발생하지 않을 수 있다. 매장 도착 이벤트 또는 픽업 이벤트 중 하나가 발생하지 않은 주문 정보는 매장 위치를 보정하는데 매장 위치의 정확도를 낮출 수 있는 위험이 있다. 따라서, 서버(410)는 픽업 이벤트들 중에서, 대응하는 매장 도착 이벤트가 존재하는 픽업 이벤트를 매장 위치를 보정하기 위한 정보로 사용할 수 있다. 다른 실시예에서, 서버(410)는 매장 도착 이벤트들 중에서, 대응하는 픽업 이벤트가 존재하는 매장 도착 이벤트를 매장 위치를 보정하기 위한 정보로 사용할 수 있다. 특정 픽업 이벤트와 특정 매장 도착 이벤트가 동일 주문 정보에 대응하는 경우(431), 동작(432)에서, 서버(410)는 해당 픽업 이벤트를 제1 이벤트로 결정할 수 있다. 다른 실시예에서, 서버(410)는 해당 매장 도착 이벤트를 제1 이벤트로 결정할 수도 있다. 다른 실시예에서, 서버(410)는 동일 주문 정보에 대응하는 픽업 이벤트 및 매장 도착 이벤트를 제1 이벤트로 결정할 수도 있다. 제1 이벤트는 동일 주문 정보에 대응하는 매장 도착 이벤트가 존재하는 픽업 이벤트 또는 동일 주문 정보에 대응하는 픽업 이벤트가 존재하는 매장 도착 이벤트 중 적어도 하나를 의미할 수 있다. 필터링 결과, 제1 이벤트는 적어도 하나 이상 존재할 수 있다. 픽업 이벤트와 매장 도착 이벤트가 동일 주문 정보에 대응하지 않는 경우(433), 동작(434)에서 프로세서(220)는 해당 픽업 이벤트를 필터링하거나 해당 매장 도착 이벤트를 필터링할 수 있다. 예를 들어, 프로세서(220)는 동일 주문 정보에 대응하는 매장 도착 이벤트가 존재하지 않는 픽업 이벤트는 필터링하여, 매장 위치 보정에 사용하지 않는 정보로 결정할 수 있다. 다른 예를 들어, 프로세서(220)는 동일 주문 정보에 대응하는 픽업 이벤트가 존재하지 않는 매장 도착 이벤트는 필터링하여, 매장 위치 보정에 사용하지 않는 정보로 결정할 수 있다. 본 명세서에서 필터링은 필터링 대상이 되는 데이터(예: 픽업 이벤트, 매장 도착 이벤트)를 매장 위치를 보정하는데 사용되는 데이터 세트에서 제외시킨다는 의미일 수 있다.In operation 430 according to one embodiment, the server 410 may determine whether the pickup event and the store arrival event correspond to the same order information. The order information may be information related to an order request received from the consumer terminal. Order information may be transmitted to at least one of a supplier terminal or a delivery person terminal. Even though the delivery person arrives at the store location, the arrival object may not be input through the delivery person terminal, so the store arrival event may not occur. In this case, there may not be a store arrival event corresponding to one order information. For another example, if the delivery person arrives at the store location and inputs the arrival object through the delivery person terminal, but does not input the pickup object, the pickup event may not occur. In this case, there may not be a pickup event corresponding to one order information. Therefore, in principle, a store arrival event and a pickup event always occur in one order information, but depending on the input of the delivery person, either the store arrival event or the pickup event may not occur. There is a risk that order information in which one of the store arrival event or pickup event has not occurred may lower the accuracy of the store location when correcting the store location. Accordingly, the server 410 may use a pickup event for which a corresponding store arrival event exists among the pickup events as information for correcting the store location. In another embodiment, the server 410 may use, among store arrival events, a store arrival event in which a corresponding pickup event exists as information for correcting the store location. If a specific pickup event and a specific store arrival event correspond to the same order information (431), the server 410 may determine the corresponding pickup event as the first event in operation 432. In another embodiment, the server 410 may determine the store arrival event as the first event. In another embodiment, the server 410 may determine a pickup event and a store arrival event corresponding to the same order information as the first event. The first event may mean at least one of a pickup event in which a store arrival event corresponding to the same order information exists or a store arrival event in which a pickup event corresponding to the same order information exists. As a result of filtering, at least one first event may exist. If the pickup event and the store arrival event do not correspond to the same order information (433), the processor 220 may filter the pickup event or the store arrival event in operation 434. For example, the processor 220 may filter pickup events for which there is no store arrival event corresponding to the same order information and determine the information to be not used for store location correction. For another example, the processor 220 may filter store arrival events for which there is no pickup event corresponding to the same order information and determine the information not to be used for store location correction. In this specification, filtering may mean excluding data subject to filtering (e.g., pickup event, store arrival event) from the data set used to correct the store location.

일 실시예에 따른 프로세서(220)는 매장 위치 보정에 픽업 이벤트들을 사용할 수 있다. 이 경우, 제1 이벤트는 픽업 이벤트가 될 수 있다. 예를 들어, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트 중 픽업 이벤트가 제1 이벤트로 결정될 수 있다. 다른 실시예에서, 프로세서(220)는 매장 위치 보정에 매장 도착 이벤트들을 사용할 수 있다. 이 경우, 제1 이벤트는 매장 도착 이벤트가 될 수 있다. 예를 들어, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트 중 매장 도착 이벤트가 제1 이벤트로 결정될 수 있다. 다른 실시예에서, 프로세서(220)는 매장 위치 보정에 픽업 이벤트들 및 매장 도착 이벤트들을 사용할 수 있다. 이 경우, 제1 이벤트는 픽업 이벤트 및 매장 도착 이벤트를 포함할 수 있다. 예를 들어, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트가 모두 제1 이벤트로 결정될 수 있다.The processor 220 according to one embodiment may use pickup events to correct store location. In this case, the first event may be a pickup event. For example, among the pickup event and store arrival event corresponding to the same order information, the pickup event may be determined as the first event. In another embodiment, processor 220 may use store arrival events for store location correction. In this case, the first event may be a store arrival event. For example, among the pickup event and store arrival event corresponding to the same order information, the store arrival event may be determined as the first event. In another embodiment, processor 220 may use pickup events and store arrival events for store location correction. In this case, the first event may include a pickup event and a store arrival event. For example, both a pickup event and a store arrival event corresponding to the same order information may be determined as the first event.

일 실시예에 따른 동작(440)에서, 서버(410)는 제1 이벤트 중, 픽업 이벤트가 발생한 제1 위치와 픽업 이벤트에 대응하는 매장 도착 이벤트가 발생한 제2 위치 사이 거리가 제1 사전 결정된 거리(예: 5m, 10m) 이내인지 판단할 수 있다. 본 개시의 "픽업 이벤트에 대응하는 매장 도착 이벤트"에서 "대응하는"은 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트 사이 관계를 의미할 수 있다. 배달 수행자들이 매장 위치에 도착하기 전에 도착 오브젝트를 선택하여, 매장 도착 이벤트가 발생한 위치인 제2 위치는 매장 위치로부터 멀리 떨어질 수 있다. 다른 예를 들어, 배달 수행자들이 매장 위치에서 출발한 후에 픽업 오브젝트를 선택하여, 픽업 이벤트가 발생한 위치인 제1 위치는 매장 위치로부터 멀리 떨어질 수 있다. 따라서, 픽업 이벤트가 발생한 위치와 매장 도착 이벤트가 발생한 위치 사이 거리가 멀수록, 픽업 이벤트 또는 매장 도착 이벤트가 매장 위치로부터 멀리 떨어진 곳에서 발생했음을 의미할 수 있다. 이 경우, 해당 픽업 이벤트는 정확한 매장 위치를 산출하는데 부정적인 영향을 미칠 수 있으므로, 서버(410)는 해당 픽업 이벤트를 필터링할 수 있다. 제1 위치(픽업 이벤트가 발생한 위치)와 제2 위치(매장 도착 이벤트가 발생한 위치) 사이 거리가 제1 사전 결정된 거리 이내인 경우(441), 동작(442)에서 서버(410)는 픽업 이벤트를 제2 이벤트로 결정할 수 있다. 다른 실시예에서, 서버(410)는 매장 도착 이벤트를 제2 이벤트로 결정할 수 있다. 다른 실시예에서, 서버(410)는 픽업 이벤트 및 매장 도착 이벤트를 제2 이벤트로 결정할 수 있다. 즉, 제2 이벤트는 매장 도착 이벤트가 발생한 제2 위치와 픽업 이벤트가 발생한 제1 위치의 사이 거리가 일정 거리 이내인 픽업 이벤트(또는 매장 도착 이벤트)를 의미할 수 있다. 예를 들어, 제2 이벤트는 제1 이벤트로 결정된 픽업 이벤트 또는 제1 이벤트로 결정된 매장 도착 이벤트 중 적어도 하나일 수 있다. 제1 위치와 제2 위치 사이 거리가 제1 사전 결정된 거리를 초과하는 경우(443), 동작(444)에서, 서버(410)는 해당 픽업 이벤트를 필터링하여, 해당 픽업 이벤트를 매장 위치 보정에 사용하지 않는 정보로 결정할 수 있다. 다른 실시예에서, 제1 위치와 제2 위치 사이 거리가 제1 사전 결정된 거리를 초과하는 경우(443), 동작(444)에서, 서버(410)는 해당 매장 도착 이벤트를 필터링하여, 해당 매장 도착 이벤트를 매장 위치 보정에 사용하지 않는 정보로 결정할 수 있다. 즉, 동작(444)에서 서버(410)는 해당 픽업 이벤트 또는 해당 매장 도착 이벤트 중 적어도 하나를 매장 위치를 보정하는데 사용되는 데이터 세트에서 제외시킬 수 있다.In operation 440 according to one embodiment, the server 410 determines that, among the first events, the distance between the first location where the pickup event occurred and the second location where the store arrival event corresponding to the pickup event occurred is a first predetermined distance. You can determine whether it is within (e.g. 5m, 10m). In the “store arrival event corresponding to the pickup event” of the present disclosure, “corresponding” may refer to the relationship between the pickup event and the store arrival event corresponding to the same order information. By selecting the arrival object before the delivery performers arrive at the store location, the second location where the store arrival event occurred may be far from the store location. As another example, the delivery attendants may select the pickup object after departing from the store location, so that the first location where the pickup event occurred may be far from the store location. Therefore, the greater the distance between the location where the pickup event occurred and the location where the store arrival event occurred, this may mean that the pickup event or store arrival event occurred farther away from the store location. In this case, because the pickup event may have a negative impact on calculating the exact store location, the server 410 may filter the pickup event. If the distance between the first location (the location where the pickup event occurred) and the second location (the location where the store arrival event occurred) is within the first predetermined distance (441), in operation 442, the server 410 sends the pickup event. It can be decided as a second event. In another embodiment, the server 410 may determine the store arrival event as the second event. In another embodiment, the server 410 may determine the pickup event and the store arrival event as the second event. That is, the second event may mean a pickup event (or store arrival event) where the distance between the second location where the store arrival event occurred and the first location where the pickup event occurred is within a certain distance. For example, the second event may be at least one of a pickup event determined as the first event or a store arrival event determined as the first event. If the distance between the first location and the second location exceeds the first predetermined distance (443), in operation 444, the server 410 filters the pickup event and uses the pickup event for store location correction. You can make decisions based on information you don't have. In another embodiment, if the distance between the first location and the second location exceeds the first predetermined distance (443), in operation 444, the server 410 filters the store arrival event to determine the store arrival event. The event can be determined as information that is not used for store location correction. That is, in operation 444, the server 410 may exclude at least one of the pickup event or the store arrival event from the data set used to correct the store location.

일 실시예에 따른 동작(445)에서, 서버(410)는 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인지 여부를 판단할 수 있다. 정확한 매장 위치를 산출하기 위하여, 제2 이벤트(예: 픽업 이벤트가 발생한 제1 위치)의 개수가 사전 결정된 개수(예: 100개) 이상인 경우가 요구될 수 있다. 보정된 매장 위치는 클러스터링을 통해 산출되므로, 클러스터링 결과의 정확도를 위해서는 사전 결정된 개수 이상의 제2 이벤트가 필요할 수 있다. 따라서, 동작(450) 및 동작(452)에서 적어도 하나의 제3 이벤트를 결정하는 동작은 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인 것에 응답하여 수행될 수 있다. 제2 이벤트의 개수가 사전 결정된 개수 이하인 경우(447), 동작(448)이 수행되어, 서버(410)는 매장 위치 보정 프로세스를 종료시킬 수 있다. 서버(410)는 매장 위치 보정 프로세스가 종료된 경우, 적어도 하나의 제2 이벤트를 임시 데이터베이스(380)에 저장할 수 있다. 따라서, 서버(410)는 시간이 지나서 임시 데이터베이스(380)에 저장된 제2 이벤트를 매장 위치를 보정하는데 사용할 수 있다. 예를 들어, 서버(410)는 최근에 수집된 픽업 이벤트와 임시 데이터베이스(380)에 저장된 제2 이벤트를 이용하여 매장 위치를 보정할 수 있다. 서버(410)는 최근에 수집된 픽업 이벤트와 임시 데이터베이스(380)에 저장된 제2 이벤트 중에서 적어도 하나의 제3 이벤트를 결정할 수 있고, 서버(410)는 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정할 수 있다. 서버(410)는 최근에 수집된 픽업 이벤트(또는 매장 도착 이벤트)에 높은 가중치를 부여하고, 임시 데이터베이스(380)에 저장된 기존에 수집된 제2 이벤트에 낮은 가중치를 부여하여 매장 위치를 보정할 수 있다. 동작(448)이 수행되는 경우, 동작(450)이하의 동작은 수행되지 않을 수 있다. 제2 이벤트의 개수가 사전 결정된 개수 이상인 경우(446), 동작(450)이 수행될 수 있다. 동작(445)은 생략될 수 있는 동작이며, 동작(445)이 생략되는 경우, 서버(410)는 동작(442) 이후에, 바로 동작(450)을 수행할 수 있다.In operation 445 according to one embodiment, the server 410 may determine whether at least one second event is greater than or equal to a predetermined number. In order to calculate an accurate store location, it may be required that the number of second events (e.g., the first location where the pickup event occurred) is greater than or equal to a predetermined number (e.g., 100). Since the corrected store location is calculated through clustering, more than a predetermined number of second events may be required for the accuracy of the clustering result. Accordingly, determining the at least one third event in operations 450 and 452 may be performed in response to the at least one second event being greater than or equal to a predetermined number. If the number of second events is less than or equal to the predetermined number (447), operation 448 is performed, and the server 410 may terminate the store location correction process. When the store location correction process is terminated, the server 410 may store at least one second event in the temporary database 380. Accordingly, the server 410 may use the second event stored in the temporary database 380 over time to correct the store location. For example, the server 410 may correct the store location using a recently collected pickup event and a second event stored in the temporary database 380. The server 410 may determine at least one third event from among the recently collected pickup event and the second event stored in the temporary database 380, and the server 410 may determine the store location based on the at least one third event. can be corrected. The server 410 may correct the store location by assigning high weight to the recently collected pickup event (or store arrival event) and assigning low weight to the previously collected second event stored in the temporary database 380. there is. If operation 448 is performed, operations below operation 450 may not be performed. If the number of second events is greater than or equal to a predetermined number (446), operation 450 may be performed. Operation 445 is an operation that can be omitted, and if operation 445 is omitted, the server 410 can perform operation 450 immediately after operation 442.

일 실시예에 따른 동작(450)에서, 서버(410)는 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제2 이벤트를 제3 이벤트로 결정할 수 있다. 이하에서는 적어도 하나의 제2 이벤트가 1) 픽업 이벤트인 경우, 2) 매장 도착 이벤트인 경우, 및 3) 픽업 이벤트 및 매장 도착 이벤트를 포함하는 경우에 대한 예시가 설명된다.In operation 450 according to one embodiment, server 410 determines that, of the at least one second event, the location at which the second event occurred is greater than or equal to a second predetermined distance from the store location stored for the store and a third predetermined distance. At least one second event below may be determined as the third event. Below, examples are described where at least one second event is 1) a pickup event, 2) a store arrival event, and 3) a pickup event and a store arrival event.

일 실시예에 따른 서버(410)는 제2 이벤트가 픽업 이벤트인 경우, 제2 이벤트들 중에서 제3 이벤트를 결정할 수 있다. 서버(410)는 적어도 하나의 제2 이벤트 중, 픽업 이벤트가 발생한 제1 위치가 매장 위치로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인지 여부를 판단할 수 있다. 예를 들어, 다음과 같은 조건문(if statement)에 기초하여 프로세서(220)가 명령을 실행할 수 있다. 조건문은 If the second event is a pickup event, the server 410 according to one embodiment may determine a third event among the second events. The server 410 may determine whether, among at least one second event, the first location where the pickup event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location. For example, the processor 220 may execute instructions based on the following if statement. Conditional sentences are

If(|제1 위치 - 매장 위치| >= 제2 사전 결정된 거리 && |제1 위치-매장 위치| <= 제3 사전 결정된 거리){If(|first location-store location| >= second predetermined distance && |first location-store location| <= third predetermined distance){

비율의 모수 = 제2 이벤트의 개수Parameter of ratio = number of second events

비율 = (조건을 모두 만족하는 제2 이벤트의 개수) / 비율의 모수Rate = (Number of second events that satisfy all conditions) / Rate parameter

}}

일 수 있다. 비율은 적어도 하나의 제2 이벤트(또는 비율의 모수) 중 적어도 하나의 제3 이벤트(또는 조건을 모두 만족하는 제2 이벤트)의 비율을 의미할 수 있다. 본 명세서에서 적어도 하나의 제2 이벤트 중 적어도 하나의 제3 이벤트는 제2 비율로 명명될 수 있다. 제3 사전 결정된 거리를 초과하는 제2 이벤트는 비율의 모수에 제외될 수도 있다.It can be. The ratio may refer to the ratio of at least one third event (or a second event that satisfies all conditions) among at least one second event (or ratio parameter). In this specification, at least one third event among the at least one second event may be referred to as a second rate. A second event that exceeds a third predetermined distance may be excluded from the rate parameter.

다른 실시예에서, 서버(410)는 제2 이벤트가 매장 도착 이벤트인 경우, 제2 이벤트들 중에서 제3 이벤트를 결정할 수 있다. 동작(450)에서, 서버(410)는 매장 도착 이벤트가 발생한 제2 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고, 제3 사전 결정된 거리 이하인 적어도 하나의 매장 도착 이벤트인 제3 이벤트를 결정할 수 있다. In another embodiment, the server 410 may determine a third event among the second events when the second event is a store arrival event. In operation 450, server 410 generates at least one store arrival event, a third location, where the second location at which the store arrival event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the stored store location for the store. Events can be determined.

일 실시예에 따른, 적어도 하나의 제2 이벤트 중 적어도 하나의 제3 이벤트의 비율은 적어도 하나의 제2 이벤트 중, 매장 도착 이벤트가 발생한 제2 위치가 매장 위치로부터 제3 사전 결정된 거리 초과인 제2 이벤트가 제외된 모수에 기초하여 결정될 수 있다.According to one embodiment, the ratio of at least one third event among the at least one second event is such that, of the at least one second event, the second location where the store arrival event occurred is greater than a third predetermined distance from the store location. 2 events can be determined based on the excluded parameters.

다른 실시예에서, 서버(410)는 제2 이벤트가 픽업 이벤트 및 매장 도착 이벤트를 모두 포함하는 경우, 제2 이벤트로 결정된 픽업 이벤트 또는 제2 이벤트로 결정된 매장 도착 이벤트 중 적어도 하나를 제3 이벤트로 결정할 수 있다.In another embodiment, when the second event includes both a pickup event and a store arrival event, the server 410 selects at least one of the pickup event determined as the second event or the store arrival event determined as the second event as the third event. You can decide.

도 6을 참조하여 설명하면, 제2 사전 결정된 거리(620), 제3 사전 결정된 거리(630), 매장에 대해 저장된 매장 위치(610) 및 픽업 이벤트들(621, 622, 623, 631, 641, 642)이 도시되어 있다. 도 6에 도시된 이벤트들(621, 622, 623, 631, 641, 642)은 매장 도착 이벤트들일 수도 있으며, 본 개시는 이에 제한되지 않는다. 서버(410)는 동작(450)을 통해 (a) 적어도 하나의 제2 이벤트 중 제2 이벤트의 위치가 매장 위치(610)로부터 제2 사전 결정된 거리 이하인 제2 이벤트의 비율, 또는 (b) 적어도 하나의 제2 이벤트 중 제2 이벤트의 위치가 매장 위치(610)로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트의 비율을 산출할 수 있다. 전술한 비율 (a) 및/또는 (b)를 산출할 때, 모수가 되는 적어도 하나의 제2 이벤트 중에서, 제3 사전 결정된 거리 밖에 위치하는 제2 이벤트는 제외될 수도 있다. 제2 사전 결정된 거리 및 제3 사전 결정된 거리를 설정하는 이유는, 실제 매장 위치와 매장에 대해 저장된 매장 위치의 차이가 허용되는 오차 범위를 넘어설 정도로 큰지 여부를 판단하거나, 실제 매장 위치가 매장에 대해 저장된 매장 위치와 다른 건물에 존재하는지 여부를 판단하기 위함일 수도 있다. 제2 사전 결정된 거리는 예를 들어, 30m이고, 제3 사전 결정된 거리는 예를 들어, 300m일 수 있다. 전술한 사전 결정된 거리는 예시일 뿐, 본 개시는 이에 제한되지 않으며, 상황에 따라 다르게 변경될 수도 있다.6 , a second predetermined distance 620, a third predetermined distance 630, a store location stored for the store 610, and pickup events 621, 622, 623, 631, 641, 642) is shown. The events 621, 622, 623, 631, 641, and 642 shown in FIG. 6 may be store arrival events, and the present disclosure is not limited thereto. Server 410 , through operation 450 , determines (a) the proportion of at least one second event where the location of the second event is less than or equal to a second predetermined distance from store location 610 , or (b) at least Among one second events, a ratio of second events in which the location of the second event is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location 610 may be calculated. When calculating the above-described ratio (a) and/or (b), among at least one second event serving as a parameter, a second event located outside a third predetermined distance may be excluded. The reason for setting the second predetermined distance and the third predetermined distance is to determine whether the difference between the actual store location and the store location stored for the store is large enough to exceed the allowable error range, or the actual store location is stored in the store. This may be to determine whether the store is located in a different building from the stored store location. The second predetermined distance may be, for example, 30 m, and the third predetermined distance may be, for example, 300 m. The above-mentioned predetermined distance is only an example, the present disclosure is not limited thereto, and may be changed depending on the situation.

일 실시예에 따른 서버(410)는 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 미만인 경우(453), 동작(454)에서, 매장에 대해 저장된 매장 위치를 유지할 수 있다. 도 6을 참조하여 설명하면, 매장 위치(610)로부터 제2 사전 결정된 거리(620) 이하에는 픽업 이벤트들(또는 매장 도착 이벤트들)(621, 622, 623)이 존재할 수 있고, 제2 이벤트들 중, 제2 사전 결정된 거리(620) 이상 제3 사전 결정된 거리(630) 미만에 위치하는 픽업 이벤트들(또는 매장 도착 이벤트들)의 비율은 제1 비율(예: 50%) 미만일 수 있다. 이 경우, 서버(410)는 매장에 대해 저장된 매장 위치(610)를 보정하지 않고 유지할 수 있다. Server 410 according to one embodiment maintains the stored store location for the store in operation 454 if the second event above the second predetermined distance and below the third predetermined distance is less than the first ratio (453). You can. 6 , there may be pickup events (or store arrival events) 621, 622, 623 below a second predetermined distance 620 from the store location 610, and the second events Among them, the ratio of pickup events (or store arrival events) located between the second predetermined distance 620 and less than the third predetermined distance 630 may be less than the first ratio (eg, 50%). In this case, the server 410 may maintain the store location 610 stored for the store without correcting it.

도시되지 않은 다른 실시예에 따른 서버(410)는, 제2 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 이상인 경우(453), 제2 사전 결정된 거리 이하에 위치하는 픽업 이벤트들(또는 매장 도착 이벤트들)을 제3 이벤트로 결정할 수 있다. 그리고 서버(410)는 제2 사전 결정된 거리 이하에 위치하는 제3 이벤트를 클러스터링하여 보정된 매장 위치를 산출할 수도 있다. 도 6을 참조하여 설명하면, 서버(410)는 제2 사전 결정된 거리(620) 이내에 위치하는 제2 이벤트들(621, 622, 623)을 제3 이벤트로 결정하고, 결정된 제3 이벤트들을 클러스터링하여 보정된 매장 위치를 획득할 수 있다.The server 410 according to another embodiment, not shown, selects pickup events (or store arrival events) located below the second predetermined distance when the second event below the second predetermined distance is greater than or equal to the first ratio (453). ) can be determined as the third event. Additionally, the server 410 may calculate the corrected store location by clustering the third event located within the second predetermined distance. Referring to FIG. 6, the server 410 determines the second events 621, 622, and 623 located within the second predetermined distance 620 as the third event, and clusters the determined third events. The corrected store location can be obtained.

일 실시예에 따른 서버(410)는 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장 위치로부터 제3 사전 결정된 거리 이상인 제2 이벤트를 적어도 하나의 제2 이벤트 중 적어도 하나의 제3 이벤트의 비율의 모수에서 제외시킬 수 있다. 도 6을 참조하여 설명하면, 제3 사전 결정된 거리(630) 이상인 픽업 이벤트(또는 매장 도착 이벤트)(예: 641, 642)는 매장 위치 보정에 사용할 수 없으므로, 서버(410)는 매장 위치로부터 제3 사전 결정된 거리 이상인 제2 이벤트는 모수에서 제외시킬 수 있다. 예를 들어, 전체 제2 이벤트의 개수가 100개이고, 제3 사전 결정된 거리 이상인 제2 이벤트가 20개인 경우, 모수는 80개일 수 있다. 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하에 위치하는 제2 이벤트가 60개인 경우, 서버(410)는 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하에 위치하는 제2 이벤트의 비율을 60/100이 아닌, 60/80 = 75%로 산출할 수 있다. The server 410 according to an embodiment may, among the at least one second event, select a second event in which the location at which the second event occurs is greater than or equal to a third predetermined distance from the store location as at least one third event among the at least one second event. It can be excluded from the parameter of the rate of events. 6, since a pickup event (or store arrival event) (e.g., 641, 642) that is greater than or equal to the third predetermined distance 630 cannot be used for store location correction, the server 410 3 The second event that is more than a predetermined distance can be excluded from the parameter. For example, if the total number of second events is 100 and there are 20 second events that are greater than or equal to the third predetermined distance, the parameter may be 80. If there are 60 second events located above the second predetermined distance and below the third predetermined distance, the server 410 determines the proportion of second events located above the second predetermined distance and below the third predetermined distance. can be calculated as 60/80 = 75%, not 60/100.

실제 매장 위치가 기존 매장 위치와 동일 건물이 아닌 다른 건물에 위치할 수도 있다. 예를 들어, 제2 사전 결정된 거리 이내에 제2 이벤트들이 50% 이상 존재하는 경우, 실제 매장 위치와 기존 매장 위치는 동일 건물에 존재할 가능성이 높으나, 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이내에 제2 이벤트들이 50% 이상 존재하는 경우, 실제 매장 위치와 기존 매장 위치는 다른 건물에 존재할 가능성이 높을 수 있다. The actual store location may be located in a different building than the existing store location. For example, if more than 50% of the second events exist within a second predetermined distance, the actual store location and the existing store location are likely to be in the same building, but within the second predetermined distance and within the third predetermined distance. If more than 50% of the second events exist, there may be a high possibility that the actual store location and the existing store location are in different buildings.

일 실시예에 따른 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율(예: 50%, 55%) 이상인 경우(451), 동작(452)에서, 서버(410)는 픽업 이벤트가 발생한 제1 위치가 매장 위치로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트를 제3 이벤트로 결정할 수 있다. 도 7을 참조하여 설명하면, 매장 위치(710), 제2 사전 결정된 거리(720), 제3 사전 결정된 거리(730), 픽업 이벤트들(721, 731, 732, 733, 741, 742) 및 보정된 매장 위치(750)가 도시되어 있다. 전체 제2 이벤트들 중에서, 제2 사전 결정된 거리(720) 이상 및 제3 사전 결정된 거리(730) 이하인 제2 이벤트(예: 731, 732, 733)인 비율이 제1 비율(예: 50%) 이상인 경우(451), 서버(410)는 제2 사전 결정된 거리(720) 이상 및 제3 사전 결정된 거리(730) 이하인 픽업 이벤트(또는 제2 이벤트)(예: 731, 732, 733)를 제3 이벤트로 결정할 수 있다. 도 7에서, 서버(410)는 제2 사전 결정된 거리(720) 이내인 제2 이벤트(예: 721) 및 제3 사전 결정된 거리(730) 이상인 제2 이벤트(예: 741, 742)는 필터링할 수 있다. 서버(410)는 제3 이벤트(예: 731, 732, 733)에 기초하여 보정된 매장 위치(750)를 산출할 수 있다. 서버(410)는 제3 이벤트(예: 731, 732, 733)를 클러스터링한 결과로 보정된 매장 위치(750)를 획득할 수 있다. 보정된 매장 위치를 산출하는 방법은 이하에서 구체적으로 설명된다.If the second events that are greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance according to one embodiment are greater than or equal to a first percentage (e.g., 50%, 55%) (451), in operation 452, the server (410) may determine a second event in which the first location where the pickup event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location as the third event. 7 , store location 710, second predetermined distance 720, third predetermined distance 730, pickup events 721, 731, 732, 733, 741, 742, and correction A store location 750 is shown. Of all the second events, a first proportion (e.g., 50%) is the second events (e.g., 731, 732, 733) that are greater than or equal to the second predetermined distance (720) and less than or equal to the third predetermined distance (730). If 451 or more, the server 410 sends a pickup event (or second event) (e.g., 731, 732, 733) that is greater than or equal to the second predetermined distance 720 and less than or equal to the third predetermined distance 730 to the third It can be decided by event. In Figure 7, the server 410 filters the second event (e.g., 721) that is within the second predetermined distance (720) and the second event (e.g., 741, 742) that is greater than or equal to the third predetermined distance (730). You can. The server 410 may calculate the corrected store location 750 based on the third event (eg, 731, 732, and 733). The server 410 may obtain the corrected store location 750 as a result of clustering the third event (eg, 731, 732, and 733). The method for calculating the corrected store location is described in detail below.

다른 실시예에 따른 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율(예: 50%, 55%) 이상인 경우(451), 동작(452)에서, 서버(410)는 매장 도착 이벤트가 발생한 제2 위치가 매장 위치로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트를 제3 이벤트로 결정할 수 있다. 도 7을 참조하여 설명하면, 매장 위치(710), 제2 사전 결정된 거리(720), 제3 사전 결정된 거리(730), 매장 도착 이벤트들(721, 731, 732, 733, 741, 742) 및 보정된 매장 위치(750)가 도시되어 있다. 전체 제2 이벤트들 중에서, 제2 사전 결정된 거리(720) 이상 및 제3 사전 결정된 거리(730) 이하인 제2 이벤트(예: 731, 732, 733)인 비율이 제1 비율(예: 50%) 이상인 경우(451), 서버(410)는 제2 사전 결정된 거리(720) 이상 및 제3 사전 결정된 거리(730) 이하인 매장 도착 이벤트(또는 제2 이벤트)(예: 731, 732, 733)를 제3 이벤트로 결정할 수 있다. 도 7에서, 서버(410)는 제2 사전 결정된 거리(720) 이내인 제2 이벤트(예: 721) 및 제3 사전 결정된 거리(730) 이상인 제2 이벤트(예: 741, 742)는 필터링할 수 있다. 서버(410)는 제3 이벤트(예: 731, 732, 733)에 기초하여 보정된 매장 위치(750)를 산출할 수 있다. 서버(410)는 제3 이벤트(예: 731, 732, 733)를 클러스터링한 결과로 보정된 매장 위치(750)를 획득할 수 있다.If the second events that are greater than or equal to the second predetermined distance and less than or equal to the third predetermined distance according to another embodiment are greater than or equal to a first percentage (e.g., 50%, 55%) (451), in operation 452, the server (410) may determine a second event where the second location where the store arrival event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location as the third event. 7 , a store location 710, a second predetermined distance 720, a third predetermined distance 730, store arrival events 721, 731, 732, 733, 741, 742, and A calibrated store location 750 is shown. Of all the second events, a first proportion (e.g., 50%) is the second events (e.g., 731, 732, 733) that are greater than or equal to the second predetermined distance (720) and less than or equal to the third predetermined distance (730). If 451 or more, the server 410 presents a store arrival event (or second event) (e.g., 731, 732, 733) that is greater than or equal to the second predetermined distance 720 and less than or equal to the third predetermined distance 730. It can be decided by 3 events. In Figure 7, the server 410 filters the second event (e.g., 721) that is within the second predetermined distance (720) and the second event (e.g., 741, 742) that is greater than or equal to the third predetermined distance (730). You can. The server 410 may calculate the corrected store location 750 based on the third event (eg, 731, 732, and 733). The server 410 may obtain the corrected store location 750 as a result of clustering the third event (eg, 731, 732, and 733).

일 실시예에 따른 동작(460)에서 서버(410)는 적어도 하나의 제3 이벤트를 클러스터링 하여 보정된 매장 위치를 산출할 수 있다. 서버(410)는 적어도 하나의 제3 이벤트에 대응하는 제1 위치의 클러스터링 결과에 기초하여 결정된 위치를 보정된 매장 위치로 결정할 수 있다. 다른 실시예에서 서버(410)는 적어도 하나의 제3 이벤트에 대응하는 제2 위치의 클러스터링 결과에 기초하여 결정된 위치를 보정된 매장 위치로 결정할 수 있다. 본 개시에서 픽업 이벤트(또는 제3 이벤트)를 클러스터링하는 동작은 픽업 이벤트가 발생한 제1 위치를 클러스터링하는 동작과 동일한 의미로 사용될 수 있다. 본 개시에서 매장 도착 이벤트(또는 제3 이벤트)를 클러스터링하는 동작은 매장 도착 이벤트가 발생한 제2 위치를 클러스터링하는 동작과 동일한 의미로 사용될 수 있다. 다른 실시예에서, 제3 이벤트는 픽업 이벤트 및 매장 도착 이벤트를 모두 포함할 수도 있다. 이 경우, 서버(410)는 픽업 이벤트가 발생한 제1 위치 및 매장 도착 이벤트가 발생한 제2 위치의 클러스터링 결과에 기초하여 결정된 위치를 보정된 매장 위치로 결정할 수 있다. 예를 들어, 픽업 이벤트 및 매장 도착 이벤트를 모두 클러스터링하는 동작은 픽업 이벤트가 발생한 제1 위치 및 매장 도착 이벤트가 발생한 제2 위치를 모두 클러스터링하는 동작과 동일한 의미로 사용될 수 있다. 도 3에서 전술한 바와 같이, 서버(410)는 보정된 매장 위치를 검증하여, 검증 결과에 기초하여 동작(470)을 수행할 수 있다. 보정된 매장 위치가 검증된 경우, 서버(410)는 보정된 매장 위치를 단말(480)에 전송할 수 있다. 클러스터링은 유사한 데이터들을 하나의 클러스터로 군집화하는 알고리즘일 수 있다. 예를 들어, 클러스터링은 K-means 클러스터링 또는 Density-based spatial clustering of applications with noise(DBSCAN)중 하나일 수 있다.In operation 460 according to one embodiment, the server 410 may calculate a corrected store location by clustering at least one third event. The server 410 may determine the location determined based on the clustering result of the first location corresponding to at least one third event as the corrected store location. In another embodiment, the server 410 may determine the location determined based on the clustering result of the second location corresponding to at least one third event as the corrected store location. In the present disclosure, the operation of clustering a pickup event (or third event) may be used in the same sense as the operation of clustering the first location where the pickup event occurred. In the present disclosure, the operation of clustering the store arrival event (or third event) may be used in the same sense as the operation of clustering the second location where the store arrival event occurred. In another embodiment, the third event may include both a pickup event and a store arrival event. In this case, the server 410 may determine the location determined based on the clustering result of the first location where the pickup event occurred and the second location where the store arrival event occurred as the corrected store location. For example, the operation of clustering both the pickup event and the store arrival event may be used in the same sense as the operation of clustering both the first location where the pickup event occurred and the second location where the store arrival event occurred. As described above in FIG. 3, the server 410 may verify the corrected store location and perform operation 470 based on the verification result. If the corrected store location is verified, the server 410 may transmit the corrected store location to the terminal 480. Clustering may be an algorithm that clusters similar data into one cluster. For example, the clustering can be either K-means clustering or Density-based spatial clustering of applications with noise (DBSCAN).

도 5는 본 개시의 다양한 실시예에 따른 제3 이벤트의 클러스터링 결과에 기초하여 매장 위치를 보정하는 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating a method of correcting a store location based on a clustering result of a third event according to various embodiments of the present disclosure.

도 5에서는 제3 이벤트들에 대응하는 제1 위치(531, 532, 533, 534, 535)가 표시되어 있다. 서버(410)는 복수의 제3 이벤트들에 대응하는 제1 위치(531, 532, 533, 534, 535)의 클러스터링 결과를 획득할 수 있다. 클러스터링을 통해, 도 5에 도시된 바와 같이 원(530)이 형성되고, 클러스터링 결과로서 원의 중점(550)이 형성될 수 있다. 원의 중점(550)은 보정된 매장 위치일 수 있다. 원의 중점(550)이 도 3에서 전술된 검증 절차를 통해 검증된 경우, 서버(410)는 매장에 대해 저장된 매장 위치(510)를 보정된 매장 위치(550)로 보정할 수 있다. In Figure 5, first positions 531, 532, 533, 534, and 535 corresponding to third events are displayed. The server 410 may obtain clustering results of the first locations 531, 532, 533, 534, and 535 corresponding to the plurality of third events. Through clustering, a circle 530 is formed as shown in FIG. 5, and the center point 550 of the circle can be formed as a result of clustering. The center point 550 of the circle may be the corrected store location. If the center of the circle 550 is verified through the verification procedure described above in FIG. 3 , the server 410 may correct the store location 510 stored for the store to the corrected store location 550 .

다른 실시예에서, 도 5에서는 제3 이벤트들에 대응하는 제2 위치(531, 532, 533, 534, 535)가 표시되어 있을 수도 있다. 서버(410)는 복수의 제3 이벤트들에 대응하는 제2 위치(531, 532, 533, 534, 535)의 클러스터링 결과를 획득할 수 있다. 클러스터링을 통해, 도 5에 도시된 바와 같이 원(530)이 형성되고, 클러스터링 결과로서 원의 중점(550)이 형성될 수 있다. 원의 중점(550)은 보정된 매장 위치일 수 있다.In another embodiment, second locations 531, 532, 533, 534, and 535 corresponding to third events may be displayed in FIG. 5. The server 410 may obtain clustering results of the second locations 531, 532, 533, 534, and 535 corresponding to the plurality of third events. Through clustering, a circle 530 is formed as shown in FIG. 5, and the center point 550 of the circle can be formed as a result of clustering. The center point 550 of the circle may be the corrected store location.

다른 실시예에서, 도 5에서는 제3 이벤트들에 대응하는 제1 위치(531, 532) 및 제2 위치(533, 534, 535)가 표시되어 있을 수도 있다. 서버(410)는 복수의 제3 이벤트들에 대응하는 제1 위치(531, 532) 및 제2 위치(533, 534, 535)의 클러스터링 결과를 획득할 수 있다. 클러스터링을 통해, 도 5에 도시된 바와 같이 원(530)이 형성되고, 클러스터링 결과로서 원의 중점(550)이 형성될 수 있다. 원의 중점(550)은 보정된 매장 위치일 수 있다.In another embodiment, FIG. 5 may display first locations 531 and 532 and second locations 533, 534 and 535 corresponding to third events. The server 410 may obtain clustering results of the first locations 531 and 532 and the second locations 533, 534 and 535 corresponding to the plurality of third events. Through clustering, a circle 530 is formed as shown in FIG. 5, and the center point 550 of the circle can be formed as a result of clustering. The center point 550 of the circle may be the corrected store location.

도 6은 본 개시의 다양한 실시예에 따른 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 미만인 경우를 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating a case where a second event that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance is less than a first ratio according to various embodiments of the present disclosure.

도 6에 대한 구체적인 설명은 도 4에서 전술하였으므로, 본 도면에서 구체적인 설명은 생략된다.Since the detailed description of FIG. 6 was described above with reference to FIG. 4, the detailed description in this drawing is omitted.

도 7은 본 개시의 다양한 실시예에 따른 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 이상인 경우의 매장 위치 보정 방법을 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating a store location correction method when a second event that is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance is greater than or equal to a first rate according to various embodiments of the present disclosure.

도 7에 대한 구체적인 설명은 도 4에서 전술하였으므로, 본 도면에서 구체적인 설명은 생략된다.Since the detailed description of FIG. 7 was described above with reference to FIG. 4, the detailed description in this drawing is omitted.

도 8은 본 개시의 다양한 실시예에 따른 전자 장치의 동작 흐름도이다.8 is a flowchart of an operation of an electronic device according to various embodiments of the present disclosure.

일 실시예에 따른 동작(810)에서, 전자 장치(200)는 매장과 관련된 복수의 픽업 이벤트들 및 복수의 매장 도착 이벤트들 중, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트를 식별하여, 식별된 픽업 이벤트 또는 매장 도착 이벤트 중 적어도 하나를 제1 이벤트로 식별할 수 있다. 전자 장치(200)는 복수의 픽업 이벤트들 또는 복수의 매장 도착 이벤트들 중 식별된 데이터들을 제1 데이터 세트에 포함시킬 수 있다. 제1 데이터 세트는 메모리에 저장된 후, 동작(820)에서 호출될 수 있다.In operation 810 according to one embodiment, the electronic device 200 identifies a pickup event and a store arrival event corresponding to the same order information among a plurality of pickup events and a plurality of store arrival events related to the store, At least one of the identified pickup event or store arrival event may be identified as the first event. The electronic device 200 may include data identified among a plurality of pickup events or a plurality of store arrival events in the first data set. The first data set may be stored in memory and then recalled at operation 820.

일 실시예에 따른 동작(820)에서, 전자 장치(200)는 제1 이벤트 중, 픽업 이벤트가 발생한 제1 위치와 픽업 이벤트에 대응하는 매장 도착 이벤트가 발생한 제2 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제2 이벤트를 결정할 수 있다. 전자 장치(200)는 제1 데이터 세트에 포함된 제1 이벤트들 중에서 제2 이벤트를 식별할 수 있다. 전자 장치(200)는 제2 이벤트를 제2 데이터 세트에 포함시킬 수 있다. 제2 데이터 세트는 메모리에 저장된 후, 제3 이벤트를 결정하는 동작(830)에서 호출될 수 있다.In operation 820 according to one embodiment, the electronic device 200 determines that, among the first events, the distance between the first location where the pickup event occurred and the second location where the store arrival event corresponding to the pickup event occurred is set to a first predetermined distance. At least one second event within a distance may be determined. The electronic device 200 may identify a second event among the first events included in the first data set. The electronic device 200 may include the second event in the second data set. The second data set may be stored in memory and then recalled in operation 830 to determine a third event.

일 실시예에 따른 전자 장치(200)는 적어도 하나의 제3 이벤트를 결정하는 동작을, 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인 것에 응답하여 수행할 수 있다. 전자 장치(200)는 메모리에 저장된 제2 데이터 세트를 호출하여 제2 이벤트의 개수를 알 수 있다.The electronic device 200 according to one embodiment may perform an operation of determining at least one third event in response to the fact that at least one second event is greater than or equal to a predetermined number. The electronic device 200 may know the number of second events by calling the second data set stored in the memory.

일 실시예에 따른 동작(830)에서, 전자 장치(200)는 적어도 하나의 제2 이벤트 중, 픽업 이벤트가 발생한 제1 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제3 이벤트를 결정할 수 있다. 전자 장치(200)는 매장 도착 이벤트가 발생한 제2 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고, 제3 사전 결정된 거리 이하인 적어도 하나의 매장 도착 이벤트인 제3 이벤트를 결정할 수 있다. 전자 장치(200)는 제3 이벤트를 제3 데이터 세트에 포함시킬 수 있다. 제3 데이터 세트는 메모리에 저장되거나 임시 데이터베이스(380)에 저장될 수도 있다.In operation 830 according to one embodiment, the electronic device 200 determines that, among the at least one second event, the first location where the pickup event occurred is greater than or equal to a second predetermined distance from the store location stored for the store and the third predetermined distance is At least one third event that is less than or equal to the determined distance may be determined. The electronic device 200 may determine a third event, which is at least one store arrival event in which the second location where the store arrival event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location stored for the store. . The electronic device 200 may include the third event in the third data set. The third data set may be stored in memory or in temporary database 380.

일 실시예에 따른 동작(840)에서, 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정할 수 있다. 동작(840)은 적어도 하나의 제2 이벤트 중에서 적어도 하나의 제3 이벤트가 제1 비율 이상일 때 수행될 수 있다. 적어도 하나의 제2 이벤트 중에서 적어도 하나의 제3 이벤트가 제1 비율 미만인 경우, 매장에 대해 저장된 매장 위치는 유지될 수 있다. 전자 장치(200)는 제3 데이터 세트에 기초하여 클러스터링을 수행하고, 클러스터링 결과에 기초하여 보정된 매장 위치를 획득할 수 있다.In operation 840 according to one embodiment, the store location may be corrected based on at least one third event. Operation 840 may be performed when at least one third event among at least one second event is greater than or equal to the first rate. If at least one third event of the at least one second event is less than the first rate, the store location stored for the store may be maintained. The electronic device 200 may perform clustering based on the third data set and obtain a corrected store location based on the clustering result.

도 3 및 8에 도시된 구성도 및 흐름도에서 프로세스 단계들, 방법 단계들, 알고리즘들 등이 순차적인 순서로 설명되었지만, 그러한 프로세스들, 방법들 및 알고리즘들은 임의의 적합한 순서로 작동하도록 구성될 수 있다. 다시 말하면, 본 개시의 다양한 실시예들에서 설명되는 프로세스들, 방법들 및 알고리즘들의 단계들이 본 개시에서 기술된 순서로 수행될 필요는 없다. 또한, 일부 단계들이 비동시적으로 수행되는 것으로서 설명되더라도, 다른 실시예에서는 이러한 일부 단계들이 동시에 수행될 수 있다. 또한, 도면에서의 묘사에 의한 프로세스의 예시는 예시된 프로세스가 그에 대한 다른 변화들 및 수정들을 제외하는 것을 의미하지 않으며, 예시된 프로세스 또는 그의 단계들 중 임의의 것이 본 개시의 다양한 실시예들 중 하나 이상에 필수적임을 의미하지 않으며, 예시된 프로세스가 바람직하다는 것을 의미하지 않는다.Although the process steps, method steps, algorithms, etc. are described in sequential order in the configuration diagrams and flow diagrams shown in FIGS. 3 and 8, such processes, methods, and algorithms may be configured to operate in any suitable order. there is. In other words, the steps of the processes, methods and algorithms described in various embodiments of this disclosure do not need to be performed in the order described in this disclosure. Additionally, although some steps are described as being performed asynchronously, in other embodiments, some such steps may be performed concurrently. Additionally, illustration of a process by depiction in the drawings does not mean that the illustrated process excludes other variations and modifications thereto, and that any of the illustrated process or steps thereof may be used in various embodiments of the present disclosure. It does not imply that more than one is required, nor does it imply that the illustrated process is preferred.

상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 개시가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Although the method has been described through specific embodiments, the method can also be implemented as computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media may include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media can be distributed across computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner. And, functional programs, codes, and code segments for implementing the above embodiments can be easily deduced by programmers in the technical field to which this disclosure pertains.

Claims (12)

전자 장치에 의해 수행되는 매장 위치 보정 방법에 있어서,
상기 매장과 관련된 주문 정보들 -상기 주문 정보들 각각은 픽업 이벤트 또는 매장 도착 이벤트 중 적어도 하나에 대응함- 중, 픽업 이벤트 및 매장 도착 이벤트가 발생한 주문 정보를 식별하여, 상기 식별된 주문 정보에 대응하는 상기 픽업 이벤트 또는 상기 매장 도착 이벤트 중 적어도 하나를 제1 이벤트로 결정하는 동작;
상기 제1 이벤트 중, 상기 픽업 이벤트가 발생한 위치와 상기 픽업 이벤트에 대응하는 상기 매장 도착 이벤트가 발생한 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제1 이벤트를 제2 이벤트로 결정하는 동작;
상기 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인지 여부를 판단하는 동작;
상기 판단 결과에 기초하여, 상기 적어도 하나의 제2 이벤트 중, 상기 제2 이벤트가 발생한 위치가 상기 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제2 이벤트를 제3 이벤트로 결정하는 동작; 및
상기 적어도 하나의 제3 이벤트에 기초하여 상기 매장 위치를 보정하는 동작;
을 포함하는,
매장 위치 보정 방법.
In a store location correction method performed by an electronic device,
Among the order information related to the store - each of the order information corresponds to at least one of a pickup event or a store arrival event - identifying the order information in which the pickup event and the store arrival event occurred, and corresponding to the identified order information determining at least one of the pickup event or the store arrival event as a first event;
Among the first events, determining at least one first event in which the distance between the location where the pickup event occurred and the location where the store arrival event corresponding to the pickup event occurred is within a first predetermined distance is a second event. ;
determining whether the at least one second event is greater than or equal to a predetermined number;
Based on the determination result, among the at least one second event, at least one second event in which the location at which the second event occurred is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location stored for the store. determining an event as a third event; and
correcting the store location based on the at least one third event;
Including,
How to correct store location.
삭제delete 제1항에 있어서,
상기 매장 위치를 보정하는 동작은, 상기 적어도 하나의 제2 이벤트 중 상기 적어도 하나의 제3 이벤트의 비율이 제1 비율 이상인 것에 응답하여 수행되는,
매장 위치 보정 방법.
According to paragraph 1,
The operation of correcting the store location is performed in response to the ratio of the at least one third event among the at least one second event being greater than or equal to the first ratio.
How to correct store location.
제3항에 있어서,
상기 적어도 하나의 제2 이벤트 중 상기 적어도 하나의 제3 이벤트의 비율은, 상기 적어도 하나의 제2 이벤트 중 상기 제2 이벤트가 발생한 위치가 상기 매장 위치로부터 제3 사전 결정된 거리 초과인 제2 이벤트가 제외된 모수에 기초하여 결정된,
매장 위치 보정 방법.
According to paragraph 3,
The ratio of the at least one third event among the at least one second event is such that a second event among the at least one second event where the location at which the second event occurs is greater than a third predetermined distance from the store location determined based on excluded parameters,
How to correct store location.
제1항에 있어서,
상기 적어도 하나의 제3 이벤트에 대응하는 위치에 기초하여 결정된 위치를 상기 매장 위치로 보정하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
According to paragraph 1,
An operation of correcting a location determined based on a location corresponding to the at least one third event to the store location;
A store location correction method further comprising:
제1항에 있어서,
상기 적어도 하나의 제3 이벤트에 대응하는 위치의 클러스터링 결과에 기초하여 결정된 위치를 상기 매장 위치로 보정하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
According to paragraph 1,
An operation of correcting a location determined based on a clustering result of locations corresponding to the at least one third event to the store location;
A store location correction method further comprising:
제1항에 있어서,
상기 보정된 매장 위치에 대한 검증을 요청하는 동작; 및
상기 검증 결과에 기초하여, 배달 서비스 데이터베이스에 상기 보정된 매장 위치를 업데이트할지 여부를 결정하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
According to paragraph 1,
Requesting verification of the corrected store location; and
Based on the verification result, determining whether to update the corrected store location in a delivery service database;
A store location correction method further comprising:
제7항에 있어서,
상기 검증 결과에 기초하여, 상기 배달 서비스 데이터베이스에 업데이트되지 않는 것으로 결정된 상기 보정된 매장 위치 및 제3 이벤트들에 대응하는 위치를 임시 데이터베이스에 저장하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
In clause 7,
Based on the verification result, storing the corrected store location determined not to be updated in the delivery service database and the location corresponding to third events in a temporary database;
A store location correction method further comprising:
제8항에 있어서,
상기 임시 데이터베이스에 저장된 제3 이벤트들 및 상기 임시 데이터베이스에 저장하는 동작 이후에 추가로 수신된 복수의 픽업 이벤트들 또는 복수의 매장 도착 이벤트들 중 적어도 하나에 기초하여 상기 매장 위치를 다시 보정하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
According to clause 8,
Re-correcting the store location based on at least one of third events stored in the temporary database and a plurality of pickup events or a plurality of store arrival events additionally received after the storing operation in the temporary database;
A store location correction method further comprising:
제9항에 있어서,
상기 매장 위치를 다시 보정하는 동작은,
상기 임시 데이터베이스에 저장된 제3 이벤트들에 비해, 상기 임시 데이터베이스에 저장하는 동작 이후에 추가로 수신된 복수의 픽업 이벤트들 또는 복수의 매장 도착 이벤트들에 더 높은 가중치를 부여하여 상기 매장 위치를 다시 보정하는 동작;
을 포함하는,
매장 위치 보정 방법.
According to clause 9,
The operation of re-correcting the store location is,
Compared to the third events stored in the temporary database, the store location is re-corrected by assigning higher weight to a plurality of pickup events or a plurality of store arrival events additionally received after the operation of storing in the temporary database. action;
Including,
How to correct store location.
제1항에 있어서,
복수의 배달원들에 각각 대응하는 복수의 단말들로부터 각각의 주문 정보에 대응하는 이벤트를 수신하여, 상기 이벤트가 픽업 이벤트인지 매장 도착 이벤트인지 여부를 식별하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
According to paragraph 1,
Receiving an event corresponding to each order information from a plurality of terminals respectively corresponding to a plurality of delivery workers, and identifying whether the event is a pickup event or a store arrival event;
A store location correction method further comprising:
전자 장치에 있어서,
프로세서; 및
상기 프로세서에 의해 실행되도록 구성된 명령어들이 저장된 메모리
를 포함하고,
상기 명령어들은 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
매장과 관련된 주문 정보들 -상기 주문 정보들 각각은 픽업 이벤트 또는 매장 도착 이벤트 중 적어도 하나에 대응함- 중, 픽업 이벤트 및 매장 도착 이벤트가 발생한 주문 정보를 식별하여, 상기 식별된 주문 정보에 대응하는 상기 픽업 이벤트 또는 상기 매장 도착 이벤트 중 적어도 하나를 제1 이벤트로 결정하고,
상기 제1 이벤트 중, 상기 픽업 이벤트가 발생한 위치와 상기 픽업 이벤트에 대응하는 상기 매장 도착 이벤트가 발생한 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제1 이벤트를 제2 이벤트로 결정하고,
상기 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인지 여부를 판단하고,
상기 판단 결과에 기초하여, 상기 적어도 하나의 제2 이벤트 중, 상기 제2 이벤트가 발생한 위치가 상기 매장 위치로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인지 여부에 기초하여 적어도 하나의 제2 이벤트를 제3 이벤트로 결정하고, 그리고
상기 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정하는,
전자 장치.


In electronic devices,
processor; and
Memory storing instructions configured to be executed by the processor
Including,
When executed by the processor, the instructions cause the processor to:
Among order information related to a store - each of the order information corresponds to at least one of a pickup event or a store arrival event - identify the order information in which the pickup event and the store arrival event occurred, and identify the order information corresponding to the identified order information. Determining at least one of the pickup event or the store arrival event as the first event,
Among the first events, determining at least one first event in which the distance between the location where the pickup event occurred and the location where the store arrival event corresponding to the pickup event occurred is within a first predetermined distance as the second event,
Determine whether the at least one second event is greater than or equal to a predetermined number,
Based on the determination result, among the at least one second event, at least one second event is performed based on whether the location at which the second event occurs is greater than or equal to a second predetermined distance and less than or equal to a third predetermined distance from the store location. 2 Decide that event is the 3rd event, and
Correcting the store location based on the at least one third event,
Electronic devices.


KR1020230058913A 2023-05-08 2023-05-08 Electronic device and operation method for adjusting store location KR102630439B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230058913A KR102630439B1 (en) 2023-05-08 2023-05-08 Electronic device and operation method for adjusting store location

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230058913A KR102630439B1 (en) 2023-05-08 2023-05-08 Electronic device and operation method for adjusting store location

Publications (1)

Publication Number Publication Date
KR102630439B1 true KR102630439B1 (en) 2024-01-31

Family

ID=89717261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230058913A KR102630439B1 (en) 2023-05-08 2023-05-08 Electronic device and operation method for adjusting store location

Country Status (1)

Country Link
KR (1) KR102630439B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101721532B1 (en) * 2015-07-30 2017-04-10 (주)아이토브 Delivery management system using smartband
KR20180091808A (en) * 2016-12-30 2018-08-16 베이징 디디 인피니티 테크놀로지 앤드 디벨럽먼트 컴퍼니 리미티드 Methods and systems for modifying location information of a request
KR20200132489A (en) * 2019-05-17 2020-11-25 승영욱 Systems and methods for optimizing delivery route
KR20220020320A (en) * 2019-07-15 2022-02-18 쿠팡 주식회사 Computerized systems and methods for address correction
KR20230054945A (en) * 2021-10-18 2023-04-25 주식회사 서브코리아 Delivery order relay system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101721532B1 (en) * 2015-07-30 2017-04-10 (주)아이토브 Delivery management system using smartband
KR20180091808A (en) * 2016-12-30 2018-08-16 베이징 디디 인피니티 테크놀로지 앤드 디벨럽먼트 컴퍼니 리미티드 Methods and systems for modifying location information of a request
KR20200132489A (en) * 2019-05-17 2020-11-25 승영욱 Systems and methods for optimizing delivery route
KR20220020320A (en) * 2019-07-15 2022-02-18 쿠팡 주식회사 Computerized systems and methods for address correction
KR20230054945A (en) * 2021-10-18 2023-04-25 주식회사 서브코리아 Delivery order relay system

Similar Documents

Publication Publication Date Title
US11143762B2 (en) GNSS correction data distribution device, GNSS correction data distribution system, and GNSS correction data distribution method
CN104580344A (en) method and system for generating resource access control desition
US11036474B2 (en) Automating service maturity analysis and estimation
US9842294B2 (en) Interactive constraint solver
US10498897B1 (en) Systems and methods for simulating multiple call center balancing
CN105793884A (en) Device maintenance server and device maintenance system
US20220058586A1 (en) In Advance Workforce Instant Wage Payment
JP6910229B2 (en) Information processing device and credit rating calculation method
CN102831169B (en) Plane figure relation determining method and system in geographical information system
KR102630439B1 (en) Electronic device and operation method for adjusting store location
US20150205598A1 (en) Method for managing application and electronic device for processing method
CN112860953A (en) Data importing method, device, equipment and storage medium of graph database
US11721134B2 (en) Dynamic processing system for roadside service control and output generation
US20200005383A1 (en) Data validation and presentation
US20190303474A1 (en) Efficient parallelized computation of multiple target data-elements
US11562421B2 (en) Management of revisions on revisions of orders
US11165736B2 (en) E-mail display device and non-transitory computer readable medium storing program
CN113342781A (en) Data migration method, device, equipment and storage medium
CN114647578B (en) System testing method, device, equipment and storage medium
CN110580200A (en) Data synchronization method and device
JP2020510936A (en) Image correction method and system by correction pattern analysis
CN111767351A (en) Method and device for determining parking spot of transfer robot
CN112308578B (en) Method, electronic device and storage medium for task anti-fraud
CN110235075A (en) A kind of automatic running method and device of factory&#39;s article-holding cart
US20220107424A1 (en) Dynamic assignment of devices based on precision sensors

Legal Events

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