KR101605045B1 - Apparatus and method for processing duplicated data of redundancy communication line - Google Patents
Apparatus and method for processing duplicated data of redundancy communication line Download PDFInfo
- Publication number
- KR101605045B1 KR101605045B1 KR1020120025116A KR20120025116A KR101605045B1 KR 101605045 B1 KR101605045 B1 KR 101605045B1 KR 1020120025116 A KR1020120025116 A KR 1020120025116A KR 20120025116 A KR20120025116 A KR 20120025116A KR 101605045 B1 KR101605045 B1 KR 101605045B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- list
- received
- redundant
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 이중화 선로를 통하여 패킷을 송수신할 때 해쉬 테이블을 이용하지 않고도 중복 패킷(패킷)의 판단 및 처리를 효율적으로 수행할 수 있는 이중화 통신선로의 중복 데이타 처리장치 및 방법에 관한 것으로, 이중화 선로를 통해 패킷이 수신되면, 적어도 하나 이상의 패킷 리스트가 서로 연결된 링크 리스트를 검색하여 상기 수신 패킷의 중복 여부를 판단한 후 상기 수신 패킷의 중복 여부에 따라 중복된 패킷에 관련된 링크 리스트, 데이타 및 상기 수신 패킷의 폐기를 수행함으로써 HMI, PLC 및 DCS등 자동화 시스템의 이중화 통신 구성의 성능을 향상시킬 수 있다. The present invention relates to an apparatus and method for redundant data processing in a redundant communication line capable of efficiently performing determination and processing of a redundant packet (packet) without using a hash table when transmitting and receiving a packet through a redundant line, The link list, which is related to the overlapped packet, is transmitted according to whether the received packet is duplicated or not, The performance of redundant communication configuration of automation systems such as HMI, PLC and DCS can be improved.
Description
본 발명은 이중화 통신 선로에 관한 것으로 특히 링크 리스트(Linked list)를 이용하여 중복 수신한 데이타를 삭제하기 위한 이중화 통신선로의 중복 데이타 처리장치 및 방법에 관한 것이다. BACKGROUND OF THE
일반적으로 네트워크를 이용한 통신을 이용할 때 통신선로의 파손이나 기타 문제로 인한 정보 손실 또는 통신망 마비를 방지하기 위하여 선로나 통신장치를 이중화하여 사용한다. 즉, 송신장치는 선로상에 주기적으로 특정 정보를 전송하여 통신하는 상대 장치에게 현재 선로가 정상임을 알리다가, 일정 주기 이상 상기 특정 정보가 전달되지 않으면 현재 사용중인 선로에 이상이 발생하였다고 판단하고 다른 선로로 전환하여 통신을 수행한다.Generally, when using network communication, the line or communication device is duplicated to prevent information loss or communication paralysis due to breakage of communication line or other problems. That is, the transmitting apparatus informs the partner apparatus that the specific information is periodically transmitted on the line to communicate with the partner apparatus, and if the specific information is not transmitted over a predetermined period, it determines that an abnormality has occurred in the currently used line, And the communication is performed by switching to the line.
도 1 및 도 2는 종래 선로 이중화 방법의 일 예를 설명하기 위한 도면이다.1 and 2 are views for explaining an example of a conventional line duplication method.
도 1에 도시된 바와같이, 통신선로는 이중화되어 두개의 선로(A,B)를 가지고 있으며, 통신시 하나의 선로(A 또는B)를 이용하여 정보(또는 데이타)를 전송한다. As shown in FIG. 1, the communication line is duplexed and has two lines A and B, and transmits information (or data) using one line A or B during communication.
그런데, 도 2에 도시된 바와같이 현재 정보를 전송하고 있는 하나의 선로(A)에 이상이 발생하여 더 이상 선로(A)를 통한 정보 전송이 불가능해지면, 선로(A)의 상태를 나타내는 특정 정보가 상대 장치에게 전달되지 않게 된다. 2, when an abnormality occurs in one line (A) that is currently transmitting information and information can no longer be transmitted through the line (A), specific information indicating the state of the line (A) Is not transmitted to the counterpart device.
따라서, 선로제어장치(미도시)는 특정 정보가 상대 장치에게 전달되지 않게 되면 현재 사용중인 선로(A)에 이상이 발생한 것으로 감지하고, 상기 이상이 발생한 선로(A)대신에 선로(B)를 통하여 상기 정보를 전송하게 된다. Accordingly, when the specific information is not transmitted to the partner apparatus, the line control apparatus (not shown) detects that an abnormality has occurred in the currently used line (A), and instead of the line (A) And transmits the information.
그런데, 상기와 같은 이중화 방법은 이중화된 선로중에서 하나의 선로만 사용하여 정보를 전송하기 때문에 현재 사용중인 선로의 이상을 감지하고 다른 선로를 사용하게 되기까지 시간이 걸리는 문제점이 발생하여 선로전환 과정에서 정보가 전달되지 않아 일부 정보를 잃어버리는 문제점이 있었다. However, since the duplication method transmits information using only one of the redundant lines, it takes a long time to detect an abnormality of the currently used line and to use another line. Thus, The information is not transmitted and some information is lost.
도 3은 종래 선로 이중화 방법의 다른 예를 설명하기 위한 도면이다.3 is a diagram for explaining another example of a conventional line duplication method.
도 3에 도시된 종래의 선로 이중화 방법은, 하나의 선로만을 사용하여 정보를 전송하는 것이 아니라 이중화된 통신 선로를 동시에 사용하여 사용선로의 전환시 발생하는 시간지연와 정보손실을 해결한 방법이다. 이 경우 두 통신선로를 통해 동시에 같은 정보가 전송되기 때문에 정보가 중복 전달되는 문제가 발생된다. The conventional line duplication method shown in FIG. 3 is a method for solving a time delay and an information loss occurring when a used line is switched by using a duplicated communication line at the same time, instead of transmitting information using only one line. In this case, since the same information is simultaneously transmitted through the two communication lines, there is a problem that information is transmitted redundantly.
즉 도 3에 도시된 바와같이, 종래의 선로 이중화 방법에서는 중복된 정보의 처리를 위하여, 통신 선로에 연결되어 있는 각 노드별로 여러개의 레코드(record)를 보관할 수 있는 해쉬 테이블(hash table)(10)을 구성한다. 각 노드는 자신과 통신할 노드에 대해 각각 해쉬 테이블(10)을 정의하여 사용한다. 3, in a conventional line duplication method, a hash table 10 (a hash table) for storing a plurality of records for each node connected to a communication line for processing redundant information ). Each node defines and uses a hash table 10 for each node to communicate with itself.
예를들어 9개의 노드(노드01,노드02,.....,노드 08)가 있을 경우 각 노드는 자신과 통신할 각 노드에 대한 8개의 해쉬 테이블(10)을 가지게 된다. 상기 해쉬 테이블(10)은 패킷 번호를 기준으로 각 패킷 번호별로 패킷 길이, 전송선로, 데이타(정보), 각 패킷의 오류를 검출하기 위한 CRC(Cyclic Redunancy Check)를 저장할 수 있는 구조로 이루어져 있다. For example, if there are nine nodes (
상기 패킷 번호는 각 노드별로 관리된다. 즉, 각 노드는 정보를 전송할 때 패킷 번호를 1씩 증가시켜 전송한다. 상기 해쉬 테이블(10)은 시스템 초기화시 0으로 초기화되며, 하나의 패킷(20)이 수신되면 선로제어장치는 수신된 패킷(20)이 중복된 것인지 확인한다. 상기 확인은 수신 패킷의 노드번호와 패킷번호를 이용한다. The packet number is managed for each node. In other words, each node increases the packet number by 1 when it transmits information. The hash table 10 is initialized to 0 at system initialization, and when one
즉, 상기 해쉬 테이블(10)에서 현재 수신한 패킷(20)의 번호에 해당하는 정보중에서 선로번호만 다른지 비교하여 동일여부를 판단한다. 판단결과 다른 정보는 동일하지만 선로번호만 다르면 현재의 패킷(20)은 중복된 정보라고 판단하고, 선로번호뿐만 아니라 다른 정보도 다르다면 새로운 패킷이라고 판단한다. That is, it is determined whether or not only the line number is different from the information corresponding to the number of the
따라서, 상기 선로제어장치는 수신한 패킷(20)이 중복된 패킷인 경우에는 해당 패킷을 버리고, 새로운 패킷인 경우에는 해당 패킷(20)의 데이타를 수신한 후 해쉬 테이블(10)에 해당 패킷(20)에 관련된 정보(노드번호, 패킷번호, 선로번호, 패킷길이, 데이타)를 저장한다. Therefore, if the received
상술한 바와같이 이중화된 통신선로를 사용하여 동시에 동일한 패킷을 각 노드로 전송하는 종래의 방법은 자신과 통신할 노드에 대하여 사전에 각각 해쉬 테이블을 정의하여 구비한 후 수신한 패킷의 중복여부를 판단하여, 해당 패킷이 중복된 패킷인 경우 상기 해쉬 테이블에서 검색하여 삭제과정을 수행한다. As described above, the conventional method of transmitting the same packet to each node at the same time using the duplicated communication line is to define a hash table in advance for each node to communicate with itself, and then to determine whether the received packet is duplicated If the packet is a duplicate packet, it is searched in the hash table and the deletion process is performed.
그런데, 종래 해쉬 테이블을 이용한 선로 이중화 방법은 노드의 수가 증가할 경우 그에 대응되어 해쉬 테이블의 수도 증가되며, 특히 수신된 패킷이 다른 정보와 함께 해쉬 테이블에 저장되므로 수신 패킷의 수가 증가할 수록 해쉬 테이블의 크기가 증가하게 되어 상기 해쉬 테이블을 검색하는데 지연시간이 발생된다. However, in the conventional line redundancy method using a hash table, when the number of nodes increases, the number of hash tables increases correspondingly. In particular, since the received packets are stored in the hash table together with other information, A delay time is generated for searching the hash table.
또한, 수신된 데이터와 해쉬 테이블을 분리 저장하기 때문에 메모리가 낭비되며 해쉬 테이블과 데이터를 연결해 주는 부분이 추가로 필요하게 된다.In addition, since the received data and the hash table are separately stored, the memory is wasted, and a portion that connects the hash table and the data is additionally needed.
따라서, 본 발명의 목적은 해쉬 테이블을 이용하지 않고도 중복 정보(패킷)의 판단 및 처리를 효율적으로 수행할 수 있는 이중화 통신선로의 중복 데이타 처리장치 및 방법을 제공하는데 있다. Accordingly, an object of the present invention is to provide an apparatus and method for redundant data processing in a redundant communication line, which can effectively perform determination and processing of redundant information (packet) without using a hash table.
상기와 같은 목적을 달성하기 위하여 본 발명의 실시예에 따른 이중화 통신선로의 중복 데이타 처리방법은, 이중화 선로를 통해 패킷을 수신하는 단계; 적어도 하나 이상의 패킷 리스트가 서로 연결된 링크 리스트를 검색하여 상기 수신 패킷의 중복 여부를 판단하는 단계; 및 상기 수신 패킷의 중복 여부에 따라 중복된 패킷에 관련된 링크 리스트, 데이타 및 상기 수신 패킷의 폐기를 결정하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of processing redundant data on a redundant communication line, the method comprising: receiving a packet through a redundant line; Determining whether the received packet is duplicated by searching a linked list in which at least one packet list is connected to each other; And discarding the link list, the data, and the received packet related to the duplicated packet according to whether the received packet is duplicated.
상기 패킷은 이중화 선로중에서 하나의 선로를 통해 수신되거나 이중화 선로를 통하여 동시에 수신된다.The packet is received through one of the redundant lines or simultaneously through the redundant line.
상기 링크 리스트는 수신 패킷의 각 리스트가 연결됨과 함께 첫번째 리스트와 마지막 리스트가 연결된 환형 구조를 갖는다.The link list has an annular structure in which each list of received packets is concatenated and a first list and a last list are concatenated.
상기 결정 단계는 수신 패킷이 중복 패킷이면 이전에 해당 패킷의 링크 리스트와 데이타를 삭제하고 상기 수신된 패킷을 폐기하는 단계; 및 상기 수신 패킷이 중복 패킷이 아니면 해당 패킷의 링크 리스트를 생성하고 데이타를 저장하는 단계를 포함한다. If the received packet is a duplicate packet, deleting the link list and data of the packet and discarding the received packet; And generating a link list of the packet and storing data if the received packet is not a duplicate packet.
상기와 같은 목적을 달성하기 위하여 본 발명의 실시예에 따른 이중화 통신선로의 중복 데이타 처리장치는,이중화 선로를 통해 패킷을 송수신하는 송수신부; 각 패킷에 대한 링크 리스트 및 데이타를 저장하는 저장부; 및 송수신부를 통해 패킷이 수신되면 상기 저장부에 저장된 링크 리스트를 검색하여 수신 패킷의 중복 여부를 판단한 후 중복 패킷의 삭제 및 링크 리스트의 관리를 수행하는 이중화 제어부;를 포함한다. According to an aspect of the present invention, there is provided an apparatus for processing redundant data on a redundant communication line, the apparatus including: a transmitting / receiving unit transmitting and receiving a packet through a redundant line; A storage unit for storing a link list and data for each packet; And a duplication control unit for searching for a link list stored in the storage unit when a packet is received through the transmission / reception unit, determining whether the received packet is duplicated, and deleting duplicate packets and managing a linked list.
상기 패킷은 이중화 선로중에서 하나의 선로를 통해 수신되거나 이중화 선로를 통하여 동시에 수신된다.The packet is received through one of the redundant lines or simultaneously through the redundant line.
상기 링크 리스트는 수신 패킷의 각 리스트가 연결됨과 함께 첫번째 리스트와 마지막 리스트가 연결된 환형 구조를 갖는다.The link list has an annular structure in which each list of received packets is concatenated and a first list and a last list are concatenated.
상기 제어부는 수신한 패킷이 이전에 다른 선로로 수신된 중복 패킷이면 이전에 수신한 패킷에 대한 링크 리스트 및 데이타를 저장부로부터 삭제하고, 새로운 패킷을 폐기한다. If the received packet is a duplicate packet previously received on another line, the control unit deletes the link list and data for the previously received packet from the storage unit, and discards the new packet.
상기 제어부는 이중화 선로를 통해 패킷이 동시에 수신되는 방식에서, 하나의 선로를 통해서만 패킷이 수신되면 타임 아웃을 발생시켜 해당 패킷에 관련된 링크 리스트 및 데이타를 저장부로부터 삭제한다. In the method in which packets are simultaneously received through the redundant line, the control unit generates a timeout when a packet is received through only one line, and deletes the link list and data related to the packet from the storage unit.
본 발명은 수신 패킷의 저장주소만을 이용하여 리스트를 생성한 후 그 생성된 리스트들을 서로 링크시켜 링크 리스트를 생성함으로써 패킷의 중복판단에 의한 패킷의 저장, 삭제의 처리 속도를 개선할 수 있으며, 링크 구조에 의해 패킷 관리 및 프로그래밍을 간편하게 수행할 수 있는 효과가 있다. The present invention can improve the processing speed of storing and deleting a packet by duplication of a packet by generating a list using only a storage address of a received packet and linking the generated lists to generate a link list, Packet management and programming can be easily performed by the structure.
또한, 본 발명은 새로운 노드가 추가될 경우에도 종래 처럼 해쉬 테이블을 생성하는 것이 아니라 소프트웨어 및 하드웨어적 변경없이 단지 새로운 링크 리스트 (linked list)를 생성하여 사용함으로써 HMI, PLC 및 DCS등 자동화 시스템의 이중화 통신 구성에 많은 성능을 향상시킬 수 있다. Also, even when a new node is added, instead of generating a hash table as in the prior art, a new linked list is created and used without any software or hardware changes, so that redundancy of an automation system such as an HMI, a PLC, and a DCS It is possible to improve a lot of performance in communication configuration.
도 1 및 도 2는 종래 선로 이중화 방법의 일 예를 설명하기 위한 도면.
도 3은 종래 선로 이중화 방법의 다른 예를 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 이중화 통신선로의 중복 데이타 처리장치의 개략도.
도 5는 링크 리스트의 일 예인 환형구조의 링크 리스트를 나타낸 도면.
도 6은 본 발명의 실시예에 따른 이중화 통신선로의 중복 데이타 처리방법을 나타낸 순서도.1 and 2 are diagrams for explaining an example of a conventional line duplication method.
3 is a diagram for explaining another example of a conventional line duplication method;
4 is a schematic diagram of an apparatus for processing redundant data on a redundant communication line according to an embodiment of the present invention.
5 is a view showing a link list of an annular structure which is an example of a link list;
6 is a flowchart showing a redundant data processing method of a redundant communication line according to an embodiment of the present invention.
이하 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예에 따른 이중화된 통신 선로의 중복 데이타 처리방법은 HMI (Human Machine Interface), PLC(Programmable Logic Controller), DCS (Distributed Control System)등 자동화 시스템에서, 이중화된 통신 선로를 이용하여 데이타(정보)를 송수신할 때 해쉬 테이블을 사용하지 않고 중복 정보(패킷)의 판단 및 처리를 수행할 수 있는 방안을 제공한다. The redundant data processing method of the duplicated communication line according to the embodiment of the present invention can be applied to an automatic system such as an HMI (Human Machine Interface), a PLC (Programmable Logic Controller), and a DCS (Distributed Control System) (Packets) without using a hash table when transmitting and receiving information (information).
이를 위하여 본 발명은 자료구조 중 링크 리스트(Linked List)의 개념 즉, 이전 링크(Previous Link)와 다음 링크(Next Link)를 도입하여, 각 리스트의 다음 링크가 이전 리스트의 이전 링크에 연결되는 링크 리스트(Linked List)를 구현하여, 상기 링크 리스트를 이용하여 수신 데이타(패킷)의 중복성을 판단한다. 상기 링크 리스트는 첫번째 리스트가(First List) 마지막 리스트(Last List)에 연결된 환형 링크 리스트(Linked List)로 구현될 수 있다. To this end, the present invention introduces the concept of a linked list (i.e., a previous link) and a next link (data link structure) in a data structure, and links the next link of each list to a previous link of the previous list (Linked List), and determines the redundancy of the received data (packet) using the link list. The link list may be implemented as a linked list linked to a first list (First List).
도 4는 본 발명의 실시예에 따른 이중화 통신선로의 중복 데이타 처리장치의 개략도이다. 4 is a schematic diagram of an apparatus for processing redundant data on a redundant communication line according to an embodiment of the present invention.
도 4에 도시된 바와같이, 본 발명에 따른 이중화된 선로의 중복 데이타 처리 장치는 이중화 선로를 통해 패킷을 송수신하는 송수신부(30)와, 상기 송수신부(30)를 통해 수신 패킷의 중복 여부를 링크 리스트를 사용하여 판단하여 수신 패킷의 처리 및 삭제를 수행하는 이중화 제어부(40)와, 상기 수신 패킷에 대한 링크 리스트(linked list) 및 수신 패킷을 저장하는 저장부(50)를 포함한다. As shown in FIG. 4, the redundant data processing apparatus for redundant lines according to the present invention includes a transmitting / receiving
상기 송수신부(30)는 수신부 및 송신부로 구성되며, 상기 수신부는 수신 패킷의 정합성 검사하여 이중화 제어부(40)로 제공하고, 상기 송신부는 이중화 제어부(40)로부터 제공된 패킷을 다른 노드로 전송하거나 또는 다른 노드로부터 수신한 패킷에 대한 응답 메시지를 이중화 선로를 통해 전송한다.The transmitting and receiving
상기 이중화 제어부(40)는 이중화 선로를 통한 패킷(데이타) 처리 동작을 수행하며, 특히 패킷이 수신되면 환형 링크 리스트를 해당 패킷이 이전에 다른 선로로 수신된 패킷인지 체크하여, 새로운 패킷이면 처리하고, 이전에 수신한 패킷이면 환형 링크 리스트에서 삭제하고 상기 패킷을 폐기한다. The
상기 이중화 제어부(40)는 환형 리스크를 검색하여 수신 패킷의 동일성 여부를 판단하는 중복 판단부, 수신 패킷에 따라 명령을 처리하는 명령 처리부와, 수신 패킷이 중복 패킷인 경우 링크 리스트에서 이전에 수신된 패킷을 삭제하고, 현재 수신된 패킷을 폐기하는 패킷 삭제부와, 소정 시간동안 패킷이 수신되지 않으면 관련된 환형 링크 리스트를 삭제하는 타임 아웃부를 포함하여 구성된다. The
상기 저장부(50)는 수신된 패킷의 첫번째 리스트(목록)와 마지막 리스트가 연결된 링크 리스트(50a)와 상기 각 링크 리스트에 관련된 수신 패킷(데이타)(50b)을 저장하는 영역을 포함한다. The
상기 링크 리스트(50a)의 각 링크 리스트에는 수신 패킷에 대하여 이전 링크(previous link), 다음 링크(next link) 및 해당 패킷을 구분하기 위한 패킷 ID(수신패킷이 저장된 주소)가 저장되어 있으며, 상기 수신 패킷에는 노드번호, 선로번호, 패킷번호 및 데이타가 저장되어 있다.Each link list of the
도 5는 링크 리스트의 일 예인 환형구조의 링크(Linked list) 리스트이다.FIG. 5 is a list of links of an annular structure, which is an example of a link list.
도 5에 도시된 바와같이, 링크 리스트(50a)는 각 리스트의 다음 링크 (Next link)가 다음 리스트의 이전 링크(Previous link)에 연결되고, 마지막 리스트의 다음 링크(Next link)는 첫번째 리스트의 이전 링크(Previous Link)에 연결되는 환형 구조로 형성될 수 있다. 상기 환형 링크 리스트는 이전 링크 필드, 다음 링크 필드 및 패킷 ID필드로 구성되어, 상기 다음 링크 필드에는 이전 리스트의 ID가 등록되고, 상기 이전 링크 필드에는 마지막 리스트의 ID가 등록된다. As shown in FIG. 5, the
하지만, 환형구조가 아니라 일반 링크 구조일 경우 다음 링크 필드에는 이전 리스트의 ID가 등록되지만 이전 링크 필드에는 현재 리스트 ID가 등록된다. 이러한 일반 링크 구조를 이용하여도 패킷을 저장하여 처리 가능하고, 마지막 리스트와 첫번째 리스트가 연결된 환형 구조를 적용하여 자료구조의 신뢰성을 증대하였다.However, in the case of the general link structure instead of the annular structure, the ID of the previous list is registered in the next link field, but the current list ID is registered in the previous link field. By using this general link structure, the packet can be stored and processed, and the reliability of the data structure is increased by applying the annular structure in which the last list and the first list are connected.
이와 같이 구성된 이중화 통신 선로의 중복 데이타 처리장치의 동작을 첨부된 도면을 참조하여 설명하면 다음과 같다. The operation of the redundant data processing apparatus of the duplicated communication line will be described with reference to the accompanying drawings.
도 4에 도시된 바와같이, 각 노드는 이중화 선로 중 하나의 패킷을 통해 또는 동시에 패킷(메시지 또는 데이타)을 서로 주고 받는다. As shown in Fig. 4, each node exchanges packets (messages or data) with one another through one of redundant lines or simultaneously.
송신 노드(e.g., 노드 01)로부터 패킷이 수신되면, 수신노드(e.g.,노드 00)의 송수신부(30), 더 정확하게는 패킷 수신부는 수신 패킷의 정합성을 검사한 다음 이중화 제어부(40)로 전달한다. 상기 정합성은 CRC체크 및 송신노드가 이중화 선로에 연결된 노드인지 판단하는 동작을 포함한다. When the packet is received from the transmitting node (eg, the node 01), the transmitting / receiving
이중화 제어부(40)는 환형 링크 리스트에 수신 패킷의 링크 리스트를 생성하고, 중복 판단부를 이용하여 현재 수신된 패킷이 중복 패킷인지 확인한다. 상기 확인은 저장부(50)의 환형 링크 리스트(50a)를 이용한다. The
즉, 상기 환형 링크 리스트(50a)에 포함된 각 링크 리스트의 패킷 ID에 해당하는 수신 패킷을 찾아, 그 수신 패킷의 선로번호와 패킷번호를 이용하여 중복여부를 판단한다. 현재 수신된 패킷이 중복 패킷인 경우에는 패킷 삭제부를 이용하여 이전에 수신된 패킷을 삭제함과 함께 현재 수신된 패킷을 폐기한다. 하지만, 수신패킷이 새로운 패킷이면 명령 처리부를 통해 해당 패킷에 관련된 명령을 수행한다. That is, a received packet corresponding to the packet ID of each link list included in the
이중화 제어부(40)는 전송노드에서 이중화 선로를 통해 동시에 패킷을 전송할 경우, 하나의 선로로만 패킷이 수신되면 타임 아웃을 발생시켜 일정 시간동안 다른 하나의 패킷의 수신을 기다리고, 시간이 경과되면 환형 링크 리스트 및 그에 관련된 리스트 및 패킷을 삭제하여 시간 지연을 방지한다.When a packet is simultaneously transmitted through a redundant line in a transmission node, the
도 6은 본 발명의 실시예에 따른 이중화 통신 선로의 중복 데이타 처리방법을 나타낸 순서도이다. 본 발명은 설명의 편의를 위하여 환형 링크 리스트를 예로들어 설명한다. 6 is a flowchart illustrating a redundant data processing method for a redundant communication line according to an embodiment of the present invention. The present invention will be described by taking an annular link list as an example for convenience of explanation.
송수신부(30)를 통해 하나의 선로로부터 패킷이 수신되면(S10), 이중화 제어부(40)는 수신 패킷의 노드번호 및 패킷번호를 확인한 후 저장부(50)의 링크 리스트(50a)를 검색하여 현재 수신한 패킷이 중복 패킷인지 확인한다(S20). 즉, 상기 환형 링크 리스트(50a)에 포함된 각 링크 리스트의 패킷 ID로부터 이전에 수신되어 저장된 수신 패킷(50b)을 검색하고, 그 검색된 수신 패킷(50b)의 선로번호와 패킷번호를 이용하여, 이전에 동일 노드에서 선로만 다르게 수신된 패킷이 있는지 체크한다. 그런데, 환형 링크 리스트(50a)가 비어 있는 경우에는(최초로 패킷이 수신된 경우) 수신 패킷의 링크 리스트를 생성한 후 이전/다음 링크 필드에 현재 리스트의 ID를 등록한다. When a packet is received from one line through the transmission / reception unit 30 (S10), the
이러한 링크 리스트 생성 구조를 사용할 경우 본 발명은 종래와 같이 새로운 노드가 추가되어도 해쉬 테이블을 생성할 필요없이 단순히 수신 패킷의 환형 링크 리스트에 저장하면 중복 데이타 처리를 효과적으로 수행할 수 있게 된다. When such a link list generation structure is used, the present invention can efficiently perform redundant data processing by simply storing the hash table in an annular link list of a received packet without generating a hash table even if a new node is added as in the conventional method.
확인결과, 현재의 수신 패킷이 중복 패킷이 아니면 이중화 제어부(40)는 수신 패킷을 저장부(50)에 저장하고 환형 링크 리스트(50a)에 새로운 링크 리스트를 생성한다. 이때, 새로운 링크 리스트의 이전 링크필드에는 마지막 리스트의 ID가 등록되고, 다음링크 필드에는 이전에 생성된 리스트의 ID가 저장되며, 패킷 ID필드에는 상기 패킷이 저장된 주소가 저장된다. If the current received packet is not a duplicate packet, the
또한 이중화 제어부(40)는 수신 패킷에 따른 명령을 처리하거나 해당 패킷을 처리하고(S30), 송신노드로 전송할 정보가 있는 경우에는 송수신부(30)를 통하여 이중화 송신을 수행한다(S40). In step S30, the
반면에, 상기 단계(S20)에서 수신 패킷이 중복 패킷인 것으로 확인되면, 이중화 제어부(40)는 환형 링크 리스트(50a)에서 이전에 수신된 패킷(50b) 및 링크 리스트를 삭제하고(링크 리스트 갱신), 현재 수신된 패킷을 폐기한다(S50). On the other hand, if it is determined in step S20 that the received packet is a duplicate packet, the
즉, 현재 수신된 패킷이 도 5에서 2번째 링크 리스트의 패킷과 중복되면, 상기 2번째 링크 리스트 및 해당 패킷을 삭제한 후 첫번째 링크 리스트의 다음 링크(Next Link)와 3번째 링크 리스트의 이전 링크(previous Link)를 연결하여(리스트 ID를 등록하여) 환형구조를 유지한다. That is, if the currently received packet is overlapped with the packet of the second link list in FIG. 5, the second link list and the packet are deleted, and the next link of the first link list and the previous link of the third link list (registering the list ID) and maintaining the annular structure.
특히 송신 노드가 하나의 선로를 통해 패킷을 전송하는 것이 아니라 이중화된 선로를 통해 동시에 패킷을 전송할 경우, 이중화 제어부(40)는 이중화 선로로 하나의 패킷만 수신한 경우는 타임 아웃을 발생시켜 소정 시간동안 나머지 하나의 패킷이 수신되지 않으면 환형 링크 리스트(50a)에 저장된 링크 리스트 및 패킷을 생성하여 시간지연을 방지한다(S60). In particular, when the transmitting node transmits a packet simultaneously through a duplicated line instead of transmitting a packet through a single line, the
또한, 이중화 제어부(40)는 일정 시간(주기)마다 저장부(50)에 저장된 링크 리스트(50a) 및 수신 패킷(50b)을 수신 시간 순서에 따라 삭제하여, 저장부(50)에 대하여 메모리 정리를 수행한다. The
상술한 바와같이 본 발명은 종래 처럼 해쉬 테이블을 이용하여 중복 패킷을 판단하고 것이 아니라 수신 패킷을 링크 리스트(linked list)를 이용하여 중복 패킷을 판단함으로써 이중화 통신선로를 통한 데이터 통신의 성능을 개선할 수 있을 것이다. As described above, the present invention improves the performance of data communication through a redundant communication line by judging a duplicate packet using a linked list instead of determining a duplicate packet using a hash table as in the prior art It will be possible.
즉, 본 발명은 수신 패킷의 저장주소만을 이용하여 리스트를 생성한 후 그 생성된 리스트들을 서로 링크시켜 링크 리스트를 생성함으로써 패킷의 중복판단에 의한 패킷의 저장, 삭제의 처리 속도를 개선할 수 있으며, 링크 구조에 의해 패킷 관리 및 프로그래밍을 간편하게 수행할 수 있다. 특히 본 발명은 새로운 노드가 추가될 경우에도 종래 처럼 해쉬 테이블을 생성하는 것이 아니라 소프트웨어 및 하드웨어적 변경없이 단지 새로운 링크 리스트 (linked list)를 생성하여 사용함으로써 HMI, PLC 및 DCS등 자동화 시스템의 이중화 통신 구성에 많은 성능향상을 줄 수 있다. That is, according to the present invention, a list is generated using only a storage address of a received packet, and the created lists are linked with each other to generate a link list, thereby improving the processing speed of storing and deleting packets due to duplication of packets , Packet management and programming can be easily performed by the link structure. In particular, when a new node is added, a hash table is not generated as in the conventional method, but a new linked list is created and used without any software or hardware changes. Thus, redundant communication of an automation system such as an HMI, PLC, You can get a lot of performance improvements in your configuration.
또한, 본 발명의 일 실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는, 단말기의 제어부를 포함할 수도 있다.Further, according to an embodiment of the present invention, the above-described method can be implemented as computer-readable code on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer-readable medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) . Further, the computer may include a control unit of the terminal.
상기와 같이 설명된 이동 단말기는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. The mobile terminal described above can be applied to not only the configuration and method of the embodiments described above but also all or some of the embodiments may be selectively combined so that various modifications may be made to the embodiments It is possible.
30 : 송수신부 40 : 이중화 제어부
50 : 저장부 50a : 링크 리스트
50b : 수신 패킷30: Transmitting / receiving unit 40:
50:
50b: received packet
Claims (15)
적어도 하나 이상의 패킷 리스트가 서로 연결된 링크 리스트를 검색하여 상기 수신 패킷의 중복 여부를 판단하는 단계;
상기 수신 패킷의 중복 여부에 따라 중복된 패킷에 관련된 링크 리스트, 데이타 및 상기 수신 패킷의 폐기를 결정하는 단계; 및
이중화 선로를 통해 패킷이 동시에 수신되는 방식에서, 하나의 선로를 통해서만 패킷이 수신되면 타임 아웃을 발생시켜 해당 패킷에 관련된 링크 리스트 및 데이타를 저장부로부터 삭제하는 단계;를 포함하는 이중화 통신선로의 중복 데이타 처리방법. Receiving a packet through a redundant line;
Determining whether the received packet is duplicated by searching a linked list in which at least one packet list is connected to each other;
Determining whether to discard the link list, the data, and the received packet related to the duplicated packet according to the duplication of the received packet; And
Generating a timeout when a packet is received through only one line in a manner that packets are simultaneously received through a redundant line, and deleting a link list and data associated with the packet from the storage unit; Data processing method.
수신 패킷이 중복 패킷이면 이전에 해당 패킷의 링크 리스트와 데이타를 삭제하고 상기 수신된 패킷을 폐기하는 단계; 및
상기 수신 패킷이 중복 패킷이 아니면 해당 패킷의 링크 리스트를 생성하고 데이타를 저장하는 단계를 포함하는 것을 특징으로 하는 이중화 통신선로의 중복 데이타 처리방법. 2. The method of claim 1,
If the received packet is a duplicate packet, deleting the link list and data of the packet and discarding the received packet; And
If the received packet is not a duplicate packet, generating a link list of the packet and storing the duplicated data.
이중화 선로중에서 하나의 선로를 통해 수신되거나 이중화 선로를 통하여 동시에 수신되는 이중화 통신선로의 중복 데이타 처리방법. 2. The method of claim 1,
A method for processing redundant data in a redundant communication line, the redundant data being received through one of the redundant lines or simultaneously received through the redundant line.
수신 패킷의 각 리스트가 연결됨과 함께 첫번째 리스트와 마지막 리스트가 연결된 환형 구조를 갖는 이중화 통신선로의 중복 데이타 처리방법. 2. The method of claim 1,
Wherein each list of received packets is concatenated, and the first list and the last list are concatenated.
이전 링크 필드, 다음 링크 필드 및 패킷 ID필드를 포함하는 이중화 통신선로의 중복 데이타 처리방법. 2. The method of claim 1,
A previous link field, a next link field, and a packet ID field.
각 패킷에 대한 링크 리스트 및 데이타를 저장하는 저장부; 및
송수신부를 통해 패킷이 수신되면 상기 저장부에 저장된 링크 리스트를 검색하여 수신 패킷의 중복 여부를 판단한 후 중복 패킷의 삭제 및 링크 리스트의 관리를 수행하는 이중화 제어부;를 포함하고,
상기 제어부는
이중화 선로를 통해 패킷이 동시에 수신되는 방식에서, 하나의 선로를 통해서만 패킷이 수신되면 타임 아웃을 발생시켜 해당 패킷에 관련된 링크 리스트 및 데이타를 저장부로부터 삭제하는 것을 특징으로 하는 이중화 통신선로의 중복 데이타 처리장치. A transmitting and receiving unit for transmitting and receiving a packet through the redundant line;
A storage unit for storing a link list and data for each packet; And
Receiving a packet through the transmission / reception unit, searching for a link list stored in the storage unit, determining whether the received packet is duplicated, and deleting duplicate packets and managing a link list;
The control unit
When a packet is received through only one line, a timeout is generated, and the link list and data related to the packet are deleted from the storage unit in a manner that packets are simultaneously received through the redundant line. Processing device.
이중화 선로중에서 하나의 선로를 통해 수신되거나 이중화 선로를 통하여 동시에 수신되는 이중화 통신선로의 중복 데이타 처리장치. 10. The method of claim 9,
A redundant data processing apparatus for a redundant communication line, the redundant data line being received through one of the redundant lines or simultaneously received through the redundant line.
수신 패킷의 각 리스트가 연결됨과 함께 첫번째 리스트와 마지막 리스트가 연결된 환형 구조를 갖는 이중화 통신선로의 중복 데이타 처리장치. 10. The method of claim 9,
Wherein each list of received packets is concatenated and has an annular structure in which a first list and a last list are concatenated.
이전 링크 필드, 다음 링크 필드 및 패킷 ID필드를 포함하며, 상기 다음 링크 필드에는 이전 리스트의 ID가 등록되고, 상기 이전 링크 필드에는 마지막 리스트의 ID가 등록되며, 상기 패킷 ID필드에는 수신 데이타의 저장된 주소를 나타내는 것을 특징으로 하는 이중화 통신선로의 중복 데이타 처리장치. 10. The method of claim 9,
A previous link field, a next link field, and a packet ID field, the ID of the previous list is registered in the next link field, the ID of the last list is registered in the previous link field, and the packet ID field is stored Address of the redundant communication line.
수신한 패킷이 이전에 다른 선로로 수신된 중복 패킷이면 이전에 수신한 패킷에 대한 링크 리스트 및 데이타를 저장부로부터 삭제하고, 새로운 패킷을 폐기하는 것을 특징으로 하는 이중화 통신선로의 중복 데이타 처리장치. 10. The apparatus of claim 9, wherein the control unit
And deletes the link list and data for the previously received packet from the storage unit and discards the new packet if the received packet is a duplicate packet previously received on another line.
일정 기간마다 상기 저장부에 저장된 링크 리스트 및 데이타를 수신시간 순서에 따라 삭제하여 메모리 정리를 수행하는 것을 특징으로 하는 이중화 통신선로의 중복 데이타 처리장치.
10. The apparatus of claim 9, wherein the control unit
And the memory arrangement is performed by deleting the link list and the data stored in the storage unit according to the reception time order.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120025116A KR101605045B1 (en) | 2012-03-12 | 2012-03-12 | Apparatus and method for processing duplicated data of redundancy communication line |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120025116A KR101605045B1 (en) | 2012-03-12 | 2012-03-12 | Apparatus and method for processing duplicated data of redundancy communication line |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130116407A KR20130116407A (en) | 2013-10-24 |
KR101605045B1 true KR101605045B1 (en) | 2016-03-21 |
Family
ID=49635470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120025116A Expired - Fee Related KR101605045B1 (en) | 2012-03-12 | 2012-03-12 | Apparatus and method for processing duplicated data of redundancy communication line |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101605045B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101672453B1 (en) | 2015-03-16 | 2016-11-03 | 삼성중공업 주식회사 | Profibus network system and method for controlling the same |
KR102012419B1 (en) * | 2018-03-13 | 2019-08-20 | 엘에스산전 주식회사 | Communication device and method for receiving packet of the same |
CN110098959B (en) * | 2019-04-23 | 2021-11-16 | 广东技术师范大学 | Industrial control protocol interactive behavior modeling method, device, system and storage medium |
KR102795257B1 (en) * | 2023-10-12 | 2025-04-16 | 한국전자기술연구원 | Data communication encryption and duplication method for unmanned aerial vehicles |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100274390B1 (en) * | 1997-12-30 | 2001-01-15 | 윤종용 | Redundancy Information Determination Method of Communication System with Duplexed Communication Lines |
JP2006324817A (en) * | 2005-05-17 | 2006-11-30 | Ntt Docomo Inc | Data communication system and data communication method |
-
2012
- 2012-03-12 KR KR1020120025116A patent/KR101605045B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100274390B1 (en) * | 1997-12-30 | 2001-01-15 | 윤종용 | Redundancy Information Determination Method of Communication System with Duplexed Communication Lines |
JP2006324817A (en) * | 2005-05-17 | 2006-11-30 | Ntt Docomo Inc | Data communication system and data communication method |
Also Published As
Publication number | Publication date |
---|---|
KR20130116407A (en) | 2013-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101579917B1 (en) | Method, device, system and storage medium for implementing packet transmission in pcie switching network | |
JP5187249B2 (en) | Redundant system connection recovery device, method and processing program | |
JP6988511B2 (en) | Failure detection method, node device, communication system | |
CN103514173B (en) | Data processing method and node device | |
JP6048995B2 (en) | Method, computer program, information storage means and system for setting node device of mesh communication network | |
CN106878184B (en) | Data message transmission method and device | |
CN103944974B (en) | A kind of protocol message processing method, controller failure processing method and relevant device | |
CN109495320B (en) | Data message transmission method and device | |
KR101605045B1 (en) | Apparatus and method for processing duplicated data of redundancy communication line | |
CN102571492A (en) | Method and device for detecting routing equipment failure | |
KR20160033753A (en) | Switching device, controller, and method and system for switching device configuration and packet processing | |
CN109889411B (en) | Data transmission method and device | |
EP3031172B1 (en) | Managing data feeds | |
JP7046983B2 (en) | Packet transmission method and equipment | |
CN111970092B (en) | A method of asynchronous communication in multi-protocol redundant network supporting reliability adjustment | |
CN114205263B (en) | Communication method, system and storage medium for Ether CAT network | |
CN109189403B (en) | Operating system OS batch installation method and device and network equipment | |
CN113347084B (en) | Message forwarding method and device | |
CN104683288A (en) | Message continuous transmission method and device | |
JP2004306200A (en) | Robot control system | |
CN102082696B (en) | Redundancy network system and message sending method based on same | |
CN106789495B (en) | A single-controller master-slave network bus controller online switching method | |
CN112637053B (en) | Method and device for determining backup forwarding path of route | |
CN109039822B (en) | BFD protocol message filtering method and system | |
CN103763170B (en) | Looped network protecting method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
FPAY | Annual fee payment |
Payment date: 20190121 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20200316 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20200316 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |