System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 追踪存储IO执行情况的方法、装置、设备及存储介质制造方法及图纸_技高网

追踪存储IO执行情况的方法、装置、设备及存储介质制造方法及图纸

技术编号:40495123 阅读:8 留言:0更新日期:2024-02-26 19:24
一种追踪存储IO执行情况的方法、装置、设备及存储介质,涉及数据存储技术领域,其中,追踪存储IO执行情况的方法包括:当节点收到远程过程调用rpc消息时,分配一追踪器tracker,并将rpc消息对应的rpc id、消息类型和起始时间戳记录到tracker中;在rpc的关键流程插入时间戳和关键流程名称;记录节点rpc reply时的reply时间戳,并根据起始时间戳和消息类型判断rpc处理时间是否超时;当rpc处理超时时,根据rpc id在对应节点查找rpc关键流程时间戳,以进行辅助定位。本申请能有效的监控分布式存储中的IO处理情况,保留问题定位信息,增加了分布式存储系统的可定位性。

【技术实现步骤摘要】

本申请涉及数据存储,具体涉及一种追踪存储io执行情况的方法、装置、设备及存储介质。


技术介绍

1、分布式存储系统随着服务器数量的增加,故障率也随之上升,为了保证服务器出现故障的情况下系统仍然可用,一般的做法时把一个数据分成多份储存在不同的服务器中,根据需求使用不同的冗余策略来保证数据的可靠性和容错性。

2、以三副本写为例,将数据复制三份副本存在三个不同的节点上,具有一个主副本,两个从副本。客户端client发送rpc(remote procedure call,远程过程调用)请求(io)到服务器的主副本节点上,再由主副本经网络分发到另外两个从副本中。

3、为了辅助定位op异常、超时等bug,则需要对io(input/output,输入/输出)路径上的时延进行监控,现有的io时延监控方法大多是监控某个流程的平均时延,存在不能精确到具体io、不能跨界点监控等缺陷;若存在平均时延符合预期但某个io执行时间超时的情况,则不能准确的定位其超时原因。


技术实现思路

1、本申请提供一种追踪存储io执行情况的方法、装置、设备及存储介质,其能有效的监控分布式存储中的io处理情况,保留问题定位信息,增加了分布式存储系统的可定位性。

2、第一方面,本申请实施例提供一种追踪存储io执行情况的方法,所述追踪存储io执行情况的方法包括:

3、当节点收到远程过程调用rpc消息时,分配一追踪器tracker,并将rpc消息对应的rpc id、消息类型和起始时间戳记录到tracker中;

4、在rpc的关键流程插入时间戳和关键流程名称;

5、记录节点rpc reply时的reply时间戳,并根据起始时间戳和消息类型判断rpc处理时间是否超时;

6、当rpc处理超时时,根据rpc id在对应节点查找rpc关键流程时间戳,以进行辅助定位。

7、结合第一方面,在一种实施方式中,所述记录节点rpc reply时的reply时间戳,并根据起始时间戳和消息类型计算rpc处理时间是否超时,包括:

8、判断reply时间戳和起始时间戳的差值是否超出基于消息类型设定的时间阈值;

9、若超出设定的时间阈值,则判定rpc处理时间超时。

10、结合第一方面,在一种实施方式中,根据不同的消息类型设置不同的时间阈值。

11、结合第一方面,在一种实施方式中,分配tracker时,在tracker pool中取出tracker,并将tracker加入inflight队列。

12、结合第一方面,在一种实施方式中,若tracker pool为空,则通过alloc函数申请tracker,并在释放时将申请的tracker放入tracker pool中。

13、结合第一方面,在一种实施方式中,若rpc陷入死循环或主动切出不继续处理,利用看门狗每隔一段时间检测inflight队列rpc的起始时间戳,若超阈值未处理,则将信息输出到日志并进行故障恢复报警。

14、结合第一方面,在一种实施方式中,当rpc处理超时时,将记录的rpc关键流程时间戳输出到日志并报警。

15、第二方面,本申请实施例提供了一种追踪存储io执行情况的装置,所述追踪存储io执行情况的装置包括:

16、分配模块,其用于当节点收到远程过程调用rpc消息时,分配一追踪器tracker,并将rpc消息对应的rpc id、消息类型和起始时间戳记录到tracker中;

17、插入模块,其用于在rpc的关键流程插入时间戳和关键流程名称;

18、判断模块,其用于记录节点rpc reply时的reply时间戳,并根据起始时间戳和消息类型判断rpc处理时间是否超时;

19、定位模块,其用于当rpc处理超时时,根据rpc id在对应节点查找rpc关键流程时间戳,以进行辅助定位。

20、第三方面,本申请实施例提供了一种追踪存储io执行情况的设备,所述追踪存储io执行情况的设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的追踪存储io执行情况的程序,其中所述追踪存储io执行情况的程序被所述处理器执行时,实现如上述任一种所述的追踪存储io执行情况的方法的步骤。

21、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有追踪存储io执行情况的程序,其中所述追踪存储io执行情况的程序被处理器执行时,实现如上述任一种所述的追踪存储io执行情况的方法的步骤。

22、本申请实施例提供的技术方案带来的有益效果至少包括:

23、本申请中的追踪存储io执行情况的方法,其当节点收到远程过程调用rpc消息时,分配一追踪器tracker,并将rpc消息对应的rpc id、消息类型和起始时间戳记录到tracker中;在rpc的关键流程插入时间戳和关键流程名称;记录节点rpc reply时的reply时间戳,并根据起始时间戳和消息类型判断rpc处理时间是否超时;当rpc处理超时时,根据rpc id在对应节点查找rpc关键流程时间戳,以进行辅助定位。

24、本申请中的方案在每个线程上维护一个tracker的内存池,用来存放追踪器的实例,可以减少内存申请释放,减少cpu和内存的消耗。以rpc id为唯一标识符,不同线程使用不同的tracker跟踪,实现免锁;另外,以rpc id为唯一标识符,还可以跨节点追踪时延。

本文档来自技高网...

【技术保护点】

1.一种追踪存储IO执行情况的方法,其特征在于,所述追踪存储IO执行情况的方法包括:

2.如权利要求1所述的追踪存储IO执行情况的方法,其特征在于:所述记录节点rpcreply时的reply时间戳,并根据起始时间戳和消息类型计算rpc处理时间是否超时,包括:

3.如权利要求2所述的追踪存储IO执行情况的方法,其特征在于:

4.如权利要求1所述的追踪存储IO执行情况的方法,其特征在于:

5.如权利要求4所述的追踪存储IO执行情况的方法,其特征在于:

6.如权利要求4所述的追踪存储IO执行情况的方法,其特征在于:

7.如权利要求1所述的追踪存储IO执行情况的方法,其特征在于:

8.一种追踪存储IO执行情况的装置,其特征在于,所述追踪存储IO执行情况的装置包括:

9.一种追踪存储IO执行情况的设备,其特征在于,所述追踪存储IO执行情况的设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的追踪存储IO执行情况的程序,其中所述追踪存储IO执行情况的程序被所述处理器执行时,实现如权利要求1至7中任一项所述的追踪存储IO执行情况的方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有追踪存储IO执行情况的程序,其中所述追踪存储IO执行情况的程序被处理器执行时,实现如权利要求1至7中任一项所述的追踪存储IO执行情况的方法的步骤。

...

【技术特征摘要】

1.一种追踪存储io执行情况的方法,其特征在于,所述追踪存储io执行情况的方法包括:

2.如权利要求1所述的追踪存储io执行情况的方法,其特征在于:所述记录节点rpcreply时的reply时间戳,并根据起始时间戳和消息类型计算rpc处理时间是否超时,包括:

3.如权利要求2所述的追踪存储io执行情况的方法,其特征在于:

4.如权利要求1所述的追踪存储io执行情况的方法,其特征在于:

5.如权利要求4所述的追踪存储io执行情况的方法,其特征在于:

6.如权利要求4所述的追踪存储io执行情况的方法,其特征在于:

7.如权利要求1所述的追踪存储io执行情况的方法,其特征...

【专利技术属性】
技术研发人员:安佳星
申请(专利权)人:中电云计算技术有限公司
类型:发明
国别省市:

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

1