Files
2026-06-22 15:35:18 +08:00

78 lines
9.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- 一旦此文件测试成功,即可固定不变。除非增加新的功能模块和配置文件,需要重新升级此文件。此配置文件建议放置于app_config目录下。 -->
<!-- EMS与BMS的目录结构和进程名称、库文件名称不一样,需要针对相应配置进行修改。 -->
<!-- all_processes:进程列表,即升级后需要重启的所有进程名称列表,逗号隔开 -->
<!-- daemon_processes:守护进程名称列表 -->
<!-- files_to_targets_operation:需要重启进程的文件列表,列表中文件除去可执行程序外,包含配置文件、数据库文件、动态库文件。如果不会影响进程模块运行的文件无需列举 -->
<!-- package_directories_to_target_pathes:升级包子文件夹名称与升级目标目录的映射,即说明将升级包中每个子文件夹拷贝至哪个目标目录中。升级包子文件夹只需要配置第一层即可,映射目标目录也配置到第一层即可 -->
<!-- package_directories_to_target_pathes允许配置整个子文件夹升级后,重启某个或某些进程,这是大粒度的重启配置。files_trigger_processes_to_restart允许配置单个文件升级后,重启某个或某些进程,这是细粒度的重启配置。根据实际情况选择配置。 -->
<!-- files_to_targets_operation根据实际情况配置,没有限制配置项个数 -->
<!-- package_directories_to_target_pathes固定8个配置项,分别对应根目录,和目前协议文档中规定的7种类型。-->
<definitions all_processes="manage,cloud_interact,cloud_router,logic,hmi,pushcloud,tcpcomm,uartcomm,app_start.sh">
<daemon_processes>
<!-- process_name:守护进程名称 -->
<!-- process_priority:守护进程级别,0-主守护进程/1~N-优先级依次递减 -->
<!-- operation_level:操作类型,预定义如下 0-无操作/1-重启进程/2-重启服务/3-重启设备 -->
<!-- stop_signal:停止信号,可选为:kill -2/kill -9/kill -15。建议用kill -2/kill -15以便守护进程有机会释放相关资源。 -->
<item process_name="manage" process_priority="0" operation_level="2" stop_signal="kill -2" />
</daemon_processes>
<files_to_targets_operation>
<!-- file_type:文件类型,预定义如下 0-跟文件/1-翻译文件/2-配置文件/3-数据库文件/4-WEB脚本/5-HMI文件/6-动态库文件/7-固件文件(可执行程序) -->
<!-- file_name:会影响某些进程运行的文件名称,包含扩展名,不要包含目录信息 -->
<!-- operation_level:操作类型,预定义如下 0-无操作/1-重启进程/2-重启服务/3-重启设备 -->
<!-- targets_to_restart:需要重启的目标,当操作类型为重启设备时,表示需要重启的进程名称列表,逗号隔开 -->
<item file_type="0" file_name="app_start.sh" operation_level="2" targets_to_restart="" />
<item file_type="2" file_name="ems_cfg.xml" operation_level="2" targets_to_restart="manage,logic,pushcloud,tcpcomm,uartcomm,hmi" />
<item file_type="2" file_name="manage_cfg.xml" operation_level="2" targets_to_restart="manage,logic,pushcloud,tcpcomm,uartcomm,hmi" />
<item file_type="2" file_name="SystemParameters.xml" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="2" file_name="CloudParameters.xml" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="2" file_name="FunctionModules.xml" operation_level="1" targets_to_restart="cloud_interact" />
<item file_type="2" file_name="ManagedSubsystems.xml" operation_level="1" targets_to_restart="cloud_interact" />
<item file_type="2" file_name="ConnectedSubTerminals.xml" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="2" file_name="strategy_cfg.xml" operation_level="1" targets_to_restart="logic" />
<item file_type="2" file_name="Protect_cfg.xml" operation_level="1" targets_to_restart="logic" />
<item file_type="2" file_name="comm_server_cfg.xml" operation_level="1" targets_to_restart="tcpcomm,uartcomm" />
<item file_type="2" file_name="comm_dev_cfg.xml" operation_level="1" targets_to_restart="tcpcomm,uartcomm" />
<item file_type="6" file_name="libruntime_environ.so" operation_level="1" targets_to_restart="manage,cloud_interact,cloud_router" />
<item file_type="6" file_name="librunning_data.so" operation_level="1" targets_to_restart="manage,cloud_interact,cloud_router" />
<item file_type="6" file_name="libssl_middleware.so" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="6" file_name="libcloud_command.so" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="6" file_name="libcloud_data.so" operation_level="1" targets_to_restart="cloud_interact,cloud_router,pushcloud" />
<item file_type="6" file_name="libcloud_repeater.so" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="6" file_name="liblocal_upgrader.so" operation_level="1" targets_to_restart="cloud_interact" />
<item file_type="6" file_name="libsystem_config.so" operation_level="1" targets_to_restart="cloud_interact" />
<item file_type="6" file_name="libupgrade_task.so" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="6" file_name="libversion_data.so" operation_level="1" targets_to_restart="cloud_interact,cloud_router" />
<item file_type="6" file_name="libprfce.so" operation_level="1" targets_to_restart="logic,pushcloud" />
<item file_type="6" file_name="libprsqlite.so" operation_level="1" targets_to_restart="logic,pushcloud" />
<item file_type="6" file_name="libprnotice.so" operation_level="1" targets_to_restart="logic,pushcloud" />
<item file_type="6" file_name="libprxml.so" operation_level="1" targets_to_restart="logic,manage,pushcloud" />
<item file_type="6" file_name="libprlog.so" operation_level="1" targets_to_restart="logic,pushcloud" />
<item file_type="6" file_name="libnotice.so" operation_level="1" targets_to_restart="manage,pushcloud" />
<item file_type="6" file_name="libprpublicmemory.so" operation_level="1" targets_to_restart="logic,pushcloud" />
<item file_type="6" file_name="libqsqlite.so" operation_level="1" targets_to_restart="hmi" />
</files_to_targets_operation>
<package_directories_to_target_pathes>
<!-- directory_type:文件夹类型,预定义如下 0-根文件夹/1-翻译文件夹/2-配置文件夹/3-数据库文件夹/4-WEB脚本文件夹/5-HMI文件夹/6-动态库文件夹/7-固件文件夹(可执行程序) -->
<!-- operation_level:操作类型,预定义如下 0-无操作/1-重启进程/2-重启服务/3-重启设备 -->
<!-- targets_to_restart:需要重启的目标,当操作类型为重启设备时,表示需要重启的进程名称列表,逗号隔开 -->
<!-- package_directory_name:升级包子文件夹名称,不包含路径,不能出错,需要参照协议文档规定命名方式 -->
<!-- target_full_path:升级目标目录全路径,不能配错,需要参照协议规定的命名方式 -->
<item directory_type="0" operation_level="0" targets_to_restart="" package_directory_name="." target_full_path="/home/poweroad/ems" />
<item directory_type="1" operation_level="1" targets_to_restart="" package_directory_name="translate_file" target_full_path="/home/poweroad/ems/translate_file" />
<item directory_type="2" operation_level="1" targets_to_restart="" package_directory_name="config" target_full_path="/home/poweroad/ems/config" />
<item directory_type="3" operation_level="1" targets_to_restart="" package_directory_name="database" target_full_path="/home/poweroad/ems/database" />
<item directory_type="4" operation_level="0" targets_to_restart="" package_directory_name="web" target_full_path="/home/poweroad/ems/web" />
<item directory_type="5" operation_level="1" targets_to_restart="" package_directory_name="resources" target_full_path="/home/poweroad/ems/resources" />
<item directory_type="6" operation_level="1" targets_to_restart="" package_directory_name="lib" target_full_path="/usr/poweroadlib" />
<item directory_type="7" operation_level="1" targets_to_restart="" package_directory_name="bin" target_full_path="/home/poweroad/ems/bin" />
</package_directories_to_target_pathes>
<!-- service_control:服务控制。其中command_targets表示需要控制的脚本名称,逗号隔开;start_command表示启动脚本命令;stop_command表示停止脚本命令;-->
<service_control command_targets="app_start.sh" start_command="mkdir -p /var/poweroad/ &amp;&amp; echo 'requires_validation' > /var/poweroad/upgrade_status.txt &amp;&amp; sync &amp;&amp; /home/poweroad/ems/app_start.sh &amp;" stop_command="" />
</definitions>