CN103729247A - 数据获取请求的处理方法、***及服务器 - Google Patents
数据获取请求的处理方法、***及服务器 Download PDFInfo
- Publication number
- CN103729247A CN103729247A CN201210387446.5A CN201210387446A CN103729247A CN 103729247 A CN103729247 A CN 103729247A CN 201210387446 A CN201210387446 A CN 201210387446A CN 103729247 A CN103729247 A CN 103729247A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- acquisition request
- buffer lock
- data acquisition
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据获取请求的处理***,用以解决了缓存服务器中的数据失效而引起的数据源服务器负荷剧增以及处理效率较低的问题。包括:缓存服务器,用于判断接收到的数据获取请求所请求获取的数据是否有效;若无效,将数据获取请求发送给缓存锁服务器;缓存锁服务器,用于接收数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;若不存在,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。本发明还公开一种数据获取请求的处理方法及服务器。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据获取请求的处理方法、***及服务器。
背景技术
数据缓存与并发技术是目前用于解决高性能网站数据库瓶颈的常用技术。其中,数据缓存技术可以实现将数据源服务器磁盘数据库(以下简称数据源服务器数据库)中的数据暂时存储到数据源服务器的缓存空间(或专用于暂时存储数据的缓存服务器)中,这样减少了应用直接从数据源服务器的磁盘中读取数据而带来的访问量,减轻了数据源服务器的负荷。
而数据并发技术是指,在数据处理的业务操作中,当同时有多个用户进行数据的操作请求时,为了保证数据的正确和完整性而对数据操作进行的一种控制处理方式。有了数据并发处理这样的方式,可以使得数据在被不同用户同时修改的时候,能够根据并发处理的模式进行不同的处理。比如,两个用户同时更新某一个订单数据就会引起数据的并发处理,此时为了保持数据的正确性,数据映射会根据设置的数据锁来分别处理。如:可以采取为第一个用户锁住待修改的订单数据,等待该第一个用户对该订单数据更新完毕后,才允许第二个用户对订单数据进行处理。待第二个用户处理的时候,如果发现订单数据发生了变更,则返回错误信息,或者执行基于更新后的订单数据再次进行订单数据的更新操作。
一般地,数据锁有多种模式。比如,LockMode.None模式表示锁的默认值,它的意思是用户直接通过数据源服务器的数据库查询并获取数据,但如果还存在缓存服务器(或数据源服务器的缓存空间),则直接从相应的缓存空间中获取数据。而LockMode.Read模式则表示无论缓存服务器(或数据源服务器的缓存空间)中是否有数据,用户都直接从数据源服务器的数据库中读取数据。
基于上述数据的缓存与并发技术,当数据源服务器中的数据被修改而缓存空间中相应的该数据还未被修改时,缓存空间中的该数据就无效了,此时需要将缓存空间中的该数据清除,然后再重新从数据源服务器数据库中获取相应的修改后的数据存储到缓存空间中。当缓存空间中的数据无效时,数据锁的模式一般会变更为LockMode.Read模式,即变更为直接从数据源服务器的数据库读取数据。由于针对同一失效数据的大量请求会导致直接对数据源服务器的访问,此外,针对其他数据的请求也会直接对数据源服务器进行访问,从而数据源服务器的负荷会剧增,导致数据源服务器的不稳定以及处理效率的降低。
发明内容
本发明实施例提供一种数据获取请求的处理方法、***及服务器,用以解决缓存服务器中的数据失效而引起的数据源服务器负荷剧增以及处理效率较低的问题。
本发明实施例采用以下技术方案:
一种数据获取请求的处理***,包括缓存服务器和缓存锁服务器,其中:
缓存服务器,用于接收数据获取请求;并判断所述数据获取请求所请求获取的数据是否有效;在判断结果为否时,将所述数据获取请求发送给缓存锁服务器;缓存锁服务器,用于接收所述数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;在判断结果为否时,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
一种数据获取请求的处理方法,包括:
缓存服务器接收数据获取请求,并判断所述数据获取请求所请求获取的数据是否有效;在判断结果为否时,缓存服务器将所述数据获取请求发送给缓存锁服务器;缓存锁服务器接收缓存服务器发送的所述数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;在判断结果为否时,缓存锁服务器分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
一种缓存锁服务器,包括:
判断单元,用于接收缓存服务器发送来的数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;处理单元,用于在判断结果为否时,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
一种数据获取请求的处理方法,包括:
缓存锁服务器接收缓存服务器发送来的数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;在判断结果为否时,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
本发明实施例的有益效果如下:
上述数据获取请求的处理方案一方面通过为缓存服务器中的失效数据分配缓存锁,避免了针对同一失效数据的大量请求直接对数据源服务器访问而导致的数据源服务器的负荷剧增以及处理效率较低的问题;另一方面通过将针对失效数据的数据获取请求发送到缓存锁服务器,从而使得针对同一失效数据的大量并发数据获取请求不会在处于等待状态时占用缓存服务器的线程,而是在缓存锁服务器中等待,从而避免了缓存服务器积累大量数据获取请求而导致的缓存服务器的负载较重和处理效率较慢的问题,使该数据获取请求的处理***能够稳定、高效的运行。
附图说明
图1为现有技术中提供的常规的缓存数据失效迁移方案的实现示意图;
图2为现有技术中提供的一种改进的缓存数据失效迁移方案的实现示意图;
图3为本发明实施例提供的一种应用于数据并发处理中的数据获取请求的处理方法的具体流程示意图;
图4为本发明实施例提供的方案在实际中的一个实现流程示意图;
图5为本发明实施例提供的一种数据获取请求的处理***的具体结构示意图;
图6为本发明实施例提供的一种缓存服务器的具体结构示意图;
图7为本发明实施例提供的一种缓存锁服务器的具体结构示意图。
具体实施方式
为了解决缓存服务器中的数据失效而引起的数据源服务器负荷剧增以及处理效率较低的问题,发明人对现有技术中的缓存数据失效迁移方案进行了深入研究。以下结合附图,对现有技术提供的缓存数据失效迁移方案和对其进行的分析研究做具体介绍:
图1为现有技术中常规的缓存数据失效迁移方案的实现示意图。其中,该方案的实现场景包含APP应用端、缓存服务器(例如高速缓冲存储器,Cache)以及数据源服务器。首先,APP应用端向缓存服务器发送数据获取请求;缓存服务器在接收到该请求后,判断与该请求匹配的数据的有效性,比如,由于缓存服务器在保存数据时会将该数据的失效时间(由于数据的失效时间往往是根据数据***作的频度来估计并设置的,因此一般情况下,数据在失效时间到来之前,一般可视为未***作,反之,则可视为***作)也进行保存,因此判断该数据是否有效,就是比较当前时间与该数据的失效时间的关系,若当前时间为2011年1月1日13:00,而该数据的失效时间为2010年1月1日12:00,则判断数据失效,若该数据的失效时间为2011年1月1日14:00,则判断数据有效;当发现该数据有效时,将该数据发送给APP应用端,流程结束;当该数据无效时,缓存服务器向数据源服务器转发该数据获取请求,并获得数据源服务器反馈的更新后的数据;缓存服务器利用更新后的数据对缓存空间中的数据进行更新,并将该更新后的数据发送给APP应用端,流程结束。
上述方案存在的缺陷为:针对同一失效数据的大量请求会导致直接对数据源服务器的访问。此外,针对其他数据的请求也会直接对数据源服务器进行访问,从而使得数据源服务器的负荷剧增,导致数据源服务器的不稳定。
现有技术提供了一种改进的缓存数据失效迁移方案。该方案的具体实现流程示意图如图2所示。首先,APP应用端向缓存服务器发送数据获取请求;缓存服务器在接收到该请求后,判断与该请求匹配的数据的有效性;当发现该数据有效时,将该数据发送给APP应用端,流程结束;当该数据无效时,缓存服务器为针对该数据的数据获取请求分配更新锁。
具体地,缓存服务器一般是为在检测到该数据无效后接收到的针对该数据的第一个数据获取请求分配更新锁。被分配了该更新锁的数据获取请求相当于是获得了访问数据源服务器的权限。缓存服务器通过对数据获取请求是否具备更新锁进行检测,并只允许具备更新锁的数据获取请求访问数据源服务器,从而保证针对相同数据对数据源服务器进行的访问在同一时间只会进行一次,这样就大大减轻了数据源服务器的负荷。
图2所示的方案优点在于,可以缓解缓存空间中单个数据失效瞬间的大量数据获取请求对数据源服务器造成的负载压力。然而,由于失效数据可能较多,而针对失效数据但却没被分配更新锁的数据获取请求又会处于等待状态,这样就会导致积累大量的数据获取请求,从而导致缓存服务器的负载较重,并且,为大量数据获取请求分配更新锁也会耗费较多处理资源。
从现有技术提供的上述方案可知,当缓存空间中的数据失效后,仍然没有一种数据访问方案能够在避免数据库服务器负荷剧增的同时不会增大***的负担。为此,本申请实施例提供一种数据获取请求的处理方案,该方案一方面通过为缓存服务器中的失效数据分配缓存锁,避免了针对同一失效数据的大量请求直接对数据源服务器访问而导致的数据源服务器的负荷剧增以及处理效率较低的问题;另一方面通过将针对失效数据的数据获取请求发送到缓存锁服务器,从而使得针对同一失效数据的大量并发数据获取请求不会在处于等待状态时占用缓存服务器的线程,而是在缓存锁服务器中等待,从而避免了缓存服务器积累大量数据获取请求而导致的缓存服务器的负载较重和处理效率较慢的问题,使该数据获取请求的处理***能够稳定、高效的运行。
以下结合附图,对本发明实施例提供的该方案进行详细说明。
首先,本发明实施例提供一种如图3所示的应用于数据并发处理中的数据获取请求的处理方法,该方法包括以下步骤:
步骤31,缓存服务器接收数据获取请求,并判断该数据获取请求请求获取的数据是否有效,在判断结果为是时,执行步骤32,否则,执行步骤33;
步骤32,将获取的数据发送给发送上述数据获取请求的用户终端,流程结束;
步骤33,将上述数据获取请求发送给缓存锁服务器;
步骤34,缓存锁服务器接收缓存服务器发送的上述数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于上述数据获取请求所请求的数据的缓存锁,在判断结果为是时,执行步骤35,否则,执行步骤36;
本发明实施例中,将数据标识和缓存锁的对应关系存储在缓存锁服务器中,使得当有大量并发的数据获取请求涌进且所请求获取的数据处于无效状态时,这些数据获取请求不会在缓存服务器中排队等待,也不会不停的向缓存服务器请求缓存锁,也就不会占用缓存服务器的空间和处理资源,这样就减小了缓存服务器的负载和压力,使***能够稳定、高效的运行。
步骤35,缓存锁服务器在等待预设时间长度后,将上述数据获取请求发送给缓存服务器,执行步骤31;
本发明实施例中,缓存锁服务器在等待预设时间长度后,将上述数据获取请求发送给缓存服务器后,缓存服务器对该接收到的数据获取请求重新判断其所请求的数据是否处于有效状态。
可选的,步骤35中缓存锁服务器在等待预设时间长度后,可以但不限于直接将上述数据获取请求发送给缓存服务器。也可以采用如下方式进行操作:在等待预设时间长度后,根据自身存储的数据标识和缓存锁的对应关系,再次判断是否存在对应于该数据的缓存锁,在判断结果为是时,再将数据获取请求发送给缓存服务器。基于等待的预设时间长度通常远远大于缓存服务器中该失效数据更新的时间的情况,在缓存锁服务器等待预设时间长度后,缓存服务器中的数据极有可能已经为更新后的有效数据,因此,将上述数据获取请求直接发送给缓存服务器可以最大限度的提高获取数据的效率。
步骤36,缓存锁服务器分配对应于请求的数据的缓存锁,并对应存储该数据的标识和分配的该缓存锁;
步骤37,缓存锁服务器将该数据获取请求发送到数据源服务器
步骤38,数据源服务器将查找到的数据发送给发送该数据获取请求的用户终端。
在本发明实施例中,数据源服务器收到数据获取请求后,查找与该数据获取请求中包含的数据标识相匹配的数据,并将查找到的数据发送给发送该数据获取请求的用户终端;
同时,数据源服务器也将查找到的数据发送给缓存服务器,缓存服务器根据接收到的数据更新相应的失效数据,并向缓存锁服务器发送包含该失效数据的标识的缓存锁删除指令;
缓存锁服务器根据该缓存锁删除指令包含的失效数据的标识,删除存储的该失效数据的标识和相应的缓存锁。
本发明实施例该方案一方面通过为缓存服务器中的失效数据分配缓存锁,避免了针对同一失效数据的大量请求直接对数据源服务器访问而导致的数据源服务器的负荷剧增以及处理效率较低的问题;另一方面通过将针对失效数据的数据获取请求发送到缓存锁服务器,从而使得针对同一失效数据的大量并发数据获取请求不会在处于等待状态时占用缓存服务器的线程,而是在缓存锁服务器中等待,从而避免了缓存服务器积累大量数据获取请求而导致的缓存服务器的负载较重和处理效率较慢的问题,使该数据获取请求的处理***能够稳定、高效的运行。
本申请实施例提供的上述方案在实际中的一个具体应用流程示意图如图4所示,包括以下步骤:
步骤41,APP应用端向缓存服务器发送数据获取请求,该数据获取请求中包含欲获取的数据DA的标识A;
步骤42,缓存服务器根据接收到的数据获取请求判断请求获取的数据DA是否有效,在判断结果为是时,执行步骤43,否则,执行步骤44;
步骤43,将该数据DA发送给APP应用端;
步骤44,缓存服务器将该数据获取请求发送给缓存锁服务器;
步骤45,缓存锁服务器根据接收到的数据获取请求中包含的数据DA的标识A,以及自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于该数据DA的缓存锁A-LOCK,在判断结果为是时,执行步骤46,否则,执行步骤47;
步骤46,缓存锁服务器在等待预设时间长度后,将该数据获取请求发送给缓存服务器,执行步骤42。
步骤47,缓存锁服务器分配对应于该数据DA的缓存锁A-LOCK,并对应存储该数据的标识A和分配的该缓存锁A-LOCK;
步骤48,缓存锁服务器将数据获取请求发送到数据源服务器;
步骤49,数据源服务器查找与该数据获取请求中包含的数据标识A相匹配的数据DA1;
步骤410,数据源服务器将查找到的数据DA1发送给发送该数据获取请求的用户终端;
步骤411,数据源服务器将查找到的数据DA1发送给缓存服务器;
其中,上述步骤411可以在步骤410之前执行,也可以和步骤410同时执行,在此不对该步骤的执行顺序进行限制。
步骤412,缓存服务器根据接收到的数据DA1的标识A,将标识仍为A的失效数据DA更新为DA1;
步骤413,缓存服务器向缓存锁服务器发送包含失效数据DA的标识A(也为更新后的数据DA1的标识)的缓存锁删除指令;
步骤414,缓存锁服务器根据接收到的缓存锁删除指令包含的标识A,删除存储的标识A与相应的缓存锁A-LOCK。
从本申请实施例提供的方案在实际中的上述应用可以看出,其技术效果主要体现在下述几点:
首先,保证了当缓存服务器中的某数据失效时,为接收到的针对该数据的第一个数据获取请求分配一个缓存锁,被分配了缓存锁的数据获取请求相当于获得了数据源服务器的权限,使得针对同一失效数据的其他数据获取请求不会涌进数据源服务器,从而保证了数据源服务器不会受到数据失效瞬间的海量数据获取请求的影响,大大减轻了数据源服务器的负荷,提高了处理效率;
其次,为针对失效数据的第一个数据获取请求分配缓存锁的过程,是通过缓存锁服务器实现的,从而使得针对同一失效数据的大量数据获取请求同时进入缓存服务器的时候,不会占用缓存服务器的线程处于等待状态,而是会在缓存锁服务器中判断该数据被分配缓存锁后进入等待状态,因此,避免了缓存服务器因积累大量数据获取请求而导致负载较重和处理效率较慢的问题,实现了该数据获取***的稳定、高效的运行。
对应于本申请实施例提供的数据获取请求的处理方法,本申请实施例还提供一种数据获取请求的处理***,该***的具体结构示意图如图5所示,包括缓存服务器51、缓存锁服务器52和数据源服务器53。各实体的功能介绍如下:
缓存服务器51,用于接收数据获取请求;并判断该数据获取请求所请求获取的数据是否有效;在判断结果为否时,将该数据获取请求发送给缓存锁服务器52;
缓存锁服务器52,用于接收缓存服务器51发送来的数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于数据获取请求请求获取的数据的缓存锁;在判断结果为否时,分配对应于该数据的缓存锁,并对应存储该数据的标识和分配的该缓存锁,以及将该数据获取请求发送到数据源服务器;在判断结果为是时,在等待预设时间长度后,将该数据获取请求发送给缓存服务器51。
该***还包括:
数据源服务器53,用于获得缓存锁服务器52发送的数据获取请求;查找与该数据获取请求中包含的数据标识相匹配的数据;将查找到的数据发送给缓存服务器51以及发送该数据获取请求的用户终端;
在这种情况下,缓存服务器51还用于:接收数据源服务器53发送的数据;并根据接收到的数据更新相应的失效数据;以及向缓存锁服务器52发送包含上述失效数据的标识的缓存锁删除指令;
缓存锁服务器52还用于:接收缓存服务器51发送的缓存锁删除指令;并根据缓存锁删除指令包含的上述失效数据的标识,删除存储的该失效数据的标识和相应的缓存锁。
相应地,本申请实施例还提供一种缓存服务器,该缓存服务器的具体结构示意图如图6所示,包括以下单元:
判断单元61,用于接收数据获取请求,判断该数据获取请求所请求获取的数据是否有效;
发送单元62,用于在判断单元61的判断结果为否时,将该数据获取请求发送给缓存锁服务器;
在数据源服务器将查找到数据发送给缓存服务器时,该缓存服务器还包括:
更新单元63,用于接收数据源服务器发送的数据,并根据接收到的数据更新相应的失效数据;
在这种场景下,发送单元62,还用于向缓存锁服务器发送包含上述失效数据的标识的缓存锁删除指令。
相应地,本申请实施例还提供一种缓存锁服务器,该缓存锁服务器的具体结构示意图如图7所示,包括以下单元:
判断单元71,用于接收缓存服务器发送来的数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于数据获取请求请求获取的数据的缓存锁;
处理单元72,用于在判断结果为否时,分配对应于上述数据的缓存锁,并对应存储该数据的标识和分配的该缓存锁,以及将该数据获取请求发送到数据源服务器;以及在判断结果为是时,在等待预设时间长度后,将上述数据获取请求发送给缓存服务器;
当缓存服务器中的失效数据更新后,该缓存锁服务器还包括:
删除单元73,用于接收缓存服务器发送的缓存锁删除指令,并根据缓存锁删除指令包含的失效数据的标识,删除存储的该失效数据的标识和相应的缓存锁。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种数据获取请求的处理***,包括缓存服务器,其特征在于,还包括缓存锁服务器,其中:
缓存服务器,用于接收数据获取请求;并判断所述数据获取请求所请求获取的数据是否有效;在判断结果为否时,将所述数据获取请求发送给缓存锁服务器;
缓存锁服务器,用于接收所述数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;在判断结果为否时,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
2.如权利要求1所述的***,其特征在于,还包括:
数据源服务器,用于获得所述缓存锁服务器发送的所述数据获取请求;查找与所述数据获取请求中包含的数据标识相匹配的数据;将查找到的数据发送给缓存服务器;则
所述缓存服务器还用于:接收数据源服务器发送的数据;并根据接收到的数据更新相应的失效数据;以及向所述缓存锁服务器发送包含所述失效数据的标识的缓存锁删除指令;以及
所述缓存锁服务器还用于:接收所述缓存服务器发送的缓存锁删除指令;并根据缓存锁删除指令包含的所述失效数据的标识,删除存储的所述失效数据的标识和相应的缓存锁。
3.如权利要求2所述的***,其特征在于,所述缓存锁服务器还用于:
在判断出存在对应于所述数据的缓存锁时,在等待预设时间长度后,将所述数据获取请求发送给所述缓存服务器。
4.如权利要求2所述的***,其特征在于,所述数据源服务器还用于:将查找到的数据发送给发送所述数据获取请求的用户终端。
5.一种数据获取请求的处理方法,其特征在于,包括:
缓存服务器接收数据获取请求,并判断所述数据获取请求所请求获取的数据是否有效;
在判断结果为否时,缓存服务器将所述数据获取请求发送给缓存锁服务器;
缓存锁服务器接收缓存服务器发送的所述数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;
在判断结果为否时,缓存锁服务器分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
6.如权利要求5所述的方法,其特征在于,还包括:
数据源服务器获得所述缓存锁服务器发送的所述数据获取请求;
数据源服务器查找与所述数据获取请求中包含的数据标识相匹配的数据,将查找到的数据发送给缓存服务器;
缓存服务器根据接收到的数据更新相应的失效数据,并向所述缓存锁服务器发送包含所述失效数据的标识的缓存锁删除指令;
缓存锁服务器根据接收的缓存锁删除指令包含的所述失效数据的标识,删除存储的所述失效数据的标识和相应的缓存锁。
7.如权利要求6所述的方法,其特征在于,还包括:
缓存锁服务器在判断出存在对应于所述数据的缓存锁时,在等待预设时间长度后,将所述数据获取请求发送给所述缓存服务器。
8.如权利要求6所述的方法,其特征在于,数据源服务器将查找到的数据发送给缓存服务器之后,所述方法还包括:数据源服务器将查找到的数据发送给发送所述数据获取请求的用户终端。
9.一种缓存锁服务器,其特征在于,包括:
判断单元,用于接收缓存服务器发送来的数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;
处理单元,用于在判断结果为否时,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
10.如权利要求9所述的缓存锁服务器,其特征在于,还包括:
删除单元,用于接收缓存服务器发送的缓存锁删除指令,并根据缓存锁删除指令包含的所述失效数据的标识,删除存储的所述失效数据的标识和相应的缓存锁。
11.如权利要求9所述的缓存锁服务器,其特征在于,所述处理单元还用于:
在判断出存在对应于所述数据的缓存锁时,在等待预设时间长度后,将所述数据获取请求发送给所述缓存服务器。
12.一种数据获取请求的处理方法,其特征在于,包括:
缓存锁服务器接收缓存服务器发送来的数据获取请求,并根据自身存储的数据标识和缓存锁的对应关系,判断是否存在对应于所述数据的缓存锁;
在判断结果为否时,分配对应于所述数据的缓存锁,并对应存储所述数据的标识和分配的该缓存锁,以及将所述数据获取请求发送到数据源服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210387446.5A CN103729247B (zh) | 2012-10-12 | 2012-10-12 | 数据获取请求的处理方法、***及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210387446.5A CN103729247B (zh) | 2012-10-12 | 2012-10-12 | 数据获取请求的处理方法、***及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729247A true CN103729247A (zh) | 2014-04-16 |
CN103729247B CN103729247B (zh) | 2017-04-12 |
Family
ID=50453330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210387446.5A Active CN103729247B (zh) | 2012-10-12 | 2012-10-12 | 数据获取请求的处理方法、***及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729247B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270431A (zh) * | 2014-09-22 | 2015-01-07 | 广州华多网络科技有限公司 | 一种并发控制的方法及装置 |
CN104601675A (zh) * | 2014-12-29 | 2015-05-06 | 小米科技有限责任公司 | 一种服务器负载均衡的方法及装置 |
CN105138587A (zh) * | 2015-07-31 | 2015-12-09 | 小米科技有限责任公司 | 数据访问方法、装置和*** |
CN105488208A (zh) * | 2015-12-11 | 2016-04-13 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
CN105871960A (zh) * | 2015-01-22 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 调用数据共享的方法、装置及设备 |
CN106453500A (zh) * | 2016-09-07 | 2017-02-22 | 努比亚技术有限公司 | 缓存生成及控制方法、缓存服务器及接口服务器 |
CN107038174A (zh) * | 2016-02-04 | 2017-08-11 | 北京京东尚科信息技术有限公司 | 用于数据***的数据同步方法和装置 |
CN107943594A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 数据获取方法和装置 |
CN107992489A (zh) * | 2016-10-26 | 2018-05-04 | 腾讯科技(北京)有限公司 | 一种数据处理方法及服务器 |
CN111127706A (zh) * | 2019-11-28 | 2020-05-08 | 深圳指芯物联技术有限公司 | 智能锁控制方法、智能锁、云服务器及计算设备 |
CN111506403A (zh) * | 2020-04-03 | 2020-08-07 | 北京声智科技有限公司 | 一种多服务处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220976A1 (en) * | 2003-04-29 | 2004-11-04 | International Business Machines Corporation | Managing access to objects of a computing environment |
CN101090401A (zh) * | 2007-05-25 | 2007-12-19 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及*** |
CN101257485A (zh) * | 2007-03-02 | 2008-09-03 | 华为技术有限公司 | web应用***及方法 |
CN101714993A (zh) * | 2009-12-02 | 2010-05-26 | 中国电信股份有限公司 | 一种p2p验证***、方法和boss服务器 |
CN101945103A (zh) * | 2010-08-09 | 2011-01-12 | 中国电子科技集团公司第五十四研究所 | Ip网络应用加速*** |
US20110225373A1 (en) * | 2010-03-11 | 2011-09-15 | Hitachi, Ltd. | Computer system and method of data cache management |
-
2012
- 2012-10-12 CN CN201210387446.5A patent/CN103729247B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040220976A1 (en) * | 2003-04-29 | 2004-11-04 | International Business Machines Corporation | Managing access to objects of a computing environment |
CN101257485A (zh) * | 2007-03-02 | 2008-09-03 | 华为技术有限公司 | web应用***及方法 |
CN101090401A (zh) * | 2007-05-25 | 2007-12-19 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及*** |
CN101714993A (zh) * | 2009-12-02 | 2010-05-26 | 中国电信股份有限公司 | 一种p2p验证***、方法和boss服务器 |
US20110225373A1 (en) * | 2010-03-11 | 2011-09-15 | Hitachi, Ltd. | Computer system and method of data cache management |
CN101945103A (zh) * | 2010-08-09 | 2011-01-12 | 中国电子科技集团公司第五十四研究所 | Ip网络应用加速*** |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270431B (zh) * | 2014-09-22 | 2018-08-17 | 广州华多网络科技有限公司 | 一种并发控制的方法及装置 |
CN104270431A (zh) * | 2014-09-22 | 2015-01-07 | 广州华多网络科技有限公司 | 一种并发控制的方法及装置 |
CN104601675A (zh) * | 2014-12-29 | 2015-05-06 | 小米科技有限责任公司 | 一种服务器负载均衡的方法及装置 |
CN105871960B (zh) * | 2015-01-22 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 调用数据共享的方法、装置及设备 |
CN105871960A (zh) * | 2015-01-22 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 调用数据共享的方法、装置及设备 |
CN105138587A (zh) * | 2015-07-31 | 2015-12-09 | 小米科技有限责任公司 | 数据访问方法、装置和*** |
CN105488208A (zh) * | 2015-12-11 | 2016-04-13 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
CN105488208B (zh) * | 2015-12-11 | 2019-03-08 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
CN107038174A (zh) * | 2016-02-04 | 2017-08-11 | 北京京东尚科信息技术有限公司 | 用于数据***的数据同步方法和装置 |
CN107038174B (zh) * | 2016-02-04 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 用于数据***的数据同步方法和装置 |
CN106453500A (zh) * | 2016-09-07 | 2017-02-22 | 努比亚技术有限公司 | 缓存生成及控制方法、缓存服务器及接口服务器 |
CN106453500B (zh) * | 2016-09-07 | 2020-02-11 | 努比亚技术有限公司 | 缓存生成及控制方法、缓存服务器及接口服务器 |
CN107943594A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 数据获取方法和装置 |
CN107943594B (zh) * | 2016-10-13 | 2021-11-12 | 北京京东尚科信息技术有限公司 | 数据获取方法和装置 |
CN107992489A (zh) * | 2016-10-26 | 2018-05-04 | 腾讯科技(北京)有限公司 | 一种数据处理方法及服务器 |
CN111127706A (zh) * | 2019-11-28 | 2020-05-08 | 深圳指芯物联技术有限公司 | 智能锁控制方法、智能锁、云服务器及计算设备 |
CN111506403A (zh) * | 2020-04-03 | 2020-08-07 | 北京声智科技有限公司 | 一种多服务处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103729247B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729247A (zh) | 数据获取请求的处理方法、***及服务器 | |
CN102779132B (zh) | 数据更新方法、***及数据库服务器 | |
CN109684307B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN103814362B (zh) | 用于分布式kvs***的处理方法和*** | |
US9430668B2 (en) | Seamless upgrade for network system | |
CN101930472A (zh) | 一种支持分布式数据库基于并行查询的方法 | |
JP2009294695A (ja) | トランザクション並行制御方法、データベース管理システム、およびプログラム | |
US20190102309A1 (en) | Nv cache | |
CN107153643B (zh) | 数据表连接方法及装置 | |
US20220058076A1 (en) | Optimizing logging of decision outcomes in distributed transactions | |
KR101634403B1 (ko) | 공유 디스크 데이터베이스 시스템에서 락 통신들을 감소시키기 위한 접근 방법들 | |
CN112162846B (zh) | 事务处理方法、设备及计算机可读存储介质 | |
CN113420052B (zh) | 一种多级分布式缓存***及方法 | |
CN103959275A (zh) | 动态进程/对象范围的存储器关联性调整器 | |
CN104657158A (zh) | 一种业务***中业务处理的方法和装置 | |
US11018860B2 (en) | Highly available and reliable secret distribution infrastructure | |
US9170837B2 (en) | Transaction concurrent execution control system, method and program for carrying out a control of concurrently executing a transaction, including measuring execution time from starting to ending of transaction execution | |
US20230325376A1 (en) | Concurrent transactions consistency in database systems | |
CN111651374A (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
CN102779088A (zh) | 事务处理设备、事务处理方法及事务处理程序 | |
CN103513956A (zh) | 一种处理器处理数据的方法以及装置 | |
CN102024051B (zh) | 分布式内存数据库数据更新方法 | |
CN101557390A (zh) | 一种灵活运用缓存技术来提高***性能的方法 | |
CN110781137A (zh) | 分布式***的目录读取方法、装置、服务器和存储介质 | |
CN109165078B (zh) | 一种虚拟分布式服务器及其访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |