УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СООБЩЕНИЙ ОБ ОШИБКАХ

Полезная модель относится к устройству для обработки сообщений об ошибках с обеспечением сохранения конфиденциальности данных пользователей и может быть использована в системах сбора статистики ошибок и устранения ошибок.
В процессе обработки данных и передачи информации неизбежно возникают ошибки, вызванные как недостатками в программном обеспечения, так и сбоями в работе аппаратной части вычислительных систем. Учет и исправление ошибок - важные задачи на многих уровнях работы с информацией. Сбор статистики ошибок является одной из ключевых частей информационных систем, занимающихся обеспечением работоспособности вычислительных систем и кластеров.
Для программного обеспечения важным является не только корректность обработки ошибок, но и формирование информативных сообщений об этих ошибках. Наличие таких сообщений позволяет быстрее выявлять причины ошибок и их исправлять.
Обычно разработчики программного обеспечения организуют поддержку своих программных продуктов на основе откликов пользователей с использованием различных средств коммуникации: от телефонных звонков и электронных писем в службу поддержки до встраивания специальных модулей в свои программы, автоматически отправляющих отчет об ошибках разработчикам через интернет-соединение. Однако в ряде случаев пользователи отказываются обращаться в службы технической поддержки в связи с тем, что требуемая службами информация может содержать конфиденциальные данные.
Наиболее близким аналогом настоящей полезной модели является заявка на выдачу патента Российской Федерации на изобретение №2012141465/08, опубликованная 27.06.2014 Бюл. №18, международный класс G06F 11/00, в которой раскрыта система автоматической обработки системных ошибок программного обеспечения. Известная система содержит экспертную базу данных, экспертный модуль обработки ошибок, удаленный сервер исследования программного обеспечения и может быть использован для эффективной обработки ошибок, возникающих при исполнении кода программы в компьютерной системе, однако не позволяет обеспечить анонимность данных клиентов при передаче сведений об ошибках и обработке ошибок.
Настоящая полезная модель предназначена для улучшения условий сбора статистических данных, относящихся к сообщениям об ошибках, с обеспечением конфиденциальности данных специфичных для компьютера, относящихся к сведениям о произошедших сбоях в программном обеспечении компьютера, что существенно повышает скорость выявления и устранения проблем, повышая надежность работы системы, в целом.
Для достижения указанного технического результата устройство для обработки сообщений об ошибках, выполнено в виде устройства, содержащего видеоподсистему и процессор, обеспечивающий исполнение последовательностей инструкций, хранящихся в оперативном запоминающем устройстве и формирование сообщений об ошибках при попытках выполнения недопустимых последовательностей инструкций с обеспечением наличия в сообщениях информации, относящейся к идентификационным данным устройства и информации, относящейся к идентификационным данным ошибок,
при этом устройство также содержит:
блок обработки сообщений об ошибках, выполненный обеспечивающим прием сообщений об ошибках, шифрование идентификационных данных устройства с возможностью последующего дешифрования по средствам блока шифрования и дешифрования и формирование кода ошибки;
блок хранения базы данных, выполненной хранящей идентификационные данные ошибок, и соответствующих ошибкам сведений об устранении ошибок;
блок управления базой данных, соединенный с блоком обработки сообщений об ошибках с возможностью получения и передачи сообщений с зашифрованными идентификационными данными устройства и идентификационными данными соответствующих ошибок;
при этом блок управления базой данных выполнен с возможностью, по запросу, содержащему коды ошибок, получения из базы данных сведений об устранении ошибок, соответствующих кодам ошибок, или же сведений об отсутствии сведений об устранении ошибки в базе данных, и передачу сведений об устранении ошибок, совместно с зашифрованными идентификационными данными устройства блоку обработки сообщений об ошибках, а блок обработки сообщений об ошибках выполнен обеспечивающим дешифрование идентификационных данных устройства и формирование сообщения о возможности устранения ошибки, содержащее дешифрованные идентификационные данные устройства и сведения о возможности устранения ошибки с возможностью отображения сообщения об устранении ошибки на блоке отображения информации видеоподсистемы;
блок записи в базу статистических данных, содержащуюся в базе данных, кодов ошибок, не содержащихся в базе ранее, содержащийся в блоке управления базой данных.
На чертежах показано:
на фиг. 1 - примерная система, на которой может быть реализована полезная модель;
на фиг. 2 - схематически показана структура полезной модели с обозначением взаимодействия всех составляющих частей системы для обработки сообщений об ошибке, согласно одному из возможных вариантов осуществления;
на фиг. 3 - графическое представление последовательности операций, осуществляемых полезной моделью при обнаружении ошибки в системе;
на фиг. 4 - графическое представление последовательности операций, реализуемых в системе для поддержания базы данных в работоспособном состоянии.
При обработке ошибок, с использованием баз данных или баз знаний, обычно удается выработать общую стратегию, что позволяет локализовать обработку ошибок.
Для формирования сообщений об ошибках можно применить подход, условно разделяющий ошибки на универсальные сообщения, которые формируются на основе анализа структуры работы программы в операционной системе и специальные сообщения, которые определяются индивидуально для каждой программы или процедуры, а также могут иметь отношение к работе с конфиденциальными данными пользователя.
Для обеспечения максимальной эффективности работы программного-аппаратного модуля совместно с программным пакетом, программно-аппаратный модуль снабжен специальным программным сервисным модулем, который обеспечивает безопасное хранение, использование пользовательской информации, а также предоставление прав доступа к пользовательской информации и, в частном случае, реализации полезной модели может блокировать не только неавторизованный доступ к пользовательской информации, но и попытки пользователя случайным образом или посредством сервисных служб разгласить информацию, которая может быть отнесена к конфиденциальной. Таким образом, предотвращается утрата, искажение или компрометация информации. Степень защиты может регулироваться с использованием программных и аппаратных настроек. Сервисный модуль может поставляться совместно с программным пакетом, с настройками сервисного модуля «по умолчанию», которые, специфичным для пользователя образом, выбираются разработчиком данного программного пакета на основании предыдущего опыта и экспертных оценок компетентных сотрудников компании-разработчика. В последующем, каждый пользователь может изменить настройки сервисного модуля с целью более безопасной, по его мнению, работы. Также, настройки и параметры, в том числе, дополнительно загружаемые программные модули, могут быть адаптированы под статистику ошибок, возникающих при работе программного пакета. В частном случае реализации полезной модели, могут быть выбраны различные стратегии адаптации, например, статистика критических ошибок может быть уменьшена за счет увеличения числа мелких ошибок и т.п.
Если при работе пользователя с программным пакетом происходит ошибка при выполнении программы, то блок обработки сообщений об ошибках получает оригинальное сообщение о произошедшей ошибке.
На этапе обработки сообщения об ошибке происходит генерация кода ошибки, включающая выделение идентификационной для компьютера информации из оригинального сообщения об ошибке для передачи ее в блок шифрования. Блок шифрования производит взаимно-однозначное шифрование и передает информацию в зашифрованном виде обратно блоку обработки.
Математическое обеспечение, необходимое для реализации алгоритмов шифрования, преимущественно, устанавливается в непосредственной близости от источника сообщений об ошибках.
Коды ошибок - коды структурированных метаданных и идентификатора сообщений - это самый простой способ реагирования на ошибки. Структурированный код получается посредством преобразования имени файла, имени функции/метода, и строки внутри данного метода, он указывает на место в программе, где произошла ошибка при выполнении программы.
Суть кодов такова: подпрограмма должна вернуть какой-либо признак успешности выполнения поставленной задачи. Существует два варианта: либо подпрограмма возвращает простой признак (успешно/неуспешно), либо же подпрограмма возвращает статус выполнения (иначе говоря - "описание ошибки"), т.е. некий код (число) одной из нескольких заранее определенных ситуаций: неверно заданы параметры функции, файл не найден и т.п. В первом случае может существовать дополнительная функция, которая возвращает статус выполнения последней вызванной функции. При таком подходе, ошибки, обнаруженные в функции, обычно передаются выше (в вызывающую функцию). Каждая функция должна проверять результаты вызовов других функций на наличие ошибок и выполнять соответствующую обработку.
Код идентификатора сообщений получается преобразованием сокращенного сообщения об ошибке и привязывает ее к семантике программы. Например, при формировании информационного контента по запросу пользователя с использованием активной генерации контента, может возникнуть следующее сообщение об ошибке:
«Ошибка неверного формата запроса».
Причина: не найдена запрашиваемая страница, кроме того, не найден адрес https://backend.production.cms.par.com/error-404, при попытке формирования страницы «страница не найдена».
В данном случае, вся информация, кроме адреса, по которому должен располагаться код «страница не найдена» является открытой, поэтому, для дальнейшей обработки, адрес, по которому должна располагаться страница «страница не найдена» шифруется, например, с использованием алгоритма CRC32. Результирующий хэш код имеет значение 16a4b77e. В результате, в формате базы данных формируется следующее сообщение:
«Ошибка неверного формата запроса».
Причина: не найдена запрашиваемая страница, кроме того, не найден адрес 16a4b77e при попытке формирования страницы «страница не найдена».
Обращение к базе данных или базе знаний дает следующую рекомендацию:
Создайте файл с кодом «Страница не найдена» по адресу 16a4b77e.
После приема и расшифровки сообщение, с учетом того, что хэш коду 16a4b77e соответствует https://backend.production.cms.par.com/error-404, на стороне пользователя формируется сообщение:
Создайте файл с кодом «Страница не найдена» по адресу https://backend.production.cms.par.com/error-404.
При этом анализ программного пакета может позволить определить имеет ли данная ошибка системный или уникальный характер. Например, если стандартная, для ошибки 404 «Страница не найдена» страница формируется автоматизированной средой разработки сайтов, то проблема может заключаться в среде разработки. Если пользователь самостоятельно неверно создал или удалил страницы для ошибки 404, то ошибка имеет случайных и уникальный, для пользователя, характер, дополнительные меры не требуются. Соответственно, блок обработки сообщений об ошибках отвечает пользователю сообщением, появляющимся во всплывающем окне браузера, о том, что в ходе работы произошла ошибка при выполнении программы, при этом сообщение содержит сведения об устранении ошибки.
Таким образом блок обработки сообщений об ошибках подменяет специфичную для компьютера информацию зашифрованной информацией. Затем уже обработанное сообщение об ошибке поступает в блок управление базой данных.
При этом в частном случае для «закрытых» пользователем полей используется кэширование данных.
После обработки ошибок и возврате сообщения с рекомендациями об устранении ошибок и, на стороне пользователя производится подстановка исходных данных вместо кэшей. При этом, кэш может использоваться, как показано ранее, не только для сокрытия информации, но и для анализа ошибок. В частном случае, о частоте появления ошибок одного типа.
Еще одним обязательным блоком программы является блок хранения базы данных. Блок хранения может хранить базу данных на постоянном запоминающем устройстве компьютера или же на съемном постоянном запоминающем устройстве. База данных содержит статьи, в которых приведены способы устранения последствий ошибок.
Блок управления базой данных полученное сообщение об ошибке преобразует в формат базы данных и формирует запрос к базе данных о наличии решения для такой ошибки. В данном случае, под форматом базы данных подразумевается стандарт форматирования и взаимного расположения элементов сообщений, обеспечивающий возможность ввода информационных частей сообщения в базу данных, а также эффективное формирование запросов для получения, при наличии, из базы данных статей о путях и способах устранения или минимизации возникающих ошибок.
Блок управления базой данных проводит поиск в блоке хранения базы данных по 2-м кодам: структурированных метаданных и идентификатора сообщений. Если искомые статьи в блоке хранения базы данных существуют, то они пересылаются блоку обработки сообщений об ошибках и проблема таким образом решена с вероятностью, близкой к единице. Если релевантных статей нет, то поиск проводится только с ключом структурированных метаданных. При наличии соответствующих статей, проблема решена. Если статьи отсутствуют, то проводится поиск по коду идентификатора сообщений.
При нахождении релевантных статей в блоке хранения базы данных они сохраняются в виде статей об устранении ошибок, при отсутствии - проводится полнотекстовый поиск по ключу открытое сообщение об ошибке.
Таким образом от базы данных приходит ответ либо с решением ошибки, либо сообщение о том, что решение для такой ошибки не найдено. В случае, если решение не найдено, блок записи в базу данных, встроенный в блок управления базой данных, дополняет базу данных еще одной ошибкой. Это позволяет собирать статистику об ошибках, которые возникли при работе программно-аппаратного комплекса, но не имею решения в существующей базе данных.
В частном случае реализации полезной модели, в случае отсутствия ранее ошибки в базе данных, и пользователю предлагается максимально подробно описать свои действия перед появлением ошибки и реакцию интерфейса программного пакета, заполнив анкетный лист.
В случае если информация из переданных пользователю статей не позволяет решить проблемы, возникшие из-за ошибок при выполнении программы, то пользователь также получает возможность заполнить анкетный лист. При заполнении анкетного листа часть информации представляется пользователем в виде сообщения в свободной форме, открытого сообщения об ошибке и кодов, структурированных метаданных и идентификатора сообщений, которые автоматически добавляются в анкетный лист.
Найденные статьи передаются в открытое окно браузера пользователя, заполнение анкетного листа также производится через такое окно.
Блок записи в базу данных, встроенный в блок управления базой данных, добавляет сведения об ошибке в статистическую базу, являющуюся частью информационной базы, где накапливается статистика обращений по проблемам с одинаковыми кодами структурированных метаданных и идентификатора сообщений. Статистическая база данных позволяет определить частоту возникновения ошибок и эффективность их решения. В частном случае, если при последующем анализе базы данных каждого пользователя выясняется, что от всех пользователей поступало одинаковое или условно одинаковое сообщение об ошибке с неизменной частотой, например, во времени или в относительном времени работы процессора, это является основанием для ревизии общей части программно-аппаратного комплекса или блока обнаружения и обработки ошибок. Также, если при существенной различной загрузке процессора различными пользователями сообщение об одной и той же ошибке появлось с одинаковой частотой в реальном времени, скорее всего, проблема заключается в блоке обнаружения и обработке сообщений об ошибках. Если специфическая ошибка появлялась от всех пользователей однократно, можно считать, что метод устранения ошибки эффективен, и, при желании администратора баз данных, можно применить исправления ко всем анализируемым базам данных и блокам. На основе статистики появления различных ошибок, группа поддержки выбирает для первоочередного решения наиболее часто встречающуюся высокоприоритетную ошибку, анализирует созданные пользователями анкетные листы и разрабатывает рекомендации по устранению последствий данной ошибки при выполнении программы и о том, как в дальнейшем избежать ее появления, и помещает статью в информационную базу, ставя ей в соответствие атрибуты структурированные метаданные и идентификаторы сообщений, по которым производится поиск в информационной базе.
Группа поддержки программного пакета проводит анализ статистической базы и делает запрос группе разработки по устранению высокоприоритетных ошибок при выпуске следующего обновления программы.
В случае, когда база данных выдает блоку управления базой банных решение ошибки, то блок управление базой данных передает информацию о решении ошибки блоку обработки сообщений об ошибках.
Далее все происходит по обратному сценарию. Получив информацию о решении ошибки, блок обработки сообщений об ошибках дополняет его информацией об ошибке и производит в ней дешифрацию специфичной для компьютера информации в первоначальный вид при помощи блока дешифрации. Таким образом формируется сообщение о решении той или иной ошибки программно-аппаратного комплекса.
Сообщение об ошибке и ее решении передается блоку отображения информации, который представляет это сообщение по средствам видеоподсистемы.
На фиг. 1 изображена примерная схема реализации полезной модели, которая включает в себя вычислительное устройство общего назначения 175, включающее в себя процессор 165, системную память 105 и системную шину 170, которая соединяет различные системные компоненты, включая соединение системной памяти 105 с процессором 165. Системная шина 170 может представлять собой любой из нескольких типов структур шин, включая шину памяти или устройство управления памятью, периферийную шину и локальную шину, с использованием любой разновидности архитектуры шины.
Системная память включает в себя постоянное запоминающее устройство (ПЗУ) 115 и оперативное запоминающее устройство (ОЗУ) 160. Базовую систему 120 ввода/вывода (BIOS), содержащую базовые стандартные подпрограммы, которые обеспечивают помощь в передаче информации между элементами в пределах вычислительного устройства общего назначения 175, например, во время запуска сохраняют в ПЗУ 115. Вычислительное устройство общего назначения 175 включает в себя файловую систему 130, связанную с операционной системой 125 или включенную в нее, одну или более прикладных программ 145, другие программные модули 150 и программные данные 155. Монитор 135 или устройство отображения другого типа также подключают к системной шине 170 через устройство сопряжения, например, видеоадаптер 140. В дополнение к монитору 135, вычислительное устройство общего назначения включают в себя, как правило, другие периферийные устройства (не показаны). Следует отметить, что могут быть реализованы различные изменения, адаптации и альтернативные варианты осуществления в пределах объема и сущности настоящего изобретения.
На фиг. 2 показана схема взаимодействия всех составляющих частей системы для обработки сообщений об ошибке, согласно варианту осуществления.
Происходит некоторый сбой в системе и возникает некая ошибка системы. Затем Блок обработки сообщений об ошибках 250 получает информацию об ошибке в виде идентификационного кода, производит взаимно-однозначное шифрование специфичной для компьютера информации при помощи включенного в блок обработки сообщений об ошибках 250 блока шифрования/дешифрования 260 и передает зашифрованное сообщение в блок управления базой данных 240, который, в свою очередь, формирует код представления сообщения об ошибке в формате базы данных, и формирует запрос к блоку хранения базы данных 220.
В случае отсутствия кода ошибки в базе данных 230 ранее, блок записи в базу данных 210, включенный в блок управления базой данных 240, формирует запрос о добавлении сведений о зашифрованной ошибке в базу статистических данных с помощью блока хранения базы данных 220.
Далее блок хранения базы данных 220 отправляет в ответ на запрос блока управления базой данных 240 сообщение, содержащее решение ошибки. Блок управления базой данных 240 передает решение ошибки в блок обработки сообщений об ошибках 250, который в свою очередь дешифрует зашифрованные данные при помощи блока шифрования/дешифрования 260. Затем полностью расшифрованное сообщение об ошибке и ее сведений о ее устранении попадает в блок отображения информации 280, обладающий возможностью отображать это сообщение при помощи видеоподсистемы 290.
На фиг. 3 показано графическое представление обнаружения ошибки при открытии программного пакета, согласно варианту осуществления.
Данная схема алгоритма полезной модели начинается с шага 305 - просмотра пользователем программного пакета.
На шаге 310 происходит обнаружение программно-аппаратным комплексом ошибки в программе/системе.
На шаге 315 начинается передача идентификационного кода открытого сообщения об ошибке из программно-аппаратного комплекса в блок обнаружения и обработки сообщений об ошибках.
На шаге 330 происходит шифрование ошибки. В принципе, шифрование ошибки может происходить по желанию пользователя, однако, мы будем считать, что ошибка шифруется априори.
На шаге 335 происходит формирование кода представления сообщения об ошибке в формате базы данных.
На шаге 330 формируется запрос к базе данных.
На шаге 335 происходит замена зашифрованной ошибки на открытое сообщение об ошибке.
И на финальном этапе шага 340 выводится открытое сообщение об ошибке на экран пользователя в виде универсального решения проблемы.
Далее полезная модель дополнительно определена нижеследующей формулой изобретения.