一种提高数据查询效率的方法及装置与流程

文档序号:11829850阅读:157来源:国知局
一种提高数据查询效率的方法及装置与流程

本发明涉及互联网技术领域,具体涉及一种提高数据查询效率的方法及装置。



背景技术:

目前企业信息化正在如火如荼地开展之中,企业信息量在急剧膨胀。这使得信息的搜索工作变得极为繁重起来。据调查统计,人们在平时的工作中,有70%的时间都花费在信息搜索上。由此,如何提高人们搜索信息的效率成为众多企业为之努力的方向。于是企业网站的Web应用系统中,信息查询设计的好坏直接影响到系统的响应时间和性能这两个关键指标,尤其是当数据量变得越来越大时,如何处理大数据量的查询成了每个程序开发人员都必须面对的问题。

在大量数据的背景下,如何提高查询效率成为当务之急。



技术实现要素:

针对现有技术中的缺陷,本发明提供了一种提高数据查询效率的方法及装置,该方法提高了数据查询的效率。

第一方面,本发明提供一种提高数据查询效率的方法,包括:

接收用户选择的数据查询请求,所述数据查询请求包括与待查询数据相关的查询类别的关键字或关键词;

将所述查询类别中的关键字或关键词按照预设规则拼接成字符串,通过所述字符串在缓存装置中查询与所述待查询数据相关的数据信息,其中,缓存装置中缓存有数据库中符合预设缓存条件的已查询的数据信息;

将所述数据信息展示给用户选择的数据查询请求的客户端。

可选的,所述查询类别的关键字或关键词包括:与所述待查询数据相关的大类和小类的关键字或关键词。

可选的,所述将所述查询类别中的关键字或关键词按照预设规则拼接成字符串,包括:

根据查询类别的关键字或关键词,获取所述查询类别中大类信息和/或小类信息;

将所述大类信息和/或小类信息中的关键字或关键词进行拼接生成字符串。

可选的,所述方法还包括:

在通过所述字符串在所述缓存装置中查询与所述待查询数据相关的数据信息时,若所述缓存装置中无与所述待查询数据相关的数据信息,则通过所述字符串在数据库中查询与所述待查询数据相关的数据信息;

将在所述数据库中查询与所述待查询数据相关的数据信息展示给用户选择的数据查询请求的客户端。

可选的,所述方法还包括:

将在所述数据库中查询与所述待查询数据相关的符合预设缓存条件的数据信息缓存到所述缓存装置。

第二方面,本发明还提供了一种提高数据查询效率的装置,包括:

接收模块,用于接收用户选择的数据查询请求,所述数据查询请求包括与待查询数据相关的查询类别的关键字或关键词;

字符串拼接模块,用于将所述查询类别中的关键字或关键词按照预设规则拼接成字符串;

第一查询模块,用于通过所述字符串在缓存装置中查询与所述待查询数据相关的数据信息,其中,缓存装置中缓存有数据库中符合预设缓存条件的已查询的数据信息;

第一发送模块,用于将所述数据信息展示给用户选择的数据查询请求的客户端。

可选的,所述查询类别的关键字或关键词包括:与所述待查询数据相关的大类和小类的关键字或关键词。

可选的,所述字符串拼接模块,具体用于:

根据查询类别的关键字或关键词,获取所述查询类别中大类信息和/或小类信息;

将所述大类信息和/或小类信息中的关键字或关键词进行拼接生成字符串。

可选的,所述装置还包括:

第二查询模块,用于在通过所述字符串在所述缓存装置中查询与所述待查询数据相关的数据信息时,若所述缓存装置中无与所述待查询数据相关的数据信息,则通过所述字符串在数据库中查询与所述待查询数据相关的数据信息;

第二发送模块,用于将在所述数据库中查询与所述待查询数据相关的数据信息展示给用户选择的数据查询请求的客户端。

可选的,所述装置还包括:

第三发送模块,用于将在所述数据库中查询与所述待查询数据相关的符合预设缓存条件的数据信息缓存到所述缓存装置。

由上述技术方案可知,本发明提供的一种提高数据查询效率的方法及装置,该方法将用户选择的查询请求中的与待查询数据相关的查询类别的关键字或关键词,并将其拼接成字符串,通过字符串在缓存装置中查询与待查询数据相关的数据信息,而不用在数据库中查询,大大提高了数据查询的效率,减轻系统负载,减少用户查询等待时间,提高了用户体验。

附图说明

图1为本发明一实施例提供的一种提高数据查询效率的方法的流程示意图;

图2为本发明一实施例提供的一种提高数据查询效率的装置的结构示意图。

具体实施方式

下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本发明实施例提供的一种提高数据查询效率的方法的流程示意图,如图1所示,该方法包括如下步骤:

101、接收用户选择的数据查询请求,所述数据查询请求包括与待查询数据相关的查询类别的关键字或关键词;

具体的,所述查询类别的关键字或关键词包括:与所述待查询数据相关的大类和小类的关键字或关键词。

