数据缓冲方法、装置及存储介质制造方法及图纸

技术编号:15746443 阅读:280 留言:0更新日期:2017-07-03 01:46
本发明专利技术实施例公开了一种数据缓冲方法包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将数据库的数据包放在各个子数据缓冲区内;子数据缓冲区接收到处理请求时,根据子数据缓冲区序列标识符锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符;根据处理请求存储或读取子数据缓冲区的数据,在存储或读取子数据缓冲区后,解锁子数据缓冲区的数据并还原子数据缓冲区锁定标识符;将各个子数据缓冲区的数据的送出到数据缓冲区外。本发明专利技术实施例还公开了一种数据缓冲装置以及存储介质。本发明专利技术可以达到流畅的处理大量、高并发数据请求的目的。

Data buffer method, device and storage medium

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个子数据缓冲区时,若使用子数据缓冲区数量大于或等于k*n时,将数据缓冲区分成2*n个子数据缓冲区。数据缓冲方法,其中,n为16,k为0.75。数据缓冲方法,其中,在锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符时,对锁定子数据缓冲区的其他处理请求不存储或读取子数据缓冲区的数据。一种数据缓冲装置,其中,包括:获取模块,接收数据库的数据包和处理请求;数据缓冲模块,将数据缓冲区分成n个子数据缓冲区,其中所述子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述数据库的数据包放在各个所述子数据缓冲区内;锁定模块,每个子数据缓冲区接收到处理请求时,根据子数据缓冲区序列标识符锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符,根据所述的处理请求存储或读取子数据缓冲区的数据,在存储或读取子数据缓冲区后,解锁子数据缓冲区的数据并还原所述的子数据缓冲区锁定标识符;传送模块,将各个子数据缓冲区的数据的送出到所述的数据缓冲区外。所述的数据缓冲装置,其中,所述的数据缓冲模块还包括:增量模块,将数据缓冲区分成n个子数据缓冲区时,若使用所述的子数据缓冲区数量大于或等于k*n时,将所述数据缓冲区分成2*n个子数据缓冲区。所述的数据缓冲装置,其中,所述的n为16,所述的k为0.75。一种存储指令的计算机可读存储介质,当被计算设备执行时,所述指令使得计算设备数据缓冲增加的一种优化方法,所述方法包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,其中所述子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述数据库的数据包放在各个所述子数据缓冲区内;所述子数据缓冲区接收到所述的处理请求时,根据子数据缓冲区序列标识符锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符;根据所述的处理请求存储或读取子数据缓冲区的数据,在存储或读取子数据缓冲区后,解锁子数据缓冲区的数据并还原所述的子数据缓冲区锁定标识符;将各个子数据缓冲区的数据的送出到所述的数据缓冲区外。所述的计算机可读存储介质,其中,其中所述方法还包括:将数据缓冲区分成n个子数据缓冲区时,若使用所述的子数据缓冲区数量大于或等于k*n时,将所述数据缓冲区分成2*n个子数据缓冲区。所述的计算机可读存储介质,其中,其中所述方法还包括,所述的n为16,所述的k为0.75。本专利技术实施例的一种数据缓冲装置及方法具有以下有益效果:通过对数据缓冲模块中设置队列单元,对接收到的请求线程进行归类排序,避免了无序以及变化复杂的请求线程对服务器造成的处理压力,其次加入了锁定模块,对排序后的多个数据列进行释放管理,确保同种类的请求线程不会同时进行运算调用数据,减少因数据量大并且高频率高引起的数据死循环的产生,降低CPU的占用率,从而提高CPU的计算速率,进而保证服务器在处理大量、高并发数据请求的时候,能够快速并正常的提供反馈数据,数据进行同步更新,提高数据的实时性,保证反馈数据均是最新的数据。本专利技术实施例的数据缓冲区分成n个,效率提升n倍,默认n为16,则效率至少提高16倍。附图说明图1为一个实施例中数据缓冲方法运行的应用环境图;图2为本专利技术实施例的数据缓冲区的结构示意图;图3为本专利技术实施例1中数据缓冲方法的流程图;图4为本专利技术实施例3中数据缓冲模块的框架示意图。具体实施方式下面结合附图对本专利技术实施例数据缓冲方法做详细说明。为了使本
的技术人员更好地理解本专利技术实施例的方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在某有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本专利技术保护的范围。本专利技术实施例说明书、权利要求书和附图中出现的术语“第一”、“第二”、“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一些列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。【实施例1】图1为一个实施例中数据缓冲方法运行的应用环境图。如图1所示,该应用环境包括终端110、服务器120,其中终端110和服务器120通过网络进行通信。终端110可为智能手机、平板电脑、笔记本电脑、台式计算机等客户端,但并不局限于此。终端110可通过网络从服务器120接收数据,如音视频数据等,或向服务器120发送数据等,服务器120可以响应终端110发送的视频传输请求等。该终端110上可以有存储介质上,本办法可以在其上使用。服务器120可以多台并发形式,也可以是单一的一台作为缓冲区,与其他服务器与数据库服务器进行连接。在服务器120上有存储介质,本办法也可以在其上使用。所以本方法并不限于终端110或服务器120上一端,依据实际情况而有所不同。如图2所示为本专利技术实施例的数据缓冲区的结构示意图,本实施例中,客户端100与数据库300之间设有一数据缓冲区200。数据缓冲区200与数据库200之间是实时连接,保证了数据缓冲区200与数据库300之间是同步的。此时,客户端无需直接读取服务器上数据库,而是实时读取数据缓冲区的数据。本专利技术一种数据缓冲方法,包括如下步骤。接收来自数据库的数据包和处理请求。该步骤保证了数据缓冲区200与数据300间的同步,同时为后续处本文档来自技高网
...
数据缓冲方法、装置及存储介质

【技术保护点】
一种数据缓冲方法,其特征在于,包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,其中所述的子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述的数据库的数据包放在各个所述的子数据缓冲区内;所述的子数据缓冲区接收到所述的处理请求时,根据所述的子数据缓冲区序列标识符锁定所述的子数据缓冲区的数据并修改所述的子数据缓冲区锁定标识符;根据所述的处理请求存储或读取所述的子数据缓冲区的数据,在存储或读取所述的子数据缓冲区后,解锁所述的子数据缓冲区的数据并还原所述的子数据缓冲区锁定标识符;将各个子数据缓冲区的数据送出到所述的数据缓冲区外。

【技术特征摘要】
1.一种数据缓冲方法,其特征在于,包括:接收来自数据库的数据包和处理请求;将数据缓冲区分成n个子数据缓冲区,其中所述的子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述的数据库的数据包放在各个所述的子数据缓冲区内;所述的子数据缓冲区接收到所述的处理请求时,根据所述的子数据缓冲区序列标识符锁定所述的子数据缓冲区的数据并修改所述的子数据缓冲区锁定标识符;根据所述的处理请求存储或读取所述的子数据缓冲区的数据,在存储或读取所述的子数据缓冲区后,解锁所述的子数据缓冲区的数据并还原所述的子数据缓冲区锁定标识符;将各个子数据缓冲区的数据送出到所述的数据缓冲区外。2.根据权利要求1所述的数据缓冲方法,其特征在于,所述的将数据缓冲区分成n个子数据缓冲区时,若使用所述的子数据缓冲区数量大于或等于k*n时,将所述的数据缓冲区分成2*n个所述的子数据缓冲区。3.根据权利要求2所述的数据缓冲方法,其特征在于,所述的n为16,所述的k为0.75。4.根据权利要求1所述的数据缓冲方法,其特征在于,所述的锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符时,对锁定子数据缓冲区的其他处理请求不存储或读取所述的子数据缓冲区的数据。5.一种数据缓冲装置,其特征在于,包括:获取模块,接收数据库的数据包和处理请求;数据缓冲模块,将数据缓冲区分成n个子数据缓冲区,其中所述的子数据缓冲区对应设有子数据缓冲区序列标识符和子数据缓冲区锁定标识符,将所述的数据库的数据包放在各个所述的子数据缓冲区内;锁定模块,每个子数据缓冲区接收到处理请求时,根据子数据缓冲区序列标识符锁定子数据缓冲区的数据并修改子数据缓冲区锁定标识符,根据所述的处理请求存储...

【专利技术属性】
技术研发人员:胡永春谢刚强柯维海黄伟强
申请(专利权)人:广东德诚网络科技有限公司
类型:发明
国别省市:广东,44

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

1