为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于多协议的杀毒软件的在线升级系统开发

2010-11-29 40页 pdf 617KB 10阅读

用户头像

is_170664

暂无简介

举报
基于多协议的杀毒软件的在线升级系统开发 本科生毕业设计(论文) 题 目:基于多协议的杀毒软件的在线升 级系统开发 姓 名: 肖剑辉 学 号: 0 3 0 4 0 2 3 0 4 学 院: 数学与计算机科学学院 专 业: 信息安全 年 级:  2  0  0  4 级 指导教师: (签名)  2008  年  6 月  10 日 基于多协议的杀毒软件的在线升级系统开发  I  基于多协议的杀毒软件的在线升级系统开发 摘要 当今社会,个人微机更加普及,网络应用日益普遍。依托于网络的自动下载并 更新应用程序的升级系...
基于多协议的杀毒软件的在线升级系统开发
本科生毕业设计() 题 目:基于多协议的杀毒软件的在线升 级系统开发 姓 名: 肖剑辉 学 号: 0 3 0 4 0 2 3 0 4 学 院: 数学与计算机科学学院 专 业: 信息安全 年 级:  2  0  0  4 级 指导教师: (签名)  2008  年  6 月  10 日 基于多协议的杀毒软件的在线升级系统开发  I  基于多协议的杀毒软件的在线升级系统开发 摘要 当今社会,个人微机更加普及,网络应用日益普遍。依托于网络的自动下载并 更新应用程序的升级系统越来起着重要的作用,无论从效益还是经济都不可低估它 的价值。特别是升级系统对于一个杀毒软件来说显得至关重要,新品种的木马病毒 的不断出现,病毒特征库和组件就必需得到及时可靠的升级。 因此,所以一个支持多协议的,安全可靠的升级系统是非常重要的。本文将先 对这个基于三种网络协议(FTP、HTTP、TFTP)的升级系统作进行介绍,并将详细介 绍本升级系统的使用方法,重点在用多协议下载文件的过程、技术和下载的文件在 服务端的处理上,并对如何保证这个升级过程的安全可靠所采取的一些可行的方法 和措施。总而言之:如何达到使用各种不同的传输协议,在服务器的根目录下下载 最新版本的所有文件,并通过在客户端上解压、安装、注册使之达到更新,并保证 升级过程的安全和不可仿冒是本文要重点说明和阐述的。 对于该升级系统的核心技术,本文将详细的进行说明。将主要介绍如何运用三 种文件传输协议(FTP、HTTP、TFTP)实现下载功能,并介绍了根据网络的实际情况 用不同的技术(代理服务器、压缩文件、实现断点续传等)进行下载文件。并且考 虑的设计此升级系统的初衷是用于查毒软件的病毒库的升级,所以在升级的过程上 加入了文件校验这一步骤,可以使用各种 HASH 算法对客户端的文件进行校验,从而 保证升级过程的可靠和不可仿冒。在具体开发中使用 VC++和 SDK 的开发环境,运用 线程编程,保证运行过程中升级系统和用户的交互性。 关键词:三种网络协议,安全,断点续传,代理服务器,文件校验 福州大学本科生毕业设计(论文)  II  The Development of Upgrading System of Antivirus Software Based on Multi­protocol Abstract  Today's  society,  personal  computer  become  more  and  more  popular,  network  applications  also  become  increasingly  common. Relying  on  the network  automatically  download  and  update  the  application  of  the  system  upgrade  play  an  important  role,  whether from the efficiency or economy can not be underestimated its value. Especially  the escalation of a system for antivirus software, is a critical, new types of Trojan viruses  emerging, the characteristics of the virus and the necessary components on a timely and  reliable upgrades.  Therefore,  a  multi­protocol  support,  safe  and  reliable  system  upgrade  is  very  important. This paper will be the first to introduce a system upgrade(FTP, HTTP, TFTP),  and details of the escalation of the use of the system, focusing on multi­protocol used in  the  process  of  downloading  files,  technology  and  download  the  document­processing  services,  and how  to ensure  that  the escalation of  this process safe  and  reliable  to  take  some practical methods and measures. how to use a variety of transmission protocols, in  the root directory server to download the latest version of all documents, and through the  client on the extraction, installation, registration and other steps to complete upgrades.  Will be mainly on how to use the three file transfer protocol (FTP, HTTP, TFTP) to  achieve download, and introduced the network in accordance with the actual situation of  different technologies (proxy servers, compressed files, and bread point transmission, etc.)  to download documents . And consider the design of this system is designed to upgrade  for  AV  software  for  the upgrading of  the  library,  during  the upgrade,  add  a  document  check  this  step, you  can use various algorithms  to HASH client  files check, To ensure  that the process of upgrading reliable and can not be imitated. In the development of the  specific use of VC + + and SDK development environment, programming using threads  to ensure that the process of upgrading operating systems and user interaction.  Key words: Three network protocol,Security,Bread point transmission, Proxy servers,Document check 基于多协议的杀毒软件的在线升级系统开发  III  目录 第 1 章 开题分析 .................................................................................................................................. 1  1.1 系统开发的背景 ..................................................................................................................... 1  1.2 现状及分析 ............................................................................................................................. 1  1.3 开发本系统意义 ..................................................................................................................... 2  第 2 章 系统设计相关原理 .................................................................................................................. 3  2.1 开发工具介绍 .......................................................................................................................... 3  2.2 服务器和传输协议 .................................................................................................................. 3  2.2.1 服务器配置................................................................................................................... 3  2.2.2 FTP:文件传输协议 ...................................................................................................... 3  2.2.3 HTTP:超文本传输协议 ............................................................................................... 4  2.2.4 TFTP:简单文件传输协议............................................................................................ 4  2.3 文件校验算法 ......................................................................................................................... 5  2.3.1 MD5 算法 ..................................................................................................................... 5  2.3.2 SHA­1 算法.................................................................................................................. 6  2.3.3 关于改进算法............................................................................................................... 6  2.4 XML 语言与 XML 语言的解析............................................................................................... 7  2.4.1    XML 语言介绍........................................................................................................... 7  2.4.2  VC++下解析 XML..................................................................................................... 8  第 3 章 需求分析及系统架构............................................................................................................... 9  3.1 用户需求与设计目标 ............................................................................................................. 9  3.1.1  引言.............................................................................................................................. 9  3.1.2  任务概述...................................................................................................................... 9  3.1.3  运行环境...................................................................................................................... 9  3.1.4  功能需求...................................................................................................................... 9  3.2 系统结构图 ........................................................................................................................... 11  3.3 系统流程图 ........................................................................................................................... 12  第 4 章 系统概要设计 ........................................................................................................................ 13  4.1 系统设计思路 ....................................................................................................................... 13  4.1.1 设计思路..................................................................................................................... 13  4.1.2 设计步骤..................................................................................................................... 14  4.2 总体设计 ............................................................................................................................... 16  4.2.1  使用 FTP 协议实现下载功能类 .............................................................................. 16  4.2.2  使用 HTTP 协议实现下载功能类............................................................................ 16  4.2.3  使用 TFTP 协议实现下载功能类 ............................................................................ 17  4.2.4  文件下载类的接口设计............................................................................................ 17  4.2.4  运行设计.................................................................................................................... 18  4.3 下载技术 ................................................................................................................................ 18  4.4 文件校验技术 ........................................................................................................................ 18  4.5 客户端的解压安装技术 ........................................................................................................ 18  4.6 事件回滚技术 ........................................................................................................................ 19  4.7 遗留问题 ................................................................................................................................ 19  第 5 章 系统详细设计说明 ................................................................................................................ 20  5.1 下载功能子系统 ................................................................................................................... 20 福州大学本科生毕业设计(论文)  IV  5.1.1 用 FTP 协议实现下载设计说明 ............................................................................... 20  5.1.2 用 HTTP 协议实现下载设计说明............................................................................. 21  5.1.3 用 TFTP 协议实现下载设计说明 ............................................................................. 22  5.2 文件校验子系统 ................................................................................................................... 23  5.2.1 校验算法设计说明 ..................................................................................................... 23  5.2.1 封装成.DLL 链接文件 ............................................................................................... 25  5.3  安装更新子系统 ................................................................................................................. 25  5.4 日志子系统 ............................................................................................................................ 26  第 6 章 系统运行界面和系统测试..................................................................................................... 27  6.1 运行升级系统 ....................................................................................................................... 27  6.2 系统测试 ............................................................................................................................... 31  总 结..................................................................................................................................................... 32  致 谢..................................................................................................................................................... 33  参考文献............................................................................................................................................... 34 基于多协议的杀毒软件的在线升级系统开发  1  第 1 章 开题分析  1.1 系统开发的背景 升级维护是软件开发周期中的重要环节,在线升级可以大大减少人工成本,方便用户, 具有重要的实用价值。特别是在软件行业竞愈演愈烈的今天,一个有竞争力和生命力的软 件必需不断的完善自己的功能并有一定的健壮性。 在信息安全领域,随着网络飞速发展,个人微机越发普及,随着网络应用日益广泛与 深入,网络炒股、网络游戏、网银用户大幅增长。与此同时,计算机病毒和木马仍处于一 种高速“出新”的状态。金山毒霸在 2007 年报共截获新病毒木马 283084 个,较 06 年相 比增长了 17.88%!另外,根据国外著名公司——Peakis 公司发布了的一份黑客分析报 告:2007 年全球共有大约 200 万名拥有成熟技术, 并可以自己编写病毒与木马程序的黑客; 全球平均每天就有超过一万个新的病毒、病毒变种以及木马程序出现,病毒造成的损失每 年以千亿美元计算! 从此份报告来看,木马病毒的编写者的数量,木马病毒的更新速度令人惊叹,为了及 时的查杀每天出现的新型木马病毒,杀毒软件的各个组件和病毒木马的特征库要得到必 要,及时,安全,高效的更新升级,否则,用户的财产安全,信息安全必定无法保障,所 造成的后果必定不可估量!  1.2 现状及分析 在互联网飞速发展的当今社会,已经有越来越多的专业软件生产商开始利用互联网提 供的有利条件对自己的软件产品进行网络化升级,有效提高了软件的性能,降低了软件维 护成本。安全行业是一个非常依赖互联网的领域,各种病毒木马的不断出现,各种漏洞的 发现,都在威胁着用户的信息安全和财产安全。旧版本的安全产品肯定是力不从心,如果 人工软件维护升级成本可想而知。 如何有效利用网络技术, 及时进行病毒库和组件的升级, 对软件进行及时有效的升级,是提高系统整体性能的关键 [1] 。 现今软件升级技术就要是通过网络完成软件版本的更新换代,但是一些软件的升级系 统存在一些这样或那样的缺陷 不少的软件的升级没通常只支持一种协议,用户没有更多的选择。还有就是不保证升 级过程的不可仿冒性。 如果恶意程序在升级的环节做点手脚, 很可能造成软件产品的瘫痪。 另外一个问题就是升级过程的界面不太友好,用户甚至都不知道他们的升级程序都做了些 什么。 福州大学本科生毕业设计(论文)  2  1.3 开发本系统意义 因此:研究设计一个及时的,安全的,高效的,可选择的,并用组件技术实现的在线 升级系统,不仅可以对网络安全信息的有更深入的了解情况,对于诸如 MD5,SHA 等加密解 密算法的原理和其在文件校验的实际运用会有较深刻的认识,并更深入掌握应用在校学习 的网络编程知识, 而且可以使我们开发的杀毒软件更加有生命力, 及时的保障用户的安全, 而且运用组件 dll 技术封装关键的算法和函数,也大大提高了可维护性与可移值性。 基于多协议的杀毒软件的在线升级系统开发  3  第 2 章 系统设计相关原理  2.1 开发工具介绍 将使用VC++6.0作为开发工具, 由于需要一些特殊的函数和数据, 所以加装了Platform SDK。 使用的 SDK 为支持 VC++6.0 的最新版本 SDK FOR Visual C++ 2005 Express Edition。  2.2 服务器和传输协议  2.2.1服务器配置  2.2.1.1 IIS服务器 IIS 是 Internet Information Server 的缩写,微软公司的 Web 服务器。 在配置服务端时,对于 HTTP,FTP 两种协议,用 IIS 搭建服务器已经绰绰有余。值得 注意的是在设置 http 文件的访问权限时,必需将虚拟目录所在的磁盘转换为 NTFS 格式。 FTP 服务器的访问权限可以直接在 IIS 上设置。IIS 服务器使用的是 5.1 版本。  2.2.1.2 TFTP服务器 由于需要使用 UDP 协议以解决穿透防火墙的问题,所以实现了 TFTP 协议,由于 IIS 并不支持 TFTP 协议,Windows 2000 环境下自带 TFTP 服务器,而 Windows XP 环境下必需 使用第三方软件作为 TFTP 服务器。  2.2.2 FTP:文件传输协议 FTP 文件传送协议(File Transfer Protocol,简称 FTP),是一个用于从一台主机到另 送文件的协议。该协议的历史可追溯到 1971 年(当时因特网尚处于实验之中),不过至今 仍然极为流行。FTP 在 RFC 959 中具体说明。鉴别和抗抵赖的功能,其具体的实现有时候 可以采用对称加密算法或公开密钥算法,也有专门设计用于数字签名的算法。信息摘要算 法主要是实现将大量的信息不可逆映射成一段定长或较短的信息而基本保持其独特性,所 谓独特性,也就是说不同的信息经过相同的信息摘要算法映射后得到的结果应该也是不同 的。 当用户启动与远程主机间的一个 FTP 会话时,FTP 客户首先发起建立一个与 FTP 服务 器端口号 21 之间的控制 TCP 连接,然后经由该控制连接把用户名和口令发送给服务器。 客户还经由该控制连接把本地临时分配的数据端口告知服务器,以便服务器发起建立一个 从服务器端口号 20 到客户指定端口之间的数据 TCP 连接;为便于绕过防火墙,较新的 FTP 福州大学本科生毕业设计(论文)  4  版本允许客户告知服务器改由客户来发起建立到服务器端口号 20 的数据 TCP 连接。用户 执行的一些命令也由客户经由控制连接发送给服务器,例如改变远程目录的命令。当用户 每次请求传送文件时(不论哪个方向), FTP 将在服务器端口号 20上打开一个数据 TCP 连接 (其发起端既可能是服务器,也可能是客户)。在数据连接上传送完本次请求需传送的文件 之后,有可能关闭数据连接,到再有文件传送请求时重新打开。因此在 FTP 中,控制连接 在整个用户会话期间一直打开着,而数据连接则有可能为每次文件传送请求重新打开一次 (即数据连接是非持久的)。 在整个会话期间,FTP 服务器必须维护关于用户的状态。具体地说,服务器必须把控 制连接与特定的用户关联起来,必须随用户在远程目录树中的游动跟踪其当前目录。为每 个活跃的用户会话保持这些状态信息极大地限制了 FTP 能够同时维护的会话数。无状态的 HTTP 却不必维护任何用户状态信息 [2] 。  2.2.3 HTTP:超文本传输协议 HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式 超媒体信息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。 目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的化工作正在进行之中,而且 HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP 协议的主要特点可概括如下: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常 用的有 GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议 简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加 以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的 请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5)无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传 送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快 [2] 。  2.2.4 TFTP:简单文件传输协议 TFTP 是一个传输文件的简单协议,它其于 UDP 协议而实现, 是传输层的协议。但是 我们也不能确定有些 TFTP 协议是基于其它传输协议完成的。此协议设计的时候是进行小 文件传输的。因此它不具备通常的 FTP 的许多功能,它只能从文件服务器上获得或写入文 件,不能列出目录,不进行认证,它传输 8 位数据。传输中有三种模式: netascii,这 基于多协议的杀毒软件的在线升级系统开发  5  是 8位的 ASCII 码形式,另一种是 octet,这是 8位源数据类型;最后一种 mail 已经不再 支持,它将返回的数据直接返回给用户而不是保存为文件。 任何传输起自一个读取或写入文件的请求,这个请求也是连接请求。如果服务器批准 此请求,则服务器打开连接,数据以定长 512 字节传输。每个数据包包括一块数据,服务 器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小 于 512 字节,则示传输结构。如果数据包在传输过程中丢失,发出方会在超时后重新传 输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接 收应答,另一方发出应答接收数据。大部分的错误会导致连接中断,错误由一个错误的数 据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包 丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据 包错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。 TFTP 只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的 包会被发送到源机。这个协议限制很多,这是都是为了实现起来比较方便而进行的。 TFTP 支持五种类型的包,这五种类型的包如下: (1)Read request (RRQ) (2)Write request (WRQ) (3)Data (DATA) (4)Acknowledgment (ACK) (5)Error (ERROR) 包头中包括了这个包所指定的操作码。在实际的编程中必需学习和掌握各种包的格 式。因为 TFTP 没有安全控制机制,因此安全问题应该多加考虑。通常 TFTP 允许下载数据 而不允许上传数据 [3] 。  2.3 文件校验算法 文件校验(document check)是近年来受到非常多关注的一项技术,它能保证我们的 数据不会受到损坏,确保文件的安全。而文件校验所采用的正是关于 HASH 函数的算法。  2.3.1 MD5 算法 MD5 即 Message-Digest Algorithm 5(信息-摘要算法 5),是一种用于产生数字签名 的单项散列算法,在 1991 年由 MIT Laboratory for Computer Science(IT 计算机科学 实验室)和 RSA Data Security Inc(RSA 数据安全公司)的 Ronald L. Rivest 教授开发 出来,经由 MD2、MD3 和 MD4 发展而来。MD5 算法的使用不需要支付任何版权费用。它的作 用是让大容量信息在用数字签名软件签私人密匙前被"压缩"成一种保密的格式(将一个任 意长度的“字节串”通过一个不可逆的字符串变换算法变换成一个 128bit 的大整数,换 福州大学本科生毕业设计(论文)  6  句话说就是, 即使你看到源程序和算法描述, 也无法将一个 MD5 的值变换回原始的字符串, 从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。) 其典型应用是对一段 Message(字节串)产生 Fingerprint(指纹),以防止被篡改。 比如,在 UNIX 下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5 的文 件,在这个文件中通常只有一行文本,大致结构为: MD5 (httpd-2.2.0.tar.bz2) =402b90a2e47205f94b3b1d91e1a8c459,这就是 httpd-2.2.0.tar.bz2 文件的数字签名。 MD5 将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一 的 MD5 信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的 改变(包括人为修改,如 Repack 进木马病毒,或者下载过程中线路不稳定引起的传输错 误等),只要你对这个文件重新计算 MD5 时就会发现信息摘要不相同,由此可以确定你得 到的只是一个不正确的文件。 MD5 还广泛用于加密和解密技术上。例如在 UNIX 系统中用户的密码就是以 MD5(或其 它类似算法)经加密后存储在文件系统中。当用户登录时,系统把用户输入的密码计算成 MD5 值,然后再去和保存在文件系统中的 MD5 值进行比较,进而确定输入的密码是否正确。 通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合 法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度 上增加了密码被破解的难度。 MD5 以 512 位分组来处理输入的信息,且每一分组又被划分为 16 个 32 位子分组,经 过了一系列的处理后,算法的输出由四个 32 位分组组成,将这四个 32位分组级联后将生 成一个 128 位散列值 [4] 。  2.3.2 SHA­1 算法 SHA 算法即安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于 2^64 位的消息,SHA1 会产生一个 160 位的消息摘要。当 接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很 可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1 有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的 消息摘要 [4] 。  2.3.3关于改进算法 加密算法 MD5 和 SHA—1 已经 2004 年被我国的王晓云教授所破解,美国的 FIPS(美 国联邦信息处理标准)里已经没有这种算法了,现在的标准中有 ripemd ,sha ,tiger , 基于多协议的杀毒软件的在线升级系统开发  7  whirlpool。 改进算法将采用 tiger 算法, 可能大家很少听说过 Tiger 算法。 Tiger 由 Ross 在 1995 年提出。Tiger 号称是最快的 Hash 算法,专门为 64 位机器做了优化。Tiger 和 md5 的添 加数据的方式不同,它不是加上 1 个 1及若干个 0,而是增加一个 0x01 和若干个 0。Tiger 的输出是 192 位的,即 24 个字节。分组的大小也是和 md5 一样:64 字节。Tiger 有一个 1024 个元素的表 [5] 。  2.4 XML 语言与 XML 语言的解析 在服务器上的配置文件采用的是 XML 文件,在 VC++ 下读取 XML 文件需要进行一系列 的操作。  2.4.1  XML语言介绍 XML(Xtensible Markup Language,即扩展标记语言)的发展起源于 1996 年。当时, 出版界巨头和Web业内人士经过共同讨论, 提出了创建SGML (Standard Generalized Markup Language,即标准通用标识语言)子集(HML)的建议。该子集专用于 Web,具有可扩展(或 可扩充)性,并且能利用结构化标记语言的所有高级功 能,但摒弃了 SGML 的复杂性。XML 规范的第一份草稿于 1996 年 11 月发布后不久,1997 年 1 月首个 XML 解析器就面世了。随 后,便出现了 XML 的 应用以及新的规范和解析器。 HTML(Hypertext Markup Language)语言是大家所熟悉的开发网页的一种标记语言, 但它不是一种编程语言,它的主要标记是针对文档内容本身结构的描述,因机器本身是不 能够解 析它的内容的。XML 语言是 SGML 语言的子集,它保留了 SGML 主要的使用功能,同 时大大减小了 SGML 的复杂性。它不仅能表示文档的内容,而且可以表 示文档的结构,这 样在能够被人类理解的同时,也能够被机器所理解。虽然 HTML 是 SGML 的一个应用,XML 是 SGML 的一个子集,但是 XML 绝不是在 HTML 上添加某些元素而形成的,它们之间是有很 大区别的。 最大的区别就是 XML 允许使用者为某种特殊目的而定义自已的元素。 除此之外, 另一个最主要的区 别就是 XML 致力解决的问题,正是在使用 HTML 时所遇到的一些特殊问 题。 XML 要求遵循一定的严格标准, 其分析程序比 HTML 浏览器对语法和结构的要求更加严 格。XML 文档每次分析的结果都一致,而 HTML 在不同的浏览器 中可能会作出不同的分析 和显示。同时,XML 标准是对数据的处理应用,而不只是针对 Web 页的,它还可涉及到数 据库电子商务系统,以及任何显示系统的高级 应用。开发者可根据特定的工业需求,利 用 XML 创建自定义的数据结构。这些数据结构和数据库可以在许多设备上查看,而不需要 使用自定义的接口在不同的显示 设备上查看相同的数据。 福州大学本科生毕业设计(论文)  8  XML 主要有三个要素:文档类型声明(DTD:Document Type Declaration)或 XML Schema(XML 大纲)、可扩展样式语言(XSL:eXtensible Stylesheet Language)和可扩展链 接语言(XLink:eXtensible Link Language)。DTD 和 XML 大纲规定了 XML 文件的逻辑结 构, 定义了 XML 文件中的元素、 元素的属性以及元素与元素属性之间的关系;Namespace(名 域)实现了统一的 XML 文档数据表示以及数据的相互集成; XSL 是用于规定 XML 文档呈现样 式的语言,它使得数据与其表现形式相互 独立,比如 XSL 能使 Web 浏览器改变文档的表 示法,如数据显示顺序的变化,不需要再与服务器进行通讯。通过改变样式表,同一个文 档可以显示得更大, 或者 经过折叠只显示外面的一层, 或者可以变为打印的格式。 而 XLink 将进一步扩展目前 Web 上已有的简单链 [6] 。  2.4.2  VC++下解析 XML  为了解析 XML 的升级配置文件,需要引第三方的类库,这就是大名鼎鼎的 Cmark 解析 类。 Cmarkup 是基于“压缩”文档对象模型 EDOM ("Encapsulated" Document Object Model), 这是这个XML处理器的关键。 它的一套XML处理方法和产生的效果与DOM(Document Object Model)是一样的。但是整个 DOM 有无数的对象类型,而 EDOM 只定义了一个对象: XML 文档,EDOM 回到了 XML 原始的吸引力—简单。CmarkUp 封装了 XML 文档文本、结构和 当前位置。它提供了增加元素、导航和得到元素属性和数据的所有方法以。在文档中操作 被执行的地方取决于当前位置和当前孩子位置。当前位置允许你增加一个元素到文档中的 这个位置,而不需要明确指出增加对象到文档的这点上,在 CMarkup 的有效生命周期里, 对象一直保持着一个用来描述文档的字符串,当你调用 GetDoc 可以得到这个字符串。有 了这个对象我们就能调用 Cmarkup 中的各种函数对 XML 文档进行各种操作 [7] 。 Cmarkup 的官方网址是http://www.firstobject.com,最新版本为 8.1,在升级系统 中使用的是 6.0 版本。 基于多协议的杀毒软件的在线升级系统开发  9  第 3 章 需求分析及系统架构  3.1 用户需求与设计目标  3.1.1 引言 通过查阅文献等几种途径,了解到一些用户对于升级过程有各种各样的需求。一个良 好的升级系统不仅仅可以方便客户, 满足客户的需要, 而且可以大大降低公司的维护成本, 在后期的升级维护过程中节省大量的人力物力。 因此,必需在充分掌握和了解用户需求的情况下,制定详细的设计目标,并加以实现, 才能开发出用户满意的,符合公司利益的升级系统。  3.1.2 任务概述 设计开发一个升级系统,此升级系统是一个杀毒软件一部分,升级包括了组件升级和 病毒特征库的升级。 此升级系统也可运用在其他软件升级中,可以方便的调用。  3.1.3 运行环境 在 Windows 环境下运行,并且可以为各种 Winsows 下的各种软件进行升级。升级处理 过程包括在 Windows 修改注册表等一系列操作。 服务器要求: (1)HTTP 服务器。 (2)ftp 服务器。 (3)TFTP 服务器 (4)服务器根目录下必需有 current_update.xml 升级配置文件。 客户端要求: (1)Windows 98 以上操作系统。 (2)系统盘必需确保有升级所需要的空间,至少要大于更新文件大小。  3.1.4 功能需求 本升级系统必需实现一般更新系统所以具有的功能外,还必需实现用户要求的其他功 能。 (1)多协议。必需支持 TCP\IP 协议。 (2)支持代理服务器。带用户名与密码认证的代理服务器,或者自动配置 URL。
/
本文档为【基于多协议的杀毒软件的在线升级系统开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索