The embodiment of the invention discloses a data buffer method includes: receiving data from the database and packet processing requests; the data buffer is divided into n sub data buffer, the corresponding sub data buffer with sub data buffer sequence identifier and sub data buffer lock identifier, the database data in each bag sub data buffer; data buffer receiving processing request, according to the data buffer sequence identifier lock sub data buffer data and modify the data buffer lock identifier; according to the processing request stored or read sub data buffer data, read the sub data buffer in storage or after unlocking the data buffer and atomic data buffer lock identifier; each sub data buffer data sent to the data buffer. The embodiment of the invention also discloses a data buffer device and a storage medium. The invention can achieve the purpose of processing a large amount of concurrent data requests smoothly.
【技术实现步骤摘要】
数据缓冲方法、装置及存储介质
本专利技术属于信息
,具体地说,主要涉及一种的数据缓冲的方法、装置及存储介质。
技术介绍
在传统的网络应用系统中,客户端发出请求后通过服务端业务层直接对数据库进行连接查询操作,获得业务数据后再向客户端传输数据。此种机制处理少量数据和低并发的系统还能相安无事,但遇到数据量比较大和并发高的WEB系统,特别对于要求信息变化频繁、实时性数据要高求高的系统来说,此种处理手法就会遇到瓶颈。例如服务器、数据库性能急剧下降、客户端响应缓慢等等,直接影响到用户的体验性,在多线程数据量大而且更新频率高的情况下,经常会引起系统的死循环,导致各类资源利用率高,比如CPU(中央处理器)的利用率高,从而引起服务器的过热或死机,此给用户带来不佳体验,实有待改善。
技术实现思路
本专利技术实施例要解决的技术问题,在于提供一种能够处理大量、高并发数据请求的数据缓冲装置及方法,用以减少数据更新频率高的情况下,引起的死循环导致CPU利用率高的缺陷。本专利技术实施例解决上述技术问题的技术方案为:一种数据缓冲方法,包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,其中子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将数据库的数据包放在各个子数据缓冲区内;子数据缓冲区接收到处理请求时,根据子数据缓冲区序列标识符锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符;根据处理请求存储或读取子数据缓冲区的数据,在存储或读取子数据缓冲区后,解锁子数据缓冲区的数据并还原子数据缓冲区锁定标识符;将各个子数据缓冲区的数据的送出到数据缓冲区外 ...
【技术保护点】
一种数据缓冲方法,其特征在于,包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,其中所述的子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述的数据库的数据包放在各个所述的子数据缓冲区内;所述的子数据缓冲区接收到所述的处理请求时,根据所述的子数据缓冲区序列标识符锁定所述的子数据缓冲区的数据并修改所述的子数据缓冲区锁定标识符;根据所述的处理请求存储或读取所述的子数据缓冲区的数据,在存储或读取所述的子数据缓冲区后,解锁所述的子数据缓冲区的数据并还原所述的子数据缓冲区锁定标识符;将各个子数据缓冲区的数据送出到所述的数据缓冲区外。
【技术特征摘要】
1.一种数据缓冲方法,其特征在于,包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,其中所述的子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述的数据库的数据包放在各个所述的子数据缓冲区内;所述的子数据缓冲区接收到所述的处理请求时,根据所述的子数据缓冲区序列标识符锁定所述的子数据缓冲区的数据并修改所述的子数据缓冲区锁定标识符;根据所述的处理请求存储或读取所述的子数据缓冲区的数据,在存储或读取所述的子数据缓冲区后,解锁所述的子数据缓冲区的数据并还原所述的子数据缓冲区锁定标识符;将各个子数据缓冲区的数据送出到所述的数据缓冲区外。2.根据权利要求1所述的数据缓冲方法,其特征在于,所述的将数据缓冲区分成n个子数据缓冲区时,若使用所述的子数据缓冲区数量大于或等于k*n时,将所述的数据缓冲区分成2*n个所述的子数据缓冲区。3.根据权利要求2所述的数据缓冲方法,其特征在于,所述的n为16,所述的k为0.75。4.根据权利要求1所述的数据缓冲方法,其特征在于,所述的锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符时,对锁定子数据缓冲区的其他处理请求不存储或读取所述的子数据缓冲区的数据。5.一种数据缓冲装置,其特征在于,包括:获取模块,接收数据库的数据包和处理请求;数据缓冲模块,将数据缓冲区分成n个子数据缓冲区,其中所述的子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述的数据库的数据包放在各个所述的子数据缓冲区内;锁定模块,每个子数据缓冲区接收到处理请求时,根据子数据缓冲区序列标识符锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符,根据所述的处理请求存储...
【专利技术属性】
技术研发人员:胡永春,谢刚强,柯维海,黄伟强,
申请(专利权)人:广东德诚网络科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。