СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД)
SYSTEM AND METHOD OF MANAGING DATABASES (DBMS)

Область техники
Изобретение относится к технологиям управления системами баз данных (СУБД).
Предшествующий уровень техники
В соответствии с основными этапами проектирования базы данных после построения концептуальной модели выбирается система управления базой данных, с помощью которой будет организована база данных и работа с ней. Каждая СУБД поддерживает определенные виды и типы данных, а также средства представления связей между данными, составляющими модель данных СУБД. Следующий этап проектирования базы данных состоит в представлении концептуальной модели средствами модели СУБД или в отображении концептуальной модели в модель данных СУБД. Этот этап часто называют логическим проектированием базы данных. Полученная при этом модель часто также называется концептуальной моделью или схемой (но специфицированной к понятиям модели данных СУБД). В некоторых источниках полученную модель называют логической структурой данных.
Можно по-разному характеризовать понятие модели данных. С одной стороны, модель данных - это способ структурирования данных, которые рассматриваются как некоторая абстракция в отрыве от предметной области. С другой стороны, модель данных - это инструмент представления концептуальной модели предметной области и динамики ее изменения в виде базы данных. Учитывая обе вышеуказанные стороны, определим основные структуры моделей данных, используемые для представления концептуальной модели предметной области (сущностей, атрибутов, связей). Элемент данных (поле) -наименьшая поименованная единица данных. Используется для представления значения атрибута. Запись - поименованная совокупность полей. Используется для представления совокупности атрибутов сущности (записи о сущности). Экземпляр записи - запись с конкретными значениями полей. Агрегат данных - поименованная совокупность элементов данных внутри записи, которую можно рассматривать как единое целое.
Файл - поименованная совокупность экземпляров записей одного типа. Используется для представления однородного набора сущностей. Набор файлов - поименованная совокупность файлов, обрабатываемых в системе. Используется для представления нескольких наборов сущностей. Введем понятие «группа», обобщающее понятия «агрегат» и «запись». Группа - это поименованная совокупность элементов данных или элементов данных и других групп. Важнейшим понятием концептуальной модели является понятие связи между сущностями (наборами сущностей).
В моделях данных соответствующее понятие отражается понятием «групповое отношение». Групповое отношение - поименованное бинарное отношение, заданное на двух множествах экземпляров рассматриваемых групп. По характеру бинарных связей различают групповые отношения вида 1:1, 1:М, M:1, M:N. Пары чисел называют коэффициентами группового отношения. В групповом отношении один член группы назначается владельцем отношения, другой - членом.
База данных - поименованная совокупность экземпляров групп и групповых отношений. Для представления группового отношения используется две формы: а) Графовая. Группы изображаются вершинами графа, связи между группами - дугами, направленными от группы-владельца к группе- члену с указанием имени отношения и коэффициента. По типу графов различают: иерархическую модель (граф без циклов - дерево); сетевую модель (ориентированный граф общего вида), б) Табличная. Связь между группами изображается таблицей, столбцы которой представляют ключи соответствующих групп. Для формального описания таблицы используется математическое (теоретико-множественное) понятие отношения. Соответствующая модель данных называется реляционной моделью.
Из уровня техники известны множество решений, раскрывающих различные принципы управления СУБД.
В заявке US 2016/321,376 А1, опубликованной 03.11.2016, раскрыты технологии хранения и извлечения данных с использованием связанной модели данных, имеющей формат дерева, при этом, элементы данной модели связаны друг с другом. Также в данном решении раскрыта платформа облачных вычислений, которая может хранить, в том числе данные, представленные в виде графа.
В заявке US 2017/212,914 А1, опубликованной 27.07.2017, раскрыты технологии хранения элементов данных в виде графов, имеющих иерархические узлы и отношения между элементами. Также в данном решении раскрыты пользовательские интерфейсы, позволяющие извлекать данные из графов, раскрыто хранение данных в облачных системах.
В патенте US 5,201,046 А1, опубликованном 06.04.1993, раскрыта система управления базами данных, которая хранит, извлекает и обрабатывает структуры ориентированных графов в реляционной базе данных.
В заявке US 2009/031230 А1, опубликованной 29.01.2009, раскрыты технологии динамической настройки пользовательского интерфейса для реляционной базы данных. Однако эти решения не реализуют следующие возможности:
сочетание классического реляционного персистентного хранилища с неизменной (не зависящей от предметной области и варианта использования) физической структурой и представления данных для использования пользователями и программами в виде графа;
использование специфицированного фиксированного интерфейса для манипуляции и обмена данными в терминах графа;
разделение системы на облачный сервис для работы с метаданными и эксплуатационный комплект для заказчика;
поставку и сопровождение информационного наполнения метаописаний и онтологий предметных областей с использованием труда соответствующих экспертов;
реализацию логической модели на различных языках программирования, в различных операционных средах с использованием различных СУБД (в т.ч. не реляционных) в качестве персистентного хранилища.
Основными целями заявленного решения, являются:
создание неизменного по физической структуре способа хранения данных вне зависимости от предметной области и варианта использования;
создание неизменного способа представления данных вне зависимости от предметной области;
решение вопроса перенастройки пользовательского интерфейса без внесения изменений в программный код;
решение вопроса перестройки прикладной модели данных (метаописания) без внесения изменений в программный код;
решение вопроса о переносе нагрузки по проектированию, внедрению и адаптации к предметной области с программистов-разработчиков на аналитиков, экспертов и пользователей;
создание единого информационного пространства в гетерогенной программно-аппаратной и информационной среде, где недостаточно операций с данными и требуется выход на уровень согласования метаданных (онтологий);
создание пополняемого пула (репозитория) готовых решений и полуфабрикатов для различных предметных областей и вариантов использования с привлечением сообществ разработчиков, пользователей, заинтересованных клиентов и заказчиков.
Использование решений с открытым кодом.
Таким образом, остается нерешенной проблема по расширению арсенала технических средств, которые позволяли бы создавать такую СУБД, которая реализует следующие возможности: построение графовидной логической модели предметной области, обеспечение доступа к данным СУБД посредством подсистемы унифицированного пользовательского интерфейса клиент-сервер, обеспечение разделения данных посредством подсистемы облака.
Выходом из сложившейся ситуации может стать создание системы и способа управления базами данных (СУБД), обеспечивающих клиентам взаимодействие с базами данных, содержащими данные и метаданные, которые также реализуют, по меньшей мере, следующие возможности: построение графовидной логической модели предметной области, обеспечение доступа к данным СУБД посредством подсистемы унифицированного пользовательского интерфейса клиент-сервер, обеспечение разделения данных посредством подсистемы облака.
Раскрытие изобретения
Технический результат настоящего изобретения заключается в создании системы и способа управления СУБД, обеспечивающих клиентам взаимодействие с базами данных, содержащими данные и метаданные, которые также реализуют, по меньшей мере, следующие возможности: построение графовидной логической модели предметной области, обеспечение доступа к данным СУБД посредством подсистемы унифицированного пользовательского интерфейса клиент-сервер, обеспечение разделения данных посредством подсистемы облака.
Данный технический результат достигается за счет предложенной системы управления базами данных (СУБД), обеспечивающей клиентам взаимодействие с базами данных, содержащими данные и метаданные, выполненная с возможностью осуществления, по меньшей мере, следующего:
представления данных на логическом уровне посредством подсистемы построения графовидной логической модели предметной области и на физическом уровне посредством подсистемы построения неизменной, не зависящей от предметной области, физической структуры реляционных таблиц, где подсистема построения логической модели предметной области, содержит, по меньшей мере, следующее:
a. модуль анализа предметной области, выполненный с возможностью представления данных в виде диаграмм вариантов использования,
b. модуль составления метаописаний предметной области, выполненный с возможностью создания домена, определяющего предметную область,
c. модуль определения информационных ресурсов, отражающих объекты предметной области, выполненный с возможностью составления перечня информационных ресурсов, отражающих объекты предметной области,
d. модуль присвоения атрибутов информационным ресурсам, выполненный с возможностью присвоения каждому информационному ресурсу набора атрибутов - свойств, отражающих свойства информационного ресурса,
e. модуль установления связей между информационными ресурсами, выполненный с возможностью установления связей между объектами ресурсов, при этом связи имеют информационную значимость и содержат следующие свойства: глобально-уникальный идентификатор связи, глобально-уникальный идентификатор родительского узла, глобально-уникальный идентификатор дочернего узла, указатель на атрибут родительского узла, который ссылается на дочерний ресурс, множественность связи, определяющая групповые отношение типа 1:1, 1:М, M:1, M:N,
f. модуль задания маркерных интерфейсов для информационных ресурсов, выполненный с возможностью пометки информационных ресурсов признаками соответствия для набора атрибутов,
g. модуль определения классификаторов, выполненный с возможностью маркировки информационных ресурсов заданными метками для осуществления, по меньшей мере, выделения, группировки информационных ресурсов,
где, в результате выполнения функций, реализуемых на этапах a-g, подсистема построения графовидной логической модели предметной области осуществляет построения указанной модели, которая содержит информационные ресурсы, атрибуты информационных ресурсов и связи между информационными ресурсами, модель хранится в реляционной структуре и используется для создания на ее основе экземпляров информационных ресурсов,
где подсистема построения физической структуры реляционных таблиц выполнена с возможностью разделения пространства хранения, по меньшей мере, для таблиц, индексов базы данных, а также, с возможностью сетевого распределения хранения данных в базах данных с использованием кластеризации;
обеспечения доступа к данным посредством подсистемы унифицированного пользовательского интерфейса клиент-сервер, где подсистема унифицированного пользовательского интерфейса содержит:
модуль создания и управления отображением информации, выполненный с возможностью создания вариантов компоновки отображения информации, с возможностью задания набора элементов отображения информации - виджетов, которые могут быть заданными и пополняемыми, виджеты располагаются в макете областях, в соответствии с различными вариантами компоновки,
модуль создания связей между отображаемыми элементами отображаемой информации, выполненный с возможностью задавать связи между полями, колонками виджетов,
модуль создания унифицированного пользовательского интерфейса, выполненный с возможностью:
создания указанного пользовательского интерфейса с помощью указанных модулей создания и управления отображением информации, модуля создания связей между отображаемыми элементами информации,
хранения виджетов - элементов отображаемой информации в заданных шаблонах и макетах,
расширения функционала пользовательского интерфейса, посредством добавления новых функций с помощью динамически настраиваемых скриптов;
модуль автогенерации экранных форм из заданных шаблонов;
выделения реализации прикладной бизнес логики в самостоятельный набор модулей, позволяющий, как минимум:
производить визуальное формализованное построение бизнес процессов силами экспертов предметной области
осуществлять функциональное связывание бизнес процессов с управлением данными с использованием адаптированных средств проектирования, доступных экспертам и аналитикам предметных областей
обеспечить формализованное представление бизнес-процессов в принятых стандартах и форматах - BPMN(2), XML
посредством бизнес процессов осуществлять управление отображением информации и сложным поведением пользовательского интерфейса
посредством конструируемых экспертами и аналитиками предметных областей бизнес процессов реализовывать взаимодействие с внешними источниками и потребителями данных, регламентные процедуры
обеспечения разделения данных посредством подсистемы облачного сервиса - подсистемы облака, которая организует централизованное управление метаданными и метомоделями - метопописания предметных областей, содержащие информационные ресурсы, атрибуты, связи,
где подсистема облака также содержит репозитории, пользовательский интерфейс для работы с репозиториями, модуль разграничения доступа, сервер приложений, сервер баз данных, при этом репозитории делятся на следующие группы:
репозиторий метамоделей различных предметных областей,
репозиторий функциональных модулей,
репозиторий геоданных,
репозиторий классификаторов и справочников,
репозиторий визуальных решений - каркасов приложений для различных вариантов использования и различных предметных областей,
где инструментальные средства подсистемы облака выполнены с возможностью:
создавать метамодели новых предметных областей,
редактировать существующие метамодели,
загружать и редактировать новые данные: геоданные, классификаторы и справочники,
администрировать пользователей и доступ к ресурсам облака.
В одном частном варианте, для доступа к данным используются, по меньшей мере, языки запросов, где на нижнем уровне используются запросы на языке SQL, а на логическом уровне используются, по меньшей мере, следующие языки: Java, Cypher, Resource Query Language (RQL).
В другом частном варианте, для обеспечения разделения данных используют партиционирование - раздельное хранение данных и индексов, где партиционирование используется: на уровне реализации оперативной обработки, это реализуется, по меньшей мере, посредством персистентного хранилища, кэша в памяти; на уровне хранения используется посредством разделения пространства хранения, посредством кластеров и гридов; на уровне бизнес логики используется посредством создания определенных схем и структур, содержащих, по меньшей мере, следующее: геоданные, календари, временные ряды, классификаторы и справочники, метамодели, события, данные по умолчанию, бизнес процессы.
Еще в одном частном варианте, этап разделения данных также включает в себя разделение данных на метауровне на данные и метаданные, где метаданные состоят из описания предметных областей в терминах информационных ресурсов, атрибутов и связей, справочников, классификаторов.
В другом частном варианте, СУБД также содержит эксплуатационный установочный комплект, который создается на основании информации и данных, получаемых из облачного сервиса для конкретного пользователя и содержит: набор метаописаний, отвечающий заданной предметной области и отвечающий требованиям пользователей, набор исходных данных, необходимый для начала эксплуатации, набор функциональных модулей, реализующий функциональные требования пользователей.
Еще в одном частном варианте, доступ к данным системы обеспечивается через ядро, реализующее двунаправленную трансформацию запросов и данных между реляционным представлением и представлением в виде графовидной логической модели предметной области, и реализованного в управляемом кэше в оперативной памяти, где ядро реализует фиксированный, единообразный, унифицированный интерфейс манипуляции с данными, как узлами модели графа.
В другом частном варианте, интерфейс манипуляции с данными представляет собой: низкоуровневый интерфейс межпрограммного взаимодействия, предназначенный для взаимодействия на уровне программ и программных модулей, с использованием различных языков программирования, интерфейс обмена данными, построенный на обмене запросами на получение данных и ответами в машиночитаемой форме.
Еще в одном частном варианте, подсистема унифицированного пользовательского интерфейса также выполнена с возможностью хранения данных, характеризующих оформительские элементы интерфейса, такие, как подписи к полям форм, заголовки форм и таблиц, в формализованном виде.
В другом частном варианте, посредством подсистемы облачного сервиса, пользователи, проходя авторизацию, получают доступ к облаку и его ресурсам - репозиториям, также пользователи создают метамодель в рабочем пространстве, заполняя ее всем необходимым, далее метамодель может быть экспортирована и перенесена на площадку пользователей в рабочее окружение, где на основе метамодели создаются экземпляры данных, с которыми пользователи осуществляют работу.
Еще в одном частном варианте, репозитории обеспечивают доступ к, по меньшей мере, следующим функциональным модулям: редактор информационных ресурсов и атрибутов, конструктор экранных форм, поисковая подсистема, средства по настройке подключения внешних систем и баз данных, средства визуальной навигации по метаданным, загрузчик классификаторов, редактор классификаторов, визуализатор потоковых данных, средства по управлению предметными областями, средства по управлению пространствами имен, средства управления нормативно-справочной информацией, средства визуальной навигации по данным.
В одном частном варианте, обеспечивается соблюдение стандартов W3C в части спецификаций онтологий RDF, OWL.
В другом частном варианте, реализуется возможность формализованного обмена данными с другими системами на различных уровнях.
Технический результат также достигается за счет предложенного способа управления СУБД, который обеспечивает клиентам взаимодействие с базами данных, содержащими данные и метаданные, где способ содержит этапы, на которых осуществляется, по меньшей мере, следующее:
представление данных на логическом уровне посредством подсистемы построения графовидной логической модели предметной области и на физическом уровне посредством подсистемы построения физической структуры реляционных таблиц,
где подсистема построения логической модели предметной области, выполнена с возможностью осуществления, по меньшей мере, следующего:
a. представления данных в виде use case diagram посредством модуля анализа предметной области,
b. создания домена, определяющего предметную область посредством модуля составления метаописаний предметной области,
c. составления перечня информационных ресурсов, отражающих объекты предметной области посредством модуля определения информационных ресурсов, отражающих объекты предметной области,
d. присвоения каждому информационному ресурсу набора атрибутов - свойств, отражающих состояние информационного ресурса посредством модуля присвоения атрибутов информационным ресурсам,
e. установления связей между объектами ресурсов посредством модуля установления связей между информационными ресурсами, при этом связи имеют информационную значимость и содержат следующие свойства: глобально-уникальный идентификатор связи, глобально-уникальный идентификатор родительского узла, глобально-уникальный идентификатор дочернего узла, указатель на атрибут родительского узла, который ссылается на дочерний ресурс, множественность связи, определяющая отношение типа один-ко-многим или один-к-одному,
f. пометки информационных ресурсов признаками соответствия для набора атрибутов посредством модуля задания маркерных интерфейсов для информационных ресурсов,
g. маркировки информационных ресурсов заданными метками посредством модуля определения классификаторов, где такая маркировка осуществляется для осуществления, по меньшей мере, выделения, группировки информационных ресурсов,
где, в результате выполнения функций, реализуемых на этапах a-g, подсистема построения графовидной логической модели предметной области осуществляет построения указанной модели, которая содержит информационные ресурсы, атрибуты информационных ресурсов и связи между информационными ресурсами, модель хранится в реляционной структуре и используется для создания на ее основе экземпляров информационных ресурсов,
где подсистема построения физической структуры реляционных таблиц выполнена с возможностью разделения пространства хранения, по меньшей мере, для таблиц, индексов базы данных, а также, с возможностью сетевого распределения хранения данных в базах данных с использованием кластеризации;
обеспечение доступа к данным посредством подсистемы унифицированного пользовательского интерфейса клиент-сервер, где подсистема унифицированного пользовательского интерфейса выполнена с возможностью:
создания вариантов компоновки отображения информации, с возможностью задания набора элементов отображения информации - виджетов, которые могут быть заданными и пополняемыми, виджеты располагаются в макете областях, в соответствии с различными вариантами компоновки посредством модуля создания и управления отображением информации,
задавать связи между полями, колонками виджетов посредством модуля создания связей между отображаемыми элементами отображаемой информации,
связывать события пользовательского интерфейса - действия пользователя, отображение или сокрытие, приход или отправку данных с бизнес-процессом, осуществляющим автоматизированное управление пользовательским интерфейсом и взаимодействие с серверной частью
осуществления следующих этапов посредством модуля создания унифицированного пользовательского интерфейса:
создания указанного пользовательского интерфейса с помощью указанных модулей создания и управления отображением информации, модуля создания связей между отображаемыми элементами информации,
хранения виджетов - элементов отображаемой информации в заданных шаблонах и макетах,
расширения функционала пользовательского интерфейса, посредством добавления новых функций с помощью динамически настраиваемых скриптов;
модуль автогенерации экранных форм из заданных шаблонов;
обеспечение разделения данных посредством подсистемы облачного сервиса - подсистемы облака, которая организует централизованное управление метаданными и метомоделями - метопописания предметных областей, содержащие информационные ресурсы, атрибуты, связи,
где подсистема облака также содержит репозитории, пользовательский интерфейс для работы с репозиториями, модуль разграничения доступа, сервер приложений, сервер баз данных, при этом репозитории делятся на следующие группы:
репозиторий метамоделей различных предметных областей,
репозиторий функциональных модулей,
репозиторий геоданных,
репозиторий классификаторов и справочников,
репозиторий визуальных решений - каркасов приложений для различных вариантов использования и различных предметных областей,
где инструментальные средства подсистемы облака выполнены с возможностью:
создавать метамодели новых предметных областей,
редактировать существующие метамодели,
загружать и редактировать новые данные: геоданные, классификаторы и справочники,
администрировать пользователей и доступ к ресурсам облака.
В одном частном варианте, для доступа к данным используются, по меньшей мере, языки запросов, где на нижнем уровне используются запросы на языке SQL, а на логическом уровне используются, по меньшей мере, следующие языки: Java, Cypher, Resource Query Language (RQL).
В другом частном варианте, для обеспечения разделения данных используют партиционирование - раздельное хранение данных и индексов, где партиционирование используется: на уровне реализации оперативной обработки, это реализуется, по меньшей мере, посредством персистентного хранилища, кэша в памяти; на уровне хранения используется посредством разделения пространства хранения, посредством кластеров и гридов; на уровне бизнес логики используется посредством создания определенных схем и структур, содержащих, по меньшей мере, следующее: геоданные, календари, временные ряды, классификаторы и справочники, метамодели, события, данные по умолчанию, бизнес процессы.
Еще в одном частном варианте, этап разделения данных также включает в себя разделение данных на метауровне на данные и метаданные, где метаданные состоят из описания предметных областей в терминах информационных ресурсов, атрибутов и связей, справочников, классификаторов.
В другом частном варианте, СУБД также содержит эксплуатационный установочный комплект, который создается на основании информации и данных, получаемых из облачного сервиса для конкретного пользователя и содержит: набор метаописаний, отвечающий заданной предметной области и отвечающий требованиям пользователей, набор исходных данных, необходимый для начала эксплуатации, набор функциональных модулей, реализующий функциональные требования пользователей.
Еще в одном частном варианте, доступ к данным системы обеспечивается через ядро, реализующее двунаправленную трансформацию запросов и данных между реляционным представлением и представлением в виде графовидной логической модели предметной области, и реализованного в управляемом кэше в оперативной памяти, где ядро реализует фиксированный, единообразный, унифицированный интерфейс манипуляции с данными, как узлами модели графа.
В другом частном варианте, интерфейс манипуляции с данными представляет собой: низкоуровневый интерфейс межпрограммного взаимодействия, предназначенный для взаимодействия на уровне программ и программных модулей, с использованием различных языков программирования, интерфейс обмена данными, построенный на обмене запросами на получение данных и ответами в машиночитаемой форме.
Еще в одном частном варианте, подсистема унифицированного пользовательского интерфейса также выполнена с возможностью хранения данных, характеризующих оформительские элементы интерфейса, такие, как подписи к полям форм, заголовки форм и таблиц, в формализованном виде.
В другом частном варианте, посредством подсистемы облачного сервиса, пользователи, проходя авторизацию, получают доступ к облаку и его ресурсам - репозиториям, также пользователи создают метамодель в рабочем пространстве, заполняя ее всем необходимым, далее метамодель может быть экспортирована и перенесена на площадку пользователей в рабочее окружение, где на основе метамодели создаются экземпляры данных, с которыми пользователи осуществляют работу.
Еще в одном частном варианте, репозитории обеспечивают доступ к, по меньшей мере, следующим функциональным модулям: редактор информационных ресурсов и атрибутов, конструктор экранных форм, поисковая подсистема, средства по настройке подключения внешних систем и баз данных, средства визуальной навигации по метаданным, загрузчик классификаторов, редактор классификаторов, визуализатор потоковых данных, средства по управлению предметными областями, средства по управлению пространствами имен, средства управления нормативно-справочной информацией, средства визуальной навигации по данным.
В одном частном варианте, обеспечивается соблюдение стандартов W3C в части спецификаций онтологий RDF, OWL.
В другом частном варианте, реализуется возможность формализованного обмена данными с другими системами на различных уровнях.
Краткое описание чертежей
Группа заявленных изобретений поясняется чертежами, где:
на Фиг. 1 показана расширенная схема СУБД;
на Фиг. 2 отображена структурная схема заявленной системы согласно независимому пункту;
на Фиг. 3 показаны модули подсистемы построения графовидной модели предметной области;
на Фиг. 4 показаны основные модули, которые входят в состав подсистемы унифицированного пользовательского интерфейса;
на Фиг. 5 отображен основной функционал подсистемы облака;
на Фиг. 6 приведен пример метамодели предметной области.
Описание вариантов осуществления изобретения
Ниже приведено описание примерных вариантов заявленных изобретений со ссылками на чертежи. Однако настоящее изобретение не ограничивается только этими вариантами осуществления. Специалистам будет очевидно, что под объем заявленной группы изобретений, описанной в формуле, попадают и другие варианты.
В контексте данного описания, под терминами «подсистема», «модуль», «база данных» следует понимать стандартные понятия данных терминов, устоявшиеся в данном уровне техники, подразумевающие в себе программно-аппаратные функциональные единицы, которые могут быть реализованы посредством машинных алгоритмов.
На Фиг. 1 показана расширенная схема СУБД, которая обеспечивает клиентам взаимодействие с базами данных, содержащих, по меньшей мере, данные и метаданные. СУБД обеспечивает различные представления данных:
- на логическом уровне данные представляются в виде ориентированного графа со свойствами: узлы графа представляют структурированные сущности - метаописания и содержательную информацию, ребра графа представляют связи между сущностями. Ребра имеют направление от родительского узла к дочернему;
- на физическом уровне данные представлены в виде конечного фиксированного набора таблиц, реализованного с помощью реляционной СУБД.
СУБД реализует разделение данных на следующих уровнях:
a. метауровень, где данные подразделяются на:
метаданные, структурированные описания, структуризация на логическом уровне реализована в виде ориентированного графа со свойствами; при этом метаданные представляют собой набор справочников, классификаторов, нормативно-справочной информации структурированные описания предметных областей;
b. уровень Атрибутов, согласно которому информационный объект включает:
- глобально-уникальный идентификатор,
- человеко-читаемое наименование,
- машиночитаемую алфавитно-цифровую метку,
- тип данных, соответствующий атрибуту:
- примитивный тип, содержащий:
- текст,
- числовой,
- дата/время/дата-время,
- логический переключатель,
- промежуточный тип, включающий в себя:
- геоданные,
- массивы,
- карты «Ключ-значение»,
- интервалы,
-объектный тип, содержащий:
- указатель на Информационный ресурс через его глобально-уникальный идентификатор,
с. уровень связей, согласно которому информационный объект, включает в себя:
- глобально-уникальный идентификатор,
- глобально уникальный идентификатор родительского узла (информационного ресурса),
- глобально уникальный идентификатор дочернего узла (Информационного ресурса),
- глобально-уникальный идентификатор атрибута родительского узла, через который устанавливается ссылка на дочерний узел,
- специфические свойства связей, описываемые в виде карты «Ключ-значение».
На Фиг. 2 показана структурная схема заявленной системы СУБД. Согласно Фиг. 2, СУБД, в одном из частных вариантов реализации заявленного решения, содержит: подсистему построения графовидной логической модели предметной области, подсистему унифицированного пользовательского интерфейса, подсистему облака.
На Фиг. 3 показаны, по меньшей мере, основные модули подсистемы построения графовидной модели предметной области. Подсистема построения графовидной модели содержит, по меньшей мере, 7 модулей: модуль анализа предметной области (модуль 1), модуль составления метаописаний предметной области (модуль 2), модуль определения информационных ресурсов, отражающих объекты предметной области (модуль 3), модуль присвоения атрибутов информационным ресурсам (модуль 4), модуль установления связей между информационными ресурсами (модуль 5), модуль задания маркерных интерфейсов для информационных ресурсов (модуль 6), модуль определения классификаторов (модуль 7).
В модуле 1 осуществляется изучение и анализ предметной области, где в результате этих действий получают представление, соответствующее данным use case diagram для основных объектов (сущностей) предметной области.
В модуле 2 осуществляется составление метаописаний предметно области. А также создание домена (domain), определяющего вновь создаваемую предметную область. Все вновь создаваемые информационные ресурсы получают признак принадлежности к созданному домену. Допускается переиспользование ресурсов из других доменов. Принадлежность к домену определяет смысловой контекст и информационное наполнение информационного ресурса. Домен является, в некотором смысле, эквивалентом предметной области.
В модуле 3 составляются информационные ресурсы, отражающие объекты предметной области. При этом используются сведения о ранее созданных ресурсах, чтобы максимально избегать дублирования. Ранее созданные информационные ресурсы переиспользуются. Каждый информационный ресурс имеет собственный глобально-уникальный идентификатор.
Модуль 4 предназначен для присвоения атрибутов информационным ресурсам. Каждый вновь созданный информационный ресурс получает набор собственных атрибутов - свойств, отражающих состояние информационного ресурса. Свойства могут быть примитивного типа, такие, как числовые, текстовые. Свойства могут иметь тип "ссылка на другой информационный ресурс". Ресурс, на который ставится ссылка, определяет тип атрибута. Атрибуты информационных ресурсов так же максимально переиспользуются, чтобы избегать их повтора в различных ресурсах. Так, например, атрибут "Дата начала" имеет примитивный тип "дата" и может использоваться в различных информационных ресурсах в различных контекстах. Другими словами, атрибуты нужно использовать как словарь терминов для использования при описании состава информационных ресурсов. Список атрибутов пополняется только по мере необходимости при отсутствии подходящего по смыслу атрибута. Каждый атрибут имеет признаки принадлежности к "Пространству имен" (name space). "Пространство имен" - именованный набор (совокупность) атрибутов, являющийся аналогом специализированного словаря терминов. Это нужно для решения проблемы использования омонимов в разных контекстах (предметных областях). Например, слова "график", "наряд", "коса", "среда" могут иметь различные смысловые значения в разных предметных областях.
Модуль 5 позволяет установить связи информационными ресурсами. Связи между объектами имеют самостоятельную информационную значимость и содержат следующие свойства:
1. глобально-уникальный идентификатор связи,
2. глобально-уникальный идентификатор родительского узла,
3. глобально-уникальный идентификатор дочернего узла,
4. указатель на атрибут родительского узла, который ссылается на дочерний ресурс
5. множественность связи, определяющая отношение типа "один-ко-многим" или "один-к-одному".
В модуле 6 осуществляется маркировка информационных ресурсов заданными метками. Дополнительно, информационные ресурсы могут быть снабжены маркерными интерфейсами - признаками соответствия набора атрибутов тем или иным определениям. Так, например, информационный ресурс "Физическое лицо" в некоторых предметных областях может получить маркер "Нарушитель", что говорит о том, что потенциально любое "Физическое лицо", с которым мы работаем, может стать "Нарушителем" и тут потребуется предопределенный набор сведений (атрибутов), который как раз и предоставляется описанием маркерного интерфейса "Нарушитель", в котором могут быть указаны сведения, характеризующие физическое лицо, как нарушителя.
Модуль 7 предназначен для осуществления классификации информационных ресурсов так, чтобы их можно было сравнивать, выделять, группировать, опираясь на значения присвоенных классификаторов. В заявленной системе ведется централизованный репозиторий классификаторов. Имеющиеся классификаторы максимально переиспользуются в различных предметных областях. Новые классификаторы загружаются в репозиторий через составление карт соответствия (маппинга) ключей и значений "исходного классификатора" и "целевого классификатора", хранящегося в репозитории системы.
В результате этапов и действий, выполняемых посредством модулей 1-7, на выходе получается логическая графовидная модель предметной области, содержащая информационные ресурсы, атрибуты информационных ресурсов и связи между информационными ресурсами. Физически полученная модель хранится в реляционной структуре, которая не изменяется и не зависит от описываемой предметной области, поскольку описание производится в унифицированном графовидном логическом представлении. Иными словами, в предлагаемой структуре все равно что описывать: оперативно служебную деятельность какой либо организации, данные от датчиков промышленной системы, склад товаров, организационную структуру и персонал предприятия или что-то другое. Графовидная логическая модель в своей основе остается неизменной, как и физическая структура ее хранения. Созданная метамодель предметной области используется в последствии для создания на ее основе экземпляров информационных ресурсов, содержащих реальные сведения, относящиеся к практической деятельности в рамках предметной области.
Пример такой модели приведен на Фиг. 6, в котором рассмотрены информационные ресурсы, связанные с контролем на пункте пропуска. Дополнительно прилагается файл с описанием схемы данных метамодели "Metamodel", в которой хранятся метаописания информационных ресурсов и атрибутов.
Еще одной подсистемой, входящей в состав заявленной системы, является подсистема унифицированного пользовательского интерфейса, основные модули которой представлены на Фиг. 4.
Унифицированное построение пользовательского интерфейса основано на следующих свойствах заявленной системы, связанных с хранением и представлением данных, а, так же с типовыми вариантами отображения:
1. все данные логически представлены в виде информационных ресурсов, атрибутов и связей между ними. Эти сведения доступны в метамодели;
2. на физическом уровне модель хранения неизменна и не зависит от предметной области;
3. выделяется набор типовых вариантов отображения информации:
1. общая компоновка (Layout). Набор вариантов можно определить заранее и далее наращивать и изменять по мере необходимости. Варианты выбираются аналитиками и переиспользуются в разных задачах.
2. набор элементов отображения информации (widgets): таблицы с колонками, формы, формуляры и т.д. Набор виджетов определяется заранее и пополняется по мере необходимости. Виджеты выбираются аналитиками и располагаются в макете в областях, определяемых выбранным ранее вариантом компоновки.
4. унифицированный интерфейс взаимодействия «клиент-сервер». Основан на не зависящем от предметной области представлении данных в виде информационных ресурсов и атрибутов. Формат HTTP запросов в виде URL-строки, так же предметно независим. Запрашиваются, так или иначе, "информационные ресурсы заданного типа, имеющие значения тех или иных свойств, задаваемые в строке запроса" и ничего о предметной области, как таковой;
5. связывание полей и колонок виджетов с данными происходит на уровне работы с метамоделью. Так, например, для отображения списка «Физических лиц» выбирается информационный ресурс «Физическое лицо». Далее из метаданных ресурса "Физическое лицо" выбираются атрибуты, суть - колонки будущей таблицы. Далее назначается тип виджета "Таблица";
6. в результате получается типовая связка MVC (Model-View-Controller), где имеем модель, определяемую выбранными колонками с известными из метаописания свойствами, визульное решение (View) - выбранный виджет, контроллер унифицированный программный интерфейс, связывающий модель с виджетом;
Поскольку все описанные выше шаги являются предметно независимыми, то интерфейс для работы с ними так же унифицирован и передан аналитикам и специалистам-предметникам. Оформительские элементы пользовательского интерфейса, такие, как подписи к полям форм, заголовки форм и таблиц и т.д. хранятся в формализованном виде. Экранные решения так же, как и вся информация в заявленной системе, представлена и хранится в виде информационных ресурсов и атрибутов.
Функциональные решения пользовательского интерфейса являются расширяемыми с помощью динамически встраиваемых скриптов, которые пишутся и хранятся как данные и используются на этапе выполнения основного кода.
На функциональном уровне подсистема унифицированного пользовательского интерфейса содержит, по меньшей мере, следующие модули: модуль создания и управления отображением информации, выполненный с возможностью создания вариантов компоновки отображения информации, с возможностью задания набора элементов отображения информации - виджетов, которые могут быть заданными и пополняемыми, виджеты располагаются в макете областях, в соответствии с различными вариантами компоновки, модуль создания связей между отображаемыми элементами отображаемой информации, выполненный с возможностью задавать связи между полями, колонками виджетов, модуль автогенерации экранных форм из заданных шаблонов, модуль создания унифицированного пользовательского интерфейса, выполненный с возможностью: создания указанного пользовательского интерфейса с помощью указанных модулей создания и управления отображением информации, модуля создания связей между отображаемыми элементами информации, хранения виджетов - элементов отображаемой информации в заданных шаблонах и макетах, расширения функционала пользовательского интерфейса, посредством добавления новых функций с помощью динамически настраиваемых скриптов.
Заявленная СУБД также имеет в своем составе подсистему облака, представленную на Фиг. 5.
Облачный сервис предназначен для организации централизованной коллективной работы с метаданными и метамоделями. Облачный сервис не работает с фактическими данными. Это не "рабочее окружение", т.е. не "production environment". Содержит в своем составе репозитории, пользовательский интерфейс для работы с репозиториями, подсистему разграничения доступа, сервер приложений и сервер баз данных. Репозитории делятся на следующие группы:
репозиторий метамоделей различных предметных областей
репозиторий функциональных модулей
репозиторий геоданных
репозиторий классификаторов и справочников
репозиторий визуальных решений (каркасов приложений) для различных вариантов использования и различных предметных областей.
При этом инструментальные средства позволяют:
создавать метамодели новых предметных областей
редактировать существующие метамодели
загружать и редактировать новые данные: геоданные, классификаторы и справочники
администрировать пользователей и доступ к ресурсам облака
Пользователи - предприятия и их сотрудники, отдельные индивидуальные пользователи получают авторизованный доступ к облаку и его ресурсам - репозиториям. В собственном рабочем пространстве (workspace) пользователи создают собственную метамодель и заполняют ее необходимыми для начала работы исходными данными. При этом используются готовые решения из репозиториев. Подготовленная таким образом метамодель экспортируется и переносится на площадку клиента в рабочее окружение (production), где на основе метамодели создаются экземпляры данных и производится работа с ними пользователей.
Далее приведен список основных функциональных модулей, доступных в репозитории:
редактор информационных ресурсов и атрибутов;
конструктор экранных форм;
поисковая подсистема;
настройщик подключения внешних систем и баз данных;
средства визуальной навигации по метаданным;
загрузчик классификаторов;
редактор классификаторов;
визуализатор (монитор) потоковых данных;
управление предметными областями (доменами);
управление пространствами имен (namespaces);
средства управление нормативно-справочной информацией;
средства визуальной навигации по данным;
конструктор расчетных процедур;
аналитическая подсистема;
средства управление геоданными;
конструктор-построитель отчетов;
рабочая среда разработки (workspace);
средства администрирования пользователей;
средства управление разграничением доступа к данным;
средства использование репозиторев;
конструктор бизнес-правил;
конструктор бизнес-процессов;
контроль управления функционированием;
техническое обслуживание и сопровождение;
управление конфигурациями;
обмен данными, синхронизация;
загрузка/выгрузка информационных ресурсов и атрибутов.
Резюмируя вышеизложенное, необходимо отметить, что заявленные в настоящем решении, система и способ управления СУБД также обладают следующими отличительными особенностями:
переиспользование метамоделей и их элементов в новых метамоделях с использованием разбиения информационных ресурсов и атрибутов на домены (предметные области) и пространства имен (name spaces);
прозрачное единообразное представление метамодели любой предметной области, недостижимое средствами традиционных реляционных СУБД;
максимальное использование аспектов унифицированного представления данных в виде графа для решения вопросов расширения сфер применения, минимизации привлечения технических специалистов на этапах внедрения, - в основном работают аналитики и специалисты-предметники, унификация пользовательского интерфейса, сопряжение самых разнородных предметных областей, унификация работы с данными (манипуляция данными). Унифицированный программный интерфейс для манипуляции данными, как узлами ориентированного графа со свойствами, определенными метамоделью;
максимальное использование свойств традиционной, реляционной СУБД: транзакционность, ограничения целостности, оптимизация модели хранения в зависимости от варианта использования. По-разному хранятся данные временных рядов, событийной логики, списочно-реестровые данные и т.д. По-разному реализуется связывание данных в зависимости от типа множественности связи. Использование партиционирования - раздельного хранения данных и индексов, а так же раздельное хранение структур, ориентированных преимущественно на вставку, на изменение, на поиск данных;
использование новых встроенных типов данных для оптимизации физической реляционной модели под логическую графовую модель: jsonb - бинарное индексируемое поле типа json, гео данные для представления точек, линий, полигонов и мультиполигонов, интервальные данные и т.д;
обязательное строгое использование метамодели при работе в рабочем окружении. Это исключает «замусоривание» данных лишними связями, классификаторными признаками и т.д;
расширяемость заявленной системы за счет использования возможности маппинга графа на традиционные реляционные структуры и обратно. Это дает возможность расширять функциональные возможности системы за счет интеграции с другими системами и базами данных, как на уровне данных, так и на уровне функциональном;
предоставление конечным пользователям готовых прикладных (отраслевых) решений, основанных на имеющихся в облачном репозитории наборах метамоделей и других данных.
Ни одна из перечисленных особенностей не может быть названа вполне уникальной. Здесь следует говорить о совокупности признаков, которые влияют на достигаемый технический результат, который заключается в создании системы и способа управления СУБД, обеспечивающих клиентам взаимодействие с базами данных, содержащими данные и метаданные, которые также реализуют, по меньшей мере, следующие возможности: построение графовидной логической модели предметной области, обеспечение доступа к данным СУБД посредством подсистемы унифицированного пользовательского интерфейса клиент-сервер, обеспечение разделения данных посредством подсистемы облака.
Варианты осуществления настоящего изобретения могут быть реализованы с использованием программного обеспечения, аппаратных средств, программной логики или их комбинации. В примере осуществления программная логика, программное обеспечение или набор инструкций хранятся на одном из различных традиционных машиночитаемых носителей. В контексте данного документа «машиночитаемым носителем» может быть любая среда или средства, которые могут содержать, хранить, передавать, распространять или транспортировать инструкции для их использования системой выполнения инструкций, оборудованием или устройством, таким как компьютер. Машиночитаемый носитель может включать энергонезависимый машиночитаемый носитель данных, который может быть любой средой или средством, содержащим или хранящим инструкции для их использования системой выполнения инструкций, оборудованием или устройством, таким как компьютер, или для использования в связи с ними.
В одном из примеров осуществления может быть предложена схема, или схема пользовательского интерфейса, конфигурированная для обеспечения, по меньшей мере, некоторых функций управления, описанных выше.
Если необходимо, по меньшей мере, часть различных функций, рассмотренных в данном описании, может быть выполнена в отличном от представленного порядке и/или одновременно друг с другом. Кроме того, при необходимости одна или более из описанных выше функций могут быть опциональными или могут комбинироваться.
Хотя в независимых пунктах формулы изобретения охарактеризованы различные аспекты настоящего изобретения, другие аспекты изобретения включают другие комбинации признаков из описанных вариантов осуществления и/или зависимых пунктов формулы изобретения совместно с признаками независимых пунктов формулы изобретения, при этом упомянутые комбинации не обязательно явно указаны в формуле изобретения.