CN111884940A - 兴趣匹配方法、装置、计算机设备和存储介质 - Google Patents
兴趣匹配方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111884940A CN111884940A CN202010690799.7A CN202010690799A CN111884940A CN 111884940 A CN111884940 A CN 111884940A CN 202010690799 A CN202010690799 A CN 202010690799A CN 111884940 A CN111884940 A CN 111884940A
- Authority
- CN
- China
- Prior art keywords
- subscription
- area
- boundary
- boundary value
- identifier
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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为一个实施例中兴趣匹配方法的订阅区域映射至兴趣管理树的三种情况的示意图;
图6为一个实施例中兴趣匹配方法中更新区域范围与兴趣管理树匹配的示意图;
图7为再一个实施例中兴趣匹配方法的流程示意图;
图8为一个实施例中兴趣匹配装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的兴趣匹配方法,可以应用于如图1所示的应用环境中。其中,第一终端102和第二终端104通过网络与服务器106进行通信,服务器106在获取第一终端104发布的订阅区域,遍历路由空间的维度,将订阅区域映射至路由空间各个维度的兴趣管理树;确定订阅区域的映射位置在兴趣管理树中对应的节点,将订阅区域的标识写入节点的订阅区域标识集;服务器106在获取到第二终端发布的更新区域时,获取更新区域的边界队列,边界队列包括更新区域各维度对应的边界值,各边界值按数值大小进行排列,在每一维度的兴趣管理树中,根据边界队列中的各边界值在兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与更新区域匹配的目标订阅区域标识,归集各个维度与更新区域匹配的目标订阅区域标识,确定与更新区域匹配的订阅区域。最后,将兴趣匹配结果中与更新区域匹配的订阅区域反馈至第二终端104,以使第二终端104将对应的更新数据推送至第一终端。第一终端102和第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机等平板电脑,服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可以理解,在其他实施例中,第一终端和第二终端所执行的数据处理过程可以由同一个终端来实现,即该终端既可以实现订阅区域对应数据的发布,又可以实现更新区域对应数据的发布、以及接收更新区域与订阅区域的匹配结果的功能。
在一个实施例中,如图2所示,提供了一种兴趣匹配方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤202至步骤210。
步骤202,遍历路由空间的维度,将订阅区域映射至路由空间各个维度的兴趣管理树。
路由空间(RouteSpace)由若干个维度组成。在路由空间中存在有订阅区域(subscriberegion)和更新区域(publish region)。其中,订阅区域是指数据消费者用于表示感兴趣数据的区域。更新区域是指数据生产者用于表示所产生数据的区域。路由空间的组成维度是指将路由空间按设定的维度划分规则进行划分的结果,维度是非负整数区间,由一个有序整数对定义,其下界为0。在实施例中,可以将路由空间划分为0-N(N为正整数)维。订阅区域的匹配对象是更新区域。订阅区域的数量可以是一个,也可以是至少两个。多个订阅区域的映射处理过程相同,对于每一个订阅区域,按组成维度确定订阅区域在每一维度对应的订阅范围。
对于本申请中的维度、范围、区间的联系,说明如下:范围是一个连续整数的半开区间,是维度的子集,由一个有序整数对来定义,整数对的第一个数称为范围下界,第二个数称为范围上界,范围上界严格大于范围下界,其差至少为1。区域是多个范围构成的集合,区域的维度就是其所包含范围所属的维度,在一个区域的每个维度上最多只有一个范围。各维度的映射订阅区域即为该订阅区域在各维度对应的订阅范围。无论是订阅区域映射,还是更新区域匹配,都是按照每个维度独立来开展,为简化描述且不失一般性,下文各实施例中仅按照一个维来论述匹配算法,因此,不加区分的使用区域和范围。
在实施例中,对于订阅区域(订阅范围)S而言,记LS为其下界,US为其上界;对于更新区域(更新范围)U而言,记LU为其下界,UU为其上界。此外,每个更新区域和订阅区域都有一个唯一的ID(Identity document,身份标识号)作为标识。
在每一组成维度,存在对应的兴趣管理树,订阅区域将每一维度对应的订阅范围映射至该维度对应的兴趣管理树,具体来说,兴趣管理树可以是满二叉树。
在一个实施例中,如图3所示,遍历路由空间的维度,将订阅区域映射至路由空间各个维度的兴趣管理树之前,还包括步骤302至步骤306。
步骤302,获取满二叉树的层级数量参数和预设的维度范围。
步骤304,根据层级数量参数,对维度范围进行层级划分,得到多个节点,其中,多个节点管理的半开区间范围构成维度范围。
步骤306,根据划分的满二叉树,得到维度范围对应维度的兴趣管理树。
满二叉树是指除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。兴趣管理树的每一个节点包含三类映射标识集,分别为上界标识集、覆盖标识集以及下界标识集,分别用于存储订阅范围的上界和下界落入该节点范围的订阅范围标识。
在实施例中,对于路由空间的每一个维,算法设计了兴趣管理树进行组织管理,如图4所示。兴趣管理树T是一棵“满二叉树”,它的每个节点IMNode管理一个半开区间。假设维的范围为[0,L),T的高度(或层级)为h,那么该兴趣管理树总共有2h-1个节点。其中,第i层(i=0,1,...,h-1)共有2i个IMNode。IMNodei,j表示第i层、第j个节点,其管理的区间为[2- iLj,2-iL(j+1),区间长度为2-iL。
步骤204,确定订阅区域的映射位置在兴趣管理树中对应的节点,将订阅区域的标识写入节点的订阅区域标识集。
订阅区域映射至兴趣管理树时,会根据订阅范围的长度计算出其在兴趣管理树的层次,确保订阅范围的长度大于等于该层节点所管理区间的长度,小于上一层节点的管理长度,如图5所示。一方面,由于订阅范围的长度大于等于该层节点所管理区间的长度,其下界和上界必然位于不同的两个节点中(例如图5中的S2、S3),或者与某个区间的下界和上界完全重合(例如图5中的S1);另一方面,根据兴趣管理树的设定,上一层节点所管理区间的长度是本层长度的两倍,而订阅范围的长度小于上一层节点的管理长度,所以订阅范围不可能完全包含两个节点管理的区间。在确认层次后,需要计算订阅范围与哪些节点相交,从而确定订阅区域的映射位置在兴趣管理树中对应的节点。
在其中一个实施例中,每个节点包含用作数据容器的订阅区域标识集,订阅区域标识集中的订阅区域标识可以按键值大小进行排列,键值包括订阅区域标识的边界值,具体来说,上界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域上边界值,下界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域下边界值。
在一个实施例中,每个节点IMNode包含三个数据容器作为该节点的订阅区域标识集,订阅区域标识集分别为下界标识集lowerBslist,上界标识集upperBslist和覆盖标识集coverRanges。
在一个具体的实施例中,lowerBslist是一个以订阅范围(订阅区域在该维度的范围)下界LS为键值、订阅区域ID为元素的红黑树,用于存储所有下界落入该节点的订阅区域信息;upperBslist是一个以订阅范围上界US为键值、订阅区域ID为元素的红黑树,用于存储所有上界落入该节点的订阅区域信息;coverRanges是以订阅区域ID为键值的哈希集合,用于存储所有覆盖该节点范围的订阅区域信息。通过计算订阅范围与哪些节点IMNode相交,并根据相交的具体情况,把订阅区域ID对应加入到这些IMNode的lowerBslist,upperBslist和coverRanges中。
在一个具体的实施例中,兴趣管理树T初始时,只有一层和一个节点。因此,如果订阅范围的长度比叶子节点的区间长度小,则需要对兴趣管理树扩展。然后,算法确定订阅范围所在的层次1,确保订阅范围的长度大于等于该层节点管理长度,小于上一层节点的管理长度,即
接着,计算lsid和usid。其中,lsid表示订阅范围的下界LSi所在的IMNode的序号,usid表示订阅范围的上界USi所在的IMNode的序号,计算方法如下:
根据前述相交关系的分析,可知0≤usid-lsid≤2。将(LSi,Si.ID)即订阅范围的下边界值和订阅区域标识加入到IMNodel,lsid(下边界值所在的节点)的lowerBslist中,并且,将(USi,Si.ID)即订阅范围的上边界值和订阅区域标识加入到IMNodel,luid(上边界值所在的节点)的upperBslist中;如果usid-lsid=2,意味着订阅范围完全覆盖了IMNodel,lsid+1所管理的区间。因此,还需要将Si.ID加入到IMNodel,lsid+1的coverRanges中。
在完成订阅区域映射后,所有的订阅范围的信息都被嵌入到兴趣管理树T中。后续更新区域在每一维度中更新范围与订阅区域在每一维度的订阅范围的匹配计算可完全基于兴趣管理树开展。基于上述订阅区域的映射方式可知有如下两条特性。
特性1:若订阅区域在某一维度的订阅范围S属于IMNodeii的upperBslist中,那么存在两种可能:(a)S属于IMNodei,j-1的lowerBslist;(b)S属于IMNodei,j-2的lowerBslist且S属于IMNodei,j-1的coverRanges。
特性2:若订阅区域在某一维度的订阅范围S属于IMNodeii的coverRanges中,那么,S属于IMNodei,j+1的upperBslist且S属于其IMNodei,j-1的lowerBslist。
步骤206,获取更新区域的边界队列。
边界队列包括更新区域各维度对应的边界值,各边界值按数值大小进行排列。
通过将更新区域中各个维度的边界值按大小顺序进行排列,得到的数据排列结果即为边界队列。在实施例中,边界值包括下边界值和上边界值,在进行排序处理时,不区分上下边界,在同一个队列中按数值大小进行排序。
步骤208,在每一维度的兴趣管理树中,根据边界队列中的各边界值在兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与更新区域匹配的目标订阅区域标识。
由于兴趣管理树嵌入了订阅区域的所有信息,更新区域与订阅区域的匹配计算可以完全转化为更新区域与兴趣管理树的匹配。算法将从兴趣管理树的叶子节点层开始,在每一层中将更新区域与所有相交的IMNode进行比较,直到兴趣管理树的根节点。图6以一个更新区域作为例子展示了匹配的过程。同时,也解释了哪些多余的重复计算可以被剔除。根据IMNode的设计,研究人员发现:
第一,若更新区域在该维度中的更新范围U的下界与IMNode相交(例如,图6中的U与IMNode21),那么upperBslist中键值比LU大的订阅区域与U重叠,lowerBslist和coverRanges中的所有订阅区域与U重叠;
第二,若U包含了与IMNode管理的区间(例如,图6中的U与IMNode22),那么lowerBslist、upperBslist和coverRanges中的所有订阅区域与U重叠;
第三,若U的上界与IMNode相交(例如,图6中的U与IMNode23),那么lowerBslist中键值比LU大的订阅区域与U重叠,upperBslist和coverRanges中的所有订阅区域与U重叠。
上述处理能够计算出所有的重叠情况,但也存在较多不必要的重复比较。事实上,图6中虚线框中的订阅区域都是不需要进行匹配计算的。例如,属于IMNode22的upperBslist的某个订阅区域S1,根据第二条规则与U重叠。然而,根据特性1,存在两种可能:(a)S1属于IMNode21的lowerBslist;(b)S1属于IMNode21的coverRanges。无论哪种情况,都在U与IMNode21的比较中被计算过了。同样,属于IMNode22的coverRanges的某个订阅区域S2,必然与U重叠。然而,根据特性2,S2必然属于IMNode21的lowerBslist,也在U与IMNode21的比较中计算过了。
基于此,研究人员在发现了兴趣匹配效率的契机之后,为了进一步提高兴趣匹配效率,减少数据处理过程中的计算资源的消耗,提出了基于更新区域的边界值的比较来实现匹配,以消除重复比较后的排序匹配的处理方式。
具体来说,UpdateSet中更新区域的上下界被从小到大的顺序存储在一个UpdateBoundList中。UpdateBoundList是一个以更新区域下界LU或上界UU为键值、更新区域ID为元素的红黑树。从兴趣匹配树的叶子节点层开始,不断将UpdateBoundList中的项与每一层相交的IMNode进行比较。
在一个实施例中,如图7所示,根据边界队列中的各边界值在兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与更新区域匹配的目标订阅区域标识包括步骤702至步骤712。
具体来说,是针对该维度中的兴趣管理树中从叶子节点层开始到根节点的每一个层级都执行以下步骤。
步骤702,将边界列表中数值最小的边界值作为当前处理边界值。
步骤704,根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点;
步骤706,获取目标节点的订阅区域标识集,从订阅区域标识集确定与当前处理边界值匹配的订阅区域标识;
步骤708,确定边界列表中与当前处理边界值的排序位置相邻的未处理边界值;
步骤710,当边界列表中包含未处理的边界值时,将未处理边界值作为最新的当前处理边界值,并返回步骤704;
步骤712,当边界列表中不包含未处理的边界值时,根据各边界值所在的维度,归集各维度匹配的订阅区域标识,得到兴趣管理树中与更新区域匹配的目标订阅区域标识。
当前处理边界值包括下边界值和上边界值,按照更新区域的边界队列中的边界值顺序,依次将各个边界值作为当前处理边界值,确定与当前处理边界值对应的目标节点。由于兴趣管理树中的每一个节点管理一个数据区间,根据当前处理边界值所在的数据区间,确定当前处理边界值所在的目标节点。
在兴趣管理树的每一个节点,都有对应的订阅区域标识集,订阅区域标识集包括下界标识集、上界标识集和覆盖标识集,根据当前处理边界值具体为下边界值还是上边界值,从下界标识集、上界标识集或覆盖标识集中得到与当前处理边界值匹配的订阅区域标识。按照顺序对每一个边界值都执行相同的处理,得到每一个边界值匹配的订阅区域标识,即每一个维度的更新区域匹配的订阅区域标识。最后,通过对各维度匹配的订阅区域标识取交集,得到兴趣管理树中与更新区域匹配的目标订阅区域标识。
在实施例中,为避免重复比较处理,对于下边界值,只需要与该节点中的订阅区域上边界值进行比较,对于上边界值,只需要与该节点中的订阅区域下边界值进行比较,并在比较过程中,将比较过的下边界值对应的更新区域标识添加到临时的标识队列,将比较过的上边界值对应的更新区域标识从临时的标识队列中移除,需要强调的是,每更换一次目标节点,确定与该节点对一个的标识队列中的更新区域标识,处于该节点中的各项订阅区域下边界值所对应的订阅区域标识,都是与标识队列中的更新区域标识匹配的,以确保相同的数据只需要比较一次,得到匹配结果。
在一个实施例中,当前处理边界值为下边界值时;获取目标节点的订阅区域标识集,从订阅区域标识集确定与当前处理边界值匹配的订阅区域标识包括:获取目标节点的订阅区域标识集中的上界标识集和覆盖标识集,上界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域上边界值;将下边界值与上界标识集中的键值进行比较,筛选键值大于下边界值的订阅区域标识;根据筛选得到的区订阅域标识以及覆盖标识集中的各项订阅区域标识,确定与下边界值匹配的目标订阅区域标识。
对于下边界值,只需要与该节点中的订阅区域上边界值进行比较,即将下边界值与上界标识集中的键值进行比较,即可确定上界标识集中与该下边界值对应更新区域存在相交区域的订阅区域。由于覆盖标识集是包括涵盖该节点对应管理范围的,所以,该节点中的覆盖标识集中所有的订阅区域标识对应的订阅区域都是与该下边界值对应更新区域存在相交区域的。
在一个实施例中,当前处理边界值为上边界值时;获取目标节点的订阅区域标识集,从订阅区域标识集确定与当前处理边界值匹配的订阅区域标识包括:获取目标节点的订阅区域标识集中的下界标识集,下界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域下边界值;将上边界值与下界标识集中的键值进行比较,筛选键值不小于更新区域的上边界值的订阅区域标识,得到与上边界值匹配的目标订阅区域标识。
对于上边界值,只需要与该节点中的订阅区域下边界值进行比较,即将上边界值与下界标识集中的键值进行比较,即可确定下界标识集中与该上边界值对应更新区域存在相交区域的订阅区域,即下界标识集中键值不小于更新区域的上边界值的订阅区域标识对应的订阅区域。
在一个实施例中,根据各边界值所在的维度以及匹配的订阅区域标识,得到兴趣管理树中与更新区域匹配的目标订阅区域标识之前,还包括:获取兴趣管理树中与节点对应的标识队列,标识队列包括边界列表中的一个或多个(≥2)边界值对应的更新区域标识;获取节点对应的订阅区域标识集中的下界标识集,得到标识队列中的更新区域标识所在维度匹配的目标订阅区域标识。
在其中一个实施例中,确定边界列表中与当前处理边界值的排序位置相邻的未处理边界值之前,还包括:当当前处理边界值为下边界值时,将下边界值对应的更新区域标识添加至标识队列;当当前处理边界值为上边界值,且标识队列中包含上边界值对应更新区域标识时,从标识队列中将更新区域标识移除。
通过将下边界值对应更新区域标识添加到标识队列,将上边界值对应更新区域标识从标识队列移除,该更新区域标识在标识队列中存在时对应的各个节点所管理的范围,均为该更新区域标识对应更新区域包含的范围,因此,可以确定订阅区域下边界值处于该范围中的订阅区域都是与该更新区域标识对应的更新区域匹配的,既避免了数据的遗漏,又避免了数据的重复比较处理。
在一个具体的实施例中,更新区域的上下界根据数值大小按从小到大的顺序存储在一个UpdateBoundList中。UpdateBoundList是一个以更新区域下界LU或上界UU为键值、更新区域ID为元素的红黑树。从叶子节点层开始,不断将UpdateBoundList中的项与每一层相交的IMNode进行比较。在每一层中,算法用left和right分别表示与UpdateBoundList的更新范围相交的最左和最右IMNode的编号,具体比较过程分为如下三个步骤:
第一步,如果端点ub是更新区域的下界,则在upperBslistli中找到第一个键值大于ub的项。那么,ub对应的更新区域与upperBslistli中从该项开始所有订阅区域相交。同时,ub对应的更新区域与coverRangesli中所有的订阅区域相交。之后,还需要将ub加入到一个临时队列newinBList中;
第二步,如果端点ub是更新区域的上界,则在lowerBslistli中找到第一个键值大于等于ub的项。那么,ub对应的更新区域与lowerBslistli中从开始到该项的所有订阅区域相交。之后,还需要把newinBList中的ub移除;
第三步,在上述步骤完成后,可以确定仍在newinBList中的项与lowerBslistli中的订阅区域相交。
由于UpdateBoundList中的元素按从小到大的顺序排列,所以当ub是下界时,在和upperBslistli进行比较时,不需要每次从头开始重新比较,而是从上次比较结束的位置开始即可。同理,当ub是上界时,在和lowerBslistli进行比较时,也不需要每次从头开始,而是从上次比较结束的位置开始即可。
进一步,可以将UpdateSet中更新区域分为多个UpdateBoundList,并行地将这些UpdateBoundList与兴趣管理树进行匹配,从而提高匹配效率。由于整个匹配过程中,只涉及到对兴趣管理树的共享读操作,所以并行匹配的过程不需要加锁。
步骤210,归集各个维度与更新区域匹配的目标订阅区域标识,确定与更新区域匹配的订阅区域。
每个维度的兴趣匹配都可以独立进行,在确定了对各个维度中与更新区域匹配的目标订阅区域标识后,基于兴趣匹配的本质判断更新区域和订阅区域是否重叠,对各个维度中与更新区域匹配的目标订阅区域标识进行归集来确定在整个路由空间中与更新区域匹配的订阅区域。其中区域重叠可以理解为两区域重叠当且仅当这两个区域的所有公共维度上的范围重叠,如果两个区域没有公共维度则不重叠。
在其中一个实施例中,归集各个维度的目标订阅区域标识,确定与更新区域匹配的订阅区域包括:获取每一维度中与更新区域匹配的订阅区域。对获取的各维度的订阅区域,按订阅区域标识进行取交集处理,得到与更新区域匹配的订阅区域。
通过对各个维度的订阅区域标识进行取交集处理,可以得到在各个维度均存在重叠的更新区域与订阅区域,从而得到兴趣匹配结果。
上述兴趣匹配方法,将匹配过程拆分为多个维度的匹配,通过将订阅区域映射至路由空间中的各个维度的兴趣管理树,将更新区域与订阅区域的匹配转化为更新区域与兴趣管理树的匹配问题,同时,在匹配过程中,从更新区域各维度对应的按边界值数值大小进行排序的边界队列入手,根据边界值在兴趣管理树中对应的目标节点,来获取与边界值匹配的目标订阅区域标识,基于排序处理的边界值,通过边界值与目标节点的比较,可以避免不必要的重复比较处理,提高每个维度中的确定目标订阅区域标识的效率,最后归集各个维度的目标订阅区域标识,确定与更新区域匹配的订阅区域,从而从整体上减少计算资源的消耗,提高兴趣匹配的数据处理效率。
应该理解的是,虽然图2-3、图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3、图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种兴趣匹配装置,包括:映射模块802、标识写入模块804、边界队列获取模块806、目标订阅区域标识获取模块808和归集处理模块810,其中:
映射模块802,用于遍历路由空间的维度,将订阅区域映射至路由空间各个维度的兴趣管理树;
标识写入模块804,用于确定订阅区域的映射位置在兴趣管理树中对应的节点,将订阅区域的标识写入节点的订阅区域标识集;
边界队列获取模块806,用于获取更新区域的边界队列,边界队列包括更新区域各维度对应的边界值,各边界值按数值大小进行排列;
目标订阅区域标识获取模块808,用于在每一维度的兴趣管理树中,根据边界队列中的各边界值在兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与更新区域匹配的目标订阅区域标识;
归集处理模块810,用于归集各个维度与更新区域匹配的目标订阅区域标识,确定与更新区域匹配的订阅区域。
在其中一个实施例中,目标订阅区域标识获取模块还用于将边界列表中数值最小的边界值作为当前处理边界值;根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点;获取目标节点的订阅区域标识集,从订阅区域标识集确定与当前处理边界值匹配的订阅区域标识;确定边界列表中与当前处理边界值的排序位置相邻的未处理边界值;将未处理边界值作为最新的当前处理边界值,并返回根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点的步骤,直至边界列表中不包含未处理的边界值;根据各边界值所在的维度,归集各维度匹配的订阅区域标识,得到兴趣管理树中与更新区域匹配的目标订阅区域标识。
在其中一个实施例中,当前处理边界值包括下边界值;目标订阅区域标识获取模块还用于获取目标节点的订阅区域标识集中的上界标识集和覆盖标识集,上界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域上边界值;将下边界值与上界标识集中的键值进行比较,筛选键值大于下边界值的订阅区域标识;根据筛选得到的订阅区域标识以及覆盖标识集中的各项订阅区域标识,确定与下边界值匹配的目标订阅区域标识。
在其中一个实施例中,当前处理边界值包括上边界值;目标订阅区域标识获取模块还用于获取目标节点的订阅区域标识集中的下界标识集,下界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域下边界值;将上边界值与下界标识集中的键值进行比较,筛选键值不小于更新区域的上边界值的订阅区域标识,得到与上边界值匹配的目标订阅区域标识。
在其中一个实施例中,目标订阅区域标识获取模块还用于获取兴趣管理树中与节点对应的标识队列,标识队列包括边界列表中的一个或多个边界值对应的更新区域标识;获取节点对应的订阅区域标识集中的下界标识集,得到标识队列中的更新区域标识所在维度匹配的目标订阅区域标识。
在其中一个实施例中,目标订阅区域标识获取模块还用于当当前处理边界值为下边界值时,将下边界值对应的更新区域标识添加至标识队列;当当前处理边界值为上边界值,且标识队列中包含上边界值对应更新区域标识时,从标识队列中将更新区域标识移除。
在其中一个实施例中,归集处理模块还用于根据每一维度兴趣管理树,获取每一维度中与更新区域匹配的订阅区域;将各维度的订阅区域标识进行取交集处理,得到与更新区域匹配的订阅区域。
上述兴趣匹配装置,将匹配过程拆分为多个维度的匹配,通过将订阅区域映射至路由空间中的各个维度的兴趣管理树,将更新区域与订阅区域的匹配转化为更新区域与兴趣管理树的匹配问题,同时,在匹配过程中,从更新区域各维度对应的按边界值数值大小进行排序的边界队列入手,根据边界值在兴趣管理树中对应的目标节点,来获取与边界值匹配的目标订阅区域标识,基于排序处理的边界值,通过边界值与目标节点的比较,可以避免不必要的重复比较处理,提高每个维度中的确定目标订阅区域标识的效率,最后归集各个维度的目标订阅区域标识,确定与更新区域匹配的订阅区域,从而从整体上减少计算资源的消耗,提高兴趣匹配的数据处理效率。
关于兴趣匹配装置的具体限定可以参见上文中对于兴趣匹配方法的限定,在此不再赘述。上述兴趣匹配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储兴趣管理树和订阅区域与更新区域的兴趣匹配过程中的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种兴趣匹配方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
遍历路由空间的维度,将订阅区域映射至路由空间各个维度的兴趣管理树;确定订阅区域的映射位置在兴趣管理树中对应的节点,将订阅区域的标识写入节点的订阅区域标识集;获取更新区域的边界队列,边界队列包括更新区域各维度对应的边界值,各边界值按数值大小进行排列;在每一维度的兴趣管理树中,根据边界队列中的各边界值在兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与更新区域匹配的目标订阅区域标识;归集各个维度与更新区域匹配的目标订阅区域标识,确定与更新区域匹配的订阅区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将边界列表中数值最小的边界值作为当前处理边界值;根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点;获取目标节点的订阅区域标识集,从订阅区域标识集确定与当前处理边界值匹配的订阅区域标识;确定边界列表中与当前处理边界值的排序位置相邻的未处理边界值;将未处理边界值作为最新的当前处理边界值,并返回根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点的步骤,直至边界列表中不包含未处理的边界值;根据各边界值所在的维度,归集各维度匹配的订阅区域标识,得到兴趣管理树中与更新区域匹配的目标订阅区域标识。
在其中一个实施例中,当前处理边界值包括下边界值;处理器执行计算机程序时还实现以下步骤:
获取目标节点的订阅区域标识集中的上界标识集和覆盖标识集,上界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域上边界值;将下边界值与上界标识集中的键值进行比较,筛选键值大于下边界值的订阅区域标识;根据筛选得到的订阅区域标识以及覆盖标识集中的各项订阅区域标识,确定与下边界值匹配的目标订阅区域标识。
在其中一个实施例中,当前处理边界值包括上边界值;处理器执行计算机程序时还实现以下步骤:
获取目标节点的订阅区域标识集中的下界标识集,下界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域下边界值;将上边界值与下界标识集中的键值进行比较,筛选键值不小于更新区域的上边界值的订阅区域标识,得到与上边界值匹配的目标订阅区域标识。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取兴趣管理树中与节点对应的标识队列,标识队列包括边界列表中的一个或多个边界值对应的更新区域标识;获取节点对应的订阅区域标识集中的下界标识集,得到标识队列中的更新区域标识所在维度匹配的目标订阅区域标识。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
当当前处理边界值为下边界值时,将下边界值对应的更新区域标识添加至标识队列;当当前处理边界值为上边界值,且标识队列中包含上边界值对应更新区域标识时,从标识队列中将更新区域标识移除。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据每一维度兴趣管理树,获取每一维度中与更新区域匹配的订阅区域;将各维度的订阅区域标识进行取交集处理,得到与更新区域匹配的订阅区域。
上述用于实现兴趣匹配方法的计算机设备,将匹配过程拆分为多个维度的匹配,通过将订阅区域映射至路由空间中的各个维度的兴趣管理树,将更新区域与订阅区域的匹配转化为更新区域与兴趣管理树的匹配问题,同时,在匹配过程中,从更新区域各维度对应的按边界值数值大小进行排序的边界队列入手,根据边界值在兴趣管理树中对应的目标节点,来获取与边界值匹配的目标订阅区域标识,基于排序处理的边界值,通过边界值与目标节点的比较,可以避免不必要的重复比较处理,提高每个维度中的确定目标订阅区域标识的效率,最后归集各个维度的目标订阅区域标识,确定与更新区域匹配的订阅区域,从而从整体上减少计算资源的消耗,提高兴趣匹配的数据处理效率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
遍历路由空间的维度,将订阅区域映射至路由空间各个维度的兴趣管理树;确定订阅区域的映射位置在兴趣管理树中对应的节点,将订阅区域的标识写入节点的订阅区域标识集;获取更新区域的边界队列,边界队列包括更新区域各维度对应的边界值,各边界值按数值大小进行排列;在每一维度的兴趣管理树中,根据边界队列中的各边界值在兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与更新区域匹配的目标订阅区域标识;归集各个维度与更新区域匹配的目标订阅区域标识,确定与更新区域匹配的订阅区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将边界列表中数值最小的边界值作为当前处理边界值;根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点;获取目标节点的订阅区域标识集,从订阅区域标识集确定与当前处理边界值匹配的订阅区域标识;确定边界列表中与当前处理边界值的排序位置相邻的未处理边界值;将未处理边界值作为最新的当前处理边界值,并返回根据当前处理边界值的数值大小,确定当前处理边界值在兴趣管理树中对应的目标节点的步骤,直至边界列表中不包含未处理的边界值;根据各边界值所在的维度,归集各维度匹配的订阅区域标识,得到兴趣管理树中与更新区域匹配的目标订阅区域标识。
在其中一个实施例中,当前处理边界值包括下边界值;计算机程序被处理器执行时还实现以下步骤:
获取目标节点的订阅区域标识集中的上界标识集和覆盖标识集,上界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域上边界值;将下边界值与上界标识集中的键值进行比较,筛选键值大于下边界值的订阅区域标识;根据筛选得到的订阅区域标识以及覆盖标识集中的各项订阅区域标识,确定与下边界值匹配的目标订阅区域标识。
在其中一个实施例中,当前处理边界值包括上边界值;计算机程序被处理器执行时还实现以下步骤:
获取目标节点的订阅区域标识集中的下界标识集,下界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域下边界值;将上边界值与下界标识集中的键值进行比较,筛选键值不小于更新区域的上边界值的订阅区域标识,得到与上边界值匹配的目标订阅区域标识。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取兴趣管理树中与节点对应的标识队列,标识队列包括边界列表中的一个或多个边界值对应的更新区域标识;获取节点对应的订阅区域标识集中的下界标识集,得到标识队列中的更新区域标识所在维度匹配的目标订阅区域标识。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当当前处理边界值为下边界值时,将下边界值对应的更新区域标识添加至标识队列;当当前处理边界值为上边界值,且标识队列中包含上边界值对应更新区域标识时,从标识队列中将更新区域标识移除。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据每一维度兴趣管理树,获取每一维度中与更新区域匹配的订阅区域;将各维度的订阅区域标识进行取交集处理,得到与更新区域匹配的订阅区域。
上述用于实现兴趣匹配方法的计算机可读存储介质,将匹配过程拆分为多个维度的匹配,通过将订阅区域映射至路由空间中的各个维度的兴趣管理树,将更新区域与订阅区域的匹配转化为更新区域与兴趣管理树的匹配问题,同时,在匹配过程中,从更新区域各维度对应的按边界值数值大小进行排序的边界队列入手,根据边界值在兴趣管理树中对应的目标节点,来获取与边界值匹配的目标订阅区域标识,基于排序处理的边界值,通过边界值与目标节点的比较,可以避免不必要的重复比较处理,提高每个维度中的确定目标订阅区域标识的效率,最后归集各个维度的目标订阅区域标识,确定与更新区域匹配的订阅区域,从而从整体上减少计算资源的消耗,提高兴趣匹配的数据处理效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种兴趣匹配方法,其特征在于,所述方法包括:
遍历路由空间的维度,将订阅区域映射至所述路由空间各个维度的兴趣管理树;
确定所述订阅区域的映射位置在所述兴趣管理树中对应的节点,将所述订阅区域的标识写入所述节点的订阅区域标识集;
获取更新区域的边界队列,所述边界队列包括更新区域各维度对应的边界值,各所述边界值按数值大小进行排列;
在每一维度的兴趣管理树中,根据所述边界队列中的各边界值在所述兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与所述更新区域匹配的目标订阅区域标识;
归集各个维度与所述更新区域匹配的目标订阅区域标识,确定与所述更新区域匹配的订阅区域。
2.根据权利要求1所述的方法,其特征在于,所述根据所述边界队列中的各边界值在所述兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与所述更新区域匹配的目标订阅区域标识包括:
将所述边界列表中数值最小的边界值作为当前处理边界值;
根据当前处理边界值的数值大小,确定所述当前处理边界值在所述兴趣管理树中对应的目标节点;
获取所述目标节点的订阅区域标识集,从所述订阅区域标识集确定与所述当前处理边界值匹配的订阅区域标识;
确定所述边界列表中与所述当前处理边界值的排序位置相邻的未处理边界值;
将所述未处理边界值作为最新的当前处理边界值,并返回所述根据当前处理边界值的数值大小,确定所述当前处理边界值在所述兴趣管理树中对应的目标节点的步骤,直至所述边界列表中不包含未处理的边界值;
根据各边界值所在的维度,归集各维度匹配的订阅区域标识,得到所述兴趣管理树中与所述更新区域匹配的目标订阅区域标识。
3.根据权利要求2所述的方法,其特征在于,所述当前处理边界值包括下边界值;
所述获取所述目标节点的订阅区域标识集,从所述订阅区域标识集确定与所述当前处理边界值匹配的订阅区域标识包括:
获取所述目标节点的订阅区域标识集中的上界标识集和覆盖标识集,所述上界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域上边界值;
将所述下边界值与所述上界标识集中的键值进行比较,筛选键值大于所述下边界值的订阅区域标识;
根据筛选得到的订阅区域标识以及所述覆盖标识集中的各项订阅区域标识,确定与所述下边界值匹配的目标订阅区域标识。
4.根据权利要求2所述的方法,其特征在于,所述当前处理边界值包括上边界值;
所述获取所述目标节点的订阅区域标识集,从所述订阅区域标识集确定与所述当前处理边界值匹配的订阅区域标识包括:
获取所述目标节点的订阅区域标识集中的下界标识集,所述下界标识集中的订阅区域标识的键值为订阅区域标识对应的订阅区域下边界值;
将所述上边界值与所述下界标识集中的键值进行比较,筛选键值不小于所述更新区域的上边界值的订阅区域标识,得到与所述上边界值匹配的目标订阅区域标识。
5.根据权利要求2所述的方法,其特征在于,所述根据各边界值所在的维度以及匹配的订阅区域标识,得到所述兴趣管理树中与所述更新区域匹配的目标订阅区域标识之前,还包括:
获取所述兴趣管理树中与节点对应的标识队列,所述标识队列包括所述边界列表中的一个或多个边界值对应的更新区域标识;
获取所述节点对应的订阅区域标识集中的下界标识集,得到所述标识队列中的更新区域标识所在维度匹配的目标订阅区域标识。
6.根据权利要求5所述的方法,其特征在于,所述确定所述边界列表中与所述当前处理边界值的排序位置相邻的未处理边界值之前,还包括:
当所述当前处理边界值为下边界值时,将所述下边界值对应的更新区域标识添加至标识队列;
当所述当前处理边界值为上边界值,且标识队列中包含所述上边界值对应更新区域标识时,从所述标识队列中将所述更新区域标识移除。
7.根据权利要求1所述的方法,其特征在于,所述归集各个维度与所述更新区域匹配的目标订阅区域标识,确定与所述更新区域匹配的订阅区域包括:
获取每一维度中与更新区域匹配的订阅区域;
对获取的各维度的订阅区域,按订阅区域标识进行取交集处理,得到与更新区域匹配的订阅区域。
8.一种兴趣匹配装置,其特征在于,所述装置包括:
映射模块,用于遍历路由空间的维度,将订阅区域映射至所述路由空间各个维度的兴趣管理树;
标识写入模块,用于确定所述订阅区域的映射位置在所述兴趣管理树中对应的节点,将所述订阅区域的标识写入所述节点的订阅区域标识集;
边界队列获取模块,用于获取更新区域的边界队列,所述边界队列包括更新区域各维度对应的边界值,各所述边界值按数值大小进行排列;
目标订阅区域标识获取模块,用于在每一维度的兴趣管理树中,根据所述边界队列中的各边界值在所述兴趣管理树中对应的目标节点,从各目标节点的订阅区域标识集中获取与所述更新区域匹配的目标订阅区域标识;
归集处理模块,用于归集各个维度与所述更新区域匹配的目标订阅区域标识,确定与所述更新区域匹配的订阅区域。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010690799.7A CN111884940B (zh) | 2020-07-17 | 2020-07-17 | 兴趣匹配方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010690799.7A CN111884940B (zh) | 2020-07-17 | 2020-07-17 | 兴趣匹配方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111884940A true CN111884940A (zh) | 2020-11-03 |
CN111884940B CN111884940B (zh) | 2022-03-22 |
Family
ID=73155773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010690799.7A Active CN111884940B (zh) | 2020-07-17 | 2020-07-17 | 兴趣匹配方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111884940B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059165A1 (en) * | 2004-09-13 | 2006-03-16 | Solace Systems, Inc. | Highly scalable subscription matching for a content routing network |
US20120088981A1 (en) * | 2010-10-07 | 2012-04-12 | Siemens Medical Solutions Usa, Inc. | Matching of Regions of Interest Across Multiple Views |
CN105550282A (zh) * | 2015-12-10 | 2016-05-04 | 成都陌云科技有限公司 | 利用多维数据预测用户兴趣的方法 |
CN108197138A (zh) * | 2017-11-21 | 2018-06-22 | 北京邮电大学 | 在发布/订阅系统中发布信息匹配订阅信息的方法及系统 |
CN108763293A (zh) * | 2018-04-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 基于语义理解的兴趣点查询方法、装置和计算机设备 |
CN108829932A (zh) * | 2018-05-22 | 2018-11-16 | 中国人民解放军国防科技大学 | 兴趣匹配方法、装置、计算机设备和存储介质 |
CN111144952A (zh) * | 2019-12-31 | 2020-05-12 | 随手(北京)信息技术有限公司 | 基于用户兴趣的广告推荐方法、装置、服务器及存储介质 |
CN111291085A (zh) * | 2020-01-15 | 2020-06-16 | 中国人民解放军国防科技大学 | 层次化兴趣匹配方法、装置、计算机设备和存储介质 |
CN111324724A (zh) * | 2020-02-13 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、电子设备和计算机可读存储介质 |
-
2020
- 2020-07-17 CN CN202010690799.7A patent/CN111884940B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059165A1 (en) * | 2004-09-13 | 2006-03-16 | Solace Systems, Inc. | Highly scalable subscription matching for a content routing network |
US20120088981A1 (en) * | 2010-10-07 | 2012-04-12 | Siemens Medical Solutions Usa, Inc. | Matching of Regions of Interest Across Multiple Views |
CN105550282A (zh) * | 2015-12-10 | 2016-05-04 | 成都陌云科技有限公司 | 利用多维数据预测用户兴趣的方法 |
CN108197138A (zh) * | 2017-11-21 | 2018-06-22 | 北京邮电大学 | 在发布/订阅系统中发布信息匹配订阅信息的方法及系统 |
CN108763293A (zh) * | 2018-04-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 基于语义理解的兴趣点查询方法、装置和计算机设备 |
CN108829932A (zh) * | 2018-05-22 | 2018-11-16 | 中国人民解放军国防科技大学 | 兴趣匹配方法、装置、计算机设备和存储介质 |
CN111144952A (zh) * | 2019-12-31 | 2020-05-12 | 随手(北京)信息技术有限公司 | 基于用户兴趣的广告推荐方法、装置、服务器及存储介质 |
CN111291085A (zh) * | 2020-01-15 | 2020-06-16 | 中国人民解放军国防科技大学 | 层次化兴趣匹配方法、装置、计算机设备和存储介质 |
CN111324724A (zh) * | 2020-02-13 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、电子设备和计算机可读存储介质 |
Non-Patent Citations (5)
Title |
---|
ELVIS S. LIU;GEORGIOS K.THEODOROPOULOS: "A Parallel Interest Matching Algorithm for Distributed-Memory Systems", 《2011 IEEE/ACM 15TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED SIMULATION AND REAL TIME APPLICATIONS》 * |
TIANLIN LI;WENJIE TANG;YIPING YAO;FENG ZHU: "An exponential search enhanced dynamic sort-based interest matching algorithm for interest management in distributed simulation", 《SIMULATION MODELLING PRACTICE AND THEORY》 * |
TIANLIN LI;WENJIE TANG;YIPING YAO;FENG ZHU;: "A Binary Search Enhanced Sort-based Interest Matching Algorithm", 《PROCEEDINGS OF THE 2018 ACM SIGSIM CONFERENCE ON PRINCIPLES OF ADVANCED DISCRETE SIMULATION》 * |
TIANLIN LI;WENJIE TANG;YIPING YAO;FENG ZHU;: "A SORT-BASED INTEREST MATCHING ALGORITHM WITH TWO EXCLUSIVE JUDGING CONDITIONS FOR REGION OVERLAP", 《A SORT-BASED INTEREST MATCHING ALGORITHM WITH TWO EXCLUSIVE JUDGING CONDITIONS FOR REGION OVERLAP》 * |
唐文杰;程俊玮;姚益平;朱峰: "一种基于共享存储的并行层次兴趣匹配算法", 《系统仿真学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111884940B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | Efficient map/reduce-based dbscan algorithm with optimized data partition | |
Cordova et al. | DBSCAN on resilient distributed datasets | |
CN112287182B (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
US10394782B2 (en) | Chord distributed hash table-based map-reduce system and method | |
Chatzimilioudis et al. | Distributed in-memory processing of all k nearest neighbor queries | |
Arnaiz-González et al. | MR-DIS: democratic instance selection for big data by MapReduce | |
WO2017118335A1 (zh) | 一种映射方法和设备 | |
CN116893904B (zh) | 神经网络模型的内存管理方法、装置、设备、介质及产品 | |
CN108920105B (zh) | 基于社区结构的图数据分布式存储方法及装置 | |
CN114969061A (zh) | 一种工业时序数据分布式存储方法、装置 | |
CN116414559A (zh) | 算力统一标识建模、分配的方法、存储介质及电子设备 | |
CN111291085B (zh) | 层次化兴趣匹配方法、装置、计算机设备和存储介质 | |
CN110609924A (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
He et al. | Parallel feature selection using positive approximation based on mapreduce | |
CN111884940B (zh) | 兴趣匹配方法、装置、计算机设备和存储介质 | |
CN112948345A (zh) | 一种基于云计算平台的大数据聚类方法 | |
Ma et al. | In-memory distributed indexing for large-scale media data retrieval | |
CN115473895B (zh) | 泛在环境下的数字对象仓库节点共识组划分方法和装置 | |
CN114443914B (zh) | 元宇宙空间服务器的数据索引、查询方法及系统 | |
CN112148942A (zh) | 基于数据聚类的业务指标数据分类方法及装置 | |
George et al. | Hadoop mapreduce for tactical clouds | |
Abdolazimi et al. | Connected components of big graphs in fixed mapreduce rounds | |
CN108829932A (zh) | 兴趣匹配方法、装置、计算机设备和存储介质 | |
CN113934377A (zh) | 一种元数据集群部署方法、装置、设备及可读存储介质 | |
Wang et al. | Multi-Granularity Decomposition for Componentized Multimedia Applications based on Graph Clustering |
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 |