102、将所述查询类别中的关键字或关键词按照预设规则拼接成字符串,通过所述字符串在缓存装置中查询与所述待查询数据相关的数据信息,其中,缓存装置中缓存有数据库中符合预设缓存条件的已查询的数据信息;

其中预设缓存条件可以根据访问量以及数据在一段时间内的更新次数进行设置。

103、将所述数据信息展示给用户选择的数据查询请求的客户端。

上述方法将用户选择的查询请求中的与待查询数据相关的查询类别的关键字或关键词,并将其拼接成字符串,通过字符串在缓存装置中查询与待查询数据相关的数据信息,而不用在数据库中查询,大大提高了数据查询的效率,减轻系统负载,减少用户查询等待时间,提高了用户体验。

在上述步骤101中,用户在查询时,选择相应的条件即与查询数据相关的类别进行查询。这里的查询类别不需要用户手动输入,可以提供单选或下拉框等形式,这样可以控制查询条件的数量。

可理解的是,上述类别包括大类和小类,比如查询曲奇,其查询类别可以包括:食品、饼干、曲奇饼干等,其中大类可以为食品、饼干,小类为曲奇饼干,最后生成字符串为食品饼干曲奇饼干。

上述步骤102中将所述查询类别中的关键字或关键词按照预设规则拼接成字符串,包括如下子步骤:

1021、根据查询类别的关键字或关键词,获取所述查询类别中大类信息和/或小类信息;

1022、将所述大类信息和/或小类信息中的关键字或关键词进行拼接生成字符串。

在另一种可实现的方式中,所述方法还包括图1中未示出的步骤:

104、在通过所述字符串在所述缓存装置中查询与所述待查询数据相关的数据信息时,若所述缓存装置中无与所述待查询数据相关的数据信息,则通过所述字符串在数据库中查询与所述待查询数据相关的数据信息;

105、将在所述数据库中查询与所述待查询数据相关的数据信息展示给用户选择的数据查询请求的客户端。

106、将在所述数据库中查询与所述待查询数据相关的符合预设缓存条件的数据信息缓存到所述缓存装置。

上述方法中在接收到请求以后,将查询条件拼接成字符串作为key,用这个key从缓存中查询有没有对应的结果。如果根据key从缓存中查询不到结果,说明以前还没做过缓存或者缓存已经过期,这时候需要从数据库中查询,并将结果符合预设缓存条件的数据信息缓存到缓存中,以备下次查询使用;如果缓存中有对应的结果,直接取出返回给客户端即可。

具体的,上述缓存装置JCS是一个缓存框架。它是一个复合式的缓冲工具,可以将对象缓冲到内存、硬盘,具有缓冲对象时间过期设定,还可以通过JCS构建具有缓冲的分布式构架,以实现高性能的应用。对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。缓冲工具对于读操作远远多于写操作的应用性能提高非常显著。

使用JCS可以配置相应的参数,如缓存有效时间、缓存的数量上限等等,可以根据自己系统的特点来配置最为最合理的参数。

上述方法尤其是对于数据量大、数据很少更新(如一年更新一次)、查询结果内容很少的查询系统,为了提高查询效率,可以使用缓存技术,将查询的结果放进缓存装置,下次查询的时候直接从缓存装置中读取,不必在庞大的数据库中重新进行复杂的检索、运算,从缓存装置中查询数据会比从数据库中查询数据的效率高出很多。

图2示出了本发明实施例提供的一种提高数据查询效率的装置的结构示意图,如图2所示,该装置包括:接收模块21、字符串拼接模块22、第一查询模块23、第一发送模块24。

接收模块21,用于接收用户选择的数据查询请求,所述数据查询请求包括与待查询数据相关的查询类别的关键字或关键词;

其中,所述查询类别的关键字或关键词包括:与所述待查询数据相关的大类和小类的关键字或关键词。

字符串拼接模块22,用于将所述查询类别中的关键字或关键词按照预设规则拼接成字符串;

第一查询模块23,用于通过所述字符串在缓存装置中查询与所述待查询数据相关的数据信息,其中,缓存装置中缓存有数据库中符合预设缓存条件的已查询的数据信息;

第一发送模块24,用于将所述数据信息展示给用户选择的数据查询请求的客户端。

所述字符串拼接模块22,具体用于:

根据查询类别的关键字或关键词,获取所述查询类别中大类信息和/或小类信息;

将所述大类信息和/或小类信息中的关键字或关键词进行拼接生成字符串。

上述装置还包括图2中未示出的:第二查询模块25、第二发送模块26、第三发送模块27。

第二查询模块25,用于在通过所述字符串在所述缓存装置中查询与所述待查询数据相关的数据信息时,若所述缓存装置中无与所述待查询数据相关的数据信息,则通过所述字符串在数据库中查询与所述待查询数据相关的数据信息;

第二发送模块26,用于将在所述数据库中查询与所述待查询数据相关的数据信息展示给用户选择的数据查询请求的客户端。

第三发送模块27,用于将在所述数据库中查询与所述待查询数据相关的符合预设缓存条件的数据信息缓存到所述缓存装置。

本发明的装置与方法是一一对应的,在装置中将不再进行详细说明。

本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的 范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1