数据处理系统以及数据处理方法

文档序号:6384774阅读:154来源:国知局
专利名称:数据处理系统以及数据处理方法
技术领域
本发明涉及计算机数据处理技术领域,更具体地,涉及一种大规模数据环境下的数据处理系统、数据处理方法以及数据分配装置。
背景技术
现有存储系统采用的典型的分级存储策略为将经常被访问的数据存储在内存中,并采用不同的缓存置换的算法更新存储在内存中的数据,因为内存空间的限制,不经常被访问的则存储在磁盘上。这样便于数据查询和分析过程中快速定位,因而可以减少维护和处理的开销。此外,现有很多分布式存储系统,按照一定的分布策略将海量数据分布式存储在多个存储节点上。然而随着数据量的增加,节点数目不变,内存将成为更大的瓶颈,数据定位开销也越来越大。在这样的系统上进行数据查询和分析,势必使得性能随着数据量的增加而降低。目前的解决方案便是增加存储节点,进行扩展。扩展之后可以增加内存量,从而可以在一定程度下提高数据随机定位的命中率。但是扩展节点必须要考虑扩展同时不能产生过多的数据迁移以及不降低数据处理的效率。

发明内容
为解决现有技术存在的问题,本发明针对海量数据处理提供了一种能够提高数据访问效率的数据分配装置、数据处理系统和处理方法。根据本发明的一方面,提供了一种数据分配装置,包括数据分级单元,用于根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据,其中,所述多个存储节点至少包括第一级存储节点和第二级存储节点;数据迁移单元,用于在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及,在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。在可选实施例中,所述数据分级单元,还用于将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别。所述数据分配装置还包括数据加载单元,还用于根据所述级别将所述要加载数据加载到相应级别的存储节点中。在可选实施例中,所述数据迁移单元,还用于根据预先设定的时间将存储在所述第一级存储节点中的所述第一级数据和/或存储在所述第二级存储节点中的所述第二级数据备份到所述多个存储节点中的备份存储节点。在可选实施例中,所述数据加载单元,还用于在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。在可选实施例中,所述数据分级规则包括数据的访问频率和/或数据的重要性。
在可选实施例中,所述数据迁移单元和所述数据加载单元可以合并为一个单元。根据本发明的另一个方面,还提供了一种数据处理系统,包括多个存储节点,所述多个存储节点至少包括第一级存储节点和第二级存储节点;以及,数据分配装置,用于执行以下功能根据设置的数据分级规则对所述多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据;在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及,在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。在可选实施例中,所述数据处理系统还包括数据加载装置,用于将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别;以及,根据所述级别将所述要加载数据加载到相应级别的存储节点中。在可选实施例中,所述数据分配装置,还用于根据预先设定的时间将存储在所述第一级存储节点中的所述第一级数据和/或存储在所述第二级存储节点中的所述第二级数据备份到所述多个存储节点中的备份存储节点。在可选实施例中,所述数据加载装置,还用于在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。在可选实施例中,所述第一级存储节点是在线存储节点,以及所述第二级存储节点是离线存储节点。在可选实施例中,所述述数据分级规则包括数据的访问频率和/或数据的重要性。在可选实施例中,所述数据加载装置和所述数据分配装置可以合并为一个装置。在可选实施例中,所述数据处理系统还包括数据查询装置,用于确定要查询数据的数据级别,根据所确定的数据级别从相应级别的存储节点中通过查询条件查询到数据。根据本发明的又一方面,还提供了一种数据处理方法,包括根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据,其中所述多个存储节点至少包括第一级存储节点和第二级存储节点;在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。在可选实施例中,所述数据处理方法还包括将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别;以及,根据所述级别将所述要加载数据加载到相应级别的存储节点中。在可选实施例中,所述数据分级规则包括数据的访问频率和/或数据的重要性;或者,
在可选实施例中,所述数据处理方法还包括根据预先设定的时间将存储所述第一级存储节点中的第一级数据和/或存储在所述第二级存储节点中的第二级数据备份到所述多个存储节点中的备份存储节点。在可选实施例中,所述数据处理方法还包括在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。本发明实施例通过对大规模数据进行分级然后采用分级存储将不同级别的数据在不同级别的存储节点中,可以提高对海量数据的处理效率,尤其是提高从海量数据中访问数据的效率和速度。


图1是根据本发明一实施例的数据处理系统的结构示意图。图2是根据本发明另一实施例的数据处理系统的结构示意图。图3是根据本发明一实施例的用于数据处理系统的数据分配装置的一实施例的结构示意图。图4是根据本发明一实施例的数据处理方法的流程示意图。
具体实施例方式下面结合附图对本发明进行进一步地详细说明。图1是根据本发明一实施例的数据处理系统的结构示意图。如图1所示,所述数据处理系统包括多个存储节点。其中该多个存储节点可以被分为多个级别,例如至少包括第一级存储节点20A和第二级存储节点20B。每一级存储节点可以包括一个或者多个存储节点。数据处理系统还包括数据分配装置40,用于根据数据分级规则对各存储节点中存储的数据进行分级,从而得到不同级别的数据。可以将数据分为第一级数据、第二级数据、
第三级数据等。对于各存储节点已存储的数据,如果一存储节点中存储的数据被分级后包括第一级数据和第二级数据,然而该存储节点被划分为第一级存储节点,则数据分配装置40将从该存储节点中将第二级数据迁移到第二级存储节点。相类似地,如果不为第一级存储节点的存储节点上具有第一级数据、不为第三级存储节点的存储节点上具有第三级数据,数据分配装置还会将该第一级数据、第三级数据从所在的存储节点分别迁移第一级存储节点、第三级存储节点。在可选实施例中,数据分配装置40还用于将新接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别。例如要加载数据可以是从客户端或者其他数据处理系统接收到的数据。然后,数据分配装置根据所述级别将所述要加载数据加载到相应级别的存储节点中。例如,要加载数据根据数据分级规则分级为第一级数据,则将该第一级数据加载到第一级存储节点。在本发明可选实施例中,所述数据分级规则包括数据的访问频率和/或数据的重要性。例如,可以将访问频率高的数据和最重要的数据存储在第一级存储节点或者第一级存储节点组成的集群中,访问频率较低的数据和不太重要的数据存储在第二级存储节点或者第二级存储节点组成的集群中,以此类推。在一可选实施例中,第一级存储节点可以是在线存储节点,第二级存储节点可以是离线存储节点。这样可以对在线存储节点和离线存储节点进行分开维护。图2是根据本发明另一实施例的数据处理系统的结构示意图。如图2所示,数据处理系统可以包括数据分配装置40、数据加载装置50和数据查询装置70。为提高数据处理系统的可靠性,防止在线和离线的数据存储节点崩溃后,数据丢失,该数据处理系统的多个存储节点中除了第一级存储节点20A、第二级存储节点20B之外,还包括备份存储节点20C。备份存储节点可以采用廉价的吞吐率较低的存储介质,并且,数据多采用压缩存储的方式。备份存储节点上的数据不会被随机访问,只是用来恢复丢失的在线存储节点和离线存储节点的数据。数据分配装置40,除了能执行图1中的数据分配装置的功能之外,还用于根据预先设定的时间将存储在所述第一级存储节点中的所述第一级数据和/或存储在所述第二级存储节点中的所述第二级数据备份到所述多个存储节点中的备份存储节点20C。在另一可选实施例中,数据分配装置40还用于在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到备份存储节点20C。数据分配装置所执行的对多个存储节点已存储的数据进行分级和迁移的操作可以由数据处理系统中的服务管理节点来执行。在本发明实施例中,在进行数据迁移时,首先可以是将例如重要和/或访问频率高的数据迁移到高级别的存储节点中,然后将访问频率低的数据迁移到低级别的存储节点中。当然,也可以采用倒置的顺序或者其他方式迁移不同级别的数据。在海量数据处理系统中,数据多是随着时间推移逐渐增多,成为海量,因此数据的重要性和访问频率可以是与数据产生的时间相关。例如,一般最近产生的数据重要性高,因此数据越新,一般重要性越高且访问频率也越高。在一个例子中,可以将最近几个月甚至几年的数据列为比较重要,这可以根据实际业务的需求确定时间限制。然后,可以对比较重要和/或访问频率高的数据进行统一维护。随着时间的推移,可以是将过期的数据从高级别的存储节点迁移到低级别的节点上。并且,可以是在每日业务不繁忙的时间断进行迁移,而不会影响数据处理系统的正常运转。此外,数据迁移可以实现多个存储节点的数据向一个存储节点迁移。在可选实施例中,数据加载装置50用于将新接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别。例如要加载数据可以是从客户端或者其他数据处理系统接收到的数据。然后,数据分配装置根据所述级别将所述要加载数据加载到相应级别的存储节点中。例如,要加载数据根据数据分级规则分级为第一级数据,则将该第一级数据加载到第一级存储节点。在可选实施例中,数据加载装置50,还用于在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。在可选实施例中,数据处理系统还可以包括数据查询装置70,用于确定要查询数据的数据级别,根据所确定的数据级别从相应级别的存储节点中通过查询条件查询到数据。现有技术中,在访问数据时需要对全部级别的存储节点进行访问,而在本发明实施例中,只需根据数据级别直接访问相应级别的存储节点即可查询或访问到数据,明显提高了查询效率。在本发明一可选实施例中,还可以根据数据负载均衡要求,配置多个数据分配装置和数据加载装置。此外,还可以根据数据负载均衡要求设置第一级存储节点和第二级存储节点的数量,即第一级存储节点的数量可能第二级存储节点的数量相同,也可以不同。图3是根据本发明一实施例的用于数据处理系统的数据分配装置的一实施例的结构示意图。如图3所示,数据分配装置40包括数据分级单元401,用于根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据。多个存储节点至少包括第一级存储节点和第二级存储节点。数据分配装置40还包括数据迁移单元403,用于在多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及,在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。在可选实施例中,数据分级单元401,还用于将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别。数据分配装置40还可以包括数据加载单元405,还用于根据得到的要加载数据的级别将要加载数据加载到相应级别的存储节点中。在一可选实施例中,数据迁移单元403,还用于根据预先设定的时间将存储在所述第一级存储节点中的所述第一级数据和/或存储在所述第二级存储节点中的所述第二级数据备份到所述多个存储节点中的备份存储节点。在一可选实施例中,数据加载单元405,还用于在根据要加载数据的级别将要加载数据加载到相应级别的存储节点中的同时,将要加载数据存储到备份存储节点。在本发明实施例中,所述数据分级规则包括数据的访问频率和/或数据的重要性。在本发明实施例中,数据迁移单元和数据加载单元可以合并为一个单元。需要说明的是,上面描述的数据处理系统中的数据分配装置的结构仅是一些实施方式,不旨在也不应理解为是对数据分配装置的结构的限制。本发明技术人员能够理解,只要是能够实现在此描述的数据分配装置的相应功能的部件、装置或设备都应被包括在本发明的范围内,即使其内部结构与在此描述的数据分配装置40的结构不同。图4是根据本发明一实施例的一种数据处理方法。如图4所示,该数据处理方法,包括S401,根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据。其中,所述多个存储节点至少包括第一级存储节点和第二级存储节点。S402,在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点。S403,在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。需要说明的是,步骤S402和S403的顺序可以互换。在可选实施例中,所述数据处理方法还包括将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别;以及,根据所述级别将所述要加载数据加载到相应级别的存储节点中。在本发明实施例中,所述数据分级规则包括数据的访问频率和/或数据的重要性。在可选实施例中,所述数据处理方法还可以包括根据预先设定的时间将存储所述第一级存储节点中的第一级数据和/或存储在所述第二级存储节点中的第二级数据备份到所述多个存储节点中的备份存储节点。在可选实施例中,所述数据处理方法还可以包括在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。本发明实施例通过对大规模数据采用分级存储的方式,对于海量数据的处理明显可以提高效率。并且,与现有技术中的单纯的节点扩展方案相比,缩小了数据处理的范围,给数据业务带来的效率提升要更改。此外,由于分级管理数据,使得不同级别的数据可以区别对待,基于此可以采用不同的硬件和软件来满足不同级别的数据处理应用,使得在整体上可以提升效率的同时,还降低了整个系统的成本。在此提供的算法和实现不限于任何特定的计算机、虚拟系统或者其它设备。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或部件,以及此外可以把它们分成多个子模块或子单元或子部件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本申请的说明书中虽然描述了本发明实施例的大量具体细节,然而,能够理解,本发明实施例并不是必须在所有的具体细节情况下才能实施。在一些实例中,并未详细示出公知的方法、结构和技术,以便于清楚地理解本发明的发明主旨。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据分配装置,包括 数据分级单元,用于根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据,其中,所述多个存储节点至少包括第一级存储节点和第二级存储节点; 数据迁移单元,用于在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及, 在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。
2.根据权利要求1的数据分配装置,其特征在于,所述数据分级单元,还用于将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别;以及, 数据加载单元,还用于根据所述级别将所述要加载数据加载到相应级别的存储节点中。
3.根据权利要求1所述的数据分配装置,其特征在于,所述数据迁移单元,还用于根据预先设定的时间将存储在所述第一级存储节点中的所述第一级数据和/或存储在所述第二级存储节点中的所述第二级数据备份到所述多个存储节点中的备份存储节点;和/或, 所述数据加载单元,还用于在根据所述级别将所述要加载数据加载到相应级别的存储 节点中的同时,将所述要加载数据存储到所述备份存储节点。
4.根据权利要求1至3任一项所述的数据分配装置,其特征在于,所述数据分级规则包括数据的访问频率和/或数据的重要性;或者, 所述数据迁移单元和所述数据加载单元合并为一个单元。
5.一种数据处理系统,包括 多个存储节点,所述多个存储节点至少包括第一级存储节点和第二级存储节点;以及, 数据分配装置,用于执行以下功能 根据设置的数据分级规则对所述多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据; 在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及, 在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。
6.根据权利要求5所述的数据处理系统,其特征在于,所述数据处理系统还包括数据加载装置,用于将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别;以及,根据所述级别将所述要加载数据加载到相应级别的存储节点中。
7.根据权利要求5或6所述的数据处理系统,其特征在于 所述数据分配装置,还用于根据预先设定的时间将存储在所述第一级存储节点中的所述第一级数据和/或存储在所述第二级存储节点中的所述第二级数据备份到所述多个存储节点中的备份存储节点;和/或 所述数据加载装置,还用于在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。
8.根据权利要求5或6所述的数据处理系统,其特征在于所述第一级存储节点是在线存储节点,以及所述第二级存储节点是离线存储节点;或者, 所述述数据分级规则包括数据的访问频率和/或数据的重要性;或者, 所述数据加载装置和所述数据分配装置合并为一个装置。
9.根据权利要求5所述的数据处理系统,其特征在于,所述数据处理系统还包括 数据查询装置,用于确定要查询数据的数据级别,根据所确定的数据级别从相应级别的存储节点中通过查询条件查询到数据。
10.一种数据处理方法,包括 根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据,其中所述多个存储节点至少包括第一级存储节点和第二级存储节点; 在所述多个存储节点中的一个存储节点不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及 在所述多个存储节点中的一个存储节点不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。
11.根据权利要求10所述的数据处理方法,其特征在于,所述数据处理方法还包括 将接收到的要加载数据根据所述数据分级规则进行分级,得到所述要加载数据的级别;以及 根据所述级别将所述要加载数据加载到相应级别的存储节点中。
12.根据权利要求10或11所述的数据处理方法,其特征在于,所述数据处理方法还包括 所述数据分级规则包括数据的访问频率和/或数据的重要性;或者, 根据预先设定的时间将存储所述第一级存储节点中的第一级数据和/或存储在所述第二级存储节点中的第二级数据备份到所述多个存储节点中的备份存储节点;或者, 在根据所述级别将所述要加载数据加载到相应级别的存储节点中的同时,将所述要加载数据存储到所述备份存储节点。
全文摘要
本发明公开了一种数据分配装置,包括数据分级单元,用于根据设置的数据分级规则对数据处理系统的多个存储节点中存储的数据进行分级从而得到不同级别的数据,所述不同级别的数据至少包括第一级数据和第二级数据,其中,所述多个存储节点至少包括第一级存储节点和第二级存储节点;数据迁移单元,用于在多个存储节点中的一个不为第一级存储节点而存储有第一级数据时,将所存储的第一级数据迁移到第一级存储节点;以及,在多个存储节点中的一个不为第二级存储节点而存储有第二级数据时,将所存储的第二级数据迁移到第二级存储节点。本发明还公开了一种数据处理方法和系统。采用本发明,可以提高从海量数据中访问数据的效率。
文档编号G06F17/30GK103064914SQ201210556719
公开日2013年4月24日 申请日期2012年12月20日 优先权日2012年12月20日
发明者王颖, 宋怀明, 狄静舒, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1