基于l-qt-p多线程事件触发机制的通信系统及方法

文档序号:9646489阅读:555来源:国知局
基于l-qt-p多线程事件触发机制的通信系统及方法
【技术领域】
[0001]本发明涉及一种基于L-QT-P多线程事件触发机制的通信系统及方法,属于电力系统辅助监控技术领域。
【背景技术】
[0002]2015年3月李克强总理在政府工作报告中首次提出“互联网+”行动计划,“互联网+”就是“互联网+各个传统行业”,将互联网作为当前信息化发展的核心特征,与工业、商业以及金融业等服务业全面融合。目前全社会都在响应“互联网+”热潮,加强推进各行各业的信息化建设。
[0003]在电力系统内,同样也推动着“互联网+”建设,但是“互联网+”的信息系统建设都离不开通信基础,通信作为底层的技术支撑,是信息系统的核心层,因此迫切需要一种稳定高效的通信方法,将能够为各种信息系统建设提供通信架构,从而更好推进电力行业的“互联网+”建设。

【发明内容】

[0004]本发明的目的在于提供一种基于L-QT-P高效多线程事件触发机制的通信系统及方法,也就是就是提供一种高效的多线程事件触发机制的技术,能够为各种信息系统提供便捷高效的通信架构,从而缩短信息系统的开发周期和开发成本,从技术上支撑“互联网+”建设。
[0005]为解决上述技术问题,本发明采用的技术方案如下:
[0006]基于L-QT-P多线程事件触发机制的通信系统,包括基础功能模块、事件管理模块和多线程模块,
[0007]所述基础功能模块提供I/O读写、定时器、目录监视、编解码、信号/槽、数据结构、网络库功能接口,所有功能接口以标准C++方式呈现;
[0008]所述事件管理模块提供事件逻辑循环,支持SELECT、POLL、EPOLL、KQUEUE、DEVPOLL,EVPORT以及WIN32事件检测方式检测就绪的事件信号;所述事件管理模块对于检测到已经就绪的事件信号,以回调方式触发事件信号,并及时通知上层应用;
[0009]所述多线程模块基于PTHREAD库,提供跨平台的多线程服务。
[0010]前述的事件管理模块会自动根据当前平台选择最优的事件检测方式,也可按照上层指定的事件检测方式进行检测。
[0011 ] 前述的事件管理模块检测的事件包括网络事件、文件事件以及其他事件。
[0012]前述的多线程模块支持线程的创建和销毁,同时也提供多种线程锁类型。
[0013]基于L-QT-P多线程事件触发机制的通信系统进行通信的方法,包括以下步骤:
[0014]1)上层应用向事件管理模块注册关注的事件类型;
[0015]2)事件管理模块启动事件检测,识别注册的所有事件信号;
[0016]3)当有事件发生时,事件管理模块检测到就绪事件信号后,通过回调方式及时通知上层应用;
[0017]4)上层应用根据事件类型进行相应逻辑业务处理,从而完成整个事件流程的处理。前述的通信方法支持WINDOWS、LINUX多种平台。
[0018]本发明所达到的有益效果:
[0019](1)制定高效稳定的通信架构,从而缩短信息系统的开发周期和开发成本,加快信息化建设速度;
[0020](2)提供多种功能接口,集成丰富的基础功能库,满足各种信息系统需求;
[0021](3)支持多线程架构,满足信息系统对于大并发的要求;
[0022](4)支持跨平台,为各个平台下建设提供技术支持;
[0023](5)本发明的通信方法具有高速、可移植和非阻塞特性。
【附图说明】
[0024]图1是本发明的通信系统的结构示意图;
[0025]图2是本发明的实施例中网络事件触发的流程图。
【具体实施方式】
[0026]下面结合附图和【具体实施方式】对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0027]本发明提供一种基于L-QT-P高效多线程事件触发机制的通信方法,其中L表示基于Libevent提供的事件管理模块,QT表示是C++基础库,依赖QT提供基础功能模块,P表示基于PTHREAD提供跨平台的多线程库。
[0028]如图1所示,本发明的基于L-QT-P高效多线程事件触发机制的通信系统,主要包括基础功能模块、事件管理模块以及多线程模块三大模块。其中,
[0029]基础功能模块主要依赖QT库,提供I/O读写、定时器、目录监视、编解码、信号/槽、数据结构、网络库以及其他基础功能等功能接口,所有功能接口以标准C++方式呈现,使用起来便捷高效。
[0030]事件管理模块是本发明的核心模块,提供事件逻辑循环,支持SELECT、POLL、EPOLL, KQUEUE、DEVPOLL, EVPORT以及WIN32方式检测就绪的事件信号,会自动根据当前平台选择最优的事件检测方式,也可以按照上层指定的方式进行检测。其中,事件可以是网络事件、文件事件以及其他事件。对于检测到已经就绪的事件信号,会以回调方式触发事件信号,及时通知上层应用。
[0031]多线程模块主要基于PTHREAD库,提供跨平台的多线程服务,支持线程的创建和销毁,同时也提供多种实用的线程锁类型。
[0032]如图2所示,以网络事件为例,采用本发明的系统进行通信的流程,主要包括以下步骤:
[0033]1)上层应用向事件管理模块注册关注的事件类型;
[0034]2)事件管理模块启动事件检测机制,识别注册的所有事件信号;
[0035]3)当有网络事件发生时,可能包括网络连接事件、网络数据事件以及断开连接事件等;
[0036]4)事件管理模块检测到就绪事件信号后,就通过回调方式及时通知上层应用;
[0037]5)上层应用根据事件类型进行相应逻辑业务处理,从而完成了整个事件流程的高效处理。
[0038]本发明的通信方法支持WINDOWS、LINUX等多种平台构建环境。
[0039]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【主权项】
1.基于L-QT-P多线程事件触发机制的通信系统,其特征在于,包括基础功能模块、事件管理模块和多线程模块, 所述基础功能模块提供I/O读写、定时器、目录监视、编解码、信号/槽、数据结构、网络库功能接口,所有功能接口以标准C++方式呈现; 所述事件管理模块提供事件逻辑循环,支持SELECT、POLL、EPOLL、KQUEUE、DEVPOLL、EVPORT以及WIN32事件检测方式检测就绪的事件信号;所述事件管理模块对于检测到已经就绪的事件信号,以回调方式触发事件信号,并及时通知上层应用; 所述多线程模块基于PTHREAD库,提供跨平台的多线程服务。2.根据权利要去1所述的基于L-QT-P多线程事件触发机制的通信系统,其特征在于,所述事件管理模块会自动根据当前平台选择最优的事件检测方式,也可按照上层指定的事件检测方式进行检测。3.根据权利要去1所述的基于L-QT-P多线程事件触发机制的通信系统,其特征在于,所述事件管理模块检测的事件包括网络事件、文件事件以及其他事件。4.根据权利要去1所述的基于L-QT-P多线程事件触发机制的通信系统,其特征在于,所述多线程模块支持线程的创建和销毁,同时也提供多种线程锁类型。5.根据权利要求1至4任意一项所述的基于L-QT-P多线程事件触发机制的通信系统进行通信的方法,其特征在于,包括以下步骤: 1)上层应用向事件管理模块注册关注的事件类型; 2)事件管理模块启动事件检测,识别注册的所有事件信号; 3)当有事件发生时,事件管理模块检测到就绪事件信号后,通过回调方式及时通知上层应用; 4)上层应用根据事件类型进行相应逻辑业务处理,从而完成整个事件流程的处理。6.根据权利要求5所述的方法,其特征在于,所述通信方法支持WINDOWS、LINUX多种λΤΖΖλI 口 ο
【专利摘要】本发明公开了一种基于L-QT-P多线程事件触发机制的通信系统及方法,通信系统包括,事件管理模块提供事件逻辑循环,支持SELECT、POLL、EPOLL等多种方式检测就绪的事件信号,通过回调模式触发事件信号;基础功能模块提供丰富的基础功能,其中包括IO读写、文件目录监视、定时器以及编解码等接口;多线程模块提供线程池服务,支持线程的创建和销毁,同时也提供多种实用的线程锁类型。本发明能够高速检测就绪事件信号,提供了丰富的基础功能接口,提供多线程操作类。本发明的通信方法高效、可移植、非阻塞和跨平台,从而为电力系统提供了便捷的通信技术框架,大大的提高电力系统信息平台建设速度。
【IPC分类】G06F9/54
【公开号】CN105404556
【申请号】CN201510691455
【发明人】单红宇, 林琦, 李培培, 缪凯, 陈志明
【申请人】江苏省电力公司扬州供电公司, 江苏方天电力技术有限公司, 国家电网公司
【公开日】2016年3月16日
【申请日】2015年10月22日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1