KR101954976B1 - 데이터 백업 관리 시스템 및 그 방법 - Google Patents
데이터 백업 관리 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR101954976B1 KR101954976B1 KR1020180117525A KR20180117525A KR101954976B1 KR 101954976 B1 KR101954976 B1 KR 101954976B1 KR 1020180117525 A KR1020180117525 A KR 1020180117525A KR 20180117525 A KR20180117525 A KR 20180117525A KR 101954976 B1 KR101954976 B1 KR 101954976B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- backup file
- backup
- file
- server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 데이터 백업 관리 시스템 및 그 방법을 개시한다. 즉, 본 발명은 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 해당 백업 파일을 배타적으로 오픈해 두어, 다른 프로세스가 백업 파일을 변경하는 것을 차단하여 1차 방어벽을 제공하고, 랜섬웨어 등의 바이러스에 의해 다른 데이터 손실을 감지하는 경우, 연동하는 다른 단말에서의 데이터 손실/에러 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말 자체에서의 데이터 손실/에러 발생을 감지하는 경우 등의 미리 설정된 이벤트 감지시, 상기 배타적으로 오픈된 백업 파일을 서버 및 다른 단말 중 적어도 하나에 전송함으로써, 해당 단말에서의 문제점을 해결한 후 상기 서버 및 다른 단말 중 적어도 하나에 전송된 백업 파일을 이용하여 손상된 원본 파일을 복구함에 따라 전체 시스템의 안전성을 제공할 수 있고, 병원 등 전자 차트를 이용하는 곳에서 원본 파일에 대응하는 백업 파일을 병원 내의 복수의 다른 단말에서 저장한 상태에서 오류 발생 시 복수의 다른 단말에 저장된 백업 파일을 이용해서 손상된 원본 파일을 복구하며, 단말 내부/외부에서 발생하는 여러 가지 문제에도 불구하고 중요 파일에 대한 보안 및 관리 효율성을 높일 수 있다.
Description
본 발명은 데이터 백업 관리 시스템 및 그 방법에 관한 것으로, 특히 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 해당 백업 파일을 배타적으로 오픈해 두어, 다른 프로세스가 백업 파일을 변경하는 것을 차단하고, 랜섬웨어 등의 바이러스에 의해 다른 데이터 손실을 감지하는 경우, 연동하는 다른 단말에서의 데이터 손실/에러 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말 자체에서의 데이터 손실/에러 발생을 감지하는 경우 등의 미리 설정된 이벤트 감지시, 상기 배타적으로 오픈된 백업 파일을 서버 및 다른 단말 중 적어도 하나에 전송하는 데이터 백업 관리 시스템 및 그 방법에 관한 것이다.
대부분의 의원급 의료기관들은 의료기관 내에 환자의 개인정보 및 진료정보가 저장되는 데이터베이스 시스템(DBMS: database management system)이 설치된 컴퓨터 단말 장치를 의료기관 내에 두고, 환자 개인정보 및 진료정보를 해당 단말에 저장한다. 그런데 불가항력적인 원인에 의해 데이터가 손상되어 복구가 필요한 경우, 해당 단말에 저장된 최근 백업 파일을 찾아 데이터를 복구하게 된다.
다만, 악성코드(Malware)의 일종인 랜섬웨어 등의 바이러스에 의해 단말이 감염된 상태인 경우에는, 단말에 저장된 백업 파일마저도 랜섬웨어에 의해 암호화되어, 복구할 수 없는 경우가 발생한다.
본 발명의 목적은 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 해당 백업 파일을 배타적으로 오픈해 두어, 다른 프로세스가 백업 파일을 변경하는 것을 차단하여 1차 방어벽을 제공하고, 랜섬웨어 등의 바이러스에 의해 다른 데이터 손실을 감지하는 경우, 연동하는 다른 단말에서의 데이터 손실/에러 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말 자체에서의 데이터 손실/에러 발생을 감지하는 경우 등의 미리 설정된 이벤트 감지시, 상기 배타적으로 오픈된 백업 파일을 서버 및 다른 단말 중 적어도 하나에 전송하는 데이터 백업 관리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 데이터 백업 관리 시스템은 미리 설정된 백업 폴더 내에 백업 파일이 존재하고 상기 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일할 때, 다른 프로세스에 의한 상기 백업 파일의 변경을 차단하도록 백그라운드 상태에서 상기 백업 폴더 내의 백업 파일을 배타적으로 오픈해 두고, 미리 설정된 이벤트가 발생할 때 상기 배타적으로 오픈 중인 백업 파일을 서버 및 적어도 하나의 다른 단말 중 적어도 하나에 전송하는 제어부; 및 상기 제어부가 포함된 단말에서 발생한 문제가 해결된 후, 상기 서버 및 적어도 하나의 다른 단말 중 적어도 하나로부터 전송되는 백업 파일을 수신하는 통신부를 포함하며, 상기 제어부는, 상기 서버 및 적어도 하나의 다른 단말 중 적어도 하나로부터 전송되는 백업 파일을 근거로 손상된 원본 파일을 복원할 수 있다.
본 발명과 관련된 일 예로서 상기 제어부는, 상기 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한지 여부 및 미리 설정된 다른 파일의 구조가 미리 설정된 다른 파일의 구조와 동일한지 여부 중 적어도 하나의 경우를 판단할 수 있다.
본 발명과 관련된 일 예로서 상기 제어부는, 미리 설정된 복수의 백그라운드 프로세스를 통해 읽기 전용으로 상기 백업 파일을 동시에 배타적으로 오픈해 두도록 제어할 수 있다.
본 발명과 관련된 일 예로서 상기 미리 설정된 이벤트는, 바이러스에 의해 단말 내의 다른 데이터 손실을 감지하는 경우, 상기 단말과 연동하는 적어도 하나의 다른 단말에서의 데이터 손실 발생을 감지하는 경우 및 상기 단말 자체에서의 데이터 손실 발생을 감지하는 경우 중 적어도 하나를 포함할 수 있다.
본 발명의 실시예에 따른 데이터 백업 관리 방법은 제어부에 의해, 백그라운드 상태에서 미리 설정된 시간 간격으로 미리 설정된 백업 폴더 내에 백업 파일이 존재하는지 여부를 확인하는 단계; 상기 확인 결과, 상기 미리 설정된 백업 폴더 내에 백업 파일이 존재할 때, 상기 제어부에 의해, 상기 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한지 여부를 판단하는 단계; 상기 판단 결과, 상기 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일할 때, 상기 제어부에 의해, 다른 프로세스에 의한 상기 백업 파일의 변경을 차단하도록 백그라운드 상태에서 상기 백업 폴더 내의 백업 파일을 배타적으로 오픈해 두는 단계; 미리 설정된 이벤트가 발생할 때, 상기 제어부에 의해, 상기 배타적으로 오픈 중인 백업 파일을 서버 및 적어도 하나의 다른 단말 중 적어도 하나에 전송하는 단계; 및 상기 제어부가 포함된 단말에서 발생한 문제가 해결된 후, 상기 제어부에 의해, 상기 서버 및 적어도 하나의 다른 단말 중 적어도 하나에 전송된 백업 파일을 근거로 손상된 원본 파일을 복원하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한지 여부를 판단하는 단계는, 상기 백업 파일 대신에 미리 설정된 다른 파일의 구조가 미리 설정된 다른 파일의 구조와 동일한지 여부를 판단할 수 있다.
본 발명은 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 해당 백업 파일을 배타적으로 오픈해 두어, 다른 프로세스가 백업 파일을 변경하는 것을 차단하여 1차 방어벽을 제공하고, 랜섬웨어 등의 바이러스에 의해 다른 데이터 손실을 감지하는 경우, 연동하는 다른 단말에서의 데이터 손실/에러 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말 자체에서의 데이터 손실/에러 발생을 감지하는 경우 등의 미리 설정된 이벤트 감지시, 상기 배타적으로 오픈된 백업 파일을 서버 및 다른 단말 중 적어도 하나에 전송함으로써, 해당 단말에서의 문제점을 해결한 후 상기 서버 및 다른 단말 중 적어도 하나에 전송된 백업 파일을 이용하여 손상된 원본 파일을 복구함에 따라 전체 시스템의 안전성을 제공할 수 있고, 병원 등 전자 차트를 이용하는 곳에서 원본 파일에 대응하는 백업 파일을 병원 내의 복수의 다른 단말에서 저장한 상태에서 오류 발생 시 복수의 다른 단말에 저장된 백업 파일을 이용해서 손상된 원본 파일을 복구하며, 단말 내부/외부에서 발생하는 여러 가지 문제에도 불구하고 중요 파일에 대한 보안 및 관리 효율성을 높일 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 데이터 백업 관리 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 단말의 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 데이터 백업 관리 방법을 나타낸 흐름도이다.
도 2는 본 발명의 실시예에 따른 단말의 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 데이터 백업 관리 방법을 나타낸 흐름도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 데이터 백업 관리 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 데이터 백업 관리 시스템(또는 데이터 백업 관리 장치)(10)은 단말(100), 서버(200) 및 다른 단말(300)로 구성된다. 도 1에 도시된 데이터 백업 관리 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 데이터 백업 관리 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 데이터 백업 관리 시스템(10)이 구현될 수도 있다.
상기 단말(100) 및 상기 다른 단말(300)은 스마트폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.
또한, 도 2에 도시한 바와 같이, 상기 단말(100)은 통신부(110), 저장부(120), 표시부(130), 음성 출력부(140) 및 제어부(150)로 구성된다. 도 2에 도시된 단말(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 단말(100)이 구현될 수도 있다.
상기 통신부(110)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 상기 외부의 임의의 단말기는 상기 서버(200), 상기 다른 단말(300) 등을 포함할 수 있다. 여기서, 무선 인터넷 기술로는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 있으며, 상기 통신부(110)는 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. 또한, 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.
또한, 상기 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.
또한, 상기 통신부(110)는 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 상기 서버(200), 상기 다른 단말(300) 등과 무선 신호를 송수신한다.
또한, 상기 통신부(110)는 상기 제어부(150)의 제어에 의해 상기 서버(200), 상기 다른 단말(300) 등으로부터 전송되는 다양한 정보 등을 수신한다.
상기 저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.
또한, 상기 저장부(120)는 상기 단말(100)이 동작하는데 필요한 데이터와 프로그램 등을 저장한다.
즉, 상기 저장부(120)는 상기 단말(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 단말(100)의 기본적인 기능을 위하여 출고 당시부터 단말(100)상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(120)에 저장되고, 단말(100)에 설치되어, 제어부(150)에 의하여 상기 단말(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
또한, 상기 저장부(120)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 단말(100)은 인터넷(internet)상에서 저장부(120)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 상기 웹 스토리지와 관련되어 동작할 수도 있다.
또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등을 저장한다.
상기 표시부(또는 디스플레이부)(130)는 상기 제어부(150)의 제어에 의해 상기 저장부(120)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 상기 표시부(130)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부(130)는 터치 스크린 일 수 있다.
또한, 상기 표시부(130)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode) 중에서 적어도 하나를 포함할 수 있다.
또한, 상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 수신된 다양한 정보 등을 표시한다.
상기 음성 출력부(140)는 상기 제어부(150)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 음성 출력부(140)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 생성된 안내 음성을 출력한다.
또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 상기 수신된 다양한 정보 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.
상기 제어부(controller, 또는 MCU(microcontroller unit)(150)는 상기 단말(100)의 전반적인 제어 기능을 실행한다.
또한, 상기 제어부(150)는 상기 저장부(120)에 저장된 프로그램 및 데이터를 이용하여 단말(100)의 전반적인 제어 기능을 실행한다. 상기 제어부(150)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 저장부(120)에 액세스하여, 상기 저장부(120)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 저장부(120)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
또한, 상기 제어부(150)는 상기 서버(200)와의 연동에 의해, 해당 서버(200)에서 제공하는 응용 프로그램(또는 애플리케이션)을 사용(또는 관리)하기 위한 사용자로 회원 가입하며, 개인 정보(또는 사용자 정보) 등을 상기 서버(200)에 등록한다. 여기서, 상기 개인 정보(또는 사용자 정보)는 이름, 아이디, 비밀번호, 소속, 전화번호, 이메일 주소 등과 같이 해당 서버(200)에서 제공하는 기능의 사용자를 확인할 수 있는 정보를 포함한다.
또한, 회원 가입 절차 수행 시, 상기 제어부(150)는 본인 인증 수단(예를 들어 이동 전화, 신용카드, 아이핀 등 포함)을 통한 인증 기능을 완료해야 상기 서버(200)에 대한 회원 가입 절차를 정상적으로 완료할 수 있다.
또한, 상기 제어부(150)는 상기 서버(200)와의 연동에 의해, 해당 서버(200)에서 제공하는 특정 기능(예를 들어 의료용 전자차트에 대한 데이터/자료/정보)을 관리하기 위한 전용 앱을 해당 단말(100)에 설치(또는 인스톨)한다.
또한, 상기 제어부(150)는 상기 단말(100)에 설치된 다양한 프로그램(또는 해당 프로그램과 관련한 프로세스/애플리케이션/전용 앱)을 실행한다.
또한, 상기 제어부(150)는 해당 프로그램의 실행에 따라, 해당 프로그램의 실행에 의해 생성되는 원본 파일을 해당 프로그램과 관련한 미리 설정된 폴더에 저장한다. 이때, 상기 제어부(150)는 해당 원본 파일에 대응하는 백업 파일을 사용자 요청(예를 들어 상기 전용 앱을 통한 백업 파일 생성 요청 등 포함) 또는 미리 설정된 시간마다 생성하고, 상기 생성되는 백업 파일을 미리 설정된 백업 폴더에 저장한 후, 해당 단말(100)과 동일한 통신망(또는 지역 네트워크, 사내 네트워크 등 포함) 내에 위치하는 적어도 하나의 다른 단말(300)에 동일한 백업 파일을 저장(또는 복사)할 수 있다.
또한, 상기 제어부(150)는 백그라운드 상태에서 미리 설정된 시간 간격(예를 들어 30분)으로 미리 설정된 백업 폴더 내에 백업 파일이 존재하는지 여부를 확인한다.
상기 확인 결과, 상기 미리 설정된 백업 폴더 내에 백업 파일이 존재하지 않은 경우, 상기 제어부(150)는 앞선 미리 설정된 백업 폴더 내에서 백업 파일이 존재하는지 여부를 확인하는 과정으로 복귀(또는 리턴)한다.
또한, 상기 확인 결과, 상기 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 상기 제어부(150)는 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한지 여부(또는 랜섬웨어 등의 바이러스에 의해 해당 원본 파일의 구조가 변경되었는지 여부)를 판단한다.
이때, 상기 제어부(150)는 상기 백업 파일뿐만 아니라 미리 설정된 다른 파일의 구조가 미리 설정된 해당 다른 파일의 구조와 동일한지 여부를 판단할 수도 있다.
이와 같이, 상기 제어부(150)는 특정 파일(예를 들어 상기 백업 파일, 상기 다른 파일 등 포함)의 구조가 미리 설정된 해당 특정 파일의 구조와 동일한지 여부를 판단할 수 있다.
상기 판단 결과, 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일하지 않은 경우(또는 다른 경우)(예를 들어 랜섬웨어 등의 바이러스에 의해 해당 원본 파일의 구조가 변경된 경우 등 포함), 상기 제어부(150)는 백업 파일이 올바른 상태가 아님을 나타내는 정보(예를 들어 바이러스 등에 의해 파일 구조가 변경된 상태임을 나타내는 정보 등 포함)를 상기 표시부(130) 및/또는 상기 음성 출력부(140)를 통해 출력한다.
또한, 상기 판단 결과, 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한 경우, 상기 제어부(150)는 백그라운드 상태에서 해당 백업 파일을 배타적으로(exclusive) 오픈(또는 배타적 오픈)한다. 이때, 상기 배타적으로 오픈되는 백업 파일은 상기 단말(100) 내의 다른 프로세스에 의한 읽기, 쓰기, 읽기/쓰기 등의 동작이 제한될 수 있다. 여기서, 상기 제어부(150)는 임의의 원본 파일에 대해서 미리 설정된 백업 기능에 따라 해당 원본 파일에 대응하는 백업 파일을 상기 저장부(120) 내의 상기 미리 설정된 백업 폴더 내에 저장(또는 생성)한 상태이다.
또한, 상기 제어부(150)는 상기 원본 파일에 대응하는 백업 파일을 해당 단말(100)과 동일한 통신망(또는 지역 네트워크) 내에 위치하는 적어도 하나의 다른 단말(300)에 저장(또는 복사)한다. 이때, 상기 단말(100)은 상기 다른 단말(300)에서 생성된 백업 파일을 해당 단말(100) 내의 미리 설정된 다른 폴더 내에 저장할 수도 있다.
즉, 상기 판단 결과, 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한 경우, 상기 제어부(150)는 백그라운드 상태에서 미리 설정된 적어도 하나의 백그라운드 프로세스를 이용하여 해당 백업 파일을 배타적으로 오픈한다. 이때, 상기 적어도 하나의(또는 복수의) 백그라운드 프로세스는 해당 백업 파일을 읽기 전용으로 배타적으로 동시에 오픈해 둘 수 있다.
이와 같이, 상기 제어부(150)는 백그라운드 상태에서 미리 설정된 적어도 하나의(또는 복수의) 백그라운드 프로세스를 이용하여 해당 백업 파일을 배타적으로 동시에 오픈함에 따라, 상기 적어도 하나의(또는 복수의) 백그라운드 프로세스 중에서 어느 하나(또는 다른 복수)의 백그라운드 프로세스가 정지(또는 킬(kill) 상태)되더라도 상기 적어도 하나의(또는 복수의) 백그라운드 프로세스 중에서 동작 중인 나머지 백그라운드 프로세스에 의해 해당 백업 파일의 배타적 오픈 상태를 계속하여 유지할 수 있다.
여기서, 상기 제어부(150)는 해당 백업 파일 내의 백업 파일의 생성 일자 정보를 확인하여, 해당 백업 파일의 생성 일자가 현재 날짜 및 시각 정보를 기준으로 미리 설정된 임계값(예를 들어 3일/72시간) 이내에 해당하는 경우에 한해서, 해당 백업 파일을 배타적으로 오픈할 수도 있다.
이때, 상기 배타적으로 백업 파일이 오픈된 상태에서, 상기 원본 파일에 대해서 미리 설정된 백업 기능에 따라 해당 원본 파일에 대응하는 백업 파일을 업데이트하고자 하는 경우(또는 원본 파일에서 백업 파일을 업데이트하고자 하는 경우), 상기 제어부(150)는 해당 백업 파일과는 다른 파일명의 다른 백업 파일을 생성하고, 상기 배타적으로 오픈된 백업 파일을 종료한 후, 상기 생성된 다른 백업 파일을 배타적으로 오픈할 수도 있다.
예를 들어, ABCDE.BAK 백업 파일이 배타적으로 오픈된 상태에서, 원본 데이터인 ABCDE.DB 파일에 대한 백업 파일을 추가로 생성하고자 하는 경우, 상기 제어부(150)는 해당 백업 파일인 ABCDE.BAK와는 다른 파일명인 ABCDE-복사본.BAK 를 생성하고, 상기 배타적으로 오픈된 ABCDE.BAK 백업 파일의 배타적 오픈 상태를 종료(또는 해제)한 후, 상기 새로 생성된 ABCDE-복사본.BAK를 배타적으로 오픈시킨다.
이와 같이, 원본 파일에 대해서 서로 다른 파일명의 복수의 백업 파일이 생성되는 경우, 상기 단말(100)은 최근 일자(또는 마지막으로 생성된)에 해당하는 백업 파일만을 배타적으로 오픈시킬 수 있다.
또한, 미리 설정된 이벤트가 발생하는 경우, 상기 제어부(150)는 상기 배타적으로 오픈된 백업 파일을 상기 통신부(110)를 통해 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송(또는 임시 저장)한다. 여기서, 상기 미리 설정된 이벤트는 랜섬웨어 등의 바이러스에 의해 단말(100) 내의 다른 데이터 손실을 감지하는 경우, 해당 단말(100)과 연동하는 적어도 하나의 다른 단말(300)에서의 데이터 손실(또는 데이터 에러) 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말(100) 자체에서의 데이터 손실(또는 데이터 에러) 발생을 감지하는 경우 등을 포함한다.
즉, 상기 단말(100)에서 상기 미리 설정된 이벤트가 발생(또는 감지)하는 경우, 상기 제어부(150)는 상기 배타적으로 오픈 중인 백업 파일을 상기 통신부(110)를 통해 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송한다. 이때, 상기 제어부(150)는 미리 등록된 사용자 단말(미도시)에 상기 단말(100)에서의 특정 이벤트가 발생하였음을 나타내는 안내 정보를 상기 통신부(110)를 통해 제공(또는 전송)한다. 또한, 상기 사용자 단말은 상기 단말(100)로부터 제공되는 상기 단말(100)에서의 특정 이벤트가 발생하였음을 나타내는 안내 정보를 수신 및 표시할 수 있다.
또한, 상기 단말(100)은 상기 백업 파일이 상기 서버(200) 및/또는 상기 다른 단말(300)에 전송된 상태임을 나타내는 정보 등을 상기 표시부(130) 및/또는 상기 음성 출력부(140)를 통해 출력한다.
또한, 해당 단말(100)에서 랜섬웨어 등 바이러스에 의해 원본 데이터 손실이 발생한 이후, 상기 원본 데이터 손실을 초래한 문제가 해결된 경우, 상기 제어부(150)는 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)로부터 제공되는 백업 파일 또는 상기 저장부(120) 내의 백업 폴더에 저장된 백업 파일을 근거로 앞서 손상된 원본 파일을 복원한다. 이때, 상기 제어부(150)는 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)과 연동하여, 해당 단말(100)에 대한 인증이 성공적으로 수행된 이후에, 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)로부터 상기 백업 파일을 제공받을 수도 있다.
즉, 상기 단말(100)에서 발생한 문제가 해결된 경우(예를 들어 랜섬웨어에 의해 바이러스가 치료된 경우, 단말(100) 내의 하드디스크나 메모리에 대한 복구가 완료된 경우 등을 포함하는 상기 이벤트에 따른 문제가 해결된 경우), 상기 제어부(150)는 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 저장된 상기 백업 파일의 전송을 요청하기 위한 백업 파일 전송 요청 신호를 상기 통신부(110)를 통해 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송한다.
또한, 상기 제어부(150)는 상기 백업 파일 전송 요청 신호에 응답하여 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)로부터 전송되는 해당 백업 파일을 상기 통신부(110)를 통해 수신한다.
또한, 상기 제어부(150)는 상기 수신된 백업 파일을 근거로 해당 백업 파일에 대응하는 손상된 원본 파일을 복원(또는 복구/생성)한다.
이때, 상기 제어부(150)는 상기 백업 파일 전송 요청 신호에 응답하여 상기 서버(200)로부터 전송되는 복원된 상태의 원본 파일을 상기 통신부(110)를 통해 수신할 수도 있다.
또한, 상기 제어부(150)는 앞서 전송된 백업 파일 전송 요청 신호에 응답하여 상기 서버(200)로부터 전송되는 복원된 원본 파일을 상기 통신부(110)를 통해 수신하고, 상기 수신된 복원된 원본 파일을 이용하여 추가 기능을 수행할 수도 있다.
상기 서버(200)는 상기 단말(100), 상기 다른 단말(300) 등과 통신한다.
또한, 상기 서버(200)는 상기 단말(100)과의 연동에 의해, 상기 단말(100)의 사용자가 해당 서버(200)에서 제공하는 전용 앱을 이용해서 해당 전용 앱에서 제공하는 기능을 수행하기 위한 사용자(또는 관리자)로의 등록 절차, 해당 사용자에 대한 회원 가입 절차 등을 수행한다.
또한, 상기 서버(200)는 해당 단말(100)의 사용자와 관련한 개인 정보(또는 사용자 정보) 등을 등록한다. 이때, 상기 서버(200)는 해당 단말(100)의 사용자에 대해서 상기 서버(200)에서 관리하는 복수의 파일에 대한 접근 권한(또는 관리 권한)(예를 들어 최상위 등급인 1등급에서 최하위 등급인 5등급 사이 중 어느 하나의 등급)을 설정할 수 있다.
또한, 상기 미리 설정된 이벤트가 발생하는 경우, 상기 서버(200)는 상기 단말(100)로부터 전송되는 백업 파일, 상기 단말(100)의 식별 정보 등을 수신한다. 여기서, 상기 단말(100)의 식별 정보는 MDN(Mobile Directory Number), 모바일 IP, 모바일 MAC, Sim(subscriber identity module: 가입자 식별 모듈) 카드 고유정보, 시리얼번호 등을 포함한다.
또한, 상기 서버(200)는 상기 수신된 백업 파일, 상기 단말(100)의 식별 정보 등을 저장한다.
즉, 상기 서버(200)는 해당 단말(100)의 식별 정보(또는 해당 단말(100)의 식별 정보에 대응하는 사용자 정보/회원 정보)와 상기 백업 파일을 매칭하여 저장한다.
또한, 상기 서버(200)에서 상기 단말(100)로부터 전송되는 백업 파일 전송 요청 신호를 수신하는 경우, 상기 서버(200)는 상기 서버(200)에 저장된 해당 단말(100)의 식별 정보와 매칭된 백업 파일을 상기 단말(100)에 전송한다. 이때, 상기 서버(200)는 상기 단말(100)과 연동하여 해당 단말(100)에 대한 인증 절차(예를 들어 아이핀 인증, 공인인증서 인증, 고유 번호 발신에 따른 문자 메시지 인증 등 포함)를 수행하고, 인증 절차가 성공적으로 수행된 경우에 한해, 해당 단말(100)의 식별 정보와 매칭된 백업 파일을 상기 단말(100)에 전송할 수도 있다.
또한, 상기 서버(200)에서 상기 단말(100)로부터 전송되는 백업 파일 전송 요청 신호를 수신하는 경우, 상기 서버(200)는 상기 서버(200)에 저장된 백업 파일을 근거로 해당 백업 파일에 대응하는 손상된 원본 파일을 복원한다.
또한, 상기 서버(200)는 해당 단말(100)로부터 전송되는 백업 파일 전송 요청 신호에 응답하여 상기 복원된 원본 파일을 상기 단말(100)에 전송한다.
상기 다른 단말(300)은 상기 단말(100), 상기 서버(200) 등과 통신한다.
또한, 상기 다른 단말(300)은 상기 서버(200)와의 연동에 의해, 해당 다른 단말(300)의 사용자에 대한 회원 가입 절차 등을 수행한다.
또한, 상기 미리 설정된 이벤트가 발생하는 경우, 상기 다른 단말(300)은 상기 단말(100)로부터 전송되는 백업 파일, 상기 단말(100)의 식별 정보 등을 수신한다. 여기서, 상기 단말(100)의 식별 정보는 MDN, 모바일 IP, 모바일 MAC, Sim(가입자 식별 모듈) 카드 고유정보, 시리얼번호 등을 포함한다.
또한, 상기 다른 단말(300)은 상기 수신된 백업 파일, 상기 단말(100)의 식별 정보 등을 저장한다.
즉, 상기 다른 단말(300)은 해당 단말(100)의 식별 정보(또는 해당 단말(100)의 식별 정보에 대응하는 사용자 정보/회원 정보)와 상기 백업 파일을 매칭하여 저장한다.
또한, 상기 다른 단말(300)에서 상기 단말(100)로부터 전송되는 백업 파일 전송 요청 신호를 수신하는 경우, 상기 다른 단말(300)은 상기 다른 단말(300)에 저장된 해당 단말(100)의 식별 정보와 매칭된 백업 파일을 상기 단말(100)에 전송한다.
또한, 상기 다른 단말(300)에서의 데이터 손실(또는 데이터 에러)이 발생하는 경우, 상기 다른 단말(300)은 해당 다른 단말(300)에서의 데이터 손실 발생에 대한 정보를 상기 단말(100), 상기 서버(200), 또 다른 단말 등에 전송(또는 제공)한다.
이와 같이, 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 해당 백업 파일을 배타적으로 오픈해 두어, 다른 프로세스가 백업 파일을 변경하는 것을 차단하여 1차 방어벽을 제공하고, 랜섬웨어 등의 바이러스에 의해 다른 데이터 손실을 감지하는 경우, 연동하는 다른 단말에서의 데이터 손실/에러 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말 자체에서의 데이터 손실/에러 발생을 감지하는 경우 등의 미리 설정된 이벤트 감지시, 상기 배타적으로 오픈된 백업 파일을 서버 및 다른 단말 중 적어도 하나에 전송할 수 있다.
이하에서는, 본 발명에 따른 데이터 백업 관리 방법을 도 1 내지 도 3을 참조하여 상세히 설명한다.
도 3은 본 발명의 실시예에 따른 데이터 백업 관리 방법을 나타낸 흐름도이다.
먼저, 단말(100)은 백그라운드 상태에서 미리 설정된 시간 간격(예를 들어 30분)으로 미리 설정된 백업 폴더 내에 백업 파일이 존재하는지 여부를 확인한다.
일 예로, ABC 치과 내의 복수의 단말(100) 중 제 1 단말은 백그라운드 상태에서 미리 설정된 매시 정각 및 매시 30분에 미리 설정된 백업 폴더인 backupfolder 내에 백업 파일이 존재하는지 여부를 확인(또는 판단/검사)한다(S310).
상기 확인 결과, 상기 미리 설정된 백업 폴더 내에 백업 파일이 존재하지 않은 경우, 상기 단말(100)은 앞선 미리 설정된 백업 폴더 내에서 백업 파일이 존재하는지 여부를 확인하는 과정으로 복귀(또는 리턴)한다.
일 예로, 상기 확인 결과, 상기 백업 폴더인 backupfolder 내에 백업 파일이 존재하지 않을 때, 상기 제 1 단말은 앞선 미리 설정된 매시 정각 및 매시 30분에 상기 백업 폴더인 backupfolder 내에 백업 파일이 존재하는지 여부를 확인하는 과정(S310 단계)으로 복귀한다(S320).
또한, 상기 확인 결과, 상기 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 상기 단말(100)은 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한지 여부(또는 랜섬웨어 등의 바이러스에 의해 해당 원본 파일의 구조가 변경되었는지 여부)를 판단한다.
이때, 상기 단말(100)은 상기 백업 파일뿐만 아니라 미리 설정된 다른 파일의 구조가 미리 설정된 해당 다른 파일의 구조와 동일한지 여부를 판단할 수도 있다.
이와 같이, 상기 단말(100)은 특정 파일(예를 들어 상기 백업 파일, 상기 다른 파일 등 포함)의 구조가 미리 설정된 해당 특정 파일의 구조와 동일한지 여부를 판단할 수 있다.
일 예로, 상기 확인 결과, 상기 백업 폴더인 backupfolder 내에 백업 파일인 dentalclinic.bak 파일이 존재할 때, 상기 제 1 단말은 상기 dentalclinic.bak 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한지 여부를 판단한다(S330).
상기 판단 결과, 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일하지 않은 경우(또는 다른 경우)(예를 들어 랜섬웨어 등의 바이러스에 의해 해당 원본 파일의 구조가 변경된 경우 등 포함), 상기 단말(100)은 백업 파일이 올바른 상태가 아님을 나타내는 정보(예를 들어 바이러스 등에 의해 파일 구조가 변경된 상태임을 나타내는 정보 등 포함)를 표시한다.
일 예로, 상기 판단 결과, 상기 dentalclinic.bak 파일의 구조가 미리 설정된 백업 파일의 구조와 동일하지 않을 때, 상기 제 1 단말은 상기 dentalclinic.bak 파일의 구조에 변화가 있음을 나타내는 정보를 표시하고, 전체 과정을 종료한다(S340).
또한, 상기 판단 결과, 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한 경우, 상기 단말(100)은 백그라운드 상태에서 해당 백업 파일을 배타적으로 오픈(또는 배타적 오픈)한다. 이때, 상기 배타적으로 오픈되는 백업 파일은 상기 단말(100) 내의 다른 프로세스에 의한 읽기, 쓰기, 읽기/쓰기 등의 동작이 제한될 수 있다. 여기서, 상기 단말(100)은 임의의 원본 파일에 대해서 미리 설정된 백업 기능에 따라 해당 원본 파일에 대응하는 백업 파일을 상기 미리 설정된 백업 폴더 내에 저장(또는 생성)한 상태이다. 또한, 상기 단말(100)은 상기 원본 파일에 대응하는 백업 파일을 해당 단말(100)과 동일한 통신망(또는 지역 네트워크) 내에 위치하는 적어도 하나의 다른 단말(300)에 저장(또는 복사)한다. 이때, 상기 단말(100)은 상기 다른 단말(300)에서 생성된 백업 파일을 해당 단말(100) 내의 미리 설정된 다른 폴더 내에 저장할 수도 있다.
즉, 상기 판단 결과, 해당 백업 폴더 내의 백업 파일의 구조가 미리 설정된 백업 파일의 구조와 동일한 경우, 상기 단말(100)은 백그라운드 상태에서 미리 설정된 적어도 하나의 백그라운드 프로세스를 이용하여 해당 백업 파일을 배타적으로 오픈한다.
일 예로, 상기 판단 결과, 상기 dentalclinic.bak 파일의 구조가 미리 설정된 백업 파일의 구조와 동일할 때, 상기 제 1 단말은 미리 설정된 제 1 백그라운드 프로세스를 이용하여 해당 백업 파일인 dentalclinic.bak 파일을 배타적으로 오픈한다.
다른 일 예로, 상기 판단 결과, 상기 dentalclinic.bak 파일의 구조가 미리 설정된 백업 파일의 구조와 동일할 때, 상기 제 1 단말은 미리 설정된 제 11 백그라운드 프로세스, 제 12 백그라운드 프로세스, 제 13 백그라운드 프로세스 및 제 14 백그라운드 프로세스를 이용하여 해당 백업 파일인 dentalclinic.bak 파일을 동시에 배타적으로 각각 오픈한다(S350).
이후, 미리 설정된 이벤트가 발생하는 경우, 상기 단말(100)은 상기 배타적으로 오픈된 백업 파일을 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송(또는 임시 저장)한다. 여기서, 상기 미리 설정된 이벤트는 랜섬웨어 등의 바이러스에 의해 단말(100) 내의 다른 데이터 손실을 감지하는 경우, 해당 단말(100)과 연동하는 적어도 하나의 다른 단말(300)에서의 데이터 손실(또는 데이터 에러) 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말(100) 자체에서의 데이터 손실(또는 데이터 에러) 발생을 감지하는 경우 등을 포함한다.
즉, 상기 단말(100)에서 상기 미리 설정된 이벤트가 발생(또는 감지)하는 경우, 상기 단말(100)은 상기 배타적으로 오픈 중인 백업 파일을 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송한다. 이때, 상기 단말(100)은 미리 등록된 사용자 단말(미도시)에 상기 단말(100)에서의 특정 이벤트가 발생하였음을 나타내는 안내 정보를 제공(또는 전송)한다.
또한, 상기 단말(100)은 상기 백업 파일(또는 상기 추가 백업 파일)이 상기 서버(200) 및/또는 상기 다른 단말(300)에 전송된 상태임을 나타내는 정보 등을 표시(또는 출력)한다.
일 예로, 랜섬웨어에 의해 제 1 단말 내의 다른 데이터 손실이 감지될 때, 상기 제 1 단말은 상기 서버(200) 및/또는 상기 제 1 단말이 위치한 동일한 ABCD 치과 내의 복수의 단말(100) 중 제 2 단말 내지 제 5 단말과 연동하여, 상기 제 1 단말에서 배타적으로 오픈 중인 dentalclinic.bak 파일을 상기 서버(200) 및 제 2 단말 내지 제 5 단말에 각각 전송한다(S360).
이후, 해당 단말(100)에서 발생한 문제가 해결된 경우, 상기 단말(100)은 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)로부터 제공되는 백업 파일을 근거로 앞서 손상된 원본 파일을 복원한다. 이때, 상기 단말(100)은 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)과 연동하여, 해당 단말(100)에 대한 인증이 성공적으로 수행된 이후에, 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)로부터 상기 백업 파일을 제공받을 수도 있다.
즉, 상기 단말(100)에서 발생한 문제가 해결된 경우, 상기 단말(100)은 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송된 상기 백업 파일의 전송을 요청하기 위한 백업 파일 전송 요청 신호를 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)에 전송한다.
또한, 상기 단말(100)은 상기 백업 파일 전송 요청 신호에 응답하여 상기 서버(200) 및/또는 상기 적어도 하나의 다른 단말(300)로부터 전송되는 해당 백업 파일을 수신한다.
또한, 상기 단말(100)은 상기 수신된 백업 파일을 근거로 해당 백업 파일에 대응하는 손상된 원본 파일(또는 손상된 상태의 원본 파일)을 복원(또는 복구/생성)하여, 손상 이전의 원본 파일을 생성한다.
이때, 상기 단말(100)은 상기 백업 파일 전송 요청 신호에 응답하여 상기 서버(200)로부터 전송되는 복원된 상태의 원본 파일을 수신할 수도 있다.
즉, 상기 서버(200)는 해당 단말(100)로부터 전송되는 백업 파일 전송 요청 신호에 응답하여 상기 서버(200)에 저장된 백업 파일을 근거로 해당 백업 파일에 대응하는 손상된 원본 파일을 복원한다. 또한, 상기 서버(200)는 상기 복원된 원본 파일을 상기 단말(100)에 전송한다. 또한, 상기 단말(100)은 앞서 전송된 백업 파일 전송 요청 신호에 응답하여 상기 서버(200)로부터 전송되는 복원된 원본 파일을 수신하고, 상기 수신된 복원된 원본 파일을 이용하여 추가 기능을 수행할 수도 있다.
일 예로, 상기 제 1 단말에서의 랜섬웨어에 대한 치료가 완료된 후, 상기 제 1 단말은 상기 서버(200)에 전송된 백업 파일의 전송을 상기 서버(200)에 요청한다. 또한, 상기 제 1 단말은 해당 백업 파일과 관련한 인증 절차를 상기 서버(200)와 수행한 후, 상기 인증 절차가 정상적으로 완료될 때, 상기 요청에 응답하여 상기 서버(200)로부터 전송되는 앞서 서버(200)에 전송된 dentalclinic.bak 파일을 수신한다. 또한, 상기 제 1 단말은 상기 수신된 dentalclinic.bak 파일을 근거로 손상된 원본 파일인 dentalclinic.db 파일을 복원한다(S370).
본 발명의 실시예는 앞서 설명된 바와 같이, 미리 설정된 백업 폴더 내에 백업 파일이 존재하는 경우, 해당 백업 파일을 배타적으로 오픈해 두어, 다른 프로세스가 백업 파일을 변경하는 것을 차단하여 1차 방어벽을 제공하고, 랜섬웨어 등의 바이러스에 의해 다른 데이터 손실을 감지하는 경우, 연동하는 다른 단말에서의 데이터 손실/에러 발생을 감지하는 경우, 하드 디스크 또는 메모리 손상에 따른 단말 자체에서의 데이터 손실/에러 발생을 감지하는 경우 등의 미리 설정된 이벤트 감지시, 상기 배타적으로 오픈된 백업 파일을 서버 및 다른 단말 중 적어도 하나에 전송하여, 해당 단말에서의 문제점을 해결한 후 상기 서버 및 다른 단말 중 적어도 하나에 전송된 백업 파일을 이용하여 손상된 원본 파일을 복구함에 따라 전체 시스템의 안전성을 제공할 수 있고, 병원 등 전자 차트를 이용하는 곳에서 원본 파일에 대응하는 백업 파일을 병원 내의 복수의 다른 단말에서 저장한 상태에서 오류 발생 시 복수의 다른 단말에 저장된 백업 파일을 이용해서 손상된 원본 파일을 복구하며, 단말 내부/외부에서 발생하는 여러 가지 문제에도 불구하고 중요 파일에 대한 보안 및 관리 효율성을 높일 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 데이터 백업 관리 시스템 100: 단말
200: 서버 300: 다른 단말
110: 통신부 120: 저장부
130: 표시부 140: 음성 출력부
150: 제어부
200: 서버 300: 다른 단말
110: 통신부 120: 저장부
130: 표시부 140: 음성 출력부
150: 제어부
Claims (6)
- 미리 설정된 백업 폴더 내에 제 1 백업 파일이 존재하고 상기 제 1 백업 파일의 구조가 미리 설정된 제 2 백업 파일의 구조와 동일할 때, 다른 프로세스에 의한 상기 제 1 백업 파일의 변경을 차단하도록 백그라운드 상태에서 상기 백업 폴더 내의 제 1 백업 파일을 읽기 전용으로 배타적으로 오픈해 두고, 미리 설정된 이벤트가 발생할 때 상기 배타적으로 오픈 중인 제 1 백업 파일을 서버 및 적어도 하나의 다른 단말 중 적어도 하나에 전송하는 제어부; 및
상기 제어부가 포함된 단말에서 발생한 문제가 해결된 후, 상기 서버 및 적어도 하나의 다른 단말 중 적어도 하나로부터 전송되는 제 1 백업 파일을 수신하는 통신부를 포함하며,
상기 제어부는,
상기 서버 및 적어도 하나의 다른 단말 중 적어도 하나로부터 전송되는 제 1 백업 파일을 근거로 손상된 원본 파일을 복원하는 것을 특징으로 하는 데이터 백업 관리 시스템. - 제 1 항에 있어서,
상기 제어부는,
상기 제 1 백업 파일의 구조가 미리 설정된 제 2 백업 파일의 구조와 동일한지 여부 및 미리 설정된 다른 제 1 파일의 구조가 미리 설정된 다른 제 2 파일의 구조와 동일한지 여부 중 적어도 하나의 경우를 판단하는 것을 특징으로 하는 데이터 백업 관리 시스템. - 제 1 항에 있어서,
상기 제어부는,
미리 설정된 복수의 백그라운드 프로세스를 통해 읽기 전용으로 상기 제 1 백업 파일을 동시에 배타적으로 오픈해 두도록 제어하는 것을 특징으로 하는 데이터 백업 관리 시스템. - 제 1 항에 있어서,
상기 미리 설정된 이벤트는,
바이러스에 의해 단말 내의 다른 데이터 손실을 감지하는 경우, 상기 단말과 연동하는 적어도 하나의 다른 단말에서의 데이터 손실 발생을 감지하는 경우 및 상기 단말 자체에서의 데이터 손실 발생을 감지하는 경우 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 백업 관리 시스템. - 제어부에 의해, 백그라운드 상태에서 미리 설정된 시간 간격으로 미리 설정된 백업 폴더 내에 백업 파일이 존재하는지 여부를 확인하는 단계;
상기 확인 결과, 상기 미리 설정된 백업 폴더 내에 제 1 백업 파일이 존재할 때, 상기 제어부에 의해, 상기 제 1 백업 파일의 구조가 미리 설정된 제 2 백업 파일의 구조와 동일한지 여부를 판단하는 단계;
상기 판단 결과, 상기 제 1 백업 파일의 구조가 미리 설정된 제 2 백업 파일의 구조와 동일할 때, 상기 제어부에 의해, 다른 프로세스에 의한 상기 제 1 백업 파일의 변경을 차단하도록 백그라운드 상태에서 상기 백업 폴더 내의 제 1 백업 파일을 읽기 전용으로 배타적으로 오픈해 두는 단계;
미리 설정된 이벤트가 발생할 때, 상기 제어부에 의해, 상기 배타적으로 오픈 중인 제 1 백업 파일을 서버 및 적어도 하나의 다른 단말 중 적어도 하나에 전송하는 단계; 및
상기 제어부가 포함된 단말에서 발생한 문제가 해결된 후, 상기 제어부에 의해, 상기 서버 및 적어도 하나의 다른 단말 중 적어도 하나에 전송된 제 1 백업 파일을 근거로 손상된 원본 파일을 복원하는 단계를 포함하는 데이터 백업 관리 방법. - 제 5 항에 있어서,
상기 제 1 백업 파일의 구조가 미리 설정된 제 2 백업 파일의 구조와 동일한지 여부를 판단하는 단계는,
상기 제 1 백업 파일 대신에 미리 설정된 다른 제 1 파일의 구조가 미리 설정된 다른 제 2 파일의 구조와 동일한지 여부를 판단하는 것을 특징으로 하는 데이터 백업 관리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180117525A KR101954976B1 (ko) | 2018-10-02 | 2018-10-02 | 데이터 백업 관리 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180117525A KR101954976B1 (ko) | 2018-10-02 | 2018-10-02 | 데이터 백업 관리 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101954976B1 true KR101954976B1 (ko) | 2019-03-06 |
Family
ID=65761479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180117525A KR101954976B1 (ko) | 2018-10-02 | 2018-10-02 | 데이터 백업 관리 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101954976B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045902A (zh) * | 2019-04-22 | 2019-07-23 | 珠海格力电器股份有限公司 | 数据处理方法及装置、折叠设备 |
KR102221593B1 (ko) * | 2020-10-23 | 2021-03-02 | 주식회사 오파스넷 | 단말의 설치 환경 유지를 위한 시스템 |
CN114518977A (zh) * | 2020-11-19 | 2022-05-20 | 青岛海信宽带多媒体技术有限公司 | 一种高安分区数据损坏的检测与恢复方法、装置及终端 |
KR20220095454A (ko) * | 2020-12-30 | 2022-07-07 | 포항공과대학교 산학협력단 | 랜섬웨어 피해 복원을 위한 p2p 디스크 복원 방법 및 장치 |
WO2023033584A1 (ko) * | 2021-09-03 | 2023-03-09 | 삼성전자(주) | 전자장치 및 그 제어방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080082752A (ko) * | 2007-03-09 | 2008-09-12 | 이병배 | 이중파일백업 방법 |
KR100948386B1 (ko) * | 2009-08-10 | 2010-03-22 | 주식회사 시큐브 | 컴퓨터 시스템의 원본 보존 장치 및 방법 |
JP2011053741A (ja) * | 2009-08-31 | 2011-03-17 | Lenovo Singapore Pte Ltd | 設定情報データベースを管理するコンピュータ・プログラム |
KR101765211B1 (ko) | 2016-01-28 | 2017-08-04 | 세종대학교산학협력단 | 랜섬웨어 예방 시스템 및 방법 |
KR20170096699A (ko) * | 2016-02-17 | 2017-08-25 | 박영춘 | 화이트리스트 및 블랙리스트에 기반한 랜섬웨어 차단 시스템 및 방법 |
-
2018
- 2018-10-02 KR KR1020180117525A patent/KR101954976B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080082752A (ko) * | 2007-03-09 | 2008-09-12 | 이병배 | 이중파일백업 방법 |
KR100948386B1 (ko) * | 2009-08-10 | 2010-03-22 | 주식회사 시큐브 | 컴퓨터 시스템의 원본 보존 장치 및 방법 |
JP2011053741A (ja) * | 2009-08-31 | 2011-03-17 | Lenovo Singapore Pte Ltd | 設定情報データベースを管理するコンピュータ・プログラム |
KR101765211B1 (ko) | 2016-01-28 | 2017-08-04 | 세종대학교산학협력단 | 랜섬웨어 예방 시스템 및 방법 |
KR20170096699A (ko) * | 2016-02-17 | 2017-08-25 | 박영춘 | 화이트리스트 및 블랙리스트에 기반한 랜섬웨어 차단 시스템 및 방법 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045902A (zh) * | 2019-04-22 | 2019-07-23 | 珠海格力电器股份有限公司 | 数据处理方法及装置、折叠设备 |
KR102221593B1 (ko) * | 2020-10-23 | 2021-03-02 | 주식회사 오파스넷 | 단말의 설치 환경 유지를 위한 시스템 |
CN114518977A (zh) * | 2020-11-19 | 2022-05-20 | 青岛海信宽带多媒体技术有限公司 | 一种高安分区数据损坏的检测与恢复方法、装置及终端 |
KR20220095454A (ko) * | 2020-12-30 | 2022-07-07 | 포항공과대학교 산학협력단 | 랜섬웨어 피해 복원을 위한 p2p 디스크 복원 방법 및 장치 |
KR102433435B1 (ko) | 2020-12-30 | 2022-08-18 | 포항공과대학교 산학협력단 | 랜섬웨어 피해 복원을 위한 p2p 디스크 복원 방법 및 장치 |
WO2023033584A1 (ko) * | 2021-09-03 | 2023-03-09 | 삼성전자(주) | 전자장치 및 그 제어방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101954976B1 (ko) | 데이터 백업 관리 시스템 및 그 방법 | |
US10361857B2 (en) | Electronic stamp system for security intensification, control method thereof, and non-transitory computer readable storage medium having computer program recorded thereon | |
US10183516B2 (en) | Information processing apparatus, communications system, and communications method | |
EP2667314B1 (en) | System and method for detection and treatment of malware on data storage devices | |
KR102111180B1 (ko) | 동적 프리젠테이션과 데이터 구성을 사용하여 보안 모바일 협력 애플리케이션을 구축하기 위한 플랫폼 | |
US9848072B2 (en) | Electronic device monitoring method and apparatus | |
US20170201378A1 (en) | Electronic device and method for authenticating identification information thereof | |
EP3409073B1 (en) | Method and electronic device for providing tethering service | |
WO2016137297A1 (en) | Method and device for controlling payment function | |
US20220253520A1 (en) | Methods and systems for verifying applications | |
JP2018041487A (ja) | 接続デバイスでの強制暗号化 | |
US20170243023A1 (en) | Electronic device and operating method thereof | |
KR101586048B1 (ko) | 불법 어플리케이션 차단 시스템 및 서버, 이를 위한 통신 단말기 및 불법 어플리케이션 차단 방법과 기록매체 | |
US9734307B2 (en) | User terminal interworking with peripheral device and method for preventing leakage of information using the same | |
CN103902882B (zh) | 一种防止用户信息泄漏的终端及方法 | |
CN109522683B (zh) | 软件溯源方法、系统、计算机设备及存储介质 | |
WO2018131910A1 (en) | Electronic device and method for creating shortcut to web page in electronic device | |
EP3001652B1 (en) | Method for providing information and an electronic device thereof | |
EP3816794A1 (en) | Application software installation method and device, and server | |
CN107124311B (zh) | 一种数据服务系统 | |
KR102222696B1 (ko) | 메시지 전송 방법 및 장치 | |
CN111736859B (zh) | 操作系统的版本更新方法、服务器以及终端 | |
JP6989457B2 (ja) | 外部情報受配信装置、データ送信方法、及びプログラム | |
US10070316B2 (en) | Permission delegation framework | |
US20190303654A1 (en) | System to strengthen uniqueness of selfie for expression-based authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |