又是一年一度毕业季,前阵子经常有一些师弟来问我,毕设选题应该怎么选,毕业论文应该怎么写,感觉大家都挺迷茫的,那我就跟大家稍微分享一下我自己的经验吧。首先声明,此文章针对小白,为那些没有写过论文并且不知道如何下手的同学,大神莫喷哈。关于计算机基础薄弱的同学如何快速的写一篇毕业论文,我个人的建议是:做工程性的毕业设计和论文,别选算法类型的论文,并不是因为算法文章不好水过去,其实算法的文章也非常好水过去,但是有风险,当你做的非常水的时候,例如直接从github摘抄一个算法然后把算法的公式哔哩吧啦讲了一遍,老师都是一眼就看明白的,他想放过你可以让你过,但是假设他心情不好或者跟你关系一般想要为难你,那就比较难搞了。而且选一个算法方向的毕业设计并且水过去的话,对你本身来说是没有任何帮助的。那选择工程性的毕业设计和论文有什么好处呢?真的可以学的到东西,对于大部分想找开发岗位的同学的就业来说也是有帮助了。文章比较好写,逻辑非常明确,不用担心凑不到字数。说了这么多,下面就来讲如何写一篇关于计算机的论文(工程性的设计)。首先是选题,一般老师都会提供若干个选题给你选,其中必然包括几个“XX系统的设计与开发”,这样的选题就是符合我们前面的假设和预想的。盘他!假设我现在选了一个题目是“基于SSM的XX网上商城的设计与开发”。选完题目就面临着一个问题:是先做开发还是先写文章,或者是一边写一边开发。我的建议是一边写一边开发。原因是:开发的过程是需要写一些文案的,比如需求分析、数据库的表结构的关系、整个系统的交互逻辑等等。而这些文案是可以出现在我们的论文当中的。那接下来就说一下如何开发和写文论,当然某些开发过程我只能粗略的说一下。摘要:这是所有论文的第一个小title,说他恶心有时候也恶心,说他简单也是蛮简单的。那么这一部分究竟是要写什么的?由于这一部分需要展现出做这个系统的必要性、开发这个系统的实现方式、系统的功能和系统的作用。所以可以这样写:随着中国经济的高速发展以及网络技术的普及,互联网的技术得到全面的发展,中国的各行各业都在互联网的影响下发生了变革。互联网的快速发展催生了许多产业,其中最具代表性的便是电子商务,电子商务使得企业和客户的营销关系由实体店销售准换为网络电子商务营销。马云曾说:“让天底下没有难做的生意”,越来越多的店家选择在网上开店,使得交易不再限制于天南地北,同时也大大降低了店家的经营成本,在提高收益的同时,也方便了客户,本课题正式在这种背景下应运而生。本课题介绍了“基于SSM的XX网上商城”的开发环境、需求分析、界面设计和数据库设计以及涉及到的框架。本系统采用了B/S架构,使用了Java、HTML、JS等语言,使用了主流的后台开发框架SSM(spring+springMVC+Mybatis),以及采用了开源的轻量级数据库Mysql进行开发,为网络商城提供了前端展示和后台管理的模块,实现了注册、登录以及购物等主要功能,为消费者提供了便捷快速的购物体验,以及为提高了店家的销售效率。关键字:网上商城,SSM,Java,HTML,JS,MySQL(关键字一般就是把摘要中提及到的关键性技术提取出来,让阅读者一目了然,知道哪些是重点)Abstract:(英文摘要建议谷歌翻译,然后把明显错误的地方修改一下即可)第一章:引言这一部分也是比虚的,其实随便扯一扯就可以了,一般包含以下几部分背景研究内容。其中背景主要讲一些关于社会发展的趋势导致了一些什么问题,而这些问题又应该如何去解决,多说几句,写到两三百字即可。研究内容就是针对上述的背景我们如何进行改进。细心的同学可能会说,感觉跟摘要有些重复。是的!这两部分内容其实是挺重复的,但是没关系,不过不要使用完完全全一样的话去描述,因为最后论文查重的时候会对文章自引用进行查重的。这一部分也是三五百字即可。第二章:系统的开发技术介绍这一部分是需要我们在正式开发之前做好的技术调研,然后对这一部分的技术进行详细的介绍。这一部分我不可能细讲,因为内容太多了,而且对于不同的项目有不同的内容,在查阅资料的过程也是提升技术的一个重要的环节,你可以真真切切的了解到开发一个工程是需要哪方面的知识,因此我就对我所选的这个课题应该使用到的技术栈进行一下介绍,也算是抛砖引玉,各位同学可以根据自己的实际情况进行撰写。开发不同的系统虽然涉及到的业务逻辑不同,处理方式也千差万别,但是本质上都是一样的,都是前端界面通过服务器跟数据库进行数据交互的一个过程,涉及到的内容也无非就是前端、后台和服务器。但是有一个需要注意的点,就是不要把HTML、JAVA等使用的语言介绍也给堆在这里,老师没细看还好,细看还是会显得太水字数了,记住,写工程性的课题不怕没字数。那问题来了,语言介绍不给写那应该些什么呢?应该写涉及到的框架、使用的工具。这些就够了,随随便便就几千字了。下面举例简单说明一下。 前端强调一下,不要把HTML、CSS等一下前端的规范展开来写,可以轻描淡写,但篇幅不能过多。这里可以写前端框架的使用,比如使用npm管理包(可以介绍一下npm以及在工程中的使用)、vue的使用(同样可以介绍vue框架以及应用)、element(element以及使用他的好处)等等。也希望同学在做毕设的过程中要真的去了解这些技术并且去使用它,相信我,看完再去用你的技术会有质的飞跃。 后台这一部分是重点,对于本课题来说,标题就写了是基于SSM的。对于这个java框架并不熟悉的同学来说建议先去查一下资料,而且很多同学会有疑问,使用技术框架的目的就是为了让开发更加的便捷和快速,但是为什么我们自己在开发的过程中会感觉好像变得更加复杂?很负责任的告诉你,是正常的。因为框架不仅会帮我们封装好一些常用的方法,而且会考虑到更新迭代以及代码可读性等等的一系列的问题,某些规定和配置我们之所以没有感受到他的好处是因为这种校园内的开发并不涉及生产问题,也不会有很多的更新迭代,更加不会考虑到代码的可读性。例如spring的工厂,一开始使用的时候很多同学会觉得为什么我new一个类的时候还要去改配置文件,直接new不香吗?直接new是很香,但是你考虑到真正去工作的时候,假设你要改类的一些关系的时候,还要去改代码,当工程一大,代码去哪里找呢?一个一个文件看吗?显然是非常不可取的,效率非常低,这个时候配置文件的优势就发挥出来了,直接修改配置文件,不需要更改代码,耦合性也大大的降低。好像跑题了,说了这么多就告诉同学们,要沉住气,理解框架这样设计背后的原因,对大家自身技术的提高非常的有帮助!那这一部分我们就可以介绍spring(包括spring的IOC、spring的工厂、spring的AOP等等,并且可以在论文中强调如何应用到我们的系统当中)、springMVC(这一部分可以讲解srpingMVC作为一个连接前端和数据库的工具在实际工作过程中的具体流程,也可以讲述springMVC的分层的概念以及如何应用)、Mybatis(包括跟JDBC的关系、mybatis依赖的配置、使用到的接口、动态代理、一级缓存和二级缓存以及延迟加载等等的一些技术问题) 服务器和数据库这一部分可以介绍一下用来搭建服务器的工具和所使用的数据库。假设你是使用了云服务器来搭建了,可以详细介绍一下云服务器的搭建过程包括防火墙、端口等等内容。一般服务器使用tomcat进行搭建,可以把tomcat介绍一下并且介绍一下tomcat是如何监听和解析用户请求的具体流程。一般小型的项目采用MySQL作为数据库,可以详细说一下选择MySQL的原因,比如相对于Oracle的好处。可以介绍一下MySQL数据库的一些特点包括分页、是否支持事务等等。第三章:需求分析这一部分是针对具体的业务场景来分析需要开发哪些功能,这一部分可以让你感受一下产品经理的职责,只不过不需要跟程序员对接,因为你自己就是程序员哈哈。一般来说分成两部分就可以了,一部分是对于前端的业务流程,另一部分就是后台服务器的业务流程,可以使用一些软件来绘画流程图,想图个方便可以直接使用word自带的图形进行编写,也不至于难看,就比较简约。想做的好看点的话个人推荐使用xmind,非常简单,可以快速做出美观的流程图。如果没有什么思路,那前端就按照着使用者的逻辑去写,比如用户需要注册、登录、找回密码、购物、退货等操作,那后端就对应着这些前端逻辑需要有相应的业务处理。个人感觉这一部分比较好写,就不再赘述。第四章:系统的设计和实现这一部分可以挑选一些有代表性的功能出来细讲,有些同学可能会有疑问,论文可不可以贴代码呢?答案是可以的。但是我个人的建议是贴伪代码,不要把你写的长篇大论的代码全部放进去,不好看而且逻辑混乱,应该做的是把代码抽取为伪代码,贴代码的目的是为了让阅读者清晰地读懂你是如何实现这个功能的,他并不会在意你的语法你的命名。下面列举若干个可以写的内容,并不限于此。 SSM框架的整合。如何使用Spring来整合并且管理SpringMVC和M 客户登录状态保存的实现。这一部分可能会涉及到cookies,sessions以及http报文解析等等,都可以详解。 后台商品管理的功能。这一部分可以根据管理员的后台管理功能进行描写。 商品搜索功能。可以涉及到数据库的模糊搜索。 数据库表格的设计。可以体现数据库表格设计的时候如何遵守三范式。 可以写在开发过程中遇到的一些疑难杂症。 可以写开发过程中使用到的一些比较具有亮点的语言特性。比如java的多线程、lambda表达式。又比如实现注册功能的时候使用的正则表达式。……等等数不胜数。第五章:运行结果这一部分非常好写了。截取一些关于你的系统的界面并且介绍一下功能,尽量说详细点,就ok了。第六章:总结以及展望这一部分也是比较水的一部分,但是也希望同学们认真写一写。可以写一下你开发这个项目的过程中学习到了什么,可以是XX技术,也可以是艰苦奋斗的精神……。展望可以写有望发展成另外一个淘宝……开玩笑开玩笑,总之劈里啪啦凑个几百字即可。参考文献把你开发过程中参考过的文章、论文贴进去之后,往往会发现参考文献不够,太少了!那怎么办呢?那就贴一些关于使用的技术的文章或者参考手册咯,虽然大部分是没看过的,但是还是希望大家可以多少看一看(正义之气跃然纸上)。去知网查找参考文章然后添加到你的参考文献是非常方便的,只需要找到对应的文章并且选择“引用”功能,即可自动生成引用的文字,直接复制到你的论文中。致谢第一步,感谢你的导师,感谢你的院领导,感谢你的校领导。说的好听后可能答辩的时候不会太为难你……然后你要感谢你的家人你的舍友你的朋友或者是你家的狗(开玩笑),都可以的,这一部分又轻轻松松两百字。至此,一篇论文就写完了,是不是觉得挺简单的呢?呸!简单个鬼,明明就这么多字,还要看这么多资料,还要自己写代码。确实,要认真完成不是一件简单的事情。但是我前面强调过了,这是针对那些基础一般但是想学东西的同学。当你独自完成这个课题后,你会发现自己的东西简直太多太多了。而且春招即将来临,许多问题在你面试的过程中也会遇到,而且也不至于跟面试官说我什么项目都没做过……
计算机学术论文是学术论文的一种。计算机学术论文的一般格局是:(一)题目。题目是论文的窗户,它应是论文内容的高度概括。好的论文题目能大体反映出作者研究的方向、成果、内容、意义。题目引用语要确切、简洁、精炼、通俗和新颖。确定题目时,题目要专一,开掘要透,道理要深,立意要新。(二)内容提要。就是将文章的主要内容简要地概括出来,使读者了解论文概貌,以确定其有无阅读价值。提要以二三百字为宜,不要过长。一般较短的论文(三千字以下)可不写提要。(三)绪论(引论、引言、前言、序言)。概述研究该课题的动机,目的、意义和主要方法,指出前人或旁人做了哪些工作,进展到何种程度,哪些尚未解决,说明自己研究这个问题的主要成果和贡献。这部分占比例要小,起简介作用。文字要简洁、明确、具体,使人看到绪论,就知道本文的基本价值。(四)本论(正文)。这部分占论文的绝大部分篇幅,具有极其重要的地位,是作者表达研究成果的部分。这部分的关键在于论证,即证明作者所提出的论题。这里包括课题的提出,对解决问题的设想、研究过程(研究中出现的问题及解决问题的方法。手段、主要数据)、研究结果等。写这部分要注意理论的运用和逻辑推理,注意段与段之间的过渡衔接,注意主次,抓住本质。如果内容多,可加小标题。也可使用由大到小的不同序码。(五)结论。是整个研究的结晶,是论证得到的结果,即对本论进行分析、比较、归纳、综合、概括而得出的结论,审视整个课题的答案。写结论时,措词要严谨,逻辑要严密,文字要简明具体,使读者看到作者的独到见解。不得使用“大概”、“可能”之类含混不清的字眼。不能得出明确结论时,要说明有待进一步探讨。(六)参考文献。在文章的最后注明写作论文时所参考的文献;引用别人原话或原文时还需注明出处,以便查找。这样做反映作者科学态度和求实精神,表示作者对他人成果的尊重。
???????
毕业论文是教学科研过程的一个环节,也是学业成绩考核和评定的一种重要方式。毕业论文的目的在于总结学生在校期间的学习成果,培养学生具有综合地创造性地运用所学的全部专业知识和技能解决较为复杂问题的能力并使他们受到科学研究的基本训练。标题标题是文章的眉目。各类文章的标题,样式繁多,但无论是何种形式,总要以全部或不同的侧面体现作者的写作意图、文章的主旨。毕业论文的标题一般分为总标题、副标题、分标题几种。总标题总标题是文章总体内容的体现。常见的写法有:①揭示课题的实质。这种形式的标题,高度概括全文内容,往往就是文章的中心论点。它具有高度的明确性,便于读者把握全文内容的核心。诸如此类的标题很多,也很普遍。如《关于经济体制的模式问题》、《经济中心论》、《县级行政机构改革之我见》等。②提问式。这类标题用设问句的方式,隐去要回答的内容,实际上作者的观点是十分明确的,只不过语意婉转,需要读者加以思考罢了。这种形式的标题因其观点含蓄,轻易激起读者的注重。如《家庭联产承包制就是单干吗?》、《商品经济等同于资本主义经济吗?》等。③交代内容范围。这种形式的标题,从其本身的角度看,看不出作者所指的观点,只是对文章内容的范围做出限定。拟定这种标题,一方面是文章的主要论点难以用一句简短的话加以归纳;另一方面,交代文章内容的范围,可引起同仁读者的注重,以求引起共鸣。这种形式的标题也较普遍。如《试论我国农村的双层经营体制》、《正确处理中心和地方、条条与块块的关系》、《战后西方贸易自由化剖析》等。④用判定句式。这种形式的标题给予全文内容的限定,可伸可缩,具有很大的灵活性。文章研究对象是具体的,面较小,但引申的思想又须有很强的概括性,面较宽。这种从小处着眼,大处着手的标题,有利于科学思维和科学研究的拓展。如《从乡镇企业的兴起看中国农村的希望之光》、《科技进步与农业经济》、《从“劳动创造了美”看美的本质》等。
???????
一般都是毕设,先有代码,调试好程序,之后写写你是如何设计这个程序的
计算机(computer / calculation machine)是总称,一般在学术性或正式场合使用。在通常用语中,计算机一般指电子计算机中用的个人电脑。计算机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。它由多个零配件组成,如中央处理器、主板、内存、电源、显卡等。接收、处理和提供数据的一种装置,通常由输入输出设备、存储器、运算和逻辑部件以及控制器组成;有模拟式、数字式及混合式三种类型。
计算机专业毕业论文的写作方法指导一、前言部分前言部分也常用“引论”、“概论”、“问题背景”等做标题,在这部分中,主要介绍论文的选题。首先要阐明选题的背景和选题的意义。选题需强调实际背景,说明在计算机研究中或部门信息化建设、管理现代化等工作中引发该问题的原因,问题出现的环境和条件,解决该问题后能起什么作用。结合问题背景的阐述,要使读者感受到此选题确有实用价值和学术价值,确有研究或开发的必要性。前言部分常起到画龙点睛的作用。选题实际又有新意,意味着你的研究或开发方向对头,设计工作有价值。对一篇论文来说,前言写好了,就会吸引读者,使他们对你的选题感兴趣,愿意进一步了解你的工作成果。二、综述部分任何一个课题的研究或开发都是有学科基础或技术基础的。综述部分主要阐述选题在相应学科领域中的发展进程和研究方向,特别是近年来的发展趋势和最新成果。通过与中外研究成果的比较和评论,说明自己的选题是符合当前的研究方向并有所进展,或采用了当前的最新技术并有所改进,目的是使读者进一步了解选题的意义。综述部分能反映出毕业设计学生多方面的能力。首先,反映中外文献的阅读能力。通过查阅文献资料,了解同行的研究水平,在工作中和论文中有效地运用文献,这不仅能避免简单的重复研究,而且也能使研究开发工作有一个高起点。其次,还能反映出综合分析的能力。从大量的文献中找到可以借鉴和参考的,这不仅要有一定的专业知识水平,还要有一定的综合能力。对同行研究成果是否能抓住要点,优缺点的评述是否符合实际,恰到好处,这和一个人的分析理解能力是有关的。值得注意的是,要做好一篇毕业论文,必须阅读一定量(2~3篇)的近期外文资料,这不仅反映自己的外文阅读能力,而且有助于论文的先进性。三、方案论证在明确了所要解决的问题和文献综述后,很自然地就要提出自己解决问题的思路和方案。在写作方法上,一是要通过比较显示自己方案的价值,二是让读者了解方案的创新之处或有新意的思路、算法和关键技术。在与文献资料中的方案进行比较时,首先要阐述自己的设计方案,说明为什么要选择或设计这样的方案,前面评述的优点在此方案中如何体现,不足之处又是如何得到了克服,最后完成的工作能达到什么性能水平,有什么创新之处(或有新意)。如果自己的题目是总方案的一部分,要明确说明自己承担的部分,及对整个任务的贡献。四、论文主体前面三个部分的篇幅大约占论文的1/3,主体部分要占2/3左右。在这部分中,要将整个研究开发工作的内容,包括理论分析、总体设计、模块划分、实现方法等进行详细的论述。主体部分的写法,视选题的不同可以多样,研究型论文和技术开发型论文的写法就有明显的不同。研究型的论文,主体部分一般应包括:理论基础,数学模型,算法推导,形式化描述,求解方法,计算程序的编制及计算结果的分析和结论。要强调的是,研究型论文绝不是从推理到推理的空洞文章。研究型论文也应有实际背景,也应有到企业和实际部门调研的过程,并在实际调查研究中获取信息,发现问题,收集数据和资料。在研究分析的基础上,提出解决实际问题的、富有创建性的结论。技术开发型的论文,主体部分应包括:总体设计,模块划分,算法描述,编程模型,数据结构,实现技术,实例测试及性能分析。以上内容根据任务所处的阶段不同,可以有所侧重。在任务初期的论文,可侧重于设计实现,在任务后期的论文可侧重于应用。但作为一篇完整的论文应让读者从课题的原理设计,问题的解决方法,关键技术以及性能测试都有全面的了解,以便能准确地评判论文的质量。论文主体部分的内容一般要分成几个章节来描述。在写作上,除了用文字描述外,还要善于利用各种原理图、流程图、表格、曲线等来说明问题,一篇条理清晰,图文并茂的论文才是一篇好的论文。五、测试及性能分析对工程技术专业的毕业设计论文,测试数据是不可缺少的。通过测试数据,论文工作的成效就可一目了然。根据课题的要求,可以在实验室环境下测试,也可以在工作现场测试。在论文中,要将测试时的'环境和条件列出,因为任何测试数据都与测试环境和条件相关,不说明测试条件的数据是不可比的,因此也是无意义的。测试一般包括功能测试和性能测试。功能测试是将课题完成的计算机软硬件系统(子系统)或应用系统所要求达到的功能逐一进行测试。性能测试一般是在系统(子系统)的运行状态下,记录实例运行的数据,然后,归纳和计算这些数据,以此来分析系统运行的性能。测试实例可以自己设计编写,也可以选择学科领域内公认的、有一定权威性的测试实例或测试集。原则是通过所选择(设计)的实例的运行,既能准确反映系统运行的功能和性能,与同类系统又有可比性。只有这样,论文最后为自己工作所做的结论才有说服力。六、结束语这一节篇幅不大,首先对整个论文工作做一个简单小结,然后将自己在研究开发工作中所做的贡献,或独立研究的成果列举出来,再对自己工作的进展、水平做一个实事求是的评论。但在用“首次提出”、“重大突破”、“重要价值”等自我评语时要慎重。七、后记在后记中,主要表达对导师和其他有关教师和同学的感谢之意。对此,仍要实事求是,过分的颂扬反而会带来消极影响。这一节也可用“致谢”做标题。中外文的参考文献应按照规范列举在论文最后。这一部分的编写反映作者的学术作风。编写参考文献要注意:(1)要严格按照规范编写,特别是外文文献,不要漏写、错写;(2)论文内容和参考文献要前后对应,正文中凡引用参考文献的地方应加注;(3)列出的文献资料应与论文课题相关,无关的文献只会使读者感到你的研究目标很分散;(4)选择的参考文献应主要是近期的。
这类范文在计算机科学与应用这本期刊上有很多的,你自己去找找吧
又是一年一度毕业季,前阵子经常有一些师弟来问我,毕设选题应该怎么选,毕业论文应该怎么写,感觉大家都挺迷茫的,那我就跟大家稍微分享一下我自己的经验吧。首先声明,此文章针对小白,为那些没有写过论文并且不知道如何下手的同学,大神莫喷哈。关于计算机基础薄弱的同学如何快速的写一篇毕业论文,我个人的建议是:做工程性的毕业设计和论文,别选算法类型的论文,并不是因为算法文章不好水过去,其实算法的文章也非常好水过去,但是有风险,当你做的非常水的时候,例如直接从github摘抄一个算法然后把算法的公式哔哩吧啦讲了一遍,老师都是一眼就看明白的,他想放过你可以让你过,但是假设他心情不好或者跟你关系一般想要为难你,那就比较难搞了。而且选一个算法方向的毕业设计并且水过去的话,对你本身来说是没有任何帮助的。那选择工程性的毕业设计和论文有什么好处呢?真的可以学的到东西,对于大部分想找开发岗位的同学的就业来说也是有帮助了。文章比较好写,逻辑非常明确,不用担心凑不到字数。说了这么多,下面就来讲如何写一篇关于计算机的论文(工程性的设计)。首先是选题,一般老师都会提供若干个选题给你选,其中必然包括几个“XX系统的设计与开发”,这样的选题就是符合我们前面的假设和预想的。盘他!假设我现在选了一个题目是“基于SSM的XX网上商城的设计与开发”。选完题目就面临着一个问题:是先做开发还是先写文章,或者是一边写一边开发。我的建议是一边写一边开发。原因是:开发的过程是需要写一些文案的,比如需求分析、数据库的表结构的关系、整个系统的交互逻辑等等。而这些文案是可以出现在我们的论文当中的。那接下来就说一下如何开发和写文论,当然某些开发过程我只能粗略的说一下。摘要:这是所有论文的第一个小title,说他恶心有时候也恶心,说他简单也是蛮简单的。那么这一部分究竟是要写什么的?由于这一部分需要展现出做这个系统的必要性、开发这个系统的实现方式、系统的功能和系统的作用。所以可以这样写:随着中国经济的高速发展以及网络技术的普及,互联网的技术得到全面的发展,中国的各行各业都在互联网的影响下发生了变革。互联网的快速发展催生了许多产业,其中最具代表性的便是电子商务,电子商务使得企业和客户的营销关系由实体店销售准换为网络电子商务营销。马云曾说:“让天底下没有难做的生意”,越来越多的店家选择在网上开店,使得交易不再限制于天南地北,同时也大大降低了店家的经营成本,在提高收益的同时,也方便了客户,本课题正式在这种背景下应运而生。本课题介绍了“基于SSM的XX网上商城”的开发环境、需求分析、界面设计和数据库设计以及涉及到的框架。本系统采用了B/S架构,使用了Java、HTML、JS等语言,使用了主流的后台开发框架SSM(spring+springMVC+Mybatis),以及采用了开源的轻量级数据库Mysql进行开发,为网络商城提供了前端展示和后台管理的模块,实现了注册、登录以及购物等主要功能,为消费者提供了便捷快速的购物体验,以及为提高了店家的销售效率。关键字:网上商城,SSM,Java,HTML,JS,MySQL(关键字一般就是把摘要中提及到的关键性技术提取出来,让阅读者一目了然,知道哪些是重点)Abstract:(英文摘要建议谷歌翻译,然后把明显错误的地方修改一下即可)第一章:引言这一部分也是比虚的,其实随便扯一扯就可以了,一般包含以下几部分背景研究内容。其中背景主要讲一些关于社会发展的趋势导致了一些什么问题,而这些问题又应该如何去解决,多说几句,写到两三百字即可。研究内容就是针对上述的背景我们如何进行改进。细心的同学可能会说,感觉跟摘要有些重复。是的!这两部分内容其实是挺重复的,但是没关系,不过不要使用完完全全一样的话去描述,因为最后论文查重的时候会对文章自引用进行查重的。这一部分也是三五百字即可。第二章:系统的开发技术介绍这一部分是需要我们在正式开发之前做好的技术调研,然后对这一部分的技术进行详细的介绍。这一部分我不可能细讲,因为内容太多了,而且对于不同的项目有不同的内容,在查阅资料的过程也是提升技术的一个重要的环节,你可以真真切切的了解到开发一个工程是需要哪方面的知识,因此我就对我所选的这个课题应该使用到的技术栈进行一下介绍,也算是抛砖引玉,各位同学可以根据自己的实际情况进行撰写。开发不同的系统虽然涉及到的业务逻辑不同,处理方式也千差万别,但是本质上都是一样的,都是前端界面通过服务器跟数据库进行数据交互的一个过程,涉及到的内容也无非就是前端、后台和服务器。但是有一个需要注意的点,就是不要把HTML、JAVA等使用的语言介绍也给堆在这里,老师没细看还好,细看还是会显得太水字数了,记住,写工程性的课题不怕没字数。那问题来了,语言介绍不给写那应该些什么呢?应该写涉及到的框架、使用的工具。这些就够了,随随便便就几千字了。下面举例简单说明一下。 前端强调一下,不要把HTML、CSS等一下前端的规范展开来写,可以轻描淡写,但篇幅不能过多。这里可以写前端框架的使用,比如使用npm管理包(可以介绍一下npm以及在工程中的使用)、vue的使用(同样可以介绍vue框架以及应用)、element(element以及使用他的好处)等等。也希望同学在做毕设的过程中要真的去了解这些技术并且去使用它,相信我,看完再去用你的技术会有质的飞跃。 后台这一部分是重点,对于本课题来说,标题就写了是基于SSM的。对于这个java框架并不熟悉的同学来说建议先去查一下资料,而且很多同学会有疑问,使用技术框架的目的就是为了让开发更加的便捷和快速,但是为什么我们自己在开发的过程中会感觉好像变得更加复杂?很负责任的告诉你,是正常的。因为框架不仅会帮我们封装好一些常用的方法,而且会考虑到更新迭代以及代码可读性等等的一系列的问题,某些规定和配置我们之所以没有感受到他的好处是因为这种校园内的开发并不涉及生产问题,也不会有很多的更新迭代,更加不会考虑到代码的可读性。例如spring的工厂,一开始使用的时候很多同学会觉得为什么我new一个类的时候还要去改配置文件,直接new不香吗?直接new是很香,但是你考虑到真正去工作的时候,假设你要改类的一些关系的时候,还要去改代码,当工程一大,代码去哪里找呢?一个一个文件看吗?显然是非常不可取的,效率非常低,这个时候配置文件的优势就发挥出来了,直接修改配置文件,不需要更改代码,耦合性也大大的降低。好像跑题了,说了这么多就告诉同学们,要沉住气,理解框架这样设计背后的原因,对大家自身技术的提高非常的有帮助!那这一部分我们就可以介绍spring(包括spring的IOC、spring的工厂、spring的AOP等等,并且可以在论文中强调如何应用到我们的系统当中)、springMVC(这一部分可以讲解srpingMVC作为一个连接前端和数据库的工具在实际工作过程中的具体流程,也可以讲述springMVC的分层的概念以及如何应用)、Mybatis(包括跟JDBC的关系、mybatis依赖的配置、使用到的接口、动态代理、一级缓存和二级缓存以及延迟加载等等的一些技术问题) 服务器和数据库这一部分可以介绍一下用来搭建服务器的工具和所使用的数据库。假设你是使用了云服务器来搭建了,可以详细介绍一下云服务器的搭建过程包括防火墙、端口等等内容。一般服务器使用tomcat进行搭建,可以把tomcat介绍一下并且介绍一下tomcat是如何监听和解析用户请求的具体流程。一般小型的项目采用MySQL作为数据库,可以详细说一下选择MySQL的原因,比如相对于Oracle的好处。可以介绍一下MySQL数据库的一些特点包括分页、是否支持事务等等。第三章:需求分析这一部分是针对具体的业务场景来分析需要开发哪些功能,这一部分可以让你感受一下产品经理的职责,只不过不需要跟程序员对接,因为你自己就是程序员哈哈。一般来说分成两部分就可以了,一部分是对于前端的业务流程,另一部分就是后台服务器的业务流程,可以使用一些软件来绘画流程图,想图个方便可以直接使用word自带的图形进行编写,也不至于难看,就比较简约。想做的好看点的话个人推荐使用xmind,非常简单,可以快速做出美观的流程图。如果没有什么思路,那前端就按照着使用者的逻辑去写,比如用户需要注册、登录、找回密码、购物、退货等操作,那后端就对应着这些前端逻辑需要有相应的业务处理。个人感觉这一部分比较好写,就不再赘述。第四章:系统的设计和实现这一部分可以挑选一些有代表性的功能出来细讲,有些同学可能会有疑问,论文可不可以贴代码呢?答案是可以的。但是我个人的建议是贴伪代码,不要把你写的长篇大论的代码全部放进去,不好看而且逻辑混乱,应该做的是把代码抽取为伪代码,贴代码的目的是为了让阅读者清晰地读懂你是如何实现这个功能的,他并不会在意你的语法你的命名。下面列举若干个可以写的内容,并不限于此。 SSM框架的整合。如何使用Spring来整合并且管理SpringMVC和M 客户登录状态保存的实现。这一部分可能会涉及到cookies,sessions以及http报文解析等等,都可以详解。 后台商品管理的功能。这一部分可以根据管理员的后台管理功能进行描写。 商品搜索功能。可以涉及到数据库的模糊搜索。 数据库表格的设计。可以体现数据库表格设计的时候如何遵守三范式。 可以写在开发过程中遇到的一些疑难杂症。 可以写开发过程中使用到的一些比较具有亮点的语言特性。比如java的多线程、lambda表达式。又比如实现注册功能的时候使用的正则表达式。……等等数不胜数。第五章:运行结果这一部分非常好写了。截取一些关于你的系统的界面并且介绍一下功能,尽量说详细点,就ok了。第六章:总结以及展望这一部分也是比较水的一部分,但是也希望同学们认真写一写。可以写一下你开发这个项目的过程中学习到了什么,可以是XX技术,也可以是艰苦奋斗的精神……。展望可以写有望发展成另外一个淘宝……开玩笑开玩笑,总之劈里啪啦凑个几百字即可。参考文献把你开发过程中参考过的文章、论文贴进去之后,往往会发现参考文献不够,太少了!那怎么办呢?那就贴一些关于使用的技术的文章或者参考手册咯,虽然大部分是没看过的,但是还是希望大家可以多少看一看(正义之气跃然纸上)。去知网查找参考文章然后添加到你的参考文献是非常方便的,只需要找到对应的文章并且选择“引用”功能,即可自动生成引用的文字,直接复制到你的论文中。致谢第一步,感谢你的导师,感谢你的院领导,感谢你的校领导。说的好听后可能答辩的时候不会太为难你……然后你要感谢你的家人你的舍友你的朋友或者是你家的狗(开玩笑),都可以的,这一部分又轻轻松松两百字。至此,一篇论文就写完了,是不是觉得挺简单的呢?呸!简单个鬼,明明就这么多字,还要看这么多资料,还要自己写代码。确实,要认真完成不是一件简单的事情。但是我前面强调过了,这是针对那些基础一般但是想学东西的同学。当你独自完成这个课题后,你会发现自己的东西简直太多太多了。而且春招即将来临,许多问题在你面试的过程中也会遇到,而且也不至于跟面试官说我什么项目都没做过……
一般都是毕设,先有代码,调试好程序,之后写写你是如何设计这个程序的
题目:医院计算机网络设备管理维护分析 【摘 要】本文围绕医院常见计算机网络设备、医院计算机网络设备的管理措施、医院计算机网络设备的维护措施三个方面展开讨论,对医院计算机网络设备管理及维护进行了分析,并提出了一些笔者自己的见解,希望能够对今后的医院计算机网络设备管理及维护工作提供一些理论建议 【关键词】医院 计算机网络设备 管理 维护 随着现代化社会发展进程的推进,计算机网络得到了大范围的普及,在医疗领域中的应用为其信息化建设工作提供了有力的条件医院计算机网络设备的管理和维护水平在很大程度上决定了医院的综合管理水平,同时也是确保医院工作效率得到提升的关键手段因此,必须全面做好医院计算机网络设备的管理和维护工作,使计算机网络设备能够为医院提供更高质的服务,推进医院一切事务的顺利进展 一、医院常见计算机网络设备 医院中常见的计算机网络设备主要由服务器、边际设备、中心机房以及网络布线所组成,要想确认信息系统是否具备足够的安全性,主要是通过观察上层数据库以及服务器是否可以为下层计算机提供持续稳定的数据因此在对医院服务器进行设置时,须对电源进行连续性安装,这也是确保医院能够顺利运行的关键因素即使医院突然停电,也可以防止数据库中的信息受到损坏,在对医院计算机网络设备设置时还应在其中的内部系统内使用 网关,防止网络数据在相互交换过程中发生信息泄露,必须在受到医院批准后才可以访问在选择计算机网络机房时,必须对电磁、温度、湿度等多项因素进行综合性分析,针对其中一些关键工作环节进行严密管控,防止其受到雷电、雨雪等自然灾害的影响,同时还需定期检查网络布线情况是否合理、安全,避免因布线问题而导致的信号干扰问题出现 二、医院计算机网络设备的管理措施 (一)医院计算机网络设备的除尘管理以及网络协议管理 医院中的计算机网络设备处于长时间不间歇运作状态中,运作过程中由于静电作用会向外界吸附大量灰尘,计算机网络设备表面的灰尘聚集量一旦达到某种程度,便会干扰其正常工作,若管理人员没有及时清理这些吸附在设备表面的灰尘,就会严重影响计算机网络设备的运行速度,导致医院工作效率降低因此,医院内相关管理人员必须定期针对计算机网络设备进行除尘处理,随时确保计算机网络设备的洁净,保持机房的整洁和干净,尽量避免计算机网络设备受到灰尘的吸附此外,在局域网的运行过程中,TCP/IP是一种十分重要的协议,它能够保证各种网络设备之间的有效连接其中Netbeu就是在Microsoft网络下获得支持的一种网络协议,它具有运行速度快的特征,在使用TCP/IP这种共同协议的过程中,必须针对所有计算机设备设备设置相应的静态TCP地址,这样有助于工作站实现更高效的维护管理 (二)医院计算机网络设备的工作站管理 医院需建立相应的管理标准来规范计算机网络设备的日常管理工作,尤其是一些奖惩规则,这样有助于工作人员提升自身专业技能,并形成严谨的网络信息管理意识以及网络安全意识在日常计算机网络设备操作过程中,开机时应注意先开启外设电源,随后再开启主机电源,而关机时的操作顺序和开机恰恰相反,工作人员应注意不要出现直接关机的现象,同时也应避免非正常关机操作的发生此外,医院还应针对每个部门的计算机用户设置不同的登录密码,并定期进行修改,以防非法份子盗取密码信息,严格管理密码动态口令,确保用户使用权的协调和统一对医院工作站实施硬性保护措施,例如去除计算机网络设备中的光驱及软驱,针对CMOS进行密码设置并禁止USB接口的非授权使用,通过机箱上锁来预防CMOS放电,这些措施均可以在很大程度上预防工作站受到人为攻击及破坏 三、医院计算机网络设备的维护措施 医院计算机网络设备的维护工作应基于它的工作环境和实际运行情况来开展要想全面确保网络设备的运行处于安全环境中,首先最重要的一点便是做好操作系统的维护工作,在对操作系统进行维护之前需针对医院内部各种不同的网络系统展开具体的分析,其中绝大部分计算机操作系统为Windows系统,医院应针对所有计算机网络操作系统设置访问权限,这是做好操作系统维护工作的第一步另外还应定期更新操作系统内的病毒信息库,以此来识别不断变化的病毒,防止新型病毒的侵入此外,医院还应定期对医院内部计算机设备进行体检,及时发现其中存在的故障并进行维修,确保操作系统的安全稳定运行,一旦识别出多余的数据端口也应在第一时间内进行屏蔽,为医院数据信息提供一个安全的储存环境,久而久之,计算机的自我保护能力也就得到了提升最后,医院还应建立一套完善的计算机网络设备安全维护制度,结合医院计算机网络设备的实际使用情况以及安全管理现状制定相应的安全维护条例,认真落实安全监督工作,对设备的运行安全情况进行实时有效的监督,确保医院计算机网络设备的合理性维护例如可以对医院使用中的计算机网络设备进行分组管理,以组为单位进行维护,对维护管理工作人员进行培训,要求他们严格按照维护管理制度开展日常工作,使工作人员的设备维护能力得到不断提升工作人员还应根据计算机设备的实际工作状态来调整维护频率及内容,使医院计算机网络设备的维护工作更加灵活 四、结束语 综上所述,医院计算机网络设备的管理和维护工作对医院有效运行起着十分关键的作用,我们可以将它视为一种自我优化措施,它可以不断推进并完善医院的信息化建设工作,使医院管理水平更加科学合理,强化医院综合实力,提升医院医院的市场竞争力,是医疗行业未来发展的主流趋势 参考文献 [1]伍毅强医院计算机网络设备管理及维护策略研究[J]无线互联科技,2014,1: [2]汪忠乐医院计算机网络安全管理工作的维护措施[J]无线互联科技,2015,07:55- [3]张波试论医院计算机网络设备的管理措施和维护策略[J]科技创新导报,2013,24: 作者简介:张伟(1979-),男,汉族,河北邯郸人,本科,助理工程师,研究方向:电子工程 计算机毕业论文范文由学术堂整理提供
海外英语杂志欢迎投稿,详情见我的空间
这个太难搞了!
Information literacy Knowing how to find data from several sources, select relevant material, analyse and organise it into a form that can be used to make Computers have become the tools people use to access and manage Information technologists are people who analyse and design the What is a computer? Tradition definitions of computers include �6�1 A machine that accepts data and processes it into use �6�1 A computer is a binary, digital, electronic, stored program �6�1 While a computer is commonly a digital machine, analogue machine do An electronic device, operating under the control of instructions stored in its own memory unit, that can accept data (input), process data arithmetically and logically, produce results (output) from the processing and stores results for future Many computers receive and send data (communicate) across networks LAN and W A computer system consists of hardware and What is hardware? Hardware Hardware is physical devices or components that can be physically handled – you can thou Input Devices Input devices convert data that humans collect into coded electrical signals that a computer can The central processing unit The electronic processing takes place in the CPU The CPU consists of �6�1 A control unit that controls all of the computer’s functions and an �6�1 Arithmetic and logical unit (ALU) that performs any calculation Memory Memory holds all programs and What is RAM currently open? Data (notes) Word processor OS Output devices Output devices convert the computer’s electronic signals back into information Secondary storage devices These devices store programs and data The programs and data are not necessarily (or likely to be) in current E DVD CD Communication devices These devices enable a computer to connect to another List the six different type of hardware? Secondary storage(external), input, processor, output , memory, C Name eight pieces of hardware USB, keyboard, monitor, screen, RAM, ROM, VDU, M The system unit and peripheral devices The system unit is the computer Peripheral devices are any devices around the outside, or in other words, plugged into the (back of) the Peripheral devices include the key board, mouse, printer, joy stick and Peripheral devices are any devices around the outside, or in other words, plugged into the (back of) the Peripheral devices include the keyboard, mouse, printer, joy stick and What else does a computer have? Software Software is a computer program ,which is a detailed set of instructions that directs a computer to perform the tasks necessary to process data into These instructions are written in languages that computer can Software includes computer games, a word processing packing, an accounting package, amongst Definition of a computer system �6�1 A computer system is the configuration of hardware and software, functioning together, to process data into useful information, in order to achieve a purpose for a human What is data? �6�1 Data is raw facts, be they numbers, words, images and sounds, that can be input into a Mary a name is a piece of data What is information? �6�1 Information is processed data, that has meaning and is John is a list of names who scored an A grade on an exam John A Chai A Pam A Commodore $23 500 Magna $21 500 Falcon $19 800 The system unit contains the �6�1 Motherboard �6�1 CPU �6�1 Memory �6�1 Other electronics It is where the computer program instructions are executed and the data is manipulatedThe Processor CPU The CPU interprets and carries out basic instructions that operate the computer, the CPU contain the �6�1 Control unit and the �6�1 Arithmetic logic unit Control unit The control unit directs and coordinates the computer’s For every single instruction, the control unit repeats four basic operations, �6�1 Fetching �6�1 Decoding �6�1 Executing �6�1 Storing CPU speed The CPU’s speed may be measured in MIPS The number of millions of instructions per second Arithmetic/logic unit The ALU performs all calculations, which involve �6�1 Arithmetic operations 2+3 �6�1 Comparison operations age>=17 �6�1 Logical operations pass Processing instructions A CPU may begin executing a second machine cycle before completing the first-referred to as Current CPU’s can pipeline up to 4 Storage within the CPU Registers temporarily hold data and The computer’s clock A System clock is necessary to control the timing of all computer Each tick of the clock is referred to as a clock Clock speed is the speed at which a processor executes A hertz is one cycle per second and a megahertz is 1024 by1024 and a gigahertz is 1024 by 1024 Memory Memory is the temporary storage place for data and (program) Memory is measured in �6�1 Kilobytes 1024 bytes 2^10 �6�1 Megabytes 1024* 1024 bytes 2^20 �6�1 Gigabytes 1024*1024*1024 bytes 2^30 Representation of data Digital computers are built from many small electronic Each circuit, at any point of time can be turned OFF or ON Hence these devices are called two state Binary Digit 0and 1 Each off or on digital value is called a bit, short for binary A 1 bit computer would be able to distinguish between two values-characters, symbols or Hardly sufficient for the characters on the keyboard Bits Characters 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256
随着互联网的迅速的发展,基于互联网的各种应用日益受到人们的重视,基于Web的考试系统在这种形势下应运而生,它可以利用网络,随时随地对学生进行考试,是传统考场的延伸。本文在基于一般考试系统的设计与实现技术上,结合公务员考试的特点,通过对系统的结构设计、后台设计、前端开发,构建了一个基于B/S三层结构的、以JSP为开发平台和Oracle9i为数据库的公务员考试系统。本系统基本实现了招考信息发布、学生注册报名、单位进行资格审查、管理员对用户及角色进行管理等功能。本公务员考试系统采用的技术较为新奇,在今后的应用将会很广泛。该系统既可以用于政府机关招聘公务员,也可用于各事业单位招聘。Along with the rapid development of the Internet, Web based applications increasingly attention, the test system based on Web in this situation arises at the historic moment, it can use the network to students, anytime, anywhere, is a traditional examination Based on the general test system based on the design and implementation of the technology, combining the characteristics of the civil service examination system, the structure design, development, design, front back to construct a three layers based on B/S structure, with the JSP development platform of Oracle9i and the civil service examination system for This system realizes the recruitment information release, student registration, unit of user credentials, administrator management role and The civil service exam system adopts the technology of the future, in relatively novel application will be very This system not only can be used for civil servants, and can also be used for each business
这个太难搞了!
计算机,方面的英语论的
谢谢楼主采纳 Can we leave computers now? Computer is one of the greatest inventions of the 20th C It has not only changed the way of people's daily life, but also contributed to the forming of a totally new world in the 21st Computer has helpt dramatically upgrade the technologies in all industrial spheres, and sharpen the arms of all big Owing to computer, the wheels of time are running ever faster into an information Each morning, with a cup of coffee, switching on a computer and logging into one's email inbox has become millions of people's On the contrary, computer has also brought us unprecedented Viruses are spreading through the internet, trying to undermine your CPU at any Even more horrible is that, with a little push of a button somewhere, the computer-controlled nuclear weapons can easily and diabolically ruin this very earth, hundreds and hundreds So, what do you say? Can we leave computers now?
【英文篇名】 Switch Router Operating System Based on a General Operating System 【下载频次】 ☆ 【作者】 潘登; 徐佩霞; 【英文作者】 PAN Deng; XU Pei xia (Department of Electronic Engineering and Information Science; University of Science and Technology of China; Hefei; 230027; China); 【作者单位】 中国科学技术大学电子工程与信息科学系; 230027; 【文献出处】 数据采集与处理 , Journal of Data Acquisition & Processing, 编辑部邮箱 2003年 04期 期刊荣誉:中文核心期刊要目总览 ASPT来源刊 CJFD收录刊 【中文关键词】 交换式路由器; 通用操作系统; 路由器操作系统; 【英文关键词】 switch router; general operating system; router operating system; 【摘要】 提出了一种将通用操作系统及其上层路由软件移植到交换式路由器平台上的方案。此方案可以向上屏蔽交换式路由器与传统的路由器体系结构上的区别 ,从而把通用操作系统及其上层路由软件移植到交换式路由器的平台上 ;同时兼顾数据通信和管理维护方面的需求 ,为上层路由软件提供了与传统路由器相同的接口 ,从而使基于通用操作系统的路由软件可以在不损失可升级性的条件下快速移植到交换式路由器上。实际应用证实了该方案具有良好的灵活性和兼容性 【英文摘要】 A new solution to port general operating systems and their routing software to switch router is The solution shields the architecture difference between traditional router and switch router to application level software, thus it may support general operating system and their routing software on switch router The solution is also considered as requirements of both data communication and control And same ways of the access and control of the router are provied as traditional 【基金】 国家 8 63计划 ( 863 -3 1 7-0 1 -99)资助项目 【DOI】 CNKI:SUN:SJCJ2003-04-017 【分类号】 TN05 【正文快照】 引 言路由器最重要的工作是根据 IP包头和路由、过滤规则转发 IP包。其他功能还包括路由表的维护与路由器系统的维护。实际上路由器可以看成是一种针对 IP网络路由需求而设计的专用计算机。随着因特网所承载的业务的演进 ,因特网对于路由器性能的要求也日渐提高。在交换式路 看看这一篇 文章编号: 100429037 (2003) 0420450205一种基于通用操作系统的交换式路由器操作系统实现潘 登, 徐佩霞(中国科学技术大学电子工程与信息科学系, 合肥, 230027)摘要: 提出了一种将通用操作系统及其上层路由软件移植到交换式路由器平台上的方案。此方案可以向上屏蔽交换式路由器与传统的路由器体系结构上的区别, 从而把通用操作系统及其上层路由软件移植到交换式路由器的平台上; 同时兼顾数据通信和管理维护方面的需求, 为上层路由软件提供了与传统路由器相同的接口, 从而使基于通用操作系统的路由软件可以在不损失可升级性的条件下快速移植到交换式路由器上。实际应用证实了该方案具有良好的灵活性和兼容性。关键词: 交换式路由器; 通用操作系统; 路由器操作系统中图分类号: TN 915105; TP393 文献标识码:A 基金项目: 国家863 计划(8632317201299) 资助项目 收稿日期: 2003203229; 修订日期: 2003206215Switch Router Operating System Based ona General Operating SystemPA N D eng , X U P ei2x ia(Department of Elect ronic Engineering and Info rmat ion Science,U niversity of Science and Techno logy of Ch ina, Hefei, 230027,Ch ina)Abstract: A new so lu t ion to po rt general operat ing system s and their rou t ing sof tw are tosw itch rou ter is p resen The so lu t ion sh ields the arch itectu re difference betw een t radit ionalrou ter and sw itch rou ter to app licat ion level sof tw are, thu s it may suppo rt general operat ingsystem and their rou t ing sof tw are on sw itch rou ter p latfo The so lu t ion is also con sidered asrequ iremen t s of bo th data commun icat ion and con t ro l funct ion A nd same w ays of the accessand con t ro l of the rou ter are p rovied as t radit ional rou ter, so rou t ing sof tw are of the generaloperat ing system may be po rted to sw itch rou ter p latfo rm rap idly w ith the upgradeab lef lex ib P ract ical design app roves that the so lu t ion has a good compat ib ility and f lex ib Key words: sw itch rou ter; general operat ing system; rou ter operat ing system引 言路由器最重要的工作是根据IP 包头和路由、过滤规则转发IP 包。其他功能还包括路由表的维护与路由器系统的维护。实际上路由器可以看成是一种针对IP 网络路由需求而设计的专用计算机。随着因特网所承载的业务的演进, 因特网对于路由器性能的要求也日渐提高。在交换式路由器中, 包转发等绝大多数处理已经转移到以端口为中心的硬件中完成, 只有路由规则的生成与维护、网络管理和系统维护等比较复杂的工作仍由软件部分完成。实用中路由器所采用的操作系统可分为三大类: (1) 以Cisco 的IO S 为代表的专用操作系统, 常见于网络骨干节点; (2) 以V xWo rk s 为代表的嵌入式系统, 常见于小型办公ö家用接入设备上; (3)采用通用操作系统的则在骨干节点和用户接入设备上都有这类设备。例如Jun iper 的路由产品就采用L inux 作为操作系统。通用操作系统上的各种路由、网管软件的开发已经有相当长时间, 其功能、性能、稳定性和升级灵活性都很优秀, 但这些软件仍第18卷第4期2003 年12 月数据采集与处理Journal of Data A cquisit ion & P rocessingVo 18 N 4D 2003然是针对传统路由器体系结构开发的, 无法直接应用于新的路由器体系结构。本文提出在通用操作系统的驱动栈中插入一个中间层, 这样对系统内核及和运行在其上的路由、网管等上层软件屏蔽了下层硬件的特殊性, 从而把上层软件和高速硬件平台结合起来。该方案已经应用于高速边缘路由器中, 并表现出了良好的实用性和可扩展性。1 交换式路由器与传统路由器在体系结构上的差别路由器工作在网络的第三层, 其处理工作主要涵盖七层模型中的下三层, 包括: 物理接口处理、数据链路层处理、网络层的路由查找、转发以及队列管理等[1 ]。在传统的路由器体系结构中, 硬件部分只实现物理层的处理, 其余工作需要消耗系统计算资源完成: 包括CPU 周期、内存容量和总线带宽等, 因此性能也受限于这些资源。而在交换式路由器中, 路由处理机仅处理系统维护、路由表维护等少量工作, 数据流的处理都由相对独立的硬件完成, 不再受限于系统计算资源, 因此其性能远优于传统路由器[2 ]。如图1 所示。(a) 传统路由器体系结构(b) 交换式路由器体系结构图1 路由器的逻辑结构 传统路由器和交换式路由器在体系结构方面有明显的区别: 在传统路由器中, 所有的物理接口直接挂接在总线上, 内核可以通过总线直接访问这些接口; 而在交换式路由器中, 只有控制卡是直接挂接在总线上的, 内核必须通过控制卡间接访问各个接口。这导致操作系统内核中代表网络接口的驱动对象的区别: 在传统路由器中, 内核存在若干网络设备驱动对象实例, 每个实例通过总线直接维护一个端口, 为内核及其上面的上层软件提供基本操作支持。而在交换式路由器中, 普通的网络设备驱动对象无法直接维护端口, 也无法支持系统内核和上层软件操作。因此, 交换式路由器体系结构的特殊性使得通用操作系统和上层软件无法直接应用。针对这个问题有两种解决办法: (1) 大量修改内核和各种相关软件的源代码以适应新的体系结构。这种做法存在开发工作量大、周期长、局限性强的缺点, 丧失了使用通用操作系统的灵活性; (2) 在驱动栈中增加一个中间层, 支持普通网络驱动对象所能支持的一切操作, 这样系统内核和上层软件基本上不必修改就可以运行在交换式路由器上。这就是本文所提出的中间层方案。这种方案克服了第一种方法的复杂性, 在保持灵活性的基础上, 可以快速地把通用操作系统及上层软件移植到交换式路由器的硬件平台上。2 中间层设计中间层功能包括数据通信和控制两个方面。从数据通信方面考虑, 每个端口的功能都等效于传统路由器中的一个网络接口, 所以每个物理端口在内核中都应有对应的网络驱动实例。这样才能支持各种上层软件运行, 满足数据通信功能的需要。从控制功能方面考虑, 对上要把每一种可能的逻辑操作映射成硬件操作; 对下要能够和多个设备通信。上层应用包括系统维护、路由软件、网管软件; 下层设备包括处理引擎和端口。控制功能的具体实现和硬件平台有关。考虑到多种应用可能同时操作一个硬件设备, 一种应用也可能同时操作多个设备, 在实现时必须考虑到对于多并发操作的支持。基于上述考虑, 中间层由控制卡驱动模块和若干网络驱动实例组成。在图2 (a, b) 中分别给出了传统路由器的结构与驱动方式以及本文所提出的中间层所处的位置与驱动方式。第4 期潘 登, 等: 一种基于通用操作系统的交换式路由器操作系统实现451图2 中间层的位置与驱动方式 控制卡驱动模块作为中间层的核心, 维护控制卡上所有的端口、内存映射、中断和循环缓冲队列资源。它实现了数据通道和控制通道。对下直接驱动控制卡、与各个端口、处理引擎通信; 对上, 一方面通过内核调用陷阱方式提供控制通道接口; 另一方面向虚拟网络驱动实例提供数据通道接口。虚拟网络驱动实例在操作系统内核为各个物理端口实现网络驱动实例。它们工作在控制卡驱动模块的基础上, 并不直接控制硬件, 故称为虚拟网络驱动实例。虚拟网络驱动实例封装控制卡驱动模块提供的数据传输功能, 并为内核和上层软件提供与普通网络驱动实例相同的调用接口。下面分别给出数据通道和控制通道的实现方案。211 数据通道的功能与实现虚拟网络驱动实例和物理端口是一一对应的。内核数据收发的功能包括3 个方面:(1) 发往某虚拟网络驱动实例的数据包应该由其对应端口输出;(2) 这个端口所收到的包也通过该虚拟网络驱动实例向系统内核提交;(3) 中间层也可以对虚拟网络驱动实例进行流控操作, 以避免因拥塞导致数据丢失。注意到图2 (b) 中的交换结构以定长信元交换数据, 其格式如图3 所示, 其中信元头占4 字节, 包括处理引擎号和端口号域。对于收ö发信元, 处理引擎号和端口号分别为该信元的源端口的和目的端口的对应值。根据图2 (b) 所示的系统结构可知: 由处理引擎号和端口号可以确定端口的物理位置。控制卡驱动模块在其内部的驱动信息数组中维护虚拟网络驱动实例和端口之间的对应关系。图3 数据信元结构发送数据时, 虚拟网络驱动实例从内核网络部分获取待发送的数据, 偕同指向该实例自己的指针一起提交给控制卡驱动模块。一方面, 控制卡驱动模块通过这个指针可以对虚拟网络驱动实例进行流控设置; 另一方面, 控制卡驱动模块根据虚拟网络驱动实例指针查驱动信息表得到目标端口物理位置信息, 包括处理引擎号和端口号。端口物理位置信息将被填充到所有用来承载待发送数据包的信元头中。控制卡驱动模块通过控制卡把信元送到交换结构, 而交换结构和处理引擎分别根据处理引擎号和端口号将信元转发到到目标端口。最后端口从接收到的信元中恢复出原始数据发出。接收数据时, 端口也会将数据拆分到若干信元中逐级上传。考虑到交换结构的循环优先机制, 一个数据包上传的过程可能被来自其他端口的数据抢断。所以控制卡驱动模块对于接收到的信元按源端口位置信息(包括处理引擎号和端口号) 保存到不同的缓冲区中。当接收到该数据包相关的全部信元, 控制驱动模块即可重组该数据, 并根据源端口位置信息查驱动信息表以得到指向该端口对应虚拟网络驱动实例的指针, 进而激活该虚拟网络驱动实例接收数据。虚拟网络驱动实例从控制卡驱动模块中获取数据后, 按照网络驱动的常规方式调用net if- rx 接口向内核提交数据。数据收发实现结构如图4 所示。值得注意的是, 在交换式路由器中, 处理引擎通过交换结构交换的是IP 包; 而通用操作系统中452 数据采集与处理第18 卷图4 数据收发实现结构网络驱动通常处理链路层的帧。即控制卡驱动模块数据通道对上对下的数据格式是不同的。因此, 在发送数据时控制卡驱动模块需要从得到的链路帧中提取IP 包再转发到端口; 而接收数据时则对来自端口的IP 包进行链路帧封装再向上提交。以以太网为例, 需要恢复的包括源和目标站的物理地址、载荷类型和帧校验[3 ]。对于承载IP 包的以太帧, 显然其目标站物理地址和载荷类型[4 ]都是已知的。实现时采用的操作系统是L inux, 通过在虚拟网络驱动源代码中进行设置可以使内核不进行帧校验[5 ]。所以只有源站物理地址未知。如果要求硬件给出真实的源站物理地址, 则增加了硬件的复杂度; 而若在控制卡驱动模块中伪造源物理地址, 则可能导致内核的ARP 管理混乱。为简化硬件设计, 实现时采用了在控制卡驱动模块中伪造源物理地址的办法, 同时修改虚拟网络驱动源代码, 重载帧头处理函数[6 ]。这样内核ARP 表就不受伪造地址的影响, 其获取和刷新通过查询端口ARP 记录实现。212 控制通道的功能与实现控制功能的通信也是基于信元的, 其操作包括维护管理和表同步两类。维护管理主要是进行各种查询, 通常通过若干次双向通信完成。每次通信有效载荷都只有几个字节, 由一个信元即可承载。而表同步则是将上层软件维护的表复制到相关硬件中, 包括ARP 表、路由和分类表等。表同步操作涉及大量数据传输, 需要由多个信元承载。控制功能都是针对设备进行的, 所以在控制ö反馈信元中也必须包括目标设备的物理位置信息。在实际运行期间, 所有的上层应用和设备之间的控制通信复用控制通道, 其特点为:(1) 不同的应用可能同时访问同一设备;(2) 一个应用也可能同时访问多个设备;(3) 同一应用对于同一个设备的操作一般都是顺序的。为支持这种复用操作, 所有承载控制信息和反馈信息的头部除包括目标硬件的物理位置和操作指令外, 还包括命令类型、应用类型信息。控制ö反馈用信元结构如图5 所示。图5 控制ö反馈信元结构图5 中: 处理引擎号和端口号, 确定设备的物理位置; 收ö发信元分别为该信元的源端口的和目的端口的对应值; 命令码在设备和应用之间定义。每种可能的操作分配一个代码; 应用码在控制卡驱动模块和上层应用之间预定义。每种可能的应用分配一个代码。这些应用包含网管、路由维护、硬件维护和ARP 信息获取等。上层应用通过内核调用陷井( IOCTL ) 发起控制通道操作, 同时给出目标设备物理位置、命令类型代码和应用类型代码。控制卡驱动模块把这些信息填充到控制信元中再将其发往设备。设备把这些代码直接复制到反馈信元中, 再在后面追加上反馈信息。控制卡驱动模块为每一种应用分配一个循环缓冲区, 把收到的反馈根据应用类型排入相应队列中。上层应用从其所对应的循环缓冲区中读取反馈信元, 然后根据信元中的物理位置信息、命令码就可以确定该反馈对应的原始命令, 从而对反馈数据进行适当处理。这样就实现了各种控制功能对控制通道的复用。如图6 所示。第4 期潘 登, 等: 一种基于通用操作系统的交换式路由器操作系统实现453图6 控制通信实现结构3 结 论鉴于传统路由器体系结构和交换式路由器体系结构的区别, 通用操作系统及在其上开发的路由软件无法直接应用于交换式路由器。本文提出的中间层方案可以有效地解决这个问题。该方案全面考虑了数据通信和管理维护方面的需求, 为上层提供了与原有模型基本相同的接口, 并使得路由软件在不损失其灵活性和可升级性的条件下直接应用于交换式路由器中。虽然该方案只是在特定的平台和特定的操作系统上得到了实现, 但是不难看出, 这种思路对操作系统并没有特殊的依赖性, 完全可以移植到其他通用操作系统上。本文提出的方案已经在国家863 项目实用化综合接入系统的高速边缘路由器的研制中取得了良好的实际效果。本文为国产高性能路由器的软件开发提出了一种高效快捷的解决方案, 该方案具有良好的应用前景。参考文献:[1 ] Kuro se J F, Ro ss KW Computer netwo rk ing: a top2dow n app roach featuring the internet [M ] A ddisonW esley Longman′s P ress, 332~ [ 2 ] 梁阿磊, 等 路由器体系结构及其发展[J ] 小型微型计算机系统, 2001, 8: 943~ [3 ] M edia access cont ro l frame st ructure [S ] IEEE Std80213, 36~ [ 4 ] Charles Ho RFC 894: a standard fo r the t rans2m ission of IP datagram s over Ethernet netwo rk s[S ]198411~ [5 ] Bovet D P U nderstanding L inux kernel[M ] O reil2ley P ress, 683~ 685[ 6 ] Rubini A L inux device 2nd edit ion [M ]O r2eilley P ress, 455~ 458作者简介: 潘 登(19772) , 男, 博士研究生, 研究方向: 网络体系结构、网络安全, E2mail: cn;徐佩霞(19412) , 女, 教授, 博士生导师, 研究方向: 音频视频编码、非线性处理、下一代网络。454 数据采集与处理第18 卷