一种获取缓存数据的方法和装置的制造方法

文档序号:9597122阅读:663来源:国知局
一种获取缓存数据的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种获取缓存数据的方法和装置。
【背景技术】
[0002]缓存系统存储有用户经常访问的数据信息,有助于用户发起数据访问时就近获取数据,达到访问加速的效果。然而,现有技术通常只有内容缓存,其需要传递大量数据。并且,当缓存系统崩溃时,不同的处理方案会给系统带来不同的效果。
[0003]目前处理缓存系统崩溃情况所常用的两种方案分别是:
[0004]I)当缓存系统崩溃无响应后,直接将请求透传到后端真实数据源。该方案造成后端数据源瞬间崩溃,造成系统雪崩,无法提供服务,进而影响同一数据源的其他服务;
[0005]2)当缓存系统崩溃后,不将请求透传到后端,直接拒绝服务。该方案虽然提供了对后端数据源的保护,但服务异常。
[0006]因此,如何提供一种缓存数据的获取方法,缓解现有技术中内容缓存的压力,进一步地,缓和缓存系统崩溃后对后端真实数据源的冲击,向数据请求方提供数据缓解系统崩溃带来的服务异常,成为本领域技术人员亟需解决的问题之一。

【发明内容】

[0007]本发明的目的是提供一种用于获取缓存数据的方法和装置。
[0008]根据本发明的一个方面,提供一种用于获取缓存数据的方法,其中,该方法包括以下步骤:
[0009]根据应用服务器的数据请求,自数据签名缓存服务器中获取与所述数据请求相对应的数据签名;
[0010]其中,该方法还包括以下任一项:
[0011 ] a若自所述数据签名缓存服务器中获取到所述数据签名,自对应的本地磁盘中获取与所述数据签名相对应的缓存数据;
[0012]b若自所述数据签名缓存服务器中未获取到所述数据签名,判定获取缓存数据失败;
[0013]c若所述数据签名缓存服务器宕机,自对应的数据内容缓存服务器中获取与数据请求对应的缓存数据。
[0014]根据本发明的另一个方面,还提供了一种用于获取缓存数据的装置,其中,该装置包括以下装置:
[0015]第一获取装置,用于根据应用服务器的数据请求,自数据签名缓存服务器中获取与所述数据请求相对应的数据签名;
[0016]其中,该装置还包括以下任一项:
[0017]第二获取装置,用于若自所述数据签名缓存服务器中获取到所述数据签名,自对应的本地磁盘中获取与所述数据签名相对应的缓存数据;
[0018]第一判定装置,用于若自所述数据签名缓存服务器中未获取到所述数据签名,判定获取缓存数据失败;
[0019]第三获取装置,用于若所述数据签名缓存服务器宕机,自对应的数据内容缓存服务器中获取与数据请求对应的缓存数据。
[0020]与现有技术相比,本发明将缓存服务器分成两个区:数据签名缓存服务器和数据内容缓存服务器,在访问缓存服务器时首先只访问数据签名缓存服务器获取数据签名即可,在能够从数据签名缓存服务器获取数据签名的情况下,成功从本地磁盘获取缓存数据,如果缓存数据有效则直接使用本地磁盘获取的缓存数据,避免向数据内容缓存服务器发起请求,缓解了数据内容缓存服务器的压力;当数据签名缓存服务器宕机时,才从数据内容缓存服务器中获取缓存数据,缓解了数据内容缓存服务器的压力。
[0021]进一步地,本发明在本地磁盘获取不到缓存数据的情况下再访问数据内容缓存服务器,避免直接向数据内容缓存服务器发起请求,缓解了数据内容缓存服务器的压力。
[0022]更进一步地,本发明当数据内容缓存服务器宕机时,不会直接判定获取缓存失败,而是会从本地磁盘中获取一个可能有用的镜像数据给数据需求方,避免在遇到宕机的情况时判定获取缓存数据失败而直接向后端真实数据源发起数据请求,从而造成后端系统崩溃。
【附图说明】
[0023]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0024]图1示出根据本发明一个方面的用于获取缓存数据的方法流程示意图。
[0025]图2示出用于获取缓存数据的方法的整体流程示意图。
[0026]图3示出根据本发明另一个方面的用于获取缓存数据的装置示意图。
[0027]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0028]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0029]在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
[0030]所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0031]需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0032]后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0033]这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0034]应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0035]应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
[0036]这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0037]还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0038]下面结合附图对本发明作进一步详细描述。
[0039]图1示出根据本发明一个方面的用于获取缓存数据的方法流程示意图。
[0040]在此,缓存获取装置I例如位于计算机设备中。
[0041]在步骤SlOl中,缓存获取装置I根据应用服务器的数据请求,自数据签名缓存服务器中获取与所述数据请求相对应的数据签名。具体地,当应用服务器发起数据请求时,缓存获取装置I例如根据缓存密钥(key),自缓存服务器的数据签名缓存服务器中获取与请求的数据对应的数据签名。例如,当应用服务器发出获取某一数据的数据请求时,为了提高获取数据的速度,缓存获取装置I可以先尝试在本地磁盘获取所述数据请求对应的缓存数据,若想获取本地磁盘存储的缓存数据需要先获取该缓存数据的数据签名,从而根据该数据签名,从该本地磁盘中获取与之对应的缓存数据。因此可以将缓存服务器分为两部分:数据签名缓存服务器和数据内容缓存服务器。当应用服务器发出数据请求时,缓存获取装置I先转入数据签名缓存服务器中快速地获取与请求的数据对应的数据签名,然后根据数据签名自本地磁盘中获取与数据签名对应的缓存数据。
[0042]在此,所述数据签名例如通过哈希(hash)算法进行确定。
[0043]在此,缓存获取装置I根据缓存密钥,自数据签名缓存服务器中获取数据签名,相类似地,该缓存获取装置I也根据缓存密钥,自下述其他装置中获取对应数据,如自数据内容缓存服务器中获取缓存数据、自本地磁盘中获取缓存数据,在此不再赘述,并通过引用的方式包含于此。
[0044]进一步地,根据自数据签名缓存服务器中获取与所述数据请求相对应的数据签名的具体获取情况,分为以下三个步骤:
[0045]在步骤S102中,若自所述数据签名缓存服务器中获取到所述数据签名,缓存获取装置I自对应的本地磁盘中获取与所述数据签名相对应的缓存数据。具体地,在步骤S102中,若自所述数据签名缓存服务器中获取到与所述数据请求对应的所述数据签名,即,数据签名缓存服务器中存在与所述数据请求对应的数据签名,并且能够从所述数据签名缓存服务器中获取该数据签名时,缓存获取装置I转入本地磁盘中,根据所述数据签名的信息在本地磁盘中进行比对查找,以获取该缓存数据。
[0046]优选地,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1