几百个终端的数据实时同步到服务器问题

wj_yhl 2014-07-01 07:29:50
各位大大?现在有个工业项目,有几百个数据终端,要求每隔一段时间就把数据给传到服务器端上,每个数据包大约有100个条目,如何实现呢?
用OPC可以吗?还是有什么更好的方法麽?
...全文
595 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj_yhl 2014-07-07
  • 打赏
  • 举报
回复
引用 19 楼 Z65443344 的回复:
[quote=引用 17 楼 wj_yhl 的回复:] 嗯,感谢大家 的建议,其实我们是规定方,各厂家有用PC做监控机的,这样协议就可以改;也有用嵌入式系统做监控机的,虽然不好改;但是我们的规定一旦出来,他们就只能按我们的要求改协议和开发端。
虽然话是这么说,但是如果你真的弄个非标的协议,不是把厂家逼疯,就是导致流标. 还是要选一个标准协议.[/quote] 那倒不会,肯定还是标准协议
於黾 2014-07-04
  • 打赏
  • 举报
回复
引用 17 楼 wj_yhl 的回复:
嗯,感谢大家 的建议,其实我们是规定方,各厂家有用PC做监控机的,这样协议就可以改;也有用嵌入式系统做监控机的,虽然不好改;但是我们的规定一旦出来,他们就只能按我们的要求改协议和开发端。
虽然话是这么说,但是如果你真的弄个非标的协议,不是把厂家逼疯,就是导致流标. 还是要选一个标准协议.
PaulyJiang 2014-07-04
  • 打赏
  • 举报
回复
多层C/S 1231313
wj_yhl 2014-07-03
  • 打赏
  • 举报
回复
嗯,感谢大家 的建议,其实我们是规定方,各厂家有用PC做监控机的,这样协议就可以改;也有用嵌入式系统做监控机的,虽然不好改;但是我们的规定一旦出来,他们就只能按我们的要求改协议和开发端。
Azrael_King 2014-07-02
  • 打赏
  • 举报
回复
引用 8 楼 wj_yhl 的回复:
嗯,OPC的后来我想过了,但是远程OPC的连接方式我好想一直没有连接成功过,更不用说很多个终端了,现在就是需要一种可靠性很高的方式,因为最终的用户根本不会懂这些,维护的工作量要尽可能的少
没有连接成功?是不是DCOM配置不对。这个配置确实有些麻烦,而且就Windows的操作系统中Win7、Server2003、Server2008之间还有些差别
於黾 2014-07-02
  • 打赏
  • 举报
回复
通信没有绝对可靠的方式 每增加一个环节,就是增加一个故障点 但是许多设备协议不开放,只能通过其他东西,比如网关软件去转 你要做的软件其实就相当于一个网关,把不同协议的数据转成统一的格式存储. 那么设备本身宕机,通信肯定是不通了. 如果你用OPC从监控电脑取数据,监控宕机,通信也不同 如果你服务器死了,通信还是不通. 此外,设备被人打到编程模式了,监控软件或OPC客户端关闭了,服务端软件崩溃了,或者这之间的某条线路没插好,或者网络有问题,都会导致通信不稳定.
於黾 2014-07-02
  • 打赏
  • 举报
回复
你所谓的终端应该是PLC吧 跟PLC通信最好还是OPC 除非PLC是开放协议,否则用socket你发什么收什么你知道么?
於黾 2014-07-02
  • 打赏
  • 举报
回复
引用 3 楼 wj_yhl 的回复:
现在的问题是我们使用的是多个不同厂商生产的终端,他们都有自己的监控软件,我们需要规定一个统一的数据上传接口,用什么实现会比较好呢?
既然是不同厂商的终端,你得看它到底支持什么协议,而不是你胡乱规定协议 如果都支持OPC,用OPC连当然是最简便的. 如果某些设备不支持OPC,那你要根据设备的不同协议单独做功能去通信 不能一概而论
落叶1210 2014-07-02
  • 打赏
  • 举报
回复
再补充一下,实现远程控制只能是socket,另外,不要担心稳定的问题,上万个也不是问题
落叶1210 2014-07-02
  • 打赏
  • 举报
回复
楼主还是没描述清楚,是什么样的数据终端?是普通的pc端还是仪器设备?
如果终端是socket发送数据,你还纠结什么,直接socket接收。
ivanho 2014-07-02
  • 打赏
  • 举报
回复
还是选WEBSERVICE吧,鄙人做过关于视频实时传输,当时一看到视频的大小,我就傻眼了,整整40M每个。之前我也想过SOCKET,或FTP的,但还是WEBSERVICE来得简单,有效率
wj_yhl 2014-07-01
  • 打赏
  • 举报
回复
再麻烦下各位大大: 如果是客户端单纯的往服务器传送实时数据的话,是不是webservice方式比较好呢? FTP的话是不是需要服务器端定时的去读取是否有新数据包到来? 如果是服务器端想对客户端进行控制的话,是不是只能用TCP多线程连接的方式了?TCP多线程连接上几百个客户端会不稳定吗?
wj_yhl 2014-07-01
  • 打赏
  • 举报
回复
嗯,OPC的后来我想过了,但是远程OPC的连接方式我好想一直没有连接成功过,更不用说很多个终端了,现在就是需要一种可靠性很高的方式,因为最终的用户根本不会懂这些,维护的工作量要尽可能的少
Azrael_King 2014-07-01
  • 打赏
  • 举报
回复
使用OPC可以,而且只要Client端数据有变化,Server端马上就可以知道,不必等到特定的上传时间,然后把有变化的没变化的数据都发给你,但有一个问题,你不知道是哪个Client端更新的数据,如果可以忽略这点,那没问题。使用TCP Socket连接+多线程也可以实现,而且你还能知道是那个IP连接你,这样你需要制定协议。
jointan 2014-07-01
  • 打赏
  • 举报
回复
如果只是收集,别的方法开发速度慢,出问题的机率高. 应该尽量把出问题的可能性降到最低. 另外还需要考虑整个传输过程是否有人值守. 无人值守的情况下:webservice是可靠的,但SOCKET不一定.
wj_yhl 2014-07-01
  • 打赏
  • 举报
回复
webservice方式可以吗?和FTP相比哪个更好一些?传统的C/S方式呢?
jointan 2014-07-01
  • 打赏
  • 举报
回复
FTP+SOCKET FTP负责上传 上传完成后,SOCKET负责通知服务器去处理 这样做的目的是在保证数据可靠传输的前提下,最大程序的降低开发和调试成本.
wj_yhl 2014-07-01
  • 打赏
  • 举报
回复
现在的问题是我们使用的是多个不同厂商生产的终端,他们都有自己的监控软件,我们需要规定一个统一的数据上传接口,用什么实现会比较好呢?
wj_yhl 2014-07-01
  • 打赏
  • 举报
回复
那用什么协议会稳定可靠呢?一般情况下,使用哪种方式实现比较好,有没有示例什么的?
tcmakebest 2014-07-01
  • 打赏
  • 举报
回复
楼主一点概念都没有吗?要进行可靠的数据传输SOCKET是目前唯一的依托,以此为基础,可以有许多种协议: 有HTTP,FTP,TCP,WEBSERVICE,WCF等等

111,093

社区成员

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

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

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