CN102024053B - 同构对称发布订阅系统的近似环匹配方法 - Google Patents
同构对称发布订阅系统的近似环匹配方法 Download PDFInfo
- Publication number
- CN102024053B CN102024053B CN 201010594906 CN201010594906A CN102024053B CN 102024053 B CN102024053 B CN 102024053B CN 201010594906 CN201010594906 CN 201010594906 CN 201010594906 A CN201010594906 A CN 201010594906A CN 102024053 B CN102024053 B CN 102024053B
- Authority
- CN
- China
- Prior art keywords
- sum
- subscription
- formula
- pro
- probability
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种同构对称发布订阅系统的近似环匹配方法,属于计算机数据库领域,包括以下步骤:步骤1:计算订阅概率;步骤2:确定链订阅的长度,即抛出长度为MaxLength-1的链订阅;步骤3:设置过滤订阅的阈值并估算节省的存储空间;本发明同构对称发布订阅系统的近似环匹配方法,采用基于阈值的方法,能够在得到正确的结果的情况下,节省出大量的存储空间;当阈值设置为时,可以在节省超过50%的空间的情况下求解出约98%的结果;当阈值设置为时,可以在节省约90%的空间的情况下求解出约90%的结果。
Description
技术领域
本发明属于计算机数据库领域,特别涉及一种同构对称发布订阅系统的近似环匹配方法。
背景技术
发布订阅系统(HSPUB SUB)是一种使分布式系统中的各个参与者,以发布订阅的方式进行交互式通信的中间件系统,发布者除了发布信息(发布者拥有的),还需要具有选择订阅(发布者需求的)的能力,即发布和订阅的角色是对称的;同构对称发布订阅系统有着越来越广泛的应用,如医院间器官交换和房子交换等,其中,上面所述的同构对称是指:在对称的应用中,用户拥有和需求的信息采用相同的数据结构来描述;环匹配是发布订阅系统要解决的关键问题之一,根据订阅的索引结构,发布订阅的匹配方法可以分为如下四类:
基于一维索引:一维索引结构,如红黑树,哈希表,B+树等,用来索引订阅中定义的谓词并对符合条件的谓词进行计数;一般的,用相同的操作在相同的属性中定义的谓词被索引在一个索引结构中,主要有两种基于一维索引的方法:Count方法和Hanson方法;
基于多维索引:在多维空间中,一个订阅被视为一个对象,并且匹配操作和查找操作是相同的,主要思想是用多维索引来为订阅直接建立索引,或者把一个d维超立方体转换成2d维的点,从而避免多维空间中的严重交叉;
基于网络测试:基于测试网络的技术,首先把订阅信息存储到匹配树上,和谓词索引不同,网络测试技术根据订阅信息模块建立订阅信息索引树,每一个非叶子结点包含一个测试,该结点的边代表测试的结果,一个叶子节点包含一个订阅信息和代表测试结果的边,匹配就是通过执行每个结点描述的测试和跟踪测试结果形成的边来遍历这棵匹配树;
基于图:基于图匹配的基本观点,在有向图中找到环,该有向图由同构对称的发布订阅应用中的订阅建立,图中的每个结点代表一个订阅,如果订阅S1和S2匹配,就可以建立一条从S1到S2的带权有向边;
前三种匹配方法的目标是在订阅之间高效地找到一对一匹配,不能直接用于对称的匹配,第四种基于图方法的目标是找到环匹配的最优集,该图形结构不适用于频繁插入和删除操作的实时应用,在WISA2010中,Botao Wang提出动态更新的环匹配算法,能够在动态环境里高效地找到环匹配,但是在匹配过程中,生成的环匹配数量随着环的长度的增加成指数增长,需要大量的存储空间。
发明内容
为克服现有方法的不足,本发明提出一种同构对称发布订阅系统的近似环匹配方法,本方法只将大于阈值的链订阅存储在订阅数据库中,实现用较少的空间求解出绝大多数的环匹配。
本发明方法涉及到的概念包括匹配、链订阅以及环匹配,其定义分别如下:
匹配:是指对于都具有2d个属性的两个订阅S1、S2和1≤i≤d,如果Iai∈S1和Iai+d∈S2有交集,那么我们称S1与S2单向拥有-需要匹配,简称“单向匹配”,如图1所示,如果同时S2与S1也单向匹配,称S1和S2为“匹配”,如图2所示;
链订阅:是指对于一个订阅集,Ln={S1,…,Si,…,SN},其中n>2,如果Si和Si+1相匹配(1≤i≤n-1),则Lb叫做长度为n的链;Ln由和S1相同的需求谓词和与Sn相同的拥有谓词组成,被认为和处理成一个订阅,因此也叫链订阅,如图3所示;
环匹配:是指对于订阅集Cn={S1,…,Si,…,Sn},其中n>2,如果Si和Si+1相匹配(1≤i′≤n-1),并且Sn与S1相匹配,则Cn叫做长度为n的环匹配,如图4所示;
订阅链与环匹配的不同之处在于环匹配中Sn必须与S1相匹配,因此环匹配也是一个链,可以把长度为N环匹配看作一个链,来创建长度为n+1的环匹配,如图5所示;
本发明的技术方案是这样实现的:同构对称发布订阅系统的近似环匹配方法包括以下步骤:
步骤1:计算订阅概率,方法为:
在一个订阅中有两组谓词:拥有谓词和需求谓词,拥有谓词的概率和需求谓词的概率分别定义成Proo和Prow,一个订阅被匹配的概率是:
Pro=Proo×Prow (1.1)
其中,Proo被估算为:
式中,OwnPredicateMatchedTimes表示拥有谓词被匹配的次数总数,其记录当前订阅数据库的快照信息;TotalNumber表示订阅的总数;
Prow被估算为:
式中,WantPredicateMatchedTimes表示需求谓词被匹配的次数总数;
步骤2:确定链订阅的长度;
假设L是环匹配的长度,N是订阅的数量,Se是任意两个订阅完全匹配的概率,当L=2时,计算链订阅LNum2的数目的方法是LNum2=N×(N-1)×Se1/2,其中N×(N-1)是计算出的理论上的链订阅的数目,即N个订阅两两组合的排列数;同样,计算环匹配CNum2的数目的方法是CNum2=N×(N-1)/2×Se,其中N×(N-1)/2是计算出的理论上的环匹配的数量,即是N个订阅两两组合的组合数;
扩展上面的两个方程,可以得出计算长度为L的链订阅LNumL的数量的方程:
由1.2可知,长度为L的链订阅的数目是长度为L-1的链订阅数目的(N-L+1)×Pro1/2倍,与N相比,L可以忽略不计,则上面的等式可以近似成N×Pro1/2;
在系统实现中,为了保证环匹配结果的有效性,本发明仅抛出长度为MaxLength-1的链订阅,这是因为,如果长度为MaxLength-2及更短的链订阅被抛出,相应长度+1的环匹配则会更少,最大长度的环匹配的结果就不可预料了,因此在把长度为MaxLength-1的链订阅插入到订阅数据库中之前,计算将要参与匹配的链订阅的概率,如果概率小于阈值,那么该链订阅将会被抛出,即不参与匹配;
步骤3:设置过滤订阅的阈值和估算节省的存储空间;
步骤3-1:计算选择度:
所述的选择度是指任意两个订阅完全匹配的概率,也即是,任意一个订阅被任意一个其他订阅完全匹配的概率,公式如下:
式中,CN表示匹配的订阅个数,,Se表示选择度,P表示排列组合运算符;
推导出选择度的计算公式为:
步骤3-2:设置过滤订阅的阈值并计算存储空间:
1)设置过滤订阅的阈值,方法为:本发明阈值依据选择度选取,即阈值的大小在选择度±5%范围波动,默认情况下,选择度和阈值的值大小相等;
2)计算存储空间,方法为:
每个订阅由若干个属性组成,每个属性的描述信息可以用与该属性对应空间上的一段间隔来表示,如图6所示,图6表示的S1:A<=X<=B,对应的间隔为[A,B];S2:X<=B,对应的间隔为[Min,B];S3:X>=A,对应的间隔为[A,Max];S4:X=A,对应的间隔为[A,A];
定义间隔的基本单位是1,间隔[S,E]的间隔宽度为E-S+1,则对于定义在域尺寸为6的订阅来说,其间隔的宽度只能是1--6,其中,间隔宽度为1表示是一个点,即S=E,如图7所示,图7中,以[WPW3,OPW5]订阅为例,WPW3的可能情况是[1,3],[2,4],[3,5]和[4,6],OPW5的可能情况是[1,5],[2,6],则订阅的可能的数目是:4×2=8;
定义WPW1和OPW1分别表示宽度为1的需求谓词和拥有谓词的集合,则域尺寸为6的订阅空间的可能情况如表1所示,其中WPWs和OPWs中的数值表示该间隔的宽度,如图7所示:
表1订阅数目的分布情况
计算间隔[S,E]被匹配的概率Pi,公式如下:
式中,N1表示域尺寸的大小,一般情况下域尺寸的大小等于订阅个数;
已知域尺寸为6,计算均匀分布时不同订阅的被匹配概率,如表2所示:
表2不同间隔被匹配的概率
由表1和表2可以得出以下结论:沿着主对角线,随着间隔的变大,订阅数量的可能情况在减小同时概率在增加,且订阅的数量呈指数减小;如果选择对角线上的一项,每个表都能够被分成四个区域,如图8所示,其中,区域1的概率比区域4的小,区域2和区域3中则各种大小的概率都存在:则设置阈值的方法为:将区域1中的可能情况的总数设置为下限Low(N1,W),而除区域4以外的总和被设置成上限Upper(N1,W),其中,N是域的尺寸大小,W是对角线位置的间隔宽度即W=E-S+1,并且Proo=Prow;
根据公式(1.1)和公式(1.4),得出计算间隔宽度W的公式为:
令S=1,E=N1,得到关于对角线位置的间隔宽度W的函数公式如下:
数据扩展到多维,则整个空间里的订阅的可能的数目的总和SumT的计算公式如下:
其中,对于给定的间隔宽度W,区域1中的订阅数SumZ1计算公式为:
因此,在D维空间里,SumT、SumZ1和SumZ4分别计算如下:
根据SumT、SumZ1和SumZ4的计算,则计算出节省出的空间的下限和上限,公式分别为:
根据设定的Pro,系统能够根据公式(1.5)计算得到相应的最大间隔宽度W;然后,通过公式(1.6)和公式(1.7),系统能够估算出由于抛出概率小于Pro的链订阅节省出的空间的上限和下限;
Pro是谓词被匹配的概率,本申请使用选择度来进行估算,其中选择度的值可以通过调试参数来生成相应选择度的数据,因此我们在实验时,通过设置选择度的值来对结果进行优化。
本发明优点:本发明同构对称发布订阅系统的近似环匹配方法,采用基于阈值的方法,能够在得到正确的结果的情况下,节省出大量的存储空间;当阈值设置为1×10-7时,可以在节省超过50%的空间的情况下求解出约98%的结果;当阈值设置为1×10-6时,可以在节省约90%的空间的情况下求解出约90%的结果。
附图说明
图1为本发明同构对称发布订阅系统的近似环匹配方法两个订阅单项匹配示意图;
图2为本发明同构对称发布订阅系统的近似环匹配方法两个订阅匹配示意图;
图3为本发明同构对称发布订阅系统的近似环匹配方法链订阅示意图;
图4为本发明同构对称发布订阅系统的近似环匹配方法环匹配示意图;
图5为本发明同构对称发布订阅系统的近似环匹配方法长度为n+1的环匹配示意图;
图6为本发明同构对称发布订阅系统的近似环匹配方法谓词与间隔映射的示意图;
图7为本发明同构对称发布订阅系统的近似环匹配方法宽度示意图;
图8为本发明同构对称发布订阅系统的近似环匹配方法概率区域划分示意图;
图9为本发明同构对称发布订阅系统的近似环匹配方法不同域值的性能比较示意图;
图10为本发明同构对称发布订阅系统的近似环匹配方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
本实施例采用IBM xSeries 3500服务器为测试平台,CPU:Intel Xeon EM64T Quad coreE5405 2.0GHz;内存:16G Bytes;硬盘:4TG Bytes,7200rpm;操作系统:CentOS 5.3;开发工具:GNU Toolkits(GCC、G++、GDB)、Make、Vi等;开发语言:标准C++语言。
本发明的一个实例,某房屋网站提供如表3所示的信息:
表3某换房网站提供房产信息
抽取该房屋交换网站中的数据,示例数据整理如表4所示:
表4抽取的某换房网站中的数据
步骤1:计算订阅概率,将表4中的每个属性抽象成系统能够识别的有效数据,统计每一个订阅中拥有谓词被匹配的次数总数OwnPredicateMachedTimes(OPMT)和需求谓词被匹配的次数总数WantPredicateMatchedTimes(WPMT),根据公式1.1计算每一个订阅被匹配的概率,如表5所示:
表5计算订阅概率
步骤2:确定链订阅的长度;
本实施例设定环的最大长度为MaxLength=4,则需要抛出的链的长度为MaxLength-1=3,即当系统获得长度为3的链时,只用来检测该链是否会形成长度为4的环,当检测完之后,抛出该链,并不存入数据库中;
步骤3:设置过滤订阅的阈值并估算节省的存储空间:
步骤3-1:计算选择度:
本实施例抽取的订阅数N=40000,其中参与匹配的订阅个数为780,由公式1.3可以得出:选择度Se=1×10-6,其中部分结果集为:{S1,S4,S5},{S1,S4000,S4,S5},{S20,S40},{S8,S10,S900,S4100}等;
步骤3-2:设置阈值并估算存储空间:
1)根据步骤3-1求出的选择度,设定阈值,本实施例设定阈值的大小为选择度的大小1×10-6,在环匹配过程中对数据进行过滤,如果订阅或者链订阅的概率值小于阈值1×10-6,那么抛出该订阅链;
2)根据公式1.5计算宽度W的值,域为40000时宽度为30828,再根据公式1.6和1.7,计算节省的存储空间的上限和下限,分别为73.47%,97.96%,不使用阈值的情况下,40000个订阅中参与匹配的订阅个数为855,即使用阈值后得到的结果为原来的91.22%;假定不使用阈值的情况下,使用100%的存储空间,可以得到100%的结果,那么使用阈值1×10-6后,使用14.29%(平均)的存储空间,可以得到91.22%的环匹配结果,在存储性能上得到了很大的优化,如图9所示。
Claims (2)
1.一种同构对称发布订阅系统的近似环匹配方法,其特征在于:包括以下步骤:
步骤1:计算订阅被匹配的概率,方法为:
在一个订阅中有两组谓词:拥有谓词和需求谓词,拥有谓词的概率和需求谓词的概率分别定义成Proo和Prow,一个订阅被匹配的概率是:
Pro=Proo×Prow (1.1)
其中,Proo=OwnPredicateMatchedTimes/TotalNumber
式中,OwnPredicateMatchedTimes表示拥有谓词被匹配的次数总数,其记录当前订阅数据库的快照信息;TotalNumber表示订阅的总数;
Prow=WantPredicateMatchedTimes/TotalNumber
式中,WantPredicateMatchedTimes表示需求谓词被匹配的次数总数;
步骤2:确定链订阅的长度,即抛出具有长度为MaxLength-1的链订阅,其中,MaxLength为环匹配的最大长度;
步骤3:设置过滤订阅的阈值并计算存储空间:
步骤3-1:计算选择度,公式如下:
式中,CN表示匹配的订阅个数,N表示订阅的个数,Se表示选择度;
步骤3-2:设置过滤订阅的阈值并计算存储空间。
所述的设置过滤订阅的阈值,方法如下:即阈值的大小在选择度±5%以内波动;
所述的计算存储空间,方法为:
每个订阅由若干个属性组成,每个属性的描述信息可以用与该属性对应空间上的一段间隔来表示,定义间隔的基本单位是1,间隔[S,E]的间隔宽度为E-S+1,其中,间隔宽度为1表示是一个点,即S=E;
定义WPW1和OPW1分别表示宽度为1的需求谓词集合和拥有谓词的集合,其中WPWs和OPWs中的s表示该间隔的宽度;
计算间隔[S,E]被匹配的概率Pi,公式如下:
式中,N1表示域尺寸的大小;
所得的匹配概率形成概率表,划分为4个区域,划分方法为:区域1的概率比区域4的小,区域2和区域3中则各种大小的概率都存在;设置过滤订阅的阈值的方法为:将区域1中的可能情况的总数设置为下限Low(N1,W),而除区域4以外的订阅数目的总和被设置成上限Upper(N1,W),其中,N1是域的尺寸大小,W是对角线位置的间隔宽度即W=E-S+1,并且Proo=Prow;
根据公式(1.1)和公式(1.2),得出计算间隔宽度W的公式为:
式中,Pro表示订阅概率被匹配的概率,d表示属性的个数;
分别令S=1,E=N1,得到关于对角线位置的间隔宽度W的函数公式如下:
数据扩展到多维,则整个空间里的订阅的可能的数目的总和SumT的计算公式如下:
其中,对于公式(1.3)计算的间隔宽度W,区域1中的订阅数SumZ1计算公式为:
式中,L表示链订阅的长度;
因此,在D维空间里,SumT、SumZ1和SumZ4分别计算如下:
根据SumT、SumZ1和SumZ4的计算,则计算下限和上限,公式分别为:
2.根据权利要求1所述的同构对称发布订阅系统的近似环匹配方法,其特征在于:所述的阈值和选择度的值大小相等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010594906 CN102024053B (zh) | 2010-12-17 | 2010-12-17 | 同构对称发布订阅系统的近似环匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010594906 CN102024053B (zh) | 2010-12-17 | 2010-12-17 | 同构对称发布订阅系统的近似环匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102024053A CN102024053A (zh) | 2011-04-20 |
CN102024053B true CN102024053B (zh) | 2012-12-19 |
Family
ID=43865350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010594906 Expired - Fee Related CN102024053B (zh) | 2010-12-17 | 2010-12-17 | 同构对称发布订阅系统的近似环匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102024053B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298624B (zh) * | 2011-08-15 | 2014-08-20 | 东北大学 | 同构对称发布订阅系统的近似动态环匹配方法 |
CN104424555B (zh) | 2013-08-30 | 2018-01-02 | 国际商业机器公司 | 用于发布/订阅系统中的控制方法及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420442A (zh) * | 2008-12-11 | 2009-04-29 | 北京航空航天大学 | 基于博弈理论的网络安全风险评估系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002007379A (ja) * | 2000-06-27 | 2002-01-11 | New Industry Research Organization | セミ・マルコフ系列を用いた1/fゆらぎ信号発生方法 |
US8266168B2 (en) * | 2008-04-24 | 2012-09-11 | Lexisnexis Risk & Information Analytics Group Inc. | Database systems and methods for linking records and entity representations with sufficiently high confidence |
-
2010
- 2010-12-17 CN CN 201010594906 patent/CN102024053B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420442A (zh) * | 2008-12-11 | 2009-04-29 | 北京航空航天大学 | 基于博弈理论的网络安全风险评估系统 |
Non-Patent Citations (1)
Title |
---|
JP特开2002-7379A 2002.01.11 |
Also Published As
Publication number | Publication date |
---|---|
CN102024053A (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Efficiently estimating motif statistics of large networks | |
Cuzzocrea | Retrieving accurate estimates to olap queries over uncertain and imprecise multidimensional data streams | |
Pagh et al. | Is min-wise hashing optimal for summarizing set intersection? | |
WO2015184782A1 (zh) | 数据查询方法及装置 | |
WO2019052162A1 (zh) | 提高数据清洗效率的方法、装置、设备及可读存储介质 | |
CN105989142A (zh) | 一种数据查询方法及装置 | |
CN104424331A (zh) | 数据抽样方法及装置 | |
CN104598632A (zh) | 热点事件检测方法和装置 | |
CN112860808A (zh) | 基于数据标签的用户画像分析方法、装置、介质和设备 | |
Christensen et al. | STORM: Spatio-temporal online reasoning and management of large spatio-temporal data | |
CN102024053B (zh) | 同构对称发布订阅系统的近似环匹配方法 | |
CN103279580A (zh) | 基于新型语义空间的视频检索方法 | |
CN106933909B (zh) | 多维度数据的查询方法及装置 | |
CN101799803B (zh) | 信息处理方法、模块及系统 | |
CN114595215A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109635074B (zh) | 一种基于舆情信息的实体关系分析方法及终端设备 | |
Haradat et al. | Anonymization method based on sparse coding for power usage data | |
Miao et al. | BurstSketch: Finding Bursts in Data Streams | |
CN104391866A (zh) | 一种基于高维数据过滤器的近似成员查询方法 | |
CN111143329A (zh) | 一种数据处理方法及装置 | |
CN106060154B (zh) | 基于主题模型的订阅发布匹配方法及装置 | |
CN110851439A (zh) | 一种基于b树和森林的邀请码推广层级查询系统 | |
CN110781309A (zh) | 一种基于模式匹配的实体并列关系相似度计算方法 | |
CN108984634A (zh) | 一种云环境下的高效发布订阅方法 | |
Chen et al. | Selectivity estimation using homogeneity measurement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121219 Termination date: 20151217 |
|
EXPY | Termination of patent right or utility model |