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

来源:互联网 发布:软件著作权侵权 编辑:程序博客网 时间:2024/05/23 01:15
一种用于确定查询结果的方法与设备 
摘要
本申请的目的是提供一种用于确定查询结果的方法与设备;获取第三方数据库的更新设置信息;根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。与现有技术相比,本申请通过基于所述不同的更新设置信息设置相应的数据缓存策略,进而,在用户发出的查询请求时,通过为其匹配最合理的数据缓存策略,尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。
说明
一种用于确定查询结果的方法与设备 

技术领域

[0001] 本申请涉及计算机领域,尤其涉及一种用于确定查询结果的技术。

背景技术

[0002]当用户通过查询系统查询来自第三方数据库的更新信息时,例如在电商系统进行订单管理的过程中,当用户请求电商系统的订单相关物流信息时,电商系统需要向负责该订单承运职责的外部物流公司的物流信息数据库请求相应的订单物流信息,然后将所述的订单物流信息返还给用户。当用户查询申请的数量较大时,导致电商系统向外部物流公司的物流信息数据库请求频率过大,而所述两个系统之间的数据传输受到网络带宽等条件的限制,因此大量的用户查询物流信息请求很容易导致外部物流公司系统的崩溃,影响用户体验。

[0003] 同时,通过统计结果发现,占有相当比重的电商用户会在短时间内对同一笔订单的物流信息不断重复地请求查询,而大部分对应同一笔订单的物流信息查询结果在短时间内是不变的。

[0004]目前,该领域采用的方案为:

[0005] 在将电商系统首次从外部物流公司获取的信息在电商系统内部进行缓存,并设置一个特定的缓存时间,当用户在所述一个缓存时间内重复请求相应订单的物流信息时,直接将所述缓存内保留的与所述订单相对应的物流信息返回给用户,而无需向外部物流公司的系统发出请求;当用户请求对应订单的物流信息与前一次请求之间超出了缓存时间,则电商系统继续向外部物流公司的物流信息数据库请求相应的订单的物流信息。但是,在实际应用中,外部物流系统对物流信息的更新频率是不固定、不可预期的。设定一个固定的缓存时间,若缓存时间过短,则大量的外部物流系统中尚未更新,重复不必要的更新请求会对外部物流系统带来过大的压力;若缓存时间过长,则大量的外部物流公司的物流信息数据库中的信息已经更新,但相应的电商系统的缓存中物流信息尚未更新,则缓存中的过期数据会对用户体验带来负面影响。

发明内容

[0006] 本申请的目的是提供一种用于确定查询结果的设备与设备。

[0007] 根据本申请的一个方面,提供了一种用于确定查询结果的方法,包括:

[0008] 获取第三方数据库的更新设置信息;

[0009] 根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;

[0010] 根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。

[0011] 根据本申请的另一方面,还提供了一种用于确定查询结果的设备,包括:

[0012] 第一装置,用于获取第三方数据库的更新设置信息;

[0013] 第二装置,用于根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;

[0014] 第三装置,用于根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。

[0015] 与现有技术相比,本申请通过获取的第三方数据库的更新设置信息配置了关于所述第三方数据库的数据缓存策略,进而根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。由于不同查询请求对应的所述更新设置信息各异,基于所述不同的更新设置信息所设置的数据缓存策略也相应不同,进而,在用户发出查询请求时,可以为其匹配最合理的数据缓存策略,使得在确定查询结果的过程中尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。

附图说明

[0016] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

[0017] 图1 出根据本申请一个方面的一种用于确定查询结果的设备意图;

[0018] 图2示出根据本申请另一个方面的一种用于确定查询结果的方法流程图。

[0019] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0020] 下面结合附图对本申请作进一步详细描述。

[0021] 在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

[0022] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

[0023] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

[0024] 图1 7K出根据本申请一个方面的一种用于确定查询结果的设备7K意图。用于确定查询结果的设备1包括第一装置101、第二装置102和第三装置103。

[0025] 其中,第一装置101获取第三方数据库的更新设置信息;第二装置102根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;第三装置103根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。

[0026] 具体地,用于确定查询结果的设备1的第一装置101获取第三方数据库的更新设置信息。所述第三方数据库包括任何提供查询结果信息的原始的数据库,所述第三方数据库中包括处于不断更新状态的数据。所述设备1获取的第三方数据库的更新设置信息与一定的查询请求相对应,即可以基于一定的查询请求获得与所述查询请求对应的第三方数据库的更新设置信息,基于不同的查询请求所获取的第三方数据库的更新设置信息会有不同。所述更新设置信息包括可以实时确定或者需要基于所述查询请求从所述第三方数据库中获取的更新设置信息,例如所述第三方数据库中数据的更新频率或触发更新的的触发时间等。在此,所述更新设置信息对应于一系列特定的业务场景和条件,或者说,由于不同查询请求对应的业务场景不同,从而与不同查询请求对应的第三方数据库的更新设置信息也存在差异性。

[0027] 例如,所述用于确定查询结果的设备1是一个电商系统,当电商用户请求所述电商系统查询对应订单的相关物流信息时,所述的第三方数据库就是负责所述订单承运职责的外部物流公司系统提供的物流信息数据库。其中,电商系统所获取的所述物流信息数据库的更新设置信息,包括基于电商用户的查询请求从所述物流信息数据库中获取的更新设置信息,例如所述外部物流公司的物流信息数据库中相应的物流信息更新频率。所述物流信息更新频率与一系列条件参数相对应,如特定的物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔等。进而,不同的查询请求因为具有不同的所述条件,如不同的物流公司、不同的两次查询请求间隔等,所以不同查询请求所对应的物流信息更新频率各异。如,在一定业务场景下,查询请求A对应的物流信息更新频率a,而查询请求B对应的物流信息更新频率b。

[0028] 接着,用于确定查询结果的设备1的第二装置102根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略。所述用于确定查询结果的设备1为了便于反馈与查询用户查询请求相对应的查询结果,会在设备1中对所述查询请求相对应的第三方数据库中的查询结果进行缓存,而查询请求是否读取所述缓存中的查询结果需要基于一定的数据缓存策略进行判断,而合理、可靠的数据缓存策略可以基于所述更新设置信息进行配置。例如,当电商用户请求所述电商系统查询对应第三方数据库,如物流信息数据库的相关物流信息时,电商系统获取所述物流信息数据库的更新设置信息,如物流信息更新频率,如基于查询请求A获取对应物流信息更新频率a,而基于查询请求B获取对应物流信息更新频率

b。其中,所述物流信息更新频率a和b分别与一定的业务场景的参数相匹配,所述的参数包括物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔。此时,若所述设备1设置了所述物流信息更新频率的阈值,并获取满足条件的物流信息更新频率,如查询请求A对应物流信息更新频率a满足所述阈值,则此时所述物流信息更新频率a及其所对应的参数即可以被采纳进行设置相对应的数据缓存策略,所述数据缓存策略所包含的数据请求A的对应参数可以根据实际需要选择一个或多个,例如,可以采纳查询请求A两次查询请求间隔T、物流公司wl、对应的查询请求时间段tl为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T设定为数据缓存失效时间,因此可以设置物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1。

[0029] 接着,用于确定查询结果的设备1的第三装置103根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。基于所述用户查询请求,可以通过所述设备1请求第三方数据库中的相应查询结果,也可以基于所述数据缓存策略确定所述用户查询请求所对应的查询结果的读取路径。例如,若所述查询请求是对应查询对象的首次查询请求时,所述设备1会向第三方数据库请求获得所述查询请求对应的查询结果,同时,将所述第三方数据库中对应的查询结果存储到与第三方数据库对应的缓存中;若所述查询请求不是对应查询对象的首次查询请求时,则说明所述与第三方数据库对应的缓存中存有所述查询请求前一次查询时获取的对应的查询结果信息,此时,需要基于与此查询请求相匹配的数据缓存策略来判断如何确定所述用户查询请求对应的查询结果的读取路径,如是否直接读取所述缓存中与所述查询请求对应的前一次的查询结果,又如是否要进入第三方数据库读取与所述查询请求对应的查询结果。

[0030] 在此,设备1通过获取的第三方数据库的更新设置信息配置了关于所述第三方数据库的数据缓存策略,进而根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。由于不同查询请求对应的所述更新设置信息各异,基于所述不同的更新设置信息所设置的数据缓存策略也相应不同,进而,在用户发出查询请求时,可以为其匹配最合理的数据缓存策略,使得在确定查询结果的过程中尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。

[0031] 优选地,所述用于确定查询结果的设备1还包括第四装置(未示出)。所述第四装置将所述查询结果提供至所述用户查询请求所对应的目标应用。

[0032] 具体地,所述查询结果包括直接从所述第三方数据库获得的与所述查询请求相对应的查询结果;也包括从与所述第三方数据库对应的缓存中读取的与所述查询请求相对应的查询结果,此时所述缓存中对应的查询结果与所述查询申请前一次查询时所对应的查询结果一致。将所获得的查询结果返还给所述用户查询请求对应的目标应用。所述目标应用包括任意需要读取所述第三方数据库中数据的应用,例如用户希望通过电商系统查询与自己订单信息相对应的的外部物流公司物流数据库中的信息时,向电商系统发请求查询自己订单的运单号的应用。

[0033] 优选地,所述用于确定查询结果的设备1的第三装置103根据所述数据缓存策略确定所述第三方数据库所对应的缓存数据是否有效;当所述第三方数据有效,根据所述用户查询请求在所述缓存数据中查询确定所述查询结果。

[0034] 具体地,若所述查询申请不是对应查询对象的首次查询,说明在所述第三方数据库对应的缓存中存在着所述查询请求前一次查询时的查询结果。所述第三方数据库中与所述查询请求对应的查询结果与所述第三方数据库对应缓存中存储的前一次查询请求对应的查询结果相比,可能并没有发生变更,也可能已经发生了变更。若所述查询结果没有发生变更,则所述缓存中的与前一次查询请求对应的查询结果与本次所述查询请求对应的查询结果一致,则读取缓存中的相应查询结果的操作合理;若所述查询结果发生了变更,则需要从原始的第三方数据库中读取相应的查询请求对应的查询结果,这样才能避免查询结果成为过期数据。在此,通过所述数据缓存策略对所述第三方数据库对应的缓存中的查询结果的有效性进行判断,若依照所述数据缓存策略,所述查询请求对应的缓存中的第三方数据有效,则所述缓存中的查询结果就是要返还给查询用户的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求C满足物流公司是wl,且在tl时间段请求查询,则查询请求C适用所述缓数据缓存策略P1,进而,若查询请求C是在所述数据缓存失效时间T内的重复请求,那么所述第三方数据有效,将复用所述缓存中的第三方数据,也即查询用户所获得的查询结果与前一次查询保持一致。

[0035] 更优选地,根据所述用于确定查询结果的设备1的第三装置103,当所述第三方数据失效,根据所述用户查询请求在所述第三方数据库中查询确定所述查询结果。

[0036] 具体地,基于所述数据缓存策略,所述查询请求对应的所述缓存中第三方数据失效,则直接获得所述第三方数据库中与所述查询请求对应的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求D也满足物流公司是wl,且在tl时间段请求查询,则查询请求D适用所述缓存缓存策略P1,进而,若查询请求D的请求距离前一次请求已经超过了所述数据缓存失效时间T,则判断所述缓存中的第三方数据已经失效,此时查询请求D所对应的查询结果需要进入所述第三方数据库中读取确定。

[0037] 在一个优选实施例中,所述用于确定查询结果的设备1的第一装置101从所获取的多个查询请求中抽取样本查询请求;根据所述样本查询请求获取对应的第三方数据库的数据更新信息;根据所述数据更新信息确定所述第三方数据库的更新设置信息。

[0038] 具体地,首先,所述设备1的第一装置101从所获得的多个查询请求中抽取样本查询请求。所述第三方数据库的更新设置信息是基于具体的查询请求获得的,所述查询请求可以从所述多个查询请求中抽取的一部分样本。在此,所述样本的抽取包括定期从一段时间内所有查询用户的查询请求中抽取一定比例的样本。同时,样本的选取应该能够尽可能兼顾到各种不同业务场景的查询请求,进而,基于样本查询请求的更新设置信息,以及最后获得的数据缓存策略才能尽可能更合理并具有尽可能广泛的适用范围。例如,电商用户请求所述电商系统查询对应第三方数据库时,为获得更合理的更新设置信息,如物流信息更新频率,需要从电商用户的查询请求中获取样本查询请求,所抽取的样本应该涵盖尽可能多的的物流公司、时间段、业务类型等。

[0039] 在此,所有的样本查询请求都会直接请求第三方数据库以获得与所述样本查询请求对应的最新的统计数据。

[0040] 接着,所述设备1的第一装置101根据所述样本查询请求获取对应的第三方数据库的数据更新信息。所述数据更新信息包括与所述查询请求相关的所有发生变更的信息,如所述查询请求对应的查询结果,又如与所述查询请求相关的业务场景的其他条件信息。例如,在电商用户请求所述电商系统查询对应第三方数据库时,对于抽取的样本查询请求,所述运输线路、运输天数等变化即是查询结果,同时也是数据更新信息的一种;此外对同一个查询对象多次提出查询请求,用户查询的时间段可能是变化的,但是所述时间段信息并不直接在查询结果中体现出来,但是对于后续更新设置信息的确定是有帮助的,所以这种变化的数据也是一种数据更新信息。

[0041] 接着,所述设备1的第一装置101根据所述数据更新信息确定所述第三方数据库的更新设置信息。基于所述数据更新信息的具体变化,可以设置出相应的更新设置信息,所述的更新设置信息反映的是所述第三方数据库中相应数据信息的更新情况,例如,第三方数据库的一个与所述查询请求相关的数据更新信息Μ,Μ不定时的发生变更,而每当所述Μ发生变化,所述第三方数据库中与所述数据更新信息Μ相对应的查询信息就产生更新,则可以将数据更新信息Μ的变更作为触发所述第三方数据库中相应数据变更的触发事件,基于此确定所述第三方数据库的更新设置信息,即所述Μ的变化。又如,与所述查询请求相关的数据更新信息有多个,进而,设定一个与所述多个数据更新信息相关的第三方数据库中数据更新的频率Ν,则以所获得的Ν作为所述更新设置信息,所述不同查询请求对应的各个数据更新信息不同,从而所得到的更新设置信息也各异。

[0042] 更优选地,所述用于确定查询结果的设备1中所述数据更新信息包括根据所述样本查询请求在所述第三方数据库中查询所确定的各样本查询请求所对应的查询结果。

[0043] 具体地,所述数据更新信息包括所述查询结果的变更,例如,在电商用户请求所述电商系统查询对应第三方数据库时,所述查询结果包括货物到达地点、已发货时间等与物流信息相关的查询结果。例如,在电商用户请求所述电商系统查询对应第三方数据库时,电商用户想要查询某一物流信息,作出查询请求Ε,则设备1基于查询请求Ε向第三方数据库发出请求,则第三方数据库返回相对应的查询结果,如货物已经到达的地点、已经运输的天数等。

[0044] 更优选地,所述用于确定查询结果的设备1中所述根据所述数据更新信息确定所述第三方数据库的更新设置信息包括:根据所述各样本查询请求所对应的查询结果的变化情况,确定所述第三方数据库的更新设置信息。

[0045] 具体地,所述查询请求对应的查询结果的变化情况包括所述查询请求对应于第三方数据库中的查询结果相较于前一次相同查询请求所对应的查询结果所发生的变化,以此次查询结果确定所述第三方数据库的更新设置信息,所述查询请求对应的查询结果的变化情况也包括对所述查询请求多次采样,统计每一次查询结果的变化,以多次查询结果确定所述第三方数据库的更新设置信息。例如所述查询请求进行10次采样仅有1次查询结果发生变化,可以推定所述第三方数据库中数据更新几率是10 %,所述更新几率可以设置为相应的更新设置信息。

[0046] 优选地,所述用于确定查询结果的设备1中所述从所获取的多个查询请求中抽取样本查询请求包括:将所获取的多个查询请求按各查询请求所对应的第三方数据库分组,从各组查询请求抽取样本查询请求。

[0047] 具体地,从所述多个查询请求中抽样应当能够涉及到尽可能多的不同业务场景,从而,使得基于样本查询请求获得的更新设置信息,以及最后设置的数据缓存策略能够与不同业务场景下的查询请求相匹配。在此,可以对多个查询请求按照一定的条件进行合理的分组,优选地,按各查询请求所对应的第三方数据库分组,再从各个分组中分别抽取一定的样本查询请求进行后续的操作分析。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以按照不同的物流信息数据库,也就是不同的物流公司对查询请求进行分组,例如有物流公司0、P、Q,则可以对所述查询请求按照物流公司0、P、Q三类进行分组,再在此三组中分别抽取样本查询请求。

[0048] 本领域技术人员应能理解,上述将所获取的多个查询请求按各查询请求所对应的第三方数据库分组仅为举例,其他对所述查询请求进行的分组或区分如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。

[0049] 优选地,所述用于确定查询结果的设备1中第一装置101还用于:

[0050] 根据所述多个查询请求中除所述样本查询请求外的其他查询请求,在对应缓存数据中查询确定对应的查询结果。

[0051] 具体地,所述数据缓存策略是基于样本查询请求所对应的数据更新信息确定相应的更新设置信息进而得到的。所以对于所述样本查询请求,自然可以利用与第三方数据库对应的缓存中的所述数据缓存策略进行对应查询结果的确定。同时,由于选择的样本查询请求具有一定的代表性,所述样本查询请求所设置的数据缓存策略包含有一定的适用条件,当除所述样本查询请求外的其他查询请求发出请求时,只要与所述数据缓存策略的适用条件达到一定匹配度,就可以同样适用所述数据缓存策略,进而能够在对应缓存数据中查询确定对应的查询结果。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以采纳查询请求A两次查询请求间隔T、物流公司wl、对应的查询请求时间段tl为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T设定为数据缓存失效时间,因此可以设置物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1,此时若有查询请求F,F与A不是同一个查询请求,F能够满足物流公司是wl,且在tl时间段请求查询,则查询请求F适用所述数据缓存策略P1,进而F可以基于所述数据缓存策略P1在对应缓存数据中查询确定对应的查询结果。

[0052] 图2示出根据本申请另一个方面的一种用于确定查询结果的方法流程图。

[0053] 其中,在步骤S201中,设备1获取第三方数据库的更新设置信息;在步骤S202中,设备1根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;在步骤S203中,设备1根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。

[0054] 具体地,在步骤S201中,用于确定查询结果的设备1获取第三方数据库的更新设置信息。所述第三方数据库包括任何提供查询结果信息的原始的数据库,所述第三方数据库中包括处于不断更新状态的数据。所述设备1获取的第三方数据库的更新设置信息与一定的查询请求相对应,即可以基于一定的查询请求获得与所述查询请求对应的第三方数据库的更新设置信息,基于不同的查询请求所获取的第三方数据库的更新设置信息会有不同。所述更新设置信息包括可以实时确定或者需要基于所述查询请求从所述第三方数据库中获取的更新设置信息,例如所述第三方数据库中数据的更新频率或触发更新的的触发时间等。在此,所述更新设置信息对应于一系列特定的业务场景和条件,或者说,由于不同查询请求对应的业务场景不同,从而与不同查询请求对应的第三方数据库的更新设置信息也存在差异性。

[0055] 例如,所述用于确定查询结果的设备1是一个电商系统,当电商用户请求所述电商系统查询对应订单的相关物流信息时,所述的第三方数据库就是负责所述订单承运职责的外部物流公司系统提供的物流信息数据库。其中,电商系统所获取的所述物流信息数据库的更新设置信息,包括基于电商用户的查询请求从所述物流信息数据库中获取的更新设置信息,例如所述外部物流公司的物流信息数据库中相应的物流信息更新频率。所述物流信息更新频率与一系列条件参数相对应,如特定的物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔等。进而,不同的查询请求因为具有不同的所述条件,如不同的物流公司、不同的两次查询请求间隔等,所以不同查询请求所对应的物流信息更新频率各异。如,在一定业务场景下,查询请求A对应的物流信息更新频率a,而查询请求B对应的物流信息更新频率b。

[0056] 接着,在步骤S202中,用于确定查询结果的设备1根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略。所述用于确定查询结果的设备1为了便于反馈与查询用户查询请求相对应的查询结果,会在设备1中对所述查询请求相对应的第三方数据库中的查询结果进行缓存,而查询请求是否读取所述缓存中的查询结果需要基于一定的数据缓存策略进行判断,而合理、可靠的数据缓存策略可以基于所述更新设置信息进行配置。例如,当电商用户请求所述电商系统查询对应第三方数据库,如物流信息数据库的相关物流信息时,电商系统获取所述物流信息数据库的更新设置信息,如物流信息更新频率,如基于查询请求A获取对应物流信息更新频率a,而基于查询请求B获取对应物流信息更新频率

b。其中,所述物流信息更新频率a和b分别与一定的业务场景的参数相匹配,所述的参数包括物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔。此时,若所述设备1设置了所述物流信息更新频率的阈值,并获取满足条件的物流信息更新频率,如查询请求A对应物流信息更新频率a满足所述阈值,则此时所述物流信息更新频率a及其所对应的参数即可以被采纳进行设置相对应的数据缓存策略,所述数据缓存策略所包含的数据请求A的对应参数可以根据实际需要选择一个或多个,例如,可以采纳查询请求A两次查询请求间隔T、物流公司wl、对应的查询请求时间段tl为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T设定为数据缓存失效时间,因此可以设置物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1。

[0057] 接着,在步骤S203中,用于确定查询结果的设备1根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。基于所述用户查询请求,可以通过所述设备1请求第三方数据库中的相应查询结果,也可以基于所述数据缓存策略确定所述用户查询请求所对应的查询结果的读取路径。例如,若所述查询请求是对应查询对象的首次查询请求时,所述设备1会向第三方数据库请求获得所述查询请求对应的查询结果,同时,将所述第三方数据库中对应的查询结果存储到与第三方数据库对应的缓存中;若所述查询请求不是对应查询对象的首次查询请求时,则说明所述与第三方数据库对应的缓存中存有所述查询请求前一次查询时获取的对应的查询结果信息,此时,需要基于与此查询请求相匹配的数据缓存策略来判断如何确定所述用户查询请求对应的查询结果的读取路径,如是否直接读取所述缓存中与所述查询请求对应的前一次的查询结果,又如是否要进入第三方数据库读取与所述查询请求对应的查询结果。

[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] 优选地,所述用于确定查询结果的设备1中所述从所获取的多个查询请求中抽取样本查询请求包括:将所获取的多个查询请求按各查询请求所对应的第三方数据库分组,从各组查询请求抽取样本查询请求。

[0075] 具体地,从所述多个查询请求中抽样应当能够涉及到尽可能多的不同业务场景,从而,使得基于样本查询请求获得的更新设置信息,以及最后设置的数据缓存策略能够与不同业务场景下的查询请求相匹配。在此,可以对多个查询请求按照一定的条件进行合理的分组,优选地,按各查询请求所对应的第三方数据库分组,再从各个分组中分别抽取一定的样本查询请求进行后续的操作分析。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以按照不同的物流信息数据库,也就是不同的物流公司对查询请求进行分组,例如有物流公司0、P、Q,则可以对所述查询请求按照物流公司0、P、Q三类进行分组,再在此三组中分别抽取样本查询请求。

[0076] 本领域技术人员应能理解,上述将所获取的多个查询请求按各查询请求所对应的第三方数据库分组仅为举例,其他对所述查询请求进行的分组或区分如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。

[0077] 优选地,在步骤S201中,所述用于确定查询结果的设备1还用于:

[0078] 根据所述多个查询请求中除所述样本查询请求外的其他查询请求,在对应缓存数据中查询确定对应的查询结果。

[0079] 具体地,所述数据缓存策略是基于样本查询请求所对应的数据更新信息确定相应的更新设置信息进而得到的。所以对于所述样本查询请求,自然可以利用与第三方数据库对应的缓存中的所述数据缓存策略进行对应查询结果的确定。同时,由于选择的样本查询请求具有一定的代表性,所述样本查询请求所设置的数据缓存策略包含有一定的适用条件,当除所述样本查询请求外的其他查询请求发出请求时,只要与所述数据缓存策略的适用条件达到一定匹配度,就可以同样适用所述数据缓存策略,进而能够在对应缓存数据中查询确定对应的查询结果。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以采纳查询请求A两次查询请求间隔T、物流公司wl、对应的查询请求时间段tl为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T设定为数据缓存失效时间,因此可以设置物流公司wl的在tl时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1,此时若有查询请求F,F与A不是同一个查询请求,F能够满足物流公司是wl,且在tl时间段请求查询,则查询请求F适用所述数据缓存策略P1,进而F可以基于所述数据缓存策略P1在对应缓存数据中查询确定对应的查询结果。

[0080] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此夕卜,显然“包括” 一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。



0 0