[发明专利]一种基于E‑R分片策略的智能电网跨节点join方法在审
申请号: | 201710742995.2 | 申请日: | 2017-08-25 |
公开(公告)号: | CN107644060A | 公开(公告)日: | 2018-01-30 |
发明(设计)人: | 陈硕;毛洪涛;李钊;雷振江;唐胜;谢玉波;曹健;耿洪碧;李强;秦鹏飞 | 申请(专利权)人: | 国网辽宁省电力有限公司;国网辽宁省电力有限公司电力科学研究院;江苏瑞中数据股份有限公司;国家电网公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 110006 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分片 策略 智能 电网 节点 join 方法 | ||
技术领域
本发明涉及一种数据跨节点join方法,特别是智能电网中基于E-R分片策略的跨节点join方法。
技术背景
传统分布式关系库通常采用水平切分的方式来对数据表进行分片。水平切分是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中,这种切分方式带来了一些缺点:(1)拆分规则难以抽象;(2)分片事务一致性难以解决;(3)数据多次扩展难度跟维护量极大;(4)跨库join性能较差。
本发明针对于分布式关系库表分片数据的特征,其目的在于解决:(1)分布式数据库表数据分片(根据E-R关系进行分片);(2)分布式数据库数据表join效率提升(根据E-R关系分片的数据在进行join操作时基本可以避免跨库操作);(3)最终,设计一种满足于分布式关系数据库数据表高效分片和join操作的方法。
Join指的是连接运算,在关系代数中,连接运算是由一个笛卡尔积运算和一个选取运算构成的。首先用笛卡尔积完成对两个数据集合的乘运算,然后对生成的结果集合进行选取运算,确保只把分别来自两个数据集合并且具有重叠部分的行合并在一起。连接的全部意义在于在水平方向上合并两个数据集合(通常是表),并产生一个新的结果集合,其方法是将一个数据源中的行与另一个数据源中和它匹配的行组合成一个新元组。在关系型数据库中,JOIN本质上是基于涉及的两个或者多个表进行结合重构的过程点。其创造的结果可以被保存为一个表(table)或者是作为一个表来使用。这个结合的过程的基础,或者说联系点,是存在于两个表之间的共通的列。由于集群中的表是存储在不同服务器节点的,如果执行join操作所涉及的表是分布在不同服务器节点的表,就需要进行跨节点join操作。
技术流程
在数据切分处理中,特别是水平切分中,数据库最终要的两个处理过程就是数据的切分、数据的聚合。选择合适的切分规则,至关重要,因为它决定了后续数据聚合的难易程度,甚至可以避免跨库的数据聚合处理。关系型数据库是基于实体关系模型(Entity-Relationship Model)之上,通过其描述了真实世界中事物与关系,ER表即是来源于此。根据这一思路,本文提出了基于E-R关系的数据分片策略,子表的记录与所关联的父表记录存放在同一个数据分片上,即子表依赖于父表,通过表分组(Table Group)保证数据Join不会跨库操作。
技术流程及附图说明
图1为基于E-R分片策略跨节点join流程
流程说明:
1、从多个源业务系统中抽取出数据表,并对数据表的正确性与完整性进行校验,对存在错误的数据进行校正;
2、对数据表进行整理和抽象,对于不能抽象为父子关系的表,依旧采用原有的存储方式进行存储,对于能够抽象为父子关系的表,采用本发明所提出的基于E-R分片策略的跨界点join方法;
3、按照E-R分片技术对表进行切分。有一类业务,例如订单(order)跟订单明细(order_detail),明细表会依赖于订单,也就是说会存在表的主从关系,这类似业务的切分可以抽象出合适的切分规则,比如根据用户ID切分,其他相关的表都依赖于用户ID,再或者根据订单ID切分,总之部分业务总会可以抽象出父子关系的表。这类表适用于ER分片表,子表的记录与所关联的父表记录存放在同一个数据分片上,避免数据Join跨库操作。以order与order_detail例子为例,schema.xml中定义如下的分片配置,order,order_detail根据order_id进行数据切分,保证相同order_id的数据分到同一个分片上,在进行数据插入操作时,数据库会获取order所在的分片,然后将order_detail也插入到order所在的分片。
Xml文件配置如下:
<table name=”order”dataNode=”ds$1-32”rule=”mod-long”>
<childTable name=”order_detail”primaryKey=”id”joinKey=”order_id”p arentKey=”order_id”/>
</table>
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网辽宁省电力有限公司;国网辽宁省电力有限公司电力科学研究院;江苏瑞中数据股份有限公司;国家电网公司,未经国网辽宁省电力有限公司;国网辽宁省电力有限公司电力科学研究院;江苏瑞中数据股份有限公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710742995.2/2.html,转载请声明来源钻瓜专利网。