专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

sjmushet/xml-exporter-be Docker 镜像 - 轩辕镜像

xml-exporter-be
sjmushet/xml-exporter-be
一个用于电表数据的自定义XML导出器,可将电表采集的能源数据转换为XML格式并导出,适用于能源监控系统的数据集成与处理。
0 次下载
⏱️ 镜像拉取更稳定,部署项目不再心跳加速
中文简介版本下载
⏱️ 镜像拉取更稳定,部署项目不再心跳加速

电表数据自定义XML导出器 Docker镜像文档

镜像概述和主要用途

本Docker镜像是一个轻量级工具,专为电表数据处理设计,可将电表采集的能源数据(如用电量、电压、电流、功率等)转换为标准化XML格式并导出。镜像基于精简基础镜像构建,资源占用低,部署便捷,适用于能源监控系统、能源管理平台及数据分析系统的数据集成环节,帮助实现电表数据与上层系统的无缝对接。

核心功能和特性

核心功能
  • 数据格式转换:将电表原始数据(支持JSON、CSV等格式输入)转换为符合用户定义规范的XML格式。
  • 自定义数据映射:支持通过配置文件定义电表数据字段(如energy_consumption、voltage)与XML元素/属性的映射关系。
  • 定时导出:可配置定时任务,按设定时间间隔(如每5分钟)自动导出XML文件。
  • 多电表支持:支持同时处理多个电表设备的数据,每个电表可独立配置导出规则。
特性
  • 轻量级:基于Alpine或Distroless基础镜像,镜像体积小(<50MB),运行时内存占用低(<30MB)。
  • 灵活配置:通过外部配置文件(YAML/XML)自定义映射规则,无需修改镜像代码。
  • 错误处理:内置数据校验机制,对异常数据(如缺失字段、格式错误)进行日志记录并跳过,保证导出过程稳定。
  • 日志输出:支持多级别日志(DEBUG/INFO/WARN/ERROR),便于问题排查。

使用场景和适用范围

适用场景
  • 工业能源监控:工厂、车间的能源管理系统中,将分布式电表数据统一转换为XML格式,供能源监控平台汇总分析。
  • 商业建筑能源管理:办公楼、商场等场所的电表数据(如租户用电量)导出为XML后,对接物业管理系统或计费系统。
  • 智能电网数据采集:电力公司对用户侧电表数据进行集中处理,通过XML格式接入电网调度或数据分析平台。
  • 能源数据分析前置处理:为能源消耗趋势分析、节能优化模型提供标准化XML数据源。
适用范围
  • 支持主流电表协议(如Modbus、DL/T 645等)输出的数据(需配合数据采集模块将协议数据转换为JSON/CSV输入)。
  • 适用于Linux x86_64/ARM架构的Docker环境(如边缘计算网关、工业服务器、云服务器)。

使用方法和配置说明

前提条件
  • 已安装Docker Engine(20.10+)或Docker Compose(2.0+)。
  • 电表数据输入源(如通过MQTT、HTTP接口或本地文件提供JSON/CSV格式数据)。
  • 用于存放配置文件和导出文件的宿主机目录(需保证容器有读写权限)。
部署示例
1. Docker Run 命令部署
bash
docker run -d \
  --name energy-meter-xml-exporter \
  --restart unless-stopped \
  -v /path/to/host/config:/app/config \  # 挂载配置文件目录(含映射规则和电表列表)
  -v /path/to/host/exports:/app/exports \  # 挂载XML导出文件目录(宿主机路径)
  -e EXPORT_INTERVAL=300 \  # 导出间隔(秒),默认300(5分钟)
  -e LOG_LEVEL=info \        # 日志级别:debug/info/warn/error,默认info
  -e DATA_INPUT_TYPE=file \  # 数据输入类型:file(本地文件)/mqtt(MQTT订阅),默认file
  energy-meter-xml-exporter:latest
2. Docker Compose 部署

创建docker-compose.yml文件:

yaml
version: '3.8'
services:
  xml-exporter:
    image: energy-meter-xml-exporter:latest
    container_name: energy-meter-xml-exporter
    volumes:
      - ./config:/app/config  # 宿主机配置目录(存放映射规则和电表列表)
      - ./exports:/app/exports  # 宿主机导出目录(存放生成的XML文件)
    environment:
      - EXPORT_INTERVAL=300  # 导出间隔(秒)
      - LOG_LEVEL=info
      - DATA_INPUT_TYPE=mqtt  # 示例:使用MQTT订阅电表数据
      - MQTT_BROKER=mqtt://192.168.1.100:1883  # MQTT broker地址(当DATA_INPUT_TYPE=mqtt时必填)
      - MQTT_TOPIC=energy/meters/#  # MQTT订阅主题(当DATA_INPUT_TYPE=mqtt时必填)
    restart: unless-stopped

启动容器:docker-compose up -d

配置说明

环境变量参数
参数名说明可选值默认值
EXPORT_INTERVAL定时导出间隔(单位:秒)正整数(如60、300)300
LOG_LEVEL日志输出级别debug/info/warn/errorinfo
DATA_INPUT_TYPE电表数据输入类型file(本地文件)/mqtt(MQTT)file
OUTPUT_DIR容器内XML文件导出目录(需通过volume挂载到宿主机)绝对路径/app/exports
CONFIG_DIR容器内配置文件目录(需通过volume挂载到宿主机)绝对路径/app/config
MQTT_BROKERMQTT broker地址(仅DATA_INPUT_TYPE=mqtt时生效)MQTT URL(如mqtt://host:port)-
MQTT_TOPICMQTT订阅主题(仅DATA_INPUT_TYPE=mqtt时生效)字符串(支持通配符#)-
配置文件说明

容器依赖CONFIG_DIR目录下的以下配置文件(需用户提前创建):

1. 电表列表配置(meters.yml)

定义需处理的电表设备信息,示例:

yaml
meters:
  - id: "meter_001"  # 电表唯一标识(需与输入数据中的电表ID对应)
    name: "Factory_Main_Meter"  # 电表名称(将作为XML中的`<meter_name>`元素)
    type: "three_phase"  # 电表类型(自定义,用于XML分类)
    mapping_config: "mapping_meter001.xml"  # 该电表的数据映射规则文件(位于CONFIG_DIR下)
  - id: "meter_002"
    name: "Workshop_A_Meter"
    type: "single_phase"
    mapping_config: "mapping_meter002.xml"  # 不同电表可使用不同映射规则
2. 数据映射规则配置(如mapping_meter001.xml)

定义电表数据字段与XML元素的映射关系,示例:

xml
<mapping>
  <!-- XML根元素配置 -->
  <root_element name="EnergyData" namespace="[***]">
    <attribute name="timestamp" value="${system.timestamp}" />  <!-- 系统时间,内置变量 -->
    <attribute name="meter_id" value="${meter.id}" />  <!-- 引用meters.yml中的电表ID -->
  </root_element>
  
  <!-- 数据字段映射:将输入数据中的字段映射到XML子元素 -->
  <fields>
    <field input="energy_consumption" output_element="TotalEnergy">  <!-- 用电量 -->
      <attribute name="unit" value="kWh" />  <!-- 元素属性 -->
      <format type="number" precision="2" />  <!-- 格式化:保留2位小数 -->
    </field>
    <field input="voltage" output_element="Voltage">  <!-- 电压 -->
      <attribute name="unit" value="V" />
    </field>
    <field input="current" output_element="Current">  <!-- 电流 -->
      <attribute name="unit" value="A" />
    </field>
  </fields>
</mapping>
  • ${system.timestamp}:内置变量,自动填充当前导出时间(格式:ISO 8601,如2024-05-20T10:30:00Z)。
  • ${meter.id}:引用meters.yml中电表的id字段。
  • input:电表输入数据中的字段名(如JSON输入中的energy_consumption字段)。
  • output_element:生成的XML子元素名称。

输出示例

导出的XML文件(如energy_data_meter_001_202405201030.xml)内容示例:

xml
<EnergyData xmlns="[***]" timestamp="2024-05-20T10:30:00Z" meter_id="meter_001">
  <TotalEnergy unit="kWh">1250.68</TotalEnergy>
  <Voltage unit="V">220.5</Voltage>
  <Current unit="A">15.2</Current>
</EnergyData>

注意事项

  • 配置文件需保证格式正确(YAML/XML语法无误),否则容器启动时会报错并退出。
  • 宿主机挂载目录需赋予容器读写权限(可通过chmod 777 /path/to/dir临时测试,生产环境建议通过UID/GID映射限制权限)。
  • 若使用MQTT输入,需确保容器可访问MQTT broker,网络策略需开放对应端口(默认1883)。
  • 导出文件命名格式为energy_data_${meter.id}_${timestamp}.xml(timestamp为导出时间,格式:YYYYMMDDHHMM)。
查看更多 xml-exporter-be 相关镜像 →
bitnami/redis-exporter logo
bitnami/redis-exporter
Bitnami安全镜像,集成redis-exporter工具,用于安全导出Redis监控指标。
16100M+ pulls
上次更新:未知
bitnami/jmx-exporter logo
bitnami/jmx-exporter
Bitnami提供的安全镜像,用于运行jmx-exporter以导出JMX指标,适用于Java应用监控场景。
810M+ pulls
上次更新:未知
bitnami/node-exporter logo
bitnami/node-exporter
Bitnami安全版node-exporter镜像,用于节点监控,收集主机系统及硬件指标。
2550M+ pulls
上次更新:未知
bitnami/nginx-exporter logo
bitnami/nginx-exporter
Bitnami安全镜像,用于NGINX Prometheus Exporter,支持通过Prometheus监控NGINX或NGINX Plus,提供安全加固、最小化攻击面、FIPS配置及持续更新等企业级特性。
510M+ pulls
上次更新:未知
bitnami/mongodb-exporter logo
bitnami/mongodb-exporter
Bitnami mongodb-exporter安全镜像,用于导出MongoDB监控指标,提供安全可靠的指标采集与导出功能。
1450M+ pulls
上次更新:未知
bitnami/nats-exporter logo
bitnami/nats-exporter
Bitnami安全镜像,用于NATS指标的Prometheus导出器,提供安全优化的容器化部署方案,支持非root运行及FIPS配置,适用于开发和生产环境的监控需求。
35M+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
sjmushet/xml-exporter-be
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.