掌桥专利:专业的专利平台
掌桥专利
首页

数据检索方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 18:46:07


数据检索方法、装置、计算机设备及存储介质

技术领域

本申请涉及大数据技术领域,尤其涉及一种数据检索方法、装置、计算机设备及存储介质。

背景技术

随着计算机技术的广泛应用,生产生活中产生的各种数据越来越多,即出现了信息大爆炸。搜索引擎可以帮助人们获取信息,它可以预先存储大量数据,然后根据检索请求进行检索并返回检索到的数据。然而,随着存储数据量的增大,数据检索时需要查找的数据越来越多,不可避免地导致数据检索的速度降低。

发明内容

本申请实施例的目的在于提出一种数据检索方法、装置、计算机设备及存储介质,以提高数据检索的速度。

为了解决上述技术问题,本申请实施例提供一种数据检索方法,采用了如下所述的技术方案:

接收检索请求,其中,所述检索请求中包括检索信息以及检索配置信息;

从所述检索信息中提取检索主键;

生成所述检索主键的检索主键哈希值;

查询与所述检索主键哈希值所对应的链表,其中,所述链表中的链表主键哈希值与所述检索主键哈希值相对应,所述链表中的结点根据权重进行排列;

根据所述检索配置信息和所述权重,在所述链表中确定目标结点,并根据所述目标结点中的存储数据生成数据检索结果。

为了解决上述技术问题,本申请实施例还提供一种数据检索装置,采用了如下所述的技术方案:

请求接收模块,用于接收检索请求,其中,所述检索请求中包括检索信息以及检索配置信息;

主键提取模块,用于从所述检索信息中提取检索主键;

哈希值生成模块,用于生成所述检索主键的检索主键哈希值;

链表查询模块,用于查询与所述检索主键哈希值所对应的链表,其中,所述链表中的链表主键哈希值与所述检索主键哈希值相对应,所述链表中的结点根据权重进行排列;

结果生成模块,用于根据所述检索配置信息和所述权重,在所述链表中确定目标结点,并根据所述目标结点中的存储数据生成数据检索结果。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

接收检索请求,其中,所述检索请求中包括检索信息以及检索配置信息;

从所述检索信息中提取检索主键;

生成所述检索主键的检索主键哈希值;

查询与所述检索主键哈希值所对应的链表,其中,所述链表中的链表主键哈希值与所述检索主键哈希值相对应,所述链表中的结点根据权重进行排列;

根据所述检索配置信息和所述权重,在所述链表中确定目标结点,并根据所述目标结点中的存储数据生成数据检索结果。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

接收检索请求,其中,所述检索请求中包括检索信息以及检索配置信息;

从所述检索信息中提取检索主键;

生成所述检索主键的检索主键哈希值;

查询与所述检索主键哈希值所对应的链表,其中,所述链表中的链表主键哈希值与所述检索主键哈希值相对应,所述链表中的结点根据权重进行排列;

根据所述检索配置信息和所述权重,在所述链表中确定目标结点,并根据所述目标结点中的存储数据生成数据检索结果。

与现有技术相比,本申请实施例主要有以下有益效果:接收包含检索信息和检索配置信息的检索请求,检索信息是要检索的内容,检索配置信息用于对检索结果进行筛选;从检索信息中提取代表关键信息的检索主键,并生成其对应的检索主键哈希值;哈希值可以实现快速定位,从而可以快速查找到与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表主键哈希值表示链表中关键信息的哈希值,链表中的结点根据权重进行排列,权重反应了结点中存储数据的重要性;根据检索配置信息和权重,可以快速在链表中选取出包含重要信息的目标结点,根据目标结点中的存储数据生成数据检索结果,大大提高了数据检索的速度。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的数据检索方法的一个实施例的流程图;

图3是根据本申请的数据检索装置的一个实施例的结构示意图;

图4是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括终端设备101、102,服务器103,数据存储服务器104、105、106和网络107。网络107用以在终端设备101、102,服务器103和数据存储服务器104、105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102通过网络107与服务器103交互,以接收或发送消息等,例如,终端101、102可以生成业务相关的待处理数据,并将待处理数据发送至服务器103。终端设备101、102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Mov i ng P i ctu re ExpertsGroup Aud i o Layer I I I,动态影像专家压缩标准音频层面3)、MP4(Mov i ng P ictur e Experts Gr oup Aud i o Laye r I V,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器103与数据存储服务器104、105、106构成分布式架构的节点网络,服务器103与数据存储服务器104、105、106可以作为节点网络中的节点。其中,服务器103可以起到控制作用,接收待存储数据并将待存储数据存储到数据存储服务器中,并根据检索请求到数据存储服务器104、105、106中进行数据检索。在一个实施例中,服务器103可以是从数据存储服务器中选取出来的服务器,除了起到控制作用,也可以进行数据存储。

需要说明的是,本申请实施例所提供的数据检索方法一般由服务器执行,相应地,数据检索装置一般设置于服务器中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的数据检索方法的一个实施例的流程图。所述的数据检索方法,包括以下步骤:

步骤S201,接收检索请求,其中,检索请求中包括检索信息以及检索配置信息。

在本实施例中,数据检索方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与终端设备进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、W i F i连接、蓝牙连接、W i MAX连接、Z i gbee连接、UWB(u l t ra w i deband)连接、以及其他现在已知或将来开发的无线连接方式。

具体地,服务器首先接收检索请求,根据检索请求进行数据检索。检索请求中包括检索信息以及检索配置信息,其中,检索信息可以是原始的要检索的内容,例如,用户输入一句话“A产品包含哪些功能”,这句话就可以作为检索信息。检索配置信息可以根据检索信息生成,也可以是预先配置好的信息,检索配置信息也可以由用户输入,例如用户可以选择检索的详细程度,选择的详细程度越高,根据检索配置信息,要展示的数据也越多。检索配置信息用于对初步的检索结果进行筛选。

进一步的,上述步骤S201之前,还可以包括:获取用户输入的检索文本;基于检索文本生成检索请求;或者,当接收到触发的推荐指令时,获取用户信息;将用户信息输入预先经过训练的推荐模型,得到推荐评估结果;根据推荐评估结果生成检索请求。

具体地,用户可以通过终端输入检索文本,服务器基于接收到的检索文本生成检索请求。用户还可以通过终端选择检索的详细程度,服务器将检索文本作为检索请求中的检索信息,根据用户选择的检索的详细程度生成检索配置信息。在一个实施例中,用户也可以不直接选择检索的详细程度,由服务器自动确定检索的详细程度,检索文本越长,检索的详细程度越高。

本申请还可以向用户进行信息推送,根据用户信息进行检索,并将检索结果推送给用户。服务器接收触发的推荐指令,推荐指令关联于某个用户,根据推荐指令获取该用户的用户信息,用户信息可以是用户的基本信息,或者是用户画像。然后,将用户信息输入推荐模型,推荐模型基于神经网络搭建并预先经过训练,得到推荐评估结果,推荐评估结果可以包含预测的向用户推荐的产品类型或者信息类型,可以根据推荐评估结果生成检索请求,以检索与推荐评估结果相关的信息并推送给用户。

本实施例中,可以根据用户输入的检索文本生成检索请求,或者根据推荐模型针对用户的推荐评估结果生成检索请求,丰富了检索请求的生成方式。

步骤S202,从检索信息中提取检索主键。

具体地,检索主键从检索信息中提取得到,可以是检索信息中的关键信息。

进一步的,上述步骤S202可以包括:对检索信息进行分词,得到多个子词;根据多个子词的TF-I DF信息,确定多个子词中的关键词;基于确定的关键词生成检索主键。

具体地,检索信息可以是文本形式,可以通过人工智能技术对检索信息进行分词得到多个子词,然后计算每个子词的TF-I DF值,从而得到检索信息的TF-I DFF信息。其中,TF-I DF(te rm fr equency–i nver se document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),是指某一个给定的词在文件中出现的频率。I DF是逆文本频率指数(I nver se Document Fr equency),可以由总文件数目除以包含某词语之文件的数目,再求对数得到。

TF-I DF用以评估子词对检索信息的重要程度。可以根据TF-I DF值,在检索信息中确定关键词。例如,可以将子词的TF-I DF值与预设阈值相比较,如果TF-I DF值大于预设阈值,则该子词可以作为关键词;或者选取具有最大TF-I DF值的子词作为关键词。

本实施例中,根据I F-TDF信息评估检索信息中各子词的重要性,从而可以选取到检索信息中的关键词。

步骤S203,生成检索主键的检索主键哈希值。

具体地,对检索主键进行哈希(hash)运算,得到检索主键哈希值。哈希运算,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

步骤S204,查询与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表中的结点根据权重进行排列。

具体地,已存储数据可以存储在链表中,本申请中的链表结构经过特殊设计,链表具有链表主键哈希值,链表主键哈希值是对链表主键进行哈希运算生成,其中,链表主键可以是链表中的关键信息。链表中包括多个结点,每个结点包括结点数据以及指针,结点数据中存储有数据,指针用于指向链表中下一个结点的位置。本申请中,每个结点具有权重,权重以数值大小衡量结点中存储数据的重要性,或者结点中存储数据与链表主键的关联度。链表中的结点根据权重进行排序,权重越高,结点越接近存储有链表主键的结点,这样可以尽可能更快地获取到更重要的存储数据。

服务器在所有链表中,根据检索主键哈希值进行快速搜索,搜索得到的链表的链表主键哈希值与检索主键哈希值相对应。由于检索主键哈希值与链表主键哈希值都是通过哈希运算得到,可以通过哈希值实现快速定位。服务器可以通过检索主键哈希值得到多个链表。

步骤S205,根据检索配置信息和权重,在链表中确定目标结点,并根据目标结点中的存储数据生成数据检索结果。

具体地,检索配置信息可以包含权重阈值或者权重条件,根据检索配置信息在链表中确定目标结点,例如,当检索配置信息为权重阈值时,选取权重大于等于权重阈值的结点作为目标结点;当检索配置信息为权重条件时,选取权重符合权重条件的结点作为目标结点,例如,根据权重条件,对各结点的权重进行降序排序,然后选取排名处于前N%的结点作为目标结点。用户选择的检索详细程度越高,N的取值越大,或者权重阈值越低。

在一个实施例中,检索配置信息还可以是类型相关的信息,结点中存储的数据具有不同的类型,例如可以是个人信息类数据、社交信息类数据,可以根据检索配置信息选取特定类型的数据所在的结点,作为目标结点。

将选取到的目标结点中的存储数据按照预设格式进行展示,得到数据检索结果。

本实施例中,接收包含检索信息和检索配置信息的检索请求,检索信息是要检索的内容,检索配置信息用于对检索结果进行筛选;从检索信息中提取代表关键信息的检索主键,并生成其对应的检索主键哈希值;哈希值可以实现快速定位,从而可以快速查找到与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表主键哈希值表示链表中关键信息的哈希值,链表中的结点根据权重进行排列,权重反应了结点中存储数据的重要性;根据检索配置信息和权重,可以快速在链表中选取出包含重要信息的目标结点,根据目标结点中的存储数据生成数据检索结果,大大提高了数据检索的速度。

进一步的,上述步骤S204之前,还可以包括:获取待存储数据;生成待存储数据所对应的知识图谱;确定知识图谱中的主节点和各从节点,并确定主节点和各从节点分别对应的权重;根据主节点及其权重、各从节点及其权重生成环形双向链表,其中,各从节点根据权重进行排序,环形双向链表的链表主键哈希值根据主节点生成。

具体地,获取待存储数据,识别待存储数据中的实体,以及实体之间的关系,以实体作为节点,以关系作为节点之间的连接边,构建待存储数据所对应的知识图谱。

然后,通过预设的节点分类策略,将知识图谱中的节点划分为主节点和从节点,主节点是知识图谱中的关键节点,重要性较高,其中,主节点为至少一个,从节点的数量为至少一个,然后根据预设的权重确定策略,确定主节点和从节点的权重。权重的大小反应节点的重要性,可以理解,主节点的权重大于从节点,对于从节点,权重还可以反应从节点与主节点之间的关联度。

在得到主节点及其对应的权重,从节点及其对应的权重后,可以构建链表。本申请中的链表可以为环形双向链表,兼具环形链表以及双向链表的特征。链表中包括多个结点,主节点位于链表中起始位置的结点。从节点根据权重进行排序,权重值越高,离主节点所在的结点越近。环形双向链表具有链表主键,链表主键根据主节点生成,对链表主键进行哈希运算得到链表主键哈希值,链表主键哈希值可以作为链表的地址以及入口。

在一个实施例中,从检索信息中提取到检索主键后,根据预设的词库查找检索主键预设数量的同义词或者近义词,然后根据预设条件对检索主键及其对应的同义词或者近义词进行排序得到词序列(例如根据拼音顺序进行排序),然后对词序列进行哈希运算得到检索主键哈希值,并可以以同样的方式基于主节点生成链表主键哈希值,从而使得检索主键哈希值和链表主键哈希值可以覆盖更多关键信息。

本实施例中,生成待存储数据所对应的知识图谱,确定知识图谱中的主节点、从节点及其分别对应的权重,权重表示节点的重要性;根据各节点以及权重生成环形双向链表,链表中,从节点根据权重进行排序,从而确保可以快速检索到重要的数据;根据主节点生成环形双向链表的链表主键哈希值作为链表的地址以及入口,从而可以快速定位链表。

进一步的,上述确定知识图谱中的主节点和各从节点,并确定主节点和各从节点分别对应的权重的步骤可以包括:基于预设的排名算法计算知识图谱中各节点的节点评估值;根据节点评估值确定知识图谱中的主节点和各从节点;将主节点和各从节点分别对应的节点评估值,确定为主节点和各从节点分别对应的权重;或者,根据主节点和各从节点的节点类型,确定主节点和各从节点分别对应的权重。

具体地,通过预设的排名算法计算知识图谱中各节点的节点评估值,节点评估值反应了节点的重要性以及影响力。在一个实施例中,排名算法可以是PageRank算法,PageRank又称网页排名、网页级别、Goog l e左侧排名或佩奇排名,是一种由根据网页之间相互的超链接计算的技术。PageRank算法可以通过随机游走方法计算网络中节点的影响力。

根据节点评估值可以确定知识图谱中的的主节点以及从节点,可以直接将最大节点评估值所对应的节点确定为主节点;或者,获取预设的评估值阈值,将节点评估值大于评估值阈值的节点确定为主节点;或者,选取节点评估值排在前N%(N为正整数)的节点作为主节点,并将知识图谱中剩余的节点确定为从节点。

主节点和从节点被存储到链表中的结点时,具有权重的概念。可以将主节点和从节点在知识图谱中的节点评估值作为权重;或者,识别主节点和从节点的节点类型,节点类型是指节点所代表的数据的类型,例如,当主节点为人名时,节点类型可以为“pe r son”,当从节点为性别时,节点类型可以为“sex”。服务器中可以预先配置有不同节点类型所对应的权重,从而可以得到主节点和从节点的权重大小。

本实施例中,通过排名算法计算知识图谱中各节点的节点评估值,节点评估值反应节点重要性,从而可以确定主节点和从节点;节点被存储到链表时的权重,可以根据节点的节点评估值确定,也可以根据节点类型确定,丰富了权重值的确定方式。

进一步的,上述根据主节点及其权重、各从节点及其权重生成环形双向链表的步骤可以包括:将主节点存储为初始链表的主结点,并将各从节点分别存储为初始链表的各从结点;根据主节点和各从节点的存储位置以及权重,生成各结点的指针,其中,结点包括主结点和各从结点,指针包括存储指针和权重,在主结点的前驱链表和后继链表中,各从结点按照所对应从节点的权重降序排序;将主结点确定为链表主键,并生成链表主键的链表主键哈希值,得到环形双向链表。

其中,初始链表可以是尚未构建完成的链表。

具体地,链表包括主结点和从结点,其中,主结点用于存储知识图谱中主节点所代表的数据,从结点用于存储知识图谱中从节点所代表的数据。知识图谱中,节点之间具有连接边,该连接边可以表示节点之间的关系,该连接边也被存储到结点中,从而保证数据的完整性。

主节点和从节点在存储资源(例如硬盘)中具有真实的存储位置,还具有权重,根据存储位置和权重可以生成各结点的指针。本申请中的指针分为两部分,包括存储指针和权重,存储指针用于指向主节点和从节点真实的存储位置。

在链表中,主结点位于起始位置或中央位置,从结点分列在主结点的两侧,分别构成前驱链表和后继链表。在前驱链表和后继链表中,从结点按照权重值由大到小的降序进行排列,即,在前驱链表或者后继链表中,从结点的权重值越小,从主结点开始,需要查询越多的从结点的指针才能找到该结点。在构建初始链表时,先得到主结点,然后按照权重值大小依次生成从结点,前驱链表和后继链表中的从结点可以间隔生成。

将主结点中的数据作为链表主键,并生成链表主键的哈希值,得到链表主键哈希值,链表主键哈希值作为环形双向链表的入口。

本实施例中,将主节点存储为初始链表的主结点,并将各从节点分别存储为各从结点;根据主节点和各从节点的存储位置以及权重,生成各结点的指针,指针包括存储指针和权重,存储指针表示结点的真实存储位置,权重用于对结点进行排序;在主结点的前驱链表和后继链表中,各从结点按照所对应从节点的权重降序排序,从而在检索时,可以快速找到存储重要数据的结点;将主结点确定为链表主键,并生成链表主键的链表主键哈希值,得到链表入口,完成环形双向链表的构建。

进一步的,上述方法还可以包括:将待存储数据进行压缩,得到已压缩数据;将已压缩数据以h i ve表的形式存储到链表的结点中。

具体地,服务器可以对待存储数据进行压缩,以减小数据体积,然后将已压缩数据以h i ve表的形式存储到链表的结点中。此时,结点的主体为h i ve表的地址。

本实施例中,对待存储数据进行压缩然后以h i ve表的形式存储到链表的结点中,减小了数据存储占用的体积。

需要强调的是,为进一步保证上述链表的私密和安全性,上述链表还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Art i f i c i a l I nte l l i gence,A I)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-On l y Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种数据检索装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图3所示,本实施例所述的数据检索装置300包括:请求接收模块301、主键提取模块302、哈希值生成模块303、链表查询模块304以及结果生成模块305,其中:

请求接收模块301,用于接收检索请求,其中,检索请求中包括检索信息以及检索配置信息。

主键提取模块302,用于从检索信息中提取检索主键。

哈希值生成模块303,用于生成检索主键的检索主键哈希值。

链表查询模块304,用于查询与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表中的结点根据权重进行排列。

结果生成模块305,用于根据检索配置信息和权重,在链表中确定目标结点,并根据目标结点中的存储数据生成数据检索结果。

本实施例中,接收包含检索信息和检索配置信息的检索请求,检索信息是要检索的内容,检索配置信息用于对检索结果进行筛选;从检索信息中提取代表关键信息的检索主键,并生成其对应的检索主键哈希值;哈希值可以实现快速定位,从而可以快速查找到与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表主键哈希值表示链表中关键信息的哈希值,链表中的结点根据权重进行排列,权重反应了结点中存储数据的重要性;根据检索配置信息和权重,可以快速在链表中选取出包含重要信息的目标结点,根据目标结点中的存储数据生成数据检索结果,大大提高了数据检索的速度。

在本实施例的一些可选的实现方式中,数据检索装置300还可以包括:文本获取模块、第一生成模块以及信息获取模块,或者信息输入模块以及第二生成模块,其中:

文本获取模块,用于获取用户输入的检索文本。

第一生成模块,用于第一基于检索文本生成检索请求。

信息获取模块,用于当接收到触发的推荐指令时,获取用户信息。

信息输入模块,用于将用户信息输入预先经过训练的推荐模型,得到推荐评估结果。

第二生成模块,用于根据推荐评估结果生成检索请求。

本实施例中,可以根据用户输入的检索文本生成检索请求,或者根据推荐模型针对用户的推荐评估结果生成检索请求,丰富了检索请求的生成方式。

在本实施例的一些可选的实现方式中,主键提取模块302可以包括:检索分词子模块、关键词确定子模块以及主键生成子模块,

其中:

检索分词子模块,用于对检索信息进行分词,得到多个子词。

关键词确定子模块,用于根据多个子词的TF-I DF信息,确定多个子词中的关键词。

主键生成子模块,用于基于确定的关键词生成检索主键。

本实施例中,根据I F-TDF信息评估检索信息中各子词的重要性,从而可以选取到检索信息中的关键词。

在本实施例的一些可选的实现方式中,数据检索装置300还可以包括:数据获取模块、图谱生成模块、节点确定模块以及链表生成模块,其中:

数据获取模块,用于获取待存储数据。

图谱生成模块,用于生成待存储数据所对应的知识图谱。

节点确定模块,用于确定知识图谱中的主节点和各从节点,并确定主节点和各从节点分别对应的权重。

链表生成模块,用于根据主节点及其权重、各从节点及其权重生成环形双向链表,其中,各从节点根据权重进行排序,环形双向链表的链表主键哈希值根据主节点生成。

本实施例中,生成待存储数据所对应的知识图谱,确定知识图谱中的主节点、从节点及其分别对应的权重,权重表示节点的重要性;根据各节点以及权重生成环形双向链表,链表中,从节点根据权重进行排序,从而确保可以快速检索到重要的数据;根据主节点生成环形双向链表的链表主键哈希值作为链表的地址以及入口,从而可以快速定位链表。

在本实施例的一些可选的实现方式中,节点确定模块可以包括:评估值确定子模块、节点确定子模块、第一确定子模块以及第二确定子模块,其中:

评估值确定子模块,用于基于预设的排名算法计算知识图谱中各节点的节点评估值。

节点确定子模块,用于根据节点评估值确定知识图谱中的主节点和各从节点。

第一确定子模块,用于将主节点和各从节点分别对应的节点评估值,确定为主节点和各从节点分别对应的权重。

第二确定子模块,用于根据主节点和各从节点的节点类型,确定主节点和各从节点分别对应的权重。

本实施例中,通过排名算法计算知识图谱中各节点的节点评估值,节点评估值反应节点重要性,从而可以确定主节点和从节点;节点被存储到链表时的权重,可以根据节点的节点评估值确定,也可以根据节点类型确定,丰富了权重值的确定方式。

在本实施例的一些可选的实现方式中,链表生成模块可以包括:节点存储子模块、指针生成子模块以及主键确定子模块,其中:

节点存储子模块,用于将主节点存储为初始链表的主结点,并将各从节点分别存储为初始链表的各从结点。

指针生成子模块,用于根据主节点和各从节点的存储位置以及权重,生成各结点的指针,其中,结点包括主结点和各从结点,指针包括存储指针和权重,在主结点的前驱链表和后继链表中,各从结点按照所对应从节点的权重降序排序。

主键确定子模块,用于将主结点确定为链表主键,并生成链表主键的链表主键哈希值,得到环形双向链表。

本实施例中,将主节点存储为初始链表的主结点,并将各从节点分别存储为各从结点;根据主节点和各从节点的存储位置以及权重,生成各结点的指针,指针包括存储指针和权重,存储指针表示结点的真实存储位置,权重用于对结点进行排序;在主结点的前驱链表和后继链表中,各从结点按照所对应从节点的权重降序排序,从而在检索时,可以快速找到存储重要数据的结点;将主结点确定为链表主键,并生成链表主键的链表主键哈希值,得到链表入口,完成环形双向链表的构建。

在本实施例的一些可选的实现方式中,数据检索装置300还可以包括:数据压缩模块以及压缩存储模块,其中:

数据压缩模块,用于将待存储数据进行压缩,得到已压缩数据。

压缩存储模块,用于将已压缩数据以h i ve表的形式存储到链表的结点中。

本实施例中,对待存储数据进行压缩然后以h i ve表的形式存储到链表的结点中,减小了数据存储占用的体积。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。

所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(App l i cat i onSpec i f i c I ntegrated C i rcu i t,AS I C)、可编程门阵列(F i e l d-Programmab l e Gate Ar ray,FPGA)、数字处理器(D i g i ta l S i gna l Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如数据检索方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述数据检索方法的计算机可读指令。

所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。

本实施例中提供的计算机设备可以执行上述数据检索方法。此处数据检索方法可以是上述各个实施例的数据检索方法。

本实施例中,接收包含检索信息和检索配置信息的检索请求,检索信息是要检索的内容,检索配置信息用于对检索结果进行筛选;从检索信息中提取代表关键信息的检索主键,并生成其对应的检索主键哈希值;哈希值可以实现快速定位,从而可以快速查找到与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表主键哈希值表示链表中关键信息的哈希值,链表中的结点根据权重进行排列,权重反应了结点中存储数据的重要性;根据检索配置信息和权重,可以快速在链表中选取出包含重要信息的目标结点,根据目标结点中的存储数据生成数据检索结果,大大提高了数据检索的速度。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据检索方法的步骤。

本实施例中,接收包含检索信息和检索配置信息的检索请求,检索信息是要检索的内容,检索配置信息用于对检索结果进行筛选;从检索信息中提取代表关键信息的检索主键,并生成其对应的检索主键哈希值;哈希值可以实现快速定位,从而可以快速查找到与检索主键哈希值所对应的链表,其中,链表中的链表主键哈希值与检索主键哈希值相对应,链表主键哈希值表示链表中关键信息的哈希值,链表中的结点根据权重进行排列,权重反应了结点中存储数据的重要性;根据检索配置信息和权重,可以快速在链表中选取出包含重要信息的目标结点,根据目标结点中的存储数据生成数据检索结果,大大提高了数据检索的速度。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 存储设备的数据删除方法、装置及计算机可读存储介质
  • 日志存储方法、装置、计算机设备及存储介质
  • 存储空间配置方法、装置、计算机设备及存储介质
  • 语音数据检索装置、语音数据检索方法、语音数据检索程序和包含有语音数据检索程序的计算机可用介质
  • 语音数据检索装置、语音数据检索方法、语音数据检索程序和包含有语音数据检索程序的计算机可用介质
技术分类

06120115687408