多任务软件系统中并发事件的处理装置和方法制造方法及图纸

技术编号:2846697 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种多任务软件系统中并发事件的处理装置和方法。所述的装置主要包括:任务模块;用于在多任务软件系统中的可并发事件需要被处理时,向并发处理模块提交该事件,并根据并发处理模块返回的该事件的并发控制信息,对该事件进行相应的处理;并发处理模块:用于维护多任务软件系统中可并发事件类型的并发规则和任务模块提交过来的事件的状态信息,根据该并发规则和状态信息,生成接收到的提交事件的并发控制信息,并将该并发控制信息传递给任务模块。利用本发明专利技术所述装置可以使得多任务软件系统中并发事件处理的设计以及实现更加简单,使得多任务软件系统的维护工作更加方便。

【技术实现步骤摘要】

本专利技术涉及通讯领域,尤其涉及一种。
技术介绍
多任务软件系统是指可以同时处理多个事件的软件系统,在实际应用中,该多个事件并发的情况可能非常复杂。比如如果一个多任务软件系统有10个可并发事件,则这10个事件的单次并发情况就会有10!/9!+10!/8!+10!/7!+10!/6!+10!/5!+10!/4!+10!/3!+10!/2!+10!/1!=6,235,300种。因此,如果多任务软件系统的实现是按照多个事件的各种并发情况分别进行处理,必将导致多任务软件系统的开发过程是非常艰难而痛苦的,多任务软件系统的实现是非常庞大而复杂的。由于多任务软件系统同时处理的多个事件的事件类型、事件处理方式等的不同,该多个事件之间可能存在并发冲突,即该多个事件中一种类型的事件在被处理时,另一种类型的事件不能同时被处理。因此,通常需要制定一个多任务软件系统的并发规则,该并发规则根据多任务软件系统中所有可并发事件之间的冲突情况,规定了多任务软件系统如何处理所有可并发事件。现有技术中一种多任务软件系统中并发事件的处理方法为为每一个多任务软件系统中可并发的事件设置一个状态标志,该状态标志标识该事件是否正在处理中。当某一个事件需要被处理时,根据多任务软件系统的所有可并发事件的状态标志以及多任务软件系统的并发规则,决定该事件是否可以被并发处理,并决定其他事件该如何处理。该方法的缺点为该方法只适合于并发事件比较少的多任务软件系统。由于上述的多任务软件系统的并发规则是固化在编码中的,当有新的事件加入或原有的事件需要剔除时,就需要对该并发规则进行调整,因为该并发规则是固化在多任务软件系统的所有事件处理过程的编码中,因此,对该并发规则的调整将涉及到多任务软件系统的所有事件处理过程,使得多任务软件系统的维护工作变得极其繁重。
技术实现思路
鉴于上述现有技术所存在的问题,本专利技术的目的是提供一种多任务软件系统中并发事件的调度装置和方法,从而使得多任务软件系统的并发事件处理设计以及实现更加简单,使得多任务软件系统的维护工作更加方便。本专利技术的目的是通过以下技术方案实现的一种多任务软件系统中并发事件的处理装置,包括任务模块用于在多任务软件系统中的可并发事件需要被处理时,向并发处理模块提交该事件,并根据并发处理模块返回的该事件的并发控制信息,对该事件进行相应的处理;并发处理模块用于维护多任务软件系统中可并发事件类型的并发规则和任务模块提交过来的事件的状态信息,根据该并发规则和状态信息,生成接收到的提交事件的并发控制信息,并将该并发控制信息传递给任务模块。所述的任务模块具体包括事件提交模块用于当可并发事件需要被处理时,向并发处理模块提交该事件,并接收并发处理模块返回的该事件的并发控制信息,将该并发控制信息传递给事件处理模块,将事件处理模块返回的事件处理状态信息传递给并发处理模块; 事件处理模块用于根据接收到的并发控制信息,对相应的可并发事件进行相应的事务处理或者将该可并发事件挂起或者将该可并发事件丢弃,并返回事件处理状态信息给事件提交模块。所述的任务模块还包括事件标识模块用于当可并发事件需要被处理时,生成在多任务软件系统的整个运行期内唯一标识该事件的事件标识,并将该事件标识传递给事件处理模块和事件提交模块。所述的并发处理模块具体包括并发规则模块用于定义和维护多任务软件系统中所有可并发事件类型的并发规则,并通过接口将该并发规则传递给并发控制和调度模块;并发控制和调度模块用于维护所有接收到的提交事件的状态信息,并根据该状态信息和接收到的并发规则,生成接收到的提交事件的并发控制信息,并将该并发控制信息返回给任务模块。所述的并发规则模块包括并发规则矩阵模块用于使用矩阵来集中表示多任务软件系统中所有可并发事件类型的并发规则。所述的并发控制和调度模块具体包括并发调度模块用于维护所有正在处理的和所有处于等待处理状态的事件的状态信息,其中包括事件的类型和优先级信息,并将该事件状态信息传递给并发控制模块;并发控制模块用于根据接收到的并发规则和并发调度模块传递过来的事件状态信息,确定接收到的提交事件的状态信息,并生成相应的并发控制信息,将该并发控制信息传递给任务模块;事件处理状态信息接收模块用于接收任务模块返回的事件处理状态信息,当接收到事件处理完毕的状态信息后,则通知并发调度模块将处于等待处理状态的事件中优先级最高的事件提交给并发控制模块。所述的并发调度模块包括当前正在处理的事件列表用于按照优先级从高到低排列所有正在处理的事件;等待处理的事件列表用于按照优先级从高到低排列所有正处于等待处理状态的事件。所述的并发控制模块具体包括并发判断模块用于根据接收到的并发规则,判断接收到的提交事件当前能不能并发,如果能并发,则通知并发调度模块将该事件加入当前正在处理的事件列表,生成该事件的并发控制信息,并将该信息传递给任务模块;如果不能并发,则将该事件提交给优先级判断模块;优先级判断模块用于在当前正在处理的事件列表中找出所有与提交事件存在并发冲突的事件,然后判断提交事件的优先级是否大于所有查找出来的事件的优先级,如果是,则通知并发调度模块将该事件加入当前正在处理的事件列表,将所有查找出来的事件加入等待处理的事件列表或丢弃;否则,将该事件加入等待处理的事件列表,然后生成相应的并发控制信息,并将该信息传递给任务模块。所述的并发控制模块包括当前的并发规则生成模块用于根据多任务软件系统中所有正在处理的事件类型的并发规则,通过进行与运算得到当前的并发规则列表,并把该表传递给并发判断模块。一种多任务软件系统中并发事件的处理方法,包括A、设置多任务软件系统中可并发事件类型的并发规则和优先级信息;B、根据所述设置的信息,对多任务软件系统中需要被处理的可并发事件进行相应的处理。所述的步骤A还包括根据多任务软件系统中所有正在处理的事件类型的并发规则,通过进行与运算得到当前的并发规则列表。所述的步骤B具体包括B1、根据多任务软件系统中所有正在处理的事件类型的并发规则,判断当前需要被处理的可并发事件能不能并发,如果能,则执行步骤B2;否则,执行步骤B3;B2、确定当前需要被处理的可并发事件的状态为正在处理状态,对该事件进行相应的事务处理;B3、根据所述需要被处理的可并发事件的优先级和存在并发冲突的所有事件的优先级之间的关系,确定该需要被处理的可并发事件能不能并发。所述的步骤B3具体包括B31、在当前正在处理的事件中找出所有与该需要被处理的可并发事件存在并发冲突的事件,如果该需要被处理的可并发事件的优先级大于所有查找到的事件的优先级,则执行步骤B32;否则,执行步骤B33;B32、确定需要被处理的可并发事件的状态为正在处理状态,对该事件进行相应的事务处理,将查找到的事件的状态更新为等待处理状态并将该事件挂起,或者,将查找到的事件直接丢弃;B33、确定该当前需要被处理的可并发事件的状态为等待处理状态,将该事件挂起。所述的步骤B还包括在多任务软件系统中一个正在处理的事件处理完毕后,则处于等待处理状态的事件中优先级最高的事件成为当前需要被处理的可并发事件。由上述本专利技术提供的技术方案可以看出,本专利技术和现有技术相比具有如下优点 1、本专利技术采用集中的并发控制与并发调度处理策略,使得多任务软件系统的并发事件本文档来自技高网
...

【技术保护点】
一种多任务软件系统中并发事件的处理装置,其特征在于,包括:任务模块:用于在多任务软件系统中的可并发事件需要被处理时,向并发处理模块提交该事件,并根据并发处理模块返回的该事件的并发控制信息,对该事件进行相应的处理;并发处理模块 :用于维护多任务软件系统中可并发事件类型的并发规则和任务模块提交过来的事件的状态信息,根据该并发规则和状态信息,生成接收到的提交事件的并发控制信息,并将该并发控制信息传递给任务模块。

【技术特征摘要】
1.一种多任务软件系统中并发事件的处理装置,其特征在于,包括任务模块用于在多任务软件系统中的可并发事件需要被处理时,向并发处理模块提交该事件,并根据并发处理模块返回的该事件的并发控制信息,对该事件进行相应的处理;并发处理模块用于维护多任务软件系统中可并发事件类型的并发规则和任务模块提交过来的事件的状态信息,根据该并发规则和状态信息,生成接收到的提交事件的并发控制信息,并将该并发控制信息传递给任务模块。2.根据权利要求1所述多任务软件系统中并发事件的处理装置,其特征在于,所述的任务模块具体包括事件提交模块用于当可并发事件需要被处理时,向并发处理模块提交该事件,并接收并发处理模块返回的该事件的并发控制信息,将该并发控制信息传递给事件处理模块,将事件处理模块返回的事件处理状态信息传递给并发处理模块;事件处理模块用于根据接收到的并发控制信息,对相应的可并发事件进行相应的事务处理或者将该可并发事件挂起或者将该可并发事件丢弃,并返回事件处理状态信息给事件提交模块。3.根据权利要求2所述多任务软件系统中并发事件的处理装置,其特征在于,所述的任务模块还包括事件标识模块用于当可并发事件需要被处理时,生成在多任务软件系统的整个运行期内唯一标识该事件的事件标识,并将该事件标识传递给事件处理模块和事件提交模块。4.根据权利要求1、2或3所述多任务软件系统中并发事件的处理装置,其特征在于,所述的并发处理模块具体包括并发规则模块用于定义和维护多任务软件系统中所有可并发事件类型的并发规则,并通过接口将该并发规则传递给并发控制和调度模块;并发控制和调度模块用于维护所有接收到的提交事件的状态信息,并根据该状态信息和接收到的并发规则,生成接收到的提交事件的并发控制信息,并将该并发控制信息返回给任务模块。5.根据权利要求4所述多任务软件系统中并发事件的处理装置,其特征在于,所述的并发规则模块包括并发规则矩阵模块用于使用矩阵来集中表示多任务软件系统中所有可并发事件类型的并发规则。6.根据权利要求5所述多任务软件系统中并发事件的处理装置,其特征在于,所述的并发控制和调度模块具体包括并发调度模块用于维护所有正在处理的和所有处于等待处理状态的事件的状态信息,其中包括事件的类型和优先级信息,并将该事件状态信息传递给并发控制模块;并发控制模块用于根据接收到的并发规则和并发调度模块传递过来的事件状态信息,确定接收到的提交事件的状态信息,并生成相应的并发控制信息,将该并发控制信息传递给任务模块;事件处理状态信息接收模块用于接收任务模块返回的事件处理状态信息,当接收到事件处理完毕的状态信息后,则通知并发调度模块将处于等待处理状态的事件中优先级最高的事件提交给并发控制模块。7.根据权利要求6所述多任务软件系统中并发事件的处理装置,其特征在于,所述的并发调度模块包括当前正在处理的事件列表用于按照优先级从高到低排列所有正在处理的事件;等待处理的事件列表用于按照优先级从高到低排列所有正处于等待处理状态的事件。8.根据权...

【专利技术属性】
技术研发人员:魏东
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1