CN107517112A - 一种模块调度方法 - Google Patents
一种模块调度方法 Download PDFInfo
- Publication number
- CN107517112A CN107517112A CN201610425837.XA CN201610425837A CN107517112A CN 107517112 A CN107517112 A CN 107517112A CN 201610425837 A CN201610425837 A CN 201610425837A CN 107517112 A CN107517112 A CN 107517112A
- Authority
- CN
- China
- Prior art keywords
- module
- sub
- priority
- equipment
- scheduled
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种模块调度方法,该方法包括:将流程控制模块执行的控制流程按执行顺序逻辑划分为N个不同子流程;模拟通信系统中的各设备模块,并为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级;并向流程控制模块发送注册信息;针对任一子流程,通过流程控制模块接收到在该子流程被调度的各设备模块的注册信息时;根据注册信息中的优先级,将各设备模块按照优先级从高到低的顺序排序;当N个子流程对应的所有设备模块注册完成时,通过流程控制模块执行所述控制流程;在执行所述控制流程的任一子流程时,按照优先级从高到低的顺序顺次调度对应的设备模块进行工作。该方法提高了模块调度的效率。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种模块调度方法。
背景技术
通信系统级仿真平台是利用计算机仿真技术研究通信系统性能的软件工具。
由于一个通信系统中多种通信设备的性能仿真在处理流程上有着较多的相似性,因此利用同一套仿真平台处理流程兼容多种设备的仿真能够极大降低仿真平台开发和维护的工作量。
然而,仿真平台运行过程中,相同类别设备模块的先后调用顺序往往具有严格的要求,即一类设备模块必须在另一类设备模块工作之后才能继续工作,这种工作顺序的先后依存关系使仿真控制流程的复杂度大大提高,从而使仿真平台的工作效率低下。
发明内容
有鉴于此,本申请提供一种模块调度方法,提高了模块调度的效率。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种模块调度方法,该方法包括:
将流程控制模块执行的控制流程按执行顺序逻辑划分为N个不同子流程;
模拟通信系统中的各设备模块,并为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级;并向流程控制模块发送注册信息;
针对任一子流程,通过流程控制模块接收到在该子流程被调度的各设备模块的注册信息时;根据注册信息中的优先级,将各设备模块按照优先级从高到低的顺序排序;
当N个子流程对应的所有设备模块注册完成时,通过流程控制模块执行所述控制流程;
在执行所述控制流程的任一子流程时,按照优先级从高到低的顺序顺次调度对应的设备模块进行工作。
由上面的技术方案可知,本申请中通过将控制流程逻辑划分为多个子流程,为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级,并向流程控制模块注册,流程控制模块在执行控制流程的任一子流程时,按照各设备模块对应的优先级进行调度,从而实现了按照预定顺序调度模拟的通信系统中的各设备模块,提高了模块调度的效率。
附图说明
图1为本申请实施例中模块调度流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种模块调度方法,通过将控制流程逻辑划分为多个子流程,为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级,并向流程控制模块注册,流程控制模块在执行控制流程的任一子流程时,按照各设备模块对应的优先级进行调度,从而实现了按照预定顺序调度模拟的通信系统中的各设备模块,提高了模块调度的效率。
实现本申请提供的模块调度的主体可以是一台设备,几台设备,也可以是一台设备的一个模块或几个模块,下文均以一台设备实现为例,该设备称为模拟设备,包括流程控制模块、以及由流程控制模块模拟的N个设备模块,也可以由一个独立的模块来实现模拟N个设备模块。
模拟的设备模块为相同类别的设备对应的设备模块,和/或不同类别的设备对应的设备模块。
这里的一个设备模块可以是一个设备,如手机、基站等;也可以是设备的一个功能,如基站的发送功能,手机的接收功能等,或几个功能的组合体,如基站的收发功能等。
下面结合附图,详细描述本申请实现模块调度的过程。
参见图1,图1为本申请实施例中模块调度流程示意图。具体步骤为:
步骤101,模拟设备将流程控制模块执行的控制流程按执行顺序逻辑划分为N个子流程。
模拟设备将控制流程存储在流程控制模块中,并按照该控制流程执行顺序将该控制流程逻辑划分为N个子流程,在这里仅仅是逻辑划分,并不需要真正在物理上划分,在具体实现时可以分配不同的标识标记各个子流程,如标记为:p1,p2,…,pn。
由于是按照该控制流程的执行顺序进行的逻辑划分,因此,在执行该控制流程时,顺序执行各子流程即可,如执行p1,p1执行完成后,执行p2,……,执行pn,在pn执行完成后,整个控制流程执行完毕。
步骤102,该模拟设备模拟通信系统中的各设备模块,为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级;并向流程控制模块发送注册信息。
模拟的各设备模块可以被一个子流程调度,也可以被多个子流程调度;在一个子流程中被调度的优先级可以相同,也可以不相同;在不同子流程中被调度的优先级可以相同也可以不相同。
针对任一子流程的所有设备模块被调度的优先级为连续的,或者为不连续的。
由于这里设备模块被调度的优先级可以根据实际应用进行配置,因此,在后续对模拟的通信系统进行扩展比较容易,如增加或减少某个或某些设备模块,其复杂度不随模拟仿真平台支持的设备模块的类型或个数的增加而增加,能够有利于实现控制流程的独立封装。
针对任一设备模块,通过两个标识标记,一个为该设备模块被调度的子流程的标记,一个为该设备被该子流程调度时的优先级,至于具体如何使用这两个标识标记一个设备模块,在本申请实施例中不作具体限制。
如设备模块1,在执行子流程p2时调度,且调度优先级为3和5,则说明在执行子流程p2时,调度两次设备模块1。
如设备模块2,在执行子流程p1时被调度,且调度优先级为2;在执行子流程p3时被调度,且调度优先级为3,则说明设备模块2在执行两个子流程时分别被调度。
设备模块会向流程控制模块进行注册,即发送注册信息,告知流程控制模块在执行哪些子流程时,自身被调度,以及被调度的优先级。
步骤103,针对任一子流程,该模拟设备通过流程控制模块接收到在该子流程被调度的各设备模块的注册信息时;根据注册信息中的优先级,将各设备模块按照优先级从高到低的顺序排序。
针对每个子流程,分别进行对被调度的设备模块按照被调度的优先级进行排序。
在具体实现时,可以使用数值表示优先级,根据具体应用定义数值大的优先级大,也可以定义数值小的优先级大,这里不对具体表示数值方式进行限制。
步骤104,当N个子流程对应的所有设备模块注册完成时,该模拟设备通过流程控制模块执行所述控制流程;在执行所述控制流程的任一子流程时,按照优先级从高到低的顺序顺次调度对应的设备模块进行工作。
当模拟的通信系统中的所有设备模块均注册完成,即发送注册信息,且模拟设备根据注册信息完成针对各子流程的排序后,模拟设备可以随时执行所述控制流程。
模拟设备执行所述控制流程时,针对任一子流程,在调度对应的设备模块工作时,若存在优先级相同的设备模块,按预设规则调度优先级相同的设备模块。
其中,按预设规则调度优先级相同的设备模块,包括:
随机调度优先级相同的设备模块;只要将优先级相同的这些设备模块依次随机调度即可,即遍历调度所有优先级相同的设备模块。
或,同时调度优先级相同的设备模块。
模拟设备在按控制流程的执行先后顺序执行各子流程时,执行完一个子流程,再执行下一个子流程,直到执行完所有子流程时,该控制流程执行完成。
下面以具体例子,详细描述本申请实施例中实现模块调度的过程。
在该实施例中模拟设备将流程控制模块中存储的控制流程逻辑划分为3个子流程,按该控制流程的执行顺序3个子流程依次为:初始化阶段流程、时隙仿真阶段流程、结果输出阶段流程。
在整个控制流程仿真过程中,需涉及到的设备模块有4类,分别为:宏蜂窝基站设备模块、微蜂窝中继模块、信道模块、接收手机模块;并且涉及到的宏蜂窝模块为3个,微蜂窝中继模块为4个,接收手机模块为3个,信道模块根据接收手机模块自动生成,一个接收手机模块对应一个信道模块,则信道模块也为3个,因此,执行该控制流程时,总共需调度13个设备模块。
针对3个子流程,被调度的设备模块的需求如下:
在初始化阶段流程,调度各设备各模块的顺序为:宏蜂窝基站模块=微蜂窝中继模块=接收手机模块<信道模块,即需要先调度宏蜂窝基站模块,再调度微蜂窝中继模块、接收手机模块,最后调用信道模块。
在时隙仿真阶段流程,假设会进行6000次循环(循环次数可以变化),每次循环优先级要求如下:调度各设备各模块的顺序为:宏蜂窝基站模块<微蜂窝中继模块<信道模块<接收手机模块=微蜂窝中继模块;即需要先调度宏蜂窝基站模块,然后依次调度微蜂窝模块、信道模块,最后调度手机模块和微蜂窝中继模块;本例子中,微蜂窝中继模块有两个优先级,这意味着在时隙仿真阶段微蜂窝中继模块会被调用两次。
在结果输出阶段流程,调度各设备各模块的顺序为:宏蜂窝基站模块=微蜂窝中继模块=信道模块=接收手机模块,即所有设备模块对于先后顺序不敏感。
因此,针对初始化阶段流程,模拟1个宏蜂窝基站模块、一个微蜂窝中继模块、1个接收手机模块和1个信道模块,且宏蜂窝基站模块的优先级大于微蜂窝基站模块和接收手机模块,微蜂窝基站模块和接收手机模块的优先级相同,并且大于信道模块的优先级,如以值越小优先级越大为例,宏蜂窝基站模块被调度的优先级的值为2、微蜂窝中继模块被调度的优先级的值为4、接收手机模块被调度的优先级的值为4、信道模块被调度的优先级的值为6。
针对时隙仿真阶段流程,模拟1个宏蜂窝基站模块、2个微蜂窝中继模块、1个信道模块和1个接收手机模块;且宏蜂窝基站模块的优先级大于一个微蜂窝基站模块,微蜂窝基站模块的优先级大于信道模块的优先级,信道模块的优先级大于接收手机模块的优先级和微蜂窝基站模块的优先级,如以值越小优先级越大为例,宏蜂窝基站模块被调度的优先级的值为2、微蜂窝中继模块被调度的优先级的值为4、信道模块被调度的优先级的值为6;接收手机模块和微蜂窝基站模块被调度的优先级的值为8。
针对结果输出阶段流程,模拟1个宏蜂窝基站模块、1个微蜂窝中继模块、1个信道模块和1个接收手机模块,且各设备模块被调度的优先级的值为4。
在具体实现时可以通过C++来实现模块的模拟,优先级的配置,以及控制流程的执行和设备模块的调用,具体如下:
所有设备模块继承自一个流程控制接口(C++虚基类),该接口包含是三个函数,分别为:初始化函数Initial,时隙函数Slot和输出函数Output。如果一设备模块在某一过程中有多个优先级,意味着这个设备模块对应该过程的函数会被调用多次。
控制流程所对应的三个子流程:分别采用三个multimap(C++弹性容器的一种)数据结构进行优先级存储,三个子流程的multimap分别命名为:MulInitial,MulSlot,MulOutput。Multimap的键值为设备模块的优先级,可以使用数值实现,Multimap的值为该设备的基类指针。
模拟的各设备模块将自身被调度的子流程编号,以及优先级注册到控制流程所在的流程控制模块,如分别注册到MulInitial,MulSlot,MulOutput中。
各设备模块的优先级序号可以连续,也可以不连续。
模拟设备针对三个子流程中被调用的设备模块按照优先级从大到小的顺序排列;
如使用上述C++实现时,可以利用Multimap的自动排序特性,MulInitial,MulSlot,MulOutput内的设备基类指针经按照优先级自动从大到小排序完成。
当针对三个子流程被调用的设备模块均排序完成时,可以执行上述控制流程,在执行时,按初始化阶段流程、时隙仿真阶段流程、结果输出阶段流程的顺序执行,在执行任一子流程时,按照优先级从大到小的顺序调用对应的设备模块。
当任一子流程中存在优先级相同的设备模块时,可以按一定规则调用,如随机调用所有设备模块,或者同时调用所有设备模块,或者按照默认排列的顺序调用等。
使用C++实现时,在控制流程开始工作时,首先顺次调用MulInitial所存储基类的MulInitial函数,而后进行6000次循环,每次循环顺次调用MulSlot中所存储基类的Slot函数,最后顺次调用MulOutput容器中所存储基类的Output函数以实现该控制流程的执行。。
综上所述,本申请通过将控制流程逻辑划分为多个子流程,为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级,并向流程控制模块注册,流程控制模块在执行控制流程的任一子流程时,按照各设备模块对应的优先级进行调度,从而实现了按照预定顺序调度模拟的通信系统中的各设备模块,提高了模块调度的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种模块调度方法,其特征在于,该方法包括:
将流程控制模块执行的控制流程按执行顺序逻辑划分为N个不同子流程;
模拟通信系统中的各设备模块,并为模拟的各设备模块配置其被调度的子流程,以及在该子流程中被调度的优先级;并向流程控制模块发送注册信息;
针对任一子流程,通过流程控制模块接收到在该子流程被调度的各设备模块的注册信息时;根据注册信息中的优先级,将各设备模块按照优先级从高到低的顺序排序;
当N个子流程对应的所有设备模块注册完成时,通过流程控制模块执行所述控制流程;
在执行所述控制流程的任一子流程时,按照优先级从高到低的顺序顺次调度对应的设备模块进行工作。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
针对任一子流程,在调度对应的设备模块工作时,若存在优先级相同的设备模块,按预设规则调度优先级相同的设备模块。
3.根据权利要求2所述的方法,其特征在于,所述按预设规则调度优先级相同的设备模块,包括:
随机调度优先级相同的设备模块;
或,同时调度优先级相同的设备模块。
4.根据权利要求1-3任意一项所述的方法,其特征在于,
模拟的各设备模块被一个子流程调度,或被多个子流程调度;在一个子流程中被调度的优先级相同,或不相同;在不同子流程中被调度的优先级相同,或不相同。
5.根据权利要求1-3任意一项所述的方法,其特征在于,
针对任一子流程的所有设备模块被调度的优先级为连续的,或者为不连续的。
6.根据权利要求1-3任意一项所述的方法,其特征在于,
模拟的设备模块为相同类别的设备对应的设备模块,和/或不同类别的设备对应的设备模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425837.XA CN107517112A (zh) | 2016-06-16 | 2016-06-16 | 一种模块调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425837.XA CN107517112A (zh) | 2016-06-16 | 2016-06-16 | 一种模块调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107517112A true CN107517112A (zh) | 2017-12-26 |
Family
ID=60720929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610425837.XA Pending CN107517112A (zh) | 2016-06-16 | 2016-06-16 | 一种模块调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107517112A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345498A (zh) * | 2018-01-30 | 2018-07-31 | 武汉呵尔医疗科技发展有限公司 | 一种基于多任务染色规程的染色调度系统及调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968303A (zh) * | 2012-11-21 | 2013-03-13 | 用友软件股份有限公司 | 程序设计系统和程序设计方法 |
CN103346980A (zh) * | 2013-07-02 | 2013-10-09 | 华为技术有限公司 | 一种业务调度方法、装置及网络设备 |
US20160055035A1 (en) * | 2014-08-14 | 2016-02-25 | Raytheon Company | Multiple simultaneous request resource management |
-
2016
- 2016-06-16 CN CN201610425837.XA patent/CN107517112A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968303A (zh) * | 2012-11-21 | 2013-03-13 | 用友软件股份有限公司 | 程序设计系统和程序设计方法 |
CN103346980A (zh) * | 2013-07-02 | 2013-10-09 | 华为技术有限公司 | 一种业务调度方法、装置及网络设备 |
US20160055035A1 (en) * | 2014-08-14 | 2016-02-25 | Raytheon Company | Multiple simultaneous request resource management |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345498A (zh) * | 2018-01-30 | 2018-07-31 | 武汉呵尔医疗科技发展有限公司 | 一种基于多任务染色规程的染色调度系统及调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503728B (zh) | 一种硬件加速器及芯片 | |
CN101128807B (zh) | 用于扩充中断控制器和合成中断来源的系统和方法 | |
CN108228354A (zh) | 调度方法、系统、计算机设备和介质 | |
CN107278359A (zh) | 云计算系统中报文处理的方法、主机和系统 | |
CN104428752A (zh) | 将虚拟机流卸载至物理队列 | |
CN102495804A (zh) | 软件自动化测试方法 | |
CN103389913B (zh) | 一种用于Linux系统的实时中断处理方法 | |
CN104899150A (zh) | 基于面向对象的自动化测试方法及系统、和自动化平台 | |
JP4452710B2 (ja) | シーケンシャル・オブジェクト指向システムシミュレーションをシーケンス制御する方法 | |
CN103595654A (zh) | 基于多核CPU的HQoS实现方法、装置及网络设备 | |
CN114706596A (zh) | 容器部署方法、资源调度方法、装置、介质和电子设备 | |
US20230403551A1 (en) | Radio access network (ran) data exposure in a wireless communication network | |
CN103944596A (zh) | 基于软件定义的支持多协议传输的通信设备 | |
CN113110867A (zh) | Rpa机器人的管理方法、装置、服务器和存储介质 | |
CN106648856A (zh) | 任务调度方法和装置 | |
CN107517112A (zh) | 一种模块调度方法 | |
CN112150015A (zh) | 任务分配方法及装置 | |
CN105843995A (zh) | 一种基于模型驱动的ima系统时间资源配置验证方法 | |
CN105208607B (zh) | 终端网络数据传输的调度方法、装置及移动终端 | |
CN104636206B (zh) | 一种系统性能的优化方法和装置 | |
CN107025126A (zh) | 一种资源调度方法、nfvo和系统 | |
CN105517176A (zh) | 动态调度虚拟化基站资源的方法 | |
CN110209448A (zh) | 一种多输入共享视窗并发操作装置及方法 | |
CN114816351A (zh) | 一种手机支持不同生态系统的方法 | |
CN106681812A (zh) | 一种分区调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20171226 |
|
RJ01 | Rejection of invention patent application after publication |