RU2389066C2 - Multidimensional database and method of managing multidimensional database - Google Patents

Multidimensional database and method of managing multidimensional database Download PDF

Info

Publication number
RU2389066C2
RU2389066C2 RU2008120913/09A RU2008120913A RU2389066C2 RU 2389066 C2 RU2389066 C2 RU 2389066C2 RU 2008120913/09 A RU2008120913/09 A RU 2008120913/09A RU 2008120913 A RU2008120913 A RU 2008120913A RU 2389066 C2 RU2389066 C2 RU 2389066C2
Authority
RU
Russia
Prior art keywords
vector
coordinate
identifiers
identifier
vectors
Prior art date
Application number
RU2008120913/09A
Other languages
Russian (ru)
Other versions
RU2008120913A (en
Inventor
Андрей Евгеньевич Васильев (RU)
Андрей Евгеньевич Васильев
Original Assignee
Андрей Евгеньевич Васильев
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Андрей Евгеньевич Васильев filed Critical Андрей Евгеньевич Васильев
Priority to RU2008120913/09A priority Critical patent/RU2389066C2/en
Publication of RU2008120913A publication Critical patent/RU2008120913A/en
Application granted granted Critical
Publication of RU2389066C2 publication Critical patent/RU2389066C2/en

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to ordered information arrays logically organised into databases stored in physical carriers, e.g. magnetic discs, and to methods of managing databases realised in form of software tools which process information using computers. The method of managing databases involves the following operations. Information is identifying by comparing actual data coordinate values with unified (sorted into types according to recording format) values recorded in the database. The obtained set of standard coordinate values defines the set of cells of address pointers and recording blocks for the identified data. Recording, reading, alteration, deleting and compression of information is carried out through multidimensional space cell referencing and subsequent switching to the data block according to the address pointer. In case of index structure application, multidimensional space cell referencing is carried out by bypassing the binary index tree.
EFFECT: reduced database exchange and time for accessing the database.
16 cl, 4 dwg

Description

ОБЛАСТЬ ЗНАНИЙFIELD OF KNOWLEDGE

Изобретение относится к упорядоченным массивам информации, логически организованным в базы данных, хранимых на физических носителях, например магнитных дисках, и к способам управления базами данных, реализуемым в виде программных средств, обрабатывающих информацию с помощью компьютеров.The invention relates to ordered arrays of information logically organized into databases stored on physical media, such as magnetic disks, and to database management methods implemented in the form of software tools that process information using computers.

База данных (далее - БД) характеризуется своей логической моделью данных и состоит из отдельных записей - данных, содержащих отличительные характеристики. Группы данных объединены в подмножества.The database (hereinafter referred to as the DB) is characterized by its logical data model and consists of separate records - data containing distinctive characteristics. Data groups are grouped into subsets.

В состав информации БД входят собственно данные и метаданные, идентифицирующие данные в соответствии с систематикой предметной области. Информацию в БД также делят на структурированную - с записями однотипных данных в едином формате, и неструктурированную - с записями данных несовпадающих типов в различных форматах.The database information includes the actual data and metadata identifying the data in accordance with the systematics of the subject area. Information in the database is also divided into structured - with records of the same type of data in a single format, and unstructured - with records of data of mismatched types in various formats.

Способ управления БД основан на выполнении операций идентификации, записи, чтения, изменения и удаления информации из БД, сжатия информации в БД, контроля внутренней непротиворечивости информации в БД при совместной работе двух и более пользователей, восстановления внутренней непротиворечивости информации после аварийного завершения работы БД.The database management method is based on the operations of identification, writing, reading, changing and deleting information from the database, compressing information in the database, controlling the internal consistency of information in the database during the joint work of two or more users, restoring the internal consistency of information after the emergency operation of the database.

Известно несколько логических моделей данных БД, отличающихся своей внутренней структурой и способами управления:There are several logical models of database data that differ in their internal structure and control methods:

- иерархическая (Hierarchical DB), основная особенность этой модели состоит в иерархической группировке отдельных данных внутри БД, такой, что каждое данное нижележащего уровня связано только с одним данным вышележащего уровня иерархии. Такая модель накладывает существенные ограничения на скорость чтения или записи данных в случае использования логики доступа, отличной от заданной иерархической структурой. Пример иерархической модели - IMS (компания IBM);- hierarchical (Hierarchical DB), the main feature of this model is the hierarchical grouping of individual data within the database, such that each data of the lower level is associated with only one data of the higher level of the hierarchy. Such a model imposes significant restrictions on the speed of reading or writing data in the case of using access logic other than a given hierarchical structure. An example of a hierarchical model is IMS (IBM);

- сетевая (Network DB), является развитием иерархической модели. Каждое данное в БД может быть связано с одним или несколькими данными более высокого уровня. В сетевой модели отсутствуют ограничения на скорость чтения или записи данных при изменении логики доступа, при этом операции изменения или удаления данных требуют длительного времени на реорганизацию многочисленных связей данных. Пример сетевой модели - Adabas (компания SAP);- Network (Network DB), is the development of a hierarchical model. Each data in the database can be associated with one or more data of a higher level. In the network model, there are no restrictions on the speed of reading or writing data when changing the access logic, while the operations of changing or deleting data require a long time to reorganize numerous data links. An example of a network model is Adabas (SAP);

- реляционная (Relation DB), состоящая из множества двухмерных массивов - реляционных таблиц, содержащих однородные характеристики данных, объединенные в подмножества и связанные между собой логическими отношениями. Разнесение характеристик по реляционным таблицам обеспечивает независимость внешнего представления данных от организации внутренней структуры БД. При этом существенно увеличивается время чтения, записи, изменения или удаления данных из-за необходимости проведения массовых операций разделения/восстановления данных на/из отдельных характеристик. Пример реляционной модели - Oracle (компания Oracle);- Relational (Relation DB), consisting of many two-dimensional arrays - relational tables containing homogeneous data characteristics, combined into subsets and interconnected by logical relationships. Spacing the characteristics of relational tables ensures the independence of the external representation of data from the organization of the internal structure of the database. At the same time, the time for reading, writing, changing or deleting data is significantly increased due to the need for bulk operations to separate / restore data to / from individual characteristics. An example of a relational model is Oracle (Oracle);

- многомерная (Multidimensional DB), логически представляемая в виде многомерного пространства, определенного осями координат - измерениями (типами данных), гиперкубами - областями многомерного пространства (подмножествами данных) и векторами - ячейками многомерного пространства (данными). Организация доступа к информации в виде прямой адресации к ячейкам многомерного пространства обеспечивает высокую скорость выполнения всех видов операций с данными. Однако с увеличением количества измерений и их координат объем БД возрастает многократно (экспоненциально), при этом большинство ячеек многомерного пространства остаются незаполненными значимыми данными, скорость доступа к БД резко снижается. Пример многомерной модели - Analysis Services (компания Microsoft).- multidimensional (Multidimensional DB), logically represented as a multidimensional space defined by coordinate axes - dimensions (data types), hypercubes - areas of multidimensional space (subsets of data) and vectors - cells of multidimensional space (data). Organization of access to information in the form of direct addressing to cells of multidimensional space provides high speed of all types of data operations. However, with an increase in the number of measurements and their coordinates, the volume of the database increases many times (exponentially), while most of the cells in the multidimensional space remain blank with meaningful data, and the speed of access to the database decreases sharply. An example of a multidimensional model is Analysis Services (Microsoft).

УРОВЕНЬ ТЕХНИКИ И ПРОТОТИПBACKGROUND AND PROTOTYPE

Предмет изобретения относится к многомерным БД и способам управления ими. В качестве прототипа выбрано изобретение, описаное в патенте США №5359724 от 25 октября 1994 г.The subject of the invention relates to multidimensional databases and methods for managing them. As a prototype of the selected invention, described in US patent No. 5359724 from October 25, 1994

Отличие логической модели данных прототипа от других многомерных БД основано на использовании в модели прототипа двух структурных уровней, предназначенных для хранения соответственно данных и координат многомерного пространства.The difference between the logical data model of the prototype and other multidimensional databases is based on the use of two structural levels in the prototype model, designed to store data and coordinates of multidimensional space, respectively.

На нижнем структурном уровне содержится полный набор всех возможных комбинаций координат, представляющих собой ячейки многомерного пространства. В ячейках располагают адресные указатели на блоки данных, расположенные на верхнем структурном уровне. Каждый блок данных определен для ограниченного набора координат с целью агрегирования в блоках преимущественно значимых данных.At the lower structural level contains a complete set of all possible combinations of coordinates, which are cells of multidimensional space. The cells have address pointers to data blocks located at the upper structural level. Each data block is defined for a limited set of coordinates in order to aggregate predominantly significant data in blocks.

Количество ячеек многомерного пространства значительно превышает количество блоков данных. Ячейки, в которых располагают адресные указатели, могут индексироваться и объединяться в структуру типа бинарного дерева.The number of cells in multidimensional space significantly exceeds the number of data blocks. The cells in which the address pointers are located can be indexed and combined into a binary tree type structure.

Структурированную и неструктурированную информацию хранят в БД в отдельных файлах, связанных между собой логическими ссылками.The structured and unstructured information is stored in the database in separate files interconnected by logical links.

Способ управления БД включает в себя выполнение следующих операций.The database control method includes the following operations.

Идентификация информации производится путем сопоставления фактических значений координат данных с их унифицированными (типизированными по формату записи) значениями, предварительно записанными в базу данных. Полученный набор эталонных значений координат определяет выбор ячеек расположения адресных указателей и блоки записи идентифицированных данных.Information is identified by comparing the actual values of the data coordinates with their unified (typed by recording format) values previously recorded in the database. The resulting set of reference coordinates determines the choice of location cells for address pointers and recording blocks of identified data.

Запись, чтение, изменение, удаление и сжатие информации осуществляют путем обращения к ячейке многомерного пространства и последующего перехода к блоку данных по адресному указателю. В случае применения индексной структуры обращение к ячейке многомерного пространства осуществляют путем обхода бинарного дерева индекса.Writing, reading, changing, deleting and compressing information is carried out by accessing a multidimensional space cell and then navigating to the data block at the address pointer. In the case of applying the index structure, access to the cell of multidimensional space is carried out by traversing the binary index tree.

Запись информации производят в существующий блок данных или, в случае его отсутствия, в новый блок после его формирования совместно с адресным указателем, индексом ячейки многомерного пространства и ветвью бинарного дерева.Information is recorded in the existing data block or, in its absence, in a new block after its formation together with the address pointer, multidimensional space cell index and the binary tree branch.

Чтение информации производят после нахождения искомого блока и перебора значений данных в блоке.Reading information is carried out after finding the desired block and enumerating the data values in the block.

Изменение или удаление информации выполняют с помощью соответствующей корректировки данных в блоке, реорганизации структуры блоков и балансировки ветвей бинарного дерева в случае индексации ячеек многомерного пространства.Changing or deleting information is performed using the appropriate adjustment of the data in the block, the reorganization of the structure of the blocks and balancing the branches of the binary tree in the case of indexing the cells of multidimensional space.

Сжатие информации в БД производят путем удаления блоков данных, для которых отсутствуют адресные указатели в ячейках многомерного пространства.Information is compressed in the database by removing data blocks for which there are no address pointers in the cells of multidimensional space.

Контроль внутренней непротиворечивости информации в БД при совместной работе двух и более пользователей осуществляют поочередной блокировкой их доступа к используемым данным.Monitoring the internal consistency of information in the database during the joint work of two or more users is carried out by sequentially blocking their access to the data used.

Восстановление внутренней непротиворечивости информации после аварийного завершения работы БД производят методом опережающей записи данных в дополнительный файл - журнал транзакций. Журнал транзакций имеет ограниченный объем и требует постоянного обновления путем замещения старых данных новыми. При запуске БД производят сопоставление последних по времени данных, записанных в файлах БД и журнала транзакций. В случае отсутствия в файле БД данных, сохраненных в файле журнала транзакций, их переносят в первый файл. В противном случае последние по времени записи данные исключают из файла БД.The restoration of internal information consistency after an emergency shutdown of a database is performed by the method of forward writing of data to an additional file - a transaction log. The transaction log is limited and requires constant updating by replacing old data with new data. When the database is launched, the latest time data recorded in the database files and the transaction log are compared. If there is no data stored in the transaction log file in the database file, they are transferred to the first file. Otherwise, the most recently recorded data is excluded from the database file.

Прототип изобретения позволяет сократить объем БД за счет организации хранения на втором структурном уровне преимущественно значимых данных. Однако наличие на первом структурном уровне полного набора ячеек многомерного пространства приводит к увеличению объема БД и времени доступа к ней.The prototype of the invention allows to reduce the volume of the database due to the organization of storage at the second structural level of predominantly significant data. However, the presence at the first structural level of a complete set of cells of multidimensional space leads to an increase in the volume of the database and access time to it.

Техническим результатом настоящего изобретения является уменьшение объема БД и времени доступа к ней.The technical result of the present invention is to reduce the volume of the database and access time to it.

КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Технический результат достигают формированием базы данных (БД), логическая модель которой включает:The technical result is achieved by forming a database (DB), the logical model of which includes:

- измерения, каждое из которых определяет тип данных и представлено унифицированными значениями координат и кодами их идентификаторов;- measurements, each of which determines the type of data and is represented by standardized coordinate values and codes of their identifiers;

- гиперкубы, каждый из которых определяет подмножество данных и представлен идентификаторами координат, связанными адресными указателями с идентификаторами векторов данных с совпадающими кодами, записанными в файл последними;- hypercubes, each of which defines a subset of data and is represented by coordinate identifiers associated with address pointers with identifiers of data vectors with matching codes written to the file last;

- векторы данных, каждый из которых представлен идентификаторами координат, связанными адресными указателями с идентификаторами векторов данных с совпадающими кодами, ранее записанными в файл, при этом идентификаторы координат векторов данных, записанные в файл первыми, связаны адресными указателями с идентификаторами координат гиперкуба с совпадающими кодами.- data vectors, each of which is represented by coordinate identifiers associated with address pointers with data vector identifiers with matching codes previously written to the file, while the coordinates of the data vector coordinates written to the file first are connected by address pointers with hypercube coordinate identifiers with matching codes.

Идентификатор координаты состоит из следующего набора элементов:The coordinate identifier consists of the following set of elements:

- имя идентификатора, состоящее из величины его смещения относительно начала файла и порядкового номера записи в файл вектора данного;- the name of the identifier, consisting of the magnitude of its offset relative to the beginning of the file and the serial number of the entries in the vector file;

- код идентификатора, состоящий из цифрового кода измерения и цифрового кода унифицированного значения координаты в этом измерении;- an identifier code consisting of a digital measurement code and a digital code of a uniform coordinate value in this measurement;

- комплект адресных указателей.- a set of address pointers.

В комплект адресных указателей входят четыре типа указателей.Address pointers come with four types of pointers.

Адресный указатель первого типа состоит из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты с совпадающим кодом и порядкового номера данного идентификатора координаты в циклическом списке, образованном адресными указателями идентификаторов координат векторов данных и гиперкуба.The address pointer of the first type consists of the offset value relative to the beginning of the file of the same type address pointer of the previous coordinate identifier with the same code and the serial number of this coordinate identifier in a cyclic list formed by address pointers of identifiers of coordinates of data vectors and a hypercube.

Адресный указатель второго типа состоит из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты и порядкового номера идентификатора координаты в циклическом списке, образованном адресными указателями идентификаторов координат, входящих в состав одного вектора данного, при этом первый по порядку записи идентификатор координаты связан с последним по порядку записи идентификатором координаты.The address pointer of the second type consists of the offset from the beginning of the file of the same type pointer of the previous coordinate identifier and the sequence number of the coordinate identifier in the cyclic list formed by the address pointers of the coordinate identifiers that are part of one vector of this data, while the first coordinate order in the record is associated with the last in the order of writing by the identifier of the coordinate.

Адресный указатель третьего типа состоит из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты, находящегося на более высоком уровне иерархии, и порядкового номера уровня иерархии данного идентификатора координаты, при этом адресные указатели идентификаторов координат, входящие в состав одной и той же иерархической группы вектора данного, образуют конечный список.The address pointer of the third type consists of the offset value relative to the beginning of the file of the same type address pointer of the previous coordinate identifier at a higher hierarchy level and the sequence number of the hierarchy level of this coordinate identifier, while the address identifiers of coordinate identifiers that are part of the same hierarchical group vectors of a given form a finite list.

Адресный указатель четвертого типа состоит из величины смещения относительно начала файла однотипного адресного указателя идентификатора координаты, входящего в одну вариантную группу, или, в случае завершения одной вариантной группы, входящей в состав другой вариантной группы, и порядкового номера вариантной группы, при этом адресные указатели идентификаторов координат, входящие в состав одного вектора данного, образуют конечный список.The address pointer of the fourth type consists of the offset value relative to the beginning of the file of the same type address pointer identifier of the coordinate included in one variant group, or, in the case of the completion of one variant group, which is part of another variant group, and the sequence number of the variant group, with address identifiers of identifiers coordinates that are part of one vector of this, form a finite list.

Гиперкуб состоит из идентификаторов координат, каждый из которых представлен в виде вектора дескриптора. Адресный указатель первого типа вектора дескриптора содержит величину смещения относительно начала файла и порядковый номер адресного указателя первого типа идентификатора координаты вектора данного с совпадающим кодом идентификатора, записанного в файл последним.A hypercube consists of coordinate identifiers, each of which is represented as a descriptor vector. The address pointer of the first type of the descriptor vector contains the offset value relative to the beginning of the file and the serial number of the address pointer of the first type of identifier of the coordinate of the vector given with the matching identifier code recorded in the file last.

Для упорядоченности информации, например, в хронологическом порядке, векторы дескрипторов в составе гиперкуба могут быть логически объединены в два и более сегмента.To order information, for example, in chronological order, the descriptor vectors in the hypercube can be logically combined into two or more segments.

В состав каждого сегмента гиперкуба включают корневой вектор, состоящий из одного идентификатора координаты с системным кодом.The composition of each segment of the hypercube includes a root vector consisting of one identifier of the coordinate with the system code.

Корневой вектор и векторы дескрипторов, входящие в состав одного сегмента гиперкуба, связывают в индексную структуру типа бинарного дерева адресными указателями идентификаторов координат второго и третьего типов.The root vector and descriptor vectors that are part of one hypercube segment are connected into the index structure of a binary tree type by address pointers of coordinate identifiers of the second and third types.

Корневые векторы и векторы дескрипторов с совпадающими кодами идентификаторов координат, входящие в разные сегменты одного гиперкуба, связывают в циклические списки адресными указателями идентификаторов координат четвертого типа.Root vectors and descriptor vectors with matching coordinate identifier codes included in different segments of the same hypercube are connected into circular lists by address pointers of coordinates identifiers of the fourth type.

Корневые векторы всех гиперкубов БД связаны в циклический список адресными указателями идентификаторов координат первого типа, порядковые номера которых принимают значение номеров гиперкубов в порядке записи их в файл.The root vectors of all database hypercubes are connected in a circular list by address pointers of identifiers of coordinates of the first type, the sequence numbers of which take the value of the numbers of hypercubes in the order they are written to the file.

Для обеспечения доступа одновременно нескольких пользователей к файлу БД, записанному, например, на магнитном носителе, в оперативной памяти компьютера размещают постоянный информационный массив - буфер.To provide access for several users at the same time to the database file recorded, for example, on magnetic media, a permanent information array is placed in the computer’s RAM - a buffer.

В состав буфера входят следующие элементы:The buffer contains the following elements:

- таблицы значений векторов дескрипторов с наибольшими по величине порядковыми номерами адресных указателей координат четвертого типа;- tables of values of descriptor vectors with the largest sequence numbers of address pointers of coordinates of the fourth type;

- список таблиц значений векторов дескрипторов;- a list of tables of descriptor vector values;

- инвертированные списки координат векторов данных;- inverted lists of coordinates of data vectors;

- векторы данных, участвующих в операциях чтения и записи информации.- data vectors involved in reading and writing information.

Список таблиц значений векторов дескрипторов содержит адреса расположения таблиц в буфере. Список таблиц формируют в порядке записи таблиц в файл.The list of descriptor vector value tables contains the addresses of the location of the tables in the buffer. The list of tables is formed in the order in which the tables are written to the file.

Каждая таблица значений векторов дескрипторов соответствует одному из измерений логической модели данных БД.Each table of descriptor vector values corresponds to one of the dimensions of the logical data model of the database.

Строки содержат наборы полей, каждый из которых соответствует одному из гиперкубов, образованному измерениями, соответствующими таблицам.Rows contain sets of fields, each of which corresponds to one of the hypercubes formed by measurements corresponding to tables.

В состав одного набора входят по крайней мере следующие поля:One set contains at least the following fields:

- поле величины смещения имени идентификатора вектора дескриптора относительно начала файла,- field of the magnitude of the offset name of the identifier of the vector of the descriptor relative to the beginning of the file

- поле порядкового номера адресного указателя четвертого типа идентификатора координаты вектора дескриптора,- field of the serial number of the address pointer of the fourth type of identifier of the coordinate of the descriptor vector,

- поле величины смещения относительно начала файла адресного указателя первого типа идентификатора координаты вектора данного с совпадающим кодом, записанного в файл последним, и- the field of the magnitude of the offset relative to the beginning of the file of the address pointer of the first type identifier of the coordinate of the vector of the data with the matching code recorded in the file last, and

- поле порядкового номера адресного указателя первого типа идентификатора координаты этого вектора данного.- the field of the serial number of the address pointer of the first type of identifier of the coordinate of this vector given.

Кроме указанных наборов полей, строки таблиц дополнительно могут содержать поля унифицированных значений координат, поля индексов унифицированных значений координат и поля адресов инвертированных списков координат векторов данных в составе буфера.In addition to these sets of fields, the rows of the tables may additionally contain fields of unified coordinate values, fields of indexes of unified coordinate values, and address fields of inverted coordinate lists of data vectors in the buffer.

Для хранения в общем файле структурированной (векторы данных, векторы дескрипторов, корневые векторы) и неструктурированной информации (значения координат, текстовые комментарии, графические изображения, аудио-, видео- и прочие записи) векторы данных при некоторых условиях могут содержать в себе фрагменты неструктурированной информации.For storing structured (data vectors, descriptor vectors, root vectors) and unstructured information (coordinate values, text comments, graphic images, audio, video, and other records) in a common file, data vectors under certain conditions may contain fragments of unstructured information .

Технический результат в части способа ускорения доступа к данным и управления БД достигают следующими особенностями выполнения операций:The technical result in terms of a method of accelerating data access and database management achieve the following features of operations:

- идентификацию информации выполняют посредством цифрового кодирования унифицированных значений координат в составе измерений и замены фактических значений координат на цифровые коды в составе векторов данных;- information identification is performed by digitally encoding standardized coordinate values as part of measurements and replacing actual coordinate values by digital codes as part of data vectors;

- запись, чтение, изменение, удаление и сжатие информации обеспечивают посредством формирования логических сечений многомерного пространства, представленных циклическими списками идентификаторов координат векторов данных и гиперкубов с совпадающими кодами идентификаторов;- writing, reading, changing, deleting and compressing information is ensured through the formation of logical sections of multidimensional space, represented by cyclic lists of identifiers of coordinates of data vectors and hypercubes with matching identifier codes;

- контроль внутренней непротиворечивости информации при совместной работе двух и более пользователей обеспечивают посредством последовательной нумерации векторов данных в порядке записи их в файл;- control of the internal consistency of information during the joint work of two or more users is ensured by sequential numbering of data vectors in the order they are written to a file;

- восстановление внутренней непротиворечивости информации после аварийного завершения работы многомерной базы данных обеспечивают посредством опережающей записи идентификаторов координат в состав векторов дескрипторов относительно момента их записи в состав векторов данных.- restoration of the internal consistency of information after the emergency shutdown of a multidimensional database is provided by means of the forward record of coordinate identifiers in the composition of descriptor vectors relative to the moment of their recording in the composition of data vectors.

Идентификация информации в БД основана на сравнении фактических значений координат данного, поступившего из внешнего источника информации, с унифицированными значениями координат в составе измерений, ранее сохраненными в БД.Identification of information in the database is based on a comparison of the actual coordinate values of a given data received from an external source of information with standardized coordinate values as part of measurements previously stored in the database.

В случае несовпадения фактических и унифицированных значений координат, фактические значения включают в состав измерений в качестве новых унифицированных значений с присвоением им цифровых кодов идентификаторов.In case of discrepancy between the actual and unified coordinate values, the actual values are included in the measurements as new unified values with the assignment of digital identifier codes to them.

Идентификацию данного завершают заменой значений координат на цифровые коды их идентификаторов.This identification is completed by replacing the coordinate values with the digital codes of their identifiers.

Запись информации в БД осуществляют отдельными векторами данных после формирования связанного списка идентификаторов координат, включения фрагментов неструктурированной информации, записи в файл новых векторов дескрипторов или изменения значений векторов дескрипторов, ранее записанных в файл.Information is recorded in the database by separate data vectors after forming a linked list of coordinate identifiers, including fragments of unstructured information, writing new descriptor vectors to the file, or changing the values of descriptor vectors previously written to the file.

Чтение информации из БД осуществляется на основании ключа поиска, составленного пользователем из одного или нескольких идентификаторов координат с использованием пяти шаговой процедуры.Reading information from the database is carried out on the basis of a search key compiled by the user from one or more identifiers of coordinates using five step procedures.

Изменение информации в БД осуществляют на логическом уровне путем записи нескольких версий вектора данного.Changing information in the database is carried out at a logical level by writing several versions of this vector.

Удаление информации из БД осуществляют на логическом уровне путем записи нескольких версий вектора данного.Information is removed from the database at the logical level by writing several versions of the given vector.

Последующее чтение удаленной информации осуществляют путем формирования консолидированной версии вектора данного, состоящей из идентификаторов координат с ненулевыми значениями кодов идентификаторов координат и заключенными между ними фрагментами неструктурированной информации.The subsequent reading of the deleted information is carried out by forming a consolidated version of this vector, consisting of coordinate identifiers with nonzero values of the coordinates identifier codes and fragments of unstructured information enclosed between them.

Сжатие информации в БД осуществляют на физическом уровне путем сохранения в файле только консолидированных версий векторов данных. Для всего объема БД или для отдельных гиперкубов производят следующие действия.Information is compressed in the database at the physical level by saving only consolidated versions of data vectors in a file. For the entire database volume or for individual hypercubes, the following actions are performed.

Контроль внутренней непротиворечивости информации в БД при совместной работе двух и более пользователей с одними и тем же данными осуществляют путем выполнения операций изменения или удаления информации в последовательности выдачи пользователями команд на запись измененных (удаленных) версий векторов данных.The internal consistency of information in the database is controlled by the joint work of two or more users with the same data by performing the operations of changing or deleting information in the sequence by which users issue commands to write changed (deleted) versions of data vectors.

Восстановление внутренней непротиворечивости информации после аварийного завершения работы БД осуществляется путем сравнения между собой значений векторов дескрипторов и векторов данных, записанных в файл до момента аварийного завершения работы.The restoration of internal information consistency after an abnormal shutdown of a database is carried out by comparing the values of the descriptor vectors and the data vectors written to the file between them before the crash.

ОПИСАНИЕ ГРАФИЧЕСКОГО МАТЕРИАЛАDESCRIPTION OF GRAPHIC MATERIAL

Фиг.1. Схема адресных связей вектора данного с одной иерархической и двумя вариантными группами идентификаторов координат в своем составе.Figure 1. The scheme of address relationships of a given vector with one hierarchical and two variant groups of coordinate identifiers in its composition.

Фиг.2. Схема адресных связей векторов дескрипторов гиперкуба с двумя сегментами.Figure 2. The scheme of address relationships of vectors of descriptors of a hypercube with two segments.

Фиг.3. Блок-схема буфера.Figure 3. The block diagram of the buffer.

Фиг.4. Схема поиска информации в БД.Figure 4. The scheme of information retrieval in the database.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

ОПИСАНИЕ УСТРОЙСТВАDESCRIPTION OF THE DEVICE

Техническим результатом настоящего изобретения является уменьшение объема БД и времени доступа к ней.The technical result of the present invention is to reduce the volume of the database and access time to it.

Технический результат в части устройства достигают формированием логической модели данных БД, включающей:The technical result in terms of the device is achieved by the formation of a logical database data model, including:

- измерения, каждое из которых определяет тип данных и представлено унифицированными значениями координат и кодами их идентификаторов;- measurements, each of which determines the type of data and is represented by standardized coordinate values and codes of their identifiers;

- гиперкубы, каждый из которых определяет подмножество данных и представлен идентификаторами координат, связанными адресными указателями с идентификаторами векторов данных с совпадающими кодами, записанными в файл последними;- hypercubes, each of which defines a subset of data and is represented by coordinate identifiers associated with address pointers with identifiers of data vectors with matching codes written to the file last;

- векторы данных, каждый из которых представлен идентификаторами координат, связанными адресными указателями с идентификаторами векторов данных с совпадающими кодами, ранее записанными в файл, при этом идентификаторы координат векторов данных, записанные в файл первыми, связаны адресными указателями с идентификаторами координат гиперкуба с совпадающими кодами.- data vectors, each of which is represented by coordinate identifiers associated with address pointers with data vector identifiers with matching codes previously written to the file, while the coordinates of data vector coordinates written to the file first are connected by address pointers with hypercube coordinate identifiers with matching codes.

Структура БД представляет собой строчную развертку многомерного пространства, заполненного только значимыми данными. Их координаты могут входить в состав иерархических и вариантных групп в составе одного и того же вектора данного.The database structure is a horizontal scan of a multidimensional space filled with only significant data. Their coordinates can be part of hierarchical and variant groups as part of the same vector.

Идентификатор координаты состоит из следующего набора элементов:The coordinate identifier consists of the following set of elements:

- имя идентификатора, состоящее из величины его смещения относительно начала файла и порядкового номера записи в файл вектора данного;- the name of the identifier, consisting of the magnitude of its offset relative to the beginning of the file and the serial number of the entries in the vector file;

- код идентификатора, состоящий из цифрового кода измерения и цифрового кода унифицированного значения координаты в этом измерении;- an identifier code consisting of a digital measurement code and a digital code of a uniform coordinate value in this measurement;

- комплект адресных указателей.- a set of address pointers.

В комплект адресных указателей входят четыре типа указателей.Address pointers come with four types of pointers.

Адресный указатель первого типа состоит из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты с совпадающим кодом и порядкового номера данного идентификатора координаты в циклическом списке, образованном адресными указателями идентификаторов координат векторов данных и гиперкуба.The address pointer of the first type consists of the offset value relative to the beginning of the file of the same type pointer pointer of the previous coordinate identifier with the same code and the serial number of this coordinate identifier in a cyclic list formed by address pointers of identifiers of coordinates of data vectors and a hypercube.

Адресный указатель второго типа состоит из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты и порядкового номера идентификатора координаты в циклическом списке, образованном адресными указателями идентификаторов координат, входящих в состав одного вектора данного, при этом первый по порядку записи идентификатор координаты связан с последним по порядку записи идентификатором координаты.The address pointer of the second type consists of the offset from the beginning of the file of the same address pointer of the previous coordinate identifier and the sequence number of the coordinate identifier in the cyclic list formed by the address pointers of the coordinate identifiers that are part of one vector of this data, while the first coordinate order in the record is associated with the last in the order of writing by the identifier of the coordinate.

Адресный указатель третьего типа состоит из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты, находящегося на более высоком уровне иерархии, и порядкового номера уровня иерархии данного идентификатора координаты, при этом адресные указатели идентификаторов координат, входящие в состав одной и той же иерархической группы вектора данного, образуют конечный список.The address pointer of the third type consists of the offset value relative to the beginning of the file of the same type address pointer of the previous coordinate identifier at a higher hierarchy level and the sequence number of the hierarchy level of this coordinate identifier, while the address identifiers of coordinate identifiers that are part of the same hierarchical group vectors of a given form a finite list.

Адресный указатель четвертого типа состоит из величины смещения относительно начала файла однотипного адресного указателя идентификатора координаты, входящего в одну вариантную группу, или, в случае завершения одной вариантной группы, входящей в состав другой вариантной группы, и порядкового номера вариантной группы, при этом адресные указатели идентификаторов координат, входящие в состав одного вектора данного, образуют конечный список.The address pointer of the fourth type consists of the offset value relative to the beginning of the file of the same type of the address identifier of the coordinate identifier included in one variant group, or, in the case of the completion of one variant group included in another variant group, and the sequence number of the variant group, with address identifiers of identifiers coordinates that are part of one vector of this, form a finite list.

Пример вектора данного, состоящего из трех идентификаторов координат, входящих в состав одной иерархической и двух вариантных групп изображен на фиг.1. Цифрами 1, 2, 3, 4 - обозначены адресные указатели соответствующих типов.An example of a vector of this, consisting of three identifiers of coordinates that are part of one hierarchical and two variant groups is shown in figure 1. Numbers 1, 2, 3, 4 - indicate address pointers of the corresponding types.

Гиперкуб состоит из идентификаторов координат, каждый из которых представлен в виде вектора дескриптора. Адресный указатель первого типа вектора дескриптора содержит величину смещения относительно начала файла и порядковый номер адресного указателя первого типа идентификатора координаты вектора данного с совпадающим кодом идентификатора, записанного в файл последним.A hypercube consists of coordinate identifiers, each of which is represented as a descriptor vector. The address pointer of the first type of the descriptor vector contains the offset value relative to the beginning of the file and the serial number of the address pointer of the first type of identifier of the coordinate of the vector given with the matching identifier code recorded in the file last.

С целью упорядоченности информации, например, в хронологическом порядке, векторы дескрипторов в составе гиперкуба могут быть логически объединены в два и более сегмента.In order to streamline information, for example, in chronological order, descriptor vectors in a hypercube can be logically combined into two or more segments.

В состав каждого сегмента гиперкуба включен корневой вектор, состоящий из одного идентификатора координаты с системным кодом.The structure of each segment of the hypercube includes a root vector consisting of one identifier of the coordinate with the system code.

Корневой вектор и векторы дескрипторов, входящие в состав одного сегмента гиперкуба, связаны в индексную структуру типа бинарного дерева адресными указателями идентификаторов координат второго и третьего типов.The root vector and descriptor vectors, which are part of one segment of the hypercube, are connected to the index structure of a binary tree type by address pointers of coordinate identifiers of the second and third types.

Корневые векторы и векторы дескрипторов с совпадающими кодами идентификаторов координат, входящие в разные сегменты одного гиперкуба, связаны в циклические списки адресными указателями идентификаторов координат четвертого типа. При этом порядковым номерам адресных указателей идентификаторов координат присвоены значения номеров сегментов гиперкуба в порядке их записи в файл.The root vectors and descriptor vectors with matching coordinate identifier codes included in different segments of the same hypercube are linked into circular lists by address pointers of coordinates identifiers of the fourth type. In this case, the ordinal numbers of the address identifiers of the coordinate identifiers are assigned the values of the numbers of segments of the hypercube in the order they are written to the file.

Корневые векторы всех гиперкубов БД связаны в циклический список адресными указателями идентификаторов координат первого типа, порядковым номерам которых присвоены значения номеров гиперкубов в порядке записи их в файл.The root vectors of all database hypercubes are connected into a cyclic list by address pointers of identifiers of coordinates of the first type, the serial numbers of which are assigned the values of the numbers of hypercubes in the order they are written to the file.

Схема адресных связей векторов дескрипторов гиперкуба с двумя сегментами изображена на фиг.2. Цифрами 1, 2, 3, 4 - обозначены адресные указатели соответствующих типов.A diagram of the address relationships of the hypercube descriptor vectors with two segments is shown in FIG. Numbers 1, 2, 3, 4 - indicate address pointers of the corresponding types.

В целях обеспечения доступа пользователей к файлу БД, записанному, например, на магнитном диске, на дополнительной (или альтернативной) среде хранения, например, в оперативной памяти компьютера, размещен постоянный информационный массив (временный набор данных) - буфер.In order to provide users with access to the database file recorded, for example, on a magnetic disk, on an additional (or alternative) storage medium, for example, in the computer’s RAM, a constant information array (temporary data set) is located - a buffer.

В состав буфера входят следующие элементы:The buffer contains the following elements:

- таблицы значений векторов дескрипторов с наибольшими по величине порядковыми номерами адресных указателей координат четвертого типа;- tables of values of descriptor vectors with the largest sequence numbers of address pointers of coordinates of the fourth type;

- список таблиц значений векторов дескрипторов;- a list of tables of descriptor vector values;

- инвертированные списки координат векторов данных;- inverted lists of coordinates of data vectors;

- векторы данных, участвующих в операциях чтения и записи информации.- data vectors involved in reading and writing information.

Список таблиц значений векторов дескрипторов содержит адреса расположения таблиц в буфере. Список таблиц формируют в порядке записи таблиц в файл.The list of descriptor vector value tables contains the addresses of the location of the tables in the buffer. The list of tables is formed in the order in which the tables are written to the file.

Каждая таблица значений векторов дескрипторов соответствует одному из измерений логической модели данных БД. Строки таблиц соответствуют координатам измерений и формируются в порядке записи унифицированных значений координат в файл.Each table of descriptor vector values corresponds to one of the dimensions of the logical data model of the database. Rows of tables correspond to the coordinates of the measurements and are formed in the order of writing standardized coordinate values in a file.

Строки содержат наборы полей, каждый из которых соответствует одному из гиперкубов, образованному измерениями, соответствующими таблицам.Rows contain sets of fields, each of which corresponds to one of the hypercubes formed by measurements corresponding to tables.

В состав одного набора входят:One set includes:

- поле величины смещения имени идентификатора вектора дескриптора относительно начала файла,- the field of the magnitude of the offset name of the identifier of the vector of the descriptor relative to the beginning of the file,

- поле порядкового номера адресного указателя четвертого типа идентификатора координаты вектора дескриптора,- field of the serial number of the address pointer of the fourth type of identifier of the coordinate of the descriptor vector,

- поле величины смещения относительно начала файла адресного указателя первого типа идентификатора координаты вектора данного с совпадающим кодом, записанного в файл последним, и- the field of the magnitude of the offset relative to the beginning of the file of the address pointer of the first type identifier of the coordinate of the vector of the data with the matching code recorded in the file last, and

- поле порядкового номера адресного указателя первого типа идентификатора координаты этого вектора данного.- the field of the serial number of the address pointer of the first type of identifier of the coordinate of this vector given.

Кроме указанных наборов полей, строки таблиц дополнительно могут содержать поля унифицированных значений координат, поля индексов унифицированных значений координат и поля адресов инвертированных списков координат векторов данных в составе буфера.In addition to these sets of fields, the rows of the tables may additionally contain fields of unified coordinate values, fields of indexes of unified coordinate values, and address fields of inverted coordinate lists of data vectors in the buffer.

Инвертированные списки координат векторов данных содержат адреса векторов данных в составе буфера.Inverted lists of coordinates of data vectors contain the addresses of the data vectors in the buffer.

Каждому вектору данного в составе буфера присвоен порядковый номер, равный наибольшему порядковому номеру записи в файл одного из идентификаторов координат вектора данного. Порядковый номер вектора данного используют для обеспечения многопользовательского доступа к БД.Each vector given in the buffer is assigned a sequence number equal to the largest serial number of the entries in the file of one of the identifiers of the coordinates of the vector of this. The sequence number of this vector is used to provide multi-user access to the database.

Блок-схема буфера представлена на фиг.3.The block diagram of the buffer is shown in Fig.3.

Для хранения в общем файле структурированной (векторы данных, векторы дескрипторов, корневые векторы) и неструктурированной информации (значения координат, текстовые комментарии, графические изображения, аудио-, видео- и прочие записи) векторы данных могут содержать в себе фрагменты неструктурированной информации при выполнении следующих условий:For storing structured (data vectors, descriptor vectors, root vectors) and unstructured information (coordinate values, text comments, graphic images, audio, video, and other records) in a common file, the data vectors can contain fragments of unstructured information when the following conditions:

- фрагмент неструктурированной информации в составе вектора данного начинается и заканчивается идентификаторами координат;- a fragment of unstructured information as part of a given vector begins and ends with coordinate identifiers;

- идентификаторы координат отражают тип данных и формат записи фрагментов неструктурированной информации.- coordinate identifiers reflect the data type and recording format of fragments of unstructured information.

Технический результат в части устройства достигают также следующими особенностями выполнения операций:The technical result in terms of the device also achieve the following features of operations:

- идентификация информации обеспечена посредством цифрового кодирования унифицированных значений координат в составе измерений и замены фактических значений координат на цифровые коды в составе векторов данных;- information identification is provided by digitally encoding standardized coordinate values as part of measurements and replacing actual coordinate values by digital codes as part of data vectors;

- запись, чтение, изменение, удаление и сжатие информации обеспечены посредством формирования логических сечений многомерного пространства, представленных циклическими списками идентификаторов координат векторов данных и гиперкубов с совпадающими кодами идентификаторов;- writing, reading, changing, deleting and compressing information is ensured through the formation of logical sections of multidimensional space, represented by cyclic lists of identifiers of coordinates of data vectors and hypercubes with matching identifier codes;

- контроль внутренней непротиворечивости информации при совместной работе двух и более пользователей обеспечен посредством последовательной нумерации векторов данных в порядке записи их в файл;- control of the internal consistency of information during the joint work of two or more users is ensured by sequential numbering of data vectors in the order they are written to a file;

- восстановление внутренней непротиворечивости информации после аварийного завершения работы многомерной базы данных обеспечено посредством опережающей записи идентификаторов координат в состав векторов дескрипторов относительно момента их записи в состав векторов данных.- restoration of the internal consistency of information after the multidimensional database crashes, is ensured by the forward recording of coordinate identifiers in the composition of descriptor vectors relative to the moment of their recording in the composition of data vectors.

Идентификация информации в БД основана на сравнении фактических значений координат данного, поступившего из внешнего источника информации, с унифицированными значениями координат в составе измерений, ранее сохраненными в БД.Identification of information in the database is based on a comparison of the actual coordinate values of a given data received from an external source of information with standardized coordinate values as part of measurements previously stored in the database.

В случае несовпадения фактических и унифицированных значений координат, фактические значения помещены в состав измерений в качестве новых унифицированных значений с присвоением им цифровых кодов идентификаторов.In case of discrepancy between the actual and unified coordinate values, the actual values are placed in the measurement as new unified values with the assignment of digital identifier codes to them.

Запись информации в БД осуществлена порциями, равными отдельному вектору данных после формирования связанного списка идентификаторов координат, включения фрагментов неструктурированной информации, записи в файл новых векторов дескрипторов или изменения значений векторов дескрипторов, ранее записанных в файл.Information was recorded in the database in batches equal to a separate data vector after forming a linked list of coordinate identifiers, including fragments of unstructured information, writing new descriptor vectors to the file, or changing the values of descriptor vectors previously written to the file.

Величину смещения в имени идентификатора координаты рассчитана как сумма величин ранее заполненного объема файла и смещения имени данного идентификатора координаты относительно начала вектора данного. Порядковый номер записи вектора данного в файл сгенерирован в виде уникального, возрастающего по значению целого числа.The offset value in the name of the coordinate identifier is calculated as the sum of the values of the previously filled file volume and the offset of the name of this coordinate identifier relative to the beginning of the given vector. The sequence number of the record of the vector of this to the file is generated as a unique integer increasing in value.

Величина смещения адресного указателя первого типа идентификатора координаты вектора данного определен на основании текущего значения вектора дескриптора с совпадающим идентификатором. Первоначальные значения вектора дескриптора в момент записи первого идентификатора координаты вектора данного имеют ссылку на адрес расположения в файле вектора дескриптора в части величины смещения адресного указателя первого типа и единичное значение в части порядкового номера этого адресного указателя.The offset value of the address pointer of the first type of identifier of the coordinate of the vector of this is determined based on the current value of the vector of the descriptor with the matching identifier. The initial values of the descriptor vector at the time of recording the first identifier of the coordinate of the vector of this have a link to the location address in the descriptor vector file in terms of the offset value of the address pointer of the first type and a single value in terms of the serial number of this address pointer.

Величина смещения адресного указателя второго типа идентификатора координаты вектора данного задана как сумма величин ранее заполненного объема файла и смещения однотипного адресного указателя предыдущего идентификатора координаты относительно начала вектора данного. Для первого идентификатора в составе вектора данного вторым слагаемым является величина смещения адресного указателя последнего идентификатора относительно начала вектора данного. Порядковый номер адресного указателя задан позицией идентификатора координаты в составе вектора данного.The offset value of the address pointer of the second type of identifier of the coordinate of the vector of the given is set as the sum of the values of the previously filled file volume and the offset of the same type of address pointer of the previous identifier of the coordinate relative to the beginning of the vector of this. For the first identifier in the composition of the vector of this second term is the offset value of the address pointer of the last identifier relative to the beginning of the vector of this. The serial number of the address pointer is set by the position of the identifier of the coordinate in the vector of this.

Величина смещения адресного указателя третьего типа идентификатора координаты вектора данного задана как сумма величин ранее заполненного объема файла и смещения относительно начала вектора однотипного адресного указателя предыдущего идентификатора координаты, находящегося на более высоком уровне иерархии. Для первого идентификатора координаты в составе вектора данного вторым слагаемым является величина смещения собственного адресного указателя. Порядковый номер адресного указателя задан уровнем иерархии идентификатора координаты.The offset value of the address pointer of the third type of the identifier of the coordinate of the vector of this is given as the sum of the values of the previously filled file volume and the offset relative to the beginning of the vector of the same type address pointer of the previous identifier of the coordinate located at a higher level of the hierarchy. For the first identifier of the coordinate in the composition of the vector of this second term is the offset value of its own address pointer. The sequence number of the address pointer is given by the hierarchy level of the coordinate identifier.

Величина смещения адресного указателя четвертого типа идентификатора координаты вектора данного заданы как сумма величин ранее заполненного объема файла и смещения относительно начала вектора однотипного адресного указателя предыдущего идентификатора координаты, входящей в данную вариантную группу, или, в случае ее завершения, смещения относительно начала вектора однотипного адресного указателя предыдущей триады, входящей в состав другой вариантной группы. Для первого идентификатора координаты в составе вектора данного вторым слагаемым является величина смещения собственного адресного указателя. Порядковый номер адресного указателя задан с учетом принадлежности идентификатора координаты к данной вариантой группе.The offset value of the address pointer of the fourth type of identifier of the coordinate of the vector of this given as the sum of the values of the previously filled file volume and the offset relative to the beginning of the vector of the same type of the address pointer of the previous identifier of the coordinate included in this variant group, or, if completed, the offset relative to the beginning of the vector of the same type of address pointer previous triad, which is part of another variant group. For the first identifier of the coordinate in the composition of the vector of this second term is the offset value of its own address pointer. The serial number of the address pointer is given taking into account the identity of the coordinate identifier in this variant group.

В случае наличия в составе вектора данного одного или несколько фрагментов неструктурированной информации размер фрагмента учтен при расчете величин смещения следующих за ним идентификаторов координат.In the case of the presence of one or more fragments of unstructured information in the vector, this fragment size is taken into account when calculating the displacement values of the coordinate identifiers following it.

В случае отсутствия в составе гиперкуба векторов дескрипторов с идентификаторами координат, совпадающем с идентификаторами координат вновь сформированного вектора данного, указанные векторы дескрипторов остаются записанными в файл.If there are no descriptor vectors with coordinate identifiers in the hypercube that coincide with the identifiers of the coordinates of the newly formed vector of this, the specified descriptor vectors remain written to the file.

Рассчитанные величины адресных указателей идентификаторов координат первого типа записаны в файл по месту расположения векторов дескрипторов. Вектор данного записан на новое место в конце файла (после завершения записи в векторы дескрипторов рассчитанных величин адресных указателей идентификаторов координат первого типа).The calculated values of the address pointers of the identifiers of coordinates of the first type are recorded in a file at the location of the descriptor vectors. This vector is written to a new place at the end of the file (after writing to the descriptor vectors the calculated values of the address pointers of the coordinate identifiers of the first type).

Для поиска и чтения информации из БД применен ключ поиска, составленный из одного или нескольких идентификаторов координат.To search and read information from the database, a search key is used, made up of one or more coordinate identifiers.

ОПИСАНИЕ СПОСОБА РАБОТЫ УСТРОЙСТВАDESCRIPTION OF THE METHOD OF OPERATION OF THE DEVICE

Технический результат в части способа ускорения доступа к данным достигают способом управления БД, который характеризуется выполнением следующих операций:The technical result in terms of the method of accelerating access to data is achieved by the database management method, which is characterized by the following operations:

- предварительная идентификация информации посредством цифрового кодирования унифицированных значений координат в составе измерений и замены фактических значений координат на цифровые коды в составе векторов данных;- preliminary identification of information by digitally encoding standardized coordinate values as part of measurements and replacing actual coordinate values by digital codes as part of data vectors;

- запись, чтение, изменение, удаление и сжатие информации посредством формирования логических сечений многомерного пространства, представленных циклическими списками идентификаторов координат векторов данных и гиперкубов с совпадающими кодами идентификаторов;- writing, reading, changing, deleting and compressing information by forming logical sections of multidimensional space represented by cyclic lists of identifiers of coordinates of data vectors and hypercubes with matching identifier codes;

- контроль внутренней непротиворечивости информации при совместной работе двух и более пользователей посредством последовательной нумерации векторов данных в порядке записи их в файл;- control of the internal consistency of information during the joint work of two or more users by sequential numbering of data vectors in the order they are written to a file;

- восстановление внутренней непротиворечивости информации после аварийного завершения работы многомерной базы данных обеспечивают посредством опережающей записи идентификаторов координат в состав векторов дескрипторов относительно момента их записи в состав векторов данных.- restoration of the internal consistency of information after the emergency shutdown of a multidimensional database is provided by means of the forward record of coordinate identifiers in the composition of descriptor vectors relative to the moment of their recording in the composition of data vectors.

Идентификацию информации в БД выполняют путем сравнения фактических значений координат данного, поступившего из внешнего источника информации, с унифицированными значениями координат в составе измерений, ранее сохраненными в БД.Identification of information in the database is performed by comparing the actual values of the coordinates of a given data received from an external source of information with standardized values of coordinates in the composition of measurements previously stored in the database.

В случае несовпадения фактических и унифицированных значений координат, фактические значения включают в состав измерений в качестве новых унифицированных значений с присвоением им цифровых кодов идентификаторов.In case of discrepancy between the actual and unified coordinate values, the actual values are included in the measurements as new unified values with the assignment of digital identifier codes to them.

Идентификацию данного завершают заменой значений координат на цифровые коды их идентификаторов.This identification is completed by replacing the coordinate values with the digital codes of their identifiers.

Запись информации в БД осуществляют порциями, равными отдельному вектору данных после формирования связанного списка идентификаторов координат, включения фрагментов неструктурированной информации, записи в файл новых векторов дескрипторов или изменения значений векторов дескрипторов, ранее записанных в файл.Information is recorded in the database in batches equal to a separate data vector after forming a linked list of coordinate identifiers, including fragments of unstructured information, writing new descriptor vectors to the file, or changing the values of descriptor vectors previously written to the file.

Величину смещения в имени идентификатора координаты рассчитывают как сумму величин ранее заполненного объема файла и смещения имени данного идентификатора координаты относительно начала вектора данного. Порядковый номер записи вектора данного в файл генерируют в виде уникального, возрастающего по значению целого числа.The offset value in the name of the coordinate identifier is calculated as the sum of the values of the previously filled file volume and the offset of the name of this coordinate identifier relative to the beginning of the given vector. The sequence number of the record of the vector of this file is generated in the form of a unique integer increasing in value.

Величину смещения адресного указателя первого типа идентификатора координаты вектора данного определяют на основании текущего значения вектора дескриптора с совпадающим идентификатором. Первоначальные значения вектора дескриптора в момент записи первого идентификатора координаты вектора данного содержат ссылку на адрес расположения в файле вектора дескриптора в части величины смещения адресного указателя первого типа и единичное значение в части порядкового номера этого адресного указателя.The offset value of the address pointer of the first type of identifier of the coordinate of the vector of this is determined based on the current value of the vector of the descriptor with the matching identifier. The initial values of the descriptor vector at the time of recording the first identifier of the coordinate of the given vector contain a link to the location address in the descriptor vector file in terms of the offset value of the address pointer of the first type and a single value in terms of the serial number of this address pointer.

Величину смещения адресного указателя второго типа идентификатора координаты вектора данного определяют как сумму величин ранее заполненного объема файла и смещения однотипного адресного указателя предыдущего идентификатора координаты относительно начала вектора данного. Для первого идентификатора в составе вектора данного вторым слагаемым является величина смещения адресного указателя последнего идентификатора относительно начала вектора данного. Порядковый номер адресного указателя задают значением, соответствующим позиции идентификатора координаты в составе вектора данного.The offset value of the address pointer of the second type of identifier of the coordinate of the vector of the data is determined as the sum of the values of the previously filled file volume and the offset of the same type of address pointer of the previous identifier of the coordinate relative to the beginning of the vector of this. For the first identifier in the composition of the vector of this second term is the offset value of the address pointer of the last identifier relative to the beginning of the vector of this. The serial number of the address pointer is set by the value corresponding to the position of the identifier of the coordinate as part of this vector.

Величину смещения адресного указателя третьего типа идентификатора координаты вектора данного определяют как сумму величин ранее заполненного объема файла и смещения относительно начала вектора однотипного адресного указателя предыдущего идентификатора координаты, находящегося на более высоком уровне иерархии. Для первого идентификатора координаты в составе вектора данного вторым слагаемым является смещения собственного адресного указателя. Порядковый номер адресного указателя задают значением уровня иерархии идентификатора координаты.The offset value of the address pointer of the third type of identifier of the coordinate of the vector of this data is determined as the sum of the values of the previously filled file volume and the offset relative to the beginning of the vector of the same type address pointer of the previous identifier of the coordinate located at a higher level of the hierarchy. For the first coordinate identifier in the vector of this second term is the offset of its own address pointer. The serial number of the address pointer is set by the value of the hierarchy level of the coordinate identifier.

Величину смещения адресного указателя четвертого типа идентификатора координаты вектора данного определяют как сумму величин ранее заполненного объема файла и смещения относительно начала вектора однотипного адресного указателя предыдущего идентификатора координаты, входящей в данную вариантную группу, или, в случае ее завершения, смещения относительно начала вектора однотипного адресного указателя предыдущей триады, входящей в состав другой вариантной группы. Для первого идентификатора координаты в составе вектора данного вторым слагаемым является величина смещения собственного адресного указателя. Порядковый номер адресного указателя задают исходя из принадлежности идентификатора координаты к данной вариантой группе.The offset value of the address pointer of the fourth type of identifier of the coordinate of the vector of this data is determined as the sum of the values of the previously filled file volume and the offset relative to the beginning of the vector of the same type address pointer of the previous identifier of the coordinate included in this variant group, or, if completed, the offset relative to the beginning of the vector of the same type of address pointer previous triad, which is part of another variant group. For the first identifier of the coordinate in the composition of the vector of this second term is the offset value of its own address pointer. The serial number of the address pointer is set based on the identity of the coordinate identifier for this variant group.

В случае включения в состав вектора данного одного или несколько фрагментов неструктурированной информации размер фрагмента учитывают при расчете величин смещения следующих за ним идентификаторов координат.If one or more fragments of unstructured information are included in the vector, the fragment size is taken into account when calculating the offset values of the coordinate identifiers following it.

В случае отсутствия в составе гиперкуба векторов дескрипторов с идентификаторами координат, совпадающими с идентификаторами координат вновь сформированного вектора данного, указанные векторы дескрипторов записывают в файл.If there are no descriptor vectors with coordinates identifiers in the composition of the hypercube that coincide with the identifiers of the coordinates of the newly formed vector of this, these descriptor vectors are written to the file.

Рассчитанные величины адресных указателей идентификаторов координат первого типа записывают в файл по месту расположения векторов дескрипторов. Вектор данного записывают на новое место в конце файла после завершения записи в векторы дескрипторов рассчитанных величин адресных указателей идентификаторов координат первого типа.The calculated values of the address pointers of the identifiers of coordinates of the first type are recorded in a file at the location of the descriptor vectors. This vector is written to a new place at the end of the file after writing to the descriptor vectors the calculated values of the address pointers of the coordinate identifiers of the first type.

Чтение информации из БД осуществляют на основании ключа поиска, составленного пользователем из одного или нескольких идентификаторов координат.Reading information from the database is carried out on the basis of a search key compiled by the user from one or more coordinate identifiers.

На первом шаге в буфере, в списке адресов таблиц векторов дескрипторов производят поиск адресов таблиц, чьи позиции в списке соответствуют цифровым кодам измерений. После перехода к выбранным в результате поиска таблицам осуществляют поиск в их составе строк, позиции которых соответствуют цифровым кодам унифицированных значений координат.At the first step in the buffer, in the list of addresses of tables of descriptor vectors, the addresses of tables whose positions in the list correspond to digital measurement codes are searched. After the transition to the tables selected as a result of the search, they are searched for in their composition of rows whose positions correspond to digital codes of standardized coordinate values.

В случае отсутствия значения хотя бы одного из искомых векторов дескрипторов чтение завершают формированием отрицательного отчета о поиске.If there is no value of at least one of the desired descriptor vectors, the reading is completed by generating a negative search report.

При наличии в буфере полного состава значений векторов дескрипторов производят сравнение порядковых номеров адресных указателей четвертого типа идентификаторов координат векторов дескрипторов. В случае их равенства порядковому номеру, соответствующему последнему сегменту гиперкуба, значения найденных векторов дескрипторов сравнивают между собой по величине порядковых номеров адресных указателей первого типа с последующим выбором вектора дескриптора с наименьшим номером. В противном случае осуществляют переход к сегменту гиперкуба, сохраненному в файле БД.If the buffer contains a complete set of values of the descriptor vectors, the sequence numbers of the address pointers of the fourth type of identifiers of the coordinates of the descriptor vectors are compared. If they are equal to the sequence number corresponding to the last segment of the hypercube, the values of the found descriptor vectors are compared with each other by the value of the sequence numbers of the address pointers of the first type, followed by the choice of the descriptor vector with the lowest number. Otherwise, a transition is made to the hypercube segment stored in the database file.

На втором шаге производят поиск векторов дескрипторов в сегменте гиперкуба путем обхода бинарного дерева индексной структуры. В случае равенства порядковых номеров адресных указателей четвертого типа векторы дескрипторов сравнивают между собой по величине порядковых номеров адресных указателей первого типа с последующим выбором вектора дескриптора с наименьшим номером. В противном случае осуществляют переход к следующему сегменту гиперкуба с повторением второго шага вплоть до совпадения порядковых номеров адресных указателей четвертого типа векторов дескрипторов.At the second step, they search for descriptor vectors in the hypercube segment by traversing the binary tree of the index structure. In case of equality of the sequence numbers of the address pointers of the fourth type, the descriptor vectors are compared with each other by the value of the sequence numbers of the address pointers of the first type, followed by the selection of the descriptor vector with the lowest number. Otherwise, the transition to the next segment of the hypercube is carried out with the repetition of the second step until the sequence numbers of the address pointers of the fourth type of descriptor vectors coincide.

На третьем шаге, на основании величины смещения адресного указателя первого типа вектора дескриптора осуществляют чтение идентификатора координаты вектора данного с наименьшим порядковым номером. В соответствии с адресными указателями второго типа осуществляют чтение остальных идентификаторов координат вектора данного и их сравнение с идентификаторами координат ключа поиска.In the third step, based on the offset value of the address pointer of the first type of the descriptor vector, the identifier of the coordinate of the vector of the given one with the lowest serial number is read. In accordance with the address pointers of the second type, the remaining identifiers of the coordinates of the vector of this are read and compared with the identifiers of the coordinates of the search key.

В случае их совпадения определяют один из совпадающих идентификаторов координат вектора данного с наибольшим порядковым номером адресного указателя второго типа. В противном случае переходят к выполнению пятого шага настоящей последовательности чтения информации.If they coincide, one of the matching identifiers of the coordinates of the vector of the given one with the largest serial number of the address pointer of the second type is determined. Otherwise, we proceed to the fifth step of the current sequence of reading information.

На четвертом шаге производят обход иерархических и вариантных групп вектора данного, начиная с совпадающего идентификатора координаты с наибольшим порядковым номером адресного указателя второго типа. В случае вхождения идентификаторов координат ключа поиска в состав одних и тех же иерархических и вариантных групп вектора данного его включают в отчет о поиске.At the fourth step, hierarchical and variant groups of the vector of the given are bypassed, starting with the matching coordinate identifier with the highest serial number of the address pointer of the second type. If the identifiers of the coordinates of the search key are included in the same hierarchical and variant groups of a given vector, it is included in the search report.

На пятом шаге в составе прочитанного вектора данного производят сравнение между собой по величине порядковых номеров адресных указателей первого типа идентификаторов координат, соответствующих ключу поиска, выбор идентификатора координаты с наименьшим по величине порядковым номером, чтение идентификатора координаты предыдущего вектора данного по адресному указателю первого типа и чтение остальных идентификаторов координат предыдущего вектора данного по адресным указателям второго типа.At the fifth step, as part of the read vector of this, a comparison is made between the number of address numbers of the address pointers of the first type of coordinate identifiers corresponding to the search key, the selection of the coordinate identifier with the smallest sequence number, reading the coordinate identifier of the previous vector given by the address pointer of the first type and reading other identifiers of coordinates of the previous vector given by address pointers of the second type.

Четвертый и пятый шаги повторяют в порядке приближения к началу файла вплоть до чтения одного из идентификаторов координат вектора данного, соответствующих ключу поиска, с порядковым номером адресного указателя первого типа, равным единице.The fourth and fifth steps are repeated in the order of approaching the beginning of the file until you read one of the identifiers of the coordinates of the vector of the data corresponding to the search key, with the serial number of the address pointer of the first type equal to one.

Изменение информации в БД осуществляют на логическом уровне путем записи нескольких версий вектора данного в следующей последовательности.Changing information in the database is carried out at a logical level by writing several versions of the vector given in the following sequence.

На первом шаге производят чтение текущей версии вектора данного.At the first step, the current version of the given vector is read.

На втором шаге формируют измененную версию вектора данного в составе одного или нескольких идентификаторов координат и/или фрагментов неструктурированной информации, измененных относительно текущей версии, и одного неизменного идентификатора координаты.At the second step, an altered version of the vector of the given one is composed of one or more identifiers of coordinates and / or fragments of unstructured information changed relative to the current version, and one invariable identifier of the coordinate.

На третьем шаге производят запись измененной версии вектора данного, с сохранением в именах идентификаторов координат величин смещения относительно начала файла, записанных в первой версии вектора данного.In the third step, a modified version of the vector of the data is recorded, with the values of the offset relative to the beginning of the file recorded in the first version of the vector of the data stored in the names of the coordinate identifiers.

Последующее чтение измененной информации осуществляют путем формирования консолидированной версии вектора данного, состоящей из одного идентификатора координаты с неизменным кодом идентификатора и одного или нескольких последних по порядку записи измененных идентификаторов координат и/или фрагментов неструктурированной информации.Subsequent reading of the changed information is carried out by forming a consolidated version of this vector, consisting of one coordinate identifier with a constant identifier code and one or more last-in-order records of the changed coordinate identifiers and / or fragments of unstructured information.

Удаление информации из БД осуществляют на логическом уровне путем записи нескольких версий вектора данного в следующей последовательности:Information is removed from the database at the logical level by writing several versions of the vector given in the following sequence:

на первом шаге производят чтение текущей версии вектора данного;at the first step, the current version of the vector of the given is read;

на втором шаге формируют удаленную версию вектора данного в составе одного или нескольких идентификаторов координат, удаленных из текущей версии вектора данного, и одного неизменного идентификатора координаты;at the second step, a remote version of the vector of the given is formed as a part of one or several identifiers of coordinates removed from the current version of the vector of the given and one constant identifier of the coordinate;

на третьем шаге производят запись удаленной версии вектора данного с заменой на нулевые значения кодов удаленных идентификаторов координат.in the third step, a remote version of the vector is recorded, with the codes of remote coordinate identifiers replaced with zero values.

Последующее чтение удаленной информации осуществляют путем формирования консолидированной версии вектора данного, состоящей из идентификаторов координат с ненулевыми значениями кодов идентификаторов координат и заключенными между ними фрагментами неструктурированной информации.The subsequent reading of the deleted information is carried out by forming a consolidated version of this vector, consisting of coordinate identifiers with nonzero values of the coordinates identifier codes and fragments of unstructured information enclosed between them.

Сжатие информации в БД осуществляют на физическом уровне путем сохранения в файле только консолидированных версий векторов данных. Для всего объема БД или для отдельных гиперкубов производят следующие действия.Information is compressed in the database at the physical level by saving only consolidated versions of data vectors in a file. For the entire database volume or for individual hypercubes, the following actions are performed.

На первом шаге создают второй экземпляр гиперкуба, связанный с первым экземпляром адресными указателями четвертого типа корневых векторов и векторов дескрипторов. Второй экземпляр гиперкуба используют для записи вновь поступающей информации из внешнего источника.At the first step, a second instance of the hypercube is created, associated with the first instance by address pointers of the fourth type of root vectors and descriptor vectors. The second instance of the hypercube is used to record newly received information from an external source.

На втором шаге создают копию первого экземпляра гиперкуба, не связанную с первым экземпляром гиперкуба адресными указателями четвертого типа корневых векторов и векторов дескрипторов. Копия является приемником информации, ранее записанной в гиперкубе, первый экземпляр - источником информации.In the second step, a copy of the first instance of the hypercube is created that is not associated with the first instance of the hypercube with address pointers of the fourth type of root vectors and descriptor vectors. A copy is a receiver of information previously recorded in a hypercube, the first copy is a source of information.

На третьем шаге производят сжатие информации путем формирования консолидированных версий векторов данных, содержащихся в источнике информации, и их переноса в приемник информации.In the third step, information is compressed by forming consolidated versions of the data vectors contained in the information source and transferring them to the information receiver.

На четвертом шаге источник информации замещают приемником информации путем связывания второго экземпляра и копии первого экземпляра гиперкуба адресными указателями четвертого типа корневых векторов и векторов дескрипторов. Первый экземпляр гиперкуба удаляют из файла.In the fourth step, the information source is replaced by the information receiver by linking the second instance and a copy of the first hypercube instance with address pointers of the fourth type of root vectors and descriptor vectors. The first instance of the hypercube is deleted from the file.

Контроль внутренней непротиворечивости информации в БД при совместной работе двух и более пользователей с одними и тем же данными осуществляется путем выполнения операций изменения или удаления информации в последовательности выдачи пользователями команд на запись измененных (удаленных) версий векторов данных.The internal consistency of information in the database is controlled by the joint work of two or more users with the same data by performing operations of changing or deleting information in the sequence of issuing instructions by users to write changed (deleted) versions of data vectors.

Для обеспечения указанной последовательности в буфере формируют информационный массив из консолидированных версий векторов данных, участвующих в операциях чтения или записи информации. Консолидированной версии вектора данного в буфере присваивают порядковый номер записи, равный наибольшему порядковому номеру записи в файл одного из идентификаторов координат вектора данного.To ensure the indicated sequence, an information array is formed in the buffer from consolidated versions of data vectors participating in the operations of reading or writing information. The consolidated version of the vector of the data in the buffer is assigned the sequence number of the record equal to the largest sequence number of the record in the file of one of the identifiers of the coordinates of the vector of this.

На первом шаге каждый пользователь независимо от других осуществляет чтение информации, которое начинается с поиска в буфере консолидированной версии вектора данного, соответствующей ключу поиска. В случае отсутствия в буфере этой версии вектора данного чтение осуществляется из файла.In the first step, each user, independently of the others, reads information that begins with a search in the buffer for a consolidated version of a given vector corresponding to the search key. If this version of the vector is not in the buffer, this is read from the file.

На втором шаге пользователи производят независимое формирование измененных (удаленных) версий вектора данного, которым временно присваивается порядковый номер записи ранее прочитанной консолидированной версии вектора данного.At the second step, users independently create modified (deleted) versions of the given vector, which are temporarily assigned the record number of the previously read consolidated version of the given vector.

На третьем шаге, по команде на запись пользователя, первым завершившего формирование измененной (удаленной) версии вектора данного, осуществляется повторное чтение в буфере или файле консолидированной версии вектора данного. Выполнение команд на запись остальных пользователей блокируется.At the third step, by the command to record the user who first completed the formation of the changed (deleted) version of the vector of the data, a second reading is performed in the buffer or file of the consolidated version of the vector of this. Execution of write commands for other users is blocked.

На четвертом шаге выполняют сравнение между собой порядковых номеров записи измененной (удаленной) версии и повторно прочитанной консолидированной версии вектора данного. В случае совпадения порядковых номеров записи в буфере формируют новую консолидированную версию вектора данного с актуальным порядковым номером записи, учитывающую изменение или удаление информации первым пользователем. В файл записывают измененную (удаленную) версию вектора данного с тем же актуальным порядковым номером записи.In the fourth step, a comparison is made between the sequence numbers of the records of the modified (deleted) version and the re-read consolidated version of this vector. If the sequence numbers of the records coincide, a new consolidated version of the vector of the data with the current serial number of the record is formed in the buffer, taking into account the first user changing or deleting information. The modified (deleted) version of the vector of the data with the same current serial number of the record is written to the file.

В случае несовпадения порядковых номеров записи измененной (удаленной) версии и повторно прочитанной консолидированной версии вектора данного вновь выполняют формирование измененной (удаленной) и консолидированной версий с актуальным порядковым номером записи. Новой консолидированной версией замещают в буфере предыдущую консолидированную версию. Новую измененную (удаленную) версию записывают в файл. Выполнение команд на запись разблокируют с повторением третьего и четвертого шага для каждого следующего пользователя.If the sequence numbers of the records of the modified (deleted) version and the re-read consolidated version of the vector of the data do not match, the modified (deleted) and consolidated versions with the current serial number of the record are again formed. The new consolidated version replaces the previous consolidated version in the buffer. The new modified (deleted) version is written to the file. Execution of write commands is unlocked by repeating the third and fourth steps for each subsequent user.

На пятом шаге выполняют удаление из буфера последней консолидированной версии вектора данного в случае отсутствия команд на чтение или запись в течение заданного промежутка времени.In the fifth step, the last consolidated version of this vector is removed from the buffer in the absence of read or write commands for a specified period of time.

Восстановление внутренней непротиворечивости информации после аварийного завершения работы БД осуществляют путем сравнения между собой значений векторов дескрипторов и векторов данных, записанных в файл до момента аварийного завершения работы.The restoration of internal information consistency after an emergency shutdown of a database is carried out by comparing the values of the descriptor vectors and the data vectors written to the file before the emergency shutdown.

На первом шаге, на основании сравнения значений векторов дескрипторов гиперкуба, осуществляют переход к идентификатору координаты последнего вектора данного, наиболее смещенного относительно начала файла, при этом по адресным указателям второго типа производят переход к другим идентификаторам координат последнего вектора данного.At the first step, based on the comparison of the values of the vectors of the descriptors of the hypercube, they move to the identifier of the coordinate of the last vector of the given one, the most offset from the beginning of the file, while using address pointers of the second type, go to other identifiers of coordinates of the last vector of this.

В случае наличия в составе последнего вектора данного полного набора идентификаторов координат восстановление внутренней непротиворечивости информации после аварийного завершения работы заканчивают.If the last vector of this complete set of coordinate identifiers is present, the restoration of internal information consistency after an emergency shutdown is completed.

В противном случае осуществляют следующие действия.Otherwise, carry out the following actions.

На втором шаге значения векторов дескрипторов, коды идентификаторов которых соответствуют идентификаторам координат предыдущих векторов данных, заменяют на величины смещения относительно начала файла и порядковые номера адресных указателей первого типа идентификаторов координат вектора данного.At the second step, the values of the descriptor vectors, the identifier codes of which correspond to the identifiers of the coordinates of the previous data vectors, are replaced by the offset values relative to the beginning of the file and the serial numbers of the address pointers of the first type of identifiers of the coordinates of the vector given.

На третьем шаге осуществляют переход к последнему идентификатору координаты предпоследнего вектора данного, смещенного относительно первого идентификатора координаты последнего вектора данного на величину, заданную форматом идентификатора координаты. После этого по адресным указателям второго типа осуществляют переход к остальным идентификаторам координат, входящим в состав предпоследнего вектора данного.At the third step, the transition to the last identifier of the coordinate of the penultimate vector of the given offset from the first identifier of the coordinate of the last vector of this data by the amount specified by the format of the identifier of the coordinate is carried out. After that, the address pointers of the second type make the transition to the remaining identifiers of coordinates that are part of the penultimate vector of this.

На четвертом шаге коды идентификаторов координат предпоследнего вектора данного сравнивают с кодами идентификаторов координат векторов дескрипторов, соответствующих кодам идентификаторов координат, отсутствующим в составе последнего вектора данного.At the fourth step, the codes of the identifiers of the coordinates of the penultimate vector of the given are compared with the codes of the identifiers of coordinates of the vectors of the descriptors corresponding to the codes of the identifiers of coordinates that are absent from the last vector of this.

При совпадении кодов значения векторов дескрипторов заменяют на величины смещения и порядковые номера адресных указателей первого типа идентификаторов координат предпоследнего вектора данного.When the codes coincide, the values of the descriptor vectors are replaced by the offset values and serial numbers of the address pointers of the first type of coordinates identifiers of the penultimate vector of this.

При несовпадении кодов осуществляют переход к следующим в порядке приближения к началу файла векторам данных вплоть до нахождения идентификаторов координат, коды которых совпадают с кодами идентификаторов координат, отсутствующих в составе последнего вектора данного, с последующей заменой значений векторов дескрипторов.If the codes do not coincide, they move to the following in the order of approaching the beginning of the file the data vectors until the identifiers of coordinates are found whose codes coincide with the codes of identifiers of coordinates that are not present in the last vector of this data, followed by the replacement of the values of the descriptor vectors.

На пятом шаге последний вектор данного с неполным составом идентификаторов координат удаляют из файла. Восстановление внутренней непротиворечивости информации после аварийного завершения работы БД на этом заканчивают.In the fifth step, the last vector of the given incomplete set of coordinate identifiers is deleted from the file. The restoration of the internal consistency of information after the emergency shutdown of the database is completed.

ПРИМЕР РЕАЛИЗАЦИИEXAMPLE OF IMPLEMENTATION

В качестве примера реализации настоящего изобретения рассматривают БД абонентов телефонных номеров.As an example implementation of the present invention consider the database of subscribers of telephone numbers.

Схема данных БД включает следующие измерения (в скобках указаны их цифровые коды):The database data schema includes the following measurements (their digital codes are indicated in brackets):

- уникальные идентификационные номера (УИН) абонентов (1);- unique identification numbers (UIN) of subscribers (1);

- фамилии абонентов (2);- last names of subscribers (2);

- имена абонентов (3);- names of subscribers (3);

- наименования регионов (4);- names of regions (4);

- наименования городов (5);- names of cities (5);

- наименования улиц (6);- street names (6);

- номера домов (7);- house numbers (7);

- УИН телефонов (8);- UIN phones (8);

- телефонные коды регионов (9);- telephone codes of regions (9);

- телефонные коды городов (10);- telephone codes of cities (10);

- абонентские номера телефонов (11);- subscriber phone numbers (11);

- УИН телефонных кодов (12).- UIN of telephone codes (12).

Многомерное пространство БД включает в себя гиперкуб абонентов, гиперкуб телефонов и гиперкуб телефонных кодов. Неизменной координатой первого гиперкуба является УИН абонента, второго гиперкуба - УИН телефона, третьего гиперкуба - УИН телефонного кода.The multidimensional database space includes a hypercube of subscribers, a hypercube of telephones, and a hypercube of telephone codes. The constant coordinate of the first hypercube is the subscriber’s UIN, the second hypercube is the telephone UIN, and the third hypercube is the telephone code UIN.

Данные гиперкуба абонентов состоят из следующих координат, объединенных в иерархии:The subscriber’s hypercube data consists of the following coordinates, united in a hierarchy:

1 уровень иерархии - УИН абонента1 level hierarchy - subscriber UIN

2 уровень иерархии - фамилия абонента2 hierarchy level - last name of the subscriber

3 уровень иерархии - имя абонента3 hierarchy level - subscriber name

2 уровень иерархии - регион2 hierarchy level - region

3 уровень иерархии - город3 level hierarchy - city

4 уровень иерархии - улица4th level hierarchy - street

5 уровень иерархии - номер дома5 level hierarchy - house number

2 уровень иерархии - УИН телефона.2 level hierarchy - UIN phone.

Данных гиперкуба телефонов состоят из следующих координат, объединенных в иерархию:The phone’s hypercube data consists of the following coordinates, united in a hierarchy:

1 уровень иерархии - УИН телефонаHierarchy Level 1 - Phone UIN

2 уровень иерархии - телефонный код региона2 hierarchy level - region telephone code

3 уровень иерархии - телефонный код города3 hierarchy level - telephone code of the city

4 уровень иерархии - абонентский номер телефона.4 hierarchy level - subscriber phone number.

Данных гиперкуба телефонных кодов состоят из следующих координат, объединенных в иерархии:The phone code hypercube data consists of the following coordinates, united in a hierarchy:

1 уровень иерархии - УИН телефонного кодаLevel 1 hierarchy - UIN phone code

2 уровень иерархии - телефонный код региона2 hierarchy level - region telephone code

3 уровень иерархии - регион3 hierarchy level - region

3 уровень иерархии - телефонный код города3 hierarchy level - telephone code of the city

4 уровень иерархии - город.4th level of the hierarchy is the city.

Координаты вектора данного могут входить в несколько вариантных групп. Например, абонент может иметь разные адреса и более чем один телефонный номер.The coordinates of this vector can be included in several variant groups. For example, a subscriber may have different addresses and more than one phone number.

Физическая запись информации в файле БД состоит из отдельных чисел, логически разделенных на векторы, идентификаторы координат и составляющие их элементы с помощью заданного формата записи.The physical record of information in a database file consists of individual numbers logically divided into vectors, coordinate identifiers and their constituent elements using a given recording format.

В условной записи структуры консолидированных версий векторов данных строки соответствуют идентификаторам координат векторов. Первый знак «.» разделяет порядковые номера иерархической и вариантной групп компонент в составе вектора, второй знак «.» - цифровые коды измерения и унифицированного значения координаты, третий знак «.» - символьные наименования измерения и значения координаты, условно приведенные в примере. Знак «/» разделяет порядковые номера, цифровые коды и символьные наименования.In a conditional record of the structure of consolidated versions of data vectors, the rows correspond to the identifiers of the coordinates of vectors. The first sign “.” Separates the serial numbers of the hierarchical and variant groups of components in the vector, the second sign “.” - digital codes for the measurement and the unified coordinate value, the third sign “.” - the symbolic names of the measurement and coordinate values conventionally given in the example. The “/” sign separates serial numbers, numeric codes, and symbolic names.

Условная запись векторов дескрипторов и неконсолидированных версий векторов данных в структуре БД состоит из отдельных абзацев - векторов, строк - идентификаторов координат и чисел - составляющих элементов, разделенных знаком «/». Каждый гиперкуб в примере состоит из одного сегмента.The conditional notation of descriptor vectors and unconsolidated versions of data vectors in the database structure consists of separate paragraphs — vectors, lines — identifiers of coordinates and numbers — constituent elements separated by the “/” sign. Each hypercube in the example consists of one segment.

СТРУКТУРА КОНСОЛИДИРОВАННЫХ ВЕРСИЙ ВЕКТОРОВ ДАННЫХ.STRUCTURE OF CONSOLIDATED VERSIONS OF DATA VECTORS.

Гиперкуб абонентовHypercube subscribers

Консолидированная версия вектораConsolidated Version of Vector

1.1 / 1.1 / УИН абонента. 11.1 / 1.1 / PIN of the subscriber. one

2.1 / 2.1 / Фамилия. Смирнов2.1 / 2.1 / Surname. Smirnov

3.1 / 3.1 / Имя. Иван3.1 / 3.1 / Name. Ivan

2.1 / 4.1 / Регион. Татарстан2.1 / 4.1 / Region. Tatarstan

3.1 / 5.1 / Город. Казань3.1 / 5.1 / City. Kazan

4.1 / 6.1 / Улица. Цветочная4.1 / 6.1 / Street. Flower

5.1 / 7.1 / Номер дома. 1285.1 / 7.1 / House number. 128

2.1 / 8.1 / УИН телефона. 12.1 / 8.1 / UIN phone. one

2.2 / 4.2 / Регион. Карелия2.2 / 4.2 / Region. Karelia

3.2 / 5.2 / Город. Петрозаводск3.2 / 5.2 / City. Petrozavodsk

4.2 / 6.2 / Улица. Озерная4.2 / 6.2 / Street. Lake

5.2 / 7.2 / Номер дома. 675.2 / 7.2 / House number. 67

2.2 / 8.2 / УИН телефона. 22.2 / 8.2 / UIN phone. 2

Гиперкуб телефоновHypercube Phones

Консолидированная версия первого вектораConsolidated version of the first vector

1.1 / 8.1 / УИН телефона. 1 >1.1 / 8.1 / UIN phone. 1>

2.1 / 9.1 / Телефонный код региона. 5602.1 / 9.1 / Telephone code of the region. 560

3.1 / 10.1 / Телефонный код города. 393.1 / 10.1 / Telephone code of the city. 39

4.1 / 11.1 / Абонентский номер телефона. 208474.1 / 11.1 / Subscriber phone number. 20847

Консолидированная версия второго вектораConsolidated version of the second vector

1.1 / 8.2 / УИН телефона. 21.1 / 8.2 / UIN phone. 2

2.1 / 9.2 / Телефонный код региона. 3152.1 / 9.2 / Telephone code of the region. 315

3.1 / 10.2 / Телефонный код города. 763.1 / 10.2 / Telephone code of the city. 76

4.1 / 11.2 / Абонентский номер телефона. 184284.1 / 11.2 / Subscriber phone number. 18428

Гиперкуб телефонных кодовHypercube phone codes

Консолидированная версия первого вектораConsolidated version of the first vector

1.1 / 12.1 / УИН телефонного кода. 11.1 / 12.1 / PIN code. one

2.1 / 9.1 / Телефонный код региона. 5602.1 / 9.1 / Telephone code of the region. 560

3.1 / 4.1 / Регион. Татарстан3.1 / 4.1 / Region. Tatarstan

3.1 /10.1 / Телефонный код города. 393.1 /10.1 / Telephone code of the city. 39

4.1 / 5.1 / Город. Казань.4.1 / 5.1 / City. Kazan.

Консолидированная версия второго вектораConsolidated version of the second vector

1.1 / 12.2 / УИН телефонного кода. 21.1 / 12.2 / PIN code. 2

2.1 / 9.2 / Телефонный код региона. 3152.1 / 9.2 / Telephone code of the region. 315

3.1 / 4.2 / Регион. Карелия3.1 / 4.2 / Region. Karelia

3.1 / 10.2 / Телефонный код города. 763.1 / 10.2 / Telephone code of the city. 76

4.1 / 5.2 / Город. Петрозаводск.4.1 / 5.2 / City. Petrozavodsk.

Структура корневого вектора сегмента гиперкуба (на примере корневого вектора гиперкуба абонентов).The structure of the root vector of a hypercube segment (using the example of the root vector of a hypercube of subscribers).

Имя идентификатораID Name

000 - величина смещения относительно начала файла идентификатора координаты корневого вектора дескриптора (в относительных или абсолютных выбранных условных единицах).000 - the offset value relative to the beginning of the identifier file of the coordinate of the root vector of the descriptor (in relative or absolute selected arbitrary units).

01 - порядковый номер записи корневого вектора дескриптора в файл.01 - serial number of the entry of the root vector of the descriptor to the file.

Адресный указатель первого типа.Address pointer of the first type.

283 - величина смещения относительно начала файла адресного указателя первого типа идентификатора координаты последнего по порядку записи корневого вектора дескриптора в составе БД.283 - the offset value relative to the beginning of the file of the address pointer of the first type of identifier of the coordinate of the last in order of recording the root vector of the descriptor in the database.

01 - порядковый номер гиперкуба в составе БД.01 - serial number of the hypercube in the database.

Адресный указатель второго типаAddress pointer of the second type

032 - величина смещения относительно начала файла адресного указателя второго типа пятого вектора дескриптора, расположенного на первом уровне узлов бинарного дерева032 - offset value relative to the beginning of the address pointer file of the second type of the fifth descriptor vector located at the first level of the nodes of the binary tree

04 - уровень узлов бинарного дерева, на котором расположен корневой вектор дескриптора.04 - node level of the binary tree on which the root vector of the descriptor is located.

Адресный указатель третьего типа.Address pointer of the third type.

033 - величина смещения относительно начала файла адресного указателя третьего типа пятого вектора дескриптора, расположенного на первом уровне узлов бинарного дерева.033 - the offset value relative to the beginning of the address pointer file of the third type of the fifth descriptor vector located at the first level of the nodes of the binary tree.

04 - уровень узлов бинарного дерева, на котором расположен корневой вектор дескриптора.04 - node level of the binary tree on which the root vector of the descriptor is located.

Адресный указатель четвертого типа.The address pointer of the fourth type.

004 - величина смещения относительно начала файла адресного указателя четвертого типа идентификатора координаты корневого вектора дескриптора.004 - the offset value relative to the beginning of the file of the address pointer of the fourth type of identifier of the coordinate of the root vector of the descriptor.

01 - порядковый номер сегмента.01 - serial number of the segment.

Идентификатор.Identifier.

000 - системный цифровой код сегмента гиперкуба.000 is the system digital code for the hypercube segment.

01 - системный цифровой код корневого вектора дескриптора.01 - system digital code of the root vector of the descriptor.

Структура вектора дескриптора гиперкуба (на примере первого вектора дескриптора гиперкуба абонентов).The structure of the hypercube descriptor vector (for example, the first subscriber hypercube descriptor vector).

Имя идентификатора.The name of the identifier.

006 - величина смещения относительно начала файла идентификатора координаты первого вектора дескриптора (в условных единицах).006 - offset value relative to the beginning of the identifier file of the coordinate of the first descriptor vector (in arbitrary units).

02 - порядковый номер записи вектора дескриптора в файл.02 - serial number of the descriptor vector record to the file.

Адресный указатель первого типа.Address pointer of the first type.

271 - величина смещения относительно начала файла адресного указателя первого типа идентификатора координаты последнего вектора данного с цифровым кодом идентификатора 001.01271 - offset value relative to the beginning of the file of the address pointer of the first type of identifier of the coordinate of the last vector of the given with the digital identifier code 001.01

04 - количество векторов данных с цифровым кодом идентификатора 001.0104 - the number of data vectors with digital identifier code 001.01

Адресный указатель второго типа.Address pointer of the second type.

032 - величина смещения относительно начала файла адресного указателя второго типа пятого вектора дескриптора, расположенного на первом уровне узлов бинарного дерева032 - offset value relative to the beginning of the address pointer file of the second type of the fifth descriptor vector located at the first level of the nodes of the binary tree

04 - уровень узлов бинарного дерева, на котором расположен первый вектор дескриптора.04 - node level of the binary tree on which the first vector of the descriptor is located.

Адресный указатель третьего типа.Address pointer of the third type.

033 - величина смещения относительно начала файла адресного указателя третьего типа пятого вектора дескриптора, расположенного на первом уровне узлов бинарного дерева.033 - the offset value relative to the beginning of the address pointer file of the third type of the fifth descriptor vector located at the first level of the nodes of the binary tree.

04 - уровень узлов бинарного дерева, на котором расположен корневой вектор дескриптора.04 - node level of the binary tree on which the root vector of the descriptor is located.

Адресный указатель четвертого типа.The address pointer of the fourth type.

010 - величина смещения относительно начала файла вектора дескриптора гиперкуба с совпадающим идентификатором.010 - the offset value relative to the beginning of the file of the descriptor vector of the hypercube with a matching identifier.

01 - порядковый номер сегмента гиперкуба. Идентификатор01 - serial number of the hypercube segment. Identifier

001 - цифровой код измерения «УИН абонента».001 - digital measurement code "subscriber UIN".

01 - цифровой код унифицированного значения координаты.01 - digital code of a unified coordinate value.

Структура вектора данного (на примере первого идентификатора координаты первой версии первого вектора данного гиперкуба абонентов).The structure of this vector (for example, the first identifier of the coordinates of the first version of the first vector of this subscriber’s hypercube).

Имя идентификатораID Name

048 - величина смещения относительно начала файла первого идентификатора координаты вектора данного (в условных единицах).048 - the offset value relative to the beginning of the file of the first identifier of the coordinate of the vector of the given (in arbitrary units).

09 - порядковый номер записи вектора данного в файл.09 - the serial number of the recording vector given in the file.

Адресный указатель первого типа.Address pointer of the first type.

007 - величина смещения относительно начала файла адресного указателя первого типа идентификатора координаты вектора дескриптора гиперкуба абонентов.007 - the offset value relative to the beginning of the file of the address pointer of the first type of identifier of the coordinates of the vector descriptor of the hypercube subscribers.

01 - порядковый номер первого идентификатора первого вектора данного в циклическом списке идентификаторов координат с цифровым кодом 001.0101 - serial number of the first identifier of the first vector given in the cyclic list of coordinate identifiers with digital code 001.01

Адресный указатель второго типа.Address pointer of the second type.

086 - величина смещения относительно начала файла адресного указателя второго типа последнего идентификатора координаты вектора данного.086 - the offset value relative to the beginning of the file of the address pointer of the second type of the last identifier of the coordinate of the vector of this.

01 - порядковый номер первого идентификатора координаты в составе вектора данного.01 - serial number of the first identifier of the coordinate in the vector of this.

Адресный указатель третьего типа.Address pointer of the third type.

051 - величина смещения относительно начала файла адресного указателя третьего типа последнего идентификатора координаты вектора данного.051 - the offset value relative to the beginning of the file of the address pointer of the third type of the last identifier of the coordinate of the vector of this.

01 - порядковый номер уровня иерархии координаты.01 - serial number of the coordinate hierarchy level.

Адресный указатель четвертого типаThe fourth type of address pointer

052 - величина смещения относительно начала файла адресного указателя четвертого типа первого идентификатора координаты вектора данного.052 - the offset value relative to the beginning of the file of the address pointer of the fourth type of the first identifier of the coordinate of the vector of this.

01 - порядковый номер вариантной группы координаты.01 - serial number of the variant group of coordinates.

ИдентификаторIdentifier

001 - цифровой код измерения «УИН абонента».001 - digital measurement code "subscriber UIN".

01 - цифровой код унифицированного значения координаты «Смирнов».01 - digital code of the uniform value of the coordinate "Smirnov".

Структура БДDB structure Гиперкуб абонентовHypercube subscribers измеренияmeasuring Корневой векторRoot vector 000.01 / 283.01 / 032.04 / 033.04 / 004.01 / 000.01000.01 / 283.01 / 032.04 / 033.04 / 004.01 / 000.01 Первый вектор дескриптораFirst descriptor vector 006.02 / 271.04 / 032.04 / 033.04 / 010.01 / 001.01006.02 / 271.04 / 032.04 / 033.04 / 010.01 / 001.01 УИН абонентаSubscriber's UIN Второй вектор дескриптораSecond descriptor vector 012.03 / 055.01 / 032.04 / 033.04 / 018.01 / 002.01012.03 / 055.01 / 032.04 / 033.04 / 018.01 / 002.01 фамилияsurname Третий вектор дескриптораThird descriptor vector 018.04 / 061.01 / 002.03 / 045.03 / 022.01 / 003.01018.04 / 061.01 / 002.03 / 045.03 / 022.01 / 003.01 имяname Четвертый вектор дескриптораFourth Descriptor Vector 024.05 / 067.01 / 014.03 / 147.03 / 028.01 / 004.01024.05 / 067.01 / 014.03 / 147.03 / 028.01 / 004.01 регионregion Пятый вектор дескриптораFifth descriptor vector 030.06 / 073.01 /164.01 /171.01 / 034.01 / 005.01030.06 / 073.01 /164.01 /171.01 / 034.01 / 005.01 городcity Шестой вектор дескриптораSixth descriptor vector 036.07 / 079.01 / 008.03 /183.03 / 040.01 / 006.01036.07 / 079.01 / 008.03 /183.03 / 040.01 / 006.01 улицаStreet Седьмой вектор дескриптораSeventh Descriptor Vector 042.08 / 085.01 / 032.04 / 033.04 / 046.01 / 007.01042.08 / 085.01 / 032.04 / 033.04 / 046.01 / 007.01 домhouse Первая версия первого вектора данногоThe first version of the first vector of this 048.09 / 007.01 / 086.01 / 051.01 / 052.01 / 001.01048.09 / 007.01 / 086.01 / 051.01 / 052.01 / 001.01 УИН абонентаSubscriber's UIN 054.09 / 013.01 / 050.02 / 051.02 / 052.01 / 002.01054.09 / 013.01 / 050.02 / 051.02 / 052.01 / 002.01 фамилияsurname 060.09 / 019.01 / 056.03 / 057.03 / 058.01 / 003.01060.09 / 019.01 / 056.03 / 057.03 / 058.01 / 003.01 имяname 066.09 / 025.01 / 062.04 / 063.02 / 064.01 / 004.01066.09 / 025.01 / 062.04 / 063.02 / 064.01 / 004.01 регионregion 072.09 / 031.01 / 068.05 / 069.03 / 070.01 / 005.01072.09 / 031.01 / 068.05 / 069.03 / 070.01 / 005.01 городcity 078.09 / 037.01 / 074.06 / 075.04 / 076.01 / 006.01078.09 / 037.01 / 074.06 / 075.04 / 076.01 / 006.01 улицаStreet 084.09 / 043.01 / 080.07 / 081.05 / 082.01 / 007.01084.09 / 043.01 / 080.07 / 081.05 / 082.01 / 007.01 домhouse Гиперкуб телефоновHypercube Phones Корневой векторRoot vector 090.10 / 001.02 / 104.04 / 105.04 / 094.01 / 000.01090.10 / 001.02 / 104.04 / 105.04 / 094.01 / 000.01 Первый вектор дескриптораFirst descriptor vector 096.11 / 121.01 / 092.03 / 225.03 / 100.01 / 008.01096.11 / 121.01 / 092.03 / 225.03 / 100.01 / 008.01 УИН телефонаWin phone Второй вектор дескриптораSecond descriptor vector 102.12 / 127.01 / 218.01 / 231.01 /106.01 / 009.01102.12 / 127.01 / 218.01 / 231.01 /106.01 / 009.01 телефонный код регионаregion telephone code Третий вектор дескриптораThird descriptor vector 108.13 / 133.01 / 104.04 / 105.04 / 112.01 / 010.01108.13 / 133.01 / 104.04 / 105.04 / 112.01 / 010.01 телефонный код городаarea code Четвертый вектор дескриптораFourth Descriptor Vector 114.14 / 139.01 / 104.04 / 105.04 / 118.01 / 011.01114.14 / 139.01 / 104.04 / 105.04 / 118.01 / 011.01 абонентский номер телефонаphone number Первая версия первого вектора данногоThe first version of the first vector of this 120.14 / 097.01 / 140.01 / 123.01 / 124.01 / 008.01120.14 / 097.01 / 140.01 / 123.01 / 124.01 / 008.01 УИН телефонаWin phone 126.14 /103.01 / 122.02 / 123.02 / 124.01 / 009.01126.14 / 103.01 / 122.02 / 123.02 / 124.01 / 009.01 телефонный код регионаregion telephone code 132.14 / 109.01 / 128.03 / 129.03 / 130.01 / 010.01132.14 / 109.01 / 128.03 / 129.03 / 130.01 / 010.01 телефонный код городаarea code 138.14 / 115.01 / 134.04 / 135.04 / 136.01 / 011.01138.14 / 115.01 / 134.04 / 135.04 / 136.01 / 011.01 абонентский номер телефонаphone number Гиперкуб абонентовHypercube subscribers Восьмой вектор дескриптораEighth Descriptor Vector 144.15 / 157.01 / 032.04 / 033.04 / 148.01 / 008.01144.15 / 157.01 / 032.04 / 033.04 / 148.01 / 008.01 УИН телефонаWin phone Вторая версия первого вектора данногоThe second version of the first vector of this 048.16 / 043.02 / 158.01 / 153.01 / 154.01 / 001.01048.16 / 043.02 / 158.01 / 153.01 / 154.01 / 001.01 УИН абонентаSubscriber's UIN 156.16 / 133.01 / 152.02 / 153.02 / 154.01 / 008.01156.16 / 133.01 / 152.02 / 153.02 / 154.01 / 008.01 УИН телефонаWin phone Девятый вектор дескриптораNinth Descriptor Vector 162.17 / 193.01 / 020.02 / 039.02 /166.01 / 004.02162.17 / 193.01 / 020.02 / 039.02 /166.01 / 004.02 регионregion Десятый вектор дескриптораTenth descriptor vector 168.18 / 199.01 / 026.02 / 177.02 / 172.01 / 005.02168.18 / 199.01 / 026.02 / 177.02 / 172.01 / 005.02 городcity Одиннадцатый вектор дескриптораEleventh Descriptor Vector 174.19 / 205.01 / 032.03 / 267.03 / 178.01 / 006.02174.19 / 205.01 / 032.03 / 267.03 / 178.01 / 006.02 улицаStreet Двенадцатый вектор дескриптораTwelfth Descriptor Vector 180.20 / 211.01 / 132.04 / 033.04 / 184.01 / 007.02180.20 / 211.01 / 132.04 / 033.04 / 184.01 / 007.02 домhouse Третья версия первого вектора данногоThe third version of the first vector of this 048.21 / 139.03 / 212.01 / 189.01 / 190.01 / 001.01048.21 / 139.03 / 212.01 / 189.01 / 190.01 / 001.01 УИН абонентаSubscriber's UIN 192.21 / 151.01 / 188.02 / 189.02 / 190.02 / 004.02192.21 / 151.01 / 188.02 / 189.02 / 190.02 / 004.02 регионregion 198.21 / 157.01 / 194.03 / 195.03 / 196.02 / 005.02198.21 / 157.01 / 194.03 / 195.03 / 196.02 / 005.02 городcity 204.21 / 163.01 / 200.04 / 201.04 / 202.02 / 006.02204.21 / 163.01 / 200.04 / 201.04 / 202.02 / 006.02 улицаStreet 210.21 / 169.01 / 206.05 / 207.05 / 208.02 / 007.02210.21 / 169.01 / 206.05 / 207.05 / 208.02 / 007.02 домhouse Гиперкуб телефоновHypercube Phones Пятый вектор дескриптораFifth descriptor vector 216.22 / 241.01 / 098.02 /117.02 / 220.01 / 008.02216.22 / 241.01 / 098.02 /117.02 / 220.01 / 008.02 УИН телефонаWin phone Шестой вектор дескриптораSixth descriptor vector 222.23 / 247.01 / 104.04 / 105.04 / 226.01 / 009.02222.23 / 247.01 / 104.04 / 105.04 / 226.01 / 009.02 телефонный код регионаregion telephone code Седьмой вектор дескриптораSeventh Descriptor Vector 228.24 / 253.01 / 110.02 / 237.02 / 232.01 / 010.02228.24 / 253.01 / 110.02 / 237.02 / 232.01 / 010.02 телефонный код городаarea code Восьмой вектор дескриптораEighth Descriptor Vector 234.25 / 259.01 / 104.03 / 105.03 / 238.01 / 011.02234.25 / 259.01 / 104.03 / 105.03 / 238.01 / 011.02 абонентский номер телефонаphone number Первая версия второго вектора данногоThe first version of the second vector of this 240.26 / 205.01 / 260.01 / 243.01 / 244.01 / 008.02240.26 / 205.01 / 260.01 / 243.01 / 244.01 / 008.02 УИН телефонаWin phone 246.26 / 211.01 / 242.02 / 243.02 / 244.01 / 009.02246.26 / 211.01 / 242.02 / 243.02 / 244.01 / 009.02 телефонный код регионаregion telephone code 252.26 / 217.01 / 248.03 / 249.03 / 250.01 / 010.02252.26 / 217.01 / 248.03 / 249.03 / 250.01 / 010.02 телефонный код городаarea code 258.26 / 223.01 / 254.04 / 255.04 / 256.01 / 011.02258.26 / 223.01 / 254.04 / 255.04 / 256.01 / 011.02 абонентский номер телефонаphone number Гиперкуб абонентовHypercube subscribers Тринадцатый вектор дескриптораThirteenth Descriptor Vector 264.27 / 277.01 / 032.04 / 033.04 / 268.01 / 008.02264.27 / 277.01 / 032.04 / 033.04 / 268.01 / 008.02 УИН телефонаWin phone Четвертая версия первого вектора данногоThe fourth version of the first vector of this 048.28 / 175.04 / 278.01 / 273.01 / 274.01 / 001.01048.28 / 175.04 / 278.01 / 273.01 / 274.01 / 001.01 УИН абонентаSubscriber's UIN 276.28 / 253.01 / 272.02 / 273.02 / 274.02 / 008.02276.28 / 253.01 / 272.02 / 273.02 / 274.02 / 008.02 УИН телефонаWin phone Гиперкуб телефонных кодовHypercube phone codes Корневой векторRoot vector 282.29 / 091.03 / 314.04 / 315.04 / 286.01 / 000.01282.29 / 091.03 / 314.04 / 315.04 / 286.01 / 000.01 Первый вектор дескриптораFirst descriptor vector 288.30 / 319.01 / 368.02 / 351.02 / 292.01 / 012.01288.30 / 319.01 / 368.02 / 351.02 / 292.01 / 012.01 УИН телефонного кодаUIN phone code Второй вектор дескриптораSecond descriptor vector 294.31 / 325.01 / 314.04 / 315.04 / 298.01 / 009.01294.31 / 325.01 / 314.04 / 315.04 / 298.01 / 009.01 телефонный код регионаregion telephone code Третий вектор дескриптораThird descriptor vector 300.32 / 331.01 / 284.03 / 357.03 / 304.01 / 004.01300.32 / 331.01 / 284.03 / 357.03 / 304.01 / 004.01 регионregion Четвертый вектор дескриптораFourth Descriptor Vector 306.33 / 337.01 / 314.04 / 315.04 / 310.01 / 010.01306.33 / 337.01 / 314.04 / 315.04 / 310.01 / 010.01 телефонный код городаarea code Пятый вектор дескриптораFifth descriptor vector 312.34 / 343.01 / 362.01 / 291.01 / 316.01 / 005.01312.34 / 343.01 / 362.01 / 291.01 / 316.01 / 005.01 городcity Первая версия первого вектора данногоThe first version of the first vector of this 318.35 / 271.01 / 344.01 / 321.01 / 322.01 / 012.01318.35 / 271.01 / 344.01 / 321.01 / 322.01 / 012.01 УИН телефонного кодаUIN phone code 324.35 / 277.01 / 320.02 / 321.02 / 322.01 / 009.01324.35 / 277.01 / 320.02 / 321.02 / 322.01 / 009.01 телефонный код регионаregion telephone code 330.35 / 283.01 / 326.03 / 327.03 / 328.01 / 004.01330.35 / 283.01 / 326.03 / 327.03 / 328.01 / 004.01 регионregion 336.35 / 289.01 / 332.02 / 333.03 / 334.01 / 010.01336.35 / 289.01 / 332.02 / 333.03 / 334.01 / 010.01 телефонный код городаarea code 342.35 / 295.01 / 338.03 / 339.04 / 340.01 / 005.01342.35 / 295.01 / 338.03 / 339.04 / 340.01 / 005.01 городcity Шестой вектор дескриптораSixth descriptor vector 348.36 / 379.01 / 314.03 / 315.03 / 352.01 / 012.02348.36 / 379.01 / 314.03 / 315.03 / 352.01 / 012.02 УИН телефонного кодаUIN phone code Седьмой вектор дескриптораSeventh Descriptor Vector 354.37 / 385.01 / 296.03 / 309.03 / 358.01 / 009.02354.37 / 385.01 / 296.03 / 309.03 / 358.01 / 009.02 телефонный код регионаregion telephone code Восьмой вектор дескриптораEighth Descriptor Vector 360.38 / 391.01 / 302.02 / 357.02 / 364.01 / 004.02360.38 / 391.01 / 302.02 / 357.02 / 364.01 / 004.02 регионregion Девятый вектор дескриптораNinth Descriptor Vector 366.39 / 397.01 / 314.03 / 315.01 / 370.01 / 010.02366.39 / 397.01 / 314.03 / 315.01 / 370.01 / 010.02 телефонный код городаarea code Десятый вектор дескриптораTenth descriptor vector 372.40 / 403.01 / 314.04 / 315.04 / 376.01 / 005.02372.40 / 403.01 / 314.04 / 315.04 / 376.01 / 005.02 городcity Первая версия второго вектора данногоThe first version of the second vector of this 378.41 / 331.01 / 403.01 / 381.01 / 382.01 / 012.02378.41 / 331.01 / 403.01 / 381.01 / 382.01 / 012.02 УИН телефонного кодаUIN phone code 384.41 / 337.01 / 380.02 / 381.02 / 362.01 / 009.02384.41 / 337.01 / 380.02 / 381.02 / 362.01 / 009.02 телефонный код регионаregion telephone code 390.41 / 343.01 / 386.03 / 387.03 / 388.01 / 004.02390.41 / 343.01 / 386.03 / 387.03 / 388.01 / 004.02 регионregion 396.41 / 349.01 / 392.02 / 393.02 / 394.01 / 010.02396.41 / 349.01 / 392.02 / 393.02 / 394.01 / 010.02 телефонный код городаarea code 402.41 / 355.01 / 398.03 / 399.04 / 400.01 / 005.02402.41 / 355.01 / 398.03 / 399.04 / 400.01 / 005.02 городcity

Схема поиска информации представлена на фиг.4.Information retrieval scheme is presented in figure 4.

Поиск информации в БД осуществляют в соответствии с ключом поиска, сформированным из следующих унифицированных значений координат измерений:Information search in the database is carried out in accordance with the search key formed from the following unified values of the measurement coordinates:

измерение «УИН телефона» - значение неизвестной в начале поиска координаты «**»;measurement "telephone PIN" - the value of the coordinate "**" unknown at the beginning of the search;

измерение «Фамилия» - значение искомой координаты «Смирнов»;Dimension “Last name” - the value of the desired coordinate “Smirnov”;

измерение «Город» - значение искомой координаты «Петрозаводск». В рассматриваемом примере буфер БД условно не используют. Поэтому процедуру поиска начинают с обращения непосредственно к векторам дескрипторов, записанным в файле БД, с целью сравнения между собой значений порядковых номеров записи координат «Смирнов» и «Петрозаводск».measurement "City" - the value of the desired coordinate "Petrozavodsk". In this example, the database buffer is conditionally not used. Therefore, the search procedure begins by referring directly to the descriptor vectors recorded in the database file in order to compare the values of the sequence numbers of the Smirnov and Petrozavodsk coordinates.

В соответствии с идентификатором координаты «Смирнов» определяют вектор дескриптора гиперкуба абонентов и указанную в векторе дескриптора величину смещения адресного указателя первого типа идентификатора координаты первой версии вектора данного. Производят переход к этому идентификатору координаты, по адресным указателям второго типа осуществляют чтение всех идентификаторов координат, входящих в первую версию вектора данного. На основе сравнения порядковых номеров уровней иерархии определяют идентификатор координаты с порядковым номером уровня иерархии, равным 1 (неизменная координата из состава измерения «УИН абонента»). По адресному указателю первого типа этого идентификатора координаты первой версии вектора данного осуществляют переход к вектору дескриптора с совпадающим идентификатором.In accordance with the “Smirnov” coordinate identifier, the subscriber’s hypercube descriptor vector and the offset value of the address pointer of the first type of the identifier of the coordinate identifier of the first version of the given vector are specified in the descriptor vector. They make the transition to this coordinate identifier, using address pointers of the second type, read all coordinate identifiers included in the first version of this vector. Based on the comparison of the sequence numbers of the hierarchy levels, the coordinate identifier is determined with the sequence number of the hierarchy level equal to 1 (unchanged coordinate from the “Subscriber’s PIN” measurement). At the address pointer of the first type of this identifier, the coordinates of the first version of the vector of this transition to the descriptor vector with a matching identifier.

По адресным указателям первого типа вектора дескриптора и промежуточных версий вектора данного осуществляют последовательный переход ко всем остальным версиям вектора данного гиперкуба абонентов. По адресным указателям второго типа осуществляют чтение всех идентификаторов координат версий вектора данного и сравнивают их с идентификатором ключа поиска по значению координаты «Петрозаводск», которая находится во второй измененной версии вектора данного.The address pointers of the first type of the descriptor vector and the intermediate versions of the vector of this one carry out a sequential transition to all other versions of the vector of this hypercube of subscribers. The address pointers of the second type read all identifiers of the coordinates of the versions of the vector of the given and compare them with the identifier of the search key by the value of the Petrozavodsk coordinate, which is located in the second modified version of this vector.

В составе третьей измененной версии вектора данного находят идентификатор значения координаты измерения «УИН телефона» и по нему осуществляют переход к пятому вектору дескриптора гиперкуба телефонов. По адресному указателю первого типа вектора дескриптора осуществляют переход к первой версии второго вектора данного гиперкуба телефонов. В связи с тем, что адресный указатель первого типа идентификатора координаты указанной версии вектора данного имеет ссылку на вектор дескриптора, поиск версий векторов данных в гиперкубе телефонов завершают.In the composition of the third modified version of this vector, the identifier of the measurement coordinate value of the “telephone PIN” is found and the transition to the fifth vector of the phone’s hypercube descriptor is performed on it. Using the address pointer of the first type of the descriptor vector, a transition to the first version of the second vector of this telephone hypercube is performed. Due to the fact that the address pointer of the first type of identifier of the coordinates of the specified version of the given vector has a link to the descriptor vector, the search for versions of data vectors in the phone’s hypercube is completed.

По адресным указателям второго типа осуществляют чтение идентификаторов координат первой версии второго вектора данного гиперкуба телефонов. Идентификаторы координат заменяют на унифицированные значения координат из состава измерения. Полный телефонный номер абонента помещают в отчет о поиске.The address pointers of the second type read the identifiers of the coordinates of the first version of the second vector of this telephone hypercube. Coordinate identifiers are replaced by standardized coordinate values from the measurement. The full telephone number of the subscriber is placed in the search report.

ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ.INDUSTRIAL APPLICABILITY.

Заявленные технические решения промышленно применимы, поскольку используют известные промышленно выпускаемые аппаратные средства, известные промышленно выпускаемые программные инструменты. Заявленные технические решения могут быть повторены в промышленности, используя приведенное описание и формулу.The claimed technical solutions are industrially applicable, because they use well-known industrially produced hardware, well-known industrially produced software tools. The claimed technical solutions can be repeated in the industry using the above description and formula.

Claims (16)

1. Многомерная база данных, логическая модель которой состоит из измерений, каждое из которых соответствует одному из типов данных, гиперкубов, каждый из которых соответствует одному из подмножества данных, и векторов, каждый из которых соответствует одному из данных, отличающаяся тем, что
измерение состоит из унифицированных значений координат и кодов их идентификаторов, гиперкуб состоит из идентификаторов координат, связанных адресными указателями с идентификаторами координат векторов данных с совпадающими кодами, записанных в файл последними;
вектор данного состоит из идентификаторов координат, связанных адресными указателями с идентификаторами координат векторов данных с совпадающими кодами, ранее записанными в файл, при этом идентификаторы координат векторов данных, записанные в файл первыми, связаны адресными указателями с идентификаторами координат гиперкуба с совпадающими кодами,
каждый из идентификаторов координат представлен набором, включающим
имя идентификатора, состоящее из величины его смещения относительно начала файла и порядкового номера записи в файл вектора данного;
код идентификатора, состоящий из цифрового кода измерения и цифрового кода унифицированного значения координаты в этом измерении;
комплект адресных указателей, причем в комплект адресных указателей входят
адресный указатель первого типа, состоящий из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты с совпадающим кодом и порядкового номера данного идентификатора координаты в циклическом списке, образованном адресными указателями идентификаторов координат векторов данных и гиперкуба;
адресный указатель второго типа, состоящий из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты и порядкового номера идентификатора координаты в циклическом списке, образованном адресными указателями идентификаторов координат, входящих в состав одного вектора данного, при этом первый по порядку записи идентификатор координаты связан с последним по порядку записи идентификатором координаты;
адресный указатель третьего типа, состоящий из величины смещения относительно начала файла однотипного адресного указателя предыдущего идентификатора координаты, находящегося на более высоком уровне иерархии, и порядкового номера уровня иерархии данного идентификатора координаты, при этом адресные указатели идентификаторов координат, входящие в состав одной и той же иерархической группы вектора данного, образуют конечный список;
адресный указатель четвертого типа, состоящий из величины смещения относительно начала файла однотипного адресного указателя идентификатора координаты, входящего в одну вариантную группу, или, в случае завершения одной вариантной группы, входящей в состав другой вариантной группы, и порядкового номера вариантной группы, при этом адресные указатели идентификаторов координат, входящие в состав одного вектора данного, образуют конечный список.
1. A multidimensional database, the logical model of which consists of measurements, each of which corresponds to one of the data types, hypercubes, each of which corresponds to one of a subset of the data, and vectors, each of which corresponds to one of the data, characterized in that
the measurement consists of standardized coordinate values and codes of their identifiers, a hypercube consists of coordinate identifiers connected by address pointers with coordinate identifiers of data vectors with matching codes recorded last in the file;
the vector of this consists of coordinate identifiers associated with address pointers with coordinate identifiers of data vectors with matching codes previously written to the file, while the coordinate identifiers of data vectors written to the file first are connected by address pointers with coordinate identifiers of the hypercube with matching codes,
each of the coordinate identifiers is represented by a set including
the name of the identifier, consisting of the magnitude of its offset relative to the beginning of the file and the serial number of the entries in the vector file;
an identifier code consisting of a digital measurement code and a digital code of a uniform coordinate value in this measurement;
a set of address indicators, and the set of address indicators includes
an address pointer of the first type, consisting of the offset relative to the beginning of the file of the same type of address pointer of the previous coordinate identifier with the same code and the serial number of this coordinate identifier in a cyclic list formed by address pointers of identifiers of coordinates of data vectors and a hypercube;
an address pointer of the second type, consisting of the offset relative to the beginning of the file of the same type of address pointer of the previous coordinate identifier and the sequence number of the coordinate identifier in the cyclic list formed by the address pointers of the coordinate identifiers that are part of one vector of this data, while the first coordinate order in the record is associated with the last coordinate identifier in order of recording;
an address pointer of the third type, consisting of the offset relative to the beginning of the file of the same type of address pointer of the previous coordinate identifier at a higher hierarchy level and the sequence number of the hierarchy level of this coordinate identifier, while the address identifiers of coordinate identifiers that are part of the same hierarchical groups of a given vector form a finite list;
an address pointer of the fourth type, consisting of the offset relative to the beginning of the file of the same type address pointer of the coordinate identifier included in one variant group, or, in the case of the completion of one variant group, which is part of another variant group, and the serial number of the variant group, with address pointers identifiers of coordinates, which are part of one vector of this, form a finite list.
2. Многомерная база данных по п.1, отличающаяся тем, что каждый идентификатор координаты гиперкуба представлен в виде вектора дескриптора, при этом адресный указатель первого типа идентификатора координаты вектора дескриптора содержит величину смещения относительно начала файла и порядковый номер адресного указателя первого типа идентификатора координаты вектора данного с совпадающим кодом идентификатора, записанного в файл последним.2. The multidimensional database according to claim 1, characterized in that each hypercube coordinate identifier is represented as a descriptor vector, while the address pointer of the first type of the descriptor vector coordinate identifier contains an offset value relative to the beginning of the file and the serial number of the address pointer of the first type of vector coordinate identifier given with the matching identifier code, written to the file last. 3. Многомерная база данных по п.2, отличающаяся тем, что;
векторы дескрипторов в составе гиперкуба логически объединены в два и более сегментов;
в состав каждого сегмента гиперкуба включается корневой вектор, состоящий из одного идентификатора координаты с системным кодом;
корневые векторы гиперкубов связаны в циклический список адресными указателями идентификаторов координат первого типа, порядковые номера которых принимают значения номеров гиперкубов в порядке их записи в файл;
корневой вектор и векторы дескрипторов, входящие в состав одного сегмента гиперкуба, связаны в индексную структуру типа бинарного дерева адресными указателями идентификаторов координат второго и третьего типов;
корневые векторы и векторы дескрипторов с совпадающими кодами идентификаторов координат, входящие в разные сегменты одного гиперкуба, связаны в циклические списки адресными указателями идентификаторов координат четвертого типа, при этом порядковые номера адресных указателей идентификаторов координат принимают значения номеров сегментов гиперкуба в порядке их записи в файл.
3. The multidimensional database according to claim 2, characterized in that;
descriptor vectors in the hypercube are logically combined into two or more segments;
a root vector consisting of one coordinate identifier with a system code is included in the composition of each segment of the hypercube;
the root vectors of the hypercubes are connected into a cyclic list by address pointers of identifiers of coordinates of the first type, the serial numbers of which take the values of the numbers of the hypercubes in the order they are written to the file;
the root vector and descriptor vectors that are part of one hypercube segment are connected to the index structure of a binary tree type by address pointers of coordinate identifiers of the second and third types;
root vectors and descriptor vectors with matching coordinate identifier codes included in different segments of the same hypercube are connected into cyclic lists by address identifiers of coordinates identifiers of the fourth type, while the sequence numbers of the address identifiers of coordinate identifiers take the values of the numbers of segments of the hypercube in the order they are written to the file.
4. Многомерная база данных по п.3, отличающаяся тем, что в ее состав включен буфер, например, расположенный в оперативной памяти компьютера, состоящий из таблиц значений векторов дескрипторов с наибольшими по величине порядковыми номерами адресных указателей координат четвертого типа и списка таблиц значений векторов дескрипторов в составе буфера, при этом
список таблиц значений векторов дескрипторов содержит адреса таблиц в составе буфера и формируется в порядке записи таблиц в файл;
каждая таблица значений векторов дескрипторов соответствует одному из измерений;
строки таблиц значений векторов дескрипторов соответствуют координатам измерений, формируются в порядке записи унифицированных значений координат в файл и содержат наборы полей, каждый из которых соответствует одному из гиперкубов, образованному измерениями, соответствующими таблицам;
в состав одного набора полей строк таблиц значений векторов дескрипторов входят поле величины смещения имени идентификатора вектора дескриптора относительно начала файла, поле порядкового номера адресного указателя четвертого типа идентификатора координаты вектора дескриптора, поле величины смещения относительно начала файла адресного указателя первого типа идентификатора координаты вектора данного с совпадающим кодом, записанного в файл последним, и поле порядкового номера адресного указателя первого типа идентификатора координаты этого вектора данного.
4. The multidimensional database according to claim 3, characterized in that it includes a buffer, for example, located in the computer’s RAM, consisting of tables of values of descriptor vectors with the largest ordinal numbers of address pointers of coordinates of the fourth type and a list of tables of values of vectors descriptors in the buffer, while
the list of tables of descriptor vector values contains the addresses of the tables in the buffer and is formed in the order in which the tables are written to the file;
each table of descriptor vector values corresponds to one of the dimensions;
rows of tables of descriptor vector values correspond to the coordinates of measurements, are formed in the order of writing standardized coordinate values to a file and contain sets of fields, each of which corresponds to one of the hypercubes formed by measurements corresponding to the tables;
one set of field fields for descriptor vector value table rows includes a field for the offset value of the name of the descriptor vector identifier relative to the beginning of the file, an ordinal number field of the address pointer of the fourth type of identifier for the vector of the descriptor, an offset value field for the start of the file of the address pointer of the first type of identifier of the first type of the vector coordinate identifier of the given vector with the same the last code written to the file, and the field of the serial number of the address pointer of the first type of coordinate identifier nats of this vector given.
5. Многомерная база данных по п.4, отличающаяся тем, что в буфере содержатся векторы данных, участвующих в операциях чтения и записи информации, и инвертированные списки координат этих векторов данных, при этом
инвертированные списки координат векторов данных содержат адреса векторов данных в составе буфера;
каждый вектор данного имеет порядковый номер, равный наибольшему порядковому номеру записи в файл одного из идентификаторов координат вектора данного.
5. The multidimensional database according to claim 4, characterized in that the buffer contains the vectors of data involved in the operations of reading and writing information, and inverted lists of coordinates of these data vectors,
inverted lists of coordinates of data vectors contain the addresses of the data vectors in the buffer;
each vector of a given has a serial number equal to the largest serial number of the record in the file of one of the identifiers of the coordinates of the vector of this.
6. Многомерная база данных по п.5, отличающаяся тем, что строки таблиц значений векторов дескрипторов дополнительно содержат поля унифицированных значений координат, поля индексов унифицированных значений координат и поля адресов инвертированных списков координат векторов данных в составе буфера.6. The multidimensional database according to claim 5, characterized in that the rows of the tables of descriptor vector values additionally contain fields of unified coordinate values, index fields of unified coordinate values and address fields of inverted coordinate lists of data vectors in the buffer. 7. Многомерная база данных по п.1, отличающаяся тем, что вектор данного может содержать в себе один или несколько фрагментов неструктурированной информации, каждый из которых ограничен с двух сторон идентификаторами координат, определяющими тип данных и формат записи фрагмента неструктурированной информации.7. The multidimensional database according to claim 1, characterized in that the vector of this data may contain one or more fragments of unstructured information, each of which is limited on two sides by coordinate identifiers that determine the data type and recording format of a fragment of unstructured information. 8. Способ управления многомерной базой данных по п.1, характеризующийся наличием операций идентификации, записи, чтения, изменения, удаления и сжатия информации, контроля внутренней непротиворечивости информации при совместной работе двух и более пользователей, восстановления внутренней непротиворечивости информации после аварийного завершения работы,
отличающийся тем, что
идентификацию информации обеспечивают посредством цифрового кодирования унифицированных значений координат в составе измерений и замены фактических значений координат на цифровые коды в составе векторов данных;
запись, чтение, изменение, удаление и сжатие информации обеспечивают посредством формирования логических сечений многомерного пространства, представленных циклическими списками идентификаторов координат векторов данных и гиперкубов с совпадающими кодами идентификаторов;
контроль внутренней непротиворечивости информации при совместной работе двух и более пользователей обеспечивают посредством последовательной нумерации векторов данных в порядке записи их в файл;
восстановление внутренней непротиворечивости информации после аварийного завершения работы многомерной базы данных обеспечивают посредством опережающей записи идентификаторов координат в состав векторов дескрипторов относительно момента их записи в состав векторов данных.
8. The method of managing the multidimensional database according to claim 1, characterized by the presence of operations of identification, writing, reading, changing, deleting and compressing information, controlling the internal consistency of information during the joint work of two or more users, restoring the internal consistency of information after an emergency shutdown,
characterized in that
information identification is provided by digitally encoding standardized coordinate values as part of measurements and replacing actual coordinate values by digital codes as part of data vectors;
writing, reading, changing, deleting and compressing information is provided through the formation of logical sections of multidimensional space, represented by cyclic lists of identifiers of coordinates of data vectors and hypercubes with matching identifier codes;
control of the internal consistency of information during the joint work of two or more users is ensured by sequential numbering of data vectors in the order they are written to a file;
the restoration of internal information consistency after the multidimensional database crashes is ensured by means of leading recording of coordinate identifiers in the composition of descriptor vectors relative to the moment of their recording in the composition of data vectors.
9. Способ управления многомерной базой данных по п.8, отличающийся тем, что идентификацию информации выполняют в следующей последовательности:
на первом шаге сравнивают фактические значения координат данного, поступившего из внешнего источника информации, с унифицированными значениями координат в составе измерений;
на втором шаге, в случае несовпадения фактических значений координат данного и унифицированных значений координат в составе измерений, фактические значения включают в состав измерений в качестве новых унифицированных значений с присвоением им цифровых кодов идентификаторов;
на третьем шаге производят замену фактических значений координат данного на цифровые коды идентификаторов унифицированных значений координат в составе измерений.
9. The method of managing a multidimensional database according to claim 8, characterized in that the identification of information is performed in the following sequence:
at the first step, the actual values of the coordinates of the data received from an external source of information are compared with the standardized values of the coordinates as part of the measurements;
at the second step, in case of discrepancy between the actual coordinate values of the given and the standardized coordinate values in the measurements, the actual values are included in the measurements as new standardized values with the assignment of digital identifier codes to them;
in the third step, the actual coordinate values of the given are replaced with digital codes of identifiers of standardized coordinate values as part of the measurements.
10. Способ управления многомерной базой данных по п.8, отличающийся тем, что сжатие информации осуществляют в следующей последовательности:
на первом шаге создают второй экземпляр гиперкуба, используемый для записи вновь поступающей информации и связанный с первым экземпляром адресными указателями четвертого типа корневых векторов и векторов дескрипторов;
на втором шаге создают копию первого экземпляра гиперкуба, не связанную с первым экземпляром адресными указателями четвертого типа корневых векторов и векторов дескрипторов, используемую как приемник информации, ранее записанной в первом экземпляре гиперкуба - источнике информации;
на третьем шаге производят сжатие информации путем формирования консолидированных версий векторов данных, содержащихся в источнике информации, и их переноса в приемник информации;
на четвертом шаге источник информации замещают приемником информации путем связывания второго экземпляра и копии первого экземпляра гиперкуба адресными указателями четвертого типа корневых векторов и векторов дескрипторов, первый экземпляр гиперкуба удаляют из файла.
10. The method of managing a multidimensional database according to claim 8, characterized in that the compression of information is carried out in the following sequence:
at the first step, a second instance of the hypercube is created, used to record newly received information and associated with the first instance by address pointers of the fourth type of root vectors and descriptor vectors;
at the second step, a copy of the first instance of the hypercube is created that is not associated with the first instance with address pointers of the fourth type of root vectors and descriptor vectors, used as a receiver of information previously recorded in the first instance of the hypercube - the source of information;
in the third step, information is compressed by generating consolidated versions of the data vectors contained in the information source and transferring them to the information receiver;
in the fourth step, the information source is replaced by the information receiver by linking the second instance and a copy of the first instance of the hypercube with address pointers of the fourth type of root vectors and descriptor vectors, the first instance of the hypercube is deleted from the file.
11. Способ управления многомерной базой данных по п.9, отличающийся тем, что восстановление внутренней непротиворечивости информации после аварийного завершения работы производят в следующей последовательности:
на первом шаге, на основании сравнения значений векторов дескрипторов гиперкуба, осуществляют переход к идентификатору координаты последнего вектора данного, наиболее смещенного относительно начала файла, после этого по адресным указателям второго типа производят переход к другим идентификаторам координат последнего вектора данного;
причем в случае наличия в составе последнего вектора данного полного набора идентификаторов координат восстановление внутренней непротиворечивости информации после аварийного завершения работы на этом заканчивают, в случае отсутствия в составе последнего вектора данного хотя бы одного из идентификаторов координат, адрес расположения которого записан в векторе дескриптора, дополнительно осуществляют следующие шаги;
на втором шаге значения векторов дескрипторов, коды идентификаторов которых соответствуют идентификаторам координат предыдущих векторов данных, заменяют на величины смещения относительно начала файла и порядковые номера адресных указателей первого типа идентификаторов координат вектора данного;
на третьем шаге осуществляют переход к последнему идентификатору координаты предпоследнего вектора данного, смещенного относительно первого идентификатора координаты последнего вектора данного на величину, заданную форматом идентификатора координаты, после этого по адресным указателям второго типа осуществляют переход к остальным идентификаторам координат, входящим в состав предпоследнего вектора данного;
на четвертом шаге коды идентификаторов координат предпоследнего вектора данного сравнивают с кодами идентификаторов координат векторов дескрипторов, соответствующих кодам идентификаторов координат, отсутствующим в составе последнего вектора данного, причем при совпадении кодов значения векторов дескрипторов заменяют на величины смещения и порядковые номера адресных указателей первого типа идентификаторов координат предпоследнего вектора данного, при несовпадении кодов осуществляют переход к следующим в порядке приближения к началу файла векторам данных вплоть до нахождения идентификаторов координат, коды которых совпадают с кодами идентификаторов координат, отсутствующих в составе последнего вектора данного, с последующей заменой значений векторов дескрипторов;
на пятом шаге последний вектор данного с неполным составом идентификаторов координат удаляют из файла.
11. The method of managing a multidimensional database according to claim 9, characterized in that the restoration of internal information consistency after an emergency shutdown is performed in the following sequence:
at the first step, based on the comparison of the values of the vectors of the descriptors of the hypercube, they move to the identifier of the coordinate of the last vector of the given one, the most offset from the beginning of the file, after that, using the address pointers of the second type, go to other identifiers of coordinates of the last vector of this;
moreover, if the last vector of this complete set of coordinate identifiers is present, the restoration of internal information consistency after an abnormal termination of work is completed, if the last vector does not contain at least one of the coordinate identifiers, the location address of which is recorded in the descriptor vector, additionally next steps;
at the second step, the values of the descriptor vectors, the identifier codes of which correspond to the identifiers of the coordinates of the previous data vectors, are replaced by the offset values relative to the beginning of the file and the sequence numbers of the address pointers of the first type of identifiers of the coordinates of the vector of this;
at the third step, the transition to the last identifier of the coordinate of the penultimate vector of this offset from the first identifier of the coordinate of the last vector of this data by the value specified by the format of the coordinate identifier is carried out, then the address identifiers of the second type go to the remaining identifiers of coordinates that are part of the penultimate vector of this;
in the fourth step, the codes of the coordinates of the penultimate vector of the given vector are compared with the codes of the coordinates of the identifiers of the descriptor vectors corresponding to the codes of the coordinate identifiers that are not present in the last vector of the given, and if the codes coincide, the values of the vectors of the descriptors are replaced by the offset values and serial numbers of the address pointers of the first type of identifiers of the penultimate coordinates vector of this, when the codes do not match, go to the next in order of approximation to the beginning of the file to the data vectors up to finding the identifiers of coordinates whose codes coincide with the codes of the identifiers of coordinates that are not present in the last vector of this data, with the subsequent replacement of the values of the descriptor vectors;
in the fifth step, the last vector of the given one with an incomplete set of coordinate identifiers is deleted from the file.
12. Способ управления многомерной базой данных по п.8, отличающийся тем, что чтение информации выполняют в следующей последовательности:
на первом шаге
пользователь формирует ключ поиска из одного или нескольких идентификаторов координат;
в составе буфера производят поиск значений векторов дескрипторов с соответствующими идентификаторами координат путем нахождения в списке адресов таблиц векторов дескрипторов, позиции которых соответствуют цифровым кодам измерений, перехода к указанным таблицам и поиска в их составе строк, позиции которых соответствуют цифровым кодам унифицированных значений координат;
в случае отсутствия в таблицах значений хотя бы одного из векторов дескрипторов с идентификаторами координат, соответствующими ключу поиска, чтение прекращают, в противном случае производят чтение значений векторов дескрипторов;
производят сравнение порядковых номеров адресных указателей четвертого типа идентификаторов координат векторов дескрипторов;
в случае их равенства порядковому номеру, соответствующему последнему сегменту гиперкуба, значения найденных векторов дескрипторов сравнивают между собой по величине порядковых номеров адресных указателей первого типа с последующим выбором вектора дескриптора с наименьшим номером, в противном случае по адресному указателю четвертого типа осуществляют переход к следующему сегменту гиперкуба;
на втором шаге
в составе сегмента гиперкуба производят поиск других векторов дескрипторов, идентификаторы координат которых совпадают с ключом поиска, путем обхода бинарного дерева индексной структуры;
в случае равенства порядковых номеров адресных указателей четвертого типа векторы дескрипторов сравнивают между собой по величине порядковых номеров адресных указателей первого типа с последующим выбором вектора дескриптора с наименьшим номером, в противном случае по адресному указателю четвертого типа осуществляют переход к следующему сегменту гиперкуба вплоть до совпадения порядковых номеров адресных указателей четвертого типа векторов дескрипторов;
на третьем шаге
на основании значения адресного указателя первого типа вектора дескриптора с наименьшим порядковым номером осуществляют чтение идентификатора координаты вектора данного;
в соответствии со значениями адресных указателей второго типа осуществляют чтение остальных идентификаторов координат вектора данного и их сравнение с идентификаторами координат ключа поиска;
в случае совпадения идентификаторов координат вектора данного с идентификаторами координат ключа поиска определяют один из совпадающих идентификаторов координат вектора данного с наибольшим порядковым номером адресного указателя второго типа;
в противном случае переходят к выполнению пятого шага настоящей последовательности чтения информации;
на четвертом шаге
производят обход иерархических и вариантных групп вектора данного, начиная с совпадающего идентификатора координаты с наибольшим порядковым номером адресного указателя второго типа, в случае вхождения идентификаторов координат ключа поиска в состав одних и тех же иерархических и вариантных групп вектора данного его включают в отчет о поиске;
на пятом шаге
в составе прочитанного вектора данного производят сравнение между собой по величине порядковых номеров адресных указателей первого типа идентификаторов координат, соответствующих ключу поиска, выбор идентификатора координаты с наименьшим по величине порядковым номером, чтение идентификатора координаты предыдущего вектора данного по адресному указателю первого типа и чтение остальных идентификаторов координат предыдущего вектора данного по адресным указателям второго типа;
причем четвертый и пятый шаги повторяют в порядке приближения к началу файла вплоть до чтения одного из идентификаторов координат вектора данного, соответствующих ключу поиска, с порядковым номером адресного указателя первого типа, равным единице.
12. The method of managing a multidimensional database according to claim 8, characterized in that the reading of information is performed in the following sequence:
in the first step
the user generates a search key from one or more coordinate identifiers;
as a part of the buffer, they search for descriptor vector values with the corresponding coordinate identifiers by finding descriptor vector tables in the address list whose positions correspond to digital measurement codes, go to the indicated tables and search for strings in their structure whose positions correspond to digital codes of standardized coordinate values;
if there is no value in the tables of at least one of the descriptor vectors with the coordinate identifiers corresponding to the search key, the reading is stopped, otherwise the descriptor vector values are read;
comparing the serial numbers of address pointers of the fourth type of identifiers of coordinates of the descriptor vectors;
if they are equal to the sequence number corresponding to the last segment of the hypercube, the values of the found descriptor vectors are compared with each other by the value of the sequence numbers of the address pointers of the first type, followed by the choice of the descriptor vector with the lowest number, otherwise, the address pointer of the fourth type proceeds to the next segment of the hypercube ;
in the second step
as part of a hypercube segment, they search for other descriptor vectors whose coordinate identifiers coincide with the search key by traversing the binary tree of the index structure;
if the sequence numbers of address indicators of the fourth type are equal, the descriptor vectors are compared with each other by the value of the sequence numbers of address indicators of the first type with the subsequent selection of the descriptor vector with the lowest number; otherwise, the address pointer of the fourth type moves to the next segment of the hypercube until the sequence numbers match address pointers of the fourth type of descriptor vectors;
in the third step
based on the value of the address pointer of the first type of the descriptor vector with the lowest sequence number, the identifier of the coordinate of the vector of the given is read;
in accordance with the values of the address pointers of the second type, the remaining identifiers of the coordinates of the vector of this data are read and compared with the identifiers of the coordinates of the search key;
if the identifiers of the coordinates of the vector of the given coincide with the identifiers of the coordinates of the search key, one of the matching identifiers of the coordinates of the vector of the given with the highest serial number of the address pointer of the second type is determined;
otherwise, they proceed to the fifth step of the current sequence of reading information;
in the fourth step
bypass hierarchical and variant groups of a given vector, starting with the matching coordinate identifier with the highest sequence number of the address pointer of the second type, if the coordinates of the search key are included in the same hierarchical and variant groups of this vector, it is included in the search report;
in the fifth step
as a part of the read vector, a comparison is made between each other in terms of the sequence numbers of the address pointers of the first type of coordinate identifiers corresponding to the search key, the selection of the coordinate identifier with the smallest largest serial number, reading of the coordinate identifier of the previous vector given by the address pointer of the first type and reading of the remaining coordinate identifiers previous vector given by address pointers of the second type;
moreover, the fourth and fifth steps are repeated in order of approximation to the beginning of the file until reading one of the identifiers of the coordinates of the vector of the data corresponding to the search key, with the serial number of the address pointer of the first type equal to one.
13. Способ управления многомерной базой данных по п.12, отличающийся тем, что контроль внутренней непротиворечивости информации при совместной работе двух и более пользователей с одними и тем же данными осуществляют в следующей последовательности:
на первом шаге пользователи осуществляют независимое чтение информации, которое начинают с чтения в буфере консолидированной версии вектора данного, соответствующей ключу поиска, в случае отсутствия в буфере консолидированной версии вектора данного чтение осуществляют из файла;
на втором шаге пользователи производят независимое формирование измененных (удаленных) версий вектора данного, которым временно присваивают порядковый номер записи ранее прочитанной консолидированной версии вектора данного;
на третьем шаге, по команде на запись пользователя, первым завершившего формирование измененной (удаленной) версии вектора данного, осуществляют повторное чтение в буфере или файле консолидированной версии вектора данного, при этом выполнение команд на запись остальных пользователей блокируют;
на четвертом шаге производят сравнение между собой порядковых номеров записи измененной (удаленной) и повторно прочитанной консолидированной версий вектора данного;
причем в случае совпадения порядковых номеров записи в файл записывают измененную (удаленную) версию вектора данного, причем в случае несовпадения порядковых номеров записи производят повторное формирование измененной (удаленной) и новой консолидированной версий вектора данного с актуальным порядковым номером записи, новая консолидированная версия замещает в буфере предыдущую консолидированную версию, измененную (удаленную) версию записывают в файл, выполнение команд на запись разблокируют с повторением третьего и четвертого шагов для каждого следующего пользователя;
на пятом шаге производят удаление из буфера последней консолидированной версии вектора данного в случае отсутствия команд на чтение или запись в течение заданного промежутка времени.
13. The method of managing a multidimensional database according to claim 12, characterized in that the control of the internal consistency of information during the joint work of two or more users with the same data is carried out in the following sequence:
at the first step, users independently read information, which begins by reading in the buffer a consolidated version of a given vector corresponding to a search key; if there is no consolidated version of a vector in a buffer in the buffer, reading is done from a file;
at the second step, users independently create modified (deleted) versions of the given vector, which are temporarily assigned the record number of the previously read consolidated version of the given vector;
at the third step, by a command to record the user who first completed the formation of the changed (deleted) version of the vector of the data, they read again in the buffer or file of the consolidated version of the vector of this data, while the execution of the commands for writing the remaining users is blocked;
in the fourth step, the sequence numbers of the records of the changed (deleted) and re-read consolidated versions of this vector are compared among themselves;
moreover, if the sequence numbers of the records coincide, the modified (deleted) version of the vector of the data is written to the file, and if the serial numbers of the records do not match, the changed (deleted) and new consolidated versions of the vector of the data are re-formed with the current serial number of the record, the new consolidated version replaces in the buffer the previous consolidated version, the modified (deleted) version is written to a file, the execution of write commands is unlocked with the repetition of the third and fourth steps for each next user;
in the fifth step, the last consolidated version of this vector is removed from the buffer if there are no read or write commands for a given period of time.
14. Способ управления многомерной базой данных по п.8, отличающийся тем, что запись информации выполняют в следующей последовательности:
на первом шаге производят преобразование данного в векторную форму путем формирования идентификаторов координат, связывания их адресными указателями второго, третьего и четвертого типов, определения расчетным путем значений адресных указателей первого типа в случае отсутствия в составе гиперкуба векторов дескрипторов с совпадающими кодами идентификаторов или путем копирования значений адресных указателей первого типа векторов дескрипторов в случае наличия в составе гиперкуба векторов дескрипторов с совпадающими кодами идентификаторов;
на втором шаге в случае отсутствия в составе гиперкуба векторов дескрипторов с совпадающими идентификаторами производят запись в файл этих векторов дескрипторов, адресные указатели первого типа которых имеют расчетные значения однотипных адресных указателей вектора данного, или в случае наличия в составе блока координат этих векторов дескрипторов производят изменение на расчетные значений величин смещения относительно начала файла и порядкового номера записи однотипных адресных указателей векторов дескрипторов;
на третьем шаге производят запись вектора данного в конец файла.
14. The method of managing the multidimensional database of claim 8, characterized in that the information is recorded in the following sequence:
at the first step, this is converted into a vector form by generating coordinate identifiers, linking them with address pointers of the second, third and fourth types, determining by calculation the values of address pointers of the first type if there are no descriptor vectors with matching identifier codes in the hypercube, or by copying the address values pointers of the first type of descriptor vectors if there are descriptor vectors with matching identifier codes in the hypercube ators;
at the second step, if there are no descriptor vectors with matching identifiers in the hypercube, write these descriptor vectors to the file, the address pointers of the first type of which have the calculated values of the same type of address pointers of the given vector, or if the descriptor vectors in the coordinate block contain the change to calculated values of the offset values relative to the beginning of the file and the serial number of the record of the same type of address pointers of descriptor vectors;
in the third step, the vector of the data is written to the end of the file.
15. Способ управления многомерной базой данных по п.14, отличающийся тем, что изменение информации осуществляют на логическом уровне путем записи нескольких версий вектора данного в следующей последовательности:
на первом шаге производят чтение текущей версии вектора данного;
на втором шаге формируют измененную версию вектора данного в составе одного или нескольких идентификаторов координат и/или фрагментов неструктурированной информации, измененных относительно текущей версии, и одного неизменного идентификатора координаты;
на третьем шаге производят запись измененной версии вектора данного с сохранением в именах идентификаторов координат величин смещения относительно начала файла, записанных в первой версии вектора данного;
причем последующее чтение измененной информации осуществляют путем формирования консолидированной версии вектора данного, состоящей из одного идентификатора координаты с неизменным кодом идентификатора и одного или нескольких последних по порядку записи измененных идентификаторов координат и/или фрагментов неструктурированной информации.
15. The method of managing a multidimensional database according to claim 14, characterized in that the information is changed at a logical level by writing several versions of the vector given in the following sequence:
at the first step, the current version of the vector of the given is read;
at the second step, an altered version of the vector of the given one is composed of one or more identifiers of coordinates and / or fragments of unstructured information changed relative to the current version, and one invariable identifier of the coordinate;
at the third step, a modified version of the vector of the data is recorded with the coordinates of the offset values relative to the beginning of the file recorded in the first version of the vector of the data stored in the names of the identifiers;
moreover, the subsequent reading of the changed information is carried out by forming a consolidated version of this vector, consisting of one coordinate identifier with a constant identifier code and one or more last-in-order records of the changed coordinate identifiers and / or fragments of unstructured information.
16. Способ управления многомерной базой данных по п.15, отличающийся тем, что удаление информации осуществляют на логическом уровне путем записи нескольких версий вектора данного в следующей последовательности:
на первом шаге производят чтение текущей версии вектора данного;
на втором шаге формируют удаленную версию вектора данного в составе одного или нескольких идентификаторов координат, удаленных из текущей версии вектора данного, и одного неизменного идентификатора координаты;
на третьем шаге производят запись удаленной версии вектора данного с заменой на нулевые значения кодов удаленных идентификаторов координат;
причем последующее чтение сохраненной информации осуществляют путем формирования консолидированной версии вектора данного, состоящей из идентификаторов координат с ненулевыми значениями кодов идентификаторов координат и заключенными между ними фрагментами неструктурированной информации.
16. The method of managing a multidimensional database according to clause 15, characterized in that the information is deleted at a logical level by writing several versions of the vector given in the following sequence:
at the first step, the current version of the vector of the given is read;
at the second step, a remote version of the vector of the given is formed as a part of one or several identifiers of coordinates removed from the current version of the vector of the given and one constant identifier of the coordinate;
at the third step, a remote version of the vector is recorded, replaced with zero values of the codes of the remote coordinate identifiers;
moreover, the subsequent reading of the stored information is carried out by forming a consolidated version of this vector, consisting of coordinate identifiers with nonzero values of the coordinate identifier codes and fragments of unstructured information enclosed between them.
RU2008120913/09A 2008-05-28 2008-05-28 Multidimensional database and method of managing multidimensional database RU2389066C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2008120913/09A RU2389066C2 (en) 2008-05-28 2008-05-28 Multidimensional database and method of managing multidimensional database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2008120913/09A RU2389066C2 (en) 2008-05-28 2008-05-28 Multidimensional database and method of managing multidimensional database

Publications (2)

Publication Number Publication Date
RU2008120913A RU2008120913A (en) 2009-12-10
RU2389066C2 true RU2389066C2 (en) 2010-05-10

Family

ID=41488851

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008120913/09A RU2389066C2 (en) 2008-05-28 2008-05-28 Multidimensional database and method of managing multidimensional database

Country Status (1)

Country Link
RU (1) RU2389066C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011139176A1 (en) 2010-05-06 2011-11-10 Andrey Evgenevich Vasilev Multidimensional database and the method of control thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115834672B (en) * 2023-02-16 2023-04-28 浙江大风智能终端科技有限公司 Internet of vehicles information processing method and system based on locator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011139176A1 (en) 2010-05-06 2011-11-10 Andrey Evgenevich Vasilev Multidimensional database and the method of control thereof

Also Published As

Publication number Publication date
RU2008120913A (en) 2009-12-10

Similar Documents

Publication Publication Date Title
US10496621B2 (en) Columnar storage of a database index
CN101751406B (en) Method and device for realizing column storage based relational database
CA2388515C (en) System for managing rdbm fragmentations
JP3914662B2 (en) Database processing method and apparatus, and medium storing the processing program
CN104484471B (en) A kind of implementation method of high-performance data storage engines
EP1350189A1 (en) Value-instance-connectivity-computer-implemented database
WO2000003335A1 (en) Value-instance-connectivity computer-implemented database
EA007209B1 (en) Method of managing keys within a database, database and method of organising database
CN106599040A (en) Layered indexing method and search method for cloud storage
CN113704248B (en) Block chain query optimization method based on external index
US6826563B1 (en) Supporting bitmap indexes on primary B+tree like structures
AU2018345147B2 (en) Database processing device, group map file production method, and recording medium
RU2389066C2 (en) Multidimensional database and method of managing multidimensional database
CN111522820A (en) Data storage structure, storage retrieval method, system, device and storage medium
CN113407538B (en) Incremental acquisition method for data of multi-source heterogeneous relational database
CN113779286B (en) Method and device for managing graph data
US20070239794A1 (en) Method and system for updating logical information in databases
JPH09305622A (en) Method and system for managing data base having document retrieval function
WO2011139176A1 (en) Multidimensional database and the method of control thereof
JP2003030040A (en) Hush indexes of object database system and non-unique index management system
Jing-hua et al. OLAP aggregation based on dimension-oriented storage
JPS62287350A (en) Index integrally updating system
JP3980326B2 (en) Data management method and computer-readable recording medium
CN115587100A (en) Management method and device of relational database
JPH02190970A (en) Index structure and search processing method using the structure

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20100529