The invention provides a data processing method and a device and a storage medium, in which the method includes: the proxy process forwards the received data sent by the access process to the database system for accessing the database system; the proxy process receives the feedback result of the database system after executing the data; and the result indicates the end of the current database access. In this case, the proxy process reclaims the connection resources released by the access process. The invention solves the problem of high system complexity caused by introducing the third party database middleware into the related technology, and achieves the effect of improving the database communication connection rate and reducing the system complexity.
【技术实现步骤摘要】
数据的处理方法及装置、存储介质
本专利技术涉及计算机领域,具体而言,涉及一种数据的处理方法及装置、存储介质。
技术介绍
开发迅速和易于部署是采用PHP(ProfessionalHypertextPreprocessor,服务器端编程语言)语言编写处理HTTP(HyperTextTransportProtocol,超文本传输协议)请求的主要原因,而且每个执行PHP脚本的FPM进程都是互相独立互不影响的,相当于将每个请求进行隔离,因此也避免全局变量的污染及相关全局参数的修改,方便问题进行追查。但是随着项目复杂度的不断提升及同时在线客户端越来越多,请求越来越复杂,需要扩展更多的PHP进程来满足日益增长的并发HTTP请求。之前每个HTTP请求都拥有独立的PHP进程服务的优点,随着并发服务的进程增多,每个进程都会创建各自独立的数据库连接,也即意味着MySQL的连接数也会以1:1的比例随之增加。通过压测发现:一台72核512G内存的安装Linux操作系统的机器上部署数据库管理系统MySQL,模拟线上数据库QueryInfo结果压测发现,数据库的QPS会随着连接数的增多而性能指 ...
【技术保护点】
1.一种数据的处理方法,其特征在于,包括:代理进程向数据库系统转发接收到的由访问进程发送的用于访问所述数据库系统的数据;所述代理进程接收所述数据库系统执行所述数据后反馈的结果;在所述结果指示当前数据库访问结束的情况下,所述代理进程回收所述访问进程释放的连接资源。
【技术特征摘要】
1.一种数据的处理方法,其特征在于,包括:代理进程向数据库系统转发接收到的由访问进程发送的用于访问所述数据库系统的数据;所述代理进程接收所述数据库系统执行所述数据后反馈的结果;在所述结果指示当前数据库访问结束的情况下,所述代理进程回收所述访问进程释放的连接资源。2.根据权利要求1所述的方法,其特征在于,代理进程向数据库系统转发接收到的由访问进程发送的用于访问所述数据库系统的数据,包括:在接收到所述数据后,所述代理进程判断所述代理进程中是否存在空闲的工作子进程;在所述代理进程中存在所述空闲的工作子进程的情况下,所述代理进程通过所述空闲的工作子进程将所述数据向所述数据库系统转发;在所述代理进程中不存在空闲的工作子进程的情况下,所述代理进程判断非空闲的工作子进程的等待队列中用于传输访问数据库系统的数据的连接数是否超过预设阈值;在所述连接数未超过所述预设阈值的情况下,所述代理进程将用于访问数据库系统的数据插入到所述非空闲的工作子进程的等待队列中以等待被转发;在所述连接数超过所述预设阈值的情况下,所述代理进程断开连接数超过预设阈值的工作子进程与所述数据库系统的连接。3.根据权利要求2所述的方法,其特征在于,在所述代理进程中存在所述空闲的工作子进程的情况下,所述代理进程通过所述空闲的工作子进程将所述数据向所述数据库系统转发,包括:所述代理进程判断是否存在与所述数据对应的分组进程;其中,所述代理进程包括一个或多个分组进程,每个分组进程包括一个或多个工作子进程;在所述代理进程中存在与所述用于访问数据库系统的数据对应的分组进程,且所述分组进程中有空闲的工作子进程的情况下,所述代理进行通过该空闲的工作子进程转发所述数据;在所述代理进程中不存在与所述数据对应的分组进程的情况下,所述代理进程与所述访问进程建立与所述数据对应的新的分组进程,并基于所述新的分组进程中的空闲工作子进程转发所述数据。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述等待队列中的当前数据基于所述非空闲的工作子进程执行访问所述数据库系统的操作完成的情况下,判断所述等待队列是否为空;在判断结果为是的情况下,所述代理进程将所述非空闲的工作子进程的状态设置为空闲;在判断结果为否的情况下,所述代理进程唤醒所述等待队列中的用于访问数据库系统的数据基于所述非空闲的工作子进程继续对所述数据库系统进行访问操作。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:在收到用于指示第一工作子进程异常退出并释放所述数据库系统连接的信号的情况下,所述代理进程生成第二工作子进程;所述代理进程基于所述第...
【专利技术属性】
技术研发人员:罗志祺,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。