Linux守护程序:如何存储经常更新的数据

时间:2014-06-20 19:34:42

标签: linux daemon datastore

我主要使用嵌入式系统(PIC微控制器),但我没有Linux系统编程经验。

我已经读过这本书" Linux系统编程"作者:Robert Love,它让我基本了解我的程序应该如何与内核对话,如何工作等等。

现在,我需要编写一个应该监控每个应用程序的互联网活动的守护进程,并存储每个应用程序的带宽。 (它" nethogs"实用程序,但我的守护进程应该一直运行并存储统计信息,与nethogs不同)虽然我真的需要这样的统计信息(每个应用程序的带宽),但我会写守护进程主要用于教育目的,所以我不在乎这是否是一种重新发明的轮子。

问题很简单:存储数据的首选方法是什么?

说,我的守护进程每秒都会唤醒,获取当前上传/下载速度以及导致该网络活动的应用程序,将其存储在某处,然后重新入睡。

我看到两种存储数据的方法:

  • 实现我自己的数据格式,某种文本文件。我不喜欢这样,因为很难让它变得可扩展等等;我会依赖一些符合我需求的现有解决方案;
  • 使用数据库:比如,sqlite。我不确定每秒写入数据库是否是个好主意,因为这可能很昂贵。可能我应该将数据存储在RAM中一分钟,然后将其刷新到数据库,但是如果某个客户端连接显示实时统计数据,那么无论如何都要每秒刷新数据?

不确定所有这一切。可能有一些不同的,更好的方法?任何建议都表示赞赏。

0 个答案:

没有答案