CN110955520A - 一种面向电能表的多任务调度方法和系统 - Google Patents

一种面向电能表的多任务调度方法和系统 Download PDF

Info

Publication number
CN110955520A
CN110955520A CN201911071217.0A CN201911071217A CN110955520A CN 110955520 A CN110955520 A CN 110955520A CN 201911071217 A CN201911071217 A CN 201911071217A CN 110955520 A CN110955520 A CN 110955520A
Authority
CN
China
Prior art keywords
coroutine
queue
trigger information
information
coroutines
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
CN201911071217.0A
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.)
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Original Assignee
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
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 State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI filed Critical State Grid Corp of China SGCC
Priority to CN201911071217.0A priority Critical patent/CN110955520A/zh
Publication of CN110955520A publication Critical patent/CN110955520A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种面向电能表的多任务调度方法和系统。所述方法和系统通过生成协程和触发信息,并在系统运行时,基于协程注册的触发信息,将系统接收的触发消息分配至协程,生成激活状态的协程队列,按照协程队列的顺序执行协程。所述面向电能表的多任务调度方法和系统通过协程,将一个业务应用的整体功能划分为多个子功能模块,并将所述子功能模块作为协程中运行的“任务”,有效实现了将电能表的业务应用进行模块化划分,简化了业务逻辑,使任务的切换更加高效率。最后,根据任务所需功能不同,可以独立设置协程机栈的大小,实现了业务应用所需对象资源和协程栈资源的灵活调整。

Description

一种面向电能表的多任务调度方法和系统
技术领域
本发明涉及电能表应用领域,并且更具体地,涉及一种面向电能表的多任务调度方法和系统。
背景技术
随着智能化电能表的推广,电能表计量业务的需求不断增加,电能表所需的功能也越来越复杂,对于功能实现的要求也越来越高,在保证完整实现功能的前提下,如果提高电能表功能实现的效率,并同时保证电能表业务应用稳定运行就成为一个迫切的需求。
发明内容
为了解决现有技术中电能表业务功能复杂,但电能表功能实现效率不高的技术问题,本发明提供了一种面向电能表的多任务调度方法,所述方法包括:
电能表系统根据业务需要,生成多个协程,并为所述协程进行编号,以及生成协程可调用的触发信息,并为所述触发信息进行编号;
当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息;
系统运行时,基于协程注册的触发信息,将接收的触发信息分配给对应的协程,接收到触发信息的协程进入激活状态,所述处于激活状态的协程按照接收触发信息的时间顺序生成激活状态的协程队列;
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态;当系统中全部协程的信息队列均为空时,系统空闲。
进一步地,所述协程可调用的触发信息包括消息、等待标志号和等待锁,其中,消息包括电能表外部硬件消息和电能表内部消息,所述外部硬件消息包括通信消息、计量消息和按键消息,所述内部消息包括定时器消息和电能表业务应用的自定义消息。
进一步地,所述当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息是指建立信息注册表,存储注册触发信息的协程的协程编号。
进一步地,所述系统运行时,基于协程注册的信息,将接收的信息分配给对应的协程是指系统运行时,接收到触发信息后,将所述触发信息缓存,并基于触发信息编号与注册所述触发信息的协程编号的对应关系,将所述信息分配至注册所述触发信息的协程。
进一步地,所述当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态包括:
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,其中,所述协程运行结束包括协程中信息队列执行完毕或者协程中信息队列未执行完毕,但协程主动释放控制权;
系统按照激活状态协程队列的顺序,将协程的虚拟机栈切换至激活状态的协程队列中的下一个协程的虚拟机栈,使其进入运行态,其中,所述协程的虚拟机栈是存储协程运行时的临时变量的空间。
根据本发明的另一方面,本发明提供一种面向电能表的多任务调度系统,所述系统包括:
初始化单元,其用于电能表系统根据业务需要,生成多个协程,并为所述协程进行编号,以及生成协程可调用的触发信息,并为所述触发信息进行编号;
协程信息注册单元,其用于当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息;
信息管理单元,其用于系统运行时,基于协程注册的触发信息,将接收的触发信息分配给对应的协程,接收到触发信息的协程进入激活状态,所述处于激活状态的协程按照接收触发信息的时间顺序生成激活状态的协程队列;
任务调度单元,其用于当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态,当系统中全部协程的信息队列均为空时,系统空闲。
进一步地,所述初始化单元生成的协程可调用的触发信息包括消息、等待标志号和等待锁,其中,消息包括电能表外部硬件消息和电能表内部消息,所述外部硬件消息包括通信消息、计量消息和按键消息,所述内部消息包括定时器消息和电能表业务应用的自定义消息。
进一步地,所述协程注册单元在电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息是指建立信息注册表,存储注册触发信息的协程的协程编号。
进一步地,所述队列生成单元在系统系统运行时,基于协程注册的信息,将接收的信息分配给对应的协程是指系统运行时,接收到触发信息后,将所述触发信息缓存,并基于协程注册单元中触发信息编号与注册所述触发信息的协程编号的对应关系,将所述信息分配至注册所述触发信息的协程。
进一步地,所述任务调度单元在系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态包括:
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,其中,所述协程运行结束包括协程中信息队列执行完毕或者协程中信息队列未执行完毕,但协程主动释放控制权;
系统按照激活状态协程队列的顺序,将协程的虚拟机栈切换至激活状态的协程队列中的下一个协程的虚拟机栈,使其进入运行态,其中,所述协程的虚拟机栈是存储协程运行时的临时变量的空间。
本发明技术方案提供的面向电能表的多任务调度方法和系统通过生成协程和触发信息,并在系统运行时,基于协程注册的触发信息,将系统接收的触发消息分配至协程,生成激活状态的协程队列,按照协程队列的顺序执行协程。所述面向电能表的多任务调度方法和系统通过协程,将一个业务应用的整体功能划分为多个子功能模块,并将所述子功能模块作为协程中运行的“任务”,有效实现了将电能表的业务应用进行模块化划分,简化了业务逻辑,使任务的切换更加高效率。最后,根据任务所需功能不同,可以独立设置协程机栈的大小,实现了业务应用所需对象资源和协程栈资源的灵活调整。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明优选实施方式的面向电能表的多任务调度方法的流程图;
图2为根据本发明优选实施方式的多任务调度示意图;
图3为根据本发明优选实施方式的面向电能表的多任务调度系统的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明优选实施方式的面向电能表的多任务调度方法的流程图。如图1所示,本优选实施方式所述的面向电能表的多任务调度方法100从步骤101开始。
在步骤101,电能表系统根据业务需要,生成多个协程,并为所述协程进行编号,以及生成协程可调用的触发信息,并为所述触发信息进行编号。
在步骤102,当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息。
在步骤103,系统运行时,基于协程注册的触发信息,将接收的触发信息分配给对应的协程,接收到触发信息的协程进入激活状态,所述处于激活状态的协程按照接收触发信息的时间顺序生成激活状态的协程队列;
在步骤104,当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态,当系统中全部协程的信息队列均为空时,系统空闲。
优选地,所述协程可调用的触发信息包括消息、等待标志号和等待锁,其中,消息包括电能表外部硬件消息和电能表内部消息,所述外部硬件消息包括通信消息、计量消息和按键消息,所述内部消息包括定时器消息和电能表业务应用的自定义消息。
优选地,所述当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息是指建立信息注册表,存储注册触发信息的协程的协程编号。
优选地,所述系统运行时,基于协程注册的信息,将接收的信息分配给对应的协程是指系统运行时,接收到触发信息后,将所述触发信息缓存,并基于触发信息编号与注册所述触发信息的协程编号的对应关系,将所述信息分配至注册所述触发信息的协程。
优选地,所述当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态包括:
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,其中,所述协程运行结束包括协程中信息队列执行完毕或者协程中信息队列未执行完毕,但协程主动释放控制权;
系统按照激活状态协程队列的顺序,将协程的虚拟机栈切换至激活状态的协程队列中的下一个协程的虚拟机栈,使其进入运行态,其中,所述协程的虚拟机栈是存储协程运行时的临时变量的空间。协程的虚拟机栈中,存储当前协程运行时PC指针、当前使用栈的偏移、函数栈帧位置、当前执行方法包信息、当前方法使用的最大寄存器数及参数个数等信息。系统进行协程调度时,对当前使用的虚拟机栈进行切换,从而实现协程的调度。考虑到各个协程栈执行任务不同,对协程栈的资源需求也不同,因此,系统设计了协程栈空间可调整的机制,可以根据需要调整各个协程的栈的大小。通过协程栈空间的调整,保证了系统资源使用的灵活性,可以根据应用需要设置协程栈的大小,平衡协程栈和应用对系统资源的使用。
图2为根据本发明优选实施方式的多任务调度示意图。如图2所示,将业务应用的功能分成多个子功能模块后,通过协程将其作为多个任务来执行,所述任务的执行都是独立的,并通过协程的调度,避免了必须一个协程的任务全部完成后才能执行下一个协程的任务。协程的调度主要发生在消息等待、睡眠、标记、或协程主动释放控制权时发生。使用协程机制,各个任务切换时由程序切换,可以高效率的实现平台的多任务机制。针对电能表应用的场景,一方面,可以有效的避免不必要的频繁系统调度;另一方面,业务应用在运行关键数据组合计算时,可以选择不释放内核控制权来实现部分临界数据的保护,而不需要单独开启调度禁止或互斥锁等,提升CPU的有效执行时间。
图3为根据本发明优选实施方式的面向电能表的多任务调度系统的结构示意图。如图3所示,本优选实施方式所述的面向电能表的多任务调度系统300包括:
初始化单元301,其用于电能表系统根据业务需要,生成多个协程,并为所述协程进行编号,以及生成协程可调用的触发信息,并为所述触发信息进行编号;
协程信息注册单元302,其用于当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息;
信息管理单元303,其用于系统运行时,基于协程注册的触发信息,将接收的触发信息分配给对应的协程,接收到触发信息的协程进入激活状态,所述处于激活状态的协程按照接收触发信息的时间顺序生成激活状态的协程队列;
任务调度单元304,其用于当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态,当系统中全部协程的信息队列均为空时,系统空闲。
优选地,所述初始化单元生成的协程可调用的触发信息包括消息、等待标志号和等待锁,其中,消息包括电能表外部硬件消息和电能表内部消息,所述外部硬件消息包括通信消息、计量消息和按键消息,所述内部消息包括定时器消息和电能表业务应用的自定义消息。
优选地,所述协程注册单元在电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息是指建立信息注册表,存储注册触发信息的协程的协程编号。
优选地,所述队列生成单元在系统系统运行时,基于协程注册的信息,将接收的信息分配给对应的协程是指系统运行时,接收到触发信息后,将所述触发信息缓存,并基于协程注册单元中触发信息编号与注册所述触发信息的协程编号的对应关系,将所述信息分配至注册所述触发信息的协程。
优选地,所述任务调度单元在系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态包括:
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,其中,所述协程运行结束包括协程中信息队列执行完毕或者协程中信息队列未执行完毕,但协程主动释放控制权;
系统按照激活状态协程队列的顺序,将协程的虚拟机栈切换至激活状态的协程队列中的下一个协程的虚拟机栈,使其进入运行态,其中,所述协程的虚拟机栈是存储协程运行时的临时变量的空间。
本发明所述图1为根据本发明优选实施方式的面向电能表的多任务调度系统对电能表的多个任务进行调度的方法与本发明所述面向电能表的多任务调度方法的原理相同,并且达到的技术效果也相同,此处不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种面向电能表的多任务调度方法,其特征在于,所述方法包括:
电能表系统根据业务需要,生成多个协程,并为所述协程进行编号,以及生成协程可调用的触发信息,并为所述触发信息进行编号;
当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息;
系统运行时,基于协程注册的触发信息,将接收的触发信息分配给对应的协程,接收到触发信息的协程进入激活状态,所述处于激活状态的协程按照接收触发信息的时间顺序生成激活状态的协程队列;
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态;当系统中全部协程的信息队列均为空时,系统空闲。
2.根据权利要求1所述的方法,其特征在于,所述协程可调用的触发信息包括消息、等待标志号和等待锁,其中,消息包括电能表外部硬件消息和电能表内部消息,所述外部硬件消息包括通信消息、计量消息和按键消息,所述内部消息包括定时器消息和电能表业务应用的自定义消息。
3.根据权利要求1所述的方法,其特征在于,所述当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息是指建立信息注册表,存储注册触发信息的协程的协程编号。
4.根据权利要求3所述的方法,其特征在于,所述系统运行时,基于协程注册的信息,将接收的信息分配给对应的协程是指系统运行时,接收到触发信息后,将所述触发信息缓存,并基于触发信息编号与注册所述触发信息的协程编号的对应关系,将所述信息分配至注册所述触发信息的协程。
5.根据权利要求4所述的方法,其特征在于,所述当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态包括:
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,其中,所述协程运行结束包括协程中信息队列执行完毕或者协程中信息队列未执行完毕,但协程主动释放控制权;
系统按照激活状态协程队列的顺序,将协程的虚拟机栈切换至激活状态的协程队列中的下一个协程的虚拟机栈,使其进入运行态,其中,所述协程的虚拟机栈是存储协程运行时的临时变量的空间。
6.一种面向电能表的多任务调度系统,其特征在于,所述系统包括:
初始化单元,其用于电能表系统根据业务需要,生成多个协程,并为所述协程进行编号,以及生成协程可调用的触发信息,并为所述触发信息进行编号;
协程信息注册单元,其用于当电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息;
信息管理单元,其用于系统运行时,基于协程注册的触发信息,将接收的触发信息分配给对应的协程,接收到触发信息的协程进入激活状态,所述处于激活状态的协程按照接收触发信息的时间顺序生成激活状态的协程队列;
任务调度单元,其用于当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态,当系统中全部协程的信息队列均为空时,系统空闲。
7.根据权利要求6所述的系统,其特征在于,所述初始化单元生成的协程可调用的触发信息包括消息、等待标志号和等待锁,其中,消息包括电能表外部硬件消息和电能表内部消息,所述外部硬件消息包括通信消息、计量消息和按键消息,所述内部消息包括定时器消息和电能表业务应用的自定义消息。
8.根据权利要求6所述的系统,其特征在于,所述协程注册单元在电能表启动后,初始化协程为空闲状态,并在系统中注册每个协程运行需要的触发信息是指建立信息注册表,存储注册触发信息的协程的协程编号。
9.根据权利要求8所述的系统,其特征在于,所述队列生成单元在系统系统运行时,基于协程注册的信息,将接收的信息分配给对应的协程是指系统运行时,接收到触发信息后,将所述触发信息缓存,并基于协程注册单元中触发信息编号与注册所述触发信息的协程编号的对应关系,将所述信息分配至注册所述触发信息的协程。
10.根据权利要求6所述的系统,其特征在于,所述任务调度单元在系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,系统按照顺序取激活状态的协程队列中的下一个协程,使其进入运行态包括:
当系统检测到激活状态的协程队列不为空时,从激活状态的协程队列头取出协程进入运行态,所述协程执行运行,并在运行结束后进入空闲状态,其中,所述协程运行结束包括协程中信息队列执行完毕或者协程中信息队列未执行完毕,但协程主动释放控制权;
系统按照激活状态协程队列的顺序,将协程的虚拟机栈切换至激活状态的协程队列中的下一个协程的虚拟机栈,使其进入运行态,其中,所述协程的虚拟机栈是存储协程运行时的临时变量的空间。
CN201911071217.0A 2019-11-05 2019-11-05 一种面向电能表的多任务调度方法和系统 Pending CN110955520A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911071217.0A CN110955520A (zh) 2019-11-05 2019-11-05 一种面向电能表的多任务调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911071217.0A CN110955520A (zh) 2019-11-05 2019-11-05 一种面向电能表的多任务调度方法和系统

Publications (1)

Publication Number Publication Date
CN110955520A true CN110955520A (zh) 2020-04-03

Family

ID=69976574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911071217.0A Pending CN110955520A (zh) 2019-11-05 2019-11-05 一种面向电能表的多任务调度方法和系统

Country Status (1)

Country Link
CN (1) CN110955520A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583622A (zh) * 2020-04-28 2020-08-25 南方电网数字电网研究院有限公司 双芯智能电表管理单元的计量信息分发处理系统和方法
CN117519931A (zh) * 2023-11-09 2024-02-06 中国三峡建工(集团)有限公司 一种基于多核心工作线程上的协程调度方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142858A (zh) * 2013-11-29 2014-11-12 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
WO2017063521A1 (zh) * 2015-10-15 2017-04-20 中兴通讯股份有限公司 协程监控方法及装置
CN107329812A (zh) * 2017-06-09 2017-11-07 腾讯科技(深圳)有限公司 一种运行协程的方法和装置
CN109739708A (zh) * 2019-01-02 2019-05-10 网易(杭州)网络有限公司 测试压力的方法、装置和系统
CN109739482A (zh) * 2018-12-28 2019-05-10 杭州东信北邮信息技术有限公司 一种基于动态语言的业务逻辑执行系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142858A (zh) * 2013-11-29 2014-11-12 腾讯科技(深圳)有限公司 阻塞任务调度方法及装置
WO2017063521A1 (zh) * 2015-10-15 2017-04-20 中兴通讯股份有限公司 协程监控方法及装置
CN107329812A (zh) * 2017-06-09 2017-11-07 腾讯科技(深圳)有限公司 一种运行协程的方法和装置
CN109739482A (zh) * 2018-12-28 2019-05-10 杭州东信北邮信息技术有限公司 一种基于动态语言的业务逻辑执行系统及方法
CN109739708A (zh) * 2019-01-02 2019-05-10 网易(杭州)网络有限公司 测试压力的方法、装置和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583622A (zh) * 2020-04-28 2020-08-25 南方电网数字电网研究院有限公司 双芯智能电表管理单元的计量信息分发处理系统和方法
CN111583622B (zh) * 2020-04-28 2021-01-22 南方电网数字电网研究院有限公司 双芯智能电表管理单元的计量信息分发处理系统和方法
CN117519931A (zh) * 2023-11-09 2024-02-06 中国三峡建工(集团)有限公司 一种基于多核心工作线程上的协程调度方法、系统及设备

