CN111291085B - 层次化兴趣匹配方法、装置、计算机设备和存储介质 - Google Patents
层次化兴趣匹配方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111291085B CN111291085B CN202010042476.7A CN202010042476A CN111291085B CN 111291085 B CN111291085 B CN 111291085B CN 202010042476 A CN202010042476 A CN 202010042476A CN 111291085 B CN111291085 B CN 111291085B
- Authority
- CN
- China
- Prior art keywords
- ordering
- area
- range
- node
- matched
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种层次化兴趣匹配方法、装置、计算机设备和存储介质。方法包括:获取待匹配的订购区域和更新区域所在路由空间的组成维度,将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域,将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识,根据目标订购区域标识,确定与更新区域匹配的订购区域。通过维度划分和数据映射,降低了时间复杂度,匹配过程中只涉及到对映射订购区域的数据读取,无需进行加锁,从而实现并行匹配处理,提高了兴趣匹配过程的处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种层次化兴趣匹配方法、装置、计算机设备和存储介质。
背景技术
在并行与分布仿真中,基于公布/订购的通信将产生大量不相关的数据传输,从而降低仿真运行性能。HLA(High Level Architecture,高层体系结构)标准提供数据分发管理服务来过滤不必要的数据传输,减少联邦成员间的通信开销。数据生产者利用数据分发管理服务来维护其发送数据的属性(更新区域),而数据消费者可以利用数据分发管理服务来指定他们的数据需求(订阅区域)。然后,仿真运行支撑环境可以根据这些区域的兴趣匹配关系将生产者的数据分发给数据消费者,从而大大减少无意义的数据传输。因此,兴趣匹配在数据分发管理中起着十分关键作用。
传统的兴趣匹配方法包括蛮力匹配算法(Brute Force Matching),基于网格的匹配算法(Grid-based Matching),蛮力+网格的混合匹配算法,基于排序的匹配算法(Sort-based Matching)。其中,蛮力匹配算法、基于网格的匹配算法和蛮力+网格的混合匹配算法相对简单,但算法本身的时间复杂度较高、匹配效率较低;基于排序的匹配算法利用区间端点之间的序关系,基于全局排序需要顺序遍历队列进行比较,效率有待提高。从而导致传统的各类兴趣匹配方法都存在兴趣匹配效率难以提升的问题。
发明内容
基于此,有必要针对兴趣匹配效率难以提升的技术问题,提供一种能够提高兴趣匹配效率的层次化兴趣匹配方法、装置、计算机设备和存储介质。
一种层次化兴趣匹配方法,方法包括:
获取待匹配的订购区域和更新区域所在路由空间的组成维度;
将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识;
根据目标订购区域标识,确定与更新区域匹配的订购区域。
在其中一个实施例中,将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识包括:
以任一维度为目标维度,将更新区域与目标维度的映射订购区域进行匹配处理,确定目标维度中与更新区域匹配的订购区域标识,并将订购区域标识记录至更新区域对应的第一记录表;
对于路由空间中未与更新区域进行匹配处理的待处理维度,将更新区域与待处理维度的映射订购区域进行匹配处理,确定与更新区域匹配的临时订购区域标识,并将临时订购区域标识记录至更新区域对应的第二记录表;
当第一记录表中的标识在第二记录表不存在时,丢弃第一记录表中的标识,得到更新第一记录表;
清空第二记录表,并返回对于路由空间中未与更新区域进行匹配处理的待处理维度,将更新区域与待处理维度的映射订购区域进行匹配处理,确定与更新区域匹配的临时订购区域标识,并将临时订购区域标识记录至更新区域对应的第二记录表的步骤,直至不存在待处理维度;
根据最新的更新第一记录表中的标识,确定在各维度均存在的目标订购区域标识。
在其中一个实施例中,映射订购区域包括映射节点;
将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域包括:
将待匹配的订购区域按组成维度进行数据划分,确定订购区域在对应维度的订购范围,并获取维度对应的兴趣管理树中各层级的节点管理长度;
根据订购范围对应长度和各层级的节点管理长度,确定订购范围的映射层级,其中,映射层级的节点管理长度不小于订购范围对应长度,且映射层级的上一层级的节点管理长度小于订购范围对应长度;
根据订购范围的上界与下界,确定订购范围在映射层级的映射节点;
将订购范围映射至兴趣管理树的映射节点,映射节点记录有订购范围的订购区域标识。
在其中一个实施例中,根据订购范围对应长度和各层级的节点管理长度,确定订购范围的映射层级包括:
获取兴趣管理树初始的层级和叶子节点;
根据叶子节点,确定最小节点管理长度;
当订购范围的长度小于最小节点管理长度时,对兴趣管理树进行层级扩展以更新最小节点管理长度,直至订购范围的长度不小于更新的最小节点管理长度;
根据最新更新的最小节点管理长度对应的层级,确定订购范围的映射层级。
在其中一个实施例中,兴趣管理树的节点包括三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集;
根据订购范围的上界与下界,确定订购范围在映射层级的映射节点包括:
根据订购范围的上界,确定上界在映射层级对应的第一节点,并以订购范围的上界为键值、订购范围标识为元素,映射至第一节点的上界标识集;
根据订购范围的下界,确定下界在映射层级对应的第二节点,并以订购范围的下界为键值、订购范围标识为元素,映射至第二节点的下界标识集;
当第一节点与第二节点之间存在中间节点时,以订购范围的订购范围标识为元素,映射至中间节点的覆盖标识集。
在其中一个实施例中,将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识包括:
对于任一维度,执行以下步骤:
获取更新区域在维度的更新范围,根据更新范围对应的长度,确定更新范围在维度的兴趣管理树上的目标层级;
根据更新范围的上界和下界,确定在目标层级的目标边界节点;
根据更新范围在兴趣管理树上的目标边界节点、以及兴趣管理树各节点的映射标识集,确定在兴趣管理树上与更新范围匹配的订购区域标识。
在其中一个实施例中,根据更新范围在兴趣管理树上的目标边界节点、以及各订购范围在兴趣管理树的映射节点,确定在兴趣管理树上与更新范围匹配的订购区域标识包括:
根据更新范围中的上界和下界在目标边界节点中的位置偏向,确定待匹配层级中最小待匹配节点和最大待匹配节点;
获取最小待匹配节点对应的上界标识集和覆盖标识集,将上界标识集中键值大于更新范围下界的订购范围标识、以及覆盖标识集中的订购范围标识,分别记录至更新范围的匹配记录表中;
获取最小待匹配节点对应的第一下界标识集;
当最大待匹配节点与最小待匹配节点为同一节点时,将第一下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中;
当最大待匹配节点与最小待匹配节点为不同节点时,将第一下界标识集中的订购范围标识记录至更新范围的匹配记录表中;
当最小待匹配节点与最大待匹配节点之间存在中间待匹配节点,获取中间待匹配节点的第二下界标识集,并将第二下界标识集中的订购范围标识记录至更新范围的匹配记录表中;
当最大待匹配节点与最小待匹配节点相邻节点时,获取最大待匹配节点对应的第三下界标识集,将第三下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中;
根据更新范围的匹配记录表中的记录数据,确定在兴趣管理树上与更新范围匹配的订购区域标识。
一种层次化兴趣匹配装置,装置包括:
维度获取模块,用于获取待匹配的订购区域和更新区域所在路由空间的组成维度;
映射模块,用于将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
匹配处理模块,用于将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识;
匹配结果确定模块,用于根据目标订购区域标识,确定与更新区域匹配的订购区域。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取待匹配的订购区域和更新区域所在路由空间的组成维度;
将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识;
根据目标订购区域标识,确定与更新区域匹配的订购区域。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待匹配的订购区域和更新区域所在路由空间的组成维度;
将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识;
根据目标订购区域标识,确定与更新区域匹配的订购区域。
上述层次化兴趣匹配方法、装置、计算机设备和存储介质,通过待匹配的订购区域和更新区域所在路由空间的组成维度,对待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域,然后将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识,最后根据目标订购区域标识,确定与更新区域匹配的订购区域,在整个匹配过程中,通过维度划分和数据映射,降低了时间复杂度,在匹配过程中,减少许多不必要的比较计算,且由于只涉及到对映射订购区域的数据读取,在处理过程中,无需进行加锁,从而实现了各维度数据的并行匹配处理,提高了兴趣匹配过程的处理效率。
附图说明
图1为一个实施例中层次化兴趣匹配方法的流程示意图;
图2为另一个实施例中层次化兴趣匹配方法的流程示意图;
图3为再一个实施例中层次化兴趣匹配方法的流程示意图;
图4为一个实施例中层次化兴趣匹配方法的兴趣管理的结构示意图;
图5为一个实施例中图3所示层次化兴趣匹配方法中步骤S320的子步骤的流程示意图;
图6为一个实施例中层次化兴趣匹配装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种层次化兴趣匹配方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤S110至S140。
S110,获取待匹配的订购区域和更新区域所在路由空间的组成维度。
路由空间(RouteSpace)由若干个维度组成。在路由空间中存在有订购区域(subscribe region)和更新区域(publish region)。其中,订购区域是指数据消费者用于表示感兴趣数据的区域。更新区域是指数据生产者用于表示所产生数据的区域。路由空间的组成维度是指将路由空间按设定的维度划分规则进行划分的结果,维度是非负整数区间,由一个有序整数对定义,其下界为0。在实施例中,可以将路由空间划分为0-N(N为正整数)维。
S120,将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域。
订购区域的匹配对象是更新区域。待匹配的订购区域的数量可以是一个,也可以是至少两个。其中,多个待匹配的订购区域的映射处理过程相同。对于每一个待匹配的订购区域,按组成维度确定订购区域在每一维度对应的订购范围。对于本申请中的维度、范围、区间的联系,说明如下:范围是一个连续整数的半开区间,是维度的子集,由一个有序整数对定义,整数对的第一个数称为范围下界,第二个数称为范围上界,上界严格大于下界,其差至少为1。区域是多个范围构成的集合,区域的维度就是其所包含范围所属的维度,在一个区域的每个维度上最多只有一个范围。各维度的映射订购区域即为该订购区域在各维度对应的订购范围。在每一组成维度,存在对应的兴趣管理树,待匹配的订购区域将每一维度对应的订购范围映射至该维度对应的兴趣管理树,具体来说,兴趣管理树可以是满二叉树。满二叉树是指除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。兴趣管理树的每一个节点包含三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集,分别用于存储订购范围的上界和下界落入该节点范围的订购范围标识。
S130,将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识。
更新区域与映射订购区域即订购范围的匹配处理,包括更新区域的每一个维度对应的更新范围与订购范围的匹配处理,更新区域的每一个更新范围与订购范围的匹配过程相同。更新范围与订购范围的匹配可以通过兴趣管理树来实现,基于每一维度的订购范围在兴趣管理树上的映射结果来进行匹配处理,利用兴趣管理树的树节点和范围上下界之间的序关系来裁剪不必要的比较操作,降低时间复杂度。
在一个实施例中,首先确定更新范围与订购范围的重叠范围,其中,范围重叠是指同一维度上两个范围U=[Ulower,Uupper)、S=[Slower,Supper)交叠,即U∩S≠φ。然后根据更新范围与订购范围的重叠范围,判断更新区域与订购区域的重叠区域,其中区域重叠的判断依据为:当且仅当两个区域的所有公共维度上的范围交叠则区域重叠,如果两个区域没有公共维度则区域不重叠。
在一个具体的实施例中,对于更新区域的任一维度的更新范围,更新范围与订购范围的匹配处理过程包括:首先获取更新范围对应维度的兴趣管理树,该兴趣管理树上映射有各个订购区域在该维度的订购范围,根据更新范围在兴趣管理树上对应的映射层级和映射节点,以及各个订购范围在该兴趣管理树上的映射层级和映射节点,利用兴趣管理树的各层级的映射节点的位置关系与管理范围之间的联系,确定更新范围与各个订购范围是否存在范围重叠,并获取与更新范围具有重叠范围的订购区域标识。然后基于更新区域的每一维度获取的与更新范围具有重叠范围的订购区域标识,确定在该维度的兴趣管理树上与该更新区域重叠的订购区域标识,采用同样的方式,确定每一维度的兴趣管理树上与该更新区域重叠的订购区域标识,最后,根据每一维度的兴趣管理树上与该更新区域重叠的订购区域标识,确定在各维度均存在的目标订购区域标识。
S140,根据目标订购区域标识,确定与更新区域匹配的订购区域。
目标订购区域标识用于标识与更新区域具有公共维度上且在每一公共维度上具有相同的交叠范围的订购区域,目标订购区域标识对应的订购区域即为与更新区域匹配的订购区域。
上述层次化兴趣匹配方法,通过待匹配的订购区域和更新区域所在路由空间的组成维度,对待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域,然后将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识,最后根据目标订购区域标识,确定与更新区域匹配的订购区域,在整个匹配过程中,通过维度划分和数据映射,降低了时间复杂度,在匹配过程中,减少许多不必要的比较计算,且由于只涉及到对映射订购区域的数据读取,在处理过程中,无需进行加锁,从而实现了各维度数据的并行匹配处理,提高了兴趣匹配过程的处理效率。
在一个实施例中,如图2所示,步骤S130,将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识,具体包括步骤S210至S250。
S210,以任一维度为目标维度,将更新区域与目标维度的映射订购区域进行匹配处理,确定目标维度中与更新区域匹配的订购区域标识,并将订购区域标识记录至更新区域对应的第一记录表。
S220,对于路由空间中未与更新区域进行匹配处理的待处理维度,将更新区域与待处理维度的映射订购区域进行匹配处理,确定与更新区域匹配的临时订购区域标识,并将临时订购区域标识记录至更新区域对应的第二记录表。
S230,当第一记录表中的标识在第二记录表不存在时,丢弃第一记录表中的标识,得到更新第一记录表。
S240,清空第二记录表,并判断是否存在待处理维度,并若判断结果为是,则返回步骤S220,若判断结果为否,则进入步骤S250。
S250,根据最新的更新第一记录表中的标识,确定在各维度均存在的目标订购区域标识。
在一个实施例中,对于每一个更新区域Pj,以第0维为目标维度为例。首先,通过匹配处理,确定其在第0维中会与哪些映射订购区域匹配,并匹配结果存储在更新区域私有的reglist中;其中,reglist是订购区域ID为key的哈希表,用于存储第0维中所有与更新区域相交的订购区域ID,从第1维开始,依次遍历各个维度,并进行匹配计算和结果归一,直到结束。具体来说,每一维度i的匹配计算包括:对于每个更新区域Pj,分析其在第i维中会与哪些映射订购区域匹配,并将匹配结果存储在更新区域私有的tmpreglist中,其中,tmpreglist是订购区域ID为key的哈希表,用于存储在第i维所有与更新区域相交的临时订购区域ID,然后,对于Pj.reglist中的每个元素,判断该元素是否存在于tmpreglist中。若是,保留Pj.reglist中的该元素,若否,则从Pj.reglist中删除该元素,清空tmpreglist。当所有维度的匹配计算处理完成之后,每个更新区域私有的reglist中将存储所有与其相交的订购区域ID,最后得到的Pj.reglist中的元素即为在各维度均存在的目标订购区域标识。通过目标维度设立一个比较标准,将其余各维度的匹配结果为目标维度的匹配结果进行比较,提高了匹配处理速度。同时,基于用于存在临时订购区域标识的tmpreglist,通过清空tmpreglist来执行下一次的比较任务,减少了占用的数据处理资源。
可以理解,上述处理过程中的遍历方式不需要指定遍历的次序。例如:遍历方式可以从第0维开始,也可以从第1维开始,只需要以第一次遍历的维度为目标维度,完成所有维度的比较任务即可。reglist可以是用于存储第一次遍历维度中所有与更新区域相交的订购区域ID的任何数据结构;tmpreglist可以是用于存储其他各维度中所有与更新区域相交的临时订购区域ID的任何数据结构。
在一个实施例中,映射订购区域包括映射节点。如图3所示,步骤S120,将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域,具体包括步骤S310至S340。
S310,将待匹配的订购区域按组成维度进行数据划分,确定订购区域在对应维度的订购范围,并获取维度对应的兴趣管理树中各层级的节点管理长度。
S320,根据订购范围对应长度和各层级的节点管理长度,确定订购范围的映射层级。
其中,映射层级的节点管理长度不小于订购范围对应长度,且映射层级的上一层级的节点管理长度小于订购范围对应长度。
S330,根据订购范围的上界与下界,确定订购范围在映射层级的映射节点。
S340,将订购范围映射至兴趣管理树的映射节点,映射节点记录有订购范围的订购区域标识。
订购区域是一个多维数据,根据订购区域所在的路由空间的维度组成,将订购区域按组成维度进行数据划分,确定订购区域在对应维度的订购范围。每一维度对应有一个用于映射订购区域在该维度的订购范围的兴趣管理树。对于路由空间RouteSpace的每一个维,用“满二叉树”T(称为兴趣管理树)来进行管理,如图4所示。T的每个节点IMNode管理一个区间。假设某一维度的长度为[0,L),T的层级高度为h,那么总共有2h-1个IMNode。其中,第i层(i=0,1,...,h-1)共有2i个IMNode,第j个IMNode管理区间为[2-iLj,2-iL(j+1)),区间长度为2-iL。IMNodei,j表示第i层、第j个节点。
根据订购范围对应的长度和兴趣管理树中各层级的节点管理长度,确定订购范围的映射层级,具体来说确保订购范围的长度size(Si)大于等于该层节点管理长度,小于上一层节点的管理长度,即长度约束条件为:
对于订购区域S而言,记LSi为其在该维上范围的下界,USi为其在该维上范围的上界,通过计算lsid和usid确定订购范围的映射节点。其中,lsid表示订购范围的下界LSi所在的IMNode的序号,usid表示订购范围的上界USi所在的IMNode的序号,计算方法如下:
其中,基于长度约束条件,订购范围只可能与1个或2个或3个IMNode相交,即0≤usid-lsid≤2。将订购范围映射至映射节点IMNode,将订购范围对应的订购区域标识记录至映射节点的映射标识集中。
在一个实施例中,如图5所示,步骤S320,根据订购范围对应长度和各层级的节点管理长度,确定订购范围的映射层级,具体包括步骤S510至S540。
S510,获取兴趣管理树初始的层级和叶子节点。
S520,根据叶子节点,确定最小节点管理长度。
S530,当订购范围的长度小于最小节点管理长度时,对兴趣管理树进行层级扩展以更新最小节点管理长度,直至订购范围的长度不小于更新的最小节点管理长度。
S540,根据最新更新的最小节点管理长度对应的层级,确定订购范围的映射层级。
在一个实施例中,每个维的兴趣管理树T初始时,只有一层和一个节点。叶子节点是指兴趣管理树中度为0的结点,也就是满二叉树中最后一层的节点。叶节点的管理长度即为最小节点管理长度。如果订购范围的长度比T的叶子节点管理范围更小,将T扩展一层,每进行一次层级扩展,都会将叶子节点的管理长度变为原来的一般,当扩展一次后订购范围的长度依然小于当前叶子节点的管理长度,就在进行一次层级扩展,直至叶子节点的管理范围比当前的订购范围小,以满足订购范围的长度大于等于该层节点管理长度,且小于上一层节点的管理长度的要求,此时,与订购范围相交的叶子节点的数量为1个或2个或3个。
具体来说,判断订购范围的长度是否小于当前叶子节点的管理长度,当判断结果为是时,对兴趣管理树进行层级扩展,将层级扩展后的叶子节点更新为当前叶子节点,并返回判断订购范围的长度是否小于当前叶子节点的管理长度的步骤,直至订购范围的长度不小于当前叶子节点的管理长度,根据最新的当前叶子节点对应的层级,确定订购范围的映射层级,当判断结果为否时,将当前叶子节点对应的层级,确定订购范围的映射层级。
在其中一个实施例中,兴趣管理树的节点包括三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集。根据订购范围的上界与下界,确定订购范围在映射层级的映射节点包括:
根据订购范围的上界,确定上界在映射层级对应的第一节点,并以订购范围的上界为键值、订购范围标识为元素,映射至第一节点的上界标识集。根据订购范围的下界,确定下界在映射层级对应的第二节点,并以订购范围的下界为键值、订购范围标识为元素,映射至第二节点的下界标识集。当第一节点与第二节点之间存在中间节点时,以订购范围的订购范围标识为元素,映射至中间节点的覆盖标识集。
兴趣管理树每个节点包含三类映射标识集,分别为上界标识集(lowerBslist)、覆盖标识集(coverRanges)以及下界标识集(upperBslist)。在一个实施例中,lowerBslist是一个以订购范围下界LS为键值、订购区域ID为元素的红黑树,用于存储所有下界落入该节点的订购范围信息;upperBslist是一个以订购范围上界US为键值、订购区域ID为元素的红黑树,用于存储所有上界落入该节点的订购范围信息;coverRanges是以订购区域ID为元素的集合,用于存储所有覆盖该节点范围的订购范围信息。可以理解,lowerBslist、coverRanges和upperBslist可以是红黑树,也可以是其他用于存储该节点的订购范围信息任何数据结构,在此不做限定。可以理解,兴趣管理树中部分节点的三类映射标识集可以为空集。
在其中一个实施例中,将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识包括:
对于任一维度,执行以下步骤:获取更新区域在维度的更新范围,根据更新范围对应的长度,确定更新范围在维度的兴趣管理树上的目标层级。根据更新范围的上界和下界,确定在目标层级的目标边界节点。根据更新范围在兴趣管理树上的目标边界节点、以及兴趣管理树各节点的映射标识集,确定在兴趣管理树上与更新范围匹配的订购区域标识。
由于兴趣管理树中映射的是订购区域其中一个维度的数据,在进行匹配处理时,需要先选择维度,对于任一维度的兴趣管理树,获取更新区域在维度的更新范围,对于更新区域P而言,以第i维为例,记LPi为其在第i维上对应更新范围的下界,UPi为其在第i维上对应更新范围的上界。根据更新范围对应的长度,确定更新范围在第i维的兴趣管理树上的目标层级,目标层级需要满足订购范围的长度size(Pi)大于等于该层节点管理长度,小于上一层节点的管理长度的条件。根据更新范围的上界和下界所处的节点管理范围,确定目标层级的各个节点中的目标边界节点。然后根据目标边界节点的位置,确定经过映射处理后的兴趣管理树的各层级中与目标边界节点对应的待匹配节点,根据待匹配节点的映射标识集中的订购区域标识,确定与该更新范围匹配的订购区域标识。
在一个实施例中,根据更新范围在兴趣管理树上的目标边界节点、以及各订购范围在兴趣管理树的映射节点,确定在兴趣管理树上与更新范围匹配的订购区域标识包括以下步骤:
根据更新范围中的上界和下界在目标边界节点中的位置偏向,确定待匹配层级中最小待匹配节点和最大待匹配节点。
获取最小待匹配节点对应的上界标识集和覆盖标识集,将上界标识集中键值大于更新范围下界的订购范围标识、以及覆盖标识集中的订购范围标识,分别记录至更新范围的匹配记录表中。
获取最小待匹配节点对应的第一下界标识集。
当最大待匹配节点与最小待匹配节点为同一节点时,将第一下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中。
当最大待匹配节点与最小待匹配节点为不同节点时,将第一下界标识集中的订购范围标识记录至更新范围的匹配记录表中。
当最小待匹配节点与最大待匹配节点之间存在中间待匹配节点,获取中间待匹配节点的第二下界标识集,并将第二下界标识集中的订购范围标识记录至更新范围的匹配记录表中。
当最大待匹配节点与最小待匹配节点相邻节点时,获取最大待匹配节点对应的第三下界标识集,将第三下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中。
根据更新范围的匹配记录表中的记录数据,确定在兴趣管理树上与更新范围匹配的订购区域标识。
在一个具体的实施例中,以更新范围在兴趣管理树[0,h-1]中所在的目标层级为L层为例,匹配过程分为两部分,第一部分是从L层向下直到最底层的匹配,第二部分是从L-1层向上直到最顶层的匹配。首先,需要计算lpid和upid。其中,lpid表示l层中订购范围的下界LPi所在的IMNode的序号,upid表示订购范围的上界UPi所在的IMNode的序号,计算方法如下:
以left和right分别表示匹配计算所涉及的最左边和最右边的节点序号,在第L层,最小待匹配节点left即为lpid,最大待匹配节点right即为upid;
对于从L层向下直到最底层,对于level∈[l,h-1],在第level层中与相交IMNode中的订购范围比较,将匹配成功的订购范围对应的仿真实体放入更新区域的匹配记录表entlist中。
具体来说,第一次处理的是level=L:
对于最小待匹配节点IMNodelevel,left,将IMNodelevel,left的upperBslist中所有键值大于LPi的订购范围ID、以及IMNodelevel,left的coverRanges中所有订购范围ID加入到Pi.entlist中。
对j∈[left,right-1],将IMNodelevel,j的lowerBslist中所有订购范围ID加入到Pi.entlist中,即将最小待匹配节点、或是最小待匹配节点与中间待匹配节点的lowerBslist中所有订购范围ID加入到Pi.entlist中。
对于最大待匹配节点IMNodelevel,right,将IMNodelevel,right中lowerBslist的所有键值小于UPi的订购范围ID加入到Pi.entlist中。
此时已完成第L层的匹配,跳转到下一层级;即level=level+1,对于下一层级,需要根据更新范围的上下界确定在下一层级对应的最小待匹配节点和最大待匹配节点,具体处理过程包括:如果LPi位于IMNodelevel,left所管理区间的左半部分,则left=left*2;否则,left=left*2+1;如果UPi位于IMNodelevel,right所管理区间的左半部分,则right=right*2;否则,right=right*2+1;从而确定下一层级对应的最小待匹配节点和最大待匹配节点,依次循环,直至level≥h。
对于从L层向上直到最顶层,第一次处理的是level=L-1,同样需要根据更新范围的上下界确定在第L-1层级对应的最小待匹配节点left和最大待匹配节点right,具体来说:left=left/2,right=right/2;
对于最小待匹配节点IMNodelevel,left:将IMNodelevel,left的upperBslist中所有值大于LPi的订购范围ID、以及IMNodelevel,left的coverRanges中所有订购范围ID加入到Pi.entlist中。
如果left=right,将IMNodelevel,left中lowerBslist的所有值小于UPi的订购范围ID加入到Pi.entlist中;否则,将IMNodelevel,left的lowerBslist中所有订购范围ID加入到Pi.entlist中。
对于最大待匹配节点IMNodelevel,right:将IMNodelevel,right中lowerBslist的所有值小于UPi的订购范围ID加入到Pi.entlist中,完成第L-1层级的匹配;
跳转到下一层,使得level=level-1,并执行上述相同的处理过程,直至level<0,结束整个兴趣管理树中的订购范围与更新范围的匹配处理。
应该理解的是,虽然图1-3、图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3、图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种层次化兴趣匹配装置,包括:维度获取模块610、映射模块620、匹配处理模块630和匹配结果确定模块640。
其中:
维度获取模块610,用于获取待匹配的订购区域和更新区域所在路由空间的组成维度。
映射模块620,用于将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域。
匹配处理模块630,用于将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识。
匹配结果确定模块640,用于根据目标订购区域标识,确定与更新区域匹配的订购区域。
在其中一个实施例中,匹配处理模块还包括:
目标维度处理单元,用于以任一维度为目标维度,将更新区域与目标维度的映射订购区域进行匹配处理,确定目标维度中与更新区域匹配的订购区域标识,并将订购区域标识记录至更新区域对应的第一记录表。
非目标维度处理单元,用于对于路由空间中未与更新区域进行匹配处理的待处理维度,将更新区域与待处理维度的映射订购区域进行匹配处理,确定与更新区域匹配的临时订购区域标识,并将临时订购区域标识记录至更新区域对应的第二记录表。
记录表更新单元,用于当第一记录表中的标识在第二记录表不存在时,丢弃第一记录表中的标识,得到更新第一记录表。
循环单元,用于清空第二记录表,并返回非目标维度处理单元执行对应步骤。
目标订购区域标识确定单元,用于根据最新的更新第一记录表中的标识,确定在各维度均存在的目标订购区域标识。
在其中一个实施例中,映射订购区域包括映射节点,映射模块还包括:
数据划分单元,用于将待匹配的订购区域按组成维度进行数据划分,确定订购区域在对应维度的订购范围,并获取维度对应的兴趣管理树中各层级的节点管理长度。
映射层级确定单元,用于根据订购范围对应长度和各层级的节点管理长度,确定订购范围的映射层级,其中,映射层级的节点管理长度不小于订购范围对应长度,且映射层级的上一层级的节点管理长度小于订购范围对应长度。
映射节点确定单元,用于根据订购范围的上界与下界,确定订购范围在映射层级的映射节点。
映射处理单元,用于将订购范围映射至兴趣管理树的映射节点,映射节点记录有订购范围的订购区域标识。
在其中一个实施例中,映射层级确定单元,还用于获取兴趣管理树初始的层级和叶子节点;根据叶子节点,确定最小节点管理长度;当订购范围的长度小于最小节点管理长度时,对兴趣管理树进行层级扩展以更新最小节点管理长度,直至订购范围的长度不小于更新的最小节点管理长度;根据最新更新的最小节点管理长度对应的层级,确定订购范围的映射层级。
在其中一个实施例中,兴趣管理树的节点包括三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集;映射节点确定单元,还用于根据订购范围的上界,确定上界在映射层级对应的第一节点,并以订购范围的上界为键值、订购范围标识为元素,映射至第一节点的上界标识集;根据订购范围的下界,确定下界在映射层级对应的第二节点,并以订购范围的下界为键值、订购范围标识为元素,映射至第二节点的下界标识集;当第一节点与第二节点之间存在中间节点时,以订购范围的订购范围标识为元素,映射至中间节点的覆盖标识集。
在其中一个实施例中,匹配处理模块还用于对于任一维度,执行以下步骤:获取更新区域在维度的更新范围,根据更新范围对应的长度,确定更新范围在维度的兴趣管理树上的目标层级;根据更新范围的上界和下界,确定在目标层级的目标边界节点;根据更新范围在兴趣管理树上的目标边界节点、以及兴趣管理树各节点的映射标识集,确定在兴趣管理树上与更新范围匹配的订购区域标识。
在其中一个实施例中,匹配处理模块还用于根据更新范围中的上界和下界在目标边界节点中的位置偏向,确定待匹配层级中最小待匹配节点和最大待匹配节点。获取最小待匹配节点对应的上界标识集和覆盖标识集,将上界标识集中键值大于更新范围下界的订购范围标识、以及覆盖标识集中的订购范围标识,分别记录至更新范围的匹配记录表中。获取最小待匹配节点对应的第一下界标识集。当最大待匹配节点与最小待匹配节点为同一节点时,将第一下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中。当最大待匹配节点与最小待匹配节点为不同节点时,将第一下界标识集中的订购范围标识记录至更新范围的匹配记录表中。当最小待匹配节点与最大待匹配节点之间存在中间待匹配节点,获取中间待匹配节点的第二下界标识集,并将第二下界标识集中的订购范围标识记录至更新范围的匹配记录表中。当最大待匹配节点与最小待匹配节点相邻节点时,获取最大待匹配节点对应的第三下界标识集,将第三下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中。根据更新范围的匹配记录表中的记录数据,确定在兴趣管理树上与更新范围匹配的订购区域标识。
上述层次化兴趣匹配装置,通过待匹配的订购区域和更新区域所在路由空间的组成维度,对待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域,然后将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识,最后根据目标订购区域标识,确定与更新区域匹配的订购区域,在整个匹配过程中,通过维度划分和数据映射,降低了时间复杂度,在匹配过程中,减少许多不必要的比较计算,且由于只涉及到对映射订购区域的数据读取,在处理过程中,无需进行加锁,从而实现了各维度数据的并行匹配处理,提高了兴趣匹配过程的处理效率。
关于层次化兴趣匹配装置的具体限定可以参见上文中对于层次化兴趣匹配方法的限定,在此不再赘述。上述层次化兴趣匹配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储层次化兴趣匹配数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种层次化兴趣匹配方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时执行时实现以下步骤:
获取待匹配的订购区域和更新区域所在路由空间的组成维度;
将待匹配的订购区域按组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
将更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与更新区域匹配的订购区域标识,并根据各维度中与更新区域匹配的订购区域标识,确定在各维度均存在的目标订购区域标识;
根据目标订购区域标识,确定与更新区域匹配的订购区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
以任一维度为目标维度,将更新区域与目标维度的映射订购区域进行匹配处理,确定目标维度中与更新区域匹配的订购区域标识,并将订购区域标识记录至更新区域对应的第一记录表;
对于路由空间中未与更新区域进行匹配处理的待处理维度,将更新区域与待处理维度的映射订购区域进行匹配处理,确定与更新区域匹配的临时订购区域标识,并将临时订购区域标识记录至更新区域对应的第二记录表;
当第一记录表中的标识在第二记录表不存在时,丢弃第一记录表中的标识,得到更新第一记录表;
清空第二记录表,并返回对于路由空间中未与更新区域进行匹配处理的待处理维度,将更新区域与待处理维度的映射订购区域进行匹配处理,确定与更新区域匹配的临时订购区域标识,并将临时订购区域标识记录至更新区域对应的第二记录表的步骤,直至不存在待处理维度;
根据最新的更新第一记录表中的标识,确定在各维度均存在的目标订购区域标识。
在一个实施例中,映射订购区域包括映射节点;处理器执行计算机程序时还实现以下步骤:
将待匹配的订购区域按组成维度进行数据划分,确定订购区域在对应维度的订购范围,并获取维度对应的兴趣管理树中各层级的节点管理长度;
根据订购范围对应长度和各层级的节点管理长度,确定订购范围的映射层级,其中,映射层级的节点管理长度不小于订购范围对应长度,且映射层级的上一层级的节点管理长度小于订购范围对应长度;
根据订购范围的上界与下界,确定订购范围在映射层级的映射节点;
将订购范围映射至兴趣管理树的映射节点,映射节点记录有订购范围的订购区域标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取兴趣管理树初始的层级和叶子节点;
根据叶子节点,确定最小节点管理长度;
当订购范围的长度小于最小节点管理长度时,对兴趣管理树进行层级扩展以更新最小节点管理长度,直至订购范围的长度不小于更新的最小节点管理长度;
根据最新更新的最小节点管理长度对应的层级,确定订购范围的映射层级。
在一个实施例中,兴趣管理树的节点包括三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集;处理器执行计算机程序时还实现以下步骤:
根据订购范围的上界,确定上界在映射层级对应的第一节点,并以订购范围的上界为键值、订购范围标识为元素,映射至第一节点的上界标识集;
根据订购范围的下界,确定下界在映射层级对应的第二节点,并以订购范围的下界为键值、订购范围标识为元素,映射至第二节点的下界标识集;
当第一节点与第二节点之间存在中间节点时,以订购范围的订购范围标识为元素,映射至中间节点的覆盖标识集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对于任一维度,获取更新区域在维度的更新范围,根据更新范围对应的长度,确定更新范围在维度的兴趣管理树上的目标层级;
根据更新范围的上界和下界,确定在目标层级的目标边界节点;
根据更新范围在兴趣管理树上的目标边界节点、以及兴趣管理树各节点的映射标识集,确定在兴趣管理树上与更新范围匹配的订购区域标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据更新范围中的上界和下界在目标边界节点中的位置偏向,确定待匹配层级中最小待匹配节点和最大待匹配节点;
获取最小待匹配节点对应的上界标识集和覆盖标识集,将上界标识集中键值大于更新范围下界的订购范围标识、以及覆盖标识集中的订购范围标识,分别记录至更新范围的匹配记录表中;
获取最小待匹配节点对应的第一下界标识集;
当最大待匹配节点与最小待匹配节点为同一节点时,将第一下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中;
当最大待匹配节点与最小待匹配节点为不同节点时,将第一下界标识集中的订购范围标识记录至更新范围的匹配记录表中;
当最小待匹配节点与最大待匹配节点之间存在中间待匹配节点,获取中间待匹配节点的第二下界标识集,并将第二下界标识集中的订购范围标识记录至更新范围的匹配记录表中;
当最大待匹配节点与最小待匹配节点相邻节点时,获取最大待匹配节点对应的第三下界标识集,将第三下界标识集中键值小于更新范围上界的订购范围标识记录至更新范围的匹配记录表中;
根据更新范围的匹配记录表中的记录数据,确定在兴趣管理树上与更新范围匹配的订购区域标识。
上述用于实现层次化兴趣匹配方法的计算机设备,通过维度划分和数据映射,降低了时间复杂度,在匹配过程中,减少许多不必要的比较计算,且由于只涉及到对映射订购区域的数据读取,在处理过程中,无需进行加锁,从而实现了各维度数据的并行匹配处理,提高了兴趣匹配过程的处理效率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述层次化兴趣匹配方法的步骤,此处层次化兴趣匹配方法的步骤可以是上述各个实施例的层次化兴趣匹配方法中的步骤。
上述用于实现层次化兴趣匹配方法的计算机可读存储介质,通过维度划分和数据映射,降低了时间复杂度,在匹配过程中,减少许多不必要的比较计算,且由于只涉及到对映射订购区域的数据读取,在处理过程中,无需进行加锁,从而实现了各维度数据的并行匹配处理,提高了兴趣匹配过程的处理效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种层次化兴趣匹配方法,所述方法包括:
获取待匹配的订购区域和更新区域所在路由空间的组成维度,其中路由空间由若干个维度组成,在路由空间中存在有订购区域和更新区域,所述订购区域是指数据消费者用于表示感兴趣数据的区域,所述更新区域是指数据生产者用于表示所产生数据的区域;
将所述待匹配的订购区域按所述组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
将所述更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与所述更新区域匹配的订购区域标识,并根据各维度中与所述更新区域匹配的订购区域标识,确定在各所述维度均存在的目标订购区域标识;
根据所述目标订购区域标识,确定与所述更新区域匹配的订购区域;
其中,所述映射订购区域包括映射节点;所述将所述待匹配的订购区域按所述组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域包括:
将待匹配的订购区域按组成维度进行数据划分,确定所述订购区域在对应维度的订购范围,并获取所述维度对应的兴趣管理树中各层级的节点管理长度;
获取兴趣管理树初始的层级和叶子节点;根据所述叶子节点,确定最小节点管理长度;当所述订购范围的长度小于所述最小节点管理长度时,对所述兴趣管理树进行层级扩展以更新所述最小节点管理长度,直至所述订购范围的长度不小于更新的最小节点管理长度;根据最新更新的最小节点管理长度对应的层级,确定所述订购范围的映射层级,其中,所述映射层级的节点管理长度不小于所述订购范围对应长度,且所述映射层级的上一层级的节点管理长度小于所述订购范围对应长度;所述兴趣管理树的节点包括三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集;
根据所述订购范围的上界,确定所述上界在所述映射层级对应的第一节点,并以所述订购范围的上界为键值、订购范围标识为元素,映射至所述第一节点的上界标识集;
根据所述订购范围的下界,确定所述下界在所述映射层级对应的第二节点,并以所述订购范围的下界为键值、订购范围标识为元素,映射至所述第二节点的下界标识集;
当所述第一节点与所述第二节点之间存在中间节点时,以所述订购范围的订购范围标识为元素,映射至所述中间节点的覆盖标识集;
将所述订购范围映射至所述兴趣管理树的映射节点,所述映射节点记录有所述订购范围的订购区域标识。
2.根据权利要求1所述的方法,其特征在于,所述将所述更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与所述更新区域匹配的订购区域标识,并根据各维度中与所述更新区域匹配的订购区域标识,确定在各所述维度均存在的目标订购区域标识包括:
以任一维度为目标维度,将所述更新区域与所述目标维度的映射订购区域进行匹配处理,确定所述目标维度中与所述更新区域匹配的订购区域标识,并将所述订购区域标识记录至所述更新区域对应的第一记录表;
对于所述路由空间中未与所述更新区域进行匹配处理的待处理维度,将所述更新区域与所述待处理维度的映射订购区域进行匹配处理,确定与所述更新区域匹配的临时订购区域标识,并将所述临时订购区域标识记录至所述更新区域对应的第二记录表;
当所述第一记录表中的标识在所述第二记录表不存在时,丢弃所述第一记录表中的所述标识,得到更新第一记录表;
清空所述第二记录表,并返回所述对于所述路由空间中未与所述更新区域进行匹配处理的待处理维度,将所述更新区域与所述待处理维度的映射订购区域进行匹配处理,确定与所述更新区域匹配的临时订购区域标识,并将所述临时订购区域标识记录至所述更新区域对应的第二记录表的步骤,直至不存在所述待处理维度;
根据最新的更新第一记录表中的标识,确定在各所述维度均存在的目标订购区域标识。
3.根据权利要求1所述的方法,其特征在于,所述将所述更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与所述更新区域匹配的订购区域标识包括:
对于任一维度,执行以下步骤:
获取所述更新区域在所述维度的更新范围,根据所述更新范围对应的长度,确定所述更新范围在所述维度的兴趣管理树上的目标层级;
根据所述更新范围的上界和下界,确定在所述目标层级的目标边界节点;
根据所述更新范围在所述兴趣管理树上的目标边界节点、以及所述兴趣管理树各节点的映射标识集,确定在所述兴趣管理树上与所述更新范围匹配的订购区域标识。
4.根据权利要求3所述的方法,其特征在于,所述根据所述更新范围在所述兴趣管理树上的目标边界节点、以及各订购范围在所述兴趣管理树的映射节点,确定在所述兴趣管理树上与所述更新范围匹配的订购区域标识包括:
根据所述更新范围中的上界和下界在所述目标边界节点中的位置偏向,确定待匹配层级中最小待匹配节点和最大待匹配节点;
获取所述最小待匹配节点对应的上界标识集和覆盖标识集,将所述上界标识集中键值大于所述更新范围下界的订购范围标识、以及所述覆盖标识集中的订购范围标识,分别记录至所述更新范围的匹配记录表中;
获取所述最小待匹配节点对应的第一下界标识集;
当所述最大待匹配节点与所述最小待匹配节点为同一节点时,将所述第一下界标识集中键值小于所述更新范围上界的订购范围标识记录至所述更新范围的匹配记录表中;
当所述最大待匹配节点与所述最小待匹配节点为不同节点时,将所述第一下界标识集中的订购范围标识记录至所述更新范围的匹配记录表中;
当所述最小待匹配节点与所述最大待匹配节点之间存在中间待匹配节点,获取所述中间待匹配节点的第二下界标识集,并将所述第二下界标识集中的订购范围标识记录至所述更新范围的匹配记录表中;
当所述最大待匹配节点与所述最小待匹配节点相邻节点时,获取所述最大待匹配节点对应的第三下界标识集,将所述第三下界标识集中键值小于所述更新范围上界的订购范围标识记录至所述更新范围的匹配记录表中;
根据所述更新范围的匹配记录表中的记录数据,确定在所述兴趣管理树上与所述更新范围匹配的订购区域标识。
5.一种层次化兴趣匹配装置,其特征在于,所述装置包括:
维度获取模块,用于获取待匹配的订购区域和更新区域所在路由空间的组成维度;
映射模块,用于将所述待匹配的订购区域按所述组成维度进行映射处理,得到各维度中携带有订购区域标识的映射订购区域;
匹配处理模块,用于将所述更新区域分别与各维度中的映射订购区域进行匹配处理,分别确定各维度中与所述更新区域匹配的订购区域标识,并根据各维度中与所述更新区域匹配的订购区域标识,确定在各所述维度均存在的目标订购区域标识;
匹配结果确定模块,用于根据所述目标订购区域标识,确定与所述更新区域匹配的订购区域;
其中,所述映射订购区域包括映射节点;所述映射模块,包括:
数据划分单元,用于将待匹配的订购区域按组成维度进行数据划分,确定所述订购区域在对应维度的订购范围,并获取所述维度对应的兴趣管理树中各层级的节点管理长度;
映射层级确定单元,用于获取兴趣管理树初始的层级和叶子节点;根据所述叶子节点,确定最小节点管理长度;当所述订购范围的长度小于所述最小节点管理长度时,对所述兴趣管理树进行层级扩展以更新所述最小节点管理长度,直至所述订购范围的长度不小于更新的最小节点管理长度;根据最新更新的最小节点管理长度对应的层级,确定所述订购范围的映射层级,其中,所述映射层级的节点管理长度不小于所述订购范围对应长度,且所述映射层级的上一层级的节点管理长度小于所述订购范围对应长度;所述兴趣管理树的节点包括三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集;
映射节点确定单元,用于根据订购范围的上界,确定上界在映射层级对应的第一节点,并以订购范围的上界为键值、订购范围标识为元素,映射至第一节点的上界标识集;根据订购范围的下界,确定下界在映射层级对应的第二节点,并以订购范围的下界为键值、订购范围标识为元素,映射至第二节点的下界标识集;当第一节点与第二节点之间存在中间节点时,以订购范围的订购范围标识为元素,映射至中间节点的覆盖标识集;
映射处理单元,用于将订购范围映射至兴趣管理树的映射节点,映射节点记录有订购范围的订购区域标识。
6.根据权利要求5所述的装置,其特征在于,所述匹配处理模块还包括:
目标维度处理单元,用于以任一维度为目标维度,将所述更新区域与所述目标维度的映射订购区域进行匹配处理,确定所述目标维度中与所述更新区域匹配的订购区域标识,并将所述订购区域标识记录至所述更新区域对应的第一记录表;
非目标维度处理单元,用于对于所述路由空间中未与所述更新区域进行匹配处理的待处理维度,将所述更新区域与所述待处理维度的映射订购区域进行匹配处理,确定与所述更新区域匹配的临时订购区域标识,并将所述临时订购区域标识记录至所述更新区域对应的第二记录表;
记录表更新单元,用于当所述第一记录表中的标识在所述第二记录表不存在时,丢弃所述第一记录表中的所述标识,得到更新第一记录表;
循环单元,用于清空所述第二记录表,并返回所述非目标维度处理单元执行对应步骤;
目标订购区域标识确定单元,用于根据最新的更新第一记录表中的标识,确定在各所述维度均存在的目标订购区域标识。
7.根据权利要求5所述的装置,其特征在于,所述匹配处理模块,还用于对于任一维度,执行以下步骤:获取所述更新区域在所述维度的更新范围,根据所述更新范围对应的长度,确定所述更新范围在所述维度的兴趣管理树上的目标层级;根据所述更新范围的上界和下界,确定在所述目标层级的目标边界节点;根据所述更新范围在所述兴趣管理树上的目标边界节点、以及所述兴趣管理树各节点的映射标识集,确定在所述兴趣管理树上与所述更新范围匹配的订购区域标识。
8.根据权利要求7所述的装置,其特征在于,所述匹配处理模块,还用于根据所述更新范围中的上界和下界在所述目标边界节点中的位置偏向,确定待匹配层级中最小待匹配节点和最大待匹配节点;获取所述最小待匹配节点对应的上界标识集和覆盖标识集,将所述上界标识集中键值大于所述更新范围下界的订购范围标识、以及所述覆盖标识集中的订购范围标识,分别记录至所述更新范围的匹配记录表中;获取所述最小待匹配节点对应的第一下界标识集;当所述最大待匹配节点与所述最小待匹配节点为同一节点时,将所述第一下界标识集中键值小于所述更新范围上界的订购范围标识记录至所述更新范围的匹配记录表中;当所述最大待匹配节点与所述最小待匹配节点为不同节点时,将所述第一下界标识集中的订购范围标识记录至所述更新范围的匹配记录表中;当所述最小待匹配节点与所述最大待匹配节点之间存在中间待匹配节点,获取所述中间待匹配节点的第二下界标识集,并将所述第二下界标识集中的订购范围标识记录至所述更新范围的匹配记录表中;当所述最大待匹配节点与所述最小待匹配节点相邻节点时,获取所述最大待匹配节点对应的第三下界标识集,将所述第三下界标识集中键值小于所述更新范围上界的订购范围标识记录至所述更新范围的匹配记录表中;根据所述更新范围的匹配记录表中的记录数据,确定在所述兴趣管理树上与所述更新范围匹配的订购区域标识。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042476.7A CN111291085B (zh) | 2020-01-15 | 2020-01-15 | 层次化兴趣匹配方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042476.7A CN111291085B (zh) | 2020-01-15 | 2020-01-15 | 层次化兴趣匹配方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291085A CN111291085A (zh) | 2020-06-16 |
CN111291085B true CN111291085B (zh) | 2023-10-17 |
Family
ID=71021209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010042476.7A Active CN111291085B (zh) | 2020-01-15 | 2020-01-15 | 层次化兴趣匹配方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291085B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884940B (zh) * | 2020-07-17 | 2022-03-22 | 中国人民解放军国防科技大学 | 兴趣匹配方法、装置、计算机设备和存储介质 |
CN113713381B (zh) * | 2021-09-09 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 对象管理方法、装置、设备、存储介质及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420354A (zh) * | 2008-11-26 | 2009-04-29 | 北京航空航天大学 | 面向广域网远程虚拟环境的组播扩展方法 |
WO2017124116A1 (en) * | 2016-01-15 | 2017-07-20 | Bao Sheng | Searching, supplementing and navigating media |
CN108829932A (zh) * | 2018-05-22 | 2018-11-16 | 中国人民解放军国防科技大学 | 兴趣匹配方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549027B2 (en) * | 2009-06-18 | 2013-10-01 | Sas Institute Inc. | Computer-implemented systems and methods for efficiently selecting data in multi-dimensional hierarchical space with multiple constraints |
US20130106893A1 (en) * | 2011-10-31 | 2013-05-02 | Elwah LLC, a limited liability company of the State of Delaware | Context-sensitive query enrichment |
US10380124B2 (en) * | 2016-10-06 | 2019-08-13 | Oracle International Corporation | Searching data sets |
-
2020
- 2020-01-15 CN CN202010042476.7A patent/CN111291085B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420354A (zh) * | 2008-11-26 | 2009-04-29 | 北京航空航天大学 | 面向广域网远程虚拟环境的组播扩展方法 |
WO2017124116A1 (en) * | 2016-01-15 | 2017-07-20 | Bao Sheng | Searching, supplementing and navigating media |
CN108829932A (zh) * | 2018-05-22 | 2018-11-16 | 中国人民解放军国防科技大学 | 兴趣匹配方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
王磊 ; 张慧慧 ; 李开生 ; 鞠鸿彬 ; .基于动态R-树结构的DDM区域匹配算法.计算机工程.2008,(第03期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111291085A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287182B (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
CN111291085B (zh) | 层次化兴趣匹配方法、装置、计算机设备和存储介质 | |
CN113282799B (zh) | 节点的操作方法、装置、计算机设备和存储介质 | |
CN111241350B (zh) | 图数据查询方法、装置、计算机设备和存储介质 | |
CN115718819A (zh) | 一种索引构建方法、数据读取方法及索引构建装置 | |
CN113010570B (zh) | 电网设备矢量数据查询方法、装置、计算机设备和介质 | |
CN112446951B (zh) | 三维重建方法、装置、电子设备及计算机存储介质 | |
CN116614392B (zh) | 路由开销确定方法、路由开销监控方法及装置 | |
CN115473895B (zh) | 泛在环境下的数字对象仓库节点共识组划分方法和装置 | |
CN111353012B (zh) | 空间文本数据缓存处理方法、装置、电子设备及存储介质 | |
CN111177190B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN116842542A (zh) | 无线传感网络敏感数据的分层加密存储方法及装置 | |
CN116340278A (zh) | 一种面向移动物联网的区块链上空间数据可认证共享方法 | |
CN112612784B (zh) | 河水流域计算单元自动划分方法、装置和计算机设备 | |
CN112799607B (zh) | 一种根据数据大小分区式存放的数据存储方法 | |
CN109800241A (zh) | 一种集合操作方法及终端 | |
CN111884940B (zh) | 兴趣匹配方法、装置、计算机设备和存储介质 | |
CN115221360A (zh) | 树形结构配置方法和系统 | |
CN113609076B (zh) | 一种文件存储方法和文件读取方法 | |
CN114998513B (zh) | 基于kd树的带循环边界的地球模拟系统网格重映射方法 | |
CN112328629B (zh) | 实体对象处理方法、装置和电子设备 | |
CN117609894B (zh) | 一种基于分区策略的高性能报文分类方法、设备及介质 | |
CN117194350B (zh) | 一种数据中心工程建设阶段文档存储方法及系统 | |
CN110750661B (zh) | 检索图像的方法、装置、计算机设备和存储介质 | |
CN118555315A (zh) | 基于循环流水线实现的多决策树灵活报文分类方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |