CN107239417A - 基于异步事件框架机制处理低速外设访问的系统及方法 - Google Patents
基于异步事件框架机制处理低速外设访问的系统及方法 Download PDFInfo
- Publication number
- CN107239417A CN107239417A CN201710393657.2A CN201710393657A CN107239417A CN 107239417 A CN107239417 A CN 107239417A CN 201710393657 A CN201710393657 A CN 201710393657A CN 107239417 A CN107239417 A CN 107239417A
- Authority
- CN
- China
- Prior art keywords
- task
- asynchronous event
- low
- outside thread
- frame mechanism
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及网络通信领域,公开了一种基于异步事件框架机制处理低速外设访问的系统,包括网络处理模块、异步事件通知框架和多个数据通信设备的外部线程:所述网络处理模块用于将任务加入任务队列,所述任务为数据通信设备与外设间的数据I/O操作;所述异步事件通知框架用于当任务加入任务队列后唤醒一外部线程;所述外部线程用于从任务队列中取出任务并处理。本发明还公开了一种基于异步事件框架机制处理低速外设访问的方法。本发明能够有效避免设备系统调用时堵塞现象的发生。
Description
技术领域
本发明涉及网络通信领域,具体涉及一种基于异步事件框架机制处理低速外设访问的系统和一种基于异步事件框架机制处理低速外设访问的方法。
背景技术
数据通信设备的软件在运行的过程中为了保持良好的并发能力和可扩展性,通常采用的是事件驱动的软件框架,随着数据通信设备的功能需求不断增加,原有的数据通信设备的系统不断出现一些性能问题,影响系统的吞吐量和容量,较为突出的是消息驱动框架中外设访问对系统性能的影响,数据通讯设备的软件经常涉及到与低速外设,即与数据传输速度慢的设备间进行I/O(Input/Output,输入/输出)、写驱动等操作,这些操作使得数据通信设备软件的并发能力极大地降低。
数据通信设备由于其性能要求,数据通信设备的网络处理软件往往采用多线程的调度器模型,用于处理信令协议、表项计算和下发刷新等业务,在进行业务处理的同时,网络处理软件可能需要进行后台日志和管理软件包的处理,将后台日志和管理软件包写到磁盘中,或将计算出的表项调用驱动接口设置到芯片中,此时,数据通信设备当前的调度线程会由于I/O操作或系统调用而发生阻塞情况,使得调度线程卡顿而无法运行,只能等待数据通信设备的内核返回,其它待处理的业务模块的数据在这段时间内将无法得到调度,当数据通信设备的系统业务容量增大,数据通信设备系统的性能便会急剧下降,数据通信设备的CPU并没有在运行处理数据,且线程都在数据通信设备内核的阻塞队列当中等待唤醒的调度,从而出现卡顿等影响用户体验的问题,甚至由于信令协议处理超时,导致业务的中断。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于异步事件框架机制处理低速外设访问的系统和一种基于异步事件框架机制处理低速外设访问的方法,有效避免设备系统调用时堵塞现象的发生。
为达到以上目的,本发明采取的技术方案是:包括网络处理模块、异步事件通知框架和多个数据通信设备的外部线程:
所述网络处理模块用于将任务加入任务队列,所述任务为数据通信设备与外设间的数据I/O操作;
所述异步事件通知框架用于当任务加入任务队列后唤醒一外部线程;
所述外部线程用于从任务队列中取出任务并处理。
在上述技术方案的基础上,多个外部线程同时处理多个任务。
在上述技术方案的基础上,所述外部线程还用于将任务的处理结果反馈给网络处理模块。
本发明还公开了一种基于异步事件框架机制处理低速外设访问的方法,包括:
S1:将任务加入任务队列,所述任务为数据通信设备与外设间的数据I/O操作;
S2:判断任务队列中是否有任务,若有,则转到S3,若没有,则结束;
S3:唤醒一外部线程,同时外部线程从任务队列中取出任务并处理,然后转到S2。
在上述技术方案的基础上,所述外部线程为多个。
在上述技术方案的基础上,多个外部线程同时处理多个任务。
在上述技术方案的基础上,所述外部线程还用于将任务的处理结果反馈给数据通信设备。
与现有技术相比,本发明一种基于异步事件框架机制处理低速外设访问的系统的优点在于:针对数据通信设备与低速外设间数据I/O操作,当数据通信设备与外设间有I/O操作时,将这种容易引起阻塞操作的任务从数据通信设备的软件调度内部剥离到数据通信设备的外部线程中进行处理,这种异步的实现方式,极大地提升了数据通信系统的调度性能,同时,外部线程能够对多个任务进行同时处理,摒弃了目前大多数网络处理软件只能在统一调度器中进行问题处理的情况,增强了数据通信设备的系统性能。
本发明一种基于异步事件框架机制处理低速外设访问的方法的优先在于:基于异步事件的处理机制,针对低速外设与数据通信设备间进行数据的I/O操作,将此类操作任务剥离到数据通信设备的外部线程中进行处理,极大地提升了数据通信系统的调度性能,减少了数据通信设备的调度线程阻塞导致的数据通信设备系统卡顿情况的发生。
附图说明
图1为本发明一种基于异步事件框架机制处理低速外设访问的方法的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本发明实施例提供一种基于异步事件框架机制处理低速外设访问的系统,包括网络处理模块、异步事件通知框架和多个数据通信设备的外部线程。
网络处理模块用于将任务加入任务队列,任务为数据通信设备与外设间的数据I/O操作,本发明主要针对于低速外设,即与数据通信设备间数据传输速度较慢的外部设备,针对数据通信设备与外设间的数据I/O操作的任务,本发明采用异步事件处理机制进行处理。
异步事件通知框架用于当任务加入任务队列后,唤醒一外部线程,即异步事件通知框架相当于一套异步消息的框架接口,通过“事件-唤醒”的方式实现异步通信,当任务队列被加入任务后,唤醒外部线程进行任务处理的准备。
外部线程用于从任务队列中取出任务并处理,即外部线程被异步事件通知框架唤醒后,从任务队列中取出任务并处理,同时外部线程还用于将任务的处理结果反馈给网络处理模块。
对于数据通信设备与外设间的数据I/O操作,存在多个I/O操作同时进行的情况,则每个I/O操作均为一个任务。每个任务由一个外部线程处理,且多个外部线程能够同时进行任务的处理,即多个外部线程同时处理多个任务,采用并发处理的方式,能够对多个任务进行同时处理。任务队列中加入一个任务,则异步事件通知框架唤醒一个线程,进行任务的处理;任务队列中加入2个任务,则异步事件通知框架唤醒2个外部线程,对这2个任务进行同时处理,依此类推,采用并发形式的任务处理方式。当然,线程的设置个数,能够根据实际需求进行灵活配置。
本发明实施例中,针对数据通信设备与低速外设间数据I/O操作,本发明采用异步事件机制来处理低速外设与数据通信设备间的访问,当数据通信设备与外设间有I/O操作时,将这种容易引起阻塞操作的任务从数据通信设备的软件调度内部剥离到数据通信设备的外部线程中进行处理,同时,当有任务加入到任务列表中后,唤醒外部线程进行任务处理的准备,这种异步的实现方式,使得数据通信设备的系统业务运行调度线程不会被I/O操作所阻塞,极大地提升了数据通信系统的调度性能,同时,线程能够对多个任务进行同时处理,摒弃了目前大多数网络处理软件只能在统一调度器中进行问题处理的情况,数据通信设备的系统性能增强。
本发明还提供一种基于上述基于异步事件框架机制处理低速外设访问的系统的基于异步事件框架机制处理低速外设访问的方法,包括:
S1:将任务加入任务队列,所述任务为数据通信设备与外设间的数据I/O操作;
S2:判断任务队列中是否有任务,若有,则转到S3,若没有,则结束;
S3:唤醒一外部线程,同时外部线程从任务队列中取出任务并处理,然后转到S2,线程有多个,每个任务由一个线程处理,且多个线程能够同时进行任务的处理,即多个外部线程同时处理多个任务,进行任务的多线程并发处理。
对于处理完的任务,外部线程还用于将任务的处理结果反馈给数据通信设备,即将任务的处理结果告知数据通信设备。
本发明实施例中,基于异步事件的处理机制,针对低速外设与数据通信设备间进行数据的I/O操作,容易出现的调度线程阻塞情况,将此类操作任务剥离到数据通信设备的外部线程中进行处理,同时,当有任务加入到任务列表中后,唤醒外部线程进行任务处理的准备,这种异步的实现方式,使得数据通信设备的系统业务运行调度线程不会被I/O操作所阻塞,极大地提升了数据通信系统的调度性能,减少了数据通信设备的调度线程阻塞导致的数据通信设备系统卡顿情况的发生。
当然,本发明的不仅局限于数据通信领域,对于任何消耗CPU或可能导致阻塞设备系统的任务操作都可以使用本发明中的方案进行解决。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (7)
1.一种基于异步事件框架机制处理低速外设访问的系统,其特征在于,包括网络处理模块、异步事件通知框架和多个数据通信设备的外部线程:
所述网络处理模块用于将任务加入任务队列,所述任务为数据通信设备与外设间的数据I/O操作;
所述异步事件通知框架用于当任务加入任务队列后唤醒一外部线程;
所述外部线程用于从任务队列中取出任务并处理。
2.如权利要求1所述的一种基于异步事件框架机制处理低速外设访问的系统,其特征在于:多个外部线程同时处理多个任务。
3.如权利要求1所述的一种基于异步事件框架机制处理低速外设访问的系统,其特征在于:所述外部线程还用于将任务的处理结果反馈给网络处理模块。
4.一种基于权利要求1所述系统的基于异步事件框架机制处理低速外设访问的方法,其特征在于,包括:
S1:将任务加入任务队列,所述任务为数据通信设备与外设间的数据I/O操作;
S2:判断任务队列中是否有任务,若有,则转到S3,若没有,则结束;
S3:唤醒一外部线程,同时外部线程从任务队列中取出任务并处理,然后转到S2。
5.如权利要求4所述的一种基于异步事件框架机制处理低速外设访问的方法,其特征在于:所述外部线程为多个。
6.如权利要求5所述的一种基于异步事件框架机制处理低速外设访问的方法,其特征在于:多个外部线程同时处理多个任务。
7.如权利要求4所述的一种基于异步事件框架机制处理低速外设访问的方法,其特征在于:所述外部线程还用于将任务的处理结果反馈给数据通信设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393657.2A CN107239417B (zh) | 2017-05-27 | 2017-05-27 | 基于异步事件框架机制处理低速外设访问的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393657.2A CN107239417B (zh) | 2017-05-27 | 2017-05-27 | 基于异步事件框架机制处理低速外设访问的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107239417A true CN107239417A (zh) | 2017-10-10 |
CN107239417B CN107239417B (zh) | 2021-01-26 |
Family
ID=59985677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710393657.2A Active CN107239417B (zh) | 2017-05-27 | 2017-05-27 | 基于异步事件框架机制处理低速外设访问的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107239417B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256505A (zh) * | 2007-03-02 | 2008-09-03 | 中国科学院声学研究所 | 基于io事件通知机制的单进程内容服务器装置及方法 |
CN102567111A (zh) * | 2011-12-23 | 2012-07-11 | 深圳市融创天下科技股份有限公司 | 一种异步过程调用的方法、系统和终端设备 |
-
2017
- 2017-05-27 CN CN201710393657.2A patent/CN107239417B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256505A (zh) * | 2007-03-02 | 2008-09-03 | 中国科学院声学研究所 | 基于io事件通知机制的单进程内容服务器装置及方法 |
CN102567111A (zh) * | 2011-12-23 | 2012-07-11 | 深圳市融创天下科技股份有限公司 | 一种异步过程调用的方法、系统和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107239417B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552213B2 (en) | Thread pool and task queuing method and system | |
CN101464811B (zh) | 多任务监控管理系统 | |
US7752370B2 (en) | Splitting one hardware interrupt to multiple handlers | |
CN102915254B (zh) | 任务管理方法及装置 | |
CN109684060B (zh) | 一种多类型时间关键任务的混合调度方法 | |
CN109558255A (zh) | 一种任务处理的方法及任务处理装置 | |
CN105337896A (zh) | 报文处理方法和装置 | |
CN102457578B (zh) | 一种基于事件机制的分布式网络监控方法 | |
CN113157409A (zh) | 基于ai的rpa任务调度方法、装置、电子设备及存储介质 | |
CN101963922A (zh) | 任务处理方法和装置 | |
CN107239342A (zh) | 一种存储集群任务管理方法及装置 | |
US11640319B1 (en) | Task processing method and apparatus, electronic device and storage medium | |
CN112214299B (zh) | 多核处理器及其任务调度方法和装置 | |
CN114138506A (zh) | 消息队列调度方法及其装置、设备、介质、产品 | |
CN115981893A (zh) | 消息队列任务处理方法、装置、服务器及存储介质 | |
CN106933681A (zh) | 一种多对象阻塞方法及其系统 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
CN108664340A (zh) | 一种多线程日志发送管理的方法 | |
CN107239417A (zh) | 基于异步事件框架机制处理低速外设访问的系统及方法 | |
CN103995789A (zh) | 一种直接内存存取的实现系统及方法 | |
US10082858B2 (en) | Peripheral device assistance in reducing CPU power consumption | |
CN107066318A (zh) | 一种适用于流计算的数据调度方法 | |
CN1825288A (zh) | 嵌入式sram操作系统进程多队列调度的实现方法 | |
CN104486257A (zh) | 一种基于afdx网络交换机芯片的分级发送调度电路结构 | |
CN101997777A (zh) | 中断处理方法、装置和网络设备 |
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 |