数据库请求处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:26375562 阅读:27 留言:0更新日期:2020-11-19 23:44
本发明专利技术实施例公开了一种数据库请求处理方法、装置、计算机设备及存储介质。所述方法包括:在接收到数据库业务请求时,从所述数据库业务请求提取数据库选择参数;从至少两个服务器中选择与所述数据库选择参数匹配的至少一个目标服务器,并将所述数据库业务请求转发至各所述目标服务器,以指示各所述目标服务器根据所述数据库业务请求对各所述目标服务器对应的目标数据库进行处理,不同数据库对应的服务器不同;接收各所述目标服务器发送的响应数据,并返回至所述数据库业务请求的发送方。本发明专利技术实施例可以将数据库进行故障隔离,提高数据库系统的稳定性和容错性。

【技术实现步骤摘要】
数据库请求处理方法、装置、计算机设备及存储介质
本专利技术实施例涉及数据处理领域,尤其涉及一种数据库请求处理方法、装置、计算机设备及存储介质。
技术介绍
目前,业务系统会配置两个数据库,并将主库作为生产库对外提供服务,备库作为备份数据库与主库进行实时数据同步,保证在主库发生故障时可以无缝且数据零丢失切换到备库上,以此来满足业务连续性要求。但上述方式提供的服务在一个时点始终只有一个数据库,存在1+N数据库同时发生宕机的小概率事件,导致整个业务系统不可用。另外随着时间和业务的发展,业务系统的数据量越来越多,业务系统的并发访问量也越来越高,单一数据库已经无法满足业务需求,在这种情况下,通常对数据库进行分库以满足业务需求。具体可以采用水平切分方式对数据库进行分库,其中,水平切分是指当数据库表数据量过大时,将该表的数据按照某种规则或维度进行划分,然后存储到不同数据库中,不同的数据库包含同样表结构但存储的数据不一样。现有水平切分方法是配置一个业务系统与多个数据库对应,并在业务系统中配置数据判断规则,由业务系统根据请求对数据库进行处理。由于发本文档来自技高网...

【技术保护点】
1.一种数据库请求处理方法,其特征在于,包括:/n在接收到数据库业务请求时,从所述数据库业务请求提取数据库选择参数;/n从至少两个服务器中选择与所述数据库选择参数匹配的至少一个目标服务器,并将所述数据库业务请求转发至各所述目标服务器,以指示各所述目标服务器根据所述数据库业务请求对各所述目标服务器对应的目标数据库进行处理,不同数据库对应的服务器不同;/n接收各所述目标服务器发送的响应数据,并返回至所述数据库业务请求的发送方。/n

【技术特征摘要】
1.一种数据库请求处理方法,其特征在于,包括:
在接收到数据库业务请求时,从所述数据库业务请求提取数据库选择参数;
从至少两个服务器中选择与所述数据库选择参数匹配的至少一个目标服务器,并将所述数据库业务请求转发至各所述目标服务器,以指示各所述目标服务器根据所述数据库业务请求对各所述目标服务器对应的目标数据库进行处理,不同数据库对应的服务器不同;
接收各所述目标服务器发送的响应数据,并返回至所述数据库业务请求的发送方。


2.根据权利要求1所述的方法,其特征在于,所述从至少两个服务器中选择与所述数据库选择参数匹配的至少一个目标服务器,包括:
从所述数据库选择参数提取分库维度信息;
根据预先配置的分库维度信息与服务器之间的对应关系,从至少两个服务器中选择与所述数据库选择参数匹配的至少一个目标服务器,服务器与数据库一一对应。


3.根据权利要求2所述的方法,其特征在于,在根据预先配置的分库维度信息与服务器之间的对应关系,从至少两个服务器中选择与所述数据库选择参数匹配的至少一个目标服务器之前,还包括:
获取至少两个数据库以及各所述数据库对应的分库维度信息,所述数据库通过按照对应的维度信息对初始数据库进行分库形成的数据库;
获取各所述数据库对应的服务器,并建立分库维度信息与服务器之间的对应关系。


4.根据权利要求1所述的方法,其特征在于,所述将所述数据库业务请求转发至所述目标服务器,包括:
根据预先配置的服务器与线程池之间的对应关系,从至少两个线程池中选择与所述目标服务器匹配的目标线程池,不同线程池对应的服务器不同;
将所述数据库业务请求添加至所述目标线程池对应的请求队列中;
调用所述目标线程池中的线程,将所述数据库业务请求转发至所述目标服务器。


5.根据权利要求4所述的方法,其特征在于,在根据预先配置的服务器与线程池之间的对应关系,从至少两个线程池中选择与所述目标服务器匹配的目标线程池之前,还包括:
创建至少两个线程池,以及建立线程池与服务器之间的对应关系,服务器与线程池一一对应;
根据所述服务器的信息以及所述服务器对应的数据库的信息,配置所述服务器对应的线程池的参数。


6.根据权利要求5所述的方法,其特征在于,所述线程池的参数包括下述至少一项:线程池包括的线程数量最小值、线程数量最大值、对应的请求队列中请求数量范围、对应的请求队列中请求数量的动态调整方式和空闲线程回收时间。


7.根据权利要求4所述的方法,其特征在于,还包括:
如果确定所述目标服务器发生异常,则停止调用所述目标线程池中的线程,以及停止将所述目标线程池对应的请求队列中的数据库业务请求转发至所述目标服务器;
停止将数据库业务请求添加至所述目标线程池对应的请求队列中...

【专利技术属性】
技术研发人员:方红涛汪维杨代兵刘涛朱炜曹子钰肖翔
申请(专利权)人:中国建设银行股份有限公司建信金融科技有限责任公司
类型:发明
国别省市:北京;11

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

1