首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析MySQL历史记录格式

问解析MySQL历史记录格式
EN

Stack Overflow用户
提问于 2017-04-20 03:03:30
回答 1查看 90关注 0票数 0

我们使用VOLTTRON Historian将仪表读数保存到MySQL数据库中。仪表读数保存在“value string”中,格式类似于JSON:

[{'W_primary': 19003.677734375, 'freq': 60.01973342895508, 'pf': -0.9935459494590759}, {'W_primary': {'units': 'W ', 'tz': 'PT', 'type': 'float'}, 'freq': {'units': 'Hz', 'tz': 'PT', 'type': 'float'}, 'pf': {'units': u'', 'tz': 'PT', 'type': 'float'}}]

我们的目标是能够导出这些数据,以便在VOLTTRON中使用,也可以在VOLTTRON环境之外使用。在VOLTTRON之外,有没有python脚本/库可以直接从MySQL数据库中解析这些数据?例如,一种应用可以是使用Labview工具来定制要导出到csv的数据主题/时间框架(例如,来自给定日期的所有频率数据)。因为格式不是真正的JSON,我们不能使用JSON函数引用(https://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html)。

或者,有没有一种方法可以让历史学家以更直接的列格式写入数据库?

注意:我们使用的是VOLTTRON 2.0。在较新的版本中,此功能是否发生了变化?

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 05:51:43

MySQL历史学家直到VOLTRON3.0才出现。我甚至不确定您是如何工作的,因为消息总线从2显着更改为3。有一个兼容层,但它用于在V3上运行V2代理,而不是相反。

您问题中的JSON是驱动程序实际发布到设备的“全部”主题的内容。第一项是点名称到主题的映射,第二项是点名称到元数据的映射。

在3及以后,历史学家会拿起它,并将点值与该点的完整主题进行匹配。您应该在数据库中看到的是一个对值的主题表。如何存储这些值取决于特定的历史库实现(Mongo vs MySQL vs Crate vs SQLite),但它将是点主题到值的映射。

在更新版本的VOLTTRON中,我们去掉了sMap作为从设备收集数据的主要方式。现在,所有设备交互都通过主驱动程序代理进行。用于描述设备的CSV文件基本保持不变。每个设备的配置现在以每个设备一个文件的格式存储在JSON中。

我强烈建议更新到VOLTTRON 4。从2开始,平台有很多改进。

编辑:我还应该提到,消息的形式从2更改为3,这可能是历史学家感到困惑的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43504055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档