CN111200634B - 缓存资源联动更新方法、系统及服务器 - Google Patents
缓存资源联动更新方法、系统及服务器 Download PDFInfo
- Publication number
- CN111200634B CN111200634B CN201911239329.2A CN201911239329A CN111200634B CN 111200634 B CN111200634 B CN 111200634B CN 201911239329 A CN201911239329 A CN 201911239329A CN 111200634 B CN111200634 B CN 111200634B
- Authority
- CN
- China
- Prior art keywords
- resource
- cache
- server
- updating
- application server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims description 9
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供的缓存资源联动更新方法、系统及服务器,适用于缓存资源联动更新系统,缓存资源联动更新系统包括缓存服务器、缓存更新器以及应用服务器,缓存更新器获取第一资源更新消息,其中,缓存更新器记录与第一资源有联动关系的其他资源;缓存更新器响应所述第一资源更新消息,根据联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源;缓存更新器向应用服务器发起目标资源更新指令,以供应用服务器响应目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器,即通过在缓存更新器中配置各资源之间的联动关系,实现高效、智能更新缓存服务器中的相关联资源。
Description
技术领域
本发明涉及计算机网络技术,尤其涉及一种缓存资源联动更新方法、系统及服务器。
背景技术
Web缓存(或HTTP缓存)是用于临时存储Web文档(如HTML页面和图像)等资源,以减少服务器延迟的一种信息技术。
但在实际使用中,很多资源之间是具有关联关系的,因此,当后端应用数据库中存储的某一项资源更新后,也需要对缓存服务器中存储的与该项资源相关联的资源进行更新,否则用户会获得错误的资源。现有技术中通常是开发人员在后端应用底层数据库中手动维护各资源之间的联动关系,但随着资源数量增多,联动关系越来越错综复杂,手动维护的方式很难做到高效。
因此,亟需一种新的缓存资源联动更新方法,以实现高效更新缓存服务器中的相关联资源。
发明内容
针对上述问题,本发明提供了一种缓存资源联动更新方法、系统及服务器。
第一方面,本发明提供了一种缓存资源联动更新方法,适用于缓存资源联动更新系统,所述缓存资源联动更新系统包括缓存服务器、缓存更新器以及应用服务器,所述方法包括:
缓存更新器获取第一资源更新消息,其中,所述缓存更新器记录与第一资源有联动关系的其他资源;
所述缓存更新器响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源;
所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器。
在其他可选的实施方式中,所述缓存资源联动更新系统还包括:缓存代理层;
相应的,所述缓存更新器获取第一资源更新消息之前,还包括:
缓存代理层获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器,以供所述应用服务器响应所述第一资源更新指令对第一资源进行更新;
缓存代理层发送第一资源更新消息至缓存更新器。
在其他可选的实施方式中,所述缓存代理层获取资源访问指令,并转发所述资源访问指令至缓存服务器,以使缓存服务器判断所述缓存服务器中是否存在与所述资源访问指令相匹配的资源;
若否,所述缓存代理层转发所述资源访问指令至应用服务器,以使应用服务器响应所述资源访问指令,将与所述资源访问指令相匹配的资源发送至所述缓存服务器。
在其他可选的实施方式中,所述目标资源的数量为多个;
所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,包括:
针对于每个目标资源,所述缓存更新器采用异步发送的方式,向应用服务器发起目标资源更新指令,以使所述应用服务器响应各所述目标资源更新指令对各目标资源进行异步更新,并将更新后的各目标资源异步返回给缓存服务器。
在其他可选的实施方式中,缓存更新器还存储有预设时间,所述方法还包括:
所述缓存服务器确定缓存服务器所缓存的资源的保留时间大于预设时间时,向应用服务器发起资源更新指令,以供所述应用服务器响应所述资源更新指令对缓存服务器所缓存的资源进行更新,并返回给缓存服务器。
第二方面,本发明提供了一种缓存资源联动更新系统,包括:缓存服务器、缓存更新器以及应用服务器;
所述缓存更新器,用于记录与第一资源有联动关系的其他资源,并用于获取和响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源,向应用服务器发起目标资源更新指令;
所述应用服务器,用于响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器。
在其他可选的实施方式中,还包括:缓存代理层;
所述缓存代理层用于获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器,以使所述应用服务器响应所述第一资源更新指令对第一资源进行更新;
所述缓存代理层还用于发送第一资源更新消息至缓存更新器。
在其他可选的实施方式中,所述缓存代理层还用于获取资源访问指令,并转发所述资源访问指令至缓存服务器,以使缓存服务器判断所述缓存服务器中是否存在与所述资源访问指令相匹配的资源;
若否,所述缓存代理层转发所述资源访问指令至应用服务器,以使应用服务器响应所述资源访问指令,将与所述资源访问指令相匹配的资源发送至所述缓存服务器。
在其他可选的实施方式中,所述目标资源的数量为多个;
针对于每个目标资源,所述缓存更新器采用异步发送的方式,向应用服务器发起目标资源更新指令,以使所述应用服务器响应各所述目标资源更新指令对各目标资源进行异步更新,并将更新后的各目标资源异步返回给缓存服务器。
在其他可选的实施方式中,缓存更新器还存储有预设时间;
所述缓存服务器确定缓存服务器所缓存的资源的保留时间大于预设时间时,向应用服务器发起资源更新指令,以供所述应用服务器响应所述资源更新指令对缓存服务器所缓存的资源进行更新,并返回给缓存服务器。
第三方面,本发明提供了一种服务器,包括如前任一项所述的缓存资源联动更新系统。
本发明提供的缓存资源联动更新方法、系统及服务器,适用于缓存资源联动更新系统,所述缓存资源联动更新系统包括缓存服务器、缓存更新器以及应用服务器,所述方法包括:缓存更新器获取第一资源更新消息,其中,所述缓存更新器记录与第一资源有联动关系的其他资源;所述缓存更新器响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源;所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器,即本发明示例通过在缓存更新器中配置各资源之间的联动关系,当某一资源更新时,能自动更新缓存服务器中与之关联的资源,即本发明能够高效、智能实现缓存服务器中的相关联资源的更新。
附图说明
图1为本发明提供的一种应用场景示意图;
图2为本发明提供的一种缓存资源联动更新方法的流程示意图;
图3为本发明提供的另一种缓存资源联动更新方法的流程示意图;
图4为本发明提供的一种资源访问流程图;
图5为本发明提供的一种缓存资源联动更新系统的结构示意图;
图6为本发明提供的另一种缓存资源联动更新系统的结构示意图;
图7为本发明提供的一种缓存资源联动更新系统控制设备的硬件结构示意图。
具体实施方式
为使本发明示例的目的、技术方案和优点更加清楚,下面将结合本发明示例中的附图,对本发明示例中的技术方案进行清楚、完整地描述。
Web缓存(或HTTP缓存)是用于临时存储Web文档(如HTML页面和图像)等资源,以减少服务器延迟的一种信息技术。具体来说,Web缓存在客户端-服务器之间监控请求,并且把请求输出的内容(例如html页面、图片和文件)(统称为副本)另存一份;然后,如果下一个请求是具有相同的统一资源定位符(Uniform Resource Locator,简称URL),则直接请求保存的副本,而不是再次麻烦源服务器,或应用服务器。
但在实际使用中,很多资源之间是具有关联关系的。因此,当后端的应用服务器的数据库中存储的某一项资源更新后,也需要对缓存服务器中存储的与该项资源相关联的资源进行更新,否则用户会获得错误的资源。
举例来说,在应用服务器中存在两种资源用户(user)和文章(article),其中,user的数据结构如下:
通过比较user和article的数据结构可以发现,article中的authorId和authorName分别与user□面的id和name相对应,也就是说user和article这两种资源之间是存在关联关系的。下面将举例说明对user的操作如何对article产生影响。
例如,当查询id为123的用户:
GET http://example.com/users/123
返回结果:
然后查询此用户的全部□章:
GET http://example.com/users/123/articles
返回结果:
当需要更新user的name为"Benjamin"时,即
假设该用户已有2篇文章被缓存至缓存服务器上,当对应用服务器上资源user中name的进行更新后,也需要对缓存服务器上的2篇文章进行相应更新,否则用户从缓存服务器上获取到的仍然是"name":"Jack",是错误的。而在对缓存服务器上资源进行更新时,首先就需要配置user和article之间的联动关系。
现有技术中,通常是在应用服务器的底层数据库中由开发人员手动维护各资源之间的关系,但随着资源的增多,资源之间的关系越来越错综复杂,手动维护的方式很难做到高效,出错率也增大。
因此,本发明提供了一种缓存资源联动更新方法、系统及服务器,用于解决现有技术中手动维护不够高效,不够智能化的问题。
图1为本发明提供的一种应用场景示意图,如图1所示,本公开基于的一种应用场景包括客户端1和服务器2,其中,客户端1可以为手机、平板、电脑等,其中,用户通过客户端1向服务器发送请求,服务器2用于接收该请求后执行以下各示例所述的缓存资源联动更新方法,需要说明的是,本发明中涉及到缓存代理层、缓存服务器、缓存更新器以及应用服务器属于不同的进程,可以部署在同一服务器上,也可以部署在不同服务器上。
第一方面,本发明示例提供了一种缓存资源联动更新方法,图2为本发明提供的一种缓存资源联动更新方法的流程示意图,所述缓存资源联动更新方法适用于缓存资源联动更新系统,所述缓存资源联动更新系统包括缓存服务器、缓存更新器以及应用服务器。
如图2所示,该缓存资源联动更新方法包括:
步骤101、缓存更新器获取第一资源更新消息。
其中,所述缓存更新器记录与第一资源有联动关系的其他资源,所述第一资源指代了用户更新的某项资源。
具体来说,可在图1所示的服务器2上部署缓存资源联动更新系统,即在服务器2上部署缓存服务器、缓存更新器以及应用服务器三个节点,其中,缓存服务器用于缓存资源,例如redis;缓存更新器,包括配置文件,用于配置各资源之间的联动关系,即当更新某资源时,需要联动更新哪些资源;应用服务器是指由开发人员开发的HTTP应用服务器,从应用服务器上获取的资源应当总是最新的。需要说明的是,缓存服务器、缓存更新器以及应用服务器指代的是不同的进程,即可以部署在同一服务器上,也可以部署在不同的服务器上。
在实际使用中,用户通过客户端向应用服务器发送更新某资源的请求,并在更新成功后,客户端向缓存更新器发送资源更新的消息,或者应用服务器发送该消息至缓存更新器。
步骤102、所述缓存更新器响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所存储的资源,确定待更新的目标资源。
具体来说,缓存更新器接收到第一资源更新消息后,会根据缓存更新器中配置的第一资源与其他资源的联动关系以及缓存服务器中缓存的资源,确定待更新的目标资源,换句话说,待更新的目标资源即与第一资源有联动关系,同时也缓存在缓存服务器上,即缓存服务器中存在资源副本。
步骤103、所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器。
具体来说,当确定出待更新的目标资源后,缓存更新器向应用服务器发送目标资源更新指令,使得应用服务器响应目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器。
可选的,所述目标资源的数量为多个时,步骤103包括:
针对于每个目标资源,所述缓存更新器采用异步发送的方式,向应用服务器发起目标资源更新指令,以使所述应用服务器响应各所述目标资源更新指令对各目标资源进行异步更新,并将更新后的各目标资源异步返回给缓存服务器。
具体来说,即与第一资源有关联关系又缓存在缓存服务器中的目标资源可能有多个,此时,缓存更新器向应用服务器异步发起多个目标资源更新指令,应用服务器对多个目标资源进行异步更新,并将更新后的多个目标资源异步返回给缓存服务器,也就是说,对目标资源的更新进行异步处理,所谓异步处理也可称之为并行处理,即当对某一目标资源更新失败时,不会影响到其他目标资源的更新。
另外,需要说明的是,每个资源均有一个用于唯一标识该资源的资源标识,可选的,资源标识为由接口的URI、PARAMETERS、METHOD这三个部分通过BASE64算法编码得到一个URL安全的字符串,在第一资源更新消息、目标资源更新指令以及缓存服务器中所缓存的资源中均包括该资源标识。
举例说明,假设在应用服务器上存在user和article1、article2、article3、article4、article5资源,其中user和article1、article2、article3、article4的id和name相匹配,即user和article1、article2、article3、article4之间具有联动关系,则在缓存更新器中配置该联动关系,并确定了article1、article2、article5已缓存在缓存服务器上。当对user中的name进行更新后,则本发明示例的更新过程如下:
缓存更新器收到user更新的消息,根据配置的联动关系和缓存服务器所缓存的资源,可以确定出即与user有关联关系且存储在缓存服务器中的目标资源为article1、article2,然后缓存更新器向应用服务器异步发起更新article1和article2的更新指令,应用服务器收到更新指令后,对应用服务器上的article1和article2进行更新,并将更新完成后的article1和article2返回给缓存服务器。
例如,更新后的article1和article2中的articleName已由"Jack"更新为"Benjamin",数据结构如下:
本发明示例提供的缓存资源联动更新方法,适用于缓存资源联动更新系统,所述缓存资源联动更新系统包括缓存服务器、缓存更新器以及应用服务器,所述方法包括:缓存更新器获取第一资源更新消息,其中,所述缓存更新器记录与第一资源有联动关系的其他资源;所述缓存更新器响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源;所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器,即本发明示例通过在缓存更新器中配置各资源之间的联动关系,当某一资源更新时,能自动更新缓存服务器中与之关联的资源,相比与现有技术中在应用服务器的底层数据库中的手动维护,本发明能够避免在应用服务器上代码的修改,即对现有程序没有侵入性,高效、智能实现缓存服务器中的相关联资源的更新。
结合前述的各实现方式,图3为本发明提供的另一种缓存资源联动更新方法的流程示意图,所述缓存资源联动更新系统还包括:缓存代理层,如图3所示,该缓存资源联动更新方法包括:
步骤201、缓存代理层获取第一资源更新指令。
步骤202、缓存代理层将所述第一资源更新指令转发至应用服务器。
具体来说,用户通过客户端向缓存代理层发送第一资源更新指令,缓存代理层转发第一资源更新指令给应用服务器,第一资源更新指令中包括由URI、PARAMETERS、METHOD构成的资源标识。
步骤203、所述应用服务器响应所述第一资源更新指令对第一资源进行更新。
步骤204、缓存代理层发送第一资源更新消息至缓存更新器。
具体来说,当应用服务器对第一资源的更新成功后,返回更新成功的消息给缓存代理层,缓存代理层发送第一资源更新消息给缓存更新器。
步骤205、缓存更新器获取第一资源更新消息,并响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源。
其中,所述缓存更新器记录与第一资源有联动关系的其他资源。
步骤206、所述缓存更新器向应用服务器发起目标资源更新指令。
步骤207、所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器。
本实施方式中的步骤205、步骤206以及步骤207与前述实施方式中的步骤101、步骤102以及步骤103的实现方式类似,在此不进行赘述。
与前述实施方式不同的是,为了便于用户对缓存服务器中的资源进行查询和插入操作,在用户的客户端和缓存服务器之间加入一个缓存代理层,在本实施方式中,用户通过缓存代理层向应用服务器转发第一资源更新指令,应用服务器对第一资源更新后,缓存代理层会将第一资源更新的消息发送给缓存更新器,以使缓存更新器获取到第一资源更新消息后进行后续步骤204-步骤207操作。
举例说明,假设在应用服务器上存在user和article1、article2、article3、article4、article5资源,其中user和article1、article2、article3、article4的id和name相匹配,即user和article1、article2、article3、article4之间具有联动关系,则在缓存更新器中配置该联动关系,并确定了article1、article2、article5已缓存在缓存服务器上。
在执行本示例时,首先用户通过缓存代理层向应用服务器发送对user中name进行更新的指令,更新指令如下:
应用服务器响应该指令对user中的name进行更新后,并在更新成功后,缓存代理层向缓存更新器发送user更新消息,缓存更新器收到user更新的消息后,根据缓存更新器中配置的联动关系以及缓存在缓存服务器中的资源,确定出待更新的目标资源为article1、article2,则缓存更新器向应用服务器异步发起更新article1和article2的更新指令,应用服务器收到更新指令后,对应用服务器上的article1和article2进行更新,并将更新完成后的article1和article2返回给缓存服务器。
例如,更新后的article1和article2中的articleName已由"Jack"更新为"Benjamin",数据结构如下:
可选的,所述缓存代理层获取资源访问指令,并转发所述资源访问指令至缓存服务器,以使缓存服务器判断所述缓存服务器中是否存在与所述资源访问指令相匹配的资源;若否,所述缓存代理层转发所述资源访问指令至应用服务器,以使应用服务器响应所述资源访问指令,将与所述资源访问指令相匹配的资源发送至所述缓存服务器。
具体来说,缓存代理层除了转发资源更新指令以外,还会接收资源访问指令。图4为本发明提供的一种资源访问流程图,参考图4所示,当用户需要访问应用服务器上某一资源时,用户通过客户端发送资源访问指令,缓存代理层接收到该资源访问指令后,会将其转发给缓存服务器,缓存服务器会根据资源访问指令中携带的资源标识判断缓存服务器中是否存在与该资源标识匹配的资源,若没有,返回缓存代理层一空消息,缓存代理层会转发该资源访问指令给应用服务器,应用服务器返回该资源给缓存代理层,缓存代理层将该资源转发给客户端,使得用户获取该资源,同时缓存代理层会将该资源转发给缓存服务器使缓存服务器进行缓存,以便用户下次访问该资源直接从缓存服务器中获取。相较于现有技术中用户直接发送访问指令或查询指令给缓存服务器,减少了缓存服务器的压力。
可选的,缓存更新器还存储有预设时间,所述缓存服务器确定缓存服务器所缓存的资源的保留时间大于预设时间时,向应用服务器发起资源更新指令,以供所述应用服务器响应所述资源更新指令对缓存服务器所缓存的资源进行更新,并返回给缓存服务器。
具体来说,缓存更新器中还配置了预设时间,所述预设时间为缓存服务器中缓存的资源的有效时间,所述缓存服务器从缓存更新器中获取到预设时间后判断缓存服务器中的资源大于预设时间后,向应用服务器发起对缓存服务器中的资源进行更新指令,使得应用服务器对所述资源进行更新,并将更新完成后的资源返回至缓存服务器中。
本发明示例提供的缓存资源联动更新方法,所适用的缓存资源联动更新系统还包括:缓存代理层;缓存代理层获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器,以供所述应用服务器响应所述第一资源更新指令对第一资源进行更新;缓存代理层发送第一资源更新消息至缓存更新器,缓存更新器获取第一资源更新消息,其中,所述缓存更新器记录与第一资源有联动关系的其他资源;所述缓存更新器响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源;所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器,即本发明示例通过在缓存更新器中配置各资源之间的联动关系,当某一资源更新时,能自动更新缓存服务器中与之关联的资源,相比与现有技术中在应用服务器的底层数据库中的手动维护,本发明能够高效、智能实现缓存服务器中的相关联资源的更新。
第二方面,本发明示例提供了一种缓存资源联动更新系统,图5为本发明提供的一种缓存资源联动更新系统的结构示意图,如图5所示,该缓存资源联动更新系统包括:
缓存服务器11、缓存更新器12以及应用服务器13;
所述缓存更新器12,用于记录与第一资源有联动关系的其他资源,并用于获取和响应所述第一资源更新消息,根据所述联动关系以及缓存服务器11中所缓存的资源,确定待更新的目标资源,向应用服务器13发起目标资源更新指令;
所述应用服务器13,用于响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器11。
其中,所述缓存服务器11用于存储缓存的资源。
需要说明的是,缓存服务器11、缓存更新器12以及应用服务器13为不同的进程,可以部署在同一服务器上,也可以部署在不同服务器上,用户通过客户端发送更新、访问、查询等指令给缓存更新系统。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的缓存资源联动更新系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
本发明示例提供的缓存资源联动更新系统,包括缓存服务器、缓存更新器以及应用服务器;所述缓存更新器,用于记录与第一资源有联动关系的其他资源,并用于获取和响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源,向应用服务器发起目标资源更新指令;所述应用服务器,用于响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器,即本发明示例包括了缓存更新器,在缓存更新器中配置各资源之间的联动关系,当某一资源更新时,能自动更新缓存服务器中与之关联的资源,相比与现有技术中在应用服务器的底层数据库中的手动维护,本发明能够高效、智能实现缓存服务器中的相关联资源的更新。
结合前述的各实现方式,图6为本发明提供的另一种缓存资源联动更新系统的结构示意图,如图6所示,该缓存资源联动更新系统还包括:缓存代理层10;所述缓存代理层10用于获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器13,以使应用服务器13响应所述第一资源更新指令对第一资源进行更新;
所述缓存代理层10还用于发送第一资源更新消息至缓存更新器12。
在其他可选的实施方式中,所述缓存代理层10还用于获取资源访问指令,并转发所述资源访问指令至缓存服务器11,以使缓存服务器11判断所述缓存服务器11中是否存在与所述资源访问指令相匹配的资源;
若否,所述缓存代理层10转发所述资源访问指令至应用服务器13,以使应用服务器13响应所述资源访问指令,将与所述资源访问指令相匹配的资源发送至所述缓存服务器11。
在其他可选的实施方式中,所述目标资源的数量为多个;
针对于每个目标资源,所述缓存更新器12采用异步发送的方式,向应用服务器13发起目标资源更新指令,以使所述应用服务器13响应各所述目标资源更新指令对各目标资源进行异步更新,并将更新后的各目标资源异步返回给缓存服务器11。
在其他可选的实施方式中,缓存更新器12还存储有预设时间;
所述缓存服务器11确定缓存服务器11所缓存的资源的保留时间大于预设时间时,向应用服务器13发起资源更新指令,以供所述应用服务器13响应所述资源更新指令对缓存服务器11所缓存的资源进行更新,并返回给缓存服务器11。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的缓存资源联动更新系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
本发明示例提供的缓存资源联动更新系统,还包括缓存代理层;所述缓存代理层用于获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器,以使所述应用服务器响应所述第一资源更新指令对第一资源进行更新;所述缓存代理层还用于发送第一资源更新消息至缓存更新器;即本公开示例通过在客户端与缓存服务器之间设置一缓存代理层,通过在缓存代理层进行缓存资源的查询、插入等操作,相较于现有技术中用户直接访问缓存服务器,降低了缓存服务器的压力。
第三方面,本发明示例提供了一种服务器,包括如前任一项所述的缓存资源联动更新系统。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的缓存资源联动更新系统的具体工作过程以及相应的有益效果,可以参考前述方法示例中的对应过程,在此不再赘述。
第四方面,本发明示例提供了一种缓存资源联动更新系统控制设备,图7为本发明提供的一种缓存资源联动更新系统控制设备的硬件结构示意图,如图7所示,包括:
至少一个处理器701和存储器702。
在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行如上的缓存资源联动更新方法,其中,处理器701、存储器702通过总线703连接。
处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
第五方面,本发明还提供了一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上缓存资源联动更新方法。
上述的可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (3)
1.一种缓存资源联动更新方法,其特征在于,缓存资源联动更新方法适用于缓存资源联动更新系统,所述缓存资源联动更新系统包括缓存服务器、缓存更新器以及应用服务器,所述方法包括:
缓存更新器获取第一资源更新消息,其中,所述缓存更新器记录与第一资源有联动关系的其他资源,其中,每个资源均有一个用于唯一标识所述资源的资源标识;
所述缓存更新器响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源;
所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器;
所述目标资源的数量为多个;
所述缓存更新器向应用服务器发起目标资源更新指令,以供所述应用服务器响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器,包括:
针对于每个目标资源,所述缓存更新器采用异步发送的方式,向应用服务器发起目标资源更新指令,以使所述应用服务器响应各所述目标资源更新指令对各目标资源进行异步更新,并将更新后的各目标资源异步返回给缓存服务器;
缓存更新器还存储有预设时间,所述方法还包括:
所述缓存服务器确定缓存服务器所缓存的资源的保留时间大于预设时间时,向应用服务器发起资源更新指令,以供所述应用服务器响应所述资源更新指令对缓存服务器所缓存的资源进行更新,并返回给缓存服务器;
所述缓存资源联动更新系统还包括:缓存代理层;
相应的,所述缓存更新器获取第一资源更新消息之前,还包括:
缓存代理层获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器,以供所述应用服务器响应所述第一资源更新指令对第一资源进行更新;
缓存代理层发送第一资源更新消息至缓存更新器;
所述缓存代理层获取资源访问指令,并转发所述资源访问指令至缓存服务器,以使缓存服务器判断所述缓存服务器中是否存在与所述资源访问指令相匹配的资源;
若否,所述缓存代理层转发所述资源访问指令至应用服务器,以使应用服务器响应所述资源访问指令,将与所述资源访问指令相匹配的资源发送至所述缓存服务器。
2.一种缓存资源联动更新系统,其特征在于,包括:缓存服务器、缓存更新器以及应用服务器;
所述缓存更新器,用于记录与第一资源有联动关系的其他资源,并用于获取和响应所述第一资源更新消息,根据所述联动关系以及缓存服务器中所缓存的资源,确定待更新的目标资源,向应用服务器发起目标资源更新指令,其中,每个资源均有一个用于唯一标识所述资源的资源标识;
所述应用服务器,用于响应所述目标资源更新指令对目标资源进行更新,并将更新后的目标资源返回给缓存服务器;
所述目标资源的数量为多个;
针对于每个目标资源,所述缓存更新器采用异步发送的方式,向应用服务器发起目标资源更新指令,以使所述应用服务器响应各所述目标资源更新指令对各目标资源进行异步更新,并将更新后的各目标资源异步返回给缓存服务器;
缓存更新器还存储有预设时间;
所述缓存服务器确定缓存服务器所缓存的资源的保留时间大于预设时间时,向应用服务器发起资源更新指令,以供所述应用服务器响应所述资源更新指令对缓存服务器所缓存的资源进行更新,并返回给缓存服务器;
还包括:缓存代理层;
所述缓存代理层用于获取第一资源更新指令,并将所述第一资源更新指令转发至应用服务器,以使所述应用服务器响应所述第一资源更新指令对第一资源进行更新;
所述缓存代理层还用于发送第一资源更新消息至缓存更新器;
所述缓存代理层还用于获取资源访问指令,并转发所述资源访问指令至缓存服务器,以使缓存服务器判断所述缓存服务器中是否存在与所述资源访问指令相匹配的资源;
若否,所述缓存代理层转发所述资源访问指令至应用服务器,以使应用服务器响应所述资源访问指令,将与所述资源访问指令相匹配的资源发送至所述缓存服务器。
3.一种服务器,其特征在于,包括如权利要求2所述的缓存资源联动更新系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911239329.2A CN111200634B (zh) | 2019-12-06 | 2019-12-06 | 缓存资源联动更新方法、系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911239329.2A CN111200634B (zh) | 2019-12-06 | 2019-12-06 | 缓存资源联动更新方法、系统及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111200634A CN111200634A (zh) | 2020-05-26 |
CN111200634B true CN111200634B (zh) | 2023-04-18 |
Family
ID=70746558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911239329.2A Active CN111200634B (zh) | 2019-12-06 | 2019-12-06 | 缓存资源联动更新方法、系统及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111200634B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756847B (zh) * | 2020-06-28 | 2023-05-09 | 北京百度网讯科技有限公司 | 网站支持https协议的方法和装置 |
CN112291600B (zh) * | 2020-10-26 | 2023-04-18 | Vidaa(荷兰)国际控股有限公司 | 一种缓存方法及显示设备 |
CN112749850B (zh) * | 2021-01-20 | 2021-09-07 | 上海甄汇信息科技有限公司 | 基于云计算和大数据需求的信息更新方法及大数据服务器 |
CN113779462A (zh) * | 2021-09-09 | 2021-12-10 | 金蝶软件(中国)有限公司 | 一种图像联动方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170479A (zh) * | 2011-05-21 | 2011-08-31 | 成都市华为赛门铁克科技有限公司 | Web缓存的更新方法及Web缓存的更新装置 |
WO2014166265A1 (en) * | 2013-04-12 | 2014-10-16 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, cache server and system for updating webpage data |
US9378178B1 (en) * | 2015-11-30 | 2016-06-28 | International Business Machines Corporation | Enhancing HTTP caching by allowing content sharing of data blocks across resources identified by different uniform resource locators |
CN105808702A (zh) * | 2016-03-04 | 2016-07-27 | 华自科技股份有限公司 | 页面内容刷新方法、系统及页面内容同步刷新的管理系统 |
US9407726B1 (en) * | 2013-03-15 | 2016-08-02 | Juniper Networks, Inc. | Caching objects identified by dynamic resource identifiers |
GB2543279A (en) * | 2015-10-12 | 2017-04-19 | Canon Kk | Methods, devices and computer programs for optimizing use of bandwidth when pushing data in a network environment comprising cache servers |
CN107025234A (zh) * | 2016-02-01 | 2017-08-08 | 中国移动通信集团公司 | 一种信息推送方法及缓存服务器 |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
CN109284305A (zh) * | 2018-08-23 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 一种数据的更新方法、装置及系统 |
CN109344348A (zh) * | 2018-09-20 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 一种资源更新方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140344325A1 (en) * | 2013-05-15 | 2014-11-20 | Sap Ag | Asynchronous content updates in the background for improved application performance |
-
2019
- 2019-12-06 CN CN201911239329.2A patent/CN111200634B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170479A (zh) * | 2011-05-21 | 2011-08-31 | 成都市华为赛门铁克科技有限公司 | Web缓存的更新方法及Web缓存的更新装置 |
US9407726B1 (en) * | 2013-03-15 | 2016-08-02 | Juniper Networks, Inc. | Caching objects identified by dynamic resource identifiers |
WO2014166265A1 (en) * | 2013-04-12 | 2014-10-16 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, cache server and system for updating webpage data |
GB2543279A (en) * | 2015-10-12 | 2017-04-19 | Canon Kk | Methods, devices and computer programs for optimizing use of bandwidth when pushing data in a network environment comprising cache servers |
US9378178B1 (en) * | 2015-11-30 | 2016-06-28 | International Business Machines Corporation | Enhancing HTTP caching by allowing content sharing of data blocks across resources identified by different uniform resource locators |
CN107025234A (zh) * | 2016-02-01 | 2017-08-08 | 中国移动通信集团公司 | 一种信息推送方法及缓存服务器 |
CN105808702A (zh) * | 2016-03-04 | 2016-07-27 | 华自科技股份有限公司 | 页面内容刷新方法、系统及页面内容同步刷新的管理系统 |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
CN109284305A (zh) * | 2018-08-23 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 一种数据的更新方法、装置及系统 |
CN109344348A (zh) * | 2018-09-20 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 一种资源更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111200634A (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111200634B (zh) | 缓存资源联动更新方法、系统及服务器 | |
US9569400B2 (en) | RDMA-optimized high-performance distributed cache | |
US9639299B2 (en) | Managing virtual hard drives as blobs | |
US9332083B2 (en) | High performance, distributed, shared, data grid for distributed Java virtual machine runtime artifacts | |
RU2453911C2 (ru) | Автономное выполнение веб-приложений | |
US7941560B1 (en) | Client caching of target addresses for network requests | |
US10680968B2 (en) | Web access performance enhancement | |
US10891265B2 (en) | Local networked storage linked to remote networked storage system | |
US20210132849A1 (en) | Data migration method and apparatus | |
US20100030818A1 (en) | System and method for applying once a transaction delivered in a message published asynchronously in a distributed database | |
US9864684B2 (en) | Performing efficient cache invalidation | |
US9021087B1 (en) | Method to improve caching accuracy by using snapshot technology | |
US10296485B2 (en) | Remote direct memory access (RDMA) optimized high availability for in-memory data storage | |
US20140101102A1 (en) | Batch processing and data synchronization in cloud-based systems | |
CN111651464A (zh) | 数据处理方法、系统及计算设备 | |
CN112368682A (zh) | 使用高速缓存用于内容验证和错误补救 | |
US20140032703A1 (en) | System and method for an expandable computer storage system | |
US8549007B1 (en) | System and method for indexing meta-data in a computer storage system | |
US8990168B1 (en) | Efficient conflict resolution among stateless processes | |
JP2017191600A (ja) | コンテンツ配信ネットワーク(cdn)における無効化 | |
US9766949B2 (en) | System and method for locking exclusive access to a divided resource | |
CN113360815A (zh) | 一种请求重试方法和装置 | |
CN113779052A (zh) | 数据更新方法、装置、设备及存储介质 | |
CN117194827B (zh) | Cdn目录刷新的方法及电子设备 | |
US20240089339A1 (en) | Caching across multiple cloud environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |