KR102311331B1 - 데이터저장장치 및 그 동작 방법 - Google Patents

데이터저장장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102311331B1
KR102311331B1 KR1020140162519A KR20140162519A KR102311331B1 KR 102311331 B1 KR102311331 B1 KR 102311331B1 KR 1020140162519 A KR1020140162519 A KR 1020140162519A KR 20140162519 A KR20140162519 A KR 20140162519A KR 102311331 B1 KR102311331 B1 KR 102311331B1
Authority
KR
South Korea
Prior art keywords
data
search keyword
target program
program
identifiers
Prior art date
Application number
KR1020140162519A
Other languages
English (en)
Other versions
KR20160060357A (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 KR1020140162519A priority Critical patent/KR102311331B1/ko
Publication of KR20160060357A publication Critical patent/KR20160060357A/ko
Application granted granted Critical
Publication of KR102311331B1 publication Critical patent/KR102311331B1/ko

Links

Images

Abstract

본 발명은 데이터저장장치 및 그 동작 방법을 개시한다.  즉, 대상 프로그램에서 요구하는 데이터를 나타내는 데이터 식별자를 검색 키워드로 지정하여, 상기 지정된 검색 키워드에 대하여 상기 대상 프로그램을 나타내는 프로그램 식별자를 매핑 저장함으로써, 문자열로 이루어진 데이터 식별자의 입력만으로 실행 또는 생성 가능한 대상 프로그램을 추출할 수 있다.

Description

데이터저장장치 및 그 동작 방법{APPARATUS FOR DATA STORAGE AND OPERATIMG METHOD THEREOF}
본 발명은 문자열로 이루어진 데이터 식별자를 검색 키워드로 하여 실행 또는 생성 가능한 대상 프로그램을 용이하게 추출할 수 있게 하는 데이터 저장 방안에 관한 것이다.
지금까지 방대한 양의 데이터를 저장하는 방식은 매우 다양하고, 효율적으로 발전되어 왔다.
하지만, 웹 등의 다양한 프로그램 개발의 진행 과정에서는, 방대한 양의 데이터뿐만 아니라 간단한(적은 양) 데이터를 저장 및 검색하거나 추출하는 일이 빈번하게 일어나게 된다.
이러한, 간단한 데이터들의 경우 앞서 언급한 방대한 양의 데이터와는 달리, 단순한 규칙에 맞춰 저장하거나, 별도의 규칙 없이 단순 저장하는 것이 일반적이었다.
그러나, 비록 간단한 데이터지만, 데이터 간 내지는 이를 필요로 하는 프로그램 간에 복잡한 관계가 형성되어 있음이 전제된다면, 이러한 단순한 저장 방식의 경우, 저장된 데이터를 검색 및 추출하는데 있어서 그 효율성을 크게 저해하게 되는 결과를 초래할 수 있다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 대상 프로그램에서 요구하는 데이터를 나타내는 데이터 식별자를 검색 키워드로 지정하여, 상기 지정된 검색 키워드에 대하여 상기 대상 프로그램을 나타내는 프로그램 식별자를 매핑 저장함으로써, 데이터 식별자에 해당하는 문자열을 검색 키워드로 하여 실행 또는 생성 가능한 대상 프로그램을 용이하게 추출하게 하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 프로그램의 생성 또는 실행과 관련하여 요구되는 다수의 데이터를 저장하는 데이터저장장치는, 상기 다수의 데이터 중 적어도 일부의 데이터를 요구하는 대상 프로그램을 확인하는 확인부; 및 상기 적어도 일부의 데이터를 나타내는 데이터 식별자를 포함하는 검색 키워드를 지정하여, 상기 지정된 검색 키워드에 대하여 상기 확인된 대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하는 지정부를 포함하는 것을 특징으로 한다.
보다 구체적으로, 상기 검색 키워드에는, 추가 식별자가 부여되며, 상기 추가 식별자는, 상기 검색 키워드에 포함된 데이터 식별자의 개수가 포함되는 것을 특징으로 한다.
보다 구체적으로, 상기 대상 프로그램은, 제1검색 키워드가 지정된 제1대상 프로그램 및 제2검색 키워드가 지정된 제2대상 프로그램을 포함하며, 상기 제1검색 키워드에 대해 상기 제2검색 키워드가 중복되는 경우, 상기 제1검색 키워드에 포함된 데이터 식별자가 상기 검색 키워드로 지정되며, 상기 제1검색 키워드에 포함된 데이터 식별자로 지정된 검색 키워드에는, 상기 제1검색 키워드와 상기 제2검색 키워드 간에 중복되는 데이터 식별자의 개수가 상기 추가 식별자로서 부여되는 것을 특징으로 한다.
보다 구체적으로, 상기 제1검색 키워드와 상기 제2검색 키워드 간에 상기 데이터 식별자가 일부 중복되는 경우, 상기 제1검색 키워드에 포함된 데이터 식별자로 지정된 검색 키워드에는 상기 제2대상 프로그램의 프로그램 식별자만이 매핑되어 저장되는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 프로그램의 생성 또는 실행과 관련하여 요구되는 다수의 데이터를 저장하는 데이터저장장치의 동작 방법은, 상기 다수의 데이터 중 적어도 일부의 데이터를 요구하는 대상 프로그램을 확인하는 확인단계; 및 상기 적어도 일부의 데이터를 나타내는 데이터 식별자를 포함하는 검색 키워드를 지정하여, 상기 지정된 검색 키워드에 대하여 상기 확인된 대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하는 지정단계를 포함하는 것을 특징으로 한다.
보다 구체적으로, 상기 검색 키워드에는, 추가 식별자가 부여되며, 상기 추가 식별자는, 상기 검색 키워드에 포함된 데이터 식별자의 개수가 포함되는 것을 특징으로 한다.
보다 구체적으로, 상기 대상 프로그램은, 제1검색 키워드가 지정된 제1대상 프로그램 및 제2검색 키워드가 지정된 제2대상 프로그램을 포함하며, 상기 제1검색 키워드에 대해 상기 제2검색 키워드가 중복되는 경우, 상기 제1검색 키워드에 포함된 데이터 식별자가 상기 검색 키워드로 지정되며, 상기 제1검색 키워드에 포함된 데이터 식별자로 지정된 검색 키워드에는, 상기 제1검색 키워드와 상기 제2검색 키워드 간에 중복되는 데이터 식별자의 개수가 상기 추가 식별자로서 부여되는 것을 특징으로 한다.
이에, 데이터저장장치 및 그 동작 방법에 의하면, 대상 프로그램에서 요구하는 데이터를 나타내는 데이터 식별자를 검색 키워드로 지정하여, 상기 지정된 검색 키워드에 대하여 상기 대상 프로그램을 나타내는 프로그램 식별자를 매핑 저장함으로써, 문자열로 이루어진 데이터 식별자의 입력만으로 실행 또는 생성 가능한 대상 프로그램을 용이하게 추출할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터저장장치의 개략적인 구성도.
도 2 내지 4는 본 발명의 일 실시예에 따른 데이터저장장치에서 데이터 저장 방식을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 따른 데이터저장장치에서의 동작 흐름을 설명하기 위한 도면.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 데이터저장장치를 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터저장장치는, 프로그램의 생성 또는 실행을 위해 데이터를 요구하는 대상 프로그램을 확인하는 확인부(100), 및 대상 프로그램에 대한 검색 키워드를 지정하는 지정부(200)를 포함하는 구성을 갖는다.
또한, 본 발명의 일 실시예에 따른 데이터저장장치의 경우, 전술한 구성 이외에, 검색 키워드와 대상 프로그램을 매핑하여 저장하는 저장부(300) 및 검색 키워드를 이용하여 대상 프로그램을 추출하는 추출부(400)를 더 포함하는 구성을 가질 수 있다.
이상 언급한 확인부(100), 지정부(200), 저장부(300), 및 추출부(400)를 포함하는 데이터저장장치의 구성 전체 내지는 그 일부는, 하드웨어 모듈 또는 소프트웨어 모듈로 구현되거나, 내지는 하드웨어 모듈과 소프트웨어 모듈의 결합을 통해서 구현될 수 있다.
한편, 본 발명의 일 실시예에 따르면, 프로그램의 생성(개발) 또는 실행에 요구되는 다수의 데이터를 저장하고 저장된 데이터들에 대한 검색 및 추출이 이루어지게 된다.
여기서, 데이터저장장치에 저장되는 데이터의 경우 방대한 데이터가 아닌, 간단한(적은 양) 데이터를 일컫는 것으로서, 데이터 간 내지는 이를 요구하는 프로그램 간에 복잡한 관계가 형성될 수 있음을 전제로 한다.
일반적으로 방대한 양의 데이터의 경우, 저장공간을 많이 차지하며, 검색 시간 역시 오래 소요되는 이유로 예컨대, 데이터베이스에 저장되거나, 로컬 저장소에 저장되게 된다.
허나, 간단한 데이터들의 경우 저장공간을 많이 차지하지도 않고, 검색 시간 역시 역기 크게 중요하지 않기 때문에 데이터베이스를 사용하거나, 로컬 저장소를 사용하는 것은 비효율적이다 할 것이다.
이러한 이유로 지금까지 간단한 데이터는 단순히 JSON(Javascript Object Notation) 형식에 맞춰 저장하거나, 내지는 별도의 규칙 없이 저장하는 단순 저장 방식이 이용되는 것이 일반적이었다.
그러나, 앞서 언급한 바와 같이 간단한 데이터임에도 불구하고, 저장된 데이터 간에 내지는 데이터를 요하는 프로그램 간에 복잡한 관계가 형성되어 있으며, 기존의 단순 저장 방식을 이용해 데이터 저장되어 있는 경우라면 저장된 데이터를 검색 및 추출하는데 큰 어려움이 따를 수 있음을 예상할 수 있다.
이에, 본 발명의 일 실시예에서는, 다수의 데이터를 저장함에 있어서, 저장된 데이터에 대한 보다 직관적이고 빠른 검색 및 추출을 가능하게 하기 위한 방안을 제안하고자 하며, 이하에서는 이를 구체적으로 설명하기로 한다.
한편, 설명의 편의를 위해서 데이터저장장치에 저장된 데이터를 요구하는 '대상 프로그램 A', '대상 프로그램 B', 및 '대상 프로그램 C'가 존재하는 상황을 전제하기로 한다.
즉, 도 2에 도시한 바와 같이 '대상 프로그램 A'가 존재하게 되며, 이러한 '대상 프로그램 A'의 생성 또는 실행을 위해선 데이터저장장치에 저장된 다수의 데이터 중 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #3(Description)'이 요구되는 상황을 전제한다.
또한, 도 3 에 도시한 바와 같이 '대상 프로그램 A' 이외에 '대상 프로그램 B'가 존재하게 되며, 이러한 대상 프로그램 B의 생성 또는 실행을 위해선 '대상 프로그램 A'와 중복되는 '데이터 #1(Price)'과 '데이터 #2(Name)' 이외에 '데이터 #4(Image)'가 요구되는 상황을 전제한다.
마지막으로, 도 4에 도시한 바와 같이 '대상 프로그램 C'가 추가 존재할 수 있으며, 이러한 '대상 프로그램 C'의 경우, 그 생성 또는 실행을 위해선 '대상 프로그램 A'와 '대상 프로그램 B'와 중복되는 '데이터 #1(Price)', 및 '데이터 #2(Name)'만이 요구되는 상황을 전제한다.
확인부(100)는 대상 프로그램을 확인하는 기능을 수행한다.
보다 구체적으로, 확인부(100)는 프로그램의 생성 또는 실행과 관련하여 저장된 다수의 데이터 중 적어도 일부의 데이터를 요구하는 대상 프로그램을 확인하게 된다.
예를 들어, 앞선 전제에 따르면 확인부(100)는 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #3(Description)'을 요구하는 '대상 프로그램 A'와; '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #4(Image)'를 요구하는 '대상 프로그램 B'; 그리고 '데이터 #1(Price)' 및 '데이터 #2(Name)'를 요구하는 '대상 프로그램 C'를 확인할 수 있다.
지정부(200)는 대상 프로그램에 대한 검색 키워드를 지정하는 기능을 수행한다.
보다 구체적으로, 지정부(200)는 생성 또는 실행을 위해서 데이터를 요구하고 있는 대상 프로그램이 확인되면, 확인된 대상 프로그램에 대한 검색 키워드를 지정함으로써, 저장부(300)로 하여금 지정된 검색 키워드에 대하여 확인된 대상 프로그램의 프로그램 식별자(예: 명칭)를 매핑하여 저장할 수 있도록 한다.
여기서, 검색 키워드는 추후 대상 프로그램을 검색 및 추출하기 위한 정보로서, 대상 프로그램에서 요구하고 있는 데이터들의 데이터 식별자(예: 데이터 명칭)가 포함되도록 지정될 수 있다.
이에, 지정부(200)는 확인된 대상 프로그램에서 요구하는 데이터들의 데이터 식별자(예: 명칭)를 추출하고, 추출된 데이터 식별자들을 구분자(예: '_')를 이용하여 나열하는 방식을 통해서 확인된 각 대상 프로그램들에 대한 검색 키워드를 지정하게 된다.
예를 들어, '대상 프로그램 A'에 대해서는 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #3(Description)'가 요구되므로, 각 데이터의 데이터 식별자를 구분자로 이용하여 나열한 'Price_Name_Description'가 검색 키워드로서 지정될 수 있다.
또한, '대상 프로그램 B'에 대해서는 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #4(Image)'가 요구되므로, 각 데이터의 데이터 식별자를 구분자로 이용하여 나열한 'Price_Name_Image'가 검색 키워드로서 지정될 수 있다.
마지막으로, '대상 프로그램 C'에 대해서는 '데이터 #1(Price)', 및 '데이터 #2(Name)'가 요구되므로, 각 데이터의 데이터 식별자를 구분자로 이용하여 나열한 'Price_Name'이 검색 키워드로서 지정될 수 있다.
한편, 앞선 전제에 따르면, '대상 프로그램 A', '대상 프로그램 B', 및 '대상 프로그램 C'에서 요구하는 데이터 중, '데이터 #1(Price)'와 '데이터 #2(Name)'가 서로 중복됨을 언급한 바 있다.
이와 관련하여, '대상 프로그램 C'의 검색 키워드로서 'Price_Name'이 지정되는 경우, 추후 검색 키워드 입력을 통한 대상 프로그램 추출단계에서 '데이터 #1(Price)'와 '데이터 #2(Name)'를 함께 필요로 하는 '대상 프로그램 A'와 '대상 프로그램 B'가 추출되지 않는 문제가 발생할 수 있다.
이에, 지정부(200)는 지정된 검색 키워드에 추가 식별자를 부여함으로써, 위에서 언급한 각 대상 프로그램에서 요구되는 데이터 중복에 따른 문제점을 해결하게 된다.
이때, 지정부(200)는 각 대상 프로그램에 지정되어 있는 검색 키워드에 포함된 데이터 식별자의 개수를 카운트함으로써, 카운트 된 데이터 식별자의 개수를 검색 키워드에 대한 추가 식별자로서 우선 부여하게 된다.
앞선 예에 따르면, '대상 프로그램 A'에 대해 지정된 검색 키워드인 'Price_Name_Description'에는 3 개의 데이터 식별자가 포함되므로, '대상 프로그램 A'에 대해 지정된 검색 키워드에는 추가 식별자로서 '[3]'이 부여되어, 최종적으로 'Price_Name_Description[3]'가 '대상 프로그램 A'에 대한 검색 키워드로서 지정될 수 있다.
또한, '대상 프로그램 B'에 대해 지정된 검색 키워드인 'Price_Name_Image' 역시 3 개의 데이터 식별자가 포함되므로, '대상 프로그램 B'에 대해 지정된 검색 키워드에는 추가 식별자로서 '[3]'이 부여되어, 최종적으로 'Price_Name_Image[3]'가 '대상 프로그램 B'에 대한 검색 키워드로서 지정될 수 있다.
마지막으로, '대상 프로그램 C'에 대해 지정된 검색 키워드인 'Price_Name' 의 경우, 2 개의 데이터 식별자가 포함되므로, '대상 프로그램 C'에 대해 지정된 검색 키워드에는 추가 식별자로서 '[2]'가 부여되어, 최종적으로 'Price_Name[2]'이 '대상 프로그램 C'에 대한 검색 키워드로서 지정될 수 있다.
추가로, 지정부(200)는 각 대상 프로그램 간에 서로 중복되는 데이터를 고려하기 위해서, 각 대상 프로그램에 대해 최종 지정된 검색 키워드에 대하여 중복된 데이터 개수를 추가 식별자로서 부여한 계층 구조의 검색 키워드를 추가 지정하게 된다.
앞선 전제에서, '대상 프로그램 A'에서 요구하는 데이터 중, '데이터 #1(Price)'와 '데이터 #2(Name)' 2 개의 데이터가 '대상 프로그램 B'와 '대상 프로그램 C'와 중복됨을 언급한 바 있다.
이에, 지정부(200)는 '대상 프로그램 A'에 대한 계층 구조의 검색 키워드를 추가 지정하는 경우, 최초 지정된 검색 키워드인 'Price_Name_Description'에 대해 '대상 프로그램 B' 및 '대상 프로그램 C'와 중복되는 데이터 식별자의 개수를 추가 식별자로서 부여한, 'Price_Name_Description[2]'를 '대상 프로그램 A'에 대한 검색 키워드로서 추가 지정하게 된다.
여기서, '대상 프로그램 A'에 추가 지정된 검색 키워드인 'Price_Name_Description[2]'에는 '대상 프로그램 A', '대상 프로그램 B', '대상 프로그램 C'가 매핑되어 저장될 수 있는데, '대상 프로그램 A'의 경우 검색 키워드로서 'Price_Name_Description[3]'이 기본 지정되어 있으므로 추가 지정된 검색 키워드인 'Price_Name_Description[2]'에는 '대상 프로그램 B', '대상 프로그램 C'만이 매핑되어 저장될 수 있도록 한다.
결국, '대상 프로그램 A'에 지정되는 검색 키워드는, 'Price_Name_Description[3]'과 'Price_Name_Description[2]'가 지정되며, 각 검색 키워드는 추가 식별자로 부여된 숫자의 크기 우선순위에 따라 계층 구조로 정렬될 수 있다.
마찬가지로, 지정부(200)는 '대상 프로그램 B'에 대한 계층 구조의 검색 키워드를 추가 지정하는 경우, 최초 지정된 검색 키워드인 'Price_Name_Image'에 대해 '대상 프로그램 A' 및 '대상 프로그램 C'와 중복되는 데이터 식별자를 개수가 추가 식별자로서 부여한, 'Price_Name_Image[2]'를 '대상 프로그램 B'에 대한 검색 키워드로서 추가 지정하게 된다.
여기서, '대상 프로그램 B'에 추가 지정된 검색 키워드인 'Price_Name_Image[2]'에는 '대상 프로그램 A', '대상 프로그램 B', '대상 프로그램 C'가 매핑되어 저장될 수 있는데, '대상 프로그램 B'의 경우 검색 키워드로서 'Price_Name_Image[3]'이 기본 지정되어 있으므로 추가 지정된 검색 키워드인 'Price_Name_Image[2]'에는 '대상 프로그램 A', '대상 프로그램 C'만이 매핑되어 저장될 수 있도록 한다.
결국, '대상 프로그램 B'에 지정되는 검색 키워드는, 'Price_Name_Image[3]'과 'Price_Name_Image[2]'가 지정될 수 있으며, 이 역시 각 검색 키워드는 추가 식별자로 부여된 숫자의 크기 우선순위에 따라 계층 구조로 정렬될 수 있다.
참고로 각 대상 프로그램에 대해 지정되는 검색 키워드 및 각 키워드에 매핑되어 저장되는 대상 프로그램들을 정리하면 아래 [표 1]과 같을 수 있다.
대상 프로그램 검색 키워드 매핑 대상
대상 프로그램 A Price_Name_Description[3] 대상 프로그램 A
Price_Name_Description[2] 대상 프로그램 B, 대상 프로그램 C
대상 프로그램 B Price_Name_Image[3] 대상 프로그램 B
Price_Name_Image[2] 대상 프로그램 A, 대상 프로그램 C
대상 프로그램 C Price_Name[2] 대상 프로그램 C
추출부(400)는 대상 프로그램을 추출하는 기능을 수행한다.
보다 구체적으로, 추출부(400)는 검색 키워드와 대상 프로그램의 매핑 저장이 완료된 이후, 검색 키워드로서 사용자가 입력한 문자열이 수신되는 경우, 수신된 문자열이 포함하는 검색 키워드들을 확인하고, 확인된 검색 키워드와 매핑되어 저장되어 있는 대상 프로그램의 프로그램 식별정보를 추출하여 제공하게 된다.
예를 들어, 위 [표 1]을 참조하면 사용자로부터 입력된 검색 키워드로서 'Price_Name'에 해당하는 문자열이 수신되는 경우, 이는 'Price_Name_Description[3]', 'Price_Name_Description[2]', 'Price_Name_Image[3]', 'Price_Name_Image[2]', 'Price_Name[2]' 모두에 포함된 문자열이므로, '대상 프로그램 A', '대상 프로그램 B', 및 '대상 프로그램 C' 모두의 프로그램 식별정보를 추출하여 제공할 수 있다.
다른 예로서, 사용자로부터 입력된 검색 키워드로서 'Price_Name_Description'에 해당하는 문자열이 수신되는 경우, 이는 Price_Name_Description[3]에만 포함된 문자열이므로, '대상 프로그램 A'에 대한 프로그램 식별정보를 추출하여 제공할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 데이터저장장치에 따르면, 단순 문자열 형태로 데이터베이스를 구축하였기 때문에 저장 공간이 매우 작고, 저장된 데이터를 검색할 경우 단순 문자열 검색이기 때문에 직관적이고 속도가 빠르다. 또한 복잡한 관계의 데이터를 직관적으로 저장하였기 때문에 접근이 용이하고 데이터 접근 후 재 가공이 불필요하고, 데이터를 단순히 나열하여 저장한 것이 아니라, 계층 구조로 우선순위에 맞게 저장해 두었기 때문에 추후 데이터 추출 시 부가적이 정렬과정이 요구되지 않는다.
이하에서는 도 5를 참조하여, 본 발명의 일 실시예에 따른 데이터저장장치에서의 동작 흐름을 설명하기로 한다.
여기서, 설명의 편의를 위해 전술한 도 1 내지 도 4에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다.
먼저, 확인부(100)는 프로그램의 생성 또는 실행과 관련하여 저장된 다수의 데이터 중 적어도 일부의 데이터를 요구하는 대상 프로그램을 확인한다(S100).
이때, 확인부(100)는 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #3(Description)'을 요구하는 '대상 프로그램 A'와; '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #4(Image)'를 요구하는 '대상 프로그램 B'; 그리고 '데이터 #1(Price)' 및 '데이터 #2(Name)'를 요구하는 '대상 프로그램 C'를 확인할 수 있다.
그리고 나서, 지정부(200)는 생성 또는 실행을 위해서 데이터를 요구하고 있는 대상 프로그램이 확인되면, 확인된 대상 프로그램에 대한 검색 키워드를 지정함으로써, 저장부(300)로 하여금 지정된 검색 키워드에 대하여 확인된 대상 프로그램의 프로그램 식별자(예: 명칭)를 매핑하여 저장할 수 있도록 한다(S200).
이때, 지정부(200)는 확인된 대상 프로그램에서 요구하는 데이터들의 데이터 식별자(예: 명칭)를 추출하고, 추출된 데이터 식별자들을 구분자(예: '_')를 이용하여 나열하는 방식을 통해서 확인된 각 대상 프로그램들에 대한 검색 키워드를 지정하게 된다.
예를 들어, 지정부(200)는 '대상 프로그램 A'에 대해서는 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #3(Description)'가 요구되므로, 각 데이터의 데이터 식별자를 구분자로 이용하여 나열한 'Price_Name_Description'가 검색 키워드로서 지정될 수 있다.
또한, 지정부(200)는 '대상 프로그램 B'에 대해서는 '데이터 #1(Price)', '데이터 #2(Name)', 및 '데이터 #4(Image)'가 요구되므로, 각 데이터의 데이터 식별자를 구분자로 이용하여 나열한 'Price_Name_Image'가 검색 키워드로서 지정될 수 있다.
마지막으로, 지정부(200)는 '대상 프로그램 C'에 대해서는 '데이터 #1(Price)', 및 '데이터 #2(Name)'가 요구되므로, 각 데이터의 데이터 식별자를 구분자로 이용하여 나열한 'Price_Name'이 검색 키워드로서 지정될 수 있다.
그리고 나서, 지정부(200)는 각 대상 프로그램에서 요구되는 데이터 중복에 따른 문제점을 해결하기 위해 지정된 검색 키워드에 추가 식별자를 부여한다(S300).
이때, 지정부(200)는 각 대상 프로그램에 지정되어 있는 검색 키워드에 포함된 데이터 식별자의 개수를 카운트함으로써, 카운트 된 데이터 식별자의 개수를 검색 키워드에 대한 추가 식별자로서 우선 부여하게 된다.
앞선 예에 따르면, '대상 프로그램 A'에 대해 지정된 검색 키워드인 'Price_Name_Description'에는 3 개의 데이터 식별자가 포함되므로, '대상 프로그램 A'에 대해 지정된 검색 키워드에는 추가 식별자로서 '[3]'이 부여되어, 최종적으로 'Price_Name_Description[3]'가 '대상 프로그램 A'에 대한 검색 키워드로서 지정될 수 있다.
또한, '대상 프로그램 B'에 대해 지정된 검색 키워드인 'Price_Name_Image' 역시 3 개의 데이터 식별자가 포함되므로, '대상 프로그램 B'에 대해 지정된 검색 키워드에는 추가 식별자로서 '[3]'이 부여되어, 최종적으로 'Price_Name_Image[3]'가 '대상 프로그램 B'에 대한 검색 키워드로서 지정될 수 있다.
마지막으로, '대상 프로그램 C'에 대해 지정된 검색 키워드인 'Price_Name' 의 경우, 2 개의 데이터 식별자가 포함되므로, '대상 프로그램 C'에 대해 지정된 검색 키워드에는 추가 식별자로서 '[2]'가 부여되어, 최종적으로 'Price_Name[2]'이 '대상 프로그램 C'에 대한 검색 키워드로서 지정될 수 있다.
나아가, 지정부(200)는 각 대상 프로그램 간에 서로 중복되는 데이터를 고려하기 위해서, 각 대상 프로그램에 대해 최종 지정된 검색 키워드에 대하여 중복된 데이터 개수를 추가 식별자로서 부여한 계층 구조의 검색 키워드를 추가 지정한다(S400).
이때, 지정부(200)는 '대상 프로그램 A'에 대한 계층 구조의 검색 키워드를 추가 지정하는 경우, 최초 지정된 검색 키워드인 'Price_Name_Description'에 대해 '대상 프로그램 B' 및 '대상 프로그램 C'와 중복되는 데이터 식별자의 개수를 추가 식별자로서 부여한, 'Price_Name_Description[2]'를 '대상 프로그램 A'에 대한 검색 키워드로서 추가 지정하게 된다.
여기서, '대상 프로그램 A'에 추가 지정된 검색 키워드인 'Price_Name_Description[2]'에는 '대상 프로그램 A', '대상 프로그램 B', '대상 프로그램 C'가 매핑되어 저장될 수 있는데, '대상 프로그램 A'의 경우 검색 키워드로서 'Price_Name_Description[3]'이 기본 지정되어 있으므로 추가 지정된 검색 키워드인 'Price_Name_Description[2]'에는 '대상 프로그램 B', '대상 프로그램 C'만이 매핑되어 저장될 수 있도록 한다.
결국, '대상 프로그램 A'에 지정되는 검색 키워드는, 'Price_Name_Description[3]'과 'Price_Name_Description[2]'가 지정될 수 있다.
마찬가지로, 지정부(200)는 '대상 프로그램 B'에 대한 계층 구조의 검색 키워드를 추가 지정하는 경우, 최초 지정된 검색 키워드인 'Price_Name_Image'에 대해 '대상 프로그램 A' 및 '대상 프로그램 C'와 중복되는 데이터 식별자를 개수가 추가 식별자로서 부여한, 'Price_Name_Image[2]'를 '대상 프로그램 B'에 대한 검색 키워드로서 추가 지정하게 된다.
여기서, '대상 프로그램 B'에 추가 지정된 검색 키워드인 'Price_Name_Image[2]'에는 '대상 프로그램 A', '대상 프로그램 B', '대상 프로그램 C'가 매핑되어 저장될 수 있는데, '대상 프로그램 B'의 경우 검색 키워드로서 'Price_Name_Image[3]'이 기본 지정되어 있으므로 추가 지정된 검색 키워드인 'Price_Name_Image[2]'에는 '대상 프로그램 A', '대상 프로그램 C'만이 매핑되어 저장될 수 있도록 한다.
결국, '대상 프로그램 B'에 지정되는 검색 키워드는, 'Price_Name_Image[3]'과 'Price_Name_Image[2]'가 지정될 수 있다.
이후, 추출부(400)는 검색 키워드와 대상 프로그램의 매핑 저장이 완료된 이후, 검색 키워드로서 사용자가 입력한 문자열이 수신되는 경우, 수신된 문자열이 포함하는 검색 키워드들을 확인하고, 확인된 검색 키워드와 매핑되어 저장되어 있는 대상 프로그램의 프로그램 식별정보를 추출하여 제공한다(S500-S700).
이때, 사용자로부터 입력된 검색 키워드로서 'Price_Name'에 해당하는 문자열이 수신되는 경우, 이는 'Price_Name_Description[3]', 'Price_Name_Description[2]', 'Price_Name_Image[3]', 'Price_Name_Image[2]', 'Price_Name[2]' 모두에 포함된 문자열이므로, '대상 프로그램 A', '대상 프로그램 B', 및 '대상 프로그램 C' 모두의 프로그램 식별정보를 추출하여 제공할 수 있다.
만약, 사용자로부터 입력된 검색 키워드로서 'Price_Name_Description'에 해당하는 문자열이 수신되는 경우, 이는 Price_Name_Description[3]에만 포함된 문자열이므로, '대상 프로그램 A'에 대한 프로그램 식별정보를 추출하여 제공할 수 있다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 데이터저장장치의 동작 방법 따르면, 단순 문자열 형태로 데이터베이스를 구축하였기 때문에 저장 공간이 매우 작고, 저장된 데이터를 검색할 경우 단순 문자열 검색이기 때문에 직관적이고 속도가 빠르다. 또한 복잡한 관계의 데이터를 직관적으로 저장하였기 때문에 접근이 용이하고 데이터 접근 후 재 가공이 불필요하고, 데이터를 단순히 나열하여 저장한 것이 아니라, 계층 구조로 우선순위에 맞게 저장해 두었기 때문에 추후 데이터 추출 시 부가적이 정렬과정이 요구되지 않는다.
한편, 여기에 제시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명의 데이터저장장치 및 그 동작 방법에 따르면, 문자열로 이루어진 데이터 식별자를 검색 키워드로 하여 실행 또는 생성 가능한 대상 프로그램을 용이하게 추출할 수 있게 한다는 점에서 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100: 확인부
200: 지정부
300: 저장부
400: 추출부

Claims (9)

  1. 프로그램의 생성 또는 실행과 관련하여 요구되는 다수의 데이터를 저장하는 데이터저장장치에 있어서,
    상기 다수의 데이터 중 적어도 일부 데이터가 대상 프로그램으로부터 요구되면, 상기 적어도 일부 데이터 각각의 데이터 식별자를 나열하고, 나열된 데이터 식별자의 개수를 추가 식별자로 부여한 검색 키워드를 지정하여, 상기 검색 키워드에 대하여 상기 대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하는 지정부를 포함하며,
    상기 검색 키워드는,
    제1대상 프로그램의 프로그램 식별자가 매핑된 제1검색 키워드, 및 상기 제1대상 프로그램과는 다른 제2대상 프로그램의 프로그램 식별자가 매핑된 제2검색 키워드를 포함하며,
    상기 지정부는,
    상기 제1검색 키워드와 상기 제2검색 키워드 간에, 나열된 데이터 식별자 중 일부가 서로 중복되는 경우,
    상기 제1대상 프로그램에 대해서, 상기 제1검색 키워드로 나열된 데이터 식별자에 상기 제2검색 키워드와 중복된 데이터 식별자의 개수를 추가 식별자로 부여한 제3검색 키워드를 추가 지정하여, 상기 제3검색 키워드에 상기 제2대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하며,
    상기 제2대상 프로그램에 대해서, 상기 제2검색 키워드로 나열된 데이터 식별자에 상기 제1검색 키워드와 중복된 데이터 식별자의 개수를 추가 식별자로 부여한 제4검색 키워드를 추가 지정하여, 상기 제4검색 키워드에 상기 제1대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하는 것을 특징으로 하는 데이터저장장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 프로그램의 생성 또는 실행과 관련하여 요구되는 다수의 데이터를 저장하는 데이터저장장치의 동작 방법에 있어서,
    상기 다수의 데이터 중 적어도 일부 데이터가 대상 프로그램으로부터 요구되면, 상기 적어도 일부 데이터 각각의 데이터 식별자를 나열하고, 나열된 데이터 식별자의 개수를 추가 식별자로 부여한 검색 키워드를 지정하여, 상기 검색 키워드에 대하여 상기 대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하는 지정단계를 포함하며,
    상기 검색 키워드는,
    제1대상 프로그램의 프로그램 식별자가 매핑된 제1검색 키워드, 및 상기 제1대상 프로그램과는 다른 제2대상 프로그램의 프로그램 식별자가 매핑된 제2검색 키워드를 포함하며,
    상기 지정단계는,
    상기 제1검색 키워드와 상기 제2검색 키워드 간에, 나열된 데이터 식별자 중 일부가 서로 중복되는 경우,
    상기 제1대상 프로그램에 대해서, 상기 제1검색 키워드로 나열된 데이터 식별자에 상기 제2검색 키워드와 중복된 데이터 식별자의 개수를 추가 식별자로 부여한 제3검색 키워드를 추가 지정하여, 상기 제3검색 키워드에 상기 제2대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하며,
    상기 제2대상 프로그램에 대해서, 상기 제2검색 키워드로 나열된 데이터 식별자에 상기 제1검색 키워드와 중복된 데이터 식별자의 개수를 추가 식별자로 부여한 제4검색 키워드를 추가 지정하여, 상기 제4검색 키워드에 상기 제1대상 프로그램의 프로그램 식별자가 매핑되어 저장되도록 하는 것을 특징으로 하는 데이터저장장치의 동작 방법.
  6. 삭제
  7. 삭제
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제 5 항에 있어서,
    상기 지정단계는,
    상기 제2검색 키워드로 나열된 데이터 식별자 전체가 상기 제1검색 키워드로 나열된 데이터 식별자 중 일부와 중복되는 경우,
    상기 제1대상 프로그램 및 상기 제2대상 프로그램 중 상기 제1대상 프로그램에 대해서만, 상기 제1검색 키워드로 나열된 데이터 식별자에 상기 제2검색 키워드와 중복된 데이터 식별자의 개수를 추가 식별자로 부여한 제3검색 키워드를 추가 지정하는 것을 특징으로 하는 데이터저장장치의 동작 방법.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제 5 항 또는 제 8 항 중 어느 한 항의 방법의 각 단계를 실행하기 위해 컴퓨터 판독 가능 기록 매체에 저장된 프로그램.
KR1020140162519A 2014-11-20 2014-11-20 데이터저장장치 및 그 동작 방법 KR102311331B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140162519A KR102311331B1 (ko) 2014-11-20 2014-11-20 데이터저장장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140162519A KR102311331B1 (ko) 2014-11-20 2014-11-20 데이터저장장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20160060357A KR20160060357A (ko) 2016-05-30
KR102311331B1 true KR102311331B1 (ko) 2021-10-13

Family

ID=57124546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140162519A KR102311331B1 (ko) 2014-11-20 2014-11-20 데이터저장장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102311331B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005189967A (ja) * 2003-12-24 2005-07-14 Konica Minolta Business Technologies Inc 検索プログラムおよび検索装置
US20060294063A1 (en) 2005-06-23 2006-12-28 Microsoft Corporation Application launching via indexed data
JP2007079745A (ja) 2005-09-12 2007-03-29 Sharp Corp ネットワーク接続装置、サーバ装置、端末装置、システム、受信方法、文字入力方法、送信方法、プログラムおよびコンピュータ読み取り可能な記録媒体
WO2009019858A1 (ja) 2007-08-08 2009-02-12 Panasonic Corporation 番組検索支援装置およびその方法
JP2009053814A (ja) 2007-08-24 2009-03-12 Toshiba Corp キーワード抽出装置及び方法、並びに、文書検索装置及び方法
JP2012014293A (ja) 2010-06-29 2012-01-19 Toshiba Corp 情報検索装置および情報検索方法
US20120130816A1 (en) * 2010-03-31 2012-05-24 Rakuten, Inc. Search system, search method, search program and recording medium
JP2013084261A (ja) 2011-09-28 2013-05-09 Kyocera Corp 装置、方法、及びプログラム
JP2013126079A (ja) 2011-12-14 2013-06-24 Asutemu:Kk テレビジョン装置、情報処理方法、およびプログラム。

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100661560B1 (ko) * 2004-09-24 2006-12-27 엘지전자 주식회사 이동단말기의 데이터 재검색 방법
KR100942269B1 (ko) * 2007-10-13 2010-02-16 남종철 양방향 모바일 방송 환경에서 개인화epg를 제공하는이동수신단말기
KR101117172B1 (ko) * 2008-10-22 2012-03-07 엔에이치엔비즈니스플랫폼 주식회사 사용자에 의해 입력된 검색 키워드에 대한 검색 결과와 상기 검색 키워드와 연관되어 있는 다른 검색 키워드에 대한 검색 결과를 함께 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20110136084A (ko) * 2010-06-14 2011-12-21 삼성전자주식회사 휴대용 단말기에서 컨텐츠를 검색하기 위한 장치 및 방법
KR101651134B1 (ko) * 2010-06-24 2016-08-29 엘지전자 주식회사 이동 단말기 및 이것의 그룹 동작 제어 방법
KR101889838B1 (ko) * 2011-02-10 2018-08-20 삼성전자주식회사 터치 스크린 디스플레이를 구비한 휴대 기기 및 그 제어 방법
KR101262700B1 (ko) * 2011-08-05 2013-05-08 삼성전자주식회사 음성 인식 및 모션 인식을 이용하는 전자 장치의 제어 방법 및 이를 적용한 전자 장치
KR101745002B1 (ko) * 2011-09-20 2017-06-20 현대자동차주식회사 복수의 애플리케이션 표시 장치 및 그 방법
CN103139182B (zh) * 2011-12-01 2016-04-06 北大方正集团有限公司 一种允许用户访问的方法、客户端、服务器以及系统
KR20140110214A (ko) * 2013-03-05 2014-09-17 서울대학교병원 의료질관리 시스템 및 그 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005189967A (ja) * 2003-12-24 2005-07-14 Konica Minolta Business Technologies Inc 検索プログラムおよび検索装置
US20060294063A1 (en) 2005-06-23 2006-12-28 Microsoft Corporation Application launching via indexed data
JP2007079745A (ja) 2005-09-12 2007-03-29 Sharp Corp ネットワーク接続装置、サーバ装置、端末装置、システム、受信方法、文字入力方法、送信方法、プログラムおよびコンピュータ読み取り可能な記録媒体
WO2009019858A1 (ja) 2007-08-08 2009-02-12 Panasonic Corporation 番組検索支援装置およびその方法
JP2009053814A (ja) 2007-08-24 2009-03-12 Toshiba Corp キーワード抽出装置及び方法、並びに、文書検索装置及び方法
US20120130816A1 (en) * 2010-03-31 2012-05-24 Rakuten, Inc. Search system, search method, search program and recording medium
JP2012014293A (ja) 2010-06-29 2012-01-19 Toshiba Corp 情報検索装置および情報検索方法
JP2013084261A (ja) 2011-09-28 2013-05-09 Kyocera Corp 装置、方法、及びプログラム
JP2013126079A (ja) 2011-12-14 2013-06-24 Asutemu:Kk テレビジョン装置、情報処理方法、およびプログラム。

Also Published As

Publication number Publication date
KR20160060357A (ko) 2016-05-30

Similar Documents

Publication Publication Date Title
US9471603B2 (en) Method, apparatus and computer-readable recording medium for managing images in image database
US9031920B2 (en) Objects in a storage environment for connected applications
KR101029160B1 (ko) 이미지 데이터베이스에 신규 이미지 및 이에 대한 정보를 추가하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN110196871A (zh) 数据入库方法和系统
CN102831121A (zh) 一种网页信息抽取的方法和系统
CN101183379A (zh) 用于检索数据的方法和系统
CN105022748A (zh) 一种运单地址分级方法及装置
CN102609402A (zh) 一种基于实时策略的本体模型生成及管理装置及方法
KR101877828B1 (ko) 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템
CN107506484B (zh) 运维数据关联审计方法、系统、设备及存储介质
CN105159885A (zh) 一种兴趣点名称的识别方法和装置
JP2005242904A (ja) 文書群分析装置、文書群分析方法、文書群分析システム、プログラムおよび記録媒体
KR102311331B1 (ko) 데이터저장장치 및 그 동작 방법
AU2022203755B2 (en) Storage structure for pattern mining
CN105426676A (zh) 一种钻井数据处理方法和系统
CN103201739B (zh) 信息处理设备
US20200005163A1 (en) Inference-use knowledge generation apparatus, inference-use knowledge generation method, and computer-readable recording medium
CN104038356A (zh) 数据路由的执行方法、配置装置和处理装置
CN105574019A (zh) 一种查询参数处理方法及装置
JP2018194944A (ja) 表示プログラム、表示方法および表示装置
CN113360789A (zh) 兴趣点数据处理方法、装置、电子设备及存储介质
WO2020152845A1 (ja) セキュリティ情報分析装置、システム、方法およびプログラム
CN110674137A (zh) 数据处理方法及装置、存储介质、电子设备
US8769460B1 (en) Device recognition engine
WO2014064545A1 (en) Maintaining integrity of output of code generators

Legal Events

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