CN105447171A - 数据缓存方法与装置 - Google Patents
数据缓存方法与装置 Download PDFInfo
- Publication number
- CN105447171A CN105447171A CN201510889469.XA CN201510889469A CN105447171A CN 105447171 A CN105447171 A CN 105447171A CN 201510889469 A CN201510889469 A CN 201510889469A CN 105447171 A CN105447171 A CN 105447171A
- Authority
- CN
- China
- Prior art keywords
- data
- threshold
- acquisition request
- visit capacity
- buffer area
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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
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
技术领域
本发明涉及一种计算机技术及互联网领域,特别涉及一种数据缓存方法与装置。
背景技术
相关技术中,为了提高网站访问速度,一些大型的、需要频繁访问数据库的网站通常采用分布式的高速缓存系统。
相关技术中,分布式的高速缓存系统的工作流程为:先检查客户端的请求数据是否在内存缓存中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在内存缓存中,则到数据库中查找请求的数据,在数据库中查找到请求的数据后,从数据库中获取该数据,并将从数据库中获取的数据返回给客户端,同时将数据缓存一份到内存中;每次更新数据库的同时更新内存缓存中的数据,保证一致性。
当分配给数据库缓存的内存空间用完之后,则使用LRU(LeastRecentlyUsed,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。例如,假设数据库中一共有6条数据,序号分别为1、2、3、4、5和6,假设内存里只能缓存三条数据,根据LRU机制,在从数据库中获取到一条数据时,将使用该条数据替换内存中原来缓存的一条数据,比如,最近收到了三个查找请求,分别请求第1、2和3条数据,将第1、2和3条数据缓存到内存中,假设又接收到一个数据获取请求,请求查找第6条数据,从内存中没有查找到第6条数据,则从数据库中查找,从数据库中获取到第6条数据时,将第6条数据返回给客户端,并将第6条数据缓存到内存中,由于数据库的内存空间已满,则使用第6条将数据库内存中最近最少使用的那条数据,即第1条数据,替换掉,则数据库内存中缓存的数据的序号为:6,3,2。
采用这种机制,热数据也可能被替换掉,例如,在上述例子中,假设第1、2和3是三条数据非常非常的热的数据(即在最近时间内访问次数很多的数据),而第6条数据为冷数据,例如,大约一天能查一次。则采用上述机制,在接收到查找第6条数据的查找请求时,将热数据即第1条数据从数据库内存踢出去了,再接收到其他的查找第1条数据的情况时,需要从数据库中查找,而且,由于第1条数据是热数据,同时接收到的查找请求的数量很大,都需要去数据库中查找,特别是在数据库内存中缓存的多条热数据都被冷数据踢到数据内中,将会导致数据库的压力过大,导致拥塞。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据存储方案。
本发明一个进一步的目的是提供一种可以分级缓存数据的方案。
本发明另一进一步的目的是可以快速的定位到请求获取的数据。
根据本发明的一个方面,本发明提供了一种数据缓存方法,包括:接收数据获取请求,判断数据库内存中是否有缓存数据获取请求所请求的数据;在确定数据库内存中没有缓存数据获取请求所请求的数据的情况下,从数据库中查找数据获取请求所请求的数据,将查找到的数据返回给客户端;获取查找到的数据在上一周期的访问量;判断查找到的数据在上一周期的访问量是否达到第一阈值,在查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将数据缓存至数据库内存。
可选地,判断查找到的数据在上一周期内的访问量是否达到第一阈值,包括:计算查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比;判断百分比是否达到第一阈值。
可选地,数据库内存包括:第一缓存区和第二缓存区;将数据缓存至数据库内存包括:判断查找到的数据在上一周期的访问量是否达到第二阈值,其中,第二阈值大于第一阈值;在判断查找到的数据在上一周期的访问量达到第二阈值的情况下,将查找到的数据缓存至第一缓存区;在判断查找到的数据在上一周期的访问量没有达到第二阈值的情况下,将查找到的数据缓存至第二缓存区。
可选地,判断查找到的数据在上一周期的访问量是否达到第二阈值,包括:获取查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比;判断百分比是否达到第二阈值。
可选地,该方法还包括:在当前周期到达时,根据数据库中各个数据在当前周期的访问量与第一阈值和第二阈值的大小关系,更新第一缓存区和第二缓存区内缓存的数据,其中,第一缓存区中缓存的数据的访问量达到第二阈值,第二缓存区中缓存的数据的访问量达到第一阈值且未达到第二阈值。
可选地,判断数据库内存中是否缓存有数据获取请求所请求的数据,包括:判断数据获取请求所请求的数据在上一周期的访问量是否达到第一阈值,在数据获取请求所请求的数据在上一周期的访问量没有达到第一阈值,确定数据获取请求所请求的数据没有缓存在数据库内存中。
可选地,在数据获取请求所请求的数据在上一周期的访问量达到第一阈值的情况下,该方法还包括:判断数据获取请求所请求的数据在上一周期的访问量是否达到第二阈值,如果是,则从第一缓存区查找数据获取请求所请求的数据,在从第一缓存区查找到数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第一缓存区查找到数据获取请求所请求的数据,则继续在第二缓存区查找数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第二缓存区查找到数据获取请求所请求的数据,则确定数据获取请求所请求的数据没有缓存在数据库内存中;如果数据获取请求所请求的数据在上一周期的访问量没有达到第二阈值,则在第二缓存区查找数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第二缓存区查找到数据获取请求所请求的数据,则确定数据获取请求所请求的数据没有缓存在数据库内存中。
根据本发明的另一个方面,还提供了一种数据缓存装置,包括:接收模块,用于接收数据获取请求;第一判断模块,用于判断数据库内存中是否有缓存数据获取请求所请求的数据;查找模块,用于在第一判断模块判断数据库内存中没有缓存数据获取请求所请求的数据的情况下,从数据库中查找数据获取请求所请求的数据;发送模块,用于将查找模块查找到的数据返回给客户端;获取模块,用于获取查找到的数据在上一周期的访问量;第二判断模块,用于判断查找到的数据在上一周期的访问量是否达到第一阈值;缓存模块,用于在第二判断模块判断查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将数据缓存至数据库内存。
可选地,第二判断模块包括:第一计算单元,用于计算查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比;第一判断单元,用于判断第一计算单元得到的百分比是否达到第一阈值。
可选地,数据库内存包括:第一缓存区和第二缓存区;缓存模块包括:第二判断单元,用于判断查找到的数据在上一周期的访问量是否达到第二阈值,其中,第二阈值大于第一阈值;缓存单元,用于在判断查找到的数据在上一周期的访问量达到第二阈值的情况下,将查找到的数据缓存至第一缓存区,在判断查找到的数据在上一周期的访问量没有达到第二阈值的情况下,将查找到的数据缓存至第二缓存区。
可选地,第二判断单元通过以下方式判断查找到的数据在上一周期的访问量是否达到第二阈值:获取查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比;判断百分比是否达到第二阈值。
可选地,该装置还包括:更新模块,用于在当前周期到达时,根据数据库中各个数据在当前周期的访问量与第一阈值和第二阈值的大小关系,更新第一缓存区和第二缓存区内缓存的数据,其中,第一缓存区中缓存的数据的访问量达到第二阈值,第二缓存区中缓存的数据的访问量达到第一阈值且未达到第二阈值。
可选地,第一判断模块包括:第三判断单元,用于判断数据获取请求所请求的数据在上一周期的访问量是否达到第一阈值;确定单元,用于在数据获取请求所请求的数据在上一周期的访问量没有达到第一阈值,确定数据获取请求所请求的数据没有缓存在数据库内存中。
可选地,述第一判断模块还包括:第四判断单元,其中,第四判断单元,用于在数据获取请求所请求的数据在上一周期的访问量达到第一阈值的情况下,判断数据获取请求所请求的数据在上一周期的访问量是否达到第二阈值,如果是,则触发查找模块从第一缓存区查找数据获取请求所请求的数据,如果否,则触发查找模块从第二缓存区查找数据获取请求所请求的数据;查找模块,还用于在第四判断单元的触发下,从第一缓存区查找数据获取请求所请求的数据,以及在没有从第一缓存区查找到数据获取请求所请求的数据的情况下,继续在第二缓存区查找数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第二缓存区查找到数据获取请求所请求的数据,则确定数据获取请求所请求的数据没有缓存在数据库内存中,从数据库中查找数据获取请求所请求的数据;或者,在在第四判断单元的触发下,从第二缓存区查找数据获取请求所请求的数据,如果没有从第二缓存区查找到数据获取请求所请求的数据,则确定数据获取请求所请求的数据没有缓存在数据库内存中,从数据库中查找数据获取请求所请求的数据。
本发明的数据缓存方案,在接收到数据获取请求时,如果请求的数据没有缓存在数据库内存,从数据库中获取到请求的数据时,根据该数据在上一周期的访问量,确定是否将该数据缓存至数据库内存,只有在该数据在上一周期的访问量达到第一阈值的情况下,才将该数据缓存至数据库内存内,从而可以避免冷数据替换数据库内存中的热数据的情况,进而可以减小数据库的访问压力。
进一步地,本发明提供的数据缓存方案中,将数据库内存分为两个区域,即第一缓存区和第二缓存区,在将数据缓存至数据库内存时,根据该数据在上一周期的访问量,将访问量高的数据缓存至第一缓存区,将访问量低一些的数据缓存至第二缓存区,从而可以保证访问量靠前的缓存的数据不会被访问量更低的数据替换掉,解决了由于冷数据替换缓存的热数据而导致数据库访问压力过大的问题。
进一步地,本发明提供的数据缓存方案,根据数据的访问量进行缓存,从而可以对请求访问的数据进行基本定位,进而可以缩短数据查询的时间。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。在附图中:
图1是根据本发明实施例一的数据缓存方法的流程图;
图2是根据本发明实施例二的数据缓存方法的流程图;
图3是根据本发明实施例三的数据缓存装置的结构示意框图;以及
图4是根据本发明实施例三的可选数据缓存装置的结构示意图。
具体实施方式
实施例一
图1是根据本发明实施例一的数据缓存方法的流程图,如图1所示,本实施例提供的数据缓存方法主要包括以下步骤:
步骤S102,接收数据获取请求,判断数据库内存中是否有缓存数据获取请求所请求的数据;
步骤S104,在确定数据库内存中没有缓存该数据获取请求所请求的数据的情况下,从数据库中查找该数据获取请求所请求的数据,将查找到的数据返回给客户端;
步骤S106,获取所述查找到的数据在上一周期的访问量;
在具体应用中,可以在日志中增加一个记录项,用于统计数据库中每项数据的访问次数。
在本实施例中,可以按照一定周期(例如,1分钟、1小时或1天等),根据日志中统计的每个数据的访问次数,获取每个数据在该周期的访问量。例如,可以在每个周期到达时,将日志中记录的某个数据的总访问量减去上一周期到达时该数据的总访问量,得到该数据在当前周期中的访问量。
步骤S108,判断查找到的数据在上一周期的访问量是否达到第一阈值,在查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将该数据缓存至所述数据库内存。
在本实施例中,对缓存至数据库内存的数据的访问量进行限制,只有在该数据的访问量到达阈值的情况下,才将该数据缓存至数据库内存中,从而可以保证缓存至数据库内存的数据的访问量均是比较高的数据(即比较热的数据),避免使用冷数据替换数据库内存中的热数据的情况,从而可以保证数据库的访问量不会太高,避免了数据库的访问压力过大。
在本实施例中,第一阈值可以为访问量的绝对值,例如,5万次,也可以为访问量的相对值,例如,10%,即当一个数据在上一周期的访问量占整个数据库中所有数据的总访问量的百分比。因此,在本实施例的一个可选实施方式中,在步骤S108中,可以通过以下步骤方式来判断步骤S104中查找到的数据在上一周期内的访问量是否达到第一阈值:首先,计算该查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比,然后判断计算得到的百分比是否达到第一阈值。通过该可选实施方式,以访问量的相对值来实现某个数据是否缓存到数据库内存中,可以使得冷热数据判断得更准确,可以进一步保证数据库的访问压力不会过大。
在本发明实施例的一个可选实施方案中,为了避免相对不那么热的数据将数据库内存中缓存的更热一些的数据替换掉,将数据库内存分为两个区域,即第一缓存区和第二缓存区,其中,第一缓存区中缓存的数据的访问量大于第二缓存区的数据的访问量;则在步骤S108中将数据缓存至数据库内存时,可以进一步判断是将数据缓存至第一缓存区还是第二缓存区。具体地,步骤S108中将数据缓存至数据库内存可以包括:判断查找到的数据在上一周期的访问量是否达到第二阈值,其中,第二阈值大于第一阈值;在判断查找到的数据在上一周期的访问量达到第二阈值的情况下,将查找到的数据缓存至第一缓存区;在判断查找到的数据在上一周期的访问量没有达到第二阈值的情况下,将查找到的数据缓存至第二缓存区。采用该可选实施方式,将最热的N(根据第一缓存区的内存大小确定)个数据缓存至第一缓存区,将次热的M(根据第二缓存区的内存大小确定)个数据缓存至第二缓存区,在将数据缓存至数据库内存时,只有在该数据的访问量到达第二阈值的情况下,才将该数据缓存至第一缓存区,否则,将该数据缓存至第二缓存区别,从而可以避免缓存区中最热的数据被替换掉。
与第一阈值类似,在本实施例中,第二阈值可以为访问量的绝对值,例如,10万次,也可以为访问量的相对值,例如,20%,即当一个数据在上一周期的访问量占整个数据库中所有数据的总访问量的百分比。因此,在上述可选实施方式中,可以通过以下步骤来判断查找到的数据在上一周期的访问量是否达到第二阈值:获取查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比;判断该百分比是否达到第二阈值。当然,如果步骤S108中计算了查找到的数据在上一周期的访问量与数据库中所有数据在上一周期的访问总量的百分比,则在执行此步骤时,也可以不再计算该百分比,而直接判断。通过该可选实施方式,以访问量的相对值来实现某个数据是否缓存到数据库内存中,可以使得冷热数据判断得更准确,可以进一步保证数据库的访问压力不会过大。
在本发明实施例的一个可选实施方案中,为了保证第一缓存区和第二缓存区能真实的反应数据的冷热程度,避免访问量不达标的数据继续缓存在第一缓存区和第二缓存区,在每个周期到达时,根据数据库中各个数据在当前周期的访问量与第一阈值和第二阈值的大小关系,更新第一缓存区和第二缓存区内缓存的数据,即将访问量达到第二阈值的数据缓存至第一缓存区,将访问量到达第一阈值但没有达到第二阈值的数据缓存至第二缓存区。
在本实施例中,由于是根据数据的访问量将数据缓存至第一缓存区、第二缓存区,或者,不缓存该数据,因此,在接收到数据获取请求时,可以大致判断所请求的数据是否缓存在第一缓存区或第二缓存区。因此,在本发明实施例的又一个可选实施方案中,在步骤S102中,判断数据库内存中是否缓存有数据获取请求所请求的数据可以包括以下步骤:判断数据获取请求所请求的数据在上一周期的访问量是否达到第一阈值,在数据获取请求所请求的数据在上一周期的访问量没有达到第一阈值,确定数据获取请求所请求的数据没有缓存在数据库内存中。
进一步地,在上述可选实施方式中,在数据获取请求所请求的数据在上一周期的访问量达到第一阈值的情况下,则可以进一步判断数据获取请求所请求的数据在上一周期的访问量是否达到第二阈值,如果是,则从第一缓存区查找数据获取请求所请求的数据,在从第一缓存区查找到数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第一缓存区查找到数据获取请求所请求的数据,则继续在第二缓存区查找数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第二缓存区查找到数据获取请求所请求的数据,则确定数据获取请求所请求的数据没有缓存在数据库内存中;
进一步地,数据获取请求所请求的数据在上一周期的访问量达到第一阈值,而没有达到第二阈值,则在第二缓存区查找数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从第二缓存区查找到数据获取请求所请求的数据,则确定数据获取请求所请求的数据没有缓存在数据库内存中。
通过上述可选实施方式中,在接收到数据获取请求时,可以根据上一周期该数据的访问量,大致对数据进行定位,提高了数据的获取效率。
实施例二
图2为根据本实施例的数据缓存方法的流程图,如图2所示,本实施例提供的数据缓存方法主要包括以下步骤:
步骤S201,接收数据获取请求;
步骤S202,获取数据获取请求所请求的数据在上一周期的访问量;
步骤S203,判断该访问量是否大于第二阈值,如果是,则执行步骤S208。,否则执行步骤S204;
步骤S204,判断该访问量是否大于第一阈值,如果是,则执行步骤S209。,否则,执行步骤S205;
步骤S205,从数据库中查找所请求的数据,将查找到的数据返回给客户端;
步骤S206,判断所请求的数据在上一周期的访问量是否大于第二阈值,如果是,则将该数据缓存至第一缓存区,结束流程;否则,执行步骤S207;
在将该数据缓存至第一缓存区时,如果此时第一缓存区已存满,则将第一缓存区中最近一次访问的时间最早的数据缓存至第二缓存区,如果第二缓存区已存满,则将第二缓存区中最近一次访问的时间最早的数据从第二缓存区中删除。
步骤S207,判断所请求的数据在上一周期的访问量是否大于第一阈值,如果是,则将该数据缓存至第二缓存区,结束流程;否则,直接结束。
在将该数据缓存至第二缓存区时,如果此时第二缓存区已存满,则将第二缓存区中最近一次访问的时间最早的数据从第二缓存区中删除。
步骤S208,从第一缓存区中查找所请求的数据;
步骤S209,是否从第一缓存区找到?如果查找到,则返回给客户端,结束流程,如果没有查找到,则执行步骤S210;
步骤S210,从第二缓存区中查找所请求的数据;
步骤S211,是否从第二缓存区找到?如果查找到,则返回给客户端,结束流程,如果没有查找到,则执行步骤S205。
通过本实施例提供的技术方案,在接收到数据获取请求时,先根据所请求的数据的访问量,大致判断该数据是否是缓存在第一缓存区或第二缓存区,并从对应的区域查找所请求的数据,从而可以提高数据查找的准确率。另外,在数据库内存区没有存储所请求的数据时,在获取到该数据后,先判断该数据在上一周期的访问量是否达到第一阈值或第二阈值,并根据判断结果执行相应的操作,可以避免冷数据替换掉数据库内存中的热数据的情况,避免了由于数据库内存中没有缓存热数据而导致数据库的访问压力过大的问题。
实施例三
本实施例提供了一种数据缓存装置,该装置可以用于实现上述任一种实施方式所描述的数据缓存方法。
图3为本实施例提供的数据缓存装置的结构示意图,如图3所示,该数据缓存装置主要包括:接收模块310,用于接收数据获取请求;第一判断模块320,用于判断数据库内存中是否有缓存所述数据获取请求所请求的数据;查找模块330,用于在所述第一判断模块320判断所述数据库内存中没有缓存所述数据获取请求所请求的数据的情况下,从数据库中查找所述数据获取请求所请求的数据;发送模块340,用于将所述查找模块330查找到的数据返回给客户端;获取模块350,用于获取所述查找到的数据在上一周期的访问量;第二判断模块360,用于判断所述查找到的数据在上一周期的访问量是否达到第一阈值;缓存模块370,用于在所述第二判断模块判断所述查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将所述数据缓存至所述数据库内存。
在具体应用中,可以在日志中增加一个记录项,用于统计数据库中每项数据的访问次数。
在本实施例中,可以按照一定周期(例如,1分钟、1小时或1天等),根据日志中统计的每个数据的访问次数,获取每个数据在该周期的访问量。例如,可以在每个周期到达时,将日志中记录的某个数据的总访问量减去上一周期到达时该数据的总访问量,得到该数据在当前周期中的访问量。
在本实施例中,对缓存至数据库内存的数据的访问量进行限制,只有在该数据的访问量到达阈值的情况下,才将该数据缓存至数据库内存中,从而可以保证缓存至数据库内存的数据的访问量均是比较高的数据(即比较热的数据),避免使用冷数据替换数据库内存中的热数据的情况,从而可以保证数据库的访问量不会太高,避免了数据库的访问压力过大。
在本实施例中,第一阈值可以为访问量的绝对值,例如,5万次,也可以为访问量的相对值,例如,10%,即当一个数据在上一周期的访问量占整个数据库中所有数据的总访问量的百分比。因此,在本实施例的一个可选实施方式中,第二判断模块360可以包括:第一计算单元,用于计算所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;第一判断单元,用于判断所述第一计算单元得到的百分比是否达到所述第一阈值。通过该可选实施方式,以访问量的相对值来实现某个数据是否缓存到数据库内存中,可以使得冷热数据判断得更准确,可以进一步保证数据库的访问压力不会过大。
在本发明实施例的一个可选实施方案中,为了避免相对不那么热的数据将数据库内存中缓存的更热一些的数据替换掉,将数据库内存分为两个区域,即第一缓存区和第二缓存区,其中,第一缓存区中缓存的数据的访问量大于第二缓存区的数据的访问量。在该可选实施方式中,缓存模块370可以包括:第二判断单元,用于判断所述查找到的数据在上一周期的访问量是否达到第二阈值,其中,所述第二阈值大于所述第一阈值;缓存单元,用于在判断所述查找到的数据在上一周期的访问量达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第一缓存区,在判断所述查找到的数据在上一周期的访问量没有达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第二缓存区。采用该可选实施方式,将最热的N(根据第一缓存区的内存大小确定)个数据缓存至第一缓存区,将次热的M(根据第二缓存区的内存大小确定)个数据缓存至第二缓存区,在将数据缓存至数据库内存时,只有在该数据的访问量到达第二阈值的情况下,才将该数据缓存至第一缓存区,否则,将该数据缓存至第二缓存区别,从而可以避免缓存区中最热的数据被替换掉。
与第一阈值类似,在本实施例中,第二阈值可以为访问量的绝对值,例如,10万次,也可以为访问量的相对值,例如,20%,即当一个数据在上一周期的访问量占整个数据库中所有数据的总访问量的百分比。因此,在上述可选实施方式中,第二判断单元可以通过以下方式判断所述查找到的数据在上一周期的访问量是否达到第二阈值:获取所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;判断所述百分比是否达到所述第二阈值。
在本发明实施例的一个可选实施方案中,为了保证第一缓存区和第二缓存区能真实的反应数据的冷热程度,避免访问量不达标的数据继续缓存在第一缓存区和第二缓存区,在每个周期到达时,根据数据库中各个数据在当前周期的访问量与第一阈值和第二阈值的大小关系,更新第一缓存区和第二缓存区内缓存的数据。因此,在该可选实施方式中,如图4所示,该装置还可以更新模块380,用于在当前周期到达时,根据数据库中各个数据在当前周期的访问量与所述第一阈值和所述第二阈值的大小关系,更新所述第一缓存区和所述第二缓存区内缓存的数据,其中,所述第一缓存区中缓存的数据的访问量达到所述第一阈值,所述第二缓存区中缓存的数据的访问量达到所述第二阈值。
在本实施例中,由于是根据数据的访问量将数据缓存至第一缓存区、第二缓存区,或者,不缓存该数据,因此,在接收到数据获取请求时,可以大致判断所请求的数据是否缓存在第一缓存区或第二缓存区。因此,在本发明实施例的又一个可选实施方案中,第一判断模块320可以包括:第三判断单元,用于判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第二阈值;确定单元,用于在所述数据获取请求所请求的数据在上一周期的访问量没有达到所述第二阈值,确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中。
进一步地,在上述可选实施方式中,在数据获取请求所请求的数据在上一周期的访问量达到第一阈值的情况下,则可以进一步判断数据获取请求所请求的数据在上一周期的访问量是否达到第二阈值。因此,在在本发明实施例的又一个可选实施方案中,第一判断模块还可以包括:第四判断单元。其中,所述第四判断单元,用于在所述数据获取请求所请求的数据在上一周期的访问量达到所述第二阈值的情况下,判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第一阈值,如果是,则触发所述查找模块从所述第一缓存区查找所述数据获取请求所请求的数据,如果否,则触发所述查找模块从所述第二缓存区查找所述数据获取请求所请求的数据;所述查找模块,还用于在所述第四判断单元的触发下,从所述第一缓存区查找所述数据获取请求所请求的数据,以及在没有从所述第一缓存区查找到所述数据获取请求所请求的数据的情况下,继续在所述第二缓存区查找所述数据获取请求所请求的数据,如果从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中,从所述数据库中查找所述数据获取请求所请求的数据;或者,在所述第四判断单元的触发下,从所述第二缓存区查找所述数据获取请求所请求的数据,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中,从所述数据库中查找所述数据获取请求所请求的数据。通过上述可选实施方式中,在接收到数据获取请求时,可以根据上一周期该数据的访问量,大致对数据进行定位,提高了数据的获取效率。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
基于本发明的一个方面,还公开了:A1.一种数据缓存方法,包括:
接收数据获取请求,判断数据库内存中是否有缓存所述数据获取请求所请求的数据;
在确定所述数据库内存中没有缓存所述数据获取请求所请求的数据的情况下,从数据库中查找所述数据获取请求所请求的数据,将查找到的数据返回给客户端;
获取所述查找到的数据在上一周期的访问量;
判断所述查找到的数据在上一周期的访问量是否达到第一阈值,在所述查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将所述数据缓存至所述数据库内存。
A2.根据A1所述的方法,其特征在于,判断所述查找到的数据在上一周期内的访问量是否达到第一阈值,包括:
计算所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
判断所述百分比是否达到所述第一阈值。
A3.根据A1或A2所述的方法,其特征在于,所述数据库内存包括:第一缓存区和第二缓存区;将所述数据缓存至所述数据库内存包括:
判断所述查找到的数据在上一周期的访问量是否达到第二阈值,其中,所述第二阈值大于所述第一阈值;
在判断所述查找到的数据在上一周期的访问量达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第一缓存区;
在判断所述查找到的数据在上一周期的访问量没有达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第二缓存区。
A4.根据A3所述的方法,其特征在于,判断所述查找到的数据在上一周期的访问量是否达到第二阈值,包括:
获取所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
判断所述百分比是否达到所述第二阈值。
A5.根据A3所述的方法,还包括:
在当前周期到达时,根据数据库中各个数据在当前周期的访问量与所述第一阈值和所述第二阈值的大小关系,更新所述第一缓存区和所述第二缓存区内缓存的数据,其中,所述第一缓存区中缓存的数据的访问量达到所述第二阈值,所述第二缓存区中缓存的数据的访问量达到所述第一阈值且未达到第二阈值。
A6.根据A5所述的方法,其特征在于,判断数据库内存中是否缓存有所述数据获取请求所请求的数据,包括:
判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第一阈值,在所述数据获取请求所请求的数据在上一周期的访问量没有达到所述第一阈值,确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中。
A7.根据A6所述的方法,其特征在于,在所述数据获取请求所请求的数据在上一周期的访问量达到所述第一阈值的情况下,所述方法还包括:
判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第二阈值,如果是,则从所述第一缓存区查找所述数据获取请求所请求的数据,若从所述第一缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第一缓存区查找到所述数据获取请求所请求的数据,则继续在所述第二缓存区查找所述数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中;
如果所述数据获取请求所请求的数据在上一周期的访问量没有达到所述第二阈值,则在所述第二缓存区查找所述数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中。
基于本发明的另一个方面,还公开了:B8.一种数据缓存装置,包括:
接收模块,用于接收数据获取请求;
第一判断模块,用于判断数据库内存中是否有缓存所述数据获取请求所请求的数据;
查找模块,用于在所述第一判断模块判断所述数据库内存中没有缓存所述数据获取请求所请求的数据的情况下,从数据库中查找所述数据获取请求所请求的数据;
发送模块,用于将所述查找模块查找到的数据返回给客户端;
获取模块,用于获取所述查找到的数据在上一周期的访问量;
第二判断模块,用于判断所述查找到的数据在上一周期的访问量是否达到第一阈值;
缓存模块,用于在所述第二判断模块判断所述查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将所述数据缓存至所述数据库内存。
B9.根据B8所述的装置,其特征在于,所述第二判断模块包括:
第一计算单元,用于计算所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
第一判断单元,用于判断所述第一计算单元得到的百分比是否达到所述第一阈值。
B10.根据B8或B9所述的装置,其特征在于,所述数据库内存包括:第一缓存区和第二缓存区;所述缓存模块包括:
第二判断单元,用于判断所述查找到的数据在上一周期的访问量是否达到第二阈值,其中,所述第二阈值大于所述第一阈值;
缓存单元,用于在判断所述查找到的数据在上一周期的访问量达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第一缓存区,在判断所述查找到的数据在上一周期的访问量没有达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第二缓存区。
B11.根据B10所述的装置,其特征在于,所述第二判断单元通过以下方式判断所述查找到的数据在上一周期的访问量是否达到第二阈值:
获取所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
判断所述百分比是否达到所述第二阈值。
B12.根据B10所述的装置,还包括:
更新模块,用于在当前周期到达时,根据数据库中各个数据在当前周期的访问量与所述第一阈值和所述第二阈值的大小关系,更新所述第一缓存区和所述第二缓存区内缓存的数据,其中,所述第一缓存区中缓存的数据的访问量达到所述第二阈值,所述第二缓存区中缓存的数据的访问量达到所述第一阈值且未达到第二阈值。
B13.根据B12所述的装置,其特征在于,所述第一判断模块包括:
第三判断单元,用于判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第一阈值;
确定单元,用于在所述数据获取请求所请求的数据在上一周期的访问量没有达到所述第一阈值,确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中。
B14.根据B13所述的装置,其特征在于,所述第一判断模块还包括:第四判断单元,其中,
所述第四判断单元,用于在所述数据获取请求所请求的数据在上一周期的访问量达到所述第一阈值的情况下,判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第二阈值,如果是,则触发所述查找模块从所述第一缓存区查找所述数据获取请求所请求的数据,如果否,则触发所述查找模块从所述第二缓存区查找所述数据获取请求所请求的数据;
所述查找模块,还用于在所述第四判断单元的触发下,从所述第一缓存区查找所述数据获取请求所请求的数据,以及在没有从所述第一缓存区查找到所述数据获取请求所请求的数据的情况下,继续在所述第二缓存区查找所述数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中,从所述数据库中查找所述数据获取请求所请求的数据;或者,在所述第四判断单元的触发下,从所述第二缓存区查找所述数据获取请求所请求的数据,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中,从所述数据库中查找所述数据获取请求所请求的数据。
Claims (10)
1.一种数据缓存方法,包括:
接收数据获取请求,判断数据库内存中是否有缓存所述数据获取请求所请求的数据;
在确定所述数据库内存中没有缓存所述数据获取请求所请求的数据的情况下,从数据库中查找所述数据获取请求所请求的数据,将查找到的数据返回给客户端;
获取所述查找到的数据在上一周期的访问量;
判断所述查找到的数据在上一周期的访问量是否达到第一阈值,在所述查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将所述数据缓存至所述数据库内存。
2.根据权利要求1所述的方法,其特征在于,判断所述查找到的数据在上一周期内的访问量是否达到第一阈值,包括:
计算所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
判断所述百分比是否达到所述第一阈值。
3.根据权利要求1或2所述的方法,其特征在于,所述数据库内存包括:第一缓存区和第二缓存区;将所述数据缓存至所述数据库内存包括:
判断所述查找到的数据在上一周期的访问量是否达到第二阈值,其中,所述第二阈值大于所述第一阈值;
在判断所述查找到的数据在上一周期的访问量达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第一缓存区;
在判断所述查找到的数据在上一周期的访问量没有达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第二缓存区。
4.根据权利要求3所述的方法,其特征在于,判断所述查找到的数据在上一周期的访问量是否达到第二阈值,包括:
获取所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
判断所述百分比是否达到所述第二阈值。
5.根据权利要求3所述的方法,还包括:
在当前周期到达时,根据数据库中各个数据在当前周期的访问量与所述第一阈值和所述第二阈值的大小关系,更新所述第一缓存区和所述第二缓存区内缓存的数据,其中,所述第一缓存区中缓存的数据的访问量达到所述第二阈值,所述第二缓存区中缓存的数据的访问量达到所述第一阈值且未达到第二阈值。
6.根据权利要求5所述的方法,其特征在于,判断数据库内存中是否缓存有所述数据获取请求所请求的数据,包括:
判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第一阈值,在所述数据获取请求所请求的数据在上一周期的访问量没有达到所述第一阈值,确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中。
7.根据权利要求6所述的方法,其特征在于,在所述数据获取请求所请求的数据在上一周期的访问量达到所述第一阈值的情况下,所述方法还包括:
判断所述数据获取请求所请求的数据在上一周期的访问量是否达到所述第二阈值,如果是,则从所述第一缓存区查找所述数据获取请求所请求的数据,若从所述第一缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第一缓存区查找到所述数据获取请求所请求的数据,则继续在所述第二缓存区查找所述数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中;
如果所述数据获取请求所请求的数据在上一周期的访问量没有达到所述第二阈值,则在所述第二缓存区查找所述数据获取请求所请求的数据,若从所述第二缓存区查找到所述数据获取请求所请求的数据,则将查找到的数据返回给客户端,如果没有从所述第二缓存区查找到所述数据获取请求所请求的数据,则确定所述数据获取请求所请求的数据没有缓存在所述数据库内存中。
8.一种数据缓存装置,包括:
接收模块,用于接收数据获取请求;
第一判断模块,用于判断数据库内存中是否有缓存所述数据获取请求所请求的数据;
查找模块,用于在所述第一判断模块判断所述数据库内存中没有缓存所述数据获取请求所请求的数据的情况下,从数据库中查找所述数据获取请求所请求的数据;
发送模块,用于将所述查找模块查找到的数据返回给客户端;
获取模块,用于获取所述查找到的数据在上一周期的访问量;
第二判断模块,用于判断所述查找到的数据在上一周期的访问量是否达到第一阈值;
缓存模块,用于在所述第二判断模块判断所述查找到的数据在上一周期的访问量的访问量达到第一阈值的情况下,将所述数据缓存至所述数据库内存。
9.根据权利要求8所述的装置,其特征在于,所述第二判断模块包括:
第一计算单元,用于计算所述查找到的数据在上一周期的访问量与所述数据库中所有数据在上一周期的访问总量的百分比;
第一判断单元,用于判断所述第一计算单元得到的百分比是否达到所述第一阈值。
10.根据权利要求8或9所述的装置,其特征在于,所述数据库内存包括:第一缓存区和第二缓存区;所述缓存模块包括:
第二判断单元,用于判断所述查找到的数据在上一周期的访问量是否达到第二阈值,其中,所述第二阈值大于所述第一阈值;
缓存单元,用于在判断所述查找到的数据在上一周期的访问量达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第一缓存区,在判断所述查找到的数据在上一周期的访问量没有达到所述第二阈值的情况下,将所述查找到的数据缓存至所述第二缓存区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510889469.XA CN105447171A (zh) | 2015-12-07 | 2015-12-07 | 数据缓存方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510889469.XA CN105447171A (zh) | 2015-12-07 | 2015-12-07 | 数据缓存方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447171A true CN105447171A (zh) | 2016-03-30 |
Family
ID=55557347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510889469.XA Pending CN105447171A (zh) | 2015-12-07 | 2015-12-07 | 数据缓存方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447171A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812189A (zh) * | 2016-04-26 | 2016-07-27 | 努比亚技术有限公司 | 一种信息处理方法及服务器 |
CN107391553A (zh) * | 2017-06-07 | 2017-11-24 | 上海斐讯数据通信技术有限公司 | 一种硬件设备的ua信息库的处理方法和装置 |
CN107566434A (zh) * | 2016-07-01 | 2018-01-09 | 北京京东尚科信息技术有限公司 | 一种分布式系统中缓存数据读写方法及系统 |
CN107623702A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
WO2019019382A1 (zh) * | 2017-07-27 | 2019-01-31 | 上海壹账通金融科技有限公司 | 缓存处理方法、装置、计算机设备和存储介质 |
CN109947668A (zh) * | 2017-12-21 | 2019-06-28 | 北京京东尚科信息技术有限公司 | 存储数据的方法和装置 |
CN110795395A (zh) * | 2018-07-31 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 文件部署系统和文件部署方法 |
WO2020229921A1 (en) * | 2019-05-12 | 2020-11-19 | International Business Machines Corporation | Improving cache hit ratios for selected volumes in a storage system |
CN113158097A (zh) * | 2020-01-07 | 2021-07-23 | 广州探途天下科技有限公司 | 一种网络访问处理方法、装置、设备及系统 |
US11151035B2 (en) | 2019-05-12 | 2021-10-19 | International Business Machines Corporation | Cache hit ratios for selected volumes within a storage system |
US11169919B2 (en) | 2019-05-12 | 2021-11-09 | International Business Machines Corporation | Cache preference for selected volumes within a storage system |
US11176052B2 (en) | 2019-05-12 | 2021-11-16 | International Business Machines Corporation | Variable cache status for selected volumes within a storage system |
CN113778909A (zh) * | 2020-09-28 | 2021-12-10 | 北京京东振世信息技术有限公司 | 一种缓存数据的方法和装置 |
US11237730B2 (en) | 2019-05-12 | 2022-02-01 | International Business Machines Corporation | Favored cache status for selected volumes within a storage system |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN102662859A (zh) * | 2012-03-14 | 2012-09-12 | 北京神州数码思特奇信息技术股份有限公司 | 一种基于服务等级的数据缓存的系统和方法 |
CN102682037A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据获取方法、系统及装置 |
CN103092920A (zh) * | 2012-12-26 | 2013-05-08 | 新浪网技术(中国)有限公司 | 半结构化数据的存储方法及存储系统 |
CN103177005A (zh) * | 2011-12-21 | 2013-06-26 | 深圳市腾讯计算机系统有限公司 | 一种数据访问的处理方法和系统 |
CN103236989A (zh) * | 2013-04-25 | 2013-08-07 | 青岛海信传媒网络技术有限公司 | 一种内容分发网络中的缓存控制方法、设备及系统 |
CN103336849A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
CN103631972A (zh) * | 2013-12-23 | 2014-03-12 | 济南大学 | 一种列访问感知的数据缓存方法及系统 |
CN103747072A (zh) * | 2013-12-30 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种读写数据的方法和应用服务器 |
US20150088805A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
CN104793901A (zh) * | 2015-04-09 | 2015-07-22 | 北京鲸鲨软件科技有限公司 | 一种存储装置及存储方法 |
CN104866434A (zh) * | 2015-06-01 | 2015-08-26 | 北京圆通慧达管理软件开发有限公司 | 面向多应用的数据存储系统和数据存储、调用方法 |
-
2015
- 2015-12-07 CN CN201510889469.XA patent/CN105447171A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692229A (zh) * | 2009-07-28 | 2010-04-07 | 武汉大学 | 基于数据内容的三维空间数据自适应多级缓存系统 |
CN102682037A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据获取方法、系统及装置 |
CN103177005A (zh) * | 2011-12-21 | 2013-06-26 | 深圳市腾讯计算机系统有限公司 | 一种数据访问的处理方法和系统 |
CN102662859A (zh) * | 2012-03-14 | 2012-09-12 | 北京神州数码思特奇信息技术股份有限公司 | 一种基于服务等级的数据缓存的系统和方法 |
CN103092920A (zh) * | 2012-12-26 | 2013-05-08 | 新浪网技术(中国)有限公司 | 半结构化数据的存储方法及存储系统 |
CN103236989A (zh) * | 2013-04-25 | 2013-08-07 | 青岛海信传媒网络技术有限公司 | 一种内容分发网络中的缓存控制方法、设备及系统 |
CN103336849A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
US20150088805A1 (en) * | 2013-09-20 | 2015-03-26 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
CN103631972A (zh) * | 2013-12-23 | 2014-03-12 | 济南大学 | 一种列访问感知的数据缓存方法及系统 |
CN103747072A (zh) * | 2013-12-30 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种读写数据的方法和应用服务器 |
CN104793901A (zh) * | 2015-04-09 | 2015-07-22 | 北京鲸鲨软件科技有限公司 | 一种存储装置及存储方法 |
CN104866434A (zh) * | 2015-06-01 | 2015-08-26 | 北京圆通慧达管理软件开发有限公司 | 面向多应用的数据存储系统和数据存储、调用方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812189A (zh) * | 2016-04-26 | 2016-07-27 | 努比亚技术有限公司 | 一种信息处理方法及服务器 |
CN105812189B (zh) * | 2016-04-26 | 2019-06-28 | 努比亚技术有限公司 | 一种信息处理方法及服务器 |
CN107566434A (zh) * | 2016-07-01 | 2018-01-09 | 北京京东尚科信息技术有限公司 | 一种分布式系统中缓存数据读写方法及系统 |
CN107623702A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
CN107391553A (zh) * | 2017-06-07 | 2017-11-24 | 上海斐讯数据通信技术有限公司 | 一种硬件设备的ua信息库的处理方法和装置 |
WO2019019382A1 (zh) * | 2017-07-27 | 2019-01-31 | 上海壹账通金融科技有限公司 | 缓存处理方法、装置、计算机设备和存储介质 |
CN109947668A (zh) * | 2017-12-21 | 2019-06-28 | 北京京东尚科信息技术有限公司 | 存储数据的方法和装置 |
CN110795395A (zh) * | 2018-07-31 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 文件部署系统和文件部署方法 |
CN110795395B (zh) * | 2018-07-31 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 文件部署系统和文件部署方法 |
US11151035B2 (en) | 2019-05-12 | 2021-10-19 | International Business Machines Corporation | Cache hit ratios for selected volumes within a storage system |
US11163698B2 (en) | 2019-05-12 | 2021-11-02 | International Business Machines Corporation | Cache hit ratios for selected volumes using synchronous I/O |
US11169919B2 (en) | 2019-05-12 | 2021-11-09 | International Business Machines Corporation | Cache preference for selected volumes within a storage system |
US11176052B2 (en) | 2019-05-12 | 2021-11-16 | International Business Machines Corporation | Variable cache status for selected volumes within a storage system |
US11237730B2 (en) | 2019-05-12 | 2022-02-01 | International Business Machines Corporation | Favored cache status for selected volumes within a storage system |
GB2597634A (en) * | 2019-05-12 | 2022-02-02 | Ibm | Improving cache hit ratios for selected volumes in a storage system |
GB2597634B (en) * | 2019-05-12 | 2022-12-21 | Ibm | Improving cache hit ratios for selected volumes in a storage system |
WO2020229921A1 (en) * | 2019-05-12 | 2020-11-19 | International Business Machines Corporation | Improving cache hit ratios for selected volumes in a storage system |
CN113158097A (zh) * | 2020-01-07 | 2021-07-23 | 广州探途天下科技有限公司 | 一种网络访问处理方法、装置、设备及系统 |
CN113778909A (zh) * | 2020-09-28 | 2021-12-10 | 北京京东振世信息技术有限公司 | 一种缓存数据的方法和装置 |
CN113778909B (zh) * | 2020-09-28 | 2023-12-05 | 北京京东振世信息技术有限公司 | 一种缓存数据的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447171A (zh) | 数据缓存方法与装置 | |
CN103885728B (zh) | 一种基于固态盘的磁盘缓存系统 | |
US9880909B2 (en) | Cached data replication for cache recovery | |
CN110321325B (zh) | 文件索引节点查找方法、终端、服务器、系统及存储介质 | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
US20170161194A1 (en) | Page-based prefetching triggered by tlb activity | |
CN105608115A (zh) | 数据获取方法与装置 | |
CN107783985B (zh) | 一种分布式数据库查询方法、装置及管理系统 | |
US9229869B1 (en) | Multi-lock caches | |
CN106021128B (zh) | 一种基于步幅和数据相关性的数据预取器及其预取方法 | |
CN100437590C (zh) | 预取对象的方法 | |
CN105488208B (zh) | 数据查找方法与装置 | |
CN108021717B (zh) | 一种轻量级嵌入式文件系统的实现方法 | |
US10061517B2 (en) | Apparatus and method for data arrangement | |
CN104794228A (zh) | 一种搜索结果提供方法及装置 | |
CN105740445A (zh) | 一种数据库查询方法及装置 | |
TWI768039B (zh) | 多處理器系統、資料管理方法及非暫時性電腦可讀媒體 | |
CN103294822A (zh) | 一种基于主动哈希和布隆过滤器的高效缓存方法 | |
CN104683329A (zh) | 一种移动设备客户端的数据缓存方法及系统 | |
CN108874806A (zh) | 数据查询方法、装置及数据存储系统 | |
CN110795363A (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
CN109597829B (zh) | 一种实现可搜索加密关系型数据库缓存的中间件方法 | |
CN104298622A (zh) | 使用fifo的最近最少使用的高速缓存替代实现 | |
CN115080459A (zh) | 缓存管理方法及装置、计算机可读存储介质 | |
CN103559307A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |