[发明专利]一种数据恢复方法、装置、设备及可读存储介质在审
申请号: | 202110989253.6 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113676398A | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 姚楚宏 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | H04L12/64 | 分类号: | H04L12/64 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 陈彦如 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 恢复 方法 装置 设备 可读 存储 介质 | ||
本申请公开了一种数据恢复方法、装置、设备及可读存储介质。本申请中的数据生产方在接收到待传输数据时,先检测数据交互队列的状态,若数据交互队列处于去使能状态,则表明数据交互队列异常,也就是队列中的数据已不能被正常处理,为避免出现丢包问题,本申请使数据生产方回收数据交互队列中未被数据消费方处理的数据以及待传输数据,从而可避免数据丢失。相应地,本申请提供的一种数据恢复装置、设备及可读存储介质,也同样具有上述技术效果。
技术领域
本申请涉及计算机技术领域,特别涉及一种数据恢复方法、装置、设备及可读存储介质。
背景技术
目前,在使用FIFO(First Input First Output,先入先出队列)跨进程传输数据时,若消费方突发异常,会导致丢包问题。例如:运行于防火墙等安全设备的数据转发进程和安全检测进程,若安全检测进程重启或异常退出,会导致部分正在被检测的数据丢失,导致客户网络中断。
因此,如何解决因消费方异常而导致的丢包问题,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据恢复方法、装置、设备及可读存储介质,以解决因消费方异常而导致的丢包问题。其具体方案如下:
第一方面,本申请提供了一种数据恢复方法,应用于数据生产方,包括:
若接收到待传输数据,则检测数据交互队列的状态;
若所述状态为去使能状态,则回收所述数据交互队列中未被数据消费方处理的数据,以及所述待传输数据。
优选地,所述回收所述数据交互队列中未被数据消费方处理的数据,包括:
从所述数据交互队列中获取读指针和已处理指针;
根据所述读指针和所述已处理指针之间的偏移确定并回收所述数据交互队列中未被数据消费方处理的数据。
优选地,所述数据交互队列的生成过程包括:
若所述数据交互队列仅对应一个数据生产方和一个数据消费方,则创建供所述数据交互队列对应的数据生产方和数据消费方共享的共享内存;
在所述共享内存中创建并初始化FIFO队列,以使FIFO队列中的三个指针初始化为默认值,得到所述数据交互队列。
优选地,还包括:
若所述状态为使能状态,则写入所述待传输数据至所述数据交互队列,并控制第一指针递增一,以使所述数据消费方在确定所述第一指针与第二指针不等的情况下,在所述数据交互队列中处理所述待传输数据得到处理结果,并控制所述第二指针递增一;
在确定所述第二指针与第三指针不等的情况下,从所述数据交互队列中获取所述处理结果,并控制所述第三指针递增一。
优选地,还包括:
利用bypass技术处理回收得到的数据。
第二方面,本申请提供了一种数据恢复方法,应用于数据消费方,包括:
若数据消费方发生异常,则控制自身对应的数据交互队列处于去使能状态,以使所述数据交互队列对应的数据生产方在检测到所述去使能状态的情况下,回收所述数据交互队列中未被所述数据消费方处理的数据。
优选地,利用注册信号函数或atexit函数检测数据消费方是否异常。
第三方面,本申请提供了一种数据恢复装置,应用于数据生产方,包括:
检测模块,用于若接收到待传输数据,则检测数据交互队列的状态;
回收模块,用于若所述状态为去使能状态,则回收所述数据交互队列中未被数据消费方处理的数据,以及所述待传输数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110989253.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置