CN112073519B - 操作请求的处理方法和装置 - Google Patents
操作请求的处理方法和装置 Download PDFInfo
- Publication number
- CN112073519B CN112073519B CN202010942951.6A CN202010942951A CN112073519B CN 112073519 B CN112073519 B CN 112073519B CN 202010942951 A CN202010942951 A CN 202010942951A CN 112073519 B CN112073519 B CN 112073519B
- Authority
- CN
- China
- Prior art keywords
- operation request
- event
- storage system
- distributed storage
- processes
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种操作请求的处理方法和装置。其中,该方法包括:监控分布式存储系统中进程关联的操作请求;对操作请求进行检测,确定操作请求的延迟原因;依据延迟原因,对分布式存储系统中进程进行隔离处理。本发明解决了分布式存储系统中跟踪性能低,并且影响存储系统正常性能的技术问题。
Description
技术领域
本发明涉及存储系统技术领域,具体而言,涉及一种操作请求的处理方法和装置。
背景技术
在分布式存储系统中,需要实时掌握每个存储设备对象存储守护进程(ObjectStorage Deamon,简称为OSD)上的请求相关信息,比如,请求执行时长,请求当前的状态,执行是否超时等。从而整体了解整个存储设备OSD的运行状态,这对存储系统非常重要,特别是在分析系统性能问题时,准确掌握每个请求的信息,有助于快速定位和解决问题。
分布式存储系统中,对于请求的跟踪和故障发现是非常复杂的,目前相关的技术大都通过消耗额外的内存资源来存储请求的状态信息,并且访问和记录状态信息的过程都是串行化的,这极大地降低了请求跟踪系统的效率,也给请求增加的更多的统计延迟,从而影响分布式存储系统的性能。
此外,大多数系统的实现并没有充分利用请求跟踪系统的信息,只是用来查询,从而造成资源的浪费。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种操作请求的处理方法和装置,以至少解决分布式存储系统中跟踪性能低,并且影响存储系统正常性能的技术问题。
根据本发明实施例的一个方面,提供了一种操作请求的处理方法,包括:监控分布式存储系统中进程关联的操作请求;对所述操作请求进行检测,确定所述操作请求的延迟原因;依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理。
可选地,监控分布式存储系统中进程关联的操作请求包括:对所述分布式存储系统中进程关联的操作请求进行跟踪;对所述分布式存储系统中进程关联的操作请求进行监测。
可选地,对所述分布式存储系统中进程关联的操作请求进行跟踪包括:将每一次经过处理所述操作请求记录为一个事件,其中,所述事件至少包括:所述事件的时间戳、所述事件的标识信息。
可选地,对所述分布式存储系统中进程关联的操作请求进行监测包括:确定所述操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;在所述第一差值大于第一预设差值的情况下,打印所述操作请求以及所述操作请求的每个事件;或者,确定所述操作请求的最后一个事件的时间戳和第一个事件的时间戳的第二差值;在所述第二差值大于第二预设差值的情况下,打印所述操作请求以及所述操作请求的每个事件。
可选地,对所述分布式存储系统中进程关联的操作请求进行跟踪包括:为所述操作请求预先分配N个事件数组,其中,N为大于1的整数;在记录所述操作请求的事件时,更新对应所述操作请求的事件下标的所述数组的状态信息;在读取所述操作请求的事件时,读取对应所述操作请求的事件下标的所述数组的状态信息。
可选地,对所述操作请求进行检测,确定所述操作请求的延迟原因包括:确定所述操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;在所述第一差值大于第一预设差值的情况下,得到第一判断结果;确定所述当前事件和所述上一个事件所处的软件栈层级;依据所述第一判断结果、所述当前事件和所述上一个事件所处的软件栈层级,得到所述操作请求的延迟原因。
可选地,依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理包括:确定所述操作请求的待处理数据的冗余度;在所述冗余度大于预设的冗余度阈值的情况下,隔离所述分布式存储系统中进程服务。
根据本发明实施例的另一方面,还提供了一种操作请求的处理装置,包括:监控模块,用于监控分布式存储系统中进程关联的操作请求;确定模块,用于对所述操作请求进行检测,确定所述操作请求的延迟原因;处理模块,用于依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述中任意一项所述的操作请求的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的操作请求的处理方法。
在本发明实施例中,采用监控分布式存储系统中进程关联的操作请求;对所述操作请求进行检测,确定所述操作请求的延迟原因;依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理,通过监控与检测分布式存储系统中进程关联的操作请求,得到操作请求的延迟原因,并基于该延迟原因对分布式存储系统中进程进行隔离处理,达到了更早地发现存储系统问题并按照相应策略进行处理的目的,从而实现了最小化地降低其对存储系统的影响,提升了系统的性能和稳定性的技术效果,进而解决了分布式存储系统中跟踪性能低,并且影响存储系统正常性能的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的操作请求的处理方法的流程图;
图2是根据本发明可选实施例的操作请求的处理方法的流程图;
图3是根据本发明实施例的操作请求的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,下面对本发明中出现的部分名词或术语进行详细说明。
分布式存储系统:简单来说,一般是通过一致性哈希算法将数据分散存储到多个存储服务器上,并将这些分散的存储资源构成一个虚拟的存储设备,能提供数据存储和读取服务。
请求跟踪:存储系统需要实时跟踪每个请求,记录请求的执行状态、资源使用等信息,同时不能影响存储系统性能。
故障发现:根据请求跟踪记录的状态信息,结合每种状态对应的原因,来分析前后状态延迟超时的原因,用来发现存储系统中组件的故障,为后续故障处理方案提供数据支撑。
对象存储守护进程:是指负责数据落盘的一个进程,副本和EC也通过OSD服务实现。每一个硬盘由一个OSD进程维护。
监控服务进程:用于监控整个集群的状态,包括OSD进程的上下线、加入、移除等。
实施例1
根据本发明实施例,提供了一种操作请求的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的操作请求的处理方法的流程图,如图1所示,该操作请求的处理方法包括如下步骤:
步骤S102,监控分布式存储系统中进程关联的操作请求;
上述操作请求包括但不限于读写请求、删除请求等;可选地,上述进程至少包括对象存储守护进程。
步骤S104,对操作请求进行检测,确定操作请求的延迟原因;
上述延迟原因包括但不限于网络延迟过大、磁盘响应时间过长、软件程序bug等。
步骤S106,依据延迟原因,对分布式存储系统中进程进行隔离处理。
需要说明的是,依据延迟原因对分布式存储系统中进程进行隔离处理可以改变集群的数据分布策略,在一定程度上避免某些存在故障的磁盘影响整个集群的性能。
通过上述步骤,可以首先采用监控分布式存储系统中进程关联的操作请求,再对操作请求进行检测,确定操作请求的延迟原因,进而依据延迟原因,对分布式存储系统中进程进行隔离处理,通过监控与检测分布式存储系统中进程关联的操作请求,得到操作请求的延迟原因,并基于该延迟原因对分布式存储系统中进程进行隔离处理,达到了更早地发现存储系统问题并按照相应策略进行处理的目的,从而实现了最小化地降低其对存储系统的影响,提升了系统的性能和稳定性的技术效果,进而解决了分布式存储系统中跟踪性能低,并且影响存储系统正常性能的技术问题。
可选地,监控分布式存储系统中进程关联的操作请求包括:对分布式存储系统中进程关联的操作请求进行跟踪;对分布式存储系统中进程关联的操作请求进行监测。
作为一种可选的实施例,可以利用分布式存储系统固有的跟踪机制,对分布式存储系统中进程关联的操作请求进行跟踪和监测,这样不仅没有额外增加网络和磁盘压力,也没有额外增加统计的资源消耗,不影响分布式系统的稳定性和性能。另外,还可以采用其他的方式对分布式存储系统中进程关联的操作请求进行跟踪和监测,在此不再一一赘述。
可选地,对分布式存储系统中进程关联的操作请求进行跟踪包括:将每一次经过处理操作请求记录为一个事件,其中,该事件至少包括:事件的时间戳、事件的标识信息。
作为一种可选的实施例,处理操作请求从对象存储守护进程接收到网络包开始,将每一次经过处理操作请求记录为一个事件,且每一个事件中包括但不限于事件的时间戳、事件的标识信息等。可选地,事件的时间戳可以为进入事件的时间戳。
可选地,对分布式存储系统中进程关联的操作请求进行监测包括:确定操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;在第一差值大于第一预设差值的情况下,打印操作请求以及操作请求的每个事件;或者,确定操作请求的最后一个事件的时间戳和第一个事件的时间戳的第二差值;在第二差值大于第二预设差值的情况下,打印操作请求以及操作请求的每个事件。
作为一种可选的实施例,为了更加准确的掌握操作请求以及操作请求的每个事件的状态,可以周期性的检测操作请求是否超时。在具体实施过程中,可以通过比较操作请求的当前事件的时间戳和上一个事件的时间戳的差值或者操作请求的最后一个事件的时间戳和第一个事件的时间戳的差值是否超过预设的差值阈值,如果该差值超过预设的差值阈值,则打印操作请求以及操作请求的每个事件,其中,打印操作请求以及操作请求的每个事件包括该操作请求以及该操作请求的每个事件的详细状态。
作为一种可选的实施例,可以打印操作请求以及操作请求的每个事件到OSD日志,同时通过告警机制通知到存储系统管理平台,并通知到存储系统管理员。
可选地,对分布式存储系统中进程关联的操作请求进行跟踪包括:为操作请求预先分配N个事件数组,其中,N为大于1的整数;在记录操作请求的事件时,更新对应操作请求的事件下标的数组的状态信息;在读取操作请求的事件时,读取对应操作请求的事件下标的数组的状态信息。
作为一种可选的实施例,可以为操作请求预先分配N个事件数组,即该数组可以用来保存N个事件,在具体实施过程中,该数组可以保存N个事件,且N个事件可以满足操作请求的需求,也就是,预先分配N个事件数组能够满足操作请求的需求。需要说明的是,N为大于1的整数,例如,N可以为2、6、10、25等,在此不再一一赘述。
作为一种可选的实施例,在记录操作请求的事件时,只需更新对应操作请求的事件下标的数组的状态信息,而不需要加锁操作。
作为一种可选的实施例,在读取操作请求的事件时,只需读取对应操作请求的事件下标的数组的状态信息,也不需要加锁操作。
在本申请的上述实施方式中,利用资源预分配技术,避免使用互斥锁,从而提高请求跟踪系统的性能。
可选地,对操作请求进行检测,确定操作请求的延迟原因包括:确定操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;在第一差值大于第一预设差值的情况下,得到第一判断结果;确定当前事件和上一个事件所处的软件栈层级;依据第一判断结果、当前事件和上一个事件所处的软件栈层级,得到操作请求的延迟原因。
作为一种可选的实施例,上述第一预设差值包括但不限于3S、60S等;上述第一判断结果包括但不限于慢请求。在具体实施过程中,可以首先确定操作请求的当前事件的时间戳和上一个事件的时间戳的差值,再将该差值与预设的差值阈值比较,在该差值超过预设的差值阈值的时,就会判定该操作请求为慢请求。
作为一种可选的实施例,确定当前事件和上一个事件所处的软件栈层级包括:构建事件与软件栈层级之间的映射关系;基于该映射关系,得到当前事件和上一个事件所处的软件栈层级,其中,软件栈层级包括以下至少之一:网络层、业务逻辑处理层、数据存储层。通过该实施方式,可以快速、准确地得到事件关联的软件栈层级。
作为一种可选的实施例,可以将基于操作请求的当前事件的时间戳和上一个事件的时间戳的差值的判断结果与事件的所处的软件栈层级结合在一起,从而将操作请求所在的事件分为不同的软件层级,总结不同事件间超时的原因。
可选地,依据延迟原因,对分布式存储系统中进程进行隔离处理包括:确定操作请求的待处理数据的冗余度;在冗余度大于预设的冗余度阈值的情况下,隔离分布式存储系统中进程服务。
作为一种可选的实施例,依据延迟原因对分布式存储系统中进程进行隔离处理过程中,可以计算操作请求的待处理数据的冗余度,如果该冗余度大于预设的冗余度阈值,则隔离分布式存储系统中进程服务。例如,预设的冗余度阈值为1,如果计算操作请求的待处理数据的冗余度大于该预设的冗余度阈值,则表明分布式存储系统中至少有待处理数据一个备份,则可以隔离分布式存储系统中进程服务。需要说明的是,隔离分布式存储系统中进程服务至少包括主动停止分布式存储系统中进程服务。
作为一种可选的实施例,可以将操作请求的待处理数据发送到其他正常的分布式存储系统中进程上,以实现相应的读写操作,从而避免某些存在故障的磁盘影响整个集群的性能。
在本申请上述实施例中,通过分析请求出现高延迟的原因,结合存储池冗余度信息,对因为磁盘响应慢或软件bug导致请求执行时间超时60s的OSD实行隔离,减少对分布式存储系统的影响,提升系统的稳定性。
下面对本发明一种可选的实施方式进行详细说明。
分布式存储系统的OSD主要负责数据的存储和读取,数据包含在客户端通过网络发送过来的请求中。为了评估存储系统的性能和稳定性,在OSD会对每个请求都分配资源来追踪该请求在OSD的执行状态。本发明是利用分布式存储系统固有的跟踪机制,没有额外增加网络和磁盘压力,也没有额外增加统计的资源消耗,不影响分布式系统的稳定性和性能。
图2是根据本发明可选实施例的操作请求的处理方法的流程图,如图2所示,该操作请求的处理方法至少包括:请求跟踪模块、故障分析模块、故障隔离OSD,通过这些模块可以实现对请求跟踪、故障分析、隔离OSD等功能。具体实施步骤如下:
分布式存储系统的请求跟踪机制:每个请求从OSD接收到网络包开始,每经过一次处理,都会记录一个事件E,该事件E包括:进入事件的时间戳,该事件的ID等信息。
分布式存储系统的请求监测机制:OSD会周期性地检查请求是否超时,通过比较当前事件和上一个事件的时间戳的差值,或者一个请求完成的时间戳和接收到网络包事件的时间戳的差值,如果超过一定阈值(可配置,默认为3s),会打印相应的请求以及每个事件的详细信息到OSD日志,同时通过告警机制通知到存储系统管理平台,并通知到存储系统管理员。
利用分布式存储系统的请求跟踪机制,结合实际的应用场景:一个存储系统中往往会有大量的请求需要处理,每个请求从开始到完成需要记录多个事件,而请求状态信息的读取操作相对记录状态信息来说,属于低频操作,所以这个跟踪系统是典型的写多读少场景。
而目前的实现中,每次写入事件时都需要加锁,来保护资源不被多个线程同时写,从而避免出现数据记录错误的问题。但是这极大地加重了跟踪系统的CPU资源开销,主要是陷入内核态和从内核态返回到用户态的时间开销,会耗费多至微秒级别的时间,这对需要处理大量请求的存储系统来说,无疑会增加客户端数据请求(读数据、写数据)的延迟。
为了解决上述问题,我们针对这种写多读少的应用场景,提出了资源预分配的优化方案,具体表述如下:
1)为每个请求分配N个事件数组;
2)每次记录事件时,只需要更新对应事件ID下标的数组项的相关状态信息,而不需要加锁操作;
3)需要读取请求的状态信息时,只需要读取相应的事件ID下标的数组项的状态信息即可,也不需要加锁操作。
通过上述优化处理后,我们将事件根据处理的时间线和处于的软件栈层级,总结归纳出每个事件对应的层级L,以及可能导致前后两个事件延迟超过阈值(可配置,默认3s)的原因C。
在分布式存储系统的请求检测周期中,会执行如下操作:
1)检查请求的最新事件E2和上一个事件E1的时间戳之差,如果超过设置的阈值,比如3s,会判定该请求为慢请求;
2)结合E2和E1之间的层级L1,计算得到该延迟可能的原因C1,原因可能是网络延迟过大,磁盘响应时间过长,或者软件程序bug等;
3)结合分析出的延迟原因C,做出处理策略。比如,如果请求处理时间超过60s,并且判断超时原因为本地磁盘响应慢或软件程序bug等,同时结合当前该部分数据的冗余度做处理,如果冗余度大于1(也就是存储系统中该数据有至少1份),则会主动停止OSD进程服务,改变集群的数据分布策略,进而让应用将数据请求发送到其他正常的OSD上,来完成数据的读写操作,从而避免某些存在故障的磁盘影响整个集群的性能。
上述实施方式中,可以利用跟踪系统中请求的状态信息来发现存储系统的异常故障,如网络延迟过大,磁盘响应时间过长以及软件程序bug等,从而更早地发现存储系统问题并按照相应策略进行处理,从而最小化地降低其对存储系统的影响。
实施例2
根据本发明实施例的另一方面,还提供了一种操作请求的处理装置,图3是根据本发明实施例的操作请求的处理装置的示意图,如图3所示,该操作请求的处理装置包括:监控模块32、确定模块34和处理模块36。下面对该操作请求的处理装置进行详细说明。
监控模块32,用于监控分布式存储系统中进程关联的操作请求;确定模块34,连接至上述监控模块32,用于对操作请求进行检测,确定操作请求的延迟原因;处理模块36,连接至上述确定模块34,用于依据延迟原因,对分布式存储系统中进程进行隔离处理。
由上述可知,该实施例中的操作请求的处理装置,可以首先采用监控模块32监控分布式存储系统中进程关联的操作请求,再利用确定模块34对操作请求进行检测,确定操作请求的延迟原因,进而处理模块36依据延迟原因,对分布式存储系统中进程进行隔离处理,通过监控与检测分布式存储系统中进程关联的操作请求,得到操作请求的延迟原因,并基于该延迟原因对分布式存储系统中进程进行隔离处理,达到了更早地发现存储系统问题并按照相应策略进行处理的目的,从而实现了最小化地降低其对存储系统的影响,提升了系统的性能和稳定性的技术效果,进而解决了分布式存储系统中跟踪性能低,并且影响存储系统正常性能的技术问题。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述监控模块32、确定模块34和处理模块36对应于实施例1中的步骤S102至S106,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
可选地,上述监控模块包括:跟踪单元,用于对分布式存储系统中进程关联的操作请求进行跟踪;监测单元,用于对分布式存储系统中进程关联的操作请求进行监测。
可选地,上述跟踪单元包括:记录子单元,用于将每一次经过处理操作请求记录为一个事件,其中,事件至少包括:事件的时间戳、事件的标识信息。
可选地,上述监测单元包括:第一确定子单元,用于确定操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;第一打印子单元,用于在第一差值大于第一预设差值的情况下,打印操作请求以及操作请求的每个事件;或者,第二确定子单元,用于确定操作请求的最后一个事件的时间戳和第一个事件的时间戳的第二差值;第二打印子单元,用于在第二差值大于第二预设差值的情况下,打印操作请求以及操作请求的每个事件。
可选地,上述跟踪单元包括:分配子单元,用于为操作请求预先分配N个事件数组,其中,N为大于1的整数;更新子单元,用于在记录操作请求的事件时,更新对应操作请求的事件下标的数组的状态信息;读取子单元,用于在读取操作请求的事件时,读取对应操作请求的事件下标的数组的状态信息。
可选地,上述确定模块包括:第一确定单元,用于确定操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;第一得到单元,用于在第一差值大于第一预设差值的情况下,得到第一判断结果;第二确定单元,用于确定当前事件和上一个事件所处的软件栈层级;第二得到单元,用于依据第一判断结果、当前事件和上一个事件所处的软件栈层级,得到操作请求的延迟原因。
可选地,上述处理模块包括:第三确定单元,用于确定操作请求的待处理数据的冗余度;隔离单元,用于在冗余度大于预设的冗余度阈值的情况下,隔离分布式存储系统中进程服务。
实施例3
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述中任意一项的操作请求的处理方法。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述计算机可读存储介质包括存储的程序。
可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:监控分布式存储系统中进程关联的操作请求;对操作请求进行检测,确定操作请求的延迟原因;依据延迟原因,对分布式存储系统中进程进行隔离处理。
实施例4
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述中任意一项的操作请求的处理方法。
本申请实施例提供了一种设备,该设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:监控分布式存储系统中进程关联的操作请求;对操作请求进行检测,确定操作请求的延迟原因;依据延迟原因,对分布式存储系统中进程进行隔离处理。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:监控分布式存储系统中进程关联的操作请求;对操作请求进行检测,确定操作请求的延迟原因;依据延迟原因,对分布式存储系统中进程进行隔离处理。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种操作请求的处理方法,其特征在于,包括:
监控分布式存储系统中进程关联的操作请求;
对所述操作请求进行检测,确定所述操作请求的延迟原因;
依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理;
其中,监控分布式存储系统中进程关联的操作请求包括:对所述分布式存储系统中进程关联的操作请求进行跟踪;
对所述分布式存储系统中进程关联的操作请求进行跟踪包括:为所述操作请求预先分配N个事件数组,其中,N为大于1的整数;在记录所述操作请求的事件时,更新对应所述操作请求的事件下标的数组的状态信息;在读取所述操作请求的事件时,读取对应所述操作请求的事件下标的数组的状态信息。
2.根据权利要求1所述的方法,其特征在于,监控分布式存储系统中进程关联的操作请求包括:
对所述分布式存储系统中进程关联的操作请求进行监测。
3.根据权利要求1所述的方法,其特征在于,对所述分布式存储系统中进程关联的操作请求进行跟踪包括:
将每一次经过处理所述操作请求记录为一个事件,其中,所述事件至少包括:所述事件的时间戳、所述事件的标识信息。
4.根据权利要求2所述的方法,其特征在于,对所述分布式存储系统中进程关联的操作请求进行监测包括:
确定所述操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;在所述第一差值大于第一预设差值的情况下,打印所述操作请求以及所述操作请求的每个事件;
或者,
确定所述操作请求的最后一个事件的时间戳和第一个事件的时间戳的第二差值;在所述第二差值大于第二预设差值的情况下,打印所述操作请求以及所述操作请求的每个事件。
5.根据权利要求1所述的方法,其特征在于,对所述操作请求进行检测,确定所述操作请求的延迟原因包括:
确定所述操作请求的当前事件的时间戳和上一个事件的时间戳的第一差值;
在所述第一差值大于第一预设差值的情况下,得到第一判断结果;
确定所述当前事件和所述上一个事件所处的软件栈层级;
依据所述第一判断结果、所述当前事件和所述上一个事件所处的软件栈层级,得到所述操作请求的延迟原因。
6.根据权利要求1至5中任一项所述的方法,其特征在于,依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理包括:
确定所述操作请求的待处理数据的冗余度;
在所述冗余度大于预设的冗余度阈值的情况下,隔离所述分布式存储系统中进程服务。
7.一种操作请求的处理装置,其特征在于,包括:
监控模块,用于监控分布式存储系统中进程关联的操作请求;
确定模块,用于对所述操作请求进行检测,确定所述操作请求的延迟原因;
处理模块,用于依据所述延迟原因,对所述分布式存储系统中进程进行隔离处理;
所述监控模块包括:跟踪单元,用于对所述分布式存储系统中进程关联的操作请求进行跟踪;
所述跟踪单元包括:分配子单元,用于为所述操作请求预先分配N个事件数组,其中,N为大于1的整数;更新子单元,用于在记录所述操作请求的事件时,更新对应所述操作请求的事件下标的数组的状态信息;读取子单元,用于在读取所述操作请求的事件时,读取对应所述操作请求的事件下标的数组的状态信息。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的操作请求的处理方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的操作请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010942951.6A CN112073519B (zh) | 2020-09-09 | 2020-09-09 | 操作请求的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010942951.6A CN112073519B (zh) | 2020-09-09 | 2020-09-09 | 操作请求的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073519A CN112073519A (zh) | 2020-12-11 |
CN112073519B true CN112073519B (zh) | 2023-06-02 |
Family
ID=73663263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010942951.6A Active CN112073519B (zh) | 2020-09-09 | 2020-09-09 | 操作请求的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073519B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753223A (zh) * | 2017-11-03 | 2019-05-14 | 伊姆西Ip控股有限责任公司 | 管理存储系统中的存储设备 |
CN110134657A (zh) * | 2019-04-08 | 2019-08-16 | 中国科学院计算技术研究所 | 基于非易失主存的文件系统元数据操作加速方法和系统 |
CN111124731A (zh) * | 2019-12-20 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种文件系统异常监测方法、装置、设备、介质 |
CN114780246A (zh) * | 2022-05-11 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 内存访问信息的确定方法、存储介质及程序产品 |
CN115185724A (zh) * | 2022-06-30 | 2022-10-14 | 章鱼博士智能技术(上海)有限公司 | 故障处理方法、装置、电子设备以及存储介质 |
-
2020
- 2020-09-09 CN CN202010942951.6A patent/CN112073519B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753223A (zh) * | 2017-11-03 | 2019-05-14 | 伊姆西Ip控股有限责任公司 | 管理存储系统中的存储设备 |
CN110134657A (zh) * | 2019-04-08 | 2019-08-16 | 中国科学院计算技术研究所 | 基于非易失主存的文件系统元数据操作加速方法和系统 |
CN111124731A (zh) * | 2019-12-20 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种文件系统异常监测方法、装置、设备、介质 |
CN114780246A (zh) * | 2022-05-11 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 内存访问信息的确定方法、存储介质及程序产品 |
CN115185724A (zh) * | 2022-06-30 | 2022-10-14 | 章鱼博士智能技术(上海)有限公司 | 故障处理方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112073519A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114579340A (zh) | 内存错误处理方法和装置 | |
JP4722944B2 (ja) | データベースの分散ロードのためのシステム、方法およびソフトウェア | |
US8161128B2 (en) | Sharing of data across disjoint clusters | |
US7895477B2 (en) | Resilience to memory errors with firmware assistance | |
US20010042119A1 (en) | Method for monitoring abnormal behavior in a computer system | |
US8397048B2 (en) | Memory leak detection during dynamic memory allocation | |
CN107506266B (zh) | 一种数据恢复方法及系统 | |
CN109656895B (zh) | 分布式存储系统、数据写入方法、装置和存储介质 | |
US20140188829A1 (en) | Technologies for providing deferred error records to an error handler | |
US20120047115A1 (en) | Extent reference count update system and method | |
CN103516736A (zh) | 分布式缓存系统的数据恢复方法及装置 | |
CN111857592A (zh) | 基于对象存储系统的数据存储方法及装置、电子设备 | |
CN109614276A (zh) | 故障处理方法、装置、分布式存储系统和存储介质 | |
US10324794B2 (en) | Method for storage management and storage device | |
US7689767B2 (en) | Method to detect and suggest corrective actions when performance and availability rules are violated in an environment deploying virtualization at multiple levels | |
US11449402B2 (en) | Handling of offline storage disk | |
CN104685474A (zh) | 包括不可纠正的错误的地址范围的通知 | |
CN109753378A (zh) | 一种内存故障的隔离方法、装置、系统及可读存储介质 | |
US20090300434A1 (en) | Clearing Interrupts Raised While Performing Operating System Critical Tasks | |
GB2609696A (en) | Error information processing method and device, and storage medium | |
CN112073519B (zh) | 操作请求的处理方法和装置 | |
US8195981B2 (en) | Memory metadata used to handle memory errors without process termination | |
CN116414661A (zh) | 分布式存储的固态硬盘处理方法和装置 | |
CN113918371B (zh) | 一种内存处理方法及装置 | |
CN109254880B (zh) | 一种处理数据库宕机的方法及装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100094 101, floors 1-5, building 7, courtyard 3, fengxiu Middle Road, Haidian District, Beijing Applicant after: Beijing Xingchen Tianhe Technology Co.,Ltd. Address before: 100097 room 806-1, block B, zone 2, Jinyuan times shopping center, indigo factory, Haidian District, Beijing Applicant before: XSKY BEIJING DATA TECHNOLOGY Corp.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |