一种用于确定查询结果的方法与设备的制造方法_4

文档序号:9631539阅读:来源:国知局
所述用户查询请求对应的查询结果的读取路径,如是否直接读取所述缓存中与所述查询请求对应的前一次的查询结果,又如是否要进入第三方数据库读取与所述查询请求对应的查询结果。
[0058]在此,设备1通过获取的第三方数据库的更新设置信息配置了关于所述第三方数据库的数据缓存策略,进而根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。由于不同查询请求对应的所述更新设置信息各异,基于所述不同的更新设置信息所设置的数据缓存策略也相应不同,进而,在用户发出查询请求时,可以为其匹配最合理的数据缓存策略,使得在确定查询结果的过程中尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。
[0059]优选地,所述用于确定查询结果的设备1还包括步骤S204 (未示出)。在步骤S204中,用于确定查询结果的设备1将所述查询结果提供至所述用户查询请求所对应的目标应用。
[0060]具体地,所述查询结果包括直接从所述第三方数据库获得的与所述查询请求相对应的查询结果;也包括从与所述第三方数据库对应的缓存中读取的与所述查询请求相对应的查询结果,此时所述缓存中对应的查询结果与所述查询申请前一次查询时所对应的查询结果一致。将所获得的查询结果返还给所述用户查询请求对应的目标应用。所述目标应用包括任意需要读取所述第三方数据库中数据的应用,例如用户希望通过电商系统查询与自己订单信息相对应的的外部物流公司物流数据库中的信息时,向电商系统发请求查询自己订单的运单号的应用。
[0061]优选地,在步骤S203中,所述用于确定查询结果的设备1根据所述数据缓存策略确定所述第三方数据库所对应的缓存数据是否有效;当所述第三方数据有效,根据所述用户查询请求在所述缓存数据中查询确定所述查询结果。
[0062]具体地,若所述查询申请不是对应查询对象的首次查询,说明在所述第三方数据库对应的缓存中存在着所述查询请求前一次查询时的查询结果。所述第三方数据库中与所述查询请求对应的查询结果与所述第三方数据库对应缓存中存储的前一次查询请求对应的查询结果相比,可能并没有发生变更,也可能已经发生了变更。若所述查询结果没有发生变更,则所述缓存中的与前一次查询请求对应的查询结果与本次所述查询请求对应的查询结果一致,则读取缓存中的相应查询结果的操作合理;若所述查询结果发生了变更,则需要从原始的第三方数据库中读取相应的查询请求对应的查询结果,这样才能避免查询结果成为过期数据。在此,通过所述数据缓存策略对所述第三方数据库对应的缓存中的查询结果的有效性进行判断,若依照所述数据缓存策略,所述查询请求对应的缓存中的第三方数据有效,则所述缓存中的查询结果就是要返还给查询用户的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求C满足物流公司是wl,且在11时间段请求查询,则查询请求C适用所述缓数据缓存策略P1,进而,若查询请求C是在所述数据缓存失效时间T内的重复请求,那么所述第三方数据有效,将复用所述缓存中的第三方数据,也即查询用户所获得的查询结果与前一次查询保持一致。
[0063]更优选地,在步骤S203中,当所述第三方数据失效,所述用于确定查询结果的设备1根据所述用户查询请求在所述第三方数据库中查询确定所述查询结果。
[0064]具体地,基于所述数据缓存策略,所述查询请求对应的所述缓存中第三方数据失效,则直接获得所述第三方数据库中与所述查询请求对应的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求D也满足物流公司是wl,且在tl时间段请求查询,则查询请求D适用所述缓存缓存策略P1,进而,若查询请求D的请求距离前一次请求已经超过了所述数据缓存失效时间τ,则判断所述缓存中的第三方数据已经失效,此时查询请求D所对应的查询结果需要进入所述第三方数据库中读取确定。
[0065]在一个优选实施例中,在步骤S201中,所述用于确定查询结果的设备1从所获取的多个查询请求中抽取样本查询请求;根据所述样本查询请求获取对应的第三方数据库的数据更新信息;根据所述数据更新信息确定所述第三方数据库的更新设置信息。
[0066]具体地,首先,所述设备1的在步骤S201中,从所获得的多个查询请求中抽取样本查询请求。所述第三方数据库的更新设置信息是基于具体的查询请求获得的,所述查询请求可以从所述多个查询请求中抽取的一部分样本。在此,所述样本的抽取包括定期从一段时间内所有查询用户的查询请求中抽取一定比例的样本。同时,样本的选取应该能够尽可能兼顾到各种不同业务场景的查询请求,进而,基于样本查询请求的更新设置信息,以及最后获得的数据缓存策略才能尽可能更合理并具有尽可能广泛的适用范围。例如,电商用户请求所述电商系统查询对应第三方数据库时,为获得更合理的更新设置信息,如物流信息更新频率,需要从电商用户的查询请求中获取样本查询请求,所抽取的样本应该涵盖尽可能多的的物流公司、时间段、业务类型等。
[0067]在此,所有的样本查询请求都会直接请求第三方数据库以获得与所述样本查询请求对应的最新的统计数据。
[0068]接着,在步骤S201中,所述设备1根据所述样本查询请求获取对应的第三方数据库的数据更新信息。所述数据更新信息包括与所述查询请求相关的所有发生变更的信息,如所述查询请求对应的查询结果,又如与所述查询请求相关的业务场景的其他条件信息。例如,在电商用户请求所述电商系统查询对应第三方数据库时,对于抽取的样本查询请求,所述运输线路、运输天数等变化即是查询结果,同时也是数据更新信息的一种;此外对同一个查询对象多次提出查询请求,用户查询的时间段可能是变化的,但是所述时间段信息并不直接在查询结果中体现出来,但是对于后续更新设置信息的确定是有帮助的,所以这种变化的数据也是一种数据更新信息。
[0069]接着,在步骤S201中,所述设备1根据所述数据更新信息确定所述第三方数据库的更新设置信息。基于所述数据更新信息的具体变化,可以设置出相应的更新设置信息,所述的更新设置信息反映的是所述第三方数据库中相应数据信息的更新情况,例如,第三方数据库的一个与所述查询请求相关的数据更新信息Μ,Μ不定时的发生变更,而每当所述Μ发生变化,所述第三方数据库中与所述数据更新信息Μ相对应的查询信息就产生更新,则可以将数据更新信息Μ的变更作为触发所述第三方数据库中相应数据变更的触发事件,基于此确定所述第三方数据库的更新设置信息,即所述Μ的变化。又如,与所述查询请求相关的数据更新信息有多个,进而,设定一个与所述多个数据更新信息相关的第三方数据库中数据更新的频率Ν,则以所获得的Ν作为所述更新设置信息,所述不同查询请求对应的各个数据更新信息不同,从而所得到的更新设置信息也各异。
[0070]更优选地,所述用于确定查询结果的设备1中所述数据更新信息包括根据所述样本查询请求在所述第三方数据库中查询所确定的各样本查询请求所对应的查询结果。
[0071]具体地,所述数据更新信息包括所述查询结果的变更,例如,在电商用户请求所述电商系统查询对应第三方数据库时,所述查询结果包括货物到达地点、已发货时间等与物流信息相关的查询结果。例如,在电商用户请求所述电商系统查询对应第三方数据库时,电商用户想要查询某一物流信息,作出查询请求E,则设备1基于查询请求E向第三方数据库发出请求,则第三方数据库返回相对应的查询结果,如货物已经到达的地点、已经运输的天数等。
[0072]更优选地,所述用于确定查询结果的设备1中所述根据所述数据更新信息确定所述第三方数据库的更新设置信息包括:根据所述各样本查询请求所对应的查询结果的变化情况,确定所述第三方数据库的更新设置信息。
[0073]具体地,所述查询请求对应的查询结果的变化情况包括所述查询请求对应于第三方数据库中的查询结果相较于前一次相同查询请求所对应的查询结果所发生的变化,以此次查询结果确定所述第三方数据库的更新设置信息,所述查询请求对应的查询结果的变化情况也包括对所述查询请求多次采样,统计每一次查询结果的变化,以多次查询结果确定所述第三方数据库的更新设置信息。例如所述查询请求进行10次采样仅有1次查询结果发生变化,可以推定所述第三方数据库中数据更新几率是10 %,所述更新几率可以设置为相应的更新设置信息。
[0074]优选地,所述用于确定查询
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1