CN105389311B - 一种用于确定查询结果的方法与设备 - Google Patents
一种用于确定查询结果的方法与设备 Download PDFInfo
- Publication number
- CN105389311B CN105389311B CN201410447014.8A CN201410447014A CN105389311B CN 105389311 B CN105389311 B CN 105389311B CN 201410447014 A CN201410447014 A CN 201410447014A CN 105389311 B CN105389311 B CN 105389311B
- Authority
- CN
- China
- Prior art keywords
- request
- data
- inquiry
- party database
- query result
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请的目的是提供一种用于确定查询结果的方法与设备;获取第三方数据库的更新设置信息;根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。与现有技术相比,本申请通过基于所述不同的更新设置信息设置相应的数据缓存策略,进而,在用户发出的查询请求时,通过为其匹配最合理的数据缓存策略,尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于确定查询结果的技术。
背景技术
当用户通过查询系统查询来自第三方数据库的更新信息时,例如在电商系统进行订单管理的过程中,当用户请求电商系统的订单相关物流信息时,电商系统需要向负责该订单承运职责的外部物流公司的物流信息数据库请求相应的订单物流信息,然后将所述的订单物流信息返还给用户。当用户查询申请的数量较大时,导致电商系统向外部物流公司的物流信息数据库请求频率过大,而所述两个系统之间的数据传输受到网络带宽等条件的限制,因此大量的用户查询物流信息请求很容易导致外部物流公司系统的崩溃,影响用户体验。
同时,通过统计结果发现,占有相当比重的电商用户会在短时间内对同一笔订单的物流信息不断重复地请求查询,而大部分对应同一笔订单的物流信息查询结果在短时间内是不变的。
目前,该领域采用的方案为:
在将电商系统首次从外部物流公司获取的信息在电商系统内部进行缓存,并设置一个特定的缓存时间,当用户在所述一个缓存时间内重复请求相应订单的物流信息时,直接将所述缓存内保留的与所述订单相对应的物流信息返回给用户,而无需向外部物流公司的系统发出请求;当用户请求对应订单的物流信息与前一次请求之间超出了缓存时间,则电商系统继续向外部物流公司的物流信息数据库请求相应的订单的物流信息。但是,在实际应用中,外部物流系统对物流信息的更新频率是不固定、不可预期的。设定一个固定的缓存时间,若缓存时间过短,则大量的外部物流系统中尚未更新,重复不必要的更新请求会对外部物流系统带来过大的压力;若缓存时间过长,则大量的外部物流公司的物流信息数据库中的信息已经更新,但相应的电商系统的缓存中物流信息尚未更新,则缓存中的过期数据会对用户体验带来负面影响。
发明内容
本申请的目的是提供一种用于确定查询结果的方法 与设备。
根据本申请的一个方面,提供了一种用于确定查询结果的方法,包括:
获取第三方数据库的更新设置信息;
根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;
根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。
根据本申请的另一方面,还提供了一种用于确定查询结果的设备,包括:
第一装置,用于获取第三方数据库的更新设置信息;
第二装置,用于根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;
第三装置,用于根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。
与现有技术相比,本申请通过获取的第三方数据库的更新设置信息配置了关于所述第三方数据库的数据缓存策略,进而根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。由于不同查询请求对应的所述更新设置信息各异,基于所述不同的更新设置信息所设置的数据缓存策略也相应不同,进而,在用户发出查询请求时,可以为其匹配最合理的数据缓存策略,使得在确定查询结果的过程中尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于确定查询结果的设备示意图;
图2示出根据本申请另一个方面的一种用于确定查询结果的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种用于确定查询结果的设备示意图。用于确定查询结果的设备1包括第一装置101、第二装置102和第三装置103。
其中,第一装置101获取第三方数据库的更新设置信息;第二装置 102根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;第三装置103根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。
具体地,用于确定查询结果的设备1的第一装置101获取第三方数据库的更新设置信息。所述第三方数据库包括任何提供查询结果信息的原始的数据库,所述第三方数据库中包括处于不断更新状态的数据。所述设备 1获取的第三方数据库的更新设置信息与一定的查询请求相对应,即可以基于一定的查询请求获得与所述查询请求对应的第三方数据库的更新设置信息,基于不同的查询请求所获取的第三方数据库的更新设置信息会有不同。所述更新设置信息包括可以实时确定或者需要基于所述查询请求从所述第三方数据库中获取的更新设置信息,例如所述第三方数据库中数据的更新频率或触发更新的的触发时间等。在此,所述更新设置信息对应于一系列特定的业务场景和条件,或者说,由于不同查询请求对应的业务场景不同,从而与不同查询请求对应的第三方数据库的更新设置信息也存在差异性。
例如,所述用于确定查询结果的设备1是一个电商系统,当电商用户请求所述电商系统查询对应订单的相关物流信息时,所述的第三方数据库就是负责所述订单承运职责的外部物流公司系统提供的物流信息数据库。其中,电商系统所获取的所述物流信息数据库的更新设置信息,包括基于电商用户的查询请求从所述物流信息数据库中获取的更新设置信息,例如所述外部物流公司的物流信息数据库中相应的物流信息更新频率。所述物流信息更新频率与一系列条件参数相对应,如特定的物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔等。进而,不同的查询请求因为具有不同的所述条件,如不同的物流公司、不同的两次查询请求间隔等,所以不同查询请求所对应的物流信息更新频率各异。如,在一定业务场景下,查询请求A对应的物流信息更新频率a,而查询请求B 对应的物流信息更新频率b。
接着,用于确定查询结果的设备1的第二装置102根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略。所述用于确定查询结果的设备1为了便于反馈与查询用户查询请求相对应的查询结果,会在设备 1中对所述查询请求相对应的第三方数据库中的查询结果进行缓存,而查询请求是否读取所述缓存中的查询结果需要基于一定的数据缓存策略进行判断,而合理、可靠的数据缓存策略可以基于所述更新设置信息进行配置。例如,当电商用户请求所述电商系统查询对应第三方数据库,如物流信息数据库的相关物流信息时,电商系统获取所述物流信息数据库的更新设置信息,如物流信息更新频率,如基于查询请求A获取对应物流信息更新频率a,而基于查询请求B获取对应物流信息更新频率b。其中,所述物流信息更新频率a和b分别与一定的业务场景的参数相匹配,所述的参数包括物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔。此时,若所述设备1设置了所述物流信息更新频率的阈值,并获取满足条件的物流信息更新频率,如查询请求A对应物流信息更新频率 a满足所述阈值,则此时所述物流信息更新频率a及其所对应的参数即可以被采纳进行设置相对应的数据缓存策略,所述数据缓存策略所包含的数据请求A的对应参数可以根据实际需要选择一个或多个,例如,可以采纳查询请求A两次查询请求间隔T、物流公司w1、对应的查询请求时间段 t1为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T 设定为数据缓存失效时间,因此可以设置物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1。
接着,用于确定查询结果的设备1的第三装置103根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。基于所述用户查询请求,可以通过所述设备1请求第三方数据库中的相应查询结果,也可以基于所述数据缓存策略确定所述用户查询请求所对应的查询结果的读取路径。例如,若所述查询请求是对应查询对象的首次查询请求时,所述设备1会向第三方数据库请求获得所述查询请求对应的查询结果,同时,将所述第三方数据库中对应的查询结果存储到与第三方数据库对应的缓存中;若所述查询请求不是对应查询对象的首次查询请求时,则说明所述与第三方数据库对应的缓存中存有所述查询请求前一次查询时获取的对应的查询结果信息,此时,需要基于与此查询请求相匹配的数据缓存策略来判断如何确定所述用户查询请求对应的查询结果的读取路径,如是否直接读取所述缓存中与所述查询请求对应的前一次的查询结果,又如是否要进入第三方数据库读取与所述查询请求对应的查询结果。
在此,设备1通过获取的第三方数据库的更新设置信息配置了关于所述第三方数据库的数据缓存策略,进而根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。由于不同查询请求对应的所述更新设置信息各异,基于所述不同的更新设置信息所设置的数据缓存策略也相应不同,进而,在用户发出查询请求时,可以为其匹配最合理的数据缓存策略,使得在确定查询结果的过程中尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。
优选地,所述用于确定查询结果的设备1还包括第四装置(未示出)。所述第四装置将所述查询结果提供至所述用户查询请求所对应的目标应用。
具体地,所述查询结果包括直接从所述第三方数据库获得的与所述查询请求相对应的查询结果;也包括从与所述第三方数据库对应的缓存中读取的与所述查询请求相对应的查询结果,此时所述缓存中对应的查询结果与所述查询申请前一次查询时所对应的查询结果一致。将所获得的查询结果返还给所述用户查询请求对应的目标应用。所述目标应用包括任意需要读取所述第三方数据库中数据的应用,例如用户希望通过电商系统查询与自己订单信息相对应的的外部物流公司物流数据库中的信息时,向电商系统发请求查询自己订单的运单号的应用。
优选地,所述用于确定查询结果的设备1的第三装置103根据所述数据缓存策略确定所述第三方数据库所对应的缓存数据是否有效;当所述第三方数据有效,根据所述用户查询请求在所述缓存数据中查询确定所述查询结果。
具体地,若所述查询申请不是对应查询对象的首次查询,说明在所述第三方数据库对应的缓存中存在着所述查询请求前一次查询时的查询结果。所述第三方数据库中与所述查询请求对应的查询结果与所述第三方数据库对应缓存中存储的前一次查询请求对应的查询结果相比,可能并没有发生变更,也可能已经发生了变更。若所述查询结果没有发生变更,则所述缓存中的与前一次查询请求对应的查询结果与本次所述查询请求对应的查询结果一致,则读取缓存中的相应查询结果的操作合理;若所述查询结果发生了变更,则需要从原始的第三方数据库中读取相应的查询请求对应的查询结果,这样才能避免查询结果成为过期数据。在此,通过所述数据缓存策略对所述第三方数据库对应的缓存中的查询结果的有效性进行判断,若依照所述数据缓存策略,所述查询请求对应的缓存中的第三方数据有效,则所述缓存中的查询结果就是要返还给查询用户的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求C 满足物流公司是w1,且在t1时间段请求查询,则查询请求C适用所述缓数据缓存策略P1,进而,若查询请求C是在所述数据缓存失效时间T内的重复请求,那么所述第三方数据有效,将复用所述缓存中的第三方数据,也即查询用户所获得的查询结果与前一次查询保持一致。
更优选地,根据所述用于确定查询结果的设备1的第三装置103,当所述第三方数据失效,根据所述用户查询请求在所述第三方数据库中查询确定所述查询结果。
具体地,基于所述数据缓存策略,所述查询请求对应的所述缓存中第三方数据失效,则直接获得所述第三方数据库中与所述查询请求对应的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求D也满足物流公司是w1,且在t1时间段请求查询,则查询请求 D适用所述缓存缓存策略P1,进而,若查询请求D的请求距离前一次请求已经超过了所述数据缓存失效时间T,则判断所述缓存中的第三方数据已经失效,此时查询请求D所对应的查询结果需要进入所述第三方数据库中读取确定。
在一个优选实施例中,所述用于确定查询结果的设备1的第一装置 101从所获取的多个查询请求中抽取样本查询请求;根据所述样本查询请求获取对应的第三方数据库的数据更新信息;根据所述数据更新信息确定所述第三方数据库的更新设置信息。
具体地,首先,所述设备1的第一装置101从所获得的多个查询请求中抽取样本查询请求。所述第三方数据库的更新设置信息是基于具体的查询请求获得的,所述查询请求可以从所述多个查询请求中抽取的一部分样本。在此,所述样本的抽取包括定期从一段时间内所有查询用户的查询请求中抽取一定比例的样本。同时,样本的选取应该能够尽可能兼顾到各种不同业务场景的查询请求,进而,基于样本查询请求的更新设置信息,以及最后获得的数据缓存策略才能尽可能更合理并具有尽可能广泛的适用范围。例如,电商用户请求所述电商系统查询对应第三方数据库时,为获得更合理的更新设置信息,如物流信息更新频率,需要从电商用户的查询请求中获取样本查询请求,所抽取的样本应该涵盖尽可能多的的物流公司、时间段、业务类型等。
在此,所有的样本查询请求都会直接请求第三方数据库以获得与所述样本查询请求对应的最新的统计数据。
接着,所述设备1的第一装置101根据所述样本查询请求获取对应的第三方数据库的数据更新信息。所述数据更新信息包括与所述查询请求相关的所有发生变更的信息,如所述查询请求对应的查询结果,又如与所述查询请求相关的业务场景的其他条件信息。例如,在电商用户请求所述电商系统查询对应第三方数据库时,对于抽取的样本查询请求,所述运输线路、运输天数等变化即是查询结果,同时也是数据更新信息的一种;此外对同一个查询对象多次提出查询请求,用户查询的时间段可能是变化的,但是所述时间段信息并不直接在查询结果中体现出来,但是对于后续更新设置信息的确定是有帮助的,所以这种变化的数据也是一种数据更新信息。
接着,所述设备1的第一装置101根据所述数据更新信息确定所述第三方数据库的更新设置信息。基于所述数据更新信息的具体变化,可以设置出相应的更新设置信息,所述的更新设置信息反映的是所述第三方数据库中相应数据信息的更新情况,例如,第三方数据库的一个与所述查询请求相关的数据更新信息M,M不定时的发生变更,而每当所述M发生变化,所述第三方数据库中与所述数据更新信息M相对应的查询信息就产生更新,则可以将数据更新信息M的变更作为触发所述第三方数据库中相应数据变更的触发事件,基于此确定所述第三方数据库的更新设置信息,即所述M的变化。又如,与所述查询请求相关的数据更新信息有多个,进而,设定一个与所述多个数据更新信息相关的第三方数据库中数据更新的频率N,则以所获得的N作为所述更新设置信息,所述不同查询请求对应的各个数据更新信息不同,从而所得到的更新设置信息也各异。
更优选地,所述用于确定查询结果的设备1中所述数据更新信息包括根据所述样本查询请求在所述第三方数据库中查询所确定的各样本查询请求所对应的查询结果。
具体地,所述数据更新信息包括所述查询结果的变更,例如,在电商用户请求所述电商系统查询对应第三方数据库时,所述查询结果包括货物到达地点、已发货时间等与物流信息相关的查询结果。例如,在电商用户请求所述电商系统查询对应第三方数据库时,电商用户想要查询某一物流信息,作出查询请求E,则设备1基于查询请求E向第三方数据库发出请求,则第三方数据库返回相对应的查询结果,如货物已经到达的地点、已经运输的天数等。
更优选地,所述用于确定查询结果的设备1中所述根据所述数据更新信息确定所述第三方数据库的更新设置信息包括:根据所述各样本查询请求所对应的查询结果的变化情况,确定所述第三方数据库的更新设置信息。
具体地,所述查询请求对应的查询结果的变化情况包括所述查询请求对应于第三方数据库中的查询结果相较于前一次相同查询请求所对应的查询结果所发生的变化,以此次查询结果确定所述第三方数据库的更新设置信息,所述查询请求对应的查询结果的变化情况也包括对所述查询请求多次采样,统计每一次查询结果的变化,以多次查询结果确定所述第三方数据库的更新设置信息。例如所述查询请求进行10次采样仅有1次查询结果发生变化,可以推定所述第三方数据库中数据更新几率是10%,所述更新几率可以设置为相应的更新设置信息。
优选地,所述用于确定查询结果的设备1中所述从所获取的多个查询请求中抽取样本查询请求包括:将所获取的多个查询请求按各查询请求所对应的第三方数据库分组,从各组查询请求抽取样本查询请求。
具体地,从所述多个查询请求中抽样应当能够涉及到尽可能多的不同业务场景,从而,使得基于样本查询请求获得的更新设置信息,以及最后设置的数据缓存策略能够与不同业务场景下的查询请求相匹配。在此,可以对多个查询请求按照一定的条件进行合理的分组,优选地,按各查询请求所对应的第三方数据库分组,再从各个分组中分别抽取一定的样本查询请求进行后续的操作分析。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以按照不同的物流信息数据库,也就是不同的物流公司对查询请求进行分组,例如有物流公司O、P、Q,则可以对所述查询请求按照物流公司O、P、Q三类进行分组,再在此三组中分别抽取样本查询请求。
本领域技术人员应能理解,上述将所获取的多个查询请求按各查询请求所对应的第三方数据库分组仅为举例,其他对所述查询请求进行的分组或区分如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
优选地,所述用于确定查询结果的设备1中第一装置101还用于:
根据所述多个查询请求中除所述样本查询请求外的其他查询请求,在对应缓存数据中查询确定对应的查询结果。
具体地,所述数据缓存策略是基于样本查询请求所对应的数据更新信息确定相应的更新设置信息进而得到的。所以对于所述样本查询请求,自然可以利用与第三方数据库对应的缓存中的所述数据缓存策略进行对应查询结果的确定。同时,由于选择的样本查询请求具有一定的代表性,所述样本查询请求所设置的数据缓存策略包含有一定的适用条件,当除所述样本查询请求外的其他查询请求发出请求时,只要与所述数据缓存策略的适用条件达到一定匹配度,就可以同样适用所述数据缓存策略,进而能够在对应缓存数据中查询确定对应的查询结果。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以采纳查询请求A两次查询请求间隔T、物流公司w1、对应的查询请求时间段t1为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T设定为数据缓存失效时间,因此可以设置物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1,此时若有查询请求F,F与A不是同一个查询请求,F能够满足物流公司是w1,且在t1时间段请求查询,则查询请求F适用所述数据缓存策略P1,进而F可以基于所述数据缓存策略P1在对应缓存数据中查询确定对应的查询结果。
图2示出根据本申请另一个方面的一种用于确定查询结果的方法流程图。
其中,在步骤S201中,设备1获取第三方数据库的更新设置信息;在步骤S202中,设备1根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;在步骤S203中,设备1根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。
具体地,在步骤S201中,用于确定查询结果的设备1获取第三方数据库的更新设置信息。所述第三方数据库包括任何提供查询结果信息的原始的数据库,所述第三方数据库中包括处于不断更新状态的数据。所述设备1获取的第三方数据库的更新设置信息与一定的查询请求相对应,即可以基于一定的查询请求获得与所述查询请求对应的第三方数据库的更新设置信息,基于不同的查询请求所获取的第三方数据库的更新设置信息会有不同。所述更新设置信息包括可以实时确定或者需要基于所述查询请求从所述第三方数据库中获取的更新设置信息,例如所述第三方数据库中数据的更新频率或触发更新的的触发时间等。在此,所述更新设置信息对应于一系列特定的业务场景和条件,或者说,由于不同查询请求对应的业务场景不同,从而与不同查询请求对应的第三方数据库的更新设置信息也存在差异性。
例如,所述用于确定查询结果的设备1是一个电商系统,当电商用户请求所述电商系统查询对应订单的相关物流信息时,所述的第三方数据库就是负责所述订单承运职责的外部物流公司系统提供的物流信息数据库。其中,电商系统所获取的所述物流信息数据库的更新设置信息,包括基于电商用户的查询请求从所述物流信息数据库中获取的更新设置信息,例如所述外部物流公司的物流信息数据库中相应的物流信息更新频率。所述物流信息更新频率与一系列条件参数相对应,如特定的物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔等。进而,不同的查询请求因为具有不同的所述条件,如不同的物流公司、不同的两次查询请求间隔等,所以不同查询请求所对应的物流信息更新频率各异。如,在一定业务场景下,查询请求A对应的物流信息更新频率a,而查询请求B 对应的物流信息更新频率b。
接着,在步骤S202中,用于确定查询结果的设备1根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略。所述用于确定查询结果的设备1为了便于反馈与查询用户查询请求相对应的查询结果,会在设备1中对所述查询请求相对应的第三方数据库中的查询结果进行缓存,而查询请求是否读取所述缓存中的查询结果需要基于一定的数据缓存策略进行判断,而合理、可靠的数据缓存策略可以基于所述更新设置信息进行配置。例如,当电商用户请求所述电商系统查询对应第三方数据库,如物流信息数据库的相关物流信息时,电商系统获取所述物流信息数据库的更新设置信息,如物流信息更新频率,如基于查询请求A获取对应物流信息更新频率a,而基于查询请求B获取对应物流信息更新频率b。其中,所述物流信息更新频率a和b分别与一定的业务场景的参数相匹配,所述的参数包括物流公司、时间段、路线、货物已发出天数、业务类别、两次查询请求间隔。此时,若所述设备1设置了所述物流信息更新频率的阈值,并获取满足条件的物流信息更新频率,如查询请求A对应物流信息更新频率a满足所述阈值,则此时所述物流信息更新频率a及其所对应的参数即可以被采纳进行设置相对应的数据缓存策略,所述数据缓存策略所包含的数据请求A的对应参数可以根据实际需要选择一个或多个,例如,可以采纳查询请求A两次查询请求间隔T、物流公司w1、对应的查询请求时间段t1为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T 设定为数据缓存失效时间,因此可以设置物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1。
接着,在步骤S203中,用于确定查询结果的设备1根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。基于所述用户查询请求,可以通过所述设备1请求第三方数据库中的相应查询结果,也可以基于所述数据缓存策略确定所述用户查询请求所对应的查询结果的读取路径。例如,若所述查询请求是对应查询对象的首次查询请求时,所述设备1会向第三方数据库请求获得所述查询请求对应的查询结果,同时,将所述第三方数据库中对应的查询结果存储到与第三方数据库对应的缓存中;若所述查询请求不是对应查询对象的首次查询请求时,则说明所述与第三方数据库对应的缓存中存有所述查询请求前一次查询时获取的对应的查询结果信息,此时,需要基于与此查询请求相匹配的数据缓存策略来判断如何确定所述用户查询请求对应的查询结果的读取路径,如是否直接读取所述缓存中与所述查询请求对应的前一次的查询结果,又如是否要进入第三方数据库读取与所述查询请求对应的查询结果。
在此,设备1通过获取的第三方数据库的更新设置信息配置了关于所述第三方数据库的数据缓存策略,进而根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。由于不同查询请求对应的所述更新设置信息各异,基于所述不同的更新设置信息所设置的数据缓存策略也相应不同,进而,在用户发出查询请求时,可以为其匹配最合理的数据缓存策略,使得在确定查询结果的过程中尽可能的减少了查询操作对第三方数据库的压力,同时保证过期数据的出现低于可容忍的指标,使得对用户体验的负面影响大大降低。
优选地,所述用于确定查询结果的设备1还包括步骤S204(未示出)。在步骤S204中,用于确定查询结果的设备1将所述查询结果提供至所述用户查询请求所对应的目标应用。
具体地,所述查询结果包括直接从所述第三方数据库获得的与所述查询请求相对应的查询结果;也包括从与所述第三方数据库对应的缓存中读取的与所述查询请求相对应的查询结果,此时所述缓存中对应的查询结果与所述查询申请前一次查询时所对应的查询结果一致。将所获得的查询结果返还给所述用户查询请求对应的目标应用。所述目标应用包括任意需要读取所述第三方数据库中数据的应用,例如用户希望通过电商系统查询与自己订单信息相对应的的外部物流公司物流数据库中的信息时,向电商系统发请求查询自己订单的运单号的应用。
优选地,在步骤S203中,所述用于确定查询结果的设备1根据所述数据缓存策略确定所述第三方数据库所对应的缓存数据是否有效;当所述第三方数据有效,根据所述用户查询请求在所述缓存数据中查询确定所述查询结果。
具体地,若所述查询申请不是对应查询对象的首次查询,说明在所述第三方数据库对应的缓存中存在着所述查询请求前一次查询时的查询结果。所述第三方数据库中与所述查询请求对应的查询结果与所述第三方数据库对应缓存中存储的前一次查询请求对应的查询结果相比,可能并没有发生变更,也可能已经发生了变更。若所述查询结果没有发生变更,则所述缓存中的与前一次查询请求对应的查询结果与本次所述查询请求对应的查询结果一致,则读取缓存中的相应查询结果的操作合理;若所述查询结果发生了变更,则需要从原始的第三方数据库中读取相应的查询请求对应的查询结果,这样才能避免查询结果成为过期数据。在此,通过所述数据缓存策略对所述第三方数据库对应的缓存中的查询结果的有效性进行判断,若依照所述数据缓存策略,所述查询请求对应的缓存中的第三方数据有效,则所述缓存中的查询结果就是要返还给查询用户的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求C 满足物流公司是w1,且在t1时间段请求查询,则查询请求C适用所述缓数据缓存策略P1,进而,若查询请求C是在所述数据缓存失效时间T内的重复请求,那么所述第三方数据有效,将复用所述缓存中的第三方数据,也即查询用户所获得的查询结果与前一次查询保持一致。
更优选地,在步骤S203中,当所述第三方数据失效,所述用于确定查询结果的设备1根据所述用户查询请求在所述第三方数据库中查询确定所述查询结果。
具体地,基于所述数据缓存策略,所述查询请求对应的所述缓存中第三方数据失效,则直接获得所述第三方数据库中与所述查询请求对应的查询结果。例如,上述当电商用户请求所述电商系统查询对应外部物流公司的物流信息数据库的相关物流信息时,依据物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T设置相应的数据缓存策略P1,若查询请求D也满足物流公司是w1,且在t1时间段请求查询,则查询请求 D适用所述缓存缓存策略P1,进而,若查询请求D的请求距离前一次请求已经超过了所述数据缓存失效时间T,则判断所述缓存中的第三方数据已经失效,此时查询请求D所对应的查询结果需要进入所述第三方数据库中读取确定。
在一个优选实施例中,在步骤S201中,所述用于确定查询结果的设备1从所获取的多个查询请求中抽取样本查询请求;根据所述样本查询请求获取对应的第三方数据库的数据更新信息;根据所述数据更新信息确定所述第三方数据库的更新设置信息。
具体地,首先,所述设备1的在步骤S201中,从所获得的多个查询请求中抽取样本查询请求。所述第三方数据库的更新设置信息是基于具体的查询请求获得的,所述查询请求可以从所述多个查询请求中抽取的一部分样本。在此,所述样本的抽取包括定期从一段时间内所有查询用户的查询请求中抽取一定比例的样本。同时,样本的选取应该能够尽可能兼顾到各种不同业务场景的查询请求,进而,基于样本查询请求的更新设置信息,以及最后获得的数据缓存策略才能尽可能更合理并具有尽可能广泛的适用范围。例如,电商用户请求所述电商系统查询对应第三方数据库时,为获得更合理的更新设置信息,如物流信息更新频率,需要从电商用户的查询请求中获取样本查询请求,所抽取的样本应该涵盖尽可能多的的物流公司、时间段、业务类型等。
在此,所有的样本查询请求都会直接请求第三方数据库以获得与所述样本查询请求对应的最新的统计数据。
接着,在步骤S201中,所述设备1根据所述样本查询请求获取对应的第三方数据库的数据更新信息。所述数据更新信息包括与所述查询请求相关的所有发生变更的信息,如所述查询请求对应的查询结果,又如与所述查询请求相关的业务场景的其他条件信息。例如,在电商用户请求所述电商系统查询对应第三方数据库时,对于抽取的样本查询请求,所述运输线路、运输天数等变化即是查询结果,同时也是数据更新信息的一种;此外对同一个查询对象多次提出查询请求,用户查询的时间段可能是变化的,但是所述时间段信息并不直接在查询结果中体现出来,但是对于后续更新设置信息的确定是有帮助的,所以这种变化的数据也是一种数据更新信息。
接着,在步骤S201中,所述设备1根据所述数据更新信息确定所述第三方数据库的更新设置信息。基于所述数据更新信息的具体变化,可以设置出相应的更新设置信息,所述的更新设置信息反映的是所述第三方数据库中相应数据信息的更新情况,例如,第三方数据库的一个与所述查询请求相关的数据更新信息M,M不定时的发生变更,而每当所述M发生变化,所述第三方数据库中与所述数据更新信息M相对应的查询信息就产生更新,则可以将数据更新信息M的变更作为触发所述第三方数据库中相应数据变更的触发事件,基于此确定所述第三方数据库的更新设置信息,即所述M的变化。又如,与所述查询请求相关的数据更新信息有多个,进而,设定一个与所述多个数据更新信息相关的第三方数据库中数据更新的频率N,则以所获得的N作为所述更新设置信息,所述不同查询请求对应的各个数据更新信息不同,从而所得到的更新设置信息也各异。
更优选地,所述用于确定查询结果的设备1中所述数据更新信息包括根据所述样本查询请求在所述第三方数据库中查询所确定的各样本查询请求所对应的查询结果。
具体地,所述数据更新信息包括所述查询结果的变更,例如,在电商用户请求所述电商系统查询对应第三方数据库时,所述查询结果包括货物到达地点、已发货时间等与物流信息相关的查询结果。例如,在电商用户请求所述电商系统查询对应第三方数据库时,电商用户想要查询某一物流信息,作出查询请求E,则设备1基于查询请求E向第三方数据库发出请求,则第三方数据库返回相对应的查询结果,如货物已经到达的地点、已经运输的天数等。
更优选地,所述用于确定查询结果的设备1中所述根据所述数据更新信息确定所述第三方数据库的更新设置信息包括:根据所述各样本查询请求所对应的查询结果的变化情况,确定所述第三方数据库的更新设置信息。
具体地,所述查询请求对应的查询结果的变化情况包括所述查询请求对应于第三方数据库中的查询结果相较于前一次相同查询请求所对应的查询结果所发生的变化,以此次查询结果确定所述第三方数据库的更新设置信息,所述查询请求对应的查询结果的变化情况也包括对所述查询请求多次采样,统计每一次查询结果的变化,以多次查询结果确定所述第三方数据库的更新设置信息。例如所述查询请求进行10次采样仅有1次查询结果发生变化,可以推定所述第三方数据库中数据更新几率是10%,所述更新几率可以设置为相应的更新设置信息。
优选地,所述用于确定查询结果的设备1中所述从所获取的多个查询请求中抽取样本查询请求包括:将所获取的多个查询请求按各查询请求所对应的第三方数据库分组,从各组查询请求抽取样本查询请求。
具体地,从所述多个查询请求中抽样应当能够涉及到尽可能多的不同业务场景,从而,使得基于样本查询请求获得的更新设置信息,以及最后设置的数据缓存策略能够与不同业务场景下的查询请求相匹配。在此,可以对多个查询请求按照一定的条件进行合理的分组,优选地,按各查询请求所对应的第三方数据库分组,再从各个分组中分别抽取一定的样本查询请求进行后续的操作分析。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以按照不同的物流信息数据库,也就是不同的物流公司对查询请求进行分组,例如有物流公司O、P、Q,则可以对所述查询请求按照物流公司O、P、Q三类进行分组,再在此三组中分别抽取样本查询请求。
本领域技术人员应能理解,上述将所获取的多个查询请求按各查询请求所对应的第三方数据库分组仅为举例,其他对所述查询请求进行的分组或区分如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S201中,所述用于确定查询结果的设备1还用于:
根据所述多个查询请求中除所述样本查询请求外的其他查询请求,在对应缓存数据中查询确定对应的查询结果。
具体地,所述数据缓存策略是基于样本查询请求所对应的数据更新信息确定相应的更新设置信息进而得到的。所以对于所述样本查询请求,自然可以利用与第三方数据库对应的缓存中的所述数据缓存策略进行对应查询结果的确定。同时,由于选择的样本查询请求具有一定的代表性,所述样本查询请求所设置的数据缓存策略包含有一定的适用条件,当除所述样本查询请求外的其他查询请求发出请求时,只要与所述数据缓存策略的适用条件达到一定匹配度,就可以同样适用所述数据缓存策略,进而能够在对应缓存数据中查询确定对应的查询结果。例如,在电商用户请求所述电商系统查询对应物流信息数据库时,可以采纳查询请求A两次查询请求间隔T、物流公司w1、对应的查询请求时间段t1为所述数据缓存策略的条件,将所述查询请求A两次查询请求间隔T设定为数据缓存失效时间,因此可以设置物流公司w1的在t1时间段的查询请求对应的数据缓存失效时间为T,所设置的特定条件下的数据缓存失效时间就是所述相应的数据缓存策P1,此时若有查询请求F,F与A不是同一个查询请求,F能够满足物流公司是w1,且在t1时间段请求查询,则查询请求F适用所述数据缓存策略P1,进而F可以基于所述数据缓存策略P1在对应缓存数据中查询确定对应的查询结果。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种用于确定查询结果的方法,其中,所述方法包括:
从所获取的多个查询请求中抽取样本查询请求;
根据所述样本查询请求获取对应的第三方数据库的数据更新信息;
根据所述数据更新信息确定所述第三方数据库的更新设置信息;
根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;
根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。
2.根据权利要求1所述的方法,其中,所述方法还包括:
将所述查询结果提供至所述用户查询请求所对应的目标应用。
3.根据权利要求1或2所述的方法,其中,所述根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果包括:
根据所述数据缓存策略确定所述第三方数据库所对应的缓存数据是否有效;
当所述第三方数据有效,根据所述用户查询请求在所述缓存数据中查询确定所述查询结果。
4.根据权利要求3所述的方法,其中,所述根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果还包括:
当所述第三方数据失效,根据所述用户查询请求在所述第三方数据库中查询确定所述查询结果。
5.根据权利要求1所述的方法,其中,所述数据更新信息包括根据所述样本查询请求在所述第三方数据库中查询所确定的各样本查询请求所对应的查询结果。
6.根据权利要求5所述的方法,其中,所述根据所述数据更新信息确定所述第三方数据库的更新设置信息包括:
根据所述各样本查询请求所对应的查询结果的变化情况,确定所述第三方数据库的更新设置信息。
7.根据权利要求1所述的方法,其中,所述从所获取的多个查询请求中抽取样本查询请求包括:
将所获取的多个查询请求按各查询请求所对应的第三方数据库分组,从各组查询请求抽取样本查询请求。
8.根据权利要求1、5、6或7所述的方法,其中,所述获取第三方数据库的更新设置信息还包括:
根据所述多个查询请求中除所述样本查询请求外的其他查询请求,在对应缓存数据中查询确定对应的查询结果。
9.一种用于确定查询结果的设备,其中,所述设备包括:
第一装置,用于从所获取的多个查询请求中抽取样本查询请求,根据所述样本查询请求获取对应的第三方数据库的数据更新信息,根据所述数据更新信息确定所述第三方数据库的更新设置信息;
第二装置,用于根据所述更新设置信息配置关于所述第三方数据库的数据缓存策略;
第三装置,用于根据关于所述第三方数据库的用户查询请求及所述数据缓存策略确定所述用户查询请求所对应的查询结果。
10.根据权利要求9所述的设备,其中,所述设备还包括:
第四装置,用于将所述查询结果提供至所述用户查询请求所对应的目标应用。
11.根据权利要求9或10所述的设备,其中,所述第三装置用于:
根据所述数据缓存策略确定所述第三方数据库所对应的缓存数据是否有效;
当所述第三方数据有效,根据所述用户查询请求在所述缓存数据中查询确定所述查询结果。
12.根据权利要求11所述的设备,其中,所述第三装置还用于:
当所述第三方数据失效,根据所述用户查询请求在所述第三方数据库中查询确定所述查询结果。
13.根据权利要求9所述的设备,其中,所述数据更新信息包括根据所述样本查询请求在所述第三方数据库中查询所确定的各样本查询请求所对应的查询结果。
14.根据权利要求13所述的设备,其中,所述根据所述数据更新信息确定所述第三方数据库的更新设置信息包括:
根据所述各样本查询请求所对应的查询结果的变化情况,确定所述第三方数据库的更新设置信息。
15.根据权利要求9所述的设备,其中,所述从所获取的多个查询请求中抽取样本查询请求包括:
将所获取的多个查询请求按各查询请求所对应的第三方数据库分组,从各组查询请求抽取样本查询请求。
16.根据权利要求9、13、14或15所述的设备,其中,所述第一装置还用于:
根据所述多个查询请求中除所述样本查询请求外的其他查询请求,在对应缓存数据中查询确定对应的查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447014.8A CN105389311B (zh) | 2014-09-04 | 2014-09-04 | 一种用于确定查询结果的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447014.8A CN105389311B (zh) | 2014-09-04 | 2014-09-04 | 一种用于确定查询结果的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389311A CN105389311A (zh) | 2016-03-09 |
CN105389311B true CN105389311B (zh) | 2019-04-09 |
Family
ID=55421608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410447014.8A Active CN105389311B (zh) | 2014-09-04 | 2014-09-04 | 一种用于确定查询结果的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389311B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909642B (zh) * | 2017-02-20 | 2020-06-12 | 中国银行股份有限公司 | 数据库索引方法及系统 |
CN108595505B (zh) * | 2018-03-20 | 2022-06-24 | 创新先进技术有限公司 | 数据查询的方法和装置 |
CN109978452A (zh) * | 2019-03-20 | 2019-07-05 | 广州精选速购网络科技有限公司 | 物流信息自动更新方法及系统 |
CN110535966B (zh) * | 2019-09-05 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
CN110928904A (zh) * | 2019-10-31 | 2020-03-27 | 北京浪潮数据技术有限公司 | 一种数据查询方法、装置及相关组件 |
CN113138993A (zh) * | 2020-01-19 | 2021-07-20 | 上海臻客信息技术服务有限公司 | 一种基于redis的酒店信息更新方法、装置、设备及介质 |
CN112182039A (zh) * | 2020-09-30 | 2021-01-05 | 中国民航信息网络股份有限公司 | 一种数据缓存方法及系统 |
CN112506973B (zh) * | 2020-12-14 | 2023-12-15 | 中国银联股份有限公司 | 一种存储数据管理的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090401A (zh) * | 2007-05-25 | 2007-12-19 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及系统 |
CN102024010A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 数据处理系统及其处理方法 |
CN103049525A (zh) * | 2012-12-20 | 2013-04-17 | 北京百度网讯科技有限公司 | 一种用于提供对象相关信息的方法和装置 |
CN103177005A (zh) * | 2011-12-21 | 2013-06-26 | 深圳市腾讯计算机系统有限公司 | 一种数据访问的处理方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380930B2 (en) * | 2009-01-06 | 2013-02-19 | Disney Enterprises, Inc. | Refreshing cached data based on content identifier map |
-
2014
- 2014-09-04 CN CN201410447014.8A patent/CN105389311B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090401A (zh) * | 2007-05-25 | 2007-12-19 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及系统 |
CN102024010A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 数据处理系统及其处理方法 |
CN103177005A (zh) * | 2011-12-21 | 2013-06-26 | 深圳市腾讯计算机系统有限公司 | 一种数据访问的处理方法和系统 |
CN103049525A (zh) * | 2012-12-20 | 2013-04-17 | 北京百度网讯科技有限公司 | 一种用于提供对象相关信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105389311A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389311B (zh) | 一种用于确定查询结果的方法与设备 | |
CN106202112B (zh) | 缓存目录刷新方法和装置 | |
US10574752B2 (en) | Distributed data storage method, apparatus, and system | |
CN105183735B (zh) | 数据的查询方法及查询装置 | |
US8498998B2 (en) | Grouping identity records to generate candidate lists to use in an entity and relationship resolution process | |
CN103729471B (zh) | 数据库查询方法和装置 | |
US20140156553A1 (en) | Systems and Methods for Fulfilling Orders | |
US11250166B2 (en) | Fingerprint-based configuration typing and classification | |
CN105243169B (zh) | 一种数据查询方法及系统 | |
CN103795811B (zh) | 一种基于元数据保存存储信息及统计管理数据的方法 | |
US11068491B2 (en) | Data storage using a bi-temporal index | |
US20160210350A1 (en) | Scoring relationships between entities based on proximity in space and time | |
KR20200003164A (ko) | 데이터베이스 동기화 | |
US20180314742A1 (en) | Cloud inference system | |
CN103218404A (zh) | 一种基于关联特性的多维元数据管理方法和系统 | |
CN102662986A (zh) | 微博消息检索系统与方法 | |
CN104239353B (zh) | 一种web分类控制和日志审计的方法 | |
US20180302268A1 (en) | Systems and Methods for Real Time Streaming | |
CN103942209A (zh) | 数据处理方法 | |
CN108399175A (zh) | 一种数据存储、查询方法及其装置 | |
CN103078946A (zh) | 一种海量实时数据分布方法及其访问方法 | |
CN103530345A (zh) | 短文本特征扩展及拟合特征库构建方法、装置 | |
CN110084455B (zh) | 一种数据处理方法、装置及系统 | |
CN110309184A (zh) | 一种航空运价数据的缓存方法及系统 | |
US11645283B2 (en) | Predictive query processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |