KR20110049059A - Flexible adapter system for data transfer among various protocols - Google Patents

Flexible adapter system for data transfer among various protocols Download PDF

Info

Publication number
KR20110049059A
KR20110049059A KR1020090105892A KR20090105892A KR20110049059A KR 20110049059 A KR20110049059 A KR 20110049059A KR 1020090105892 A KR1020090105892 A KR 1020090105892A KR 20090105892 A KR20090105892 A KR 20090105892A KR 20110049059 A KR20110049059 A KR 20110049059A
Authority
KR
South Korea
Prior art keywords
packet
data
unit
processing
flexible adapter
Prior art date
Application number
KR1020090105892A
Other languages
Korean (ko)
Other versions
KR101075173B1 (en
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=44360257&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20110049059(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 주식회사 휴먼앤소프트웨어 filed Critical 주식회사 휴먼앤소프트웨어
Priority to KR1020090105892A priority Critical patent/KR101075173B1/en
Publication of KR20110049059A publication Critical patent/KR20110049059A/en
Application granted granted Critical
Publication of KR101075173B1 publication Critical patent/KR101075173B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A flexible adapter system for transferring data among various protocols is provided to support variable communication environments by defining a processing method of a transceiving packet through an XML. CONSTITUTION: A packet definition part(100) defines the data processing method about an input and output data of a packet which is transmitted to various protocols. An XML mapper(200) acquires specific parts of data in the XML form packet data. The XML mapper defines a method for designating data acquisition route in XPATH and a method for processing data with a specific structure. A flexible adapter(300) is processed according to the protocol which transmits various packets by the definition part.

Description

다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.{FLEXIBLE ADAPTER SYSTEM FOR DATA TRANSFER AMONG VARIOUS PROTOCOLS}Flexible adapter system for data transfer between various protocols. {FLEXIBLE ADAPTER SYSTEM FOR DATA TRANSFER AMONG VARIOUS PROTOCOLS}

본 발명은 XML을 통하여 송수신 패킷에 대한 데이터 처리가 수행되도록 구성하여 다양한 통신 환경에 적용 가능한 패킷 전송 플랙서블 어댑터 시스템에 관한 것이다.The present invention relates to a packet transmission flexible adapter system configured to perform data processing for transmission and reception packets through XML and applicable to various communication environments.

최근, 정보통신 분야의 기술이 급격한 발전을 이루면서, 인터넷의 활용이 보편화되고 있고, 이러한 인터넷의 보편화 추세에 맞추어, 수많은 인터넷 웹사이트들이 폭 넓게 개설되고 있으며, 이에 따라, 각 인터넷 웹사이트들을 관리하는 웹 운영 시스템의 중요성 또한 점차 증대되는 추세에 있다.Recently, with the rapid development of technology in the field of information and communication, the use of the Internet is becoming common, and according to the trend of the generalization of the Internet, numerous Internet websites have been widely opened, and accordingly, each Internet website is managed. The importance of web operating systems is also increasing.

이러한 흐름은 인터넷 사용의 대중화 시대를 넘어 IT 인프라의 고도화를 기반으로 한 웹을 통한 다양한 서비스 및 비즈니스 분야가 민간은 물론 기업, 정부 차원에서까지 모든 분야에 걸쳐 다양한 형태로 실현되고 있다.This trend is not only in the age of popularization of the Internet, but also various services and business fields through the web based on the advancement of the IT infrastructure are realized in various forms in all fields from the private, corporate and government level.

과거 웹 1.0 시대에는 소프트웨어의 안정적인 성능이 가장 우선시 되었지만, 참여와 공유를 표방하는 웹 2.0 시대가 도래하면서 사용자의 편의성을 강조하기 때 문에 유저 인터페이스(User interface)의 중요성이 초유의 관심사가 되고 있다.In the past, the stable performance of software was the top priority in the Web 1.0 era, but the importance of the user interface has been the main concern since the arrival of the Web 2.0 era, which promotes participation and sharing, emphasizes user convenience. .

이에 따라, 갈수록 다양해지는 통신환경에 따른 네트워크 데이터, 즉, HTTP, TCP, UDP, FILE 등 다양한 프로토콜을 통해 전송되는 패킷에 대한 통합적인 제어기술이 요구되고 있다.Accordingly, there is a need for an integrated control technology for packets transmitted through various protocols such as network data, that is, HTTP, TCP, UDP, and FILE, which are increasingly diversified.

이러한 요구에 부응하기 위하여 네트워크상의 패킷데이터를 다양한 전송 프로토콜에 대응하여 처리할 수 있는 어댑터 시스템이 개발되어 왔다.In order to meet these demands, an adapter system capable of processing packet data on a network corresponding to various transmission protocols has been developed.

그러나 종래의 어댑터 시스템은 갈수록 다양해지는 주변의 통신환경과 포멧으로 인하여 발생하는 빈번한 컨트롤 수정과 다수의 전용 컨트롤 출연으로 복잡도가 증가할 뿐만 아니라 관리의 어려움으로 유지보수 활동 및 신규 사이트에 적용 시 많은 리소스의 낭비를 가져오는 문제점이 있었다. However, the conventional adapter system has not only increased complexity due to frequent control modifications and appearances of a number of dedicated controls that occur due to an increasingly diverse communication environment and format, but also a lot of resources for maintenance activities and new sites due to management difficulties. There was an issue that brings waste.

상기 문제점을 해결하고자 본 발명은, XML을 통하여 송수신 패킷의 처리방식을 정의하도록 구성하여 여러 통신 환경을 지원하도록 마련함으로써, 버전의 변경이나 컨트롤의 수정 없이 다양한 통신 환경에 적용 가능한 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템을 제공하는 데 있다.In order to solve the above problems, the present invention is configured to define the processing method of the transmission and reception packet through XML to support various communication environments, thereby transmitting data between various protocols applicable to various communication environments without changing the version or controlling the control. To provide a flexible adapter system for.

상기 목적은 본 발명에 따라, 네트워크상의 패킷을 제어하는 어댑터 시스템에 있어서, XML을 이용하여 다양한 프로토콜을 통해 송수신되는 패킷에 대한 데이터 수집 및 가공방법과 서버로 업로드 할 패킷 생성 방법 등을 정의할 수 있는 패킷 정의부, 패킷 정의부에서 정의한 실행 계획에 따라 패킷을 전송받는 데이터 수신부, 서버 측으로 데이터 패킷을 전송하는 송신부, 상기 패킷 정의부에서는 전문 바이너리 형태의 패킷 처리를 정의하는 부분과 XML 형태의 패킷 처리를 정의하는 XML 매퍼로 나뉘어 작성되며 이러한 패킷 처리 방식이 정의된 XML 문서의 내용에 따라 패킷을 송수신할 실행 계획을 세우고, 여러 프로토콜을 사용하여 패킷을 받아들이는 동시에 패킷 송수신 실행 계획을 실제로 수행하는 플랙서블 어댑터(Flexible Adapter)를 포함하여 어댑터 시스템에 대한 별도의 버전 변경이나 수정 없이 다양한 통신 환경에 적용 가능한 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템에 의해 달성된다.According to the present invention, in the adapter system for controlling a packet on a network, it is possible to define a data collection and processing method for a packet transmitted and received through various protocols and a packet generation method to upload to a server using XML. A packet defining unit, a data receiving unit receiving a packet according to an execution plan defined by the packet defining unit, a transmitting unit transmitting a data packet to a server side, and the packet defining unit defines a packet processing in a specialized binary form and a packet in an XML form. It is divided into XML mappers that define the processing, and this packet processing method is used to create an execution plan to send and receive packets according to the contents of the defined XML document, and to use the various protocols to receive the packets while actually executing the packet transmission and execution plan. For adapters, including flexible adapters It is achieved by a flexible adapter system for data transfer between various protocols applicable to various communication environments without requiring a separate version change or modification to the system.

여기서, 상기 패킷 정의부는 변수들을 선언하는 엘리먼트가 구성된 변수 정의부(define)와, 수신된 패킷(Packet)을 분석 처리하는 부분을 기술하는 엘리먼트가 구성된 수신부(receive) 와, 상기 처리된 데이터의 송신을 위해서 기술하는 엘리먼트가 구성된 송신부(send)를 포함할 수 있다.Here, the packet definition unit includes a variable definition unit configured with an element for declaring variables, a receive unit configured with an element describing a part of analyzing a received packet, and a transmission of the processed data. An element described for the purpose may include a configured sender.

바람직하게는, 상기 패킷 정의부는 변수 정의부와, 수신부와, 송신부에 구성된 엘리먼트가 트리구조로 형성될 수 있다.Preferably, the packet definer may include a variable definer, a receiver, and an element configured in the transmitter in a tree structure.

또한, 상기 패킷은 상기 변수 정의부에 구성된 엘리먼트와 대응되는 세그먼트들이 포함된 헤드(Head)와, 하나 이상의 데이터 세트가 포함된 바디(Body)를 포함할 수 있다.In addition, the packet may include a head including segments corresponding to an element configured in the variable definition unit, and a body including one or more data sets.

또한, 상기 플랙서블 어댑터는 외부 XML 또는 다양한 패킷을 전송받아 데이터 처리를 요청하는 패킷 관리부와, 상기 패킷관리부로부터 전송받은 데이터를 상기 패킷 정의부에서 정의된 규칙에 따라 처리하는 패킷 처리부와, 패킷 정의부에서 정의된 규칙을 상기 패킷 관리부 또는 패킷 처리부로 전송하는 패킷 처리 정의부와, 패킷 정의부에서 정의된 변수가 등록되며 등록된 변수 규칙을 상기 패킷 처리부로 전송하는 상기 패킷 변수 정의부를 포함할 수 있다.The flexible adapter may include a packet management unit for receiving data from an external XML or various packets and requesting data processing, a packet processing unit for processing data received from the packet management unit according to a rule defined by the packet definition unit, and a packet definition. A packet processing definition unit for transmitting the rule defined by the unit to the packet management unit or the packet processing unit, and the packet variable definition unit for registering the variable defined in the packet definition unit and transmitting the registered variable rule to the packet processing unit. have.

또한, 상기 플랙서블 어댑터는 상기 패킷 처리부에서 자주 처리되는 명령어를 저장하는 명령어 저장부와, 데이터 처리 과정을 수행하는 중에 처리가 용이한 패킷이 들어오면 수행중인 이전 패킷을 임시로 저장하는 임시 패킷 저장부를 추가로 포함하여, 데이터 처리 수행 성능을 향상시키도록 마련될 수 있다.In addition, the flexible adapter includes a command storage unit for storing instructions frequently processed by the packet processing unit, and a temporary packet storage for temporarily storing a previous packet that is being executed when a packet that is easy to process while a data processing process is received. In addition, it may be arranged to improve performance of performing data processing.

따라서 본 발명은, XML을 통하여 송수신 패킷의 처리방식을 정의하도록 구성하여 여러 통신 환경을 지원하도록 마련함으로써, 버전의 변경이나 컨트롤의 수정 없이 다양한 통신 환경에 적용 가능한 장점이 있다.Therefore, the present invention is configured to define the processing method of the transmission and reception packet through XML to support a variety of communication environments, there is an advantage that can be applied to various communication environments without changing the version or control.

이하, 첨부된 도면을 참조하여, 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템에 대하여 상세히 설명하기로 한다.Hereinafter, a flexible adapter system for data transmission between various protocols according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 전체적인 구성도이다.1 is an overall configuration diagram of a flexible adapter system for data transmission between various protocols according to the present invention.

도 1은 참조하면, 본 발명에 따른 플랙서블 어댑터 시스템은 다양한 프로토콜(10)에서 전송받은 패킷(20)에서 입·출력되는 데이터에 대한 가공방법을 정의한 패킷 정의부(100)와, 상기 패킷 정의부 내부에 전송 받은 XML형태의 패킷 데이터에서 특정한 데이터를 획득하기 위해서 XPATH 형태로 데이터 획득 경로를 지정하는 방법과 특정한 구조를 지닌 데이터 세트로 가공하는 방법을 정의한 XML매퍼(200)와, 상기 패킷 정의부에 정의된 실행 계획에 따라 다양한 패킷(20)을 전송되는 프로토콜(10)에 적합하게 가공하는 플랙서블 어댑터(300)를 포함하여 구성된다.Referring to FIG. 1, the flexible adapter system according to the present invention includes a packet defining unit 100 which defines a processing method for data input and output in a packet 20 received in various protocols 10 and the packet definition. An XML mapper 200 defining a method of specifying a data acquisition path in the XPATH form and processing the data set having a specific structure in order to obtain specific data from the packet data in XML format received inside the subpart, and the packet definition It is configured to include a flexible adapter 300 for processing a variety of packets 20 to suit the protocol 10 to be transmitted according to the execution plan defined in the section.

참고적으로, 본 발명의 이해를 돕기 위하여 상기 Xpath와, 플랙서블 어댑터에 대하여 설명하자면, Xpath란 상기 데이터에 대한 가공방법을 정의한 구조체에서 특정한 구조를 지정하는 문자열로서 일례로 '/gform/components/model/@text '와 같은 형태로 표현된다.For reference, to explain the Xpath and the flexible adapter for better understanding of the present invention, Xpath is a string designating a specific structure in a structure defining a processing method for the data, for example, '/ gform / components / It is expressed in the form of 'model / @ text'.

플랙서블 어댑터(Flexible Adapter)란, 다양한 패킷(Gauce Packet, User Packet, Soap, RSS, CSV 등등)을 여러 프로토콜(HTTP, TCP, UDP, FILE)을 통하여 원하는 데이터를 받아 데이터 셋을 구성할 뿐만 아니라, 필요에 따라 데이터를 재구성한 다음 전송하는 구성요소이다.The flexible adapter is not only configured to receive various data (Gauce Packet, User Packet, Soap, RSS, CSV, etc.) through various protocols (HTTP, TCP, UDP, FILE), but also to configure a data set. It is a component that reconstructs data after transmission as needed.

상기 플랙서블 어댑터(300)는 상기 패킷 정의부(100) 또는 XML매퍼(200)에 의해서 상기 데이터를 재구성한다.The flexible adapter 300 reconstructs the data by the packet defining unit 100 or the XML mapper 200.

여기서, 상기 XML매퍼(200)는 상기 패킷 정의부(100)와 동일한 엘리먼트로 구성되며, 패킷 정의부(100)와의 차이점은 정의되는 엘리먼트 중에서 상기 Xpath에 대한 속성인 'xmlpath'가 기술되는 차이점이 있다.Here, the XML mapper 200 is composed of the same elements as the packet definition unit 100, and the difference from the packet definition unit 100 is that the difference between the 'xmlpath', which is an attribute for the Xpath, is described. have.

상기 'xmlpath'는 이하 후술되는 패킷 정의부(100)의 엘리먼트 중에서 'treat' 항목에서 기술된다.The 'xmlpath' is described in a 'treat' item among elements of the packet defining unit 100 to be described later.

패킷 정의부(100)는 상기 플랙서블 어댑터(300)를 통해 상기 패킷(20)에서 입·출력되는 데이터에 대한 가공방법을 정의한 부분으로, 각각 구성되는 엘리먼트가 트리구조를 통해 이루어진다.The packet defining unit 100 defines a processing method for data input and output from the packet 20 through the flexible adapter 300, and elements formed through the tree structure are formed.

도 2는 패킷 정의부의 트리구조를 도시한 도면으로, 도 2를 참조하면, 상기 패킷 정의부(100)는 패킷 정의부(100)에서 설정되는 변수들을 선언하는 정의부(define)(110)와, 수신된 패킷(Packet)을 분석 처리하는 부분을 기술하는 수신부(receive)(120)와, 상기 처리된 데이터의 송신을 위해서 기술하는 송신부(send)(130)를 포함하여 구성된다.FIG. 2 is a diagram illustrating a tree structure of a packet defining unit. Referring to FIG. 2, the packet defining unit 100 includes a definer 110 that declares variables set in the packet defining unit 100. And a receiving unit 120 for describing a portion for analyzing and processing the received packet, and a sender 130 for transmitting the processed data.

여기서, 상기 패킷 정의부(100)는 루트 엘리먼트(Root Element)로 'packet'(101)을 가지며, 변수타입은 패킷(20)의 종류를 설정하는 것으로 값으로는 바이너리(binary), 확장성 생성 언어(XML), 텍스트(text)로 설정 가능하다.Here, the packet defining unit 100 has a 'packet' 101 as a root element, and the variable type sets the type of the packet 20. As a value, binary and extensibility are generated. Language (XML), text (text) can be set.

정의부는 상기 패킷 정의부(100)의 루트 엘리먼트인 'packet'(101)에서 설정되는 변수들을 선언하며, 구분 엘리먼트(Element)로는 'define'(110)이 있다.The definer declares variables set in the 'packet' 101 which is the root element of the packet definer 100, and includes a 'define' 110 as a distinguishing element.

'define'의 하위 엘리먼트로는 'value'(115)가 있으며, 상기 'value'(115)는 각종 변수의 이름과 변수 형을 설정하는 것으로 상위 엘리먼트인 'packet'(101)의 변수 속성에 따라 동작 특성이 달라진다.The lower element of 'define' is 'value' 115, and the 'value' 115 is to set the name and variable type of various variables, according to the variable attribute of the upper element 'packet' 101 The operating characteristics are different.

만일 상위 엘리먼트인 'packet'(101)이 'variable'일 경우에는 블록 내의 변수로서 사용되지만, 'httphead'가 상위 엘리먼트일 경우는 통신 방식을 HTTP 프로토콜로 사용해야만 하며, 'http request head'에 설정된 내용이 포함되어 전송된다.If the parent element 'packet' 101 is 'variable', it is used as a variable in the block.However, if 'httphead' is the parent element, the communication method should be used as the HTTP protocol. The content is included and sent.

상기 'value'(115)의 정보를 포함하는 속성으로는 'name' 'type' 'value'가 있다.An attribute including the information of the 'value' 115 is 'name' 'type' 'value'.

상기 'name'은 변수의 이름을 지정하는 것으로 중복되어서는 안되며, 'httphead' 내에서 기술되어 졌을 경우는 HTTP 헤드(150)에 대한 이름이 된다.The 'name' should not be duplicated by specifying the name of the variable. When the 'name' is described in the 'httphead', it is a name for the HTTP head 150.

상기 'type'은 변수 형을 기술하는 것으로 아래 [표 1]과 같은 타입의 변수가 사용되며, 'httphead'내에서는 기술할 필요가 없으며, 이 경우에는 무조건 string type으로 설정된다.The 'type' describes a variable type, and a variable of the type shown in [Table 1] is used, and it is not necessary to describe it in 'httphead', in this case, it is set to a string type unconditionally.

변수 타입Variable type 정 의Justice stringstring 분자열을 가지는 변수  Variable with Molecular String int8int8 8bit(1byte)형의 정수  8-bit (1 byte) integer int16int16 16bit(2byte)형의 정수  16 bit (2 byte) integer int32int32 32bit(4byte)형의 정수  32-bit (4 byte) type integer int64int64 64bit(8byte)형의 정수  64-bit (8 byte) integer uint8uint8 8bit(1byte)형의 양의 정수  8-bit (1-byte) positive integer uint16uint16 16bit(2byte)형의 양의 정수  16-bit (2-byte) positive integer uint32uint32 32bit(4byte)형의 양의 정수  32-bit (4 byte) positive integer uint64uint64 64bit(8byte)형의 양의 정수  64-bit (8 byte) positive integer doubledouble 소수점을 가지는 변수  A variable with a decimal point boolbool true(1)/false(0)의 불린(Boolean)형 변수  Boolean variable of true (1) / false (0) unknownunknown void*형의 데이터 형 변수
이미지 등의 데이터 변수
Data type variable of type void *
Data variables such as images

상기 'value'(115)는 변수에 지정할 값으로 'httphead'내에서 기술시에는 http head의 값이 되며, 'variable'내에서는 기술하지 않아도 된다.The 'value' 115 is a value to be assigned to a variable, which is the value of the http head when describing in 'httphead', and does not need to be described in 'variable'.

'httphead'는 HTTP Protocol을 사용할 시에만 유효한 엘리먼트로 Http Request시에 head에 포함되는 내용을 기술하기 위한 구분 엘리먼트이다.'httphead' is a valid element only when HTTP protocol is used. It is a distinguishing element for describing the contents included in the head in the Http Request.

수신부(receive)(120)는 수신된 패킷(20)(Packet)을 분석 처리하는 부분으로 기술하는 구분 엘리먼트로는 'receive'가 있으며, 하위 속성으로는 'default-start'가 있다.The receiving unit 120 includes 'receive' as a distinguishing element for describing the received packet 20 as a part for analyzing and processing the received packet 20, and 'default-start' as a lower attribute.

상기 'default-start'는 수신시 별다른 설정이 없다면 여기에 설정된 블록으로부터 패킷(20)을 해석해 나간다.The 'default-start' interprets the packet 20 from the block set here if there is no configuration at reception.

'block'(105)은 패킷 정의부(100)의 블록을 나타내는 루트 엘리먼트로 패킷(20)의 종류를 설정하는 것으로 값으로 binary, xml, text가 설정 가능하다.'block' 105 is a root element representing a block of the packet defining unit 100. The type of the packet 20 is set to binary, xml, or text.

'data'(122)는 수신된 Packet데이터를 설정된 상황에 맞게 잘라 보관하며, 하위 속성으로는 'id'와 'type', 'size', 'convtype', 'netnumber', 'treat'이 있다.'data' 122 cuts and receives the received packet data according to a set situation, and has sub-properties 'id', 'type', 'size', 'convtype', 'netnumber', and 'treat'.

'id'는 데이터의 식별유형을 나타내며 'block' 내에서 유일하게 ID문자열로 기술하여야 한다.'id' represents the type of identification of the data and must be described as an ID string uniquely within the 'block'.

'type'은 저장되는 데이터형으로 상기 [표 1]을 참조한다.'type' is the data type stored, see Table 1 above.

'size'는 type이 string이나 unknown으로 설정되었을 경우에만 유효하며 문자열이나 바이너리 데이터를 설정된 크기만큼 읽어 들인다.'size' is valid only when the type is set to string or unknown, and the string or binary data is read as much as the set size.

'convtype'은 읽혀진 데이터의 형을 변환 시켜주며, 데이터형으로 상기 [표 1]을 참조한다.'convtype' converts the read data type. Refer to [Table 1] as the data type.

'netnumber'는 'type'이 정수 형일 경우 해당 값은 역전되어 전송되므로 이를 보정하여 준다.When 'type' is an integer type, 'netnumber' is corrected because the value is inverted and transmitted.

'treat'은 항목을 기술하지 않으며 기본적으로 normal형으로 취급하며, 'static'으로 설정되었을 경우, '<data>입력될 값</data>'와 같이 수신된 패킷(20)에서 데이터를 받는 것이 아니라, <data>의 텍스트를 해당 데이터의 값으로 받아들인다. 'treat' does not describe an item and treats it as normal by default. When set to 'static', it is recommended to receive data from the received packet 20, such as '<data> value to be input </ data>'. Rather, it accepts the text of <data> as the value of that data.

또한, 상기 'treat'은 'eod'로 설정되었을 경우에는 다음과 같이 데이터의 텍스트가 ','로 설정되어져 있을 경우, ','를 구분자로 해서 패킷(20)의 데이터를 잘라 낸다.In addition, when the 'treat' is set to 'eod' and the text of the data is set to ',' as follows, the data of the packet 20 is cut out using ',' as a separator.

예를들면, 상기 'data'의 하부 속성인 'treat'이 'eod'로 설정되었을 경우, '<data id= "samp01" type = "string" threat = "eod">, </data>'와 같이 나타낼 수 있다.For example, when 'treat', a sub attribute of 'data' is set to 'eod', '<data id = "samp01" type = "string" threat = "eod">, </ data>' and Can be represented as:

또한, 상기 'treat'이 'eof'로 설정되었을 경우에는 모든 패킷(20)의 수신이 완료될때까지를 나타내는 것이다.In addition, when the 'treat' is set to 'eof', it indicates until the reception of all packets 20 is completed.

만일, 패킷(20)의 타입이 xml로 설정되어 있을 경우에는 'treat'이 'xmlpath'로 설정되어서 데이터의 xml path를 기술하도록 되어져 있다.If the type of the packet 20 is set to xml, 'treat' is set to 'xmlpath' to describe the xml path of the data.

이 경우 상기 패킷 정의부(100)는 xml mapper로써 작용을 하게 된다.In this case, the packet defining unit 100 acts as an xml mapper.

'repeat'은 수신된 데이터가 동일한 형식으로 반복해서 들어오는 종류라면 반복해서 간단하게 데이터를 받아 들일 수 있도록 하며, 하위 속성으로는 'id'와 'condition', 'array'가 있다.'repeat' simply accepts data repeatedly if the received data comes in the same format repeatedly. The sub-attributes are 'id', 'condition' and 'array'.

'id'는 block내에서 유일한 ID문자열로 일반적으로 생략 가능하다.'id' is the only ID string in the block and can usually be omitted.

'condition'은 특정 조건문을 입력할 수 있으며 결과값이 참인 동안에는 'repeat'구문 내에 있는 모든 엘리먼트를 계속 반복하도록 수행하면서 데이터를 받아들인다.'condition' can enter a specific conditional statement and accepts data while continuing to iterate through all the elements in the 'repeat' statement as long as the result is true.

'array'는 데이터를 반혹하여 받아들이는 경우, 상기 데이터를 배열(array)형태로 저장하기 위한 옵션으로 'true' 또는 'false'의 값이 들어갈 수 있다.'array' is an option for storing the data in an array form when the data is received by mistake, and may include a value of 'true' or 'false'.

'if'(124)는 구문내에 들어가는 해당 조건문이 참일 경우에만 'if'구문 내에 있는 엘리먼트들을 수행하며, 하위 속성으로는 'condition'이 있다.'if' 124 executes the elements in the 'if' statement only if the corresponding conditional statement in the statement is true, and has a subcondition as 'condition'.

'condition'은 조건문이 입력되는 곳으로 결과가 참일 때만 하위 엘리먼트를 수행한다. 'condition' is the place where the conditional statement is entered. It executes the child element only when the result is true.

'elif'(125a)는 이전의 구문에 기재된 조건이 거짓일 경우에만 'elif'의 조건문을 실행하도록 되어져 있으며, 이전에 반드시 'if'구문이나 'elif' 기술되어져 있어야 한다.'elif' 125a is supposed to execute the conditional statement of 'elif' only if the condition described in the previous syntax is false, and must be described before the 'if' statement or 'elif'.

상기 'elif'(125a)의 하위 속성으로는 'condition'이 있으며, 'condition'은 조건문이 입력되는 곳으로 결과가 참일 때만 하위 엘리먼트를 수행한다. A lower attribute of 'elif' 125a is 'condition', and 'condition' is a place where a conditional statement is input, and performs a lower element only when the result is true.

'else'(125b)는 'if'와 'elif'등의 조건 엘리먼트의 조건문이 모두 거짓일 때 'else'의 구문 내의 엘리먼트들이 실행된다.'else' 125b executes the elements in the syntax of 'else' when both conditional statements of 'if' and 'elif' are false.

'next'(123)는 블록 내의 임의의 장소에서 다른 블록을 호출하는 기능을 수행하며, 하위 속성으로는 'goto'가 있으며, 'goto'는 호출할 블록의 ID문자열을 나타낸다.'next' 123 performs a function of calling another block at any place in the block, and has 'goto' as a sub attribute, and 'goto' indicates an ID string of a block to be called.

'return'(128)은 블록 내의 임의의 장소에서 자신을 호출한 블록으로 되돌아가도록 하며, 이때 오류 코드와 메시지 등을 전달할 수 있다.'return' 128 returns to the block that called itself from any place in the block, and may transmit an error code, a message, and the like.

하위 속성으로는 'code'와 'mag'가 있다.Subattributes are 'code' and 'mag'.

'code'는 'return'구문에서 전달할 오류 코드를 나타내며, 'msg'는 'return'에서 전달할 오류 메시지를 나타낸다.'code' represents the error code to be passed in the 'return' syntax, and 'msg' represents the error message to be passed in the 'return'.

'operator'(127)는 플랙서블 어댑터(300)의 인터페이스(Interface) 함수를 호출하며, 만일 호출한 결과값이 존재할 경우에는 그 ID에 해당하는 값이 저장된다.'operator' 127 calls the interface function of the flexible adapter 300, and if there is a result value, the value corresponding to the ID is stored.

하위 속성으로는 'name'과 'id'가 있으며, 'name'는 호출할 함수명을 나타내고, 'id'는 블록 내의 유일한 ID문자열을 나타낸다.The sub-properties are 'name' and 'id', where 'name' represents the name of the function to call and 'id' represents the unique ID string in the block.

'dataset'(126)은 'dataset'에 기재된 인터페이스(interface)함수를 호출하며, 만일 호출한 결과값이 존재할 경우에는 그 ID에 해당하는 값이 저장된다.'dataset' 126 calls the interface function described in 'dataset', and if there is a result value, the value corresponding to the ID is stored.

하위 속성으로는 'name'과 'id'가 있으며, 'name'는 호출할 함수명을 나타내고, 'id'는 블록 내의 유일한 ID문자열을 나타낸다.The sub-properties are 'name' and 'id', where 'name' represents the name of the function to call and 'id' represents the unique ID string in the block.

'param'은 상기 'operator'와 'dataset'에서 함수를 호출하는 경우 해당 함수의 파라미터(parameter)를 기술하며, 함수의 파라미터 순서는 'param'의 엘리먼트의 기술순서와 동일하다.'param' describes a parameter of a corresponding function when calling a function from the 'operator' and 'dataset', and the parameter order of the function is the same as the description order of the elements of the 'param'.

하위 속성으로는 'type'와 'value'가 있으며, 'type'은 파라미터의 데이터 형을 나타내며, 저장되는 데이터형으로 상기 [표 1]을 참조한다.The sub-attributes include 'type' and 'value', where 'type' indicates the data type of the parameter, and refers to [Table 1] above as the data type to be stored.

송신부(send)(130)는 상기 처리된 데이터의 송신을 위해서 기술하는 부분으로 구분 엘리먼트로는 'send'가 있으며, 하위 속성으로는 'default-start'가 있다. The sender 130 is a part described for the transmission of the processed data. There is 'send' as a division element and 'default-start' as a lower attribute.

'default-start'는 시작 블록의 ID문자열을 나타낸다.'default-start' represents the ID string of the start block.

'write'(131)는 상위 엘리먼트가 'send'인 블록 내에서만 사용가능하며 적재된 데이터를 송신한다.'write' 131 is available only in a block in which the upper element is 'send' and transmits the loaded data.

도 3은 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 실시예에 따른 패킷의 구성도이다.3 is a block diagram of a packet according to an embodiment of a flexible adapter system for data transmission between various protocols according to the present invention.

도 3을 참조하면, 상기 패킷(20)은 상기 패킷 정의부(100)에 구성된 엘리먼트와 대응되는 세그먼트들이 포함된 헤드(150)와, 하나 이상의 데이터 세트가 포함된 바디(160)로 구성된다.Referring to FIG. 3, the packet 20 includes a head 150 including segments corresponding to elements configured in the packet defining unit 100, and a body 160 including one or more data sets.

도 3(a)는 본 발명의 일실시예인 특정구간의 데이터를 주어진 조건에 의해서 반복적으로 접근하도록 구현된 패킷에 대한 구성을 나타낸 도면으로, 여기서 상기 헤드(150)는 오류검출 세그먼트(151), 네임크기인식 세그먼트(152), 패킷네임 세그먼트(153), 문자열 세그먼트(154)를 포함하며, 바디(160)는 데이터 반복 세그먼트(161)와 데이터 세그먼트(162)를 포함한다.3 (a) is a diagram showing a configuration of a packet implemented to repeatedly access data of a specific section according to an embodiment of the present invention, in which the head 150 includes an error detection segment 151, The name size recognition segment 152, the packet name segment 153, and the string segment 154 are included, and the body 160 includes the data repeating segment 161 and the data segment 162.

이하 기술된 프로그램은 도 3(a)에 도시된 특정구간의 데이터를 주어진 조건에 의해서 반복적으로 접근하도록 구현된 패킷에 대한 패킷 정의부의 XML프로그램 예제이다.The program described below is an example of an XML program of a packet definition unit for a packet implemented to repeatedly access data of a specific section shown in FIG. 3 (a) by a given condition.

<packet type="binary">
<define/>
<receive>

<block id="head">
<data id="ident" size="2" type="string"/>
<if condition=":ident != 'HZ'">
<return code="-1" msg="ident error"/>
</if>
<data id="namesz" type="int4" netnumber="true"/>
<data id="name" type="string" size=":namesz"/>
<data id="flag" type="string" size="1"/>
<next goto="body"/>
<return code="$result_code" msg="$result_msg"/>
</block>

<block id="body">
<repeat condition="$EOF" id="loop01">
<data id="size" type="string" size="2" convert="int4"/>
<data id="data" type="string" size=":size" />
</repeat>
<return code="0" msg="ok"/>
</block>

</receive>
<send/>
</packet>
<packet type = "binary">
<define />
<receive>

<block id = "head">
<data id = "ident" size = "2" type = "string"/>
<if condition = ": ident! = 'HZ'">
<return code = "-1" msg = "ident error"/>
</ if>
<data id = "namesz" type = "int4" netnumber = "true"/>
<data id = "name" type = "string" size = ": namesz"/>
<data id = "flag" type = "string" size = "1"/>
<next goto = "body"/>
<return code = "$ result_code" msg = "$ result_msg"/>
</ block>

<block id = "body">
<repeat condition = "$ EOF" id = "loop01">
<data id = "size" type = "string" size = "2" convert = "int4"/>
<data id = "data" type = "string" size = ": size"/>
</ repeat>
<return code = "0" msg = "ok"/>
</ block>

</ receive>
<send />
</ packet>

상기 오류검출 세그먼트(151)는 패킷의 오류를 검출하는 세그먼트로 상기 예제에 기술된 HZ를 크기 2만큼 문자열 형태로 받은 다음 아래의 if문에 의해서 해당 값이 정상적인지 검사하고 정상적인 값이 아닐 경우 오류를 리턴한다.The error detection segment 151 is a segment that detects an error of a packet and receives the HZ described in the above example in the form of a string with a size of 2, and then checks whether the corresponding value is normal by the if statement below. Returns.

네임크기인식 세그먼트(152)는 패킷네임을 어느 정도의 크기로 읽어야 할지 정하는 세그먼트로 패킷네임의 크기를 읽고 네트워크 바이트형을 역변환하며, 만일 상기 예제에 기술된 'netnumber'가 'send'에서 사용되어지면 네트워크 바이트로 변환한다.The name size recognition segment 152 is a segment that determines the size of the packet name to be read. The size of the packet name is read and the network byte type is inverted. If 'netnumber' described in the above example is used in 'send' Convert to ground network bytes.

패킷네임 세그먼트(153)는 패킷네임을 문자열 형태로 상기 네임크기인식 세그먼트(152)에서 받은 크기만큼 데이터를 읽는다.The packet name segment 153 reads data as much as the size received from the name size recognition segment 152 in the form of a packet name string.

문자열 세그먼트(154)는 저장된 세그먼트의 값을 문자열 1의 크기로 읽는다.The string segment 154 reads the value of the stored segment in the size of string 1.

데이터 반복 세그먼트(161)는 상기 바디(160)에 포함된 데이터 세트(Data1, Data2, Data3, Data4)에서 각 해당 데이터 부분을 반복해서 읽기 위해 반복구문(repeat)이 설정되어 있으며 문자열의 데이터를 숫자형으로 변환하여 해당 데이터를 읽는다.In the data repeating segment 161, a repeating phrase is set to repeatedly read each corresponding data portion from the data sets Data1, Data2, Data3, and Data4 included in the body 160. Convert the data to read the data.

데이터 세그먼트(162)는 데이터가 저장된 세그먼트로, 상기 데이터 반복 세그먼트(161)에서 얻은 크기값만큼 다음 해당 데이터를 읽는다. The data segment 162 is a segment in which data is stored, and reads the next corresponding data by the size value obtained from the data repeating segment 161.

도 3(b)는 본 발명의 다른 실시예인 데이터 세트와 연동 가능하도록 구현된 패킷(20)에 대한 구성을 나타낸 도면으로, 여기서 상기 헤드(150)는 변수타입 세그먼트(155), 네임크기인식 세그먼트(152), 패킷네임 세그먼트(153)를 포함하며, 바디(160)는 데이터 반복 세그먼트(161)와 데이터 세그먼트(162)를 포함한다.3 (b) is a diagram showing a configuration of a packet 20 implemented to be interoperable with a data set according to another embodiment of the present invention, wherein the head 150 is a variable type segment 155 and a name size recognition segment. 152, a packet name segment 153, and the body 160 includes a data repeating segment 161 and a data segment 162.

이하 기술된 프로그램은 도 3(b)에 데이터 세트와 연동 가능하도록 구현된 패킷에 대한 패킷 정의부의 XML프로그램 예제이다.The program described below is an example of an XML program of a packet definition unit for a packet implemented to be interoperable with a data set in FIG.

<packet type="binary">
<define>
<value name="typename" type="string"/>
</define>
<receive>
<block id="head">
<data id="type" type="int1"/>
<if condition=":type == 1" then="$typename='string'"/>
<else then="typename='int4'"/>
<data id="size" type="int4" netnumber="true"/>
<data id="name" type="string" size=":size"/>
<dataset name="addhead" parameter=":name, $typename,0,0"/>
<next goto="body"/>
<return code="$result_code" msg="$result_msg"/>
</block>

<block id="body">
<repeat condition="$EOF" id="loop01">
<data id="size" type="string" size="2" convert="int4"/>
<data id="data" type="string" size=":size" />
<dataset id="rowidx" name="addrow" />
<dataset name="putrowdata" parameter=":rowidx, 0, :data"/>
</repeat>
<return code="0" msg="ok"/>
</block>

</receive>
<send/>
</packet>
<packet type = "binary">
<define>
<value name = "typename" type = "string"/>
</ define>
<receive>
<block id = "head">
<data id = "type" type = "int1"/>
<if condition = ": type == 1" then = "$ typename = 'string'"/>
<else then = "typename = 'int4'"/>
<data id = "size" type = "int4" netnumber = "true"/>
<data id = "name" type = "string" size = ": size"/>
<dataset name = "addhead" parameter = ": name, $ typename, 0,0"/>
<next goto = "body"/>
<return code = "$ result_code" msg = "$ result_msg"/>
</ block>

<block id = "body">
<repeat condition = "$ EOF" id = "loop01">
<data id = "size" type = "string" size = "2" convert = "int4"/>
<data id = "data" type = "string" size = ": size"/>
<dataset id = "rowidx" name = "addrow"/>
<dataset name = "putrowdata" parameter = ": rowidx, 0,: data"/>
</ repeat>
<return code = "0" msg = "ok"/>
</ block>

</ receive>
<send />
</ packet>

변수타입 세그먼트(155)는 읽어온 변수타입이 숫자일 경우 문자열로 변환하여 정의부(define)에 정의된 변수에 넣어 준다.The variable type segment 155 converts the read variable type into a string and puts it into a variable defined in a define unit.

패킷네임 세그먼트(153)는 데이터 세트(Data1, Data2, Data3, Data4)에서 사용하는 인터페이스의 이름이며 파라미터에 필요한 데이터를 채워서 데이터 세트의 헤드(150)를 구성한다.The packet name segment 153 is a name of an interface used in the data sets Data1, Data2, Data3, and Data4 and fills data necessary for parameters to form the head 150 of the data set.

데이터 반복 세그먼트(161)는 상기 바디(160)에 포함된 데이터 세트(Data1, Data2, Data3, Data4)에서 각 해당 데이터 부분을 반복해서 읽기 위해 반복구문(repeat)이 설정되어 있으며 문자열의 데이터를 숫자형으로 변환하여 해당 데이터를 읽는다.In the data repeating segment 161, a repeating phrase is set to repeatedly read each corresponding data portion from the data sets Data1, Data2, Data3, and Data4 included in the body 160. Convert the data to read the data.

데이터 세그먼트(162)는 데이터가 저장된 세그먼트로, 상기 반복 세그먼트에서 얻은 크기값만큼 다음 해당 데이터를 읽는다 The data segment 162 is a segment in which data is stored, and reads the next corresponding data by the size value obtained from the repeating segment.

여기서, 상기 데이터 세그먼트(162)는 데이터 세트에 ID가 지정된 경우 해당 인터페이스 실행 후 결과값을 받아올 수 있으며 데이터 세트의 이름이 'addrow'인 경우 추가된 열의 인덱스를 리턴하고 그 밑에 기술된 'dataset'의 'parameter'에서는 그 인덱스를 이용하여 데이터를 넣어 주고 있다Here, the data segment 162 may receive a result value after executing the corresponding interface when an ID is specified in the data set, and return an index of an added column when the name of the data set is 'addrow' and then describe the 'dataset' described below. 'Parameter' of 'puts data using the index

도 4는 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 플랙서블 어댑터의 개념적 구조를 나타낸 블록도이며, 도 5는 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 플랙서블 어댑터의 패킷 처리과정을 도시한 구조도이다.4 is a block diagram illustrating a conceptual structure of a flexible adapter of a flexible adapter system for data transmission between various protocols according to the present invention, and FIG. 5 is a diagram of a flexible adapter system for data transmission between various protocols according to the present invention. It is a structural diagram showing the packet processing of the flexible adapter.

도 4를 참조하면, 상기 플랙서블 어댑터(300)는 프로토콜을 통해 데이터를 주고받는 플러그인에서부터 외부 XML이나, 다양한 패킷(20)을 전송받아 데이터를 재구성하기 위하여 전송받은 패킷(20)을 처리하는 패킷 처리부(310) 및 패킷 관리부(320)를 포함한다.Referring to FIG. 4, the flexible adapter 300 receives an external XML or various packets 20 from a plug-in that exchanges data through a protocol, and processes a received packet 20 to reconstruct data. The processor 310 and the packet manager 320 are included.

또한, 상기 플랙서블 어댑터(300)는 패킷(20)을 처리하는 규칙을 정의하는 패킷 처리 정의부(360)와 패킷(20) 변수 정의부를 포함하며, 명령어 또는 패킷(20)을 임시로 저장하는 명령어 저장부(330)와 임시 패킷 저장부(340) 등의 저장공간 또한 구성된다.In addition, the flexible adapter 300 includes a packet processing definition unit 360 and a packet 20 variable definition unit that define a rule for processing the packet 20, and temporarily stores the instruction or the packet 20. Storage spaces such as the command storage unit 330 and the temporary packet storage unit 340 are also configured.

패킷 관리부(320)는 여려 프로토콜로 이루어진 다양한 플러그인으로부터 XML데이터나 패킷(20)을 송신받아 패킷 처리부(310)로 전송하여 데이터의 처리를 요청한다.The packet manager 320 receives XML data or a packet 20 from various plug-ins composed of various protocols, and transmits the XML data to the packet processor 310 to request data processing.

여기서, 상기 데이터 처리는 상기 기술한 패킷 정의부(100)에서 정의된 규칙에 따라 진행되며, 이러한 규칙은 패킷 처리 정의부(360)에 의해 상기 패킷 관리부(320) 또는 패킷 처리부(310)로 전송된다.Here, the data processing proceeds according to the rules defined by the packet definition unit 100 described above, and these rules are transmitted by the packet processing definition unit 360 to the packet management unit 320 or the packet processing unit 310. do.

또한, 상기 데이터 처리 과정에서 변수에 대한 처리는 상기 패킷(20) 변수 정의부에서 전송받은 규칙을 통해 이루어지며, 패킷(20) 변수 정의부는 상기 패킷 처리부(310)에 저정의된 변수 규칙들이 등록되어 있다.In addition, the processing of the variable in the data processing is performed through the rule received from the packet 20 variable definition unit, and the packet 20 variable definition unit registers the variable rules defined in the packet processing unit 310. It is.

상기 플랙서블 어댑터(300)는 신속하고 원활한 데이터 처리를 위해 임시 저장공간이 마련되는데, 그 중 하나인 명령어 저장부(330)는 데이터 처리 수행 성능을 향상시키기 위해서 자주 처리되는 명령어를 저장한다.The flexible adapter 300 is provided with a temporary storage space for fast and smooth data processing, one of the command storage unit 330 stores instructions that are frequently processed to improve the performance of data processing.

그리고, 임시 패킷 저장부(340)는 데이터 처리 과정을 수행하는 중에 처리가 용이한 패킷이 들어오면 수행중인 이전 패킷을 임시로 저장하여 처리성능을 향상시킨다.In addition, the temporary packet storage unit 340 temporarily stores the previous packet being executed to improve processing performance when a packet that is easily processed comes in during the data processing process.

상기와 같이 구성된 플랙서블 어댑터(300)는 도 5를 참조하면, 패킷 처리부(310)에서 다음과 같은 자료 구조를 통하여 데이터를 처리한다.Referring to FIG. 5, the flexible adapter 300 configured as described above processes the data through the following data structure in the packet processor 310.

우선, 다양한 프로토콜로부터 패킷(20)을 패킷정의 자료 모듈(420)로 전송한다. First, the packet 20 is transmitted to the packet definition data module 420 from various protocols.

다음으로 상기 데이터는 패킷정의 자료 모듈(420)에서 정의된 구문에 따라 조건문을 판단하여 처리될 준비가 갖추어지는데, 상기 조건문 판단은 조건문 판단 모듈(425)을 통해 이루어진다.Next, the data is prepared to be processed by determining a conditional statement according to the syntax defined in the packet definition data module 420. The conditional statement determination is performed through the conditional statement determination module 425.

여기서, 상기 데이터에 기록된 인자 중에서 조건문에 사용할 인자를 큐에 채워서 패킷정의 자료 모듈(420)에서 정의된 조건문과 같이 조건문 판단 모듈(425)로 전송한 다음, 조건문 중에서 'repeat', 'if', 'else', 'elif' 구문의 경우 조건문을 판단하여 그 결과값을 참/거짓(true/false) 형태로 패킷정의 자료 모듈(420)로 전송한다.Here, the factor to be used for the conditional statement from the parameters recorded in the data is filled in the queue and transmitted to the conditional statement determination module 425 as the conditional statement defined in the packet definition data module 420, and then 'repeat', 'if' among the conditional statements. In the case of 'else' and 'elif' syntaxes, the conditional statement is determined and the result is transmitted to the packet definition data module 420 in the form of true / false.

다음으로, 상기 데이터는 패킷정의 자료 모듈(420)에서 정의된 조건문에 따라 데이터가 정리된 후 데이터에 기재된 'next', 'elif', 'else', 'dataset', 'operator' 등의 조건문은 삭제된 데이터 자료구조만으로 정리되어 패킷데이터 자료 모듈(430)로 전송된다.Next, the data is organized according to the conditional statement defined in the packet definition data module 420, and then the conditional statements such as 'next', 'elif', 'else', 'dataset', and 'operator' described in the data are Only the deleted data data structure is arranged and transmitted to the packet data data module 430.

다음으로, 데이터 자료구조로 정리된 상기 데이터는 패킷 데이터 자료 모듈(430)에서 동적 어레이 모듈에 의해 재배열된다.Next, the data organized into a data data structure is rearranged by the dynamic array module in the packet data data module 430.

상기 본 명세서에 기재된 내용 및 청구범위에 사용된 용어는 사전적인 의미로 한정 해석되어서는 아니되며, 발명자는 자신의 발명을 최선의 방법으로 설명하기 위해 용어의 개념을 적절히 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야 한다.The terms used in the above description and claims are not to be construed in a dictionary sense, and the inventors can properly define the concept of terms in order to explain their invention in the best way. Therefore, it should be interpreted as meaning and concept corresponding to the technical idea of the present invention.

따라서, 본 명세서에 기재된 실시예 뿐만 아니라 도면에 도시된 형상 및 구성은 본 발명의 본 발명의 기술적 사상을 모두 표현하는 것은 아니므로, 본 발명의 출원시점에 있어 이들을 대체할 수 있는 다양한 균등물과 변형예들이 존재할 수 있음을 이해하여야 한다.Accordingly, the shapes and configurations shown in the drawings as well as the embodiments described herein do not represent all of the technical ideas of the present invention, and various equivalents may be substituted for them at the time of filing of the present invention. It should be understood that variations may exist.

도 1은 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 전체적인 구성도,1 is an overall configuration diagram of a flexible adapter system for data transmission between various protocols according to the present invention;

도 2는 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 패킷 정의부의 트리구조를 도시한 도면,2 is a diagram illustrating a tree structure of a packet definition unit of a flexible adapter system for data transmission between various protocols according to the present invention;

도 3은 도 3은 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 실시예에 따른 패킷의 구성도,3 is a block diagram of a packet according to an embodiment of a flexible adapter system for data transmission between various protocols according to the present invention;

도 4는 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 플랙서블 어댑터의 개념적 구조를 나타낸 블록도,4 is a block diagram illustrating a conceptual structure of a flexible adapter of a flexible adapter system for data transmission between various protocols according to the present invention;

도 5는 본 발명에 따른 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템의 플랙서블 어댑터의 패킷 처리과정을 도시한 구조도이다.5 is a structural diagram illustrating a packet processing procedure of a flexible adapter of a flexible adapter system for data transmission between various protocols according to the present invention.

*도면의 주요부분에 대한 부호의 설명* * Description of the symbols for the main parts of the drawings *

10 : 프로토콜 20 : 패킷10: protocol 20: packet

100 : 패킷 정의부 200 : XML매퍼100: packet defining unit 200: XML mapper

300 : 플랙서블 어댑터300: flexible adapter

Claims (6)

네트워크상의 패킷을 제어하는 어댑터 시스템에 있어서,An adapter system for controlling packets on a network, XML을 통하여 다양한 프로토콜에서 전송받은 패킷에서 입·출력되는 데이터에 대한 처리방법을 정의한 패킷 정의부;와,A packet defining unit defining a processing method for data input / output in packets received from various protocols through XML; and, 상기의 데이터 중 XML형태의 패킷 데이터에서 특정한 데이터 부분만을 획득하기 위해서 XPATH 형태로 데이터 획득 경로를 지정하는 방법과 특정한 구조를 지닌 데이터 세트로 가공하는 방법을 정의한 XML매퍼;와, An XML mapper defining a method of specifying a data acquisition path in the XPATH form and processing into a data set having a specific structure in order to obtain only a specific data portion of the packet data in XML form among the above data; 상기 패킷 정의부에 따라 다양한 패킷을 전송되는 프로토콜에 적합하게 가공하는 플랙서블 어댑터(Flexible Adapter);를 포함하여 어댑터 시스템에 대한 별도의 버전 변경이나 수정 없이 다양한 통신 환경에 적용 가능한 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.Flexible adapter for processing a variety of packets according to the packet definition according to the packet definition unit (Flexible Adapter), including data transfer between various protocols applicable to various communication environments without a separate version change or modification to the adapter system Flexible adapter system. 제1항에 있어서, The method of claim 1, 상기 패킷 정의부는 패킷 정의부에서 설정되는 변수들을 선언하는 엘리먼트가 구성된 변수 정의부(define);와, 수신된 패킷(Packet)을 분석 처리하는 부분을 기술하는 엘리먼트가 구성된 수신부(receive); 와, 상기 처리된 데이터의 송신을 위해서 기술하는 엘리먼트가 구성된 송신부(send);를 포함하는 것을 특징으로 하는 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.The packet defining unit may include a variable defining unit configured to declare elements to be set in the packet defining unit, and a receiving unit configured to describe a portion for analyzing and processing a received packet. And a sender configured to describe an element for transmitting the processed data. 12. The flexible adapter system for transmitting data between various protocols. 제2항에 있어서, The method of claim 2, 상기 패킷 정의부는 상기 변수 정의부와, 수신부와, 송신부에 구성된 엘리먼트가 트리구조로 형성되는 것을 특징으로 하는 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.The packet defining unit is a flexible adapter system for data transmission between the various protocols, characterized in that the variable defining unit, the receiving unit, and the elements configured in the transmission unit is formed in a tree structure. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 패킷은 상기 패킷 정의부에 구성된 엘리먼트와 대응되는 세그먼트들이 포함된 헤드(Head)와, 하나 이상의 데이터 세트가 포함된 바디(Body)를 포함하는 것을 특징으로 하는 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.The packet includes a head including segments corresponding to an element configured in the packet definition unit, and a body including one or more data sets. Adapter system. 제1항에 있어서, The method of claim 1, 상기 플랙서블 어댑터는 외부 XML 또는 다양한 패킷을 전송받아 데이터 처리를 요청하는 패킷 관리부;와, 상기 패킷관리부로부터 전송받은 데이터를 상기 패킷 정의부에서 정의된 규칙에 따라 처리하는 패킷 처리부;와, 패킷 정의부에서 정의된 규칙을 상기 패킷 관리부 또는 패킷 처리부로 전송하는 패킷 처리 정의부;와, 패킷 정의부에서 정의된 변수가 등록되며 등록된 변수 규칙을 상기 패킷 처리부로 전송하는 상기 패킷 변수 정의부;를 포함하는 것을 특징으로 하는 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.The flexible adapter may include: a packet manager configured to receive external XML or various packets and request data processing; and a packet processor configured to process data received from the packet manager according to a rule defined by the packet definer. A packet processing definition unit for transmitting the rule defined by the unit to the packet management unit or the packet processing unit; and the packet variable definition unit for registering the variable defined in the packet definition unit and transmitting the registered variable rule to the packet processing unit. Flexible adapter system for data transmission between the various protocols comprising a. 제5항에 있어서, The method of claim 5, 상기 플랙서블 어댑터는 상기 패킷 처리부에서 자주 처리되는 명령어를 저장하는 명령어 저장부;와, 데이터 처리 과정을 수행하는 중에 처리가 용이한 패킷이 들어오면 수행중인 이전 패킷을 임시로 저장하는 임시 패킷 저장부;를 추가로 포함하여, 데이터 처리 수행 성능을 향상시키도록 마련되는 것을 특징으로 하는 다양한 프로토콜 간의 데이터 전송을 위한 플랙서블 어댑터 시스템.The flexible adapter may include an instruction storage unit that stores instructions frequently processed by the packet processor; and a temporary packet storage unit that temporarily stores a previous packet that is being executed when a packet that is easily processed is received while performing a data processing process. Flexible adapter system for data transmission between the various protocols, characterized in that is further provided to improve the performance of data processing.
KR1020090105892A 2009-11-04 2009-11-04 Flexible adapter system for data transfer among various protocols KR101075173B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090105892A KR101075173B1 (en) 2009-11-04 2009-11-04 Flexible adapter system for data transfer among various protocols

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090105892A KR101075173B1 (en) 2009-11-04 2009-11-04 Flexible adapter system for data transfer among various protocols

Publications (2)

Publication Number Publication Date
KR20110049059A true KR20110049059A (en) 2011-05-12
KR101075173B1 KR101075173B1 (en) 2011-10-20

Family

ID=44360257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090105892A KR101075173B1 (en) 2009-11-04 2009-11-04 Flexible adapter system for data transfer among various protocols

Country Status (1)

Country Link
KR (1) KR101075173B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150041983A (en) * 2013-10-10 2015-04-20 쉬프트정보통신 주식회사 Flexible adaptor system for transmitting data between various protocol

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150041983A (en) * 2013-10-10 2015-04-20 쉬프트정보통신 주식회사 Flexible adaptor system for transmitting data between various protocol

Also Published As

Publication number Publication date
KR101075173B1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
US10666718B2 (en) Dynamic data transport between enterprise and business computing systems
CN110933146B (en) Data conversion method and device and server
US7072946B2 (en) Network router management interface with API invoked via login stream
US9418052B2 (en) Method and apparatus for web service schema management
CN102739654B (en) Method for realizing application program to access database
CN106453474A (en) Network transfer of large files in unstable network environments
US10445079B2 (en) Mapping and formatting input commands to a third party protocol
Kovatsch Scalable Web technology for the Internet of Things
US20070106998A1 (en) Mobility system and method for messaging and inter-process communication
CN108446105A (en) A kind of Lightweight AP I Server Development Frameworks and development approach
CN111324619B (en) Object updating method, device, equipment and storage medium in micro-service system
KR102094041B1 (en) System having the Semantic Engine based on RDF Graph for Autonomous Interaction between IoT Devices in Real-Time
KR101075173B1 (en) Flexible adapter system for data transfer among various protocols
US11216424B2 (en) Dynamically rendering an application programming interface for internet of things applications
CN114780800A (en) Multilink routing management method and device
CN113992641A (en) Data processing method, device, equipment and storage medium
KR102189417B1 (en) Flexible adaptor system for transmitting data between various protocol
CN102523069A (en) Method for sending message
CN103856396B (en) Message transmission method and device, proxy plug-ins between plug-in unit
Hoeller et al. Efficient XML data and query integration in the wireless sensor network engineering process
WO2018144517A1 (en) Semantic query processing with information asymmetry
CN117076160B (en) Component calling method, device, equipment and storage medium
CN108737525A (en) A kind of Web service system based on REST frameworks
WO2021236785A1 (en) Dynamically rendering an application programming interface for internet of things applications
Tavares et al. Proposal for a device proxy using XIRP

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141010

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151012

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161011

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181011

Year of fee payment: 8

J204 Request for invalidation trial [patent]
J301 Trial decision

Free format text: TRIAL NUMBER: 2019100002821; TRIAL DECISION FOR INVALIDATION REQUESTED 20190902

Effective date: 20200821