KR100488916B1 - Apparatus and method for selecting task class - Google Patents
Apparatus and method for selecting task class Download PDFInfo
- Publication number
- KR100488916B1 KR100488916B1 KR10-2002-0076452A KR20020076452A KR100488916B1 KR 100488916 B1 KR100488916 B1 KR 100488916B1 KR 20020076452 A KR20020076452 A KR 20020076452A KR 100488916 B1 KR100488916 B1 KR 100488916B1
- Authority
- KR
- South Korea
- Prior art keywords
- class
- server
- work
- name
- condition value
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 작업클래스 선택장치 및 방법에 관한 것으로서, 본 발명에 따른 작업클래스 선택방법은 클라이언트의 작업요청에 따라 작업을 요청하는 클래스(즉, 작업요청클래스)와 요청된 작업을 수행하는 클래스(즉, 작업클래스) 사이에 작업클래스선택장치를 두어, 작업요청클래스들에 대한 클래스명과 요청하는 작업을 식별하기 위한 조건값 및 각 조건값별로 작업을 수행하는 작업클래스들에 대한 클래스명을 매칭시켜, 클라이언트의 작업요청에 따라 작업요청클래스로부터 작업이 요청되면, 해당 작업요청클래스의 클래스명과 요청된 작업의 조건값에 의거하여 작업을 수행할 작업클래스를 적어도 하나 이상 선택하여 제공하는 것을 특징으로 한다. 본 발명에 의하면, 클라이언트의 작업 요청시, 해당 작업에 해당되는 조건값에 의거하여 적어도 하나 이상의 작업클래스를 선택할 수 있고, 선택된 작업클래스들을 보다 빠르게 조립할 수 있다는 장점이 있다.The present invention relates to an apparatus and method for selecting a work class. The method for selecting a work class according to the present invention is a class for requesting a work according to a work request of a client (that is, a work request class) and a class for performing a requested work (that is Work class selectors, matching the class names for work request classes with condition values to identify the requested work, and class names for work classes that perform work for each condition value. When a work is requested from the work request class according to the work request of the client, at least one work class is selected and provided based on the class name of the work request class and the condition value of the requested work. According to the present invention, when a client requests a work, at least one work class can be selected based on a condition value corresponding to the work, and the selected work classes can be assembled more quickly.
Description
본 발명은 객체지향프로그램에서 작업클래스를 선택하기 위한 장치 및 방법에 관한 것으로서, 보다 상세하게는 클라이언트의 요청에 따른 작업을 수행할 최적의 클래스(즉, 작업클래스)를 선택하기 위한 작업클래스 선택장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for selecting a work class in an object-oriented program, and more particularly, to a work class selection device for selecting an optimal class (ie, work class) to perform a task according to a request of a client. And to a method.
최근 들어, 급속한 발전을 이루고 있는 객체지향프로그램(OOP : Objective-Oriented Program)에 대하여, 프로그래밍 개발사업자들은 재 사용성이 높은 클래스(class)들을 개발하고 있다.In recent years, for rapidly-developing object-oriented programs (OOPs), programming developers have been developing highly reusable classes.
이러한, 재 사용성이 높은 클래스들의 개발로 인해, 클라이언트의 서비스 요청(예컨대, 클래스 추가요청, 클래스 삭제요청, 클래스 수정요청 등)에 따른 클래스를 추가하거나, 삭제 또는 수정하여도 인터페이스(interface)되는 클래스들에 대한 변경은 불필요하게 되었다.Due to the development of highly reusable classes, classes that are interfaced with adding, deleting or modifying a class according to a client's service request (eg, class addition request, class deletion request, class modification request, etc.) Changes to the fields became unnecessary.
또한, 재 사용성이 높은 클래스들의 개발로 인해, 클라이언트가 소정 작업을 요청할 경우(예컨대, 임의의 장소에 위치한 제품을 다른 장소로의 이동을 요청할 경우), 새로운 클래스의 생성없이 이미 만들어진 클래스들 중 클라이언트의 요청에 따른 작업을 수행할 수 있는 클래스들을 선택하여 실행시킴으로써 클라이언트에게 작업결과를 제공할 수 있게 되었다.In addition, due to the development of highly reusable classes, when a client requests a certain task (for example, when a product located in a certain place needs to be moved to another place), the client among the classes already created without creating a new class By selecting and executing classes that can perform the work according to the request of the user, the work result can be provided to the client.
여기서, 클래스를 실행시켜 작업결과를 제공하는 장치로는 객체지향프로그램의 대표적 예인 자바 프로그램에서 자바가상머신(Java Virtual Machine)을 예로 제시할 수 있다.Here, as a device that executes a class and provides a work result, a Java virtual machine may be presented as an example in a Java program that is a representative example of an object-oriented program.
자바가상머신은 클라이언트의 작업 요청시, 해당 작업을 요청하는 클래스(즉, 작업요청클래스)가 자바 프로그램의 컴파일러에 의해 검파일 되면, 검파일된 작업요청클래스를 실행시킬 때, 작업요청클래스로부터 요청된 작업을 수행할 클래스(즉, 작업클래스)들을 파일(FILE)(도시생략)로부터 읽어들여 실행시킴으로써 클라이언트가 요청한 작업결과를 제공한다.The Java virtual machine requests a task from the client when the class requesting the task (ie, the task request class) is compiled by the Java program's compiler, and runs the compiled task request class. Provides the work result requested by the client by reading and executing the class (that is, work class) from the file (FILE) (not shown).
이때, 자바가상머신이 실행시키기 위한 클래스들은 프로그램에 정의되어 있어야 한다. 기존에는 프로그램에 클래스들을 정의함으로 인해 조건 값 변경 및 조건 값 변경에 따른 실행하는 클래스의 변경을 위해서, 프로그램을 수정하여야 함으로써 개발기간이 많이 소요되고, 다양한 조건 값에 대한 실행되는 클래스들을 정의하기에는 프로그램이 복잡해지는 문제점이 있다.At this time, classes for executing Java virtual machine should be defined in program. In the past, by defining the classes in the program, it is necessary to modify the program to change the condition value and to execute the class according to the condition value change, and it takes a lot of development time, and to define the classes to be executed for various condition values There is a problem of this complexity.
본 발명은 클라이언트의 작업요청에 따라 작업을 요청하는 클래스(즉, 작업요청클래스)와 해당 작업을 수행할 클래스(즉, 작업클래스) 사이에 작업클래스선택장치를 두어, 복수개의 작업요청클래스들에 대한 클래스명과 다양하게 요청되는 작업들을 식별하기 위한 작업조건정보(즉, 조건값) 및 각 조건값에 대응하여 작업을 수행할 작업클래스들에 대한 클래스명을 매칭시켜, 클라이언트의 작업 요청시, 작업요청클래스의 클래스명과 요청된 작업에 대한 조건값을 파악하여 요청된 작업을 수행할 작업클래스를 선택할 수 있도록 한 작업클래스 선택장치 및 방법을 제공하는데 그 목적이 있다.According to the present invention, a work class selector is provided between a class requesting a work according to a work request of a client (that is, a work request class) and a class to perform the work (that is, a work class). When matching the class name with the work condition information (that is, condition value) to identify various requested jobs and the work class corresponding to each condition value, the class name for the work class to perform the work, The purpose of the present invention is to provide a work class selector and a method for selecting a work class to perform a requested work by grasping the class name of the request class and condition values for the requested work.
상기 목적을 달성하기 위한 본 발명에 따른 작업클래스 선택방법은 클라이언트의 작업요청에 따라 작업을 요청하는 클래스들 각각에 대한 클래스명인 키-클래스명과 해당 키-클래스명에 매칭되는 조건값 그룹에 포함된 복수개의 각 조건값을 키로 하여, 클라이언트의 작업요청에 따른 작업을 수행하는 작업클래스들의 상위클래스인 서버메인클래스명을 주기억장치에 로딩하는 제1과정과, 복수개의 서버메인클래스명과 각 서버메인클래스명에 매칭되는 서버-조건값 그룹에 포함된 복수개의 각 서버-조건값을 키로 하여, 작업 수행할 복수개의 작업클래스들을 각 서버-조건값별로 주기억장치에 로딩하는 제2과정과, 클라이언트의 작업요청에 따라 소정 클래스로부터 작업이 요청되면, 해당 작업을 요청한 클래스에 대한 키-클래스명을 도출하고, 클라이언트의 작업요청에 따라 설정된 조건값을 링크-조건값으로 할당한 후, 상기 키-클래스명과 링크-조건값을 키로 하는 서버메인클래스명을 주기억장치로부터 추출하는 제3과정과, 작업클래스들의 작업수행여부를 나타내는 클래스작업진행정보를 초기상태로 설정하는 제4과정과, 소정의 서버메인클래스명에 매칭되는 서버-조건값을 검색하는 제5과정과, 상기 제5과정에서의 서버-조건값 검색여부에 따라 서버메인클래스명과 서버-조건값을 키로 하는 작업클래스들 중 클래스작업진행정보의 초기상태설정에 따른 작업클래스를 선택하거나 또는 주기억장치에 최근 저장된 작업클래스정보에 의거한 타 작업클래스를 선택하는 제6과정과, 상기 제6과정에서 작업클래스가 선택되면, 그 작업클래스를 키로 하여 해당 작업클래스의 상위클래스인 서버메인클래스명을 주기억장치에 저장하고, 상기 작업클래스를 새로운 서버메인클래스명으로 할당한 후, 클래스작업진행정보를 초기상태로 설정하는 제7과정과, 제6과정에서 작업클래스가 선택되지 않으면, 주기억장치에 최근 저장된 작업클래스정보에 의거하여 서버메인클래스명을 도출하는 제8과정을 포함하여 이루어지는데 그 특징이 있다.The work class selection method according to the present invention for achieving the above object is included in the key-class name which is a class name for each of the classes requesting work according to the work request of the client and a condition value group matching the corresponding key-class name. The first step of loading the main memory with the server main class name, which is the upper class of the work classes that perform the work according to the client's work request, using the plurality of condition values as keys, and the plurality of server main class names and each server main class. A second step of loading a plurality of work classes to be executed into the main memory by each server-condition value, using the plurality of server-condition values included in the server-condition value group matching the name as a key; When an operation is requested from a class according to the request, the key-class name for the class requesting the operation is derived, and the client After assigning the condition value set according to the work request of the client as a link-condition value, the third step of extracting the server main class name with the key-class name and the link-condition value as a key from the main memory, and the work of the work classes A fourth step of setting class work progress information indicating whether to perform the initial state, a fifth step of searching for a server-condition value matching a predetermined server main class name, and a server-condition value in the fifth step Select a work class based on the initial state setting of class work progress information from among the work class whose server main class name and server-condition value are the key, or select another work class based on the work class information recently stored in main memory. When the work class is selected in the sixth step and the sixth step, the server main class, which is a superclass of the corresponding work class, is used as the key. After storing the name in the main memory, assigning the work class to the new server main class name, and setting the class work progress information to the initial state, and if the work class is not selected in step 6, the main memory It includes the eighth process of deriving the server main class name based on the work class information stored recently.
한편, 상기 목적을 달성하기 위한 본 발명에 따른 작업클래스 선택장치는 클라이언트의 작업요청에 따라 작업을 요청하는 클래스들 각각에 대한 클래스명인 키-클래스명과 각 키-클래스명에 매칭되는 조건값 그룹에 포함된 복수개의 각 조건값을 키로 하여, 클라이언트의 작업요청에 따른 작업을 수행할 작업클래스들의 상위클래스인 서버메인클래스명을 주기억장치에 로딩하는 제1데이터로딩부; 복수개의 서버메인클래스명과 각 서버메인클래스명에 매칭되는 서버-조건값 그룹에 포함된 복수개의 각 서버-조건값을 키로 하여, 작업 수행할 복수개의 작업클래스들을 주기억장치에 로딩하는 제2데이터로딩부; 클라이언트의 작업요청에 따라 소정 클래스로부터 작업이 요청되면, 해당 클래스에 대한 키-클래스명을 도출하고, 클라이언트의 작업요청에 따라 설정된 조건값을 링크-조건값으로 할당한 후, 상기 키-클래스명과 링키-조건값을 키로 하여 서버메인클래스명을 추출하는 서버메인클래스 추출부; 작업을 요청하는 클래스를 분석함에 따라 도출된 서버-조건값 해시테이블을 관리하고, 작업클래스들의 작업수행여부를 나타내는 클래스작업진행정보를 초기상태로 설정하는 초기화 설정부; 상기 초기화 설정부에서 도출된 서버-조건값 해시테이블을 바탕으로 소정 서버메인클래스명에 매칭되는 서버-조건값을 검색하는 서버-조건값 검색부; 상기 서버-조건값 검색부로부터의 서버-조건값 검색여부에 따라 클래스작업진행정보의 초기상태설정에 따른 작업클래스를 선택하거나 또는 주기억장치에 최근 저장된 작업클래스정보에 의거한 타 작업클래스를 선택하는 작업클래스 선택부; 및 상기 작업클래스 선택부로부터의 작업클래스 선택여부에 따라 현재 선택된 작업클래스의 상위클래스를 주기억장치에 저장하고, 해당 작업클래스를 새로운 서버메인클래스명으로 할당한 후, 클래스작업진행정보를 초기상태로 설정하거나 또는 주기억장치에 최근 저장된 작업클래스의 상위클래스를 도출하는 작업클래스 관리부를 포함하여 구성되는데 그 특징이 있다.On the other hand, the work class selection apparatus according to the present invention for achieving the above object is a key-class name that is a class name for each of the classes requesting work in accordance with the work request of the client and a condition value group matching each key-class name A first data loading unit configured to load, on a main memory, a server main class name, which is an upper class of work classes to perform a work according to a work request of a client, using each of the plurality of condition values included as a key; Second data loading that loads a plurality of work classes to be executed in the main memory by using the plurality of server main class names and the plurality of server-condition values included in the server-condition value group matching each server main class name as a key. part; When a work is requested from a predetermined class according to the work request of the client, a key-class name for the class is derived, the condition value set according to the work request of the client is assigned as a link-condition value, and then the key-class name and A server main class extracting unit for extracting a server main class name using the link key-condition value as a key; An initialization setting unit configured to manage a server-condition value hash table derived by analyzing a class requesting a work, and to set class work progress information indicating whether work classes are performed to an initial state; A server-condition value search unit for searching for a server-condition value matching a predetermined server main class name based on the server-condition value hash table derived from the initialization setting unit; Selecting a work class according to the initial state setting of the class work progress information or selecting another work class based on the work class information recently stored in the main memory according to whether the server-condition value search from the server-condition value search unit Work class selector; And storing the upper class of the currently selected work class in the main memory according to whether the work class is selected from the work class selection unit, assigning the work class as a new server main class name, and returning the class work progress information to the initial state. It is composed of a work class management unit which sets or derives a super class of a work class recently stored in main memory.
이하, 첨부된 도면에 의거하여, 본 발명에 따른 작업클래스 선택장치 및 방법에 대한 바람직한 실시예를 좀 더 상세하게 설명한다.Hereinafter, on the basis of the accompanying drawings, a preferred embodiment of the work class selection apparatus and method according to the present invention will be described in more detail.
도 1은 본 발명에 따른 작업클래스 선택장치에 대한 기능 블록도이다. 도 1을 참조하면, 본 발명에 따른 작업클래스 선택장치(100)는 제1데이터로딩부(110), 제2데이터로딩부(120), 서버메인클래스 추출부(130), 초기화 설정부(140), 서버-조건값 검색부(150), 작업클래스 선택부(160), 작업클래스 관리부(170) 및 주기억장치(180)를 포함하여 구성된다.1 is a functional block diagram of a work class selection apparatus according to the present invention. Referring to FIG. 1, the work class selecting apparatus 100 according to the present invention includes a first data loading unit 110, a second data loading unit 120, a server main class extraction unit 130, and an initialization setting unit 140. ), A server-condition value search unit 150, a work class selector 160, a work class manager 170, and a main memory 180.
제1데이터로딩부(110)는 클라이언트의 작업요청에 따른 작업이 이루어지도록 해당 작업을 요청하는 복수개의 클래스(이하, 작업요청클래스라 함)(200)들 각각에 대한 클래스명인 키-클래스명 그룹(key class name group)과 각 키-클래스명에 매칭되는 조건값 그룹(condition value group)을 기 구비된 데이터베이스(300)로부터 추출한 후, 각 키-클래스명을 키(key)로 하여 키-클래스명에 매칭되는 조건값 그룹을 주기억장치(180)에 위치한 해시테이블(hash table)에 저장함으로써 제1해시테이블을 도출한다.The first data loading unit 110 is a key-class name group which is a class name for each of a plurality of classes (hereinafter, referred to as a work request class) 200 requesting a corresponding work so that a work according to a work request of a client is performed. (key class name group) and condition value groups matching each key-class name are extracted from the provided database 300, and then each key-class name is a key (key) The first hash table is derived by storing a group of condition values matching the names in a hash table located in the main memory 180.
여기서, 조건값이란 클라이언트의 작업 요청시 그 요청된 작업을 식별하기 위한 값으로서, 조건값에 따라 클라이언트의 요청에 따른 작업을 수행할 클래스(즉, 작업클래스)가 다르게 선택된다.Here, the condition value is a value for identifying the requested job when the client requests a job, and a class (ie, a work class) for performing a job according to the request of the client is selected differently according to the condition value.
도 2a는 제1해시테이블에 대한 예시도로서, 제1해시테이블은 복수개의 키-클래스명과, 각 키-클래스명을 키로 하여 키-클래스명에 매칭되는 조건값 그룹을 관리한다. 여기서 각 조건값 그룹에는 복수개의 조건값이 포함되는 것으로 가정한다.FIG. 2A is an exemplary diagram of a first hash table, in which the first hash table manages a plurality of key-class names and a condition value group matching the key-class name with each key-class name as a key. Here, it is assumed that each condition value group includes a plurality of condition values.
또한, 제1데이터로딩부(110)는 각 조건값 그룹에 포함되어 있는 복수개의 조건값들 각각에 매칭되는 서버메인클래스명(server main class name)을 데이터베이스(300)로부터 추출한다. 그리고, 키-클래스명과 그 키-클래스명에 매칭되는 조건값 그룹의 각 조건값에 의거하여 키-조건값(key condition value)을 도출한 후, 도출된 키-조건값을 키로 하여 서버메인클래스명을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제2해시테이블을 도출한다.In addition, the first data loading unit 110 extracts a server main class name corresponding to each of the plurality of condition values included in each condition value group from the database 300. Then, a key condition value is derived based on the key-class name and each condition value of the condition value group matching the key-class name, and then the server main class is derived from the derived key-condition value as a key. The second hash table is derived by storing the name in a hash table located in the main memory 180.
도 2b는 제2해시테이블에 대한 예시도로서, 제2해시테이블은 키-클래스명과 그 키-클래스명에 매칭되는 조건값 그룹에 포함된 각 조건값에 의거하여 도출된 키-조건값과, 그 키-조건값을 키로 하여 서버메인클래스명을 관리한다.FIG. 2B illustrates an example of a second hash table, wherein the second hash table includes a key-condition value derived based on a key-class name and each condition value included in a condition value group matching the key-class name; The server main class name is managed using the key-condition value as a key.
제2데이터로딩부(120)는 작업요청클래스(200)로부터 작업이 요청되면, 요청된 작업에 따라 작업을 수행하는 작업클래스들(도시생략)의 상위클래스인 서버메인클래스들에 대한 클래스명인 키-서버클래스명 그룹(key server class name group)과, 각 키-서버클래스명에 매칭되는 서버-조건값 그룹(server condition value group)을 데이터베이스(300)로부터 추출한 후, 각 키-서버클래스명을 키로 하여 키-서버클래스명에 매칭되는 서버-조건값 그룹을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제3해시테이블을 도출한다. 여기서, 서버메인클래스에 대한 클래스명인 키-서버클래스명은 결과적으로 서버메인클래스명을 나타낸다.When a job is requested from the work request class 200, the second data loading unit 120 classifies a key name of a server main class that is a super class of work classes (not shown) that perform work according to the requested work. After extracting a key server class name group and a server condition value group matching each key-server class name from the database 300, each key-server class name is extracted. The third hash table is derived by storing a server-condition value group matching the key-server class name as a key in a hash table located in the main memory 180. Here, the key-server class name, which is the class name for the server main class, represents the server main class name as a result.
도 2c는 제3해시테이블에 대한 예시도로서, 제3해시테이블은 키-서버클래스명과, 키-서버클래스명을 키로 하여 키-서버클래스명에 매칭되는 서버-조건값 그룹을 관리한다. 여기서, 서버-조건값 그룹에는 복수개의 서버-조간값이 포함되는 것으로 가정한다.FIG. 2C is an exemplary diagram of a third hash table, where the third hash table manages a server-condition value group matching the key-server class name with the key-server class name as the key. Here, it is assumed that the server-condition value group includes a plurality of server-morning values.
또한, 제2데이터로딩부(120)는 각 서버-조건값 그룹에 포함되어 있는 복수개의 서버-조건값들 각각에 매칭되는 서버서브클래스명 그룹id(server sub class name group id)를 데이터베이스(300)로부터 추출한다. 그리고, 키-서버클래스명과 그 키-서버클래스명에 매칭되는 서버-조건값 그룹의 각 서버-조건값에 의거하여 키-조건값을 도출한 후, 도출된 키-조건값을 키로 하여 서버서브클래스명 그룹id를 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제4해시테이블을 도출한다.In addition, the second data loading unit 120 may store a server sub class name group id matching each of a plurality of server-condition values included in each server-condition value group. ). Then, the key-condition value is derived based on the key-server class name and each server-condition value of the server-condition value group matching the key-server class name, and the server sub-value is derived from the derived key-condition value as a key. The fourth hash table is derived by storing the class name group id in a hash table located in the main memory 180.
여기서 서버서브크래스명 그룹id는 복수개의 서버서브클래스명 그룹을 식별하기 위한 번호이며, 서버서브클래스명 그룹은 작업클래스에 대한 클래스명인 서버서브클래스명을 포함하는 그룹이다.Here, the server subclass name group id is a number for identifying a plurality of server subclass name groups, and the server subclass name group is a group including a server subclass name which is a class name for a work class.
도 2d는 제4해시테이블에 대한 예시도로서, 제4해시테이블은 키-서버클래스명과 그 키-서버클래스명에 매칭되는 서버-조건값 그룹의 각 서버-조건값에 의거하여 도출된 키-조건값과, 그 키-조건값을 키로 하여 서버서브클래스명 그룹id를 관리한다.FIG. 2D is an exemplary diagram for a fourth hash table, where the fourth hash table is a key-server class name and a key-derived based on each server-condition value group of the server-condition value group matching the key-server class name. The server subclass name group id is managed using the condition value and its key-condition value as keys.
한편, 제2데이터로딩부(120)는 제4해시테이블로부터 서버서브클래스명 그룹id를 순차적으로 도출하여, 각 서버서브클래스명 그룹id에 매칭되는 서버서브클래스명 그룹(server sub class name group)을 데이터베이스(300)로부터 추출한 후, 추출된 각 서버서브클래스명을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제5해시테이블을 도출한다.Meanwhile, the second data loading unit 120 sequentially derives the server sub class name group id from the fourth hash table, and matches the server sub class name group with each server sub class name group id. After extracting from the database 300, the fifth hash table is derived by storing each extracted server subclass name in a hash table located in the main memory 180.
도 2e는 제5해시테이블에 대한 예시도로서, 제5해시테이블은 서버서브클래스명 그룹id와, 서버서브클래스명 그룹id를 키로 하여 해당 서버서브클래스명 그룹id에 매칭되는 서버서브클래스명 그룹을 관리한다. 여기서, 서버서브클래스명 그룹에는 복수개의 서버서브클래스명이 포함되는 것으로 가정한다.FIG. 2E is an exemplary diagram of a fifth hash table, wherein the fifth hash table is a server subclass name group matching the server subclass name groupid with a server subclass name groupid and a server subclass name groupid as a key. Manage. Here, it is assumed that the server sub class name group includes a plurality of server sub class names.
서버메인클래스 추출부(130)는 소정 작업요청클래스(200)로부터 작업이 요청되면, 제1해시테이블을 바탕으로 상기 작업요청클래스(200)에 대한 키-클래스명[예컨대, 키-클래스명1][이하, 제1키-클래스명이라 함]을 도출하고, 클라이언트의 작업요청에 따라 설정된 조건값을 링크-조건값으로 할당한다.When the server main class extractor 130 requests a job from a predetermined work request class 200, the key-class name for the work request class 200 based on the first hash table [eg, the key-class name 1 ] [Hereinafter referred to as the first key-class name] is assigned, and the condition value set according to the work request of the client is assigned as the link-condition value.
그리고, 서버메인클래스 추출부(130)는 제1해시테이블을 바탕으로 상기 제1키-클래스명에 매칭되는 조건값 그룹[예컨대, 조건값 그룹1][이하, 제1조건값 그룹이라 함]을 추출한 후, 추출된 제1조건값 그룹에 링크-조건값이 존재하는지 여부를 검색한다.Then, the server main class extractor 130 matches a condition value group matching the first key-class name based on the first hash table (for example, condition value group 1) [hereinafter, referred to as a first condition value group]. After extracting, search whether the link-condition value exists in the extracted first condition value group.
이때, 상기 링크-조건값이 제1조건값 그룹에 존재하면, 제1키-클래스명과 해당 링크-조건값[예컨대, 조건값1_n][이하, 제(1_n)조건값이라 함]에 의거한 키-조건값[예컨대, 키-조건값1_n][이하, 제(1_n)키-조건값이라 함]을 도출한 후, 제2해시테이블을 바탕으로 상기 제(1_n)키-조건값을 키로 하는 서버메인클래스명[예컨대, 서버메인클래스명1_n][이하, 제(1_n)서버메인클래스명이라 함]을 추출한다.At this time, if the link-condition value exists in the first condition value group, based on the first key-class name and the corresponding link-condition value [for example, condition value 1_n] [hereinafter referred to as (1_n) condition value]. After deriving a key-condition value [e.g., key-condition value 1_n] (hereinafter referred to as (1_n) key-condition value), the first (1_n) key-condition value is keyed based on a second hash table. A server main class name (for example, a server main class name 1_n) (hereinafter referred to as a (1_n) server main class name) is extracted.
초기화 설정부(140)는 작업을 요청하는 작업요청클래스(200)를 분석하여 그 작업요청클래스(200)가 가지고 있는 서버-조건값 해시테이블을 도출한 후, 해당 서버-조건값 해시테이블에 포함되어 있는 서버-조건값들을 스트링(string)형으로 할당하여 관리하고, 작업클래스의 작업수행여부를 나타내는 클래스작업진행정보를 초기상태로 설정한다.The initialization setting unit 140 analyzes the work request class 200 requesting a work, derives a server-condition value hash table that the work request class 200 has, and includes the corresponding server-condition value hash table. It manages assigned server-condition values as string type and sets class work progress information indicating whether work class works or not to initial state.
여기서, 클래스작업진행정보가 초기상태로 설정되면, 소정 상위클래스인 서버메인클래스의 하위클래스에 해당되는 작업클래스들 중 현재 작업을 수행중인 작업클래스가 없음을 나타낸다. 한편, 클래스작업진행정보에는 현재 작업을 수행하고 있는 작업클래스에 대한 클래스명인 서버서브클래스명이 포함되는 것이 바람직하다.Here, when the class work progress information is set to an initial state, it indicates that there is no work class currently performing work among work classes corresponding to a sub class of the server main class, which is a predetermined upper class. Meanwhile, the class work progress information preferably includes a server sub class name, which is a class name of a work class currently performing work.
서버-조건값 검색부(150)는 초기화 설정부(140)로부터 도출된 서버-조건값 해시테이블을 바탕으로 서버메인클래스 추출부(130)로부터 추출된 제(1_n)서버메인클래스명에 해당되는 서버-조건값을 검색한다.The server-condition value search unit 150 corresponds to the first (1_n) server main class name extracted from the server main class extractor 130 based on the server-condition value hash table derived from the initialization setting unit 140. Retrieve the server-condition value.
작업클래스 선택부(160)는 서버-조건값 검색부(150)로부터 서버-조건값[예컨대, 서버-조건값1_n_j][이하, 제(1_n_j)서버-조건값이라 함]이 검색되면, 검색된 제(1_n_j)서버-조건값과 서버메인클래스 추출부(130)부터 추출된 제(1_n)서버메인클래스명에 의거하여 키-조건값[예컨대, 키-조건값1_n_j][이하, 제(1_n_j)키-조건값이라 함]을 도출한다.The work class selector 160 retrieves a server-condition value (for example, server-condition value 1_n_j) (hereinafter referred to as a (1_n_j) server-condition value) from the server-condition value search unit 150. Based on the (1_n_j) server-condition value and the (1_n) server main class name extracted from the server main class extracting unit 130, the key-condition value [for example, the key-condition value 1_n_j] [hereinafter, referred to as (1_n_j) ) Is called a key-condition value.
그리고, 제4해시테이블을 바탕으로 제(1_n_j)키-조건값을 키로 하는 서버서브클래스명 그룹id[예컨대, 서버서브클래스명 그룹id_(1_n_j)][이하, 제(1_n_j)서버서브클래스명 그룹id라 함]를 추출한 후, 제5해시테이블을 바탕으로 제(1_n_j)서버서브클래스명 그룹id를 키로 하는 서버서브클래스명 그룹[예컨대, 서버서브클래스명 그룹1_n_j][이하, 제(1_n_j)서버서브클래스명 그룹이라 함]을 추출한다.Then, the server subclass name group id (for example, the server subclass name group id_ (1_n_j)) having the (1_n_j) key-condition value as a key based on the fourth hash table [hereinafter, the (1_n_j) server subclass name After extracting the group id], the server subclass name group [for example, server subclass name group 1_n_j] [hereinafter referred to as (1_n_j) based on the fifth hash table based on the (1_n_j) server subclass name group id ), Called Server Subclass Name Group.
이후, 초기화 설정부(140)에서의 클래스작업진행정보 초기상태설정에 따라 제(1_n_j)서버서브클래스명 그룹에 포함된 서버서브클래스명들 중 '0'번째 인덱스에 해당되는 작업클래스의 서버서브클래스명[예컨대, 서버서브클래스명1_n_j_1][이하, 제(1_n_j_1)서버서브클래스명이라 함]을 선택한다.Thereafter, according to the initial state setting of the class work progress information in the initialization setting unit 140, the server sub of the work class corresponding to the '0' index among the server sub class names included in the (1_n_j) server sub class name group. A class name [for example, server sub class name 1_n_j_1] (hereinafter referred to as (1_n_j_1) server sub class name) is selected.
작업클래스 관리부(170)는 작업클래스 도출부(160)로부터 선택된 제(1_n_j_1)서버서브클래스명에 해당되는 작업클래스[예컨대, 제(1_n_j_1)작업대상클래스]의 상위클래스인 제(1_n)서버메인클래스명을 주기억장치(180)에 위치한 제6해시테이블에 저장한다. 여기서, 제6해시테이블은 작업클래스를 키로 하여 그 작업클래스의 상위클래스인 서버메인클래스명을 관리하는 것으로서, 주기억장치(180)에 위치한다.The work class manager 170 may include a first (1_n) server main class that is a higher class of a work class (eg, a (1_n_j_1) work target class) corresponding to a first (1_n_j_1) server subclass name selected from the work class derivation unit 160. The class name is stored in the sixth hash table located in the main memory 180. Here, the sixth hash table manages the server main class name, which is a superclass of the work class, using the work class as a key, and is located in the main memory 180.
그리고, 작업클래스 관리부(170)는 제(1_n_j_1)작업클래스를 새로운 서버메인클래스명[예컨대, 서버메인클래스명1_n_j_1][이하, 제(1_n_j_1)서버메인클래스명이라 함]으로 할당하고, 해당 제(1_n_j_1)서버메인클래스명을 상위클래스로 하는 하위클래스들(엄밀히 말하면, 작업클래스들) 중 '0'번째 인덱스에 해당되는 하위클래스의 서버서브클래스명이 작업클래스 선택부(160)로부터 선택되도록 클래스작업진행정보를 초기상태로 설정한 후, 상기 새로운 제(1_n_j_1)서버메인클래스명을 서버-조건값 검색부(150)로 리턴한다.Then, the work class management unit 170 assigns the first (1_n_j_1) work class to a new server main class name [for example, the server main class name 1_n_j_1] [hereinafter, referred to as the first (1_n_j_1) server main class name]. (1_n_j_1) Class so that the server subclass name of the subclass corresponding to index '0' among subclasses (strictly speaking, workclasses) whose server main class name is the parent class is selected from the workclass selector 160 After setting the work progress information to the initial state, the new (1_n_j_1) server main class name is returned to the server-condition value search unit 150.
이때, 서버-조건값 검색부(150)는 서버-조건값 해시테이블을 바탕으로 작업클래스 관리부(170)로부터 리턴된 제(1_n_j_1)서버메인클래스명에 해당되는 서버-조건값을 검색한다.At this time, the server-condition value search unit 150 searches for a server-condition value corresponding to the first (1_n_j_1) server main class name returned from the work class manager 170 based on the server-condition value hash table.
여기서, 서버-조건값 검색부(150)에서 제(1_n_j_1)서버메인클래스명에 해당되는 서버-조건값이 검색되지 않으면, 작업클래스 선택부(160)는 제6해시테이블을 바탕으로 제6해시테이블에 최근 저장된 작업클래스[예컨대, 제(1_n_j_1)작업클래스]를 추출하여 실행하고, 제(1_n_j_1)작업클래스의 클래스명인 서버서브클래스명[예컨대, 제(1_n_j_1)서버서브클래스명]을 클래스작업진행정보에 할당한다.Here, if the server-condition value corresponding to the first (1_n_j_1) server main class name is not found in the server-condition value search unit 150, the work class selection unit 160 performs a sixth hash based on the sixth hash table. Extract and execute the work class (eg, the (1_n_j_1) work class) recently stored in the table and classify the server sub class name (for example, the (1_n_j_1) server sub class name) that is the class name of the (1_n_j_1) work class. Assign to progress information.
그리고, 작업클래스 선택부(160)는 클래스작업진행정보에 제(1_n_j_1)작업클래스의 서버서브클래스명이 할당됨에 따라 상기 제(1_n_j_1)서버서브클래스명이 포함된 서버서브클래스명 그룹[예컨대, 제(1_n_j)서버서브클래스명 그룹]을 바탕으로 제(1_n_j_1)작업클래스의 다음 인덱스에 해당되는 작업클래스의 서버서브클래스명[예컨대, 제(1_n_j_2)서버서브클래스명]을 선택한다.In addition, the work class selecting unit 160 assigns the server sub class name of the (1_n_j_1) work class to the class work progress information. 1_n_j) server subclass name group], and selects the server subclass name (eg, (1_n_j_2) server subclass name) of the work class corresponding to the next index of the (1_n_j_1) work class.
이후, 작업클래스 관리부(170)는 작업클래스 선택부(160)로부터의 서버서브클래스명[예컨대, 제(1_n_j_2)서버서브클래스명] 선택에 따라 이미 상술한 동작과정을 반복적으로 수행한다.Thereafter, the work class manager 170 repeatedly performs the above-described operation according to the server sub class name (eg, the (1_n_j_2) server sub class name) selected by the work class selector 160.
한편, 작업클래스 선택부(160)로부터 제(1_n_j_1)작업클래스의 다음 인덱스에 해당되는 작업클래스의 서버서브클래스명이 선택되지 않으면, 작업클래스 관리부(170)는 제6해시테이블을 바탕으로 제6해시테이블에 최근 저장된 작업클래스[예컨대, 제(1_n_j_1)작업클래스]의 상위클래스인 서버메인클래스명을 검색하여 검색된 서버메인클래스명[예컨대, 제(1_n)서버메인클래스명]을 서버-조건값 검색부(150)로 리턴한다.On the other hand, if the server subclass name of the work class corresponding to the next index of the (1_n_j_1) work class is not selected from the work class selector 160, the work class management unit 170 is based on the sixth hash table, the sixth hash table. Retrieve the server main class name [eg, (1_n) server main class name] retrieved by searching the server main class name that is a superclass of the work class [eg, (1_n_j_1) work class] recently stored in the table. Return to unit 150.
마지막으로, 작업클래스 관리부(170)는 제6해시테이블을 바탕으로 제(1_n_j_1)작업클래스의 상위클래스인 서버메인클래스명이 검색되지 않으면, 작업 수행할 작업클래스가 더 이상 존재하지 않는 것으로 판단하여 작업클래스를 선택하는 과정을 종료한다.Finally, if the server main class name, which is a superclass of the first (1_n_j_1) work class, is not searched based on the sixth hash table, the work class manager 170 determines that the work class to perform work no longer exists. End the process of selecting a class.
도 3은 본 발명에 따른 작업클래스 선택방법에 대한 처리 흐름도이다. 도 3을 참조하면, 본 발명에 따른 작업클래스 선택방법은 먼저, 작업을 요청하는 작업요청클래스(200)에 대한 키-클래스명과 작업 요청시 설정되는 조건값을 키로 하여, 요청된 작업을 수행할 작업클래스들의 상위클래스인 서버메인클래스명을 주기억장치(180)에 저장함으로써 작업요청클래스(200)와 조건값 및 서버메인클래스명간의 연결관계(즉, 링크 키)를 로딩한다(s100).3 is a flowchart illustrating a method of selecting a work class according to the present invention. Referring to FIG. 3, in the method of selecting a work class according to the present invention, first, a key-class name for a work request class 200 requesting a work and a condition value set at the work request are performed as keys. By storing the server main class name, which is an upper class of the work classes, in the main memory 180, a connection (that is, a link key) between the work request class 200 and the condition value and the server main class name is loaded (s100).
또한, 서버메인클래스에 대한 클래스명인 키-서버클래스명과 서버-조건값을 키로 하여, 작업을 수행하는 작업클래스들에 대한 클래스명인 서버서브클래스명을 포함하는 그룹(즉, 서버서브클래스명 그룹)을 주기억장치(180)에 저장함으로써 작업클래스들의 상위클래스인 키-서버클래스명을 로딩한다(s140).In addition, a group including the server subclass name, which is the class name for the work classes that perform work, with the key-server class name and the server-condition value as the class name for the server main class as a key (that is, the server subclass name group). The key-server class name, which is the upper class of the work classes, is loaded by storing the memory in the main memory 180 (s140).
클라이언트의 작업요청에 따라 소정 작업요청클래스(200)로부터 작업이 요청되면, 해당 작업요청클래스(200)에 대한 키-클래스명을 도출하고, 클라이언트의 작업요청에 따라 설정된 조건값을 링크-조건값으로 할당한 후, 상기 키-클래스명과 링크-조건값을 키로 하는 서버메인클래스명을 추출한다(s180, s220).When a job is requested from the predetermined work request class 200 according to the work request of the client, a key-class name for the work request class 200 is derived, and the condition value set according to the work request of the client is linked to the condition value. After assigning to, the server main class name using the key-class name and the link-condition value as a key is extracted (s180 and s220).
그리고, 작업을 요청한 작업요청클래스(200)를 분석하여 그 작업요청클래스(200)가 가지고 있는 서버-조건값 해시테이블을 도출하고, 도출된 서버-조건값 해시테이블에 포함된 복수개의 서버-조건값을 스트링(string)형으로 생성하여 관리한다(s260).And, by analyzing the work request class 200 requesting the work to derive a server-condition value hash table owned by the work request class 200, a plurality of server-conditions included in the derived server-condition value hash table The value is generated as a string and managed (s260).
또한, 작업클래스들의 작업수행여부를 나타내는 클래스작업진행정보를 초기상태로 설정한다(s300). 즉, 클래스작업진행정보를 초기상태로 설정함으로써 현재 작업을 수행중인 작업클래스가 없는 상태임을 나타낸다.In addition, the class work progress information indicating whether the work class to perform the work is set to the initial state (s300). That is, by setting the class work progress information to the initial state, it indicates that there is no work class currently executing work.
이어서, s260단계에서 도출된 서버-조건값 해시테이블을 바탕으로 s220단계에서 추출된 서버메인클래스명에 해당되는 서버-조건값이 존재하는지 검색한다(s340).Subsequently, based on the server-condition value hash table derived in step s260, the server-condition value corresponding to the server main class name extracted in step s220 is searched for (S340).
상기 s340단계의 검색결과, 서버-조건값이 존재하면(s380), 해당 서버-조건값과 s220단계에서 추출된 서버메인클래스명을 키로 하는 서버서브클래스명 그룹을 주기억장치(180)에 위치한 제5해시테이블로부터 추출한다(s420). 여기서, s420단계와 관련된 설명은 작업클래스 선택부(160)의 설명시 언급되었으므로 생략한다.If the server-condition value is present (S380), the server sub-class name group having the server-condition value and the server main class name extracted in step S220 is located in the main memory device 180 (S380). 5 is extracted from the hash table (s420). Here, the description relating to step s420 is omitted since it was mentioned at the time of description of the work class selection unit 160.
그리고, s420단계에서 추출된 서버서브클래스명 그룹에 작업 수행할 작업대상클래스에 대한 클래스명인 서버서브클래스명이 존재하는지 검색한다(s460).In operation S460, the server subclass name group extracted in the step S420 is searched for whether the server subclass name, which is a class name for the work target class, is performed.
상기 s460단계의 검색결과, 서버서브클래스명 그룹에 서버서브클래스명이 존재할 경우(s500), s300단계에서 클래스작업진행정보의 초기상태설정에 따라 상기 서버서브클래스명 그룹에 포함된 서버서브클래스명들 중 '0'번째 인덱스에 해당되는 작업클래스의 서버서브클래스명을 선택한다(s540).If the server sub class name exists in the server sub class name group in operation s460 (s500), the server sub class names included in the server sub class name group according to the initial state setting of the class work progress information in step s300. Select the server subclass name of the work class corresponding to the '0' index (s540).
그리고, s540단계에서 선택된 서버서브클래스명에 해당되는 작업클래스를 키로 하여 그 작업클래스의 상위클래스인 서버메인클래스명을 주기억장치(180)에 위치한 제6해시테이블에 저장하고, 상기 작업클래스를 새로운 서버메인클래스명으로 할당한다(s580). 이후, 클래스작업진행정보를 초기상태로 설정한 후(s620), s580단계를 통해 생성된 새로운 서버메인클래스명에 해당되는 서버-조건값을 검색하는 단계(s340)로 복귀하여 각 단계들을 반복 수행한다.The server main class name, which is an upper class of the work class, is stored in the sixth hash table located in the main memory 180 using the work class corresponding to the server sub class name selected in step s540, and the new work class is stored. Assign by server main class name (s580). After setting the class work progress information to an initial state (s620), the process returns to step (s340) for retrieving the server-condition value corresponding to the new server main class name generated in step s580 and repeats each step. do.
한편, s340단계의 검색결과, 서버-조건값이 존재하지 않으면(s380), 주기억장치(180)에 위치한 제6해시테이블을 바탕으로 제6해시테이블에 최근 저장된 작업클래스를 추출하여 실행하고(s660), 그 작업클래스에 대한 서버서브클래스명을 클래스작업진행정보에 할당한 후(s700), 상기 작업클래스에 대한 서버서브클래스명이 포함되어 있는 서버서브클래스명 그룹에 서버서브클래스명이 존재하는지 검색하는 단계(s460)를 수행한다.On the other hand, if the server-condition value does not exist (s380) in step S340, based on the sixth hash table located in the main memory device 180, the work class recently stored in the sixth hash table is extracted and executed (s660). After assigning the server sub class name for the work class to the class work progress information (s700), the server sub class name group containing the server sub class name for the work class is searched for whether the server sub class name exists. Step s460 is performed.
이때, s460단계의 검색결과, 상기 서버서브클래스명 그룹에 서버서브클래스명이 존재하지 않으면(s500), 주기억장치(180)에 위치한 제6해시테이블을 바탕으로 최근 저장된 작업클래스의 상위클래스를 검색하고(s740), 검색결과 상위클래스가 존재하면(s780), 그 상위클래스를 서버메인클래스명으로 설정하여 s340단계로 리턴한다(s820).In this case, if the server sub class name does not exist in the server sub class name group in operation s460 (s500), the upper class of the recently stored work class is searched based on the sixth hash table located in the main memory 180. In operation S740, if the search result upper class exists (s780), the upper class is set as the server main class name and the process returns to step S340 (s820).
도 4는 본 발명에 따른 링크키 로딩단계(s100)에 대한 처리 흐름도로서, 도 4를 참조하면, 먼저, 키-클래스명 그룹 추출단계(s102)와, 조건값 그룹 추출단계(s104) 및 제1해시테이블 도출단계(s106)와 관련된 설명은 제1데이터로딩부(110)의 설명시 언급되었으므로 생략한다.4 is a flowchart illustrating a link key loading step (s100) according to the present invention. Referring to FIG. 4, first, a key-class name group extraction step (s102), a condition value group extraction step (s104), and a first method are described. The description related to the one hash table derivation step s106 is omitted since it is mentioned in the description of the first data loading unit 110.
상기 s104단계에서 추출된 각 조건값 그룹에 포함된 복수개의 조건값들 각각에 매칭되는 서버메인클래스명을 데이터베이스(300)로부터 추출한 후(s108), 추출된 각 서버메인클래스명이 널(null)인지 여부를 판단한다(s110).After extracting the server main class name corresponding to each of the plurality of condition values included in each condition value group extracted in step S104 from the database 300 (s108), whether each extracted server main class name is null. It is determined whether or not (s110).
상기 s110단계의 판단결과, s108단계에서 추출된 서버메인클래스명이 널이면, 에러(error)처리 하고(s116), 그렇지 않으면, s102단계에서 추출된 키-클래스명 그룹에 포함된 각 키-클래스명과 그 키-클래스명에 매칭되는 조건값 그룹의 조건값에 의거하여 키-조건값을 도출한 후(s112), 도출된 키-조건값을 키로 하여 s108단계에서 추출된 서버메인클래스명을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제2해시테이블을 도출한다(s114).If it is determined in step S110 that the server main class name extracted in step s108 is null, error processing is performed (s116). Otherwise, each key-class name included in the key-class name group extracted in step s102 is determined. After deriving the key-condition value based on the condition value of the condition value group matching the key-class name (s112), the server main class name extracted in step s108 using the derived key-condition value as a main memory is stored. The second hash table is derived by storing in the hash table located at 180 (s114).
도 5는 본 발명에 따른 키-서버클래스명 로딩단계(s140)에 대한 처리 흐름도로서, 도 5를 참조하면, 먼저, 제3해시테이블 도출단계(s142)와 관련된 설명은 제2데이터로딩부(120)의 설명시 언급되었으므로 생략한다.FIG. 5 is a flowchart of a key-server class name loading step s140 according to the present invention. Referring to FIG. 5, first, a description relating to the third hash table derivation step s142 is described in detail. 120, it is mentioned in the description so it is omitted.
s142단계에서 추출된 서버-조건값 그룹에 포함된 복수개의 서버-조건값들 각각에 매칭되는 서버서브클래스명 그룹id를 데이터베이스(300)로부터 추출하여 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제4해시테이블을 도출한다(s144).By extracting the server sub class name group id matching each of the plurality of server-condition values included in the server-condition value group extracted in step s142 from the database 300 and storing the extracted server sub-class name group in a hash table located in the main memory 180 A fourth hash table is derived (s144).
이어서, 상기 s144단계에서 도출된 제4해시테이블로부터 순차적으로 서버서브클래스명 그룹id를 추출하여(s146), 추출된 각 서버서브클래스명 그룹id에 해당되는 서버서브클래스명 그룹을 데이터베이스(300)로부터 추출한다(s148).Subsequently, the server sub class name group id is sequentially extracted from the fourth hash table derived in step S144 (s146), and the server sub class name group corresponding to each extracted server sub class name group id is stored in the database 300. Extracted from (s148).
이때, s148단계에서 추출된 현 서버서브클래스명 그룹이 널(null)이면(s150), 제4해시테이블로부터 서버서브클래스명 그룹id를 추출하는 단계(s146)로 복귀하여, 다음 서버서브클래스명 그룹id에 대하여 상술한 단계들(s146, s148, s150)을 반복 수행한다.At this time, if the current server subclass name group extracted in step s148 is null (s150), the process returns to step (s146) of extracting the server subclass name group id from the fourth hash table, and the next server subclass name is returned. The above-described steps (s146, s148, s150) are repeated for the group id.
한편, s148단계에서 추출된 현 서버서브클래스명 그룹이 널이 아니면(s150), s146단계에서 현재 추출된 서버서브클래스명 그룹id를 키로 하여 s148단계에서 추출된 현 서버서브클래스명 그룹을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제5해시테이블을 도출한다(s152).On the other hand, if the current server subclass name group extracted in step s148 is not null (s150), the current server subclass name group extracted in step s148 is stored using the server subclass name group id currently extracted in step s146 as a key. The fifth hash table is derived by storing in the hash table located at 180 (s152).
도 5a는 본 발명에 따른 제4해시테이블 도출단계(s144)에 대한 처리 흐름도로서, 도 5a를 참조하면, 먼저, 서버-조건값 그룹에 포함된 복수개의 서버-조건값들을 순차적으로 추출하여(s1441), 각 서버-조건값에 매칭되는 서버서브클래스명 그룹id를 데이터베이스(300)로부터 추출한다(s1442).5A is a flowchart of a fourth hash table derivation step s144 according to the present invention. Referring to FIG. 5A, first, a plurality of server-condition values included in a server-condition value group are sequentially extracted ( s1441), the server subclass name group id matching each server-condition value is extracted from the database 300 (s1442).
그리고, s1441단계에서 언급된 서버-조건값 그룹에 매칭되는 키-서버클래스명과 s1441단계에서 현재 추출된 서버-조건값에 의거하여 키-조건값을 도출한 후(s1443), 그 키-조건값이 주기억장치(180)에 위치한 해시테이블에 존재하는지 여부를 판단한다(s1444).The key-condition value is derived based on the key-server class name matching the server-condition value group mentioned in step s1441 and the server-condition value currently extracted in step s1441 (s1443). It is determined whether there is a hash table located in the main memory 180 (s1444).
상기 s1444단계의 판단결과, s1443단계에서 현재 도출된 키-조건값이 해시테이블에 존재하면, 서버-조건값 그룹으로부터 서버-조건값을 추출하는 단계(s1441)로 복귀하여 다음 서버-조건값을 추출한 후, 이미 상술한 단계들(s1442, s1443, s1444)을 반복 수행한다.As a result of the determination of step s1444, if the key-condition value currently derived in step s1443 exists in the hash table, the process returns to the step of extracting the server-condition value from the server-condition value group (s1441) to obtain the next server-condition value. After extraction, the above-described steps (s1442, s1443, s1444) are repeatedly performed.
한편, s1444단계의 판단결과, s1443단계에서 현재 도출된 키-조건값이 해시테이블에 존재하지 않으면, 그 키-조건값을 키로 하여 s1442단계에서 추출된 서버서브클래스명 그룹id를 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제4해시테이블을 도출한다(s1445).On the other hand, if the determination result of step s1444 does not exist in the hash table at present in step s1443, the server subclass name group id extracted in step s1442 is stored as the main memory device (180). The fourth hash table is derived by storing the hash table at (S1445).
도 5b는 본 발명에 따른 제5해시테이블 도출단계(s152)에 대한 처리 흐름도로서, 도 5b를 참조하면, 먼저, 도 5에 도시된 s148단계에서 추출된 서버서브클래스명 그룹으로부터 순차적으로 서버서브클래스명을 추출한다(s1521).FIG. 5B is a flowchart illustrating a fifth hash table derivation step s152 according to the present invention. Referring to FIG. 5B, first, server sub-sequential groups are extracted sequentially from the server subclass name group extracted in step s148 shown in FIG. 5. The class name is extracted (s1521).
그리고, s1521단계에서 추출된 각 서버서브클래스명에 포함된 불필요한 space 값들을 잘라냄으로써 각 서버서브클래스명을 정제하고(s1522), 정제된 서버서브클래스명을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 뉴(new)-서버서브클래스 그룹을 도출한다(s1523).The server subclass name is refined by truncating unnecessary space values included in each server subclass name extracted in step s1521 (s1522), and the refined server subclass name is stored in a hash table located in the main memory 180. By storing, a new server subclass group is derived (s1523).
이어서, s1523단계에서 도출된 뉴-서버서브클래스 그룹에 포함되어 있는 정제된 각 서버서브클래스명을 s148단계에서 추출된 서버서브클래스명 그룹에 모두 추가한 후(s1524), s146단계에서 추출된 서버서브클래스명 그룹id를 키로 하여 s1524단계에서 정제된 서버서브클래스명을 포함하는 서버서브클래스명 그룹을 주기억장치(180)에 위치한 해시테이블에 저장함으로써 제5해시테이블을 도출한다(s1525).Subsequently, after adding all refined server subclass names included in the new server subclass group derived in step s1523 to the server subclass name group extracted in step s148 (s1524), the server extracted in step s146 The fifth hash table is derived by storing the server subclass name group including the server subclass name refined in step S1524 in the hash table located in the main memory 180 using the subclass name group id as a key (s1525).
도 6은 본 발명에 따른 서버메인클래스명 추출단계(220)에 대한 처리 흐름도이다. 여기서, 도 6에 도시된 각 단계들(s222 내지 s236)과 관련된 설명은 서버메인클래스 추출부(130)의 설명시 언급되었으므로 생략한다.6 is a flowchart of a server main class name extraction step 220 according to the present invention. Here, descriptions related to each of the steps s222 to s236 illustrated in FIG. 6 are omitted in the description of the server main class extractor 130.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
본 발명에 의하면, 클라이언트의 작업요청에 따라 작업을 요청하는 클래스(작업요청클래스)와 요청된 작업을 수행하는 클래스(작업클래스)들 사이에 작업클래스선택장치를 두어, 작업요청클래스들에 대한 클래스명과 다양한 작업들을 식별하기 위한 조건값 및 각 조건값에 대응하여 작업을 수행하는 작업클래스들에 대한 클래스명을 매칭시켜, 클라이언트가 작업을 요청하면 요청된 작업을 수행할 최적의 작업클래스를 해당 작업을 요청하는 작업요청클래스와 요청된 작업의 조건값에 의거하여 선택할 수 있다는 효과가 있다.According to the present invention, a work class selection device is placed between a class requesting work (work request class) and a class performing work (work class) according to a work request of a client, and a class for work request classes. By matching the name with the condition value to identify various tasks and the class names for the work classes that perform the work corresponding to each condition value, the client can request the work and select the optimal work class to perform the requested work. This has the effect of selecting based on the task request class requesting and the condition value of the requested task.
또한, 작업요청클래스의 클래스명과 요청된 작업의 조건값에 의거하여 작업 수행할 작업클래스를 선택함으로써 선택된 작업클래스들을 보다 빠르게 조립할 수 있다는 장점이 있다.In addition, it is possible to assemble the selected work classes faster by selecting a work class to perform work based on the class name of the work request class and the condition value of the requested work.
도 1은 본 발명에 따른 작업클래스 선택장치에 대한 기능 블록도,1 is a functional block diagram of a work class selection apparatus according to the present invention;
도 2a는 본 발명에 따른 제1해시테이블에 대한 예시도,2A is an exemplary view of a first hash table according to the present invention;
도 2b는 본 발명에 따른 제2해시테이블에 대한 예시도,2b is an exemplary view of a second hash table according to the present invention;
도 2c는 본 발명에 따른 제3해시테이블에 대한 예시도,2c is an exemplary view of a third hash table according to the present invention;
도 2d는 본 발명에 따른 제4해시테이블에 대한 예시도,2d is an exemplary view of a fourth hash table according to the present invention;
도 2e는 본 발명에 따른 제5해시테이블에 대한 예시도,2E is an exemplary view of a fifth hash table according to the present invention;
도 3은 본 발명에 따른 작업클래스 선택방법에 대한 처리 흐름도,3 is a flowchart illustrating a method of selecting a work class according to the present invention;
도 4는 본 발명에 따른 링크키 로딩단계에 대한 처리 흐름도,4 is a flowchart illustrating a link key loading step according to the present invention;
도 5는 본 발명에 따른 키-서버클래스명 로딩단계에 대한 처리 흐름도,5 is a processing flowchart of a key-server class name loading step according to the present invention;
도 5a는 본 발명에 따른 제4해시테이블 도출단계에 대한 처리 흐름도,5A is a processing flowchart of a fourth hash table derivation step according to the present invention;
도 5b는 본 발명에 따른 제5해시테이블 도출단계에 대한 처리 흐름도,5b is a processing flowchart of a fifth hash table derivation step according to the present invention;
도 6은 본 발명에 따른 서버메인클래스명 추출단계에 대한 처리 흐름도이다.6 is a flowchart illustrating a server main class name extraction step according to the present invention.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0076452A KR100488916B1 (en) | 2002-12-04 | 2002-12-04 | Apparatus and method for selecting task class |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0076452A KR100488916B1 (en) | 2002-12-04 | 2002-12-04 | Apparatus and method for selecting task class |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040048557A KR20040048557A (en) | 2004-06-10 |
KR100488916B1 true KR100488916B1 (en) | 2005-05-17 |
Family
ID=37343300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0076452A KR100488916B1 (en) | 2002-12-04 | 2002-12-04 | Apparatus and method for selecting task class |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100488916B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980079627A (en) * | 1997-03-28 | 1998-11-25 | 포맨 제프리 엘 | Object-Oriented Technology Framework for Order Processing |
KR20000039746A (en) * | 1998-12-15 | 2000-07-05 | 정선종 | Mapping method between object models of different abstraction level |
KR20010093775A (en) * | 1998-09-30 | 2001-10-29 | 아이투 테크놀로지스 인코포레이티드 | Multi-dimensional data management system |
JP2002041310A (en) * | 2000-07-21 | 2002-02-08 | Nec Corp | Class dynamic bind system and its method |
-
2002
- 2002-12-04 KR KR10-2002-0076452A patent/KR100488916B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980079627A (en) * | 1997-03-28 | 1998-11-25 | 포맨 제프리 엘 | Object-Oriented Technology Framework for Order Processing |
KR20010093775A (en) * | 1998-09-30 | 2001-10-29 | 아이투 테크놀로지스 인코포레이티드 | Multi-dimensional data management system |
KR20000039746A (en) * | 1998-12-15 | 2000-07-05 | 정선종 | Mapping method between object models of different abstraction level |
JP2002041310A (en) * | 2000-07-21 | 2002-02-08 | Nec Corp | Class dynamic bind system and its method |
Also Published As
Publication number | Publication date |
---|---|
KR20040048557A (en) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11423216B2 (en) | Providing extraction results for a particular field | |
US9514286B2 (en) | Context-based security policy evaluation using weighted search trees | |
US7496601B2 (en) | Collection command applicator | |
US8171141B1 (en) | Provisioning system including stack manager | |
JP4879580B2 (en) | System and method for providing an automatic search menu to a user interface | |
TWI396984B (en) | Ranking functions using a biased click distance of a document on a network | |
US6801910B1 (en) | Method and system for guiding drilling in a report generated by a reporting system | |
US20020129353A1 (en) | Peripheral driver installation method and system | |
EP0501613A2 (en) | Heterogeneous software configuration management apparatus | |
JP2002251307A (en) | Database management system, inquiry method in database management system and inquiry execution program in database management system | |
KR20110120865A (en) | Indexing and searching dynamically changing search corpora | |
JP4371382B2 (en) | Access target information retrieval device | |
JPH01320551A (en) | File transfer | |
JP2000089989A (en) | Method for starting service using property imparted to document | |
JP7108039B2 (en) | Visual and execution template recommendations to enable system-wide control and automation of data exploration | |
CN110442584B (en) | Method for retrieving tree-structure resources based on asynchronous loading | |
JP2001188702A (en) | Distributed file system and file operating method | |
JP7161719B2 (en) | Interactive and non-interactive execution and rendering of templates for automating control and exploration across systems | |
US6725251B2 (en) | Local-file-transfer method and local-filed-transfer system for client-server system | |
KR100877156B1 (en) | System and method of access path analysis for dynamic sql before executed | |
US20060026386A1 (en) | System and method for improved prefetching | |
JP4527770B2 (en) | Information retrieval apparatus, computer program, and storage medium | |
US7966308B1 (en) | Use of a set based approach to constructing complex queries for managing resources built from a set of simple underlying operations | |
KR100488916B1 (en) | Apparatus and method for selecting task class | |
JP3799925B2 (en) | Agent service providing method and computer-readable recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130430 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150430 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |