一种命令超时处理方法及系统技术方案

技术编号:19634806 阅读:29 留言:0更新日期:2018-12-01 15:34
本发明专利技术提供一种命令超时处理方法及系统,方法包括:建立命令队列;接收主机发送的命令,将命令加入至命令队列;记录命令的入队列时刻和预设超时时长,并预估命令的执行所需时长;检测是否有命令执行完毕,如果是,则记录命令的完成时刻;根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新命令队列中各个命令的已等待时长;根据系统运行情况更新各个命令的执行所需时长;遍历命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时;如果会出现命令超时,则对超时的命令进行调整;该方法能够有效避免命令出现超时的问题。

A Method and System of Command Timeout Processing

The invention provides a command timeout processing method and system, which includes: establishing a command queue; receiving commands sent by the host and adding commands to the command queue; recording the time of command queuing and the preset time-out, and estimating the time required for command execution; detecting whether or not the command has been executed, if so, Record the completion time of the command; update the waiting time of each command in the command queue according to the completion time of the executed command and the entry time of each command in the command queue; update the execution time of each command according to the system running condition; traverse the already waiting time of each command in the command queue. If there is a command timeout, the command timeout will be adjusted. This method can effectively avoid the problem of command timeout.

【技术实现步骤摘要】
一种命令超时处理方法及系统
本专利技术涉及计算机
,尤其涉及一种命令超时处理方法及系统。
技术介绍
目前的控制系统中,主机处理任务的速度越来越快,但是很多时候设备端的运行频率无法与主机保持一致,设备端一般采用命令队列形式对命令进行缓冲,方便后期处理。但是设备端的命令一旦被执行,无法像主机一样容易退出服务,需要等待命令被执行完毕或者超时退出。这样会导致一些高优先级的命令被提前执行,而一些低优先级的命令容易出现超时。
技术实现思路
本专利技术的目的在于针对上述现有技术中的设备端的命令容易出现超时的问题,提出一种命令超时处理方法及系统,能够有效避免命令出现超时的问题。一种命令超时处理方法,包括:建立命令队列;接收主机发送的命令,将所述命令加入至所述命令队列;记录所述命令的入队列时刻和预设超时时长,并预估所述命令的执行所需时长;检测是否有命令执行完毕,如果是,则记录所述命令的完成时刻;根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新所述命令队列中各个命令的已等待时长;根据系统运行情况更新各个命令的执行所需时长;遍历所述命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时;如果会出现命令超时,则对超时的命令进行调整。进一步地,计算命令队列中各个命令的已等待时长,包括:计算已执行完毕的命令的完成时刻与各个命令的入队列时刻的时间差,获得各个命令的已等待时长。进一步地,判断是否会出现命令超时,包括:将命令的已等待时长、执行所需时长和排在所述命令之前的所有命令的执行所需时长进行相加,获得等待执行时长;将所述等待执行时长与所述预设超时时长进行比较,如果所述等待执行时长大于所述预设超时时长,则确定所述命令会出现超时。进一步地,对超时的命令进行调整,包括:减少超时命令的后台操作。进一步地,减少超时命令的后台操作之后,还包括:判断减少后台操作之后的命令是否还会出现超时;如果会出现超时,则提高超时的命令的优先级。一种命令超时处理系统,包括主机和设备,所述设备包括通信模块、处理器和存储器,所述通信模块用于与所述主机建立通信连接,所述存储器存储有多条指令,所述处理器用于读取所述多条指令并执行:建立命令队列;接收主机发送的命令,将所述命令加入至所述命令队列;记录所述命令的入队列时刻和预设超时时长,并预估所述命令的执行所需时长;检测是否有命令执行完毕,如果是,则记录所述命令的完成时刻;根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新所述命令队列中各个命令的已等待时长;根据系统运行情况更新各个命令的执行所需时长;遍历所述命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时;如果会出现命令超时,则对超时的命令进行调整。进一步地,所述处理器还用于执行:计算已执行完毕的命令的完成时刻与各个命令的入队列时刻的时间差,获得各个命令的已等待时长。进一步地,所述处理器还用于执行:将命令的已等待时长、执行所需时长和排在所述命令之前的所有命令的执行所需时长进行相加,获得等待执行时长;将所述等待执行时长与所述预设超时时长进行比较,如果所述等待执行时长大于所述预设超时时长,则确定所述命令会出现超时。进一步地,所述处理器还用于执行:减少超时命令的后台操作。进一步地,所述处理器还用于执行:判断减少后台操作之后的命令是否还会出现超时;如果会出现超时,则提高超时的命令的优先级。本专利技术提供的命令超时处理方法及系统,至少包括如下有益效果:(1)通过每一条命令完成时刻更新命令队列中各个命令的已等待时长,再根据已等待时长判断该命令是否超时,如果超时则进行相应调整,有效避免低优先级命令出现超时,保证系统的稳定运行;(2)当判断会出现命令超时,首先通过减少该命令的后台操作来避免超时,当减少后台操作后依然会出现超时,再提高该命令的优先级,在一定程度上可以避免优先级大变动,节约计算流程。附图说明图1为本专利技术提供的命令超时处理方法一种实施例的步骤图。图2为本专利技术提供的命令超时处理方法一种实施例的流程图。图3为本专利技术提供的命令超时处理系统一种实施例的结构示意图。具体实施方式为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。实施例一参考图1,本实施例提供一种命令超时处理方法,包括:步骤S101,建立命令队列;步骤S102,接收主机发送的命令,将所述命令加入至所述命令队列;步骤S103,记录所述命令的入队列时刻和预设超时时长,并预估所述命令的执行所需时长;步骤S104,检测是否有命令执行完毕,如果是,则记录所述命令的完成时刻;步骤S105,根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新所述命令队列中各个命令的已等待时长;步骤S106,根据系统运行情况更新各个命令的执行所需时长;步骤S107,遍历所述命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时;步骤S108,如果会出现命令超时,则对超时的命令进行调整。本实施例提供的命令超时处理方法,通过每一条命令完成时刻更新命令队列中各个命令的已等待时长,再根据已等待时长判断该命令是否超时,如果超时则进行相应调整,有效避免低优先级命令出现超时,保证系统的稳定运行。具体地,参考图2,首先执行步骤S101,建立命令队列,之后执行步骤S102,检测是否接收到主机发送的新命令,如果接收到,则检测该命令队列是否已满,如果不满,则将该命令加入到该命令队列,如果队列已满,则返回错误信息。进一步地,执行步骤S103,记录该命令的入队列时刻和预设超时时长,并预估所述命令的执行所需时长,其中,预设超时时长为该命令允许的最大超时时间,设备在执行完每个命令之后需要应答主机,如果超过该预设超时时长主机还未收到应答,则判断系统出现异常;执行所需时长为命令单独执行所需的时长,根据系统当前情况,计算执行该命令时设备后台操作所需的时长,该执行所需时长根据系统运行情况进行更新。进一步地,执行步骤S104,检测命令队列底部是否有命令执行完毕,如果有,则检查命令队列是否为空,如果不为空,则记录所述命令的完成时刻。如果命令队列底部仍有命令在执行,则判断该命令是否超时,如果超时则退出程序,如果没有超时则返回执行步骤S102。如果命令队列为空,则退出程序。进一步地,执行步骤S105,根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新所述命令队列中各个命令的已等待时长,其中,计算命令队列中各个命令的已等待时长,包括:计算已执行完毕的命令的完成时刻与各个命令的入队列时刻的时间差,获得各个命令的已等待时长。进一步地,执行步骤S106,根据系统运行情况更新各个命令的执行所需时长。进一步地,执行步骤S107,遍历所述命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时,具体地,判断是否会出现命令超时,包括:将命令的已等待时长、执行所需时长和排在所述命令之前的所有命令的执行所需时长进行相加,获得等待执行时长;将所述等待执行时长与所述预设超时时长进行比较,如果所述等待执行时长大于所述预设超时时长,则确定所述命令会出现超时。进一步地,本文档来自技高网...

【技术保护点】
1.一种命令超时处理方法,其特征在于,包括:建立命令队列;接收主机发送的命令,将所述命令加入至所述命令队列;记录所述命令的入队列时刻和预设超时时长,并预估所述命令的执行所需时长;检测是否有命令执行完毕,如果是,则记录所述命令的完成时刻;根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新所述命令队列中各个命令的已等待时长;根据系统运行情况更新各个命令的执行所需时长;遍历所述命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时;如果会出现命令超时,则对超时的命令进行调整。

【技术特征摘要】
1.一种命令超时处理方法,其特征在于,包括:建立命令队列;接收主机发送的命令,将所述命令加入至所述命令队列;记录所述命令的入队列时刻和预设超时时长,并预估所述命令的执行所需时长;检测是否有命令执行完毕,如果是,则记录所述命令的完成时刻;根据已执行完毕的命令的完成时刻,以及命令队列中各个命令的入队列时刻,更新所述命令队列中各个命令的已等待时长;根据系统运行情况更新各个命令的执行所需时长;遍历所述命令队列中各个命令的已等待时长和执行所需时长,判断是否会出现命令超时;如果会出现命令超时,则对超时的命令进行调整。2.根据权利要求1所述的命令超时处理方法,其特征在于,计算命令队列中各个命令的已等待时长,包括:计算已执行完毕的命令的完成时刻与各个命令的入队列时刻的时间差,获得各个命令的已等待时长。3.根据权利要求1所述的命令超时处理方法,其特征在于,判断是否会出现命令超时,包括:将命令的已等待时长、执行所需时长和排在所述命令之前的所有命令的执行所需时长进行相加,获得等待执行时长;将所述等待执行时长与所述预设超时时长进行比较,如果所述等待执行时长大于所述预设超时时长,则确定所述命令会出现超时。4.根据权利要求1所述的命令超时处理方法,其特征在于,对超时的命令进行调整,包括:减少超时命令的后台操作。5.根据权利要求4所述的命令超时处理方法,其特征在于,减少超时命令的后台操作之后,还包括:判断减少后台操作之后的命令是否还会出现超时;如果会出现超时,则提高超时的命令的优先级。6.一种命令超时处理系统,其特征在于,包括主机和设备...

【专利技术属性】
技术研发人员:罗胜谭四方梁永权
申请(专利权)人:深圳市德名利电子有限公司
类型:发明
国别省市:广东,44

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

1