技术领域
[0001] 本发明涉及任务调度技术领域,尤其涉及一种分布式任务实时协同规划方法。
相关背景技术
[0002] 目前,大部分任务系统采用的是单系统,但是单系统的处理能力非常有限。随着任务的复杂性和精度要求的不断提高,系统需要处理的任务越来越重,因此单系统已经不能很好地满足用户的需要。
[0003] 为了解决系统处理能力有限的问题,现在一般有两种解决方式,其一是分布式任务系统,该系统由一个任务策略运行单元和一组任务执行单元组成,在任务策略运行单元的控制下,每个任务执行单元共同分担需要处理的任务。在该系统中,要求在任务单位时间内有且只能有一个任务执行单元执行该任务,即在分布式任务系统中,要保证任务是线性执行的。在同一时刻出现两个任务执行单元从任务策略运行单元获得任务执行权是错误的。
[0004] 另一种解决方式为体系结构设计,体系结构设计已经引起了国内外广泛的关注,美国等国家发布了一系列的体系结构设计框架,我国针对某些专用领域也发布了体系结构框架。随之产生了一些体系结构设计软件平台,但各个平台之间的产品不能有效集成,对多人对协同开发的支持程度也不高。同时,体系结构设计面向的系统具有视图多,设计人员多,体系结构复杂等问题,多视图需求工程中“分而治之”的需求开发方式,必然会产生“需求集成”和“如何集成”等问题。
[0005] 本发明将针对两种方法的缺点进行改进提出了一种分布式任务实时协同规划方法。
具体实施方式
[0028] 以下实施例仅处于说明性目的,而不是想要限制本发明的范围。
[0029] 实施例
[0030] 参照图1,一种分布式任务实时协同规划方法,包括主控制器,其特征在于,所述主控制器电连接有控制模块、网络通讯模块、通信模块;所述网络通讯模块包括基于Ziggbee技术的无线通讯装置,用于与远程服务器实现数据通讯;所述安全防护子系统包括安全控制模块和警报模块,所述安全控制模块与主控制模块直接电连接,所述安全控制模块与警报模块电连接,用于异常情况的警报工作;
[0031] 所述主控制器电连接有任务汇总服务器,所述任务汇总服务器电连接有多个任务收集器,每个所述任务收集器分别用于接收不同地点收集的任务,所述任务汇总服务器将所有的任务汇总并进行对比,所述任务汇总服务器将重复任务删除至仅保留一件并在任务上标记任务收集器地址,所述任务汇总服务器将任务发送至主控制器等待下一步指令;
[0032] 所述控制模块包括通信模块、控信模块、红外线收发模块;所述主控制器分别与通信模块、控信模块、红外线收发模块电连接,多个所述红外线传感器的输出端与主控制器内的光电转换电路模块的输入端电连接,所述光电转换电路模块的输出端电连接有任务执行服务器,所述主控制器电连接有任务事物服务器、任务服务器、自我平衡服务器、任务执行服务器、任务策略运行服务器;
[0033] 所述任务事务服务器,接收所述任务服务器发送的任务请求,向所述任务服务器进行反馈,并记录各个任务的执行情况;所述任务服务器,向所述任务事务服务器发送任务请求,并根据所述任务事务服务器的反馈结果执行所述任务,所述任务服务器包括任务策略运行单元、自我平衡单元和任务执行单元;所述自我平衡单元,向所述任务事务服务器发送任务请求,并接收所述任务事务服务器发送的反馈结果,根据所述反馈结果触发所述任务执行单元执行所述任务;所述任务执行单元,与所述自我平衡单元连接,在所述自我平衡单元的控制下执行所述任务;
[0034] 所述任务策略运行单元与所述自我平衡单元连接,用于触发所述自我平衡单元发送任务请求,所述任务策略服务器接收任务服务器所发出的任务后将任务与之前的任务列表比对,若所述任务策略服务器内存在相同任务则直接调取任务结果发送至体系任务输出模块,若所述任务策略服务器内不存在相同任务则将任务发送反馈至任务服务器中等待分配。
[0035] 所述自我平衡单元、任务执行单元、任务策略运行单元共同电连接有多用户协同模块、体系任务分解模块、体系任务合并模块;所述多任务分解模块,根据任务服务器以及任务事务服务器下发的任务需求,将体系结构开发任务根据至少两种预设的视角按照逻辑结构划分成不同层级的子任务,设置子任务的状态;一种视角下得到一种逻辑结构;
[0036] 多用户协同模块,对不同层级的子任务设置开发权限,设计人员根据子任务的状态在设定的开发权限内对相应子任务进行执行任务,执行完成后得到该子任务对应的子结果;执行过程中对子任务的状态进行记录;
[0037] 多任务协同合并模块,查询各子任务的状态,当某一逻辑支路下所有子任务的状态都为确认态时,对该逻辑支路下的所有子结果进行合并,最终将某一逻辑结构下所有逻辑支路合并后的结果进行再次合并得到该逻辑结构对应的体系任务结果;
[0038] 体系任务校验模块,对逻辑结构之间的体系结果进行一致性检查,当出现不一致时,将不一致信息对应的子任务状态修改为可编辑态并反馈至多用户协同模块;否则,得到最终的体系结果;
[0039] 体系任务产品输出模块,将最终的体系结构结果按照标准交互文件的格式生成输出文件,体系任务输出模块生成输出文件后反馈至主控制器内并回传给任务汇总服务器,任务汇总服务器根据内部标记将输出文件输出给对应的任务收集器,完成整个任务处理环节。
[0040] 当反馈结果为任务服务器可以执行任务时,自我平衡单元检测任务服务器是否忙碌,如果忙碌,则向任务事务服务器发送任务检查消息;任务服务器的忙碌情况包括:当前线程数量大于或等于预先设定的线程数量门限值和/或当前长时间线程数量大于或等于预先设定的长时间线程数量门限值和/或任务服务器的运行能力值大于或等于;任务事务服务器检查是否有其它任务服务器申请任务,并向自我平衡单元发送检查结果。
[0041] 主控模块与人机交互界面相连,以显示自动加工子系统和机器人本体的工作状态数据,人机交互界面与外界的可Web服务器连接,用于工作人员远程监控人机交互界面,实现远程监控及控制,远程用户通过计算机或手机访问Web服务器,获取任务规划及完成的运行情况。
[0042] 任务服务器向任务事务服务器发送任务请求消息后,如果在第一间隔时间内收到任务事务服务器反馈的判断结果,则开始事务;否则重新进行申请。
[0043] 如果在第二间隔时间内没有收到任务事务服务器反馈的判断结果,则任务服务器放弃申请。任务事务服务器预设的分配规则包括按照多个任务服务器负载情况,优先分配负载较小的任务服务器、按照多个任务服务器的性能权重排序,优先分配性能权重排序靠前的任务服务器以及按照多个任务服务器对应的任务类型进行分配。
[0044] 任务服务器检测本身是否忙碌,如果不忙碌,则执行任务;如果忙碌,则向任务事务服务器发送任务检查消息;任务事务服务器检查是否有其它任务服务器申请任务,并向自我平衡单元发送检查结果;如果检查结果为是,则任务服务器放弃本次任务请求,否则执行任务。
[0045] 对任务事务服务器下发的任务进行纵向分解,纵向分解是将体系结构模型根据至少两种预设的逻辑按照树形结构进行划分,按照父子关系拆分为不同层级的子任务,每个逻辑分支下的最底层子任务为设计人员能够独立完成的开发进度。
[0046] 以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。