KR101170969B1 - 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템 - Google Patents

공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템 Download PDF

Info

Publication number
KR101170969B1
KR101170969B1 KR1020110094460A KR20110094460A KR101170969B1 KR 101170969 B1 KR101170969 B1 KR 101170969B1 KR 1020110094460 A KR1020110094460 A KR 1020110094460A KR 20110094460 A KR20110094460 A KR 20110094460A KR 101170969 B1 KR101170969 B1 KR 101170969B1
Authority
KR
South Korea
Prior art keywords
data
space
database
shared database
manager
Prior art date
Application number
KR1020110094460A
Other languages
English (en)
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 KR1020110094460A priority Critical patent/KR101170969B1/ko
Priority to PCT/KR2012/005739 priority patent/WO2013042864A1/ko
Application granted granted Critical
Publication of KR101170969B1 publication Critical patent/KR101170969B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템을 제공하는 것을 목적으로 하는 것으로, 본 발명은 데이터 스크랩이 드래그 및 드롭 기능을 통해 하나의 스페이스에서 다른 스페이스로 이루어지는 단계와; 상기 하나의 스페이스에서 상기 다른 스페이스로 데이터 스크랩이 발생되었을 때 데이터 베이스 내에서 데이터들이 개별 섹터로 자동으로 스크랩되어지는 단계와; 상기 데이터 베이스 내에서 상기 개별 섹터로 스크랩되어진 상기 데이터들이 상기 다른 스페이스로 자동으로 표시되는 단계를 포함하는 것을 특징으로 하는 공유 데이터 베이스 상에서의 데이터 맵핑 방법 및 맵핑 시스템이다.

Description

공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템{Data mapping method on sharing data base and data mapping system thereof}
본 발명은 여러 시스템이 공유하고 있는 공유 데이터 베이스 상에서의 데이터 맵핑 방법 및 시스템에 관한 것으로, 더욱 상세하게는 공유 데이터 베이스를 사용하는 여러 개의 스페이스에서 상품정보 등에 대한 데이터 맵핑에 대한 것이며, 어떤 스페이스의 데이터를 다른 스페이스에서 공유 데이터 베이스를 통해 스크랩할 수 있도록 하고, 개별적인 관리도 이루어낼 수 있는데 의의를 가지는 데이터 맵핑 방법 및 시스템에 관한 것이다. 이때, 스페이스란 어떤 시스템, 프로그램, 웹페이지, 소프트웨어, 모듈과 같은 의미를 담고 있으며, 한가지에 국한하지 않는다. 즉, 본 발명은 데이터 스크랩에 대한 자동적인 내부 프로세스와 공유 데이터 베이스를 사용하지만 각각의 스페이스 고유의 데이터 관리에 대해 다루고 있고, 본 발명을 바탕으로 쇼핑몰의 화폐단위 등을 개별적으로 수정하는 경우, 그에 따른 화폐단위표기 자동변경 등의 프로세스까지 제공하여 사용자에게 편의를 제공할 수 있게 된다.
종래의 프로세스는 공유 데이터 베이스를 사용하면, 여러 스페이스들 사이에서 데이터들을 서로 공유함으로써 스페이스간의 데이터 맵핑이 자유롭다는 이점이 있었다. 그러나, 한가지 커다란 문제점은 공유 데이터 베이스를 사용하기 때문에 각 스페이스의 개별적인 데이터를 관리할 수 있는 방법이 없었다는 것이다.
이러한 문제점에 대해 더욱 상세하게 알아보고자, 스페이스가 쇼핑몰인 경우를 예로 든다면, 쇼핑몰을 해외 여러 나라에 두고 있는 어떤 한 회사가 쇼핑몰 관리를 보다 손쉽게 하기 위하여, 하나의 데이터 베이스로 모든 쇼핑몰들을 맵핑하여 관리한다면, 마스터 관리자가 한번 책정한 배송비를 해외 모든 나라에서 똑같이 적용해야 한다는 문제에 직면했다. 배송비뿐만이 아니라 환율 같은 경우도 마찬가지이다. 한 번 마스터 관리자가 정한 환율을 모든 나라에서 적용하는 것은 현실적으로 불가능한 일이다. 이것은 공유 데이터 베이스를 사용하는 n개의 스페이스가 개별적인 데이터관리를 할 수 없다는 문제점에 기인하기 때문이다.
종래의 스페이스 사이의 데이터 스크랩 과정에서 데이터를 관리자에 의해 수동적으로 하나하나 일일이 수행하는데에는 상당한 시간적 자원낭비, 인력 자원 낭비가 따랐다. 또한, 이러한 이유로 서로 다른 스페이스상에 있는 각각의 데이터를 종합 재정렬하여 각각의 스페스상에서 새로운 데이터를 구축하기가 어려웠으며, 이를 극복하기 위해 수인의 웹 디자이너를 고용하여 각 데이터 서버들에 있는 데이터들을 수집하고 이를 적용하여 웹 페이지를 업데이트 하기에는 그 작업이 어렵다는 문제점이 있었다.
이러한 문제점은 소프트웨어 산업의 발전을 위해 극복되어야 하며, 소비자들의 요구사항에 부합될 수 있는 다양한 방법을 제공함으로써, 서비스 품질의 향상이 이루어져야 함을 의미한다.
본 발명은 전술한 바와 같은 문제를 해결하기 위한 것으로, 본 발명의 목적은 여러 시스템이 공유하고 있는 데이터 베이스 상에서의 데이터 맵핑 방법을 다루는데, 본 발명의 근간이 되는 기술은 데이터 베이스 이론과, 파일구조 이론이며, 데이터나 레코드들이 데이터 베이스상에서 이동되어지고, 복사되어지는 원리와 기술을 바탕으로 여러 스페이스 사이에 공유할 수 있는 하나의 데이터 베이스를 두어서 데이터공유는 물론, 각각의 스페이스간의 데이터 스크랩과 각 스페이스당 개별적인 데이터관리까지 달성해내는데 그 목적이 있다.
상기와 같은 과제를 해결하기 위한 본 발명에 의하면, 데이터 스크랩이 드래그 및 드롭 기능을 통해 하나의 스페이스에서 다른 스페이스로 이루어지는 단계와; 상기 하나의 스페이스에서 상기 다른 스페이스로 데이터 스크랩이 발생되었을 때 데이터 베이스 내에서 데이터들이 개별 섹터로 자동으로 스크랩되어지는 단계와; 상기 데이터 베이스 내에서 상기 개별 섹터로 스크랩되어진 상기 데이터들이 상기 다른 스페이스로 자동으로 표시되는 단계를 포함하는 것을 특징으로 하는 공유 데이터 베이스 상에서의 데이터 맵핑 방법이 제공된다.
상기 하나의 스페이스와 상기 다른 스페이스 사이의 드래그 및 드롭 기능을 통해 데이터 스크랩이 구현되는 방법은, 상기 스크랩이 발생하면 스크랩되어질 데이터의 갯수를 카운트한 다음, 공유 데이터 베이스에 쿼리(query)를 전송하여 필요한 레코드를 추출하고, 스크랩해간 상기 다른 스페이스의 고유 섹터에 해당 레코드들을 데이터화하여 복사하는 것을 특징으로 한다.
상기 스크랩되어질 데이터 갯수의 카운트 기능은 공유 데이터 베이스에 연결되어 있는 DBMS에 의해 이루어지고, 상기 DBMS에 연결된 파일 관리자와 디스크 관리자를 통하여 상기 공유 데이터 베이스에 쿼리를 전송하여 필요한 레코드를 추출한 다음, 상기 하나의 스페이스에서 스크랩해간 해당 레코드들을 상기 공유 데이터 베이스에 연결된 상기 다른 스페이스의 디스크 관리자와 상기 파일 관리자 및 상기 DBMS를 통하여 데이터화하여 복사함으로써 상기 하나의 스페이스에서 상기 다른 스페이스로 해당 레코드들이 자동으로 스크랩되는 것을 특징으로 한다.
상기 하나의 스페이스에서 상기 다른 스페이스로 드래그 및 드롭 기능을 통해 스크랩 동작이 이루어지면, 상기 하나의 스페이스에 연결된 DBMS에 레코드를 요구하고, 상기 DBMS에서 파일 관리자에게 저장 레코드를 요청하고, 상기 파일 관리자는 디스크 관리자에게 해당 데이터 페이지를 요청하고, 상기 디스크 관리자는 공유 데이터 베이스에서 입출력 연산에 의해 상기 요청된 데이터를 추출하고, 상기 공유 데이터 베이스에서는 상기 디스크 관리자에게 상기 데이터를 전송하고, 상기 디스크 관리자는 상기 파일 관리자에게 상기 데이터 페이지를 반환하고, 상기 파일 관리자는 상기 DBMS에 요청 레코드를 반환하며, 상기 파일 관리자에 의해 반환된 상기 요청 레코드는 상기 DBMS에 의해 상기 다른 스페이스로 자동으로 스크랩되는 것을 특징으로 한다.
또한, 본 발명에 의하면, 상기 공유 데이터 베이스의 내부에 복수개의 분할된 개별 데이터 섹터에 액세스하는 단계와; 상기 개별 데이터 섹터에 액세스한 상태에서 상기 데이터 섹터의 개별 데이터를 관리하는 단계를 더 포함하는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 방법이 제공된다.
상기 개별 데이터 섹터에 액세스한다는 것은 공유 데이터 베이스를 사용할 때에 개별적 접근을 시도하는 퍼즐 개념을 의미하는 것을 특징으로 한다.
상기 데이터 섹터의 개별 데이터를 관리하는 것은 퍼즐 개념을 도입한 데이터 맵핑을 이용하여 각각의 스페이스의 개별적인 관리가 가능함을 의미하는 것을 특징으로 한다.
또한, 본 발명에 의하면, 상기 공유 데이터 베이스상에 표시 검증 모듈을 설치하여, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 발생되었을 때에 상기 다른 스페이스에 상응하는 데이터를 스크랩하는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 방법이 제공된다.
상기 표시 검증 모듈은 화폐단위 표시 검증 모듈로서, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 이루어질 때에 DBMS 내에서의 조건문에 의해 상기 다른 스페이스에 상응하는 화폐 단위로 자동 변경되는 것을 특징으로 한다.
또한, 본 발명에 의하면, 데이터 스크랩이 드래그 및 드롭 기능을 통해 이루어지기 위한 복수개의 스페이스와; 상기 하나의 스페이스에서 상기 다른 스페이스로의 데이터 스크랩이 발생되었을 때 공유 데이터 베이스 내에서 데이터들이 자동 스크랩되기 위한 개별 데이터 섹터와; 상기 공유 데이터 베이스 내에서 상기 개별 섹터로 스크랩되어진 상기 데이터들이 상기 다른 스페이스로 자동으로 표시되도록 하는 DBMS와 파일 관리자 및 디스크 관리자를 포함하는 것을 특징으로 하는 공유 데이터 베이스 상에서의 데이터 맵핑 시스템이 제공된다.
상기 하나의 스페이스에서 상기 다른 스페이스로 드래그 및 드롭 기능을 통해 스크랩 동작이 이루어지면, 상기 하나의 스페이스에 연결된 DBMS에 레코드를 요구하고, 상기 DBMS에서 파일 관리자에게 저장 레코드를 요청하고, 상기 파일 관리자는 디스크 관리자에게 해당 데이터 페이지를 요청하고, 상기 디스크 관리자는 공유 데이터 베이스에서 입출력 연산에 의해 상기 요청된 데이터를 추출하고, 상기 공유 데이터 베이스에서는 상기 디스크 관리자에게 상기 데이터를 전송하고, 상기 디스크 관리자는 상기 파일 관리자에게 상기 데이터 페이지를 반환하고, 상기 파일 관리자는 상기 DBMS에 요청 레코드를 반환하며, 상기 파일 관리자에 의해 반환된 상기 요청 레코드는 상기 DBMS에 의해 상기 다른 스페이스로 자동으로 스크랩되는 것을 특징으로 한다.
상기 공유 데이터 베이스의 내부에 복수개로 분할되어 개별 데이터를 관리되도록 하는 개별 데이터 섹터를 더 포함하는 것을 특징으로 한다.
상기 공유 데이터 베이스상에는 상기 하나의 스페이스에서 다른 스페이스로의 스크랩이 발생되었을 때에 상기 다른 스페이스에 상응하는 데이터를 스크랩하기 위한 표시 검증 모듈이 더 설치된 것을 특징으로 한다.
상기 표시 검증 모듈은 대표적으로 화폐단위 표시 검증 모듈로서, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 이루어질 때에 DBMS 내에서의 조건문에 의해 상기 다른 스페이스에 상응하는 화폐 단위로 자동으로 변경되는 것을 특징으로 한다.
본 발명에 의하면, 퍼즐이라는 특별한 개념을 통해 데이터 베이스내에 영역을 나누어 개별적 데이터 베이스 관리를 이루어내는데 특징이 있고, 스페이스 사이에 수동적인 스크랩이 아닌, 드래그 및 드롭(Drag and drop) 기능을 통해 모든 처리가 자동으로 이루어지는 기능을 제공하는데 그 특징이 있다. 또한, 본 발명은 퍼즐 개념을 통해, 쇼핑몰의 화폐단위 등을 개별적으로 관리하게 될 수 있는데, 화폐단위 등을 변경하면 자동적으로 화폐 단위표기법까지 변경해주는 프로세스를 개발하였다.
따라서, 본 발명에 의하면, 데이터 베이스를 공유하는 쇼핑몰들 사이에 기존에 가능했던 데이터 스크랩을 드래그 및 드롭 기능으로 통해 모든 과정을 자동으로 이루어 낼 수 있어서 어느 스페이스에서 다른 스페이스(대표적으로 어느 하나의 웹 페이지에서 다른 웹 페이지)로의 스크랩을 용이하게 구축(대표적으로 어느 하나의 웹 페이지에서 다른 웹 페이지를 구축)할 수 있으며, 각각의 스페이스의 개별적인 데이터 관리가 가능한 효과가 있다. 쇼핑몰을 예로 들어 본다면, 여러 개의 쇼핑몰이 본 발명의 개념을 통해 데이터 베이스를 사용하면 데이터의 공유와, 개별적인 사용 둘 다 달성해 낼 수 있으므로, 하나의 회사가 무늬만 다른 여러 개의 쇼핑몰을 제작할 때 유용하게 사용될 수 있는 개념이다.
도 1는 어카운드 레코드들을 포함하는 파일을 보여주는 도면
도 1b는 레코드 2가 삭제되고 모든 레코드가 이동한 상태를 보여주는 도면
도 1c는 파일에서 레코드 2가 삭제되고 마지막 레코드가 이동한 상태를 보여주는 도면
도 1d는 도 1a에서 레코드 1과 레코드 4 및 레코드 6이 삭제된 후의 자유 리스트의 모양을 보여주는 도면
도 1e는 A 스페이스의 레코드들을 포함하는 파일을 보여주는 도면
도 1f는 A 스페이스에서 B 스페이스로 모든 레코드가 이동한 상태를 보여주는 도면
도 2는 데이터베이스 접근 과정을 개념적으로 보여주는 도면
도 3은 기존의 공유 데이터 베이스와 본 발명의 퍼즐 개념을 도입한 공유 데이터 베이스의 차이점을 보여주는 도면
도 4는 각각 달러화, 유로화, 원화에 따른 화폐단위 표기법을 나타낸 도면
도 5는 화폐단위 자동변환을 나타낸 순서도
도 6은 슬롯페이지 구조를 개념적으로 보여주는 도면
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도면을 참조하면, 본 발명의 실시예에 의한 데이터 맵핑 방법은 데이터 스크랩이 드래그 및 드롭 기능을 통해 하나의 스페이스(10A)에서 다른 스페이스(10B)로 이루어지는 단계와, 상기 하나의 스페이스(10A)에서 다른 스페이스(10B)로 데이터 스크랩이 발생되었을 때 데이터 베이스 내에서 데이터들이 개별 섹터로 자동으로 스크랩되어지는 단계와, 상기 데이터 베이스 내에서 개별 섹터로 스크랩되어진 데이터들이 다른 스페이스(10B)로 자동으로 표시(스크랩)되는 단계를 포함한다.
이때, 하나의 스페이스(10A)와 다른 스페이스(10B) 사이의 드래그 및 드롭 기능을 통해 데이터 스크랩이 구현되는 방법을 설명하면, 사용자 등의 드래그 및 드롭을 통하여 스크랩이 발생하면 스크랩되어질 데이터의 갯수를 카운트한 다음, 공유 데이터 베이스(50)에 쿼리(query: 질의어)를 전송하여 필요한 레코드를 추출하고, 스크랩해간 다른 스페이스(10B)의 고유 섹터에 추출된 해당 레코드들을 데이터화하여 복사한다. 이때, 스크랩되어질 데이터 갯수의 카운트 기능은 공유 데이터 베이스(50)에 연결되어 있는 DBMS(20)에 의해 이루어지는 것이라 할 수 있다.
구체적으로, 하나의 스페이스(10A)(예를 들어 A 스페이스)에서 다른 스페이스(10B)(예를 들어, B 스페이스)로 사용자 등의 드래그 및 드롭을 통해 스크랩 동작이 이루어지면, 하나의 스페이스(10A)(즉, A 스페이스)에 연결된 DBMS(20)에 레코드를 요구하고, DBMS(20)에서 파일 관리자(30)에게 저장 레코드를 요청하고, 파일 관리자(30)는 디스크 관리자(40)에게 해당 데이터 페이지를 요청한다.
다음, 상기 디스크 관리자(40)는 공유 데이터 베이스(50)에서 입출력 연산에 의해 요청된 데이터를 추출하고, 공유 데이터 베이스(50)에서는 디스크 관리자(40)에게 데이터를 전송한다.
이어서, 상기 디스크 관리자(40)는 파일 관리자(30)에게 데이터 페이지를 반환하고, 파일 관리자(30)는 DBMS(20)에 요청 레코드를 반환하며, 파일 관리자(30)에 의해 반환된 요청 레코드는 DBMS(20)에 의해 다른 스페이스(10B)(즉, B 스페이스)로 자동으로 스크랩된다.
이때, 스페이스란 어떤 시스템, 프로그램, 웹페이지, 소프트웨어, 모듈, 쇼핑몰과 같은 의미를 담고 있으며, 한가지에 국한하지 않는다. 또한, 드래그라는 것은 사용자 등이 마우스 등을 이용하여 A 스페이스(10A)의 스크랩 대상(예를 들어, A 스페이스(10A)의 웹 사이트)를 B 스페이스(10B)에 끌어가는 것을 의미하고, 드롭이라는 것은 끌어다 놓은 스크랩 대상을 B 스페이스(10B)에 놓아서 배치시킨다는 것을 의미하며, 이러한 드래그 및 드롭에 의해 예를 들어 A 스페이스(10A)의 웹 사이트가 B 스페이스(10B)의 웹 사이트에 스크랩되는 것이며, 이러한 자동 스크랩에 의해 A 스페이스(10A)의 웹 사이트가 B 스페이스(10B)에서의 웹 사이트로 자동 구축되는 것이다.
본 발명의 종래 과제 해결 수단을 요약하면, 공유 데이터 베이스를 공유하는 스페이스들 사이에 개별적인 데이터관리를 위해 퍼즐의 개념이 사용된다. 이때 퍼즐이란 기존의 존재하지 않는 새로 고안한 개념으로서, 하나의 데이터 베이스를 식별번호로 여러 개의 섹터로 분할하는 작업을 의미한다. 이때 섹터란, 실질적으로 영역을 물리적으로 나누는 개념이 아니고, 데이터의 이름에 지정하고 싶은 섹터 네임을 부여해, 가상적으로 섹터를 나눈다는 개념이다. 이로 인하여, 하나의 데이터 베이스에는 여러 개의 폴더가 생겼다고 볼 수 있다. 상기 퍼즐 개념의 도입으로 인해 각각의 스페이스별로 개별적인 데이터 관리가 가능해진다는 점이 중요하다.
또한, 본 발명은 스페이스간의 드래그 및 드롭(drag and drop)을 통한 데이터 스크랩 구현방법은, 스크랩이 일어나면 시스템은 스크랩되어질 데이터의 수를 센다. 그런 다음 데이터 베이스에 쿼리(질의어)를 전송하여 필요한 레코드를 추출하고, 예를 들어, A 스페이스(10A)에서 스크랩해간 B 스페이스(10B)의 고유 섹터에 해당 레코드들을 데이터화하여 복사한다. 이러한 드래그 및 드롭으로 인한 스페이스간의 자동 스크랩으로 인해 각 스페이스 사이의 고유 웹 사이트 등의 구축이 용이하다는 것이 중요하다.
또한, 본 발명은 국제 전자 상거래 등에 대응하여 각 나라별 화폐단위 자동 변경 표기법을 도입하였는데, 화폐 단위 자동 표기법은 공유 데이터 베이스(50)에 미리 국가마다 해당되는 화폐 단위 표기법을 준비해두고, 관리자가 화폐단위를 수정하면 시스템 내부적인 조건문에 의하여 그 화폐단위에 해당하는 표기법으로 자동 변경된다. 여기서 관리자는 해당 스페이스(예를 들어, 미국의 사용자 컴퓨터의 웹 사이트)에서 직접 화폐 단위를 수정하는 사용자를 의미한다. 한편, 상기 공유 데이터 베이스(50)에 미리 화폐 단위 변경(transfer) 모듈을 구축하여, A 스페이스(10A)(예를 들어, 한국의 컴퓨터상의 웹 사이트)에서 B 스페이스(10B)(예를 들어, 미국의 컴퓨터상의 웹 사이트)로 스크랩 대상을 드래그 및 드롭을 통하여 스크랩해가면, 상기 화폐 단위 변경 모듈에 의해 자동으로 한국 화폐 단위에서 미국 화폐 단위로 변경될 수 있도록 하는 개념도 포함된다.
본 발명에 의하면, 상기 공유 데이터 베이스(50)상에 표시 검증 모듈(60)을 설치하여 A 스페이스(10A)에서 다른 B 스페이스(10B)로 스크랩이 발생되었을 때에 B 스페이스(10B)에 상응하는 데이터를 스크랩하게 되는 것이다. 이때, 상기 표시 검증 모듈(60)은 대표적으로 상기 화폐단위 표시 검증 모듈(60)이 될 수도 있고, 기타 다른 데이터 검증 모듈(예를 들어, 등산화의 경우 사이즈, 가격, 배송지, 배송 방법 등)이 될 수도 있는데, 상기 하나의 스페이스(10A)에서 다른 스페이스(10B)로 스크랩이 이루어질 때에 DBMS(20) 내에서의 조건문에 의해 다른 스페이스(10B)에 상응하는 다른 데이터로 자동 변경된다. 상기 등산화를 예로 든다면, 한국어로 된 등산화의 사이즈, 가격, 배송지, 배송 방법 등이 영어로 변경되어 상기 다른 스페이스(10B)에 표시(스크랩)되는 것이며, 이러한 A 스페이스(10A)(상기 실시예에서는 한국 컴퓨터)상의 웹 사이트가 B 스페이스(10B)(상기 실시예에서는 미국 컴퓨터)상의 웹 사이트로 자동 구축되는 것이다.
본 발명은 여러 시스템이 공유하고 있는 데이터 베이스 상에서의 데이터 맵핑 방법을 다룬다. 근간이 되는 기술은 데이터 베이스 이론과, 파일구조 이론이며, 데이터나 레코드들이 데이터 베이스상에서 이동되고, 복사되는 원리와 기술을 바탕으로 여러 스페이스(10A,10B 및 10C 등) 사이에 공유할 수 있는 하나의 데이터 베이스를 두고 데이터공유는 물론이거니와, 각각의 스페이스(10A,10B 및 10C 등) 사이의 데이터 스크랩과 각 스페이스(10A,10B 및 10C 등)당 개별적인 데이터 관리까지 이루어낼 수 있다.
<데이터 베이스의 내부적 운영>
1. 데이터 베이스의 저장
시스템의 입장에서 데이터를 실제로 저장하고 접근하는 일련의 작업을 데이터 베이스의 내부적 운영이라고 한다. 데이터 베이스는 물리적으로 직접 접근 저장 장치, 즉 디스크에 대부분 저장된다. 물론 디스크 어레이나 광 디스크와 같은 대량 저장 장치가 사용되기도 하지만 여기서는 디스크라는 용어를 데이터 베이스가 저장되는 직접 접근 장치를 대표하는 의미로 사용하였다. 또한 설명을 쉽게 하기 위해서 데이터 베이스 전체가 하나의 디스크에 저장된다고 가정하였다.
일반적으로 디스크 접근 시간이라 하면 헤드가 임의의 장소에서부터 원하는 트랙에 있는 레코드를 찾아 전송하는데 걸리는 시간을 통틀어 말한다. 따라서 여기에는 탐구 시간, 회전 지연 시간, 그리고 실제 데이터 전송 시간이 포함된다.
여기서 강조하고자 하는 것은 디스크 접근 시간은 주기억 장치 접근 시간보다 훨씬 느리다는 것이다. 보통 디스크 접근 시간은 디스크의 유형에 따라 15밀리초에서부터 60밀리초가 되는 반면에 주기억 장치의 접근 시간은 이보다 적어도 4~5배 정도 빠르다.
이 가운데 실제로 데이터를 전송하는데 걸리는 시간은 디스크 접근 시간의 십분의 일도 되지 않는다. 따라서 데이터 베이스 시스템에서 가장 중요한 성능 개선의 초점은 디스크 접근 횟수를 최소화하는 것이다. 데이터 베이스의 내부적 관리는 바로 이런 목적을 달성하기 위한 기법에 주안 점을 두고 있다. 즉, 데이터를 디스크에 어떻게 배치하여 저장하여야만 하는 방법이 데이터 베이스 시스템의 내부적 관심사인 것이다. 데이터를 한 실린더에 저장하거나 아니면 인접 실린더에 저장하려고 하는 이유가 바로 여기에 있다.
디스크에 데이터가 배치되어 저장되어 있는 형태를 저장구조라 한다. 저장구조는 많은 방법들이 있으며 각 구조에 따라 성능이 모두 다르다. 또 각 구조마다 적합한 응용이 서로 다르며, 어느 한 구조가 모든 응용에 최적인 것은 없다. 따라서 좋은 시스템이란 여러 가지 저장 구조를 지원할 수 있어서 데이터 베이스의 부분별로 가장 적절한 방법으로 저장할 수 있게 하고 또 어떤 부분에 대한 성능 요건이 변할 때 그 저장구조를 변경시켜 줄 수 있는 시스템일 것이다.
이렇게 데이터 베이스에 적절한 저장 방식을 선정하는 과정이 바로 데이터 베이스의 물리적 설계이다. 여기서 강조하려 하는 것은 데이터 베이스의 규모가 크고 복잡하면 물리적 설계가 아주 어려운 작업이 된다는 것이다. 물리적 설계를 위해서는 무엇보다도 데이터 베이스가 어떻게 사용될 것인가에 대해 먼저 잘 알아야 한다. 즉, 그 데이터 베이스에서 실행시킬 응용에 대해 잘 알아야 하고 또 그런 응용의 실행에 대한 빈도수도 잘 알아야 한다.
이하, 저장된 데이터 베이스에서 어떤 특정 레코드를 찾아 접근하는 전체적 과정과 이 과정에 연관된 주요 소프트웨어 구성 요소들에 대해 설명한다.
2. 데이터 베이스의 접근
데이터 베이스의 내부 관리를 이해하기 위한 데이터 베이스의 일반적인 접근 과정은 다음과 같다.
① DBMS(20)는 사용자가 요구하는 레코드가 어떤 저장 레코드인가를 결정해서 파일 관리자(30)에게 그 레코드의 검색을 요청한다.
② 파일 관리자(30)는 DBMS(20)가 원하는 레코드가 어떤 페이지, 즉 블록에 저장되어있는가를 결정해서 디스크 관리자(40)에게 그 페이지의 검색을 요청한다. 여기서 이 페이지는 입출력의 단위이다. 즉, 디스크와 주기억 장치 사이에 한번의 디스크접근으로 데이터가 전송되는 양을 말한다.
③ 마지막으로 디스크 관리자(40)는 파일 관리자(30)가 원하는 페이지의 물리적 위치를 알아내어 검색에 필요한 디스크의 입출력 명령을 내린다. 경우에 따라서는 이 페이지가 먼저 수행된 명령에 의해 이미 주기억 장치의 버퍼에 잔류하고 있을 수도 있는데 이때는 물론 다시 검색할 필요가 없다.
이와 같이 개략적으로 말해 DBMS(20)는 데이터 베이스를 하나의 저장 파일, 즉 저장 레코드의 집합으로 간주하면서 파일 관리자(30)와 인터페이스를 하는 반면, 파일 관리자(30)는 데이터 베이스(50)를 페이지의 집합으로 보고 다시 디스크 관리자(40)와 인터페이스를 하는 것이다.
3. 디스크 관리자
기본 입출력 서비스라고도 하는 디스크 관리자(40)는 운영 체제의 한 구성 요소로서 모든 물리적 입출력 연산에 대한 책임을 지고 있다. 따라서 이것은 자연히 물리적 디스크 주소에 대해 알고 있어야 한다.
예를 들어, 파일 관리자(30)가 어떤 페이지 p의 검색을 요구하면 디스크 관리자(40)는 이 페이지 p가 디스크상에 정확히 어디에 있는지를 알아야만 한다. 그러나 이 디스크 관리자(40)에 명령하는 파일 관리자(30)는 그 페이지의 물리적 위치에 대해서 몰라도 된다.
그 대신 이 파일 관리자(30)는 디스크를 단순히 일정한 크기의 페이지로 구성되어 있는 페이지 세트들의 논리적 집합으로 취급한다.
각 페이지 세트는 유일한 페이지 세트 ID를 가지고 있고, 이 페이지 세트를 구성하고 있는 각 페이지는 그 디스크 내에서 유일한 페이지 번호를 가지고 있다. 물론 이 페이지 세트들은 서로 중첩되지 않는다. 즉 각 페이지는 오직 하나의 페이지 세트에만 속한다.
디스크 관리자(40)는 바로 이 페이지 번호를 물리적 디스크 주소로 변환하는 맵핑을 관리하고 수행한다. 이런 방식의 이점은 장비에 연관된 특정 코드를 이 디스크 관리자(40)에게만 국한시켜 상위 구성 요소인 파일 관리자(30)를 물리적 장비에 독립시킬수 있다는 것이다.
위에서 설명한 바와 같이 디스크의 모든 페이지들은 서로 중첩이 없는 페이지 세트로 부할되어 있다. 이 페이지 세트 중에는 하나의 자유공간페이지 세트가 있어서 예비 페이지의 기능을 한다.
그 이외의 다른 페이지 세트들은 모두 실제 데이터를 저장하고 있다고 간주한다. 페이지 세트에 대한 페이지의 할당과 회수는 파일 관리자(30)의 요청에 따라 디스크 관리자(40)가 실제로 수행한다. 디스크 관리자(40)가 페이지 세트에 실행할 수 있는 페이지 관리 연산, 즉 파일 관리자(30)가 디스크 관리자(40)에게 명령할 수 있는 연산에는 다음과 같은 것들이 있다.
① 페이지 세트 S로 부터 페이지 P의 검색
② 페이지 세트 S 내에서 페이지 P의 교체
③ 페이지 세트 S에 새로운 페이지 P이 첨가(즉, 자유 공간 페이지 세트에서 빈 페이지를 할당 받아 새로운 페이지 번호 P를 부여하여 페이지 세트 S에 첨가)
④ 페이지 세트 S에서 페이지 P의 제거(즉, 페이지 P를 페이지 세트 S로부터 자유공간 페이지 세트로 반환)
이 가운데 처음 두 연산(① 및 ②)은 파일 관리자(30)가 필요로 하는 기본적인 페이지 레벨의 입출력 연산에 속하고, 나머지 두 연산(③ 및 ④)은 필요에 따라 페이지 세트들을 증감시키는 연산들이다.
4. 파일 관리자
파일 관리자(30)는 위에서 설명한 대로 디스크 관리자(40)를 이용해서 DBMS(20)가 디스크를 저장 파일들의 집합으로 취급할 수 있도록 지원한다. 여기서 하나의 저장 파일은 한 레코드 타입의 저장레코드 어커런스들의 집합을 말한다. 한 페이지 세트는 하나 이상의 저장파일을 포함할 수 있다.
한 가지 유의할 것은 DBMS(20)는 페이지 세트에 대한 관리 책임은 지지 않지만 이 페이지 세트에 대해서 알고 있어야 한다. 특별히 DBMS(20)는 두개의 저장 파일이 같은 페이지 세트에 저장되어 있는지 또는 두개의 저장 레코드가 같은 페이지에 저장되어 있는지를 알아야 할 필요가 있다.
각각의 저장 파일은 파일 이름 또는 파일 ID로 식별되는데 이것은 적어도 이 파일을 포함하고 이쓴 페이지 세트 내에서는 유일하다. 또 각 저장 레코드도 레코드 번호 또는 레코드ID(RID)로 식별되는데, 이것도 그것이 저장되어 있는 저장 파일 내에서는 유일하다. 실제로 레코드 ID들은 보통 그들이 속해 있는 파일 분만이 아니라 전체디스크 내에서 유일하다. 왜냐하면 이 레코드 ID는 페이지 번호와 그 페이지 내의 어떤 유일한 값(오프셋)으로 구성되기 때문이다.
파일 관리자(30)는 시스템에 따라 운영 체제의 한 구성 요소로 되어 있는 것도 있고 DBMS(20)와 함께 패키지로 되어 있는 것도 있다. 이들은 기능면에서 별 차이는 없다. 그러나 운영 체제의 구성 요소로서 제공되는 파일 관리자(30)는 범용적인 것이어서 DBMS(20)와 같이 특정 목적을 가진 응용 요건에는 거의 적합하지 않다. 이 파일 관리자(30)가 저장 파일에 대해 수행할 수 있는 파일 관리 연산, 즉 DBMS(20)가 파일 관리자(30)에게 명령할 수 있는 연산에는 다음과 같은 것들이 있다.
① 저장 파일 f에서 저장 레코드 r의 검색
② 저장 파일 f에 있는 저장 레코드 r의 대체
③ 저장 파일 f에 새로운 레코드를 첨가하고 새로운 레코드 ID, r을 부여
④ 저장 파일 f에서 저장 레코드 r의 제거
⑤ 새로운 저장 파일 f의 생성
⑥ 저장 파일 f의 제거
DBMS(20)는 이와 같은 기본적인 파일 관리 연산들을 사용해서 데이터의 저장 구조를 구축하고 관리하는 것이다.
5. 저장장치 액세스
데이터 베이스는 내부적으로 운영체제에 의해 관리되는 많은 다른 파일들과 대응된다. 이 파일들은 디스크 안에 영구히 저장되고 백업은 테이프에 저장된다. 각 파일은 블록이라고 불리는 고정된 길이의 저장단위로 나누어지는데 이 블록은 저장장소 할당과 데이터 전송의 단위이다.
하나의 블록은 여러 개의 데이터 항목을 포함할지도 모른다. 한 블록이 포함하는 데이터 항목의 정확한 집합은 사용되고 있는 물리적 데이터구조에 의해 결정된다. 여기서는 두 개 혹은 그 이상의 블록에 걸치는 데이터 항목은 없는 것으로 가정한다.
데이터 베이스 시스템의 주요 목적은 디스크와 메모리 사이에 블록의 전송 수를 최소화하는 것이다. 디스크 액세스를 줄이는 한 가지 방법은 메인 메모리에 가능한 한 많은 블록을 유지하는 것이다. 이것의 목적은 블록이 액세스 될 때 이미 메인 메모리에 있을 가능성을 최대화해서 디스크 액세스를 할 필요 없게 하기 위해서이다.
메인 메모리에 모든 블록을 유지하는 것은 불가능하기 때문에 메인 메모리에서 블록을 저장하기 위해 이용할 수 있는 공간 할당을 관리할 필요가 있다. 버퍼는 디스크 블록의 복사본이 디스크에 존재하지만 디스크 상의 복사본은 버퍼에 있는 버전보다 더 오래된 버전일 수 있다. 버퍼 공간의 할당을 책임지고 있는 하부시스템을 버퍼관리자라고 한다.
6. 파일 구조
파일은 일련의 레코드들로서 논리적으로 구성되어 있다. 이 레코드들은 디스크 블록에 대응된다. 파일은 운영체에 의해 기본적인 구조로 제공되므로 하부에 파일 시스템이 있음을 가정한다. 파일을 이용하는 논리적 데이터 모델을 나타내는 방법을 생각해볼 필요가 있다.
비록 블록은 디스크의 물리적인 속성과 운영체제에 의해 결정된 고정된 크기일지라도 레코드 크기는 다양하다. 일반적으로 관계형 데이터 베이스에서 서로 다른 릴레이션의 튜플들은 크기가 다르다.
데이터 베이스를 파일에 대응하기 위한 접근 방법 중 하나로 여러 개의 파일을 사용해서 주어진 파일에 고정된 길이의 레코드들을 저장하는 것이다. 또 다른 방법으로는 다양한 길이의 레코드들을 수용하기 위해서 파일을 구성하는 것이다. 그러나, 고정된 길이의 레코드들을 저장하는 파일이 다양한 길이의 레코드들을 저장하는 파일보다 구현하기가 더 쉽다. 전자를 사용하는 많은 기술들이 다양한 길이를 사용하는 것에 적용될 수 있다. 그래서 먼저 고정된 길이의 레코드들을 저장하는 파일부터 생각해 보기로 한다.
7. 고정된 길이의 레코드
한 예로서 은행 데이터 베이스의 account 레코드 파일에 대해 생각해보자. 이 파일의 각 레코드는 다음과 같이 정의된다.
type deposit = record
account_number char(10);
branch_name char(22);
balance numeric(12,2);
end
각 문자는 1 바이트를 차지하고 numeric(12,2)는 8바이트를 차지한다고 가정하면, account 레코드의 길이는 40바이트다. 간단한 방법으로 첫 번째 레코드를 위해 첫 번째 40 바이트를 사용하고, 두 번재 레코드를 위해 그 다음 40바이트를 사용하고, 도 1a와 같이 표시하는 방법이 있다. 도 1a에서는 account 레코드들을 포함하는 파일이 도시되어 있다. 그러나, 이러한 방법에는 두 가지 문제점이 있다.
첫째, 이 구조에서는 레코드를 삭제하기가 어렵다. 삭제될 레코드가 차지하고 있는 공간은 그 파일의 다른 레코드로 채워져야 한다. 아니면 그 공간을 무시하기 위해 레코드가 삭제되었다는 표시를 해야 한다.
둘째, 만약에 블록 크기가 40의 배수가 되지 않는다면 몇몇 레코드들은 블록 경계를 넘게 된다. 즉 레코드의 일부분은 어떤 블록에 저장되고 나머지 부분은 다른 블록에 저장될 것이다. 이렇게 되면 이런 레코드를 읽거나 쓰기 위해서는 두 블록 모두에 액세스해야 한다.
도 1b에 도시된 바와 같이, 하나의 레코드가 삭제되었을 때 이 레코드 뒤에 있는 모든 레코드들을 바로 전 레코드가 차지한 공간으로 이동시킨다. 도 1b에서는 레코드 2가 삭제되고 모든 레코드가 이동한 상태가 도시되어 있다. 이런 방법은 많은 레코드들의 이동을 요구한다. 이런 경우, 도 1c에 도시된 바와 같이, 파일의 마지막 레코드를 삭제된 레코드가 차지했던 공간으로 이동시키는 것이 더 쉽다. 도 1c에서는 파일에서 레코드 2가 삭제되고 마지막 레코드가 이동한 상태가 도시되어 있다.
삭제된 레코드에 의해 비워진 공간을 채우기 위해 레코드를 이동시키는 것은 부가적인 블록 액세스를 요구하므로 바람직하지 않다. 삽입은 삭제보다 더 빈번히 일어나는 경향이 있기 때문에 삭제된 레코드가 차지하고 있던 공간을 비워둔 채 재사용하기 전에 다음의 삽입을 기다리게 할 수 있다. 삭제된 레코드를 표시하는 것으로는 충분하지 않다. 왜냐하면 삽입이 있을 때 이런 이용할 수 있는 공간을 찾기가 어렵기 때문이다. 그래서 부가적인 구조를 생각해볼 필요가 있다.
파일 앞부분에 파일 헤드로써 몇 바이트를 할당한다. 이 헤드는 이 파일에 대한 다양한 정보를 포함할 것이다. 여기에 저장하기 위해 필요한 것은 내용이 삭제된 첫 번째 레코드의 주소이다. 이 첫 번째 레코드는 두 번째 이용할 수 있는 레코드의 주소를 저장하는 데 사용한다. 이런 식으로 계속해 나가면 된다. 직관적으로 이 저장된 주소가 레코드의 위치를 가리키므로 포인터로 생각할 수 있다. 이 삭제된 레코드들은 연결리스트를 형성하는데 종종 자유리스트로 언급되기도 한다.
도 1d는 도 1a에서 레코드 1,4,6이 삭제된 후의 자유 리스트의 모양을 보여준다. 도 1e는 A 스페이스(10A)의 레코드들을 포함하는 파일이 도시되어 있고, 도 1f에서는 A 스페이스(10A)에서 B 스페이스(10B)로 모든 레코드가 이동한 상태가 도시되어 있다.
새로운 레코드를 삽입할 때 헤드에 의해 가리켜지고 있는 레코드를 이용한다. 그 다음 헤드의 포인터를 다음 이용할 수 있는 레코드를 가리키도록 바꾼다. 이용할 수 있는 공간이 없다면, 이 파일 끝에 새로운 레코드를 추가한다.
고정된 길이의 레코드를 저장한 파일에서의 삽입과 삭제는 구현하기 간단하다. 왜냐하면 삭제된 레코드에 의해 이용할 수 있는 공간이 정확하게 새로운 레코드를 삽입하기 위해 필요한 공간이 되기 때문이다. 그러나 다양한 길이의 레코드를 파일에 저장한다면 이런 일치가 더 이상 없게 된다. 삽입된 레코드는 삭제된 레코드에 의해 비어 있는 공간에 비해 커서 맞지 않거나 작아서 이 공간의 일부분만 채우는 경우가 발생할 수 있다.
8. 가변길이 레코드
데이터 베이스 시스템에서 가변 길이 레코드를 위한 몇가지 방법이 있다.
① 한 파일에 다양한 레코드형을 위한 저장장치
② 한 개 이상의 필드를 위해 가변 길이를 허용하는 레코드형
③ 배열이나 다중 집합과 같이 반복하는 필드를 허용하는 레코드형
가변길이의 레코드를 구현하기 위한 다양한 기술들이 존재한다.
도 5에 나타나 있는 슬롯 페이지 구조는 블록 내의 레코드들을 조직하는 데 흔히 사용된다. 각 블록의 시작부분에 다음의 정보를 포함하는 헤드가 있다.
① 헤드에 있는 레코드 엔트리의 수
② 블록에서의 빈 공간의 끝
③ 각 레코드의 위치와 크기를 포함하고 있는 엔트리 배열
레코드들은 블록의 끝에서부터 연속적으로 할당된다. 블록에서 빈 공간은 헤드 배열에 있는 마지막 엔트리와 첫 번째 레코드 사이에서 연속적이다. 어떤 한 레코드가 삽입되면 빈 공간 끝에 이것을 위한 공간이 할당되고 이 레코드의 크기와 위치를 포함하는 엔트리가 헤더에 추가된다.
레코드가 삭제되면 이 레코드가 차지하고 있던 공간은 비워지고 이것의 엔트리는 삭제된 상태로 명시된다(예를 들어 크기는 -1로 표시). 그리고 삭제된 레코드 앞쪽에 있는 레코드들을 이동시킨다. 그래야 삭제된 레코드가 차지하고 있었던 공간이 빈 공간으로 생성되고 모든 빈 공간은 다시 헤드 배열의 마지막 엔트리와 첫 번째 레코드 사이에 있게 된다. 또한, 헤더에 있는 빈 공간의 끝을 가리키는 포인터가 상황에 맞게 갱신되어야 한다. 블록에 공간이 있는 한 비슷한 기술로 레코드를 증가시키거나 감소시킬 수 있다. 레코드를 이동시키는 비용은 블록의 크기가 제한되기 때문에 많이 들지 않는다. 블록의 크기는 보통 4kb이다.
슬롯 페이지 구조에서 레코드를 직접 가리키는 포인터는 없도록 해야 한다. 그 대신 포인터는 레코드의 실제 위치를 포함하고 있는 헤드 안에 있는 엔트리를 가리키도록 해야 한다. 이런 간접적인 단계는 레코드에 대한 간접 포인터를 지원하면서 블록의 공간이 단편화되는 것을 막기 위해 레코드를 이동할 수 있도록 한다.
데이터 베이스는 디스크 블록보다 훨씬 큰 자료를 저장할 경우가 자주 있다. 예를 들어 그림이나 음성기록은 그 크기가 수 메가바이트가 될 수 있고, 동영상은 그 크기가 수 기가바이트가 될 수 있다. SQL은 이진 대형 객체와 문자 대형 객체 저장을 위해 blob 형과 clob 형을 지원한다.
대부분의 관계형 데이터 베이스들은 버퍼 관리와 자유 공간 관리를 단순화하기 위해 한 레코드의 크기가 블록의 크기를 넘지 않도록 제한한다. 대형 객체는 종종 다른(짧은) 속성들과 함께 레코드에 저장되는 대신 특별한 파일(들)에 저장된다. 대형 객체는 종종 B+트리 파일구조로 표현된다. B+트리 파일 구조를 사용하면 객체를 전부 읽는 대신 지정된 바이트 영역만 읽을 수 있고, 객체의 일부분을 추가 및 삭제할 수도 있다.
본 발명에 의해 하나의 스페이스, 예를 들어 A 스페이스(10A)에서 다른 스페이스, 예를 들어, B 스페이스(10B)로 스크랩이 이루어지는 과정을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 사용자 등의 드래그 및 드롭을 통해 A 스페이스(10A)에서 B 스페이스(10B)로의 스크랩 동작이 이루어지면, 상기 A 스페이스(10A)에 연결된 DBMS(20)에 레코드를 요구한다.
상기 DBMS(20)에 레코드를 요구하면 DBMS(20)에서 파일 관리자(30)에게 저장 레코드를 요청하고, DBMS(20)에서 저장 레코드를 요구하면 파일 관리자(30)는 디스크 관리자(40)에게 해당 데이터 페이지를 요청한다. 예를 들어, 상기와 같이, 저장 파일 f에서 저장 레코드 r의 검색, 저장 파일 f에 있는 저장 레코드 r의 대체 등의 통하여 데이터를 요청하는 것이다.
다음, 상기 디스크 관리자(40)는 공유 데이터 베이스(50)에서 입출력 연산에 의해 요청된 데이터를 추출한다. 예를 들어, 상기와 같이, 페이지 세트 S로 부터 페이지 P의 검색, 페이지 세트 S 내에서 페이지 P의 교체 등의 입출력 연산을 통하여 파일 관리자(30)에게 데이터 페이지를 추출하는 것이다.
다음, 공유 데이터 베이스(50)에서는 디스크 관리자(40)에게 데이터를 전송하고, 디스크 관리자(40)는 파일 관리자(30)에게 데이터 페이지(B 스페이스(10B)에 스크랩될 데이터 페이지)를 반환한다.
상기 디스크 관리자(40)로부터 데이터 페이지가 반화되면 파일 관리자(30)는 DBMS(20)에 요청 레코드를 반환하며, 파일 관리자(30)에 의해 반환된 요청 레코드는 DBMS(20)에 의해 다른 스페이스, 즉, B 스페이스(10B)로 자동으로 스크랩된다.
이때, 스페이스(10A,10B 및 10C 등)란 어떤 시스템, 프로그램, 웹페이지, 소프트웨어, 모듈, 쇼핑몰과 같은 의미를 담고 있는데, 이러한 자동 스크랩에 의해 대표적으로 A 스페이스(10A)의 웹 사이트가 B 스페이스(10B)에서의 웹 사이트로 자동 구축될 수 있게 된다.
또한, 본 발명에 의하면, 다른 스페이스(10A와 10B) 사이(예를 들어, 다른 컴퓨터)에서 스크랩이 이루어질 수 있다. 예를 들어 어느 한 지점의 A 스페이스(10A)를 A 컴퓨터라 하고 다른 지점의 B 스페이스(10B)를 B 컴퓨터로 하는 경우, 이러한 A 컴퓨터와 B 컴퓨터 사이에 스크랩이 되는 경우가 있다. 이때, A 컴퓨터상의 DBMS(20), 파일 관리자(30), 디스크 관리자(40)는 각각 스크랩 허용 DBMS(20), 스크랩 허용 파일 관리자(30), 스크랩 허용 디스크 관리자(40)라 할 수 있고, B 컴퓨터상의 DBMS(20), 파일 관리자(30), 디스크 관리자(40)는 각각 스크랩 정렬 DBMS(20), 스크랩 정렬 파일 관리자(30), 스크랩 정렬 디스크 관리자(40)라 할 수 있으며, 상기 A 컴퓨터와 B 컴퓨터는 인터넷망을 통해 서로 간에 데이터 통신이 가능하도록 연결됨은 당연하다.
따라서, 상기 B 컴퓨터상의 웹 사이트에 A 컴퓨터상의 웹 사이트를 드래그 및 드롭시키는 동작이 이루어지면, 상기 스크랩 허용 DBMS(20)에 레코드 요구, 스크랩 허용 파일 관리자(30)에게 저장 레코드를 요청, 스크랩 허용 데이터 관리자에 의한 입출력 연산이 수행되고, 상기 공유 데이터 베이스(50)로부터 상기 스크랩 정렬 데이터 관리자에게 데이터 전송, 스크랩 정렬 파일 관리자(30)에게로의 페이지 반환, 스크랩 정렬 DBMS(20)로의 레코드 반환이 이루어져서 B 컴퓨터상에 A 컴퓨터상의 웹 사이트가 자동 스크랩될 수 있게 된다.
또한, 본 발명에 의하면, 국내의 스페이스 사이뿐만 아니라 국내와 국외 사이의 스페이스간 스크랩이 이루어질 수 있다. 예를 들어 한국의 A 스페이스(10A)를 A 컴퓨터라 하고 미국의 B 스페이스(10B)를 B 컴퓨터로 하는 경우, 이러한 한국의 A 컴퓨터와 미국의 B 컴퓨터 사이에 스크랩이 되는 경우가 있다. 이때, A 컴퓨터상의 DBMS(20), 파일 관리자(30), 디스크 관리자(40)는 각각 스크랩 허용 DBMS(20), 스크랩 허용 파일 관리자(30), 스크랩 허용 디스크 관리자(40)라 할 수 있고, B 컴퓨터상의 DBMS(20), 파일 관리자(30), 디스크 관리자(40)는 각각 스크랩 정렬 DBMS(20), 스크랩 정렬 파일 관리자(30), 스크랩 정렬 디스크 관리자(40)라 할 수 있으며, 상기 A 컴퓨터와 B 컴퓨터는 인터넷망을 통해 서로 간에 데이터 통신이 가능하도록 연결됨은 당연하다.
인터넷 망은 전 세계에 산재해 있는 컴퓨터망을 유/무선을 통해 연결하는 네트워크들의 네트워크로써, 일반적으로 TCP/IP(Transmission Control Protocol/ Internet Protocol)라는 통신규약에 따르고 있다. 무선 인터넷 망의 경우에는 WAP(Wireless Application Protocol)이나 WIPI 등의 플랫폼을 기반으로 한 이동 통신망을 통해서도 접근이 가능하다.
따라서, 상기 미국의 B 컴퓨터상의 웹 사이트에 한국의 A 컴퓨터상의 웹 사이트를 드래그 및 드롭시키는 동작이 이루어지면, 상기 스크랩 허용 DBMS(20)에 레코드 요구, 스크랩 허용 파일 관리자(30)에게 저장 레코드를 요청, 스크랩 허용 데이터 관리자에 의한 입출력 연산이 수행되고, 상기 공유 데이터 베이스(50)로부터 상기 스크랩 정렬 데이터 관리자에게 데이터 전송, 스크랩 정렬 파일 관리자(30)에게로의 페이지 반환, 스크랩 정렬 DBMS(20)로의 레코드 반환이 이루어져서 미국의 B 컴퓨터상에 한국의 A 컴퓨터상의 웹 사이트가 자동 스크랩될 수 있게 된다.
여기서 중요한 것은 상기 공유 데이터 베이스(50)상에 표시 검증 모듈(60)을 설치하여 하나의 스페이스(10A)(즉, 한국 컴퓨터)에서 다른 스페이스(10B)(즉, 미국 컴퓨터)로 스크랩이 발생되었을 때에 다른 스페이스(10B)에 상응하는 데이터를 스크랩한다.
다시 말해, 한국의 A 컴퓨터상의 웹사이트를 미국의 B 컴퓨터상의 웹사이트로 드래그 및 드롭시키면, 예를 들어, 한국어가 영어로 자동 변환되어 스크랩되도록 하는 것이다.
대표적으로, 상기 표시 검증 모듈(60)은 화폐단위 표시 검증 모듈이 될 수 있는데, 한국의 A 컴퓨터에서 미국의 B 컴퓨터로 스크랩이 이루어질 때에 DBMS(20) 내에서의 조건문에 의해 미국의 B 컴퓨터에 상응하는 화폐 단위로 자동 변경되어 스크랩된다. 한국의 원화가 미국의 달러로 변경되어 스크랩되는 것이다.
한편, 상기 화폐단위 표시 검증 모듈(60) 이외에 그밖에 다른 데이터의 아이템 정보로 변화되는 기능을 가진 표시 검증 모듈(60)을 구비할 수 있다. 예를 들어, 등산화의 경우, 한국의 A 컴퓨터상에서 표시된 등산화의 사이즈, 가격, 배송지, 배송 방식 등의 한글 데이터가 미국의 B 컴퓨터상으로 스크랩되면서 영어로 등산화의 사이즈, 가격, 배송지, 배송 방식 등의 데이터가 영어로 변환되어 웹 사이트상에 표시되는 것이다.
아울러, 본 발명에서는 개별 데이터 섹터에 액세스한다는 것은 공유 데이터 베이스를 사용할 때에 개별적 접근을 시도하는 퍼즐 개념을 도입한 것이 특징이다. 즉, 도 3에 도시된 바와 같이, 상기 데이터 섹터의 개별 데이터를 관리하는 것은 퍼즐 개념을 도입한 데이터 맵핑을 이용하여 각각의 스페이스(10A,10B 및 10C 등)의 개별적인 관리가 가능하다는 것이다.
이상, 본 발명의 특정 실시예에 대하여 상술하였다. 그러나, 본 발명의 사상 및 범위는 이러한 특정 실시예에 한정되는 것이 아니라, 본 발명의 요지를 변경하지 않는 범위 내에서 다양하게 수정 및 변형이 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 것이다.
따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
10A. A 스페이스 10B. B 스페이스
10C. C 스페이스 20. DBMS
30. 파일 관리자 40. 디스크 관리자
50. 공유 데이터 베이스 60. 표시 검증 모듈

Claims (14)

  1. 데이터 맵핑 시스템에서 공유 데이터를 맵핑하는 방법으로서,
    데이터 스크랩이 사용자에 의한 드래그 및 드롭을 통해 하나의 스페이스에서 다른 스페이스로 이루어지는 단계와;
    상기 하나의 스페이스에서 상기 다른 스페이스로 데이터 스크랩이 발생되었을 때 데이터 베이스 내에서 데이터들이 개별 섹터로 자동으로 스크랩되어지고, 상기 데이터 베이스 내에서 상기 개별 섹터로 스크랩되어진 상기 데이터들이 상기 다른 스페이스로 자동으로 표시되는 단계와;
    공유 데이터 베이스의 내부에 복수개의 분할된 개별 데이터 섹터에 액세스하고, 상기 개별 데이터 섹터에 액세스한 상태에서 상기 데이터 섹터의 개별 데이터를 관리하는 단계와;
    상기 공유 데이터 베이스상에 표시 검증 모듈을 설치하여, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 발생되었을 때에 상기 다른 스페이스에 상응하는 변경 데이터를 스크랩하는 단계;를 포함하며,
    상기 하나의 스페이스에서 상기 다른 스페이스로 데이터 스크랩 발생시 상기 데이터 베이스 내에서 상기 개별 섹터로 스크랩되어진 상기 데이터들이 상기 다른 스페이스로 자동으로 표시되는 단계는, 상기 스크랩 허용 데이터 베이스 관리 시스템(DBMS)에 레코드 요구, 스크랩 허용 파일 관리자에게 저장 레코드를 요청, 스크랩 허용 데이터 관리자에 의한 입출력 연산이 수행되고, 상기 공유 데이터 베이스로부터 상기 스크랩 정렬 데이터 관리자에게 데이터 전송, 스크랩 정렬 파일 관리자에게로의 페이지 반환, 스크랩 정렬 데이터 베이스 관리 시스템에로의 레코드 반환이 이루어져서 상기 하나의 스페이스에서 상기 다른 스페이스로의 자동 스크랩이 이루어지는 단계이고,
    상기 공유 데이터 베이스의 내부의 개별 데이터 섹터에 액세스한 상태에서 상기 데이터 섹터의 개별 데이터를 관리하는 단계는, 상기 공유 데이터 베이스에 데이터의 이름에 지정하고 싶은 섹터 네임을 부여하여 가상적으로 섹터를 나누어 복수개의 분할된 개별 데이터 섹터를 생성하여, 상기 공유 데이터 베이스를 공유하는 스페이스별로 개별적인 데이터 관리가 가능한 퍼즐 개념을 도입한 데이터 맵핑에 의해 수행되는 단계이며,
    상기 하나의 스페이스에서 다른 스페이스로 변경 데이터를 스크랩하는 단계는, 상기 공유 데이터 베이스 상에 표시 검증 모듈을 미리 준비해 두고, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 발생되었을 때에 상기 표시 검증 모듈이 데이터 시스템 내부의 조건문에 의해 상기 하나의 스페이스의 데이터를 상기 다른 스페이스에 상응하는 데이터로 자동 변경하여 스크랩되도록 하는 단계인 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 방법.
  2. 제1항에 있어서,
    상기 하나의 스페이스와 상기 다른 스페이스 사이의 드래그 및 드롭 기능을 통해 데이터 스크랩이 구현되는 방법은, 상기 스크랩이 발생하면 스크랩되어질 데이터의 갯수를 카운트한 다음, 공유 데이터 베이스에 쿼리(query)를 전송하여 필요한 레코드를 추출하고, 스크랩해간 상기 다른 스페이스의 고유 섹터에 해당 레코드들을 데이터화하여 복사하는 것을 특징으로 하는 공유 데이터 베이스 상에서의 데이터 맵핑 방법.
  3. 제2항에 있어서,
    상기 스크랩되어질 데이터 갯수의 카운트 기능은 공유 데이터 베이스에 연결되어 있는 DBMS에 의해 이루어지고, 상기 DBMS에 연결된 파일 관리자와 디스크 관리자를 통하여 상기 공유 데이터 베이스에 쿼리를 전송하여 필요한 레코드를 추출한 다음, 하나의 스페이스에서 스크랩해간 해당 레코드들을 상기 공유 데이터 베이스에 연결된 다른 스페이스의 디스크 관리자와 파일 관리자 및 상기 DBMS를 통하여 데이터화하여 복사함으로써 상기 하나의 스페이스에서 상기 다른 스페이스로 해당 레코드들이 자동으로 스크랩되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 방법.
  4. 제3항에 있어서,
    상기 하나의 스페이스에서 상기 다른 스페이스로 드래그 및 드롭 기능을 통해 스크랩 동작이 이루어지면, 상기 하나의 스페이스에 연결된 DBMS에 레코드를 요구하고, 상기 DBMS에서 파일 관리자에게 저장 레코드를 요청하고, 상기 파일 관리자는 디스크 관리자에게 해당 데이터 페이지를 요청하고, 상기 디스크 관리자는 공유 데이터 베이스에서 입출력 연산에 의해 상기 요청된 데이터를 추출하고, 상기 공유 데이터 베이스에서는 상기 디스크 관리자에게 상기 데이터를 전송하고, 상기 디스크 관리자는 상기 파일 관리자에게 상기 데이터 페이지를 반환하고, 상기 파일 관리자는 상기 DBMS에 요청 레코드를 반환하며, 상기 파일 관리자에 의해 반환된 상기 요청 레코드는 상기 DBMS에 의해 상기 다른 스페이스로 자동으로 스크랩되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 표시 검증 모듈은 화폐단위 표시 검증 모듈로서, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 이루어질 때에 DBMS 내에서의 조건문에 의해 상기 다른 스페이스에 상응하는 화폐 단위로 자동 변경되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 방법.
  8. 데이터 스크랩이 사용자에 의한 드래그 및 드롭을 통해 이루어지기 위한 복수개의 스페이스와;
    하나의 스페이스에서 다른 스페이스로의 데이터 스크랩이 발생되었을 때 공유 데이터 베이스 내에서 데이터들이 자동으로 스크랩되도록 하기 위한 개별 데이터 섹터와;
    상기 공유 데이터 베이스 내에서 상기 개별 데이터 섹터로 스크랩되어진 상기 데이터들이 상기 다른 스페이스로 자동으로 스크랩되어 표시되도록 하는 데이터 베이스 시스템(DBMS)과 파일 관리자 및 디스크 관리자와;
    상기 공유 데이터 베이스의 내부에 복수개로 분할되어 개별 데이터를 관리되도록 하는 개별 데이터 섹터와;
    상기 공유 데이터 베이스상에 구비되어 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 발생되었을 때에 상기 다른 스페이스에 상응하는 데이터를 스크랩하기 위한 표시 검증 모듈;을 포함하며,
    상기 데이터 베이스에 데이터의 이름에 지정하고 싶은 섹터 네임을 부여하여 가상적으로 섹터를 나누어서 복수개의 데이터 섹터를 생성하고, 상기 공유 데이터 베이스를 공유하는 스페이스별로 개별적인 데이터 관리가 가능한 퍼즐 개념을 사용하며,
    상기 공유 데이터 베이스 상에 표시 검증 모듈을 미리 준비해 두고, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 발생되었을 때에 상기 하나의 스페이스의 데이터가 시스템 내부적인 조건문에 의해 다른 스페이스에 상응하는 데이터로 자동 변경되어 스크랩되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 시스템.
  9. 제8항에 있어서,
    상기 하나의 스페이스와 상기 다른 스페이스 사이의 드래그 및 드롭 기능을 통해 데이터 스크랩이 구현되는 방법은, 상기 스크랩이 발생하면 스크랩되어질 데이터의 갯수를 카운트한 다음, 상기 공유 데이터 베이스에 쿼리를 전송하여 필요한 레코드를 추출하여 스크랩해간 상기 다른 스페이스의 고유 섹터에 해당 레코드들을 데이터화하여 복사하는 것을 특징으로 하는 공유 데이터 베이스 상에서의 데이터 맵핑 시스템.
  10. 제9항에 있어서,
    상기 스크랩되어질 데이터 갯수의 카운트 기능은 공유 데이터 베이스에 연결되어 있는 DBMS에 의해 이루어지고, 상기 DBMS에 연결된 파일 관리자와 디스크 관리자를 통하여 상기 공유 데이터 베이스에 쿼리를 전송하여 필요한 레코드를 추출한 다음, 상기 하나의 스페이스에서 스크랩해간 상기 다른 스페이스의 고유 섹터에 해당 레코드들을 상기 공유 데이터 베이스에 연결된 상기 디스크 관리자와 상기 파일 관리자 및 상기 DBMS를 통하여 데이터화하여 복사함으로써 상기 하나의 스페이스에서 상기 다른 스페이스로 해당 레코드들이 자동으로 스크랩되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 시스템.
  11. 제10항에 있어서,
    상기 하나의 스페이스에서 상기 다른 스페이스로 드래그 및 드롭 기능을 통해 스크랩 동작이 이루어지면, 상기 하나의 스페이스에 연결된 DBMS에 레코드를 요구하고, 상기 DBMS에서 파일 관리자에게 저장 레코드를 요청하고, 상기 파일 관리자는 디스크 관리자에게 해당 데이터 페이지를 요청하고, 상기 디스크 관리자는 공유 데이터 베이스에서 입출력 연산에 의해 상기 요청된 데이터를 추출하고, 상기 공유 데이터 베이스에서는 상기 디스크 관리자에게 상기 데이터를 전송하고, 상기 디스크 관리자는 상기 파일 관리자에게 상기 데이터 페이지를 반환하고, 상기 파일 관리자는 상기 DBMS에 요청 레코드를 반환하며, 상기 파일 관리자에 의해 반환된 상기 요청 레코드는 상기 DBMS에 의해 상기 다른 스페이스로 자동으로 스크랩되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 시스템.
  12. 삭제
  13. 삭제
  14. 제8항에 있어서,
    상기 표시 검증 모듈은 화폐단위 표시 검증 모듈로서, 상기 하나의 스페이스에서 다른 스페이스로 스크랩이 이루어질 때에 DBMS 내에서의 조건문에 의해 상기 하나의 스페이스에서 표시된 화폐 단위가 상기 다른 스페이스에 상응하는 화폐 단위로 자동 변경되는 것을 특징으로 하는 공유 데이터 베이스상에서의 데이터 맵핑 시스템.
KR1020110094460A 2011-09-20 2011-09-20 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템 KR101170969B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110094460A KR101170969B1 (ko) 2011-09-20 2011-09-20 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템
PCT/KR2012/005739 WO2013042864A1 (ko) 2011-09-20 2012-07-18 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110094460A KR101170969B1 (ko) 2011-09-20 2011-09-20 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101170969B1 true KR101170969B1 (ko) 2012-08-06

Family

ID=46886961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110094460A KR101170969B1 (ko) 2011-09-20 2011-09-20 공유 데이터 베이스상에서의 데이터 맵핑 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR101170969B1 (ko)
WO (1) WO2013042864A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021075793A1 (ko) * 2019-10-18 2021-04-22 삼성전자 주식회사 데이터 베이스에 포함된 데이터를 분석하는 데이터 분석 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100878045B1 (ko) * 2006-10-20 2009-01-13 주식회사 케이티프리텔 모바일 스크랩 서비스 제공 방법 및 시스템
KR100880209B1 (ko) * 2006-11-09 2009-02-04 주식회사 플레이오토 상품 자동등록 시스템 및 그 제공방법
KR20100130664A (ko) * 2009-06-04 2010-12-14 김광수 스크랩핑과 오픈api을 이용하여 오픈마켓 상품의 가격변동과 매출현황의 정보를 제공하는 워치프라이스 시스템
US9277021B2 (en) * 2009-08-21 2016-03-01 Avaya Inc. Sending a user associated telecommunication address

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021075793A1 (ko) * 2019-10-18 2021-04-22 삼성전자 주식회사 데이터 베이스에 포함된 데이터를 분석하는 데이터 분석 장치 및 방법

Also Published As

Publication number Publication date
WO2013042864A1 (ko) 2013-03-28

Similar Documents

Publication Publication Date Title
US10242050B2 (en) Database caching in a database system
CN105989195B (zh) 用于处理数据库数据的方法和系统
US9767131B2 (en) Hierarchical tablespace space management
CN103635900B (zh) 基于时间的数据分割
CN1517885B (zh) 关于利用原子性更新的中央高速缓冲存储器的方法和系统
CN106575297B (zh) 使用盲更新操作的高吞吐量数据修改
CN102541751B (zh) 用于数据去重复的可缩放块存储的方法和系统
CN1559041B (zh) 在计算机系统之间共享对象
US6571261B1 (en) Defragmentation utility for a shared disk parallel file system across a storage area network
CN102184260B (zh) 一种云计算环境下的海量数据存取方法
CN100377112C (zh) 磁盘驱动器、其控制方法以及磁盘伪造的探测方法
CN108009008A (zh) 数据处理方法和系统、电子设备
CN105868228A (zh) 为olap和oltp事务提供无锁读取和写入操作的内存数据库系统
CN106612619B (zh) 分级存储系统、利用分级存储装置的计算机及校正对文件的访问计数的计算机
CN102436420A (zh) 使用辅助存储器的低ram空间、高吞吐量的持久键值存储
CN108140040A (zh) 存储器中数据库的选择性数据压缩
CN104636417A (zh) 管理数据的系统和方法
EP3814930B1 (en) System and method for bulk removal of records in a database
CN107766374B (zh) 一种海量小文件存储读取的优化方法和系统
CN103597440A (zh) 用于创建克隆文件的方法以及采用该方法的文件系统
CN102651008A (zh) 在关系数据库中组织数据记录的方法和设备
CN100424699C (zh) 一种属性可扩展的对象文件系统
JP5439236B2 (ja) 計算機システムおよびアプリケーションプログラムの実行方法
Lovelace et al. VSAM demystified
CN105981013B (zh) 一种基于稀疏文件的数据库存储模型的系统和方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
N231 Notification of change of applicant
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee