一种缓存策略的解析方法及装置的制造方法_2

文档序号:9754804阅读:来源:国知局
应用接口,如API (Appl icat1n ProgrammingInterface,应用程序编程接口),所述API可提供所述有效字段。
[0042]请参考图2,图2是本实施例提供的缓存策略的解析方法的实施流程示意图,从图2可以看到,本实施例的一种缓存策略的解析方法,大致包括以下几个步骤:
[0043]步骤S201:接收客户端发送的初始解析参数对。
[0044]步骤S202:获取有效字段,对初始参数对进行精简。
[0045]步骤S203:得到精简后的参数。
[0046]步骤S204:根据精简后的参数生成缓存键,并查询本地缓存。
[0047]步骤S205:判断是否匹配本地缓存,若匹配本地缓存则直接将解析结果返回到客户端,否则进入下一步骤。
[0048]步骤S206:在不命中缓存时,向策略服务转发精简后的参数,以请求策略解析。
[0049]步骤S207:获取策略服务的解析结果及其时效性信息。
[0050]步骤S208:将解析结果及其时效性信息存储在本地缓存。
[0051]步骤S209:将解析结果返回客户端。
[0052]下面对实施例进行详细的说明。
[0053]在步骤S201中,策略服务客户端接收的来自客户端的策略解析的请求信息,从中得到其初始解析参数对,由于初始解析参数对数目较多,如果使用初始解析参数对去查询缓存或者策略服务,命中率将会很低。因此,接下来就要对初始解析参数对进行精简。
[0054]在步骤S202中,为了对初始参数对进行精简,首先需要获取策略服务客户端所注册的策略规则实际关心的字段即有效字段,该有效字段可以通过API获取,也可以通过本地缓存获取,但是本地缓存的有效字段有可能已经过期,这是因为存储在本地缓存里面的有效字段设有有效时间阈值,相关的有效字段超过了这个有效时间阈值就会过期,不复存在。在本步骤中,我们首先查询本地缓存来获取有效字段,看其中是否包含所述有效字段,若所述本地缓存包含所述有效字段则直接获取之,反之则向所述API发送获取所述有效字段的请求,并通过所述API从所述策略服务中获取所述有效字段。如果本地缓存的有效字段已经过期,再通过API向策略服务获取有效字段。得到有效字段后,根据有效字段对初始解析参数对进行精简,将初始解析参数对的无效参数去掉。
[0055]在步骤S203中,直接得到精简后的参数,精简后的参数生成缓存键的条目比较少,可以使得缓存命中率大大提尚。
[0056]如图3所示,图3是本发明提供的缓存策略的解析方法的初始解析参数对精简过程一个例子的示意图。从图3可以看到,在初始解析参数对10里面,有通信服务商CMCC,手机型号r7plus,安卓版本5.0,浏览器版本3.6.3和頂EIH号864182020468931等参数,精简后的参数20只剩下浏览器版本3.6.3和手机型号r7plus两个参数。由于参数个数大大减少,缓存命中率将会大大提高,访问策略服务的次数也会大大减少。
[0057]在步骤S204和步骤S205中,将精简后的参数生成缓存键后,可以直接使用缓存键对本地缓存进行查询,直接从本地缓存中判断所述缓存键是否有匹配结果,若有匹配结果,则将所述匹配结果作为策略解析结果返回给客户端,若没有匹配结果则进入下一步骤。
[0058]在步骤S206中,当本地缓存中没有所述缓存键的匹配结果时,则直接将所述精简参数转发至策略服务,请求其执行解析,并从中获取解析结果。在本步骤中,与现有技术将初始解析参数对发送至策略服务获取解析结果不同,本步骤是将精简后的参数转发至策略服务,这样由于精简后的参数排列组合的数量显著减少,命中率也会显著提高。
[0059]在步骤S207中,不但接收策略服务返回的解析结果,同时也接收所述解析结果的时效性信息,所述时效性信息包括生效时间阈值。
[0060]在步骤S208中,将所述解析结果及其时效性信息存储在本地缓存中,并生成一缓存条目,根据所述解析结果的时效性信息设定所述缓存条目的失效时间,并将所述缓存条目的更新时间与所述策略服务的所述解析结果的更新时间设定为同步。
[0061]在步骤S209中,直接将获取到的解析结果返回到客户端,整个策略解析过程结束。
[0062]实施例三
[0063]请参考图4,图4是本实施例提供的一种缓存策略的解析装置的框架结构示意图,从图4可以看到,本实施例的一种缓存策略的解析装置,其包括:
[0064]接收模块30,用于接收客户端发送的策略解析的请求信息,所述请求信息包括初始解析参数对。由于初始解析参数对数目较多,如果使用初始解析参数对去查询缓存或者策略服务,命中率将会很低。因此,需要对初始解析参数对进行精简。
[0065]精简模块40,用于将所述初始解析参数对进行精简以形成精简参数,并根据所述精简参数生成缓存键。将初始解析参数对进行精简,就是将其中的无效参数删除掉,保留其中的有效参数,因为只有有效参数生成的缓存键才能够准确地命中缓存。
[0066]获取模块50,用于从本地缓存中判断所述缓存键是否有匹配结果,其中,若有匹配结果,则将所述匹配结果作为策略解析结果,若无匹配结果,则将所述精简参数转发至策略服务,并从中获取所述解析结果。
[0067]策略服务客户端的本地缓存里面可能有客户端需要的解析结果,也可能没有,这是因为存储在本地缓存里面的解析结果设有有效时间阈值,相关的解析结果超过了这个有效时间阈值就会过期,不复存在。在缓存命中的情况下,策略服务客户端一侧可以直接将解析结果返回到客户端,不需要再经过策略服务获取解析结果,这就减轻了策略服务的负担。
[0068]当缓存中的解析结果由于过期不复存在,就要向策略服务请求获取解析结果。但是和现有技术不同,本获取模块50是将精简后的参数转发至策略服务,而不是将初始解析参数对发送至策略服务,这也在减轻策略服务负担的同时,提高了解析结果的命中率。
[0069]实施例四
[0070]请参考图5,图5是本发明实施例四提供的缓存策略的解析装置的框架结构示意图,从图5可以看到,本实施例的一种缓存策略的解析装置,其包括:
[0071 ]接收模块30,用于接收客户端发送的策略解析的请求信息,所述请求信息包括初始解析参数对。由于初始解析参数对数目较多,如果使用初始解析参数对去查询缓存或者策略服务,命中率将会很低。因此,需要对初始解析参数对进行精简。
[0072]精简模块40,用于将所述初始解析参数对进行精简以形成精简参数,并根据所述精简参数生成缓存键。将初始解析参数对进行精简,就是将其中的无效参数删除掉,保留其中的有效参数,因为只有有效参数生成的缓存键才能够准确地命中缓存。
[0073]获取模块50,用于从本地缓存中判断所述缓存键是否有匹配结果,其中,若有匹配结果,则将所述匹配结果作为策略解析结果。若无匹配结果,则将所述精简参数转发至策略服务,并从中获取所述解析结果。
[0074]策略服务客户端的本地缓存里面可能有客户端需要的解析结果,也可能没有,这是因为存储在本地缓存里面的解析结果设有有效时间阈值,相关的解析结果超过了这个有效时间阈值就会过期,不复存在。在缓存命中的情况下,策略服务客户端一侧可以直接将解析结果返回到客户端,不需要再经过策略服务获取解析结果,这就减轻了策略服务的负担。
[0075]当缓存中的解析结果由于过期不复存在,就要向策略服务请求获取解析结果。但是和现有技术不同,本获取模块50是将精简后的参数转发至策略服务,而不
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1