KR101674294B1 - 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법 - Google Patents

임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법 Download PDF

Info

Publication number
KR101674294B1
KR101674294B1 KR1020150050855A KR20150050855A KR101674294B1 KR 101674294 B1 KR101674294 B1 KR 101674294B1 KR 1020150050855 A KR1020150050855 A KR 1020150050855A KR 20150050855 A KR20150050855 A KR 20150050855A KR 101674294 B1 KR101674294 B1 KR 101674294B1
Authority
KR
South Korea
Prior art keywords
node
data
value
state
pointer
Prior art date
Application number
KR1020150050855A
Other languages
English (en)
Other versions
KR20160121717A (ko
Inventor
최훈
윤군재
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Priority to KR1020150050855A priority Critical patent/KR101674294B1/ko
Publication of KR20160121717A publication Critical patent/KR20160121717A/ko
Application granted granted Critical
Publication of KR101674294B1 publication Critical patent/KR101674294B1/ko

Links

Images

Classifications

    • G06F17/3048
    • G06F17/30457
    • G06F17/30504
    • G06F17/30876

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터 상태 및 데이터 식별번호를 포함하여 구성되는 노드를 데이터 식별번호를 통해 임의 접근이 가능하도록 함은 물론, 노드에 동일 상태의 노드들을 연결하는 노드 포인터를 설정하는 연결리스트 구조를 통해 상태 접근이 가능하도록 함으로써, 데이터 송수신 처리속도를 보다 향상시킬 수 있도록 해 주는 임의 접근 및 상태 접근이 가능한 자료구조 및 그 운용 방법에 관한 것이다.
본 발명에 따른 임의 접근 및 상태 접근이 가능한 자료구조 및 그 운용 방법은 데이터 상태에 대응되는 데이터 연결리스트의 시작 노드가 저장되는 상태 포인터와 노드 배열영역의 배열 인덱스로 구성되는 헤더 영역과, 다수의 노드가 데이터의 식별번호와 동일한 값을 갖는 위치에 저장되는 노드 배열영역으로 이루어지고, 상기 노드는 상태값과 식별번호를 포함하는 데이터와, 해당 데이터와 동일한 상태값을 갖는 주변 노드에 대한 노드 포인터로 구성되는 저장 모듈과, 데이터의 식별번호에 대응되는 노드 배열영역의 위치에 해당 데이터를 저장하고 데이터의 상태값에 대응되는 노드 포인터를 설정하여 노드를 생성함으로써 해당 데이터에 대한 삽입처리를 수행하고, 생성된 노드에 대응되도록 상기 헤더 영역 정보를 변경설정함과 더불어, 배열 인덱스의 리스트 시작값과 입력되는 데이터의 식별번호의 차이값을 근거로 상기 노드 배열영역에서 해당 데이터가 포함된 노드에 대한 임의접근을 수행하여 해당 데이터에 상태 수정 및 삭제처리를 수행하며, 상기 헤더 영역의 상태 포인터에 설정된 시작 노드의 노드 포인터를 근거로 해당 상태값을 갖는 모든 데이터 대한 상태 접근처리를 수행하는 관리 모듈을 포함하여 구성되는 것을 특징으로 한다.

Description

임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법{Apparatus for operating data structure capable of random access and state access and operating method thereof}
본 발명은 데이터 상태 및 데이터 식별번호를 포함하여 구성되는 노드를 데이터 식별번호를 통해 임의 접근이 가능하도록 함은 물론, 각 노드에 동일 상태의 노드들을 연결하는 노드 포인터를 설정하는 연결리스트 구조를 통해 상태 접근이 가능하도록 함으로써, 데이터 송수신 처리속도를 보다 향상시킬 수 있도록 해 주는 임의 접근 및 상태 접근이 가능한 자료구조 및 그 운용 방법에 관한 것이다.
일반적으로 신뢰성 데이터 송수신처리를 수행하는 통신시스템에 있어서는 특정 노드로의 패킷 송수신 완료 확인, 재전송 요청, 통신 장애 여부 등의 상태관리를 위해 각 노드별로 송수신할 데이터의 목록과 각 데이터의 상태를 관리하기 위한 자료구조를 사용한다.
상기 자료구조는 빈번하게 데이터가 송수신되는 통신시스템의 특징에 따라 데이터의 상태 및 순서에 따른 접근 및 수정이 빈번하게 발생하기 때문에, 자료구조 내에서의 데이터 접근 속도는 해당 통신시스템의 성능을 좌우한다.
도1은 통신시스템에서 사용되는 자료구조 관리방법을 설명하기 위한 도면으로, 1. 배열 관리 방법(A)과, 2. 이중연결리스트 관리 방법(B) 및 3. 상태벡터 관리 방법(C)이 도시되어 있다. 이때, 자료구조에 저장되는 데이터는 해당 데이터의 상태값(s)과 해당 데이터에 대한 식별번호를 포함한다.
1. 배열 관리 방법(A)은 가장 단순하고 기본적인 자료구조로서, 배열구조로 이루어져 데이터 식별번호 검색시 임의 접근(Random Access)을 통하여 배열의 한 부분을 빠르게 접근하는 것이 가능하다. 즉, 배열의 인덱스와 데이터 식별번호를 동일하게 생성함으로써, 검색하고자 하는 식별번호에 해당하는 데이터에 바로 접근하여 탐색하는 것이 가능하다.
그러나, 상기한 배열관리 방법은 특정 상태의 모든 데이터를 탐색하고자 하는 경우, 자료구조에 저장된 모든 데이터를 일일이 탐색하여 해당 상태값을 갖는 모든 데이터를 획득하여야 하기 때문에, 상태 탐색시 검색 속도가 느리다는 단점이 있다.
2. 이중연결리스트 구조관리 방법(B)은 상기한 배열 관리 방법(A)의 단점인 상태 탐색 문제를 보완한 구조로, 상태 포인터별 해당 상태의 데이터가 연결되는 구조로 구성된다. 이때, 각 데이터 상태별 상기 데이터들은 이전 데이터 포인터와 이후 데이터 포인터정보를 추가하여 상호 링크 결합되도록 구성된다. 즉, 특정 상태를 나타내는 연결리스트의 헤더를 통해 한 번에 동일 상태의 데이터 목록을 모두 획득하는 것이 가능하다.
그러나, 상기한 이중연결리스트 관리 방법(B)은 식별번호에 대한 탐색이 필요한 경우, 각 데이터 상태에 대해 연결된 데이터를 모두 탐색하여야 하기 때문에, 식별번호를 이용한 임의 접근시 탐색 속도가 느리다는 단점이 있다.
3. 상태벡터 관리방법(C)은 상기 배열 관리 방법(A)에서의 메모리 관리 문제를 해결하면서 상태 접근이 가능하도록 된 구조로서, 사용하지 않는 메모리를 유지하지 않기 때문에 메모리 이용은 효율적이나, 상기 이중연결리스트 관리 방법(B)과 마찬가지로 식별번호에 대한 탐색이 필요한 경우, 각 데이터 상태에 대해 연결된 데이터를 이진 탐색(Binary Search)하기 때문에, 식별번호를 이용한 임의 접근시 탐색 속도가 느리다는 단점이 있다. 특히, 상태벡터 관리방법(C)은 이진 탐색을 위해 자료구조 내의 이진 검색된 데이터를 식별번호에 따라 재정렬해야하는 단점이 있다.
즉, 통신시스템에서는 상황에 따라 특정 식별번호의 데이터를 탐색하거나 또는 특정 상태의 모든 데이터를 검색하는 상황이 발생할 수 있는 바, 통신시스템의 성능 향상을 위해서는 임의 접근과 상태 접근이 모두 가능한 자료구조가 요구된다.
이에, 자료구조에 저장되는 데이터에 대해 배열구조와 이중연결리스트의 형태로 이중화하여 관리하는 방법이 있을 수 있으나, 이는 이중 관리를 위해 사용되는 메모리 용량이 증가되는 문제가 있게 된다.
1. 한국공개특허 제2013-0143706호 (발명의 명칭 : 그래프 데이터용 분산형 캐시) 2. 한국등록특허 제0617765호 (발명의 명칭 : 통신시스템 내 실시간 분산 객체 지향 데이터베이스 관리 시스템을 위한 분산 데이터베이스 관리시스템 캐쉬 관리 방법 및 장치)
본 발명은 상기한 사정을 감안하여 창출된 것으로, 메모리 증가량을 최소화하면서 배열구조를 통한 임의 접근이 가능함은 물론, 연결리스트를 통한 상태 접근이 가능하도록 해 주는 임의 접근 및 상태 접근이 가능한 자료구조 및 그 운용 방법을 제공함에 그 기술적 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 데이터 상태에 대응되는 데이터 연결리스트의 시작 노드가 저장되는 상태 포인터와 노드 배열영역의 리스트 시작값을 포함하는 배열 인덱스로 구성되는 헤더 영역과, 다수의 노드가 데이터의 식별번호와 동일한 값을 갖는 위치에 저장되는 노드 배열영역으로 이루어지고, 상기 노드는 상태값과 식별번호를 포함하는 데이터와, 해당 데이터와 동일한 상태값을 갖는 주변 노드에 대한 노드 포인터로 구성되어 이 노드 포인터를 통해 해당 상태에 대한 데이터 연결리스트를 형성하도록 구성되는 저장 모듈과, 삽입요구되는 데이터의 식별번호에 대응되는 노드 배열영역의 위치에 해당 데이터를 저장하고 데이터의 상태값에 대응되는 노드 포인터를 설정하여 노드를 생성함으로써 해당 데이터에 대한 삽입처리를 수행하며, 생성된 노드에 대응되도록 상기 헤더 영역 정보를 변경설정함과 더불어, 배열 인덱스의 리스트 시작값과 입력되는 데이터의 식별번호의 차이값을 근거로 상기 노드 배열영역에서 해당 데이터가 포함된 노드에 대한 임의접근을 수행하여 해당 데이터에 상태 수정 및 삭제처리를 수행하고, 이에 대응되도록 해당 노드의 연결포인트를 변경설정하며, 상기 헤더 영역의 상태 포인터에 설정된 시작 노드의 노드 포인터를 근거로 해당 상태값을 갖는 모든 데이터 대한 상태 접근처리를 수행하는 관리 모듈을 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치가 제공된다.
또한, 상기 배열 인덱스는 노드 배열영역의 시작 위치와, 노드 배열영역에서 시작 노드의 식별번호로 설정되는 리스트 시작값을 포함하여 구성되고, 상기 관리모듈은 노드 배열영역의 시작 위치 노드에 데이터가 존재하지 않는 경우, 다음 위치의 노드를 확인하고, 노드 배열영역에서 노드가 존재하는 경우, 상기 배열 인덱스의 시작 위치 정보를 해당 노드의 노드 포인터로 변경 설정함과 더불어, 상기 배열 인덱스의 리스트 시작값을 해당 노드의 식별번호로 변경설정하도록 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조가 제공된다.
또한, 상기 노드는 데이터의 전단에 동일한 상태값을 갖는 이전 노드에 대한 노드 포인터가 저장되는 제1 필드와, 데이터의 후단에 동일한 상태값을 갖는 이후 노드에 대한 노드 포인터가 저장되는 제2 필드를 포함하여 구성되고, 해당 상태값을 갖는 마지막 노드의 제2 필드에는 해당 상태값을 갖는 시작 노드의 노드 포인터가 저장되어, 동일 상태값을 갖는 노드가 원형 리스트 형태로 연결되도록 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조가 제공된다.
또한, 상기 노드 배열영역은 원형 큐(Queue)로 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조가 제공된다.
또한, 상기 상태 포인터는 UNACKNOWLEDGED, ACKNOWLEDGED, REQUESTED, UNDERWAY, UNSET, LOST, MISSING, RECEIVED, UNKNOWN 중 적어도 하나 이상을 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조가 제공된다.
또한, DDS시스템에서의 히스토리캐시에 적용되어, 상기 데이터는 토픽데이터를 포함하는 캐시체인지이고, 상기 식별번호는 시퀀스 번호로 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조가 제공된다.
또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 일측면에 따르면, 관리모듈에서 데이터의 식별번호에 대응되는 노드 배열영역의 위치에 해당 데이터를 저장하고 해당 데이터의 상태값에 대응되는 노드 포인터를 설정하여 노드를 생성함으로써, 해당 데이터에 대한 삽입처리를 수행하는 데이터 삽입처리단계와, 상기 관리모듈은 상기 데이터 삽입처리단계에서 생성된 노드에 대응되도록 상태 포인터를 해당 상태값을 갖는 시작 노드의 노드 포인터로 설정함과 더불어, 노드 배열영역의 시작 노드의 시퀀스 번호를 배열 인덱스의 리스트 시작값으로 설정하는 헤더 영역 설정 단계, 데이터를 포함하는 노드가 노드 배열영역에 삽입되고 그에 대응되도록 헤더 영역 정보가 설정되어 있는 상태에서, 상기 관리모듈은 상기 노드 배열영역에서 배열 인덱스의 리스트 시작값과 입력되는 데이터의 식별번호의 차이값을 근거로 해당 데이터가 포함된 노드에 대한 임의접근을 수행하여 해당 데이터에 대한 상태 수정 및 삭제처리를 수행함과 더불어 이에 대응되도록 해당 노드의 연결포인트 및 헤더 영역 정보를 변경설정하는 임의 접근처리단계 및, 데이터를 포함하는 노드가 노드 배열영역에 삽입되고 그에 대응되도록 헤더 영역이 설정되어 있는 상태에서, 상기 관리모듈은 상기 상태 포인터에 설정된 시작 노드의 노드 포인터를 탐색함으로써 해당 상태값을 갖는 모든 데이터에 대한 상태 접근처리를 수행하는 상태 접근처리단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법이 제공된다.
또한, 상기 노드는 상태값과 식별번호로 구성되는 데이터와, 해당 데이터와 동일한 상태값을 갖는 주변 노드에 대한 노드 포인터로 구성되고, 이 노드 포인터를 통해 해당 상태에 대한 데이터 연결리스트가 형성되되, 해당 상태값을 갖는 마지막 노드에는 해당 상태값을 갖는 시작 노드의 노드 포인터가 저장되어, 동일 상태값을 갖는 노드가 원형 리스트 형태로 연결되도록 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법이 제공된다.
또한, 상기 데이터 삽입처리단계는 삽입요구되는 데이터의 식별번호와 상기 리스트 시작값을 비교하여 그 차이값을 산출하는 단계와, 삽입요구되는 데이터의 식별번호와 리스트 시작값과의 차이에 대응되는 노드 배열영역의 위치에 해당 데이터를 위치시키는 단계 및, 해당 데이터의 전단에 위치하는 제1 필드에는 동일한 상태값을 갖는 이전 노드의 노드 포인터를 설정하고, 제2 필드에는 동일한 상태값을 갖는 이후 노드의 노드 포인터를 설정하여 노드를 생성하되, 마지막 노드의 제2 필드에는 해당 상태값을 갖는 시작 노드의 노드 포인터를 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법이 제공된다.
또한, 상기 임의 접근 처리단계는 임의 데이터에 대한 상태 변경요구정보가 수신되면, 상태 변경요구되는 데이터의 식별번호와 상기 리스트 시작값을 비교하여 그 차이값을 산출하는 단계와, 데이터의 식별번호와 상기 리스트 시작값과의 차이를 근거로 노드 배열영역에서 해당 데이터가 포함된 노드 위치를 탐색하는 단계, 탐색된 위치의 노드에서 데이터의 상태값을 변경설정함과 더불어, 변경된 상태값에 대응되도록 노드 포인터를 변경설정하는 단계 및, 상기 변경설정된 노드와 동일한 상태값을 갖는 노드가 존재하지 않는 경우에는 해당 상태값에 대응되는 상태 포인터를 초기화 설정하고, 변경된 상태값에 대응되는 상태 포인터의 시작 노드값이 현재 상태변경된 노드값보다 큰 경우, 해당 상태 포인터의 노드값을 현재 노드값으로 변경설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법이 제공된다.
또한, 상기 임의 접근 처리단계는 임의 데이터에 대한 삭제요구정보가 수신되면, 삭제요구되는 데이터의 식별번호와 상기 리스트 시작값을 비교하여 그 차이값을 산출하는 단계와, 데이터의 식별번호와 상기 리스트 시작값과의 차이를 근거로 노드 배열영역에서 해당 데이터가 포함된 노드 위치를 탐색하는 단계, 탐색된 위치의 노드를 삭제함과 더불어 삭제된 노드와 관련된 노드 포인터를 변경설정하는 단계 및, 삭제된 노드의 상태값에 해당하는 노드 포인터에 연결된 노드가 존재하지 않을 경우에는 해당 상태값의 상태 포인터를 초기화설정하고, 삭제된 상태값에 대응되는 상태 포인터의 노드값이 현재 삭제된 노드값인 경우, 삭제된 노드 이후 노드값을 해당 상태 포인터 노드값으로 변경 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법이 제공된다.
또한, DDS시스템에서의 히스토리캐시 운용방법에 적용되어, 상기 데이터는 토픽데이터를 포함하는 캐시체인지이고, 상기 식별번호는 시퀀스 번호로 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용 방법이 제공된다.
본 발명에 의하면 데이터의 상태값 및 식별번호를 포함하는 노드를 식별번호에 따라 배열 저장하여 식별 번호에 대한 임의 접근이 가능함과 더불어, 배열 저장된 노드에 대해 데이터 상태별 연결리스트를 설정함으로써 상태 접근이 가능하게 된다. 따라서, 메모리 증가량을 최소화하면서 통신시스템에서 본 발명에 따른 자료구조를 통한 데이터 송수신 처리 속도를 향상시킬 수 있게 된다.
또한, 노드가 저장되는 노드 배열영역을 원형 큐로 구성하고, 이 원형 큐에 대한 인덱스정보를 관리함으로써, 통신 시스템에서 데이터 송수신 처리를 위한 보다 효율적인 메모리 사용이 가능하게 된다.
특히, 본 발명에 따른 임의접근 및 상태 접근이 가능한 자료구조를 DDS 시스템에 적용하여 실시하는 경우, 토픽정보를 포함하는 캐시체인지를 통한 데이터 송수신 처리 속도를 향상시킬 수 있게 된다.
도1은 통신시스템에서 일반적인 자료구조 관리 방법을 설명하기 위한 도면.
도2는 본 발명에 따른 임의 접근 및 상태 접근이 가능한 자료구조 운용장치를 개략적으로 도시한 도면.
도3은 도2에 도시된 저장 모듈(200)의 내부 구성을 도시한 도면.
도4는 본 발명이 적용되는 DDS 시스템에서의 데이터 송수신 구성을 개략적으로 도시한 도면.
도5는 도4에 도시된 DDS시스템에서 임의 접근 및 상태 접근이 가능한 히스토리캐시 운용 방법을 설명하기 위한 도면.
도6 내지 도9는 본 발명에 따른 자료구조를 이용한 삽입, 상태 변경, 삭제 및 갱신처리 과정을 DDS시스템에서의 히스토리캐시에 적용하여 설명하기 위한 도면.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
도2는 본 발명에 따른 임의 접근 및 상태 접근이 가능한 자료구조 운용장치를 개략적으로 도시한 도면이다.
도2에 도시된 바와 같이 임의 접근 및 상태 접근이 가능한 자료구조 운용장치는 관리 모듈(100)과 저장 모듈(200)로 구성된다.
상기 관리 모듈(100)은 객체로부터의 데이터 처리 요구에 대해 저장 모듈(200)와 연동하도록 해당 데이터에 대한 삽입처리를 수행함과 더불어, 임의 접근을 통해 목적하는 데이터에 대한 수정 및 삭제처리를 수행함은 물론, 상태 탐색처리를 수행한다. 또한, 상기 관리 모듈(100)은 저장 모듈(200)의 효율적인 메모리 운용을 위해 데이터 갱신처리를 수행한다. 이때, 상기 관리 모듈(100)은 상기 저장 모듈(200)을 이용하기 위한 알고리즘 형태로 구현될 수 있다. 또한, 상기 객체는 해당 자료구조가 형성된 장치에 동작되는 각종 응용프로그램 또는 응용 프로그램의 동작 모듈들이 될 수 있다.
또한, 도2에서 상기 저장 모듈(200)은 헤더 영역(210)과, 노드 배열영역(220)으로 구성된다. 그리고, 상기 헤더 영역(210)은 도4에 도시된 바와 같이, 상태 포인터(211)와, 배열 인덱스(212)로 구성된다.
상기 상태 포인터(211)는 각 상태별 노드 배열영역(220)의 시작 노드값으로 설정된다. 이때, 상기 상태 포인터(211)는 데이터가 갖고 있는 상태정보에 대응되는 것으로, 예컨대 UNACKNOWLEDGED, ACKNOWLEDGED, REQUESTED, UNDERWAY, UNSET, LOST, MISSING, RECEIVED, UNKNOWN 등이 될 수 있다. 도3에는 3개의 서로 다른 제1 내지 제3 상태 포인터(S1,S2,S3)가 도시되어 있다.
또한, 상기 배열 인덱스(212)는 노드 배열영역(220)의 노드 저장 시작위치 (212a)와 저장가능한 최대 노드 수(212b) 및 리스트 시작값(212c)으로 구성된다.
한편, 상기 노드 배열영역(220)에는 다수의 노드(221)가 저장된다. 이때, 상기 노드 배열영역(220)은 메모리의 사용 효율을 향상시키기 위해 바람직하게는 원형 큐(Queue)로 구성된다.
또한, 상기 노드(221)는 상태값(221a)과 식별 번호(221b)를 포함하여 구성되는 데이터(D)와, 이 데이터(D)의 전단과 후단에 배치되어 동일한 상태값을 갖는 노드들과 연결하기 위한 노드 포인터가 저장되는 제1 및 제2 필드(221c,221d)로 구성된다. 여기서, 상기 노드(221)는 임의 접근이 가능하도록 하기 위해 노드 배열영역(220)에서 데이터(D)의 식별 번호와 해당 데이터(D)를 포함하는 노드값이 동일한 값을 갖는 위치에 저장된다. 또한, 노드(221)의 제1 필드(221a)에는 동일한 상태값을 갖는 이전 노드값이 노드 포인터로 설정되고, 제2 필드(221b)에는 동일한 상태값을 갖는 이후 노드값이 노드 포인터로 설정된다. 즉, 상기 노드 배열영역(220)에 저장되는 노드들은 각 상태별로 제1 및 제2 필드(221c,221d)를 통해 연결되는 연결리스트를 형성한다. 이때, 상기 연결 리스트는 마지막 노드의 제2 필드(221d)가 해당 상태값을 갖는 시작 노드값으로 설정되는 원형 리스트 형태로 구성된다.
다시 말해, 상기 저장 모듈(200)에서 상태 포인터(211)는 각 상태별 노드 연결리스트의 시작 노드값이 설정되는 바, 각 상태 포인터(211)에 대해 해당 상태값을 갖는 모든 노드가 연결리스트를 통해 하나로 연결되도록 노드 배열영역(220)에 저장된다.
즉, 본 발명에서 상기 관리 모듈(100)은 삽입요구되는 데이터(D)의 식별번호에 대응되는 노드 배열영역(220)의 위치에 해당 데이터(D)를 저장하고 데이터(D)의 상태값에 대응되는 노드들을 연결하기 위한 노드 포인터를 설정하여 노드(221)를 생성함으로써, 해당 데이터(D)에 대한 삽입처리를 수행하게 된다. 이때, 상기 관리 모듈(100)은 삽입처리된 노드(221)에 대응되도록 저장 모듈(200)의 헤더 영역 정보를 변경설정한다.
또한, 상기 관리 모듈(100)은 상기한 바와 같이 삽입처리된 노드(221)가 저장 모듈(200)에 저장되고, 이에 대응되도록 저장 모듈(200)의 헤더 영역 정보가 설정된 상태에서, 입력되는 데이터(D)의 식별번호를 근거로 해당 데이터(D)가 포함된 노드(221)에 대한 임의접근을 수행하여 해당 데이터(D)에 대한 상태 수정 및 삭제처리를 수행하게 된다.
또한, 상기 관리 모듈(100)은 동일한 상태값을 갖는 노드(221)가 노드 포인터를 통해 연결되는 연결리스트를 형성하도록 상기 노드 배열영역(220)을 운용함과 더불어, 해당 상태값을 갖는 연결리스트의 시작 노드값을 해당 상태 포인터값으로 설정함으로써, 상태 포인터에 설정된 시작 노드값을 근거로 해당 상태값을 갖는 모든 데이터(D)에 대한 상태 접근처리를 수행하게 된다.
한편, 본 발명에 따른 임의 접근 및 상태 접근이 가능한 자료구조는 DDS 시스템에서의 히스토리캐시에 적용되어 이용될 수 있다.
먼저, DDS(Data Distribution Service)는 발간/구독 통신 방식의 실시간 데이터 분배 서비스로서, 토픽(Topic)이라는 구조를 이용하여 서로 다른 통신 객체 간 데이터를 주고 받는다.
상기한 DDS 시스템은 도4에 도시된 바와 같이 토픽 송수신을 위해 캐시체인지(Cache Change, CC), 히스토리캐시(History Cache, HC), 체인지 포리더(Change For Reader, CFR), 체인지프롬라이터(Change From Writer, CFW)의 총 4개 객체를 이용한다. 여기서, 상기 캐시체인지(CC)는 DDS 통신에 사용되는 토픽 데이터와 이 토픽 데이터를 식별하기 위한 시퀀스번호(Sequence Number)를 포함한다. 상기 히스토리캐시(HC)는 캐시체인지(CC)를 저장 및 관리한다. 체인지포리더(CFR)는 송신자측에서 송신하는 캐시체인지(CC)의 상태를 포함한다. 이때, 송신 상태는 UNACKNOWLEDGED, ACKNOWLEDGED, REQUESTED, UNDERWAY, UNSET 이 될 수 있다. 체인지프롬라이터(CFW)는 수신자측에서 수신하는 캐시체인지(CC)의 상태를 포함한다. 이때, 수신 상태는 LOST, MISSING, RECEIVED, UNKNOWN 이 될 수 있다.
즉, 상기한 DDS시스템에서는 송신측에서 발간된 토픽이 캐시체인지 형태로 히스토리캐시에 저장되고, 저장된 캐시체인지(CC)는 체인지 포리더의 형태로 특정 수신측으로 송신한다. 또한, 수신측에서는 송신측으로부터 체인지프롬라이터 형태로 수신하고, 수신된 체인지프롬라이터는 캐시체인지(CC)로 변경되어 히스토리캐시에 저장된다. 수신자는 히스토리캐시에 저장된 캐시체인지(CC)를 통해 토픽을 수신한다.
따라서, 상기한 DDS 시스템에서는 데이터 송수신을 위해 캐시체인지(CC)를 요구하는 객체 수가 많아지면, 다수의 객체가 하나의 히스토리캐시에 접근하게 되어 병목현상이 발생하게 되는 바, DDS 시스템에서 히스토리캐시를 본 발명에 따른 임의 접근 및 상태 접근이 가능한 자료구조로 구성하여 운용함으로써, DDS 시스템 성능을 향상시킬 수 있다.
즉, 도2 및 도3에 적용되는 DDS 시스템에서의 히스토리캐시(HC)의 경우, 상태포인터(211)는 송신측 객체에 적용되는 경우 송신 상태에 대응되는 UNACKNOWLEDGED, ACKNOWLEDGED, REQUESTED, UNDERWAY, UNSET 가 될 수 있고, 수신측 객체에 적용되는 경우 수신 상태에 대응되는 LOST, MISSING, RECEIVED, UNKNOWN 이 될 수 있다. 또한, 상기 데이터(D)는 토픽데이터에 대한 상태값 및 시퀀스 번호를 포함하는 체인지캐시(CC)가 된다. 이때, 상기 상태값은 상기 상태 포인터(211)에 대응되는 것이다.
이어 본 발명에 따른 임의 접근 및 상태 접근이 가능한 자료구조 운용방법을 설명한다. 이하에서는 도5를 참조하여 DDS시스템에서 히스토리캐시에 적용된 임의 접근 및 상태 접근이 가능한 자료구조 운용방법을 설명한다.
먼저, 저장 모듈(200)이 도4에 도시된 바와 같이 헤더 영역(210)과 노드 배열영역(220)으로 정의된 상태에서, 관리 모듈(100)은 상기한 저장 모듈(200)을 초기화 설정한다(ST110). 예컨대, 상기 관리 모듈(100)은 저장 모듈(200)은 예컨대, 헤더 영역(210)에서 상태 포인터(211, S1,S2,S3)를 "NIL"로 설정함과 더불어, 배열 인덱스(212)에서 시작위치(212a)를 노드 배열영역(220)의 시작 노드값으로 설정하고, 노드 배열영역(220)에 대응되는 최대 저장 노드 수(212b)를 "6"으로 설정하며, 리스트 시작값(212c)을 "0"으로 설정한다.
상기한 바와 같이 저장 모듈(200)이 초기화 설정된 상태에서, 상기 관리 모듈(100)은 입력되는 캐시체인지(CC)의 시퀀스 번호에 대응되는 노드 배열영역(220)의 위치에 해당 캐시체인지(CC)를 저장하고 해당 캐시체인지(CC)의 상태값에 대응되도록 노드 포인터를 설정하여 노드(221)를 생성함으로써 삽입처리를 수행한다(ST120). 이때, 상기 관리 모듈(100)은 상태 포인터(211)를 해당 상태값을 갖는 노드들 연결리스트 중 시작 노드값으로 설정함과 더불어, 노드 배열영역(220)의 시작 노드의 시퀀스 번호를 배열 인덱스(212)의 리스트 시작값(212c)으로 설정한다.
이후, 캐시체인지(CC)를 포함하는 노드(221)가 노드 배열영역(220)에 삽입되고 그에 대응되도록 헤더 영역 정보가 설정되어 있는 상태에서, 상기 관리 모듈(100)은 입력되는 캐시체인지(CC)의 시퀀스 번호를 근거로 노드 배열영역(220)에서 임의 접근을 통해 해당 캐시체인지(CC)에 대한 상태 수정 및 삭제처리를 수행한다(ST130). 이때, 상기 관리 모듈(100)은 상기 노드 배열영역(220)에서 배열 인덱스(212)의 리스트 시작값(212c)과 입력되는 캐시체인지(CC)의 시퀀스번호 차이값을 근거로 해당 캐시체인지(CC)가 포함된 노드(221)에 대한 임의 접근처리를 수행한다. 또한, 상기 관리 모듈(100)은 해당 캐시체인지(CC)에 대한 상태 수정 및 삭제처리에 대응되도록 해당 노드(221)의 노드포인트 및 헤더 영역정보를 변경설정한다.
또한, 캐시체인지(CC)를 포함하는 노드(221)가 노드 배열영역(220)에 삽입되고 그에 대응되도록 헤더 영역 정보가 설정되어 있는 상태에서, 상기 관리 모듈(100)은 상태 포인터(211)에 설정된 시작 노드값을 근거로 해당 상태값을 갖는 모든 노드 즉, 캐시체인지(CC)에 대한 상태 접근처리를 수행한다(ST140).
이어, 도6 내지 도9를 참조하여 본 발명에 따른 자료구조를 이용한 데이터의 삽입, 상태 변경, 삭제 및 갱신처리에 따른 운용방법을 DDS시스템에서의 히스토리캐시에 적용하여 보다 상세히 설명한다.
1.삽입처리(도6)
먼저, 관리 모듈(100)은 송신측 또는 수신측 객체로부터 캐시체인지(CC)에 대한 삽입요구정보가 수신되면, 삽입요구되는 캐시체인지(CC)의 시퀀스번호와 상기 리스트 시작값(212c)을 비교하여 그 차이값을 산출한다(ST210).
상기 관리 모듈(100)은 상기 ST210 단계에서 산출된 차이값에 대응되는 노드 배열영역(200) 위치에 해당 캐시체인지(CC)를 위치시킨다(ST220). 이때, 상기 관리 모듈(100)은 캐시체인지(CC)의 시퀀스번호와 리스트 시작값(212c)과의 차이가 최대 노드 수(212b) "6"보다 작거나 같은 경우, 상기한 ST220 단계의 동작을 수행한다. 만일, 캐시체인지(CC)의 시퀀스번호가 리스트 시작값(212c)과의 차이가 최대 노드 수(212b) "6"보다 큰 경우는 발생할 수 없는 경우로서, 이때에는 에러 상태로 처리한다. 또한, 상기 최대 노드 수(212b)는 최대 노드 수보다 큰 시퀀스 번호를 갖는 캐시체인지(CC)를 저장하는 경우, 노드위치를 탐색하기 위해 이용된다. 예컨대, 최대 노드 수(212b)가 "6"이고, 캐시체인지(CC)의 시퀀스 번호가 "7"인 경우, 노드 배열 영역(220)에서 시퀀스 번호 "7"을 최대 노드 수"6"으로 나눈 나머지 "1"에 대응되는 위치에 해당 캐시체인지(CC)를 저장할 수 있다.
또한, 상기 관리 모듈(100)은 리스트 시작값(212c)이 "0"인 경우, 리스트 시작값(212c)을 현재 삽입된 캐시체인지(CC)의 시퀀스번호"1"로 변경설정한다.
이후, 상기 관리 모듈(100)은 해당 캐시체인지(CC)의 상태값을 근거로 해당 캐시체인지(CC)가 위치한 노드(221)를 노드 포인터를 통해 연결설정한다(ST230). 먼저, 상기 관리 모듈(100)은 해당 캐시체인지(CC)의 상태값에 대응되는 상태 포인터(211)를 확인한다. 이때, 해당 상태 포인터(211)에 노드값이 설정되어 있는 경우, 해당 노드값이 설정된 연결리스트와 연결되도록 해당 캐시체인지(CC)에 대한 노드(221)를 생성한다. 예컨대, 상기 관리 모듈(100)은 해당 상태값에 대응되는 상태 포인터(211) "S1"이 초기화상태인 경우, 해당 캐시체인지(CC)를 노드 배열영역(220)의 빈 영역에 위치시킨 후, 해당 노드값을 상태 포인터(211) "S1"에 설정한다.
또한, 관리 모듈(100)은 해당 캐시체인지(CC)에 대한 연결리스트를 근거로 제1 및 제2 필드에 노드 포인터를 설정함으로써, 해당 캐시체인지(CC)를 포함하는 노드(221)를 생성한다. 상기 관리 모듈(100)은 해당 캐시체인지(CC)의 전단에 위치하는 제1 필드에는 이전 노드값을 설정하고, 제2 필드에는 이후 노드값을 설정한다. 예컨대, 해당 노드값이 "5"인 경우, 제1 필드에는 노드값 "4"가 설정되고, 제2 필드에는 노드값 "6"이 설정된다. 이때, 상기 관리 모듈(100)은 해당 노드(221)가 최초 노드인 경우, 제1 필드와 제2 필드에는 모두 노드값 "1"이 설정된다. 또한, 마지막 노드의 제2 필드에는 해당 상태값에 대해 연결된 최초 노드값이 설정된다.
2. 상태 변경처리(도7)
먼저, 관리 모듈(100)은 송신측 또는 수신측 객체로부터 임의 캐시체인지(CC)에 대한 상태 변경요구정보가 수신되면, 상태 변경요구되는 캐시체인지(CC)의 시퀀스번호와 상기 리스트 시작값(212c)을 비교하여 그 차이값을 산출한다(ST210). 도7에서 변경하고자 하는 시퀀스번호가 "3"이고, 상태값 "s2"를 "s3"로 변경하고자 하는 경우, 먼저 시퀀스번호 "3"과 리스트 시작값(212c) "1"과의 차이값 "2"를 산출한다.
관리 모듈(100)은 상기 ST210에서 산출된 차이값을 근거로 노드 배열영역(220)에서 해당 캐시체인지(CC) 노드(221) 위치를 탐색한다(ST220). 도7에서 관리 모듈(100)은 차이값이 "2"인 경우, 노드 배열영역(220)의 시작위치(212a)에서 "2"만큼 이격된 위치의 노드(221)를 탐색하게 한다. 즉, 시퀀스 번호를 이용한 임의 접근을 통해 원하는 캐시체인지(CC)를 탐색한다.
이후, 관리 모듈(100)은 상기 ST220에서 탐색된 위치의 노드(221)에서 캐시체인지(CC)의 상태값을 변경설정함과 더불어, 변경된 상태값에 대응되도록 연결리스트를 변경설정한다(STST330). 먼저, 상기 관리 모듈(100)은 탐색된 캐시체인지(CC)의 상태값 "s2"를 제거하고, "s3"를 삽입한다. 또한, 상기 관리 모듈(100)은 삭제된 상태값 "s2"에 대응되는 노드 포인터를 확인하여 해당 상태값에 대응되는 노드 포인터가 존재하지 않을 경우 해당 상태값에 대응되는 상태 포인터(211) "S2"의 노드값을 제거하고 "NIL"으로 초기화한다. 또한, 상기 관리 모듈(100)은 변경된 상태값 "s3"에 대응되는 상태 포인터(211) "S3"의 노드값이 현재 상태변경된 노드값보다 큰 경우, 상태 포인터(211) "S3"의 노드값을 현재 노드값으로 변경설정함과 더불어, 해당 캐시체인지(CC)가 포함된 노드(221)의 제1 필드와 제2 필드에 상태값 "s3"에 대응되는 연결리스트와 연결되도록 노드 포인터를 변경설정한다. 예컨대, 도7에서 시퀀스번호 "3"에 해당하는 노드의 제1 필드는 시퀀드번호 "6"에 해당하는 노드값으로 설정되고, 제2 필드는 시퀀스번호 "4"에 해당하는 노드값으로 설정된다.
3. 삭제 처리(도8)
먼저, 관리 모듈(100)은 송신측 또는 수신측 객체로부터 임의 캐시체인지(CC)에 대한 삭제요구정보가 수신되면, 삭제요구되는 캐시체인지(CC)의 시퀀스번호와 상기 리스트 시작값(212c)을 비교하여 그 차이값을 산출한다(ST410). 도8에서 삭제하고자 하는 시퀀스번호가 "1"인 경우, 시퀀스번호 "1"과 리스트 시작값(212c) "1"과의 차이값 "0"를 산출한다.
관리 모듈(100)은 상기 ST410에서 산출된 차이값을 근거로 노드 배열영역(220)에서 해당 캐시체인지(CC)를 포함하는 노드(221) 위치를 탐색한다(ST420). 도8에서 관리 모듈(100)은 차이값이 "0"인 경우, 노드 배열영역(220)에서 노드 저장 시작위치의 노드(221)를 탐색하게 된다. 즉, 시퀀스 번호를 이용한 임의 접근을 통해 원하는 캐시체인지(CC)를 탐색한다.
이후, 관리 모듈(100)은 상기 ST420에서 탐색된 위치의 노드(221)를 삭제함과 더불어, 삭제된 노드(221)와 관련된 연결리스트를 변경설정한다(ST430). 먼저, 상기 관리 모듈(100)은 삭제된 상태값 "s1"에 대응되는 상태 포인터(211)를 확인하여 해당 상태 포인터의 연결리스트가 존재하지 않을 경우 상태 포인터 "S1"의 노드값을 제거하고 "NIL"으로 초기화한다. 또한, 상기 관리 모듈(100)은 삭제된 상태값 "s1"에 대응되는 상태 포인터(211) "S1"의 노드값이 현재 노드값인 경우, 연결리스트를 탐색하여 이후 노드값 즉, 시퀀스번호 "2"에 해당하는 노드값을 해당 상태 포인터(211) "S1"의 노드값으로 설정함과 더불어, 해당 삭제된 노드와 연결된 노드, 즉, 시퀀스번호 "2"에 해당하는 노드의 제1 필드값을 해당 상태정보를 갖는 연결리스트의 마지막 노드값, 예컨대, 시퀀스번호 "2"에 해당하는 노드값으로 변경설정한다.
4. 갱신 처리(도9)
갱신처리는 노드 배열영역(220)에 노드가 저장되되, 노드 배열영역(220)을 확인하여 원형 큐 형태의 메모리 활용을 효율적으로 하기 위한 것이다.
먼저, 관리 모듈(100)은 일정 주기가 되거나 또는 송신측이나 수신측으로부터 노드 배열영역(220)에 대한 갱신요구가 수신되면, 배열 인덱스(212)에서 시작위치(212a)에 해당하는 노드(221)의 캐시체인지값을 확인한다(ST510). 즉, 도9에서 시작위치(212a)가 시퀀스번호 "1"에 해당하는 노드값인 경우, 해당 노드값이 삭제되어 비어 있음으로 인해 관리모듈(100)은 캐시체인지값을 확인할 수 없다.
관리 모듈(100)은 상기 ST510단계에서 시작위치에 해당하는 노드(221)의 캐시체인지값이 존재하지 않는 경우, 탐색위치를 다음 노드 위치로 이동시킨다(ST520).
이후, 관리 모듈(100)은 상기 ST520 단계에서 이동된 노드(221)의 캐시체인지값을 확인하여 캐시체인지값이 존재하지 않는 경우, 상기 ST520단계를 반복수행한다.
한편, 상기 관리 모듈(100)은 상기 ST520 단계에서 이동된 노드(221)의 캐시체인지값이 존재하는 경우, 시작위치(212a)에 해당 노드값을 설정한다(ST530).
또한, 상기 관리 모듈(100)은 상기 ST530 단계에서 시작위치(212a)에 해당 노드(221)에 포함된 캐시체인지(CC)의 시퀀스번호를 리스트 시작값(212c)으로 설정한다(ST540). 즉, 도9에서 관리 모듈(100)은 시작위치(212a)에 해당하는 노드(221)에 포함된 캐시체인지(CC)의 시퀀스번호"2"를 리스트 시작값(212c)으로 설정한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 관리모듈, 200 : 저장모듈,
210 : 헤더 영역, 220 : 노드 배열영역,
211 : 상태 포인터, 212 : 배열 인덱스,
221 : 노드.

Claims (12)

  1. 통신시스템 내 임의 접근 및 상태 접근이 가능한 자료구조 운용장치로서,
    데이터 상태에 대응되는 데이터 연결리스트의 시작 노드가 저장되는 상태 포인터와 노드 배열영역의 리스트 시작값을 포함하는 배열 인덱스로 구성되는 헤더 영역과, 다수의 노드가 데이터의 식별번호와 동일한 값을 갖는 위치에 저장되는 노드 배열영역으로 이루어지고, 상기 노드는 상태값과 식별번호를 포함하는 데이터와, 해당 데이터와 동일한 상태값을 갖는 주변 노드에 대한 노드 포인터로 구성되어 이 노드 포인터를 통해 해당 상태에 대한 데이터 연결리스트를 형성하도록 구성되는 저장 모듈과,
    삽입요구되는 데이터의 식별번호에 대응되는 노드 배열영역의 위치에 해당 데이터를 저장하고 데이터의 상태값에 대응되는 노드 포인터를 설정하여 노드를 생성함으로써 해당 데이터에 대한 삽입처리를 수행하며, 생성된 노드에 대응되도록 상기 헤더 영역 정보를 변경설정함과 더불어, 배열 인덱스의 리스트 시작값과 입력되는 데이터의 식별번호의 차이값을 근거로 상기 노드 배열영역에서 해당 데이터가 포함된 노드에 대한 임의접근을 수행하여 해당 데이터에 상태 수정 및 삭제처리를 수행하고, 이에 대응되도록 해당 노드의 연결포인트를 변경설정하며, 상기 헤더 영역의 상태 포인터에 설정된 시작 노드의 노드 포인터를 근거로 해당 상태값을 갖는 모든 데이터 대한 상태 접근처리를 수행하는 관리 모듈
    을 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치.
  2. 제1항에 있어서,
    상기 배열 인덱스는 노드 배열영역의 시작 위치와, 노드 배열영역에서 시작 노드의 식별번호로 설정되는 리스트 시작값을 포함하여 구성되고,
    상기 관리모듈은 노드 배열영역의 시작 위치 노드에 데이터가 존재하지 않는 경우, 다음 위치의 노드를 확인하고, 노드 배열영역에서 노드가 존재하는 경우, 상기 배열 인덱스의 시작 위치 정보를 해당 노드의 노드 포인터로 변경 설정함과 더불어, 상기 배열 인덱스의 리스트 시작값을 해당 노드의 식별번호로 변경설정하도록 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치.
  3. 제1항에 있어서,
    상기 노드는 데이터의 전단에 동일한 상태값을 갖는 이전 노드에 대한 노드 포인터가 저장되는 제1 필드와, 데이터의 후단에 동일한 상태값을 갖는 이후 노드에 대한 노드 포인터가 저장되는 제2 필드를 포함하여 구성되고,
    해당 상태값을 갖는 마지막 노드의 제2 필드에는 해당 상태값을 갖는 시작 노드의 노드 포인터가 저장되어, 동일 상태값을 갖는 노드가 원형 리스트 형태로 연결되도록 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치.
  4. 제1항에 있어서,
    상기 노드 배열영역은 원형 큐(Queue)로 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치.
  5. 제1항에 있어서,
    상기 상태 포인터는 UNACKNOWLEDGED, ACKNOWLEDGED, REQUESTED, UNDERWAY, UNSET, LOST, MISSING, RECEIVED, UNKNOWN 중 적어도 하나 이상을 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    DDS시스템에서의 히스토리캐시에 적용되어,
    상기 데이터는 토픽데이터를 포함하는 캐시체인지이고, 상기 식별번호는 시퀀스 번호로 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용장치.
  7. 통신시스템 내 임의 접근 및 상태 접근이 가능한 자료구조 운용장치에 의해 수행되는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법으로서,
    상기 운용장치의 관리모듈에서 데이터의 식별번호에 대응되는 노드 배열영역의 위치에 해당 데이터를 저장하고 해당 데이터의 상태값에 대응되는 노드 포인터를 설정하여 노드를 생성함으로써, 해당 데이터에 대한 삽입처리를 수행하는 데이터 삽입처리단계와,
    상기 관리모듈은 상기 데이터 삽입처리단계에서 생성된 노드에 대응되도록 상태 포인터를 해당 상태값을 갖는 시작 노드의 노드 포인터로 설정함과 더불어, 노드 배열영역의 시작 노드의 시퀀스 번호를 배열 인덱스의 리스트 시작값으로 설정하는 헤더 영역 설정 단계,
    데이터를 포함하는 노드가 노드 배열영역에 삽입되고 그에 대응되도록 헤더 영역 정보가 설정되어 있는 상태에서, 상기 관리모듈은 상기 노드 배열영역에서 배열 인덱스의 리스트 시작값과 입력되는 데이터의 식별번호의 차이값을 근거로 해당 데이터가 포함된 노드에 대한 임의접근을 수행하여 해당 데이터에 대한 상태 수정 및 삭제처리를 수행함과 더불어 이에 대응되도록 해당 노드의 연결포인트 및 헤더 영역 정보를 변경설정하는 임의 접근처리단계 및,
    데이터를 포함하는 노드가 노드 배열영역에 삽입되고 그에 대응되도록 헤더 영역이 설정되어 있는 상태에서, 상기 관리모듈은 상기 상태 포인터에 설정된 시작 노드의 노드 포인터를 탐색함으로써 해당 상태값을 갖는 모든 데이터에 대한 상태 접근처리를 수행하는 상태 접근처리단계
    를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법.
  8. 제7항에 있어서,
    상기 노드는 상태값과 식별번호로 구성되는 데이터와, 해당 데이터와 동일한 상태값을 갖는 주변 노드에 대한 노드 포인터로 구성되고, 이 노드 포인터를 통해 해당 상태에 대한 데이터 연결리스트가 형성되되,
    해당 상태값을 갖는 마지막 노드에는 해당 상태값을 갖는 시작 노드의 노드 포인터가 저장되어, 동일 상태값을 갖는 노드가 원형 리스트 형태로 연결되도록 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법.
  9. 제7항에 있어서,
    상기 데이터 삽입처리단계는 삽입요구되는 데이터의 식별번호와 상기 리스트 시작값을 비교하여 그 차이값을 산출하는 단계와,
    삽입요구되는 데이터의 식별번호와 리스트 시작값과의 차이에 대응되는 노드 배열영역의 위치에 해당 데이터를 위치시키는 단계 및,
    해당 데이터의 전단에 위치하는 제1 필드에는 동일한 상태값을 갖는 이전 노드의 노드 포인터를 설정하고, 제2 필드에는 동일한 상태값을 갖는 이후 노드의 노드 포인터를 설정하여 노드를 생성하되, 마지막 노드의 제2 필드에는 해당 상태값을 갖는 시작 노드의 노드 포인터를 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법.
  10. 제7항에 있어서,
    상기 임의 접근 처리단계는 임의 데이터에 대한 상태 변경요구정보가 수신되면, 상태 변경요구되는 데이터의 식별번호와 상기 리스트 시작값을 비교하여 그 차이값을 산출하는 단계와,
    데이터의 식별번호와 상기 리스트 시작값과의 차이를 근거로 노드 배열영역에서 해당 데이터가 포함된 노드 위치를 탐색하는 단계,
    탐색된 위치의 노드에서 데이터의 상태값을 변경설정함과 더불어, 변경된 상태값에 대응되도록 노드 포인터를 변경설정하는 단계 및,
    상기 변경설정된 노드와 동일한 상태값을 갖는 노드가 존재하지 않는 경우에는 해당 상태값에 대응되는 상태 포인터를 초기화 설정하고, 변경된 상태값에 대응되는 상태 포인터의 시작 노드값이 현재 상태변경된 노드값보다 큰 경우, 해당 상태 포인터의 노드값을 현재 노드값으로 변경설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법.
  11. 제7항에 있어서,
    상기 임의 접근 처리단계는 임의 데이터에 대한 삭제요구정보가 수신되면, 삭제요구되는 데이터의 식별번호와 상기 리스트 시작값을 비교하여 그 차이값을 산출하는 단계와,
    데이터의 식별번호와 상기 리스트 시작값과의 차이를 근거로 노드 배열영역에서 해당 데이터가 포함된 노드 위치를 탐색하는 단계,
    탐색된 위치의 노드를 삭제함과 더불어 삭제된 노드와 관련된 노드 포인터를 변경설정하는 단계 및,
    삭제된 노드의 상태값에 해당하는 노드 포인터에 연결된 노드가 존재하지 않을 경우에는 해당 상태값의 상태 포인터를 초기화설정하고, 삭제된 상태값에 대응되는 상태 포인터의 노드값이 현재 삭제된 노드값인 경우, 삭제된 노드 이후 노드값을 해당 상태 포인터 노드값으로 변경 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    DDS시스템에서의 히스토리캐시 운용방법에 적용되어,
    상기 데이터는 토픽데이터를 포함하는 캐시체인지이고, 상기 식별번호는 시퀀스 번호로 구성되는 것을 특징으로 하는 임의 접근 및 상태 접근이 가능한 자료구조 운용 방법.
KR1020150050855A 2015-04-10 2015-04-10 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법 KR101674294B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150050855A KR101674294B1 (ko) 2015-04-10 2015-04-10 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150050855A KR101674294B1 (ko) 2015-04-10 2015-04-10 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법

Publications (2)

Publication Number Publication Date
KR20160121717A KR20160121717A (ko) 2016-10-20
KR101674294B1 true KR101674294B1 (ko) 2016-11-09

Family

ID=57251325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150050855A KR101674294B1 (ko) 2015-04-10 2015-04-10 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법

Country Status (1)

Country Link
KR (1) KR101674294B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102167167B1 (ko) * 2018-08-09 2020-10-16 넵코어스 주식회사 Ssd 장치를 관리하는 방법 및 그 ssd 장치
CN114579812B (zh) * 2022-03-14 2023-09-15 上海壁仞智能科技有限公司 链表队列的管理方法及装置、任务管理方法和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100414052B1 (ko) 2000-10-14 2004-01-07 엘지전자 주식회사 주기억장치 데이터베이스의 인덱스 데이터 관리방법
JP2011248469A (ja) 2010-05-24 2011-12-08 Sony Computer Entertainment Inc 情報処理装置および情報処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100617765B1 (ko) 1999-08-28 2006-08-28 삼성전자주식회사 통신시스템 내 실시간 분산 객체 지향 데이터베이스 관리 시스템을 위한 분산 데이터베이스 관리 시스템 캐쉬 관리 방법 및장치
US8512189B2 (en) 2011-12-02 2013-08-20 GM Global Technology Operations LLC Hybrid powertrain with compound-split EVT drive axle and electric drive axle

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100414052B1 (ko) 2000-10-14 2004-01-07 엘지전자 주식회사 주기억장치 데이터베이스의 인덱스 데이터 관리방법
JP2011248469A (ja) 2010-05-24 2011-12-08 Sony Computer Entertainment Inc 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
KR20160121717A (ko) 2016-10-20

Similar Documents

Publication Publication Date Title
CN108153757B (zh) 一种哈希表管理的方法和装置
US9792349B2 (en) In-database sharded queue
US9699028B2 (en) Method and device for updating client
CN107911249B (zh) 一种网络设备的命令行发送方法、装置和设备
US10904316B2 (en) Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system
CN105653198A (zh) 数据处理方法及装置
CN106570097A (zh) 序列生成方法及装置
CN103793273A (zh) 一种基于Redis的分布式队列调度方法及装置
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
JP6359111B2 (ja) 並列プロトコル・スタック・インスタンスに基づいてデータパケットを処理する方法および装置
CN111597259B (zh) 数据存储系统、方法、装置、电子设备及存储介质
CN105471700B (zh) 一种消息处理的方法、装置和系统
KR101674294B1 (ko) 임의 접근 및 상태 접근이 가능한 자료구조 운용장치 및 그 운용 방법
US10261949B2 (en) Packed row representation for efficient network serialization with direct column indexing in a network switch
US11714692B2 (en) Classical management of qubit requests
CN103647843A (zh) 触发和响应云输入请求的方法和设备
CN111124355B (zh) 信息处理方法、装置、可读存储介质及电子设备
US20150100545A1 (en) Distributed database system and a non-transitory computer readable medium
CN108259326B (zh) 路由表更新方法、装置、分配节点以及叶报文转发设备
CN110780944A (zh) 一种应用权限的启动方法、设备及机器可读存储介质
CN112688870B (zh) 一种路由方法、路由装置及节点设备
CN107870925B (zh) 一种字符串过滤方法和相关装置
CN102946449A (zh) Url 的匹配方法、装置及网关
US7921090B2 (en) Cluster delta push
CN112181671A (zh) 一种延时消息处理的方法及装置

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: 20191105

Year of fee payment: 4