KR20220071493A - Method and apparatus for managing network drive using local cache - Google Patents

Method and apparatus for managing network drive using local cache Download PDF

Info

Publication number
KR20220071493A
KR20220071493A KR1020200158675A KR20200158675A KR20220071493A KR 20220071493 A KR20220071493 A KR 20220071493A KR 1020200158675 A KR1020200158675 A KR 1020200158675A KR 20200158675 A KR20200158675 A KR 20200158675A KR 20220071493 A KR20220071493 A KR 20220071493A
Authority
KR
South Korea
Prior art keywords
file
folder
local cache
network
server
Prior art date
Application number
KR1020200158675A
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 KR1020200158675A priority Critical patent/KR20220071493A/en
Publication of KR20220071493A publication Critical patent/KR20220071493A/en

Links

Images

Classifications

    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a method and an apparatus for managing a network driver using a local cache. The method includes: receiving meta-information on a folder from the network driver; generating a file list provided to a folder of a virtual driver by using the meta-information on the folder, requesting whole data for a file having whole read events to be downloaded by the network driver server; storing, in a local cache folder, the file downloaded from the network driver server and mapping the file with a program requesting the file, storing a file for changed information in the local cache folder, when a work for the file is finished, and uploading the file having the changed information into the network driver.

Description

로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치{METHOD AND APPARATUS FOR MANAGING NETWORK DRIVE USING LOCAL CACHE}Method and device for network drive management using local cache {METHOD AND APPARATUS FOR MANAGING NETWORK DRIVE USING LOCAL CACHE}

본 발명은 로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치에 관한 것이다. 보다 자세하게는, 가상 드라이브 환경에서 작업을 수행하는 경우에는 로컬 캐시 폴더에 저장된 파일을 사용함에 따라 파일 전체에 대한 작업을 수행할 때에도 속도가 지체되지 않을 수 있는 환경을 제공할 수 있는 로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치를 제공하는 것이다.The present invention relates to a method and apparatus for managing a network drive using a local cache. In more detail, when performing operations in a virtual drive environment, as files stored in the local cache folder are used, the local cache is used to provide an environment in which the speed is not delayed even when performing operations on the entire file. It is to provide a method and apparatus for managing a network drive.

파일에 대한 접근은 주로 2가지 방식으로 실행되는데 첫째는 파일의 일부분만을 읽는 경우(Nasca, 백신, 썸네일, 미리보기 등) 둘째는 파일의 전체를 읽어서 사용하는 경우(일반 Application을 이용한 편집)으로 구성된다.Access to the file is mainly performed in two ways. The first is when only a part of the file is read (Nasca, vaccine, thumbnail, preview, etc.), and the second is when the entire file is read and used (editing using a general application). do.

이러한 파일에 접근하는 방식으로는 네임스페이스 방식과 가상 드라이브 방식이 존재하는데, 네임스페이스 방식은 실제 파일을 관리하기 위해서는 항상 서버로 파일을 업로드 및 다운로드 해야 하는 문제점이 존재한다. 특히, 사용성에서 윈도우 탐색기와 Application(Excel 등)에서의 동작이 다르고, 다운로드한 파일이 아닌 경우 썸네일, 미리보기 등이 불가능하다. 즉, 모든 파일에 대해 다운로드 하지 못하거나 응답을 못하는 상황이 발생하는 단점이 존재한다.There are a namespace method and a virtual drive method for accessing these files, but the namespace method has a problem in that files must always be uploaded and downloaded to the server in order to manage the actual files. In particular, in terms of usability, the operation in Windows Explorer and Application (Excel, etc.) is different, and thumbnails and previews are not possible if it is not a downloaded file. That is, there is a disadvantage in that a situation occurs in which a download cannot be made or a response cannot be made for all files.

버추어 드라이브의 경우 파일을 편집할 때 실제 파일이 서버에 있으며 편집시 요구되는 파일의 일부분들을 서버로 요청하여 작업하게 되므로 문서 작업시 끊임없이 서버로 요청을 하게 되어 속도가 매우 느려지게 되므로 성능 저하가 발생하게 된다.In the case of Virtual Drive, when editing a file, the actual file is on the server, and the part of the file required for editing is requested from the server to work. will occur

상기와 같은 각각의 파일 접근 방식의 단점을 보완하고 속도에 대한 신뢰성이 보장될 수 있는 네트워크 드라이브 관리 방법이 요구되는 실정이다.There is a need for a network drive management method that can compensate for the shortcomings of each file access method as described above and can guarantee reliability for speed.

등록특허공보 제10-1795087호(2017.11.01 등록)Registered Patent Publication No. 10-1795087 (registered on Nov. 1, 2017)

본 발명이 해결하고자 하는 기술적 과제는, 가상 드라이브 환경에서 작업을 수행하는 경우에는 로컬 캐시 폴더에 저장된 파일을 사용함에 따라 파일 전체에 대한 작업을 수행할 때에도 속도가 지체되지 않을 수 있는 환경을 제공할 수 있는 로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치를 제공하기 위함이다.The technical problem to be solved by the present invention is to provide an environment in which the speed is not delayed even when performing an operation on the entire file by using a file stored in a local cache folder when performing an operation in a virtual drive environment. This is to provide a method and apparatus for managing a network drive using a local cache.

본 발명이 해결하고자 하는 다른 기술적 과제는, 파일 전체에 대한 작업을 수행해지 않는 경우에는 파일의 일부분만 로드하는 방식을 사용함에 따라 불필요하게 속도가 저하되는 것을 방지하여 속도의 신뢰성이 보장되는 환경을 제공할 수 있는 로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치를 제공하기 위함이다.Another technical problem to be solved by the present invention is to provide an environment in which the reliability of speed is guaranteed by preventing unnecessary speed degradation by using a method of loading only a part of a file when the work on the entire file is not performed. This is to provide a method and apparatus for managing a network drive using a local cache that can be provided.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 네트워크 드라이브 서버와의 연결이 해제된 경우에도 로컬 데이터베이스를 이용하여 실시간으로 작업을 수행할 수 있는 로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치를 제공하기 위함이다.Another technical problem to be solved by the present invention is to provide a method and apparatus for managing a network drive using a local cache that can perform an operation in real time using a local database even when the connection with the network drive server is disconnected to be.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기의 문제점을 해결하기 위한 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 단계, 상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 단계, 상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 단계, 상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 단계, 상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 단계, 상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 로컬 캐시 폴더에 저장하고, 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 단계, 및 상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 변경된 내용의 파일을 상기 네트워크 드라이브로 업로드하는 단계를 포함할 수 있다.The method for managing a network drive using a local cache according to an embodiment of the present invention for solving the above problems is a method performed by a computing device. requesting meta information indicating information stored in a folder corresponding to the folder selection event; receiving meta information on the folder from the network drive server; generating a list of files provided to the virtual drive, generating a full read event for the files included in the file list on the virtual drive, and downloading all data on the file for which the full read event has occurred to the network drive server requesting, storing the file downloaded from the network drive server in a local cache folder, mapping the file to the program that requested the file, and storing the changed file after the operation on the file is completed It may include storing the file in a cache folder and uploading the changed file to the network drive.

상기의 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 장치는 프로세서, 네트워크 인터페이스, 상기 프로세서에 의해 실행되어 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 인스트럭션(instruction), 상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 인스트럭션, 상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 인스트럭션, 상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 인스트럭션, 상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 인스트럭션, 상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 로컬 캐시 폴더에 저장하고, 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 인스트럭션, 및 상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 변경된 내용의 파일을 상기 네트워크 드라이브로 업로드하는 인스트럭션을 포함할 수 있다.A network drive management apparatus using a local cache according to another embodiment of the present invention for solving the above problems includes a processor, a network interface, a memory executed by the processor to load a computer program, and the computer program storage to store, wherein the computer program requests meta information indicating information stored in a folder corresponding to the folder selection event to a network drive server according to a folder selection event of a virtual drive (instruction) , an instruction for receiving meta information on the folder from the network drive server, an instruction for generating a file list provided to the folder of the virtual drive using meta information on the folder, included in the file list on the virtual drive An instruction for generating a full read event for a file, an instruction for requesting download of all data for a file for which the full read event has occurred to the network drive server, and storing the file downloaded from the network drive server in a local cache folder an instruction for mapping the file to a program requesting the file, and an instruction for storing a file with changed contents in the local cache folder after work on the file is completed, and uploading the changed file to the network drive may include

도 1은 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법을 간략하게 표현한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템의 파일 리스트를 생성하는 실시예를 설명하기 위한 도면이다.
도 4는 도 3의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.
도 5는 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템의 작업을 위해 파일을 실행 및 저장하는 실시예를 설명하기 위한 도면이다.
도 6은 도 5의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.
도 7은 도 6의 단계 S231을 구체적으로 설명하기 위한 도면이다.
도 8은 로컬 캐시 폴더에 저장될 수 있는 용량을 나타내는 도면이다.
도 9는 파일에 대한 일부 읽기 이벤트가 발생되는 실시예를 설명하기 위한 도면이다.
도 10은 도 9의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.
도 11은 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서의 파일 실행 및 저장하는 실시예를 설명하기 위한 도면이다.
도 12는 도 11의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.
도 13은 도 12에서 네트워크 접속이 다시 연결된 후 네트워크 드라이브 서버와 동기화를 진행하는 과정을 나타내는 시스템 순서도이다.
도 14는 메타 정보에 포함된 데이터 타입을 설명하기 위한 도면이다.
도 15는 본 발명의 다른 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 장치의 하드웨어 구성도이다.
1 is a diagram for explaining a method for managing a network drive using a local cache according to an embodiment of the present invention.
2 is a flowchart schematically illustrating a method for managing a network drive using a local cache according to an embodiment of the present invention.
3 is a diagram for explaining an embodiment of generating a file list of a network drive management system using a local cache according to an embodiment of the present invention.
4 is a system flowchart for explaining an information processing process according to the embodiment of FIG. 3 .
5 is a diagram for explaining an embodiment of executing and storing a file for the operation of a network drive management system using a local cache according to an embodiment of the present invention.
6 is a system flowchart for explaining an information processing process according to the embodiment of FIG. 5 .
FIG. 7 is a diagram for specifically explaining step S231 of FIG. 6 .
8 is a diagram illustrating a capacity that can be stored in a local cache folder.
9 is a diagram for explaining an embodiment in which a partial read event for a file is generated.
FIG. 10 is a system flowchart for explaining an information processing process according to the embodiment of FIG. 9 .
11 is a diagram for explaining an embodiment of executing and storing a file in a state in which a network connection with a network drive server is released.
12 is a system flowchart for explaining an information processing process according to the embodiment of FIG. 11 .
13 is a system flowchart illustrating a process of synchronizing with a network drive server after a network connection is reconnected in FIG. 12 .
14 is a diagram for describing a data type included in meta information.
15 is a hardware configuration diagram of an apparatus for managing a network drive using a local cache according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 본 발명의 일 실시예에 따른의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명의 일 실시예에 따른이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. Advantages and features of according to an embodiment of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments make the publication of the present invention complete, and to which one embodiment of the present invention belongs. It is provided to fully inform those of ordinary skill in the art the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명의 일 실시예에 따른이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein have the meaning commonly understood by those of ordinary skill in the art to which an embodiment of the present invention pertains. can In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.

이하, 도면들을 참조하여 몇몇 실시예들을 설명한다.Hereinafter, some embodiments will be described with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법을 설명하기 위한 도면이고, 도 2는 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법을 간략하게 표현한 순서도이다.1 is a diagram for explaining a method for managing a network drive using a local cache according to an embodiment of the present invention, and FIG. 2 is a flowchart schematically illustrating a method for managing a network drive using a local cache according to an embodiment of the present invention. to be.

본 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법은 데이터를 중앙화 하기 위한 네트워크 환경에서 클라이언트에게 가상 드라이브(Virtual disk drive)를 통해 데이터를 제공하고 관리할 수 있는 방법이다. 본 실시예에 따르면 가상 드라이브와 네임스페이스(Namespace)의 방식을 혼용시켜 클라이언트가 원하는 정보를 빠른 속도로 제공할 수 있다.The method of managing a network drive using a local cache according to the present embodiment is a method of providing and managing data to a client through a virtual disk drive in a network environment for centralizing data. According to the present embodiment, information desired by a client can be provided at high speed by mixing a virtual drive and a namespace method.

도 1을 참조하면, 단계 S100에서 가상 드라이브 환경에서 표시될 수 있는 파일 리스트가 생성될 수 있다. 이러한 파일 리스트는 클라이언트의 탐색기를 통해 파일에 대한 정보와 파일의 경로에 대한 정보를 포함하며, 네트워크 드라이브 서버의 각각의 폴더에서 저장하고 있는 파일의 목록을 가리킬 수 있다.Referring to FIG. 1 , in step S100, a list of files that can be displayed in a virtual drive environment may be generated. This file list includes information about the file and the path of the file through the client's explorer, and may point to the list of files stored in each folder of the network drive server.

구체적으로, 클라이언트에 의해 네트워크 드라이브 서버의 각각의 폴더가 선택되어 탐색될 수 있고, 각각의 폴더가 선택됨에 따라 네트워크 드라이브 서버로부터 각각의 폴더에 저장된 정보를 가리키는 메타 정보를 수신하며, 이러한 메타 정보를 이용하여 네트워크 드라이브 서버의 각 폴더에 저장되어 있는 하위 폴더와 파일에 대한 정보가 담긴 파일 리스트가 생성되어 클라이언트로 제공될 수 있다.Specifically, each folder of the network drive server can be selected and searched by the client, and as each folder is selected, meta information indicating information stored in each folder is received from the network drive server, and this meta information is retrieved from the network drive server. A file list containing information about subfolders and files stored in each folder of the network drive server can be created and provided to the client by using it.

단계 S200에서 가상 드라이브 환경에서 제공되는 탐색기를 통해 네트워크 드라이브 서버의 폴더에 포함된 파일이 실행될 수 있다. 이러한 파일은 작업을 위한 다양한 형식의 파일일 수 있으며, 어느 하나의 타입에 한정되는 것은 아니다. 이후, 파일의 실행 이벤트에 따라 네트워크 드라이브 서버로 파일의 다운로드가 요청되고, 다운로드된 파일은 로컬 캐시 폴더에 저장된 뒤 해당 프로그램에 매핑될 수 있다. 이러한 파일은 해당 프로그램의 동작에 의해 수정될 수 있고, 이후 내용이 변경된 파일은 로컬 캐시 폴더에 저장되고 다시 네트워크 드라이브 서버로 업로드될 수 있다.In step S200, the file included in the folder of the network drive server may be executed through the explorer provided in the virtual drive environment. Such a file may be a file of various types for work, and is not limited to any one type. Thereafter, a file download is requested to a network drive server according to an execution event of the file, and the downloaded file may be stored in a local cache folder and then mapped to a corresponding program. These files can be modified by the operation of the corresponding program, and the files whose contents are changed afterwards can be stored in a local cache folder and uploaded to a network drive server again.

본 실시예를 보다 구체적으로 살펴보기 위해 도 2를 참조하도록 한다.In order to examine this embodiment in more detail, reference is made to FIG. 2 .

도 2에서 단계 S100이 수행될 때 단계 S110 내지 S140이 수행되고, 단계 S200이 수행될 때 단계 S210 내지 단계 S250이 수행될 수 있다.In FIG. 2 , when step S100 is performed, steps S110 to S140 may be performed, and when step S200 is performed, steps S210 to S250 may be performed.

구체적으로 단계 S110에서 가상 드라이브의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 메타 정보가 요청될 수 있다. 메타 정보는 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리킬 수 있다.Specifically, meta information may be requested from the network drive server according to the folder selection event of the virtual drive in step S110. The meta information may refer to information stored in a folder corresponding to a folder selection event.

이후, 단계 S120에서 네트워크 드라이브 서버로부터 폴더에 대한 메타 정보가 수신될 수 있다. 즉, 메타 정보는 폴더 선택 이벤트와 같이 폴더를 여는 동작과 동시에 네트워크 드라이브 서버로 요청되어 얻을 수 있다.Thereafter, meta information about the folder may be received from the network drive server in step S120. That is, meta information can be obtained by requesting the network drive server at the same time as the folder opening operation like a folder selection event.

단계 S130에서 폴더에 대한 메타 정보를 이용하여 가상 드라이브의 폴더에 제공되는 파일 리스트가 생성될 수 있다. 생성된 파일 리스트는 탐색기로 응답될 수 있으며, 탐색기는 파일 리스트를 이용하여 가상 드라이브를 통해 네트워크 드라이브 서버의 해당 폴더에 저장되어 있는 데이터의 목록과 파일에 대한 간단한 정보들을 제공할 수 있다. 상기 메타 정보와, 파일 리스트에 대한 자세한 설명은 후술하도록 한다.In step S130, a list of files provided in a folder of a virtual drive may be created using meta information about the folder. The created file list may be responded to by the explorer, and the explorer may provide a list of data stored in the corresponding folder of the network drive server through the virtual drive and simple information about the file using the file list. A detailed description of the meta information and the file list will be provided later.

단계 S140에서 메타 정보가 로컬 데이터베이스에 저장될 수 있다. 이러한 단계는 파일 리스트를 생성하는 것에 필수적인 단계는 아니고, 후술하는 네트워크 드라이브 서버와의 연결이 해제되었을 경우에 대비하여 자체적으로 메타 정보를 획득하기 위한 실시예에 필요한 단계로서 참조를 위해 도 2에 도시된 것이다.In step S140, meta information may be stored in a local database. This step is not essential for generating the file list, but is shown in FIG. 2 for reference as a step necessary for the embodiment to acquire meta information by itself in case the connection with the network drive server to be described later is released. it has become

이후 단계 S200에서 작업을 위한 파일의 실행과 수정된 파일이 저장될 수 있는데, 단계 S210에서 가상 드라이브 상에서 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생될 수 있다. 파일에 대한 전체 읽기 이벤트는 파일을 열어서 파일의 전체에 대한 데이터에 액세스하는 것을 요청하는 이벤트이다.After that, in step S200, the file for the job may be executed and the modified file may be stored. In step S210, a full read event for the file included in the file list may be generated on the virtual drive. A read-all event for a file is an event that requests access to data about the file in its entirety by opening the file.

이때, 단계 S220에서 전체 읽기 이벤트에 해당되는 파일이 로컬 캐시 폴더에 존재하는지 확인될 수 있다. 만약 전체 읽기 이벤트에 해당되는 파일이 로컬 캐시 폴더에 존재하는 경우에는 해당 파일의 다운로드 없이 로컬 캐시 폴더에 저장되어 있는 파일에 프로그램이 매핑되어 작업이 수행될 수 있다.In this case, it may be checked whether a file corresponding to the entire read event exists in the local cache folder in step S220. If the file corresponding to the full read event exists in the local cache folder, the program may be mapped to the file stored in the local cache folder and the operation may be performed without downloading the file.

단계 S230에서 네트워크 드라이브 서버로 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드가 요청될 수 있다.In step S230, a download of all data for the file in which the full read event has occurred may be requested to the network drive server.

단계 S240에서 네트워크 드라이브 서버로부터 해당 파일의 전체 데이터가 다운로드될 수 있다. 다운로드된 파일은 로컬 캐시 폴더에 저장될 수 있다. 로컬 캐시 폴더는 파일 단위로 관리되는 캐시를 운영하는 저장 공간이다. 본 단계에서 파일이 로컬 캐시 폴더에 저장되고, 로컬 캐시 폴더에 저장된 파일을 요청한 프로그램에 매핑시킬 수 있다. 전체 읽기 이벤트는 가상 드라이브의 탐색기를 통해서 생성될 수 있지만, 프로그램을 통해서 생성될 수도 있는데, 프로그램을 통해서 파일의 전체 읽기 이벤트가 생성되는 경우에는 해당 프로그램으로 매핑되어 프로그램을 통해 로컬 캐시 폴더에 저장된 파일에 액세스할 수 있다.In step S240, the entire data of the file may be downloaded from the network drive server. Downloaded files may be stored in a local cache folder. The local cache folder is a storage space that operates the cache managed in units of files. In this step, the file is stored in the local cache folder, and the file stored in the local cache folder can be mapped to the requested program. The full read event can be generated through the explorer of the virtual drive, but it can also be generated through a program. can access

이후, 단계 S250에서 캐시 폴더에 저장된 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 로컬 캐시 폴더에 저장하고, 변경된 내용의 파일이 네트워크 드라이브로 업로드될 수 있다.Thereafter, after the operation on the file stored in the cache folder is completed in step S250, the changed file may be stored in the local cache folder, and the changed file may be uploaded to the network drive.

본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법은 가상 드라이브 환경에서 작업을 수행하는 경우에는 로컬 캐시 폴더에 저장된 파일을 사용함에 따라 파일 전체에 대한 작업을 수행할 때에도 속도가 지체되지 않을 수 있는 환경을 제공할 수 있다.In the method for managing a network drive using a local cache according to an embodiment of the present invention, when performing an operation in a virtual drive environment, since files stored in the local cache folder are used, the speed is not delayed even when performing an operation on all files. It can provide an environment that is not.

또한, 본 실시예에 따르면 파일 전체에 대한 작업을 수행해지 않는 경우에는 파일의 일부분만 로드하는 방식을 사용함에 따라 불필요하게 속도가 저하되는 것을 방지하여 속도의 신뢰성이 보장되는 환경을 제공할 수 있다. 이하, 도 1 및 2에서 설명했던 단계 S100을 도 3 및 도 4를 참조하여 구체적으로 설명하도록 한다.In addition, according to the present embodiment, when the operation of the entire file is not performed, it is possible to provide an environment in which the reliability of the speed is guaranteed by preventing the speed from being unnecessarily lowered by using the method of loading only a part of the file. . Hereinafter, step S100 described in FIGS. 1 and 2 will be described in detail with reference to FIGS. 3 and 4 .

도 3은 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템의 파일 리스트를 생성하는 실시예를 설명하기 위한 도면이다.3 is a diagram for explaining an embodiment of generating a file list of a network drive management system using a local cache according to an embodiment of the present invention.

도 3을 참조하면, 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템은 탐색기(2), 에이전트(100), 네트워크 드라이브 서버(200), 로컬 캐시 폴더(300) 및 로컬 데이터베이스(400)를 포함할 수 있다.Referring to FIG. 3 , the network drive management system using the local cache may include the explorer 2 , the agent 100 , the network drive server 200 , the local cache folder 300 , and the local database 400 .

탐색기(2)는 가상 드라이브 환경에서 네트워크 드라이브 서버(200)에 저장된 폴더를 탐색할 수 있는 프로그램(3)이다. 탐색기(2)에 의해 폴더가 선택되면, 폴더 선택 이벤트가 에이전트(100)로 송신되고, 에이전트(100)는 네트워크 드라이브 서버(200)로 메타 정보를 요청할 수 있다. 에이전트(100)는 네트워크 드라이브 서버(200)로부터 메타 정보를 수신할 수 있다. 에이전트(100)는 메타 정보를 이용하여 로컬 캐시 폴더(300)에 저장된 파일의 버전을 확인하고, 메타 정보를 이용하여 파일 리스트를 생성한 뒤 탐색기(2)로 파일 리스트를 콜백(callback)할 수 있다. 에이전트(100)는 메타 정보를 로컬 데이터베이스(400)에 저장할 수 있다. 이러한 실시예를 보다 구체적으로 살펴보기 위해 도 4를 참조하도록 한다.The explorer 2 is a program 3 that can search a folder stored in the network drive server 200 in a virtual drive environment. When a folder is selected by the explorer 2 , a folder selection event is transmitted to the agent 100 , and the agent 100 may request meta information from the network drive server 200 . The agent 100 may receive meta information from the network drive server 200 . The agent 100 checks the version of the file stored in the local cache folder 300 using meta information, creates a file list using the meta information, and then calls back the file list to the explorer 2 . have. The agent 100 may store meta information in the local database 400 . In order to examine this embodiment in more detail, reference is made to FIG. 4 .

도 4는 도 3의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.4 is a system flowchart for explaining an information processing process according to the embodiment of FIG. 3 .

도 4에서 단계 S101에서 에이전트(100)를 통해 클라이언트의 사용자가 로그인될 수 있다. 단계 S102에서 로그인 시점에 로컬 캐시 폴더(300)의 파일이 삭제 정책에 해당되는지 여부가 확인될 수 있다. 후술하는 바와 같이 로컬 캐시 폴더(300)의 파일은 삭제 정책에 해당되는 경우 삭제될 수 있다. 본 단계에서 로컬 캐시 폴더(300)에 저장된 파일의 저장 기간이 초과되어 삭제 정책에 해당되는 경우 삭제될 수 있다.In FIG. 4 , the user of the client may be logged in through the agent 100 in step S101. In step S102, it may be checked whether the file in the local cache folder 300 corresponds to the deletion policy at the time of login. As will be described later, a file in the local cache folder 300 may be deleted if it corresponds to a deletion policy. In this step, if the storage period of the file stored in the local cache folder 300 is exceeded and falls under the deletion policy, it may be deleted.

단계 S110에서 에이전트(100)에 의해 가상 드라이브의 폴더 선택 이벤트가 생성될 수 있고, 네트워크 드라이브 서버(200)로 메타 정보가 요청될 수 있다. 이후 단계 S120에서 네트워크 드라이브 서버(200)에 의해 네트워크 드라이브 서버(200)로부터 메타 정보가 송신될 수 있다. 단계 S121에서 로컬 캐시 폴더(300)에 저장된 파일의 버전이 확인될 수 있다.In step S110 , a folder selection event of a virtual drive may be generated by the agent 100 , and meta information may be requested from the network drive server 200 . Thereafter, meta information may be transmitted from the network drive server 200 by the network drive server 200 in step S120 . In step S121, the version of the file stored in the local cache folder 300 may be checked.

이후, 단계 S122에서 로컬 캐시 폴더(300)의 파일 버전이 메타 정보에 포함된 버전보다 낮은 경우 삭제 정책에 해당하게 되고, 삭제 정책에 해당된 파일은 로컬 캐시 폴더(300)에서 삭제될 수 있다.Thereafter, when the file version of the local cache folder 300 is lower than the version included in the meta information in step S122 , it corresponds to the deletion policy, and the file corresponding to the deletion policy may be deleted from the local cache folder 300 .

단계 S130에서 에이전트(100)에 의해 메타 정보를 이용한 파일 리스트가 생성될 수 있고, 단계 S131에서 생성된 파일 리스트가 탐색기(2)로 콜백될 수 있다. 메타 정보는 로컬 데이터베이스(400)에 저장될 수 있다. 이하, 도 1 및 2에서 설명했던 단계 S200을 도 5 및 도 6을 참조하여 구체적으로 설명하도록 한다.In step S130 , a file list using meta information may be generated by the agent 100 , and the file list generated in step S131 may be called back to the explorer 2 . Meta information may be stored in the local database 400 . Hereinafter, step S200 described in FIGS. 1 and 2 will be described in detail with reference to FIGS. 5 and 6 .

도 5는 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템의 작업을 위해 파일을 실행 및 저장하는 실시예를 설명하기 위한 도면이다.5 is a diagram for explaining an embodiment of executing and storing a file for the operation of a network drive management system using a local cache according to an embodiment of the present invention.

도 5를 참조하면, 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템은 에이전트(100)를 통해 네트워크 드라이브 서버(200)에 저장된 파일에 대한 작업이 수행될 수 있다.Referring to FIG. 5 , in the network drive management system using the local cache, an operation on a file stored in the network drive server 200 may be performed through the agent 100 .

프로그램(3)을 통해 탐색기(2)의 폴더에서 파일에 대한 전체 읽기 이벤트가 생성될 수 있다. 에이전트(100)는 해당 파일에 대한 메타 정보를 미리 수신한 상태이기 때문에, 메타 정보를 이용하여 해당 파일이 로컬 캐시 폴더(300)에 존재하는지 확인할 수 있다.A full read event for a file in the folder of the explorer 2 can be generated through the program 3 . Since the agent 100 has previously received meta information about the file, it can check whether the file exists in the local cache folder 300 using the meta information.

만약, 로컬 캐시 폴더(300)에 해당 파일이 존재하지 않는 경우 에이전트(100)는 네트워크 드라이브 서버(200)로 해당 파일에 대한 데이터의 다운로드를 요청하고, 네트워크 드라이브 서버(200)로부터 해당 파일을 다운로드할 수 있다. If the file does not exist in the local cache folder 300 , the agent 100 requests the download of data for the file to the network drive server 200 , and downloads the file from the network drive server 200 . can do.

로컬 캐시 폴더(300)에 존재하는 파일은 해당 프로그램(3)에 매핑되고, 작업이 종료된 후 로컬 캐시 폴더(300)에 변경된 내용의 파일이 저장될 수 있다.이후, 에이전트(100)는 변경된 파일을 네트워크 드라이브 서버(200)로 업로드할 수 있다. 이러한 실시예를 보다 구체적으로 살펴보기 위해 도 6를 참조하도록 한다.A file existing in the local cache folder 300 is mapped to the corresponding program 3, and after the operation is finished, a file of the changed contents may be stored in the local cache folder 300. Thereafter, the agent 100 may The file may be uploaded to the network drive server 200 . In order to examine this embodiment in more detail, reference is made to FIG. 6 .

도 6은 도 5의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이고, 도 7은 도 6의 단계 S231을 구체적으로 설명하기 위한 도면이며, 도 8은 로컬 캐시 폴더(300)에 저장될 수 있는 용량을 나타내는 도면이다.6 is a system flowchart for explaining the information processing process of the embodiment of FIG. 5 , FIG. 7 is a diagram for specifically explaining step S231 of FIG. 6 , and FIG. 8 is a local cache folder 300 that may be stored It is a diagram showing capacity.

도 6의 단계 S210에서 가상 드라이브 상에서 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되고, 단계 S220에서 이벤트에 해당되는 파일이 로컬 캐시 폴더(300)에 존재하는지 확인될 수 있다. 만약 로컬 캐시 폴더(300)에 파일이 존재하는 것으로 확인되면 단계 S241에서 파일을 프로그램(3)에 매핑시킬 수 있다.In step S210 of FIG. 6 , a full read event for a file included in the file list is generated on the virtual drive, and in step S220 , it may be checked whether a file corresponding to the event exists in the local cache folder 300 . If it is confirmed that the file exists in the local cache folder 300 , the file may be mapped to the program 3 in step S241 .

만약, 로컬 캐시 폴더(300)에 파일이 존재하지 않는 경우 단계 S220에서 네트워크 드라이브 서버(200)로 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드가 요청되고, 단계 S230에서 네트워크 드라이브 서버(200)로 파일 전체 읽기 이벤트를 전송할 수 있다. 이때, 단계 S231에서 로컬 캐시 폴더(300)의 여유 용량과 파일의 용량을 비교하여 로컬 캐시 폴더(300)의 파일이 삭제 정책에 해당되는 경우 파일이 삭제될 수 있다. 이를 구체적으로 살펴보기 위해 도 6을 참조하도록 한다.If the file does not exist in the local cache folder 300, the download of all data for the file in which the full read event has occurred is requested to the network drive server 200 in step S220, and the network drive server 200 in step S230 ) to send the entire file read event. At this time, in step S231, the file may be deleted if the file in the local cache folder 300 corresponds to the deletion policy by comparing the free capacity of the local cache folder 300 with the capacity of the file. In order to examine this in detail, reference is made to FIG. 6 .

단계 S231에서 로컬 캐시 폴더(300)의 용량과 상기 다운로드 받는 파일의 용량을 비교하여 로컬 캐시 폴더(300)의 파일이 삭제 정책에 해당되는 것으로 판단되는 경우 용량에 대한 삭제 정책에 해당되는 파일이 삭제될 수 있다.When it is determined that the file in the local cache folder 300 corresponds to the deletion policy by comparing the capacity of the local cache folder 300 with the capacity of the downloaded file in step S231, the file corresponding to the deletion policy for the capacity is deleted can be

단계 S2311에서 다운로드 받는 파일이 상기 로컬 캐시 폴더(300)의 여유 공간 용량 이하의 크기인지 확인될 수 있다. 도 8과 같이 로컬 캐쉬 폴더의 사용중인 공간과 비어 있는 공간의 크기가 계산되고, 비어 있는 공간의 크기와 다운로드 받는 파일의 크기를 비교할 수 있다. 단계 S2313에서 다운로드 받는 파일이 상기 로컬 캐시 폴더(300)의 여유 공간 용량보다 큰 경우, 로컬 캐시 폴더(300)의 최종 접근 시간과 파일의 용량을 고려하여 삭제 파일이 선정될 수 있다. 이후 단계 S2315에서 선정된 파일이 삭제될 수 있다. 본 단계를 수행함에 따라 로컬 캐시 폴더(300)는 항상 저장공간을 확보할 수 있는 장점이 있다.In step S2311, it may be checked whether the size of the downloaded file is less than or equal to the free space capacity of the local cache folder 300 . As shown in Figure 8, the size of the used space and the empty space of the local cache folder is calculated, and the size of the empty space and the size of the downloaded file can be compared. When the downloaded file in step S2313 is larger than the free space capacity of the local cache folder 300 , the deleted file may be selected in consideration of the final access time of the local cache folder 300 and the file capacity. Thereafter, the file selected in step S2315 may be deleted. By performing this step, the local cache folder 300 has the advantage of always securing a storage space.

이후, 로컬 캐시 폴더(300)의 저장 공간이 확보되면 네트워크 드라이브 서버(200)로부터 파일이 전송되고, 단계 S240에서 다운로드 받은 파일이 로컬 캐시 폴더(300)에 저장될 수 있고, 단계 S241에서 저장된 파일을 프로그램(3)에 매핑시킬 수 있다.Thereafter, when the storage space of the local cache folder 300 is secured, the file is transmitted from the network drive server 200 , the file downloaded in step S240 may be stored in the local cache folder 300 , and the file stored in step S241 . can be mapped to the program (3).

단계 S250에서 프로그램(3)의 종료 후 변경된 파일이 로컬 캐시 폴더(300)에 저장될 수 있고, 네트워크 드라이브 서버(200)로 업로드될 수 있으며, 단계 S260에서 업로드된 파일은 버저닝하여 저장될 수 있다.After the end of the program 3 in step S250, the changed file may be stored in the local cache folder 300, may be uploaded to the network drive server 200, and the file uploaded in step S260 may be versioned and stored. have.

지금까지 도 1 내지 도 8을 참조하여 가상 드라이브 환경에서 파일 리스트를 제공하고 파일을 선택하여 작업을 수행할 수 있는 로컬 캐시를 이용한 네트워크 드라이브 관리 방법에 대해 상세하게 설명하였다.So far, a method for managing a network drive using a local cache that provides a file list in a virtual drive environment and selects a file to perform an operation has been described in detail with reference to FIGS. 1 to 8 .

이하, 로컬 캐시를 이용한 네트워크 드라이브 관리 방법에서 실시될 수 있는 다양한 실시예를 도 9 내지 도 14를 참조하여 설명하도록 한다.Hereinafter, various embodiments that can be implemented in a method for managing a network drive using a local cache will be described with reference to FIGS. 9 to 14 .

도 9는 파일에 대한 일부 읽기 이벤트가 발생되는 실시예를 설명하기 위한 도면이고, 도 10은 도 9의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.9 is a diagram for explaining an embodiment in which a partial read event for a file is generated, and FIG. 10 is a system flowchart for explaining an information processing process according to the embodiment of FIG. 9 .

도 9의 탐색기(2)에서 파일에 대한 일부 읽기 이벤트가 발생되고, 에이전트(100)에서 일부 읽기 이벤트를 네트워크 드라이브 서버(200)로 요청할 수 있다. 에이전트(100)는 네트워크 드라이브 서버(200)로부터 요청한 정보를 수신할 수 있다. 에이전트(100)는 요청한 정보를 탐색기(2)에 콜백할 수 있다. 본 실시예는 로컬 캐시 폴더(300)를 이용하지 않고 요청된 정보만을 실시간으로 제공하기 때문에 빠른 속도로 정보를 제공할 수 있는 장점이 있다.Some read events for a file are generated in the explorer 2 of FIG. 9 , and the agent 100 may request some read events to the network drive server 200 . The agent 100 may receive the requested information from the network drive server 200 . The agent 100 may call back the requested information to the explorer 2 . The present embodiment has the advantage of providing information at a high speed because only requested information is provided in real time without using the local cache folder 300 .

도 10의 단계 S300에서 가상 드라이브 상에서 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생될 수 있다. 예를 들어, 본 단계에서 파일에 대한 일부 읽기 이벤트는 탐색기(2)에서 썸네일, 미리보기의 파일 정보를 일부만 요청하는 경우를 의미할 수 있다. 다른 실시예에서 파일에 대한 일부 읽기 이벤트는 사용자가 프로그램(3)으로 보안이 요구되는 파일을 여는 경우를 의미할 수 있다. 파일 리스트에 포함된 파일에 접근할 수 있는 권한에 따라 상기 파일의 권한에 해당하는 부분만 읽는 것이 가능할 수도 있다.In step S300 of FIG. 10 , a partial read event for a file included in the file list may be generated on the virtual drive. For example, a partial read event for a file in this step may mean a case in which only partial request for file information of thumbnails and previews is received from the explorer 2 . In another embodiment, some read events for a file may mean a case in which a user opens a file requiring security with the program 3 . Depending on the permission to access the file included in the file list, it may be possible to read only the part corresponding to the permission of the file.

예를 들어 파일 내의 1번 위치에서부터 3000번까지의 위치까지 내용만을 Read하는 이벤트가 생성될 수 있다.For example, an event that reads only the contents from position 1 to position 3000 in the file may be generated.

단계 S310에서 네트워크 드라이브 서버(200)로 일부 읽기 이벤트가 발생된 파일에 대한 일부 데이터의 다운로드가 요청될 수 있다. 이후 단계 S320에서 상기 네트워크 드라이브 서버(200)로부터 상기 파일에 대한 일부 데이터가 수신될 수 있다. 단계 S330에서 일부 데이터는 탐색기(2)로 응답될 수 있다.In step S310, a download of some data for a file in which a partial read event has occurred may be requested to the network drive server 200 . Afterwards, some data about the file may be received from the network drive server 200 in step S320 . In step S330 , some data may be answered by the searcher 2 .

상기와 같이, 본 실시예에서 모든 파일에 대하여 로컬 캐시 폴더(300)에 다운로드 받은 뒤 작업할 필요 없이 파일 별로 캐싱 여부의 설정이 가능할 수 있다.As described above, in this embodiment, it may be possible to set whether to cache each file without having to work after downloading it to the local cache folder 300 for all files.

도 11은 네트워크 드라이브 서버(200)와의 네트워크 접속이 해제된 상태에서의 파일 실행 및 저장하는 실시예를 설명하기 위한 도면이고, 도 12는 도 11의 실시예의 정보 처리 과정을 설명하기 위한 시스템 순서도이다.11 is a diagram for explaining an embodiment of executing and storing a file in a state in which the network connection with the network drive server 200 is released, and FIG. 12 is a system flowchart for explaining the information processing process of the embodiment of FIG. .

도 11을 참조하면, 에이전트(100)가 네트워크 드라이브 서버(200)와의 네트워크 접속이 해제될 수 있다. 네트워크 드라이브 서버(200)와의 네트워크 접속이 해제되었기 때문에 에이전트(100)는 프로그램(3)을 통한 탐색기(2)의 파일 읽기 이벤트를 네트워크 드라이브 서버(200)로 요청할 수 없다. 에이전트(100)는 로컬 데이터베이스(400)에 저장된 메타 정보를 수신할 수 있고, 메타 정보에 따라 해당 파일이 로컬 캐시 폴더(300)에 존재하는 것으로 확인되면, 해당 파일을 해당 프로그램(3)에 매핑시킬 수 있다. 이후, 프로그램(3)에서 파일의 작업이 완료되면 변경된 내용의 파일이 로컬 캐시 폴더(300)에 저장될 수 있다. 도 12를 참조하여 상기 실시예를 보다 구체적으로 설명하도록 한다.Referring to FIG. 11 , the agent 100 may release a network connection with the network drive server 200 . Because the network connection with the network drive server 200 is released, the agent 100 cannot request the file read event of the explorer 2 through the program 3 to the network drive server 200 . The agent 100 may receive meta information stored in the local database 400 , and when it is confirmed that the file exists in the local cache folder 300 according to the meta information, the agent 100 maps the file to the corresponding program 3 . can do it Thereafter, when the operation of the file in the program 3 is completed, the changed file may be stored in the local cache folder 300 . The embodiment will be described in more detail with reference to FIG. 12 .

도 12의 단계 S400에서 로컬 데이터베이스(400)로부터 에이전트(100)에 메타 정보가 송신될 수 있고, 단계 S410에서 로컬 데이터베이스(400)의 메타정보를 이용하여 파일 리스트가 생성될 수 있다. 이러한 파일 리스트는 네트워크 드라이브 서버(200)와 실시간으로 동기화되지는 않으나, 가장 최근에 네트워크 드라이브 서버(200)와 접속하면서 송수신한 메타정보를 이용하여 생성된 리스트이기 때문에 최소한의 신뢰성이 보장될 수 있다.In step S400 of FIG. 12 , meta information may be transmitted from the local database 400 to the agent 100 , and in step S410 , a file list may be generated using the meta information of the local database 400 . This file list is not synchronized with the network drive server 200 in real time, but since it is a list generated using meta information transmitted and received while connecting to the most recent network drive server 200, minimum reliability can be guaranteed. .

단계 S420에서 가상 드라이브 상에서 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생될 수 있다.In step S420, a full read event for a file included in the file list may be generated on the virtual drive.

단계 S430에서 이벤트에 해당되는 파일이 로컬 캐시 폴더(300)에 존재하는지 확인될 수 있다. 이때, 로컬 캐시 폴더(300)에 파일이 존재하는 경우에 단계 S440에서 해당 파일을 프로그램(3)에 매핑시킬 수 있다. 프로그램(3)을 통해 파일의 작업이 완료된 이후 해당 파일이 로컬 캐시 폴더(300)에 저장될 수 있다.In step S430 , it may be checked whether a file corresponding to the event exists in the local cache folder 300 . In this case, if the file exists in the local cache folder 300 , the file may be mapped to the program 3 in step S440 . After the operation of the file is completed through the program 3 , the file may be stored in the local cache folder 300 .

이후 네트워크 드라이브 서버(200)에 다시 연결되는 경우 단계 S460에서 네트워크 드라이브 서버(200)와 로컬 캐시 폴더(300)에 저장된 파일이 동기화될 수 있다.Thereafter, when the network drive server 200 is connected again, the files stored in the network drive server 200 and the local cache folder 300 may be synchronized in step S460 .

만약 단계 S430에서 이벤트에 해당되는 파일이 로컬 캐시 폴더(300)에 존재하지 않는 경우 파일 읽기 이벤트가 실패하는 것으로 처리될 수 있다.If the file corresponding to the event does not exist in the local cache folder 300 in step S430, the file read event may be processed as failure.

본 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 방법은 네트워크 드라이브 서버(200)와 연결이 해제된 경우에도 파일에 액세스 하여 작업을 수행할 수 있는 장점이 있다.The network drive management method using the local cache according to the present embodiment has the advantage of being able to access a file and perform an operation even when the connection with the network drive server 200 is disconnected.

도 13은 도 12에서 네트워크 접속이 다시 연결된 후 네트워크 드라이브 서버(200)와 동기화를 진행하는 과정을 나타내는 시스템 순서도이다.13 is a system flowchart illustrating a process of synchronizing with the network drive server 200 after the network connection is reconnected in FIG. 12 .

도 13에서 도 12의 단계 S460의 동기화가 수행될 수 있는데, 그 전에 제1 에이전트(100-1)가 네트워크 드라이브 서버(200)와 연결이 해제된 상태에서 단계 S500에서 제1 에이전트(100-1)에 의해 파일의 변경된 후 파일이 로컬 캐시 폴더(300)에 저장될 수 있다. 또한, 제1 에이전트(100-1)가 네트워크 드라이브 서버(200)와 연결이 해제된 상태에서 단계 S510과 같이 제2 에이전트(100-2)에 의해 파일이 수정된 후 서버에 저장될 수 있다.In FIG. 13, the synchronization of step S460 of FIG. 12 may be performed, before that, in a state in which the first agent 100-1 is disconnected from the network drive server 200, in step S500, the first agent 100-1 ), after the file is changed, the file may be stored in the local cache folder 300 . In addition, as in step S510 in a state in which the first agent 100-1 is disconnected from the network drive server 200, the file may be modified by the second agent 100-2 and then stored in the server.

이 경우 동일한 파일이 다른 주체에 의해 수정되기 때문에 파일의 충돌 문제가 발생될 수 있다.In this case, since the same file is modified by a different subject, a file conflict problem may occur.

단계 S520에서 오프라인 상태에서 제1 에이전트(100)에 의한 파일의 변경 사항 이력이 네트워크 드라이브 서버(200)로 전송될 수 있고, 단계 S530에서 제1 에이전트(100)가 오프라인 상태인 동안 네트워크 드라이브 서버(200)에 발생된 이벤트 리스트가 제1 에이전트(100)로 전송될 수 있다.In step S520, the history of file changes by the first agent 100 in the offline state may be transmitted to the network drive server 200, and in step S530, while the first agent 100 is offline, the network drive server ( The event list generated in 200 may be transmitted to the first agent 100 .

단계 S540에서 만약 변경 사항 이력과 이벤트 리스트가 충돌되는 것으로 판단되면, 사용자에게 어떠한 변경 사항을 적용할 것인지 파일 선택이 요청될 수 있고, 단계 S550에서 사용자에 의해 파일이 결정될 수 있다. 이후 단계 S560에서 사용자에 의해 결정된 파일이 네트워크 드라이브 서버(200)에 저장될 수 있다. 또한, 사용자에 의해 결정된 파일은 단계 S570에서 로컬 캐시 폴더(300)에 동일하게 저장될 수 있다.If it is determined in step S540 that the change history and the event list collide, the user may be requested to select a file for which changes to be applied, and the file may be determined by the user in step S550. Thereafter, the file determined by the user in step S560 may be stored in the network drive server 200 . In addition, the file determined by the user may be equally stored in the local cache folder 300 in step S570.

본 실시예에 따르면 네트워크 드라이브 서버(200)와의 연결이 해제된 상태에서 변경 작업이 이루어지고, 이후 다시 연결이 된 후 파일의 충돌 문제가 발생되더라도 변경 사항 이력과 이벤트 리스트의 비교 판단에 의해 충돌 문제가 해결될 수 있다.According to this embodiment, even if a change operation is made in a state in which the connection with the network drive server 200 is disconnected, and a file conflict problem occurs after reconnection occurs, the conflict problem is determined by comparison between the change history and the event list. can be resolved.

도 14는 메타 정보에 포함된 데이터 타입을 설명하기 위한 도면이다.14 is a diagram for describing a data type included in meta information.

메타정보는 파일 이름, 폴더 경로, 생성 시간, 수정 시간, 파일 크기, 유형, 만든이, 파일별 캐싱 여부 등을 저장할 수 있다. 파일 #1(6)은 파일 이름이 aaa이고 폴더 경로는 \a\b일 수 있다. 또한, 생성시간, 수정시간, 파일 크기와 유형 및 만든이에 대한 정보를 포함할 수 있다. 또한, 파일별 캐싱 여부 필드를 포함할 수 있는데, 이 필드는 해당 파일의 어떤 부분에 접근할 수 있는지에 대한 정보를 포함할 수 있다. 메타 정보에 따르면 파일 #1은 1~3000번의 데이터를 읽을 수 있다.Meta information may store a file name, folder path, creation time, modification time, file size, type, author, caching status for each file, and the like. File #1(6) may have a file name aaa and a folder path \a\b. It can also include information about creation time, modification time, file size and type, and creator. In addition, each file may include a caching or not field, and this field may include information about which part of the file can be accessed. According to the meta information, file #1 can read data from 1 to 3000.

파일 #2(7)는 파일 이름이 bbb이고 폴더 경로는 \root일 수 있다. 또한, 생성시간, 수정시간, 파일 크기와 유형 및 만든이에 대한 정보를 포함할 수 있다. 메타 정보에 따르면 파일 #2는 전체 데이터를 읽을 수 있다.File #2(7) may have a file name bbb and a folder path \root. It can also include information about creation time, modification time, file size and type, and creator. According to the meta information, file #2 can read the entire data.

파일 #3(8)는 파일 이름이 ccc이고 폴더 경로는 \c\d\e일 수 있다. 또한, 생성시간, 수정시간, 파일 크기와 유형 및 만든이에 대한 정보를 포함할 수 있다. 메타 정보에 따르면 파일 #3는 500~600번의 데이터를 읽을 수 있다.File #3(8) may have a file name ccc and a folder path \c\d\e. It can also include information about creation time, modification time, file size and type, and creator. According to the meta information, file #3 can read data from 500 to 600 times.

지금까지 도 1 내지 도 14를 참조하여 본 명세서에 기재된 로컬 캐시를 이용한 네트워크 드라이브 관리 방법을 설명하였다.So far, a network drive management method using the local cache described in this specification has been described with reference to FIGS. 1 to 14 .

도 15는 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.15 is an exemplary hardware configuration diagram illustrating the computing device 500 .

도 15에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 15에는 본 발명의 일 실시예에 따른과 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명의 일 실시예에 따른이 속한 기술분야의 통상의 기술자라면 도 15에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.15 , the computing device 500 loads one or more processors 510 , a bus 550 , a communication interface 570 , and a computer program 591 executed by the processor 510 . It may include a memory 530 and a storage 590 for storing the computer program (591). However, only the components related to according to an embodiment of the present invention are shown in FIG. 15 . Accordingly, a person skilled in the art according to an embodiment of the present invention can know that other general-purpose components other than the components shown in FIG. 15 may be further included.

프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 일 실시예에 따른의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.The processor 510 controls the overall operation of each component of the computing device 500 . The processor 510 is a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), or any form well known in the art according to an embodiment of the present invention. It may be configured to include at least one of the processors. In addition, the processor 510 may perform an operation on at least one application or program for executing the method/operation according to various embodiments described herein. Computing device 500 may include one or more processors.

메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.The memory 530 stores various data, commands, and/or information. Memory 530 may load one or more programs 591 from storage 590 to execute methods/operations according to various embodiments described herein. An example of the memory 530 may be a RAM, but is not limited thereto.

버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 550 provides a communication function between components of the computing device 500 . The bus 550 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 일 실시예에 따른의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 570 supports wired/wireless Internet communication of the computing device 500 . The communication interface 570 may support various communication methods other than Internet communication. To this end, the communication interface 570 may be configured to include a communication module well-known in the art according to an embodiment of the present invention.

스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명의 일 실시예에 따른이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 590 may non-temporarily store one or more computer programs 591 . The storage 590 is a non-volatile memory such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or according to an embodiment of the present invention. It may be configured to include any type of computer-readable recording medium well known in the art.

컴퓨터 프로그램(591)은 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 명세서에 기재된 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.The computer program 591 may include one or more instructions in which methods/acts according to various embodiments described herein are implemented. When the computer program 591 is loaded into the memory 530 , the processor 510 may execute the one or more instructions to perform methods/operations according to various embodiments described herein.

일 실시예에서, 상기 컴퓨터 프로그램(591)은 가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 인스트럭션(instruction), 상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 인스트럭션, 상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 인스트럭션, 상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 인스트럭션, 상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 인스트럭션, 상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 인스트럭션, 및 상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 변경된 내용의 파일을 상기 네트워크 드라이브로 업로드하는 인스트럭션을 포함할 수 있다.In one embodiment, the computer program 591 requests meta information indicating information stored in a folder corresponding to the folder selection event to a network drive server according to a folder selection event of a virtual drive (instruction) , an instruction for receiving meta information on the folder from the network drive server, an instruction for generating a file list provided to the folder of the virtual drive using meta information on the folder, included in the file list on the virtual drive An instruction for generating a full read event for a file, an instruction for requesting download of all data for a file for which the full read event has occurred to the network drive server, and a file downloaded from the network drive server to the local cache folder After the instructions for storing the file and mapping the file to the program requesting the file, and the operation on the file are completed, the file of the changed contents is stored in the local cache folder, and the file of the changed contents is uploaded to the network drive It may contain instructions.

지금까지 설명된 실시예들에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments described so far may be performed by executing a computer program implemented as computer readable code. The computer program may be transmitted from the first computing device to the second computing device through a network such as the Internet and installed in the second computing device, thereby being used in the second computing device. The first computing device and the second computing device include all of a server device, a physical server belonging to a server pool for cloud services, and a stationary computing device such as a desktop PC.

상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or a flash memory device.

이상 첨부된 도면을 참조하여 실시예들을 설명하였지만, 본 발명의 일 실시예에 따른이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 일 실시예에 따른들이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although the embodiments have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which an embodiment of the present invention pertains do not change the technical spirit or essential features of an embodiment of the present invention. It can be understood that it may be implemented in other specific forms without Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (18)

컴퓨팅 장치에 의해 수행되는 방법에 있어서,
가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 단계;
상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 단계;
상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 단계;
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 단계;
상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 단계;
상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 로컬 캐시 폴더에 저장하고, 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 단계; 및
상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 변경된 내용의 파일을 상기 네트워크 드라이브로 업로드하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
A method performed by a computing device, comprising:
requesting meta information indicating information stored in a folder corresponding to the folder selection event to a network drive server according to a folder selection event of a virtual drive;
receiving meta information about the folder from the network drive server;
generating a file list provided to the folder of the virtual drive by using meta information about the folder;
generating a full read event for a file included in the file list on the virtual drive;
requesting the download of all data for the file in which the full read event has occurred to the network drive server;
storing the file downloaded from the network drive server in a local cache folder, and mapping the file to a program requesting the file; and
After the work on the file is completed, storing a file of the changed content in the local cache folder, and uploading the file of the changed content to the network drive,
How to manage network drives using local cache.
제1항에 있어서,
폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 단계는,
상기 네트워크 드라이브 서버로부터 수신한 상기 메타 정보를 상기 네트워크 드라이브 서버와 별도로 관리하기 위한 로컬 데이터베이스에 상기 메타 정보를 저장하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
According to claim 1,
The step of generating a list of files provided in the folder of the virtual drive by using meta information about the folder includes:
Storing the meta information in a local database for managing the meta information received from the network drive server separately from the network drive server,
How to manage network drives using local cache.
제1항에 있어서,
상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일 전체의 다운로드를 요청하는 단계는,
상기 전체 읽기 이벤트에 해당되는 파일이 상기 로컬 캐시 폴더에 존재하는지 확인하는 단계; 및
상기 전체 읽기 이벤트에 해당하는 파일이 상기 로컬 캐시 폴더에 존재하지 않는 경우 상기 네트워크 드라이브 서버로 파일 전체 다운로드 요청하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
According to claim 1,
The step of requesting the download of the entire file in which the entire read event has occurred to the network drive server,
checking whether a file corresponding to the entire read event exists in the local cache folder; and
Comprising the step of requesting to download the entire file to the network drive server when the file corresponding to the all read event does not exist in the local cache folder,
How to manage network drives using local cache.
제1항에 있어서,
상기 로컬 캐시 폴더에 포함된 파일이 삭제 정책에 해당되는 경우 상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계를 더 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
According to claim 1,
When the file included in the local cache folder corresponds to the deletion policy, the method further comprising the step of deleting the file corresponding to the deletion policy from the cache folder,
How to manage network drives using local cache.
제4항에 있어서,
상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계는,
상기 가상 드라이브의 상기 폴더 선택 이벤트가 발생되면, 메타 정보를 이용하여 로컬 캐시 폴더의 파일 저장 기간이 상기 삭제 정책에 위반되는 것으로 판단되는 경우 상기 저장 기간에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
5. The method of claim 4,
The step of deleting the file corresponding to the deletion policy from the cache folder,
When the folder selection event of the virtual drive occurs, if it is determined that the file storage period of the local cache folder violates the deletion policy using meta information, deleting a file corresponding to the deletion policy for the storage period; containing,
How to manage network drives using local cache.
제4항에 있어서,
상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계는,
상기 네트워크 드라이브 서버로부터 상기 메타 정보를 수신한 이후, 상기 메타 정보를 이용하여 로컬 캐시 폴더의 파일 버전이 삭제 정책에 위반되는 것으로 판단되는 경우 상기 버전에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
5. The method of claim 4,
The step of deleting the file corresponding to the deletion policy from the cache folder,
After receiving the meta information from the network drive server, if it is determined that the file version of the local cache folder violates the deletion policy using the meta information, deleting the file corresponding to the deletion policy for the version; containing,
How to manage network drives using local cache.
제4항에 있어서,
상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계는,
상기 전체 읽기 이벤트가 발생된 파일 전체의 다운로드를 요청하는 단계 이후, 상기 로컬 캐시 폴더의 용량과 상기 다운로드 받는 파일의 용량을 비교하여 로컬 캐시 폴더의 파일이 삭제 정책에 해당되는 것으로 판단되는 경우 상기 용량에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
5. The method of claim 4,
The step of deleting the file corresponding to the deletion policy from the cache folder,
After the step of requesting the download of all files in which the read all event has occurred, the capacity of the local cache folder is compared with the capacity of the downloaded file, and when it is determined that the file in the local cache folder corresponds to the deletion policy, the capacity Deleting files that fall under the deletion policy for
How to manage network drives using local cache.
제7항에 있어서,
상기 용량에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계는,
다운로드 받는 파일이 상기 로컬 캐시 폴더의 여유 공간 용량 이하의 크기인지 확인하는 단계;
상기 다운로드 받는 파일이 상기 로컬 캐시 폴더의 여유 공간 용량보다 큰 경우, 상기 로컬 캐시 폴더의 최종 접근 시간과 파일의 용량을 고려하여 삭제 파일을 선정하는 단계; 및
상기 선정된 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
8. The method of claim 7,
The step of deleting the file corresponding to the deletion policy for the capacity,
checking whether the size of the downloaded file is less than or equal to the free space capacity of the local cache folder;
selecting a file to be deleted in consideration of the final access time of the local cache folder and the capacity of the file when the downloaded file is larger than the free space capacity of the local cache folder; and
Including the step of deleting the selected file,
How to manage network drives using local cache.
제1항에 있어서,
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생되는 단계;
상기 네트워크 드라이브 서버로 상기 일부 읽기 이벤트가 발생된 파일에 대한 일부 데이터의 다운로드를 요청하는 단계;
상기 네트워크 드라이브 서버로부터 상기 파일에 대한 일부 데이터를 수신하는 단계;
상기 파일에 대한 일부 데이터를 탐색기로 응답하는 단계를 더 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
According to claim 1,
generating a partial read event for a file included in the file list on the virtual drive;
requesting the network drive server to download some data for the file in which the partial read event has occurred;
receiving some data for the file from the network drive server;
Further comprising the step of responding to the explorer some data about the file,
How to manage network drives using local cache.
제9항에 있어서,
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생되는 단계는,
상기 가상 드라이브 상에서 상기 파일 리스트에 대한 썸네일 또는 미리보기의 이벤트가 발생되는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
10. The method of claim 9,
The step of generating some read events for files included in the file list on the virtual drive,
Including the step of generating a thumbnail or preview event for the file list on the virtual drive,
How to manage network drives using local cache.
제9항에 있어서,
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생되는 단계는,
상기 파일 리스트에 포함된 파일에 접근할 수 있는 권한에 따라 상기 파일의 권한에 해당하는 부분을 읽는 이벤트가 발생되는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
10. The method of claim 9,
The step of generating some read events for files included in the file list on the virtual drive,
Including the step of generating an event of reading a part corresponding to the permission of the file according to the permission to access the file included in the file list,
How to manage network drives using local cache.
제1항에 있어서,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제되는 단계;
로컬 데이터베이스로부터 메타 정보를 수신하는 단계;
상기 로컬 데이터베이스로부터 수신한 메타 정보를 이용하여 파일 리스트를 생성하는 단계;
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 단계;
상기 이벤트에 해당되는 파일이 로컬 캐시 폴더에 존재하는지 확인하는 단계;
상기 이벤트에 해당되는 파일이 로컬 캐시 폴더에 존재하는 경우 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 단계;
상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
According to claim 1,
releasing the network connection with the network drive server;
receiving meta information from a local database;
generating a file list using meta information received from the local database;
generating a full read event for a file included in the file list on the virtual drive;
checking whether a file corresponding to the event exists in a local cache folder;
when the file corresponding to the event exists in a local cache folder, mapping the file to a program requesting the file;
Comprising the step of storing a file of the changed contents in the local cache folder after the work on the file is completed,
How to manage network drives using local cache.
제12항에 있어서,
상기 네트워크 드라이브 서버와의 네트워크 접속이 연결되는 단계; 및
상기 로컬 캐시 폴더에 저장된 상기 작업이 완료된 후 변경된 내용의 파일이 상기 네트워크 드라이브 서버에 저장된 파일과 동기화 되는 단계를 더 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
13. The method of claim 12,
connecting a network connection to the network drive server; and
Further comprising the step of synchronizing the file of the changed contents after the operation stored in the local cache folder is completed with the file stored in the network drive server,
How to manage network drives using local cache.
제13항에 있어서,
상기 네트워크 드라이브 서버에 저장된 파일과 동기화 되는 단계는,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서 변경된 상기 로컬 캐시 폴더에 저장된 파일에 대한 변경 사항 이력을 상기 네트워크 드라이브 서버로 전송하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
14. The method of claim 13,
The step of synchronizing with the file stored in the network drive server is,
Transmitting a history of changes to a file stored in the local cache folder that is changed in a state in which the network connection with the network drive server is released to the network drive server,
How to manage network drives using local cache.
제14항에 있어서,
상기 네트워크 드라이브 서버에 저장된 파일과 동기화 되는 단계는,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서 변경된 상기 네트워크 드라이브 서버에 저장된 파일에 대한 이벤트 리스트를 상기 네트워크 드라이브 서버로 전송하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
15. The method of claim 14,
The step of synchronizing with the file stored in the network drive server is,
Transmitting an event list for files stored in the network drive server changed in a state in which the network connection with the network drive server is released to the network drive server,
How to manage network drives using local cache.
제15항에 있어서,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서 다른 사용자에 의해 변경된 파일이 상기 네트워크 드라이브 서버에 업로드 되고, 상기 네트워크 드라이브 서버로부터 상기 변경 사항 이력과 상기 이벤트 리스트의 비교를 통해 상기 파일의 변경 사항이 충돌되었는지 통지받는 단계;
상기 통지에 따라 상기 충돌된 파일에 대한 선택을 결정하는 단계; 및
상기 결정의 결과에 따라 상기 파일을 동기화 받고, 상기 동기화된 파일을 상기 로컬 캐시 폴더에 저장하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
16. The method of claim 15,
In a state in which the network connection with the network drive server is disconnected, a file changed by another user is uploaded to the network drive server, and the change of the file through comparison of the change history and the event list from the network drive server being notified if there has been a collision;
determining a selection for the conflicting file according to the notification; and
receiving the file synchronized according to the result of the determination, and storing the synchronized file in the local cache folder;
How to manage network drives using local cache.
제1항에 있어서,
상기 메타 정보는,
상기 파일의 이름, 상기 파일의 생성시간, 상기 파일의 수정시간, 상기 파일이 위치한 경로 또는 상기 파일의 데이터에 접근하는 범위 중 적어도 하나를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
According to claim 1,
The meta information is
including at least one of a name of the file, a creation time of the file, a modification time of the file, a path where the file is located, or a range for accessing data of the file,
How to manage network drives using local cache.
프로세서;
네트워크 인터페이스;
상기 프로세서에 의해 실행되어 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 인스트럭션(instruction);
상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 인스트럭션;
상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 인스트럭션;
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 인스트럭션;
상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 인스트럭션;
상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 로컬 캐시 폴더에 저장하고, 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 인스트럭션; 및
상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 변경된 내용의 파일을 상기 네트워크 드라이브로 업로드하는 인스트럭션을 포함하는,
가상 드라이브와 네임스페이스 방식이 혼합된 데이터 관리 장치.
processor;
network interface;
a memory executed by the processor to load a computer program; and
A storage for storing the computer program,
The computer program is
an instruction for requesting meta information indicating information stored in a folder corresponding to the folder selection event to a network drive server according to a folder selection event of a virtual drive;
instructions for receiving meta information about the folder from the network drive server;
an instruction for generating a file list provided to the folder of the virtual drive by using meta information about the folder;
an instruction for generating an entire read event for a file included in the file list on the virtual drive;
an instruction for requesting download of all data for the file in which the full read event has occurred to the network drive server;
an instruction for storing a file downloaded from the network drive server in a local cache folder and mapping the file to a program requesting the file; and
After the work on the file is completed, a file of the changed content is stored in the local cache folder, and the file of the changed content is uploaded to the network drive.
A data management device that mixes virtual drive and namespace approaches.
KR1020200158675A 2020-11-24 2020-11-24 Method and apparatus for managing network drive using local cache KR20220071493A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200158675A KR20220071493A (en) 2020-11-24 2020-11-24 Method and apparatus for managing network drive using local cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200158675A KR20220071493A (en) 2020-11-24 2020-11-24 Method and apparatus for managing network drive using local cache

Publications (1)

Publication Number Publication Date
KR20220071493A true KR20220071493A (en) 2022-05-31

Family

ID=81780399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200158675A KR20220071493A (en) 2020-11-24 2020-11-24 Method and apparatus for managing network drive using local cache

Country Status (1)

Country Link
KR (1) KR20220071493A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101795087B1 (en) 2009-11-16 2017-11-07 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Managing virtual hard drives as blobs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101795087B1 (en) 2009-11-16 2017-11-07 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Managing virtual hard drives as blobs

Similar Documents

Publication Publication Date Title
US10831715B2 (en) Selective downloading of shared content items in a constrained synchronization system
EP2864900B1 (en) System and method for end-to-end exposure of exported representations of native data types to third-party applications
JP6062987B2 (en) Network storage management system
US20080244738A1 (en) Access control
EP3610390B1 (en) Predictive local pre-cache for reduced latency digital content access rights determination
US9563638B2 (en) Selective downloading of shared content items in a constrained synchronization system
US11080344B2 (en) Cloud-native documents integrated with legacy tools
US8739168B2 (en) Information processing apparatus capable of setting processing priority of access, method of controlling the information processing apparatus, program, and storage medium
US20110208761A1 (en) Coordinating content from multiple data sources
US10439893B2 (en) Information sharing system
KR20220071493A (en) Method and apparatus for managing network drive using local cache
JP3709975B2 (en) Document batch management method, document batch management system, and recording medium
CN103455543A (en) Document management server, document management method, and storage medium
EP3754486B1 (en) Selectively installing applications based on manifest files
US20080270566A1 (en) System and method of hosting or publishing of content
US11625497B2 (en) File management system and non-transitory computer readable medium
US9998520B2 (en) Information processing terminal and method
CN117807039B (en) Container processing method, device, equipment, medium and program product
US11632418B2 (en) Method and apparatus for managing access to file stored in a remote location
US20040030728A1 (en) Deferred renaming of files
US8781811B1 (en) Cross-application centralized language preferences
JP7417044B2 (en) Information processing device, information processing system, information processing method and program
US8856065B2 (en) Information processing apparatus, document access method, and computer program
AU2016381309B2 (en) Selective downloading of shared content items in a constrained synchronization system
JP4492569B2 (en) File operation control device, file operation control system, file operation control method, and file operation control program

Legal Events

Date Code Title Description
A201 Request for examination