CN106156255A - 一种数据缓存层实现方法及系统 - Google Patents
一种数据缓存层实现方法及系统 Download PDFInfo
- Publication number
- CN106156255A CN106156255A CN201510208706.1A CN201510208706A CN106156255A CN 106156255 A CN106156255 A CN 106156255A CN 201510208706 A CN201510208706 A CN 201510208706A CN 106156255 A CN106156255 A CN 106156255A
- Authority
- CN
- China
- Prior art keywords
- buffer storage
- data buffer
- data
- user
- layer
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据缓存层实现方法及系统,所述方法包括:将数据缓存分为若干层,每一层均为独立的数据缓存层;将用户请求分别分配到不同的数据缓存层处理;应用层从所述数据缓存层中获取所述用户请求的处理结果。本发明实施例的方案,能够提高数据缓存访问的速度和效率,并提高数据安全性,极大的提高了用户体验度。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种数据缓存层实现方法及系统。
背景技术
缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。
利用缓存的工作原理,在系统设计的时候,越来越多的会设计一个系统层面的数据缓存区域,使用数据缓存在WEB工程中是一个非常有意义的策略,不仅仅可以减少数据库负载,而且当数据缓存在内存中,能大大提高了的读取速度。
在WEB开发中,缓存可以分为:
数据库端缓存。这个可以用以“空间换时间”来说。比如建一个表来存储另外一个表某个类型的数据的总条数,在每次更新数据的时候同事更新数据表和统计条数的表。在需要获取某个类型的数据的条数的时候,就不需要selectcount去查询,直接查询统计表就可以了,这样可以提高查询的速度和数据库的性能。
应用层缓存。应用层缓存这块跟开发人员关系最大,也是平时经常接触的。缓存数据库的查询结果,减少数据的压力。这个在大型网站是必须做的。缓存磁盘文件的数据。比如常用的数据可以放到内存,不用每次都去读取磁盘,特别是密集计算的程序,比如中文分词的词库。缓存某个耗时的计算操作,比如数据统计。
应用层缓存的架构也可以分几种:
嵌入式,也就是缓存和应用在同一个机器。比如单机的文件缓存,java中用hashMap来缓存数据等等。这种缓存速度快,没有网络消耗。
分布式缓存,把缓存的数据独立到不同的机器,通过网络来请求数据,比如常用的memcache就是这一类。
分布式缓存一般可以分为几种:
按应用切分数据到不同的缓存服务器,这是一种比较简单和实用的方式。
按照某种规则(hash,路由等等)把数据存储到不同的缓存服务器
代理模式,应用在获取数据的时候都由代理透明的处理,缓存机制有代理服务器来处理
我们这里说的前端缓存可以理解为一般使用的cdn技术,利用squid等做前端缓冲技术,主要还是针对静态文件类型,比如图片,css,js,html等静态文件。
浏览器端的缓存,可以让用户请求一次之后,下一次不在从服务器端请求数据,直接从本地缓存读取,可以减轻服务器负担也可以加快用户的访问速度。
在应用层的缓存由于应经有新的数据加入,数据的修改,数据的删除等等操作,而在某些时间,我们需要这些操作及时的生效(由于用了缓存,可能会导致修改后缓存没有更新,而页面也没有变化),所以出现缓存的更新和过期的概念。
数据缓存层实际上就是对一个巨大的存在于内存中的DataSet进行管理,其原理如下:
数据缓存层维护一个大DataSet,这个DataSet以static存在于应用程序中,这是缓存数据集。
客户端发起请求,数据查询请求发送到数据缓存层。
数据缓存层查询缓存起来的数据查询条件,查找该查询条件是否被使用过。
如果该查询条件以前使用过,则不从数据库查询数据,只从缓存数据集中查询。
如果该查询条件以前没有用过,则调用数据访问层从数据库中查询数据,并将查询数据合并到缓存数据集中,同时缓存该查询条件。
更新数据时,将要更新的数据更新到数据库中,同时更新缓存数据集中的数据。
在查询或更新数据时,都在缓存数据集相应数据表的扩展属性中记录当前访问时间。
每隔一段时间对缓存数据集进行清理,当其中某条数据行超过一定时间(可以在配置文件中进行配置)没有访问,则将该表释放。
现有技术中,对于数据缓存通常是通过硬件或者软件的设置,对数据进行整体的缓存,从而提高访问的效率。然而,当缓存数据量很大的时候,缓存的效率也会明显降低,从而影响用户体验。因而,亟需要一种提高缓存效率的方案,以提高对数据缓存访问的速度和效率。
发明内容
本发明提供一种数据缓存层实现方法及系统,用以解决现有技术中大数据量情况下数据缓存效率低下的问题。
本发明提供一种数据缓存层实现方法,包括:
将数据缓存分为若干层,每一层均为独立的数据缓存层;
将用户请求分别分配到不同的数据缓存层处理;
应用层从所述数据缓存层中获取所述用户请求的处理结果。
所述方法还包括:
根据用户请求数据量的大小,动态调整所述数据缓存层的数量。
所述方法还包括:
将所述用户请求随机分配到不同的数据缓存层处理。
所述方法还包括:
将所述用户请求根据负载均衡算法,随机分配到不同的数据缓存层处理。
所述方法还包括:
将同一用户的用户请求分配到同一数据缓存层处理。
所述方法还包括:
根据所述用户请求的对应的用户标识的编码,随机计算所述用户请求对应的数据缓存层,并根据计算结果将所述用户请求分配到不同的数据缓存层。
一种数据缓存层实现系统,包括:
数据缓存层单元,将数据缓存分为若干层,每一层均为独立的数据缓存层;
用户请求分配单元,用于将用户请求分别分配到不同的数据缓存层处理;
应用层单元,用于从数据缓存层中获取所述用户请求的处理结果。
所述数据缓存层单元还用于根据用户请求数据量的大小,动态调整所述数据缓存层的数量。
所述用户请求分配单元还用于将所述用户请求根据负载均衡算法,随机分配到不同的数据缓存层处理。
所述用户请求分配单元还用于将同一用户的用户请求分配到同一数据缓存层处理。
本发明实施例通过将数据缓存分为若干层,每一层均为独立的数据缓存层;将用户请求分别分配到不同的数据缓存层处理;应用层从所述数据缓存层中获取所述用户请求的处理结果。本发明实施例的方案,能够提高数据缓存访问的速度和效率,并提高数据安全性,极大的提高了用户体验度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1提供的一种数据缓存层实现方法原理流程图;
图2为本发明实施例2提供的一种数据缓存层实现系统结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,为本发明实施例1提供的一种数据缓存层实现方法原理流程图,其中,
步骤11,将数据缓存分为若干层,每一层均为独立的数据缓存层。
数据缓存也称为缓存,缓存是数据库数据在内存中的临时容器,它包含了库表数据在内存中的拷贝,位于数据库与数据访问层之间。对于查询操作相当频繁的系统(论坛,新闻发布等),良好的缓存机制显得尤为重要。在进行数据读取和操作时,首先在缓存中查询,避免了数据库调用的性能开销。
比较常见的应用层分布式缓存容器,Memcache、共享文件服务器、MemcacheDb、Tokyo Tyrant。php里面也有比如x-cache,apc等的基于进程的缓存,这种缓存比分布式缓存速度快,但是限于跟应用的一个机器。java实现的缓存也比较多,比如oscache,jcache,ehcached等等。
数据缓存(Data Caching)就是将数据暂存于内存缓存区中的一种技术。通常的数据缓存分为以下几类,但都是将缓存作为一个整体来使用。一个数据缓存只有一个输入和输出,所有数据和请求均在这个缓存中按照队列先后处理。具体来说,几种缓存的原理如下:
1、网页输出缓存
当网页的内容相对固定时,可以将整个网页缓存起来。因为对于动态网页来说,网页的访问大体上可以分为三个步骤:用户请求;动态生成网页并转化为HTML格式;向浏览器发送显示。
设置网页输出缓存(Output Caching)的方法很简单,下面举例:
(1)在网站中增加一个网页,放入一个label控件,假定将控件命名为TimeMsg。
(2)在网页的Page_Load事件编写如下代码,以便在TimeMsg控件中显示打开网页的时间。
{TimeMsg.text=”打开网页的时间是:”+DataTime.Now.ToString()}
(3)在*.aspx网页的代码中增加设置缓存的指令:
语句”<%@.......%>”是网页配置的指令,在这里用来给网页指定缓存参数。其中:Duration=”60”(注意:时间两端要加引号)代表缓存持续时间为60秒,VaryByParam属性用来指定特定版本的网页输出。在<%@OutputCache。。。%>配置指令中一定要加入VaryByParam属性。即使不使用这个版本属性,也要将它加入,但将其值设为none。
网页缓存以后,不论访问的用户来自世界何处,都直接从缓存区中提取出来直接送发显示。
2、数据库缓存
通常情况下,大量数据是保存在数据库中的,而应用程序访问数据库是一项很费时的操作。
如果先将数据库中的数据缓存到缓存区中,当应用程序需要这些数据时,直接从缓存区中提取,就可以减少系统开销。
在ASP.NET 2.0中可以通过数据源设置数据表的缓存参数。在SqlDataSoure控件的属性中有几项用于设置缓存的参数。
CacheDuration:代表缓存的持续时间。默认时间为Infinite(无限)。本例中设置为600秒。
CacheExpirationPolicy:缓存策略。包括两种设置:Absolute和sliding。当设置成Absolute时,时限一到,缓存区失效;当设置为sliding时,时限一到立即刷新缓存区中的数据,并继续缓存更新后的数据。
EnableCaching:默认为False,即不使用数据缓存,将该属性改为True,即可启动数据缓存。
SqlCacheDependency:缓存依赖关系。例如设置为pubs:authors表示数据库pubs中的authors数据表与它的数据缓存之间建立依赖关系。
属性中作了上述设置后,将自动形成以下代码:
ID=”SqlDataSource1”
EnableCaching=”true”
CacheDuration=”600”
ConnectionString=”Server=localhost;database=pubs;”
selectCommand=”select title from titles”
Runat=”Server”/>
有时数据表太大,缓存区可能会占用太大的内存空间。可以将数据缓存到硬盘的缓存区中,为了实现这一点,需要做一些专门的设置。设置包括两方面。
在Web.config文件中指定硬盘缓存区的大小,配置语句如下:
<system.web>
<caching>
<outputCache>
<diskCache enabled=”True”maxSizePerApp=”2”/>
</outputCache>
</caching>
</system.web>
其中,DiskCache enabled=”True”用来启动硬盘缓存功能;maxSizePerApp=”2”用来确定缓存区的容量,这里确定的缓存区最大容量为2兆。由于对硬盘的存取速度比较慢,因此硬盘缓存只适用于缓存持续时间较长的情况(本例中缓存时间为60分钟)。
3、缓存池
数据缓存技术大大提高了数据访问的速度,但却可能引发数据不一致的问题。
因此,以上数据缓存技术只适用于数据量大,变化频率不高的数据。现在ASP.NET 2.0新版本结合数据库SQL Server2005,对数据缓存功能又作了很大改进,既简化了使用进程,又完善了处理措施,其中最突出的一点就是与数据库相结合自动解决了数据失效的问题。
在ASP.NET 2.0中为了解决数据实效的问题,通过新类SQLCacheDependency建立起与新一代数据库的SQL缓存依赖关系,这种关系可以使得数据库能够自动监视数据表的状况,一旦数据表发生了变化,立即启动数据库本身的触发器将相应的缓存区中的数据变为无效。
本实施例中,对于数据缓存不再视为一个整体,而是将数据缓存根据需要分解成多个并行的数据缓存层。每个数据缓存层都是一个独立的数据缓存,可以独立运作,独立作为数据缓存使用。
数据缓存的分层,可以根据需要预先设定,也可以根据需要动态调整。例如,可以根据用户请求数据量的大小,动态调整数据缓存层的数量。也就是说,可以将整个数据缓存仅分为一个数据缓存层,然后根据实际数据量的大小动态的调整,数据量大的时候就增加数据缓存层的数量,以保证数据的及时处理。
步骤12,将用户请求分别分配到不同的数据缓存层处理。
用户请求即为数据缓存层处理的数据。实际上,并不一定限定为用户请求,而是所有的需要数据缓存层处理的数据均可以在数据缓存层中处理,所不同的,仅仅是对不同数据的分配方式。
对于用户请求,必须要在某一个分配的数据缓存层中处理。分配的方法,可以是完全随机的随机分配。例如,可以根据用户请求所针对的用户属性标识或者应用标识等,取其中的部分编码进行随机数计算,得到的结果对应不同的数据缓存层。这样,可以保证所有的用户请求随机的均匀分配到不同的数据缓存层处理。
进一步的,为了保证数据缓存层与用户请求分配的稳定性,可以采用想用的负载均衡算法进行分配。负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
通常的负载均衡算法主要有:Static算法、Random算法、Round robin算法、Hash算法、CARP算法、Consistent hash算法等。
Static算法,负载均衡的石器时代,为一个服务指定多个IP:PORT,备份模式,其总是返回服务器组的第一个服务器(只要第一个服务器可用),当第一个服务器没有用的时候,才会返回后续可用的服务器。这种情况下,每台机器都包括全量的数据,查询通常会落到第一台机器上,第一台机器上Cache命中率高。
Random算法对于无状态服务比较适用,随便选取一台机器就可以。在实际使用中,跟Static算法一样,都是模块维护全量数据,这个还好每台机器的cache命中率理论上应该差不多,但是都不高。因为同样一个请求一会落到机器A,一会落到机器B上。
Round robin算法是典型的平均主义,顺序依次选取服务器。同样的模块维护全量数据,跟Random一样杯具,基本上一样的原因。相同的请求会被落到不同的机器上,导致Cache命中率低。
Hash算法又叫取余算法,将query key做hash之后,按照机器数量取余,选取中一个机器进行连接服务。余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。那就是当添加或移除服务器时,缓存重组的代价相当巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器,从而影响缓存的命中率。
CARP算法准确的说不是一个算法,而是一个协议,Cache Array RoutingProtocol,Cache群组路由协议。计算全部服务器的idx_key=hash(query_key+server_idx),其中计算得到idx_key最大的server_idx就是需要的idx。假设开始3台后端服务器,请求用标志串req="abcd"来标志,服务器用S1,S2,S3来标志,那么,通过对req+Sx合并起来计算签名就可以对每个服务器得到一个数值:
(req="abcd"+S1)=K1
(req="abcd"+S2)=K2
(req="abcd"+S3)=K3
计算的方法可以使用crc,也可以使用MD5,目的的得到一个*散列*的数字,这样在K1,K2,K3中必定有一个最大的数值,假设是K2,那么可以将请求req扔给S2,这样,以后对相同的请求,相同的服务器组,计算出来的结果必定是K2最大,从而达到HASH分布的效果。
巧妙的地方在于,新增或者删除一台服务器的时候,不会引起已有服务器的cache大规模失效,假设新增一台服务器S4,那么对S1,S2,S3计算的K值都完全相同,那么对S4可以计算得到一个新值K4,如果计算K的算法足够散列,那么原先计算到S1,S2,S3的请求,理论上都会有1/4的请求新计算得到的K4比原先的K大,那么这1/4的请求会转移到S4,从而新增的S4服务器会负担1/4的请求,原先的S1,S2,S3也只会负担原先的3/4。
Consistent hash算法:首先求出服务器(节点)的哈希值,并将其配置到0~2^32的圆(continuum)上。然后用同样的方法求出存储数据的键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。如果超过2^32仍然找不到服务器,就会保存到第一台服务器上。
各种负载均衡算法均可以完成本实施例要求的对用户请求平均分配到各个数据缓存层的过程,只是效率有所区别。本实施例对负载均衡算法没有具体限定。
进一步的,由于每个用户对应的用户请求的处理可能有先后顺序的要求,而如果将同一用户的不同用户请求随机的分配到不同的数据缓存层处理,则可能会破坏同一用户的用户请求的时间顺序。因而,需要对同一用户的用户请求都分配到同一个数据缓存层处理。具体实现方式可以为:根据所述用户请求的对应的用户标识的编码,随机计算所述用户请求对应的数据缓存层,并根据计算结果将所述用户请求分配到不同的数据缓存层。
步骤13,应用层从数据缓存层中获取用户请求的处理结果。
由于已经将用户请求分配到了不同的数据缓存层处理,则相应的应用层就需要从不同的数据缓存层中获取用户请求的处理结果,并进行后续处理。应用层与数据缓存层的对应,与用户请求与数据缓存层的分配相类似。
本实施例通过将数据缓存分为若干层,每一层均为独立的数据缓存层;将用户请求分别分配到不同的数据缓存层处理;应用层从所述数据缓存层中获取所述用户请求的处理结果。本发明实施例的方案,能够提高数据缓存访问的速度和效率,并提高数据安全性,极大的提高了用户体验度。
如图2所示,为本发明实施例2提供的一种数据缓存层实现系统结构示意图,其中,
数据缓存层单元21,将数据缓存分为若干层,每一层均为独立的数据缓存层;
用户请求分配单元22,用于将用户请求分别分配到不同的数据缓存层处理;
应用层单元23,用于从数据缓存层中获取所述用户请求的处理结果。
进一步的,所述数据缓存层单元21还用于根据用户请求数据量的大小,动态调整所述数据缓存层的数量。
进一步的,所述用户请求分配单元22还用于将所述用户请求根据负载均衡算法,随机分配到不同的数据缓存层处理。
进一步的,所述用户请求分配单元22还用于将同一用户的用户请求分配到同一数据缓存层处理。
综上所述,本发明实施例通过将数据缓存分为若干层,每一层均为独立的数据缓存层;将用户请求分别分配到不同的数据缓存层处理;应用层从所述数据缓存层中获取所述用户请求的处理结果。本发明实施例的方案,能够提高数据缓存访问的速度和效率,并提高数据安全性,极大的提高了用户体验度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据缓存层实现方法,其特征在于,包括:
将数据缓存分为若干层,每一层均为独立的数据缓存层;
将用户请求分别分配到不同的数据缓存层处理;
应用层从所述数据缓存层中获取所述用户请求的处理结果。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据用户请求数据量的大小,动态调整所述数据缓存层的数量。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述用户请求随机分配到不同的数据缓存层处理。
4.如权利要求1或3所述的方法,其特征在于,所述方法还包括:
将所述用户请求根据负载均衡算法,随机分配到不同的数据缓存层处理。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
将同一用户的用户请求分配到同一数据缓存层处理。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述用户请求的对应的用户标识的编码,随机计算所述用户请求对应的数据缓存层,并根据计算结果将所述用户请求分配到不同的数据缓存层。
7.一种数据缓存层实现系统,其特征在于,包括:
数据缓存层单元,将数据缓存分为若干层,每一层均为独立的数据缓存层;
用户请求分配单元,用于将用户请求分别分配到不同的数据缓存层处理;
应用层单元,用于从数据缓存层中获取所述用户请求的处理结果。
8.如权利要求7所述的系统,其特征在于,所述数据缓存层单元还用于根据用户请求数据量的大小,动态调整所述数据缓存层的数量。
9.如权利要求7所述的系统,其特征在于,所述用户请求分配单元还用于将所述用户请求根据负载均衡算法,随机分配到不同的数据缓存层处理。
10.如权利要求7或9所述的系统,其特征在于,所述用户请求分配单元还用于将同一用户的用户请求分配到同一数据缓存层处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510208706.1A CN106156255A (zh) | 2015-04-28 | 2015-04-28 | 一种数据缓存层实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510208706.1A CN106156255A (zh) | 2015-04-28 | 2015-04-28 | 一种数据缓存层实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106156255A true CN106156255A (zh) | 2016-11-23 |
Family
ID=57347146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510208706.1A Pending CN106156255A (zh) | 2015-04-28 | 2015-04-28 | 一种数据缓存层实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106156255A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599223A (zh) * | 2016-12-19 | 2017-04-26 | 北海市云盛科技有限公司 | 一种记录文件被访问记录的方法 |
CN107562829A (zh) * | 2017-08-22 | 2018-01-09 | 上海幻电信息科技有限公司 | 数据访问方法及设备 |
CN107622124A (zh) * | 2017-09-28 | 2018-01-23 | 深圳市华傲数据技术有限公司 | 基于块数据的数据查询方法及系统 |
CN108470043A (zh) * | 2018-02-27 | 2018-08-31 | 阿里巴巴集团控股有限公司 | 一种业务结果的获取方法及装置 |
CN110825705A (zh) * | 2019-11-22 | 2020-02-21 | 广东浪潮大数据研究有限公司 | 一种数据集缓存方法及相关装置 |
CN111221840A (zh) * | 2018-11-23 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、数据缓存方法、存储介质、系统 |
CN112000287A (zh) * | 2020-08-14 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种io请求处理装置、方法、设备及可读存储介质 |
CN112016693A (zh) * | 2019-05-30 | 2020-12-01 | 中兴通讯股份有限公司 | 机器学习引擎实现方法及装置、终端设备、存储介质 |
CN112949013A (zh) * | 2021-03-30 | 2021-06-11 | 中消云(北京)物联网科技研究院有限公司 | 管网构件处理方法及装置、处理器、计算机存储介质 |
CN113094126A (zh) * | 2019-12-23 | 2021-07-09 | 华为技术有限公司 | 终端应用的窗体处理方法、应用服务器、终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060248287A1 (en) * | 2005-04-29 | 2006-11-02 | Ibm Corporation | Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures |
CN101576918A (zh) * | 2009-06-19 | 2009-11-11 | 用友软件股份有限公司 | 具备负载均衡功能的数据缓存系统 |
CN102739799A (zh) * | 2012-07-04 | 2012-10-17 | 合一网络技术(北京)有限公司 | 一种分布式应用中的分布式通讯方法 |
CN102891894A (zh) * | 2012-10-17 | 2013-01-23 | 中国工商银行股份有限公司 | 应用于服务器集群的缓存方法、缓存服务器及缓存系统 |
CN103716375A (zh) * | 2013-12-05 | 2014-04-09 | 北京用友政务软件有限公司 | 基于分布式缓存的多级财政数据交互方法及系统 |
CN103886038A (zh) * | 2014-03-10 | 2014-06-25 | 中标软件有限公司 | 数据缓存方法及装置 |
-
2015
- 2015-04-28 CN CN201510208706.1A patent/CN106156255A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060248287A1 (en) * | 2005-04-29 | 2006-11-02 | Ibm Corporation | Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures |
CN101576918A (zh) * | 2009-06-19 | 2009-11-11 | 用友软件股份有限公司 | 具备负载均衡功能的数据缓存系统 |
CN102739799A (zh) * | 2012-07-04 | 2012-10-17 | 合一网络技术(北京)有限公司 | 一种分布式应用中的分布式通讯方法 |
CN102891894A (zh) * | 2012-10-17 | 2013-01-23 | 中国工商银行股份有限公司 | 应用于服务器集群的缓存方法、缓存服务器及缓存系统 |
CN103716375A (zh) * | 2013-12-05 | 2014-04-09 | 北京用友政务软件有限公司 | 基于分布式缓存的多级财政数据交互方法及系统 |
CN103886038A (zh) * | 2014-03-10 | 2014-06-25 | 中标软件有限公司 | 数据缓存方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599223A (zh) * | 2016-12-19 | 2017-04-26 | 北海市云盛科技有限公司 | 一种记录文件被访问记录的方法 |
CN107562829B (zh) * | 2017-08-22 | 2020-09-29 | 上海幻电信息科技有限公司 | 数据访问方法及设备 |
CN107562829A (zh) * | 2017-08-22 | 2018-01-09 | 上海幻电信息科技有限公司 | 数据访问方法及设备 |
CN107622124A (zh) * | 2017-09-28 | 2018-01-23 | 深圳市华傲数据技术有限公司 | 基于块数据的数据查询方法及系统 |
CN108470043A (zh) * | 2018-02-27 | 2018-08-31 | 阿里巴巴集团控股有限公司 | 一种业务结果的获取方法及装置 |
CN111221840A (zh) * | 2018-11-23 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、数据缓存方法、存储介质、系统 |
CN111221840B (zh) * | 2018-11-23 | 2023-05-30 | 阿里云计算有限公司 | 数据处理方法及装置、数据缓存方法、存储介质、系统 |
CN112016693A (zh) * | 2019-05-30 | 2020-12-01 | 中兴通讯股份有限公司 | 机器学习引擎实现方法及装置、终端设备、存储介质 |
CN112016693B (zh) * | 2019-05-30 | 2021-06-04 | 中兴通讯股份有限公司 | 机器学习引擎实现方法及装置、终端设备、存储介质 |
CN110825705A (zh) * | 2019-11-22 | 2020-02-21 | 广东浪潮大数据研究有限公司 | 一种数据集缓存方法及相关装置 |
CN113094126A (zh) * | 2019-12-23 | 2021-07-09 | 华为技术有限公司 | 终端应用的窗体处理方法、应用服务器、终端及存储介质 |
CN112000287A (zh) * | 2020-08-14 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种io请求处理装置、方法、设备及可读存储介质 |
CN112000287B (zh) * | 2020-08-14 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种io请求处理装置、方法、设备及可读存储介质 |
CN112949013A (zh) * | 2021-03-30 | 2021-06-11 | 中消云(北京)物联网科技研究院有限公司 | 管网构件处理方法及装置、处理器、计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106156255A (zh) | 一种数据缓存层实现方法及系统 | |
Dong et al. | An optimized approach for storing and accessing small files on cloud storage | |
Xu et al. | Characterizing facebook's memcached workload | |
US20180285470A1 (en) | A Mobile Web Cache Optimization Method Based on HTML5 Application Caching | |
US20170329530A1 (en) | De-duplication of client-side data cache for virtual disks | |
US20140067994A1 (en) | Reducing costs related to use of networks based on pricing heterogeneity | |
US20150142845A1 (en) | Smart database caching | |
Fukuda et al. | Caching memcached at reconfigurable network interface | |
JP5817558B2 (ja) | 情報処理装置、分散処理システム、キャッシュ管理プログラムおよび分散処理方法 | |
Meizhen et al. | The design and implementation of LRU-based web cache | |
CN112346871A (zh) | 一种请求处理方法及微服务系统 | |
US20230267130A1 (en) | Analytical query processing with decoupled compute instances | |
Elghamrawy et al. | A partitioning framework for Cassandra NoSQL database using Rendezvous hashing | |
Zakhary et al. | Caching at the Web Scale: [Tutorial] | |
WO2017015059A1 (en) | Efficient cache warm up based on user requests | |
Tang et al. | A block-level caching optimization method for mobile transparent computing | |
CN103442000B (zh) | Web缓存置换方法及装置、http代理服务器 | |
Peng et al. | Design and performance studies of an adaptive cache retrieval scheme in a mobile computing environment | |
Zhang et al. | A Two‐Level Cache for Distributed Information Retrieval in Search Engines | |
JP7392168B2 (ja) | Cdnにおけるurlリフレッシュ方法、装置、機器及びcdnノード | |
Wu et al. | Web cache replacement strategy based on reference degree | |
Elghamrawy | An adaptive load-balanced partitioning module in Cassandra using rendezvous hashing | |
Nakazato et al. | Data allocation method considering server performance and data access frequency with consistent hashing | |
Youn et al. | Cloud computing burst system (CCBS): for exa-scale computing system | |
CN110633256A (zh) | 一种分布式集群系统中Session会话的共享方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |
|
RJ01 | Rejection of invention patent application after publication |