[发明专利]一种基于ER关系的数据分布存储方法及装置有效
申请号: | 201810569439.4 | 申请日: | 2018-06-05 |
公开(公告)号: | CN108874950B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 孙德东;喻晓 | 申请(专利权)人: | 亚信科技(中国)有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 er 关系 数据 分布 存储 方法 装置 | ||
本申请公开了一种基于ER关系的数据分布存储方法及装置,通过调用数据库配置文件,获取第一数据表中每个主键值对应数据的存储数据库;根据所述第一数据表中每个主键值对应数据的存储数据库,确定第二数据表中每个外键值对应数据的存储数据库,使同一数据库中存储的所述第二数据表中的外键值与存储的所述第一数据表中的主键值相同,进而根据第二数据表中每个外键值对应数据的存储数据库,将第二数据表中具有相同外键值的数据存储在同一数据库中。满足具有ER关系的表之间任意复杂度的关联查询,避免数据查询的跨库操作,提高了关联查询的效率。
技术领域
本发明涉及分布式存储技术领域,更具体的,涉及一种基于ER关系的数据分布存储方法及装置。
背景技术
在分布式环境下的海量数据处理过程中,通常采用分库分表存储技术将数据库按照业务拆分规则分到不同的数据库服务器上,对于存在强关联关系的表单,即使子表与父表拆分规则类似,仍需重新按照拆分规则进行一次拆分分配到不同的表、不同的数据库上。
现有方案在执行了分库分表之后,将原本逻辑关联性很强的数据划分到不同的表、不同的库上,经常会出现对分布式环境下跨库且跨分片存储的任意多个表的数据进行联合查询。如在日志数据库log_db有一份记录表Order,里面有用户信息ID;而关联表的详细信息在Orader_detail,里面有用户ID以及用户的详细信息表如用户名(username)、登录时间(log_time)、注册时间(reg_time)、会员等级等等。如果只是按用户名查找充值记录,那可以很简单地分两次查询即可。但是更复杂的需求,比如按注册时间排序,按会员等级统计等等,稍微复杂一点的功能,分次查询就相当难以做到了。如果在同一个库里,我们可以很方便的使用join关键字实现这些功能,但是在不同的数据库里,并没有跨库查询的SQLJOIN语句,要分俩次查询之后,通过表复制同步等手段进行二次加工才可实现,增加了查询的难度。
发明内容
有鉴于此,本发明提供了一种基于ER关系的数据分布存储方法及装置,满足ER关系的数据表之间任意复杂度的关联查询,提升了关联查询的效率。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种基于ER关系的数据分布存储方法,包括:
通过调用数据库配置文件,获取第一数据表中每个主键值对应数据的存储数据库;
根据所述第一数据表中每个主键值对应数据的存储数据库,确定第二数据表中每个外键值对应数据的存储数据库,使同一数据库中存储的所述第二数据表中的外键值与存储的所述第一数据表中的主键值相同,所述第一数据表的主键为所述第二数据表的外键;
根据第二数据表中每个外键值对应数据的存储数据库,将第二数据表中具有相同外键值的数据存储在同一数据库中。
优选的,在所述通过调用数据库配置文件,获取第一数据表中每个主键值对应数据的存储数据库之前,所述方法还包括:
创建数据库配置文件,所述数据库配置文件中定义了所述第一数据表中每个主键值对应数据的存储数据库。
优选的,在所述创建数据库配置文件之前,所述方法还包括:
创建第一数据表和第二数据表,所述第一数据表的主键为所述第二数据表的外键。
优选的,所述方法还包括:
当接收到查询请求时,根据所述查询请求中的字段值和待查询字段,生成联合查询语句,并根据所述联合查询语句在同一数据库进行查询,
一种基于ER关系的数据分布存储装置,包括:
获取单元,用于通过调用数据库配置文件,获取第一数据表中每个主键值对应数据的存储数据库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于亚信科技(中国)有限公司,未经亚信科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810569439.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于业务语料的意图分类方法、装置及智能问答方法
- 下一篇:报表数据处理方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置