СПОСОБ И КОНФИГУРАЦИЯ ДЛЯ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ИСПЫТАНИЯ
METHOD AND CONFIGURATION FOR AUTOMATED TESTING SYSTEM

УРОВЕНЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к испытательной системе предприятия. Системы программного обеспечения предприятия (системы предприятия) могут использоваться для выполнения работ в масштабе предприятия. Приведенные в качестве примера системы предприятия могут включать в себя системы планирования ресурсов предприятия (enterprise resource planning, ERP), системы управления взаимоотношениями с клиентами (client-relationship management, CRM), системы управления жизненным циклом изделия (product lifecycle management, PLM), системы управления цепочками поставок (supply chain management, SCM) и системы управления отношениями с поставщиками (supplier relationship management, SRM). В производственной среде множество пользователей ежедневно взаимодействуют с системой предприятия, что приводит к сотням, а то и к тысячам, транзакций и относительно большим объемам данных. В некоторых случаях системы предприятия могут обновляться и/или настраиваться индивидуально. Например, может быть доступной более свежая версия системы предприятия, что приводит к необходимости обновления системы предприятия (например, обновления от версии 1.0 до версии 2.0). В качестве еще одного примера, предприятие может настраивать систему предприятия с включением в нее функциональных средств/признаков, которые соответствуют конкретному предприятию.
[0002] В случаях обновления и/или настройки (изменения) системы предприятия модифицированную систему предприятия испытывают прежде, чем она станет доступной для производственного использования. В некоторых случаях испытание выполняют с использованием производственных данных (например, данных, извлеченных из производственного использования системы предприятия перед обновлением/настройкой). Обычно теневое испытание модифицированной системы предприятия выполняют путем копирования производственной системы (или арендованной системы, если программное обеспечение выполнено с возможностью аренды) в пустую систему (или арендованную систему (tenant)), после чего начинают ее испытание с полупроизводственными данными. Однако такой подход имеет недостатки.
[0003] Например, инсталляция такой испытательной системы требует копирования всей производственной системы, для чего могут потребоваться значительные объемы памяти (например, до нескольких терабайт (Тб)). Кроме того, процедура копирования может происходить достаточно долго (например, от нескольких часов до нескольких дней). В течение этого периода времени производственное использование исходной системы может создавать несогласованные данные в копии производственной системы. Следовательно, производственное использование системы или должно быть прекращено, что приводит к существенному времени простоя, или испытание придется продолжать с использованием несоответствующих данных. Еще один недостаток состоит в том, что пока новая система не заработает точно так же, как старая система, будут иметь место расхождение данных и появление ошибок, которые помешают выявлению основной причины проблемы. Кроме того, для обычного теневого испытания требуется, чтобы все транзакции выполнялись в исходной системе, а также запускались в испытательной системе, что делает целевое испытание затруднительным.
[0004] Таким образом, в данной области техники существует необходимость устранения вышеуказанных недостатков и несоответствий.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0005] Согласно различным вариантам реализации настоящего изобретения предложен способ одновременного производственного использования системы предприятия и испытания модифицированной системы предприятия. Способ включает:
получение вводов от одного или более пользователей производственной системы предприятия;
передачу вводов от одного или более пользователей производственной системе предприятия;
определение по меньшей мере одним аппаратным процессором поднабора вводов, полученных от одного или более пользователей, для использования в испытании модифицированной системы предприятия;
выполнение по меньшей мере одним аппаратным процессором одной или более транзакций с указанным поднабором вводов в модифицированной системе предприятия и копии производственной системы предприятия; и
анализ по меньшей мере одним аппаратным процессором одной или более транзакций для определения того, что модифицированная система предприятия сконфигурирована правильно.
[0006] Согласно различным вариантам реализации настоящего изобретения предложена система для одновременного производственного использования системы предприятия и испытания модифицированной системы предприятия. Система содержит один или более процессоров и систему запоминающих устройств, содержащую один или более компьютерочитаемых носителей, содержащих инструкции, которые при их исполнении указанными одним или более процессорами принуждают один или более процессоров выполнять операции, включающие:
получение вводов от одного или более пользователей производственной системы предприятия;
передачу вводов, полученных от одного или более пользователей, производственной системе предприятия;
определение поднабора вводов, полученных от одного или более пользователей, для использования в испытании модифицированной системы предприятия;
выполнение одной или более транзакций с указанным поднабором вводов в модифицированной системе предприятия и копии производственной системы предприятия; и
анализ одной или более транзакций для определения того, что модифицированная система предприятия сконфигурирована правильно.
[0007] Согласно различным вариантам реализации настоящего изобретения предложен некратковременный компьютерочитаемый носитель данных для одновременного производственного использования системы предприятия и испытания модифицированной системы предприятия. Некратковременный компьютерочитаемый носитель данных содержит инструкции для принуждения одного или более процессоров осуществлять способ, включающий:
получение вводов от одного или более пользователей производственной системы предприятия;
передачу вводов, полученных от одного или более пользователей, производственной системе предприятия;
определение по меньшей мере одним аппаратным процессором поднабора вводов, полученных от одного или более пользователей, для использования в испытании модифицированной системы предприятия;
выполнение по меньшей мере одним аппаратным процессором одной или более транзакций с указанным поднабором вводов в модифицированной системе предприятия и копии производственной системы предприятия; и
анализ по меньшей мере одним аппаратным процессором одной или более транзакций для определения того, что модифицированная система предприятия сконфигурирована правильно.
[0008] Согласно некоторым вариантам реализации этап определения основан на белом списке, причем указанный белый список содержит одно или более из: списка пользователей, вовлеченных в испытание; списка команд для использования в испытании; списка транзакций для использования в испытании.
[0009] Согласно некоторым вариантам реализации после этапа получения способ включает копирование вводов, которые должны быть переданы производственной системе предприятия, модифицированной системе предприятия и копии производственной системы предприятия.
[0010] Согласно некоторым вариантам реализации способ дополнительно включает синхронизацию модифицированной системы предприятия и копии производственной системы предприятия с производственной системой предприятия.
[0011] Согласно некоторым вариантам реализации синхронизация происходит во время предварительно заданного временного интервала или по требованию.
[0012] Согласно некоторым вариантам реализации этап анализа дополнительно включает сравнение записи транзакций для копии производственной системы предприятия и модифицированной системы предприятия.
[0013] Следует понимать, что предшествующее общее описание и последующее подробное описание приведены только в качестве примера и пояснения и не являются ограничениями вариантов реализации, заявленных в пунктах приложенной формулы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] ФИГ. 1 показывает архитектуру испытания согласно различным вариантам реализации настоящего изобретения.
[0015] ФИГ. 2 показывает блок-схему программного обеспечения испытательной последовательности данных согласно различным вариантам реализации настоящего изобретения.
[0016] ФИГ. 3 показывает процесс испытания целевой системы согласно различным вариантам реализации настоящего изобретения.
[0017] ФИГ. 4 показывает способ одновременного производственного использования системы предприятия и испытания модифицированной системы предприятия согласно различным вариантам реализации настоящего изобретения.
[0018] ФИГ. 5 показывает приведенную в качестве примера компьютерную систему для выполнения описанных вариантов реализации, соответствующих настоящему изобретению.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0019] Ниже подробно описаны приведенные в качестве примера варианты реализации со ссылкой на сопроводительные чертежи. При необходимости одни и те же позиционные номера используются в чертежах для ссылки на те же или подобные части.
[0020] Для простоты и в иллюстративных целях принципы настоящего изобретения описаны в основном на примерах его реализации. Однако специалисту понятно, что эти принципы одинаково применимы к информации и системам всех типов и могут быть реализованы в отношении информации и в системах всех типов, и что любые такие вариации не отступают от принципа и объема охраны настоящего изобретения. Кроме того, в следующем ниже подробном описании ссылки сделаны на сопроводительные чертежи, на которых показаны конкретные приведенные в качестве примера варианты реализации. Электрические, механические, логические и конструктивные изменения могут быть выполнены в приведенных в качестве примера вариантах реализации без отступления от принципа и объема охраны настоящего изобретения. Таким образом, приведенное ниже подробное описание не должно рассматриваться в ограничительном смысле, и объем настоящего изобретения определен пунктами приложенной формулы и их эквивалентами.
[0021] Варианты реализации настоящего изобретения в целом относятся к испытанию модифицированных систем предприятия без нарушения работы соответствующей производственной системы предприятия. Более конкретно, варианты реализации настоящего изобретения относятся к испытанию обновлений и/или индивидуальной настройки системы предприятия с производственными данными, с использованием испытательной схемы базы данных параллельно с производственной схемой базы данных. В некоторых примерах варианты реализации настоящего изобретения обеспечивают возможность испытательного и производственного использования системы предприятия для выполнения с использованием тех же данных, дублированных в дополнительные базы данных, которые могут использовать или не использовать ту же схему, что и исходная база данных. Благодаря захвату фактической работы текущей производственной системы в режиме реального времени и использованию этой захваченной работы текущей производственной системы для испытания только что разработанной системы в сравнении с существующей испытательной системы, может быть обеспечено точное сравнение новой системы с унаследованными системами (в отношении как целостности данных, так и рабочих характеристик) путем многократного использования этих конкретных производственных транзакций для этих конкретных производственных пользователей одинаковым образом как в существующей испытательной системе, так и в обновленной испытательной системе, без необходимости выполнения всех транзакций. Кроме того, путем использования фактических производственных взаимодействий конечных пользователей предложенная система способна сократить большую часть выделенного времени для испытания конечного пользователя и в то же время способна обеспечить наилучшее представление производственного использования в испытательной системе. Такой подход включает в себя различные типы взаимодействий, а также загрузки и масштабирования системы. Такой подход также обеспечивает наилучшее выявление условий возникновения ошибок, автоматизированную генерацию модульных испытаний и автоматизированную аналитику данных испытания.
[0022] ФИГ. 1 показывает архитектуру 100 испытания согласно различным вариантам реализации настоящего изобретения. Архитектура 100 испытания может использоваться для испытания производственной системы 122 предприятия (или производственной системы), например, производственного сервера предприятия, в котором архитектура 100 перехватывает работу производственного сервера, выборочно многократно использует взаимодействия для испытания в модифицированной системе 130 предприятия (или испытательной системе), например, обновленной системе сервера, и сравнивает результаты с копией производственной системы 125 предприятия, например, испытательного существующего сервера, в результате чего обеспечено уменьшение связанных с испытанием ошибок пользователя, устранение большей части испытания конечного пользователя и устранение двойного ввода данных и вытекающих из него ошибок. Архитектура 100 испытания содержит рабочие станции 105А и 105В, которые соединены с возможностью обмена данными с дублирующим прокси-сервером 115А посредством сети 110А, и рабочая станция 105С, которая соединена с возможностью обмена данными с дублирующим прокси-сервером 115В посредством сети 110В. Рабочими станциями 105А, 105В управляют пользователи 120А, 120В соответственно, и рабочей станцией 105С управляет пользователь 120С. Согласно некоторым вариантам реализации сеть 110А и сеть 110В являются различными сетями, такими как сеть 110А, которая может быть внешней глобальной сетью, т.е. сетью Интернет, и сеть 110В, которая может быть внутренней локальной сетью. Согласно некоторым вариантам реализации каждая из рабочих станций 105А, 105В, 105С может быть вычислительным устройством, таким как ноутбук, настольная ЭВМ, смартфон, персональный цифровой помощник, переносное мультимедийное воспроизводящее устройство, планшетный компьютер или любое другое соответствующее вычислительное устройство, которое может использоваться для связи с дублирующим прокси-сервером 115А, 115В. Дублирующие прокси-серверы 115А, 115В соединены с возможностью обмена данными с производственной системой 122 предприятия, копией производственной системы 125 предприятия и модифицированной системой 130 предприятия. Дублирующие прокси-серверы 115А, 115В получают данные от рабочих станций 105А, 105В и 105С и передают эти данные производственной системе 122 предприятия для использования в нормальном режиме работы пользователями 120А, 120В, 120С, а также обеспечивают данные для испытания с использованием копии производственной системы 125 предприятия и модифицированной системы предприятия 130.
[0023] Согласно некоторым вариантам реализации дублирующие прокси-серверы 115А, 115В могут быть отдельными серверами или могут быть сервисом, который размещен в производственной системе 122 предприятия, копии производственной системы 125 предприятия или модифицированной системе 130 предприятия. Согласно некоторым вариантам реализации дублирующие прокси-серверы 115а, 115b, производственная система 122 предприятия, копия производственной системы 125 предприятия и модифицированная система 130 предприятия могут содержать одно или более вычислительных устройств, таких как сервер, и одну или более систем баз данных. Согласно некоторым вариантам реализации дублирующий прокси-сервер 115А, 115В может представлять собой одно и более вычислительных устройств, работающих вместе для выполнения функций сервера (например, для облачного вычисления). В некоторых вариантах реализации система баз данных может быть обеспечена как система базы данных в оперативной памяти. Согласно некоторым вариантам реализации база данных в оперативной памяти представляет собой систему управления базой данных, которая использует оперативную память для хранения данных. Согласно некоторым вариантам реализации оперативная память содержит оперативное запоминающее устройство (ОЗУ), которое соединено с возможностью обмена данными с одним или более процессорами (например, центральными процессорами (CPU)) посредством шины запоминающего устройства. База данных в оперативной памяти может отличаться от систем управления базами данных, которые используют запоминающее устройство на дисках. Согласно некоторым вариантам реализации базы данных в оперативной памяти работают быстрее, чем базы данных в дисковой памяти, поскольку внутренние алгоритмы оптимизации могут быть более простыми и могут исполнять меньше инструкций CPU (например, требовать меньше обращений к CPU). Согласно некоторым вариантам реализации доступ к данным в базе данных в оперативной памяти позволяет исключить время позиционирования головок дисковода при запросе данных, что обеспечивает более быстрые и прогнозируемые рабочие характеристики, чем это делают системы баз данных на основе дискового запоминающего устройства.
[0024] ФИГ. 2 показывает схему 200 программного обеспечения испытательной последовательности данных согласно различным вариантам реализации настоящего изобретения. Дублирующие прокси-серверы 115А, 115В получают вводы 205 от пользователей 120А, 120В и 120С через соответствующие рабочие станции 105А, 105В, 105С.
Дублирующие прокси-серверы 115А, 115В содержат очередь 210 пользовательских вводов, которые фильтруются через белый список 210, используемый для испытания модифицированной системы 130 предприятия, путем сравнения результатов с копией производственной системы 125. Белый список 210, как показано на ФИГ. 2, представляет собой очередь транзакций, которая представляет собой полный список пользователя (пользователей) 211, команды (команд) 212 и транзакции (транзакций) 213 для использования с целью испытания, состоящий из производственных пользователей, т.е. представляет собой машину состояний, которая следит за состоянием групп сессий (каждая группа сессий содержит производственную сессию и две испытательных сессии), и белый список, который определяет, какие транзакции предназначены для выполнения в отличие от испытательных сессий (вот почему состояния испытательной сессии могут отличаться от состояния производственной сессии). Пользовательские вводы содержат команду (команды) 212 для выполнения одного или более действий, включая помимо прочего извлечение, редактирование, модифицирование, объединение, переназначение чертежей, создание отчетов и другие действия в отношении любой информации, которая хранится в производственной системе 122 предприятия и управляется ею. Транзакция (транзакции) 213 может быть инструкциями, переданными от соответствующих рабочие станции 105А, 105В, 105С производственной системе 122 предприятия, для инициирования команды. Например, Web-сервис для управления пользователями может включать в себя команды прикладного программного интерфейса (API), включая помимо прочего команды, такие как: GetByName(Name) (Найти по имени) → EmployeeID/Fail (Идентификационный номер сотрудника/Ошибка) (в белом списке 210), GetByID(ID) (Найти по идентификационному номеру) → EmployeeNameFail (Ошибка имени сотрудника) (в белом списке 210), Set(Name) (Задать имя) → GeneratedID/Fail (Сгенерированный идентификационный номер/Ошибка) (идентификационный номер генерируется автоматически) (не в белом списке 210). Список транзакций может быть расположен в базе данных в форме одиночной таблицы из двух столбцов (Идентификатор, Имя), и символ "*" может представлять не обработанную транзакцию, поскольку она не перечислена в белом списке. Белый список 210 обычно позволяет сформировать поднабор вводов, которые пользователи 120А, 120В, 120С могут использовать в нормальной рабочей среде для выполнения в сравнении с испытательными системами, включая копию производственной системы 125 предприятия и модифицированную систему 130 предприятия. Кроме того, белый список 210 может содержать список пользователей, например, пользователей 120А, 120В, 120С, которые включены в архитектуру испытания. Например, если пользователи 120А и 120В, но не пользователь 120С, допущены к испытанию, то вводы, сделанные через рабочие станции 105А и 105В, но не рабочую станцию 105С, направляются из дублирующего прокси-сервера 115А в копию производственной системы 125 предприятия и модифицированную систему 130 предприятия. Кроме того, белый список 210 может включать в себя одну или более транзакций, которые должны быть выполнены копией производственной системы 125 и модифицированной системой 130 предприятия на основании поднабора вводов и пользователей, выбранных для участия в испытании.
[0025] Дублирующие прокси-серверы 115А, 115В передают вводы 205 производственной системе 122 предприятия, которая связана с возможностью обмена данными с производственной базой 240 данных, для использования в нормальном рабочем процессе. Поднабор вводов, полученный из белого списка 210, передается в очередь 220 процессов для использования в испытании целевой системы 235, т.е. модифицированной системы 130 предприятия, и целевой базы 255 данных в сравнении с клоном производственной системы 225, т.е. копией производственной системы 125 предприятия и производственной базой 245 данных клона. Во время испытания выполняются сравнения 230 транзакций между клоном производственной системы 225 и целевой системой 235, выполняются сравнения 250 баз данных между производственной базой 245 данных клона и целевой базой 255 данных для указанного поднабора вводов, после чего выполняют согласование результатов 270 испытания. Производственная база 245 данных клона и целевая база 255 данных синхронизируются с производственной базой 240 данных с использованием эксплуатационной синхронизации 260. В результате любые изменения в записях в производственной базе 240 данных передаются производственной базе 245 данных клона и целевой базе 255 данных. Кроме того, на периодической основе, т.е. каждую ночь в течение указанного периода времени, производственная база 245 данных клона может синхронизироваться с производственной базой 240 данных с использованием эксплуатационной синхронизации 260 и периодической испытательной синхронизации 265. Периодическая испытательная синхронизация 265 выполняется чаще, чем эксплуатационная синхронизация 260, и необходимо обеспечить точную синхронизацию производственной базы 245 данных клона и целевой базы 255 данных, чтобы гарантировать качество испытания. Эксплуатационная синхронизация 260 выполняется менее часто и должна приводить производственную базу 245 данных клона и целевую базу 255 данных в соответствие с производственными данными, поскольку выполняется только поднабор производственных транзакций в сравнении с испытательной системой.
[0026] ФИГ. 3 показывает процесс испытания целевой системы 300 согласно различным вариантам реализации настоящего изобретения. На этапе 305 от рабочей станции, т.е. рабочих станций 105А, 105В, 105С, принимают ввод (вводы), полученные от пользователя (пользователей), т.е. пользователей 120А, 120В и 120С. Ввод (вводы) получен от пользователя (пользователей) во время их нормальной ежедневной работы. На этапе 310 дублирующий прокси, т.е. дублирующий прокси-сервер 115А, 115В, дублирует ввод (вводы). Дублирующий прокси дублирует все вводы, которые затем фильтруют с использованием белого списка 210. Дублирование всех вводов улучшает испытательную документацию с одновременной минимизацией потенциального ущерба опыту пользователя путем поддерживания дублирующего прокси под минимальной насколько возможно нагрузкой. Даже если пользователи не являются пользователями, допущенными к испытательной системе, их транзакции дублируются и сохраняются и затем фильтруются белым списком 210. На этапе 315 производственная система, т.е. производственная система 122 предприятия, принимает ввод (вводы) от дублирующего прокси, которые будут использоваться для нормальной работы. На этапе 315 производственная система 122 предприятия обрабатывает ввод (вводы) нормальным способом, пока производственное задание не завершается на этапе 320. На этапе 325 ввод (вводы), которые были дублированы дублирующим прокси, сравнивают со списком транзакций, одобренных для испытательной системы. Например, белый список, т.е. белый список 210, может включать в себя одну или более транзакций для исполнения в клоне производственной системы 225 и целевой системе 235 на основании поднабора ввода (вводов), принятых от одного или более пользователя (пользователей), выбранных из всех производственных транзакций, которые были клонированы. Если не имеется ни одного текущего испытательного сценария, транзакцию добавляют к таблице транзакций и маркируют как внесенную в белый список или как внесенную в черный список на основании конфигурации испытательной системы. Если имеется текущий испытательный сценарий, и транзакцию вносят в белый список, то данная транзакция выполняется параллельно на этапе 335 в клоне производственной системы 225 и на этапе 340 в целевой системе 235. Соответствующие результаты одной или более транзакций 345 и 350 сравнивают на этапе 355 и 360 с использованием, например, инструментальных средств для сравнивания, которые выполнены с возможностью оценки конкретного выхода, и генерируют двухуровневый флаг сравнения для любых полученных различий. На этапе 365 генерируют отчет о сравнении, и на этапе 370 испытательный сценарий завершается.
[0027] ФИГ. 4 показывает способ 400 одновременного производственного использования системы 122 предприятия и испытания модифицированной системы 130 предприятия согласно различным вариантам реализации настоящего изобретения. Способ начинается на этапе 405, на котором получают вводы от одного или более пользователей 120А, 120В, 120С производственной системы 122 предприятия. Способ продолжается на этапе 410, на котором передают вводы от одного или более пользователей производственной системе 122 предприятия. На этапе 415 способа определяют посредством по меньшей мере одного аппаратного процессора поднабор вводов от одного или более пользователей для использования в испытании модифицированной системы предприятия. Определение основано на белом списке 210, причем белый список содержит одно или более из: списка пользователей (120А, 120В, 120С), допущенных к испытанию, списка команд 212 для использования в испытании, списка транзакций 213 для использования в испытании. На этапе 420 исполняют с использованием по меньшей мере одного аппаратного процессора одну или более транзакций с указанным поднабором вводов в модифицированной системе 130 предприятия и копии производственной системы 125 предприятия. На этапе 425 анализируют с использованием по меньшей мере одного аппаратного процессора одну или более транзакций для определения, что модифицированная система 130 предприятия сконфигурирована правильно.
[0028] Согласно некоторым вариантам реализации способ после получения на этапе 405 дополнительно может включать в себя выполнение операций, включающих в себя копирование на этапе 430 вводов, которые будут переданы производственной системе 122 предприятия, модифицированной системе 130 предприятия и копии производственной системы 125 предприятия.
[0029] Согласно некоторым вариантам реализации способ дополнительно может включать в себя выполнение операций, включающих в себя синхронизацию на этапе 430 модифицированной системы 130 предприятия и копии производственной системы 125 предприятия с производственной системой 122 предприятия, причем указанная синхронизация происходит в предварительно заданный временной интервал или по требованию.
[0030] Согласно некоторым вариантам реализации анализ на этапе 425 дополнительно может включать в себя сравнение на этапе 435 записи транзакций для копии производственной системы 125 предприятия и модифицированной системы 130 предприятия.
[0031] ФИГ. 5 показывает пример конфигурации аппаратных средств для компьютерного устройства 500, которое может использоваться в качестве мобильного устройства или сервера, который может использоваться для исполнения одного или более процессов, описанных выше. Несмотря на то, что ФИГ. 5 показывает различные компоненты, содержащиеся в компьютерном устройстве 500, ФИГ. 5 показывает один пример компьютерного устройства, в который могут быть добавлены дополнительные компоненты, а имеющиеся компоненты могут быть удалены.
[0032] Компьютерное устройство 500 может быть компьютерным устройством любого типа, таким как настольная ЭВМ, ноутбук, сервер и т.п., или мобильным устройством, таким как смартфон, планшетный компьютер, мобильный телефон, персональный цифровой помощник и т.п. Как показано на ФИГ. 5, компьютерное устройство 500 может содержать один или более процессоров 502, имеющих различные конфигурации ядер и тактовые частоты. Компьютерное устройство 500 также может содержать одно или более запоминающих устройств 504, которые служат в качестве основного запоминающего устройства во время работы компьютерного устройства 500. Например, во время работы копия программного обеспечения, которая управляет работой, может быть сохранена в одном или более запоминающих устройств 504. Компьютерное устройство 500 также может содержать один или более периферийных интерфейсов 506, таких как клавиатуры, мыши, сенсорные панели, экраны компьютера, сенсорные экраны и т.п., для предоставления человеку возможности взаимодействия с компьютерным устройством 500 и манипуляции этим устройством.
[0033] Компьютерное устройство 500 также может содержать один или более сетевых интерфейсов 508 для связи с возможностью обмена данными через одну или более сетей, таких как адаптеры сети Ethernet, беспроводные приемопередатчики или компоненты последовательной сети, для связи с возможностью обмена данными посредством проводных или беспроводных носителей с использованием соответствующих протоколов. Компьютерное устройство 500 также может содержать одно или более устройств 510 хранения данных с различными физическими размерами и емкостью, таких как флэш-диски, жесткие диски, оперативное запоминающее устройство и т.п., для сохранения данных, таких как изображения, файлы и программные команды для исполнения одним или более процессорами 502.
[0034] Кроме того, компьютерное устройство 500 может содержать одну или более программ 512, которые обеспечивают функциональные средства, описанные выше. Одна или более программ 512 могут содержать инструкции, которые принуждают один или более процессоров 502 выполнять описанные в настоящей заявке процессы. Копии одной или более программ 512 могут быть сохранены в одном или более запоминающих устройств 504 и/или в одном или более устройств 510 хранения данных. Схожим образом, данные, используемые одной или более программ 512, могут быть сохранены в одном или более запоминающих устройств 504 и/или в одном или более устройств 510 хранения данных.
[0035] Согласно различным вариантам реализации компьютерное устройство 500 может связываться с возможностью обмена данными с другими устройствами через сеть 516. Другие устройства могут быть устройствами любого типа, как описано выше. Сеть 516 может быть электронной сетью любого типа, такой как локальная сеть, глобальная сеть, виртуальная закрытая сеть, сеть Интернет, интранет, расширенная интрасеть, телефонная коммутируемая сеть общего пользования, инфракрасная сеть, беспроводная сеть и любая комбинация вышеперечисленного. Сеть 516 может поддерживать связь с возможностью передачи данных с использованием любого из различных коммерчески доступных протоколов, таких как TCP/IP, UDP, OSI, FTP, UPnP, NFS, CIFS, протокол сети AppleTalk и т.п. Сеть 516 может быть, например, локальной сетью, глобальной сетью, виртуальной закрытой сетью, сетью Интернет, сетью интранет, расширенной интрасетью, телефонной коммутируемой сетью общего пользования, инфракрасной сетью, беспроводной сетью и любой комбинацией вышеперечисленного.
[0036] Компьютерное устройство 500 может содержать различные хранилища данных и другие запоминающие устройства и носители данных, как описано выше. Эти устройства могут находиться в различных местоположениях, таких как на носителе данных, локально (и/или резидентно) в одном или более компьютеров или распределенным способом в любых компьютерах, взаимосвязанных посредством сети. Согласно некоторым вариантам реализации информация может находиться в сети хранения данных ("SAN"), известной специалистам. Точно так же, любые необходимые файлы для реализации функций, назначенных компьютерам, серверам или другим сетевым устройствам, могут храниться локально и/или распределенным способом в случае необходимости.
[0037] Согласно различным вариантам реализации компоненты компьютерного устройства 500, описанные выше, не обязательно находятся в пределах одиночного корпуса или даже не обязательно расположены в непосредственной близости друг к другу. Специалистам понятно, что вышеописанные компоненты приведены только в качестве примеров, поскольку компьютерное устройство 500 может содержать аппаратные компоненты любого типа, включая любое необходимое сопровождающее встроенное программное обеспечение или оперативное программное обеспечение, подходящие для осуществления описанных вариантов реализации. Компьютерное устройство 500 также может быть реализовано частично или полностью с использованием компонентов электронной схемы или процессоров, таких как специализированные интегральные схемы (ASIC) или программируемые пользователем интегральные схемы (FPGA).
[0038] Кроме того, настоящее описание содержит примеры согласно следующим пунктам:
[0039] Пункт 1. Способ одновременного производственного использования производственной системы предприятия и испытания модифицированной системы предприятия, включающий:
получение вводов от одного или более пользователей производственной системы предприятия;
передачу вводов, полученных от одного или более пользователей, производственной системе предприятия;
определение по меньшей мере одним аппаратным процессором поднабора вводов, полученных от одного или более пользователей, для использования в испытании модифицированной системы предприятия;
выполнение по меньшей мере одним аппаратным процессором одной или более транзакций с указанным поднабором вводов в модифицированной системе предприятия и копии производственной системы предприятия; и
анализ по меньшей мере одним аппаратным процессором одной или более транзакций для определения того, что модифицированная система предприятия сконфигурирована правильно.
[0040] Пункт 2. Способ по п. 1, согласно которому определение основано на белом списке, причем указанный белый список содержит одно или более из: списка пользователей, вовлеченных в испытание; списка команд для использования в испытании; списка транзакций для использования в испытании.
[0041] Пункт 3. Способ по п. 1, после получения дополнительно включающий в себя копирование вводов, которые должны быть переданы производственной системе предприятия, модифицированной системе предприятия и копии производственной системы предприятия.
[0042] Пункт 4. Способ по п. 1, дополнительно включающий синхронизацию модифицированной системы предприятия и копии производственной системы предприятия с производственной системой предприятия.
[0043] Пункт 5. Способ по п. 4, согласно которому синхронизацию выполняют во время предварительно заданного временного интервала или по требованию.
[0044] Пункт 6. Способ по п. 1, согласно которому анализ дополнительно включает сравнение записи транзакций для копии производственной системы предприятия и модифицированной системы предприятия.
[0045] Пункт 7. Система для одновременного производственного использования системы предприятия и испытания модифицированной системы предприятия, содержащая: один или более процессоров; и один или более компьютерочитаемых носителей, содержащих инструкции, которые при их исполнении указанными одним или более процессорами принуждают один или более процессоров выполнять операции, включающие:
получение вводов от одного или более пользователей производственной системы предприятия;
передачу вводов, полученных от одного или более пользователей, производственной системе предприятия;
определение поднабора вводов, полученных от одного или более пользователей, для использования в испытании модифицированной системы предприятия;
выполнение одной или более транзакций с указанным поднабором вводов в модифицированной системе предприятия и копии производственной системы предприятия; и
анализ одной или более транзакций для определения того, что модифицированная система предприятия сконфигурирована правильно.
[0046] Пункт 8. Система по п. 7, в которой определение основано на белом списке, причем указанный белый список содержит одно или более из: списка пользователей, вовлеченных в испытание; списка команд для использования в испытании; списка транзакций для использования в испытании.
[0047] Пункт 9. Система по п. 7, в которой один или более процессоров дополнительно выполнены с возможностью выполнения операций, после получения включающих в себя копирование вводов, которые должны быть переданы производственной системе предприятия, модифицированной системе предприятия и копии производственной системы предприятия.
[0048] Пункт 10. Система по п. 7, в которой один или более процессоров дополнительно выполнены с возможностью выполнения операций, включающих синхронизацию модифицированной системы предприятия и копии производственной системы предприятия с производственной системой предприятия.
[0049] Пункт 11. Система по п. 10, в которой синхронизация происходит во время предварительно заданного временного интервала или по требованию.
[0050] Пункт 12. Система по п. 7, в которой анализ дополнительно включает сравнение записи транзакций для копии производственной системы предприятия и модифицированной системы предприятия.
[0051] Пункт 13. Некратковременный компьютерочитаемый носитель данных для одновременного производственного использования производственной системы предприятия и испытания модифицированной системы предприятия, содержащий инструкции для принуждения одного или более процессоров осуществлять способ, включающий:
получение вводов от одного или более пользователей производственной системы предприятия;
передачу вводов, полученных от одного или более пользователей, производственной системе предприятия;
определение по меньшей мере одним аппаратным процессором поднабора вводов, полученных от одного или более пользователей, для использования в испытании модифицированной системы предприятия;
выполнение по меньшей мере одним аппаратным процессором одной или более транзакций с указанным поднабором вводов в модифицированной системе предприятия и копии производственной системы предприятия; и
анализ по меньшей мере одним аппаратным процессором одной или более транзакций для определения того, что модифицированная система предприятия сконфигурирована правильно.
[0052] Пункт 14. Некратковременный компьютерочитаемый носитель данных по п. 13, в котором определение основано на белом списке, причем указанный белый список содержит одно или более из: списка пользователей, вовлеченных в испытание; списка команд для использования в испытании; списка транзакций для использования в испытании.
[0053] Пункт 15. Некратковременный компьютерочитаемый носитель данных по п. 13, дополнительно обеспечивающий после получения копирование вводов, которые должны быть переданы производственной системе предприятия, модифицированной системе предприятия и копии производственной системы предприятия.
[0054] Пункт 16. Некратковременный компьютерочитаемый носитель данных по п. 13, дополнительно обеспечивающий синхронизацию модифицированной системы предприятия и копии производственной системы предприятия с производственной системой предприятия.
[0055] Пункт 17. Некратковременный компьютерочитаемый носитель данных по п. 16, с использованием которого синхронизация происходит во время предварительно заданного временного интервала или по требованию.
[0056] Пункт 18. Некратковременный компьютерочитаемый носитель данных по п. 13, с использованием которого анализ дополнительно включает в себя сравнение записи транзакций для копии производственной системы предприятия и модифицированной системы предприятия.
[0057] В случае реализации в форме программного обеспечения указанные функции могут быть сохранены в компьютерочитаемом носителе или переданы посредством компьютерочитаемого носителя как одна или более инструкций или кодов. Компьютерочитаемые носители включают в себя материальные некратковременные компьютерные носители данных и коммуникационные носители, включая любой носитель, который облегчает передачу компьютерной программы из одного места в другое. Носители данных могут быть любыми доступными материальными некратковременными носителями, к которым компьютер может получить доступ. В качестве примера, но не в качестве ограничения, такие материальные некратковременные компьютерочитаемые носители могут включать в себя оперативное запоминающее устройство, постоянное запоминающее устройство, флэш-память, СППЗУ, CD-ROM или другое оптическое ЗУ на диске, магнитное ЗУ на диске или другие магнитные устройства хранения данных, или любой другой носитель, который может использоваться для переноса или сохранения заданного кода программы в форме инструкций или структур данных, и к которому компьютер может получить доступ. Термин диск, используемый в настоящей заявке, включает в себя диск CD, лазерный диск, оптический диск, цифровой видеодиск (DVD), гибкий диск и диск Blu-ray, причем магнитные диски обычно воспроизводят данные магнитным способом, в то время как оптические диски воспроизводят данные оптическим способом посредством лазеров. Кроме того, любое соединение в собственном смысле этого термина обозначает компьютерочитаемый носитель. Например, если программное обеспечение передается из вебсайта, сервера или другого удаленного источника с использованием коаксиального кабеля, оптоволоконного кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводными способами, такими как инфракрасный канал связи, радиоканал связи и микроволновый канал связи, в этом случае коаксиальный кабель, оптоволоконный кабель, витая пара, линия DSL или беспроводные способы, такие как инфракрасный канал связи, радиоканал связи и микроволновый канал связи, включены в определение носителя. Комбинации всего вышеописанного также должны быть включены в объем определения компьютерочитаемых носителей.
[0058] Предшествующее описание является иллюстративным, и специалистами могут быть выполнены изменения в конфигурации и реализации. Например, различные иллюстративные логические схемы, логические блоки, модули и электронные схемы, представленные в связи с вариантами реализации, описанными в настоящей заявке, могут быть осуществлены или выполнены с использованием универсального процессора, процессора цифровых сигналов (DSP), прикладной специализированной интегральной схемы (ASIC), программируемой пользователем интегральной схемы (FPGA) или другого программируемого логического устройства, дискретного логического вентиля или транзисторной логики, компонентов дискретных аппаратных средств или любой комбинации вышеперечисленного, предназначенной для выполнения описанных в настоящей заявке функций. Универсальный процессор может быть микропроцессором, но, в качестве альтернативы, процессор может быть любым процессором общего назначения, контроллером, микроконтроллером или машиной состояний. Процессор также может быть реализован в форме сочетания вычислительных устройств, например, сочетания процессора цифровых сигналов (DSP) и микропроцессора, множества микропроцессоров, одного или более микропроцессоров в сочетании с ядром процессора цифровых сигналов (DSP), или в форме любой другой такой конфигурации.
[0059] Согласно одному или более приведенных в качестве примера вариантов реализации описанные функции могут быть осуществлены в аппаратных средствах, программном обеспечении, встроенном программном обеспечении или любой комбинации вышеперечисленного. Для варианта реализации в форме программного обеспечения описанные в настоящей заявке способы могут быть осуществлены с использованием модулей (например, процедур, функций, подпрограмм, программ, шаблонов, подшаблонов, модулей, пакетов программ, классов и т.п.), с использованием которых выполняются описанные в настоящей заявке функции. Модуль может быть соединен с другим модулем или аппаратной электронной схемой путем передачи и/или приема информации, данных, аргументов, параметров или содержания запоминающего устройства. Информация, аргументы, параметры, данные или тому подобное могут быть перенесены, направлены или переданы с использованием любого подходящего средства, включая совместное использование памяти, передачу сообщений, маркерную передачу, сетевую передачу и т.п. Коды программного обеспечения могут быть сохранены в блоках запоминающего устройства и исполнены процессорами. Блок запоминающего устройства может быть реализован внутри процессора или снаружи процессора, и в этом случае он может быть соединен с возможностью обмена данными с процессором с использованием различных средств, известных в данной области техники.
[0060] Несмотря на то, что настоящее изобретение описано на примере вариантов его реализации, специалисты могут сделать различные изменения в описанных вариантах реализации без отступления от принципа и объема охраны настоящего изобретения. Термины и описания, используемые в настоящей заявке, представлены только в качестве иллюстрации и не должны рассматриваться как ограничения. В частности, несмотря на то, что способы описаны посредством примеров, этапы способов могут выполняться в ином порядке, отличающемся от представленного, или одновременно. Кроме того, до степени, в которой термины "включающий", "включает в себя", "имеющий", "имеет", "вместе с" или их варианты используются в подробном описании, такие термины должны быть пониматься во включающем смысле, подобно термину "содержащий". Используемые в настоящей заявке термины "один или более" и "по меньшей мере один из" в отношении перечисления элементов, таких как, например, А и В, означает только А, только В или А и В. Кроме того, если не указано иное, термин "набор" должен пониматься как "один или более". Кроме того, термин "соединение" или "соединения" следует понимать как означающий косвенное или прямое соединение. Таким образом, если первое устройство соединено с вторым устройством, соединение может быть прямым соединением или косвенным соединением посредством других устройств, компонентов и соединений.
[0061] Специалисты могут вносить различные изменения в описанные варианты реализации без отступления от принципа и объема охраны настоящего изобретения. Термины и описания, используемые в настоящей заявке, приведены только в качестве иллюстрации и не должны рассматриваться как ограничения. В частности, несмотря на то, что способ описан на конкретных примерах, этапы способа могут быть выполнены в ином порядке, отличающемся от показанного, или одновременно. Специалистам понятно, что эти и другие сделанные изменения остаются в пределах принципа и объема охраны настоящего изобретения, определенного в следующих ниже пунктах приложенной формулы и их эквивалентах.
[0062] Предшествующее описание настоящего изобретения наряду с ассоциированными с ним вариантами реализации представлено только в целях иллюстрации. Оно не является исчерпывающим и не ограничивает настоящее изобретение точной описанной формой. Специалистам понятно из предшествующего описания, что изменения и вариации могут быть сделаны в свете представленных выше описаний или могут быть получены из практической реализации настоящего изобретения. Например, описанные этапы не обязательно должны быть выполняться в описанной выше последовательности или с той же степенью разделения. Схожим образом, различные этапы могут быть опущены, повторены или объединены при необходимости для достижения тех же или подобных результатов. Точно так же, представленные системы не обязательно должны включать в себя все части, описанные в вариантах реализации, и также могут включать в себя другие части, не описанные в вариантах реализации.
[0063] Соответственно, раскрытие не ограничивается вышеописанными вариантами реализации, но, вместо этого, определяется пунктами приложенной формулы в свете полного объема охраны их эквивалентов.