WO2021242000A1 - 데이터 적재 및 처리 시스템 및 그 방법 - Google Patents

데이터 적재 및 처리 시스템 및 그 방법 Download PDF

Info

Publication number
WO2021242000A1
WO2021242000A1 PCT/KR2021/006535 KR2021006535W WO2021242000A1 WO 2021242000 A1 WO2021242000 A1 WO 2021242000A1 KR 2021006535 W KR2021006535 W KR 2021006535W WO 2021242000 A1 WO2021242000 A1 WO 2021242000A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
collection
server
loading
collected
Prior art date
Application number
PCT/KR2021/006535
Other languages
English (en)
French (fr)
Inventor
김영민
정우석
박지영
Original Assignee
비코어(주)
김영민
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비코어(주), 김영민 filed Critical 비코어(주)
Priority to US17/921,284 priority Critical patent/US11797513B2/en
Priority to EP21812752.0A priority patent/EP4160432A4/en
Publication of WO2021242000A1 publication Critical patent/WO2021242000A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/173Customisation support for file systems, e.g. localisation, multi-language support, personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention relates to a data loading and processing system and method therefor, and in particular, before collecting data from a collection server, the status of a target resource is checked, and data collection and loading method for the resource based on the checked status of the resource
  • a data loading and processing system and method for determining a data collection request sending a data collection request to the data server, collecting data from the data server in the determined data collection and loading method, and loading the collected data on a big data platform it's about
  • Big data refers to a large amount of data that is difficult to collect, store, and analyze with existing databases.
  • Such big data requires additional resources to collect, store, and analyze data generated by multiple users, which requires a platform for storing and analyzing data as well as collecting data.
  • An object of the present invention is to provide a data loading and processing system and method for delivering, collecting data from a data server in the determined data collection and loading method, and loading the collected data on a big data platform.
  • a data loading and processing system includes: a data server that is included in a resource and is a data collection target; a big data platform included in the resource and loaded with data; and check the resource usage and data amount, determine the data collection and loading method for the data server and big data platform based on the identified resource status, transmit the data collection request to the data server, and A collection server that collects data from the data server in a preset collection area of the collection server in a data collection and loading method, and loads the collected data into the big data platform based on the determined data collection and loading method can do.
  • the collection server may check the usage of the data server, the amount of data of the data server, and the usage of the big data platform.
  • the collection server may load the collected data into at least one of a disk and a memory in the big data platform based on the determined data collection and loading method.
  • the collection server when an update function or a query is not supported when loading the collected data from the collection server to the big data platform, the collection server includes the data of the final loading area of the big data platform and the By joining the collected data, data of a new partition may be generated, and the generated data of the new partition may be loaded in place of the big data platform.
  • the collection server when the collection server does not support a deletion function or query when loading the collected data from the collection server to the big data platform, the collection server converts the newly collected data of the collection server to the big data It can be loaded in place of the corresponding partition on the platform.
  • Data loading and processing method by a collection server, the steps of checking the resource usage and data amount; determining, by the collection server, a data collection and loading method for a data server and a big data platform based on the identified resource status; sending, by the collection server, a data collection request to the data server; receiving, by the data server, the data collection request transmitted from the collection server, and storing the received data collection request; collecting, by the collection server, data from the data server in a preset collection area of the collection server in the determined data collection and loading manner; and loading, by the collection server, the collected data on the big data platform based on the determined data collection and loading method.
  • the step of determining the data collection and loading method for the data server and the big data platform may include any one of a plurality of data collection and loading methods set in advance according to the amount of data to be checked and whether partition units can be distinguished. You can decide how to collect and load one data.
  • the data collection and loading method is any one of a preset type 1, type 2A, type 2B, type 3A, type 3B, type 4, and type 5, and the type 1 is the data server is a method of collecting the entire data of the collection server into a preset collection area of the collection server, deleting the existing data of the final loading area of the big data platform, and then loading the collected data into the big data platform, the 2A type is a method in which only the newly added data of the data server is collected into the collection area of the collection server, and the collected data is added and loaded in the final loading area of the big data platform, and the 2B type is the data server Collects only newly added and modified data of the collection server into the collection area of the collection server, and the final loading of the big data platform using a primary key set in advance so as not to overlap with the basic data of the completion table in the resource
  • the target area is composed of partitions, and only data corresponding to the partition
  • a target area is composed of partitions, and a partition in which addition and modification occurs among partitions of the data server or a partition in which deletion occurs among partitions in the data server is collected as a collection area of the collection server, and big data platform Check the amount of data in the final loading area, and when the amount of data in the final loading area of the confirmed big data platform is smaller than a preset reference value, overwrite the collected data on the existing partition of the final loading area of the big data platform and load it
  • the target area is composed of partitions, and the partition in which additions and modifications occur among the partitions of the data server or the partition in which deletion occurs among the partitions of the data server are collected as the collection area of the collection server.
  • the collected data is converted to the 3B type It may be a method of loading the final loading area of the big data platform as a method, and loading the rest of the collected data into the final loading area of the big data platform as the 4 types.
  • the step of collecting data from the data server in a preset collection area of the collection server in the determined data collection and loading method may include a DBMS configuring the data server in the determined data collection and loading method.
  • the step of loading the collected data into the big data platform based on the determined data collection and loading method includes an update function when loading the collected data from the collection server to the big data platform. or when the query is not supported, by the collection server, the data of the final loading area of the big data platform and the collected data are joined to generate data of a new partition; and loading the created new partition data in place of the big data platform.
  • the present invention checks the status of the target resource before collecting data in the collection server, determines the data collection and loading method for the resource based on the checked status of the resource, transmits a data collection request to the data server, , by collecting data from the data server in the determined data collection and loading method, and loading the collected data into the big data platform, data is collected by the optimal data collection and loading method according to the current state of the collection target and loading target It has the effect of increasing the overall system operating efficiency by collecting and loading.
  • FIG. 1 is a block diagram showing the configuration of a data loading and processing system according to an embodiment of the present invention.
  • 2 to 8 are diagrams illustrating examples of data collection and loading methods according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating an example of loading data when an update function or a query is not supported according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an example of loading data when a delete function or a query is not supported according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a data loading and processing method according to an embodiment of the present invention.
  • first, second, etc. used in the present invention may be used to describe the components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • FIG. 1 is a block diagram showing the configuration of a data loading and processing system 10 according to an embodiment of the present invention.
  • the data loading and processing system 10 includes a data server 100 , a big data platform 200 , and a collection server 300 . Not all of the components of the data loading and processing system 10 shown in FIG. 1 are essential components, and the data loading and processing system 10 may be implemented by more components than those shown in FIG. 1 . Also, the data loading and processing system 10 may be implemented with fewer components.
  • Each of the data server 100, the big data platform 200 and the collection server 300 stores a communication unit (not shown) for performing a communication function with other terminals, various information and programs (or applications) a storage unit (not shown) for performing the program, a display unit (not shown) for displaying various information and program execution results, an audio output unit (not shown) for outputting voice information corresponding to the various information and program execution results, each It may include a control unit (not shown) for controlling various components and functions of the terminal.
  • the data server 100 may be implemented in the form of a web server, a database server, a proxy server, and the like.
  • one or more of a network load balancing mechanism, or various software enabling the data server 100 to operate on the Internet or other networks may be installed in the data server 100, and through this, a computerized system may be installed.
  • the network may be an http network, and may be a private line, an intranet, or any other network.
  • the connection between the data server 100 and other servers/terminals may be connected to a secure network so that data is not attacked by any hackers or other third parties.
  • the data server 100 may include a plurality of database servers, implemented in such a way that these database servers are separately connected to the data server 100 through any type of network connection including a distributed database server architecture. can be
  • the data server 100 includes a CPU (not shown), a disk (DISK) (not shown), a memory (not shown), a DBMS (Database Management System: not shown) (not shown), and the like. (or configure).
  • the DBMS stores (or manages) a plurality of data (or tables) collected from various servers and/or devices.
  • the collection server 300 Before the collection server 300 attempts a collection process for one or more data (or tables) stored in the data server 100 , the data server 100 transmits the data transmitted from the collection server 300 . Receive a data collection request.
  • the data server 100 stores the received data collection request.
  • the big data platform 200 communicates with the data server 100 , the collection server 300 , and the like.
  • the big data platform 200 is a big data server, and includes (or configures) a CPU (not shown), a disk (not shown), a memory (not shown), a DBMS, and the like.
  • the big data platform 200 loads the data collected from the data server 100 into the big data platform 200 by the data collection and loading method determined by the collection server 300 .
  • the big data platform 200 interworks with the collection server 300 to store the data collected from the data server 100 based on the data collection and loading method determined in the collection server 300 as the big data. It is loaded onto disk and/or memory within the platform 200 .
  • the collection server 300 communicates with the data server 100 , the big data platform 200 , and the like.
  • the collection server 300 includes (or configures) a CPU (not shown), a disk (not shown), a memory (not shown), a DBMS, and the like.
  • the collection server 300 checks (or checks) the amount of data used and the data amount of the data server 100 and the data server 100 and the big data platform 200 as the target resource.
  • the resource indicates the usage of the data server 100 as the collection target and the big data platform 200 as the loading target and the amount of data of the collection target.
  • the collection server 300 checks the usage of at least one of a CPU, a disk (DISK) and a memory (Memory) configured in the data server 100 and the big data platform 200 .
  • the collection server 300 checks the amount of data of the data server 100 .
  • the collection server 300 includes the identified resource status (for example, the usage of the data server 100, the usage of the big data platform 200, the amount of data of the data server 100, etc.) Based on the data collection and loading methods for the data server 100 and the big data platform 200 are determined.
  • the identified resource status for example, the usage of the data server 100, the usage of the big data platform 200, the amount of data of the data server 100, etc.
  • the collection server 300 determines (or selects/selects) a data collection and loading method of any one of a plurality of preset data collection and loading methods according to the checked data amount and whether partition units can be distinguished.
  • the plurality of data collection and loading methods includes type 1, type 2A, type 2B, type 3A, type 3B, type 4, type 5, and the like.
  • the partition includes a period for which data is loaded (or stored) (eg, including year, month, day, etc.), region (eg, country, administrative region (eg, city, province, county, etc.) ), etc.), etc., can be set (or defined/distinguished).
  • the type 1 (or type 1 data collection method/Fulldump type) collects the entire data of the data server 100 into a preset collection area of the collection server 300 and , after deleting the existing data in the final loading area of the big data platform 200 , the collected data is loaded into the big data platform 200 .
  • the 2A type (or 2A type data collection method/Append type) collects only the newly added data of the data server 100 into the collection area of the collection server 300 and , a method of loading by adding the collected data to the final loading area of the big data platform 200 .
  • the 2B type collects only the added and modified data of the data server 100 into the collection area of the collection server 300 . and loading the collected data into the final loading area of the big data platform 200 by using a primary key preset so as not to overlap with the basic data of the completion table in the resource.
  • the target area (or the target area of the big data platform 200) consists of partitions, and the data Among the partitions of the server 100 , only data corresponding to the partition in which the added data exists is collected into the collection area of the collection server 300 , and the collected data is added to the final loading area of the big data platform 200 . method of loading it.
  • a target area (or a target area of the big data platform 200) is composed of partitions, and the data Only the added and modified data among the partitions of the server 100 is collected into the collection area of the collection server 300, and the primary key is used so as not to overlap with the existing data in the final loading area of the big data platform 200.
  • This is a method of loading the collected data into a partition in the final loading area of the big data platform 200 .
  • the target area (or the target area of the big data platform 200) consists of partitions, and the Among the partitions of the data server 100, the partition where addition and modification occurred (or occurred), or the partition where the deletion occurred among the partitions of the data server 100 is collected into the collection area of the collection server 300, and the big data Check the data amount of the final loading area of the platform 200, and when the confirmed data amount of the final loading area of the big data platform 200 is less than a preset reference value (or the data partition range is a preset reference unit ( For example, less than 3 months), the collected data is overlaid on the existing partition of the final loading area of the big data platform 200 and loaded.
  • a preset reference value or the data partition range is a preset reference unit ( For example, less than 3 months)
  • the target area (or the target area of the big data platform 200) consists of partitions, and the Among the partitions of the data server 100, the partition where addition and modification occurred (or occurred), or the partition where the deletion occurred among the partitions of the data server 100 is collected into the collection area of the collection server 300, and the big data Check the data amount of the final loading area of the platform 200, and if the confirmed data amount of the final loading area of the big data platform 200 is greater than or equal to a preset reference value (or the partition range of the data is preset If greater than or equal to a unit (eg, 3 months), some of the collected data are loaded into the final loading area of the big data platform 200 as the 3B type (or the final of the big data platform 200 ) The collected data is loaded in the partition in the final loading area of the big data platform 200 using the primary key so as not to overlap with the existing data in the loading area), and the rest of the
  • the criterion for classifying the 1, 2A, and 2B types and the 3A type, 3B type, 4 type, and 5 type among the data collection and loading methods may be whether data can be divided in units of partitions.
  • the collection server 300 transmits (or transmits) a data collection request to the data server 100 .
  • the collection server 300 transmits (or transmits) a data collection request to the data server 100 in order to collect data in the determined data collection and loading method.
  • the collection server 300 collects data from the data server 100 in a preset collection area of the corresponding collection server 300 in the determined data collection and loading method.
  • the collection server 300 sets a plurality of data (or tables) stored in the DBMS (database management system) constituting the data server 100 in the determined data collection and loading method in advance JDBC (Java Database Connectivity: Java database connectivity) or ODBC (Open Database Connectivity) is used to collect, and the collected data is stored (or temporarily stored/collected) in the collection area.
  • DBMS database management system
  • JDBC Java Database Connectivity: Java database connectivity
  • ODBC Open Database Connectivity
  • the collection server 300 is a preset FTP (File Transfer Protocol), open source (Open Source), self-developed log (log) or files stored in the data server 100 in the determined data collection and loading method. It is also possible to collect using an agent (not shown) or the like, or collect web data using web crawling or the like, and store (or temporarily store/collect) the collected data in the collection area.
  • FTP File Transfer Protocol
  • Open Source Open source
  • log self-developed log
  • files stored in the data server 100 in the determined data collection and loading method It is also possible to collect using an agent (not shown) or the like, or collect web data using web crawling or the like, and store (or temporarily store/collect) the collected data in the collection area.
  • the collection server 300 loads the collected data into the big data platform 200 based on the determined data collection and loading method.
  • the collection server 300 stores the collected data (or the collected data stored in the collection area) on the disk and/or memory in the big data platform 200 based on the determined data collection and loading method. load up
  • the collection server 300 is the By joining the data of the final loading area of the big data platform 200 and the collected data, data of a new partition is generated, and the data of the new partition is replaced with the big data platform 200 can be loaded
  • the collection server 300 is the The newly collected data of the collection server 300 may be loaded in place of the corresponding partition of the big data platform 200 .
  • the collection server 300 operates independently, but it is not limited thereto, and the collection server 300 is located within the big data platform 200 (or the big data platform). It may be configured and operated as a collection module in 200).
  • the status of the target resource is checked, the data collection and loading method for the resource is determined based on the checked status of the resource, and the data collection request is sent to the data server, , it is possible to collect data from the data server in the determined data collection and loading method, and load the collected data to the big data platform.
  • FIG. 11 is a flowchart illustrating a data loading and processing method according to an embodiment of the present invention.
  • the collection server 300 checks (or checks) the amount of data used and the data amount of the data server 100 and the data server 100 and the big data platform 200 as target resources.
  • the resource indicates the usage of the data server 100 as the collection target and the big data platform 200 as the loading target and the amount of data of the collection target.
  • the collection server 300 checks the usage of at least one of a CPU, a disk (DISK) and a memory (Memory) configured in the data server 100 and the big data platform 200 .
  • the collection server 300 checks the amount of data of the data server 100 .
  • the first collection server 300 checks the usage of the first CPU, the first disk, and the first memory included in the first data server 100 and the amount of data of the first data server.
  • the first collection server checks the usage of the second CPU, the second disk, and the second memory included in the first big data platform 200 .
  • the second collection server 300 checks the usage of the first CPU, the first disk, and the first memory included in the first data server 100 and the amount of data of the first data server.
  • the second collection server checks the usage of the second CPU, the second disk, and the second memory included in the first big data platform 200 (S1110).
  • the collection server 300 includes the identified resource status (eg, the usage of the data server 100, the usage of the big data platform 200, the amount of data of the data server 100, etc.) Based on the data collection and loading methods for the data server 100 and the big data platform 200 are determined.
  • the identified resource status eg, the usage of the data server 100, the usage of the big data platform 200, the amount of data of the data server 100, etc.
  • the collection server 300 determines (or selects/selects) a data collection and loading method of any one of a plurality of preset data collection and loading methods according to the checked data amount and whether partition units can be distinguished.
  • the plurality of data collection and loading methods includes type 1, type 2A, type 2B, type 3A, type 3B, type 4, type 5, and the like.
  • the partition includes a period in which data is loaded (or stored) (eg, including year units, monthly units, daily units, etc.), regions (eg, countries, administrative regions (eg, cities, provinces, counties, etc.) ), etc.), etc., can be set (or defined/distinguished).
  • the first collection server includes the usage of the first CPU, the first disk and the first memory included in the identified first data server, the amount of data of the first data server, and the identified first big
  • one type of data collection and loading method is determined from among a plurality of preset data collection and loading methods.
  • the second collection server includes the usage of the first CPU, the first disk and the first memory included in the identified first data server, the amount of data of the first data server, and the identified first Based on the usage of the second CPU, the second disk, and the second memory included in the big data platform, a 3B type data collection and loading method is determined from among a plurality of preset data collection and loading methods (S1120).
  • the collection server 300 transmits (or transmits) a data collection request to the data server 100 .
  • the collection server 300 transmits (or transmits) a data collection request to the data server 100 in order to collect data in the determined data collection and loading method.
  • the data server 100 receives the data collection request transmitted from the collection server 300 and stores the received data collection request.
  • the first collection server transmits a first data collection request to the first data server to collect data from the first data server in the determined one-type data collection and loading method.
  • the first data server receives the first data collection request transmitted from the first collection server.
  • the second collection server transmits a second data collection request to the first data server to collect data from the first data server in the determined 3B type data collection and loading method.
  • the first data server receives the second data collection request transmitted from the second collection server (S1130).
  • the collection server 300 collects data from the data server 100 in a preset collection area of the corresponding collection server 300 in the determined data collection and loading method.
  • the collection server 300 stores a plurality of data (or tables) stored in a DBMS (database management system) constituting the data server 100 in the determined data collection and loading method in a preset JDBC (Java database connectivity). ) or ODBC (Open Database Connectivity), and store (or temporarily store/collect) the collected data in the collection area.
  • DBMS database management system
  • JDBC Java database connectivity
  • ODBC Open Database Connectivity
  • the collection server 300 uses a preset FTP, open source, self-developed agent (not shown), etc. for the log or files stored in the data server 100 in the determined data collection and loading method.
  • web data may be collected using web crawling or the like, and the collected data may be stored (or temporarily stored/collected) in the collection area.
  • the first collection server collects the entire data stored in the DBMS constituting the first data server in the determined one-type data collection and loading method using the JDBC, and collects the entire collected data as the first data server. 1 It is stored in the first collection area of the collection server.
  • the second collection server collects, using the JDBC, only added and modified data among partitions among all data stored in the DBMS constituting the first data server in the determined 3B type data collection and loading method, and , and stores the collected added and corrected data in a second collection area of the second collection server (S1140).
  • the collection server 300 loads the collected data into the big data platform 200 based on the determined data collection and loading method.
  • the collection server 300 stores the collected data (or the collected data stored in the collection area) on the disk and/or memory in the big data platform 200 based on the determined data collection and loading method. load up
  • the collection server 300 is the By joining the data of the final loading area of the big data platform 200 and the collected data, data of a new partition is generated, and the data of the new partition is replaced with the big data platform 200 can be loaded
  • the collection server 300 is the The newly collected data of the collection server 300 may be loaded in place of the corresponding partition of the big data platform 200 .
  • the first collection server loads the collected entire data stored in the DBMS on the second disk in the first big data platform based on the determined one-type data collection and loading method.
  • the second collection server loads the collected additional and corrected data on the second disk in the first big data platform based on the determined 3B type data collection and loading method (S1150).
  • the embodiment of the present invention determines the state of the target resource before collecting data in the collection server, and determines the data collection and loading method for the resource based on the checked state of the resource,
  • the data collection request is transmitted to the data server, the data is collected from the data server in the determined data collection and loading method, and the collected data is loaded into the big data platform to optimize the
  • the overall system operation efficiency can be increased by collecting and loading data by the data collection and loading method.
  • the present invention checks the status of the target resource before collecting data in the collection server, determines the data collection and loading method for the resource based on the checked status of the resource, transmits a data collection request to the data server, , by collecting data from the data server in the determined data collection and loading method, and loading the collected data into the big data platform, data is collected by the optimal data collection and loading method according to the current state of the collection target and loading target It can be collected and loaded to increase the overall system operating efficiency, so it has industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 데이터 적재 및 처리 시스템 및 그 방법을 개시한다. 즉, 본 발명은 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재함으로써, 수집 대상 및 적재 대상의 현재 상태에 따라 최적의 데이터 수집 및 적재 방식에 의해 데이터를 수집 및 적재하여 전체 시스템 운영 효율을 높일 수 있다.

Description

데이터 적재 및 처리 시스템 및 그 방법
본 발명은 데이터 적재 및 처리 시스템 및 그 방법에 관한 것으로서, 특히 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재하는 데이터 적재 및 처리 시스템 및 그 방법에 관한 것이다.
빅 데이터(big data)는 기존의 데이터베이스로는 수집ㆍ저장ㆍ분석 등을 수행하기가 어려울 만큼 방대한 양의 데이터를 나타낸다.
이러한 빅 데이터는 복수의 사용자가 생성한 데이터를 수집, 저장 및 분석하기 위해서 추가 자원이 필요하며, 이는 데이터를 수집하는 것뿐만 아니라 데이터를 저장하고 분석하기 위한 플랫폼을 필요로 한다.
본 발명의 목적은 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재하는 데이터 적재 및 처리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 데이터 적재 및 처리 시스템은 리소스에 포함되며, 데이터의 수집 대상인 데이터 서버; 상기 리소스에 포함되며, 데이터의 적재 대상인 빅데이터 플랫폼; 및 리소스의 사용량 및 데이터 량을 확인하고, 상기 확인된 리소스의 상태를 근거로 데이터 서버 및 빅데이터 플랫폼에 대한 데이터 수집 및 적재 방식을 결정하고, 상기 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 상기 수집 서버의 미리 설정된 수집 영역에 상기 데이터 서버로부터 데이터를 수집하고, 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 수집 서버를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 수집 서버는, 상기 데이터 서버의 사용량, 상기 데이터 서버의 데이터 량 및 상기 빅데이터 플랫폼의 사용량을 확인할 수 있다.
본 발명과 관련된 일 예로서 상기 수집 서버는, 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼 내의 디스크 및 메모리 중 적어도 하나에 적재할 수 있다.
본 발명과 관련된 일 예로서 상기 수집 서버는, 상기 수집 서버에서 상기 빅데이터 플랫폼으로의 상기 수집된 데이터 적재시 업데이트 함수 또는 쿼리가 지원되지 않을 때, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터와 상기 수집된 데이터를 조인(join)하여, 새로운 파티션의 데이터를 생성하고, 상기 생성된 새로운 파티션의 데이터를 상기 빅데이터 플랫폼에 대치하여 적재할 수 있다.
본 발명과 관련된 일 예로서 상기 수집 서버는, 상기 수집 서버에서 상기 빅데이터 플랫폼으로의 상기 수집된 데이터 적재시 삭제 함수 또는 쿼리가 지원되지 않을 때, 상기 수집 서버의 새로 수집된 데이터를 상기 빅데이터 플랫폼의 해당 파티션에 대치하여 적재할 수 있다.
본 발명의 실시예에 따른 데이터 적재 및 처리 방법은 수집 서버에 의해, 리소스의 사용량 및 데이터 량을 확인하는 단계; 상기 수집 서버에 의해, 상기 확인된 리소스의 상태를 근거로 데이터 서버 및 빅데이터 플랫폼에 대한 데이터 수집 및 적재 방식을 결정하는 단계; 상기 수집 서버에 의해, 상기 데이터 서버에 데이터 수집 요청을 전달하는 단계; 상기 데이터 서버에 의해, 상기 수집 서버로부터 전달되는 상기 데이터 수집 요청을 수신하고, 상기 수신된 데이터 수집 요청을 저장하는 단계; 상기 수집 서버에 의해, 상기 결정된 데이터 수집 및 적재 방식으로 상기 수집 서버의 미리 설정된 수집 영역에 상기 데이터 서버로부터 데이터를 수집하는 단계; 및 상기 수집 서버에 의해, 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 데이터 서버 및 빅데이터 플랫폼에 대한 데이터 수집 및 적재 방식을 결정하는 단계는, 확인되는 데이터 량 및 파티션 단위 구분 가능 여부에 따라 미리 설정된 복수의 데이터 수집 및 적재 방식 중 어느 하나의 데이터 수집 및 적재 방식을 결정할 수 있다.
본 발명과 관련된 일 예로서 상기 데이터 수집 및 적재 방식은, 미리 설정된 1 유형, 2A 유형, 2B 유형, 3A 유형, 3B 유형, 4 유형 및 5 유형 중 어느 하나이며, 상기 1 유형은, 상기 데이터 서버의 전체 데이터를 상기 수집 서버의 미리 설정된 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 기존 데이터를 삭제한 후, 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 방식이고, 상기 2A 유형은, 상기 데이터 서버의 새로 추가된 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역에 상기 수집된 데이터를 추가하여 적재하는 방식이고, 상기 2B 유형은, 상기 데이터 서버의 새로 추가 및 수정된 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 리소스(resource) 내 완료테이블의 기본 데이터와 중복되지 않도록 미리 설정된 기본 키(Primary Key)를 이용하여 상기 빅데이터 플랫폼의 최종 적재 영역에 상기 수집된 데이터를 적재하는 방식이고, 상기 3A 유형은, 타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가된 데이터가 존재하는 파티션에 해당하는 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역에 상기 수집된 데이터를 추가하여 적재하는 방식이고, 상기 3B 유형은, 타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가 및 수정된 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 기존 데이터와 중복되지 않도록 상기 기본 키를 이용하여 상기 빅데이터 플랫폼의 최종 적재 영역 내의 파티션에 상기 수집된 데이터를 적재하는 방식이고, 상기 4 유형은, 타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가 및 수정이 발생한 파티션 또는, 상기 데이터 서버의 파티션 중 삭제가 발생한 파티션을 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터 양을 확인하고, 상기 확인된 빅데이터 플랫폼의 최종 적재 영역의 데이터 양이 미리 설정된 기준값보다 작은 경우, 상기 빅데이터 플랫폼의 최종 적재 영역의 기존 파티션에 상기 수집된 데이터를 덮어 적재하는 방식이고, 상기 5 유형은, 타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가 및 수정이 발생한 파티션 또는, 상기 데이터 서버의 파티션 중 삭제가 발생한 파티션을 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터 양을 확인하고, 상기 확인된 빅데이터 플랫폼의 최종 적재 영역의 데이터 양이 미리 설정된 기준값보다 크거나 같은 경우, 상기 수집된 데이터 중 일부를 상기 3B 유형으로 상기 빅데이터 플랫폼의 최종 적재 영역에 적재하고, 상기 수집된 데이터 중 나머지를 상기 4 유형으로 상기 빅데이터 플랫폼의 최종 적재 영역에 적재하는 방식일 수 있다.
본 발명과 관련된 일 예로서 상기 결정된 데이터 수집 및 적재 방식으로 상기 수집 서버의 미리 설정된 수집 영역에 상기 데이터 서버로부터 데이터를 수집하는 단계는, 상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버를 구성하는 DBMS에 저장된 복수의 데이터를 미리 설정된 JDBC 또는 ODBC를 이용해서 수집하는 과정; 상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버에 저장된 로그나 파일들을 미리 설정된 FTP, 오픈 소스 및 에이전트 중 적어도 하나를 이용해서 수집하는 과정; 및 상기 결정된 데이터 수집 및 적재 방식으로 웹 데이터들을 웹 크롤링을 이용해서 수집하는 과정 중 적어도 하나의 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 단계는, 상기 수집 서버에서 상기 빅데이터 플랫폼으로의 상기 수집된 데이터 적재시 업데이트 함수 또는 쿼리가 지원되지 않을 때, 상기 수집 서버에 의해, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터와 상기 수집된 데이터를 조인(join)하여, 새로운 파티션의 데이터를 생성하는 과정; 및 상기 생성된 새로운 파티션의 데이터를 상기 빅데이터 플랫폼에 대치하여 적재하는 과정을 포함할 수 있다.
본 발명은 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재함으로써, 수집 대상 및 적재 대상의 현재 상태에 따라 최적의 데이터 수집 및 적재 방식에 의해 데이터를 수집 및 적재하여 전체 시스템 운영 효율을 높일 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 데이터 적재 및 처리 시스템의 구성을 나타낸 블록도이다.
도 2 내지 도 8은 본 발명의 실시예에 따른 데이터 수집 및 적재 방식의 예를 나타낸 도이다.
도 9는 본 발명의 실시예에 따른 업데이트 함수 또는 쿼리가 지원되지 않을 경우의 데이터 적재 예를 나타낸 도이다.
도 10은 본 발명의 실시예에 따른 삭제 함수 또는 쿼리가 지원되지 않을 경우의 데이터 적재 예를 나타낸 도이다.
도 11은 본 발명의 실시예에 따른 데이터 적재 및 처리 방법을 나타낸 흐름도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 데이터 적재 및 처리 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 데이터 적재 및 처리 시스템(10)은 데이터 서버(100), 빅데이터 플랫폼(200) 및 수집 서버(300)로 구성된다. 도 1에 도시된 데이터 적재 및 처리 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 데이터 적재 및 처리 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 데이터 적재 및 처리 시스템(10)이 구현될 수도 있다.
상기 데이터 서버(100), 상기 빅데이터 플랫폼(200) 및 상기 수집 서버(300) 각각은 다른 단말들과의 통신 기능을 수행하기 위한 통신부(미도시), 다양한 정보 및 프로그램(또는 애플리케이션)을 저장하기 위한 저장부(미도시), 다양한 정보 및 프로그램 실행 결과를 표시하기 위한 표시부(미도시), 상기 다양한 정보 및 프로그램 실행 결과에 대응하는 음성 정보를 출력하기 위한 음성 출력부(미도시), 각 단말의 다양한 구성 요소 및 기능을 제어하기 위한 제어부(미도시) 등을 포함할 수 있다.
상기 데이터 서버(100), 상기 빅데이터 플랫폼(200), 상기 수집 서버(300) 등과 통신한다.
또한, 상기 데이터 서버(100)는 웹 서버, 데이터베이스 서버, 프록시 서버 등의 형태로 구현될 수 있다. 또한, 상기 데이터 서버(100)에는 네트워크 부하 분산 메커니즘, 내지 상기 데이터 서버(100)가 인터넷 또는 다른 네트워크 상에서 동작할 수 있도록 하는 다양한 소프트웨어 중 하나 이상이 설치될 수 있으며, 이를 통해 컴퓨터화된 시스템으로 구현될 수 있다. 또한, 네트워크는 http 네트워크일 수 있으며, 전용 회선(private line), 인트라넷 또는 임의의 다른 네트워크일 수 있다. 나아가, 상기 데이터 서버(100)와 다른 서버/단말의 연결은 데이터가 임의의 해커 또는 다른 제3자에 의한 공격을 받지 않도록 보안 네트워크로 연결될 수 있다. 또한, 상기 데이터 서버(100)는 복수의 데이터베이스 서버를 포함할 수 있으며, 이러한 데이터베이스 서버가 분산 데이터베이스 서버 아키텍처를 비롯한 임의의 유형의 네트워크 연결을 통해 상기 데이터 서버(100)와 별도로 연결되는 방식으로 구현될 수 있다.
또한, 상기 데이터 서버(100)는 CPU(미도시), 디스크(DISK)(미도시), 메모리(Memory)(미도시), DBMS(Database Management System: 데이터베이스 관리 시스템)(미도시) 등을 포함(또는 구성)한다. 여기서, 상기 DBMS는 다양한 서버 및/또는 장치들로부터 수집된 복수의 데이터(또는 테이블)를 저장(또는 관리)한다.
또한, 상기 수집 서버(300)에서 상기 데이터 서버(100)에 저장된 하나 이상의 데이터(또는 테이블)에 대한 수집 과정을 시도하기 전에, 상기 데이터 서버(100)는 상기 수집 서버(300)로부터 전달되는 상기 데이터 수집 요청을 수신한다.
또한, 상기 데이터 서버(100)는 상기 수신된 데이터 수집 요청을 저장한다.
또한, 상기 데이터 서버(100)는 상기 수신된 데이터 수집 요청을 근거로 상기 수집 서버(300)에서 상기 데이터 서버(100)에 저장된 데이터의 수집을 시도하는 경우, 해당 수집 서버(300)의 액세스를 허용한다.
상기 빅데이터 플랫폼(200)은 상기 데이터 서버(100), 상기 수집 서버(300) 등과 통신한다.
또한, 상기 빅데이터 플랫폼(200)은 빅데이터 서버로, CPU(미도시), 디스크(미도시), 메모리(미도시), DBMS 등을 포함(또는 구성)한다.
또한, 상기 빅데이터 플랫폼(200)은 상기 수집 서버(300)에서 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버(100)로부터 수집된 데이터를 상기 빅데이터 플랫폼(200)에 적재한다.
즉, 상기 빅데이터 플랫폼(200)은 상기 수집 서버(300)와 연동하여, 상기 수집 서버(300)에서 결정된 데이터 수집 및 적재 방식을 근거로 상기 데이터 서버(100)로부터 수집된 데이터를 상기 빅데이터 플랫폼(200) 내의 디스크 및/또는 메모리에 적재한다.
상기 수집 서버(300)는 상기 데이터 서버(100), 상기 빅데이터 플랫폼(200) 등과 통신한다.
또한, 상기 수집 서버(300)는 CPU(미도시), 디스크(미도시), 메모리(미도시), DBMS 등을 포함(또는 구성)한다.
또한, 상기 수집 서버(300)는 대상 리소스인 데이터 서버(100) 및 빅데이터 플랫폼(200)의 사용량 및 상기 데이터 서버(100)의 데이터 량을 확인(또는 체크)한다. 여기서, 상기 리소스는 수집 대상인 상기 데이터 서버(100) 및 적재 대상인 상기 빅데이터 플랫폼(200)의 사용량 및 수집 대상의 데이터 량을 나타낸다.
즉, 상기 수집 서버(300)는 상기 데이터 서버(100) 및 상기 빅데이터 플랫폼(200)에 구성된 CPU, 디스크(DISK) 및 메모리(Memory) 중 적어도 하나의 사용량을 확인한다.
또한, 상기 수집 서버(300)는 상기 데이터 서버(100)의 데이터 량을 확인한다.
또한, 상기 수집 서버(300)는 상기 확인된 리소스의 상태(예를 들어 상기 데이터 서버(100)의 사용량, 상기 빅데이터 플랫폼(200)의 사용량, 상기 데이터 서버(100)의 데이터 량 등 포함) 등을 근거로 상기 데이터 서버(100) 및 상기 빅데이터 플랫폼(200)에 대한 데이터 수집 및 적재 방식을 결정한다.
즉, 상기 수집 서버(300)는 상기 확인되는 데이터 량 및 파티션 단위 구분 가능 여부에 따라 미리 설정된 복수의 데이터 수집 및 적재 방식 중 어느 하나의 데이터 수집 및 적재 방식을 결정(또는 선택/선정)한다. 이때, 상기 복수의 데이터 수집 및 적재 방식(또는 수집 및 적재 유형)은 1 유형, 2A 유형, 2B 유형, 3A 유형, 3B 유형, 4 유형, 5 유형 등을 포함한다. 또한, 상기 파티션은 데이터가 적재되는(또는 저장되는) 기간(예를 들어 년 단위, 월 단위, 일 단위 등 포함), 지역(예를 들어 국가, 행정 구역(일 예로 시, 도, 군 등 포함) 등 포함) 등에 따라 설정(또는 정의/구별)할 수 있다.
여기서, 도 2에 도시된 바와 같이, 상기 1 유형(또는 1 유형의 데이터 수집 방법/Fulldump 유형)은 상기 데이터 서버(100)의 전체 데이터를 상기 수집 서버(300)의 미리 설정된 수집 영역으로 수집하고, 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 기존 데이터를 삭제한 후, 상기 수집된 데이터를 상기 빅데이터 플랫폼(200)에 적재하는 방식이다.
또한, 도 3에 도시된 바와 같이, 상기 2A 유형(또는 2A 유형의 데이터 수집 방법/Append 유형)은 상기 데이터 서버(100)의 새로 추가된 데이터만 상기 수집 서버(300)의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼(200)의 최종 적재 영역에 상기 수집된 데이터를 추가하여 적재하는 방식이다.
또한, 도 4에 도시된 바와 같이, 상기 2B 유형(또는 2B 유형의 데이터 수집 방법/Update 유형)은 상기 데이터 서버(100)의 추가 및 수정된 데이터만 상기 수집 서버(300)의 수집 영역으로 수집하고, 리소스 내 완료테이블의 기본 데이터와 중복되지 않도록 미리 설정된 기본 키(Primary Key)를 이용하여 상기 빅데이터 플랫폼(200)의 최종 적재 영역에 상기 수집된 데이터를 적재하는 방식이다.
또한, 도 5에 도시된 바와 같이, 상기 3A 유형(또는 3A 유형의 데이터 수집 방법/Partial Append 유형)은 타깃 영역(또는 상기 빅데이터 플랫폼(200)의 타깃 영역)이 파티션으로 구성되며, 상기 데이터 서버(100)의 파티션 중 추가된 데이터가 존재하는 파티션에 해당하는 데이터만 상기 수집 서버(300)의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼(200)의 최종 적재 영역에 상기 수집된 데이터를 추가하여 적재하는 방식이다.
또한, 도 6에 도시된 바와 같이, 상기 3B 유형(또는 3B 유형의 데이터 수집 방법/Partial Update 유형)은 타깃 영역(또는 상기 빅데이터 플랫폼(200)의 타깃 영역)이 파티션으로 구성되며, 상기 데이터 서버(100)의 파티션 중 추가 및 수정된 데이터만 상기 수집 서버(300)의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 기존 데이터와 중복되지 않도록 상기 기본 키를 이용하여 상기 빅데이터 플랫폼(200)의 최종 적재 영역 내의 파티션에 상기 수집된 데이터를 적재하는 방식이다.
또한, 도 7에 도시된 바와 같이, 상기 4 유형(또는 4 유형의 데이터 수집 방법/Partition And Remove 유형)은 타깃 영역(또는 상기 빅데이터 플랫폼(200)의 타깃 영역)이 파티션으로 구성되며, 상기 데이터 서버(100)의 파티션 중 추가 및 수정이 발생한(또는 일어난) 파티션 또는, 상기 데이터 서버(100)의 파티션 중 삭제가 발생한 파티션을 상기 수집 서버(300)의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 데이터 양을 확인하고, 상기 확인된 빅데이터 플랫폼(200)의 최종 적재 영역의 데이터 양이 미리 설정된 기준값보다 작은 경우(또는 데이터의 파티션 범위가 미리 설정된 기준 단위(예를 들어 3개월)보다 작은 경우), 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 기존 파티션에 상기 수집된 데이터를 덮어 적재하는 방식이다.
또한, 도 8에 도시된 바와 같이, 상기 5 유형(또는 5 유형의 데이터 수집 방법/Partition and Complex 유형)은 타깃 영역(또는 상기 빅데이터 플랫폼(200)의 타깃 영역)이 파티션으로 구성되며, 상기 데이터 서버(100)의 파티션 중 추가 및 수정이 발생한(또는 일어난) 파티션 또는, 상기 데이터 서버(100)의 파티션 중 삭제가 발생한 파티션을 상기 수집 서버(300)의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 데이터 양을 확인하고, 상기 확인된 빅데이터 플랫폼(200)의 최종 적재 영역의 데이터 양이 미리 설정된 기준값보다 크거나 같은 경우(또는 데이터의 파티션 범위가 미리 설정된 기준 단위(예를 들어 3개월)보다 크거나 같은 경우), 상기 수집된 데이터 중 일부를 상기 3B 유형으로 상기 빅데이터 플랫폼(200)의 최종 적재 영역에 적재(또는 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 기존 데이터와 중복되지 않도록 상기 기본 키를 이용하여 상기 빅데이터 플랫폼(200)의 최종 적재 영역 내의 파티션에 상기 수집된 데이터를 적재)하고, 상기 수집된 데이터 중 나머지를 상기 4 유형으로 상기 빅데이터 플랫폼(200)의 최종 적재 영역에 적재(또는 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 기존 파티션에 상기 수집된 데이터를 덮어 적재)하는 방식이다.
이와 같이, 상기 데이터 수집 및 적재 방식 중 1 유형, 2A 유형 및 2B 유형과, 3A 유형, 3B 유형, 4 유형 및 5 유형의 구분 기준은 데이터를 파티션 단위로 구분 가능한지 여부일 수 있다.
또한, 상기 수집 서버(300)는 상기 데이터 서버(100)에 데이터 수집 요청을 전달(또는 전송)한다.
즉, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 데이터를 수집하기 위해서 상기 데이터 서버(100)에 데이터 수집 요청을 전달(또는 전송)한다.
또한, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 해당 수집 서버(300)의 미리 설정된 수집 영역에 상기 데이터 서버(100)로부터 데이터를 수집한다.
즉, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버(100)를 구성하는 DBMS(데이터베이스 관리 시스템)에 저장된 복수의 데이터(또는 테이블)를 미리 설정된 JDBC(Java Database Connectivity: 자바 데이터베이스 접속성) 또는 ODBC(Open Database Connectivity: 개방형 데이터베이스 접속성)를 이용해서 수집하고, 상기 수집된 데이터를 상기 수집 영역에 저장(또는 임시 저장/수집)한다.
또한, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버(100)에 저장된 로그(log)나 파일들을 미리 설정된 FTP(File Transfer Protocol), 오픈 소스(Open Source), 자체 개발 에이전트(미도시) 등을 이용해서 수집하거나 또는, 웹 데이터들을 웹 크롤링(Web Crawling) 등을 이용해서 수집하고, 상기 수집된 데이터를 상기 수집 영역에 저장(또는 임시 저장/수집)할 수도 있다.
또한, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼(200)에 적재한다.
즉, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터(또는 상기 수집 영역에 저장된 상기 수집된 데이터)를 상기 빅데이터 플랫폼(200) 내의 디스크 및/또는 메모리에 적재한다.
이때, 상기 수집 서버(300)에서 상기 빅데이터 플랫폼(200)으로의 상기 수집된 데이터 적재시 업데이트 함수 또는 쿼리가 지원되지 않은 경우, 도 9에 도시된 바와 같이, 상기 수집 서버(300)는 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 데이터와 상기 수집된 데이터를 조인(join)하여, 새로운 파티션의 데이터를 생성하고, 상기 생성된 새로운 파티션의 데이터를 상기 빅데이터 플랫폼(200)에 대치하여 적재할 수 있다.
또한, 상기 수집 서버(300)에서 상기 빅데이터 플랫폼(200)으로의 상기 수집된 데이터 적재시 삭제 함수 또는 쿼리가 지원되지 않은 경우, 도 10에 도시된 바와 같이, 상기 수집 서버(300)는 상기 수집 서버(300)의 새로 수집된 데이터를 상기 빅데이터 플랫폼(200)의 해당 파티션에 대치하여 적재할 수 있다.
본 발명의 실시예에서는, 상기 수집 서버(300)가 독립적으로 운영되는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 수집 서버(300)는 상기 빅데이터 플랫폼(200) 내에(또는 상기 빅데이터 플랫폼(200) 내의 수집 모듈로) 구성되어 운영될 수도 있다.
이와 같이, 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재할 수 있다.
이하에서는, 본 발명에 따른 데이터 적재 및 처리 방법을 도 1 내지 도 11을 참조하여 상세히 설명한다.
도 11은 본 발명의 실시예에 따른 데이터 적재 및 처리 방법을 나타낸 흐름도이다.
먼저, 수집 서버(300)는 대상 리소스인 데이터 서버(100) 및 빅데이터 플랫폼(200)의 사용량 및 상기 데이터 서버(100)의 데이터 량을 확인(또는 체크)한다. 여기서, 상기 리소스는 수집 대상인 상기 데이터 서버(100) 및 적재 대상인 상기 빅데이터 플랫폼(200)의 사용량 및 수집 대상의 데이터 량을 나타낸다.
즉, 상기 수집 서버(300)는 상기 데이터 서버(100) 및 상기 빅데이터 플랫폼(200)에 구성된 CPU, 디스크(DISK) 및 메모리(Memory) 중 적어도 하나의 사용량을 확인한다.
또한, 상기 수집 서버(300)는 상기 데이터 서버(100)의 데이터 량을 확인한다.
일 예로, 제 1 수집 서버(300)는 제 1 데이터 서버(100)에 포함된 제 1 CPU, 제 1 디스크 및 제 1 메모리의 사용량과, 상기 제 1 데이터 서버의 데이터 량을 확인한다.
또한, 상기 제 1 수집 서버는 제 1 빅데이터 플랫폼(200)에 포함된 제 2 CPU, 제 2 디스크 및 제 2 메모리의 사용량을 확인한다.
다른 일 예로, 제 2 수집 서버(300)는 제 1 데이터 서버(100)에 포함된 제 1 CPU, 제 1 디스크 및 제 1 메모리의 사용량과, 상기 제 1 데이터 서버의 데이터 량을 확인한다.
또한, 상기 제 2 수집 서버는 제 1 빅데이터 플랫폼(200)에 포함된 제 2 CPU, 제 2 디스크 및 제 2 메모리의 사용량을 확인한다(S1110).
이후, 상기 수집 서버(300)는 상기 확인된 리소스의 상태(예를 들어 상기 데이터 서버(100)의 사용량, 상기 빅데이터 플랫폼(200)의 사용량, 상기 데이터 서버(100)의 데이터 량 등 포함) 등을 근거로 상기 데이터 서버(100) 및 상기 빅데이터 플랫폼(200)에 대한 데이터 수집 및 적재 방식을 결정한다.
즉, 상기 수집 서버(300)는 상기 확인되는 데이터 량 및 파티션 단위 구분 가능 여부에 따라 미리 설정된 복수의 데이터 수집 및 적재 방식 중 어느 하나의 데이터 수집 및 적재 방식을 결정(또는 선택/선정)한다. 이때, 상기 복수의 데이터 수집 및 적재 방식(또는 수집 및 적재 유형)은 1 유형, 2A 유형, 2B 유형, 3A 유형, 3B 유형, 4 유형, 5 유형 등을 포함한다. 여기서, 상기 파티션은 데이터가 적재되는(또는 저장되는) 기간(예를 들어 년 단위, 월 단위, 일 단위 등 포함), 지역(예를 들어 국가, 행정 구역(일 예로 시, 도, 군 등 포함) 등 포함) 등에 따라 설정(또는 정의/구별)할 수 있다.
일 예로, 상기 제 1 수집 서버는 상기 확인된 제 1 데이터 서버에 포함된 제 1 CPU, 제 1 디스크 및 제 1 메모리의 사용량과, 상기 제 1 데이터 서버의 데이터 량과, 상기 확인된 제 1 빅데이터 플랫폼에 포함된 제 2 CPU, 제 2 디스크 및 제 2 메모리의 사용량을 근거로 미리 설정된 복수의 데이터 수집 및 적재 방식 중에서 1 유형의 데이터 수집 및 적재 방식을 결정한다.
다른 일 예로, 상기 제 2 수집 서버는 상기 확인된 제 1 데이터 서버에 포함된 제 1 CPU, 제 1 디스크 및 제 1 메모리의 사용량과, 상기 제 1 데이터 서버의 데이터 량과, 상기 확인된 제 1 빅데이터 플랫폼에 포함된 제 2 CPU, 제 2 디스크 및 제 2 메모리의 사용량을 근거로 미리 설정된 복수의 데이터 수집 및 적재 방식 중에서 3B 유형의 데이터 수집 및 적재 방식을 결정한다(S1120).
이후, 상기 수집 서버(300)는 상기 데이터 서버(100)에 데이터 수집 요청을 전달(또는 전송)한다.
즉, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 데이터를 수집하기 위해서 상기 데이터 서버(100)에 데이터 수집 요청을 전달(또는 전송)한다.
또한, 상기 데이터 서버(100)는 상기 수집 서버(300)로부터 전달되는 상기 데이터 수집 요청을 수신하고, 상기 수신된 데이터 수집 요청을 저장한다.
일 예로, 상기 제 1 수집 서버는 상기 결정된 1 유형의 데이터 수집 및 적재 방식으로 상기 제 1 데이터 서버로부터 데이터를 수집하기 위해서 상기 제 1 데이터 서버에 제 1 데이터 수집 요청을 전송한다.
또한, 상기 제 1 데이터 서버는 상기 제 1 수집 서버로부터 전송되는 상기 제 1 데이터 수집 요청을 수신한다.
다른 일 예로, 상기 제 2 수집 서버는 상기 결정된 3B 유형의 데이터 수집 및 적재 방식으로 상기 제 1 데이터 서버로부터 데이터를 수집하기 위해서 상기 제 1 데이터 서버에 제 2 데이터 수집 요청을 전송한다.
또한, 상기 제 1 데이터 서버는 상기 제 2 수집 서버로부터 전송되는 상기 제 2 데이터 수집 요청을 수신한다(S1130).
이후, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 해당 수집 서버(300)의 미리 설정된 수집 영역에 상기 데이터 서버(100)로부터 데이터를 수집한다.
즉, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버(100)를 구성하는 DBMS(데이터베이스 관리 시스템)에 저장된 복수의 데이터(또는 테이블)를 미리 설정된 JDBC(자바 데이터베이스 접속성) 또는 ODBC(개방형 데이터베이스 접속성)를 이용해서 수집하고, 상기 수집된 데이터를 상기 수집 영역에 저장(또는 임시 저장/수집)한다.
또한, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버(100)에 저장된 로그(log)나 파일들을 미리 설정된 FTP, 오픈 소스, 자체 개발 에이전트(미도시) 등을 이용해서 수집하거나 또는, 웹 데이터들을 웹 크롤링(Web Crawling) 등을 이용해서 수집하고, 상기 수집된 데이터를 상기 수집 영역에 저장(또는 임시 저장/수집)할 수도 있다.
일 예로, 상기 제 1 수집 서버는 상기 결정된 1 유형의 데이터 수집 및 적재 방식으로 상기 제 1 데이터 서버를 구성하는 DBMS에 저장된 전체 데이터를 상기 JDBC를 이용해서 수집하고, 상기 수집된 전체 데이터를 상기 제 1 수집 서버의 제 1 수집 영역에 저장한다.
다른 일 예로, 상기 제 2 수집 서버는 상기 결정된 3B 유형의 데이터 수집 및 적재 방식으로 상기 제 1 데이터 서버를 구성하는 DBMS에 저장된 전체 데이터 중에서 파티션 중 추가 및 수정된 데이터만을 상기 JDBC를 이용해서 수집하고, 상기 수집된 추가 및 수정된 데이터를 상기 제 2 수집 서버의 제 2 수집 영역에 저장한다(S1140).
이후, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼(200)에 적재한다.
즉, 상기 수집 서버(300)는 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터(또는 상기 수집 영역에 저장된 상기 수집된 데이터)를 상기 빅데이터 플랫폼(200) 내의 디스크 및/또는 메모리에 적재한다.
이때, 상기 수집 서버(300)에서 상기 빅데이터 플랫폼(200)으로의 상기 수집된 데이터 적재시 업데이트 함수 또는 쿼리가 지원되지 않은 경우, 도 9에 도시된 바와 같이, 상기 수집 서버(300)는 상기 빅데이터 플랫폼(200)의 최종 적재 영역의 데이터와 상기 수집된 데이터를 조인(join)하여, 새로운 파티션의 데이터를 생성하고, 상기 생성된 새로운 파티션의 데이터를 상기 빅데이터 플랫폼(200)에 대치하여 적재할 수 있다.
또한, 상기 수집 서버(300)에서 상기 빅데이터 플랫폼(200)으로의 상기 수집된 데이터 적재시 삭제 함수 또는 쿼리가 지원되지 않은 경우, 도 10에 도시된 바와 같이, 상기 수집 서버(300)는 상기 수집 서버(300)의 새로 수집된 데이터를 상기 빅데이터 플랫폼(200)의 해당 파티션에 대치하여 적재할 수 있다.
일 예로, 상기 제 1 수집 서버는 상기 결정된 1 유형의 데이터 수집 및 적재 방식을 근거로 상기 수집된 상기 DBMS에 저장된 전체 데이터를 상기 제 1 빅데이터 플랫폼 내의 제 2 디스크에 적재한다.
다른 일 예로, 상기 제 2 수집 서버는 상기 결정된 3B 유형의 데이터 수집 및 적재 방식을 근거로 상기 수집된 추가 및 수정된 데이터를 상기 제 1 빅데이터 플랫폼 내의 제 2 디스크에 적재한다(S1150).
본 발명의 실시예는 앞서 설명된 바와 같이, 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재하여, 수집 대상 및 적재 대상의 현재 상태에 따라 최적의 데이터 수집 및 적재 방식에 의해 데이터를 수집 및 적재하여 전체 시스템 운영 효율을 높일 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
발명의 실시를 위한 형태는 위의 발명의 실시를 위한 최선의 형태에서 함께 기술되었다.
본 발명은 수집 서버에서 데이터를 수집하기 전에 대상 리소스의 상태를 확인하고, 상기 확인된 리소스의 상태를 근거로 해당 리소스에 대한 데이터 수집 및 적재 방식을 결정하고, 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 데이터 서버로부터 데이터를 수집하고, 상기 수집된 데이터를 빅데이터 플랫폼에 적재함으로써, 수집 대상 및 적재 대상의 현재 상태에 따라 최적의 데이터 수집 및 적재 방식에 의해 데이터를 수집 및 적재하여 전체 시스템 운영 효율을 높일 수 있어 산업상 이용가능성이 있다.

Claims (10)

  1. 리소스에 포함되며, 데이터의 수집 대상인 데이터 서버;
    상기 리소스에 포함되며, 데이터의 적재 대상인 빅데이터 플랫폼; 및
    리소스의 사용량 및 데이터 량을 확인하고, 상기 확인된 리소스의 상태를 근거로 데이터 서버 및 빅데이터 플랫폼에 대한 데이터 수집 및 적재 방식을 결정하고, 상기 데이터 서버에 데이터 수집 요청을 전달하고, 상기 결정된 데이터 수집 및 적재 방식으로 상기 수집 서버의 미리 설정된 수집 영역에 상기 데이터 서버로부터 데이터를 수집하고, 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 수집 서버를 포함하는 데이터 적재 및 처리 시스템.
  2. 제 1 항에 있어서,
    상기 수집 서버는,
    상기 데이터 서버의 사용량, 상기 데이터 서버의 데이터 량 및 상기 빅데이터 플랫폼의 사용량을 확인하는 것을 특징으로 하는 데이터 적재 및 처리 시스템.
  3. 제 1 항에 있어서,
    상기 수집 서버는,
    상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼 내의 디스크 및 메모리 중 적어도 하나에 적재하는 것을 특징으로 하는 데이터 적재 및 처리 시스템.
  4. 제 1 항에 있어서,
    상기 수집 서버는,
    상기 수집 서버에서 상기 빅데이터 플랫폼로의 상기 수집된 데이터 적재시 업데이트 함수 또는 쿼리가 지원되지 않을 때, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터와 상기 수집된 데이터를 조인(join)하여, 새로운 파티션의 데이터를 생성하고, 상기 생성된 새로운 파티션의 데이터를 상기 빅데이터 플랫폼에 대치하여 적재하는 것을 특징으로 하는 데이터 적재 및 처리 시스템.
  5. 제 1 항에 있어서,
    상기 수집 서버는,
    상기 수집 서버에서 상기 빅데이터 플랫폼으로의 상기 수집된 데이터 적재시 삭제 함수 또는 쿼리가 지원되지 않을 때, 상기 수집 서버의 새로 수집된 데이터를 상기 빅데이터 플랫폼의 해당 파티션에 대치하여 적재하는 것을 특징으로 하는 데이터 적재 및 처리 시스템.
  6. 수집 서버에 의해, 리소스의 사용량 및 데이터 량을 확인하는 단계;
    상기 수집 서버에 의해, 상기 확인된 리소스의 상태를 근거로 데이터 서버 및 빅데이터 플랫폼에 대한 데이터 수집 및 적재 방식을 결정하는 단계;
    상기 수집 서버에 의해, 상기 데이터 서버에 데이터 수집 요청을 전달하는 단계;
    상기 데이터 서버에 의해, 상기 수집 서버로부터 전달되는 상기 데이터 수집 요청을 수신하고, 상기 수신된 데이터 수집 요청을 저장하는 단계;
    상기 수집 서버에 의해, 상기 결정된 데이터 수집 및 적재 방식으로 상기 수집 서버의 미리 설정된 수집 영역에 상기 데이터 서버로부터 데이터를 수집하는 단계; 및
    상기 수집 서버에 의해, 상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 단계를 포함하는 데이터 적재 및 처리 방법.
  7. 제 6 항에 있어서,
    상기 데이터 서버 및 빅데이터 플랫폼에 대한 데이터 수집 및 적재 방식을 결정하는 단계는,
    확인되는 데이터 량 및 파티션 단위 구분 가능 여부에 따라 미리 설정된 복수의 데이터 수집 및 적재 방식 중 어느 하나의 데이터 수집 및 적재 방식을 결정하는 것을 특징으로 하는 데이터 적재 및 처리 방법.
  8. 제 6 항에 있어서,
    상기 데이터 수집 및 적재 방식은,
    미리 설정된 1 유형, 2A 유형, 2B 유형, 3A 유형, 3B 유형, 4 유형 및 5 유형 중 어느 하나이며,
    상기 1 유형은,
    상기 데이터 서버의 전체 데이터를 상기 수집 서버의 미리 설정된 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 기존 데이터를 삭제한 후, 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 방식이고,
    상기 2A 유형은,
    상기 데이터 서버의 새로 추가된 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역에 상기 수집된 데이터를 추가하여 적재하는 방식이고,
    상기 2B 유형은,
    상기 데이터 서버의 추가 및 수정된 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 리소스 내 완료테이블의 기본 데이터와 중복되지 않도록 미리 설정된 기본 키(Primary Key)를 이용하여 상기 빅데이터 플랫폼의 최종 적재 영역에 상기 수집된 데이터를 적재하는 방식이고,
    상기 3A 유형은,
    타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가된 데이터가 존재하는 파티션에 해당하는 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역에 상기 수집된 데이터를 추가하여 적재하는 방식이고,
    상기 3B 유형은,
    타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가 및 수정된 데이터만 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 기존 데이터와 중복되지 않도록 상기 기본 키를 이용하여 상기 빅데이터 플랫폼의 최종 적재 영역 내의 파티션에 상기 수집된 데이터를 적재하는 방식이고,
    상기 4 유형은,
    타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가 및 수정이 발생한 파티션 또는, 상기 데이터 서버의 파티션 중 삭제가 발생한 파티션을 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터 양을 확인하고, 상기 확인된 빅데이터 플랫폼의 최종 적재 영역의 데이터 양이 미리 설정된 기준값보다 작은 경우, 상기 빅데이터 플랫폼의 최종 적재 영역의 기존 파티션에 상기 수집된 데이터를 덮어 적재하는 방식이고,
    상기 5 유형은,
    타깃 영역이 파티션으로 구성되며, 상기 데이터 서버의 파티션 중 추가 및 수정이 발생한 파티션 또는, 상기 데이터 서버의 파티션 중 삭제가 발생한 파티션을 상기 수집 서버의 수집 영역으로 수집하고, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터 양을 확인하고, 상기 확인된 빅데이터 플랫폼의 최종 적재 영역의 데이터 양이 미리 설정된 기준값보다 크거나 같은 경우, 상기 수집된 데이터 중 일부를 상기 3B 유형으로 상기 빅데이터 플랫폼의 최종 적재 영역에 적재하고, 상기 수집된 데이터 중 나머지를 상기 4 유형으로 상기 빅데이터 플랫폼의 최종 적재 영역에 적재하는 방식인 것을 특징으로 하는 데이터 적재 및 처리 방법.
  9. 제 6 항에 있어서,
    상기 결정된 데이터 수집 및 적재 방식으로 상기 수집 서버의 미리 설정된 수집 영역에 상기 데이터 서버로부터 데이터를 수집하는 단계는,
    상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버를 구성하는 DBMS에 저장된 복수의 데이터를 미리 설정된 JDBC 또는 ODBC를 이용해서 수집하는 과정;
    상기 결정된 데이터 수집 및 적재 방식으로 상기 데이터 서버에 저장된 로그나 파일들을 미리 설정된 FTP, 오픈 소스 및 에이전트 중 적어도 하나를 이용해서 수집하는 과정; 및
    상기 결정된 데이터 수집 및 적재 방식으로 웹 데이터들을 웹 크롤링을 이용해서 수집하는 과정 중 적어도 하나의 과정을 포함하는 것을 특징으로 하는 데이터 적재 및 처리 방법.
  10. 제 6 항에 있어서,
    상기 결정된 데이터 수집 및 적재 방식을 근거로 상기 수집된 데이터를 상기 빅데이터 플랫폼에 적재하는 단계는,
    상기 수집 서버에서 상기 빅데이터 플랫폼으로의 상기 수집된 데이터 적재시 업데이트 함수 또는 쿼리가 지원되지 않을 때, 상기 수집 서버에 의해, 상기 빅데이터 플랫폼의 최종 적재 영역의 데이터와 상기 수집된 데이터를 조인(join)하여, 새로운 파티션의 데이터를 생성하는 과정; 및
    상기 생성된 새로운 파티션의 데이터를 상기 빅데이터 플랫폼에 대치하여 적재하는 과정을 포함하는 것을 특징으로 하는 데이터 적재 및 처리 방법.
PCT/KR2021/006535 2020-05-27 2021-05-26 데이터 적재 및 처리 시스템 및 그 방법 WO2021242000A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/921,284 US11797513B2 (en) 2020-05-27 2021-05-26 Data loading and processing system, and method therefor
EP21812752.0A EP4160432A4 (en) 2020-05-27 2021-05-26 DATA LOADING AND PROCESSING SYSTEM AND ASSOCIATED METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200063875A KR102188132B1 (ko) 2020-05-27 2020-05-27 데이터 적재 및 처리 시스템 및 그 방법
KR10-2020-0063875 2020-05-27

Publications (1)

Publication Number Publication Date
WO2021242000A1 true WO2021242000A1 (ko) 2021-12-02

Family

ID=73791074

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/006535 WO2021242000A1 (ko) 2020-05-27 2021-05-26 데이터 적재 및 처리 시스템 및 그 방법

Country Status (4)

Country Link
US (1) US11797513B2 (ko)
EP (1) EP4160432A4 (ko)
KR (1) KR102188132B1 (ko)
WO (1) WO2021242000A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102188132B1 (ko) * 2020-05-27 2020-12-07 비코어(주) 데이터 적재 및 처리 시스템 및 그 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
KR20180024367A (ko) * 2016-08-30 2018-03-08 디포커스 (주) 하둡 기반 대용량 데이터 수집 관리 방법 및 이의 시스템
KR101874484B1 (ko) * 2017-11-30 2018-07-04 아이씨티웨이주식회사 스트림 기반 공간 데이터를 추출, 변환 및 적재하기 위한 시스템 및 방법
KR20180078994A (ko) * 2016-12-30 2018-07-10 주식회사 포스코아이씨티 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 및 인터페이스 미들웨어 시스템의 데이터 수집 방법
KR101966201B1 (ko) * 2017-11-01 2019-04-05 (주)데이터스트림즈 빅 데이터의 실시간 저장 및 검색 시스템
KR102188132B1 (ko) * 2020-05-27 2020-12-07 비코어(주) 데이터 적재 및 처리 시스템 및 그 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519601B1 (en) * 1996-05-22 2003-02-11 Universitaire Ziekenhuizen Leuven Relational database compiled/stored on a memory structure providing improved access through use of redundant representation of data
US6477563B1 (en) * 1998-04-13 2002-11-05 Kabushiki Kaisha Toshiba Agent system and information processing method for same
JP2008134712A (ja) * 2006-11-27 2008-06-12 Hitachi Ltd ファイル共有システム、ファイル共有装置及びファイル共有用ボリュームの移行方法
JP2009037546A (ja) * 2007-08-03 2009-02-19 Hitachi Ltd スレッド固有領域を利用するメモリ管理方法およびその方法を用いたコンピュータ
US7970903B2 (en) * 2007-08-20 2011-06-28 Hitachi, Ltd. Storage and server provisioning for virtualized and geographically dispersed data centers
US10635644B2 (en) * 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
US10628748B2 (en) * 2013-12-03 2020-04-21 University Of Massachusetts System and methods for predicting probable relationships between items
EP3278213A4 (en) * 2015-06-05 2019-01-30 C3 IoT, Inc. SYSTEMS, METHODS AND DEVICES FOR AN APPLICATION DEVELOPMENT PLATFORM OF AN INTERNET OF THE THINGS OF A COMPANY
US10091110B2 (en) * 2015-10-28 2018-10-02 Electronics And Telecommunications Research Institute Edge-based load shedding system for fast data analysis and operating method thereof
US20180068004A1 (en) * 2016-09-08 2018-03-08 BigStream Solutions, Inc. Systems and methods for automatic transferring of at least one stage of big data operations from centralized systems to at least one of event producers and edge devices
US10868742B2 (en) * 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
CN108228908B (zh) * 2018-02-09 2021-11-12 中国银行股份有限公司 一种数据抽取方法及装置
KR102013149B1 (ko) 2018-12-27 2019-08-27 대한민국 데이터 수집 및 관리 방법 및 이를 수행하기 위한 시스템
US11514630B2 (en) * 2020-04-01 2022-11-29 International Business Machines Corporation Scalable visual analytics for remote sensing applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
KR20180024367A (ko) * 2016-08-30 2018-03-08 디포커스 (주) 하둡 기반 대용량 데이터 수집 관리 방법 및 이의 시스템
KR20180078994A (ko) * 2016-12-30 2018-07-10 주식회사 포스코아이씨티 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 및 인터페이스 미들웨어 시스템의 데이터 수집 방법
KR101966201B1 (ko) * 2017-11-01 2019-04-05 (주)데이터스트림즈 빅 데이터의 실시간 저장 및 검색 시스템
KR101874484B1 (ko) * 2017-11-30 2018-07-04 아이씨티웨이주식회사 스트림 기반 공간 데이터를 추출, 변환 및 적재하기 위한 시스템 및 방법
KR102188132B1 (ko) * 2020-05-27 2020-12-07 비코어(주) 데이터 적재 및 처리 시스템 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4160432A4 *

Also Published As

Publication number Publication date
EP4160432A1 (en) 2023-04-05
EP4160432A4 (en) 2024-06-12
KR102188132B1 (ko) 2020-12-07
US20230122194A1 (en) 2023-04-20
US11797513B2 (en) 2023-10-24

Similar Documents

Publication Publication Date Title
WO2021003975A1 (zh) 网关接口测试方法、终端设备、存储介质及装置
WO2023038381A1 (ko) Api 데이터 수집시스템 및 그에 관한 방법
WO2019198885A1 (ko) 블록체인 기반의 다수의 서비스 노드를 사용하는 탈중앙화 서비스 플랫폼
WO2012050293A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN112202940B (zh) 一种kubernetes对外暴露Pod服务方式
WO2021242000A1 (ko) 데이터 적재 및 처리 시스템 및 그 방법
WO2021003923A1 (zh) FreeSWITCH监控方法、设备、存储介质及装置
CN117155934B (zh) 一种跨集群通信方法及装置、设备及存储介质
WO2011065660A2 (ko) 계산 시뮬레이션 모사 시스템 및 그 방법
CA2042538A1 (en) Network address managing method and system
WO2013176431A1 (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
WO2013127195A1 (zh) 链式沟通协作方法、装置及系统
WO2014021675A1 (en) Method and apparatus for updating personal information in communication system
WO2024090932A1 (ko) 수집 데이터 자동 처리를 위한 데이터 적재 프로파일링 장치 및 방법
WO2018043767A1 (ko) 데이터 에이전트 컨테이너를 이용한 데이터 수집 방법 및 이의 시스템
WO2023182661A1 (ko) 빅데이터를 분석하는 전자 장치 및 그 동작 방법
WO2016127315A1 (zh) 一种私有云系统的资源共享方法及装置
WO2019035499A1 (ko) 사용자 수요 기반의 saas 결합 서비스 플랫폼에서 자동 스케일링을 이용한 saas 결합 서비스 처리 시스템 및 방법
US6580791B1 (en) Apparatus for providing data to switching elements in a communications system
WO2021080110A1 (ko) 클라우드 환경에서 단말의 소속 식별 및 관리를 위한 시스템과 방법
WO2019156262A1 (ko) 배전지능화 시스템용 보안패치의 시험 평가 장치 및 그 방법
WO2016127317A1 (zh) 一种私有云系统的资源共享方法及装置
WO2022010300A1 (ko) 피어 단말기 및 피어 단말기가 블록 데이터를 처리하는 방법
WO2014021674A1 (en) Method and apparatus for updating personal information in communication system
WO2023113277A1 (ko) 에너지 저장 시스템 및 에너지 저장 시스템의 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21812752

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021812752

Country of ref document: EP

Effective date: 20230102