一种查找流数据的方法和查询服务器的制造方法
【专利摘要】本发明公开了一种查找流数据的方法和查询服务器,包括:查询服务器接收到来自用户的查询请求,根据预设时间的流数据构建索引结构;在索引结构中查找查询请求中的查询条件对应的流数据,将查找到的流数据返回给用户。通过本发明的方案,根据预设时间的流数据构建索引结构来实现数据的查找,而不是对流数据进行抽样,从而提高了查询精度。
【专利说明】
-种查找流数据的方法和查询服务器
技术领域
[0001] 本发明设及大数据处理技术,尤指一种查找流数据的方法和查询服务器。
【背景技术】
[0002] 随着大数据处理技术的发展,数据源的结构呈现出多样化的趋势,不仅有非实时 的、静态结构化的数据,还有大量的实时、动态产生的非结构化数据流。实时流数据处理技 术要求对运一类流式数据进行实时分析处理并快速返回处理结果。该技术克服了传统批数 据处理高延迟的弊端,极大的发挥了数据的时效价值。
[0003] 实时流数据处理的工作过程包括:流数据实时采集,即从数据源实时采集动态变 化的流数据,将采集的流数据通过网络传输到数据处理服务器;流数据分析处理,即数据处 理服务器根据处理逻辑对流数据进行分析;实时查询,即查询服务器接收到来自用户的查 询请求,向用户返回查询结果;数据持久化,即将处理后的有价值的数据通过网络传输到数 据存储服务器进行存储。
[0004] 现有的查找流数据的方法大致包括:查询服务器接收到来自用户的查询请求,从 数据处理服务器的内存中抽样获取流数据;查询服务器将查询请求中的查询关键字与获得 的流数据进行匹配,将匹配成功的流数据返回给用户。
[0005] 现有的查找流数据的方法中,由于是对抽样的流数据进行查询,查询精度较低。
【发明内容】
[0006] 为了解决上述问题,本发明提出了一种查找流数据的方法和查询服务器,能够提 高查询精度。
[0007] 为了达到上述目的,本发明提出了一种查找流数据的方法,包括:查询服务器接收 到来自用户的查询请求,根据预设时间的流数据构建索引结构;
[0008] 在索引结构中查找查询请求中的查询条件对应的流数据,将查找到的流数据返回 给用户。
[0009] 优选地,所述查询服务器根据预设时间的流数据构建索引结构包括:
[0010] 所述查询服务器将所述预设时间与所述查询请求中的查询对象相匹配的流数据 对应的空间划分为一个或一个W上子空间,设置与所述查询请求中的查询对象相匹配的流 数据和子空间之间的对应关系;
[0011] 所述在索引结构中查找查询请求中的查询条件对应的流数据包括:
[0012] 在所述索引结构的子空间中查找与所述查询条件相匹配的子空间,在所述流数据 和子空间之间的对应关系中查找查找到的子空间对应的流数据,在查找到的流数据中查找 与所述查询条件相匹配的流数据。
[0013] 优选地,所述查询服务器将预设时间与所述查询请求中的查询对象相匹配的流数 据对应的空间划分为一个或一个W上子空间之前,还包括:
[0014] 所述查询服务器在判断出本次查询请求中的查询对象与上一次查询请求中的查 询对象不相同,或判断出本次预设时间内与所述查询请求中的查询对象相匹配的流数据与 上一预设时间内与所述查询请求中的查询对象相匹配的流数据之间的相似性大于或等于 第一预设阔值时,删除根据上一预设时间的流数据构建的索引结构。
[0015] 优选地,当所述查询服务器判断出所述本次查询请求中的查询对象与所述上一次 查询请求中的查询对象相同,且所述本次预设时间内与所述查询请求中的查询对象相匹配 的流数据与所述上一预设时间内与所述查询请求中的查询对象相匹配的流数据之间的相 似性小于第一阔值时,所述查询服务器根据预设时间的流数据构建索引结构还包括:
[0016] 所述查询服务器删除根据所述上一预设时间的流数据构建的索引结构中流数据 和子空间之间的对应关系,重新设置所述本次预设时间与所述查询请求中的查询对象相匹 配的流数据和子空间之间的对应关系。
[0017] 优选地,所述查询服务器判断本次预设时间内的流数据与上一预设时间内的流数 据之间的相似性是否大于或等于第一阔值包括:
[0018] 所述查询服务器按照公式
计算所述本次预设时间内的流数据 与所述上一预设时间内的流数据之间的相似性;判断计算得到的相似性是否大于或等于第 一阔值;
[0019] 其中,
,1为子空间标识,k为子空间的数量,Counter (i)为 上一预设时间内第i个子空间的流数据的数量,Amount(i)为本次预设时间内第i个子空 间的流数据的数量。
[0020] 优选地,所述查询服务器将预设时间与查询请求中的查询对象相匹配的流数据对 应的空间划分为一个或一个W上子空间包括:
[0021] 所述查询服务器将所述预设时间与所述查询请求中的查询对象相匹配流数据对 应的空间划分为一个或一个W上相同的第N级子空间,当判断出所述第N级子空间的流数 据的数量大于或等于第二预设阔值时,将所述第N级子空间划分为一个或一个W上相同的 第(N+1)级子空间;其中,N为大于或等于1的整数;
[0022] 所述在索引结构的子空间中查找与查询条件相匹配的子空间包括:
[0023] 在所述索引结构的第N级子空间中查找与所述查询条件相匹配的第N级子空间, 判断出查找到的第N级子空间存在第(N+1)级子空间,在查找到的第N级子空间的第(N+1) 级子空间中查找与所述查询条件相匹配的第(N+1)级子空间;判断出所述第N级子空间不 存在第(N+1)级子空间,查找到的第N级子空间即为与查询条件相匹配的子空间。
[0024] 本发明还提出了一种查询服务器,至少包括:
[00巧]接收模块,用于接收到来自用户的查询请求;
[00%] 构建模块,用于根据预设时间的流数据构建索引结构;
[0027] 查找模块,用于在索引结构中查找查询请求中的查询条件对应的流数据;
[002引发送模块,用于将查找到的流数据返回给用户。
[0029] 优选地,所述构建模块具体用于:
[0030] 将所述预设时间与所述查询请求中的查询对象相匹配的流数据对应的空间划分 为一个或一个W上子空间,设置与所述查询请求中的查询对象相匹配的流数据和子空间之 间的对应关系;
[0031] 所述查找模块具体用于:
[0032] 在所述索引结构的子空间中查找与所述查询条件相匹配的子空间,在所述流数据 和子空间之间的对应关系中查找查找到的子空间对应的流数据,在查找到的流数据中查找 与所述查询条件相匹配的流数据。
[0033] 优选地,所述构建模块具体用于:
[0034] 在判断出本次查询请求中的查询对象与上一次查询请求中的查询对象不相同,或 判断出本次预设时间内的流数据与上一预设时间内的流数据之间的相似性大于或等于第 一预设阔值时,删除根据上一预设时间的流数据构建的索引结构;
[0035] 将所述预设时间与所述查询请求中的查询对象相匹配的流数据对应的空间划分 为一个或一个W上子空间,设置与所述查询请求中的查询对象相匹配的流数据和子空间之 间的对应关系。
[0036] 优选地,所述构建模块还用于:
[0037] 判断出所述本次查询请求中的查询对象与所述上一次查询请求中的查询对象相 同,且所述本次预设时间内与所述查询请求中的查询对象相匹配的流数据与所述上一预设 时间内与所述查询请求中的查询对象相匹配的流数据之间的相似性小于第一阔值,删除根 据所述上一预设时间的流数据构建的索引结构中流数据和子空间之间的对应关系,重新设 置所述本次预设时间与所述查询请求中的查询对象相匹配的流数据和子空间之间的对应 关系。
[0038] 优选地,所述构建模块具体用于:
[0039] 将所述预设时间与所述查询请求中的查询对象相匹配流数据对应的空间划分为 一个或一个W上相同的第N级子空间,当判断出所述第N级子空间的流数据的数量大于或 等于第二预设阔值时,将所述第N级子空间划分为一个或一个W上相同的第(N+1)级子空 间;其中,N为大于或等于1的整数;
[0040] 所述查找模块具体用于:
[0041] 在所述索引结构的第N级子空间中查找与所述查询条件相匹配的第N级子空间, 判断出查找到的第N级子空间存在第(N+1)级子空间,在查找到的第N级子空间的第(N+1) 级子空间中查找与所述查询条件相匹配的第(N+1)级子空间;判断出所述第N级子空间不 存在第(N+1)级子空间,查找到的第N级子空间即为与查询条件相匹配的子空间;
[0042] 在所述流数据和子空间之间的对应关系中查找查找到的子空间对应的流数据,在 查找到的流数据中查找与所述查询条件相匹配的流数据。
[0043] 与现有技术相比,本发明包括:查询服务器接收到来自用户的查询请求,根据预设 时间的流数据构建索引结构;在索引结构中查找查询请求中的查询条件对应的流数据,将 查找到的流数据返回给用户。通过本发明的方案,根据预设时间的流数据构建索引结构来 实现数据的查找,而不是对流数据进行抽样,从而提高了查询精度。
【附图说明】
[0044] 下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一 步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。 W45] 图1为本发明查找流数据的方法流程图;
[0046] 图2为本发明时间窗口划分的示意图;
[0047] 图3为本发明流数据对应的空间的划分示意图; W48] 图4为本发明划分后流数据和子空间之间的对应关系示意图;
[0049] 图5为本发明查询服务器的结构组成示意图。
【具体实施方式】
[0050] 为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不 能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实 施例中的各种方式可W相互组合。
[0051] 参见图1,本发明提出了一种查找流数据的方法,包括:
[0052] 步骤100、查询服务器接收到来自用户的查询请求,根据预设时间的流数据构建索 引结构。
[0053] 本步骤中,用户可W周期性向查询服务器发送查询请求,查询请求中至少包括查 询对象和查询条件。
[0054] 本步骤中,预设时间可W是接收到查询请求之前的一段时间。例如,图2为时间窗 口划分的示意图。如图2所示,预先将时间轴划分为等长的时间窗口,每个时间窗口包括流 数据处理过程1、构建索引结构的过程2、查询流数据的过程3,在每一个时间窗口内,如果 接收到来自用户的查询请求,则根据上一时间窗口的流数据构建索引结构,也就是说,预设 时间取值为上一时间窗口。运样,既能保证查询速度,又能提高查询精度。 阳化5] 本步骤中,查询服务器根据预设时间的流数据构建索引结构包括:
[0056] 查询服务器将预设时间与查询请求中的查询对象相匹配的流数据对应的空间划 分为一个或一个W上子空间,设置与查询请求中的查询对象相匹配的流数据和子空间之间 的对应关系。
[0057] 其中,查询服务器将预设时间与查询请求中的查询对象相匹配的流数据对应的空 间划分为一个或一个W上子空间之前,还可W包括:查询服务器在判断出本次查询请求中 的查询对象与上一次查询请求中的查询对象不相同,或判断出本次预设时间内与查询请求 中的查询对象相匹配的流数据与上一预设时间内与查询请求中的查询对象相匹配的流数 据之间的相似性大于或等于第一预设阔值时,删除根据上一预设时间的流数据构建的索引 结构。
[0058] 其中,当查询服务器判断出本次查询请求中的查询对象与上一次查询请求中的查 询对象相同,且本次预设时间内与查询请求中的查询对象相匹配的流数据与上一预设时间 内与查询请求中的查询对象相匹配的流数据之间的相似性小于第一阔值时,查询服务器根 据预设时间的流数据构建索引结构还包括:查询服务器删除根据上一预设时间的流数据构 建的索引结构中流数据和子空间之间的对应关系,重新设置本次预设时间与查询请求中的 查询对象相匹配的流数据和子空间之间的对应关系。
[0059] 其中,查询服务器判断出本次预设时间内与查询请求中的查询对象相匹配的流 数据与上一预设时间内与查询请求中的查询对象相匹配的流数据之间的相似性是否大 于或等于第一阔值包括:查询服务器按照公式
计算本次预设时间内与 查询请求中的查询对象相匹配的流数据与上一预设时间内与查询请求中的查询对象相 匹配的流数据之间的相似性;判断出计算得到的相似性是否大于或等于第一阔值;其中,
i为子空间标识,k为子空间的数量,Counter (i)为上一预设时间内 第i个子空间的流数据的数量,Amount(i)为本次预设时间内第i个子空间的流数据的数 量。
[0060] 其中,流数据对应的空间可W是流数据的一个或一个W上属性组成的空间。例如, 流数据包括两个属性:经度和缔度,则流数据对应的空间就是由经度和缔度组成的二维空 间。
[0061] 其中,查询服务器将预设时间与查询请求中的查询对象相匹配的流数据对应的空 间划分为一个或一个W上子空间包括:
[0062] 查询服务器将预设时间与查询请求中的查询对象相匹配的流数据对应的空间划 分为一个或一个W上相同的第N级子空间,当判断出第N级子空间的流数据的数量大于或 等于第二预设阔值时,将第N级子空间划分为一个或一个W上相同的第(N+1)级子空间。其 中,N为大于或等于1的整数。
[0063] 当判断出第N级子空间的流数据的数量小于第二预设阔值时,不对第N级子空间 进行进一步的划分。
[0064] 例如,图3为流数据对应的空间的划分示意图。如图3所示,首先将流数据对应的 空间划分为四个相同的第一级子空间,分别为C1、C2、C3、C4,再将第一级子空间C1划分为 四个第二级子空间,分别为C11、C12、C13、C14,将第一级子空间C3划分为四个第二级子空 间,分别为 C31、C32、C33、C34。 W65] 图4为划分后流数据和子空间之间的对应关系示意图。如图4所示,流数据和子 空间之间的对应关系可W采用树结构来实现,第一级子空间C1、C2、C3、C4为树的四个第一 级节点,每个第一级节点包括节点名称、属性名称和属性范围之间的对应关系。当第一级节 点有一个或一个W上下一级节点时,第一级节点还包含有一个或一个W上下一级节点的地 址,还可W包含有一个或一个W上下一级节点的属性名称和属性范围之间的对应关系。图 3中,第一级节点C1和C3均包含有四个第二级节点,而第一级节点C2和C4不包含第二级 节点。因此,第一级节点C1包括节点名称、属性名称和属性范围之间的对应关系、第二级节 点C11、C12、C13、C14的地址;第一级节点C3包括节点名称、属性名称和属性范围之间的对 应关系、第二级节点C31、C32、C33、C34的地址;第一级节点C2和C4包括节点名称、属性名 称和属性范围之间的对应关系、流数据地址。
[0066] 每个第二级节点可W包括节点名称、属性名称和属性范围之间的对应关系。当第 二级节点有一个或一个W上下一级节点时,第二级节点还包含有一个或一个W上下一级节 点的地址,还可W包含有一个或一个W上下一级节点的属性名称和属性范围之间的对应关 系。图3中,第二级节点C12包含有四个第Ξ级节点,其他第二级节点不包含第Ξ级节点。 因此,第二级节点C12包括节点名称、属性名称和属性范围之间的对应关系、第Ξ级节点 C121、C122、C123、C124 的地址;第二级节点 C11、C13、C14、C31、C32、C33 和 C:M 包括节点 名称、属性名称和属性范围之间的对应关系、流数据地址。 阳067] 第Ξ级节点Cm、C122、C123、C124包括节点名称、属性名称和属性范围之间的对 应关系、流数据地址。
[0068] 步骤101、在索引结构中查找查询请求中的查询条件对应的流数据,将查找到的流 数据返回给用户。
[0069] 本步骤中,在索引结构中查找查询请求中的查询条件对应的流数据包括:
[0070] 在索引结构的子空间中查找与查询条件相匹配的子空间,在流数据和子空间之间 的对应关系中查找查找到的子空间对应的流数据,在查找到的流数据中查找与查询条件相 匹配的流数据。
[0071] 其中,在索引结构的子空间中查找与查询关键字相匹配的子空间包括:
[0072] 在索引结构的第N级子空间中查找与查询条件相匹配的第N级子空间,判断出查 找到的第N级子空间存在第(N+1)级子空间,在查找到的第N级子空间的第(N+1)级子空 间中查找与查询条件相匹配的第(N+1)级子空间;判断出第N级子空间不存在第(N+1)级 子空间,查找到的第N级子空间即为与查询条件相匹配的子空间。
[0073] 例如,图3中,第一属性为经度,第二属性为缔度。第一级子空间C1的经度范围为 西经180度到西经0度,缔度范围为北缔180度到北缔0度;第一级子空间C2的经度范围 为西经180度到西经0度,缔度范围为南缔0度到南缔180度;第一级子空间C3的经度范 围为东经0度到东经180度,缔度范围为南缔0度到南缔180度;第一级子空间C4的经度 范围为东经0度到东经180度,缔度范围为北缔180度到北缔0度。
[0074] 第二级子空间C11的经度范围为西经180度到西经90度,缔度范围为北缔180度 到北缔90度;第二级子空间C12的经度范围为西经90度到西经0度,缔度范围为北缔90 度到北缔0度;第二级子空间C13的经度范围为西经180度到西经90度,缔度范围为北缔 90度到北缔0度;第二级子空间C14的经度范围为西经90度到西经0度,缔度范围为北缔 180度到北缔90度。第二级子空间C31的经度范围为东经0度到东经90度,缔度范围为南 缔0度到南缔90度;第二级子空间C32的经度范围为东经90度到东经180度,缔度范围为 南缔90度到南缔180度;第二级子空间C33的经度范围为东经0度到东经90度,缔度范围 为南缔90度到南缔180度;第二级子空间C34的经度范围为东经90度到东经180度,缔度 范围为南缔0度到南缔90度。 阳0巧]第Ξ级子空间C121的经度范围为西经90度到西经45度,缔度范围为北缔90度 到北缔45度;第Ξ级子空间C122的经度范围为西经45度到西经0度,缔度范围为北缔45 度到北缔0度;第Ξ级子空间C123的经度范围为西经90度到西经45度,缔度范围为北缔 45度到北缔0度;第Ξ级子空间C124的经度范围为西经45度到西经0度,缔度范围为北 缔90度到北缔45度。 阳076] 当查询条件为西经40度到55度,北缔30度到45度时,首先在第一级子空间中查 找与查询条件相匹配的第一级子空间,查找到的第一级子空间为C1,判断出C1有下一级子 空间,在C1的第二级子空间中查找与查询条件相匹配的第二级子空间,查找到的第二级子 空间为C12,判断出C12有下一级子空间,在C12的第Ξ级子空间中查找与查询条件相匹配 的第Ξ级子空间,查找到的第Ξ级子空间为C122, C123 ;获取C122和C123的流数据,在获 得的流数据中查找与查询条件相匹配的流数据,将查找到的流数据返回给用户。
[0077] 参见图5,本发明还提出了一种查询服务器,至少包括:
[0078] 接收模块,用于接收到来自用户的查询请求;
[0079] 构建模块,用于根据预设时间的流数据构建索引结构;
[0080] 查找模块,用于在索引结构中查找查询请求中的查询条件对应的流数据;
[0081] 发送模块,用于将查找到的流数据返回给用户。
[0082] 本发明的查询服务器中,构建模块具体用于:
[0083] 将预设时间与查询请求中的查询对象相匹配的流数据对应的空间划分为一个或 一个W上子空间,设置与查询请求中的查询对象相匹配的流数据和子空间之间的对应关 系;
[0084] 查找模块具体用于:
[00化]在索引结构的子空间中查找与查询条件相匹配的子空间,在流数据和子空间之间 的对应关系中查找查找到的子空间对应的流数据,在查找到的流数据中查找与查询条件相 匹配的流数据。
[0086] 本发明的查询服务器中,构建模块具体用于:
[0087] 在判断出本次查询请求中的查询对象与上一次查询请求中的查询对象不相同,或 判断出本次预设时间内的流数据与上一预设时间内的流数据之间的相似性大于或等于第 一预设阔值时,删除根据上一预设时间的流数据构建的索引结构;
[0088] 将预设时间与查询请求中的查询对象相匹配的流数据对应的空间划分为一个或 一个W上子空间,设置与查询请求中的查询对象相匹配的流数据和子空间之间的对应关 系。
[0089] 本发明的查询服务器中,构建模块还用于:
[0090] 判断出本次查询请求中的查询对象与上一次查询请求中的查询对象相同,且本次 预设时间内与查询请求中的查询对象相匹配的流数据与上一预设时间内与查询请求中的 查询对象相匹配的流数据之间的相似性小于第一阔值,删除根据上一预设时间的流数据构 建的索引结构中流数据和子空间之间的对应关系,重新设置本次预设时间与查询请求中的 查询对象相匹配的流数据和子空间之间的对应关系。
[0091] 本发明的查询服务器中,构建模块具体用于:
[0092] 将预设时间与查询请求中的查询对象相匹配流数据对应的空间划分为一个或一 个W上相同的第N级子空间,当判断出第N级子空间的流数据的数量大于或等于第二预设 阔值时,将第N级子空间划分为一个或一个W上相同的第(N+1)级子空间;其中,N为大于 或等于1的整数;
[0093] 查找模块具体用于:
[0094] 在索引结构的第N级子空间中查找与查询条件相匹配的第N级子空间,判断出查 找到的第N级子空间存在第(N+1)级子空间,在查找到的第N级子空间的第(N+1)级子空 间中查找与查询条件相匹配的第(N+1)级子空间;判断出第N级子空间不存在第(N+1)级 子空间,查找到的第N级子空间即为与查询条件相匹配的子空间;
[0095] 在流数据和子空间之间的对应关系中查找查找到的子空间对应的流数据,在查找 到的流数据中查找与查询条件相匹配的流数据。
[0096] 需要说明的是,W上所述的实施例仅是为了便于本领域的技术人员理解而已,并 不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对 本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
【主权项】
1. 一种查找流数据的方法,其特征在于,包括:查询服务器接收到来自用户的查询请 求,根据预设时间的流数据构建索引结构; 在索引结构中查找查询请求中的查询条件对应的流数据,将查找到的流数据返回给用 户。2. 根据权利要求1所述的方法,其特征在于,所述查询服务器根据预设时间的流数据 构建索引结构包括: 所述查询服务器将所述预设时间与所述查询请求中的查询对象相匹配的流数据对应 的空间划分为一个或一个W上子空间,设置与所述查询请求中的查询对象相匹配的流数据 和子空间之间的对应关系; 所述在索引结构中查找查询请求中的查询条件对应的流数据包括: 在所述索引结构的子空间中查找与所述查询条件相匹配的子空间,在所述流数据和子 空间之间的对应关系中查找查找到的子空间对应的流数据,在查找到的流数据中查找与所 述查询条件相匹配的流数据。3. 根据权利要求2所述的方法,其特征在于,所述查询服务器将预设时间与所述查询 请求中的查询对象相匹配的流数据对应的空间划分为一个或一个W上子空间之前,还包 括: 所述查询服务器在判断出本次查询请求中的查询对象与上一次查询请求中的查询对 象不相同,或判断出本次预设时间内与所述查询请求中的查询对象相匹配的流数据与上一 预设时间内与所述查询请求中的查询对象相匹配的流数据之间的相似性大于或等于第一 预设阔值时,删除根据上一预设时间的流数据构建的索引结构。4. 根据权利要求3所述的方法,其特征在于,当所述查询服务器判断出所述本次查询 请求中的查询对象与所述上一次查询请求中的查询对象相同,且所述本次预设时间内与所 述查询请求中的查询对象相匹配的流数据与所述上一预设时间内与所述查询请求中的查 询对象相匹配的流数据之间的相似性小于第一阔值时,所述查询服务器根据预设时间的流 数据构建索引结构还包括: 所述查询服务器删除根据所述上一预设时间的流数据构建的索引结构中流数据和子 空间之间的对应关系,重新设置所述本次预设时间与所述查询请求中的查询对象相匹配的 流数据和子空间之间的对应关系。5. 根据权利要求3或4所述的方法,其特征在于,所述查询服务器判断本次预设时间内 的流数据与上一预设时间内的流数据之间的相似性是否大于或等于第一阔值包括: 所述查询服务器按照公式计算所述本次预设时间内的流数据与所 述上一预设时间内的流数据之间的相似性;判断计算得到的相似性是否大于或等于第一阔 值; 其中,i为子空间标识,k为子空间的数量,Counter (i)为上一 预设时间内第i个子空间的流数据的数量,Amount(i)为本次预设时间内第i个子空间的 流数据的数量。6. 根据权利要求2所述的方法,其特征在于,所述查询服务器将预设时间与查询请求 中的查询对象相匹配的流数据对应的空间划分为一个或一个W上子空间包括: 所述查询服务器将所述预设时间与所述查询请求中的查询对象相匹配流数据对应的 空间划分为一个或一个W上相同的第N级子空间,当判断出所述第N级子空间的流数据的 数量大于或等于第二预设阔值时,将所述第N级子空间划分为一个或一个W上相同的第 (N+1)级子空间;其中,N为大于或等于1的整数; 所述在索引结构的子空间中查找与查询条件相匹配的子空间包括: 在所述索引结构的第N级子空间中查找与所述查询条件相匹配的第N级子空间,判断 出查找到的第N级子空间存在第(N+1)级子空间,在查找到的第N级子空间的第(N+1)级 子空间中查找与所述查询条件相匹配的第(N+1)级子空间;判断出所述第N级子空间不存 在第(N+1)级子空间,查找到的第N级子空间即为与查询条件相匹配的子空间。7. -种查询服务器,其特征在于,至少包括: 接收模块,用于接收到来自用户的查询请求; 构建模块,用于根据预设时间的流数据构建索引结构; 查找模块,用于在索引结构中查找查询请求中的查询条件对应的流数据; 发送模块,用于将查找到的流数据返回给用户。8. 根据权利要求7所述的查询服务器,其特征在于,所述构建模块具体用于: 将所述预设时间与所述查询请求中的查询对象相匹配的流数据对应的空间划分为一 个或一个W上子空间,设置与所述查询请求中的查询对象相匹配的流数据和子空间之间的 对应关系; 所述查找模块具体用于: 在所述索引结构的子空间中查找与所述查询条件相匹配的子空间,在所述流数据和子 空间之间的对应关系中查找查找到的子空间对应的流数据,在查找到的流数据中查找与所 述查询条件相匹配的流数据。9. 根据权利要求8所述的查询服务器,其特征在于,所述构建模块具体用于: 在判断出本次查询请求中的查询对象与上一次查询请求中的查询对象不相同,或判断 出本次预设时间内的流数据与上一预设时间内的流数据之间的相似性大于或等于第一预 设阔值时,删除根据上一预设时间的流数据构建的索引结构; 将所述预设时间与所述查询请求中的查询对象相匹配的流数据对应的空间划分为一 个或一个W上子空间,设置与所述查询请求中的查询对象相匹配的流数据和子空间之间的 对应关系。10. 根据权利要求9所述的查询服务器,其特征在于,所述构建模块还用于: 判断出所述本次查询请求中的查询对象与所述上一次查询请求中的查询对象相同,且 所述本次预设时间内与所述查询请求中的查询对象相匹配的流数据与所述上一预设时间 内与所述查询请求中的查询对象相匹配的流数据之间的相似性小于第一阔值,删除根据所 述上一预设时间的流数据构建的索引结构中流数据和子空间之间的对应关系,重新设置所 述本次预设时间与所述查询请求中的查询对象相匹配的流数据和子空间之间的对应关系。11. 根据权利要求7所述的查询服务器,其特征在于,所述构建模块具体用于: 将所述预设时间与所述查询请求中的查询对象相匹配流数据对应的空间划分为一个 或一个W上相同的第N级子空间,当判断出所述第N级子空间的流数据的数量大于或等于 第二预设阔值时,将所述第N级子空间划分为一个或一个W上相同的第(N+1)级子空间;其 中,N为大于或等于1的整数; 所述查找模块具体用于: 在所述索引结构的第N级子空间中查找与所述查询条件相匹配的第N级子空间,判断 出查找到的第N级子空间存在第(N+1)级子空间,在查找到的第N级子空间的第(N+1)级 子空间中查找与所述查询条件相匹配的第(N+1)级子空间;判断出所述第N级子空间不存 在第(N+1)级子空间,查找到的第N级子空间即为与查询条件相匹配的子空间; 在所述流数据和子空间之间的对应关系中查找查找到的子空间对应的流数据,在查找 到的流数据中查找与所述查询条件相匹配的流数据。
【文档编号】G06F17/30GK105989141SQ201510091318
【公开日】2016年10月5日
【申请日】2015年2月28日
【发明人】裴应明, 刘驰, 黄岳
【申请人】中兴通讯股份有限公司