KR101993309B1 - Method and program for storing service data by cloud account - Google Patents
Method and program for storing service data by cloud account Download PDFInfo
- Publication number
- KR101993309B1 KR101993309B1 KR1020170069281A KR20170069281A KR101993309B1 KR 101993309 B1 KR101993309 B1 KR 101993309B1 KR 1020170069281 A KR1020170069281 A KR 1020170069281A KR 20170069281 A KR20170069281 A KR 20170069281A KR 101993309 B1 KR101993309 B1 KR 101993309B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- service
- cloud
- user
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000003860 storage Methods 0.000 claims abstract description 41
- 238000012217 deletion Methods 0.000 claims description 20
- 230000037430 deletion Effects 0.000 claims description 20
- 238000005192 partition Methods 0.000 claims description 17
- 238000013500 data storage Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000007717 exclusion Effects 0.000 claims description 3
- 230000008929 regeneration Effects 0.000 claims description 3
- 238000011069 regeneration method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 클라우드계정을 이용한 서비스내부데이터 저장방법 및 프로그램에 관한 것이다.
본 발명의 일실시예에 따른 클라우드계정을 이용한 서비스내부데이터 저장방법은, 서비스서버가 사용자에 의해 각각의 클라우드서버에 접근하여 로그인을 수행하도록 요청하는 단계(S400); 상기 클라우드서버로부터 토큰데이터를 수신하는 단계(S600; 토큰데이터수신단계); 및 온라인상의 그룹공간에 업로드된 서비스내부데이터를 분할하여 생성된 복수의 분할데이터를 그룹에 포함된 사용자의 클라우드 스토리지에 분산저장하는 단계(S1000; 서비스내부데이터저장단계);를 포함한다. The present invention relates to a service internal data storing method and program using a cloud account.
A method for storing service internal data using a cloud account according to an embodiment of the present invention includes: requesting a service server to access each cloud server by a user to perform login (S400); Receiving token data from the cloud server (S600; token data receiving step); And a step (S1000) of storing the plurality of divided data generated by dividing the service internal data uploaded in the group space on-line into the cloud storage of the users included in the group (S1000: internal service data storing step).
Description
본 발명은 클라우드계정을 이용한 서비스내부데이터 저장방법 및 프로그램에 관한 것으로, 보다 자세하게는 서비스 내에 저장되는 데이터를 복수의 클라우드계정에 분산 저장하는 방법 및 프로그램에 관한 것이다.The present invention relates to a service internal data storage method and program using a cloud account, and more particularly, to a method and a program for distributing and storing data stored in a service in a plurality of cloud accounts.
클라우드 서비스는 가상화 컴퓨팅, 유틸리티 컴퓨팅, 온디맨드(on demand) 컴퓨팅 등과 같은 다양한 컴퓨팅 방식과 통신 서비스를 혼합된 것으로서, 일반적으로는 가상화된 컴퓨터 시스템을 구축하여 사용자에게 다양한 소프트웨어, 보안 솔루션 또는 컴퓨팅 리소스를 제공하는 서비스를 의미한다.Cloud services are a mix of computing and communication services, such as virtualization, utility, and on demand computing. Typically, virtualized computer systems are used to provide users with a variety of software, security solutions, or computing resources. Means the service provided.
특히, 클라우드 서비스는 사용자에게 폭넓은 데이터 저장 서비스를 제공할 수 있으며, 이를 통해 사용자는 개인용 컴퓨터 장치에 개별적으로 저장하던 프로그램이나 문서를 인터넷 기반의 클라우드서버에 저장할 수 있다.In particular, the cloud service can provide a wide range of data storage services to the user, allowing the user to store programs or documents individually stored in the personal computer device in an Internet-based cloud server.
그리고, 사용자는 개인용 컴퓨터나 스마트폰과 같은 다양한 단말기를 통해 클라우드서버에 저장된 프로그램이나 문서를 구동 또는 열람할 수 있다. 이러한, 클라우드 서비스는 사용자가 장소에 영향받지 않고 저장한 데이터에 자유롭게 접근할 수 있게 하고, 사용자가 개인적으로 구비할 수 있는 것보다 더욱 풍부한 컴퓨팅 리소스를 활용할 수 있게 하는 장점이 있다.And, the user can drive or browse a program or a document stored in the cloud server through various terminals such as a personal computer or a smart phone. This cloud service has the advantage of allowing the user to freely access the stored data without being affected by the place, and to utilize a richer computing resource than the user can personally provide.
또한, 서버 기반으로 다양한 온라인 서비스가 제공되고 있다. 통신 속도가 빨라지는 등의 통신기술의 발달에 따라, 온라인 서비스는 서버 내에 많은 서비스 운영과정에서 획득되는 데이터를 저장하게 되었다. 이에 따라, 온라인 서비스가 운영되는 과정에서 사용자의 증가 등에 의해 저장되는 데이터가 늘어나면 스토리지 공간 확보를 위해 서버를 확충하여야 한다.In addition, various online services are provided based on the server. With the development of communication technologies such as faster communication speed, online service stores data acquired in a service operation process in a server. Accordingly, when the amount of data to be stored increases due to an increase in users during the online service operation, the server must be expanded to secure storage space.
본 발명은 특정한 서비스를 제공하는 과정에서 생성되고 저장되는 데이터를 서비스서버 공간에 저장하지 않고 복수의 클라우드 계정에 분산 저장하여, 서비스서버의 사용용량을 줄여주는, 클라우드계정을 이용한 서비스내부데이터 저장방법 및 프로그램을 제공하고자 한다.The present invention relates to a service internal data storage method using a cloud account, in which data generated and stored in a process of providing a specific service is distributedly stored in a plurality of cloud accounts without being stored in a service server space, And programs.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems, and other problems which are not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 일실시예에 따른 클라우드계정을 이용한 서비스내부데이터 저장방법은, 서비스서버가 사용자에 의해 각각의 클라우드서버에 접근하여 로그인을 수행하도록 요청하는 단계; 상기 클라우드서버로부터 토큰데이터를 수신하여 저장하되, 상기 토근데이터는 서비스서버에 특정한 사용자의 클라우드 스토리지 공간에 접근 허가하는 것인, 토큰데이터수신단계; 및 온라인상의 그룹공간에 업로드된 서비스내부데이터를 분할하여 생성된 복수의 분할데이터를 복수의 클라우드 스토리지에 분산저장하는 서비스내부데이터저장단계;를 포함한다.According to an embodiment of the present invention, there is provided a method of storing service internal data using a cloud account, the method comprising: requesting a service server to access each cloud server by a user and perform login; Receiving token data from the cloud server and storing the token data, wherein the token data is allowed to access a cloud storage space of a specific user to a service server; And a service internal data storage step of distributing and storing a plurality of divided data generated by dividing the service internal data uploaded in the group space on-line into a plurality of cloud storages.
또한, 다른 일실시예로, 상기 서비스내부데이터를 복수의 세부데이터로 나누어 1차암호화를 수행하고, 각각의 세부데이터를 특정한 압축방식으로 각각 압축하는 2차암호화를 수행하여 복수의 분할데이터를 생성하는 것을 특징으로 한다.In another embodiment, the service internal data is divided into a plurality of pieces of detailed data to perform primary encryption, and secondary data encryption is performed to compress each piece of detailed data in a specific compression method to generate a plurality of divided data pieces .
또한, 다른 일실시예로, 상기 서비스내부데이터저장단계는, 상기 서비스내부데이터를 복제하여 제1서비스내부데이터와 제2서비스내부데이터로 생성하는 단계; 상기 제1서비스내부데이터와 상기 제2서비스내부데이터를 동일한 분할방식을 적용하여, 동일한 복수의 제1분할데이터와 복수의 제2 분할데이터를 생성하는 단계; 및 상기 복수의 제1분할데이터와 상기 복수의 제2분할데이터 내의 동일한 데이터가 사용자와 클라우드서비스 종류가 겹치지 않도록 분배하여 저장요청하는 단계;를 포함한다.According to another embodiment of the present invention, the step of storing the service internal data includes the steps of: duplicating the service internal data to generate first internal data and second internal data; Generating the same first division data and a plurality of second division data by applying the same division method to the first service internal data and the second service internal data; And distributing the same data in the plurality of first divided data and the plurality of second divided data such that the types of users do not overlap with the types of cloud services and storing the same.
또한, 다른 일실시예로, 특정한 사용자가 그룹에서 제외되는 경우, 상기 사용자로부터 제공된 하나 이상의 클라우드 계정정보를 확인하는 단계; 기존에 상기 사용자의 클라우드계정 내에 저장된 삭제데이터를 확인하는 단계; 상기 삭제데이터에 대응되는 페어데이터를 탐색하되, 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터인, 페어데이터탐색단계; 및 기저장된 분할데이터의 저장위치를 고려하여, 상기 페어데이터가 저장된 클라우드계정과 사용자 및 클라우드서비스 종류가 일치하지 않는 클라우드계정으로 상기 하나 이상의 페어데이터를 전송요청하는 단계;를 포함한다.In another embodiment, the method further comprises: checking at least one cloud account information provided from the user when a specific user is excluded from the group; Checking deletion data stored in the cloud account of the user; A pair data search step of searching for pair data corresponding to the deletion data, wherein the deletion data and the pair data are identical data in the first partition data and the second partition data; And requesting transmission of the at least one pair data to the cloud account in which the pair data is stored and the cloud account in which the type of the user and the cloud service do not match in consideration of the storage location of the previously stored divided data.
또한, 다른 일실시예로, 분할데이터 저장 또는 요청을 위해 특정한 클라우드서비스에 대한 토큰데이터를 클라우드서버로 전송한 후, 상기 토큰데이터가 유효하지 않음을 수신하여 사용자의 그룹제외를 확인하는 것을 특징으로 한다.According to another embodiment of the present invention, after transmitting the token data for the specific cloud service to the cloud server for storing or requesting the divided data, it is received that the token data is invalid and the user's group exclusion is confirmed do.
또한, 다른 일실시예로, 특정한 사용자에 의해 클라우드계정 내의 분할데이터가 저장된 디렉토리가 삭제되는 경우, 하나 이상의 삭제데이터에 대응되는 분할데이터를 확인하는 단계; 상기 삭제데이터에 대응되는 페어데이터를 탐색하되, 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터인, 페어데이터탐색단계; 및 상기 페어데이터를 상기 사용자의 클라우드계정으로 전송요청하여 디렉토리 재생성을 수행하는 단계;를 포함한다.In another embodiment, when the directory in which the partitioned data in the cloud account is stored is deleted by a specific user, the partitioned data corresponding to the at least one deletion data is identified. A pair data search step of searching for pair data corresponding to the deletion data, wherein the deletion data and the pair data are identical data in the first partition data and the second partition data; And requesting the pair data to be transmitted to the cloud account of the user to perform directory regeneration.
또한, 다른 일실시예로, 상기 토큰데이터는, 상기 서비스서버에 의해 생성되는 분할데이터가 저장된 특정한 디렉토리에만 접근 가능하도록 설정된 것이다.Further, in another embodiment, the token data is set to be accessible only to a specific directory in which the partition data generated by the service server is stored.
또한, 다른 일실시예로, 서비스서버가 복수의 사용자로부터 수신된 복수의 클라우드계정정보를 기반으로, 클라우드서비스 개수와 클라우드서비스별 계정개수를 확인하는 단계; 및 상기 클라우드서비스개수 및 상기 클라우드서비스별 계정개수를 기반으로, 서비스내부데이터를 분할하여 분산저장 가능한 최대개수를 산출하는 단계;를 더 포함한다.According to another embodiment of the present invention, there is provided a method for managing a cloud service, comprising: checking a cloud service number and an account number for each cloud service based on a plurality of cloud account information received from a plurality of users; And dividing the service internal data based on the number of cloud services and the number of accounts per cloud service to calculate the maximum number of distributable and storable services.
또한, 다른 일실시예로, 특정한 사용자로부터 서비스내부데이터 전송요청을 수신하는 단계; 상기 수신된 서비스내부데이터에 상응하는 분할데이터 링크주소를 취합하되, 상기 링크주소는 각 분할데이터가 저장된 클라우드서버에 접속하여 분할데이터를 제공받을 수 있는 것인, 링크주소취합단계; 및 상기 사용자의 클라이언트장치로 통합링크를 전송하되, 상기 통합링크는 각 분할데이터에 대한 복수의 링크주소가 연결된 것인, 통합링크전송단계;를 더 포함하되, 상기 클라이언트장치는, 상기 통합링크에 대한 사용자의 조작에 따라, 복수의 분할데이터를 수신하고, 상기 복수의 분할데이터를 병합하여 서비스내부데이터를 생성하는 것을 특징으로 한다.According to another embodiment, there is provided a method for receiving an in-service data transmission request from a specific user, A link address collecting step of collecting a divided data link address corresponding to the received service internal data, wherein the link address is connected to a cloud server storing each divided data to receive divided data; And an integrated link transmission step of transmitting an integrated link to the client device of the user, wherein the integrated link is linked with a plurality of link addresses for each divided data, the client device further comprising: In accordance with an operation of a user of the apparatus, receives a plurality of divided data, and merges the plurality of divided data to generate in-service data.
본 발명의 다른 일실시예에 따른 클라우드계정을 이용한 서비스내부데이터 저장프로그램은, 하드웨어와 결합되어 상기 언급된 클라우드계정을 이용한 서비스내부데이터 저장방법을 실행하며, 매체에 저장된다.A service internal data storage program using a cloud account according to another embodiment of the present invention executes a method of storing service internal data using the above-mentioned cloud account in combination with hardware, and is stored in a medium.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.According to the present invention as described above, the following various effects are obtained.
첫째, 본 발명은 서비스업체에게 서비스 이용자가 늘어나고 서비스 내에 저장되는 데이터가 늘어나더라도 서비스서버의 용량을 크게 확장하지 않아도 되는 효과를 제공한다. 즉, 본 발명은 사용자의 복수의 클라우드 서비스에서 제공하는 개별 클라우드 스토리지를 하나의 큰 클라우드 스토리지처럼 특정한 서비스에 연결하여 사용할 수 있도록 하는 효과를 제공한다.First, the present invention provides an effect that the capacity of the service server is not greatly expanded even if the number of service users increases and data stored in the service increases. That is, the present invention provides the effect that individual cloud storage provided by a plurality of cloud services of a user can be connected to a specific service as one large cloud storage for use.
둘째, 본 발명이 적용된 서비스를 이용하는 사용자들은 스토리지 공간이 필요한 만큼 클라우드계정을 추가하여 확장할 수 있다. 또한, 사용자들은 이용하는 서비스의 서버용량을 사용하기 위해 비용을 지불하지 않아도 되는 효과를 얻을 수 있다.Second, users who use the service to which the present invention is applied can expand the cloud account by adding a cloud account as needed. In addition, users can obtain the effect of not having to pay for using the server capacity of the service to be used.
셋째, 서비스내부데이터를 분할하여 복수의 클라우드 스토리지에 분산저장하므로, 서비스내부데이터가 유출되는 것을 방지하여 보안성을 높일 수 있다. 즉, 서비스내부데이터를 구성하는 데이터 전체를 특정한 서버 내에 저장하여 두는 것이 아니므로, 특정한 서버가 해킹됨에 따라 바로 서비스내부데이터가 유출되는 것을 방지할 수 있다. 또한, 클라우드 스토리지를 직접 제공하는 다른 서비스와는 달리, 본 발명의 실시예들을 이용한 서비스는 서비스서버가 해킹되어도 클라우드 스토리지를 서비스서버 내에 직접 두고 있는 것이 아니므로 해커가 사용자의 데이터에 접근할 수 없는 효과가 있다.Third, since the internal data of the service is divided and stored in a plurality of cloud storages, it is possible to prevent leakage of internal data of the service, thereby enhancing security. In other words, since the entire data constituting the service internal data is not stored in the specific server, it is possible to prevent the in-service data from being leaked as soon as a specific server is hacked. Also, unlike other services that directly provide cloud storage, services using embodiments of the present invention do not directly store cloud storage in the service server even if the service server is hacked, so that the hacker can not access the user's data It is effective.
넷째, 사용자가 사용하던 특정 클라우드 서비스가 서비스 종료되거나 그에 준하는 서비스 불량으로 해당 클라우드 서비스를 더이상 사용하지 못하게 될 경우, 본 발명의 실시예들을 이용하는 서비스는 해당 데이터를 직접 다른 클라우드 스토리지로 옮길 필요없이 자동으로 서비스에 연결된 다른 스토리공간으로 해당 데이터를 옮겨 분산저장(Auto-migration)하여 사용자에게 편의성을 제공한다. 즉, 사용자는 본 발명의 실시예들을 이용하는 서비스에 계정을 추가할 때 해당 계정의 클라우드서비스가 계속 운영되어 서비스내부데이터 저장에 이용할 수 있을 지를 고려하지 않아도 된다.Fourth, in the case where the specific cloud service used by the user is terminated or the service of the corresponding cloud service can not be used due to a service failure corresponding to the service, the service using the embodiments of the present invention does not need to transfer the data directly to another cloud storage , And the data is transferred to another story space connected to the service, and the user is provided with convenience by auto-migration. That is, when adding an account to a service using the embodiments of the present invention, the user does not need to consider whether the cloud service of the account can be continuously operated and used for storing the service internal data.
도 1은 본 발명의 일실시예에 따른 클라우드계정을 이용한 서비스내부데이터 저장시스템의 구조도이다.
도 2 내지 도 8은 본 발명의 실시예들에 따른 클라우드계정을 이용한 서비스내부데이터 저장방법의 순서도이다.1 is a structural diagram of a service internal data storage system using a cloud account according to an embodiment of the present invention.
2 to 8 are flowcharts of a method for storing service internal data using a cloud account according to embodiments of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms " comprises "and / or" comprising "used in the specification do not exclude the presence or addition of one or more other elements in addition to the stated element.
본 명세서에서 '클라우드 서비스'는 인터넷으로 연결된 컴퓨터(데이터센터)에 소프트웨어와 콘텐츠를 저장해 두고 필요할 때마다 꺼내 쓸 수 있는 서비스를 의미한다. In this specification, "cloud service" refers to a service that stores software and contents in a computer (data center) connected to the Internet and can read and write them whenever necessary.
본 명세서에서 '클라우드 계정'은 클라우드서비스에 가입한 특정한 사용자에게 부여된 계정을 의미한다. 각각의 클라우드 계정은 각 클라우드 서비스에서 제공하는 특정 크기의 저장공간을 제공받는다.As used herein, the term " cloud account " refers to an account assigned to a particular user who has subscribed to the cloud service. Each cloud account is provided with a certain amount of storage space provided by each cloud service.
본 명세서에서 '서비스내부데이터'는 서비스서버에 의해 운영되는 서비스 내부에 사용자에 의해 저장되는 데이터를 의미한다. 예를 들어, 협업툴과 같이 복수의 사용자가 가입되는 서비스의 경우, '서비스내부데이터'는 복수의 사용자에 의해 협업그룹의 저장공간 내에 저장하는 데이터를 의미한다.In this specification, 'service internal data' means data stored by a user in a service operated by a service server. For example, in the case of a service to which a plurality of users are subscribed, such as a collaboration tool, 'service internal data' refers to data stored in a storage space of a collaboration group by a plurality of users.
이하, 도면을 참조하여, 본 발명의 실시예들에 따른 클라우드계정을 이용한 서비스내부데이터 저장방법 및 프로그램을 상세히 설명한다.Hereinafter, a service internal data storage method and program using a cloud account according to embodiments of the present invention will be described in detail with reference to the drawings.
도 2을 참조하면, 본 발명의 일실시예에 따른 클라우드계정을 이용한 서비스내부데이터 저장방법은, 서비스서버(100)가 사용자에 의해 각각의 클라우드서버(200)에 접근하여 로그인을 수행하도록 요청하는 단계(S400); 상기 클라우드서버(200)로부터 토큰데이터를 수신하는 단계(S600; 토큰데이터수신단계); 및 온라인상의 그룹공간에 업로드된 서비스내부데이터를 분할하여 생성된 복수의 분할데이터를 그룹에 포함된 사용자의 클라우드 스토리지에 분산저장하는 단계(S1000; 서비스내부데이터저장단계);를 포함한다. 이하, 각 단계에 대한 상세한 설명을 기재한다.Referring to FIG. 2, a service internal data storage method using a cloud account according to an embodiment of the present invention is a method in which a
서비스서버(100)가 사용자에 의해 각각의 클라우드서버(200)에 접근하여 로그인을 수행하도록 요청한다(S400). 일실시예로, 서비스서버(100)는 사용자로부터 클라우드서비스의 아이디와 비밀번호를 직접 입력받아서 클라우드서버(200)에 전송하여 로그인을 진행할 수 있다. 즉, 서비스서버(100)가 하나 이상의 사용자(예를 들어, 특정한 그룹의 정보를 저장하는 서비스인 경우, 그룹에 포함된 복수의 사용자)로부터 하나 이상의 클라우드 계정정보를 수신하고, 각 사용자로부터 요청된 클라우드서버(200)로 계정정보를 전송할 수 있다.The
사용자에 의해 각 클라우드서비스에 로그인을 수행하는 방식의 다른 일실시예로, 서비스서버(100)는 서비스어플리케이션 화면 또는 서비스웹페이지 화면 상에 사용자의 클라우드 계정 로그인 요청에 따라 각 클라우드서비스의 로그인 페이지를 연결하여 제공할 수 있다. 그 후, 각 사용자가 입력한 계정정보(즉, 아이디 및 패스워드)는 클라우드서버(200)로 서비스서버(100)에 저장되지 않고 직접 전송된다. 이를 위해, 서비스서버(100)는 각 클라우드서비스가 다른 서비스에서 접근 가능하도록 제공하는 서드 파티(3rd party) 클라이언트 API(Application Programming Interface)를 포함할 수 있다.In another embodiment of the method of performing login to each cloud service by the user, the
서비스서버(100)는 특정한 사용자의 복수의 클라우드계정을 제공받을 수도 있고, 복수의 사용자로부터 각 사용자의 하나 이상의 클라우드계정을 제공받을 수 있다. 일실시예로, 각 사용자별로 운영되는 서비스인 경우, 특정한 사용자가 본인의 여러 클라우드계정을 제공한다. 즉, 서비스서버(100)는 사용자에 의해 선택되는 클라우드서비스 로그인페이지를 차례대로 제공하여 복수 개의 서로 다른 클라우드서비스의 계정을 제공받을 수 있다.The
다른 일실시예로, 복수의 사용자가 하나의 그룹으로 서비스를 이용하는 경우, 서비스서버(100)는 복수의 사용자로부터 각 사용자가 보유한 하나 이상의 클라우드 계정을 제공받는다. 예를 들어, 복수의 사용자 간의 협업서비스를 제공하는 경우에 복수의 사용자가 공유할 그룹데이터 또는 서비스 내에 입력된 데이터를 저장할 저장공간을 형성하기 위해, 서비스서버(100)는 그룹에 포함된 각각의 사용자로부터 하나 이상의 클라우드계정을 제공받을 수 있다. 후술하는 바와 같이, 각 사용자로부터 제공받은 복수의 클라우드계정의 저장공간이 합쳐져서 서비스 제공 시에 정보를 저장할 공간으로 이용된다.In another embodiment, when a plurality of users use a service as a group, the
또한, 서비스서버(100)는, 제공서비스의 스토리지 공간이 부족하거나 후술하는 바와 같이 서비스에서 배제된 사용자(예를 들어, 협업서비스 내의 그룹에서 제외된 사용자)의 스토리지를 대체할 신규스토리지가 필요한 경우, 사용자로부터 특정한 클라우드서비스에 대한 신규 계정을 입력받아서 추가할 수 있다.In addition, when the
서비스서버(100)가 클라우드서버(200)로부터 토큰데이터를 수신하여 저장한다(S600; 토큰데이터수신단계). 상기 토근데이터는 서비스서버(100)에 특정한 사용자의 클라우드 스토리지 공간에 접근 허가하는 것이다. 서비스서버(100)는 각 사용자의 계정정보에 대응하는 토큰데이터를 수신하여 저장하여 둠에 따라 각 클라우드계정의 계정정보를 저장하지 않고도 클라우드서버(200) 내의 각 계정에 대응하는 스토리지 공간에 접근할 수 있다. 이를 통해, 서비스서버(100)는 연결된 클라우드 계정 개수만큼의 토큰데이터를 저장한다. The
클라우드서버(200)에서 제공되는 토큰데이터는, 일실시예로, 서비스서버(100)에 제공된 계정의 전체디렉토리에 접근하는 것으로 권한이 부여될 수도 있다. 또한, 다른 일실시예로, 특정한 서비스의 데이터가 저장되는 디렉토리에만 접근 가능하도록 권한이 부여될 수도 있다. 예를 들어, 상기 토큰데이터는, 후술되는 바와 같이, 서비스서버(100)에 의해 생성되는 분할데이터가 저장된 특정한 디렉토리에만 접근 가능하도록 설정될 수 있다. 토큰데이터에 의해 접근 가능한 계정 스토리지 공간의 범위는 클라우드서비스 설정 또는 사용자설정에 따라 결정될 수 있다.The token data provided in the cloud server 200 may be authorized to access the entire directory of accounts provided to the
서비스서버(100)가 온라인상에 업로드된 서비스내부데이터를 분할하여 생성된 복수의 분할데이터를 그룹에 포함된 사용자의 클라우드 스토리지에 분산저장한다(S1000; 서비스내부데이터저장단계). 서비스서버(100)는 복수의 클라우드계정에 대한 토큰데이터를 기반으로 각 사용자의 클라우드계정에 분할데이터를 전송한다. 예를 들어, 협업서비스와 같이 복수의 사용자가 온라인 상에 제공되는 그룹공간에 서비스내부데이터(예를 들어, 복수의 사용자 간에 공유할 파일 또는 게시글 등)를 업로드하는 경우, 서비스서버(100)는 그룹공간에 업로드된 서비스내부데이터를 복수의 분할데이터로 분할하여 각각의 클라우드계정에 분배하여 저장할 수 있다.The
서비스서버(100)는 다양한 방식으로 서비스내부데이터를 분할하여 각 계정에 대응되는 스토리지공간에 전송할 수 있다. 서비스내부데이터를 분할하는 방식의 일실시예로, 서비스서버(100)가 특정한 서비스내부데이터를 1차 암호화를 위해 복수의 세부데이터(예를 들어, 하나의 서비스내부데이터를 동일한 크기로 나누어진 데이터)로 분할하고, 2차 암호화를 위해 각각의 세부데이터를 압축하여 각각의 클라우드 스토리지로 분산저장될 분할데이터를 생성할 수 있다.The
또한, 다른 일실시예로, 서비스서버(100)가 특정한 서비스내부데이터를 압축한 후 분할(즉, 분할압축)할 수 있다. 구체적으로, 서비스서버(100)는 상기 서비스내부데이터를 압축하여 1차암호화를 수행하고, 특정한 개수의 파일로 분할하는 2차암호화를 수행하여 복수의 분할데이터를 생성한다. 이를 통해, 특정한 사용자의 클라우드 계정에 분배되어 저장된 분할데이터가 해킹 등에 의해 유출되더라도 서비스내부데이터에 포함된 정보를 확인할 수 없게 된다.Further, in another embodiment, the
또한, 도 3에서와 같이, 다른 일실시예로, 상기 서비스내부데이터저장단계(S1000)에서, 특정한 서비스내부데이터에 대한 분할데이터를 하나씩만 생성하는 경우, 특정한 클라우드계정에 포함된 분할데이터가 소실되면 서비스내부데이터로 복원을 하지 못하는 문제가 발생하게 되므로, 서비스서버(100)는 동일한 분할데이터를 중복으로 생성하여 분산 저장한다. 구체적으로, 상기 서비스내부데이터를 복제하여 제1서비스내부데이터와 제2서비스내부데이터로 생성하는 단계(S1010); 상기 제1서비스내부데이터와 상기 제2서비스내부데이터를 동일한 분할방식을 적용하여, 동일한 복수의 제1분할데이터와 복수의 제2 분할데이터를 생성하는 단계(S1020); 및 상기 복수의 제1분할데이터와 상기 복수의 제2분할데이터 내의 동일한 데이터가 사용자 또는 클라우드서비스 종류가 겹치지 않도록 분배하여 저장요청하는 단계(S1030);를 포함한다. In addition, as shown in FIG. 3, when only one partition data for a specific service internal data is generated in the service internal data storage step (S1000), the partition data included in a specific cloud account is lost The
서비스서버(100)는 서비스내부데이터를 복제하여 제1서비스내부데이터와 제2서비스내부데이터로 생성한다(S1010). 즉, 서비스서버(100)는 사용자에 의해 업로드된 특정한 서비스내부데이터를 복제하여 2개로 생성한다. 예를 들어, 서비스서버(100)는 사용자에 의해 업로드된 원본데이터를 제1서비스내부데이터로 설정하고, 원본데이터를 복제한 복제데이터를 제2서비스내부데이터로 생성할 수 있다.The
그 후, 서비스서버(100)가 상기 제1서비스내부데이터와 상기 제2서비스내부데이터를 동일한 분할방식을 적용하여, 동일한 복수의 제1분할데이터와 복수의 제2 분할데이터를 생성한다(S1020). 즉, 서비스서버(100)는 제1분할데이터와 제2분할데이터가 특정한 쌍을 이루도록 동일한 분할방식(예를 들어, 동일한 데이터 크기로 분할 및 동일한 압축방식)을 적용한다. 이를 통해, 쌍(페어; Pair)을 이루는 제1분할데이터와 제2분할데이터 중 하나가 소실되어도 페어데이터(쌍을 이루는 분할데이터)를 이용하여 복원이 가능하다.Thereafter, the
그 후, 서비스서버(100)가 복수의 제1분할데이터와 복수의 제2분할데이터 내의 동일한 데이터가 사용자 또는 클라우드서비스 종류가 겹치지 않도록 분배하여 저장요청한다(S1030). 사용자 또는 클라우드서비스 종류가 일치하는 계정에 쌍을 이루는 분할데이터를 저장하게 되면, 사용자의 이탈/탈퇴 또는 클라우드서비스의 서비스종료/서버다운 등에 의해 페어데이터를 동시에 소실할 수 있다. 따라서, 사용자 또는 클라우드서비스 종류가 겹치지 않는 계정에 제1분할데이터와 제2분할데이터를 분배하여 저장한다. Thereafter, the
일실시예로, 특정한 사용자 단독으로 사용하는 서비스인 경우, 서비스서버(100)는 사용자가 보유한 각 클라우드서비스에 대한 복수의 클라우드 계정을 제공받을 수 있다. 이 때, 서비스서버(100)는 페어데이터인 제1분할데이터와 제2분할데이터를 동일한 클라우드서비스의 계정에 저장하지 않도록 제어한다. 또한, 다른 일실시예로, 복수의 사용자로부터 제공된 복수의 클라우드계정으로 서비스의 스토리지공간을 형성하는 경우, 서비스서버(100)는 상이한 사용자의 상이한 클라우드서비스 내 계정에 쌍을 이루는 제1분할데이터와 제2분할데이터가 분배되어 저장되도록 제어한다.In an exemplary embodiment, when the service is used by a specific user, the
또한, 본 발명의 일실시예로, 제1서비스내부데이터와 제2서비스내부데이터를 생성한 후 동일한 암호화 방식을 통해 복수의 제1분할데이터와 복수의 제2분할데이터를 생성하는 대신, 특정한 서비스내부데이터를 특정한 암호화방식으로 복수의 분할데이터로 생성한 후, 복수의 분할데이터 전체를 복제하여 복수의 제1분할데이터와 복수의 제2분할데이터를 생성할 수 있다. 그 후, 서비스서버가 복수의 제1분할데이터와 복수의 제2분할데이터를 분배하는 방식은 동일하게 적용할 수 있다.Also, in an embodiment of the present invention, instead of generating the first service internal data and the second service internal data and then generating the plurality of first divided data and the plurality of second divided data through the same encryption method, It is possible to generate a plurality of first divided data and a plurality of second divided data by duplicating all the plurality of divided data after generating the plurality of divided data with the specific encryption method. Thereafter, the service server distributes a plurality of first divided data and a plurality of second divided data in the same manner.
또한, 도 4에서와 같이, 본 발명의 다른 일실시예는, 서비스서버(100)가 소실된 특정한 분할데이터를 복원하는 단계(S1200);를 더 포함한다. 예를 들어, 특정한 분할데이터가 소실되는 경우로, 복수의 사용자로부터 계정정보를 제공받는 경우에 특정한 사용자가 배제되는 경우, 특정한 클라우드서버(200)에 저장된 분할데이터를 제공받을 수 없는 경우(예를 들어, 클라우드서비스가 다운되거나 특정한 클라우드서비스가 더 이상 본발명의 일실시예에 따른 저장방법이 적용된 서비스를 지원하지 않는 경우 등) 또는 사용자에 의해 계정 내의 분할데이터 저장 디렉토리가 삭제되는 경우가 있을 수 있다.In addition, as shown in FIG. 4, another embodiment of the present invention further includes a step (S1200) of restoring specific segmented data that the
일실시예로, 도 5에서와 같이, 특정한 사용자가 그룹에서 제외되는 경우, 상기 사용자로부터 제공된 하나 이상의 클라우드 계정정보를 확인하는 단계(S1210); 기존에 상기 사용자의 클라우드계정 내에 저장된 삭제데이터를 확인하는 단계(S1220); 상기 삭제데이터에 대응되는 페어데이터를 탐색하되, 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터인, 페어데이터탐색단계(S1230); 및 기저장된 분할데이터의 저장위치를 고려하여, 상기 페어데이터가 저장된 클라우드계정과 사용자 및 클라우드서비스 종류가 일치하지 않는 클라우드계정으로 상기 하나 이상의 페어데이터를 전송요청하는 단계(S1240);를 포함한다.In one embodiment, as shown in FIG. 5, if a specific user is excluded from the group, step (S1210) of checking at least one cloud account information provided from the user; Confirming deletion data stored in the cloud account of the user (S1220); A pair data search step (S1230) of searching for pair data corresponding to the deletion data, wherein the deletion data and the pair data are data in the first partition data and the second partition data; And requesting transmission of the at least one pair data to the cloud account in which the pair data is stored and the cloud account in which the type of the user and the cloud service do not coincide with each other, in consideration of the storage location of the previously stored divided data at operation S1240.
먼저, 서비스서버(100)가 사용자로부터 제공된 하나 이상의 클라우드 계정정보를 확인한다(S1210). 즉, 서비스서버(100)는 해당 사용자가 그룹에서 제외됨에 따라 서비스 스토리지 공간에서 제외된 클라우드 계정을 확인한다. First, the
서비스서버(100)는 다양한 방식으로 특정한 사용자가 서비스에서 이탈하였는지 여부를 확인할 수 있다. 일 예로, 서비스서버(100)에서 그룹에 포함된 사용자와 계정의 연결관계를 관리하고 있어서, 서비스서버(100)는 특정한 사용자가 제공서비스에서 제외되면 해당 사용자의 클라우드 계정 전체가 제외되는 것으로 판단한다. 또한, 다른 일 예로, 서비스서버(100)가 특정한 클라우드서버(200)로 특정한 사용자에 대한 클라우드계정에 대한 접근을 위해 토큰데이터를 전송한 후에 클라우드서버(200)로부터 접근 불가 결과를 수신하여 해당 사용자의 클라우드계정이 제공서비스의 스토리지공간에서 제외되었음을 확인한다. 즉, 서비스서버(100)는, 분할데이터 저장 또는 요청을 위해 특정한 클라우드서비스에 대한 토큰데이터를 클라우드서버(200)로 전송한 후, 해당 토큰데이터가 유효하지 않음을 수신하여 사용자의 그룹제외를 확인한다.The
그 후, 서비스서버(100)가 제공서비스에서 제외된 사용자의 클라우드계정 내에 기존에 저장된 삭제데이터를 확인한다(S1220). 상기 삭제데이터는 쌍을 이루는 분할데이터 중에서 삭제된 데이터이다. 예를 들어, 서비스서버(100)는 각 분할데이터의 식별코드와 각 클라우드계정의 식별코드를 매칭하여 저장해두어서, 각 분할데이터의 저장위치(즉, 특정한 분할데이터가 어느 사용자의 어느 클라우드 계정 내에 저장되어 있는지 여부)를 확인할 수 있고, 제공서비스에서 제외된 사용자를 확인하면 해당 사용자로부터 제공된 클라우드 계정에 매칭된 분할데이터(즉, 삭제데이터)를 확인할 수 있다.Thereafter, the
그 후, 서비스서버(100)가 상기 삭제데이터에 대응되는 페어데이터를 탐색한다(S1230; 페어데이터탐색단계). 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터이다. 그 후, 서비스서버(100)는 기저장된 분할데이터의 저장위치를 고려하여, 상기 페어데이터가 저장된 클라우드계정과 사용자 및 클라우드서비스 종류가 일치하지 않는 클라우드계정으로 상기 하나 이상의 페어데이터를 전송요청한다(S1240). Thereafter, the
또한, 도 6에서와 같이, 다른 일실시예로, 특정한 사용자에 의해 클라우드계정 내의 분할데이터가 저장된 디렉토리가 삭제되는 경우, 서비스서버(100)는 삭제된 분할데이터 디렉토리 내의 삭제데이터와 쌍을 이루는 페어데이터를 탐색하여 디렉토리가 삭제된 클라우드계정으로 재전송하여 분할데이터 디렉토리를 재생성한다. 구체적으로, 삭제된 디렉토리 내의 하나 이상의 삭제데이터를 확인하는 단계(S1250); 상기 삭제데이터에 대응되는 페어데이터를 탐색하는 단계(S1260; 페어데이터탐색단계); 및 상기 페어데이터를 상기 사용자의 클라우드계정(즉, 분할데이터 디렉토리가 삭제된 클라우드 계정)으로 전송요청하여 디렉토리 재생성을 수행하는 단계(S127);를 포함한다. 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터이다.6, when the directory in which the partitioned data in the cloud account is stored is deleted by a specific user, the
또한, 도 7에서와 같이, 다른 일실시예로, 서비스서버(100)가 복수의 사용자로부터 수신된 복수의 클라우드계정정보를 기반으로, 클라우드서비스 개수와 클라우드서비스별 계정개수를 확인하는 단계(S700); 및 상기 클라우드서비스개수 및 상기 클라우드서비스별 계정개수를 기반으로, 서비스내부데이터를 분할하여 분산저장 가능한 최대개수를 산출하는 단계(S800);를 더 포함한다. 즉, 서비스서버는 현재 서비스서버에 연결되어 있는 클라우드계정 개수와 클라우드서비스 개수를 기반으로 서비스내부데이터를 암호화하여 생성할 분할데이터의 개수를 결정할 수 있다.7, the
또한, 특정한 서비스내부데이터의 공유요청(예를 들어, 제공서비스 내에 가입된 다른 사용자에 대한 전송요청)을 받는 경우, 서비스서버(100)는 다양한 방식으로 서비스내부데이터를 전송한다. 일실시예로, 서비스서버(100)는 공유요청된 서비스내부데이터에 대한 분할데이터를 수신하고, 복수의 분할데이터로 서비스내부데이터를 복원한 후에 상대방(즉, 제2사용자)의 클라이언트 장치로 전송한다. In addition, when receiving a request for sharing a particular service internal data (for example, a request for transmission to another user subscribed to the provided service), the
또한, 다른 일실시예로, 서비스서버(100)는 클라이언트장치에서 각각의 분할데이터를 수신한 후에 서비스내부데이터로 병합한다. 구체적으로, 도 8에서와 같이, 서비스서버(100)에 의해, 특정한 제1사용자(즉, 제1사용자클라이언트(300))로부터 서비스내부데이터 전송요청을 수신하는 단계(S1300); 상기 수신된 서비스내부데이터에 상응하는 분할데이터 링크주소를 취합하는 단계(S1400; 링크주소취합단계); 및 제2사용자의 클라이언트장치로 통합링크를 전송하는 단계(S1500; 통합링크전송단계);를 더 포함한다.In another embodiment, the
서비스서버(100)가 특정한 사용자로부터 서비스내부데이터 전송요청을 수신한다(S1300). 예를 들어, 제1사용자클라이언트(300)에 표시된 서비스내부데이터 리스트에서 제1사용자로부터 특정한 서비스내부데이터를 선택받는다.The
그 후, 서비스서버(100)가 상기 수신된 서비스내부데이터에 상응하는 분할데이터 링크주소를 취합한다(S1400; 링크주소취합단계). 상기 링크주소는 각 분할데이터가 저장된 클라우드서버(200)에 접속하여 분할데이터를 제공받을 수 있는 것이다. 즉, 서비스서버(100)는 특정한 서비스내부데이터에 대한 각각의 분할데이터가 저장된 계정의 링크주소를 획득한다.Thereafter, the
그 후, 서비스서버(100)가 제2사용자의 제2클라이언트장치(400)로 통합링크를 전송한다(S1500; 통합링크전송단계). 상기 통합링크는 각 분할데이터에 대한 복수의 링크주소가 연결된 것이다. 상기 제2클라이언트장치(400)는, 상기 통합링크에 대한 사용자의 조작에 따라, 복수의 분할데이터를 수신하고, 상기 복수의 분할데이터를 병합하여 서비스내부데이터를 생성한다. Thereafter, the
구체적으로, 서비스서버(100)가 제2사용자의 클라이언트로 복수의 분할데이터에 대한 링크주소가 통합된 통합링크를 제공하고, 제2사용자의 사용자클라이언트(즉, 제2사용자클라이언트)는 사용자에 의해 통합링크 연결이 수행됨에 따라 통합링크에 포함된 각 링크주소를 통해 클라우드계정별 스토리지 공간에 접근하여 각 분할데이터를 수신한다. 그 후, 제2사용자클라이언트는 각 링크주소를 통해 수신된 복수의 분할데이터를 내부에서 병합하여 서비스내부데이터를 복원한다. Specifically, the
이상에서 전술한 본 발명의 일 실시예에 따른 클라우드계정을 이용한 서비스내부데이터 저장방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.As described above, the service internal data storing method using the cloud account according to an embodiment of the present invention may be implemented as a program (or application) to be executed in combination with a hardware computer and stored in the medium.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다. The above-described program may be stored in a computer-readable medium such as C, C ++, JAVA, machine language, or the like that can be read by the processor (CPU) of the computer through the device interface of the computer, And may include a code encoded in a computer language of the computer. Such code may include a functional code related to a function or the like that defines necessary functions for executing the above methods, and includes a control code related to an execution procedure necessary for the processor of the computer to execute the functions in a predetermined procedure can do. Further, such code may further include memory reference related code as to whether the additional information or media needed to cause the processor of the computer to execute the functions should be referred to at any location (address) of the internal or external memory of the computer have. Also, when the processor of the computer needs to communicate with any other computer or server that is remote to execute the functions, the code may be communicated to any other computer or server remotely using the communication module of the computer A communication-related code for determining whether to communicate, what information or media should be transmitted or received during communication, and the like.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The medium to be stored is not a medium for storing data for a short time such as a register, a cache, a memory, etc., but means a medium that semi-permanently stores data and is capable of being read by a device. Specifically, examples of the medium to be stored include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, but are not limited thereto. That is, the program may be stored in various recording media on various servers to which the computer can access, or on various recording media on the user's computer. In addition, the medium may be distributed to a network-connected computer system so that computer-readable codes may be stored in a distributed manner.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.According to the present invention as described above, the following various effects are obtained.
첫째, 본 발명은 서비스업체에게 서비스 이용자가 늘어나고 서비스 내에 저장되는 데이터가 늘어나더라도 서비스서버의 용량을 크게 확장하지 않아도 되는 효과를 제공한다. 즉, 본 발명은 사용자의 복수의 클라우드 서비스에서 제공하는 개별 클라우드 스토리지를 하나의 큰 클라우드 스토리지처럼 특정한 서비스에 연결하여 사용할 수 있도록 하는 효과를 제공한다.First, the present invention provides an effect that the capacity of the service server is not greatly expanded even if the number of service users increases and data stored in the service increases. That is, the present invention provides the effect that individual cloud storage provided by a plurality of cloud services of a user can be connected to a specific service as one large cloud storage for use.
둘째, 본 발명이 적용된 서비스를 이용하는 사용자들은 스토리지 공간이 필요한 만큼 클라우드계정을 추가하여 확장할 수 있다. 또한, 사용자들은 이용하는 서비스의 서버용량을 사용하기 위해 비용을 지불하지 않아도 되는 효과를 얻을 수 있다.Second, users who use the service to which the present invention is applied can expand the cloud account by adding a cloud account as needed. In addition, users can obtain the effect of not having to pay for using the server capacity of the service to be used.
셋째, 서비스내부데이터를 분할하여 복수의 클라우드 스토리지에 분산저장하므로, 서비스내부데이터가 유출되는 것을 방지하여 보안성을 높일 수 있다. 즉, 서비스내부데이터를 구성하는 데이터 전체를 특정한 서버 내에 저장하여 두는 것이 아니므로, 특정한 서버가 해킹됨에 따라 바로 서비스내부데이터가 유출되는 것을 방지할 수 있다. 또한, 클라우드 스토리지를 직접 제공하는 다른 서비스와는 달리, 본 발명의 실시예들을 이용한 서비스는 서비스서버가 해킹되어도 클라우드 스토리지를 서비스서버 내에 직접 두고 있는 것이 아니므로 해커가 사용자의 데이터에 접근할 수 없는 효과가 있다.Third, since the internal data of the service is divided and stored in a plurality of cloud storages, it is possible to prevent leakage of internal data of the service, thereby enhancing security. In other words, since the entire data constituting the service internal data is not stored in the specific server, it is possible to prevent the in-service data from being leaked as soon as a specific server is hacked. Also, unlike other services that directly provide cloud storage, services using embodiments of the present invention do not directly store cloud storage in the service server even if the service server is hacked, so that the hacker can not access the user's data It is effective.
넷째, 사용자가 사용하던 특정 클라우드 서비스가 서비스 종료되거나 그에 준하는 서비스 불량으로 해당 클라우드 서비스를 더이상 사용하지 못하게 될 경우, 본 발명의 실시예들을 이용하는 서비스는 해당 데이터를 직접 다른 클라우드 스토리지로 옮길 필요없이 자동으로 서비스에 연결된 다른 스토리공간으로 해당 데이터를 옮겨 분산저장(Auto-migration)하여 사용자에게 편의성을 제공한다. 즉, 사용자는 본 발명의 실시예들을 이용하는 서비스에 계정을 추가할 때 해당 계정의 클라우드서비스가 계속 운영되어 서비스내부데이터 저장에 이용할 수 있을 지를 고려하지 않아도 된다.Fourth, in the case where the specific cloud service used by the user is terminated or the service of the corresponding cloud service can not be used due to a service failure corresponding to the service, the service using the embodiments of the present invention does not need to transfer the data directly to another cloud storage , And the data is transferred to another story space connected to the service, and the user is provided with convenience by auto-migration. That is, when adding an account to a service using the embodiments of the present invention, the user does not need to consider whether the cloud service of the account can be continuously operated and used for storing the service internal data.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
100 : 서비스서버(100) 200 : 클라우드서버(200)
300 : 제1사용자클라이언트 400 : 제2사용자클라이언트100: service server (100) 200: cloud server (200)
300: first user client 400: second user client
Claims (10)
상기 서비스서버가 상기 클라우드서버로부터 상기 각 사용자가 보유한 클라우드 계정정보에 대응하는 토큰데이터를 수신하여 저장하되, 상기 토큰데이터는 상기 서비스서버가 상기 토큰데이터에 해당하는 클라우드 계정의 스토리지 공간에 접근하도록 허가하는 것인, 토큰데이터수신단계;
상기 서비스서버가 온라인상의 그룹공간에 업로드된 서비스내부데이터를 분할하여 생성된 복수의 분할데이터를 상기 토큰데이터를 기반으로 상기 하나의 그룹에 포함된 상기 복수의 사용자가 보유한 각각의 클라우드 계정의 스토리지 공간에 분산저장하는 서비스내부데이터저장단계;를 포함하되,
상기 그룹공간은 상기 하나의 그룹에 포함된 상기 복수의 사용자가 보유한 각각의 클라우드 계정의 스토리지 공간이 합쳐진 공간이며,
상기 서비스내부데이터는 상기 하나의 그룹에 포함된 상기 복수의 사용자가 공유하는 그룹데이터인, 클라우드계정을 이용한 서비스내부데이터 저장방법.Requesting the service server to perform login by receiving cloud account information held by each user from a plurality of users included in one group and transmitting the received cloud account information to the cloud server;
The service server receives and stores the token data corresponding to the cloud account information held by each user from the cloud server, and the token data is permitted to access the storage space of the cloud account corresponding to the token data Token data receiving step;
Wherein the service server stores a plurality of divided data generated by dividing service internal data uploaded in a group space on-line into a storage space of each cloud account held by the plurality of users included in the one group based on the token data And a service internal data storing step of distributing and storing the service internal data,
Wherein the group space is a space in which storage spaces of respective cloud accounts held by the plurality of users included in the one group are combined,
Wherein the service internal data is group data shared by the plurality of users included in the one group.
상기 서비스내부데이터저장단계는,
상기 서비스내부데이터를 복수의 세부데이터로 나누어 1차암호화를 수행하고, 각각의 세부데이터를 특정한 압축방식으로 각각 압축하는 2차암호화를 수행하여 복수의 분할데이터를 생성하는 것을 특징으로 하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method according to claim 1,
The service internal data storage step includes:
Characterized in that a plurality of divided data is generated by performing secondary encryption by dividing the service internal data into a plurality of detailed data and performing primary encryption and compressing each of the detailed data by a specific compression method, A method for storing service internal data using.
상기 서비스내부데이터저장단계는,
상기 서비스내부데이터를 복제하여 제1서비스내부데이터와 제2서비스내부데이터로 생성하는 단계;
상기 제1서비스내부데이터와 상기 제2서비스내부데이터를 동일한 분할방식을 적용하여, 동일한 복수의 제1분할데이터와 복수의 제2분할데이터를 생성하는 단계; 및
상기 복수의 제1분할데이터와 상기 복수의 제2분할데이터 내의 동일한 데이터가 사용자와 클라우드서비스 종류가 겹치지 않도록 분배하여 저장요청하는 단계;를 포함하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method according to claim 1,
The service internal data storage step includes:
Generating the first service internal data and the second service internal data by duplicating the service internal data;
Generating the same first division data and a plurality of second division data by applying the same division method to the first service internal data and the second service internal data; And
And distributing and storing the same data in the plurality of first divided data and the plurality of second divided data so that the types of users do not overlap with the types of cloud services.
특정한 사용자가 그룹에서 제외되는 경우,
상기 사용자로부터 제공된 하나 이상의 클라우드 계정정보를 확인하는 단계;
기존에 상기 사용자의 클라우드계정 내에 저장된 삭제데이터를 확인하는 단계;
상기 삭제데이터에 대응되는 페어데이터를 탐색하되, 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터인, 페어데이터탐색단계; 및
기저장된 분할데이터의 저장위치를 고려하여, 상기 페어데이터가 저장된 클라우드계정과 사용자 및 클라우드서비스 종류가 일치하지 않는 클라우드계정으로 상기 하나 이상의 페어데이터를 전송요청하는 단계;를 포함하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method of claim 3,
If a particular user is excluded from the group,
Identifying at least one cloud account information provided from the user;
Checking deletion data stored in the cloud account of the user;
A pair data search step of searching for pair data corresponding to the deletion data, wherein the deletion data and the pair data are identical data in the first partition data and the second partition data; And
And requesting transmission of the at least one pair data to the cloud account in which the pair data is stored and the cloud account in which the type of the user and the cloud service do not match in consideration of the storage location of the previously stored divided data. Service internal data storage method.
분할데이터 저장 또는 요청을 위해 특정한 클라우드서비스에 대한 토큰데이터를 클라우드서버로 전송한 후, 상기 토큰데이터가 유효하지 않음을 수신하여 사용자의 그룹제외를 확인하는 것을 특징으로 하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.5. The method of claim 4,
The method comprising: transmitting to a cloud server a token data for a specific cloud service for storing or requesting division data; and receiving a notification that the token data is invalid to confirm the group exclusion of the user. How to store data.
특정한 사용자에 의해 클라우드계정 내의 분할데이터가 저장된 디렉토리가 삭제되는 경우,
하나 이상의 삭제데이터에 대응되는 분할데이터를 확인하는 단계;
상기 삭제데이터에 대응되는 페어데이터를 탐색하되, 상기 삭제데이터와 상기 페어데이터는 제1분할데이터와 제2분할데이터 내의 일치하는 데이터인, 페어데이터탐색단계; 및
상기 페어데이터를 상기 사용자의 클라우드계정으로 전송요청하여 디렉토리 재생성을 수행하는 단계;를 포함하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method of claim 3,
When the directory in which the partitioned data in the cloud account is stored by a specific user is deleted,
Identifying divided data corresponding to at least one erasure data;
A pair data search step of searching for pair data corresponding to the deletion data, wherein the deletion data and the pair data are identical data in the first partition data and the second partition data; And
And requesting the pair data to be transmitted to the user's cloud account to perform directory regeneration.
상기 토큰데이터는,
상기 서비스서버에 의해 생성되는 분할데이터가 저장된 특정한 디렉토리에만 접근 가능하도록 설정된 것인, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method according to claim 1,
The token data,
Wherein the service data is set to be accessible only to a specific directory in which the partition data generated by the service server is stored.
서비스서버가 복수의 사용자로부터 수신된 복수의 클라우드계정정보를 기반으로, 클라우드서비스 개수와 클라우드서비스별 계정개수를 확인하는 단계; 및
상기 클라우드서비스 개수 및 상기 클라우드서비스별 계정개수를 기반으로, 서비스내부데이터를 분할하여 분산저장 가능한 최대개수를 산출하는 단계;를 더 포함하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method according to claim 1,
Checking a number of cloud services and an account number per cloud service based on a plurality of cloud account information received from a plurality of users; And
And dividing the service internal data and calculating a maximum number that can be distributed and stored based on the number of cloud services and the number of accounts per cloud service.
특정한 사용자로부터 서비스내부데이터 전송요청을 수신하는 단계;
상기 수신된 서비스내부데이터에 상응하는 분할데이터 링크주소를 취합하되, 상기 링크주소는 각 분할데이터가 저장된 클라우드서버에 접속하여 분할데이터를 제공받을 수 있는 것인, 링크주소취합단계; 및
상기 사용자의 클라이언트장치로 통합링크를 전송하되, 상기 통합링크는 각 분할데이터에 대한 복수의 링크주소가 연결된 것인, 통합링크전송단계;를 더 포함하되,
상기 클라이언트장치는,
상기 통합링크에 대한 사용자의 조작에 따라, 복수의 분할데이터를 수신하고,
상기 복수의 분할데이터를 병합하여 서비스내부데이터를 생성하는 것을 특징으로 하는, 클라우드계정을 이용한 서비스내부데이터 저장방법.The method according to claim 1,
Receiving a service internal data transmission request from a specific user;
A link address collecting step of collecting a divided data link address corresponding to the received service internal data, wherein the link address is connected to a cloud server storing each divided data to receive divided data; And
Further comprising transmitting an aggregate link to the client device of the user, wherein the aggregate link is linked to a plurality of link addresses for each partitioned data,
The client device comprising:
In accordance with an operation of the user with respect to the integrated link,
Wherein the service internal data is generated by merging the plurality of divided data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170069281A KR101993309B1 (en) | 2017-06-02 | 2017-06-02 | Method and program for storing service data by cloud account |
PCT/KR2018/006269 WO2018221996A1 (en) | 2017-06-02 | 2018-06-01 | Method for storing service internal data by using cloud account, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170069281A KR101993309B1 (en) | 2017-06-02 | 2017-06-02 | Method and program for storing service data by cloud account |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180132398A KR20180132398A (en) | 2018-12-12 |
KR101993309B1 true KR101993309B1 (en) | 2019-06-26 |
Family
ID=64455500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170069281A KR101993309B1 (en) | 2017-06-02 | 2017-06-02 | Method and program for storing service data by cloud account |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101993309B1 (en) |
WO (1) | WO2018221996A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572860B (en) * | 2021-09-27 | 2022-01-25 | 广东电网有限责任公司 | Method and device for tracking leaked data, storage system, equipment and storage medium |
CN115022044A (en) * | 2022-06-02 | 2022-09-06 | 联通(广东)产业互联网有限公司 | Storage method and system based on multi-cloud architecture |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046530A1 (en) * | 2015-08-15 | 2017-02-16 | Seshan Raj | Distributed Cloud Storage System (DCSS) for secure, reliable storage and retrieval of data and computing objects |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110072489A1 (en) * | 2009-09-23 | 2011-03-24 | Gilad Parann-Nissany | Methods, devices, and media for securely utilizing a non-secured, distributed, virtualized network resource with applications to cloud-computing security and management |
KR20130046155A (en) * | 2011-10-27 | 2013-05-07 | 인텔렉추얼디스커버리 주식회사 | Access control system for cloud computing service |
US9483657B2 (en) * | 2013-01-14 | 2016-11-01 | Accenture Global Services Limited | Secure online distributed data storage services |
KR101678743B1 (en) * | 2014-11-26 | 2016-11-22 | 건국대학교 산학협력단 | Hadoop-based system for providing distributed multimedia streaming service and operating the same |
KR101718397B1 (en) * | 2015-04-20 | 2017-03-21 | 동국대학교 산학협력단 | System and method for distributively storing files |
-
2017
- 2017-06-02 KR KR1020170069281A patent/KR101993309B1/en active IP Right Grant
-
2018
- 2018-06-01 WO PCT/KR2018/006269 patent/WO2018221996A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046530A1 (en) * | 2015-08-15 | 2017-02-16 | Seshan Raj | Distributed Cloud Storage System (DCSS) for secure, reliable storage and retrieval of data and computing objects |
Also Published As
Publication number | Publication date |
---|---|
WO2018221996A1 (en) | 2018-12-06 |
KR20180132398A (en) | 2018-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944740B2 (en) | Cluster claim | |
US11860738B2 (en) | User authorization for file level restoration from image level backups | |
KR101862718B1 (en) | Reducing data volume durability state for block-based storage | |
US11502824B2 (en) | Encryption by default in an elastic computing system | |
US9690839B2 (en) | Computer architectures using shared storage | |
JP6894985B2 (en) | Methods, devices, and systems for controlling user access to data storage systems | |
US8250638B2 (en) | Maintaining the domain access of a virtual machine | |
US10922303B1 (en) | Early detection of corrupt data partition exports | |
JP5976258B1 (en) | Light installer | |
EP2715971B1 (en) | Automating cloud service reconnections | |
US10346618B1 (en) | Data encryption for virtual workspaces | |
US10558581B1 (en) | Systems and techniques for data recovery in a keymapless data storage system | |
US11645424B2 (en) | Integrity verification in cloud key-value stores | |
US10924275B1 (en) | Creating multiple encrypted volumes from a single source | |
KR101993309B1 (en) | Method and program for storing service data by cloud account | |
US11252157B1 (en) | Permission management for electronic resources | |
US11503081B1 (en) | Load-dependent encryption mechanism selection in an elastic computing system | |
US11121981B1 (en) | Optimistically granting permission to host computing resources | |
KR102689921B1 (en) | Method and server for single sign on of user in a kubernetes cluster | |
EP2372978B1 (en) | Computer architectures using shared storage | |
US11947516B1 (en) | Multi-tier definition management for distributed data stores | |
CN115982778A (en) | OBS file access method, system, device, electronic equipment and storage medium | |
CN105426768A (en) | Non-plaintext data storage method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |