CN109446448A - 数据处理方法和系统 - Google Patents
数据处理方法和系统 Download PDFInfo
- Publication number
- CN109446448A CN109446448A CN201811051013.6A CN201811051013A CN109446448A CN 109446448 A CN109446448 A CN 109446448A CN 201811051013 A CN201811051013 A CN 201811051013A CN 109446448 A CN109446448 A CN 109446448A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- cache
- data processing
- inquiry request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 190
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000013500 data storage Methods 0.000 claims description 59
- 238000003860 storage Methods 0.000 claims description 27
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及云技术中的多级缓存技术,提供了一种数据处理方法和系统。所述方法包括:数据处理服务器接收查询请求;所述数据处理服务器根据所述查询请求查询二级缓存开启标识;当查询到二级缓存开启标识时,所述数据处理服务器将所述查询请求发送至第一缓存服务器;所述第一缓存服务器根据所述查询请求查询相应的缓存数据,当没有查询到缓存数据时,将所述查询请求发送至第二缓存服务器;所述第二缓存服务器根据所述查询请求查询相应的缓存数据,将查询到的缓存数据通过所述第一缓存服务器发送至所述数据处理服务器。采用本方法能够提高数据处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法和系统。
背景技术
随着计算机技术的发展,互联网业务越来越多,给人们的生活带来了诸多便捷。随着互联网业务访问量的剧增,对系统架构要求越来越高,单数据库存储数据已经不能满足需求。目前大部分系统架构,采用单机形式的一级缓存结构来缓解高并发和高可用场景给服务器和数据库带来的压力。
然而,目前的系统架构仍然存在缓存雪崩风险,降低了客户端请求响应效率,从而降低了数据处理效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据处理效率的数据处理方法和系统。
一种数据处理方法,所述方法包括:
数据处理服务器接收查询请求;
所述数据处理服务器根据所述查询请求查询二级缓存开启标识;
当查询到二级缓存开启标识时,所述数据处理服务器将所述查询请求发送至第一缓存服务器;
所述第一缓存服务器根据所述查询请求查询相应的缓存数据,当没有查询到缓存数据时,将所述查询请求发送至第二缓存服务器;
所述第二缓存服务器根据所述查询请求查询相应的缓存数据,将查询到的缓存数据通过所述第一缓存服务器发送至所述数据处理服务器。
在其中一个实施例中,所述方法还包括:
当所述第二缓存服务器没有查询到缓存数据时,所述第二缓存服务器将所述查询请求发送到数据存储服务器;
所述数据存储服务器根据所述查询请求查询相应的数据,将查询到的数据发送至所述第二缓存服务器;
所述第二缓存服务器将接收到的数据缓存在本地,并转发至所述第一缓存服务器;
所述第一缓存服务器将接收到的数据缓存在本地,并转发至所述数据处理服务器。
在其中一个实施例中,所述数据处理服务器接收查询请求之前,所述方法还包括:
代理服务器接收终端发送的查询请求;
所述代理服务器根据所述查询请求,从候选数据处理服务器中选择数据处理服务器;
所述代理服务器将所述查询请求发送至选择的所述数据处理服务器。
在其中一个实施例中,所述方法还包括:
数据处理服务器接收更新请求;
所述数据处理服务器根据所述更新请求对应更新数据存储服务器中的数据,并确定第二缓存服务器对应的更新方式;
当所述数据存储服务器中的数据更新成功时,所述数据处理服务器根据所述更新方式,对应更新所述第二缓存服务器中的缓存数据。
在其中一个实施例中,所述更新方式包括同步更新方式;所述方法还包括:
当所述数据存储服务器中的数据更新失败时,所述数据处理服务器将所述数据存储服务器中的数据还原为更新前的数据;
所述数据处理服务器保持所述第二缓存服务器中的缓存数据不变。
在其中一个实施例中,所述更新方式包括异步更新方式;所述数据处理服务器根据所述更新方式,对应更新所述第二缓存服务器中的缓存数据,包括:
所述数据处理服务器将所述更新请求缓存至请求缓存队列;
所述数据处理服务器监测所述请求缓存队列;
当监测到所述请求缓存队列中存在更新请求时,所述数据处理服务器从所述请求缓存队列中读取监测到的所述更新请求;
所述数据处理服务器根据读取的所述更新请求,更新所述第二缓存服务器中的缓存数据。
在其中一个实施例中,所述方法还包括:
当所述第二缓存服务器中的缓存数据更新成功时,所述数据处理服务器查询二级缓存开启标识;
当查询到二级缓存开启标识时,所述数据处理服务器根据所述更新请求,对应更新第一缓存服务器中的缓存数据。
一种数据处理系统,所述系统包括:数据处理服务器、第一缓存服务器和第二缓存服务器;
所述数据处理服务器,用于接收查询请求;根据所述查询请求查询二级缓存开启标识;当查询到二级缓存开启标识时,将所述查询请求发送至所述第一缓存服务器;
所述第一缓存服务器,用于根据所述查询请求查询相应的缓存数据,当没有查询到缓存数据时,将所述查询请求发送至所述第二缓存服务器;
所述第二缓存服务器,用于根据所述查询请求查询相应的缓存数据,将查询到的缓存数据通过所述第一缓存服务器发送至所述数据处理服务器。
在其中一个实施例中,所述系统还包括:数据存储服务器;
所述数据存储服务器,用于当所述第二缓存服务器没有查询到缓存数据时,接收所述第二缓存服务器发送的查询请求;根据所述查询请求查询相应的数据,将查询到的数据发送至所述第二缓存服务器;
所述第二缓存服务器,还用于将接收到的数据缓存在本地,并转发至所述第一缓存服务器;
所述第一缓存服务器,还用于将接收到的数据缓存在本地,并转发至所述数据处理服务器。
在其中一个实施例中,所述系统还包括:代理服务器;
所述代理服务器,用于接收终端发送的查询请求;根据所述查询请求,从候选数据处理服务器中选择数据处理服务器;将所述查询请求发送至选择的所述数据处理服务器。
上述数据处理方法和系统,数据处理服务器接收到查询请求时,根据所接收到的查询请求查询二级缓存开启标识,以判断是否已开启二级缓存。当查询到二级缓存开启标识时表明已开启二级缓存,数据处理服务器根据查询请求从第一缓存服务器获取相应的缓存数据,提高了查询请求的响应效率。当第一缓存服务器没有查询到缓存数据时,将查询请求发送至第二缓存服务器,以从第二缓存服务器查询与查询请求对应的缓存数据。这样,当第一缓存服务器中的缓存数据数量足够大时,将数据缓存在第二缓存服务器中,在避免第一缓存服务器缓存雪崩的情况下,保证了查询请求的响应效率,提高了数据处理效率。
附图说明
图1为一个实施例中数据处理方法的应用场景图;
图2为一个实施例中数据处理方法的流程示意图;
图3为另一个实施例中数据处理方法的流程示意图;
图4为一个实施例中数据处理方法中的数据更新步骤的流程示意图;
图5为一个实施例中数据处理系统的结构框图;
图6为另一个实施例中数据处理系统的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,数据处理服务器110和第二缓存服务器130通过网络分别与第一缓存服务器120进行通信。数据处理服务器110接收到查询请求时,根据所接收到的查询请求查询二级缓存开启标识,并当查询到二级缓存开启标识时,将接收到的查询请求发送至第一缓存服务器120。第一缓存服务器120根据查询请求查询缓存数据,并当没有查询到缓存数据时,将查询请求发送至第二缓存服务器130.第二缓存服务器130根据查询请求查询缓存数据,并将查询到的缓存数据通过第一缓存服务器120发送至数据处理服务器110。其中,数据处理服务器110、第一缓存服务器120和第二缓存服务器130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据处理方法,该方法包括以下步骤:
S202,数据处理服务器接收查询请求。
其中,查询请求是用于触发查询操作的请求。查询请求具体可以是用于指示查询指定数据的指令,其中,指定数据比如热点数据。
具体地,数据处理服务器接收其他计算机设备发送的查询请求。其他计算机设备比如终端或代理服务器。终端检测指定触发操作,检测到指定触发操作时,根据检测到的指定触发操作生成查询请求,并将所生成的查询请求通过有线或无线的方式发送至数据处理服务器。终端也可以将所生成的查询指令发送至代理服务器,经由代理服务器将该查询请求发送至数据处理服务器。
S204,数据处理服务器根据查询请求查询二级缓存开启标识。
其中,二级缓存开启标识用于标识二级缓存的开启。二级缓存是指由第一级缓存和第二级缓存两个缓存层级组成的缓存方式。二级缓存中的第一级缓存和第二级缓存中所缓存的数据可以相同也可以不同。当开启二级缓存功能时,会对应生成表示二级缓存功能已开启的二级缓存开启标识。
具体地,数据处理服务器接收到查询请求时,根据所接收到的查询请求在本地查询二级缓存开启标识。数据处理服务器根据查询请求确定二级缓存开启标识对应的存储路径,根据所确定的存储路径查询相应的二级缓存开启标识。数据处理服务器通过查询二级缓存开启标识来判断是否已开启二级缓存。
在一个实施例中,数据处理服务器接收到查询请求时,在本地查询配置文件,根据配置文件中的指定配置项判断是否已开启二级缓存。数据处理服务器可根据查询到的指定配置项对应确定二级缓存开启标识。比如,当查询到的指定配置项为IsOpenCache=true时,表明已开启二级缓存,则对应确定的二级缓存开启标识可表示为true。
在一个实施例中,数据处理服务器根据查询请求从其他计算机设备查询二级缓存开启标识。其他计算机设备比如终端或用于控制二级缓存开启和关闭的配置服务器。
在一个实施例中,数据处理服务器比如是Tomcat服务器(开放源代码的Web应用服务器),也可以是多个Tomcat服务器组成的Tomcat集群。
S206,当查询到二级缓存开启标识时,数据处理服务器将查询请求发送至第一缓存服务器。
具体地,当查询到二级缓存开启标识时,表明二级缓存已开启,数据处理服务器查询第一缓存服务器,向所查询到的第一缓存服务器发送查询请求,以指示第一缓存服务器在本地查询相应的缓存数据。
在一个实施例中,当没有查询到二级缓存开启标识时,表明没有开启二级缓存,数据处理服务器将所接收到的查询请求发送到数据存储服务器,以从数据存储服务器直接获取与查询请求对应的数据。
在一个实施例中,当判定没有开启二级缓存时,数据处理服务器将查询请求发送至第二缓存服务器,以指示第二缓存服务器在本地查询相应的缓存数据。
在一个实施例中,当没有查询到二级缓存开启标识时,数据处理服务器在本地查询一级缓存开启标识。当查询到一级缓存开启标识时,数据处理服务器将接收到的查询请求发送至第二缓存服务器,以接收第二缓存服务器查询并反馈的缓存数据。当没有查询到一级缓存开启标识时,数据处理服务器将查询请求发送至数据存储服务器。
在一个实施例中,第一缓存服务器比如是Ehcache服务器(部署有分布式缓存软件Ehcache的服务器),第二缓存服务器比如是Redis服务器(部署有key-value存储系统Redis的服务器),二者均可以部署成服务器集群。
S208,第一缓存服务器根据查询请求查询相应的缓存数据,当没有查询到缓存数据时,将查询请求发送至第二缓存服务器。
其中,缓存数据是指临时缓存在缓存服务器中的数据。缓存数据具有时效性,即缓存在缓存服务器中的数据在指定时间长度后会失效或被删除。缓存数据比如新发布产品的剩余数量。
具体地,第一缓存服务器接收到查询请求时,根据所接收到的查询请求在本地查询相应的缓存数据。当查询到与查询请求对应的缓存数据时,第一缓存服务器将所查询到的缓存数据反馈至数据处理服务器。当没有查询到缓存数据时,第一缓存服务器将所接收到的查询请求转发至第二缓存服务器。
在一个实施例中,第一缓存服务器根据接收到的查询请求获取相应的待查询数据标识,根据待查询数据标识查询相应的缓存数据。具体地,查询请求可携带有待查询数据标识。第一缓存服务器解析所接收到的查询请求,获得相应的待查询数据标识,进而根据待查询数据标识查询相应的缓存数据。
S210,第二缓存服务器根据查询请求查询相应的缓存数据,将查询到的缓存数据通过第一缓存服务器发送至数据处理服务器。
具体地,第二缓存服务器接收到查询请求时,根据所接收到的查询请求在本地查询相应的缓存数据。当查询到与查询请求对应的缓存数据时,第二缓存服务器将所查询到的缓存数据发送至第一缓存服务器,经由第一缓存服务器将该缓存数据发送至数据处理服务器。第一缓存服务器接收到第二缓存服务器针对查询请求反馈的缓存数据时,将所接收到的缓存数据存储在本地,并同时转发至数据处理服务器。
在一个实施例中,查询请求中携带有待查询数据标识。第二缓存服务器解析查询请求获得相应的待查询数据标识,进而根据解析获得的待查询数据标识查询相应的缓存数据。
上述数据处理方法,数据处理服务器接收到查询请求时,根据所接收到的查询请求查询二级缓存开启标识,以判断是否已开启二级缓存。当查询到二级缓存开启标识时表明已开启二级缓存,数据处理服务器根据查询请求从第一缓存服务器获取相应的缓存数据,提高了查询请求的响应效率。当第一缓存服务器没有查询到缓存数据时,将查询请求发送至第二缓存服务器,以从第二缓存服务器查询与查询请求对应的缓存数据。这样,当第一缓存服务器中的缓存数据数量足够大时,将数据缓存在第二缓存服务器中,在避免第一缓存服务器缓存雪崩的情况下,保证了查询请求的响应效率,提高了数据处理效率。
在一个实施例中,上述数据处理方法还包括:当第二缓存服务器没有查询到缓存数据时,第二缓存服务器将查询请求发送到数据存储服务器;数据存储服务器根据查询请求查询相应的数据,将查询到的数据发送至第二缓存服务器;第二缓存服务器将接收到的数据缓存在本地,并转发至第一缓存服务器;第一缓存服务器将接收到的数据缓存在本地,并转发至数据处理服务器。
具体地,第二缓存服务器根据查询请求在本地查询相应的缓存数据,当没有查询到与查询请求对应的缓存数据时,第二缓存服务器将所接收到的查询请求转发至数据存储服务器。数据存储服务器接收到查询请求时,根据所接收到的查询请求在本地查询相应的数据。当查询到与查询请求对应的数据时,数据存储服务器将所查询到的数据发送至第二缓存服务器。第二缓存服务器接收到数据存储服务器针对查询请求反馈的数据时,将所接收到的数据缓存在本地,同时将该数据转发至第一缓存服务器。同样地,第一缓存服务器接收到第二缓存服务器转发的数据时,将所接收到的数据存储在本地,并将该数据转发至数据处理服务器。
在一个实施例中,查询请求中携带有待查询数据标识和/或待查询数据存储路径。数据存储服务器解析查询请求获得相应的待查询数据标识和/或待查询数据存储路径,进而根据解析获得的待查询数据标识和/或待查询数据存储路径,在本地查询相应的缓存数据。
在一个实施例中,数据存储服务器根据查询请求中的待查询数据标识在本地查询到相应的数据时,将所查询到的数据和相应的待查询数据标识发送至第二缓存服务器。第二缓存服务器将所接收到的数据和相应的待查询数据对应缓存在本地,同时将该数据和相应的待查询数据标识发送至第一缓存服务器。第一缓存服务器将所接收到的数据和相应的待查询数据标识存储在本地,并将所接收到的数据发送至数据处理服务器。
上述实施例中,当第二缓存服务器没有查询到缓存数据时,将查询请求发送至数据存储服务器,以从数据存储服务器中获取与查询请求对应的数据,保证了查询请求的有效响应。同时,第一缓存服务器和第二缓存服务器将数据存储服务器对应于查询请求反馈的数据缓存在本地,以便于再次接收到针对相同数据的查询请求时,直接从第一缓存服务器中获取数据,提高了查询请求的响应效率,从而提高了数据处理效率。
在一个实施例中,数据处理服务器接收查询请求之前,上述数据处理方法还包括:代理服务器接收终端发送的查询请求;代理服务器根据查询请求,从候选数据处理服务器中选择数据处理服务器;代理服务器将查询请求发送至选择的数据处理服务器。
其中,代理服务器是负责分发终端生成并发送的查询请求的服务器。代理服务器用于实现候选数据处理服务器之间的负载均衡。在本实施例中,将上述各实施例中的数据处理服务器视为独立的服务器。候选数据处理器是可被选作数据处理服务器的目标数据处理服务器。在本实施例中,可由多个候选数据处理服务器组成数据处理服务器集群,从该数据处理服务器集群中选择用于响应查询请求的数据处理服务器。
具体地,终端检测到指定触发操作时,根据检测到的指定触发操作生成相应的查询请求,将所生成的查询请求通过指定网页或客户端发送至代理服务器。代理服务器接收到查询请求时,根据所接收到的查询请求从候选数据处理服务器中选择数据处理服务器,并将所接收到的查询请求发送至所选择的数据处理服务器。
在一个实施例中,候选数据处理服务器多于一个。代理服务器从该多于一个的候选数据处理服务器中随机选择数据处理服务器。
在一个实施例中,代理服务器以负载均衡的方式从多于一个的候选数据处理服务器中选择数据处理服务器。具体地,代理服务器以轮询方式从多于一个的候选数据处理服务器选择数据处理服务器。或者,代理服务器分别获取该多于一个的候选数据处理服务器各自对应的负载,将负载最小的候选数据处理服务器确定为所选择的数据处理服务器。或者,代理服务器分别获取该多于一个的候选数据处理服务器各自对应的标识,计算各个标识对应的哈希值,根据计算所得的哈希值确定所选择的数据处理服务器。
在一个实施例中,代理服务器比如是Nginx服务器,可以是多个Nginx服务器组成的Nginx集群,可用于缓存静态页面。
上述实施例中,借助于代理服务器实现各个候选数据处理服务器之间的负载均衡,有效保证了查询请求的响应效率,从而保证了数据处理效率。
在一个实施例中,上述数据处理方法还包括:数据处理服务器接收更新请求;数据处理服务器根据更新请求对应更新数据存储服务器中的数据,并确定第二缓存服务器对应的更新方式;当数据存储服务器中的数据更新成功时,数据处理服务器根据更新方式,对应更新第二缓存服务器中的缓存数据。
其中,更新请求是触发更新操作的请求。更新方式是指更新数据的方式。更新方式用于指示如何更新第二缓存服务器中相应的缓存数据。
具体地,数据处理服务器接收终端或代理服务器发送的更新请求,根据接收到的更新请求确定数据存储服务器中待更新的数据,并根据更新请求对应更新所确定的数据。进一步地,数据处理服务器根据所确定的数据和预设更新方式确定条件,确定第二缓存服务器对应的更新方式。当数据存储服务器中的数据更新成功时,数据处理服务器根据所确定的更新方式对应更新第二缓存服务器中的相应缓存数据。
举例说明,预设更新方式确定条件是依据待更新的数据是否涉及指定敏感数据确定相应的更新方式。若待更新的数据涉及敏感数据,则将第二缓存服务器对应的更新方式确定为同步更新方式,比如涉及金钱的数据更新。若待更新的数据不涉及敏感数据,则将更新方式确定为异步更新方式,比如个人信息的更新。指定敏感数据是预先指定的一种或多种敏感数据,多种敏感数据可构成敏感数据表。数据处理服务器将待更新的数据与敏感数据表进行匹配,当匹配成功时,将更新方式确定为同步更新,否则,确定为异步更新。
在一个实施例中,更新请求携带有第二缓存服务器对应的更新方式。数据处理服务器解析接收到的更新请求,获得第二缓存服务器对应的更新方式。
在一个实施例中,更新请求携带有更新后的数据。数据处理服务器根据更新请求确定更新后的数据,根据所确定的更新后的数据对应更新数据存储服务器中待更新的数据。在一个实施例中,更新请求携带有差异数据。数据处理服务器根据差异数据和待更新的数据对应确定更新后的数据,并将数据存储服务器中待更新的数据对应更新为所确定的更新后的数据。
上述实施例中,数据处理服务器根据接收到的更新请求及时更新数据存储服务器中的数据,并依据所确定的更新方式对应更新第二缓存服务器中的缓存数据,有效保证了根据查询请求对应查询到的数据的准确性。
在一个实施例中,更新方式包括同步更新方式;上述数据处理方法还包括:当数据存储服务器中的数据更新失败时,数据处理服务器将数据存储服务器中的数据还原为更新前的数据;数据处理服务器保持第二缓存服务器中的缓存数据不变。
其中,同步更新方式是指直接根据更新请求及时更新第二缓存服务器中的缓存数据。换而言之,数据处理服务器成功更新数据存储服务器中的数据时,根据更新请求直接更新第二缓存服务器中相应的缓存数据。
具体地,当数据存储服务器中的数据更新失败时,数据处理服务器将数据存储服务器中根据更新请求已更新的数据还原为更新前的数据,且不再更新第二缓存服务器中相应的缓存数据。
在一个实施例中,第二缓存服务器对应的更新方式为同步更新方式。数据处理服务器成功更新数据存储服务器中的数据时,根据数据存储服务器中所更新的数据对应更新第二缓存服务器中相应的缓存数据。
上述实施例中,当数据存储服务器的数据更新失败时,将数据存储服务器中的数据回滚至更新前的数据,且不再对应更新第二缓存服务器的缓存数据,以保证缓存数据和数据存储服务器中的数据的准确性和一致性。
在一个实施例中,更新方式包括异步更新方式;数据处理服务器根据更新方式,对应更新第二缓存服务器中的缓存数据,包括:数据处理服务器将更新请求缓存至请求缓存队列;数据处理服务器监测请求缓存队列;当监测到请求缓存队列中存在更新请求时,数据处理服务器从请求缓存队列中读取监测到的更新请求;数据处理服务器根据读取的更新请求,更新第二缓存服务器中的缓存数据。
其中,异步更新方式是指将更新请求缓存至请求缓存队列中,并在监测到请求缓存队列中缓存有更新请求时,根据监测到的更新请求对应更新第二缓存服务器中相应的缓存数据。换而言之,对于异步更新方式,数据处理服务器在成功更新数据存储服务器中的数据时,不会实时更新第二缓存服务器中的数据,而是将更新请求缓存在请求缓存队列中,再根据请求缓存队列中更新请求缓存的先后顺序依次更新第二缓存服务器中相应的缓存数据。请求缓存队列是用于缓存更新请求的消息队列。
具体地,当确定的更新方式为异步更新方式时,数据处理服务器将接收到的更新请求缓存至请求缓存队列的队尾。数据处理服务器实时监测请求缓存队列,当监测到请求缓存队列中缓存有更新请求时,从请求缓存队列的队首读取所缓存的更新请求。数据处理服务器根据所读取的更新请求对应更新第二缓存服务器中相应的缓存数据。
在一个实施例中,当更新方式为异步更新方式时,数据处理服务器根据数据存储服务器中所更新的数据生成相应的缓存更新请求,将所生成的缓存更新请求缓存至请求缓存队列。进一步地,当数据处理服务器监测到请求缓存队列中缓存有缓存更新请求时,数据处理服务器从请求缓存队列中读取监测到的缓存更新请求,并根据所读取的缓存更新请求更新第二缓存服务器中的缓存数据。
上述实施例中,对于更新实时性要求不高的数据,将相应的更新请求缓存至请求缓存队列,并按照缓存先后顺序依次更新相应的缓存数据。这样,既能确保缓存数据的有效更新,又能避免因更新缓存数据耗费时间过长导致数据处理效率降低的问题,尤其是在更新请求数量较大时,有效保证了数据处理效率。
在一个实施例中,上述数据处理方法还包括:当第二缓存服务器中的缓存数据更新成功时,数据处理服务器查询二级缓存开启标识;当查询到二级缓存开启标识时,数据处理服务器根据更新请求,对应更新第一缓存服务器中的缓存数据。
具体地,当数据处理服务器成功更新第二缓存服务器中的缓存数据时,数据处理服务器在本地查询二级缓存开启标识。当查询到二级缓存开启标识时,数据处理服务器根据更新请求更新第二缓存服务器中相应的缓存数据。
上述实施例中,当已开启二级缓存、且第二缓存数据库中的缓存数据更细成功时,对应更新第一缓存服务器中的缓存数据,从而保证第一缓存服务器、第二缓存服务器和数据存储服务器中数据的一致性。
在一个实施例中,上述各个实施例中的数据处理服务器、数据存储服务器、第一缓存服务器和第二缓存服务器可以是同属于一个服务器集群。
在一个实施例中,上述各个实施例中的数据处理服务器、数据存储服务器、第一缓存服务器和第二缓存服务器所实现的功能也可以集成于同一个服务器。
如图3所示,在一个实施例中,提供了一种数据处理方法,该方法具体包括以下步骤:
S302,代理服务器接收终端发送的查询请求。
S304,代理服务器根据查询请求,从候选数据处理服务器中选择数据处理服务器。
S306,代理服务器将查询请求发送至选择的数据处理服务器。
S308,数据处理服务器接收查询请求。
S310,数据处理服务器根据查询请求查询二级缓存开启标识。
S312,当查询到二级缓存开启标识时,数据处理服务器将查询请求发送至第一缓存服务器。
S314,第一缓存服务器根据查询请求查询相应的缓存数据,当没有查询到缓存数据时,将查询请求发送至第二缓存服务器。
S316,第二缓存服务器根据查询请求查询相应的缓存数据。
S318,当查询到缓存数据时,第二缓存服务器将查询到的缓存数据通过第一缓存服务器发送至数据处理服务器。
S320,当没有查询到缓存数据时,第二缓存服务器将查询请求发送到数据存储服务器。
S322,数据存储服务器根据查询请求查询相应的数据,将查询到的数据发送至第二缓存服务器。
S324,第二缓存服务器将接收到的数据缓存在本地,并转发至第一缓存服务器。
S326,第一缓存服务器将接收到的数据缓存在本地,并转发至数据处理服务器。
上述实施例中,数据处理服务器根据查询请求判断是否已开启二级缓存,当二级缓存已开启时,按照第一缓存服务器、第二缓存服务器至数据存储服务器的顺序依次查询与查询请求对应的数据,直至查询到数据时停止查询,由此提高了查询请求的响应效率,从而提高了数据处理效率。
如图4所示,在一个实施例中,提供了上述数据处理方法中根据更新请求对应更新数据的相关步骤,具体步骤如下:
S402,数据处理服务器接收更新请求。
S404,数据处理服务器根据更新请求对应更新数据存储服务器中的数据,并确定第二缓存服务器对应的更新方式;更新方式包括同步更新方式和异步更新方式。
S406,当更新方式为同步更新方式、且数据存储服务器中的数据更新成功时,数据处理服务器根据更新方式,对应更新第二缓存服务器中的缓存数据。
S408,当更新方式为同步更新方式、且数据存储服务器中的数据更新失败时,数据处理服务器将数据存储服务器中的数据还原为更新前的数据。
S410,数据处理服务器保持第二缓存服务器中的缓存数据不变。
S412,当更新方式为异步更新方式、且数据存储服务器中的数据更新成功时,数据处理服务器将更新请求缓存至请求缓存队列。
S414,数据处理服务器监测请求缓存队列。
S416,当监测到请求缓存队列中存在更新请求时,数据处理服务器从请求缓存队列中读取监测到的更新请求。
S418,数据处理服务器根据读取的更新请求,更新第二缓存服务器中的缓存数据。
S420,当第二缓存服务器中的缓存数据更新成功时,数据处理服务器查询二级缓存开启标识。
S422,当查询到二级缓存开启标识时,数据处理服务器根据更新请求,对应更新第一缓存服务器中的缓存数据。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种数据处理系统500,包括:数据处理服务器502、第一缓存服务器504和第二缓存服务器506;
数据处理服务器502,用于接收查询请求;根据查询请求查询二级缓存开启标识;当查询到二级缓存开启标识时,将查询请求发送至第一缓存服务器。
第一缓存服务器504,用于根据查询请求查询相应的缓存数据,当没有查询到缓存数据时,将查询请求发送至第二缓存服务器。
第二缓存服务器506,用于根据查询请求查询相应的缓存数据,将查询到的缓存数据通过第一缓存服务器发送至数据处理服务器。
如图6所示,在一个实施例中,数据处理系统500,还包括:数据存储服务器508;
数据存储服务器508,用于当第二缓存服务器没有查询到缓存数据时,接收第二缓存服务器发送的查询请求;根据查询请求查询相应的数据,将查询到的数据发送至第二缓存服务器。
第二缓存服务器506,还用于将接收到的数据缓存在本地,并转发至第一缓存服务器。
第一缓存服务器504,还用于将接收到的数据缓存在本地,并转发至数据处理服务器。
在一个实施例中,数据处理系统500,还包括:代理服务器510;
代理服务器510,用于接收终端发送的查询请求;根据查询请求,从候选数据处理服务器中选择数据处理服务器;将查询请求发送至选择的数据处理服务器。
在一个实施例中,数据处理服务器502,还用于接收更新请求;根据更新请求对应更新数据存储服务器508中的数据,并确定第二缓存服务器506对应的更新方式;当数据存储服务器508中的数据更新成功时,根据更新方式,对应更新第二缓存服务器506中的缓存数据。
在一个实施例中,更新方式包括同步更新方式;数据处理服务器502,还用于当数据存储服务器508中的数据更新失败时,将数据存储服务器508中的数据还原为更新前的数据;保持第二缓存服务器506中的缓存数据不变。
在一个实施例中,更新方式包括异步更新方式;数据处理服务器502,还用于将更新请求缓存至请求缓存队列;监测请求缓存队列;当监测到请求缓存队列中存在更新请求时,从请求缓存队列中读取监测到的更新请求;根据读取的更新请求,更新第二缓存服务器506中的缓存数据。
在一个实施例中,数据处理服务器502,还用于当第二缓存服务器506中的缓存数据更新成功时,查询二级缓存开启标识;当查询到二级缓存开启标识时,根据更新请求,对应更新第一缓存服务器504中的缓存数据。
关于数据处理系统的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据处理方法,所述方法包括:
数据处理服务器接收查询请求;
所述数据处理服务器根据所述查询请求查询二级缓存开启标识;
当查询到二级缓存开启标识时,所述数据处理服务器将所述查询请求发送至第一缓存服务器;
所述第一缓存服务器根据所述查询请求查询相应的缓存数据,当没有查询到缓存数据时,将所述查询请求发送至第二缓存服务器;
所述第二缓存服务器根据所述查询请求查询相应的缓存数据,将查询到的缓存数据通过所述第一缓存服务器发送至所述数据处理服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第二缓存服务器没有查询到缓存数据时,所述第二缓存服务器将所述查询请求发送到数据存储服务器;
所述数据存储服务器根据所述查询请求查询相应的数据,将查询到的数据发送至所述第二缓存服务器;
所述第二缓存服务器将接收到的数据缓存在本地,并转发至所述第一缓存服务器;
所述第一缓存服务器将接收到的数据缓存在本地,并转发至所述数据处理服务器。
3.根据权利要求1所述的方法,其特征在于,所述数据处理服务器接收查询请求之前,所述方法还包括:
代理服务器接收终端发送的查询请求;
所述代理服务器根据所述查询请求,从候选数据处理服务器中选择数据处理服务器;
所述代理服务器将所述查询请求发送至选择的所述数据处理服务器。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
数据处理服务器接收更新请求;
所述数据处理服务器根据所述更新请求对应更新数据存储服务器中的数据,并确定第二缓存服务器对应的更新方式;
当所述数据存储服务器中的数据更新成功时,所述数据处理服务器根据所述更新方式,对应更新所述第二缓存服务器中的缓存数据。
5.根据权利要求4所述的方法,其特征在于,所述更新方式包括同步更新方式;所述方法还包括:
当所述数据存储服务器中的数据更新失败时,所述数据处理服务器将所述数据存储服务器中的数据还原为更新前的数据;
所述数据处理服务器保持所述第二缓存服务器中的缓存数据不变。
6.根据权利要求4所述的方法,其特征在于,所述更新方式包括异步更新方式;所述数据处理服务器根据所述更新方式,对应更新所述第二缓存服务器中的缓存数据,包括:
所述数据处理服务器将所述更新请求缓存至请求缓存队列;
所述数据处理服务器监测所述请求缓存队列;
当监测到所述请求缓存队列中存在更新请求时,所述数据处理服务器从所述请求缓存队列中读取监测到的所述更新请求;
所述数据处理服务器根据读取的所述更新请求,更新所述第二缓存服务器中的缓存数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第二缓存服务器中的缓存数据更新成功时,所述数据处理服务器查询二级缓存开启标识;
当查询到二级缓存开启标识时,所述数据处理服务器根据所述更新请求,对应更新第一缓存服务器中的缓存数据。
8.一种数据处理系统,其特征在于,所述系统包括:数据处理服务器、第一缓存服务器和第二缓存服务器;
所述数据处理服务器,用于接收查询请求;根据所述查询请求查询二级缓存开启标识;当查询到二级缓存开启标识时,将所述查询请求发送至所述第一缓存服务器;
所述第一缓存服务器,用于根据所述查询请求查询相应的缓存数据,当没有查询到缓存数据时,将所述查询请求发送至所述第二缓存服务器;
所述第二缓存服务器,用于根据所述查询请求查询相应的缓存数据,将查询到的缓存数据通过所述第一缓存服务器发送至所述数据处理服务器。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:数据存储服务器;
所述数据存储服务器,用于当所述第二缓存服务器没有查询到缓存数据时,接收所述第二缓存服务器发送的查询请求;根据所述查询请求查询相应的数据,将查询到的数据发送至所述第二缓存服务器;
所述第二缓存服务器,还用于将接收到的数据缓存在本地,并转发至所述第一缓存服务器;
所述第一缓存服务器,还用于将接收到的数据缓存在本地,并转发至所述数据处理服务器。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括:代理服务器;
所述代理服务器,用于接收终端发送的查询请求;根据所述查询请求,从候选数据处理服务器中选择数据处理服务器;将所述查询请求发送至选择的所述数据处理服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811051013.6A CN109446448A (zh) | 2018-09-10 | 2018-09-10 | 数据处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811051013.6A CN109446448A (zh) | 2018-09-10 | 2018-09-10 | 数据处理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109446448A true CN109446448A (zh) | 2019-03-08 |
Family
ID=65533235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811051013.6A Pending CN109446448A (zh) | 2018-09-10 | 2018-09-10 | 数据处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446448A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059023A (zh) * | 2019-04-04 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种刷新级联缓存的方法、系统及设备 |
CN110597739A (zh) * | 2019-06-03 | 2019-12-20 | 上海云盾信息技术有限公司 | 一种配置的管理方法、系统及设备 |
CN111061654A (zh) * | 2019-11-11 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 缓存刷新处理方法及装置和电子设备 |
CN111400578A (zh) * | 2020-03-02 | 2020-07-10 | 金蝶蝶金云计算有限公司 | 货物数据查询方法、装置、计算机设备和存储介质 |
CN111522879A (zh) * | 2020-04-16 | 2020-08-11 | 北京雷石天地电子技术有限公司 | 一种基于缓存的数据分发方法和电子设备 |
CN111782698A (zh) * | 2020-07-03 | 2020-10-16 | 广州探途网络技术有限公司 | 缓存更新方法、装置及电子设备 |
CN112131260A (zh) * | 2020-09-30 | 2020-12-25 | 中国民航信息网络股份有限公司 | 一种数据查询方法及装置 |
US10922236B2 (en) | 2019-04-04 | 2021-02-16 | Advanced New Technologies Co., Ltd. | Cascade cache refreshing |
CN112395316A (zh) * | 2020-11-10 | 2021-02-23 | 杭州萤石软件有限公司 | 一种数据查询方法及装置 |
CN112749192A (zh) * | 2021-01-24 | 2021-05-04 | 武汉卓尔信息科技有限公司 | 一种数据集成服务系统及数据处理方法 |
CN113205666A (zh) * | 2021-05-06 | 2021-08-03 | 广东鹰视能效科技有限公司 | 一种预警方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271557A1 (en) * | 2005-05-25 | 2006-11-30 | Terracotta, Inc. | Database Caching and Invalidation Based on Detected Database Updates |
CN103607312A (zh) * | 2013-11-29 | 2014-02-26 | 广州华多网络科技有限公司 | 用于服务器系统的数据请求处理方法及系统 |
CN106777085A (zh) * | 2016-12-13 | 2017-05-31 | 东软集团股份有限公司 | 一种数据处理方法、装置及数据查询系统 |
CN107562803A (zh) * | 2017-08-08 | 2018-01-09 | 上海数据交易中心有限公司 | 数据供应系统及方法、终端 |
-
2018
- 2018-09-10 CN CN201811051013.6A patent/CN109446448A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271557A1 (en) * | 2005-05-25 | 2006-11-30 | Terracotta, Inc. | Database Caching and Invalidation Based on Detected Database Updates |
CN103607312A (zh) * | 2013-11-29 | 2014-02-26 | 广州华多网络科技有限公司 | 用于服务器系统的数据请求处理方法及系统 |
CN106777085A (zh) * | 2016-12-13 | 2017-05-31 | 东软集团股份有限公司 | 一种数据处理方法、装置及数据查询系统 |
CN107562803A (zh) * | 2017-08-08 | 2018-01-09 | 上海数据交易中心有限公司 | 数据供应系统及方法、终端 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059023B (zh) * | 2019-04-04 | 2020-11-10 | 创新先进技术有限公司 | 一种刷新级联缓存的方法、系统及设备 |
CN110059023A (zh) * | 2019-04-04 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种刷新级联缓存的方法、系统及设备 |
US10922236B2 (en) | 2019-04-04 | 2021-02-16 | Advanced New Technologies Co., Ltd. | Cascade cache refreshing |
CN110597739A (zh) * | 2019-06-03 | 2019-12-20 | 上海云盾信息技术有限公司 | 一种配置的管理方法、系统及设备 |
CN111061654A (zh) * | 2019-11-11 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 缓存刷新处理方法及装置和电子设备 |
CN111400578A (zh) * | 2020-03-02 | 2020-07-10 | 金蝶蝶金云计算有限公司 | 货物数据查询方法、装置、计算机设备和存储介质 |
CN111400578B (zh) * | 2020-03-02 | 2024-04-05 | 金蝶蝶金云计算有限公司 | 货物数据查询方法、装置、计算机设备和存储介质 |
CN111522879A (zh) * | 2020-04-16 | 2020-08-11 | 北京雷石天地电子技术有限公司 | 一种基于缓存的数据分发方法和电子设备 |
CN111522879B (zh) * | 2020-04-16 | 2023-09-29 | 北京雷石天地电子技术有限公司 | 一种基于缓存的数据分发方法和电子设备 |
CN111782698A (zh) * | 2020-07-03 | 2020-10-16 | 广州探途网络技术有限公司 | 缓存更新方法、装置及电子设备 |
CN112131260A (zh) * | 2020-09-30 | 2020-12-25 | 中国民航信息网络股份有限公司 | 一种数据查询方法及装置 |
CN112395316A (zh) * | 2020-11-10 | 2021-02-23 | 杭州萤石软件有限公司 | 一种数据查询方法及装置 |
CN112395316B (zh) * | 2020-11-10 | 2023-08-29 | 杭州萤石软件有限公司 | 一种数据查询方法及装置 |
CN112749192A (zh) * | 2021-01-24 | 2021-05-04 | 武汉卓尔信息科技有限公司 | 一种数据集成服务系统及数据处理方法 |
CN113205666A (zh) * | 2021-05-06 | 2021-08-03 | 广东鹰视能效科技有限公司 | 一种预警方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446448A (zh) | 数据处理方法和系统 | |
CN109815013A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN107943594B (zh) | 数据获取方法和装置 | |
CN108664331B (zh) | 分布式数据处理方法及装置、电子设备、存储介质 | |
CN111464615B (zh) | 请求处理方法、装置、服务器及存储介质 | |
US8826284B1 (en) | Scalable task scheduling | |
CN108595207A (zh) | 一种灰度发布方法、规则引擎、系统、终端和存储介质 | |
CN109586948A (zh) | 更新系统配置数据的方法、装置、计算机设备和存储介质 | |
CN107066570A (zh) | 数据管理方法及装置 | |
CN110781214A (zh) | 数据库读写方法、装置、计算机设备和存储介质 | |
JP2021506033A5 (zh) | ||
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110209681A (zh) | 区块链数据入链方法、装置、计算机设备和存储介质 | |
CN109951323A (zh) | 一种日志分析方法和系统 | |
US20160337470A1 (en) | Method and server for assigning relative order to message by using vector clock and delivering the message based on the assigned relative order under distributed environment | |
CN108777718B (zh) | 一种业务系统通过客户端访问读多写少系统的方法和装置 | |
CN110336848A (zh) | 一种访问请求的调度方法及调度系统、设备 | |
US8868525B2 (en) | Distributed information synchronization | |
CN105096122A (zh) | 一种分片式交易匹配方法和装置 | |
CN110674187A (zh) | 一种全局唯一序列号的生成方法 | |
CN111159233B (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN109358874A (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN110740155A (zh) | 分布式系统中的请求处理方法及装置 | |
CA3151219A1 (en) | Data loading method, device, computer equipment and storage medium | |
CN110019332A (zh) | 一种基于预计算的数据查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |