WO2020085938A1 - Способ и система комплексного управления большими данными - Google Patents

Способ и система комплексного управления большими данными Download PDF

Info

Publication number
WO2020085938A1
WO2020085938A1 PCT/RU2018/000706 RU2018000706W WO2020085938A1 WO 2020085938 A1 WO2020085938 A1 WO 2020085938A1 RU 2018000706 W RU2018000706 W RU 2018000706W WO 2020085938 A1 WO2020085938 A1 WO 2020085938A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
subsystem
tfs
processing
control module
Prior art date
Application number
PCT/RU2018/000706
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 Публичное Акционерное Общество "Сбербанк России"
Publication of WO2020085938A1 publication Critical patent/WO2020085938A1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Definitions

  • the claimed solution relates to the management of large amounts of data, in particular, to a system and method for processing and unified storage.
  • Big Data refers to the huge amount of data entering the storage system. Data, as a rule, comes from many sources of information in an unstructured form. Big Data also includes technologies for their processing and use, methods for finding the necessary information in large arrays.
  • HDFS or the Hadoop Distributed File System
  • HDFS is the primary storage system used by Hadoop applications. HDFS repeatedly copies data blocks and distributes these copies to the computing nodes of the cluster, thereby ensuring high reliability and speed of calculations.
  • a data warehouse architecture is known in the art for sharing data stored therein (US20130262615, 03/10/2013).
  • the data warehouse can be implemented using HDFS and provide a filter for incoming information for its primary processing and direct storage for later use.
  • the storage system operates by creating copies of incoming data from heterogeneous sources for subsequent linking them using metadata for access to them.
  • CN 106407309 (Wei et al., February 15, 2017) describes a cluster storage mechanism for retrieving information from a variety of different data sources and providing an authentication process between a database and data sources.
  • the achieved technical result coincides with the technical problem being solved and consists in increasing the efficiency of storing large amounts of data, through the use of a distributed storage architecture with processing input data in order to unify them.
  • Big Data which contains the input data transportation and verification subsystem (hereinafter TFS), the external data loading subsystem (hereinafter xStream), which operates on the basis of the data description standard, in which:
  • TFS receives, verifies and transfers data from data sources to xStream, and TFS receives data in archived form and transmits data using the transport protocol;
  • xStream contains a file loading subsystem, a data processing and archiving subsystem, a data access subsystem (hereinafter hCatalog), a data loading control module and an access control module, and in xStream: the file loading subsystem polls TFS for transferring data received from sources to the data processing and archiving subsystem, and the data sources are pre-registered in the data loading subsystem;
  • hCatalog data access subsystem
  • the file loading subsystem polls TFS for transferring data received from sources to the data processing and archiving subsystem, and the data sources are pre-registered in the data loading subsystem
  • the data loading subsystem performs primary copying of files received from TFS to the processing and archiving subsystem
  • the processing and archiving subsystem contains data storage areas that provide structured storage of primary data, intermediate data, and published data;
  • files are transferred to the primary data storage area from the data loading subsystem, which correspond to the set archiving parameters and are stored in the originally archived form;
  • the processing and archiving subsystem is configured to transmit unarchived primary data converted into parquet format to the intermediate data area for further transformations;
  • a structured catalog is formed for accessing said data via hCatalog.
  • the TFS system In one of the private implementations of the TFS system, it checks the integrity of the received archive data.
  • the ID of said sources is stored in the download control module.
  • the download control module controls the data stream of multiple sources by the corresponding stored IDs.
  • data download parameters are contained.
  • the data loading subsystem downloads files to the processing and archiving subsystem based on the file upload mask.
  • a file upload mask is generated based on at least the name of the downloaded archive file.
  • a directory for storing data of a corresponding source is formed in the processing and archiving subsystem in each of the data storage areas.
  • the download control module checks for information on all sources in TFS.
  • a complete or incremental download of data from TFS is performed.
  • incremental loading is performed by the data loading module upon detection of new data in TFS that differs from the files supplied earlier in the delivery date of the archive.
  • the processing and archiving subsystem processes parquet files to bring them into compliance with Hive-SQL types.
  • the current version of the data is transferred to the published data area with the previous version moving to the history storage directory with partitioning by the download date.
  • hCatalog provides a display of the data structure of the data publishing area.
  • the data structure is partitioned into databases corresponding to data sources.
  • the data processing and archiving subsystem additionally provides an automated function to upload data at any date in the past.
  • the claimed solution is also carried out using the Big Data management method using the input data transport and verification subsystem (hereinafter TFS) and the external data loading subsystem (hereinafter xStream), wherein xStream consists of a file upload subsystem, a processing subsystem, and archiving, data access subsystem, data loading control module and access control module, the method comprising the steps of: using the xStream download control module, interact with TFS to obtain data from the mentioned sources, the data sources being pre-registered in the data load control module;
  • TFS input data transport and verification subsystem
  • xStream consists of a file upload subsystem, a processing subsystem, and archiving, data access subsystem, data loading control module and access control module
  • TFS receives data from the mentioned sources using TFS, which receives data in archived form and performs data accumulation and verification; if the data is successfully verified, they are transferred to the data download subsystem using the transport protocol;
  • the processing of the received data which includes the accumulation of files, file verification, unpacking archive files that have passed verification and converting the unpacked files to the parquet format;
  • control and delete duplicate data, control and delete data with a broken structure convert data types to Hive-SQL, control update the current data catalog, control and update the catalog of the history of data changes, control and control the depth of the data archive;
  • the access control module determines a set of functionality based on the user's access level.
  • the data processing and archiving subsystem processes the parquet format files to match the Hive-SQL type.
  • the registration of data sources is performed by recording the source ID in the download control module.
  • the download control module controls the data stream of multiple sources by the corresponding stored IDs.
  • controlling the data flow includes checking for information from the data source in TFS, processing messages from TFS, and performing actions based on message processing.
  • a complete or incremental loading of data from the input processing subsystem is performed.
  • incremental loading is performed when the loading module detects the presence of new data.
  • the download control module contains data download parameters.
  • files are uploaded to the processing and archiving subsystem based on the file upload mask.
  • a file upload mask is generated based on at least the name of the downloaded archive file.
  • FIG. 1 illustrates the claimed system for integrated management of big data.
  • FIG. 2 illustrates an example of a source identifier.
  • FIG. 3 illustrates a general view of a user's computing device.
  • FIG. 4 illustrates a general network interaction diagram
  • FIG. 1 presents a General implementation scheme of the claimed system (100) for managing big data.
  • the main functional element of the claimed system (100) is the subsystem (170) of loading external data - xStream, which interacts (or is a part) with a cloud platform (OP) (180) for storing and managing data.
  • XStream is a framework for providing a centralized infrastructure for receiving, processing and storing external data in Hadoop software for further distribution to all interested parties for use in business processes and in research on the extraction of value.
  • Data sources can represent various resources and channels for providing information, for example, social networks, accounting systems, CRM systems, registers of government agencies (USRLE, ROSSTAT, FFMS, etc.), etc.
  • TFS Transport File System
  • NFS Network File System
  • the xStream subsystem (170) in turn consists of: a file upload subsystem (130), a data processing and archiving subsystem (140), a data access subsystem (150), and a technology core (160).
  • the data received at the TFS input (120) is transferred to the file upload subsystem (130), which performs the transportation of data archives using the integration module (131) with TFS (120) to the primary data storage layer — the subsystem (140) .
  • Initial download this is an initialization download that runs once and captures all archives available in TFS (120), the file names of which satisfy the specifications for the supply of data from suppliers.
  • Archive capture comes from TFS catalogs.
  • TFS (120) authentication is performed using a technical account and a private key.
  • Data is copied from TFS (120) to the xStream (170) primary storage layer by initiating the load control module (161) initiating data requests from TFS (120).
  • the load control module (161) initiating data requests from TFS (120).
  • TFS (120) the data and control message loading routes between module (161) and TFS (120) are indicated.
  • Module (161) can initiate the loading of one or more data streams simultaneously, while the streams will be processed in parallel.
  • Each data source (110) is registered in the module (161). For each source, its identifier (ID) is created and stored. In the process of registering a data source (110), the following procedure is performed:
  • a schema is an optional element and is used for logical grouping of tables.
  • Source software
  • schemes tables correspond to entities with unique identifiers in module (161).
  • the identifier is an integer of the format shown in FIG. 2.
  • the source number is the internal surrogate identifier of the source (software) in xStream (170), which is generated at the stage of connecting the source (software) to xStream (170).
  • the data area indicates the storage area of the received information in xStream (170):
  • a circuit is an identifier of a circuit in a source or subsystem. It is generated at the stage of connecting the source (software) to xStream (170). The table number represents the table number in the circuit. It is also generated at the stage of connecting the source (110) to xStream (170).
  • the data processing and archiving subsystem (140) is a repository of data received from external sources (software), and is a logical area in HDFS. Access to stored data is provided through the access subsystem (150) hCatalog, which is also designed to publish meta-information about the data.
  • the data processing and archiving subsystem (140) contains data storage areas that provide structured storage of primary (raw) data (141), intermediate data (142), and published data (143).
  • the primary data storage area (141) information archives obtained from the TFS (120) from the data sources (110) registered in the module (161) are transmitted. Received data is checked for integrity in TFS (120). In case of violation of the integrity of archives received from data sources (software), such information is not transmitted to the xStream subsystem (170). Upon successful copying of information from TFS (120) to the primary data area (141), xStream (170) notifies of a successful operation.
  • Files can be transferred from the subsystem (130) to the storage subsystem (140) using the file upload mask, which can be formed on the basis of, for example, the name of the downloaded archive file.
  • file upload mask which can be formed on the basis of, for example, the name of the downloaded archive file.
  • the ETL (Extract, Transform, Load) module (132) transfers data to the necessary areas (142) - (143) of the storage and archiving subsystem (140), and also prepares and converts the unzipped data to the parquet format when it arrives into subsystem (130).
  • Parquet is a binary, column-oriented data storage format (see, for example, “Apache Parquet Performance”. // https://habr.com/post/282552A.
  • source data software
  • Hive-SQL types An example of casting data to the Hive-AQL type is presented in Table 1. If the file name, for example, * .json format does not match the mask, the data of archives containing such files will not be converted to parquet. This technique provides a stable process of accessing data through Hive using regular SQL queries, which leads to increased reliability of access to information.
  • Uploading data to the publication area (143) is carried out in several stages.
  • the first step is to obtain new archives.
  • the raw data storage area (141) is scanned by the name of the corresponding source (110) (for example, for the abc source, the directory in the region (141) / data / core / extemal / abc / src) according to the archive name template.
  • Archives that have already been uploaded to the publication area (143) of the source that were successfully processed by the storage and archiving subsystem (140) are excluded from the list. Also, archives that were processed with an error are excluded from the list.
  • Source archives (110) from the remaining list are transferred to the raw data area (141).
  • the above attributes are transmitted as job parameters and are provided by the load control module (161). As a result of processing, an appropriate directory structure is created. In case of successful conversion of all files from archives to parquet format, the archive name is registered in the journal, which is necessary to control the process of access to information and ensure automatic rollback of the system to an earlier point. If an error occurs while processing at least one archive file, subsequent processing of the archive is terminated and the archive name is marked as erroneous.
  • Two sections are formed in the data access subsystem (150) - the current data slice (151) containing the fingerprint of the current data, and the data history section (152) containing information about the data changes.
  • Each entity containing the data of the source (software) is processed separately, while the data corresponding to the entity from all archives that have been registered as successfully processed is processed.
  • data processing There are two ways. data processing - the choice of method depends on the presence of historicity in the data on the mentioned entity.
  • the resulting union allocates new data that is placed in areas (151) and (152).
  • the data to be displayed in area (151) is stored with partitioning by the ctl loading field in the intermediate data directory (142)
  • Ctl loading is a stream (technical entity) that is activated by the load control module (161). A separate stream is created and registered for each source (110).
  • the fields ctl_pa_loading (from the ctl loading field), ctl loading (with the current value ⁇ loadingId>), and ctl validTo (start time of the data download stream) are provided.
  • the data to be displayed in area (152) is saved with partitioning by the ctl loading field in the intermediate data directory (142) stg / ⁇ loadingId> / pa / hist / ⁇ HMfl Ta6nHUbi>. As a result, only one partition (partition) is created for region (152)
  • the stg / status / .fail file is copied to the directory of the intermediate data storage area (142) stg / ⁇ loadingId> / pa /.
  • the intermediate data storage area (142) is cleared.
  • the log data of the operation performed in the area (142) should be added to the general log of the published data area (143).
  • the directory 81 / ⁇ 1oasnp 1 1> / pa / 5pr / ⁇ table_name> / s1: 1_1oasip ⁇ ⁇ 1oasnt 1 1> from the intermediate data storage area (142) moves to the catalog of the published data area (143), ra / ccd / ⁇ table_name>, as a new section, which is subsequently registered for display in hCatalog (150) in the area (151).
  • a new section in the area (143) pa / snp / ⁇ HMfl_Ta6aHnbi> / ctl_loading ⁇ loadingId> is registered in hCatalog (150) to provide access to information.
  • the files stg / ⁇ loadingId> /pa/.success and stg / ⁇ loadingId> /pa/.fail are copied to the directory of the intermediate data area (142) stg / status /, which display the status of the data loading operations. This stage is considered successful if during its execution there were no exceptions and data loading errors.
  • the data processing and archiving subsystem (140) cleans / archives the published data area (143) by the parameter of the identifier of the information loading stream (ctl loading and ctl_pa_loading), which is set by the download control module (161).
  • the depth of the history to be cleaned / archived is set by, for example, 5 years.
  • xStream (170) has configuration files, as well as profiles specified when the XStream subsystem (170) starts, containing a set of parameters.
  • Configuration files assume the following settings: • source folder address
  • Files from the sender are usually published to the sender’s shared folder in TFS (120), so for this it is necessary to generate a unique file name. Files come packaged in archives. Valid extension types can be different, for example, tar.gz, zip, etc.
  • the archive file name can be formed, for example, by the following mask: ⁇ saller> _ ⁇ source> _ ⁇ table> _ ⁇ inc> _ ⁇ ver> _ ⁇ date> _ ⁇ time> _ ⁇ nnn>. ⁇ extension> where
  • table - the name of the data type or entity. If a single-archive delivery comes with a scheme consisting of several interconnected entities that must be delivered at the same time, for example, tables, then in this section you put “kit”, and the direct names of the entities are already indicated in the files themselves inside the archive;
  • inc - contains full if the archive refers to the delivery / re-delivery of the full data archive, incr - if the archive refers to the delivery of the increment;
  • nnn - a number in order starting with 001 if several delivery files are part of the matches of the remaining parts of the archive file name. It always consists of 3 digits starting with 001, for example, 001, 002, etc. If the delivery contains only 1 file, then in this section it is indicated - 001;
  • the file name in the archive is formed in the same way as the name of the archive file, with the exception of the file extension and section ⁇ table> for the set.
  • Valid file types and extensions for example, csv, tsv, txt, json, avro, xml, etc.
  • the name of the transferred file can use no more than 128 characters (including the extension).
  • the data model of an external source corresponds to the structure of the supplied data and is determined at the stage of analysis and preparation of the source (software) for loading into xStream (170).
  • the target tool for accessing data is Apache Hive.
  • User access to published data contained in area (150) is based on controlling the access level of each of the users.
  • xStream (170) When interacting with xStream (170), for each user, the allowed functionality for performing operations with data is checked, in particular, such operations can be: viewing, editing, obtaining an analytical slice, combined viewing, etc.
  • a user with the roles of Administrator and Auditor has access to xStream logs (170) through a centralized log management system available in the cloud platform (180).
  • FIG. 3 shows a general view of a computing device (200), using which the claimed method and system are implemented in a cluster.
  • a computing device comprises one or more processors (201) connected by a common bus, memory means such as RAM (202) and ROM (203), input / output interfaces (204), input / output (205), and means for network interaction (206).
  • processors 201
  • memory means such as RAM (202) and ROM (203)
  • input / output interfaces 204
  • input / output 205
  • means for network interaction 206
  • a processor (201) may be selected from a variety of currently widely used devices, for example, Intel TM, AMD TM, Apple TM, Samsung Exynos TM, MediaTEK TM, Qualcomm Snapdragon TM, and etc.
  • RAM (202) is a random access memory and is intended to store machine-readable instructions executed by the processor (201), to perform the necessary operations for logical data processing.
  • RAM (202) contains executable instructions of the operating system and corresponding software components (applications, program modules, etc.).
  • the ROM (203) is one or more permanent storage devices, for example, a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.
  • I / O interfaces (204) are used to organize the operation of the components of the device (200) and organize the operation of external connected devices.
  • the choice of appropriate interfaces depends on the specific computing device, which can be, but not limited to: PCI, AGP, PS / 2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS / Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
  • I / O information for example, a keyboard, a display (monitor), a touch screen, a touch pad, a joystick, a mouse, a light pen, a stylus, are used to provide user interaction with a computing device (200), touchpad, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
  • the network interaction tool (206) enables data transmission by the device (200) via an internal or external computer network, for example, an Intranet, the Internet, a LAN, and the like.
  • an internal or external computer network for example, an Intranet, the Internet, a LAN, and the like.
  • it can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communications module, NFC module, Bluetooth and / or BLE module, Wi-Fi module and other
  • satellite navigation aids such as GPS, GLONASS, BeiDou, Galileo, may also be used.
  • FIG. 4 shows an example of a network environment when operating the claimed system (100).
  • the organization of working with data using HDFS consists in the formation of appropriate levels of abstraction in clustered or virtual environments.
  • Each stack of the system includes many computing devices, for example, computers and / or servers, which communicate with the cloud platform (180) containing xstream (170) via switches.
  • This architecture allows you to quickly increase the necessary computing power with a significant increase in the volume of stored and processed data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Заявленное решение относится к управлению большими объемами данных. Технический результат заключается в повышении эффективности хранения больших объемов данных за счет применения распределенной архитектуры хранения с обеспечением обработки входных данных с целью их унификации. Заявленое решение осуществляется с помощью системы комплексного управления большими данными, содержащая подсистему транспортировки и проверки входных данных (далее TFS), подсистему загрузки внешних данных (далее xStream), функционирующую на основании стандарта описания данных, в которой: TFS осуществляет прием, проверку и передачу в xStream данных, поступающих от источников данных; xStream содержит подсистему загрузки файлов, подсистему обработки и архивирования данных, подсистему доступа к данным, модуль управления загрузкой данных и модуль управления доступом.

Description

СПОСОБ И СИСТЕМА КОМПЛЕКСНОГО УПРАВЛЕНИЯ БОЛЬШИМИ
ДАННЫМИ
ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное решение относится к управлению большими объемами данных, в частности, к системе и способу для их обработки и унифицированного хранения.
УРОВЕНЬ ТЕХНИКИ
[0002] Из уровня техники известны различные решения по организации систем хранения данных на основе распределенных файловых систем (HDFS/ Hadoop File System), которые, в частности, применяются для работы с большими данными.
[0003] Под термином «большие данные» (Big Data) понимается огромный объем данных, поступающих в систему хранения. Данные, как правило, поступают из множества источников информации в неструктурированном виде. Big Data включает в себя также технологии их обработки и использования, методы поиска необходимой информации в больших массивах.
[0004] Основная проблема больших данных связана с большим количеством информации, которую необходимо обрабатывать и, соответственно, хранить доверенным образом с минимизацией рисков потери данных. В связи с этим возникает необходимость резервного копирования данных, которая подразумевает организацию объемных структур хранения данных. Однако с увеличением объема информации растут сложности с ее резервированием .
[0005] HDFS, или Распределенная файловая система Hadoop - это основная система хранения данных, используемая приложениями Hadoop. HDFS многократно копирует блоки данных и распределяет эти копии по вычислительным узлам кластера, тем самым обеспечивая высокую надежность и скорость вычислений.
[0006] Из уровня техники известна архитектура хранилища данных для предоставления совместного доступа к данным, хранимым в нем (US 20130262615, 03.10.2013). Хранилище данных может быть реализовано с помощью HDFS и представлять фильтр для поступающей информации для ее первичной обработки при непосредственном сохранении для последующего использования. Система хранения функционирует с помощью формирования копий, поступающих данных из разнородных источников для последующей связки их с помощью метаданных для целей доступа к ним. [0007] В заявке CN 106407309 (Wei et al., 15.02.2017) описывается механизм кластерного хранилища для получения информации из множества различных источников данных и обеспечения процесса аутентификации между базой данных и источниками данных.
[0008] Известные решения обладает существенными недостатками, которые заключаются в отсутствии обработки поступающих данных с целью их преобразования в унифицированный вид, что не позволяет оперативно обновлять информацию от источников, и снижает эффективность работы хранилища данных. Также, отсутствие процесса унификации данных приводит к низкой отказоустойчивости системы хранения в случае поступления данных в неправильном или неподдерживаемом формате (ошибки транспортного формата, ошибки архивирования, ошибки копирования, ошибки структуры данных, ошибки типов данных).
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0009] Решаемой технической проблемой с помощью заявленного способа и системы является устранение недостатков, присущих известным аналогам, а также создание нового принципа эффективного хранения больших объемов данных.
[0010] Достигаемый технический результат совпадает с решаемой технической проблемой и заключается в повышении эффективности хранения больших объемов данных, за счет применения распределенной архитектуры хранения с обеспечением обработки входных данных с целью их унификации.
[ООП] Дополнительным техническим эффектом является повышение отказоустойчивости системы хранения данных, за счет архитектуры системы управления хранением больших данных и обеспечения унификации хранимых данных.
[0012] Заявление решение осуществляется с помощью системы комплексного управления большими данными (Big Data), содержащая подсистему транспортировки и проверки входных данных (далее TFS), подсистему загрузки внешних данных (далее xStream), функционирующую на основании стандарта описания данных, в которой:
TFS осуществляет прием, проверку и передачу в xStream данных, поступающих от источников данных, причем TFS принимает данные в архивированном виде и осуществляет передачу данных по транспортному протоколу;
xStream содержит подсистему загрузки файлов, подсистему обработки и архивирования данных, подсистему доступа к данным (далее hCatalog), модуль управления загрузкой данных и модуль управления доступом, причем в xStream: подсистема загрузки файлов осуществляет опрос TFS для передачи данных, поступивших от источников, в подсистему обработки и архивирования данных, причем источники данных предварительно регистрируются в подсистеме загрузки данных;
подсистема загрузки данных выполняет первичное копирование файлов, поступающих от TFS, в подсистему обработки и архивирования;
подсистема обработки и архивирования содержит области хранения данных, которые осуществляют структурированное хранение первичных данных, промежуточных данных и публикуемых данных;
в область хранения первичных данных передаются файлы из подсистемы загрузки данных, которые соответствуют установленным параметрам архивирования и хранятся в первоначально заархивированном виде;
подсистема обработки и архивирования выполнена с возможностью передачи в область промежуточных данных разархивированных первичных данных, преобразованных в формат parquet для дальнейших преобразований;
в область публикуемых данных передаются подготовленные, преобразованные, унифицированные данные, приведенные к стандарту xStream, в которых имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование;
и из унифицированных данных области публикуемых данных формируется структурированный каталог для доступа к упомянутым данным посредством hCatalog.
[0013] В одном из частных вариантов реализации системы TFS осуществляет проверку целостности получаемых архивных данных.
[0014] В другом частном варианте реализации системы для зарегистрированных источников в модуле управления загрузкой хранится ID упомянутых источников.
[0015] В другом частном варианте реализации системы модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.
[0016] В другом частном варианте реализации системы для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.
[0017] В другом частном варианте реализации системы подсистема загрузки данных осуществляет загрузку файлов в подсистему обработки и архивирования на основании маски загрузки файлов. [0018] В другом частном варианте реализации системы маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.
[0019] В другом частном варианте реализации системы в подсистеме обработки и архивирования в каждой из областей хранения данных формируется каталог для хранения данных соответствующего источника.
[0020] В другом частном варианте реализации системы модуль управления загрузкой проверяет наличие информации по всем источникам в TFS.
[0021] В другом частном варианте реализации системы выполняется полная или инкрементальная загрузка данных из TFS.
[0022] В другом частном варианте реализации системы инкрементальная загрузка выполняется модулем загрузки данных при обнаружении в TFS новых данных отличающихся от поставленных ранее по дате поставки архива файлов.
[0023] В другом частном варианте реализации системы подсистема обработки и архивирования осуществляет обработку parquet файлов для их приведения в соответствие типам Hive-SQL.
[0024] В другом частном варианте реализации системы для файлов при их обработке подсистемой обработки и архивирования выполняется проверка на наличие аналогичных данных, сохраненных ранее.
[0025] В другом частном варианте реализации системы при наличии более ранних данных в область публикуемых данных передается актуальная версия данных с перемещением предыдущей версии в каталог хранения истории с партиционированием по дате загрузки.
[0026] В другом частном варианте реализации системы hCatalog предоставляет отображение структуры данных области публикации данных.
[0027] В другом частном варианте реализации системы структура данных разбивается по базам данных, соответствующих источникам предоставления данных.
[0028] В другом частном варианте реализации системы подсистема обработки и архивирования данных дополнительно обеспечивает автоматизированную функцию оката загрузки данных на любую дату в прошлом.
[0029] Заявленное решение осуществляется также с помощью способа управления большими данными (Big Data) с помощью подсистемы транспортировки и проверки входных данных (далее TFS) и подсистемы загрузки внешних данных (далее xStream), причем xStream состоит из подсистемы загрузки файлов, подсистемы обработки и архивирования, подсистемы доступа к данным, модуля управления загрузкой данных и модуля управления доступом, причем способ включает этапы, на которых: с помощью модуля управления загрузкой xStream выполняют взаимодействие с TFS для получения данных от упомянутых источников, причем источники данных предварительно регистрируются в модуле управления загрузкой данных;
получают данные из упомянутых источников с помощью TFS, которая принимает данные в архивированном виде и осуществляет накопление и проверку данных, в случае успешной проверки упомянутых данных осуществляют их передачу в подсистему загрузки данных по транспортному протоколу;
осуществляют с помощью подсистемы обработки и архивирования данных обработку получаемых данных, которая включает накопление файлов, проверку файлов, распаковку архивных файлов, прошедших проверку и преобразование распакованных файлов в формат parquet;
осуществляют структуризацию преобразованных файлов с помощью их размещения в каталогах, каждый из которых связан с источниками данных, зарегистрированными в упомянутом модуле управления загрузкой данных;
осуществляют контроль и удаление дублирующих данных, контроль и удаление данных с нарушенной структурой, преобразование типов данных в Hive-SQL, контроль обновление каталога актуальных данных, контроль и обновление каталога истории изменения данных, контроль и управление глубиной архива данных;
осуществляют доступ пользователей к данным, размещенным в подсистеме доступа к данным с помощью модуля управления доступом.
[0030] В одном из частных примеров реализации способа модуль управления доступом определяет набор функционала на основании уровня доступа пользователя.
[0031] В другом частном примере реализации способа подсистема обработки и архивирования данных осуществляет обработку файлов формата parquet для их соответствия типу Hive-SQL.
[0032] В другом частном примере реализации способа регистрация источников данных осуществляется с помощью записи ID источника в модуле управления загрузкой.
[0033] В другом частном примере реализации способа модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.
[0034] В другом частном примере реализации способа управление потоком данных включает проверку наличия информации от источника данных в TFS, обработку сообщений от TFS, выполнение действий на основании обработки сообщений.
[0035] В другом частном примере реализации способа выполняется полная или инкрементальная загрузка данных из подсистемы первичной обработки входных данных. [0036] В другом частном примере реализации способа инкрементальная загрузка выполняется при обнаружении модулем загрузки наличия новых данных.
[0037] В другом частном примере реализации способа для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.
[0038] В другом частном примере реализации способа загрузка файлов в подсистему обработки и архивирования осуществляется на основании маски загрузки файлов.
[0039] В другом частном примере реализации способа маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0040] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:
[0041] Фиг. 1 иллюстрирует заявленную систему комплексного управления большими данными.
[0042] Фиг. 2 иллюстрирует пример идентификатора источника.
[0043] Фиг. 3 иллюстрирует общий вид вычислительного устройства пользователя.
[0044] Фиг. 4 иллюстрирует общую схему сетевого взаимодействия.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0045] На Фиг. 1 представлена общая схема реализации заявленной системы (100) управления большими данными. Основным функциональным элементом заявленной системы (100) является подсистема (170) загрузки внешних данных - xStream, которая взаимодействует (или является частью) с облачной платформой (ОП) (180) хранения и управления данными. XStream представляет собой фреймворк для обеспечения централизованной инфраструктуры получения, обработки и хранения внешних данных в ОП на Hadoop для дальнейшего распространения всем заинтересованным лицам с целью использования в бизнес-процессах и в исследованиях на предмет извлечения ценности.
[0046] Источники данных (ПО) могут представлять различные ресурсы и каналы предоставления информации, например, социальные сети, системы бухгалтерского учета, CRM-системы, реестры госорганов (ЕГРЮЛ, РОССТАТ, ФСФР и др.) и т.п.
[0047] Информация, поступающая из источников данных (110), первоначально обрабатывается подсистемой транспортировки и проверки входных данных (далее TFS/Transport File System) (120). TFS (120) осуществляет прием, проверку и передачу по транспортному протоколу в xStream (170) данных, поступающих от источников данных
(110). В качестве протокола передачи информации от TFS (120) в xStream (170) может применяться протокол сетевого доступа к файловым системам (NFS - Network File System). Данные поступают на вход TFS (120) в архивированном виде.
[0048] Подсистема xStream (170) в свою очередь состоит из: подсистемы загрузки файлов (130), подсистемы обработки и архивирования данных (140), подсистемы доступа к данным (150) и технологического ядра (160).
[0049] Данные, поступившие на вход TFS (120), передаются в подсистему загрузки файлов (130), которая выполняет транспортировку архивов с данными с помощью модуль интеграции (131) с TFS (120) в первичный слой хранения данных— подсистему (140).
[0050] Для каждого из источников данных (110) предполагается два типа загрузки:
• Первичная загрузка - является инициализирующей загрузкой, которая выполняется один раз и захватывает все архивы доступные в TFS (120), названия файлов которых удовлетворяют спецификациям на поставку данных от поставщиков.
• Регулярная загрузка - выполняется инкрементально, при которой захватываются только архивы, которые не были загружены ранее.
[0051] Захват архивов происходит из каталогов ТФС. При доступе к TFS (120) осуществляется аутентификация с помощью технической учетной записи и приватного ключа. Копирование данных из TFS (120) в первичный слой хранения xStream (170) осуществляется с помощью инициирования модулем управления загрузкой (161) запросов данных из TFS (120). В TFS (120) указываются маршруты загрузки данных и управляющих сообщений между модулем (161) и TFS (120). Модуль (161) может инициировать загрузку одного или нескольких поток данных одновременно, при этом потоки будут обрабатываться параллельно.
[0052] Каждый источник данных (110) регистрируется в модуле (161). Для каждого источника создается и хранится его идентификатор (ID). В процессе регистрации источника данных (110) выполняется следующий порядок действий:
• Присвоение номера источнику данных (110);
• Определение схем внутри источника (ПО) и присвоения им номера. Схема является необязательным элементом и применяется для логической группировки таблиц.
• Присвоение номера всем таблицам внутри источника (НО) в пределах схемы (при условии ее использования). [0053] Источник (ПО), схемы, таблицы соответствуют в модуле (161) сущностям с уникальными идентификаторами. Идентификатор представляет собой целое число формата, представленного на Фиг. 2.
[0054] Номер источника - это внутренний суррогатный идентификатор источника (ПО) в xStream (170), который генерируется на этапе подключения источника (ПО) к xStream (170).
[0055] Область данных указывает на область хранения получаемой информации в xStream (170):
• 1 - область публикуемых данных (143);
• 2 - область сырых данных (141);
• 3 - область промежуточных данных (142);
• 0 - базовая сущность, идентифицирующая данные источника.
[0056] Схема представляет собой идентификатор схемы в источнике или подсистемы. Генерируется на этапе подключения источника (ПО) к xStream (170). Номер таблицы представляет номер таблицы в схеме., также генерируется на этапе подключения источника (110) к xStream (170).
[0057] Подсистема обработки и архивирования данных (140) представляет собой хранилище данных, получаемых от внешних источников (ПО), и является логической областью в HDFS. Доступ к хранимым данным осуществляется через подсистему доступа (150) hCatalog, которая также предназначена для публикации метаинформации о данных.
[0058] Подсистема обработки и архивирования данных (140) содержит области хранения данных, которые осуществляют структурированное хранение первичных (сырых) данных (141), промежуточных данных (142) и публикуемых данных (143).
[0059] В область хранения первичных данных (141) передаются архивы информации, поучаемые от TFS (120) из источников данных (110), зарегистрированных в модуле (161). Получаемые данные проверяются на целостность в TFS (120). В случае нарушения целостности архивов, получаемых от источников данных (ПО), такая информация не передается в подсистему xStream (170). При успешном копировании информации из TFS (120) в область первичных данных (141), xStream (170) уведомляет о проведении успешной операции.
[0060] При загрузке данных в область хранения промежуточных данных (142) первоначально выполняется разархивация архивов данных из области первичных данных
(141). Передача файлов из подсистемы (130) в подсистему хранения (140) может осуществляться с помощью маски загрузки файлов, которая может формироваться на основании, например, имени (названия) загруженного архивного файла. В системе (100) сохраняется информация обо всех успешно загруженных архивах из источников данных
(110).
[0061] Модуль ETL (Extract, Transform, Load) (132) выполняет передачу данных в необходимые области (142)-(143) подсистемы хранения и архивации (140), а также осуществляет подготовку и преобразование разархивированных данных в формат parquet при их поступлении в подсистему (130). Parquet представляет собой бинарный, колоночно-ориентированный формат хранения данных (см, например, «Производительность Apache Parquet». // https://habr.com/post/282552A.
[0062] При преобразовании данные источников (ПО) приводятся к типам Hive-SQL. Пример приведения данных к типу Hive-AQL представлен в Таблице 1. В случае если наименование файла, например, формата *.json, не соответствует маске, то данные архивов, содержащих такие файлы, не будут преобразованы в parquet. Данная методика обеспечивает устойчивый процесс обращения к данным через Hive с помощью обычных SQL-запросов, что приводит к повышению надежности доступа к информации.
Таблица 1. Матрица конвертации типов данных
Figure imgf000011_0003
Figure imgf000011_0001
Figure imgf000011_0002
Типы данных, тех. поля Типы данных Hive-SQL
Figure imgf000012_0001
[0063] В область публикуемых данных (143) передаются подготовленные, преобразованные, унифицированные данные, которые приводятся к стандарту подсистемы xStream (170). При подготовке унифицированных данных имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование
[0064] Выполнение вышеуказанных процедур по обработке данных в подсистеме (140) позволяет организовать и обновлять актуальный срез данных (например, исторический срез) для каждого источника (110) в первичном слое xStream (170), при этом также обеспечивается поддержание требуемой временной глубины архива данных.
[0065] Загрузка данных в область публикации (143) осуществляется в несколько этапов. На первом этапе выполняется получение новых архивов. Для получения нового списка архивов сканируется область хранения сырых данных (141) по имени соответствующего источника (110) (например, для источника abc - каталог в области (141) /data/core/extemal/abc/src) по шаблону имени архивов. Из полученного списка исключаются архивы, которые уже были загруженные в область публикации (143) источника, которые были успешно обработаны подсистемой хранения и архивирования (140). Также, из полученного списка исключаются архивы, которые были обработаны с ошибкой. Архивы источника (110) из оставшегося списка переносятся в область сырых данных (141).
[0066] Далее осуществляется распаковка полученных архивов. Для распаковки, выбираются только те архивы из области (141), наименование которых соответствует шаблону. Из полученного списка исключаются архивы источника (110), которые ранее были загружены в область публикации (143) данного источника. Из полученного списка исключаются архивы, которые были обработаны с ошибкой. Архивы из оставшегося списка распаковываются в область промежуточных данных (142) в соответствующий подкаталог, например, src/<loading Ы>/ипраск/<имя архива>. [0067] Каждый архив распаковывается в отдельный подкаталог в области промежуточных данных (142), соответствующий названию архива. В случае успешной распаковки архива, его имя регистрируется в файле src/<loading_id>/unpack/.success, который представляет собой журнал успешной загрузки,
при возникновении ошибки при распаковке архива, его имя зарегистрируется в файле src/<loading_id>/unpack/.fail, который является, соответственно, журналом неуспешной загрузки. Обработка других архивов при получении данных при этом не прерывается.
[0068] После сохранения данных из архивов в области промежуточных данных (142) выполняется их преобразование в формат parquet. Переводу в формат parquet подлежат только те файлы данных из архивов, которые были зарегистрированы в подсистеме (140) как успешно распакованные. При этом файлы из разных архивов обрабатываются отдельно. Каждый файл из архива соответствует только одной сущности, например, таблице источника, в случае если данные были загружены из табличного вида (определяется по маске имени файла), файлы одного архива, соответствующие одной таблице, обрабатываются вместе. Таблицы дополняются служебными атрибутами (см. Таблицу 2), которые позволяют поддерживать актуальный снимок (слепок) и формировать историю изменения файлов, полученных от источника данных (1 10).
Таблица 2. Пример служебных атрибутов
Figure imgf000013_0001
Figure imgf000014_0001
[0069] Вышеуказанные атрибуты передаются как параметры задания и обеспечиваются функционалом модуля управления загрузкой (161). В результате обработки создается соответствующая структура каталогов. В случае успешного преобразования всех файлов из архивов в формат parquet имя архива регистрируется в журнале, что необходимо для управления процессом доступа к информации и обеспечения автоматического отката системы на более раннюю точку. При возникновении ошибки при обработке хотя бы одного файла архива, последующая обработка архива прекращается и имя архива помечается как ошибочное.
[0070] Обработанные и унифицированные данные из области публикуемых данных
(143) передаются в подсистему доступа к данным (150) для обеспечения получения данных для работы конечными пользователями.
[0071] В подсистеме доступа к данным (150) формируется два раздела - актуальный срез данных (151), содержащий отпечаток текущих данных, и раздел истории данных (152), содержащий информацию об изменениях данных.
[0072] Каждая сущность, содержащая данные, источника (ПО) обрабатывается отдельно, при этом обрабатываются данные, соответствующие сущности, из всех архивов, которые были зарегистрированы как успешно обработанные. Предусмотрены два способа обработки данных - выбор способа зависит от наличия историчности в данных по упомянутой сущности.
[0073] В случае отсутствия выделения историчности (наличие новых данных) выполняется следующее. Для всех новых данных по таблице архива, хранящегося в области промежуточных данных (142), обеспечивается установка атрибута с текущим значением времени старта потока передачи данных. Данные сохраняются с партиционированием в области публикуемых данных (143) stg/<loadingId>/pa/snp/<HMfl_Ta6nH4bi>, в результате чего создается только одна партиция (раздел).
[0074] В случае наличия выделения историчности (наличие новых данных) для всех новых данных по таблице из области промежуточных данных (142) устанавливается атрибут со временем старта потока загрузки данных модулем (161). Полученные данные объединяются с данными таблицы из области публикуемых данных (143) и из
полученного объединения выделяются новые данные, которые помещаются в области (151) и (152).
[0075] Данные для отображения в области (151) сохраняются с партиционированием по полю ctl loading в каталоге промежуточных данных (142)
stg/<loadingId>/pa/snp/<имя_taблицы>. Ctl loading - это поток (техническая сущность), который активируется модулем управления загрузкой (161). Под каждый источник (110) создается и регистрируется отдельный поток.
[0076] Для данных в области (152) истории изменения данных обеспечивается заполнение полей ctl_pa_loading (из поля ctl loading), ctl loading (текущим значением <loadingId>) и ctl validTo (временем старта потока загрузки данных). Данные для отображения в области (152) сохраняются с партиционированием по полю ctl loading в каталоге промежуточных данных (142) stg/<loadingId>/pa/hist/<HMfl Ta6nHUbi>. В результате для области (152) создается только одна партиция (раздел)
stg/<loadingId>/pa/hist/<HMfl_Ta6HH4bi>/ctl_loading=<loadingId>.
[0077] По окончании данного действия в каталог области хранения промежуточных данных (142) stg/<loadingId>/pa/ копируется файл stg/status/.fail. По окончанию операции область хранения промежуточных данных (142) очищается. Данные журнала операции, производимой в области (142), должны быть добавлены в общий журнал области публикуемых данных (143).
[0078] Далее выполняется объединение файлов из области (142) stg/status/. success и области (141) src/<loading_id>/parquet/.success в файл stg/<loading!d>/pa/.success. Этап считается успешным, если все данные при этом были успешно обработаны, иначе поток завершится с ошибкой.
[0079] В рамках реализации заявленного решения предусмотрены два способа публикации данных, полученные из источника (ПО), выбор способа зависит от наличия историчности изменений в данных в данном источнике (1 10).
[0080] Если для источника (110) отсутствуют сведения об изменениях, то каталог 81 /<1оасНп 1 1>/ра/5пр/<имя_таблицы>/с1:1_1оасип§=<1оас1т 1 1> из области хранения промежуточных данных (142) перемещается в каталог области публикуемых данных (143) ра/зпр/<имя_таблицы> как новый раздел, который впоследствии регистрируется для отображения в hCatalog (150) в области (151).
[0081] В случае наличия выделения историчности (наличие новых данных) для источника данных (110) выполняется следующее. Каталог с данными для источника (110) ра/$пр/<имя_таблицы> из области (143) перемещается в stg/<loadingId>/reserve/pa/snp области промежуточных данных (142). Каталог stg/<loadingId>/pa/snp/<имя_taблицы> из области промежуточных данных (142) перемещается в каталог области публикуемых данных (142) как ра/зпр/<имя_таблицы>. Новый раздел в области (143) pa/snp/<HMfl_Ta6aHnbi>/ctl_loading=<loadingId> регистрируется в hCatalog (150) для предоставления доступа к информации.
[0082] Каталог в области (142)
stg/<loadingId>/pa/hist/<HMa_Ta6aHUbi>/ctl_loading=<loadingId>, созданный ранее, перемещается в каталог в области (143) раЛнз1/<имя_таблицы> как новый раздел, который также регистрируется в подсистеме (150). По окончании данного процесса в каталог области промежуточных данных (142) stg/status/ копируются файлы stg/<loadingId>/pa/.success и stg/<loadingId>/pa/.fail, которые отображают статус выполнения операций загрузки данных. Данный этап считается успешным, если во время его исполнения не возникало исключений и ошибок загрузки данных.
[0083] Подсистема обработки и архивирования данных (140) очищает/архивирует область публикуемых данных (143) по параметру идентификатора потока загрузки информации (ctl loading и ctl_pa_loading), который устанавливается модулем управления загрузкой (161). Глубина истории подлежащей очистке/архивированию задается параметром, например, 5 лет.
[0084] Для подключения нового источника данных (ПО) или изменения параметров существующего подсистема xStream (170) имеет конфигурационные файлы, а также профили, указываемые при запуске подсистемы XStream (170), содержащие набор параметров. Конфигурационные файлы предполагают настройку следующих параметров: • адрес папки источника
• тип входных файлов,
• имена архивов и файлов в архиве,
• тип преобразований,
• необходимость ведения истории
• ролевая модель
• скрипты создания базы данных и таблиц для источника
• и др.
[0085] Файлы от отправителя - источника данных (ПО) как правило публикуются в общую папку отправителя в TFS (120), поэтому для этого необходимо осуществлять формирование уникального имени файла. Файлы поставляются упакованные в архивах. Допустимые типы расширения могут быть различными, например, tar.gz, zip и т.п.
[0086] Имя файла архива может формироваться, например, по следующей маске: <saller>_<source>_<table>_<inc>_<ver>_<date>_<time>_<nnn>.<extension>, где
• saller - конечный поставщик данных (или прокси-поставщик);
• source - источник данных (ПО);
• table - название типа данных или сущности. В случае если в поставке одним архивом приходит схема, состоящая из нескольких взаимосвязанных сущностей, которые необходимо поставлять одновременно, например, таблиц, то в этой секции ставится - kit, а в самих файлах внутри архива уже указываются непосредственные имена сущностей;
• inc - содержит full если архив относится к поставке/перепоставке полного архива данных, incr - если архив относится к поставке инкремента;
• ver - версия поставки. В случае изменения состава данных или формата поставки необходимо инкрементировать версию вверх. Может состоять из литеры v и 3-х цифр, начиная с vOOl, например, vOOl, v002 и т.д.;
• date - дата формирования файла в формате ГГГГММДД;
• time - время формирования файла в формате ЧЧММСС;
• nnn - номер по порядку, начинающийся с 001, если несколько файлов поставки в рамках совпадений остальных частей названия файла архива. Всегда состоит из 3-х цифр начиная с 001, например, 001, 002 и т.д. Если в поставке только 1 файл, то в этой секции указано - 001 ;
• extension - расширение архива.
[0087] Пример имени архива: abc_def_orgl_incr_v002 20171106 112400 001. tar. gz. He допускается наличие архива в архиве. Имя файла в архиве формируется также, как имя файла архива, за исключением расширения файла и секции <table> для набора.
[0088] Имя архива: abc_def_kit_incr_v002_20l7H06_l l2400_00l.tar.gz, файлы в архиве: abc def _kitl_incr_v002_20l7H06_l l2400_00l.xml, abc def
_orgl_incr_v002_20l7l l06_H2400_00l.xml и т.д. Допустимые типы и расширения файлов, например, csv, tsv, txt, json, avro, xml и др. В имени передаваемого файла допускается использование не более 128 символов (включая расширение).
[0089] Модель данных внешнего источника (ПО) соответствует структуре поставляемых данных и определяется на этапе анализа и подготовки источника (ПО) к загрузке в xStream (170). Целевым средством для доступа к данным служит Apache Hive.
[0090] Доступ пользователей к опубликованным данным, содержащимся в области (150) осуществляется на основании контроля уровня доступа каждого из пользователей. Для каждого пользователя при взаимодействии с xStream (170) проверяется разрешенный функционал по осуществлению операций с данными, в частности, такими операциями могут быть: просмотр, редактирование, получение аналитического среза, комбинированный просмотр и т.п. Пользователь с ролями Администратор и Аудитор имеют доступ к логам xStream (170) через централизованную систему управления логами, доступную в облачной платформе (180).
[0091] На Фиг. 3 представлен общий вид вычислительного устройства (200), используя которое в составе кластера реализуется заявленный способ и система.
[0092] В общем случае, вычислительное устройство (200) содержит объединенные общей шиной один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), средства ввода/вывода (205), и средство для сетевого взаимодействия (206).
[0093] Процессор (201) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п.
[0094] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций, для выполнения необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). [0095] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш- память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD- R/RW, BlueRay Disc, MD) и др.
[0096] Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0097] Для обеспечения взаимодействия пользователя с вычислительным устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0098] Средство сетевого взаимодействия (206) обеспечивает передачу данных устройством (200) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0099] Дополнительно могут применяться также средства спутниковой навигации, например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0100] На Фиг. 4 представлен пример сетевого окружения при осуществлении работы заявленной системы (100). Организация работы с данными при использовании HDFS заключается в формировании соответствующих уровней абстракции в кластерных или виртуальных средах. Каждый стек системы включает множество вычислительных устройств, например, компьютеров и/или серверов, которые обмениваются данными с облачной платформой (180), содержащей xstream (170), посредством коммутаторов. Такая архитектура позволяет оперативно наращивать необходимые вычислительные мощности при значительном росте объема хранимых и обрабатываемых данных.
[0101] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.

Claims

ФОРМУЛА
1. Система комплексного управления большими данными (Big Data), содержащая подсистему транспортировки и проверки входных данных (далее TFS), подсистему загрузки внешних данных (далее xStream), функционирующую на основании стандарта описания данных, в которой:
• TFS осуществляет прием, проверку и передачу в xStream данных, поступающих от источников данных, причем TFS принимает данные в архивированном виде и осуществляет передачу данных по транспортному протоколу;
• xStream содержит подсистему загрузки файлов, подсистему обработки и архивирования данных, подсистему доступа к данным (далее hCatalog), модуль управления загрузкой данных и модуль управления доступом, причем в xStream:
о подсистема загрузки файлов осуществляет опрос TFS для передачи данных, поступивших от источников, в подсистему обработки и архивирования данных, причем источники данных предварительно регистрируются в модуле управления загрузкой;
о подсистема загрузки данных выполняет первичное копирование файлов, поступающих от TFS, в подсистему обработки и архивирования;
о подсистема обработки и архивирования содержит области хранения данных, которые осуществляют структурированное хранение первичных данных, промежуточных данных и публикуемых данных;
· в область хранения первичных данных передаются файлы из подсистемы загрузки данных, которые соответствуют установленным параметрам архивирования и хранятся в первоначально заархивированном виде;
· подсистема обработки и архивирования выполнена с возможностью передачи в область промежуточных данных разархивированных первичных данных, преобразованных в формат parquet для дальнейших преобразований;
· в область публикуемых данных передаются подготовленные, преобразованные, унифицированные данные, приведенные к стандарту xStream, в которых имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование;
· и из унифицированных данных области публикуемых данных формируется структурированный каталог для доступа к упомянутым данным посредством hCatalog.
2. Система по п.1, характеризующаяся тем, что TFS осуществляет проверку целостности получаемых архивных данных.
3. Система по п.1, характеризующаяся тем, что для зарегистрированных источников в модуле управления загрузкой хранится ID упомянутых источников.
4. Система по п.З, характеризующаяся тем, что модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.
5. Система по п.4, характеризующаяся тем, что для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.
6. Система по п.1, характеризующаяся тем, что подсистема загрузки данных осуществляет загрузку файлов в подсистему обработки и архивирования на основании маски загрузки файлов.
7. Система по п.6, характеризующаяся тем, что маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.
8. Система по п.1, характеризующаяся тем, что в подсистеме обработки и архивирования в каждой из областей хранения данных формируется каталог для хранения данных соответствующего источника.
9. Система по п.7, характеризующаяся тем, что модуль управления загрузкой проверяет наличие информации по всем источникам в TFS.
10. Система по п.9, характеризующаяся тем, что выполняется полная или инкрементальная загрузка данных из TFS.
11. Система по п.10, характеризующаяся тем, что инкрементальная загрузка выполняется модулем загрузки данных при обнаружении в TFS новых данных отличающихся от поставленных ранее по дате поставки архива файлов.
12. Система по п.1, характеризующаяся тем, что подсистема обработки и архивирования осуществляет обработку parquet файлов для их приведения в соответствие типам Hive-SQL.
13. Система по п.1, характеризующаяся тем, что для файлов при их обработке подсистемой обработки и архивирования выполняется проверка на наличие аналогичных данных, сохраненных ранее.
14. Система по п.13, характеризующаяся тем, что при наличии более ранних данных в область публикуемых данных передается актуальная версия данных с перемещением предыдущей версии в каталог хранения истории с партиционированием по дате загрузки.
15. Система по п.1, характеризующаяся тем, что hCatalog предоставляет отображение структуры данных области публикации данных.
16. Система по п.15, характеризующаяся тем, что структура данных разбивается по базам данных, соответствующих источникам предоставления данных.
17. Система по п.1, характеризующаяся тем, что подсистема обработки и архивирования данных дополнительно обеспечивает автоматизированную функцию оката загрузки данных на любую дату в прошлом.
18. Способ управления большими данными (Big Data) с помощью подсистемы транспортировки и проверки входных данных (далее TFS) и подсистемы загрузки внешних данных (далее xStream), причем xStream состоит из подсистемы загрузки файлов, подсистемы обработки и архивирования, подсистемы доступа к данным, модуля управления загрузкой данных и модуля управления доступом, причем способ включает этапы, на которых:
• с помощью модуля управления загрузкой xStream выполняют взаимодействие с TFS для получения данных от упомянутых источников, причем источники данных предварительно регистрируются в модуле управления загрузкой данных;
• получают данные из упомянутых источников с помощью TFS, которая принимает данные в архивированном виде и осуществляет накопление и проверку данных, в случае успешной проверки упомянутых данных осуществляют их передачу в подсистему загрузки данных по транспортному протоколу;
• осуществляют с помощью подсистемы обработки и архивирования данных обработку получаемых данных, которая включает накопление файлов, проверку файлов, распаковку архивных файлов, прошедших проверку и преобразование распакованных файлов в формат parquet;
• осуществляют структуризацию преобразованных файлов с помощью их размещения в каталогах, каждый из которых связан с источниками данных, зарегистрированными в упомянутом модуле управления загрузкой данных; • осуществляют контроль и удаление дублирующих данных, контроль и удаление данных с нарушенной структурой, преобразование типов данных в Hive-SQL, контроль обновление каталога актуальных данных, контроль и обновление каталога истории изменения данных, контроль и управление глубиной архива данных;
• осуществляют доступ пользователей к данным, размещенным в подсистеме доступа к данным с помощью модуля управления доступом.
19. Способ по п.18, характеризующийся тем, что модуль управления доступом определяет набор функционала на основании уровня доступа пользователя.
20. Способ по п.18, характеризующийся тем, что подсистема обработки и архивирования данных осуществляет обработку файлов формата parquet для их соответствия типу Hive-SQL.
21. Способ по п.18, характеризующийся тем, что регистрация источников данных осуществляется с помощью записи ID источника в модуле управления загрузкой.
22. Способ по п.18, характеризующийся тем, что модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.
23. Способ по п.22, характеризующийся тем, что управление потоком данных включает проверку наличия информации от источника данных в TFS, обработку сообщений от TFS, выполнение действий на основании обработки сообщений.
24. Способ по п.22, характеризующийся тем, что выполняется полная или инкрементальная загрузка данных из подсистемы первичной обработки входных данных.
25. Способ по п.23, характеризующийся тем, что инкрементальная загрузка выполняется при обнаружении модулем загрузки наличия новых данных.
26. Способ по п.18, характеризующийся тем, что для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.
27. Способ по п.18, характеризующийся тем, что загрузка файлов в подсистему обработки и архивирования осуществляется на основании маски загрузки файлов.
28. Способ по п.27, характеризующийся тем, что маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.
PCT/RU2018/000706 2018-10-26 2018-10-26 Способ и система комплексного управления большими данными WO2020085938A1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2018137863 2018-10-26
RU2018137863A RU2690777C1 (ru) 2018-10-26 2018-10-26 Способ и система комплексного управления большими данными

