Data processing device and data processing method
The data processing device and method address the complexity of autonomous service robots by identifying channel filter information and applying it to filters for encapsulation and format conversion, enabling efficient data communication and comprehensive authentication across modules with different technologies.
Patent Information
- Application Number
- JP2024067625
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-04
- Filing Date
- 2024-04-18
- Publication Date
- 2025-04-16
AI Technical Summary
The complexity of autonomous service robots' system design and the need for efficient data transmission and management across modules with different development languages, protocols, and data formats pose challenges in maintaining data communication and applying comprehensive authentication policies.
A data processing device and method that identifies channel filter information in a router database to facilitate data exchange across service modules, applies target data and channel filter information to filters for encapsulation and format conversion, and enables comprehensive authentication and security policy application through script creation in the first filter.
This solution enables efficient data communication and maintenance across service modules with different technologies, allows for comprehensive authentication and security policy application, and simplifies the integration of service modules by converting data formats without requiring additional protocol implementations.
Smart Images

Figure 2025063814000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a data processing device and a data processing method, and more particularly to a technique for processing data received from a control server. [Background technology]
[0002] Since the autonomous driving service robot is a composite of various technologies, it includes a software structure based on multiple modules. Each module is exposed to the outside in the form of a service endpoint API, and all actual business logic is abstracted. Technical matters such as logic, architecture, programming language, database, and quality maintenance system are hidden by the API. Each module has its own independence, and there is flexibility in the process of applying new technologies to each module. Such a system has the advantage that even if a failure occurs in a specific module, it does not affect other modules.
[0003] Meanwhile, the process of designing the above-mentioned system is complicated, and it may be difficult to configure communication considering all service modules due to the distributed structure. That is, the above-mentioned system requires endpoint API management and compatibility between tens or hundreds of modules must be confirmed. In addition, it may be difficult to develop an integrated structure such as a unified policy application, security system introduction, and integrated testing, as well as maintenance and data management.
[0004] In order to solve these problems, it is necessary to develop a technology that can unify the different development languages, protocols, and data formats for each service module of a robot system and enable efficient data transmission, reception, and management. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2022-158232 A Summary of the Invention [Problem to be solved by the invention]
[0006] An embodiment of the present invention provides a data processing device and method that can identify channel filter information related to target data in a router database, thereby performing data exchange based on one channel filter information even if each service module has different development languages, protocols, and data formats, thereby increasing the maintenance and maintainability of data communication for each service module.
[0007] In addition, the embodiments of the present invention solve the problem of difficulty in applying a uniform authentication policy due to a distributed structure by applying target data and channel filter information to a first filter that encapsulates the target data to obtain encapsulated target data, and provide a data processing device and data processing method that can apply authentication and security policies uniformly to all service modules simply by creating a script in the first filter.
[0008] In addition, the embodiment of the present invention provides a data processing device and a data processing method that enable linking by simply registering a channel via a UI without further implementing different protocols and data formats used for linking internal / external service modules by applying encapsulated target data to a second filter that converts the format of the encapsulated target data, and that enables linking of service modules by simply creating a simple script according to the receiving format of each target service module.
[0009] 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 following description. [Means for solving the problem]
[0010] A data processing device according to an embodiment of the present invention includes a memory storing computer-executable instructions, and at least one processor that accesses the memory and executes the instructions, and the at least one processor receives target data from the control server via the communication unit, identifies channel filter information related to the target data in a router database (DB), and based on the channel filter information identified in the router database, applies the target data and the channel filter information to a first filter that encapsulates the target data to obtain encapsulated target data, and applies the encapsulated target data to a second filter that converts a format of the encapsulated target data, thereby transmitting the encapsulated target data to a target service module of the target data.
[0011] In one embodiment, the at least one processor may convert the target data into unregistered data based on the channel filter information not being identified in the router database, and transmit the unregistered data to the control server via the communication unit.
[0012] In one embodiment, the at least one processor may decode the target data with a predetermined key based on the target data and the channel filter information being applied to the first filter, and parse the decoded target data into a target format to obtain parsed data.
[0013] In one embodiment, the at least one processor may, based on the parsing of the decoded target data according to the target format and the parsing data being obtained, verify whether the parsing data includes a predetermined authentication token, and generate payload data by extracting a first packet related to an instruction, a second packet related to a data status, and a third packet related to a message from the target data.
[0014] In one embodiment, the at least one processor may encode the payload data based on the predetermined key, and apply a header related to information of a robot including the data processing device and a tail related to a serial of the robot to the encoded payload data to obtain the encapsulated target data.
[0015] In one embodiment, the at least one processor may convert the target data into abnormal data based on failure of parsing the decoded target data based on the target format, and transmit the abnormal data and the channel filter information to the control server via the communication unit.
[0016] In one embodiment, the at least one processor may convert the decoded target data into abnormal data based on the authentication token not being included in the decoded target data, and transmit the abnormal data and the channel filter information to the control server via the communication unit.
[0017] In one embodiment, the at least one processor may transmit the encapsulated target data by obtaining a receiving format of the target service module extracted from the channel filter information and converting the format of the encapsulated target data into the receiving format.
[0018] In one embodiment, the system further includes a user interface that receives input of source code for the first filter and the second filter from a user, and the at least one processor may apply the source code input via the user interface to at least one of the first filter, the second filter, or any combination thereof.
[0019] In one embodiment, the at least one processor may identify at least one of a command, a reception type, a transmission type, the target service module, or any combination thereof related to the target data from the user interface, and generate the channel filter information by binding at least one of the command, the reception type, the transmission type, the target service module, or any combination thereof.
[0020] A data processing method according to an embodiment of the present invention may include an operation of receiving target data from a control server via a communication unit, an operation of identifying channel filter information related to the target data in a router database (DB), an operation of applying the target data and the channel filter information to a first filter that encapsulates the target data based on the channel filter information identified in the router database, thereby obtaining encapsulated target data, and an operation of transmitting the encapsulated target data to a target service module of the target data by applying the encapsulated target data to a second filter that converts a format of the encapsulated target data. In one embodiment, the operation of identifying channel filter information related to the target data may include an operation of converting the target data into unregistered data based on the channel filter information not being identified in the router database, and an operation of transmitting the unregistered data to the control server via the communication unit.
[0021] In one embodiment, the operation of obtaining the encapsulated target data may include an operation of decoding the target data with a predetermined key based on the target data and the channel filter information being applied to the first filter, and an operation of parsing the decoded target data into a target format to obtain parsed data.
[0022] In one embodiment, the data processing method may further include an operation of verifying whether the parsed data includes a predetermined authentication token based on the decoded target data being parsed according to the target format and the parsed data being obtained, and an operation of generating payload data by extracting a first packet related to a command, a second packet related to a data status, and a third packet related to a message from the target data.
[0023] In one embodiment, the data processing method may further include an operation of encoding the payload data based on the predetermined key, and applying a header related to information of a robot including a data processing device and a tail related to a serial number of the robot to the encoded payload data to obtain the encapsulated target data.
[0024] In one embodiment, the operation of acquiring the parsing data may include an operation of converting the target data into abnormal data based on failure of parsing the decoded target data based on the target format, and an operation of transmitting the abnormal data and the channel filter information to the control server via the communication unit.
[0025] In one embodiment, the operation of verifying whether the parsing data includes the authentication token may include an operation of converting the target data into abnormal data based on the authentication token not being included in the decoded target data, and an operation of transmitting the abnormal data and the channel filter information to the control server via the communication unit.
[0026] In one embodiment, the operation of transmitting the encapsulated target data may include an operation of obtaining a receiving format of the target service module extracted from the channel filter information, and an operation of transmitting the encapsulated target data by converting the format of the encapsulated target data to the receiving format.
[0027] In one embodiment, the data processing method may further include applying source code input via a user interface to at least one of the first filter, the second filter, or any combination thereof.
[0028] In one embodiment, the data processing method may further include an operation of identifying at least one of a command, a reception type, a transmission type, the target service module, or any combination thereof related to the target data from the user interface, and an operation of generating the channel filter information by binding at least one of the command, the reception type, the transmission type, the target service module, or any combination thereof. Effect of the Invention
[0029] The effects of the data processing device and data processing method according to the present invention will now be described. According to at least one of the embodiments of the present invention, by identifying channel filter information for target data in a router database, even if different development languages, protocols, and data formats are used for each service module, data exchange can be performed based on one channel filter information, thereby achieving the effect of increasing the maintenance and maintainability of data communication for each service module.
[0030] In addition, according to at least one of the embodiments of the present invention, by applying the target data and channel filter information to a first filter that encapsulates the target data to obtain encapsulated target data, it is possible to solve the problem of difficulty in applying a uniform authentication policy due to a distributed structure, and to obtain the effect of being able to apply authentication and security policies uniformly to all service modules simply by creating a script in the first filter.
[0031] In addition, according to at least one of the embodiments of the present invention, by applying the encapsulated target data to a second filter that converts the format of the encapsulated target data, it is possible to achieve an effect that linking is possible only by registering a channel via a UI without further implementing different protocols and data formats used for linking internal / external service modules, and that service modules can be linked by simply creating a script according to the receiving format of each target service module. In addition, various other effects may be provided that can be grasped directly or indirectly through this document. [Brief description of the drawings]
[0032] [Figure 1] 1 illustrates a data processing apparatus according to an embodiment of the present invention; [Diagram 2] 2 is a flowchart illustrating a data processing method according to an embodiment of the present invention. [Diagram 3] 1 is a diagram illustrating a method in which a data processing device communicates with a control server according to an embodiment of the present invention. [Figure 4] 4 is a flowchart illustrating a method for registering channel filter information in a data processing device according to an embodiment of the present invention. [Diagram 5] 4 is a flowchart illustrating a method for transmitting target data to a target service module in a data processing device according to an embodiment of the present invention. [Figure 6]4 is a diagram illustrating a source code for implementing a first filter in a data processing apparatus according to an embodiment of the present invention. FIG. [Figure 7] 11 is a diagram illustrating a source code for implementing a second filter in a data processing apparatus according to an embodiment of the present invention. FIG. [Figure 8] 11 is a diagram illustrating a method for generating channel filter information based on information extracted from a user interface in a data processing device according to an embodiment of the present invention. [Figure 9] In the drawings, the same or similar reference numerals may be used to refer to the same or similar components, and the same or similar components may be used in conjunction with the description of the drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0033] Some embodiments of the present invention will be described in detail below with reference to exemplary drawings. When attaching reference numerals to components in each drawing, it should be noted that the same components are assigned the same numerals as much as possible even if they are displayed in different drawings. In addition, in describing the embodiments of the present invention, if a detailed description of related known configurations or functions is deemed to hinder understanding of the embodiments of the present invention, the detailed description will be omitted. In particular, various embodiments of the present document will be described with reference to the drawings. However, this is not intended to limit the technology described in the present document to a specific embodiment, but should be understood as including various modifications, equivalents, and / or alternatives of the embodiments of the present document. In connection with the description of the drawings, similar reference numerals may be used for similar components.
[0034] In describing components of the embodiments of the present invention, terms such as first, second, A, B, (a), and (b) may be used. Such terms are merely used to distinguish the components from other components, and do not limit the nature, order, or sequence of the components. Furthermore, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs. Terms as defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning they have in the context of the relevant art, and should not be interpreted in an idealized or overly formal sense unless expressly defined in this application. For example, expressions such as "first," "second," "primary," or "secondary" used in this document may modify various components regardless of order and / or importance, and are used only to distinguish a component from other components, and do not limit the components. For example, a first user device and a second user device may indicate different user devices regardless of order or importance. For example, a first component may be named a second component, and similarly, the second component may be named instead of the first component, without departing from the scope of the invention as described herein.
[0035] In this document, the terms "have," "can have," "include," or "can include" indicate the presence of a given feature (e.g., a value, a function, an operation, or a component such as a part) and do not exclude the presence of additional features.
[0036] When a component (e.g., a first component) is referred to as being "operatively or communicatively coupled with / to" or "connected to" another component (e.g., a second component), it should be understood that the component may be directly coupled to the other component or may be coupled through another component (e.g., a third component). On the other hand, when a component (e.g., a first component) is referred to as being "directly coupled with" or "directly connected to" another component (e.g., a second component), it may be understood that there is no other component (e.g., a third component) between the component and the other component.
[0037] As used in this document, the phrase "configured to" may be substituted, depending on the context, for example, with "suitable for", "having the capacity to", "designed to", "adapted to", "made to", or "capable of".
[0038] The term "configured to" does not necessarily mean that the hardware is "specifically designed to". Instead, in some circumstances, the phrase "a device configured to" may mean that the device is "capable of" working with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" may mean a dedicated processor (e.g., an embedded processor) for performing the operations, or a generic-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device. The terms used in this document are merely used to describe a particular embodiment and may not be intended to limit the scope of other embodiments. The singular term may include the plural term unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by a person of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted to have the same or similar meaning as the meaning they have in the context of the related art, and unless otherwise clearly defined in this document, they are not interpreted to have an ideal or overly formal meaning. In some cases, even if a term is defined in this document, it cannot be interpreted to exclude an embodiment of this document.
[0039] In this document, expressions such as "A or B," "at least one of A or / and B," or "one or more of A or / and B" can include all possible combinations of the items listed together. For example, "A or B," "at least one of A and B," or "at least one of A or B" can refer to all cases including (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. In addition, in describing components of the embodiments of the present invention, each of phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B, or C," and "at least one of A, B, C, or any combination thereof" can include any one of the items listed together with the corresponding phrase, or all possible combinations thereof. In particular, a phrase such as "at least one of A, B, C, or any combination thereof" can include A or B or C, or combinations thereof, such as AB or ABC.
[0040] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS. FIG. 1 is a diagram showing a data processing apparatus according to an embodiment of the present invention.
[0041] The data processing device 100 according to an embodiment may include a processor 110, a memory 120 including an instruction word 122, and a communication unit .
[0042] The data processing device 100 may represent a device that processes target data received from the control server 140 in order to transmit the target data to a service module included in the robot system. For example, the data processing device 100 may receive target data from the control server 140 via the communication unit 130. Here, the target data may represent data that needs to be transmitted from the control server 140 to a service module included in the robot system.
[0043] The data processing device 100 may identify channel filter information related to target data in a router database. Here, the router database may include at least one piece of channel filter information. The channel filter information may include information regarding a sequence in which target data is routed from when it is received by the data processing device 100 until it is transmitted to a service module. For example, the channel filter information may include a command related to the target data, a reception type received from the control server 140, a transmission type transmitted to a target service module, and a target service module.
[0044] The data processing device 100 may obtain encapsulated target data by applying the target data and the channel filter information to a first filter that encapsulates the target data based on the channel filter information related to the target data being identified in the router database. For example, the first filter may be a data proxy filter and may have a function that performs encapsulation related to the processes of decoding, parsing, verifying, tagging, encrypting, and encoding the target data. This will be described in detail later with reference to FIG. 6.
[0045] The data processing device 100 can transmit the encapsulated object data to a target service module of the object data by applying the encapsulated object data to a second filter that converts the format of the encapsulated object data. For example, the second filter can represent a function that converts the format of the encapsulated object data to match the receiving format of the target service module. This will be described in more detail with reference to FIG. 7 below.
[0046] By performing the above-mentioned operations, the data processing device 100 can transmit target data to a target service module regardless of different development languages, protocols, and data communication formats for each of the multiple service modules included in the robot system.
[0047] The processor 110 may execute software and control at least one other component (e.g., a hardware or software component) coupled to the processor 110. The processor 110 may perform a variety of other data processing or computational functions. For example, the processor 110 may store object data, channel filter information, and encapsulated object data in the memory 120.
[0048] For reference, the processor 110 can perform all operations performed by the data processing device 100. Therefore, for convenience of explanation in this specification, the operations performed by the data processing device 100 are mainly described as operations performed by the processor 110. Also, for convenience of explanation in this specification, the processor 110 is mainly described as being one processor, but is not limited thereto. For example, the data processing device 100 can include at least one or more processors. Each of the at least one or more processors can perform all operations related to the operations.
[0049] The memory 120 may temporarily and / or permanently store various data and / or information required to perform processing or transmission of the subject data. For example, the memory 120 may store the subject data, channel filter information, and encapsulated subject data.
[0050] The communication unit 130 may support communication between the data processing device 100 and the control server 140. For example, the communication unit 130 may include one or more components for executing communication between the data processing device 100 and the control server 140. For example, the communication unit 130 may include a short range wireless communication unit, a microphone, etc. In this case, the short range communication technology may include, but is not limited to, wireless LAN (Wi-Fi (registered trademark)), Bluetooth (registered trademark), ZigBee (registered trademark), Wi-Fi Direct (WFD), ultra-wideband (UWB), infrared communication (IrDA, infrared Data Association), Bluetooth Low Energy (BLE), Near Field Communication (NFC), etc.
[0051] FIG. 2 is a flowchart illustrating a data processing method according to an embodiment of the present invention. A data processing device according to an embodiment (e.g., data processing device 100 of FIG. 1) may receive target data from a control server via a communication unit in operation 210, and identify channel filter information related to the target data in a router database. For example, the data processing device may receive the target data via a communication unit according to a Robot Operating System (ROS) communication protocol, an Apache Kafka (KAFKA) communication protocol, and a Message Queue (MQ) communication protocol. The data processing device may identify the channel filter information related to the target data by checking whether the channel filter information related to the target data is registered and / or stored in the router database. When the data processing device identifies the channel filter information related to the target data, it may extract and / or acquire the channel filter information related to the target data to be applied to a first filter.
[0052] In operation 220, the data processing device may apply the target data and the channel filter information to a first filter that encapsulates the target data based on the channel filter information identified in the router database, and obtain the encapsulated target data. For example, the data processing device may apply the target data and the channel filter information to a first filter that is a function type created in a script (e.g., JavaScript, Python, etc.) that receives the target data as a parameter. Through this, the data processing device may obtain the encapsulated target data from the first filter. The first filter may be generated by a source code inputted through a user interface. A user may create an operation to be implemented in the first filter in source code, and input the created source code to the user interface.
[0053] The data processing device may transmit the encapsulated target data to a target service module of the target data by applying the encapsulated target data to a second filter that converts a format of the encapsulated target data in operation 230. For example, the data processing device may apply the encapsulated target data to a second filter that is a function type created in a script (e.g., JavaScript, Python, etc.) that receives the encapsulated target data as a parameter. Through this, the data processing device may obtain data that has been converted into a format related to a receiving module of the target service module from the second filter. The second filter may be generated by a source code input via a user interface. A user may create an operation that is desired to be implemented in the second filter in source code and input the generated source code to the user interface.
[0054] FIG. 3 is a diagram illustrating a method for a data processing device to communicate with a control server according to an embodiment of the present invention. The data processing device 310 according to an embodiment may be included in the robot system 300 and may communicate with the control server 340. For example, the robot system 300 may include a first service module 320, a second service module 325, a third service module 330, a fourth service module 335, and the data processing device 310. The service modules included in the robot system 300 may represent modules for performing specific functions and / or services of the robot system 300. In addition, the robot system 300 may represent a delivery robot system, a patrol robot system, a serving robot system, etc.
[0055] The control server 340 may perform an operation of transmitting target data to the robot system 300 and receiving data related to the robot system 300 from the robot system 300. For example, the control server 340 may perform the above-mentioned operation of transmitting and / or receiving data based on the Kafka communication protocol.
[0056] The data processing device 310 may include a first filter, a second filter, a user interface, a communication unit, and a router database. The data processing device 310 may receive target data from the control server 340 via the communication unit. The data processing device 310 may apply source code input via the user interface to at least one of the first filter, the second filter, or any combination thereof. The data processing device 310 may apply the target data to each of the first filter and the second filter, and transmit the encapsulated target data to a target service module. Here, the target service module may indicate at least one of the first service module 320, the second service module 325, the third service module 330, the fourth service module 335, or any combination thereof. Thus, the target data may be transmitted from the control server 340 to one service module, or may be transmitted to a service module that may be divided into a service logic or a network protocol.
[0057] In contrast, when the data processing device 310 is absent in the robot system 300, the robot system 300 must implement a data filter in each service module in order to receive target data from the control server 340 and transmit the received target data to a target service module. For example, the data filter is a filter set to correspond to the reception format of each service module and can be changed according to the source and destination. Such a system may have problems in that it is difficult to maintain and management problems may occur, and it is difficult to build a centralized authentication system for security. Furthermore, such a system may have a highly complex structure because data may be processed differently depending on the structure of the data even if the operation of transmitting data to the same service module is performed. Therefore, the robot system 300 may solve the above-mentioned problems by including the data processing device 310 and processing the target data received from the control server 340 through the data processing device 310.
[0058] FIG. 4 is a flowchart illustrating a method for registering channel filter information in a data processing device according to an embodiment of the present invention. A data processing device (e.g., data processing device 100 of FIG. 1) according to an embodiment may acquire information related to channel filter information from a user interface in operation 410. For example, the data processing device may acquire source codes of a first filter and a second filter via the user interface. The data processing device may identify at least one of a command related to the target data, a reception type, a transmission type, a target service module, or any combination thereof via the user interface. That is, the data processing device may identify a command related to the target data, a reception type, a transmission type, a target service module, a source code of the first filter, and a source code of the second filter as information related to channel filter information.
[0059] The data processing device may identify whether a connection between the service modules has been established in operation 420. For example, the data processing device may identify whether each of a first service module (e.g., first service module 320 of FIG. 3), a second service module (e.g., second service module 325 of FIG. 3), a third service module (e.g., third service module 330 of FIG. 3), and a fourth service module (e.g., fourth service module 335 of FIG. 3) has been connected to the data processing device.
[0060] The data processing device may fail to generate the channel filter information in operation 460 based on the lack of connection between the service modules in operation 420. That is, the data processing device cannot generate the channel filter information when the service modules are not connected.
[0061] The data processing device may check whether the first filter can be made functional based on the connection between the service modules in operation 430. For example, the data processing device may make the first filter, which is created in a script that receives target data as a parameter, functional.
[0062] The data processing device may determine whether the second filter is functionalizable based on whether the first filter is functionalizable in operation 440. For example, the data processing device may functionalize the second filter created in a script that receives the encapsulated target data as a parameter.
[0063] The data processing device may fail to generate the channel filter information if the first filter or the second filter, respectively, cannot be made into a function in operation 430 and operation 440. That is, the data processing device cannot generate the channel filter information if the first filter or the second filter, respectively, cannot be made into a function.
[0064] The data processing device may generate channel filter information and store the channel filter information in a router database in operation 450. From the time when the data processing device stores the generated channel filter information in the router database, the data processing device may identify channel filter information related to the received target data from the router database every time the data processing device receives target data from the control server. Therefore, the channel filter information may be information that can be input from a user interface and can be used in the data processing device through a user's input.
[0065] FIG. 5 is a flow chart illustrating a method for transmitting target data to a target service module in a data processing device according to an embodiment of the present invention. A data processing device according to an embodiment (e.g., data processing device 100 of FIG. 1) may receive target data from a control server via a communication unit in operation 511. Thereafter, the data processing device may identify channel filter information related to the received target data in a router database in operation 513. That is, the data processing device may query the router database to check whether channel filter information for the received target data exists.
[0066] The data processing device may check whether channel filter information has been identified in the router database in operation 515. Based on the fact that the channel filter information has been identified, the data processing device may apply the target data to a first filter that encapsulates the target data in operation 521. That is, the data processing device may perform logic included in the first filter created in the script by applying the target data to the first filter. Alternatively, based on the fact that the channel filter information has not been identified, the data processing device may convert the target data into unregistered data in operation 517, and transmit the unregistered data to the control server in operation 519.
[0067] . Based on the failure to obtain the encapsulated target data from the first filter, the data processing device can convert the target data into abnormal data and transmit the abnormal data and the channel filter information to the control server in operations 525 to 527. That is, the data processing device can classify the target data into normal or abnormal depending on whether the target data matches the passing condition created in the script of the first filter. In addition, when the target data is classified as abnormal data, the data processing device can discard the abnormal data by converting the target data into abnormal data and transmitting the abnormal data to the control server.
[0068] The data processing device may determine whether encapsulated object data has been obtained based on the application of the object data to the first filter in operation 523. A detailed description of this will be provided below. Based on the acquisition of the encapsulated object data from the first filter, the data processing device may apply the encapsulated object data to a second filter that converts a format of the encapsulated object data in operation 529. The data processing device may transmit the encapsulated object data to a target service module for the object data in operation 531.
[0069] FIG. 6 is a diagram illustrating a source code for implementing a first filter in a data processing apparatus according to an embodiment of the present invention. 6, the source code 600 includes a part of code for implementing a first filter. The source code 600 may include a first source code 610, a second source code 620, a third source code 630, a fourth source code 640, a fifth source code 650, a sixth source code 660, and a seventh source code 670.
[0070] The first source code 610 may include an operation of decoding the target data with a predetermined key (e.g., shown as key in FIG. 6). For example, the data processing device (e.g., data processing device 100 in FIG. 1) may execute the first source code 610 to decode the target data with a predetermined key based on the target data and the channel filter information being applied to the first filter. Here, the predetermined key may be used as "patrol_robot" as shown in FIG. 6, but is not limited thereto. The data processing device may obtain the decoded target data (e.g., shown as decoded_target data in FIG. 6) through the operation of decoding the target data.
[0071] The second source code 620 may include an operation of parsing the target data. For example, the data processing device may execute the second source code 620 to parse the decoded target data into a target format and obtain parsed data (e.g., shown as parsed in FIG. 6). Here, the target format may be, but is not limited to, a JSON (JavaScript Object Notation) format. The data processing device may convert the target data into abnormal data based on failure in parsing the decoded target data based on the target format, and transmit the abnormal data and channel filter information to the control server via the communication unit.
[0072] The third source code 630 may include an operation of verifying the parsing data by an authentication token. For example, the data processing device may verify whether the parsing data includes a predetermined authentication token based on the fact that the decoded target data is parsed according to the target format and the parsing data is obtained by executing the third source code 630. Here, the authentication token may be 'iefk2ad1' as shown in FIG. 6, but is not limited thereto. The data processing device may convert the target data into abnormal data based on the fact that the decoded target data does not include the authentication token, and transmit the abnormal data and channel filter information to the control server via the communication unit.
[0073] The fourth source code 640 may include an operation of generating payload data (e.g., shown as payload in FIG. 6) by extracting a specific packet from the target data. For example, the data processing device may execute the fourth source code 640 to extract a first packet related to an instruction, a second packet related to a data status, and a third packet related to a message from the target data, and generate payload data based on the first packet to the third packet. By executing the fourth source code 640, the data processing device may extract only necessary data from the target data, thereby reducing overhead in the process of receiving and / or transmitting data.
[0074] The fifth source code 650 may indicate an operation of specifying a name that may refer to an operation included in the first filter. For example, the operation included in the first filter may indicate a data sequence through which target data is received from a control server and transmitted to a target service module. Therefore, the data processing device may specify the execution of the above-mentioned operation by a name, which may be specified as a channel name.
[0075] The sixth source code 660 may include an operation of encapsulating payload data. For example, the data processing device may execute the sixth source code 660 to encode the payload data based on a predetermined key (e.g., the predetermined key included in the first source code 610). The data processing device may then apply a header related to information of a robot including the data processing device and a tail related to a serial number of the robot to the encoded payload data to obtain encapsulated target data.
[0076] The seventh source code 670 may include an operation of returning the encapsulated object data to the data processing device. The data processing device may obtain the encapsulated object data from the first filter by executing the seventh source code 670.
[0077] FIG. 7 is a diagram illustrating a source code for implementing a second filter in a data processing apparatus according to an embodiment of the present invention. As shown in FIG. 7, the source code 700 includes a part of a code for implementing a second filter. For example, a data processing device (e.g., data processing device 100 of FIG. 1) can convert a format of encapsulated target data (e.g., shown as encapsulated in FIG. 7) into a receiving format by executing the source code 700. The data processing device can obtain the receiving format of the target service module from the channel filter information. The data processing device can obtain the encapsulated target data converted into the receiving format from the second filter. The source code 700 can convert the encapsulated target data into a String type in a JSON format, convert the encapsulated target data into a Byte type, and convert the encapsulated target data into an HTML type in an XML format. However, the method in which the data processing device converts the format of the encapsulated target data is not limited thereto.
[0078] FIG. 8 is a diagram illustrating a method for generating channel filter information based on information extracted from a user interface in a data processing device according to an embodiment of the present invention. A data processing device (e.g., data processing device 100 of FIG. 1) according to an embodiment may further include a user interface. For example, the data processing device may further include a user interface that receives source codes of a first filter and a second filter from a user. The data processing device may apply the source codes input via the user interface to at least one of the first filter, the second filter, or any combination thereof.
[0079] The data processing device may generate the channel filter information 800 based on information identified from the user interface. For example, the data processing device may identify at least one of a command, a reception type, a transmission type, a target service module, or any combination thereof related to the target data from the user interface.
[0080] The data processing device can generate the channel filter information 800 by binding at least one of a command, a reception type, a transmission type, a target service module, or any combination thereof.
[0081] Referring to the channel filter information 800, the command may indicate a command included in the target data. The reception type may indicate a protocol type used to receive the target data. The reception option may indicate an option setting provided according to the reception protocol type. The transmission type may indicate a protocol type used to transmit data. The transmission option may indicate an option setting provided according to the transmission protocol type.
[0082] As described above, the command, reception type, reception option, transmission type, transmission option, and target service module may be input by the user via a user interface, but are not limited thereto, and may be extracted from the target data.
[0083] FIG. 9 illustrates a computing system relating to a data processing apparatus or method according to an embodiment of the present invention. As shown in FIG. 9, a computing system 1000 relating to a data processing device or data processing method may include at least one processor 1100, memory 1300, a user interface input device 1400, a user interface output device 1500, storage 1600, and a network interface 1700 coupled via a bus 1200.
[0084] The processor 1100 may be a central processing unit (CPU) or a semiconductor device that executes processing on instructions stored in the memory 1300 and / or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile recording media. For example, the memory 1300 may include a read only memory (ROM) and a random access memory (RAM).
[0085] Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by the processor 1100, or in a combination of the two. The software modules may also reside in a recording medium (i.e., memory 1300 and / or storage 1600) such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, etc.
[0086] An exemplary storage medium is coupled to the processor 1100 such that the processor 1100 can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.
[0087] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations may be made by a person having ordinary skill in the art to which the present invention pertains without departing from the essential characteristics of the present invention.
[0088] The above-described embodiments may be implemented with hardware components, software components, and / or a combination of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications executed on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, the processing device may be described as being one, but those skilled in the art will appreciate that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
[0089] The software may include a computer program, code, instructions, or a combination of one or more of these, and may configure or instruct a processing device to operate as desired, either individually or collectively. The software and / or data may be permanently or temporarily embodied in some type of machine, component, physical device, virtual device, computer storage medium or device, or transmitted signal wave, to be interpreted by the processing device or to provide instructions or data to the processing device. The software may be distributed over network-coupled computer systems, stored and executed in a distributed manner. The software and data may be stored on a computer-readable storage medium.
[0090] The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination, and the program instructions recorded on the medium may be those specially designed and constructed for the embodiment, or those that are well known and available to those skilled in the art of computer software. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes, such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.
[0091] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
[0092] As described above, even if the embodiments are described using limited drawings, a person having ordinary skill in the art may apply various technical modifications and variations based on the drawings. For example, the described techniques may be performed in a different order than described, and / or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than described, or may be replaced or substituted by other components or equivalents, and still achieve appropriate results.
[0093] As such, other implementations, embodiments, and equivalents of the claims are intended to be within the scope of the following claims. Therefore, the embodiments disclosed in the present invention are intended to explain the technical idea of the present invention, not to limit it, and the scope of the technical idea of the present invention is not limited by such embodiments. The scope of protection of the present invention should be interpreted according to the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention. [Explanation of symbols]
[0094] 100, 310 Data processing device 110 Processor 120, 1300 memory 122 Command word 130 Communications Department 140 Control Server 300 Robot System 320 First Service Module 325 Second Service Module 330 3rd Service Module 335 4th Service Module 340 Control Server 700 Source Code 800 Channel Filter Information 1000 Computing Systems 1100 Processor 1200 Bus 1310 ROM 1320 RAM 1400 User Interface Input Device 1500 User interface output device 1600 Storage 1700 Network Interface
Claims
1. 1. A data processing device, comprising: A memory that stores computer-executable instructions; at least one processor that accesses the memory and executes the instructions; and A communication unit that supports communication between the data processing device and a control server, The at least one processor receiving target data from the control server via the communication unit; Identifying channel filter information for the target data in a router database (DB); applying the target data and the channel filter information to a first filter that encapsulates the target data based on the channel filter information being identified in the router database, to obtain encapsulated target data; and transmitting the encapsulated object data to a target service module for the object data by applying the encapsulated object data to a second filter that converts a format of the encapsulated object data.
2. The at least one processor converting the target data into unregistered data based on the channel filter information not being identified in the router database; 2. The data processing device according to claim 1, wherein the unregistered data is transmitted to the control server via the communication unit.
3. The at least one processor decoding the target data with a predetermined key based on the target data and the channel filter information being applied to the first filter; 2. The data processing apparatus according to claim 1, further comprising: parsing the decoded target data into a target format to obtain parsed data.
4. The at least one processor parsing the decoded target data according to the target format to obtain the parsed data; verifying whether the parsed data includes a predetermined authentication token; 4. The data processing apparatus according to claim 3, wherein payload data is generated by extracting a first packet relating to a command, a second packet relating to a data status, and a third packet relating to a message from the target data.
5. The at least one processor encoding the payload data based on the predetermined key; The data processing device of claim 4, further comprising: applying a header relating to information of a robot including the data processing device and a tail relating to a serial number of the robot to the encoded payload data to obtain the encapsulated target data.
6. The at least one processor converting the object data into abnormal data based on a failure to parse the decoded object data based on the object format; The data processing device according to claim 3 , wherein the abnormal data and the channel filter information are transmitted to the control server via the communication unit.
7. The at least one processor converting the target data into abnormal data based on the fact that the authentication token is not included in the decoded target data; The data processing device according to claim 4 , wherein the abnormal data and the channel filter information are transmitted to the control server via the communication unit.
8. The at least one processor Obtaining a receiving format of the target service module extracted from the channel filter information; 2. The data processing apparatus according to claim 1, wherein the encapsulated target data is transmitted by converting a format of the encapsulated target data into the receiving format.
9. a user interface for receiving source codes of the first filter and the second filter from a user, The at least one processor 2. The data processing apparatus of claim 1, wherein the source code inputted through the user interface is applied to at least one of the first filter, the second filter, or any combination thereof.
10. The at least one processor Identifying at least one of a command, a reception type, a transmission type, the target service module, or any combination thereof, related to the target data from the user interface; 10. The data processing apparatus of claim 9, wherein the channel filter information is generated by binding at least one of the command, the reception type, the transmission type, the target service module, or any combination thereof.
11. An operation of receiving target data from a control server via a communication unit; identifying channel filter information for the target data in a router database; applying the target data and the channel filter information to a first filter that encapsulates the target data based on the channel filter information being identified in the router database, thereby obtaining encapsulated target data; and a data processing method comprising the step of transmitting the encapsulated object data to a target service module for the object data by applying the encapsulated object data to a second filter that converts a format of the encapsulated object data.
12. The operation of identifying channel filter information related to the target data includes: converting the target data to unregistered data based on the channel filter information not being identified in the router database; and 12. The data processing method according to claim 11, further comprising an operation of transmitting the unregistered data to the control server via the communication unit.
13. The operation of obtaining the encapsulated target data includes: decoding the target data with a predetermined key based on the target data and the channel filter information being applied to the first filter; and The data processing method of claim 11, further comprising the step of: parsing the decoded target data into a target format to obtain parsed data.
14. parsing the decoded target data according to the target format to obtain the parsed data, and verifying whether the parsed data includes a predetermined authentication token; and 14. The data processing method of claim 13, further comprising the operation of generating payload data by extracting a first packet related to a command, a second packet related to a data status, and a third packet related to a message from the target data.
15. encoding the payload data based on the predetermined key; and 15. The data processing method of claim 14, further comprising applying a header relating to information of a robot including a data processing device and a tail relating to a serial number of the robot to the encoded payload data to obtain the encapsulated target data.
16. The operation of obtaining the parsing data includes: converting the object data into abnormal data based on a failure to parse the decoded object data based on the object format; and The data processing method according to claim 13, further comprising the step of transmitting the abnormal data and the channel filter information to the control server via the communication unit.
17. The operation of verifying whether the parsing data includes the authentication token comprises: converting the decoded target data into abnormal data based on the fact that the authentication token is not included in the decoded target data; and The data processing method according to claim 14, further comprising the step of transmitting the abnormal data and the channel filter information to the control server via the communication unit.
18. The operation of transmitting the encapsulated target data includes: obtaining a receiving format of the target service module extracted from the channel filter information; and 12. The method of claim 11, further comprising the act of transmitting the encapsulated subject data by converting a format of the encapsulated subject data to the receiving format.
19. 12. The data processing method of claim 11, further comprising applying source code input via a user interface to at least one of the first filter, the second filter, or any combination thereof.
20. Identifying at least one of a command, a reception type, a transmission type, the target service module, or any combination thereof, related to the target data from the user interface; and 20. The data processing method of claim 19, further comprising: generating the channel filter information by binding at least one of the command, the reception type, the transmission type, the target service module, or any combination thereof.
Citation Information
Patent Citations
Application creation support device, control method of the same, and system
JP2022158232A