一种系统调度的方法及设备的制作方法

文档序号:6634490阅读:178来源:国知局
一种系统调度的方法及设备的制作方法
【专利摘要】本发明实施例提供了一种系统调度的方法及设备,应用于通信类软件架构中,用以解决现有的通信类软件采用串行软件架构的方式,各个任务间相互依赖,一个变量的改变就有可能会导致整个系统的不稳定,系统的维护工作难以进行。本发明实施例中系统调度的方法,包括:设备的顶层接收到用户输入的控制指令后,对接收到的控制指令进行预处理得到控制消息,将控制消息下发给设备的中间层;设备的中间层根据接收到的控制消息生成至少一个工作任务,并将工作任务下发给对应的设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块;底层子模块根据接收到中间层发送的工作任务进行处理。
【专利说明】一种系统调度的方法及设备

【技术领域】
[0001]本发明涉及通信类软件架构【技术领域】,尤其涉及一种系统调度的方法及设备。

【背景技术】
[0002]随着通信类产品的不断发展和应用领域的不断拓宽,各类应用场景对通信类软件的要求也日益增多。为了满足诸多应用场景,通信类软件的设计日益复杂化多样化。目前,通信类软件通常采用串行软件架构的方式,而随着软件增加的功能越来越多,串行软件架构方式可能会出现很多交错的功能,开启其中一个功能时就可能会影响另外一个功能,因而这种串行软件架构的方式越来越难以承担日益繁重的工作任务,同时各个任务间的相互依赖关系也使得整个系统架构更加错综复杂,这种错综复杂的系统使维护工作更加难以开展,一个变量的改变就有可能会导致整个系统的不稳定,并且难以被发现。
[0003]综上所述,目前通信类软件采用串行软件架构的方式,各个任务间相互依赖,一个变量的改变就有可能会导致整个系统的不稳定,系统的维护工作难以进行。


【发明内容】

[0004]本发明实施例提供一种系统调度的方法,应用于通信类软件架构中,用以解决现有的通信类软件架构的方式,各个任务间相互依赖,一个变量的改变就有可能会导致整个系统的不稳定,系统的维护工作难以进行的问题。
[0005]基于上述问题,本发明实施例提供的一种系统调度的方法,包括:
[0006]设备的顶层接收到用户输入的控制指令后,对接收到的所述控制指令进行预处理得到控制消息,将所述控制消息下发给设备的中间层;
[0007]所述设备的中间层根据接收到的所述控制消息生成至少一个工作任务,并将所述工作任务下发给对应的所述设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块;
[0008]所述底层子模块根据接收到所述中间层发送的工作任务进行处理。
[0009]由于本发明提供的系统调度的方法是将设备分成了顶层、中间层和底层三个层级,其中,顶层仅负责面向用户和数据的工作,而中间层则负责解释命令和生成任务,各底层子模块间相互独立,互不依赖,由中间层统一调度,三个层级间权责明确各司其职,这样与现有技术通信类软件采用串行软件架构的方式相比,提高了系统的稳定性,并且降低了软件维护工作的难度。
[0010]较佳地,所述设备的顶层将收到的所述控制指令进行预处理得到控制消息,包括:
[0011]所述设备的顶层将收到的所述控制指令以信元方式进行封装,得到控制消息;
[0012]所述设备的中间层根据接收到的所述控制消息生成至少一个工作任务,包括:
[0013]所述设备的中间层对收到的所述控制消息进行解封装,得到控制指令,并根据所述控制指令生成至少一个工作任务。
[0014]较佳地,所述设备的顶层接收到用户输入的控制指令后,还包括:
[0015]所述设备的顶层根据与数据库交互的参数信息,形成配置文件,并将所述配置文件与所述控制消息一并下发给设备的中间层;
[0016]所述设备的中间层对收到的所述控制消息进行解封装,得到控制指令,包括:
[0017]所述设备的中间层根据接收到的所述配置文件对收到的所述控制消息进行解封装,得到控制指令。
[0018]较佳地,所述设备的中间层根据所述控制指令生成至少一个工作任务之前,还包括:
[0019]所述设备的中间层能够根据解封装得到的控制指令,对所述底层子模块进行任务时的时间以及所述底层子模块进行任务时所用的系统资源进行调度。
[0020]较佳地,所述底层子模块根据接收到所述中间层发送的工作任务进行处理,还包括:
[0021]所述底层子模块根据接收到所述中间层发送的工作任务进行处理的过程中,向所述设备的中间层上报自身的状态信息;
[0022]该方法还包括:
[0023]所述设备的中间层根据收到的所述状态信息监测所述底层子模块的工作状态;
[0024]所述设备在确定有异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复后,对异常状态的所述底层子模块进行恢复操作。
[0025]较佳地,所述设备的中间层在下列情况发生后,确定存在异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复:
[0026]所述设备的中间层在设定时长内未收到正在处理工作任务的所述底层子模块上报的状态信息。
[0027]由于各个底层子模块能够维持自身的稳定,修复自身的异常,同时中间层能够监测各个底层子模块的工作状态,对异常无法自行恢复的底层子模块进行恢复操作,因而有力的保障了整个软件系统的稳定性。
[0028]本发明实施例提供的一种系统调度的设备,应用于通信类软件中,包括:
[0029]顶层模块,用于接收到用户输入的控制指令后,对接收到的所述控制指令进行预处理得到控制消息,将所述控制消息下发给设备的中间层模块;
[0030]中间层模块,用于根据接收到的所述控制消息生成至少一个工作任务,并将所述工作任务下发给对应的所述设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块;
[0031]底层子模块,用于根据接收到所述中间层模块发送的工作任务进行处理。
[0032]较佳地,所述顶层模块具体用于:
[0033]在将收到的所述控制指令进行预处理得到控制消息时,将收到的所述控制指令以信元方式进行封装,得到控制消息;
[0034]所述中间层模块具体用于:
[0035]对收到的所述控制消息进行解封装,得到控制指令,并根据所述控制指令生成至少一个工作任务。
[0036]较佳地,所述顶层模块还用于:
[0037]在接收到用户输入的控制指令后,根据与数据库交互的参数信息,形成配置文件,并将所述配置文件与所述控制消息一并下发给设备的中间层模块;
[0038]所述中间层模块具体用于:
[0039]根据接收到的所述配置文件对收到的所述控制消息进行解封装,得到控制指令。
[0040]较佳地,所述中间层模块还用于:
[0041]对收到的所述控制消息进行解封装,得到控制指令后,能够根据解封装得到的控制指令,对所述底层子模块进行任务时的时间以及所述底层子模块进行任务时所用的系统资源进行调度。
[0042]较佳地,所述底层子模块还用于:
[0043]在根据接收到所述中间层模块发送的工作任务进行处理时,根据接收到所述中间层模块发送的工作任务进行处理的过程中,向所述设备的中间层模块上报自身的状态信息;
[0044]所述中间层模块还用于:
[0045]根据收到的所述状态信息监测所述底层子模块的工作状态;在确定有异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复后,对异常状态的所述底层子模块进行恢复操作。
[0046]较佳地,所述中间层模块还用于,在下列情况发生后,确定存在异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复:
[0047]在设定时长内未收到正在处理工作任务的所述底层子模块上报的状态信息。

【专利附图】

【附图说明】
[0048]图1为本发明实施例提供的系统调度的方法的三层结构示意图;
[0049]图2为本发明实施例提供的系统调度的方法的流程图;
[0050]图3为本发明实施例提供的设备的顶层工作流程图;
[0051]图4为本发明实施例提供的设备的中间层工作流程图;
[0052]图5为本发明实施例提供的设备的底层工作流程图;
[0053]图6为本发明实施例提供的系统调度的方法在设备中的具体实施流程图;
[0054]图7为本发明实施例提供的系统调度的设备的结构示意图。

