KR100372582B1 - 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 - Google Patents
데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 Download PDFInfo
- Publication number
- KR100372582B1 KR100372582B1 KR10-2000-0009714A KR20000009714A KR100372582B1 KR 100372582 B1 KR100372582 B1 KR 100372582B1 KR 20000009714 A KR20000009714 A KR 20000009714A KR 100372582 B1 KR100372582 B1 KR 100372582B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- data processing
- processing
- combination
- type
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/263—Language identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/53—Processing of non-Latin text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은, 데이터처리방법 및 시스템 및 그 처리프로그램 및 그 처리프로그램을 기록한 계산기판독이 가능한 기록매체에 관한 것으로, 데이터접속 관리부는, 데이터의 종별마다 설치한 복수의 데이터처리서버가 관리하는 데이터베이스에 대한 접속을 관리하고, 요구해석부는, 종별을 구별한 처리의 요구를 포함하는 어플리케이션으로부터의 요구를 해석하고, 처리서버 선택부는, 데이터처리를 수행하는 데이터처리서버를 종별에 따라 선택하고, 데이터처리 요구부는, 데이터처리서버에 데이터처리를 요구하며, 처리결과 편집부는, 데이터처리서버의 처리결과를 편집함으로써, 종별마다 데이터처리수단을 선택하여 실행할 수 있기 때문에, 종별에 따라 데이터를 구별한 처리를 수행하는 기능을 제공할 수 있는 기술이 제시된다.
Description
본 발명은, 데이터처리방법, 데이터처리 시스템 및 매체에 관한 것으로, 특히 영어나 일본어 등과 같은 자연언어의 분류 등에 의하여 데이터의 종별을 구별하고, 데이터처리 시스템 내에서 취급하는 복수의 종별데이터에 접속하는 데에 있어서 매우 적합한 데이터처리방법에 적용하여 유효한 기술에 관한 것이다.
컴퓨터시스템에서는, 처리되는 데이터가 다양하므로, 여러 종별의 데이터를 혼재시켜 취급할 수 있어야 할 필요가 있다.
예를들어, 다국적기업에 있어서 각국의 거점에 있는 정보시스템을 통합하는 경우, 각국거점에서 각 지역의 자연언어로 기술된 문서데이터를 하나의 중앙거점서버에서 처리할 필요가 있다.
혹은, World Wide Web에서 전세계로부터 정보를 수집하여 통합하는 경우, 각국의 Web사이트로부터 제공되므로, 각국의 자연언어로 기술된 HTML문서의 파일을 혼재시킬 필요가 있다.
혹은, 언어를 학습할 경우, 학습하고자 하는 언어의 기술과, 그것을 설명하는 모국어 혹은 이미 습득한 언어에 의한 기술을 동시에 취급할 필요가 있다.
복수의 언어를, 통일된 하나의 형식으로 부호화하여 데이터처리를 가능하게 하기 위해서는, Unicode라 불리는 부호화문자집합을 이용하는 방법이 있다. Unicode는, 국제표준화기구(ISO)와 Unicode컨소시엄이 공동으로 개발한 다언어문자세트로서, 세계의 주요한 문자세트규격을 하나의 커다란 문자세트규격에 집어넣고 있다. ISO는 이 문자세트의 규격을 ISO 10646 이라 명명하고 있다.
데이터베이스 시스템에서 복수언어의 데이터를 취급할 때에는, Unicode를 이용하는 방법이 있다. 이 방법은, 예를들어 ORACLE 8 National Language Support, An Oracle Technical White Paper, 1997. 6에 기재되어 있다.
이 문헌에는, 다국적기업의 로컬 데이터베이스를 하나의 데이터베이스로 통합시킬 때, Unicode를 데이터베이스서버의 문자코드로 하는 것이 이상적이라고 나타나 있다. 데이터베이스서버 내에서는, 문자열 형태의 데이터를 Unicode라고 하는 하나의 데이터형식으로 통일시켜 취급한다. 클라이언트의 문자코드와 데이터베이스서버의 문자코드가 서로 다른 경우에는, 데이터베이스 서버의 데이터베이스 관리시스템이 자동적으로 문자코드의 변환을 실행한다.
다종언어의 문서데이터를 취급하는 시스템으로는, 일본 공개특허공보 특개평10-232869호에 개시되어 있는 다종언어 대응통신 시스템이 있다. 이 시스템에서는 자연언어로 기술된 문서데이터를 문법적, 의미적으로 해석한 결과로서 얻어지는 중간형식 문서데이터를 서버장치에 기억시킨다. 그리고, 클라이언트장치로부터 문서데이터의 검색요구가 있게 되면, 지정된 문자열을 포함하는 중간형식 문서데이터를 기억장치로부터 검색하고, 검색한 중간형식 문서데이터로부터 클라이언트장치가 요구하는 자연언어로 기술된 문서데이터를 생성하고, 생성된 문서데이터를 클라이언트장치로 송신한다. 서버장치에는, 시스템에서 취급하는 모든 문서데이터를 하나의 중간형식으로 기억한다.
종래의 데이터베이스언어 SQL에서는, ORDER BY구에 의해 처리결과를 소트하도록 조회요구를 실행하고 있으며, 이 언어사양은 일본공업규격 JIS X 3005-1990의 데이터베이스언어 SQL로 규정되어 있다. 소트키에는 문자열을 지정할 수가 있으며, 이 경우, COLLATE에 의해 조합순번을 지정하고 있다.
상기와 마찬가지의 사양이 "Understanding The New SQL : a Complete Guide, Jim Melt on. Morgan Kaufmann, 1993"에 기재되어 있다. 이 문헌에는 다음과 같은 SQL문자를 이용한 예가 기재되어 있다.
SELECT movie_title, movie_type
FROM movie_titles
ORDER BY movie_title COLLATE FRENCH
이 예는 영화의 타이틀을 프랑스어의 관례에 따라 소트하도록 지정하고 있으며, 소트키의 문자열의 문자세트에 적당한 조합을 명시적으로 지정하는 것이다.
또한, "ORACLE 8 National Language Support, An Oracle Technical WhitePaper, 1997. 6"에 기재되어 있는 예에서는, 환경변수 등으로 조합방법을 지정하고 있다.
도 57은 종래의 환경변수 등으로 지정한 조합방법의 예를 나타내는 도이다. 도 57에서는, 조합방법의 지정과, SQL문에 의한 조회 및 그 처리결과의 예를 나타내고 있으며, 이 예로부터 알 수 있듯이, 동일한 문자의 집합에 대하여 지정한 언어에 의해 서로다른 소트가 이루어지는 것을 나타내고 있다.
종래의 데이터베이스를 다종언어의 대응으로서 서로다른 언어에 대응시켜 소트처리를 실행한 경우, 어느 한 문자의 집합을 서로다른 언어의 문자로서 서로다른 조합방법으로 소트처리를 실시하면, 조합방법에 의해 서로다른 조합순번으로 소트가 이루어지기 때문에, 상기와 같이 동일한 문자의 집합에 대한 처리라도 언어에 의해 소트처리결과가 달라지게 된다.
또한, 특정한 언어의 조합을 실행하는 경우라도, 그 언어에 따라 다양한 조합순번이 있으며, 언어를 일본어와 섞은 경우라도 단순조합, 읽기·표기조합, 대표읽기조합 등과 같이 각종 조합방법으로 소트처리를 실시하면 그 처리결과는 각각 서로다른 것이 된다.
이와 같은 각각의 언어조합을 실행하는 것으로서, 일본 특허공개 평8-508123호 공보에 언어인식조합 시스템이 개시되어 있다. 또한, 일본어문자열의 조합순번에 관한 규격이, 일본공업규격 JIS X 4061-1996로 제정되어 있으며, 이 규격에서는, 단순조합, 읽기·표기조합, 대표읽기조합의 3가이 조합순번이 규정되어 있다.
상기와 같이 종래의 조합처리방법에 있어서, 데이터베이스를 다종언어의 대응으로 하거나, 특정한 언어에 대하여 복수의 조합방법을 이용하는 등, 데이터베이스의 동일한 열의 값에 대하여 서로다른 조합방법을 적용하는 경우에는, 동일한 열의 값에 대하여 조합방법마다 서로다른 조합키를 이용하여 소트처리를 실시하게 되기 때문에, 각각의 열의 값에 대하여 조합방법에 대응하는 조합키를 생성한 후, 생성한 조합키의 소트를 실시하고 있다.
한편, 데이터베이스 시스템에 있어서, 데이터베이스에 격납시킨 데이터를 소트하는 방법으로서 인덱스를 이용하는 방법이 있다. 이 예로는, 일본 특허공개 평8-255170호 공보에 소트기능을 겸한 검색처리장치가 개시되어 있다.
오브젝트·릴레이셔널 데이터베이스 관리시스템에 있어서는, 이용자 정의형에 대하여 인덱스를 작성할 때의 순서평가를 수행하는 이용자함수를 정의할 수 있다. 그 예는, "Object-Relational DBMSs, Michael Stonebraker, Morgan Kaufmann, 1996"에 기재되어 있다. 이에 의하면, 이용자 정의함수에 의한 임의의 순번에 따른 B-tree 인덱스를 작성할 수 있다.
일반적으로, 문자열의 조합을 수행하려면, 각 조합단계에 있어서의 다양한 조합키에 대하여 다차원적으로 해석할 필요가 있다. 마찬가지로, 다차원적인 데이터해석에 의해 검색을 수행하는 데이터처리방법의 예로서, 일본 특허공개 평10-301937호 공보에 다차원 벡터공간내의 근방검색방법과 그 프로그램의 기록매체가 기재되어 있다. 이 방법에서는, 색이나 모양 등의 화상의 특징량을 다차원데이터로 하여 트리구조(tree structure)의 인덱스를 이용함으로써, 어느 한 화상과 유사한 화상을 고속으로 검색하고 있으며, 각 차원에 대하여 특징량의 검색범위를 한정하여 유사한 화상을 검색함으로써, 모든 화상과의 비교를 실시하지 않고 범위를 한정하여 데이터처리량을 삭감하여 고속화를 도모하고 있다.
표계산 소프트웨어나 데이터베이스 관리시스템(DBMS)에서는, 이용자가 등록을 요구한 데이터의 축적관리를 수행하고, 출력요구를 통해 데이터를 출력하여 이용자에게 반환하는 처리를 수행하고 있다. 이와 같은 처리에서는, 아무런 조건을 지정하지 않고 데이터의 출력을 실행하면, 출력하는 데이터의 순번이 정해져 있지 않으므로, 정해진 순서대로 데이터를 출력하기 위하여 데이터의 배열변경기능이 제공되어 있다.
상기의 배열변경처리에서는, 문자열의 문자코드의 값에 의한 오름차순 또는 내림차순 배열변경이나, 시스템에 들어있는 경우에는 일본어문자열에 대한 50음순 배열변경 등이 가능하다. 예를들어, 데이터베이스 언어 SQL에서는, ORDER BY구에 의해 검색결과를 소트하도록 요구할 수 있다. 이 언어사양은 일본공업규격 JIS X 3005-1990 데이터베이스 언어 SQL로 규정되어 있다.
표계산 소프트웨어 Microsoft사 Excel(등록상표)에서는, 데이터의 배열변경기능을 가지고 있으며, 메뉴에서 배열변경을 선택함으로써 배열변경 다이얼로그박스가 표시되어, 배열변경을 수행하는 키나 오름차순 또는 내림차순의 지정을 할 수 있도록 되어 있다. 또한, 옵션기능에서 배열변경 순서의 지정메뉴로부터 이용자정의 리스트패널에서 등록한 임의의 문자열의 배열을 선택하면, 키의 값을 그 순번대로 배열변경할 수 있다(Excel 5.0 for Windows 조작핸드북 ISBN4-8163-1671-X, 데이터의 배열변경에 관한 기술 p478∼p481, 이용자정의에 관한 기술 p214).
한편, 일본어문자열의 조합순번에 관한 규격이, 일본공업규격 JIS X4061-1996으로 규정되어 있다. 이 규격에서는, 단순조합, 읽기·표기조합, 대표읽기조합의 3가지 조합순번이 규정되어 있다.
단순조합은, 주어진 하나의 문자열을 그대로 조합키로서 배열변경하는 것으로, 읽기·표기조합은 배열변경을 수행하는 문자열과 그 읽기열에서, 우선 읽기열을 조합키에 의해 배열변경하고, 동일한 순위로 된 경우, 이번에는 문자열을 조합키로서 배열변경을 수행하는 것이다.
대표읽기조합에는, 기본 대표읽기조합과 간이 대표읽기조합이 있으며, 기본 대표읽기조합은 각각 대표읽기를 정할 수 있도록 분절된 읽기열 및 표기열이 주어지며, 이하의 (1)∼(4)의 절차에 의해 얻어진 결과가 조합결과가 된다.
(1) 2개의 표기열의 각각의 선두열을 문자클래스의 순번에 따라 평가한다.
(2) (1)의 단계에서 동일한 순위로 된 경우는, 2개의 표기열 중 각 문절에 대하여, 문절이 있는 한 다음의 (a) 및 (b)의 규칙을 순서대로 적용한다. 한쪽의 표기열에 조합할 문절이 없어진 경우에는, 없어진 표기열을 먼저순으로 한다. 양쪽의 표기열에 조합할 문절이 없어진 경우에는, 이 단계에서는 동일한 순위로 한다.
(a) 그 문절의 표기열 및 읽기열을 이용하여 대표읽기사전에서 대표읽기를 정하고, 그 대표읽기를 조합키로 하여 조합규칙으로 평가한다.
(b) (a)의 단계에서 동일한 순위로 된 경우는, 그 문절의 표기예를 조합키로하여 조합규칙으로 평가한다.
(3) (2)의 단계에서 동일한 순위로 된 경우, 읽기열을 조합키로 하여 조합규칙으로 평가한다.
(4) (3)의 단계에서 동일한 순위로 된 경우에는 표기열을 조합키로 하여 조합규칙으로 평가한다.
또한, 데이터베이스 관리시스템에 있어서, 격납시킨 데이터를 배열변경하는 방법으로서 인덱스를 이용하는 방법이 있으며, 그 예로서, 일본 특허공개 평8-255170호 공보의 소트기능을 겸한 검색처리장치에 개시되어 있는 것이 있다. 인덱스를 이용하면, 배열변경을, 지정된 데이터를 출력할 때 데이터를 배열변경하지 않고도 목적하는 순번의 데이터를 얻을 수 있기 때문에 고속으로 처리를 수행할 수 있다.
상기의 종래기술에서는, 복수의 종별데이터를 서버에서 관리할 때, 데이터의 형태나 데이터의 형식을 하나로 통일시키고 있으며, 형태나 데이터의 형식이 동일한 데이터에 대해서는, 개개의 데이터에 있어서 각각의 종별을 구별하는 것에 대하여 배려되어 있지 않아, 데이터의 종별마다의 특성에 다른 처리를 수행할 수 없다고 하는 문제가 있었다.
예를들어, 데이터베이스 관리시스템에서 Unicode에 의해 복수의 언어(영어, 일본어, 헤브라이어 등)의 문자열데이터를 하나의 표에 격납하는 경우, 격납을 관리하는 서버는 Unicode로 부호화한 문자데이터로 밖에는 인식하지 못하며, 무슨 언어인지를 구별하지 못한다. 그 때문에, 각각의 언어에 대응한 전문(全文) 검색처리기능이 있어도 각 언어의 데이터를 골라내어 각각의 언어특유의 전문검색처리를 적용하는 것이 불가능하다. 예를들어, 전문검색에 있어서 동의어나 다른표기의 전개 등은 언어에 따라 다르며, 또한, 일본어의 경우에는 단어를 잘라내거나, 영어의 경우에는 관사를 제외하는 등 각각 언어마다의 기능이 있는데, 데이터언어를 특정할 수 없으면 적절한 기능을 적용할 수 없다.
본 발명의 목적은, 종별이 서로 다른 복수의 데이터에 접속할 수 있는 데이터 처리시스템에 있어서, 데이터의 종별마다의 특성에 따른 처리를 수행할 수 있게 하는 것에 있다.
또한, 상기와 같이 종래의 조합처리방법에 있어서, 데이터베이스를 다종언어의 대응으로 하거나, 특정한 언어에 대하여 복수의 조합방법을 이용하는 등, 데이터베이스의 동일한 열의 값에 대하여 서로다른 조합방법을 적용하는 경우에는, 조합이 이루어지는 열의 값에 대하여 조합방법에 대응한 조합키를 생성한 후 생성한 조합키를 이용하여 소트처리를 수행하기 때문에, 소트처리의 처리속도가 저하된다는 문제가 있다.
또한, 상기 종래의 조합처리방법에서는, 어떤 한 소트처리를 할 때에 생성된 조합키는 그 소트처리에서만 이용되기 때문에, 생성한 조합키를 다른 조합방법에서 이용할 수 있는 경우라도 그 조합키를 다른 조합방법에서 이용하고 있지 않으으로, 조합키의 이용효율이 저하된다고 하는 문제가 있다. 예를들어, 읽기·표기조합에 의한 소트처리와 읽기·표기조합 및 대표읽기조합을 조합(組合)시킨 소트처리를 특정한 열의 값에 대하여 실시하는 경우에는, 읽기·표기조합의 조합키로서 동일한 것이 이용되는데, 종래의 조합처리방법에서는, 개개의 소트처리에서 각각 조합키를생성하고 있기 때문에 조합키의 이용효율이 저하되었다.
또한, 상기 종래의 조합처리방법에서는, 동일한 열의 값에 대하여 이루어지는 복수의 조합방법의 내용을 변경시킨 경우, 생성하는 조합키의 내용을 변경하지 않으면 안되기 때문에, 조합방법의 변경·추가에 용이하게 대응할 수 없다고 하는 문제가 있다.
한편, 종래의 데이터베이스 시스템에서는, 데이터베이스에 격납시킨 데이터를 소트할 때에 인덱스를 이용하는 방법이 있는데, 종래의 인덱스를 이용하는 방법에서는 조합되는 열의 값에 대응시킨 인덱스를 이용하기 때문에, 동일한 열의 값에 복수의 조합키가 대응하는 경우에는 종래의 인덱스를 그대로 적용하는 것이 어렵다고 하는 문제가 있다.
예를들어, 종래의 데이터베이스 시스템에 있어서, 데이터베이스에 격납시킨 문자열을, JIS X 4061로 규정되어 있는 조합방법에 따라 소트하는 기능을 서포트하는 것을 생각해, 일반적인 릴레이셔널 데이터베이스 시스템에서 표의 열에 문자열을 격납시키고, 일본 특허공개 평8-255170호 공보에 개시되어 있는 방법을 적용시켜 인덱스를 이용하여 소트기능을 제공하면 이하와 같이 된다.
우선, 문자열을 격납시킨 열에 대하여, 읽기·표기조합방법에 따른 소트를 서포트하는 경우에는, 읽기·표기조합방법에 따라 문자열의 순서를 결정하고, 인덱스를 구성하는 트리구조를 이루는 노드에 소트의 키의 값과 레코드를 식별하는 정보를 보지한다.
그러나, 이와 같은 방법에서는 다음과 같은 문제가 있다. 상기의 문자열을격납시킨 열에 대해서, 또한 대표읽기조합방법에 의한 소트를 서포트하는 경우에 상기의 읽기·표기조합방법에 따라 작성한 인덱스는, 노드내부의 레코드의 순번이 서로 다르기 때문에 이용할 수 없다. 이와 같이, B-tree 등에 의해 어떤 한 순서에 따라 작성한 인덱스를 다른 조합방법에 적용할 수가 없기 때문에, 복수의 조합방법에 의한 소트를 서포트할 경우에는, 각각의 조합방법에 의한 인덱스를 복수 작성하는 방법이나, 인덱스를 사용하지 않고 직접 레코드를 조합평가하여 소트하는 방법 등을 생각할 수 있다.
복수의 인덱스를 작성하는 방법에서는, 우선, 데이터베이스 시스템 내에서 동일한 열에 대하여 각각 서로다른 순번평가에 의한 복수의 인덱스를 작성·관리하는 기능이 필요하게 된다. 이것은 일반적인 데이터베이스 관리시스템에는 없는 기능이다. 또한, 이 기능을 추가하였다 하더라도 서포트하는 복수의 조합방법의 각각에 대하여 인덱스를 운용관리할 필요가 있어, 조작비용이 들게 된다. 또한, 각각의 인덱스에 대하여 인덱스 데이터를 격납하는 파일 등의 리소스(resource)가 필요하게 된다. 또한, 레코드등록·변경시의 인덱스 데이터의 메인터넌스의 오버헤드가 인덱스의 수만큼 커지게 된다.
인덱스를 사용하지 않고 레코드를 직접 조합평가하여 소트하는 방법에서는, 레코드를 격납시킨 영역을 모두 접속하기 때문에, 레코드 전체의 사이즈가 크고 레코드의 수가 대량인 경우, 인덱스를 이용하여 키의 값만을 접속하는 경우에 비해 고속으로 처리할 수가 없다.
또한, 인덱스를 작성하지 않는 경우, 소트를 처리할 때 인덱스를 동적으로작성하고, 그 인덱스를 이용하여 소트하는 방법을 생각할 수 있다. 그러나, 이 방법에서는 인덱스작성의 오버헤드가 증가하기 때문에, 이미 인덱스가 작성되어 있는 경우에 비해 고속으로 처리할 수가 없다.
또한, 종래의 데이터베이스 시스템에서는, 조합방법을 부분적으로 변경·추가하는 경우에 용이하게 대응할 수 없다고 하는 문제가 있다. 예를들어, JIS X 4061에서는, 한자에 대한 순번은 일본공업규격 JIS X 0208의 정보교환용 한자부호로 정의된 구점번호의 순번이나, 일본공업규격 JIS X 0221의 국제부호화 문자집합(UCS)-제 1부체계 및 기본 다종언어면으로 정의된 부호위치의 순번으로 하도록 규정되어 있다. 여기서, NTT의 전화번호부책과 같이 한자의 순번평가의 부분에 대해서 획수순으로 하고자 하는 경우에는, JIS X 4061에 따라 작성한 인덱스는 순번이 서로 다르기 때문에 이용할 수 없으므로, 전용 순번평가를 수행하는 기능과 인덱스를 별도작성하는 등의 대책이 필요하다.
상기 종래의 기술의 이용자 정의함수에 의한 순서평가로 인덱스를 작성하는 방법에서는, 임의의 어떤 하나의 순서평가에 기초한 인덱스를 작성할 수 있는데, 그 인덱스를 다른 순서평가에 기초한 소트에 적용할 수는 없다.
상기 종래기술의 다차원 벡터공간내의 근방검색방법을 적용하여, 문자열의 조합키를 다차원적으로 해석하여 문자열을 조합하는 방법을 생각할 수 있다. 그러나, 이 방법은, 어떤 한 조건을 만족시키는 데이터들의 집합을 취득하는 방법으로 이루어져, 검색범위를 한정하기에 효과적이기는 하지만, 어떤 한 규칙(조합방법)을 바탕으로 순번대로 소트하기에는 효과적이지 못하다. 특히, 복수의 조합방법에 기초한 순번대로 소트할 경우에는 적용할 수 없다. 이상을 종합하여 정리해 보면, 다음과 같은 문제를 들 수 있다.
(1) 하나의 인덱스는 하나의 조합방법에 의한 소트에만 대응할 수 있으며, 복수의 조합방법에 의한 소트에 대해서 배려되어 있지 않다. 복수의 조합방법에 대하여 각각 인덱스를 작성하면, 각각의 인덱스에 대하여 운용을 위한 조작비용이 들게 되며, 또한, 인덱스 데이터를 격납하는 리소스가 필요하게 된다. 또한, 레코드등록·변경시의 인덱스 메인터넌스의 오버헤드가 증가하게 된다.
(2) 조합방법을 부분적으로 변경·추가하는 경우에 용이하게 대응할 수 없으며, 조합방법의 변경에 대한 배려가 되어 있지 않다. 변경에 의해 순번이 변해버리는 경우에는, 처음의 조합방법을 위해 작성한 인덱스를 이용할 수 없게 된다.
본 발명의 목적은, 상기와 같은 문제를 해결하고, 복수의 조합방법에 의한 소트처리의 고속화 및 다차원 데이터의 이용효율의 향상을 달성할 수 있는 기술을 제공하는 것에 있다.
또한, 종래의 배열변경처리에서는, 단순조합이나 읽기·표기조합을 평가할 수는 있지만, 문절마다의 평가가 필요하게 되는 대표읽기조합은 그 실현이 불가능하기 때문에, 표계산 소프트웨어에서는 배열변경을 실현하는 매크로를 작성하거나, 데이터베이스 관리시스템에서는 데이터를 출력한 후에 독자적으로 배열변경처리를 수행하지 않으면 안된다는 문제가 있다. 또한, 종래의 배열변경처리에서는, 배열변경을 위한 인덱스를 작성할 수 없기 때문에, 배열변경처리에 시간이 걸릴 우려가 있다.
본 발명의 목적은 상기 문제를 해결하여, 이용자의 독자적인 데이터의 배열변경을 실행할 수 있는 기술을 제공하는 것에 있다.
본 발명의 다른 목적은 배열변경처리에서 지정된 룰에 의한 배열변경을 고속으로 실행할 수 있는 기술을 제공하는 것에 있다.
본 발명의 상기 및 그 밖의 다른 목적 및 신규한 특징은, 본 명세서의 기술 및 첨부도면을 통해 명백하게 밝히기로 한다.
본원에 있어서 개시되는 발명 중 대표적인 것의 개요를 간단하게 설명하면 다음과 같다.
데이터처리를 수행하는 데이터 처리수단을 데이터의 종별을 바탕으로 선택하고, 선택한 상기 데이터 처리수단으로 데이터처리를 실행하는 데이터 처리방법이다.
데이터종별을 바탕으로 데이터 처리수단을 선택하여 데이터처리를 실행함으로써, 복수의 서로다른 종별의 데이터에 접속하는 경우에 데이터종별 마다의 특유의 데이터처리를 수행할 수 있다.
본 발명은, 열의 값에 대응하는 조합키의 조합을 수행하여 레코드를 소트하는 조합처리방법에 있어서, 열의 값에 대응하는 조합키를 나타내는 다차원데이터를 복수의 조합방법으로 공유하고, 다차원데이터 중의 조합키를 이용하여 서로다른 복수의 조합방법에 의한 소트처리를 수행하는 것이다.
본 발명에 있어서 응용프로그램은, 표 데이터 기억장치에 격납된 문자열에 대하여 다양한 조합방법에 의해 소트하도록 데이터베이스 처리서버에 조회요구를한다.
데이터베이스 처리서버는, 응용프로그램으로부터의 조회요구를 받으면, 그 조회요구의 해석을 실시하여 인덱스관리부의 처리를 경유하여 조회해석결과를 조합모듈에 보내고 조합모듈에 소트처리를 요구한다.
조합모듈은, 정의데이터 기억장치에 보지되어 있는 각종데이터를 참조하고, 소트요구로 지정된 조합방법으로 평가대상이 되는 열의 값에 대하여 그 열의 값에 대응하는 조합키의 식별자를 취득하고, 그 식별자와 함께 다차원데이터 처리모듈에 다차원데이터 해석요구를 한다.
다차원데이터 처리모듈은, 상기 식별자로 나타내어지는 조합키를 다차원데이터로부터 판독하고, 상기 열의 값이 격납된 레코드를 식별하기 위한 레코드식별자를 상기 조합키를 이용하여 소트하고, 상기 열의 값에 대응하는 레코드식별자를 상기 조합방법에 따라 순서를 붙여 레코드식별자의 리스트를 생성한다.
다차원데이터 처리모듈은, 이 레코드식별자의 리스트를 다차원데이터 해석결과로서 조합모듈로 돌려보내고, 조합모듈은, 이 다차원데이터 해석결과를 소트처리결과로서 인덱스관리부에 넘겨준다. 데이터베이스 처리서버는, 인덱스관리부에서 소트처리결과를 넘겨받으면 응용프로그램에 조회처리종료를 보낸다.
상기와 같이 본 발명에 의하면, 복수의 조합방법에 따른 소트를 서포트할 때, 다차원데이터를 복수의 조합방법에 대하여 공유하고, 그 다차원데이터 중의 조합키를 이용하여 복수의 조합방법의 소트처리를 실시하기 때문에, 각각의 조합방법에 의한 소트처리의 고속화, 다차원데이터의 이용효율의 향상(리소스삭감) 및 운용조작비용의 삭감을 실현할 수 있다.
또한, 조합방법의 정의정보를 참조하여 그 조합방법에서 이용되는 조합키의 정의 정보를 추가·변경하는 것만으로, 조합방법의 추가·변경에 대응할 수 있기 때문에, 다차원데이터의 이용효율의 향상(리소스삭감) 및 운용조작의 용이화를 실현할 수 있다.
이상과 같이 본 발명의 조합처리장치에 의하면, 열의 값에 대응하는 조합키를 나타내는 다차원데이터를 복수의 조합방법에서 경유하고, 다차원데이터 중의 조합키를 이용하여 서로다른 복수의 조합방법에 의한 소트처리를 실시하기 때문에, 복수의 조합방법에 의한 소트처리의 고속화 및 다차원데이터의 이용효율의 향상을 실현할 수 있다.
본 발명은, 문자열을 포함하는 임의의 요소로 구성되는 데이터의 축적 및 출력을 수행하는 데이터처리장치에 있어서, 지정된 룰에 따라 데이터의 배열변경을 실행하는 것이다.
본 발명에서는, 참조되는 열 중의 배열변경의 대상과 배열변경의 순번을 배열변경의 룰로서 정의한다. 예를들어, 배열변경에서 평가하는 문자의 문자열 길이, 단락문자나 평가제외문자와, 오름차순이나 내림차순의 지시 또는 문자열의 조합(組合)에 의해 배열변경의 순번을 지정함으로써, 배열변경을 수행하기 위한 룰을 등록하여 배열변경의 룰을 정의한다.
다음으로, 배열변경에서 참조되는 열과 당해 참조열의 배열변경에서 사용하는 룰을 나타내는 배열변경처리를 지정한다. 이 배열변경처리의 지정에서는, 특정한 룰을 제 1 조건으로 하여 실시한 배열변경의 결과가 동일순위로 된 경우에, 다음으로 실행하는 배열변경의 참조열 및 룰을 제 2 조건, 제 3 조건…으로서 지정할 수도 있다. 그리고, 상기 지정된 배열변경처리의 내용에 따라 배열변경을 실행한다.
상기와 같이 본 발명에서는, 미리 정의된 룰에 따라 배열변경을 실시하기 때문에, 배열변경의 대상과 순번을 이용자가 독자적으로 정의함으로써, 이용자의 독자적인 데이터의 배열변경을 실행할 수가 있게 된다. 예를들어, 상기 룰을 정의할 때 배열변경대상이 되는 데이터의 바이트길이와 배열변경의 순번을 나타내는 데이터열의 조합을 포함하는 배열변경의 룰을 정의하면, 임의의 언어로 이용되는 데이터열을 지정된 순서대로 배열변경하는 룰을 정의할 수가 있으며, 다종언어대응의 배열변경을 실행할 수 있다.
또한, 본 발명에 있어서, 배열변경처리에 지정된 룰로 배열변경을 실시한 결과의 인덱스를 작성함으로써, 배열변경처리에서 배열변경의 실행이 요구된 경우, 인덱스를 참조함으로써 배열변경결과를 얻을 수 있으며, 배열변경처리를 고속으로 수행할 수 있게 된다.
이상과 같이 본 발명의 데이터처리장치에 의하면, 배열변경을 실시하기 위한 룰을 미리 등록해 두고, 지정된 룰에 의해 배열변경을 실행하기 때문에 이용자의 독자적인 데이터의 배열변경을 실행할 수 있다.
도 1은 본 발명의 한 실시예에 있어서의 데이터 검색처리의 개요를 나타내는 개념도이다.
도 2는 본 발명의 한 실시예에 있어서의 하드웨어의 구성도이다.
도 3은 데이터처리 시스템에서의 데이터처리를 나타내는 순서도이다.
도 4는 데이터처리요구의 해석에 관한 순서도이다.
도 5는 데이터검색 처리요구의 해석결과를 나타내는 데이터구조도이다.
도 6은 데이터처리 서버선택을 나타내는 순서도이다.
도 7은 데이터종별 데이터처리서버의 대응표를 나타내는 구성도이다.
도 8은 데이터처리서버에 대한 처리요구를 나타내는 순서도이다.
도 9는 데이터처리서버에 대한 데이터검색 처리의 요구를 나타내는 순서도이다.
도 10은 데이터처리결과의 편집을 나타내는 순서도이다.
도 11은 데이터등록처리의 개요를 나타내는 개념도이다.
도 12는 데이터처리요구의 인터페이스를 나타내는 개요도이다.
도 13은 데이터등록 처리요구의 해석결과를 나타내는 데이터구조도이다.
도 14는 데이터처리서버에 대한 데이터등록 처리요구를 나타내는 데이터구조도이다.
도 15는 데이터등록 처리요구의 인터페이스를 나타내는 개요도이다.
도 16은 데이터등록 처리요구의 인터페이스를 나타내는 개요도이다.
도 17은 데이터등록 처리요구의 해석결과를 나타내는 데이터구조도이다.
도 18은 데이터등록처리에서의 데이터처리서버에 대한 처리요구를 나타내는 순서도이다.
도 19는 데이터처리서버에 등록하는 데이터를 나타내는 구조도이다.
도 20은 데이터검색처리에서의 데이터처리결과의 편집을 나타내는 순서도이다.
도 21은 처리결과 편집부에서 편집한 데이터를 나타내는 구조도이다.
도 22는 데이터등록 처리요구의 인터페이스를 나타내는 개요도이다.
도 23은 등록하는 데이터를 나타내는 구조도이다.
도 24는 데이터등록 처리요구의 인터페이스를 나타내는 개요도이다.
도 25는 데이터처리서버의 선택을 나타내는 순서도이다.
도 26은 데이터처리서버에 등록하는 데이터의 변환을 나타내는 순서도이다.
도 27은 데이터처리서버에 등록하는 데이터의 변환을 나타내는 개념도이다.
도 28은 데이터검색 처리요구의 인터페이스를 나타내는 개요도이다.
도 29는 데이터검색 처리결과를 나타내는 데이터구조도이다.
도 30은 데이터처리서버의 선택을 나타내는 순서도이다.
도 31은 데이터처리서버를 추가한 데이터처리 시스템을 나타내는 개념도이다.
도 32는 데이터처리 시스템를 나타내는 개념도이다.
도 33은 본 실시예의 문자열 소트처리의 개요를 나타내는 도이다.
도 34는 본 실시예의 조합(照合)처리장치의 개략구성을 나타내는 도이다.
도 35는 본 실시예의 표(10115)의 한 예를 나타내는 도이다.
도 36은 본 실시예의 인덱스 정의정보(10110)의 한 예를 나타내는 도이다.
도 37은 본 실시예의 조합방법-조합키 대응데이터(10113)의 한 예를 나타내는 도이다.
도 38은 본 실시예의 조합키-차원 대응데이터(10114)의 한 예를 나타내는 도이다.
도 39는 본 실시예의 인덱스-도메인 대응데이터(10112)의 한 예를 나타내는 도이다.
도 40은 본 실시예의 데이터베이스 시스템(10101)에 레코드를 삽입하는 처리의 개요를 나타내는 도이다.
도 41은 본 실시예의 조합모듈-조합방법 대응데이터(10802)의 한 예를 나타내는 도이다.
도 42는 본 실시예의 엔트리등록시의 조합모듈(10106)의 처리절차를 나타내는 순서도이다.
도 43은 본 실시예의 조합키 값의 코드의 한 예를 나타내는 도이다.
도 44는 본 실시예의 다차원데이터 도메인(10116)에 보지하는 다차원데이터의 한 예를 나타내는 도이다.
도 45는 본 실시예의 소트요구(10151)를 포함하는 조회처리의 처리절차를 나타내는 순서도이다.
도 46은 본 실시예의 소트처리시의 조합모듈(10106)의 처리절차를 나타내는 순서도이다.
도 47은 본 실시예의 소트처리결과의 한 예를 나타내는 도이다.
도 48은 본 실시예의 다차원데이터를 작성하여 소트처리할 때의 다차원데이터의 한 예를 나타내는 도이다.
도 49는 본 실시예의 다차원데이터를 작성하는 소트처리의 처리절차를 나타내는 순서도이다.
도 50은 본 실시예의 변경된 조합방법 정의의 한 예를 나타내는 도이다.
도 51은 본 실시예의 변경된 조합방법 정의에 의한 소트결과의 한 예를 나타내는 도이다.
도 52는 본 실시예의 표기열, 읽기열의 순서대로 평가하는 조합방법 정의 및 소트결과의 한 예를 나타내는 도이다.
도 53은 종래의 데이터베이스에서의 시스템운용의 개념을 나타내는 도이다.
도 54는 본 실시예의 데이터베이스에서의 시스템운용의 개념을 나타내는 도이다.
도 55는 종래의 인덱스 데이터의 개념을 나타내는 도이다.
도 56은 본 실시예의 다차원데이터의 개념을 나타내는 도이다.
도 57은 종래의 환경변수 등으로 지정한 조합방법의 예를 나타내는 도이다.
도 58은 실시예 201의 소트처리의 처리개요를 나타내는 도이다.
도 59는 실시예 201의 데이터처리장치의 개략구성을 나타내는 도이다.
도 60은 실시예 201의 표(20141)의 구성예를 나타내는 도이다.
도 61은 본 실시예 201의 처리메뉴 표시부(20101)의 처리절차를 나타내는 순서도이다.
도 62는 실시예 201의 룰 정의부(20102)의 처리절차를 나타내는 순서도이다.
도 63은 실시예 201의 룰 정의메뉴의 한 예를 나타내는 도이다.
도 64는 실시예 201의 룰 정보의 상세한 내용을 나타내는 도이다.
도 65는 실시예 201의 배열변경 처리등록부(20103)의 처리절차를 나타내는 순서도이다.
도 66은 실시예 201의 배열변경 처리등록메뉴의 한 예를 나타내는 도이다.
도 67은 본 실시예 201의 배열변경 처리정보(20113)의 상세한 내용을 나타내는 도이다.
도 68은 실시예 201의 배열변경 실행부(20104)의 처리절차를 나타내는 순서도이다.
도 69는 실시예 201의 배열변경 실행처리의 계속을 나타내는 도이다.
도 70은 실시예 201의 배열변경 처리실행메뉴의 한 예를 나타내는 도이다.
도 71은 실시예 201의 배열변경 처리등록메뉴의 지정예를 나타내는 도이다.
도 72는 실시예 201의 배열변경 처리실행메뉴의 지정예를 나타내는 도이다.
도 73은 실시예 201의 기본 대표읽기조합을 수행하는 배열변경룰의 정보설정부의 설정예를 나타내는 도이다.
도 74는 실시예 201의 기본 대표읽기조합을 수행하는 배열변경룰의 데이터설정부의 설정예를 나타내는 도이다.
도 75는 실시예 201의 배열변경 처리등록메뉴의 설정예를 나타내는 도이다.
도 76은 실시예 202의 데이터처리장치의 시스템구성도를 나타내는 도이다.
도 77은 실시예 202의 데이터처리장치(22000) 및 정보처리장치(22030)의 개략구성을 나타내는 도이다.
도 78은 실시예 202의 DBMS(22003)의 처리개요를 나타내는 도이다.
도 79는 실시예 202의 표 정의부(22101)의 처리절차를 나타내는 순서도이다.
도 80은 실시예 202의 표 정의처리의 개요를 나타내는 도이다.
도 81은 실시예 202의 삽입처리의 개요를 나타내는 도이다.
도 82는 실시예 202의 삽입부(22102)의 처리절차를 나타내는 순서도이다.
도 83은 실시예 202의 룰 정의처리의 개요를 나타내는 도이다.
도 84는 실시예 202의 룰 정의부(22104)의 처리절차를 나타내는 순서도이다.
도 85는 실시예 202의 배열변경 처리정의의 개요를 나타내는 도이다.
도 86은 실시예 202의 배열변경 처리등록부(22105)의 처리절차를 나타내는 순서도이다.
도 87은 실시예 202의 표 검색처리의 개요를 나타내는 도이다.
도 88은 실시예 202의 검색부(22103)의 처리절차를 나타내는 순서도이다.
도 89는 실시예 202의 인덱스에 의한 표 검색처리의 개요를 나타내는 도이다.
<도면의 주요부분에 대한 부호의 설명>
101 : 데이터처리시스템 102, 10801 : 응용프로그램
103 : 데이터접속관리부 104 : 데이터처리서버
105, 10210 : 네트워크 106 : 이용자
107 : 데이터처리요구 108 : 처리결과
109 : 실행제어부 110 : 요구해석부
111 : 처리서버선택부 112 : 데이터처리요구부
113 : 처리결과편집부 114 : 데이터베이스
115 : 데이터 116 : 전문검색처리부
121 : 데이터종별처리지시 122 : 데이터종별-데이터처리서버대응표
123 : 데이터처리서버정보 201, 10201 : 데이터처리장치
202, 10202, 20211, 22201, 22213 : CPU
203, 10205, 20213, 22214 : 메모리
204, 10206, 20212, 22204, 22212 : I/O콘트롤러
205, 10204, 22203ㅡ 22211 : 통신콘트롤러
207, 10208 : 데이터입출력장치 208, 10209 : 데이터기억장치
10101 : 데이터베이스시스템 10103 : 데이터베이스처리서버
10104 : 정의데이터기억장치 10105 : 표데이터기억장치
10106 : 조합모듈 10107 : 다차원데이터처리모듈
10108 : 다차원데이터기억장치 10109 : 인덱스관리부
10203 : OS 20220 : 모니터
20221 : 키보드 20222 : 마우스
20214 : 소트프로그램 22031 : DB접속어플리케이션
22003 : DBMS 22011 : DB데이터
이하, 본 발명의 실시예를 도면을 이용하여 상세하게 설명하기로 한다.
우선, 도 1을 이용하여 본 발명의 원리를 설명하기로 한다. 도 1은, 본 발명의 제 1 실시예의 데이터처리 시스템에 있어서, 복수의 자연언어로 기술된 문서의 데이터를 검색하는 처리의 개요를 나타내는 개념도이다.
이 데이터처리 시스템은, 복수 언어의 데이터를 보지하고, 이 시스템을 이용하는 이용자로부터의 검색요구에 따라 복수의 언어에 대하여 각각 언어고유의 전문검색을 실시한다.
도 1에 나타낸 바와 같이, 본 실시예의 데이터처리시스템(101)은, 응용프로그램(AP)(102)과, 데이터접속 관리부(103)와, 데이터처리서버(104-1, 104-2, …, 104-n)와, 이들을 접속시켜 서로 통신을 수행하는 경로가 되는 네트워크(105)로 이루어진다.
응용프로그램(102)은, 데이터처리 시스템(101)을 이용하는 이용자(106)로부터의 요구를 나타내는 데이터처리요구(107)를 데이터접속 관리부(103)에 송신하고, 그 요구에 적합한 처리결과(108)를 수취하는 프로그램이다.
이용자(106)는, 복수의 언어를 표시, 편집하는 프로그램(도시생략)을 이용하여, AP(102)에서 수취한 데이터를 취급할 수 있는 것으로 만든다.
데이터접속 관리부(103)는, 데이터처리 시스템(101)에 보지하고 있는 데이터에 대한 AP(102)로부터의 접속을 관리한다.
데이터접속 관리부(103)는, AP(102)로부터의 데이터처리요구(107)를 접수하여 요구를 해석하고, 요구에 적합한 처리를 수행하기에 적당한 데이터처리서버(104-1, 104-2, …, 104-n)에 데이터처리를 요구하고, 데이터처리서버에서의 처리결과를 AP(102)에 반환한다.
데이터접속 관리부(103)는, 실행제어부(109), 요구해석부(110), 처리서버 선택부(111), 데이터처리 요구부(112), 처리결과 편집부(113)로 이루어진다.
실행제어부(109)는, 데이터접속 관리부 내에서 실행하는 처리의 실행제어를 수행한다. 데이터접속 관리부(103)에서 수행하는 일련의 처리의 부분처리를, 요구해석부(110), 처리서버 선택부(111), 데이터처리 요구부(112), 처리결과 편집부(113)에서 처리하도록 제어한다.
요구해석부(110)는, AP(102)로부터의 데이터처리요구(107)를 해석한다.
처리서버 선택부(111)는, AP(102)로부터의 데이터처리요구(107)에 적합한 데이터처리를 수행하는 데이터처리서버(104-1, 104-2, …, 104-n)를 선택한다.
데이터처리 요구부(112)는, AP(102)로부터의 데이터 처리요구(107)에 적합한 데이터처리를 수행하도록 데이터처리서버(104-1, 104-2, …, 104-n)에 요구한다.
처리결과 편집부(113)는, 데이터처리서버(104-1, 104-2, …, 104-n)의 처리결과를 AP(102)가 요구하는 처리결과(108)의 형식이 되도록 편집한다.
데이터처리서버(104-1, 104-2, …, 104-n)는, 각각 데이터베이스(114-1, 114-2, …, 114-n)에 대한 데이터(115-1, 115-2, …, 115-n)의 등록 및 검색을 수행한다. 일반적인 데이터베이스 관리시스템에서 이루어지는 데이터처리기능을 제공하는 서버이다.
데이터접속 관리부(103)가 AP(102)로부터의 데이터접속을 관리하는 것에 반해, 데이터처리서버(104-1, 104-2, …, 104-n)는 AP(102)의 데이터처리요구에 적합한 실제의 데이터처리를 수행한다.
데이터처리서버(104-1, 104-2, …, 104-n)는, 각각 어떤 한 언어에 대응한 전문검색 처리부(116-1, 116-2, …, 116-n)를 가진다. 116-1은, 영어의 전문검색기능을 제공한다. 116-2는, 그리스어의 전문검색기능을 제공한다. 116-n은 헤브라이어의 전문검색기능을 제공한다. 전문검색 처리부(116-1, 116-2, …, 116-n)는, 각각이 각 언어마다의 일반적인 전문검색기능을 제공하는 프로그램모듈이면 된다.
다음으로, 데이터처리 시스템(101)에 있어서의 데이터검색처리의 개요를 설명하기로 한다.
우선, 이용자(106)가 AP(102)에 데이터검색요구를 입력한다. 「성서에 관련된 문헌 중에서, 『강탄(降誕)』이라는 말을 포함하는 문헌을 찾아라」라는 요구를 한다.
이 검색요구를 데이터베이스언어 SQL문으로 다음과 같이 기술한다.
SELECT * FROM 성서 WHERE contents.contains('강탄') … 117
또한, 이 검색요구에서, 데이터종별에 따른 취급방법, 특히 언어의 종별에 따른 취급방법에 관하여 다음과 같이 데이터처리할 것을 요구한다.
검색대상이 되는 언어종별은, 영어와 그리스어로 한다. 즉, 원문이 영어나 그리스어로 기술된 문헌만을 검색대상으로 한다.
검색문은, 데이터로서 취급하는 부분(SELECT 등의 제어에 이용되는 부분이나, 표의 명칭 등 데이터베이스의 스키마(schema)를 구성하는 부분이 아닌 것)을 각각의 언어로 번역한다. 즉, 「강탄」이라는 문자열의 표기를 그대로 검색처리에적용하는 것이 아니라, 각각의 언어로 번역한 「강탄」을 의미하는 말(예를들어, 영어라면 "Nativity" 등)로 바꾸어 검색을 한다.
또한, 이 검색요구(117) 자체를 기술하는 언어의 종별에 대해서는, 일반적인 데이터베이스 시스템에서 데이터베이스 서버가 응용프로그램으로부터 요구된 언어종별을 인식하는 것과 마찬가지로, 데이터접속 관리부(103)가 인식하는 것으로 한다.
검색결과(108)의 데이터는, 데이터처리 시스템에 등록되어 있는 데이터의 원문, 원어대로 한다.
이들을 각각 SQL에서의 실행환경변수(ISO Final Draft International Standard(FDIS) Database Language SQL ‥ Part 2 : Foundation(SQL/Foundation) << Part 2 >> ISO/IEC FDIS 9075-2:1999 (E), March 1999에 있어서 session characteristics에 상당하는 것)로 다음과 같이 지정한다.
SET TARGET_LANG English, Greek … 118
SET QUERY_LANG_TRANSLATION YES … 119
SET RESULT_LANG ORIGINAL … 120
AP(102)는, 상기의 이용자의 검색요구에 따라 데이터접속 관리부(103)에 데이터처리요구를 한다.
데이터접속 관리부(103)는, 실행제어부(109)에 의한 제어를 바탕으로 이하의 처리를 수행한다.
요구해석부(110)에서, 데이터처리요구(107)의 검색요구문(117)을 해석한다.일반적인 데이터베이스 관리시스템에 의한 SQL의 해석이면 된다. 해석결과에는 다음의 것이 포함된다.
데이터검색요구일 것, 검색대상영역이 「성서」일 것, 검색조건은 「『강탄』을 포함한다」일 것.
또한, 데이터의 종별에 따른 취급에 관해서는 다음의 3가지를 얻는다.
(1) 검색대상으로 하는 언어종별은, 영어와 그리스어로 할 것. 또한, 데이터의 종별에 따른 처리를 지시하는 정보로서, 데이터종별 처리지시(121)를 작성한다. 데이터종별 처리지시(121)의 대상종별로서 데이터종별을 식별하는 값으로서 "English", "Greek"을 설정한다.
(2) 검색문에서, 데이터로서 취급하는 부분은 각각의 언어로 번역할 것.
(3) 검색결과의 데이터는, 등록되어 있는 데이터의 원문, 원어대로 할 것.
다음으로, 처리서버 선택부(111)가 검색요구할 처리데이터서버(104-1, 104-2, …, 104-n)를 선택한다. 요구해석부(110)에서 해석한 결과인 데이터종별 처리지시(121)를 바탕으로 데이터종별-데이터처리서버 대응표(122)를 참조하여 데이터처리서버를 선택한다.
데이터종별-데이터처리서버 대응표(122)는, 데이터종별의 식별자와 데이터처리서버정보의 쌍을 보지한다(상세한 내용은 후에 도 7에 나타낸다).
데이터종별-데이터처리서버 대응표(122)를 참조하여, 데이터종별 처리지시(121)의 대상종별에 설정된 데이터종별 식별자 "English", "Greek"을 키로 하여, 그것에 대응하는 데이터처리 서버정보(123-1, 123-2)를 취득하고, 그 데이터처리 서버정보(123-1, 123-2)가 나타내는 데이터처리서버를 선택하였다고 간주한다.
데이터처리 서버정보(123-1, 123-2)는, 각각 데이터처리서버(104-1, 104-2)에 처리요구할 때 필요한 서버처리서버를 식별하는 서버명, 처리요구의 방법을 나타내는 프로토콜을 포함한다.
다음으로, 데이터처리 요구부(112)는, 데이터처리 서버정보(123-1, 123-2)를 바탕으로 각각의 데이터처리서버(104-1, 104-2)에 검색요구를 한다. 데이터처리 서버정보(123-1, 123-2)에 포함되는 프로토콜에 따라 요구해석부(110)가 해석한 내용을 바탕으로 검색요구문을 작성하고, 데이터처리서버(104-1, 104-2)에 검색요구를 한다.
데이터처리서버(104-1, 104-2)는, 검색요구에 알맞는 데이터검색처리를 수행한다. 각각 각 언어마다의 일반적인 전문검색처리기능을 가지는 데이터베이스 관리시스템에서 이루어지는 검색처리면 된다.
데이터처리서버(104-1, 104-2)는, 요구에 따라 「『강탄』을 포함한다」라는 조건으로 전문검색 처리부에 의해 각 언어고유의 전문검색을 실시한다.
데이터처리서버(104-1, 104-2)는, 검색처리의 처리결과를 데이터접속 관리부 (103)에 되돌려보낸다.
데이터접속 관리부(103)는, 처리결과 편집부(113)에서 데이터처리서버(104-1, 104-2)의 처리결과를 AP(102)가 요구하는 결과로 되도록 편집한다.
AP(102)로부터의 결과에 대한 요구는 「원문대로」이다, 라는요구해석부(110)의 해석결과에 따라, 변환을 하지 않고 그대로 데이터처리서버의 처리결과(108)를 AP(102)에 반환한다.
AP(102)가 영어의 데이터(124-1), 그리스어의 데이터(124-2)를 처리결과 (108)로서 수취하고, 검색처리가 종료된다.
이 예에 나타낸 바와 같이, 본 발명에 의하면 다음과 같은 효과가 있다.
데이터접속 관리부(103)가 데이터처리를 수행하는 데이터처리서버(104-1, 104-2, …, 104-n)를 데이터종별에 따라 선택하여 각 데이터처리서버에서 데이터처리를 수행하므로, 데이터의 종별마다의 특유한 데이터처리를 수행할 수 있다.
다음으로, 본 발명의 실시예에 있어서의 하드웨어의 구성에 대하여 설명하기로 한다.
도 2는, 본 발명의 실시예에 있어서의 하드웨어구성을 나타내는 도이다.
본 발명의 실시예로서 나타내는 프로그램은 도 2에 나타낸 데이터처리장치 상에서 동작한다.
데이터처리장치(201-1, 201-2, 201-3)는, 각각 중앙연산장치(CPU)(202-1, 202-2, 202-3), 주기억장치(메모리)(203-1, 203-2, 203-3), 입출력(I/O) 콘트롤러 (204-1, 204-2, 204-3), 통신콘트롤러(205-1, 205-2, 205-3), 및 이들을 접속하는 시스템버스(206-1, 206-2, 206-3) 등으로 이루어진다. 또한, I/O콘트롤러(204-1, 204-2, 204-3)에는, 키보드나 마우스 및 디스플레이 등과 같은 데이터 입출력장치 (207-1, 207-2, 207-3), 및 자기디스크장치와 같은 데이터 기억장치(208-1, 208-2, 208-3) 등이 접속된다.
데이터처리장치(201-1, 201-2, 201-3)은, 통신콘트롤러(205-1, 205-2, 205-3)에 의해 LAN(Local Area Network) 등의 네트워크(105)에 접속되어 있으며, 네트워크(105)에 접속되어 있는 다른 데이터처리장치와 통신을 수행한다.
도 1 및 그 후에 나타나는 데이터처리는, CPU(202-1, 202-2, 202-3)가 메모리(203-1, 203-2, 203-3)에 격납된 프로그램을 실행함으로써 실현된다. AP(102), 데이터접속 관리부(103), 데이터처리서버(104-1, 104-2, …, 104-n)의 기능을 실현하는 프로그램은, 메모리(205-1, 205-2, 205-3)에 격납되어 CPU(202-1, 202-2, 202-3)에 의해 실행된다. 또한, AP(102), 데이터접속 관리부(103), 데이터관리서버(104-1, 104-2, …, 104-n)는 각각 소프트웨어의 논리적인 기능단위이며, 각각이 서로 물리적으로 서로다른 데이터처리장치(201-1, 201-2, 201-3) 상에서 동작하여도 좋으며, 하나의 데이터처리장치 상에서 이들의 복수기능의 프로그램이 동작하여도 좋다. 또한, 데이터베이스(114-1, 114-2, …, 114-n) 등은 데이터기억장치(208-1, 208-2, 208-3)에 데이터를 격납함으로써 실현된다.
이후, 데이터처리 시스템(101)에 있어서의 데이터처리에 대하여 상세하게 설명하기로 한다.
도 3은, 데이터처리 시스템(101)에 있어서의 기본적인 데이터처리의 흐름을 나타내는 순서도이다.
우선, AP(102)가 데이터접속 관리부(103)에 대하여 데이터처리를 요구한다(301). 데이터처리요구(107)를 데이터접속 관리부(103)에 송신한다.
다음으로, 데이터접속 관리부(103)의 요구해석부(110)가데이터처리요구(107)를 해석한다(302). 해석결과로서 데이터처리 해석결과(308)와 데이터종별지시(121)를 출력한다.
다음으로, 데이터접속 관리부(103)의 처리서버 선택부(111)가 데이터처리서버를 선택한다(303). 데이터종별 처리지시(121)의 대상종별인 데이터종별 식별자를 키로하여, 데이터종별-데이터처리서버 대응표(122)로부터 데이터처리서버(104)를 선택하고, 선택한 데이터처리서버의 데이터처리서버정보(123)를 출력한다.
다음으로, 데이터접속 관리부(103)의 데이터처리 요구부(112)가 데이터처리서버(104)에 데이터처리를 요구한다(304). 데이터처리 해석결과(308)를 바탕으로, 데이터처리 서버정보(123)에 기초하여 데이터처리서버에 알맞는 데이터처리요구(309)를 작성하고, 데이터처리서버(104)에 송신한다.
다음으로, 데이터처리서버(104)가 데이터처리요구(309)에 따른 데이터처리를 수행하고, 그 처리결과(310)를 데이터접속 관리부(103)에 되돌려보낸다(305).
다음으로, 데이터접속 관리부(103)의 처리결과 편집부(113)가 AP(102)의 요구에 따라 처리결과 데이터를 편집한다(306). 데이터처리서버(104)로부터의 데이터처리결과(310)를 편집하고, 그 결과를 데이터처리결과(311)로서 출력한다.
다음으로, 데이터접속 관리부(103)가 데이터처리결과(311)를 AP(102)로 되돌려보내고, 처리를 종료한다(307).
이 처리에 의하면, AP(102)로부터의 데이터처리요구를 데이터접속 관리부 (103)가 데이터의 종별에 따라 각각 데이터의 종별에 대응한 데이터처리서버(104)를 선택하여 데이터처리요구를 수행하기 때문에, 데이터의 종별에 따른 데이터처리를 수행할 수 있게 된다.
다음으로, 데이터처리 시스템(101)에 있어서의 데이터검색처리를 상세하게 설명하기로 한다.
데이터검색처리의 개요는 도 1에서 설명한 바와 같으며, 기본적인 처리의 흐름은 도 3에 나타낸 처리의 흐름에 따른다. 이하에, 데이터검색처리에 있어서의 각 부분처리에 대하여 설명하기로 한다.
도 4는, 데이터접속 관리부(103)의 요구해석부(110)가 데이터처리요구를 해석하는 처리에 대한 상세한 사항을 나타내는 순서도이다. 도 3은 데이터처리순서에 있어서의 단계 302의 상세한 사항을 나타낸다.
우선, 요구해석부(110)는, 데이터처리 요구문(117)을 해석하고, 데이터처리해석결과(308)를 작성한다(401).
도 1의 데이터처리 요구문(117)의 경우는, 검색대상의 영역이 「성서」인 것이나, 「강탄」을 포함한다고 하는 검색조건이 있는 것 등을 해석하고, 그 내용을 데이터 처리결과(308)에 보지한다.
다음으로, AP(102)로부터의 처리대상인 데이터종별의 지정을 취득하고, 데이터종별 처리지시(121)를 작성하여(402), 이 요구해석처리를 종료한다.
처리대상인 데이터종별의 지정은, 도 1의 118에 나타낸 실행환경변수 TARGET_LANG과 같은 형태이다. 데이터종별 처리지시(121)의 상세한 내용에 대해서는 후에 도 5에서 설명하기로 한다.
이 처리에 의하면, AP(102)로부터의 데이터종별의 지정으로부터, 처리대상으로 하는 데이터의 종별이 해석되어진다. 이로 인해, 처리대상으로 하는 데이터의 종별을 구별할 수 있다.
도 5는, 데이터검색요구의 데이터처리요구 해석결과의 데이터구조를 나타내는 도이다. AP(102)로부터의 데이터검색요구(107)를 해석한 결과를 나타낸다.
데이터검색의 데이터처리요구 해석결과(308)는, 처리종별(501), 대상영역(502), 검색조건(503)으로 이루어진다.
처리종별(501)에는, 117의 SQL문의 해석결과, 「검색」을 나타내는 값이 설정된다.
대상영역(502)에는, 117의 SQL문의 FROM구를 해석한 결과, 「성서」를 나타내는 값이 설정된다.
검색조건(503)에는, 117의 SQL문의 WHERE구를 해석한 결과, 「『강탄』을 포함한다」를 나타내는 값이 설정된다.
또한, 데이터종별 처리지시(121)는, 실행환경변수의 지정을 바탕으로 작성된다.
실행환경변수의 지정(118)을 해석한 결과,
TARGET_LANG:English, Greek … 504
가 취득되며, 대상종별로서 "English"(505), "Greek"(506)이 설정된다.
실행환경변수의 지정(119)을 해석한 결과,
QUERY_LANG_TRANSLATION:YES … 507
이 취득되며, 조회변환으로서 「변환한다」(508)가 설정된다.
실행환경변수의 지정(120)을 해석한 결과,
RESULT_LANG:ORIGINAL … 509
이 취득되며, 결과반환종별로서 「원문」(510)이 설정된다.
이와 같은 구성에 의해, 데이터처리요구를 해석한 내용을 구조화하여 표현할 수 있다. 또한, 처리대상인 데이터종별, 조회중인 데이터의 종별에 대한 취급방법, 처리결과로서 반환하는 데이터의 종별을 나타내는 등, 데이터의 종별에 따른 처리의 지시를 표현할 수 있다.
도 6은, 데이터등록처리에서의 데이터처리서버를 선택하는 처리순서도이다. 도 3의 데이터처리에서의 단계 303의 상세한 내용을 나타낸다.
우선, 처리서버 선택부(111)는, 데이터종별 처리지시(121)의 대상종별의 데이터종별 식별자(505, 506)를 키로 하여, 데이터종별-데이터처리서버 대응표(122)(도 7에서 설명한다)에 등록되어 있는 레코드를 검색한다(601). 그 결과로서, 데이터종별-데이터처리서버 대응레코드(603)를 취득한다.
다음으로, 데이터 처리서버 선택부(111)는, 데이터종별-데이터처리서버 대응레코드(603)에 포함되는 데이터처리서버정보(123)를 출력하고(602), 이 처리를 종료한다.
이 처리에 의해, 데이터종별을 바탕으로 각각의 종별에 따른 데이터처리서버를 선택할 수 있다.
도 7은, 데이터종별-데이터처리서버 대응표(122)의 구성을 나타내는 도이다.
도 6의 데이터처리서버를 선택하는 처리(601)에서 참조하는 표이다.
데이터종별-데이터처리서버 대응표(122)는, 데이터종별 식별자를 보지하는 열(701)과, 데이터처리 서버정보를 보지하는 열(702)로 이루어진다.
데이터처리 서버정보는, 데이터처리 시스템(101) 내에서 각 데이터처리서버를 일의(一意)로 식별하는 서버식별자와, 데이터처리서버에 대한 데이터처리요구의 규약을 나타내는 프로토콜정보 등으로 이루어진다.
703은, 데이터종별 "English"와 데이터처리서버의 대응을 나타내는 레코드이다. 데이터처리 서버정보에는, 영어에 대응한 데이터처리서버의 서버식별자 dbms_en을 가지며, 프로토콜정보에는 SQL인터페이스인 것을 나타내는 값 SQL을 가진다.
704는, 데이터종별 "Greek"과 데이터처리서버의 대응을 나타내는 레코드이다. 데이터처리 서버정보에는, 그리스어에 대응한 데이터처리서버의 서버식별자 dbms_el를 가지며, 프로토콜정보에는 SQL인터페이스인 것을 나타내는 값 SQL을 가진다.
705는, 데이터식별 "Hebrew"와 데이터처리서버의 대응을 나타내는 레코드이다. 데이터처리 서버정보에는, 헤브라이어에 대응한 데이터처리서버의 서버식별자 dbms_iw를 가지며, 프로토콜정보에는 SQL인터페이스인 것을 나타내는 값 SQL을 가진다.
이 표에 의해 데이터종별과 그에 대응한 데이터처리서버와의 관련을 나타낼 수 있다.
도 8은, 데이터처리 요구부(112)에 의한 데이터처리서버에 대한 처리요구를나타내는 순서도이다. 도 3의 데이터처리에서의 단계 304의 상세한 내용을 나타낸다.
우선, 데이터처리 요구부(112)는, 데이터처리요구 해석결과(308)를 바탕으로, 대상영역(502)을 데이터처리서버 상의 데이터베이스의 스키마에 매핑하고, 데이터처리요구(309)를 작성한다(801)(데이터처리요구(309)의 상세한 내용은 도 9에서 설명한다). 처리서버 선택부(111)가 처리서버 선택처리(303)에서 선택한 데이터처리서버정보(123)를 바탕으로 데이터베이스의 스키마에 대한 매핑을 실시한다.
다음으로, 작성한 데이터처리요구를 데이터처리서버에 송신하고(802), 이 처리를 종료한다.
이 처리에 의해, 데이터종별에 따라 선택된 각 데이터처리서버에, 각각에 따른 데이터처리요구를 할 수가 있다.
도 9는, 데이터접속 관리부(103)로부터 데이터처리서버(104)에 대한 데이터처리요구의 데이터구조를 나타내는 도이다.
도 3의 단계 304(검색에 관해서는 도 8의 단계 801)에서 작성되는 데이터처리요구(309)의 상세한 내용을 나타낸다.
또한, 이 예에서는, 간단하게 하기 위하여 데이터종별 "English"에 대한 데이터검색요구에 대해서만 나타낸다. 데이터종별 "Greek"에 대해서도 마찬가지로 하여 그리스어의 데이터처리서버용 데이터검색요구(309)가 작성된다.
데이터처리요구(309)의 요구문(901)은 이하를 포함한다.
데이터처리 해석결과(308)의 대상영역(502)「성서」를, 영어의 데이터처리서버(104-1)의 데이터베이스(114-1)의 스키마에 매핑하고, Scriptures라는 표를 검색대상으로 한다.
데이터처리 해석결과(308)의 검색조건(503) 내의 「강탄」을 데이터종별 처리지시(121)의 대상종별 "English"(506)와, 조회변환 「변환한다」(509)에 따라 'Nativity'라는 문자열로 변환하여 전문검색의 키로 한다.
이 구조에 의하여, AP(102)로부터의 데이터처리요구(107)를 각각의 데이터처리서버에 적합한 형태로 전달할 수 있다.
도 10은, 데이터처리 시스템(101)에서의 처리결과편집의 처리를 나타내는 순서도이다. 도 3의 단계 306의 상세한 사항을 나타낸다.
우선, 데이터접속 관리부(103)의 처리결과 편집부(113)는, 데이터종별 처리지시(121)를 참조하여 결과반환의 종별지정이 있는지의 여부를 판정한다(1001).
도 1의 데이터검색에서의 데이터처리요구(107)에서는, 실행환경변수 RESULT_LANG(120)로 지정되어 데이터종별 처리지시(121)의 결과반환종별「원문」 (510)이 설정되어 있다.
단계 1001에서, 종별지정이 있는 경우는, 데이터처리서버(104)로부터의 처리결과(310)를 데이터종별 처리지정(121)에 설정된 데이터종별을 따라 데이터를 변환하고, 그 변환결과를 데이터접속 관리부(103)의 처리결과(311)로 한다(1002).
도 1의 데이터검색에서는, 「원문」(510)으로 지정되어 있기 때문에 변환하지 않고 처리결과(311)로 한다.
단계 1001에서, 종별지정이 없는 경우에는, 데이터처리서버(104)로부터의 처리결과(310)를 그대로 데이터접속 관리부(103)의 처리결과(311)로 한다(1003).
이 처리에 의해, AP(102)로부터의 요구된 데이터종별의 데이터를 반환할 수 있다.
이상 설명한 바와 같이, 데이터종별에 따른 데이터검색처리를 수행할 수 있다.
다음으로, 데이터처리 시스템(101)에 있어서의, 데이터등록처리의 상세한 사항을 설명하기로 한다.
도 11은, 데이터처리 시스템(101)에 있어서의 데이터등록처리의 개요를 나타내는 개념도이다.
기본적인 구성은 도 1에 나타낸 것과 동일하며, 처리의 흐름은 도 3에 나타낸 데이터처리의 흐름과 동일하다. 이하, 데이터등록의 처리의 흐름에 따라 설명하기로 한다.
우선, AP(102)가 이용자(106)의 요구에 따라 데이터등록요구를 한다. 헤브라이어의 문서데이터를 등록하는 요구라고 하자. AP(102)는 데이터접속 관리부(103)에 데이터등록의 처리요구를 한다. 데이터처리요구(107)에는 헤브라이어의 문서데이터(1101)가 포함된다.
다음으로, 데이터접속 관리부(103)는, 요구해석부(110)에서 요구해석을 한다. 그 결과로서 데이터등록의 데이터처리요구 해석결과(308)와 데이터종별 처리지시(121)를 출력한다.
데이터처리요구 해석결과(308)에는 처리대상데이터(1102)가 포함된다.
데이터종별 처리지시(121)에는 대상종별로서 데이터종별 식별자(1103) "Hebrew"가 설정된다.
다음으로, 처리서버 선택부(111)가 데이터종별 처리표시(121)를 바탕으로, 데이터처리서버를 선택하고, 데이터처리 서버정보(123-n)를 출력한다.
다음으로, 데이터처리 요구부(112)가 헤브라이어에 대응한 데이터처리서버 (104-n)에 데이터처리요구를 한다.
데이터처리서버(104-n)는, 헤브라이어의 데이터(402)를 데이터베이스(114-n) 중에 헤브라이어의 데이터(115-n)로서 격납한다. 또한, 헤브라이어에 대응한 전문검색 처리부(116-n)가 전문검색 인덱스(1104-n)에 데이터(115-1)에 대한 인덱스엔트리를 등록한다.
데이터처리서버(104-n)에서의 등록처리가 완료되면, 그 결과가 데이터접속 관리부(103)에 전달되며, 또한 AP(102)에 등록처리가 완료된 것을 전달하여 데이터등록처리를 종료한다.
이 처리에 의하면, 데이터접속 관리부(103)가 등록하는 데이터(1101)의 종별에 따라 데이터등록처리를 수행하는 데이터처리서버를 선택함으로써, 데이터의 종별에 따른 데이터등록처리를 수행할 수 있다.
데이터처리서버는, 대응하는 종별의 데이터만을 대상으로 하여 데이터등록처리를 수행할 수 있다.
도 12는, 데이터등록 처리요구의 구성을 나타내는 데이터구조도이다.
데이터등록의 데이터처리요구(107)는, 등록하는 데이터의 언어종별을 나타내는 실행환경변수의 지정(1201)과, 데이터등록요구문(1202)과, 등록하는 데이터(1101)로 이루어진다.
1201에서는, 실행환경변수 INPUT_LANG에, 헤브라이어를 나타내는 데이터종별의 값 "Hebrew"을 설정하고 있다. 이 실행환경변수 INPUT_LANG에 의해 등록하는 데이터가 어떠한 언어종별인가를 나타낸다. 값이 "Hebrew"이기 때문에 등록하는 데이터가 헤브라이어임을 나타낸다.
1202는, 「성서에 관한 문헌들의 집합에 데이터를 등록한다」라는 요구를 나타내는 SQL문이다. 등록하는 데이터는,
등록하는 데이터(1101)는, 헤브라이어로 기술된 문자열데이터이며, SQL문(1202)의 변수:contains에 관련지어져 있다.
이와 같이, 데이터처리요구에 처리대상으로 하는 데이터의 종별을 지정함으로써, 처리대상으로 하는 데이터의 종별을 구별할 수 있도록 한다. 이 데이터종별의 지정을 요구해석부(110)가 도 4의 단계 402에서 해석하여 데이터의 종별을 구별할 수 있다.
도 13은, 데이터등록의 데이터처리요구 해석결과(308)의 구성을 나타낸다.
도 4의 데이터처리요구 해석처리에서 출력되는 해석결과의 상세한 사항을 나타낸다.
데이터등록의 데이터처리요구 해석결과(308)는, 처리종별(1301)과, 대상영역(1302)과, 처리대상 데이터(1102)로 이루어진다.
처리종별(1301)은, 도 12의 데이터등록의 SQL문(1202)의 INSERT문을 해석한결과, 「등록」을 나타내는 값이 설정되어 있다.
대상영역(1302)은, 도 12의 데이터등록의 SQL문(1202)의 INSERT문에서 INTO구를 해석한 결과, 「성서」를 나타내는 값이 설정되어 있다.
처리대상데이터(1102)는, 데이터처리요구(107)에 포함되어 있는 데이터(1101)로 이루어진다.
데이터종별 처리지시(121)의 대상종별에는, 도 12의 데이터등록요구에서의 데이터종별의 지정(1201)을 해석하여 인식되는 실행환경변수(1303)를 바탕으로 헤브라이어를 나타내는 값 "Hebrew"(1103)가 설정된다.
이와 같은 구성에 의하여, 데이터처리요구를 해석한 내용을 구조화하여 표현할 수 있다. 또한, 처리대상의 데이터종별을 나타내는 등, 데이터의 종별에 의하여 처리하는 것의 지시를 표현할 수 있다.
도 14는, 데이터접속 관리부(103)로부터 데이터처리서버(104)에 대한 데이터등록 처리요구의 데이터구조를 나타내는 도이다.
도 8의 단계 801에서 작성되는 데이터처리요구이다.
데이터등록의 데이터처리요구(309)는, 등록 요구문(1401)과 데이터(1402)로 이루어진다.
도 8의 단계 801에 의하여, 데이터등록의 요구문(1401)에 있어서, 등록대상영역은 헤브라이어의 데이터처리서버(104-n)의 데이터베이스(114-n)의 스키마에 매핑되어 헤브라이어의 데이터베이스의 성서의 표가 된다.
또한, 등록하는 값의 변수:contents에는 등록하도록 지정된 헤브라이어의 데이터(1402)가 설정된다.
이 구조에 의하여, AP(102)로부터의 데이터처리요구(107)를 각각의 데이터처리서버에 적합한 형태로 전달할 수 있다.
이상 설명한 바와 같이, 데이터종별에 따른 데이터등록처리를 수행할 수 있다.
다음으로, AP(102)에 있어서, 데이터의 종별을 데이터의 변수의 속성으로 지정하는 예를 나타낸다. 도 15는, AP(102)로부터의 데이터처리요구(107)의 데이터구조를 나타내는 도이다.
데이터등록 요구문(1501)에서, 등록하는 데이터(1101)를 나타내는 변수:contents에 대하여 속성 LANGUAGE Hebrew(1502)를 지정한다. 이에 의해, 도 12의 데이터처리요구에서의 실행환경변수에 의한 데이터종별의 지정(1201)과 동등한 지정을 수행한다.
이 지정을 처리요구 해석부(110)에서 해석함으로써 먼저 보여준 데이터등록처리와 동일한 처리를 수행할 수 있다.
다음으로, 본 발명의 제 2 실시예를 이용하여, 데이터종별의 서로 다른 복수의 부분 데이터로 이루어지는 데이터를 처리하는 제 1 예를 설명하기로 한다.
본 발명의 제 2 실시예는, 기본적인 구성은 도 1의 구성과 동일하다. 이하에, AP(102)로부터의 데이터처리요구부터 순서대로 처리의 흐름에 따라 설명하기로 한다.
도 16은, 본 발명의 제 2 실시예에서의 AP(102)로부터의데이터처리요구(107)의 인터페이스의 개요를 나타내는 도이다.
데이터등록의 데이터처리요구(107)에 포함되는 요구문(1601)은, 표 Scriptures의 3가지 예인 title, author, contents에 각각 문자열 데이터를 삽입하는 요구인 것을 나타낸다.
여기서, 각 열의 값의 변수에 대한 속성(1605, 1606, 1607)은, 각각 표제의 문자열데이터(1602)의 데이터종별이 영어일 것, 저자의 문자열데이터(1603)가 그리스어일 것, 내용의 문자열데이터(1604)가 헤브라이어일 것을 나타내고 있다.
이 인터페이스에 의하여, 복수의 종별이 서로다른 열의 값에서 하나의 행의 값을 구성할 것을 지시할 수 있다.
도 17은, 도 16에 나타낸 인터페이스에 의한 데이터처리요구의 해석결과의 데이터구조를 나타내는 도이다.
기본적인 구성은, 앞의 예에서 도 13에 나타낸 데이터처리요구 해석결과(308)와 동일하다. 서로 다른 부분은, 처리대상데이터(1102) 중에 열 title, author, contents에 대응한 부분데이터(1701, 1702, 1703)를 가지는 것이다.
부분데이터(1701, 1702, 1703)는 데이터종별과 값으로 이루어진다.
열 title에 대한 부분데이터(1701)는, 데이터종별 "English"(1704)와, 표제의 문자열데이터의 값(1705)으로 이루어진다.
열 author에 대한 부분데이터(1702)는, 데이터종별 "Greek"(1706)과, 저자의 문자열데이터의 값(1707)으로 이루어진다.
열 contents에 대한 부분데이터(1703)는, 데이터종별 "Hebrew"(1708)와 내용의 문자열데이터의 값(1709)으로 이루어진다.
이 데이터구성에 의하여, 처리대상데이터의 부분데이터에 있어서 각각의 데이터종별을 나타낼 수 있다.
도 18은, 도 17의 데이터처리요구 해석결과에 따라 데이터등록을 할 때의 데이터처리서버에 대한 데이터처리요구를 작성하는 처리의 순서도이다.
이것은, 도 8에서의 단계 801에 상당하는 처리의 상세한 내용이다.
우선, 데이터처리 요구부(112)가 데이터종별 처리지시(121)의 대상종별로부터 데이터종별 식별자를 출력하는데(1801), 데이터종별 식별자 "English" 등이 이에 상당한다.
다음으로, 처리대상데이터(1102)로부터 단계 1801에서 출력한 데이터종별에 속하는 부분데이터를 모아 데이터처리서버에 등록하기 위한 등록용 데이터(1806)를 작성한다(1802). 데이터종별 식별자를 "English"로 한 경우, title의 부분데이터(1705)를 구성요소로 하여 등록용 데이터(1806)를 작성한다.
다음으로, 단계 1802에서 작성한 등록용 데이터에 있어서, 처리할 데이터종별 이외의 부분데이터에 해당하는 데이터가 불분명한 것을 나타내는 정보 unknown을 설정한다(1803). 데이터종별 식별자를 "English"로 한 경우, author, contents의 부분을 unknown으로 한다.
다음으로, 그 밖의 처리대상의 데이터종별이 있는지를 판정한다(1804).
그 밖에 데이터종별이 있는 경우는, 단계 1801로 되돌아가 처리를 반복한다.1804까지의 처리를 반복함으로써, 대상종별이 복수인 경우에 복수의 등록용 데이터가 작성된다. 즉, 그리스어와 헤브라이어의 등록용 데이터가 작성된다.
단계 1804에서, 그 밖에 데이터종별이 없는 경우에는 다음 단계로 나아간다.
다음으로, 데이터처리 시스템(101)에서 일의로 되는 데이터식별자를 발행하여 등록용 데이터로 설정한다(1805). 복수의 등록용 데이터를 작성한 경우에는, 발행한 하나의 동일한 데이터식별자를 모든 등록용 데이터로 설정한다. 이상으로 등록용 데이터를 작성하는 처리를 종료한다.
이 처리에 의하여, 복수의 서로다른 종별의 부분데이터로 이루어지는 데이터의 등록에 있어서, 각 데이터종별마다 등록용 데이터(1806)를 작성할 수 있다.
도 19는, 도 18의 처리로 작성되는 등록용 데이터의 구성을 나타내는 도이다.
도 18에 나타낸 처리에 의하여, 등록용 데이터는 데이터종별 "English", "Greek", "Hebrew"의 각각에 대하여 작성되며, 각각 1806-1, 1806-2, 1806-n과 같은 구조가 된다.
각각의 등록용 데이터(1806-1, 1806-2, 1806-n)는, 동일한 시스템 내의 데이터식별자(1901)를 보지한다.
데이터종별 "English"에 대응하여 작성된 등록용 데이터(1806-1)는, 데이터식별자(1901)와, title의 부분데이터에서 표제의 문자열데이터(1902-1)와, author의 부분데이터 unknown(1903-1)과, contents의 부분데이터 unknown(1904-1)로 이루어진다. 이 등록용 데이터(1806-1)가 영어의 데이터처리서버(104-1)에 등록된다.
데이터종별 "Greek"에 대응하여 작성된 등록용 데이터(1806-2)는, 데이터식별자(1901)와, title의 부분데이터 unknown(1902-2)와, author의 부분데이터에서 저자의 문자열데이터(1903-2)와, contents의 부분데이터 unknown(1904-2)로 이루어진다. 이 등록용 데이터(1806-2)가 그리스어의 데이터처리서버(104-2)에 등록된다.
데이터종별 "Hebrew"에 대응하여 작성된 등록용 데이터(1806-n)는, 데이터식별자(1901)와, title의 부분데이터 unknown(1902-n)와, author의 부분데이터 unknown(1903-n)과, contents의 부분데이터에서 내용의 문자열데이터(1904-n)로 이루어진다. 이 등록용 데이터(1806-n)가 헤브라이어의 데이터처리서버(104-n)에 등록된다.
이와같은 구성에 의하여, 복수의 종별의 부분데이터로 이루어지는 처리대상데이터가 데이터종별마다의 등록용 데이터로서 나타내어진다.
도 20은, 도 19의 구성으로 등록된 데이터를 검색한 결과를 편집할 때의 처리결과 편집부(113)에서의 처리를 나타내는 순서도이다.
도 10에서의 처리결과 편집처리에서의 단계 1001 전에 수행하는 처리이다.
우선, 처리결과 편집부(113)는, 데이터처리서버로부터 건네받은 데이터의 부분데이터로부터 unknown이 아닌 실체데이터를 취득하여 처리결과데이터(311)를 작성한다(2001).
다음으로, 처리결과의 모든 부분데이터의 실체데이터가 모아졌는지를 판정한다7(2002).
모아지지 않은 경우에는, 시스템 내의 데이터식별자를 키로 하여 unknown인부분데이터의 실체데이터를 다른 데이터처리서버로부터 취득하여 처리결과데이터(311)로 설정한다(2003). 모든 부분데이터의 실체데이터가 갖추어졌으면 처리를 종료한다.
이 처리에 의하여, 분할된 부분데이터로부터 원래의 하나의 처리대상데이터가 작성된다.
도 21은, 도 20의 처리에서 작성되는 처리결과데이터의 구성을 나타내는 도이다.
title의 실체데이터(1902-1)와, author의 실체데이터(1903-2)와, contents의 실체데이터(1904-n)를 모아, 각각을 부분데이터(2102, 2103, 2104)로 하여 처리결과데이터(2101)가 작성된다.
다음으로, 본 발명의 제 2 실시예에 있어서, 데이터종별이 서로다른 복수의 부분데이터로 이루어지는 데이터를 처리하는 제 2 예를 설명하기로 한다.
이 예에서는, XML(eXtensible Markup Language)로 기술된 문서에서 태그를 이용하여 부분데이터의 언어종별을 지정한다.
도 22는, 데이터등록의 처리대상데이터(402)의 인터페이스의 개요를 나타내는 도이다.
처리대상데이터(402)는 XML로 기술된 문서데이터이다.
2201은, 이 문자열데이터가 XML로 기술되어 있는 것을 나타내며, 또한, 문자코드가 Unicode UTF-8인 것을 나타낸다.
태그 title(2202)로 둘러싸인 부분은, 이 문서의 표제를 나타낸다. 또한, 태그 locale의 속성 language에서 "English"를 지정함으로써(2203), 태그 locale로 둘러싸인 부분이 영어의 문자열인 것을 나타낸다.
태그 author(2204)로 둘러싸인 부분은, 이 문서의 저자를 나타낸다. 또한, 태그 locale의 속성 language에서 "Greek"을 지정함으로써(2205), 태그 locale로 둘러싸인 부분이 그리스어의 문자열인 것을 나타낸다.
태그 abstract(2206)로 둘러싸인 부분은, 이 문서의 요지를 나타낸다. 또한, 태그 locale의 속성 language에서 "Hebrew"를 지정함으로써(2207), 태그 locale로 둘러싸인 부분이 헤브라이어의 문자열인 것을 나타낸다.
이와 같은 인터페이스에 의하여, 종별이 서로 다른 복수의 부분데이터로 이루어지는 데이터를 표현할 수 있다.
도 23은, 도 22의 XML데이터를 데이터처리서버에 등록할 때의 등록용 데이터의 구성을 나타내는 도이다.
이 예는, 데이터종별 "English"에 대응한 등록용 데이터(2301)를 나타낸다.
도 18에 나타낸 처리에 의하여, 데이터종별 "English"의 실체(2302)를 그대로 보지하고, 그 밖의 데이터종별의 부분문자열은 unknown을 나타내는 태그(2303, 2304)로 치환된다.
이 구성에 의하여, 각 데이터종별에 대응한 데이터처리서버에서 적절한 데이터처리가 이루어지는 등록용 데이터를 나타낸 수 있다.
다음으로, 본 발명의 제 3 실시예를 이용하여 보다 복잡한 데이터종별을 취급하는 예를 설명하기로 한다.
본 발명의 제 3 실시예는, 기본적인 구성은 제 1 실시예와 동일하다. 주로 다른 점은, 데이터종별을 보다 복잡한 구조의 정보로 나타낸다는 점과, 데이터처리서버의 선택에 있어서, 취급하는 데이터의 데이터종별과 일치하지 않아도 데이터를 변환하여 데이터처리서버에 데이터처리요구를 한다는 점이다.
도 24는, 데이터종별을 로켈(locale)정보로 나타낸 인터페이스의 개요를 나타내는 도이다.
상술한 예에서는 데이터종별을 영어, 그리스어, 헤브라이어 등의 언어종별로 나타내고 있었던 것에 반해, 이 예에서는 또한 지역과 부호화의 조합에 의하여 데이터의 종별을 나타낸다.
언어와 지역 및 부호화는, POSIX(Portable Operating System Interface for UNIX)규격의 로켈모델에 따라 "en_US,iso88591"과 같이 언어, 지역, 문자코드를 나타내는 것으로 한다.
2401은, 등록하는 데이터의 로켈이 "iw_IL,iso88598"인 것을 실행환경변수로 지정하고 있다. 이로 인해, 등록하는 데이터의 언어가 헤브라이어이고, 지역이 이스라엘, 부호화가 ISO8859-8인 것을 나타내고 있다.
이와 같은 인터페이스에 의하여, 복합적인 구성의 데이터종별을 나타낼 수 있다.
도 25는, 도 24의 복합적인 구성의 데이터종별의 데이터를 등록하는 처리에서의, 데이터처리서버를 선택하는 처리의 순서도를 나타내는 도이다.
기본적으로는, 도 6에 나타낸 처리서버 선택처리와 동일하다. 차이는, 단계601과 단계 602 사이에서 데이터종별 식별자와 일치하는 레코드가 없는지의 여부를 판정하고(2501), 없는 경우에는 데이터변환이 가능한 데이터종별의 데이터처리서버를 검색하는(2502) 처리를 포함하고 있는 것이다.
이로 인해, 복잡하고 종별의 수가 많은 데이터종별의 각각에 완전하게 대응하는 데이터처리서버의 모든 것이 제공되어 있지 않아도, 데이터변환에 의하여 데이터처리가 가능한 소수의 종별에 대응한 데이터처리서버에서 데이터처리를 수행할 수 있다.
도 26은, 데이터처리서버에 데이터를 등록할 때의 데이터를 변환하는 처리의 순서도를 나타내는 도이다.
데이터처리요구 해석결과(308)에 포함되는 처리대상데이터를, 도 25의 단계 2502에서 검색된 데이터변환이 가능한 데이터종별에 맞추어 데이터변환을 한다(2601).
이로 인해, 복잡한 데이터종별에 완전하게 일치하는 데이터처리서버가 제공되지 않아도 데이터를 등록할 수 있다.
도 27은, 도 26의 처리에서 작성되는 데이터를 변환한 데이터의 구성을 나타내는 도이다.
AP(102)로부터의 처리요구에서는, 등록하는 데이터(401)의 로켈은 iw_IL.iso88598이며, 데이터종별 식별자(2701)는 "iw_IL.iso88598"로 하고 있다고 하자. 데이터종별-데이터처리서버 대응표(122)에는 이 데이터종별 식별자에 일치하는 레코드가 없으며, 데이터변환이 가능한 데이터종별 식별자 "iw_IL.utf8"(2702)의 레코드가 검색결과로서 얻어진다고 하자. 그 데이터종별 식별자(2702)에 따라 도 26에 나타낸 처리에 의하여 데이터변환이 이루어지며, 등록용 데이터(2703)가 작성된다.
이 구성에 의하여, 복잡한 데이터종별에 완전하게 일치하는 데이터처리서버가 제공되어 있지 않아도 데이터를 등록할 수 있다.
다음으로, 본 발명의 제 4 실시예를 이용하여 응용프로그램이 데이터의 종별을 수취하는 예를 설명하기로 한다.
본 발명의 제 4 실시예는, 기본적인 구성은 제 1 실시예 및 제 2 실시예와 동일하다. 주로 다른 점은, AP(102)가 데이터의 종별을 응용프로그램 인터페이스로 수취한다는 점이다.
도 28은, 데이터검색에 있어서, AP(102)가 처리결과로 수취한 데이터의 종별을 수취하는 요구의 인터페이스의 개요를 나타내는 도이다.
데이터검색의 데이터처리요구(107)의 요구문(2801)에서, 결과로서 수취하는 title, author의 각각의 언어의 종별을, 각각 표식자:sTLang(2802), :sAutLang(2803)로 수취하도록 요구하고 있다.
이와 같은 인터페이스에 의하여, 복수 종별의 데이터를 보지하는 데이터베이스로부터 데이터를 검색결과로서 수취하는 경우에는, 수취한 각각의 데이터가 어떠한 종별인가를 AP(102)가 알 수 있다.
도 29는, 도 28과 같은 인터페이스로 지정된 검색요구에서, 표식자에 데이터종별 식별자를 반환할 때의 데이터구성의 개요를 나타낸 도이다.
데이터접속 관리부(103)의 처리결과 편집부(113)가, title, author의 각각의 부분데이터를 데이터처리서버(104-1, 104-2)로부터 수취하였을 때, 각각의 데이터처리서버의 데이터종별 식별자 "English"(2904), "Greek"(2902)을 바탕으로 처리결과데이터(2903)의 title의 표식자 "English"(2904), author의 표식자 "Greek"(2905)을 설정한다.
이로 인해, AP(102)는 처리결과에서 수취한 데이터의 종별을 알 수 있다.
다음으로, 본 발명의 제 5 실시예를 이용하여, 네트워크경유로 데이터처리서버를 탐색하여 데이터처리를 수행하는 데이터처리서버를 선택하는 예를 설명하기로 한다.
본 발명의 제 5 실시예는, 기본적인 구성은 도 1의 구성과 동일하다. 주된 차이는, 데이터접속 관리부(103)에서 데이터종별-데이터처리서버 대응표(122)를 이용하지 않는다는 것이다.
도 30은, 데이터접속 관리부(103)의 처리서버 선택부(111)에서의 데이터처리서버를 선택하는 처리의 순서도를 나타내는 도이다.
이 예에서는, 네트워크(105)를 경유하여 데이터처리서버를 탐색하고, 데이터처리 종별지시(121)에 포함되는 데이터종별 식별자에 적합한 데이터처리서버를 선택하여 그 데이터처리서버의 정보를 되돌려준다(3001).
이 처리에 의하여, 데이터처리 시스템(101)의 데이터처리서버의 구성을 고정적으로 하지 않고, 또한 데이터종별-데이터처리서버 대응표(122)를 보지하지 않아도, 데이터처리를 수행하는 데이터처리서버를 선택할 수 있다.
다음으로, 본 발명의 제 6 실시예를 이용하여 데이터처리 시스템에 데이터처리서버를 추가하는 예를 설명하기로 한다.
본 발명의 제 6 실시예는, 기본적인 구성은 도 1의 구성과 동일하다. 주된 차이는, 프랑스어의 데이터처리서버(114-f)를 데이터처리 시스템(101)에 추가하고, 데이터접속 관리부(103)의 데이터종별-데이터처리서버 대응표(122)에 프랑스어의 데이터처리서버의 정보를 추가한다는 것이다.
도 31은, 데이터처리서버를 추가한 데이터처리 시스템의 구성을 나타내는 개요도이다.
데이터종별-데이터처리서버 대응표(122)에 프랑스어에 적절한 데이터처리를 수행하는 데이터처리서버의 레코드(3101)를 추가하고 있다.
또한, 프랑스어에 적절한 데이터처리를 수행하는 데이터처리서버(104-f)를 네트워크(105)에 접속하여, 데이터처리 시스템(101)의 일부가 되도록 하고 있다.
이와 같은 구성으로, 앞서 설명한 데이터등록처리 및 데이터검색처리를 수행함으로써, 추가한 프랑스어의 데이터처리서버(104-f)의 기능을 데이터처리 시스템(101)에서 이용할 수 있다.
데이터종별-데이터처리서버 대응표(122)에 레코드(3101)를 추가하는 것만으로, 프랑스어의 데이터종별에 대응하여 데이터처리서버(104-f)의 데이터처리를 수행할 수 있다.
또한, 데이터처리서버(104-f)는, 데이터처리 시스템(101) 이외의 어플리케이션(3102)으로부터도 이용할 수 있다.
또한, 이미 데이터처리 시스템(101)에 포함되어 있는 데이터처리서버(104-1, 104-2, …, 104-n) 자체에 대하여는 아무런 변경을 할 필요가 없다.
다음으로, 본 발명의 제 7 실시예를 이용하여, 데이터처리서버에 보지하는 데이터의 형식을 모두 통일하는 예를 설명하기로 한다.
본 발명의 제 7 실시예는, 기본적인 구성은 도 1의 구성과 동일하다. 주된 차이는, 데이터처리 시스템(101)을 구성하는 데이터처리서버(104-1, 104-2, …, 104-n)에 보지하는 데이터의 형식을 모두 동일하게 한다는 것이다.
도 32는, 데이터처리서버에서 취급하는 데이터의 데이터형식을 모두 Unicode로 한 예를 나타낸다. 데이터처리서버(104-1, 104-2, …, 104-n)에 보지하는 데이터(3201-1, 3201-2, …, 3201-n)의 보후화를 모두 UTF8로 하고 있다.
이와 같이, 데이터처리서버(104-1, 104-2, …, 104-n)에서 취급하는 데이터의 형식은 모두 동일하여도 되며, 데이터의 형태나 형식에 관계없이 데이터의 종별에 따라서 데이터처리서버를 구별할 수 있다.
또한, 상술한 예에 나타낸 바와 같이, 본 발명에서는 이하의 것들이 가능하게 된다.
(1) 복수의 서로다른 종별의 데이터에 접속하는 데이터처리 시스템에 있어서,
(1-1) AP에서 취급하는 종별에 의존하는 데이터를 그대로 데이터처리서버에서 데이터처리 하기 때문에, 각각의 종별에 의존하는 정보가 상실되는 일 없이 데이터의 종별마다의 특성에 따른 처리를 수행할 수 있다.
(1-2) 부분데이터를 종별에 따라 분리하고, 각각에 따른 데이터처리서버에 등록하고, 검색시에 그들의 부분데이터를 조합시켜 처음의 데이터를 AP에 반환하기 때문에, 하나의 데이터 중에 복수의 종별데이터가 혼재된 데이터를 취급할 수 있다.
(2) (1)의 환경을 구축하는 것에 있어서,
(2-1) 데이터종별-데이터처리서버 대응표를 편집하는 것만으로, 데이터처리서버를 데이터처리 시스템에 추가·삭제할 수가 있기 때문에, 복수의 서로다른 종별의 데이터에 접속하는 데이터처리 시스템을 용이하게 구축할 수 있다.
(2-2) 데이터종별-데이터처리서버 대응표를 편집하는 것만으로, 종별에 의존한 기능을 제공하는 기존의 모듈을 이용할 수 있다.
(2-3) 종별마다 대응한 데이터처리서버를 이용함으로써, 종별에 의존한 기능을 제공하는 모듈을 필요최소한으로 배치할 수 있다.
이러한 것들이 가능하게 되는 것은, 특히 데이터베이스 시스템의 다언어대응에 있어서 유효하다.
또한, 상술한 순서도의 처리는, 도 2에 나타낸 바와 같은 데이터처리장치에서 프로그램을 실행함으로써 실현할 수 있다. 또한, 그 프로그램은, 하드디스크장치, 플로피디스크 등의 컴퓨터로 판독할 수 있는 기록매체에 격납할 수 있으며, 네트워크를 통하여 프로그램에 접속할 수 있다.
이하에 열의 값에 대응하는 복수의 조합키를 다차원데이터로서 서로다른 조합방법으로 공유하고, 열의 값에 대응하는 조합키의 조합을 수행하여 레코드를 소트하는 한 실시예의 조합처리장치에 대하여 설명하기로 한다.
도 33은 본 실시예의 문자열 소트처리의 개요를 나타내는 도이다. 도 33에 나타낸 바와 같이 본 실시예의 데이터베이스 시스템(10101)은, 조합모듈(10106)과, 다차원데이터 처리모듈(10107)을 가지고 있다.
조합모듈(10106)은, 소트요구로 지정된 조합방법에서 평가대상이 되는 열의 값에 대응하는 조합키의 차원식별자를 취득하고, 이 조합키를 이용한 소트처리를 요구하는 조합처리부이다. 다차원데이터 처리모듈(10107)은, 조합모듈(10106)에서 취득된 차원식별자로 나타내지는 조합키를 참조하여, 표 10115의 열의 값이 격납된 레코드를 식별하기 위한 레코드식별자(10158)를 상기 조합키로 소트하고, 상기 열의 값에 대응하는 레코드식별자(10158)를 상기 지정된 조합방법에 따라 순서를 매기는 소트처리부이다.
데이터베이스 시스템(10101)을 조합모듈(10106) 및 다차원데이터 처리모듈(10107)로서 기능시키기 위한 프로그램은, CD-ROM 등의 기록매체에 기록되어 자기디스크 등에 격납된 후, 메모리에 로드되어 실행되는 것으로 한다. 또한, 상기 프로그램을 기억하는 기록매체는 CD-ROM 이외의 다른 기록매체라도 된다.
우선, 시스템구성의 개략을 설명하기로 한다. 본 실시예의 조합처리장치인 데이터베이스 시스템(10101)은, 응용프로그램(10102)과, 데이터베이스 처리서버(10103)와, 정의데이터 기억장치(10104)와, 표 데이터기억장치(10105)와, 조합모듈(10106)과, 다차원데이터 처리모듈(10107)과, 다차원데이터 기억장치(10108)를 구비하고 있다.
응용프로그램(10102)은, 이용자로부터의 데이터베이스 조회요구를 데이터베이스 처리서버(10103)에 송신하고, 그 처리결과를 수취하는 프로그램이다.
데이터베이스 처리서버(10103)는, 일반적인 데이터베이스 관리시스템의 기능을 제공함과 동시에 인덱스 관리부(10109)를 포함하고 있다. 인덱스 관리부(10109)는, 데이터베이스 관리서버(10103)에서의 인덱스를 이용한 소트요구(10151)를 받아 그 결과로서 레코드식별자의 리스트(10157)를 되돌려준다.
정의데이터 기억장치(10104)는, 인덱스 정의정보(10110), 인덱스-도메인 대응데이터(10112), 조합방법-조합키 대응데이터(10113), 조합키-차원대응데이터 (10114)를 보지하고 있다. 인덱스 정의정보(10110)는, 인덱스에 대응한 조합모듈(10106)을 식별하는 조합모듈 식별자(10111)를 포함하고 있다. 또한, 표데이터 기억장치(10105)는 표 10115에 레코드를 보지하고 있다.
다차원데이터 처리모듈(10107)은, "OLAP SOLUTIONS Building Multidimensional Information Systems, Erik Thomsen, John Wiley Sons, 1997"에 기재되어 있는 바와 같은 데이터처리기능을 제공하는 모듈이며, 일본 특허공개 평9-265479호 공보의 「다차원데이터 처리방법」에 개시되어 있는 바와 같은 방법에 따라서 실장되어 있는 모듈이다. 다차원데이터 기억장치(10108)는, 인덱스에 대응한 다차원데이터 도메인(10116)을 보지하고, 여기에 레코드의 조합키가 되는 부분을 코드화한 값 및 그 레코드의 레코드식별자(10158)를 다차원데이터로서 보지하고 있다.
다음으로, 이 시스템에 있어서의 소트요구(10151)를 포함하는 조회처리의 개략을 설명하기로 한다. 응용프로그램(10102)은, 표데이터 기억장치(10105)에 격납된 문자열에 대하여 다양한 조합방법에 의해 소트하도록 데이터베이스 처리서버(10103)에 조회요구를 한다(소트요구(10151)).
데이터베이스 처리서버(10103)는, 응용프로그램(10102)으로부터의 조회요구의 해석을 실시하여, 조회해석결과(10152)를 생성한다. 이 해석처리에서는, 인덱스 정의정보(10110)를 탐색하고, 소트처리에 인덱스를 이용하는지의 여부를 판정한다. 소트대상에 대응하는 인덱스 정의정보(10110)가 있으면, 그 정보에 기초하여 인덱스를 이용하는 데이터베이스처리를 수행할 것을 결정하고, 인덱스를 이용한 결과, 얻어진 순번을 그대로 소트한 순번으로 한다.
조회해석결과(10152)의 결과, 인덱스를 이용할 것을 결정하면, 데이터베이스 처리서버(10103)는 인덱스 관리부(10109)에 소트하도록 요구한다(인덱스 소트요구(10153)). 인덱스 관리부(10109)는, 인덱스 정의정보(10110)에 포함되는 조합모듈 식별자(10111)에 따라 조합모듈(10106)에 소트처리를 요구한다.
조합모듈(10106)은, 정의데이터 기억장치(10104)에 보지되어 있는 인덱스-도메인 대응데이터(10112), 조합방법-조합키 대응데이터(10113), 및 조합키-차원대응데이터(10114)를 참조하고, 조합-다차원데이터 해석변환(10154)을 수행한다. 이 변환에서 인덱스에 대응한 다차원데이터처리의 도메인, 적용하는 조합방법의 조합키와 조합단계에 대응한 다차원데이터 도메인(10116)에서의 조합키를 식별하는 차원식별자와 당해 조합키의 우선도의 정보를 얻는다. 이들을 지정하여, 다차원데이터 처리모듈(10107)에 다차원데이터 해석요구(10155)를 한다.
다차원데이터 해석요구(10155)에서는, 응용프로그램(10102)으로부터의 각각의 소트요구(10151)에 적합한 조합방법에 따라서, 각 조합단계에서의 조합키의 평가를 차원식별자 및 우선도에 대응시켜 그들을 입력으로서 지정한다. 출력으로 하는 해석결과는 레코드식별자의 리스트(10157)로 한다.
다차원데이터 처리모듈(10107)은, 각 차원의 조합키에 대하여 우선도의 지정의 요구에 따라서 다차원데이터를 해석하여 소트처리를 수행하고, 다차원데이터 해석결과(10156)를 되돌려준다.
조합모듈(10106)은, 이 다차원데이터 해석결과(10156)를 소트처리결과로서 인덱스 관리부(10109)에 건네준다. 인덱스 관리부(10109)는, 이것을 소트처리결과의 레코드식별자의 리스트(10157)로 한다. 데이터베이스 처리서버(10103)는, 인덱스 관리부(10109)로부터의 소트처리종료를 나타내는 응답을 수취하고, 응용프로그램(10102)에 조회처리종료를 되돌려준다. 이상으로 조회처리를 종료한다.
또한, 이 소트의 조회처리의 결과는, 일반적인 SQL의 FETCH에 의하여 출력된다. 응용프로그램(10102)으로부터의 페치요구에 따라서 데이터베이스 처리서버(10103)는 레코드식별자의 리스트(10157)로부터 순서대로 레코드식별자(10158)를 출력하고, 이에 따라 식별되는 레코드를 표데이터 기억장치(10105)로부터 출력하여 응용프로그램(10102)에 반환한다.
도 34는 본 실시예의 조합처리장치의 개략구성을 나타내는 도이다. 본 실시예의 데이터베이스 시스템(10101)은 일반적인 데이터처리장치(10201) 상에서 동작한다.
데이터처리장치(10201)는, CPU(10202), OS(10203), 통신콘트롤러(10204), 메모리(10205), I/O콘트롤러(10206) 및 이들을 접속하는 시스템버스(10207) 등을 구비하고 있다. 또한, I/O콘트롤러(10206)에는 키보드나 마우스 및 디스플레이 등과 같은 데이터 입출력장치(10208), 및 자기디스크장치와 같은 데이터기억장치(10209) 등이 접속된다.
데이터처리장치(10201)는, 통신콘트롤러(10204)에 의해 LAN(Local Area Network) 등의 네트워크(10210)에 접속되어 있으며, 네트워크(10210)에 접속되어 있는 다른 데이터처리장치(10201)와 통신을 수행한다.
도 33 및 이후에 나타내는 프로그램의 기능은, OS(10203)의 관리하에서 CPU(10202)가 메모리(10205)에 격납된 프로그램을 실행함으로써 실현된다. 또한, 정의데이터 기억장치(10104), 표데이터 기억장치(10105), 다차원데이터 기억장치(10108) 등은 데이터기억장치(10209)에 데이터를 격납함으로써 실현된다.
도 35는 본 실시예의 표 10115의 한 예를 나타내는 도이다. 도 35에서는, 데이터베이스 시스템(10101)에 있어서 레코드를 격납하는 표 10115의 구조를 나타내고 있다.
명부인 표 10115는 성명(10301) 및 읽는법(10302)을 나타내는 예와 그 밖의 예를 가지고 있다. 또한, 레코드식별자(10303)를 각 레코드에 할당하고 있다. 여기서, 성명(10301)의 열의 값은 CHAR형 16문자 이내의 값으로 하고, 읽는법(10302)의 열의 값은 CHAR형 16문자 이내의 값으로 한다.
레코드(10304)는, 성명(10301)의 값이 「足立 修」, 읽는법(10302)의 값이「아다치 오사무」인 것을 나타내고 있으며, 레코드식별자 ridl에 의하여 데이터베이스 처리서버(10103)는 이 레코드를 다른 레코드와 식별한다. 또한, 레코드(10305∼10312)도 마찬가지이다.
도 36은 본 실시예의 인덱스 정의정보(10110)의 한 예를 나타내는 도이다.
인덱스 정의정보(10110)는, 인덱스식별자(10401), 표식별자(10402), 열식별자(10403), 조합모듈 식별자(10404), 조합요소종별(10405)로 구성된다.
인덱스 식별자(10401)는, 이 정의정보가 나타내는 인덱스를 다른 인덱스와 식별하는 식별자이다. 표식별자(10402)는, 인덱스 설정대상의 표를 식별하는 식별자이다. 열식별자(10403)는, 인덱스 설정대상의 키가 되는 열을 식별하는 식별자이다.
또한, 레코드(10406) 및 (10407)과 같은 복수의 정의 정보에 의하여, 복수의 열의 조합이 인덱스의 키인 것을 나타내고 있으며, 레코드(10406) 및 (10407)는, 성명(10301)과 읽는법(10302)의 조합이 이 인덱스(명부조합 인덱스)의 키인 것을 나타내고 있다.
조합모듈 식별자(10404)는, 조합모듈(10106)을 식별하는 식별자이다. 이 정의정보가 나타내는 인덱스로 조합에 관한 처리를 수행할 때에 실행하는 조합모듈(10106)을 식별한다. 조합요소종별(10405)은, 열식별자(10403)에 대응한 조합요소를 나타내고 있으며, 레코드(10406)에서는 성명(10301)이 표기에 의한 조합에 있어서 조합요소가 되는 것을 나타내고 있다.
이상을 종합정리해 보면, 레코드(10406) 및 (10407)은, 「명부조합 인덱스」로 식별되는 인덱스가 설정되어 있는 것을 나타내고 있으며, 명부를 나타내는 표(10115)의 성명(10301) 및 읽는법(10302)의 열을 쌍으로 하여 인덱스의 키로 하고 있다. 이 인덱스의 조합에 관한 처리는, jisx4061로 식별되는 조합모듈(10106)에서 실행된다. 조합에서의 조합요소는 표기열 및 읽는법 열의 쌍이며, 각각 성명(10301) 및 읽는법(10302)의 열에 대응한다.
이와 같은 인덱스 정의정보(10110)는, 일반적인 데이터베이스 관리시스템이 제공하는 인덱스 정의 기능을 확장함으로써 작성할 수 있는 것이다.
도 37은 본 실시예의 조합방법-조합키 대응데이터(10113)의 한 예를 나타내는 도이다. 조합방법-조합키 대응데이터(10113)는, 조합방법 식별자(10501), 조합키식별자(10502), 조합단계(10503)를 가지고 있다.
레코드(10504∼10508)는, 대표읽기 조합방법의 조합키 및 그 조합단계를 나타내고 있다. 즉, 대표읽기 조합방법에서의 조합절차의 제 1 단계에서, 표기열의 맨 앞글자를 문자클래스의 순번에 따라 평가할 것, 제 2 단계에서 제 1 분절의 대표읽기를 조합키로서 평가할 것, 제 3 단계에서 제 1 분절의 표기열을 조합키로서 평가할 것, 제 4 단계에서 읽기열을 조합키로서 평가할 것, 제 5 단계에서 표기열을 조합키로서 평가할 것을 각각 나타내고 있다.
레코드(10509)는 읽기·표기조합방법에서의 조합절차의 제 1 단계에서, 읽기열을 조합키로서 평가할 것을 나타내며, 레코드(10510)는 읽기·표기조합방법에서의 조합절차의 제 2 단계에서 표기열을 조합키로서 평가할 것을 나타내고 있다. 또한, 레코드(10511)는 단순조합방법에서의 조합절차의 제 1 단계에서 표기열을 조합키로서 평가할 것을 나타내고 있다.
또한, 예를들어 레코드(10507)와 레코드(10509)에서 조합키 식별자 「읽기열」이 공통적으로 설정되어 있는 것을 보면, 읽기열의 조합키가 대표읽기 조합방법에서의 조합절차의 제 4 단계 및 읽기·표기조합방법에서의 조합절차의 제 1 단계에서 공통적으로 이용되는 것을 알 수 있다.
도 38은 본 실시예의 조합키-차원대응데이터(10114)의 한 예를 나타내는 도이다. 조합키-차원대응데이터(10114)는, 조합키식별자(10601), 차원식별자(10602)를 가지고 있다.
레코드(10603)는, 「제 1 표기문자클래스」로 식별되는 조합키가 다차원데이터 도메인(10116)에서의 「제 1 표기문자클래스」로 식별되는 차원과 대응하는 것을 나타내고 있으며, 마찬가지로, 레코드(10604∼10607)의 각 조합키는, 다차원데이터 도메인(10116)에서의 각 차원과 대응하고 있다.
또한, 예를들어 레코드(10507) 및 (10509)에서 조합키식별자「읽기열」을 공통적으로 사용하는 것에 대응하여, 다차원데이터처리에서의 차원「읽기열」도 복수의 조합방법에서 공통적으로 이용된다.
도 39는 본 실시예의 인덱스-도메인 대응데이터(10112)의 한 예를 나타내는 도이다. 데이터베이스 시스템(10101)에서는, 인덱스마다 다차원데이터 도메인(10116)을 부여한다. 그 대응관계를 인덱스-도메인 대응데이터(10112)를 이용하여 나타내고 있다.
인덱스-도메인 대응데이터(10112)는, 인덱스식별자(10701), 도메인식별자(10702)를 가지고 있으며, 레코드(10703)는 「명부조합 인덱스」로 식별되는 인덱스가 다차원데이터 처리모듈(10107)에서 「명부조합 도메인」과 대응하는 것을 나타내고 있다.
다음으로, 데이터베이스 시스템(10101)의 다차원데이터 도메인(10116)에 다차원데이터의 엔트리를 등록하는 한 예로서, 레코드의 삽입시에 다차원데이터의 엔트리등록을 수행하는 예를 나타낸다.
도 40은 본 실시예의 데이터베이스 시스템(10101)에 레코드를 삽입하는 처리의 개요를 나타내는 도이다. 본 실시예의 다차원데이터 처리모듈(10107)은, 레코드의 삽입시에 그 열의 값에 대응하는 복수의 조합키를 다차원데이터로서 다차원데이터 도메인(10116)에 보지하고, 다차원데이터 중의 조합키를 서로다른 조합방법으로 공유할 수 있도록 하고 있다.
레코드삽입(10853)을 요구하는 응용프로그램(10801)이 명부인 표(10115)에 레코드를 격납하도록, 데이터베이스 처리서버(10103)에 등록요구(10851)를 하고 있으며, 예를들어 이하와 같은 SQL문으로 조회요구를 한다.
INSERT INTO 명부 VALUES(「足立 修」,「아다치 오사무」, . . .)
데이터베이스 처리서버(10103)는, 이 조회요구를 수신하여 조회해석(10852)을 수행하고, 데이터베이스 처리절차를 결정한다. 조회해석(10852)에서는 레코드삽입요구인 것을 해석하여 표데이터 기억장치(10105)에 대한 레코드삽입(10853)을 수행할 것을 결정한다.
또한, 인덱스 정의정보(10110)를 참조하여, 삽입할 레코드에 대하여 인덱스를 메인터넌스할지의 여부를 판정한다. 예를들어, 도 36의 레코드(10406) 및 (10407)을 참조하여, 명부조합 인덱스를 메인터넌스 대상으로 할 것을 결정한다.
계속해서, 결정한 데이터베이스 처리절차에 따라 표데이터 기억장치(10105)에 대한 레코드삽입(10853)을 수행한다. 데이터베이스 처리서버(10103)가 레코드의 격납위치를 결정하고, 표데이터 기억장치(10105)에 격납한다. 그리고, 그 격납위치의 정보를 레코드식별자(10854)로 부호화한다.
다음으로, 조회해석(10852)에서 결정한 데이터베이스 처리절차에 따라 인덱스 메인터넌스(10855)를 실시한다. 데이터베이스 처리서버(10103)는, 인덱스 관리부(10109)에 인덱스 엔트리등록을 요구한다. 인덱스 관리부(10109)에서는, 인덱스 정의정보(10110)로부터 취득한 조합모듈 식별자(10404)(jisx4061)를 이용하여, 조합모듈(10106)을 특정하고, 조합모듈(10106)에 엔트리등록요구를 한다. 이 요구에서는, 인덱스 식별자, 조합모듈 식별자, 인덱스 설정대상의 열의 값, 레코드식별자를 지정한다.
조합모듈(10106)은, 정의데이터 기억장치(10104)에 보지된 인덱스 정의정보(10110), 조합모듈-조합방법 대응데이터(10802) 및 조합방법-조합키 대응데이터(10113)에 따라 조합요소에 대응시키고, 인덱스의 키의 값으로부터 조합키의 값을 취득한다. 또한, 조합키-차원대응데이터(10114)를 참조하여, 조합키를 다차원데이터 엔트리에 대응시키도록 조합키-다차원데이터 엔트리변환(10856)을 수행한다. 이 변환에 의해 얻은 다차원데이터 엔트리변환결과(10858)를 다차원데이터 처리모듈(10107)에 등록요구하는 다차원데이터 등록요구(10857)를 한다. 또한, 이 조합모듈(10106)에 있어서의 엔트리등록처리에 대해서는 후에 도 42에서 상세하게 설명하기로 한다.
조합모듈(10106)의 엔트리등록이 종료되면, 인덱스 관리부(10109)의 인덱스 메인터넌스를 종료하고, 데이터베이스 처리서버(10103)는 레코드삽입 처리종료를 등록 응용프로그램에 반신하여 종료한다. 이상에 의하여 레코드삽입처리를 종료한다.
도 41은 본 실시예의 조합모듈-조합방법 대응데이터(10802)의 한 예를 나타내는 도이다. 조합모듈-조합방법 대응데이터(10802)는, 조합모듈 식별자(10901)와, 조합방법 식별자(10902)를 가지고 있다. 레코드(10903∼10905)는 jisx4061로 식별되는 조합모듈(10106)이 「대표읽기 조합방법」, 「읽기·표기조합방법」, 「단순조합방법」의 3가지의 조합방법의 식별자와 대응하고 있는 것을 나타내고 있다.
도 42는 본 실시예의 엔트리등록시의 조합모듈(10106)의 처리절차를 나타내는 순서도이다. 도 42에서는, 도 40의 인덱스 관리부(10109)로부터의 엔트리 등록요구에 따라 기동하는 처리를 나타내고 있으며, 이 처리의 입력은 인덱스식별자, 조합모듈 식별자, 인덱스 설정대상의 열의 값, 레코드식별자이다.
우선, 인덱스 정의정보(10110)를 참조하여, 열의 값을 조합요소의 값으로 변환한다(단계 11001). 에를들어, 도 36의 레코드(10406) 및 (10407)을 참조하여 삽입하는 레코드의 열의 값 「足立 修」를 표기열의 값, 열의 값「아다치 오사무」를 읽기열의 값으로 한다.
다음으로, 조합모듈-조합방법 대응데이터(10802)를 참조하여, 이조합모듈(10106)에 대응한 조합방법 식별자를 취득한다(단계 11002). 예를들어 도 41의 레코드(10903)로부터 조합방법 식별자 「대표읽기 조합방법」을 얻는다.
다음으로, 단계 11002에서 취득한 조합방법 식별자를 바탕으로, 조합방법-조합키 대응데이터(10113)로부터 조합방법에 대응한 조합키를 취득한다(단계 11003). 예를들어, 조합방법 식별자「대표읽기 조합방법」을 바탕으로 도 37의 레코드(10504)로부터 조합키식별자「제 1 표기문자 클래스」를 얻는다.
다음으로, 단계 11001에서 얻은 조합요소의 값으로부터 조합키의 값을 취득한다(단계 11004). 예를들어, 표기열「足立 修」의 맨 앞글자 「足」을 얻어 그 문자클래스「한자」를 얻는다(조합모듈(10106)이 문자의 사전 등을 이용하여 취득한다).
다음으로, 단계 11004에서 얻은 조합키의 값을 코드화한다(단계 11005). 코드화의 상세한 설명에 대해서는 후에 도 43에서 설명하기로 한다. 또한, 이로 인해 얻은 조합키 값의 코드를 리스트형식으로 보지해 둔다(단계 11006).
다음으로, 단계 11003에서 취득하는 조합키에 대하여, 그 밖에 해당하는 조합키가 있는지의 여부를 판정한다(단계 11007). 해당하는 조합키가 있으면, 단계 11003∼단계 11006의 처리를 반복한다. 예를들어, 도 37의 레코드(10505∼10508) 등이 해당하며, 이들에 대하여 단계 11003∼단계 11008의 처리를 반복한다.
단계 11007에서 해당하는 조합키가 없어진 경우에는, 다음 단계 11008로 나아간다. 단계 11008에서는, 단계 11002에서 취득하는 조합방법 식별자에 대하여, 그 밖에 해당하는 조합방법 식별자가 있는지의 여부를 판정한다. 해당하는 조합키가 있으면, 단계 11002∼단계 11008의 처리를 반복한다. 예를들어, 도 41의 레코드(10904) 및 (10905) 등이 해당하며, 이들에 대해 단계 11002∼단계 11008의 처리를 반복한다. 즉, 읽기·표기조합방법, 단순조합방법에 대해서도 조합키를 취들하는 처리를 반복한다.
단계 11008에서 해당하는 조합방법 식별자가 없어진 경우는, 다음 단계 11009로 나아간다. 여기까지의 처리로, 조합모듈(10106)에 관한 모든 조합방법의 모든 조합키에 대하여, 조합키의 값을 코드화한 값의 리스트를 얻고 있다. 다음으로, 인덱스-도메인 대응데이터(10112)를 참조하여 다차원데이터 처리모듈(10107)에 등록요구하는 도메인의 식별자를 취득한다(단계 11009). 예를들어, 도 39의 레코드(10703)를 참조하여 도메인식별자 「명부조합 도메인」을 취득한다.
다음으로, 조합키-차원대응데이터(10114)를 참조하여, 단계 11006에서 작성한 조합키 값의 코드의 리스트 및 레코드식별자를 다차원데이터 처리모듈(10107)에서의 차원에 대응시킨다(단계 11010). 예를들어, 도 38의 레코드(10603∼10607) 등을 참조하여, 조합키 값의 코드를 차원에 대응시킨다. 즉, 「足立 修」의 제 1 표기문자 클래스「한자」의 코드값을 차원「제 1 표기문자 클래스」에 대응시킨다. 또한, 레코드식별자 ridl을 차원 「레코드식별자」에 대응시킨다.
다음으로, 다차원데이터 처리모듈(10107)에 엔트리등록요구를 한다(단계 11011). 이 요구에서, 단계 11009에서 취득한 도메인 식별자 「명부조합 도메인」으로 도메인을 지정하고, 단계 11010에서 작성한 차원과 코드값을 지정한다. 다차원데이터 처리모듈(10107)에서 엔트리등록이 종료되면, 이 처리를 종료한다. 이 처리에 의하여, 하나의 레코드에 대한 엔트리등록으로, 소트에 적용하는 조합방법의 모든 조합키의 코드값이 다차원데이터 도메인(10116)에 등록된다.
도 43은 본 실시예의 조합키 값의 코드의 한 예를 나타내는 도이다. 도 43에서는, 도 42의 조합모듈(10106)의 엔트리등록에서의 단계 11005에서 작성하는 코드의 구성예를 나타내고 있다.
조합키(11101)는, 대표읽기 조합방법의 제 1 단계에서의 조합키이며, 표기열 제 1 문자의 문자클래스의 코드를 나타내고 있다. 또한, 표기열「足立 修」의 표기열 제 1 문자 「足」의 문자클래스는 「한자」이며, JIS X 4061에 규정되어 있는 문자클래스의 번호 「11」와 대응시켜 조합키의 코드를 「11」로 하고 있다.
조합키(11102)는, 대표읽기 조합방법의 제 2 단계에서의 조합키이며, 대표읽기의 코드를 나타내고 있다. 또한, 표기열「足立 修」, 읽기열「아다치 오사무」의 대표읽기는 「아시」이기 때문에(조합모듈(10106)이 대표읽기사전을 이용하는 등의 방법으로 결정한다), JIS X 4061에 규정되어 있는 이하의 번호에 대응시켜 코드화하고 있다.
문자클래스의 번호 : 가나 … 「10」
문자클래스 내에서의 문자의 순번 : 「아」…「1」, 「시」…「12」
청탁(淸濁)속성번호 : 「아」(청음)…「0」, 「시」(청음)…「0」
기호종별 속성번호 : 「아」(대문자)…「0」, 「시」(대문자)…「0」
가명종별 속성번호 : 「아」(히라가나명)…「0」,「시」(히라가나명)…「0」
마찬가지로 해서, 제 1 분절표기열, 읽기열, 표기열 등의 모든 조합키에 대하여 코드화한다. 또한, 이들 코드는 순번을 수치화하고 있으며, 수치의 대소가 조합키의 순서에 대응하고 있다. 따라서, 다차원 데이터해석에서 그 수치의 대소로 비교하여 오름차순으로 나열함으로써, 조합키의 순번을 나타내는 소트처리결과를 용이하게 얻을 수 있다.
도 44는 본 실시예의 다차원데이터 도메인(10116)에 보지하는 다차원데이터의 한 예를 나타내는 도이다. 도 42의 엔트리등록의 처리에서 나타낸 바와 같이, 소트에 적용되는 모든 조합방법의 모든 조합키에 대하여 차원을 작성한다.
도 44에서는, 제 1 표기문자 클래스(11201), 대표읽기(11202), 제 1 분절표기열(11203), 읽기열(11204), 표기열(11205), 및 레코드식별자(11206)의 각각의 차원을 작성하고 있으며, 이들 차원에 대하여 도 43에서 나타낸 바와 같은 조합키의 코드값을 배치한다.
여기서, 읽기열의 차원은 대표읽기 조합방법과 읽기·표기조합방법에 대하여 공유되며, 또한, 표기열의 차원은 대표읽기 조합방법, 읽기·표기조합방법 및 단순조합방법에서 공유되어 있다.
이상에 의해, 조합에 관한 모든 조합키의 코드값이 대응하는 다차원데이터 도메인(10116)에 보지된다.
도 45는 본 실시예의 소트요구(10151)를 포함하는 조회처리의 처리절차를 나타내는 순서도이다. 도 45에서는, 응용프로그램(10102)이 표데이터 기억장치(10105)에 격납된 문자열의 소트를 요구하였을 때의 처리를 나타내고 있으며, 예를들어 응용프로그램(10102)으로부터는, 명부인 표(10115)에 대하여성명(10301)과 읽는법(10302)의 쌍을 키로 하여(각각 조합요소의 표기열, 읽기열로서), 대표읽기 조합방법을 바탕으로 소트하도록 요구한다.
일반적으로, 응용프로그램(10102)에서는, 이와 같은 처리의 요구에 대해서는 조회에 대하여 카솔을 정의하고, 이 카솔을 오픈한 후에 페치에 의하여 1건씩 조회의 결과를 취득한다. 또한, 도 45에서는, 응용프로그램(10102)으로부터의 카솔오픈요구에 대하여 데이터베이스 처리서버(10103)가 소트한 조회처리결과의 리스트를 작성하는 처리를 나타내고 있다.
우선, 데이터베이스 처리서버(10103)는, 응용프로그램(10102)으로부터의 조회요구의 해석을 수행하여 해석결과를 얻는다(도 33의 조회해석결과(10152)에 상당). 여기서는, 일반적인 해석처리에 의하여 소트요구(10151)를 포함하는 조회요구인 것을 해석하고, 예를들어 명부인 표(10115)의 성명(10301) 및 읽는법(10302)의 열의 쌍에 대하여 대표읽기 조합방법에 의한 소트요구(10151)인 것을 해석한다(단계 11301).
다음으로, 소트처리에 정의·설정이 끝난 인덱스를 이용할지의 여부를 판정한다. 이 판정에서는, 명부인 표(10115)에서, 성명(10301) 및 읽는법(10302)을 대상으로 한 인덱스 정의정보(10110)를 탐색하여(단계 11302), 해당하는 인덱스 정의정보(10110)가 있는지의 여부를 조사한다(단계 11303).
해당하는 인덱스 정의정보(10110)가 있는 경우에는, 설정이 끝난 인덱스를 이용하는 데이터베이스 처리절차로 할 것을 결정한다(단계 11304). 계속해서, 해당하는 인덱스 정의정보(10110)를 취득해 둔다(단계 11305). 여기서는, 해당하는 도36의 레코드(10406) 및 (10407)의 정보를 취득한다.
단계 11304에서 해당하는 인덱스 정의정보(10110)가 없는 경우에는, 레코드로부터 다차원 데이터를 작성하여 소트하는 데이터베이스 처리절차로 결정한다(단계 11306).
계속해서, 조회해석(10852)으로 결정한 데이터베이스 처리절차에 따라, 데이터베이스 처리서버(10103)는 데이터베이스처리를 실행한다. 데이터베이스 처리서버(10103)는, 인덱스를 이용하는 데이터베이스 처리절차인지의 여부를 판정한다(단계 11307).
설정이 끝난 인덱스를 이용하는 경우에는, 인덱스 관리부(10109)에 인덱스를 이용한 소트를 실행하도록 요구한다(도 33의 인덱스 소트요구(10153)에 상당). 인덱스 관리부(10109)는, 단계 11305에서 취득한 인덱스 정의정보(10110)를 수취하고, 소트요구(10151)에 따른 처리를 수행한다(단계 11308). 이 요구에서는, 소트요구(10151)에 지정된 인덱스 식별자 및 조합방법 식별자를 지시한다. 인덱스 관리부(10109)는, 인덱스 정의정보(10110)의 조합모듈 식별자를 바탕으로, 대응하는 조합모듈(10106)에 소트처리를 실시하도록 요구한다. 조합모듈(10106)은 다차원데이터 처리모듈(10107)을 이용하여, 도 42의 처리로 등록한 다차원데이터의 해석을 수행하여, 레코드식별자의 리스트(10157)를 취득하고, 처리결과로서 되돌려보낸다. 소트요구시의 조합모듈(10106)의 처리의 상세한 내용에 대해서는, 도 46에서 설명하기로 한다. 인덱스 관리부(10109)는, 이 처리결과를 소트결과의 레코드식별자의 리스트(10157)로 한다.
단계 11307에서 설정이 끝난 인덱스를 이용하지 않는(다차원데이터를 작성하여 소트한다) 데이터베이스 처리절차의 경우에는, 데이터베이스 처리서버(10103)는 표데이터 기억장치(10105)로부터 모든 레코드를 취득하고, 이들을 다차원해석하여 소트처리한다(단계 11309). 이 처리에 대해서는 도 49에서 설명하기로 한다. 이 처리결과로서 조합순번으로 늘어선 레코드 식별자의 리스트(10157)를 작성한다.
단계 11308 또는 단계 11309의 처리가 종료되면, 데이터베이스 처리서버(10103)는 응용프로그램(10102)에 조회처리종료를 반신하고(단계 11310), 조회처리를 종료한다.
도 46은 본 실시예의 소트처리시의 조합모듈(10106)의 처리절차를 나타내는 순서도이다. 도 46에서는, 조합모듈(10106)이 인덱스 관리부(10109)로부터의 소트요구(10151)에 따라서 도 45의 단계 11308에서 기동되는 처리를 나타내고 있으며, 이 처리의 입력은 인덱스 식별자와 조합방법 식별자이다.
조합모듈(10106)은, 이용자의 소트요구(10151)에 지정된 조합방법 식별자를 바탕으로, 조합방법-조합키 대응데이터(10113)를 참조하여, 조합키식별자와 조합단계(10503)를 취득한다(단계 11401). 예를들어, 조합방법 식별자「대표읽기 조합방법」에 따라, 도 37의 레코드(10504)의 조합키식별자「제 1 표기문자 클래스」와 조합단계(10503)「1」등을 얻는다.
다음으로, 단계 11401에서 취득한 조합키식별자를 바탕으로, 조합키-차원대응데이터(10114)로부터 차원식별자를 취득한다. 예를들어, 단계 11401에서 취득한 조합키식별자「제 1 표기문자 클래스」에 대응하여 도 38의 레코드(10603) 등으로부터 차원식별자「제 1 표기문자 클래스」 등을 취득한다.
다음으로, 단계 11402에서 취득한 차원식별자와, 단계 11401에서 취득한 조합단계(10503)로부터 차원과 우선도의 쌍을 작성한다(단계 11403). 예를들어, 조합키식별자「제 1 표기문자 클래스」의 조합단계(10503)가 「1」인 것을 볼때, 차원식별자「제 1 표기문자 클래스」로 식별되는 차원의 우선도를 「1」로 한다.
다음으로, 단계 11401에서 취득하는 조합키에 대하여, 그 밖에 해당하는 조합키가 있는지의 여부를 판정한다(단계 11404). 그 밖에 해당하는 조합키가 있는 경우에는, 단계 11401로부터 단계 11404를 반복한다. 그 밖에 해당하는 조합키가 없는 경우에는 다음 단계 11405로 나아간다. 여기까지의 처리로, 차원식별자「제 1 표기문자 클래스」, 「대표읽기」, 「제 1 분절 표기열」, 「읽기열」및 「표기열」에 대하여 각각 우선도「1」, 「2」, 「3」, 「4」 및 「5」가 대응되어진다.
단계 11405에서는, 인덱스 관리부(10109)로부터 건네받은 인덱스식별자를 바탕으로, 인덱스-도메인 대응데이터(10112)를 참조하여 도메인식별자를 취득한다. 도 39의 레코드(10703)를 참조하여 도메인식별자「명부조합 도메인」을 얻는다.
다음으로, 단계 11403에서 작성한 차원식별자와 우선도의 쌍으로부터, 다차원데이터 해석요구를 할 때의 패러미터를 작성한다(단계 11406). 여기서, 처리결과가 레코드식별자의 리스트(10157)가 되도록 패러미터를 설정한다. 여기까지의 처리가 도 33의 조합-다차원데이터 해석변환(10154)에 상당한다.
다음으로, 다차원데이터 처리모듈(10107)에 다차원데이터해석을 요구한다(단계 11407). 이것은, 도 33의 다차원데이터 해석요구(10155)에 상당한다. 다차원데이터 처리모듈(10107)의 처리결과를 수취하면, 그 결과인 레코드식별자의 리스트(10157)를 인덱스 관리부(10109)에 건네주고(단계 11408), 이 처리를 종료한다. 이상에 의해 응용프로그램(10102)으로부터의 소트요구처리를 실현한다.
도 47은 본 실시예의 소트처리결과의 한 예를 나타내는 도이다. 다차원데이터 해석결과(10156-1)는, 대표읽기 조합방법에 의하여 소트한 결과를 나타내고 있다. 제 1 표기문자 클래스, 대표읽기, 제 1 분절표기열, 읽기열, 표기열의 각각의 차원을 이 순서에 우선하여, 각각의 값(조합키의 고트값)의 오름차순이 되도록 다차원데이터를 해석한 결과이다. 이것은, 대표읽기 조합방법의 각 조합단계(10503)에서의 조합키의 평가를 실시한 경우와 동등한 결과가 된다.
이 결과에서 레코드식별자의 리스트 rid2, rid3, rid1, rid5, rid4, rid7, rid6, rid8, rid9, . . .를 얻을 수 있다. 이것은, 대표읽기 조합방법에서 성명(10301) 및 읽는법(10302)의 열의 값을 소트한 경우의 레코드의 레코드식별자의 리스트(10157)가 된다.
마찬가지로, 다차원데이터 해석결과(10156-2)는, 읽기·표기조합방법에 의하여 소트한 결과를 나타내고, 다차원데이터 해석결과(10156-n)는 단순조합방법에 의하여 소트한 결과를 나타내고 있다. 이들 모두 각각의 조합방법으로 성명(10301) 및 읽는법(10302)의 열의 값을 소트한 경우의 레코드의 레코드식별자의 리스트(10157)를 얻을 수 있다.
도 48은 본 실시예의 다차원데이터를 작성하여 소트처리할 때의 다차원데이터의 한 예를 나타내는 도이다. 도 48에서는, 도 45의 단계 11309에 있어서, 레코드로부터 다차원데이터를 작성하여 소트처리를 수행할 때의 다차원데이터 기억장치(10108)에 보지하는 다차원데이터를 나타내고 있다.
도 45의 단계 11309에 있어서는, 일시작업용 다차원데이터 도메인(101601)에 데이터기억장치로부터 레코드에 대한 조합키의 코드값을 배치하고, 도 46에 나타낸 바와 같은 처리에 의하여 소트를 수행한다. 상세한 설명은 도 49에 나타낸다.
일시작업용 다차원데이터 도메인(11601)에는, 소트에 적용하는 조합방법의 조합키에 대응하는 제 1 표기문자 클래스(11602)∼표기열(11606)과, 레코드식별자에 대응하는 레코드식별자(11607)를 작성한다. 이것에, 도 43에 나타낸 바와 같은 코드값을 배치한다.
도 49는 본 실시예의 다차원데이터를 작성하는 소트처리의 처리절차를 나타내는 순서도이다. 도 49에서는, 도 45의 단계 11309에 있어서, 표데이터 기억장치(10105)로부터 레코드를 취득하여 다차원데이터를 작성하여 소트를 수행하는 처리의 순서도를 나타내고 있다.
우선, 데이터베이스 처리서버(10103)는, 조합모듈-조합방법 대응데이터(10802)를 참조하여, 소트요구(10151)로 지정된 조합방법에 대응하는 조합모듈 식별자를 취득한다(단계 11701). 예를들어, 대표읽기 조합방법에 대한 조합모듈 식별자 jisx4061을 얻는다.
다음으로, 조합방법-조합키 대응데이터(10113)를 참조하여, 소트요구(10151)로 지정된 조합방법의 조합키와 조합단계(10503)의 정보를 취득한다(단계 11702). 그리고, 조합키-차원대응데이터(10114)를 참조하여, 조합키로부터 차원식별자를 취득한다(단계 11703). 단계 11704에서는, 다차원데이터처리의 일시작업용 다차원데이터 도메인(11601)을 취득한다.
다음으로, 표데이터 기억장치(10105)로부터 소트대상인 레코드를 취득한다(단계 11705). 단계 11706에서는, 조합키의 값과 레코드식별자를 다차원데이터의 차원에 대응시킨다. 이용자로부터의 요구에 따라서, 레코드의 성명의 열의 값을 조합요소의 표기열의 값으로 하고, 읽는법의 열의 값을 조합요소의 읽기열의 값으로 한다. 이 값을 바탕으로, 조합모듈(10106)이 조합키의 값을 작성하여 다차원데이터해석에서의 차원에 대응시킨다.
다음으로, 조합모듈(10106)은, 일시작업용 다차원데이터 도메인(11601)에 단계 11706에서 작성한 조합키의 값을 등록한다(단계 11707)(도 42의 엔트리등록의 처리와 마찬가지로 처리를 수행한다). 이에 의해 도 48에 나타낸 다차원데이터를 작성한다.
다음으로, 데이터베이스 처리서버(10103)는, 단계 11705에서 취득한 레코드에 대하여, 그 밖에 해당하는 레코드가 있는지의 여부를 판정한다(단계 11708). 그 밖에 해당하는 레코드가 있는 경우에는, 단계 11705에서 단계 11708을 반복한다. 그 밖에 해당하는 레코드가 없는 경우에는, 다음 단계 11709로 나아간다. 여기까지의 처리에 의하여, 표데이터 기억장치(10105)의 소트대상이 되는 모든 레코드에 대하여, 일시작업용 다차원데이터 도메인(11601)에 조합키의 값의 다차원데이터를 등록한다.
단계 11709에서는, 조합모듈(10106)이 조합방법-조합키 대응데이터(10113)및 조합키-차원대응데이터(10114)를 참조하여, 차원식별자와 우선도를 쌍으로 한 다차원데이터해석의 패러미터를 작성한다. 예를들어, 대표읽기 조합방법에서는, 제 1 표기문자 클래스, 대표읽기, 제 1 분절표기열, 읽기열, 표기열의 각 차원을 이 순서대로 우선도를 붙여 패러미터를 작성한다.
다음으로, 조합모듈(10106)이 단계 11709에서 작성한 패러미터로 다차원데이터 해석요구를 수행하고, 다차원데이터 처리모듈(10107)이 이 요구에 따라 다차원데이터해석을 수행한다(단계 11710). 데이터베이스 처리서버(10103)는, 조합모듈(10106)의 처리결과를 수취하여, 다차원데이터해석의 처리결과를 소트결과로 하고(단계 11711), 이 처리를 종료한다.
이상에 의하여, 설정이 끝난 인덱스가 없는 경우라도, 조합키의 다차원데이터를 작성하여 다차원데이터해석을 함으로써 소트처리를 수행한다.
다음으로 본 실시예를 적용하여 조합방법을 변경한 경우의 소트처리를 수행하는 예를 설명하기로 한다.
도 50은 본 실시예의 변경한 조합방법정의의 한 예를 나타내는 도이다. 도 50에서는, 변경을 한 조합방법의 정의데이터를 나타내고 있으며, 이 예에서는, 상술한 JIS X 4061의 조합방법을 서포트하는 데이터베이스 시스템(10101)에 한자의 획수순에 따른 대표읽기 조합방법, 읽기·표기조합방법, 단순조합방법(각각 대표읽기 획수조합방법, 읽기·표기획수 조합방법, 단순획수 조합방법이라 부른다)을 추가한 경우의 정의 데이터를 나타내고 있다.
조합방법-조합키 대응데이터(10113)에 있어서, 레코드(11801∼11805)는, 「대표읽기 획수조합방법」의 조합키가 「제 1 표기문자 클래스」, 「대표읽기」, 「제 1 분절 표기열」, 「읽기열」 및 「표기열획수」이며, 각각 조합단계(10503)「1」, 「2」, 「3」, 「4」및 「5」로 평가하는 것을 나타내고 있다. 마찬가지로, 레코드(11806) 및 (11807)은 「읽기·표기획수 조합방법」의 조합키 및 조합단계(10503)를 나타내고, 레코드(11808)는 「단순획수 조합방법」의 조합키 및 조합단계(10503)를 나타내고 있다.
또한, 조합키-차원대응데이터(10114)에 있어서, 레코드(11809)는, 조합키「표기열획수」가 차원「표기열획수」에 대응하는 것을 나타내고 있으며, 조합모듈-조합방법 대응데이터(10802)에 있어서, 레코드(11810∼11812)는, 각각 대표읽기 획수조합방법, 읽기·표기획수 조합방법, 단순획수 조합방법이 조합모듈 jisx4061과 대응하는 것을 나타내고 있다.
이들의 정의데이터를 바탕으로, 도 42에서 설명한 다차원데이터 엔트리등록처리, 도 46에서 설명한 다차원데이터 해석처리를 수행함으로써, 상술한 소트처리가 이루어짐과 동시에, 한자의 획수순에 따른 읽기·표기조합방법에 의한 소트처리가 이루어진다. 단, 조합모듈(10106)에서 획수표기열을 코드화하는 기능을 추가할 필요가 있다.
도 51은 본 실시예의 변경한 조합방법정의에 의한 소트결과의 한 예를 나타내는 도이다. 도 51에서는, 도 50에 나타낸 정의데이터를 바탕으로 소트한 결과를 나타내고 있으며, 다차원데이터 해석결과(11901)는, 대표읽기 획수조합방법에 의하여 소트한 결과를 나타내며, 제 1 표기문자 클래스, 대표읽기, 제 1 분절 표기열,읽기열, 표기열 획수의 각각의 차원을 이 순서에 우선하여, 각각의 값(조합키의 코드값)의 오름차순이 되도록 다차원데이터해석을 한 결과이다. 이것은, 대표읽기 획수조합방법의 각 조합단계에서의 조합키의 평가를 실시한 경우와 마찬가지의 결과가 된다.
이 결과로, 레코드식별자의 리스트 rid2, rid3, rid1, rid4, rid5, rid7, rid6, rid8, rid9, . . .를 얻을 수 있다. 이것은, 대표읽기 획수조합방법으로 성명(10301) 및 읽는법(10302)의 열의 값을 소트한 경우의 레코드의 레코드식별자의 리스트(10157)가 된다.
마찬가지로, 다차원데이터 해석결과(11902)는, 읽기·표기획수 조합방법에 의하여 소트한 결과를 나타내며, 다차원데이터 해석결과(11903)는 단순획수 조합방법에 의하여 소트한 결과를 나타내고 있다. 이 모두 각각의 조합방법으로 성명(10301) 및 읽는법(10302)의 열의 값을 소트한 경우의 레코드의 레코드식별자의 리스트(10157)를 얻을 수 있다.
여기서, 다차원데이터 해석결과(11901∼11903)를 각각 도 47의 대표읽기 조합방법, 읽기·표기조합방법, 단순조합방법의 소트결과와 비교하면, 다차원데이터 해석결과(11901) 및 (11902)에 있어서는, 레코드식별자 rid4의 「角田 正史」와 레코드식별자 rid5의 「角田 雅志」의 레코드의 순번이 JIS X 4061에서의 한자의 순번과 획수순의 차이에 의하여 반대로 되어 있다. 또한, 다차원데이터 해석결과(11903)에 있어서는, JIS X 4061에서의 한자의 순번과 획수순의 차이에 의하여 순번이 크게 달라져 있다.
이와 같이, 본 실시예에 의하여 조합방법의 정의정보를 변경하는 것만으로, 하나의 다차원데이터군을 이용하여 용이하게 다른 소트기능을 서포트할 수 있다.
도 52는 본 실시예의 표기열, 읽기열의 순으로 평가하는 조합방법정의 및 소트결과의 한 예를 나타내는 도이다. 도 52에서는, 표기열, 읽기열의 순으로 평가하는 조합방법(표기·읽기조합방법이라 부른다)의 소트를 서포트한 예를 나타내고 있으며, 조합방법-조합키 대응데이터(10113)에 표기열, 읽기열의 순으로 평가하는 표기·읽기조합방법을 나타내는 데이터(12001) 및 (12002)를 보지하고 있다.
이 데이터를 바탕으로, 도 46에 나타낸 조합모듈(10106)에 의한 소트처리를 실시함으로써, 다차원데이터 해석결과(12003)를 얻는다. 표기·읽기조합방법에서 성명(10301) 및 읽는법(10302)의 열의 값을 소트한 경우의 레코드의 레코드식별자의 리스트(10157)를 얻을 수 있다.
이와 같이 본 실시예에 의하여, 조합방법의 정의정보를 변경하는 것만으로, 기존의 다차원데이터를 변경하는 일 없이 그대로 이용하여 용이하게 소트기능을 서포트할 수 있다.
도 53은 종래의 데이터베이스에서의 시스템운용의 개념을 나타내는 도이다. 종래의 기술을 적용한 데이터베이스 시스템(12101)에서는, 하나의 인덱스가 복수의 조합방법에 대응할 수 없기 때문에 조합방법마다 인덱스를 작성한다.
표데이터 기억장치(12102)에 보지하는 표(12103)의 인덱스키의 열(12104)에 대하여 인덱스를 설정한다. 데이터베이스 처리서버(12105)에 대하여, 각각의 조합방법에 따라 인덱스 격납영역 확보조작(12106)을 수행하고, 인덱스데이터기억장치(12107)를 확보한다. 그리고, 인덱스정의조작(12108)을 수행하여 정의데이터 기억장치(12109)에 인덱스정의정보(12110)를 보지한다.
도 54는 본 실시예의 데이터베이스에서의 시스템운용의 개념을 나타내는 도이다. 본 실시예를 적용한 데이터베이스 시스템(10101)에서는, 하나의 다차원데이터군으로 복수의 조합방법에 대응하기 때문에, 하나의 다차원데이터 도메인(10116)을 작성하고 있다.
데이터베이스 처리서버(10103)에 대하여, 다차원데이터 도메인 확보조작(12201)을 수행하여, 다차원데이터 기억장치(10108)에 다차원데이터 도메인(10116)을 확보한다. 그리고, 인덱스 정의조작(12202)을 수행하여 정의데이터 기억장치(10104)에 인덱스 정의정보(10110)를 보지한다.
복수의 조합방법에 의한 소트를 서포트하는 경우, 종래의 기술을 적용한 시스템에서는 각각의 조합방법에 대하여 복수회의 운용조작이 필요하였던 것에 반해, 본 실시예를 적용한 시스템에서는 운용조작이 1회로 충분하다. 따라서, 복수의 조합방법을 서포트하는 시스템의 운용조작비용을 삭감할 수 있다.
도 55는 종래의 인덱스데이터의 개념을 나타내는 도이다. 도 53에 나타낸 데이터베이스 시스템(12101)에 있어서, 복수의 조합방법의 소트에 각각 대응하는 인덱스데이터 기억장치(12107)에 보지하는 인덱스데이터(12301)는, 키의 값(12302)을 포함하고 있다. 여기서, 키의 값은 각각의 인덱스데이터 내에 동일한 내용을 중복하여 보지하게 된다.
도 56은, 본 실시예의 다차원데이터의 개념을 나타내는 도이다. 데이터베이스 시스템(10101)에 있어서, 복수의 조합방법의 소트에 대응하는 다차원데이터 기억장치(10108)에 보지하는 다차원데이터 도메인(10116)은, 다차원데이터 엔트리(12401)를 포함하고 있다.
복수의 조합방법에 의한 소트를 서포트하는 경우, 종래의 기술을 적용한 시스템에서는 각각의 조합방법에 대한 인덱스에 키의 값을 보지할 필요가 있었던 것에 반하여, 본 실시예를 적용한 시스템에서는, 다차원데이터 도메인(10116)에 다차원데이터 엔트리를 하나만 보지하는 것으로 충분하다. 따라서, 복수의 조합방법을 서포트하는 시스템의 리소스를 삭감할 수 있다.
또한, 상술한 순서도의 처리는, 도 34에 나타낸 바와 같은 일반적인 데이터처리장치(10201)에서 프로그램을 실행함으로써 실현할 수 있다. 또한, 그 프로그램은, 하드디스크장치, 플로피디스크 등의 컴퓨터로 판독 및 기록이 가능한 기록매체에 격납할 수 있으며, 네트워크를 통하여 프로그램에 접속할 수 있다.
상기와 같이 본 실시예에 의하면, 복수의 조합방법에 따른 소트를 서포트할 때, 다차원데이터를 복수의 조합방법에 대하여 공유하고, 그 다차원데이터 중의 조합키를 이용하여 복수의 조합방법의 소트처리를 수행하기 때문에, 각각의 조합방법에서의 소트처리의 고속화, 다차원데이터 이용효율의 향상(리소스 삭감) 및 운용조작비용의 삭감을 이룰 수 있게 된다.
또한, 조합방법의 정의정보를 참조하여 그 조합방법에서 이용되는 조합키의 정의 정보를 추가·변경하는 것만으로 조합방법의 추가·변경에 대응할 수 있기 때문에, 다차원데이터의 이용효율의 향상(리소스 삭감) 및 운용조작의 용이화를 이룰수 있게 된다.
또한, 본 실시예에서는, 명부인 표(10115)에 대하여, 성명(10301)과 읽는법(10302)의 쌍을 키로 하여 대표읽기 조합방법을 바탕으로 소트하는 처리에 대하여 설명하였는데, 조합방법으로서 다른 언어를 처리하는 조합방법을 이용함으로써, 다종언어대응의 소트처리를 수행할 수 있게 된다.
이상 설명한 바와 같이 본 실시예의 조합처리장치에 따르면, 열의 값에 대응하는 조합키를 나타내는 다차원데이터를 복수의 조합방법에서 공유하고, 다차원데이터 중의 조합키를 이용하여 서로다른 복수의 조합방법에 의한 소트처리를 수행하기 때문에, 복수의 조합방법에 의한 소트처리의 고속화 및 다차원데이터의 이용효율의 향상을 수행할 수 있게 된다.
실시예 201
이하에 문자열을 포함하는 임의의 요소로 구성되는 데이터의 축적 및 출력을 수행하는 실시예 201의 데이터처리장치에 대하여 설명하기로 한다.
도 58은 본 실시예의 소트처리의 처리개요를 나타내는 도이다. 도 58에 나타낸 바와 같이 본 실시예의 데이터처리장치는, 소트처리부(20100)와, 처리메뉴 표시부(20101)와, 룰 정의부(20102)와, 배열변경 처리등록부(20103)와, 배열변경 실행부(20104)를 가지고 있다.
소트처리부(20100)는, 배열변경 처리전체를 제어하는 처리부이다. 처리메뉴 표시부(20101)는, 배열변경의 처리메뉴를 표시하는 처리부이다. 룰 정의부(20102)는, 배열변경에서 참조되는 열 중의 배열변경의 대상과 배열변경의 순번을 나타내는 배열변경의 룰을 정의하는 처리부이다.
배열변경 처리등록부(20103)는, 배열변경에서 참조되는 열과 당해 참조열의 배열변경에서 사용하는 룰을 나타내는 배열변경처리를 지정하는 처리부이다. 배열변경 실행부(20104)는, 상기 지정된 배열변경처리의 내용에 따라 배열변경을 실행하는 처리부이다.
데이터처리장치를 소트처리부(20100), 처리메뉴 표시부(20101), 룰 정의부(20102), 배열변경 처리등록부(20103) 및 배열변경 실행부(20104)로서 기능시키기 위한 프로그램은, CD-ROM 등의 기록매체에 기록되어 자기디스크 등에 격납된 후, 메모리에 로드되어 실행되는 것으로 한다. 또한, 상기 프로그램을 기록하는 기록매체는 CD-ROM 이외의 다른 기록매체로 할 수도 있다.
소트처리부(20100)는, 처리메뉴 표시부(20101)가 룰 정의요구(20120), 배열변경 처리등록요구(20130), 배열변경요구(20140)를 처리요구(20150)로서 접수하면, 각각 룰 정의부(20102), 배열변경 처리등록부(20103), 배열변경 실행부(20104)에서 처리를 수행한다.
룰 정의요구(20120)를 할 때에는 룰 명(20121), 배열변경 룰(20122)이 지정되며, 배열변경 처리등록요구(20130)일 때에는 배열변경 처리명(20131), 배열변경 룰명(20132), 대상열명(20133)이 지정되며, 배열변경요구(20140)일 때에는 배열변경이 이루어지는 표(20141)와 배열변경을 수행하는 룰명(20142), 대상열명(20143) 또는 배열변경 처리명(20144)을 지정한다.
룰 정의 요구(20120), 배열변경 처리등록요구(20130)를 수취하면, 지정된 정보를 디스크장치(20110) 내의 배열변경 등록데이터(20111)에 룰 정보(20112), 배열변경 처리정보(20113)에 각각 격납한다.
도 59는 본 실시예의 데이터처리장치의 개략구성을 나타내는 도이다. 데이터처리장치(20200)는, CPU(20211), 메모리(20213), I/O제어장치(20212)를 구비하고 있다. 메모리(20213)에 격납된 소트처리부(20100)를 CPU(20211)가 실행함으로써 소트처리가 이루어지며, I/O제어장치(20212)에 의하여 디스크장치(20110)로부터의 데이터의 판독 및 기록, 모니터(20220)에 대한 정보의 표시, 키보드(20221), 마우스(20222)로부터의 정보입력처리가 이루어진다.
배열변경을 수행하기 위한 표데이터(20231)는 디스크장치(20110) 내에 격납되고, 배열변경이 실행된 후의 소트결과표(20232)도 디스크장치(20110) 내에 격납된다. 소트처리부(20100)는 모니터(20220)에 메뉴를 표시하고, 키보드(20221), 마우스(20222)에 의한 조작으로 정보를 수취한다.
도 60은 본 실시예의 표(20141)의 구성예를 나타내는 도이다. 표(20141)는 열명(列名)부(20310)와 데이터부(20320)로 구성되며, 표(20141)의 제일 처음의 행이 열명부(20310), 그 이후가 데이터부(20320)로 된다. 표(20141)는 하나 이상의 열(20330) 및 (20340)로 구성되어 각각의 열에 대하여 열명, 데이터가 격납된다. 도의 예에서는, 열명으로서「성명」및 「읽는법」이 등록되며, 성명열의 열데이터로서 「鈴-木-一-郞」, 「山-田-太-郞」, 읽는법열의 열데이터로서 「스즈-키-이치-로우」, 「야마-다-타-로우」가 격납되어 있다.
도 61은 본 실시예의 처리메뉴 표시부(20101)의 처리절차를 나타내는 순서도이다. 소트처리부(20100)를 기동하면 도 61의 순서의 처리메뉴 표시부(20101)가 실행된다. 이하 도 61을 이용하여 처리메뉴 표시부에 대하여 설명하기로 한다.
처리메뉴 표시부(20101)는, 룰 정의, 배열변경 처리등록, 배열변경요구의 어느 것을 실행할지를 선택하기 위한 메뉴를 표시한다(단계 20410).
이용자로부터 룰 정의가 선택되면(단계 20420) 룰 정의부(20102)를 실행하여 룰 정의처리를 수행한다(단계 20421).
배열변경 처리등록이 선택되면(단계 20430) 배열변경 처리등록부(20103)를 실행하여 배열변경 처리등록을 수행한다(단계 20431). 배열변경실행이 선택되면(단계 20440) 배열변경 실행부(20104)를 실행하여 배열변경실행을 수행한다(단계 20441).
도 62는 본 실시예의 룰 정의부(20102)의 처리절차를 나타내는 순서도이다. 처리메뉴표시로부터 룰 정의가 선택되면, 룰 등록을 수행하기 위한 메뉴를 표시하여 이용자가 항목의 설정을 수행한다(단계 20510).
도 63은 본 실시예의 룰 정의메뉴의 한 예를 나타내는 도이다. 메뉴 내의 각 항목은 등록할 룰의 명칭을 입력하는 룰 명(20600), 배열변경을 수행할 때에 참조하는 열에 관한 정보설정부(20602), 배열변경을 위한 데이터설정부(20650)를 나타내고 있다.
룰 명(20600)에는 지금부터 등록하는 룰의 명칭을 설정한다. 배열변경을 수행할 때에 참조하는 열에 관한 정보설정부(20602)에는, 열참조시에 전문자열을 대상으로 하는가, n문자를 대상으로 하는가, 단락문자까지를 대상으로 하는 가를 선택하기 위한 스위치(20611∼20613), n문자를 대상으로 할 경우의 문자길이(20614), 단락문자까지를 대상으로 할 경우의 단락문자(20615), 배열변경을 오름차순 또는 내림차순으로 수행할 것을 지정하기 위한 스위치(20616) 및 (20617), 배열변경의 평가대상으로 하지 않는 대상제외문자(20618)를 설정한다.
n문자열 또는 단락문자열이 선택되어 평가실행 시에 동일한 순위가 된 경우에 다음 문절(n문자의 경우에는 다음의 n문자, 단락문자인 경우에는 다음단락의 문자가 출현할 때까지의 문자)에서 재평가를 실시하는 지정인 경우, 다음 문절평가(20619)를 체크한다.
열(20620) 이후의 정보설정부(20602)는, 동시에 복수열의 문자에 대하여 배열변경평가를 수행할 경우, 참조하는 열수 분과 마찬가지로 정보를 설정하기 위한 것이다.
배열변경을 위한 데이터설정부(20650)에는, 고정적으로 앞에 나열하는 항목인 전방배치문자(20630), 고정적으로 뒤에 나열하는 항목인 후방배치문자(20640)를 설정한다.
고정적으로 앞에 나열하는 항목은, 오름차순 또는 내림차순에 관계없이 배열변경의 선두에 놓고자 하는 문자가 있는 경우, 나열하고자 하는 순번으로 문자를 등록하는 것이며, 대상이 되는 문자열이 격납된 열의 입력란에 문자를 설정한다.
예를들어, 명부를 이름순으로 배열변경할 경우에, 어느 특정한 이름의 사람을 맨 앞에 나열하고, 그 밖의 사람에 대해서 읽는법 순으로 배열변경하는 경우, 열 1(20610)에 이름을 할당하고, 전방배치문자(20630)의 열 1(20631)의입력란(20634) 이후에 앞에 나열하고자 하는 이름을 입력함으로써, 입력한 이름을 배열변경결과의 전방에 위치시킬 수 있다. 마찬가지로, 고정적으로 뒤에 나열할 항목은 오름차순 또는 내림차순에 관계없이 배열변경의 마지막에 놓고자 하는 문자가 있는 경우, 나열하고자 하는 순서대로 문자를 등록한다.
열 1, 열 2, 열 3으로 설정항목이 있는 것은 상기열에 관한 정보설정부(20602)에 설정한 열정보의 어디에 대응하는가를 나타내기 위함이며, 전방, 후방배치를 수행하는 열에 대응하는 란에 정보의 설정을 수행한다. 복수의 열의 조합을 지정시키는 경우, 조합시키고자 하는 각각의 열에 대응하는 란에 정보를 설정한다.
전항목의 설정 후, OK버튼(20603)에 의하여 룰 설정완료가 통지되어 메뉴에 설정된 정의정보를 수취하고(단계 20520), 디스크장치(20110) 내의 배열변경 등록데이터(20111)의 룰 정보(20112)에 격납한다(단계 20530).
도 64는 본 실시예의 룰 정보의 상세한 사항을 나타내는 도이다. 룰 정의메뉴에 설정된 정보를 룰 명(20800), 열수(20801), 각 열의 대상문자(20802), 각 열의 소트순 지정(20803), 각 열의 대상제외문자(20804), 전방고정데이터의 유무(20810)와 데이터(20811), 후방고정데이터의 유무(20820)와 데이터(20821)로서 등록한다.
도 65는 본 실시예의 배열변경 처리등록부(20103)의 처리절차를 나타내는 순서도이다. 다음으로 배열변경의 처리등록에 대하여 도 65를 이용하여 설명하기로 한다. 처리메뉴표시로부터 배열변경 처리등록이 선택되어지면, 배열변경 처리등록을 수행하기 위한 메뉴를 표시하고, 이용자가 항목의 설정을 실시한다(단계 20910).
도 66은, 본 실시예의 배열변경 처리등록메뉴의 한 예를 나타내는 도이다. 메뉴내의 각 항목은, 등록할 배열변경처리명(21000), 배열변경을 적용하는 룰 명(21011)과 룰에 지정된 열(21012∼21015)에 대응하는 열명(21016∼21019)을 지정한다. 배열변경결과가 동일한 순위인 경우의 처리를 추가하는 경우, 제 2 조건(21020), 제 3 조건(21030)에 마찬가지로 배열변경을 적용하는 룰 명(21021) 및 룰 명(21031)과 룰에 지정된 열(21022∼21025), 열(21032∼21035)에 대응하는 열명(21026∼21029), 열명(21036∼21039)을 지정한다.
항목설정 후, OK버튼(21003)에 의하여 입력완료가 통지되어 메뉴에 설정된 정보를 수취하고(단계 20920), 디스크장치(20110) 내의 배열변경 등록데이터(20111)의 배열변경 처리정보(20113)에 격납한다(단계 20930).
도 67은 본 실시예의 배열변경 처리정보(20113)의 상세한 사항을 나타내는 도이다. 배열변경 처리정보에 설정된 정보를, 배열변경처리명(21100), 조건수(21101), 조건마다의 룰 명(21102), 조건내의 룰에 대응한 열명(21103)으로서 등록한다. 룰 명은 조건수만큼 등록되고 대응열명은 룰에 정의된 열수만큼 등록된다.
도 68은, 본 실시예의 배열변경 실행부(20104)의 처리절차를 나타내는 순서도이다. 도 69는 본 실시예의 배열변경 실행처리의 계속을 나타내는 도이다. 다음으로 배열변경 실행처리에 대하여 도 68 및 도 69를 이용하여 설명하기로 한다. 처리메뉴표시로부터 배열변경실행이 선택되면, 배열변경실행을 수행하기 위한 메뉴를 표시하고, 이용자가 항목의 설정을 수행한다(단계 21201).
도 70은 본 실시예의 배열변경 처리실행메뉴의 한 예를 나타내는 도이다. 메뉴 내의 각 항목은, 배열변경의 대상이 되는 데이터가 격납된 파일의 명칭이 입력되는 배열변경 파일명(21300), 배열변경 실행결과가 격납되는 파일의 명칭이 입력되는 결과격납 파일명(21301), 배열변경처리의 내용이 입력되는 배열변경 처리지정란(21302), 등록이 끝난 배열변경처리의 명칭이 입력되는 배열변경 처리명(21305)을 나타내고 있다.
배열변경처리의 지정은 룰 명과 열명을 배열변경 처리지정란(21302)에 지정하는 방법과, 배열변경처리의 명칭을 배열변경 처리명(21305)에 지정하는 방법이 선택가능한데, 룰과 열명을 지정하는 경우, 배열변경을 수행하는 룰 명(21311)과 룰에 지정된 열(21312∼21315)에 대응하는 열 명(21316∼21319)을 지정한다.
배열변경결과가 동일한 순위인 경우의 처리를 추가할 경우, 제 2 조건(21320) 및 제 3 조건(21330) 이후에, 배열변경 룰 명(21321) 및 룰 명(21331), 룰에 지정된 열(21322∼21325) 및 열(21332∼21335)에 대응하는 열 명(21326∼21329) 및 열 명(21336∼21339)을 지정한다.
배열변경처리의 명칭을 지정하는 경우, 배열변경 처리등록으로 등록한 배열변경처리의 명칭을 배열변경 처리명(21305)에 지정한다. 항목설정 후, OK버튼(21030)에 의하여 완료가 통지되면, 설정된 실행용 정보를 수취하고(단계 21202), 실제의 배열변경처리를 실행한다. 배열변경 실행용메뉴에 지정된 배열변경이 실행되는 파일을 디스크장치로부터 판독하여(단계 21203), 룰과 열 명이 지정되어 있는지, 배열변경처리가 지정되어 있는지를 체크한다(단계 21204).
룰과 열 명이 지정되어 있는 경우, 지정되어 있는 룰에 대응하는 배열변경 등록데이터(20111)의 룰 정보(20112)를 출력하고(단계 21206), 출력한 정보에 따라 열의 평가를 수행한다.
대상문자가 전문자열(단계 21207), n문자(단계 21208), 단락문자까지(단계 21210)가 지정되어 있는지를 체크하여, 전문자열이 대상인 경우에는 전문자열을 배열변경 대상으로 하고(단계 21214), n문자가 지정되어 있는 경우에는 지정된 문자수의 문자열을 배열변경 대상으로 하고(단계 21209), 단락문자가 지정된 경우에는 지정된 단락문자를 문자열 내로부터 서치하여(단계 21211), 단락문자가 있는가를 체크하여(단계 21212) 단락문자가 있는 경우에는 단락문자의 앞까지의 문자열을 배열변경의 대상으로 하고(단계 21213), 단락문자가 없는 경우에는 전문자열을 배열변경의 대상으로 한다(단계 21214).
다음으로, 전방배치항목이 지정되어 있는지를 체크하여(단계 21215), 지정되어 있는 경우에는 등록된 문자열과 배열변경대상의 문자열을 참조하여, 등록된 문자열이 있는 경우에는 배열변경결과의 앞에 위치시킨다(단계 21216).
다음으로, 후방배치항목이 지정되어 있는지를 체크하여(단계 21217), 지정되어 있는 경우에는 등록된 문자열과 배열변경대상의 문자열을 참조하고, 등록된 문자열이 있는 경우에는 배열변경결과의 뒤에 위치시킨다(단계 21218).
다음으로, 전방, 후방에 위치되지 못한 나머지 문자열에 대하여, 오름차순또는 내림차순 지정을 체크하고(단계 21219), 오름차순으로 지정되어 있는 경우 오름차순으로 배열변경을 수행하고(단계 21220), 내림차순으로 지정되어 있는 경우에는 내림차순으로 배열변경을 수행한다(단계 21221).
지정된 열에 대한 룰로 평가결과가 동일 순위로 되고(단계 21222), 다음의 문절평가실행이 지정되어 있는 경우(단계 21223), 다음 문절의 문자에 관하여 단계 21208 이후의 처리를 반복한다. 다음의 문절평가실행의 지정이 되어있지 않고, 다음의 열에 대한 조건이 지정되어 있는 경우(단계 21224), 동일순위가 된 문자열에 대하여 다음의 조건의 실행을 수행하기 위하여 룰 정보를 출력하고, 단계 21206 이후의 처리를 실행한다. 모든 배열변경처리의 실행이 종료된 후, 배열변경 실행결과를 지정된 파일에 출력하고(단계 21225) 처리를 종료한다.
배열변경처리가 지정되어 있던 경우에는, 지정되어 있는 배열변경 처리명에 대응하는 배열변경 처리정보(20113)를 출력하고(단계 21205), 처리정보에 지정된 룰 명, 열명을 참조하여, 이하의 룰과 열명이 지정되어 있는 경우와 마찬가지의 처리를 실행한다.
룰에 대응하는 배열변경 등록데이터(20111)의 룰 정보(20112)를 출력하고(단계 21206), 출력한 정보에 따라 열의 평가를 수행한다. 대상문자가 전문자열(단계 21207), n문자(단계 21208), 단락문자까지(단계 21210)가 지정되어 있는지를 체크하고, 전문자열이 대상인 경우에는 전문자열을 배열변경대상으로 하고(단계 21214), n문자가 지정되어 있는 경우에는 지정된 문자수의 문자열을 배열변경대상으로 하고(단계 21209), 단락문자가 지정된 경우에는 지정된 단락문자를 문자열 내로부터 서치하고(단계 21211), 단락문자가 있는지를 체크하여(단계 21212), 단락문자가 있는 경우에는 단락문자의 앞까지의 문자열을 배열변경의 대상으로 하고(단계 21213), 단락문자가 없는 경우에는 전문자열을 배열변경의 대상으로 한다(단계 21214).
다음으로, 전방배치항목이 지정되어 있는지를 체크하여(단계 21215), 지정되어 있는 경우에는 등록된 문자열과 배열변경대상의 문자열을 참조하고, 등록된 문자열이 있는 경우에는 배열변경결과의 앞에 위치시킨다(단계 21216).
다음으로, 후방배치항목이 지정되어 있는지를 체크하여(단계 21217), 지정되어 있는 경우에는 등록된 문자열과 배열변경대상의 문자열을 참조하고, 등록된 문자열이 있는 경우에는 배열변경결과의 위에 위치시킨다(단계 21218).
다음으로, 전방, 후방에 위치되지 못한 나머지 문자열에 대하여, 오름차순 또는 내림차순의 지정을 체크하고(단계 21219), 오름차순으로 지정되어 있는 경우에는 배열변경을 수행하고(단계 21220), 내림차순으로 지정되어 있는 경우에는 내림차순으로 배열변경을 수행한다(단계 21221).
지정된 열에 대한 룰로 평가결과가 동일 순위가 되고(단계 21222), 다음의 문절평가실행이 지정되어 있는 경우(단계 21223)에는 다음의 문절의 문자에 관하여 단계 21208 이후의 처리를 반복한다. 다음의 문절평가실행이 지정되어 있지 않고 다음의 열에 대한 조건이 지정되어 있는 경우(단계 21224)에는, 동일순위로 된 문자열에 대하여 다음의 조건의 실행을 수행하기 위하여 룰 정보를 출력하고, 단계 21206 이후의 처리를 실행한다. 모든 배열변경처리의 실행이 종료된 후, 배열변경실행결과를 지정된 파일에 출력하고(단계 21225) 처리를 종료한다.
본 소트처리부(20100)를 도 60의 명부데이터의 읽는법을 50음 순으로 배열변경하는 경우에 대하여 적용한다. 우선, 50음 순으로 배열변경을 수행하기 위한 룰 정의를 수행한다.
도 71은 본 실시예의 배열변경 처리등록메뉴의 지정예를 나타내는 도이다. 도 71과 같이 룰 명(20600)을 50음 순(21401)으로, 열 1(20610)에 대상문자열을 n문자에 체크하고(21410), 문자수를 「1」(21411)로 한다.
대상제외문자에 「-」(21412)를 지정하고, 다음문절의 재평가도 지정한다(21413). 전방배치문자(20630)의 입력항목(20631)의 열 1에, 「아」(21420), 「이」(21421), 「우」(21422), …「오」(21423), 「응」(21424)을 등록한다.
도 72는 본 실시예의 배열변경 처리실행메뉴의 지정예를 나타내는 도이다. 배열변경의 실행은, 도 72와 같이 실행메뉴에서 배열변경 실행파일명에 명부데이터(21510), 실행결과 파일명에 명부데이터 배열변경 실행결과(21511), 제 1 조건(21310)의 룰 명(21311)에 등록한 룰 명「50음 순」(21520)을 지정하고, 열 1(21312)에 열명 읽는법(21521)을 지정함으로써, 읽는법열의 -를 생략한 문자열을 1문자씩 「아」「이」「우」…의 순번으로 배열변경할 수 있다.
도 60의 명부데이터에는 읽는법의 열이 존재하는데, 읽는법의 열이 존재하지 않는 경우에도, 이름열에 대하여 한자의 이름을 읽기의 순번으로 등록한 룰을 등록함으로써, 읽는법의 열을 필요로 하지 않고도 이름의 읽기순으로 배열변경할 수 있다.
마찬가지로, 도 60의 명부데이터를 JIS X4061-1996에 제정된 조합방법의 기본대표읽기조합에 의한 배열변경에 적용한다. 기본대표읽기조합은 이하의 5개의 절차에 의해 평가한다.
(1) 표기열의 맨 앞문자를 문자클래스의 순번에 따라 평가한다. 문자클래스는 이하와 같이 분류된다.
1. 스페이스
2. 기술기호
3. 괄호기호
4. 학술기호
5. 일반기호
6. 단위기호
7. 아라비아숫자
8. 로마자기호
9. 라틴알파벳
10. 가나
11. 한자
12. = 기호
(2) 그 문절의 표기열, 읽기열로부터 대표읽기를 결정하고, 그 대표읽기를 조합키로 하여 평가한다. 제 2 문절 이후에 대해서도 평가하기로 한다.
(3) 그 문절의 표기열을 조합키로서 평가한다.
(4) 읽기열을 조합키로서 평가한다.
(5) 표기열을 조합키로서 평가한다.
도 73은 본 실시예의 기본대표읽기조합을 수행하는 배열변경 룰의 정보설정부의 설정예를 나타내는 도이다. 우선, 룰 정의에서 도 73에 나타낸 바와 같이 (1)을 평가하기 위하여 열 1, (2) 및 (3)을 평가하기 위하여 열 2 및 열 3, (4) 및 (5)를 평가히기 위하여 각각 열 4 및 열 5를 할당한다. 열 1은 맨 앞문자를 문자클래스의 순번대로 나열하기 때문에, 대상문자열을 n문자에 체크하고(21611), 문자수를 「1」로 한다(21612). 문자클래스의 순번을 전방배치문자, 후방배치문자의 열 1에 대응하는 란에 등록한다.
도 74는 본 실시예의 기본대표읽기조합을 수행하는 배열변경 룰의 데이터설정부의 설정예를 나타내는 도이다. 도 74에 나타낸 대로, 스페이스(21701), 기술기호(21702, 21703), 괄호기호(21704, 21705), 학술기호(21706), 일반기호(21707)의 순번으로 등록하고, 순번에서 제일 마지막이 되는 「= 기호」를 후방배치문자(20640) 쪽에 등록한다(21731).
다음으로, 열 2 및 열 3에서 표기열 및 읽기열의 문절을 출력하기 위하여, 대상문자열의 단락문자를 체크하고(21621, 21631), 단락문자에 「-」를 정의한다(21622, 21632). (2)의 대표읽기를 조합키로 하여 수행하는 평가와 (3)의 표기열을 조합키로 하여 수행하는 평가결과의 순으로 전방배치문자(20630), 후방배치문자(20640)의 열 2 및 열 3의 대응하는 란에 문자의 조합을 등록한다.
도 74의 예에서 나타낸 바와 같이, 열 2와 열 3의 문자의 조합에서 「아」또는 「안」으로 읽는 「安」(21711)은, 「아」또는 「아시」로 읽는 「足」(21712)보다 순위가 높으며, 이하 마찬가지로 安(아, 안)<足(아, 아시)<角(카쿠, 카도)<足(소쿠)<角(쯔노)<安(야스, 야스라까) 와 같이 설정한다(21711∼21716).
마지막으로, 열 4 및 열 5는 읽기열 또는 표기열을 조합키로서 평가하는 것 뿐이므로, 각각 대상문자열을 전문자열에 체크하고(21641, 21651), 「-」를 제외하여(21643, 21653) 오름차순 배열변경을 지정한다(21642, 21652).
도 75는 본 실시예의 배열변경 처리등록메뉴의 설정예를 나타내는 도이다. 배열변경의 실행은, 도 75에 나타낸 바와 같이 실행메뉴에서 제 1 조건(21310)의 룰 명에 등록한 룰 명을 지정하고(21820), 열 1의 열명에 성명(21821), 열 2의 열 명에 성명(21822), 열 3의 열 명에 읽는법(21823), 열 4의 열 명에 읽는법(21824), 열 5의 열 명에 성명(21825)을 지정함으로써, 상기에 나타낸 기본대표읽기조합에 의한 배열변경을 실행할 수 있다. 이상에 의하여 이용자지정의 배열변경처리의 등록, 실행을 실현할 수 있다.
이상 설명한 바와 같이 본 실시예의 데이터처리장치에 의하면, 배열변경을 실행하기 위한 룰을 미리 등록해 두고, 지정된 룰에 의하여 배열변경을 실행하기 때문에, 이용자 독자적인 데이터의 배열변경을 실행할 수 있다.
실시예 202
이하에 문자열을 포함하는 임의의 요소로 구성되는 데이터의 축적 및 출력을 데이터베이스에서 수행하고, 배열변경의 실행결과를 나타내는 인덱스를 작성하는실시예 202의 데이터처리장치에 대하여 설명하기로 한다.
도 76은 본 실시예의 데이터처리장치(22000)의 시스템구성도를 나타내는 도이다. 정보처리장치(22030)에서 DB접속어플리케이션(22031), 데이터처리장치 (22000)에서 DBMS(22003)가 가동하고 있으며, 이들 데이터처리장치(22000) 및 정보처리장치(22030)는 네트워크(22060)에 접속되어 서로 통신을 수행할 수 있다.
DB접속어플리케이션(22031)은, 네트워크(22060)를 매개로 데이터처리장치(22000) 상의 DBMS(22003)에 조회실행요구를 수행한다. DBMS(22003)는, 조회요구를 접수하면 데이터처리장치(22000)에 접속된 디스크장치(22010)에 격납하고 있는 DB데이터(22011)를 접속함으로써 조회요구에 대응한 처리를 실행한다.
도 77은, 본 실시예의 데이터처리장치(22000) 및 정보처리장치(22030)의 개략구성을 나타내는 도이다. 도 77에 나타낸 바와 같이 데이터처리장치(22000)는, CPU(2213), 메모리(2214), I/O제어장치(2212), 통신제어장치(2211)에 의하여 구성된다. 메모리(2214)에 격납된 DBMS(22003)의 프로그램을 CPU(2213)가 실행함으로써 DBMS(22003)의 처리가 수행되고, I/O제어장치(2212)에 의하여 디스크장치(2210)로부터 데이터의 출력, 기록을 수행하고, 통신제어장치(2211)에 의하여 네트워크(22060)에서 접속된 다른 정보처리장치(22030)와 데이터의 송수신을 수행한다.
정보처리장치(22030)도 마찬가지 구성으로, 메모리(2202)에 DB접속어플리케이션(22031)이 격납되어 실행되어 있다. DB접속어플리케이션(22031)이 DBMS(22003)에 조회실행을 수행하면, 정보처리장치(22030)의 통신제어장치(2203)로부터 데이터처리장치(22000)의 통신제어장치(2211)에 요구가 송신되어, DBMS(22003)에 조회가 보내진다. DBMS(22003)는 요구에 따른 처리의 실행을 수행하고, DB데이터(22011)에 대한 접속이 필요한 경우, I/O제어장치(2212)로부터 디스크장치(2210)에 격납된 DB데이터(22011)에 대한 접속을 수행한다. 처리결과를 통신제어장치(2211)로부터 정보처리장치(22030)의 통신제어장치(2203)에 전송하고, 요구처 DB접속어플리케이션 (22031)에 되돌려보낸다.
도 78은 본 실시예의 DBMS(22003)의 처리개요를 나타내는 도이다. 도 78에 나타낸 바와 같이 본 실시예의 데이터처리장치(22000)는, 표정의부(22101)와, 삽입부(22102)와, 검색부(22103)와, 룰 정의부(22104)와, 배열변경 처리등록부(22105)와, 처리요구 접수부(22106)를 가지고 있다.
표정의부(22101)는, 데이터베이스의 표를 정의하는 처리부이다. 삽입부(22102)는, 데이터베이스에 데이터를 삽입하고, 배열변경의 실행결과를 나타내기 위한 인덱스를 갱신하는 처리부이다. 검색부(22103)는, 데이터베이스의 검색결과를 배열변경하는 처리부이며, 지정된 배열변경처리의 내용에 따라서 배열변경을 실행하는 배열변경 실행부의 처리를 수행하는 처리부이다.
룰 정의부(22104)는, 배열변경에서 참조되는 열 중의 배열변경의 대상과 배열변경의 순번을 나타내는 배열변경의 룰을 정의하는 처리부이다. 배열변경 처리등록부(22105)는, 배열변경에서 참조되는 열과 당해 참조열의 배열변경에서 사용하는 룰을 나타내는 배열변경처리를 지정하고, 배열변경의 대상이 되는 데이터에 대하여, 배열변경의 실행결과를 나타내기 위한 인덱스를 작성하는 처리부이다. 처리요구 접수부(22106)는, 데이터베이스에 대한 처리요구(22110)를 접수하는 처리부이다.
데이터처리장치(22000)를 표정의부(22101), 삽입부(22102), 검색부(22103), 룰 정의부(22104), 배열변경 처리등록부(22105) 및 처리요구 접수부(22106)로 구성시키기 위한 프로그램은, CD-ROM 등의 기록매체에 기록되어 자기디스크 등에 격납된 후, 메모리에 로드되어 실행되는 것으로 한다. 또한, 상기 프로그램을 기록하는 기록매체는 CD-ROM 이외의 다른 기록매체라도 좋다.
DBMS(22003)는, 처리요구 접수부(22106)에 의하여 처리요구(22110)를 접수하면, 요구의 해석을 수행하여 표정의부(22101), 삽입부(22102), 검색부(22103), 룰 정의부(22104), 배열변경 처리등록부(22105)의 각 조작을 수행한다.
DB데이터(22121)에는, DB정보(22122), 표데이터(22123), 인덱스데이터(22124)가 격납되고, DB정보(22122)로서는 표정보(22125), 열정보(22126), 인덱스정보(22127), 룰정보(22128), 배열변경 처리정보(22129) 등이 격납된다.
표정보(22125)는, 표작성시에 정보가 추가되어, 표명, 구성열수 등이 지정된다. 열정보(22126)에도 마찬가지로 표작성시에 정보가 추가되고, 열을 구성하는 표명, 열명, 열의 데이터형 정보 등이 설정된다. 인덱스정보(22127)에는 인덱스작성시에 정보가 추가되며, 인덱스를 작성하는 표명, 열명 정보 등이 설정된다. 룰 정보(22128)에는, 룰 정의부(22104)에 의하여 배열변경룰에 관한 정보가 추가되며, 배열변경 처리정보(22129)에는 배열변경 처리등록부(22105)에 의하여 배열변경처리가 등록되는 표명, 열명, 룰 명이 추가된다.
표데이터(22123)에 작성한 각 표의 데이터가 격납된다. 검색부(22103)에 의하여 열데이터를 출력하고, 삽입부(22102)에 의하여 행데이터를 격납한다. 인덱스데이터(22124)는 인덱스작성시에 정보가 추가되며, 검색실행시에 데이터를 고속으로 검색하기 위하여 이용된다.
도 79는 본 실시예의 표정의부(22101)의 처리절차를 나타내는 순서도이다. 도 79 이후를 이용하여 본 실시예의 데이터베이스 시스템에 있어서의 배열변경처리, 배열변경용 인덱스에 관한 DBMS(22003)의 기능을 기능마다 설명하기로 한다. 배열변경처리, 배열변경용 인덱스에 관한 조작기능으로는, 표정의, 삽입, 검색, 룰 정의, 배열변경 처리정의 등의 기능이 있다. 처리요구(22110)가 DBMS(22003)에 대하여 보내지고, 처리요구(22110)에 대한 조작기능의 처리가 실행된다.
도 80은 본 실시예의 표정의처리의 개요를 나타내는 도이다. 우선, 표정의처리에 대하여 도 80과 도 79를 이용하여 설명하기로 한다. 처리요구(22110)가 작성하는 표의 표명(22601), 표를 구성하는 열의 열명(22602), 열의 데이터형(22603) 등과 함께 DBMS(22003)에 보내진다. DBMS(22003)에서는 요구의 해석을 수행하여 표정의부(22101)를 실행하고, 표명(22611), 열수 등을 DB정보(22122) 내의 표정보(22125)에 추가하고(단계 22301), 표명(22611), 열명(22612) 및 (22613), 열데이터형(22614) 및 (22615)를 DB정보(22122) 내의 열정보(22126)에 추가한다(단계 22302).
도 81은 본 실시예의 삽입처리의 개요를 나타내는 도이다. 도 82는 본 실시예의 삽입부(22102)의 처리절차를 나타내는 순서도이다. 다음으로, 데이터삽입처리에 대하여 도 81과 도 82를 이용하여 설명하기로 한다. 처리요구(22110)가 데이터를 삽입하는 표의 표명(22701), 각 열에 삽입하는 열데이터(22702) 및 (22703) 등과 함께 DBMS(22003)에 보내진다. 열의 데이터형에는 정수형이나 문자형 등의 형이 있으며, 삽입데이터에는 각 형에 대응한 데이터가 지정된다.
DBMS(22003)에서는 요구의 해석을 수행하여 삽입부(22102)를 실행하고, 표명(22711)에 대응한 표정보(22125), 열정보(22126), 인덱스정보(22127)를 DB정보(22122)로부터 취득하고(단계 22411), 열정보(22126)를 참조하여 열데이터(22712) 및 (22713)를 DB데이터(22121)의 대응하는 표데이터(22123)에 격납한다(단계 22412). 취득한 인덱스정보(22127)를 참조하여 삽입한 표에 인덱스가 부가되어 있는 경우(단계 22415), 인덱스의 갱신을 실행한다(단계 22416).
도 83은 본 실시예의 룰 정의처리의 개요를 나타내는 도이다. 도 84는 본 실시예의 룰 정의부(22104)의 처리절차를 나타내는 순서도이다. 다음으로, 룰 정의처리에 대하여 도 83과 도 84를 이용하여 설명하기로 한다. 처리요구(22110)가, 등록하는 배열변경 룰의 룰 명(23001)과 대상문자열정보(23002), 오름차순/내림차순 정보(23003), 제외문자(23004), 다음문절평가 플래그(23005) 등의 룰 정보와 함께 DBMS(22003)에 보내진다.
DBMS(22003)에서는 요구의 해석을 수행하여 룰 정의부(22104)를 실행하고, 룰명(23011)이나 대상문자열정보(23012) 및 대상문자열정보(23022), 오름차순/내림차순 정보(23013) 및 오름차순/내림차순 정보(23023), 제외문자(23014) 및 제외문자(23024), 다음문절평가 플래그(23015) 및 다음문절평가 플래그(23025) 등의 정보를 DB정보(22122) 내의 룰 정보(22128)에 추가한다(단계 23201).
도 85는 본 실시예의 배열변경처리정의의 개요를 나타내는 도이다. 도 86은 본 실시예의 배열변경 처리등록부(22105)의 처리절차를 나타내는 순서도이다. 다음으로, 배열변경 처리정의에 대하여 도 85와 도 86을 이용하여 설명하기로 한다. 처리요구(22110)가 등록하는 배열변경처리의 처리명(23101), 배열변경을 수행하는 표명(23102), 적용하는 배열변경 룰명(23103), 열명(23104) 및 (23105) 등과 함께 DBMS(22003)에 보내진다.
DBMS(22003)에서는 요구의 해석을 수행하여 배열변경 처리등록부(22105)를 실행하고, 처리명(23111), 표명(23112), 룰명(23113) 및 (23123), 열명(23114, 23115, 23124) 및 (23125) 등을 DB정보(22122) 내의 배열변경 처리정보(22129)에 추가하고(단계 3310), 표명(23112), 룰명(23113) 및 (23123), 열명(23114, 23115, 23124) 및 (23125) 등을 DB정보(22122) 내의 인덱스정보(22127)에 추가한다(단계 3311). 룰명(23113) 및 (23123)에 지정된 룰 정보(22128)를 취득하고(단계 3312), 표명(23112)에 지정된 표를 참조하여 배열변경의 대상이 되는 데이터의 인덱스를 작성한다(단계 3313).
도 87은 본 실시예의 표검색처리의 개요를 나타내는 도이다. 도 88은 본 실시예의 검색부(22103)의 처리절차를 나타내는 순서도이다. 다음으로, 데이터검색처리에 대하여 도 87, 도 88과 도 89를 이용하여 설명하기로 한다. 처리요구(22110)가, 출력하는 표의 표명(22801), 검색항목(22802), 배열변경지정(22803)과 함께DBMS(220030에 보내진다. 검색항목(22802)에는 출력하는 표의 열명이 지정된다.
배열변경지정에는, 배열변경을 수행하기 위한 룰과, 룰에 대응시키는 열명을 지정시키는 경우와, 배열변경처리등록에 의하여 등록이 끝난 배열변경 처리명이 지정되는 경우가 있다.
DBMS(22003)에서는 요구의 해석을 수행하여 검색부(22103)를 실행하고, 표명(22811)에 대응한 표정보(22125), 검색항목(22812) 및 (22813)에 지정된 열 정보(22126)를 DB정보(22122)로부터 취득하고(단계 22521), 배열변경지정(22814)에 관련하는 인덱스정보(22127)를 DB정보(22122)로부터 취득한다(단계 22522). 배열변경지정의 체크를 수행하고(단계 22523), 배열변경지정이 없는 경우에는 표데이터(22123)로부터 열데이터(22821) 및 (22822)를 출력하여 그 결과를 반환한다(단계 22525).
도 89는 본 실시예의 인덱스에 의한 표검색처리의 개요를 나타내는 도이다. 배열변경이 지정되어 있는 경우에는, 그 지정이 배열변경 룰과, 룰에 대응시키는 열명의 지정인지 배열변경처리명에 의한 지정인지를 체크하고(단계 22530), 배열변경 룰과, 룰에 대응시키는 열명의 지정인 경우에는 룰 정보의 취득을 수행하고(단계 22531), 지정된 배열변경에 사용가능한 인덱스의 유무를 체크하여(단계 22532), 인덱스가 없는 경우에는 표데이터(22123)로부터 열데이터(22821) 및 (22822)를 출력하여(단계 22533), 룰에 따른 배열변경을 실행하고(단계 22830, 단계 22534), 그 결과를 반환한다(단계 22525). 인덱스가 있는 경우에는, 도 89에 나타낸 대로 인덱스데이터(22124)를 참조하여 그 인덱스의 순번대로 표데이터(22123)로부터 열데이터(22921) 및 (22922)의 출력을 수행하고(단계 22930, 단계 22536), 그 결과를 반환한다(단계 22525).
배열변경 처리명에 의하여 배열변경이 지정되어 있는 경우, 배열변경 처리정보(22129), 룰정보(22128)의 취득을 수행하고(단계 22535), 배열변경처리에 대응한 인덱스 데이터(22124)를 참조하여 그 인덱스의 순번대로 표데이터(22123)로부터 열데이터(22921) 및 (22922)의 출력을 수행하고(단계 22930, 단계 22536), 그 결과를 반환한다(단계 22525).
이상에 의하여, 이용자지정의 배열변경처리의 등록, 실행, 및 배열변경을 위한 인덱스의 작성, 인덱스를 이용한 배열변경결과의 고속접속이 실현된다.
이상 설명한 바와 같이, 본 실시예의 데이터처리장치에 의하면, 배열변경을 수행하기 위한 룰을 미리 등록해 두고, 지정된 룰에 의하여 배열변경을 실행하기 때문에 이용자 독자적인 데이터의 배열변경을 실행할 수 있다.
또한, 본 실시예의 데이터처리장치에 의하면, 배열변경처리에 지정된 룰로 배열변경을 실시한 결과의 인덱스를 작성하기 때문에, 배열변경처리에서 지정된 룰에 의한 배열변경을 고속으로 실행할 수 있게 된다.
본 발명에 의하면, 복수 종별의 데이터에 접속할 수 있는 데이터처리시스템에 있어서, 종별마다 데이터처리수단을 선택하여 실행할 수 있기 때문에, 종별에 따라 데이터를 구별한 처리를 수행하는 기능을 제공할 수 있다는 효과가 있다.
Claims (33)
- 영어나 일본어와 같은 자연언어의 분류 등에 의해 데이터의 종별을 구별하고, 종별이 서로다른 복수의 데이터에 접속할 수 있는 데이터처리방법에 있어서,등록이나 검색 등의 데이터처리를 수행하는 데이터처리수단을, 데이터의 종별을 바탕으로 선택하는 제 1 과정과,제 1 과정에서 선택한 상기 데이터처리수단으로 데이터처리를 실행하는 제 2 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,상기 제 2 과정에서의 데이터처리에 있어서,상기 데이터처리수단이 상기 데이터의 종별에 적절한 데이터처리를 수행하는 제 3 공정을 포함한 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,상기 제 1 과정에 있어서,어떤 정해진 종별만을 처리대상으로 하여 상기 데이터처리수단을 선택하는 제 4 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,상기 제 1 과정에서 선택한 상기 데이터처리수단에 데이터처리를 요구할 때, 상기 데이터처리수단에서 취급하는 데이터의 종별에 맞추어 요구를 변환하는 제 5 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,데이터를 검색하는 방법으로서,상기 제 2 과정에서 상기 데이터처리수단이 데이터처리를 실시한 처리결과데이터를 편집하고, 데이터검색처리의 결과데이터를 작성하는 제 6 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 5에 있어서,상기 제 6 과정에 있어서,상기 데이터처리수단이 데이터처리를 수행한 처리결과데이터를, 어떤 한 데이터의 종별로 변환시켜 상기 데이터검색처리의 데이터검색결과를 작성하는 제 7 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,데이터를 등록하는 처리로서,등록대상인 데이터의 종별에서 상기 제 1 과정에서 데이터처리수단을 선택하는 제 8 과정과,상기 제 2 과정에서, 등록대상인 데이터를 변환하는 일 없이 상기 선택한 데이터처리수단으로 데이터등록을 수행하는 제 9 과정을 포함하는 것을 특징으로 하는 데이터처리수단.
- 청구항 1에 있어서,부분데이터로 구성되는 데이터를 등록하는 방법으로서,부분데이터로부터 종별마다 데이터처리절차에 등록하기 위한 등록용 데이터를 작성하는 제 10 과정과,시스템내에서 일의(一意)로 되는 데이터식별자를 작성하여, 상기 제 10 과정에서 작성하는 등록용 데이터에 상기 데이터식별자를 설정하는 제 11 과정과,상기 등록용 데이터를 데이터처리수단으로 등록하는 제 12 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,데이터를 검색하는 방법으로서,상기 제 6 과정에 있어서,상기 제 11 과정에서 설정한 데이터식별자를 바탕으로 동일한 데이터식별자를 가지는 데이터를 구성하는 부분데이터로부터 검색결과데이터를 작성하는 제 13 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,상기 제 1 과정에 있어서,데이터의 종별과 상기 데이터처리수단과의 대응을 나타내는 대응표를 참조하여, 데이터의 종별을 키로 하여 상기 데이터처리수단을 식별하는 정보를 취득함으로써 데이터처리수단을 선택하는 제 14 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,상기 제 1 과정에 있어서,데이터처리를 실행할 수 있는 데이터처리수단을 탐색하고, 탐색하여 검출한 데이터처리수단의 데이터종별을 취득하고, 취득한 데이터종별에 따라 데이터처리수단을 선택하는 제 15 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 청구항 1에 있어서,상기 제 1 과정에 있어서,처리대상인 데이터의 제 1 종별로부터 종별의 변환이 가능한 제 2 종별에 대응하는 데이터처리수단을 선택하는 제 16 과정과,처리대상인 제 1 종별의 데이터를 제 2 종별의 데이터로 변환하는 제 17 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 영어나 일본어와 같은 자연언어의 분류 등에 의하여 데이터의 종별을 구별하고, 종별이 서로다른 복수의 데이터에 접속할 수 있는 데이터처리시스템에 있어서,등록이나 검색 등의 데이터처리를 수행하는 데이터처리수단을 데이터의 종별을 바탕으로 선택하는 제 1 수단과,제 1 수단으로 선택한 상기 데이터처리수단에 데이터처리를 요구하는 제 2 수단을 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 13에 있어서,상기 데이터처리시스템에 있어서의 데이터처리의 실행환경을 나타내어 데이터처리를 제어하기 위한 실행환경변수를 이용하여, 처리대상으로 하는 데이터의 종별을 지정하는 응용프로그램 인터페이스를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 13에 있어서,처리대상으로 하는 데이터를 보지하는 변수의 속성으로 종별을 지정하는 응용프로그램 인터페이스를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 15에 있어서,처리대상으로 하는 데이터를 구성하는 부분데이터를 보지하는 변수의 속성으로 데이터의 종별을 지정하는 응용프로그램 인터페이스를 구비하는 것을 특징으로하는 데이터처리시스템.
- 청구항 13에 있어서,처리대상으로 하는 데이터의 내부에 당해 데이터의 종별을 지정하는 응용프로그램 인터페이스를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 17에 있어서,처리대상으로 하는 데이터의 내부에 당해 데이터를 구성하는 부분데이터의 종별을 지정하는 응용프로그램 인터페이스를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 13에 있어서,언어, 지역, 부호와로 이루어지는 로켈(locale) 등과 같이 복수의 요소로 구성되는 종별에 따라, 처리대상인 데이터의 종별을 지시하는 응용프로그램 인터페이스를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 13에 있어서,처리결과의 데이터의 종별을 표식자 등의 변수에 의해 지시하는 응용프로그램 인터페이스를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 13에 있어서,데이터의 종별과, 당해 데이터의 종별에 대하여 데이터처리를 수행하는 데이터처리수단을 식별하는 정보의 대응표를 구비하는 것을 특징으로 하는 데이터처리시스템.
- 청구항 10에 있어서,상기 데이터의 종별과 상기 데이터처리수단과의 대응을 나타내는 대응표를 편집하는 제 18 과정을 포함하는 것을 특징으로 하는 데이터처리방법.
- 영어나 일본어와 같은 자연언어의 분류 등에 의하여 데이터의 종별을 구별하고, 종별이 서로다른 복수의 데이터에 접속할 수 있는 데이터처리 시스템에 있어서의 프로그램 및 데이터를 격납하는 기억매체로서,등록이나 검색 등의 데이터처리를 수행하는 데이터처리수단을 데이터의 종별을 바탕으로 선택하는 제 1 수단과,제 1 수단으로 선택하는 상기 데이터처리수단에 데이터처리를 요구하는 제 2 수단을 구비하는 데이터처리 시스템의 프로그램 및 데이터를 포함하는 것을 특징으로 하는 기억매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-52109 | 2000-02-23 | ||
JP2000052109A JP2001060164A (ja) | 1999-05-18 | 2000-02-23 | データ処理方法およびデータ処理システム並びにその実施装置及びその処理プログラムを記録した記録媒体 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0057507A Division KR100372584B1 (ko) | 2000-02-23 | 2002-09-23 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
KR10-2002-0057508A Division KR100372585B1 (ko) | 2000-02-23 | 2002-09-23 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010084563A KR20010084563A (ko) | 2001-09-06 |
KR100372582B1 true KR100372582B1 (ko) | 2003-02-17 |
Family
ID=18573677
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0009714A KR100372582B1 (ko) | 2000-02-23 | 2000-02-28 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
KR10-2002-0057507A KR100372584B1 (ko) | 2000-02-23 | 2002-09-23 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
KR10-2002-0057508A KR100372585B1 (ko) | 2000-02-23 | 2002-09-23 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0057507A KR100372584B1 (ko) | 2000-02-23 | 2002-09-23 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
KR10-2002-0057508A KR100372585B1 (ko) | 2000-02-23 | 2002-09-23 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20030217071A1 (ko) |
EP (1) | EP1128277A3 (ko) |
KR (3) | KR100372582B1 (ko) |
CN (1) | CN1155906C (ko) |
SG (1) | SG100613A1 (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797149B2 (en) * | 2002-06-20 | 2010-09-14 | Siebel Systems, Inc. | Integrating related data from incompatible systems for enhanced business functionality |
JP2005011042A (ja) * | 2003-06-18 | 2005-01-13 | Shinfuoomu:Kk | データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 |
US7398304B2 (en) | 2003-06-23 | 2008-07-08 | Microsoft Corporation | General dependency model for invalidating cache entries |
US7962576B2 (en) * | 2004-07-22 | 2011-06-14 | Sap Ag | Quantity conversion interface for external program calls |
GB2424722A (en) * | 2005-03-21 | 2006-10-04 | Think Software Pty Ltd | Method and apparatus for generating relevance sensitive collation keys |
US8892780B2 (en) | 2007-03-08 | 2014-11-18 | Oracle International Corporation | Management of shared storage I/O resources |
US7949515B2 (en) * | 2007-07-26 | 2011-05-24 | International Business Machines Corporation | Automatically identifying unique language independent keys correlated with appropriate text strings of various locales by value and key searches |
US7953591B2 (en) * | 2007-07-26 | 2011-05-31 | International Business Machines Corporation | Automatically identifying unique language independent keys correlated with appropriate text strings of various locales by key search |
JP5286876B2 (ja) * | 2008-03-28 | 2013-09-11 | 富士通株式会社 | 紐付け支援プログラム、紐付け支援装置、紐付け支援方法 |
US8868831B2 (en) | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
WO2010033877A1 (en) * | 2008-09-19 | 2010-03-25 | Oracle International Corporation | Storage-side storage request management |
US9772798B2 (en) * | 2008-09-19 | 2017-09-26 | Oracle International Corporation | Method and system for implementing workload management by monitoring disk utilizations |
US8204892B2 (en) * | 2009-10-26 | 2012-06-19 | Oracle International Corporation | Performance boost for sort operations |
US8682644B1 (en) * | 2011-06-30 | 2014-03-25 | Google Inc. | Multi-language sorting index |
US9509757B2 (en) | 2011-06-30 | 2016-11-29 | Google Inc. | Parallel sorting key generation |
US10546057B2 (en) * | 2011-10-28 | 2020-01-28 | Microsoft Technology Licensing, Llc | Spreadsheet program-based data classification for source target mapping |
US9449031B2 (en) * | 2013-02-28 | 2016-09-20 | Ricoh Company, Ltd. | Sorting and filtering a table with image data and symbolic data in a single cell |
US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
JP6285733B2 (ja) * | 2014-01-31 | 2018-02-28 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、プログラム |
US9015165B1 (en) * | 2014-03-03 | 2015-04-21 | Michael L. Hamm | Text-SQL relational database |
US20160342646A1 (en) * | 2015-05-20 | 2016-11-24 | International Business Machines Corporation | Database query cursor management |
CN106445928B (zh) * | 2015-08-04 | 2020-12-08 | 广州华多网络科技有限公司 | 基于分类模型的信息处理方法及分类模型 |
US10678788B2 (en) | 2015-10-22 | 2020-06-09 | Oracle International Corporation | Columnar caching in tiered storage |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US11074235B2 (en) * | 2017-08-10 | 2021-07-27 | Io-Tahoe Llc | Inclusion dependency determination in a large database for establishing primary key-foreign key relationships |
US10878036B2 (en) * | 2018-01-17 | 2020-12-29 | Actian Corporation | Maintaining character set compatibility in database systems |
US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
CN109413192A (zh) * | 2018-11-08 | 2019-03-01 | 内蒙古伊泰煤炭股份有限公司 | 数据处理方法、装置、服务器及可读存储介质 |
US20200364093A1 (en) * | 2019-05-14 | 2020-11-19 | Pricewaterhousecoopers Llp | System and methods for generating secure ephemeral cloud-based computing resources for data operations |
CN110203249B (zh) * | 2019-06-12 | 2020-09-04 | 中国神华能源股份有限公司 | 列车修程的处理方法、装置及存储介质 |
CN110401843B (zh) * | 2019-08-06 | 2022-02-25 | 广州虎牙科技有限公司 | 直播平台中的榜单数据更新方法、装置、设备和介质 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4706212A (en) * | 1971-08-31 | 1987-11-10 | Toma Peter P | Method using a programmed digital computer system for translation between natural languages |
JPS58192167A (ja) * | 1982-05-06 | 1983-11-09 | Toshiba Corp | 自動取引装置 |
US4688195A (en) * | 1983-01-28 | 1987-08-18 | Texas Instruments Incorporated | Natural-language interface generating system |
US5404506A (en) * | 1985-03-27 | 1995-04-04 | Hitachi, Ltd. | Knowledge based information retrieval system |
US4731735A (en) * | 1985-09-30 | 1988-03-15 | International Business Machines Corporation | Multilingual processing for screen image build and command decode in a word processor, with full command, message and help support |
US4837689A (en) * | 1985-10-07 | 1989-06-06 | Sharp Kabushiki Kaisha | Inputting and editing system in a knowledge based inquiry and answer system |
US4870610A (en) * | 1987-08-25 | 1989-09-26 | Bell Communications Research, Inc. | Method of operating a computer system to provide customed I/O information including language translation |
CA1280215C (en) * | 1987-09-28 | 1991-02-12 | Eddy Lee | Multilingual ordered data retrieval system |
US4914590A (en) * | 1988-05-18 | 1990-04-03 | Emhart Industries, Inc. | Natural language understanding system |
DE69032712T2 (de) * | 1989-06-14 | 1999-07-01 | Hitachi, Ltd., Tokio/Tokyo | Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung |
US5999908A (en) * | 1992-08-06 | 1999-12-07 | Abelow; Daniel H. | Customer-based product design module |
US6760695B1 (en) * | 1992-08-31 | 2004-07-06 | Logovista Corporation | Automated natural language processing |
JPH06250895A (ja) * | 1993-02-26 | 1994-09-09 | Fujitsu Ltd | 構造化データベースシステム |
US5485373A (en) * | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5440482A (en) * | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US6131085A (en) * | 1993-05-21 | 2000-10-10 | Rossides; Michael T | Answer collection and retrieval system governed by a pay-off meter |
CA2128828C (en) * | 1993-08-24 | 2001-01-02 | David Michael Silver | Multilingual standard resources |
JP3689954B2 (ja) * | 1995-03-13 | 2005-08-31 | 富士ゼロックス株式会社 | 異種コード文字列転記装置および電子辞書 |
JP3333802B2 (ja) * | 1995-07-07 | 2002-10-15 | 日本放送協会 | 属性とクラスの関係を一般化する装置 |
US5995921A (en) * | 1996-04-23 | 1999-11-30 | International Business Machines Corporation | Natural language help interface |
US6470306B1 (en) * | 1996-04-23 | 2002-10-22 | Logovista Corporation | Automated translation of annotated text based on the determination of locations for inserting annotation tokens and linked ending, end-of-sentence or language tokens |
US5778213A (en) * | 1996-07-12 | 1998-07-07 | Microsoft Corporation | Multilingual storage and retrieval |
US5956740A (en) * | 1996-10-23 | 1999-09-21 | Iti, Inc. | Document searching system for multilingual documents |
JP3434161B2 (ja) * | 1997-02-18 | 2003-08-04 | ブラザー工業株式会社 | 多言語対応通信システム |
JPH10198680A (ja) * | 1997-01-07 | 1998-07-31 | Hitachi Ltd | 分散辞書管理方法及びそれを用いた機械翻訳方法 |
JPH10283129A (ja) * | 1997-04-02 | 1998-10-23 | Canon Inc | 印刷制御装置及び印刷制御プログラムのインストール方法及び記憶媒体 |
EP0889626A1 (en) * | 1997-07-04 | 1999-01-07 | Octel Communications Corporation | Unified messaging system with automatic language identifacation for text-to-speech conversion |
US6081774A (en) * | 1997-08-22 | 2000-06-27 | Novell, Inc. | Natural language information retrieval system and method |
US6250548B1 (en) * | 1997-10-16 | 2001-06-26 | Mcclure Neil | Electronic voting system |
JP3666005B2 (ja) * | 1998-03-03 | 2005-06-29 | マツダ株式会社 | 特許情報検索システム、特許情報検索装置、情報検索中継装置並びに特許情報検索方法 |
US6332139B1 (en) * | 1998-11-09 | 2001-12-18 | Mega Chips Corporation | Information communication system |
US6778949B2 (en) * | 1999-10-18 | 2004-08-17 | Sony Corporation | Method and system to analyze, transfer and generate language expressions using compiled instructions to manipulate linguistic structures |
US6330530B1 (en) * | 1999-10-18 | 2001-12-11 | Sony Corporation | Method and system for transforming a source language linguistic structure into a target language linguistic structure based on example linguistic feature structures |
US20030041110A1 (en) * | 2000-07-28 | 2003-02-27 | Storymail, Inc. | System, Method and Structure for generating and using a compressed digital certificate |
JP2002082987A (ja) * | 2000-09-06 | 2002-03-22 | Seiko Epson Corp | 文書情報閲読支援装置、ディジタルコンテンツ作成システム、ディジタルコンテンツ配信システム及び記憶媒体 |
-
2000
- 2000-02-28 KR KR10-2000-0009714A patent/KR100372582B1/ko not_active IP Right Cessation
- 2000-03-02 SG SG200001142A patent/SG100613A1/en unknown
- 2000-03-03 CN CNB001038095A patent/CN1155906C/zh not_active Expired - Fee Related
- 2000-03-03 EP EP00301740A patent/EP1128277A3/en not_active Withdrawn
-
2002
- 2002-09-23 KR KR10-2002-0057507A patent/KR100372584B1/ko not_active IP Right Cessation
- 2002-09-23 KR KR10-2002-0057508A patent/KR100372585B1/ko not_active IP Right Cessation
-
2003
- 2003-05-16 US US10/438,815 patent/US20030217071A1/en not_active Abandoned
-
2008
- 2008-09-16 US US12/232,336 patent/US20090024384A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20090024384A1 (en) | 2009-01-22 |
CN1310422A (zh) | 2001-08-29 |
KR100372585B1 (ko) | 2003-02-15 |
KR20030004151A (ko) | 2003-01-14 |
SG100613A1 (en) | 2003-12-26 |
KR20030004150A (ko) | 2003-01-14 |
EP1128277A2 (en) | 2001-08-29 |
KR20010084563A (ko) | 2001-09-06 |
KR100372584B1 (ko) | 2003-02-15 |
US20030217071A1 (en) | 2003-11-20 |
CN1155906C (zh) | 2004-06-30 |
EP1128277A3 (en) | 2004-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100372582B1 (ko) | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 | |
US6510425B1 (en) | Document search method for registering documents, generating a structure index with elements having position of occurrence in documents represented by meta-nodes | |
US6853992B2 (en) | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents | |
US6889223B2 (en) | Apparatus, method, and program for retrieving structured documents | |
US8484210B2 (en) | Representing markup language document data in a searchable format in a database system | |
US20040205671A1 (en) | Natural-language processing system | |
JP2002523835A (ja) | マルチスクリプトデータベースのシステム及び方法 | |
CN113190687B (zh) | 知识图谱的确定方法、装置、计算机设备及存储介质 | |
CN110795526B (zh) | 一种用于检索***的数学公式索引创建方法与*** | |
KR20040070323A (ko) | 프로그램, 문자 입력 편집 방법과 장치 및 기록 매체 | |
US7401071B2 (en) | Structured data retrieval apparatus, method, and computer readable medium | |
EP3432161A1 (en) | Information processing system and information processing method | |
JP2005242416A (ja) | 自然言語文の検索方法および検索装置 | |
JP2001060164A (ja) | データ処理方法およびデータ処理システム並びにその実施装置及びその処理プログラムを記録した記録媒体 | |
CN112199960B (zh) | 一种标准知识元粒度解析*** | |
US20050289185A1 (en) | Apparatus and methods for accessing information in database trees | |
JP2006227914A (ja) | 情報検索装置、情報検索方法、プログラム、記憶媒体 | |
Ma et al. | A Mongolian information retrieval system based on Solr | |
JP2004118543A (ja) | 構造化文書検索方法、検索支援方法、検索支援装置および検索支援プログラム | |
Fujita et al. | Institutional Repository Keyword Analysis with Web Crawler | |
JPH1153400A (ja) | 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
JPH10283368A (ja) | 情報処理装置及びその方法 | |
JP4334450B2 (ja) | 構造化文書検索装置及び構造化文書検索方法 | |
Matthews et al. | Internationalising data access through LIMBER | |
Curry et al. | Stratigraphic distribution of brachiopods–a new method of storing and querying loosely-structured biodiversity information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130118 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20140120 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20150120 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |