CN109407981A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN109407981A
CN109407981A CN201811156507.0A CN201811156507A CN109407981A CN 109407981 A CN109407981 A CN 109407981A CN 201811156507 A CN201811156507 A CN 201811156507A CN 109407981 A CN109407981 A CN 109407981A
Authority
CN
China
Prior art keywords
data
node
data node
write operation
read
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
Application number
CN201811156507.0A
Other languages
English (en)
Inventor
徐佳宏
杨永滔
成学文
吴启康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ipanel TV Inc
Original Assignee
Shenzhen Ipanel TV Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Ipanel TV Inc filed Critical Shenzhen Ipanel TV Inc
Priority to CN201811156507.0A priority Critical patent/CN109407981A/zh
Publication of CN109407981A publication Critical patent/CN109407981A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种数据处理方法及装置,方法包括:调用读操作函数,执行数据读取过程,数据读取过程,包括:确定存储有目标数据的各个数据结点;从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从健康数据结点中读取所述目标数据;判断读取目标数据所用时长是否超过超时阈值;若是,中断读取目标数据的操作,将健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个数据结点中,选取一个健康数据结点的步骤;若否,返回读取到的目标数据。在本申请中,通过以上方式可以缩短结点完成读操作所用的时间。

Description

一种数据处理方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种数据处理方法及装置。
背景技术
目前,具有高度容错能力及可以实时检测错误的分布式存储系统被广泛应用。
存储分布式存储系统中的文件,一般会被分隔为固定大小的数据块,每个数据块具有多个副本,每个副本存储在不同机器(即不同结点)上,保证多个副本中只要至少有一个副本有效,整个数据块就是有效的。
分布式存储系统中某些结点因为系统资源紧张、磁盘操作延时、网络延时等问题,可能会导致读操作超时或写操作超时。而单个结点读操作超时或写操作超时可能会导致使用分布式存储系统的整个集群出现读写超时,因此在结点出现读操作或写操作超时的情况下,如何缩短结点完成读或写操作所用的时间,成为亟待解决的问题。
发明内容
为解决上述技术问题,本申请实施例提供一种数据处理方法及装置,以达到缩短结点完成读操作所用的时间的目的,技术方案如下:
一种数据处理方法,包括:
调用读操作函数,执行数据读取过程,所述数据读取过程,包括:
确定存储有目标数据的各个数据结点;
从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据;
判断读取所述目标数据所用时长是否超过超时阈值;
若是,中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点的步骤;
若否,返回读取到的目标数据。
优选的,所述从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据,包括:
调用读操作任务接口函数,将读操作任务提交至读数据线程,并运行所述读数据线程,执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤,所述读数据线程为独立于其他线程的线程;
所述判断读取所述目标数据所用时长是否超过超时阈值,包括:
判断所述读数据线程返回所述目标数据所用时长是否超过超时阈值。
优选的,所述将所述健康数据结点标记为坏结点之后,还包括:
重新确定一个超时阈值,并将重新确定的超时阈值替换所述超时阈值,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤。
优选的,所述方法还包括:
调用写操作函数,执行数据写入过程,所述数据写入过程,包括:
获取写管道中各个数据结点的写操作确认信息;
根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时;
若是,则选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据。
优选的,各个数据结点包括:第一数据结点及多个第二数据结点,所述第一数据结点为直接与客户端交互的数据结点,第二数据结点为通过所述第一数据结点与所述客户端交互的数据结点;
所述获取写管道中各个数据结点的写操作确认信息,包括:
获取所述第一数据结点依次返回的数据包的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息;
所述根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时,包括:
判断所述第一数据结点依次返回的数据包的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时;
若是,则确定所述第一数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第一数据结点;
分别判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息;
若是,则确定存在返回顺序相邻的写操作确认信息返回超时信息的第二数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第二数据结点,并继续向所述写管道中写入数据。
一种数据处理装置,包括:
读操作函数调用模块,用于调用读操作函数,执行数据读取过程,所述数据读取过程,包括:
确定存储有目标数据的各个数据结点;
从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据;
判断读取所述目标数据所用时长是否超过超时阈值;
若是,中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点的步骤;
若否,返回读取到的目标数据。
优选的,所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据,包括:
调用读操作任务接口函数,将读操作任务提交至读数据线程,并运行所述读数据线程,执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤,所述读数据线程为独立于其他线程的线程;
所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中判断读取所述目标数据所用时长是否超过超时阈值,包括:
判断所述读数据线程返回所述目标数据所用时长是否超过超时阈值。
优选的,所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中将所述健康数据结点标记为坏结点之后,还包括:
重新确定一个超时阈值,并将重新确定的超时阈值替换所述超时阈值,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤。
优选的,所述装置还包括:
写操作函数调用模块,用于调用写操作函数,执行数据写入过程,所述数据写入过程,包括:
获取写管道中各个数据结点的写操作确认信息;
根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时;
若是,则选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据。
优选的,各个数据结点包括:第一数据结点及多个第二数据结点,所述第一数据结点为直接与客户端交互的数据结点,第二数据结点为通过所述第一数据结点与所述客户端交互的数据结点;
所述写操作函数调用模块,调用写操作函数,执行的数据写入过程中获取写管道中各个数据结点的写操作确认信息,包括:
获取所述第一数据结点依次返回的数据包的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息;
所述写操作函数调用模块,调用写操作函数,执行的数据写入过程中根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时,包括:
判断所述第一数据结点依次返回的数据包的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时;
若是,则确定所述第一数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第一数据结点;
分别判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息;
若是,则确定存在返回顺序相邻的写操作确认信息返回超时信息的第二数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第二数据结点,并继续向所述写管道中写入数据。
与现有技术相比,本申请的有益效果为:
在本申请中,从存储有目标数据的各个数据结点中,选取一个健康数据结点,保证从不存在故障的数据结点开始读取目标数据,降低目标数据读取超时的概率。在此基础上,通过判断读取目标数据所用时长是否超过超时阈值,来判断读操作是否超时,在超过超时阈值时,中断读取目标数据的操作,可以避免长时间等待从处于超时状态的数据结点中读取数据,而导致的读操作时间延长,缩短结点完成读操作所用的时间。将健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个数据结点中,选取一个健康数据结点的步骤,重新读取目标数据,可以避免重新选取结点时,因选取到超时状态未结束的结点而导致的读操作时间延长,进一步缩短结点完成读操作所用的时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据读取过程的一种流程图;
图2是本申请提供的数据读取过程的另一种流程图;
图3是本申请提供的数据读取过程的再一种流程图;
图4是本申请提供的数据写入过程的一种流程图;
图5是本申请提供的数据结点写入数据包及返回写操作确认信息的一种示意图;
图6是本申请提供的数据写入过程的另一种流程图;
图7是本申请提供的数据处理装置的一种逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种数据处理方法,包括:调用读操作函数,执行数据读取过程,所述数据读取过程,包括:从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据;判断读取所述目标数据所用时长是否超过超时阈值;若是,中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个数据结点中,选取一个健康数据结点的步骤;若否,返回读取到的目标数据。在本申请中,可以缩短结点完成读操作所用的时间。
接下来对本申请实施例公开的数据处理方法进行介绍,具体可以包括:
调用读操作函数,执行数据读取过程。
本实施例中,客户端可以在接收到读操作请求时,调用读操作函数,执行数据读取过程。
所述数据读取过程可以参见图1,可以包括:
步骤S11、确定存储有目标数据的各个数据结点。
在分布式存储系统中,存在多个数据结点。在确定目标数据的信息之后,可以根据目标数据的信息,确定存储有目标数据的各个数据结点。
步骤S12、从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据。
数据结点,可以理解为:存储器。
健康数据结点,可以理解为:不存在响应延时的数据结点。
在分布式存储系统中,目标数据可能存储在多个不同的数据结点中,因此可以从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从健康数据结点中读取目标数据。
步骤S13、判断读取所述目标数据所用时长是否超过超时阈值。
若是,则执行步骤S14;若否,则执行步骤S15。
本实施例中,预先设置一个超时阈值,用于监控读取目标数据所用时长是否超时。
超时阈值可以根据需要,灵活设置。超时阈值可以设置为但不局限于:1秒或2秒。
步骤S14、中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行步骤S12。
在步骤S13判断出读取所述目标数据所用时长超过超时阈值时,由于处于超时状态的数据结点可能长时间无法结束超时状态,因此中断读取所述目标数据的操作,避免长时间等待从超时状态的数据结点中读取数据,而导致的读操作时间延长。
步骤S15、返回读取到的目标数据。
本实施例中,可以返回读取到的目标数据至客户端。
在本申请中,从存储有目标数据的各个数据结点中,选取一个健康数据结点,保证从不存在故障的数据结点开始读取目标数据,降低目标数据读取超时的概率。在此基础上,通过判断读取目标数据所用时长是否超过超时阈值,来判断读操作是否超时,在超过超时阈值时,中断读取目标数据的操作,可以避免长时间等待从处于超时状态的数据结点中读取数据,而导致的读操作时间延长,缩短结点完成读操作所用的时间。将健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个数据结点中,选取一个健康数据结点的步骤,重新读取目标数据,可以避免重新选取结点时,因选取到超时状态未结束的结点而导致的读操作时间延长,进一步缩短结点完成读操作所用的时间。
并且,超时阈值可以设置为较小的数值(如,1秒或2秒),保证数据结点当处于cpu、磁盘IO、网络IO等系统资源被耗尽,影响读或写数据响应的情况下,可以快速判断数据结点是否处于读或写数据响应慢的状态,如果数据结点处于上述状态,则切换至其他数据结点重试,降低从状态异常的数据结点中读或写数据的概率,如一个集群每个数据结点可能有1/100的概率在某个时间点资源异常,那么切换一次结点,再碰到异常结点的可能性就变成1/10000;切换两次,则再碰到异常结点的可能性就变成1/1000000。
在本申请的另一个实施例中,介绍另外一种数据读取过程,请参见图2,可以包括:
步骤S21、确定存储有目标数据的各个数据结点。
步骤S22、调用读操作任务接口函数,将读操作任务提交至读数据线程,并运行所述读数据线程,执行从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤。
所述读数据线程为独立于其他线程的线程。
本实施例中,将读数据线程设置为独立于其他线程,可以简化客户端监控读操作是否超时的过程,保证客户端不需要监控读操作的每个步骤。
本步骤为前述实施例中步骤S12的更为具体的一种实施方式。
从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的详细过程可以参见前述实施例中步骤S12中的相关介绍,在此不再赘述。
步骤S23、判断所述读数据线程返回所述目标数据所用时长是否超过超时阈值。
若是,执行步骤S24;若否,执行步骤S25。
步骤S24、中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行步骤S22。
中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点的过程可以参见前述实施例中步骤S14的相关介绍,在此不再赘述。
步骤S25、返回读取到的目标数据。
本实施例中,可以返回读取到的目标数据至客户端。
在本申请的另一个实施例中,介绍另外一种数据读取过程,请参见图3,可以包括:
步骤S31、确定存储有目标数据的各个数据结点。
步骤S32、从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据。
步骤S33、判断读取所述目标数据所用时长是否超过超时阈值。
若是,执行步骤S34;若否,执行步骤S35。
步骤S31-S33与前述实施例中的步骤S11-S13相同,步骤S31-S33的详细过程可以参见步骤S11-S13的相关介绍,在此不再赘述。
步骤S34、中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,重新确定一个超时阈值,并将重新确定的超时阈值替换所述超时阈值,并返回执行步骤S32。
本实施例中,可以根据业务(如,视频业务)特性,重新确定一个超时阈值,保证读操作超时在业务执行的可接受范围内。
步骤S35、返回读取到的目标数据。
在本申请的另一个实施例中,提供另外一种数据处理方法,在对前述实施例介绍的数据处理方法的基础上,还包括:
调用写操作函数,执行数据写入过程。
本实施例中,客户端可以在接收到写操作请求时,调用写操作函数,执行数据写入过程。
本实施例中,数据写入过程可以参见图4,可以包括:
步骤S41、获取写管道中各个数据结点的写操作确认信息。
写管道,可以理解为:由多个数据结点组成的管道。写管道中各个数据结点依次相连。
客户端向写管道中直接与客户端交互的数据结点写入数据,直接与客户端交互的数据结点向下一个数据结点写入数据,直至完成所有数据结点的数据写入,保证每个数据结点写入的数据相同,并且写管道中的数据结点在写入数据后,会向上一个数据结点返回写操作确认信息。具体写入数据及返回写操作确认信息的流程可以参见图5,图5中的确认消息包可以理解为写操作确认信息。
步骤S42、根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时。
若是,则执行步骤S43。
本实施例中,客户端会将目标数据划分为预设个数的数据包,并将各个数据包依次写入写管道中的数据结点,写管道中的数据结点在写入各个数据包后,分别返回各个数据包的写操作确认信息。
根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时的过程,具体可以包括:
A11、判断各个所述数据结点的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时。
本实施例中,预设个数可以为但不局限于2。
若是,执行步骤A12。
A12、确定写操作确认信息中存在返回顺序相邻的预设个数的写操作确认信息的数据结点的写操作超时。
通过判断各个所述数据结点的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时,可以提高写操作超时判断结果的可靠性。
现以某一个数据结点写入数据及返回写操作确认信息的过程为例,对步骤A11和A12进行说明,例如,客户端向数据结点n写入3个数据包,分别为A、B、C,数据结点n向客户端返回数据包A、B和C的写操作确认信息,分别记为a、b、c,若返回的a和b均超时,则可以确定数据结点n的写操作超时。
步骤S43、选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据。
本实施例中,通过根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时,在数据结点写操作超时的情况下,选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据,避免写管道中因存在写操作超时的数据结点,导致后续数据写入超时,提高使用分布式存储系统的整个集群的写操作性能。
本实施例中的数据读取过程及数据写入过程,可以缩短结点完成读操作所用的时间,且可以提高分布式存储系统的整个集群的写操作性能。
需要说明的是,本实施例介绍的数据写入过程,可以独立于前述实施例介绍的数据读取过程,单独实施。在数据写入过程单独实施的情况下,同样可以避免写管道中因存在写操作超时的数据结点,导致后续数据写入超时,提高使用分布式存储系统的整个集群的写操作性能。
在本申请的另一个实施例中,对上述各个数据结点进行介绍,具体可以包括:
第一数据结点及多个第二数据结点,所述第一数据结点为直接与客户端交互的数据结点,第二数据结点为通过所述第一数据结点与所述客户端交互的数据结点。
按照向写管道中写入数据的顺序,第一数据结点也可以理解为:写管道中的第一个数据结点。在写管道中的数据结点写入数据包之后,返回写操作确认信息的情况下,除了位于写管道末尾的第二数据结点没有下游结点之外,其他数据结点均有下游结点。
本实施例中,具体为具有下游结点的数据结点设置确认信息超时对象,用于监控下游结点返回的写操作确认信息是否超时,若超时,则增加写操作确认信息返回超时状态信息到自己的写操作确认信息中,并一起返回至上游结点。因此,第一数据结点可以接收到各个第二数据结点返回的写操作确认信息返回超时状态信息。
写操作确认信息返回超时状态信息包括:超时或不超时两种状态信息。
具有下游结点的数据结点,监控下游结点返回的写操作确认信息是否超时的详细过程可以参见前述实施例中步骤A11的相关介绍,在此不再赘述。
基于上述内容,介绍另外一种数据写入过程,可以参见6,可以包括:
步骤S61、获取所述第一数据结点依次返回的数据包的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息。
由于第一数据结点为与客户端直接交互的数据结点,因此由客户端直接获取第一数据结点的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息。
步骤S62、判断所述第一数据结点依次返回的数据包的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时。
若是,则执行步骤S63。
本步骤的详细过程可以参见前述实施例中步骤A11的相关介绍,在此不再赘述。
步骤S63、确定所述第一数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第一数据结点。
步骤S64、分别判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息。
若是,则执行步骤S65。
写操作确认信息返回超时信息,表示写操作确认信息返回时超时。
通过判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息,可以提高写操作超时判断结果的可靠性。
步骤S65、确定存在返回顺序相邻的写操作确认信息返回超时状态信息的第二数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第二数据结点,并继续向所述写管道中写入数据。
接下来对本申请提供的数据处理装置进行介绍,下文介绍的数据处理装置与上文介绍的数据处理方法可相互对应参照。
请参见图7,数据处理装置包括:读操作函数调用模块11。
本实施例中,读操作函数调用模块11,用于调用读操作函数,执行数据读取过程,所述数据读取过程,包括:
从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据;
判断读取所述目标数据所用时长是否超过超时阈值;
若是,中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个数据结点中,选取一个健康数据结点的步骤;
若否,返回读取到的目标数据。
本实施例中,所述读操作函数调用模块11,调用读操作函数,执行的数据读取过程中从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据,包括:
调用读操作任务接口函数,将读操作任务提交至读数据线程,并运行所述读数据线程,执行从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤,所述读数据线程为独立于其他线程的线程;
所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中判断读取所述目标数据所用时长是否超过超时阈值,包括:
判断所述读数据线程返回所述目标数据所用时长是否超过超时阈值。
本实施例中,读操作函数调用模块11,调用读操作函数,执行的数据读取过程中将所述健康数据结点标记为坏结点之后,还包括:
重新确定一个超时阈值,并将重新确定的超时阈值替换所述超时阈值,并返回执行从存储有目标数据的各个数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤。
本实施例中,上述数据处理装置还可以包括:
写操作函数调用模块,用于调用写操作函数,执行数据写入过程,所述数据写入过程,包括:
获取写管道中各个数据结点的写操作确认信息;
根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时;
若是,则选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据。
本实施例中,各个数据结点可以包括:第一数据结点及多个第二数据结点,所述第一数据结点为直接与客户端交互的数据结点,第二数据结点为通过所述第一数据结点与所述客户端交互的数据结点。
相应地,所述写操作函数调用模块,调用写操作函数,执行的数据写入过程中获取写管道中各个数据结点的写操作确认信息,可以包括:
获取所述第一数据结点依次返回的数据包的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息。
所述写操作函数调用模块,调用写操作函数,执行的数据写入过程中根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时,可以包括:
判断所述第一数据结点依次返回的数据包的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时;
若是,则确定所述第一数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第一数据结点;
分别判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息;
若是,则确定存在返回顺序相邻的写操作确认信息返回超时信息的第二数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第二数据结点,并继续向所述写管道中写入数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种检索方法、装置及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
调用读操作函数,执行数据读取过程,所述数据读取过程,包括:
确定存储有目标数据的各个数据结点;
从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据;
判断读取所述目标数据所用时长是否超过超时阈值;
若是,中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点的步骤;
若否,返回读取到的目标数据。
2.根据权利要求1所述的方法,其特征在于,所述从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据,包括:
调用读操作任务接口函数,将读操作任务提交至读数据线程,并运行所述读数据线程,执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤,所述读数据线程为独立于其他线程的线程;
所述判断读取所述目标数据所用时长是否超过超时阈值,包括:
判断所述读数据线程返回所述目标数据所用时长是否超过超时阈值。
3.根据权利要求1所述的方法,其特征在于,所述将所述健康数据结点标记为坏结点之后,还包括:
重新确定一个超时阈值,并将重新确定的超时阈值替换所述超时阈值,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
调用写操作函数,执行数据写入过程,所述数据写入过程,包括:
获取写管道中各个数据结点的写操作确认信息;
根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时;
若是,则选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据。
5.根据权利要求4所述的方法,其特征在于,各个数据结点包括:第一数据结点及多个第二数据结点,所述第一数据结点为直接与客户端交互的数据结点,第二数据结点为通过所述第一数据结点与所述客户端交互的数据结点;
所述获取写管道中各个数据结点的写操作确认信息,包括:
获取所述第一数据结点依次返回的数据包的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息;
所述根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时,包括:
判断所述第一数据结点依次返回的数据包的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时;
若是,则确定所述第一数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第一数据结点;
分别判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息;
若是,则确定存在返回顺序相邻的写操作确认信息返回超时信息的第二数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第二数据结点,并继续向所述写管道中写入数据。
6.一种数据处理装置,其特征在于,包括:
读操作函数调用模块,用于调用读操作函数,执行数据读取过程,所述数据读取过程,包括:
确定存储有目标数据的各个数据结点;
从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据;
判断读取所述目标数据所用时长是否超过超时阈值;
若是,中断读取所述目标数据的操作,将所述健康数据结点标记为坏结点,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点的步骤;
若否,返回读取到的目标数据。
7.根据权利要求6所述的装置,其特征在于,所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据,包括:
调用读操作任务接口函数,将读操作任务提交至读数据线程,并运行所述读数据线程,执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤,所述读数据线程为独立于其他线程的线程;
所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中判断读取所述目标数据所用时长是否超过超时阈值,包括:
判断所述读数据线程返回所述目标数据所用时长是否超过超时阈值。
8.根据权利要求6所述的装置,其特征在于,所述读操作函数调用模块,调用读操作函数,执行的数据读取过程中将所述健康数据结点标记为坏结点之后,还包括:
重新确定一个超时阈值,并将重新确定的超时阈值替换所述超时阈值,并返回执行从存储有目标数据的各个所述数据结点中,选取一个健康数据结点,并从所述健康数据结点中读取所述目标数据的步骤。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
写操作函数调用模块,用于调用写操作函数,执行数据写入过程,所述数据写入过程,包括:
获取写管道中各个数据结点的写操作确认信息;
根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时;
若是,则选取一个健康数据结点替换写操作超时的数据结点,并继续向所述写管道中写入数据。
10.根据权利要求9所述的装置,其特征在于,各个数据结点包括:第一数据结点及多个第二数据结点,所述第一数据结点为直接与客户端交互的数据结点,第二数据结点为通过所述第一数据结点与所述客户端交互的数据结点;
所述写操作函数调用模块,调用写操作函数,执行的数据写入过程中获取写管道中各个数据结点的写操作确认信息,包括:
获取所述第一数据结点依次返回的数据包的写操作确认信息及各个所述第二数据结点的写操作确认信息返回超时状态信息;
所述写操作函数调用模块,调用写操作函数,执行的数据写入过程中根据各个所述数据结点的写操作确认信息,分别判断各个所述数据结点是否写操作超时,包括:
判断所述第一数据结点依次返回的数据包的写操作确认信息中,返回顺序相邻的预设个数的写操作确认信息是否均超时;
若是,则确定所述第一数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第一数据结点;
分别判断各个所述第二数据结点的写操作确认信息返回超时状态信息中是否存在返回顺序相邻的写操作确认信息返回超时信息;
若是,则确定存在返回顺序相邻的写操作确认信息返回超时信息的第二数据结点的写操作超时,并选取一个健康数据结点替换写操作超时的第二数据结点,并继续向所述写管道中写入数据。
CN201811156507.0A 2018-09-28 2018-09-28 一种数据处理方法及装置 Pending CN109407981A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811156507.0A CN109407981A (zh) 2018-09-28 2018-09-28 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811156507.0A CN109407981A (zh) 2018-09-28 2018-09-28 一种数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN109407981A true CN109407981A (zh) 2019-03-01

Family

ID=65466756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811156507.0A Pending CN109407981A (zh) 2018-09-28 2018-09-28 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN109407981A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928827A (zh) * 2019-11-29 2020-03-27 苏州浪潮智能科技有限公司 一种访问PCIe设备的优化的方法和设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567237A (zh) * 2003-06-09 2005-01-19 浪潮电子信息产业股份有限公司 构建高可用分布式存储系统的方法
CN105468302A (zh) * 2015-11-23 2016-04-06 华为技术有限公司 一种处理数据的方法、装置及系统
CN105760556A (zh) * 2016-04-19 2016-07-13 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法
CN106293492A (zh) * 2015-05-14 2017-01-04 中兴通讯股份有限公司 一种存储管理方法及分布式文件系统
US9607001B2 (en) * 2012-07-13 2017-03-28 Facebook, Inc. Automated failover of a metadata node in a distributed file system
CN106598488A (zh) * 2016-11-24 2017-04-26 北京小米移动软件有限公司 分布式数据读取方法及装置
CN106856489A (zh) * 2015-12-08 2017-06-16 阿里巴巴集团控股有限公司 一种分布式存储系统的服务节点切换方法和装置
CN107491455A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式系统中的读取方法及装置
CN107665258A (zh) * 2017-10-20 2018-02-06 北京小米移动软件有限公司 文件系统可用性确定方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567237A (zh) * 2003-06-09 2005-01-19 浪潮电子信息产业股份有限公司 构建高可用分布式存储系统的方法
US9607001B2 (en) * 2012-07-13 2017-03-28 Facebook, Inc. Automated failover of a metadata node in a distributed file system
CN106293492A (zh) * 2015-05-14 2017-01-04 中兴通讯股份有限公司 一种存储管理方法及分布式文件系统
CN105468302A (zh) * 2015-11-23 2016-04-06 华为技术有限公司 一种处理数据的方法、装置及系统
CN106856489A (zh) * 2015-12-08 2017-06-16 阿里巴巴集团控股有限公司 一种分布式存储系统的服务节点切换方法和装置
CN105760556A (zh) * 2016-04-19 2016-07-13 江苏物联网研究发展中心 低延时高吞吐量的多副本文件读写优化方法
CN107491455A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式系统中的读取方法及装置
CN106598488A (zh) * 2016-11-24 2017-04-26 北京小米移动软件有限公司 分布式数据读取方法及装置
CN107665258A (zh) * 2017-10-20 2018-02-06 北京小米移动软件有限公司 文件系统可用性确定方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928827A (zh) * 2019-11-29 2020-03-27 苏州浪潮智能科技有限公司 一种访问PCIe设备的优化的方法和设备
CN110928827B (zh) * 2019-11-29 2021-06-22 苏州浪潮智能科技有限公司 一种访问PCIe设备的优化的方法和设备

Similar Documents

Publication Publication Date Title
KR100575497B1 (ko) 내고장성 컴퓨터 시스템
US8245083B2 (en) Systems, methods, and apparatus to debug a network application
JP5027301B2 (ja) 計算機システムにおける情報収集方法、その方法を用いる管理計算機、及び計算機システム
CN105187249B (zh) 一种故障恢复方法及装置
US5805785A (en) Method for monitoring and recovery of subsystems in a distributed/clustered system
US9389936B2 (en) Monitoring the responsiveness of a user interface
US7613597B2 (en) Non-intrusive method for simulation or replay of external events related to an application process, and a system implementing said method
US9495233B2 (en) Error framework for a microprocesor and system
US8090974B1 (en) State machine controlled dynamic distributed computing
CN104486100B (zh) 故障处理装置及方法
US7568131B2 (en) Non-intrusive method for logging external events related to an application process, and a system implementing said method
US20070168201A1 (en) Formula for automatic prioritization of the business impact based on a failure on a service in a loosely coupled application
US5682470A (en) Method and system for achieving collective consistency in detecting failures in a distributed computing system
US20110179307A1 (en) Failover method and system for a computer system having clustering configuration
CN109710456A (zh) 一种数据恢复方法及装置
CN108958991A (zh) 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN108415765B (zh) 任务调度方法、装置及智能终端
CN103631695A (zh) 时间监测方法及装置
Ghanbari et al. Stage-aware anomaly detection through tracking log points
US3909795A (en) Program timing circuitry for central data processor of digital communications system
CN109407981A (zh) 一种数据处理方法及装置
WO2011144386A1 (en) Transaction processing system
CN116483543A (zh) 一种任务处理方法、装置、设备及存储介质
CN110457133A (zh) 一种操作系统资源异常的处理方法及系统
CN109324925A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190301

RJ01 Rejection of invention patent application after publication