Similar Documents

Publication Publication Date Title
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
US7996593B2 (en) Interrupt handling using simultaneous multi-threading
CN105045658B (zh) 一种利用多核嵌入式dsp实现动态任务调度分发的方法
CN103999051B (zh) 用于着色器核心中着色器资源分配的策略
US9703595B2 (en) Multi-core system with central transaction control
CN104102548A (zh) 任务资源调度处理方法和系统
US20030177164A1 (en) Method and apparatus for serving a request queue
US9424101B2 (en) Method and apparatus for synchronous processing based on multi-core system
CN110955520A (zh) 一种面向电能表的多任务调度方法和系统
CN107122233A (zh) 一种面向tsn业务的多vcpu自适应实时调度方法
Si et al. Process-based asynchronous progress model for MPI point-to-point communication
CN115480904B (zh) 微内核中系统服务并发调用方法
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
AU714853B2 (en) Job scheduling for instruction processor
CN117331655A (zh) 多线程调度方法及装置
CN112749020A (zh) 一种物联网操作系统的微内核优化方法
Chishiro et al. Extended RT-component framework for RT-middleware
WO2015069408A1 (en) System and method for supporting efficient packet processing model and optimized buffer utilization for packet processing in a network environment
EP1341092A1 (en) Method and arrangement for virtual direct memory access
CN115412500B (zh) 支持负载均衡策略的异步通信方法、系统、介质及设备
CN107991930A (zh) 一种咖啡机系统软件控制方法
CN110445729B (zh) 一种队列调度方法、装置、设备及储存介质
Chandane Real time operating systems: a complete overview
Lu et al. Constructing ECU Software Architecture Based on OSEK
KR100930017B1 (ko) 다수 개의 커널을 운영하는 시스템 및 방법

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