监控过程的最优数据存储方案

Optimal data storage scheme for monitoring process

本文关键字:数据 存储 方案 过程 监控      更新时间:2023-10-16

我想从商业软件包监控模拟过程。商业软件提供了C API接口,该接口具有过程的初始化回调函数以及在模拟过程的每个步骤执行的回调函数。在每一步,我想监控/绘制大约10个浮动值,可在回调函数。我计划使用绘图工具,如LightningChart, http://www.arction.com/,来监控和查看这些值。我将使用c++/CLI包装器在过程中的每一步调用. net图表库来更新图表。

我已经创建了一个简单的dll,利用API回调函数将值输出到文本文件中,在完成后我将执行绘图和分析。虽然我的目标是实时查看数据。

我的问题是,我如何在模拟过程中调用一个表单初始化回调,在整个过程中保持持久,我可以在每一步更新。另外,存储同样是持久化的流程参数值的理想数据结构是什么?当使用c++通过回调函数将数据值写入文本文件时,我的i7处理器的速度大约是每秒1700步。在不使用API和回调函数来存储数据的情况下,模拟速度大约为每秒4000步。当绘制实时数据时,我显然希望这个速度会慢得多,这是可以接受的。任何想法吗?

当您打算绘制实时数据时,我建议您使用内存映射文件在模拟过程和回调函数之间共享数据。这将比在物理文件上执行I/O操作要快,并且您将能够共享数据。在初始化函数中,您可以创建Form并使用内存映射文件从回调中更新Form上的值。这里有一些内存映射文件link1的链接link2