




已阅读5页,还剩120页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大庆石油学院本科毕业设计(论文) I 摘 要 本系统开发完成后可以在录井现场全面推广应用,也可为钻井系统提供服务。 本文介绍了基于 Delphi 编程的基础知识和关键技术,以及 Access 数据库的设计、 操作的主要方法。透彻研究了基于安全机制的数据传输系统的需求分析,详细的 说明了井场数据远程传输系统的设计和实现过程。 该系统主要包括数据加密和压缩、数据传输、数据接收和数据存储四个部分。 加密是为了数据的传输安全。压缩是为了减少传输时的负担。数据传输要通过一 定的通信协议建立网络连接,传输过程中有状态监视。数据接收后要进行解压和 解密。数据存储主要是将数据存到数据库。本文详细介绍了系统的实现技术和实 现原理,同时给出了关键技术的代码和遇到的问题及其解决方法。通过本文读者 不但可以了解整个系统的开发过程,并能够直观的了解、掌握系统的功能及使用 方法。 关键词:关键词:delphi;数据安全;数据传输;ACCESS 大庆石油学院本科毕业设计(论文) II Abstract This system can also may be borehole system providing services in all-round record well scene application and dissemination. The main body of a book to have been introduced delphi programming-based and the main method that the key technology, and access data base design, handle. Incisive the need analysis having studied machine- made data transmission is systematic owing to safety , the process having explained design and realization recording well data long-range transmission system detailedly. That system includes the data encryption and compression mainly,data transmission,data taking-over and data store four parts. The encryption is the transmission safety for the data. Compress the burden being to transfer time for the decrease. Data transmission is going to link up by the fact that certain communication agreement builds a network, transmission process middle have state surveillance. After data being received, it will carry out explain pressure and deciphering. The data memory is that a data is stored to the data base mainly. The main body of a book has been introduced detailedly systematically realizing a technology and realizing principle, code and the problem appearing having given key out a technology at the same time and their solution. The readers not only can find out about the development course of the whole system through this text, understanding, mastering systematic function and operation method that and can be ocular. Key words: Delphi; Data safety; Data transmission; ACCESS 大庆石油学院本科毕业设计(论文) III 前 言 我国从九十年代开始重视开发录井远程数据传输项目以来,该技术得到了快 速发展。也有部分公司开发了实时井场数据传输,系统在规范上取得了很大的进 步,但没有形成统一的标准,不具备开放性和通用性。所以录井现场信息实时传 输技术,在单项技术上是成熟的。但在开放性、标准化、与设备无关等方面,还 缺少实用性的产品。本项目将在方案上重点考虑开放性、标准化、通用性等方面 的技术,使井场信息实时传输系统不仅适用于现有的设备和需求,而且能满足将 来其它录井设备和需求,使系统具有国内外先进水平。 本文第一章介绍了基于安全机制的数据传输系统的国内外发展现状及发展史 以及未来发展的趋势。介绍基于安全机制的数据传输系统开发工具 Delphi 和 Access。为后面的讨论提供了背景和基础。第二章从数据和功能两个方面对录井 数据远程传输系统做出需求分析。第三章和第四章是本文的核心部分。这两章从 系统设计和系统实现两方面,讨论本系统开发的基本要点。第三章对系统的总体 设计做了详细的描述,包括数据库、软件结构、安全性等方面的设计。第四章全 面和细致的介绍了系统开发的全过程。第五章对系统后期的测试给出了简要的介 绍。 大庆石油学院本科毕业设计(论文) IV 目 录 第 1 章 概 述 .1 1.1 基于安全机制的数据传输系统简介1 1.2 DELPHI语言介绍2 1.2.4 DELPHI的应用及前景.4 1.3 ACCESS数据库介绍.4 第 2 章基于安全机制的数据传输系统需求分析 .7 2.1 数据需求分析7 2.2 功能需求分析7 第 3 章系统的总体设计 .9 3.1 系统设计9 3.2 系统安全性设计12 第 4 章系统的详细设计与实现 14 4.1 界面设计及功能说明14 4.2 实现原理及关键技术18 4.3 系统编码23 4.4 系统开发过程中遇到的问题及解决方法25 4.5 基于安全机制的数据传输系统的优点26 第 5 章 系统的测试 .27 结 论 .28 参考文献 29 致 谢 .30 大庆石油学院本科毕业设计(论文) 1 第 1 章 概 述 1.1 基于安全机制的数据传输系统简介 如果我们能够使用网络将录井现场与基地连接起来,就可以将录井现场的各 种数据,包括综合录井仪的实时数据通过网络实时地传送到基地方的数据服务器 上,基地的技术人员可以随时了解录井现场的生产动态和全面的录井数据。基地 方的各种管理信息和指令可以随时通过网络发向所有的基层小队,基地网络数据 库中的各种资料可以随时供小队技术人员参考查阅,所以建立井场与后方的网络 通道,加快井-基间的信息传递,是录井行业发展的大趋势。井场实时数据安全传 输的现代录井技术越来越受到广泛的关注。 1.1.1 什么是基于安全机制的数据传输系统 勘探信息系统的建设从数据源抓起是极为重要的。在钻探信息上,录井技术 的作用应当充分发挥。从信息技术的发展规律看,录井软件不能永远停留在专业 技术应用上,必须从井场综合信息平台入手,建立一套完整的、规范化的钻探综 合管理与质量分析控制系统。该系统应当具备如下三个条件:第一,系统在井场 提供网络支持,建立以录井服务器为中心的井场各计算机数据共享平台;第二, 形成数据的规范化格式。第三,具备数据远程传输功能,通过井场现有的各种通 信方式,自动加载各类数字信息,以便于沟通;这样,偏远的钻井井场与各级指 挥中心之间才能构成真正意义上的 IT1。 1.1.2 基于安全机制数据传输的发展史 录井数据远程安全传输,在国外早已得到应用。为了提高钻井成功率,降低 钻井成本,国外八十年代就逐步建立了录井场地与基地间的双向监控和实时数据 共享。对石油公司的经营管理和科学化决策起着十分重要的作用。自九十年代以 来,我国引进了一大批国外不同厂家生产的综合录井仪设备,具有录井数据和数 据文件的远传功能。但大多数录井设备在引进时没有购置相应的硬件设备和软件 系统,少数仪器虽然保留了数据文件传输系统,但不能进行实时数据的传输。国 内也有部分公司开发了实时录井数据传输,但没有形成统一的标准,不具备开放 性和通用性。所以录井现场信息实时传输技术,在单项技术上是成熟的。但在开 放性、标准化、与设备无关等方面,还缺少实用性的产品。 大庆石油学院本科毕业设计(论文) 2 1.1.3 基于安全机制数据传输的目的和意义 随着近几年录井技术的快速发展,使录井行业转入一个全新的领域,各种数 据的采集处理能力很强,使现场可通过计算机网络传输的信息数量大为增多。而 且由于采集到的数据反映了井场钻井施工的状况,可以对地层压力和各种井下异 常情况做出预测。基于安全机制数据传输就显得尤为重要。通过该系统,工作人 员可以对现场的这些数据进行正确及时地分析和预测并对钻井施工做出指导,及 时掌握现场动态。对于地处偏远地区的沙漠、戈壁及海洋等交通不便的作业区, 这种信息的传输和实时再现显得尤为重要和迫切。例行的电话通话和传真汇报不 能将现场动态信息实时的传递回基地和各相关职能部门,很可能延误处理异常情 况的宝贵时间。充分利用工程实施中的信息资源,对提高石油企业的现代化水平 和科学管理决策具有重大意义。但因现场与后方的数据通讯落后,后方的技术人 员难以获得井场的实时数据,无法对现场情况做出全面分析。在当今社会已步入 信息化的时代,我们原来的信息传输方式明显显得滞后和低效,已经不能满足录 井行业信息化发展的需要。 勿庸置疑,基于安全机制数据传输的应用,将从本质上改变录井公司的生产 管理面貌,提升公司的科学化、信息化形象,有效提高录井生产的现场管理水平, 做到大量数据实时有效地传输,使后方技术人员和决策人员能快速而有效地掌握 现场动态,更好地做好技术支持和指导工作。 1.2 Delphi 语言介绍 1.2.1 什么是 Delphi Delphi 是著名的 Borland 公司开发的可视化软件开发工具。 “真正的程序员用 C,聪明的程序员用 Delphi” ,这句话是对 Delphi 最经典、最实在的描述。Delphi 被称为第 4 代编程语言,它具有简单、高效和功能强大等特点。与 VisualC 相比 Delphi 更简单、更易于掌握,而在功能上却毫不逊色;和 Visual Basic 相比, Delphi 的功能更强大、更实用;可以说 Delphi 同时兼备了 Vesual C 功能强大和 Visual Basic 简单易学的特点,因此它一直是程序员喜爱的编程工具。 Delphi 在编好程序后自动转换成.EXE 文件,它的运行速度比 Visual Basic 快, 而且编译后不需要其他的支持库就能运行,它的数据库功能也很强大,是开发中 型数据库软件理想的编程工具。Delphi 适用于应用软件、数据库系统以及系统软 件等类型的开发。它拥有与 Visual Basic 相似的功能,而且一样能应用 API 函数, 这对于控制 Windows 很有用2。 Delphi 的出现打破了 Visual Basic 可视化编程领域一统天下的局面,并且 大庆石油学院本科毕业设计(论文) 3 Delphi 使用了本地编译器直接生成技术,使程序的执行性能远远高于其他产品生 成的程序。它还是真正的面向对象的编程语言。Pascal 语言的严谨加上可视化的 优势和强大的数据库功能使得它有充分的资本和微软的 Visual Basic 媲美。许多 人当时都认为 Pascal 是最有前途的程序设计语言,并预测 Delphi 将会成为可视化 编程的主流环境。 Delphi 是全新的可视化编程环境,它提供了一种方便、快捷的 Windows 应用 程序开发工具。它使用 Windows 图形用户界面的许多先进特性和设计思想,采用 了灵活且可重用的完整的面向语言、当今世界上最快的编辑器和最为领先的数据 库技术。对于广大的程序开发人员来讲,使用 Delphi 开发 应用软件,无疑会大 大地提高编程效率,而且随着应用的深入,将会发现编程不再是枯燥无味的工作 Delphi 的每个设计细节,都将带给您一份欣喜 。 1.2.2 delphi 的特点 Delphi 是非常强大、灵活的应用程序开发工具,它将可视化界面与面向对象 的 Pascal 语言结合在一起,使用 Delphi 可在极短时间里创建直观、强大的 Windows 应用程序。Delphi 的特点主要包括: 强大的集成开发环境(IDE) 。IDE 在传统的集成开发工具基础上增加了 可视化功能,以创建拥护程序界面,并自动产生支持代码,同时 IDE 不 是静态工具,可以通过使用开放工具 API 无限扩展。 面向对象。Delphi 强大却简单的底层编程语言支持封装、继承和多态等 面向对象特性,允许将数据和代码合并为一体,创建新的派生类,并将 所继承的类作为父类。 完全的编译器和链接器。Delphi 可以产生真正独立的本地可执行代码, 可以建立动态链接库,使用动态链接库可以扩展 Delphi 应用,动态链接 库可以提供给其他工具所开发的程序。 支持多媒体。用 Delphi 配置的 Media Player(媒体播放器)部件可以快速 建立多媒体应用。 支持多线程。进程进一步划分为线程,每一个线程可以为同一进程创建 一个或多个线程。 强大的 Internet/Intranet/Extranet 网上编程功能,可以构造 WWW 服务器 大庆石油学院本科毕业设计(论文) 4 和浏览器,可以创建 Web 服务器应用程序,可以在应用程序中返回静 态 HTML 页、动态 HTML 页和加入数据库链接等。 1.2.3 Delphi 与 Socket 技术 所谓 Socket 技术是网络通信编程的一项通用标准技术。最早在 Unix 上出现, 后来也移植到 Windows 平台,与 Windows 紧密结合,因为和 Unix 上的 Socket 略 有不同,通常称为 Winsock。Windows95 上所带的是 WinSock1.1,目前用的较多的 是 WinSock2 及以上版本。 虽然Socket技术在很大程度上简化了网络应用程序的开发,但是它毕竟是一 项通用技术,包含的内容还是相当多的。微软的Windows Socket规范(简称 winsock)对Berkley的套接字规范进行了扩展,利用标准的Socket的方法,可以同 任何平台上的Socket进行通信;利用其扩展,可以更有效地实现在Windows平台 上计算机间的通信。在Delphi中,其底层的Socket也应该是Windows的 Socket。Socket减轻了编写计算机间通信软件的难度,但总的说来还是相当复杂 的(这一点在后面具体会讲到) ;Inprise在Delphi中对Windows Socket进行了有效 的封装,使得用户可以很方便地编写网络通信程序。Delphi提供了 TServerSocket/TClientSocket两个控件,它们封装了用Socket实现TCP的常用部分 功能,比直接用Socket方便很多5。 1.2.4 Delphi 的应用及前景 Delphi 是从设计到开发,模型驱动体系方案的大权,它集成了建模、开发和 基于 Windows 平台的电子商务开发等功能。与低版本的 Delphi 相比,它扩展了 电子商务何 Web 服务框架,它的全集成技术增加了开发者的开发能力,它的. NET 移植工具包让开发者能够向.NET 应用过渡。Delphi 将应用开发技术集成为 一个易于使用的开发包,简化了应用开发生命周期,加速市场投入周期。 1.3 Access 数据库介绍数据库介绍 1.3.1 Access 的基本概念 Access 是一个面向对象的、采用事件驱动机制的新型关系数据库管理系统。 Access 提供了表生成器、报表设计器等许多便捷的可视化操作工具以及数据库向 导、表向导、查询向导、窗体向导、报表向导等许多向导,可以很方便地构造一 个功能完善的数据库管理系统。Access 还为数据库开发人员提供了 Visual Basic for Application 程序设计语言,便于高级用户开发功能更强大的数据库管理系统。 大庆石油学院本科毕业设计(论文) 5 Access 内置了功能多样、种类丰富的函数,可以帮助数据库开发 人员开发 出功能完善、操作简便的数据库系统。 1.3.2 Access 的操作窗口 Access 是一个面向对象的可视化数据库管理系统,所以的操作都在窗口中 完成。Access 窗口种类较多,这里先简单介绍 Access 数据库设计视图下窗口形式。 Access 数据库设计视图窗口的构成包括三个部分:命令按钮(窗口上端) 、对象 类型按钮组(窗口左侧) 、对象成员集合(窗口右部) 。 命令按钮组中共有 8 个按钮,从左至右分别为: 打开:用于运行在当前对象成员集合中选的对象实例; 设计:用于打开一个在当前对象成员集合中选定的对象实例的设计窗 口,以允许对该对象施以设计或设计修改; 新建:用于在当前对象类别按钮组中选定的对象类别新建一个对象实 例,例如,若在当前对象类别按钮组中选定的对象类别是表,则单击 新建按钮将导致新建一个表对象,并进入表设计视图; 删除:用于删除一个在当前对象成员集合中选定的对象实例。 后面的四个按钮用于设置对象成员集合中的对象显示方式,分别是大图显示 按钮、小图显示按钮、列表显示按钮和详细信息显示按钮。 1.3.3 Access 的工作环境 Access 的工作环境主要包括操作界面和选项设置两部分。 操作界面中的数据库设计视图的菜单栏集中了 Access 的不同视图状态而有一 些不同,Access 的每一个对象都具有自己独特的设计视图,针对任一个数据库对 象所进行的设计操作都可以在其设计视图中完成。 操作界面中的工具栏位于起菜单栏之下。工具栏的作用是提供菜单栏中的那 些常用功能选项的快捷使用方法。如同菜单栏中的各项功能将随着不同的是视图 状态而有所变化一样,在不同视图下的工具栏组成也不完全一样。 Access 的选项设置。Access 的功能属性,如数据表视图的格式、文字与数据 的字体、各类对象的显示模式、数据库文件夹的默认存储位置、数据库打开模式、 年份的位数等若干结构属性参数,均由 Access 的功能选项默认值确定。同时, 大庆石油学院本科毕业设计(论文) 6 Access 提供一个操作界面使得用户可以修改 Access 结构特征。 1.3.4 Access 的特点 简单、方便、易用是 Access 作为数据库应用开发工具的一个重大特点 。 它 结合 EXCELL 可实现低成本而又较高的分析能力。 Access 主要是桌面数据库系统,他也可以开发基于自己的桌面数据库应用,也 可以作为前端开发工具与其它数据库搭配开发应用程序(如 SQL Server,DB2,Oracle 等。如果从开发应用程序方面比较,Access 比 SQL Server 要强大得多。 Access 允许创建自定义报表用于打印或输出数据库中的信息。 Access 也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文 件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数 据库是已开发的最通用的数据库之一。 如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包 中同时拥有桌面数据库的便利和关系数据库的强大功能。 大庆石油学院本科毕业设计(论文) 7 第 2 章 基于安全机制的数据传输系统需求分析 2.1 数据需求分析 本系统的目的是利用Delphi编写的代码将录井仪的实时数据不断地发送到基 地的数据服务器上。并经过数据拆分后存储到相应的数据库中。因为涉及到多个 录井小队,也就是多个客户端,数据在接收时要识别是哪个客户端传来的数据。 所以要根据用户名存到数据库。通过该系统工作人员可以对施工数据实时监控, 通过传来的数据,实时掌握录井信息动态,方便科研人员对录井数据进行研究。 2.2 功能需求分析 井场大量的实时数据需要安全、快捷的传到基地,供基地工作人员对井场进 行掌控。而井场数据的动态变化,会给统计人员带来很大的压力,这就迫使我们 建立一个能够安全的进行实时数据传输并能将数据分类清晰传到基地数据库的系 统。接下来我们就要对系统的功能需求进行分析。 系统综合要求: 基于安全机制的数据传输系统主要是将大量井场数据通过一定的传输协议安 全的传输到基地,并存储到数据库。可以实现实时数据的传输,基地的工作人员 可以通过本系统查看任何井场的数据。该系统的实现的功能包括客户端、服务器 和数据库的配置,数据传输前的加密压缩,数据传输,数据传输的状态监视,解 压解密,数据存储等,我们将系统功能分两大部分分别介绍。 1客户端 为了保证数据的安全性和数据接收后准确地存储到是数据库,每个客户端都 有自己的名称和密码,所以在数据传输之前必须要输入自己的用户名称和密码, 还要输入服务器的地址和端口号。因为服务器地址和端口号是固定的,所以第一 次输入存储后,再使用时就不必再输入了,因为已经有了保存,这样避免工作人 员进行无为重复操作。 数据传输,作为用户当然希望能及时、准确而且安全的把数据传输到基地, 要达到这个要求很大程度取决于数据传输。为了保证数据传输的安全,在传输之 前要进行数据的加密压缩,在传输的过程中对数据进行状态监视。数据加密和压 缩是在数据传输之前进行的,加密的目的是防止数据在传输的过程中信息的泄漏。 数据压缩的目的是减少数据传输时系统的负担。传输过程中有状态监视,将数据传 输的情况告诉电脑操作员。使工作人员能及时准确的对数据进行监控。 2服务器 大庆石油学院本科毕业设计(论文) 8 基地要及时准确的收到客户端发来的数据,也必须对服务器端有很多要求, 在第一次使用该系统的时候,没有对服务器地址和端口号进行设置并存储的记录, 所以使用该系统时首先要做的就是对服务器地址和端口号的设置和数据库的路径 设置。因为基地要得到客户端的原始数据,所以要对数据进行解压和解密,将数 据还原。最后一步我们要做的就是将数据存储到数据库,存储之前系统自动对数 据进行分析,根据数据名称判断是哪个井场发来的数据,再根据数据的格式将数 据进行拆分,将拆分整理后的数据根据数据名称存储到相应的数据表格中。存储 到数据库的数据可以方便工作人员查看、修改、分析信息,还可以作为历史数据 进行保存,待以后进行科学研究等方面提供资料。 大庆石油学院本科毕业设计(论文) 9 第 3 章系统的总体设计 3.1 系统设计 该项目来源于大庆录井公司的“卫星实时数据传输及应用研究“整个项目的功 能模块图如下: 卫星实时数据卫星实时数据 传输传输 信息采信息采 集集 数据安数据安 全传输全传输 Web 发布发布 3.1 整个项目系统功能模块图 图中加深的模块是我研究设计的部分。主要是将采集到的数据传输到服务器, 数据传输之前首先对要传送的数据进行加密,以防止数据的泄漏。还要对数据进 行压缩操作,减少传输负担。传输过程中有状态监视,将数据传输的情况告诉电 脑操作员。当数据传输到服务器时,服务器要对数据进行解压、解密、数据识别, 根据数据的格式将数据进行拆分,最后将处理后的数据存到数据库。 3.1.1 系统功能模块图 模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模 块合起来组成一个整体,可以完成指定的功能,满足问题的要求。 基于安全机制的数据传输系统整体上由两个大的功能模块组成,分别是客户 端和服务器。系统的功能模块图如下图所示。 大庆石油学院本科毕业设计(论文) 10 图 3.2 系统功能模块图 3.1.2 系统程序流程图 流程图主要是指表述工作流程的框图,它能以图形方式有条理地表达工作流 程。服务器端程序流程图: 设 置 运行 接收数据 开 始 失败 成功 成功 存储数据 图 3.3 服务器程序流程图 客户端 配 置 数 据 传 输 状 态 监 视 服 务 器 配 置 数 据 库 配 置 接 收 数 据 状 态 监 视 服务器 基于安全机制的数 据传输系统 处 理 数 据 结 束 大庆石油学院本科毕业设计(论文) 11 客户端程序流程图: 图 3.4 客户端程序流程图 3.1.3 数据库表格设计 1)用户信息表结构,此表包括用户名和登录的密码,记录的是最近正在传 输数据的用户名称和密码。状态监视模块将查询这个表,通过这个表的内容来显 示当前正在连接的客户端信息。 表 3-1 用户信息表结构 字段名称字段类型字段大小说 明 usernameChar20合法用户的登录名称 usercodeChar20合法用户的登录密码 2)用户数据表结构,此表的表结构根据用户给出的参数建立。通过此表工 作人员不仅可以把实时获取的井场传来的数据进行各种操作,作为历史资料将它 保存,对以后工作人员查阅和分析也是非常方便的。下面举一个简单的数据表例 子来描述数据表结构。 表 3-2 用户数据表结构 字段名称字段类型字段大小说明 usernameChar20合法用户的登录名称 dateChar20合法用户的登录日期 timeChar20合法用户的登录时间 ntpfloat14合法用户传输的数据 开 始 连接 设 置 结 束 失败 成功 传输数据 大庆石油学院本科毕业设计(论文) 12 - - - 3)传输过的数据的用户的历史记录,当客户端与服务器建立连接时,用于 判断数据库中是否已经有这个客户端的数据表,如果没有则按照模版表新建一个 与这个客户端对应的数据表存储该客户端的实时数据。 表 3-3 传输过的数据的用户的历史记录 字段名称字段类型字段大小说明 usernameChar20登录过的合法用户的历史记录 3.1.4 总体设计 基于安全机制的数据传输系统的主要功能是:将各个井场采集到的数据经过 加密、压缩后传输到服务器,之后再进行解压解密,整理后将数据存储到数据库 中。本系统包括以下 2 个主要的功能模块: 1)客户端: 该模块负责将数据传输到服务器。首先客户端将采集到的数据整理成一定的 格式,便于服务器识别,还要进行加密、压缩,确保数据的传输的安全和减轻系 统数据传输的负担,在数据传输之前必须与服务器建立连接,确定与服务器连接 上之后再开始传输数据。传输的过程中有状态监视,保证数据传输状态随时被工 作人员掌握。 2)服务器: 该模块的功能是接收从客户端传来的数据,然后将数据进行解压、解密,最 后把数据按照一定的格式进行拆分,存储到数据库。 3.2 系统安全性设计 任何系统都有安全性方面的考虑,本系统也不例外,而且安全是本系统中的 重要部分,为了保证传输过程中数据的安全性,本系统的安全性设计如下: 1对传输的数据进行加密操作。数据加密是保证数据传输安全的最可靠的 保证。本系统采用 AES 加密算法,AES 是一个新的可以用于保护电子数据的加 密算法。明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用 128、192 和 256 位密钥,并且用 128 位(16 字节)分组加密和解密数据。与 公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。 通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结 构,在该循环中重复置换和替换输入数据。加密之后,服务器最初接收的是加密 之后的乱码数据,再通过解密就可以还原到原来的数据。用于 AES 加密算法的 大庆石油学院本科毕业设计(论文) 13 所有的操作都是可逆的,因此解密算法本质上是加密的所有操作的倒转。 2对传输的数据进行压缩操作。数据压缩是为了缓解系统传输数据时的压 力,提高传输效率,同时间接的保证了数据的安全传输。本系统采用 ZLIB 压缩 算法,ZLIB 压缩算法是一种无损压缩算法,是对 GZIP 压缩算法的一种改进,它 去掉了压缩文件时包含的一些冗余信息,来提高对缓冲区数据的压缩速度。 大庆石油学院本科毕业设计(论文) 14 第 4 章 系统的详细设计与实现 4.1 界面设计及功能说明 界面是人机交互的窗口,一个好的系统不仅应提供强大的功能,好的界面也 是其中的一部分,好的界面能够给用户清新的,心旷神怡的感觉,而且通过界面, 用户也能够知道该系统的功能,更重要的是易操作性,用户在面对主界面的时候, 应该非常清楚去干什么,因此界面设计是非常重要的,本系统的界面设计不是很 复杂,下面来介绍一下。 4.1.1服务器端主界面 4.1 服务器主界面图 由图4.1可以看到服务器两个功能模块,它们是服务器的系统配置、状态监视。 在工具栏上分别由系统设置和状态监视的快捷键以及运行、暂停、停止按钮。在 服务器界面上可以看到客户端加密压缩后传过来的数据和服务器整理后的客户端 原始数据。 4.1.2服务器的系统配置界面 服务器的系统配置是服务器建立连接之前必须进行的一项操作,这样客户端 能跟服务器建立起连接,进行后来的 重要操作。服务器的系统设置界面参见图 4.2 运行 暂停 停止 大庆石油学院本科毕业设计(论文) 15 图 4.2 服务器配置界面 该界面操作流程很简单,先输入服务器地址和端口号,点击“保存”之后, 信息将被写入系统的配置文件,显示保存成功后,点击“退出”关闭配置界面。 4.1.3数据库的系统配置 数据库的系统配置也是在数据传输之前操作,这样能使传来的数据能通过指 定的表格保存起来。数据库的系统配置界面参见图 4.3 图 4.3 数据库配置界面 数据库界面操作也不复杂,先通过“查找”找到数据库的路径,这时会自动 生成一个数据库连接串。点击“确定”后信息也同时被写如配置文件,点击“退 出”关闭该界面。 大庆石油学院本科毕业设计(论文) 16 4.1.4 服务器端状态监视界面 通过服务器端状态监视可以知道哪个客户端正在与服务器连接,及时做 出连接和断开报告。服务器端状态监视界面参见图 4.4 图 4.4 数据库状态监视界面 当有客户端与服务器连接时服务器端状态监视就会自动的出现客户端的名称 等信息。 4.1.5 客户端主界面 大庆石油学院本科毕业设计(论文) 17 图 4.5 客户端主界面图 由图4.5可以看到,客户端有三个功能模块,是客户端的系统配置、数据传输、 和状态监视。客户端进行的操作都是从这里开始的。 4.1.6 客户端配置界面 图 4.6 客户端配置界面 客户端系统配置是在客户端与服务器建立连接之前必须进行的一项操作,这 样客户端才能跟服务器建立起连接,进行数据传输。客户端系统配置的操作是: 依次输入客户端名称、客户端密码、服务器地址、服务器端口号,点击“保存” 后退出即可。 4.1.7 客户端数据传输界面 客户端的数据传输是系统的重要部分,它开始于客户端与服务器正常连接之 后,在数据传输之前要进行数据的加密和压缩操作,这是数据安全传输的保证。 数据传输时有状态监视。 大庆石油学院本科毕业设计(论文) 18 图 4.7 客户端数据传输界面 客户端数据传输操作方法是:在定时时间框中输入传输的时间间隔,然后将 按照一定格式整理后的数据输入到传输数据框中,之后点击“传输”按钮进行数 据传输,在传输的过程中系统的状态监视正式发挥作用。当点击“停止”时系统 会停止数据的传输。 4.1.8 客户端状态监视界面 通过客户端状态监视可以了解客户端是否与服务器建立了连接,数据是否正 在传输。客户端状态监视界面参见图 4.8 图 4.8 客户端状态监视界面 只要客户端正在运行,客户端与服务器是否建立了连接和数据是否正在传输 都会在这得到答案。 4.2 实现原理及关键技术 4.2.1 系统实现的原理 计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的 TCP/IP 和 UDP 协议。TCP 和 UDP 协议都非常复杂,尤其是 TCP 协议,为了保 证网络传输的正确性和有效性,必须进行一系列复杂的纠错和排序等处理。 Socket 是建立在传输层协议(主要是 TCP 和 UDP)上的一种套接字规范,最初 是由美国加州 Berkley 大学提出,它定义两台计算机间进行通信的规范(是一种 编程规范) ,如果说两台计算机是利用一个“通道”进行通信,那么这个 “通道” 的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使 大庆石油学院本科毕业设计(论文) 19 得任何两台安装了 TCP 协议软件和实现了套接字规范的计算机之间的通信成为可 能。 利用标准的 Socket 的方法,可以同任何平台上的 Socket 进行通信;利用其 扩展,可以更有效地实现在 Windows 平台上计算机间的通信。在 Delphi 中,其 底层的 Socket 也应该是 Windows 的 Socket。Socket 减轻了编写计算机间通信软 件的难度,但总的说来还是相当复杂的。 本系统就是利用程序的接口,将采集到的数据转换到预先设定的数据格式, 发送到基地服务器。在客户端通过 TClientsocket 这个“通道”的一些触发事件和 函数实现发送数据的功能,在服务器端通过 TServersocket 中的函数和事件等实现 数据的接收。同时在程序中还应编写加密、压缩以及解压、解密函数,在数据传 输之前调用加密和压缩函数,数据接收之后调用解压和解密函数。 4.2.2 几个重要的概念 1SOCKET:从概念上理解 socket 的使用网络编程中最常见的是客户/服务 器模式。以该模式编程时,服务端有一个进程(或多个进程)在指定的端口等待 客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的 数据交换方法和格式进行数据传输。客户端在需要的时刻发出向服务端的连接请 求。 2TClientSocket:TClientSocket 类是客户端的套接字部件,它由 TCustomSocket 类继承而来。该类的实现位于单元文件” scktcomp.dcu”中. TClientSocket 类负责管理 TCP/IP 客户的套接字连接。 在窗体或数据模块中添加一个 TClientSocket 部件将把应用程序转换为 TCP/IP 客户。TClientSocket 部件指定了到 TCP/IP 服务器的连接,并在该连接打 开时管理之,在应用程序终止时关闭之。 3TServerSocket :TServerSocket 类是客户端的套接字部件,它由 TCudtumServerSocket 类继承而来。该类的实现位于单元文件 “scktcomp.dcu” 中。TServerSocket 类负责管理 TCP/IP 服务器的套接字连接。 在窗体或数据模块中添加一个 TServerSocket 部件将把应用程序转换位 TCP/IP 连接请求,并在接收到连接请求时建立连接7。 4AES 算法:着对称密码的发展,DES 数据加密标准算法由于密钥长度较小 (56 位),已经不适应当今分布式开放网络对数据加密安全性的要求, 尽管人们对 AES 还有不同的看法,但总体来说,AES 作为新一代的数据加密标准汇 聚了强安全性、高性能、高效率、易用和灵活等优点。AES 设计有三个密钥长度: 大庆石油学院本科毕业设计(论文) 20 128,192,256 位,相对而言,AES 的 128 密钥比 DES 的 56 密钥强 1021 倍。AES 算法主要包括三个方面:轮变化、圈数和密钥扩展。本文以 128 为例,介绍算法 的基本原理;结合 AVR 汇编语言,实现高级数据加密算法 AES8。 AES 是分组密钥,算法输入 128 位数据,密钥长度也是 128 位。用 Nr 表示对一 个数据分组加密的轮数(加密轮数与密钥长度的关系如表 1 所列) 。每一轮都需 要一个与输入分组具有相同长度的扩展密钥 Expandedkey(i)的参与。由于外部输 入的加密密钥 K 长度有限,所以在算法中要用一个密钥扩展程序(Keyexpansion)把 外部密钥 K 扩展成更长的比特串,以生成各轮的加密和解密密钥。 AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于 加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数 字信息的方法。本文展示了 AES 的概貌并解析了它使用的算法。包括一个完整 的 C#实现和加密.NET 数据的举例。在读完本文后你将能用 AES 加密、测试基于 AES 的软件并能在你的系统中使用 AES 加密。 美国国家标准与技术研究所(NIST)在 2002 年 5 月 26 日建立了新的高级数据 加密标准(AES)规范。本文中我将提供一个用 C#编写的的能运行的 AES 实现, 并详细解释到底什么是 AES 以及编码是如何工作的。我将向您展示如何用 AES 加密数据并扩展本文给出的代码来开发一个商业级质量的 AES 类。我 还将解释 怎样把 AES 结合到你的软件系统中去和为什么要这么做,以及如何测试基于 AES 的软件。 AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES 是一 个迭代的、对称密钥分组的密码,它可以使用 128、192 和 256 位密钥,并且用 128 位(16 字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称 密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数 与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换 (permutations )和替换(substitutions)输入数据 。 5Llib 算法: Zlib 压缩算法是一种无损压缩算法,是对 GZIP 的一种改进, 去掉了压缩文件时包含的一些冗余信息,来提高对缓冲区数据的压缩速度。zlib 是很多应用程序都在使用的压缩库,可提供数据压缩/解压例程。 6INI 文件是一种配置文件 ,很多软件在第一次运行时也会生成一个 INI 文件,里面有程序的初始化信息。INI 文件是 windows 的系统配置文件,统管 windows 的各项配置,一般用户就用 windows 提供的各项图形化管理界面就可实 现相同的配置了。INI 文件允许有多个节点,每个节点又允许有多个关键字, “=” 后面是该关键字的值(类型有三种:字符串、整型数值和布尔值。其中字符串存 贮在 INI 文件中时没有引号,布尔真值用 1 表示,布尔假值用 0 表示) 。注释以分 大庆石油学院本科毕业设计(论文) 21 号“;”开头。 4.2.3 基本概念在系统中的应用 1 Socket 是客户端和服务器通过网络连接的“窗口” ,所以 Socket 在客户 端和服务器系统中发挥着重要的作用。服务器通过 Tserversocket 组件打开与网络 连接通道,客户端通过 Tclientsocket 组件打开与网络连接通道,客户端和服务器 通过网络作为媒介连接起来。 2. 一般地,使用 TServerSocket 部件的步骤如下: 在应用程序的窗口中添加一个 TServerSocket 部件; 设置该 TServerSocket 部件的属性:Name 属性用于在程序中访问此部件; ServerType 用于确定服务器端类型为无阻型或线程阻塞型; 设置服务器的主机名或 IP 地址; 设置所要求提供的服务的端口号,或者设置 Service 属性的值以选择服务 类型; 设置 Active 属性的值为 True 或者调用方法 Open 打开连接; 如果接收到 OnClientConnect 事件通知,说明已经有客户连接到服务器上, 与客户交换数据,提供服务; 一般在 OnClientRead 事件句柄中处理客户的请求,做出不同的响应; 完成服务后,调用与该连接相关的 TCustomWinSocke 对象的 Close 方法, 终止连接; 如果接收到 OnClientError 事件通知,进行错误处理,严重的错误甚至需 要关闭网络连接; 要求的服务完成之后,将 Active 属性的值设置为 False 或者调用 Close 方 法关闭连接; 在接收到 OnClientDisconnect 事件通知时进行必要的断开连接前的处理操 作。 3. 一般地,使用 TClientSocket 部件的步骤如下: 在应用程序的窗口中添加一个 TClientSocket 部件; 设置该 TClientSocket 部件的属性:Name 属性用于在程序中访问此部件; ClientType 用于确定客户端类型为无阻型或有阻型; 设置服务器的主机名或 IP 地址; 设置所要求提供的服务的端口号,或者设置 Service 属性的值以选择服务 类型; 大庆石油学院本科毕业设计(论文) 22 设置 Active 属性的值为 True 或者调用方法 Open 打开连接; 如果接收到 OnConnect 事件通知,说明连接已经成功,开始与服务器交 换数据,接受服务器提供的服务; 如果接收到 OnError 事件通知,进行错误处理。例如,如果 ErrorEvent 为 eeConnect,则表示连接错误,服务器可能已关机,可以在此接收到此 事件通知时让用户选择是重新进行连接操作还是取消连接操作。对于其 他错误,应分别进行处理,严重的错误甚至需要关闭网络连接; 要求的服务完成之后,将 Active 属性的值设置为 False 或者调用 Close 方 法关闭连接; 在接收到 OnDisconnect 事件通知时进行必要的断开连接前的处理操作, 例如, 显示用户的连接时间、连接站点的历史列表和致谢等客套话。 4. AES 算法和 Zlib 算法在上面也讲了很多,它们的原理和函数都很复杂,AES 和 Zlib 函数在相关的辅导书中基本上都能看到。在系统中,它们用在数据传输之前和数据接收之后。 在实现时,只要通过编程调用各自的函数即可。 5. INI 文件在系统配置及应用程序参数保存与设置方面 ,具有很重要的作用 。 Delphi 提供了读写 INI 文件的方法 , Delphi 中操作 INI 文件 ,最为简洁 ,这是因为 Delphi 提供了一个 TInifile 类,使我们可以非常灵活的处理 INI 文件。 在 delphi 中 I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼塘行业知识培训课件
- 高铁火车乘车安全知识培训课件
- 济南市2025-2026学年九年级下学期语文期中模拟试卷
- 集安市2025-2026学年九年级上学期语文期末测试试卷
- 高速铁路胀轨课件
- 高速铁路客运概述
- 高速消防员安全知识培训课件
- 电脑知识系列培训课件
- 电脑知识培训材料课件
- 建设工程调规及用地预审服务合同
- 广东能源海洋渔业有限公司招聘笔试题库2025
- 2025至2030全球及中国衍射光学器件行业项目调研及市场前景预测评估报告
- 《AHA2023心肺复苏与心血管急救指南》解读 2
- 2024年西藏公务员行测(C类)真题及答案
- 2025至2030中国猪肉深加工行业市场深度研究及发展前景投资可行性分析报告
- 高血压病与消化系统疾病的综合防治
- (零诊)成都市2023级(2026届)高三高中毕业班摸底测试语文试卷(含答案)
- 海鲜活动促销活动方案
- 管线施工协调管理方案及措施
- 2025至2030中国减薄机市场应用前景及未来投资战略规划报告
- 电力系统风险评估模型-洞察阐释
评论
0/150
提交评论