实时大量数据存储,每秒接收25M的数据量,采用二进制数据存储,处理不过来

u010018424 2016-04-22 09:17:21
C#多个线程,其中,每个线程实时接收25M的数据量,采用异步存储,每秒收到的数据存成一个二进制文件,会出现上一个文件还没存完,下组数据又来了,最终会导致,多个文件同时存储的的情况。。

请问有没有方法 解决这么大的数据量存储问题??
...全文
308 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanta 2016-04-24
  • 打赏
  • 举报
回复
便携设备,那么大的数据量?是用的普通硬盘吗?如果是普通硬盘的话,换成固态硬盘。 软件开发可采取的方法: 1、队列。将写入操作放在队列中,防止多线程对硬盘的写入。 2、一般采集的数据格式化的居多,可以先对数据进行处理,降低数据冗余,减小数据量。 3、数据压缩技术,如果数据类似度高,可以先进行数据压缩。
u010018424 2016-04-23
  • 打赏
  • 举报
回复
引用 2 楼 From_TaiWan 的回复:
并发问题,你可以考虑使用委托的beginInvoke(),结合回调函数。委托帮你将并发处理好了
现在用的线程池存储每秒的数据,来一秒的数据就放到线程池里处理
u010018424 2016-04-23
  • 打赏
  • 举报
回复
引用 3 楼 mlxwl2013 的回复:
分别存在多块硬盘上,均衡负载。
会有效果,但是作为便携式仪器,没有那么多块硬盘。。
u010018424 2016-04-23
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
找10台服务器,开发一个分布式处理系统。
引用 4 楼 lkf181 的回复:
多台服务器,分布式技术可以解决
因为是便携式数据采集仪器,所以不方便搞这么复杂。。
mlxwl2013 2016-04-22
  • 打赏
  • 举报
回复
分别存在多块硬盘上,均衡负载。
秋的红果实 2016-04-22
  • 打赏
  • 举报
回复
并发问题,你可以考虑使用委托的beginInvoke(),结合回调函数。委托帮你将并发处理好了
  • 打赏
  • 举报
回复
找10台服务器,开发一个分布式处理系统。

110,554

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