一种数据处理方法及装置制造方法及图纸

技术编号:24409793 阅读:20 留言:0更新日期:2020-06-06 08:41
本申请示出了一种数据处理方法及装置。接收携带数据标识的数据获取请求,在分布式缓存服务器中查找是否存在该数据标识所对应的第一数据,若不存在,判断该数据标识是否被加锁,若被加锁,判断应用服务器的本地缓存中是否缓存有该数据标识所对应的第二数据,若缓存有,基于第二数据响应该数据获取请求。通过本申请,可以避免出现分布式缓存服务器中存储的该数据标识所对应的数据与数据库中存储的该数据标识所对应的数据不同的情况,可以避免大量的数据获取请求应用服务器上在积压,由于没有大量的数据获取请求应用服务器上在积压,因此,应用服务器后续可以继续正常接收另外的数据处理请求,以及,可以降低应用服务器以及数据库宕机的可能性。

A data processing method and device

【技术实现步骤摘要】
一种数据处理方法及装置
本申请涉及计算机
,特别是涉及一种数据处理方法及装置。
技术介绍
随着技术的飞速发展,网络上的应用服务器越来越多,应用服务器可以为用户提供数据服务。用户可以访问应用服务器以获取数据,应用服务器与数据库通信连接,数据库用于存储数据,待用户需要获取数据时,应用服务器可以从数据库中获取数据并向用户响应。进一步地,应用服务器可以使用分布式缓存服务器缓存数据库中的数据,这样,应用服务器可以从分布式缓存服务器中获取数据并向用户响应,应用服务器从分布式缓存服务器中获取数据的速度高于应用服务器从数据库中获取数据的速度,因此,应用服务器从分布式缓存服务器中获取数据可以提高获取数据的效率。其中,有时候需要对数据进行更新,通常情况下,在更新数据时,可以先删除分布式缓存服务器中存储的旧数据,再使用新数据替换数据库中存储的旧数据,如此完成对数据更新。然而,在这种情况下,需要保障分布式缓存服务器中的数据与数据库中的数据一致。为了保障分布式缓存服务器中的数据与数据库中的数据一致,如果应用服务器接收到数据获取请求,可以先从分布式缓存服务器中获取数据,如果未能从分布式缓存服务器中获取到数据,则说明此时处于使用新数据替换数据库中的旧数据的过程,也即,在删除分布式缓存服务器中的旧数据之后数据库更新数据的流程还没完成,也就没在分布式缓存服务器中存储新数据,如此,可以暂停执行“从数据库中获取数据的操作”。等待数据库的更新流程完成之后,再执行从数据库中获取数据的操作。然而,在等待的这段时间内,如果应用服务器集中接收到大量的用于获取上述数据的数据获取请求,则由于这段时间内数据库更新数据的流程还没完成,则所有数据获取请求对应的“从数据库中获取数据的操作”均需要暂停,如此,在应用服务器上会积压大量的数据处理请求,进而可能导致应用服务器后续无法正常接收到其他数据处理请求。以及,如果在应用服务器上积压的数据处理请求的数量非常大,则会增加应用服务器以及数据库宕机的可能性。并且,如果在应用服务器上积压的数据处理请求的数量非常大,则在数据库更新数据的流程完成之后,应用服务器虽然可以继续执行“从数据库中获取数据的操作”,但往往无法在短时间内响应完毕所有的用于获取上述数据的数据处理请求,这样会导致大量的数据处理请求响应超时。
技术实现思路
为解决上述技术问题,本申请示出了一种数据处理方法及装置。第一方面,本申请示出了一种数据处理方法,应用于应用服务器中,所述方法包括:接收数据获取请求,所述数据获取请求携带数据标识,所述数据获取请求用于获取所述数据标识所对应的数据;在分布式缓存服务器中查找是否存在所述数据标识所对应的第一数据;如果所述分布式缓存服务器中不存在所述第一数据,则判断所述数据标识是否被加锁;如果所述数据标识被加锁,判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据;如果所述本地缓存中缓存有所述第二数据,基于所述本地缓存中的第二数据响应所述数据获取请求。在一个可选的实现方式中,所述方法还包括:如果所述本地缓存中未缓存所述第二数据,从数据库中获取所述数据标识所对应的第三数据;将所述第三数据缓存在所述本地缓存中;基于所述本地缓存中的第三数据响应所述数据获取请求。在一个可选的实现方式中,所述方法还包括:如果所述分布式缓存服务器中存在所述第一数据,则基于所述分布式缓存服务器中的第一数据响应所述数据获取请求。在一个可选的实现方式中,所述方法还包括:如果所述数据标识未被加锁,则从数据库中获取所述数据标识所对应的第四数据;基于所述数据库中的第四数据响应所述数据获取请求。在一个可选的实现方式中,所述方法还包括:如果所述数据标识被加锁,则在所述数据获取请求的响应限定时长内定时判断所述数据标识是否被解锁;如果在所述响应限定时长内所述数据标识未被解锁,则再执行所述判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据的步骤。在一个可选的实现方式中,所述方法还包括:如果在所述响应限定时长内所述数据标识被解锁,则从所述数据库中获取所述数据标识所对应的第四数据;基于所述数据库中的第四数据响应所述数据获取请求。在一个可选的实现方式中,所述方法还包括:在所述分布式缓存服务器中缓存所述第四数据。在一个可选的实现方式中,所述方法还包括:接收数据更新请求,所述更新请求携带第四数据以及所述数据标识;对所述数据标识加锁;删除分布式缓存服务器中缓存的所述数据标识所对应的第一数据;使用所述第四数据替换在数据库中存储的所述数据标识所对应的第三数据;对所述数据标识解锁。第二方面,本申请示出了一种数据处理装置,应用于应用服务器中,所述装置包括:第一接收模块,用于接收数据获取请求,所述数据获取请求携带数据标识,所述数据获取请求用于获取所述数据标识所对应的数据;查找模块,用于在分布式缓存服务器中查找是否存在所述数据标识所对应的第一数据;第一判断模块,用于如果所述分布式缓存服务器中不存在所述第一数据,则判断所述数据标识是否被加锁;第二判断模块,用于如果所述数据标识被加锁,判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据;第一响应模块,用于如果所述本地缓存中缓存有所述第二数据,基于所述本地缓存中的第二数据响应所述数据获取请求。在一个可选的实现方式中,所述装置还包括:第二获取模块,用于如果所述本地缓存中未缓存所述第二数据,从数据库中获取所述数据标识所对应的第三数据;第一缓存模块,用于将所述第三数据缓存在所述本地缓存中;第二响应模块,用于基于所述本地缓存中的第三数据响应所述数据获取请求。在一个可选的实现方式中,所述装置还包括:第三响应模块,用于如果所述分布式缓存服务器中存在所述第一数据,则基于所述分布式缓存服务器中的第一数据响应所述数据获取请求。在一个可选的实现方式中,所述装置还包括:第三获取模块,用于如果所述数据标识未被加锁,则从数据库中获取所述数据标识所对应的第四数据;第四响应模块,用于基于所述数据库中的第四数据响应所述数据获取请求。在一个可选的实现方式中,所述装置还包括:第三判断模块,用于如果所述数据标识被加锁,则在所述数据获取请求的响应限定时长内定时判断所述数据标识是否被解锁;所述第二判断模块还用于如果在所述响应限定时长内所述数据标识未被解锁,则判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据。在一个可选的实现方式中,所述装置还包括:第四获取模块,用于如果在所述响应限定时长内所述数据标识被解锁,则从所述数据库中获取所述数据标识所对应的第四数据;第五响应模块,用于基于所述数据库中的第四数据响应所述数据获本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,其特征在于,应用于应用服务器中,所述方法包括:/n接收数据获取请求,所述数据获取请求携带数据标识,所述数据获取请求用于获取所述数据标识所对应的数据;/n在分布式缓存服务器中查找是否存在所述数据标识所对应的第一数据;/n如果所述分布式缓存服务器中不存在所述第一数据,则判断所述数据标识是否被加锁;/n如果所述数据标识被加锁,判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据;/n如果所述本地缓存中缓存有所述第二数据,基于所述本地缓存中的第二数据响应所述数据获取请求。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于应用服务器中,所述方法包括:
接收数据获取请求,所述数据获取请求携带数据标识,所述数据获取请求用于获取所述数据标识所对应的数据;
在分布式缓存服务器中查找是否存在所述数据标识所对应的第一数据;
如果所述分布式缓存服务器中不存在所述第一数据,则判断所述数据标识是否被加锁;
如果所述数据标识被加锁,判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据;
如果所述本地缓存中缓存有所述第二数据,基于所述本地缓存中的第二数据响应所述数据获取请求。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述本地缓存中未缓存所述第二数据,从数据库中获取所述数据标识所对应的第三数据;
将所述第三数据缓存在所述本地缓存中;
基于所述本地缓存中的第三数据响应所述数据获取请求。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述分布式缓存服务器中存在所述第一数据,则基于所述分布式缓存服务器中的第一数据响应所述数据获取请求。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述数据标识未被加锁,则从数据库中获取所述数据标识所对应的第四数据;
基于所述数据库中的第四数据响应所述数据获取请求。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述数据标识被加锁,则在所述数据获取请求的响应限定时长内定时判断所述数据标识是否被解锁;
如果在所述响应限定时长内所述数据标识未被解锁,则再执行所述判断所述应用服务器的本地缓存中是否缓存有所述数据标识所对应的第二数据的步骤。


6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果在所述响应限定时长内所述数据标识被解锁,则从所述数据库中获取所述数据标识所对应的第四数据;
基于所述数据库中的第四数据响应所述数据获取请求。


7.根据权利要求4或6所述的方法,其特征在于,所述方法还包括:
在所述分布式缓存服务器中缓存所述第四数据。


8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据更新请求,所述更新请求携带第四数据以及所述数据标识;
对所述数据标识加锁;
删除分布式缓存服务器中缓存的所述数据标识所对应的第一数据;
使用所述第四数据替换在数据库中存储的所述数据标识所对应的第三数据;
对所述数据标识解锁。


9.一种数据处理装置,其特征在于,应用于应用服务器中,所述装置包括:
第一接收模块,用于接收数据获取请求,所述数据获取请求携带数据标识,所述数据获取请求用于获取所述数据标识所对应的数据;
查找模块,用于在分布式缓存服务器中查找是否存在所述数据标识所对应的第一数据;
第一判断模块,用于如果所述分布式缓存服务器中不存在所述第一数据,则判断所述数据...

【专利技术属性】
技术研发人员:宋艳垒
申请(专利权)人:五八有限公司
类型:发明
国别省市:天津;12

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

1