数据存储系统及方法

文档序号:6371195阅读:195来源:国知局
专利名称:数据存储系统及方法
技术领域
本发明涉及数据存储技术领域,特别涉及一种数据存储系统及方法。
背景技术
目前,监控数据日志一般存储在Oracle、Mysql、Sql Server等关系型数据库中。在关系型数据库中,数据以行和列的形式存储,一系列的行和列被称为表,一组表便组成了数据库。而关系是各个表之间的一种连接,通过关系,用户可以灵活的表示和操作数据。现有的关系型数据库至少存在以下问题、
I、数据备份采用冷、热备份,受计算机软件和硬件的影响,在计算机发生故障时容易造成数据丢失。2、关系型数据库在处理复杂的逻辑关系等数据时比较方便,但是在处理关系相对简单的海量日志时存在瓶颈。

发明内容
本发明的目的旨在至少解决上述技术缺陷之一。为达到上述目的,本发明一方面提出一种数据存储系统,其特征在于,包括数据采集服务器,用于实时采集多个节点的性能数据,并将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,所述键值为所述性能数据的唯一标识,所述属性值为所述性能数据;目录存储服务器,用于根据所述“键值/属性值”对生成所述性能数据的索引目录;以及多个数据存储服务器,每个所述数据存储服务器分别用于存储所述性能数据的一个备份,且每个所述数据存储服务器均包括多个数据文件,每个所述数据文件用于存储所述性能数据的多个数据块。根据本发明实施例的数据存储系统,采用分布式模式存储数据并生成数据的索引目录,提高数据的访问速度,同时方便对数据的处理。此外,由于对数据存储多个备份,因此提高数据的安全性。本发明另一方面还提出一种数据存储方法,包括以下步骤实时采集各个节点的性能数据;将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,所述键值为所述性能数据的唯一标识,所述属性值为所述性能数据;根据所述“键值/属性值”对生成所述性能数据的索引目录;以及将所述性能数据复制为多个备份并将所述多个备份分别存储到多个服务器中,其中,每个服务器包括多个数据文件,每个所述数据文件存储所述性能数据的多个数据块。根据本发明实施例的数据存储方法,采用分布式模式存储数据并生成数据的索引目录,提高数据的访问速度,同时方便对数据的处理。此外,由于对数据存储多个备份,因此提高数据的安全性。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图I为根据本发明一个实施例的数据存储系统的结构示意图;图2为根据本发明另一个实施例的数据存储系统的结构示意图;图3为根据本发明一个实施例的数据存储方法的流程图;以及图4为根据本发明另一个实施例的数据存储方法的流程图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。下面结合说明书附图详细描述根据本发明实施例的数据存储系统。图I为根据本发明一个实施例的数据存储系统的结构示意图。如图I所示,根据本发明实施例的数据存储系统包括数据采集服务器100、目录存储服务器200和多个数据存储服务器300。数据采集服务器100用于实时采集多个节点的性能数据,并将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,键值为性能数据的唯一标识,属性值为性能数据。目录存储服务器200用于根据键值生成性能数据的索引目录。每个数据存储服务器300用于存储性能数据的一个备份,且每个数据存储服务器300均包括多个数据文件,每个数据文件用于存储性能数据的多个数据块。具体地,在本发明中,为了提高数据的容灾恢复能力,使用多个数据存储服务器300存储数据的多个备份。此外,为了提高数据的访问速度,在每个数据存储服务器300中均将每个性能数据切分为多个数据块,然后将每个数据块存放在不同的数据文件中,也就是说,在每个数据存储服务器300中均存在多个数据文件,每个数据文件中存放多条数据记录。因此为了查找方便,在本发明中,在数据采集服务器100采集到性能数据后,为每个性能数据生成一个唯一的标识,即键值。具体地,本发明的一个实施例中,键值可以包括3个字节的节点标识号+12位的数据唯一标识号+8位文件标识号+8位时间戳属性。其中,节点标识号表示性能数据的来源,文件标识号表示数据将被存入的数据文件,时间戳表示性能数据的获取时间。由此,根据该“键值/属性值”对在目录存储服务器200中存放每一条记录的索引,从而在查找统计时可先通过目录存储服务器200查找到相应的数据存储服务器300然后再查找到相应的数据,提高数据的访问速度。应理解,由于使用时间戳信息,可以保证误操作情况下对数据的恢复,增加了系统的可靠性,同时也兼顾了关系型数据库的 常用特性,使得使用方便,便于上层应用程序的集成。此外,由于在键值中使用时间戳表明数据是在什么时间获取到的,因此在生成索引目录时还可以通过时间戳对数据进行按年、月、日、时、分、秒进行排列记录,以便进行后续的统计、求和、平均等操作。根据本发明实施例的数据存储系统,采用分布式模式存储数据并生成数据的索引目录,由此提高数据的访问速度,同时方便对数据的处理。此外,由于对数据存储多个备份,因此提高数据的安全性。图2为根据本发明另一个实施例的数据存储系统的结构示意图。如图2所示,在图I所示的实施例的基础上,根据本发明实施例的数据存储系统还包括异地备份服务器400。异地备份服务器400与多个数据存储服务器300属于不同的网络,用于存储性能数据的一个备份。由此,可以保证多个数据存储服务器出错时的数据恢复,提高数据的容灾恢复能力。进一步地,在本发明的一个实施例中,异地备份服务器400为至少两个,且每个异地备份服务器400属于不同的网络。由此,进一步提高数据的容灾恢复能力。本发明另一方面还提出一种数据存储方法。图3为根据本发明一个实施例的数据存储方法的流程图。如图3所示,根据本发明实施例的数据存储方法包括下述步骤。步骤S101,实时采集多个节点的性能数据,例如,配电柜的有功功率、数据中心的
温度等。步骤S102,将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,键值为性能数据的唯一标识,属性值为性能数据。在本发明的一个实施例中,键值包括3位的节点标识号+12位的数据唯一标识号+8位文件标识号+8位时间戳属性。其中,节点标识号表示性能数据的来源,文件标识号表示数据将被存入的数据文件,时间戳表示性能数据的获取时间。步骤S103,根据“键值/属性值”对生成性能数据的索引目录。具体地,由于数据将被切分成多个数据块而存放在不同的数据文件中,因此,为了方便查找,需根据“键值/属性值”对生成索引目录,由此在查找统计时可先通过索引目录查找到数据所在的服务器然后再查找到相应的数据,提高数据的访问速度。步骤S104,将性能数据复制为多个备份,并将多个备份分别存储到多个服务器中,其中,每个服务器均包括多个数据文件,每个数据文件用于存储性能数据的多个数据块。具体地,在本发明的一个实施例中,数据在每个服务器中均以文件形式存储,且每个文件的大小均不大于预定值如2K。也就是说,每个数据均被切分成多个数据块,每个数据块存储在一个数据文件中。根据本发明实施例的数据存储方法,采用分布式模式存储数据并生成数据的索引目录,由此提高数据的访问速度,同时方便对数据的处理。此外,由于对数据存储多个备份,因此提高数据的安全性。图4为根据本发明另一个实施例的数据存储方法的流程图。如图4所示,根据本发明实施例的数据存储方法包括下述步骤。步骤S201,实时采集多个节点的性能数据。步骤S202,将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,键值为性能数据的唯一标识,属性值为性能数据。步骤S203,根据“键值/属性值”对生成性能数据的索引目录。步骤S204,将性能数据复制为多个备份,并将多个备份分别存储到多个服务器中,其中,每个服务器包括多个数据文件,每个数据文件用于存储性能数据的多个数据块。 上述步骤S201至步骤S204的具体实现过程可与上述步骤SlOl至步骤S104相同,此处不再详细描述。步骤S205,将性能数据存储到至少一个异地服务器中,其中,异地服务器与上述多个服务器属于不同的网络,且每个异地服务器也属于不同的网络。根据本发明实施例的数据存储方法,除了将数据存储到多个服务器外,还对数据进行异地备份,由此提高数据的容灾恢复能力,进一步保证数据的安全性。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种数据存储系统,其特征在于,包括 数据采集服务器,用于实时采集多个节点的性能数据,并将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,所述键值为所述性能数据的唯一标识,所述属性值为所述性能数据; 目录存储服务器,用于根据所述“键值/属性值”对生成所述性能数据的索引目录; 多个数据存储服务器,每个所述数据存储服务器分别用于存储所述性能数据的一个备份,且每个所述数据存储服务器均包括多个数据文件,每个所述数据文件用于存储所述性能数据的多个数据块。
2.根据权利要求I所述的数据存储系统,其特征在于,还包括 异地备份服务器,与所述多个数据存储服务器属于不同的网络,用于存储所述性能数据的一个备份。
3.根据权利要求2所述的数据存储系统,其特征在于,所述异地备份服务器为至少两个,且所述至少两个异地备份服务器的每个属于不同的网络。
4.根据权利要求I所述的数据存储系统,其特征在于,所述键值包括节点标识、数据标识、数据文件标识和时间戳。
5.一种数据存储方法,其特征在于,包括以下步骤 51:实时采集各个节点的性能数据; 52:将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,所述键值为所述性能数据的唯一标识,所述属性值为所述性能数据; 53:根据所述“键值/属性值”对生成所述性能数据的索引目录;以及 S4:将所述性能数据复制为多个备份并将所述多个备份分别存储到多个服务器中,其中,每个服务器包括多个数据文件,每个所述数据文件存储所述性能数据的多个数据块。
6.根据权利要求5所述的数据存储方法,其特征在于,还包括 将所述性能数据存储到至少一个异地服务器中,其中,所述异地服务器与所述多个服务器属于不同的网络,且每个异地服务器也属于不同的网络。
7.根据权利要求5所述的数据存储方法,其特征在于,所述键值包括节点标识、数据标识、数据文件标识和时间戳。
全文摘要
本发明提出一种数据存储系统及方法。其中,系统包括数据采集服务器,用于实时采集多个节点的性能数据,并将采集到的每个性能数据均转换为“键值/属性值”对的格式,其中,键值为性能数据的唯一标识,属性值为性能数据;目录存储服务器,用于根据“键值/属性值”对生成性能数据的索引目录;以及多个数据存储服务器,每个数据存储服务器分别用于存储性能数据的一个备份,且每个数据存储服务器包括多个数据文件,每个数据文件用于存储性能数据的多个数据块。本发明采用分布式模式存储数据并生成数据的索引目录,提高数据的访问速度,同时方便对数据的处理。此外,由于对数据存储多个备份,因此提高数据的安全性。
文档编号G06F17/30GK102722584SQ201210189359
公开日2012年10月10日 申请日期2012年6月8日 优先权日2012年6月8日
发明者王川 申请人:北京天地云箱科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1