一种数据搜索方法、电子设备和计算机可读存储介质技术

技术编号:22817169 阅读:23 留言:0更新日期:2019-12-14 13:10
本发明专利技术实施例公开了一种数据搜索方法、电子设备和计算机可读存储介质,在本发明专利技术实施例中,在第一时刻基于目标数据集合构建对应的搜索图,并维护用于存放从第一时刻起需要插入目标数据集合的数据的第二数据集合、以及用于存放从第一时刻起需要从目标数据集合中删除的数据的第三数据集合,根据接收到的数据搜索请求和第三数据集合搜索对应的搜索图和第二数据集合,以确定N个输出数据,由此,通过维护搜索图、第二数据集合和第三数据集合,可以提高增、删、修改目标数据集合的效率,进而提高数据搜索效率。

A data search method, electronic equipment and computer readable storage medium

【技术实现步骤摘要】
一种数据搜索方法、电子设备和计算机可读存储介质
本专利技术涉及计算机
,更具体地,涉及一种数据搜索方法、电子设备和计算机可读存储介质。
技术介绍
Similaritysearch(相似性搜索)泛指通过比较相似性,对一些数据对象进行搜索,例如在图片库里搜索和指定的某张图片最相似的一张或多张图片。在现代大数据应用中,数据规模愈加庞大,数据类型也更加多种多样,例如文字、图片、语音、视频等复杂的数据类型,因此,进行高效的相似度查询变得尤为重要。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据搜索方法、电子设备和计算机可读存储介质,以提高增、删、修改目标数据集合的效率,进而提高数据搜索效率第一方面,本专利技术实施例提供一种数据搜索方法,所述方法包括:获取数据搜索请求,所述数据搜索请求包括搜索目标和输出数据的数量N,N大于等于1;根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合,以确定与所述搜索目标匹配的N个输出数据,其中,所述第一数据集合为第一时刻的目标数据集合,第二数据集合包括从所述第一时刻到当前时刻需要插入目标数据集合的数据,所述第三数据集合包括从所述第一时刻到当前时刻需要从目标数据集合删除的数据,所述搜索图在搜索周期中保持不变。可选的,根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合包括:对于当前访问的所述搜索图中的数据节点,在所述第三数据集合中查找所述数据节点;响应于所述数据节点对应的数据不在所述第三数据集合中,进行搜索匹配操作。可选的,根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合还包括:对于当前访问的所述第二数据集合中的数据,在所述第三数据集合中查找当前访问的数据;响应于当前访问的数据不在所述第三数据集合中,进行搜索匹配操作。可选的,根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合还包括:对所述第一数据集合对应的搜索图进行搜索,以获取N个第一候选数据;对所述第二数据集合进行搜索,以获取N个第二候选数据;从所述N个第一候选数据和N个第二候选数据中确定N个输出数据。可选的,所述第二数据集合和所述第三数据集合至少在搜索周期中的部分时间段动态更新。可选的,所述方法还包括:响应于所述第二数据集合和/或所述第三数据集合的数据量大于第一预定值,更新所述第一数据集合、所述搜索图、所述第二数据集合和第三数据集合。可选的,所述方法还包括:响应于所述第二数据集合和/或所述第三数据集合的数据数量与所述第一数据集合的数据数量的比值大于第二预定值,更新所述第一数据集合、所述搜索图、所述第二数据集合和所述第三数据集合。可选的,所述方法还包括:响应于所述第一时刻到当前时刻的时间段大于预定时间段,更新所述第一数据集合、所述搜索图、所述第二数据集合和所述第三数据集合。可选的,更新所述第一数据集合、所述搜索图、所述第二数据集合和第三数据集合包括:初始化第四数据集合和第五数据集合,所述第四数据集合包括在更新阶段需要插入目标数据集合的数据,所述第五数据集合包括在更新阶段需要从目标数据集合删除的数据;合并所述第二数据集合和所述第一数据集合以形成第六数据集合;计算所述第六数据集合与所述第三数据集合的差集,将所述差集作为新的第一数据集合;基于所述新的第一数据集合构建新的搜索图;其中,在更新阶段,所述第二数据集合和所述第三数据集合保持不变,所述第四数据集合和所述第五数据集合动态更新,在更新结束时,将所述第四数据集合和所述第五数据集合分别作为新的第二数据集合和第三数据集合。可选的,所述方法还包括:在更新阶段,根据所述数据搜索请求、第三数据集合和第五数据集合,搜索所述第一数据集合对应的搜索图、第二数据集合和第四数据集合,以确定与搜索目标匹配的N个输出数据;其中,搜索所述第一数据集合对应的搜索图包括:对于当前访问的所述搜索图中的数据节点,在所述第三数据集合和所述第五数据集合中查找所述数据节点;响应于所述数据节点对应的数据不在所述第三数据集合且不在所述第五数据集合中,进行搜索匹配操作;搜索所述第二数据集合包括:对于当前访问的所述第二数据集合中的数据,在所述第三数据集合和所述第五数据集合中查找当前访问的数据;响应于当前访问的所述第二数据集合中的数据不在所述第三数据集合且不在所述第五数据集合中,进行搜索匹配操作;搜索所述第四数据集合包括:对于当前访问的所述第四数据集合中的数据,在所述第三数据集合和第五数据集合中查找当前访问的数据;响应于当前访问的所述第四数据集合中的数据不在所述第三数据集合且不在所述第五数据集合中,进行搜索匹配操作。可选的,搜索所述第一数据集合对应的搜索图、第二数据集合和第四数据集合还包括:对所述第一数据集合对应的搜索图进行搜索,以获取N个第一候选数据;对所述第二数据集合进行搜索,以获取N个第二候选数据;对所述第四数据集合进行搜索,以获取N个第三候选数据;从所述N个第一候选数据、N个第二候选数据以及N个第三候选数据中确定N个输出数据。可选的,所述第一数据集合和所述第二数据集合采用list数据结构进行存储,所述第三数据集合采用哈希表进行存储。第二方面,本专利技术实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现如上所述的方法。第三方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行以实现如上所述的方法。在本专利技术实施例中,在第一时刻基于目标数据集合构建对应的搜索图,并维护用于存放从第一时刻起需要插入目标数据集合的数据的第二数据集合、以及用于存放从第一时刻起需要从目标数据集合中删除的数据的第三数据集合,根据接收到的数据搜索请求和第三数据集合搜索对应的搜索图和第二数据集合,以确定N个输出数据,由此,通过维护第二数据集合和第三数据集合,可以提高数据搜索效率。附图说明通过以下参照附图对本专利技术实施例的描述,本专利技术的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是现有技术的数据维护过程的示意图;图2是本专利技术实施例的一种数据搜索方法的流程图;图3是本专利技术实施例的数据维护过程的示意图;图4是本专利技术实施例的另一种数据搜索方法的流程图;图5是本专利技术实施例的一种获取第一候选数据的方法流程图;图6是本专利技术实施例的一种获取输出数据的过程示意图;图7是本专利技术实施例的又一种数据搜索方法的流程图;图8是本专利技术实施例的另一种获取第一候选数据的方法流程图;图9是本专利技术实施例的另一种获取输出数据的过程示意图;图10是本发本文档来自技高网...

