一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种命令超时检测方法、装置、系统与流程

2022-02-22 09:13:45 来源:中国专利 TAG:


1.本发明涉及存储技术领域,特别是涉及一种命令超时检测方法、装置、系统。


背景技术:

2.在现有的集群命令执行过程中,如图1和图2所示,前端和后端的任务是分开的,前端执行超时检测,后端执行命令处理。当后端命令执行超时时,如图3所示,前端直接报错重启,通过重启再恢复节点到正常状态。由于命令数量较多,在业务压力比较大的情况下,出现超时重启的情况就会大概率发生,严重影响集群的性能以及稳定性。
3.因此,如何解决集群命令超时重启的问题,是本领域技术人员亟待解决的技术问题。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种命令超时检测方法、装置、系统,可以避免前端报错导致节点重启,大大提高了集群的稳定性和集群运行效率。其具体方案如下:
5.一种命令超时检测方法,包括:
6.发起执行命令请求,启动第一超时定时器;所述第一超时定时器位于前端;
7.发送所述第一超时定时器的当前执行时间给后端,以使后端创建并启动第二超时定时器,在所述第二超时定时器超时前感知命令执行超时,返回错误码;
8.收到所述错误码后,展示所述错误码的信息,提示命令执行超时。
9.优选地,在本发明实施例提供的上述命令超时检测方法中,所述在所述第二超时定时器超时前感知命令执行超时,返回错误码,包括:
10.利用所述第二超时定时器对命令执行时间进行检测;
11.当所述第二超时定时器执行到超时检测时间时,若后端仍未完成命令的执行,所述第二超时定时器将终止命令的执行,同时返回错误码。
12.优选地,在本发明实施例提供的上述命令超时检测方法中,所述第二超时定时器的超时检测时间为所述第一超时定时器的设定超时时间减去所述当前执行时间,再减去设定预留时间。
13.优选地,在本发明实施例提供的上述命令超时检测方法中,所述返回错误码,包括:
14.通过调用门将错误码进行返回。
15.本发明实施例还提供了一种命令超时检测方法,包括:
16.接收前端发送的执行命令请求以及第一超时定时器的当前执行时间;所述第一超时定时器位于所述前端;
17.创建并启动第二超时定时器;所述第二超时定时器位于后端;
18.在所述第二超时定时器超时前感知命令执行超时,返回错误码,以使前端收到所述错误码后,展示所述错误码的信息,提示命令执行超时。
19.优选地,在本发明实施例提供的上述命令超时检测方法中,所述在所述第二超时定时器超时前感知命令执行超时,返回错误码,包括:
20.利用所述第二超时定时器对命令执行时间进行检测;
21.当所述第二超时定时器执行到超时检测时间时,若后端仍未完成命令的执行,所述第二超时定时器将终止命令的执行,同时返回错误码。
22.优选地,在本发明实施例提供的上述命令超时检测方法中,在所述利用所述第二超时定时器对命令执行时间进行检测之前,还包括:
23.将所述第一超时定时器的设定超时时间减去所述当前执行时间,再减去设定预留时间,确定所述第二超时定时器的超时检测时间。
24.本发明实施例还提供了一种命令超时检测装置,包括:
25.启动单元,用于发起执行命令请求,启动第一超时定时器;所述第一超时定时器位于前端;
26.发送单元,用于发送所述第一超时定时器的当前执行时间给后端,以使后端创建并启动第二超时定时器,在所述第二超时定时器超时前感知命令执行超时,返回错误码;
27.展示单元,用于收到所述错误码后,展示所述错误码的信息,提示命令执行超时。
28.本发明实施例还提供了一种命令超时检测装置,包括:
29.接收单元,用于接收前端发送的执行命令请求以及第一超时定时器的当前执行时间;所述第一超时定时器位于所述前端;
30.创建单元,用于创建并启动第二超时定时器;所述第二超时定时器位于后端;
31.返回单元,用于在所述第二超时定时器超时前感知命令执行超时,返回错误码,以使前端收到所述错误码后,展示所述错误码的信息,提示命令执行超时。
32.本发明实施例还提供了一种命令超时检测系统,包括:
33.前端,用于发起执行命令请求,启动所述第一超时定时器,向后端发送所述第一超时定时器的当前执行时间;还用于收到所述后端返回的错误码后,展示所述错误码的信息,提示命令执行超时;
34.所述后端,用于创建并启动第二超时定时器,在所述第二超时定时器超时前感知命令执行超时,向所述前端返回错误码。
35.从上述技术方案可以看出,本发明所提供的一种命令超时检测方法,包括:发起执行命令请求,启动第一超时定时器;第一超时定时器位于前端;发送第一超时定时器的当前执行时间给后端,以使后端创建并启动第二超时定时器,在第二超时定时器超时前感知命令执行超时,返回错误码;收到错误码后,展示错误码的信息,提示命令执行超时。
36.本发明通过同步前端超时定时器,并在后端创建新的超时定时器,来提前感知命令执行超时,实现超时提前返回错误码,避免前端报错导致节点重启,大大提高了集群的稳定性和集群运行效率。此外,本发明还针对命令超时检测方法提供了相应的装置、系统,进一步使得上述方法更具有实用性,该装置、系统具有相应的优点。
附图说明
37.为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为现有的命令执行流程图;
39.图2为图1的前端和后端任务处理过程的示意图;
40.图3为现有的超时报错重启示意图;
41.图4为本发明实施例提供的命令超时检测方法的流程图之一;
42.图5为本发明实施例提供的后端添加超时检测的示意图;
43.图6为本发明实施例提供的前端和后端的数据同步示意图;
44.图7为本发明实施例提供的命令超时检测方法的流程图之二;
45.图8为本发明实施例提供的命令超时检测装置的结构示意图之一;
46.图9为本发明实施例提供的命令超时检测装置的结构示意图之二。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.参见图4,图4是本发明实施例提供的命令超时检测方法的流程图,本实施例的命令超时检测方法用于前端,即下面以前端为执行主体,对本发明实施例提供的命令超时检测方法进行说明,如图4所示,包括以下步骤:
49.s401、发起执行命令请求,启动第一超时定时器;第一超时定时器位于前端;
50.s402、发送第一超时定时器的当前执行时间给后端,以使后端创建并启动第二超时定时器,在第二超时定时器超时前感知命令执行超时,返回错误码;
51.s403、收到错误码后,展示错误码的信息,提示命令执行超时。
52.在本发明实施例提供的上述命令超时检测方法中,通过同步前端超时定时器,并在后端创建新的超时定时器,来提前感知命令执行超时,实现超时提前返回错误码,避免前端报错导致节点重启,大大提高了集群的稳定性和集群运行效率。
53.如图5所示,本发明实施例提供的上述命令超时检测方法,在原有前端超时定时器基础上,通过增加一个后端同步定时器,实现了后端对命令执行时间的检测,提前感知超时并返回错误码给前端,从而防止了前端定时器超时直接报错造成节点重启。
54.进一步地,在具体实施时,在本发明实施例提供的上述命令超时检测方法中,步骤s402在第二超时定时器超时前感知命令执行超时,返回错误码,具体可以包括:利用第二超时定时器对命令执行时间进行检测;当第二超时定时器执行到超时检测时间时,若后端仍未完成命令的执行,第二超时定时器将终止命令的执行,同时返回错误码。具体地,第二超时定时器的超时检测时间可以设置为第一超时定时器的设定超时时间减去当前执行时间,再减去设定预留时间。优选地,第一超时定时器的设定超时时间可以为175秒,设定预留时间可以为5秒。
55.可以理解的是,在后端创建第二超时定时器时,可以先确定出第二超时定时器的超时检测时间,该超时检测时间可以为前端的第一超时定时器超时检测的剩余时间再减去
预留的5秒时间。当后端的第二超时定时器超时时,前端定时器还有5秒的时间才会超时,这样后端提前返回前端错误码,即可避免前端超时报错导致的节点重启。
56.进一步地,在具体实施时,在本发明实施例提供的上述命令超时检测方法中,步骤s402返回错误码,可以包括:通过调用门将错误码进行返回。如图6所示,前端和后端在数据上是隔离的,不能直接访问;前端只能通过发消息的方式通知后端,而后端可以通过调用门通知前端。
57.基于同一发明构思,参见图7,图7是本发明又一实施例提供的命令超时检测方法的流程图,本实施例的命令超时检测方法用于后端,即下面以后端为执行主体,对本发明实施例提供的命令超时检测方法进行详细说明,如图7所示,包括以下步骤:
58.s701、接收前端发送的执行命令请求以及第一超时定时器的当前执行时间;第一超时定时器位于前端;
59.s702、创建并启动第二超时定时器;第二超时定时器位于后端;
60.s703、在第二超时定时器超时前感知命令执行超时,返回错误码,以使前端收到错误码后,展示错误码的信息,提示命令执行超时。
61.在本发明实施例提供的上述命令超时检测方法中,通过同步前端超时定时器,并在后端创建新的超时定时器,来提前感知命令执行超时,实现超时提前返回错误码,避免前端超时报错导致节点重启,大大提高了集群的稳定性和集群运行效率。
62.如图5所示,本发明实施例提供的上述命令超时检测方法,在原有前端超时定时器基础上,通过增加一个后端同步定时器,实现了后端对命令执行时间的检测,提前感知超时并返回错误码给前端,从而防止了前端超时定时器超时直接报错造成节点重启。
63.进一步地,在具体实施时,在本发明实施例提供的上述命令超时检测方法中,步骤s702在第二超时定时器超时前感知命令执行超时,返回错误码,具体可以包括:利用第二超时定时器对命令执行时间进行检测;当第二超时定时器执行到超时检测时间时,若后端仍未完成命令的执行,第二超时定时器将终止命令的执行,同时返回错误码。
64.进一步地,在具体实施时,在本发明实施例提供的上述命令超时检测方法中,在执行上述步骤中利用第二超时定时器对命令执行时间进行检测之前,还可以包括:将第一超时定时器的设定超时时间减去当前执行时间,再减去设定预留时间,确定第二超时定时器的超时检测时间。也就是说,第二超时定时器的超时检测时间可以设置为第一超时定时器的设定超时时间减去当前执行时间,再减去设定预留时间。优选地,第一超时定时器的设定超时时间可以为175秒,设定预留时间可以为5秒。
65.需要注意的是,本发明可以实现后端的第二超时定时器与前端的第一超时定时器的时间同步。前端需要向后端的第二超时定时器发送当前执行时间的消息,后端需要依据前端发送的当前执行时间(即已经执行的时间),确定后端的第二超时定时器的超时检测时间,提前感知命令执行超时。
66.进一步地,在具体实施时,在本发明实施例提供的上述命令超时检测方法中,步骤s702返回错误码,可以包括:通过调用门将错误码进行返回。如图6所示,前端和后端在数据上是隔离的,不能直接访问;前端只能通过发消息的方式通知后端,而后端可以通过调用门通知前端,具体地,前端将第一超时定时器的已执行时间以消息的方式发送给后端,后端在第一超时定时器超时前提前感知命令执行超时,然后通过调用门返回前端错误码。
67.需要说明的是,本发明实施例提供的上述命令超时检测方法主要包括前端定时器时间同步和创建后端超时检测定时器两部分内容。
68.下面以一个具体实例对本发明实施例提供的上述命令超时检测方法进行详细说明:
69.步骤一、前端发起执行命令请求,启动前端的第一超时定时器,其设定超时时间为175秒;
70.步骤二、前端发送第一超时定时器的当前执行时间给后端;
71.步骤三、后端收到执行命令请求后,命令开始执行;
72.步骤四、后端收到前端发送的第一超时定时器的当前执行时间后,创建并启动后端的第二超时定时器,其超时检测时间为175秒减去前端发送的已经执行的时间,再减去5秒预留时间;
73.步骤五、当后端的第二超时定时器执行到超时时间(此时前端超时定时器执行到170秒)时,如果后端仍未完成命令的执行,后端的第二超时定时器将终止命令的执行,同时返回错误码给前端;
74.步骤六、前端收到后端返回的错误消息后,展示错误码信息,提示命令执行超时。
75.步骤七、至此,命令执行完成,继续等待下一条命令。
76.基于同一发明构思,参见图8,图8是本发明实施例提供的命令超时检测装置的结构示意图,本实施例的命令超时检测装置应用于前端,由于该装置解决问题的原理与前述一种命令超时检测方法相似,因此该装置的实施可以参见命令超时检测方法的实施,重复之处不再赘述。
77.在具体实施时,本发明实施例提供的命令超时检测装置,如图8所示,具体包括:
78.启动单元801,用于发起执行命令请求,启动第一超时定时器;第一超时定时器位于前端;
79.发送单元802,用于发送第一超时定时器的当前执行时间给后端,以使后端创建并启动第二超时定时器,在第二超时定时器超时前感知命令执行超时,返回错误码;
80.展示单元803,用于收到错误码后,展示错误码的信息,提示命令执行超时。
81.在本发明实施例提供的上述命令超时检测装置中,可以通过上述四个单元的相互作用,利用后端创建的超时定时器来提前感知命令执行超时,实现超时提前返回错误码,避免前端报错导致节点重启,大大提高了集群的稳定性和集群运行效率。
82.关于上述各个单元更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
83.基于同一发明构思,参见图9,图9是本发明又一实施例提供的命令超时检测装置的结构示意图,本实施例的命令超时检测装置应用于后端,由于该装置解决问题的原理与前述一种命令超时检测方法相似,因此该装置的实施可以参见命令超时检测方法的实施,重复之处不再赘述。
84.在具体实施时,本发明实施例提供的命令超时检测装置,如图9所示,具体包括:
85.接收单元901,用于接收前端发送的执行命令请求以及第一超时定时器的当前执行时间;第一超时定时器位于前端;
86.创建单元902,用于创建并启动第二超时定时器;第二超时定时器位于后端;
87.返回单元903,用于在第二超时定时器超时前感知命令执行超时,返回错误码,以使前端收到错误码后,展示错误码的信息,提示命令执行超时。
88.在本发明实施例提供的上述命令超时检测装置中,可以通过上述四个单元的相互作用,利用后端创建的超时定时器来提前感知命令执行超时,实现超时提前返回错误码,避免前端报错导致节点重启,大大提高了集群的稳定性和集群运行效率。
89.关于上述各个单元更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
90.相应地,本发明实施例还公开了一种命令超时检测系统,包括:
91.前端,用于发起执行命令请求,启动第一超时定时器,向后端发送第一超时定时器的当前执行时间;还用于收到后端返回的错误码后,展示错误码的信息,提示命令执行超时;
92.后端,用于创建并启动第二超时定时器,在第二超时定时器超时前感知命令执行超时,向前端返回错误码。
93.关于上述前端和后端更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
94.进一步地,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的命令超时检测方法。
95.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
96.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
97.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
98.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
99.综上,本发明实施例提供的一种命令超时检测方法,包括:发起执行命令请求,启动第一超时定时器;第一超时定时器位于前端;发送第一超时定时器的当前执行时间给后端,以使后端创建并启动第二超时定时器,在第二超时定时器超时前感知命令执行超时,返回错误码;收到错误码后,展示错误码的信息,提示命令执行超时。本发明通过同步前端超时定时器,并在后端创建新的超时定时器,来提前感知命令执行超时,实现超时提前返回错误码,避免前端报错导致节点重启,大大提高了集群的稳定性和集群运行效率。此外,本发
明还针对命令超时检测方法提供了相应的装置、系统,进一步使得上述方法更具有实用性,该装置、系统具有相应的优点。
100.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
101.以上对本发明所提供的命令超时检测方法、装置、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献