基于匹配算法性能调整的负载波动应对方法和系统技术方案

技术编号:20655157 阅读:459 留言:0更新日期:2019-03-23 06:50
本发明专利技术提供了一种基于匹配算法性能调整的负载波动应对方法,接收传入的事件,将事件存放在输入队列中;从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;根据工作负载的变化调整匹配算法的运行性能,忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配,调整匹配的误判率,使得匹配速度和匹配精度相平衡。根据负载的变化情况实现快速的匹配算法性能调整,保证事件分发时延的稳定,从而实现快速的负载波动应对策略。

【技术实现步骤摘要】
基于匹配算法性能调整的负载波动应对方法和系统
本专利技术涉及事件分发网络中的匹配算法领域,具体地,涉及一种基于匹配算法性能调整的负载波动应对方法和系统,尤其是涉及一种基本匹配算法性能调整的发布/订阅系统负载波动应对方法。
技术介绍
发布/订阅系统广泛应用在许多领域,实现从发布者向订阅者的事件分发。对于基于内容的发布/订阅系统,匹配算法是选择性事件分发不可或缺的功能模块。为提高发布/订阅系统的可伸缩性,通常由多个代理(也称为服务器)组成中间件以提供事件分发服务,每个代理执行事件匹配。虽然基于内容的发布/订阅系统为订阅者提供了细粒度的表达能力,但事件匹配的操作成本高昂而且容易成为某些动态应用环境中的性能瓶颈,例如社交网络和证券交易所,这些应用的工作负载会随着时间的推移而不断变化。具体而言,当事件的到达速率高于代理的匹配速率时,事件将在代理处拥塞,这将极大地影响事件的分发时延。这种基于动态内容的发布/订阅系统的典型场景是实时股票事件的分发。为了保证分发延迟要求,证券交易所发送实时报价,而订阅者订阅与其投资策略相关的事件,例如,当给定股票的价格超过或低于指定阈值时。在这个场景中,事件产生的速率取决于证券交易所的活动,并呈现出负载波动特性,具体表现在两个层面: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))本文档来自技高网
...

【技术保护点】
1.一种基于匹配算法性能调整的负载波动应对方法,其特征在于,包括以下步骤:事件接收步骤:接收传入的事件,将事件存放在输入队列中;事件匹配步骤:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;事件发送步骤:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;性能调整步骤:根据工作负载的变化调整所述匹配处理的运行性能。

【技术特征摘要】
1.一种基于匹配算法性能调整的负载波动应对方法,其特征在于,包括以下步骤:事件接收步骤:接收传入的事件,将事件存放在输入队列中;事件匹配步骤:从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;事件发送步骤:接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;性能调整步骤:根据工作负载的变化调整所述匹配处理的运行性能。2.根据权利要求1所述的基于匹配算法性能调整的负载波动应对方法,其特征在于,所述性能调整步骤包括:谓词忽略调整步骤:忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配;性能调整决策步骤:调整匹配的误判率,使得匹配速度和匹配精度相平衡。3.根据权利要求2所述的基于匹配算法性能调整的负载波动应对方法,其特征在于,谓词忽略调整步骤包括:计算忽略谓词个数步骤:计算在保持设定误判率时能够忽略的谓词个数最大值,所述谓词个数最大值与设定误判率的量化关系用以下公式表示:Y=n(logw(F+1))式中,Y表示在设定误判率为F的情况下能够忽略的谓词个数最大值;订阅集S={s1,s2,…,sn},n表示订阅数量;w表示谓词的匹配度;确定忽略谓词步骤:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。4.根据权利要求1所述的基于匹配算法性能调整的负载波动应对方法,其特征在于,所述性能调整步骤包括:匹配算法性能调整决策步骤:通过分析误判率与性能提升之间的成本效率,设定误判率上限值。5.根据权利要求4所述的基于匹配算法性能调整的负载波动应对方法,其特征在于,所述匹配算法性能调整决策步骤包括:计算输入队列延迟步骤:计算事件在输入队列中的等待时间;调整误判率步骤:设定等待阈值,若等待时间大于等待阈值,则增加误判率,否则,则保持误判率不变。6.一种基于匹配算法性能...

【专利技术属性】
技术研发人员:钱诗友曹健
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1