CN109508433B - 基于匹配算法性能调整的负载波动应对方法和系统 - Google Patents
基于匹配算法性能调整的负载波动应对方法和系统 Download PDFInfo
- Publication number
- CN109508433B CN109508433B CN201811131690.9A CN201811131690A CN109508433B CN 109508433 B CN109508433 B CN 109508433B CN 201811131690 A CN201811131690 A CN 201811131690A CN 109508433 B CN109508433 B CN 109508433B
- Authority
- CN
- China
- Prior art keywords
- matching
- event
- events
- misjudgment rate
- performance
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Human Resources & Organizations (AREA)
- Game Theory and Decision Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于匹配算法性能调整的负载波动应对方法,接收传入的事件,将事件存放在输入队列中;从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;根据工作负载的变化调整匹配算法的运行性能,忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配,调整匹配的误判率,使得匹配速度和匹配精度相平衡。根据负载的变化情况实现快速的匹配算法性能调整,保证事件分发时延的稳定,从而实现快速的负载波动应对策略。
Description
技术领域
本发明涉及事件分发网络中的匹配算法领域,具体地,涉及一种基于匹配算法性能调整的负载波动应对方法和系统,尤其是涉及一种基本匹配算法性能调整的发布/订阅系统负载波动应对方法。
背景技术
发布/订阅系统广泛应用在许多领域,实现从发布者向订阅者的事件分发。对于基于内容的发布/订阅系统,匹配算法是选择性事件分发不可或缺的功能模块。为提高发布/订阅系统的可伸缩性,通常由多个代理(也称为服务器)组成中间件以提供事件分发服务,每个代理执行事件匹配。虽然基于内容的发布/订阅系统为订阅者提供了细粒度的表达能力,但事件匹配的操作成本高昂而且容易成为某些动态应用环境中的性能瓶颈,例如社交网络和证券交易所,这些应用的工作负载会随着时间的推移而不断变化。具体而言,当事件的到达速率高于代理的匹配速率时,事件将在代理处拥塞,这将极大地影响事件的分发时延。
这种基于动态内容的发布/订阅系统的典型场景是实时股票事件的分发。为了保证分发延迟要求,证券交易所发送实时报价,而订阅者订阅与其投资策略相关的事件,例如,当给定股票的价格超过或低于指定阈值时。在这个场景中,事件产生的速率取决于证券交易所的活动,并呈现出负载波动特性,具体表现在两个层面:1)每天事件产生的总数不同。例如,2018年6月上海证券交易所19个交易日事件总数的波动幅度为18.4%;2)一天内事件产生的速率也发生变化。例如,2018年6月29日每分钟事件产生速率的波动幅度高达63.2%。
现有解决发布/订阅系统负载波动的常见方案是通过资源配置技术来调整代理的数量以适应工作负载。但是该解决方案存在以下两个缺点。首先,代理数量的高效配置取决于对工作负载的准确预测。然而发布/订阅系统所面对的工作负载本质上难以预测,因为事件的产生速率随时间变化很大,例如股票市场;其次,调整代理数量需要一定的时间,通常达到数十秒,这可能无法满足股市数据分发场景中的实时性要求,而提前超配一定数量的代理虽然方法简单但不具成本效益。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于匹配算法性能调整的负载波动应对方法和系统。
根据本发明提供的一种基于匹配算法性能调整的负载波动应对方法,包括以下步骤,事件接收步骤:接收传入的事件,将事件存放在输入队列中;事件匹配步骤:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;事件发送步骤:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;性能调整步骤:根据工作负载的变化调整所述匹配处理的运行性能。
优选地,所述性能调整步骤包括,谓词忽略调整步骤:忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;性能调整决策步骤:调整匹配的误判率,使得匹配速度和匹配精度相平衡。
优选地,所述谓词忽略调整步骤包括,计算忽略谓词个数步骤:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:
Y=n(logw(F+1))
式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示订阅数量;w表示谓词的匹配度;确定忽略谓词步骤:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
优选地,所述性能调整步骤包括,匹配算法性能调整决策步骤:通过分析误判率与性能提升之间的成本效率,设定误判率上限值。
优选地,所述匹配算法性能调整决策步骤包括,计算输入队列延迟步骤:计算事件在输入队列中的等待时间;调整误判率步骤:设定等待阈值,若等待时间大于等待阈值,则增加误判率,否则,则保持误判率不变。
根据本发明提供的一种基于匹配算法性能调整的负载波动应对系统,包括以下模块,事件接收模块:接收传入的事件,将事件存放在输入队列中;事件匹配模块:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;事件发送模块:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;性能调整模块:根据工作负载的变化调整所述匹配处理的运行性能。
优选地,所述性能调整模块包括,谓词忽略调整模块:忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;性能调整决策模块:调整匹配的误判率,使得匹配速度和匹配精度相平衡。
优选地,所述谓词忽略调整模块包括,计算忽略谓词个数模块:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:
Y=n(logw(F+1))
式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示n个订阅;w表示谓词的匹配度;确定忽略谓词模块:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
优选地,所述性能调整模块包括匹配算法性能调整决策模块;所述匹配算法性能调整决策模块是通过分析误判率与性能提升之间的成本效率,设定误判率上限值。
优选地,所述匹配算法性能调整决策模块包括,计算输入队列延迟模块:计算事件在输入队列中的等待时间;调整误判率模块:设定等待阈值,若等待时间大于等待阈值,则增加误判率,若等待时间不大于等于阈值,则保持误判率不变。
与现有技术相比,本发明具有如下的有益效果:
1、本发明根据负载的变化情况实现快速的匹配算法性能调整,从而保证事件分发时延的稳定。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的匹配算法的索引结构图;
图2为本发明的体系结构图。
图中示出:e1表示事件{a1=2};e2表示事件{a1=8};a1表示一个属性;S表示订阅{4≤a1≤7};b0、b1、b2、b3表示在属性上a1上划分的4个桶;Val表示订阅的约束值,ID表示订阅的编号。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于匹配算法性能调整的负载波动应对方法,包括以下步骤,事件接收步骤:接收传入的事件,将事件存放在输入队列中;事件匹配步骤:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列,所述匹配订阅列表包括已匹配事件;事件发送步骤:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;性能调整步骤:根据工作负载的变化调整所述匹配处理的运行性能。
具体地,所述性能调整步骤包括,谓词忽略调整步骤:忽略订阅的属性中包含的谓词,所述订阅优选为事件,忽略事件的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;性能调整决策步骤:调整匹配的误判率,使得匹配速度和匹配精度相平衡。
具体地,所述谓词忽略调整步骤包括,计算忽略谓词个数步骤:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:
Y=n(logw(F+1))
式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示n个订阅;w表示谓词的匹配度;确定忽略谓词步骤:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
具体地,所述性能调整步骤包括匹配算法性能调整决策步骤;所述匹配算法性能调整决策步骤是通过分析误判率与性能提升之间的成本效率,设定误判率上限值。所述匹配算法性能调整决策步骤包括,计算输入队列延迟步骤:计算事件在输入队列中的等待时间;调整误判率步骤:设定等待阈值,若等待时间大于等待阈值,则增加误判率,若等待时间不大于等于阈值,则保持误判率不变。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述方法的步骤。
根据本发明提供的一种基于匹配算法性能调整的负载波动应对系统,其特征在于,包括以下模块,事件接收模块:接收传入的事件,将事件存放在输入队列中;事件匹配模块:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;事件发送模块:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;性能调整模块:根据工作负载的变化调整所述匹配处理的运行性能。
具体地,所述性能调整模块包括,谓词忽略调整模块:忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;性能调整决策模块:调整匹配的误判率,使得匹配速度和匹配精度相平衡。
具体地,谓词忽略调整模块包括,计算忽略谓词个数模块:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:
Y=n(logw(F+1))
式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示n个订阅;w表示谓词的匹配度;确定忽略谓词模块:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
具体地,所述性能调整模块包括匹配算法性能调整决策模块;所述匹配算法性能调整决策模块是通过分析误判率与性能提升之间的成本效率,设定误判率上限值。所述匹配算法性能调整决策模块包括,计算输入队列延迟模块:计算事件在输入队列中的等待时间;调整误判率模块:设定等待阈值,若等待时间大于等待阈值,则增加误判率,若等待时间不大于等于阈值,则保持误判率不变。
本发明提供的基于匹配算法性能调整的负载波动应对系统,可以通过基于匹配算法性能调整的负载波动应对方法的步骤流程实现。本领域技术人员可以将基于匹配算法性能调整的负载波动应对方法理解为所述基于匹配算法性能调整的负载波动应对系统的优选例。
基于内容的发布/订阅系统性能瓶颈的根本原因在于代理执行的耗时的事件匹配操作。本发明提出通过动态调整匹配算法的性能以适应工作负载波动,从而实现快速的负载波动应对策略。通过赋予Rein算法性能动态调整能力,从匹配算法的角度解决工作负载波动问题。通过基于谓词忽略的调整机制,通过在精确匹配和近似匹配之间切换,以牺牲匹配精度来实现瞬时匹配性能的调整;根据自适应的性能调整决策,能够为Rein算法制定适当的性能调整计划。
下面通过优选例,对本发明进行更为具体的说明。
在基于内容的事件分发系统中,匹配算法是事件分发的核心模块,其性能决定事件分发的时延。当事件的到达速率高于代理的匹配速率时,事件将在代理处拥塞,这将极大地影响事件的分发时延。而在一些动态的应用环境中,例如社交网络和证券交易所,工作负载波动是不可避免的。现有的解决方案是通过资源配置技术来调整代理的数量以适应工作负载的波动,但存在资源配置效率低、配置时间长等缺点,难以适应实时数据分发的需求。本发明提出通过动态调整匹配算法的性能以适应工作负载波动,从而实现快速的负载波动应对策略。提出了一种基于谓词忽略的调整机制,通过在精确匹配和近似匹配之间切换,以牺牲匹配精度来实现瞬时匹配性能的调整。此外,还设计了一种性能调整决策方法,能够根据负载的波动情况为匹配算法推荐适当的性能调整计划。
如图1所示的Rein算法的数据结构,通过将属性的值域划分为多个单元并实现单元到存储桶的映射,Rein为每个属性构建了两个存储桶集合。一个集合是对属性定义的区域约束的低值进行索引,另一个集合是用于对高值进行索引。另外,在匹配过程中Rein使用一组比特位来标记不匹配的订阅。Rein的匹配过程可以分为两个阶段:标记阶段和检查阶段。在标记阶段,对于每个属性,事件值被映射到该属性构造的两个存储桶集合中的一个桶(称为锚桶)。Rein在两个锚桶中执行比较操作,标记所有不匹配的订阅。对于为区域约束条件低值而构建的桶的集合,快速遍历锚桶右侧的所有桶,以标记所有不匹配的订阅。类似地,对于为区域约束条件高值构建的桶的集合,遍历锚桶左侧的所有桶。在检查阶段,检查位集中的每个位。如果一位未被标记,该位所表示的订阅将添加到结果中。
如图2所示,代理需要三个组件来协作进行事件匹配,即接收器,匹配器和发送器。接收器负责接收传入的事件并将它们存放到输入队列中,发送器负责将事件从输出队列传输到下一跳代理或订阅者。匹配器运行匹配算法,根据订阅者提交的订阅执行选择性事件过滤,并且是输入和输出队列之间的连接器。理想情况下,这三个组件应具有相同的处理能力,因此事件将通过“接收-匹配-发送”过程而不会有任何额外的等待延迟。但是,当事件到达速率高于事件匹配速率时,事件将在输入队列中拥塞,并且匹配器成为性能瓶颈。为了适应波动的工作负载,一个名为“调节器”的新组件被添加到框架中,如图1所示。调节器负责根据不断变化的工作负载为匹配器制定性能调整计划。
为了使这个框架起作用,以下两点至关重要。首先,匹配器即匹配算法应具有动态和定量调整其性能的能力。此外,调节器应根据负载的波动情况为匹配器制定适当的性能调整计划。本发明着重解决这两点,提出基于谓词忽略的调整机制,以增强匹配算法的可调整性,并提出性能调整决策方法,以制定匹配算法的性能调整计划。
下面对基于谓词忽略的性能调整机制进一步详细阐述,以股票事件分发场景为例,Level-2行情数据包含64个属性,各级分发机构基于这些原始数据进行统计派生的属性超过1000多个,这些属性可以作为订阅者的订阅依据。此外,订阅股票数据的投资者达百万级别。根据数学分析,设定股票事件的属性分布遵循齐夫(Zipf)分布。设计匹配算法性能动态调整机制的基本思想是实现精确匹配和近似匹配之间的平滑切换,以实现瞬时性能提升。根据属性在订阅集中出现的频率,属性可以分为流行属性和不流行属性。对于很少出现在订阅中的属性,忽略这些属性上定义的谓词是提高匹配性能同时保持较低误判率的可行方法。在这里,谓词忽略调整机制与主成分分析(PCA)的思想相吻合。至于量化要求,关键是量化允许的误判率和改善的匹配性能之间的关系。本发明推导出两种表征这种关系的模型。
(1)匹配精度模型
假设有一组n个订阅S={s1,s2,…,sn},设m是事件中属性的个数,A={a1,a2,…,am},A表示事件属性的集合,k是每个订阅中谓词的个数,w是谓词的匹配度,fi为订阅集S中第i个属性ai的出现频率,1≤i≤m,F为允许的误判率,Y为在给定误判率为F的情况下最多可以忽略的谓词个数,则Y与F之间的量化关系是:
Y=n(logw(F+1))
给定误判率F,可以忽略的谓词个数根据上面公式计算。由于订阅中属性的出现频率已知,因此可以从最不频繁的属性开始使用贪婪法确定忽略的属性集合As。选择忽略属性的算法如下所示。
算法:确定忽略的属性
输入:误判率F,订阅中属性的出现频率fre[]
输出:As
(2)匹配时间模型
Rein算法的匹配过程包括标记阶段和检查阶段。在标记阶段,执行比较操作和遍历操作。在检查阶段,检查位集中的每个位以确定匹配的订阅。给定Rein数据结构中桶数的个数b和事件中属性的个数m,设β是比较一个谓词的单位时间,γ是遍历一个谓词的单位时间,δ是遍历时切换桶的单位时间,∈是检查位集中一个比特位的单位时间。匹配事件时,对于每个属性,在2个锚桶中执行比较操作以查找不匹配的订阅,因此成本为其中bi是在属性ai所构建的存储桶集合中各个桶所包含的平均谓词个数。β表示比较一个谓词的单位时间。比较之后,快速遍历存储在其他存储桶中的谓词,对于存储在桶中的谓词的低值和高值,共遍历b个桶,因此成本为此外,为每个属性切换b个桶的成本为bδ,因此总成本为mbδ。在检查阶段,检查位集中的每个位,因此成本为n∈。因此,Rein的总匹配成本可表示为:
则忽略As集合中的属性可以带来的性能提升比例R为:
下面对匹配算法性能调整决策进一步详细阐述。在生成Rein算法的性能调整计划时,本发明不是根据代理处所经历的事件拥塞程度制定调整计划,而是通过分析误判率与性能提升之间的成本效率来设定一个误判率上限Fmax,这样做的原因如下:当需要提高匹配算法的性能时,网络资源的竞争也很激烈,允许更大的误报率将使网络竞争情况恶化。
制定Rein算法性能调整计划本质上是一个控制问题,本发明提出方法的基本原理是通过以自适应方式调整误判率F以实现匹配速度和匹配精度之间的权衡。其步骤为:
1)当代理收到一个事件时,它首先计算此事件在输入队列中等待的时间,这反映了代理处事件的拥塞程度。
2)如果延迟大于正常的阈值,则可以推断此时事件在代理处拥塞。此外,如果该事件的拥塞程度比上一个事件更严重,则增加Rein算法的误判率F以进一步改善匹配性能,否则保持F不变,其中F受限于Fmax。
3)类似地,当事件拥塞减轻时,Fmax逐渐减少以实现高匹配精度的提升。
可以看出,本发明提出的方法将自适应地收敛到代理不发生拥塞的情况,并且误判率最小化。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (6)
1.一种基于匹配算法性能调整的负载波动应对方法,其特征在于,包括以下步骤:
事件接收步骤:接收传入的事件,将事件存放在输入队列中;
事件匹配步骤:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;
事件发送步骤:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;
性能调整步骤:根据工作负载的变化调整所述匹配处理的运行性能;
基于Rein算法的数据结构,通过将属性的值域划分为多个单元并实现单元到存储桶的映射,Rein为每个属性构建了两个存储桶集合;一个集合是对属性定义的区域约束的低值进行索引,另一个集合是用于对高值进行索引;在匹配过程中Rein使用一组比特位来标记不匹配的订阅;Rein的匹配过程分为两个阶段:标记阶段和检查阶段;在标记阶段,对于每个属性,事件值被映射到该属性构造的两个存储桶集合中的一个桶;Rein在两个锚桶中执行比较操作,标记所有不匹配的订阅;对于为区域约束条件低值而构建的桶的集合,快速遍历锚桶右侧的所有桶,以标记所有不匹配的订阅;对于为区域约束条件高值构建的桶的集合,遍历锚桶左侧的所有桶;在检查阶段,检查位集中的每个位;如果一位未被标记,该位所表示的订阅将添加到结果中;
接收器负责接收传入的事件并将它们存放到输入队列中,发送器负责将事件从输出队列传输到下一跳代理或订阅者;匹配器运行匹配算法,根据订阅者提交的订阅执行选择性事件过滤,并且是输入和输出队列之间的连接器;接收器、发送器、匹配器具有相同的处理能力,事件将通过“接收-匹配-发送”过程而不会有任何额外的等待延迟;当事件到达速率高于事件匹配速率时,事件将在输入队列中拥塞,并且匹配器成为性能瓶颈;为了适应波动的工作负载,采用调节器,负责根据不断变化的工作负载为匹配器制定性能调整计划;
所述性能调整步骤包括:
谓词忽略调整步骤:忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;
性能调整决策步骤:调整匹配的误判率,使得匹配速度和匹配精度相平衡;
所述谓词忽略调整步骤包括:
计算忽略谓词个数步骤:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:
Y=n(logw(F+1))
式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示订阅数量;w表示谓词的匹配度;
确定忽略谓词步骤:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
2.根据权利要求1所述的基于匹配算法性能调整的负载波动应对方法,其特征在于,所述性能调整步骤包括:
匹配算法性能调整决策步骤:通过分析误判率与性能提升之间的成本效率,设定误判率上限值。
3.根据权利要求2所述的基于匹配算法性能调整的负载波动应对方法,其特征在于,所述匹配算法性能调整决策步骤包括:
计算输入队列延迟步骤:计算事件在输入队列中的等待时间;
调整误判率步骤:设定等待阈值,若等待时间大于等待阈值,则增加误判率,否则,则保持误判率不变。
4.一种基于匹配算法性能调整的负载波动应对系统,其特征在于,包括以下模块:
事件接收模块:接收传入的事件,将事件存放在输入队列中;
事件匹配模块:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;
事件发送模块:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;
性能调整模块:根据工作负载的变化调整所述匹配处理的运行性能;
所述性能调整模块包括:
谓词忽略调整模块:忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;
性能调整决策模块:调整匹配的误判率,使得匹配速度和匹配精度相平衡;
所述谓词忽略调整模块包括:
计算忽略谓词个数模块:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:
Y=n(logw(F+1))
式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示n个订阅;w表示谓词的匹配度;
确定忽略谓词模块:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
5.根据权利要求4所述的基于匹配算法性能调整的负载波动应对系统,其特征在于,所述性能调整模块包括匹配算法性能调整决策模块;
所述匹配算法性能调整决策模块是通过分析误判率与性能提升之间的成本效率,设定误判率上限值。
6.根据权利要求5所述的基于匹配算法性能调整的负载波动应对系统,其特征在于,所述匹配算法性能调整决策模块包括:
计算输入队列延迟模块:计算事件在输入队列中的等待时间;
调整误判率模块:设定等待阈值,若等待时间大于等待阈值,则增加误判率,若等待时间不大于等于阈值,则保持误判率不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811131690.9A CN109508433B (zh) | 2018-09-27 | 2018-09-27 | 基于匹配算法性能调整的负载波动应对方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811131690.9A CN109508433B (zh) | 2018-09-27 | 2018-09-27 | 基于匹配算法性能调整的负载波动应对方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109508433A CN109508433A (zh) | 2019-03-22 |
CN109508433B true CN109508433B (zh) | 2021-04-02 |
Family
ID=65746241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811131690.9A Active CN109508433B (zh) | 2018-09-27 | 2018-09-27 | 基于匹配算法性能调整的负载波动应对方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109508433B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100557B (zh) * | 2020-09-01 | 2022-11-29 | 上海交通大学 | 基于内容发布订阅的组合匹配系统与方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693905B2 (en) * | 2005-06-30 | 2010-04-06 | Technology Financial, Llc | System and method for optimizing event predicate processing |
CN102769668B (zh) * | 2012-07-02 | 2015-01-14 | 上海交通大学 | 基于近似匹配的发布/订阅负载均衡方法 |
-
2018
- 2018-09-27 CN CN201811131690.9A patent/CN109508433B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109508433A (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10630737B2 (en) | Data processing method in stream computing system, control node, and stream computing system | |
US20180157688A1 (en) | Ledger-chained distributed information handling systems and methods | |
US11799901B2 (en) | Predictive rate limiting system for cloud computing services | |
US10592578B1 (en) | Predictive content push-enabled content delivery network | |
CN110362600B (zh) | 一种乱序数据流分布式聚合查询方法、系统及介质 | |
CN108270805B (zh) | 用于数据处理的资源分配方法及装置 | |
KR101660860B1 (ko) | 분산 시스템에 기반한 스트리밍 방식으로 데이터 큐브를 생성하는 방법 및 장치 | |
US7761401B2 (en) | Stochastic control optimization for sender-based flow control in a distributed stateful messaging system | |
WO2021109661A1 (zh) | 拥塞控制方法以及相关设备 | |
Qian et al. | Adjusting matching algorithm to adapt to workload fluctuations in content-based publish/subscribe systems | |
WO2015027853A1 (en) | Control method and apparatus for publish/subscribe systems | |
CN109508433B (zh) | 基于匹配算法性能调整的负载波动应对方法和系统 | |
CN103825963B (zh) | 虚拟服务迁移方法 | |
CN105404554A (zh) | 用于Storm流计算框架的方法和装置 | |
US10311061B2 (en) | Quality-driven processing of out-of-order data streams | |
CN113672372B (zh) | 一种基于强化学习的多边缘协同负载均衡任务调度方法 | |
Kang et al. | Estimating and enhancing real-time data service delays: Control-theoretic approaches | |
US20190065555A1 (en) | System, method of real-time processing under resource constraint at edge | |
Wang et al. | Model-based scheduling for stream processing systems | |
Mukhopadhyay et al. | Optimal content replication and request matching in large caching systems | |
Elsayed et al. | On the Impact of Network Delays on Time-to-Live Caching | |
Yang et al. | Cross-layer self-similar coflow scheduling for machine learning clusters | |
CN111049919B (zh) | 一种用户请求的处理方法、装置、设备及存储介质 | |
CN115037696B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
Shen et al. | Learning-aided proactive block provisioning in block-stream as a service for lightweight devices |
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 |