Код MATLAB®, который вы хотите развернуть часто, несет state — определенное значение данных в переменной программы или переменной программы.
Пример переноса состояния в программе MATLAB включает, но не ограничивается:
Изменение или доверие пути MATLAB и пути к классу Java®
Доступ к состоянию MATLAB, которое является по сути персистентным или глобальным. Некоторый пример этого включает:
Seed случайных чисел
Обработайте корневые объекты Graphics®, которые сохраняют данные
MATLAB или настройки тулбокса MATLAB и настройки
Создание глобальных и персистентных переменных.
Загрузка объектов MATLAB (классы MATLAB) в MATLAB. Если вы получаете доступ к объекту MATLAB в каком-либо случае, он загружает в MATLAB.
Вызывая файлы MEX, методы Java или методы C#, содержащие статические переменные.
Если ваша функция MATLAB не только несет состояние, но и полагается на него для вашей функции, чтобы правильно выполниться, необходимо сделать дополнительные шаги (перечисленный в этом разделе), чтобы гарантировать задержание состояния.
Когда вы развертываете свое приложение, рассматриваете случаи, куда вы несете состояние и гарантию против повреждения того состояния в случае необходимости. Примите, что ваше состояние может быть изменено и код оборонительно против того условия.
Следующее является примерами “методов” кодирования обороны:
Если вы используете seed случайных чисел, например, сбросьте его в своей программе развертываемого приложения, чтобы гарантировать целостность вашей исходной функции MATLAB.
Если необходимо использовать глобальные или персистентные переменные, всегда подтвердить их значение в развертываемом приложении и сбросить в случае необходимости.
Если ваша функция полагается на кэшируемые ответы на предыдущие запросы, например, обеспечьте свою развернутую систему, и приложение имеет доступ к тому кэшу за пределами среды MATLAB.
Простые типы данных обычно не связываются к определенному приложению и средним значениям хранения состояния. Ваши опции для выбора соответствующего сохраняющего состояние увеличения инструмента как ваши типы данных становятся менее сложными и конкретными.
Избегайте использования коллбэков MATLAB, таких как timer
. Функции обратного вызова имеют способность прервать и заменить текущее состояние рабочего MATLAB Production Server™ и могут привести к непредсказуемым результатам в пользовательских средах.
Самый соответствующий метод для сохранения состояния зависит в основном от типа данных, которые необходимо сохранить.
Базы данных обеспечивают большинство универсальных и масштабируемых средних значений для сохранения данных с сохранением информации. Действия базы данных как типичный репозиторий и могут обычно работать с любым приложением в среде развития предпринимательства. Это не налагает требования или ограничения на структуру данных или размещение. Другой связанный метод должен использовать файлы разделенных запятыми значений в приложениях, таких как Microsoft® Excel®.
Данные, которые характерны для стороннего языка программирования, таковы как Java и C#, могут быть сохранены с помощью многих методов. Консультируйтесь с онлайн-документацией для соответствующего стороннего поставщика для лучшых практик на сохранении состояния.
Используя MATLAB функции LOAD
и SAVE
часто используются, чтобы сохранить состояние в приложениях MATLAB и рабочих областях. В то время как это может быть успешно при некоторых обстоятельствах, это настоятельно рекомендовано это данные быть подтвержденным и сброшенным в случае необходимости, если не сохраненный в типичном репозитории, таком как база данных.