FDS’s Blog

2011年5月12日

[软考]Internet数据库建设方案比较

Filed under: 计算机考试 — liaowei @ 14:33

  在Internet应用中,除设计静态网页以外,通过数据库进行数据管理和根据查询生成动态网页也是其中极其重要的一部分,一方面,数据库提高了数据管理的能力,使得数据可以重用和进行必要的数据分析;另一方面,通过数据库进行动态网页的生成,大大提高了网页设计和开发的效率,减少了静态网页的设计和开发任务,并保证了Internet应用的数据一致性和设计风格的一致性,同时数据库还大大提高了Internet应用数据维护的方便性和效率。然而,通过数据库建设Internet应用,也存在数据库选型问题,即选用什么数据库,能够对数据库实现什么样的检索能力,具有什么样的检索效率,也是用户必须考虑的问题。

  在90年代初期,用户设计和开发Internet应用时,只有唯一的选择,即必须采用关系数据库,通过应用服务器和各种中间件产品,实现对数据库的数据检索、维护和显示。然而,随着技术的不断发展,这种局面正在改变,用户可以有更多的选择机会,采用不同的数据库产品、不同的查询和检索方式来设计和构造自己的Internet应用。
从严格意义上说,传统关系数据库经过了多年的针对Internet应用的发展和完善,具有自己的传统意义上的优势。针对Internet网上应用而设计和开发的产品,则克服了传统关系数据库在Internet应用上的一些局限,大大提高了网上应用的效率。

  下面仅就Internet应用中数据库建设的几种方案进行比较:

一、 关系数据库建设方案

  关系数据库最初设计目标是基于主机/终端方式的大型机上的应用,应用范围较为有限,随着客户机/服务器方式的流行和应用向客户机方的分解,关系数据库又经历了客户机/服务器时代,并获得了极大的发展。随着Internet应用的普及,由于Internet上信息资源的复杂性和不规范性,关系数据库初期在开发各种网上应用时显得力不从心,表现在无法管理各种网上的复杂的文档型和多媒体型数据资源。后来关系数据库对于这些需求作出了一些适应性调整,如增加数据库的面向对象成分以增加处理多种复杂数据类型的能力,增加各种中间件以扩展基于Internet应用能力,通过应用服务器解释执行各种HTML中嵌入脚本来解决Internet应用中数据库数据的显示、维护、输出以及到HTML的格式转换等。此时关系数据库的基于Internet应用的模式典型表现为一种三层或四层的多层结构。

  在这种多层结构体系下,关系数据库解决了数据库的Internet应用的方法问题,使得基于关系数据库能够开发各种网上数据库数据的发布、检索、维护、数据管理等一般性应用。

  但是可以说关系数据库从设计之初并没有也不可能考虑到以HTTP为基础、HTML为文件格式的因特网的需求,只是在因特网出现后才作出相应的调整,因此关系数据库在基于Internet应用时由于结构模型等原因的限制,不能与Internet完全融合,需在Internet与数据库之间加入大量的中间件,从而在无形中加大了数据库基于网络应用的难度。并且对于网络环境下Internet应用,如各种非结构化文档信息、多媒体信息以及全文检索需求显得力不从心。虽然后来关系数据库对于这些需求作出了一些适应性调整,但对于网络环境下Internet应用不可或缺的检索效率、全文检索能力等却无法解决。同时,关系数据库的基于中间件的解决方案又给Internet应用带来了新的网络瓶颈,应用服务器端由于与数据库频繁交互,因其本身的效率和数据库检索的效率造成Internet应用在应用服务器端的阻塞。

二、 iBASE非结构化数据库建设方案

  Internet的迅猛发展使数据库应用环境发生了巨大的变化。电子商务、Web 医院、远程教育、移动计算等都需要新的数据库技术支持。因此,对半结构化和无结构数据模型的描述、管理、查询和安全控制等问题的研究已成为新的研究课题,特别是Web数据库发展是新热点和难题。

  从数据库技术发展的角度看,以前通过浏览器访问数据库的唯一渠道是CGI,随后又出现ISAPI、NSAPI和ODBC、JDBC、ASP、PHP、JSP等技术方案,但均没有实现Web服务器和数据库服务器的有机结合,让数据库系统和技术成为Web的重要有机组成部分。

  iBASE非结构化数据库在出现之前经过了近10年的研发,在充分考虑到因特网的实际和需求的前提下,北京国信贝斯软件有限公司(http://www. ibase.com.cn)基于自己的非结构化数据库和全文检索技术,将TCP/IP、HTTP协议、HTML语言等网络技术紧密结合,推出iBASE WEB非结构化网络数据库系统。iBASE WEB非结构化网络数据库系统提供了将iBASE非结构化数据库和各种传统关系数据库方便上网发布的能力,同时对于数据库的网上发布还提供了极高的检索效率和强大的全文检索能力,能够满足网络环境下各种Internet应用的需要。

  针对Internet应用的特殊性,iBASE非结构化网络数据库系统主要解决了Internet数据库应用的几大难点:

1、文档型和多媒体数据类型的支持问题


  在Internet应用中,存在大量的复杂数据类型,如各种超文本文档信息,各种图片、声音等多媒体信息资源,如何对这些信息资源进行有效的存储、管理、检索,是Internet数据库必须解决的问题,iBASE非结构化网络数据库系统通过其外部文件数据类型,可以管理各种文档信息、多媒体信息,并且,对于各种具有检索意义的文档信息资源,如HTML、DOC、RTF、TXT等还提供了强大的全文检索能力。

2、数据库的全文检索问题

   在Internet应用中,由于信息资源极其繁多,如何从浩瀚的信息海洋中查找到所需的信息,如何保证所查询信息的全面性和准确性,也是一个Internet数据库应用必须解决的问题。iBASE非结构化网络数据库系统通过其独特的索引技术和基于布尔检索表达式的查询检索算法,解决了基于字段级和数据库级的全文检索问题,用户可以针对数据库中特定的字段也可针对整个数据库进行全文检索,从而从数据库中检索出感兴趣的内容。同时,其强大的索引表达式构造能力和布尔检索表达式解析能力,使用户可以构造极其灵活的Internet数据库全文检索应用。

3、Internet数据库应用中的查询和检索效率问题

  作为Internet应用,由于需要面对大量的用户群和大量的瞬时并发数据库查询检索,其数据库查询和检索效率就是一个极其关键的问题。iBASE非结构化网络数据库系统主要通过以下途径来保证数据库查询和检索的效率。

  iBASE非结构化网络数据库系统提供了重复字段和子字段的支持能力,通过这种能力,在构造数据库时,可以实现数据库的一条记录中一维表和二维表嵌套,从而避免了关系数据库在大数据量时由于表连接查询而导致的查询检索性能的急剧降低。

  作为Internet数据库应用,一般采用多层结构,由于多层结构以及各种中间件产品在相互连接和交互时,需要交换大量信息和占用处理器资源,也会导致Internet数据库应用性能的降低。iBASE非结构化网络数据库系统实现了WEB Server、Application Server、DB Server的紧密集成,使数据库系统和技术成为Web的一个重要有机组成部分,实现数据库和Web的有机组合。

4、对现有Internet应用的全文检索支持问题

  iBASE非结构化网络数据库系统不仅能够支持iBASE非结构化数据库的直接上网发布和全文检索,对于传统关系型数据库,如Oracle、SYBASE、SQL Server、DB2、Informix等,也提供了导入和链结的支持能力,用户可以采用导入方式,将传统关系数据库转换为iBASE非结构化数据库,再进行网上发布和开发全文检索应用;用户也可采用链结方式,对传统关系数据库构建本地化索引,从而通过本地化索引实现对关系数据库的全文检索支持,iBASE非结构化网络数据库系统充当关系数据库应用服务器,系统的检索效率也将受关系数据库自身检索效率和应用服务器交互效率的影响。

三、 Internet数据库方案比较

  Internet数据库建设到底采用何种数据库,摆在用户面前的至少有三种方案:关系数据库建设方案、iBASE非结构化网络数据库建设方案、关系数据库和iBASE非结构化网络数据库共存方案。

  在事务处理和数值计算方面,由于关系数据库经过了多年的发展,其在事务处理、数值计算方面具有强大的能力并已被证实,而iBASE数据库目前在事务处理和对于数值计算方面的支持则相对薄弱,因此,对于偏向事务处理和数值计算方面的Internet数据库建设,关系数据库建设方案应该说更有优势。

  在对于超文本、文档信息管理和数据库全文检索方面,关系数据库通过其MEMO或TEXT字段等也能实现这种信息的存储,而对于这些信息或数据库的全文检索,关系数据库则显得捉襟见肘。虽然一些网站通过关系数据库构造了一些所谓的“全文搜索引擎”,但实质上,只是在关系数据库中进行基于字段的一种字符串匹配检索,检索时需要对数据库进行顺序扫描,效率极其低下,在数据量较少时尚可胜任,但任何一个Internet应用是不但发展的,随着数据量的不但增大,这种检索方式的必将成为Internet应用的效率及发展的致命的瓶颈。而iBASE WEB非结构化网络数据库系统则完全解决了网上数据库的全文检索问题,通过其独特的单汉字、单英文词、英文字母的索引方式及B*树索引算法,能够高效地解决数据库的网上全文检索问题,构造出强大的网上全文搜索引擎。因此,在对于超文本、文档信息管理和数据库全文检索方面,iBASE非结构化网络数据库建设方案应为首选。

  然而,Internet数据库建设并不能从严格意义上按以上两种情况进行区分,但有一点可以肯定的是,大多数Internet应用都会有全文检索或构建搜索引擎的需求,从理论上讲,除事务处理能力外,iBASE非结构化网络数据库能够处理所有关系数据库支持的Internet应用方式,并能对数据库进行全文检索扩展,也就是说,完全可以利用iBASE非结构化网络数据库构建独立的Internet应用。

  对于一些特殊的Internet应用,我们也可以采用关系数据库和iBASE非结构化网络数据库两者共存的建设方案,实现两者的无缝集成,以发挥两者各自的长处。

[软考]数据库为网格设计

Filed under: 计算机考试 — liaowei @ 14:33

作为一名网格用户,您最关心的是什么?

  答案是网格计算作为类似于电力网或电话网等公用设施一样的计算模式,用户只需要关心数据及进行计算的位置。因为从服务器端来看,网格与虚拟化和供应有关。将所有的资源集中在一起,然后根据业务需求动态地供应这些资源,从而可以同时实现更好的资源利用率。由此看来,网格计算正在改变着计算经济学。

转向网格计算

  从IT 行业的趋势来看,企业也正在向网格计算转移,这在很大程度上是由硬件革新——低成本的刀片服务器驱动的。同时,共享存储技术也简化了硬件的虚拟化和供应,硬件供应商也开始提供实现硬件虚拟化和供应的管理软件。而只有当运行在硬件上的软件能够有效利用硬件革新时,这些革新才更有价值。

硬件趋势

  使网格计算成为可能的主要原因是围绕着硬件的革新。例如:

  · 处理器 新的低成本、高容量的Intel Itanium 2、Sun SPARC 和IBM PowerPC 64 位处理器所提供的性能等于或者优于在高端SMP 服务器中使用的处理器。

  · 服务器 与同类产品相比,刀片服务器技术以其极低的成本提供了较高的密集计算能力。由于这些刀片服务器还自带了远程管理功能,使得数据中心管理员可以较为容易地管理这些系统。

  · 网络化存储 目前,网络附加存储(NAS) 和存储区域网(SAN) 在数据中心中已经得到了广泛的应用,存储已不再局限在单台服务器上。

  · 网络互联 千兆位以太网和无限带宽互联技术正不断降低连接服务器集群的成本。

软件趋势

  在软件中,Linux 继续保持比其它任何OS 更快的发展势头。今天,尽管Linux 还不能适应大型的SMP,但由于刀片服务器有1~4个CPU,Linux 已经可以在其上很好地运行。刀片服务器优于SMP的经济优势将使得刀片服务器占据市场支配地位。另外,由于Linux 本身所具有的价格优势,随着刀片服务器数量的增多,这将变得更加重要,从而也将加速Linux的普遍采用。因此,标准的低成本刀片服务器集群自然与Linux非常相配。

简化网格管理

  Oracle数据库10g是第一个为网格计算设计的数据库。它利用了基于网格的硬件革新,并使用户更容易地在这些标准化、模块化的硬件组件上安装和配置Oracle数据库。作为网格资源(服务器和存储器)的消费者以及数据的提供者,Oracle 数据库10g利用了网格计算的三个基本属性(每一层计算堆栈之间的虚拟化、基于企业策略和动态需求的工作和资源供应、集中资源以提高利用率),使Oracle 数据库使用硬件组件(存储器和服务器)的方式虚拟化。它自动地将集群化的存储器和服务器供应给运行在网格中的不同数据库。作为数据的提供者,Oracle数据库10g提供了各种技术,Oracle管理员可以利用这些技术来为网格用户和应用程序集中、虚拟化和供应数据。此外,运行在网格上的企业在安全性、高可用性、自依赖性和可管理性方面还具有严格的操作要求。

  Oracle数据库10g 自身所具有的技术优势,简化了网格的管理和操作。具体地说,该数据库的特点如下:

自动存储管理

  自动存储管理(ASM)使存储虚拟化,并且提供了轻松的数据库存储供应。用户可以使用标准、低成本、模块化的组件来存储所有的Oracle 数据,也可以使用单个ASM来为多个Oracle 数据库管理存储。ASM仅要求用户管理少量的磁盘组,而不是管理许多数据库文件。一个磁盘组是一组磁盘设备的集合,ASM将其作为单个逻辑单元来管理。另外,用户可以定义一个特别的磁盘组作为数据库的默认磁盘组,Oracle 自动为该数据库分配存储资源,以及创建或删除与该数据库相关的文件。

  ASM还提供了一些存储技术方面的功能,如镜像或逻辑卷管理器(LVM)。类似于这些技术,ASM 使用户能够从单独磁盘设备的集合中创建单一磁盘组。它可以跨磁盘组中的所有设备均衡到该磁盘组的I/O,并执行条带划分和镜像存储来改善I/O 性能和数据可靠性。当存储配置发生变化时,ASM 都将自动再均衡数据库的存储资源。

可移植的集群组件

  集群组件是为集群中服务器间的通信提供集群化服务的软件。在Oracle 数据库10g 之前,用户可以依赖硬件供应商来提供其平台上的集群组件(除了Linux 和Windows 平台)。Oracle只为Linux 和Windows 平台提供集群组件,Oracle 数据库10g 现在提供了可移植的集群组件。也就是说,Oracle 提供了一个可以在所有平台上运行的集群组件,用户不需要依赖供应商提供的集群组件。这也会给他们带来很多好处,如:有单个支持点,不需要依靠多个供应商来解决支持问题;诊断和解决问题变得容易,没有任何由供应商施加的限制,利用可移植的集群组件,即可将集群扩大为任何想要的规模。

  此外,Oracle 也便于用户安装可移植集群。利用单次安装,用户可以确定希望安装可移植集群组件的节点,Oracle Universal Installer 将在所有这些节点上安装可移植集群组件。

高速无限带宽网络支持

  Oracle数据库10g利用高速互联技术(如无限带宽)提供更好的性能和可伸缩性。用户可以全面使用无限带宽来进行网络通信。它提供了许多好处,主要表现为:无限带宽提供了超过千兆位以太网的许多性能改善;用户可以使用单个网络基础架构来进行不同服务器之间、以及服务器和存储器之间的通信,简化了数据中心的连接需求;利用简化的网络基础架构,用户可以使用单个网络底板,使得网络供应更加容易。利用Oracle数据库10g,用户现在可以使用无限带宽来进行应用服务器到数据库服务器的通信、集群数据库中服务器到服务器的通信,以及服务器到存储器的通信,从而为企业的数据中心提供了全面的性能改善和灵活性。

计算资源供应

  网格计算的宗旨是能够根据不断变化的优先级动态分配资源。Oracle数据库10g 有许多改进和新的功能,便于用户分配计算资源以适应业务需求。

  Oracle Real Application Clister (RAC) 具有标准、低成本、模块化服务器(如刀片服务器)集群的高利用率。用户可以在一个刀片服务器集群上运行单个Oracle 数据库。运行在RAC 上的应用程序,能够动态地利用供应给它们的更多的刀片服务器。同样,当应用程序不再需要这些刀片服务器时,能够容易地释放它们。相反,标准级数据库在标准级组件上具有非常低的利用率。在标准级数据库上,用户需要为高峰负载分配资源并且分配备用资源。只有整个系统停止工作,才能向标准级数据库中添加或删除刀片服务器。由于不进行共享,数据被人为地分区。当增加了更多的刀片服务器时,所有的数据都需要重新分区,并将数据分配给新的刀片服务器。类似地,当需要删除刀片服务器时,在删除前需要重新对数据分区。

  Oracle数据库10g为RAC数据库内的服务提供自动负载管理。当在托管服务的例程间建立连接时,RAC会自动地为这些连接执行负载均衡。此外,利用资源管理器,用户可以制订策略,并给运行在RAC 数据库内的服务分配资源。为了满足这些策略,RAC 将自动向这些服务供应数据库例程。

共振

  Oracle数据库10g的最显著特性之一是共振——自己定义集群。集群是一组服务器的集合,这些服务器通过Oracle 可移植集群组件集群在一起。用户可以在相同的集群上运行许多数据库,并且为这些数据库定义服务策略。共振将动态地增加或减少集群中服务器(个人数据库在其上运行)的数量来满足服务级目标。该任务可以自动完成,无需任何用户干预。

结论

  由于以上只是Oracle数据库10g的主要技术特色,其它的新增功能在此不再赘述。尽管它还没有网格的统一定义,但网格计算本身所存在一些基本属性,可以让企业享受网格的好处。硬件新的革新和新的经济性,使得网格计算在硬件层成为可能,并且切合实际。

  可以说,Oracle数据库10g 利用其强大的安全性、自依赖性和可管理性产品解决了企业网格的严格操作要求。利用Oracle数据库10g中的网格优势,用户可在Oracle 产品中进行投资,并将它作为未来的网格计算技术。

【软考】SQL Server中各个系统表的作用

Filed under: 计算机考试 — liaowei @ 14:33

sysaltfiles 主数据库 保存数据库的文件
  syscharsets 主数据库 字符集与排序顺序
  sysconfigures 主数据库 配置选项
  syscurconfigs 主数据库 当前配置选项
  sysdatabases 主数据库 服务器中的数据库
  syslanguages 主数据库 语言
  syslogins 主数据库 登陆帐号信息
  sysoledbusers 主数据库 链接服务器登陆信息
  sysprocesses 主数据库 进程
  sysremotelogins 主数据库 远程登录帐号
  syscolumns 每个数据库 列
  sysconstrains 每个数据库 限制
  sysfilegroups 每个数据库 文件组
  sysfiles 每个数据库 文件
  sysforeignkeys 每个数据库 外部关键字
  sysindexs 每个数据库 索引
  sysmenbers 每个数据库 角色成员
  sysobjects 每个数据库 所有数据库对象
  syspermissions 每个数据库 权限
  systypes 每个数据库 用户定义数据类型
  sysusers 每个数据库 用户

【软考】MD5算法基础

Filed under: 计算机考试 — liaowei @ 14:33

MD5产生一个128位的HASH值,在经过一写初始树立后,将明文分成了512位的块,再将每一块分成16个32位的子块。算法的输出是4个32位的块,连接起来构成128位的HASH值。
    首先,将消息填充到比512的倍数少64位,填充时先向消息末尾填一个1,然后再填满0,然后后面再加上一个64位的消息长度的表示(不包括填充位)。这两步使消息长度恰好是512的倍数,同时保证不同消息在填充后仍不相同。
    初始化4个32位变量:
    A=0×01234567
    B=0x89abcdef
    C=0xfedcba98
    D=0×76543210
这些变量成为链变量。
然后,开始算法的主循环。这个循环对消息中所有的块都执行一次。将4个变量复制到不同的变量:a值为A,b值为B,c值为C,d值为D。
    主循环有4圈,都很相似。每圈使用一个不同的操作,重复16次。每个操作完成一个a,b,c和d中三个变量的非线性函数。然后,将结果与第四个变量、文本的一个子块和一个常数相加。然后,将结果混换左移一个可变值的位数,再将结果与a,b,c和d之一相加。最后用结果来代替a,b,c和d之一。

    共有4个非线性函数,每次操作使用一个,每圈都不相同。
    F(X,Y,Z)=(X∧Y)∨((「X)∧Z)
    G(X,Y,Z)=(X∧Z)∨(Y∧(「z))
    H(X,Y,Z)=X㈩Y㈩Z
    I(X,Y,Z)=Y㈩(X∧(「z))
    ㈩为异或,∧为与,∨为或,「为非

    如果Mi代表消息的第i个子块(0到15),而<<<s代表循环左移s位,则4个操作为:
    FF(a,b,c,d,Mj,s,ti)代表=a=b((a+F(b,c,d)+Mj+ti)<<<s)
    GG(a,b,c,d,Mj,s,ti)代表=a=b((a+G(b,c,d)+Mj+ti)<<<s)
    HH(a,b,c,d,Mj,s,ti)代表=a=b((a+H(b,c,d)+Mj+ti)<<<s)
    II(a,b,c,d,Mj,s,ti)代表=a=b((a+I(b,c,d)+Mj+ti)<<<s)

本新闻共2页,当前在第1页  1  2  

【软考】异步传输和同步传输的区别

Filed under: 计算机考试 — liaowei @ 14:33

1,异步传输是面向字符的传输,而同步传输是面向比特的传输。
2,异步传输的单位是字符而同步传输的单位是桢。
3,异步传输通过字符起止的开始和停止码抓住再同步的机会,而同步传输则是以数据中抽取同步信息。
4,异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。
5,异步传输相对于同步传输效率较低。

【软考】联机分析处理(OLAP)

Filed under: 计算机考试 — liaowei @ 14:33


OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它
的技术核心是”维”这个概念。

“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数
据进行比较。因此OLAP也可以说是多维数据分析工具的集合。

OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。

·钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill
down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
·切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。
·旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。

ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用
来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了”星型模式”。对于层次复杂的维,为避免冗余数据占用
过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为”雪花模式”。

MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成”立方块(Cub
e)”的结构,在MOLAP中对”立方块”的”旋转”、”切块”、”切片”是产生多维数据报表的主要技术。

HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。

还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。

OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观
察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售
额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、
多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。

根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟
多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。

[软考]数据仓库设计的原则

Filed under: 计算机考试 — liaowei @ 14:33

高效实现数据仓库的七个步骤

  数据仓库和我们常见的RDBMS系统有些亲缘关系,但它又有所不同。如果你没有实施过数据仓库,那么从设定目标到给出设计,从创建数据结构到编写数据分析程序,再到面对挑剔的用户的评估,整个过程都会带给你一种与以往的项目完全不同的体验。一句话,如果你试图以旧有的方式创建数据仓库,那你所面对的不是预算超支就是所建立的数据仓库无法良好运作。

  在处理一个数据仓库项目时需要注意的问题很多,但同时也有很多有建设性的参考可以帮助你更顺利的完成任务。开放思维,不断尝试新的途径,对于找到一种可行的数据仓库实现方法来说也是必需的。

1. 配备一个全职的项目经理或你自己全面负责项目管理

  在通常情况下,项目经理都会同时负责多个项目的实施。这么做完全是出于资金和IT资源方面的考虑。但是对于数据仓库项目的管理,绝对不能出现一人身兼数个项目的情况。由于你所处的领域是你和你的团队之前没有进入过的领域,有关数据仓库的一切-数据分析、设计、编程、测试、修改、维护-全都是崭新的,因此你或者你指派的项目经理如果能全心投入,对于项目的成功会有很大帮助。

2. 将项目管理职责推给别的项目经理

  由于数据仓库实现过程实在是太困难了,为了避免自虐,你可以在当前阶段的项目完成后就将项目管理职责推给别的项目经理。当然,这个新的项目经理一定要复合第一条所说的具有全职性。为什么要这么做呢?首先,从项目经理的角度看,数据仓库实施过程的任何一个阶段都足以让人身心疲惫。从物理存储设备的开发到Extract-Transform-Load的实现,从设计开发模型到OLAP,所有阶段都明显的比以前接触的项目更加困难。每个阶段不但需要新的处理方法、新的管理方法,还需要创新性的观点。所以将管理职责推给别的项目经理不但不会对项目有损害,还可以起到帮助作用。

3.与用户进行沟通

  这里所讲的内容远比一篇文章本身要重要的多。你必须明白,在数据仓库的设计阶段,那些潜在用户自己也不清楚他们到底需要数据仓库为他们做什么。他们在不断的探索和发现自己的需求,而你的开发团队也在和客户的接触中做着同样的事情。更加频繁的与客户接触,多做记录,并让你的团队更关注于项目需求讨论的结果而不是讨论的过程本身。

  既然你和客户的交流是为了了解存储的数据是何种类型以及如何有效存储数据,你也许需要(和你的用户一起)采用一种新的方法观察数据,而不是直接处理数据。你可以尝试从中找出隐藏的信息,比如在一段时期内的数字涨落等。不要试图追寻项目需求的答案,而是要让答案找上门来。

4. 以技术/信息库作为领导

  由于数据仓库实施的各个阶段都有很大不同,因此你需要有人能起到维持整个项目的连续进行的作用,不过这个职责并不需要那种全职性。项目实施有三个重要方面:架构、技术和业务。将架构作为重点可以保证在整个项目中,数据仓库的架构从物理层往上,都会受到良好的维护。而我们应该将技术作为重点,因为开发团队和关键用户都在使用他们以前从未用过的工具,必须有人监督开发过程以及工具使用的一致性。

  最后,在数据仓库的应用过程中浮现出来的业务需求必须被详细分析和记录,以促机开发过程持续下去。如果用户不能很好的开发人员以及其它用户沟通,那么数据分析和度量方面的开发进程就会延期,所以必须有人关注业务方面的开发,推动开发进入更高级别。

5. 跳出反复修改程序的陷阱

  第一次实现的数据仓库肯定不会是最终交付的版本。为什么呢?实际上在真正见到产品前,你无法确定的知道自己的目标是什么。或者说,最终用户只有在使用数据仓库产品一段时间后,才能明确告诉你这个产品是不是他所希望的。与你以往处理的项目不同,业务智能还处于发展的初期,每个公司对业务智能都有不同的解释,因此你的项目决不会一次成功。

  为了以正确的格式获得数据,你需要在不断变化的状况中摸索前进。BI具有很强的个性,不同的环境、不同的市场以及不同的企业都有不同的BI。这又代表什么呢?这表示你需要把数据库管理员放在一个消息相对封闭的环境中,不要让他知道数据仓库的数据结构以及ETL程序在不断的改变。对此没有别的办法。这样可以减轻你和DBA所承受的压力。

6. 对大量的前端资源进行数据源分析

  在数据仓库实现过程中,你不得不在旧有的数据中艰难跋涉,这些数据来自老的数据库、老的磁带机以及远程的数据。它们中的大部分都凌乱不堪,并且难以获取。你要对这些数据进行大量处理,并且还要设计ETL程序来寻找其中的有用信息。如果你希望整个项目做起来比较顺利,并且找到一种方法能够一次成功,那就需要你的开发人员必须花费足够的时间来充分研究这些旧有数据,将凌乱的数据规则化,并尽力设计和实现强壮的数据采集和转换过程。数据仓库的ETL部分会占用整个项目资源的百分之八十,所以一定要确定你的资源都用在刀刃上了。

7. 将人际关系处理放在首位

  在数据仓库实现过程中真正的地狱不是来自技术或者开发方面,而是来自你周围的人。你也许会遇到一个对项目并不乐观而又没时间听你陈述的领导。你也许会遇到一些开发人员将进度拖延太长时间还抱怨为什么不能用老方法实施。你也许还会遇到一些抱有不切实际的幻想的用户,他们希望轻点鼠标就能实现想象中的功能,但却不愿在他们那边多做些智力投资,更好的培训他们自己的员工。而你也已经疲惫不堪,鼓励投资,以及在开发团队和用户(甚至老板)中推广新的开发技巧。

  总之你要保持微笑。当一切搞定,你的烦恼也就一扫而空了,笑到最后才笑得最轻松。

[page]

数据仓库开发过程中的七个禁忌

  过去我们一直使用的OLTP技术也许隐藏着许多严重的缺陷。数据仓库的实现并不是一个简单的任务,你会发现以前积累下来的丰富经验,并不适合处理每个数据仓库的独特需求。

  下面列出的条款是你在实现数据仓库过程中一定会面对的问题,其中一些看起来并没有想象中那么严重,但是你还是应该尽量避免出现类似问题。数据仓库并不是一个事务处理系统,它没有一定的标准也不会实现某个特定的应用,但它本质上是非常有组织性的。总之,每个公司所建立的数据仓库都是唯一的,并且每一次数据仓库的实现方法都不是一成不变的。在实现数据仓库时需要注意的不单是”应该如何作”,更要注意”不该如何做”。下面就是我们总结的七点”不该如何作”。

1.不要编写自己无法快速修改的代码

  你所要编写的程序主要用于数据分析,而不是处理事务。而你的用户也并不真正知道他们自己真正想要一个什么样的程序。因此你不得不反复修改代码好几次,才会明白用户到底需要一个什么样的程序。如果你编写的程序具有良好的结构和灵活性,就算需要修改也不会太浪费力气。反之,你会被自己累死。

2. 不要使用无法修改的数据库访问API

  在过去,你的数据库可以为大量的客户提供稳定的数据查询服务。而如今,你的程序必须能够应付更多的数据查询。这使得重新改写程序以使得每个查询请求能得到最大的数据量成为势在必行的工作,而一般来说这种代码修改都不会一次成功,所以只有选择合适的可以修改的API,才能使程序尽快适应新的需求。

3. 不要设计任何无法扩展的东西

  在联机处理过程(OLTP)应用中,数据分析并不是一个真正的应用程序。实际上,数据分析的关键是获取大量旧的数据,从中提取数据模型,并以此模型推断出新的信息。而你所编写的访问潜在信息的代码应该具有可扩展性,可以附加新的数据。千万别在支持数据分析的代码中假定数据都是固定格式的。

4. 不要附加不必要的功能

  一个仓库要做的是恰到好处的服务,用户走进仓库,从货架上取得自己所需得信息,仅此而已。由于业务智能、分析以及规律性的问题都有各自的处理程序,因此你的客户唯一的需要就是获取信息。他们需要一种应用环境,可以让他们快速的从数据仓库中取得分析过程所需的数据,而不论这个数据是什么样子的。也许你想帮助他们精炼一下获得的数据,但最好不要这么做。一定要记住,不要给客户的数据分析程序添加任何会影响数据访问性能的功能。

5. 不要简化数据清除和数据源分析的步骤

  在实现数据仓库过程中最应该注意的地方就是为Extract-Transform-Load机制分析数据源,以及为优化负载而清除数据。安全的做法是假设项目经理在这个阶段会需要整个项目资源的一半以上。相反,如果你在这方面进行了简化,稍后肯定会后悔。所以就算系统工作缓慢,也不要简化清理旧的数据的过程。

6. 不要避免颗粒度和分区问题

  在数据仓库设计过程中有两个最大的数据存储问题,第一是如何给转换数据定位一个恰当的颗粒度等级,第二是如何将数据绝对的分区。为什么这两点问题如此重要呢?因为整个数据仓库的响应能力受颗粒度影响,并且数据访问的效率直接与数据分区性能有关。因此这是具有关键性的工作,不要试图避免面对这些问题。

7. 不要在没考虑业务问题前就使用OLAP

  用户在亲眼见到程序前通常都不知道自己到底想要个什么样的程序。因此他们的观点有不少错误,比如他们希望分析结果会忠实反应性能度量,或者希望程序会使他们部门或公司的业务工作有所不同。而你必须跳出自己的职责范围,从IT管理者的角度考虑用户部门直至整个企业的运行方式,才能在开发过程中避免这类问题。在通常的OLTP开发中,你可以比较方便的理解业务流程。而在联机分析处理(OLAP)领域,任何事情都需要亲自考察,而在你周围工作的人也许并不会发现你对业务方面存在的误解。因此,不要自以为已经了解了足够的信息。不断的询问才能使你真正了解”业务智能”中的”业务”到底是什么样子的

[page]
顺利开发数据仓库的七种思路

  对于大多数IT顾问来说,实现一个数据仓库的难度比以前做过的任何项目难度都要大。考虑到不同的数据结构、用途以及应用程序开发方法,以前所积累的经验和技巧大部分都无用武之地了。但是只要在你的前进道路上稍加修正,你就会发现实现一个数据仓库并不是难事,就算你是第一次实现数据仓库也没问题。

  下面列出了数据仓库实施过程需要考虑的步骤,有一些你可能从来没有意识到,而另一些可能已经在实施过程中使用到了,但是重新思考一番也许你会有更多的领悟。开放思维,不断尝试新的途径,找到一种可行的数据仓库实现方法。

1. 再三考虑应用程序的实现方法

  数据仓库并不涉及事务处理,并且在报表方面也仅占一小部分。而数据仓库应用程序的本质是分析,尤其是针对业务智能的分析。BI并不是通常所说的数据:它是一种从旧有数据中,模型化得到的新的数据。那么如何才能从旧有数据中挖出这些新数据呢?事实上,这个工作不是让你来完成的,而是你的客户所要完成的。从项目主管的角度看,应该有一个经验丰富的数据表格设计师与你合作,进而决定如何将各类程序融合在一起。其中所遇到的最主要的挑战将是如何用新的方法观察数据,这也是你的客户正在试图使用的方法。

2. 创建抽象的、良好部署的数据库访问组件

  在过去你接触过的数据库项目和现在的数据仓库之间,有一点绝对不同,那就是:在Online Transaction Processing (OLTP)环境中,用户数量非常大,但使用到的数据却比较少;而在Online Analytical Processing (OLAP)环境中情况却正好相反,少量的用户在使用大量的数据。而你的工作就是编写一个应用程序来优化这种不同。这里有一个线索:在你所有的分析程序中,都要能抓取连续的数据项,这样在以后建立和访问的数据结构中才能存放与原数据物理结构类似的数据。具体如何实现呢?首先不要规格化数据。第二将其放入数组中最小化读取请求数。按照这种方法,DBA会很乐意与你合作。

3. 保持松散

  现在回头看看第一步,你应该可以理解定义一个分析程序不是件简单事了,而且一般情况下,很难在第一次就实现符合要求的最终产品。而在你将要进行分析的数据结构上同样存在这种问题。一句话,实现过程会有很多变数,你需要不断的改动你的程序。通常我们都希望将改动次数降到最低。在一个数据仓库实现过程中,本质是要分析过程毫无差错,这也需要DBA的参与。不要死抓住你的程序设计、代码、框图,或你建立的其它什么东西不放手,要根据这种变化而不断进行调整。

4. 将管理放在首位

  在分析数据源方面你做的如何呢?你是否认为清理垃圾数据的工作非常困难?并不是只有你一个人这样想,做过类似工作的人都有这种看法。在一个一般规模的机构中,作为数据仓库实现过程的一部分,会有大量的旧有数据必须进行一致性处理。所以分析数据源并花费数个小时编写转换程序将旧有数据导入数据仓库是整个数据仓库实现过程中最艰难的一部分。并且这也是整个项目中最重要的一环,可以占到整个项目周期和预算的四分之三。所以一定要小心对待。

5. 从字里行间发现问题

  与用户交流是个很麻烦的事情,为什么这么说呢?因为很多用户在见到最终产品前都不知道自己想要什么样的产品。定义数据仓库应用程序是一个探索的过程,而且这个过程要反复进行。记住所谓的”业务智能”是用户自己定义的,他们按照自己的理解来处理业务流程。因此这些用户就是连接数据和业务处理过程间的桥梁。他们所要的并不是数据本身,而是隐藏在数据后面的智能性。你可以让他们讨论、思考并给出建设性的意见。但千万不要让他们解决或让他们任意想象和发表那些”有可能”的观点。最后,一定要随时留意用户得出的结论。

6. 保持领先

  数据仓库看起来没有传统的OLTP模式根深蒂固,事实如此。虽然很多人投身数据仓库的开发中,但由于其框架与以前的系统大相径庭,因此在开始的一段时间数据仓库的实现看上去相当混乱。但是坚持下去是很重要的。它具有两方面重要的作用。

  第一,技术的领先性。它可以跟踪项目中任何阶段的软件工具的部署和正确使用,以及开发过程。如果这复合你的背景,你可以对此多加留意。

  第二,体系结构的领先性。它使得项目在各个阶段转换时,数据仓库和它所支持的系统的物理以及逻辑架构都具有持续性,不会发生改变。这也是你能提供的。

7. 发出警告

  最后你要记住,你并不是唯一登上新大陆的人。你周围的每一个人都会有下面一点或几点问题:不现实的期望、对技术的误解、旧习惯或坏习惯、竞争行为,或缺乏对项目的信任度。虽然交流沟通等任务应该是项目经理负责的,但实际上你也要担负起相同的责任。那么作为技术总监你该怎么作呢?首先当然是要真诚的对待周围的人,但一定要竖立威信,适当的发出警告。当你发现项目进度缓慢、资源流失,或者员工失去目标,就要直言不讳的说出来。快速明确的给予警告在大部分情况下都是明智之举。匆忙上马的数据仓库项目也许会出轨,但不要让失败的项目把你拉下马。

TCP协议深入理解

Filed under: 计算机网络 — fangds @ 14:32

    TCP协议在能够发送数据之前就建立起了“连接”。要实现这个连接,启动TCP连接的那一方首先将发送一个SYN(回忆一下在上一篇文章中讲到的TCP包头格式)数据包。这只是一个不包含数据的数据包,然后,打开SYN标记。如果另一方同时在它收到SYN标记的端口通话,它将发回一个SYN+ACK:SYN和ACK标志位都被打开,并将ACK(确认)编号字段设定为刚收到的那个数据包的顺序号字段的值。接下来,连接发起方为了表示收到了这个SYN+ACK信息,会向发送方发送一个最终的确认信息(ACK包)。这种SYN、SYN+ACK、ACK的步骤被称为TCP连接建立时的“三次握手”。在这之后,连接就建立起来了。这个连接将一直保持活动状态,直到超时或者任何一方发出一个FIN(结束)信号。

    任何一方都可以关闭一个TCP连接,要求双方发送一个FIN信号关闭自己的通讯频道。一方可以在另一方之前关闭,或者双方同时关闭TCP连接。因此,当一方发送一个FIN信号时,另一方可发送“FIN+ACK”,开始关闭自己一方的通信并且确认收到了第一个FIN信号。发送第一个FIN信号的人接下来再发送一个“FIN+ACK”信息,确认收到第二个FIN信号。另一方就知道这个连接已经关闭了,并且关闭了自己的连接。发送第一个FIN的人没有办法收到最后一个ACK信号的确认信息。这时它会进入“TIME_WAIT”(等待时间)状态并启动一个定时器,防止另一方没有收到ACK信息并且认为连接仍是打开的。一般来说,这个状态会持续1至2分钟。

    现在,我们来讨论第一个问题。如果有人(假如一个黑客)在你的Web服务器上留下一个半开或者半关的连接,那就是一个坏消息。每一个连接都要消耗内存,打开数千个虚假的TCP连接可能导致服务器瘫痪。当然,你实际上不可能在不影响TCP正常工作的情况下调整TCP定时器。如果你听说过TCP SYN 攻击的话,那就是这个意思。为了防止出现这种情况,大多数操作系统都要限制半开连接的数量。例如,Linux默认的限制一般是256个。

    关于持续流控制问题,现在我们就来讨论这个问题。TCP中实现它的机制是TCP滑动窗口机制。TCP协议使用“重新发送与正向ACK”来保证数据传输的可靠性。发送方将等待一段时间,如果没有收到其发送的数据包的ACK确认信息,发送方就要重新发送。顺便说一下,TCP协议中有许多定时器。这只是其中一个定时器。ACK的概念对于流控制是非常重要的,因为TCP滑动窗口协议使TCP的往复确认变得更有效率。如果TCP要发送一个数据包并且等待每一个ACK确认信息,它实际上就把数据吞吐量削减了一半。

    理想的情况是,我们能够一次发送许多数据包,然后等待收到一个确认收到全部数据包的ACK信息,而不用对方发来更多的数据。但是,我们如何知道发送了多少个数据包呢?TCP窗口尺寸可以控制在“已发送但是没有确认”的状态下能够容纳多少个数据包。如果这个窗口尺寸很大,我们不必等待ACK信息就可以发送大量的数据包。这实际上就是流控制。

    接收方就是控制窗口大小的那一方。如果接收方将窗口大小设为“0”,那么,发送方根本就不能发送任何数据。如果这个窗口的尺寸是“1”,那么,我们就回到了简单的“发送和等待ACK”的协议。如果最后的窗口尺寸是“0”,发送者将发出一个探测信号以搞清这个窗口什么时间再次打开。如果发送方从来没有收到ACK信息,它就一直不断地重试,直到定时器过期。请记住,这个窗口尺寸在TCP头中是一个16位字段。如果你要一个窗口尺寸(按字节计算)大于16位可以表示的容量(2的16次方个字节),还可以使用一个名为“窗口缩放”的TCP协议选项。这个选项允许窗口尺寸乘以比例因子。如果没有极大的窗口尺寸,TCP协议就就无法充分利用GB级别的高速连接。这也是我们需要针对这些新的高速连接调整TCP参数的原因,

    关于TCP流控制的问题,我们不能不提一下Nagle算法。如果我们在一个telnet连接上使用一个大的TCP窗口会发生什么事情呢?你会输入一个指令(例如敲了一个字母),然后一直等待回应它却迟迟不出现在终端回显上。这对于实时通信来说是一个大问题。而且,telnet也会增加网络的阻塞度,因为一个字节的数据(例如我们的一次击键)需要40个字节的包头。于是RFC 896定义这个Nagle算法,用以消除小的数据包。这个思路是我们应该在数据发送之前给先把小数据集中起来然后一次性发送,以便提高效率。为了更有效率,它还限定只允许存在一个未经确认的数据段,你在得到确认信息之前不能发送更多的数据。Telnet和互动SSH连接使用TCP_NODELAY套接口选项启用这个功能,这样当你按下一个按键的时候,你能够立即得到一个回应。

    当然,我们仍是忽略了有关TCP协议的许多事情。然而,通过这两篇文章的了解,你应该能够理解其它一些更专业的TCP著作。阻塞控制与流控制不同,本文没有讨论。如果你真的对了解TCP协议的全部工作原理感兴趣,你可以详细阅读TCP RFC。

    小结

    TCP协议非常善于解决流控制问题,因此非常适应于许多应用程序。TCP协议中的流控制的含义是:“在收到对发送的数据的确认信息这前,我可以发送多少数据?”这就是TCP窗口。学习阻塞控制的问题可以留作读者的练习。需要指出的是,在TCP协议之下连接速度开始很慢,然后速度逐渐加快。这个做法并不总是最理想的。

数据通信基础

Filed under: 计算机网络 — fangds @ 14:32

2.1 数据通信的基本概念

  1.通信的目的就是传递信息。 一次通信中产生和发送信息的一端叫信源,接收信息的一端叫信宿。通信线路称为信道,所以信源和信宿 之间的信息交换是通过信道进行的。(见P8图2.1)(填空、单选)
  2.模拟信号是随时间连续变化的信号。数字信号只取有限个离散值,而且数字信号之间的转换几乎是瞬时的。(判断)
  3.如果信源产生的是模拟数据并且以模拟信道传输则叫做模拟通信;如果信源发出的是模拟数据而以数字信号的形式进行传输,那么这种 通信方式叫做数字通信。(填空)
  4.如果信源发出的是数字数据,当然也可有两种传输方式。这时无论是用模拟信号传输或是用数字信号传输都叫做数据通信。(判断)
  5.在模拟传输方式中,数据进入信道之前要经过调制,变换为模拟的调制信号。由于调制信号的频谱较窄,因此信道的利用率较高。在数 字传输方式中,可以直接传输二进制数据或经过二进制编码的数据,也可传输数字化了的模拟信号。(判断)

  2.2 数字信号的频谱和信道带宽

  1.谐波的最高频率fh与最低频率fl之差(fh-fl)叫做信号的频带宽度,简称带宽。
  2.信号带宽与脉冲宽度成反比。(判断)
  3.信道的带宽是指信道频响应曲线上幅度取其频带中心处值的1/√2倍的两个频率之间的区间宽度。(判断、填空、选择)

  2.3 数字信道的特性

  1.数字信道是一种离散信道,它只能传送取离散值的数字信号。数字信道的通频带(即带宽)决定了信道中能不失真地传输脉冲序列的最 高速率。一个数字脉冲称为一个码元,码元携带的信息量由码元取的离散值个数决定。总之一个码元携带的信息量n(比特)与码元取 的离散值个数N有如下关系:n = log2N
  2.用码元速率表示单位时间内信号波形的变换次数,即通过信道传输的码元个数。若信号码元的宽度为T秒,则码元速率B=1/T,码元速率 的单位叫波特(Band)。若信道带宽为W,则尼奎斯特定理指出最大码元速率为 B=2W (Band)。
  3.单位时间内在信道上传送的信息量(比特数)称为数据速率R。 R =Blog2N=2Wlog2N (b/s)
  4.数据速率和波特率是两不同的概念。仅当码元取0和1两离散值时两者才相等(R=B)。对于普通电话线路,带宽为3000Hz,最高波特率 为6000Band。而最高数据速率可随编码方式的不同而有不同的取值。这些都是在无噪音的理想情况下的极限值,至于有噪声影响的实际 信道,则远远达不到这个极限。(判断)
  5.香农(Shannon)的研究表明,有噪声信道的极限数据速率可由下面公式计算: C = Wlog2(1+S/N) W为信道带宽,S为信号的平均功率 ,N为噪声平均功率,S/N叫做信噪比。
  6.在有噪声的信道中(实际中的信道都是有噪声的),数据速率的增加意味着传输中出现差错的概率增加。我们用误码率来表示传输二进 制位时出现差错的概率。误码率可用公式表示:Pc = Ne(出错的位数)/N(传送的总位数)
  7.在电缆中的传播速度一般为光速的77%,即200m/us左右。
  8.500米同轴电缆的时延大约是2.5 us,而卫星信道的时延大约是270ms。

本新闻共4页,当前在第1页  1  2  3  4  

IP网络技术发展趋势和策略(2)

Filed under: 计算机网络 — fangds @ 14:32

4 IP技术关键问题

4.1 QoS问题

能否保证QoS是IP网络能否能成为未来统一平台的关键,目前基于分组承载网的各种QoS解决方案主要关注于承载网络设备的QoS处理能力,更多的是基于分组承载网络设备的实现技术(如CAR、整形、队列调度、优先级标记及DiffServ等),这些具体的技术是所有QoS实施的基础,IP QoS关注的重点。 IP网络需要从网管/资源方面实施相应的QoS控制策略,因此需要有一个全网的QoS解决方案。IP电信网的QoS方案是一种基于资源隔离和业务请求的IP QoS框架及方法,把传统电信网的思路应用到IP网络中,将信令,DiffServ,MPLS,流量工程(TE)和策略控制(Policy)技术结合应用,能够严格保证每条业务流穿越IP骨干网时的QoS要求,使得IP网络可以支持各类需要电信级服务质量的新业务。

4.2 IP网络安全

IP网络没有UNI和NNI的区别,在承载层面是相互可见的。运营商网络设备、协议甚至拓扑对用户可见,用户侧产生的IP信息既有可能在用户侧终结,也可能在网络中终结,这就使得用户侧有机会与运营商网络交换非法路由信息,也可能攻击运营商网络的路由器和控制设备。另外,位于网络边缘的用户侧网络、业务和应用一般都使用TCP/UDP/IP技术,用户之间在承载层和应用层都相互可见。这种要在通信过程中才确定信任关系的不面向连接的工作方式为用户之间的相互攻击对方网络,攻击对方的应用和业务提供了方便。同时,在目前的IP网络上,安全性要求低的一般Internet业务与安全性要求高的电信级业务混杂在一起,没有进行很好的物理或逻辑上隔离,对业务的安全性产生很大影响。在一个安全的IP网络中,Internet业务和电信级业务的隔离是保证业务安全的重要前提之一。IP电信网安全技术方案就是在现有的IP网络上,将Internet业务和电信级业务作为两大业务区别对待,并在承载网中通过MPLS LSP技术隔离传送,并利用信令机制建立端到端之间的连接,使IP网络变成一个面向连接的安全的网络。。通过在边缘设备上实施流分类技术,识别出不同的电信级业务流和Internet业务流。通过在接入和边缘设备实施针对业务流的带宽管理机制,隔离和控制不同业务的资源使用,可以有效地防止业务盗用和恶意攻击,从而保证电信业务在IP承载网上的安全。

目前,ITU-T正在制订和开发IP网络安全体系架构,以提供最大的网络和端—用户资源保护,允许多网络技术共存,提供端到端的安全机制,提供应用于多个管理域的端到端安全解决方案,确保用户以安全方式接入到IP网络。

4.3 MPLS技术

多协议标签交换(MPLS)技术目前已成为IP网络QoS的基础技术,具有良好的可扩展性,适用于大规模核心网络。通过MPLS技术可以实施流量工程,区分服务和计费管理,增强电信IP网络的盈利能力。MPLS 快速重路由功能使得LSP上的节点或链路在出现故障时,能自动迂回或切换到新的LSP上,保证网络业务的不中断。MPLS通过路由受限—标记分配协议(CR-LDP)设置有关节点,通过流量的检测,决定有关流量分流的情况。IP网络也可以通过MPLS技术提供语音和电路仿真业务。

4.4 IPv6技术的应用与演进问题

对于IPv6协议,它的最大优势是提供了巨大的地址空间。IPv6适合于IP业务端到端的特性、巨大的用户数目、永远在线等特点。但一次性地以IPv6取代现有的IPv4网络是不可能,也是不现实的,IPv4和IPv6网络将共存相当长的时间。

IPv6网络的开始阶段要面临很多的问题:

(1)从网络的构架上看,要关注IPv4与IPv6的转换,过渡和共存;

(2)从技术角度看,目前的所有过渡技术中,没有一个能统一彻底地解决问题,需要根据不同的环境和不同的客户进行不同的适配和不同的技术组合;

(3)从业务开展模式上看,首先要解决好用户的接入、认证、计费、管理等工作;

(4)IPv6的真正大量应用应是在家庭网络、家居安保、传感器网络、3G、NGN等领域,我们应有效地开展上述IPv6应用,逐步平滑地升级IPv6的功能。

Powered by WordPress