[发明专利]一种支持多核平台下数据流处理的线程管理系统有效
申请号: | 201610404750.4 | 申请日: | 2016-06-08 |
公开(公告)号: | CN106095535B | 公开(公告)日: | 2019-11-08 |
发明(设计)人: | 王洪亚;刘杰;陆可镜;常姗 | 申请(专利权)人: | 东华大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F15/16 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹;柏子雵 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种支持多核平台下数据流处理的线程管理系统,其特征在于,包括线程池管理器、请求队列、事件队列及包含有多个线程的线程池。本发明的有益效果是:本发明解决了多核平台复杂查询中数据流处理的性能问题。本发明能够在不改变原有Esper内部代码与结构的前提下,只通过外加线程管理来管理查询线程,对Esper本身没有“污染”。与现有技术相比,本发明通过外加线程管理以适应多核平台复杂查询,具有事件查询吞吐量高,事件响应时间快等特点,进一步可以推广到其它类Esper引擎数据流查询工具。 | ||
搜索关键词: | 一种 支持 多核 平台 数据流 处理 线程 管理 系统 | ||
【主权项】:
1.一种支持多核平台下数据流处理的线程管理系统,其特征在于,包括线程池管理器、请求队列、事件队列及包含有多个线程的线程池,其中:事件队列,用于存入事件,每个事件均具有一个事件类型,不同事件队列对应不同的事件类型,事件抵达Esper引擎后,由线程池管理器接管Esper引擎原有的事件发送方法,将当前事件依据事件类型存入对应的事件队列中;线程池中的线程的状态在休眠与唤醒之间切换:当线程池管理器初始化后,或当处于唤醒状态的线程无法申请到请求队列中的请求后,或当线程依据申请到的请求中包含的事件类型访问对应的事件队列,而对应的事件队列为空时,线程的状态变更为休眠;当请求被创建并插入请求队列后,由线程池管理器唤醒线程池中所有处于休眠状态的线程;请求队列,线程池中处于唤醒状态的所有线程互斥访问请求队列,申请请求队列中的请求,申请到请求的线程依据请求中包含的事件类型访问对应的事件队列,获得非空事件队列中的事件,获得事件的线程调用Esper引擎中的查询处理功能模块进行事件的查询处理,在Esper引擎完成对当前事件的处理后,由线程将当前事件对应的请求返还至请求队列,其中,请求被创建的条件为:线程池管理器接收到事件后,依据当前事件对应的事件类型查询对应的事件队列,仅在被查询的事件队列为空时,创建一个请求并插入请求队列中,该请求包含当前事件的事件类型;请求被丢弃的条件为:当线程依据申请到的请求中包含的事件类型访问对应的事件队列,而对应的事件队列为空时,当前线程申请到的请求被丢弃。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610404750.4/,转载请声明来源钻瓜专利网。