• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 语文学习 > 正文

    利用Socket实现应用系统文件自动升级

    时间:2021-01-21 08:02:26 来源:雅意学习网 本文已影响 雅意学习网手机站


      摘要:文件升级是C/S结构应用系统的维护难点,通过socket网络编程技术可以解决这个问题。该文首先介绍socket技术的基本原理,然后介绍如何利用socket技术实现文件发布和文件自动升级的基本设计思路和判断流程,最后介绍基于Delphi开发工具的实现文件自动升级的程序设计方法。
      关键词:网络编程;发布系统;自动升级
      中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)26-7397-03
      
      Use Socket to Realize Files Automatically Upgrade about Application System
      WEN Hua
      (Guangxi Sundynet Science & Tech. Co.Ltd, Liuzhou 545001, China)
      Abstract: Upgrade file is C / S structure of the application system difficult to maintain, through the socket network programming technology can solve this problem. This paper first introduces the basic principles of socket technology, and then describes how the use of socket technology to publishing files and files automatically upgrade the basic design ideas and determine the process, finally, introduces Delphi development tools based on the realization of a files automatically upgrade process design method.
      Key words: network programming; distribution system; files automatically upgrade
      
      在信息技术高度发达的今天,企业的生产管理和经营业务工作越来越需依赖计算机网络和信息管理技术的支持,企业每年都需要投入大量资金开发应用软件或扩展已有系统。由于每个企业生产管理和经营业务都有一定的特殊性,商品化的应用软件产品通常无法完全满足企业的特殊要求,许多应用系统都需要量身定制开发,定制的应用系统通常是开发和实施同步进行,在开发和实施的初期,由于需求目标不明晰、编程错误、功能不完善等原因,经常需要不断地增加功能、修改程序、完善算法,从而不得不发布新软件版本;另外,由于企业生产管理或经营业务的改变,也要求应用系统与时俱进,不断地扩展系统功能,由此也会产生和发布新的软件版本。
      对于单机结构的应用系统或B/S结构的应用系统,新版本软件的发布相对简单,只需将新版本的程序文件复制到单机/服务器即可。但对于C/S结构下的应用系统,当客户机数量较多、地理位置较远、地点分布广时,可以想象得出,靠技术人员逐台电脑升级程序文件,会是一件非常痛苦事情,同时,由于各客户端升级不同步,一些客户端运行的是旧版本软件,采用的是旧的处理方式和旧的计算方法,往往会造成业务处理错误和数据库混乱。为此,许多应用系统在发布新版本软件时,要求所有客户端系统都停止运行,只有将所有客户端升级完成后,才能允许继续运行。
      不过,通过采用一定的技术手段,以上问题是可以得到很好解决的,那就是采用文件自动升级方式,让客户端能够自动、及时地升级新版本的软件。文件自动升级技术和方式很多,有的采用FTP文件传输协议技术,有的采用数据库访问技术,本文介绍利用Socket网络编程技术来来实现文件的自动升级。
      
      1 socket技术原理
      
      socket是一种基于TCP/IP协议传输层上的网络编程技术,socket意思是“插座”,一般将其翻译为“套接字”[1]。
      TCP是面对连接的传输层协议。面向连接,是指在数据传输开始前建立一个传输数据的通道,这个通道在整个传输过程中都保持畅通,到传输结束时才关闭这一通道。一个典型的TCP协议双方通信的过程是:
      1) 获得对方IP地址和端口号。
      2) 在本地主机上选择一个IP地址和端口号。
      3) 在通信双方之间建立socket连接。
      4) 传输数据。将数据从发送方顺序传输到到接收方。
      5) 传输完毕后断开连接。
      在socket编程中,包括客户端client socket与服务器端 server socket,实际的应用中,需要同时使用client socket和server socket,client向server请求服务和资源,server给client提供服务,返回资源。[2]
      在应用系统中,可以利用socket编程技术,实现系统文件发布和文件自动升级,减少人工处理过程,降低C/S应用系统的维护难度。
      
      2文件自动升级的基本设计思路
      
      1) 要实现文件自动升级,必须建立一个文件发布系统。
      发布系统存储最新版本的程序文件,供客户端获取,系统开发人员修改或开发出新的功能模块,经过严格测试后,将模块程序文件提交到文件发布系统中,实现新版本文件的发布;其次,需要建立一套可靠的文件升级机制,确保客户端能从发布系统中获取升级文件清单,下载最新版本的程序文件,使本机的文件与发布系统的文件同步。这种发布/升级的方式,非常适合利用socket技术实现。其主要原理就是,在发布系统中创建一个服务端server socket,提供客户端升级所需的服务接口;在客户机创建一个client socket,使其与server socket建立连接,调用server socket的服务接口,就可以升级到最新版本程序文件。通过对socket进行必要的编程,就可以实现我们的即定目标。见图1。
      2) 要实现文件自动升级,必须确定升级时机,处理升级判断流程,即“何时升级”、“升级什么”。
      何时升级。升级可以在应用系统运行开始时检测升级,可以在应用系统运行期间检测升级,还可以在应用系统运行结束时检测升级,例如常规杀毒软件,通常都在系统运行期间检测是否有新版本病毒库,如果有则升级。作者开发的应用系统,都将升级行为设计在系统运行时,目的是让操作员了解系统的升级过程,确信自己运行的是最新版本的程序文件。
      升级什么。升级的文件由发布系统确定,当客户端的文件与发布系统所发布的文件不一致时,客户端就必须升级。我们通过以下两个条件可以判断客户端是否需要升级,升级什么文件:
      ① 如果发布系统中存在,客户端中不存在,则需要升级。
      ② 如果发布系统中存在,客户端中存在,但发布系统与客户端中的文件属性(文件大小,更新时间)不一致,则需要升级。
      判断流程见图2。
      3) 需要将文件拆分成若干数据小的数据包,以便于网络传输。
      由于网络传输数据时,数据是按packet(数据包)的方式接收或发送的,而packet大小是有限制的,当发布的文件数量比较多时,文件清单的数据大小也随之增大,因而可能无法将目录清单一次性传输完毕,升级文件也因大于packet的大小而无法一传输完毕。因此,发布系统必须将发布目录清单和升级文件拆分成若干个较小的packet,给各packet编上顺序号,按顺序发送给客户端,客户端接收完所有的packet后,按相同顺序将packet重新合并还原,最后写到本地硬盘上,完成所有数据的接收。数据拆分、发送、接收、合并还原过程见图3。

    推荐访问:自动升级 利用 文件 系统 Socket

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章