一种基于集群的可视媒体存储系统的制作方法

文档序号:7891575阅读:160来源:国知局
专利名称:一种基于集群的可视媒体存储系统的制作方法
技术领域
本发明涉及可视媒体技术领域,尤其涉及一种基于集群的可视媒体存储系统。
背景技术
视觉是人类认知世界重要的手段。人类接受信息的83%来自视觉,通过视觉获取的信息是多种多样的。由图像、视频和数字几何这三种媒体信息组成的可视媒体已成为近年来的研究热点。可视媒体具有非结构性、数据量大、维数高以及语义多样性等特点。海量的可视媒体信息因缺乏智能处理机制,增加了人们的认知负担,降低了人们获取知识、掌握规律以及进行决策的效率。在现有计算机结构基础上,结合视觉信息的认知机理和人工智能,寻求可视媒体智能信息处理的新方法,是目前学术界努力的重要方向,人们希望借此会带来信息处理技术的突破性进展。信息技术的快速发展为深度开发和广泛应用创造了前所未有的条件,信息的海量增长也对信息智能处理提出了迫切需求。随着网络上多媒体数据的爆炸性增长,大量的多媒体数据在世界各地产生并共享,从而对海量可扩展的存储系统的需求也快速增长。现有存储系统技术受到空前的挑战。由于传统的关系型数据库系统(Relation Datatbase Management System, RDBMS)支持对象存储类型,简单对象操作功能薄弱难以胜任对半结构化和非结构化的大型复杂数据的管理对于不确定性数据也无能为力,远不能满足多媒体数据存储的需求。因此在关系数据模型基础上对其扩展和改进,形成目前常用的多种多媒体数据存储模型。目前存在着两种常用的多媒体数据存储模型1)面向对象的关系数据模型。采用面向对象技术和数据库技术相结合,并在此基础上采用面向对象编程语言(如C++、Java)进行数据库应用软件的开发,提供给数据库用户以面向对象的数据存储、管理、检索的功能。在关系数据库中存储多媒体对象的位置信息,即把关键词、文本标题、数据的存储路径及名称等一些附加的描述信息作为媒体数据的索引存储在RDBMS中。而实际的多媒体对象以某种命名规则存储在数据库之外的分离的服务器指定的目录下,在对象的存储路径及关键词之间建立联系,通过地址链接显示媒体数据。这种以外部文件的方式存储多媒体对象不会降低数据库的性能但这种方式存在一些缺点,如多媒体数据存放在数据库系统的外部,无法获得数据库对其自身数据提供的安全保护。2)纯粹面向对象数据库。纯粹面向对象数据库(Object-oriented Database, 00DB)采用全新的数据模型和模式,从最底层做起将面向对象模型、方法和机制与先进的数据库技术有机地结合起来,利用ODQL语言实现数据库的查询,其功能是在SQL功能的基础之上,增加了适合基于内容检索的机制,如复杂的信息建模能力、语义模式的设计;支持对象实例和类的动态模式演进;支持大型工程事务管理;对象的版本和配置管理;导航式查询和关联查询访问;支持分布式系统中独立于平台的大型对象的存储;计算完整的数据库编程语言。目前,典型的商品化的面向对象的数据库系统有 0NT0S DB、Gemstone> Objectivity、ObjectStone、02、Poet、Versant 等。现有技术的缺点I、面向对象的关系型数据库存在着并行性低、网络适应性差,海量的可视媒体不能做到很好的支持,多媒体数据存放在数据库系统的外部,无法获得数据库对其自身数据提供的安全保护,而且数据恢复差,防突发能力不足,在分布式系统中缺乏负载均衡能力。2、纯粹的面向对象模型所述的OODB具有结构清晰、效率高等优点,但此方法实施难度大,缺乏统一的数据模型以及坚实理论基础,兼容性和可移植性差,与RDBMS不兼容,不支持SQL语句,通用性较差,目前难以做到通用
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种基于集群的可视媒体存储系统,通过该系统提高了系统的并行性和可扩展性,同时具有逻辑结构清楚,对负载能够自动均衡的特点。一种基于集群的可视媒体存储系统,其特征在于,该系统由两种集群节点组成,存储节点和多媒体服务器节点;存储节点组织分布式的存储设备,给用户提供一个可扩展的存储卷,存储在该卷的数据采用层次目录结构组织;多媒体服务器通过CMSS客户端代理来访问CMSS ;该系统的软件模块分为9个部分,即客户端包含用户接口、IFS模块、客户端缓存模块和网络协议模块,服务器包含成员管理模块、数据备份模块、网络协议、元数据管理和服务器缓存模块;其中,客户端和服务器的网络协议实现了客户端同服务器的通信功能,是基于TCP/IP ;用户接口模块是为了通过用户态的程序接口,以便于应用程序更好地利用CMSS的特性;CMSS客户端是在Windows平台上实现的,IFS模块利用Windows提供的IFS接口提供应用程序一个标准的文件访问接口,从而保证应用程序透明地使用本系统;客户端缓存和服务器缓存模块一起组成两级缓存结构;元数据管理模块实现了 CMSS的元数据管理功能,成员管理模块实现CMSS的成员管理功能;数据备份模块实现了不同磁盘服务器之间的数据备份和迁移,从而实现系统的高可靠性和负载平衡。优选的,CMSS系统用户请求处理流程为用户通过客户端代理向逻辑元数据服务器发请求,逻辑元数据服务器返回数据存放的存储服务器信息,然后客户端代理再自动向相应的存储服务器发请求,最后存储服务器返回用户请求的数据。优选的,在CMSS中,所有的存储服务器定期发送一个广播心跳包,成员管理器通过监听这些心跳包来创建活动存储服务器列表;如果在一定的时间内成员管理器不能够收到一个存储服务器的心跳包,成员管理器将认为此服务器失效,并将它从自己的服务器列表中删除;心跳包还包含服务器元数据和存储资源使用情况等信息。优选的,有3种事件会导致服务器列表的更新I)定期刷新事件每个存储服务器定期刷新它的元数据信息,因为一个存储节点可能改变了自己的元数据等信息,而其他存储节点可能保存的是旧的信息,因此需要定期更新,采用3分钟的更新周期;2)存储节点加入事件当添加新的存储节点时,新存储节点会广播一个加入事件,其他的存储节点收到此事件,会更新自己的服务器列表信息,并将自己的节点信息反馈给新节点,新节点也根据反馈信息生成自己的存储节点列表;3)存储节点断开事件当成员管理器发现一个节点失效,会广播一个断开事件,其他存储节点收到此事件,会自动在存储节点列表中删除失效节点的信息。优选的,在服务器上有一个备份管理器BM(backup manage),它接受用户的备份请求,并根据整个系统的负载情况,在适当的时候创建备份任务处理线程,启动备份过程;备份源BS (backup source)是需要备份的光盘服务器,备份目的BT (backup target)是要把数据备份到的光盘服务器,它要提供足够的空间存放备份的数据。优选的,为了实现备份3方的协同工作,首先需要定义一个NBP (network backupprotocol)协议,它规定了整个备份过程的各个步骤,并定义了 BM、BS和BT之间的通信接口以及它们之间的交互过程;数据的备份流程为下面8个步骤Stepl :备份任务处理线程向源命令处理线程发送备份命令;Step2 :源命令处理线程将命令插入命令队列,并在响应代理上等待源工作线程的处理结果; Step3 :源工作线程从源命令队列读取相应的命令,并向目的处理线程转发此命令;Step4 :目的处理线程接收到命令后,进行相应的处理,并返回处理结果给源工作线程;Step5 :源工作线程收到处理结果插入响应队列;Step6 :源命令处理线程从响应队列读取处理结果,并将处理结果发送给备份任务处理线程;St印7 :源工作线程连续地将数据传输到目的端;StepS:在数据传输的过程中,源命令处理线程及时向备份任务处理线程报告备份的当前状态。本发明技术方案带来的有益效果1)CMSS系统是基于普通的PC机即可构造成一种集群分布式网络数据库,不需要购置特别的高级设备和大型计算机;2) CMSS系统采用针对多媒体应用设计的,具有高度自治、自维护的集群策略,提高了系统的并行性和可扩展性,同时具有逻辑结构清楚,对负载能够自动均衡的特点。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I是本发明中CMSS的系统结构图; 图2是本发明中CMSS的系统模块结构图;图3是本发明中一个名字空间目录树实例图;图4是本发明中数据备份协议流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的提供一个基于PC集群的高性能集群多媒体存储系统,该系统采用高度自治、自维护的集群策略,提高了系统的并行性和可扩展性;采用逻辑元数据管理技术、服务器数据备份技术,提高系统的数据安全性和解决服务器之间的负载均衡。多媒体应用的特点是读请求远远多于写请求,从而对存储数据的修改很少,因此本发明提出的集群多媒体存储系统(cluster multimedia storage system, CMSS)采用基于PC的存储集群结构,每个节点管理自己的存储设备,共同组织为一个可扩展的高性能的存储卷。图I给出了 CMSS的系统结构图。CMSS由两种集群节点组成;存储节点和多媒体服务器节点。存储节点组织分布式的存储设备,给用户提供一个可扩展的存储卷;存储在该卷的数据采用层次目录结构组织。多媒体服务器通过CMSS客户端代理来访问CMSS系统,改变传统的把所有用户请求都发给管理服务器方式,而是让用户请求分散到各个服务器,这样大大增强各个服务器的并行度,实现了负载平衡,从而提高了整个集群的性能。CMSS系统采用高自治、自维护的分布式策略,各个存储节点能够独立地维护自己的存储资源和文件的元数据及数据本身,并能够独立提供文件服务,从而提高系统的可扩展性。采用数据放置策略同数据迁移相结合的技术,维护各存储节点的负载平衡。CMSS系统采用智能数据放置策略,通过数据的使用情况,分析数据的相关性,采用将有相关性的数据尽可能放置在同一个存储节点,从而减少存储节点之间的数据相关性,从而将任何节点的失效对其他节点的影响降低到最小,提高系统的可用性。CMSS系统用户请求处理流程如图I中虚线所示,用户通过客户端代理可以向逻辑元数据服务器发请求(步骤(I)),逻辑元数据服务器返回数据存放的存储服务器信息(步骤(2)),然后客户端代理再自动向相应的存储服务器发请求(步骤(3)),最后存储服务器返回用户请求的数据(步骤(4))。CMSS系统的软件结构如图2所示,按照功能划分,CMSS可以分为9个模块,客户端包含用户接口、IFS模块、客户端缓存(Cache)模块和网络协议模块,服务器包含成员管理模块、数据备份模块、网络协议、元数据管理和服务器缓存(Cache)模块。其中,客户端和服务器的网络协议实现了客户端同服务器的通信功能,是基于TCP/IP。用户接口模块是为了通过用户态的程序接口,以便于应用程序更好地利用CMSS的特性。CMSS系统客户端是在Windows平台上实现的,IFS模块利用Windows提供的IFS接口提供应用程序一个标准的文件访问接口,从而保证应用程序透明地使用本系统。客户端Cache和服务器Cache模块一起组成两级Cache结构,是为了提高系统的性能。元数据管理模块实现了 CMSS系统的元数据管理功能,成员管理模块实现CMSS的成员管理功能;数据备份模块实现了不同磁盘服务器之间的数据备份和迁移,从而实现系统的高可靠性和负载平衡。传统的SAN存储系统具有很好的可扩展性,但是其元数据服务器是其瓶颈,针对多媒体数据访问的特点,CMSS系统采用逻辑元数据服务器(logical metadata server,LMS)来实现整个系统的元数据管理,也就是采用高自治自维护的集群策略,各个存储节点能够独立地维护自己的存储资源和元数据及数据本身;并能够独立提供存储服务,元数据服务器只管理不同存储服务器之间的元数据,从而减轻了元数据服务器的负担,提高系统的性能。采用数据放置策略同数据迁移相结合的技术,维护各存储服务器的负载平衡。LMS由各个服务器选举产生(例如,采用IP地址最小的服务器担任),其管理的名字空间元数据由各个服务器汇总产生。一旦LMS失效,系统就会自动产生新的LMS,因此不存在单点失效。LMS只保存namespace的一级目录和同父目录不在同一个服务器的目录或文件信息,这样LMS保存的全局目录信息很少且相对静态。为了提高性能,LMS收集完成所有的全局目录信息后,将它发给所有的存储节点和用户节点,用户节点代理程序有这个全局目录信息,就能够直接得到服务的文件和目录所在的存储节点,不需要访问LMS。各个存储节点上的数据以多个独立的子树的形式存在,各个存储节点将这些子树根节点信息组成一个比较小的目录表。各个存储节点将它自己的目录表提交给LMS,由LMS统一管理。由LMS生成一个全局目录树,也就是名字空间目录树。图3是名字空间目录树的一个实例,矩形框表示的节点存储在存储服务器I上,菱形框表示的节点存储在存储服务器2上,圆角矩形框表示的节点存储在 存储服务器3上。在CMSS中,存储服务器列表作为一个软状态(同Sorrento系统相似),能够自动适应环境的改变(如节点的失效或增加),系统建立在相互自治的基础上,各个节点相互检测并自动调整自己的策略,一起合作完成系统的资源虚拟化、数据定位和放置等。在CMSS中,所有的存储服务器定期发送一个广播心跳包,成员管理器通过监听这些心跳包来创建活动存储服务器列表。如果在一定的时间内成员管理器不能够收到一个存储服务器的心跳包,成员管理器将认为此服务器失效,并将它从自己的服务器列表中删除。心跳包还包含服务器元数据和存储资源使用情况等信息。有3种事件会导致服务器列表的更新I)定期刷新事件。每个存储服务器定期刷新它的元数据信息,因为一个存储节点可能改变了自己的元数据等信息,而其他存储节点可能保存的是旧的信息,因此需要定期更新,在我们的测试环境,我们采用3分钟的更新周期。2)存储节点加入事件。当添加新的存储节点时,新存储节点会广播一个加入事件,其他的存储节点收到此事件,会更新自己的服务器列表信息,并将自己的节点信息反馈给新节点,新节点也根据反馈信息生成自己的存储节点列表。3)存储节点断开事件。当成员管理器发现一个节点失效,会广播一个断开事件,其他存储节点收到此事件,会自动在存储节点列表中删除失效节点的信息。为了提高整个CMSS系统的可靠性,CMSS系统中还设计了数据备份模块,它实现不同存储服务器之间的数据备份。同时它也实现存储服务器之间的数据迁移,将负载重的存储服务器数据迁移到负载比较轻的存储服务器上,从而保证整个CMSS系统的负载平衡。整个备份系统分为3部分,如图4所不。在服务器上有一个备份管理器BM(backup manage),它接受用户的备份请求,并根据整个系统的负载情况,在适当的时候创建备份任务处理线程,启动备份过程。备份源BS (backup source)是需要备份的光盘服务器,备份目的BT (backuptarget)是要把数据备份到的光盘服务器,它要提供足够的空间存放备份的数据。为了实现备份3方的协同工作,首先需要定义一个NBP (network backupprotocol)协议,它规定了整个备份过程的各个步骤,并定义了 BM、BS和BT之间的通信接口以及它们之间的交互过程。下面通过介绍整个备份过程来说明NBP协议。如图4所示,数据的备份流程可以分下面8个步骤Stepl :备份任务处理线程向源命令处理线程发送备份命令;Step2 :源命令处理线程将命令插入命令队列,并在响应代理上等待源工作线程的处理结果Step3 :源工作线程从源命令队列读取相应的命令,并向目的处理线程转发此命令;Step4 :目的处理线程接收到命令后,进行相应的处理,并返回处理结果给源工作线程;Step5 :源工作线程收到处理结果插入响应队列;Step6 :源命令处理线程从响应队列读取处理结果,并将处理结果发送给备份任务处理线程;St印7 :源工作线程连续地将数据传输到目的端;StepS:在数据传输的过程中,源命令处理线程及时向备份任务处理线程报告备份的当前状态。总而言之,CMSS系统主要是针对多媒体应用来设计的,采用高自治、自维护的集群策略,提高了系统的并行性和可扩展性;采用逻辑元数据管理,既实现了单一名字空间,又避免了单点失效。对于负载平衡问题,CMSS系统通过服务器之间数据迁移解决了静态负载平衡,尽可能保证各个服务器上的数据量平衡。本发明技术方案带来的有益效果DCMSS系统是基于普通的PC机即可构造成一种集群分布式网络数据库,不需要购置特别的高级设备和大型计算机;2) CMSS系统采用针对多媒体应用设计的,具有高度自治、自维护的集群策略,提高了系统的并行性和可扩展性,同时具有逻辑结构清楚,对负载能够自动均衡的特点。在负载均衡的设计中,本发明的CMSS系统采用的是静态负载均衡策略,能够较好的保证系统的负载均衡。但出了此种方法,还可以采用其他动态的负载均衡测略,着将更加有效的使整个系统的负载均衡化。但动态均衡策略也意味着更为复杂的设计。以上对本发明实施例所提供的一种基于集群的可视媒体存储系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于集群的可视媒体存储系统,其特征在于,该系统由两种集群节点组成,存储节点和多媒体服务器节点;存储节点组织分布式的存储设备,给用户提供一个可扩展的存储卷,存储在该卷的数据采用层次目录结构组织;多媒体服务器通过CMSS客户端代理来访问CMSS ;该系统的软件模块分为9个部分,即客户端包含用户接口、IFS模块、客户端缓存模块和网络协议模块,服务器包含成员管理模块、数据备份模块、网络协议、元数据管理和服务器缓存模块;其中,客户端和服务器的网络协议实现了客户端同服务器的通信功能,是基于TCP/IP ;用户接口模块是为了通过用户态的程序接口,以便于应用程序更好地利用CMSS的特性;CMSS客户端是在Windows平台上实现的,IFS模块利用Windows提供的IFS接口提供应用程序一个标准的文件访问接口,从而保证应用程序透明地使用本系统;客户端缓存和服务器缓存模块一起组成两级缓存结构;元数据管理模块实现了 CMSS的元数据管理功能,成员管理模块实现CMSS的成员管理功能;数据备份模块实现了不同磁盘服务器之间的数据备份和迁移,从而实现系统的高可靠性和负载平衡。
2.如权利要求I所述的系统,其特征在于,CMSS系统用户请求处理流程为用户通过 客户端代理向逻辑元数据服务器发请求,逻辑元数据服务器返回数据存放的存储服务器信息,然后客户端代理再自动向相应的存储服务器发请求,最后存储服务器返回用户请求的数据。
3.如权利要求I所述的系统,其特征在于,在CMSS中,所有的存储服务器定期发送一个广播心跳包,成员管理器通过监听这些心跳包来创建活动存储服务器列表;如果在一定的时间内成员管理器不能够收到一个存储服务器的心跳包,成员管理器将认为此服务器失效,并将它从自己的服务器列表中删除;心跳包还包含服务器元数据和存储资源使用情况等信息。
4.如权利要求I或3所述的系统,其特征在于,有3种事件会导致服务器列表的更新 1)定期刷新事件每个存储服务器定期刷新它的元数据信息,因为一个存储节点可能改变了自己的元数据等信息,而其他存储节点可能保存的是旧的信息,因此需要定期更新,采用3分钟的更新周期; 2)存储节点加入事件当添加新的存储节点时,新存储节点会广播一个加入事件,其他的存储节点收到此事件,会更新自己的服务器列表信息,并将自己的节点信息反馈给新节点,新节点也根据反馈信息生成自己的存储节点列表; 3)存储节点断开事件当成员管理器发现一个节点失效,会广播一个断开事件,其他存储节点收到此事件,会自动在存储节点列表中删除失效节点的信息。
5.如权利要求I所述的系统,其特征在于,在服务器上有一个备份管理器BM(backupmanage),它接受用户的备份请求,并根据整个系统的负载情况,在适当的时候创建备份任务处理线程,启动备份过程;备份源BS (backup source)是需要备份的光盘服务器,备份目的BT(backup target)是要把数据备份到的光盘服务器,它要提供足够的空间存放备份的数据。
6.如权利要求I或5所述的系统,其特征在于,为了实现备份3方的协同工作,首先需要定义一个NBP (network backup protocol)协议,它规定了整个备份过程的各个步骤,并定义了 BM、BS和BT之间的通信接口以及它们之间的交互过程;数据的备份流程为下面8个步骤Stepl :备份任务处理线程向源命令处理线程发送备份命令; Step2 :源命令处理线程将命令插入命令队列,并在响应代理上等待源工作线程的处理结果; Step3 :源工作线程从源命令队列读取相应的命令,并向目的处理线程转发此命令; Step4 目的处理线程接收到命令后,进行相应的处理,并返回处理结果给源工作线程; Step5 :源工作线程收到处理结果插入响应队列; Step6 :源命令处理线程从响应队列读取处理结果,并将处理结果发送给备份任务处理线程; Step7 :源工作线程连续地将数据传输到目的端; StepS:在数据传输的过程中,源命令处理线程及时向备份任务处理线程报告备份的当前状态。
全文摘要
本发明公开了一种基于集群的可视媒体存储系统。该系统分为9个模块,客户端包含用户接口、IFS模块、客户端缓存(Cache)模块和网络协议模块,服务器包含成员管理模块、数据备份模块、网络协议、元数据管理和服务器缓存(Cache)模块。该系统具有高度自治、自维护的集群策略,提高了系统的并行性和可扩展性,同时具有逻辑结构清楚,对负载能够自动均衡的特点。
文档编号H04L29/08GK102624911SQ20121006832
公开日2012年8月1日 申请日期2012年3月14日 优先权日2012年3月14日
发明者曾金龙, 林谋广, 韩冠亚 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1