CN114691326A - 多任务的调度方法、多核处理器及机旁监控系统 - Google Patents

多任务的调度方法、多核处理器及机旁监控系统 Download PDF

Info

Publication number
CN114691326A
CN114691326A CN202210259698.3A CN202210259698A CN114691326A CN 114691326 A CN114691326 A CN 114691326A CN 202210259698 A CN202210259698 A CN 202210259698A CN 114691326 A CN114691326 A CN 114691326A
Authority
CN
China
Prior art keywords
task
affinity
central processing
processing unit
processed
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
Application number
CN202210259698.3A
Other languages
English (en)
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 Marine Diesel Engine Research Institute
Original Assignee
Shanghai Marine Diesel Engine Research Institute
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 Marine Diesel Engine Research Institute filed Critical Shanghai Marine Diesel Engine Research Institute
Priority to CN202210259698.3A priority Critical patent/CN114691326A/zh
Publication of CN114691326A publication Critical patent/CN114691326A/zh
Pending legal-status Critical Current

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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种多任务的调度方法,用于将所述多任务分配给多核处理器,所述多核处理器包括第一中央处理器和第二中央处理器,所述多任务按预设标准分为亲和任务与非亲和任务;所述亲和任务仅由所述第一中央处理器处理;所述非亲和任务由所述第一中央处理器和/或第二中央处理器处理。本申请为CAN总线接收/发送任务分配一个专门用于CAN接收/发送任务处理的中央处理器,确保CAN任务一直在指定的中央处理器处理,不被操作系统调度到其他中央处理器,避免了任务被调度产生的性能损失,保证实时进程的调度,避免其他中央处理器运行的任务被该任务干扰。

Description

多任务的调度方法、多核处理器及机旁监控系统
技术领域
本申请涉及多核处理器相关技术领域,具体涉及多任务的调度方法、多核处理器及机旁监控系统。
背景技术
机旁监控设备的控制对象是某型高速柴油机,包括8V、12V、16V、20V等系列,用于主机推进及发电机组原动机。机旁监控设备实现机旁操作、机旁显示、远程数据通讯、配套部件参数修正、数据存储等功能。
现阶段柴油机机旁监控设备主要基于windows桌面操作系统运行,主要存在三个问题:一是操作系统实时性不高且任务调度过程中存在性能损失与干扰,二是设备监测和控制处于同一个软件业务层、逻辑划分不清晰,三是操作系统受制于国外产品。
发明内容
本申请的目的在于提供一种为CAN总线接收/发送任务分配一个专门用于CAN接收/发送任务处理的多任务的调度方法、多核处理器及机旁监控系统,确保CAN任务一直在指定的中央处理器处理,不被操作系统调度到其他中央处理器,避免了任务被调度产生的性能损失,保证实时进程的调度,避免其他中央处理器运行的任务被该任务干扰。
为达上所述目的,本申请提供如下技术方案:
一种多任务的调度方法,用于将所述多任务分配给多核处理器,所述多核处理器包括第一中央处理器和第二中央处理器,所述多任务按预设标准分为亲和任务与非亲和任务;
所述亲和任务仅由所述第一中央处理器处理;
所述非亲和任务由所述第一中央处理器和/或第二中央处理器处理。
本申请的一些实施例中,所述任务在被所述多核处理器处理之前进入等待队列,所述等待队列包括亲和等待队列和非亲和等待队列;
所述亲和任务进入所述亲和等待队列中等待至被所述第一中央处理器处理,所述非亲和任务进入所述非亲和等待队列中等待至被所述第一中央处理器和/或所述第二中央处理器处理。
本申请的一些实施例中,所述多任务具有优先级别属性,所述第一中央处理器、第二中央处理器根据各任务的优先级别决定逐个处理各任务的顺序;
所述任务的优先级别越高,在所述等待队列中的位置越靠前并且越先被所述中央处理器处理。
本申请的一些实施例中,对于非亲和等待队列中的待处理任务,如果所述第一中央处理器或所述第二中央处理器处于空闲状态,则所述待处理任务由对应的中央处理器进行处理;
如果所述第一中央处理器或所述第二中央处理器正在处理当前任务,则判断所述当前任务与所述非亲和等待队列中的待处理任务的优先级别;
如果所述非亲和等待队列中的待处理任务的优先级别低于所述当前任务的优先级别,则所述非亲和等待队列中的待处理任务等待至所述第一中央处理器或第二中央处理器进入所述空闲状态之后再被对应的中央处理器处理;
对于所述第一中央处理器,如果所述非亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第一中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务,所述被顶替任务进入所述亲和等待队列中等待至所述第一中央处理器进入所述空闲状态之后再被处理;
对于所述第二中央处理器,如果所述非亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第二中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务,所述被顶替任务进入所述非亲和等待队列中等待至所述第二中央处理器进入所述空闲之后再被处理。
本申请的一些实施例中,对于亲和等待队列中的待处理任务,如果所述第一中央处理器处于空闲状态,则所述任务由所述第一中央处理器进行处理;
如果所述第一中央处理器正在处理当前任务,则判断所述当前任务与所述亲和等待队列中的待处理任务的优先级别;
如果所述亲和等待队列中的待处理任务的优先级别低于所述当前任务的优先级别,则所述亲和等待队列中的待处理任务等待至所述第一中央处理器进入所述空闲状态之后再被所述第一中央处理器处理;
如果所述亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第一中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务。
本申请的一些实施例中,所述被顶替任务按所述预设标准分为所述亲和任务或所述非亲和任务;
当所述被顶替任务为所述亲和任务时,所述被顶替任务进入所述亲和等待队列并按上述的多任务的调度方法执行;
当所述被顶替任务为所述非亲和任务时,所述被顶替任务进入所述非亲和等待队列并按上述的多任务的调度方法执行。
本申请的一些实施例中,各任务均被配置预设数量的时间片;
当所述任务被所述中央处理器处理时,所述时间片被消耗;
当所述时间片的数量被消耗至零时,所述中央处理器停止处理所述任务。
本申请的一些实施例中,所述预设标准包括:经由CAN总线的任务为亲和任务。
本申请的一些实施例中,所述经由CAN总线的任务具有最高优先级别。
为达到上述目的,本申请还提供一种技术方案:
一种多核处理器,采用所述的多任务的调度方法将多任务分配给所述多核处理器。
为达到上述目的,本申请还提供一种技术方案:
一种机旁监控系统,用于监控柴油机,采用所述的多核处理器,并且包括监测模块和控制模块;
所述监测模块运行监测程序和数据记录仪客户端程序,显示所述柴油机的运行参数和报警信息;
所述控制模块运行控制程序和数据记录仪服务器程序,与所述柴油机连接并交互、压缩和储存数据;
所述监测模块和控制模块之间通过以太网以及UDP协议和/或TCP/IP协议连接。
本申请的一些实施例中,所述机旁监控系统连接外设,所述外设包括第一外设、第二外设、第三外设、第四外设和第五外设;
所述控制模块通过USB连接所述第一外设,通过CAN总线连接所述第二外设,通过IO连接所述第三外设,通过串口485连接所述第四外设,通过串口232连接所述第五外设。
本申请的一些实施例中,所述第一外设为存储设备,所述存储设备导出历史数据;
所述第二外设为第一信号采集单元,所述第一信息采集单元采集所述柴油机的运行参数;
所述第三外设为第二信号采集单元,所述第二信息采集单元采集控制指令、输出至警报设备;
所述第四外设包括远程监测系统,所述控制模块通过ModBus协议连接所述远程监测系统;
所述第五外设包括修正设备。
本申请的一些实施例中,所述控制模块通过DKM模式运行第一应用程序和第二应用程序,所述监测模块通过RTP模式运行第三应用程序和第四应用程序;
所述第一应用程序从所述外设中采集数据并进行处理之后将所述数据发送至所述远程监测系统,所述数据包括所述柴油机的运行参数、修正数据和控制指令;
所述第二应用程序为数据记录仪服务器端,通过LZ4压缩算法运行、存储所述柴油机的运行参数、修正数据和控制指令,通过所述USB导出所述柴油机的运行参数、修正数据和控制指令,通过所述TCP/IP协议与所述第三应用程序进行数据交互;
所述第三应用程序显示人机交互界面和所述柴油机的运行参数、修正数据和控制指令;
所述第四应用程序为数据记录仪客户端。
本申请的一些实施例中,所述修正设备包括扫码枪,所述扫码枪扫描二维码后获得所述修正数据;
所述控制指令通过所述CAN总线和/或IO从所述外设传输至所述第一应用程序。
本申请的一些实施例中,所述机旁监控系统的顶层架构包括界面显示层、业务逻辑层和底层驱动层;
所述界面显示层运行于所述监测模块中,包括数据显示和人机交互;
所述业务逻辑层运行于所述控制模块中,包括CAN总线、串口通讯和NET通讯;
所述底层驱动层驱动与调用硬件接口资源,运行于所述监测模块和控制模块中,包括CAN驱动、串口驱动和NET驱动。
本申请的一些实施例中,所述机旁监控系统基于实时操作系统DeltaOS、跨平台应用程序框架Qt以及开源数据库SQLite。
本申请的一些实施例中,所述机旁监控系统包括系统失效模式分析;所述系统失效模式分析包括超时判断、总线监测与故障提示、开关信号延时判断逻辑和通讯协议校验。
本申请的一些实施例中,所述机旁监控系统包括用户权限分类;
所述用户权限分类包括用户名设置、密码权限登录、登录人员授权匹配和用户使用权限区分。
本申请的有益效果是:
1、本申请通过设置CAN总线接收/发送任务的中央处理器亲和性和高优先级别,为其分配一个专门用于CAN接收/发送任务处理的中央处理器,确保CAN任务一直在指定的中央处理器处理,不被操作系统调度到其他中央处理器,避免了任务被调度产生的性能损失;不仅如此,CAN任务指定亲和度后,可以保证实时进程的调度,避免其他中央处理器运行的任务被该任务干扰。
2、本申请的单元结构更紧凑与轻量化,软件架构设计更加合理,采用的软件模块设计更加标准,兼容性更强并且不依赖操作系统。
3、本申请解决了针对装备国产化和自主可控的需求。
4、本申请选择嵌入式实时操作系统,提高实时性,所选用的DeltaOS是一款中国对其具有完全自主知识产权的嵌入式实时操作系统,该系统支持多种国外的中央处理器处理器架构,包括x86、PowerPC、ARM、MIPS,同时支持多种国产主流处理器架构,包括龙芯、申威、飞腾;DeltaOS具备国产数据库访问接口等特性,并且其产品安全可控,还可替换相关领域的VxWorks6.8/6.9操作系统。
5、本申请选用跨平台应用程序框架Qt进行软件开发,提高了软件代码的可移植性和可扩展性。
6、本申请选用轻量级开源数据库SQLite,降低系统占用率,减少系统资源开销;在嵌入式设备中,此数据库文件只占用几百K的内存;兼容桌面和嵌入式操作系统,支持Windows/Linux/Unix/Vxworks等主流操作系统;同时能与很多程序语言结合,与Mysql、PostgreSQL这两款开源数据库管理系统相比,SQLite的处理速度更快,效率更高。
7、本申请实现人机交互的操作显示界面,屏蔽硬件端口的访问操作,使用RTP模式,保证在嵌入式系统下能同时运行多个具备图形显示功能的应用程序。
8、本申请对于涉及硬件端口访问操作的应用程序,如运行在控制模块的应用程序,使用DKM模式并采用无界面显示方案,以此提高了系统运行效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为多任务的调度方法逻辑流程图;
图2为机旁监控系统的系统接口图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描所述,显然,所描所述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请提供一种多任务的调度方法、多核处理器及机旁监控系统,以下分别进行详细说明。需要说明的是,以下实施例的描所述顺序不作为对本申请实施例优选顺序的限定。且在以下实施例中,对各个实施例的描所述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
实施例1
如图1所示,一种多任务的调度方法,用于将所述多任务分配给多核处理器,所述多核处理器包括第一中央处理器和第二中央处理器,所述多任务按预设标准分为亲和任务与非亲和任务;
所述亲和任务仅由所述第一中央处理器处理;
所述非亲和任务由所述第一中央处理器和/或第二中央处理器处理。
本申请的一些实施例中,所述任务在被所述多核处理器处理之前进入等待队列,所述等待队列包括亲和等待队列和非亲和等待队列;
所述亲和任务进入所述亲和等待队列中等待至被所述第一中央处理器处理,所述非亲和任务进入所述非亲和等待队列中等待至被所述第一中央处理器和/或所述第二中央处理器处理。
本申请的一些实施例中,所述多任务具有优先级别属性,所述第一中央处理器、第二中央处理器根据各任务的优先级别决定逐个处理各任务的顺序;
所述任务的优先级别越高,在所述等待队列中的位置越靠前并且越先被所述中央处理器处理。
本申请的一些实施例中,对于非亲和等待队列中的待处理任务,如果所述第一中央处理器或所述第二中央处理器处于空闲状态,则所述待处理任务由对应的中央处理器进行处理;
如果所述第一中央处理器或所述第二中央处理器正在处理当前任务,则判断所述当前任务与所述非亲和等待队列中的待处理任务的优先级别;
如果所述非亲和等待队列中的待处理任务的优先级别低于所述当前任务的优先级别,则所述非亲和等待队列中的待处理任务等待至所述第一中央处理器或第二中央处理器进入所述空闲状态之后再被对应的中央处理器处理;
对于所述第一中央处理器,如果所述非亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第一中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务,所述被顶替任务进入所述亲和等待队列中等待至所述第一中央处理器进入所述空闲状态之后再被处理;
对于所述第二中央处理器,如果所述非亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第二中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务,所述被顶替任务进入所述非亲和等待队列中等待至所述第二中央处理器进入所述空闲之后再被处理。
本申请的一些实施例中,对于亲和等待队列中的待处理任务,如果所述第一中央处理器处于空闲状态,则所述任务由所述第一中央处理器进行处理;
如果所述第一中央处理器正在处理当前任务,则判断所述当前任务与所述亲和等待队列中的待处理任务的优先级别;
如果所述亲和等待队列中的待处理任务的优先级别低于所述当前任务的优先级别,则所述亲和等待队列中的待处理任务等待至所述第一中央处理器进入所述空闲状态之后再被所述第一中央处理器处理;
如果所述亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第一中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务。
本申请的一些实施例中,所述被顶替任务按所述预设标准分为所述亲和任务或所述非亲和任务;
当所述被顶替任务为所述亲和任务时,所述被顶替任务进入所述亲和等待队列并按上述的多任务的调度方法执行;
当所述被顶替任务为所述非亲和任务时,所述被顶替任务进入所述非亲和等待队列并按上述的多任务的调度方法执行。
本申请的一些实施例中,各任务均被配置预设数量的时间片;
当所述任务被所述中央处理器处理时,所述时间片被消耗;
当所述时间片的数量被消耗至零时,所述中央处理器停止处理所述任务。
本申请的一些实施例中,所述时间片按时间片轮转算法处理。
本申请的一些实施例中,所述预设标准包括:经由CAN总线的任务为亲和任务。
本申请的一些实施例中,所述经由CAN总线的任务具有最高优先级别
实施例2
一种多核处理器,采用如实施例1中所述的多任务的调度方法将多任务分配给所述多核处理器。
实施例3
如图2所示,一种机旁监控系统,用于监控柴油机,采用如实施例2中所述的多核处理器,并且包括监测模块和控制模块;
所述监测模块运行监测程序和数据记录仪客户端程序,显示所述柴油机的运行参数和报警信息;
所述控制模块运行控制程序和数据记录仪服务器程序,与所述柴油机连接并交互、压缩和储存数据;
所述监测模块和控制模块之间通过以太网以及UDP协议和/或TCP/IP协议连接。
本申请的一些实施例中,所述机旁监控系统连接外设,所述外设包括第一外设、第二外设、第三外设、第四外设和第五外设;
所述控制模块通过USB连接所述第一外设,通过CAN总线连接所述第二外设,通过IO连接所述第三外设,通过串口485连接所述第四外设,通过串口232连接所述第五外设。
本申请的一些实施例中,所述第一外设为存储设备,所述存储设备导出历史数据;
所述第二外设为第一信号采集单元,所述第一信息采集单元采集所述柴油机的运行参数;
所述第三外设为第二信号采集单元,所述第二信息采集单元采集控制指令、输出至警报设备;
所述第四外设包括远程监测系统,所述控制模块通过ModBus协议连接所述远程监测系统;
所述第五外设包括修正设备。
本申请的一些实施例中,所述控制模块通过DKM模式运行第一应用程序和第二应用程序,所述监测模块通过RTP模式运行第三应用程序和第四应用程序;本申请对于涉及硬件端口访问操作的应用程序,如运行在控制模块的应用程序,使用DKM模式并采用无界面显示方案,以此提高了系统运行效率。
所述第一应用程序从所述外设中采集数据并进行处理之后将所述数据发送至所述远程监测系统,所述数据包括所述柴油机的运行参数、修正数据和控制指令;
所述第二应用程序为数据记录仪服务器端,通过LZ4压缩算法运行、存储所述柴油机的运行参数、修正数据和控制指令,通过所述USB导出所述柴油机的运行参数、修正数据和控制指令,通过所述TCP/IP协议与所述第三应用程序进行数据交互;
所述第三应用程序显示人机交互界面和所述柴油机的运行参数、修正数据和控制指令;
所述第四应用程序为数据记录仪客户端。
本申请的一些实施例中,所述修正设备包括扫码枪,所述扫码枪扫描二维码后获得所述修正数据;
所述控制指令通过所述CAN总线和/或IO从所述外设传输至所述第一应用程序。
本申请的一些实施例中,所述机旁监控系统的顶层架构包括界面显示层、业务逻辑层和底层驱动层;
所述界面显示层运行于所述监测模块中,包括数据显示和人机交互;本申请实现人机交互的操作显示界面,屏蔽硬件端口的访问操作,使用RTP模式,保证在嵌入式系统下能同时运行多个具备图形显示功能的应用程序;
所述业务逻辑层运行于所述控制模块中,包括CAN总线、串口通讯和NET通讯;
所述底层驱动层驱动与调用硬件接口资源,运行于所述监测模块和控制模块中,包括CAN驱动、串口驱动和NET驱动。
本申请的单元结构更紧凑与轻量化,软件架构设计更加合理,采用的软件模块设计更加标准,兼容性更强并且不依赖操作系统。本申请的一些实施例中,所述机旁监控系统基于实时操作系统DeltaOS、跨平台应用程序框架Qt以及开源数据库SQLite。本申请选择嵌入式实时操作系统,提高实时性,所选用的DeltaOS是一款中国对其具有完全自主知识产权的嵌入式实时操作系统,该系统支持多种国外的中央处理器处理器架构,包括x86、PowerPC、ARM、MIPS,同时支持多种国产主流处理器架构,包括龙芯、申威、飞腾;DeltaOS具备国产数据库访问接口等特性,并且其产品安全可控,还可替换相关领域的VxWorks6.8/6.9操作系统。本申请选用跨平台应用程序框架Qt进行软件开发,提高了软件代码的可移植性和可扩展性。本申请选用轻量级开源数据库SQLite,降低系统占用率,减少系统资源开销;在嵌入式设备中,此数据库文件只占用几百K的内存;兼容桌面和嵌入式操作系统,支持Windows/Linux/Unix/Vxworks等主流操作系统;同时能与很多程序语言结合,与Mysql、PostgreSQL这两款开源数据库管理系统相比,SQLite的处理速度更快,效率更高。
本申请的一些实施例中,所述机旁监控系统包括系统失效模式分析;所述系统失效模式分析包括超时判断、总线监测与故障提示、开关信号延时判断逻辑和通讯协议校验。
本申请的一些实施例中,所述机旁监控系统包括用户权限分类;
所述用户权限分类包括用户名设置、密码权限登录、登录人员授权匹配和用户使用权限区分。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。此外,说明书中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,本说明书内容不应理解为对本申请的限制。

Claims (19)

1.一种多任务的调度方法,用于将所述多任务分配给多核处理器,所述多核处理器包括第一中央处理器和第二中央处理器,其特征在于:所述多任务按预设标准分为亲和任务与非亲和任务;
所述亲和任务仅由所述第一中央处理器处理;
所述非亲和任务由所述第一中央处理器和/或第二中央处理器处理。
2.根据权利要求1所述多任务的调度方法,其特征在于:所述任务在被所述多核处理器处理之前进入等待队列,所述等待队列包括亲和等待队列和非亲和等待队列;
所述亲和任务进入所述亲和等待队列中等待至被所述第一中央处理器处理,所述非亲和任务进入所述非亲和等待队列中等待至被所述第一中央处理器和/或所述第二中央处理器处理。
3.根据权利要求2所述多任务的调度方法,其特征在于:所述多任务具有优先级别属性,所述第一中央处理器、第二中央处理器根据各任务的优先级别决定逐个处理各任务的顺序;
所述任务的优先级别越高,在所述等待队列中的位置越靠前并且越先被所述中央处理器处理。
4.根据权利要求3所述多任务的调度方法,其特征在于:对于非亲和等待队列中的待处理任务,如果所述第一中央处理器或所述第二中央处理器处于空闲状态,则所述待处理任务由对应的中央处理器进行处理;
如果所述第一中央处理器或所述第二中央处理器正在处理当前任务,则判断所述当前任务与所述非亲和等待队列中的待处理任务的优先级别;
如果所述非亲和等待队列中的待处理任务的优先级别低于所述当前任务的优先级别,则所述非亲和等待队列中的待处理任务等待至所述第一中央处理器或第二中央处理器进入所述空闲状态之后再被对应的中央处理器处理;
对于所述第一中央处理器,如果所述非亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第一中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务,所述被顶替任务进入所述亲和等待队列中等待至所述第一中央处理器进入所述空闲状态之后再被处理;
对于所述第二中央处理器,如果所述非亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第二中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务,所述被顶替任务进入所述非亲和等待队列中等待至所述第二中央处理器进入所述空闲之后再被处理。
5.根据权利要求3所述多任务的调度方法,其特征在于:对于亲和等待队列中的待处理任务,如果所述第一中央处理器处于空闲状态,则所述任务由所述第一中央处理器进行处理;
如果所述第一中央处理器正在处理当前任务,则判断所述当前任务与所述亲和等待队列中的待处理任务的优先级别;
如果所述亲和等待队列中的待处理任务的优先级别低于所述当前任务的优先级别,则所述亲和等待队列中的待处理任务等待至所述第一中央处理器进入所述空闲状态之后再被所述第一中央处理器处理;
如果所述亲和等待队列中的待处理任务的优先级别高于所述当前任务的优先级别,则所述第一中央处理器被所述待处理任务抢占并且停止执行所述当前任务,所述当前任务成为被顶替任务。
6.根据权利要求5所述多任务的调度方法,其特征在于:所述被顶替任务按所述预设标准分为所述亲和任务或所述非亲和任务;
当所述被顶替任务为所述亲和任务时,所述被顶替任务进入所述亲和等待队列并按权利要求5中所述的多任务的调度方法执行;
当所述被顶替任务为所述非亲和任务时,所述被顶替任务进入所述非亲和等待队列并按权利要求4中所述的多任务的调度方法执行。
7.根据权利要求1-6中任一项所述多任务的调度方法,其特征在于:各任务均被配置预设数量的时间片;
当所述任务被所述中央处理器处理时,所述时间片被消耗;
当所述时间片的数量被消耗至零时,所述中央处理器停止处理所述任务。
8.根据权利要求7所述多任务的调度方法,其特征在于,所述预设标准包括:经由CAN总线的任务为亲和任务。
9.根据权利要求8所述多任务的调度方法,其特征在于:所述经由CAN总线的任务具有最高优先级别。
10.一种多核处理器,其特征在于:采用如权利要求1-9中任一项所述的多任务的调度方法将多任务分配给所述多核处理器。
11.一种机旁监控系统,用于监控柴油机,其特征在于:采用如权利要求10所述的多核处理器,并且包括监测模块和控制模块;
所述监测模块运行监测程序和数据记录仪客户端程序,显示所述柴油机的运行参数和报警信息;
所述控制模块运行控制程序和数据记录仪服务器程序,与所述柴油机连接并交互、压缩和储存数据;
所述监测模块和控制模块之间通过以太网以及UDP协议和/或TCP/IP协议连接。
12.根据权利要求11所述机旁监控系统,其特征在于:所述机旁监控系统连接外设,所述外设包括第一外设、第二外设、第三外设、第四外设和第五外设;
所述控制模块通过USB连接所述第一外设,通过CAN总线连接所述第二外设,通过IO连接所述第三外设,通过串口485连接所述第四外设,通过串口232连接所述第五外设。
13.根据权利要求12所述机旁监控系统,其特征在于:所述第一外设为存储设备,所述存储设备导出历史数据;
所述第二外设为第一信号采集单元,所述第一信息采集单元采集所述柴油机的运行参数;
所述第三外设为第二信号采集单元,所述第二信息采集单元采集控制指令、输出至警报设备;
所述第四外设包括远程监测系统,所述控制模块通过ModBus协议连接所述远程监测系统;
所述第五外设包括修正设备。
14.根据权利要求13所述机旁监控系统,其特征在于:所述控制模块通过DKM模式运行第一应用程序和第二应用程序,所述监测模块通过RTP模式运行第三应用程序和第四应用程序;
所述第一应用程序从所述外设中采集数据并进行处理之后将所述数据发送至所述远程监测系统,所述数据包括所述柴油机的运行参数、修正数据和控制指令;
所述第二应用程序为数据记录仪服务器端,通过LZ4压缩算法运行、存储所述柴油机的运行参数、修正数据和控制指令,通过所述USB导出所述柴油机的运行参数、修正数据和控制指令,通过所述TCP/IP协议与所述第三应用程序进行数据交互;
所述第三应用程序显示人机交互界面和所述柴油机的运行参数、修正数据和控制指令;
所述第四应用程序为数据记录仪客户端。
15.根据权利要求14所述机旁监控系统,其特征在于:所述修正设备包括扫码枪,所述扫码枪扫描二维码后获得所述修正数据;
所述控制指令通过所述CAN总线和/或IO从所述外设传输至所述第一应用程序。
16.根据权利要求11所述机旁监控系统,其特征在于:所述机旁监控系统的顶层架构包括界面显示层、业务逻辑层和底层驱动层;
所述界面显示层运行于所述监测模块中,包括数据显示和人机交互;
所述业务逻辑层运行于所述控制模块中,包括CAN总线、串口通讯和NET通讯;
所述底层驱动层驱动与调用硬件接口资源,运行于所述监测模块和控制模块中,包括CAN驱动、串口驱动和NET驱动。
17.根据权利要求11-16中任一项所述机旁监控系统,其特征在于:所述机旁监控系统基于实时操作系统DeltaOS、跨平台应用程序框架Qt以及开源数据库SQLite。
18.根据权利要求17所述机旁监控系统,其特征在于:所述机旁监控系统包括系统失效模式分析;所述系统失效模式分析包括超时判断、总线监测与故障提示、开关信号延时判断逻辑和通讯协议校验。
19.根据权利要求17所述机旁监控系统,其特征在于:所述机旁监控系统包括用户权限分类;
所述用户权限分类包括用户名设置、密码权限登录、登录人员授权匹配和用户使用权限区分。
CN202210259698.3A 2022-03-16 2022-03-16 多任务的调度方法、多核处理器及机旁监控系统 Pending CN114691326A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210259698.3A CN114691326A (zh) 2022-03-16 2022-03-16 多任务的调度方法、多核处理器及机旁监控系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210259698.3A CN114691326A (zh) 2022-03-16 2022-03-16 多任务的调度方法、多核处理器及机旁监控系统

Publications (1)

Publication Number Publication Date
CN114691326A true CN114691326A (zh) 2022-07-01

Family

ID=82138733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210259698.3A Pending CN114691326A (zh) 2022-03-16 2022-03-16 多任务的调度方法、多核处理器及机旁监控系统

Country Status (1)

Country Link
CN (1) CN114691326A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993762B1 (en) * 1999-04-07 2006-01-31 Bull S.A. Process for improving the performance of a multiprocessor system comprising a job queue and system architecture for implementing the process
US20100088706A1 (en) * 2008-10-07 2010-04-08 Futurewei Technologies, Inc. User Tolerance Based Scheduling Method for Aperiodic Real-Time Tasks
US20110219382A1 (en) * 2008-11-03 2011-09-08 Huawei Technologies Co., Ltd. Method, system, and apparatus for task allocation of multi-core processor
CN103019856A (zh) * 2012-11-23 2013-04-03 上海寰创通信科技股份有限公司 一种多核处理器的非对称调度方法
WO2017065629A1 (en) * 2015-10-12 2017-04-20 Huawei Technologies Co., Ltd. Task scheduler and method for scheduling a plurality of tasks
CN107577185A (zh) * 2017-09-14 2018-01-12 浙江国自机器人技术有限公司 一种任务执行方法及基于多核处理器的控制器
US20180074857A1 (en) * 2014-10-02 2018-03-15 Mediatek Inc. Multi-core processor systems and methods for assigning tasks in a multi-core processor system
US20190087224A1 (en) * 2017-09-20 2019-03-21 Samsung Electronics Co., Ltd. Method, system, apparatus, and/or non-transitory computer readable medium for the scheduling of a plurality of operating system tasks on a multicore processor and/or multi-processor system
CN111209046A (zh) * 2019-12-25 2020-05-29 北京时代民芯科技有限公司 一种面向多任务处理的嵌入式sparc处理器操作系统设计方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993762B1 (en) * 1999-04-07 2006-01-31 Bull S.A. Process for improving the performance of a multiprocessor system comprising a job queue and system architecture for implementing the process
US20100088706A1 (en) * 2008-10-07 2010-04-08 Futurewei Technologies, Inc. User Tolerance Based Scheduling Method for Aperiodic Real-Time Tasks
US20110219382A1 (en) * 2008-11-03 2011-09-08 Huawei Technologies Co., Ltd. Method, system, and apparatus for task allocation of multi-core processor
CN103019856A (zh) * 2012-11-23 2013-04-03 上海寰创通信科技股份有限公司 一种多核处理器的非对称调度方法
US20180074857A1 (en) * 2014-10-02 2018-03-15 Mediatek Inc. Multi-core processor systems and methods for assigning tasks in a multi-core processor system
WO2017065629A1 (en) * 2015-10-12 2017-04-20 Huawei Technologies Co., Ltd. Task scheduler and method for scheduling a plurality of tasks
CN107577185A (zh) * 2017-09-14 2018-01-12 浙江国自机器人技术有限公司 一种任务执行方法及基于多核处理器的控制器
US20190087224A1 (en) * 2017-09-20 2019-03-21 Samsung Electronics Co., Ltd. Method, system, apparatus, and/or non-transitory computer readable medium for the scheduling of a plurality of operating system tasks on a multicore processor and/or multi-processor system
CN109522101A (zh) * 2017-09-20 2019-03-26 三星电子株式会社 用于调度多个操作系统任务的方法、系统和/或装置
CN111209046A (zh) * 2019-12-25 2020-05-29 北京时代民芯科技有限公司 一种面向多任务处理的嵌入式sparc处理器操作系统设计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴卓成;黄文君;: "船用柴油机智能报警监控系统的设计", 中国造船, no. 03, pages 146 - 150 *
康鹏;刘从新;沈绪榜;: "一种基于分组的多核嵌入式实时调度算法", 微电子学与计算机, no. 10 *
张猛;杨建国;胡旭钢;余永华;陈智君;胡宾;: "船用中速柴油机嵌入式机旁监控系统研制", 柴油机, no. 02 *

