基于嵌入式ip存储技术的高性能分布式并行vod系统的制作方法

文档序号:7852219阅读:182来源:国知局
专利名称:基于嵌入式ip存储技术的高性能分布式并行vod系统的制作方法
技术领域
本发明涉及的是基于嵌入式IP存储技术的高性能分布式并行VOD系统,属于网络和数字多媒体技术领域。
背景技术
在传统的客户机/服务器环境中,不论使用的是何种协议,存储设备都以总线形式直接与服务器相连。在这种结构下,对存储设备上的任何I/O访问操作,都必须由服务器CPU的介入才能完成。这种处理方式给服务器带来了沉重的负担,造成了许多IT组织的应用系统面临的艰难问题。主要有如下两点服务器与存储单元之间需要有更高的传输速率,然而直连式存储模式使用总线技术来实现服务器与存储设备的连接,并使用设备协议来进行通信,这就将数据传输速率限制在大约每秒10MB以内;用于海量数据支持的在线存储设备规模超出了限制,导致系统对数据请求的响应变得迟缓甚至失去响应能力。虽然存储设备上可能具有很高的物理存储空间,但单个服务器却不可能提供足够的连接能力来为应用数据请求提供即时服务,因而很快便导致了性能的非线形下降。
网络存储建立起了独立的基于网络的存储架构,从整体上改变了由服务器承担一切存储任务的模式,可以实现更高速的数据传输,同时通过在应用系统之间共享存储设备及数据,也可使服务器拥有访问更大规模数据的能力。目前网络存储主要有SAN和NAS两种方案,SAN性能优异,网络传输效率高,但部署复杂,代价昂贵。NAS使用方便,成本低廉,存储效能不如SAN。市场上的SAN和NAS产品都是满足普遍性的存储需求,没有特别为某种应用进行优化设计。
VOD系统中的多媒体数据信息具有非结构化的特点,读操作远多于写操作,以文件的形式访问最为合适,因此适合采用NAS做为网络存储的实施方案,然而NAS通用的网络文件系统的文件管理方式在流媒体服务中效率还不够高。从VOD系统对流媒体文件的存储和网络传输的实际需求出发,对传统的NAS方案采用的RPC机制的文件管理方式进行改进,实现更高效的媒体数据传输和文件管理的要求是相当迫切的。

发明内容
本发明的目的是针对流媒体服务的特点对文件管理方式进行优化,并将视频文件用一种冗余文件分片算法分片后分布式地存储在不同的自主设计的嵌入式IP磁盘上,既实现了文件的网络软件RAID功能,又实现了文件的并行传输,大大提高了存储系统的可靠性、容错性和I/O吞吐性能。
本发明的技术解决方案其特征是整个系统包括视频服务器组、负载均衡服务器、IP磁盘阵列、节目制作服务器以及客户端,视频服务器组、负载均衡服务器、节目制作服务器位于网络的主干部分,由千兆以太网交换机连接,IP磁盘阵列连接到具有千兆上行百兆下行端口交换机的百兆端口,再由千兆上行端口接入到千兆主干交换机。
本发明的优点服务器不直接对存储设备上的流媒体文件进行复杂的操作,只是向存储设备发送简单的操作命令,命令的执行由存储设备自己完成,使服务器的负担大大减轻。存储设备根据服务器发来的命令与服务器建立起网络连接传输文件数据流,考虑到对于网络视频点播中的数据传输的可靠性要求不是很高,但实时性要求较高,所以在服务器与IP磁盘之间的控制信息通过tcp协议传输,数据信息通过udp协议传输,从而提高了对IP磁盘的文件管理和传输的效率。本系统采用网络存储的方式实现大规模、高性能、低成本存储系统,根据VOD应用系统的特点对NAS存储模式进行优化,用简单高效的文件流传输代替了传统通用的RPC模式;用嵌入式IP磁盘作为存储节点,完全根据实际需求定制并优化软硬件系统,具有成本低廉、极易扩展、体积小、功耗低的优点。引入文件分片算法IDA实现了文件系统的软件RAID功能,具有灵活可控的容错性能,能在多个磁盘发生故障是能保证服务不间断和进行数据恢复,比硬件RAID灵活性更高。由于文件分布在多个网络磁盘上,服务器可以并行地通过网络传输文件,用这种带宽汇聚的方式可以使文件I/O性能成倍增长。
具体实施例方式
整个系统包括视频服务器组、负载均衡服务器、IP磁盘阵列、节目制作服务器以及客户端,视频服务器组、负载均衡服务器、节目制作服务器位于网络的主干部分,由千兆以太网交换机连接,IP磁盘阵列连接到具有千兆上行百兆下行端口交换机的百兆端口,再由千兆上行端口接入到千兆主干交换机。
所述的视频服务器组由多台具有千兆网络接口的计算机组成,安装有数据库,用于存放媒体文件在IP磁盘阵列上的定位信息。该服务器负责向用户提供流媒体文件数据。
所述的负载均衡服务器上安装有数据库和WEB服务器,在数据库中存放节目列表用户认证信息,以WEB的形式向用户展示节目列表,对用户进行管理和认证,用户可以在WEB页面上点播节目,由负载均衡服务器将其点播请求转交给负载最轻的视频服务器为其提供服务。
VOD系统的视频数据以经过分片的文件的形式存放在IP磁盘阵列上,IP磁盘阵列由大量独立的IP网络磁盘组成,每个IP磁盘由普通的大容量磁盘外加具有高速磁盘I/O和网络传输能力的嵌入式板卡组成。
所述的节目制作服务器根据实际应用需要可以是一台或多台计算机,用于将视频源转换成适合作为流媒体传输的媒体文件,并将媒体文件按照一种文件分割算法IDA分割后分散存放在IP磁盘阵列中不同的磁盘上,同时把有关媒体文件的定位等信息通知视频服务器组,另外还要在新创建媒体文件成功后将新节目的信息添加到负载均衡器的数据库中。各个视频服务器也将分割后的媒体文件定位信息添加到数据库中,之所以用数据库存储这些信息是为了快速检索和方便更新。
客户端接收到的是经过IDA算法变换后的媒体文件数据流,还不能直接在播放器上播放,需要用IDA算法的逆过程将原始媒体文件还原出来才能播放。由客户端完成还原工作是必须的,不然服务器将不堪重负。客户端用并发的方式完成接收、还原、播放,所以不影响播放效果,而且在客户端使用IDA算法恢复文件还可以提供一定的数据保密性。
IP磁盘阵列与服务器内部网络接口位于同一个局域网段,因此,IP磁盘阵列的规模只受以太网交换机的背板带宽制约,当前以太网交换机已经发展水平已经相当高了,在千兆交换机作为存储网络主干,百兆交换机作为IP磁盘的接入点的情况下,IP磁盘阵列可以轻松达到1000的规模。在服务器看来IP磁盘阵列是比硬件RAID更加灵活的网络软件RAID存储系统,媒体文件被分割并加入了冗余信息后存储在IP磁盘阵列中,即使在几块IP磁盘出现故障的情况下仍能保持提供正常服务。从而保证VOD系统在可用性,可扩展性,容错性,安全性等方面都有卓越的表现。
IP网络磁盘的设计作为VOD存储系统的基本组成单元,IP网络磁盘的性能至关重要,在设计时吸取了NAS的理论思想并采用嵌入式设计方案。VOD存储系统对IP网络磁盘的需求主要有几个方面与服务器之间要保证达到100M的网络带宽,硬盘的数据传输速率要保证得到充分发挥,服务器能够通过网络对文件进行访问操作。设计嵌入式板卡时依据以上需求,选择合适的专用嵌入式电子器件构建硬件系统,硬盘和网络数据传输采用DMA方式;精简优化嵌入式linux操作系统并开发与服务器通信的软件,作为在嵌入式板卡上运行的软件系统。嵌入式linux为各类应用软件提供访问底层硬件的接口和网络通信协议,大大简化了开发软件的工作量,而且linux具有源码开放和完全免费的优点,方便修改并降低了成本。
在操作系统上需要运行专门的应用软件管理和传输硬盘上的媒体文件,开发这些软件依据的原则是前面提过的实现更高效的文件管理和传输,为此利用linux多任务并发的特点采用多线程机制,由于DMA工作方式不依赖CPU,在硬盘I/O操作时系统可以同时通过网络接收或发送缓冲区里的数据;在接收或发送数据时,系统也可以同时进行硬盘的I/O操作,充分发挥了硬件的性能,提高了工作效率。由于在局域网内数据包传送可靠性极高,因此网络传输数据包的容量可以选择尽量大,并用UDP协议封装,这样可以减少数据包报头信息占用的有效带宽并简化协议处理复杂度。
磁盘与嵌入式板卡之间由与硬盘类型相匹配的数据线连接,可以连接不止一个磁盘,容量可以达到几百G,磁盘上的媒体文件以EXT2文件系统的形式组织。鉴于应用环境的实际需求会有差异,嵌入式IP磁盘应该能适应几种常见的场合。为此在设计时就考虑到了这些情况,在对数据传输速率要求不高的场合,可选用100Mbps的网络接口和IDE硬盘做物理存储设备,在对数据传输速率要求高的场合,可选用具有Gbps吞吐能力的网络接口和SATA或SCSI硬盘做物理存储设备。因此,要针对每种实际情况分别选择器件和设计硬件电路。由于操作系统与硬件环境是密切相关的,linux内核也要针对每种具体环境进行精简配置。
IP磁盘阵列的网络软件RAID大量配置了IP地址的IP网络磁盘接入到视频服务器所在的局域网中,在服务器看来就构成一个巨大的逻辑存储空间。当需要扩大存储容量时,只要将新的网络磁盘用网线连到交换机就可以了,非常易于部署并成本低廉。目前,RAID已经成为磁盘硬件容错功能的实际标准,在IP磁盘阵列的组织和管理时采用软件方式实现RAID功能,不仅提高了文件读写性能,相对硬件RAID还增强了系统的灵活性,降低了硬件成本。
实现软件RAID关键是算法的选择,由于本VOD存储系统文件I/O方式的特点,要求选用一种对文件进行分块的冗余算法,而且可以灵活地对不同的文件采用不同的冗余度,根据各个磁盘的实际使用情况将分割后文件的各个部分散布在剩余空间较大的磁盘上。IDA文件分割算法可以满足以上要求,下面对其进行一下简要描述。
首先选定合适的整数m,n,k(n=m+k),该算法可将文件F分割成大小相等的n份,其中任意m份大小之和等于F的大小,并且可以保证其中任意m份可以重新组合成完整的原始文件。原始媒体文件可以看作一个二进制序列,如果把文件的二进制序列分组(如8位一组或16位一组),那么文件又可以看作是0-255或0-65535的整数组成的序列,文件F=b1b2b3….bN,0<=bi<=255,再进一步地对F的整数序列进行分组,每组长度为m,F=(b1b2b3….bm)(bm+1bm+2bm+3….b2m)…,选择n个m维向量ai=(ai1….aim),1<=i<=n,其中任意m个向量线形无关。令Sk=(b(k-1)m+1……bkm),cik=ai.Sk=ai1.b(k-1)m+1+....+aim.bkm,F分割后的各个部分为Fi,1<=i<=n,Fi=(ci1….ciN/m),因此,当具备了任意m个部分时,设为F1….Fm,每个Fi对应一个生成向量ai组成一个可逆矩阵A,则有A·b1.bm=c11.cm1,]]>b1.bm=A-1c11.cm1.]]>服务器在存储媒体文件时,一边按顺序以Sk的倍数读入文件数据块,一边对每个Sk分别用n个m维向量ai进行乘积运算,会得到n个与读入文件数据块的l/m同样大小的数据块,将这n个数据块分别传输给IP磁盘写入文件中,依此做法循环直到将文件变换完毕。客户端则采取相反的过程,视频服务器事先提供给客户端n个m维向量,然后并行地将文件发送给请求的客户端,客户端及时地从接收缓冲区中选取m个数据包,根据这m个数据包的序号,选出与之对应的m个向量组成矩阵,计算出逆矩阵,由逆矩阵重构出原始媒体文件。当前作为客户端的用户PC已经有足够的计算能力一边并行的下载文件数据,一边恢复出原始媒体文件,一边在播放器上播放。
向量组a可以有多种选择,一种简单有效的方法可令ai=(1/xi+y1,….,1/xi+ym),1<=i<=n,xi+yj≠0,i≠j→xi≠xjand yi≠yj.
满足任意m个向量ai组成可逆n阶方阵A,计算A-1复杂度为0(m2),这里所有的计算都是在Zp域上进行的。为方便计算选取p=257,0<=bi<=255。
权利要求
1.基于嵌入式IP存储技术的高性能分布式并行VOD系统,其特征是包括视频服务器组、负载均衡服务器、IP磁盘阵列、节目制作服务器以及客户端;视频服务器组、负载均衡服务器、节目制作服务器位于网络的主干部分,由千兆以太网交换机连接,IP磁盘阵列连接到具有千兆上行百兆下行端口交换机的百兆端口,再由千兆上行端口接入到千兆主干交换机。
2.根据权利要求1所述的基于嵌入式IP存储技术的高性能分布式并行VOD系统,其特征是视频服务器组由多台具有千兆网络接口的计算机组成,并且都安装有数据库。
3.根据权利要求1所述的基于嵌入式IP存储技术的高性能分布式并行VOD系统,其特征是负载均衡服务器上安装有数据库和WEB服务器,在数据库中存放节目列表用户认证信息,以WEB的形式向用户展示节目列表,对用户进行管理和认证,用户在WEB页面上点播节目,由负载均衡服务器将其点播请求转交给负载最轻的视频服务器为其提供服务。
4.根据权利要求1所述的基于嵌入式IP存储技术的高性能分布式并行VOD系统,其特征是IP磁盘阵列上存放VOD系统的视频数据,IP磁盘阵列由大量独立的IP网络磁盘组成,每个IP磁盘由普通的大容量磁盘外加具有高速磁盘I/O和网络传输能力的嵌入式板卡组成。
5.根据权利要求1所述的基于嵌入式IP存储技术的高性能分布式并行VOD系统,其特征是节目制作服务器是一台或多台计算机,用于将视频源转换成适合作为流媒体传输的媒体文件,并将媒体文件按照一种文件分割算法IDA分割后分散地存放在IP磁盘阵列中多个磁盘上,同时把有关媒体文件的定位信息添加到视频服务器组的数据库中,另外还要在新创建媒体文件成功后将新节目的信息添加到负载均衡服务器的数据库中。
6.根据权利要求1所述的基于嵌入式IP存储技术的高性能分布式并行VOD系统,其特征是客户端接收到的经过IDA算法变换后的媒体文件数据流,首先需要用IDA算法的逆过程将原始媒体文件还原成原始流媒体的格式,然后才能在播放器上播放。
全文摘要
本发明是基于嵌入式IP存储技术的高性能分布式并行VOD系统,包括视频服务器组、负载均衡服务器、IP磁盘阵列、节目制作服务器以及客户端,视频服务器组、负载均衡服务器、节目制作服务器位于网络的主干部分,由千兆以太网交换机连接,IP磁盘阵列连接到具有千兆上行百兆下行端口交换机的百兆端口,再由千兆上行端口接入到千兆主干交换机。优点服务器不直接对存储设备上的流媒体文件进行复杂的操作,数据信息通过udp协议传输,提高了对IP磁盘的文件管理和传输的效率。用嵌入式IP磁盘作为存储节点,成本低、易扩展、体积小、功耗低。文件分布在多个网络磁盘上,服务器可以并行地通过网络传输文件,可以使文件I/O性能成倍增长。
文档编号H04N7/173GK1921577SQ200610041058
公开日2007年2月28日 申请日期2006年7月21日 优先权日2006年7月21日
发明者袁家斌, 林雪峰 申请人:南京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1