KR102034392B1 - Method and apparatus for generating internet genealogy using string data - Google Patents

Method and apparatus for generating internet genealogy using string data Download PDF

Info

Publication number
KR102034392B1
KR102034392B1 KR1020180101967A KR20180101967A KR102034392B1 KR 102034392 B1 KR102034392 B1 KR 102034392B1 KR 1020180101967 A KR1020180101967 A KR 1020180101967A KR 20180101967 A KR20180101967 A KR 20180101967A KR 102034392 B1 KR102034392 B1 KR 102034392B1
Authority
KR
South Korea
Prior art keywords
genealogy
node
name
coordinate value
genealogical
Prior art date
Application number
KR1020180101967A
Other languages
Korean (ko)
Inventor
이용근
이목춘
함범종
Original Assignee
이용근
이목춘
함범종
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이용근, 이목춘, 함범종 filed Critical 이용근
Priority to KR1020180101967A priority Critical patent/KR102034392B1/en
Application granted granted Critical
Publication of KR102034392B1 publication Critical patent/KR102034392B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention relates to a method and an apparatus for creating an Internet genealogical tree by using string data. The method for creating an Internet genealogical tree by using string data comprises: a step of creating a genealogical tree using a node for an adult name of each person, a parents node for a father, and a child node for an immediate child by using genealogical string data representing genealogical data in string; a step of searching for all nodes of a genealogical tree by a depth-first searching method; an adult name coordinate value creation step of creating a coordinate value where an adult name corresponding to each of the searched nodes is located in a genealogical tree book; and a step of creating a record for each adult name at least including an adult name coordinate value and body content of the adult name and constructing the record as a DB table, wherein the genealogical string displays genealogical data about father before genealogical data about a child and displays genealogical data of each sibling in a predetermined order between siblings.

Description

문자열 데이터를 이용한 인터넷 족보 생성 방법 및 장치{Method and apparatus for generating internet genealogy using string data}Method and apparatus for generating internet genealogy using string data

본 발명은 문자열 데이터를 이용한 인터넷 족보 생성 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for generating internet genealogy using string data.

일반적으로 컴퓨터를 이용한 족보책 제작은 다음과 같이 이루어진다. 먼저, 족보책 제작 관리자가 족보책 제작을 위한 족보 제작용 DB 를 구축하여 N 명의 사람에 대한 정보를 매 건마다 일일이 입력하여 편집하고 저장한다. 각 사람에 대한 정보가 입력되면, 부-자 관계를 맞추고 재검토하여 검증한다. 그리고 나서 전체 모든 사람들이 포함된 족보책을 컴퓨터상에서 작성 한다. 이 때 N 명의 사람이 모두 포함된 족보책을 작성하기 위하여 트리 구조의 특성상 N 회의 DB 쿼리 조작이 필요하며, 이로 인한 시간 소요가 상당하다. In general, the production of a genealogical book using a computer is as follows. First, the genealogy book production manager builds a genealogy DB for genealogy book production, and inputs and edits and stores information about N people every single time. Once information about each person is entered, sub-child relationships are matched, reviewed and verified. Then write a genealogical book on the computer that includes everyone. At this time, N times DB query operation is necessary because of tree structure in order to create genealogy book containing all N people.

족보책을 작성한 후에는, 인터넷 족보 서비스를 위하여 족보책의 페이지별 족보 이미지나 PDF, JPG 파일을 포함한 최종 DB 데이터를 이용하여 홈페이지 족보 DB를 별도로 구축한 후, 필요한 자료들만 정리하여 DB 업로드 및 동기화 한다. 그리고 작성된 족보책 문서(페이지 별 이미지, PDF, 페이지 별 DB 가 될 수 있음) 또한 인터넷 족보 열람을 위해 최신 정보로 매번 업로드 해야 한다.After the genealogy book is created, the homepage genealogy DB is separately constructed using the final DB data including the genealogy image by page of the genealogy book, PDF, JPG file, and the like, and the necessary data are uploaded and synchronized. do. And the genealogical book document (can be a page-by-page image, PDF, page-by-page DB) should also be uploaded each time with the latest information for Internet genealogy.

인터넷 족보 서비스를 위한 홈페이지에서의 족보 구축을 보다 상세히 설명하면, 홈페이지 구축 단계에서 먼저 선행되어야 할 작업들이 있다. 첫째로, 족보에 들어갈 내용을 수집해서 데이터를 홈페이지용 인터넷 족보 DB 가 아닌 족보책 제작을 위한 족보 제작 관리용 DB로 구축하고, 둘째로 구축된 족보 제작 관리용 DB 로부터 전자 족보(e-Book) 책 내용을 작성한 후, 셋째로 족보책 내용을 인터넷 족보를 서비스 하는 웹서버로 업로드 하는 절차가 필요하다.When the genealogy construction on the homepage for the Internet genealogy service is described in more detail, there are tasks to be performed first in the homepage construction stage. Firstly, the contents of the genealogy are collected and the data is constructed as a genealogy production management DB for producing genealogy books, not an Internet genealogy DB for homepages, and second, an e-book from the genealogy production management DB constructed. Third, after writing the book contents, the process of uploading the genealogy book contents to the web server serving the Internet genealogy is needed.

이 때 족보책의 내용은 페이지 별로 최종 완성된 이미지나 PDF 문서인 경우가 대부분이다. 인터넷 족보 서비스를 위해서는 별도의 검색용 DB가 필요하다. 즉, 페이지 별로 내용들을 빨리 찾기 위하여 이름, 생년월일, 본문 내용 등의 부가 정보들과 함께 검색하려는 사람이 몇 권 몇 쪽에 위치하고 있는지 등의 개인 정보 등이 담긴 별도의 검색용 부가 DB 가 인터넷 홈페이지 서버에 병행하여 구축되어야 한다. 족보를 제작 관리하는 DB 로부터 족보 내용의 추가 / 제거 또는 편집 작업 등이 한번이라도 이루어진다면, 족보 트리 특성상 중간에 자료가 변경되면 마지막까지 전체를 모든 변경사항들을 다시 업데이트 해야 한다 따라서 족보 내용의 추가 / 제거 또는 편집이 있을 때마다 매번 족보 전체에 대해 다시 족보책을 작성해야 하고, 관련된 검색용 부가 DB 도 함께 인터넷 홈페이지 서버에 변경 시 마다 업로드 및 동기화를 해야 하는 번거로움과 불편함이 있다.At this time, the content of the genealogy book is most often a finished image or PDF document for each page. For internet genealogy service, a separate search DB is required. In other words, in order to quickly find contents by page, an additional DB for search containing personal information such as how many pages are located along with additional information such as name, date of birth, and text content is provided on the Internet homepage server. It must be built in parallel. If adding / removing or editing the genealogy content is done once from the DB for producing and managing genealogy, if the data is changed in the middle of the genealogy tree, all the changes must be updated again until the end. Whenever there is a removal or editing, the genealogy book must be rewritten for the entire genealogy each time, and there is a hassle and inconvenience of uploading and synchronizing every time the change is made to the Internet homepage server along with the related search additional DB.

본 발명이 해결하고자 하는 과제는 상술한 컴퓨터를 이용한 족보책 제작과 인터넷 상의 족보 서비스의 불편함과 한계를 해결하기 위해 창출된 것으로서, 족보 데이터를 반드시 족보 제작 관리용 DB 로 관리하면서 동시에 이를 토대로 인터넷 족보 서비스를 위해 인터넷 족보 DB 를 병행해서 구축할 필요 없이, 누구나 쉽게 메모장이나 인터넷 게시판 등을 통해 문자열로 족보 내용을 입력하여 서버로 문자열 데이터만 업로드 하면 족보책 전체 내용이 인터넷 족보용 DB로 생성되고, 검색용 DB도 함께 홈페이지에 구축되는, 문자열 데이터를 이용한 인터넷 족보 생성 방법 및 장치를 제공하는 것이다. The problem to be solved by the present invention was created in order to solve the inconvenience and limitations of the genealogy book production using the above-described computer and genealogical services on the Internet, the genealogical data must be managed as a genealogy production management DB at the same time based on the Internet Without having to build internet genealogy DB for genealogy service, anyone can easily input genealogy contents as string through notepad or internet bulletin board and upload only string data to server, and the entire contents of genealogy book is generated as internet genealogy DB. To provide a method and apparatus for generating an Internet genealogy using string data, which is also built on a homepage.

상기 기술적 과제를 이루기 위한 본 발명에 의한 문자열 데이터를 이용한 인터넷 족보 생성 방법은, Internet genealogy generating method using the string data according to the present invention for achieving the above technical problem,

족보데이터를 문자열로 나타낸 족보문자열 데이터를 이용하여 노드가 각 사람의 관명(冠名) 이고, 부(父)를 부모노드(parents node)로 하고, 직계 자녀를 자식노드(child node)로 하는 족보트리를 생성하는 단계; 상기 족보트리의 모든 노드를 깊이 우선 탐색 방식으로 탐색하는 단계; 상기 탐색된 노드 각각에 상응하는 관명이 족보책 내에서 위치하는 좌표값을 생성하는 관명 좌표값 생성단계; 및 적어도 상기 관명 좌표값과 상기 관명의 본문 내용이 포함되어 있는 관명별 레코드를 생성하여 DB테이블로 구축하는 단계를 포함하고, 상기 족보문자열은 부(父)에 대한 족보 데이터가 자녀(子女)에 대한 족보 데이터 보다 먼저 나타나고, 형제의 순서를 나타내는 정보가 없는 경우에는 형제들 간에도 미리 정해진 순서대로 형제 각각의 족보데이터가 나타나고, 형제 순서를 나타내는 정보(형제번호)가 있는 경우에는 형제 각각의 족보데이터는 순서에 상관없이 나타날 수 있는 것을 특징으로 한다. A genealogical tree where genealogical string data representing genealogical data is a string, each node is a person's name, a parent is a parent node, and a direct child is a child node. Creating a tree; Searching all nodes of the genealogical tree in a depth-first search manner; Generating coordinate value generating step of generating a coordinate value in which the tube name corresponding to each of the searched nodes are located in the genealogy book; And generating a DB table by generating a DB table including records of at least one of the coordinates of the tube name and the contents of the body of the tube, wherein the genealogical string includes the genealogical data of the child in the child. If there is no information indicating the order of siblings, the genealogy data of each sibling appears in a predetermined order among the siblings, and if there is information indicating the sibling order (brother number), the genealogy data of each sibling is present. Is characterized in that they may appear in any order.

본 발명에 있어서, 족보데이터가 입력되면 족보 문자열 데이터로 이루어지는 텍스트 파일로 생성하는 단계; 및 상기 족보 문자열 데이터가 족보 문자열 포맷과 규칙에 맞게 입력되었는지를 검증하는 syntax 체크 단계를 더 포함할 수 있다.In the present invention, if the genealogy data is input to generate a text file consisting of genealogical string data; And a syntax checking step of verifying whether the genealogical string data is input according to the genealogical string format and rules.

본 발명에 있어서, 상기 족보트리 생성 단계는. 상기 관명을 인덱스로 하는 배열이고, 상기 배열의 각 엘리먼트에는 상기 인덱스가 나타내는 관명의 부(父) 이름이 저장되어 있는, 관명 인덱스 부(父) 이름 배열을 생성하는 단계; 및 상기 관명을 인덱스로 하는 배열이고, 상기 배열의 각 엘리먼트에는 상기 인덱스가 나타내는 관명의 본문 내용이 저장되어 있는 관명 인덱스 내용 배열을 생성하는 단계를 포함한다.In the present invention, the genealogy tree generation step. Generating an irrigation name index name array, wherein the irrigation name is an array, and each element of the array stores a sub name of the irrigation name represented by the index; And generating an identifier index content array in which the body content of the tube name represented by the index is stored in each element of the array.

본 발명에 있어서, 족보책 페이지 번호가 입력되면, 상기 페이지 번호에 해당하는 페이지의 족보데이터를 상기 족보책 생성부에 의해 생성된 족보 DB에서 추출하여 디스플레이하되, 미리 정해진 페이지당 행의 개수를 기초로 추출해야 할 행에 대한 레코드를 상기 족보 DB에서 추출하여 실시간으로 페이지를 렌더링하는 단계를 더 포함할 수 있다.In the present invention, when the genealogy book page number is input, the genealogy data of the page corresponding to the page number is extracted from the genealogy DB generated by the genealogy book generation unit and displayed, based on a predetermined number of rows per page. The method may further include extracting a record of a row to be extracted from the genealogy DB and rendering a page in real time.

본 발명에 있어서, 족보책 좌표 정보는 (x, y)로 표시될 수 있고, x좌표는 족보책의 횡적 위치 좌표, y좌표는 족보책의 종적 위치 좌표를 나타내며, 족보책 좌표의 x좌표는 좌(左)로 갈수록 x 좌표값이 증가하고 y 좌표는 족보책의 아래로 갈수록 y 좌표값이 증가하되, 디스플레이 옵션에 따라 좌우를 반전시키거나 상(上)에서 하(下)로 내용이 이어질 수 있다. 즉, 우에서 좌로 또는 좌에서 우로 좌표값이 증가하는 옵션이 제공될 수 있다. 따라서 좌에서 우 옵션을 따라 좌우가 완전히 뒤바뀌어서 책을 만들 수 있다.In the present invention, the family tree book coordinate information may be represented by (x, y), the x coordinate is the horizontal position coordinate of the family tree book, the y coordinate represents the longitudinal position coordinate of the family tree book, the x coordinate of the family tree book coordinates The x coordinate value increases as it goes to the left, and the y coordinate value increases as it goes toward the bottom of the genealogy book, but depending on the display option, the contents can be reversed or moved from top to bottom. Can be. That is, the option of increasing the coordinate value from right to left or left to right may be provided. So you can make a book with left and right reversed completely by following the left to right option.

또한 옵션을 제공하여 상에서 하로 내려가는 족보가 있을 수 있다. 이 경우에는 x 의 오른쪽 증가가 세대 증가이고, y 의 아래쪽 증가가 내용으로 내려가는 족보가 된다. 여기서, 족보책 좌표는 가상의 논리(logical) 공간의 좌표인 것을 특징으로 한다. There may also be a genealogy that goes down from top to bottom by providing options. In this case, the increase in x is the increase in generations, and the increase in y is the genealogy down to the content. Here, the family tree book coordinates are characterized in that the coordinates of the virtual logical space.

본 발명에 있어서, 상기 관명 좌표값 생성단계는 탐색된 노드가 장남인 경우, 장남의 x 좌표값은 부(父)의 x 좌표값과 동일하고, 장남의 y 좌표값은 부(父)의 y 좌표 값 + 1 으로 생성하는 단계; 탐색된 노드가 장남이 아닌 나머지 형제인 경우, 상기 형제의 x좌표값은 탐색된 직전 형제의 x좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 장남의 y좌표값과 동일하게 생성하고, 상기 내용길이는 상기 노드에 해당하는 사람의 본문내용 글자수(스페이스 포함)를 자고(字高)로 나눈 값이며, 상기 자고는 족보책이 세대를 구분하는 복수의 칸으로 구성될 때 상기 칸의 높이로서 높이방향으로 글자가 들어갈 수 있는 글자수인 단계; 및 현재 탐색된 노드가 직전에 탐색된 노드보다 위세대일 경우, 현재 탐색된 노드의 x 좌표값은 상기 직전 탐색 노드의 x 좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 상기 직전 탐색 노드의 y 좌표값 - 세대차(世代差)인 단계를 포함한다. In the present invention, the step of generating the coordinate name of the irrigation is that if the searched node is the eldest son, the x-coordinate value of the eldest son is equal to the x-coordinate value of the eldest son, and the y-coordinate value of the eldest son is negative y Generating a coordinate value + 1; If the discovered node is the remaining sibling rather than the eldest son, the x-coordinate value of the sibling is x-coordinate value + content length + 1 (or 2) of the previous sibling searched, and the y-coordinate value is equal to the y-coordinate value of the eldest son. The content length is a value obtained by dividing the number of characters (including space) of the body content of the person corresponding to the node by the height of the character, and the height of the genealogy is composed of a plurality of spaces that separate generations. A number of letters that can be inserted in a height direction as the height of the cell; And x coordinate value of the currently discovered node is x coordinate value + content length + 1 (or 2) of the previous search node, and y coordinate value is immediately before the previously searched node. The y coordinate value of the search node-the generation difference.

상기 기술적 과제를 이루기 위한 본 발명에 의한 문자열 데이터를 이용한 인터넷 족보 생성 장치는, The Internet genealogy generating apparatus using string data according to the present invention for achieving the above technical problem,

족보문자열을 입력으로 하여 노드가 각 사람의 관명(冠名)이고, 부(父)를 부모노드(parents node)로 하고, 직계 자녀를 자식노드(child node)로 하는 족보트리를 생성하는 족보트리생성부; 및 상기족보트리의모든노드를깊이우선탐색방식으로탐색하고, 탐색된 노드 각각에 대해 족보책에서 위치하는 위치 좌표값을 생성하고, 상기 탐색된 관명의 위치 좌표값과 족보데이터 중 본문 내용을 포함하는 레코드로 생성하여 DB테이블로 구축하는 족보책 생성부를 포함하고, 상기 족보문자열은 부(父)에 대한 족보 데이터가 자녀(子女)에 대한 족보 데이터 보다 먼저 입력되어 있고, 형제의 순서를 나타내는 정보가 없는 경우 형제들 간에도 미리 정해진 순서대로 입력되고, 형제순서를 나타내는 정보(형제번호)가 있는 경우에는 형제 각각의 족보데이터 입력은 순서에 상관없이 이루어질 수 있는 것을 특징으로 한다.Genealogy tree that creates a genealogy tree with the genealogical string as input, the node being the name of each person, the parent being the parent node, and the immediate children as the child node. Generation unit; And searching all nodes of the genealogical tree in a depth-first search manner, generating a position coordinate value located in the genealogy book for each of the discovered nodes, and including a body content of the retrieved irrigation name of the genealogical tree and the genealogical data. Genealogy record generation unit for generating a DB table to create a record, wherein the genealogy string is the genealogy data for the father (子) is entered before the genealogy data for children (子女), the information indicating the order of siblings If there is no siblings are also input in a predetermined order, and if there is information indicating the sibling order (brother number) is characterized in that the input of the genealogical data of each sibling can be made in any order.

본 발명에 있어서, 입력된 족보 문자열이 족보 문자열 포맷과 규칙에 맞게 입력되었는지를 검증하는 족보문자열 검증부를 더 포함한다.The present invention may further include a genealogy string verification unit for verifying whether the input genealogical string is input according to the genealogy string format and rules.

본 발명에 있어서, 상기 족보트리는 상기 관명을 인덱스로 하는 배열이며, 상기 배열의 각 엘리먼트에 저장된 값은 인덱스에 상응하는 관명의 부(父) 이름인 관명 인덱스 부(父) 이름 배열; 및 상기 관명을 인덱스로 하는 배열이며, 상기 배열의 각 엘리먼트에 저장된 값은 인덱스에 상응하는 관명의 족보데이터 중 본문 내용인 관명 인덱스 내용 배열을 포함한다.In the present invention, the genealogy tree is an array having the name of the tube as an index, and a value stored in each element of the array is a tube name index part name array which is a part name of a tube name corresponding to the index; And an array in which the name of the tube is an index, and a value stored in each element of the array includes an array of index name contents that is a body content of genealogical data of the name of the tube corresponding to the index.

본 발명에 있어서, 족보책의 페이지 번호가 입력되면, 상기 페이지 번호에 해당하는 페이지의 족보데이터를 상기 족보책 생성부에 의해 생성된 족보 DB에서 추출하여 디스플레이하되, 미리 정해진 페이지당 행의 개수를 기초로 추출해야 할 행에 대한 레코드를 상기 족보 DB에서 추출하여 렌더링하는 실시간 페이지 렌더링부를 더 포함한다. In the present invention, when the page number of the genealogy book is input, the genealogy data of the page corresponding to the page number is extracted from the genealogy DB generated by the genealogy book generation unit and displayed, and the predetermined number of rows per page is displayed. The apparatus further includes a real-time page rendering unit for extracting and rendering a record of a row to be extracted based on the genealogy DB.

본 발명에 있어서, 족보책 좌표 정보는 (x, y)로 표시될 수 있고, x좌표는 족보책의 횡적 위치 좌표, y좌표는 족보책의 종적 위치 좌표를 나타내며, 좌(左)로 갈수록 x 좌표값이 증가하고 y 좌표는 족보책의 아래로 갈수록 y 좌표값이 증가하되, 디스플레이 옵션에 따라 좌우를 반전시키거나 상(上)에서 하(下)로 내용이 이어질 수 있고, 족보책 좌표는 가상의 논리(logical) 공간의 좌표이다.In the present invention, the genealogy book coordinate information may be represented by (x, y), the x coordinate is the horizontal position coordinate of the genealogy book, the y coordinate represents the longitudinal position coordinate of the genealogy book, x gradually toward the left (左) As the coordinate value increases and the y coordinate increases toward the bottom of the genealogy book, the y coordinate value increases, but depending on the display option, the contents can be reversed from left to right or from top to bottom. Coordinates in the virtual logical space.

본 발명에 있어서, 상기 족보책 생성부는, 탐색된 노드가 장남인 경우, 장남의 x 좌표값은 부(父)의 x 좌표값과 동일하고, 장남의 y 좌표값은 부(父)의 y 좌표 값 + 1 이고, 탐색된 노드가 장남이 아닌 나머지 형제인 경우, 상기 형제의 x좌표값은 탐색된 직전 형제의 x좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 장남의 y좌표값과 동일하고, 상기 내용길이는 상기 노드에 해당하는 사람의 본문내용 글자수(스페이스 포함)를 자고(字高)로 나눈 값이며, 상기 자고는 족보책이 세대를 구분하는 복수의 칸으로 구성될 때 상기 칸의 높이로서 높이방향으로 글자가 들어갈 수 있는 글자수이고, 현재 탐색된 노드가 직전에 탐색된 노드보다 위세대 일 경우, 현재 탐색된 노드의 x 좌표값은 상기 직전 탐색 노드의 x 좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 상기 직전 탐색 노드의 y 좌표값 - 세대차(世代差)이다. In the present invention, the genealogy book generating unit, when the searched node is the eldest son, the x-coordinate value of the eldest son is equal to the x-coordinate value of the eldest son, and the y-coordinate value of the eldest son is negative y-coordinate If the value + 1 and the discovered node is the remaining sibling rather than the eldest son, then the x-coordinate value of the sibling is the x-coordinate value + content length + 1 (or 2) of the previous sibling found, and the y-coordinate is y of the eldest son. The content length is the same as the coordinate value, and the content length is the number of characters (including space) of the body content of the person corresponding to the node divided by the height of the characters, and the height is the plurality of spaces in which the genealogy book divides generations. When constructed, the height of the cell is the number of characters that can be entered in the height direction, and if the currently searched node is higher than the previous searched node, the x coordinate value of the currently searched node is the value of the previous search node. x coordinate value + content length + 1 (or 2), y coordinate value is y coordinate values of all the search node - a generation gap (世代 差).

본 발명에 따른 문자열 데이터를 이용한 인터넷 족보 생성 방법 및 장치에 의하면, 누구나 쉽게 메모장이나 인터넷 게시판의 문자열로 족보 내용을 입력하여 서버로 문자열 데이터만 업로드 하면 인터넷 족보책 내용 전체를 담고 있는 텍스트 파일 하나로부터 인터넷 족보 책 내용 전체를 인터넷 족보용 DB 로 생성하고, 검색용 부가 DB (모든 사람의 이름과 책에 위치하는 페이지 정보 등) 까지 해당 테이블에 함께 포함하여 홈페이지 서버 자체에 동시에 자동 구축함으로써, 오프라인 DB 관리 서버와 온라인 서버의 인터넷 족보 간의 업데이트 부담을 없애고, 온라인 서버 자체에 문자열 데이터만 확보하고 있으면, 언제든지 즉시 해당 문자열 데이터로부터 인터넷 족보 DB 와 검색용 부가 DB 를 한번에 신속하게 만들어서 결과물을 실시간으로 재조회, 재검색할 수 있다.According to the method and apparatus for generating internet genealogy using string data according to the present invention, anyone can easily input the genealogy content into a string of a notepad or an internet bulletin board and upload only the string data to a server from a text file containing the entire Internet genealogy book contents. Offline genealogy by creating entire Internet genealogy book contents as Internet genealogy DB and including additional DB for search (name of everybody and page information located in the book) together in the corresponding table and automatically building on homepage server itself. If you remove the burden of updating the Internet genealogy of the management server and the online server, and have only the string data in the online server itself, you can quickly create the Internet genealogy DB and the search additional DB from the string data at once and re-search the results in real time. , Rescan can do.

그리고 본 발명에 의하면, 단독 관리 DB가 없으며, 족보 문자열(text) 데이터 파일 하나를 서버에 올리면 인터넷 족보책 및 검색 DB가 자동으로 생성된다. According to the present invention, there is no single management DB, and if one file of genealogical text data files is uploaded to the server, the Internet genealogy book and search DB are automatically generated.

본 발명에서는, 족보 전체의 내용이 하나의 문자열 파일 안에 존재한다. 관리 대상물이 텍스트 문자열 파일이므로 누구나 쉽게 편집 및 보관, 백업, 버전 관리가 용이하다. 그리고 텍스트 문자열 파일이 완성되면, 문자열 파일에 존재하는 특정인을 기준으로 서브트리(subtree) 만 텍스트로 추출 가능하며, 편집도 할 수 있다. 예를 들어 밀양 박씨 족보의 텍스트 파일이 완성되어 있을 경우, 20대손에 박문수가 있을 경우, 20대 손 박문수 후손들의 데이터만 추출하여 편집할 수도 있다. In the present invention, the entire genealogy is present in one string file. Since the managed object is a text string file, anyone can easily edit, archive, backup, and version control. When the text string file is completed, only a subtree can be extracted as text based on a specific person present in the string file, and the text can be edited. For example, if a text file of Milyang Park's genealogy is completed, and Park Moon-soo is in his 20s, only the data of 20-generation Park Moon-soo's descendants may be extracted and edited.

본 발명에 의하면, 족보 DB 와 관리 서버를 미리 구축할 필요가 없으며, 이를 운용하기 위한 DB 관리 전문가나 족보책을 편집하는 편집 전문가가 필요하지 않다. 즉, 별도의 오프라인 족보 DB 관리가 필요 없다. 오프라인 족보 DB 와 서버, 전용 프로그램의 전문가가 필요 없다.According to the present invention, there is no need to build a genealogy DB and a management server in advance, and there is no need for a DB management expert or an editing expert to edit the genealogy book to operate it. That is, no separate offline genealogy DB management is required. You do not need an expert on offline genealogy database, server, or dedicated program.

본 발명에 의하면, 인터넷 족보 DB 와 검색용 부가 DB 는 단일 DB 테이블 하나에 통합적으로 관리되며, 문자열 데이터로부터 DB 테이블 데이터들이 모두 추가되면 이것이 곧 족보 책 작성과 검색용 부가 DB 구축의 완료로 본다. According to the present invention, the Internet genealogy DB and the supplementary DB for searching are integratedly managed in a single DB table, and when all DB table data are added from string data, this is regarded as the completion of genealogy book creation and supplementary DB for searching.

본 발명에 의하면, 서버에서 실행되는 변환 모듈의 결과물 자체가 홈페이지 DB 테이블 이므로 별도의 인터넷 족보 책 문서를 관리자 PC 에서 매번 서버로 업로드 또는 동기화 작업을 할 필요가 없다. 즉, 오프라인 DB 관리와 인터넷 족보 DB 의 이중화로 인한 업로드, 동기화 작업이 필요 없다.According to the present invention, since the output itself of the conversion module executed on the server is a homepage DB table, there is no need to upload or synchronize a separate Internet genealogy book document from the manager PC to the server every time. In other words, there is no need for upload and synchronization work due to offline DB management and duplication of internet genealogy DB.

본 발명에 의하면, 최대한 빠른 책작성을 위하여 모든 책 내용을 완벽하게 이미지나 PDF 문서로 만들어 두는 것이 아니며, 항상 최소한의 정보만 만들어 두므로 전체 책작성의 시간이 매우 빠르다. 이로 인하여 수시로 다양한 옵션을 변경해가면서 전체 책 재작성을 실시간으로 자주 반복적으로 결과물을 재확인, 재검토 할 수 있다. 전용 족보 편집 시스템 없이도 브라우저나 모바일에서도 누구나 족보를 편집하여 실시간 재작성, 실시간 재리뷰가 가능하다.According to the present invention, not all book contents are completely made of images or PDF documents for the fastest writing of books, and only a minimum of information is always made, so the time of writing the entire book is very fast. As a result, it is possible to reconfirm and review the results of the entire book frequently and repeatedly in real time, changing various options from time to time. Anyone can edit the genealogy on the browser or mobile without real-time genealogy editing system, allowing real-time rewriting and real-time review.

본 발명에 의하면, 최종적인 완벽한 족보 페이지 내용은 사용자가 보고 싶어하는 순간에만 임시로 만들어지며, 사용자에게 보여진 직후에 최종 책 내용은 폐기된다. 책을 만들기 위한 핵심정보(사람별 위치 좌표와 내용과 그 길이 정보 등)만 DB 테이블에 보관되는 것이다.According to the present invention, the final complete genealogy page content is made temporarily only at the moment the user wants to see, and the final book content is discarded immediately after being viewed by the user. Only the core information (such as location coordinates and contents of each person and their length information) is kept in the DB table.

도 1은 본 발명에 의한 문자열 데이터를 이용한 인터넷 족보 생성 장치의 구성을 블록도로 나타낸 것이다.
도 2는 족보트리의 일 예를 나타낸 것이다.
도 3은 족보트리생성부에서 생성되는 배열을 나타낸 것으로서, (a)는 관명 인덱스 부(父) 이름 배열을 나타낸 것이고, (b)는 관명 인덱스 내용 배열을 나타낸 것이다.
도 4는 자고(字高)의 일 예를 나타낸 것이다.
도 5는 족보트리의 깊이우선, 장남우선 탐색 순서의 예를 나타낸 것이다.
도 6은 도 5의 족보트리에 대한 각 노드에 해당하는 관명이 위치하는 족보책의 페이지(210)를 나타낸 것이다.
도 7은 본 발명의 실시예에 의한 문자열 데이터를 이용한 인터넷 족보 생성 방법에 대한 일 실시예를 흐름도로 나타낸 것이다.
도 8은 탐색된 노드가 장남 노드, 장남 이외의 형제 노드 및 위 세대 노드인 경우의 노드 좌표값 생성 방법을 흐름로도 나타낸 것이다.
도 9는 관명과 본문내용 좌표값 등이 포함되어 있는 DB 테이블의 일 예를 나타낸 것이다.
도 10은 실시간 렌더링되어 디스플레이된 페이지의 일 예를 나타낸 것이다.
도 11은 페이지 렌더링부(140)가 1페이지를 렌더링할 때 수신된 자료의 예를 나타낸 것이다.
1 is a block diagram showing the configuration of an Internet genealogy generating apparatus using character string data according to the present invention.
2 shows an example of a genealogical tree.
Figure 3 shows the arrangement generated in the genealogy tree generation unit, (a) shows the name of the name index index (,) array, (b) shows the name of the index index content array.
Figure 4 shows an example of sleeping height (字 高).
Figure 5 shows an example of the depth-first, eldest son-first search order of the genealogical tree.
FIG. 6 illustrates a page 210 of a genealogy book in which a civilization corresponding to each node of the genealogy tree of FIG. 5 is located.
7 is a flowchart illustrating an embodiment of an internet genealogy generating method using string data according to an embodiment of the present invention.
8 is a flowchart illustrating a method of generating node coordinate values when the discovered node is an eldest node, a sibling node other than the eldest son, and a generational node.
9 illustrates an example of a DB table including a name of a tube, a body content coordinate value, and the like.
10 illustrates an example of a page displayed by being rendered in real time.
11 illustrates an example of data received when the page rendering unit 140 renders one page.

이하, 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Configurations shown in the embodiments and drawings described herein are only one preferred embodiment of the present invention, and do not represent all of the technical spirit of the present invention, various equivalents that may be substituted for them at the time of the present application It should be understood that there may be variations and variations.

본 발명에 따른 문자열 데이터를 이용한 인터넷 족보 생성 방법 및 장치의인터넷족보 DB 와 검색용 DB 구축은 다음과 같이 이루어진다.Internet genealogy DB and retrieval DB construction of the method and apparatus for generating internet genealogy using string data according to the present invention are performed as follows.

첫째, 사용자가 직접 메모장 또는 홈페이지 게시판에 문자열 형태로 족보 내용을 타이핑 입력하거나 복사해서 붙여넣기(copy & paste)로 게시판 글쓰기 또는 메일 작성하기 하듯 족보 생성장치에 저장 또는 파일첨부를 통한 업로드를 한다. First, the user directly inputs the genealogy content in the form of a string on a notepad or homepage bulletin board, or writes or mails the bulletin board by copying and pasting (copy & paste) or uploads the file through the genealogy generating device.

둘째, 사용자가 서버에 문자열 데이터를 업로드하면, 본 발명에 따른 족보생성 장치의 변환 모듈(족보트리생성부, 족보책 생성부)이 실행되며, 족보 문자열 데이터 전체를 파싱(parsing)하여 얻은 N 개 길이의 배열 전체를 DB 테이블에 한번에 변환되어 생성된다. 생성된 DB 테이블 하나가 곧 인터넷 족보용 책 DB 이자 검색용 DB 기능을 겸한다.Second, when the user uploads the string data to the server, the conversion module (family tree tree generation unit, family tree book generation unit) of the genealogy generating device according to the present invention is executed, and N pieces obtained by parsing the entire genealogy string data. The entire length array is created by converting it to a DB table at once. The created DB table serves as both a book of Internet genealogy and a DB for searching.

셋째, 본 발명에 따른 족보생성장치의 실시간 족보 렌더링 모듈(페이지 렌더링부)은 사용자가 족보책을 보려고 하는 순간 해당 페이지만 실시간으로 책으로 만들어 표시하기 때문에, 족보 내용 최종물이 모두 작성되어 DB 테이블에 저장되는 것이 아니라, 실시간으로 책을 만들 수 있을 정도의 최소한의 핵심 정보만을 파싱(parsing) 과정에 생성하여 DB 테이블에 최소한의 정보들만 만들어서 DB 테이블에 저장한다.Third, since the real-time genealogy rendering module (page rendering unit) of the genealogy generating apparatus according to the present invention displays only the corresponding page in real time as the user tries to view the genealogy book, the finals of the genealogy content are all created and the DB table Rather than being stored in the database, only the minimum core information that is enough to make a book in real time is created during parsing process, and the minimum information is created in the DB table and stored in the DB table.

보다 구체적으로 본 발명을 설명하기로 한다. 먼저, 문자열 데이터 입력 및 문자열 데이터 파일 생성에 대해 설명한다.More specifically, the present invention will be described. First, string data input and string data file generation will be described.

본 발명에 따른 문자열 데이터를 이용한 인터넷 족보 생성 장치는 문자열 데이터를 인터넷 족보 생성 장치에 입력한다. 상기 문자열 데이터는 텍스트(text) 문자열을 파일로 만들어 사용할 수 있다. The internet genealogy generating apparatus using string data according to the present invention inputs the string data into the internet genealogy generating apparatus. The string data may be used by making a text string into a file.

본 발명에서는 사용자가 직접 족보의 내용을 최소한의 규칙에 맞게 입력해야 하므로 데이터형식에 맞게 입력되지 않은 자료가 있을 경우 오류나 경고메시지를 표시하고 진행을 중단한다.In the present invention, since the user must directly input the content of the genealogy in accordance with the minimum rules, if there is data that is not entered according to the data format, an error or warning message is displayed and the process is stopped.

각 사람의 족보 데이터를 문자열로 입력할 때 문자열 데이터의 포맷과 입력 규칙이 있다. 사용자는 족보 내용을 조상부터 반드시 차례대로 입력해야 할 필요는 없으며, 두 가지 규칙을 준수해야 한다 예를 들어, 족보 데이터에서 아버지(父)에 대한 족보 데이터를 자녀(子女)에 대한 족보 데이터를 먼저 입력해야 한다. 父 족보 데이터와 子女 족보데이터를 연속해서 입력할 필요는 없지만 족보 데이터 문자열에는 父 족보 데이터가 子女 족보 데이터 보다 먼저 나와야 한다. When entering each person's genealogical data as a string, there are format and input rules of the string data. The user does not have to enter the genealogical information in order from the ancestors in order and must observe two rules. For example, in the genealogical data, the genealogical data for fathers and the child's genealogical data for children You must enter it. It is not necessary to input the genealogical genealogy data and the genealogical genealogy data consecutively, but the genealogical data string must appear before the genealogical genealogy data in the genealogical data string.

그리고 형제들 간에도 순서가 있다면, 예를 들어 나이 순서대로 입력되어야 한다. 예를 들어, 형에 대한 족보 데이터가 아우에 대한 족보 데이터보다 먼저 입력되어야 한다. 즉, 형제들은 순서대로 배치되어야 한다. 서로 떨어져 있어도 아버지를 명시만 하면 상관은 없으나, 형제들 간의 순서를 나타내는 정보가 명시적으로 표시되어 있지 않다면, 차남이 장남보다 앞서서 배치될 수는 없다. 하지만, 옵션으로 남자끼리 먼저 보여주고 여자끼리 나중에 보여줄 수 있으며, 형제의 순서를 나타내는 형제번호를 명시하여 입력하면 형제들 간의 족보데이터 입력은 순서에 상관없이 입력 가능하다.And if there is an order among the brothers, it must be entered in order of age, for example. For example, genealogical data for a brother must be entered before genealogical data for an older brother. That is, the brethren must be arranged in order. It does not matter if you specify the father, even if they are separated from each other, but the second son cannot be placed before the eldest son unless the information indicating the order between the brothers is explicitly indicated. However, as an option, you can show men first and women later. If you specify a sibling number that indicates the order of siblings, you can enter genealogical data between siblings in any order.

본 발명의 실시예에 따른 문자열 데이터 포맷은 표 1과 같은 형식으로 구성될 수 있다. 상기 문자열 데이터에는 족보 내용 전체가 포함될 수 있다.The character string data format according to an embodiment of the present invention may be configured in the format shown in Table 1. The string data may include the entire genealogy content.

<문자열 데이터 포맷 ><String data format> 父지시자, 컬럼항목구분자, 父고유명칭 [ ,컬럼항목구분자, 祖父고유명칭] [ ,컬럼항목구분자, 曾祖父고유명칭] [ ,컬럼항목구분자, 高祖父고유명칭], 행구분자,
성별지시자, 컬럼항목구분자, 한자이름 , 컬럼항목구분자, 한글이름 [ ,컬럼항목구분자, 기타 옵션들] [ ,컬럼항목구분자, 기타 옵션들]
본문 내용
레코드항목구분자
:
:
父 indicator , column item delimiter , 父 unique name [, column item delimiter, 祖父 unique name] [, column item delimiter, 祖父 祖父 unique name] [, column item delimiter, high unique name], row delimiter ,
Gender indicator , column item separator , kanji name , column item separator , Hangul name [, column item separator, other options] [, column item separator, other options]
Skip to content
Record Item Separator
:
:

여기서, 문자열 데이터 포맷에 포함된 상기 부(父)지시자는 한글로 "부"로 표기된다. 상기 컬럼항목 구분자는 한 건(사람)의 자료 안의 항목(속성, 필드, 아이템 예: 이름, 나이, 성별 등 )과 항목을 구분하기 위한 문자코드 또는 문자열로 콤마나 스페이스, 콜론 등을 정의하여 사용할 수 있다. 상기 父고유명칭은 父의 이름이고, 상기 성별지시자는 남, 녀, 서(사위), 계(양자) 등이 가능하다. 상기 한자이름은 본인의 한자 이름이고, 상기 한글이름은 본인의 한글 이름이고, 본문 내용은 족보의 주석 내용 전체를 포함하고, 상기 레코드 항목구분자는 표 2,3,4 와 같이 사람과 사람을 구분하는 문자열로 엔터 등으로 정의하여 사용할 수 있다. '[ ]'은 생략가능한 옵션을 나타내고, 상기 '본문 내용'에는 컬럼항목구분자가 없다. Here, the sub indicators included in the character string data format are denoted as "part" in Korean. The column item delimiter can be used by defining a comma, space, colon, etc. as a character code or string for distinguishing an item (attribute, field, item such as name, age, gender, etc.) from a single data. Can be. The 유 unique name is the name of 父, the gender indicator may be male, female, Western (son-in-law), system (quantum) and the like. The Hanja name is the name of the Chinese character, the Hangul name is the name of Korean, the body content includes the entire contents of the annotation of the genealogy, and the record item separator distinguishes people from each other as shown in Tables 2, 3, and 4 Can be defined and used as an enter string. '[]' Indicates optional options, and the 'body content' does not have a column item separator.

<예 : 레코드1><Example: Record 1> 부: 홍길동: (행구분자)
남: 洪英哲: 홍영철
(내용)
Department: Hong Gil-dong:
M: 洪英哲: Hong Young Chul
(Contents)

레코드항목 구분자(예 : 두 개의 엔터키)Record entry separators (for example, two enter keys)

<레코드 2 ><Record 2> 남: 洪英吉: 홍영길 (행구분자)
(내용)
M: 洪英吉: Hong Yeong-hong
(Contents)

레코드항목 구분자(두 개의 엔터키)Record Item Separator (Two Enter Keys)

<레코드 3><Record 3> 남: 洪英水: 홍영수 (행구분자)
내용
M: 洪英 水: Hong Young-soo
Contents

다음은 본 발명의 일실시예에 사용되는 문자열 데이터의 구체적인 예를 나타낸 것이다.The following shows a specific example of character string data used in an embodiment of the present invention.

<문자열 데이타의 예> <Example of String Data>

part

남 翼峴君 익현군 1431 1431 Ikhyeon-gun, 翼 峴 君

諱 字光之諱 字 光 之

世宗英文睿武仁聖明孝大王第十五男母愼嬪金氏生六男皆封君君序居第四男世宗 英文 睿 武 仁 聖明 孝 大王 第十五 男 母 愼 嬪 金氏 生 六 男 皆 封 君君 序 居 第四 男

世宗十三年一四三一辛亥九月四日生世宗 十 三年 一 四 三 一 辛亥 九月 四日 生

世宗十九年一四三七丁巳十二月八日封翼峴君世宗 十九 年 一 四 三七 丁巳 十二月 八日 封 翼 峴 君

世祖一年一四五五乙亥九月五日策勳輸忠衛社同德佐翼一等功臣世祖 一年 一 四五 五 乙亥 九月 五日 策 勳 輸 忠 衛 社 同 德佐 翼 一等 功臣

世祖九年一四六三癸未五月四日卒輟朝市二日諡忠成危身奉上忠佐相克終成不遷之位墓南楊州郡眞乾面龍井里芝沙洞山二一의七艮坐有碑床石長明燈文官石胎室星州郡月恒面仁村里禪石寺世宗王子胎室西祖 九年 一 四六 三 癸未 五月 四日 卒 輟 朝 市 二 日 諡 忠 成 危 身 奉上 忠 佐 相 克 終 成 不 遷 之 位 墓 南 楊 州郡 眞 乾 面 龍 井里 芝 沙 洞山 二 一 七 艮坐 有 碑 床 石長明 燈 文官 石 胎 室 星 州郡 月 恒 面 仁 村里 禪 石 寺 世宗 王子 胎 室

配金堤郡夫人平壤趙氏父少尹議政府左贊成鐵山祖開國功臣平壤府院君平間公外祖郡守李守良配 金堤 郡 夫人 平壤 趙氏 父 少尹 議 政府 左 贊成 鐵山 祖開國 功臣 平壤 府 院 君平 間 公 外祖 郡守 李 守 良

世宗十六年一四三四甲寅三月三日生世宗 十六 年 一 四 三四 甲寅 三月 三 日 生

中宗四年一五?九己巳十二月四日卒享年七十六墓公墓左麓子坐有碑石床中 宗 四年 一 五? 九 己巳 十二月 四日 卒 享年 七十 六 墓 公墓 左 麓 子 坐 有 碑石 床

부 익현군Ikhyeon County

남 槐山君 괴산군 1452 South 1452 山君 Goesan-gun 1452

諱漬諱 漬

初授正階至嘉德大夫以勳蔭陞爲一品初 授 正 階 至 嘉德 大夫 以 勳 蔭 陞爲 一 品

文宗二年一四五二壬申三月三日生文宗 二年 一 四五 二 壬申 三月 三 日 生

世祖十三年一四六七丁亥六月十日卒停朝市三日諡康懷溫柔好樂康慈仁短折懷墓初葬于楊州海東村俗稱所阿五乙海東村倉洞驛雙葛門子坐一九六一年辛丑五月移葬于先金堤郡夫人墓下子坐有碑床石文石陰記年久刻弊不卞一字行積無傳世祖 十 三年 一 四 六七 丁亥 六月 十 日 卒 停 朝 市 三 日 諡 康 懷 溫柔 好 樂 康 慈仁 短 折 懷 墓 初 葬于 楊 州 海東 村 俗稱 所 阿 五乙 海東 村 倉 洞 驛 雙 葛 門子 坐 一九 六 一年 辛丑 五月 移 葬于 先 金堤 郡 夫人 墓 下子 坐 有 碑 床 石文 石 陰 記 年 久 刻 弊 不 卞 一字 行 積 無 傳

配郡夫人韓山李氏父大司成祖輔國崇祿領中樞贈領相文烈公季旬牧隱先生穡玄孫忌十二月四日墓配 郡 夫人 韓 山 李 氏 父 大 司 成祖 輔 國 崇 祿 領 中 烈 相 文 烈 公 季 旬 牧 隱 先生 穡 玄孫 忌 十二月 四日 墓

부 괴산군 익현군Bu Gosan County Ikhyeon-gun

계 花山君 화산군 1533 15, flower mountain summit volcano

諱諧 字和而 諱 諧 字 和 而

生父榮山君一名蛇山君灝義昌君二男生父 榮山君 一名 蛇 山君 灝 義昌 君 二 男

成宗七年一四七六丙申三月三日生成 宗 七年 一 四 七六 丙申 三月 三 日 生

成宗二十五年一四七四甲寅王大金堤郡夫人之回甲公之十九歲也公以德選入繼爲后襲封正義大夫成 宗 二十 五年 一 四七 四 甲寅 王 大 金堤 郡 夫人 之 回 甲 公 之 十九 歲 也 公 以 德 選 入 繼 爲 后 襲封 正義 大夫

中宗二十八年一五三三癸巳九月二日卒享年五十八歲墓王大墓上峰甲坐有碣領相延安金謹思撰中 宗 二十 八年 一五三 三 癸巳 九月 二 日 卒 享年 五十 八歲 墓 王 大 墓 上 峰 甲 坐 有 碣 領 相 延安 金 謹 思 撰

配驪興縣夫人礪山宋氏父社稷令瑚祖礪山君益孫外祖贈左贊成平壤趙鐵山配 驪 興縣 夫人 礪 山 宋氏 父 社稷 令 瑚 祖 礪 山君 益 孫 外祖 贈 左 贊成 平壤 趙鐵山

成宗九年一四七八戊戌九月九日生成 宗 九年 一 四 七八 戊戌 九月 九日 生

中宗三十四年一五三九己亥四月二十四日卒墓同原連墳在後 中 宗 三十 四年 一五三 九 己亥 四月 二十 四日 卒 墓 同 原 連 墳 在 後

부 화산군 괴산군Bu Volcano Goesan County

남 成安正 성안정 1519 South Seongstable Stability 1519

諱禎 初授守階至明善大夫諱 禎 初 授 守 階 至 明 善 大夫

中宗十四年一五一九己卯正月十日生中 宗 十四 年 一 五一 九 己卯 正月 十 日 生

宣祖十四年一五八一辛巳十二月二十五日卒 墓芝沙洞忠成公墓局內癸坐有碣宣 祖 十四 年 一 五 八一 辛巳 十二月 二十 五日 卒 墓 芝 沙 洞 忠 成 公墓 局 內 癸 坐 有 碣

配愼夫人高靈申氏配 愼 夫人 高 靈 申 氏

父贈判書涵己卯七月五日生丁丑六月四日卒墓同原父 贈 判 書 涵 己卯 七月 五日 生 丁丑 六 月 四日 卒 墓 同 原

도 1은 본 발명에 의한 문자열 데이터를 이용한 인터넷 족보 생성 장치의 구성을 블록도로 나타낸 것이다.1 is a block diagram showing the configuration of an Internet genealogy generating apparatus using character string data according to the present invention.

본 발명에 의한 문자열 데이터를 이용한 인터넷 족보 생성 장치는 족보문자열 검증부(110), 족보트리생성부(120), 족보책 생성부(130)를 포함하여 이루어진다. 그리고 페이지 렌더링부(140)를 더 포함할 수 있다. Internet genealogy generating apparatus using the string data according to the present invention comprises a genealogy string verification unit 110, genealogy tree generation unit 120, genealogy book generation unit 130. The page rendering unit 140 may further include.

족보문자열 검증부(110)는 입력된 족보문자열이 족보 문자열 포맷과 규칙에 맞게 입력되었는지를 검증한다. 족보문자열 검증부(110)는 족보문자열의 문법(syntax)을 체크하는 모듈로서, 족보문자열 입력 때 상술한 바와 같이 족보문자열에 부(父)에 대한 족보 데이터가 자녀(子女)에 대한 족보 데이터 보다 먼저 나타나고, 형제들 간에도 형제의 순서를 나타내는 정보가 없는 경우에는 미리 정해진 순서대로 형제 각각의 족보데이터가 나타나는 것을 체크하고, 문자열 포맷에 맞는지 체크한다. 족보문자열 검증부(110)는 체크결과 족보문자열이 문법에 맞지 않으면 오류를 출력하고, 문법에 맞으면 족보트리 생성부(120)로 전달된다.The genealogical string verification unit 110 verifies whether the input genealogical string is input according to the genealogical string format and rules. The genealogy string verification unit 110 is a module that checks the syntax of the genealogy string. As described above, when the genealogy string is input, the genealogy data for the negative in the genealogy string is more than the genealogy data for the child. If it appears first, and there is no information indicating the order of siblings among the siblings, it is checked that the genealogical data of each sibling appears in a predetermined order, and it is checked whether it is in the format of a string. The genealogical string verification unit 110 outputs an error if the genealogical string does not match the grammar as a result of the check, and is transmitted to the genealogical tree generation unit 120 if the grammar is correct.

족보트리 생성부(120)는 족보문자열 검증부(110)를 통해 검증된 족보문자열을 이용하여 족보트리를 생성한다. 도 2는 족보트리의 일 예를 나타낸 것이다. 노드는 각 사람의 관명(冠名)이 될 수 있다. 본 발명에서 관명(冠名)은 각 사람의 이름도 될 수 있다. 즉, 관명이 없는 사람은 이름이 관명을 대체한다. 도 2를 참조하면, 상기 족보트리는 루트 노드(210)로 1세 관명(冠名)이 될 수 있고, 루트노드에 직계 자식들(2세)이 각각의 노드로 링크되어 있다. 예를 들어 1세(루트노드)의 자식이 2명이면, 루트노드(root node) 밑에 2개의 자식 노드(child node, 220, 222)가 연결된다. 그리고 상기 직계 자식들(2세) 노드 각각에 또 자식들(3세)이 있으면 2세 노드 밑에 직계 자식들이 2세노드의 자식노드(230, 232, 234)로 연결된다. 이와 같은 과정을 통해 모든 사람(전체 레코드)이 족보트리에 포함된다.The genealogy tree generation unit 120 generates a genealogy tree using the genealogy string verified through the genealogy string verification unit 110. 2 shows an example of a genealogical tree. A node can be the person's name. In the present invention, the name can also be the name of each person. In other words, for a person without a name, the name replaces the name. Referring to FIG. 2, the genealogy tree may be a first generation name as a root node 210, and direct children (2 years old) are linked to each node to the root node. For example, if there are two children of 1 year old (root node), two child nodes 220 and 222 are connected under the root node. If each of the direct children (2 years old) node has children (3 years old), the direct children are connected to the child nodes 230, 232, and 234 of the 2 years old node under the 2 years old node. Through this process, everyone (the whole record) is included in the genealogical tree.

상기 족보트리는 문자열 인덱스 기반 배열을 갖는 데이터 구조로 표현될 수 있다. 즉, 상기 문자열 인덱스 배열은 관명(冠名)을 인덱스로 하는 배열로 구성될 수 있으며, 문자열을 이루는 각각의 엘리먼트는 관명에 의해 식별된다. 족보트리 생성부(120)에서 생성되는 족보트리는 관명 인덱스 배열로서 각 엘리먼트에는 해당 관명의 부(父) 이름이 저장되어 있는 관명 인덱스 부(父) 이름 배열과 상기 관명인덱스 배열의 엘리먼트에는 관명에 해당하는 각 사람의 본문내용 데이터가 저장되어 있는 관명 인덱스 내용 배열로 구성될 수 있다. The genealogy tree may be represented as a data structure having a string index based array. That is, the string index array may be composed of an array whose index is a tube name, and each element constituting the string is identified by the tube name. Genealogy tree generated by the genealogy tree generation unit 120 is a tube name index array, each element corresponding to the name of the tube name index part name array and the name of the tube name index array that stores the name of the relevant tube name corresponding to the name of the tube name It can be composed of an array of index index content that stores the body content data of each person.

도 3의 (a)는 관명 인덱스 부(父) 이름 배열을 나타낸 것이고, 도 3의 (b)는 관명 인덱스 내용 배열을 나타낸 것이다. 상기 관명 인덱스 부(父) 이름 배열을 통해 족보책에 포함된 모든 사람의 부자(parent-child)관계를 나타내는 계층구조(hierarchy)를 알 수 있다.Fig. 3A shows the pipe name index sub name array, and Fig. 3B shows the pipe name index content array. The hierarchical index representing the parent-child relationship of all the persons included in the genealogy book may be known through the array of the names of the index names.

족보트리 생성부(120)에 의해 생성된 두 가지의 배열 즉, 관명 인덱스 부(父) 이름 배열과 관명 인덱스 내용 배열은 족보책 생성부(130)로 전달된다. The two arrays generated by the genealogy tree generation unit 120, that is, the name of the naming index sub name and the name of the naming index content, are transferred to the genealogy book generation unit 130.

족보책 생성부(120)는 족보트리 전체, 즉 족보트리의 모든 노드를 탐색한다. 상기 노드는 각 사람의 관명(冠名)을 나타내며, 탐색된 노드 각각에 대해 각 사람의 관명(冠名)이 족보책에서 위치하는 좌표를 생성하고, 모든 관명에 대한 좌표가 결정된다. 이와 같이 결정된 모든 관명의 좌표에 관명을 위치시키면 족보책이 생성된다. 상기 족보트리 탐색은 장남우선 탐색, 깊이우선 탐색 방식으로 탐색하여 각 노드의 좌표를 생성한다. The genealogy book generation unit 120 searches the entire genealogy tree, that is, all nodes of the genealogy tree. The node represents each person's name, and for each node searched, a coordinate is created in which the person's name is located in the genealogical book, and the coordinates for all of the names are determined. Placing the names in the coordinates of all the names of the pipes determined in this way generates a genealogy book. The pedigree tree search searches for the eldest son first and the depth first to generate coordinates of each node.

족보책은 특성상 장남이 아우보다 먼저 표시되는 장남 우선 표시를 취하고, 장남은 아버지 바로 밑 칸에서 아버지 바로 밑에 위치한다. 차남은 장남의 본문 내용이 기재가 끝난 후에 장남과 같은 칸에 장남 좌편에 기재된다. 장남은 아버지 바로 밑에 기재되므로, 장남과 장남 형제의 기재가 끝난 후의 x 좌표값에 장남의 위 칸에 아버지의 형제인 작은 아버지 관명이 기재된다. 이렇게 해야 작은 아버지의 바로 밑 칸에 작은 아버지의 장남이 기재될 수 있다. 이러한 족보책의 기재 특성에 맞도록 족보책이 생성되어야 하므로 족보트리의 탐색은 깊이 우선 장남우선 탐색으로 이루어진다. The genealogy book is characterized by the eldest son's first indication, which is the eldest in front of his brother. The second son is listed on the left side of the eldest son in the same column as the eldest son after the text of the eldest son is completed. Since the eldest son is listed just below the father, the smallest father's name, the father's brother, is described in the upper half of the eldest son in the x coordinate after the eldest and eldest brothers are finished. This way, the eldest son's eldest son can be listed in the space just below the little father. Since the genealogy books should be generated to meet the description characteristics of the genealogy books, the search of the genealogy tree is a depth-first search for the eldest son.

도 5는 족보트리의 깊이우선, 장남우선 탐색 순서의 예를 나타낸 것이다. 도 5를 참조하면, 1번 노드는 1세인 루트노드를 나타내고, 1세의 자녀인 2세는 2번노드와 11번 노드가 되고, 3세는 2번 노드의 직계자녀인 3번노드와 7번 노드가 되고, 4세는 3번노드의 자녀인 4번노드와 6번 노드 및 7번노드의 자녀인 8번노드, 9번노드 및 10번 노드가 된다. 그리고 5세는 4번노드의 자녀인 5번 노드가 된다.Figure 5 shows an example of the depth-first, eldest son-first search order of the genealogical tree. Referring to FIG. 5, node 1 represents a root node that is 1 year old, and 2 years old, a child of 1 year old, becomes node 2 and 11, and 3 years old node 3 and 7 that are direct children of node 2. 4 years old is a child of node 3, node 4 and node 6, and the child of node 7 node 8, node 9 and node 10. And 5 years old becomes node 5 child of node 4.

도 5를 참조하여 족보트리의 노드 탐색 순서를 살펴보기로 한다. 상기 족보트리를 깊이우선, 장남우선 탐색 방식으로 탐색하면, 먼저 루트노드인 1번 노드가 탐색되고, 그 다음은 2번 노드가 탐색되고, 그 다음은 장남우선의 깊이 우선 탐색이므로 11번 노드보다 먼저 3번 노드가 탐색되고, 4번노드, 5번 노드가 탐색된다. 5번 노드 보다 더 깊은 노드가 없으므로, 탐색된 4번 노드로 올라온다. 4번 노드에는 탐색 안된 자식노드가 없으므로 다시 탐색된 3번노드로 올라온다. 3번 노드에는 탐색 안된 자식노드가 6번노드이므로 6번노드를 탐색한다. 6번 노드는 자식노드가 없으므로 다시 탐색된 3번노드로 올라온다. 3번노드에는 탐색 안된 자식노드가 없으므로 다시 탐색된 2번노드로 올라온다. 2번 노드에는 탐색안된 자식노드가 있으므로 7번 노드를 탐색한다. 7번 노드는 자식노드가 있으므로 장남인 8번 노드를 먼저 탐색하고, 8번 노드는 자식노드가 없으므로 탐색된 7번노드로 올라온다. 그 다음에 7번 노드의 탐색 안된 자식노드인 9번 노드를 탐색하고, 9번노드의 자식노드가 없으므로 탐색된 7번노드로 올라온다. 7번 노드에 탐색안된 자식노드인 10번노드가 있으므로 10번노드를 탐색한다. 10번 노드는 자식노드가 없으므로 탐색된 7번노드로 올라온다. 7번 노드의 탐색 안된 자식노드가 없으므로 탐색된 2번 노드로 올라가고 2번 노드는 탐색 안된 자식노드가 없으므로 탐색된 1번 노드로 올라간다. 1번 노드는 탐색 안된 자식노드인 11번노드가 있으므로 11번 노드를 탐색한다. 11번 노드는 탐색 안된 자식노드가 없으므로 1번 노드로 올라가고 1번 노드의 탐색 안된 자식노드가 없으므로 탐색은 종료한다. A node search order of a genealogy tree will be described with reference to FIG. 5. When searching the genealogical tree in a depth-first and eldest-first search method, node 1, which is the root node, is searched first, then node 2 is searched, and then, depth-first search of the eldest son-first, First, node 3 is searched, node 4 and node 5 are searched. Since there is no node deeper than node 5, it comes up to node 4 discovered. Node 4 has no unseen child nodes, so it comes back to node 3 discovered. Node 3 searches for node 6 because the undiscovered child node is node 6. Node 6 has no children, so it comes back up to node 3 again. Node 3 has no unseen child nodes, so it comes back to node 2 discovered. Since node 2 has child nodes that are not discovered, node 7 is searched. Since node 7 has child nodes, node 8 is searched for the eldest son, and node 8 comes up as node 7 because it has no children. Next, it searches for node 9, which is an unsearched child node of node 7, and comes up to node 7 because there is no child node for node 9. Since node 7 has node 10, which is an undetected child node, node 10 is searched. Node 10 comes up as node 7 discovered because it has no children. Since there is no undetected child node of node 7, it goes up to node 2 that was discovered, and node 2 goes up to node 1 that was discovered because there are no un discovered child nodes. Node 1 searches node 11 because node 11 is an unsearched child node. Node 11 goes up to node 1 because there are no undiscovered child nodes and search ends because node 1 does not have undiscovered child nodes.

한편, 족보책 생성부(130)에 의해 생성되는 족보책은 온라인 상의 족보 DB(135)로 구현될 수 있다. 족보책 생성부(130)를 통해 생성되는 상기 온라인상의 족보 DB(135)에는 사람 수만큼의 레코드(행구별, DB테이블의 row 개수)가 구비되며, 상기 레코드에는 각 사람의 족보책에서의 좌표 정보와 각 사람의 본문 내용의 길이(내용길이) 정보가 생성되어 저장될 수 있다. 또한 상기 각 사람의 레코드에는 각 사람의 관명, 본문내용, 장남 여부 및 형제 순서를 나타내는 형제 번호, 아버지가 누구인지 부(父) 정보, 몇 세(世)인지 나타내는 세대(世代) 정보 등이 포함될 수 있다. On the other hand, the genealogy book generated by the genealogy book generation unit 130 may be implemented as a genealogy DB 135 on-line. The online genealogy DB 135 generated through the genealogy book generation unit 130 includes the number of records (per row, the number of rows in the DB table) of the person, and the record includes the coordinates in the genealogy book of each person. Information and length (content length) information of each person's body content can be generated and stored. In addition, each person's record includes each person's name, text, sibling number indicating the eldest son and the order of siblings, minor information about who the father is, and generation information indicating how old the father is. Can be.

본 발명의 실시예에서는 깊이우선 탐색시 하나의 노드(한 사람)가 탐색할 때마다 하나의 레코드가 생성된다. 탐색이 끝나면 탐색된 노드 수 만큼 각 사람의 레코드가 생성된다. DB 테이블(135)에 한 레코드를 삽입하라는 insert 명령에 의해 DB테이블에 항목을 지정하고 지정된 항목에 값들을 기재함으로써 레코드가 생성된다.In the embodiment of the present invention, one record is generated each time one node (one person) searches in the depth-first search. At the end of the search, each person's record is generated for the number of nodes discovered. A record is created by specifying an item in the DB table and entering values in the designated item by the insert command to insert a record into the DB table 135.

상기 족보책 좌표 정보는 (x, y)로 표시될 수 있고, x좌표는 족보책의 횡적 위치 좌표, y좌표는 족보책의 종적 위치 좌표를 나타낸다. x 좌표 값은 족보책의 좌우를 구별하는 좌표로서, 일반적으로 족보책은 우(右)에서 좌(左) 방향으로, 상(上)에서 하(下) 방향으로 기재되므로, 좌로 갈수록 x 좌표값이 증가하고 y 좌표는 족보책의 상하를 구별하는 좌표로서 아래로 갈수록 y 좌표값이 증가하되, 디스플레이 옵션에 따라 좌우를 반전시키거나 상(上)에서 하(下)로 내용이 이어질 수 있다. 즉, 우에서 좌로 또는 좌에서 우로 좌표값이 증가하는 옵션이 제공될 수 있다. 따라서 좌에서 우 옵션을 따라 좌우가 완전히 뒤바뀌어서 책을 만들 수 있다.The pedigree book coordinate information may be represented by (x, y), the x coordinate represents the horizontal position coordinate of the family tree book, and the y coordinate represents the longitudinal position coordinate of the family tree book. The x-coordinate value is a coordinate that distinguishes the left and right sides of the genealogy book. Generally, the genealogy book is described in a right to left direction and in an up to down direction. This increased and y coordinate is a coordinate that distinguishes the top and bottom of the genealogy book, the y coordinate value increases as it goes down, but depending on the display option, the left and right sides may be reversed or the content may be continued from the top to the bottom. That is, the option of increasing the coordinate value from right to left or left to right may be provided. So you can make a book with left and right reversed completely by following the left to right option.

또한 옵션을 제공하여 상에서 하로 내려가는 족보가 있을 수 있다. 이 경우에는 x 의 오른쪽 증가가 세대 증가이고, y 의 아래쪽 증가가 내용으로 내려가는 족보가 된다. 여기서 족보책 좌표는 가상의 공간으로서 물리(physical) 공간의 좌표 보다는 논리(logical) 공간에서의 좌표로 표현할 수 있다. There may also be a genealogy that goes down from top to bottom by providing options. In this case, the increase in x is the increase in generations, and the increase in y is the genealogy down to the content. Here, the genealogy book coordinates may be expressed as coordinates in a logical space rather than a coordinate in a physical space as a virtual space.

상기 내용 길이 정보는 본문 내용의 크기(size) 정보가 포함되며, 내용 길이에 따라 족보책에서 기재되는 다음 사람의 x 좌표가 달라지므로, 앞 사람의 내용길이 정보를 이용하여 다음 사람의 x 좌표값이 종속적으로 결정된다. 예를 들어 본문 내용이 모두 50자이고, 족보책에서 기재되는 행의 높이(字高)가 5자이면 내용길이는 본문내용 / 자고(字高) 이므로 50/5 = 10 이 된다. 즉, 내용길이 정보를 기초로 책보기 기능에서 렌더링할 때 위치가 결정된다. 도 4는 상기 자고(字高)의 일 예를 나타낸 것이다. 족보책의 한 페이지(410)에 4칸(4행, 411, 412, 413, 414)이 있다고 가정할 경우, 자고(字高)는 칸(행)에 세로로 채울 수 있는 글자수를 나타낸다. 도 4에는 5글자가 채워질 수 있으므로, 자고(字高)는 5 이다.The content length information includes size information of the main content, and since the x coordinate of the next person described in the genealogy book varies according to the content length, the x coordinate value of the next person using the content length information of the previous person This is determined dependently. For example, if the text contents are all 50 characters, and the height of the line written in the genealogy book is 5 characters, the content length is 50/5 = 10 since the text length is the text content / jagogo character. That is, the position is determined when rendering in the book view function based on the content length information. Figure 4 shows an example of the height. Assuming that there are four spaces (four lines, 411, 412, 413, 414) on one page 410 of the genealogical book, Zago refers to the number of characters that can be filled vertically in the space. Since 5 letters may be filled in FIG. 4, the sleeping height is 5.

상기 각 사람 마다 생성되는 레코드에 저장되는 각 사람의 족보책 좌표 정보 (x, y) 좌표는 다음과 같은 로직에 의해 생성될 수 있다.The pedigree book coordinate information (x, y) coordinates of each person stored in a record generated for each person may be generated by the following logic.

먼저, 장남의 x좌표는 장남이 부(父)의 바로 밑 칸에 위치하므로 부(父)의 x좌표와 동일하다. 그리고 장남의 y좌표는 부(父)의 다음 세대(世代)이므로 부(父)의 바로 밑칸 좌표이다. 따라서 장남의 y좌표는 부(父)의 y좌표 + 1 이다.First, the x-coordinate of the eldest son is the same as the x-coordinate of the negative because the eldest son is located in the column just below the negative. And since the eldest son's y-coordinate is the next generation of the negative, it is the coordinate of the right next square of the negative. Therefore, the y-coordinate of the eldest son is the negative y-coordinate + 1.

장남이 아닌 나머지 형제들의 x좌표는 형제 중 직전에 기재된 형제의 x좌표 + 직전에 기재된 형제의 내용길이(본문내용 자수(字數) / 자고(字高))가 된다. 예를 들어 차남의 x좌표는 장남의 x좌표 + 장남의 내용길이가 된다. 장남의 x좌표가 1이고 장남의 내용길이가 10이면 차남의 x좌표는 10+1 = 11 이 된다. 그런데, 족보책에서 관명의 글자 크기가 본문 내용보다 2배 크면, 차남의 x좌표는 11+1 = 12가 될 수 있다. 장남이 아닌 나머지 형제들의 y좌표는 장남의 y 좌표와 동일하다. The x-coordinates of the remaining siblings, not the eldest son, are the x-coordinates of the siblings listed immediately before the siblings, plus the length of the siblings (text embroidery / jago). For example, the x-coordinate of the second son is the x-coordinate of the eldest son and the content length of the eldest son. If the eldest son's x-coordinate is 1 and the eldest-man's content length is 10, the x-coordinate of the eldest son is 10 + 1 = 11. However, in the genealogy book, if the font size of the civilization is twice as large as the text, the x-coordinate of the second son may be 11 + 1 = 12. The y coordinates of the remaining siblings other than the eldest son are the same as the y coordinate of the eldest son.

한편, 깊이 우선 탐색 및 장남 우선 탐색을 하면서 탐색되는 노드가 앞사람과 세대(世代)가 다를 경우가 있다. 예를 들어, 깊이 우선, 장남 우선 탐색을 하면서 5세(世) 중에서 가장 막내 노드(A)가 탐색되면, A는 이미 탐색된 4세(世)의 부(父) 노드로 올라가서, 부(父) 노드의 자식노드가 자신이 마지막이라면 이미 탐색된 조부(祖父) 노드로 올라가서 조부 노드 중에서 탐색 안된 자식노드를 탐색한다. 만일 A의 조부(祖父)가 2명의 자식이 있고, A의 부(父)가 장남이라면, A의 삼촌노드(B)를 탐색하게 된다. 이 때 삼촌노드(B)의 x좌표는 조카인 A의 x좌표 + A의 내용길이 + 1(또는 2) 이 된다. 탐색된 노드가 직전 노드보다 세대가 작으면, 즉 위 세대로 갈 때는 위 세대 노드의 x좌표는 직전 탐색 노드의 x좌표 + 내용길이 + 1(또는 2)가 된다. 그리고 위 세대 노드의 y좌표는 직전 탐색노드의 y좌표 + 세대의 차가 된다. 예를 들어 탐색된 노드(A)의 x좌표와 y좌표가 결정된 후 A 다음에 탐색된 노드가 A의 삼촌이면 삼촌의 y좌표는 A의 y좌표 - 1(세대의 차) 이 되고, A 다음에 탐색된 노드가 A의 작은 할아버지이면 작은 할아버지의 y좌표는 A의 y좌표 - 2(세대의 차)가 된다.On the other hand, the nodes searched during the depth-first search and the eldest-first search may have different generations from the previous person. For example, if the youngest node A is searched among the 5 years old while searching for the depth first and the eldest son first, A goes up to the 4 year old node that is already searched, If the child node of the node is the last one, it goes up to the already discovered grandfather node and searches for the child node that has not been searched among the grandfather nodes. If A's grandfather has two children and A's father is the eldest son, A's uncle node B is searched. At this time, the x coordinate of the uncle node B becomes the x coordinate of the nephew A + the content length of the A + 1 (or 2). If the searched node has a generation smaller than the previous node, that is, when going to the previous generation, the x-coordinate of the previous-generation node becomes the x-coordinate + content length + 1 (or 2) of the previous search node. The y coordinate of the generation node is the difference between the y coordinate and the generation of the previous search node. For example, if the x coordinate and the y coordinate of the discovered node A are determined, and the node searched after A is the uncle of A, then the uncle's y coordinate becomes A's y coordinate-1 (the difference of generations), If the node searched for is a small grandfather of A, then the small grandfather's y-coordinate becomes A's y-coordinate-2 (car of generation).

도 6은 도 5의 족보트리에 대한 각 노드에 해당하는 관명이 위치하는 족보책의 페이지(210)를 나타낸 것이다. 도 5에 도시된 족보책 페이지(210)는 5개의 칸(121, 212, 213, 214, 215)으로 이루어져 있다. FIG. 6 illustrates a page 210 of a genealogy book in which a civilization corresponding to each node of the genealogy tree of FIG. 5 is located. The genealogical book page 210 shown in FIG. 5 is composed of five cells 121, 212, 213, 214, and 215.

도 5 및 도 6을 참조하여 장남, 장남 이외의 나머지 형제들, 위 세대의 x 좌표 및 y 좌표를 구하는 과정을 설명하기로 한다. 도 5 및 도 6을 참조하면, 먼저 1번노드가 탐색된다. 1번 노드는 루트노드이므로 첫번째 칸(211, y좌표 값 = 1)의 x좌표는 x1으로 좌표값이 생성된다. 두번째 탐색노드인 2번노드는 1번노드의 장남이므로 x좌표값은 부(父)의 x 좌표값과 동일하고, y 좌표값은 부(父)의 바로 밑칸에 위치하므로 부(父)의 y 좌표값+1 이 된다. 마찬가지의 방법으로 3번노드, 4번노드, 5번노드의 좌표값도 장남의 경우에 해당하므로 동일한 방식으로 좌표값이 생성된다. 6번노드는 위 세대(世代)의 좌표값 생성방식으로 생성된다. 즉, 6번노드에 해당하는 관명의 x 좌표값은 직전 탐색노드인 5번노드의 x 좌표값 + 내용길이+1(2) 이 된다. 여기서 1(2)는 내용길이 바로 다음 좌표에서 시작하면 1을 더하고, 한 글자 띄어서 시작하면 2를 더한다. 두 글짜 띄어서 시작하면 3이 되며, 1, 2, 3 등은 임의로 정할 수 있으며 이에 의해 본 발명이 한정되지는 않는다. 6번노드의 y 좌표값은 직전 탐색 노드인 5번 노드의 y 좌표값 - 세대차(世代差) 이다. 상기 세대차는 6번노드와 5번노드의 세대차로서, 5번노드는 6세이고 5번노드는 5세이므로 세대차 값은 1이다. 7번노드도 6번노드와 마찬가지로 위 세대 노드 좌표값 생성방식으로 좌표값이 생성된다. 8번노드는 2번 노드와 동일한 방식인 장남 노드 좌표값 생성 방식으로 좌표값이 생성된다. 9번노드는 형제 노드 좌표값 생성 방식으로 좌표값이 생성된다. 즉, 9번노드의 x 좌표값은 직전 형제노드인 8번노드의 x 좌표값+내용길이+1(2)이고, 9번노드의 y 좌표값은 장남노드의 y좌표값 즉, 8번노드의 y 좌표값과 동일하다. 10번 노드의 좌표값도 형제노드 좌표값 생성방식으로 좌표값이 생성된다. 11번 노드는 6번이나 7번노드와 마찬가지로 위 세대 노드 좌표값 생성방식으로 좌표값이 생성된다.A process of obtaining the x-coordinate and y-coordinate of the eldest son, the remaining siblings other than the eldest son, and the above generation will be described with reference to FIGS. 5 and 6. 5 and 6, first node is searched. Since node 1 is the root node, the x coordinate of the first column (211, y coordinate value = 1) is x1, and a coordinate value is generated. The second search node, node 2, is the eldest son of node 1, so the x-coordinate is the same as the negative x-coordinate, and the y-coordinate is located immediately below the negative, so the negative y It becomes coordinate value +1. In the same way, the coordinate values of node 3, node 4, and node 5 also correspond to the eldest son, so coordinate values are generated in the same manner. Node 6 is created by the generation method of the above generation. That is, the x coordinate value of the pipe name corresponding to node 6 becomes the x coordinate value + content length + 1 (2) of the node 5, which is the previous search node. Here 1 (2) adds 1 if it starts at the next coordinate of the content length and adds 2 if it starts with one letter. The two letters are spaced to start 3, 1, 2, 3, etc. can be arbitrarily determined by the present invention is not limited thereto. The y coordinate value of node 6 is the y coordinate value of the node 5, which is the previous search node-the generation difference. The generation difference is a generation difference between nodes 6 and 5, and node 5 is 6 years old and node 5 is 5 years old, so the generation difference is 1. Like node 6, node 7 generates coordinate values using the generation method of the above-generation node coordinates. Node 8 generates coordinate values in the same manner as the eldest son node coordinate value generation method. Node 9 generates coordinate values by the sibling node coordinate value generation method. That is, x coordinate value of node 9 is x coordinate value + content length + 1 (2) of the previous sibling node, node 8, and y coordinate value of node 9 is the y coordinate value of the eldest son node, that is, node 8 Equivalent to the y coordinate of. The coordinate value of node 10 is also generated by the sibling node coordinate value generation method. Like node 6 or node 11, node 11 generates coordinates by generating the coordinates of the above-generation node.

그리고 본 발명의 실시예에 의한 문자열 데이터를 이용한 인터넷 족보 생성장치는 페이지 렌더링부(140)를 더 포함할 수 있다. The internet genealogy generating apparatus using string data according to an embodiment of the present invention may further include a page renderer 140.

페이지 렌더링부(140)는 족보책의 페이지 번호가 입력되면, 상기 페이지 번호에 해당하는 페이지의 족보데이터를 족보책 생성부(130)에 의해 생성된 족보 DB(135)에서 추출하여 디스플레이 한다. 사용자가 특정 족보의 페이지를 조회하고자 하면 조회하고자 하는 해당 페이지 번호를 입력한다. 이 때, 미리 정해진 페이지당 행의 개수를 기초로 추출해야 할 행에 대한 레코드를 족보 DB(135)에서 추출하여 실시간으로 렌더링한다. 예를 들어 족보책의 페이지에 세로 방향을 행이라 하면 행의 개수가 30이고 1page를 디스플레이하고자 하면 x 좌표가 1 ~ 30 에 해당하는 데이터를 족보 DB(135)에서 추출하여 디스플레이한다. 족보 DB(135)로부터의 추출은 select 명령에 조건을 기재하여 추출할 수 있다. 추출되는 데이터는 관명과 본문내용이 될 수 있고 이는 관명별 레코드가 될 수 있다.When the page number of the genealogy book is input, the page rendering unit 140 extracts and displays genealogy data of the page corresponding to the page number from the genealogy DB 135 generated by the genealogy book generation unit 130. If the user wants to search the page of a specific genealogy, input the corresponding page number to search. At this time, the record for the row to be extracted based on the predetermined number of rows per page is extracted from the genealogy DB 135 and rendered in real time. For example, if a row of pages of a genealogy book is a row in the vertical direction, and the number of rows is 30 and one page is to be displayed, the genealogy DB 135 extracts and displays data corresponding to 1 to 30 x coordinates. Extraction from the genealogy DB 135 may be extracted by describing conditions in a select command. The extracted data can be the name of the tube and its contents, which can be a record by name.

한편, 족보책 생성부(130)에서 동명이인이 있을 경우 부(父) 지시자 다음에 옵션(option)을 통해 부-조부-증조부 등을 명시하여 해결할 수 있다. On the other hand, if there is a person of the same name in the genealogy book generation unit 130, it can be solved by specifying the sub-grandfather-great-grandfather through the option (option) after the secondary indicator (option).

그리고 족보 문자열 데이터로부터 족보 책 내용 전체를 페이지 별로 인터넷사용자들이 조회하여 볼 수 있도록 DB 테이블을 구성할 수 있다. 족보 문자열 데이터로부터 족보 책 전체 내용에 해당되는 사람 이름이나 기타 부가 검색 속성 등을 검색 및 조회 할 수 있도록 DB 테이블이 구성된다. 족보 생성장치에 업로드한 족보 문자열 데이터로부터 언제든지 다시 전체 책 작성을 수시로 반복해 볼 수 있도록 실시간으로 매우 빨리 생성한다.In addition, DB tables can be configured to allow Internet users to search and view the entire genealogy book contents page by page from genealogy string data. DB table is configured to search and search person's name or other additional search attributes corresponding to the entire contents of genealogy book from genealogy string data. From the genealogical string data uploaded to the genealogy generator, the entire book is generated very quickly in real time so that the entire book can be repeated at any time.

그리고 페이지 렌더링부(140)는 생성해 놓은 최소한의 핵심 정보들을 입력 값으로 하여 인터넷 브라우저에 신속하게 실시간으로 생성하여 보여주고, 책 내용은 보관하지 않고 파기할 수 있다. 필요할 때마다 매번 실시간으로 해당 페이지를 생성하고 보여주고 폐기할 수 있다.In addition, the page rendering unit 140 may generate and display the generated key information in real time on the Internet browser in real time using the minimum key information generated as an input value, and may discard the book contents without storing them. You can create, display and discard the page whenever you need it in real time.

그리고 족보문자열 검증부(110)에서 족보 문자열을 다음과 같이 파싱(parsing)할 수 있다. 먼저, 문자열 데이터 전체를 레코드항목 구분자 단위로 쪼개서 줄 수만큼 반복 처리한다. 부(父) 지시자가 나오면 부(父)이름을 준비한다. 첫자는 "부 " 로 시작한다. 한자로 표기하든 한글로 표기하든 상관없으며, 인식만 되면 되므로 한글을 권장한다. 성별 지시자가 나오면 현재 나의 정보에 해당되는 [성별, 한자이름, 한글이름] 을 준비한다. 첫자는 "자 " 또는 "녀 " 등 성별지시자로 정의된 형태로 시작한다. 성별 지시자의 끝에 기타 [부가 옵션] 값(생년, 자료 상태 값 등) 들이 추가로 나열될 수 있다.The genealogical string verification unit 110 may parse the genealogical string as follows. First, the entire string data is divided into record item delimiters and repeated as many lines. When the associate indicator comes up, prepare the assistant name. The first one begins with "part". It does not matter whether it is written in Chinese or Korean, and it is only necessary to recognize it. When the gender indicator comes out, prepare [Gender, Hanja name, Hangul name] corresponding to my information. The first one begins with a gender indicator, such as "child" or "woman". Additional [optional] values (birth, data status values, etc.) may be listed at the end of the gender indicator.

줄 단위로 계속 파싱하는 중에 새로운 부 지시자나 성별 지시자가 나올 때 까지 (또는 파일의 마지막에 도달했을 때에도 해당됨) 모든 줄 단위 내용들을 레코드항목구분자로 묶어서 [본문내용] 에 담아 준비한다.Continue parsing line by line until all new line indicators or gender indicators (or even when the end of the file is reached) are grouped into record item delimiters and prepared in [Text].

성별, 한자이름 한글이름이 누락되었으면 경고 메시지와 함께 변환모듈(족보트리 생성부, 족보책 생성부)의 작업을 중단하게 할 수 있다.If gender, Hanja name, Hangeul name is missing, you can stop the work of the conversion module (family tree generation unit, family tree book generation unit) with a warning message.

본문 내용이 끝나서 다음 부 지시자나 성별 지시자가 나오게 되면 현재 시점까지 1명의 데이터가 완료되었으므로 준비한 자료들을 족보트리 생성부(120) 로 보낸다.When the contents of the body is finished and the next sub indicator or gender indicator comes out, since one person's data is completed to the present time, the prepared data are sent to the genealogical tree generation unit 120.

족보트리 생성부(120)는 상기 파싱 단계에서 수집된 1명의 정보는 족보트리 생성부(120)에게 문자열 데이터 전체의 모든 사람들을 파싱하는 과정에서 반복적으로 제공될 수 있으며, 모든 사람의 파싱이 끝나면 족보트리 생성부(120)는 최종적으로 정리된 족보트리 배열을 완성하여 책작성 생성부(130)로 전달할 수 있다. 족보책 생성부(130)에서 족보트리 깊이우선 탐색 정리부(미도시)에게 1세 조상을 넣어주면, 1세 조상부터 시작해서 그의 장남과 그의 장남의 장남, 순서대로 책작성을 하게 된다. The genealogy tree generator 120 may repeatedly provide one piece of information collected in the parsing step in the process of parsing all people of the entire string data to the genealogy tree generator 120. The genealogy tree generation unit 120 may complete the arrangement of the finally generated genealogy tree and transmit it to the book generation generation unit 130. When the genealogy book generation unit 130 puts the first generation ancestors into the genealogy tree depth search search arranging unit (not shown), the book generation starts in order from his eldest son and his eldest son.

그리고, 족보트리 깊이우선 탐색을 위한 족보트리 생성부(120)는다음과 같이 처리된다. 족보트리 사전배열에 특정 노드가 입력되면, 해당 노드의 직계 자식들만 차례대로 반복하여 족보책 생성부(130)에 의한 책작성을 통해 각자가 책의 몇 페이지 몇 번째 줄에 표시되어야 할지 그 자리가 배치된다. 족보트리 깊이 우선 탐색을 위한 족보트리 생성부에 현재 처리된 노드를 입력으로 하여 족보트리 생성부(120)를 통해 해당 자녀의 직계 가족들만 재귀적으로 호출되면서 족보책 생성을 하게 되므로 결과적으로는 모든 족보트리가 깊이우선 알고리즘을 따라 장남 우선적인 책 작성이 되는 것이다. The genealogy tree generation unit 120 for searching the genealogy tree depth first is processed as follows. When a specific node is input to the genealogy tree dictionary array, only the immediate children of the node are repeated in sequence to create a book by the genealogy book generation unit 130, where the number of pages of the book should be displayed on which line Is placed. Generating the genealogy book by recursively calling only the immediate family members of the child through the genealogy tree generation unit 120 by inputting the node currently processed into the genealogy tree generation unit for searching the genealogy tree depth first. The genealogy tree is the first and foremost book written according to the depth-first algorithm.

족보책 생성부(130)의 구성에 대한 일 실시예를 설명한다. 깊이우선 탐색 알고리즘을 따라 장남과 장남의 장남 등을 우선적으로 책작성 생성부(130)로 값이 전달되어 호출되면 DB 테이블(135)에 삽입할 INSERT 구문이 사람의 수 만큼 생성되고, DB 에 한번에 호출하여 신속하게 테이블을 구성할 수 있다.An embodiment of the configuration of the genealogical book generation unit 130 will be described. According to the depth-first search algorithm, the eldest son and the eldest son are transferred to the book authoring unit 130 first, and the value is called. The INSERT statement to be inserted into the DB table 135 is generated as many as the number of people. You can quickly build a table by calling it.

한편, 도 7은 본 발명의 실시예에 의한 문자열 데이터를 이용한 인터넷 족보 생성 방법에 대한 일 실시예를 흐름도로 나타낸 것이다. 도 7을 참조하여 본 발명의 실시예에 의한 문자열 데이터를 이용한 인터넷 족보 생성 방법에 대한 일 실시예를 설명하기로 한다. Meanwhile, FIG. 7 is a flowchart illustrating an embodiment of a method for generating an internet genealogy using string data according to an embodiment of the present invention. An embodiment of an internet genealogy generation method using string data according to an embodiment of the present invention will be described with reference to FIG. 7.

도 7을 참조하면, 족보데이터를 포맷과 규칙에 맞게 입력한다. 이렇게 포맷과 규칙에 맞게 족보데이터가 입력되면 족보 문자열 데이터로 이루어지는 텍스트 파일로 생성한다.(S710단계) 상기 족보문자열은 부(父)에 대한 족보 데이터가 자녀(子女)에 대한 족보 데이터 보다 먼저 나타나고, 형제들 간에는 형제의 순서를 나타내는 정보가 없는 경우에는 미리 정해진 순서대로 형제 각각의 족보데이터가 나타나고, 형제의 순서를 나타내는 정보(형제번호)가 있는 경우에는 순서에 상관없이 형제 각각의 족보데이터가 나타날 수 있다. 생성된 족보 텍스트 파일을 게시판 글쓰기 형식이나 이메일(e-mail) 처럼 글을 쓰고 저장버튼을 누르거나 파일 첨부를 하여 업로드 하여 서버에 등록한다. Referring to FIG. 7, genealogical data is input according to a format and a rule. When the genealogy data is input in accordance with the format and rules, the genealogy data is generated as a text file consisting of the genealogy string data (step S710). The genealogy string is the genealogy data for the father appears before the genealogy data for the child. If there is no information indicating the order of siblings among siblings, the genealogical data of each sibling appears in a predetermined order, and if there is information (sibling number) indicating the order of siblings, the genealogical data of each sibling is shown regardless of the order. May appear. The generated genealogical text file is written in the form of bulletin board writing or e-mail, and it is uploaded by pressing the save button or by attaching a file and registering it on the server.

등록이 되면, 족보 문자열 검증부(110)는 상기 족보 문자열 데이터가 족보 문자열 포맷과 규칙에 맞게 입력되었는지를 검증한다.(S720단계) 상기 검증은 syntax 체크를 포함할 수 있다. Once registered, the genealogical string verification unit 110 verifies whether the genealogical string data is input according to the genealogical string format and rules (step S720). The verification may include a syntax check.

족보트리 생성부(120)는 족보데이터를 문자열로 나타낸 족보문자열 데이터를 이용하여 노드가 각 사람의 관명(冠名) 이고, 부(父)를 부모노드(parents node)로 하고, 직계 자녀를 자식노드(child node)로 하는 족보트리를 생성한다.(S730단계)The genealogy tree generation unit 120 uses the genealogy string data representing the genealogy data as a string, and the node is the name of each person, the parent is the parent node, and the immediate children are children. Create a genealogical tree that is a node (child node) (step S730).

상기 족보트리 생성은 관명 인덱스 부(父) 이름 배열 생성으로 나타낼 수 있고, 관명별 레코드 생성에 사용될 수 있는 관명 인덱스 내용 및 속성(족보 본문 내용과 한글 관명, 한자 관명, 기타 옵션을 포함) 배열도 추가로 생성할 수 있다. 상기 관명 인덱스 부(父) 이름 배열은 상기 관명을 인덱스로 하는 배열이고, 상기 배열의 각 엘리먼트에는 상기 인덱스가 나타내는 관명의 부(父) 이름이 저장되어 있다. 상기 관명 인덱스 내용 배열은 상기 관명을 인덱스로 하는 배열이고, 상기 배열의 각 엘리먼트에는 상기 인덱스가 나타내는 관명의 본문 내용이 저장되어 있다.Generating the genealogy tree may be represented by generating an array of names of sub-index names, and an arrangement diagram of contents and attributes (including genealogy body contents, Korean names of Korean characters, Chinese characters, and other options) that may be used to generate records for each name. Can be created additionally. The tube name index part name array is an array in which the tube name is an index, and each element of the array stores a part name of the tube name indicated by the index. The tube name index content array is an array having the tube name as an index, and the contents of the body name of the tube name indicated by the index are stored in each element of the array.

족보트리가 생성되면, 족보책생성부(130)가 상기 족보트리의 모든 노드를 깊이 우선 탐색 방식으로 탐색한다.(S740단계) 족보트리에 대한 깊이우선방식의 탐색은 도 5와 그에 대한 설명은 상술하였으므로 생략한다.When the genealogy tree is generated, the genealogy book generation unit 130 searches all nodes of the genealogy tree in a depth-first search manner (step S740). The depth-first search for the genealogy tree is illustrated in FIG. 5 and the description thereof. Since it was described above, it is omitted.

족보트리의 노드가 탐색되면, 상기 탐색된 노드 각각에 상응하는 관명이 족보책 내에서 위치하는 좌표값을 생성한다.(S750단계) 관명의 위치 좌표값 생성은 3가지 경우로 나눌 수 있다. 첫번째는 장남 노드가 탐색될 경우의 장남 좌표값 생성 방식이 있고, 둘째는 장남 이외의 형제들의 노드가 탐색될 경우의 형제 좌표값 생성 방식이 있고, 마직막은 탐색된 노드가 직전 탐색 노드 보다 위 세대의 노드인 경우로서 위 세대 좌표값 생성 방식이 있다. 도 8은 이와 같은 3가지 경우의 노드 좌표값 생성 방법을 흐름로도 나타낸 것이다. 도 8을 참조하면, 탐색된 노드가 장남이면(S810단계), 장남의 x 좌표값은 부(父)의 x 좌표값과 동일하고, 장남의 y 좌표값은 부(父)의 y 좌표값+1 로 생성한다.(S820 단계) 그리고 탐색된 노드가 장남이 아닌 형제이면(S810단계), 탐색된 형제의 x 좌표값은 직전 형제의 x 좌표값 + 내용길이 + 1( 또는 2)로 생성하고 장남 아닌 형제의 y좌표값은 장남의 y 좌표값과 동일한 값으로 생성한다.(S830단계) 그리고 탐색된 노드가 직전 탐색된 노드보다 위 세대의 노드이면(S810단계), 위 세대 노드의 x 좌표값은 직전 탐색 노드의 x 좌표값 + 내용길이 + 1( 또는 2)로 생성하고, 위 세대 노드의 y 좌표값은 직전 탐색 노드 y 좌표값 - 세대차로 생성한다.(S840단계) When the nodes of the genealogical tree are searched, a coordinate value in which a tube name corresponding to each of the discovered nodes is located in the genealogy book is generated. (Step S750) The position coordinate value generation of the tube name can be divided into three cases. First, there is a method of generating the eldest son coordinates when the eldest node is searched. Second, there is a method of generating sibling coordinates when the nodes of siblings other than the eldest son are searched. Finally, the searched node is the generation above the previous search node. As the node of, there is a generation method of the above generation coordinate value. 8 is a flowchart illustrating a method of generating node coordinate values in these three cases. Referring to FIG. 8, when the found node is the eldest son (step S810), the x-coordinate value of the eldest son is equal to the x-coordinate value of the eldest son, and the y-coordinate value of the eldest son is negative y-coordinate value + If the searched node is a sibling other than the eldest son (step S810), the x coordinate value of the searched sibling is generated as x coordinate value + content length + 1 (or 2) of the previous sibling. The y-coordinate value of the sibling other than the eldest son is generated with the same value as the y-coordinate value of the eldest son (step S830). If the found node is a node of a generation higher than the node previously searched (step S810), the x coordinate of the generation node The value is generated by x coordinate value + content length + 1 (or 2) of the previous search node, and the y coordinate value of the previous generation node is generated by the previous search node y coordinate value-generation difference (step S840).

탐색된 노드에 상응하는 관명의 좌표값이 생성되면, 상기 생성된 관명 좌표값과 상기 관명의 본문 내용이 포함되어 있는 관명별 레코드를 생성하여 DB테이블로 구축한다.(S760단계) 도 9는 구축된 DB 테이블의 일 예를 나타낸 것으로서, 관명과 본문내용 좌표값 등이 포함되어 있다. When the coordinate value of the tube name corresponding to the searched node is generated, a record for each tube name including the generated coordinate name of the tube and the body content of the tube name is generated and constructed as a DB table (step S760). As an example of the DB table is included, the name and coordinates of the body content is included.

이렇게 해서 온라인 족보 DB가 구축된 후, 사용자가 특정 페이지를 조회할 경우, 페이지 렌더링부(140)는 족보책 페이지 번호가 입력되면, 상기 페이지 번호에 해당하는 페이지의 족보데이터를 상기 족보책 생성부(130)에 의해 생성된 족보 DB(135)에서 추출하여 디스플레이 한다.(S770단계) 이 때 미리 정해진 페이지당 세로 방향의 행의 개수를 기초로 추출해야 할 행에 대한 레코드를 족보 DB(135)에서 추출하여 실시간으로 페이지를 렌더링한다. 도 10은 실시간 렌더링되어 디스플레이된 페이지의 일 예를 나타낸 것이다. 그리고 도 11은 페이지 렌더링부(140)가 1페이지를 렌더링할 때 수신된 자료의 예를 나타낸 것이다. After the online genealogy DB is constructed in this way, when the user views a specific page, the page rendering unit 140 inputs the genealogy data of the page corresponding to the page number when the genealogy book page number is inputted. The genealogy DB 135 generated by the 130 is extracted and displayed. (S770) In this case, the genealogy DB 135 records records for rows to be extracted based on a predetermined number of vertical rows per page. Extract from to render the page in real time. 10 illustrates an example of a page displayed in real time. 11 illustrates an example of data received when the page rendering unit 140 renders one page.

본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.The present invention can be embodied as code that can be read by a computer (including all devices having an information processing function) on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like. Further, in this specification, “unit” may be a hardware component such as a processor or a circuit, and / or a software component executed by a hardware component such as a processor.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

110 : 족보문자열 검증부 120 : 족보트리 생성부 검증부
130 : 족보책 생성부 135 : 족보DB(DB 테이블)
140 : 페이지 렌더링부 210 : 루트노드(1세)
220, 222 : 2세 노드 230, 232, 234 : 3세 노드
410 : 족보책 페이지 411 : 페이지 첫번째 칸
412 : 페이지 두번째 칸 413 : 페이지 세번째 칸
414 : 페이지 네번째 칸 610 : 족보책 페이지
611, 612, 613, 614, 615 : 족보책 페이지 내의 칸
110: genealogy string verification unit 120: genealogy tree generation unit verification unit
130: genealogy book generation unit 135: genealogy DB (DB table)
140: page rendering unit 210: root node (1 year old)
220, 222: second generation node 230, 232, 234: third generation node
410 genealogy page 411 first page
412: Page second column 413: Page third column
414: page four 610: genealogy book page
611, 612, 613, 614, 615: spaces within genealogy pages

Claims (12)

족보데이터를 문자열로 나타낸 족보문자열 데이터를 이용하여 노드가 각 사람의 관명(冠名) 이고, 부(父)를 부모노드(parents node)로 하고, 직계 자녀를 자식노드(child node)로 하는 족보트리를 생성하는 단계;
상기 족보트리의 모든 노드를 깊이 우선 탐색 방식으로 탐색하는 단계;
상기 탐색된 노드 각각에 상응하는 관명이 족보책 내에서 위치하는 좌표 값을 생성하는 관명 좌표값 생성단계; 및
적어도 상기 관명 좌표값과 상기 관명의 본문 내용이 포함되어 있는 관명별 레코드를 생성하여 DB테이블로 구축하는 단계를 포함하고,
상기 족보문자열은 부(父)에 대한 족보 데이터가 자녀(子女)에 대한 족보 데이터 보다 먼저 나타나고, 형제들 간에는 형제의 순서를 나타내는 정보가 없는 경우 미리 정해진 순서대로 형제 각각의 족보데이터가 나타나고, 형제의 순서를 나타내는 정보(형제번호)가 있는 경우에는 순서에 상관없이 형제 각각의 족보데이터가 나타날 수 있고;
상기 족보책 좌표의 x좌표는 좌(左)로 갈수록 x 좌표값이 증가하고 y 좌표는 족보책의 아래로 갈수록 y 좌표값이 증가하되, 디스플레이 옵션에 따라 좌우를 반전시키거나 상(上)에서 하(下)로 내용이 이어질 수 있고, 족보책 좌표는 가상의 논리(logical) 공간의 좌표인 것을 특징으로 하는 문자열 데이터를 이용한 인터넷 족보 생성 방법.
Genealogy, in which the genealogy string data representing the genealogy data is a string, the node is the individual's name, the parent is the parent node, and the immediate children are the child nodes. Creating a tree;
Searching all nodes of the genealogical tree in a depth-first search manner;
Generating coordinate value generating step of generating a coordinate value in which the name of the pipe corresponding to each of the searched node is located in the genealogy book; And
Generating at least one record for each name that includes at least the name of the pipe coordinates and the contents of the body of the pipe, and constructing a record for each pipe under the name of the pipe;
In the genealogical string, when the genealogical data of the father appears before the genealogical data of the children, and when there is no information indicating the order of the siblings among the siblings, the genealogical data of each of the siblings appears in a predetermined order. If there is information indicating the order of (brother number), genealogical data of each of the siblings may appear regardless of the order;
The x coordinate of the pedigree book coordinates increases as the x coordinate value increases toward the left, and the y coordinate increases as the y coordinate value decreases toward the bottom of the genealogy book, depending on the display option. The contents can be continued downward, and the genealogy book coordinates are Internet genealogy generation methods using string data, characterized in that the coordinates of the virtual logical space.
제1항에 있어서,
족보데이터가 입력되면 족보 문자열 데이터로 이루어지는 텍스트 파일로 생성하는 단계; 및
상기 족보 문자열 데이터가 족보 문자열 포맷과 규칙에 맞게 입력 되었는지를 검증하는 syntax 체크 단계를 더 포함하는 것을 특징으로 하는 문자열 데이터를 이용한 인터넷 족보 생성 방법.
The method of claim 1,
Generating a text file including genealogical string data when genealogical data is input; And
And a syntax checking step of verifying whether the genealogical string data is input according to a genealogical string format and a rule.
제1항에 있어서, 상기 족보트리 생성 단계는,
상기 관명을 인덱스로 하는 배열이고, 상기 배열의 각 엘리먼트에는 상기 인덱스가 나타내는 관명의 부(父) 이름이 저장되어 있는, 관명 인덱스 부(父) 이름 배열을 생성하는 단계;
상기 관명을 인덱스로 하는 배열이고, 상기 배열의 각 엘리먼트에는 상기 인덱스가 나타내는 관명의 본문 내용이 저장되어 있는 관명 인덱스 내용 배열을 생성하는 단계를 포함하는 것을 특징으로 하는, 문자열 데이터를 이용한 인터넷 족보 생성 방법.
The method of claim 1, wherein the generating of the genealogy tree,
Generating an irrigation name index name array, wherein the irrigation name is an index array, and each element of the array stores a sub name of the irrigation name represented by the index;
Creating an internet genealogy using string data, characterized in that the array is an index whose index is an index, and each element of the array is configured to generate an index index content array in which the body content of the name of the index indicated by the index is stored. Way.
제1항에 있어서,
족보책 페이지 번호가 입력되면, 상기 페이지 번호에 해당하는 페이지의 족보데이터를 족보책 생성부에 의해 생성된 족보 DB에서 추출하여 디스플레이하되, 미리 정해진 페이지당 행의 개수를 기초로 추출해야 할 행에 대한 레코드를 상기 족보 DB에서 추출하여 실시간으로 페이지를 렌더링하는 단계를 더 포함하는 것을 특징으로 하는 문자열 데이터를 이용한 인터넷 족보 생성 방법.
The method of claim 1,
When the genealogy book page number is input, the genealogy data of the page corresponding to the page number is extracted and displayed in the genealogy DB generated by the genealogy book generation unit, and the column is to be extracted based on the predetermined number of rows per page. Internet lineage generation method using the string data, characterized in that it further comprises the step of extracting the record from the genealogy DB to render the page in real time.
삭제delete 제1항에 있어서, 상기 관명 좌표값 생성단계는,
탐색된 노드가 장남인 경우, 장남의 x 좌표값은 부(父)의 x 좌표값과 동일하고, 장남의 y 좌표값은 부(父)의 y 좌표 값 + 1 으로 생성하는 단계;,
탐색된 노드가 장남이 아닌 나머지 형제인 경우, 상기 형제의 x좌표값은 탐색된 직전 형제의 x좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 장남의 y좌표값과 동일하게 생성하고, 상기 내용길이는 상기 노드에 해당하는 사람의 본문내용 글자수(스페이스 포함)를 자고(字高)로 나눈 값이며, 상기 자고는 족보책이 세대를 구분하는 복수의 칸으로 구성될 때 상기 칸의 높이로서 높이방향으로 글자가 들어갈 수 있는 글자수인 단계;
현재 탐색된 노드가 직전에 탐색된 노드보다 위세대 일 경우, 현재 탐색된 노드의 x 좌표값은 상기 직전 탐색 노드의 x 좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 상기 직전 탐색 노드의 y 좌표값 - 세대차(世代差)인 단계를 포함하는 것을 특장으로 하는 문자열 데이터를 이용한 인터넷 족보 생성 방법.
The method of claim 1, wherein the creation of the coordinate name coordinates,
When the found node is the eldest son, generating the x-coordinate value of the eldest son is equal to the x-coordinate value of the eldest son, and the y-coordinate value of the eldest son is negative y-coordinate value + 1;
If the discovered node is the remaining sibling rather than the eldest son, the x-coordinate value of the sibling is x-coordinate value + content length + 1 (or 2) of the previous sibling searched, and the y-coordinate value is equal to the y-coordinate value of the eldest son. The content length is a value obtained by dividing the number of characters (including space) of the body content of the person corresponding to the node by the height of the character, and the height of the family when the genealogy book is composed of a plurality of compartments that separate generations. A number of letters that can be inserted in a height direction as the height of the cell;
If the currently searched node is a generation above the node searched immediately before, the x coordinate value of the currently searched node is the x coordinate value + content length + 1 (or 2) of the previous search node, and the y coordinate value is immediately before the previous search node. An Internet genealogy generation method using character string data characterized in that it comprises a step of y coordinate value of the search node-generation difference.
족보문자열을 입력으로 하여 노드가 각 사람의 관명(冠名)이고, 부(父)를 부모노드(parents node)로 하고, 직계 자녀를 자식노드(child node)로 하는 족보트리를 생성하는 족보트리 생성부; 및
상기 족보트리의 모든 노드를 깊이 우선 탐색 방식으로 탐색하고, 탐색된 노드 각각에 대해 족보책에서 위치하는 위치 좌표값을 생성하고, 상기 탐색된 관명의 위치 좌표값과 족보데이터 중 본문 내용을 포함하는 레코드로 생성하여 DB테이블로 구축하는 족보책 생성부를 포함하고,
상기 족보문자열은 부(父)에 대한 족보 데이터가 자녀(子女)에 대한 족보 데이터 보다 먼저 나타나고, 형제들 간에는 형제의 순서를 나타내는 정보가 없는 경우 미리 정해진 순서대로 형제 각각의 족보데이터가 나타나고, 형제의 순서를 나타내는 정보(형제번호)가 있는 경우에는 순서에 상관없이 형제 각각의 족보데이터가 나타날 수 있고;
상기 족보책 좌표 정보는 (x, y)로 표시될 수 있고, x좌표는 족보책의 횡적 위치 좌표, y좌표는 족보책의 종적 위치 좌표를 나타내며, 좌(左)로 갈수록 x 좌표값이 증가하고 y 좌표는 족보책의 아래로 갈수록 y 좌표값이 증가하되, 디스플레이 옵션에 따라 좌우를 반전시키거나 상(上)에서 하(下)로 내용이 이어질 수 있고, 족보책 좌표는 가상의 논리(logical) 공간의 좌표인 것을 특징으로 하는 문자열 데이열 데이터를 이용한 인터넷 족보 생성 장치.
Genealogy tree that creates a genealogy tree with the genealogical string as input, the node being the name of each person, the parent being the parent node, and the immediate children as the child node. Generation unit; And
Searching all nodes of the genealogical tree in a depth-first search manner, generating position coordinate values located in the genealogical book for each of the discovered nodes, and including the body content of the searched name of the irrigation name and genealogical data Generating records into genealogy book generation unit to build a DB table,
In the genealogical string, the genealogical data of the father appears before the genealogical data of the child, and when there is no information indicating the order of the siblings among the siblings, the genealogical data of each of the siblings appears in a predetermined order. When there is information indicating the order of (brother number), the genealogical data of each of the siblings may appear regardless of the order;
The pedigree book coordinate information may be represented as (x, y), the x coordinate represents the horizontal position coordinate of the genealogy book, the y coordinate represents the longitudinal position coordinate of the genealogy book, and the x coordinate value increases toward the left (左). The y coordinate increases with the y coordinate as it goes down the genealogy book, and depending on the display option, the y coordinate can be reversed from left to right or from top to bottom. logical) Internet genealogy generating apparatus using string data sequence data characterized in that the coordinates of the space.
제7항에 있어서,
입력된 족보 문자열이 족보 문자열 포맷과 규칙에 맞게 입력 되었는지를 검증하는 족보문자열 검증부를 더 포함하는, 문자열 데이터를 이용한 인터넷 족보 생성장치.
The method of claim 7, wherein
An internet genealogy generating apparatus using string data, further comprising a genealogy string verification unit for verifying whether the input genealogy string is input according to the genealogy string format and rules.
제7항에 있어서, 상기 족보트리는,
상기 관명을 인덱스로 하는 배열이며, 상기 배열의 각 엘리먼트에 저장된 값은 인덱스에 상응하는 관명의 부(父) 이름인관명 인덱스 부(父) 이름 배열; 및
상기 관명을 인덱스로 하는 배열이며, 상기 배열의 각 엘리먼트에 저장된 값은 인덱스에 상응하는 관명의 족보데이터 중 본문 내용인 관명 인덱스 내용 배열을 포함하는 것을 특징으로 하는, 문자열 데이터를 이용한 인터넷 족보 생성 장치
The method of claim 7, wherein the genealogy tree,
An array having the tube name as an index, wherein a value stored in each element of the array is a tube name index sub name array which is a sub name of the tube name corresponding to the index; And
And an array of indexes using the string data, wherein a value stored in each element of the array includes an array of index index contents that are body contents of the genealogical data corresponding to the index.
제7항에 있어서,
족보책의 페이지 번호가 입력되면, 상기 페이지 번호에 해당하는 페이지의 족보데이터를 상기 족보책 생성부에 의해 생성된 족보 DB에서 추출하여 디스플레이하되, 미리 정해진 페이지당 행의 개수를 기초로 추출해야 할 행에 대한 레코드를 상기 족보 DB에서 추출하여 렌더링하는 실시간 페이지 렌더링부를 더 포함하는 것을 특징으로 하는 문자열 데이터를 이용한 인터넷 족보 생성 장치.
The method of claim 7, wherein
When the page number of the genealogy book is input, the genealogy data of the page corresponding to the page number is extracted and displayed in the genealogy DB generated by the genealogy book generator, and based on a predetermined number of rows per page. Internet lineage generating device using the string data, characterized in that it further comprises a real-time page rendering unit for extracting the record for the row from the genealogy DB.
삭제delete 제7항에 있어서, 상기 족보책 생성부는,
탐색된 노드가 장남인 경우, 장남의 x 좌표값은 부(父)의 x 좌표값과 동일하고, 장남의 y 좌표값은 부(父)의 y 좌표 값 + 1 이고,
탐색된 노드가 장남이 아닌 나머지 형제인 경우, 상기 형제의 x좌표값은 탐색된 직전 형제의 x좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 장남의 y좌표값과 동일하고, 상기 내용길이는 상기 노드에 해당하는 사람의 본문내용 글자수(스페이스 포함)를 자고(字高)로 나눈 값이며, 상기 자고는 족보책이 세대를 구분하는 복수의 칸으로 구성될 때 상기 칸의 높이로서 높이방향으로 글자가 들어갈 수 있는 글자수이고,
현재 탐색된 노드가 직전에 탐색된 노드보다 위세대 일 경우, 현재 탐색된 노드의 x 좌표값은 상기 직전 탐색 노드의 x 좌표값 + 내용길이 + 1(또는 2) 이고, y 좌표값은 상기 직전 탐색 노드의 y 좌표값 - 세대차(世代差)인 것을 특장으로 하는 문자열 데이터를 이용한 인터넷 족보 생성 장치.
The method of claim 7, wherein the genealogy book generation unit,
If the discovered node is the eldest son, the x-coordinate value of the eldest son is equal to the x-coordinate value of the eldest son, and the y-coordinate value of the eldest son is negative y-coordinate value + 1,
If the discovered node is the remaining sibling rather than the eldest son, the x-coordinate value of the sibling is x-coordinate value + content length + 1 (or 2) of the previous sibling searched, and the y-coordinate value is equal to the y-coordinate value of the eldest son. The length of the content is a value obtained by dividing the number of characters (including space) of the body content of the person corresponding to the node by the height of the character, and the height of the character when the genealogy book is composed of a plurality of compartments that separate generations. The number of characters that can be entered in the height direction as the height of
If the currently searched node is a generation above the node searched immediately before, the x coordinate value of the currently searched node is the x coordinate value + content length + 1 (or 2) of the previous search node, and the y coordinate value is immediately before the previous search node. Internet genealogy generating apparatus using character string data characterized by y-coordinate value of search node-generation difference.
KR1020180101967A 2018-08-29 2018-08-29 Method and apparatus for generating internet genealogy using string data KR102034392B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180101967A KR102034392B1 (en) 2018-08-29 2018-08-29 Method and apparatus for generating internet genealogy using string data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180101967A KR102034392B1 (en) 2018-08-29 2018-08-29 Method and apparatus for generating internet genealogy using string data

Publications (1)

Publication Number Publication Date
KR102034392B1 true KR102034392B1 (en) 2019-10-18

Family

ID=68462572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180101967A KR102034392B1 (en) 2018-08-29 2018-08-29 Method and apparatus for generating internet genealogy using string data

Country Status (1)

Country Link
KR (1) KR102034392B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724475A (en) * 2020-06-16 2020-09-29 宁波市政工程建设集团股份有限公司 Construction method based on building information model for municipal engineering
CN113449156A (en) * 2020-03-25 2021-09-28 北京沃东天骏信息技术有限公司 Character string generation method and device, computer readable medium and electronic equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948659B1 (en) * 2007-12-24 2010-03-18 계명대학교 산학협력단 Method for assigning numbers to nodes in dynamic eXtensible Markup Language
KR101808990B1 (en) * 2017-07-27 2018-01-19 이용근 Method and apparatus for generating family tree using character string data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948659B1 (en) * 2007-12-24 2010-03-18 계명대학교 산학협력단 Method for assigning numbers to nodes in dynamic eXtensible Markup Language
KR101808990B1 (en) * 2017-07-27 2018-01-19 이용근 Method and apparatus for generating family tree using character string data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113449156A (en) * 2020-03-25 2021-09-28 北京沃东天骏信息技术有限公司 Character string generation method and device, computer readable medium and electronic equipment
CN111724475A (en) * 2020-06-16 2020-09-29 宁波市政工程建设集团股份有限公司 Construction method based on building information model for municipal engineering
CN111724475B (en) * 2020-06-16 2024-03-05 宁波市政工程建设集团股份有限公司 Construction method based on building information model for municipal engineering

Similar Documents

Publication Publication Date Title
WO2021073077A1 (en) Method, apparatus and device for automatically generating spreadsheet, and storage medium
Edhlund Nvivo 9 essentials
JP5512489B2 (en) File management apparatus and file management method
CN106095762A (en) A kind of news based on ontology model storehouse recommends method and device
US11093520B2 (en) Information extraction method and system
CN111753099A (en) Method and system for enhancing file entity association degree based on knowledge graph
CN108647244B (en) Theme teaching resource integration method in form of thinking guide graph and network storage system
JPS61220027A (en) Information memory system
JP5926470B1 (en) Electronic file structure, computer-readable storage medium, electronic file generation device, electronic file generation method, electronic file
CN102810114A (en) Personal computer resource management system based on body
JP2007095102A (en) Document processor and document processing method
CN106502991B (en) Publication treating method and apparatus
US20150026159A1 (en) Digital Resource Set Integration Methods, Interfaces and Outputs
US20150199346A1 (en) Hierarchical database report generation with automated query generation for placeholders
KR102034392B1 (en) Method and apparatus for generating internet genealogy using string data
Blanke et al. Integrating holocaust research
CN102799632A (en) Method for acquiring and describing text information based on visual basic application (VBA) and tetrahedron data model
JP4566196B2 (en) Document processing method and apparatus
US20050198060A1 (en) XML document classifying method for storage system
JP4627530B2 (en) Document processing method and apparatus
US20060248037A1 (en) Annotation of inverted list text indexes using search queries
JP5112027B2 (en) Document group presentation device and document group presentation program
JP2003281149A (en) Method of setting access right and system of structured document management
CN115687566A (en) Method and device for full-text retrieval and retrieval result display
JPH09282218A (en) Html document book form shaping method and device therefor

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant