Movatterモバイル変換


[0]ホーム

URL:


KR102749285B1 - 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
KR102749285B1
KR102749285B1KR1020200158675AKR20200158675AKR102749285B1KR 102749285 B1KR102749285 B1KR 102749285B1KR 1020200158675 AKR1020200158675 AKR 1020200158675AKR 20200158675 AKR20200158675 AKR 20200158675AKR 102749285 B1KR102749285 B1KR 102749285B1
Authority
KR
South Korea
Prior art keywords
file
folder
local cache
network
network drive
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200158675A
Other languages
Korean (ko)
Other versions
KR20220071493A (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 삼성에스디에스 주식회사filedCritical삼성에스디에스 주식회사
Priority to KR1020200158675ApriorityCriticalpatent/KR102749285B1/en
Publication of KR20220071493ApublicationCriticalpatent/KR20220071493A/en
Application grantedgrantedCritical
Publication of KR102749285B1publicationCriticalpatent/KR102749285B1/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromKorean

본 발명은 로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치에 관한 것으로서, 상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 단계, 상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 단계, 상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 단계, 상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 단계, 및 상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하고, 상기 변경된 내용의 파일을 상기 네트워크 드라이브로 업로드하는 단계를 포함할 수 있다.The present invention relates to a method and device for managing a network drive using a local cache, and may include a step of receiving meta information about a folder from the network drive server, a step of generating a file list provided in a folder of the virtual drive using the meta information about the folder, a step of requesting the network drive server to download all data about a file for which a full read event has occurred, a step of storing the file downloaded from the network drive server in the local cache folder and mapping the file to a program that requested the file, and a step of storing a file with changed content in the local cache folder after a task for the file is completed and uploading the file with the changed content to the network drive.

Description

Translated fromKorean
로컬 캐시를 이용한 네트워크 드라이브 관리 방법 및 장치{METHOD AND APPARATUS FOR MANAGING NETWORK DRIVE USING LOCAL CACHE}METHOD AND APPARATUS FOR MANAGING NETWORK DRIVE USING LOCAL CACHE

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

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

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

버추어 드라이브의 경우 파일을 편집할 때 실제 파일이 서버에 있으며 편집시 요구되는 파일의 일부분들을 서버로 요청하여 작업하게 되므로 문서 작업시 끊임없이 서버로 요청을 하게 되어 속도가 매우 느려지게 되므로 성능 저하가 발생하게 된다.In the case of Virtual Drive, when editing a file, the actual file is on the server, and parts of the file required for editing are requested from the server and worked on, so when working on a document, requests are constantly made to the server, which slows down the speed significantly and causes performance degradation.

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

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

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

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

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

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.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 description below.

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

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

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

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

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

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

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

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

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

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

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

본 실시예를 보다 구체적으로 살펴보기 위해 도 2를 참조하도록 한다.To examine this embodiment in more detail, refer to Fig. 2.

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

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

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

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

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

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

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

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

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

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

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

또한, 본 실시예에 따르면 파일 전체에 대한 작업을 수행해지 않는 경우에는 파일의 일부분만 로드하는 방식을 사용함에 따라 불필요하게 속도가 저하되는 것을 방지하여 속도의 신뢰성이 보장되는 환경을 제공할 수 있다. 이하, 도 1 및 2에서 설명했던 단계 S100을 도 3 및 도 4를 참조하여 구체적으로 설명하도록 한다.In addition, according to this embodiment, when a task is not performed on the entire file, an environment in which speed reliability is guaranteed can be provided by preventing unnecessary speed degradation due to using a method of loading only a portion 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은 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템의 파일 리스트를 생성하는 실시예를 설명하기 위한 도면이다.FIG. 3 is a drawing for explaining an embodiment of generating a file list of a network drive management system using a local cache according to one embodiment of the present invention.

도 3을 참조하면, 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템은 탐색기(2), 에이전트(100), 네트워크 드라이브 서버(200), 로컬 캐시 폴더(300) 및 로컬 데이터베이스(400)를 포함할 수 있다.Referring to FIG. 3, a network drive management system using a local cache may include an explorer (2), an agent (100), a network drive server (200), a local cache folder (300), and a 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 explore a folder stored in a 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) can request meta information from the network drive server (200). The agent (100) can receive meta information from the network drive server (200). The agent (100) can check the version of a file stored in a local cache folder (300) using the meta information, create a file list using the meta information, and then call back the file list to the explorer (2). The agent (100) can store the meta information in a local database (400). To examine this embodiment in more detail, refer to FIG. 4.

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

도 4에서 단계 S101에서 에이전트(100)를 통해 클라이언트의 사용자가 로그인될 수 있다. 단계 S102에서 로그인 시점에 로컬 캐시 폴더(300)의 파일이 삭제 정책에 해당되는지 여부가 확인될 수 있다. 후술하는 바와 같이 로컬 캐시 폴더(300)의 파일은 삭제 정책에 해당되는 경우 삭제될 수 있다. 본 단계에서 로컬 캐시 폴더(300)에 저장된 파일의 저장 기간이 초과되어 삭제 정책에 해당되는 경우 삭제될 수 있다.In Fig. 4, a user of a client can log in through an agent (100) in step S101. In step S102, at the time of login, it can be checked whether a file in a local cache folder (300) corresponds to a deletion policy. As described below, a file in a local cache folder (300) can be deleted if it corresponds to a deletion policy. In this step, if the storage period of a file stored in a local cache folder (300) has exceeded and corresponds to a deletion policy, it can 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, in step S120, meta information may be transmitted from the network drive server (200) by the network drive server (200). In step S121, the version of the file stored in the local cache folder (300) may be checked.

이후, 단계 S122에서 로컬 캐시 폴더(300)의 파일 버전이 메타 정보에 포함된 버전보다 낮은 경우 삭제 정책에 해당하게 되고, 삭제 정책에 해당된 파일은 로컬 캐시 폴더(300)에서 삭제될 수 있다.Thereafter, in step S122, if the file version of the local cache folder (300) is lower than the version included in the meta information, the deletion policy is met, and the file that meets the deletion policy can 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 can be generated by the agent (100), and the file list generated in step S131 can be called back to the explorer (2). The meta information can be stored in a 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는 본 발명의 일 실시예에 따른 로컬 캐시를 이용한 네트워크 드라이브 관리 시스템의 작업을 위해 파일을 실행 및 저장하는 실시예를 설명하기 위한 도면이다.FIG. 5 is a drawing 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 one embodiment of the present invention.

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

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

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

로컬 캐시 폴더(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 task is completed, a file with changed contents can be stored in the local cache folder (300). Thereafter, the agent (100) can upload the changed file to the network drive server (200). To examine this embodiment in more detail, refer to FIG. 6.

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

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

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

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

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

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

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

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

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

도 9의 탐색기(2)에서 파일에 대한 일부 읽기 이벤트가 발생되고, 에이전트(100)에서 일부 읽기 이벤트를 네트워크 드라이브 서버(200)로 요청할 수 있다. 에이전트(100)는 네트워크 드라이브 서버(200)로부터 요청한 정보를 수신할 수 있다. 에이전트(100)는 요청한 정보를 탐색기(2)에 콜백할 수 있다. 본 실시예는 로컬 캐시 폴더(300)를 이용하지 않고 요청된 정보만을 실시간으로 제공하기 때문에 빠른 속도로 정보를 제공할 수 있는 장점이 있다.In the explorer (2) of Fig. 9, some read events for files occur, 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). Since this embodiment provides only the requested information in real time without using a local cache folder (300), it has the advantage of being able to provide information at a high speed.

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

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

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

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

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

도 11을 참조하면, 에이전트(100)가 네트워크 드라이브 서버(200)와의 네트워크 접속이 해제될 수 있다. 네트워크 드라이브 서버(200)와의 네트워크 접속이 해제되었기 때문에 에이전트(100)는 프로그램(3)을 통한 탐색기(2)의 파일 읽기 이벤트를 네트워크 드라이브 서버(200)로 요청할 수 없다. 에이전트(100)는 로컬 데이터베이스(400)에 저장된 메타 정보를 수신할 수 있고, 메타 정보에 따라 해당 파일이 로컬 캐시 폴더(300)에 존재하는 것으로 확인되면, 해당 파일을 해당 프로그램(3)에 매핑시킬 수 있다. 이후, 프로그램(3)에서 파일의 작업이 완료되면 변경된 내용의 파일이 로컬 캐시 폴더(300)에 저장될 수 있다. 도 12를 참조하여 상기 실시예를 보다 구체적으로 설명하도록 한다.Referring to FIG. 11, the agent (100) may be disconnected from the network drive server (200). Since the network connection with the network drive server (200) has been disconnected, the agent (100) cannot request a 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 if it is confirmed that the corresponding file exists in the local cache folder (300) according to the meta information, the corresponding file may be mapped to the corresponding program (3). Thereafter, when the file work is completed in the program (3), the file with the changed content may be stored in the local cache folder (300). The above 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 can be transmitted from the local database (400) to the agent (100), and in step S410, a file list can be generated using the meta information of the local database (400). This file list is not synchronized in real time with the network drive server (200), but since it is a list generated using the meta information transmitted and received while connecting to the network drive server (200) most recently, a minimum level of reliability can be guaranteed.

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

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

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

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

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

도 13은 도 12에서 네트워크 접속이 다시 연결된 후 네트워크 드라이브 서버(200)와 동기화를 진행하는 과정을 나타내는 시스템 순서도이다.Figure 13 is a system flowchart showing the process of performing synchronization with a network drive server (200) after the network connection is reconnected in Figure 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, and before that, in a state where the first agent (100-1) is disconnected from the network drive server (200), the file may be stored in the local cache folder (300) after being changed by the first agent (100-1) in step S500. In addition, in a state where the first agent (100-1) is disconnected from the network drive server (200), the file may be stored in the server after being modified by the second agent (100-2) as in step S510.

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

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

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

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

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

메타정보는 파일 이름, 폴더 경로, 생성 시간, 수정 시간, 파일 크기, 유형, 만든이, 파일별 캐싱 여부 등을 저장할 수 있다. 파일 #1(6)은 파일 이름이 aaa이고 폴더 경로는 \a\b일 수 있다. 또한, 생성시간, 수정시간, 파일 크기와 유형 및 만든이에 대한 정보를 포함할 수 있다. 또한, 파일별 캐싱 여부 필드를 포함할 수 있는데, 이 필드는 해당 파일의 어떤 부분에 접근할 수 있는지에 대한 정보를 포함할 수 있다. 메타 정보에 따르면 파일 #1은 1~3000번의 데이터를 읽을 수 있다.Meta information can store file name, folder path, creation time, modification time, file size, type, creator, whether to cache per file, etc. File #1 (6) can have file name aaa and folder path \a\b. In addition, it can include information about creation time, modification time, file size and type, and creator. In addition, it can include a field for whether to cache per file, which can 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 of bbb and a folder path of \root. It may also contain information about the creation time, modification time, file size and type, and creator. According to the meta information,file #2 can read all data.

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

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

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

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

프로세서(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) may be configured to include at least one of a CPU (Central Processing Unit), an MPU (Micro Processor Unit), an MCU (Micro Controller Unit), a GPU (Graphics Processing Unit), or any other type of processor well known in the art according to an embodiment of the present invention. In addition, the processor (510) may perform operations for at least one application or program for executing the method/operation according to various embodiments described herein. The 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. The memory (530) can load one or more programs (591) from the storage (590) to execute methods/operations according to various embodiments described in this specification. An example of the memory (530) may be 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 and wireless Internet communication of the computing device (500). The communication interface (570) may also 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 technical field according to one embodiment of the present invention.

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

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

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

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

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

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

Claims (18)

Translated fromKorean
컴퓨팅 장치에 의해 수행되는 방법에 있어서,
가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 단계;
상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 단계;
상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 단계;
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 단계;
상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 단계;
상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 로컬 캐시 폴더에 저장하고, 상기 파일에 대한 작업이 진행되는 단계;
상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하는 단계;
상기 변경된 내용의 파일에 대한 전체 읽기 이벤트가 추가적으로 발생되는 단계; 및
상기 로컬 캐시 폴더에 저장된 상기 변경된 내용의 파일을 상기 변경된 내용의 파일을 요청한 프로그램에 매핑하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In a method performed by a computing device,
A step of requesting meta information pointing to information stored in a folder corresponding to the folder selection event from a network drive server according to a folder selection event of a virtual drive;
A step of receiving meta information about the folder from the network drive server;
A step of generating a list of files provided in a folder of the virtual drive using meta information about the folder;
A step in which a full read event is generated for files included in the file list on the virtual drive;
A step of requesting a download of the entire data for the file for which the entire read event occurred to the above network drive server;
A step of saving a file downloaded from the above network drive server to a local cache folder and performing work on the file;
A step of saving the changed contents of the file to the local cache folder after the work on the above file is completed;
A step in which a full read event is additionally generated for the file with the above changed contents; and
Comprising a step of mapping the file of the changed content stored in the local cache folder to the program that requested the file of the changed content.
How to manage network drives using local cache.
제1항에 있어서,
폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 단계는,
상기 네트워크 드라이브 서버로부터 수신한 상기 메타 정보를 상기 네트워크 드라이브 서버와 별도로 관리하기 위한 로컬 데이터베이스에 상기 메타 정보를 저장하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In the first paragraph,
The step of generating a list of files provided in a folder of the virtual drive using meta information about the folder is as follows:
A step of storing the meta information received from the network drive server in a local database for managing the meta information separately from the network drive server,
How to manage network drives using local cache.
제1항에 있어서,
상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일 전체의 다운로드를 요청하는 단계는,
상기 전체 읽기 이벤트에 해당되는 파일이 상기 로컬 캐시 폴더에 존재하는지 확인하는 단계; 및
상기 전체 읽기 이벤트에 해당하는 파일이 상기 로컬 캐시 폴더에 존재하지 않는 경우 상기 네트워크 드라이브 서버로 파일 전체 다운로드 요청하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In the first paragraph,
The step of requesting a download of the entire file for which the above full read event occurred to the above network drive server is:
A step of checking whether a file corresponding to the above full read event exists in the local cache folder; and
Including a step of requesting a full download of a file to the network drive server if the file corresponding to the full read event does not exist in the local cache folder.
How to manage network drives using local cache.
제1항에 있어서,
상기 로컬 캐시 폴더에 포함된 파일이 삭제 정책에 해당되는 경우 상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계를 더 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In the first paragraph,
If a file included in the local cache folder corresponds to a deletion policy, the step of deleting the file corresponding to the deletion policy from the cache folder is further included.
How to manage network drives using local cache.
제4항에 있어서,
상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계는,
상기 가상 드라이브의 상기 폴더 선택 이벤트가 발생되면, 메타 정보를 이용하여 로컬 캐시 폴더의 파일 저장 기간이 상기 삭제 정책에 해당되는 것으로 판단되는 경우 상기 저장 기간에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In paragraph 4,
The steps for deleting files corresponding to the above deletion policy from the above cache folder are:
When the folder selection event of the virtual drive occurs, a step of deleting a file corresponding to the deletion policy for the storage period if it is determined that the file storage period of the local cache folder corresponds to the deletion policy using meta information is included.
How to manage network drives using local cache.
제4항에 있어서,
상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계는,
상기 네트워크 드라이브 서버로부터 상기 메타 정보를 수신한 이후, 상기 메타 정보를 이용하여 로컬 캐시 폴더의 파일 버전이 삭제 정책에 해당되는 것으로 판단되는 경우 상기 버전에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In paragraph 4,
The steps for deleting files corresponding to the above deletion policy from the above cache folder are:
After receiving the meta information from the network drive server, if it is determined that the file version of the local cache folder corresponds to the deletion policy using the meta information, a step of deleting the file corresponding to the deletion policy for the version is included.
How to manage network drives using local cache.
제4항에 있어서,
상기 삭제 정책에 해당된 파일을 상기 캐시 폴더에서 삭제하는 단계는,
상기 전체 읽기 이벤트가 발생된 파일 전체의 다운로드를 요청하는 단계 이후, 상기 로컬 캐시 폴더의 용량과 상기 다운로드 받는 파일의 용량을 비교하여 로컬 캐시 폴더의 파일이 삭제 정책에 해당되는 것으로 판단되는 경우 상기 용량에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In paragraph 4,
The steps for deleting files corresponding to the above deletion policy from the above cache folder are:
After the step of requesting download of the entire file for which the above full read event occurred, a step of comparing the capacity of the local cache folder with the capacity of the file being downloaded and deleting the file corresponding to the deletion policy for the capacity if it is determined that the file in the local cache folder corresponds to the deletion policy.
How to manage network drives using local cache.
제7항에 있어서,
상기 용량에 대한 삭제 정책에 해당되는 파일을 삭제하는 단계는,
다운로드 받는 파일이 상기 로컬 캐시 폴더의 여유 공간 용량 이하의 크기인지 확인하는 단계;
상기 다운로드 받는 파일이 상기 로컬 캐시 폴더의 여유 공간 용량보다 큰 경우, 상기 로컬 캐시 폴더의 최종 접근 시간과 파일의 용량을 고려하여 삭제 파일을 선정하는 단계; 및
상기 선정된 파일을 삭제하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 7,
The steps for deleting files that correspond to the deletion policy for the above capacity are:
A step for checking whether the file being downloaded is smaller than the free space capacity of the local cache folder;
If the downloaded file is larger than the free space capacity of the local cache folder, a step of selecting a file to delete by considering the final access time of the local cache folder and the file capacity; and
Comprising the step of deleting the above selected file,
How to manage network drives using local cache.
제1항에 있어서,
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생되는 단계;
상기 네트워크 드라이브 서버로 상기 일부 읽기 이벤트가 발생된 파일에 대한 일부 데이터의 다운로드를 요청하는 단계;
상기 네트워크 드라이브 서버로부터 상기 파일에 대한 일부 데이터를 수신하는 단계;
상기 파일에 대한 일부 데이터를 탐색기로 응답하는 단계를 더 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In the first paragraph,
A step in which some read events are generated for files included in the file list on the virtual drive;
A step of requesting a download of some data for a file in which some read events occurred to the above network drive server;
A step of receiving some data about the file from the network drive server;
Further comprising the step of responding to the explorer with some data about the above file;
How to manage network drives using local cache.
제9항에 있어서,
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생되는 단계는,
상기 가상 드라이브 상에서 상기 파일 리스트에 대한 썸네일 또는 미리보기의 이벤트가 발생되는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 9,
The step where some read events occur for files included in the file list on the above virtual drive is:
Including a step of generating an event of a thumbnail or preview for the file list on the virtual drive;
How to manage network drives using local cache.
제9항에 있어서,
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 일부 읽기 이벤트가 발생되는 단계는,
상기 파일 리스트에 포함된 파일에 접근할 수 있는 권한에 따라 상기 파일의 권한에 해당하는 부분을 읽는 이벤트가 발생되는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 9,
The step where some read events occur for files included in the file list on the above virtual drive is:
Including a step of generating an event for reading a part corresponding to the permission of the file according to the permission to access the file included in the above file list.
How to manage network drives using local cache.
제1항에 있어서,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제되는 단계;
로컬 데이터베이스로부터 메타 정보를 수신하는 단계;
상기 로컬 데이터베이스로부터 수신한 메타 정보를 이용하여 파일 리스트를 생성하는 단계;
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 단계;
상기 이벤트에 해당되는 파일이 로컬 캐시 폴더에 존재하는지 확인하는 단계;
상기 이벤트에 해당되는 파일이 로컬 캐시 폴더에 존재하는 경우 상기 파일을 요청한 프로그램에 상기 파일을 매핑하는 단계;
상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In the first paragraph,
A step of disconnecting the network connection with the above network drive server;
Step of receiving meta information from a local database;
A step of generating a file list using meta information received from the local database;
A step in which a full read event is generated for files included in the file list on the virtual drive;
Step of checking whether the file corresponding to the above event exists in the local cache folder;
A step of mapping the file corresponding to the above event to the program that requested the file if the file exists in the local cache folder;
Including the step of saving the file with the changed contents to the local cache folder after the work on the said file is completed.
How to manage network drives using local cache.
제12항에 있어서,
상기 네트워크 드라이브 서버와의 네트워크 접속이 연결되는 단계; 및
상기 로컬 캐시 폴더에 저장된 상기 작업이 완료된 후 변경된 내용의 파일이 상기 네트워크 드라이브 서버에 저장된 파일과 동기화 되는 단계를 더 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 12,
A step of connecting a network connection to the above network drive server; and
Further comprising a step of synchronizing the changed contents of the file stored in the local cache folder with the file stored in the network drive server after the work is completed.
How to manage network drives using local cache.
제13항에 있어서,
상기 네트워크 드라이브 서버에 저장된 파일과 동기화 되는 단계는,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서 변경된 상기 로컬 캐시 폴더에 저장된 파일에 대한 변경 사항 이력을 상기 네트워크 드라이브 서버로 전송하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 13,
The steps to synchronize with files stored on the above network drive server are:
Including a step of transmitting the change history for the file stored in the local cache folder that has been changed to the network drive server while the network connection with the network drive server is disconnected.
How to manage network drives using local cache.
제14항에 있어서,
상기 네트워크 드라이브 서버에 저장된 파일과 동기화 되는 단계는,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서 변경된 상기 네트워크 드라이브 서버에 저장된 파일에 대한 이벤트 리스트를 상기 네트워크 드라이브 서버로 전송하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 14,
The steps to synchronize with files stored on the above network drive server are:
Including a step of transmitting an event list for files stored in the network drive server that have been changed while the network connection with the network drive server is disconnected to the network drive server.
How to manage network drives using local cache.
제15항에 있어서,
상기 네트워크 드라이브 서버와의 네트워크 접속이 해제된 상태에서 다른 사용자에 의해 변경된 파일이 상기 네트워크 드라이브 서버에 업로드 되고, 상기 네트워크 드라이브 서버로부터 상기 변경 사항 이력과 상기 이벤트 리스트의 비교를 통해 상기 파일의 변경 사항이 충돌되었는지 판단하는 단계;
상기 파일의 변경 사항이 충돌된 것으로 판단된 경우, 사용자에 의해 상기 충돌된 파일에 대한 선택을 결정하는 단계; 및
상기 결정의 결과에 따라 상기 파일을 동기화 받고, 상기 동기화된 파일을 상기 로컬 캐시 폴더에 저장하는 단계를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In Article 15,
A step of determining whether the changes to the file conflicted by comparing the change history from the network drive server and the event list, wherein a file changed by another user is uploaded to the network drive server while the network connection with the network drive server is disconnected;
If the changes in the above file are determined to be in conflict, a step for the user to determine a selection for the conflicted file; and
Comprising the step of synchronizing the file according to the result of the above decision and storing the synchronized file in the local cache folder.
How to manage network drives using local cache.
제1항에 있어서,
상기 메타 정보는,
상기 파일의 이름, 상기 파일의 생성시간, 상기 파일의 수정시간, 상기 파일이 위치한 경로 또는 상기 파일의 데이터에 접근하는 범위 중 적어도 하나를 포함하는,
로컬 캐시를 이용한 네트워크 드라이브 관리 방법.
In the first paragraph,
The above meta information is,
Including at least one of the name of the file, the creation time of the file, the modification time of the file, the path where the file is located, or the range of access to the data of the file.
How to manage network drives using local cache.
프로세서;
네트워크 인터페이스;
상기 프로세서에 의해 실행되어 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
가상 드라이브(Virtual Drive)의 폴더 선택 이벤트에 따라 네트워크 드라이브 서버로 상기 폴더 선택 이벤트에 해당하는 폴더에 저장된 정보를 가리키는 메타 정보를 요청하는 인스트럭션(instruction);
상기 네트워크 드라이브 서버로부터 상기 폴더에 대한 메타 정보를 수신하는 인스트럭션;
상기 폴더에 대한 메타 정보를 이용하여 상기 가상 드라이브의 폴더에 제공되는 파일 리스트를 생성하는 인스트럭션;
상기 가상 드라이브 상에서 상기 파일 리스트에 포함된 파일에 대한 전체 읽기 이벤트가 발생되는 인스트럭션;
상기 네트워크 드라이브 서버로 상기 전체 읽기 이벤트가 발생된 파일에 대한 전체 데이터의 다운로드를 요청하는 인스트럭션;
상기 네트워크 드라이브 서버로부터 다운로드 받은 파일을 로컬 캐시 폴더에 저장하고, 상기 파일에 대한 작업이 진행되는 인스트럭션;
상기 파일에 대한 작업이 완료된 후 변경된 내용의 파일을 상기 로컬 캐시 폴더에 저장하는 인스트럭션;
상기 변경된 내용의 파일에 대한 전체 읽기 이벤트가 추가적으로 발생되는 인스트럭션; 및
상기 로컬 캐시 폴더에 저장된 상기 변경된 내용의 파일을 상기 변경된 내용의 파일을 요청한 프로그램에 매핑하는 인스트럭션을 포함하는,
가상 드라이브와 네임스페이스 방식이 혼합된 데이터 관리 장치.
processor;
network interface;
A memory that loads a computer program and is executed by said processor; and
Including storage for storing the above computer program,
The above computer program,
An instruction for requesting meta information pointing to information stored in a folder corresponding to the folder selection event of a virtual drive from a network drive server;
An instruction for receiving meta information about the folder from the network drive server;
An instruction for generating a list of files to be provided in a folder of said virtual drive using meta information about said folder;
An instruction that causes a full read event to occur for files included in the file list on the virtual drive;
An instruction requesting a download of the entire data for the file for which the full read event occurred to the above network drive server;
An instruction to save a file downloaded from the above network drive server to a local cache folder and perform work on the file;
An instruction to save the changed contents of the file to the local cache folder after the work on the above file is completed;
An instruction that additionally generates a full read event for the file with the changed contents; and
Including an instruction for mapping the file of the changed content stored in the local cache folder to the program that requested the file of the changed content.
A data management device that combines virtual drive and namespace approaches.
KR1020200158675A2020-11-242020-11-24Method and apparatus for managing network drive using local cacheActiveKR102749285B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1020200158675AKR102749285B1 (en)2020-11-242020-11-24Method and apparatus for managing network drive using local cache

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020200158675AKR102749285B1 (en)2020-11-242020-11-24Method and apparatus for managing network drive using local cache

Publications (2)

Publication NumberPublication Date
KR20220071493A KR20220071493A (en)2022-05-31
KR102749285B1true KR102749285B1 (en)2024-12-31

Family

ID=81780399

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020200158675AActiveKR102749285B1 (en)2020-11-242020-11-24Method and apparatus for managing network drive using local cache

Country Status (1)

CountryLink
KR (1)KR102749285B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050060316A1 (en)*1999-03-252005-03-17Microsoft CorporationExtended file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR101626117B1 (en)*2009-06-222016-05-31삼성전자주식회사Client, brokerage sever and method for providing cloud storage
US8516137B2 (en)2009-11-162013-08-20Microsoft CorporationManaging virtual hard drives as blobs
KR101587631B1 (en)*2011-09-062016-01-25한국전자통신연구원Local apparatus based on cloud and method for reading and storing file
KR101402115B1 (en)*2011-11-112014-06-02(주)나무소프트File syncronization method for multi user and multi terminal
KR101961547B1 (en)*2017-04-282019-07-05주식회사 엘지유플러스Apparatus for processing virtual file system and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20050060316A1 (en)*1999-03-252005-03-17Microsoft CorporationExtended file system

Also Published As

Publication numberPublication date
KR20220071493A (en)2022-05-31

Similar Documents

PublicationPublication DateTitle
US10831715B2 (en)Selective downloading of shared content items in a constrained synchronization system
US9239762B1 (en)Method and apparatus for virtualizing file system placeholders at a computer
EP3494473B1 (en)Symbolic link based placeholders
US8630978B2 (en)Method of bi-directional synchronization of user data
US9442997B2 (en)Idle state triggered constrained synchronization of shared content items
US9396216B2 (en)Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US10599671B2 (en)Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US9563638B2 (en)Selective downloading of shared content items in a constrained synchronization system
AU2017204647B2 (en)Storage constrained synchronization of shared content items
WO2019047976A1 (en)Network file management method, terminal and computer readable storage medium
US11080344B2 (en)Cloud-native documents integrated with legacy tools
KR20150039524A (en)Cloud system, method for controlling thereof, management server and method for controlling thereof
EP2107479A1 (en)File system and method for controlling file system
US20180013827A1 (en)File server apparatus
US9460179B1 (en)Systems and methods for providing adaptive visualization of synchronization of multiple files
US20110208761A1 (en)Coordinating content from multiple data sources
US20090327303A1 (en)Intelligent allocation of file server resources
US10108631B2 (en)System and method of removing unused regions of a data file
KR102749285B1 (en)Method and apparatus for managing network drive using local cache
EP3754486B1 (en)Selectively installing applications based on manifest files
CN116775591B (en)Cloud NAS synchronization system for different versions
JP7417044B2 (en) Information processing device, information processing system, information processing method and program
AU2016381309B2 (en)Selective downloading of shared content items in a constrained synchronization system
US8407266B1 (en)Method and system for automatically saving a document to multiple file formats
US20120124020A1 (en)Document management apparatus and document management method

Legal Events

DateCodeTitleDescription
PA0109Patent application

Patent event code:PA01091R01D

Comment text:Patent Application

Patent event date:20201124

PG1501Laying open of application
A201Request for examination
PA0201Request for examination

Patent event code:PA02012R01D

Patent event date:20230309

Comment text:Request for Examination of Application

Patent event code:PA02011R01I

Patent event date:20201124

Comment text:Patent Application

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

Comment text:Notification of reason for refusal

Patent event date:20240718

Patent event code:PE09021S01D

E701Decision to grant or registration of patent right
PE0701Decision of registration

Patent event code:PE07011S01D

Comment text:Decision to Grant Registration

Patent event date:20241219

GRNTWritten decision to grant
PR0701Registration of establishment

Comment text:Registration of Establishment

Patent event date:20241227

Patent event code:PR07011E01D

PR1002Payment of registration fee

Payment date:20241227

End annual number:3

Start annual number:1

PG1601Publication of registration

[8]ページ先頭

©2009-2025 Movatter.jp