Publications (1)

Publication Number Publication Date
WO2020085938A1 true WO2020085938A1 (ru) 2020-04-30

Family

ID=67037918

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2018/000706 WO2020085938A1 (ru) 2018-10-26 2018-10-26 Способ и система комплексного управления большими данными

Country Status (3)

Country Link
EA (1) EA036384B1 (ru)
RU (1) RU2690777C1 (ru)
WO (1) WO2020085938A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12008421B1 (en) 2023-03-07 2024-06-11 Ricoh Company, Ltd. Print data conversion mechanism

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007034B1 (en) * 2000-01-21 2006-02-28 International Business Machines Corporation File structure for storing content objects in a data repository
US20080109448A1 (en) * 2006-11-06 2008-05-08 Messageone, Inc. System and Method for Managing Data Across Multiple Environments
US7693877B1 (en) * 2007-03-23 2010-04-06 Network Appliance, Inc. Automated information lifecycle management system for network data storage
US20130024424A1 (en) * 2009-06-30 2013-01-24 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US20160210064A1 (en) * 2015-01-21 2016-07-21 Commvault Systems, Inc. Database protection using block-level mapping

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930496B2 (en) * 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
RU141446U1 (ru) * 2013-08-22 2014-06-10 Санкт-Петербург, от имени которго выступает Комитет по информации и связи Информационно-поисковое устройство представления данных об объектах

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007034B1 (en) * 2000-01-21 2006-02-28 International Business Machines Corporation File structure for storing content objects in a data repository
US20080109448A1 (en) * 2006-11-06 2008-05-08 Messageone, Inc. System and Method for Managing Data Across Multiple Environments
US7693877B1 (en) * 2007-03-23 2010-04-06 Network Appliance, Inc. Automated information lifecycle management system for network data storage
US20130024424A1 (en) * 2009-06-30 2013-01-24 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US20160210064A1 (en) * 2015-01-21 2016-07-21 Commvault Systems, Inc. Database protection using block-level mapping

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12008421B1 (en) 2023-03-07 2024-06-11 Ricoh Company, Ltd. Print data conversion mechanism

Also Published As

Publication number Publication date
RU2690777C1 (ru) 2019-06-05
EA201892256A1 (ru) 2020-05-29
EA036384B1 (ru) 2020-11-03

Similar Documents

Publication Publication Date Title
US11573938B2 (en) Systems and methods for indexing source code in a search engine
US11068501B2 (en) Single phase transaction commits for distributed database transactions
US11394794B2 (en) Fast ingestion of records in a database using data locality and queuing
CA2923068C (en) Method and system for metadata synchronization
WO2019047479A1 (zh) 一种普适多源异构大规模数据同步系统
CN110651265A (zh) 数据复制系统
WO2018036324A1 (zh) 一种智慧城市信息共享的方法和装置
US11900083B2 (en) Systems and methods for indexing source code in a search engine
CN108259543B (zh) 分布式云存储数据库以及其部署在多个数据中心的方法
US11755613B2 (en) Streamlined data engineering
TWI571754B (zh) 用來進行檔案同步控制之方法與裝置
US20220382637A1 (en) Snapshotting hardware security modules and disk metadata stores
US20230185559A1 (en) Managing a federated software repository across multiple devices
WO2021004042A1 (zh) 药物研发软件仓库及其软件包管理系统
RU2690777C1 (ru) Способ и система комплексного управления большими данными
US8862544B2 (en) Grid based replication
CN117043764A (zh) 数据库复制到远程部署
US10242025B2 (en) Efficient differential techniques for metafiles
US11169960B2 (en) Data transfer appliance method and system
US11558455B2 (en) Capturing data in data transfer appliance for transfer to a cloud-computing platform
Gupta Mastering Oracle GoldenGate
Mucchetti et al. Loading Data into the Warehouse
Buso Sql on hops
Annangi Security Log Analysis Using Hadoop
JP2024521322A (ja) スナップショットハードウェアセキュリティモジュールおよびディスクメタデータストア

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: 18938192

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18938192

Country of ref document: EP

Kind code of ref document: A1