[go: up one dir, main page]

KR102833492B1 - Method, device, and recording medium for integrating and managing barcode scanners - Google Patents

Method, device, and recording medium for integrating and managing barcode scanners Download PDF

Info

Publication number
KR102833492B1
KR102833492B1 KR1020240085686A KR20240085686A KR102833492B1 KR 102833492 B1 KR102833492 B1 KR 102833492B1 KR 1020240085686 A KR1020240085686 A KR 1020240085686A KR 20240085686 A KR20240085686 A KR 20240085686A KR 102833492 B1 KR102833492 B1 KR 102833492B1
Authority
KR
South Korea
Prior art keywords
electronic device
barcode scanner
barcode
state
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020240085686A
Other languages
Korean (ko)
Inventor
장주란
전형민
홍순호
황규빈
조지연
이다민
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020240085686A priority Critical patent/KR102833492B1/en
Application granted granted Critical
Publication of KR102833492B1 publication Critical patent/KR102833492B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/35Services specially adapted for particular environments, situations or purposes for the management of goods or merchandise
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0838Historical data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시는 전자 장치에 의해 수행되는 바코드 스캐너의 통합 관리 방법에 관한 것이다. 본 개시의 일 실시예에 따른 방법은, 상기 전자 장치와 연결된 바코드 스캐너를 식별하고, 상기 바코드 스캐너와의 통신 방식을 결정하는 단계; 상기 통신 방식이 제1 통신 방식이라는 결정에 응답하여, 키 입력 이벤트(event)를 처리하는 수신자로서의 이벤트 리스너(listener)에 의해 상기 바코드 스캐너로부터의 키 입력 이벤트의 발생 여부를 결정하는 단계; 상기 키 입력 이벤트가 발생했다는 결정에 응답하여, 상기 바코드 스캐너에 의해 스캔된 바코드를 일련의 키 정보들로서 수신하는 단계; 상기 수신된 키 정보들에 각각 대응하는 상태를 식별하는 단계 - 상기 상태는 제1, 제2, 제3 상태를 포함하고, 상기 제1 상태는 바코드 입력의 시작을 나타내고, 상기 제2 상태는 바코드 입력의 진행을 나타내고, 상기 제3 상태는 바코드 입력의 완료를 나타냄 -; 및 상기 상태에 대응하는 상기 키 정보에 기초하여 상기 바코드 스캐너에 의해 스캔된 바코드에 대응하는 입력 스트링을 생성하는 단계를 포함할 수 있다.The present disclosure relates to an integrated management method of a barcode scanner performed by an electronic device. According to one embodiment of the present disclosure, the method may include: identifying a barcode scanner connected to the electronic device and determining a communication method with the barcode scanner; in response to a determination that the communication method is a first communication method, determining whether a key input event from the barcode scanner has occurred by an event listener as a receiver that processes a key input event; in response to a determination that the key input event has occurred, receiving a barcode scanned by the barcode scanner as a series of key information; identifying a state corresponding to each of the received key information, wherein the states include a first state, a second state, and a third state, and the first state indicates the start of barcode input, the second state indicates the progress of barcode input, and the third state indicates the completion of barcode input; and generating an input string corresponding to the barcode scanned by the barcode scanner based on the key information corresponding to the state.

Description

바코드 스캐너의 통합 관리를 위한 방법, 장치, 및 기록 매체{METHOD, DEVICE, AND RECORDING MEDIUM FOR INTEGRATING AND MANAGING BARCODE SCANNERS}METHOD, DEVICE, AND RECORDING MEDIUM FOR INTEGRATING AND MANAGING BARCODE SCANNERS

본 발명은 스캐너를 통합 및 관리하는 기술에 관한 것으로, 특히 다양한 바코드 스캐너의 통합 및 관리를 위한 방법. 장치, 및 기록 매체에 관한 것이다.The present invention relates to a technology for integrating and managing scanners, and more particularly, to a method, device, and recording medium for integrating and managing various barcode scanners.

현대 물류 및 배송 산업에서는 다양한 형태의 스캐너를 사용하여 상품의 바코드를 스캔하고 데이터를 수집하는 과정이 중요하다. 기존에는 주로 휴대폰 카메라를 이용한 스캐너 기능이 사용되어 왔으며, 이를 통해 운송장 등의 바코드를 스캔하고 데이터를 입력하였다. 그러나 이러한 카메라 기반 스캐너는 인식 속도가 느리고 데이터 처리에 시간이 소요되는 단점이 있었다. In the modern logistics and delivery industry, the process of scanning the barcode of a product and collecting data using various types of scanners is important. Previously, the scanner function using a mobile phone camera was mainly used, and the barcode of a waybill, etc. was scanned and data was entered. However, these camera-based scanners had the disadvantage of slow recognition speed and time-consuming data processing.

이를 해결하기 위해 외부에서 제작된 전용 스캐너가 도입되었으며, 이는 더 빠르고 정확한 스캔을 가능하게 하였다. 다만 이러한 스캐너는 특정 제조사의 SDK(Software Development Kit)를 통해서만 인식이 가능했기 때문에, 사용자는 제한된 종류의 스캐너만을 사용할 수 있었다. 이러한 제한으로 인해 다른 제조사의 바코드 스캐너, 이를 넘어 다양한 종류의 바코드 스캐너를 사용하고자 하는 요구가 증가하였다.To solve this problem, externally manufactured dedicated scanners were introduced, which enabled faster and more accurate scanning. However, since these scanners could only be recognized through a specific manufacturer's SDK (Software Development Kit), users could only use a limited number of scanners. This limitation led to an increase in demand for barcode scanners from other manufacturers, and even for various types of barcode scanners.

따라서, 특정 제조사에 종속되지 않으며, 범용적으로 사용할 수 있는 다양한 바코드 스캐너를 통합하고 관리할 수 있는 기술이 요구된다.Therefore, a technology is required that can integrate and manage various barcode scanners that are not dependent on a specific manufacturer and can be used universally.

본 발명의 일 실시예를 통해 해결하고자 하는 기술적 과제는, 다양한 바코드 스캐너 장치를 쉽게 통합하고 관리함으로써 사용자 경험을 최적화하고 물류 및 배송 프로세스의 효율성을 극대화하는 것이다.A technical problem to be solved by one embodiment of the present invention is to optimize user experience and maximize efficiency of logistics and delivery processes by easily integrating and managing various barcode scanner devices.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 특정 제조사에 의존하지 않고 여러 스캐너를 지원하여 호환성을 제공하고, 사용자가 어플리케이션 내에서 손쉽게 스캐너를 연결하고 관리할 수 있도록 하는 것이다.Another technical challenge to be solved by one embodiment of the present invention is to provide compatibility by supporting multiple scanners without relying on a specific manufacturer, and to allow users to easily connect and manage scanners within an application.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 스캐너와의 통신 과정에서 발생하는 다양한 오류를 효율적으로 로깅하고, 이를 분석하여 문제를 신속히 해결함으로써 시스템의 안정성과 신뢰성을 확보하는 것이다.Another technical problem to be solved through one embodiment of the present invention is to secure the stability and reliability of the system by efficiently logging various errors occurring during communication with a scanner, analyzing them, and quickly resolving the problems.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 바코드 스캐너의 입력 이벤트를 처리하는 과정에서 중복 이벤트를 방지하고, 운영 절차를 정의하여 입력 이벤트를 일관되게 처리함으로써 정확하고 신뢰성 있는 데이터를 제공하는 것이다.Another technical problem to be solved through one embodiment of the present invention is to prevent duplicate events in the process of processing input events of a barcode scanner, and to define operating procedures to consistently process input events, thereby providing accurate and reliable data.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 서비스 레벨의 임계치를 설정하고, 오류 발생 시 이를 실시간으로 감지하여 알림을 생성함으로써 시스템의 성능과 안정성을 유지하는 것이다.Another technical problem to be solved through one embodiment of the present invention is to maintain the performance and stability of the system by setting a threshold for a service level and detecting an error in real time and generating a notification when an error occurs.

본 발명의 일 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 어플리케이션 사용 내역에 대한 데이터를 수집하고 분석하여 서비스 가용성, 사용 빈도, 오류 발생 빈도 등의 지표를 통해 서비스의 성능을 평가하고 개선하는 것이다.Another technical problem to be solved through one embodiment of the present invention is to collect and analyze data on application usage history to evaluate and improve service performance through indicators such as service availability, usage frequency, and error occurrence frequency.

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

본 개시의 일 실시예에 따른 어플리케이션을 포함하는 전자 장치에 의해 수행되는 바코드 스캐너의 통합 관리 방법은, 상기 전자 장치와 연결된 바코드 스캐너를 식별하고, 상기 바코드 스캐너와의 통신 방식을 결정하는 단계; 상기 통신 방식이 제1 통신 방식이라는 결정에 응답하여, 키 입력 이벤트(event)를 처리하는 수신자로서의 이벤트 리스너(listener)에 의해 상기 바코드 스캐너로부터의 키 입력 이벤트의 발생 여부를 결정하는 단계; 상기 키 입력 이벤트가 발생했다는 결정에 응답하여, 상기 바코드 스캐너에 의해 스캔된 바코드를 일련의 키 정보들로서 수신하는 단계; 상기 수신된 키 정보들에 각각 대응하는 상태를 식별하는 단계 - 상기 상태는 제1, 제2, 제3 상태를 포함하고, 상기 제1 상태는 바코드 입력의 시작을 나타내고, 상기 제2 상태는 바코드 입력의 진행을 나타내고, 상기 제3 상태는 바코드 입력의 완료를 나타냄 -; 및 상기 상태에 대응하는 상기 키 정보에 기초하여 상기 바코드 스캐너에 의해 스캔된 바코드에 대응하는 입력 스트링을 생성하는 단계를 포함할 수 있다.An integrated management method of a barcode scanner performed by an electronic device including an application according to one embodiment of the present disclosure may include: identifying a barcode scanner connected to the electronic device and determining a communication method with the barcode scanner; in response to a determination that the communication method is a first communication method, determining whether a key input event from the barcode scanner has occurred by an event listener as a receiver that processes a key input event; in response to a determination that the key input event has occurred, receiving a barcode scanned by the barcode scanner as a series of key information; identifying a state corresponding to each of the received key information, wherein the states include a first, a second, and a third state, the first state indicating a start of barcode input, the second state indicating a progress of barcode input, and the third state indicating a completion of barcode input; and generating an input string corresponding to a barcode scanned by the barcode scanner based on the key information corresponding to the state.

일 실시예에서, 상기 통신 방식이 상기 제1 통신 방식과 상이한 제2 통신 방식이라는 결정에 응답하여, 상기 바코드 스캐너에 대응하는 SDK를 로딩하는 단계; 및 상기 SDK를 통해 상기 바코드 스캐너에 의해 스캔된 바코드의 데이터를 수신하는 단계를 더 포함할 수 있다.In one embodiment, the method may further include: loading an SDK corresponding to the barcode scanner in response to a determination that the communication method is a second communication method different from the first communication method; and receiving data of a barcode scanned by the barcode scanner via the SDK.

일 실시예에서, 상기 제1 상태는, 상기 전자 장치로 하여금, 상기 입력 스트링을 초기화하고, 상기 제1 상태에 대응하는 불리언(boolean) 값을 참으로 설정하도록 하고; 상기 제2 상태는, 상기 전자 장치로 하여금, 상기 불리언 값이 참인 경우, 수신된 키 정보들을 순차적으로 상기 입력 스트링에 추가하게 하고; 상기 제3 상태는, 상기 전자 장치로 하여금, 추가적 키 정보가 수신되지 않고 상기 불리언 값이 참인 경우, 상기 입력 스트링을 저장하게 하고, 상기 불리언 값을 거짓으로 설정하도록 할 수 있다. In one embodiment, the first state may cause the electronic device to initialize the input string and set a boolean value corresponding to the first state to true; the second state may cause the electronic device to sequentially add received key information to the input string if the boolean value is true; and the third state may cause the electronic device to store the input string and set the boolean value to false if additional key information is not received and the boolean value is true.

일 실시예에서, 상기 수신된 키 정보들에 각각 대응하는 상태를 식별하는 단계는, 상기 수신된 키 정보들 중 하나의 키 정보의 값이 특정 키 값인 경우, 상기 하나의 키 정보에 대응하는 상태를 상기 제3 상태로 식별하는 단계를 포함할 수 있다.In one embodiment, the step of identifying a state corresponding to each of the received key information may include a step of identifying the state corresponding to the one key information as the third state when the value of one of the received key information is a specific key value.

일 실시예에서, 상기 전자 장치와 상기 바코드 스캐너 간의 연결은 블루투스 또는 Wi-Fi 무선 연결일 수 있다.In one embodiment, the connection between the electronic device and the barcode scanner may be a Bluetooth or Wi-Fi wireless connection.

일 실시예에서, 상기 통신 방식은 HID(Human Interface Device) 방식, BLE(Bluetooth Low Energy) 방식, SPP(Serial Port Profile) 방식 중 적어도 하나를 포함할 수 있다.In one embodiment, the communication method may include at least one of a HID (Human Interface Device) method, a BLE (Bluetooth Low Energy) method, and a SPP (Serial Port Profile) method.

일 실시예에서, 방법은, 상기 입력 스트링에 대응하는 물류 정보들을 검색하는 단계 - 상기 물류 정보들은 물류 유형을 포함하고, 상기 물류 유형은 반품, 배송, 제품 회수를 포함함 -; 서버가 상기 물류 정보들을 상품코드별, 입고일자별 또는 출고일자별로 분류하도록 상기 물류 정보들을 서버에 송신하는 단계; 및 상기 서버에 의해 분류된 물류 정보들을 상기 서버로부터 수신하는 단계를 더 포함할 수 있다.In one embodiment, the method may further include the steps of: retrieving logistics information corresponding to the input string, wherein the logistics information includes a logistics type, and the logistics type includes return, delivery, and product recovery; transmitting the logistics information to a server so that the server classifies the logistics information by product code, date of receipt, or date of shipment; and receiving the logistics information classified by the server from the server.

일 실시예에서, 방법은, 상기 입력 스트링을 상기 바코드 스캐너에 의해 스캔된 바코드에 대응하는 운송장 번호로 결정하는 단계; 상기 결정된 운송장 번호의 유효성을 검증하는 단계; 및 상기 검증 결과에 상응하는 메시지를 표시하는 단계를 더 포함할 수 있다.In one embodiment, the method may further include the steps of determining the input string as a waybill number corresponding to a barcode scanned by the barcode scanner; verifying validity of the determined waybill number; and displaying a message corresponding to the verification result.

일 실시예에서, 상기 운송장 번호의 유효성을 검증하는 단계는, (i) 상기 운송장 번호가 기 저장된 타 운송장 번호와 중복되는지 여부를 결정하는 단계; (ii) 상기 운송장 번호에 대응하는 운송 유효기간이 초과하였는지 여부를 결정하는 단계; (iii) 상기 운송장 번호가 서버 상의 데이터베이스에서 상기 전자 장치의 사용자에게 할당된 운송장 번호에 해당하는지 여부를 결정하는 단계; (iv) 상기 운송장 번호가 이미 배송 완료 처리되었는지 여부를 결정하는 단계; (v) 상기 운송장 번호가 다른 사용자에게 할당되었는지 여부를 결정하는 단계 중 적어도 하나를 포함할 수 있다.In one embodiment, the step of verifying the validity of the waybill number may include at least one of the steps of: (i) determining whether the waybill number overlaps with another waybill number previously stored; (ii) determining whether a transportation validity period corresponding to the waybill number has expired; (iii) determining whether the waybill number corresponds to a waybill number assigned to a user of the electronic device in a database on a server; (iv) determining whether the waybill number has already been processed for delivery completion; and (v) determining whether the waybill number has been assigned to another user.

일 실시예에서, 상기 전자 장치에는 상기 바코드 스캐너의 관리를 위한 어플리케이션이 설치되어 있고, 상기 방법은, 서비스 리포팅을 위하여, 상기 어플리케이션의 사용 내역에 대한 하나 이상의 지표를 특정하는 단계; 및 상기 지표에 따라 상기 사용 내역을 분석하고, 상기 분석의 결과를 로깅하는 단계를 더 포함하고, 상기 지표는 상기 어플리케이션의 사용 내역을 나타내는 값으로서, 상기 어플리케이션 상의 서비스 가용성, 상기 서비스 사용 빈도, 오류 발생 빈도 및 발생 내역 중 적어도 하나를 나타낼 수 있다.In one embodiment, the electronic device has an application for managing the barcode scanner installed, and the method further includes the steps of: specifying one or more indicators for usage history of the application for service reporting; and analyzing the usage history according to the indicators and logging the results of the analysis, wherein the indicators are values representing the usage history of the application and may represent at least one of service availability on the application, service usage frequency, error occurrence frequency, and occurrence history.

일 실시예에서, 상기 하나 이상의 지표를 특정하는 단계는, 상기 바코드 스캐너와의 통신 방식이 HID 방식인지 여부를 결정하는 단계를 포함할 수 있다.In one embodiment, the step of specifying the one or more indicators may include the step of determining whether the communication method with the barcode scanner is an HID method.

일 실시예에서, 상기 하나 이상의 지표를 특정하는 단계는, 상기 바코드 스캐너와의 연결 상태 및 상기 바코드 스캐너의 정보를 결정하는 단계를 포함할 수 있다.In one embodiment, the step of specifying the one or more indicators may include the step of determining a connection status with the barcode scanner and information of the barcode scanner.

일 실시예에서, 상기 하나 이상의 지표를 특정하는 단계는, 상기 어플리케이션 상에서 수행된 작업과 상기 작업의 빈도를 결정하는 단계를 포함할 수 있다.In one embodiment, the step of specifying the one or more indicators may include determining operations performed on the application and the frequency of the operations.

일 실시예에서, 상기 하나 이상의 지표를 특정하는 단계는, 상기 이벤트 리스너가 아닌 다른 요소에 의해 상기 키 입력 이벤트의 발생이 결정된 것을 검출하는 단계; 및 상기 이벤트 리스너가 아닌 다른 요소에 의해 상기 키 입력 이벤트의 발생이 결정된 것을 검출하는 것에 응답하여, 상기 오류의 발생을 결정하는 단계를 포함할 수 있다.In one embodiment, the step of specifying the one or more indicators may include the step of detecting that the occurrence of the key input event was determined by an element other than the event listener; and in response to detecting that the occurrence of the key input event was determined by an element other than the event listener, the step of determining the occurrence of the error.

일 실시예에서, 방법은, 상기 오류 발생 빈도가 미리 설정된 임계값을 초과하는 경우 알림을 생성하는 단계를 더 포함할 수 있다.In one embodiment, the method may further include the step of generating a notification if the frequency of occurrence of the error exceeds a preset threshold.

일 실시예에서, 상기 이벤트 리스너에 의해 상기 키 입력 이벤트의 발생 여부를 결정하는 단계는, 상기 키 입력 이벤트의 발생 여부를 기 정해진 시간 단위로 수신하는 단계; 및 상기 기 정해진 시간 단위로 수신되는 키 입력 이벤트 중 중복 이벤트를 검출하고, 상기 검출된 중복 이벤트를 무시하는 단계를 포함할 수 있다.In one embodiment, the step of determining whether the key input event has occurred by the event listener may include the step of receiving whether the key input event has occurred at a predetermined time unit; and the step of detecting a duplicate event among the key input events received at the predetermined time unit, and ignoring the detected duplicate event.

일 실시예에서, 전자 장치에 있어서, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 명령어들이 저장된 하나 이상의 메모리를 포함하고, 상기 하나 이상의 프로세서에 의해 상기 명령어들이 실행될 시, 상기 하나 이상의 프로세서는, 앞서 기재된 실시예들 중 어느 하나에 따른 방법을 실행하도록 구성되는, 전자 장치를 포함할 수 있다.In one embodiment, an electronic device may include one or more processors; and one or more memories storing instructions to be executed by the one or more processors, 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 the embodiments described above.

일 실시예에서, 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 동작을 수행하도록 하는 명령어들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서로 하여금, 앞서 기재된 실시예들 중 어느 하나에 따른 방법을 실행하게 하도록 구성되는, 비일시적 컴퓨터 판독 가능 기록 매체를 포함할 수 있다.In one embodiment, a non-transitory computer-readable recording medium having recorded thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the instructions may include a non-transitory computer-readable recording medium configured to cause the one or more processors to perform a method according to any one of the embodiments described above.

본 개시에 따르면, 다양한 블루투스 바코드 스캐너 장치를 쉽게 통합하고 관리함으로써 사용자 경험을 향상시키고, 물류 및 배송 프로세스의 효율성을 크게 향상시킬 수 있다.According to the present disclosure, various Bluetooth barcode scanner devices can be easily integrated and managed to enhance user experience and greatly improve the efficiency of logistics and delivery processes.

본 개시에 따르면, 특정 제조사에 의존하지 않고 여러 블루투스 스캐너의 호환성을 제공함으로써 사용자가 물류 프로세스에 최적화된 스캐너를 자유롭게 선택할 수 있으며, 시스템의 확장성을 향상시킬 수 있다.According to the present disclosure, by providing compatibility with multiple Bluetooth scanners without relying on a specific manufacturer, users can freely select a scanner optimized for a logistics process, thereby improving the expandability of the system.

본 개시에 따르면, 다양한 통신 방식(HID, BLE, SPP 등)을 지원함으로써, 시스템의 호환성과 유연성을 높일 수 있다.According to the present disclosure, by supporting various communication methods (HID, BLE, SPP, etc.), the compatibility and flexibility of the system can be increased.

본 개시에 따르면, 일 스캐닝을 통하여 다양한 물류 프로세스를 수행하게 함으로써, 전체 물류 시스템의 운영 효율성을 극대화할 수 있다. According to the present disclosure, by performing various logistics processes through one-day scanning, the operational efficiency of the entire logistics system can be maximized.

본 개시에 따르면, 중복 이벤트를 방지하고, 입력 이벤트를 일관되게 처리함으로써 정확하고 신뢰성 있는 데이터를 제공할 수 있다.According to the present disclosure, accurate and reliable data can be provided by preventing duplicate events and consistently processing input events.

본 개시에 따르면, 입력 이벤트를 처리하는 과정에서 중복 이벤트를 방지하고, 입력 이벤트를 일관되게 처리함으로써 정확하고 신뢰성 있는 데이터를 제공할 수 있다.According to the present disclosure, in the process of processing input events, duplicate events can be prevented, and accurate and reliable data can be provided by consistently processing input events.

본 개시에 따르면, 서비스 레벨의 임계값을 설정하고, 오류 발생 시 이를 실시간으로 감지하여 알림을 생성함으로써 시스템의 성능과 안정성을 유지할 수 있다.According to the present disclosure, the performance and stability of the system can be maintained by setting a threshold for a service level and detecting an error in real time and generating a notification when an error occurs.

본 개시에 따르면, 어플리케이션 사용 내역에 대한 데이터를 수집하고 분석하여 서비스 가용성, 사용 빈도, 오류 발생 빈도 등의 지표를 통해 서비스의 성능을 평가하고 개선할 수 있다.According to the present disclosure, data on application usage history can be collected and analyzed to evaluate and improve service performance through indicators such as service availability, usage frequency, and error occurrence frequency.

본 개시에 따르면, 블루투스 스캐너와의 연결 실패, 사용성 실패 등 다양한 오류를 효율적으로 로깅하고, 이를 분석하여 문제를 신속히 해결함으로써 시스템의 안정성과 신뢰성을 확보할 수 있다.According to the present disclosure, various errors, such as connection failure with a Bluetooth scanner and usability failure, can be efficiently logged, analyzed, and problems quickly resolved, thereby ensuring the stability and reliability of the system.

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

도 1은 본 개시의 일 실시예에 따른 전자 장치, 바코드 스캐너 및 서버가 적용될 수 있는 환경을 도시한다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 개시의 일 실시예에 따른 방법을 나타낸 동작흐름도이다.
도 4는 본 개시의 일 실시예에 따른 기기 식별과 관련된 전자 장치의 화면을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 바코드 스캐너와 전자 장치 간의 데이터 처리 과정을 나타내는 흐름도이다.
도 6은 실시예에 따른 바코드 입력 스트링에 대응하는 물류 정보 검색 및 분류 과정을 나타내는 흐름도이다.
도 7은 일 실시예에 따른 어플리케이션을 통해 바코드를 스캔하고, 스캔된 운송장 정보를 어플리케이션 화면에 표시하는 도면이다.
도 8a는 본 발명의 일 실시예에 따른 바코드 입력 성공, 중복 스캔, 및 오류를 도시하는 도면이다.
도 8b는 본 발명의 일 실시예에 따른 중복 스캔 오류를 도시하는 도면이다.
FIG. 1 illustrates an environment in which an electronic device, a barcode scanner, and a server according to one embodiment of the present disclosure can be applied.
FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.
FIG. 3 is a flowchart illustrating a method according to one embodiment of the present disclosure.
FIG. 4 is a diagram showing a screen of an electronic device related to device identification according to one embodiment of the present disclosure.
FIG. 5 is a flowchart showing a data processing process between a barcode scanner and an electronic device according to one embodiment of the present invention.
Figure 6 is a flowchart showing a logistics information search and classification process corresponding to a barcode input string according to an embodiment.
FIG. 7 is a diagram showing an application according to one embodiment of the present invention that scans a barcode and displays scanned waybill information on the application screen.
FIG. 8A is a diagram illustrating successful barcode input, duplicate scan, and error according to one embodiment of the present invention.
FIG. 8b is a diagram illustrating a duplicate scan error according to one embodiment of the present invention.

본 개시에 기재된 다양한 실시예들은, 본 개시의 기술적 사상을 명확히 설명하기 위한 목적으로 예시된 것이며, 이를 특정한 실시 형태로 한정하려는 것이 아니다. 본 개시의 기술적 사상은, 본 개시에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다.The various embodiments described in this disclosure are exemplified for the purpose of clearly explaining the technical idea of this disclosure, and are not intended to limit it to a specific embodiment. The technical idea of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of each embodiment described in this disclosure. In addition, the scope of the technical idea of this disclosure is not limited to the various embodiments presented below or the specific description thereof.

기술적이거나 과학적인 용어를 포함해서, 본 개시에서 사용되는 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 가질 수 있다.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.

본 개시에서 사용되는 "포함한다", "포함할 수 있다", "구비한다", "구비할 수 있다", "가진다", "가질 수 있다" 등과 같은 표현들은, 대상이 되는 특징(예를 들어, 기능, 동작 또는 구성요소 등)이 존재함을 의미하며, 다른 추가적인 특징의 존재를 배제하지 않는다. 즉, 이와 같은 표현들은 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.The expressions such as “includes,” “may include,” “comprises,” “may have,” “have,” and “may have” used in this disclosure indicate the presence of a target feature (e.g., a function, operation, or component), but do not exclude the presence of other additional features. That is, such expressions should be understood as open-ended terms that imply the possibility of including other embodiments.

본 개시에서 사용되는 단수형의 표현은, 문맥상 다르게 뜻하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구항에 기재된 단수형의 표현에도 마찬가지로 적용된다.As used herein, singular expressions may include plural meanings unless the context clearly indicates otherwise, and the same applies to singular expressions set forth in the claims.

본 문서에서 사용되는 "제1", "제2", 또는 "첫째", "둘째" 등의 표현은, 문맥상 다르게 뜻하지 않는 한, 복수의 동종 대상들을 지칭함에 있어 한 대상을 다른 대상과 구분하기 위해 사용되며, 해당 대상들간의 순서 또는 중요도를 한정하는 것은 아니다.The expressions "first", "second", or "firstly", "secondly", etc., used in this document, unless the context clearly indicates otherwise, are used to refer to multiple similar objects and to distinguish one object from another, and do not limit the order or importance among the objects.

본 문서에서 사용되는 "A, B, 및 C", "A, B, 또는 C", "A, B, 및/또는 C" 또는 "A, B, 및 C 중 적어도 하나", "A, B, 또는 C 중 적어도 하나", "A, B, 및/또는 C 중 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A, (2) 적어도 하나의 B, (3) 적어도 하나의 A 및 적어도 하나의 B를 모두 지칭할 수 있다.The expressions "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", etc., as used herein, can mean each of the listed items or all possible combinations of the listed items. For example, "at least one of A or B" can refer to (1) at least one A, (2) at least one B, (3) at least one A and at least one B.

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

본 개시에서 사용되는, 어떤 구성요소(예를 들어, 제1 구성요소)가 다른 구성요소(예를 들어, 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예를 들어, 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다.As used herein, 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, but also connected or connected via a new other component (e.g., a third component).

본 개시에서 사용된 표현 "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 이 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서란, 소프트웨어를 실행함으로써 그 특정 동작을 수행할 수 있는 범용 프로세서(generic purpose processor)를 의미하거나, 그 특정 동작을 수행하도록 프로그래밍을 통해 구조화된 특수 목적 컴퓨터(special purpose computer)를 의미할 수 있다.The expression "configured to" used in the present disclosure can have the meanings of "set to", "having the ability to", "modified to", "made to", "capable of", etc., depending on the context. This expression is not limited to the meaning of "specifically designed in hardware", and for example, a processor configured to perform a specific operation can mean a general purpose processor that can perform the specific operation by executing software, or a special purpose computer that is structured through programming to perform the specific operation.

이하, 첨부된 도면들을 참조하여, 본 개시에 기재된 다양한 실시예들을 설명한다. 첨부된 도면 및 도면에 대한 설명에서, 동일하거나 실질적으로 동등한(substantially equivalent) 구성요소에는 동일한 참조부호가 부여될 수 있다. 또한, 이하 다양한 실시예들의 설명에서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있으나, 이는 그 구성요소가 그 실시예에 포함되지 않는 것을 의미하지는 않는다.Hereinafter, various embodiments described in 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 given the same reference numerals. In addition, in the description of various embodiments below, duplicate descriptions of identical or corresponding components may be omitted, but this does not mean that the components are not included in the embodiments.

도 1은 본 개시의 일 실시예에 따른 전자 장치(110a, 110b), 바코드 스캐너(120a, 120b) 및 서버(150)가 적용될 수 있는 환경을 도시한다. 이 환경은 물류, 재고 관리, 상품 추적 등 다양한 응용 분야에서 사용될 수 있다. 예를 들어, 사용자는 바코드 스캐너(120a, 120b)를 사용하여 상품의 바코드를 스캔하고, 전자 장치(110a, 110b)를 통해 해당 데이터를 서버(150)로 전송하여 중앙에서 통합 관리할 수 있다. FIG. 1 illustrates an environment in which an electronic device (110a, 110b), a barcode scanner (120a, 120b), and a server (150) according to one embodiment of the present disclosure can be applied. This environment can be used in various application fields such as logistics, inventory management, and product tracking. For example, a user can scan a barcode of a product using a barcode scanner (120a, 120b), and transmit the corresponding data to a server (150) via the electronic device (110a, 110b) for central, integrated management.

하나 이상의 전자 장치들(110a, 110b) 각각은 바코드 스캐너(120a, 120b)와 통신 방식(130a, 130b)을 통해 상호 통신할 수 있다. 하나 이상의 전자 장치들(110a, 110b)은 단수의 전자 장치(110)일 수도 있으며, 복수의 전자 장치(110)일 수도 있다. 이하 전자 장치들(110a, 110b)은 전자 장치(110)로 지칭한다. 하나 이상의 바코드 스캐너(120a, 120b)는 단수의 바코드 스캐너(120)일 수도 있으며, 복수의 바코드 스캐너(120)일 수도 있다. 이하 바코드 스캐너들(120a, 120b)은 바코드 스캐너(120)로 지칭한다. 하나 이상의 통신 방식(130a, 130b)은 이하 연결(130)로 지칭한다.Each of the one or more electronic devices (110a, 110b) can communicate with the barcode scanner (120a, 120b) via a communication method (130a, 130b). The one or more electronic devices (110a, 110b) may be a single electronic device (110) or may be a plurality of electronic devices (110). Hereinafter, the electronic devices (110a, 110b) are referred to as an electronic device (110). The one or more barcode scanners (120a, 120b) may be a single barcode scanner (120) or may be a plurality of barcode scanners (120). Hereinafter, the barcode scanners (120a, 120b) are referred to as a barcode scanner (120). The one or more communication methods (130a, 130b) are referred to as a connection (130) hereinafter.

도 1에서 도시된 바와 같이, 전자 장치(110)와 서버(150)는 네트워크(140)를 통해 연결되어 전자 상거래 관련 서비스 혹은 물류 관리 시스템을 구성할 수 있다. 서버(150)에 연결된 전자 장치(110)는 하나 이상일 수 있다. 예를 들어, 하나 이상의 전자 장치들(110a, 110b)은 네트워크(140)를 통해 서버(150)에 연결되며, 각 전자 장치(110)는 데이터베이스를 포함하여 데이터의 저장 및 처리가 가능할 수 있다. As illustrated in FIG. 1, an electronic device (110) and a server (150) may be connected via a network (140) to form an electronic commerce-related service or a logistics management system. There may be one or more electronic devices (110) connected to the server (150). For example, one or more electronic devices (110a, 110b) are connected to the server (150) via a network (140), and each electronic device (110) may be capable of storing and processing data, including a database.

전자 장치(110)는 사용자가 바코드 스캐너(120)를 통해 수집한 데이터를 처리하고 서버(150)와 통신할 수 있는 모바일 장치, 태블릿 또는 컴퓨터일 수 있다. 구체적으로, 전자 장치(110)는, 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있으며, 다양한 정보를 어플리케이션으로 구성하여 제공할 수 있다. 예를 들면, 전자 장치(110)는, 작업을 수행하여 수행 결과를 제공하는 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(110)는, 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예를 들어, 전자 장치(110)는, 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.The electronic device (110) may be a mobile device, tablet, or computer that can process data collected by the user through the barcode scanner (120) and communicate with the server (150). Specifically, the electronic device (110) may include a plurality of computer systems or computer software implemented as network servers, and may provide various information by configuring them as applications. For example, the electronic device (110) may refer to computer software that performs a task and provides the result of the task. In addition, the electronic device (110) may be understood as a broad concept that includes a series of application programs that can operate on a network server and various databases built inside. For example, the electronic device (110) may be implemented using a network server program that is provided in various ways depending on an operating system such as DOS, Windows, Linux, UNIX, or MacOS.

일 실시예에서, 본 발명의 시스템은 중앙 네트워크를 통해 연결된 복수의 전자 장치(110)들로 구성되며, 각 전자 장치(110)는 독립적인 데이터베이스와 함께 작동하여, 사용자의 요청에 따라 데이터를 저장하고 수신, 전송할 수 있다. 네트워크(140)에 연결된 전자 장치(110)는 자체적으로 처리 능력을 가지며, 필요에 따라 다른 전자 장치(110)와의 데이터 공유 및 처리 작업을 수행할 수 있다. 예를 들어, 전자 장치(110)는 바코드 입력의 시작, 진행, 완료 상태를 식별하고, 이를 기반으로 데이터를 가공하고, 처리 및 저장하는 역할을 수행할 수 있다.In one embodiment, the system of the present invention is composed of a plurality of electronic devices (110) connected through a central network, and each electronic device (110) operates with an independent database to store, receive, and transmit data according to a user's request. The electronic device (110) connected to the network (140) has its own processing capability and can perform data sharing and processing tasks with other electronic devices (110) as needed. For example, the electronic device (110) can identify the start, progress, and completion status of barcode input, and process, process, and store data based on the status.

예를 들어, 각 전자 장치(110)는 소프트웨어 어플리케이션, 웹 서비스, 혹은 다른 전자 장치(110)로부터의 요청을 받아 특정 데이터를 처리하고, 그 결과를 네트워크(140)를 통해 요청한 장치나 서비스로 다시 전송할 수 있다. 또한, 각 전자 장치(110)의 데이터베이스는 데이터에 대한 빠른 접근을 제공하며, 효율적인 데이터 관리를 가능하게 한다. 네트워크(140)도 복수의 전자 장치(110)와 데이터베이스와 연결되어, 네트워크 수준에서의 데이터 관리와 분산 처리를 수행할 수 있다.For example, each electronic device (110) can receive a request from a software application, a web service, or another electronic device (110), process specific data, and transmit the result back to the requesting device or service via the network (140). In addition, the database of each electronic device (110) provides quick access to data and enables efficient data management. The network (140) can also be connected to a plurality of electronic devices (110) and databases to perform data management and distributed processing at the network level.

일 실시예에서, 전자 장치(110)는 연결(130)을 통해 바코드 스캐너(120)와 연결을 확립하고 통신할 수 있다. 전자 장치(110)는 바코드 스캐너(120)로부터 데이터를 수신하고, 데이터를 처리한 후, 처리된 데이터를 저장하거나, 필요에 따라 네트워크(140)를 통해 전송할 수 있다. 전자 장치(110)는 이를 통해 데이터의 실시간 처리를 할 수 있으며, 네트워크 레벨의 서버(150)와 효율적인 데이터 교환을 할 수 있다.In one embodiment, the electronic device (110) can establish a connection and communicate with a barcode scanner (120) via a connection (130). The electronic device (110) can receive data from the barcode scanner (120), process the data, and then store the processed data or transmit it via a network (140) as needed. Through this, the electronic device (110) can perform real-time processing of data and efficiently exchange data with a network-level server (150).

일 실시예에서, 전자 장치(110)는 바코드 스캐너(120)와의 통신을 관리하는 역할을 수행할 수 있다. 전자 장치(110)는 바코드 스캐너(120)를 식별하고, 해당 스캐너와의 통신 방식을 결정할 수 있다. In one embodiment, the electronic device (110) may be responsible for managing communication with a barcode scanner (120). The electronic device (110) may identify the barcode scanner (120) and determine how to communicate with the scanner.

또한, 전자 장치(110)는 물류 서비스, 즉, 상품의 배달, 상품의 반품, 제품 회수 현황을 관리할 수 있다. 즉, 전자 장치(110)는 물류 서비스 관리 기능을 제공하는 어플리케이션을 탑재할 수 있다. 전자 장치(110)는 어플리케이션을 통해 사용자에게 물류 서비스의 상태 변경을 추적하고, 서비스의 현황에 따라 실시간으로 사용자에게 정보를 제공할 수 있다.In addition, the electronic device (110) can manage the status of logistics services, i.e., delivery of goods, return of goods, and product recovery. That is, the electronic device (110) can be equipped with an application that provides a logistics service management function. The electronic device (110) can track changes in the status of logistics services to the user through the application, and provide information to the user in real time according to the status of the service.

전자 장치(110)는 바코드 스캐너(120)와 블루투스 또는 Wi-Fi를 통해 무선으로 연결되어, 스캔된 바코드 데이터를 효율적으로 송수신하는 역할을 수행할 수 있다. 이는 사용자가 자유롭게 이동하면서 스캔 작업을 수행할 수 있게 하여, 작업의 유연성을 제공한다.The electronic device (110) can be wirelessly connected to a barcode scanner (120) via Bluetooth or Wi-Fi to efficiently transmit and receive scanned barcode data. This allows the user to perform scanning tasks while moving freely, providing flexibility in the task.

일 실시예에서, 전자 장치(110)는 HID, BLE, SPP와 같은 다양한 통신 방식을 지원하여, 여러 종류의 바코드 스캐너(120)와 호환되는 역할을 수행할 수 있다.In one embodiment, the electronic device (110) can support various communication methods such as HID, BLE, and SPP, thereby performing a role compatible with various types of barcode scanners (120).

이외에도 전자 장치(110)가 수행할 수 있는 동작에 관하여 본 개시에서 언급되지 않은 동작이라도, 공지된 물류 서비스를 제공하는 서버(150) 및 이에 연결된 전자 장치(110)가 수행할 수 있는 일반적인 동작이라면, 그 동작을 참조하여 본 개시의 기술적 사상을 적용하는 것은 본 개시의 범위에서 배제되지 않음을 유의해야 한다. In addition, it should be noted that even if an operation is not mentioned in the present disclosure with respect to an operation that an electronic device (110) can perform, if it is a general operation that a server (150) providing a known logistics service and an electronic device (110) connected thereto can perform, applying the technical idea of the present disclosure with reference to that operation is not excluded from the scope of the present disclosure.

바코드 스캐너(120)는 바코드에 인코딩된 데이터를 읽고 디코딩하여 전자 장치(110)로 전송하는 장치를 지칭한다. 바코드 스캐너(120)는 상거래, 물류, 재고관리, 도소매, 의료 등 다양한 분야에서 사용될 수 있다. 예를 들어, 바코드 스캐너(120)는, 펜/스틱 스캐너 (Pen/Wand Scanner), 컴패드 스캐너(Charge-Coupled Device Scanner), 레이저 스캐너(Laser Scanner), 이미지 스캐너 (Imager/Camera-Based Scanner), 블루투스/무선 스캐너 (BlueTooth/Wireless Scanner), 웨어러블 스캐너(Wearable Scanner), 고정형 스캐너 (Fixed Mount Scanner), 모바일 장치 스캐너(Mobile Devise Scanner), 산업용 스캐너(Industrial Scanner), 의료용 스캐너(Medical Scanner) 등을 포함할 수 있다. A barcode scanner (120) refers to a device that reads and decodes data encoded in a barcode and transmits it to an electronic device (110). The barcode scanner (120) can be used in various fields such as commerce, logistics, inventory management, wholesale and retail, and medical care. For example, the barcode scanner (120) can include a pen/stick scanner, a charge-coupled device scanner, a laser scanner, an imager/camera-based scanner, a Bluetooth/wireless scanner, a wearable scanner, a fixed mount scanner, a mobile device scanner, an industrial scanner, a medical scanner, and the like.

일 실시예에서, 바코드 스캐너(120)는 특정 제조사에서 만든 스캐너를 포함할 수 있다. 특정 제조사에서 만든 바코드 스캐너(120)는 특정 제조사에서 제공하는 소프트웨어 키트인 SDK(Software Development Kit)에 대응될 수 있다. SDK는 제조사에서 제공하는 툴킷으로, 바코드 스캐너(120)와 통신하여 데이터를 디코딩하고 처리하는 데 필요한 기능을 제공할 수 있다. 통상의 기술자는, SDK가 전자 장치(110)에 데이터를 전송하고 전자 장치(110)가 데이터를 처리할 수 있도록 하는 다양한 기능을 내포함을 이해할 것이다.In one embodiment, the barcode scanner (120) may include a scanner manufactured by a specific manufacturer. The barcode scanner (120) manufactured by a specific manufacturer may correspond to a software development kit (SDK), which is a software kit provided by the specific manufacturer. The SDK is a toolkit provided by the manufacturer and may provide functions necessary to communicate with the barcode scanner (120) to decode and process data. Those skilled in the art will understand that the SDK includes various functions that enable the electronic device (110) to transmit data to the electronic device (110) and the electronic device (110) to process the data.

추가적으로, 바코드 스캐너(120)는 특정 제조사에 한정되지 않고, 여러 제조사에서 만든 다양한 스캐너를 포함할 수 있다. 여러 제조사에서 만든 다양한 스캐너에 대해 대응하는 SDK를 모두 제공 받아 설치하는 것은 용이하지 않을 수 있다. 통상의 기술자는, 다양한 제조사의 스캐너를 지원하기 위해, 다양한 SDK 또는 통합 솔루션이 필요함을 이해할 것이다. 또한, 사용자의 필요에 따라 다양한 바코드 스캐너(120)를 사용해야 할 수 있다. 구체적으로 스캔 속도, 정확도, 지원하는 코드 유형(1D, 2D 등), 가격 및 비용, 제조사의 기술 지원, 제품 보증, 유지보수 정책 등에 따라 다양한 스캐너를 사용해야 할 수 있다. Additionally, the barcode scanner (120) is not limited to a specific manufacturer and may include various scanners made by various manufacturers. It may not be easy to receive and install all corresponding SDKs for various scanners made by various manufacturers. A person skilled in the art will understand that various SDKs or integrated solutions are required to support scanners from various manufacturers. In addition, various barcode scanners (120) may need to be used depending on the user's needs. Specifically, various scanners may need to be used depending on the scanning speed, accuracy, supported code types (1D, 2D, etc.), price and cost, manufacturer's technical support, product warranty, maintenance policy, etc.

바코드는 상품, 물품, 서류 등 다양한 객체에 부착된 데이터의 시각적, 기계 판독 가능 표현으로서, 흑백 형상의 조합을 통해 숫자나 문자 데이터를 인코딩한 것을 지칭한다. 구체적으로, 바코드는 일차원(1D) 바코드 혹은 이차원(2D) 바코드 등의 다양한 코드 형식을 포함할 수 있다. 예를 들어, 바코드는 책의 ISBN 코드, 물류 산업에서 사용되는 코드 128, 코드 39 등을 포함할 수 있다. 예를 들어, 일차원(1D) 바코드는 흑백 막대의 조합을 통해 숫자나 문자 데이터를 인코딩하는, UPC(Universal Product Code), EAN(European Article Number), Code 128, ITF-14 등을 포함할 수 있다. 이차원(2D) 바코드는 좀 더 복잡한 데이터 구조를 가지며, 예를 들어, QR코드, DataMatrix, GS1 DataMatrix 등을 포함할 수 있다. A barcode is a visual, machine-readable representation of data attached to various objects such as products, goods, and documents, that encodes numeric or character data through a combination of black and white shapes. Specifically, a barcode can include various code formats, such as a one-dimensional (1D) barcode or a two-dimensional (2D) barcode. For example, a barcode can include an ISBN code for a book, Code 128, Code 39 used in the logistics industry, etc. For example, a one-dimensional (1D) barcode can include a Universal Product Code (UPC), a European Article Number (EAN), Code 128, ITF-14, etc., which encode numeric or character data through a combination of black and white bars. A two-dimensional (2D) barcode has a more complex data structure, and can include, for example, a QR code, DataMatrix, or GS1 DataMatrix.

바코드는 다양한 길이의 숫자 혹은 문자의 조합으로 구성될 수 있다. 바코드는 바코드 스캐너(120)를 통해 디코딩 되어 숫자 혹은 문자의 조합인 데이터로 변형될 수 있다. 바코드, 혹은 바코드 스캐너(120)에 의해 변형된 데이터의 길이는 여러 유형에 따라 다를 수 있다. 예를 들어, UPC는 일반적으로 12자리 숫자로 구성될 수 있다. 또한, 예를 들어, EAN의 경우, 두 가지 주요 형태가 있을 수 있다. 구체적으로, EAN-13은 13자리 숫자로 구성될 수 있으며, EAN-8은 8자리 숫자로 구성될 수 있다. 또한, 예를 들어, Code 128의 경우, 알파벳, 숫자 및 다양한 특수 문자를 포함할 수 있으며, 가변 길이의 문자열로 구성될 수 있다. 또한, 예를 들어, ITF-14의 경우, 14자리 숫자로 구성되며, 주로 상자나 여러 개의 상품이 단위로 포장된 팔레트 등의 바코드를 나타낼 때 사용될 수 있다. 또한, 예를 들어, GS1 DataMatrix의 경우, 숫자, 알파벳, 특수 문자 등 다양한 데이터를 포함할 수 있다. GS1 DataMatrix는 최대 3,116숫자, 2,355알파벳 문자, 또는 1,556바이트의 바이너리 데이터를 포함할 수 있다.A barcode can be composed of a combination of numbers or characters of various lengths. The barcode can be decoded by a barcode scanner (120) and converted into data that is a combination of numbers or characters. The length of the barcode or the data converted by the barcode scanner (120) can vary depending on the type. For example, UPC can generally be composed of 12 digits. In addition, for example, in the case of EAN, there can be two main forms. Specifically, EAN-13 can be composed of 13 digits, and EAN-8 can be composed of 8 digits. In addition, for example, in the case of Code 128, it can include alphabets, numbers, and various special characters, and can be composed of a string of variable length. In addition, for example, in the case of ITF-14, it is composed of 14 digits, and can be mainly used when representing a barcode of a box or a pallet in which multiple products are packaged as a unit. In addition, for example, in the case of GS1 DataMatrix, it can include various data such as numbers, alphabets, and special characters. GS1 DataMatrix can contain up to 3,116 numeric characters, 2,355 alphabetic characters, or 1,556 bytes of binary data.

이러한 바코드는 전자 장치(110)에서 관리되며, 전자 장치(110)상에서 바코드 스캐너(120)를 통해 실시간으로 업데이트될 수 있다. 전자 장치(110)는 네트워크(140)를 통해 이 데이터를 서버(150)에 송신하고, 상품의 식별, 추적 및 관리를 통해 물류 현황을 확인할 수 있다. These barcodes are managed in an electronic device (110) and can be updated in real time through a barcode scanner (120) on the electronic device (110). The electronic device (110) transmits this data to a server (150) through a network (140) and can check the logistics status through product identification, tracking, and management.

본 발명의 일 실시예에서는, 바코드의 길이에 제한되지 않고 바코드 데이터에 대한 처리/응용이 가능하며, 이를 통해 보다 효율적인 물류 및 재고 관리를 실현할 수 있다. 예를 들어, 제1, 제2, 제3 상태를 이용하여 효율적인 물류 및 재고 관리를 실현할 수 있다.In one embodiment of the present invention, processing/application of barcode data is possible without being limited to the length of the barcode, thereby realizing more efficient logistics and inventory management. For example, efficient logistics and inventory management can be realized by utilizing the first, second, and third states.

전자 장치(110)와 바코드 스캐너(120) 간의 연결(130)은 유무선의 다양한 인터페이스를 통해 데이터 통신을 가능하게 하는 모든 방법을 지칭한다. 연결(130)은 유선 및 무선의 다양한 방식으로 구현될 수 있다. 유선 연결의 경우, 일반적으로 USB, 시리얼, 이더넷 케이블 등이 사용될 수 있다. 유선 연결(130)은 데이터 전송의 안정성과 고속 전송 속도를 제공하며, 먼 거리에서도 신뢰성 있는 통신을 보장할 수 있다. 무선 연결의 경우, 블루투스, Wi-Fi, 무선 주파수 식별(RFID) 등과 같은 기술이 사용될 수 있다. 무선 연결(130)은 배치의 유연성과 장치 간의 이동성을 제공하며, 복잡한 물리적 배선의 필요성을 제거할 수 있다. 연결(130)은 전자 장치(110)와 바코드 스캐너(120) 간의 데이터 전송을 가능하게 한다.The connection (130) between the electronic device (110) and the barcode scanner (120) refers to all methods that enable data communication through various wired and wireless interfaces. The connection (130) can be implemented in various ways, both wired and wireless. In the case of a wired connection, a USB, serial, Ethernet cable, etc. can generally be used. The wired connection (130) provides stability of data transmission and high-speed transmission speed, and can ensure reliable communication even over long distances. In the case of a wireless connection, technologies such as Bluetooth, Wi-Fi, radio frequency identification (RFID), etc. can be used. The wireless connection (130) provides flexibility in deployment and mobility between devices, and can eliminate the need for complex physical wiring. The connection (130) enables data transmission between the electronic device (110) and the barcode scanner (120).

일 실시예에서, 전자 장치(110)와 바코드 스캐너(120)는 블루투스 또는 Wi-Fi 무선 연결을 통해 상호 연결될 수 있다. 블루투스 연결의 경우, 전자 장치(110)와 바코드 스캐너(120) 모두 블루투스 모듈을 포함하여 짧은 거리에서의 데이터 전송을 수행할 수 있는 기능을 구비한다. 블루투스 연결을 통해 두 장치는 페어링 과정을 거쳐 안정적인 무선 통신을 실현할 수 있다. 또한, Wi-Fi 무선 연결의 경우, 전자 장치(110)와 바코드 스캐너(120)는 동일한 Wi-Fi 네트워크에 접속함으로써 데이터 전송을 수행할 수 있다. 이때, 두 장치는 각각의 고유 IP 주소를 부여받아 통신할 수 있으며, 라우터를 통해 장거리 통신 및 대용량 데이터 전송이 가능하다. Wi-Fi 연결은 특히 고속 데이터 전송이 필요한 경우나 블루투스의 거리 제한을 극복해야 하는 상황에서 유용하다.In one embodiment, the electronic device (110) and the barcode scanner (120) may be interconnected via a Bluetooth or Wi-Fi wireless connection. In the case of a Bluetooth connection, both the electronic device (110) and the barcode scanner (120) include a Bluetooth module and have a function capable of performing data transmission over a short distance. Through a Bluetooth connection, the two devices can realize stable wireless communication through a pairing process. In addition, in the case of a Wi-Fi wireless connection, the electronic device (110) and the barcode scanner (120) can perform data transmission by connecting to the same Wi-Fi network. At this time, the two devices can communicate by receiving their own unique IP addresses, and long-distance communication and large-capacity data transmission are possible through a router. A Wi-Fi connection is particularly useful in situations where high-speed data transmission is required or where the distance limitation of Bluetooth must be overcome.

전자 장치(110)와 바코드 스캐너(120)가 이러한 무선 연결 방식을 통해 상호 연결됨으로써, 바코드 데이터를 실시간으로 전자 장치(110)에 전송하고 처리할 수 있는 환경이 제공된다. 따라서, 사용자는 유선 연결의 제약 없이 자유롭게 이동 중에서도 바코드를 스캔하고 데이터를 관리할 수 있다.By interconnecting the electronic device (110) and the barcode scanner (120) through this wireless connection method, an environment is provided in which barcode data can be transmitted and processed in real time to the electronic device (110). Accordingly, the user can freely scan barcodes and manage data while moving without the constraints of a wired connection.

일 실시예에서, 바코드 스캐너(120)는 HID(Human Interface Device) 방식, BLE(Bluetooth Low Energy) 방식, SPP(Serial Port Profile) 방식 등을 통하여 전자 장치(110)와 연결될 수 있다. 바코드 스캐너(120)가 다양한 통신 방식을 통해 전자 장치(110)와 연결될 수 있음으로써, 사용자는 각기 다른 환경과 요구 사항에 맞추어 적절한 연결 방식을 선택할 수 있는 유연성을 가질 수 있다.In one embodiment, the barcode scanner (120) may be connected to the electronic device (110) through a HID (Human Interface Device) method, a BLE (Bluetooth Low Energy) method, a SPP (Serial Port Profile) method, etc. Since the barcode scanner (120) may be connected to the electronic device (110) through various communication methods, a user may have the flexibility to select an appropriate connection method according to different environments and requirements.

HID 방식은 키보드나 마우스와 같은 입력 장치 등에 사용되는 USB 표준 프로토콜을 지칭한다. 예를 들어, HID 방식은 블루투스 또는 USB 인터페이스 방식이 될 수 있다. 구체적으로, HID 방식은 키보드, 마우스, 바코드 스캐너(120)와 같은 입력 장치들이 표준화된 방식으로 데이터를 교환할 수 있게 한다. 바코드 스캐너(120)가 해당 통신 방식을 통해 전자 장치(110)에 연결될 경우, 바코드 스캐너(120)는 HID 장치로 인식되며 이로 인해 별도의 드라이버 설치 없이도 스캐너를 사용할 수 있게 된다. 바코드 스캐너(120)는 스캔한 바코드 데이터를 HID 프로토콜을 사용하여 일련의 키보드 입력 신호로 변환할 수 있다. 키보드 입력 신호는 바코드 데이터 문자열로서, 전자 장치(110)가 자동으로 인식하여 텍스트 입력 형식으로 처리된다. 스캔된 바코드 데이터는 전자 장치(110) 상의 특정 위치로 입력될 수 있다. 본 발명의 기술분야의 통상의 기술자는, HID 방식이 다양한 스캐너의 호환성 측면에서 장점을 가짐을 이해할 것이다.The HID method refers to a USB standard protocol used for input devices such as a keyboard or mouse. For example, the HID method can be a Bluetooth or USB interface method. Specifically, the HID method allows input devices such as a keyboard, mouse, and barcode scanner (120) to exchange data in a standardized manner. When the barcode scanner (120) is connected to the electronic device (110) through the corresponding communication method, the barcode scanner (120) is recognized as an HID device, and thus the scanner can be used without installing a separate driver. The barcode scanner (120) can convert scanned barcode data into a series of keyboard input signals using the HID protocol. The keyboard input signals are barcode data strings that the electronic device (110) automatically recognizes and processes in a text input format. The scanned barcode data can be input to a specific location on the electronic device (110). A person skilled in the art will understand that the HID method has an advantage in terms of compatibility with various scanners.

BLE 방식은 저전력 블루투스 통신을 이용하는 방법으로, 바코드 스캐너(120)가 BLE를 통해 전자 장치(110)와 연결될 경우, 배터리 소모를 최소화하면서도 안정적인 무선 통신을 구현할 수 있다. BLE 방식은 특히 모바일 기기나 IoT(Internet of Things) 장치와의 연동에 유리하다. 따라서, 바코드 스캐너(120)와 전자 장치(110)가 BLE 방식을 통해 연결될 경우, 두 장치는 전력 소비를 최소화하면서도 견고하고 신뢰성 있는 무선 통신을 유지할 수 있다.The BLE method is a method that uses low-power Bluetooth communication, and when a barcode scanner (120) is connected to an electronic device (110) via BLE, stable wireless communication can be implemented while minimizing battery consumption. The BLE method is particularly advantageous for linking with mobile devices or IoT (Internet of Things) devices. Therefore, when a barcode scanner (120) and an electronic device (110) are connected via the BLE method, the two devices can maintain robust and reliable wireless communication while minimizing power consumption.

SPP 방식은 시리얼 포트 통신 프로토콜을 블루투스를 통해 구현한 것으로, 바코드 스캐너(120)가 SPP 방식을 통해 전자 장치(110)와 연결될 경우, 전통적인 시리얼 통신의 간편성과 신뢰성을 제공한다. 이는 특히 데이터 전송의 안정성과 속도가 중요한 응용 분야에서 활용될 수 있다. 또한, SPP 방식은 시리얼 포트의 양방향 통신 특성을 그대로 제공하므로, 데이터를 전송하거나 수신하는 과정에서의 오류를 최소화할 수 있다.The SPP method is a serial port communication protocol implemented via Bluetooth, and when a barcode scanner (120) is connected to an electronic device (110) via the SPP method, it provides the convenience and reliability of traditional serial communication. This can be utilized particularly in application fields where the stability and speed of data transmission are important. In addition, since the SPP method provides the bidirectional communication characteristics of the serial port as is, errors in the process of transmitting or receiving data can be minimized.

본 발명의 추가적 실시예에서, 본 발명의 시스템 및 방법은 BLE 방식 및 SPP 방식을 사용하여, 피트니스 트래커와 스마트워치 같은 센서 장치와의 데이터 통신 시스템을 구현하는 데에도 응용될 수 있다. 이러한 통신 방식을 통해 건강 데이터의 실시간 모니터링 및 분석을 용이하게 하여, 사용자에게 맞춤형 건강 관리 솔루션을 제공할 수 있다. In a further embodiment of the present invention, the system and method of the present invention can also be applied to implement a data communication system with sensor devices such as fitness trackers and smartwatches using the BLE mode and the SPP mode. Through this communication mode, real-time monitoring and analysis of health data can be facilitated, thereby providing customized health management solutions to users.

본 발명의 추가적 실시예에서, 본 발명의 시스템은 가정용 스마트 홈 장치에도 적용될 수 있다. 예를 들면, 스마트 조명, 온도 조절기, 보안 카메라 등의 다양한 센서 장치들이 블루투스 메쉬 네트워크를 통해 중앙 허브와 통신하도록 구성할 수 있다. 이를 통해 가정 내 사용자에게 맞춤형 관리 솔루션을 제공할 수 있으며, 사용자의 생활 편의성을 증대시킬 수 있다.In a further embodiment of the present invention, the system of the present invention can also be applied to home smart home devices. For example, various sensor devices such as smart lighting, thermostats, and security cameras can be configured to communicate with a central hub via a Bluetooth mesh network. This can provide a customized management solution to home users and increase the convenience of users' lives.

본 발명의 추가적 실시예에서, 본 발명의 시스템 및 방법은 RFID 및 NFC 기술을 사용하여 제품을 태그하고 이를 모바일 결제 앱과 연동하는 방식을 추가적으로 구현할 수 있다. 이와 같은 태그를 통해 사용자는 다양한 기기를 통합하고, 후속적으로 스마트폰을 통해 제품 정보를 불러오고, 즉시 결제할 수 있다. 이를 통해 결제 절차를 간소화하는 것이 가능하다.In a further embodiment of the present invention, the system and method of the present invention can additionally implement a method of tagging a product using RFID and NFC technology and linking it with a mobile payment app. Such a tag allows a user to integrate various devices, subsequently retrieve product information via a smartphone, and make an immediate payment. This makes it possible to simplify the payment process.

네트워크(140)는, 하나 이상의 전자 장치(110)를 연결하고 네트워크 레벨의 서버(150)와 연결하는 역할을 수행할 수 있다. 예를 들어, 네트워크(140)는, 전자 장치(110)가 네트워크 레벨의 서버(150)와 연결되어 패킷 데이터를 송수신할 수 있도록 접속 경로를 제공할 수 있다. 네트워크(140)는 예를 들어, 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(Mobile Radio Communication Network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유선 또는 무선 네트워크(140)로 구현될 수 있다.The network (140) may play a role of connecting one or more electronic devices (110) and connecting to a network-level server (150). For example, the network (140) may provide a connection path so that the electronic device (110) may be connected to the network-level server (150) to transmit and receive packet data. The network (140) may be implemented as any type of wired or wireless network (140), such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, Wibro (Wireless Broadband Internet), etc.

서버(150)는 상이한 하나 이상의 전자 장치(110)와 상호작용하며 다양한 소프트웨어를 호스트하는 전자 장치일 수 있다. 서버(150)는 예를 들어, 물류 관리 시스템 소프트웨어를 호스트하고, 물류 분배, 물류 현황 등을 관리할 수 있다. 서버(150)는 데이터베이스 관리, 사용자 인터페이스 제공, 백엔드 로직 처리를 수행할 수 있다. The server (150) may be an electronic device that interacts with one or more different electronic devices (110) and hosts various software. The server (150) may host, for example, logistics management system software and manage logistics distribution, logistics status, etc. The server (150) may perform database management, user interface provision, and backend logic processing.

서버(150)는 데이터베이스를 포함할 수 있다. 데이터베이스는 다양한 정보를 저장하고 관리하는 시스템일 수 있다. 즉, 데이터베이스는 물류 서비스와 관련된 데이터를 저장할 수 있다.The server (150) may include a database. The database may be a system that stores and manages various information. That is, the database may store data related to logistics services.

데이터베이스는 서버(150)와 연결되거나 내장된 구성요소로 포함될 수 있다. 구체적으로, 데이터베이스는 서버(150)에 의해 접근되고, 정보를 제공하거나 실시간으로 업데이트 될 수 있다. 예를 들어, 전자 장치(110)에 의해 요청이 들어온 경우, 서버(150)는 데이터베이스에서 관련된 데이터를 검색하여 이에 기초하여 결과를 전자 장치(110)에 송신할 수 있다.The database may be connected to the server (150) or may be included as an embedded component. Specifically, the database may be accessed by the server (150) and may provide information or be updated in real time. For example, when a request is received by an electronic device (110), the server (150) may search for relevant data in the database and transmit the results to the electronic device (110) based on the data.

또한, 데이터베이스는 보안 기능을 포함할 수 있다. 구체적으로, 데이터베이스는 데이터의 무단 접근, 변경, 삭제 등을 방지하기 위한 다양한 메커니즘과 프로토콜을 포함할 수 있다. Additionally, the database may include security features. Specifically, the database may include various mechanisms and protocols to prevent unauthorized access, alteration, deletion, etc. of data.

다양한 실시예에 따른 물류 관리 시스템은, 단일의 물리적 장치로 구현될 수 있으며, 복수의 물리적 장치가 유기적으로 결합된 방식으로 구현될 수도 있다. 예를 들어, 물류 관리 시스템에 포함된 구성 중 일부는 어느 하나의 물리적 장치에 의해 구현되고, 상기 물류 관리 시스템에 포함된 구성 중 나머지 일부는 다른 물리적 장치로 구현될 수 있다. 예컨대, 어느 하나의 물리적 장치는, 전자 장치(110a)의 일부로 구현될 수 있으며, 다른 물리적 장치는, 다른 전자 장치(110b)의 일부, 서버(150)의 일부, 또는 외부 장치(미도시)의 일부로 구현될 수 있다. 경우에 따라, 물류 관리 시스템에 포함된 각각의 구성요소들은 각각 서로 다른 물리적 장치에 분산되어 배치되고, 상기 분산 배치된 구성요소들이 유기적으로 결합되어, 물류 관리 시스템의 기능 및 동작을 수행하도록 구현될 수도 있다.The logistics management system according to various embodiments may be implemented as a single physical device, or may be implemented in a manner in which multiple physical devices are organically combined. For example, some of the components included in the logistics management system may be implemented by one physical device, and the remaining parts of the components included in the logistics management system may be implemented by another physical device. For example, one physical device may be implemented as a part of an electronic device (110a), and the other physical device may be implemented as a part of another electronic device (110b), a part of a server (150), or a part of an external device (not shown). In some cases, each of the components included in the logistics management system may be distributed and arranged in different physical devices, and the distributed components may be organically combined to perform the functions and operations of the logistics management system.

도 2는 본 개시의 일 실시예에 따른 전자 장치의 블록도이다. FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.

도 2를 참조하면, 다양한 실시예에 따른 전자 장치(200)는, 하나 이상의 프로세서(210), 하나 이상의 메모리(220) 및 통신 인터페이스(230)를 구성요소로서 포함할 수 있다. 일 실시예에서, 전자 장치(200)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 전자 장치(200)에 추가될 수 있다. 일 실시예에서, 추가적으로 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(210)는 프로세서(210)라고 표현될 수 있다. 프로세서(210)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 본 개시에서, 하나 이상의 메모리(220)는 메모리(220)라고 표현될 수 있다. 메모리(220)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다. 일 실시예에서, 전자 장치(200) 내/외부의 구성요소들 중 적어도 일부의 구성요소들은 버스, GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 또는 MIPI(Mobile Industry Processor Interface) 등을 통해 서로 연결되어, 정보(데이터, 신호 등)를 주고 받을 수 있다.Referring to FIG. 2, an electronic device (200) according to various embodiments may include one or more processors (210), one or more memories (220), and a communication interface (230) as components. In one embodiment, at least one of the components of the electronic device (200) may be omitted, or another component may be added to the electronic device (200). In one embodiment, additionally or alternatively, some of the components may be implemented in an integrated manner, or may be implemented as a single or multiple entities. In the present disclosure, one or more processors (210) may be expressed as a processor (210). The expression “processor (210)” may mean a set of one or more processors, unless otherwise explicitly stated in the context. In the present disclosure, one or more memories (220) may be expressed as a memory (220). The expression “memory (220)” may mean a set of one or more memories, unless otherwise explicitly stated in the context. In one embodiment, at least some of the components inside/outside the electronic device (200) may be connected to each other via a bus, a General Purpose Input/Output (GPIO), a Serial Peripheral Interface (SPI), or a Mobile Industry Processor Interface (MIPI), and may exchange information (data, signals, etc.).

프로세서(210)는 소프트웨어(예: 명령어, 프로그램, 어플리케이션 등)를 구동하여 프로세서(210)에 연결된 전자 장치(200)의 적어도 한 구성요소를 제어할 수 있다. 또한 프로세서(210)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(210)는 데이터 등을 메모리(220)로부터 로드하거나, 메모리(220)에 저장할 수 있다. 일 실시예에서, 프로세서(210)는 통신 인터페이스(230)를 제어하여, 사용자 단말(120)에 각종 정보를 요청하고, 사용자 단말(120)로부터 각종 정보를 수신할 수 있다.The processor (210) may control at least one component of an electronic device (200) connected to the processor (210) by driving software (e.g., commands, programs, applications, etc.). In addition, the processor (210) may perform various operations related to the present disclosure, such as calculations, processing, data generation, and processing. In addition, the processor (210) may load data, etc. from the memory (220) or store data in the memory (220). In one embodiment, the processor (210) may control the communication interface (230) to request various information from the user terminal (120) and receive various information from the user terminal (120).

프로세서(210)는 전자 장치(110)의 다른 구성요소들을 전반적으로 제어할 수 있으며, 본 개시의 다양한 실시예에 따른 바코드 스캐너(120) 통합 관리 방법을 수행하기 위한 일련의 단계들을 처리할 수 있다.The processor (210) can control other components of the electronic device (110) in general and process a series of steps for performing an integrated management method of a barcode scanner (120) according to various embodiments of the present disclosure.

프로세서(210)는 네트워크(140)를 통해 바코드 스캐너(120)로부터 수신한 데이터를 실행 중인 소프트웨어과 함께 처리하고, 이러한 데이터를 메모리 내에 저장한 후, 필요에 따라 네트워크(140)를 통해 데이터를 재전송할 수 있는 기능을 가질 수 있다. 프로세서(210)의 데이터 실시간 처리 능력과 메모리의 저장 기능은 네트워크(140)를 통한 효율적인 데이터 교환을 가능하게 한다.The processor (210) may have the ability to process data received from a barcode scanner (120) through a network (140) together with the running software, store such data in memory, and then retransmit the data through the network (140) as needed. The real-time data processing capability of the processor (210) and the storage function of the memory enable efficient data exchange through the network (140).

프로세서(210)는 바코드 스캐너(120)로부터 수신한 데이터를 처리하여, 이를 서버(150)에 전송하거나, 서버(150)의 데이터베이스에 통신하여 필요한 작업을 수행할 수 있다.The processor (210) can process data received from the barcode scanner (120) and transmit it to the server (150) or communicate with the database of the server (150) to perform necessary tasks.

본 발명의 일 실시예에 따르면, 프로세서(210)는 바코드 스캐너(120)로부터 수신된 데이터를 처리하는 기능을 수행할 수 있다. 이에 따라 프로세서(210)는 해당 데이터를 서버(150)에 전송하거나, 서버(150)에 위치한 데이터베이스와 통신하여 필요한 작업을 수행할 수 있다. 구체적으로, 프로세서(210)는 바코드 스캐너(120)로부터 입력된 데이터를 분석하고, 이를 적절한 형식으로 변환한 후 서버(150)에 전달하는 작업을 수행한다. 또한, 프로세서(210)는 서버(150)와의 통신을 통해 실시간으로 서버(150)의 데이터베이스에 접근하거나 갱신 작업을 수행할 수 있으며, 이를 통해 다양한 응용 프로그램에서 필요한 작업을 지원할 수 있다. 또한, 전자 장치(110) 상에서 처리된 정보를 디스플레이하여 사용자가 이를 실시간으로 확인할 수 있도록 지원한다.According to one embodiment of the present invention, the processor (210) may perform a function of processing data received from the barcode scanner (120). Accordingly, the processor (210) may transmit the data to the server (150) or communicate with a database located in the server (150) to perform a necessary task. Specifically, the processor (210) analyzes data input from the barcode scanner (120), converts it into an appropriate format, and then transmits it to the server (150). In addition, the processor (210) may access or update the database of the server (150) in real time through communication with the server (150), thereby supporting necessary tasks in various applications. In addition, the processor displays the information processed on the electronic device (110) so that the user can check it in real time.

프로세서(210)는 전자 장치(200)에서 실행되는 어플리케이션(221)을 통해 바코드 스캐너(120)와의 통신 및 관리 작업을 수행할 수 있다. 구체적으로, 프로세서(210)는 바코드 스캐너(120)와의 유기적인 통신 및 관리 작업을 담당하는 역할을 수행한다. 프로세서(210)의 통신 및 관리 작업은 어플리케이션(221)을 통해 실현되며, 이는 전자 장치(200)에서 실행되는 소프트웨어 프로그램을 의미할 수 있다. The processor (210) can perform communication and management tasks with the barcode scanner (120) through an application (221) running on the electronic device (200). Specifically, the processor (210) performs a role in charge of organic communication and management tasks with the barcode scanner (120). The communication and management tasks of the processor (210) are realized through the application (221), which may mean a software program running on the electronic device (200).

어플리케이션(221)은 프로세서(210)와 연계되어, 바코드 스캐너(120)의 상태 정보를 수집하고 제어 명령을 전달하며, 데이터 전송 및 수신 작업을 원활하게 처리할 수 있다. 프로세서(210)는 어플리케이션(221)의 명령을 바코드 스캐너(120)로 전송하여 스캐너의 동작을 제어하고, 스캐너로부터 수신된 데이터를 해석 및 처리하는 기능을 수행할 수 있다. 전자 장치(200)는 프로세서(210)와 어플리케이션(221)의 협업을 통해 바코드 스캐너(120)와의 통신 및 관리 작업을 효과적으로 수행할 수 있는 시스템을 구성할 수 있다. The application (221) is linked to the processor (210) to collect status information of the barcode scanner (120), transmit control commands, and smoothly process data transmission and reception operations. The processor (210) transmits commands of the application (221) to the barcode scanner (120) to control the operation of the scanner, and can perform a function of interpreting and processing data received from the scanner. The electronic device (200) can configure a system that can effectively perform communication and management operations with the barcode scanner (120) through collaboration between the processor (210) and the application (221).

프로세서(210)는 수집된 데이터를 분석하여 물류 및 재고 관리에 필요한 정보를 생성할 수 있다. 구체적으로, 프로세서(210)는 바코드 스캐너(120)로부터 수집된 데이터를 통합하고, 데이터를 분석함으로써, 물류 및 재고 관리에 필요한 유의미한 정보를 획득할 수 있다. 구체적으로, 프로세서(210)는 재고 수준, 상품 배송, 상품 회수 및 기타 물류에 중요한 데이터를 실시간으로 모니터링할 수 있으며, 이를 토대로 효율적인 물류 및 재고 관리를 행할 수 있다. The processor (210) can analyze the collected data to generate information necessary for logistics and inventory management. Specifically, the processor (210) can integrate the data collected from the barcode scanner (120) and analyze the data to obtain meaningful information necessary for logistics and inventory management. Specifically, the processor (210) can monitor inventory levels, product delivery, product recovery, and other logistics-important data in real time, and can perform efficient logistics and inventory management based on this.

메모리(220)는 다양한 정보(데이터)를 저장할 수 있다. 메모리(220)에 저장되는 정보는, 전자 장치(200)의 적어도 한 구성요소에 의해 획득되거나, 처리되거나, 사용되는 정보로서, 소프트웨어(예: 명령어, 프로그램 등)를 포함할 수 있다. 예를 들어, 메모리(220)는 전자 장치(200)의 기본적인 동작 및 자원 관리 기능을 수행하기 위한 운영체제(OS), 어플리케이션(221) 등을 저장할 수 있다. 본 개시에서, 명령어 내지 프로그램은 메모리(220)에 저장되는 소프트웨어로서, 전자 장치(200)의 리소스를 제어하기 위한 운영체제, 어플리케이션 프로그래밍 인터페이스(222), 및/또는 어플리케이션(221)이 전자 장치(200)의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들웨어 등을 포함할 수 있다. 일 실시예에서, 메모리(220)는 프로세서(210)에 의한 실행 시 프로세서(210)가 연산을 수행하도록 하는 명령어들을 저장할 수 있다. 예를 들어, 어플리케이션(221)은 사용자가 특정 작업을 수행하기 위해 활용하는 프로그램들로, 이러한 어플리케이션(221)도 메모리(220)에 저장될 수 있다. 어플리케이션 프로그래밍 인터페이스(222)는 어플리케이션 및 운영체제가 상호작용할 수 있도록 중개 역할을 하는 것으로, 어플리케이션 프로그래밍 인터페이스(222) 또한 메모리(220)에 저장될 수 있다. The memory (220) can store various information (data). The information stored in the memory (220) is information acquired, processed, or used by at least one component of the electronic device (200), and may include software (e.g., commands, programs, etc.). For example, the memory (220) may store an operating system (OS), an application (221), etc. for performing basic operations and resource management functions of the electronic device (200). In the present disclosure, the commands or programs are software stored in the memory (220), and may include an operating system for controlling resources of the electronic device (200), an application programming interface (222), and/or middleware for providing various functions to the application so that the application (221) can utilize the resources of the electronic device (200). In one embodiment, the memory (220) may store commands that cause the processor (210) to perform operations when executed by the processor (210). For example, applications (221) are programs that users utilize to perform specific tasks, and these applications (221) can also be stored in memory (220). An application programming interface (222) acts as an intermediary to enable applications and an operating system to interact, and the application programming interface (222) can also be stored in memory (220).

메모리(220)는 프로세서(210)와 데이터 저장 및 처리 작업에서 서로 협력하여 시스템의 전반적인 효율성과 안정성을 높이는 역할을 수행할 수 있다. 구체적으로, 메모리(220)는 바코드 스캐너(120)로부터 수집된 데이터를 저장하고, 필요한 경우 이를 불러올 수 있다. 메모리(220)는 데이터를 영구 또는 임시 저장하여 시스템이 관리 목표를 달성할 수 있도록 할 수 있다. 메모리(220)는 바코드 스캐너(120)로부터 입력된 데이터를 즉각적으로 저장하고, 필요시 해당 데이터를 프로세서 또는 다른 시스템 구성요소가 접근할 수 있도록 제공할 수 있다. 추가적으로, 메모리(220)는 프로세서(210)가 작업 중인 데이터를 보관할 수 있다. 구체적으로, 메모리(220)는 프로세서(210)가 연산 중인 데이터를 임시 저장하여 작업의 연속성을 보장할 수 있다. 예를 들어, 프로세서(210)는 계산 중간 결과나 필요한 임시 데이터를 메모리에 저장하는 방식으로 작업을 중단 없이 지속할 수 있다. The memory (220) may cooperate with the processor (210) in data storage and processing tasks to increase the overall efficiency and stability of the system. Specifically, the memory (220) may store data collected from the barcode scanner (120) and retrieve it when necessary. The memory (220) may permanently or temporarily store data so that the system can achieve management goals. The memory (220) may immediately store data input from the barcode scanner (120) and provide the data so that the processor or other system components can access it when necessary. Additionally, the memory (220) may store data that the processor (210) is working on. Specifically, the memory (220) may temporarily store data that the processor (210) is calculating to ensure the continuity of the task. For example, the processor (210) may continue the task without interruption by storing intermediate calculation results or necessary temporary data in the memory.

메모리(220)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(220)는 통신 인터페이스(230)를 통하여 데이터베이스로부터 수신된 정보 및/또는 통신 인터페이스(230)를 통하여 데이터베이스에 송신된 정보의 적어도 일부를 저장할 수 있다. 일 실시예에서, 메모리(220)는 데이터베이스의 역할을 대체할 수 있다. 메모리(220)는 물류에 관한 정보 및 프로세서(210)에 의해 실행되도록 구성된 명령어들을 저장할 수 있다.The memory (220) may include volatile and/or nonvolatile memory. The memory (220) may store at least a portion of information received from the database via the communication interface (230) and/or information transmitted to the database via the communication interface (230). In one embodiment, the memory (220) may replace the role of the database. The memory (220) may store information relating to logistics and instructions configured to be executed by the processor (210).

통신 인터페이스(communication interface, 230)는 전자 장치(200)와 데이터베이스 또는 다른 전자 장치(110) 간의 무선 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(230)는 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), Wi-Fi(Wireless Fidelity), 블루투스(Bluetooth), BLE(Bluetooth Low Energy), NFC(Near Field Communication), GPS(Global Positioning System) 또는 GNSS(Global Navigation Satellite System) 등의 방식에 따른 무선 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(230)는 USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), RS-232(Recommended Standard-232) 또는 POTS(Plain Old Telephone Service) 등의 방식에 따른 유선 통신을 수행할 수 있다. 일 실시예에서, 전자 장치(200)는 다른 장치와 통합되어 구현될 수도 있다. 이 경우, 통신 인터페이스(230)는 전자 장치(200)와 해당 다른 장치를 연결하는 접속 회로 내지 인터페이스로서 기능할 수 있다.The communication interface (communication interface, 230) can perform wireless or wired communication between the electronic device (200) and a database or another electronic device (110). For example, the communication interface (230) can perform wireless communication according to a method such as 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), Wi-Fi (Wireless Fidelity), Bluetooth, BLE (Bluetooth Low Energy), NFC (Near Field Communication), GPS (Global Positioning System), or GNSS (Global Navigation Satellite System). For example, the communication interface (230) may perform wired communication according to a method such as Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), Recommended Standard-232 (RS-232), or Plain Old Telephone Service (POTS). In one embodiment, the electronic device (200) may be implemented by being integrated with another device. In this case, the communication interface (230) may function as a connection circuit or interface that connects the electronic device (200) and the other device.

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

도 3은 본 개시의 일 실시예에 따른 방법을 나타낸 동작흐름도이다. 이 흐름도는 S310, S320, S330, S340, S350 단계로 구성된다.FIG. 3 is a flowchart illustrating a method according to one embodiment of the present disclosure. The flowchart consists of steps S310, S320, S330, S340, and S350.

전자 장치(110)는, 전자 장치(110)와 연결된 바코드 스캐너(120)를 식별할 수 있다(S310). 도 4를 추가적으로 참조하여, 전자 장치(110)가 연결된 바코드 스캐너(120)를 식별하는 것을 상세히 설명한다. 도 4는 본 개시의 일 실시예에 따른 기기 식별과 관련된 전자 장치(110)의 화면을 나타내는 도면이다. The electronic device (110) can identify a barcode scanner (120) connected to the electronic device (110) (S310). With additional reference to FIG. 4, identifying a barcode scanner (120) connected to the electronic device (110) will be described in detail. FIG. 4 is a drawing showing a screen of an electronic device (110) related to device identification according to one embodiment of the present disclosure.

전자 장치(110)는 바코드 스캐너(120)와 연결되면, 연결된 바코드 스캐너(120)를 식별할 수 있다. 도 4의 제1 화면(410)은 어플리케이션의 주요 화면을 나타낸다. 제1 화면(410)에는 사용자가 물류에 필요한 동작을 할 수 있는 다양한 버튼들이 표시될 수 있다. 제1 화면(410)의 스캐너 설정 버튼을 통해 사용자는 전자 장치(110)에 연결할 기기(예: Bluetooth 디바이스)를 선택하거나 연결된 기기를 선택할 수 있다.When the electronic device (110) is connected to a barcode scanner (120), it can identify the connected barcode scanner (120). The first screen (410) of FIG. 4 represents the main screen of the application. The first screen (410) may display various buttons that allow the user to perform actions necessary for logistics. Through the scanner setting button of the first screen (410), the user can select a device (e.g., a Bluetooth device) to be connected to the electronic device (110) or select a connected device.

도 4의 제2 화면(420)은 바코드 스캐너(120) 선택을 위한 팝업 인터페이스를 나타낸다. 제2 화면(420)은 사용자가 연결할 기기를 선택하는 과정을 나타낸다. 제2 화면(420) 중앙에 팝업 창이 도시되어 있으며, 사용자 입력에 따라 전자 장치(110)는 연결될 바코드 스캐너(120)의 종류를 식별할 수 있다. The second screen (420) of Fig. 4 shows a pop-up interface for selecting a barcode scanner (120). The second screen (420) shows the process of a user selecting a device to be connected. A pop-up window is shown in the center of the second screen (420), and the electronic device (110) can identify the type of barcode scanner (120) to be connected according to user input.

추가적 혹은 대안적으로, 전자 장치(110)는 특정 프로토콜 또는 인터페이스와 같은 확립된 연결(130)를 통해 인식된 바코드 스캐너(120)로부터 바코드 스캐너(120)를 식별할 수 있다. 구체적으로, 전자 장치(110)에 인식된 바코드 스캐너(120)로부터 고유 식별 정보가 전자 장치(110)로 전송될 수 있다. 전자 장치(110)는 이러한 식별 정보를 바탕으로 연결된 바코드 스캐너(120)의 모델, 사양, 기능 등을 식별할 수 있다. 전자 장치(110)는 바코드 스캐너(120)가 연결되면, 해당 장치를 식별함으로써, 추후 작업을 실행하기 위한 초기 단계를 진행할 수 있다. Additionally or alternatively, the electronic device (110) can identify the barcode scanner (120) from the recognized barcode scanner (120) via an established connection (130), such as a specific protocol or interface. Specifically, unique identification information can be transmitted from the barcode scanner (120) recognized by the electronic device (110) to the electronic device (110). The electronic device (110) can identify the model, specifications, functions, etc. of the connected barcode scanner (120) based on this identification information. When the electronic device (110) is connected to the barcode scanner (120), it can proceed with the initial steps for executing subsequent tasks by identifying the device.

전자 장치(110)는 식별된 바코드 스캐너(120)와 상호작용하기 위한 통신 방식을 결정할 수 있다(S310). 구체적으로, 전자 장치(110)는 바코드 스캐너(120)로부터 전송된 신호를 수신할 수 있다. 이 신호에는 바코드 스캐너(120)의 통신 방식에 대한 정보가 포함될 수 있다. 전자 장치(110)는 수신된 신호를 분석하여 바코드 스캐너(120)가 지원하는 통신 방식을 식별할 수 있다. 식별된 통신 방식은 HID, BLE, SPP 중 하나일 수 있다. 구체적으로, HID는 일반적으로 키보드, 마우스 등의 입력 장치와 데이터를 주고받기 위해 사용하는 프로토콜로서, 바코드 스캐너(120)와의 통신에 응용될 수 있다. 추가적으로, BLE는 저전력 소비를 특징으로 하는 블루투스 기술의 일종으로, 무선 환경에서 바코드 스캐너(120)와 전자 장치(110)를 연결하는 데 사용될 수 있다. 추가적으로, SPP는 블루투스 장치 간의 직렬 통신을 모방하는 프로파일로서, 바코드 스캐너(120)와 전자 장치(110) 간의 데이터 전송을 위한 통신 방식 중 하나로 선정될 수 있다. 전자 장치(110)는 다양한 통신 방식을 이용하여 바코드 스캐너(120)와 보다 효과적인 데이터 통신을 할 수 있다. The electronic device (110) can determine a communication method for interacting with the identified barcode scanner (120) (S310). Specifically, the electronic device (110) can receive a signal transmitted from the barcode scanner (120). The signal can include information on the communication method of the barcode scanner (120). The electronic device (110) can analyze the received signal to identify a communication method supported by the barcode scanner (120). The identified communication method can be one of HID, BLE, and SPP. Specifically, HID is a protocol generally used to exchange data with input devices such as a keyboard and a mouse, and can be applied to communication with the barcode scanner (120). Additionally, BLE is a type of Bluetooth technology characterized by low power consumption, and can be used to connect the barcode scanner (120) and the electronic device (110) in a wireless environment. Additionally, SPP is a profile that mimics serial communication between Bluetooth devices and can be selected as one of the communication methods for data transmission between a barcode scanner (120) and an electronic device (110). The electronic device (110) can communicate data more effectively with the barcode scanner (120) by using various communication methods.

일 실시예에서, 전자 장치(110)는 결정된 통신 방식에 상응하는 연결을 진행할 수 있다. 예를 들어, 바코드 스캐너(120)가 블루투스 통신을 지원하는 경우, 전자 장치(110)는 블루투스 프로토콜을 통해 바코드 스캐너(120)와의 연결을 시도할 수 있다. 마찬가지로, 바코드 스캐너(120)가 Wi-Fi, NFC 등 다른 연결 방식을 지원하는 경우에도, 전자 장치(110)는 해당 연결 방식에 적합한 프로토콜을 선택하여 연결을 설정할 수 있다. In one embodiment, the electronic device (110) may proceed with a connection corresponding to the determined communication method. For example, if the barcode scanner (120) supports Bluetooth communication, the electronic device (110) may attempt to connect to the barcode scanner (120) via the Bluetooth protocol. Similarly, if the barcode scanner (120) supports other connection methods such as Wi-Fi or NFC, the electronic device (110) may select a protocol appropriate for the connection method and establish a connection.

전자 장치(110)는 통신 방식이 제1 통신 방식이라는 결정에 응답하여, 키 입력 이벤트(event)를 처리하는 수신자로서의 이벤트 리스너(listener)에 의해 바코드 스캐너(120)로부터의 키 입력 이벤트의 발생 여부를 결정할 수 있다(S320). The electronic device (110) can determine whether a key input event has occurred from a barcode scanner (120) by an event listener as a receiver that processes key input events in response to a determination that the communication method is the first communication method (S320).

추가적 실시예에서, 전자 장치(110)는 통신 방식이 제1 통신 방식과 상이한 제2 통신 방식이라는 결정에 응답하여, 바코드 스캐너(120)에 대응하는 SDK를 로딩하고, 로딩된 SDK를 통해 바코드 스캐너(120)에 의해 스캔된 바코드의 데이터를 수신할 수 있다.In an additional embodiment, the electronic device (110) may, in response to a determination that the communication method is a second communication method different from the first communication method, load an SDK corresponding to the barcode scanner (120) and receive data of a barcode scanned by the barcode scanner (120) through the loaded SDK.

구체적으로, 통신 방식이 제1 통신 방식과 상이한 제2 통신 방식인 경우, 예를 들어 SDK를 지원하는 통신 방식인 경우, 바코드 스캐너(120)의 제조사 또는 공급자가 제공하는 SDK를 이용하여 스캐너와의 통신 연결이 설정된다. 예를 들어, 제2 통신 방식은 SPP 방식일 수 있다. SDK를 로딩한 후, 전자 장치(110)는 SDK를 통해 바코드 스캐너(120)로부터 스캔된 바코드 데이터를 수신할 수 있다. 구체적으로, SDK는 바코드 스캐너(120)가 스캔한 데이터를 해석하여 이를 사용자 어플리케이션에 전달할 수 있는 기능을 제공할 수 있다. 따라서 전자 장치(110)는 SDK를 통해 바코드 데이터를 성공적으로 수신하고, 해당 데이터를 필요에 따라 추가적으로 처리하거나 저장할 수 있다.Specifically, when the communication method is a second communication method different from the first communication method, for example, when the communication method supports SDK, a communication connection with the scanner is established using an SDK provided by a manufacturer or supplier of the barcode scanner (120). For example, the second communication method may be an SPP method. After loading the SDK, the electronic device (110) can receive barcode data scanned from the barcode scanner (120) through the SDK. Specifically, the SDK can provide a function that can interpret the data scanned by the barcode scanner (120) and transmit the same to a user application. Therefore, the electronic device (110) can successfully receive barcode data through the SDK and additionally process or store the data as needed.

전자 장치(110)는 SDK를 통해 바코드 스캐너와의 연결이 쉬워질 수 있으며, 다양한 기능을 제공 받을 수 있다. SDK는 통신 연결 설정 절차를 간소화할 수 있고, 데이터 해석 및 처리와 같은 부가 기능을 제공할 수 있는 점에서 유용할 수 있다. 이를 통해 전자 장치(110)는 보다 효율적으로 바코드 스캐너(120)와 통신할 수 있다.The electronic device (110) can be easily connected to a barcode scanner through the SDK and can be provided with various functions. The SDK can be useful in that it can simplify the communication connection setup procedure and provide additional functions such as data interpretation and processing. Through this, the electronic device (110) can communicate with the barcode scanner (120) more efficiently.

통신 방식이 제1 통신 방식인 경우에 대해 도 5를 참조하여 더욱 상세히 설명한다. 도 5는 본 발명의 일 실시예에 따른 바코드 스캐너(120)와 전자 장치(110) 간의 데이터 처리 과정을 나타내는 흐름도이다. 도 5는 각 단계에서 수행되는 작업을 설명한다.The case where the communication method is the first communication method will be described in more detail with reference to FIG. 5. FIG. 5 is a flow chart showing a data processing process between a barcode scanner (120) and an electronic device (110) according to one embodiment of the present invention. FIG. 5 explains the tasks performed at each stage.

구체적으로, 전자 장치(110)는 선택된 통신 방식이 제1 통신 방식인 경우, 바코드 스캐너(120)로부터의 키 입력 이벤트를 감지할 수 있는 이벤트 리스너를 활성화할 수 있다. 예를 들어, 제1 통신 방식은 HID 방식일 수 있고, 전자 장치(110)는 HID 키보드와 유사하게 작동하는 바코드 스캐너(120)로부터의 이벤트를 감지할 수 있다. 이벤트 리스너는 키 입력 이벤트를 처리하는 수신자로서 바코드 스캐너(120)로부터의 데이터 입력을 실시간으로 모니터링할 수 있는 요소를 지칭한다. 도 5를 참조하면, 라이브러리 레벨에서, 전자 장치(110)는 바코드 스캐너(120)로부터 키 이벤트를 감지하고 이를 스캔 상태로 변환할 수 있다. 하드웨어 장치로부터 키 이벤트 리스닝(Listen Key Event from Hardware Devices)은 바코드 스캐너(120)로부터 키 이벤트를 감지하는 단계를 나타낸다. 예를 들어, 키 이벤트 리스닝은 전자 장치(110)로 하여금 바코드 스캐너(120)에서 발생하는 키 입력 이벤트를 수신할 수 있게 한다. 키 이벤트를 스캔 상태로 변환(Transform Key Event into Scan Status)은 감지된 키 이벤트를 스캔 상태로 변환하는 단계를 나타낸다. 예를 들어, 키 이벤트를 스캔 상태로 변환은 전자 장치(110)로 하여금 키 입력 데이터를 상태 정보로 변환하여 다음 단계로 전달할 수 있게 한다.Specifically, the electronic device (110) may activate an event listener capable of detecting a key input event from a barcode scanner (120) when the selected communication method is the first communication method. For example, the first communication method may be an HID method, and the electronic device (110) may detect an event from a barcode scanner (120) that operates similarly to an HID keyboard. The event listener refers to an element that can monitor data input from the barcode scanner (120) in real time as a receiver that processes a key input event. Referring to FIG. 5, at the library level, the electronic device (110) may detect a key event from the barcode scanner (120) and convert it to a scan state. Listening to Key Events from Hardware Devices represents a step of detecting a key event from the barcode scanner (120). For example, listening to key events enables the electronic device (110) to receive a key input event occurring from the barcode scanner (120). Transform Key Event into Scan Status represents a step of transforming a detected key event into a scan state. For example, transforming a key event into a scan state enables the electronic device (110) to transform key input data into state information and pass it on to the next step.

일 실시예에서, 전자 장치(110)는 수신한 신호가 정상적인 바코드 스캔 이벤트인지 여부를 판단할 수 있다. 이 판단은 바코드 스캐너(120)로부터 입력된 데이터를 일정 형식과 비교하거나, 사전에 정의된 키 입력 패턴과 일치함을 확인하는 방식으로 이루어질 수 있다.In one embodiment, the electronic device (110) can determine whether a received signal is a normal barcode scan event. This determination can be made by comparing the data input from the barcode scanner (120) to a predetermined format or by checking that it matches a predefined key input pattern.

일 실시예에서, 전자 장치(110)는 이벤트의 발생이 결정되면, 일련의 정보들을 수신하기 전에 데이터 처리를 위한 초기 설정을 수행할 수 있다. 초기 설정은 바코드 데이터의 파싱(parsing), 데이터 무결성 검증, 그리고 필요한 경우 추가적인 후처리 작업 등이 포함될 수 있다. In one embodiment, the electronic device (110) may perform initial setup for data processing prior to receiving a series of information when the occurrence of an event is determined. The initial setup may include parsing of the barcode data, verification of data integrity, and, if necessary, additional post-processing operations.

전자 장치(110)는 키 입력 이벤트가 발생했다는 결정에 응답하여, 바코드 스캐너(120)가 스캔한 바코드를 일련의 키 정보들로서 수신할 수 있다(S330). 구체적으로, 바코드 스캐너(120)는 디코딩을 거쳐 바코드 스캐너(120)가 읽은 바코드 데이터를 일련의 키 정보들로 변환하여 전자 장치(110)에 전달할 수 있다. 전자 장치(110)는 바코드 스캐너(120)가 읽은 데이터를 바코드 스캐너(120)와 전자 장치(110)의 통신 인터페이스를 통해 수신할 수 있다. In response to determining that a key input event has occurred, the electronic device (110) can receive the barcode scanned by the barcode scanner (120) as a series of key information (S330). Specifically, the barcode scanner (120) can convert the barcode data read by the barcode scanner (120) into a series of key information through decoding and transmit it to the electronic device (110). The electronic device (110) can receive the data read by the barcode scanner (120) through a communication interface between the barcode scanner (120) and the electronic device (110).

전자 장치(110)는 수신된 키 정보들에 각각 대응하는 상태를 식별할 수 있다(S340). 이 상태는 제1, 제2, 제3 상태를 포함하고, 제1 상태는 바코드 입력의 시작을 나타내고, 제2 상태는 바코드 입력의 진행을 나타내고, 제3 상태는 바코드 입력의 완료를 나타낼 수 있다.The electronic device (110) can identify a state corresponding to each of the received key information (S340). The states include a first, second, and third state, and the first state may indicate the start of barcode input, the second state may indicate the progress of barcode input, and the third state may indicate the completion of barcode input.

구체적으로, 전자 장치(110)에 의해 식별된 상태는 제1 상태, 제2 상태, 제3 상태로 구분될 수 있다. 제1 상태는 바코드 입력의 시작을 나타내는 상태로, 사용자가 바코드 스캐너(120)를 활성화하거나 첫 번째 바코드 데이터를 입력하는 순간을 나타낼 수 있다. 도 5를 참조하면, 예를 들어, 제1 상태는 onStartScan 메서드일 수 있다. onStartScan 메서드는 전자 장치(110)에서 바코드 입력 혹은 바코드 스캔이 시작될 때 호출되는 메서드로, 바코드 입력의 시작을 알릴 수 있다. Specifically, the state identified by the electronic device (110) can be divided into a first state, a second state, and a third state. The first state is a state indicating the start of barcode input, and can indicate the moment when the user activates the barcode scanner (120) or inputs the first barcode data. Referring to FIG. 5, for example, the first state can be the onStartScan method. The onStartScan method is a method called when barcode input or barcode scanning starts in the electronic device (110), and can notify the start of barcode input.

일 실시예에서, 제1 상태는, 전자 장치(110)로 하여금, 입력 스트링을 초기화하고, 제1 상태에 대응하는 불리언(boolean) 값을 참으로 설정하도록 하고, 제1 상태에 대응하는 키 정보를 저장하도록 할 수 있다. In one embodiment, the first state may cause the electronic device (110) to initialize an input string, set a boolean value corresponding to the first state to true, and store key information corresponding to the first state.

제2 상태는 바코드 입력의 진행 중임을 나타내는 상태로, 바코드의 전체 데이터가 입력되는 과정을 포함할 수 있다. 도 5를 참조하면, 예를 들어, 제2 상태는 OnChangeScan 메서드일 수 있다. OnChangeScan 메서드는 전자 장치(110)에서 스캔 중 데이터가 변경될 때 호출되는 메서드로, 중간 데이터를 확인 및 출력할 수 있다.The second state is a state indicating that barcode input is in progress, and may include a process in which the entire data of the barcode is input. Referring to FIG. 5, for example, the second state may be the OnChangeScan method. The OnChangeScan method is a method that is called when data changes during scanning in the electronic device (110), and can check and output intermediate data.

일 실시예에서, 제2 상태는, 전자 장치(110)로 하여금, 불리언 값이 참인 경우, 수신된 키 정보들을 순차적으로 입력 스트링에 추가하게 할 수 있다. In one embodiment, the second state may cause the electronic device (110) to sequentially add the received key information to the input string if the Boolean value is true.

제3 상태는 바코드 입력이 완료되었음을 나타내는 상태로, 모든 바코드 데이터가 완벽하게 입력되고 스캐닝이 종료된 시점을 의미할 수 있다. 도 5를 참조하면, 예를 들어, 제3 상태는 OnFinishScan 메서드일 수 있다. OnFinishScan 메서드는 전자 장치(110)에서 스캔이 완료될 때 호출되고, 전자 장치(110)가 최종 데이터를 입력 스트링으로 생성, 저장할 수 있게 한다. 또한, 제3 상태는 스캔 상태를 초기화할 수 있는 기능을 포함할 수 있다. 이는 스캔 시스템의 현재 작동 상태를 리셋하여, 사용자가 초기 상태에서 새롭게 스캔 작업을 시작할 수 있도록 할 수 있다. 바코드 입력 작업 중 발생할 수 있는 오류나 문제를 해결하기 위해 제3 상태를 이용하는 것이 유익할 수 있음이 이해될 것이다. The third state is a state indicating that the barcode input is complete, which may mean that all barcode data has been completely input and scanning has ended. Referring to FIG. 5, for example, the third state may be an OnFinishScan method. The OnFinishScan method is called when scanning is completed in the electronic device (110), and allows the electronic device (110) to generate and store the final data as an input string. In addition, the third state may include a function that can initialize the scan state. This may reset the current operating state of the scan system, allowing the user to start a new scan operation from the initial state. It will be appreciated that it may be beneficial to utilize the third state to troubleshoot errors or problems that may occur during a barcode input operation.

일 실시예에서, 제3 상태는, 전자 장치(110)로 하여금, 추가적 키 정보가 수신되지 않고 불리언 값이 참인 경우, 순차적으로 입력된 입력 스트링을 저장하게 하고, 불리언 값을 거짓으로 설정하도록 할 수 있다.In one embodiment, the third state may cause the electronic device (110) to store the sequentially entered input string if no additional key information is received and the Boolean value is true, and set the Boolean value to false.

일 실시예에서, 수신된 키 정보들에 각각 대응하는 상태를 식별하는 것은, 수신된 키 정보들 중 하나의 키 정보의 값이 특정 키 값인 경우, 하나의 키 정보에 대응하는 상태를 제3 상태로 식별하는 것을 포함할 수 있다. In one embodiment, identifying a state corresponding to each of the received key information may include identifying the state corresponding to one of the key information as a third state if the value of one of the received key information is a specific key value.

구체적으로, 전자 장치(110)는 수신된 키 정보들 중에서 하나의 키 정보가 특정 키 값을 가지는지 여부를 결정할 수 있다. 특정 키 값은 미리 정의된 값으로, 예를 들어, 엔터(enter) 값일 수 있다. 수신된 키 정보들 중 하나의 키 정보가 엔터(enter)를 포함할 경우, 해당 키 정보는 제3 상태로 식별된다. 이때, 제3 상태는 이전의 두 가지 상태와는 구분되는 특별한 상태로, 바코드 입력의 완료를 나타냄을 알 수 있다. 특정 키 값은 엔터(enter)에 한정되지 않고, 미리 정의된 임의의 키 값이 될 수 있다.Specifically, the electronic device (110) can determine whether one key information among the received key information has a specific key value. The specific key value may be a predefined value, for example, an enter value. If one key information among the received key information includes enter, the key information is identified as a third state. At this time, it can be seen that the third state is a special state that is distinct from the previous two states and indicates completion of barcode input. The specific key value is not limited to enter, and may be any predefined key value.

도 3에서, 전자 장치(110)는 상태에 대응하는 키 정보에 기초하여 바코드 스캐너(120)가 수집한 바코드에 대응하는 입력 스트링을 생성할 수 있다(S350). 즉, 전자 장치(110)는 바코드 스캐너(120)가 수집한 바코드 데이터를 제1, 2, 3 상태에 대응하는 키 정보를 기반으로 입력 스트링으로 생성할 수 있다. In FIG. 3, the electronic device (110) can generate an input string corresponding to the barcode collected by the barcode scanner (120) based on key information corresponding to the state (S350). That is, the electronic device (110) can generate the barcode data collected by the barcode scanner (120) into an input string based on key information corresponding to the first, second, and third states.

일 실시예에서, 제1 상태는, 전자 장치(110)로 하여금, 입력 스트링을 초기화하고, 제1 상태에 대응하는 불리언(boolean) 값을 참으로 설정하도록 하고, 제2 상태는, 전자 장치(110)로 하여금, 불리언 값이 참인 경우, 수신된 키 정보들을 순차적으로 입력 스트링에 추가하게 하고, 제3 상태는, 전자 장치(110)로 하여금, 추가적 키 정보가 수신되지 않고 불리언 값이 참인 경우, 입력 스트링을 저장하게 하고, 불리언 값을 거짓으로 설정하도록 할 수 있다.In one embodiment, a first state may cause the electronic device (110) to initialize an input string and set a boolean value corresponding to the first state to true, a second state may cause the electronic device (110) to sequentially add received key information to the input string if the boolean value is true, and a third state may cause the electronic device (110) to store the input string if no additional key information is received and the boolean value is true and set the boolean value to false.

전자 장치(110)는 수신된 바코드 데이터를 최종적으로 처리하여 입력 스트링 형태로 변환하고, 이를 저장하거나 추가적인 처리에 사용할 수 있다. 도 5를 참조할 때, OnFinishScan 메서드는 전자 장치(110)에서 바코드 입력이 완료될 때 호출되는 메서드로, 전자 장치(110)가 최종 데이터를 입력 스트링으로 생성, 저장할 수 있게 한다. 입력 스트링 생성(Build Input String)은 수신된 키 정보를 기반으로 입력 스트링을 생성하는 단계를 나타낸다. The electronic device (110) finally processes the received barcode data, converts it into an input string format, and can store it or use it for additional processing. Referring to FIG. 5, the OnFinishScan method is a method called when the barcode input is completed in the electronic device (110), and allows the electronic device (110) to generate and store the final data as an input string. The input string generation (Build Input String) represents a step of generating an input string based on the received key information.

도 5에 대해 추가로 설명한다. Further explanation is given in Fig. 5.

사용자 인터페이스(User Interface) 계층은 사용자가 전자 장치(110)와 바코드 스캐너(120)의 연결을 시도하는 단계를 나타낸다. 전자 장치(110)와 바코드 스캐너(120)의 연결이 성공하면 바코드 입력 프로세스가 시작되고, 실패하면 종료될 수 있다. 추가로, 전자 장치(110) 상에서 사용자 입력과 초기 장치 설정이 이뤄질 수 있다.The User Interface layer represents the steps where a user attempts to connect an electronic device (110) and a barcode scanner (120). If the connection between the electronic device (110) and the barcode scanner (120) is successful, the barcode input process may be started, and if it fails, it may be terminated. Additionally, user input and initial device settings may be performed on the electronic device (110).

라이브러리(Library) 계층은 바코드 스캐너(120)에서 발생하는 키 이벤트를 수신하고 이를 대응하는 상태로 변환하는 작업을 수행할 수 있다. 전자 장치(110)는 입력 데이터를 처리하고, 상태 정보를 생성하는 중간 단계로서 중요한 역할을 할 수 있다.The library layer can perform the task of receiving key events occurring from the barcode scanner (120) and converting them into corresponding states. The electronic device (110) can play an important role as an intermediate step of processing input data and generating state information.

전자 장치(110)는 바코드 스캐너(120)로부터 일련의 키 정보를 수신하며, 수신한 키 정보를 가공할 수 있다. 전자 장치(110)는 최종 저장한 입력 스트링을 각 뷰모델(view model)에 제공하여 처리할 수 있다. 구체적으로, 전자 장치(110)는 콜백 리스너(callback listener)를 통하여, 입력 스트링을 어플리케이션의 각 기능 중 필요한 곳에 제공할 수 있다. 콜백 리스너는 전자 장치(110)가 입력 스트링을 어플리케이션의 각 기능 중 필요한 곳에 제공하기 위해, 특정 이벤트가 발생했을 때, 이를 처리하기 위해 호출되는 함수 또는 메서드를 지칭한다. 전자 장치(110)는 콜백 리스너를 통하여 입력 스트링이 수신되면, 이를 적절한 뷰모델(예: OneScan뷰모델, Map뷰모델, List뷰모델)에 전달할 수 있다. 이러한 방식으로 어플리케이션의 각 기능은 필요한 데이터를 실시간으로 받아 처리할 수 있게 된다.The electronic device (110) receives a series of key information from the barcode scanner (120) and can process the received key information. The electronic device (110) can provide the final stored input string to each view model for processing. Specifically, the electronic device (110) can provide the input string to a necessary location among each function of the application through a callback listener. The callback listener refers to a function or method that is called to process a specific event when it occurs so that the electronic device (110) can provide the input string to a necessary location among each function of the application. When the electronic device (110) receives the input string through the callback listener, it can transfer it to an appropriate view model (e.g., OneScan view model, Map view model, List view model). In this way, each function of the application can receive and process necessary data in real time.

뷰모델(view model)이란 어플리케이션의 UI(view)와 데이터(model) 사이의 속성 및 명령을 관리하고, 이를 통합하는 역할을 수행하는 객체를 지칭한다. 뷰모델은 각각의 책임 영역에서 데이터와 UI의 상호작용을 최적화할 수 있다.A view model is an object that manages and integrates properties and commands between the application's UI (view) and data (model). View models can optimize the interaction between data and UI in each area of responsibility.

예를 들어, OneScan뷰모델은 물류 어플리케이션 내에서 단일 스캔 작업을 처리하고 관리하는 역할을 수행할 수 있다. OneScan뷰모델은 사용자로부터 입력된 스캔 데이터를 수집, 검증하고 해당 데이터를 적절한 모델 객체에 전달하는 기능을 포함할 수 있다. OneScan뷰모델은 단일 스캔 작업과 관련된 모든 상태 변화 및 UI 업데이트를 관리하며, 필요 시 스캔 결과를 사용자에게 표시할 수 있다. Map뷰모델은 지도와 관련된 스캔 작업을 처리하고 관리할 수 있다. 이는 지도 상의 특정 위치 정보를 담은 스캔 데이터를 관리하고, 해당 데이터를 지리적 좌표나 주소로 변환하여 지도 상에 표시하는 역할을 할 수 있다. 또한, Map뷰모델은 사용자가 지도 상에서 수행하는 다양한 상호작용을 처리하며, 지도 데이터의 업데이트 및 최적화된 경로 탐색 등을 포함하는 기능을 수행할 수 있다. List뷰모델은 리스트와 관련된 스캔 작업을 처리하고 관리하는 뷰모델이다. 이는 목록형 데이터 구조를 사용하여 여러 개의 스캔 데이터를 관리하며, 각 데이터 항목의 추가, 삭제, 수정 등의 작업을 처리할 수 있다. List뷰모델은 리스트 형태의 데이터를 UI와 연동하여 사용자에게 효율적으로 표시하고, 리스트 내 특정 항목 선택 시 관련된 세부 정보를 로드하고 표시하는 역할을 할 수 있다.For example, the OneScan view model can be responsible for processing and managing a single scan task within a logistics application. The OneScan view model can include functions to collect and validate scan data entered by the user and pass the data to the appropriate model object. The OneScan view model manages all state changes and UI updates related to a single scan task, and can display scan results to the user when necessary. The Map view model can process and manage scan tasks related to maps. It can manage scan data containing specific location information on a map, and convert the data into geographic coordinates or addresses and display them on the map. In addition, the Map view model can handle various interactions performed by the user on the map, and can perform functions including updating map data and finding optimized routes. The List view model is a view model that processes and manages scan tasks related to lists. It manages multiple scan data using a list-type data structure, and can handle tasks such as adding, deleting, and modifying each data item. The List view model can efficiently display list-type data to the user by linking it to the UI, and can load and display related detailed information when a specific item in the list is selected.

도 6은 실시예에 따른 바코드 입력 스트링에 대응하는 물류 정보 검색 및 분류 과정을 나타내는 흐름도이다. 이 흐름도는 S610, S620, S630 단계로 구성된다.Fig. 6 is a flowchart showing a logistics information search and classification process corresponding to a barcode input string according to an embodiment. This flowchart consists of steps S610, S620, and S630.

일 실시예에서, 전자 장치(110)는 입력 스트링에 대응하는 물류 정보들을 검색할 수 있다(S610). 입력 스트링은 특정 문자열로, 데이터베이스 또는 서버(150)에서 관련된 물류 정보를 찾기 위한 기준으로 사용될 수 있다. 한편, 바코드 스캐너(120)로 스캔된 결과물, 즉 입력 스트링은 반품, 배송, 제품 회수 중 하나에 국한되지 아니하므로, 전자 장치(110)로 일해 다양한 물류 기능을 수행할 수 있게 한다. 단일 스캔 행위로 인해, 전자 장치(110)는 반품 처리, 배송 상태 추적, 제품 회수 요청 등 다른 물류 작업을 통합적으로 관리할 수 있다. 본 기술 분야의 통상의 기술자는 사용자가 단일 스캔 행위를 통해 물류에 필요한 다양한 기능을 수행하는 효과가 있음을 이해할 것이다.In one embodiment, the electronic device (110) can search for logistics information corresponding to an input string (S610). The input string is a specific character string and can be used as a reference for finding related logistics information in a database or server (150). Meanwhile, since the result scanned by the barcode scanner (120), i.e., the input string, is not limited to one of return, delivery, and product recall, the electronic device (110) can perform various logistics functions. Due to a single scan action, the electronic device (110) can comprehensively manage other logistics tasks such as return processing, delivery status tracking, and product recall requests. A person skilled in the art will understand that a user can perform various functions required for logistics through a single scan action.

물류 정보들은 물류 유형을 포함하고, 물류 유형은 반품, 배송, 제품 회수를 포함할 수 있다. 반품은 구매한 상품을 반환하는 과정을 지칭한다. 배송은 상품을 판매자, 중간 판매자, 혹은 상거래 운영자가 구매자에게 전달하는 과정을 지칭한다. 배송은 상품 주문 후의 출하, 운송, 최종 전달 단계를 포함할 수 있다. 제품 회수에서 제품은 판매를 목적으로 하지 않는 물품을 지칭한다. 구체적으로, 이는 상업적 거래를 통해 소비자에게 직접 판매되지 않으나, 판매용 상품의 배송 및 보관에 활용되는 도구들을 포함할 수 있다. 대표적인 예시로는 배송을 위한 박스, 아이스 박스, 포장 박스 등이 있으며, 이러한 제품들은 상품의 보호와 신속한 운송을 가능하게 할 수 있다.Logistics information includes logistics types, and logistics types can include returns, delivery, and product recalls. Returns refer to the process of returning purchased products. Delivery refers to the process of delivering products from sellers, intermediaries, or merchants to buyers. Delivery can include shipment, transportation, and final delivery stages after product orders. In product recalls, products refer to items not intended for sale. Specifically, they are not sold directly to consumers through commercial transactions, but can include tools used for delivery and storage of products for sale. Representative examples include boxes for delivery, ice boxes, and packing boxes, and these products can protect products and enable rapid delivery.

추가적 실시예에서, 전자 장치(110)는 서버(150)를 통해 입력 스트링에 대응하는 물류 정보들을 검색할 수 있다.In an additional embodiment, the electronic device (110) can retrieve logistics information corresponding to the input string through the server (150).

전자 장치(110)는 서버(150)가 물류 정보들을 상품코드별, 입고일자별 또는 출고일자별로 분류하도록 물류 정보들을 서버(150)에 송신할 수 있다(S610). 전자 장치(110)는 서버(150)를 통해 다수의 물류 정보를 확보할 수 있다. 물류 정보는 반품, 배송, 제품 회수를 위한 정보를 포함할 수 있으며, 상품의 상품코드, 입고일자, 출고일자 등 다양한 속성 값을 포함할 수 있다. 예를 들어, 물류 정보는 배송 상태, 배송이 필요한 상품, 회수 상태, 회수가 필요한 상품, 배송, 회수, 제품 회수 등을 위해 사용자에게 할당되었는지 여부, 운송장 번호 정보, 운송장의 유효기간, 배송, 회수, 제품 회수 완료 여부 등의 정보를 포함할 수 있다.The electronic device (110) can transmit logistics information to the server (150) so that the server (150) classifies the logistics information by product code, date of receipt, or date of shipment (S610). The electronic device (110) can secure a plurality of logistics information through the server (150). The logistics information can include information for return, delivery, and product recall, and can include various attribute values such as product code, date of receipt, and date of shipment of the product. For example, the logistics information can include information such as delivery status, product requiring delivery, recall status, product requiring recall, whether it is assigned to a user for delivery, recall, product recall, etc., waybill number information, expiration date of the waybill, and whether delivery, recall, and product recall are complete.

추가적으로, 예를 들어, 배송 상태는 상품이 전달되는 과정에서의 상태로서, 배송 준비 중, 배송 중, 배송 완료, 배송 지연 등의 상태를 포함할 수 있다. 배송이 필요한 상품은 현재 고객에게 배송될 준비가 된 상품으로서, 주문에 따라 포장된 상품, 출고를 기다리는 상품 등을 포함할 수 있다. 회수 상태는 반품 또는 회수가 필요한 상품의 상태로서, 회수 요청 접수, 회수 중, 회수 완료, 회수 지연 등의 상태를 포함할 수 있다. 회수가 필요한 상품은 반품이 요청된 상품이나, 회수가 필요한 불량품으로서, 반품 요청 상품, 불량품 회수 대상 상품 등을 포함할 수 있다.Additionally, for example, the delivery status refers to the status of the product being delivered, and may include states such as preparing for delivery, in delivery, delivery complete, and delivery delay. Products requiring delivery refer to products that are currently ready to be delivered to customers, and may include products packed according to order, products awaiting shipment, and the like. The recall status refers to the status of products requiring return or recall, and may include states such as recall request received, recall in progress, recall complete, and recall delay. Products requiring recall may include products for which a return has been requested, or defective products requiring recall, and may include products requested for return, products subject to defective recall, and the like.

상기 기술된 바와 같이, 물류 정보는 물류 관리 시스템에서 중요한 데이터를 구성하며, 이는 제품의 이동 상태 및 관리 상태를 실시간으로 파악하고 조절할 수 있는 데 중요한 역할을 한다. 서버(150)는 다수의 물류 정보를 수신 및 관리함으로써, 효율적인 물류 처리와 고객 서비스 제공을 가능하게 한다. 이와 같은 구조는 물류 과정에서 발생할 수 있는 다양한 이슈를 미리 방지하고, 체계적인 문제 해결을 도모하는 데 기여할 수 있다.As described above, logistics information constitutes important data in a logistics management system, and it plays an important role in being able to grasp and control the movement status and management status of products in real time. The server (150) receives and manages a large amount of logistics information, thereby enabling efficient logistics processing and customer service provision. This structure can contribute to preventing various issues that may occur in the logistics process in advance and to promoting systematic problem solving.

전자 장치(110)는 수집된 물류 정보를 서버(150)로 송신하는 기능을 수행할 수 있다. 서버(150)는 수신된 물류 정보를 이용하여 특정 기준으로 분류 작업을 진행할 수 있다. 예를 들어, 상품 코드별로 분류하면 각 코드에 해당하는 상품 정보들을 한 그룹으로 묶어 관리할 수 있다. 입고일자별로 분류하는 경우, 특정 날짜에 입고된 상품들을 기준으로 데이터를 정리하여 재고 관리 및 추적을 간편하게 할 수 있다. 출고일자별로 분류하면 특정 날짜에 출고된 상품들의 이력관리를 효율적으로 할 수 있다.The electronic device (110) can perform a function of transmitting the collected logistics information to the server (150). The server (150) can use the received logistics information to perform a classification task based on specific criteria. For example, if classified by product code, product information corresponding to each code can be grouped and managed. If classified by receipt date, data can be organized based on products received on a specific date, making inventory management and tracking easy. If classified by shipping date, history management of products shipped on a specific date can be efficiently managed.

서버(150)는 배송 상태, 배송이 필요한 상품, 회수 상태, 회수가 필요한 상품, 배송 및 회수 또는 제품 회수를 위해 사용자에게 할당되었는지 여부, 운송장 번호 정보, 운송장의 유효기간, 배송 및 회수 또는 제품 회수 완료 여부 등의 다양한 요소를 기반으로 하여 물류 정보를 분류 및 관리한다. 예를 들어, 배송 상태를 기준으로 분류하면, 현재 배송 중인 상품, 배송이 완료된 상품, 배송이 필요한 상품 등을 구분하여 관리할 수 있다. 회수 상태를 기준으로 분류할 경우, 회수가 완료된 상품, 회수가 필요한 상품 등을 체계적으로 파악할 수 있다. 추가적으로, 서버(150)는 물류 정보를 예를 들어, 발송지, 도착지, 물품 종류, 배송 상태 등의 기준에 따라 분류할 수 있다. 이 밖에도, 운송장 번호 정보를 활용하여 특정 운송장에 대한 유효기간을 관리하거나, 운송장 번호별로 물류 정보를 분류함으로써 더욱 정교한 관리가 가능하다.The server (150) classifies and manages logistics information based on various factors such as delivery status, products requiring delivery, retrieval status, products requiring retrieval, whether assigned to a user for delivery and retrieval or product retrieval, waybill number information, validity period of waybill, and whether delivery and retrieval or product retrieval is complete. For example, if classified based on delivery status, products currently being delivered, products that have been delivered, products that require delivery, etc. can be managed separately. If classified based on retrieval status, products that have been retrieval completed, products that require retrieval, etc. can be systematically identified. Additionally, the server (150) can classify logistics information based on criteria such as origin, destination, type of goods, and delivery status. In addition, more sophisticated management is possible by utilizing waybill number information to manage the validity period for a specific waybill or by classifying logistics information by waybill number.

서버(150)는 물류 정보가 생성되거나 갱신될 때마다 이를 분류하여 관리하고, 필요한 경우 전자 장치(110)로 전송할 수 있다.The server (150) classifies and manages logistics information whenever it is created or updated, and can transmit it to an electronic device (110) if necessary.

일 실시예에서, 전자 장치(110)는 서버(150)에 의해 분류된 물류 정보들을 서버(150)로부터 수신할 수 있다(S620). 전자 장치(110)는 네트워크(140)를 통해 서버(150)로부터 분류된 물류 정보를 수신할 수 있다. 추가적으로, 전자 장치(110)는 물류 정보를 수신하고, 해당 정보를 저장하거나 다른 프로세스에서 사용될 수 있도록 준비할 수 있다. 분류된 물류 정보들은, 물품의 예상 도착 시간을 추적하거나, 특정 물품의 현재 위치를 확인하는 데 유용할 수 있다.In one embodiment, the electronic device (110) may receive the logistics information classified by the server (150) from the server (150) (S620). The electronic device (110) may receive the classified logistics information from the server (150) via the network (140). Additionally, the electronic device (110) may receive the logistics information and store the information or prepare it to be used in another process. The classified logistics information may be useful for tracking the expected arrival time of an item or for confirming the current location of a specific item.

도 7은 일 실시예에 따른 어플리케이션을 통해 바코드를 스캔하고, 스캔된 운송장 정보를 어플리케이션 화면에 표시하는 도면이다.FIG. 7 is a diagram showing an application according to one embodiment of the present invention that scans a barcode and displays scanned waybill information on the application screen.

도 7에서, 왼쪽 화면(710)은 운송장의 바코드를 스캔하는 과정을 나타낸다. 사용자 인터페이스(UI)는 스캔 상태를 표시하며, 스캔된 바코드 이미지를 보여준다. 도 7의 오른쪽 화면(720)은 스캔된 운송장 목록을 나타낸다. 전자 장치(110)는 스캔된 운송장 정보를 목록 형태로 표시하며, 각 운송장에 대한 세부 정보를 제공할 수 있다.In Fig. 7, the left screen (710) shows the process of scanning the barcode of the waybill. The user interface (UI) displays the scan status and shows the scanned barcode image. The right screen (720) of Fig. 7 shows the list of scanned waybills. The electronic device (110) displays the scanned waybill information in the form of a list and can provide detailed information for each waybill.

이를 위해, 일 실시예에서, 전자 장치(110)는 입력 스트링을 바코드 스캐너(120)에 의해 스캔된 바코드에 대응하는 운송장 번호로 결정할 수 있다. 입력 스트링은 운송장 번호와 직접적으로 연관되어 있을 수 있다. 전자 장치(110)는 입력 스트링의 값을 운송장 번호로 결정할 수 있고, 이에 따라 물품의 운송 상태를 추적하거나 관리를 수행할 수 있다. To this end, in one embodiment, the electronic device (110) may determine the input string as a waybill number corresponding to a barcode scanned by the barcode scanner (120). The input string may be directly associated with the waybill number. The electronic device (110) may determine the value of the input string as the waybill number, and may track or manage the transportation status of the goods accordingly.

일 실시예에서, 전자 장치(110)는 결정된 운송장 번호의 유효성을 검증할 수 있다. 예를 들어, 전자 장치(110)는 유효하지 않거나 잘못된 운송장 번호의 사용을 방지하기 위해 운송장 번호가 사전에 정의된 형식 또는 프로토콜을 준수하는지 확인할 수 있다. In one embodiment, the electronic device (110) may verify the validity of the determined waybill number. For example, the electronic device (110) may verify that the waybill number complies with a predefined format or protocol to prevent the use of an invalid or incorrect waybill number.

추가적 실시예에서, 전자 장치(110)는 운송장 번호의 길이를 검출하여, 해당 번호가 기결정된 자릿수를 충족하는지 검출할 수 있다. 추가적 실시예에서, 전자 장치(110)는 특정 문자의 위치나 숫자의 배열 등 운송장 번호의 형식을 기결정된 패턴과 비교할 수 있다. 추가적 실시예에서, 전자 장치(110)는 운송장 번호에 특정 검증 코드를 적용하여, 계산된 검증 코드가 운송장 번호와 일치하는지 확인할 수 있다.In a further embodiment, the electronic device (110) can detect the length of the waybill number to detect whether the number satisfies a predetermined number of digits. In a further embodiment, the electronic device (110) can compare the format of the waybill number, such as the position of specific letters or the arrangement of numbers, with a predetermined pattern. In a further embodiment, the electronic device (110) can apply a specific verification code to the waybill number to determine whether the calculated verification code matches the waybill number.

또한, 전자 장치(110)는 네트워크(140)를 통해 중앙 서버(150) 또는 데이터베이스에 접근하여, 해당 운송장 번호가 등록된 범위 내에 있는지, 그리고 이미 사용되지 않은 유효한 번호인지 조회함으로써 유효성을 검증할 수 있다. 이러한 검증 과정은 운송장 번호의 무결성을 유지하고, 운송 과정에서 발생할 수 있는 오류를 최소화하는 데 중요한 역할을 한다.In addition, the electronic device (110) can access the central server (150) or database through the network (140) to verify validity by checking whether the corresponding waybill number is within the registered range and whether it is a valid number that has not already been used. This verification process plays an important role in maintaining the integrity of the waybill number and minimizing errors that may occur during the transportation process.

운송장 번호의 유효성을 검증은 다양한 경우의 수를 고려하여 이루어질 수 있다. 예컨대, 추가적 실시예에서는, 전자 장치(110)가 결정된 운송장 번호의 유효성을 검증하기 위해 다음과 같은 단계 중 적어도 하나를 포함할 수 있다: (i) 운송장 번호가 기 저장된 타 운송장 번호와 중복되는지 여부를 결정하는 단계; (ii) 운송장 번호에 대응하는 운송 유효기간이 초과하였는지 여부를 결정하는 단계; (iii) 운송장 번호가 서버(150) 상의 데이터베이스에서 전자 장치(110)의 사용자에게 할당된 운송장 번호에 해당하는지 여부를 결정하는 단계; (iv) 운송장 번호가 이미 배송 완료 처리되었는지 여부를 결정하는 단계; (v) 운송장 번호가 다른 사용자에게 할당되었는지 여부를 결정하는 단계.The validity of the waybill number can be verified by considering various cases. For example, in an additional embodiment, the electronic device (110) may include at least one of the following steps to verify the validity of the determined waybill number: (i) determining whether the waybill number overlaps with another waybill number already stored; (ii) determining whether the transportation validity period corresponding to the waybill number has expired; (iii) determining whether the waybill number corresponds to a waybill number assigned to a user of the electronic device (110) in a database on the server (150); (iv) determining whether the waybill number has already been processed for delivery completion; (v) determining whether the waybill number has been assigned to another user.

전자 장치(110)는 결정된 운송장 번호를 데이터베이스에 저장된 타 운송장 번호들과 비교하여 중복 여부를 확인할 수 있다. 중복되는 타 운송장 번호가 존재하는 경우, 오류 메시지를 출력하거나 사용자에게 재입력을 요구할 수 있다.The electronic device (110) can compare the determined waybill number with other waybill numbers stored in the database to check for duplication. If there is a duplicate waybill number, an error message can be output or the user can be requested to re-enter it.

추가적으로, 전자 장치(110)는 운송장 번호가 발급된 후 일정 기간이 지나 운송장 번호가 더 이상 유효하지 않은지를 확인할 수 있다. 유효기간이 초과된 경우, 해당 운송장 번호를 사용할 수 없음을 출력하거나 사용자에게 재입력을 요구할 수 있다.Additionally, the electronic device (110) can check whether the waybill number is no longer valid after a certain period of time has passed since the waybill number was issued. If the validity period has expired, the electronic device can output that the waybill number cannot be used or request the user to re-enter it.

추가적으로, 전자 장치(110)는 운송장 번호가 서버(150) 상의 데이터베이스에서 해당 전자 장치(110)의 사용자에게 실제로 할당된 운송장 번호인지 여부를 결정할 수 있다. 구체적으로, 전자 장치(110)는 입력된 운송장 번호가 해당 사용자에게 부여된 것인지 확인할 수 있다. 실제로 할당된 운송장 번호가 아닌 경우, 오류 메시지를 출력하거나 사용자에게 재입력을 요구할 수 있다.Additionally, the electronic device (110) can determine whether the waybill number is a waybill number actually assigned to the user of the electronic device (110) in the database on the server (150). Specifically, the electronic device (110) can check whether the input waybill number is assigned to the user. If it is not an actually assigned waybill number, an error message can be output or the user can be requested to re-enter it.

추가적으로, 전자 장치(110)는 서버(150) 상의 데이터베이스에서 운송장 번호가 이미 배송 완료 처리되었는지 여부를 결정할 수 있다. 전자 장치(110)는 운송장 번호를 사용한 배송이 이미 완료된 상태인지 확인하여, 배송 완료된 상태의 경우, 오류 메시지를 출력하거나 사용자에게 재입력을 요구할 수 있다.Additionally, the electronic device (110) can determine whether the waybill number has already been processed for delivery completion in the database on the server (150). The electronic device (110) can check whether delivery using the waybill number has already been completed, and if delivery has been completed, can output an error message or request the user to re-enter the information.

추가적으로, 전자 장치(110)는 서버(150) 상의 데이터베이스에서 운송장 번호가 다른 사용자에게 할당되었는지 여부를 결정할 수 있다. 전자 장치(110)가 운송장 번호가 다른 사용자에게 할당되었는지 여부를 결정한 경우, 오류 메시지를 출력하거나 사용자에게 재입력을 요구할 수 있다.Additionally, the electronic device (110) may determine whether the tracking number has been assigned to another user from the database on the server (150). If the electronic device (110) determines whether the tracking number has been assigned to another user, it may output an error message or request the user to re-enter the number.

일 실시예에서, 전자 장치(110)는 검증 결과에 상응하는 메시지를 표시할 수 있다. 도 8a를 참고하여 설명한다. 도 8a는 본 발명의 일 실시예에 따른 바코드 입력 성공, 중복 스캔, 및 오류를 도시한다.In one embodiment, the electronic device (110) may display a message corresponding to the verification result. This is described with reference to FIG. 8A. FIG. 8A illustrates a successful barcode input, a duplicate scan, and an error according to one embodiment of the present invention.

도 8a의 화면(810)에서 나타낸 바와 같이, 바코드 스캐너(120)가 전자 장치(110)에 연결된 상태에서 운송장 바코드를 성공적으로 스캔한 경우, 전자 장치(110)에는 성공 메시지가 표시될 수 있다. 이 때, 미도시 되었으나 운송장 바코드를 성공적으로 스캔한 경우, 전자 장치(110)에는 운송장 정보로서 다음 사항이 표시될 수 있다: 결정된 운송장 번호; 스캔된 운송장의 수; 미스캔된 운송장의 수. 이러한 정보들은 사용자가 운송장 관리 및 추적 작업을 보다 효율적으로 수행할 수 있도록 도울 수 있다.As shown in the screen (810) of Fig. 8a, if the waybill barcode is successfully scanned while the barcode scanner (120) is connected to the electronic device (110), a success message may be displayed on the electronic device (110). At this time, although not shown, if the waybill barcode is successfully scanned, the electronic device (110) may display the following as waybill information: the determined waybill number; the number of scanned waybills; the number of unscanned waybills. Such information may help the user perform waybill management and tracking tasks more efficiently.

도 8a의 화면(820) 및 도 8b를 참조하면, 중복 스캔이 발생한 경우, 전자 장치(110)에 중복 메시지가 표시될 수 있다. 일 실시예에서, 전자 장치(110)는 중복으로 스캔된 운송장의 이미지를 표시할 수 있다. 중복 스캔이란, 동일한 운송장이 두 번 이상 스캔된 경우를 의미한다. 중복 스캔이 발생하면, 전자 장치(110)는 이를 식별하여 사용자에게 경고 메시지를 나타낼 수 있다. 이러한 경고 메시지는 시각적 또는 청각적 신호를 포함할 수 있다. 특히, 전자 장치(110)가 중복으로 스캔된 운송장의 이미지를 표시할 때, 사용자는 실시간으로 중복 스캔 여부를 확인할 수 있다. 이로 인해 사용자는 불필요한 데이터 입력을 피하거나, 이미 처리된 데이터의 중복 처리를 방지할 수 있다.Referring to the screen (820) of FIG. 8A and FIG. 8B, when a duplicate scan occurs, a duplicate message may be displayed on the electronic device (110). In one embodiment, the electronic device (110) may display an image of a duplicated waybill. A duplicate scan means a case where the same waybill is scanned more than twice. When a duplicate scan occurs, the electronic device (110) may identify it and display a warning message to the user. This warning message may include a visual or auditory signal. In particular, when the electronic device (110) displays an image of a duplicated waybill, the user may check in real time whether there is a duplicate scan. This allows the user to avoid unnecessary data input or prevent duplicate processing of already processed data.

도 8a의 화면(830)은 바코드 스캐너가 연결된 상태에서 스캔 오류가 발생한 경우를 나타내며, 이는 결정된 운송장 번호가 정상적인 운송장 번호가 아닌 경우를 도시한 것이다. 전자 장치(110)는 오류 메시지로서, 정상적인 운송장이 아니라는 메시지를 표시할 수 있다. 이때, 전자 장치(110)는 운송장 번호를 직접 입력할 수 있는 입력란을 제공할 수 있으며, 이 제공란을 통해 사용자가 직접 운송장 번호를 입력할 수 있도록 한다. Screen (830) of Fig. 8a shows a case where a scan error occurs while the barcode scanner is connected, and this illustrates a case where the determined waybill number is not a normal waybill number. The electronic device (110) may display a message indicating that the waybill is not a normal waybill as an error message. At this time, the electronic device (110) may provide an input field where the waybill number can be directly input, and the user may directly input the waybill number through this field.

전자 장치(110)는 이외에도 다양한 오류 상황을 사용자에게 안내하는 기능을 갖출 수 있다. 예를 들어, 전자 장치(110)는 "정상적인 운송장이 아닙니다"라는 메시지를 통해 입력된 운송장 번호가 시스템에서 인식할 수 없는 경우를 사용자에게 알릴 수 있다. 이는 전자 장치(110)가 입력된 운송장이 시스템에 등록된 형식이나 규칙을 따르지 않는다는 것을 의미할 수 있다. 예를 들어, 전자 장치(110)는 "할당되지 않은 운송장입니다"라는 메시지를 통해 입력된 운송장 번호가 서버(150) 데이터베이스에서 전자 장치(110)의 사용자에게 할당되어 있지 않아 유효하지 않음을 사용자에게 통보할 수 있다. 예를 들어, 전자 장치(110)는 "이미 배송완료된 운송장입니다"라는 메시지를 통해 해당 운송장이 이미 배송 완료 상태로 처리된 것을 사용자에게 전달할 수 있다. 예를 들어, 전자 장치(110)는 "다른 사용자에게 할당된 운송장입니다"라는 메시지를 통해 입력된 운송장 번호가 다른 사용자에게 할당된 경우를 알릴 수 있다. In addition, the electronic device (110) may have a function to inform the user of various error situations. For example, the electronic device (110) may inform the user through a message “This is not a normal waybill” when the input waybill number is not recognized by the system. This may mean that the waybill entered by the electronic device (110) does not follow the format or rules registered in the system. For example, the electronic device (110) may inform the user through a message “This is an unassigned waybill” that the input waybill number is not assigned to the user of the electronic device (110) in the server (150) database and is therefore invalid. For example, the electronic device (110) may inform the user through a message “This is an already delivered waybill” that the corresponding waybill has already been processed as delivered. For example, the electronic device (110) may inform the user through a message “This is an already assigned waybill to another user” that the input waybill number has been assigned to another user.

추가적으로, 전자 장치(110)는 "관리자에게 문의해 주세요"라는 메시지를 통해 시스템 오류 또는 기타 문제가 발생했을 때 시스템에 적절한 조치가 취해지도록 안내할 수 있다. Additionally, the electronic device (110) may guide the system to take appropriate action when a system error or other problem occurs by sending a message such as “Please contact the administrator.”

본 개시에 따른 일 실시예에서, 전자 장치(110)에는 바코드 스캐너(120)의 관리를 위한 어플리케이션이 설치되어 있을 수 있고, 전자 장치(110)는 서비스 리포팅을 위하여, 어플리케이션의 사용 내역에 대한 하나 이상의 지표를 특정하고, 지표에 따라 사용 내역을 분석하고, 분석의 결과를 로깅할 수 있다. In one embodiment according to the present disclosure, an application for managing a barcode scanner (120) may be installed in an electronic device (110), and the electronic device (110) may specify one or more indicators for the usage history of the application for service reporting, analyze the usage history according to the indicators, and log the results of the analysis.

구체적으로, 전자 장치(110)는 어플리케이션의 사용 내역에 대한 하나 이상의 지표를 특정할 수 있다. 본 명세서에서 사용되는 "지표"는 어플리케이션의 여러 특성을 평가하기 위해 활용되는 측정 기준을 지칭한다. 이러한 지표는 어플리케이션의 효과성, 사용 빈도, 문제 발생 여부 등을 포함할 수 있다. 예를 들어, 어플리케이션의 효과성은 해당 어플리케이션이 사용자에게 제공하는 기능이나 서비스를 얼마나 잘 수행하는지를 나타낼 수 있으며, 사용 빈도는 특정 시간 동안 어플리케이션이 얼마나 자주 사용되는지를 의미할 수 있다. 문제 발생 여부는 어플리케이션 사용 중에 발생하는 오류나 예기치 않은 동작의 빈도와 같은 점을 평가할 수 있다. 이와 같은 지표는 어플리케이션의 개선 및 최적화를 위한 중요한 데이터를 제공한다.Specifically, the electronic device (110) can specify one or more indicators of the usage history of the application. As used herein, “indicators” refer to metrics utilized to evaluate various characteristics of an application. Such indicators may include the effectiveness of the application, the frequency of use, and whether problems occur. For example, the effectiveness of an application may indicate how well the application performs a function or service provided to a user, and the frequency of use may mean how often the application is used during a specific period of time. The occurrence of problems may evaluate such things as the frequency of errors or unexpected behaviors that occur during the use of the application. Such indicators provide important data for improving and optimizing the application.

추가적으로 지표는 서비스 가용성, 오류 발생 빈도 및 오류 발생 내역 중 적어도 하나를 포함할 수 있다. 서비스 가용성은 시스템이 사용자에게 제공되는 시간 동안 정상적으로 동작하는지를 나타내는 지표이다. 전자 장치(110)는 이를 통해 시스템이 중단 없이 운영될 수 있는 시간을 측정할 수 있다. 오류 발생 빈도는 시스템에서 오류가 발생하는 횟수를 나타내는 지표이다. 전자 장치(110)는 이를 통해 시스템의 안정성 및 성능을 평가할 수 있다. 오류 발생 내역은 시스템에서 발생한 오류의 종류와 원인을 기록한 지표이다. Additionally, the indicator may include at least one of service availability, error occurrence frequency, and error occurrence history. Service availability is an indicator indicating whether the system operates normally during the time provided to the user. The electronic device (110) can measure the time for which the system can operate without interruption through this. Error occurrence frequency is an indicator indicating the number of times an error occurs in the system. The electronic device (110) can evaluate the stability and performance of the system through this. Error occurrence history is an indicator that records the type and cause of an error that occurred in the system.

전자 장치(110)는 어플리케이션 사용 내역을 실시간으로 모니터링하고 데이터를 수집할 수 있다. 전자 장치(110)는 다양한 센서와 통신 모듈로부터 데이터를 받아서 처리할 수 있다. 그 후, 전자 장치(110)의 메모리는 수집된 데이터를 저장하며, 분석 도구가 접근할 수 있도록 할 수 있다. 전자 장치(110)는 어플리케이션 사용 내역의 이력을 보존하고, 지표를 특정하는 데 필요한 추가 연산이 수행될 수 있도록 한다. The electronic device (110) can monitor application usage history in real time and collect data. The electronic device (110) can receive and process data from various sensors and communication modules. Thereafter, the memory of the electronic device (110) can store the collected data and make it accessible to an analysis tool. The electronic device (110) can preserve the history of application usage history and allow additional operations required to specify an indicator to be performed.

그 후, 전자 장치(110)의 통신 모듈은 외부 서버(150)나 클라우드 시스템과 데이터를 통신하여, 어플리케이션의 사용 내역 및 지표가 서버(150)로 전송되어 종합적인 분석이 가능하게 할 수 있다. 추가적 실시예에서는, 전자 장치(110)는 지정된 지표에 따라 어플리케이션의 사용 내역을 분석할 수 있다. 전자 장치(110)는 로그 데이터, 사용자 피드백, 성능 메트릭 등을 수집하고 처리하는 과정을 통해 어플리케이션의 현재 상태와 성능을 평가할 수 있다. Thereafter, the communication module of the electronic device (110) may communicate data with an external server (150) or a cloud system, so that the usage history and indicators of the application may be transmitted to the server (150) to enable comprehensive analysis. In an additional embodiment, the electronic device (110) may analyze the usage history of the application according to a specified indicator. The electronic device (110) may evaluate the current status and performance of the application through a process of collecting and processing log data, user feedback, performance metrics, etc.

일 실시예에서, 전자 장치(110)는 분석된 결과를 로깅할 수 있다. 전자 장치(110)는 분석된 데이터를 구조화하여 다시 기록하거나, 로깅한 기록을 외부 시스템에 보고할 수 있다. 로깅에는 데이터의 시간, 날짜, 그리고 기타 관련 정보들이 포함될 수 있다. 추가적으로, 전자 장치(110)는 분석된 데이터를 특정 형식으로 구조화하여 다시 기록할 수 있다. 구조화된 데이터는 다양한 형태로 존재할 수 있으며, 예를 들어, 표나 그래프 형태로 시각화될 수도 있다. 구조화된 데이터는 시스템의 내부 데이터베이스에 저장될 수도 있고, 필요에 따라 외부 저장소로 전송될 수도 있다.In one embodiment, the electronic device (110) can log the analyzed results. The electronic device (110) can structure the analyzed data and re-record it, or report the logged records to an external system. The logging can include the time, date, and other relevant information of the data. Additionally, the electronic device (110) can structure the analyzed data in a specific format and re-record it. The structured data can exist in various forms, and can be visualized in the form of a table or graph, for example. The structured data can be stored in an internal database of the system, or can be transmitted to an external storage as needed.

또한, 전자 장치(110)는 로깅된 기록을 외부 시스템에 보고할 수 있다. 전자 장치(110)는 서버(150), 클라우드 서비스, 또는 다른 외부 시스템으로 데이터를 전송할 수 있다. Additionally, the electronic device (110) can report logged records to an external system. The electronic device (110) can transmit data to a server (150), a cloud service, or another external system.

전자 장치(110)는 추가적으로 사용자 인터페이스를 통해 어플리케이션의 현재 상태, 사용 내역, 발생 가능한 문제 등을 시각적으로 또는 청각적으로 제공할 수 있다. The electronic device (110) can additionally provide the current status of the application, usage history, possible problems, etc. visually or audibly through the user interface.

본 개시에 따른 일 실시예에서, 전자 장치(110)에 의해 하나 이상의 지표를 특정하는 것은, 바코드 스캐너(120)와의 통신 방식이 Human Interface Device(HID) 방식인지 여부를 결정하는 것을 포함할 수 있다. 구체적으로, 전자 장치(110)가 바코드 스캐너(120)와 통신하는 방식이 여러 가지 있을 수 있으며, 이 중 HID 방식으로 통신하는지 여부를 판단하는 것이 확장성을 위해 중요하다. In one embodiment according to the present disclosure, specifying one or more indicators by the electronic device (110) may include determining whether the communication method with the barcode scanner (120) is a Human Interface Device (HID) method. Specifically, there may be various ways in which the electronic device (110) communicates with the barcode scanner (120), and determining whether the communication is in the HID method is important for scalability.

전자 장치(110)는 특정 프로토콜이나 명령어를 사용하여 어플리케이션에 연결되어 사용된 바코드 스캐너(120)가 HID 장치로 인식되는지 여부를 확인할 수 있다. 만일 HID 방식으로 인식된다면, 전자 장치(110)는 해당 바코드 스캐너(120)를 통해 전송받은 입력 데이터를 처리하며, 이를 통해 필요한 지표를 특정할 수 있다.The electronic device (110) can use a specific protocol or command to connect to the application and check whether the barcode scanner (120) used is recognized as an HID device. If recognized in the HID manner, the electronic device (110) processes the input data transmitted through the barcode scanner (120) and can thereby specify the necessary indicator.

일 실시예에서, 전자 장치(110)에 의해 HID 방식 여부인지 확인하는 것은 바코드 스캐너(120)를 인식하는 과정에서 함께 이뤄질 수 있다. 이는 바코드 스캐너(120)가 전자 장치(110)에 연결되어 작동될 때, 해당 스캐너가 HID 방식을 사용하는지 여부를 자동으로 판별하는 작업을 포함할 수 있다. 예를 들어, 전자 장치(110)가 바코드 스캐너(120)를 인식할 때, 스캐너의 통신 방식이나 데이터 전송 프로토콜을 분석하여 HID 방식인지 판별하는 것이다. 이러한 판별 작업은 바코드 스캐너(120)가 사용될 때마다 실시간으로 수행될 수 있으며, 별도의 수작업이나 추가적인 설정이 필요하지 않음이 이해될 것이다.In one embodiment, the determination of whether the electronic device (110) uses the HID method may be performed simultaneously with the process of recognizing the barcode scanner (120). This may include a task of automatically determining whether the barcode scanner (120) uses the HID method when the electronic device (110) is connected to and operated by the electronic device (110). For example, when the electronic device (110) recognizes the barcode scanner (120), the communication method or data transmission protocol of the scanner is analyzed to determine whether it uses the HID method. It will be understood that this determination task may be performed in real time whenever the barcode scanner (120) is used, and no separate manual work or additional settings are required.

추가적 실시예에서, 전자 장치(110)에 의해 HID 방식 여부를 확인하는 방식은 로그를 통한 기록에 의해 이루어질 수 있다. 이는 전자 장치(110)가 특정 장치와 통신을 시도하거나 연결을 수립하는 과정에서 발생하는 모든 활동을 기록으로 남기는 방식을 의미한다. 그런 로그 기록을 분석하여 특정 장치가 HID 방식을 사용하는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(110)가 바코드 스캐너(120)와의 연결 시도 및 데이터 전송 과정을 로그에 기록하고, 해당 로그를 통해 나중에 HID 방식 사용 여부를 검토하고 확인할 수 있다. 이 방법은 실시간으로 HID 방식 여부를 확인하는 것보다는 다소 지연될 수 있지만, 기록을 남겨 두어 추후 검토가 가능하다는 장점이 있다.In an additional embodiment, the method of checking whether the electronic device (110) uses the HID method can be done by recording through a log. This means that the electronic device (110) records all activities that occur in the process of attempting to communicate with a specific device or establishing a connection. By analyzing such log records, it is possible to check whether a specific device uses the HID method. For example, the electronic device (110) records the connection attempt and data transmission process with the barcode scanner (120) in a log, and the use of the HID method can be reviewed and confirmed later through the log. This method may be somewhat delayed compared to checking whether the HID method is used in real time, but has the advantage of leaving a record so that it can be reviewed later.

본 개시에 따른 일 실시예에서, 하나 이상의 지표를 특정하는 단계는, 바코드 스캐너(120)와의 연결 상태 및 바코드 스캐너(120)의 정보를 결정하는 단계를 포함할 수 있다. In one embodiment according to the present disclosure, the step of specifying one or more indicators may include the step of determining a connection status with a barcode scanner (120) and information of the barcode scanner (120).

본 개시의 일 실시예에 있어서, 하나 이상의 지표를 특정하는 단계는 바코드 스캐너(120)와의 연결 상태 및 바코드 스캐너(120)의 정보를 결정하는 단계를 포함할 수 있다. 구체적으로, 전자 장치(110)는 바코드 스캐너(120)와의 연결 상태를 결정할 수 있다. 이는 바코드 스캐너(120)가 전자 장치(110)와 정상적으로 연결되었는지 여부를 평가하는 것으로, 유선 연결 혹은 무선 연결 여부와 관계 없이 결정된다. 추가적으로, 전자 장치(110)는 바코드 스캐너(120)의 정보를 결정할 수 있다. 이는 바코드 스캐너(120)의 특정한 식별 정보(예: 시리얼 넘버, 모델 넘버, 펌웨어 버전 등)를 검토하는 것을 의미한다. 이러한 정보는 바코드 스캐너(120)의 정상 동작 여부를 판단하거나, 이후의 데이터 처리 및 서비스를 위해 필요할 수 있다. 본 구성은 시스템의 안정성과 신뢰성을 보장할 수 있음이 이해될 것이다.In one embodiment of the present disclosure, the step of specifying one or more indicators may include a step of determining a connection status with the barcode scanner (120) and information of the barcode scanner (120). Specifically, the electronic device (110) may determine a connection status with the barcode scanner (120). This is to evaluate whether the barcode scanner (120) is normally connected to the electronic device (110), and is determined regardless of whether the connection is wired or wireless. Additionally, the electronic device (110) may determine information of the barcode scanner (120). This means examining specific identification information (e.g., serial number, model number, firmware version, etc.) of the barcode scanner (120). This information may be required to determine whether the barcode scanner (120) is operating normally or for subsequent data processing and services. It will be appreciated that this configuration can ensure the stability and reliability of the system.

본 개시에 따른 일 실시예에서, 전자 장치(110)에 의해 하나 이상의 지표를 특정하는 것은, 어플리케이션 상에서 수행된 작업과 작업의 빈도를 결정하는 것을 포함할 수 있다.In one embodiment according to the present disclosure, specifying one or more indicators by the electronic device (110) may include determining tasks performed on the application and the frequency of the tasks.

구체적으로, 전자 장치(110)는 어플리케이션 사용자 인터페이스 또는 백그라운드에서 사용자가 수행한 일련의 작업들을 모니터링하고 기록하는 기능을 포함할 수 있다. 작업이란 물류에 필요한 서비스와 관련된 특정 행위, 예를 들어 화물 추적, 재고 관리, 주문 처리, 배송 상태 확인 등 다양한 형태로 구현될 수 있다. 이러한 작업들을 추적하여, 전자 장치(110)는 각각의 작업이 수행된 빈도를 계산하고 이러한 빈도를 통계적으로 분석할 수 있다. 이를 통해, 전자 장치(110)는 사용자에게 가장 큰 영향을 미치는 특정 작업이나 행동 패턴을 식별하고, 이러한 정보를 바탕으로 지표를 산출할 수 있다. 이러한 지표는 사용자 경험을 향상시키기 위한 기반 데이터로 활용될 수 있다.Specifically, the electronic device (110) may include a function to monitor and record a series of tasks performed by the user in the application user interface or in the background. The tasks may be implemented in various forms, such as specific actions related to services required for logistics, such as cargo tracking, inventory management, order processing, and delivery status confirmation. By tracking these tasks, the electronic device (110) may calculate the frequency with which each task is performed and statistically analyze this frequency. Through this, the electronic device (110) may identify specific tasks or behavioral patterns that have the greatest impact on the user and derive indicators based on this information. These indicators may be utilized as basic data for improving the user experience.

본 개시에 따른 일 실시예에서, 전자 장치(110)에 의해 하나 이상의 지표를 특정하는 것은, 이벤트 리스너가 아닌 다른 요소에 의해 키 입력 이벤트의 발생이 결정된 것을 검출하는 것; 및 이벤트 리스너가 아닌 다른 요소에 의해 키 입력 이벤트의 발생이 결정된 것을 검출하는 것에 응답하여, 오류의 발생을 결정하는 것을 포함할 수 있다.In one embodiment according to the present disclosure, specifying one or more indicators by the electronic device (110) may include detecting that occurrence of a key input event was determined by an element other than the event listener; and in response to detecting that occurrence of the key input event was determined by an element other than the event listener, determining the occurrence of an error.

구체적으로, 전자 장치(110)가 이벤트 리스너가 아닌 다른 요소에 의해 키 입력 이벤트의 발생이 인지되는지를 검출할 수 있다. 예를 들어, 사용자가 바코드 스캔을 시도할 때, 일반적인 이벤트 리스너가 이를 포착하기 전에 다른 시스템 요소가 이를 인식하여, 이벤트 발생이 검출되지 않을 수 있다. 이벤트 리스너가 아닌 다른 요소에 의해 키 입력 이벤트의 발생이 검출 된 경우, 오류로 판단된다. 즉, 이벤트 리스너가 키 입력 이벤트를 정상적으로 감지하지 못하는 경우를 오류로 볼 수 있다. Specifically, the electronic device (110) can detect whether the occurrence of a key input event is recognized by an element other than the event listener. For example, when a user attempts to scan a barcode, another system element may recognize it before a general event listener captures it, so that the occurrence of the event may not be detected. If the occurrence of a key input event is detected by an element other than the event listener, it is determined as an error. That is, if the event listener does not normally detect a key input event, it can be viewed as an error.

추가적 혹은 대안적 실시예에서, 바코드 입력이 시작된 후, 기결정된 시간 내에 이벤트 리스너가 키 입력 이벤트의 발생을 결정하지 못하는 것에 응답하여, 오류가 발생한 것으로 결정할 수 있다. 여기서 기결정된 시간은 시스템에 의해 미리 설정된 시간 간격을 의미하며, 이는 사용자 경험 및 시스템의 신뢰성을 보장하기 위한 목적으로 설정된 것이다. 예를 들어, 기결정된 시간은 500ms, 600ms, 700ms 등일 수 있다. In additional or alternative embodiments, an error may be determined to have occurred in response to the event listener not determining the occurrence of a key press event within a predetermined time period after the barcode entry has been initiated. The predetermined time period here means a time interval preset by the system, which is set for the purpose of ensuring user experience and system reliability. For example, the predetermined time period may be 500ms, 600ms, 700ms, etc.

예를 들어, 바코드 입력이 시작된 후 2초 이내에 이벤트 리스너가 키 입력 이벤트를 처리하지 못할 경우, 전자 장치(110)는 이를 오류로 결정할 수 있다. 오류 발생 결정 단계는 시스템이 올바르게 동작하고 있는지를 검증하는 중요한 부분으로 작용하며, 이를 통해 사용자에게 입력 과정 중 발생할 수 있는 문제를 신속히 알릴 수 있다.For example, if the event listener fails to process a key input event within 2 seconds after the barcode input has started, the electronic device (110) may determine this as an error. The error determination step serves as an important part of verifying that the system is operating correctly, and through this, it is possible to quickly notify the user of any problems that may occur during the input process.

추가적 실시예에서, 기결정된 시간은 상황에 따라 연장될 수 있다. 예를 들어, 시스템 성능이나 사용자의 요구에 따라 기결정된 시간을 유동적으로 조정함으로써 사용자 경험을 최적화할 수 있다. 따라서 기결정된 시간 내에 이벤트 리스너가 키 입력 이벤트를 처리하지 못할 경우 이를 신속하게 인식하고 조치할 수 있다.In additional embodiments, the predetermined time can be extended depending on the situation. For example, the predetermined time can be flexibly adjusted based on system performance or user needs to optimize the user experience. Thus, if the event listener fails to process a key input event within the predetermined time, it can be recognized and acted upon quickly.

본 개시의 일 실시예에서, 전자 장치(110)는 오류 발생 빈도가 미리 설정된 임계값을 초과하는 경우 알림을 생성할 수 있다. In one embodiment of the present disclosure, the electronic device (110) may generate a notification when an error occurrence frequency exceeds a preset threshold.

구체적으로, 전자 장치(110)는 시스템 내에서 발생하는 오류를 실시간으로 모니터링할 수 있다. 여기에는 소프트웨어 오류, 하드웨어 오류, 네트워크(140) 오류 등이 포함될 수 있다. 전자장치에 의해 계산된 오류 발생 빈도를 미리 설정된 임계값과 비교할 수 있다. 이 임계값은 시스템의 안정성을 보장하기 위해 사전에 정의된 값일 수 있다. 전자 장치(110)는 오류 발생 빈도가 설정된 임계값을 초과할 경우, 이에 대한 알림을 생성할 수 있다. 알림은 이메일, SMS, 푸시 알림 등 다양한 형태로 전달될 수 있다.Specifically, the electronic device (110) can monitor errors occurring within the system in real time. These may include software errors, hardware errors, network (140) errors, etc. The error occurrence frequency calculated by the electronic device can be compared with a preset threshold value. This threshold value may be a value defined in advance to ensure the stability of the system. The electronic device (110) can generate a notification when the error occurrence frequency exceeds the preset threshold value. The notification can be delivered in various forms such as email, SMS, and push notification.

본 개시에 따른 일 실시예에서, 전자 장치(110)에 의해 키 입력 이벤트의 발생 여부를 결정하는 것은, 키 입력 이벤트의 발생 여부를 기 정해진 시간 단위로 수신하는 것; 및 기 정해진 시간 단위로 수신되는 키 입력 이벤트 중 중복 이벤트를 검출하고, 검출된 중복 이벤트를 무시하는 것을 포함할 수 있다.In one embodiment according to the present disclosure, determining whether a key input event has occurred by the electronic device (110) may include: receiving whether a key input event has occurred at predetermined time units; and detecting duplicate events among the key input events received at predetermined time units, and ignoring the detected duplicate events.

전자 장치(110)는 키 입력 이벤트의 발생 여부를 기 정해진 시간 단위로 수신할 수 있다. 이는 일정한 시간 간격으로 키 입력 이벤트 발생 여부를 모니터링하고, 시간 간격마다 이를 수신하는 것을 의미한다. 예를 들어, 전자 장치(110)가 100ms 단위로 키 입력 이벤트가 발생하였는지를 확인하는 과정을 말한다.The electronic device (110) can receive whether a key input event has occurred at a predetermined time unit. This means monitoring whether a key input event has occurred at a regular time interval and receiving it at each time interval. For example, this refers to a process in which the electronic device (110) checks whether a key input event has occurred at 100 ms units.

전자 장치(110)는 기 정해진 시간 단위로 수신되는 키 입력 이벤트 중 중복 이벤트를 검출하고, 검출된 중복 이벤트를 무시할 수 있다. 전자 장치(110)는 동일한 키 입력 이벤트가 반복적으로 발생하는 경우, 중복 이벤트로 간주하고 해당 중복 이벤트를 제외시킬 수 있다. 예를 들어, 사용자가 하나의 키를 계속해서 누르고 있는 상황에서는 첫 번째 키 입력을 제외한 나머지 입력을 무시함으로써 중복 이벤트 발생을 처리하지 않을 수 있다. 이를 통해 키 입력 이벤트를 효율적으로 처리할 수 있음이 이해될 것이다.The electronic device (110) can detect duplicate events among key input events received at predetermined time units and ignore the detected duplicate events. If the same key input event occurs repeatedly, the electronic device (110) can consider it as a duplicate event and exclude the duplicate event. For example, in a situation where a user continuously presses a key, the remaining inputs except for the first key input can be ignored so as not to process the occurrence of duplicate events. It will be understood that the key input event can be efficiently processed through this.

본 발명의 일 실시예는, 하나 이상의 프로세서 및 하나 이상의 프로세서에 의해 실행되는 명령어들이 저장된 하나 이상의 메모리를 포함하는 전자 장치를 포함한다. 하나 이상의 프로세서에 의해 명령어들이 실행될 시, 하나 이상의 프로세서는, 앞서 설명된 실시예들 중 어느 하나에 따른 방법을 실행하도록 구성될 수 있다. One embodiment of the present invention includes an electronic device including one or more processors and one or more memories storing instructions to be executed by the one or more processors. 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 any one of the embodiments described above.

본 발명의 일 실시예는, 하나 이상의 프로세서에 의한 실행 시, 하나 이상의 프로세서가 동작을 수행하도록 하는 명령어들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체를 포함한다. 비일시적 컴퓨터 판독 가능 기록 매체에 기록된 명령어들은, 하나 이상의 프로세서로 하여금, 앞서 설명된 실시예들 중 어느 하나에 따른 방법을 실행하게 하도록 구성될 수 있다. One embodiment of the present invention includes a non-transitory computer-readable recording medium having recorded thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations. The instructions recorded in the non-transitory computer-readable recording medium may be configured to cause the one or more processors to perform a method according to any one of the embodiments described above.

본 개시에 따른 흐름도에서, 방법 또는 알고리즘의 각 단계들은 순차적인 순서로 설명되었지만, 각 단계들은 순차적으로 수행되는 것 외에, 임의로 조합될 수 있는 순서에 따라 수행될 수도 있다. 본 개시의 순서도 또는 흐름도에 관한 설명은, 방법 또는 알고리즘에 변화 또는 수정을 가하는 것을 제외하지 않으며, 임의의 단계가 필수적이거나 바람직하다는 것을 의미하지 않는다. 일 실시예에서, 적어도 일부의 단계가 병렬적, 반복적 또는 휴리스틱하게 수행될 수 있다. 다른 일 실시예에서, 적어도 일부의 단계가 생략되거나, 다른 단계가 추가될 수 있다.In the flowchart according to the present disclosure, each step of the method or algorithm is described in a sequential order, but each step may be performed in an order that can be arbitrarily combined, in addition to being performed sequentially. The description of the flowchart or flowchart of the present disclosure does not exclude changes or modifications to the method or algorithm, and does not imply that any step is essential or desirable. In one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. In another embodiment, at least some of the steps may be omitted, or other steps may be added.

본 개시에 따른 다양한 실시예들은 기기(Machine)가 읽을 수 있는 저장 매체(Machine-Readable Storage Medium)에 소프트웨어로 구현될 수 있다. 소프트웨어는 본 개시에 기재된 다양한 실시예들을 구현하기 위한 소프트웨어일 수 있다. 소프트웨어는 본 개시가 속하는 기술분야의 프로그래머들에 의해 본 개시에 기재된 다양한 실시예들로부터 추론될 수 있다. 예를 들어 소프트웨어는 기기가 읽을 수 있는 명령어(예를 들어, 인스트럭션, 코드 또는 코드 세그먼트)를 포함하는 프로그램일 수 있다. 기기는 저장 매체로부터 호출된 명령어에 따라 동작이 가능한 장치로서, 예를 들어 컴퓨터일 수 있다. 일 실시예에서, 기기는 본 개시에 기재된 다양한 실시예들에 따른 컴퓨팅 장치일 수 있다. 일 실시예에서, 기기의 프로세서는 호출된 명령어를 실행하여, 기기의 구성요소들이 이 명령어에 대응하는 기능을 수행하게 할 수 있다. 저장 매체는 기기에 의해 읽혀질 수 있는, 데이터가 저장되는 모든 종류의 기록 매체(Recording Medium)를 의미할 수 있다. 저장 매체는, 예를 들어 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등을 포함할 수 있다. 일 실시예에서, 저장 매체는 네트워크(140)로 연결된 컴퓨터 시스템 등에 분산된 형태로서 구현될 수 있다. 이때, 소프트웨어는 컴퓨터 시스템 등에 분산되어 저장되고, 실행될 수 있다. 다른 일 실시예에서, 저장 매체는 비일시적(non-transitory) 저장 매체일 수 있다. 비일시적 저장 매체는, 데이터가 반영구적 또는 임시적으로 저장되는 것과 무관하게 실재하는 매체(Tangible Medium)를 의미하며, 일시적(transitory)으로 전파되는 신호(Signal)를 포함하지 않는다.Various embodiments according to the present disclosure may be implemented as software in a machine-readable storage medium. The software may be software for implementing various embodiments described in the present disclosure. The software may be inferred from various embodiments described in the present disclosure by programmers in the technical field to which the present disclosure belongs. For example, the software may be a program including machine-readable instructions (e.g., instructions, codes, or code segments). The device may be a device capable of operating according to instructions called from a storage medium, for example, a computer. In one embodiment, the device may be a computing device according to various embodiments described in the present disclosure. In one embodiment, the processor of the device may execute the called instructions to cause components of the device to perform functions corresponding to the instructions. The storage medium may mean all kinds of recording media that can be read by the device and on which data is stored. The storage medium may include, for example, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc. In one embodiment, the storage medium may be implemented in a distributed form, such as in a computer system connected to a network (140). At this time, the software may be distributed and stored and executed in the computer system, etc. In another embodiment, the storage medium may be a non-transitory storage medium. A non-transitory storage medium means a medium that exists regardless of whether data is stored semi-permanently or temporarily (Tangible Medium), and does not include a signal that is transmitted transitively (Signal).

이상 다양한 실시예들에 의해 본 개시에 따른 기술적 사상이 설명되었지만, 본 개시에 따른 기술적 사상은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 범위에서 이루어질 수 있는 다양한 치환, 변형 및 변경을 포함한다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 포함될 수 있는 것으로 이해되어야 한다.Although the technical idea according to the present disclosure has been described by the above various embodiments, the technical idea according to the present disclosure includes various substitutions, modifications, and changes that can be made within the scope that can be understood by a person having ordinary skill in the art to which the present disclosure belongs. In addition, it should be understood that such substitutions, modifications, and changes can be included within the scope of the appended claims.

Claims (18)

전자 장치에 의해 수행되는 바코드 스캐너의 통합 관리 방법에 있어서,
상기 전자 장치와 연결된 바코드 스캐너를 식별하는 단계;
상기 식별된 바코드 스캐너와 상호작용하기 위한 상기 바코드 스캐너와의 통신 방식을 결정하는 단계 - 상기 결정은 상기 바코드 스캐너로부터 전송된 신호를 수신하는 것 및 상기 신호를 분석하여 상기 바코드 스캐너가 지원하는 통신 방식을 식별하는 것을 포함하고, 상기 신호는 상기 바코드 스캐너의 통신 방식에 대한 정보를 포함함 - ;
상기 통신 방식이 제1 통신 방식이라는 결정에 응답하여, 키 입력 이벤트(event)를 처리하는 수신자로서의 이벤트 리스너(listener)에 의해 상기 바코드 스캐너로부터의 키 입력 이벤트의 발생 여부를 결정하는 단계;
상기 키 입력 이벤트가 발생했다는 결정에 응답하여, 상기 바코드 스캐너에 의해 스캔된 바코드를 일련의 키 정보들로서 수신하는 단계;
상기 수신된 키 정보들에 각각 대응하는 상태를 식별하는 단계 - 상기 상태는 제1, 제2, 제3 상태를 포함하고, 상기 제1 상태는 바코드 입력의 시작을 나타내고, 상기 제2 상태는 바코드 입력의 진행을 나타내고, 상기 제3 상태는 바코드 입력의 완료를 나타냄 -; 및
상기 상태에 대응하는 각각의 키 정보에 기초하여 상기 바코드 스캐너에 의해 스캔된 바코드에 대응하는 입력 스트링을 생성하는 단계
를 포함하는, 방법.
In an integrated management method of a barcode scanner performed by an electronic device,
A step of identifying a barcode scanner connected to the electronic device;
A step of determining a communication mode with the barcode scanner for interacting with the identified barcode scanner, wherein the determining comprises receiving a signal transmitted from the barcode scanner and analyzing the signal to identify a communication mode supported by the barcode scanner, wherein the signal comprises information about the communication mode of the barcode scanner;
In response to a determination that the above communication method is the first communication method, a step of determining whether a key input event has occurred from the barcode scanner by an event listener as a receiver that processes the key input event;
In response to determining that the above key input event has occurred, a step of receiving a barcode scanned by the barcode scanner as a series of key information;
A step of identifying a state corresponding to each of the received key information, wherein the state includes a first, a second, and a third state, wherein the first state indicates the start of barcode input, the second state indicates the progress of barcode input, and the third state indicates the completion of barcode input; and
A step of generating an input string corresponding to a barcode scanned by the barcode scanner based on each key information corresponding to the above state.
A method comprising:
제1항에 있어서,
상기 통신 방식이 상기 제1 통신 방식과 상이한 제2 통신 방식이라는 결정에 응답하여, 상기 바코드 스캐너에 대응하는 SDK를 로딩하는 단계; 및
상기 SDK를 통해 상기 바코드 스캐너에 의해 스캔된 바코드의 데이터를 수신하는 단계
를 더 포함하는, 방법.
In the first paragraph,
In response to a determination that the communication method is a second communication method different from the first communication method, a step of loading an SDK corresponding to the barcode scanner; and
Step of receiving data of a barcode scanned by the barcode scanner through the above SDK
A method further comprising:
제1항에 있어서,
상기 제1 상태는, 상기 전자 장치로 하여금, 상기 입력 스트링을 초기화하고, 상기 제1 상태에 대응하는 불리언(boolean) 값을 참으로 설정하도록 하고;
상기 제2 상태는, 상기 전자 장치로 하여금, 상기 불리언 값이 참인 경우, 수신된 키 정보들을 순차적으로 상기 입력 스트링에 추가하게 하고;
상기 제3 상태는, 상기 전자 장치로 하여금, 추가적 키 정보가 수신되지 않고 상기 불리언 값이 참인 경우, 상기 입력 스트링을 저장하게 하고;
상기 불리언 값을 거짓으로 설정하도록 하는, 방법.
In the first paragraph,
The first state causes the electronic device to initialize the input string and set a boolean value corresponding to the first state to true;
The second state causes the electronic device to sequentially add the received key information to the input string if the Boolean value is true;
The third state causes the electronic device to store the input string if no additional key information is received and the boolean value is true;
A method for setting the above Boolean value to false.
제1항에 있어서,
상기 수신된 키 정보들에 각각 대응하는 상태를 식별하는 단계는,
상기 수신된 키 정보들 중 하나의 키 정보의 값이 특정 키 값인 경우, 상기 하나의 키 정보에 대응하는 상태를 상기 제3 상태로 식별하는 단계
를 포함하는, 방법.
In the first paragraph,
The step of identifying the state corresponding to each of the received key information is:
A step of identifying a state corresponding to one key information as the third state when the value of one key information among the received key information is a specific key value.
A method comprising:
제1항에 있어서,
상기 전자 장치와 상기 바코드 스캐너 간의 연결은 블루투스 또는 Wi-Fi 무선 연결인, 방법.
In the first paragraph,
A method wherein the connection between the electronic device and the barcode scanner is a Bluetooth or Wi-Fi wireless connection.
제1항에 있어서,
상기 통신 방식은 HID(Human Interface Device) 방식, BLE(Bluetooth Low Energy) 방식, SPP(Serial Port Profile) 방식 중 적어도 하나를 포함하는, 방법.
In the first paragraph,
A method wherein the above communication method includes at least one of the HID (Human Interface Device) method, the BLE (Bluetooth Low Energy) method, and the SPP (Serial Port Profile) method.
제1항에 있어서,
상기 입력 스트링에 대응하는 물류 정보들을 검색하는 단계 - 상기 물류 정보들은 물류 유형을 포함하고, 상기 물류 유형은 반품, 배송, 제품 회수를 포함함 -;
서버가 상기 물류 정보들을 상품코드별, 입고일자별 또는 출고일자별로 분류하도록 상기 물류 정보들을 서버에 송신하는 단계; 및
상기 서버에 의해 분류된 물류 정보들을 상기 서버로부터 수신하는 단계
를 더 포함하는, 방법.
In the first paragraph,
A step of retrieving logistics information corresponding to the above input string, wherein the logistics information includes a logistics type, and the logistics type includes return, delivery, and product recovery;
A step of transmitting the logistics information to the server so that the server classifies the logistics information by product code, date of receipt, or date of shipment; and
A step of receiving logistics information classified by the above server from the above server.
A method further comprising:
제1항에 있어서,
상기 입력 스트링을 상기 바코드 스캐너에 의해 스캔된 바코드에 대응하는 운송장 번호로 결정하는 단계;
상기 결정된 운송장 번호의 유효성을 검증하는 단계; 및
상기 검증 결과에 상응하는 메시지를 표시하는 단계
를 더 포함하는, 방법.
In the first paragraph,
A step of determining the input string as a waybill number corresponding to a barcode scanned by the barcode scanner;
A step for verifying the validity of the above-determined waybill number; and
Step for displaying a message corresponding to the above verification result
A method further comprising:
제8항에 있어서,
상기 운송장 번호의 유효성을 검증하는 단계는,
(i) 상기 운송장 번호가 기 저장된 타 운송장 번호와 중복되는지 여부를 결정하는 단계;
(ii) 상기 운송장 번호에 대응하는 운송 유효기간이 초과하였는지 여부를 결정하는 단계;
(iii) 상기 운송장 번호가 서버 상의 데이터베이스에서 상기 전자 장치의 사용자에게 할당된 운송장 번호에 해당하는지 여부를 결정하는 단계;
(iv) 상기 운송장 번호가 이미 배송 완료 처리되었는지 여부를 결정하는 단계;
(v) 상기 운송장 번호가 다른 사용자에게 할당되었는지 여부를 결정하는 단계
중 적어도 하나를 포함하는, 방법.
In Article 8,
The steps to verify the validity of the above waybill number are:
(i) a step of determining whether the above waybill number overlaps with another previously stored waybill number;
(ii) a step of determining whether the transportation validity period corresponding to the above waybill number has expired;
(iii) a step of determining whether the above-mentioned waybill number corresponds to a waybill number assigned to a user of the electronic device in a database on the server;
(iv) a step of determining whether the above waybill number has already been processed for delivery completion;
(v) a step for determining whether the above waybill number has been assigned to another user;
A method comprising at least one of:
제1항에 있어서,
상기 전자 장치에는 상기 바코드 스캐너의 관리를 위한 어플리케이션이 설치되어 있고, 상기 방법은,
서비스 리포팅을 위하여, 상기 어플리케이션의 사용 내역에 대한 하나 이상의 지표를 특정하는 단계; 및
상기 지표에 따라 상기 사용 내역을 분석하고, 상기 분석의 결과를 로깅하는 단계
를 더 포함하고,
상기 지표는 상기 어플리케이션의 사용 내역을 나타내는 값으로서, 상기 어플리케이션 상의 서비스 가용성, 서비스 사용 빈도, 오류 발생 빈도 및 발생 내역 중 적어도 하나를 나타내는, 방법.
In the first paragraph,
The above electronic device has an application installed for managing the above barcode scanner, and the method comprises:
For service reporting, a step of specifying one or more indicators of usage history of the application; and
A step of analyzing the usage history according to the above indicators and logging the results of the analysis.
Including more,
The above indicator is a value representing the usage history of the application, and is a method representing at least one of service availability, service usage frequency, error occurrence frequency, and occurrence history on the application.
제10항에 있어서,
상기 하나 이상의 지표를 특정하는 단계는,
상기 바코드 스캐너와의 통신 방식이 HID 방식인지 여부를 결정하는 단계
를 포함하는, 방법.
In Article 10,
The step of specifying one or more of the above indicators is:
Step for determining whether the communication method with the above barcode scanner is HID method
A method comprising:
제10항에 있어서,
상기 하나 이상의 지표를 특정하는 단계는,
상기 바코드 스캐너와의 연결 상태 및 상기 바코드 스캐너의 정보를 결정하는 단계
를 포함하는, 방법.
In Article 10,
The step of specifying one or more of the above indicators is:
Step for determining the connection status with the above barcode scanner and information of the above barcode scanner
A method comprising:
제10항에 있어서,
상기 하나 이상의 지표를 특정하는 단계는,
상기 어플리케이션 상에서 수행된 작업과 상기 작업의 빈도를 결정하는 단계
를 포함하는, 방법.
In Article 10,
The step of specifying one or more of the above indicators is:
A step for determining the work performed on the above application and the frequency of said work.
A method comprising:
제10항에 있어서,
상기 하나 이상의 지표를 특정하는 단계는,
상기 이벤트 리스너가 아닌 다른 요소에 의해 상기 키 입력 이벤트의 발생이 결정된 것을 검출하는 단계; 및
상기 이벤트 리스너가 아닌 다른 요소에 의해 상기 키 입력 이벤트의 발생이 결정된 것을 검출하는 것에 응답하여, 상기 오류의 발생을 결정하는 단계
를 포함하는, 방법.
In Article 10,
The step of specifying one or more of the above indicators is:
A step of detecting that the occurrence of the key input event is determined by an element other than the event listener; and
In response to detecting that the occurrence of the key input event is determined by an element other than the event listener, a step of determining the occurrence of the error.
A method comprising:
제10항에 있어서,
상기 오류 발생 빈도가 미리 설정된 임계값을 초과하는 경우 알림을 생성하는 단계
를 더 포함하는, 방법.
In Article 10,
Step for generating a notification when the above error occurrence frequency exceeds a preset threshold.
A method further comprising:
제1항에 있어서,
상기 이벤트 리스너에 의해 상기 키 입력 이벤트의 발생 여부를 결정하는 단계는,
상기 키 입력 이벤트의 발생 여부를 기 정해진 시간 단위로 수신하는 단계; 및
상기 기 정해진 시간 단위로 수신되는 키 입력 이벤트 중 중복 이벤트를 검출하고, 상기 검출된 중복 이벤트를 무시하는 단계
를 포함하는, 방법.
In the first paragraph,
The step of determining whether the above key input event occurs by the above event listener is:
A step of receiving whether the above key input event has occurred in a predetermined time unit; and
A step of detecting duplicate events among key input events received in the above-determined time unit and ignoring the detected duplicate events.
A method comprising:
전자 장치에 있어서,
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 명령어들이 저장된 하나 이상의 메모리를 포함하고,
상기 하나 이상의 프로세서에 의해 상기 명령어들이 실행될 시, 상기 하나 이상의 프로세서는, 제1항 내지 제16항 중 어느 한 항에 따른 방법을 실행하도록 구성되는, 전자 장치.
In electronic devices,
one or more processors; and
comprising one or more memories storing instructions executed by said 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 16.
하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 동작을 수행하도록 하는 명령어들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체에 있어서,
상기 명령어들은, 상기 하나 이상의 프로세서로 하여금, 제1항 내지 제16항 중 어느 한 항에 따른 방법을 실행하게 하도록 구성되는, 비일시적 컴퓨터 판독 가능 기록 매체.
A non-transitory computer-readable recording medium having recorded thereon instructions that, when executed by one or more processors, cause the one or more processors to perform an operation,
A non-transitory computer-readable recording medium configured to cause the one or more processors to execute a method according to any one of claims 1 to 16.
KR1020240085686A 2024-06-28 2024-06-28 Method, device, and recording medium for integrating and managing barcode scanners Active KR102833492B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240085686A KR102833492B1 (en) 2024-06-28 2024-06-28 Method, device, and recording medium for integrating and managing barcode scanners

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240085686A KR102833492B1 (en) 2024-06-28 2024-06-28 Method, device, and recording medium for integrating and managing barcode scanners

Publications (1)

Publication Number Publication Date
KR102833492B1 true KR102833492B1 (en) 2025-07-11

Family

ID=96395559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240085686A Active KR102833492B1 (en) 2024-06-28 2024-06-28 Method, device, and recording medium for integrating and managing barcode scanners

Country Status (1)

Country Link
KR (1) KR102833492B1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023959A1 (en) * 1999-04-22 2002-02-28 Miller Michael R. Multipurpose bar code scanner
KR20120016588A (en) * 2010-08-16 2012-02-24 주식회사 이랜드시스템스 Barcode scanner control method and device
KR20160038862A (en) * 2014-09-30 2016-04-07 주식회사 로터스에코 Waybill for protection of consignee information, system for managing product delivery and method for supporting product delivery using the same
KR101758053B1 (en) * 2016-12-22 2017-07-14 (주)비엠아이티 Management system using POS system
KR20180135354A (en) * 2017-06-12 2018-12-20 오현물류주식회사 WMS linkage type distribution management system and distribution management method
KR20220105580A (en) * 2021-01-20 2022-07-27 쿠팡 주식회사 Systems and methods for automatic and intelligent parcel retrieval
KR20220145099A (en) * 2021-04-21 2022-10-28 주식회사 바이엠텍 System for real-time logistics delivery and method thereof
US20230237296A1 (en) * 2022-01-25 2023-07-27 Quantumscape Battery, Inc. Barcode scanner integration with a web application

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023959A1 (en) * 1999-04-22 2002-02-28 Miller Michael R. Multipurpose bar code scanner
KR20120016588A (en) * 2010-08-16 2012-02-24 주식회사 이랜드시스템스 Barcode scanner control method and device
KR20160038862A (en) * 2014-09-30 2016-04-07 주식회사 로터스에코 Waybill for protection of consignee information, system for managing product delivery and method for supporting product delivery using the same
KR101758053B1 (en) * 2016-12-22 2017-07-14 (주)비엠아이티 Management system using POS system
KR20180135354A (en) * 2017-06-12 2018-12-20 오현물류주식회사 WMS linkage type distribution management system and distribution management method
KR20220105580A (en) * 2021-01-20 2022-07-27 쿠팡 주식회사 Systems and methods for automatic and intelligent parcel retrieval
KR20220145099A (en) * 2021-04-21 2022-10-28 주식회사 바이엠텍 System for real-time logistics delivery and method thereof
US20230237296A1 (en) * 2022-01-25 2023-07-27 Quantumscape Battery, Inc. Barcode scanner integration with a web application

Similar Documents

Publication Publication Date Title
US9929906B2 (en) Data collection system having EIR terminal interface node
US9990606B2 (en) Systems and methods for measuring and tracking radio-frequency identification tags
US7934660B2 (en) Data collection system having reconfigurable data collection terminal
US20150009013A1 (en) Mobile systems and methods for capturing and managing information pertaining to assets and inventory
US10410171B2 (en) System and method for inventory management
US10810412B2 (en) Method, system and apparatus for gesture-based configuration of paired scanner
JP2017045440A (en) System and method for discovering article and determining position
US12347186B2 (en) Apparatuses, methods, and computer program products for automatic proof of delivery using visual indicia
Zhu et al. Mobile RFID technology for improving m-commerce
Kalange et al. Smart retailing using IOT
KR102833492B1 (en) Method, device, and recording medium for integrating and managing barcode scanners
CN202615445U (en) Merchandise data acquisition apparatus
CN113705752B (en) Ink screen shelf labeling system and bookshelf
CN106452929A (en) Device detection method and system, and client
JP2013203551A (en) Kiosk for managing supply network
Chai et al. Advancing retail operations: A customizable iot-based smart inventory system
KR101560444B1 (en) Total distribution history system based on RFID
CN113792841B (en) RFID parameter configuration method, device and computer readable storage medium
US12373656B2 (en) System and method of using keys that have a barcode identifier and an RFID tag
US20250252394A1 (en) Rfid-based product identification and digitalization systems and methods for non-digital products
KR100897047B1 (en) Integrated Information Management System for Mobile RFI Service
CN112417912A (en) Method for searching accessory of scanning device and related device
KR20140069901A (en) Spare Parts Inventory Check Method Using Smart Phone

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PA0107 Divisional application

St.27 status event code: A-0-1-A10-A18-div-PA0107

St.27 status event code: A-0-1-A10-A16-div-PA0107

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601