好文档 - 专业文书写作范文服务资料分享网站

深入浅出安防视频监控系统

天下 分享 时间: 加入收藏 我要投稿 点赞

SDK 是Software Development Kit 软件开发包的缩写,一般由设备商或平台等软件提供商提供给其合作伙伴二次开发所用。大华SDK就是大华提供给平台软件厂商作二次开发用的,平台软件可以基于SDK操控设备。 微软每推出一个重要的windows版本,一般都会同时推出一个SDK(Software Development Kit)。SDK包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。高版本VC++包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本如VC++5.0则需要安装SDK。从windows 98开始,windows SDK叫Platform SDK,包含最新的windows API函数的有关声明、例子。 用VC编写windows程序有两种方式:windows c方式(SDK)和C++方式(对SDK函数进行包装,如VC中的MFC、BCB中的OWL)。SDK编程就是直接用windows API进行编程。API由上千个API函数组成(win95中有两千多个),而MFC是API的封装,结合面向对象的继承、多态组成一个个类,共有一百多个类组成。 中间件 中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。 中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。 1998年IDC公司对于中间件有一个定义,并根据用途将其划分为6个类别。如今所保留下来的只有消息中间件和交易中间件,其他的已经被逐步融合到其他产品中了,被包裹进去了,在市场上已经没有单独的产品形态出现了。例如,当时有一个叫屏幕数据转换的中间件,其主要是针对IBM大机终端而设计产品,用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面,类似的东西当时都称为中间件。但随着IBM大机环境越来越少,但是盛行一时的此类中间件如今已经很少再被单独提及。 2000年前后,互联网盛行起来,随之产生了一个新的东西,就是应用服务器。实际上,交易中间件也属于是应用服务器,为了区分,人们传统的交易中间件称为分布交易中间件,因它主要应用在分布式环境下,而将新的应用服务器,称为J2EE中间件,到目前为止,这都是市场上非常热门的产品。 EAI概念出来之后,市场上又推出了一些新的软件产品,,例如工作流、Portal等,但从分类上不知道怎么归类,向上不能够划归应用,往下又不能归入操作系统,于是就把它归入了中间件,如此中间件的概念更加扩大了。目前,市场上对于中间件,各家的说法不一,客观上也导致了理解上的复杂性。 如今,市场上又推出了很多新的概念,例如三层结构、构件、Web服务,其中风头最劲的当属SOA(面向服务的架构)。实际上,他们都不是一个产品,而是一种技术的实现方法,是开发一个软件的一种方法论。我们知道,最早软件开发方法就是编程、写代码的,其缺点在于无法复用,为此提出了构件化的软件开发方法,通过把编程中一些常用功能进行封装,并规范统一接口,供其它程序调用,例如我们开发一个新软件,可能要用到构件1、构件2、构件3,那么,我们只要对其进行本地组装,就可以得到我们想要的应用软件。在互联网得到普及重视之后,软件开发方法在构件化基础上又有新发展,核心思想是软件并不需要囊括构件,所需要的仅仅是构件的运行结果,例如编写一个通信传输软件,就可以到网上寻找构件,并提出服务请求,得到结果后返回,而不需要下载构件并打包,这就是现在所说的SOA。想要现实SOA,就要规范构件接口,同时还要规范构件所提交的服务结果,如此,新的软件开发的思想才能够行的通。但SOA并不是一个产品,而是一种思想方法,而实现这种方法的基础,如今看来只有中间件。 流媒体服务器 流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。 相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。 作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。而流媒体服务器又是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放,流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。 虽然微软和Apple等国外大企业占据了流媒体服务器主导市场,但新兴厂商也是层出不穷,在国内市场中纷纷扮演着自己重要的角色。 应用服务器 应用服务器好比是一位交警,用于接收前端的所有数据请求,并派发给后端处理。应用服务器是后台软件与前端界面应用程序之间的中间地段(中间层),用于处理用户与企业的业务应用程序与后台程序(如数据库服务)等的所有应用程序操作。因此,应用服务器是业务应用程序开发与部署的中间位置,没有它,运行业务的软件将处于孤立状态,从而使维护成本更高、升级更复杂,并显著降低性能。 存储服务器 存储服务器一种是指存储服务系统软件,跑在Window或linux上的存储服务软件,专门接收用户提交的数据读写请求,并把数据写入NAS等存储设备;另一种存储服务器指电脑硬件,专为数据存储而优化配置服务器电脑。 1.1.1 什么是存储、存储设备 存储就是根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问,总的来讲可以包含两个方面的含义:一方面它是数据临时或长期驻留的物理媒介;另一方面,它是保证数据完整安全存放的方式或行为。存储就是把这两个方面结合起来,向客户提供一套数据存放解决方案。简而言之,存储产品的功能就是提供客户数据保存的媒介,同时提供一定的安全保障。 存储设备指广泛用于提供数据存储的硬件产品,比方说光驱、移动硬盘、闪存盘、磁盘阵列、磁带机等等。随着信息爆炸时代的到来,存储设备越来越多地出现在普通消费者、工矿企业单位应用领域。而存储设备也随着需求的增加,不断向高容量、高传输速率、高稳定性方向发展。 上面是广义存储设备的定义,本书介绍的主要是狭义的存储设备。即为服务器主机提供海量存储空间,同时具备如RAID等多种数据保护技术,比较工业化、商用化的存储产品。目前主要是各种类型的磁盘阵列。详细的产品分类介绍,请见下文。 1.1.2 RAID相关 RAID是Redundant Array of Inexpensive Disk的缩写,意为廉价冗余磁盘阵列,是磁盘阵列在技术上实现的理论标准,其目的在于减少错误、提高存储系统的性能与可靠度。常用的等级有0、1、3、5、10级等。 RAID 分类概要: RAID 0 是最快,最有效率的阵列类型,但是不支持容错功能。 RAID 1 适合性能要求较高又需要容错功能的阵列。另外, RAID 1是在只有少于2个磁盘的环境下支持容错功能的唯一选择。 RAID 3 被用在数据加强和加速单用户对连续的长记录时的数据传输。 RAID 5 是在多用户,对数据写入的性能要求不高的环境下的最好选择。然而,它要求至少3个,通常使用5个磁盘来执行。 RAID 10、RAID30、RAID50则集良好的可靠性和高性能于一身,但各自需要付出一定的软硬件代价。 RAID 0: RAID 0 将数据分条,存储到多个磁盘中,不带任何冗余信息。数据被分割成块,继续分布到磁盘中。这一级别也被认为是纯粹的数据分条。创建RAID 0 需要一个或多个磁盘。也就是说,单独的一个磁盘可以被认为是一个RAID 0 阵列。不幸的是,数据分条降低了数据的可用性,如果一个磁盘发生错误,整个阵列将会瘫痪。 优点: 易于实现,无容量损失-所有的存储空间都可用。 缺点: 无容错能力,一个磁盘出错导致损失所有阵列内的数据 。 RAID 1 : RAID 1至少要有两个(只有两个)硬盘才能组成,因此也称为镜像(Mirroring)方式。所谓镜像就是每两个硬盘的内容一模一样,但是对操作系统而言只呈现一个硬盘,以便于管理。由此可见,RAID 1对数据进行了完全的备份,其可靠性是最高的。当然,其数据的写入时间可能会稍长一点,但因为两个镜象硬盘可以同时读取数据,故读数据与RAID 0一样。磁盘阵列的总容量为其中N/2块硬盘的容量在RAID 级别中,RAID 1通过数据镜像提供了最高的信息可用性。另外,如果阵列支持数据和镜像的同时读取,读取信息的性能将会提高。 优点:读取性能较单磁盘高 缺点:需要2倍的存储空间 RAID 3: RAID 3 是最常使用的硬盘阵列技术。RAID 3至少需要3个硬盘。RAID 3的总容量为各个硬盘容量之和减去一块硬盘的容量。 应用此技术,数据被分条存储在多个磁盘内。另外,会产生奇偶校验,并一并存储在磁盘内.使用RAID 3,数据知识块会比平均I/O大小来的小的多,同时磁盘主轴会被同步,以便提高数据传送的带宽。由于使用奇偶校验,RAID 3的数据条带可以抵抗其中的一个磁盘出错而不丢失任何信息。 优点: 良好的数据可用性,在数据加强传输应用方面有良好的性能,经济实用-为实现奇偶校验,只需要一个额外的磁盘。 缺点: 随机存储性能低,磁盘出错会对性能产生重大影响 RAID 5: RAID 5 和RAID 3极为相似,都是数据分条,奇偶校验产生冗余。但是,它不采用一个固定的硬盘来存储奇偶校验值,所有数据和校验值都分布在所有硬盘上。 优点:最高的信息处理读取率,经济实用-只需要一个额外的磁盘 缺点:单独信息块的传送和单磁盘时相同,需要特定的硬件 RAID 10: 也被称为镜象阵列条带。象RAID-0一样,数据跨磁盘抽取;象RAID-1一样,每个磁盘都有一个镜象磁盘。RAID-10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID-10提供最好的性能。使用RAID-10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID-10需要4个磁盘驱动器。 特性:RAID 10 被作为条带阵列执行,它的段却是RAID 1 阵列。RAID 10 的容错功能和RAID 1 相同,分条使用RAID 1 段得到较高的I/O率,在这种情况下,RAID 10 可以抵抗多个磁盘的同时出错。 缺点:昂贵/开销大,所有的存储器必须按照特定的方法并行安装,本身有固有的较高价值,却有极为有限的可测量性 适用的方面:要求高性能,兼备容错功能的数据库服务器 RAID-30 RAID-30(参见图4)也被称为专用奇偶位阵列条带。象RAID-0一样,跨磁盘抽取数据;象RAID-3一样,使用专用奇偶位。RAID-30提供容错能力,并支持更大的卷尺寸。象RAID-10一样,RAID-30也提供高可靠性,因为即使有两个物理磁盘驱动器失效(每个阵列中一个),数据仍然可用。

深入浅出安防视频监控系统

SDK是SoftwareDevelopmentKit软件开发包的缩写,一般由设备商或平台等软件提供商提供给其合作伙伴二次开发所用。大华SDK就是大华提供给平台软件厂商作二次开发用的,平台软件可以基于SDK操控设备。微软每推出一个重要的windows版本,一般都会同时推出一个SDK(SoftwareDevelopmentKit)。SDK包含了开发该windows版本所需的wi
推荐度:
点击下载文档文档为doc格式
6ofb39xkwe9ersa9r166
领取福利

微信扫码领取福利

微信扫码分享