CN111414383A - 数据请求方法、数据处理系统及计算设备 - Google Patents
数据请求方法、数据处理系统及计算设备 Download PDFInfo
- Publication number
- CN111414383A CN111414383A CN202010108921.5A CN202010108921A CN111414383A CN 111414383 A CN111414383 A CN 111414383A CN 202010108921 A CN202010108921 A CN 202010108921A CN 111414383 A CN111414383 A CN 111414383A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- target data
- target
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013500 data storage Methods 0.000 claims abstract description 76
- 230000032683 aging Effects 0.000 claims description 47
- 238000003860 storage Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 abstract description 12
- 230000000149 penetrating effect Effects 0.000 abstract description 7
- 238000004904 shortening Methods 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据请求方法,包括:判断第一缓存中是否存在目标数据;若第一缓存中存在目标数据,则从第一缓存中获取该目标数据;若第一缓存中不存在目标数据,则通过异步方式向数据存储设备请求获取目标数据、以便将所获取的目标数据保存到第一缓存和第二缓存中,同时判断第二缓存中是否存在目标数据;若第二缓存中存在目标数据,则从第二缓存中获取该目标数据;以及若第二缓存中不存在目标数据,则从所述数据存储设备获取目标数据,并将所获取的目标数据保存到第一缓存和第二缓存中。本发明还一并公开了相应的数据处理系统和计算设备。本发明的数据请求方法,能够避免在请求数据时直接穿透数据存储设备,有利于缩短请求数据时的响应时长。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种数据请求方法、数据处理系统及计算设备。
背景技术
现有技术中,在通过接口请求获取数据时,一般是直接读取数据库中的数据,或者直接读取Redis缓存里的数据。虽然直接读取缓存数据的响应时间不长,但是在缓存失效时,需要穿透读取数据库,导致响应时长过长。而且,上述方式容易出现缓存中的大量数据同时失效的情况,这样,当多个数据请求同时穿透数据库时很容易导致雪崩,甚至有可能使数据库垮掉。
另外,还有一种请求获取数据的方式,通过启动定时加工任务的服务,预先批量获取数据库中的数据并存储到缓存中,然后通过接口直接读取缓存中的数据。一方面,这种方式依赖于定时加工服务,当服务出问题时会造成数据丢失。另一方面,这种方式由于基础数据过多,且加工时长不可控制,加工到的数据很有可能并没有接口访问,容易造成较多的资源浪费。
为此,需要一种数据请求方法来解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种数据请求方法和数据处理系统,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种数据请求方法,在计算设备中执行来请求获取目标数据,所述计算设备包括第一缓存和第二缓存,所述第一缓存的缓存时效短于所述第二缓存的缓存时效,所述方法包括:判断第一缓存中是否存在目标数据;若第一缓存中存在目标数据,则从第一缓存中获取该目标数据;若第一缓存中不存在目标数据,则通过异步方式向数据存储设备请求获取目标数据、以便将所获取的目标数据保存到第一缓存和第二缓存中,同时判断第二缓存中是否存在目标数据;若第二缓存中存在目标数据,则从第二缓存中获取该目标数据;以及若第二缓存中不存在目标数据,则从所述数据存储设备获取目标数据,并将所获取的目标数据保存到第一缓存和第二缓存中。
可选地,在根据本发明的数据请求方法中,通过异步方式向数据存储设备请求获取目标数据的步骤包括:将数据请求添加到消息队列中,所述消息队列包括一个或者多个数据请求;以及从所述消息队列中获取一个数据请求,并根据该数据请求向数据存储设备请求获取目标数据。
可选地,在根据本发明的数据请求方法中,在将目标数据存储到第一缓存中之后,还包括步骤:为该目标数据设置第一缓存时效,以便在该目标数据存储时间超过所述第一缓存时效后,从第一缓存中删除该目标数据。
可选地,在根据本发明的数据请求方法中,在将目标数据存储到第二缓存中之后,还包括步骤:为该目标数据设置第二缓存时效,以便在该目标数据存储时间超过所述第二缓存时效后,从第二缓存中删除该目标数据。
可选地,在根据本发明的数据请求方法中,所述第二缓存时效与第一缓存时效的差值大于异步处理数据请求的时间。
可选地,在根据本发明的数据请求方法中,在判断第一缓存中是否存在目标数据之前,还包括步骤:接收客户端发送的获取目标数据的请求。
可选地,在根据本发明的数据请求方法中,在获取目标数据后,还包括步骤:将所述目标数据发送至所述客户端。
根据本发明的一个方面,提供了一种数据处理系统,包括:第一缓存,适于以第一缓存时效保存数据;第二缓存,适于以第二缓存失效保存数据,所述第二缓存时效长于所述第一缓存时效;数据存储设备,适于存储数据;以及数据处理设备,与第一缓存、第二缓存、数据存储设备连接,适于在第一缓存中存在目标数据时,从第一缓存中获取该目标数据,在第一缓存中不存在目标数据,通过异步方式向所述数据存储设备请求获取目标数据、以便将所获取的目标数据保存到第一缓存和第二缓存中,同时判断第二缓存中是否存在目标数据;并在第二缓存中存在目标数据时,从第二缓存中获取该目标数据,在第二缓存中不存在目标数据时,从所述数据存储设备获取目标数据,并将所获取的目标数据保存到第一和第二缓存中。
可选地,在根据本发明的数据处理系统中,还包括:异步处理装置,与所述数据处理设备连接,所述数据处理设备适于通过异步处理装置向所述数据存储设备异步发送获取目标数据的请求;所述异步处理装置包括消息队列和消息处理单元,所述异步处理装置适于将数据请求添加到消息队列中,所述消息队列包括一个或者多个数据请求;所述消息处理单元适于从所述消息队列中获取一个数据请求,并根据该数据请求向数据存储设备请求获取目标数据。
可选地,在根据本发明的数据处理系统中,所述数据处理设备适于在将目标数据存储到第一缓存中之后,为该目标数据设置第一缓存时效,并在该目标数据存储时间超过所述第一缓存时效后,从第一缓存中删除该目标数据。
可选地,在根据本发明的数据处理系统中,所述数据处理设备还适于在将目标数据存储到第二缓存中之后,为该目标数据设置第二缓存时效,并在该目标数据存储时间超过所述第二缓存时效后,从第二缓存中删除该目标数据。
可选地,在根据本发明的数据处理系统中,所述第二缓存时效与第一缓存时效的差值大于异步处理数据请求的时间。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的数据请求方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
根据本发明的技术方案,提供了一种数据请求方法,通过先向短效缓存请求获取目标数据,在短效缓存中不存在目标数据时,在向长效缓存请求获取目标数据的同时,还异步向数据存储设备请求获取目标数据。这样,在第一缓存、第二缓存中均不存在目标数据的情况下,并不会直接穿透数据存储设备,而是会基于之前的异步数据请求来从数据存储设备获取目标数据。从而,能避免直接穿透数据存储设备获取目标数据而导致数据响应时间过长的问题。
进一步地,在通过异步数据请求从数据存储设备获取目标数据之后,还将所获取的目标数据保存到第一缓存和第二缓存中。这样,不仅避免了直接穿透数据存储设备获取目标数据的情况,而且,当后续再次请求该目标数据时,便可以直接从第一缓存或第二缓存中获取目标数据,从而缩短数据请求时间。
此外,根据本发明的技术方案,由于不同的数据请求一般不是同时进行的,故,将基于不同的数据请求从数据存储设备中获取的目标数据存储到第一缓存、第二缓存中的时间节点也不尽相同,从而,避免了缓存中的大量数据因缓存时效相同而同时失效的情况,防止因大量数据请求同时穿透数据存储设备而导致雪崩。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的数据处理系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;以及
图3示出了根据本发明一个实施例的数据请求方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的数据处理系统100的示意图。如图1所示,数据处理系统100包括数据处理设备200、第一缓存110、第二缓存120、数据存储设备140以及客户端150。其中,客户端150与数据处理设备200通过有线或无线的方式网络连接,并且数据处理设备200可以接收客户端150发送的获取目标数据的请求。进而,数据处理设备200根据客户端150的请求,从第一缓存110、第二缓存120或者数据存储设备140中获取目标数据,以便将获取的目标数据返回给客户端150。
客户端150即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。
数据处理设备200用于向客户端150提供数据请求服务,其可以实现为现有技术中的任何一种能够实现数据处理的服务器,这里,本发明对数据处理设备200的具体种类不作限制。
数据存储设备140用于存储数据,本发明对数据存储设备140的具体部署、配置情况不做限制。例如,数据存储设备140可以是关系型数据库,例如MySQL等,也可以是非关系型数据库例如NoSQL等;可以是驻留于数据处理设备200中的本地数据库,也可以作为分布式数据库例如HBase等设置于多个地理位置处。
在本发明的实施例中,数据处理设备200与数据存储设备140连接,以便获取数据存储设备140中所存储的数据。这里,本发明不限制数据处理设备200与数据存储设备140的具体连接方式。在一个实施例中,数据处理设备200可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储设备140中的数据。另外,数据存储设备140也可以是数据处理设备200的本地数据库,这样,数据处理设备200可以直接读取数据存储设备140中的数据。
在一个实施例中,第一缓存110、第二缓存120例如是Redis缓存,但不限于此。数据处理设备200与第一缓存110、第二缓存120连接,从而数据处理设备200可以将从数据处理设备200中获取的数据存储到第一缓存110和第二缓存120中。这样,在后续数据处理设备200再次请求该数据时,便可以直接从第一缓存110或第二缓存120中获取数据,从而缩短数据请求时间。这里,数据处理设备200可以通过有线或无线的方式接入互联网,并通过数据接口与第一缓存110、第二缓存120连接。另外,第一缓存110、第二缓存120也可以驻留在数据处理设备200中。
在一个实施例中,第一缓存110对数据进行短效缓存,第二缓存120对数据进行长效缓存,换言之,第一缓存110的缓存时效短于第二缓存120的缓存时效。例如,第一缓存110以第一缓存时效保存数据,当数据在第一缓存110中的存储时间超过第一缓存时效时,便从第一缓存110中删除该数据(失效)。第二缓存120以第二缓存时效保存数据,当数据在第二缓存120中的存储时间超过第二缓存时效时,便从第二缓存120中删除该数据(失效)。这里,第一缓存时效短于第二缓存时效,本发明对第一缓存时效、第二缓存时效的时长不做具体限制,本领域技术人员可以根据实际应用自行设置。
在本发明的实施例中,数据处理设备200适于执行数据请求方法。本发明的数据请求方法将在下文中详述。
在一个实施例中,在确定第一缓存110中存在目标数据时,数据处理设备200可以直接从第一缓存110中获取该目标数据。在确定第二缓存120中存在目标数据时,数据处理设备200可以直接从第二缓存120中获取该目标数据。
在一个实施例中,在第一缓存110中不存在目标数据时,数据处理设备200会通过异步方式向数据存储设备140请求获取目标数据,以便将所获取的目标数据保存到第一缓存110和第二缓存120中,并同时判断第二缓存120中是否存在目标数据。在确定第二缓存120中存在目标数据时,数据处理设备200直接从第二缓存120中获取该目标数据。
在第二缓存120中不存在目标数据时,数据处理设备200会根据之前的异步数据请求从数据存储设备140中获取目标数据,并将所获取的目标数据保存到第一缓存和第二缓存中。
在一个实施例中,数据处理系统100还包括异步处理装置130,数据处理设备200与异步处理装置130连接,异步处理装置130还与数据存储设备140连接。这样,数据处理设备200可以通过异步处理装置向数据存储设备140异步发送获取目标数据的请求。这里,本发明不限制数据处理设备200、数据存储设备140与异步处理装置130的具体连接方式。在一个实施例中,数据处理设备200、数据存储设备140分别可以通过有线或无线的方式与异步处理装置130连接。另外,异步处理装置130也可以驻留在数据处理设备200中。
进一步地,在第一缓存中不存在目标数据时,异步处理装置130可以将从数据存储设备获取目标数据的数据请求添加到消息队列中,消息队列中可以存放一个或者多个数据请求。具体而言,异步处理装置130包括消息生产者、消息队列和消息消费者,通过消息生产者将数据请求添加到消息队列中,进而,异步处理装置130的消息消费者根据消息队列中的数据请求的顺序从消息队列中获取一个数据请求,根据该数据请求来向数据存储设备请求获取目标数据。
在一个实施例中,本发明的数据处理设备200可以实现为一种计算设备,使得本发明的数据请求方法可以在计算设备中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括执行数据请求方法300的多条程序指令,这些程序指令可以指示处理器104执行本发明的数据请求方法300,以便计算设备200通过执行本发明的数据请求方法300来请求获取数据。
图3示出了根据本发明一个实施例的数据请求方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。应当指出,本发明的数据请求方法300可以应用于各种各样的数据的请求和获取,本发明的技术方案并不限制应用的具体场景以及所请求数据的具体种类。如图3所示,数据请求方法300包括步骤S310~S350。
在本发明的实施例中,计算设备包括第一缓存和第二缓存,且第一缓存的缓存时效短于第二缓存的缓存时效。这里,本发明对第一缓存时效、第二缓存时效的时长不做具体限制,本领域技术人员可以根据实际应用自行设置。
首先,在步骤S310中,判断第一缓存中是否存在目标数据。
随后,在步骤S320中,若第一缓存中存在目标数据,则从第一缓存中获取该目标数据。
随后,在步骤S330中,若第一缓存中不存在目标数据,则计算设备通过异步方式向数据存储设备请求获取目标数据、以便将所获取的目标数据保存到第一缓存和第二缓存中,并且同时判断第二缓存中是否存在目标数据。也就是说,在确定第一缓存中不存在目标数据时,计算设备在向第二缓存请求获取目标数据的同时,还通过异步方式向数据存储设备请求获取目标数据。这样,在第二缓存中也不存在目标数据的情况下,并不会直接穿透数据存储设备,而是会基于之前的异步数据请求来从数据存储设备获取目标数据。从而,能避免直接穿透数据存储设备获取目标数据而导致数据响应时间过长的问题。
具体地,在步骤S340中,若第二缓存中存在目标数据,则从第二缓存中获取该目标数据。
在步骤S350中,若第二缓存中不存在目标数据,则计算设备根据在步骤S330中向数据存储设备发送的异步数据请求来从数据存储设备获取目标数据。并且,计算设备将所获取的目标数据保存到第一缓存和第二缓存中。这样,不仅避免了直接穿透数据存储设备获取目标数据的情况,而且,当后续再次请求该目标数据时,便可以直接从第一缓存或第二缓存中获取目标数据,从而缩短数据请求时间。此外,由于不同的数据请求一般不是同时进行的,故,将基于不同的数据请求从数据存储设备中获取的目标数据存储到第一缓存、第二缓存中的时间节点一般也不同,从而避免了缓存中的大量数据因缓存时效相同时失效的情况,防止因大量数据请求同时穿透数据存储设备而导致雪崩。
根据一个实施例,第二缓存时效与第一缓存时效的差值大于异步处理数据请求的时间。这里,为了避免在第二缓存中的目标数据失效后,异步处理数据请求还未完成、异步数据请求还未触发数据存储设备,导致计算设备从第二缓存中获取目标数据失败后,直接穿透数据存储设备获取目标数据。
需要说明的是,通过设置第二缓存时效远大于第一缓存时效,保证在大部分情况下,当第一缓存中的目标数据失效时,能够从第二缓存中获取到该目标数据,尽可能避免从数据存储设备中获取目标数据,从而尽可能缩短数据响应时长。而且,由于第一缓存中的目标数据失效已经触发了向数据存储设备请求目标数据的异步数据请求,在目标数据的第二缓存时效远大于第一缓存时效的情况下,能保证在第二缓存中的目标数据还未失效时,基于异步数据请求从数据存储设备获取的目标数据已经存储到第一缓存中,再次实现第一缓存和第二缓存中均存储有目标数据。这样,在下次请求该目标数据时,便可以从第一缓存中直接获取。
应当理解,根据本发明设置第一缓存、第二缓存的两级缓存方案,通过设置第二缓存时效远大于第一缓存时效,能够保证在大部分情况下所请求的目标数据均可以从第一缓存或第二缓存中获取。即使,第一缓存、第二缓存中的目标数据均失效,由于第一缓存中的目标数据失效已经提前触发了向数据存储设备请求目标数据的异步数据请求,相比于在第二缓存失效时直接穿透数据存储设备获取目标数据,也缩减了数据响应时长。
在一种实施方式中,例如在付费会员请求权益说明时,可以设置第一缓存时效为10分钟,第二缓存时效为24小时。这里,第一缓存时效的设置是基于权益说明的运营后台变更之后距离生效最多可容忍的时长。也就是说,第一缓存的缓冲时效值是根据具体数据请求的容忍度来确定。
在上述实施方式中,如果是从第一缓存中获取到目标数据,则数据响应时间可达到20ms以内。如果是从第二缓存中获取到目标数据,则数据响应时间可达到50ms以内。在第一缓存中的目标数据失效而触发异步数据请求时,异步处理数据请求的时间约为100ms。应当理解,在实际请求数据过程中,基于本发明的技术方案,通过设置第二缓存时效远大于第一缓存时效,能使大部分数据请求均可以从第一缓存或第二缓存中获取目标数据,数据响应时间可保持在50ms以内。而直接穿透数据存储设备获取数据的时长至少在150ms以上,从而,根据本发明的技术方案,能够大大缩短数据响应时长,提升用户体验。
根据一个实施例,通过异步方式向数据存储设备请求获取目标数据可以通过异步处理装置来实现。具体地,异步处理装置包括消息生产者、消息队列和消息消费者。在具体实施过程中,在第一缓存中不存在目标数据时,计算设备通过异步处理装置中的消息生产者将从数据存储设备获取目标数据的数据请求添加到消息队列中,消息队列中可以存放一个或者多个数据请求,且各个数据请求根据添加到消息队列时的时间节点排列。进而,由异步处理装置的消息消费者根据基于消息队列中的数据请求的顺序从消息队列中获取一个数据请求,根据该数据请求来向数据存储设备请求获取目标数据。
根据一个实施例,在将从数据存储设备中获取的目标数据存储到第一缓存中之后,还为该目标数据设置第一缓存时效,以便在该目标数据存储时间超过第一缓存时效后,从第一缓存中删除该目标数据。在将从数据存储设备中获取的目标数据存储到第二缓存中之后,还为该目标数据设置第二缓存时效,以便在该目标数据存储时间超过第二缓存时效后,从第二缓存中删除该目标数据。
也就是说,第一缓存以第一缓存时效保存数据,当数据在第一缓存中的存储时间超过第一缓存时效时,便从第一缓存中删除该失效的数据。第二缓存以第二缓存时效保存数据,当数据在第二缓存中的存储时间超过第二缓存时效时,便从第二缓存中删除该失效的数据。这里,第一缓存时效短于第二缓存时效。应当指出,本发明对第一缓存时效、第二缓存时效的具体时长不做限制,本领域技术人员可以根据实际应用自行设置。
根据一个实施例,计算设备是根据用户的请求来请求获取目标数据,也就是说,在计算设备判断第一缓存中是否存在目标数据之前,还接收客户端发送的获取目标数据的请求。并且,在从第一缓存、第二缓存或者数据存储设备中获取目标数据后,将获取的目标数据返回给客户端,从而客户端得到数据响应。
A6、如A1-A5任一项所述的数据请求方法,其中,在判断第一缓存中是否存在目标数据之前,还包括步骤:接收客户端发送的获取目标数据的请求。
A7、如A6所述的数据请求方法,其中,在获取目标数据后,还包括步骤:将所述目标数据发送至所述客户端。
B11、如B8-B10任一项所述的数据处理系统,其中:所述数据处理设备还适于在将目标数据存储到第二缓存中之后,为该目标数据设置第二缓存时效,并在该目标数据存储时间超过所述第二缓存时效后,从第二缓存中删除该目标数据。
B12、如B8-B11任一项所述的数据处理系统,其中:所述第二缓存时效与第一缓存时效的差值大于异步处理数据请求的时间。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的多语言垃圾文本的识别方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种数据请求方法,在计算设备中执行来请求获取目标数据,所述计算设备包括第一缓存和第二缓存,所述第一缓存的缓存时效短于所述第二缓存的缓存时效,所述方法包括:
判断第一缓存中是否存在目标数据;
若第一缓存中存在目标数据,则从第一缓存中获取该目标数据;
若第一缓存中不存在目标数据,则通过异步方式向数据存储设备请求获取目标数据、以便将所获取的目标数据保存到第一缓存和第二缓存中,同时判断第二缓存中是否存在目标数据;
若第二缓存中存在目标数据,则从第二缓存中获取该目标数据;以及
若第二缓存中不存在目标数据,则从所述数据存储设备获取目标数据,并将所获取的目标数据保存到第一缓存和第二缓存中。
2.如权利要求1所述的数据请求方法,其中,通过异步方式向数据存储设备请求获取目标数据的步骤包括:
将数据请求添加到消息队列中,所述消息队列包括一个或者多个数据请求;以及
从所述消息队列中获取一个数据请求,并根据该数据请求向数据存储设备请求获取目标数据。
3.如权利要求1或2所述的数据请求方法,其中,在将目标数据存储到第一缓存中之后,还包括步骤:
为该目标数据设置第一缓存时效,以便在该目标数据存储时间超过所述第一缓存时效后,从第一缓存中删除该目标数据。
4.如权利要求1-3任一项所述的数据请求方法,其中,在将目标数据存储到第二缓存中之后,还包括步骤:
为该目标数据设置第二缓存时效,以便在该目标数据存储时间超过所述第二缓存时效后,从第二缓存中删除该目标数据。
5.如权利要求1-4任一项所述的数据请求方法,其中:
所述第二缓存时效与第一缓存时效的差值大于异步处理数据请求的时间。
6.一种数据处理系统,包括:
第一缓存,适于以第一缓存时效保存数据;
第二缓存,适于以第二缓存失效保存数据,所述第二缓存时效长于所述第一缓存时效;
数据存储设备,适于存储数据;以及
数据处理设备,与第一缓存、第二缓存、数据存储设备连接,适于在第一缓存中存在目标数据时,从第一缓存中获取该目标数据,在第一缓存中不存在目标数据,通过异步方式向所述数据存储设备请求获取目标数据、以便将所获取的目标数据保存到第一缓存和第二缓存中,同时判断第二缓存中是否存在目标数据;并在第二缓存中存在目标数据时,从第二缓存中获取该目标数据,在第二缓存中不存在目标数据时,从所述数据存储设备获取目标数据,并将所获取的目标数据保存到第一和第二缓存中。
7.如权利要求6所述的数据处理系统,其中,还包括:
异步处理装置,与所述数据处理设备连接,所述数据处理设备适于通过异步处理装置向所述数据存储设备异步发送获取目标数据的请求;
所述异步处理装置包括消息队列和消息处理单元,所述异步处理装置适于将数据请求添加到消息队列中,所述消息队列包括一个或者多个数据请求;所述消息处理单元适于从所述消息队列中获取一个数据请求,并根据该数据请求向数据存储设备请求获取目标数据。
8.如权利要求6或7所述的数据处理系统,其中:
所述数据处理设备适于在将目标数据存储到第一缓存中之后,为该目标数据设置第一缓存时效,并在该目标数据存储时间超过所述第一缓存时效后,从第一缓存中删除该目标数据。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-5中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108921.5A CN111414383B (zh) | 2020-02-21 | 2020-02-21 | 数据请求方法、数据处理系统及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108921.5A CN111414383B (zh) | 2020-02-21 | 2020-02-21 | 数据请求方法、数据处理系统及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414383A true CN111414383A (zh) | 2020-07-14 |
CN111414383B CN111414383B (zh) | 2024-03-15 |
Family
ID=71490811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010108921.5A Active CN111414383B (zh) | 2020-02-21 | 2020-02-21 | 数据请求方法、数据处理系统及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414383B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163176A (zh) * | 2020-11-02 | 2021-01-01 | 北京城市网邻信息技术有限公司 | 数据存储方法、装置、电子设备和计算机可读介质 |
CN115913646A (zh) * | 2022-10-21 | 2023-04-04 | 网易(杭州)网络有限公司 | 黑名单对象的拦截方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843769A (zh) * | 2017-01-23 | 2017-06-13 | 北京齐尔布莱特科技有限公司 | 一种接口数据缓存方法、装置和计算设备 |
CN107562385A (zh) * | 2017-09-13 | 2018-01-09 | 郑州云海信息技术有限公司 | 分布式存储客户端读取数据的方法、装置和设备 |
WO2019072103A1 (zh) * | 2017-10-11 | 2019-04-18 | 阿里巴巴集团控股有限公司 | 目标数据的获取方法和装置 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN110598138A (zh) * | 2018-06-12 | 2019-12-20 | 北京京东尚科信息技术有限公司 | 基于缓存的处理方法和装置 |
-
2020
- 2020-02-21 CN CN202010108921.5A patent/CN111414383B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843769A (zh) * | 2017-01-23 | 2017-06-13 | 北京齐尔布莱特科技有限公司 | 一种接口数据缓存方法、装置和计算设备 |
CN107562385A (zh) * | 2017-09-13 | 2018-01-09 | 郑州云海信息技术有限公司 | 分布式存储客户端读取数据的方法、装置和设备 |
WO2019072103A1 (zh) * | 2017-10-11 | 2019-04-18 | 阿里巴巴集团控股有限公司 | 目标数据的获取方法和装置 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN110598138A (zh) * | 2018-06-12 | 2019-12-20 | 北京京东尚科信息技术有限公司 | 基于缓存的处理方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163176A (zh) * | 2020-11-02 | 2021-01-01 | 北京城市网邻信息技术有限公司 | 数据存储方法、装置、电子设备和计算机可读介质 |
CN115913646A (zh) * | 2022-10-21 | 2023-04-04 | 网易(杭州)网络有限公司 | 黑名单对象的拦截方法、装置、电子设备和存储介质 |
CN115913646B (zh) * | 2022-10-21 | 2024-06-04 | 网易(杭州)网络有限公司 | 黑名单对象的拦截方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111414383B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651464B (zh) | 数据处理方法、系统及计算设备 | |
CN110275841B (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
CN110909025A (zh) | 数据库的查询方法、查询装置及终端 | |
CN112615907B (zh) | 一种数据同步系统及方法 | |
CN108804447B (zh) | 利用缓存响应数据请求的方法和系统 | |
CN113032432A (zh) | 一种数据缓存处理方法、系统、计算设备及可读存储介质 | |
CN109376318B (zh) | 一种页面加载方法、计算机可读存储介质及终端设备 | |
CN107547548B (zh) | 数据处理方法及系统 | |
WO2018054170A1 (zh) | 浏览器资源预拉取方法、终端及存储介质 | |
EP3933615A1 (en) | Data storage method and data query method | |
CN113419824A (zh) | 数据处理方法、装置、系统及计算机存储介质 | |
CN111225010A (zh) | 数据处理方法、数据处理系统以及装置 | |
CN111414383B (zh) | 数据请求方法、数据处理系统及计算设备 | |
CN111526181B (zh) | 数据请求的处理方法、系统及计算设备 | |
CN112764948A (zh) | 数据发送方法、数据发送装置、计算机设备及存储介质 | |
CN113377289A (zh) | 一种缓存管理方法、系统、计算设备及可读存储介质 | |
JP6944576B2 (ja) | キャッシュデバイス、命令キャッシュ、命令処理システム、データ処理方法、データ処理装置、コンピュータ可読記憶媒体及びコンピュータプログラム | |
CN111078697B (zh) | 一种数据存储方法、装置、存储介质及电子设备 | |
CN112738182A (zh) | 数据推送系统、数据推送方法及计算设备 | |
CN116842292A (zh) | 动态页面缓存方法、电子设备、车辆及存储介质 | |
CN111782614A (zh) | 数据访问方法、装置、设备及存储介质 | |
CN113220981A (zh) | 一种优化缓存的方法和装置 | |
CN107291628B (zh) | 访问数据存储设备的方法和装置 | |
CN110889053B (zh) | 一种接口数据的缓存方法、装置及计算设备 | |
CN113590699B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |