[发明专利]一种管理数据访问的系统在审
申请号: | 201710691745.0 | 申请日: | 2017-08-14 |
公开(公告)号: | CN107480251A | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 何裕恩;唐挺;陈庆国;殷允秋;过晓庆 | 申请(专利权)人: | 福建新大陆软件工程有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 350015 福建省福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 管理 数据 访问 系统 | ||
技术领域
本发明涉及数据库技术领域,尤其是涉及一种管理数据访问的系统。
背景技术
在大型业务系统中,随着时间和业务的发展,数据库中的表会越来越多,热点业务表中的数据量也会越来越大,相应地,数据操作,如增删改查的开销也会越来越大,而用于承载传统数据库的主机服务器的处理能力(磁盘/CPU/内存/带宽)是有限的,在业务发展过程中很容易达到瓶颈。随着应用集群的扩大,数据库的水平拆分和垂直拆分将成为常态。
垂直(纵向)拆分是指按功能模块拆分,比如分为订单库、商品库及用户库等,这种方式多个数据库之间的表结构不同。
水平(横向)拆分是将同一个表的数据进行分块保存到不同的数据库中,这些数据库中的表结构完全相同。
一般的业务系统都是采用将数据访问集成在应用服务中的实现方式,数据库的迁移变化会带来业务代码的关联变更,每次数据库的变化的代价将会变得昂贵并且给业务系统带来很大风险。
原有将数据访问集成在应用服务中的实现方式有如下特点及问题:
1、基于单台数据库进行数据扩展,若某张海量数据表需要进行横向多库拆分需要调整大量数据访问逻辑。
2、传统的数据访问过程分布在应用服务的代码中,复杂度很高,难以用可视化的模型进行统一管理和治理。
3、对于数据库类型的变更调整复杂难以驾驭,更难以将多类型的数据库集成使用以利用各类型数据库本身的优势特征。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种管理数据访问的系统,可实现数据与应用解耦,以使数据的部署变化不会影响应用,并且管控数据的访问过程。
为了解决上述技术问题,本发明采用的技术方案为:提供一种管理数据访问的系统,包括客户端及服务端,其中还包括:负载均衡模块、高可用支持模块、RPC通信模块、流量控制模块、事务支持模块、数据治理模块及数据操作执行模块;其中
客户端经过负载均衡模块接入服务端,数据访问服务端后,通过高可用支持模块保障访问的服务端的可用性,流量控制模块对客户端的请求进行计数,并对不符合流控配置的请求予以拒绝,RPC通信模块用于实现客户端和服务端数据传输,事务支持模块用于判定当前数据操作的类型,并由数据操作执行模块完成实际的数据访问操作,以数据逻辑-数据表-数据源的方式控制和记录执行过程,并最终通过数据治理模块对访问痕迹进行记录统计。
其中,所述负载均衡模块集成于客户端中,以利用ZooKeeper获取当前可用的服务地址列表,在客户端实现负载均衡。
其中,所述高可用支持模块通过ZooKeeper实时监控服务地址列表,并剔除数据服务节点失效的服务地址;且启用异步线程对服务地址列表中的数据节点进行心跳监控,以保证ZooKeeper和数据服务节点的网络发生异常且应用客户端节点和数据服务节点的网络无异常的时候不对数据服务节点进行剔除。
其中,所述RPC通信模块采用THRIFT架构,对通信过程进行二次封装;其包括:
IDL定义单元,用于对客户端及服务端定义统一的IDL文件,以进行接口识别,并生成对应的序列化代码及反序列化代码;
协议封装单元,用于在序列化时嵌入封装模式,并在反序列化时进行数据解析;
数据格式单元,用于划分数据类型;
异步通信单元,用于客户端及服务端的NIO异步通信,利用epoll技术和I/O处理线程池,提升数据服务的并发量及吞吐量。
其中,所述流量控制模块提供分布式流量控制,支持多级数据粒度,控制访问频次;其包括:
流量计数器单元,用于收集将各个数据服务节点的访问信息,并发送到ZooKeeper,并对超出单位时间访问限制,则想客户端反馈流量控制的异常信息;
控制逻辑注入单元,用于控制访问语句、数据表及数据源的访问频次,并实现动态注入控制。
其中,所述事务支持模块包括:
单点事务单元,用于通过数据服务控制单个应用节点上的会话事务及由该应用节点发起事务的申请、提交及回滚调用;
分布式事务单元,用于协同服务端事务及客户端事务。
其中,所述服务端提供事务申请接口、事务提交接口及事务回滚接口供客户端调用;其中
在客户端调用事务申请接口后,将事务上下文对象本地缓存在服务端,并且将上下文标识返回给客户端,在后续每次客户端调用中自动定位到已缓存的事务上下文对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建新大陆软件工程有限公司,未经福建新大陆软件工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710691745.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置