一种连接数据库的代理方法及系统的制作方法

文档序号:7814744阅读:398来源:国知局
专利名称:一种连接数据库的代理方法及系统的制作方法
技术领域
本发明属于数据库技术领域,尤其涉及一种连接数据库的代理方法及系统。
背景技术
在科技迅速发展的今天,数据库技术的发展已经趋于成熟。为增强访问数据库的安全性,代理技术被广泛地应用,于现有技术中,申请号为02137696. 4的发明“一种通过协议代理方式访问数据库的方法”,公开了一种通过协议代理方式访问数据库的方法。在该方法中,客户端计算机对数据库系统之间经协议代理模块通信,该协议代理模块负责管理与数据库系统之间的通信连接,对访问数据库的请求进行队列控制和超时控制,并且负责客户端计算机与数据库系统之间协议格式的转换。此外,在协议代理模块的软件实现方式中,利用配置文件,以特定的格式描述协议代理模块与数据库系统之间的通信协议和客户端计算机与数据库之间的协议格式转换方式。上述发明通过设置协议代理模块,实现客户端计算机与数据库系统之间的通信连接,并利用配置文件描述客户端计算机与数据库之间的协议格式转换。然而,于上述发明专利申请中,提供的配置文件进行协议格式转换方式较为单一,容易对数据库的安全造成威胁。且对所有业务均采用同一种处理方式,使得系统的业务处理效率较低。

发明内容
本发明提供一种连接数据库的代理方法及系统以解决上述问题。本发明提供一种连接数据库的代理方法,包括以下步骤。代理服务器接收业务服务器发送的业务请求后,将所述业务服务器连接至与所述业务服务器对应的数据库服务器内的数据库。所述代理服务器根据数据库的单位时间查询传输字节数及单位时间运算操作数,获取每个数据库的重要性参数。所述代理服务器确定建立的线程池的优先级,并根据所述线程池的优先级及数据库的重要性参数分配相应的线程池处理与对应数据库相关的业务。本发明提供一种连接数据库的代理系统,包括业务服务器、代理服务器以及数据库服务器,所述业务服务器连接所述代理服务器,所述代理服务器连接所述数据库服务器,所述业务服务器,用于向所述代理服务器发送业务请求。所述代理服务器,包括接收模块、计算模块以及分配模块,所述接收模块连接所述计算模块,所述计算模块连接所述分配模块。所述接收模块,用于接收业务服务器发送的业务请求后,将所述业务服务器连接至与所述业务服务器对应的数据库服务器内的数据库。所述计算模块,用于根据数据库的单位时间查询传输字节数及单位时间运算操作数,获取每个数据库的重要性参数。所述分配模块,用于确定建立的线程池的优先级,并根据所述线程池的优先级及数据库的重要性参数分配相应的线程池处理与对应数据库相关的业务。相较于先前技术,根据本发明提供的连接数据库的代理方法及系统,设置代理服务器根据不同业务请求将业务服务器连接至对应的数据库服务器内的数据库,避免了登陆密码的泄露,提高了系统安全性。另外,获取不同数据库的重要性参数并对线程池区分优先级,以此确定待处理业务的分配方式。以上根据不同业务对应的数据库重要性分配线程池的处理任务,提高了系统业务处理性能。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1所示为根据本发明的较佳实施例提供的连接数据库的代理方法的流程图;图2所示为根据本发明的较佳实施例提供的连接数据库的代理系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为根据本发明的较佳实施例提供的连接数据库的代理方法的流程图。如图ι所示,本发明较佳实施例提供的连接数据库的代理方法包括步骤101 103。步骤101 代理服务器接收业务服务器发送的业务请求后,将所述业务服务器连接至与所述业务服务器对应的数据库服务器内的数据库。具体而言,所述业务服务器,可以为web服务器或邮件服务器,所述业务服务器可以直接与所述代理服务器连接,也可以通过缓存服务器与所述代理服务器连接。所述业务服务器向代理服务器发送业务请求,并通过代理服务器设置的统一密钥验证。接下来代理服务器根据业务服务器的ip地址或ip地址以及业务请求确定需连接的相应的数据库服务器内的数据库,并获取登录各数据库的不同帐户和密码,业务服务器根据所述账户和密码建立与对应数据库的连接。例如,现有3台业务服务器,且分别具有不同的ip地址,此外有3个数据库,均位于ip地址为10. 1. 1. 4的数据库服务器上,业务服务器与数据库之间的对应关系如下表所不。
权利要求
1.一种连接数据库的代理方法,其特征在于,包括以下步骤代理服务器接收业务服务器发送的业务请求后,将所述业务服务器连接至与所述业务服务器对应的数据库服务器内的数据库;所述代理服务器根据数据库的单位时间查询传输字节数及单位时间运算操作数,获取每个数据库的重要性参数;所述代理服务器确定建立的线程池的优先级,并根据所述线程池的优先级及数据库的重要性参数分配相应的线程池处理与对应数据库相关的业务。
2.根据权利要求1所述的方法,其特征在于,所述代理服务器根据数据库的单位时间查询传输字节数及单位时间运算操作数获取所述数据库重要性参数的方法为所述代理服务器获取每个数据库的单位时间查询传输字节数的最大值与单位时间运算操作数的最大值,并计算得到的两者的乘积,每个数据库的重要性参数等于每个数据库自身的所述乘积值与所有数据库的所述乘积值的和值的比值。
3.根据权利要求1或2所述的方法,其特征在于,所述数据库的单位时间查询传输字节数,为单位时间内数据库传输字节总值与单位时间内所述数据库查询操作个数的比值。
4.根据权利要求1或2所述的方法,其特征在于,所述数据库的单位时间数据库运算操作数,为单位时间内数据库的select、update、insert及delete操作个数之和。
5.根据权利要求1所述的方法,其特征在于,所述代理服务器根据所述线程池的内存利用率确定所述线程池的优先级,所述线程池的内存利用率越低,优先级越高,所述代理服务器分配优先级较高的线程池处理与重要性参数越大的数据库的相关的业务。
6.根据权利要求1所述的方法,其特征在于,所述代理服务器接收所述业务服务器发送的业务请求后,所述代理服务器根据所述业务服务器的IP地址或IP地址以及所述业务请求确定需连接的相应的数据库服务器内的数据库,所述业务服务器获取登录所述数据库的帐户和密码,并根据所述账户和密码建立与对应数据库的连接。
7.一种连接数据库的代理系统,其特征在于,包括业务服务器、代理服务器以及数据库服务器,所述业务服务器连接所述代理服务器,所述代理服务器连接所述数据库服务器;所述业务服务器,用于向所述代理服务器发送业务请求,所述代理服务器,包括接收模块、计算模块以及分配模块,所述接收模块连接所述计算模块,所述计算模块连接所述分配模块,所述接收模块,用于接收业务服务器发送的业务请求后,将所述业务服务器连接至与所述业务服务器对应的数据库服务器内的数据库,所述计算模块,用于根据数据库的单位时间查询传输字节数及单位时间运算操作数,获取每个数据库的重要性参数,所述分配模块,用于确定建立的线程池的优先级,并根据所述线程池的优先级及数据库的重要性参数分配相应的线程池处理与对应数据库相关的业务。
8.根据权利要求7所述的系统,其特征在于,还可以包括缓存服务器,所述业务服务器通过所述缓存服务器与所述代理服务器连接。
全文摘要
本发明提供一种连接数据库的代理方法及系统,本发明方法包括以下步骤。代理服务器接收业务服务器发送的业务请求后,将所述业务服务器连接至与所述业务服务器对应的数据库服务器内的数据库。所述代理服务器根据数据库的单位时间查询传输字节数及单位时间运算操作数,获取每个数据库的重要性参数。所述代理服务器确定建立的线程池的优先级,并根据所述线程池的优先级及数据库的重要性参数分配相应的线程池处理与对应数据库相关的业务。
文档编号H04L29/06GK102594798SQ20111045994
公开日2012年7月18日 申请日期2011年12月31日 优先权日2011年12月31日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1