1.一种数据处理方法,其特征在于,应用于集群中的主节点,包括:获取集群中各个节点上报的对象状态信息,所述对象状态信息包括:节点状态信息和所属节点上每个块设备的状态信息;
根据各个节点上报的对象状态信息,确定出状态异常的目标节点以及所述目标节点上的离线对象,所述离线对象至少包括如下一种:离线节点、在线节点上的离线块设备;
将所述目标节点上离线对象的离线信息添加至所述目标节点的状态变迁表中,所述状态变迁表用于记录离线对象的标识、离线对象的离线时间点、是否针对每个离线对象生成副本任务;
若所述目标节点上离线对象的离线时长大于离线阈值,则生成针对所述目标节点的副本补齐任务;
所述方法还包括:
将所述目标节点的副本补齐任务添加至集群副本补齐任务表中,并更新所述目标节点的状态变迁表;
通过周期性扫描所述集群副本补齐任务表,确定所述目标节点上离线对象的状态信息是否发生变化;
在确定所述目标节点上离线对象的状态信息未发生变化时,向所述集群中的所有在线节点下发所述副本补齐任务。
2.根据权利要求1所述的方法,其特征在于,在所述向所述集群中的所有在线节点下发所述副本补齐任务之后,所述方法还包括:确定所述副本补齐任务是否成功下发至所述集群中的所有在线节点;
在所述副本补齐任务成功下发至所述集群中的所有在线节点时,将所述副本补齐任务的状态设置为已下发;
在所述副本补齐任务成功下发至所述集群中的部分在线节点时,将所述副本补齐任务的状态设置为下发中;
在所述副本补齐任务未成功下发至所述集群中的任意一个在线节点时,将所述副本补齐任务的状态设置为未下发。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:通过周期性扫描所述目标节点的状态变迁表,检测所述目标节点上的离线对象是否再次上线;
在确定所述目标节点上的离线对象再次上线时,根据所述目标节点对应状态变迁表中的信息,确定所述目标节点是否已生成副本补齐任务;
在确定所述目标节点已生成副本补齐任务时,确定所述副本补齐任务的下发状态;
在所述副本补齐任务的下发状态为已下发时,生成针对所述目标节点的副本清理任务;
在所述副本补齐任务的下发状态为下发中时,停止所述副本补齐任务的下发,生成针对所述目标节点的副本清理任务,删除所述目标节点生成的所述副本补齐任务以及删除所述目标节点对应状态变迁表中的所述离线对象的离线信息;
在所述副本补齐任务的下发状态为未下发时,删除所述目标节点生成的所述副本补齐任务并删除所述目标节点对应状态变迁表中的所述离线对象的离线信息;
在确定所述目标节点未生成副本补齐任务时,删除所述目标节点对应状态变迁表中的所述离线对象的离线信息。
4.根据权利要求3所述的方法,其特征在于,在所述生成针对所述目标节点的副本清理任务之后,所述方法还包括:向所述目标节点下发所述副本清理任务;
在确定所述副本清理任务下发成功时,删除所述目标节点对应状态变迁表中所述离线对象的离线信息。
5.一种数据处理方法,其特征在于,包括:
接收主节点下发的副本补齐任务,所述副本补齐任务携带任务状态、离线对象的标识;
通过扫描当前节点的块表,确定所述块表中是否存在对象标识与所述副本补齐任务中离线对象的标识一致;
在确定所述块表中存在对象标识与所述副本补齐任务中离线对象的标识一致时,生成针对所述副本补齐任务的数据块复制任务,所述数据块复制任务携带源数据块的标识;
执行所述数据块复制任务。
6.根据权利要求5所述的方法,其特征在于,在所述通过扫描当前节点的块表,确定所述块表中是否存在对象标识与所述副本补齐任务中离线对象的标识一致之前,所述方法还包括:将所述副本补齐任务存储至所述当前节点的副本补齐任务表中;
根据所述副本补齐任务表中每条副本补齐任务的任务状态,确定所述副本补齐任务表中每条副本补齐任务的执行顺序。
7.根据权利要求5所述的方法,其特征在于,在所述接收主节点下发的副本补齐任务之后,所述方法还包括:周期性检测所述副本补齐任务对应的离线对象是否再次上线;
若确定所述副本补齐任务对应的离线对象再次上线,则停止所述副本补齐任务的执行,并将所述副本补齐任务的任务状态变更为已终止。
8.根据权利要求5‑7任一项所述的方法,其特征在于,所述执行所述数据块复制任务,包括:根据所述当前节点所属的虚拟组,确定所述数据块复制任务的目的节点,所述虚拟组是存储副本数据的主节点和备节点的组合;
利用所述当前节点中的数据服务实例,将所述源数据块中的副本数据复制到所述目的节点中。
9.根据权利要求5‑7任一项所述的方法,其特征在于,所述方法还包括:接收所述主节点下发的副本清理任务,所述副本清理任务携带待清理数据块的标识;
根据所述待清理数据块标识和所述当前节点的块表,确定出所述待清理数据块的配对块信息,所述配对块信息包括:本地数据块的标识和配对节点上的对端数据块的标识;
根据所述配对块信息,通过与所述配对节点进行交互,确定所述本地数据块是否为所述对端数据块的当前配对块;
在确定所述本地数据块不是所述对端数据块的当前配对块时,确定所述本地数据块为所述待清理数据块;
将所述本地数据块的状态设置为待删除,并向所述当前节点的异常块表中添加一条待删除记录。
10.根据权利要求9所述的方法,其特征在于,在所述将所述本地数据块的状态设置为待删除,并向所述当前节点的异常块表中添加一条待删除记录之后,所述方法还包括:通过定时扫描所述异常块表,确定所述异常块表中存在的待删除记录;
确定所述待删除记录中的数据块是否为冗余块;
在确定所述待删除记录中的数据块为冗余块时,从所述当前节点的块表中清除所述冗余块的索引信息,并删除所述当前节点上所述冗余块中数据。
11.根据权利要求5‑7任一项所述的方法,其特征在于,所述方法还包括:根据所述当前节点中的块表,周期性检测所述当前节点中已使用的数据块是否为异常块;
对于所述当前节点中的异常块,查询所述当前节点的块表,确定所述异常块的对端块;
通过与所述对端块所在的节点进行交互,确定所述对端块的匹配块是否为所述异常块;
在所述对端块的匹配块不是所述异常块时,确定所述异常块已无效并删除所述异常块;
在所述对端块的匹配块是所述异常块时,通过与所述对端块的所在的节点进行交互,将所述对端块中的数据复制到当前节点中的一个新数据块中;
更新所述当前节点中块表的索引信息,并向所述对端块的所在的节点发送索引更新请求,所述索引更新请求用于指示所述对端块所在的节点更新块表中的索引信息。
12.根据权利要求11所述的方法,其特征在于,所述根据所述当前节点中的块表,周期性检测所述当前节点中已使用的数据块是否为异常块,包括:对于每个已使用的数据块,获取所述数据块中的主信息区数据;
对所述主信息区数据进行循环冗余校验,得到第一循环冗余校验值;
在所述第一循环冗余校验值与所述数据块中记录的第二循环冗余校验值不一致时,确定所述数据块为异常块;
在所述第一循环冗余校验值与所述数据块中记录的第二循环冗余校验值一致时,根据所述数据块中数据区的存储数据和每条数据的循环冗余校验值,确定所述数据块是否为异常块。
13.根据权利要求12所述的方法,其特征在于,所述根据所述数据块中数据区的存储数据和每条数据的循环冗余校验值,确定所述数据块是否为异常块,包括:对于按照先后顺序从所述数据块的数据区中读取的每条数据,基于预设规则对所述数据进行循环冗余校验,得到第三循环冗余校验值;
在所述第三循环冗余校验值与所述数据区中记录的所述数据的循环冗余校验值不一致时,确定所述数据块为异常块;
在所述第三循环冗余校验值与所述数据区中记录的所述数据的循环冗余校验值一致时,依次对剩余的数据进行校验,直到确定所述数据块为异常块,或者所述数据区的所有数据均通过校验。
14.一种数据处理装置,其特征在于,所述数据处理装置应用于集群中的主节点,包括:获取模块,用于获取集群中各个节点上报的对象状态信息,所述对象状态信息包括:节点状态信息和所属节点上每个块设备的状态信息;
处理模块,用于根据各个节点上报的对象状态信息,确定出状态异常的目标节点以及所述目标节点上的离线对象,以及将所述目标节点上离线对象的离线信息添加至所述目标节点的状态变迁表中,所述离线对象至少包括如下一种:离线节点、在线节点上的离线块设备,所述状态变迁表用于记录离线对象的标识、离线对象的离线时间点、是否针对每个离线对象生成副本任务;
生成模块,用于在所述目标节点上离线对象的离线时长大于离线阈值时,生成针对所述目标节点的副本补齐任务;
所述处理模块,还用于:
将所述目标节点的副本补齐任务添加至集群副本补齐任务表中,并更新所述目标节点的状态变迁表;
通过周期性扫描所述集群副本补齐任务表,确定所述目标节点上离线对象的状态信息是否发生变化;
所述装置还包括:发送模块;
所述发送模块,用于在确定所述目标节点上离线对象的状态信息未发生变化时,向所述集群中的所有在线节点下发所述副本补齐任务。
15.一种数据处理装置,其特征在于,包括:
接收模块,用于接收主节点下发的副本补齐任务,所述副本补齐任务携带任务状态、离线对象的标识;
判断模块,用于通过扫描当前节点的块表,确定所述块表中是否存在对象标识与所述副本补齐任务中离线对象的标识一致;
处理模块,用于在确定所述块表中存在对象标识与所述副本补齐任务中离线对象的标识一致时,生成针对所述副本补齐任务的数据块复制任务,所述数据块复制任务携带源数据块的标识,并执行所述数据块复制任务。
16.一种计算机设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,其特征在于,所述处理器执行所述计算机程序指令时实现如上述权利要求1‑4任一项所述的方法;或者所述处理器执行所述计算机程序指令时实现如上述权利要求5‑13任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述权利要求1‑4任一项所述的方法;或者所述计算机执行指令被处理器执行时用于实现如上述权利要求5‑13任一项所述的方法。