CN108874511A - 一种基于微线程技术的通信服务快速响应系统 - Google Patents
一种基于微线程技术的通信服务快速响应系统 Download PDFInfo
- Publication number
- CN108874511A CN108874511A CN201810621491.XA CN201810621491A CN108874511A CN 108874511 A CN108874511 A CN 108874511A CN 201810621491 A CN201810621491 A CN 201810621491A CN 108874511 A CN108874511 A CN 108874511A
- Authority
- CN
- China
- Prior art keywords
- module
- main website
- communication service
- micro
- quick response
- 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.)
- Pending
Links
Classifications
-
- 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/466—Transaction processing
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于微线程技术的通信服务快速响应系统,包括主站端口、母任务执行模块和任务逻辑关联模块;所述主站端口用于对外端信息进行接收,然后将接收的信息输入到母任务执行模块中,所述母任务执行模块用于将主站端口接收的信息进行数据处理,再将处理后的数据进行输出,完成任务处理;所述任务逻辑关联模块用于将主站端口接收的多组数据信息进行单个处理;该基于微线程技术的通信服务快速响应系统,通过主站端口、母任务执行模块和任务逻辑关联模块的设计,使得微线程除了具备线程的多任务特点之外,还支持将多任务中较特殊的进行二次解构和拆细,形成具备一定逻辑关系的子任务组,变为“任务‑子任务‑多对多”的业务关系。
Description
技术领域
本发明涉及通信服务中微线程技术领域,具体为一种基于微线程技术的通信服务快速响应系统。
背景技术
通信服务的底层其实就是报文交互,报文到达后会触发一个中断,通知主机CPU处理,如果信息量大,则中断次数就会增加,主机CPU就没有资源去顾及其它任务,所以普通的电脑网卡就集成了报文处理功能,成为CPU的协处理器,专门负责通信报文的组织、校验、收发时机控制及同底层设备交互等工作,主机CPU只需要处理报文的应用即可。
这种设计将主机CPU从通信交互的繁琐中断机制中解放出来,但是也引发了另外一个问题,即主机CPU对通信具体过程的控制能力大大减弱。当链路质量良好时,主机CPU同网卡之间的配合性能最佳;当链路质量欠佳时,网卡内部在做什么主机CPU是完全不知道的,只能被动等待,从而引发超时、长时间等待、操作指令不返回、线程假死等问题。鉴于目前多任务、多线程的广泛使用,接入的装置数越多,链路质量越不稳定,则通信服务的响应速度就越慢。
在电力系统绝大多数的信息集成类项目都存在通信服务不稳定的情况,同链路质量正相关。链路质量好则通信服务性能好,反之则较差,关键是链路质量是个不可控的因素,直接导致通信服务的性能存在较大变数。通信服务是主站的核心业务,这一块性能受损,则整个主站的性能都受到较大影响,如CPU空转、发热、操作停顿、画面刷新缓慢等,不仅人性化体验差,电网事故的反应能力也降低。
通信服务存在性能短板的关键原因在于:
(1)对通信过程的处理过于笼统,未进行深入研究和细化处理;
(2)主站对各装置的通信均采用一个独立线程来维护,因此宏观上各设备的通信过程是并行的,但具体到某个特定装置的通信过程,则又是串行的。该过程任何一个细微环节出现停顿和延时,整个线程就陷入停顿,从而影响线程的维护和管理者,反应在指标上就是主机CPU负荷率上升;
(3)通信服务性能下降引发的超时、指令执行变慢、人机交互不畅等问题,只是性能降低,功能并未丧失,因此长期不受重视,没有采取措施来治理。
发明内容
针对现有技术的不足,本发明提供了一种基于微线程技术的通信服务快速响应系统,对通信过程进行筛选和优化,将传统线程在任务态的串行方法,开拓成并行方法,从而大幅提升通信服务性能。
为实现以上目的,本发明通过以下技术方案予以实现:一种基于微线程技术的通信服务快速响应系统,包括主站端口、母任务执行模块和任务逻辑关联模块;所述主站端口用于对外端信息进行接收,然后将接收的信息输入到母任务执行模块中,所述母任务执行模块用于将主站端口接收的信息进行数据处理,再将处理后的数据进行输出,完成任务处理;所述任务逻辑关联模块用于将主站端口接收的多组数据信息进行单个处理。
进一步,所述任务逻辑关联模块内部包含多个子任务执行模块,多个子任务执行模块可以通过阻塞模块组进行单独阻塞。
进一步,所述多个子任务执行模块与阻塞模块之间可以随意分解和聚合。
进一步,所述阻塞模块组包括睡眠开始与睡眠结束、I/O操作阻塞与I/O操作完成、等待锁定与锁可用、等待与开始和暂停与重新开始。
微线程可以理解为相对于线程更轻量级的逻辑线程。在同一时间片只能有一个线程针对一个cpu执行指令,而其他的线程必须被挂起,然后内核调度程序不断的唤醒/挂起线程来模拟多个任务的执行,而如果对线程使用不当就会造成过多的线程切换开销。而实际上很多线程切换是没有必要的,因为真正工作的线程在同一时间只有一个,微线程的概念由此而生:通过很简单的调度来实现微线程之间的切换;支持任务的拆细和重组关联,动态分配更紧凑的轻量级线程来执行拆细之后的任务。因为不会出现竞争条件,微线程的一大好处是内核永远安全。
微线程有个的调度机制叫协程。微线程中如果需要阻塞的时候就把具体工作交给外部协作协程来处理,等处理完了再回到微线程中继续执行,实现类似于“中断”的效果,这个过程在概念上与实际的线程挂起/唤醒是相同的,而切换代价要小的多。
有益效果
本发明提供了一种基于微线程技术的通信服务快速响应系统。具备以下
有益效果:
该基于微线程技术的通信服务快速响应系统,通过主站端口、母任务执行模块和任务逻辑关联模块的设计,使得微线程除了具备线程的多任务特点之外,还支持将多任务中较特殊的进行二次解构和拆细,形成具备一定逻辑关系的子任务组,变为“任务-子任务-多对多”的业务关系。
同时,本系统还具备如下优势:
(1)随意分解和聚合;在子任务繁重时衍生多个微线程和一个协程来执行任务,随后自行销毁,这同线程的挂起/激活消耗CPU时间模式不同;
(2)预判和提前终止返回;微线程在执行子任务的同时,会由协程判断下一个子任务执行条件是否成熟,不成熟时直接返回并终止当前任务。而线程在执行一个任务的时候会按照顺序执行,一旦执行不下去则进入无限循环(挂起)直至销毁,在实时性方面同微线程不可同日而语;
(3)模糊技术;微线程打破了传统线程类似于“派工”的概念,必须指定某个线程执行某项任务;一旦任务产生,微线程会根据架构和逻辑,核查系统资源后进行自由分组和分工执行,调用者不需要关心具体由谁来执行,因此CPU负载大为减轻,而达到的效果是一样的。
附图说明
图1为本发明的解构和重组流程图;
图2为本发明的微线程条件下CPU的消耗示意图;
图中:1-主站端口、2-母任务执行模块、3-任务逻辑关联模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于微线程技术的通信服务快速响应系统,包括主站端口1、母任务执行模块2和任务逻辑关联模块3;所述主站端口1用于对外端信息进行接收,然后将接收的信息输入到母任务执行模块2中,所述母任务执行模块2用于将主站端口1接收的信息进行数据处理,再将处理后的数据进行输出,完成任务处理;所述任务逻辑关联模块3用于将主站端口1接收的多组数据信息进行单个处理,所述阻塞模块组包括睡眠开始与睡眠结束、I/O操作阻塞与I/O操作完成、等待锁定与锁可用、等待与开始和暂停与重新开始;微线程在执行子任务的同时,会由协程判断下一个子任务执行条件是否成熟,不成熟时直接返回并终止当前任务。而线程在执行一个任务的时候会按照顺序执行,一旦执行不下去则进入无限循环直至销毁,在实时性方面同微线程不可同日而语。
进一步,所述任务逻辑关联模块3内部包含多个子任务执行模块,多个子任务执行模块可以通过阻塞模块组进行单独阻塞,所述多个子任务执行模块与阻塞模块之间可以随意分解和聚合;在子任务繁重时衍生多个微线程和一个协程来执行任务,随后自行销毁,这同线程的挂起/激活消耗CPU时间模式不同。
如图2所示在执行具体任务时,微线程则是“脉冲式”,有具体指令就执行,执行完即返回释放掉CPU资源,性能大增。
微线程可以理解为相对于线程更轻量级的逻辑线程;在同一时间片只能有一个线程针对一个cpu执行指令,而其他的线程必须被挂起,然后内核调度程序不断的唤醒/挂起线程来模拟多个任务的执行,而如果对线程使用不当就会造成过多的线程切换开销。而实际上很多线程切换是没有必要的,因为真正工作的线程在同一时间只有一个,微线程的概念由此而生:通过很简单的调度来实现微线程之间的切换;支持任务的拆细和重组关联,动态分配更紧凑的轻量级线程来执行拆细之后的任务。因为不会出现竞争条件,微线程的一大好处是内核永远安全。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种基于微线程技术的通信服务快速响应系统,包括主站端口(1)、母任务执行模块(2)和任务逻辑关联模块(3);其特征在于:所述主站端口(1)用于对外端信息进行接收,然后将接收的信息输入到母任务执行模块(2)中,所述母任务执行模块(2)用于将主站端口(1)接收的信息进行数据处理,再将处理后的数据进行输出,完成任务处理;所述任务逻辑关联模块(3)用于将主站端口(1)接收的多组数据信息进行单个处理。
2.根据权利要求书1所述的一种基于微线程技术的通信服务快速响应系统,其特征在于,所述任务逻辑关联模块(3)内部包含多个子任务执行模块,多个子任务执行模块可以通过阻塞模块组进行单独阻塞。
3.根据权利要求书1所述的一种基于微线程技术的通信服务快速响应系统,其特征在于,所述多个子任务执行模块与阻塞模块之间可以随意分解和聚合。
4.根据权利要求书1所述的一种基于微线程技术的通信服务快速响应系统,其特征在于,所述阻塞模块组包括睡眠开始与睡眠结束、I/O操作阻塞与I/O操作完成、等待锁定与锁可用、等待与开始和暂停与重新开始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810621491.XA CN108874511A (zh) | 2018-06-15 | 2018-06-15 | 一种基于微线程技术的通信服务快速响应系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810621491.XA CN108874511A (zh) | 2018-06-15 | 2018-06-15 | 一种基于微线程技术的通信服务快速响应系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108874511A true CN108874511A (zh) | 2018-11-23 |
Family
ID=64339269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810621491.XA Pending CN108874511A (zh) | 2018-06-15 | 2018-06-15 | 一种基于微线程技术的通信服务快速响应系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874511A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119269A (zh) * | 2019-04-19 | 2019-08-13 | 北京大米科技有限公司 | 控制任务对象的方法、装置、服务器及存储介质 |
CN110990157A (zh) * | 2019-12-09 | 2020-04-10 | 云南电网有限责任公司保山供电局 | 一种适应微线程机制的录波主站通信传输系统及其方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902512A (zh) * | 2012-08-31 | 2013-01-30 | 浪潮电子信息产业股份有限公司 | 一种基于多线程编程及消息队列的多线程并行处理方法 |
CN103164273A (zh) * | 2012-09-06 | 2013-06-19 | 佳都新太科技股份有限公司 | 一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法 |
CN104142858A (zh) * | 2013-11-29 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 阻塞任务调度方法及装置 |
CN106325983A (zh) * | 2015-06-29 | 2017-01-11 | 北京中科院软件中心有限公司 | 一种内存占用小、支持并发的微程模型及调度方法 |
CN106850829A (zh) * | 2017-02-28 | 2017-06-13 | 苏州星熙数据科技有限公司 | 一种基于非阻塞通信的微服务系统设计方法 |
-
2018
- 2018-06-15 CN CN201810621491.XA patent/CN108874511A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902512A (zh) * | 2012-08-31 | 2013-01-30 | 浪潮电子信息产业股份有限公司 | 一种基于多线程编程及消息队列的多线程并行处理方法 |
CN103164273A (zh) * | 2012-09-06 | 2013-06-19 | 佳都新太科技股份有限公司 | 一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法 |
CN104142858A (zh) * | 2013-11-29 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 阻塞任务调度方法及装置 |
CN106325983A (zh) * | 2015-06-29 | 2017-01-11 | 北京中科院软件中心有限公司 | 一种内存占用小、支持并发的微程模型及调度方法 |
CN106850829A (zh) * | 2017-02-28 | 2017-06-13 | 苏州星熙数据科技有限公司 | 一种基于非阻塞通信的微服务系统设计方法 |
Non-Patent Citations (1)
Title |
---|
李祖松等: "同时多微线程体系结构研究", 《计算机研究与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119269A (zh) * | 2019-04-19 | 2019-08-13 | 北京大米科技有限公司 | 控制任务对象的方法、装置、服务器及存储介质 |
CN110119269B (zh) * | 2019-04-19 | 2023-07-21 | 北京大米科技有限公司 | 控制任务对象的方法、装置、服务器及存储介质 |
CN110990157A (zh) * | 2019-12-09 | 2020-04-10 | 云南电网有限责任公司保山供电局 | 一种适应微线程机制的录波主站通信传输系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106293919B (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
CN106980546B (zh) | 一种任务异步执行方法、装置及系统 | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
CN109918141B (zh) | 线程执行方法、装置、终端及存储介质 | |
US8056083B2 (en) | Dividing a computer job into micro-jobs for execution | |
CN106209482A (zh) | 一种数据中心监控方法及系统 | |
CN102722402B (zh) | 一种非抢占式实时调度多任务的处理系统及方法 | |
CN103019835A (zh) | 一种多核处理器中断资源优化处理系统和方法 | |
CN110795254A (zh) | 一种基于php处理高并发io的方法 | |
CN108874511A (zh) | 一种基于微线程技术的通信服务快速响应系统 | |
CN109684060A (zh) | 一种多类型时间关键任务的混合调度方法 | |
CN103064657A (zh) | 单个处理器上实现多应用并行处理的方法及装置 | |
CN104375893A (zh) | 一种基于两级操作系统架构的分区调度方法 | |
CN104598778B (zh) | 权限调度方法及装置 | |
Liu et al. | Towards low-latency I/O services for mixed workloads using ultra-low latency SSDs | |
Naghibzadeh | A modified version of rate-monotonic scheduling algorithm and its' efficiency assessment | |
CN112395062A (zh) | 任务处理方法、装置、设备及计算机可读存储介质 | |
CN103514036A (zh) | 一种用于事件触发和批量处理的调度系统和方法 | |
CN107948224A (zh) | 客户端请求的超时处理方法和装置 | |
CN115913658A (zh) | 一种基于soar聚类联动应用服务的控制方法和装置 | |
CN103793274A (zh) | 一种credit调度器中增量时间片调整架构及方法 | |
CN111176847B (zh) | 物理核超多线程服务器上大数据集群性能优化方法及装置 | |
Li et al. | The improved EDF scheduling algorithm for embedded real-time system in the uncertain environment | |
Alhussian et al. | An efficient real-time multiprocessor scheduling algorithm | |
Prabhaker et al. | Performance based investigation of scheduling algorithm on multicore processor |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |
|
RJ01 | Rejection of invention patent application after publication |