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

文档序号:9597122阅读:来源:国知局
步骤S102还包括子步骤S1021 (未示出)、S1022 (未示出)和S1023 (未示出)。
[0047]在子步骤S1021中,若自所述本地磁盘中获取到所述缓存数据,缓存获取装置I验证所述缓存数据的有效性。具体地,在子步骤S1021中,若缓存获取装置I自所述本地磁盘中获取到所述缓存数据,即,通过将数据签名与本地磁盘中的数据进行比对查找之后,发现本地磁盘中存在与数据签名对应的缓存数据,并且本地磁盘处于正常工作状态,缓存获取装置I能够从本地磁盘中获取所述与数据签名对应的缓存数据时,在获取所述缓存数据后需要进一步验证获取到的所述缓存数据的有效性。例如,若前次在本地磁盘执行获取操作之后,后端真实数据源发生了数据变化,但是本地缓存没有及时更新,则缓存获取装置I在本地获取的缓存数据可能存在无效的问题,因此需验证在本地磁盘获取的缓存数据的有效性。
[0048]本领域技术人员应能理解上述在本地磁盘中根据数据签名获取缓存数据的方式仅为举例,其他现有的或今后可能出现的在本地磁盘中根据数据签名获取缓存数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
[0049]在此,验证所述缓存数据的有效性的方式包括以下至少任一项:
[0050]I)比对所述缓存数据对应的数据签名与所述本地磁盘中的数据签名是否一致;具体地,即将从数据签名缓存服务器中获得的所述数据签名与所述本地磁盘中的数据签名进行比对,若比对结果是一致的,则通过,否则不通过;
[0051]2)比对所述缓存数据对应的本地磁盘文件的最后修改时间与当前时间的差值是否在有效期之内;具体地,比对所述缓存数据对应的本地磁盘文件的最后修改时间与当前时间的差值是否在有效期内,若该差值在有效期内则所述缓存数据有效,若该差值超过有效期则所述缓存数据无效。
[0052]本领域技术人员应能理解上述验证数据的有效性的方式仅为举例,他现有的或今后可能出现的验证数据的有效性的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
[0053]进一步地,根据子步骤S1021中对所述缓存数据有效性验证的结果,分别执行子步骤 S1022 或 S1023。
[0054]在子步骤S1022中,若所述缓存数据有效,缓存获取装置I直接返回所述缓存数据。具体地,在子步骤S1022中,缓存获取装置I将所述缓存数据按照上述验证方式验证之后,若所述缓存数据有效,将本地磁盘获取的所述缓存数据返回至所述应用服务器,完成所述获取缓存数据的过程。在子步骤S1023中,若所述缓存数据无效,自所述数据内容缓存服务器中获取所述缓存数据。具体地,在子步骤S1023中,若自所述本地磁盘所获取的所述缓存数据无效,转入所述数据内容缓存服务器中以获取所述缓存数据。
[0055]在此,当自数据签名缓存服务器获取到与数据请求对应的数据签名时,缓存获取装置I转入本地磁盘获取本地磁盘存储的与所述数据签名对应的缓存数据,若自本地磁盘获取到所述缓存数据,并且经验证,所述缓存数据有效,则将获取的缓存数据返回至应用服务器,完成缓存数据的获取过程。
[0056]优选地,步骤S102还包括子步骤S1024(未示出)。在子步骤S1024中,若未自所述本地磁盘中获取到所述缓存数据,缓存获取装置I自所述数据内容缓存服务器中获取所述缓存数据。具体地,在子步骤S1024中,若未自所述本地磁盘中获取到所述缓存数据,SP,当本地磁盘中不存在与所述数据签名对应的所述缓存数据时;或者当本地磁盘出现故障,例如本地端暂时死机,因而不能正常执行获取操作,此时不确定所述本地磁盘中是否存在与所述数据签名对应的缓存数据时,缓存获取装置I转入内容缓存服务器中获取与数据请求对应的缓存数据。
[0057]在此,用一实施例对上述步骤的操作进行详细描述:
[0058]例如,应用服务器发出访问一网站的请求,自所述数据签名缓存服务器中获取该网站数据的数据签名;若成功自所述数据签名缓存服务器中获取到该数据签名,转入本地磁盘查看本地磁盘中是否存储有该网站数据以获取与所述数据签名对应的缓存在本地磁盘的该网站的数据;1)当从所述本地磁盘获取到所述缓存数据时,需要验证所述缓存数据的有效性。当所述缓存数据有效,如当所述数据签名与本地磁盘文件中的签名一致并且本地磁盘的最后修改时间与当前时间的差值在预定的有效期内时,即该网站数据没有发生变化,直接返回所述缓存数据,显示请求访问的网站数据,获取缓存数据成功,结束请求;当所述缓存数据无效,即当获取到的所述数据签名与本地磁盘文件中的签名不一致,或者本地磁盘的最后修改时间与当前时间的差值不在预定的有效期内,或者所述数据签名与本地磁盘文件中的签名不一致并且本地磁盘的最后修改时间与当前时间的差值不在预定的有效期内时,转入数据内容缓存服务器中获取缓存数据。2)当从所述本地磁盘未获取到所述缓存数据时,转入数据内容缓存服务器中以获取缓存数据。
[0059]在此,从数据签名缓存服务器中获取数据签名,成功后从本地磁盘获取缓存数据,如果内容有效则直接使用本地磁盘中的内容,避免向内容缓存服务器发起请求,缓解了内容缓存服务器的压力。
[0060]在步骤S103中,若自所述数据签名缓存服务器中未获取到所述数据签名,缓存获取装置I判定获取缓存数据失败。具体地,在步骤S103中,若自所述数据签名缓存服务器中没有获取到所述数据签名,即,当签名缓存服务器没有当机,能够实现获取的操作,但是所述数据签名缓存服务器中不存在与所述数据请求对应的数据签名时,缓存获取装置I直接判定获取缓存数据失败,终止获取缓存数据的过程。
[0061]在步骤S104中,若所述数据签名缓存服务器宕机,缓存获取装置I自对应的数据内容缓存服务器中获取与数据请求对应的缓存数据。具体地,在步骤S104中,若所述数据签名缓存服务器宕机,即当所述数据缓存服务器出现故障,例如暂时死机或者数据库暂时死锁,因而不能正常执行获取操作时,此时不确定所述数据签名缓存服务器中是否存在与所述数据请求对应的数据签名,此种情况下,缓存获取装置I转入内容缓存服务器中获取与数据请求对应的缓存数据。
[0062]优选地,自所述数据内容缓存服务器中获取所述缓存数据还包括步骤S105(未示出)、步骤S106(未示出)和步骤S107(未示出)。
[0063]其中,在步骤S105中,若自所述数据内容缓存服务器中获取到所述缓存数据,缓存获取装置I在所述本地磁盘中设置所述缓存数据。具体地,在步骤S105中,若自所述数据内容缓存服务器中获取到所述缓存数据,即,若所述数据内容缓存服务器中存在与所述数据请求对应的缓存数据,并且能够从所述内容缓存服务器中获取到所述缓存数据,则缓存获取装置I转入本地磁盘中重新设置或者更新所述缓存数据。
[0064]例如,应用服务器发出访问一网站的请求,缓存获取装置I自所述数据签名缓存服务器中获取该网站数据的数据签名;若数据签名缓存服务器宕机,或者从数据签名缓存服务器中获取到数据签名但是没有从本地磁盘中获取到缓存内容或者从本地磁盘中获取的缓存内容但是经验证无效,则转入数据内容缓存服务器中以获取该网站的缓存数据,若自所述数据内容缓存服务器中获取到所述缓存数据,缓存获取装置I在所述本地磁盘中设置本地缓存数据,使本地缓存数据更新以跟数据内容缓存服务器中的数据同步。
[0065]在此,上述在所述本地磁盘中设置本地缓存数据包括以下至少任一项:
[0066]I)将所述缓存数据及其对应的数据签名写入所述本地磁盘的本地磁盘文件中;
[0067]2)将所述本地磁盘文件的文件修改时间更新为当前时间戳。
[0068]具体地,由于本地磁盘中的缓存数据可能有误,例如,当在子步骤S1024中,缓存获取装置I未自所述本地磁盘中获取到所述缓存数据,而在步骤S105中,缓存获取装置I自所述数据内容缓存服务器中获取到所述缓存数据,这时可以理解为该本地磁盘中的缓存数据有误,需要进行设置。或者,当在步骤S104中,所述数据签名缓存服务器宕机,而在步骤S105中,缓存获取装置I自所述数据内容缓存服务器中获取到所述缓存数据,这时也可以对该本地磁盘的缓存数据进行设置。例如,缓存获取装置I将自数据内容缓存服务器中所获取的缓存数据及其对应的数据签名写入该本地磁盘的本地磁盘文件中;进一步地,该缓存获取装置I还可以将该本地磁盘文件的文件修改时间更新为当前时间戳。
[0069]本领域技术人员应能理解上述设置缓存数据的方式仅为举例,他现有的或今后可能出现的设置缓存数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。
[0070]在步骤S106中,若未自所述数据内容缓存服务器中获取所述缓存数据,缓存获取装置I判定获取缓存数据失败。具体地,在步骤S106中,若未自所述数据内容缓存服务器中获取所述缓存数据,即若所述数据内容缓存服务器中没有与所述数据请求对应的所述缓存数据,缓存获取装置I判定获取缓存数据失败,终止该获取缓存数据的过程,并向应用服务器返回未获取到所述请求的数据的通知。
[0071]在步骤S107中,若所述数据内容缓存服务器宕机,缓存获取装置I自所述本地磁盘中获取所述缓存数据。具体地,在步骤S107中,若所述数据内容缓存服务器宕机,S卩,当所述数据内容缓存服务器出现故障,例如暂时死机或者数据库暂时死锁,因而不能正常执行获取操作时,此时不确定所述数据内容缓存服务器中是否存在与所述数据请求对应的缓存数据,此种情况下,缓存获取装置I转入本地磁盘中获取所述缓存数据。
[0072]优选地,步骤S107还包括子步骤S1071 (未示出)和子步骤S1072 (未示出)。
[0073]在子步骤S1071中,若自所述本地磁盘中获取到所述缓存数据,缓存获取装置I直接返回所述缓存数据。具体地,在子步骤S1071中,若自所述本地磁盘中获取到所述缓存数据,S卩,当本地磁盘中存在与数据签名对应的缓存数据,并且能够从本地磁盘中获取所述与数据签名对应的缓存数据时,缓存获取装置I直接将本地磁盘获取的所述缓存数据返回至所述应用服务器,完成所述获取缓存数据的过程,而无需验证所述数据信息是否有效。
[0074]例如,应用服务器发出访问一网站的请求,自所述数据签名缓存服务器中获取该网站数据的数据签名;若数据签名缓存服务器宕机,或者从数据签名缓存服务器中获取到数据签名但是没有从本地磁盘中获取到缓存数据或者从本地磁盘中获取到缓存数据但是经验证无效,则转入数据内容缓存服务器中以获取该网站的缓存数据,若数据内容缓存服务器宕机,则转入本地磁盘以获取本地磁盘中的缓存数据。若从本地磁盘中获取到所请求网站的缓存数据,则无需验证所述缓存数据是否有效,直接将
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1