我有一个程序,可以接收1000个主题的实时数据.它平均每秒收到5000条消息.每条消息由两个字符串,一个主题和一个消息值组成.我想保存这些字符串以及指示消息到达时间的时间戳.
我在'Core 2'硬件上使用32位Windows XP并在C#中编程.
我想将这些数据保存到1000个文件中 - 每个主题一个.我知道很多人会想告诉我将数据保存到数据库中,但我不想走这条路.
我考虑过几种方法:
1)打开1000个文件,并在数据到达时写入每个文件.我对此有两个担忧.我不知道是否可以同时打开1000个文件,我不知道这会对磁盘碎片产生什么影响.
2)写入一个文件 - 以某种方式 - 稍后处理它以生成1000个文件.
3)将其全部保存在RAM中直到当天结束,然后一次写入一个文件.我认为如果我有足够的RAM,这将很有效,尽管我可能需要移动到64位以超过2 GB的限制.
你会如何解决这个问题?
Oli*_*Oli 10
我无法想象为什么你不想为此使用数据库.这就是他们的目的.他们相当擅长.
如果您不愿意走这条路线,将它们存储在RAM中并每小时将它们旋转到磁盘可能是一种选择,但请记住,如果您通过电源线绊倒,则会丢失大量数据.
认真.数据库吧.
编辑:我应该补充一点,如果您准备好了硬件,那么获得一个强大的,复制的和完整的数据库支持的解决方案将花费您不到一天的时间.
在任何其他环境中执行此级别的事务保护将花费您数周的时间来设置和测试.
| 归档时间: |
|
| 查看次数: |
1278 次 |
| 最近记录: |