一种任务处理方法及装置、计算机可读存储介质与流程

文档序号:17336076发布日期:2019-04-05 22:30阅读:152来源:国知局
一种任务处理方法及装置、计算机可读存储介质与流程

本发明涉及但不限于通信技术领域,尤其涉及一种任务处理方法及装置、计算机可读存储介质。



背景技术:

工业控制系统越来越多地采取高性能的处理器,来对采集的数据进行运算。与单核处理器相比,多核处理器在一个时钟周期内能处理更多的任务,已成为未来市场主流处理器的发展趋势。

目前,工业控制系统的多核处理器的产品实现中,对于多任务的处理,多采用由系统来分配每个任务到相应的处理器核。现有的这种任务分配方法,系统运行情况不可控,可能会导致系统整体的运行效率较低。



技术实现要素:

本发明实施例提供了一种任务处理方法及装置、计算机可读存储介质,能够使得系统的运行情况完全可控,进而能够提高系统整体的运行效率。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种任务处理方法,包括:

获取一个或多个任务;

根据所述任务的配置中指定运行的处理器核的编号,将所述任务加载到对应的处理器核上运行。

在一实施例中,所述方法还包括:

根据所述任务的优先级来指定所述运行的处理器核的编号。

在一实施例中,所述方法还包括:

将数据区划分为各个所述任务私有的私有数据区及所有所述任务共有的全局数据区;

所述任务运行时,可访问该所述任务私有的私有数据区及所有所述任务共有的全局数据区。

在一实施例中,所述获取一个或多个任务,包括:

运行逻辑程序,所述逻辑程序中包括一个或多个所述任务。

在一实施例中,所述逻辑程序为组态的逻辑程序,所述组态的逻辑程序用于完成对一个或多个总线主站采集的数据进行运算,并输出运算结果至所述总线主站。

在一实施例中,所述逻辑程序包括一个或多个子逻辑程序,所述子逻辑程序包括一个或多个所述任务,所述一个子逻辑程序用于完成对一个所述总线主站采集的数据进行运算,并输出运算结果至该所述总线主站,所述一个总线主站由一个所述子逻辑程序处理。

在一实施例中,所述逻辑程序包括一个或多个子逻辑程序,所述子逻辑程序包括一个或多个所述任务,所述一个所述任务用于完成对一个所述总线主站采集的数据进行运算,并输出运算结果至该所述总线主站,所述一个总线主站由一个所述任务处理。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的任务处理方法的步骤。

本发明实施例还提供了一种任务处理装置,包括处理器及存储器,其中:

所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的任务处理方法的步骤。

本发明实施例还提供了一种任务处理装置,包括任务获取模块和任务加载模块,其中:

任务获取模块,用于获取一个或多个任务;

任务加载模块,用于根据所述任务的配置中指定运行的处理器核的编号,将所述任务加载到对应的处理器核上运行。

本发明实施例的技术方案,具有如下有益效果:

本发明实施例提供的任务处理方法及装置、计算机可读存储介质,通过根据任务的配置中指定运行的处理器核的编号,将任务加载到对应的处理器核上运行,使得系统的运行情况完全可控,进而能够提高系统整体的运行效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例的一种任务处理方法的流程示意图;

图2为本发明实施例的一种组态软件和控制器的关系示意图;

图3为本发明实施例的一种子逻辑程序和总线主站的关系示意图;

图4为本发明实施例的一种任务和数据区的关系示意图;

图5为本发明实施例的一种任务处理装置的结构示意图;

图6为本发明实施例的另一种任务处理装置的结构示意图;

图7为本发明实施例的又一种任务处理装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

如图1所示,根据本发明实施例的一种任务处理方法,包括:

步骤101:获取一个或多个任务;

在本发明的一实施例中,所述获取一个或多个任务,包括:

运行逻辑程序,所述逻辑程序中包括多个任务。

在本实施例的一示例中,所述逻辑程序为组态的逻辑程序,所述组态的逻辑程序用于完成对一个或多个总线主站采集的数据进行运算,并输出运算结果至所述总线主站。

在该示例中,如图2所示,可以通过组态软件完成逻辑程序的组态,生成所述组态的逻辑程序,每个逻辑程序包含若干个子逻辑程序,每个子逻辑程序包含若干个任务,并通过下装操作,下载到控制器里运行;控制器负责运行所述组态的逻辑程序,完成对总线主站采集的数据的运算及输出运算结果到总线主站。图2中的n为大于或等于1的自然数。

在本实施例的一示例中,所述逻辑程序包括一个或多个子逻辑程序,所述子逻辑程序包括一个或多个任务,所述一个子逻辑程序用于完成对一个所述总线主站采集的数据进行运算,并输出运算结果至该所述总线主站,所述一个总线主站由一个所述子逻辑程序处理。

在该示例中,如图3所示,一个总线主站下的所有变量(例如,变量1至变量m,m为大于或等于1的自然数)全部属于某个子逻辑程序,即一个总线主站及其所带从站的所有变量都只能由一个子逻辑程序访问。

在本实施例的另一示例中,所述逻辑程序包括一个或多个子逻辑程序,所述子逻辑程序包括一个或多个任务,所述一个任务用于完成对一个所述总线主站采集的数据进行运算,并输出运算结果至该所述总线主站,所述一个总线主站由一个所述任务处理。

在该示例中,一个总线主站下的所有变量全部属于某个任务,即一个总线主站及其所带从站只能由一个任务访问。

步骤102:根据所述任务的配置中指定运行的处理器核的编号,将所述任务加载到对应的处理器核上运行。

在该步骤中,每个任务在配置里指定运行该任务的处理器核的编号;当由所述控制器运行所述逻辑程序时,所述控制器根据任务的配置将任务绑定到处理器的核上运行。

在本发明的一实施例中,所述方法还包括:根据所述任务的优先级来指定所述运行的处理器核的编号。

在本发明的一实施例中,所述方法还包括:

将数据区划分为各个任务私有的私有数据区及所有任务共有的全局数据区;

当任务运行时,该任务可访问该任务私有的私有数据区及所有任务共有的全局数据区。

在该实施例中,如图4所示,每个任务拥有独立的私有数据区,仅该任务可以访问,其他任务不允许访问;所有任务共同拥有全局数据区,所有任务都可以访问。组态任务在运行时,可以访问本任务私有数据区的变量,也可以访问全局数据区的变量,访问时对全局数据加以保护。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的任务处理方法的步骤。

如图5所示,本发明实施例还提供了一种任务处理装置,包括处理器501及存储器502,其中:

所述处理器501用于执行存储器502中存储的程序,以实现如以上任一项所述的任务处理方法的步骤。

如图6所示,本发明实施例还提供了一种任务处理装置,包括任务获取模块601和任务加载模块602,其中:

任务获取模块601,用于获取一个或多个任务;

任务加载模块602,用于根据所述任务的配置中指定运行的处理器核的编号,将所述任务加载到对应的处理器核上运行。

在本发明实施例中,每个任务在配置里指定运行该任务的处理器核的编号;当所述任务处理装置为工业控制系统中的控制器时,所述控制器根据任务的配置将任务绑定到处理器的核上运行。

在本发明的一实施例中,所述任务获取模块601还用于:根据所述任务的优先级来指定所述运行的处理器核的编号。

在本发明的一实施例中,如图7所示,所述任务处理装置还包括数据区划分模块603,其中:

数据区划分模块603,用于将数据区划分为各个所述任务私有的私有数据区及所有所述任务共有的全局数据区;所述任务运行时,可访问该所述任务私有的私有数据区及所有所述任务共有的全局数据区。

在该实施例中,如图4所示,每个任务拥有独立的私有数据区,仅该任务可以访问,其他任务不允许访问;所有任务共同拥有全局数据区,所有任务都可以访问。组态任务在运行时,可以访问本任务私有数据区的变量,也可以访问全局数据区的变量,访问时对全局数据加以保护。

在本发明的一实施例中,所述任务获取模块601的获取一个或多个任务,包括:运行逻辑程序,所述逻辑程序中包括一个或多个所述任务。

在本实施例的一示例中,所述逻辑程序为组态的逻辑程序,所述组态的逻辑程序用于完成对一个或多个总线主站采集的数据进行运算,并输出运算结果至所述总线主站。

在该示例中,如图2所示,可以通过组态软件完成逻辑程序的组态,生成所述组态的逻辑程序,每个逻辑程序包含若干个子逻辑程序,每个子逻辑程序包含若干个任务,并通过下装操作,下载到控制器里运行;控制器负责运行所述组态的逻辑程序,完成对总线主站采集的数据的运算及输出运算结果到总线主站。

在本实施例的一示例中,所述逻辑程序包括一个或多个子逻辑程序,所述子逻辑程序包括一个或多个任务,所述一个子逻辑程序用于完成对一个所述总线主站采集的数据进行运算,并输出运算结果至该所述总线主站,所述一个总线主站由一个所述子逻辑程序处理。

在该示例中,如图3所示,一个总线主站下的所有变量(例如,变量1至变量m,m为大于或等于1的自然数)全部属于某个子逻辑程序,即一个总线主站及其所带从站的所有变量都只能由一个子逻辑程序访问。

在本实施例的另一示例中,所述逻辑程序包括一个或多个子逻辑程序,所述子逻辑程序包括一个或多个任务,所述一个任务用于完成对一个所述总线主站采集的数据进行运算,并输出运算结果至该所述总线主站,所述一个总线主站由一个所述任务处理。

在该示例中,一个总线主站下的所有变量全部属于某个任务,即一个总线主站及其所带从站只能由一个任务访问。

采用本发明实现的工业控制系统,针对多核系统,开发人员可以将任务根据不同的优先级和运行情况,分配到不同处理器核上运行,从而可以提高对处理器的使用效率;通过将数据区分为每个任务所属的独立数据区和全局数据区,降低了对同一数据的并发访问冲突,提高了运行的效率;通过一个逻辑程序支持多个总线主站,提高了系统的容量。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1