一种查询方法及设备与流程

文档序号:12121170阅读:256来源:国知局
一种查询方法及设备与流程
本发明涉及数据库领域,特别涉及一种预查询方法。本发明同时还涉及一种查询设备。
背景技术
:随着电子政务、企业信息化、社会信息化的不断发展、进步,产生了海量的电子文件、文档。对于这些电子文件、电子文档的管理,逐渐成为企业实现信息化战略的主要任务。企业管理系统(后续简称为管理系统)是指能够体现企业管理的大部分职能(包括决策、计划、组织、领导、监控、分析等等),且能够提供实时、相关、准确、完整的数据,从而为管理者提供决策依据的一种软件。数据库是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。因此技术人员在使用管理系统的过程中,会经常需要针对管理系统中的数据进行查询。目前,针对管理系统的查询一般需要技术人员首先确定搜索内容的类型,管理系统才能再根据技术人员输入的搜索内容给出搜索结果,在此过程中,管理系统的单个查询界面仅针对单个固定的方向。如图1所示,为现有技术中的某个管理系统的查询界面展示示意图,以该管理系统为电视软件生命周期管理系统为例,技术人员在使用该管理系统时的一般搜索方式是首先输入机型信息,在输入完毕点击搜索后,图1的界面将会给出技术人员所搜索的版本的相关信息,技术人员若需要进行更详细的搜索的话,还需通过输入分支信息并点击搜索,此时界面如图2所示,其中包含了技术人员想要的分支相关信息。发明人在实现本发明的过程中发现,以上现有技术至少存在以下技术问题:(1)管理系统后台需要为当前每一个查询类型设置相应的检索入口,同时技术人员在不确定查询内容对应的查询类型的情况下,需要到每个检索入口去检索相应的数据表,为此技术人员将花费大量的检索、提取结果的时间;(2)管理系统的后台需要针对搜索的内容将每个数据表的对应字段分别建立索引(例如机型字段、分支字段等),导致设备的查询响应时间过长。由此可见,如何在减少检索/查询响应时间的前提下,提高技术人员在数据库中进行查询的便利性,成为本领域技术人员亟待解决的技术问题。技术实现要素:本发明提供一种查询方法及设备,以使在减少检索/查询时间的前提下,提高技术人员在数据库中查询的便利性。为了达到上述目的,本发明提出了一种查询方法,应用于包含业务表的数据库系统,预先设置搜索表,该方法还包括:根据预设的任务周期在各所述业务表中获取与所述业务表当前所有可搜索内容对应的搜索结果,所述可搜索内容为所述数据库系统的搜索框可输入的所有搜索类型的内容;将所述搜索结果对应所述可搜索内容存储至所述搜索表中;当接收到用户的查询请求时,根据所述搜索表中所有与所述查询请求中携带的查询内容对应的表项向所述用户展示查询结果。优选的,所述搜索表包括主表以及备表,根据预设的任务周期在各所述业务表中获取与所述业务表当前所有可搜索内容对应的搜索结果,具体为:当到达所述任务周期时,清空所述备表,并从所述业务表中获取所述可搜索内容;将所述可搜索内容逐个写入所述备表,并为各所述可搜索内容设置预处理标识,所述预处理标识的初始状态为未处理;根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果。优选的,根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果,具体为:将所述备表中状态为未处理的预处理标识对应的可搜索内容存放至内存搜索清单中;将从所述业务表中获取到的与所述内存搜索清单中的所有可搜索内容对应的搜索结果存储至所述备表中,并将获取到的搜索结果对应的可搜索内容的预处理标识设置为已处理,直至所述内存搜索清单中的各个可搜索内容均已遍历。优选的,将所述搜索结果对应所述可搜索内容存储至所述搜索表中,具体为:判断所述备表中是否存在预处理标识为未处理的可搜索内容;若所述备表中存在预处理标识为未处理的可搜索内容,且根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果的执行次数不大于预设的预处理循环次数,重新根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果;若所述备表中不存在预处理标识为未处理的可搜索内容,或根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果的执行次数大于预设的预处理循环次数,将所述备表中预处理标识为已处理的可搜索内容对应的表项拷贝至所述主表中。优选的,所述表项包括搜索内容、搜索类型以及搜索结果,根据所述搜索表中所有与所述查询请求中携带的查询内容对应的表项向所述用户展示查询结果,具体为:在所述主表中查询所有与所述查询内容匹配的可搜索内容,并获取与所述查询内容匹配的可搜索内容的表项;将所述表项按照搜索类型进行分组,并向所述用户展示分组后的搜索结果。相应的,本发明还提出了一种查询设备,应用于包含业务表的数据库系统,该设备中预先设置搜索表,该设备还包括:获取模块,根据预设的任务周期在各所述业务表中获取与所述业务表当前所有可搜索内容对应的搜索结果,所述可搜索内容为所述数据库系统的搜索框可输入的所有搜索类型的内容;存储模块,将所述搜索结果对应所述可搜索内容存储至所述搜索表中;展示模块,当接收到用户的查询请求时,根据所述搜索表中所有与所述查询请求中携带的查询内容对应的表项向所述用户展示查询结果。优选的,所述搜索表包括主表以及备表,所述获取模块具体包括:第一获取模块,当到达所述任务周期时,清空所述备表,并从所述业务表中获取所述可搜索内容;处理模块,将所述可搜索内容逐个写入所述备表,并为各所述可搜索内容设置预处理标识,所述预处理标识的初始状态为未处理;第二获取模块,根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果。优选的,所述第二获取模块具体用于:将所述备表中状态为未处理的预处理标识对应的可搜索内容存放至内存搜索清单中;将从所述业务表中获取到的与所述内存搜索清单中的所有可搜索内容对应的搜索结果存储至所述备表中,并将获取到的搜索结果对应的可搜索内容的预处理标识设置为已处理,直至所述内存搜索清单中的各个可搜索内容均已遍历。优选的,所述存储模块具体用于:判断所述备表中是否存在预处理标识为未处理的可搜索内容;若所述备表中存在预处理标识为未处理的可搜索内容,且根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果的执行次数不大于预设的预处理循环次数,重新根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果;若所述备表中不存在预处理标识为未处理的可搜索内容,或根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果的执行次数大于预设的预处理循环次数,将所述备表中预处理标识为已处理的可搜索内容对应的表项拷贝至所述主表中。优选的,所述表项包括搜索内容、搜索类型以及搜索结果,所述展示模块具体用于:在所述主表中查询所有与所述查询内容匹配的可搜索内容,并获取与所述查询内容匹配的可搜索内容的表项;将所述表项按照搜索类型进行分组,并向所述用户展示分组后的搜索结果。通过应用本发明的实施例中提出的技术方案,基于预先设置的搜索表,根据预设的任务周期在各业务表中获取与业务表当前所有可搜索内容对应的搜索结果,并将搜索结果对应可搜索内容存储至搜索表中,这样在当接收到用户的查询请求时,根据搜索表中所有与查询请求中携带的查询内容对应的表项向用户展示查询结果。不仅使用户在查询过程中不必在不同页面之间进行跳转,而且降低了查询请求的检索时间,从而能够快速响应用户的查询请求,提高了用户的使用体验。附图说明图1为现有技术中的某个管理系统的查询界面展示示意图;图2为现有技术中的某个管理系统的查询界面另一展示示意图;图3为本申请提出的一种查询方法的流程示意图;图3a为本申请实施例中提出的一种向用户展示的搜索结果示意图;图4为本申请具体实施例提出的一种搜索表获取的流程示意图;图5为本申请具体实施例中提出的一种搜索备表中搜索结果的获取方法流程示意图;图6为本申请实施例中提出的一种查询设备的结构示意图。具体实施方式如
背景技术
中所述,一方面管理系统后台需要为当前每一个查询类型设置相应的检索入口,同时技术人员在不确定查询内容对应的查询类型的情况下,需要到每个检索入口去检索相应的数据表,另一方面管理系统的后台需要针对搜素的内容将每个数据表的对应字段分别建立索引,导致设备的查询响应时间过长,花费了检索人员的大量时间。因此,本申请提出了一种查询方法,以使在减少检索/查询时间的前提下,提高技术人员在数据库中查询的便利性。本申请实施例中,为了针对数据库中存储的多个数据表对应的不同检索入口,采用了将所有数据表可以搜索的内容对应的搜索结果全部都搜索出来,将搜索结果对应可搜索内容存储至搜索表中,这样在当接收到用户的查询请求时,根据搜索表中所有与查询请求中携带的查询内容对应的表项向用户展示查询结果。基于上述技术思想,本申请实施例中提出的一种查询方法,如图3所示,为本申请实施例提出的一种查询方法的流程示意图,该方法应用于包含业务表的数据库系统中,该方法具体步骤为:步骤301,根据预设的任务周期在各业务表中获取与业务表当前所有可搜索内容对应的搜索结果。可搜索内容为数据库系统的搜索框可输入的所有搜索类型的内容。在各业务表中获取与业务表当前所有可搜索内容对应的搜索结果,而在实际的数据库存储系统中,存在多个不同的业务表,通常都是按照不同的类别、项目以及索引来对海量数据进行分类存储于不同的业务表中,在本申请的方案中,在存储了海量数据的数据库中,数据随时都会进行存储、删除以及更新等变化,所以需要对实时变化的数据中的搜索结果也进行更新,故在本申请的技术方案中,每隔预设的任务周期对所有业务表中进行所有可搜索内容的搜索,来获取所有可搜索内容对应的搜索结果。在具体的应用场景中,在存储了海量数据的数据库中,随时都会进行数据的更新、存储以及删除等操作,可以按照实际的情况来设置任务周期的时长,每隔任务周期来对数据中的可搜索内容对应的搜索结果进行获取,但是对于另一种数据更新不是很频繁的数据库中,就不需要频繁对对搜索结果进行获取,可以设置为在数据库内数据变化的数量或数据变动的时长达到一定预设阈值的情况下,来进行触发条件式的数据库内搜索结果获取,在具体的应用场景中,进行搜索结果获取的条件以及任务周期的设置,不会对本申请的保护范围产生影响。在本申请的优选实施例中,在搜索表中进行可搜索内容的搜索结果的获取,当每次开始搜索任务时,对搜索表进行清空,从业务表中提取出搜索框中能输入的所有类型的内容,放入搜索表的搜索内容字段,并为可搜索内容设置预处理标识,此时,该搜索内容的预处理标识的状态为未处理。将搜索表中预处理标识为未处理的可搜索内容存放至内存搜索清单中,针对每条可搜索内容,根据他的相关的索引以及需要搜索的结果,在不同业务表中获取搜索结果并存储到搜索表的搜索结果中,将从业务表中获取到的与内存搜索清单中的所有可搜索内容对应的搜索结果存储至备表中,此时,将获取到搜索结果的搜索内容的预处理标识设置为已处理,将没有获取到搜索结果的搜索内容的预处理标识设置为未处理。当对全部搜索内容都进行对应的搜索结果获取后,判断搜索表中是否还存在预处理标识为未处理的可搜索内容,若搜索表中存在预处理标识为未处理状态的可搜索内容,对搜索清单中的预处理标识状态为未处理的每条数据都进行遍历搜索,重复该搜索清单中的遍历搜索直至该搜索清单中预处理标识状态为未处理的可搜索内容为空,在实际的应用场景中,会存在无法获取到搜索结果的搜索内容,可以设置遍历搜索的预处理循环次数,该预处理循环次数可以根据实际情况进行取值。当搜索表中不存在预处理标识为未处理状态的可搜索内容,或预处理标识在个业务表中获取与个可搜索内容对应的搜索结果的执行次数大于预设的预处理循环次数,将搜索表中预处理标识为已处理的可搜索内容对应的表项保存至搜索表中。步骤302,将搜索结果对应可搜索内容存储至搜索表中。可搜索内容的搜索结果的获取以及存储都是在搜索表中进行的,在实际的应用场景中,一些意外事故或系统错误等会导致搜索过程耗时较久,此时若用户进行搜索将无法进行搜索结果的准确获取,会影响用户的体验,故在本申请的优选实施例中,采用了将搜索表分为搜索主表以及搜索备表。具体的,上述步骤中的可搜索内容的搜索结果的获取步骤主要在搜索备表中进行,当数据库中可搜索内容的搜索结果获取完毕并后,将搜索备表中的预处理标识为已处理的搜索内容对应的搜索结果全部拷贝存储到搜索备表中,覆盖搜索主表中原有的搜索结果数据。从功能结构上来说,搜索备表用于在存储系统内部进行全部可搜索内容对应的搜索结果的获取,而搜索主表用于外部用户进行数据的查询和获取,这样进行区分能够有效地提高搜索结果获取过程中的安全性。步骤303,当接收到用户的查询请求时,根据搜索表中所有与查询请求中携带的查询内容对应的表项向用户展示查询结果。搜索表中存储的搜索结果具有多个表项,分别包括搜索内容、搜索类型以及搜索结果等,根据用户输入的查询请求中的查询内容,在搜索主表中查询所有与该查询内容匹配的可搜索内容,并获取与查询内容匹配的可搜索内容的表项,将不同的表项案号搜索类型进行分组,并向用户展示分组后的搜索结果。在具体的应用场景中,可以将不同的表项设置为不同的标签来进行搜索结果的展示,以标签进行划分,用户选择不同的标签来进行不同表项的展示,以图3a为例,为向用户展示的搜索结果示意图,搜索结果的表项分别为机型、tag、分支,图3a中为用户选中机型的标签时,对用户进行的展示。或者,将所有表项全部展示,但是会在搜索结果加上表项的标识,用户可以根据该标识来进行表项的区分,以表1为例,为向用户展示的搜索结果,其中SearchKey为搜索内容,SearchType为搜索的类型,SearchValue为搜索的结果。表1SearchKeySearchTypeSearchValueM5507model*****B5507branch***T5508tag**********M5508model*****B5508branch***通过应用本发明的实施例中提出的一种查询方法,基于预先设置的搜索表,根据预设的任务周期在各业务表中获取与业务表当前所有可搜索内容对应的搜索结果,并将搜索结果对应可搜索内容存储至搜索表中,这样在当接收到用户的查询请求时,根据搜索表中所有与查询请求中携带的查询内容对应的表项向用户展示查询结果。不仅使用户在查询过程中不必在不同页面之间进行跳转,而且降低了查询请求的检索时间,从而能够快速响应用户的查询请求,提高了用户的使用体验。为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。在本申请的具体实施例提出的一种查询方法中,主要包含两个步骤:步骤A,搜索表搜索结果的获取;步骤B,搜索结果的展示。针对上述步骤A,其中,搜索表搜索结果的获取,主要是通过设置的定时任务来进行可搜索内容的搜索结果获取,在搜索备表中完成搜索结果的获取,再将搜索结果拷贝至搜索主表中,如图4所示,为本申请具体实施例提出的一种搜索表获取的流程示意图,该方法预先设置了搜索主表SearchTable以及搜索备表SearchTabBK,应用于包含了不同业务表的数据库系统中,在本申请具体实施例中,该业务表分别为分支(branch)、机型(model)、tag三种业务表,在该方法的实施过程中,需要执行搜索内容对应的搜索结果获取的定时任务,该定时任务的具体步骤为:步骤401、清空搜索备表中的所有内容;具体的,每当定时任务开始后,删除SearchTabBK表中的所有数据。步骤402,将可检索字段内容拷贝到搜索备表中;具体的,从数据系统中的不同业务表中,提取出搜索框中可以输入的所有类型的内容,放到SearchTabBK的SearchKey搜索内容。步骤403,将搜索的结果存储到搜索备表中;对所有可以搜索的的内容进行搜索,将搜索到的搜索结果存储到搜索备表中的SearchValue中,其中根据业务表的差距,用SearchType来进行标识。步骤404,删除主表中的内容;具体的,将主表SearchTable中保存的上一个搜索结果表SearchValue进行删除清空。步骤405,将搜索备表中的存储的搜索结果拷贝到搜索主表中;将搜索备表中的SearchValue拷贝到搜索主表中,其中,该SearchValue具有对应的搜索关键SearchKey和和搜索类型SearcType。在本申请的具体应用场景中,通过应用上述定时任务,来进行定期的搜索结果获取,将获取到的搜索结果全部存储在搜索备表中,再将搜索备表中的内容更新到搜索主表中,这样就完成了定时更新搜索结果的任务。为了对上述定时任务进一步的说明,下面对定时任务中搜索备表中的搜索任务的步骤403进行说明,如图5所示,为本申请具体实施例中搜索备表中搜索结果的获取方法流程示意图,具体为:S501,判断执行的遍历搜索次数是否大于预设循环次数;具体的,当遍历搜索次数是小于预设循环次数时,执行步骤S502,若遍历搜索次数是等于或大于预设循环次数,则执行步骤S508。S502,将预处理标识为flag=false的可搜索内容存放到搜索清单Searchlist中。S503,判断搜索清单Searchlist中可搜索内容是否为空;具体的,若搜索清单Searchlist中可搜索内容不为空,执行步骤504,若搜索清单Searchlist中可搜索内容为空,则执行步骤S508。S504,遍历搜索搜索清单Searchlist的每条数据;S505,从业务表中获取与搜索内容对应的搜索结果,并将搜索结果存储到SearchVlue中。S506,将获取到搜索结果的搜索内容的预处理标识flag改为true;S507,判断是否已经将搜索清单Searchlist便来搜索完成;具体的,若已经搜索完成,则执行步骤S501,若没有完成,则执行步骤S504。步骤S508,将搜索结果从搜索备表SearchTabBK中拷贝到SearchTab中。通过应用上述本申请具体实施例中提出的搜索结果的获取方法,可以保证在步骤A中的搜索结果的获取完整,通过搜索主备表的区分,可以保证数据的安全性。而针对于上述步骤B,在实际的应用场景中,会有多种搜索结果展示方法,以图3a为例,为向用户展示的搜索结果示意图,搜索结果的表项分别为机型、tag、分支,图3a中为用户选中机型的标签时,对用户进行的展示。,以表2为例,当用户搜索内容为“5507”和“5508”时,为向用户展示的搜索结果,其中SearchKey为搜索内容,SearchType为搜索的类型,SearchValue为搜索的结果。表2SearchKeySearchTypeSearchValueM5507model*****B5507branch***T5508tag**********M5508model*****B5508branch***由此可知,根据获取到的搜索结果的全面和多样性,针对用户的搜索结果展示也会有多种组合,可以使用户跟直观、方便的来进行搜索结果的获取。通过应用本发明的具体实施例中提出的一种查询方法,基于预先设置的搜索表,根据预设的任务周期在各业务表中获取与业务表当前所有可搜索内容对应的搜索结果,并将搜索结果对应可搜索内容存储至搜索表中,这样在当接收到用户的查询请求时,根据搜索表中所有与查询请求中携带的查询内容对应的表项向用户展示查询结果。不仅使用户在查询过程中不必在不同页面之间进行跳转,而且降低了查询请求的检索时间,从而能够快速响应用户的查询请求,提高了用户的使用体验。基于与上述相同的技术思想,本申请还提出了一种查询设备,如图6所示,为本申请实施例中提出的一种查询设备的结构示意图,该设备应用于包含业务表的数据库系统,该设备中预先设置搜索表,该设备还包括:获取模块61,根据预设的任务周期在各所述业务表中获取与所述业务表当前所有可搜索内容对应的搜索结果,所述可搜索内容为所述数据库系统的搜索框可输入的所有搜索类型的内容;存储模块62,将所述搜索结果对应所述可搜索内容存储至所述搜索表中;展示模块63,当接收到用户的查询请求时,根据所述搜索表中所有与所述查询请求中携带的查询内容对应的表项向所述用户展示查询结果。在具体的应用场景中,所述搜索表包括主表以及备表,所述获取模块61具体包括以下子模块:第一获取模块,当到达所述任务周期时,清空所述备表,并从所述业务表中获取所述可搜索内容;处理模块,将所述可搜索内容逐个写入所述备表,并为各所述可搜索内容设置预处理标识,所述预处理标识的初始状态为未处理;第二获取模块,根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果。在具体的应用场景中,所述第二获取模块具体用于:将所述备表中状态为未处理的预处理标识对应的可搜索内容存放至内存搜索清单中;将从所述业务表中获取到的与所述内存搜索清单中的所有可搜索内容对应的搜索结果存储至所述备表中,并将获取到的搜索结果对应的可搜索内容的预处理标识设置为已处理,直至所述内存搜索清单中的各个可搜索内容均已遍历。在具体的应用场景中,所述存储模块62具体用于:判断所述备表中是否存在预处理标识为未处理的可搜索内容;若所述备表中存在预处理标识为未处理的可搜索内容,且根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果的执行次数不大于预设的预处理循环次数,重新根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果;若所述备表中不存在预处理标识为未处理的可搜索内容,或根据所述预处理标识在各所述业务表中获取与各所述可搜索内容对应的搜索结果的执行次数大于预设的预处理循环次数,将所述备表中预处理标识为已处理的可搜索内容对应的表项拷贝至所述主表中。在具体的应用场景中,所述表项包括搜索内容、搜索类型以及搜索结果,所述展示模块63具体用于:在所述主表中查询所有与所述查询内容匹配的可搜索内容,并获取与所述查询内容匹配的可搜索内容的表项;将所述表项按照搜索类型进行分组,并向所述用户展示分组后的搜索结果。通过应用本发明提出的技术方案,基于预先设置的搜索表,根据预设的任务周期在各业务表中获取与业务表当前所有可搜索内容对应的搜索结果,并将搜索结果对应可搜索内容存储至搜索表中,这样在当接收到用户的查询请求时,根据搜索表中所有与查询请求中携带的查询内容对应的表项向用户展示查询结果。不仅使用户在查询过程中不必在不同页面之间进行跳转,而且降低了查询请求的检索时间,从而能够快速响应用户的查询请求,提高了用户的使用体验。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1