110,536
社区成员
发帖
与我相关
我的任务
分享
目前的环境好像是 一个PLC接很多生产线上的设备,然后PLC有生产线上的所有数据,而我们的系统连上PLC,读他的DB块,需要实时监控设备状态在加以控制。 现在卡在得到DB块数据之后的解析上。用多线程拆分数据,这样会提高速度?
如果楼主的数据是一次性发送的,1s能不能传输5M数据仅仅与硬件环境有关,现在最普通的网卡都是12.5MB/s的,与程序基本没有关系。 楼主的CPU如果跟不上业务,就算把数据缓冲起来,内存数据只会越来越多,而且不实时,直到奔溃。除非楼主的服务器有大量的空闲期,能够在空闲期消耗掉这些数据。 另外如果CPU资源本来就紧张,不应该启用压缩,压缩只会让CPU更紧张。
[quote=引用 12 楼 xyd573417994 的回复:] [quote=引用 11 楼 wyd1520 的回复:] 5M数据,而且每次读的间隔为1S左右。 关键是你能在1S把5M的数据转输完么?这才是问题 。现在的网络好像做不到。。。
(1)提高解析程序本身的效能,对于现在的处理器(10GIPS性能级别),应该可以来得及处理10M数量级的数据(解析一个字节的数据使用1000条指令以下) (2)优化存储,包括异步读写、缓存、优化数据结构等等。工业实时数据库的设计是很高的知识产权。往往人家按照点数授权,1000点的报价都在几千美金以上,你应该和你的公司谈一个合理的价格,如果你就拿点工资就帮它搞定了,你亏大了。
[quote=引用 11 楼 wyd1520 的回复:] 5M数据,而且每次读的间隔为1S左右。 关键是你能在1S把5M的数据转输完么?这才是问题 。现在的网络好像做不到。。。
5M数据,而且每次读的间隔为1S左右。 关键是你能在1S把5M的数据转输完么?这才是问题 。现在的网络好像做不到。。。
2.今天过来问了一个做PLC的同事,他有给建议是,该通讯方法或该硬件提高通讯效率或通过中间程序处理数据在发送有效数据给我方(可在PLC与我方中间使用通讯协议完成大数据解析,我方值需取有效数据即可)。(我感觉这个没法行得通呀,改硬件的方法基本不要考虑,该通讯方法我之前也有跟主管说用OPC Server来做,但OPC对做5M级别的数据压力也很大呀!)
5M的数据(Bety[])有优化解析方案?