基于java的数据传输设计的实验报告 高灵琪 1110230015.docVIP

基于java的数据传输设计的实验报告 高灵琪 1110230015.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于java的数据传输设计的实验报告 高灵琪 1110230015.doc

基于java的数据传输设计的实验报告 基于Java和OPC技术的分布式远程监控系统,系统的结构模型如图1所示。系统的功能是:实现对生产过程的数据采集和存贮,并在远程客户端实现对采集过程的监测和控制。 1.介绍 系统采用多层Client/Server结构。总体上可以分为个层次:数据服务器层、应用服务器层和客户端。数据服务器负责提供所需的数据,包括系统的实时数据、历史数据和报警信息等;应用服务器接收客户端发出的请求信息,根据客户端的请求与数据服务器进行交互,实现客户端的请求。客户端负责数据曲线的显示,并负责处理用户的监控请求。 如前所述,客户端需要完成两项任务:一是对数据采集进行实时监控,二是把从服务器端传送过来的数据保存在客户端计算机上。在这两项任务中,实时监控任务要求保证数据的实时性,即服务器端采集的数据应实时地传送到客户端,让用户及时了解数据采集的情况。而数据保存任务需要的是数据传送的准确和完整,即采集的数据应无丢失的从服务器端传送到客户端。考对传送的要求,为保证他们都能满足各自的功能,本系统在设计数据传送时,把实时监控部分和数据保存部分分开,即分别通过不同的途径从服务器端获得数据。 对数据保存部分,采用在服务器端先用数组缓存数据,缓存数组中的数据达到一定数量后,由服务器主动一次性把这些数据传送到客户端。具体的方法是:在服务器端,对每一通道的数据先用两个数组交替进行缓存,数据采集服务器传送过来的数据先放进数组1,当数据满一定数量后(例如200个)着 接 收 数 据,,新开一个线程,把数组中的数据通过远程方法调用主动传送给客户端。在传送数组时如果网络是中断的,则可利用后面介绍的重连接机制,让客户和服务器重新建立连接,只要在数组2接收200个数据的过程中,连接能够重新建立,把数组1传送成功,就可以保证数据无丢失的传送。这就是本远程监控系统在网络短时中断时,利用数组对数据进行缓存的原理所在。数组2接收满200个?数据后,新开一个线程传送数组2,同时由数组1来接收数据。如此循环。?这种数据传送方式的好处是:一方面客户端的实时监控仍可正常实现,不受数据保存的影响。另一方面,通过在服务器端设置缓冲数组后,解决了因网络短时中断后服务器端的数据没有传送到客户端而丢失的问题。例如,通过测试,在本系统中,服务器采集200个数据所用的时间大约为3秒,那么,假设设置的数组大小为20时,则允许网络有3秒短时中断而不会导致数据的丢失。 本远程监控系统采用上述数据传送方式,描述了系统中客户端和RMI服务器之间的数据流动情况。从图中可以看出,应用服务器端设有一个缓冲数据区,经过缓冲数据区后,数据分两路到达客户端,这两路数据分别用于实时监控功能和数据保存功能。具体情况如下:1)数据采集服务器采集的数据先到达应用服务器的缓冲数据区。缓冲数据区中存放着当前数据,当新的数据到达的时候,新的数据将覆盖原来的数据成为当前数据。2)客户端的实时监控模块通过远程方法调用直接从应用服务器的缓冲数据区获得数据,然后用波形显示出来。3)在应用服务器上,缓冲数据区的数据依次放进缓存数组。两缓冲数组交替存放数据,当一个数组的数据满后,新开一个线程把该数组中的数据传送给客户端,与此同时,由另一数组来接收数据。

文档评论(0)

caijie1982 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档