论文基于socket多线程文本文件处理系统Word文件下载.docx
- 文档编号:17590953
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:40
- 大小:676.67KB
论文基于socket多线程文本文件处理系统Word文件下载.docx
《论文基于socket多线程文本文件处理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《论文基于socket多线程文本文件处理系统Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
关键词:
文本文件,Socket,多线程
ABSTRACT
Withthedevelopmentofscienceandtechnology,especiallythedevelopmentofinformationtechnology,makethehumansocietyintotheinformationage.Thelifeofpeopleworkingrhythmwiththepopularityofthenetworkandtospeedup.Theinfluxofalargeamountofinformation,informationoftheefficientmanagement,efficientwork,sharing,storagebecomepeopletothehottopicofconversation.Inactualwork,inordertoimprovethetransmissionrateandofficeefficiency,alotofinformationistousetheformatprescribedbythepuretextfilestorageandtransmission.Then,basedonthetextfilemanagementmultithreadingSocketsystemappearbecomeinevitable.
Thispaperfirstintroducesthetextfilemanagementsystemofdevelopment,fromthecurrenttextfilemanagementtotheneedsofthebasisofanalysis,combiningprocessorientedlanguageCofthetechnicalfeatures,developmentplatformbasedontheWindowsoftheSocketmultithreadingtextfilemanagementsystem.Accordingtotherequirementsofsoftwareengineering,thispaperintroducedthedevelopmentofthesystemrequirementsanalysisandgeneraldesign,detaileddesign,usethekeytechnology,codingandthewholeprocessofthetestandtheoperationmethodofthesystemwereintroduced.Finallyrealizethedocumentsshow,filecopy,stringsearch,stringinsertfourfunction.Allinall,thisisatheoreticalknowledgeanddevelopmenttechnologyofcombiningthecomprehensivepractice
KEYWORDS:
Textfiles,Socket,multithreading
目录
摘要I
ABSTRACTII
目录III
第1章概述1
1.1课题背景1
1.2课题研究的现状1
1.2.1选择基于多线程Socket的文本文件管理系统的原因2
1.2.2基于多线程Socket文本文件管理系统的实施步骤2
1.3系统研究目标和内容3
1.3.1该系统设计的目标与原则3
1.3.2该系统设计的主要内容3
1.3.3本系统涉及的关键技术4
1.4系统设计的总体规划4
1.4.1总体规划4
1.4.2系统规划图5
第2章需求分析6
2.1功能需求分析6
2.2性能需求分析6
2.3系统基本工作模式图7
第3章概要设计8
3.1系统所用辅助软件介绍8
3.1.1MicrosoftVisualC++6.08
3.1.2SourceInsight3.59
3.2功能模块描述9
3.2.1服务器模块处理基本动作9
3.2.2客户端模块处理基本动作9
第4章详细设计及关键技术介绍10
4.1服务器端详细设计10
4.1.1程序流程图10
4.2客户端详细设计13
4.2.1客户端处理流程图13
4.3关键技术简介13
4.3.1Winsock简介14
4.3.2Socket简介14
4.3.3多线程简介15
第5章系统实现18
5.1实现过程18
5.1.1服务器端实现过程18
5.1.2客户端实现过程21
5.2实现结果25
5.2.1服务器端实现结果25
5.2.2客户端实现结果27
第6章测试31
6.1测试观点的确定31
6.2测试用例的设计和实施31
6.2.1显示模块测试32
6.2.2文件复制模块32
6.2.3文件查找模块33
6.2.4字符串插入模块35
第7章总结36
致谢37
参考文献38
第1章概述
本章的主要内容就是介绍了本人选择该课题的背景。
当今基于多线程Socket的文本文件管理系统的现状以及现在文本文件管理存在哪些问题;
基于存在的问题提出相应的解决方案以及开发本系统的意义,并对系统的整体设计做出相应的规划。
1.1课题背景
文本是海量、异构、分布的文档。
文档内容是人类所使用的自然语言,缺乏计算机可理解的语义。
文本文档都是半结构或无结构的,所以,文本管理面临的首要问题是在某一特定的情况下如何在计算机中合理地表示文本,使之既要包含足够的信息以反映文本的特征,又不至于过于复杂而无法处理或解析。
在浩如烟海的网络信息中,80%的信息是以文本的形式存放的,文本管理是文本内容挖掘的一种重要形式。
文本的表示及其特征项的选取是文本管理、信息检索的一个基本问题,它把从文本中查找到的特征词进行量化来表示文本信息。
从而将它们由一个无结构的原始文本转化为结构化的计算机可以识别处理的信息或者一些具有统计意义的数据信息,即对文本进行科学的抽象,建立它的数学模型,用以描述文本的内层含义和代替文本,使计算机能够通过对这种模型的计算和操作来实现对文本的识别。
由于文本是非结构化的数据,要想从大量的文本中提取出有用的信息就必须首先将文本转化为可处理的结构化形式。
对文本做净化处理,在保证原文含义的基础上,找出对文本特征类别最具代表性的文本特征。
为了解决这个问题,最有效的办法就是通过特征选择、统计。
1.2课题研究的现状
自1997年开始,我国因特网用户呈现几何级数增长。
在实际工作中,为了提高传输速率和办公效率,大量信息都是用规定格式的纯文本文件进行存储和传输的。
目前对纯文本文件的研究主要分为两个方面:
文本解析和文本动态关联性的修改。
1.2.1选择基于多线程Socket的文本文件管理系统的原因
随着信息技术的深入发展,计算机给工作、生活等带来了极大的方便,在极大地提高劳动生产率的同时,给社会带来了无限的商机与财富。
但随着各个企事业单位对计算机使用程度的不断加深,大量的、文本文档的管理和利用成为越来越显著的难题。
尽管每个人都认真的学习了与自己工作、生活相关的软硬件知识,其中的软件的配置文件,硬件管理信息等一些文档都为文本文档;
尽管管理人员花费了大量的精力和时间通过各种方法去管理和维护此类文档,但在实际工作中检索和管理所需文档依旧要花费大量时间。
如何有效、安全的对大量特定的文本文档进行管理和利用成为当务之急。
很多单位或部门在以往的实际工作当中,为了提高传输速率和办公效率,大量信息都是用规定格式的纯文本文件进行存储和传输的。
但由于二次加工的需要,需首先将这些信息按字段存储于数据库当中;
还有的情况是用纯文本文件作为动态参数配置文件,也就是说参数的名称和数量都是变化当中的,之所以选择用纯文本文件进行配置,主要是考虑到部署时的简便和效率的提高。
对于第一种情况进行的处理过程称为文本解析,其目的就是通过对文本内容特征进行识别,提取出有用的字段,将它们存储到数据库当中,实现从文件管理到数据库管理的转换,以便于进行二次加工,以更友好的形式供读者使用,或者进行诸如检索、文本挖掘等更深层次的加工和服务。
第二种情况要复杂一些,不仅涉及到内容特征的识别,有用字段的提取,还要进行动态的关联性的修改,这就需要对整个配置文件的结构分析清楚,找出其唯一性的特征和修改时机。
我们可以根据规定的格式进行文本文件的查找和修改等操作。
把文本配置文件中易出错的点进行排除和修正,还可以通过对有效信息的定位和提取,提高工作效率。
1.2.2基于多线程Socket文本文件管理系统的实施步骤
实施文本文件管理系统是一项复杂的系统工程,整个项目涉及信息系统,统计分析等众多门类的知识。
因此我们除了要选择合适的软件开发工具外还必须按照正确的实施方法才能保证项目得以成功。
文本文件处理项目的实施步骤可分为:
(1)需求分析
需求分析是本系统实施的第一个关键的步骤,在其他活动开展之前必须明确的定义用户对该文本文件管理系统的期望和需求,进一步将用户的需求具体化。
全面、恰当的理解用户的需求,为本系统的设计和实现打下坚实的基础。
(2)概要设计(体系结构设计)
通过对企业和用户需求的分析,建立系统的数据结构和设计数据库,并规划好系统的应用架构,将整个系统划分为适当的模块及模块的组合、运行控制方式,运行时间,确定各个模块的功能、性能、接口。
(3)详细设计
确定各个模块的具体算法,分析确定各个模块内部的数据结构,进一步细化各个模块接口的细节。
如有条件的话可以为每个模块设计一组测试用例。
(4)系统的实现
选择一门恰当的编程语言,按照设计实现该系统的预想内容并对系统进行测试。
(5)用户培训和数据模拟测试
对于开发和使用该文本文件管理系统,最终的使用是相当简单的,只需要点击操作就可针对特定的文本文件进行管理。
(6)系统改进和完善
任何系统的实施都必须是不断完善的,本系统更是如此。
在用户使用一段时间后可能会提出更多的,更具体的要求,这时需要再按照上述步骤对系统进行重构或完善。
1.3系统研究目标和内容
1.3.1该系统设计的目标与原则
基于多线程Socket的本文本文件管理系统设计的主要目的是服务于单位或部门的实际工作,为了提高传输速率和办公效率。
具体做到:
(1)高效率在检索海量内容的文本的时候,能以较高的速度返回结果。
(2)高准确性根据用户的输入进行查询,做到准确,无误,确保结果是高可用的。
(3)高灵活性只要用户所要管理的文件是.txt形式,都可以按照用户的要求把结果保存到指定的位置。
(4)高适应性本系统对用户的所使用的电脑的软硬件要求都不高,且它的体积小,安装、操作简单,决定了本系统的适应性极强,使用面相当广泛。
(5)架构清晰,界面简捷,实用性强。
(6)可用性目标系统功能齐全,能够完全满足业务需求。
1.3.2该系统设计的主要内容
由于本系统采用的是C/S架构,所以在开发本系统的主要内容涉及服务器端和客户端的开发,在这两端由可以划分为以下几大模块:
网络配置、文件显示、文件复制、文件查找、文件插入五大模块。
(1)网络配置
1)客户端创建socket->
地址解析->
连接服务器->
向服务器端发送请求->
接收来自服务器端的结果。
2)服务器端创建socket->
绑定->
监听端口->
接受客户端的请求->
创建线程进行处理->
向客户端发送处理结果。
(2)文件显示显示用户所指定的文本文件的内容,并显示其行号。
(3)文件复制把指定的文本文件复制到指定的文本文件中,并把结果和异常保存到指定的结果文件中。
(4)文件查找在相关的文件中查找指定的字符串,并统计出它出现的位置和总次数,并把结果和异常保存到指定的结果文件中。
(5)文件插入将指定的字符串插入指定的文件中,并把结果和异常保存到指定的结果文件中。
1.3.3本系统涉及的关键技术
该系统综合运用了大学期间学到的一些重要技术,其中的主要技术如下。
(1)VC++6.0的工程构建技术
(2)windows网络编程技术
(3)多线程编程技术
(4)基于C语言的开发技术
1.4系统设计的总体规划
1.4.1总体规划
21世纪是信息量不断扩张的时代,如何能在数据的海洋提取出所需要的部分,让有效数据为我们的生活带来便利已经成为一个热门话题。
Internet技术得到持续、猛烈的发展,使得计算机在人们的生活中占有很重要的地位,对计算机的应用已经不局限于基本的使用,而是更深层次的开发和利用。
指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。
就是因为它有指针,可以直接进行靠近硬件的操作。
C语言具有强大的控制结构、快速、紧凑、可移植性强等特点。
本次毕业设计---基于多线程的Socket文本文件管理系统,是在WindowsXP平台下,以MicrosoftVisualC++6.0为开发平台,SourceInsight3.5、UltraEdit等软件为辅助,采用Socket技术和多线程技术开发的。
在本论文中全面详细地介绍了该文本文件管理系统系统的设计方案,第1章概述,包括本次选题的背景、课题研究的现状,以及系统规划等的介绍。
第2章需求分析。
第3章开发环境介绍,包括在VC6.0建立工程并把一些相应的类库加载到工程中的具体细节等。
第4章详细设计及关键技术介绍,包括系统所用的软件介绍,功能模块设计等。
第5章系统实现,主要是编码的实现;
第6章系统测试与调试,介绍了开发系统中所遇到的各种问题以及解决方式。
第7章总结和展望,介绍了开发过程中的心得体会以及以后所要进行的工作。
1.4.2系统规划图
图1-1系统模块设计
第2章需求分析
需求分析是进行系统开发的基础。
通过需求分析,可以明确用户需求,确定系统功能。
具体而言,本文将从如下几个方面进行了分析。
2.1功能需求分析
功能需求主要是为了明确所开发的软件必须具备的功能。
文本文件是日常工作和生活中常用的文件格式,也是许多应用软件的配置文件的格式。
文本文件管理系统应当有助于用户对文本文件进行日常应用的操作如:
显示,复制,增加,删除、查找等操作,还要向用户公开和保存运行后的结果。
因此,文本文件管理系统应当满足以下的需求:
(1)显示指定文本文件的内容
显示文本文件的内容并为其添加行号,提示用户有效信息的所在行数,更能明确要查找信息的位置。
(2)复制文件
把用户指定的文件复制到另一指定的文件,实现文件数据备份。
(3)向文件中插入字符串
将用户指定的字符串插入到文件中的指定位置。
(4)查找
在指定的文件中查找字符串(长度<
80),并统计出该字符串出现的位置和总的次数。
此匹配为精确匹配,区分大小写,不支持统配符匹配,包含匹配,非全单词匹配。
(5)结果和message一览表
以上所有功能(注
(1)-(4)中)在运行过程中发生的异常情况,均要输出异常提示message,并写入到结果文件中,作成异常message一览表。
2.2性能需求分析
该系统所面临的使用人群和使用场合决定了该系统应满足以下几个方面的性能要求。
(1)正确性
根据文本管理系统的运作流程的设计,流程中的每个步骤在系统中都必须有所体现,保证程序的正确性。
(2)灵活性
系统应具有较灵活的操作性,用户可以根据自己的不同情况进行功能的选择,让程序更灵活,方便,高效。
(3)稳定性
系统应具备长期持续工作的能力,使服务器保持开启状态,避免因系统引起的死机现象。
(4)安全性
有良好的并发控制操作,避免因系统并发操作对文件造成损坏。
同时保证文本信息的安全性,不出现内容泄露、串改等意外。
(5)高效性
由于本系统是C/S架构、多线程的,可以有多个用户同时对服务器端进行访问,就要求服务器有高效的处理速度,尽可能的让每个用户都能舒心的使用该系统。
2.3系统基本工作模式图
图2-1系统基本工作模式图
第3章概要设计
3.1系统所用辅助软件介绍
3.1.1MicrosoftVisualC++6.0
MicrosoftVisualC++6.0,作为一种C/C++语言的集成开发环境(IDE),产生VC的最早的根源其实要追溯到DOS时代的Borland公司,当初Borland公司开发的TurboPascal和TurboC让程序员们深刻感受到了把编辑器和编译器集成在一起的IDE是多么的方便,微软也看到了这一优点,于是相继开发了QuickC和MicrosoftC/C++等多个DOS版本的C/C++集成开发工具。
随着Windows的不断成熟,微软决定放弃DOS下的开发工作,正式推出了Windows下的VisualC++1.0,早期的VC功能并不什么强大,使用起来也不方便,1.0版和1.5版都是16位编程工具。
VC的革命性改变得益于Windows95的推出,从VC2.0开始,微软又放弃了16位编程,以后的VC都只用于32位编程开发,为了与MFC类库的版本号保持一致,微软跳过了版本3,直接推出VC4.0,这个版本及修订版4.2的部分界面风格一直被保留到最新的VC6.0中。
从VC4到VC6,VC的各种功能不断增强,MFC类库的内容也越来越丰富,现在利用VC开发应用程序已经是一件相当轻松的事情了。
VC是一个功能强大的、灵活性好和完全可扩展的Windows开发系统。
它被用来创建文字处理器、电子数据表格、多媒体、网络。
任何在Windows下能做的事,都可以用VC来完成。
如果VC不能直接支持某种特性,那它一定会在Windows动态链接库或在定制控件形式中得到支持。
VC6.0具有强有力的Internet支持,MFC类库封装了Win32Internet(WinInt),使得Internet编程更为容易,WinInet使Internet成为应用程序的一部分,并简化了对Internet服务器的访问。
WinSock规范给应用程序开发者提供了一套简单的API,而且制定了网络规范。
WinSock(Windows套接字)是WOSA的一部分。
WinSock规范对Windows进行了专门的扩展,定义了二进制网络编程接口。
套接字是通信用卡端点的抽象,它提供了通过网络发送和接收数据的机制。
MFC提供了有几个类来支持套接字编程。
其中的CasyncSocket类封装了WinSockAPI,而从CasynSocket派生的Csocket类则提供了更高一级的抽象来简化网络通信编程。
Windows编程是异步的,即许多不同的事情同时发生。
CasynSocket类采用函数发送请求后立即返回,当请求完成时发送一条Windows消息。
例如,通过面向连接的Socket向另一个Internet站点发送一个字符串,可调用Socket函数Send()。
Send()函数并不需要发送任何数据,它只是试图发送,并且当Socket没有准备好或正在等待时立即返回。
Socket准备好后,将向Socket窗口发送一条消息,Socket窗口得到消息后再将数据发送出去。
这就是异步Windows编程。
3.1.2SourceInsight3.5
SourceInsight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。
SourceInsight能分析源代码并动态维护它自己的符号数据库,并自动地显示有用的上下文信息。
SourceInsight不仅仅是一个强大的程序编辑器,它还能显示referencetrees,classinheritancediagrams和calltrees。
SourceInsight提供了最快速的对源代码的导航和任何程序编辑器的源信息。
SourceInsight提供了快速和革新的访问源代码和源信息的能力。
SourceInsight能编辑并同时分析源代码,提供实用的信息并立即进行分析。
3.2功能模块描述
3.2.1服务器模块处理基本动作
(1)创建socket。
(2)接受客户端的请求,显示请求的客户端的Ip。
(3)根据用户不同的请求,新建线程。
(4)按照文本文件每行的内容进行处理:
显示、查找、复制、插入。
(5)将处理的结果打包并发送至客户端。
3.2.2客户端模块处理基本动作
(1)创建socket。
(2)接受用户的输入并进行参数检查。
(3)连接服务器。
(4)将合法的数据打包发送至服务器端。
(5)解析从服务器端发回来的结果包,并显示结果。
(6)把处理结果写入结果文件,保存。
第4章详细设计及关键技术介绍
C/S(Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种。
C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。
功能的分布在于减少计算机系统的各种瓶颈问题。
C/S模式简单地讲就是基于企业内部网络的应用系统。
与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。
4.1服务器端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 基于 socket 多线程 文本文件 处理 系统