[发明专利]一种分布式对象数据库的构建方法在审
申请号: | 202011120635.7 | 申请日: | 2020-10-19 |
公开(公告)号: | CN112181950A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 王成光 | 申请(专利权)人: | 北京米连科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/23;G06F16/2458;G06F16/27;G06F16/28 |
代理公司: | 北京安之律师事务所 11707 | 代理人: | 章彦奇 |
地址: | 100012 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 对象 数据库 构建 方法 | ||
1.一种应对复杂数据的分布式对象数据库存储系统,其特征在于,包括ODB任务客户端模块、ODB读写服务模块、ODB索引模块和ODB底层存储模块,其中:
ODB任务客户端模块,用于提交对象查询和对象更新任务给ODB读写服务;
ODB读写服务模块,用于接受任务客户端查询和更新请求,并同ODB索引模块及ODB底层存储模块交互;
ODB索引模块,用于更新或快速查找单个或批量对象数据索引;
ODB底层存储模块,用于接受查询和存储对象实例。
2.根据权利要求1所述的一种应对复杂数据的分布式对象数据库存储系统,其中ODB任务客户端模块包括单个对象更新子模块,批量对象更新子模块,单个对象查询子模块,批量对象查询子模块,监听读写服务子模块,批次调整子模块以及更新任务定向分发子模块,其在启动之初,通过Zookeeper监听ODB读写服务注册的节点,并定时检测其服务心跳,只有健康节点维持工作;对单个或批量查询任务,根据主键ID和时间范围参数提交给ODB读写服务模块的相应接口;对于数据更新方面,ODB任务客户端模块每次提交新任务给ODB读写服务模块时,都会检测当下可用节点的待计算任务个数,如果待计算任务个数2的节点不存在,则sleep等待5秒,继续执行下一次请求,直到有空闲节点可用,再继续提交任务。
3.根据权利要求1所述的一种应对复杂数据的分布式对象数据库存储系统,其中ODB读写服务模块基于Thrift实现和ODB任务客户端模块的通讯,用于接受ODB任务客户端模块查询和更新请求,并同ODB索引模块及ODB底层存储模块交互,启动之初,通过Zookeeper监听ODB底层存储节点服务,并同时注册自身服务,供ODB任务客户端模块监听其动态。
4.根据权利要求3所述的一种应对复杂数据的分布式对象数据库存储系统,OBD读写服务模块包括第一对象查询子模块和第二对象更新子模块,
其中
第一对象查询子模块,
根据所接受的请求参数主键ID或时间戳范围,首先去ODB索引中查找过滤满足条件的子对象,根据查询规模大小,决定是否采用Fork/Join多线程并发调用,然后再调用基于Avro实现的RPC查询服务,批量获取每个ODB底层存储节点下的对象,再按照主键ID合并各来ODB存储节点下的子对象,再返回给上游调用方;
第二对象更新子模块,
对所接受的添加对象请求,将数据首先缓存到本地队列,同时有一个异步线程任务一直循环执行,如果发现当前节点尚有未执行完的任务处于忙碌状态,则sleep 5秒,跳过继续执行下个循环;如果发现当前服务节点空闲,无正在执行的计算任务,则将当前节点状态改为正在执行的忙碌状态,并立即从本地队列获取数据,完成相应业务逻辑,构建利用Avro设计的序列化对象,根据主键ID散列到指定ODB底层存储节点对应的队列,同时将对象索引更新到MongoDB,并调用Avro RPC批量提交给ODB底层存储,等执行完再更新节点计算状态为空闲。
5.根据权利要求1所述的一种应对复杂数据的分布式对象数据库存储系统,其中,ODB索引模块,其结构是按时间窗口划片,底层存储节点正常稳定运行时,一个对象只会存在一个固定的存储节点,若该节点故障,则会存到另一个存储节点。
6.根据权利要求1所述的一种应对复杂数据的分布式对象数据库存储系统,其中ODB底层存储模块,采用时间段“年周”目录结构,每个对象根据其活动周期,会散落到多个目录下,每个目录为一个独立表,其下就是文件目录,每个节点启动之初即通过Zookeeper注册自身服务节点,方便上游监听存储节点可用状态。
7.根据权利要求6所述的一种应对复杂数据的分布式对象数据库存储系统,其中ODB底层存储模块包括第二对象更新子模块、第二对象查询子模块、RocksDB数据库句柄快照维护子模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京米连科技有限公司,未经北京米连科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011120635.7/1.html,转载请声明来源钻瓜专利网。