EA036384B1 - Method and system for integrated management of big data - Google Patents
Method and system for integrated management of big data Download PDFInfo
- Publication number
- EA036384B1 EA036384B1 EA201892256A EA201892256A EA036384B1 EA 036384 B1 EA036384 B1 EA 036384B1 EA 201892256 A EA201892256 A EA 201892256A EA 201892256 A EA201892256 A EA 201892256A EA 036384 B1 EA036384 B1 EA 036384B1
- Authority
- EA
- Eurasian Patent Office
- Prior art keywords
- data
- subsystem
- loading
- processing
- tfs
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 61
- 238000003860 storage Methods 0.000 claims abstract description 25
- 238000013500 data storage Methods 0.000 claims abstract description 22
- 238000012546 transfer Methods 0.000 claims abstract description 14
- 238000007726 management method Methods 0.000 claims abstract description 7
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 238000012384 transportation and delivery Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 11
- 230000032258 transport Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000000844 transformation Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 240000001436 Antirrhinum majus Species 0.000 description 1
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
- 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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
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
Description
Область техникиTechnology area
Изобретение относится к управлению большими объемами данных, в частности к системе и способу для их обработки и унифицированного хранения.The invention relates to the management of large amounts of data, in particular to a system and method for processing and unified storage.
Уровень техникиState of the art
Из уровня техники известны различные решения по организации систем хранения данных на основе распределенных файловых систем (HDFS/Hadoop File System), которые, в частности, применяются для работы с большими данными. Под термином большие данные (Big Data) понимается огромный объем данных, поступающих в систему хранения. Данные, как правило, поступают из множества источников информации в неструктурированном виде. Big Data включает в себя также технологии их обработки и использования, методы поиска необходимой информации в больших массивах.From the prior art, various solutions for organizing data storage systems based on distributed file systems (HDFS / Hadoop File System) are known, which, in particular, are used for working with big data. The term Big Data refers to a huge amount of data entering the storage system. Data usually 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.
Основная проблема больших данных связана с большим количеством информации, которую необходимо обрабатывать и, соответственно, хранить доверенным образом с минимизацией рисков потери данных. В связи с этим возникает необходимость резервного копирования данных, которая подразумевает организацию объемных структур хранения данных. Однако с увеличением объема информации растут сложности с ее резервированием.The main problem of big data is associated with the large amount of information that needs to be processed and, accordingly, stored in a trusted way, minimizing the risk of data loss. In this regard, there is a need for data backup, which implies the organization of voluminous data storage structures. However, with the increase in the amount of information, the difficulties with its reservation grow.
HDFS, или распределенная файловая система Hadoop - это основная система хранения данных, используемая приложениями Hadoop. HDFS многократно копирует блоки данных и распределяет эти копии по вычислительным узлам кластера, тем самым обеспечивая высокую надежность и скорость вычислений.HDFS, or Hadoop Distributed File System, is the primary storage system used by Hadoop applications. HDFS copies blocks of data many times and distributes these copies among the compute nodes of the cluster, thereby ensuring high reliability and speed of computations.
Из уровня техники известна архитектура хранилища данных для предоставления совместного доступа к данным, хранимым в нем (US 20130262615, 03.10.2013). Хранилище данных может быть реализовано с помощью HDFS и представлять фильтр для поступающей информации для ее первичной обработки при непосредственном сохранении для последующего использования. Система хранения функционирует с помощью формирования копий, поступающих данных из разнородных источников для последующей связки их с помощью метаданных для целей доступа к ним.The prior art knows the architecture of a data warehouse for providing shared access to data stored in it (US 20130262615, 03.10.2013). A data warehouse can be implemented using HDFS and provide a filter for incoming information for its primary processing while directly saving for later use. The storage system functions by forming copies of incoming data from heterogeneous sources for their subsequent linking using metadata for the purpose of accessing them.
В заявке CN 106407309 (Wei et al., 15.02.2017) описывается механизм кластерного хранилища для получения информации из множества различных источников данных и обеспечения процесса аутентификации между базой данных и источниками данных.CN 106407309 (Wei et al., 15.02.2017) describes a cluster storage mechanism for retrieving information from many different data sources and providing an authentication process between the database and data sources.
Известное решение обладает существенными недостатками, которые заключаются в отсутствии обработки поступающих данных с целью их преобразования в унифицированный вид, что не позволяет оперативно обновлять информацию от источников, и снижает эффективность работы хранилища данных. Также, отсутствие процесса унификации данных приводит к низкой отказоустойчивости системы хранения в случае поступления данных в неправильном или неподдерживаемом формате (ошибки транспортного формата, ошибки архивирования, ошибки копирования, ошибки структуры данных, ошибки типов данных).The known solution has significant drawbacks, which consist in the lack of processing of incoming data in order to transform them into a unified form, which does not allow to promptly update information from sources, and reduces the efficiency of the data warehouse. Also, the absence of a data unification process leads to low fault tolerance of the storage system in the event of data arriving in an incorrect or unsupported format (transport format errors, archiving errors, copy errors, data structure errors, data type errors).
Раскрытие изобретенияDisclosure of invention
Решаемой технической проблемой с помощью заявленного способа и системы является устранение недостатков, присущих известным аналогам, а также создание нового принципа эффективного хранения больших объемов данных.The technical problem to be solved using the claimed method and system is to eliminate the disadvantages inherent in known analogues, as well as to create a new principle of efficient storage of large amounts of data.
Достигаемый технический результат совпадает с решаемой технической проблемой и заключается в повышении эффективности хранения больших объемов данных за счет применения распределенной архитектуры хранения с обеспечением обработки входных данных с целью их унификации.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 the provision of processing input data in order to unify them.
Дополнительным техническим эффектом является повышение отказоустойчивости системы хранения данных за счет архитектуры системы управления хранением больших данных и обеспечения унификации хранимых данных.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 ensure the unification of stored data.
Изобретение осуществляется с помощью системы комплексного управления большими данными (Big Data), содержащая подсистему транспортировки и проверки входных данных (далее TFS), подсистему загрузки внешних данных (далее xStream), функционирующую на основании стандарта описания данных, в которойThe invention is carried out using a system of integrated management of big data (Big Data), containing a subsystem for transporting and checking input data (hereinafter TFS), a subsystem for loading external data (hereinafter xStream), operating on the basis of a data description standard, in which
TFS осуществляет прием, проверку и передачу в xStream данных, поступающих от источников данных, причем TFS принимает данные в архивированном виде и осуществляет передачу данных по транспортному протоколу;TFS receives, checks and transmits data in xStream from data sources, and TFS receives data in an archived form and transfers data using a transport protocol;
xStream содержит подсистему загрузки файлов, подсистему обработки и архивирования данных, подсистему доступа к данным (далее hCatalog), модуль управления загрузкой данных и модуль управления доступом, причем в xStream подсистема загрузки файлов осуществляет опрос TFS для передачи данных, поступивших от источников, в подсистему обработки и архивирования данных, причем источники данных предварительно регистрируются в подсистеме загрузки данных;xStream contains a file loading subsystem, a data processing and archiving subsystem, a data access subsystem (hereinafter referred to as hCatalog), a data loading control module and an access control module, and in xStream, the file download subsystem polls TFS to transfer data received from sources to the processing subsystem and archiving the data, the data sources being pre-registered with the data loading subsystem;
подсистема загрузки данных выполняет первичное копирование файлов, поступающих от TFS, в подсистему обработки и архивирования;data loading subsystem performs primary copying of files from TFS to the processing and archiving subsystem;
подсистема обработки и архивирования содержит области хранения данных, которые осуществляют структурированное хранение первичных данных, промежуточных данных и публикуемых данных;the processing and archiving subsystem contains data storage areas that carry out structured storage of primary data, intermediate data and published data;
в область хранения первичных данных передаются файлы из подсистемы загрузки данных, которыеfiles from the data loading subsystem are transferred to the primary data storage area, which
- 1 036384 соответствуют установленным параметрам архивирования и хранятся в первоначально заархивированном виде;- 1,036384 correspond to the set archiving parameters and are stored in the originally archived form;
подсистема обработки и архивирования выполнена с возможностью передачи в область промежуточных данных разархивированных первичных данных, преобразованных в формат parquet для дальнейших преобразований;the processing and archiving subsystem is configured to transfer to the intermediate data area the unzipped primary data converted into the parquet format for further transformations;
в область публикуемых данных передаются подготовленные, преобразованные, унифицированные данные, приведенные к стандарту xStream, в которых имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование;prepared, transformed, unified data converted to the xStream standard are transferred to the published data area, in which the names of tables and fields are converted to the xStream standard, the data types are converted to the xStream standard, the tables are supplemented with mandatory technical fields describing the delivery of data - dates of the beginning and end of the period the relevance of the data supply, the numbers of the streams that performed the loading and conversion;
и из унифицированных данных области публикуемых данных формируется структурированный каталог для доступа к упомянутым данным посредством hCatalog.and from the unified data of the published data area, a structured catalog is formed for accessing said data through hCatalog.
В одном из частных вариантов реализации системы TFS осуществляет проверку целостности получаемых архивных данных.In a particular implementation of the TFS system, it checks the integrity of the received archived data.
В другом частном варианте реализации системы для зарегистрированных источников в модуле управления загрузкой хранится ID упомянутых источников.In another particular implementation of the system for registered sources, the ID of said sources is stored in the download control module.
В другом частном варианте реализации системы модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.In another particular embodiment of the system, the download control module controls the data flow of the plurality of sources according to the corresponding stored IDs.
В другом частном варианте реализации системы для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.In another particular embodiment of the system, for each data source, the load control module contains data load parameters.
В другом частном варианте реализации системы подсистема загрузки данных осуществляет загрузку файлов в подсистему обработки и архивирования на основании маски загрузки файлов.In another particular embodiment of the system, the data loading subsystem loads files into the processing and archiving subsystem based on the file loading mask.
В другом частном варианте реализации системы маска загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.In another particular embodiment of the system, the file download mask is formed based on at least the name of the downloaded archive file.
В другом частном варианте реализации системы в подсистеме обработки и архивирования в каждой из областей хранения данных формируется каталог для хранения данных соответствующего источника.In another particular embodiment of the system, a directory is formed in the processing and archiving subsystem in each of the data storage areas for storing data of the corresponding source.
В другом частном варианте реализации системы модуль управления загрузкой проверяет наличие информации по всем источникам в TFS.In another particular implementation of the system, the download control module checks the availability of information for all sources in TFS.
В другом частном варианте реализации системы выполняется полная или инкрементальная загрузка данных из TFS.In another particular implementation of the system, full or incremental data loading from TFS is performed.
В другом частном варианте реализации системы инкрементальная загрузка выполняется модулем загрузки данных при обнаружении в TFS новых данных отличающихся от поставленных ранее по дате поставки архива файлов.In another particular embodiment of the system, the incremental loading is performed by the data loading module when it detects new data in TFS that differs from the previously supplied files by the archive delivery date.
В другом частном варианте реализации системы подсистема обработки и архивирования осуществляет обработку parquet файлов для их приведения в соответствие типам Hive-SQL.In another particular implementation of the system, the processing and archiving subsystem processes parquet files to bring them into conformity with Hive-SQL types.
В другом частном варианте реализации системы для файлов при их обработке подсистемой обработки и архивирования выполняется проверка на наличие аналогичных данных, сохраненных ранее.In another particular embodiment of the system, files are checked for the presence of previously stored similar data when processed by the processing and archiving subsystem.
В другом частном варианте реализации системы при наличии более ранних данных в область публикуемых данных передается актуальная версия данных с перемещением предыдущей версии в каталог хранения истории с партиционированием по дате загрузки.In another particular embodiment of the system, in the presence of earlier data, the current version of the data is transferred to the area of published data, with the transfer of the previous version to the history storage directory with partitioning by the date of loading.
В другом частном варианте реализации системы hCatalog предоставляет отображение структуры данных области публикации данных.In another particular implementation of the system, hCatalog provides a mapping of the data structure of the data publication area.
В другом частном варианте реализации системы структура данных разбивается по базам данных, соответствующих источникам предоставления данных.In another particular implementation of the system, the data structure is divided into databases corresponding to the data sources.
В другом частном варианте реализации системы подсистема обработки и архивирования данных дополнительно обеспечивает автоматизированную функцию оката загрузки данных на любую дату в прошлом.In another particular embodiment of the system, the data processing and archiving subsystem additionally provides an automated function of loading data for any date in the past.
Заявленное решение осуществляется также с помощью способа управления большими данными (Big Data) с помощью подсистемы транспортировки и проверки входных данных (далее TFS) и подсистемы загрузки внешних данных (далее xStream), причем xStream состоит из подсистемы загрузки файлов, подсистемы обработки и архивирования, подсистемы доступа к данным, модуля управления загрузкой данных и модуля управления доступом, причем способ включает этапы, на которых с помощью модуля управления загрузкой xStream выполняют взаимодействие с TFS для получения данных от упомянутых источников, причем источники данных предварительно регистрируются в модуле управления загрузкой данных;The claimed solution is also implemented using a method for managing Big Data using the input data transport and verification subsystem (hereinafter TFS) and the external data loading subsystem (hereinafter xStream), and xStream consists of a file upload subsystem, a processing and archiving subsystem, a subsystem access to data, a data download control module and an access control module, the method comprising the steps of interacting with the TFS using the xStream download control module to receive data from said sources, the data sources being pre-registered with the data download control module;
получают данные из упомянутых источников с помощью TFS, которая принимает данные в архивированном виде и осуществляет накопление и проверку данных, в случае успешной проверки упомянутых данных осуществляют их передачу в подсистему загрузки данных по транспортному протоколу;receive data from said sources using TFS, which receives data in an archived form and accumulates and verifies the data; in case of successful verification of said data, they are transferred to the data loading subsystem via a transport protocol;
осуществляют с помощью подсистемы обработки и архивирования данных обработку получаемых данных, которая включает накопление файлов, проверку файлов, распаковку архивных файлов, прошедших проверку и преобразование распакованных файлов в формат parquet;using a subsystem for processing and archiving data, processing the received data, which includes accumulating files, checking files, unpacking archived files that have been checked and converting the unpacked files to parquet format;
осуществляют структуризацию преобразованных файлов с помощью их размещения в каталогах,structure the converted files by placing them in directories,
- 2 036384 каждый из которых связан с источниками данных, зарегистрированными в упомянутом модуле управления загрузкой данных;- 2,036384 each of which is associated with data sources registered in said data download control module;
осуществляют контроль и удаление дублирующих данных, контроль и удаление данных с нарушенной структурой, преобразование типов данных в Hive-SQL, контроль и обновление каталога актуальных данных, контроль и обновление каталога истории изменения данных, контроль и управление глубиной архива данных;control and delete duplicate data, control and delete data with a broken structure, convert data types to Hive-SQL, control and update the current data catalog, control and update the data change history catalog, control and manage the depth of the data archive;
осуществляют доступ пользователей к данным, размещенным в подсистеме доступа к данным с помощью модуля управления доступом.provide users with access to data located in the data access subsystem using the access control module.
В одном из частных примеров реализации способа модуль управления доступом определяет набор функционала на основании уровня доступа пользователя.In one of the particular examples of the implementation of the method, the access control module determines a set of functionality based on the user's access level.
В другом частном примере реализации способа подсистема обработки и архивирования данных осуществляет обработку файлов формата parquet для их соответствия типу Hive-SQL.In another particular example of the implementation of the method, the data processing and archiving subsystem processes files of the parquet format for their correspondence to the Hive-SQL type.
В другом частном примере реализации способа регистрация источников данных осуществляется с помощью записи ID источника в модуле управления загрузкой.In another particular example of implementation of the method, data sources are registered using the source ID entry in the download control module.
В другом частном примере реализации способа модуль управления загрузкой осуществляет управление потоком данных множества источников по соответствующим сохраненным ID.In another particular example of the implementation of the method, the download control module controls the data flow of the plurality of sources according to the corresponding stored IDs.
В другом частном примере реализации способа управление потоком данных включает проверку наличия информации от источника данных в TFS, обработку сообщений от TFS, выполнение действий на основании обработки сообщений.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.
В другом частном примере реализации способа выполняется полная или инкрементальная загрузка данных из подсистемы первичной обработки входных данных.In another particular example of the implementation of the method, full or incremental data loading from the input data primary processing subsystem is performed.
В другом частном примере реализации способа инкрементальная загрузка выполняется при обнаружении модулем загрузки наличия новых данных.In another particular example of implementation of the method, the incremental loading is performed when the loading module detects the presence of new data.
В другом частном примере реализации способа для каждого источника данных в модуле управления загрузкой содержатся параметры загрузки данных.In another particular example of the implementation of the method, for each data source, the load control module contains parameters for loading data.
В другом частном примере реализации способа загрузки файлов в подсистему обработки и архивирования осуществляется на основании маски загрузки файлов.In another particular example of implementation of the method for uploading files to the processing and archiving subsystem, it is carried out based on the file upload mask.
В другом частном примере реализации способа маски загрузки файлов формируется на основании, по меньшей мере, имени загруженного архивного файла.In another particular example of the implementation of the method, the file download mask is formed based on at least the name of the downloaded archive file.
Описание чертежейDescription of drawings
Признаки и преимущества технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых фиг. 1 иллюстрирует заявленную систему комплексного управления большими данными;The features and advantages of the technical solution will become apparent from the following detailed description and the accompanying drawings, in which: FIG. 1 illustrates a claimed integrated big data management system;
фиг. 2 - пример идентификатора источника;fig. 2 is an example of a source identifier;
фиг. 3 - общий вид вычислительного устройства пользователя;fig. 3 is a general view of the user's computing device;
фиг. 4 - общую схему сетевого взаимодействия.fig. 4 is a general diagram of networking.
Осуществление изобретенияImplementation of the invention
На фиг. 1 представлена общая схема реализации заявленной системы (100) управления большими данными. Основным функциональным элементом заявленной системы (100) является подсистема (170) загрузки внешних данных - xStream, которая взаимодействует (или является частью) с облачной платформой (ОП) (180) хранения и управления данными. XStream представляет собой фреймворк для обеспечения централизованной инфраструктуры получения, обработки и хранения внешних данных в ОП на Hadoop для дальнейшего распространения всем заинтересованным лицам с целью использования в бизнес-процессах и в исследованиях на предмет извлечения ценности. Источники данных (110) могут представлять различные ресурсы и каналы предоставления информации, например социальные сети, системы бухгалтерского учета, CRM-системы, реестры госорганов (ЕГРЮЛ, РОССТАТ, ФСФР и др.) и т.п. Информация, поступающая из источников данных (110), первоначально обрабатывается подсистемой транспортировки и проверки входных данных (далее TFS/Transport File System) (120). TFS (120) осуществляет прием, проверку и передачу по транспортному протоколу в xStream (170) данных, поступающих от источников данных (110). В качестве протокола передачи информации от TFS (120) в xStream (170) может применяться протокол сетевого доступа к файловым системам (NFS - Network File System).FIG. 1 shows the general scheme of implementation of the claimed system (100) for managing big data. The main functional element of the claimed system (100) is a subsystem (170) for loading external data - xStream, which interacts (or is part of) 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 a Hadoop-based OP for further distribution to all stakeholders for use in business processes and in research for value extraction. Data sources (110) 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. The information coming from the data sources (110) is initially processed by the input data transport and validation subsystem (hereinafter TFS / Transport File System) (120). TFS (120) receives, checks and transmits data from data sources (110) into xStream (170) via a transport protocol. As a protocol for transferring information from TFS (120) to xStream (170), the Network File System (NFS) protocol can be used.
Данные поступают на вход TFS (120) в архивированном виде.The data arrives at the TFS input (120) in an archived form.
Подсистема xStream (170) в свою очередь состоит из подсистемы загрузки файлов (130), подсистемы обработки и архивирования данных (140), подсистемы доступа к данным (150) и технологического ядра (160).The xStream subsystem (170), in turn, consists of a file loading subsystem (130), a data processing and archiving subsystem (140), a data access subsystem (150), and a technological core (160).
Данные, поступившие на вход TFS (120), передаются в подсистему загрузки файлов (130), которая выполняет транспортировку архивов с данными с помощью модуль интеграции (131) c TFS (120) в первичный слой хранения данных - подсистему (140).The data received at the TFS input (120) is transferred to the file upload subsystem (130), which transports data archives using the TFS integration module (131) (120) to the primary data storage layer, the subsystem (140).
Для каждого из источников данных (110) предполагается два типа загрузки.For each of the data sources (110), two types of loading are assumed.
Первичная загрузка - является инициализирующей загрузкой, которая выполняется один раз и захватывает все архивы доступные в TFS (120), названия файлов которых удовлетворяют спецификациям на поставку данных от поставщиков.Initial download is an initialization download that runs once and grabs all archives available in TFS (120) whose filenames meet vendor specifications.
- 3 036384- 3 036384
Регулярная загрузка - выполняется инкрементально, при которой захватываются только архивы, которые не были загружены ранее.Regular download - performed incrementally, during which only archives that have not been downloaded earlier are captured.
Захват архивов происходит из каталогов ТФС. При доступе к TFS (120) осуществляется аутентификация с помощью технической учетной записи и приватного ключа. Копирование данных из TFS (120) в первичный слой хранения xStream (170) осуществляется с помощью инициирования модулем управления загрузкой (161) запросов данных из TFS (120). В TFS (120) указываются маршруты загрузки данных и управляющих сообщений между модулем (161) и TFS (120). Модуль (161) может инициировать загрузку одного или нескольких поток данных одновременно, при этом потоки будут обрабатываться параллельно.The capture of archives occurs from the TFS catalogs. When accessing TFS (120), authentication is performed using a technical account and a private key. Copying data from TFS (120) to the primary storage layer xStream (170) is done by the download control module (161) initiating requests for data from the TFS (120). TFS (120) specifies the download routes for data and control messages between the module (161) and the TFS (120). The module (161) can initiate the download of one or several data streams simultaneously, while the streams will be processed in parallel.
Каждый источник данных (110) регистрируется в модуле (161). Для каждого источника создается и хранится его идентификатор (ID). В процессе регистрации источника данных (110) выполняется следующий порядок действий;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;
присвоение номера источнику данных (110);assigning a number to the data source (110);
определение схем внутри источника (110) и присвоения им номера. Схема является необязательным элементом и применяется для логической группировки таблиц;defining schemas within the source (110) and assigning a number to them. Schema is optional and is used to logically group tables;
присвоение номера всем таблицам внутри источника (110) в пределах схемы (при условии ее использования).assigning a number to all tables within the source (110) within the schema (if used).
Источник (110), схемы, таблицы соответствуют в модуле (161) сущностям с уникальными идентификаторами. Идентификатор представляет собой целое число формата, представленного на фиг. 2.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.
Номер источника - это внутренний суррогатный идентификатор источника (110) в xStream (170), который генерируется на этапе подключения источника (110) к xStream (170).The source number is the internal surrogate source identifier (110) in xStream (170), which is generated at the stage of connecting the source (110) to xStream (170).
Область данных указывает на область хранения получаемой информации в xStream (170):The data area indicates the storage area of the received information in xStream (170):
- область публикуемых данных (143);- area of published data (143);
- область сырых данных (141);- raw data area (141);
- область промежуточных данных (142);- area of intermediate data (142);
- базовая сущность, идентифицирующая данные источника. Схема представляет собой идентификатор схемы в источнике или подсистемы. Генерируется на этапе подключения источника (110) к xStream (170). Номер таблицы представляет номер таблицы в схеме, также генерируется на этапе подключения источника (110) к xStream (170).- basic entity identifying source data. A schema is an identifier for a schema in a source or subsystem. Generated at the stage of connecting source (110) to xStream (170). The table number represents the number of the table in the schema, also generated at the stage of connecting the source (110) to xStream (170).
Подсистема обработки и архивирования данных (140) представляет собой хранилище данных, получаемых от внешних источников (110), и является логической областью в HDFS. Доступ к хранимым данным осуществляется через подсистему доступа (150) hCatalog, которая также предназначена для публикации метаинформации о данных. Подсистема обработки и архивирования данных (140) содержит области хранения данных, которые осуществляют структурированное хранение первичных (сырых) данных (141), промежуточных данных (142) и публикуемых данных (143). В область хранения первичных данных (141) передаются архивы информации, получаемые от TFS (120) из источников данных (110), зарегистрированных в модуле (161). Получаемые данные проверяются на целостность в TFS (120). В случае нарушения целостности архивов, получаемых от источников данных (110), такая информация не передается в подсистему xStream (170). При успешном копировании информации из TFS (120) в область первичных данных (141), xStream (170) уведомляет о проведении успешной операции.The data processing and archiving subsystem (140) is a storage of data received from external sources (110) and is a logical area in HDFS. The access to the stored data is carried out through the access subsystem (150) hCatalog, which is also designed to publish metadata about data. 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). Archives of information received from TFS (120) from data sources (110) registered in module (161) are transferred to the primary data storage area (141). The 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 transferred to the xStream subsystem (170). Upon successful copying of information from the TFS (120) to the primary data area (141), xStream (170) notifies of a successful operation.
При загрузке данных в область хранения промежуточных данных (142) первоначально выполняется разархивация архивов данных из области первичных данных (141). Передача файлов из подсистемы (130) в подсистему хранения (140) может осуществляться с помощью маски загрузки файлов, которая может формироваться на основании, например, имени (названия) загруженного архивного файла. В системе (100) сохраняется информация обо всех успешно загруженных архивах из источников данных (110).When loading data into the intermediate data storage area (142), the data archives are initially unzipped from the primary data area (141). The transfer of files from the subsystem (130) to the storage subsystem (140) can be carried out using a file download mask, which can be generated based on, for example, the name (title) of the downloaded archive file. System (100) stores information about all successfully loaded archives from data sources (110).
Модуль ETL (Extract, Transform, Load) (132) выполняет передачу данных в необходимые области (142)-(143) подсистемы хранения и архивации (140), а также осуществляет подготовку и преобразование разархивированных данных в формат parquet при их поступлении в подсистему (130). Parquet представляет собой бинарный, колоночно-ориентированный формат хранения данных (см., например, Производительность Apache Parquet. //https://habr.com/post/282552/).The ETL (Extract, Transform, Load) module (132) transfers data to the required areas (142) - (143) of the storage and archiving subsystem (140), and also prepares and converts unzipped data into parquet format when it enters the subsystem ( 130). Parquet is a binary, column-oriented data storage format (see, for example, Apache Parquet Performance. //Https://habr.com/post/282552/).
При преобразовании данные источников (110) приводятся к типам Hive-SQL. Пример приведения данных к типу Hive-AQL представлен в табл. 1. В случае если наименование файла, например формата *json, не соответствует маске, то данные архивов, содержащих такие файлы, не будут преобразованы в parquet. Данная методика обеспечивает устойчивый процесс обращения к данным через Hive с помощью обычных SQL-запросов, что приводит к повышению надежности доступа к информации.When converting, source data (110) is cast to Hive-SQL types. An example of casting data to the Hive-AQL type is presented in Table. 1. If the name of the file, for example * json format, does not match the mask, then 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 ordinary SQL queries, which leads to an increase in the reliability of access to information.
- 4 036384- 4 036384
Таблица 1. Матрица конвертации типов данныхTable 1. Data type conversion matrix
В область публикуемых данных (143) передаются подготовленные, преобразованные, унифицированные данные, которые приводятся к стандарту подсистемы xStream (170). При подготовке унифицированных данных имена таблиц и полей приведены к стандарту xStream, типы данных приведены к стандарту xStream, таблицы дополнены обязательными техническими полями, описывающими поставку данных - датами начала и конца периода актуальности поставки данных, номерами потоков, выполнивших загрузку и преобразование.In the area of published data (143), prepared, transformed, unified data are transferred, which are reduced to the standard of the xStream subsystem (170). When preparing unified data, the names of tables and fields are brought to the xStream standard, the data types are brought to the xStream standard, the tables are supplemented with mandatory technical fields describing the data delivery - the start and end dates of the data delivery actuality period, the numbers of the streams that performed the loading and transformation.
Выполнение вышеуказанных процедур по обработке данных в подсистеме (140) позволяет организовать и обновлять актуальный срез данных (например, исторический срез) для каждого источника (110) в первичном слое xStream (170), при этом также обеспечивается поддержание требуемой временной глубины архива данных. Загрузка данных в область публикации (143) осуществляется в несколько этапов. На первом этапе выполняется получение новых архивов. Для получения нового списка архивов сканируется область хранения сырых данных (141) по имени соответствующего источника (110) (например, для источника abc - каталог в области (141) /data/core/external/abc/src) по шаблону имени архивов. Из полученного списка исключаются архивы, которые уже были загруженные в область публикации (143) источника, которые были успешно обработаны подсистемой хранения и архивирования (140). Также, из полученного списка исключаются архивы, которые были обработаны с ошибкой. Архивы источника (110) из оставшегося списка переносятся в область сырых данных (141). Далее осуществляется распаковка полученных архивов. Для распаковки, выбираются только те архивы из области (141), наименование которых соответствует шаблону. Из полученного списка исключаются архивы источника (110), которые ранее были загружены в область публикации (143) данного источника. Из полученного списка исключаются архивы, которые были обработаны с ошибкой. Архивы из оставшегося списка распаковываются в область промежуточных данных (142) в соответствующий подкаталог, например, src/<loading_id>/unpack/<имя_архива>.The implementation of the above data processing procedures in the subsystem (140) allows you to organize and update the actual data slice (for example, the historical slice) for each source (110) in the primary xStream layer (170), while maintaining the required time depth of the data archive. Loading data into the publication area (143) is carried out in several stages. The first step is to get new archives. 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 abc source, the directory in area (141) / data / core / external / abc / src) using the archive name template. The resulting list excludes archives that have already been loaded into the publication area (143) of the source, which have been successfully processed by the storage and archiving subsystem (140). Also, archives that were processed with an error are excluded from the resulting list. Source archives (110) from the remaining list are transferred to the raw data area (141). Next, the resulting archives are unpacked. For unpacking, select only those archives from area (141), the name of which matches the template. The resulting list excludes the source archives (110) that were previously loaded into the publication area (143) of this source. Archives that were processed with an error are excluded from the resulting list. The 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>.
Каждый архив распаковывается в отдельный подкаталог в области промежуточных данных (142), соответствующий названию архива. В случае успешной распаковки архива его имя регистрируется в файле src/<loading_id>/unpack/.success, который представляет собой журнал успешной загрузки, при возникновении ошибки при распаковке архива, его имя зарегистрируется в файле src/<loading_id>/unpack/.fail, который является, соответственно, журналом неуспешной загрузки. Обработка других архивов при получении данных при этом не прерывается. После сохранения данных из архивов в области промежуточных данных (142) выполняется их преобразование в формат parquet. Переводу в формат parquet подлежат только те файлы данных из архивов, которые были зарегистрированы в подсис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 log of successful download, if an error occurs while unpacking the archive, its name will be registered in the src / <loading_id> /unpack/.fail file , which is, accordingly, the log of the failed download. The processing of other archives is not interrupted when receiving data. After saving the data from the archives in the intermediate data area (142), they are converted to parquet format. Only those data files from the archives that have been registered in the subsystem can be converted to the parquet format.
- 5 036384 теме (140) как успешно распакованные. При этом файлы из разных архивов обрабатываются отдельно. Каждый файл из архива соответствует только одной сущности, например таблице источника, в случае если данные были загружены из табличного вида (определяется по маске имени файла), файлы одного архива, соответствующие одной таблице, обрабатываются вместе. Таблицы дополняются служебными атрибутами (см. табл. 2), которые позволяют поддерживать актуальный снимок (слепок) и формировать историю изменения файлов, полученных от источника данных (110).- 5 036384 subject (140) as successfully unpacked. 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, if the data was loaded from a table view (determined by the file name mask), the 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 form the history of file changes received from the data source (110).
Таблица 2. Пример служебных атрибутовTable 2. An example of service attributes
Вышеуказанные атрибуты передаются как параметры задания и обеспечиваются функционалом модуля управления загрузкой (161). В результате обработки создается соответствующая структура каталогов. В случае успешного преобразования всех файлов из архивов в формат parquet имя архива регистрируется в журнале, что необходимо для управления процессом доступа к информации и обеспечения автоматического отката системы на более раннюю точку. При возникновении ошибки при обработке хотя бы одного файла архива последующая обработка архива прекращается и имя архива помечается как ошибочное.The above attributes are passed as job parameters and are provided by the functionality of the download control module (161). As a result of processing, the corresponding directory structure is created. If all files from archives are successfully converted 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, subsequent processing of the archive is terminated and the archive name is marked as erroneous.
Обработанные и унифицированные данные из области публикуемых данных (143) передаются в подсистему доступа к данным (150) для обеспечения получения данных для работы конечными пользователями.The processed and unified data from the published data area (143) is transferred to the data access subsystem (150) to ensure that end users receive data for work.
В подсистеме доступа к данным (150) формируется два раздела - актуальный срез данных (151), соIn the data access subsystem (150), two sections are formed - the actual data slice (151), with
- 6 036384 держащий отпечаток текущих данных, и раздел истории данных (152), содержащий информацию об изменениях данных.- 6 036384 containing a fingerprint of the current data, and a data history section (152) containing information about data changes.
Каждая сущность, содержащая данные источника (110), обрабатывается отдельно, при этом обрабатываются данные, соответствующие сущности, из всех архивов, которые были зарегистрированы как успешно обработанные. Предусмотрены два способа обработки данных - выбор способа зависит от наличия историчности в данных по упомянутой сущности.Each entity containing the source data (110) is processed separately, while processing the data corresponding to the entity from all archives that were registered as successfully processed. There are two methods of data processing - the choice of the method depends on the presence of historicity in the data for the mentioned entity.
В случае отсутствия выделения историчности (наличие новых данных) выполняется следующее. Для всех новых данных по таблице архива, хранящегося в области промежуточных данных (142), обеспечивается установка атрибута с текущим значением времени старта потока передачи данных. Данные сохраняются с партиционированием в области публикуемых данных (143) stg/<loadingId>/ра/snp/<имя_ таблицы>, в результате чего создается только одна партиция (раздел).In the absence of highlighting of historicity (availability of new data), the following is performed. For all new data in the archive table stored in the intermediate data area (142), the attribute is set with the current value of the start time of the data transfer stream. The data is saved with partitioning in the published data area (143) stg / <loadingId> / pa / snp / <table_name>, as a result of which only one partition (partition) is created.
В случае наличия выделения историчности (наличие новых данных) для всех новых данных по таблице из области промежуточных данных (142) устанавливается атрибут со временем старта потока загрузки данных модулем (161). Полученные данные объединяются с данными таблицы из области публикуемых данных (143) и из полученного объединения выделяются новые данные, которые помещаются в области (151) и (152).If there is a historicity allocation (the presence of new data) for all new data in the table from the intermediate data area (142), an attribute is set with the start time of the data loading stream by the module (161). The obtained data is combined with the table data from the published data area (143), and new data is extracted from the resulting union, which are placed in areas (151) and (152).
Данные для отображения в области (151) сохраняются с партиционированием по полю ctl_loading в каталоге промежуточных данных (142) stg/<loadшgШ>/ра/snp/<имя_таблицы> Ctl_loading - это поток (техническая сущность), который активируется модулем управления загрузкой (161). Под каждый источник (110) создается и регистрируется отдельный поток.Data to be displayed in area (151) is saved with partitioning by the ctl_loading field in the intermediate data directory (142) stg / <loadшgШ> / pa / snp / <table_name> 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).
Для данных в области (152) истории изменения данных обеспечивается заполнение полей ctl _pa_loading (из поля ctl_loading), ctl_loading (текущим значением <loadingId>) и ctl_validTo (временем старта потока загрузки данных). Данные для отображения в области (152) сохраняются с партиционированием по полю ctl_loading в каталоге промежуточных данных (142) stg/<loadingId>/pa/hist/<имя_таблицы>. В результате для области (152) создается только одна партиция (раздел) stg/<loadingId>/pa/hist/<uмя_таблuцы>/ctl_loading=<loadingId>For data in the area (152) of the data change history, the fields ctl _pa_loading (from the ctl_loading field), ctl_loading (with the current <loadingId> value) and ctl_validTo (the start time of the data download stream) are filled. The data for display in 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 (partition) is created for area (152) stg / <loadingId> / pa / hist / <table_name> / ctl_loading = <loadingId>
По окончании данного действия в каталог области хранения промежуточных данных (142) stg/<loadingId>/pa/ копируется файл stg/status/.fail. По окончанию операции область хранения промежуточных данных (142) очищается. Данные журнала операции, производимой в области (142), должны быть добавлены в общий журнал области публикуемых данных (143).At the end of this action, the stg / status / .fail file is copied to the directory of the intermediate data storage area (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 area (142) must be added to the general log of the published data area (143).
Далее выполняется объединение файлов из области (142) stg/status/.success и области (141) src/<loading_id>/parquet/.success в файл stg/<loadingId>/pa/.success. Этап считается успешным, если все данные при этом были успешно обработаны, иначе поток завершится с ошибкой.Next, the files from area (142) stg / status / .success and area (141) src / <loading_id> /parquet/.success are merged into the file stg / <loadingId> /pa/.success. The stage is considered successful if all data was successfully processed, otherwise the stream will end with an error.
В рамках реализации заявленного решения предусмотрены два способа публикации данных, полученные из источника (110), выбор способа зависит от наличия историчности изменений в данных в данном источнике (110).As part of the implementation of the claimed solution, two methods are provided for publishing data obtained from the source (110), the choice of the method depends on the presence of the historicity of changes in the data in this source (110).
Если для источника (110) отсутствуют сведения об изменениях, то каталог stg/<loadingId>/ра/snp/<имя_таблицы>/ctl_loading=<loadingId> из области хранения промежуточных данных (142) перемещается в каталог области публикуемых данных (143) ра/snp/<имя_таблицы> как новый раздел, который впоследствии регистрируется для отображения в hCatalog (150) в области (151).If there is no change information for the source (110), then the stg / <loadingId> / pa / snp / <table_name> / ctl_loading = <loadingId> directory from the intermediate data storage area (142) is moved to the published data area directory (143) pa / snp / <table_name> as a new section that is subsequently registered for display in hCatalog (150) in area (151).
В случае наличия выделения историчности (наличие новых данных) для источника данных (110) выполняется следующее. Каталог с данными для источника (110) ра/snp/<имя_таблицы> из области (143) перемещается в stg/<loadingId>/reserve/pa/snp области промежуточных данных (142). Каталог stg/<loadingId>/ра/snp/<имя_таблицы> из области промежуточных данных (142) перемещается в каталог области публикуемых данных (142) как ра/snp/<имя_таблицы> Новый раздел в области (143) ра/snp/<имя_таблицы>/ctl_loading=<loadingId> регистрируется в hCatalog (150) для предоставления доступа к информации. Каталог в области (142) stg/<loadingId>/ра/hist/<имя_таблицы>/ctl_loading=<loadingId>, созданный ранее, перемещается в каталог в области (143) pa/hist/<имя_таблицы> как новый раздел, который также регистрируется в подсистеме (150). По окончании данного процесса в каталог области промежуточных данных (142) stg/status/ копируются файлы stg/<loadingId>/pa/.success и stg/<loadingId>/pa/.fail, которые отображают статус выполнения операций загрузки данных. Данный этап считается успешным, если во время его исполнения не возникало исключений и ошибок загрузки данных. Подсистема обработки и архивирования данных (140) очищает/архивирует область публикуемых данных (143) по параметру идентификатора потока загрузки информации (ctlloading и ctl_pa_loading), который устанавливается модулем управления загрузкой (161). Глубина истории подлежащей очистке/архивированию задается параметром, например, 5 лет.If there is an allocation of historicity (availability of new data) for the data source (110), the following is performed. The data directory for source (110) pa / snp / <table_name> from area (143) is moved to stg / <loadingId> / reserve / pa / snp in intermediate data area (142). The stg / <loadingId> / pa / snp / <table_name> directory from the intermediate data area (142) is moved to the published data area directory (142) as pa / snp / <table_name> New section in area (143) pa / snp / < table_name> / ctl_loading = <loadingId> is registered in hCatalog (150) to provide access to information. The directory in area (142) stg / <loadingId> / pa / hist / <table_name> / ctl_loading = <loadingId> created earlier is moved to the directory in area (143) pa / hist / <table_name> as a new section, which is also is registered in subsystem (150). At the end of this process, 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) clears / archives the published data area (143) according to the parameter of the information download stream identifier (ctlloading and ctl_pa_loading), which is set by the download control module (161). The depth of the history to be cleared / archived is set by a parameter, for example, 5 years.
Для подключения нового источника данных (110) или изменения параметров существующего подсистема xStream (170) имеет конфигурационные файлы, а также профили, указываемые при запуске подсистемы XStream (170), содержащие набор параметров. Конфигурационные файлы предполагают настройку следующих параметров:To connect a new data source (110) or change the parameters of an existing subsystem xStream (170) has configuration files, as well as profiles specified when starting the XStream subsystem (170) containing a set of parameters. Configuration files assume setting the following parameters:
адрес папки источника;source folder address;
тип входных файлов;type of input files;
- 7 036384 имена архивов и файлов в архиве;- 7 036384 names of archives and files in the archive;
тип преобразований;type of transformations;
необходимость ведения истории;the need for history;
ролевая модель;role model;
скрипты создания базы данных и таблиц для источника и др.scripts for creating a database and tables for the source, etc.
Файлы от отправителя - источника данных (110) - как правило публикуются в общую папку отправителя в TFS (120), поэтому для этого необходимо осуществлять формирование уникального имени файла. Файлы поставляются упакованные в архивах. Допустимые типы расширения могут быть различными, например tar.gz, zip и т.п. Имя файла архива может формироваться, например, по следующей маске: <saller>_<source>_<table>_<inc>_<ver>_<date>_<time>_<nnn>.<extension>, где saller - конечный поставщик данных (или прокси-поставщик);Files from the sender - the data source (110) - are usually published to the sender's shared folder in TFS (120), so for this it is necessary to generate a unique file name. The files are delivered packed in archives. The valid extension types can be different, for example tar.gz, zip, etc. The archive file name can be formed, for example, using the following mask: <saller> _ <source> _ <table> _ <inc> _ <ver> _ <date> _ <time> _ <nnn>. <extension>, where saller - the ultimate data provider (or proxy provider);
source - источник данных (110);source - data source (110);
table - название типа данных или сущности. В случае если в поставке одним архивом приходит схема, состоящая из нескольких взаимосвязанных сущностей, которые необходимо поставлять одновременно, например таблиц, то в этой секции ставится - kit, а в самих файлах внутри архива уже указываются непосредственные имена сущностей;table is the name of the data type or entity. If the delivery in one archive comes with a schema consisting of several interconnected entities that must be supplied simultaneously, for example, tables, then - kit is put in this section, and the direct names of the entities are already indicated in the files inside the archive;
inc - содержит full, если архив относится к поставке/перепоставке полного архива данных, incr - если архив относится к поставке инкремента;inc - contains full if the archive refers to the delivery / re-delivery of the complete data archive, incr - if the archive refers to the delivery of the increment;
ver - версия поставки. В случае изменения состава данных или формата поставки необходимо инкрементировать версию вверх. Может состоять из литеры v и 3 цифр, начиная с v001, например v001, v002 и т.д.;ver - delivery version. If the data composition or delivery format changes, the version must be incremented upwards. May consist of the letter v and 3 digits starting with v001, for example v001, v002, etc .;
date - дата формирования файла в формате ГГГГММДД;date - the date of the file formation in YYYYMMDD format;
time - время формирования файла в формате ЧЧММСС;time - time of file formation in the format HCHMMSS;
nnn - номер по порядку, начинающийся с 001, если несколько файлов поставки в рамках совпадений остальных частей названия файла архива. Всегда состоит из 3 цифр, начиная с 001, например, 001, 002 и т.д. Если в поставке только 1 файл, то в этой секции указано - 001; extension - расширение архива. Пример имени архива: abc_def_org1_incr_v002_20171106_112400_001.tar.gz. He допускается наличие архива в архиве. Имя файла в архиве формируется также, как имя файла архива, за исключением расширения файла и секции <table> для набора.nnn is a sequential number starting from 001, if several delivery files are within the coincidence of the rest of the archive file name. Always 3 digits starting at 001, for example 001, 002, etc. If there is only 1 file in the delivery, then this section indicates - 001; extension - archive extension. Example archive name: abc_def_org1_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 name of the archive file, except for the file extension and the <table> section for the set.
Имя архива: abc_def_kit_incr_v002_20171106_112400_001.tar.gz, файлы в архиве: abc_def_kit1_incr_v002_20171106_112400_001.xml, abc_def_orgl_incr_v002_20171106112400_001.xml и т.д. Допустимые типы и расширения файлов, например, csv, tsv, txt, json, avro, xml и др. В имени передаваемого файла допускается использование не более 128 символов (включая расширение).Archive name: abc_def_kit_incr_v002_20171106_112400_001.tar.gz, files in the archive: abc_def_kit1_incr_v002_20171106_112400_001.xml, abc_def_orgl_incr_v002_20171106112400 etc. Allowed file types and extensions, for example, csv, tsv, txt, json, avro, xml, etc. A maximum of 128 characters (including the extension) are allowed in the name of the transferred file.
Модель данных внешнего источника (110) соответствует структуре поставляемых данных и определяется на этапе анализа и подготовки источника (110) к загрузке в xStream (170). Целевым средством для доступа к данным служит Apache Hive. Доступ пользователей к опубликованным данным, содержащимся в области (150) осуществляется на основании контроля уровня доступа каждого из пользователей. Для каждого пользователя при взаимодействии с xStream (170) проверяется разрешенный функционал по осуществлению операций с данными, в частности, такими операциями могут быть: просмотр, редактирование, получение аналитического среза, комбинированный просмотр и т.п. Пользователь с ролями Администратор и Аудитор имеют доступ к логам xStream (170) через централизованную систему управления логами, доступную в облачной платформе (180).The data model of the external source (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). Apache Hive serves as the target for data access. User access to the published data contained in area (150) is based on the control of the access level of each of the users. For each user, when interacting with xStream (170), the permitted functionality for performing operations with data is checked, in particular, such operations can be: viewing, editing, obtaining an analytical cut, combined viewing, etc. A user with the roles Administrator and Auditor have access to xStream logs (170) through a centralized log management system available in the cloud platform (180).
На фиг. 3 представлен общий вид вычислительного устройства (200), используя которое в составе кластера реализуется заявленный способ и система. В общем случае, вычислительное устройство (200) содержит объединенные общей шиной один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), средства ввода/вывода (205), и средство для сетевого взаимодействия (206).FIG. 3 shows a general view of a computing device (200), using which the claimed method and system is implemented in the cluster. In the general case, the computing device (200) contains one or more processors (201) united by a common bus, memory means such as RAM (202) and ROM (203), input / output interfaces (204), input / output means (205 ), and a means for networking (206).
Процессор (201) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п.The processor (201) (or multiple processors, multi-core processor) can be selected from a wide range of devices currently in widespread use, such as Intel ™, AMD ™, Apple ™, Samsung Exynos ™, MediaTEK ™, Qualcomm Snapdragon ™, etc. ...
ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций, для выполнения необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).RAM (202) is a random access memory and is intended for storing machine-readable instructions executed by the processor (201) for performing the necessary operations for logical data processing. RAM (202), as a rule, contains executable instructions of the operating system and corresponding software components (applications, software modules, etc.).
ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.ROM (203) is one or more persistent storage devices such as a hard disk drive (HDD), solid state data storage device (SSD), flash memory (EEPROM, NAND, etc.), optical storage media (CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.
Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, cOm, SATA, IDE, Lightning, USB (2.0, 3.0,Various types of I / O interfaces (204) are used to organize the operation of device components (200) and to organize the operation of external connected devices. The choice of the appropriate interfaces depends on the specific design of the computing device, which can be, but are not limited to: PCI, AGP, PS / 2, IrDa, FireWire, LPT, com, SATA, IDE, Lightning, USB (2.0, 3.0,
- 8 036384- 8 036384
3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п. Для обеспечения взаимодействия пользователя с вычислительным устройством (200) применяются различные средства (205) В/В информации, например клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.3.1, micro, mini, type C), TRS / Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc. To ensure user interaction with the computing device (200), various means (205) of I / O information are used, for example, a keyboard, display (monitor), touch display, touch pad, joystick, mouse manipulator, light pen, 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.
Средство сетевого взаимодействия (206) обеспечивает передачу данных устройством (200) посредством внутренней или внешней вычислительной сети, например Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.The means of networking (206) allows the device (200) to transmit data via an internal or external computer network, for example, Intranet, Internet, LAN, etc. One or more means (206) 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, and dr.
Дополнительно могут применяться также средства спутниковой навигации, например GPS, ГЛОНАСС, BeiDou, Galileo.Additionally, satellite navigation aids can also be used, for example GPS, GLONASS, BeiDou, Galileo.
На фиг. 4 представлен пример сетевого окружения при осуществлении работы заявленной системы (100). Организация работы с данными при использовании FIDFS заключается в формировании соответствующих уровней абстракции в кластерных или виртуальных средах. Каждый стек системы включает множество вычислительных устройств, например компьютеров и/или серверов, которые обмениваются данными с облачной платформой (180), содержащей xStream (170), посредством коммутаторов. Такая архитектура позволяет оперативно наращивать необходимые вычислительные мощности при значительном росте объема хранимых и обрабатываемых данных. Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.FIG. 4 shows an example of a network environment in the implementation of the operation of the claimed system (100). The organization of work with data when using FIDFS consists in the formation of appropriate levels of abstraction in clustered or virtual environments. Each system stack includes a plurality of computing devices, such as computers and / or servers, that communicate with a cloud platform (180) containing an xStream (170) through switches. This architecture allows you to quickly increase the required computing power with a significant increase in the amount of stored and processed data. 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, which do not go beyond the scope of the claimed legal protection, which are obvious to specialists in the relevant field of technology.
Claims (28)
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 (2)
Publication Number | Publication Date |
---|---|
EA201892256A1 EA201892256A1 (en) | 2020-05-29 |
EA036384B1 true EA036384B1 (en) | 2020-11-03 |
Family
ID=67037918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EA201892256A EA036384B1 (en) | 2018-10-26 | 2018-11-02 | Method and system for integrated management of big data |
Country Status (3)
Country | Link |
---|---|
EA (1) | EA036384B1 (en) |
RU (1) | RU2690777C1 (en) |
WO (1) | WO2020085938A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008421B1 (en) | 2023-03-07 | 2024-06-11 | Ricoh Company, Ltd. | Print data conversion mechanism |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226535A1 (en) * | 2005-12-19 | 2007-09-27 | Parag Gokhale | Systems and methods of unified reconstruction in storage systems |
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 |
RU141446U1 (en) * | 2013-08-22 | 2014-06-10 | Санкт-Петербург, от имени которго выступает Комитет по информации и связи | INFORMATION AND SEARCH DEVICE FOR SUBMISSION OF DATA ON OBJECTS |
US20160210064A1 (en) * | 2015-01-21 | 2016-07-21 | Commvault Systems, Inc. | Database protection using block-level mapping |
Family Cites Families (3)
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 |
DE112007002682T5 (en) * | 2006-11-06 | 2009-10-15 | Dell Marketing USA L.P., Round Rock | 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 |
-
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226535A1 (en) * | 2005-12-19 | 2007-09-27 | Parag Gokhale | Systems and methods of unified reconstruction in storage systems |
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 |
US20130238572A1 (en) * | 2009-06-30 | 2013-09-12 | Commvault Systems, Inc. | Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer |
RU141446U1 (en) * | 2013-08-22 | 2014-06-10 | Санкт-Петербург, от имени которго выступает Комитет по информации и связи | INFORMATION AND SEARCH DEVICE FOR SUBMISSION OF DATA ON OBJECTS |
US20160210064A1 (en) * | 2015-01-21 | 2016-07-21 | Commvault Systems, Inc. | Database protection using block-level mapping |
Also Published As
Publication number | Publication date |
---|---|
RU2690777C1 (en) | 2019-06-05 |
WO2020085938A1 (en) | 2020-04-30 |
EA201892256A1 (en) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816126B2 (en) | Large scale unstructured database systems | |
US11604804B2 (en) | Data replication system | |
CN107122355B (en) | Data migration system and method | |
US9600500B1 (en) | Single phase transaction commits for distributed database transactions | |
US10853242B2 (en) | Deduplication and garbage collection across logical databases | |
US8832020B2 (en) | Method and system for safely transporting legacy data to an object semantic form data grid | |
WO2019133228A1 (en) | Allocation and reassignment of unique identifiers for synchronization of content items | |
US20210279248A1 (en) | Live data conversion and migration for distributed data object systems | |
US20160259811A1 (en) | Method and system for metadata synchronization | |
US11403269B2 (en) | Versioning validation for data transfer between heterogeneous data stores | |
US10877810B2 (en) | Object storage system with metadata operation priority processing | |
CN114756577A (en) | Processing method of multi-source heterogeneous data, computer equipment and storage medium | |
EP4189914B1 (en) | Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems | |
Qiao et al. | Gobblin: Unifying data ingestion for Hadoop | |
US11748495B2 (en) | Systems and methods for data usage monitoring in multi-tenancy enabled HADOOP clusters | |
US11567957B2 (en) | Incremental addition of data to partitions in database tables | |
US20220382637A1 (en) | Snapshotting hardware security modules and disk metadata stores | |
US10346420B2 (en) | Database integration system | |
RU2690777C1 (en) | Method and system for complex control of big data | |
CN116501700B (en) | APP formatted file offline storage method, device, equipment and storage medium | |
US11755613B2 (en) | Streamlined data engineering | |
WO2021004042A1 (en) | Drug development software repository and software package management system thereof | |
TWI571754B (en) | Method for performing file synchronization control, and associated apparatus | |
Boytsov et al. | The problem of creating multi-tenant database clusters | |
EP3252618B1 (en) | Database integration system |