WO2017097048A1 - 一种数据查找方法与装置 - Google Patents
一种数据查找方法与装置 Download PDFInfo
- Publication number
- WO2017097048A1 WO2017097048A1 PCT/CN2016/103252 CN2016103252W WO2017097048A1 WO 2017097048 A1 WO2017097048 A1 WO 2017097048A1 CN 2016103252 W CN2016103252 W CN 2016103252W WO 2017097048 A1 WO2017097048 A1 WO 2017097048A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- cache
- corresponding database
- token
- module
- Prior art date
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Definitions
- the present invention relates to the field of computer technology and the Internet, and in particular, to a data search method and apparatus.
- the workflow of the distributed cache system is: first checking whether the request data of the client is in the memory cache, and if so, directly returning the request data, and no further operations are performed on the database; if the requested data is not in the memory In the cache, the requested data is searched in the database. After the requested data is found in the database, the data is obtained from the database, and the data obtained from the database is returned to the client, and the data is cached to the memory. Medium; update the data in the in-memory cache each time the database is updated to ensure consistency.
- the requested data when the requested data is not in the memory, it is searched in the database, and if the currently found data is hot data and there are multiple concurrent requests, the multiple requests are processed. At the same time, the process will go to the database to find the requested data. If there are too many concurrent requests, for example, for the current hot news, there may be tens of thousands or even hundreds of thousands of requests for access, which will lead to pressure on the database. Large, which in turn leads to congestion.
- the present invention has been made in order to provide a data search scheme that overcomes the above problems or at least partially solves or alleviates the above problems.
- a data search method comprising: receiving a data acquisition request, searching for a data requested by the data acquisition request from a cache of a corresponding database; and not finding a cache from the corresponding database
- the token corresponding to the requested data is obtained from the cache of the corresponding database; in the case where the token is acquired, the corresponding database is accessed to find the requested data.
- a data search apparatus including: a receiving module, configured to receive a data acquisition request; a first searching module, configured to search for data requested by the data obtaining request from a cache of a corresponding database; and a first obtaining module, configured to: If the data requested by the data acquisition request is not found in the cache of the corresponding database, the token of the requested data is obtained from the cache of the corresponding database; and the second search module is configured to be used in the And obtaining, by the obtaining module, the token of the requested data from the cache of the corresponding database, accessing the corresponding database to find the requested data.
- a computer program comprising computer readable code, when the computer readable code is run on a computing device, causing the computing device to perform a data lookup method as described above .
- a computer readable medium storing the computer program described above is provided.
- the data search solution of the present invention when receiving the data acquisition request, if the requested data is not stored in the cache of the corresponding database, attempts to acquire the token of the requested data from the cache of the corresponding database, and only obtains the data.
- the corresponding database is accessed to find the requested data, so that the number of tokens of the data stored in the cache can be controlled, so that all processes in the concurrent situation can find the data in the database and cause access to the database.
- the problem of excessive pressure can improve the efficiency of data search.
- FIG. 1 is a schematic flow chart of a data searching method according to Embodiment 1 of the present invention.
- FIG. 2 is a schematic flowchart of a data searching method according to Embodiment 2 of the present invention.
- FIG. 3 is a schematic block diagram showing the structure of a data search device according to Embodiment 3 of the present invention.
- FIG. 4 is a schematic structural diagram of an optional data search device according to Embodiment 3 of the present invention.
- Figure 5 is a schematic block diagram of a computing device for performing a data lookup method in accordance with the present invention
- Fig. 6 schematically shows a storage unit for holding or carrying program code implementing a data search method according to the present invention.
- FIG. 1 is a schematic flowchart of a data search method according to Embodiment 1 of the present invention. As shown in FIG. 1 , the data search method provided in this embodiment mainly includes the following steps:
- Step S102 receiving a data acquisition request, and searching for data requested by the data acquisition request from a cache of the corresponding database;
- part of the data in the database is backed up in the cache.
- the requested data is searched from the cache of the corresponding database, and if the data is searched from the cache of the corresponding database.
- the found data is returned to the requester of the data. If the requested data is not found in the cache of the corresponding database, step S104 is performed.
- Step S104 If the requested data is not found in the cache of the corresponding database, obtain the token corresponding to the requested data from the cache of the corresponding database;
- the search is performed from the corresponding database. If there are more concurrent requests, the access pressure of the database is too large. Therefore, in this embodiment, The token corresponding to each data in the database is stored in the cache of the corresponding database, and the token of the requested data is obtained from the cache of the corresponding database without searching for the requested data from the cache of the corresponding database.
- a correspondence between a keyword and a token of each data may be stored in a cache of the corresponding database, and the corresponding token may be obtained according to the keyword of the requested data.
- a token can only be acquired by one process at the same time. After a process obtains the token, the token is locked, and the remaining processes cannot acquire the token. Unless the token is released.
- each data may correspond to one token, or may correspond to multiple tokens. Specifically, each data may be set according to a read/write speed of the database and a processing speed of concurrent processing. Token.
- Step S106 in the case that the token is acquired, access the corresponding database to find the requested data.
- the token that attempts to obtain the requested data from the cache of the corresponding database is only When the token of the data is obtained, the corresponding database is accessed to find the requested data, so that the number of tokens of the data stored in the cache can be controlled to avoid all processes in the database from finding data in the concurrent situation.
- the problem of excessive access pressure on the database which can improve the efficiency of data search.
- the predetermined duration is waited for, and when the predetermined duration arrives, the requested data is searched from the cache of the corresponding database.
- the process if the token is not obtained, it indicates that the process has acquired the token, and the token has been locked.
- the process in order to avoid excessive concurrent requests, for a process that does not acquire a token, the process is not allowed to access the database, but waits for a certain time, and then the process continues to the cache of the corresponding database to find the requested one. data.
- the process that does not get the token can be put into a sleep state, after a predetermined time of sleep, for example, 3 ms, wake up, and then look up the requested data in the cache of the corresponding database.
- the requested data is searched from the cache of the corresponding database, and if the requested data is found, the found data is returned to The requestor of the data.
- the process may continue to enter the sleep state. Until waking up to find the requested data from the cache of the corresponding database, either the number of sleeps reaches the threshold, or the total time of sleep reaches the threshold. Therefore, in this alternative embodiment, in the case that the requested data is not found in the cache of the corresponding database after waiting for a predetermined length of time, the embodiment The provided method can also include the following steps:
- Step 1 it is determined whether the number of waiting times reaches a preset threshold or whether the total waiting time exceeds a preset threshold, and if so, step 4 is performed; otherwise, step 2 is performed;
- Step 3 After waiting for a predetermined duration t2, look up the requested data from the cache of the corresponding database, and if the requested data is found, return to the requester of the data, if not, return to step 1 ;
- Step 4 Return an indication to the requestor of the data that the requested data is not queried.
- ⁇ t may be greater than or equal to 0, that is, in this embodiment, the time during which the process sleeps may be incremented, that is, if there is no requested data in the cache of the corresponding database after a short time of sleep, then a little sleep may be performed. Look up for a long time. For example, the first time you can sleep for 0.3 milliseconds, the second time you can sleep for 0.5 milliseconds.
- ⁇ t can also be less than or equal to 0, that is, the time during which the process sleeps can be decremented, that is, if there is still no requested data in the cache of the corresponding database after a little time of hibernation, it can be hibernated for a short time and then searched.
- the database can take a long time according to a process to get data from the database, and write the data to the cache of the corresponding database.
- the process acquires the token of the requested data from the cache of the corresponding database in step S104, in order to prevent other processes from using the token, the first lock is performed.
- the token so that the token is not obtained by other processes, so that the process of accessing the database can be controlled.
- the found data may be returned to the requester of the data, and the found data is cached to the database. In the cache.
- data acquired by a process from a database can be shared with other processes, thereby avoiding the problem that all concurrent requests are searched in the database and the database access pressure is too large.
- the method provided in this embodiment may further include: releasing the token to enable the token to be acquired.
- the process of executing the data acquisition request does not find the requested data from the cache of the corresponding database
- the process does not directly search the database, but the cache from the corresponding database.
- the token corresponding to the data is obtained.
- the data is searched in the database, and after the data is found, the data is cached in the cache of the corresponding database.
- the process that does not obtain the token of the data waits for a period of time before attempting to retrieve the requested data from the cache of the corresponding database. If other processes have found the data from the database and cached it to the cache of the corresponding database. In the middle, the requested data can be obtained from the cache of the corresponding database. In this way, the problem that multiple concurrent requests access the database at the same time and the database access pressure is too large can be avoided, and the efficiency of data search can be provided.
- FIG. 2 is a schematic flowchart of a data search method according to this embodiment. As shown in FIG. 2, the data search method provided in this embodiment mainly includes the following steps:
- Step S201 receiving a data acquisition request
- Step S202 searching for data requested by the data acquisition request from the cache of the corresponding database
- Step S203 is the requested data found in the cache of the corresponding database? If yes, go to step S214, otherwise, go to step S204;
- Step S204 acquiring a token of the requested data from a cache of the corresponding database
- Step S205 is the token obtained? If yes, go to step S206, otherwise, go to step S208;
- Step S206 searching for the requested data from the database, and returning the found data to the requesting party of the data;
- Step S207 buffering the found data to a cache of the corresponding database
- Step S208 waiting for a predetermined time
- Step S209 searching for the requested data from the cache of the corresponding database
- Step S210 determining whether the requested data is found from the cache of the corresponding database, If yes, go to step S214, otherwise, go to step S211;
- Step S211 it is determined whether the number of waiting times reaches the threshold or the total waiting time reaches the threshold, and if so, step S213 is performed, otherwise, step S212 is performed;
- Step S214 returning the found data to the requester of the data.
- the process of executing the data acquisition request does not find the requested data from the cache of the corresponding database
- the process does not directly search the database, but the cache from the corresponding database.
- the token corresponding to the data is obtained.
- the data is searched in the database, and after the data is found, the data is cached in the cache of the corresponding database.
- the process that does not obtain the token of the data waits for a period of time before attempting to retrieve the requested data from the cache of the corresponding database. If other processes have found the data from the database and cached it to the cache of the corresponding database. In the middle, the requested data can be obtained from the cache of the corresponding database. In this way, the problem that multiple concurrent requests access the database at the same time and the database access pressure is too large can be avoided, and the efficiency of data search can be provided.
- the embodiment provides a data search device, which can be used to implement the data search method described in any of the above embodiments.
- FIG. 3 is a schematic structural diagram of a data search apparatus according to the embodiment.
- the data search apparatus mainly includes: a receiving module 310, configured to receive a data acquisition request; and a first searching module 320, configured to use a corresponding database. Searching for the data requested by the data acquisition request in the cache; the first obtaining module 330 is configured to: when the first search module 320 does not find the data requested by the data acquisition request from the cache of the corresponding database, from the corresponding database A token for obtaining the requested data in the cache; the second searching module 340 is configured to: when the first obtaining module 330 obtains the token of the requested data from the cache of the corresponding database, look up the requested request from the database.
- the data is configured to: when the first obtaining module 330 obtains the token of the requested data from the cache of the corresponding database, look up the requested request from the database.
- the first searching module 320 searches for the requested data from the cache of the corresponding database, and the first search module 320 caches the corresponding database. Did not find the place In the case of the requested data, the first obtaining module 330 attempts to acquire the token of the requested data from the cache of the corresponding database. Only in the case that the first obtaining module 330 acquires the token of the data, the second searching module 340 Accessing the corresponding database to find the requested data, so that the number of tokens of the data stored in the cache can be controlled, so that all processes in the concurrent situation can find the data in the database and the access pressure of the database is too large, and thus the problem can be Improve the efficiency of data search.
- the process may continue to enter the sleep state. Until waking up to find the requested data from the cache of the corresponding database, either the number of sleeps reaches the threshold, or the total time of sleep reaches the threshold. Therefore, as shown in FIG.
- the apparatus may further include: a hibernation module 350, configured to wait for a predetermined duration if the first acquisition module 330 does not acquire the token of the requested data from the cache of the corresponding database, And triggering the first searching module 320 when the predetermined duration arrives; the determining module 360 is configured to determine, when the first searching module 320 does not search for the requested data from the cache of the corresponding database, triggered by the hibernation module 350, determine the hibernation module. Whether the current number of sleeps reaches the preset threshold or whether the total duration of the sleep of the sleep module 350 exceeds a preset threshold.
- ⁇ t may be greater than or equal to 0, that is, in this embodiment, the time during which the process sleeps may be incremented, that is, if there is no requested data in the cache of the corresponding database after a short time of sleep, then a little sleep may be performed. Look up for a long time. For example, the first time you can sleep for 0.3 milliseconds, the second time you can sleep for 0.5 milliseconds.
- ⁇ t can also be less than or equal to 0, that is, the time during which the process sleeps can be decremented, that is, if there is still no requested data in the cache of the corresponding database after a little time of hibernation, it can be hibernated for a short time and then searched.
- the database can take a long time according to a process to get data from the database, and write the data to the cache of the corresponding database.
- the sending module 370 is further configured to: when the first searching module 320 finds the requested data from the cache of the corresponding database, return the found data to the data. Requester.
- the apparatus further includes: an execution module 380, configured to: In the case where the token of the requested data is obtained in the cache, the token is locked so that the token is no longer acquired.
- the second lookup module 340 searches the database for the requested data, returns the found data to the requester of the data, and caches the found data to the corresponding database.
- the device may further include a cache module 390, configured to cache the data searched by the second search module 340 into a cache of the corresponding database, and a sending module 370, configured to search the second search module 340.
- the data arrived is returned to the requester of the data.
- the device may further include: a release module, configured to release the token after the cache module 390 caches the found data into a cache of the corresponding database, so that the token can be acquired.
- the data searching device does not find the data directly in the cache of the corresponding database, but does not directly search the data in the database, but obtains the data from the cache of the corresponding database.
- the corresponding token in the case of obtaining the token of the data, goes to the database to find the data, and after finding the data, caches the data into the cache of the corresponding database.
- the process that does not obtain the token of the data waits for a period of time, and then attempts to obtain the requested data from the cache of the corresponding database. If other processes have found the data from the database, and cache it to the corresponding In the cache of the database, the requested data can be obtained from the cache of the corresponding database. In this way, the problem that multiple concurrent requests access the database at the same time and the database access pressure is too large can be avoided, and the efficiency of data search can be provided.
- modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
- the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
- any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
- Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
- Various component embodiments of the present invention may be implemented in hardware, or in one or more A software module implementation running on a processor, or a combination of them.
- a microprocessor or digital signal processor may be used in practice to implement some or all of the functionality of some or all of the components of the data lookup device in accordance with embodiments of the present invention.
- the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
- a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
- Figure 5 illustrates a block diagram of a computing device, such as an application server, that can implement a data lookup method in accordance with the present invention.
- the computing device conventionally includes a processor 510 and a computer program product or computer readable medium in the form of a memory 520.
- the memory 520 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM.
- Memory 520 has a storage space 530 that stores program code 531 for performing any of the method steps described above.
- storage space 530 storing program code may store respective program code 531 for implementing various steps in the above methods, respectively.
- the program code can be read from or written to one or more computer program products.
- These computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks.
- Such a computer program product is typically a portable or fixed storage unit such as that shown in FIG.
- the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 520 in the computing device of FIG.
- the program code can be compressed, for example, in an appropriate form.
- the storage unit stores computer readable code 531 ', ie program code readable by a processor, such as 510, which when executed by a computing device causes the computing device to perform the methods described above Each step in the process.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据查找方法与装置,其中数据查找方法包括:接收数据获取请求,从对应数据库的缓存中查找数据获取请求所请求的数据(S102);在从对应数据库的缓存中没有查找到所请求的数据的情况下,从对应数据库的缓存中获取所请求的数据对应的令牌(S104);在获取到所述令牌的情况下,访问对应数据库以查找所请求的数据(S106)。可以解决由于并发请求太多而导致数据库访问压力过大的问题。
Description
本发明涉及一种计算机技术及互联网领域,尤其涉及一种数据查找方法与装置。
相关技术中,为了提高网站访问速度,一些大型的、需要频繁访问数据库的网站通常采用分布式的高速缓存系统。
相关技术中,分布式的高速缓存系统的工作流程为:先检查客户端的请求数据是否在内存缓存中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在内存缓存中,则到数据库中查找请求的数据,在数据库中查找到请求的数据后,从数据库中获取该数据,并将从数据库中获取的数据返回给客户端,同时将数据缓存一份到内存中;每次更新数据库的同时更新内存缓存中的数据,保证一致性。
根据上述工作流程中可知,在相关技术中,当请求的数据不在内存时,转而到数据库中查找,假设当前查找到的数据是热门数据,同时有多个并发请求,则处理该多个请求的进程同时都将到数据库查找请求的数据,如果并发请求过多,例如,对于当前的热门消息,可能同时有上万甚至上十万、百万的获取请求,这将导致数据库的访问压力过大,进而导致拥塞。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或者减缓上述问题的数据查找方案。
根据本发明的一个方面,提供了一种数据查找方法,包括:接收数据获取请求,从对应数据库的缓存中查找所述数据获取请求所请求的数据;在从所述对应数据库的缓存中没有查找到所请求的数据的情况下,从所述对应数据库的缓存中获取所请求的数据对应的令牌;在获取到所述令牌的情况下,访问所述对应数据库以查找所请求的数据。
根据本发明的另一个方面,提供了一种数据查找装置,包括:接
收模块,用于接收数据获取请求;第一查找模块,用于从对应数据库的缓存中查找所述数据获取请求所请求的数据;第一获取模块,用于在所述第一查找模块从所述对应数据库的缓存中没有查找到所述数据获取请求所请求的数据的情况下,从所述对应数据库的缓存中获取所请求的数据的令牌;第二查找模块,用于在所述第一获取模块从所述对应数据库的缓存中获取到所述所请求的数据的令牌的情况下,访问所述对应数据库以查找所述所请求的数据。
根据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行如上文所述的数据查找方法。
根据本发明的再一个方面,提供了一种计算机可读介质,其中存储了上文所述的计算机程序。
本发明的有益效果为:
本发明的数据查找方案,在接收到数据获取请求时,如果请求的数据没有存储在对应数据库的缓存中,则试图从对应数据库的缓存中获取请求的数据的令牌,只有在获取到该数据的令牌的情况下,才访问对应数据库以查找所请求的数据,从而可以通过控制缓存中存储的数据的令牌的数量,避免并发情况下所有进程都去数据库中查找数据而导致数据库的访问压力过大的问题,进而可以提高数据的查找效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例一的数据查找方法的流程示意图;
图2是根据本发明实施例二的数据查找方法的流程示意图;
图3是根据本发明实施例三的数据查找装置的结构示意框图;
图4是根据本发明实施例三的可选数据查找装置的结构示意图;
图5示意性地示出了用于执行根据本发明的数据查找方法的计算设备的框图;以及
图6示意性地示出了用于保持或者携带实现根据本发明的数据查找方法的程序代码的存储单元。
下面结合附图和具体的实施方式对本发明作进一步的描述。
实施例一
图1是根据本发明实施例一的数据查找方法的流程示意图,如图1所示,本实施例提供的数据查找方法主要包括以下步骤:
步骤S102,接收到数据获取请求,从对应数据库的缓存中查找所述数据获取请求所请求的数据;
在本实施例中,为了提高数据库的访问速度,将数据库中部分数据备份在缓存中,在接收到查询请求时,首先从对应数据库的缓存中查找请求的数据,如果从对应数据库的缓存中查找到请求的数据,则将查找到的数据返回给数据的请求方,如果在对应数据库的缓存中没有查找到所请求的数据,则执行步骤S104。
步骤S104,在从所述对应数据库的缓存中没有查找到所请求的数据的情况下,从所述对应数据库的缓存中获取所请求的数据对应的令牌;
在相关技术中,如果在对应数据库的缓存中没有查找到所请求的数据,则从对应数据库中查找,如果并发请求较多,会造成数据库的访问压力过大,因此,在本实施例中,在对应数据库的缓存中存储了数据库中各个数据对应的令牌,在没有从对应数据库的缓存中查找到所请求的数据的情况下,从对应数据库的缓存中获取所请求的数据的令牌。
在本发明实施例的一个可选实施方案中,可以在对应数据库的缓存中存储各个数据的关键字与令牌的对应关系,根据所请求的数据的关键字,可以获取到对应的令牌。
在本实施例中,一个令牌只能同时被一个进程获取,在一个进程获取到该令牌之后,该令牌即被锁定,其余进程不能再获取该令牌,
除非该令牌被释放。
在本发明实施例的一个可选实施方案中,每个数据可以对应一个令牌,也可以对应多个令牌,具体可以根据数据库的读写速度以及并发的处理速度等来设置每个数据对应的令牌。
步骤S106,在获取到所述令牌的情况下,访问所述对应数据库以查找所请求的数据。
在本实施例提供的数据查找方法中,在接收到数据获取请求时,如果请求的数据没有存储在对应数据库的缓存中,则试图从对应数据库的缓存中获取请求的数据的令牌,只有在获取到该数据的令牌的情况下,才访问对应数据库以查找所请求的数据,从而可以通过控制缓存中存储的数据的令牌的数量,避免并发情况下所有进程都去数据库中查找数据而导致数据库的访问压力过大的问题,进而可以提高数据的查找效率
在本发明实施例的一个可选实施方案中,如果步骤S104中没有获取到所述令牌,则等待预定时长,在预定时长到达时,从所述对应数据库的缓存中查找所请求的数据。
在本实施例中,没有获取到令牌的情况下,说明已经有进程获取到该令牌了,该令牌已经被锁定了。本实施例中,为了避免并发请求过多,对于没有获取令牌的进程,不允许该进程去访问数据库,而是等待一定时间后,再使该进程继续到对应数据库的缓存中查找所请求的数据。在具体应用中,可以使没有拿到令牌的进程进入休眠(sleep)状态,休眠预定时间后,例如,3ms,醒来,再去对应数据库的缓存中查找所请求的数据。
在本实施例中,如果没有获取到令牌的进程在休眠一定时间后醒来,从对应数据库的缓存中查找所请求的数据,如果查找到所请求的数据,则将查找到的数据返回给数据的请求方。
在本发明实施例的一个可选实施方案中,如果没有获取到令牌的进程在休眠一定时间后醒来,从对应数据库的缓存中没有查找所请求的数据,则该进程可以继续进入休眠状态,直到醒来从对应数据库的缓存中查找所请求的数据,或者是休眠的次数达到阈值,或者是休眠的总时间达到阈值。因此,在该可选实施方式中,在等待预定时长后,从对应数据库的缓存中没有查找到所请求的数据的情况下,本实施例
提供的方法还可以包括以下步骤:
步骤1,判断等待的次数是否达到预设阈值或者等待的总时长是否超过预设阈值,如果是,则执行步骤4,否则,执行步骤2;
步骤2,置新的预定时长t2=上一次的预定时长t1+Δt,其中,Δt为有理数;
步骤3,等待预定时长t2后,从对应数据库的缓存中查找所请求的数据,如果查找到所述所请求的数据,则返回给所述数据的请求方,如果没有查找到,则返回步骤1;
步骤4,向所述数据的请求方返回未查询到所请求的数据的指示。
在本实施例中,Δt可以大于等于0,即本实施例中,进程休眠的时间可以递增,即如果休眠一个短时间后,对应数据库的缓存中还是没有请求的数据,则可以再休眠一个稍长的时间再查找。例如,第一次可以休眠0.3毫秒,第二次可以休眠0.5毫秒。或者,Δt也可以小于等于0,即进程休眠的时间可以递减,即如果休眠一个稍长时间后,对应数据库的缓存中还是没有请求的数据,则可以再休眠一个稍短的时间再查找。例如,第一次可以休眠0.5毫秒,第二次可以休眠0.3毫秒。在具体应用中,Δt怎么取值,数据库中可以根据一个进程大概需要多长时间才能从数据库中取得数据,并将数据写入到对应数据库的缓存中。
在本发明实施例的一个可选实施方案中,如果在步骤S104中,进程从对应数据库的缓存中获取到了所请求的数据的令牌,则为了防止别的进程使用该令牌,先锁定该令牌,使该令牌不会被其它进程获取,从而可以控制访问数据库的进程。
在本发明实施例的一个可选实施方案中,如果在步骤S106中从对应数据库获取所请求的数据,则可以将查找到的数据返回给数据的请求方,并将查找到的数据缓存到数据库的缓存中。通过该可选实施方式,可以使得一个进程从数据库中获取的数据可以共享给其它进程,避免了所有并发请求都到数据库中查找而导致数据库访问压力过大的问题。
在上述可选实施方式中,由于对应数据库的缓存中存储的数据都有一个有效期,在该有效期到达之后,将会删除对应数据库的缓存中缓存的该数据,因此,为了避免在这种情况下需要到数据库中查找该
数据而该数据的令牌没有被释放,从而无法获取到该数据的令牌,进而无法从数据库中查找该数据的问题,在本发明实施例的一个可选实施方案中,在将查找到的数据缓存到对应数据库的缓存中之后,本实施例提供的方法还可以包括:释放该令牌,使该令牌能够被获取。
通过本实施例提供的技术方案,执行数据获取请求的进程在从对应数据库的缓存中没查找到所请求的数据的情况下,并不是直接到数据库中查找该数据,而是从对应数据库的缓存中获取该数据对应的令牌,在获取到该数据的令牌的情况下,才去数据库中查找该数据,在查找到该数据之后,将该数据缓存至对应数据库的缓存中。而没有获取到该数据的令牌的进程则等待一段时间后,再尝试从对应数据库的缓存中获取所请求的数据,如果其它进程已从数据库中查找到该数据,并缓存至对应数据库的缓存中,则可以从对应数据库的缓存中获取到所请求的数据。采用这种方式,可以避免并发的多个请求同时访问数据库而导致数据库访问压力过大的问题,可以提供数据查找的效率。
实施例二
图2为根据本实施例的数据查找方法的流程示意图,如图2所示,本实施例提供的数据查找方法主要包括以下步骤:
步骤S201,接收数据获取请求;
步骤S202,从对应数据库的缓存中查找数据获取请求所请求的数据;
步骤S203,是否从对应数据库的缓存中查找到所请求的数据?如果是,则执行步骤S214,否则,执行步骤S204;
步骤S204,从对应数据库的缓存中获取所请求的数据的令牌;
步骤S205,是否获取到令牌?如果是,则执行步骤S206,否则,执行步骤S208;
步骤S206,从数据库中查找所请求的数据,将查找到的数据返回给数据的请求方;
步骤S207,将查找到的数据缓存至对应数据库的缓存;
步骤S208,等待预定时间;
步骤S209,从对应数据库的缓存中查找所请求的数据;
步骤S210,判断是否从对应数据库的缓存中查找到所请求的数据,
如果是,则执行步骤S214,否则,执行步骤S211;
步骤S211,判断等待的次数是否达到阈值或等待的总时间达到阈值,如果是,则执行步骤S213,否则,执行步骤S212;
步骤S212,预定时间t=t+Δt,返回步骤S208,其中,Δt为有理数;
步骤S213,向数据的请求方返回没有查找到所请求的数据的指示;
步骤S214,将查找到的数据返回给数据的请求方。
通过本实施例提供的技术方案,执行数据获取请求的进程在从对应数据库的缓存中没查找到所请求的数据的情况下,并不是直接到数据库中查找该数据,而是从对应数据库的缓存中获取该数据对应的令牌,在获取到该数据的令牌的情况下,才去数据库中查找该数据,在查找到该数据之后,将该数据缓存至对应数据库的缓存中。而没有获取到该数据的令牌的进程则等待一段时间后,再尝试从对应数据库的缓存中获取所请求的数据,如果其它进程已从数据库中查找到该数据,并缓存至对应数据库的缓存中,则可以从对应数据库的缓存中获取到所请求的数据。采用这种方式,可以避免并发的多个请求同时访问数据库而导致数据库访问压力过大的问题,可以提供数据查找的效率。
实施例三
本实施例提供了一种数据查找装置,该装置可以用于实现上述任一种实施方式所描述的数据查找方法。
图3为本实施例提供的数据查找装置的结构示意图,如图3所示,该数据查找装置主要包括:接收模块310,用于接收数据获取请求;第一查找模块320,用于从对应数据库的缓存中查找数据获取请求所请求的数据;第一获取模块330,用于在第一查找模块320从对应数据库的缓存中没有查找到数据获取请求所请求的数据的情况下,从对应数据库的缓存中获取所请求的数据的令牌;第二查找模块340,用于在第一获取模块330从对应数据库的缓存中获取到所请求的数据的令牌的情况下,从数据库中查找所请求的数据。
通过本实施例提供的上述数据查找装置,接收模块310在接收到数据获取请求时,第一查找模块320从对应数据库的缓存中查找所请求的数据,在第一查找模块320在对应数据库的缓存中没有查找到所
请求的数据的情况下,第一获取模块330试图从对应数据库的缓存中获取请求的数据的令牌,只有在第一获取模块330获取到该数据的令牌的情况下,第二查找模块340访问对应数据库以查找所请求的数据,从而可以通过控制缓存中存储的数据的令牌的数量,避免并发情况下所有进程都去数据库中查找数据而导致数据库的访问压力过大的问题,进而可以提高数据的查找效率。
在本发明实施例的一个可选实施方案中,如果没有获取到令牌的进程在休眠一定时间后醒来,从对应数据库的缓存中没有查找所请求的数据,则该进程可以继续进入休眠状态,直到醒来从对应数据库的缓存中查找所请求的数据,或者是休眠的次数达到阈值,或者是休眠的总时间达到阈值。因此,如图4所示,该装置还可以包括:休眠模块350,用于在第一获取模块330从对应数据库的缓存中没有获取到所请求的数据的令牌的情况下,等待预定时长,并在预定时长到达时触发第一查找模块320;判断模块360,用于在第一查找模块320在休眠模块350触发下没有从对应数据库的缓存中查找所请求的数据的情况下,判断休眠模块350当前休眠的次数是否达到预设阈值或者休眠模块350休眠的总时长是否超过预设阈值,如果是,则触发发送模块370向数据的请求方返回未查询到所请求的数据的指示,如果否,则置新的预定时长t2=上次等待的预定时长t1+Δt,再触发休眠模块350,其中,Δt为有理数;发送模块370用于在所述判断模块360的触发下,向数据的请求方返回未查询到所请求的数据的指示。
在本实施例中,Δt可以大于等于0,即本实施例中,进程休眠的时间可以递增,即如果休眠一个短时间后,对应数据库的缓存中还是没有请求的数据,则可以再休眠一个稍长的时间再查找。例如,第一次可以休眠0.3毫秒,第二次可以休眠0.5毫秒。或者,Δt也可以小于等于0,即进程休眠的时间可以递减,即如果休眠一个稍长时间后,对应数据库的缓存中还是没有请求的数据,则可以再休眠一个稍短的时间再查找。例如,第一次可以休眠0.5毫秒,第二次可以休眠0.3毫秒。在具体应用中,Δt怎么取值,数据库中可以根据一个进程大概需要多长时间才能从数据库中取得数据,并将数据写入到对应数据库的缓存中。
在本发明实施例的一个可选实施方案中,发送模块370还用于在第一查找模块320从对应数据库的缓存中查找到所请求的数据的情况下,将查找到的数据返回给数据的请求方。
在本发明实施例的一个可选实施方案中,如果第一获取模块330从对应数据库的缓存中获取到了所请求的数据的令牌,则为了防止别的进程使用该令牌,先锁定该令牌,使该令牌不会被其它进程获取,因此,如图4所示,在该可选实施方式中,该装置还包括:执行模块380,用于在第一获取模块330从对应数据库的缓存中获取到所请求的数据的令牌的情况下,锁定令牌,使令牌不会再被获取。
在本发明实施例的一个可选实施方案中,在第二查找模块340从数据库中查找所请求的数据,将查找到的数据返回给数据的请求方,并将查找到的数据缓存到对应数据库的缓存中。因此,如图4所示,该装置还可以包括缓存模块390,用于将第二查找模块340查找到的数据缓存到对应数据库的缓存中;发送模块370,用于将第二查找模块340查找到的数据返回给数据的请求方。通过该可选实施方式,可以使得一个进程从数据库中获取的数据可以共享给其它进程,避免了所有并发请求都到数据库中查找而导致数据库访问压力过大的问题。
在上述可选实施方式中,由于对应数据库的缓存中缓存的数据都有一个有效期,在该有效期到达之后,将会删除对应数据库的缓存中缓存的该数据,因此,为了避免在这种情况下需要到数据库中查找该数据而该数据的令牌没有被释放,从而无法获取到该数据的令牌,进而无法从数据库中查找该数据的问题,在本发明实施例的一个可选实施方案中,该装置还可以包括:释放模块,用于在缓存模块390将查找到的数据缓存到对应数据库的缓存中之后,释放令牌,使令牌能够被获取。
通过本实施例提供的上述数据查找装置,在从对应数据库的缓存中没查找到所请求的数据的情况下,并不是直接到数据库中查找该数据,而是从对应数据库的缓存中获取该数据对应的令牌,在获取到该数据的令牌的情况下,才去数据库中查找该数据,在查找到该数据之后,将该数据缓存至对应数据库的缓存中。而没有获取到该数据的令牌的进程则等待一段时间后,再尝试从对应数据库的缓存中获取所请求的数据,如果其它进程已从数据库中查找到该数据,并缓存至对应
数据库的缓存中,则可以从对应数据库的缓存中获取到所请求的数据。采用这种方式,可以避免并发的多个请求同时访问数据库而导致数据库访问压力过大的问题,可以提供数据查找的效率。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多
个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据查找设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5示出了可以实现根据本发明的数据查找方法的计算设备的框图,例如应用服务器。该计算设备传统上包括处理器510和以存储器520形式的计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有存储用于执行上述方法中的任何方法步骤的程序代码531的存储空间530。例如,存储程序代码的存储空间530可以存储分别用于实现上面的方法中的各种步骤的各个程序代码531。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图6所示的便携式或者固定存储单元。该存储单元可以具有与图5的计算设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有计算机可读代码531’,即可以由例如诸如510之类的处理器读取的程序代码,当这些程序代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利
要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (14)
- 一种数据查找方法,包括:接收数据获取请求,从对应数据库的缓存中查找所述数据获取请求所请求的数据;在从所述对应数据库的缓存中没有查找到所请求的数据的情况下,从所述对应数据库的缓存中获取所请求的数据对应的令牌;在获取到所述令牌的情况下,访问所述对应数据库以查找所请求的数据。
- 根据权利要求1所述的方法,还包括:在获取到所述令牌后,锁定所述令牌,以使所述令牌无法再被获取。
- 根据权利要求1或2所述的方法,还包括:从所述对应数据库获取所请求的数据,将所请求的数据返回给请求方并将所请求的数据存储在所述对应数据库的缓存中。
- 根据权利要求3所述的方法,其中,在将所请求的数据存储在所述对应数据库的缓存中之后,所述方法还包括:释放所述令牌,使所述令牌能够再被获取。
- 根据权利要求1或2所述的方法,还包括:在没有获取到所述令牌的情况下,等待预定时长t1后,再次从所述对应数据库的缓存中查找所请求的数据。
- 根据权利要求5所述的方法,其中,在等待所述预定时长t1后,再次从所述对应数据库的缓存中查找所请求的数据时,若仍未查找到所请求的数据,所述方法还包括:步骤1,判断等待的次数是否达到预设阈值或者等待的总时长是否超过预设阈值,如果是,则执行步骤4,否则,执行步骤2;步骤2,设置新的预定时长t2=前次预定时长t1+Δt,其中,Δt为有理数;步骤3,等待新的预定时长t2后,再次从所述对应数据库的缓存中查找所请求的数据,如果查找到所述所请求的数据,则返回给所述数据的请求方,如果仍未查找到,则返回执行步骤1;步骤4,向所述数据的请求方返回未查询到所请求的数据的信息。
- 根据权利要求5所述的方法,其中,在等待所述预定时长后,再次从所述对应数据库的缓存中查找所请求的数据时,若查找到所请求的数据,所述方法还包括:将查找到的所请求的数据返回给所述数据的请求方。
- 一种数据查找装置,包括:接收模块,用于接收数据获取请求;第一查找模块,用于从对应数据库的缓存中查找所述数据获取请求所请求的数据;第一获取模块,用于在所述第一查找模块从所述对应数据库的缓存中没有查找到所述数据获取请求所请求的数据的情况下,从所述对应数据库的缓存中获取所请求的数据的令牌;第二查找模块,用于在所述第一获取模块从所述对应数据库的缓存中获取到所述所请求的数据的令牌的情况下,访问所述对应数据库以查找所述所请求的数据。
- 根据权利要求8所述的装置,还包括:执行模块,用于在所述第一获取模块从所述对应数据库的缓存中获取到所述所请求的数据的令牌的情况下,锁定所述令牌,使所述令牌不会再被获取;
- 根据权利要求8或9所述的装置,还包括:缓存模块,用于将所述第二查找模块查找到的数据缓存到所述对应数据库的缓存中;发送模块,用于将所述第二查找模块查找到的数据返回给所述数据的请求方。
- 根据权利要求10所述的装置,还包括:释放模块,用于在所述缓存模块将查找到的数据缓存到所述对应数据库的缓存中之后,释放所述令牌,使所述令牌能够被获取。
- 根据权利要求8或9所述的装置,还包括:休眠模块,用于在所述第一获取模块没有从所述对应数据库的缓存中获取到所述所请求的数据的令牌的情况下,等待预定时长,并在预定时长到达时触发所述第一查找模块;判断模块,用于在所述第一查找模块在所述休眠模块触发下没有从所述对应数据库的缓存中查找所请求的数据的情况下,判断所述休 眠模块当前休眠的次数是否达到预设阈值或者所述休眠模块休眠的总时长是否超过预设阈值,如果是,则触发发送模块向所述数据的请求方返回未查询到所请求的数据的指示,如果否,则置新的预定时长t2=前次预定时长t1+Δt,再触发所述休眠模块,其中,Δt为有理数。
- 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-7中的任一个所述的数据查找方法。
- 一种计算机可读介质,其中存储了如权利要求13所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510921166.1A CN105488208B (zh) | 2015-12-11 | 2015-12-11 | 数据查找方法与装置 |
CN201510921166.1 | 2015-12-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017097048A1 true WO2017097048A1 (zh) | 2017-06-15 |
Family
ID=55675183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/103252 WO2017097048A1 (zh) | 2015-12-11 | 2016-10-25 | 一种数据查找方法与装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105488208B (zh) |
WO (1) | WO2017097048A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241253A (zh) * | 2018-07-31 | 2019-01-18 | 平安科技(深圳)有限公司 | 一种车辆信息查询方法和系统 |
CN110493291A (zh) * | 2018-05-14 | 2019-11-22 | 北京京东尚科信息技术有限公司 | 一种处理http请求的方法和装置 |
CN112087401A (zh) * | 2020-09-10 | 2020-12-15 | 星辰天合(北京)数据科技有限公司 | 分布式存储中实现服务质量的方法和装置 |
CN113722362A (zh) * | 2021-07-27 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种基于远端的缓存数据查询方法、装置及系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488208B (zh) * | 2015-12-11 | 2019-03-08 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
US10169415B2 (en) * | 2016-09-14 | 2019-01-01 | Google Llc | Query restartability |
CN109656939B (zh) * | 2018-12-24 | 2020-08-18 | 广州虎牙信息科技有限公司 | 一种缓存更新方法、装置、设备和存储介质 |
CN110147386A (zh) * | 2019-04-16 | 2019-08-20 | 平安科技(深圳)有限公司 | 数据的缓存方法、装置、计算机设备 |
CN110289965B (zh) * | 2019-06-11 | 2023-06-09 | 深圳前海微众银行股份有限公司 | 一种应用程序服务的管理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6502108B1 (en) * | 1999-10-25 | 2002-12-31 | International Business Machines Corporation | Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens |
US20110113466A1 (en) * | 2009-11-06 | 2011-05-12 | Symantec Corporation | Systems and Methods for Processing and Managing Object-Related Data for use by a Plurality of Applications |
CN102542034A (zh) * | 2011-12-23 | 2012-07-04 | 北京人大金仓信息技术股份有限公司 | 一种数据库接口的结果集缓存方法 |
CN104123238A (zh) * | 2014-06-30 | 2014-10-29 | 海视云(北京)科技有限公司 | 数据存储方法及装置 |
CN104598547A (zh) * | 2014-12-30 | 2015-05-06 | 深圳市兰丁科技有限公司 | 基于大数据的数据访问处理方法和装置 |
CN105488208A (zh) * | 2015-12-11 | 2016-04-13 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729247B (zh) * | 2012-10-12 | 2017-04-12 | 阿里巴巴集团控股有限公司 | 数据获取请求的处理方法、系统及服务器 |
-
2015
- 2015-12-11 CN CN201510921166.1A patent/CN105488208B/zh active Active
-
2016
- 2016-10-25 WO PCT/CN2016/103252 patent/WO2017097048A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6502108B1 (en) * | 1999-10-25 | 2002-12-31 | International Business Machines Corporation | Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens |
US20110113466A1 (en) * | 2009-11-06 | 2011-05-12 | Symantec Corporation | Systems and Methods for Processing and Managing Object-Related Data for use by a Plurality of Applications |
CN102542034A (zh) * | 2011-12-23 | 2012-07-04 | 北京人大金仓信息技术股份有限公司 | 一种数据库接口的结果集缓存方法 |
CN104123238A (zh) * | 2014-06-30 | 2014-10-29 | 海视云(北京)科技有限公司 | 数据存储方法及装置 |
CN104598547A (zh) * | 2014-12-30 | 2015-05-06 | 深圳市兰丁科技有限公司 | 基于大数据的数据访问处理方法和装置 |
CN105488208A (zh) * | 2015-12-11 | 2016-04-13 | 北京奇虎科技有限公司 | 数据查找方法与装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110493291A (zh) * | 2018-05-14 | 2019-11-22 | 北京京东尚科信息技术有限公司 | 一种处理http请求的方法和装置 |
CN109241253A (zh) * | 2018-07-31 | 2019-01-18 | 平安科技(深圳)有限公司 | 一种车辆信息查询方法和系统 |
CN112087401A (zh) * | 2020-09-10 | 2020-12-15 | 星辰天合(北京)数据科技有限公司 | 分布式存储中实现服务质量的方法和装置 |
CN112087401B (zh) * | 2020-09-10 | 2024-05-28 | 北京星辰天合科技股份有限公司 | 分布式存储中实现服务质量的方法和装置 |
CN113722362A (zh) * | 2021-07-27 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种基于远端的缓存数据查询方法、装置及系统 |
CN113722362B (zh) * | 2021-07-27 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种基于远端的缓存数据查询方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105488208B (zh) | 2019-03-08 |
CN105488208A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017097048A1 (zh) | 一种数据查找方法与装置 | |
CN110674432B (zh) | 二级缓存方法、装置及计算机可读存储介质 | |
JP2018133086A5 (zh) | ||
US7383392B2 (en) | Performing read-ahead operation for a direct input/output request | |
CN107273522B (zh) | 面向多应用的数据存储系统和数据调用方法 | |
US9350826B2 (en) | Pre-fetching data | |
WO2017190580A1 (zh) | 访问数据库的方法及装置 | |
US20050210202A1 (en) | Managing input/output (I/O) requests in a cache memory system | |
US9021087B1 (en) | Method to improve caching accuracy by using snapshot technology | |
US20130290636A1 (en) | Managing memory | |
WO2017084557A1 (zh) | 文件扫描方法及装置 | |
CN106599247B (zh) | LSM-tree结构中数据文件的合并方法及装置 | |
JP2008529181A5 (zh) | ||
CN108874691B (zh) | 数据预取方法和内存控制器 | |
US9189477B2 (en) | Managing direct attached cache and remote shared cache | |
US20140379995A1 (en) | Semiconductor device for controlling prefetch operation | |
US20190354472A1 (en) | Buffered freepointer management memory system | |
US10642745B2 (en) | Key invalidation in cache systems | |
WO2016182588A1 (en) | Prefetch tag for eviction promotion | |
CN110750566A (zh) | 数据处理方法、装置、缓存系统及缓存管理平台 | |
CN111414383A (zh) | 数据请求方法、数据处理系统及计算设备 | |
JP7116382B2 (ja) | 開アドレス法探査バリアを利用する方法、コンピュータ・プログラムおよび装置 | |
US20130173862A1 (en) | Method for cleaning cache of processor and associated processor | |
CN114880293A (zh) | 一种软件启动加速方法及装置与计算设备 | |
US11816067B2 (en) | Prefetching data from a data storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16872241 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16872241 Country of ref document: EP Kind code of ref document: A1 |