KR20180073003A - Apparatus and method for syncronizing of object - Google Patents
Apparatus and method for syncronizing of object Download PDFInfo
- Publication number
- KR20180073003A KR20180073003A KR1020160176378A KR20160176378A KR20180073003A KR 20180073003 A KR20180073003 A KR 20180073003A KR 1020160176378 A KR1020160176378 A KR 1020160176378A KR 20160176378 A KR20160176378 A KR 20160176378A KR 20180073003 A KR20180073003 A KR 20180073003A
- Authority
- KR
- South Korea
- Prior art keywords
- event
- account
- synchronization
- determining
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000001360 synchronised effect Effects 0.000 claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 238000007726 management method Methods 0.000 claims description 59
- 238000012986 modification Methods 0.000 claims description 23
- 230000004048 modification Effects 0.000 claims description 23
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 230000033001 locomotion Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H04L67/322—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
본 발명은 서버 내 파일 등의 오브젝트의 동기화 관리 장치 및 방법에 관한 것이다. 보다 구체적으로, 본 발명은 운영 서버 내 오브젝트를 예비 서버에 동기화시키는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for managing synchronization of objects such as files in a server. More particularly, the present invention relates to an apparatus and method for synchronizing objects in an operating server to a spare server.
네트워크 기반의 서비스는 보다 안정된 서비스를 보장하기 위해 운용(Active) 서버와 예비(Standby) 서버를 기반으로 제공된다. 운영 서버의 데이터를 예비 서버에 실시간으로 동기화하거나 시간 계획에 따라 운영 서버 시스템의 데이터를 예비 서버에 백업하는 방법으로 운영 서버에 장애 발생시 예비 서버로 전환하여 지속적인 서비스를 제공하게 된다. Network-based services are provided based on an active server and a standby server to ensure more stable service. It synchronizes the data of the production server to the backup server in real time or backs up data of the production server system to the backup server according to the time schedule.
파일의 실시간 동기화는 통상적으로 운영 서버의 부하를 줄이고 속도를 높이기 위해 운영 서버의 운용체제의 커널 계층에서 파일 시스템 또는 파일 IO(input/output)을 감시하고, 운영 서버 내 파일 시스템이 변경된 경우 백업 에이전트 또는 동기화 애플리케이션(예, Rsync)를 통해 변경이 발생된 파일을 예비 서버에 전송하여 실시간 동기화하거나 백업하게 된다. Real-time synchronization of files typically monitors the file system or file IO (input / output) in the kernel layer of the operating system's operating system to speed up and reduce the load on the production server. When the file system in the production server changes, Or a file generated by a synchronization application (for example, Rsync) to the backup server to synchronize or backup in real time.
이러한 방법을 사용하는 실시간 동기화 또는 백업 시스템에서는 감시 대상 디렉터리 내에서 생성, 변경, 삭제되는 파일이 원격지에 있는 예비 서버에 그대로 복사된다. 따라서, 악의적인 의도를 가진 침입자나 해커가 운영 서버 내 파일을 오염시키거나 삭제하게 되면, 그에 따라 운영 서버 내의 파일들이 그대로 원격지의 예비 서버에 반영되게 된다. 이러한 상황에서 운영 서버에 장애가 발생하게 되면 예비 서버로 절체되거나 예비 서버에 백업되어 있는 데이터를 통해 운영 서버 복구를 시도하게 되지만 악의적 행위에 의한 데이터 손실 또는 데이터 오염으로 인해 서비스가 불가하게 될 수 있다.In a real-time synchronization or backup system using this method, files created, changed, and deleted in the monitored directory are copied to the spare server at the remote site. Thus, if a malicious intruder or hacker contaminates or deletes a file in the production server, the files in the production server are reflected on the backup server at the remote location. In this situation, if the operational server fails, it tries to recover the operational server through data that is transferred to the backup server or backed up to the backup server, but the service may be disabled due to data loss or data contamination due to malicious action.
본 발명의 일 실시예에 따른 오브젝트에 대한 동기화 관리 장치 및 방법은 운영 서버 내 오브젝트의 변경 사항을 안정적으로 예비 서버에 동기화시키는 것을 목적으로 한다.An apparatus and method for managing synchronization of objects according to an embodiment of the present invention aims to stably synchronize changes of objects in an operation server to a standby server.
또한, 본 발명의 일 실시예에 따른 오브젝트에 대한 동기화 관리 장치 및 방법은 해커 등에 의해 악의적으로 변경된 오브젝트가 예비 서버에 동기화되는 것을 방지하는 것을 목적으로 한다.In addition, an apparatus and method for managing synchronization of an object according to an embodiment of the present invention aims to prevent an object that has been maliciously changed by a hacker or the like from being synchronized with a spare server.
또한, 본 발명의 일 실시예에 따른 오브젝트에 대한 동기화 관리 장치 및 방법은 해커 등에 의해 악의적으로 변경된 오브젝트에 의해 운영 서버가 복구되는 것을 방지하는 것을 목적으로 한다.In addition, an apparatus and method for managing synchronization of an object according to an embodiment of the present invention is intended to prevent an operation server from being restored by a maliciously changed object by a hacker or the like.
본 발명의 일 실시예에 따른 동기화 관리 방법은,A synchronization management method according to an embodiment of the present invention includes:
운영 서버 내 오브젝트에 대한 이벤트 발생을 모니터링하는 단계; 상기 이벤트가 발생한 오브젝트의 정보, 및 상기 이벤트를 수행한 계정 정보를 획득하는 단계; 상기 획득한 계정 정보에 기초하여, 상기 이벤트가 발생한 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정하는 단계; 및 상기 결정 결과에 따라 상기 이벤트가 발생한 오브젝트를 예비 서버에 동기화시키는 단계를 포함할 수 있다.Monitoring an occurrence of an event for an object in the operations server; Acquiring information of the object where the event occurred and account information that performed the event; Determining whether the object in which the event occurs is synchronized quickly or not, based on the acquired account information; And synchronizing the object with the event to the backup server according to the determination result.
상기 동기화시키는 단계는, 상기 이벤트가 발생한 오브젝트가 상기 신속 동기화 대상으로 결정된 경우, 실시간으로 또는 기 설정된 예약 시점에 상기 이벤트가 발생된 오브젝트를 상기 예비 서버에 동기화시키는 단계를 포함할 수 있다.The synchronizing may include synchronizing the object in which the event is generated in real time or at a predetermined reservation point to the standby server when the object in which the event occurred is determined as the quick synchronization target.
상기 동기화시키는 단계는, 상기 이벤트가 발생한 오브젝트가 상기 지연 동기화 대상으로 결정된 경우, 상기 이벤트가 발생한 시점으로부터 일정 시간 경과 후, 또는 상기 기 설정된 예약 시점으로부터 일정 시간 경과 후 상기 이벤트가 발생한 오브젝트를 상기 예비 서버에 동기화시키는 단계를 포함할 수 있다.The synchronizing step may include synchronizing the object in which the event has occurred after a predetermined time elapses from the time when the event occurs or a predetermined time elapsed from the predetermined reservation time, And synchronizing to the server.
상기 동기화 관리 방법은, 상기 운영 서버에 등록된 복수의 계정에 대한 우선 순위를 설정하는 단계를 더 포함하고, 상기 결정하는 단계는, 상기 이벤트를 수행한 계정의 우선 순위가 소정 순위 이상인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함할 수 있다.Wherein the synchronization management method further comprises setting a priority for a plurality of accounts registered in the operation server, and the determining step may include: when the priority of the account performing the event is higher than a predetermined rank, And determining the object in which the event occurred as the fast synchronization target.
상기 우선 순위를 설정하는 단계는, 상기 운영 서버에 등록된 각 계정의 로그인 횟수를 고려하여 상기 우선 순위를 설정하는 단계를 포함할 수 있다.The setting of the priority may include setting the priority in consideration of the number of logins of each account registered in the operation server.
상기 결정하는 단계는, 상기 이벤트를 수행한 계정이 상기 이벤트가 발생된 오브젝트의 소유자 계정인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함할 수 있다.The determining may include determining an object in which the event occurs as the fast synchronization target when the account performing the event is an owner account of the object on which the event is generated.
상기 이벤트를 수행한 계정 정보를 획득하는 단계는, 상기 획득한 계정 정보의 권한을 확인하는 단계를 포함하고, 상기 결정하는 단계는, 상기 확인된 권한 및 상기 오브젝트의 정보를 고려하여, 상기 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring the account information that has performed the event includes a step of confirming the authority of the acquired account information, and the step of determining may include: And determining whether to synchronize quickly or not.
상기 동기화 관리 방법은, 상기 발생한 이벤트의 종류를 판단하는 단계를 더 포함하되, 상기 결정하는 단계는, 상기 발생한 이벤트가 상기 오브젝트의 생성인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함할 수 있다.The synchronization management method may further include a step of determining a type of the generated event, wherein, in the determining, when the generated event is the generation of the object, Step < / RTI >
상기 결정하는 단계는, 상기 발생한 이벤트가 상기 오브젝트의 삭제, 수정 또는 이동이고, 상기 이벤트를 수행한 계정의 우선 순위가 소정 순위 미만인 경우, 상기 이벤트가 발생한 오브젝트를 상기 지연 동기화 대상으로 결정하는 단계를 포함할 수 있다.Wherein the determining includes determining that the object in which the event occurred is the delay synchronization target when the generated event is the deletion, modification, or movement of the object, and the priority of the account performing the event is less than a predetermined rank .
상기 결정하는 단계는, 상기 발생한 이벤트가 상기 오브젝트의 삭제, 수정 또는 이동이고, 상기 이벤트를 수행한 계정이 상기 이벤트가 발생한 오브젝트의 소유자 계정이 아닌 경우, 상기 이벤트가 발생한 오브젝트를 상기 지연 동기화 대상으로 결정하는 단계를 포함할 수 있다.Wherein the determining step comprises the steps of: when the event is an object of deletion, modification, or movement of the object, and the account performing the event is not the owner account of the object in which the event occurs, And a step of determining the number
상기 동기화시키는 단계는, 상기 발생한 이벤트가 상기 오브젝트의 수정인 경우, 상기 지연 동기화 대상으로 결정된 오브젝트의 재수정이 발생하면, 상기 수정된 오브젝트를 상기 예비 서버에 동기화시키는 단계를 포함할 수 있다.The synchronizing may include synchronizing the modified object with the spare server when the generated event is a modification of the object and the re-verification of the object determined to be the delay synchronization object occurs.
상기 오브젝트의 정보를 획득하는 단계는, 상기 오브젝트의 속성을 획득하는 단계를 포함하고, 상기 결정하는 단계는, 상기 이벤트가 발생된 오브젝트의 속성이 비실행 속성인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함할 수 있다.Wherein the step of acquiring information of the object includes acquiring an attribute of the object, and the step of determining may include: if the attribute of the object on which the event is generated is a non-executable attribute, And determining the fast synchronization target.
상기 결정하는 단계는, 상기 이벤트가 발생된 오브젝트의 속성이 실행 속성이고, 상기 이벤트를 수행한 계정의 우선 순위가 소정 순위 미만인 경우, 상기 이벤트가 발생한 오브젝트를 지연 동기화 대상으로 결정하는 단계를 포함할 수 있다.Wherein the step of determining includes determining that an object on which the event has occurred is an execution attribute and an object in which the event occurred is a delay synchronization target when the priority of the account performing the event is less than a predetermined rank .
상기 결정하는 단계는, 상기 이벤트가 발생된 오브젝트의 속성이 실행 속성이고, 상기 이벤트를 수행한 계정이 상기 이벤트가 발생된 오브젝트의 소유자 계정이 아닌 경우, 상기 이벤트가 발생한 오브젝트를 지연 동기화 대상으로 결정하는 단계를 포함할 수 있다.Wherein the determining step determines that the object in which the event has occurred is an execution attribute and the object in which the event occurred is not an owner account of the object in which the event is generated, .
상기 동기화 관리 방법은, 상기 획득한 계정 정보를 상기 예비 서버로 전송하여, 상기 이벤트 관련 정보가 상기 계정 정보에 매핑되어 상기 예비 서버에 저장되게 하는 단계를 더 포함할 수 있다.The synchronization management method may further include transmitting the acquired account information to the backup server so that the event related information is mapped to the account information and stored in the backup server.
본 발명의 다른 실시예에 따른 동기화 관리 장치는,According to another aspect of the present invention,
운영 서버 내 오브젝트에 대한 이벤트 발생을 모니터링하는 모니터링부; 상기 이벤트가 발생한 오브젝트의 정보, 및 상기 이벤트를 수행한 계정 정보를 획득하고, 상기 획득한 계정 정보에 기초하여, 상기 이벤트가 발생한 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정하는 제어부; 및 상기 결정 결과에 따라 상기 이벤트가 발생한 오브젝트를 예비 서버에 동기화시키는 통신부를 포함할 수 있다.A monitoring unit monitoring an event occurrence of an object in the operation server; A control unit for acquiring information on the object on which the event occurs and account information on which the event is performed and determining whether to synchronize the object in which the event occurred or delay synchronization on the basis of the acquired account information; And a communication unit for synchronizing the object generated by the event to the backup server according to the determination result.
본 발명의 일 실시예에 따른 오브젝트에 대한 동기화 관리 장치 및 방법이 달성할 수 있는 일부의 효과는 다음과 같다.Some effects that can be achieved by an apparatus and method for managing synchronization of an object according to an embodiment of the present invention are as follows.
i) 운영 서버 내 오브젝트의 변경 사항을 안정적으로 예비 서버에 동기화시킬 수 있다.i) It is possible to stably synchronize the changes of objects in the production server to the spare server.
ii) 해커 등에 의해 악의적으로 변경된 오브젝트가 예비 서버에 동기화되는 것을 방지할 수 있다.ii) It is possible to prevent an object that has been maliciously changed by a hacker or the like from being synchronized with the spare server.
iii) 해커 등에 의해 악의적으로 변경된 오브젝트에 의해 운영 서버가 복구되는 것을 방지할 수 있다.iii) It is possible to prevent the operating server from being restored by an object that has been maliciously changed by a hacker or the like.
다만, 본 발명의 일 실시예에 따른 오브젝트에 대한 동기화 관리 장치 및 방법이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects of the apparatus and method for managing synchronization of objects according to an embodiment of the present invention are not limited to those described above, and other effects not mentioned can be obtained from the following description. And will be apparent to one of ordinary skill in the art.
도 1은 본 발명의 일 실시예에 따른 동기화 관리 장치, 운영 서버 및 예비 서버를 도시하는 개략적인 도면이다.
도 2는 본 발명의 일 실시예에 따른 동기화 관리 방법을 설명하기 위한 순서도이다.
도 3은 도 2의 S220 단계 및 S230 단계를 구체적으로 설명하기 위한 제 1 실시예에 따른 순서도이다.
도 4는 도 2의 S220 단계 및 S230 단계를 구체적으로 설명하기 위한 제 2 실시예에 따른 순서도이다.
도 5는 도 2의 S220 단계 및 S230 단계를 구체적으로 설명하기 위한 제 3 실시예에 따른 순서도이다.
도 6은 예비 서버에 저장되는 이벤트 관련 정보와 계정 정보를 도시하는 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 동기화 관리 장치의 구성을 도시하는 블록도이다.1 is a schematic diagram showing a synchronization management apparatus, an operation server, and a spare server according to an embodiment of the present invention.
2 is a flowchart illustrating a synchronization management method according to an embodiment of the present invention.
FIG. 3 is a flow chart according to the first embodiment for describing steps S220 and S230 of FIG. 2 in detail.
FIG. 4 is a flow chart according to the second embodiment for describing steps S220 and S230 of FIG. 2 in detail.
5 is a flow chart according to the third embodiment for describing steps S220 and S230 of FIG. 2 in detail.
6 is an exemplary diagram showing event related information and account information stored in the spare server.
7 is a block diagram showing a configuration of a synchronization management apparatus according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명은 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It is to be understood, however, that the intention is not to limit the invention to the specific embodiments, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.In the present specification, a component represented by 'unit', 'module', or the like refers to a case where two or more components are combined into one component, or one component is divided into two or more ≪ / RTI > In addition, each of the components to be described below may additionally perform some or all of the functions of the other components in addition to the main functions of the component itself, and some of the main functions And may be performed entirely by components.
이하에서는, 도면을 참조하여 본 발명의 기술적 사상에 따른 예시적인 실시예들에 대해 설명한다.Hereinafter, exemplary embodiments according to the technical idea of the present invention will be described with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 동기화 관리 장치(100), 운영 서버(10) 및 예비 서버(20)를 도시하는 개략적인 도면이다.1 is a schematic diagram showing a
도 1을 참조하면, 동기화 관리 장치(100)는 운영 서버(10) 내 저장된 오브젝트를 예비 서버(20)로 동기화시킨다. 여기서, '오브젝트'는 서버 내에 저장되는 파일 및 디렉토리를 포함할 수 있다. Referring to FIG. 1, the
동기화 관리 장치(100)는 운영 서버(10) 내에 저장되어 있던 오브젝트가 변경, 삭제, 수정되거나, 오브젝트가 새로 생성되는 경우, 그에 따라 오브젝트의 변경 사항이 예비 서버(20)에 반영되도록 한다.When the object stored in the
도 1은 동기화 관리 장치(100)가 운영 서버(10)와 물리적으로 분리되어 있는 것으로 도시하고 있지만, 동기화 관리 장치(100)는 운영 서버(10)에 내장될 수도 있다.Although FIG. 1 shows that the
운영 서버(10)는 도시되지 않은 사용자 단말의 접속에 따라 사용자 단말에게 서비스, 예를 들어, 파일 저장/관리 서비스를 제공하며, 웹 서버 또는 사내망 서버로 동작할 수 있다.The
예비 서버(20)는 운영 서버(10) 내 오브젝트에 대한 변동 사항을 동기화하고, 운영 서버(10)에 장애가 발생한 경우, 운영 서버(10) 대신 사용자 단말에게 서비스를 제공하거나, 저장되어 있는 오브젝트로 운영 서버(10)를 복구한다.The
이하에서는, 도 2 내지 도 6을 참조하여, 동기화 관리 장치(100)의 구체적인 동작에 대해 설명한다.Hereinafter, a specific operation of the
도 2는 본 발명의 일 실시예에 따른 동기화 관리 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a synchronization management method according to an embodiment of the present invention.
S210 단계에서, 동기화 관리 장치(100)는 운영 서버(10) 내 오브젝트에 대한 이벤트 발생을 모니터링한다. 동기화 관리 장치(100)는 운영 서버(10) 내에 오브젝트가 새로 생성되었는지, 또는 저장되어 있던 오브젝트가 삭제, 수정, 이동되었는지 여부를 모니터링할 수 있다.In step S210, the
오브젝트에 대한 이벤트 모니터링은 통상 커널에서 수행될 수 있으며, 클라우드 환경에서 사용이 빈번한 리눅스(Linux) 서버의 경우 커널(2.6 이상)의 inotify를 통해 가능하며 이벤트 종류는 아래의 표 1과 같이 구분될 수 있다.Event monitoring for objects can usually be performed in the kernel. For Linux servers that are frequently used in the cloud environment, it is possible to inotify the kernel (2.6 or later), and event types can be classified as shown in Table 1 below have.
[표 1][Table 1]
S220 단계에서, 동기화 관리 장치(100)는 이벤트가 발생한 오브젝트의 정보 및 상기 이벤트를 수행한 계정 정보를 획득한다.In step S220, the
상기 오브젝트의 정보는 예를 들어, 오브젝트의 명칭, 저장 경로 및 속성 중 적어도 하나를 포함할 수 있으며, 상기 계정 정보는 예를 들어, 사용자 ID, 그룹 ID 및 권한 중 적어도 하나를 포함할 수 있다. 사용자 ID는 사용자 별로 할당되는 고유의 식별 정보이며, 그룹 ID는 사용자가 속한 그룹에 따라 할당되는 그룹 고유의 식별 정보를 의미할 수 있다. 계정에 따른 권한은 사용자 ID 및 그룹 ID에 따라 상이할 수 있다.The information of the object may include at least one of, for example, an object name, a storage path and an attribute, and the account information may include at least one of a user ID, a group ID, and an authority, for example. The user ID is inherent identification information allocated to each user, and the group ID may mean group-specific identification information assigned according to the group to which the user belongs. The permissions according to the account may differ depending on the user ID and the group ID.
S230 단계에서, 동기화 관리 장치(100)는 상기 획득한 계정 정보에 기초하여, 이벤트가 발생한 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정한다. 신속 동기화란, 오브젝트에 대한 이벤트가 안전한 것으로 판단되어 예비 서버(20)로 신속하게 동기화하는 것을 의미하며, 지연 동기화란, 오브젝트에 대한 이벤트가 안전한 것으로 판명되지 않은 상태에서 신속 동기화에 비해 지연시켜 오브젝트를 동기화하는 것을 의미한다.In step S230, the
S240 단계에서, 동기화 관리 장치(100)는 S230 단계에서의 결정 결과에 따라 이벤트가 발생한 오브젝트를 예비 서버(20)에 동기화시킨다.In step S240, the
이벤트가 발생한 오브젝트가 신속 동기화 대상인 것으로 결정된 경우, 동기화 관리 장치(100)는 실시간으로 또는 기 설정된 예약 시점에 상기 이벤트가 발생된 오브젝트를 예비 서버(20)에 동기화시킬 수 있다. If it is determined that the object in which the event has occurred is an immediate synchronization target, the
상기 '실시간'이란, 컴퓨터에 의한 정보 처리방식으로서 데이터가 발생한 시점에서 필요한 계산 처리를 즉시 수행하여 그 결과를 데이터가 발생한 곳 또는 데이터가 필요한 곳에 되돌려 보내는 방식을 의미하며, 동기화 관리 장치(100)는 오브젝트에 대한 이벤트가 발생하면 즉시 이벤트를 감지하여 이벤트가 발생한 오브젝트를 예비 서버(20)에 동기화시킬 수 있다.The 'real time' means a method of processing information by a computer, which is a method of immediately performing necessary calculation processing at the time when data occurs and sending the result back to a place where data is generated or where data is required. When an event for an object occurs, it can detect an event immediately and synchronize the object in which the event occurred to the
상기 기 설정된 예약 시점은 디폴트로 설정되거나, 관리자에 의해 설정되는 시점으로서, 동기화 관리 장치(100)는 이벤트 발생 후 기 설정된 예약 시점이 되면 상기 이벤트가 발생한 오브젝트를 예비 서버(20)에 동기화시킬 수 있다.The
이벤트가 발생한 오브젝트가 지연 동기화 대상인 것으로 결정된 경우, 동기화 관리 장치(100)는 상기 이벤트가 발생한 시점으로부터 일정 시간 경과 후, 또는 상기 기 설정된 예약 시점으로부터 일정 시간 경과 후 상기 이벤트가 발생한 오브젝트를 상기 예비 서버(20)에 동기화시킬 수 있다.If it is determined that the object in which the event has occurred is a delay synchronization target, the
이벤트의 종류가 오브젝트에 대한 수정인 경우에는 상기 지연 동기화를 시키는 시점이 상이해질 수 있는데, 이에 대해서는 후술한다.When the type of the event is modification to the object, the time point at which the delay synchronization is performed may be different, which will be described later.
상기 설명한 바와 같이, 본 발명의 일 실시예에 따른 동기화 관리 방법은, 오브젝트에 대한 이벤트 발생시 항상 신속하게 동기화시키는 것이 아니라, 안전이 보장되지 않은 경우에는 지연 동기화를 시켜 해커 등에 의해 변조된 오브젝트가 예비 서버(20)에 동기화되는 것을 차단시킬 수 있다.As described above, the synchronization management method according to an embodiment of the present invention does not always synchronize quickly when an event is generated for an object, but when the safety is not ensured, the object synchronized with a hacker or the like The
도 3은 도 2의 S220 단계 및 S230 단계를 구체적으로 설명하기 위한 제 1 실시예에 따른 순서도이다.FIG. 3 is a flow chart according to the first embodiment for describing steps S220 and S230 of FIG. 2 in detail.
S310 단계에서, 동기화 관리 장치(100)는 운영 서버(10)에 등록된 복수의 계정에 대한 우선 순위를 설정한다. 동기화 관리 장치(100)는 각각의 계정의 권한 등에 기초하여 각 계정의 우선 순위를 설정할 수 있다. In step S310, the
동기화 관리 장치(100)는 어플리케이션 계정에 대해서는 일반 사용자 계정보다 낮은 우선 순위를 설정할 수 있다. 리눅스의 경우, 어플리케이션 계정인 www-data 계정은 웹 서비스를 위한 계정으로서 웹 서버로부터 수신한 파일을 특정 경로에만 쓸 수 있는 권한과 로그 파일을 기록할 수 있는 권한을 갖는다. 또한, 다른 어플리케이션 계정인 posgres 계정은 postgresql(DB) 서비스에 대한 파일 생성 및 수정과 관련된 계정이다. 이렇게 어플리케이션이 사용하는 계정들은 특정 목적을 위해서 한정된 위치에 파일을 생성, 수정할 수 있는 권한을 가지는 반면, 일반 사용자 계정은 어플리케이션이 사용하는 계정 대비 보다 광범위한 범위에 파일을 생성 및 수정할 수 있는 권한을 가진다. 따라서, 동기화 관리 장치(100)는 보다 권한이 낮은 어플리케이션 계정을 사용자 계정보다 우선 순위를 낮게 설정하여 어플리케이션 계정에 의해 발생된 이벤트에 대해서는 예비 서버(20)에 지연 동기화시킬 수 있다.The
또한, 동기화 관리 장치(100)는 각 계정의 우선 순위를 설정하는데 있어, 각 계정의 로그인 횟수를 고려할 수도 있다. 소정 기간 동안 로그인 횟수가 많은 사용자 계정의 우선 순위는 로그인 횟수가 적은 사용자 계정의 우선 순위에 비해 낮게 설정될 수 있다. 로그인 횟수가 많다는 것은 보안 사고 가능성이 높을 것으로 예측되기 때문이다.Also, the
S320 단계에서, 동기화 관리 장치(100)는 오브젝트에 대해 이벤트를 수행한 계정의 우선 순위가 소정 순위 이상인지를 판단한다. 상기 소정 순위는 디폴트(default) 또는 관리자에 의해 결정될 수 있다.In step S320, the
S330 단계에서, 이벤트 수행 계정의 우선 순위가 소정 순위 이상인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 우선 순위가 높은 계정에 의해 이벤트가 발생한 경우에는 그 행위가 안전한 것으로 판단하여 신속하게 동기화시키는 것이다.In step S330, if the priority of the event performing account is equal to or higher than a predetermined rank, the
S340 단계에서, 이벤트를 수행한 계정의 우선 순위가 소정 순위 미만인 경우, 동기화 관리 장치(100)는 이벤트 수행 계정이 이벤트 발생 오브젝트의 소유자인지를 판단한다. 상기 오브젝트의 소유자는 해당 오브젝트를 생성한 계정, 해당 오브젝트를 최초로 운영 서버(10)에 저장한 계정 등을 의미하나 이에 한정되는 것은 아니다.In step S340, if the priority of the account that performed the event is less than the predetermined rank, the
S350 단계에서, 이벤트 수행 계정이 오브젝트의 소유자인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 소유자 계정에 의해 오브젝트에 변경이 발생한 경우에는 그 행위가 안전한 것으로 판단하여 신속하게 동기화시키는 것이다.In step S350, if the event performing account is the owner of the object, the
S360 단계에서, 이벤트 수행 계정이 오브젝트의 소유자 계정이 아닌 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 지연 동기화 대상으로 결정한다. 우선 순위가 낮고, 소유자가 아닌 계정이 오브젝트에 변경을 가한 경우에는, 해킹의 위험성이 있는 것으로 판단하여 지연 동기화시키는 것이다.In step S360, if the event performing account is not the owner account of the object, the
한편, 도 3에서는 이벤트 수행 계정의 우선 순위가 소정 순위 이상인지를 먼저 판단하고, 해당 계정이 소유자 계정인지를 판단하는 것으로 도시하고 있으나, 동기화 관리 장치(100)는 우선 순위의 판단과 소유자 계정 여부의 판단 중 어느 하나만 수행하여 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정할 수도 있다.3, it is determined whether the priority of the event performing account is equal to or higher than a predetermined rank, and whether the corresponding account is the owner account is determined. However, the
도 4는 도 2의 S220 단계 및 S230 단계를 구체적으로 설명하기 위한 제 2 실시예에 따른 순서도이다.FIG. 4 is a flow chart according to the second embodiment for describing steps S220 and S230 of FIG. 2 in detail.
S410 단계에서, 동기화 관리 장치(100)는 오브젝트에 대해 발생한 이벤트의 종류를 판단한다. 이벤트의 종류는 오브젝트의 생성, 수정, 삭제 및 이동을 포함할 수 있다.In step S410, the
S420 단계에서, 동기화 관리 장치(100)는 발생한 이벤트가 오브젝트의 생성인지를 판단한다.In step S420, the
S430 단계에서, 발생 이벤트가 오브젝트의 생성인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 오브젝트의 생성의 경우에는, 해당 오브젝트가 악의적으로 생성되었을 가능성이 낮은 것으로 간주하여 신속 동기화를 하는 것이다.In step S430, if the occurrence event is the generation of the object, the
S440 단계에서, 발생 이벤트가 오브젝트의 수정, 삭제 또는 이동인 경우, 오브젝트에 대해 이벤트를 수행한 계정의 우선 순위가 소정 순위 이상인지를 판단한다.If it is determined in step S440 that the generated event is an object modification, deletion, or movement, it is determined whether the priority of the account that performed the event for the object is equal to or higher than a predetermined rank.
S450 단계에서, 이벤트 수행 계정의 우선 순위가 소정 순위 이상인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 우선 순위가 높은 계정에 의해 이벤트가 발생한 경우에는 그 행위가 안전한 것으로 판단하여 신속하게 동기화시키는 것이다.In step S450, if the priority of the event-performing account is equal to or higher than a predetermined rank, the
S460 단계에서, 이벤트 수행 계정의 우선 순위가 소정 순위 미만인 경우, 동기화 관리 장치(100)는 이벤트 수행 계정이 이벤트 발생 오브젝트의 소유자 계정인지를 판단한다. In step S460, if the priority of the event performing account is less than the predetermined rank, the
S470 단계에서, 이벤트 수행 계정이 오브젝트의 소유자인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 소유자 계정에 의해 오브젝트에 변경이 발생한 경우에는 그 행위가 안전한 것으로 판단하여 신속하게 동기화시키는 것이다.In step S470, if the event performing account is the owner of the object, the
S480 단계에서, 이벤트 수행 계정이 오브젝트의 소유자가 아닌 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 지연 동기화 대상으로 결정한다. 우선 순위가 낮고, 소유자가 아닌 계정이 오브젝트에 변경을 가한 경우에는, 해킹의 위험성이 있는 것으로 판단하여 지연 동기화시키는 것이다.In step S480, if the event execution account is not the owner of the object, the
도 4에서는 동기화 관리 장치(100)가 오브젝트에 대한 이벤트가 생성인 경우에는 바로 신속 동기화 대상으로 결정하는데 반해, 오브젝트에 대한 이벤트가 수정, 삭제 또는 이동인 경우에는 해커에 의한 조작일 가능성이 높을 것으로 판단하여, 우선 순위의 판단 및 소유자 계정 여부를 더 판단하는 것이다. 오브젝트가 수정되거나, 삭제되거나, 이동(이동은 삭제 및 생성을 포함하므로 삭제와 실질적으로 동일함)되는 경우에는 운영 서버(10)의 서비스 제공이 불가능해지거나, 정보의 유출이 가능해지는 등 위험성이 존재하므로, 계정의 우선 순위 및 소유자 계정 여부를 더 판단하는 것이다.In FIG. 4, when the
도 4에서는 발생 이벤트가 오브젝트의 수정, 삭제 또는 이동인 경우, 이벤트 수행 계정의 우선 순위가 소정 순위 이상인지를 먼저 판단하고, 해당 계정이 소유자 계정인지를 판단하였으나, 동기화 관리 장치(100)는 우선 순위의 판단과 소유자 계정 여부의 판단 중 어느 하나만 수행하여 신속 동기화 여부 또는 지연 동기화 여부를 결정할 수도 있다.In FIG. 4, when the occurrence event is an object modification, deletion, or movement, the
한편, 도 4에서는 계정에 의해 발생된 이벤트가 오브젝트의 수정인 경우, 계정의 우선 순위나 소유자 계정 여부를 고려하여 이벤트 발생 오브젝트를 지연 동기화 대상으로 결정하는 것으로 설명하고 있는데, 이 경우, 지연 동기화 프로세스는 앞서 설명한 것과 다른 방법이 적용될 수도 있다.Meanwhile, in FIG. 4, when an event generated by an account is a modification of an object, the event generation object is determined as a delay synchronization target in consideration of the priority of an account or an owner account. In this case, A method different from that described above may be applied.
동기화 관리 장치(100)는 계정에 의해 발생된 이벤트가 오브젝트의 수정이며, 해당 오브젝트가 지연 동기화 대상으로 결정된 경우에는, 지연 동기화 대상으로 결정된 오브젝트의 재수정이 발생하면, 계정에 의해 수정된 오브젝트를 예비 서버(20)에 동기화시킬 수 있다. 이는, 오브젝트가 수정된 이후, 다음 수정이 발생하기 전까지는 수정된 오브젝트가 안전한 것인지를 보장할 수 없으며, 다음 수정이 발생할 때까지 시스템 오류 등이 발생하지 않으면 최초 수정된 것이 안전한 것으로 보고 예비 서버(20)에 동기화를 시키는 것이다. 예를 들어, a 오브젝트에 대해 13시에 1차 수정이 발생하였고, 15시에 2차 수정이 발생한 경우, 동기화 관리 장치(100)는 15시 이후에 1차 수정된 a 오브젝트를 예비 서버(20)에 동기화시킬 수 있다.When the event generated by the account is a modification of the object and the object is determined to be a subject of delay synchronization, if the object determined to be a subject of delay synchronization occurs, the
도 5는 도 2의 S220 단계 및 S230 단계를 구체적으로 설명하기 위한 제 3 실시예에 따른 순서도이다.5 is a flow chart according to the third embodiment for describing steps S220 and S230 of FIG. 2 in detail.
S510 단계에서, 동기화 관리 장치(100)는 이벤트가 발생한 오브젝트의 속성을 확인한다. 오브젝트의 속성은 실행 속성 및 비실행 속성을 포함할 수 있다. 실행 속성이라는 것은 해당 오브젝트가 특정 기능의 실행이 가능한 파일, 예를 들어, exe 파일, com 파일 또는 bat 파일 등이라는 것을 나타내며, 비실행 속성이라는 것은 해당 오브젝트가 단순 문서 파일, 예를 들어, doc 파일 또는 hwp 파일 등이라는 것을 나타낸다.In step S510, the
S520 단계에서, 동기화 관리 장치(100)는 이벤트가 발생한 오브젝트의 속성이 비실행 속성인지를 판단한다.In step S520, the
S530 단계에서, 오브젝트의 속성이 비실행 속성인 경우, 해당 오브젝트를 신속 동기화 대상으로 결정한다. 비실행 속성의 파일은 그 내용이 변경되거나 삭제되더라도 시스템에 미치는 영향이 크지 않으므로, 신속 동기화 대상으로 결정하는 것이다.In step S530, if the attribute of the object is a non-executable attribute, the object is determined as a fast synchronization target. The file of the non-executable attribute has a small effect on the system even if the contents thereof are changed or deleted, so that the file is determined as a fast synchronization target.
S540 단계에서, 오브젝트의 속성이 실행 속성인 경우, 오브젝트에 대해 이벤트를 수행한 계정의 우선 순위가 소정 순위 이상인지를 판단한다.If it is determined in step S540 that the attribute of the object is the execution attribute, it is determined whether the priority of the account that performed the event with respect to the object is equal to or higher than a predetermined rank.
S550 단계에서, 이벤트 수행 계정의 우선 순위가 소정 순위 이상인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 우선 순위가 높은 계정에 의해 오브젝트에 변경이 발생한 경우에는 그 행위가 안전한 것으로 판단하여 신속하게 동기화시키는 것이다.In step S550, if the priority of the event-performing account is equal to or higher than the predetermined rank, the
S560 단계에서, 이벤트 수행 계정의 우선 순위가 소정 순위 미만인 경우, 동기화 관리 장치(100)는 이벤트 수행 계정이 이벤트가 발생한 오브젝트의 소유자 계정인지를 판단한다. In step S560, if the priority of the event performing account is less than the predetermined rank, the
S570 단계에서, 이벤트 수행 계정이 오브젝트의 소유자 계정인 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 신속 동기화 대상으로 결정한다. 소유자 계정에 의해 오브젝트에 변경이 발생한 경우에는 그 행위가 안전한 것으로 판단하여 신속하게 동기화시키는 것이다.In step S570, if the event performing account is the owner account of the object, the
S580 단계에서, 이벤트 수행 계정이 오브젝트의 소유자 계정이 아닌 경우, 동기화 관리 장치(100)는 이벤트 발생 오브젝트를 지연 동기화 대상으로 결정한다. 우선 순위가 낮고, 소유자가 아닌 계정이 실행 속성의 오브젝트에 변경을 가한 경우에는, 해킹의 위험성이 있는 것으로 판단하여 지연 동기화시키는 것이다.In step S580, if the event performing account is not the owner account of the object, the
도 5에서는 동기화 관리 장치(100)가 비실행 속성의 오브젝트에 대해서는 바로 신속 동기화 대상으로 결정하는데 반해, 실행 속성의 오브젝트에 대해서는 시스템에 미치는 영향이 높을 것으로 판단하여, 우선 순위의 판단 및 소유자 계정 여부를 더 판단하는 것이다. In FIG. 5, the
또한, 도 5에서는 이벤트가 발생한 오브젝트의 속성이 실행 속성인 경우, 이벤트 수행 계정의 우선 순위가 소정 순위 이상인지를 먼저 판단하고, 해당 계정이 소유자 계정인지를 판단하였으나, 동기화 관리 장치(100)는 우선 순위의 판단과 소유자 계정 여부의 판단 중 어느 하나만 수행하여 신속 동기화 여부 또는 지연 동기화 여부를 결정할 수도 있다.5, if the attribute of the object in which an event occurs is the execution attribute, it is first determined whether the priority of the event performing account is equal to or higher than a predetermined rank, and it is determined whether the corresponding account is the owner account. However, It is possible to determine whether to perform quick synchronization or delay synchronization by performing only one of the determination of priority and the determination of whether the owner is an account.
한편, 도 5에서 계정에 의해 이벤트가 발생한 오브젝트의 속성이 실행 속성이고, 계정에 의해 발생된 이벤트가 오브젝트의 수정이며, 해당 오브젝트가 지연 동기화 대상으로 결정된 경우에는, 지연 동기화 대상으로 결정된 오브젝트의 재수정이 발생하면, 계정에 의해 수정된 오브젝트를 예비 서버(20)에 동기화시킬 수 있다.5, if an attribute of an object in which an event occurs by an account is an execution attribute, an event generated by an account is a modification of an object, and if the object is determined to be a subject of delay synchronization, The object modified by the account can be synchronized to the
구현예에 따라서는, 동기화 관리 장치(100)는 도 4의 S420 단계에서, 발생 이벤트가 오브젝트의 수정, 삭제 또는 이동으로 판단한 경우, 계정의 우선 순위나 소유자 계정 여부를 판단하기 전에 도 5의 S520 단계와 같이, 이벤트가 발생한 오브젝트의 속성이 실행 속성인지 여부를 판단할 수 있다. 즉, 발생 이벤트가 오브젝트의 수정, 삭제 또는 이동이면, 해당 오브젝트의 속성이 실행 속성인지를 판단하여, 실행 속성인 경우, 계정의 우선 순위나 소유자 계정인지 여부를 판단하여 지연 동기화 대상으로 결정할 지를 판단할 수 있다.If it is determined in step S420 of FIG. 4 that the modification, deletion, or movement of the object is performed, the
또한, 구현예에 따라서는, 동기화 관리 장치(100)는 이벤트를 수행한 계정의 권한과 이벤트가 발생된 오브젝트의 정보에 기초하여, 해당 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정할 수도 있다. 계정의 권한에 따라, 사용자가 접근할 수 있는 오브젝트의 종류가 달라지거나, 해당 오브젝트에 대해 가할 수 있는 이벤트가 제한될 수 있으므로, 동기화 관리 장치(100)는 오브젝트에 대한 이벤트가 계정의 권한에 부합하는 경우에는 해당 오브젝트를 신속 동기화 대상으로 결정하고, 오브젝트에 대한 이벤트가 계정의 권한을 벗어나는 경우에는 해당 오브젝트를 지연 동기화 대상으로 결정할 수 있다.In addition, according to an embodiment, the
도 6은 예비 서버(20)에 저장되는 이벤트 관련 정보와 계정 정보를 도시하는 예시적인 도면이다.FIG. 6 is an exemplary diagram showing event related information and account information stored in the
동기화 관리 장치(100)는 신속 동기화 또는 지연 동기화로 오브젝트를 예비 서버(20)에 동기화시킬 때, 이벤트를 수행한 계정 정보를 예비 서버(20)로 전송하여 상기 계정 정보와 이벤트 관련 정보(예를 들어, 이벤트 발생 일시, 이벤트 종류, 오브젝트 명칭, 저장 경로 및 속성 중 적어도 하나)가 매핑되어 저장되도록 할 수 있다.When the
도 6에 도시된 바와 같이, 이벤트 관련 정보와 이벤트를 수행한 계정 정보가 매핑되어 예비 서버(20)에 저장될 수 있으며, 관리자는 예비 서버(20)에 저장된 오브젝트를 이용하여 운영 서버(10)를 복구시킬 때, 반영하고자 하는 오브젝트를 선택하고, 선택된 오브젝트만이 운영 서버(10)에 반영되도록 할 수 있다. 예를 들어, 운영 서버(10)에서 A 계정 및 B 계정에 의해 발생된 이벤트가 해킹 또는 악성 코드에 의해 발생된 것이며, 해당 이벤트에 따라 예비 서버(20)가 동기화된 경우, 관리자 또는 동기화 관리 장치(100)는 예비 서버(20)에 저장된 오브젝트 중 A 계정과 B 계정에 의해 이벤트가 발생한 오브젝트를 제외한 오브젝트만(도 6에서는 C 계정에 의해 삭제된 오브젝트)을 선택하여 운영 서버(10)를 복구시킬 수 있다.6, the event related information and the account information that has performed the event are mapped and stored in the
도 7은 본 발명의 일 실시예에 따른 동기화 관리 장치(100)의 구성을 도시하는 블록도이다.7 is a block diagram showing a configuration of a
도 7을 참조하면, 본 발명의 일 실시예에 따른 동기화 관리 장치(100)는 모니터링부(710), 제어부(730) 및 통신부(750)를 포함할 수 있다. 모니터링부(710), 제어부(730) 및 통신부(750)는 적어도 하나의 프로세서로 구현될 수 있으며, 도시되지 않은 메모리에 저장된 프로그램에 따라 동작할 수 있다.7, a
모니터링부(710)는 운영 서버(10) 내 오브젝트에 대한 이벤트 발생을 모니터링한다. 모니터링부(710)는 운영 서버(10) 내 오브젝트의 생성, 수정, 삭제 및 이동을 이벤트로서 모니터링할 수 있다.The
제어부(730)는 이벤트가 발생한 오브젝트의 정보, 및 이벤트를 수행한 계정 정보를 획득하고, 상기 획득한 계정 정보에 기초하여, 이벤트가 발생한 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정한다. 오브젝트가 신속 동기화 대상인지, 지연 동기화 대상인지를 결정하는 방법에 대해서는 전술하였으므로, 상세한 설명을 생략한다.The
통신부(750)는 상기 결정 결과에 따라 이벤트가 발생한 오브젝트를 예비 서버(20)에 동기화시킨다. 통신부(750)는 상기 발생한 이벤트가 오브젝트의 생성 또는 수정인 경우에는 생성 또는 수정된 오브젝트 자체를 예비 서버(20)로 전송하여 해당 오브젝트가 예비 서버(20)에 저장되도록 하고, 발생한 이벤트가 오브젝트의 삭제 또는 수정인 경우에는 해당 오브젝트 관련 정보를 예비 서버(20)로 전송하여 예비 서버(20)에 저장되어 있던 오브젝트가 삭제되거나 다른 저장 위치로 이동되도록 할 수 있다.The
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.Meanwhile, the embodiments of the present invention described above can be written in a program that can be executed in a computer, and the created program can be stored in a medium.
상기 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함할 수 있으나, 이에 한정되는 것은 아니다.The medium may include, but is not limited to, storage media such as magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.), optical reading media (e.g., CD ROMs,
첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims. You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
10: 운영 서버
20: 예비 서버
100: 동기화 관리 장치
710: 모니터링부
730: 제어부
750: 통신부10: Operational server
20: spare server
100: Synchronization management device
710: Monitoring section
730:
750:
Claims (16)
상기 이벤트가 발생한 오브젝트의 정보, 및 상기 이벤트를 수행한 계정 정보를 획득하는 단계;
상기 획득한 계정 정보에 기초하여, 상기 이벤트가 발생한 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정하는 단계; 및
상기 결정 결과에 따라 상기 이벤트가 발생한 오브젝트를 예비 서버에 동기화시키는 단계를 포함하는 것을 특징으로 하는, 동기화 관리 장치에 의한 동기화 관리 방법.
Monitoring an occurrence of an event for an object in the operations server;
Acquiring information of the object where the event occurred and account information that performed the event;
Determining whether the object in which the event occurs is synchronized quickly or not, based on the acquired account information; And
And synchronizing the object in which the event occurred with the backup server according to the determination result.
상기 동기화시키는 단계는,
상기 이벤트가 발생한 오브젝트가 상기 신속 동기화 대상으로 결정된 경우, 실시간으로 또는 기 설정된 예약 시점에 상기 이벤트가 발생된 오브젝트를 상기 예비 서버에 동기화시키는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
Wherein the synchronizing comprises:
And synchronizing the object with the event to the backup server in real time or at a predetermined reservation time when the object in which the event occurred is determined as the quick synchronization target.
상기 동기화시키는 단계는,
상기 이벤트가 발생한 오브젝트가 상기 지연 동기화 대상으로 결정된 경우, 상기 이벤트가 발생한 시점으로부터 일정 시간 경과 후, 또는 상기 기 설정된 예약 시점으로부터 일정 시간 경과 후 상기 이벤트가 발생한 오브젝트를 상기 예비 서버에 동기화시키는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
Wherein the synchronizing comprises:
Synchronizing an object in which the event has occurred after the lapse of a predetermined time from the generation of the event or a predetermined time from the predetermined reservation time to the spare server when the object in which the event occurs is determined to be the delay synchronization target The synchronization management method comprising:
상기 동기화 관리 방법은,
상기 운영 서버에 등록된 복수의 계정에 대한 우선 순위를 설정하는 단계를 더 포함하고,
상기 결정하는 단계는,
상기 이벤트를 수행한 계정의 우선 순위가 소정 순위 이상인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
The synchronization management method includes:
Further comprising setting a priority for a plurality of accounts registered in the operation server,
Wherein the determining comprises:
And determining the object in which the event occurred as the fast synchronization target if the priority of the account that performed the event is higher than a predetermined rank.
상기 우선 순위를 설정하는 단계는,
상기 운영 서버에 등록된 각 계정의 로그인 횟수를 고려하여 상기 우선 순위를 설정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
5. The method of claim 4,
Wherein the setting of the priority comprises:
And setting the priority in consideration of the number of logins of each account registered in the operation server.
상기 결정하는 단계는,
상기 이벤트를 수행한 계정이 상기 이벤트가 발생된 오브젝트의 소유자 계정인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
Wherein the determining comprises:
And determining an object in which the event occurred as the fast synchronization target when the account performing the event is an owner account of the object on which the event occurred.
상기 이벤트를 수행한 계정 정보를 획득하는 단계는,
상기 획득한 계정 정보의 권한을 확인하는 단계를 포함하고,
상기 결정하는 단계는,
상기 확인된 권한 및 상기 오브젝트의 정보를 고려하여, 상기 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
Wherein the step of acquiring account information that has performed the event comprises:
And confirming the authority of the acquired account information,
Wherein the determining comprises:
And determining whether to synchronize the object in quick synchronization or delay synchronization in consideration of the identified authority and information of the object.
상기 동기화 관리 방법은,
상기 발생한 이벤트의 종류를 판단하는 단계를 더 포함하되,
상기 결정하는 단계는,
상기 발생한 이벤트가 상기 오브젝트의 생성인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
The synchronization management method includes:
Further comprising determining a type of the generated event,
Wherein the determining comprises:
And determining the object where the event occurred as the fast synchronization target if the generated event is the creation of the object.
상기 결정하는 단계는,
상기 발생한 이벤트가 상기 오브젝트의 삭제, 수정 또는 이동이고, 상기 이벤트를 수행한 계정의 우선 순위가 소정 순위 미만인 경우, 상기 이벤트가 발생한 오브젝트를 상기 지연 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
9. The method of claim 8,
Wherein the determining comprises:
And determining an object in which the event has occurred as the delay synchronization target when the generated event is deletion, modification, or movement of the object, and the priority of the account performing the event is less than a predetermined rank. How to manage synchronization.
상기 결정하는 단계는,
상기 발생한 이벤트가 상기 오브젝트의 삭제, 수정 또는 이동이고, 상기 이벤트를 수행한 계정이 상기 이벤트가 발생한 오브젝트의 소유자 계정이 아닌 경우, 상기 이벤트가 발생한 오브젝트를 상기 지연 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
9. The method of claim 8,
Wherein the determining comprises:
And determining that the object in which the event occurred is the delay synchronization target when the generated event is deletion, modification or movement of the object and the account performing the event is not the owner account of the object in which the event occurs The synchronization management method comprising:
상기 동기화시키는 단계는,
상기 발생한 이벤트가 상기 오브젝트의 수정인 경우, 상기 지연 동기화 대상으로 결정된 오브젝트의 재수정이 발생하면, 상기 수정된 오브젝트를 상기 예비 서버에 동기화시키는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
11. The method according to claim 9 or 10,
Wherein the synchronizing comprises:
And synchronizing the modified object with the spare server when the generated event is the modification of the object and the re-verification of the object determined to be the delay synchronization object occurs.
상기 오브젝트의 정보를 획득하는 단계는,
상기 오브젝트의 속성을 획득하는 단계를 포함하고,
상기 결정하는 단계는,
상기 이벤트가 발생된 오브젝트의 속성이 비실행 속성인 경우, 상기 이벤트가 발생한 오브젝트를 상기 신속 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
Wherein acquiring the information of the object comprises:
And obtaining an attribute of the object,
Wherein the determining comprises:
And if the attribute of the object on which the event is generated is a non-executable attribute, determining that the object where the event occurred is the fast synchronization target.
상기 결정하는 단계는,
상기 이벤트가 발생된 오브젝트의 속성이 실행 속성이고, 상기 이벤트를 수행한 계정의 우선 순위가 소정 순위 미만인 경우, 상기 이벤트가 발생한 오브젝트를 지연 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
13. The method of claim 12,
Wherein the determining comprises:
And determining that the object on which the event occurred is an object of delay synchronization if the attribute of the object on which the event is generated is an execution attribute and the priority of the account performing the event is less than a predetermined rank. Way.
상기 결정하는 단계는,
상기 이벤트가 발생된 오브젝트의 속성이 실행 속성이고, 상기 이벤트를 수행한 계정이 상기 이벤트가 발생된 오브젝트의 소유자 계정이 아닌 경우, 상기 이벤트가 발생한 오브젝트를 지연 동기화 대상으로 결정하는 단계를 포함하는 것을 특징으로 하는 동기화 관리 방법.
13. The method of claim 12,
Wherein the determining comprises:
If the attribute of the object on which the event is generated is an execution attribute and the account performing the event is not an owner account of the object on which the event is generated, Characterized by a synchronization management method.
상기 동기화 관리 방법은,
상기 획득한 계정 정보를 상기 예비 서버로 전송하여, 상기 이벤트 관련 정보가 상기 계정 정보에 매핑되어 상기 예비 서버에 저장되게 하는 단계를 더 포함하는 것을 특징으로 하는 동기화 관리 방법.
The method according to claim 1,
The synchronization management method includes:
And transmitting the acquired account information to the backup server so that the event related information is mapped to the account information and stored in the backup server.
상기 이벤트가 발생한 오브젝트의 정보, 및 상기 이벤트를 수행한 계정 정보를 획득하고, 상기 획득한 계정 정보에 기초하여, 상기 이벤트가 발생한 오브젝트의 신속 동기화 여부 또는 지연 동기화 여부를 결정하는 제어부; 및
상기 결정 결과에 따라 상기 이벤트가 발생한 오브젝트를 예비 서버에 동기화시키는 통신부를 포함하는 것을 특징으로 하는 동기화 관리 장치.
A monitoring unit monitoring an event occurrence of an object in the operation server;
A control unit for acquiring information on the object on which the event occurs and account information on which the event is performed and determining whether to synchronize the object in which the event occurred or delay synchronization on the basis of the acquired account information; And
And a communication unit for synchronizing the object in which the event has occurred according to the determination result to a standby server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160176378A KR102671482B1 (en) | 2016-12-22 | Apparatus and method for syncronizing of object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160176378A KR102671482B1 (en) | 2016-12-22 | Apparatus and method for syncronizing of object |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180073003A true KR20180073003A (en) | 2018-07-02 |
KR102671482B1 KR102671482B1 (en) | 2024-06-03 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277680A (en) * | 2022-07-29 | 2022-11-01 | 山石网科通信技术股份有限公司 | File synchronization method for improving synchronization security |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277680A (en) * | 2022-07-29 | 2022-11-01 | 山石网科通信技术股份有限公司 | File synchronization method for improving synchronization security |
CN115277680B (en) * | 2022-07-29 | 2024-04-19 | 山石网科通信技术股份有限公司 | File synchronization method for improving synchronization security |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2595482C2 (en) | Ensuring transparency failover in file system | |
US10353790B1 (en) | Disaster recovery rehearsals | |
US8621574B2 (en) | Opaque quarantine and device discovery | |
US20230096032A1 (en) | Hybrid Approach To Data Governance | |
CN108551399B (en) | Service deployment method, system and related device in cloud environment | |
US8533525B2 (en) | Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium | |
JP2007299284A (en) | Log collection system, client device, and log collection agent device | |
JP2016537746A (en) | Distributed data system with document management and access control | |
CN114629921B (en) | Cloud platform and bucket management method for object storage service provided by cloud platform | |
US20140259167A1 (en) | Behavior based application blacklisting | |
JP2008305287A (en) | Storage device information control method of user operation terminal | |
KR101823421B1 (en) | Apparatus and method for securiting network based on whithlist | |
US9749278B1 (en) | Persistent connections for email web applications | |
JP5200424B2 (en) | Information management method and information processing apparatus | |
US20230281087A1 (en) | Systems and methods for directory service backup and recovery | |
KR20180073003A (en) | Apparatus and method for syncronizing of object | |
CN115292740A (en) | Method and device for managing clipboard and nonvolatile storage medium | |
KR102671482B1 (en) | Apparatus and method for syncronizing of object | |
EP3884648B1 (en) | Geo-replicated iot hub | |
CN114564706A (en) | User authority management method and device, electronic equipment and storage medium | |
KR100907416B1 (en) | Web application patch automatic distribution system and method thereof | |
CN114143087B (en) | Virtual machine migration system and method | |
US20080222374A1 (en) | Computer system, management computer, storage system and volume management method | |
CN109639509B (en) | Network equipment configuration method and device | |
JP2005071247A (en) | Byzantine-fault-tolerant file sharing system using semantic information network and its terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |