收藏 分销(赏)

Ajax技术在流量分析系统中的应用论文.doc

上传人:仙人****88 文档编号:9459621 上传时间:2025-03-27 格式:DOC 页数:46 大小:1.15MB 下载积分:10 金币
下载 相关 举报
Ajax技术在流量分析系统中的应用论文.doc_第1页
第1页 / 共46页
Ajax技术在流量分析系统中的应用论文.doc_第2页
第2页 / 共46页


点击查看更多>>
资源描述
毕业设计(论文) 设计论文题目: Ajax技术在流量分析系统 中的应用 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 学院院长: 年5月25日 毕业设计(论文) 第25页 Ajax技术在流量分析系统中的应用 摘 要 Ajax为近两年网路上热门的讨论话题,它的全名为Asynchronous JavaScript and XML(异步的JavaScript与XML),是一种建立互动式网页的浏览器端的开发技术,主要原理是运用JavaScript针对网页文件DOM(Document Object Model)进行动态显示及交互控制,并使用XML和XSLT进行资料交换及相关操作。它的优点是整个网页页面不需要重新下载,加快网页界面显示速度,减少网路流量,减轻服务器负担,减少使用者等待页面更新的时间,如果使用得当,能建立更具互动性与亲和性的使用操作界面,让执行网络应用程序也能像桌面应用程序一样方便,灵活,快速。 本文将Ajax技术运用于流量分析系统的开发中,改善一般动态资料库网页操作过程中,需要频频换页与重新载入的弊病,减轻服务器负担,解决前后端之间大量资料的传输及处理问题,明显改善网页资料的显示及处理速度。并且本文还阐述了流量分析系统中系统管理模块和流量分析模块中实时模式的开发过程,包括系统设计与实现。 关键词:Java ; Ajax ; 流量分析 Ajax Application in FlowAnalyzer System Abstract Ajax has becomes the popular topic of discussion on the Internet for the last two years.The name is shorthand for Asynchronous JavaScript And XML what are development technologies to create an interactive Web browser.Its main principle is to run the dynamic display and interaction control using JavaScript for Web Document DOM (Document Object Model)and use XML and XSLT to exchange informations and other related operations.Its advantage is the entire Web pages do not need to reload,speeding up the Web interface shows,reducing the network traffic,reducing the burden on the server, reducing the waiting time for users to update pages,and can establish more interactive and compatibility interfaces to use if used properly, so that the implementation of network applications can also like desktop applications,convenient,flexible,fast. The Ajax technology will be used in the devlopment of the FlowAnalyzer system in this paper flow to treatment with the ills that need to change frequently and reloading the page in the course of operations for the general dynamic database pages,reduce the burden on the server,solve the problem of transfering and handling a great deal of informations between the front and end,improve the page display and information processing speed obviously.And this paper also described the development process of the system management model and the real-time pattern in the flow analysis module,including design and implementation. Keywords: Java ; Ajax ; FlowAnalyzer 目 录 1. 绪论 1 1.1 课题背景及来源 1 1.2 课题研究的意义 2 1.3 论文结构 2 2. 基本理论知识及其应用 3 2.1 Ajax技术 3 2.1.1 使用Ajax技术的原因 3 2.1.2 使用Ajax技术的步骤 7 2.1.3 使用Ajax技术的原则 10 2.2 Java编程 10 2.2.1 Java GUI 10 2.2.2 Java网络编程 11 2.2.3 Java线程 12 3. 系统需求分析 14 3.1产品设计原则 14 3.2产品总体要求 14 3.3产品性能和可靠性要求 15 3.4产品硬件要求 16 3.5产品软件要求 17 4. 系统详细设计 21 4.1 总体设计 21 4.2 流量分析模块功能 22 4.3 系统管理模块功能 22 4.3.1 帐号管理 23 4.3.2 系统信息 23 4.3.3 系统设置 23 4.3.4 接口设置 23 4.3.5 系统工具 23 4.3.6 流程图 24 5. 系统开发与实现 26 5.1 开发环境及工具 26 5.2 系统实现 26 5.2.1流量分析模块数据库 26 5.2.2流量分析模块界面 26 5.2.3系统管理模块数据库 27 5.2.4系统管理模块界面 29 5.2.5关键代码实现 32 5.3 结果分析 36 6. 总结 38 致 谢 39 参考文献 40 1. 绪论 1.1 课题背景及来源 本课题是Ajax技术在流量分析系统中的应用。研究的内容主要分为两个部分:一是系统管理模块的设计与实现;二是Ajax技术的应用。 近年来,随着互联网在全球范围内的迅速发展和各种互联网应用的快速普及,Internet已经成为人们日常工作生活中不可或缺的信息承载工具。然而,伴随着互联网的正常应用流量,网络上形形色色的异常流量也随之而来,网络中经常出现的DOS/DDOS攻击、Red Code、SQL Slammer、冲击波、震荡波等网络蠕虫病毒泛滥对全世界网络造成的影响至今仍记忆犹新。各种网络扫描工具产生的大量异常网络流量大量占用网络设备系统资源(CPU,内存等)和网络带宽资源,使网络产生拥塞,造成网络丢包,延时增大,最终造成整个网络瘫痪。 此外,随着网络的应用越来越广泛,规模越来越大,其承载的业务也越来越丰富。了解网络承载的业务,掌握网络流量特征,以便使网络带宽配置最优化,是当前网络管理员面临的一大挑战。目前,有关网络流量分析管理的系统有很多,都各具特色。流量分析系统采集对象通常是网络中的核心路由器和交换机,通过采集、监控网络第二至第四层的数据流量,实现DOS/DDOS攻击源和目标检测、蠕虫病毒监测、垃圾邮件检测、带宽成本分析、流量计费、用户流量日志、网络带宽优化等。且系统采用Web的界面且加入大量Ajax技术,方便管理人员随时随地分析处理并生成报表。相信不久之后,FlowAnalyzer流量分析系统会成为大型网络IP流量分析的主要工具。 传统的Web应用允许用户填写表单form,当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。 与此不同,Ajax应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的Web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。 1.2 课题研究的意义 为保障网络系统的正常运行,对于网络流量的统计、网络的安全控制就显得尤为重要。FlowAnalyzer流量分析系统是东华合创公司结合网管领域的多年丰富经验推出的一套基于Netflow数据流的网络数据实时监控与分析产品。FlowAnalyzer可以实现对大型网络的实时流量分析,历史流量统计,流量异常告警,流量趋势分析等功能,从而更好的发现网络异常流量,有效监控用户上网行为,并为网络扩容投资提供科学的决策数据。 由于FlowAnalyzer流量分析系统采用Web的界面,B/S体系架构,所以我们在该系统中引入了Ajax技术。Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。采用这种技术可使本系统在响应时间上更为快速,充分发挥系统实时的特性,在系统性能方面也会有所提高。 在本毕业设计项目开发过程中,通过完整地实施软件开发流程,将软件工程思想彻底融入项目研发工作中,达到了理论与实践相结合的目标,具有很重要的意义。并且本课题引入了流行的Ajax新技术,利用新技术解决问题,具有一定的创新意义。 1.3 论文结构 第一部分是绪论部分概要介绍了本毕业设计课题的背景来源以及研究的意义。 第二部分是介绍开发本系统所涉及到的基本理论知识以及选用方法的依据。 第三部分是系统需求分析,提出系统所要达到的要求。 第四部分是论文重点之一,系统详细设计,通过对系统进行详细设计,着重介绍了系统的设计方案实现内容。 第五部分是论文的另一重点所在,从第三部分的系统设计和解决方案出发,以第二部分涉及到的基本知识为基础,重点介绍系统的设计思路和实现方法,并阐述课题的难点、问题所在以及创新思想在本设计中的体现。 第六部分对研究工作进行归纳和总结。 2. 基本理论知识及其应用 本课题主要使用了Ajax技术和Java编程技术。下面分别介绍这两种技术。 2.1 Ajax技术 Ajax技术,即Asynchronous JavaScript and XML(异步的JavaScript与XML)。 在Garrett的总结中,Ajax包含以下五个部分: Ø 基于标准的表示技术,使用XHTML与CSS Ø 动态显示和交互技术,使用Document Object Model(文档对象模型) Ø 数据互换和操作技术,使用XML与XSLT Ø 异步数据获取技术,使用XMLHttpRequest Ø 而JavaScript 将以上的一切都结合在一起[16] 2.1.1 使用Ajax技术的原因 首先来看Ajax技术和传统技术的区别。如图2.1、图2.2: 图 2.1 Ajax技术与传统技术的区别(a) 传统的Web应用模型就像这样工作:用户触发一个HTTP请求,送回到一个Web服务器。服务器做些处理然后返回一个HTML页面到客户端。而Ajax技术中间多了一个Ajax引擎。由上图我们看出其主要的差别,其实不是JavaScript,不是HTML/XHTML和CSS,而是采用了XMLHttpRequest来向服务器异步的请求XML数据。至于其它的技术,我们都是可以用的。 图 2.2 Ajax技术与传统技术的区别(b) 传统的Web应用模式,用户的体验是割裂的,点击->等待->看到新的页面->再点击->再等待。而采用了Ajax技术之后,大部分的计算工作,都是在用户无察觉的情况下,交由服务器去完成了,没有空白的屏幕,没有间断,没有等待。用户体验更好。 由上面的差别及Ajax技术本身的特性,我们可以得出使用Ajax的几个优势: 1.减轻服务器的负担。因为Ajax的根本理念是“按需取数据”,所以最大可能在减少了冗余请求和响影对服务器造成的负担; 2.无刷新更新页面,减少用户实际和心理等待时间;   首先,“按需取数据”的模式减少了数据的实际读取量,打个很形象的比方,如果说重载的方式是从一个终点回到原点再到另一个终点的话,那么Ajax就是以一个终点为基点到达另一个终点;    其次,即使要读取比较大的数据,也不用像RELOAD一样出现白屏的情况,由于Ajax是用XMLHTTP发送请求得到服务端应答数据,在不重新载入整个页面的情况下用Javascript操作DOM最终更新页面的,所以在读取数据的过程中,用户所面对的也不是白屏,而是原来的页面状态(或者可以加一个LOADING的提示框让用户了解数据读取的状态),只有当接收到全部数据后才更新相应部分的内容,而这种更新也是瞬间的,用户几乎感觉不到。总之用户是很敏感的,他们能感觉到你对他们的体贴,虽然不太可能立竿见影的效果,但会在用户的心中一点一滴的积累他们对网站的依赖。   3.更好的用户体验;   4.也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本;   5.Ajax由于可以调用外部数据;   6.基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序;   7.Ajax使Web中的界面与应用分离(也可以说是数据与呈现分离);   8.对于用户和ISP来说是双盈的。 Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。 在旧的交互方式中,由用户触发一个HTTP请求到服务器, 服务器对其进行处理后再返回一个新的HTHL页到客户端,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。而使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。 Ajax是传统Web应用程序的一个转变。以前是服务器每次生成HTML页面并返回给客户端(浏览器)。在大多数网站中,很多页面中至少90%都是一样的,比如:结构、格式、页头、页尾、广告等,所不同的只是一小部分的内容,但每次服务器都会生成所有的页面再返回给客户端,这无形之中是一种浪费,不管是对于用户的时间、带宽、CPU耗用,还是对于ISP的高价租用的带宽和空间来说。如果按一页来算,只能几K或是几十K可能并不起眼,但像SINA每天要生成几百万个页面的大ISP来说,可以说是损失巨大的。而Ajax可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到最低,基于标准化的并被广泛支持和技术,并且不需要插件或下载小程序,所以Ajax对于用户和ISP来说是双盈的。 Ajax使Web中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰的界限的,数据与呈现的分离,有利于分工合作、减少非技术人员对页面的修改造成的Web应用程序错误、提高效率、也更加适用于现在的发布系统。也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理。 页面连续刷新不仅使用户不满意,还会浪费服务器上宝贵的处理器时间,因为页面刷新需要重新构建整个页面的内容,而且会不必要地使用网络带宽来传送刷新的页面。 最好的解决办法是根据需要修改页面上已有的内容。如果页面上大多数数据没有改变,则不应刷新整个页面,之需要修改页面中信息有变化的部分。 当然Ajax技术也存在几个问题:   1.一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax;   2.用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事;   3.Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰——用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等;   4.对流媒体的支持没有FLASH、Java Applet好; 由于流量分析系统本身采用Web界面,其中流量分析功能需要频繁的页面提交,所以页面无刷新响应、传输页面性能的提高就显得尤为重要。鉴于以上Ajax技术的优势与问题,在综合考虑之下,我们决定运用Ajax技术于系统中,来解决用户与服务器之间的请求响应的问题。 2.1.2 使用Ajax技术的步骤 Ajax技术是这样应用的,如图2.3: 图 2.3 标准Ajax交互 1.一个客户端事件触发一个Ajax事件 2.创建XMLHttpRequest对象的一个实例 3.向服务器做出请求 4.服务器可以做你想做的事情,包括访问数据库,甚至访问另一个系统 5.请求返回到浏览器 6.在这个示例中,XMLHttpRequest对象配置为处理返回时要调用callback()函数。这个函数会检查XMLHttpRequest对象的readyState属性,然后查看服务器返回的状态码 关于系统管理模块级联菜单方面的Ajax应用:   我们以前的对级联菜单的处理是这样的:   为了避免每次对菜单的操作引起的重载页面,不采用每次调用后台的方式,而是一次性将级联菜单的所有数据全部读取出来并写入数组,然后根据用户的操作用JavaScript来控制它的子集项目的呈现,这样虽然解决了操作响应速度、不重载页面以及避免向服务器频繁发送请求的问题,但是如果用户不对菜单进行操作或只对菜单中的一部分进行操作的话,那读取的数据中的一部分就会成为冗余数据而浪费用户的资源,特别是在菜单结构复杂、数据量大的情况下(比如菜单有很多级、每一级菜又有上百个项目),这种弊端就更为突出。 如果在此案中应用Ajax后,结果就会有所改观:   在初始化页面时我们只读出它的第一级的所有数据并显示,在用户操作一级菜单其中一项时,会通过Ajax向后台请求当前一级项目所属的二级子菜单的所有数据,如果再继续请求已经呈现的二级菜单中的一项时,再向后面请求所操作二级菜单项对应的所有三级菜单的所有数据,以此类推……这样,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于后台处理并重载的方式缩短了用户等待时间,也把对资源的浪费降到最低。 从以上可以看出,使用Ajax技术的关键是XMLHttpRequest对象的使用。如图2.4: 图 2.4 XMLHttpRequest在异步请求远程数据时的工作流程 使用XMLHttpRequest对象发送请求的基本步骤如下: 1. 为得到XMLHttpRequest对象实例的一个引用,可以创建一个新的实例,也可以访问包含有XMLHttpRequest实例的一个变量。 2. 告诉XMLHttpRequest对象,哪个函数会处理XMLHttpRequest对象状态的改变,为此要把对象的onreadystatechange属性设置为指向JavaScript函数的指针。 3. 指定请求的属性。XMLHttpRequest对象的open()方法会指定将发出的请求。open()方法取3个参数:一个是指示所用的方法(通常是GET或POST)的串;一个是表示目标资源URL的串;一个是Boolean值,指示请求是否是异步的。 4. 将请求发送给服务器。XMLHttpRequest对象的send()方法把请求发送到指定的目标资源。send()方法接受一个参数,通常是一个串或一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向send()方法提供参数时,要确保open()中指定的方法是POST。如果没有数据作为请求体的一部分被发送,则使用null。 2.1.3 使用Ajax技术的原则 l Ajax的开发,首先必须是基于Web标准的开发Ajax的应用。较之传统的Web应用,Ajax应用在表现层方面更加复杂,如果在开发过程中,不遵循Web标准,巨大的复杂性,将是难以把握的。 l Ajax的传输可以分为三种类型结构、表现与行为。三种要素分离之后,加入Ajax的技术元素,也就是使得结构、表现与行为,都能够动态的、无刷新的改变。因此,概念的分解也应该贯彻到Ajax的传输模式之中。 l HTML DOM的动态变化,应该依靠XMLHTTP。XMLHTTP技术,是典型的,从服务器端取回数据的方式。因此,这样取得的数据,也应该主要用于改变浏览器中的HTML DOM。通常传回的数据有两种形式,responseXML和responseText。各种合适的解析方式,都可以采用。 l 表现形式的动态变化,可以考虑采用CSS Load。这时候的应用,一般都是完整替换整个CSS规则,比较少有局部CSS规则的改变。 l 浏览器端交互行为的运行逻辑,如果需要变化,可以考虑采取JavaScript Load。 AHAH方式,需要慎用。通过将返回的responseText,直接赋值给某个DOM节点的innerHTML的方式,被成为AHAH (Asynchronous HTML and HTTP)。这样的方式,从思维模式来说,往往难以脱离基于文本的Web的范畴,但是,这样的方式,在效率方面却很不错,因此需要慎用。 2.2 Java编程 2.2.1 Java GUI GUI(Graphical User Interface,即图形用户界面)是程序与用户交互的窗口。用Java设计GUI时,需要用到AWT (abstract window toolkit,即抽象窗口工具集)包和Swing类库。 AWT和Swing拥有很多相似之处,Swing是架构在AWT之上的,没有AWT也就没有Swing。但目前AWT组件的功能还不是很完全,是在不同的平台上运行Java GUI程序时,会出现不同的运行效果,不能满足图形化用户界面发展的需要。Swing是纯Java的轻量级组件。组件是软件系统的一个封装部分。组件有一个接口,对于系统的结构,组件就像积木一样,在编程语言层次,组件可以表示为模块、类、对象或者一组相关函数。Swing组件不依赖操作系统的支持,在不同的平台上表现一致,不但有各式各样先进的组件,而且更为美观易用。 在Swing组件中,组件从功能上可以分为:顶层容器(如JFrame,JDialog等);中间容器(如JPanel,JScrollPane等);特殊容器(如在GUI上起特殊作用的中间层,如JInternalFrame等);基本控件(实现人际交互的组件,如JButton, JMenu等);不可编辑信息的显示(向用户显示不可编辑信息的组件,例如JLabel, JProgressBar等);可编辑信息的显示(向用户显示能被编辑的格式化信息的组件,如JFileChooser, JTable, JTextArea等)。 在本系统中,采用Swing中的多种组件实现用户界面。 2.2.2 Java网络编程 TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。 传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,与 IP 协议相结合,TCP 组成了因特网协议的核心。   由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。 TCP 在端点间建立连接或虚拟电路进行可靠通信。 主站的采集命令是可以随时发送的,是整个系统中数据传递的关键所在,只有当主站的采集命令安全下发,终端才能按照正确的指令采集数据。前置机提供了一个通信通道,主站与前置机间采用TCP协议来实现通信的原因有如下几点: 1. TCP提供可靠的基于字节流的传输。它包含专门的传递保证机制,当数据接收方收到发送方传输的信息时,会自动向发送方发出确认消息,而发送方只有在接收到该确认消息之后才继续传送其他信息,否则将一直等待知道收到确认信息为止,即三次握手原理。其可靠机制允许设备处理丢失、延时、重复及读错的包,允许设备监测丢失包并请求重发。TCP通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。在传输采集命令的过程中,TCP会将数据流分割成适当长度的报文段并给每一个字节一个序号,保证传递到前置机的包是按序接收的,从而保证主站的命令会安全到达前置机。 2. TCP协议提供的是面向连接的、端到端的传输。在通信过程中,系统在通信前及在主站发送数据采集任务之前,需要启动前置机作为服务器来建立两者之间的连接。 3. TCP可进行双工操作。及在发送数据的同时,接收数据。 4. TCP提供多路技术。大量同时发生的上层会话能在单个连接上同时进行多路用。因此在系统中主站可以选择多个终端发送采集命令。 与TCP不同,UDP提供的是非面向连接的、不可靠的数据流传输。如果数据在从发送方到接收方的传递过程中出现丢失,协议并不会做出任何检测或者提示。另外,UDP并不能确保数据的发送和接收顺序,特别是在网络十分拥挤的情况下,数据接收可能会出现乱序现象。在终端和前置机间采用UDP通信的原因在于UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,比如三次握手,但在实际执行过程中会占用大量的系统开销,这无疑使速度受到严重的影响。而UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。 在前置机和终端间采用UDP进行通信。其原因在于,系统对前置机和终端之间数据传输的可靠性要求并不高,但对数据的传输速度要求很高。尤其是当终端数量多或者终端的表计较多时,传输的数量就会十分庞大复杂,因此不适合用TCP。 2.2.3 Java线程 线程是指进程中单一顺序的控制流,又称轻量级进程(LWP)。 线程是Java语言的一部分,而且是Java最强大的功能之一。在Java语言中可采用两种方式产生线程:一是实现一个Runnable接口。二是扩充一个在java.lang类中定义的直接从根类Object中派生的Thread类。Runnable接口层次性较好,是常用的产生线程的方法。但使用Runnable接口时,程序员不能直接创建所需类的对象来加以运行,而必须实例化一个Thread类,从这个实例的内部来运行它。Java语言源码中Runnable接口只包含了一个抽象方法,即run()方法,该方法必须由实现了此Runnable接口的类实现。对于Thread类,所有以此类派生的子类或者间接子类均为线程,使用时必须覆盖Thread的run()方法来完成工作,通过start()方法来调用run()方法启动线程。相对来说通过Thread类来实现线程较为简单方便。 本系统采用线程的原因在于:第一,线程间的通讯是非常简单而有效的,上下文切换非常快,并且是整个大程序的一部分切换。利用线程可以很好地解决网络程序中的许多问题,如大量的文件资源的读写、用户输入响应等。第二,线程面向在非特定的时间内处理完的请求,对每个请求由服务器的线程处理。 考虑到系统的功能和层次结构并不复杂,因而采用Thread类来实现线程,以降低程序编码的复杂度,增强代码的可读性,使程序更简洁、清晰、明了。 3. 系统需求分析 进行应用软件系统的研发,首先必须得了解与分析用户的需求。需求分析是整个设计过程的基础,它将直接影响应用程序的开发速度与质量。 FlowAnalyzer流量分析系统是完成网络流量7层实时管理的硬件设备,以Linux操作系统为后台,前台由Java语言实现。而本课题就是有关实现其操作的前台部分。 由于FlowAnalyzer流量分析系统要实现对大型网络的实时流量分析,历史流量统计,流量异常告警,流量趋势分析等功能,从而更好的发现网络异常流量,有效监控用户上网行为,并为网络扩容投资提供科学的决策数据,所以决定了它必须实现以下需求。 3.1产品设计原则 FlowAnalyzer产品以市场为产品涉及规划导向。当产品设计细节意见之间发生冲突时,以下原则为讨论解决的基础。 l 目标客户:大型行业优质客户 l 目标需求:互联网出口精细化管控需求 l 操作者:大型行业客户网络管理员 l 核心功能:应用层识别 + QoS 管理 l 部署模式:透明桥接为主,兼容旁路分析 l 性能要求:在满足企业出口管理性能需求的基础上兼顾企业内网互联接口性能要求 3.2产品总体要求 l 呼应性:分析功能必须和策略功能一一对应,即分析有什么内容,采取什么模式,则策略功能里面必须有相应的管理功能; l 简便性:分析功能和配置功能必须满足简便性,即分析出来的重点对象(用户或者应用)必须方便的导出为配置项,即被管对象; l 独立性:功能模块保持独立性,即所有的独立的功能模块必须方便的被加载或者卸载不会造成系统功能的运行问题; l 逻辑性:界面操作的逻辑性要求,即逻辑上各个同级功能模块之间必须有一个明显的逻辑关系; l 方向性:操作的方向性,即进行某个目的的操作,操作的界面顺序必须保证一个方向(从上到下或者从左到右)不允许忽上忽下,忽左忽右,造成操作者的混乱; l 方便性:使用的方便性,所有的菜单不应超出三级,所有的设置鼠标操作不得超过3下必须进入最终设置界面; l 一致性:界面的一致性,类似功能的界面元素设置保持一致性,即不会在某些菜单有功能连接,但是在类似功能处却没有这样的设置; l 快速性:操作相应的快速性,保证每项操作的相应时间是一定的,在忍受范围之内的;对于一些常用的功能,必须保证响应的迅速; l 便捷性:常用操作的快速访问,保证常用的操作能够一键访问; l 易用性:用户引导系统,设备必须有低端用户常用配置的引导方式,帮助低级用户或者培养配置习惯; l 友好性:帮助系统,设备管理界面必须内置方便快捷的帮助系统。帮助系统不仅包括完整的帮助文件,而且在不同的界面中需要内置帮助提示,而且帮助提示不能构干扰正常系统的使用。 3.3产品性能和可靠性要求 作为网络流量监控设备,性能和可靠性要求非常高,以下是性能及可靠性指标,如表3.1: 表 3.1 FlowAnalyzer性能及可靠性要求列表 产品型号 FlowAnalyzer 1U FlowAnalyzer 2U 性能和容量 最高吞吐量 200Mbps (全双工) 500Mbps (全双工) 最高并发连接数 2,000,000 4,000,000 新建并发连接数 10,000/s 20,000/s 最大并发用户数 2,000 5,000 最大策略数 4,000 8,000 最大服务数 4,000 8,000 可靠性 无故障运行时间 1万小时 1万小时 旁路切换时间 电旁路 < 1s 电旁路 < 1s 光旁路< 50ms 冗余电源 N/A 支持 冗余风扇 N/A 支持 3.4产品硬件要求 由于本系统是基于Linux硬件设备的,所以对硬件有所要求。以下是硬件指标,如表3.2: 表 3.2 FlowAnalyzer硬件要求列表 产品型号 FlowAnalyzer 1U FlowAnalyzer 2U 硬件指标 平台类型 X86 电源 AC 90-260V@47-63Hz,Full Range 整体功耗 ≤ 45 W 工作温度 -5 ℃ 至 50 ℃ 存储温度 -40 ℃ 至 70 ℃ 工作湿度 5%-90%@50℃ 存储湿度 5%-95% 物理参数 主机尺寸 1U 19” 2U 19” 旁路尺寸 内置(电口) 内置(电口) 1U 19”单路无源光旁路 重量 <6 kg <8 kg 相关认证 EMC FCC part 15,Full CE Mark,EN500 82-1 CCC 安全 UL 60950,ULC 60950,IEC 60950,RoHS 3.5产品软件要求 有关前台操作的软件指标,如表3.3: 表 3.3 FlowAnalyzer软件要求列表 产品型号 FlowAnalyzer 1U FlowAnalyzer 2U 优先级 阶段 封装形式 2 层封装 Ethernet II 高 1 VLAN标签 4层 高 1 MPLS 标签 4层 低 3 用户识别 IP 地址映射 支持 高 1 IP 网段映射 支持 高 1 MAC 地址映射 支持 高 1 IP MAC地址对映射 支持 高 1 用户组 支持 高 1 VLAN ID 支持4层 高 1 MPLS标签 支持4层 低 3 本地认证功能 支持 低 3 AD认证接口 支持 低 3 Radius认证接口 支持 低 3 应用识别方法 7层协议识别 支持 高 1 TCP/UDP端口映射 支持 高 1 协议类型映射 支持 高 1 TOS字段映射 支持 高 1 TCP flag 支持 高 1 IP映射 支持 高 1 VLAN id映射 支持 高 1 MPLS标签映射 支持 低 3 组合配置 支持 高 1 应用组定义 支持 高 1 TCP/UDP自定义 支持 高 1 协议字段自定义 支持 高 1 应用识别类型 敏感信息 http敏感信息检测和实时管理;即时聊天敏感信息检测 低 3 http URL 基于URL的网站访问控制 中 2 P2P下载 bitTorrent、eMule、eDonkey、Gnutella、poco、vagaa、xunlei、maze、tuo
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服