CN115964192A - 请求处理方法、装置、电子设备及存储介质 - Google Patents
请求处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115964192A CN115964192A CN202211595299.0A CN202211595299A CN115964192A CN 115964192 A CN115964192 A CN 115964192A CN 202211595299 A CN202211595299 A CN 202211595299A CN 115964192 A CN115964192 A CN 115964192A
- Authority
- CN
- China
- Prior art keywords
- target
- request
- information
- time
- processing method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种请求处理方法、装置、电子设备及存储介质,其中,请求处理方法包括:监控目标IO请求的超时时长;在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理,本申请通过建立阻塞记录,在阻塞记录中记录阻塞的目标IO请求的打断处理方法,让不同的IO设备可以记录对应的打断处理方法,不同的服务端也可以复用。另外针对IO请求的超时场景,通过监控超时时长,能过实现处理超时的IO请求,提高IO请求的打断处理效率。
Description
技术领域
本申请实施例涉及计算机与互联网技术领域,尤其涉及请求处理方法、装置、电子设备及存储介质。
背景技术
在操作系统中,如微内核的操作系统,各服务都是以独立进程的方式运行,应用程序称为客户端(client端),服务进程称为服务端(server端)。当用户需要通过客户端进行读写时,客户端会通过进程间通信(Inter-Process Communication,IPC)向服务端发送读写请求,当服务端能够根据读写请求直接进行读写操作,则在完成读写操作后向客户端立即返回读写结果。当服务端由于一些原因(如闪存无存储空间)不能读写操作时,服务端就会阻塞,直到后续服务端能够进行读写操作后,再完成对应读写操作,并返回读写结果。
其中,需要对超时的请求进行打断处理,但是相关技术中存在对超时的请求打断处理效率低的问题。
发明内容
本申请提供一种请求处理方法、装置、电子设备及存储介质,用以提高IO请求的打断处理的效率。
第一方面,本申请提供一种请求处理方法,包括:监控目标IO请求的超时时长;在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理。
在一种可能的实现方式中,阻塞记录包括多个进程表,进程表和进程信息一一对应,进程表包括链表和时间表,链表包括多个阻塞信息,多个阻塞信息按照IO请求的请求时间的先后顺序串联,阻塞信息包括对应IO请求的时间标识、打断处理方法和超时时长,在时间表中时间标识按照IO请求的超时到期时间从先到后的顺序串联,时间标识与阻塞信息一一对应,在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理,包括:在目标IO请求对应的目标时间标识在时间表的首位置的情况下,根据目标时间标识在链表中查找对应的目标阻塞信息,目标阻塞信息包括:目标超时时长阈值和目标打断处理方法;采用预设定时器,确定目标IO请求的当前超时时长达到目标超时时长阈值的情况下,根据目标打断处理方法对目标IO请求进行打断处理。
在一种可能的实现方式中,监控目标IO请求的超时时长之前,还包括:接收客户端发送的目标IO请求,目标IO请求包括:目标IO设备读请求或目标IO设备写请求;在服务端阻塞的情况下,挂起目标IO请求,并基于目标IO请求生成对应的目标阻塞信息;将目标阻塞信息写入所属进程信息对应的链表中;在所属进程信息对应的时间表中,写入目标时间标识。
在一种可能的实现方式中,目标阻塞信息还包括:目标进程信息和目标节点标识,将目标阻塞信息写入所属进程信息对应的链表中,包括:根据目标进程信息,在阻塞记录中查找对应的目标进程表;若不存在目标进程表,则创建目标进程表,并将目标阻塞信息写入所属进程信对应的目标进程表的链表中;若存在目标进程表,则按照目标节点标识将目标阻塞信息写入目标进程表的链表中,目标节点标识用于表示目标IO请求的请求时间。
在一种可能的实现方式中,在所属进程信息对应的时间表中,写入目标时间标识,包括:根据超时时长阈值确定目标IO请求的目标超时到期时间;按照目标超时到期时间在目标进程表的时间表中的先后顺序,写入目标时间标识。
在一种可能的实现方式中,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理之后,还包括:删除链表中的目标阻塞信息,以及删除时间表中的目标时间标识。
在一种可能的实现方式中,还包括:若服务端具有处理目标IO请求的条件,根据目标IO请求执行写操作或者读操作;删除链表中的目标阻塞信息,以及删除时间表中的目标时间标识。
在一种可能的实现方式中,阻塞信息还包括:IO设备信息和线程信息。
第二方面,本申请提供一种请求处理装置,包括:
监控模块,用于监控目标IO请求的超时时长;
处理模块,用于在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理。
第三方面,本申请提供了一种电子设备,包括:至少一个处理器和存储器;
存储器存储计算机执行指令;
至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上述第一方面描述的请求处理方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机一项所执行指令,当处理器执行计算机执行指令时,实现如上述第一方面描述的请求处理方法。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面描述的请求处理方法。
本申请提供的请求处理方法、装置、电子设备及存储介质,包括:监控目标IO请求的超时时长;在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理,本申请通过建立阻塞记录,在阻塞记录中记录阻塞的目标IO请求的打断处理方法,让不同的IO设备可以记录对应的打断处理方法,不同的服务端也可以复用。另外针对IO请求的超时场景,通过监控超时时长,能过实现处理超时的IO请求,提高IO请求的打断处理效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的请求处理方法的应用场景示意图;
图2为本申请实施例提供的请求处理方法的步骤流程图;
图3为本申请一可选的实施例提供的阻塞记录的示意图;
图4为本申请一可选的实施例提供的在阻塞记录中写入阻塞信息的流程图;
图5为本申请一可选的实施例提供的在阻塞记录中删除阻塞信息的流程图;
图6为本申请实施例提供的请求处理装置的结构示意图;
图7为本申请实施例提供的电子设备的硬件结果示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将接合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,一种情况下,服务端在无法读写时,会将当前请求挂起,继续进行下一条请求的处理,等待当前请求满足处理条件后,再次进行处理。另一种情况:超时和打断,超时和打断时,都将会不完成请求对应的读写,直接向客户端返回请求失败。
QNX(Quick UNIX,快速操作系统)操作系统有对IO请求产生阻塞时的常规处理方法,即当服务端收到IO请求会产生阻塞时,将IO请求的相关信息,记录在该等待队列上,当服务端满足读写条件后,再完成此次读写。在需要打断的场景下,查询找到对应的IO请求,并返回处理。
其中,等待队列都是挂在IO设备的等待队列上,因此在查询针对某个进程(多个线程)的打断时,就要进行多次查询,效率不高。不同类的IO设备的打断处理方法可能各不相同,但是对等待队列的查询确是相同的,因此实现上存在较大重复性工作,不同的服务端也无法复用,另外针对超时场景,相关技术中并没有考虑对应的解决方式。
为解决上述技术问题,本申请可以应用在QNX,AliOS(一种操作系统)等车载操作系统,本申请生成IO请求的阻塞记录,以进行记录并帮助完成IO请求的打断处理。具体为建立阻塞信息(Block_info),抽象出打断处理的方法,让不同的IO设备可以加入不同的打断处理方法,不同的服务端也可以复用。另外针对超时场景,建立定时器和定时器更新机制,能过够帮助处理超时情况下的打断处理。基于Block_info的记录方法,可以便于针对进程和线程的打断,提高打断效率
图1为本申请实施例提供的请求处理方法的应用场景示意图,如图1所示,包括:客户端101和服务端102。
其中,客户端101是指应用程序,用于向服务端发送IO请求。服务端102是服务进程,用于对客户端101发送的IO请求进行对应处理,然后向客户端101返回请求结果。该客户端101在终端设备中,在服务端102在该终端设备中或者电子设备中。
图2为本申请实施例提供的请求处理方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的服务端102,对此实施例不作特别限制。
如图2所示,示出本申请提供的一种请求处理方法,具体包括以下步骤:该
S201、监控目标IO请求的超时时长。
其中,目标IO请求为读请求或者写请求,例如终端设备上连接有键盘和鼠标,通过键盘或者鼠标输入数据对应写请求。若终端设备上连接有显示屏或打印机,则在显示屏上显示内容,或者在通过打印机打印数据对应为读请求。
在本申请实施例中,以目标IO请求的发送时间为起始时间,确定起始时间至当前时间的时长为超时时长。例如,目标IO请求的发送时间为9:05:30,当前时间为9:05:32,则可以确定超时时长为2秒。
S202,在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理。
在本申请实施例中,每个IO请求具有对应超时时长阈值。IO请求的超时时长阈值可以是预先根据IO请求的相关信息确定的,相关信息包括:IO请求对应的IO设备(如鼠标、键盘、打印机和显示屏等),IO请求对应的数据(如文本、数字、图像等)。例如,设置键盘输入文本对应的IO请求的超时时长阈值为5秒,打印机打印图像对应的IO请求的超时时长阈值为8秒。
进一步地,本申请针对不同的IO请求具有对应的打断处理方法,服务端在接收的IO请求后,根据IO请求的相关信息确定对应的打断处理方法,然后将该打断处理方法记录在阻塞记录中,供后续超时打断处理。打断处理方法例如,针对键盘输入数据,则向客户端返回“输入失败”的结果,针对打印机打印数据,则向客户端返回“打印失败”的结果,针对显示器显示数据,则向客户端返回“连接失败”的结果,此外,打断处理方法还可以是其他方法,在此不加以限定。
其中,例如,在客户端向服务端发送IO请求,由于服务端当前不具备处理该IO请求的条件,则可以将该IO请求挂起,并将该IO请求对应的超时时长阈值和打断处理方法记录在阻塞记录中,在超时时长达到超时时长阈值时,服务端还不具有处理该IO请求的条件,则采用阻塞记录中记录的打断处理方法处理该IO请求。
参照图3,阻塞记录包括多个进程表,进程表和进程信息一一对应,进程表包括链表和时间表,链表包括多个阻塞信息,多个阻塞信息按照IO请求的请求时间的先后顺序串联,阻塞信息包括对应IO请求的时间标识、打断处理方法和超时时长,在时间表中时间标识按照IO请求的超时到期时间从先到后的顺序串联,时间标识与阻塞信息一一对应。
具体地,针对每个进程信息对应一个进程表,其中,进程信息与客户端一一对应,一个进程信息对应多个线程信息,一个线程请求对应个请求。即一个进程表中的阻塞信息均对应同一客户端发送的IO请求。
参照图3,包括n个进程表,n为正整数。例如,进程表1为聊天应用对应的进程表,进程表2为搜索应用对应的进程表,进程表n为视频应用对应的进程表。其中,每个进程表的格式相同,图3以进程表1为例说明每个进程表。
进一步地,进程表包括:链表和时间表。链表中包括多个阻塞信息(Block_info),同一链表中的多个阻塞信息对应的进程信息是相同的,可以理解均是来自同一客户端的IO请求生成的阻塞信息。每个阻塞信息包括:节点标识(Node_list)、时间标识(Time_list,T)、打断处理方法(Handler)、进程信息(Pid)、线程信息(Tid)、IO设备信息、超时时长阈值(Timeout)。
其中,进程表中的阻塞信息通过节点标识串联,节点标识能够表示阻塞信息对应的IO请求的请求时间,阻塞信息按照请求时间的先后顺序串联。例如,阻塞信息11对应的IO请求的请求时间早于阻塞信息12对应的IO请求的请求时间,阻塞信息12对应的IO请求的请求时间早于阻塞信息13对应的IO请求的请求时间。时间表包括表头(Block_list)和多个时间标识,时间表中的时间标识按照IO请求的超时到期时间从先到后的顺序串联,例如在图3中,阻塞信息12的超时到期时间早于阻塞信息11的超期到时时间,阻塞信息11的超时到期时间早于阻塞信息13的超期到时时间,则阻塞信息12对应的时间标识12排列在表头后,阻塞信息11对应的时间标识11排列在时间标识12后,阻塞信息13对应的时间标识13排列在时间标识12后。
示例性地,超时到期时间为请求时间加到超时时间阈值得到的时间为超期到期时间。例如,阻塞信息11对应的IO请求的请求时间为09:05:02,对应的超时时间阈值为8秒,则超时到期时间为09:05:10。阻塞信息12对应的IO请求的请求时间为09:05:03,对应的超时时间阈值为5秒,则超时到期时间为09:05:08。阻塞信息13对应的IO请求的请求时间为09:05:04,对应的超时时间阈值为10秒,则超时到期时间为09:05:14。
其中,S202包括以下步骤:
a1:在目标IO请求对应的目标时间标识在时间表的首位置的情况下,根据目标时间标识在链表中查找对应的目标阻塞信息。
其中,目标阻塞信息包括:目标超时时长阈值和目标打断处理方法。目标阻塞信息包括目标时间标识,目标时间标识与目标阻塞信息一一对应。
a2:采用预设定时器,确定目标IO请求的当前超时时长达到目标超时时长阈值的情况下,根据目标打断处理方法对目标IO请求进行打断处理。
其中,表头后的第一个时间标识的位置为时间表的首位值,定时器可以先找到表头,然后找到时间表首位置的时间标识,然后根据该时间标识在链表中查找对应的阻塞信息,定时器监控该阻塞信息对应的超时时间,在超时时间达到超时时间阈值时,根据阻塞信息中的打断处理方法打断处理对应的IO请求,然后删除链表中的该阻塞信息和时间表中的首位置的时间标识。接着,首位置后的时间标识依次前移,此时更新定时器以监控首位置新的时间标识对应的超时时间是否达到对应的超时时间阈值。
在本申请实施例中,如果服务端手动执行IO请求的打断,也可以IO请求对应的进程信息和线程信息,查找到对应的阻塞信息,根据阻塞信息中的打断处理方法对IO请求进行打断处理。
进一步地,存储阻塞信息的步骤如下:
b1:接收客户端发送的目标IO请求。
其中,目标IO请求包括:目标IO设备读请求或目标IO设备写请求。
b2:在服务端阻塞的情况下,挂起目标IO请求,并基于目标IO请求生成对应的目标阻塞信息。
其中,目标阻塞信息的内容参照图3中,包括:目标节点标识、目标时间标识、目标打断处理方法、目标进程信息、目标线程信息、目标IO设备信息以及目标超时时间阈值。
b3:将目标阻塞信息写入所属进程信息对应的链表中。
具体地,目标阻塞信息还包括:目标进程信息和目标节点标识,b3包括:根据目标进程信息,在阻塞记录中查找对应的目标进程表;若不存在目标进程表,则创建目标进程表,并将目标阻塞信息写入所属进程信对应的目标进程表的链表中;若存在目标进程表,则按照目标节点标识将目标阻塞信息写入目标进程表的链表中,目标节点标识用于表示目标IO请求的请求时间。
b4:在所属进程信息对应的时间表中,写入目标时间标识。
具体地,在所属进程信息对应的时间表中,写入目标时间标识,包括:根据超时时长阈值确定目标IO请求的目标超时到期时间;按照目标超时到期时间在目标进程表的时间表中的先后顺序,写入目标时间标识。
示例性地,参照图4,为写入阻塞信息的流程图,其中,在服务端接收到IO请求后,若服务端不具有处理该IO请求的条件,则挂起该IO请求,并且基于该IO请求生成阻塞信息,然后在阻塞记录中查找阻塞信息中进程信息对应的进程表,若不存在该进程信息对应的进程表,则基于该进程信息创建对应的进程表,然后将该阻塞信息加入该进程表的链表中,然后将阻塞信息中的时间标识加入时间表的首位置,并更新计时器监控该阻塞信息对应的IO请求的超时时间。若存在该进程信息对应的进程表,则在链表中按照顺序加入阻塞信息,然后在时间表中查找合适的的位置加入该阻塞信息中的时间标识,若该时间标识对应的超时到期时间最先,则可以将该时间标识插入时间表的首位置,将时间表中其他时间标识进行后移,并更新定时器。若对应的超时到期时间并非最先,则将时间标识加到合适的位置即可。
在本申请实施例中,定时器用于监控时间表中首位置的时间标识对应的阻塞信息的超时到期时间。
进一步地,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理之后,还包括:删除链表中的目标阻塞信息,以及删除时间表中的目标时间标识。
可选地,还包括:若服务端具有处理目标IO请求的条件,根据目标IO请求执行写操作或者读操作;删除链表中的目标阻塞信息,以及删除时间表中的目标时间标识。
参照图5,服务端具有处理挂起的IO请求的条件下,可以根据该IO请求进行对应的操作,并向客户端返回操作结果。此外,根据IO请求的进程信息,在阻塞记录中查找对应的进程表,若不存在进程表则结束流程,若存在进程表,则在链表中根据该IO请求的线程信息查找到对应的阻塞信息,然后删除对应的阻塞信息,并且根据阻塞信息中的时间标识,删除时间表中的时间标识。若该删除的时间标识在时间表的首位置,则将后面的时间标识前移,并更新定时器,更新后的定时器用于监控新移到首位置的时间标识对应的超时到期时间。
在本申请实施例中,首先,基于进程信息和线程信息创建了记录阻塞信息的阻塞记录。该阻塞记录用于记录每个IO请求(线程)对应的IO设备信息、打断处理方法、超时时间阈值、进程信息和线程信息等。其中,同一IO设备信息可以对应相同的打断处理方法。其次,可以针对阻塞记录提高多种处理接口,如对外提供增加阻塞信息、删除阻塞信息和执行打断处理的接口供外部使用。服务端在处理进程和/或线程的打断时,不再需要关注IO设备和打断处理方法,可以直接调用阻塞记录提供的接口,完成打断处理。此外,本申请也可以实现超时打断处理。
参照图6为本申请实施例提供的请求处理装置60的结构示意图,如图6所示,该装置包括:监控模块61和处理模块62,其中:
监控模块61,用于监控目标IO请求的超时时长;
处理模块62,用于在超时时长达到超时时长阈值时,根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理。
在本申请一可选的实施例中,阻塞记录包括多个进程表,进程表和进程信息一一对应,进程表包括链表和时间表,链表包括多个阻塞信息,多个阻塞信息按照IO请求的请求时间的先后顺序串联,阻塞信息包括对应IO请求的时间标识、打断处理方法和超时时长,在时间表中时间标识按照IO请求的超时到期时间从先到后的顺序串联,时间标识与阻塞信息一一对应,处理模块62具体用于:在目标IO请求对应的目标时间标识在时间表的首位置的情况下,根据目标时间标识在链表中查找对应的目标阻塞信息,目标阻塞信息包括:目标超时时长阈值和目标打断处理方法;采用预设定时器,确定目标IO请求的当前超时时长达到目标超时时长阈值的情况下,根据目标打断处理方法对目标IO请求进行打断处理。
在本申请一可选的实施例中,还包括记录模块(未示出)用于在监控目标IO请求的超时时长之前,接收客户端发送的目标IO请求,目标IO请求包括:目标IO设备读请求或目标IO设备写请求;在服务端阻塞的情况下,挂起目标IO请求,并基于目标IO请求生成对应的目标阻塞信息;将目标阻塞信息写入所属进程信息对应的链表中;在所属进程信息对应的时间表中,写入目标时间标识。
在本申请一可选的实施例中,目标阻塞信息还包括:目标进程信息和目标节点标识,记录模块在将目标阻塞信息写入所属进程信息对应的链表中时,具体用于:根据目标进程信息,在阻塞记录中查找对应的目标进程表;若不存在目标进程表,则创建目标进程表,并将目标阻塞信息写入所属进程信对应的目标进程表的链表中;若存在目标进程表,则按照目标节点标识将目标阻塞信息写入目标进程表的链表中,目标节点标识用于表示目标IO请求的请求时间。
在本申请一可选的实施例中,记录模块在所属进程信息对应的时间表中,写入目标时间标识时,具体用于根据超时时长阈值确定目标IO请求的目标超时到期时间;按照目标超时到期时间在目标进程表的时间表中的先后顺序,写入目标时间标识。
在本申请一可选的实施例中,还包括:删除模块(未示出),用于根据阻塞记录中记录的目标IO请求的目标打断处理方法对目标IO请求进行打断处理之后,删除链表中的目标阻塞信息,以及删除时间表中的目标时间标识。
在本申请一可选的实施例中,删除模块还用于:若服务端具有处理目标IO请求的条件,根据目标IO请求执行写操作或者读操作;删除链表中的目标阻塞信息,以及删除时间表中的目标时间标识。
在本申请一可选的实施例中,阻塞信息还包括:IO设备信息和线程信息。
本实施例提供的请求处理装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图7为本申请实施例提供的电子设备的硬件结果示意图,如图7所示,该电子设备包括:至少一个处理器701以及存储器702。
其中,处理器701,用于存储计算机执行指令。
存储器702,用于执行存储器存储的计算机执行指令,以实现上述方法实施例中所涉及的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
当存储器702独立设置时,该控制器还包括总线703,用于连接存储器702和处理器701。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上的请求处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上的请求处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器执行本申请各个实施例的方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种请求处理方法,其特征在于,包括:
监控目标IO请求的超时时长,所述目标IO请求是挂起的请求;
在所述超时时长达到超时时长阈值时,根据阻塞记录中记录的所述目标IO请求的目标打断处理方法对所述目标IO请求进行打断处理。
2.根据权利要求1所述的请求处理方法,其特征在于,所述阻塞记录包括多个进程表,所述进程表和进程信息一一对应,所述进程表包括链表和时间表,所述链表包括多个阻塞信息,所述多个阻塞信息按照IO请求的请求时间的先后顺序串联,所述阻塞信息包括对应IO请求的时间标识、打断处理方法和超时时长,在所述时间表中所述时间标识按照IO请求的超时到期时间从先到后的顺序串联,所述时间标识与所述阻塞信息一一对应,所述在所述超时时长达到超时时长阈值时,根据阻塞记录中记录的所述目标IO请求的目标打断处理方法对所述目标IO请求进行打断处理,包括:
在所述目标IO请求对应的目标时间标识在所述时间表的首位置的情况下,根据所述目标时间标识在所述链表中查找对应的目标阻塞信息,所述目标阻塞信息包括:目标超时时长阈值和目标打断处理方法;
采用预设定时器,确定所述目标IO请求的当前超时时长达到目标超时时长阈值的情况下,
根据所述目标打断处理方法对所述目标IO请求进行打断处理。
3.根据权利要求2所述的请求处理方法,其特征在于,所述监控目标IO请求的超时时长之前,还包括:
接收客户端发送的目标IO请求,所述目标IO请求包括:目标IO设备读请求或目标IO设备写请求;
在服务端阻塞的情况下,挂起所述目标IO请求,并基于所述目标IO请求生成对应的目标阻塞信息;
将所述目标阻塞信息写入所属进程信息对应的链表中;
在所属进程信息对应的时间表中,写入所述目标时间标识。
4.根据权利要求3所述的请求处理方法,其特征在于,所述目标阻塞信息还包括:目标进程信息和目标节点标识,所述将所述目标阻塞信息写入所属进程信息对应的链表中,包括:
根据所述目标进程信息,在所述阻塞记录中查找对应的目标进程表;
若不存在所述目标进程表,则创建所述目标进程表,并将所述目标阻塞信息写入所属进程信对应的目标进程表的链表中;
若存在所述目标进程表,则按照所述目标节点标识将所述目标阻塞信息写入所述目标进程表的链表中,所述目标节点标识用于表示所述目标IO请求的请求时间。
5.根据权利要求4所述的请求处理方法,其特征在于,所述在所属进程信息对应的时间表中,写入所述目标时间标识,包括:
根据超时时长阈值确定所述目标IO请求的目标超时到期时间;
按照目标超时到期时间在所述目标进程表的时间表中的先后顺序,写入所述目标时间标识。
6.根据权利要求2至5任一项所述的请求处理方法,其特征在于,所述根据阻塞记录中记录的所述目标IO请求的目标打断处理方法对所述目标IO请求进行打断处理之后,还包括:
删除所述链表中的目标阻塞信息,以及删除所述时间表中的目标时间标识。
7.根据权利要求2至5任一项所述的请求处理方法,其特征在于,还包括:
若服务端具有处理所述目标IO请求的条件,根据所述目标IO请求执行写操作或者读操作;
删除所述链表中的目标阻塞信息,以及删除所述时间表中的目标时间标识。
8.根据权利要求2至5任一项所述的请求处理方法,其特征在于,所述阻塞信息还包括:IO设备信息和线程信息。
9.一种请求处理装置,其特征在于,包括:
监控模块,用于监控目标IO请求的超时时长;
处理模块,用于在所述超时时长达到超时时长阈值时,根据阻塞记录中记录的所述目标IO请求的目标打断处理方法对所述目标IO请求进行打断处理。
10.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至8任一项所述的请求处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机一项所执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的请求处理方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现如权利要求1至8中任一项所述的请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595299.0A CN115964192A (zh) | 2022-12-13 | 2022-12-13 | 请求处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595299.0A CN115964192A (zh) | 2022-12-13 | 2022-12-13 | 请求处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964192A true CN115964192A (zh) | 2023-04-14 |
Family
ID=87352043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211595299.0A Pending CN115964192A (zh) | 2022-12-13 | 2022-12-13 | 请求处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964192A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719663A (zh) * | 2023-08-07 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
-
2022
- 2022-12-13 CN CN202211595299.0A patent/CN115964192A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719663A (zh) * | 2023-08-07 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
CN116719663B (zh) * | 2023-08-07 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924917B2 (en) | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets | |
CN110597595A (zh) | 多语言信息的提供方法、配置方法、装置、设备和介质 | |
US20160140682A1 (en) | Multi-source, multi-destination data transfers | |
CN109569214B (zh) | 分屏模式下的应用显示方法及装置、显示设备 | |
US10229010B2 (en) | Methods for preserving state across a failure and devices thereof | |
CN110825694A (zh) | 数据处理方法、装置、设备和存储介质 | |
JPH1078943A (ja) | 分散コンピュータ環境におけるグループ・イベント管理方法及び装置 | |
CN107704604A (zh) | 一种消息持久化方法、服务器和计算机可读存储介质 | |
CN115964192A (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN111290881A (zh) | 一种数据恢复方法、装置、设备及存储介质 | |
CN112559913B (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
JP2008033527A (ja) | ストレージ装置、ディスク装置及びデータ復元方法 | |
WO2020000812A1 (zh) | Ppt文档的生成方法及装置、存储介质、计算机设备 | |
CN111753141B (zh) | 一种数据管理方法及相关设备 | |
JP2010134724A (ja) | メッセージキューイング監視装置、メッセージキューイング監視方法、プログラム、及び記録媒体 | |
CN111399753A (zh) | 写入图片的方法和装置 | |
CN115858167A (zh) | 视觉软件图像处理系统、方法、装置、电子设备及介质 | |
CN111405015B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN113595762B (zh) | 一种网卡配置的保存方法及装置 | |
CN112181737B (zh) | 消息处理方法、装置、电子设备及介质 | |
CN111597149B (zh) | 一种数据库的数据清理方法及装置 | |
CN113590033A (zh) | 一种超融合系统的信息同步方法及装置 | |
CN111061744B (zh) | 图数据的更新方法、装置、计算机设备及存储介质 | |
US10503722B2 (en) | Log management apparatus and log management method | |
US20220014705A1 (en) | Data processing method and related product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |