Method and apparatus for determining map to be loaded into delivery management application, and recording medium having instructions recorded thereon
The method addresses map loading failures in delivery management applications by switching to a different map API based on log data, ensuring continuous map availability and task completion.
Patent Information
- Application Number
- PCT/KR2024/013519
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-26
- Filing Date
- 2024-09-06
- Publication Date
- 2026-01-02
AI Technical Summary
Delivery management applications may fail to load maps due to server failures or authentication issues, leading to incorrect deliveries and schedule deviations.
A method to switch to a different map API when a primary map fails to load, using log data to determine conditions for changing the map and updating the load target in the delivery management application.
Ensures continuous map availability for delivery personnel, allowing them to complete tasks efficiently by switching to a functional map when the initial map fails.
Smart Images

Figure KR2024013519_02012026_PF_FP_ABST
Abstract
Description
A recording medium recording a method, device and command for determining a map to be loaded into a delivery management application
[0001] The present disclosure relates to techniques for determining a map to be loaded into a delivery management application.
[0002] Advances in communications and data processing technology have enabled delivery personnel to run delivery management applications on their terminals, view real-time delivery maps, and efficiently deliver assigned items. This has significantly improved delivery efficiency, including route optimization.
[0003] However, due to various reasons, such as server failures providing map data, delivery maps may not load properly within the delivery management application. Failure to load these delivery maps can prevent delivery personnel from selecting the correct delivery route, resulting in incorrect deliveries or failure to adhere to scheduled delivery schedules.
[0004] The present disclosure provides a technique for loading another map into a shipping management application in response to a failure to load a map into the application.
[0005] In one aspect of the present disclosure, a method for determining a map to be loaded into a delivery management application may be proposed. The method according to the present disclosure may be a method performed by an electronic device. The method according to the present disclosure may include the steps of: obtaining first log data regarding a load result of a first map set as a load target of the delivery management application (the first log data may include one or more logs indicating a load failure time and a load failure cause of the first map); determining, based on the first log data, whether a first map change condition for the load target of the delivery management application is satisfied; and changing the load target of the delivery management application from the first map to a second map in response to determining that the first map change condition is satisfied.
[0006] In one embodiment, the first map may be a map that is attempted to be loaded into the delivery management application based on a call to a first application programming interface (API), and the second map may be a map that is attempted to be loaded into the delivery management application based on a call to a second API that is different from the first API.
[0007] According to one embodiment, the cause of the load failure of the first map may include an authentication failure for authentication data of the first API when calling the first API.
[0008] In one embodiment, the first map change condition may include a condition requiring that a ratio between the number of load attempts and the number of load failures of the first map be greater than or equal to a predetermined first threshold during a predetermined time period.
[0009] According to one embodiment, in response to a determination that the first map change condition is satisfied, the step of changing the load target of the delivery management application from the first map to the second map may include the step of changing a flag indicating the first map as the load target of the delivery management application stored in a database linked to the delivery management application to indicate the second map.
[0010] The method according to the present disclosure may further include, in response to changing the flag to indicate the second map, transmitting notification data indicating that the load target of the delivery management application has changed from the first map to the second map.
[0011] In one embodiment, based on the flag changed to indicate the second map, an attempt may be made to load the second map within the delivery management application.
[0012] The method according to the present disclosure may further include a step of obtaining second log data for a load result of the second map (the second log data may include one or more logs indicating a load failure time and a load failure cause of the second map) and a step of determining, based on the second log data, whether a second map change condition for the load target of the delivery management application is satisfied.
[0013] In one embodiment, the second map change condition may include a condition requiring that a ratio between the number of load attempts and the number of load failures of the second map be greater than or equal to a predetermined second threshold during a predetermined time period.
[0014] The method according to the present disclosure may further include, in response to a determination that the second map change condition is satisfied, determining whether the cause of the load failure of the first map has been removed based on a log indicating the cause of the load failure of the first map in the first log data; and, in response to a determination that the cause of the load failure of the first map has been removed, changing the load target of the delivery management application from the second map to the first map.
[0015] According to one embodiment, in response to a determination that the cause of the load failure of the first map has been removed, the step of changing the load target of the delivery management application from the second map to the first map may include the step of changing the flag indicating the second map to indicate the first map.
[0016] In one embodiment, based on the flag changed to indicate the first map, an attempt may be made to load the first map within the delivery management application.
[0017] The method according to the present disclosure may further include, in response to a determination that the second map change condition is satisfied, changing the load target of the delivery management application from the second map to a third map pre-stored in the database. Furthermore, the third map may be a map of a delivery area determined based on delivery data of a delivery agent using the delivery management application. Furthermore, the delivery data may include a delivery task list for one or more delivery tasks assigned to the delivery agent. Furthermore, each of the one or more delivery tasks may indicate at least one of a delivery destination location, a delivery route, a delivery time zone, the number of items to be delivered, or a delivery progress status.
[0018] According to one embodiment, one or more first delivery markers assigned to delivery personnel using the delivery management application may be displayed within the first map, and one or more second delivery markers assigned to the delivery personnel may be displayed within the second map to indicate the same location as the one or more first delivery markers.
[0019] In one aspect of the present disclosure, an electronic device may be proposed that determines a map to be loaded into a delivery management application. The electronic device according to the present disclosure may include one or more processors, one or more memories storing instructions executed by the one or more processors, and when the instructions are executed by the one or more processors, the one or more processors may be configured to execute a method according to the present disclosure.
[0020] In one aspect of the present disclosure, a non-transitory computer-readable recording medium storing instructions for determining a map to be loaded into a delivery management application may be proposed. The instructions recorded on the non-transitory computer-readable recording medium according to the present disclosure may be configured to cause one or more processors to execute a method according to the present disclosure.
[0021] According to one embodiment of the present disclosure, in response to a failure to load a map into a delivery management application, a different map is loaded into the delivery management application, thereby allowing the delivery person to continue performing delivery tasks while viewing the different map loaded into the delivery management application, replacing the existing map.
[0022] The effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the specification.
[0023] FIG. 1 is a diagram illustrating a system according to one embodiment of the present disclosure.
[0024] FIG. 2 is a block diagram illustrating a computing device according to one embodiment of the present disclosure.
[0025] FIG. 3 is a diagram illustrating a process of changing a map loaded into a delivery management application according to one embodiment of the present disclosure.
[0026] FIG. 4 is a diagram illustrating a method for determining a map to be loaded into a delivery management application according to one embodiment of the present disclosure.
[0027] FIG. 5A and FIG. 5B are diagrams illustrating a process of determining a map to be loaded into a delivery management application among a plurality of maps according to one embodiment of the present disclosure.
[0028] The various embodiments described in this disclosure are exemplified for the purpose of clearly explaining the technical concept of this disclosure and are not intended to be limited to specific embodiments. The technical concept of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of the embodiments described in this disclosure. Furthermore, the scope of the technical concept of this disclosure is not limited to the various embodiments presented below or the specific descriptions thereof.
[0029] Terms used in this disclosure, including technical or scientific terms, unless otherwise defined, may have the meaning commonly understood by one of ordinary skill in the art to which this disclosure belongs.
[0030] In this disclosure, expressions such as "includes," "may include," "comprises," "may have," "has," and "may have" indicate the presence of a target feature (e.g., a function, operation, or component), but do not exclude the presence of other additional features. In other words, such expressions should be understood as open-ended terms that imply the possibility of including other embodiments.
[0031] In this disclosure, singular expressions may include plural meanings unless the context clearly indicates otherwise, and this also applies to singular expressions described in the claims.
[0032] In this disclosure, expressions such as “first,” “second,” or “first,” “second,” etc., unless the context indicates otherwise, are used to distinguish one object from another when referring to multiple similar objects, and do not limit the order or importance among the objects.
[0033] In this disclosure, expressions such as “A, B, and C,” “A, B, or C,” “A, B, and / or C,” or “at least one of A, B, and C,” “at least one of A, B, or C,” “at least one of A, B, and / or C,” “at least one selected from A, B, and C,” “at least one selected from A, B, or C,” “at least one selected from A, B, and / or C,” etc., can refer to each listed item or all possible combinations of the listed items. For example, “at least one selected from A and B” can refer to (1) A, (2) at least one of A, (3) B, (4) at least one of B, (5) at least one of A and at least one of B, (6) at least one of A and B, (7) at least one of B and A, and (8) both A and B.
[0034] In this disclosure, the expression “based on or according to” is used to describe one or more factors that influence a decision, act of judgment, or action described in a phrase or sentence containing the expression, and the expression does not exclude additional factors that influence the decision, act of judgment, or action.
[0035] In the present disclosure, determining B based on A means taking A into consideration in determining B, and does not exclude that information other than A is additionally considered.
[0036] In the present disclosure, the expression that a component (e.g., a first component) is “connected” or “connected” to another component (e.g., a second component) may mean that the component is directly connected or connected to the other component, as well as connected or connected via a new other component (e.g., a third component).
[0037] In the present disclosure, “configured to” may have the meaning of “set to”, “having the ability to”, “modified to”, “made to”, “capable of”, etc., depending on the context. The expression is not limited to the meaning of “specifically designed in hardware”, and for example, a processor configured to perform a specific operation may mean a special purpose computer structured through programming to perform the specific operation.
[0038] Hereinafter, various embodiments of the present disclosure will be described with reference to the attached drawings. In the attached drawings and the description of the drawings, identical or substantially equivalent components may be assigned the same reference numerals. Furthermore, in the description of various embodiments below, duplicate descriptions of identical or corresponding components may be omitted, but this does not mean that the corresponding components are not included in the embodiments.
[0039] FIG. 1 is a diagram illustrating a system according to one embodiment of the present disclosure. The system illustrated in FIG. 1 may include at least one of an electronic device (100), a delivery terminal (110), a database (120), or a map server (130). Note that FIG. 1 merely illustrates an example of the system, and the present disclosure is not limited thereto. For example, other components not illustrated in FIG. 1 may also be included in the system.
[0040] In one embodiment, the electronic device (100) may be a device or server that determines the map loaded into the delivery management application. For example, the delivery management application may provide various user interfaces for delivery management, such as a list of one or more delivery tasks assigned to a delivery person, a delivery map, and the like. However, the present disclosure is not necessarily limited thereto, and embodiments of the present disclosure may be modified and applied to other applications that require loading of maps.
[0041] For example, the electronic device (100) may obtain log data including one or more logs regarding the loading results of a map within a delivery management application from a database (120) linked to the delivery management application, and determine whether to change the load target of the delivery management application to another map based on the log data. Here, the log within the log data obtained from the database (120) may indicate at least one of the number of loading attempts, the load failure time, and the load failure cause of the corresponding map within the delivery management application.
[0042] For example, in response to a decision to change the load target of the delivery management application to another map, the electronic device (100) may change a flag indicating the load target of the delivery management application stored in the database (120). For example, if the flag stored in the database (120) indicates map 1, the electronic device (100) may change the load target of the delivery management application from map 1 to map 2 by changing the flag to indicate map 2. Accordingly, when the delivery management application is executed, an attempt may be made to load map 2, which is indicated as a load target by the flag, within the delivery management application.
[0043] According to one embodiment, the delivery terminal (110) may be a device held by the delivery person. For example, the delivery terminal (110) may be implemented as a portable terminal device such as a smartphone. Meanwhile, the present disclosure is not limited thereto, and the delivery terminal (110) may have various forms. The delivery terminal (110) may also be referred to by terms having the same or similar meanings as the client, client terminal, user terminal, etc. For example, a delivery management application may be installed on the delivery terminal (110), and when the delivery management application is executed, the user interface of the delivery management application may be displayed on the delivery terminal (110). That is, the user interface of the delivery management application may be displayed on the display of the delivery terminal (110). Here, the user interface is a physical or virtual medium for interaction between the delivery person and the delivery terminal (110), and the delivery person may operate the delivery management application through the user interface of the delivery management application displayed on the delivery terminal (110).
[0044] For example, a delivery person can request data corresponding to the selected interface by selecting the user interface of the delivery management application displayed on the display of the delivery person terminal (110).
[0045] For example, a delivery person may request a list of delivery tasks for that delivery person by selecting a user interface for the delivery task list of the delivery management application displayed on the display of the delivery person terminal (110). In this case, a delivery list for one or more delivery tasks assigned to that delivery person may be displayed on the display of the delivery person terminal (110) as part of the user interface of the delivery management application.
[0046] For example, a delivery person can request a delivery map by selecting a user interface for a delivery map of a delivery management application displayed on the display of a delivery person terminal (110). In this case, the delivery person terminal (110) can attempt to load the delivery map into the delivery management application. For example, the delivery person terminal (110) can obtain a flag indicating a load target of the delivery management application from the database (120). For example, the delivery person terminal (110) can call a map API to request map data of a map indicated by the flag. Here, the map data can be data indicating a geographical location such as terrain, roads, addresses, traffic, elevation, buildings, and scale. For example, calling the map API can be requesting map data from a map server (130) corresponding to the map API. For example, the delivery person terminal (110) can receive map data from the map server (130). In this case, the delivery terminal (110) can load a map indicated by map data received from the map server (130) into the delivery management application. In this way, if the loading of the map within the delivery management application is successful, the map can be displayed on the display of the delivery terminal (110) as a part of the user interface of the delivery management application. Meanwhile, there may be cases where the delivery terminal (110) cannot obtain map data and cannot load the map within the delivery management application due to various reasons, such as a failure of the map server (130) or an authentication failure when calling the map API. In this way, if the loading of the map within the delivery management application fails, the delivery terminal (110) can transmit a log regarding the map loading failure to the electronic device (100) or the database (120). Here, the log regarding the map loading failure can indicate the time and cause of the loading failure.
[0047] In one embodiment, the database (120) may be linked to a delivery management application. That is, the database (120) may store data required for the execution of the delivery management application. For example, the database (120) may be linked in real time with the delivery management application, and when a change in data required by the delivery management application is detected, the database (120) may transmit notification data regarding the change to the electronic device (100) or the delivery agent terminal (110).
[0048] For example, the database (120) may store a flag indicating a map that is a load target of a delivery management application. For example, the electronic device (100) may transmit a command to the database (120) that changes a flag within the database (120). In this case, the flag within the database (120) may be changed according to the command.
[0049] For example, the database (120) may store log data including one or more logs regarding the loading results of a map within a delivery management application. For example, the electronic device (100) may transmit a command requesting log data within the database (120) to the database (120). In this case, the database (120) may transmit (return) the log data to the electronic device (100) according to the command.
[0050] According to one embodiment, the map server (130) may be a server that manages map data. For example, the map server (130) may correspond to a specific map API. That is, each map server (130) may correspond to one map API. For example, when a map API corresponding to the map server (130) is called, the map server (130) may return map data in response to the call of the map API. For example, when a delivery terminal (110) calls a map API to request map data from the map server (130), the map server (130) may transmit the map data to the delivery terminal (110) in response to the call of the map API.
[0051] According to one embodiment, the electronic device (100), the delivery terminal (110), the database (120), or the map server (130) may be independent entities. In this case, the electronic device (100), the delivery terminal (110), the database (120), or the map server (130) may exchange data through a network between devices. However, the present disclosure is not limited thereto. For example, at least two or more of the electronic device (100), the delivery terminal (110), the database (120), or the map server (130) may be implemented as a single entity. As a specific example, the system may include a device having a module (or processor) for performing the function of the electronic device (100) and a module (or processor) for performing the function of the delivery terminal (110). In this case, the module (or processor) for performing the function of the electronic device (100) and the module (or processor) for performing the function of the delivery terminal (110) may exchange data through a network within the devices. Alternatively, the system may include a device having a module (or process) for performing the functions of the electronic device (100) and the functions of the delivery terminal (110). Alternatively, the database (120) may be included as a local database within the delivery terminal (110), or cache information of the database (120) may be stored within the delivery terminal (110).
[0052] Meanwhile, although FIG. 1 illustrates that the electronic device (100), the delivery terminal (110), the database (120), and the map server (130) are each implemented as a single device, the present disclosure is not limited thereto. For example, the electronic device (100) may be implemented as a system including one or more computing devices for performing the same function. For example, the delivery terminal (110) may be implemented as a system including one or more computing devices for performing the same function. For example, the database (120) may be implemented as a system including one or more computing devices for performing the same function. For example, the map server (130) may be implemented as a system including one or more computing devices for performing the same function. For the computing devices, refer to the description of FIG. 2.
[0053] In addition, although FIG. 1 illustrates one electronic device (100), one delivery terminal (110), one database (120), and one map server (130), the present disclosure is not limited thereto. The number of each of the electronic devices (100), the delivery terminal (110), the database (120), and the map server (130) may vary within the applicable scope of the embodiments of the present disclosure.
[0054] FIG. 2 is a block diagram of a computing device (200) according to one embodiment of the present disclosure. According to one embodiment, the electronic device (100), the delivery terminal (110), the database (120), and the map server (130) may each be implemented as one or more computing devices (200). For convenience of explanation, the following description will focus on one computing device (200).
[0055] According to one embodiment, the computing device (200) may include one or more processors (210), one or more memories (220), or a communication interface (230). Meanwhile, some components may be deleted from the computing device (200), or other components (such as a display or input device) may be added to the computing device (200). In addition, some components may be implemented in an integrated manner or implemented as a single or multiple entities. In the present disclosure, one or more processors (210) may be referred to as a processor (210). The term “processor (210)” may mean a set of one or more processors, unless the context clearly indicates otherwise. In the present disclosure, one or more memories (220) may be referred to as a memory (220). The term “memory (220)” may mean a set of one or more memories, unless the context clearly indicates otherwise. Alternatively, in the present disclosure, the term communication interface (230) may mean a set of one or more communication circuits, unless the context clearly indicates otherwise.
[0056] Below, each component illustrated in Fig. 2 will be described in more detail.
[0057] According to one embodiment, the processor (210) may perform calculations or information processing related to control or communication of each component of the computing device (200). Specifically, the processor (210) may control at least one component of the computing device (200) connected to the processor (210) by executing software (or a computer program) received from another component. As an example, the processor (210) may load a command (e.g., an instruction, a code, or a code segment) or information into the memory (220), process the command or information stored in the memory (220), and store result information according to the processing in the memory (220). In addition, the processor (210) may be operatively connected to the components of the computing device (200) to perform various operations such as calculations, processing, generation, or processing related to the present disclosure.
[0058] According to one embodiment, the memory (220) can store various information. The information stored in the memory (220) is information acquired, processed, or used by at least one component of the computing device (200), and may include software. The software may include one or more instructions that, when loaded into the memory (220), cause the processor (210) to perform operations according to various embodiments of the present disclosure. That is, the processor (210) can perform operations according to various embodiments of the present disclosure by executing the one or more instructions described above. In addition, the memory (220) may implement (store) a database for recording a history related to a request for inspection of code changes. The memory (220) may include, for example, volatile or non-volatile memory.
[0059] According to one embodiment, the program is software stored in the memory (220), and may include an operating system for controlling the resources of the computing device (200), an application, or middleware for providing various functions to the application so that the application can utilize the resources of the computing device (200).
[0060] According to one embodiment, the communication interface (230) can establish a wired or wireless communication channel with another device and transmit and receive various information with the other device.
[0061] In one embodiment, the communication interface (230) may include at least one port for connecting to another device via a wired cable in order to communicate with another device via a wired connection. In this case, the communication interface (230) may communicate with another device via the wired connection through the at least one port. In one embodiment, the communication interface (230) may be configured to connect to a cellular network (e.g., 3G, LTE, 5G, Wibro, or Wimax) by including a cellular communication module. In one embodiment, the communication interface (230) may include a short-range communication module to transmit and receive information with another device using short-range communication (e.g., Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), UWB).
[0062] According to one embodiment, the communication interface (230) may include a contactless communication module for contactless communication. The contactless communication may include at least one contactless proximity communication technology, such as Near Field Communication (NFC), Radio Frequency Identification (RFID), or Magnetic Secure Transmission (MST). In addition to the various examples described above, the computing device (200) may be implemented in various known ways for communicating with other devices, and the scope of the present disclosure is not limited by the examples described above.
[0063] According to one embodiment, the computing device (200) may include a display. The display may display various screens (e.g., one or more pages) based on the control of the processor (210). For example, when the computing device (200) receives data that causes it to display a specific screen, the processor (210) may control the display to display the specific screen. In addition, in order to display screens to which various interfaces are applied on the display, for example, a web browser or a dedicated application may be installed on the computing device (200). In addition, the display may be a component that can interact with a user and may receive user input from the user. Such a display may be implemented in the form of a touch sensor panel (TSP) that can recognize the contact or proximity of various external objects (e.g., a user's finger or stylus).
[0064] According to one embodiment, the computing device (200) may include an input device (e.g., a mouse or a keyboard). The input device may receive information to be used in components of the computing device (200) from an external source (e.g., a user) of the computing device (200).
[0065] The processor (210), memory (220), and communication interface (230) illustrated in FIG. 2 are connected to each other through a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), and can send or receive information or signals.
[0066] FIG. 3 is a diagram illustrating a process of changing a map loaded into a delivery management application according to one embodiment of the present disclosure.
[0067] In one embodiment, the delivery terminal (110) may obtain a flag indicating a load target of the delivery management application from the database (120). For example, the delivery terminal (110) may transmit a request for the flag to the database (120) and receive the flag from the database (120) in response.
[0068] In one embodiment, in response to the flag indicating a first map (300), the delivery terminal (110) may attempt to load the first map (300) within the delivery management application.
[0069] For example, the delivery terminal (110) can request first map data for the first map (300) from the first map server (130) corresponding to the first map API by calling the first map API corresponding to the first map (300).
[0070] For example, the delivery terminal (110) can obtain the first map data in response to a call to the first map API. That is, the delivery terminal (110) can receive the first map data from the first map server (130) in response to a call to the first map API. The delivery terminal (110) can load the first map (300) represented by the first map data into the delivery management application. In this way, if the loading of the first map (300) into the delivery management application is successful, the first map (300) can be displayed on the display of the delivery terminal (110) as a part of the user interface of the delivery management application. In addition, the delivery terminal (110) can log a log of the loading result of the first map (300) into the delivery management application. For example, the delivery terminal (110) may transmit a log regarding the load result of the first map (300) within the delivery management application to the electronic device (100) or the database (120). Accordingly, the log regarding the load result of the first map (300) within the delivery management application may be logged in a manner in which it is stored in the electronic device (100) or the database (120). Here, the log regarding the load result of the first map (300) within the delivery management application may indicate at least one of the load success time of the first map (300) or the load success map. For example, the load success map may indicate the first map (300) loaded within the delivery management application.
[0071] Meanwhile, the delivery terminal (110) may fail to load the first map (300) into the delivery management application for various reasons.
[0072] For example, the delivery terminal (110) may fail to call the first map API. For example, if the first map server (130) is faulty, the delivery terminal (110) may fail to call the first map API. For example, the delivery terminal (110) may monitor a response to the call of the first map API for a predetermined period of time after calling the first map API. For example, if the first map data is not received as a response to the call of the first map API within the predetermined period of time, the delivery terminal (110) may determine that the call of the first map API has failed. That is, if the delivery terminal (110) does not receive a response to the call of the first map API within the predetermined period of time due to a fault in the first map server (130), the delivery terminal (110) may determine that the call of the first map API has failed. For example, authentication of the authentication data of the first map API may fail when calling the first map API. Here, the authentication data may include an authentication key of a delivery management application uniquely assigned to the first map API. Additionally or alternatively, the authentication data may include an identifier of a delivery management application uniquely assigned to the first map API. For example, if the period for loading the first map (300) within the delivery management application has expired, authentication of the authentication data of the first map API may fail. For example, if payment for the usage fee based on the number of monthly calls to the first map API has not been made, authentication of the authentication data of the first map API may fail. For example, if the authentication data of the first map API contains abnormal data, authentication of the authentication data of the first map API may fail. In this way, if authentication of the authentication data of the first map API fails, the delivery terminal (110) may determine that the call to the first map API has failed.In response to determining that the call to the first map API has failed, the delivery terminal (110) may determine that the loading of the first map (300) within the delivery management application has failed. Subsequently, the delivery terminal (110) may log a log regarding the loading result of the first map (300) within the delivery management application. For example, the delivery terminal (110) may transmit the log regarding the loading result of the first map (300) within the delivery management application to the electronic device (100) or the database (120). Accordingly, the log regarding the loading result of the first map (300) within the delivery management application may be logged in a manner that it is stored in the electronic device (100) or the database (120). Here, the log regarding the loading result of the first map (300) within the delivery management application may indicate at least one of the loading failure time, the loading failure map, or the loading failure cause of the first map (30). For example, a load failure map may indicate a first map (300) that failed to load within a delivery management application. For example, the cause of the load failure may indicate a cause of a call failure of the first map API. That is, the cause of the load failure may be a failure of the first map server (130), an authentication failure of the authentication data of the first map API, etc.
[0073] For example, the delivery terminal (110) may receive the first map data in response to a call to the first map API, but may fail to load the first map (300) within the delivery management application due to a defect in the first map data. For example, the delivery terminal (110) may determine the ratio of null values, which are indicated as empty spaces on the first map (300), within the received first map data. If the ratio of null values within the first map data is greater than or equal to a predetermined value, the delivery terminal (110) may determine that the first map data is defective. In response to determining that the first map data is defective, the delivery terminal (110) may determine that the loading of the first map (300) within the delivery management application has failed. Subsequently, the delivery terminal (110) may log a log regarding the loading result of the first map (300) within the delivery management application. For example, the delivery terminal (110) may transmit a log regarding the load result of the first map (300) within the delivery management application to the electronic device (100) or the database (120). Accordingly, the log regarding the load result of the first map (300) within the delivery management application may be logged in a manner that it is stored in the electronic device (100) or the database (120). Here, the log regarding the load result of the first map (300) within the delivery management application may indicate at least one of the load failure time, the load failure map, or the load failure cause of the first map (300). For example, the load failure map may indicate the first map (300) that was not loaded within the delivery management application. For example, the load failure cause may indicate the call failure cause of the first map API. That is, the load failure cause may be a defect in the first map data, etc.
[0074] According to one embodiment, in response to a failure to load the first map (300) within the delivery management application, the delivery terminal (110) may re-acquire a flag indicating a load target of the delivery management application from the database (120).
[0075] In one embodiment, in response to the re-acquired flag indicating the first map (300), the delivery terminal (110) may perform the aforementioned operations. For example, as long as the flag indicates the first map (300), the delivery terminal (110) may repeatedly perform the aforementioned operations until the loading of the first map (300) within the delivery management application is successful. For example, as long as the flag indicates the first map (300), the delivery terminal (110) may repeatedly perform the aforementioned operations a predetermined number of times until the loading of the first map (300) within the delivery management application is successful. If the loading of the first map (300) within the delivery management application fails even after the predetermined number of repeated operations are performed, the delivery terminal (110) may load an error notification instead of loading the map within the delivery management application. That is, the error notification may be displayed on the display of the delivery terminal (110) as part of the user interface of the delivery management application.
[0076] In one embodiment, in response to the re-acquired flag indicating the second map (350), the delivery terminal (110) may attempt to load the second map (350) within the delivery management application. For example, in response to the re-acquired flag indicating the second map (350), the delivery terminal (110) may terminate and re-launch the delivery management application to attempt to load the second map (350) within the delivery management application.
[0077] For example, the delivery terminal (110) can request second map data for the second map (350) from the second map server (130) corresponding to the second map API by calling the second map API corresponding to the second map (350).
[0078] For example, the delivery terminal (110) can obtain the second map data in response to a call to the second map API. That is, the delivery terminal (110) can receive the second map data from the second map server (130) in response to a call to the second map API. The delivery terminal (110) can load the second map (350) represented by the second map data into the delivery management application. In this way, if the loading of the second map (350) into the delivery management application is successful, the second map (350) can be displayed on the display of the delivery terminal (110) as a part of the user interface of the delivery management application. In addition, the delivery terminal (110) can log a log regarding the loading result of the second map (350) into the delivery management application. For example, the log regarding the loading result of the second map (350) into the delivery management application can be transmitted to the electronic device (100) or the database (120). Accordingly, the log for the load result of the second map (350) may be logged in a manner that it is stored in the electronic device (100) or the database (120). Here, the log for the load result of the second map (350) within the delivery management application may indicate at least one of the load success time of the second map (350) or the load success map. Additionally, the log for the load result of the second map (350) within the delivery management application may indicate that the load of the second map (350) was successful after the load target of the delivery management application was changed from the first map (300) to the second map (350). That is, the log for the load result of the second map (350) within the delivery management application may indicate that the failover was successful by changing the load target of the delivery management application from the first map (300) to the second map (350).
[0079] According to one embodiment, a first delivery marker (311) assigned to a delivery person of a delivery person terminal (110) and first category data (310) indicating a category of the first delivery marker (311) may be displayed on the first map (300). Here, the first delivery marker (311) may indicate the number of items to be delivered, the location of the delivery destination, and the delivery time zone as a category. For example, the first category data (310) may indicate the delivery time zone as a category of the first delivery marker (311). Additionally, the first category data (310) may indicate the delivery progress status as a category of the first delivery marker (311). The delivery progress status may be any one of a scan waiting status indicating that the delivery target item of the first delivery marker (311) has not yet been loaded onto the delivery person's transportation means (e.g., a vehicle), a delivery complete status indicating that the delivery of the delivery target item of the first delivery marker (311) has been completed, and a return status indicating that a return request has been made for the delivery target item of the first delivery marker (311). For example, the number of the first delivery marker (311) may indicate the number of delivery target items. For example, the latitude and longitude of the location where the first delivery marker (311) is indicated on the first map (300) may indicate the delivery location. For example, the shape (e.g., color, pattern, shape) of the first delivery marker (311) may indicate the delivery time zone as a category to which the first delivery marker (311) belongs.
[0080] For example, the delivery agent terminal (110) may generate first category data (310) and first delivery marker (311) based on the delivery agent's delivery data stored in the local database of the delivery agent terminal (110). Here, the delivery data may include a delivery task list for one or more delivery tasks assigned to the delivery agent of the delivery agent terminal (110). For example, the delivery task may indicate a delivery location, a delivery route, a delivery time zone, the number of items to be delivered, or a delivery progress status. The delivery progress status may be any one of a scan waiting status indicating that the items to be delivered are not yet loaded onto the delivery agent's delivery means (e.g., a vehicle), a delivery complete status indicating that delivery of the items to be delivered is complete, and a return status indicating that a return request has been made for the items to be delivered. Subsequently, the delivery agent terminal (110) may load the first category data (310) and the first delivery marker (311) into the delivery management application. Accordingly, the first category data (310) and the first delivery marker (311) can be displayed on the first map (300) loaded into the delivery management application.
[0081] According to one embodiment, a second delivery marker (321) assigned to a delivery person of a delivery person terminal (110) and second category data (320) indicating the category of the second delivery marker (321) may be displayed on the second map (350). Here, the second delivery marker (321) may indicate the number of items to be delivered, the delivery location, and the delivery time zone as a category. For example, the second category data (320) may indicate the delivery time zone as a category of the second delivery marker (321). Additionally, the second category data (320) may indicate the delivery progress status as a category of the second delivery marker (321). The delivery progress status may be any one of a scan waiting status indicating that the delivery target item of the second delivery marker (321) has not yet been loaded onto the delivery source's delivery means (e.g., a vehicle), a delivery complete status indicating that the delivery of the delivery target item of the second delivery marker (321) has been completed, and a return status indicating that a return request has been made for the delivery target item of the second delivery marker (321). For example, the number of the second delivery marker (321) may indicate the number of delivery target items. For example, the latitude and longitude of the location where the second delivery marker (321) is indicated on the second map (350) may indicate the delivery location. For example, the shape (e.g., color, pattern, shape) of the second delivery marker (321) may indicate the delivery time zone as a category to which the second delivery marker (321) belongs.
[0082] For example, the delivery agent terminal (110) can generate second category data (320) and second delivery marker (321) based on the delivery agent's delivery data stored in the local database of the delivery agent terminal (110). Here, the local database of the delivery agent terminal (110) may be a database built in a space allocated for an application in one or more memories (220) of a computing device (200) that can implement the delivery agent terminal (110) and that stores and manages data required for executing the application. That is, the delivery agent terminal (110) can generate second category data (320) and second delivery marker (321) based on the delivery data used to generate the first category data (310) and the first delivery marker (311). Subsequently, the delivery agent terminal (110) can load the second category data (320) and the second delivery marker (321) into the delivery management application. Accordingly, the second category data (320) and the second delivery marker (321) may be displayed on the second map (350) loaded into the delivery management application. Since the delivery data of the delivery person stored in the local database of the delivery person terminal (110) are used identically, the first category data (310) and the first delivery marker (311) displayed on the first map (300) may be displayed visually identically to the second category data (320) and the second delivery marker (321) displayed on the second map (350). That is, the second delivery marker (321) may be displayed at a location indicating the same latitude and longitude as the first delivery marker (311). Through this, even if the map loaded into the delivery management application is changed, the data displayed on the map, i.e., the delivery marker, remains the same, so that the delivery person of the delivery person terminal (110) can continue to perform the delivery work without confusion.
[0083] FIG. 4 is a diagram illustrating a method (400) for determining a map to be loaded into a delivery management application according to one embodiment of the present disclosure. As described above, the map indicated by the flag stored in the database (120) is changed from the first map (300) to the second map (350), thereby changing the load target of the delivery management application from the first map (300) to the second map (350), and the second map (350) can be loaded within the delivery management application. To change the load target of the delivery management application, the electronic device (100) can perform the method (400). For convenience of explanation, the following description will assume a situation in which the flag indicates the first map (300). Meanwhile, the method (400) may also be performed by the delivery agent terminal (110). That is, the following description can be equally applied even when the method (400) is performed by the delivery agent terminal (110).
[0084] In step S410, the electronic device (100) may obtain first log data regarding the load result of the first map (300) set as the load target of the delivery management application. Here, the first log data may include one or more logs indicating at least one of the number of load attempts, the load failure time, or the load failure cause of the first map (300). As a detailed step of step S410, the electronic device (100) may perform the following operations.
[0085] According to one embodiment, the electronic device (100) can obtain first log data from the database (120). For example, the electronic device (100) can request the first log data from the database (120) and receive the first log data from the database (120) in response.
[0086] At step S420, the electronic device (100) may determine, based on the first log data, whether a first map change condition for the load target of the delivery management application is satisfied. For example, the first map change condition may include a condition requiring that the ratio between the number of load attempts and the number of load failures of the first map (300) during a predetermined time period be greater than or equal to a predetermined first threshold. As a detailed step of step S420, the electronic device (100) may perform the following operations.
[0087] According to one embodiment, the electronic device (100) can determine a ratio between the number of load attempts and the number of load failures of the first map (300) for a predetermined time based on the number of log attempts, the log failure time, and the log failure cause of the first map (300) indicated by one or more logs included in the first log data.
[0088] For example, the first log data may include one or more logs logged by all delivery agent terminals (110) that have an execution history of the delivery management application. For example, the electronic device (100) may determine a ratio between the total number of load attempts of the first map (300) within the delivery management application and the total number of load failures of the first map (300) during a predetermined period of time based on one or more logs logged by all delivery agent terminals (110) that have an execution history of the delivery management application.
[0089] For example, the first log data may include one or more logs logged by multiple delivery agent terminals (110) located in a specific area among one or more delivery areas. Here, the delivery area may be an area where a camp, which is a regional delivery base, is located. For example, different delivery areas may be distinguished based on predetermined criteria. For example, different delivery areas may be distinguished based on legal districts (dongs), which are districts with a specific name and area designated by law. That is, each delivery area may include one or more legal districts. In this case, the first log data may include one or more logs logged by multiple delivery agent terminals (110) located in a specific legal district among one or more delivery areas. Alternatively, different delivery areas may be distinguished based on administrative districts, which are sub-administrative districts of a district or city, distinguished for administrative convenience. In this case, the first log data may include one or more logs logged by multiple delivery agent terminals (110) located in a specific administrative district among one or more delivery areas. For example, the electronic device (100) may determine a ratio between the number of load attempts of the first map (300) and the number of load failures of the first map (300) within the delivery management application for a predetermined period of time based on one or more logs logged by a plurality of delivery terminals (110) located in a specific area among one or more delivery areas.
[0090] For example, the first log data may include one or more logs logged by a plurality of delivery worker terminals (110) located in an area with the largest number of delivery workers among one or more delivery areas. For example, the electronic device (100) may determine a ratio between the total number of load attempts of the first map (300) in the delivery management application and the total number of load failures of the first map (300) during a predetermined period of time based on one or more logs logged by a plurality of delivery worker terminals (110) located in an area with the largest number of delivery workers among one or more delivery areas.
[0091] For example, the first log data may include one or more logs logged by a plurality of delivery agent terminals (110) located in an area with the largest number of delivery markers (311, 321) among one or more delivery areas. For example, the electronic device (100) may determine a ratio between the number of load attempts of the first map (300) in the delivery management application and the number of load failures of the first map (300) during a predetermined period of time based on one or more logs logged by a plurality of delivery agent terminals (110) located in an area with the largest number of delivery markers (311, 321) among one or more delivery areas.
[0092] For example, the electronic device (100) may identify one or more specific logs indicating an authentication failure for authentication data of the map API when calling the map API as a cause of a load failure in the first log data. Then, the electronic device (100) may determine a ratio between the number of load attempts and the number of load failures of the first map (300) within the delivery management application for a predetermined period of time based on the number of load attempts and the load failure time indicated by each of the one or more specific logs identified. Unlike a simple map server (130) failure, an authentication failure for authentication data of the map API may be difficult to resolve in a short period of time. In this manner, a load failure case due to an authentication failure can be distinguished from a load failure case due to a server failure.
[0093] According to one embodiment, the electronic device (100) may compare a ratio between the number of load attempts of the first map (300) within the delivery management application and the number of load failures of the first map (300) during a predetermined period of time with a first threshold.
[0094] According to one embodiment, the electronic device (100) may determine that the first map change condition is satisfied in response to determining that a ratio between the number of load attempts of the first map (300) within the delivery management application and the number of load failures of the first map (300) within the delivery management application over a predetermined period of time is greater than or equal to a first threshold.
[0095] In S430, in response to determining that the first map change condition is satisfied, the electronic device (100) may change the load target of the delivery management application from the first map (300) to the second map (350). As a detailed step of S430, the electronic device (100) may perform the following operations.
[0096] In one embodiment, the electronic device (100) may change a flag indicating a first map (300) as a load target of a delivery management application stored in a database (120) to indicate a second map (350). For example, the electronic device (100) may transmit a command to the database (120) to change the flag to indicate the second map (350). The flag stored in the database (120) may be changed to indicate the second map (350) according to the command.
[0097] According to one embodiment, in response to changing the flag stored in the database (120) to indicate the second map (350), the electronic device (100) may transmit notification data to the delivery agent terminal (110) indicating that the load target of the delivery management application has changed from the first map (300) to the second map (350). If the delivery agent terminal (110) was attempting to load the first map (300) within the delivery management application, the notification data may be displayed on the display of the delivery agent terminal (110). Subsequently, the delivery agent terminal (110) may terminate and re-launch the delivery management application to attempt to load the second map (350) within the delivery management application based on the flag that has been changed to indicate the second map (350).
[0098] FIGS. 5A and 5B are diagrams illustrating a process for determining a map to be loaded into a delivery management application among multiple maps according to one embodiment of the present disclosure. For convenience of explanation, the following description assumes that the flag indicating the load target of the delivery management application stored in the database (120) indicates the first map (300). However, the present disclosure is not limited thereto, and the following description may be equally applicable even when the flag indicates the second map (350). Furthermore, detailed operations of the electronic device (100), delivery agent terminal (110), and database (120) may be described with reference to FIGS. 3 and 4 .
[0099] In S501, the delivery person can run the delivery management application on the delivery person terminal (110).
[0100] In S502, the delivery terminal (110) may obtain a flag indicating a load target of the delivery management application from the database (120) and attempt to load the first map (300) indicated by the flag. For example, the delivery terminal (110) may call the first map API corresponding to the first map (300).
[0101] In S503, the delivery terminal (110) can determine whether the loading of the first map (300) in the delivery management application was successful.
[0102] According to one embodiment, the delivery terminal (110) may monitor a response to a call to the first map API for a predetermined period of time after calling the first map API. For example, if the first map data is not received in response to a call to the first map API within the predetermined period of time, the delivery terminal (110) may determine that the call to the first map API has failed. For example, if error data indicating an authentication failure for authentication data of the first map API is received in response to a call to the first map API, the delivery terminal (110) may determine that the call to the first map API has failed. For example, if the first map data is received in response to a call to the first map API within the predetermined period of time, the delivery terminal (110) may determine whether the first map data has a defect. In response to determining that the first map data has a defect, the delivery terminal (110) may determine that the call to the first map API has failed. In response to determining that there is no defect in the first map data received in response to a call to the first map API within a predetermined time, the delivery terminal (110) may determine that the call to the first map API is successful.
[0103] In one embodiment, in response to determining that a call to the first map API has failed, the delivery terminal (110) may determine that the loading of the first map (300) within the delivery management application has failed.
[0104] In one embodiment, in response to determining that the call to the first map API was successful, the delivery terminal (110) may determine that the loading of the first map (300) within the delivery management application was successful.
[0105] In S504, in response to determining that the loading of the first map (300) within the delivery management application was successful, the delivery terminal (110) may log the successful loading of the first map (300) within the delivery management application.
[0106] According to one embodiment, the delivery terminal (110) may transmit a log regarding the loading result of the first map (300) within the delivery management application to the electronic device (100) or database (120). Here, the log regarding the loading result of the first map (300) within the delivery management application may indicate at least one of the loading success time of the first map (300) or the loading success map. For example, the loading success map may indicate the first map (300) loaded within the delivery management application.
[0107] In S505, the delivery person can use the first map (300) loaded into the delivery management application and displayed on the display of the delivery person terminal (110).
[0108] In S506, in response to determining that the loading of the first map (300) within the delivery management application has failed, the delivery terminal (110) may log the loading failure of the first map (300) within the delivery management application.
[0109] According to one embodiment, the delivery terminal (110) may transmit a log regarding the load result of the first map (300) within the delivery management application to the electronic device (100) or the database (120). Here, the log regarding the load result of the first map (300) within the delivery management application may indicate at least one of a load failure time of the first map (300), a load failure map, or a load failure cause. For example, the load failure map may indicate the first map (300) that was not loaded within the delivery management application. For example, the load failure cause may indicate a call failure of the first map API. That is, the load failure cause may be a failure of the first map server (130), an authentication failure for authentication data of the first map API, etc.
[0110] In S507, the electronic device (100) can determine whether a map change condition (“first map change condition”) that changes the load target of the delivery management application from the first map (300) to another map is satisfied.
[0111] According to one embodiment, the electronic device (100) may obtain first log data regarding the load result of the first map (300) set as the load target of the delivery management application. Here, the first log data may include one or more logs indicating at least one of the number of load attempts, the load failure time, or the load failure cause of the first map (300). For example, the electronic device (100) may obtain the first log data from the database (120). For example, the electronic device (100) may request the first log data from the database (120) and receive the first log data from the database (120) in response thereto.
[0112] According to one embodiment, the electronic device (100) can determine whether a first map change condition is satisfied based on the first log data.
[0113] In one embodiment, if the first map change condition is not satisfied, the flag stored in the database (120) may not be changed. That is, the flag may remain to indicate the first map (300). In this case, in S502, the delivery terminal (110) may retry loading the first map (300) within the delivery management application.
[0114] In S508, upon determining that the first map change condition is satisfied, the electronic device (100) can change the load target of the delivery management application from the first map (300) to the second map (350).
[0115] In one embodiment, the electronic device (100) may change a flag indicating a first map (300) as a load target of a delivery management application stored in a database (120) to indicate a second map (350). For example, the electronic device (100) may transmit a command to the database (120) to change the flag to indicate the second map (350). The flag stored in the database (120) may be changed to indicate the second map (350) according to the command.
[0116] In S509, the delivery terminal (110) may obtain a flag indicating a load target of the delivery management application from the database (120), and in response to the flag being changed to indicate the second map (350), may attempt to load the second map (350) within the delivery management application. For example, the delivery terminal (110) may call a second map API corresponding to the second map (350).
[0117] In S510, the delivery terminal (110) can determine whether the loading of the second map (350) in the delivery management application was successful.
[0118] According to one embodiment, the delivery terminal (110) may monitor a response to a call to the second map API for a predetermined period of time after calling the second map API. For example, if the second map data is not received in response to the call to the second map API within the predetermined period of time, the delivery terminal (110) may determine that the call to the second map API has failed. For example, if error data indicating an authentication failure for the authentication data of the second map API is received in response to the call to the second map API, the delivery terminal (110) may determine that the call to the second map API has failed. For example, if the second map data is received in response to the call to the second map API within the predetermined period of time, the delivery terminal (110) may determine whether the second map data has a defect. In response to determining that the second map data has a defect, the delivery terminal (110) may determine that the call to the second map API has failed. In response to determining that there is no defect in the second map data received in response to a call to the second map API within a predetermined time, the delivery terminal (110) may determine that the call to the second map API is successful.
[0119] In one embodiment, in response to determining that a call to the second map API has failed, the delivery agent terminal (110) may determine that the loading of the second map (350) within the delivery management application has failed.
[0120] In one embodiment, in response to determining that the call to the second map API was successful, the delivery terminal (110) may determine that the loading of the second map (350) within the delivery management application was successful.
[0121] In response to determining that the loading of the second map (350) within the delivery management application was successful in S511, the delivery terminal (110) may log the successful loading of the second map (350) within the delivery management application.
[0122] According to one embodiment, the delivery terminal (110) may transmit a log regarding the load result of the second map (350) within the delivery management application to the electronic device (100) or the database (120). Accordingly, the log regarding the load result of the second map (350) may be logged in a manner that it is stored within the electronic device (100) or the database (120). Here, the log regarding the load result of the second map (350) within the delivery management application may indicate at least one of the load success time of the second map (350) or the load success map. For example, the load success map may indicate the second map (350) loaded within the delivery management application.
[0123] In S512, the delivery person can use the second map (350) displayed on the display of the delivery person terminal (110) by being loaded into the delivery management application.
[0124] In response to determining that the loading of the second map (350) within the delivery management application has failed at S513, the delivery terminal (110) may log the loading failure of the second map (350) within the delivery management application.
[0125] According to one embodiment, the delivery terminal (110) may transmit a log regarding the load result of the second map (350) within the delivery management application to the electronic device (100) or the database (120). Accordingly, the log regarding the load result of the second map (350) may be logged in a manner that it is stored within the electronic device (100) or the database (120). Here, the log regarding the load result of the second map (350) within the delivery management application may indicate at least one of the number of load attempts of the second map (350), the load failure time, the load failure map, or the load failure cause. For example, the load failure map may indicate the second map (350) that was not loaded within the delivery management application. For example, the load failure cause may indicate the call failure cause of the second map API. That is, the load failure cause may be a failure of the second map server (130), an authentication failure for authentication data of the second map API, etc.
[0126] Additionally, in S514, the electronic device (100) may determine whether a map change condition (“second map change condition”) that changes the load target of the delivery management application from the second map (350) to another map is satisfied. For example, the second map change condition may include a condition requiring that the ratio between the number of load attempts and the number of load failures of the second map (350) during a predetermined time period be greater than or equal to a predetermined second threshold.
[0127] According to one embodiment, the electronic device (100) may obtain second log data regarding the load result of the second map (350) set as the load target of the delivery management application. Here, the second log data may include one or more logs indicating at least one of the number of load attempts, the load failure time, or the load failure cause of the second map (350). For example, the electronic device (100) may obtain the second log data from the database (120). For example, the electronic device (100) may request the second log data from the database (120) and receive the second log data from the database (120) in response thereto.
[0128] According to one embodiment, the electronic device (100) can determine a ratio between the number of load attempts and the number of load failures of the second map (350) for a predetermined period of time based on the number of load attempts, log failure times, and log failure causes of the second map (350) indicated by one or more logs included in the second log data.
[0129] For example, the second log data may include one or more logs logged by all delivery agent terminals (110) that have an execution history of the delivery management application. For example, the electronic device (100) may determine a ratio between the number of load attempts of the second map (350) within the delivery management application and the number of load failures of the second map (350) during a predetermined period of time based on one or more logs logged by all delivery agent terminals (110) that have an execution history of the delivery management application.
[0130] For example, the second log data may include one or more logs logged by a plurality of delivery agent terminals (110) located in a specific area among one or more delivery areas. For example, the electronic device (100) may determine a ratio between the number of load attempts of the second map (350) in the delivery management application and the number of load failures of the second map (350) during a predetermined period of time based on one or more logs logged by a plurality of delivery agent terminals (110) located in a specific area among one or more delivery areas.
[0131] For example, the second log data may include one or more logs logged by a plurality of delivery agent terminals (110) located in an area with the largest number of delivery agents among one or more delivery areas. For example, the electronic device (100) may determine a ratio between the number of load attempts of the second map (350) in the delivery management application and the number of load failures of the second map (300) during a predetermined period of time based on one or more logs logged by a plurality of delivery agent terminals (110) located in an area with the largest number of delivery agents among one or more delivery areas.
[0132] For example, the second log data may include one or more logs logged by a plurality of delivery agent terminals (110) located in an area with the largest number of delivery markers (311, 321) assigned to a plurality of delivery agents among one or more delivery areas. For example, the electronic device (100) may determine a ratio between the number of load attempts of the second map (350) in the delivery management application and the number of load failures of the second map (350) during a predetermined period of time based on one or more logs logged by a plurality of delivery agent terminals (110) located in an area with the largest number of delivery markers (311, 321) among one or more delivery areas.
[0133] For example, the electronic device (100) may identify one or more logs in the second log data that indicate an authentication failure for authentication data of the map API when calling the map API as a cause of the load failure. For example, the electronic device (100) may determine a ratio between the number of load attempts for the second map (350) within the delivery management application and the number of load failures for the second map (350) during a predetermined period of time based on the one or more identified logs.
[0134] According to one embodiment, the electronic device (100) may compare a ratio between the number of load attempts of the second map (350) within the delivery management application and the number of load failures of the second map (350) over a predetermined period of time with a second threshold.
[0135] In one embodiment, the electronic device (100) may determine that the second map change condition is satisfied in response to determining that a ratio between the number of load attempts of the second map (350) within the delivery management application and the number of load failures of the second map (350) over a predetermined period of time is greater than or equal to a second threshold.
[0136] In one embodiment, if the second map change condition is not satisfied, the flag stored in the database (120) may not be changed. That is, the flag may remain to indicate the second map (350). In this case, at S509, the delivery terminal (110) may retry loading the second map (350) within the delivery management application.
[0137] In S515, in response to a determination that the second map change condition is satisfied, the electronic device (100) may determine whether the cause of the load failure of the first map (300) has been eliminated based on a log indicating the cause of the load failure of the first map (300) in the first log data. For example, if a log in the first log data indicates a failure of the first map (300) as the cause of the load failure of the first map (300) and a predetermined amount of time has passed since the load target of the delivery management application was changed from the first map (300) to the second map (350), the electronic device (100) may determine that the cause of the load failure of the first map (300) has been eliminated. For example, if a log in the first log data indicates an authentication failure for authentication data of the first map API when the first map API is called as the cause of the load failure of the first map (300), the electronic device (100) may determine that the cause of the load failure of the first map (300) has not been eliminated.
[0138] In S516, in response to determining that the cause of the load failure of the first map (300) has been eliminated, the electronic device (100) may change the load target of the delivery management application from the second map (350) to the first map (300).
[0139] In one embodiment, the electronic device (100) may change a flag indicating a second map (350) as a load target of a delivery management application stored in a database (120) to indicate a first map (300). For example, the electronic device (100) may transmit a command to the database (120) to change the flag to indicate the first map (300). The flag stored in the database (120) may be changed to indicate the first map (300) according to the command. In response to the flag being changed to indicate the first map (300), the delivery terminal (110) may attempt to load the first map (300) within the delivery management application.
[0140] In S517, in response to determining that the cause of the load failure of the first map (300) has not been eliminated, the electronic device (100) may change the load target of the delivery management application from the second map (350) to the third map.
[0141] In one embodiment, the third map may be an offline map pre-stored in the local database of the delivery terminal (110). Alternatively, the third map may be an offline map pre-stored in the database (120).
[0142] In one embodiment, the electronic device (100) may change a flag indicating a second map (350) as a load target of a delivery management application stored in a database (120) to indicate a third map. For example, the electronic device (100) may transmit a command to the database (120) to change the flag to indicate the third map. The flag stored in the database (120) may be changed to indicate the third map according to the command. In response to the flag being changed to indicate the third map, the delivery agent terminal (110) may load the third map within the delivery management application.
[0143] For example, a third map may be a map of one or more delivery areas with the largest number of active delivery drivers.
[0144] For example, the third map may be a map of an area with the largest number of delivery markers (311, 321) assigned to multiple delivery personnel among one or more delivery areas.
[0145] For example, the third map may be a map for an area with the largest number of delivery markers (311, 321) assigned to delivery personnel of a delivery personnel terminal (110) among one or more delivery areas.
[0146] The methods according to the present disclosure may be implemented using a device having a computer or processor. While the steps of the methods are illustrated and described in a predetermined order in this disclosure, the steps may be performed in any order that can be arbitrarily combined according to the present disclosure, in addition to being performed sequentially. In one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. The present disclosure does not exclude variations or modifications to the methods. In one embodiment, at least some of the steps may be omitted, or other steps may be added.
[0147] Various embodiments of the present disclosure may be implemented as software recorded on a machine-readable recording medium. The software may be software for implementing the various embodiments of the present disclosure described above. The software may be inferred from various embodiments of the present disclosure by programmers skilled in the art to which the present disclosure pertains. For example, the software may be machine-readable instructions (e.g., code or code segments) or programs. The device may be a device capable of operating according to instructions called from a recording medium, such as a computer. In one embodiment, the device may be a computing device (200) according to embodiments of the present disclosure. In one embodiment, the processor of the device may execute the called instructions, causing components of the device to perform functions corresponding to the instructions. In one embodiment, the processor may be a processor (210) according to embodiments of the present disclosure. The recording medium may refer to a recording medium on which data is stored and readable by the device. The recording medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. In one embodiment, the recording medium may be memory (220). In one embodiment, the recording medium may be implemented in a distributed form in a computer system connected to a network, etc. The software may be distributed, stored, and executed in a computer system, etc. The recording medium may be a non-transitory recording medium. A non-transitory recording medium means a tangible medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include a signal that is transmitted transitorily.
[0148] Although the technical concept of the present disclosure has been described through various embodiments, the technical concept of the present disclosure encompasses various substitutions, modifications, and alterations that can be made within the scope understandable to those of ordinary skill in the art to which the present disclosure pertains. Furthermore, it should be understood that such substitutions, modifications, and alterations are included within the scope of the appended claims. Embodiments according to the present disclosure can be combined with each other. Each embodiment can be combined in various ways depending on the number of cases, and embodiments created by combining them also fall within the scope of the present disclosure.
Claims
1. In a method performed by an electronic device, A step of obtaining first log data on the load result of a first map set as a load target of a delivery management application, wherein the first log data includes one or more logs indicating a load failure time and a load failure cause of the first map; A step of determining whether a first map change condition for the load target of the delivery management application is satisfied based on the first log data; and A method comprising, in response to a determination that the first map change condition is satisfied, changing the load target of the delivery management application from the first map to the second map.
2. In paragraph 1, The above first map is a map that is attempted to be loaded within the delivery management application based on a call to the first API (application programming interface), A method wherein the second map is a map that is attempted to be loaded within the delivery management application based on a call to a second API that is different from the first API.
3. In paragraph 2, A method wherein the cause of the load failure of the first map includes an authentication failure for authentication data of the first API when calling the first API.
4. In paragraph 1, A method wherein the first map change condition includes a condition requiring that the ratio between the number of load attempts and the number of load failures of the first map be greater than or equal to a first predetermined threshold value during a predetermined time period.
5. In paragraph 1, In response to a determination that the above first map change condition is satisfied, the step of changing the load target of the delivery management application from the first map to the second map is: A method comprising the step of changing a flag indicating the first map as the load target of the delivery management application stored in a database linked to the delivery management application to indicate the second map.
6. In paragraph 5, A method further comprising, in response to changing the flag to indicate the second map, transmitting notification data indicating that the load target of the delivery management application has changed from the first map to the second map.
7. In paragraph 6, A method wherein loading of the second map is attempted within the delivery management application based on the flag changed to indicate the second map.
8. In paragraph 7, A step of obtaining second log data for the load result of the second map, wherein the second log data includes one or more logs indicating the load failure time and load failure cause of the second map; and A method further comprising the step of determining whether a second map change condition for the load target of the delivery management application is satisfied based on the second log data.
9. In paragraph 8, A method wherein the second map change condition includes a condition requiring that the ratio between the number of load attempts and the number of load failures of the second map be greater than or equal to a second predetermined threshold value during a predetermined time period.
10. In paragraph 8, In response to a determination that the second map change condition is satisfied, a step of determining whether the cause of the load failure of the first map has been removed based on a log indicating the cause of the load failure of the first map in the first log data; and A method further comprising, in response to a determination that the cause of the load failure of the first map has been removed, changing the load target of the delivery management application from the second map to the first map.
11. In paragraph 10, In response to a determination that the cause of the load failure of the first map has been removed, the step of changing the load target of the delivery management application from the second map to the first map is: A method comprising the step of changing the flag indicating the second map to indicate the first map.
12. In paragraph 11, A method wherein loading of the first map is attempted within the delivery management application based on the flag changed to indicate the first map.
13. In paragraph 8, In response to a determination that the second map change condition is satisfied, further comprising a step of changing the load target of the delivery management application from the second map to a third map pre-stored in the database, The above third map is a map of a delivery area determined based on delivery data from a delivery person using the delivery management application. The above delivery data includes a list of delivery tasks for one or more delivery tasks assigned to the delivery agent, A method wherein each of the above one or more delivery tasks indicates at least one of a delivery location, a delivery route, a delivery time zone, the number of items to be delivered, or a delivery progress status.
14. In paragraph 1, Within the first map, one or more first delivery markers assigned to delivery personnel using the delivery management application are displayed, A method wherein one or more second delivery markers assigned to the delivery agent are displayed within the second map to indicate the same location as the one or more first delivery markers.
15. In electronic devices, One or more processors, comprising one or more memories storing instructions executed by the one or more processors; An electronic device, wherein when the instructions are executed by the one or more processors, the one or more processors are configured to execute a method according to any one of claims 1 to 14.
16. In a non-transitory computer-readable recording medium, instructions are recorded that cause one or more processors to perform an operation when executed by one or more processors. A non-transitory computer-readable recording medium, wherein the instructions are configured to cause the one or more processors to execute a method according to any one of claims 1 to 14.
Citation Information
Patent Citations
Information distribution system and information distribution method based on position information
JP2008276362A
Software analysis system of digital broadcast receiver
JP2010021717A
A massage device including improved structure
KR1020220149649A
Method and system for associating maps having different attribute for provding different services
KR102136213B1
Beverage container with input material
KR102815694B1