【技术保护点】
1.一种数据搜索方法,其特征在于,所述方法包括:/n获取数据搜索请求,所述数据搜索请求包括搜索目标和输出数据的数量N,N大于等于1;/n根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合,以确定与所述搜索目标匹配的N个输出数据,其中,所述第一数据集合为第一时刻的目标数据集合,第二数据集合包括从所述第一时刻到当前时刻需要插入目标数据集合的数据,所述第三数据集合包括从所述第一时刻到当前时刻需要从目标数据集合删除的数据,所述搜索图在搜索周期中保持不变。/n

【技术特征摘要】
1.一种数据搜索方法,其特征在于,所述方法包括:
获取数据搜索请求,所述数据搜索请求包括搜索目标和输出数据的数量N,N大于等于1;
根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合,以确定与所述搜索目标匹配的N个输出数据,其中,所述第一数据集合为第一时刻的目标数据集合,第二数据集合包括从所述第一时刻到当前时刻需要插入目标数据集合的数据,所述第三数据集合包括从所述第一时刻到当前时刻需要从目标数据集合删除的数据,所述搜索图在搜索周期中保持不变。


2.根据权利要求1所述的方法,其特征在于,根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合包括:
对于当前访问的所述搜索图中的数据节点,在所述第三数据集合中查找所述数据节点;
响应于所述数据节点对应的数据不在所述第三数据集合中,进行搜索匹配操作。


3.根据权利要求2所述的方法,其特征在于,根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合还包括:
对于当前访问的所述第二数据集合中的数据,在所述第三数据集合中查找当前访问的数据;
响应于当前访问的数据不在所述第三数据集合中,进行搜索匹配操作。


4.根据权利要求3所述的方法,其特征在于,根据所述数据搜索请求和第三数据集合搜索第一数据集合对应的搜索图和第二数据集合还包括:
对所述第一数据集合对应的搜索图进行搜索,以获取N个第一候选数据;
对所述第二数据集合进行搜索,以获取N个第二候选数据;
从所述N个第一候选数据和N个第二候选数据中确定N个输出数据。


5.根据权利要求1-4中任一项所述的方法,其特征在于,所述第二数据集合和所述第三数据集合至少在搜索周期中的部分时间段动态更新。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述第二数据集合和/或所述第三数据集合的数据量大于第一预定值,更新所述第一数据集合、所述搜索图、所述第二数据集合和第三数据集合。


7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述第二数据集合和/或所述第三数据集合的数据数量与所述第一数据集合的数据数量的比值大于第二预定值,更新所述第一数据集合、所述搜索图、所述第二数据集合和所述第三数据集合。


8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述第一时刻到当前时刻的时间段大于预定时间段,更新所述第一数据集合、所述搜索图、所述第二数据集合和所述第三数据集合。


9.根据权利要求6-8中任一项所述的方法,其特征在于,更新所述第一数据集合、所述搜索图、所述第二数据集合和第三数据集合包括:
初始化第四数据集合和...

【专利技术属性】
技术研发人员:谢超竺知茹
申请(专利权)人:上海赜睿信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1