СИСТЕМА ОБЕСПЕЧЕНИЯ НЕРЕГЛАМЕНТНЫХ ЗАПРОСОВ ДЛЯ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ УПРАВЛЕНИЯ

Полезная модель относится к вычислительной технике, а именно, к средствам сбора и обработки данных, предназначенным для управления бюджетным процессом на региональном уровне (уровне субъекта РФ и муниципального образования), и может быть использовано, в частности, при осуществлении процессов бюджетного планирования (включая среднесрочное), финансирования, учета, формирования отчетности, включая казначейский способ исполнения бюджета, для уровня финансового органа, главных распорядителей средств бюджета и бюджетных учреждений.
Одной из задач системы управления бюджетным процессом на региональном (муниципальном) уровне, являющейся информационной системой класса OLTP (OnLine Transaction Processing) со сложной структурой информационной базы, большими объемами базы и большим числом как локальных, так и территориально удаленных пользователей, является необходимость организации нерегламентированных запросов, формируемых непосредственно пользователями к информации базы данных. Это вызывает необходимость разработки оригинального механизма динамического формирования запросов в базу данных автоматизированной системы управления, в условиях непрерывно продолжающегося увеличения функциональных комплексов системы, роста числа пользователей и увеличения их информационных потребностей.
Известна Автоматизированная система для предоставления информации о задолженностях и платежах потребителей услуг по патенту РФ №2256215, G 06 F 17/60, опубл. 10.07.2005 г., выбранная в качестве ближайшего аналога по своему функциональному назначению, которое заключается в создании и хранении на сервере баз данных центральной информационной базы данных, формировании и передаче запросов от пользователей к этой базе данных, их обработке с помощью соответствующих блоков системы и представлении в том или ином виде (в электронном или на бумажных носителях) результатов (ответов на запросы).
В этой автоматизированной системе каждый из терминалов, установленных в пунктах приема платежей от потребителей услуг и у поставщиков услуг, через сеть
передачи данных соединен с блоком хранения и обработки информации о задолженностях и платежах потребителей услуг, включающим в себя первое средство связи с терминалами, установленными в пунктах приема платежей, второе средство связи с терминалами, установленными у поставщиков услуг, и сервер баз данных, содержащий блок регистрации участников системы, блок хранения данных, блок управления счетами и блок формирования платежных документов, интерфейсы которых соединены с первым средством связи, а также содержащий блок формирования исходящих реестров, блок обработки входящих реестров и блок формирования платежных документов, причем блок регистрации участников соединен двунаправленной информационной связью с блоком хранения данных, соединенным двунаправленной информационной связью с блоком управления счетами, один выход которого соединен со входом блока формирования платежных документов, другой выход соединен со входом блока формирования исходящих реестров, а вход соединен с выходом блока обработки входящих реестров, вход которого соединен с выходом блока хранения реестров, соединенного входом с выходом блока формирования исходящих реестров, при этом интерфейс блока хранения реестров соединен со вторым средством связи.
Известное устройство позволяет осуществлять весь обмен информацией, включая формирование запросов и получение ответов, по каналам связи в электронной форме, что значительно облегчает процесс осуществления платежей для абонентов. Кроме того, повышается скорость получения поставщиками услуг информации о задолженностях и платежах, обеспечивается возможность оперативного контроля за процессом прохождения денежных средств от совершения платежей абонентами до зачисления на расчетный счет и возможность наращивания (масштабирования) системы.
Однако, в то же время, известная система не позволяет использовать ее для целей иных, чем учет задолженностей и платежей потребителей коммунальных услуг, поскольку характеризуется ограниченными функциональными возможностями и быстродействием, большими временными и материальными затратами на сбор, обработку и предоставление информации, невысокой надежностью работы системы, что в конечном счете приводит к снижению эффективности работы системы в целом. Указанные недостатки обусловлены тем, что в известной системе невозможно быстрое формирование произвольных запросов пользователей к базе данных по произвольным параметрам, а только по определенному их перечню; формы представления выбранных
по запросу данных строго регламентированы и их число ограничено; не предусмотрена возможность оперативного формирования аналитической отчетности и т.д.
Заявленная полезная модель решает задачу создания высокоэффективной и надежной автоматизированной системы управления бюджетным процессом на региональном (муниципальном) уровне, а также расширение ее функциональных возможностей за счет наличия в системе взаимосвязанных блоков и модулей, обеспечивающих осуществление и оптимизацию процесса выполнения нерегламентных запросов к базе данных бюджетного процесса.
При этом под нерегламентными запросами в рамках настоящего изобретения понимают произвольно формируемые пользователем в процессе работы структуры (с использованием механизмов настроек) и наборы (с использованием механизмов фильтров) запрашиваемых данных, в отличие от регламентных запросов, т.е. заранее определенных пользователями структур и форм представления запрашиваемых данных. Формы представления результатов нерегламентных запросов могут быть различны (просмотры, отчеты, выгруженные файлы, поддерживаемые Windows).
Кроме того, система должна обеспечивать пользователей механизмом для формирования производных значений на отфильтрованных совокупностях сгруппированных данных.
Поставленная задача обеспечивается тем, что система обеспечения нерегламентных запросов к базе данных, включающая блок ввода, регистрации, утверждения, обработки и свода информации удаленных пользователей и блок ввода, регистрации и хранения объектов и информации центральной базы данных, функции каждого из которых аналогичны одновременно функциям входного терминала, сети передачи данных и блока хранения и обработки информации в прототипе, дополнительно снабжена блоком ввода, регистрации и хранения метаинформации и блоком взаимодействия базы метаинформации и базы данных, соединенным с каждым из указанных выше блоков двусторонней связью, а также блоком оптимизации исполнения нерегламентных запросов, вход которого подключен к блоку взаимодействия базы метаинформации и базы данных, блоком фильтрации данных, блоком представления информации нерегламентных запросов, блоком выгрузки результатов нерегламентных запросов и блоком параметрического вызова формы ввода, причем первый выход блока оптимизации исполнения нерегламентных запросов соединен с блоком фильтрации данных, а второй его выход - с одним из входов блока представления информации нерегламентных запросов, блок фильтрации данных и блок представления информации нерегламентных запросов соединены каждый
двусторонней связью с блоком взаимодействия базы метаинформации, выход блока фильтрации данных подключен ко второму входу блока представления информации нерегламентных запросов, второй выход которого, в свою очередь, подключен ко входу блока выгрузки результатов нерегламентных запросов, а третий его выход соединен двусторонней связью с блоком параметрического вызова формы ввода.
Кроме того, блок ввода, регистрации и хранения метаинформации включает последовательно соединенные двусторонней связью блок идентификаторов запросов, блок идентификаторов таблиц и блок идентификаторов алиасов таблиц, а также блок идентификаторов глобальных условий отбора и блок формирования подсхемы запроса, выходы которых подключены одновременно ко входам блока идентификаторов запросов и блока идентификаторов таблиц; соединенные двусторонней связью блок идентификаторов полей запроса и блок идентификаторов связей полей с таблицами, причем выходы последнего подключены к соответствующим входам блока идентификаторов запросов и блока идентификаторов таблиц; последовательно соединенные двусторонней связью блок идентификаторов форм просмотра, блок идентификаторов полей форм и блок идентификаторов полей фильтров, причем выход блока идентификаторов полей форм подключен ко входу блока идентификаторов запроса.
Кроме того, блок ввода, регистрации и хранения объектов и информации центральной базы данных выполнен в виде блока хранения объектов и информации, включающего связанные двусторонней связью модуль контроля и модуль хранения данных, содержащий также центральную и локальную базы данных, подключенного к выходу блока ввода и регистрации объектов и информации, включающего подключенные последовательно модуль регистрации объектов и информации, модуль ввода объектов и информации, модуль приема данных и модуль контроля.
Кроме того, блок взаимодействия базы метаинформации и базы данных выполнен в виде блока хранения информации базы данных, связанного двусторонней связью с блоком хранения информации метабазы, включающим модуль ввода метаданных и базу данных метаинформации.
Кроме того, блок оптимизации исполнения нерегламентных запросов выполнен в виде блока возврата количества записей, включающего соединенные последовательно модуль исполнения запроса и модуль возврата количества записей, и подключенного к его выходу блока выдачи результатов, включающего соединенные последовательно модуль исполнения запроса и модуль возврата записей.
Кроме того, блок фильтрации данных выполнен в виде последовательно соединенных блока формирования диапазонов значений, блока построения списков, блока переключателей и блока динамического изменения запроса.
Кроме того, блок представления информации нерегламентных запросов выполнен в виде блока фильтрации и группировки, к выходу которого подключен блок агрегации, включающий последовательно соединенные модуль таблиц, модуль отчетов и модуль сортировки.
Кроме того, блок ввода, регистрации, утверждения, обработки и свода информации удаленных пользователей выполнен в виде последовательно соединенных двусторонней связью блока сбора и выдачи информации, включающего последовательно подключенные модуль регистрации, модуль ввода данных, модуль приема данных и модуль контроля, блока описаний версий локальной базы, блока выполнения транзакций и блока хранения и свода информации, включающего модуль хранения и модуль контроля.
Кроме того, блок выгрузки результатов нерегламентных запросов выполнен в виде блока формирования отчетов, к выходу которого подключен блок экспорта.
Сущность полезной модели заключается в том, что благодаря использованию в системе метаинформации с помощью введения блока ввода, регистрации и хранения метаинформации, подключенного к системе через блок взаимодействия базы метаинформации и базы данных существенно повышается качество и надежность работы системы, а за счет наличия в системе таких взаимосвязанных блоков, как блок оптимизации исполнения нерегламентных запросов, блок фильтрации данных, блок представления информации нерегламентных запросов и блок выгрузки результатов нерегламентных запросов, система обеспечивает осуществление и оптимизацию процесса выполнения нерегламентных запросов к базе данных, что значительно расширяет ее функциональные возможности, в частности, по сравнению с прототипом. Последнее преимущество обеспечивается также наличием в системе таких взаимосвязанных блоков, как блок фильтрации данных, блок представления информации нерегламентных запросов и блок параметрического вызова формы ввода информации, которые дают возможность пользователям системы получить механизм для формирования производных значений от полученных совокупностей сгруппированных данных.
Полезная модель поясняется чертежами, где на фиг.1 представлена общая блок-схема системы нерегламентных запросов, на фиг.2 представлен пример конкретного выполнения блока ввода, регистрации и хранения метаинформации, на фиг.3 - пример
конкретного выполнения блока ввода, регистрации и хранения объектов и информации центральной базы данных, на фиг.4 - пример выполнения схемы блока ввода, регистрации, утверждения, обработки и свода информации удаленных пользователей, на фиг.5 - пример конкретного выполнения блока взаимодействия базы метаинформации и базы данных, на фиг.6 - пример конкретного выполнения блока оптимизации исполнения нерегламентных запросов, на фиг.7 - пример конкретного выполнения блока фильтрации данных, на фиг.8 представлен пример конкретного выполнения блока представления информации нерегламентных запросов, на фиг.9 - пример конкретного выполнения блока выгрузки результатов нерегламентных запросов во внешние системы.
Система обеспечения нерегламентных запросов к базе данных содержит блок 1 ввода, регистрации и хранения метаинформации, блок 2 ввода, регистрации и хранения объектов и информации центральной базы данных и блок 3 ввода, регистрации, утверждения, обработки и свода информации удаленных пользователей, каждый из которых соединен двусторонней связью с блоком 4 взаимодействия базы метаинформации и базы данных. Каждый из блоков 1, 2 и 3 выполняет функцию информационного входа системы.
К выходу блока 4 взаимодействия базы метаинформации и базы данных подключен блок 5 оптимизации исполнения нерегламентных запросов, выход которого, в свою очередь, связан с первым входом блока 6 фильтрации данных, первый выход которого соединен со входом блока 7 представления информации нерегламентных запросов, а вторые вход и выход блока 6 соединены двусторонней связью с блоком 4 взаимодействия базы метаинформации и базы данных. Второй выход блока 5 оптимизации исполнения нерегламентных запросов подключен к другому входу блока 7 представления информации нерегламентных запросов, который также соединен двусторонней связью с блоком 4 взаимодействия базы метаинформации и базы данных.
Кроме того, к выходу блока 7 подключен блок 8 выгрузки результатов нерегламентных запросов, выполняющий функцию выходного терминала, и блок 9 параметрического вызова формы ввода, связанный с блоком 7 двусторонней связью.
Все блоки заявленной системы в приведенном примере ее выполнения реализованы с помощью программно-аппаратных средств на стандартных персональных компьютерах, в том числе работающих в режиме сервера. В частности, ввод, вывод и передача данных между элементами компьютерного оборудования системы осуществляются, как правило, с помощью известных терминальных устройств (например, клавиатуры, сканера, принтера и т.п.) и коммуникационных каналов (например, линий проводной и беспроводной связи), а регистрация, накопление, обмен,
хранение и различного рода обработка получаемых системой информационных массивов производится с помощью программных средств, т.е. определенным образом организованного пространства (ячеек) памяти оперативных (ОЗУ) и постоянных (ПЗУ) запоминающих устройств компьютеров, за счет выделения в этом пространстве областей (участков), ответственных за те или иные вычислительные операции. При этом чаще всего устройство, реализующее конкретную операцию и выделенное в отдельный блок на общей блок-схеме устройства (см. фиг.1), обеспечивается участками памяти и аппаратной частью не одного, а нескольких компьютеров системы, и наоборот, на одном компьютере, например, работающем в режиме сервера, могут быть сосредоточены несколько функциональных блоков информационной системы.
Конкретные примеры выполнения отдельных блоков системы приведены ниже. Блок 1 ввода, регистрации и хранения метаинформации (Фиг.2) содержит блок 1.1 идентификаторов запросов, блок 1.2 идентификаторов таблиц и блок 1.3 идентификаторов алиасов таблиц, последовательно связанные двусторонней связью, а также блок 1.4 идентификаторов глобальных условий отбора и блок 1.5 формирования подсхемы запроса, выходы которых подключены одновременно ко входам блока 1.1 идентификаторов запросов и блока 1.2 идентификаторов таблиц. Блок 1 содержит также блок 1.6 идентификаторов полей запроса и блок 1.7 идентификаторов связей полей с таблицами, соединенные между собой двусторонней связью, причем выходы блока 1.7 подключены к соответствующим входам блока 1.1 идентификаторов запросов и блока 1.2 идентификаторов таблиц, и последовательно соединенные двусторонней связью блок 1.8 идентификаторов форм просмотра, блок 1.9 идентификаторов полей форм, блок 1.10 идентификаторов полей фильтров, причем выход блока 1.9 идентификаторов полей форм подключен ко входу блока 1.1 идентификаторов запроса.
Работа блока 1 реализована следующим образом. В блок 1 с входного терминала вводится метаинформация, под которой понимается информация о свойствах документа (страницы сайта), используемая поисковой системой при индексации данного документа. Для этого исходные данные метаинформации загружаются в базу данных метаинформации. При вводе осуществляется регистрация введенной информации в соответствующих объектах метабазы. В каждом из блоков устройства осуществляется прием данных, где заполняются все реквизиты вводных полей базы данных метаинформации. После этого через блок 4 взаимодействия базы метаинформации и базы данных осуществляется процесс формирования представлений информации базы данных, например, для автоматизированной информационной системы бюджетного процесса (АИСБП), в соответствии с описанными в базе метаинформации структурами пользовательских запросов для класса форм просмотра.
Метаинформация в устройствах данного блока хранится в виде следующего набора отношений:
В блоке 1.1 идентификаторов запросов хранятся идентификаторы, имена и глобальные условия отбора запросов. Глобальное условие отбора может содержать условия отбора, например, отбор документов по группе пользователей. В блоке 1.2 идентификаторов таблиц хранятся идентификаторы и имена таблиц (например, перечень таблиц, доступных пользователям на выборку данных). В блоке 1.3 идентификаторов алиасов таблиц хранятся идентификаторы алиасов, идентификаторы таблиц и имена алиасов имен, используемых в запросах. Наличие таких идентификаторов необходимо в связи с тем, что в одном запросе одна и та же таблица может участвовать несколько раз. Идентификатором таблицы обычно является идентификатор алиаса. В блоке 1.4 идентификаторов глобальных условий отбора хранятся Идентификатор запроса, Идентификатор таблицы, Номер таблицы в условии отбора запроса. Данное устройство необходимо в связи с тем, что имена таблиц в глобальных условиях отбора задаются параметрически. В блоке 1.5 формирования подсхемы запроса хранятся Идентификатор запроса, Идентификатор таблицы, ряд ссылок. Данное описание позволяет, в случае необходимости, проводить ручную оптимизацию запросов. В блоке 1.6 идентификаторов полей запроса хранится описание доменов и видов форматирования полей по умолчанию. В качестве параметров полей блок содержит Идентификатор поля, Имя поля, Описание поля, Данные поля (выражение, которое используется в запросах, с параметрически заданной ссылкой на таблицу), Тип поля, Размер поля, Число символов вывода, Формат вывода, Количество десятичных знаков, Выравнивание текста. В блоке 1.7 идентификаторов связей полей с таблицами хранится перечень полей запроса, а именно: Идентификатор запроса, Идентификатор поля, Идентификатор поля группировки, Признак разрешения применения фильтра по полю. В блоке 1.8 идентификаторов форм просмотра хранится перечень форм просмотра. В качестве параметров форм блок содержит Идентификатор формы, Имя формы, Заголовок отчета, Идентификатор запроса, Вывод дополнительных сведений в строку статуса в форме, Вывод имени фильтра в верхний колонтитул отчета, Имя формы корректировки. В блоке 1.9 идентификаторов полей форм хранятся Идентификатор формы, Идентификатор запроса, Идентификатор поля, Идентификатор поля строки статуса, Позиция поля в форме, Позиция поля в форме по умолчанию, Подпись поля (заголовок столбца). Вывод поля в форме. Вывод итогов по полю (тотальный на отчет), Поле передается в качестве параметра. В блоке 1.10 идентификаторов полей фильтров хранятся Идентификатор фильтра, Идентификатор запроса, Идентификатор поля, Начальное значение диапазона, Конечное значение диапазона.
Данные из блока 1 поступают на вход блока 4 взаимодействия базы метаинформации и базы данных. Выполнение всех действий, связанных с изменением данных базы метаинформации и описаний базы метаинформации, осуществляется в данном блоке 1 в соответствии с правами зарегистрированного пользователя. Процедуры, приводящие к изменению базы метаинформации, поступают на вход каждого из устройств базы блока.
Блок 2 ввода, регистрации и хранения объектов и информации центральной базы данных (Фиг.3) содержит блок 2.1 хранения объектов и информации базы данных и блок 2.2 ввода и регистрации объектов и информации базы данных.
Блок 2.1 хранения объектов и информации включает связанные двусторонней связью модуль 2.1.1 контроля и модуль 2.1.2 хранения данных, содержащий также непосредственно центральную 2.1.3 и локальную 2.1.4 базы данных АИСБП, и подключен к выходу блока 2.2 ввода и регистрации объектов и информации, который, в свою очередь, включает подключенные последовательно модуль 2.2.1 регистрации объектов и информации, модуль 2.2.2 ввода объектов и информации, модуль 2.2.3 приема данных и модуль 2.2.4 контроля.
В блок 2 через блок 2.2 ввода и регистрации объектов и информации базы данных вводится информация функциональных комплексов пользователей центральной базы данных, для чего исходные данные с бумажных носителей посредством модуля 2.2.1 регистрации объектов и информации базы данных и модуля 2.2.2 ввода объектов и информации базы данных загружаются в центральную базу данных 2.1.3. При вводе осуществляется регистрация пользователя через устройство регистрации. Данные передаются через модуль 2.2.3 приема данных, где заполняются все реквизиты вводных полей, на модуль 2.2.4 контроля, где осуществляется контроль на полноту и правильность заполнения вводных форм.
Блок 3 ввода, регистрации, утверждения, обработки и свода информации удаленных пользователей (Фиг.3) выполнен в виде последовательно соединенных двусторонней связью блока 3.1 сбора и выдачи информации, блока 3.2 описаний версий локальной базы, блока 3.3 выполнения транзакций и блока 3.4 хранения и свода информации, включающего модуль 3.4.1 контроля и модуль 3.4.2 хранения и свода данных, управляемый с помощью серверной или файл-серверной СУБД. При этом блок 3.1 сбора и выдачи информации включает последовательно подключенные модуль 3.1.1 регистрации, модуль 3.1.2 ввода данных, модуль 3.1.3 приема данных и модуль 3.1.4 контроля.
В блок 3 через блок 3.1 сбора и выдачи информации вводится информация функциональных комплексов АРМов удаленных пользователей. Для этого исходные данные с бумажных носителей посредством модуля 3.1.2 ввода данных загружаются в
локальную базу данных (ЛБД) (показана на фиг.3). При вводе осуществляется регистрация пользователя через модуль 3.1.1 регистрации. Данные передаются через модуль 3.1.3 приема данных, где заполняются все реквизиты вводных полей, на модуль 3.1.4 контроля, где осуществляется контроль на полноту и правильность заполнения вводных форм.
Блок 3.1 сбора и выдачи информации базируется на описании создаваемой локальной базы данных (ЛБД). Такое описание хранится в блоке 3.2 описаний версий локальной базы в виде системы отношений, в которую включаются: Таблица таблиц; Таблица полей таблиц; Таблица индексов таблиц; Таблица полей индексов таблиц; Таблица связей таблиц; Таблица полей связей таблиц.
Данные от блока 3.1 сбора и выдачи информации поступают на вход блока 3.4 хранения и свода информации, где с помощью модуля 3.4.1 контроля осуществляется контроль на соответствие структур хранения данных введенным данным. Далее проконтролированные данные попадают на вход модуля 3.4.2 хранения и свода данных, в котором, в зависимости от организации хранения (серверная или файл-серверная организация модуля хранения) и в соответствии с версией локальной базы, хранятся на соответствующих носителях данных. Кроме собственно данных, передаваемых в данный модуль, хранится и описание версии базы, а также предыдущее состояние базы данных на момент последней синхронизации.
Выполнение всех действий, связанных с изменением данных базы и описаний базы осуществляются в блоке 3.3 выполнения транзакций. Все процедуры, приводящие к изменению базы, поступают на вход этого блока и протоколируются, а именно, протоколируются вызываемые процедуры и их параметры, а также содержимое рабочих таблиц, полученных с клиента и используемых процедурой при выполнении.
После проведения процесса синхронизации осуществляется обновление данных в блоке 3.4 хранения и свода данных. Свод данных осуществляется на уровне главных распорядителей бюджетных средств в соответствии с их ролью в технологическом процессе. На выходе блока 3.4 в соответствии с правами зарегистрированного пользователя осуществляется формирование выходных результатов, которые поступают на вход модуль 3.1.4 контроля блока 3.1 сбора и выдачи информации, а затем выводятся на бумажные и электронные носители в виде отчетов или форм просмотра (обработка нерегламентных запросов).
Блок 4 взаимодействия базы метаинформации и базы данных (Фиг.4) выполнен в виде блока 4.1 хранения информации базы данных, связанного двусторонней связью с блоком 4.2 хранения информации метабазы, включающим модуль 4.2.1 ввода метаданных и непосредственно базу данных 4.2.2 метаинформации.
На вход данного блока 4 поступают данные от блока 2 ввода, регистрации и хранения объектов и информации центральной базы данных, блока 6 фильтрации данных и блока 3 ввода, регистрации и утверждения, обработки и свода информации удаленных пользователей.
В данном блоке обеспечивается процесс взаимодействия двух баз данных, а именно, базы данных 4.2.2 метаинформации, обеспечивающей проведение операций формирования описаний данных этой базы данных и их изменения, и центральной 2.1.3 или локальной 2.1.4 баз данных, обеспечивающих хранение и изменение собственно данных, описанных в метабазе.
Выходные данные соответствующего вида от блока 4 передаются затем на блок 5 оптимизации исполнения нерегламентных запросов, блок 6 фильтрации данных и блок 7 представления информации нерегламентных запросов.
Блок 5 оптимизации исполнения нерегламентных запросов (Фиг.5) содержит блок 5.1 возврата количества записей, включающий соединенные последовательно модуль 5.1.1 исполнения запроса и модуль 5.1.2 возврата количества записей, и подключенный к его выходу блок 5.2 выдачи результатов, включающий соединенные последовательно модуль 5.2.1 исполнения запроса и модуль 5.2.2 возврата записей.
Блок 5 осуществляет оптимизацию при исполнении сформированных запросов.
Исполнение запросов происходит в два этапа.  Вначале в блоке 5.1 возврата количества записей исполняется запрос, возвращающий количество записей в результирующем наборе. Если это количество превышает задаваемый пользователем или установленный по умолчанию предел, то выдается сообщение о количестве записей, которые будут присланы в результате исполнения запроса. Этот механизм необходим в связи с тем, что очень легко задать такие параметры запроса, которые приведут к очень большому трафику при работе с большими объемами данных.
Далее в блоке 5.2 выдачи результата исполняется запрос и выдается результат. Запросы перед исполнением преобразуются в синтаксис той версии SQL, который поддерживает соответствующая среда обработки (в настоящее время таких синтаксисов два - синтаксис MS JET SQL, синтаксис Transact SQL).
В процессе оптимизации из запроса можно удалить операции пересечения с теми таблицами, поля которых не участвуют в результирующем наборе или отборе, и они не нужны для последующих операций пересечения. Если задание пересечения с какой-либо таблицей ограничивает собственно результирующий набор, то есть таблица обязательно должна участвовать в результирующем запросе, то можно описать какое-либо не выводимое в форму или отчет обязательное поле из этой таблицы, и тогда
нужное пересечение всегда будет включаться в результирующий набор. Другим важным моментом функционирования данного блока является тот факт, что включение некоторых пересечений в результирующий набор является также необходимым в связи с тем, что ограничивает размножение записей при пересечениях на отношениях типа m к n.
Блок 6 фильтрации данных (Фиг.6) выполнен в виде последовательно соединенных блока 6.1 формирования диапазонов значений, блока 6.2 построения списков, блока 6.3 переключателей и блока 6.4 динамического изменения запроса.
На вход данного блока поступают данные от блока 5 оптимизации исполнения нерегламентных запросов, а на выходе формируются данные для блока 7 представления информации нерегламентных запросов и блока 4 взаимодействия базы метаинформации и базы данных.
В блоке 6 обеспечивается формирование системы фильтров, обеспечивающих выполнение запросов в базу данных для предоставления ее в виде объектов, формируемых в блоке 7 представления информации нерегламентных запросов.
Фильтрация данных осуществляется в модели по полям первой категории (см. пояснения к блоку 7 представления информации нерегламентных запросов). Задание фильтра в общем случае можно представить как задание n диапазонов значений на каждое из полей, связываемых по «или», причем фильтры по разным полям объединяются по «и». При этом списки значений для начал и концов диапазонов также могут строиться на запросе, формируемом аналогично запросу на выборку, только в списке выбираемых полей должно присутствовать поле фильтрации, и оно же является полем группировки. Кроме поля фильтра в запросе на список фильтра могут присутствовать и другие поля. Но эти поля должны быть полями второй категории. При последовательном задании фильтров можно динамически изменять запрос, подставляя уже определенные значения фильтров в запрос на формирование фильтра. Запросы на построение списков для фильтров должны включать пересечение всех таблиц подсхемы (пересечение ограничивает список возможных значений), и одним из возможных значений фильтрации может быть отсутствие значения. Исполнение таких запросов при задании некоторых фильтров достаточно ресурсоемкое, а поэтому довольно медленное. Существует возможность задания фильтров без построения списков значений
Блок 7 представления информации нерегламентных запросов (Фиг.7) выполнен в виде блока 7.1 фильтрации и группировки, к выходу которого подключен блок 7.2
агрегации, включающий последовательно соединенные модуль 7.2.1 таблиц, модуль 7.2.2 отчетов и модуль 7.2.3 сортировки.
На вход данного блока поступают данные от блока 6 фильтрации данных, блока 4 взаимодействия базы метаинформации и базы данных, блока 9 параметрического вызова формы ввода.
В состав блока 7.2 агрегации входят модуль 7.2.1 таблиц и модуля 7.2.2 отчетов. Это определяется тем, что существует наличие различных взглядов на фрагменты общей модели данных, которые связаны с совокупностью функциональных комплексов  системы. Функционирование блока 7 представления информации нерегламентных запросов в целом направлено, во-первых, на поиск документов, а во-вторых, на формирование производных значений на отфильтрованных совокупностях сгруппированных данных. Вышеописанные взгляды с точки зрения системы называются просмотрами. Каждый просмотр с интерфейсной точки зрения представляет собой совокупность табличной формы и аналогичного ей отчета.
Набор и последовательность объектов (полей), выводимых в форму, не фиксирован, а выбирается произвольно из того множества полей, которые возможны на классе запросов, реализуемом на соответствующей подсхеме. Поля делятся на две категории: те поля, по значениям которых возможна фильтрация и группировка, и значения которых при выводе будут соответствовать отобранным, и те, по которым она невозможна, поскольку они являются полями с применением функций типа агрегации (сумма, среднее, минимум, максимум и т.п.), и фильтрация по исходным значениям которых не будет соответствовать результатам вывода. Считаем, что всегда можно проводить группировку по полям первой категории и всегда применять соответствующую функцию агрегации для полей второй категории. То есть, выбор списка объектов (полей) задает не только перечень полей в запросе, но и его группировку. Если связать поля с соответствующими объектами (таблицами), из полей которых они выбираются, и иметь описание отношений между таблицами, то задание перечня полей позволяет построить запрос на выборку с необходимыми для этого пересечениями таблиц и группировкой. Одновременно задание последовательности выводимых полей позволяет провести создание и форматирование элементов формы и отчета.
Завершающим этапом представления информации является сортировка данных в результирующем запросе, которая проводится по всем выбранным полям, начиная с выбранного и заканчивая полем, предшествующим указанному. При этом при первом указании на поле она осуществляется по возрастанию, а при втором - по убыванию.
Задание сортировки инициирует механизм окончательного формирования и исполнения запроса.
Блок 8 выгрузки результатов нерегламентных запросов (Фиг.9) содержит блок 8.1 формирования отчетов, к выходу которого подключен блок 8.2 экспорта файлов, и выполняет функцию выходного терминала, т.е. обеспечивает предоставление информации по нерегламентным запросам в виде файлов.
На вход данного блока передаются данные от блока 7 представления информации нерегламентных запросов, а именно, результирующий набор данных в форме просмотра, в отношении которого могут быть произведены дальнейшие действия пользователя. В частности, в блоке 8.1 формирования отчетов может быть сформирован и распечатан отчет, наименование которого, как и наименования столбцов, могут быть заданы произвольно или по умолчанию.
Результирующий набор через блок 8.2 экспорта может быть экспортирован в файл, например, MS EXCEL или в любой формат, для которого на рабочей станции имеются драйверы ISAM. Кроме того, сформированные отчеты также могут быть экспортированы через блок 8.2 экспорта в любой формат, для которого на рабочей станции имеются драйверы ISAM.
Блок 9 параметрического вызова формы ввода (Фиг.10)
На вход данного блока передаются данные Блока представления информации нерегламентных запросов - результирующий набор в форме просмотра.
Из формы просмотра может быть осуществлена загрузка формы корректировки данных с подстановкой в качестве аргументов открытия значений полей, которые помечены как параметры. Реализация такого механизма позволяет обеспечить непосредственный переход к конкретному информационному объекту системы (документу). Для этого необходимо использовать переключатели, которые задают либо однозначное соответствие формы просмотра и формы корректировки, либо опосредованное. При использовании второго вида переключателей сначала открывается форма, определяющая по параметрам, какую форму корректировки и с какими параметрами открывать.
Ниже приведен пример работы системы при осуществлении одного из нерегламентных запросов.
Допустим, пользователю системы необходимо получить информацию о платежных поручениях за конкретный интервал дат (например, за месяц), вывести информацию в сгруппированном по необходимым параметрам виде на экран монитора,
а затем выгрузить результат во внешнюю систему, например, в файл с расширением .xls.
Первоначальная информация о платежных поручениях вводится в блок 2 для пользователя локальной сети или в блок 3 для удаленного пользователя. В блоке 2.2 осуществляется ввод и регистрация информации о платежных поручениях. Эта информация передается и сохраняется в блоке 2.1. После этого с выхода блока 2 информация о платежных поручениях попадает в блок 4 на его блок 4.2.
От пользователя в блок 7 на вход блока 7.1 поступает информация, содержащая поля фильтров и поля, по которым осуществляется группировка информации (запрос). По первому выходу запрос передается в блок 4 на вход блока 4.2 хранения информации метабазы. Из блока 4 запрос попадает в блок 1, в котором содержится метаинформация, описывающая с помощью блока 1.1 - идентификатор запросов, с помощью блока 1.2 - идентификатор таблиц, блока 1.3 - идентификатор алиасов таблиц, блока 1.4 - идентификатор глобальных условий отбора, в блоке 1.5 - порядок формирования подсхемы запроса, в блоке 1.6 - идентификатор полей запроса, в блоке 1.7 -идентификатор связей полей с таблицами, в блоке 1.8 - идентификатор форм просмотра, в блоке 1.9 - идентификатор полей форм, в блоке 1.10 - идентификатор полей фильтров.
Из блока 1 запрос возвращается в блок 4 на устройство 4.2, затем в блоке 5 производится оптимизация исполнения запроса сначала в блоке 5.1, возвращающем количество записей в результирующем наборе, а затем в блоке 5.2 выдачи результата.
Из блока 5 запрос передается в блок 6 на вход блока 6.1 для формирования диапазона значений отбираемых данных о платежных поручениях, в блок 6.2 - для построения списков, в блок 6.3 переключателей - для обеспечения формирования диапазона значений отбираемых данных по построенным спискам или, для большого объема данных, без построения списков, в блок 6.4 - для динамического изменения запроса. Из блока 6 запрос возвращается в блок 4 на вход блока 4.2, где по заданному запросу осуществляется отбор информации из базы данных.
Далее из блока 4 информация о платежных поручениях поступает в блок 7 на вход его блока 7.2, а из блока 6 запрос поступает в блок 7 к блоку 7.1 фильтрации и группировки. Результирующий набор данных (информации о платежных поручениях) может быть передан по желанию пользователя в блок 8 выгрузки результатов нерегламентных запросов, например, в файл с расширением .xls, .doc и т.д.
Из блока 7 сигнал может быть передан также в блок 9, где может быть осуществлена загрузка формы ввода данных с подстановкой в качестве аргументов
открытия значений полей, которые помечены как параметры. Реализация такого механизма позволяет обеспечить непосредственный переход к конкретному информационному объекту системы (платежному поручению).
Преимущества заявленной системы нерегламентных запросов к базе данных перед прототипом и другими устройствами аналогичного назначения состоят в следующем:
- Обеспечивается быстрое формирование произвольных запросов пользователей к базе данных по произвольным параметрам;
- Обеспечивается многообразие форм представления выбранных по запросу данных, а именно, в виде просмотров, отчетов, файлов и др.;
- Обеспечивается возможность сортировки результатов запроса;
- Обеспечивается возможность вывода в отчет наименования фильтра, на основании которого сформирован выходной набор данных, а также задания наименования отчета;
- Обеспечивается возможность оперативного формирования отчетности в удобном для пользователя разрезе;
- Обеспечивается возможность сохранения параметров запросов (фильтров) для последующего их использования без повторной настройки.
Таким образом, заявленная система нерегламентных запросов к базе данных АИСБП способствовала созданию новой автоматизированной технологии управления бюджетным процессом при казначейском способе исполнения на региональном уровне (уровне субъекта РФ и муниципального образования).