专利名称:一种检索路径存储的方法、装置及系统的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种检索路径存储的方法、装置及系统。
背景技术:
XML(Extensible Markup Language,可扩展标记语言)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML可以将文档内容和显示格式分隔开来,文档中的标记是用来描述XML数据元素的含义,而不是用来描述如何显示,所以XML是一种自描述的数据。XML日益成为互联网上数据表现和数据交换的标准,如何从大量的XML信息中检索出有效的信息已成为急需解决的问题。目前,在对XML信息进行检索之前,需先对XML信息进行解析,得到结构化的检索路径。根据用户提供的关键字,利用结构化的检索路径,对XML进行检索,可以提供检索效率。由于XML数据量大,在解析XML后,如何高效存储解析后庞大的结构树信息已成为业界越来越关注的问题。在现有技术中,存储解析后庞大的结构树信息是基于前缀的编码进行存储的。在实现上述基于前缀的编码进行存储结构树信息的过程中,发明人发现现有技术中至少存在如下问题基于前缀的编码信息的存储方式存储在冗余信息。并且,随着树的深度增加,冗余信息呈指数增长,从而造成存储空间的浪费。
发明内容
本发明的实施例提供一种检索路径存储的方法、装置及系统,用以实现减小存储空间的浪费,提闻存储空间的利用率。为达到上述目的,本发明的实施例采用如下技术方案第一方面,本发明实施例提供了一种检索路径存储的方法,包括将待检索数据进行解析,获取至少一个关键数据;根据所述至少一个关键数据,生成至少一个哈希键对;其中,检索路径由至少一个所述哈希键对组成;所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素;存储所述至少一个哈希键对。第二方面,本发明实施例提供了一种检索路径存储的装置,包括获取单元,用于将待检索数据进行解析,获取至少一个关键数据;生成单元,用于根据所述至少一个关键数据,生成至少一个哈希键对;其中,检索路径由至少一个所述哈希键对组成;所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素;存储单元,用于存储所述解析单元得到的所述至少一个哈希键对。第三方面,本发明实施例提供了一种检索路径存储的系统,包括主节点,交换机,业务服务器,终端;其中,所述主节点为上述实施例中所述的检索路径存储的装置。本发明实施例提供了一种检索路径存储的方法、装置及系统,通过将待检测数据解析,解析出的关键数据,根据解析出的关键数据,获取哈希键对,并存储所述哈希键对。这样,存储的每个哈希键对只有两个元素,减少了冗余信息,从而实现了减小存储空间的浪费,提闻了存储空间的利用率。
图1为本发明实施例提供的一种检索路径存储的方法的示意图;图2为本发明实施例提供的一种检索路径存储的装置的应用示意图;图3为本发明实施例提供的一种示例的示意图;图4为本发明实施例提供的另一种检索路径存储的方法的示意图;图5为本发明实施例提供的另一种检索路径存储的方法的示意图;图6为本发明实施例提供的另一种不例的不意图;图7为本发明实施例提供的一种检索路径存储的装置的结构示意图;图8为本发明实施例提供的另一种检索路径存储的装置的结构示意图;图9为本发明实施例提供的另一种检索路径存储的装置的结构示意图;图10为本发明实施例提供的一种检索路径存储的系统的结构示意图。
具体实施例方式下面结合附图对本发明实施例检索路径存储的方法、装置、系统进行详细描述。本发明实施例提供了一种检索路径存储的方法,如图1所示,包括101、将待检索数据进行解析,获取至少一个关键数据。其中,所述关键数据是用于构建检索路径的数据。需要说明的是,检索路径是指根据接收到的检索关键数据进行检索时,所使用的 路径。具体的,检索路径存储的装置将待检索的数据的内容进行解析,从待检索的数据 的内容中解析出关键数据。优选的,将待检索数据进行解析,得到结构形式是树型的关键数 据。即为,将待检索的数据解析出树型结构的关键数据。可选的,待检索数据为XML(Extensible Markup Language,可扩展标记语言)数据。需要说明的是,待检索数据还可是其他形式的检索时,是检索数据内容的数据,本 发明对此不做限制。需要说明的是,所述检索路径的装置可以是一种计算设备,简称为主机,如图2所 示。其中,主机可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。在主 机内部,安装有操作系统以及其他应用程序,本发明对此不做限制。102、根据所述至少一个关键数据,生成至少一个哈希键对。其中,检索路径由至少一个所述哈希键对组成。所述哈希键对包括第一元素和第 二元素。所述第二元素是所述第一元素的上一级元素。第一元素是一个关键数据,第二元 素是此关键数据的上一级数据。具体的,检索路径存储的装置在获取了至少一个关键数据后,将获取的至少一个 关键数据的每个元素,与此元素的上一级元素,生成哈希键对。进一步的,若至少一个关键数据的结构形式是树型,则根据所述结构形式是树型 的关键数据,生成至少一个哈希键对。即为,将树中的每个节点及其父节点生成一个哈希键对。需要说明的是,树中的每一个节点是一个关键数据,此时所述哈希键对的第一元素是树型结构的关键数据中的一个节点;所述哈希键对的第二元素是所述第一元素的父节示例性的,假设生成的关键数据为树型结构,如图3所示。生成的关键数据包括根节点为生活圈子,根节点有三个子节点,分别为国家,岛屿及湖泊。其中,国家有三个子节点,分别为人口,名字,城市。城市有三个字节点,分别为人口,标识,名字。岛屿有两个子节点,分别为名字,地区。湖泊有两个子节点,分别为名字,地区。将树型结构的关键数据的每个节点及其父节点生成哈希键对。其中,将每个节点作为哈希键对的第一元素,将其父节点作为哈希键对的第二元素。生成的哈希键对如下表I所示。表I
<地区,岛屿>
〈地区,湖泊>
〈城市,国家〉
<国家,生活圈子〉
<标识,城市>
〈岛均,生活圈子>
〈湖泊,生活圈子〉
〈名字,国家〉
〈名字,城市〉
〈名字,岛屿〉
〈名字,湖泊>
〈人口,国家〉
〈人口,城市〉103、存储所述至少一个哈希键对。具体的,检索路径存储的装置存储生成的至少一个哈希键对。可选的,检索路径存储的装置可以根据预设哈希算法,获取所述至少一个哈希键对对应的哈希值;根据所述至少一个哈希键对对应的哈希值,将所述至少一个哈希键对,存储至所述至少一个哈希键对对应的哈希值对应的位置。需要说明的是,预设哈希算法,是检索路径存储的装置预先设置的。
其中,检索路径存储的装置根据预设的哈希算法,可以获取哈希键对的第一元素的哈希值,根据此哈希值将此哈希值对应的哈希键对存储至此哈希值对应的位置。如上例所述,假设预设哈希算法是求取哈希键对的第一元素的第一字母的ASCI码,并以4为除数求取余数。假设根据上述预设哈希算法,求取的〈地区,岛屿 > 的哈希值为3,则将〈地区,岛屿 > 存储至哈希值为3对应的位置。进一步的,根据所述至少一个哈希键对对应的哈希值,将所述至少一个哈希键对,存储至所述至少一个哈希键对对应的哈希值对应的存储节点中。具体的,检索路径存储的装置将哈希键对存储至哈希键对对应的哈希值对应的存储节点中。需要说明的是,检索路径存储的装置管理存储节点,参考图2所示。存储节点可以包括当前技术已知的存储设备,如独立磁盘冗余阵列(Redundant Arrays of IndependentDisks, RAID)、磁盘族(Justa Bunch Of Disks, JBOD)、直接存取存储器(Direct AccessStorageDevice,DASD)的一个或多个互连的磁盘驱动器,诸如磁带库、一个或多个存储单元的磁带存储设备,本发明对此不做限制。本发明实施例提供了一种检索路径存储的方法,通过将待检测数据解析,解析出的关键数据,根据解析出的关键数据,获取哈希键对,并存储所述哈希键对。这样,存储的每个哈希键对只有两个元素,减少了冗余信息,从而实现了减小存储空间的浪费,提高了存储空间的利用率。在步骤103之后,上述方法,如图4所示,还包括104、将未解析的所述待检索数据存储至所述存储节点中。具体的,检索路径存储的装置可以将未解析过的所述待检索数据根据存储节点的个数平均分为存储节点的第一整数倍。可以将第一整数个待检索数据可以顺序的存储至各个存储节点中。也可将第一整数个待检索数据根据预设哈希算法生成对应的哈希值,将第一整数个待检索数据根据对应的哈希值存储至相应的存储节点中。需要说明的是,第一整数是不小于I的整数。通过步骤104可以将原始的数据存储至存储节点,使得在接收到检索关键字时,可以根据存储的数据进行查询,从而获取与检索关键字有关的数据。在步骤104之后,上述方法,如图5所示,还包括105、接收检索关键字及检索关键字类型。具体的,若用户需查询数据,则用户需输入检索关键字,并输入检索关键字类型。例如,用户要查询城市西安的相关情况,则输入检索关键字类型为名字,检索关键字为西安,则检索路径的装置接收此检索关键字,及检索关键字类型。106、根据所述检索关键字类型,获取所述检索关键字类型的哈希值。具体的,检索路径存储的装置接收到检索关键字类型后,将检索关键字类型利用预设哈希算法,计算出检索关键字类型的哈希值。示例性的,检索路径存储的装置接收到检索关键字的类型为名字,则根据预设哈希算法,获取名字对应的哈希值。107、根据获取的所述检索关键字类型的哈希值,获取第一哈希键对。其中,所述第一哈希键对是指根据检索关键字类型的哈希值查找到的哈希键对。
具体的,检索路径存储的装置根据获取的所述检索关键字类型的哈希值,获取存储位置对应的哈希值与所述检索关键字类型的哈希值相同的第一哈希键对;循环记录所述第一哈希键对的第一元素,并获取所述第一哈希键对的第二元素的哈希值;根据所述获取的所述第一哈希键对的第二元素的哈希值,获取存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的第二哈希键对;根据所述存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的哈希键对,更新所述第一哈希键对,直至获取的第二哈希键对为空;记录第一哈希键对的第二元素。其中,所述第二哈希键对的第一元素是所述第一哈希键对的第二元素。具体来说,检索路径存储的装置获取了检索关键字类型的哈希值后,根据此哈希值查找存储了哈希键对的,且此哈希值对应的位置。在存储了哈希键对的,且此哈希值对应的位置中获取检索关键字类型为第一元素的哈希键对,即为获取第一哈希键对。在获取了第一哈希键对后,记录第一哈希键对的第一元素,即为记录检索关键字类型,并获取第一哈希键对的第二元素。根据预设哈希算法,计算第一哈希键对的第二元素的哈希值,根据此哈希值查找存储了哈希键对的,且第一哈希键对的第二元素的哈希值对应的位置,并获取存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的第二哈希键对。也就是说,在存储了哈希键对的,且第一哈希键对的第二元素的哈希值对应的位置中获取第一哈希键对的第二元素的为第一元素的第二哈希键对。在获取了第二哈希键对后,根据此第二哈希键对更新第一哈希键对,即为将现有的第二哈希键对替换第一哈希键对,从而生成新的第一哈希键对,重复执行记录第一哈希键对的第一元素,并根据预设哈希算法,计算第一哈希键对的第二元素的哈希值,并查找存储位置的哈希值与第一哈希键对的第二元素的哈希值相同的存储位置,获取第二哈希键对,进而根据第二哈希键对更新第一哈希键对,直至获取的第二哈希键对为空;记录第一哈希键对的第二元素。示例性的,如上例所述,假如用户输入检索关键字类型为名字,且,检索路径存储的装置将哈希键对存储在存储节点中。检索路径存储的装置根据预设哈希算法计算出名字的哈希值,假设计算出的名字的哈希值为2,则根据哈希值2查找存储了哈希键对的,哈希值2对应的存储节点,即为根据哈希值2,查找到存储位置的哈希值为2的存储位置。在哈希值2对应的存储节点中,获取名字为第一元素的哈希键对,即为获取第一哈希键对。若在存储节点中存储了 4个第一元素为名字的哈希键对,则将这4个哈希键对都视为第一哈希键对。这四个第一哈希键对分别为〈名字,国家〉、〈名字,城市〉、〈名字,岛屿〉、〈名字,湖泊〉。下面以〈名字,国家〉为例进行说明。第一哈希键对为〈名字,国家 >,则记录此第一哈希键对的第一元素名字,并获取此第一哈希键对的第二元素国家。根据预设哈希算法,计算第一哈希键对的第二元素国家的哈希值,若计算的哈希值为1,则查找第一哈希键对的第二元素国家的哈希值I对应的存储节点。在此存储节点中,获取第一元素为国家的哈希键对,即为获取第二哈希键对。若在存储节点中只存储了一个第一元素为国家的哈希键对,则获取了一个第二哈希键对。此时,第二哈希键对为〈国家,生活圈子 >。根据第二哈希键对更新第一哈希键对,即为将第一哈希键对由〈名字,国家〉更新为〈国家,生活圈子〉。更新为第一哈希键对后,记录第一哈希键对的第一元素国家。获取第一哈希键对的第二元素生活圈子。根据预设哈希算法,计算第一哈希键对的第二元素生活圈子的哈希值,若计算的哈希值为2,则查找第一哈希键对的第二元素生活圈子的哈希值2对应的存储节点。在此存储节点中,获取第一元素为生活圈子的哈希键对,即为获取第二哈希键对,此时哈希值3对应的存储节点中没有存储第一元素为生活圈子的哈希键对,也就是说,获取的第二哈希键对为空,记录第一哈希键对的第二元素,即为记录生活圈子。此时,记录的数据为名字,国家,生活圈子。其他三个第一哈希键对〈名字,城市 >、< 名字,岛屿 >、< 名字,湖泊 > 的处理方法,与第一哈希键对〈名字,国家 > 的处理方法相同,在此不再赘述,如图6所示。此时,获取的第一哈希键对〈名字,国家>的记录内容为名字,国家,生活圈子。第一哈希键对〈名字,城市〉的记录内容为名字,城市,国家,生活圈子。第一哈希键对〈名字,岛屿〉的记录内容为名字,岛屿、生活圈子。第一哈希键对〈名字,湖泊〉的记录内容为名字,湖泊、生活圈子。108、根据获取的所述第一哈希键对,建立检索路径。具体的,检索路径存储的装置在获取第一哈希键对后,根据此第一哈希键对建立检索路径。进一步的,检索路径存储的装置根据所述记录的至少一个第一哈希键对的第一元素及所述第一哈希键对的第二元素,根据记录时间,逆序建立检索路径。其中,逆序建立是指根据记录时间,将记录内容按照记录时间从最晚记录时间到最早记录时间的顺序排列。需要说明的是,由于根据检索关键字类型获取第一哈希键对,哈希键对的第二元素是第一元素的上一级元素,所以,记录第一哈希键对的第一元素时,当前记录的第一哈希键对的第一元素为上一次记录的第一哈希键对的第一元素的上一级。用户输入的检索关键字类型为第一次记录的第一哈希键对的第一元素。最后记录的第一哈希键对的第二元素为最后一个元素,即为树型结构的根节点。其中,检索路径存储的装置根据至少一个第一哈希键对的第一元素及所述第一哈希键对的第二元素的记录时间,将记录的内容,按照从最晚记录时间到最早记录时间的顺序,建立检索路径。示例性的,上例所述,获取的4个第一哈希键对的至少一个第一元素及第二元素,分别为第一哈希键对〈名字,国家〉的记录内容为名字,国家,生活圈子。第一哈希键对〈名字,城市〉的记录内容为名字,城市,国家,生活圈子。第一哈希键对〈名字,岛屿〉的记录内容为名字,岛屿、生活圈子。第一哈希键对〈名字,湖泊 > 的记录内容为名字,湖泊、生活圈子。以第一哈希键对〈名字,国家 > 的记录内容为名字,国家,生活圈子为例进行说明。若第一哈希键对〈名字,国家〉的记录内容为名字,国家,生活圈子。其中,名字的记录时间最早,国家次之,生活圈子的记录时间最晚。此时,按照最晚记录时间到最早记录时间的顺序,建立检索路径,此时建立的检索路径为生活圈子,国家,名字。其他三个第一哈希键对建立检索路径的方法,与第一哈希键对为对〈名字,国家〉建立检索路径的方法相同,在此不再赘述。获取的4条检索路径为生活圈子,国家,名字;生活圈子,国家,城市,名字;生活圈子,岛屿,名字;生活圈子,湖泊,名字。109、根据所述检索路径及所述检索关键字进行对待检索数据进行检索,获取检索数据。具体的,检索路径存储的装置获取了检索路径,根据检索路径查找到待检索数据进行检索,找到与检索路径下的待检索数据,此时,根据用户输入的检索关键字查找检索路径下的待检索数据,从而查找到与检索关键字相关的检索数据。
进一步的,在所述至少一个哈希键对存储至存储节点的情况下,检索路径存储的装置将所述检索路径及所述检索关键字发送至存储哈希键对的存储节点中,以使得所述存储节点根据所述检索路径及所述检索关键字,对存储的所述未解析的所述待检测数据进行检索,并返回检索数据。检索路径存储的装置接收所述存储节点返回的检索数据。可选的,检索路径存储的装置将所述检索路径及所述检索关键字添加至查询请求消息中,将查询请求消息发送至存储哈希键对的存储节点中。示例性的,如上例所述,检索路径存储的装置获取的4条查询检索路径为生活圈子,国家,名字;生活圈子,国家,城市,名字;生活圈子,岛屿,名字;生活圈子,湖泊,名字。检索路径存储的装置将获取的4条检索路径,及接收的用户输入的检索关键字西安均发送至存储了哈希键对的所有存储节点中。存储节点接收到检索路径存储的装置发送的4条检索路径,及用户输入的检索关键字西安后,根据4条检索路径,分别检索存储的未解析过的待检索数据。示例性的,根据生活圈子,国家,名字检索存储的未解析过的待检索数据,检索出相符的数据后,根据用户输入的检索关键字西安,继续检索相符的数据,若在存储的数据中检索到国家名字与西安相同的检索数据,则将检索数据返回至检索路径存储的装置,没有检索到国家名字与西安相同的检索数据,则向检索路径存储的装置返回没有检索到与西安相符的国家名字的相关信息。根据其他三检索路径检索存储的未解析过的待检数据与根据生活圈子,国家,名字检索存储的未解析过的待检索数据相同,在此不再赘述。存储节点只在检索路径为生活圈子,国家,城市,名字的检索路径下查找出与西安相关的检索数据,在其他检索路径下没有检索相关信息,则检索路径存储的装置能够接收到存储节点反馈的与西安相关的检索数据。110、返回所述检索数据。具体的,检索路径存储的装置接收到存储节点反馈的与西安相关的检索数据后,将此检索数据反馈至用户设备。本发明实施例提供了一种检索路径存储的方法,通过将待检测数据解析,解析出的关键数据,根据解析出的关键数据,获取哈希键对,并存储所述哈希键对。这样,存储的每个哈希键对只有两个元素,减少了冗余信息,从而实现了减小存储空间的浪费,提高了存储空间的利用率。接收到用户输入的检索关键字及检索关键字类型后,根据检索关键字类型,建立检索路径,并根据此检索路径及用户输入的检索关键字,获取用户所需的检索数据,进而反馈至用户。提高了查询速度,从而提高了用户体验。本发明实施例提供了一种检索路径存储的装置,如图7所示,包括获取单元601,用于将待检索数据进行解析,获取至少一个关键数据。其中,所述关键数据是用于构建检索路径的数据。需要说明的是,检索路径是指根据接收到的检索关键数据进行检索时,所使用的路径。具体的,所述获取单元601具体用于,将待检索数据进行解析,得到结构形式是树型的关键数据。生成单元602,用于根据所述获取单元601获取的所述至少一个关键数据,生成至少一个哈希键对。其中,检索路径由至少一个所述哈希键对组成。所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素。第一元素是一个关键数据,第二元素是此关键数据的上一级数据。具体的,所述生成单元602具体用于,根据所述获取单元601获取的所述结构形式是树型的关键数据,生成至少一个哈希键对。此时,所述哈希键对的第一元素是树型结构的关键数据中的一个节点;所述哈希键对的第二元素是所述第一元素的父节点。存储单元603,用于存储所述生成单元602得到的所述至少一个哈希键对。具体的,所述存储单元603具体用于,根据预设哈希算法,获取所述至少一个哈希键对对应的哈希值。根据所述至少一个哈希键对对应的哈希值,将所述至少一个哈希键对,存储至所述至少一个哈希键对对应的哈希值对应的存储节点中。所述存储单元603,还用于将未解析过的所述待检测数据存储至所述存储节点中。进一步的,上述检索路径存储的装置,如图8所示,还包括接收单元604,用于接收检索关键字及检索关键字类型。所述获取单元601,还用于根据所述接收单元604接收的所述检索关键字类型,获取所述检索关键字类型的哈希值。所述获取单元601,还用于根据获取的所述检索关键字类型的哈希值,获取第一哈希键对。其中,所述第一哈希键对是指根据检索关键字类型的哈希查找到的哈希键对。具体的,所述获取单元601具体用于,根据获取的所述检索关键字类型的哈希值,获取存储位置对应的哈希值与所述检索关键字类型的哈希值相同的第一哈希键对。循环记录所述第一哈希键对的第一元素,并获取所述第一哈希键对的第二元素的哈希值。根据所述获取的所述第一哈希键对的第二元素的哈希值,获取存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的第二哈希键对;所述第二哈希键对的第一元素是指所述第一哈希键对的第二元素。根据所述存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的哈希键对,更新所述第一哈希键对,直至获取的第二哈希键对为空;记录第一哈希键对的第二元素。建立单元605,用于根据所述获取单元601获取的所述第一哈希键对,建立检索路径。具体的,所述建立单元605具体用于,根据所述记录的至少一个第一哈希键对的第一元素,根据记录时间,逆序建立检索路径。其中,逆序建立是指根据记录时间,将记录内容按照记录时间从最晚记录时间到最早记录时间的顺序排列。所述获取单元601,还用于根据所述建立单元605建立的所述检索路径及所述接收单元604接收的所述检索关键字进行对带检索数据进行检索,获取检索数据。具体的,获取单元601具体用于,在所述至少一个哈希键对存储至存储节点的情况下,将所述检索路径及所述检索关键字发送至存储哈希键对的存储节点中,以使得所述存储节点根据所述检索路径及所述检索关键字,对存储的所述未解析过的所述待检测数据进行检索,并返回检索数据。接收所述存储节点返回的检索数据。本发明实施例提供了一种检索路径存储的装置,通过将待检测数据解析,解析出的关键数据,根据解析出的关键数据,获取哈希键对,并存储所述哈希键对。这样,存储的每个哈希键对只有两个元素,减少了冗余信息,从而实现了减小存储空间的浪费,提高了存储空间的利用率。接收到用户输入的检索关键字及检索关键字类型后,根据检索关键字类型,建立检索路径,并根据此检索路径及用户输入的检索关键字,获取用户所需的检索数据,进而反馈至用户。提高了查询速度,从而提高了用户体验。本发明实施例提供了一种检索路径存储的装置,如图9所示,包括存储器801以及与存储器801连接的处理器802。当然,检索路径存储的装置还可以包括天线、基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不再任何限制。其中,存储器801中存储一组程序代码,处理器802用于调用存储器801中的程序代码,用于执行以下操作处理器802,用于将待检索数据进行解析,获取至少一个关键数据。其中,所述关键数据是用于构建检索路径的数据。需要说明的是,检索路径是指根据接收到的检索关键数据进行检索时,所使用的路径。具体的,所述处理器802具体用于,将待检索数据进行解析,得到结构形式是树型的关键数据。处理器802,还用于根据所述至少一个关键数据,生成至少一个哈希键对。其中,检索路径由至少一个所述哈希键对组成。所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素。第一元素是一个关键数据,第二元素是此关键数据的上一级数据。具体的,所述处理器802具体用于,根据所述结构形式是树型的关键数据,生成至少一个哈希键对。此时所述哈希键对的第一元素是树型结构的关键数据中的一个节点;所述哈希键对的第二元素是所述第一元素的父节点。存储器801,用于存储所述处理器802得到的所述至少一个哈希键对。具体的,所述存储器801具体用于,根据预设哈希算法,获取所述至少一个哈希键对对应的哈希值。根据所述至少一个哈希键对对应的哈希值,将所述至少一个哈希键对,存储至所述至少一个哈希键对对应的哈希值对应的存储节点中。所述存储器801,还用于将未解析过的所述待检测数据存储至所述存储节点中。进一步的,上述检索路径存储的装置,参考图9所示,还包括接收机803。其中,所述接收机803分别与处理器802相连。接收机803,用于接收检索关键字及检索关键字类型。所述处理器802,还用于根据所述接收机804接收的所述检索关键字类型,获取所述检索关键字类型的哈希值。所述处理器802,还用于根据获取的所述检索关键字类型的哈希值,获取第一哈希键对。其中,所述第一哈希键对是指根据检索关键字类型的哈希查找到的哈希键对。具体的,所述处理器802具体用于,根据获取的所述检索关键字类型的哈希值,获取存储位置对应的哈希值与所述检索关键字类型的哈希值相同的第一哈希键对。循环记录所述第一哈希键对的第一元素,并获取所述第一哈希键对的第二元素的哈希值。根据所述获取的所述第一哈希键对的第二元素的哈希值,获取存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的第二哈希键对;所述第二哈希键对的第一元素是指所述第一哈希键对的第二元素。根据所述存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的哈希键对,更新所述第一哈希键对,直至获取的第二哈希键对为空;记录第一哈希键对的第二元素。处理器802,还用于根据所述第一哈希键对,建立检索路径。具体的,所述处理器802具体用于,根据所述记录的至少一个第一哈希键对的第一元素,根据记录时间,逆序建立检索路径。其中,逆序建立是指根据记录时间,将记录内容按照记录时间从最晚记录时间到最早记录时间的顺序排列。所述处理器802,还用于根据所述检索路径及所述接收单元604接收的所述检索关键字进行对带检索数据进行检索,获取检索数据。具体的,处理器802具体用于,在所述至少一个哈希键对存储至存储节点的情况下,将所述检索路径及所述检索关键字发送至存储哈希键对的存储节点中,以使得所述存储节点根据所述检索路径及所述检索关键字,对存储的所述未解析过的所述待检测数据进行检索,并返回检索数据。接收所述存储节点返回的检索数据。本发明实施例提供了一种检索路径存储的装置,通过将待检测数据解析,解析出的关键数据,根据解析出的关键数据,获取哈希键对,并存储所述哈希键对。这样,存储的每个哈希键对只有两个元素,减少了冗余信息,从而实现了减小存储空间的浪费,提高了存储空间的利用率。接收到用户输入的检索关键字及检索关键字类型后,根据检索关键字类型,建立检索路径,并根据此检索路径及用户输入的检索关键字,获取用户所需的检索数据,进而反馈至用户。提高了查询速度,从而提高了用户体验。本发明实施例提供了一种检索路径存储的系统,如图10所示,包括主节点901,交换机902,业务服务器903,终端904。其中,所述路主节点901为上述实施例中所述的检索路径存储的装置。进一步的,上述检索路径存储的系统,参考图10所示,还包括存储节点905。其中,所述主节点901管理所述存储节点905。本发明实施例提供了一种检索路径存储的方法、装置及系统,通过将待检测数据解析,解析出的关键数据,根据解析出的关键数据,获取哈希键对,并存储所述哈希键对。这样,存储的每个哈希键对只有两个元素,减少了冗余信息,从而实现了减小存储空间的浪费,提高了存储空间的利用率。接收到用户输入的检索关键字及检索关键字类型后,根据检索关键字类型,建立检索路径,并根据此检索路径及用户输入的检索关键字,获取用户所需的检索数据,进而反馈至用户。提高了查询速度,从而提高了用户体验。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种检索路径存储的方法,其特征在于,包括 将待检索数据进行解析,获取至少一个关键数据; 根据所述至少一个关键数据,生成至少一个哈希键对;其中,检索路径由至少一个所述哈希键对组成;所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素; 存储所述至少一个哈希键对。
2.根据权利要求1所述的检索路径存储的方法,其特征在于,所述将待检索数据进行解析,获取至少一个关键数据包括 将待检索数据进行解析,得到结构形式是树型的关键数据; 所述根据所述至少一个关键数据,生成至少一个哈希键对包括 根据所述结构形式是树型的关键数据,生成至少一个哈希键对,其中,所述哈希键对的第一元素是树型结构的关键数据中的一个节点;所述哈希键对的第二元素是所述第一元素的父节点。
3.根据权利要求1或2所述的检索路径存储的方法,其特征在于,所述存储所述至少一个哈希键对包括 根据预设哈希算法,获取所述至少一个哈希键对对应的哈希值; 根据所述至少一个哈希键对对应的哈希值,将所述至少一个哈希键对,存储至所述至少一个哈希键对对应的哈希值对应的存储节点中。
4.根据权利要求1-3任一项所述的检索路径存储方法,其特征在于,在所述存储所述至少一个哈希键对之后,还包括 接收检索关键字及检索关键字类型; 根据所述检索关键字类型,获取所述检索关键字类型的哈希值; 根据获取的所述检索关键字类型的哈希值,获取第一哈希键对; 根据获取的所述第一哈希键对,建立检索路径; 根据所述检索路径及所述检索关键字进行对待检索数据进行检索,获取检索数据。
5.根据权利要求4所述的检索路径存储的方法,其特征在于,所述根据获取的所述检索关键字类型的哈希值,获取第一哈希键对包括 根据获取的所述检索关键字类型的哈希值,获取存储位置对应的哈希值与所述检索关键字类型的哈希值相同的第一哈希键对; 循环记录所述第一哈希键对的第一元素,并获取所述第一哈希键对的第二元素的哈希值; 根据所述获取的所述第一哈希键对的第二元素的哈希值,获取存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的第二哈希键对;所述第二哈希键对的第一元素是指所述第一哈希键对的第二元素; 根据所述第二哈希键对更新所述第一哈希键对,直至获取的第二哈希键对为空;记录第一哈希键对的第二元素; 所述根据获取的所述第一哈希键对,建立检索路径包括 根据所述记录的至少一个第一哈希键对的第一元素及所述第一哈希键对的第二元素,根据记录时间,逆序建立检索路径。
6.根据权利要求4或5所述的检索路径存储的方法,其特征在于,所述根据所述检索路径及所述检索关键字进行对待检索数据进行检索,获取检索数据包括 在所述至少一个哈希键对存储至存储节点的情况下,将所述检索路径及所述检索关键字发送至存储哈希键对的存储节点中,以使得所述存储节点根据所述检索路径及所述检索关键字,对存储的所述未解析过的所述待检测数据进行检索,并返回检索数据; 接收所述存储节点返回的检索数据。
7.一种检索路径存储的装置,其特征在于,包括 获取单元,用于将待检索数据进行解析,获取至少一个关键数据; 生成单元,用于根据所述获取单元获取的所述至少一个关键数据,生成至少一个哈希键对;其中,检索路径由至少一个所述哈希键对组成;所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素; 存储单元,用于存储所述生成单元得到的所述至少一个哈希键对。
8.根据权利要求7所述的装置,其特征在于, 所述获取单元具体用于,将待检索数据进行解析,得到结构形式是树型的关键数据; 所述生成单元具体用于,根据所述获取单元获取的所述结构形式是树型的关键数据,生成至少一个哈希键对,其中,所述哈希键对的第一元素是树型结构的关键数据中的一个节点;所述哈希键对的第二元素是所述第一元素的父节点。
9.根据权利要求7或8所述的装置,其特征在于, 所述存储单元具体用于,根据预设哈希算法,获取所述至少一个哈希键对对应的哈希值; 根据所述至少一个哈希键对对应的哈希值,将所述至少一个哈希键对,存储至所述至少一个哈希键对对应的哈希值对应的存储节点中。
10.根据权利要求7-9任一项所述的装置,其特征在于,还包括 接收单元,用于接收检索关键字及检索关键字类型; 所述获取单元,还用于根据所述接收单元接收的所述检索关键字类型,获取所述检索关键字类型的哈希值; 所述获取单元,还用于根据获取的所述检索关键字类型的哈希值,获取第一哈希键对; 建立单元,用于根据所述获取单元获取的所述第一哈希键对,建立检索路径; 所述获取单元,还用于根据所述建立单元建立的所述检索路径及所述接收单元接收的所述检索关键字进行对带检索数据进行检索,获取检索数据。
11.根据权利要求10所述的装置,其特征在于, 所述获取单元具体用于,根据获取的所述检索关键字类型的哈希值,获取存储位置对应的哈希值与所述检索关键字类型的哈希值相同的第一哈希键对; 循环记录所述第一哈希键对的第一元素,并获取所述第一哈希键对的第二元素的哈希值; 根据所述获取的所述第一哈希键对的第二元素的哈希值,获取存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的第二哈希键对;所述第二哈希键对的第一元素是指所述第一哈希键对的第二元素;根据所述存储位置对应的哈希值与所述第一哈希键对的第二元素的哈希值相同的哈希键对,更新所述第一哈希键对,直至获取的第二哈希键对为空;记录第一哈希键对的第二元素; 所述建立单元具体用于,根据所述记录的至少一个第一哈希键对的第一元素,根据记录时间,逆序建立检索路径。
12.根据权利要求10或11所述的装置,其特征在于, 获取单元具体用于,在所述至少一个哈希键对存储至存储节点的情况下,将所述检索路径及所述检索关键字发送至存储哈希键对的存储节点中,以使得所述存储节点根据所述检索路径及所述检索关键字,对存储的所述未解析过的所述待检测数据进行检索,并返回检索数据; 接收所述存储节点返回的检索数据。
13.一种检索路径存储的系统,其特征在于,包括主节点,交换机,业务服务器,终端;其中,所述主节点为权利要求7-12任一项所述的检索路径存储的装置。
全文摘要
本发明实施例提供了一种检索路径存储的方法、装置及系统,涉及通信领域,用以实现减小存储空间的浪费,提高存储空间的利用率。所述方法,包括将待检索数据进行解析,获取至少一个关键数据;根据所述至少一个关键数据,生成至少一个哈希键对;其中,检索路径由至少一个所述哈希键对组成;所述哈希键对包括第一元素和第二元素;所述第二元素是所述第一元素的上一级元素;存储所述至少一个哈希键对。本发明适用于数据存储并检索的场景。
文档编号G06F17/30GK103049553SQ201210584778
公开日2013年4月17日 申请日期2012年12月28日 优先权日2012年12月28日
发明者陈件 申请人:华为技术有限公司