[发明专利]数据的处理方法及装置、存储介质在审
| 申请号: | 201811550472.9 | 申请日: | 2018-12-18 |
| 公开(公告)号: | CN109669979A | 公开(公告)日: | 2019-04-23 |
| 发明(设计)人: | 罗志祺 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/28;G06F9/46 |
| 代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 褚敏;宫传芝 |
| 地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库系统 代理进程 系统复杂度 存储介质 第三方数据库 数据库访问 数据库通信 结果指示 进程发送 连接资源 访问 中间件 转发 反馈 回收 释放 引入 进程 | ||
本发明提供了一种数据的处理方法及装置、存储介质;其中,该方法包括:代理进程向数据库系统转发接收到的由访问进程发送的用于访问所述数据库系统的数据;所述代理进程接收所述数据库系统执行所述数据后反馈的结果;在所述结果指示当前数据库访问结束的情况下,所述代理进程回收所述访问进程释放的连接资源。通过本发明,解决了相关技术中引入第三方数据库的中间件导致系统复杂度高的问题,达到了在提高数据库通信连接率的同时降低了系统复杂度的效果。
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据的处理方法及装置、存储介质。
背景技术
开发迅速和易于部署是采用PHP(Professional Hypertext Preprocessor,服务器端编程语言)语言编写处理HTTP(Hyper Text Transport Protocol,超文本传输协议)请求的主要原因,而且每个执行PHP脚本的FPM进程都是互相独立互不影响的,相当于将每个请求进行隔离,因此也避免全局变量的污染及相关全局参数的修改,方便问题进行追查。
但是随着项目复杂度的不断提升及同时在线客户端越来越多,请求越来越复杂,需要扩展更多的PHP进程来满足日益增长的并发HTTP请求。之前每个HTTP请求都拥有独立的PHP进程服务的优点,随着并发服务的进程增多,每个进程都会创建各自独立的数据库连接,也即意味着MySQL的连接数也会以1:1的比例随之增加。
通过压测发现:一台72核512G内存的安装Linux操作系统的机器上部署数据库管理系统MySQL,模拟线上数据库QueryInfo结果压测发现,数据库的QPS会随着连接数的增多而性能指标有不同程度的下降。例如随着连接数增多至2万,每个连接使用率不高且频繁创建/断开的情况下,QPS是连接数2千情况下的5分之一。
由此可见,传统的PHP+MySQL架构存在两个问题:1)数据库的连接数随着PHP工作进程的增多而增多;2)单个数据库连接利用率不高,而整体的数据库性能却急剧下降。因此降低数据库连接数,提高连接的利用率是随着PHP进程数扩展引入的亟待解决的问题。
对此,相关技术中采用以下方式来解决上述问题:
方式(1),对于部分静态编译语言,在本身处理HTTP请求的进程中提供了数据库连接池概念,例如Java语言的Java.sql.ConnectionPool.java类,提供了基于JDBC(JavaDatabase Connectivity)的连接池功能,当工作线程需要对数据库中的数据进行操作的时候,需要从连接池中获取一个空闲连接,通过将要传递给MySQL的数据发送给连接线程,连接线程转发数据到数据库,再将数据库中返回的结果转发给上层工作线程。从本质上说连接池和工作线程属于同个进程的不同线程。
方式(2),第三方数据库中间件方案也提供了类似连接池功能。例如社区知名项目Atlas、MyCat等中间件,通过代理转发上层业务进程发送过来的数据库请求,在中间件层建立数据库连接,通过主从分离,负载均衡的一系列功能最终将请求转发到不同的数据库实例,并将结果收集后转发回业务层进程。
但是,基于上述方式(1)和方式(2),对于已经上线的项目,如果要接入第三方中间件,则无法避免对已有的业务进行大规模的修改,原本在业务层区分的对数据库读写主从分离的代码需要重新逐条添加配置适应中间件。而且引入新的中间件服务也在一定程度提高系统复杂度,一旦中间件服务不可用,则会影响客户端响应,尤其对于登录/计费等功能,不能实时响应则是不可接受的。
针对相关技术中的上述问题,目前尚未存在有效的解决方案。
发明内容
本发明实施例提供了一种数据的处理方法及装置、存储介质,以至少解决相关技术中引入第三方数据库的中间件导致系统复杂度高的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811550472.9/2.html,转载请声明来源钻瓜专利网。