Similar Documents

Publication Publication Date Title
CN107479943B (zh) 基于工业互联网操作系统的多操作系统运行方法及装置
CN108984267B (zh) 工业服务器的微内核架构控制系统及工业服务器
CN104991830A (zh) 基于服务等级协议的yarn资源分配和节能调度方法及系统
CN103645909A (zh) 定时任务的处理方法及装置
CN104765641B (zh) 一种作业调度方法及系统
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
EP4361808A1 (en) Resource scheduling method and device and computing node
CN109936471B (zh) 一种多集群的资源分配方法和装置
CN111679911A (zh) 云环境中gpu卡的管理方法、装置、设备及介质
CN110413388A (zh) 基于业务系统的多任务处理方法、装置、设备及存储介质
CN113179227A (zh) 基于队列的at指令控制方法
CN111360813B (zh) 一种基于边缘云服务的多机器人控制器
CN114691326A (zh) 多任务的调度方法、多核处理器及机旁监控系统
CN107832144B (zh) 分布式并行计算方法和装置
WO2019063693A1 (en) PROGRAMMABLE LOGIC CONTROL DEVICE BASED ON ROS, SYSTEM AND METHOD
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치
KR100590764B1 (ko) 멀티프로세서 시스템에서 스케줄러를 이용한 대규모데이터 처리 방법
CN111343152B (zh) 数据处理方法、装置及电子设备、存储介质
CN109445847B (zh) 工业服务器微内核架构实现方法
CN114115140A (zh) 多核主控制器、主辅多核控制器间数据同步系统和方法
CN112559136A (zh) 一种计算机中断投递的方法及装置
CN107315385B (zh) 嵌入式plc引擎实现方法和引擎
CN102819508B (zh) 响应来自安防监控子系统信号的方法
CN110333899B (zh) 数据处理方法、装置和存储介质
US20230195085A1 (en) Method for the distributed calculation of computational tasks

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
CB02 Change of applicant information

Address after: 201108 Shanghai city Minhang District Huaning Road No. 3111

Applicant after: The 711 Research Institute of China Shipbuilding Corp.

Address before: 201108 Shanghai city Minhang District Huaning Road No. 3111

Applicant before: Shanghai Marine Diesel Engine Research Institute

CB02 Change of applicant information