CN111488214A - 一种实时***下多任务之间的通信方法 - Google Patents

一种实时***下多任务之间的通信方法 Download PDF

Info

Publication number
CN111488214A
CN111488214A CN202010308037.6A CN202010308037A CN111488214A CN 111488214 A CN111488214 A CN 111488214A CN 202010308037 A CN202010308037 A CN 202010308037A CN 111488214 A CN111488214 A CN 111488214A
Authority
CN
China
Prior art keywords
task
communication
data
space
namely
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
Application number
CN202010308037.6A
Other languages
English (en)
Other versions
CN111488214B (zh
Inventor
刘鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Gene Automation Technology Co ltd
Original Assignee
Shanghai Gene Automation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Gene Automation Technology Co ltd filed Critical Shanghai Gene Automation Technology Co ltd
Priority to CN202010308037.6A priority Critical patent/CN111488214B/zh
Publication of CN111488214A publication Critical patent/CN111488214A/zh
Application granted granted Critical
Publication of CN111488214B publication Critical patent/CN111488214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供一种实时***下多任务之间的通信方法,其特征在于,包括控制端、任务、数据,所述控制端分别和任务、数据连接;所述控制端由数据通信控制服务端、主控制器通信数据空间以及任务通信空间分配器组成,所述数据通信控制服务端分别和主控制器通信数据空间、任务通信空间分配器连接,所述主控制器通信数据空间和任务连接,所述任务通信空间分配器和数据连接;本发明将被控任务,与过程数据,以及控制服务端分开为三大板块。使用数据通信控制服务端对多任务进行之间进行通信控制管理。本发明使用控制端、任务、数据分散控制的方法,能够在不影响多任务实时性能正常通讯的基础上,能有效的监控该任务通信过程。

Description

一种实时***下多任务之间的通信方法
技术领域
本发明涉及数据通讯***,尤其涉及一种实时***下多任务之间的通信方法。
背景技术
实时操作***(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理***作出快速响应,并控制所有实时任务协调一致运行的操作***。因而,提供及时响应和高可靠性是其主要特点。实时***的特点是,如果逻辑和时序出现偏差将会引起严重后果的***。
一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全只属该程序自己。多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。任何为任务所占用的实体都可称为资源。可以被一个以上任务使用的资源叫做共享资源。
因此要对任务的请求及时响应,并在可能条件下尽量提高***资源的利用率。把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分给任务。对每个任务保证足够快的响应时间,并提供交互会话能力。因此在任务通信中不能进行干扰,否则会降低其实时***性能,同时影响多任务之间通信过程。
常见的任务之间的通信方式有,互斥锁、信号量(Semaphore)、信号(signal)、(pipe)、消息队列(message queue)、共享内存(shared memory)以及套字节(socket)。其中信号量主要作为进程之间以及同一进程的不同线程之间的同步和互斥手段。管道、消息队列、共享内存均是多任务通信的有效方式。其中共享内存是最有效的进程间通信方式,是针对其他通信机制运行效率较低而设计的,它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新.这种通信方式需要依靠某种同步机制,如互斥锁和信号量等。
因此实时***中多任务之间的通信方式应当满足以上多种的通信方式,否则会对通信以及实时性能造成影响。
算法上应当满足资源分配管理,快速建立与过程监控,同时能根据任务需要建立的通信类型,分配所需要的空间资源。通信的结构体信息中,包含常见的多种通信规则,以满足所有需要建立连接任务的正常使用。处理机制上,可以向外部***开放信息监测接口,但是绝不能干扰正常建立通信任务组运行状态。任务调度上,应满足实时任务通信规则,做到实时调度与分时调度。同时,***中不能浪费资源,及时做到***资源回收以及在分配工作。***的任务是在进程与线程中运行,因此进程与线程是有一定的区别。
进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是***进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。
线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有***资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。
因此在建立好完整的通信规则,与多任务之间通信的时候,为了满足实时***通信的稳定性,在多任务通信的基础上应当有监测机制增强可视化性能,监测多任务之间通信的状态,及时了解程序任务运行过程,做到能有效的监测到任务状态及时更正,以及资源及时回收。
发明内容
根据以上技术问题,为了更好的监测控制多任务之间的通信过程,因此需要建立一个完整的数据通信控制***。为了任务数据以及程序的完整流畅,因此将被控任务,与过程数据,以及控制服务端分开为三大板块。使用数据通信控制服务端对多任务进行之间进行通信控制管理。其重点是建立完整的算法规则与数据库。本发明提供一种实时***下多任务之间的通信方法,其特征在于,包括控制端、任务、数据,所述控制端分别和任务、数据连接;
所述控制端由数据通信控制服务端、主控制器通信数据空间以及任务通信空间分配器组成,所述数据通信控制服务端分别和主控制器通信数据空间、任务通信空间分配器连接,所述主控制器通信数据空间和任务连接,所述任务通信空间分配器和数据连接;
所述主控制器通信数据空间,是一个任务与控制端公用的数据存储空间,其主要功能是满足任务能够与通信控制服务端之间的信息交互;
所述通信控制服务端,是算法逻辑的规则库,其中包含了任务ID注册管理、接听响应任务连接请求、查询监控连接状态、建立任务通信规则、回收任务通信空资源;
所述任务通信空间分配器主要功能是在通信控制服务端的操控下,分配管理任务通信数据空间,其能动态的建立满足相应任务通信的内存空间与通信方式,并将信息反馈于通信控制服务端;
所述任务是***中运行需要使用控制端通信的任务集合的总称,其中包含了各类需要通信并在控制服务端注册的任务;
所述数据是由任务通信数据空间组成,每对或者每组任务需要相互通信时候都会由任务通信空间分配器分配一个能够满足该任务之间通信的通信数据空间。
一种实时***下多任务之间的通信方法,其具体操作流程为:
(1)在启动的时候控制端作为一个单独的程序,创建任务通信控制端,分配主控制端数据通信空间,注册需要通信任务的ID号,建立规则库等待需要通信任务的请求;
(2)等待其中任务即任务A需要与其他任务B建立连接时候,该任务在主控制器通信数据空间发布该任务的请求的信息。通信控制服务端在主控制器通信数据空间获得该任务信息请求,需要向被建立连接的任务即任务B发送任务建立连接请求;被建立连接的任务即任务B响应请求后,通信控制服务端根据任务通信规则,使用任务通信空间分配器建立满足相应任务通信的内存空间与通信方式,并且发布建立连接信息的;在需要通信的任务即任务A、任务B根据通信控制服务端发布的连接信息,进行连接,形成任务组,完成任务之间通信;此时,通信控制服务端监测通信连接过程,但是不对其过程进行控制与任何干扰;
(3)在以上基础上即任务A与任务B通信的过程中,如果有新的任务即任务C满足并且需要加入该通信过程,那么新的任务即任务C在主控制器通信数据空间发布该任务需要连接的请求的信息,通信控制服务端在主控制器通信数据空间获得该任务信息请求,需要向已经建立连接的任务组即任务A、任务B发送任务建立连接请求,等待任务组回复响应通过连接时,任务通信空间分配器向发布的连接信息,需要添加连接的任务即任务C根据连接信息加入已经建立连接的任务组即任务A、任务B,形成新的任务组即任务A、任务B、任务C,完成任务之间的任务通信;
(4)在通信完成后,任务端即任务组向控制端即通信控制服务端发送结束连接信息;控制端即通信控制服务端接收通信变更信息,使用任务通信空间分配器回收通信连接资源,向任务端即任务组发布通信回收信息;完成多任务之间通信过程。
本发明的有益效果为:本发明将被控任务,与过程数据,以及控制服务端分开为三大板块。使用数据通信控制服务端对多任务进行之间进行通信控制管理。本发明使用控制端、任务、数据分散控制的方法,能够在不影响多任务实时性能正常通讯的基础上,能有效的监控该任务通信过程。同时该方法使用方便简单,算法普适性能高;可视化程度高,能够快速了解***状态;有利于后期维护;模块化程度高,兼容性好,满足多种架构;动态分配,能有效的降低***资源的浪费,是的***性能更加稳定可控。
本发明使用方便简单,算法普适性能高;可视化程度高,能够快速了解***状态;集中管理里分散控制,有利于后期维护;模块化程度高,兼容性好,满足多种架构;动态分配,能有效的降低***资源的浪费;一致性高,使用统一的任务通信数据接口。
附图说明
图1为本发明原理结构图。
图2为本发明多任务通信流程图。
具体实施方式
根据图所示,对本发明进行进一步说明:
实施例1
本发明为一种实时***下多任务之间的通信方法,其特征在于,包括控制端、任务、数据,控制端分别和任务、数据连接;控制端由数据通信控制服务端、主控制器通信数据空间以及任务通信空间分配器组成,数据通信控制服务端分别和主控制器通信数据空间、任务通信空间分配器连接,主控制器通信数据空间和任务连接,任务通信空间分配器和数据连接。
实施例2
本发明使用时,首先在启动的时候控制端作为一个单独的程序,创建任务通信控制端、分配主控制端数据通信空间,注册需要通信任务的ID号,建立规则库等待需要通信任务的请求;
然后等待其中任务即任务A需要与其他任务B建立连接时候,该任务在主控制器通信数据空间发布该任务的请求的信息。通信控制服务端在主控制器通信数据空间获得该任务信息请求,需要向被建立连接的任务即任务B发送任务建立连接请求;被建立连接的任务即任务B响应请求后,通信控制服务端根据任务通信规则,使用任务通信空间分配器建立满足相应任务通信的内存空间与通信方式,并且发布建立连接信息的;在需要通信的任务即任务A、任务B根据通信控制服务端发布的连接信息,进行连接,形成任务组,完成任务之间通信;此时,通信控制服务端监测通信连接过程,但是不对其过程进行控制与任何干扰;
然后再在以上基础上即任务A与任务B通信的过程中,如果有新的任务即任务C满足并且需要加入该通信过程,那么新的任务即任务C在主控制器通信数据空间发布该任务需要连接的请求的信息,通信控制服务端在主控制器通信数据空间获得该任务信息请求,需要向已经建立连接的任务组即任务A、任务B发送任务建立连接请求,等待任务组回复响应通过连接时,任务通信空间分配器向发布的连接信息,需要添加连接的任务即任务C根据连接信息加入已经建立连接的任务组即任务A、任务B,形成新的任务组即任务A、任务B、任务C,完成任务之间的任务通信;
最后在通信完成后,任务端即任务组向控制端即通信控制服务端发送结束连接信息;控制端即通信控制服务端接收通信变更信息,使用任务通信空间分配器回收通信连接资源,向任务端即任务组发布通信回收信息;完成多任务之间通信过程。
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也应视为本发明的保护范围。

Claims (2)

1.一种实时***下多任务之间的通信方法,其特征在于,包括控制端、任务、数据,所述控制端分别和任务、数据连接;
所述控制端由数据通信控制服务端、主控制器通信数据空间以及任务通信空间分配器组成,所述数据通信控制服务端分别和主控制器通信数据空间、任务通信空间分配器连接,所述主控制器通信数据空间和任务连接,所述任务通信空间分配器和数据连接;
所述主控制器通信数据空间,是一个任务与控制端公用的数据存储空间,其主要功能是满足任务能够与通信控制服务端之间的信息交互;
所述通信控制服务端,是算法逻辑的规则库,其中包含了任务ID注册管理、接听响应任务连接请求、查询监控连接状态、建立任务通信规则、回收任务通信空资源;
所述任务通信空间分配器主要功能是在通信控制服务端的操控下,分配管理任务通信数据空间,其能动态的建立满足相应任务通信的内存空间与通信方式,并将信息反馈于通信控制服务端;
所述任务是***中运行需要使用控制端通信的任务集合的总称,其中包含了各类需要通信并在控制服务端注册的任务;
所述数据是由任务通信数据空间组成,每对或者每组任务需要相互通信时候都会由任务通信空间分配器分配一个能够满足该任务之间通信的通信数据空间。
2.一种实时***下多任务之间的通信方法,其具体操作流程为:
(1)在启动的时候控制端作为一个单独的程序,创建任务通信控制端,分配主控制端数据通信空间,注册需要通信任务的ID号,建立规则库等待需要通信任务的请求;
(2)等待其中任务即任务A需要与其他任务B建立连接时候,该任务在主控制器通信数据空间发布该任务的请求的信息。通信控制服务端在主控制器通信数据空间获得该任务信息请求,需要向被建立连接的任务即任务B发送任务建立连接请求;被建立连接的任务即任务B响应请求后,通信控制服务端根据任务通信规则,使用任务通信空间分配器建立满足相应任务通信的内存空间与通信方式,并且发布建立连接信息的;在需要通信的任务即任务A、任务B根据通信控制服务端发布的连接信息,进行连接,形成任务组,完成任务之间通信;此时,通信控制服务端监测通信连接过程,但是不对其过程进行控制与任何干扰;
(3)在以上基础上即任务A与任务B通信的过程中,如果有新的任务即任务C满足并且需要加入该通信过程,那么新的任务即任务C在主控制器通信数据空间发布该任务需要连接的请求的信息,通信控制服务端在主控制器通信数据空间获得该任务信息请求,需要向已经建立连接的任务组即任务A、任务B发送任务建立连接请求,等待任务组回复响应通过连接时,任务通信空间分配器向发布的连接信息,需要添加连接的任务即任务C根据连接信息加入已经建立连接的任务组即任务A、任务B,形成新的任务组即任务A、任务B、任务C,完成任务之间的任务通信;
(4)在通信完成后,任务端即任务组向控制端即通信控制服务端发送结束连接信息;控制端即通信控制服务端接收通信变更信息,使用任务通信空间分配器回收通信连接资源,向任务端即任务组发布通信回收信息;完成多任务之间通信过程。
CN202010308037.6A 2020-04-17 2020-04-17 一种实时***下多任务之间的通信方法 Active CN111488214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010308037.6A CN111488214B (zh) 2020-04-17 2020-04-17 一种实时***下多任务之间的通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010308037.6A CN111488214B (zh) 2020-04-17 2020-04-17 一种实时***下多任务之间的通信方法

Publications (2)

Publication Number Publication Date
CN111488214A true CN111488214A (zh) 2020-08-04
CN111488214B CN111488214B (zh) 2022-07-12

Family

ID=71812797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010308037.6A Active CN111488214B (zh) 2020-04-17 2020-04-17 一种实时***下多任务之间的通信方法

Country Status (1)

Country Link
CN (1) CN111488214B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289505A1 (en) * 2004-06-25 2005-12-29 Williams Stanley N Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology
US7140025B1 (en) * 1999-11-16 2006-11-21 Mci, Llc Method and apparatus for providing a real-time message routing communications manager
CN101464811A (zh) * 2008-12-29 2009-06-24 艾默生网络能源有限公司 多任务监控管理***
CN101782864A (zh) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 一种改善Web服务器通信服务稳定性的方法
CN102360310A (zh) * 2011-09-28 2012-02-22 中国电子科技集团公司第二十八研究所 一种分布式***环境下的多任务进程监视方法和监视***
CN102591726A (zh) * 2011-12-31 2012-07-18 青岛海信宽带多媒体技术有限公司 一种多进程通信方法
CN109669784A (zh) * 2017-10-13 2019-04-23 华为技术有限公司 一种进程间通信的方法及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140025B1 (en) * 1999-11-16 2006-11-21 Mci, Llc Method and apparatus for providing a real-time message routing communications manager
US20050289505A1 (en) * 2004-06-25 2005-12-29 Williams Stanley N Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology
CN101464811A (zh) * 2008-12-29 2009-06-24 艾默生网络能源有限公司 多任务监控管理***
CN101782864A (zh) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 一种改善Web服务器通信服务稳定性的方法
CN102360310A (zh) * 2011-09-28 2012-02-22 中国电子科技集团公司第二十八研究所 一种分布式***环境下的多任务进程监视方法和监视***
CN102591726A (zh) * 2011-12-31 2012-07-18 青岛海信宽带多媒体技术有限公司 一种多进程通信方法
CN109669784A (zh) * 2017-10-13 2019-04-23 华为技术有限公司 一种进程间通信的方法及***

Also Published As

Publication number Publication date
CN111488214B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
US20130198755A1 (en) Apparatus and method for managing resources in cluster computing environment
US6625638B1 (en) Management of a logical partition that supports different types of processors
KR102103596B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
US8112559B2 (en) Increasing available FIFO space to prevent messaging queue deadlocks in a DMA environment
EP0366581A2 (en) Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
CN109857558A (zh) 一种数据流处理方法及***
US10686728B2 (en) Systems and methods for allocating computing resources in distributed computing
CN101424941B (zh) 一种控制实现方法和***
CN110278279A (zh) 一种动态资源调度机制的大数据离线调度开发平台及方法
WO2023274278A1 (zh) 一种资源调度的方法、装置及计算节点
US5511194A (en) Processing system and processing method capable of dynamically replacing job environment
US20110173287A1 (en) Preventing messaging queue deadlocks in a dma environment
US20120059938A1 (en) Dimension-ordered application placement in a multiprocessor computer
CN111488214B (zh) 一种实时***下多任务之间的通信方法
WO2004046923A1 (en) Concurrent operation of a state machine family
CN116382861A (zh) Numa架构的服务器网络进程自适应调度方法、***及介质
CN114115140B (zh) 多核主控制器、主辅多核控制器间数据同步***和方法
CN115408133A (zh) 多核结构的任务调度方法、多核处理***、设备及介质
CN110399206B (zh) 一种基于云计算环境下idc虚拟化调度节能***
CN113110935A (zh) 分布式批量作业处理***
JPH09179834A (ja) 並列システムにおけるプロセスのスケジューリング方法
CN115811549B (zh) 支持混合异构运行时的云边资源管理调度方法及***
KR20030050860A (ko) 다중 프로세서 시스템의 작업 함수 처리 방법
CN116991618A (zh) 信息处理方法及装置
JPH11353287A (ja) 並列システムにおけるプロセスのスケジューリング方式

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