日期:2014-05-18  浏览次数:20653 次

做远程数据数据访问的系统,就方案问题提问!可以再续分
要求是这样子的:
  在全国多个变电站中装有一台工控机用以监测,工控机本身有一个监控程序。现在要在北京学校的实验室中搭建服务器,把各地工控机上采集的数据有选择的传到服务器来做比较处理。
现在有几个问题:
  1、学校服务器在内网中,有个内网的IP地址。工控机装有MODEN用拨号上网,请问要用什么方式实现数据的传输。请大家给个方案。开发用C#,服务器数据库为SQL2000.
  2、若先不考虑远程控制的问题,仅是让工控机吧数据能传到服务器来。我想在工控机上常驻一个小程序,隔若干秒用ADO.NET连接服务器的数据库,让连接字符串的source=服务器的IP地址,然后直接吧数据传上来。而不用winsock,不知道可不可以。
  3、还有就是我记得拨号上网是isp给分配的自动IP地址,每次都不相同。那么我要在服务器上访问各地工控机用什么来标识它们呢?
  对了,工控机可当成一般的pc机来理解。多谢大家帮忙了

------解决方案--------------------
你首先要解决的不是用什么方式传数据,而是在内网的服务器和拨号的动态IP的工控机怎么通讯问题。
如果工控机不能直接访问到在内网内的服务器的话,用ado.net这条路就根本没戏。
如果对实时性要求不高的话,工控机方面可以每隔一段较长的时间把数据传到第3方服务器(可以用各种现有的通讯方法:ftp,mail等等),而在内网的服务器定时地从第3方服务器把数据取下来保存到数据库。
------解决方案--------------------
建议不要从外网直接连接数据库;无论是从安全性和性能都不可接受;
建议做一个WebService发布在外网上,所有的客户端通过WebService来提交数据.
WebService程序来访问内部的数据库服务器进行存取.
这样可伸缩性,安全性都容易得到保证.前提条件是单个客户端的提交请求频率不要太高,如果是分钟级那应该是没有问题的.
------解决方案--------------------
服务器你用个静态的IP.

或者

做一个WebService发布