KR20220056656A - 메타 데이터 공유 서비스 제공 방법 및 장치 - Google Patents

메타 데이터 공유 서비스 제공 방법 및 장치 Download PDF

Info

Publication number
KR20220056656A
KR20220056656A KR1020200141434A KR20200141434A KR20220056656A KR 20220056656 A KR20220056656 A KR 20220056656A KR 1020200141434 A KR1020200141434 A KR 1020200141434A KR 20200141434 A KR20200141434 A KR 20200141434A KR 20220056656 A KR20220056656 A KR 20220056656A
Authority
KR
South Korea
Prior art keywords
metadata
sharing
target object
shared
name
Prior art date
Application number
KR1020200141434A
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 KR1020200141434A priority Critical patent/KR20220056656A/ko
Priority to US17/512,973 priority patent/US20220129419A1/en
Publication of KR20220056656A publication Critical patent/KR20220056656A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation

Landscapes

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

Abstract

본 발명은 메타 데이터 공유 서비스 제공 방법 및 장치에 관한 것으로서, 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트를 얻는 단계, 공유 대상 객체를 관리하는 공유 테이블을 이용하여 상기 공유 테이블 내에 상기 공유 이벤트에 따른 상기 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는지 판단하는 단계, 상기 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 원본 명칭이 존재하는 경우, 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭을 생성하여 상기 공유 테이블에 등록하는 단계, 및 가상 드라이브(Virtual Drive)를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로를 공유하는 단계를 포함할 수 있다.

Description

메타 데이터 공유 서비스 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING METADATA SHARE SERVICE}
본 발명은 메타 데이터 공유 서비스 제공 방법 및 장치에 관한 것이다. 보다 자세하게는, 가상 드라이브 환경에서 공유 대상이 되는 대상 객체의 상위 폴더를 공유하지 않고 하위 폴더 또는 하위 폴더 레벨에 존재하는 파일을 공유함에 따라 불필요한 정보의 공개를 방지하고, 공유되는 폴더 및 파일을 탐색하는 시간 복잡도를 낮출 수 있는 메타 데이터 공유 서비스 제공 방법 및 장치를 제공하는 것이다.
파일에 대한 접근은 주로 2가지 방식으로 실행되는데 첫째는 파일의 읽는 방식에 따라 네임 스페이스와 가상 드라이브로 구분된다. 가상 드라이브 방식의 경우에는 탐색기 UI를 사용하므로, 서버상의 폴더, 파일을 사용자에게 표시하기 위한 별도의 UI 구현이 필요하지 않고 인터페이스 면에서 탐색기와 동일하게 제공되어 사용이 편리하다. 그러나, 서버 상에 등록된 임의의 위치에 존재하는 폴더, 파일을 공유받아 이를 탐색기 UI를 통해 접근 및 사용하는 경우에는 문제가 발생된다. 그 이유는 윈도우와 같은 OS는 전체 경로값으로 대상 폴더 및 파일을 구분하기 때문에, OS가 제공하는 탐색기 UI를 사용하는 가상 드라이브 방식에서는 서버상의 폴더나 파일이 클라이언트에 표시될 때, 각각의 폴더나 파일의 경로는유일한 경로로 표시되어야 한다. 따라서 가상 드라이브 방식에서는 같은 상위 폴더의 하위 경로에 명칭이 같은 폴더 또는 파일이 존재할 수 없고, 여러 사용자로부터 공유받아 한 곳에 표시되는 공유받은 폴더 및 파일의 이름은 중복되어서는 안된다는 제약이 존재하게 된다.
상기 제약을 해결 하기 위해, 가상 드라이브 환경에서 다음과 같은 방식을 이용하여 공유된 폴더 및 파일을 사용자에게 표시할 수 있으나, 각각의 방식은 추가적인 문제를 발생시킨다.
첫번째로, 폴더 및 파일을 공유할 때 일부의 폴더만을 공유하고 싶은 경우에도 전체 경로 값으로 폴더, 파일을 구분하는 탐색기 UI를 사용하기 때문에 그 폴더뿐 아니라 그 폴더를 탐색하기 위한 상위의 모든 상위 폴더 경로 를 공유하게 된다. 그러나, 폴더 및 파일을 공유할 때에는 서버상에 존재하는 다른 폴더 및 파일과 확실히 구분이 되어야 한다. 이는 타인에게 주소를 줄 때 번지만 주면, 이 번지만으로는 어느 시도, 동의 번지인지를 알 수 없어, 그 주소로 타인이 찾아 갈 수 없으므로, 항상 전체 주소를 제공하는 것과 비슷한 개념이다. 도 1의 a와 같이 설계서와 20년07월, 20년 8월 폴더만을 공유하고 싶은 상황에서도 불필요하게 루트폴더와 실제 공유받은 폴더 사이의 중간 경로의 폴더들까지 모두 표시함으로써 클라이언트가 서버상의 대상이 되는 폴더 및 파일에 착오없이 접근할 수 있다. 그러나, 공유받은 사용자에게 공유를 허용하지 않은 다른 상위의 폴더들이 함께 노출되므로 폴더명에 보안을 요하는 내용이 포함된 경우 이런 정보들이 공유자들에게 알려지게 된다.
둘째로, 상기 문제를 해결하기 위해 만약 도 1의 b와 같이 가장 마지막 하위 폴더만을 공유하는 방식이 있다. 이 경우에는 상기와 같은 첫번째로 제안한 방법에서 발생된 문제점인 상위 폴더명이 노출되는 보안의 문제점이 해결되지만, 설계서와 같이 동일한 명칭의 폴더를 공유하는 경우에 그 상위 경로를 알 수 없기 때문에 "설계서"에 접근하기 위해서는 서버에 등록된 모든 "설계서"라는 폴더를 전체 사용자들의 폴더 중에서 확인해서 찾아야 하므로, 시간과 비용이 소모되며, 동일한 이름의 폴더가 여러 개 존재하는 경우 이 중 어떤 폴더인지를 알 수 없다.
특히 상기 와 같은 경우 여러 서버에 분산되어 관리되는 샤드에 메타 데이터를 저장하는 경우에 메타 데이터가 어떤 샤드에 저장되었는지 탐색하기 위해 일일이 각 샤드에 접근하여 해당 폴더를 탐색해야 하므로(샤드의 수 * 탐색시간) 만큼의 속도가 저하될 수 있으며, 이에 더해 불필요한 샤드까지 탐색해야 하는 리소스의 낭비가 발생되었다.
따라서, 보안상 공유되는 폴더의 상위 폴더를 공유하지 않으면서도, 공유된 파일에 빠른 시간에 접근할 수 있는 방법의 개발이 필요한 실정이다.
등록특허공보 KR 0740682 B1(2007.07.11 등록)
본 발명이 해결하고자 하는 기술적 과제는, 가상 드라이브 환경에서 상위 경로를 공개하지 않은 채로 메타 데이터를 공유할 수 있는 메타 데이터 공유 서비스 제공 방법 및 장치를 제공하기 위함이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 메타 데이터의 상위 경로를 공개하지 않은 경우에 하위 폴더의 명칭이 중복되는 것을 회피할 수 있는 메타 데이터 공유 서비스 제공 방법 및 장치를 제공하기 위함이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 하위 경로만을 공유하더라도 추후 작업의 수행을 제공할 때 어떤 샤드에 포함된 폴더에서 수행되었는지 용이하게 탐색할 수 있으며, 시간과 비용을 단축시킬 수 있는 메타 데이터 공유 서비스 제공 방법 및 장치를 제공하기 위함이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 하위 경로만을 공유하더라도 추후 작업의 수행을 제공할 때 어떤 샤드에 포함된 폴더에서 수행되었는지 용이하게 탐색할 수 있으며, 공유 테이블과 메타 데이터 DB를 이용하기 때문에 2회의 상수 시간 복잡도 만으로 작업을 완료할 수 있어 시간과 비용을 단축시킬 수 있는 메타 데이터 공유 서비스 제공 방법 및 장치를 제공하기 위함이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기의 문제점을 해결하기 위한 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트를 얻는 단계, 공유 대상 객체를 관리하는 공유 테이블을 이용하여 상기 공유 테이블 내에 상기 공유 이벤트에 따른 상기 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는지 판단하는 단계, 상기 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 원본 명칭이 존재하는 경우, 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭을 생성하여 상기 공유 테이블에 등록하는 단계, 및 가상 드라이브(Virtual Drive)를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로를 공유하는 단계를 포함할 수 있다.
상기의 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 메타 데이터 공유 서비스 제공 장치는 프로세서, 네트워크 인터페이스, 상기 프로세서에 의해 실행되어 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트를 얻는 인스트럭션(instruction), 공유 대상 객체를 관리하는 공유 테이블을 이용하여 상기 공유 테이블 내에 상기 공유 이벤트에 따른 상기 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는지 판단하는 인스트럭션, 상기 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 원본 명칭이 존재하는 경우, 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭을 생성하여 상기 공유 테이블에 등록하는 인스트럭션, 및 가상 드라이브(Virtual Drive)를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로를 공유하는 인스트럭션을 포함할 수 있다.
도 1은 종래의 데이터 공유 서비스에 따른 문제점을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 시스템의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법의 순서도이다.
도 4는 메타 데이터의 공유 서비스를 제공하기 위해 메타 데이터의 각종 정보가 기록된 공유 테이블의 예시를 설명하기 위한 도면이다.
도 5는 공유 대상자가 가상 드라이브를 통해 공유 제공자로부터 공유받은 메타 데이터들의 예시를 설명하기 위한 도면이다.
도 6은 공유 대상자가 메타 데이터 공유 서비스 제공 서버로 메타 데이터의 작업을 요청하는 작업 이벤트 정보의 예시를 설명하기 위한 도면이다.
도 7은 도 3의 단계 S140에서 메타 데이터에 대한 작업 이벤트를 획득하는 과정을 구체적으로 설명하기 위한 순서도이다.
도 8은 도 7의 단계 S141 내지 단계 S145를 보다 구체적으로 설명하기 위한 순서도이다.
도 9는 공유 테이블 내에서 고유 명칭을 이용하여 메타 데이터의 소속 샤드를 추적하는 과정을 설명하기 위한 도면이다.
도 10은 소속 샤드를 관리하는 메타 데이터 DB 내에서 해당 메타 데이터의 상위 경로와 하위 경로를 추적하여 해당 식별 ID를 획득하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법의 시스템 순서도이다.
도 12는 본 발명의 다른 실시예에 따른 메타 데이터 공유 서비스 제공 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 본 발명의 일 실시예에 따른의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명의 일 실시예에 따른이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명의 일 실시예에 따른이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 도면들을 참조하여 몇몇 실시예들을 설명한다.
도 2는 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 시스템의 예시도이다.
도 2를 참조하면, 본 실시예에 따른 메타 데이터 공유 서비스 제공 시스템은 공유 서비스 제공 서버(100), 공유 제공자(200) 및 공유 대상자(300)를 포함할 수 있다. 메타 데이터 공유 서비스 제공 시스템은 가상 드라이브(Virtual Drive) 환경을 이용하여 접속하는 클라이언트 단말 간에 폴더나 파일 등의 메타 데이터를 공유하는 서비스를 제공할 수 있다. 본 명세서에서 메타 데이터는 폴더 또는 파일 등에 포함된 데이터를 의미하지만, 이에 한정되는 것은 아니다.
공유 서비스 제공 서버(100)는 공유 제공자(200)로부터 공유 이벤트를 획득하고, 공유 제공자(200)가 요청한 공유 이벤트에 해당되는 메타 데이터를 공유 대상자(300)에게 제공할 수 있다.
여기서 공유 제공자(200)와 공유 대상자(300)는 공유 서비스 제공 서버(100)에 접속하는 클라이언트 단말로서, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch) 등이 포함될 수 있다. 한편, 본 발명의 기능 실행 장치는 상기 열거한 예로써 한정되지 않는다.
공유 서비스 제공 서버(100)는 복수의 샤드(100-1 내지 100-5)에 분산되어 관리되는 메타 데이터에 접근하여 공유 제공자(200)와 공유 대상자(300)에게 메타 데이터를 제공할 수 있다. 이때, 공유 서비스 제공 서버(100)는 가상 드라이브 환경을 통해 공유 제공자(200)와 공유 대상자(300)에게 메타 데이터를 제공할 수 있다.
예를 들어 메타 데이터는 복수의 샤드(100-1 내지 100-5)에 각각 분산되어 보관될 수 있고, 공유 서비스 제공 서버(100)는 해당 메타 데이터의 공유 또는 사용을 요청 받으면 해당 샤드에 접근하여 해당 메타 데이터의 식별 ID를 제공함으로써 공유 또는 작업의 동작을 제공할 수 있다.
구체적으로 도 2와 같이 공유 서비스 제공 서버(100)는 공유 제공자(200)로부터 샤드에 저장된 '설계서'라는 폴더(1)의 메타 데이터에 대한 공유 이벤트를 요청받을 수 있고, 해당 공유 이벤트를 공유 테이블(110)에 등록할 수 있다. 공유 서비스 제공 서브는 공유 테이블(110)에 등록된 정보들을 이용하여 현재 공유되고 있는 정보들을 총괄적으로 관리할 수 있다.
공유 서비스 제공 서버(100)는 공유되는 '설계서'폴더(1)를 공유 대상자(300)에게 제공할 수 있다. 공유 대상자(300)는 가상 드라이브 환경을 이용하여 '설계서'폴더(1)에 접근할 수 있다. 공유 대상자(300)는 '설계서' 폴더(1)에 대한 작업을 수행하기 위해 공유 서비스 제공 서버(100)로 작업 이벤트를 전송할 수 있다.
공유 서비스 제공 서버(100)는 공유 대상자(300)로부터 수신한 작업 이벤트를 이용하여 작업을 원하는 메타 데이터를 식별하고, 해당 메타 데이터가 복수의 샤드(100-1 내지 100-5) 중에서 어느 샤드에 위치하는 메타 데이터인지 판단하여, 메타 데이터 DB(120)를 이용하여 해당 샤드에서 메타 데이터의 경로를 탐색하고 메타 데이터의 식별 ID를 이용하여 작업 동작을 제공할 수 있다.
본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 시스템은 메타 데이터의 명칭의 중복을 회피하기 위해 OS가 인식하는 경로 명칭을 그대로 이용하지 않고 해당 메타 데이터를 식별할 수 있는 가상의 경로를 제공함에 따라 클라이언트 단말에서 공유된 메타 데이터에 접근을 요청할 때 불필요하게 상위 폴더를 공개하는 것을 방지하고 더 빠른 속도로 메타 데이터에 저장된 서버를 탐색할 수 있다.
지금까지 도 2를 참조하여 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 시스템의 구성을 개략적으로 설명하였다. 이하, 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법을 도 3 내지 도 10을 참조하여 설명한다. 본 실시예는 컴퓨팅 장치에 의하여 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 도 2를 참조하여 설명한 공유 서비스 제공 서버(100)일 수 있다. 본 실시예를 설명함에 있어서, 몇몇 동작의 수행 주체에 대한 기재가 생략될 수 있다. 이 때, 상기 수행 주체는 상기 컴퓨팅 장치이다.
도 3은 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법의 순서도이다.
도 3의 단계 S100에서 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트가 획득될 수 있다. 이때, 공유 이벤트를 요청하는 공유 제공자(200)에 의해 권한이 부여된 대상 객체에 대한 공유를 요청받을 수 있다. 여기서 권한이 부여된 대상 객체는 공유 제공자(200)가 설정한 폴더 또는 파일, 또는 미리 보안이 설정된 폴더 또는 파일을 의미할 수 있으나 이에 한정되는 것은 아니다.
본 명세서에서 대상 객체는 폴더 또는 파일을 의미할 수 있다. 제1 대상 객체는, 공유 이벤트에 따라 공유의 대상이 되는 제1 폴더, 또는 제1 파일일 수 있다.
일 실시예에서, 권한이 부여된 폴더는 공유 이벤트에 해당되는 제1 대상 객체와 제1 대상 객체의 하위 레벨의 폴더를 의미할 수 있다. 예를 들어, 공유 제공자(200)로부터 설계서"라는 파일의 공유 이벤트를 요청받으면, "설계서"의 상위 폴더의 경로는 공유되지 않고, "설계서"의 폴더와 "설계서"의 하부 폴더에 대한 경로가 공유될 수 있다.
단계 S110에서 공유되는 메타 데이터의 명칭이 중복되는지 판단될 수 있다. 본 단계에서 공유 대상 객체를 관리하는 공유 테이블(110)을 이용하여 공유되는 메타 데이터의 명칭이 중복되는지 판단될 수 있다. 공유 테이블(110)의 데이터 구조를 설명하기 위해 도 4를 참조하도록 한다.
도 4는 메타 데이터의 공유 서비스를 제공하기 위해 메타 데이터의 각종 정보가 기록된 공유 테이블(110)의 예시를 설명하기 위한 도면이다.
공유 테이블(110)은 실시예에 따라 제1 공유 테이블(111)로 이루어질 수 있는데, 제2 공유 테이블(112)은 도 9에서 설명하도록 한다. 한편, 공유 테이블(110)은 제1 공유 테이블(111)과 제2 공유 테이블(112)로 나누어 지지 않고 하나의 테이블로 이루어질 수도 있으며, 공유 테이블(110)의 숫자를 한정하거나 이에 과도한 의미를 두는 것은 아님을 유의해야 하다.
도 4의 제1 공유 테이블(111)은 파일 또는 폴더의 식별 ID(11), 원본 명칭(12), 고유 명칭(13) 및 중복건수(14)를 포함할 수 있다. 식별 ID(11)는 각각의 메타 데이터를 식별할 수 있는 번호 또는 기호이다. 원본 명칭(12)은 공유 제공자(200)가 공유하려는 메타 데이터가 원래 가지고 있는 원본 명칭(12)을 의미한다. 즉, 원본 명칭(12)은 공유 제공자(200)의 OS에서 표시되는 폴더의 명칭을 의미할 수 있다.
고유 명칭(13)은 제1 공유 테이블(111)에 미리 저장된 원본 명칭(12)과 명칭이 중복되는 경우 중복에 의한 혼란을 회피하기 위해 생성된 고유의 명칭이다. 이러한 고유 명칭(13)은 중복건수(14)를 기초로 생성될 수 있다.
예를 들어 원본 명칭(12) "설계서"는 식별 ID(11)가 "1111"로 이미 등록되어 있다. 식별 ID(11) "1111"의 설계서는 등록 당시에 동일한 원본 명칭(12)이 존재하지 않았기 때문에 중복건수(14)가 1로 설정되고, 고유 명칭(13)은 원본 명칭(12)과 동일한 "설계서"로 등록되었다.
식별 ID(11) "1112"의 원본 명칭(12) "설계서"가 제1 공유 테이블(111)에 등록될 때(즉, "설계서"의 공유가 요청될 때) 등록 당시에 이미 식별 ID(11) "1111"의 "설계서"가 등록되어 있다. 따라서, 중복건수(14)는 2로 설정되고 고유 명칭(13)은 식별 ID(11) "1111"의 "설계서"와 중복을 회피하기 위해 "설계서(2)"로 등록(1)되었다.
식별 ID(11) "1234의 원본 명칭(12) "설계서"가 제1 공유 테이블(111)에 등록될 때(즉, "설계서"의 공유가 요청될 때) 등록 당시에 이미 식별 ID(11) "1111"의 "설계서"와 식별 ID(11) "1112"의 "설계서"가 등록되어 있다. 따라서, 중복건수(14)는 3으로 설정되고 고유 명칭(13)은 식별 ID(11) "1111"의 "설계서"와 식별 ID(11) "1112"의 "설계서"의 중복을 회피하기 위해 "설계서(3)"으로 등록(2)되었다.
식별 ID(11) 1245의 원본 명칭(12) "회사송년회2020"은 등록 당시에 동일한 원본 명칭(12)이 존재하지 않았기 때문에 중복건수(14)가 1로 설정되고, 고유 명칭(13)은 원본 명칭(12)과 동일한 "설계서"로 등록(3)되었다.
이와 유사하게 식별 ID(11) 1333의 원본 명칭(12) "TF주간보고.docx"는 등록 당시에 식별 ID(11) 1312의 원본 명칭(12) "TF주간보고.docx"가 이미 등록되어 있기 때문에 중복건수(14)는 2로 설정되고 고유 명칭(13)은 식별 ID(11) 1312의 "TF주간보고.docx"와 중복을 회피하기 위해 "TF주간보고(2).docx"로 등록(4)되었다. 여기서 "TF주간보고.docx"는 파일로 이루어진 메타 데이터이다. 즉, 메타 데이터는 폴더, 파일 형식 등을 가리지 않고 다양한 데이터로 이루어질 수 있다.
공유 테이블(110)은 상기와 같이 공유되는 파일 또는 폴더의 중복 여부를 기초로 고유 명칭(13)을 생성하여 메타 데이터의 공유에 관한 정보를 관리할 수 있다. 공유 테이블(110)에 등록된 메타 데이터는 공유가 가능한 메타 데이터로 취급될 수 있다.
다시 도 3으로 돌아와서 단계 S110에서 공유 테이블(110) 내에 공유 이벤트에 따른 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 폴더의 제2 원본 명칭이 존재하는지 판단될 수 있다. 만약 존재하지 않으면, 단계 S115에서 제1 원본 명칭을 제1 고유 명칭으로 결정하여 공유 테이블(110)에 등록될 수 있다.
만약 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는 경우 단계 S120에서 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭이 생성되고, 제1 고유 명칭이 공유 테이블(110)에 등록될 수 있다. 제2 대상 객체는, 상기 공유 테이블에 미리 등록된 제2 폴더 또는 제2 파일을 의미할 수 있다.
이후 단계 S130에서 가상 드라이브를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로가 공유될 수 있고, 공유된 일정 범위 경로는 공유 대상자(300)에게 제공될 수 있다.
이하, 공유 대상자(300)에게 제공되는 메타 데이터의 일정 범위 경로를 설명하기 위해 도 5를 참조하도록 한다. 도 5는 공유 대상자(300)가 가상 드라이브를 통해 공유 제공자(200)로부터 공유받은 메타 데이터들의 예시를 설명하기 위한 도면이다.
공유 대상자(300)는 탐색기를 이용하여 "Share Service"라는 가상 드라이브 환경에 접근할 수 있고, 그 하위 폴더인 "공유받은 파일들"폴더에 공유 제공자(200)로부터 공유받은 메타 데이터를 제공받을 수 있다. 상기 도 4의 식별 ID "1112"의 "설계서"와 식별 ID "1234"의 설계서는 공유 테이블(110)에 저장된 원본 명칭이 동일하기 때문에 고유 명칭인 "설계서(2)"와 "설계서(3)"으로 표시(1 및 2)될 수 있다. "회사송년회2020" 중복된 명칭이 없기 때문에 그대로 "회사송년회2020"로 표시(3)될 수 있다.
또한, ID 1333의 원본 명칭 "TF주간보고.docx"는 등록 당시에 식별 ID 1312의 원본 명칭 "TF주간보고.docx"가 이미 등록되어 있기 때문에 고유 명칭인 "TF주간보고(2).docx"로 표시(4)될 수 있다.
현재 공유 대상자(300)가 공유 받은 메타 데이터(1 내지 4)는 설계서(2), 설계서(3), 회사송년회2020, TF주간보고(2).docx이다.
다른 중복된 원본 명칭이 동일한 공유 제공자(200)에 의해 공유되는지 여부와 무관하게 공유 서비스 제공 서버(100)에 의해 제공되는 메타 데이터 중에서 중복된 원본 명칭에 대해 상이한 고유 명칭을 이용하여 공유 대상자(300)에게 제공할 수 있다.
즉, 본 실시예는 복수의 샤드에 분산되어 관리되는 메타 데이터 중에서 어느 하나의 원본 명칭이 동일하기만 하면 다른 고유 명칭으로 관리되는 것이다.
이에 따라 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법은 어떠한 공유 제공자(200)가 동일한 원본 명칭의 메타 데이터 공유를 요청하더라도 공유 대상자(300)에게 중복되는 명칭으로 표기되는 것을 방지할 수 있다.
단계 S140에서 제공된 일정 범위 경로에 중에서 공유 대상자(300)에 의해 작업의 요청 이벤트를 얻을 수 있다. 즉, 공유 대상자(300)에 의해 일정 범위 경로에 위치한 메타 데이터의 작업이 요청될 수 있다. 메타 데이터의 작업이 요청되는 작업 이벤트에 대한 정보를 도 6을 참조하여 설명하도록 한다.
도 6은 공유 대상자(300)가 메타 데이터 공유 서비스 제공 서버(100)로 메타 데이터의 작업을 요청하는 작업 이벤트(310)의 예시를 설명하기 위한 도면이다.
공유 대상자(300)는 공유 받은 메타 데이터에 대하여 메타 데이터에 대한 조회 작업, 수정 작업, 삭제 작업 또는 실행 작업을 수행할 수 있다. 상기 작업 이벤트(310)는 예시적인 것으로 이에 한정되는 것은 아니다.
작업 이벤트(310)는 고유 명칭, 하위 폴더 및 파일 경로, 서버 요청, 서버로 요청된 전체 경로값을 포함할 수 있다. 고유 명칭은 작업 대상자에게 표시되었던 고유 명칭과 동일할 수 있다.
"설계서(2)"에 대해서는 서버 요청 작업으로서 "삭제"동작이 요청되(1)었다. 서버로 요청된 전체 경로 값은 공유받은 "설계서(2)"폴더 그대로이다. 즉, 도 5의 "설계서(2)"를 삭제하는 작업 이벤트(310)가 발생된 것이다.
"설계서(3)"에 대해서는 서버 요청 요청 작업으로서 "리네임"동작이 요청(2)되었다. 서버로 요청된 전체 경로 값은 공유받은 "설계서(3)"폴더 하위에 존재하는 "모바일/아이폰/유저등록"폴더이다. 즉, 도 5의 "설계서(3)"을 클릭하여 하위 폴더를 따라가면서 "아이폰"폴더까지 도달한 채로 "유저등록"폴더의 "리네임"을 수행하는 작업 이벤트(310)가 발생된 것이다.
마찬가지로 "회사송년회2020"에 대해서는 서버 요청 요청 작업으로서 "하위목록조회"동작이 요청(3)되었다. 서버로 요청된 전체 경로 값은 공유받은 "회사송년회2020"폴더 하위에 존재하는 "TF멤버"폴더의 "연락처.xlsx"이다. 즉, 도 5의 "회사송년회2020"을 클릭하여 하위 폴더를 따라가면서 "TF멤버"폴더까지 도달한 채로 "연락처.xlsx"파일의 "하위목록조회"를 수행하는 작업 이벤트(310)가 발생된 것이다.
"TF주간보고(2).docx"에 대해서는 서버 요청 요청 작업으로서 "열기"동작이 요청(4)되었다. 서버로 요청된 전체 경로 값은 공유받은 폴더 그대로의 "연락처.xlsx"이다. 즉, 도 5의 "TF주간보고(2).docx"의"열기"를 수행하는 작업 이벤트(310)가 발생된 것이다.
도 6에서 살펴본 바와 같이 작업 이벤트(310)는 공유 대상자(300)에 의해 생성된 정보로서, 공유 대상자(300)는 공유 받은 메타 데이터의 상위 폴더는 확인할 수 없고, 하위 폴더만을 확인할 수 있기 때문에 작업 이벤트(310)에도 상위 폴더에 대한 정보는 포함되지 않고 하위 폴더에 대한 정보만을 담고 있다.
이하, 해당 메타 데이터의 상위 폴더를 알지 못한 채로 복수의 샤드에 분산되어 관리되는 메타 데이터에 효율적으로 접근하기 위한 구체적인 방법을 도 7 내지 도 10을 참조하여 설명하도록 한다.
도 7은 도 3의 단계 S140에서 메타 데이터에 대한 작업 이벤트를 획득하는 과정을 구체적으로 설명하기 위한 순서도이고, 도 8은 도 7의 단계 S141 내지 단계 S145를 보다 구체적으로 설명하기 위한 순서도이다.
도3 의 단계 S140에서 공유 대상자(300)로부터 메타 데이터에 대한 작업 이벤트가 획득될 때 단계 S141 내지 S145가 수행될 수 있다.
단계 S141에서 공유 테이블(110)을 참조하여 상기 작업 이벤트에 해당되는 메타 데이터가 속하는 소속 샤드가 탐색될 수 있다. 이후, 단계 S143에서 메타 데이터 DB(120)를 참조하여 상기 소속 샤드 내에서 작업 이벤트에 해당되는 메타 데이터의 전체 경로와 상기 전체 경로에 대한 식별 ID가 탐색될 수 있다. 메타 데이터 DB(120)는 복수의 샤드에 저장된 폴더와 파일에 대한 각종 정보들을 관리하는 데이터베이스이다. 이러한 메타 데이터 DB(120)를 이용하여 최종 적으로 작업 이벤트에 해당되는 메타 데이터의 식별 ID가 탐색될 수 있다. 이후, 단계 S145에서 전체 경로에 대한 식별 ID를 이용하여 상기 공유 대상자(300)에게 상기 메타 데이터의 작업이 제공될 수 있다.
보다 구체적으로 도 7에서 작업 이벤트가 요청되면, 단계 S1411에서 작업 이벤트에 포함된 경로값 문자열에서 첫번째 경로값이 추출될 수 있다. 예를 들어, 경로값 문자열은 도 6의 "설계서 (3)/모바일/아이폰/유저등록"와 같은 정보로 이루어질 수 있는데, 여기서 첫번째 경로값인 "설계서 (3)"이 추출될 수 있다.
단계 S1413에서 제1 공유 테이블(111)에서 상기 첫번째 경로값에 해당되는 대상 객체의 제1 고유 명칭이 탐색될 수 있다. 도 9와 같이 공유 테이블(110)은 제1 공유 테이블(111)과 제2 공유 테이블(112)로 이루어질 수 있는데, 제1 공유 테이블(111)은 고유 명칭을 저장하고 있다.
이전 단계에서 추출된 첫번째 경로값인 "설계서 (3)"가 제1 공유 테이블(111)에서 탐색(2)되고, "설계서 (3)"에 에 해당되는 식별 ID인 "1234"가 탐색(2)될 수 있다.
이후, 제2 공유 테이블(112)에서 상기 식별 ID를 탐색하여 작업 이벤트에 해당되는 메타 데이터가 속하는 소속 샤드 정보가 획득될 수 있다. 여기서 제2 공유 테이블(112)은 파일의 식별 ID, 상기 파일의 식별 ID의 소속 샤드 정보를 포함할 수 있다. 제1 공유 테이블(111)에서 탐색된 식별 ID는 "1234"인데, 이를 제2 공유 테이블(112)에서 탐색하여 소속 샤드 정보가 "8"이라는 정보가 획득될 수 있다.
이때 단계 S1413과 S1415는 두가지 동작이지만, 구현에 따라서 조인 구문을 이용하여 통합된 시퀀스로 수행되어 하나의 동작으로 수행될 수 있다.
이후 단계 S1431에서 작업 이벤트에 해당되는 메타 데이터가 해당되는 대상 객체가 제1 대상 객체의 하위 폴더인지 판단될 수 있다. 즉, 공유 대상자(300)에게 제공되는 가장 상위 폴더는 제1 대상 객체인데, 제1 대상 객체는 하위 폴더를 포함할 수 있고, 공유 대상자(300)가 작업을 요청하는 메타 데이터가 제1 대상 객체의 하위 폴더 또는 하위 폴더에 위치하는 파일일 수 있다.
만약 작업 이벤트 대상 객체가 제1 대상 객체의 하위 폴더가 아닌 경우 작업 이벤트 대상 객체가 제1 대상 객체인 것으로 판단하여 단계 S1437에 의해 제1 대상 객체의 식별 ID가 획득될 수 있고, 단계 S145에서 획득된 제1 대상 객체의 식별 ID를 이용하여 작업이 제공될 수 있다.
만약 작업 이벤트에 해당되는 대상 객체가 제1 폴더의 하위 폴더인 경우 단계 S1433 및 단계 S1435가 수행될 수 있다.
단계 S1433에서 소속 샤드에서 제1 폴더의 상위 경로가 획득될 수 있다. 구체적으로, 도 10과 같이 메타 데이터 DB(120)는 식별 ID, 원본 명칭, 명칭 기반 전체 경로, 샤드 키를 포함할 수 있다.
단계 S1415에서 획득된 소속 샤드 정보를 이용하여 도 10의 메타 데이터 DB(120)의 샤드키 8을 참조하고, "설계서(3)"의 메타 데이터(121)의 식별 ID인 "1234"를 이용하여 "8"번 샤드의 "설계서"의 상위 폴더의 경로(122)가 획득될 수 있다. 즉, 소속 샤드에 해당하는 상기 메타 데이터 DB(120)에서 상기 식별 ID를 이용하여 상기 제1 폴더의 현재 위치를 기준으로 상기 권한이 부여되지 않은 범위에 해당하는 상위 경로(122)가 획득될 수 있다.
이러한 상위 경로는 공유 대상자(300)에게는 공유되지 않았기 때문에 노출되지 않았으나, 메타 데이터 DB(120)를 참조하여 메타 데이터의 작업을 위해 해당 샤드에 접근하도록 상위 경로가 획득될 수 있다.
단계 S1435에서는 작업 이벤트에 포함된 제1 폴더의 하위 폴더(도 6의 "서버로 요청된 전체 경로값")가 탐색될 수 있고, 하위 폴더에 대한 식별 ID(123)가 획득될 수 있다. 즉, 도 10의 하위 폴더의 경로(124)를 이용하여 이에 대한 식별 ID(123)이 획득될 수 있다.
이때 단계 S1433과 S1435는 두가지 동작이지만, 구현에 따라서 조인 구문을 이용하여 통합된 시퀀스로 수행되어 하나의 동작으로 수행될 수 있다.
이러한 하위 폴더에 대한 식별 ID(123)는 공유 대상자(300)가 작업을 수행하는 것으로 요청한 폴더 또는 파일일 수 있다.
이와 같이 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법은 상위 폴더를 공개하지 않은 채로 공유하더라도 추후 작업의 수행을 제공할 때 어떤 샤드에 포함된 폴더에서 수행되었는지 용이하게 탐색할 수 있으며, 공유 테이블(110)과 메타 데이터 DB(120)를 이용하기 때문에 2회의 상수 시간 복잡도 만으로 작업을 완료할 수 있어 시간과 비용을 단축시킬 수 있는 장점이 있다. 또한, 본 방법은 상위 폴더를 공개하지 않고 하위 폴더만 공개함에 따라 발생될 수 있는 명칭의 중복 문제를 해결하기 위해 공유 테이블(110)을 이용하여 명칭이 동일한 폴더임에도 혼동되지 않게 관리할 수 있다.
도 11은 본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법의 시스템 순서도이다.
도 11을 참조하면, 공유 제공자(200)는 메타 데이터를 생성하고 관리할 때마다 이를 공유 서비스 제공 서버(100)로 전송할 수 있다. 공유 서비스 제공 서버(100)는 변경된 메타 데이터의 내용을 메타 데이터 DB(120)에 입력할 수 있다. 만약 공유 서비스 제공 서버(100)가 공유 제공자(200)로부터 메타 데이터에 대한 공유 이벤트를 획득하는 경우 제1 대상 객체의 제1 고유 명칭을 공유 테이블(110)에 등록할 수 있다. 이때, 제1 원본 명칭과 동일한 명칭의 제2 원본 명칭이 공유 테이블(110)에 이미 존재하는 경우 제2 고유 명칭과 상이한 제1 고유 명칭을 공유 테이블(110)에 등록할 수 있다. 공유 서비스 제공 서버(100)는 제1 대상 객체와 제1 대상 객체의 하위 폴더를 공유 대상자(300)에게 공유할 수 있다.
이후, 공유 서비스 제공 서버(100)가 공유 대상자(300)로부터 공유 받은 제1 대상 객체와 제1 대상 객체의 하위 폴더의 메타 데이터에 대해 작업 이벤트를 수신하면, 공유 서비스 제공 서버(100)는 공유 테이블(110)을 참조하여 작업 이벤트의 메타 데이터가 속하는 소속 샤드를 탐색할 수 있다. 이후 공유 서비스 제공 서버(100)는 메타 데이터 DB(120)를 참조하여 소속 샤드 내에서 해당 메타 데이터의 식별 ID를 탐색하고, 식별 ID를 이용하여 공유 대상자(300)에게 메타 데이터의 작업을 제공할 수 있다.
공유 대상자(300)는 가상 드라이브 환경에서 공유 서비스 제공 서버(100)로부터 메타 데이터에 대한 작업을 제공받을 수 있다.
본 발명의 일 실시예에 따른 메타 데이터 공유 서비스 제공 방법은 대량의 데이터를 샤드키를 이용하여 여러 개의 샤드에 나눠서 관리하는 DB 구조에서도 동일하게 2회 이내의 조회로 가상의 경로명칭에서 메타 데이터의 식별 ID를 찾을 수 있기 때문에, 클라이언트의 요청에 대해 최저의 비용과 최소의 시간비용으로 대상을 탐색하고 처리할 수 있다.
지금까지 도 2 내지 도 11을 참조하여 본 명세서에 기재된 메타 데이터 공유 서비스 제공 방법을 설명하였다.
도 12는 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 12에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 12에는 본 발명의 일 실시예에 따른과 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명의 일 실시예에 따른이 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 일 실시예에 따른의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 일 실시예에 따른의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명의 일 실시예에 따른이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
일 실시예에서, 상기 컴퓨터 프로그램(591)은 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트를 얻는 인스트럭션(instruction), 공유 대상 객체를 관리하는 공유 테이블을 이용하여 상기 공유 테이블 내에 상기 공유 이벤트에 따른 상기 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는지 판단하는 인스트럭션, 상기 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 원본 명칭이 존재하는 경우, 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭을 생성하여 상기 공유 테이블에 등록하는 인스트럭션, 및 가상 드라이브(Virtual Drive)를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로를 공유하는 인스트럭션을 포함할 수 있다.
지금까지 설명된 실시예들에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 실시예들을 설명하였지만, 본 발명의 일 실시예에 따른이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 일 실시예에 따른들이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (19)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트를 얻는 단계;
    공유 객체를 관리하는 공유 테이블을 이용하여 상기 공유 테이블 내에 상기 공유 이벤트에 따른 상기 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는지 판단하는 단계;
    상기 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 원본 명칭이 존재하는 경우, 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭을 생성하여 상기 공유 테이블에 등록하는 단계; 및
    가상 드라이브(Virtual Drive)를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로를 공유하는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 제1 대상 객체는, 상기 공유 이벤트에 따라 공유의 대상이 되는 제1 폴더, 또는 제1 파일이고,
    상기 제2 대상 객체는, 상기 공유 테이블에 미리 등록된 제2 폴더 또는 제2 파일인 것인,
    메타 데이터 공유 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 공유 이벤트를 얻는 단계는,
    복수의 샤드에 폴더와 파일에 대한 메타 데이터가 분산되어 관리되고, 상기 공유 이벤트를 요청한 공유 제공자가 상기 가상 드라이브를 통해 상기 복수의 샤드에 포함된 폴더와 파일에 대한 메타 데이터에 접근하는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  4. 제2항에 있어서,
    상기 공유 테이블은,
    폴더 또는 파일의 식별 ID, 원본 명칭, 고유 명칭 및 원본 명칭의 중복 개수를 포함하는 제1 공유 테이블; 및
    상기 폴더 또는 파일의 식별 ID, 상기 식별 ID의 소속 샤드 정보를 포함하는 제2 공유 테이블을 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  5. 제4항에 있어서,
    상기 제1 공유 테이블의 상기 폴더 또는 파일의 고유 명칭은,
    상기 폴더 또는 파일의 원본 명칭의 중복 여부를 기초로 상기 폴더 또는 파일의 원본 명칭이 존재하면, 상기 폴더 또는 파일의 원본 명칭과 동일한 명칭에 태그를 추가하여 생성되는 것인,
    메타 데이터 공유 서비스 제공 방법.
  6. 제2항에 있어서,
    상기 공유 이벤트를 얻는 단계는,
    상기 공유 이벤트를 요청하는 공유 제공자에 의해 권한이 부여된 대상 객체에 대한 공유를 요청받는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  7. 제6항에 있어서,
    상기 권한이 부여된 대상 객체에 대한 공유를 요청받는 단계를 포함하는,
    상기 공유 이벤트에 해당되는 대상 객체와 상기 대상 객체의 하위 레벨의 폴더에 대한 공유를 요청받는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  8. 제2항에 있어서,
    상기 대상 객체의 현재 위치를 기준으로 일정 범위 폴더를 공유받은 공유 대상자로부터 상기 일정 범위 폴더의 메타 데이터에 대한 작업 이벤트를 요청받는 단계를 더 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  9. 제8항에 있어서,
    상기 공유 대상자로부터 상기 일정 범위 폴더의 메타 데이터에 대한 작업을 요청받는 단계는,
    상기 메타 데이터에 대한 조회 작업, 수정 작업, 삭제 작업 또는 실행 작업 중 적어도 하나의 작업을 요청받는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  10. 제8항에 있어서,
    상기 공유 대상자로부터 상기 일정 범위 폴더의 메타 데이터에 대한 작업을 요청받는 단계는,
    상기 공유 테이블을 참조하여 상기 작업 이벤트에 해당되는 메타 데이터가 속하는 소속 샤드를 탐색하는 단계;
    복수의 샤드에 저장된 폴더와 파일에 대한 메타 데이터를 관리하는 메타 데이터 DB를 참조하여 상기 소속 샤드 내에서 상기 작업 이벤트에 해당되는 메타 데이터의 전체 경로와 상기 전체 경로에 대한 식별 ID를 탐색하는 단계; 및
    상기 전체 경로에 대한 식별 ID를 이용하여 상기 공유 대상자에게 상기 메타 데이터의 작업을 제공하는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  11. 제10항에 있어서,
    상기 메타 데이터 DB는,
    상기 메타 데이터의 식별 ID, 상기 메타 데이터의 이름, 상기 메타 데이터의 명칭에 기반한 전체 경로 및 상기 메타 데이터가 속하는 샤드의 샤드키를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  12. 제10항에 있어서,
    상기 공유 테이블을 참조하여 상기 작업 이벤트에 해당되는 메타 데이터가 속하는 샤드를 탐색하는 단계는,
    상기 작업 이벤트에 포함된 경로값 문자열에서 첫번째 경로값을 추출하는 단계;
    제1 공유 테이블에서 상기 첫번째 경로값에 해당되는 제1 고유 명칭을 탐색하고, 상기 제1 고유 명칭에 해당되는 폴더의 식별 ID를 탐색하는 단계; 및
    제2 공유 테이블에서 상기 식별 ID를 탐색하여 상기 작업 이벤트에 해당되는 메타 데이터가 속하는 소속 샤드 정보를 획득하는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  13. 제10항에 있어서,
    상기 공유 테이블을 참조하여 상기 작업 이벤트에 해당되는 메타 데이터가 속하는 소속 샤드를 탐색하는 단계는,
    조인 구문을 이용하여 통합된 시퀀스로 수행되는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  14. 제10항에 있어서,
    상기 복수의 샤드에 저장된 폴더와 파일에 대한 메타 데이터를 관리하는 메타 데이터 DB를 참조하여 상기 소속 샤드 내에서 상기 작업 이벤트에 해당되는 메타 데이터의 전체 경로와 상기 전체 경로에 대한 식별 ID를 탐색하는 단계는,
    상기 소속 샤드에 해당하는 상기 메타 데이터 DB에서 상기 식별 ID를 이용하여 상기 대상 객체의 현재 위치를 기준으로 권한이 부여되지 않은 범위에 해당하는 상위 경로를 획득하는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  15. 제14항에 있어서,
    상기 복수의 샤드에 저장된 폴더와 파일에 대한 메타 데이터를 관리하는 메타 데이터 DB를 참조하여 상기 소속 샤드 내에서 상기 작업 이벤트에 해당되는 메타 데이터의 전체 경로와 상기 전체 경로에 대한 식별 ID를 탐색하는 단계는,
    상기 작업 이벤트에 해당되는 메타 데이터가 해당되는 대상 객체가 제1 대상 객체의 하위 폴더에 위치하는지 판단하는 단계; 및
    상기 작업 이벤트에 해당되는 메타 데이터가 해당되는 대상 객체가 상기 대상 객체 보다 하위 폴더에 위치하는 경우, 상기 하위 폴더를 따라 상기 작업 이벤트에 해당되는 상기 메타 데이터를 탐색하여 상기 메타 데이터에 대한 식별 ID를 획득하는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  16. 제15항에 있어서,
    상기 복수의 샤드에 저장된 폴더와 파일에 대한 메타 데이터를 관리하는 메타 데이터 DB를 참조하여 상기 소속 샤드 내에서 상기 작업 이벤트에 해당되는 메타 데이터의 전체 경로와 상기 전체 경로에 대한 식별 ID를 탐색하는 단계는,
    조인 구문을 이용하여 통합된 시퀀스로 수행되는 단계를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
  17. 프로세서;
    네트워크 인터페이스;
    상기 프로세서에 의해 실행되어 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로에 대한 공유 이벤트를 얻는 인스트럭션(instruction);
    공유 대상 객체를 관리하는 공유 테이블을 이용하여 상기 공유 테이블 내에 상기 공유 이벤트에 따른 상기 제1 대상 객체의 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 대상 객체의 제2 원본 명칭이 존재하는지 판단하는 인스트럭션;
    상기 제1 원본 명칭과 중복되는 이름으로 미리 등록된 제2 원본 명칭이 존재하는 경우, 상기 제2 대상 객체의 상기 제2 원본 명칭에 대한 제2 고유 명칭과는 상이한 제1 고유 명칭을 생성하여 상기 공유 테이블에 등록하는 인스트럭션; 및
    가상 드라이브(Virtual Drive)를 통해 상기 공유 이벤트에 따라 상기 제1 고유 명칭의 제1 대상 객체의 현재 위치를 기준으로 일정 범위 경로를 공유하는 인스트럭션을 포함하는,
    메타 데이터 공유 서비스 제공 장치.
  18. 제17항에 있어서,
    상기 제1 대상 객체는, 상기 공유 이벤트에 따라 공유의 대상이 되는 제1 폴더, 또는 제1 파일이고,
    상기 제2 대상 객체는, 상기 공유 테이블에 미리 등록된 제2 폴더 또는 제2 파일인 것인,
    메타 데이터 공유 서비스 제공 장치.
  19. 제18항에 있어서,
    상기 제1 대상 객체의 현재 위치를 기준으로 일정 범위 폴더를 공유받은 공유 대상자로부터 상기 일정 범위 폴더의 메타 데이터에 대한 작업 이벤트를 요청받는 인스트럭션을 더 포함하고,
    상기 제1 대상 객체의 현재 위치를 기준으로 일정 범위 폴더를 공유받은 공유 대상자로부터 상기 일정 범위 폴더의 메타 데이터에 대한 작업 이벤트를 요청받는 인스트럭션은,
    상기 공유 테이블을 참조하여 상기 작업 이벤트에 해당되는 메타 데이터가 속하는 소속 샤드를 탐색하는 인스트럭션;
    복수의 샤드에 저장된 폴더와 파일에 대한 메타 데이터를 관리하는 메타 데이터 DB를 참조하여 상기 소속 샤드 내에서 상기 작업 이벤트에 해당되는 메타 데이터의 전체 경로와 상기 전체 경로에 대한 식별 ID를 탐색하는 인스트럭션; 및
    상기 전체 경로에 대한 식별 ID를 이용하여 상기 공유 대상자에게 상기 메타 데이터의 작업을 제공하는 인스트럭션를 포함하는,
    메타 데이터 공유 서비스 제공 방법.
KR1020200141434A 2020-10-28 2020-10-28 메타 데이터 공유 서비스 제공 방법 및 장치 KR20220056656A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200141434A KR20220056656A (ko) 2020-10-28 2020-10-28 메타 데이터 공유 서비스 제공 방법 및 장치
US17/512,973 US20220129419A1 (en) 2020-10-28 2021-10-28 Method and apparatus for providing metadata sharing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141434A KR20220056656A (ko) 2020-10-28 2020-10-28 메타 데이터 공유 서비스 제공 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220056656A true KR20220056656A (ko) 2022-05-06

Family

ID=81257011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141434A KR20220056656A (ko) 2020-10-28 2020-10-28 메타 데이터 공유 서비스 제공 방법 및 장치

Country Status (2)

Country Link
US (1) US20220129419A1 (ko)
KR (1) KR20220056656A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145989B (zh) * 2022-07-04 2023-03-10 夏文祥 一种基于物联网数据模型的数据共享方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100740682B1 (ko) 2006-11-30 2007-07-19 (주)필라넷 로컬 피씨로의 데이터 저장을 방지하는 보안파일서버시스템및 그 방법과 그 방법에 대한 컴퓨터 프로그램을 저장한기록매체

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004604A (ja) * 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> ファイル所在管理方法、端末、およびファイル所在管理サーバ
US8275815B2 (en) * 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
US8090744B1 (en) * 2009-08-26 2012-01-03 Symantec Operating Corporation Method and apparatus for determining compatibility between a virtualized application and a base environment
CN101834937A (zh) * 2010-03-19 2010-09-15 宇龙计算机通信科技(深圳)有限公司 一种终端之间进行信息交互的方法、装置及终端
CN106202441A (zh) * 2016-07-13 2016-12-07 腾讯科技(深圳)有限公司 基于关系型数据库的数据处理方法、装置和***
US20200026868A1 (en) * 2018-07-23 2020-01-23 Wasabi Technologies, Inc. Methods and systems for storing data sequentially on a media

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100740682B1 (ko) 2006-11-30 2007-07-19 (주)필라넷 로컬 피씨로의 데이터 저장을 방지하는 보안파일서버시스템및 그 방법과 그 방법에 대한 컴퓨터 프로그램을 저장한기록매체

Also Published As

Publication number Publication date
US20220129419A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
US10225363B2 (en) Methods and systems for providing a consistent profile to overlapping user sessions
RU2629448C2 (ru) Система и способ управления и организации кэша веб-браузера
US10127243B2 (en) Fast recovery using self-describing replica files in a distributed storage system
US7769779B2 (en) Reverse name mappings in restricted namespace environments
US9697258B2 (en) Supporting enhanced content searches in an online content-management system
US20130152085A1 (en) Optimizing Storage Allocation in a Virtual Desktop Environment
US20140195514A1 (en) Unified interface for querying data in legacy databases and current databases
US7716365B2 (en) Automatically targeting and filtering shared network resources
JP2016529599A (ja) コンテンツクリップボードの同期
US10803240B2 (en) Generation of document editors having functions specified by role policies
US20160179789A1 (en) Content localization using fallback translations
CN110352410B (zh) 跟踪索引节点的访问模式以及预提取索引节点
US20120109987A1 (en) Remote file sharing based on content filtering
US20220129419A1 (en) Method and apparatus for providing metadata sharing service
US11138148B2 (en) Information processing apparatus, control method, and storage medium
JP2007241378A (ja) 検索装置及びそのプログラム
US11010346B2 (en) Methods and apparatus for managing access to file content
CN113468110A (zh) 一种文件管理方法、装置、电子设备及存储介质
US20160259810A1 (en) Global file index
CN116663066B (zh) 数据访问方法、设备及存储介质
US11841916B2 (en) System and method to update a bookmarked document link and avoid a broken link
EP2034417A1 (en) Method and system for remote cache access
CN116010353A (zh) 显示方法、装置、电子设备及存储介质
CN117640639A (zh) 一种基于云计算技术的对象存储服务配置方法及装置