监控过程的最优数据存储方案
Optimal data storage scheme for monitoring process
我想从商业软件包监控模拟过程。商业软件提供了C API接口,该接口具有过程的初始化回调函数以及在模拟过程的每个步骤执行的回调函数。在每一步,我想监控/绘制大约10个浮动值,可在回调函数。我计划使用绘图工具,如LightningChart, http://www.arction.com/,来监控和查看这些值。我将使用c++/CLI包装器在过程中的每一步调用. net图表库来更新图表。
我已经创建了一个简单的dll,利用API回调函数将值输出到文本文件中,在完成后我将执行绘图和分析。虽然我的目标是实时查看数据。
我的问题是,我如何在模拟过程中调用一个表单初始化回调,在整个过程中保持持久,我可以在每一步更新。另外,存储同样是持久化的流程参数值的理想数据结构是什么?当使用c++通过回调函数将数据值写入文本文件时,我的i7处理器的速度大约是每秒1700步。在不使用API和回调函数来存储数据的情况下,模拟速度大约为每秒4000步。当绘制实时数据时,我显然希望这个速度会慢得多,这是可以接受的。任何想法吗?
当您打算绘制实时数据时,我建议您使用内存映射文件在模拟过程和回调函数之间共享数据。这将比在物理文件上执行I/O操作要快,并且您将能够共享数据。在初始化函数中,您可以创建Form并使用内存映射文件从回调中更新Form上的值。这里有一些内存映射文件link1的链接link2
相关文章:
- 将从格式化文本文件读取的文本数据存储到链表
- 将线程中的数据存储到全局容器的最佳方法?
- 将数据存储在内存中以供以后访问
- 将一个阵列中的数据存储到另外两个阵列中不起作用
- 如何将函数的输出数据存储在文本文件中
- 将结构数据存储在循环缓冲区中
- 安卓中的Qt和应用程序数据存储
- C++ 将数据存储在对齐数组的中间
- 如何删除字符串中的所有空格并将数据存储在两者之间
- 实现双链接列表,其中数据存储在堆上
- 是否有一种方法可以从文本文件中读取并将单个数据存储为不同的变量
- 了解字符数组初始化和数据存储
- 如何在C++中将字符串数据存储在字符串 2D 数组中
- 将数据存储在具有可互换 x/y 坐标的 2D 矩阵中
- 将文件中的数据存储到数组中
- 将数据存储到地图
- 保存和加载类数据存储在C 中的二进制文件中
- 将由结构构建的数组传递到将数据存储到文件中的函数
- 在这种情况下,将数据存储在诸如SQLite之类的数据库中,还是存储在平面文本文件中更好
- 将数据存储在char数组中导致变量周围损坏