MCU业务处理方法、装置、电子设备及可存储介质
技术领域
本发明实施例涉及车辆技术领域,尤其涉及一种MCU业务处理方法、装置、电子设备及可存储介质。
背景技术
随着车辆技术的不断发展,车辆上的智能设备也越来越多。车载终端作为车辆上智能设备的大脑,具有无可替代的作用。当前的车载终端,由于技术、市场需求等诸多原因,其配置的MCU的性能相对较低,处理数据的速度也相对比较缓慢。目前对于如何提升车载终端的使用性能,是车载终端研发中急需解决的问题。
基于此,在配置的MCU的性能相对较低的条件下,如何对MCU的资源进行合理利用显得尤为重要。根据统计,当前车载终端的重要应用之一是进行数据采集。在进行数据采集过程中,MCU的业务处理方式存在资源浪费,且其他业务得不到及时的执行。
因而,目前的MCU资源利用率较低,业务处理的方式效率较低。
发明内容
本发明提供一种MCU业务处理方法、装置、电子设备及可存储介质,用以解决目前MCU资源利用率较低,业务处理的方式效率较低的问题。
本发明实施例第一方面提供一种MCU业务处理方法,所述方法包括:
获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令;所述CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息;
根据所述顺序信息将当前流程指令发送至CAN模块;
在未接收到所述CAN模块对当前流程指令应答时,释放资源并处理所述非CAN通信的业务指令;
在接收到所述CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令并将所述顺序信息中对应的下一位流程指令发送至所述CAN模块。
进一步地,如上所述的方法,所述获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令,包括:
获取待处理的业务指令,所述待处理的业务指令包括接收指令时间和业务指令种类信息;
根据所述业务指令种类信息从所述待处理的业务指令中筛选出CAN通信的业务指令以及非CAN通信的业务指令;
根据所述接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。
进一步地,如上所述的方法,所述根据所述接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令包括:
根据所述接收指令时间将所述CAN通信的业务指令和所述非CAN通信的业务指令按照同种类业务指令之间的时间先后顺序进行排序;
将当前排序第一位的CAN通信的业务指令确定为当前需要执行的CAN通信的业务指令;
将当前排序第一位的非CAN通信的业务指令确定为当前需要执行的非CAN通信的业务指令。
进一步地,如上所述的方法,所述暂停处理非CAN通信的业务指令之后还包括:
保存暂停处理的非CAN通信的业务指令的进度,并给所述进度进行标记。
进一步地,如上所述的方法,所述将所述顺序信息中对应的下一位流程指令发送至所述CAN模块之后还包括:
在未接收到所述CAN模块对所述下一位的流程指令应答时,释放资源并根据所述标记从保存的进度处开始处理对应的非CAN通信的业务指令;
在接收到所述CAN模块对所述下一位的流程指令应答时,暂停处理所述非CAN通信的业务指令并保存所述非CAN通信的业务指令的进度,给当前的进度进行新的标记以替代上一个标记;
将所述顺序信息中再下一位流程指令发送至所述CAN模块;
执行在未接收到所述CAN模块对再下一位的流程指令应答时,释放资源并根据所述标记从保存的进度处开始处理对应的非CAN通信的业务指令的步骤,直至所有流程指令执行完毕。
进一步地,如上所述的方法,还包括:
在第一预设时间内未接收到所述CAN模块对当前流程指令应答时,则退出当前CAN通信的业务指令;从当前排序中执行下一位的CAN通信的业务指令。
进一步地,如上所述的方法,所述在未接收到所述CAN模块对当前流程指令应答时,包括;
在第二预设时间内未接收到所述CAN模块对当前流程指令应答时。
本发明实施例第二方面提供一种MCU业务处理装置,包括:
获取模块,用于获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令;所述CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息;
当前指令发送模块,用于根据所述顺序信息将当前流程指令发送至CAN模块;
业务指令处理模块,用于在未接收到所述CAN模块对当前流程指令应答时,释放资源并处理所述非CAN通信的业务指令;
下一位指令发送模块,用于在接收到所述CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令并将所述顺序信息中对应的下一位流程指令发送至所述CAN模块。
进一步的,如上所述的装置,所述获取模块具体用于:
获取待处理的业务指令,所述待处理的业务指令包括接收指令时间和业务指令种类信息;根据所述业务指令种类信息从所述待处理的业务指令中筛选出CAN通信的业务指令以及非CAN通信的业务指令;根据所述接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。
进一步的,如上所述的装置,所述获取模块在根据所述接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令时,具体用于:
根据所述接收指令时间将所述CAN通信的业务指令和所述非CAN通信的业务指令按照同种类业务指令之间的时间先后顺序进行排序;将当前排序第一位的CAN通信的业务指令确定为当前需要执行的CAN通信的业务指令;将当前排序第一位的非CAN通信的业务指令确定为当前需要执行的非CAN通信的业务指令。
进一步的,如上所述的装置,所述下一位指令发送模块还用于保存暂停处理的非CAN通信的业务指令的进度,并给所述进度进行标记。
进一步的,如上所述的装置,还包括循环模块:
所述循环模块用于在未接收到所述CAN模块对所述下一位的流程指令应答时,释放资源并根据所述标记从保存的进度处开始处理对应的非CAN通信的业务指令;在接收到所述CAN模块对所述下一位的流程指令应答时,暂停处理所述非CAN通信的业务指令并保存所述非CAN通信的业务指令的进度,给当前的进度进行新的标记以替代上一个标记;将所述顺序信息中再下一位流程指令发送至所述CAN模块;执行在未接收到所述CAN模块对再下一位的流程指令应答时,释放资源并根据所述标记从保存的进度处开始处理对应的非CAN通信的业务指令的步骤,直至所有流程指令执行完毕。
进一步的,如上所述的装置,还包括:
超时业务处理模块,用于在第一预设时间内未接收到所述CAN模块对当前流程指令应答时,则退出当前CAN通信的业务指令;从当前排序中执行下一位的CAN通信的业务指令。
进一步的,如上所述的装置,所述业务指令处理模块在未接收到所述CAN模块对当前流程指令应答时,具体用于;
在第二预设时间内未接收到所述CAN模块对当前流程指令应答时。
本发明实施例第三方面提供一种电子设备,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为由所述处理器执行第一方面任一项所述的MCU业务处理方法。
本发明实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的MCU业务处理方法。
本发明实施例提供的一种MCU业务处理方法、装置、电子设备及可存储介质,该方法包括:获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令;所述CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息;根据所述顺序信息将当前流程指令发送至CAN模块;在未接收到所述CAN模块对当前流程指令应答时,释放资源并处理所述非CAN通信的业务指令;在接收到所述CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令并将所述顺序信息中对应的下一位流程指令发送至所述CAN模块。本发明实施例的方法通过将需要执行的CAN通信的业务指令中当前的流程指令发送至CAN模块,在未接收到所述CAN模块对当前流程指令应答时,释放资源并处理所述非CAN通信的业务指令。从而使MCU在进行业务处理时,可以在等待CAN模块对当前流程指令的应答时,释放资源处理非CAN通信的业务指令。而在接收到CAN模块的应答时,继续处理下一位的流程指令。从而在不影响CAN通信的业务指令处理过程的同时,更有效地利用MCU闲置资源,进而提高了MCU资源利用率,提高了业务处理的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为可以实现本发明实施例的MCU业务处理方法的场景图;
图2为本发明一实施例提供的MCU业务处理方法的流程示意图;
图3为本发明另一实施例提供的MCU业务处理方法的流程示意图;
图4为本发明另一实施例提供的MCU业务处理方法中步骤203的流程示意图;
图5为本发明又一实施例提供的MCU业务处理方法的流程示意图;
图6为本发明一实施例提供的MCU业务处理装置的结构示意图;
图7为本发明另一实施例提供的MCU业务处理装置的结构示意图;
图8为本发明一实施例提供的电子设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
首先对本发明实施例所涉及的名词进行解释:
CAN:是控制器局域网络(Controller Area Network,CAN)的简称,普遍使用在工业自动化、车辆、船舶等行业中。
MCU:微控制单元(Microcontroller Unit;MCU),又称单片微型计算机(SingleChip Microcomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB等周边接口都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
下面对本发明实施例提供的MCU业务处理方法的应用场景进行介绍。如图1所示,其中,1为MCU,2为CAN模块,3为车辆控制相关模块。本发明实施例提供的MCU业务处理方法对应的应用场景的架构中包括:MCU1、CAN模块2和车辆控制相关模块3。MCU1获取当前需要执行的业务指令,这些业务指令可以是用户通过控制界面输入的业务指令。业务指令中包括CAN通信的业务指令和非CAN通信的业务指令。MCU1根据CAN通信的业务指令得到其包含的多个流程指令以及流程指令的顺序信息。然后根据顺序信息将当前流程指令发送至CAN模块2。CAN模块2在收到当前流程指令后,与车辆控制相关模块3进行交互。车辆控制相关模块3包括发动机动力控制模块、车身控制模块等。车辆控制相关模块3根据流程指令进行对应的控制操作,并将控制完成信息反馈至CAN模块2。此时,CAN模块2在接收到车辆控制相关模块3的反馈后,根据当前流程指令向MCU1应答。在这个过程中,MCU1在未接收到CAN模块2的应答时,释放资源,并处理非CAN通信的业务指令。而在接收到CAN模块2的应答时,暂停正在处理的非CAN通信的业务指令,并将下一位的流程指令发送至CAN模块2。
本发明实施例提供的MCU业务处理方法,通过将需要执行的CAN通信的业务指令中当前的流程指令发送至CAN模块,在未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。从而使MCU在进行业务处理时,可以在等待CAN模块对当前流程指令的应答时,释放资源处理非CAN通信的业务指令。而在接收到CAN模块的应答时,继续处理下一位的流程指令。从而在不影响CAN通信的业务指令处理过程的同时,更有效地利用MCU闲置资源,进而提高了MCU资源利用率,提高了业务处理的效率。
下面结合说明书附图对本发明实施例进行介绍。
图2为本发明一实施例提供的MCU业务处理方法的流程示意图,如图2所示,本实施例中,本发明实施例的执行主体为MCU业务处理装置,该MCU业务处理装置可以集成在电子设备中。电子设备可以为图1中的MCU。则本实施例提供的MCU业务处理方法包括以下几个步骤:
步骤S101,获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。其中,CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息。
首先,本实施例中,CAN通信的业务指令是需要与CAN模块建立通信交互的业务指令,比如数据采集业务指令、平台鉴权业务指令等业务指令。非CAN通信的业务指令是无需与CAN模块建立通信交互的业务指令,靠内部程序即可完成,比如定时业务指令等业务指令。
本实施例中,当前需要执行的CAN通信的业务指令和非CAN通信的业务指令指当前正在执行或者正在读取以马上执行的CAN通信的业务指令和非CAN通信的业务指令。
本实施例中,CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息,比如数据采集业务指令中包含四个流程指令,四个流程指令都有对应的顺序信息。而其中的连接流程指令的顺序信息为四个流程指令中的第一位。在CAN通信的业务指令执行过程中,会按照顺序信息执行对应的流程指令。
步骤S102,根据顺序信息将当前流程指令发送至CAN模块。
本实施例中,CAN模块指控制器局域网络模块,具有通信功能。
本实施例中,当前流程指令指当前需要执行的流程指令,当前流程指令可以是顺序信息中排第一位的流程指令,也可以是流程指令中排第二位的流程指令。
步骤S103,在未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。
本实施例中,可以通过状态机记录是否有接收到CAN模块对当前流程指令应答。在未接收到CAN模块对当前流程指令应答时,此时资源处于空闲状态。在将资源释放后,这些资源可以用于处理非CAN通信的业务指令,比如定时业务指令。从而将空闲的资源充分利用起来,提高了MCU的资源利用率。
步骤S104,在接收到CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令并将顺序信息中对应的下一位流程指令发送至CAN模块。
本实施例中,在接收到CAN模块对当前流程指令应答时,可以暂停正在处理的非CAN通信的业务指令,从而将MCU中的资源用于将顺序信息中对应的下一位流程指令发送至CAN模块,从而恢复对CAN通信的业务指令的处理流程。
在本实施例中,由于车辆中配置MCU性能较差,MCU中的资源是比较少的,通过充分利用从发送当前流程指令至接收到CAN模块对当前流程指令应答这段时间的资源,可以提高MCU中的资源利用率,从而提高业务处理的效率。
本发明实施例提供的一种MCU业务处理方法,该方法包括:获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息。根据顺序信息将当前流程指令发送至CAN模块。在未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。在接收到CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令并将顺序信息中对应的下一位流程指令发送至CAN模块。本发明实施例的方法通过将需要执行的CAN通信的业务指令中当前的流程指令发送至CAN模块,在未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。从而使MCU在进行业务处理时,可以在等待CAN模块对当前流程指令的应答时,释放资源处理非CAN通信的业务指令。而在接收到CAN模块的应答时,继续处理下一位的流程指令。从而在不影响CAN通信的业务指令处理过程的同时,更有效地利用MCU闲置资源,进而提高了MCU资源利用率,提高了业务处理的效率。
图3为本发明另一实施例提供的MCU业务处理方法的流程示意图,如图3所示,本实施例提供的MCU业务处理方法,是在本发明上一实施例提供的MCU业务处理方法的基础上,对其中的步骤进行了进一步细化。则本实施例提供的MCU业务处理方法包括以下步骤。
需要说明的是,步骤S201-步骤S203是对本发明上一实施例中的步骤S101的进一步的细化。
步骤S201,获取待处理的业务指令。其中,待处理的业务指令包括接收指令时间和业务指令种类信息。
本实施例中,待处理的业务指令指待处理的CAN通信的业务指令和待处理的非CAN通信的业务指令。待处理的CAN通信的业务指令和待处理的非CAN通信的业务指令中包括接收指令时间和业务指令种类信息。
在本实施例中,接收指令时间为MCU接收到指令的时间,业务指令种类信息指该业务指令是CAN通信的业务指令或者非CAN通信的业务指令。
在本实施例中,通过接收指令时间可以给待处理的业务指令尤其是同种类业务指令之间按照时间进行排序。从而可以在处理业务时将待处理的业务指令按照排序一个一个的处理,避免出现指令冲突的情况,从而提升业务的处理效率。
步骤S202,根据业务指令种类信息从待处理的业务指令中筛选出CAN通信的业务指令以及非CAN通信的业务指令。
在本实施例中,由于业务指令种类信息中包括CAN通信的业务指令信息和非CAN通信的业务指令信息,从而可以根据业务指令种类信息从待处理的业务指令中筛选出CAN通信的业务指令以及非CAN通信的业务指令。
步骤S203,根据接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。其中,CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息。
本实施例中,由于接收指令时间包括接收各个业务指令的时间,根据接收各个业务指令的时间可以确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。从而可以在确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令之后,立马执行对应的CAN通信的业务指令。而在执行CAN通信的业务指令的过程中,利用等待CAN模块应答当前流程指令的时间,执行当前需要执行的非CAN通信的业务指令,进而提高了MCU业务处理的效率。
请参阅图4,图4为本发明另一实施例提供的MCU业务处理方法中步骤203的流程示意图。如图4所示,步骤203可以细化为步骤S2031-步骤S2033。
步骤S2031,根据接收指令时间将CAN通信的业务指令和非CAN通信的业务指令按照同种类业务指令之间的时间先后顺序进行排序。
在本实施例中,根据接收指令时间将CAN通信的业务指令按照时间先后顺序排序,同时,根据接收指令时间将非CAN通信的业务指令同样按照时间先后顺序排序。
步骤S2032,将当前排序第一位的CAN通信的业务指令确定为当前需要执行的CAN通信的业务指令。
本实施例中,当前排序第一位的CAN通信的业务指令可以根据CAN通信的业务指令处理情况自适应改变排序情况,比如当前排序第二位的CAN通信的业务指令在当前排序第一位的CAN通信的业务指令处理完后,自动变为排序第一位的CAN通信的业务指令。
步骤S2033,将当前排序第一位的非CAN通信的业务指令确定为当前需要执行的非CAN通信的业务指令。
在本实施例中,当前排序第一位的非CAN通信的业务指令可以根据非CAN通信的业务指令处理情况自适应改变排序情况,比如当前排序第二位的非CAN通信的业务指令在当前排序第一位的非CAN通信的业务指令处理完后,自动变为排序第一位的非CAN通信的业务指令。
步骤S204,根据顺序信息将当前流程指令发送至CAN模块。
本实施例中,根据顺序信息可以判断目前业务指令处理进度情况,从而将需要进行处理的当前流程指令发送至CAN模块。
可选的,本实施例中,还可以包括:
在第一预设时间内未接收到CAN模块对当前流程指令应答时,则退出当前CAN通信的业务指令。同时,从当前排序中执行下一位的CAN通信的业务指令。
在本实施例中,第一预设时间可以设为3秒、5秒等,可以根据实际需求进行设置,本实施例对此不作限定。
本实施例中,当在第一预设时间内未接收到CAN模块对当前流程指令应答时,此时业务指令处理流程可能发生了错误,即使继续等待CAN模块对当前流程指令应答,也不一定能接收到CAN模块对当前流程指令应答。此时,从当前排序中执行下一位的CAN通信的业务指令可以降低MCU资源的浪费,从而提高了MCU资源利用率。
步骤S205,在第二预设时间内未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。
本实施例中,由于CAN模块对当前流程指令应答需要一定的时间,可能是0.1秒,也可能是0.5秒,通过设置第二预设时间,可以避免MCU在发送当前流程指令之后,在极短的时间内直接判定未接收到CAN模块对当前流程指令应答,从而防止错误的进入释放资源并处理非CAN通信的业务指令的流程步骤。
本实施例中,第二预设时间可以设置为1秒或者根据实际需求进行设置,本实施例对此不作限定。
步骤S206,在接收到CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令。
在本实施例中,在接收到CAN模块对当前流程指令应答时,发送下一位流程指令的优先级是最高的。此时,暂停处理非CAN通信的业务指令,同时也可以对非CAN通信的业务指令的进度进行标记,以方便后续对该非CAN通信的业务指令进行处理。
步骤S207,保存暂停处理的非CAN通信的业务指令的进度,给进度进行标记并将顺序信息中对应的下一位流程指令发送至CAN模块。
在本实施例中,保存暂停处理的非CAN通信的业务指令的进度并给进度进行标记可以在等待CAN模块对下一位流程指令应答时,快速的找到上一次处理的非CAN通信的业务指令的进度,并接着该进度进行后续的处理步骤,从而提升MCU业务处理的效率。
下面请参阅图5,图5为本发明又一实施例提供的MCU业务处理方法的流程示意图。本实施例提供的MCU业务处理方法,是在本发明前两个实施例提供的MCU业务处理方法的基础上,增加了循环的步骤。则本实施例提供的MCU业务处理方法包括以下步骤,步骤流程如下:
步骤S301,在未接收到CAN模块对下一位的流程指令应答时,释放资源并根据标记从保存的进度处开始处理对应的非CAN通信的业务指令。
在本实施例中,利用标记可以在等待CAN模块对下一位流程指令应答时,快速的找到上一次处理的非CAN通信的业务指令的进度,并接着该进度进行后续的处理步骤,从而提升MCU业务处理的效率。
步骤S302,在接收到CAN模块对下一位的流程指令应答时,暂停处理非CAN通信的业务指令并保存非CAN通信的业务指令的进度,给当前的进度进行新的标记以替代上一个标记。
本实施例中,步骤302的实现方式与上一实施例中的步骤207的实现方式类似,在此不再一一赘述。
步骤S303,将顺序信息中再下一位流程指令发送至CAN模块。
本实施例中,步骤303的实现方式与本发明实施例一中的步骤207的实现方式类似,在此不再一一赘述。
步骤S304,执行在未接收到CAN模块对再下一位的流程指令应答时,释放资源并根据标记从保存的进度处开始处理对应的非CAN通信的业务指令的步骤,直至所有流程指令执行完毕。
在本实施例中,在执行完当前流程指令后根据顺序信息执行下一位流程指令以及后续的下下位流程指令,直到当前CAN通信的业务指令中的流程指令都执行完毕。此时退出当前CAN通信的业务指令,并执行下一位的CAN通信的业务指令。
本发明实施例提供的一种MCU业务处理方法,本发明实施例的方法首先通过获取所有待处理的业务指令,并按照接收指令时间确定需要执行的CAN通信的业务指令和非CAN通信的业务指令。在对业务指令处理过程中,将需要执行的CAN通信的业务指令中当前的流程指令发送至CAN模块,在未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。从而使MCU在进行业务处理时,可以在等待CAN模块对当前流程指令的应答时,释放资源处理非CAN通信的业务指令。而在接收到CAN模块的应答时,继续处理下一位的流程指令。从而在不影响CAN通信的业务指令处理过程的同时,更有效地利用MCU闲置资源,进而提高了MCU资源利用率,提高了业务处理的效率。
同时,通过设置第二预设时间,可以避免MCU在发送当前流程指令之后,在极短的时间内直接判定未接收到CAN模块对当前流程指令应答,防止错误的进入释放资源并处理非CAN通信的业务指令的流程步骤。通过设置第一预设时间,可以在业务指令处理流程发生错误时,从当前排序中执行下一位的CAN通信的业务指令,从而可以降低MCU资源的浪费,进而提高了MCU资源利用率。
图6为本发明一实施例提供的MCU业务处理装置的结构示意图,如图6所示,本实施例中,装置位于电子设备中,该MCU业务处理装置400包括:
获取模块401,用于获取当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。其中,CAN通信的业务指令包括多个流程指令以及流程指令对应的顺序信息。
当前指令发送模块402,用于根据顺序信息将当前流程指令发送至CAN模块。
业务指令处理模块403,用于在未接收到CAN模块对当前流程指令应答时,释放资源并处理非CAN通信的业务指令。
下一位指令发送模块404,用于在接收到CAN模块对当前流程指令应答时,暂停处理非CAN通信的业务指令并将顺序信息中对应的下一位流程指令发送至CAN模块。
本实施例提供的MCU业务处理装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
图7为本发明另一实施例提供的MCU业务处理装置的结构示意图,如图7所示,下面将对本发明MCU业务处理装置的另一个实施例进行说明。本实施例提供的MCU业务处理装置500在上一个实施例提供的MCU业务处理装置400的基础上,对各个模块进行了进一步的细化,并增加了超时业务处理模块501和循环模块502。
可选的,本实施例中,获取模块401具体用于:
获取待处理的业务指令,待处理的业务指令包括接收指令时间和业务指令种类信息。
根据业务指令种类信息从待处理的业务指令中筛选出CAN通信的业务指令以及非CAN通信的业务指令。
根据接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令。
可选的,本实施例中,获取模块401在根据接收指令时间确定当前需要执行的CAN通信的业务指令和非CAN通信的业务指令时,具体用于:
根据接收指令时间将CAN通信的业务指令和非CAN通信的业务指令按照同种类业务指令之间的时间先后顺序进行排序。
将当前排序第一位的CAN通信的业务指令确定为当前需要执行的CAN通信的业务指令。
将当前排序第一位的非CAN通信的业务指令确定为当前需要执行的非CAN通信的业务指令。
可选的,本实施例中,下一位指令发送模块404还用于保存暂停处理的非CAN通信的业务指令的进度,并给进度进行标记。
可选的,本实施例中,还包括循环模块502:
循环模块502用于在未接收到CAN模块对下一位的流程指令应答时,释放资源并根据标记从保存的进度处开始处理对应的非CAN通信的业务指令。在接收到CAN模块对下一位的流程指令应答时,暂停处理非CAN通信的业务指令并保存非CAN通信的业务指令的进度,给当前的进度进行新的标记以替代上一个标记。将顺序信息中再下一位流程指令发送至CAN模块。执行在未接收到CAN模块对再下一位的流程指令应答时,释放资源并根据标记从保存的进度处开始处理对应的非CAN通信的业务指令的步骤,直至所有流程指令执行完毕。
可选的,本实施例中,还包括:
超时业务处理模块501,用于在第一预设时间内未接收到CAN模块对当前流程指令应答时,则退出当前CAN通信的业务指令。从当前排序中执行下一位的CAN通信的业务指令。
可选的,本实施例中,业务指令处理模块403在未接收到CAN模块对当前流程指令应答时,具体用于。
在第二预设时间内未接收到CAN模块对当前流程指令应答时。
本实施例提供的MCU业务处理装置可以执行图2-图5所示方法实施例的技术方案,其实现原理和技术效果与图2-图5所示方法实施例类似,在此不再一一赘述。
根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读存储介质。
如图8所示,是根据本发明实施例提供的电子设备的结构示意图。电子设备旨在各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图8所示,该电子设备包括:处理器601、存储器602。各个部件利用总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理。
存储器602即为本发明所提供的计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本发明所提供的MCU业务处理方法。本发明的计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本发明所提供的MCU业务处理方法。
存储器602作为一种计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本发明实施例中的MCU业务处理方法对应的程序指令/模块(例如,附图6所示的获取模块401,当前指令发送模块402,业务指令处理模块403和下一位指令发送模块404)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的MCU业务处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明实施例的其它实施方案。本发明旨在涵盖本发明实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明实施例的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明实施例的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明实施例的范围仅由所附的权利要求书来限制。