KR102630439B1 - Electronic device and operation method for adjusting store location - Google Patents
Electronic device and operation method for adjusting store location Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012937 correction Methods 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 20
- 229940124447 delivery agent Drugs 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003203 everyday effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0833—Tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office 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.
Description
본 개시는 매장 위치를 보정하기 위한 전자 장치 및 그의 동작 방법에 관한 것이다.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
단말(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
네트워크는 전자 장치(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
도 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
통신 회로(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
프로세서(220)는 소프트웨어(예: 명령, 프로그램 등)를 구동하여 프로세서(220)에 연결된 전자 장치(200)의 적어도 한 구성요소를 제어할 수 있다. 또한 프로세서(220)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(220)는 데이터 등을 메모리(230)로부터 로드하거나, 메모리(230)에 저장할 수 있다. 나아가 프로세서(220)는 통신 회로(210)를 통해, 사용자의 단말 및 외부 장치와 다양한 정보를 송수신할 수 있다. 일 실시예에서, 프로세서(220)는 통신 회로(210)를 제어하여, 사용자의 단말에 각종 페이지에 대한 정보 등 다양한 정보를 송신할 수 있다.The
메모리(230)는 다양한 정보(데이터)를 저장할 수 있다. 메모리(230)에 저장되는 정보는, 전자 장치(200)의 적어도 한 구성요소에 의해 획득되거나, 처리되거나, 사용되는 정보로서, 소프트웨어(예: 명령어, 프로그램 등)를 포함할 수 있다. 메모리(230)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 본 개시에서, 명령 내지 프로그램은 메모리(230)에 저장되는 소프트웨어로서, 전자 장치(200)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 전자 장치(200)의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다. 일 실시예에서, 메모리(230)는 프로세서(220)에 의한 실행 시 프로세서(220)가 연산을 수행하도록 하는 명령어들을 저장할 수 있다. 메모리(230)는 통신 회로(210)를 통하여 단말로부터 수신된 정보 및/또는 통신 회로(210)를 통하여 단말에 송신된 정보의 적어도 일부를 저장할 수 있다. 프로세서(220)는 통신 회로(210)를 통하여 단말로부터 수신된 정보 및/또는 통신 회로(210)를 통하여 단말에 송신된 정보의 적어도 일부를 메모리(230)에 저장할 수 있다.The
이하, 도 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
도 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
설명을 위해, 복수의 배달 수행자 단말들, 한 개의 수요자 단말 및 한 개의 공급자 단말이 전자 장치(200)와 연동될 수 있다. 이는 이해의 편의를 위한 것일 뿐이고, 배달 서비스에 참여하는 주체들의 수를 나타내는 각 단말의 개수는 얼마든지 달라질 수 있다. 전술한 예시에서, 필요에 따라 일부 구성요소가 추가되거나 삭제될 수 있다.For explanation purposes, a plurality of delivery agent terminals, one consumer terminal, and one supplier terminal may be linked with the
전자 장치(200)는 수요자 단말로부터 요청된 신규 주문을 식별할 수 있다. 여기서, 전자 장치(200)가 신규 주문을 식별하는 동작에는 다양한 기술들이 참조될 수 있다. 예를 들어, 전자 장치(200)는 요청된 주문들을 리스트로 관리하여 그 주문들의 처리를 관리할 수 있으며, 신규로 리스트에 편입된 주문을 신규 주문으로 식별할 수 있다. 다른 예를 들어, 전자 장치(200)는 주문에 포함된 식별 정보에 기초하여, 신규 주문을 식별할 수도 있다. 전술한 예시들 외에도 수요자 단말로부터 요청된 신규 주문을 식별하는 다양한 동작들이 본 개시의 범위에 포함될 수 있으며, 신규 주문에 대한 후속 처리를 관리하기 위해 신규 주문을 식별하는 방식이라면 모든 동작이 본 개시의 범위에 포함될 수 있음을 유의해야 한다. 이처럼 전자 장치(200)가 식별한 신규 주문에는, 다양한 정보들이 포함될 수 있다. 구체적인 예시로서, 신규 주문은, 수요자가 주문한 상품의 내역, 그 상품의 공급자, 그 상품의 픽업 장소(예: 공급자의 매장 위치) 및 그 상품의 배달 장소 등에 관한 다양한 정보를 포함할 수 있다.The
또한, 전자 장치(200)는 신규 주문에 포함된 다양한 정보들에 기초하여, 신규 주문에 대응되는 공급자 단말에 신규 주문을 전송할 수 있다. 여기서, 공급자 단말은 신규 주문을 수신할 수 있으며, 그 공급자는 신규 주문을 확인하여 그 신규 주문에 대응되는 상품의 준비를 진행할 수 있다.Additionally, the
나아가, 전자 장치(200)는 신규 주문에 포함된 다양한 정보들에 기초하여, 복수의 배달 수행자 단말 중 어느 하나에 신규 주문을 배정할 수 있다. 여기서, 전자 장치(200)는 신규 주문에 포함된 다양한 정보들 외에도 복수의 배달 수행자 단말 각각의 상태 정보를 더 고려하여, 복수의 배달 수행자 단말 중 어느 하나에 신규 주문을 배정할 수도 있다. 구체적으로, 유휴 상태인 배달 수행자 단말과 배달 중 상태인 배달 수행자 단말 각각의 상태 정보를 더 고려하여, 복수의 배달 수행자 단말 중 어느 하나에 신규 주문을 배정할 수 있다. 이처럼 복수의 배달 수행자 단말 중 어느 하나에 신규 주문이 배정되면, 그 배달 수행자는 신규 주문에 대응되는 상품을 픽업 장소에서 픽업하고, 배달 장소로 배달할 수 있다.Furthermore, the
일 실시예에 따른 전자 장치(200)는, 전술한 동작들 외에도 배달 수행자 단말, 수요자 단말 및 공급자 단말과 상호 연동하여, 주문을 처리하는 다양한 동작들을 수행할 수 있으며, 주문의 접수부터 완결까지의 추가 또는 변형될 수 있는 모든 동작들을 수행할 수 있다고 이해되어야 할 것이다. In addition to the above-described operations, the
일 실시예에 따른 전자 장치(200)는 서버일 수 있다. 이하에서의 동작은 서버에서 수행되는 것일 수 있다.The
일 실시예에 따른 프로세서(220)는 이벤트(310)를 단말로부터 수신할 수 있다. 이벤트(310)를 전자 장치(200)에 전송하는 단말은 배달 수행자 단말일 수 있다. 이벤트는 배달 수행자 단말에 입력된 사용자 입력에 기초하여 결정된 정보일 수 있다. 예를 들어, 배달 수행자 단말이 배달 수행자로부터 도착 오브젝트의 입력을 수신하는 경우, 배달 수행자 단말에서 발생한 이벤트는 매장 도착 이벤트일 수 있다. 배달 수행자는 공급자가 위치한 매장 위치에 도착하는 경우, 도착 오브젝트를 선택할 수 있다. 이를 통해, 프로세서(220)는 배달 수행자가 매장 위치에 도착했음을 알 수 있다. 다른 예를 들어, 배달 수행자 단말이 배달 수행자로부터 픽업 오브젝트의 입력을 수신하는 경우, 배달 수행자 단말에서 발생한 이벤트는 픽업 이벤트일 수 있다. 배달 수행자는 공급자가 위치한 매장 위치에서 상품을 픽업한 후에 픽업 오브젝트를 선택할 수 있다. 이를 통해, 프로세서(220)는 배달 수행자가 매장 위치에서 상품을 픽업했음을 알 수 있다.The
일 실시예에 따른 프로세서(220)는 소스 핸들러(320)를 이용하여, 수신된 이벤트들에 기초하여 매장 위치를 산출할 수 있다. 프로세서(220)는 수신된 이벤트들을 이벤트 맵핑(321)을 이용하여 이벤트가 픽업 이벤트인지 매장 도착 이벤트인지 식별하여 맵핑할 수 있다. 프로세서(220)는 이벤트 맵핑(321)을 이용한 맵핑 결과에 기초하여, 필터링(322)을 수행할 수 있다. 프로세서(220)는 위치 산출(323)에 사용되는 픽업 이벤트를 선별하기 위해 필터링(322)을 수행할 수 있다. 프로세서(220)는 정확한 매장 위치를 산출하기 위하여 복수의 픽업 이벤트들 중 일부를 필터링할 수 있고, 적어도 일부를 위치 산출(323)에 사용할 수 있다. 필터링(322)에 대한 구체적인 설명은 도 4를 참조하여 구체적으로 후술된다.The
일 실시예에 따른 프로세서(220)는 소스 핸들러(320)의 위치 산출(323)을 통해 획득한 매장 위치들을 후보 위치(330)에 저장할 수 있다. 후보 위치(330)에는 하나의 매장에 대응하는 복수의 매장 위치들이 저장될 수 있다. 하나의 매장에 대한 주문 정보는 매일 생성될 수 있으며, 매일 생성된 주문 정보에 대응하는 픽업 이벤트 및/또는 매장 도착 이벤트가 매일 생성될 수 있다. 따라서, 프로세서(220)는 일정 기간 동안 수집된 이벤트를 이용하여 위치 산출(323)을 할 수 있다. 예를 들어, 최근 3주 동안 수집된 이벤트를 이용하여 프로세서(220)는 위치 산출(323)을 할 수 있다. 따라서, 시간의 흐름에 따라, 수집되는 픽업 이벤트들이 상이하고, 픽업 이벤트가 발생한 위치도 상이하므로, 위치 산출(323) 결과가 달라질 수 있다. The
일 실시예에 따른, 프로세서(220)는 후보 위치(330)에 포함된 복수의 매장 위치들 중에서 선택된 하나의 매장 위치에 기초하여 매장 위치를 보정(340)할 수 있다. 프로세서(220)는 보정된 매장 위치를 검증할 수 있다. 따라서, 프로세서(220)는 검증 결과에 기초하여 배달 서비스 데이터베이스에 보정된 매장 위치로 기존 매장 위치를 업데이트할지 여부를 결정할 수 있다. 검증은 수동 체크(350) 또는 다중 소스 체크(360) 중 적어도 하나에 기초하여 수행될 수 있다.According to one embodiment, the
일 실시예에 따른 보정된 매장 위치에 대하여, 관리자 단말은 수동 체크(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
일 실시예에 따른 프로세서(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
일 실시예에 따른 프로세서(220)는 임시 데이터베이스(380)에 저장된 이벤트(예: 픽업 이벤트, 매장 도착 이벤트), 소스 핸들러(320)에 수신된 픽업 이벤트들 또는 소스 핸들러(320)에 수신된 매장 도착 이벤트들 중 적어도 하나에 기초하여 매장 위치를 보정할 수 있다. 예를 들어, 소스 핸들러(320)에 수신된 이벤트는 T-1 시점에 발생한 픽업 이벤트일 수 있고, 임시 데이터베이스(380)에 저장된 이벤트는 T-2 시점 이전에 발생한 픽업 이벤트(또는 매장 도착 이벤트)일 수 있다. 따라서, 프로세서(220)는 특정 시점에 수신된 이벤트 뿐만 아니라, 과거에 수신된 이벤트들까지 사용하여 정확한 매장 위치를 산출할 수 있다.
일 실시예에 따른 프로세서(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
도 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
일 실시예에 따른 서버(410)는 이벤트를 수신하고, 수신된 이벤트를 식별할 수 있다. 예를 들어, 프로세서(220)는 수신된 이벤트가 매장 도착 이벤트인지 픽업 이벤트인지 여부를 식별할 수 있다. 프로세서(220)는 식별 결과에 기초하여 수신된 이벤트를 매장 도착 이벤트 또는 픽업 이벤트 중 적어도 하나로 맵핑할 수 있다. 이벤트 맵핑은 도 3에서 구체적으로 전술하였으므로, 본 도면에서 구체적인 설명은 생략된다.The
일 실시예에 따른 동작(430)에서, 서버(410)는 픽업 이벤트와 매장 도착 이벤트가 동일 주문 정보에 대응하는지 판단할 수 있다. 주문 정보는 수요자 단말로부터 수신한 주문 요청과 관련된 정보일 수 있다. 주문 정보는 공급자 단말 또는 배달 수행자 단말 중 적어도 하나에 전송될 수 있다. 배달 수행자는 매장 위치에 도착했음에도, 도착 오브젝트를 배달 수행자 단말을 통해 입력하지 않아, 매장 도착 이벤트가 발생하지 않을 수 있다. 이 경우, 하나의 주문 정보에 대응하는 매장 도착 이벤트는 존재하지 않을 수 있다. 다른 예를 들어, 배달 수행자는 매장 위치에 도착하여, 도착 오브젝트를 배달 수행자 단말을 통해 입력하였으나, 픽업 오브젝트를 입력하지 않은 경우, 픽업 이벤트가 발생하지 않을 수 있다. 이 경우, 하나의 주문 정보에 대응하는 픽업 이벤트는 존재하지 않을 수 있다. 따라서, 원칙적으로 하나의 주문 정보에는 반드시 매장 도착 이벤트 및 픽업 이벤트가 발생하나, 배달 수행자의 입력에 따라, 매장 도착 이벤트 또는 픽업 이벤트 중 하나가 발생하지 않을 수 있다. 매장 도착 이벤트 또는 픽업 이벤트 중 하나가 발생하지 않은 주문 정보는 매장 위치를 보정하는데 매장 위치의 정확도를 낮출 수 있는 위험이 있다. 따라서, 서버(410)는 픽업 이벤트들 중에서, 대응하는 매장 도착 이벤트가 존재하는 픽업 이벤트를 매장 위치를 보정하기 위한 정보로 사용할 수 있다. 다른 실시예에서, 서버(410)는 매장 도착 이벤트들 중에서, 대응하는 픽업 이벤트가 존재하는 매장 도착 이벤트를 매장 위치를 보정하기 위한 정보로 사용할 수 있다. 특정 픽업 이벤트와 특정 매장 도착 이벤트가 동일 주문 정보에 대응하는 경우(431), 동작(432)에서, 서버(410)는 해당 픽업 이벤트를 제1 이벤트로 결정할 수 있다. 다른 실시예에서, 서버(410)는 해당 매장 도착 이벤트를 제1 이벤트로 결정할 수도 있다. 다른 실시예에서, 서버(410)는 동일 주문 정보에 대응하는 픽업 이벤트 및 매장 도착 이벤트를 제1 이벤트로 결정할 수도 있다. 제1 이벤트는 동일 주문 정보에 대응하는 매장 도착 이벤트가 존재하는 픽업 이벤트 또는 동일 주문 정보에 대응하는 픽업 이벤트가 존재하는 매장 도착 이벤트 중 적어도 하나를 의미할 수 있다. 필터링 결과, 제1 이벤트는 적어도 하나 이상 존재할 수 있다. 픽업 이벤트와 매장 도착 이벤트가 동일 주문 정보에 대응하지 않는 경우(433), 동작(434)에서 프로세서(220)는 해당 픽업 이벤트를 필터링하거나 해당 매장 도착 이벤트를 필터링할 수 있다. 예를 들어, 프로세서(220)는 동일 주문 정보에 대응하는 매장 도착 이벤트가 존재하지 않는 픽업 이벤트는 필터링하여, 매장 위치 보정에 사용하지 않는 정보로 결정할 수 있다. 다른 예를 들어, 프로세서(220)는 동일 주문 정보에 대응하는 픽업 이벤트가 존재하지 않는 매장 도착 이벤트는 필터링하여, 매장 위치 보정에 사용하지 않는 정보로 결정할 수 있다. 본 명세서에서 필터링은 필터링 대상이 되는 데이터(예: 픽업 이벤트, 매장 도착 이벤트)를 매장 위치를 보정하는데 사용되는 데이터 세트에서 제외시킨다는 의미일 수 있다.In
일 실시예에 따른 프로세서(220)는 매장 위치 보정에 픽업 이벤트들을 사용할 수 있다. 이 경우, 제1 이벤트는 픽업 이벤트가 될 수 있다. 예를 들어, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트 중 픽업 이벤트가 제1 이벤트로 결정될 수 있다. 다른 실시예에서, 프로세서(220)는 매장 위치 보정에 매장 도착 이벤트들을 사용할 수 있다. 이 경우, 제1 이벤트는 매장 도착 이벤트가 될 수 있다. 예를 들어, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트 중 매장 도착 이벤트가 제1 이벤트로 결정될 수 있다. 다른 실시예에서, 프로세서(220)는 매장 위치 보정에 픽업 이벤트들 및 매장 도착 이벤트들을 사용할 수 있다. 이 경우, 제1 이벤트는 픽업 이벤트 및 매장 도착 이벤트를 포함할 수 있다. 예를 들어, 동일 주문 정보에 대응하는 픽업 이벤트와 매장 도착 이벤트가 모두 제1 이벤트로 결정될 수 있다.The
일 실시예에 따른 동작(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
일 실시예에 따른 동작(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
일 실시예에 따른 동작(450)에서, 서버(410)는 적어도 하나의 제2 이벤트 중, 제2 이벤트가 발생한 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제2 이벤트를 제3 이벤트로 결정할 수 있다. 이하에서는 적어도 하나의 제2 이벤트가 1) 픽업 이벤트인 경우, 2) 매장 도착 이벤트인 경우, 및 3) 픽업 이벤트 및 매장 도착 이벤트를 포함하는 경우에 대한 예시가 설명된다.In
일 실시예에 따른 서버(410)는 제2 이벤트가 픽업 이벤트인 경우, 제2 이벤트들 중에서 제3 이벤트를 결정할 수 있다. 서버(410)는 적어도 하나의 제2 이벤트 중, 픽업 이벤트가 발생한 제1 위치가 매장 위치로부터 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인지 여부를 판단할 수 있다. 예를 들어, 다음과 같은 조건문(if statement)에 기초하여 프로세서(220)가 명령을 실행할 수 있다. 조건문은 If the second event is a pickup event, the
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
일 실시예에 따른, 적어도 하나의 제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
도 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
일 실시예에 따른 서버(410)는 제2 사전 결정된 거리 이상 및 제3 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 미만인 경우(453), 동작(454)에서, 매장에 대해 저장된 매장 위치를 유지할 수 있다. 도 6을 참조하여 설명하면, 매장 위치(610)로부터 제2 사전 결정된 거리(620) 이하에는 픽업 이벤트들(또는 매장 도착 이벤트들)(621, 622, 623)이 존재할 수 있고, 제2 이벤트들 중, 제2 사전 결정된 거리(620) 이상 제3 사전 결정된 거리(630) 미만에 위치하는 픽업 이벤트들(또는 매장 도착 이벤트들)의 비율은 제1 비율(예: 50%) 미만일 수 있다. 이 경우, 서버(410)는 매장에 대해 저장된 매장 위치(610)를 보정하지 않고 유지할 수 있다.
도시되지 않은 다른 실시예에 따른 서버(410)는, 제2 사전 결정된 거리 이하인 제2 이벤트가 제1 비율 이상인 경우(453), 제2 사전 결정된 거리 이하에 위치하는 픽업 이벤트들(또는 매장 도착 이벤트들)을 제3 이벤트로 결정할 수 있다. 그리고 서버(410)는 제2 사전 결정된 거리 이하에 위치하는 제3 이벤트를 클러스터링하여 보정된 매장 위치를 산출할 수도 있다. 도 6을 참조하여 설명하면, 서버(410)는 제2 사전 결정된 거리(620) 이내에 위치하는 제2 이벤트들(621, 622, 623)을 제3 이벤트로 결정하고, 결정된 제3 이벤트들을 클러스터링하여 보정된 매장 위치를 획득할 수 있다.The
일 실시예에 따른 서버(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
실제 매장 위치가 기존 매장 위치와 동일 건물이 아닌 다른 건물에 위치할 수도 있다. 예를 들어, 제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
다른 실시예에 따른 제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
일 실시예에 따른 동작(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
도 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,
다른 실시예에서, 도 5에서는 제3 이벤트들에 대응하는 제2 위치(531, 532, 533, 534, 535)가 표시되어 있을 수도 있다. 서버(410)는 복수의 제3 이벤트들에 대응하는 제2 위치(531, 532, 533, 534, 535)의 클러스터링 결과를 획득할 수 있다. 클러스터링을 통해, 도 5에 도시된 바와 같이 원(530)이 형성되고, 클러스터링 결과로서 원의 중점(550)이 형성될 수 있다. 원의 중점(550)은 보정된 매장 위치일 수 있다.In another embodiment,
다른 실시예에서, 도 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
도 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
일 실시예에 따른 동작(820)에서, 전자 장치(200)는 제1 이벤트 중, 픽업 이벤트가 발생한 제1 위치와 픽업 이벤트에 대응하는 매장 도착 이벤트가 발생한 제2 위치 사이 거리가 제1 사전 결정된 거리 이내인 적어도 하나의 제2 이벤트를 결정할 수 있다. 전자 장치(200)는 제1 데이터 세트에 포함된 제1 이벤트들 중에서 제2 이벤트를 식별할 수 있다. 전자 장치(200)는 제2 이벤트를 제2 데이터 세트에 포함시킬 수 있다. 제2 데이터 세트는 메모리에 저장된 후, 제3 이벤트를 결정하는 동작(830)에서 호출될 수 있다.In
일 실시예에 따른 전자 장치(200)는 적어도 하나의 제3 이벤트를 결정하는 동작을, 적어도 하나의 제2 이벤트가 사전 결정된 개수 이상인 것에 응답하여 수행할 수 있다. 전자 장치(200)는 메모리에 저장된 제2 데이터 세트를 호출하여 제2 이벤트의 개수를 알 수 있다.The
일 실시예에 따른 동작(830)에서, 전자 장치(200)는 적어도 하나의 제2 이벤트 중, 픽업 이벤트가 발생한 제1 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고 제3 사전 결정된 거리 이하인 적어도 하나의 제3 이벤트를 결정할 수 있다. 전자 장치(200)는 매장 도착 이벤트가 발생한 제2 위치가 매장에 대해 저장된 매장 위치로부터 제2 사전 결정된 거리 이상이고, 제3 사전 결정된 거리 이하인 적어도 하나의 매장 도착 이벤트인 제3 이벤트를 결정할 수 있다. 전자 장치(200)는 제3 이벤트를 제3 데이터 세트에 포함시킬 수 있다. 제3 데이터 세트는 메모리에 저장되거나 임시 데이터베이스(380)에 저장될 수도 있다.In
일 실시예에 따른 동작(840)에서, 적어도 하나의 제3 이벤트에 기초하여 매장 위치를 보정할 수 있다. 동작(840)은 적어도 하나의 제2 이벤트 중에서 적어도 하나의 제3 이벤트가 제1 비율 이상일 때 수행될 수 있다. 적어도 하나의 제2 이벤트 중에서 적어도 하나의 제3 이벤트가 제1 비율 미만인 경우, 매장에 대해 저장된 매장 위치는 유지될 수 있다. 전자 장치(200)는 제3 데이터 세트에 기초하여 클러스터링을 수행하고, 클러스터링 결과에 기초하여 보정된 매장 위치를 획득할 수 있다.In
도 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.
상기 매장 위치를 보정하는 동작은, 상기 적어도 하나의 제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.
상기 적어도 하나의 제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.
상기 적어도 하나의 제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:
상기 적어도 하나의 제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:
상기 보정된 매장 위치에 대한 검증을 요청하는 동작; 및
상기 검증 결과에 기초하여, 배달 서비스 데이터베이스에 상기 보정된 매장 위치를 업데이트할지 여부를 결정하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
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:
상기 검증 결과에 기초하여, 상기 배달 서비스 데이터베이스에 업데이트되지 않는 것으로 결정된 상기 보정된 매장 위치 및 제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:
상기 임시 데이터베이스에 저장된 제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:
상기 매장 위치를 다시 보정하는 동작은,
상기 임시 데이터베이스에 저장된 제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.
복수의 배달원들에 각각 대응하는 복수의 단말들로부터 각각의 주문 정보에 대응하는 이벤트를 수신하여, 상기 이벤트가 픽업 이벤트인지 매장 도착 이벤트인지 여부를 식별하는 동작;
을 더 포함하는, 매장 위치 보정 방법.
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.
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)
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 |
-
2023
- 2023-05-08 KR KR1020230058913A patent/KR102630439B1/en active IP Right Grant
Patent Citations (5)
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'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 |