[发明专利]基于匹配算法性能调整的负载波动应对方法和系统有效
申请号: | 201811131690.9 | 申请日: | 2018-09-27 |
公开(公告)号: | CN109508433B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 钱诗友;曹健 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F16/958 | 分类号: | G06F16/958;G06Q40/04;G06Q40/06 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 匹配 算法 性能 调整 负载 波动 应对 方法 系统 | ||
本发明提供了一种基于匹配算法性能调整的负载波动应对方法,接收传入的事件,将事件存放在输入队列中;从输入队列接收事件,进行匹配处理,根据订阅执行选择性事件过滤,得到与事件相匹配的订阅列表,将事件发送至输出队列;接收输出队列输出的事件,并将事件传输至匹配订阅列表的各个消费端;根据工作负载的变化调整匹配算法的运行性能,忽略订阅的属性中包含的谓词,将匹配算法的匹配精度由精确匹配转换成近似匹配,调整匹配的误判率,使得匹配速度和匹配精度相平衡。根据负载的变化情况实现快速的匹配算法性能调整,保证事件分发时延的稳定,从而实现快速的负载波动应对策略。
技术领域
本发明涉及事件分发网络中的匹配算法领域,具体地,涉及一种基于匹配算法性能调整的负载波动应对方法和系统,尤其是涉及一种基本匹配算法性能调整的发布/订阅系统负载波动应对方法。
背景技术
发布/订阅系统广泛应用在许多领域,实现从发布者向订阅者的事件分发。对于基于内容的发布/订阅系统,匹配算法是选择性事件分发不可或缺的功能模块。为提高发布/订阅系统的可伸缩性,通常由多个代理(也称为服务器)组成中间件以提供事件分发服务,每个代理执行事件匹配。虽然基于内容的发布/订阅系统为订阅者提供了细粒度的表达能力,但事件匹配的操作成本高昂而且容易成为某些动态应用环境中的性能瓶颈,例如社交网络和证券交易所,这些应用的工作负载会随着时间的推移而不断变化。具体而言,当事件的到达速率高于代理的匹配速率时,事件将在代理处拥塞,这将极大地影响事件的分发时延。
这种基于动态内容的发布/订阅系统的典型场景是实时股票事件的分发。为了保证分发延迟要求,证券交易所发送实时报价,而订阅者订阅与其投资策略相关的事件,例如,当给定股票的价格超过或低于指定阈值时。在这个场景中,事件产生的速率取决于证券交易所的活动,并呈现出负载波动特性,具体表现在两个层面: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表示谓词的匹配度;确定忽略谓词步骤:根据设定误判率、订阅中谓词的出现频率,得到忽略谓词集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811131690.9/2.html,转载请声明来源钻瓜专利网。