一种基于数据库连接的自动路由和负载均衡的方法及系统技术方案

技术编号:8046992 阅读:244 留言:0更新日期:2012-12-06 16:27
本发明专利技术提供一种基于数据库连接的自动路由和负载均衡的方法和系统,该方法包括:建立各数据库之间的路由配置关系并保存在本地线程池中生成数据库连接路由表,所述数据库连接路由表中至少设置有用于记录各数据库连接权重和被访问次数的标记;当需要对某一数据库进行读写操作时,根据所述数据库连接路由表中的所述数据库连接权重和被访问次数,按照权重访问均衡原则对连接的数据库进行资源调度,实现所述对某一数据库进行读写操作,该方法实现了更为简单的数据连接访问和灵活的数据连接配置,确定了基于读写分离的访问配置,基于权重的和访问次数的路由实现了负载均衡,提高了效率,同时通过对连接的监听,很好地实现了对故障的转移。

【技术实现步骤摘要】

本专利技术属于信息
,更具体地涉及ー种基于数据库连接的自动路由和负载均衡的方法及系统
技术介绍
现代社会已经进入了信息爆炸的时代,地球变得越来越小。比如IBM就提出了“数字地球”的概念,它将通过传感器嵌入和装备到现实生活中的各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现有的互联网整合起来,实现人类社会与物理系统的整合,简而言之,就是将一切“实物”信息化。这形成了ー个问题,未来的现实世界,都将会以“信息”的模式存储在庞大的数据库中,这就对数据库的建立和管理等相关技术,提出了更高的要求。 目前,大部分关系型数据库本身都提供了比较完善的数据复制方案,在数据访问层上都是基于连接池和数据库本身的数据集群访问机制来实现。由于关系型数据访问无非是对数据进行増加、删除、修改和查询,对数据的访问基于应用的不同一般实现读写分离,以提高数据的读写速度。在实现读写分离上都基于对已部署数据库对应的地址、用户名、密码进行固定配置去访问,这种固定配置一方面对程序的灵活性有一定的限制,ニ来不能灵活根据服务器处理性能进行数据处理的合理调配,同时在数据库出现故障时需要手动修改数据库地址配置来访问可用的数据库。
技术实现思路
本专利技术的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本专利技术而学习。为克服现有技术的问题,本专利技术提供一种基于数据库连接的自动路由和负载均衡的方法,该方法包括建立各数据库之间的路由配置关系并保存在本地线程池中生成数据库连接路由表,所述数据库连接路由表中至少设置有用于记录各数据库连接权重和被访问次数的标记;当需要对某ー数据库进行读写操作时,根据所述数据库连接路由表中的所述数据库连接权重和被访问次数,按照权重访问均衡原则对连接的数据库进行资源调度,实现所述对某ー数据库进行读写操作。进ー步地,该数据库连接路由表还包括如下參数数据库ID、数据库连接串、数据库类型、用户名、密码。其中,连接权重包括读权重和写权重,所述被访问次数包括读处理次数和写处理次数。进ー步地,在数据库系统初始化时,根据所述路由配置关系对每个数据库进行初始化,并将该数据库连接路由表保存在本地线程池中,同时将该每个数据库连接的读处理次数和写处理次数初始化为O。优先地,当实现所述对某一数据库进行读或写操作吋,则将该数据库的读处理次数或写处理次数加I。进ー步地,当需要对某ー数据库进行读写操作吋,首先对执行的数据操作语句进行解析,判定数据库是读操作还是写操作,再根据数据库连接路由表获取相应的连接进行数据处理操作。进ー步地,当连接中的某ー数据库处于不可用状态时,则从所述数据库连接路由表中删除该数据库的连接,直到其为可用状态,再添加进所述数据库连接路由表。进ー步地,启用守护线程对所述数据库连接路由表中的每个数据库的连接进行定期连接测试来判断所述某ー数据库是否为可用状态。本专利技术还提供了一种基于数据库连接的自动路由和负载均衡的系统,包括若干相互连接的数据库,进一歩包括数据库连接路由表,保存于本地线程池中,用于建立各数据库之间的路由配置关系,所述数据库连接路由表中至少设置有用于记录各数据库连接权重和被访问次数的标记;数据库连接调度模块,用于当需要对某ー数据库进行读写操作时,根 据所述数据库连接路由表中的所述数据库连接权重和被访问次数,按照权重访问均衡原则对连接的数据库进行资源调度,实现所述对某一数据库进行读写操作。进ー步地,还包括数据库操作解析模块,用于对执行的数据操作语句进行解析,判定数据库是读操作还是写操作;数据库连接监听模块,用于启用守护线程对所述数据库连接路由表中的每个数据库的连接进行定期连接测试来判断各数据库是否为可用状态。通过本专利技术技术方案的技术实现,同现有技术相比,至少具备如下优点实现了更为简单的数据连接访问和灵活的数据连接配置,确定了基于读写分离的访问配置,基于权重的和访问次数的路由实现了负载均衡,提高了效率,同时通过对连接的监听,很好地实现了对故障的转移。通过阅读说明书,本领域普通技术人员将更好地了解这些技术方案的特征和内容。附图说明下面通过參考附图并结合实例具体地描述本专利技术,本专利技术的优点和实现方式将会更加明显,其中附图所示内容仅用于对本专利技术的解释说明,而不构成对本专利技术的任何意义上的限制,在附图中图I是本专利技术的总体技术方案流程图;图2是本专利技术数据库连接的调度处理流程图;图3是本专利技术的系统连接示意图。具体实施例方式以下结合附图对本专利技术的具体实施作进ー步的详细描述。如图I所示,本专利技术的总体技术方案是101、在已经实现复制功能的数据库群间,建立各数据库之间的路由配置关系并保存在本地线程池中生成数据库连接路由表,数据库连接路由表中至少设置有用于记录各数据库连接权重和被访问次数的标记;102、当需要对某一数据库进行读写操作时,根据所述数据库连接路由表中的所述数据库连接权重和被访问次数,按照权重访问均衡原则对连接的数据库进行资源调度,实现对某一数据库进行读写操作,进而达到基于数据库连接层的自动路由和负载均衡。关于数据库之间的路由配置关系,以下表作进ー步的说明数..S数据库连接*密码读权重写权罾《库mm ^数数 dbl jdbc:mysql: / / mysql root abc 020200 ipl;port/dbdb2 jdbc: mysql:// mysql x T0I()100 db3 jdbc; mysql:// mysql n jX ^20200 (I ip3:port/dbdb4 jdbc: mysql:// mysql i j I 池。 I0JOO 0 ip4:port/db db5 jdbc: mysql:// mysql root abc II100 100 ip6:port/db依路由配置关系建立的数据库连接路由表主要參数包括数据库ID、数据库连接串、数据库类型、用户名、密码、读权重、写权重、读处理次数、写处理次数。数据库连接路由表以TreeMap形式存储,具体构造如下 Val UO对象Koy数据库连接I ホI~ZZlr ■读处理I写处理I路由状 List威S 伽次数次数态rilil0200iab20丨()0Idb3…2000Idb4…1000idbo…II00I其中,Key对应数据路由配置关系中的key ,Value对象中的数据库连接List在初始化时将连接全部建立好,并保存供调用。为了提高数据库的访问速度,在数据库系统初始化时,首先需要根据数据库路由配置关系对每个数据库连接进行初始化,并保存在本地线程池中,作为数据库连接路由表,同时将每个数据库连接的读处理次数和写处理次数初始化为0,一旦使用该数据库连接进行读写操作,则将相应的读处理次数和写处理次数加I。为了便于数据库读写分离,将要执行的数据操作语句进行解析,判定数据库是读操作还是写操作,根据读、写操作由数据库连接调度模块根据数据库连接路由表获取相应连接进行数据处理操作。数据库操作解析,按数据库操作语句最前面的ー个单词进行数据操作解析,具体规则,请參阅下表 数据操作语句示例最前面一个单词解析结果权利要求1.一种基于数据库连接的自动路由和负载均衡的方法,其特征在于,包括 建立各数据库之间的路由配置关系并保存在本地线程池中生本文档来自技高网...

【技术保护点】
一种基于数据库连接的自动路由和负载均衡的方法,其特征在于,包括:建立各数据库之间的路由配置关系并保存在本地线程池中生成数据库连接路由表,所述数据库连接路由表中至少设置有用于记录各数据库连接权重和被访问次数的标记;当需要对某一数据库进行读写操作时,根据所述数据库连接路由表中的所述数据库连接权重配置和被访问次数,按照预定的权重访问均衡原则对数据库进行资源连接调度,实现所述对某一数据库进行读写操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:王志伟杨正平田志勇胡志雄
申请(专利权)人:安科智慧城市技术中国有限公司武汉恒亿电子科技发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1