一种事务型数据库连接池的改进方法技术

技术编号:24409240 阅读:26 留言:0更新日期:2020-06-06 08:26
本发明专利技术公开了一种事务型数据库连接池的改进方法,步骤包括:创建数据库连接池,并对数据库连接池创建若干个子进程worker,并对子进程worker分配不一样的进程号;http请求对数据库连接池发起新的连接请求,每个进入数据库连接池的http请求都会被分配到其中一个子进程worker进行处理,获取子进程worker对应的进程号;数据库连接池记录进程号并进行配对和保存;当其中一个子进程worker经过多次的http请求后,对其进行销毁,并断开及销毁和其连接的所有http请求;对数据库连接池重新生成新的子进程worker并分配进程号。本发明专利技术主要在于增加对事务的支持,改进后的数据库连接池既达到减少io的消耗,进入的请求也不会因事务而受到影响。

An improved method of transactional database connection pool

【技术实现步骤摘要】
一种事务型数据库连接池的改进方法
本专利技术涉及数据库
,特别涉及一种事务型数据库连接池的改进方法。
技术介绍
数据库连接是一种关键资源有限的资源,这点在多用户的网页应用程序中尤为突出。在nginx+php-fpm模型里,每次用户访问都打开一个物理连接,使用完都关闭连接,这样造成系统的性能低下。数据库连接池的解决方案是在常驻内存的swoole或者是workman等框架成熟起来的,在应用程序启动时,建立一定的数据库连接,并将这些连接组成一个连接池,每个请求会尽可能的重用连接池的连接,达到减少消耗内存池资源,节省了内存,提高了服务器的服务效率。事务是一系列操作的集合,指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行。一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。在mysql命令行的默认设置下,事务都是自动提交的,即执行sql语句后会马上提交,因此要显示开启一个事务本文档来自技高网...

【技术保护点】
1.一种事务型数据库连接池的改进方法,其特征在于,包括以下步骤:/nS1、创建数据库连接池,并对数据库连接池创建若干个子进程worker,并对子进程worker分配不一样的进程号;/nS2、http请求对数据库连接池发起新的连接请求,每个进入数据库连接池的http请求都会被分配到其中一个子进程worker进行处理,获取子进程worker对应的进程号;数据库连接池记录进程号并进行配对和保存;/nS3、当其中一个子进程worker经过多次的http请求后,对其进行销毁,并断开及销毁和其连接的所有http请求;对数据库连接池重新生成新的子进程worker并分配进程号。/n

【技术特征摘要】
1.一种事务型数据库连接池的改进方法,其特征在于,包括以下步骤:
S1、创建数据库连接池,并对数据库连接池创建若干个子进程worker,并对子进程worker分配不一样的进程号;
S2、http请求对数据库连接池发起新的连接请求,每个进入数据库连接池的http请求都会被分配到其中一个子进程worker进行处理,获取子进程worker对应的进程号;数据库连接池记录进程号并进行配对和保存;
S3、当其中一个子进程worker经过多次的http请求后,对其进行销毁,并断开及销毁和其连接的所有http请求;对数据库连接池重新生成新的子进程worker并分配进程号。


2.根据权利要求1所述的一种事务型数据库连接池的改进方法,其特征在于,所述步骤S1还包括:启动swoole_http_server,swoole_http_server用于创建数据库连接池。


3.根据权利要求2所述的一种事务型数据库连接池的改进方法,其特征在于,所述步骤S2中的获取子进程worker对应的进程号,其具体为:swoole_http_server的posix_getpid进程获取子进程worker对应的进程...

【专利技术属性】
技术研发人员:刘杰昌史伟闵宇
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东;44

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

1