CN109871272A - 一种电子系统运行控制方法和装置 - Google Patents
一种电子系统运行控制方法和装置 Download PDFInfo
- Publication number
- CN109871272A CN109871272A CN201910099912.1A CN201910099912A CN109871272A CN 109871272 A CN109871272 A CN 109871272A CN 201910099912 A CN201910099912 A CN 201910099912A CN 109871272 A CN109871272 A CN 109871272A
- Authority
- CN
- China
- Prior art keywords
- task
- run
- execute
- electronic system
- current
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000006870 function Effects 0.000 claims description 16
- 235000013399 edible fruits Nutrition 0.000 claims 2
- 230000003111 delayed effect Effects 0.000 abstract description 2
- 230000004913 activation Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012857 repacking Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种电子系统运行控制方法和装置,方法包括:A、获取待运行任务的任务请求;B、当待运行任务的优先级比当前任务的优先级高,判断所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C;C、执行所述待运行任务。装置用于执行方法。本发明通过根据待运行任务和当前任务的优先级以确定任务执行的顺序,根据当前任务是否能延迟选择是否取消当前任务,能够实现电子系统中的任务的合理安排。
Description
技术领域
本发明涉及电子系统技术领域,尤其是一种电子系统运行控制方法和装置。
背景技术
物联网技术为通过为装置附加智能芯片以实现数据网络的互联和延展,能够提高电子系统的控制范围和深度,但是智能芯片内部的资源比较少,特别是片内内存比较少,cpu运算能力也比较弱,所以在此类芯片是无法运行像linux或ucos这样的多任务系统,但是整个电子系统又有多个任务要处理,某时刻只会有一个任务在执行,所以就需要一个轻量级的调节方法,来方便管理各个任务的运行的先后顺序。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种电子系统运行控制方法和系统。
本发明所采用的技术方案是:
第一方面,本发明提供一种电子系统运行控制方法,所述电子系统包括若干功能模块,包括步骤:A、获取待运行任务的任务请求;B、当待运行任务的优先级比当前任务的优先级高,判断所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C;C、执行所述待运行任务。
优选地,A、获取待运行任务的任务请求;B、当待运行任务的优先级比当前任务的优先级高,判断所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C;C、执行所述待运行任务。
优选地,所述步骤A具体包括:获取待运行任务的任务请求,查看所述电子系统是否存在正在被执行的当前任务,如果存在,则执行步骤B,如果不存在则执行所述待运行任务并输出反馈信息,重新执行步骤A。
优选地,步骤B具体包括:B1、查询任务的注册信息,当待运行任务的优先级比当前任务的优先级低则执行步骤B2,否则执行步骤B3;B2、查询所述待运行任务能否延迟执行所述待运行任务,不能则不执行所述待运行任务并反馈失败信息,能则将所述待运行任务压入任务调度队列;B3、查询所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C。
优选地,步骤C具体包括:
释放内存并置空指针,从任务调度队列中查找优先级最高的待运行任务,执行所述优先级最高的待运行任务。
第二方面,本发明提供一种电子系统运行控制装置,包括用于执行任务的功能模块,用于执行步骤A的输入单元,用于执行步骤B的判断单元,用于执行步骤C的控制单元。
优选地,所述输入单元具体用于获取待运行任务的任务请求,查看所述电子系统是否存在正在被执行的当前任务,如果存在,则执行步骤B,如果不存在则执行所述待运行任务并输出反馈信息,重新执行步骤A。
优选地,所述判断单元具体用于执行步骤:B1、查询任务的注册信息,当待运行任务的优先级比当前任务的优先级低则执行步骤B2,否则执行步骤B3;B2、查询所述待运行任务能否延迟执行所述待运行任务,不能则不执行所述待运行任务并反馈失败信息,能则将所述待运行任务压入任务调度队列;B3、查询所述待运行任务能否延迟执行所述待运行任务,能则将所述待运行任务压入任务调度队列,等待当前任务完成并通知控制单元执行步骤C,不能则取消当前任务并通知控制单元执行步骤C。
优选地,所述控制单元具体用于执行释放当前任务的内存并置空指针,从任务调度队列中查找优先级最高的待运行任务,执行所述优先级最高的待运行任务。
第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述方法。
本发明的有益效果是:
本发明通过根据待运行任务和当前任务的优先级以确定任务执行的顺序,根据当前任务是否能延迟选择是否取消当前任务,能够实现电子系统中的任务的合理安排。
附图说明
图1是本发明的一种电子系统运行控制方法的示意图;
图2是本发明的运行控制流程的示意图;
图3是本发明的任务取消步骤的示意图;
图4是本发明的一种电子系统运行控制装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
本实施例用于描述现有技术的缺陷和本发明的解决思路。
为电子系统(仪器),附加智能芯片以进行智能改装,需要面对电子系统本身具备的多个功能模块之间的协调问题,即如果安排功能模块的执行以实现合理的利用芯片的处理能力。
本实施例提供如图1所示一种电子系统运行控制方法,步骤:A、获取待运行任务的任务请求;B、当待运行任务的优先级比当前任务的优先级高,判断所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C;C、执行所述待运行任务。
其中,将整个电子系统分为若干个模块(模块为功能执行的主体,例如数据接口、机械结构、开关等,其用于执行一个步骤或者操作),对每个模块进行划分为若干个事件(事件即一系列的操作和若干步骤),做两级管理(即正在执行和等待执行),每个模块内部的每个事件设定其为一个任务(模块在连入智能芯片时,会向芯片注册本身,即向芯片说明本模块的属性,例如能执行何种功能,ID等信息);对于系统中每个任务有二种状态:一是激活,正在运行的任务(即当前任务);二是空闲,低优先级的任务,当高优先级任务执行完成再可被调度执行。
功能模块在连接智能芯片的时候,需要注册本身,即说明模块的属性(可以在步骤A前,增加步骤A0、注册功能模块的属性),例如ID、能够执行的功能,能够执行的任务(任务可能涉及一个以上的功能模块的集合)、任务优先级、执行功能所涉及的函数等信息,其目的是让芯片能够正常调用功能模块。
具体的,如图2所示的运行控制流程:
S1、发起任务请求调度;(可以是外部输入的请求,也可以是功能模块自己发起的请求)
S2、判断是否有激活任务(当前是否有任务在执行,电子系统在启动时,默认是没有任务的),如果有就跳转到S5;否则跳转到S3;
S3、将当前请求的任务(即待运行任务)设置为激活执行的任务(即当前任务);
S4、结束并返回DIVOOM_APP_SCHEDULE_RET_RUN告知任务可以被马上执行(即反馈信息,用于告知待运行任务可以马上被执行);
S5、通过查找all_divoom_app_schedule_info(即任务的注册信息,为预先保存/注册在系统的信息,用于描述任务对应的模块和任务的内容、优先级)比较请求任务(待运行任务)与激活任务(当前任务)的优先级,如果请求任务优先级小于的话跳转到S6;否则跳转到S8;
S6、判断请求任务是否可以等待执行,如果不能等待执行(即延迟执行,具体可以是请求任务本身设置有用于表示延迟的标记),将返回DIVOOM_APP_SCHEDULE_RET_FAIL告诉请求模块操作失败,任务不能被执行;否则跳转到S7;
S7、将请求任务信息压入调度队列,并返回DIVOOM_APP_SCHEDULE_RET_WAIT通知请求模块暂时不能执行,以后执行将会以模块注册时的play_callback来通知执行;
S8、调用激活任务所对应的模块的pause_callback回调函数(即判断是否能延迟执行),如果返回1,表示模块不想被压入队列,将跳转到S9;如果返回0,表示模块可压入队列后面再执行(即判断模块是否想被压入队列),将跳转到S10;
S9、调用激活任务所对应的模块的destroy_callback回调函数,并释放相关内存(即取消当前任务);跳转到S11;
S10、将当前激活任务压入调度队列,让激活任务处于待调度状态(即腾出现有位置并准备在请求任务完成后再次执行该任务);
S11、将请求任务设置为激活任务,并返回模块DIVOOM_APP_SCHEDULE_RET_RUN,通知此任务可以马上运行。
如上述流程,涉及了若干函数和对应的参数,其目的包括反馈信息,控制执行,说明模块本身属性等各个方面,实际可以采取其他的函数,具体的函数的种类为惯用的函数,本实施例不进行进一步的解释。通过上述流程,能够调节任务的执行顺序,有利于调节电子系统的机能。
其中,可以进行任务的取消,如图3所示任务取消步骤可以是:
S01:如果要取消的任务是当前激活的任务,跳转到S02,否则跳转到S03;
S02:从调度队列中查询要取消的任务,找到后将此任务信息从队列中弹出,并释放相关内存,返回取消成功信息(即说明已经取消对应的任务);
S03:释放当前激活任务的内存,并将指针置空;
S04:通过all_divoom_app_schedule_info查找调度队列中优先最高的任务,并将其从调度队列中弹出;
S05:将S04弹出的任务设置为激活任务;
S06:调用激活任务的对应的模块注册时的play_callback来通知模块此任务将被执行;返回成功信息。
实施例2
本实施例提供如图4所示的电子系统运行控制装置,包括用于执行任务的功能模块1,用于执行步骤A的输入单元2,用于执行步骤B的判断单元3,用于执行步骤C的控制单元4。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种电子系统运行控制方法,所述电子系统包括若干功能模块,其特征在于,包括步骤:
A、获取待运行任务的任务请求;
B、当待运行任务的优先级比当前任务的优先级高,判断所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C;
C、执行所述待运行任务。
2.根据权利要求1所述的一种电子系统运行控制方法,其特征在于,所述步骤A具体包括:
获取待运行任务的任务请求,查看所述电子系统是否存在正在被执行的当前任务,如果存在,则执行步骤B,如果不存在则执行所述待运行任务并输出反馈信息,重新执行步骤A。
3.根据权利要求1所述的一种电子系统运行控制方法,其特征在于,步骤B具体包括:
B1、查询任务的注册信息,当待运行任务的优先级比当前任务的优先级低则执行步骤B2,否则执行步骤B3;
B2、查询所述待运行任务能否延迟执行所述待运行任务,不能则不执行所述待运行任务并反馈失败信息,能则将所述待运行任务压入任务调度队列;
B3、查询所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C。
4.根据权利要求1所述的一种电子系统运行控制方法,其特征在于,步骤C具体包括:
释放内存并置空指针,从任务调度队列中查找优先级最高的待运行任务,执行所述优先级最高的待运行任务。
5.一种电子系统运行控制装置,其特征在于,包括用于执行任务的功能模块,用于执行步骤A的输入单元,用于执行步骤B的判断单元,用于执行步骤C的控制单元。
6.根据权利要求5所述的一种电子系统运行控制装置,其特征在于,所述输入单元具体用于获取待运行任务的任务请求,查看所述电子系统是否存在正在被执行的当前任务,如果存在,则执行步骤B,如果不存在则执行所述待运行任务并输出反馈信息,重新执行步骤A。
7.根据权利要求5所述的一种电子系统运行控制装置,其特征在于,所述判断单元具体用于执行步骤:
B1、查询任务的注册信息,当待运行任务的优先级比当前任务的优先级低则执行步骤B2,否则执行步骤B3;
B2、查询所述待运行任务能否延迟执行所述待运行任务,不能则不执行所述待运行任务并反馈失败信息,能则将所述待运行任务压入任务调度队列;
B3、查询所述当前任务所对应的功能模块能否延迟执行所述当前任务,能则将所述当前任务压入任务调度队列,执行步骤C,不能则取消当前任务并执行步骤C。
8.根据权利要求5所述的一种电子系统运行控制装置,其特征在于,所述控制单元具体用于释放内存并置空指针,从任务调度队列中查找优先级最高的待运行任务,执行所述优先级最高的待运行任务。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099912.1A CN109871272A (zh) | 2019-01-31 | 2019-01-31 | 一种电子系统运行控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099912.1A CN109871272A (zh) | 2019-01-31 | 2019-01-31 | 一种电子系统运行控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109871272A true CN109871272A (zh) | 2019-06-11 |
Family
ID=66918532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910099912.1A Pending CN109871272A (zh) | 2019-01-31 | 2019-01-31 | 一种电子系统运行控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871272A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413394A (zh) * | 2019-07-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种bmc任务处理方法、装置、系统及可读存储介质 |
CN111625341A (zh) * | 2020-06-04 | 2020-09-04 | 广州西山居世游网络科技有限公司 | 一种任务调度管理方法以及装置 |
CN112130971A (zh) * | 2020-08-17 | 2020-12-25 | 惠州市德赛西威汽车电子股份有限公司 | 一种基于收音机逻辑打断表的任务切换方法及收音机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793207A (zh) * | 2014-01-21 | 2014-05-14 | 上海爱数软件有限公司 | 一种单线程多优先级系统的智能调度方法 |
CN104915256A (zh) * | 2015-06-05 | 2015-09-16 | 惠州Tcl移动通信有限公司 | 一种任务的实时调度实现方法及其系统 |
-
2019
- 2019-01-31 CN CN201910099912.1A patent/CN109871272A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793207A (zh) * | 2014-01-21 | 2014-05-14 | 上海爱数软件有限公司 | 一种单线程多优先级系统的智能调度方法 |
CN104915256A (zh) * | 2015-06-05 | 2015-09-16 | 惠州Tcl移动通信有限公司 | 一种任务的实时调度实现方法及其系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413394A (zh) * | 2019-07-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种bmc任务处理方法、装置、系统及可读存储介质 |
CN111625341A (zh) * | 2020-06-04 | 2020-09-04 | 广州西山居世游网络科技有限公司 | 一种任务调度管理方法以及装置 |
CN112130971A (zh) * | 2020-08-17 | 2020-12-25 | 惠州市德赛西威汽车电子股份有限公司 | 一种基于收音机逻辑打断表的任务切换方法及收音机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871272A (zh) | 一种电子系统运行控制方法和装置 | |
CN111543037B (zh) | 事件驱动的无服务器函数编排 | |
US9086911B2 (en) | Multiprocessing transaction recovery manager | |
CN102360309B (zh) | 片上多核异构系统的调度系统与调度执行方法 | |
US8887163B2 (en) | Task scheduling based on dependencies and resources | |
US8719834B2 (en) | Information processing system, method, program and integrated circuit for maintaining balance of processing loads with respect to real-time tasks | |
US5193186A (en) | Processor system for executing processes in parallel under multitask, control method of waiting for event of process | |
KR100783679B1 (ko) | 데이터 스트림에 기반하는 서비스의 개발, 배치, 제공을용이하게 하는 미들웨어 시스템 | |
CN111949454A (zh) | 一种基于微服务组件的数据库系统及相关方法 | |
CN108196946B (zh) | 一种微内核操作系统的分区多核方法 | |
GB2513532A (en) | Distributed transaction routing | |
CN102662725B (zh) | 一种事件驱动的高并发流程虚拟机实现方法 | |
CN112286671B (zh) | 一种容器化批处理作业调度方法、装置和计算机设备 | |
CN107391279B (zh) | 一种消息队列容器创建方法、装置及消息队列容器 | |
CN103500119B (zh) | 一种基于预调度的任务分配方法 | |
CN112787999B (zh) | 跨链调用方法、装置、系统与计算机可读存储介质 | |
CN104750522A (zh) | 任务或流程的动态执行方法和系统 | |
US10984011B1 (en) | Distributing non-transactional workload across multiple database servers | |
CN110516000B (zh) | 一种支持复杂工作流结构的工作流管理系统 | |
CN107783836B (zh) | 基于 Linux 容器控制Web 应用资源的方法和装置 | |
CN113821322B (zh) | 一种松耦合的分布式工作流协调系统和方法 | |
CN112698931B (zh) | 一种云工作流分布式调度系统 | |
CN112559440A (zh) | 多小芯片系统中实现串行业务性能优化的方法及装置 | |
JP5635760B2 (ja) | 情報処理システム、情報処理方法、およびコンピュータプログラム | |
CN112416414A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190611 |
|
RJ01 | Rejection of invention patent application after publication |