相关电子技术论文

相关标签

BCDC数据中心网络性质演示系统

发布时间:2019-11-30 09:57

  摘 要

  上世纪六十年代到七十年代,计算机网络诞生。网络架构也一并发展,与时俱进。当今社会已经全面迈进互联网时代,一个网络内同时有上亿的用户在收发数据,如此庞大的数据通信量对整个网络的架构的性能和鲁棒性提出了非常高的要求。本文涉及的BCDC网络就是在这样的时代背景下,为了处理大数据而提出一种网络架构。

  BCDC 网络是一种高性能,以数据为中心的网络,它的原型来自常见的超立方体网络模型。BCDC网络需要适用于多种路由场景,例如,一对一路由,一对多路由,一对所有或广播)或所有对所有路由。 BCDC能够做到在这几种模式下都能实现高效,安全的通信。

  本文首先简要介绍有关BCDC网络的拓扑性质和课题的研究背景。其次,描述BCDC数据网络上拓扑图形的生成和独立生成树的构造。包括本系统提出的BCDC网络的构造算法,独立生成树的构造算法。最后着重于网络性质的演示系统。

  在设计这个网络性质演示系统的之前,首先进行了需求分析,提出了总体目标,接着,参照前人的经验,将需要演示的各个模块划分,得出一份详细设计的方案。本文的最后就是本文所设计的系统的展示。本系统采用了一个跨平台的技术JSP+JavaScript,来实现页面的展示与动态交互。

  关键词:Crossed Cube;BCDC;独立生成树;JSP;JavaScript

  近年来,互联网的迅速发展,催生了许许多多的新事物,如:在线搜索,电子商务,网络游戏,在线视频,云存储,和网络基础设施服务等,不一而足。这些服务无一不是建立在巨大的巨大的数据网络中心之上,这些巨大的数据中心网络上同时运行的服务器数量达到百万级别。以前一直沿用的网络架构其性能早已达到瓶颈,BCDC网络是近年来为了解决大数据和云计算技术遇到的瓶颈,应运而生的一种网络架构,其具有诸多优良的网络性质,如网络容量,扩展性,容错率,通讯性能,等。近年来受到众多从事网络研究工作的专家和学者们的青睐。

  BCDC网络能够容纳台服务器,而且,当网络的直径增加1,整个网络的容量按指数级别增长,才能够承受每日数十亿次的计算和服务带来的负荷,网络中的每一台服务器都连接着多个端口,这对于高并发的系统而言有着特别重要的意义。

  通常在BCDC网络中,节点分为两种,一种是连接各个网络端口的服务器,另一种则是与不同层次的服务器交互的交换机。服务器连接多个端口,交换机连接多个服务器,交换机与交换机,服务器与服务器都不直接相连,这样的设计减少了无效的数据传输。

  第一章 绪论

  本章节首先引入Crossed Cube和BCDC这两个概念,然后探究这两个事物诞生的原因和背景,其次讨论BCDC在实际生活中的作用,最后介绍本文的主要工作和组织结构。

  1.1课题的背景

  智能手机的出现,将整个世界带入到移动互联网时代。国家为了顺应时代发展,提出了“互联网+”的概念,掀起了一股互联网创业浪潮,众多的创业公司如雨后春笋,顺势而生。它们已经将网络蔓延至本系统身边的每一一个角落,街头巷尾都能看见的移动支付就是最好的证明。移动互联网时代,流量依旧是各大互联网公司能否立足的唯一指标。智能手机凭借它的便携性,易用性,将整个网络规模也提升到了一个令人吃惊的高度。庞大的用户基数,带来的的是庞大的数据量,如洪水一般在整个互联网中传播,以前的服务器、处理器所需要处理的数据量也提高了几个量级。这样的背景下,“大数据”、“云计算”等新名词也在一夜之间家喻户晓。

  云计算技术是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物。

  云计算中心可能要同时为成千上万的用户提供服务,很多时候,用户的需求都是实时的,而且是高并发的,这对网络的传输效率,传输的可靠性,容错性提出了很高的要求。

  传统的网络架构处理如此多的数据渐渐显得捉襟见肘,无法满足网络发展的需求,超高的负荷在挤压它的每一点性能,即使网络架构经过了无数次的改良,但它的性能已然到达了瓶颈,因此本系统迫切的需要一个高性能、大容量、易扩展、容错性好的不同于传统的网络架构,来应对日益庞大的用户需求。

  BCDC网络正是本系统为了替代当前的网络架构而进行的尝试。

  1.2 BCDC网络的相关介绍

  BCDC网络是一种以数据中心网络,但同时又是一个以服务为中心的网络,交换机与服务器直接相连,交换机与交换机、服务器与服务器都不直接相连,这样的设计减少了无效的数据传输

  1.3主要工作

  本文的所做的工作,主要是研究BCDC网络的及其独立生成树的构造问题,提出一个直径较小的独立生成树的构造算法。系统开发部分主要用来辅助演示,介绍BCDC独立生成树的物理结构,逻辑结构,以及其中一种完全独立生成树的构造过程。

  本软件采用HTML5+JSP+JavaScript作为开发工具,使用eclipse作为开发平台,主要是演示Crossed Cube 和 BCDC 网络的结构,展示Crossed Cube 和BCDC网络的独立生成树的构造过程,这个过程也正是网络之中数据通讯的过程。同时用户能够看到两种网络从3维至9维的的结构。

  本软件具有的功能包括:BCDC网络3-9维的结构演示,Crossed Cube 网络3-9维的结构演示。Crossed Cube网络3-9维的独立生成树的构造演示,BCDC网络3-9维的独立生成树的构造演示。

  本软件划分为如下模块:

  (1) 菜单模块

  用户打开指定页面就能看见系统主页,主页包含了系统信息,系统功能菜单。

  (2) 性质演示模块

  分为四个模块,一是Crossed Cube网络的结构及性质演示,二是BCDC网络的结构演示,三是Crossed Cube网络的独立生成树的构造演示,四是BCDC网络的独立生成树的构造演示。

  1.4组织结构

  本文总共分成六个章节,各个章节的内容安排如下:

  第一章:绪论部分,主要介绍本课题的研究背景,BCDC的一些基本性质,本文所做的一些主要工作,以及论文的组织结构。

  第二章:主要介绍开发本系统所使用的主要技术以及Crossed Cube网络的定义,BCDC网络的定义,Crossed Cube网络的基本性质,BCDC网络的基本性质。

  BCDC数据中心网络的定义性质,定理和相关引理,为接下来独立生成树的算法提供理论基础。

  第三章:进行需求分析,列出本软件需要的功能模块,以及各个模块的实现方式,采用的技术等。

  第四章:对系统软件进行概要的设计,详细列出每一个功能模块,将每个功能抽象的表示出来。接着,进行详细设计,将每一个功能具体化。

  第五章:系统功能的测试与展示。

  第六章:本次毕业设计的结束语。

  最后为本文的参考文献以及致谢部分。

  第二章 预备知识及技术简介

  本章通过引入图的概念来描述通信网络的结果,并在此基础上介绍BCDC网络的递归性质。本系统基于Html 5中的Canvas技术,采用Eclipse作为开发平台,结合Java Servlet组件、Java语言和JavaScript语言。在本章中将对这些技术做简要的介绍。

  2.1 Crossed Cube网络的定义和构造

  2.8 JSP、JavaScript和Sigema.js

  2.8.1 JSP+Html 5标签的使用介绍

  JSP(Java Server Page),它在HTML中插入java程序和JSP标签,生成后缀名为*.jsp的文件。JSP能够生成动态网页,实时响应用户的请求,页面也是动态加载,比单一的HTML页面有更好的呈现效果和交互性,在web应用开发中受到广泛的应用。JSP与Java相同都是跨平台。HTML中插入Java代码,只需在HTML文本的标签内的任意位置中添加标签。标签内就能够编写代码,也能够调用java本身的类和库,使用标签能够定义Java函数,用来处理前端传来的数据,响应前端的操作,最后返回一个结果给前端,整个的JSP页面的操作都是对用户透明的。

  HTML(超文本标记语言)是一种在各个浏览器中都通用的语言,它具有跨平台的特性,语法简单,容易学习,*.html本质上还是文本文件,不需要专门的编辑器来编写。

  2.8.3 Sigma.js

  Sigma.js是一个开源的,专门用于绘图的JavaScript库。它使得在Web网络上编辑和发布页面变得更容易容易,并且允许开发人员在Web应用程序中集成网络分析功能。它的目标是简化基础使用场景,同时也支持整合以用于更加复杂的应用:

  · 以几个内建特性为例,本系统可以看到它让开发者能够轻松实现多点触摸、平滑缩放并应对窗台大小调整。

  · 它提供了一些更加复杂的特性,并以插件的形式实现了它们。

  · 它的API和事件系统简化了与图形之间的交互。

  Sigma.js库的使用方法如下:

  第三章 需求分析

  3.1功能性需求

  一个演示系统,需要有与用户的交互界面,而不仅仅是页面的展示,页面需要动态的效果,能够依据用户的输入做出响应,而不单单是按照事先设定的流程一步步呈现。

  首要的就是一个菜单选项,用户通过菜单知道该系统的功能,同时通过菜单实现与系统的交互。

  其次,需要一个展示的区域,将用户请求的结果呈现出来。需要展示的页面有:不同纬度的Crossed Cube网络结构,不同纬度的BCDC网络结构,不同纬度,不同根节点的Crossed Cube生成树;不同纬度,不同根节点的BCDC生成树。

  然后,本系统要让用户直观地看到网络结构的信息,所以需要一个介绍当前网络结构的模块。

  最后,网络中的每一个节点都是携带着信息,用户如果想要知道某个确定的节点的信息,本系统要提供一个搜索节点的功能,同时还需要一个节点信息展示的面板。当用户用鼠标随机选择一个点,信息面板也能够显示出这个节点的相关信息。

  3.2 非功能性需求

  本系统的代码编写工作主要是在Eclipse中完成,采用java,HTML和JavaScript等语言。运行在Windows xp系统下。

  上述只是前期的相关环境,下面则是系统开发之前的准备工作。首先明确功能是否能实现。

  在研读论文的过程中理解文献中给出的几个构造算法的伪代码,然后使用java语言将其实现。在经过了深入的学习和充足的准备之后,可以确信这一点是可以做到的。

  在文献里,笔者发现Crossed Cube和BCDC网络都是递归构造的,这意味着,每构造一个网络,都必须从二维开始进行递归计算。而且,二维的Crossed Cube网络和BCDC网络的数据需要自己动手构造,作为初始的输入数据。

  当用户想要看到一个高维度的网络结构,如果还要从二维开始计算,费时费力,无法达到实时呈现的效果,显然这样的系统是不能满足用户的要求的。为了减少计算量,提高响应速度,本系统将每一维的数据都放在文件中保存,这样,当用户想要再次看到一个已经出现过的页面,后台不需要从二维开始计算,而是直接从文件中读取当前维度的数据,呈现在页面上。

  除此之外,当用户想要看到一个高维的网络拓扑,程序只需从保存的最高维的文件读取,进行递归计算,这样就能够大大减少计算量。避免重复计算低维度的数据。而且,当一个高维的网络被构造出来,所有比之低的维度的网络的数据也都一并生成并被保存,如此一来,就可以做到,每一维度的网络节点数据和边数据仅需要计算一次,而无论用户何时想要看到新的网络拓扑,系统都能很快的作出响应 。

  为了方便处理,本系统使用*.csv文件格式保存生成的数据。*.csv是一种文本类型,每一行的数据用逗号隔开,成为一列。因此,这种文件又叫逗号分隔值文件。如下所示,分号左右两边表示一条边的两个顶点,程序只需要根据分号进行分割,就能够得到两个点的标签。

  第四章 系统设计

  BCDC网络是在Crossed Cube的基础上改造的,想要了解BCDC的网络结构,以及构造方法,必须先进行Crossed Cube网络的构造过程。所以本文设计的BCDC网络性质演示系统演示系统会包括Crossed Cube网络的构造与演示。

  4.1概要设计

  本系统划分成四个模块:

  (1) 菜单模块

  包括四个一级菜单:

  1. Crossed Cube,点击之后会展开Crossed Cube各个维度的二级菜单列表。

  2. BCDC,点击之后展开BCDC网络各个维度的二级菜单列表。

  3. Crossed Cube IST,点击之后,右侧会显示Crossed Cube网络独立生成树的 构造信息输入页面。

  4. BCDC IST,点击之后,右侧会显示BCDC网络独立生成树的构造信息输入 页面。

  若干个二级菜单:

  1. Crossed Cube 3-9维的页面菜单

  2. BCDC 3-9维的页面菜单

  (2) 网络整体的信息展示模块

  描述网络的属性需要从两个方面着手,第一就是网络的整体属性,内容如下:

  1. 网络的名称

  2. 网络中节点的个数,边的个数

  3. 在网络中搜索某一个固定节点

  4. 节点分组功能

  (3) 单个节点的信息展示模块

  能够体现网络属性的第二个方面就是网络内单个节点的属性,内容如下:

  1. 节点标签

  2. Eccentricity

  3. Closeness Centrality

  4. 度

  5. Betweenness Centrality

  6. Harmonic Closeness Centrality

  7. 相邻节点的标签

  (4) 用户输入模块

  1. 网络的维度

  2. 根节点序号

  3. 生成树的序号

  4.2 详细设计

  针对上述概要设计,现将四个模块的功能具体拆分、细化如下:

  1. 菜单模块

  用户点击左侧菜单中的某一项,右侧的展示模块跳转到相应的页面。

  点击Crossed Cube或BCDC,左侧菜单打开二级菜单,用户选择一个二级菜单,右侧跳转到相应的Crossed Cube,BCDC网络展示页面。

  点击Crossed Cube IST 或者BCDC IST网络,右侧跳转到Crossed Cube,BCDC独立生成树的构造页面,该页面上有一个下拉菜单,一个文本输入框输入根节点,一个文本输入框输入生成树编号。一个“ok”按钮,点击按钮,用户输入的数据会被提交到后台,点击“show”按钮,页面上会画出对应维度的Crossed Cube的网络结构图。

  2. 网络整体信息模块

  在网络结构图的左侧,有一个悬浮的窗口,里面列举了网络的主要信息:

  (1) 网络的标题

  (2) 一个标签,点击之后,页面会出现一个窗口,里面会显示关于当前网络的更多的信息。

  (3) 节点数和边数,以及颜色值

  (4) 一个搜索框,根据输入的标签搜索指定的节点和与它相邻的节点并在页面上展示出来。

  3. 节点信息显示模块

  该模块显示网络中每个节点的相关属性,内容如下:

  (1) 节点标签以二进制字符串的形式显示当前节点的标签。

  (2) 计算出当前节点的Eccentricity,Closeness Centrality,Degree,Betweenness Centrality,Harmonic Closeness Centrality。

  (3) 列举与当前节点直接相邻的所有节点的标签。点击某个节点的标签,信息面板的信息会随之改变。展示模块的内容也会随之改变。

  4. 用户输入模

  能够支持其他类型的网络的嵌入,在另一方面体现了Crossed Cube网络的扩展性,这对于解决大数据,高并1发,高性能计算都有着重大的意义。

  本文的主要工作如下,主要分两个部分,其一,前人论文的研究和学习,其二,系统实现:

  (1) 理论学习部分

  本篇文章并未做出创新性的研究成果,只是将前人的理论成果做成一个实际的应用程序,本文涉及的网络的定义,网络的性质,两种网络的构造算法都是前人研究并证明得出的正确的结论。在研究前人论文的过程中,我学到了研究一种新事物或者新技术的方法,首先要有严格的定义,提出的每一条定理或者得出的结论都应该辅以一套严谨的推理证明。

  以Crossed Cube 为基础的BCDC网络将网络中的服务器和交换机抽象成节点,将他们之间的连接关系抽象成边。从网络结构图中,本系统就能得知整个网络内交换机与服务器之间的连接关系。在此基础上,本系统进行Crossed Cube网络上独立生成树和BCDC网络的独立生成树的构造,独立生成树在本系统探讨一对一路由,一对多路由,一对所有路由,所有对所有路由等几种路由模式下,能否进行可靠通讯、信息的安全分发时有着有着重要的作用。不同于以往的数据中心网络,BCDC网络同时也是以服务为中心。

  在进行BCDC网络的独立生成树的构造时,本系统同时证明了BCDC网络的直径为

  (2) 系统部分

  主要的内容就是网络结构和网络属性的动态演示,用户能够选择不同维度的网络,进行构造,一次了解BCDC和Crossed Cube网络的结构以及相关属性,同时在分析不同纬度的网络结构时,也能发现这两种网络的某些随着维度而改变的属性和性质,比如:Crossed Cube网络的节点数n是维度)。在对比同一纬度的Crossed Cube和BCCD时,用户能够直观地感受到Crossed Cube 和BCDC 网络之间的关系,比如:Crossed Cube网络的边数和同纬度的BCDC网络的节点数是相等的。这正符合本文当初对BCDC网络的定义,BCDC网络将Crossed Cube网络中的一条边转换成一个点。

  6.2后续工作展望

  本系统的功能还不是太完善,需要改进的的地方有很多。首先,界面太过于简单,没有给人眼前一亮的感觉。网络结构能够展示出来,但是方便用户操作的交互功能,还不够多,更多时候,用户只能看到本系统在页面上呈现的信息,用户想要能够自主使用整个系统去发现关于当前网络结构的更多信息,这一方面做的还不够好。

  此外,用户只能看到菜单中列举出的几个维度的网络结构,

  在构造生成树的时候只是构造单一的树,没有进行并行构造,并行构造更能表现出生成树定义中的不相交路径这个概念。

  最后,本文对BCDC网路的性质只是进行了部分的探讨,它还有许多新的性质等待研究者们去挖掘,本系统的工作只是微不足道的细枝末节

毕业论文:http://www.3lunwen.com/jsj/dzjs/5313.html

上一篇:100G偏振复用正交调制光纤通信系统设计与实现

下一篇:没有了

     移动版:BCDC数据中心网络性质演示系统

本文标签:
最新论文