一种基于数据分布库的多维度数据分布方法

文档序号:6636223阅读:1076来源:国知局
一种基于数据分布库的多维度数据分布方法
【专利摘要】本发明公开了一种基于数据分布库的多维度数据分布及方法,属于电网数据处理【技术领域】。本发明首先分析业务逻辑,分析出业务功能和数据库中的表之间的逻辑关系,然后确定水平或垂直分布,根据业务分析结果,确定数据整体拆分原则,对于简单逻辑的系统宜采用垂直分布策略,对于复杂逻辑的系统宜采用水平分布策略,接着确定多维度混合分布,结合业务逻辑,组合数据分布库中的分布策略成最佳的混合分布;并确定多维度分布的数据块的最细粒度,通过分析集群节点的存储空间,利用最大公约原则来确定数据块的最细粒度;最后实现数据分布。本发明能够实现高性能的数据查询与分析,满足用户对大数据处理的实时性需求。
【专利说明】一种基于数据分布库的多维度数据分布方法

【技术领域】
[0001]本发明属于电网数据处理【技术领域】,更准确地说,本发明涉及一种基于数据分布库的多维度数据分布方法。

【背景技术】
[0002]随着电力企业业务信息系统应用的逐步深入,业务数据量激增,目前多个系统数据已达数亿条记录,信息系统性能和运行效率逐渐降低,当前对象化并行计算系统分布式缓存数据库数据到内存,借助于内存计算,可有效提升电力信息系统运行性能,但数据分布策略采用水平切片,比较单一,造成拆分后的数据块不均,无法达到负载均衡,此外没有考虑业务逻辑,没有达到最佳分布策略,严重影响系统运行效率。
[0003]数据分布是分布式并行系统实现的基础,数据分布策略是研究如何在多节点之间均衡分布数据,它的优劣,直接影响系统的运行效率。当前,业界在分布式文件系统、分布式数据库等技术中均有数据分布策略,为大数据的存储提出了数据分布解决方案。
[0004]分布式文件系统是主从结构,由一个主服务器和若干个数据节点构成。通常是一个节点一个机器,管理对应节点的存储。系统设计成能可靠地在集群中大量机器之间存储大量的文件,数据分布策略是将一个文件分割成一个或多个块,这些块被存储在一组数据节点中,以块序列的形式存储文件。文件中除了最后一个块,其他块都有相同的大小。提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。
[0005]分布式数据库系统中的数据分布是指在多存储节点分配数据,使得系统对数据处理的并行性得以充分发挥,达到最小化数据处理时间的目的,数据分布过程主要有两个阶段:数据分段和数据分配。数据分段是将按照关系将数据划分为若干个数据子集。数据分配是将已划分的数据子集分配到不同的存储节点中。数据分段又分为垂直分段和水平分段。垂直分段是指以关系的属性为单位,通过投影操作产生若干数据子集;水平分段是指以关系的元组为单位,通过选择操作产生若干数据子集,当前数据分布多采用水平分段,因为这种分段方式通过数据子集的并操作还原关系,不仅有利于均衡负载,也有利于增强查询的并行性。
[0006]数据分布策略主要有水平分布、垂直分布和混合分布。水平分布是按特定策略将关系的元组划分成若干不相交子集,每个子集为关系的一个逻辑片段,各片段分布到不同节点上。垂直分布则将关系的属性集划分为若干子集,然后将关系的键和属性子集的值分布到不同节点上;混合分布则是水平和垂直分布两种策略的混合。由于关系型数据库在设计之初就要求小的冗余度,表的属性集较小,导致垂直分布代价较高,因此目前实际应用的多是水平分布,其主要有如下几种:
轮转划分。将元组轮转循环分布到各节点上。
[0007]范围划分。根据表中某一个或多个属性取值将所有元组划分成若干不相交子集后分布到各节点上。
[0008]散列划分。根据选定的函数和属性将元组散布到相应节点上。
[0009]此外,近年来由于面向对象数据库的兴起,使元组中某些属性的数据量极为庞大,关于垂直分布的研究逐渐增多。
[0010]现有并行计算方法(如专利CN1641957电力系统潮流分网并行计算方法),是将系统数据分割成若干个小数据集,分析出各个小数据集之间的关联矩阵,然后在小数据集上并行计算任务。
[0011]针对在电力行业大数据中,数据分布策略采用单一存储策略,无法达到负载均衡,影响系统运行效率,以上分布式文件系统、面向列的分布式数据库等技术具有局限性,只能在一定程度上缓解问题。上述法没有考虑业务逻辑,虽然能达到数据存储负载均衡,但不适用于对象化并行计算系统,性能有待于进一步提升。


【发明内容】

[0012]本发明目的是:针对现有技术中电网信息系统中分布式文件系统的局限性,提供一种基于数据分布库的多维度数据分布方法。该方法基于多维度数据分布策略,结合业务逻辑,利用多维度数据分布策略实现负载均衡,为提升电网信息系统运行性能打下良好的基础。
[0013]具体地说,本发明是采用以下技术方案实现的,包括以下步骤:
1)分析业务逻辑,分析出业务功能和业务层使用的电力信息数据库中的表之间的逻辑关系,并分析出可用于分布的字段集合;
2)确定水平或垂直分布,根据业务分析结果,确定数据整体拆分原则,对于简单逻辑的系统可以采用垂直分布策略,对于复杂逻辑的系统采用水平分布策略;
3)确定多维度混合分布,利用业务分析结果,分析用户行为,明确查询、统计任务常用维度,然后利用数据分布库中的这些数据分布策略进行组合,将数据分成大小基本相同的数据块;
4)确定多维度分布的数据块的最细粒度,通过分析集群节点的存储空间,利用最大公约原则来确定数据块的最细粒度;所述最细粒度的数据块是不可再拆分的、最基本的数据块,以最细粒度的数据块为单位进行计算节点的存储空间;
5)实现数据分布,根据节点的可用存储空间,利用最细粒度的数据块来计算集群节点分布的数据,存储数据量。
[0014]上述技术方案的进一步特征在于:所述步骤4)中,最大公约原则是根据所有节点的存储空间数值的共有约数中最大的一个作为集群节点存储空间的最大公约数,依据这个数值作为确定数据块的最细粒度的原则。
[0015]上述技术方案的进一步特征在于:所述步骤5)中,节点的可用的存储空间计算方法按照下面公式进行:
可用空间=(物理空间-其他程序占用空间)X80%。
[0016]本发明的有益效果如下:本发明基于多维度数据分布策略,结合业务逻辑,利用多维度数据分布策略实现负载均衡,为提升电网信息系统运行性能打下良好的基础。因此,本发明能够实现高性能的数据查询与分析,满足用户对大数据处理的实时性需求。

【专利附图】

【附图说明】
[0017]图1为本发明数据分布库和数据分布方法关系图。
[0018]图2为本发明方法流程图。

【具体实施方式】
[0019]下面参照附图对本发明作进一步详细描述。
[0020]本发明基于多维度数据分布策略,结合业务逻辑,利用多维度数据分布策略,实现负载均衡,为提升系统运行性能打下良好的基础。电网信息系统数据分布库中数据分布方法主要有:
I)水平分布。水平分片是指按一定的业务逻辑关系将关系数据库中的数据按行分为若干个不相交的子集,每个子集为数据的一个片段。
[0021]2)垂直分布。垂直分布是指将关系数据库中的数据按列分为若干子集,垂直分布的片段必须能够重构原来的全局关系,即可以用连接的方式恢复原关系因此垂直分布的诸片段通常都包含关系。
[0022]3)地区分布。是指将关系数据库中的数据按照数据地区属性分成若干个子集,各个子集之间没有交集,所有子集能够重构原来的数据。比如将国网数据以省为单位进行分布,则数据分成北京、河北…,江苏等子集,每个省公司子集不包含其他省的数据,所有省的数据之和是国网公司的数据。
[0023]4)时间分布。是指将将关系数据库中的数据按照数据时间属性分成不相交的若干个子集,各个子集之间没有交集。比如:可以将国网公司的数据按照年月进行分布,2014年I月的数据为一个子集,2014年2月的数据为一个子集,以此类推。
[0024]5 )电压分布。是指将关系数据库中的数据按照数据电压数据进行拆分成若干个不相交的子集,当前国网公司电压等级主要有:1000kv、500kv、…、1kv等,100kv的数据分成一个子集,500kv的数据分为一个子集,由于线路电压不允许同时有两个值,因此,子集之间没有交集。
[0025]6)其他分布。关系数据库中的数据按照某个属性分成若干个不相交的子集,这些子集可能重构原有数据。
[0026]多维度分布策略主要有:
I)垂直或水平分布策略。垂直分布和水平分布是数据拆分的总策略,选择哪种分布要看数据之间的逻辑关系,如果数据之间关联性强,一次统计分析等任务需要多个表数据,那么数据不适合垂直分布,适合用水平分布。如果数据之间关联性不强,则适合垂直分布。
[0027]2)多维度混合分布策略。是指将数据按照多种分布方式组合进行分布,分布的原则就是达到拆分后的子集大小均衡,不能差异过大。例如将数据可以先按照地区拆分数据,不同省之间的数据量差异大,则在地区拆分的基础上进一步利用时间段拆分,如果混合分布方式拆分后的子集大小均衡,则完成拆分,否则继续混合其他分布方式,直到拆分后的子集均衡为止。
[0028]在上述多维度分布策略基础上,本发明方法的数据分布库和多维度数据分布方法关系见图1。集群系统以在对象化并行计算系统应用为例,该系统根据功能将集群中计算机分为:对象服务器、对象管理服务器、客户端代理三类。其中对象服务器负责创建对象,加载并缓存数据,管理所有对象。提供对象访问的远程接口,对内存对象的访问进行并发控制。屏蔽底层不同数据存储方式的差异,完成内存对象数据的持久化。完成内存对象数据同步,负责对象更新时事务管理。
[0029]本发明方法实施流程如图2所示,包括以下具体过程:
第一步,分析业务逻辑。业务逻辑是指电力行业内数据之间的逻辑,数据之间的关联关系依据电力业务规则构成了整个业务逻辑的动态模型。业务规则作用于领域实体,领域实体遵从业务规则进行运作。一般根据数据表组织业务模块,每个模块对应一个表,其中包含了这个表的相应处理。在业务层内,使用库-表结构的对象进行数据操作,做到最大限度与数据表的对应。分析出业务功能和数据库中的表之间的逻辑关系。简单逻辑就是一个业务功能对应一个或者两个数据库表,表之间没有关联或者仅有两个表之间有关联关系,复杂逻辑就是一个业务功能对应多个数据库表,表之间有复杂的关联关系。此外,分析出可用于分布的字段集合,即数据可用哪些字段进行拆分成若干个子集,子集之间没有交集。
[0030]第二步,确定水平或垂直分布。根据业务分析结果,确定数据整体拆分原则,对于简单逻辑的系统可以采用垂直分布策略,数据库表内能满足业务逻辑,这样数据库中每个表都可以独立成一个子集,系统运行任务时,只需调用单个子集即可满足需求,有利于提高效率。对于复杂逻辑的系统适宜采用水平分布策略,由于数据库表数据逻辑复杂,数据表之间需要关联,利用水平分布,则可以完整保留下这些逻辑关系,系统运行时,可有效避免各存储节点间迁移大量数据,提高运行效率。
[0031]第三步,确定多维度混合分布。多维度混合分布是指数据按照不同维度组合的分布策略进行分布,达到均衡的目的。分布原则是混合分布后的数据量基本相等或数据量之间差异在10%之内(经验值)。利用业务分析结果,分析用户行为,明确查询、统计等任务常用维度,例如地区、时间等。然后利用数据分布库中的这些数据分布策略进行组合,找出最佳组合。这种最佳组合可以是一种分布,也可以是多种分布混合组合。经过最佳组合分布后,数据被分成大小基本相同的数据块。
[0032]第四步,确定多维度分布的数据块的最细粒度。由于集群中节点的存储空间大小不一定相同,因此,为了最大有效地利用节点的存储空间,通过分析集群节点的存储空间,利用最大公约原则来确定数据块的最细粒度。最细粒度的数据块是不可再拆分的,最基本的数据块,节点的存储空间能存储多少数据,就以最细粒度的数据块为单位进行计算。最大公约原则是利用数学上的最大公约数方法分析获得的。最大公约数也称最大公因数、最大公因子,指两个或多个整数共有约数中最大的一个。集群节点存储空间的最大公约数就是指所有节点的存储空间数值的共有约数中最大的一个,即为最大公约数,依据这个数值作为确定数据块的最细粒度的原则。最大公约数的计算方法采用质因数分解法,该方法是把每个数分别分解质因数,再把各数中的全部公有质因数提取出来连乘,所得的积就是这几个数的最大公约数。
[0033]第五步,实现数据分布。集群节点分布的数据是根据节点的可用存储空间,利用最细粒度的数据块来计算可存储数据量。这里的可用存储空间不一定是所有物理存储空间,比如内存存储数据,假设内存物理存储空间为10G,其有效存储空间是能用来存储数据的空间,由于内存是操作系统、各种软件运行时都需要占用,因此存储数据的空间肯定比物理存储空间小(〈10G),需要给节点其他软件预留出足够的内存空间,剩余空间就是可用的存储数据的空间。可用的存储空间计算方法按照下面公式进行: 可用空间=(物理空间-其他程序占用空间)X80%。
[0034]上面公式中的80%是经验值,预留出一定空间用于数据交换,便于提高运行效率。根据集群节点的可用空间,可以将数据均衡分布在集群节点存储空间中。
[0035]对象化并行计算系统借助于上述方法,可将系统数据结合业务逻辑均衡分布在集群内存中,为提高系统运行效率打下良好的基础。
[0036]虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。
【权利要求】
1.一种基于数据分布库的多维度数据分布方法,其特征在于,包括以下步骤: 1)分析业务逻辑,分析出业务功能和业务层使用的电力信息数据库中的表之间的逻辑关系,并分析出可用于分布的字段集合; 2)确定水平或垂直分布,根据业务分析结果,确定数据整体拆分原则,对于简单逻辑的系统可以采用垂直分布策略,对于复杂逻辑的系统采用水平分布策略; 3)确定多维度混合分布,利用业务分析结果,分析用户行为,明确查询、统计任务常用维度,然后利用数据分布库中的这些数据分布策略进行组合,将数据分成大小基本相同的数据块; 4)确定多维度分布的数据块的最细粒度,通过分析集群节点的存储空间,利用最大公约原则来确定数据块的最细粒度;所述最细粒度的数据块是不可再拆分的、最基本的数据块,以最细粒度的数据块为单位进行计算节点的存储空间; 5)实现数据分布,根据节点的可用存储空间,利用最细粒度的数据块来计算集群节点分布的数据,存储数据量。
2.根据权利要求1所述的基于数据分布库的多维度数据分布方法,其特征在于,所述步骤4)中,最大公约原则是根据所有节点的存储空间数值的共有约数中最大的一个作为集群节点存储空间的最大公约数,依据这个数值作为确定数据块的最细粒度的原则。
3.根据权利要求1所述的基于数据分布库的多维度数据分布方法,其特征在于,所述步骤5)中,节点的可用的存储空间计算方法按照下面公式进行: 可用空间=(物理空间-其他程序占用空间)X80%。
【文档编号】G06Q50/06GK104376109SQ201410700945
【公开日】2015年2月25日 申请日期:2014年11月28日 优先权日:2014年11月28日
【发明者】杨志, 张春平, 胡牧, 林峰 申请人:国家电网公司, 南京南瑞集团公司, 南京南瑞信息通信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1