【具体实施方式】
[0055]本发明实施例中设备的顶层接收到用户输入的控制指令后,对接收到的控制指令进行预处理得到控制消息,将控制消息下发给设备的中间层;设备的中间层根据接收到的控制消息生成至少一个工作任务,并将工作任务下发给对应的设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块;底层子模块根据接收到中间层发送的工作任务进行处理。由于本发明提供的系统调度的方法是将设备分成了顶层、中间层和底层三个层级,其中,顶层仅负责面向用户和数据的工作,而中间层则负责解释命令和生成任务,各底层子模块间相互独立,互不依赖,由中间层统一调度,三个层级间权责明确各司其职,提高了系统的稳定性,并降低了软件维护工作的难度。
[0056]以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0057]本发明实施例提供的系统调度方法,基于多进程分布式管理的理念,采用三层分级结构实现,如图1所示,为本发明实施例提供的系统调度的方法的三层结构示意图。设备的顶层负责接收用户输入的控制指令并进行预处理得到控制消息,同时顶层与数据库交互形成配置文件,并将配置文件与控制消息一并下发给设备的中间层;设备的中间层根据顶层下发的控制消息和配置文件生成工作任务,并将生成的工作任务分发给对应的底层子模块;设备的底层子模块接收并完成中间层分发的工作任务。其中,设备的底层由多个功能各异的底层子模块构成,且所有底层子模块之间不存在通信机制,彼此独立工作。在实际生产制造过程中,每个底层子模块都对应管理至少一个硬件或软件资源,底层子模块可以根据要进行处理的工作任务选择对应的硬件资源进行处理。
[0058]例如网络接口子模块管理各网络接口 ;路由模块管理IP层资源;无线配置模块管理无线线路配置资源等。
[0059]下面结合附图,用具体实施例对本发明提供的方法及设备进行详细描述。
[0060]本发明实施例提供的一种系统调度的方法,如图2所示,具体包括以下步骤:
[0061]S201、设备的顶层接收到用户输入的控制指令后,对接收到的控制指令进行预处理得到控制消息,将控制消息下发给设备的中间层;
[0062]S202、设备的中间层根据接收到的控制消息生成至少一个工作任务,并将工作任务下发给对应的设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块;
[0063]S203、底层子模块根据接收到中间层发送的工作任务进行处理。
[0064]本发明实施例中将设备分成了顶层、中间层和底层三个层级,其中,顶层仅负责面向用户和数据的工作,而中间层则负责解释命令和生成任务,各底层子模块间相互独立,互不依赖,由中间层统一调度,三个层级间权责明确各司其职,提高了系统的稳定性,并且降低了软件维护工作的难度。
[0065]本发明实施例的系统调度的方法应用于通信类软件架构中,其中通信类软件架构可以是WLAN软件架构、嵌入式控制系统中的软件架构、基站系统软件中的架构、3G/4G系统中的软件架构等。
[0066]本发明实施例中的设备可以是无线路由器、无线交换机、无线基站、3G/4G基站等。
[0067]具体的,设备的顶层将收到的控制指令进行预处理得到控制消息,包括:
[0068]设备的顶层将收到的控制指令以信元方式进行封装,得到控制消息;
[0069]设备的中间层根据接收到的控制消息生成至少一个工作任务,包括:
[0070]设备的中间层对收到的控制消息进行解封装,得到控制指令,并根据控制指令生成至少一个工作任务。
[0071]较佳地,设备的顶层接收到用户输入的控制指令后,还包括:
[0072]设备的顶层根据与数据库交互的参数信息,形成配置文件,并将配置文件与控制消息一并下发给设备的中间层;
[0073]设备的中间层对收到的控制消息进行解封装,得到控制指令,包括:
[0074]设备的中间层根据接收到的配置文件对收到的控制消息进行解封装,得到控制指令。
[0075]在实施中,设备的顶层在接收到的控制指令后,以与中间层约定的数据形式将接收到的控制指令进行封装,得到控制消息;设备的中间层在接收到控制消息后,根据与顶层约定的数据形式对接收到的控制消息进行解封装,得到控制指令。
[0076]在实施中,设备的顶层根据与数据库交互的参数信息包括能够显示给用户的参数信息和对系统进行操作时的系统内部参数信息,设备的顶层根据与数据库交互的参数信息形成配置文件,并将配置文件与控制消息一并下发给设备的中间层,其中配置文件是顶层与中间层约定好的以特定的编码格式生成的文本,设备的中间层根据与顶层约定的编码格式识别配置文件,并根据配置文件对收到的控制消息进行解封装,得到控制指令,根据得到的控制指令生成至少一个工作任务。例如,配置文件采用的特定编码格式可以是顶层和中间层约定好的具有某一特定的前缀的编码格式。
[0077]较佳地,如图3所示,为本发明实施例提供的设备的顶层工作流程图,具体包括以下步骤:
[0078]步骤301、设备的顶层采用面向用户方式实现,在接收到用户输入的控制指令之后,执行步骤302和/或步骤303 ;
[0079]步骤302、设备的顶层对接收到的控制指令进行预处理,即将接收到的控制指令以信元方式封装,得到控制消息,并执行步骤304 ;
[0080]步骤303、设备的顶层在对指令进行预处理完成之后,通过内存读写的方式向数据库交互参数信息,然后根据与数据库交互的参数信息形成配置文件,并执行步骤304 ;
[0081]步骤304、设备的顶层通过消息队列机制向中间层一并下发配置文件与控制消息。
[0082]在实施中,步骤302和步骤303可以同时执行,也可以分别执行,即步骤301执行完后,可以同时执行步骤302和步骤303,也可以分别执行步骤302和步骤303,且顺序不分先后。
[0083]在实施中,设备的顶层采用面向用户方式实现,也就是说设备可以展示给用户对设备进行控制的界面,比如用户可以选择设备实现路由器的功能,用户选择完成后,则设备就能够根据用户的选择进行相关的操作。
[0084]在实施中,本发明实施例提供的系统调度方法具有双层自行恢复的功能,能够有力的保障整个软件系统的稳定性,下面具体介绍。
[0085]具体的,底层子模块根据接收到中间层发送的工作任务进行处理,还包括:
[0086]底层子模块根据接收到中间层发送的工作任务进行处理的过程中,向设备的中间层上报自身的状态信息;
[0087]该方法还包括:
[0088]设备的中间层根据收到的状态信息监测底层子模块的工作状态;
[0089]设备在确定有异常状态的底层子模块,且异常状态的底层子模块无法自行恢复后,对异常状态的底层子模块进行恢复操作。
[0090]在实施中,设备的中间层生成的每种类型的工作任务对应一个不同的底层子模块,中间层在生成工作任务以后,根据工作任务的类型将该工作任务发给用于完成该类型工作任务的底层子模块。由于不同的底层子模块接收到的中间层发送的工作任务类型不相同,所以对接收到的工作任务进行处理的方式也不相同。例如,底层子模块接收到的工作任务是对端口进行配置,则底层子模块会根据工作任务的内容对相应的端口进行相应的配置;若底层子模块接收到的工作任务是开启第三方软件,则底层子模块会根据工作任务的内容开启对应的第三方软件。
[0091]在实施中,底层子模块在完成工作任务时可能需要启动一些相应的部件,比如进行任务处理时所需要的端口等。在底层子模块定期向设备的中间层上报自身的状态信息时,所上报的状态信息包括启动的所有部件的信息,这些信息可能是各个部件的工作状态是否正常等?目息。
[0092]例如,底层子模块可以通过该特定的数据信息向中间层上报其工作时所启动的某一端口的工作状态是否正常,若该工作状态出现异常,则底层子模块在向中间层上报自身状态信息时,会上报该端口工作异常;若底层子模块通过自行恢复功能使该异常的端口恢复工作,贝1J底层子模块在下次向中间层上报自身状态信息时,会上报该端口工作状态为正堂巾O
[0093]较佳地,设备的中间层在下列情况发生后,确定存在异常状态的底层子模块,且异常状态的底层子模块无法自行恢复:
[0094]设备的中间层在设定时长内未收到正在处理工作任务的底层子模块上报的状态信息。
[0095]例如,假设底层子模块根据接收到中间层发送的工作任务进行处理的过程中,底层子模块每隔3秒就通过消息队列方式向中间层上报一次自己的工作状态,若其中某个正在处理工作任务的底层子模块超过3秒没有向中间层上报状态,则中间层将认为该底层子模块为工作状态异常。
[0096]在实施中,设备底层中的每个底层子模块,通过消息队列的方式接收中间层下发的工作任务,实现某一独立的功能,组织自己管辖的底层资源完成所接收到的工作任务,同时,多个底层子模块并行运行,协同工作。底层子模块在接收中间层下发的工作任务后,开始自己的生命周期,在生命周期中,完成中间层下发的工作任务,生命周期结束后,底层子模块会自动结束工作进程,释放内部资源。
[0097]在实施中,底层子模块在进行任务的期间,中间层可以根据收到的状态信息监测底层子模块的工作状态,并记录底层子模块完成工作任务的进度,但底层子模块可能会因为一些原因而导致其自身工作状态异常,例如,一个底层子模块在进行任务处理时需要用到某个端口,但此时该端口无法正常工作,进而可能会导致该工作的底层子模块的工作状态异常。在进行任务的期间,每个底层子模块都能够使用单线程监控自身的运行,从而维持自身的稳定性,同时中间层能够监控底层子模块的状态,对异常且不能自行恢复的子模块进行异常处理和状态恢复,双层自行恢复的架构形式更有力保障整个软件系统的稳定性。
[0098]在实施中,异常的底层子模块能够通过重新启动等方式自行恢复其工作状态;若异常的底层子模块因为锁死等原因无法自行恢复工作状态,则中间层可以帮助该异常的底层子模块进行状态恢复,例如,中间层可以强制异常的底层子模块结束工作进程,并使其重新开启进程,在异常的底层子模块被中间层强制重新开启进程后,会根据中间层记录的其重新开启进程前的工作进度继续完成其未完成的工作任务。
[0099]较佳地,设备的中间层对收到的控制消息进行解封装,得到控制指令后,还包括:
[0100]设备的中间层能够根据解封装得到的控制指令,对底层子模块进行任务时的时间以及底层子模块进行任务时所用的系统资源进行调度。
[0101]在实施中,设备的中间层对底层子模块的调度包括,对底层子模块任务时的时间所用的系统资源进行调度。设备的中间层可以通过调度信息对底层子模块进行调度。调度信息包括时间调度信息和系统资源调度信息。
[0102]调度信息可以与工作任务一起发送给底层子模块,也可以置于工作任务中发送给底层子模块。
[0103]接收到调度信息后的底层子模块根据调度信息中的时间调度信息确定对应的时间,以及根据调度信息中的系统资源调度信息确定对应的系统资源,并在确定的时间到达后通过确定的系统资源处理任务。
[0104]为了确保各个底层子模块在进行任务处理时的生命周期内的工作状态和稳定性,设备的中间层对顶层下发的控制消息进行解封装的过程中,考虑了多个底层子模块耦合的情况,即顶层下发的命令可能涉及多个底层子模块,如可能存在不同时间需要对不同底层子模块依次发起某项任务的情况;又如可能存在同一时刻需要多个底层子模块协同工作的情况。中间层对命令进行解释时,根据命令对各底层子模块时序上的需求规划各底层子模块的任务开始时间,保证各独立底层子模块间的依赖关系。
[0105]例如,假设设备只有一个可用的网口,若底层中有两个底层子模块都需要用到该网口,则设备的中间层在产生工作任务时,会根据控制消息决定两个底层子模块用该网口的先后顺序;假设有两个工作任务要同时完成一件事,则设备的中间层在产生工作任务时,会根据控制消息告诉完成这两个工作任务所对应的底层子模块,这两个工作任务启动的顺序是依次启动,还是同时启动。
[0106]在实施中,较佳地,本发明实施例中设备的顶层下发配置文件与控制消息后,设备的中间层负责接收、解释顶层下发的控制消息,根据各底层子模块间的依赖关系生成多个子任务,下发给各个功能各异的底层子模块,下面具体介绍。
[0107]如图4所示,为本发明实施例提供的设备的中间层工作流程图,具体包括以下步骤:
[0108]步骤401、设备的中间层在通过消息队列接收到顶层下发的发配置文件和控制消息之后,执彳了步骤402 ;
[0109]步骤402、设备的中间层根据接收到的配置文件将接收到的信元形式的控制消息进行解封,得到解封后的控制指令,通过应答信元告诉设备的顶层配置文件和控制消息已经收到,并执行步骤403 ;
[0110]步骤403、设备的中间层根据解封得到的控制指令生成至少一个工作任务;
[0111]步骤404、设备的中间层将生成的至少一个工作任务,使用消息队列机制分发给对应的底层子模块。
[0112]如图5所示,为本发明实施例提供的设备的底层工作流程图,具体包括以下步骤:
[0113]步骤501、底层子模块接收中间层下发的工作任务;
[0114]步骤502、底层子模块执行接收到的中间层下发的工作任务,并同时执行步骤503和 504 ;
[0115]步骤503、底层子模块在进行任务的周期内,能够保持自镇定,维护自身的稳定性,即通过使用单独线程监控自身的运行,若发现自身出现异常,则修复自身异常,执行步骤
502 ;
[0116]步骤504、底层子模块完成中间层下发的工作任务。
[0117]较佳地,本发明实施例提供的系统调度的方法在设备中具体实施时,高层级能够控制低层级,低层级不能反过控制高层级,低层级只能向高层级上报消息,例如中间层可以控制底层,底层不能控制中间层,只能向中间层上报自身的工作状态。如图6所示,为本发明实施例提供的系统调度的方法在设备中的具体实施流程图。
[0118]基于同一发明构思,本发明实施例还提供了一种系统调度的设备,由于该设备所解决问题的原理与前述系统调度的方法相似,因此该设备的实施可以参见前述方法的实施,重复之处不再赘述。
[0119]如图7所示,本发明实施例提供的一种系统调度的设备,应用于通信类软件中,包括:
[0120]本发明实施例提供的一种系统调度的设备,应用于通信类软件中,包括:
[0121]顶层模块701,用于接收到用户输入的控制指令后,对接收到的控制指令进行预处理得到控制消息,将控制消息下发给设备的中间层模块702 ;
[0122]中间层模块702,用于根据接收到的控制消息生成至少一个工作任务,并将工作任务下发给对应的设备的至少一个底层子模块703,其中每种类型的工作任务对应一个不同的底层子模块703 ;
[0123]底层子模块703,用于根据接收到中间层模块702发送的工作任务进行处理。
[0124]较佳地,顶层模块701具体用于:
[0125]在将收到的控制指令进行预处理得到控制消息时,将收到的控制指令以信元方式进行封装,得到控制消息;
[0126]中间层模块702具体用于:
[0127]对收到的控制消息进行解封装,得到控制指令,并根据控制指令生成至少一个工作任务。
[0128]较佳地,顶层模块701还用于:
[0129]在接收到用户输入的控制指令后,根据与数据库交互的参数信息,形成配置文件,并将配置文件与控制消息一并下发给设备的中间层模块702 ;
[0130]中间层模块702具体用于:
[0131]根据接收到的配置文件对收到的控制消息进行解封装,得到控制指令。
[0132]较佳地,中间层模块702还用于:
[0133]对收到的控制消息进行解封装,得到控制指令后,能够根据解封装得到的控制指令,对底层子模块703进行任务时的时间以及底层子模块703进行任务时所用的系统资源进行调度。
[0134]较佳地,底层子模块703还用于:
[0135]在根据接收到中间层模块702发送的工作任务进行处理时,根据接收到中间层模块702发送的工作任务进行处理的过程中,向设备的中间层模块702上报自身的状态信息;
[0136]中间层模块702还用于:
[0137]根据收到的状态信息监测底层子模块703的工作状态;在确定有异常状态的底层子模块703,且异常状态的底层子模块703无法自行恢复后,对异常状态的底层子模块703进行恢复操作。
[0138]较佳地,中间层模块702还用于,在下列情况发生后,确定存在异常状态的底层子模块703,且异常状态的底层子模块703无法自行恢复:
[0139]在设定时长内未收到正在处理工作任务的底层子模块703上报的状态信息。
[0140]本发明实施例中,由于提供的系统调度的方法是将设备分成了顶层、中间层和底层三个层级,其中,顶层仅负责面向用户和数据的工作,而中间层则负责解释命令和生成任务,各底层子模块间相互独立,互不依赖,由中间层统一调度,三个层级间权责明确各司其职,这样与现有技术通信类软件采用串行软件架构的方式相比,提高了系统的稳定性,并且三个层级的结构形式降低了软件维护工作的难度。
[0141]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0142]本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0143]本领域技术人员可以理解实施例中设备中的模块可以按照实施例描述进行分布于实施例的设备中,也可以进行相应变化位于不同于本实施例的一个或多个设备中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0144]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0145]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种系统调度的方法,应用于通信类软件架构中,其特征在于,包括: 设备的顶层接收到用户输入的控制指令后,对接收到的所述控制指令进行预处理得到控制消息,将所述控制消息下发给设备的中间层; 所述设备的中间层根据接收到的所述控制消息生成至少一个工作任务,并将所述工作任务下发给对应的所述设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块; 所述底层子模块根据接收到所述中间层发送的工作任务进行处理。
2.如权利要求1所述的方法,其特征在于,所述设备的顶层将收到的所述控制指令进行预处理得到控制消息,包括: 所述设备的顶层将接收到的所述控制指令以信元方式进行封装,得到所述控制消息; 所述设备的中间层根据接收到的所述控制消息生成至少一个工作任务,包括: 所述设备的中间层对收到的所述控制消息进行解封装,得到控制指令,并根据所述控制指令生成至少一个工作任务。
3.如权利要求2所述的方法,其特征在于,所述设备的顶层接收到用户输入的控制指令后,还包括: 所述设备的顶层根据与数据库交互的参数信息,形成配置文件,并将所述配置文件与所述控制消息一并下发给设备的中间层; 所述设备的中间层对收到的所述控制消息进行解封装,得到所述控制指令,包括: 所述设备的中间层根据接收到的所述配置文件对收到的所述控制消息进行解封装,得到所述控制指令。
4.如权利要求2所述的方法,其特征在于,所述设备的中间层对收到的所述控制消息进行解封装,得到控制指令后,还包括: 所述设备的中间层能够根据解封装得到的控制指令,对所述底层子模块进行任务时的时间以及所述底层子模块进行任务时所用的系统资源进行调度。
5.如权利要求1所述的方法,其特征在于,所述底层子模块根据接收到所述中间层发送的工作任务进行处理,还包括: 所述底层子模块根据接收到所述中间层发送的工作任务进行处理的过程中,向所述设备的中间层上报自身的状态信息; 该方法还包括: 所述设备的中间层根据收到的所述状态信息监测所述底层子模块的工作状态; 所述设备在确定有异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复后,对异常状态的所述底层子模块进行恢复操作。
6.如权利要求5所述的方法,其特征在于,所述设备的中间层在下列情况发生后,确定存在异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复: 所述设备的中间层在设定时长内未收到正在处理工作任务的所述底层子模块上报的状态信息。
7.一种系统调度的设备,应用于通信类软件中,其特征在于,包括: 顶层模块,用于接收到用户输入的控制指令后,对接收到的所述控制指令进行预处理得到控制消息,将所述控制消息下发给设备的中间层模块; 中间层模块,用于根据接收到的所述控制消息生成至少一个工作任务,并将所述工作任务下发给对应的所述设备的至少一个底层子模块,其中每种类型的工作任务对应一个不同的底层子模块; 底层子模块,用于根据接收到所述中间层模块发送的工作任务进行处理。
8.如权利要求7所述的设备,其特征在于,所述顶层模块具体用于: 在将收到的所述控制指令进行预处理得到控制消息时,将收到的所述控制指令以信元方式进行封装,得到控制消息; 所述中间层模块具体用于: 对收到的所述控制消息进行解封装,得到控制指令,并根据所述控制指令生成至少一个工作任务。
9.如权利要求8所述的设备,其特征在于,所述顶层模块还用于: 在接收到用户输入的控制指令后,根据与数据库交互的参数信息,形成配置文件,并将所述配置文件与所述控制消息一并下发给设备的中间层模块; 所述中间层模块具体用于: 根据接收到的所述配置文件对收到的所述控制消息进行解封装,得到控制指令。
10.如权利要求9所述的设备,其特征在于,所述中间层模块还用于: 对收到的所述控制消息进行解封装,得到控制指令后,能够根据解封装得到的控制指令,对所述底层子模块进行任务时的时间以及所述底层子模块进行任务时所用的系统资源进行调度。
11.如权利要求7所述的设备,其特征在于,所述底层子模块还用于: 在根据接收到所述中间层模块发送的工作任务进行处理时,根据接收到所述中间层模块发送的工作任务进行处理的过程中,向所述设备的中间层模块上报自身的状态信息; 所述中间层模块还用于: 根据收到的所述状态信息监测所述底层子模块的工作状态;在确定有异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复后,对异常状态的所述底层子模块进行恢复操作。
12.如权利要求11所述的设备,其特征在于,所述中间层模块还用于,在下列情况发生后,确定存在异常状态的所述底层子模块,且异常状态的所述底层子模块无法自行恢复: 在设定时长内未收到正在处理工作任务的所述底层子模块上报的状态信息。
【文档编号】G06F9/46GK104346219SQ201410653254
【公开日】2015年2月11日 申请日期:2014年11月17日 优先权日:2014年11月17日
【发明者】王茂斌, 左延麟, 罗晟 申请人:京信通信系统(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1