RU2690777C1 - Method and system for complex control of big data - Google Patents
Method and system for complex control of big data Download PDFInfo
- Publication number
- RU2690777C1 RU2690777C1 RU2018137863A RU2018137863A RU2690777C1 RU 2690777 C1 RU2690777 C1 RU 2690777C1 RU 2018137863 A RU2018137863 A RU 2018137863A RU 2018137863 A RU2018137863 A RU 2018137863A RU 2690777 C1 RU2690777 C1 RU 2690777C1
- Authority
- RU
- Russia
- Prior art keywords
- data
- subsystem
- processing
- tfs
- loading
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Abstract
Description
ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD
[0001] Заявленное решение относится к управлению большими объемами данных, в частности, к системе и способу для их обработки и унифицированного хранения.[0001] The claimed solution relates to the management of large amounts of data, in particular, to a system and method for processing and unified storage.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[0002] Из уровня техники известны различные решения по организации систем хранения данных на основе распределенных файловых систем (HDFS/ Hadoop File System), которые, в частности, применяются для работы с большими данными.[0002] From the prior art various solutions are known for organizing data storage systems based on distributed file systems (HDFS / Hadoop File System), which, in particular, are used for working with big data.
[0003] Под термином «большие данные» (Big Data) понимается огромный объем данных, поступающих в систему хранения. Данные, как правило, поступают из множества источников информации в неструктурированном виде. Big Data включает в себя также технологии их обработки и использования, методы поиска необходимой информации в больших массивах.[0003] The term "Big Data" (Big Data) refers to a huge amount of data entering the storage system. Data, as a rule, comes from a variety of information sources in an unstructured form. Big Data also includes technologies for their processing and use, methods for finding the necessary information in large arrays.
[0004] Основная проблема больших данных связана с большим количеством информации, которую необходимо обрабатывать и, соответственно, хранить доверенным образом с минимизацией рисков потери данных. В связи с этим возникает необходимость резервного копирования данных, которая подразумевает организацию объемных структур хранения данных. Однако с увеличением объема информации растут сложности с ее резервированием.[0004] The main problem of big data is associated with a large amount of information that needs to be processed and, accordingly, stored in a trusted manner while minimizing the risks of data loss. In this regard, there is a need for data backup, which implies the organization of bulk data storage structures. However, with the increase in the amount of information increases the complexity of its reservation.
[0005] HDFS, или Распределенная файловая система Hadoop - это основная система хранения данных, используемая приложениями Hadoop.HDFS многократно копирует блоки данных и распределяет эти копии по вычислительным узлам кластера, тем самым обеспечивая высокую надежность и скорость вычислений.[0005] HDFS, or Hadoop Distributed File System, is the main storage system used by Hadoop.HDFS applications multiple copies of data blocks and distributes these copies across the compute nodes of the cluster, thereby ensuring high reliability and speed of calculations.
[0006] Из уровня техники известна архитектура хранилища данных для предоставления совместного доступа к данным, хранимым в нем (US 20130262615, 03.10.2013). Хранилище данных может быть реализовано с помощью HDFS и представлять фильтр для поступающей информации для ее первичной обработки при непосредственном сохранении для последующего использования. Система хранения функционирует с помощью формирования копий, поступающих данных из разнородных источников для последующей связки их с помощью метаданных для целей доступа к ним.[0006] From the prior art, a data warehouse architecture is known for providing shared access to the data stored therein (US20130262615, 03.10.2013). Data storage can be implemented using HDFS and provide a filter for incoming information for its primary processing while directly storing it for later use. The storage system operates by generating copies of incoming data from disparate sources for subsequent linking them with metadata for access purposes.
[0007] В заявке CN 106407309 (Wei et al., 15.02.2017) описывается механизм кластерного хранилища для получения информации из множества различных источников данных и обеспечения процесса аутентификации между базой данных и источниками данных.[0007] The application CN 106407309 (Wei et al., 15.02.2017) describes the cluster storage mechanism for obtaining information from many different data sources and providing an authentication process between the database and data sources.
[0008] Известные решения обладает существенными недостатками, которые заключаются в отсутствии обработки поступающих данных с целью их преобразования в унифицированный вид, что не позволяет оперативно обновлять информацию от источников, и снижает эффективность работы хранилища данных. Также, отсутствие процесса унификации данных приводит к низкой отказоустойчивости системы хранения в случае поступления данных в неправильном или неподдерживаемом формате (ошибки транспортного формата, ошибки архивирования, ошибки копирования, ошибки структуры данных, ошибки типов данных).[0008] Known solutions have significant drawbacks, which are the lack of processing of incoming data in order to convert them into a unified form, which does not allow for the prompt updating of information from sources, and reduces the efficiency of the data warehouse. Also, the lack of a data unification process leads to a low resiliency of the storage system in case of data arrival in the wrong or unsupported format (transport format errors, archiving errors, copy errors, data structure errors, data type errors).
РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION
[0009] Решаемой технической проблемой с помощью заявленного способа и системы является устранение недостатков, присущих известным аналогам, а также создание нового принципа эффективного хранения больших объемов данных.[0009] The technical problem to be solved with the help of the claimed method and system is the elimination of the drawbacks inherent in the known analogues, as well as the creation of a new principle of efficient storage of large amounts of data.
[0010] Достигаемый технический результат совпадает с решаемой технической проблемой и заключается в повышении эффективности хранения больших объемов данных, за счет применения распределенной архитектуры хранения с обеспечением обработки входных данных с целью их унификации.[0010] The technical result achieved 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, ensuring the processing of input data with a view to their unification.
[0011 Дополнительным техническим эффектом является повышение отказоустойчивости системы хранения данных, за счет архитектуры системы управления хранением больших данных и обеспечения унификации хранимых данных.[0011 An additional technical effect is to increase the fault tolerance of the data storage system, due to the architecture of the big data storage management system and ensuring unification of the stored data.
[0012] Заявление решение осуществляется с помощью системы комплексного управления большими данными (Big Data), содержащая подсистему транспортировки и проверки входных данных (далее TFS), подсистему загрузки внешних данных (далее xStream), функционирующую на основании стандарта описания данных, в которой: TFS осуществляет прием, проверку и передачу в xStream данных, поступающих от источников данных, причем TFS принимает данные в архивированном виде и осуществляет передачу данных по транспортному протоколу;[0012] The decision is made using the Integrated Big Data Management System (Big Data), which contains the transportation and input data verification subsystem (hereafter referred to as TFS), the external data upload subsystem (hereafter xStream), which operates on the basis of a data description standard, in which: TFS performs reception, verification and transmission in xStream of data coming from data sources, with TFS receiving data in an archived form and transmitting data over a transport protocol;
xStream содержит подсистему загрузки файлов, подсистему обработки и архивирования данных, подсистему доступа к данным (далее hCatalog), модуль управления загрузкой данных и модуль управления доступом, причем в xStream: подсистема загрузки файлов осуществляет опрос TFS для передачи данных, поступивших от источников, в подсистему обработки и архивирования данных, причем источники данных предварительно регистрируются в подсистеме загрузки данных; подсистема загрузки данных выполняет первичное копирование файлов, поступающих от TFS, в подсистему обработки и архивирования;xStream contains the file download subsystem, the data processing and archiving subsystem, the data access subsystem (hereinafter hCatalog), the data download control module and the access control module, and in xStream: the file upload subsystem interrogates TFS for transferring data from sources to the subsystem processing and archiving data, with data sources pre-recorded in the data loading subsystem; the data loading subsystem performs the primary copying of files from TFS to the processing and archiving subsystem;
подсистема обработки и архивирования содержит области хранения данных, которые осуществляют структурированное хранение первичных данных, промежуточных данных и публикуемых данных;processing and archiving subsystem contains data storage areas that carry out structured storage of primary data, intermediate data and published data;
в область хранения первичных данных передаются файлы из подсистемы загрузки данных, которые соответствуют установленным параметрам архивирования и хранятся в первоначально заархивированном виде;files are transferred to the primary data storage area from the data download subsystem, which correspond to the established archiving parameters and are stored in the originally archived form;
подсистема обработки и архивирования выполнена с возможностью передачи в область промежуточных данных разархивированных первичных данных, преобразованных в формат parquet для дальнейших преобразований;the processing and archiving subsystem is designed with the possibility of transferring unarchived primary data into the region of intermediate data, converted into parquet format for further transformations;
в область публикуемых данных передаются подготовленные, преобразованные, унифицированные данные, приведенные к стандарту xStream, в которых имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование;The prepared data, converted, unified data converted to the xStream standard are transferred to the published data area, in which the table and field names are given to the xStream standard, the data types are referred to the xStream standard, the tables are supplemented with the required technical fields describing the data supply - dates of the beginning and end of the period the relevance of the data delivery, the numbers of the threads that performed the download and conversion;
и из унифицированных данных области публикуемых данных формируется структурированный каталог для доступа к упомянутым данным посредством hCatalog.and from the unified data of the published data area a structured catalog is formed for access to the mentioned data by means of hCatalog.
[0013] В одном из частных вариантов реализации системы TFS осуществляет проверку целостности получаемых архивных данных.[0013] In one of the private implementation options, the TFS system checks the integrity of the archived data received.
[0014] В другом частном варианте реализации системы для зарегистрированных источников в модуле управления загрузкой хранится ID упомянутых источников.[0014] In another particular implementation of the system for registered sources, the ID of said sources is stored in the download control module.
[0015] В другом частном варианте реализации системы модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.[0015] In another particular implementation of the system, the load control module manages the flow of data from a plurality of sources by the corresponding stored IDs.
[0016] В другом частном варианте реализации системы для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.[0016] In another particular implementation of the system, for each data source in the load control module, data loading parameters are contained.
[0017] В другом частном варианте реализации системы подсистема загрузки данных осуществляет загрузку файлов в подсистему обработки и архивирования на основании маски загрузки файлов.[0017] In another particular implementation of the system, the data loading subsystem uploads files to the processing and archiving subsystem based on the file loading mask.
[0018] В другом частном варианте реализации системы маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.[0018] In another particular implementation of the system, a file download mask is formed based on at least the name of the downloaded archive file.
[0019] В другом частном варианте реализации системы в подсистеме обработки и архивирования в каждой из областей хранения данных формируется каталог для хранения данных соответствующего источника.[0019] In another private implementation of the system, in the processing and archiving subsystem, in each of the data storage areas, a directory is created for storing data of the corresponding source.
[0020] В другом частном варианте реализации системы модуль управления загрузкой проверяет наличие информации по всем источникам в TFS.[0020] In another particular implementation of the system, the load control module checks the availability of information from all sources in TFS.
[0021] В другом частном варианте реализации системы выполняется полная или инкрементальная загрузка данных из TFS.[0021] In another particular implementation of the system, full or incremental data loading from TFS is performed.
[0022] В другом частном варианте реализации системы инкрементальная загрузка выполняется модулем загрузки данных при обнаружении в TFS новых данных отличающихся от поставленных ранее по дате поставки архива файлов.[0022] In another particular implementation of the system, incremental loading is performed by the data loading module when new data in the TFS is detected that differs from the previously set by the delivery date of the archive of files.
[0023] В другом частном варианте реализации системы подсистема обработки и архивирования осуществляет обработку parquet файлов для их приведения в соответствие типам Hive-SQL.[0023] In another particular implementation of the system, the processing and archiving subsystem processes parquet files to match them to Hive-SQL types.
[0024] В другом частном варианте реализации системы для файлов при их обработке подсистемой обработки и архивирования выполняется проверка на наличие аналогичных данных, сохраненных ранее.[0024] In another particular implementation of the system, for files being processed, the processing and archiving subsystem checks for the presence of similar data previously stored.
[0025] В другом частном варианте реализации системы при наличии более ранних данных в область публикуемых данных передается актуальная версия данных с перемещением предыдущей версии в каталог хранения истории с партиционированием по дате загрузки.[0025] In another particular implementation of the system, if there are earlier data, the current version of the data is transferred to the published data area, moving the previous version to the history storage directory with partitioning by download date.
[0026] В другом частном варианте реализации системы hCatalog предоставляет отображение структуры данных области публикации данных.[0026] In another particular implementation of the system, hCatalog provides a mapping of the data publication data structure.
[0027] В другом частном варианте реализации системы структура данных разбивается по базам данных, соответствующих источникам предоставления данных.[0027] In another particular implementation of the system, the data structure is broken down into databases corresponding to the sources of the data provided.
[0028] В другом частном варианте реализации системы подсистема обработки и архивирования данных дополнительно обеспечивает автоматизированную функцию оката загрузки данных на любую дату в прошлом.[0028] In another particular implementation of the system, the data processing and archiving subsystem additionally provides an automated feature for loading data on any date in the past.
[0029] Заявленное решение осуществляется также с помощью способа управления большими данными (Big Data) с помощью подсистемы транспортировки и проверки входных данных (далее TFS) и подсистемы загрузки внешних данных (далее xStream), причем xStream состоит из подсистемы загрузки файлов, подсистемы обработки и архивирования, подсистемы доступа к данным, модуля управления загрузкой данных и модуля управления доступом, причем способ включает этапы, на которых: с помощью модуля управления загрузкой xStream выполняют взаимодействие с TFS для получения данных от упомянутых источников, причем источники данных предварительно регистрируются в модуле управления загрузкой данных;[0029] The claimed solution is also implemented using a Big Data (Big Data) management method using a transport subsystem and input data validation (hereinafter referred to as TFS) and external data loading subsystem (hereafter xStream), and xStream consists of a file upload subsystem, processing subsystem and archiving, data access subsystem, data loading control module and access control module, the method including the steps of: interacting with TFS with the help of the xStream loading control module to obtain data from mentioned sources, with the data sources being pre-registered in the data load control module;
получают данные из упомянутых источников с помощью TFS, которая принимает данные в архивированном виде и осуществляет накопление и проверку данных, в случае успешной проверки упомянутых данных осуществляют их передачу в подсистему загрузки данных по транспортному протоколу;get data from the mentioned sources using TFS, which receives the data in an archived form and accumulates and verifies the data; in case of successful verification of the mentioned data, they are transferred to the data loading subsystem using the transport protocol;
осуществляют с помощью подсистемы обработки и архивирования данных обработку получаемых данных, которая включает накопление файлов, проверку файлов, распаковку архивных файлов, прошедших проверку и преобразование распакованных файлов в формат parquet;using the subsystem of processing and archiving data, they process the received data, which includes accumulating files, checking files, unpacking archive files that have been checked and converting unpacked files into parquet format;
осуществляют структуризацию преобразованных файлов с помощью их размещения в каталогах, каждый из которых связан с источниками данных, зарегистрированными в упомянутом модуле управления загрузкой данных;structured converted files by placing them in directories, each of which is associated with data sources registered in said data load control module;
осуществляют контроль и удаление дублирующих данных, контроль и удаление данных с нарушенной структурой, преобразование типов данных в Hive-SQL, контроль обновление каталога актуальных данных, контроль и обновление каталога истории изменения данных, контроль и управление глубиной архива данных;monitor and delete duplicate data, monitor and delete data with broken structure, convert data types to Hive-SQL, monitor update of the actual data catalog, monitor and update the data change history catalog, monitor and control the depth of the data archive;
осуществляют доступ пользователей к данным, размещенным в подсистеме доступа к данным с помощью модуля управления доступом.access users to the data hosted in the data access subsystem using the access control module.
[0030] В одном из частных примеров реализации способа модуль управления доступом определяет набор функционала на основании уровня доступа пользователя.[0030] In one particular example implementation of the method, the access control module determines the functionality set based on the user's access level.
[0031] В другом частном примере реализации способа подсистема обработки и архивирования данных осуществляет обработку файлов формата parquet для их соответствия типу Hive-SQL.[0031] In another particular example of the implementation of the method, the data processing and archiving subsystem processes parquet files to match the Hive-SQL type.
[0032] В другом частном примере реализации способа регистрация источников данных осуществляется с помощью записи ID источника в модуле управления загрузкой.[0032] In another particular example of the method implementation, data sources are registered by recording the source ID in the load control module.
[0033] В другом частном примере реализации способа модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.[0033] In another particular example of the method implementation, the load control module controls the flow of data from a plurality of sources by the corresponding stored IDs.
[0034] В другом частном примере реализации способа управление потоком данных включает проверку наличия информации от источника данных в TFS, обработку сообщений от TFS, выполнение действий на основании обработки сообщений.[0034] In another particular example of the implementation of the method, data flow control includes checking the availability of information from a data source in TFS, processing messages from TFS, and performing actions based on message processing.
[0035] В другом частном примере реализации способа выполняется полная или инкрементальная загрузка данных из подсистемы первичной обработки входных данных.[0035] In another particular example of the method implementation, full or incremental data loading is performed from the primary processing subsystem of the input data.
[0036] В другом частном примере реализации способа инкрементальная загрузка выполняется при обнаружении модулем загрузки наличия новых данных.[0036] In another particular example of the method implementation, incremental loading is performed when the loading module detects the presence of new data.
[0037] В другом частном примере реализации способа для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.[0037] In another particular example of the method implementation for each data source in the load control module contains data loading parameters.
[0038] В другом частном примере реализации способа загрузка файлов в подсистему обработки и архивирования осуществляется на основании маски загрузки файлов.[0038] In another particular example of the implementation of the method, files are loaded into the processing and archiving subsystem based on the file loading mask.
[0039] В другом частном примере реализации способа маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.[0039] In another particular example of the method implementation, a file download mask is formed based on at least the name of the downloaded archive file.
ОПИСАНИЕ ЧЕРТЕЖЕЙDESCRIPTION OF THE DRAWINGS
[0040] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:[0040] The features and advantages of this technical solution will become apparent from the following detailed description and the accompanying drawings, in which:
[0041] Фиг. 1 иллюстрирует заявленную систему комплексного управления большими данными.[0041] FIG. Figure 1 illustrates the claimed system for integrated big data management.
[0042] Фиг. 2 иллюстрирует пример идентификатора источника.[0042] FIG. 2 illustrates an example source identifier.
[0043] Фиг. 3 иллюстрирует общий вид вычислительного устройства пользователя.[0043] FIG. 3 illustrates a general view of a user's computing device.
[0044] Фиг. 4 иллюстрирует общую схему сетевого взаимодействия.[0044] FIG. 4 illustrates a general network interaction diagram.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION
[0045] На Фиг. 1 представлена общая схема реализации заявленной системы (100) управления большими данными. Основным функциональным элементом заявленной системы (100) является подсистема (170) загрузки внешних данных - xStream, которая взаимодействует (или является частью) с облачной платформой (ОП) (180) хранения и управления данными. XStream представляет собой фреймворк для обеспечения централизованной инфраструктуры получения, обработки и хранения внешних данных в ОП на Hadoop для дальнейшего распространения всем заинтересованным лицам с целью использования в бизнес-процессах и в исследованиях на предмет извлечения ценности.[0045] FIG. 1 shows a general scheme for implementing the claimed big data management system (100). The main functional element of the declared system (100) is the subsystem (170) of external data loading - xStream, which interacts (or is part of) with the cloud platform (OP) (180) of data storage and management. XStream is a framework for providing a centralized infrastructure for receiving, processing and storing external data in the EP on Hadoop for further distribution to all interested parties for use in business processes and in research for the extraction of value.
[0046] Источники данных (110) могут представлять различные ресурсы и каналы предоставления информации, например, социальные сети, системы бухгалтерского учета, CRM-системы, реестры госорганов (ЕГРЮЛ, РОССТАТ, ФСФР и др.) и т.п.[0046] Data sources (110) can represent various resources and channels for providing information, for example, social networks, accounting systems, CRM systems, registries of state bodies (Unified State Register of Legal Entities, ROSSTAT, FFMS, etc.), etc.
[0047] Информация, поступающая из источников данных (110), первоначально обрабатывается подсистемой транспортировки и проверки входных данных (далее TFS/Transport File System) (120). TFS (120) осуществляет прием, проверку и передачу по транспортному протоколу в xStream (170) данных, поступающих от источников данных (110). В качестве протокола передачи информации от TFS (120) в xStream (170) может применяться протокол сетевого доступа к файловым системам (NFS - Network File System). Данные поступают на вход TFS (120) в архивированном виде.[0047] Information from data sources (110) is initially processed by the transportation and input data verification subsystem (hereinafter referred to as the TFS / Transport File System) (120). TFS (120) receives, checks and transmits through the transport protocol to xStream (170) data from data sources (110). As a protocol for transferring information from TFS (120) to xStream (170), the Network File System (NFS) protocol can be used. The data is fed to the TFS (120) input in archived form.
[0048] Подсистема xStream (170) в свою очередь состоит из: подсистемы загрузки файлов (130), подсистемы обработки и архивирования данных (140), подсистемы доступа к данным (150) и технологического ядра (160).[0048] The xStream subsystem (170) in turn consists of: a file download subsystem (130), a data processing and archiving subsystem (140), a data access subsystem (150) and a technology core (160).
[0049] Данные, поступившие на вход TFS (120), передаются в подсистему загрузки файлов (130), которая выполняет транспортировку архивов с данными с помощью модуль интеграции (131) с TFS (120) в первичный слой хранения данных - подсистему (140).[0049] The data received at the TFS input (120) is transferred to the file upload subsystem (130), which transports data archives using the integration module (131) from TFS (120) to the primary data storage layer - subsystem (140) .
[0050] Для каждого из источников данных (110) предполагается два типа загрузки:[0050] For each of the data sources (110), two types of loading are assumed:
Первичная загрузка - является инициализирующей загрузкой, которая выполняется один раз и захватывает все архивы доступные в TFS (120), названия файлов которых удовлетворяют спецификациям на поставку данных от поставщиков. Primary Download is an initialization download that runs once and captures all the archives available in TFS (120), the file names of which meet the specifications for supplying data from suppliers.
Регулярная загрузка - выполняется инкрементально, при которой захватываются только архивы, которые не были загружены ранее. Regular download - performed incrementally, which captures only archives that have not been loaded before.
[0051] Захват архивов происходит из каталогов ТФС. При доступе к TFS (120) осуществляется аутентификация с помощью технической учетной записи и приватного ключа. Копирование данных из TFS (120) в первичный слой хранения xStream (170) осуществляется с помощью инициирования модулем управления загрузкой (161) запросов данных из TFS (120). В TFS (120) указываются маршруты загрузки данных и управляющих сообщений между модулем (161) и TFS (120). Модуль (161) может инициировать загрузку одного или нескольких поток данных одновременно, при этом потоки будут обрабатываться параллельно.[0051] The capture of archives comes from DFS directories. When accessing TFS (120), authentication is performed using a technical account and private key. Data is copied from TFS (120) to the primary storage layer xStream (170) by initiating by the load control module (161) data requests from TFS (120). TFS (120) indicates the routes for loading data and control messages between the module (161) and TFS (120). Module (161) can initiate loading of one or several data stream simultaneously, while the streams will be processed in parallel.
[0052] Каждый источник данных (110) регистрируется в модуле (161). Для каждого источника создается и хранится его идентификатор (ID). В процессе регистрации источника данных (110) выполняется следующий порядок действий:[0052] Each data source (110) is registered in a module (161). For each source, its identifier (ID) is created and stored. During the registration of the data source (110), the following procedure is performed:
Присвоение номера источнику данных (110); Assigning a number to the data source (110);
Определение схем внутри источника (110) и присвоения им номера. Схема является необязательным элементом и применяется для логической группировки таблиц. Identification of circuits inside the source (110) and assigning them numbers. The schema is an optional element and is used for logical grouping of tables.
Присвоение номера всем таблицам внутри источника (110) в пределах схемы (при условии ее использования). Assigning numbers to all tables within the source (110) within the scheme (subject to its use).
[0053] Источник (110), схемы, таблицы соответствуют в модуле (161) сущностям с уникальными идентификаторами. Идентификатор представляет собой целое число формата, представленного на Фиг. 2.[0053] Source (110), schemas, tables correspond in module (161) to entities with unique identifiers. The identifier is an integer of the format shown in FIG. 2
[0054] Номер источника - это внутренний суррогатный идентификатор источника (110) в xStream (170), который генерируется на этапе подключения источника (ПО) к xStream (170).[0054] The source number is the internal surrogate source identifier (110) in xStream (170), which is generated at the stage of connecting the source (SW) to xStream (170).
[0055] Область данных указывает на область хранения получаемой информации в xStream (170):[0055] The data area indicates the storage area of the received information in xStream (170):
1 - область публикуемых данных (143); 1 - the area of published data (143);
2 - область сырых данных (141); 2 - area of raw data (141);
3 - область промежуточных данных (142); 3 - intermediate data area (142);
0 - базовая сущность, идентифицирующая данные источника. 0 is the base entity that identifies the source data.
[0056] Схема представляет собой идентификатор схемы в источнике или подсистемы. Генерируется на этапе подключения источника (110) к xStream (170). Номер таблицы представляет номер таблицы в схеме., также генерируется на этапе подключения источника (110) к xStream (170).[0056] A schema is a schema identifier at the source or subsystem. It is generated at the stage of connecting the source (110) to xStream (170). The table number represents the table number in the schema. It is also generated at the stage of connecting the source (110) to xStream (170).
[0057] Подсистема обработки и архивирования данных (140) представляет собой хранилище данных, получаемых от внешних источников (110), и является логической областью в HDFS. Доступ к хранимым данным осуществляется через подсистему доступа (150) hCatalog, которая также предназначена для публикации метаинформации о данных.[0057] The data processing and archiving subsystem (140) is a repository of data received from external sources (110), and is a logical area in HDFS. Access to the stored data is carried out through the access subsystem (150) hCatalog, which is also intended for publishing meta information about the data.
[0058] Подсистема обработки и архивирования данных (140) содержит области хранения данных, которые осуществляют структурированное хранение первичных (сырых) данных (141), промежуточных данных (142) и публикуемых данных (143).[0058] The data processing and archiving subsystem (140) contains data storage areas that carry out structured storage of primary (raw) data (141), intermediate data (142) and published data (143).
[0059] В область хранения первичных данных (141) передаются архивы информации, поучаемые от TFS (120) из источников данных (110), зарегистрированных в модуле (161). Получаемые данные проверяются на целостность в TFS (120). В случае нарушения целостности архивов, получаемых от источников данных (110), такая информация не передается в подсистему xStream (170). При успешном копировании информации из TFS (120) в область первичных данных (141), xStream (170) уведомляет о проведении успешной операции.[0059] Archives of information obtained from TFS (120) from data sources (110) registered in module (161) are transferred to the primary data storage area (141). Received data is checked for integrity in TFS (120). In case of violation of the integrity of archives received from data sources (110), 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.
[0060] При загрузке данных в область хранения промежуточных данных (142) первоначально выполняется разархивация архивов данных из области первичных данных (141). Передача файлов из подсистемы (130) в подсистему хранения (140) может осуществляться с помощью маски загрузки файлов, которая может формироваться на основании, например, имени (названия) загруженного архивного файла. В системе (100) сохраняется информация обо всех успешно загруженных архивах из источников данных (110).[0060] When data is loaded into the intermediate data storage area (142), unarchiving data archives from the primary data area (141) is initially performed. Transferring files from subsystem (130) to storage subsystem (140) can be accomplished using a file upload mask, which can be generated based on, for example, the name (name) of the downloaded archive file. The system (100) stores information about all successfully downloaded archives from data sources (110).
[0061] Модуль ETL (Extract, Transform, Load) (132) выполняет передачу данных в необходимые области (142)-(143) подсистемы хранения и архивации (140), а также осуществляет подготовку и преобразование разархивированных данных в формат parquet при их поступлении в подсистему (130). Parquet представляет собой бинарный, колоночно-ориентированный формат хранения данных (см, например, «Производительность Apache Parquet». // https://habr.com/post/282552A.[0061] The ETL module (Extract, Transform, Load) (132) transfers data to the required areas (142) - (143) of the storage and archiving subsystem (140), and also prepares and converts the unzipped data into parquet format when it arrives to the subsystem (130). Parquet is a binary, column-oriented data storage format (see, for example, Apache Parquet Performance. // https://habr.com/post/282552A.
[0062] При преобразовании данные источников (110) приводятся к типам Hive-SQL. Пример приведения данных к типу Hive-AQL представлен в Таблице 1. В случае если наименование файла, например, формата *.json, не соответствует маске, то данные архивов, содержащих такие файлы, не будут преобразованы в parquet. Данная методика обеспечивает устойчивый процесс обращения к данным через Hive с помощью обычных SQL-запросов, что приводит к повышению надежности доступа к информации.[0062] When converting, source data (110) is converted to Hive-SQL types. An example of converting data to the Hive-AQL type is presented in Table 1. If the file name, for example, the * .json format, does not match the mask, then the data of the archives containing such files will not be converted to parquet. This technique provides a steady process of accessing data through Hive using ordinary SQL queries, which leads to increased reliability of access to information.
[0063] В область публикуемых данных (143) передаются подготовленные, преобразованные, унифицированные данные, которые приводятся к стандарту подсистемы xStream (170). При подготовке унифицированных данных имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование[0063] In the area of published data (143), prepared, transformed, unified data are transmitted, which are converted to the standard of the xStream subsystem (170). When preparing unified data, the names of the tables and fields are given to the xStream standard, the data types are given to the xStream standard, the tables are supplemented with the required technical fields describing the data supply — the start and end dates of the data supply time period, the load and conversion numbers
[0064] Выполнение вышеуказанных процедур по обработке данных в подсистеме (140) позволяет организовать и обновлять актуальный срез данных (например, исторический срез) для каждого источника (110) в первичном слое xStream (170), при этом также обеспечивается поддержание требуемой временной глубины архива данных.[0064] The execution of the above data processing procedures in the subsystem (140) allows you to organize and update the actual data slice (for example, historical slice) for each source (110) in the xStream primary layer (170), while maintaining the required archive time depth data.
[0065] Загрузка данных в область публикации (143) осуществляется в несколько этапов. На первом этапе выполняется получение новых архивов. Для получения нового списка архивов сканируется область хранения сырых данных (141) по имени соответствующего источника (110) (например, для источника abc - каталог в области (141) /data/core/external/abc/src) по шаблону имени архивов. Из полученного списка исключаются архивы, которые уже были загруженные в область публикации (143) источника, которые были успешно обработаны подсистемой хранения и архивирования (140). Также, из полученного списка исключаются архивы, которые были обработаны с ошибкой. Архивы источника (110) из оставшегося списка переносятся в область сырых данных (141).[0065] The data is loaded into the publication area (143) in several steps. At the first stage, new archives are received. To obtain a new list of archives, the raw data storage area (141) is scanned by the name of the corresponding source (110) (for example, for the source abc, the directory in the area (141) / data / core / external / abc / src) by the archive name template. The archives that have already been downloaded to the publication area (143) of the source, which 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 resulting list. The source archives (110) from the remaining list are transferred to the raw data area (141).
[0066] Далее осуществляется распаковка полученных архивов. Для распаковки, выбираются только те архивы из области (141), наименование которых соответствует шаблону. Из полученного списка исключаются архивы источника (110), которые ранее были загружены в область публикации (143) данного источника. Из полученного списка исключаются архивы, которые были обработаны с ошибкой. Архивы из оставшегося списка распаковываются в область промежуточных данных (142) в соответствующий подкаталог, например, src/<loading_id>/unpack/<имя_архива>.[0066] Next is the unpacking of the received archives. For unpacking, only those archives are selected from the area (141), the name of which matches the pattern. The source archives (110) that were previously downloaded to the publication area (143) of this source are excluded from the resulting list. Archives that were processed with an error are excluded from the list. Archives from the remaining list are unpacked into the intermediate data area (142) into the appropriate subdirectory, for example, src / <loading_id> / unpack / <archive_name>.
[0067] Каждый архив распаковывается в отдельный подкаталог в области промежуточных данных (142), соответствующий названию архива. В случае успешной распаковки архива, его имя регистрируется в файле src/<loading_id>/unpack/.success, который представляет собой журнал успешной загрузки, при возникновении ошибки при распаковке архива, его имя зарегистрируется в файле src/<loading_id>/unpack/.fail, который является, соответственно, журналом неуспешной загрузки. Обработка других архивов при получении данных при этом не прерывается.[0067] Each archive is unpacked into a separate subdirectory in the intermediate data area (142), corresponding to the name of the archive. If the archive is successfully unpacked, its name is registered in the src / <loading_id> /unpack/.success file, which is a successful download log, if an error occurs when unpacking the archive, its name is registered in the src / <loading_id> / unpack / file. fail, which is, respectively, the log of unsuccessful downloads. Other archives are not interrupted when data is received.
[0068] После сохранения данных из архивов в области промежуточных данных (142) выполняется их преобразование в формат parquet. Переводу в формат parquet подлежат только те файлы данных из архивов, которые были зарегистрированы в подсистеме (140) как успешно распакованные. При этом файлы из разных архивов обрабатываются отдельно. Каждый файл из архива соответствует только одной сущности, например, таблице источника, в случае если данные были загружены из табличного вида (определяется по маске имени файла), файлы одного архива, соответствующие одной таблице, обрабатываются вместе. Таблицы дополняются служебными атрибутами (см. Таблицу 2), которые позволяют поддерживать актуальный снимок (слепок) и формировать историю изменения файлов, полученных от источника данных (110).[0068] After saving the data from the archives in the area of intermediate data (142), they are converted into parquet format. Only data files from archives that were registered in subsystem (140) as successfully unpacked are subject to translation into parquet format. In this case, files from different archives are processed separately. Each file from the archive corresponds to only one entity, for example, the source table, in case the data were loaded from a table view (determined by the file name mask), files of one archive corresponding to one table are processed together. The tables are supplemented with service attributes (see Table 2), which allow you to maintain an up-to-date snapshot (snapshot) and generate a change history of files received from the data source (110).
[0069] Вышеуказанные атрибуты передаются как параметры задания и обеспечиваются функционалом модуля управления загрузкой (161). В результате обработки создается соответствующая структура каталогов. В случае успешного преобразования всех файлов из архивов в формат parquet имя архива регистрируется в журнале, что необходимо для управления процессом доступа к информации и обеспечения автоматического отката системы на более раннюю точку. При возникновении ошибки при обработке хотя бы одного файла архива, последующая обработка архива прекращается и имя архива помечается как ошибочное.[0069] The above attributes are passed as job parameters and provided with the functionality of the load control module (161). As a result of processing the corresponding directory structure is created. In case of successful conversion of all files from archives to parquet format, the name of the archive is recorded in the log, 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, the subsequent processing of the archive stops and the archive name is marked as erroneous.
[0070] Обработанные и унифицированные данные из области публикуемых данных (143) передаются в подсистему доступа к данным (150) для обеспечения получения данных для работы конечными пользователями.[0070] The processed and unified data from the published data area (143) is transmitted to the data access subsystem (150) to ensure that the data is received for work by end users.
[0071] В подсистеме доступа к данным (150) формируется два раздела - актуальный срез данных (151), содержащий отпечаток текущих данных, и раздел истории данных (152), содержащий информацию об изменениях данных.[0071] In the data access subsystem (150), two sections are formed — the actual data slice (151), containing the imprint of the current data, and the data history section (152), which contains information about changes in the data.
[0072] Каждая сущность, содержащая данные, источника (110) обрабатывается отдельно, при этом обрабатываются данные, соответствующие сущности, из всех архивов, которые были зарегистрированы как успешно обработанные. Предусмотрены два способа обработки данных - выбор способа зависит от наличия историчности в данных по упомянутой сущности.[0072] Each entity containing data from source (110) is processed separately, and the data corresponding to the entity is processed from all archives that were registered as successfully processed. There are two ways of data processing - the choice of method depends on the availability of historical data in the data on the above entity.
[0073] В случае отсутствия выделения историчности (наличие новых данных) выполняется следующее. Для всех новых данных по таблице архива, хранящегося в области промежуточных данных (142), обеспечивается установка атрибута с текущим значением времени старта потока передачи данных. Данные сохраняются с партиционированием в области публикуемых данных (143) stg/<1oadingId/ра/snp/<имя_таблицы>, в результате чего создается только одна партиция (раздел).[0073] In the case of non-allocation of historicity (availability of new data) the following is done. For all new data on the archive table stored in the intermediate data area (142), the attribute is set with the current start time of the data stream. Data is saved with partitioning in the published data area (143) stg / <1oadingId / pa / snp / <table_name>, as a result of which only one partition (partition) is created.
[0074] В случае наличия выделения историчности (наличие новых данных) для всех новых данных по таблице из области промежуточных данных (142) устанавливается атрибут со временем старта потока загрузки данных модулем (161). Полученные данные объединяются с данными таблицы из области публикуемых данных (143) и из полученного объединения выделяются новые данные, которые помещаются в области (151) и (152).[0074] If there is a selection of historicity (availability of new data) for all new data on the table from the intermediate data area (142), an attribute is set with the start time of the data load stream by the module (161). The obtained data is combined with the data of the table from the published data area (143) and new data are separated from the resulting union, which are located in areas (151) and (152).
[0075] Данные для отображения в области (151) сохраняются с партиционированием по полю ctl_loading в каталоге промежуточных данных (142) stg/<loadingId>/pa/snp/<имя_таблицы>. Ctl_loading - это поток (техническая сущность), который активируется модулем управления загрузкой (161). Под каждый источник (110) создается и регистрируется отдельный поток.[0075] The data for display in the area (151) is stored with partitioning by the ctl_loading field in the intermediate data directory (142) stg / <loadingId> / pa / snp / <table_name>. Ctl_loading is a stream (technical entity) that is activated by the load control module (161). Under each source (110) a separate stream is created and registered.
[0076] Для данных в области (152) истории изменения данных обеспечивается заполнение полей ctl_pa_loading (из поля ctl_loading), ctl_loading (текущим значением <loadingId>) и ctl_validTo (временем старта потока загрузки данных). Данные для отображения в области (152) сохраняются с партиционированием по полю ctl_loading в каталоге промежуточных данных (142) stg/<loadingId>/pa/hist/<имя_таблицы>. В результате для области (152) создается только одна партиция (раздел) stg/<loadingId>/pa/hist/<имя_таблицы>/ctl_loading=<loadingId>.[0076] For the data in the data change history area (152), the ctl_pa_loading fields (from the ctl_loading field), ctl_loading (with the current <loadingId> value) and ctl_validTo (start time of the data loading stream) are filled. The data for display in the area (152) is saved with partitioning by the ctl_loading field in the intermediate data directory (142) stg / <loadingId> / pa / hist / <table_name>. As a result, only one partition (section) stg / <loadingId> / pa / hist / <table_name> / ctl_loading = <loadingId> is created for the area (152).
[0077] По окончании данного действия в каталог области хранения промежуточных данных (142) stg/<loadingId>/pa/ копируется файл stg/status/.fail. По окончанию операции область хранения промежуточных данных (142) очищается. Данные журнала операции, производимой в области (142), должны быть добавлены в общий журнал области публикуемых данных (143).[0077] At the end of this action, the stg / status / .fail file is copied to the intermediate data storage area directory (142) stg / <loadingId> / pa /. At the end of the operation, the intermediate data storage area (142) is cleared. The log data of the operation performed in the field (142) must be added to the general log of the published data area (143).
[0078] Далее выполняется объединение файлов из области (142) stg/status/.success и области (141) src/<loading_id>/parquet/.success в файл stg/<loadingId>/pa/.success. Этап считается успешным, если все данные при этом были успешно обработаны, иначе поток завершится с ошибкой.[0078] Next, the files from the (142) stg / status / .success and the (141) src / <loading_id> /parquet/.success to the stg / <loadingId> /pa/.success file are merged. A stage is considered successful if all the data were processed successfully, otherwise the stream will end with an error.
[0079] В рамках реализации заявленного решения предусмотрены два способа публикации данных, полученные из источника (110), выбор способа зависит от наличия историчности изменений в данных в данном источнике (110).[0079] As part of the implementation of the claimed solution, there are two ways to publish data obtained from the source (110), the choice of method depends on the presence of historical changes in the data in this source (110).
[0080] Если для источника (110) отсутствуют сведения об изменениях, то каталог stg/<loadingId>/pa/snp/<имя_таблицы>/ctl_loading=<loadingId> из области хранения промежуточных данных (142) перемещается в каталог области публикуемых данных (143) ра/snp/<имя_таблицы> как новый раздел, который впоследствии регистрируется для отображения в hCatalog (150) в области (151).[0080] If there is no change information for source (110), then the stg / <loadingId> / pa / snp / <table_name> / ctl_loading = <loadingId> directory is moved from the intermediate data storage area (142) to the directory of the published data area ( 143) ra / snp / <table_name> as a new section, which is subsequently registered for display in hCatalog (150) in the area (151).
[0081] В случае наличия выделения историчности (наличие новых данных) для источника данных (110) выполняется следующее. Каталог с данными для источника (110) ра/snp/<имя_таблицы> из области (143) перемещается в stg/<loadingId>/reserve/pa/snp области промежуточных данных (142). Каталог stg/<loadingId>/pa/snp/<имя_таблицы> из области промежуточных данных (142) перемещается в каталог области публикуемых данных (142) как ра/snp/<имя_таблицы>. Новый раздел в области (143) pa/snp/<имя_таблицы>/ctl_loading=<loadingId> регистрируется в hCatalog (150) для предоставления доступа к информации.[0081] In the case of the presence of a selection of historicity (availability of new data) for the data source (110), the following is performed. The data directory for the source (110) pa / snp / <table_name> from the area (143) is moved to stg / <loadingId> / reserve / pa / snp intermediate data area (142). The stg / <loadingId> / pa / snp / <table_name> directory from the intermediate data area (142) is moved to the directory of the published data area (142) as ra / snp / <table_name>. A new section in the area (143) pa / snp / <table_name> / ctl_loading = <loadingId> is registered in hCatalog (150) to provide access to information.
[0082] Каталог в области (142) stg/<loadingId>/pa/hist/<имя_таблицы>/ctl_loadmg=<loadingId>, созданный ранее, перемещается в каталог в области (143) ра/hist/<имя_таблицы> как новый раздел, который также регистрируется в подсистеме (150). По окончании данного процесса в каталог области промежуточных данных (142) stg/status/ копируются файлы stg/<loadingId>/pa/.success и stg/<loadingId>/pa/.fail, которые отображают статус выполнения операций загрузки данных. Данный этап считается успешным, если во время его исполнения не возникало исключений и ошибок загрузки данных.[0082] The directory in the area (142) stg / <loadingId> / pa / hist / <table_name> / ctl_loadmg = <loadingId> created earlier is moved to the directory in the area (143) ra / hist / <table_name> as a new section which is also registered in the subsystem (150). At the end of this process, the stg / <loadingId> /pa/.success and stg / <loadingId> /pa/.fail files are copied to the intermediate data area directory (142) stg / status /, which display the status of data load operations. This stage is considered successful if during its execution there were no exceptions and data loading errors.
[0083] Подсистема обработки и архивирования данных (140) очищает/архивирует область публикуемых данных (143) по параметру идентификатора потока загрузки информации (ctl_loading и ctl_pa_loading), который устанавливается модулем управления загрузкой (161). Глубина истории подлежащей очистке/архивированию задается параметром, например, 5 лет.[0083] The data processing and archiving subsystem (140) clears / archives the published data area (143) by the parameter of the information flow identifier (ctl_loading and ctl_pa_loading), which is set by the load control module (161). The depth of the history to be cleaned / archived is set by the parameter, for example, 5 years.
[0084] Для подключения нового источника данных (110) или изменения параметров существующего подсистема xStream (170) имеет конфигурационные файлы, а также профили, указываемые при запуске подсистемы XStream (170), содержащие набор параметров. Конфигурационные файлы предполагают настройку следующих параметров:[0084] To connect a new data source (110) or modify the parameters of an existing subsystem, 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
тип входных файлов, type of input files
имена архивов и файлов в архиве, names of archives and files in the archive,
тип преобразований, type of transformations
необходимость ведения истории the need for a history
ролевая модель role model
скрипты создания базы данных и таблиц для источника scripts to create a database and tables for the source
и др. and etc.
[0085] Файлы от отправителя - источника данных (110) как правило публикуются в общую папку отправителя в TFS (120), поэтому для этого необходимо осуществлять формирование уникального имени файла. Файлы поставляются упакованные в архивах. Допустимые типы расширения могут быть различными, например, tar.gz, zip и т.п.[0085] Files from the sender - the data source (110) are usually published to the common folder of the sender in TFS (120), therefore, for this it is necessary to generate a unique file name. Files are delivered packed in archives. Valid extension types can be different, for example, tar.gz, zip, etc.
[0086] Имя файла архива может формироваться, например, по следующей маске: <saller>_<source>_<table>_<inc>_<ver>_<date>_<time>_<nnn>.<extension>, где[0086] The archive file name can be generated, for example, by the following mask: <saller> _ <source> _ <table> _ <inc> _ <ver> _ <date> _ <time> _ <nnn>. <Extension> where
sailer - конечный поставщик данных (или прокси-поставщик); sailer - the ultimate data provider (or proxy provider);
source - источник данных (110); source - data source (110);
table - название типа данных или сущности. В случае если в поставке одним архивом приходит схема, состоящая из нескольких взаимосвязанных сущностей, которые необходимо поставлять одновременно, например, таблиц, то в этой секции ставится - kit, а в самих файлах внутри архива уже указываются непосредственные имена сущностей; table - the name of the data type or entity. If the delivery comes in a single archive with a schema consisting of several interrelated entities that need to be delivered simultaneously, for example, tables, then the kit is placed in this section, and the actual names of the entities are already indicated inside the archive;
inc - содержит full если архив относится к поставке/перепоставке полного архива данных, incr - если архив относится к поставке инкремента; inc - contains full if the archive refers to the delivery / re-delivery of a complete data archive, incr - if the archive refers to the delivery of an increment;
ver - версия поставки. В случае изменения состава данных или формата поставки необходимо инкрементировать версию вверх. Может состоять из литеры v и 3-х цифр, начиная с v001, например, v001, v002 и т.д.; ver - delivery version. In case of a change in the composition of the data or the delivery format, it is necessary to increment the version upwards. It may consist of the letter v and 3 digits, starting with v001, for example, v001, v002, etc .;
date - дата формирования файла в формате ГГГГММДД; date - date of file formation in the format YYYYMMDD;
time - время формирования файла в формате ЧЧММСС; time - the time of formation of the file in the format HHMMSS;
nnn - номер по порядку, начинающийся с 001, если несколько файлов поставки в рамках совпадений остальных частей названия файла архива. Всегда состоит из 3-х цифр начиная с 001, например, 001, 002 и т.д. Если в поставке только 1 файл, то в этой секции указано - 001; nnn is a number in order, starting with 001, if several delivery files are within the scope of the remaining parts of the archive file name. It always consists of 3 digits starting from 001, for example, 001, 002, etc. If there is only 1 file in the delivery, then this section indicates - 001;
extension - расширение архива. extension - archive extension.
[0087] Пример имени архива: abc_def_orgl_incr_v002_20171106_112400_001.tar.gz. Не допускается наличие архива в архиве. Имя файла в архиве формируется также, как имя файла архива, за исключением расширения файла и секции <table> для набора.[0087] An example of the archive name is abc_def_orgl_incr_v002_20171106_112400_001.tar.gz. The presence of an archive in the archive is not allowed. The file name in the archive is formed in the same way as the file name of the archive, with the exception of the file extension and the <table> section for dialing.
[0088] Имя архива: abc_def_kit_incr_v002_20171106_112400_001.tar.gz, файлы в архиве: abc_def_kitl_incr_v002_20171106_112400_001.xml, abc_def_orgl_incr_v002_20171106_112400_001.xml и т.д. Допустимые типы и расширения файлов, например, csv, tsv, txt, json, avro, xml и др. В имени передаваемого файла допускается использование не более 128 символов (включая расширение).[0088] Archive name: abc_def_kit_incr_v002_20171106_112400_001.tar.gz, the files in the archive: abc_def_kitl_incr_v002_20171106_112400_001.xml, abc_def_orgl_incr_v002_20171106_112400_001.xml etc. Valid file types and extensions, for example, csv, tsv, txt, json, avro, xml, etc. A maximum of 128 characters are allowed in the name of the file to be transferred (including the extension).
[0089] Модель данных внешнего источника (110) соответствует структуре поставляемых данных и определяется на этапе анализа и подготовки источника (110) к загрузке в xStream (170). Целевым средством для доступа к данным служит Apache Hive.[0089] The external source data model (110) corresponds to the structure of the supplied data and is determined at the stage of analysis and preparation of the source (110) for loading into xStream (170). The target tool for accessing data is Apache Hive.
[0090] Доступ пользователей к опубликованным данным, содержащимся в области (150) осуществляется на основании контроля уровня доступа каждого из пользователей. Для каждого пользователя при взаимодействии с xStream (170) проверяется разрешенный функционал по осуществлению операций с данными, в частности, такими операциями могут быть: просмотр, редактирование, получение аналитического среза, комбинированный просмотр и т.п. Пользователь с ролями Администратор и Аудитор имеют доступ к логам xStream (170) через централизованную систему управления логами, доступную в облачной платформе (180).[0090] User access to published data contained in area (150) is carried out on the basis of controlling the level of access of each user. When interacting with xStream (170), each user is checked for allowed functionality for performing data operations, in particular, such operations can be: viewing, editing, obtaining an analytical slice, combined viewing, etc. A user with the Administrator and Auditor roles has access to xStream logs (170) through a centralized log management system available in the cloud platform (180).
[0091] На Фиг. 3 представлен общий вид вычислительного устройства (200), используя которое в составе кластера реализуется заявленный способ и система.[0091] FIG. 3 shows a general view of a computing device (200), using which the claimed method and system is implemented as part of a cluster.
[0092] В общем случае, вычислительное устройство (200) содержит объединенные общей шиной один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), средства ввода/вывода (205), и средство для сетевого взаимодействия (206).[0092] In general, the computing device (200) contains one or more processors (201) combined with a common bus, memory means such as RAM (202) and ROM (203), input / output interfaces (204), input / output (205), and a means for networking (206).
[0093] Процессор (201) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п.[0093] A processor (201) (or multiple processors, a multi-core processor) may be selected from a variety of devices currently widely used, such as Intel ™, AMD ™, Apple ™, Samsung Exynos ™, MediaTEK ™, Qualcomm Snapdragon ™, and etc.
[0094] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций, для выполнения необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).[0094] The RAM (202) is a RAM and is intended for storing computer-readable instructions executed by the processor (201) to perform the necessary logical data processing operations. RAM (202), as a rule, contains executable instructions of the operating system and the corresponding software components (applications, program modules, etc.).
[0095] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.[0095] A ROM (203) is one or more persistent data storage devices, for example, a hard disk (HDD), solid-state data storage (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.
[0096] Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, Fire Wire, 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 и т.п.[0096] Different types of I / O interfaces (204) are used to organize the operation of the components of the device (200) and to organize the operation of external connected devices. The choice of the appropriate interfaces depends on the specific implementation of the computing device, which can be, without limitation: PCI, AGP, PS / 2, IrDa, Fire Wire, 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.
[0097] Для обеспечения взаимодействия пользователя с вычислительным устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.[0097] Various means (205) I / O information are used to ensure user interaction with the computing device (200), for example, a keyboard, a display (monitor), a touchscreen display, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality tools, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
[0098] Средство сетевого взаимодействия (206) обеспечивает передачу данных устройством (200) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п.В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.[0098] The network interaction tool (206) provides data transmission by the device (200) via an internal or external computer network, for example, Intranet, Internet, LAN, etc. As one or more means (206), it can be used but not limited to : Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or BLE module, Wi-Fi module, etc.
[0099] Дополнительно могут применяться также средства спутниковой навигации, например, GPS, ГЛОНАСС, BeiDou, Galileo.[0099] In addition, satellite navigation tools, such as GPS, GLONASS, BeiDou, Galileo, can also be used.
[0100] На Фиг. 4 представлен пример сетевого окружения при осуществлении работы заявленной системы (100). Организация работы с данными при использовании HDFS заключается в формировании соответствующих уровней абстракции в кластерных или виртуальных средах. Каждый стек системы включает множество вычислительных устройств, например, компьютеров и/или серверов, которые обмениваются данными с облачной платформой (180), содержащей xstream (170), посредством коммутаторов. Такая архитектура позволяет оперативно наращивать необходимые вычислительные мощности при значительном росте объема хранимых и обрабатываемых данных.[0100] FIG. 4 shows an example of the network environment in the implementation of the work of the claimed system (100). The organization of work with data using HDFS is to form the appropriate levels of abstraction in cluster or virtual environments. Each system stack includes multiple computing devices, such as computers and / or servers, that communicate with the cloud platform (180) containing xstream (170) through switches. This architecture allows you to quickly increase the necessary computing power with a significant increase in the volume of stored and processed data.
[0101] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.[0101] The submitted application materials disclose preferred examples of the implementation of the technical solution and should not be interpreted as limiting other, particular examples of its implementation, not going beyond the requested legal protection, which are obvious to specialists of the relevant field of technology.
Claims (43)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018137863A RU2690777C1 (en) | 2018-10-26 | 2018-10-26 | Method and system for complex control of big data |
PCT/RU2018/000706 WO2020085938A1 (en) | 2018-10-26 | 2018-10-26 | Method and system for integrated management of big data |
EA201892256A EA036384B1 (en) | 2018-10-26 | 2018-11-02 | Method and system for integrated management of big data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018137863A RU2690777C1 (en) | 2018-10-26 | 2018-10-26 | Method and system for complex control of big data |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2690777C1 true RU2690777C1 (en) | 2019-06-05 |
Family
ID=67037918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018137863A RU2690777C1 (en) | 2018-10-26 | 2018-10-26 | Method and system for complex control of big data |
Country Status (3)
Country | Link |
---|---|
EA (1) | EA036384B1 (en) |
RU (1) | RU2690777C1 (en) |
WO (1) | WO2020085938A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU141446U1 (en) * | 2013-08-22 | 2014-06-10 | Санкт-Петербург, от имени которго выступает Комитет по информации и связи | INFORMATION AND SEARCH DEVICE FOR SUBMISSION OF DATA ON OBJECTS |
Family Cites Families (6)
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 |
US8930496B2 (en) * | 2005-12-19 | 2015-01-06 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
SG10201501549XA (en) * | 2006-11-06 | 2015-04-29 | Metric Holdings Llc | A 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 |
US20100333116A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US10108687B2 (en) * | 2015-01-21 | 2018-10-23 | Commvault Systems, Inc. | Database protection using block-level mapping |
-
2018
- 2018-10-26 RU RU2018137863A patent/RU2690777C1/en active
- 2018-10-26 WO PCT/RU2018/000706 patent/WO2020085938A1/en active Application Filing
- 2018-11-02 EA EA201892256A patent/EA036384B1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU141446U1 (en) * | 2013-08-22 | 2014-06-10 | Санкт-Петербург, от имени которго выступает Комитет по информации и связи | INFORMATION AND SEARCH DEVICE FOR SUBMISSION OF DATA ON OBJECTS |
Also Published As
Publication number | Publication date |
---|---|
EA201892256A1 (en) | 2020-05-29 |
WO2020085938A1 (en) | 2020-04-30 |
EA036384B1 (en) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018395856B2 (en) | Allocation and reassignment of unique identifiers for synchronization of content items | |
US11379498B2 (en) | Live data conversion and migration for distributed data object systems | |
US20160259811A1 (en) | Method and system for metadata synchronization | |
CN110651265A (en) | Data replication system | |
US20110302277A1 (en) | Methods and apparatus for web-based migration of data in a multi-tenant database system | |
WO2018036324A1 (en) | Smart city information sharing method and device | |
US20170193039A1 (en) | Servicing queries of an event log | |
WO2015070674A1 (en) | Method and system for manipulating data | |
US11288003B2 (en) | Cross-platform replication of logical units | |
US11567957B2 (en) | Incremental addition of data to partitions in database tables | |
RU2690777C1 (en) | Method and system for complex control of big data | |
WO2021004042A1 (en) | Drug development software repository and software package management system thereof | |
US11755613B2 (en) | Streamlined data engineering | |
US20220382637A1 (en) | Snapshotting hardware security modules and disk metadata stores | |
US20230185559A1 (en) | Managing a federated software repository across multiple devices | |
TW201629797A (en) | Method for performing file synchronization control, and associated apparatus | |
US8566280B2 (en) | Grid based replication | |
US10587685B2 (en) | Cross-platform replication of logical units | |
Francia | MongoDB and PHP: Document-Oriented Data for Web Developers | |
CN115934670B (en) | Method and device for verifying copy placement strategy of HDFS (Hadoop distributed File System) multi-machine room | |
Mucchetti et al. | Loading Data into the Warehouse | |
Gupta | Mastering Oracle GoldenGate | |
Conte et al. | Integration of an active research data system with a data repository to streamline the research data lifecycle: Pure-NOMAD case study | |
Annangi | Security Log Analysis Using Hadoop | |
CN115640324A (en) | Information query method, device, terminal equipment and storage medium |