利索能及
我要发布
收藏
专利号: 2020800009654
申请人: 商汤国际私人有限公司
专利类型:其他
专利状态:已下证
更新日期:2025-11-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据处理方法,包括:

将当前接收到的消息写入本地磁盘的第一区域;

在将所述当前接收到的消息写入到所述本地磁盘的所述第一区域时,将所述当前接收到的消息缓冲到内存中;

在包含所述本地磁盘和所述内存的设备重启后,根据所述本地磁盘的所述第一区域中存储的数据恢复所述内存中的数据;

所述方法还包括:

在满足预设条件时,将所述内存中的所有数据保存到所述本地磁盘的第二区域,并清空所述内存;

其中,将所述内存中的所有数据保存到所述本地磁盘的所述第二区域,包括:压缩所述内存中的所有所述数据;

将所述压缩后的数据保存到所述本地磁盘的所述第二区域。

2.根据权利要求1所述的方法,其中,将所述当前接收到的消息写入所述本地磁盘的所述第一区域,包括:将所述当前接收到的消息写入预写式日志WAL日志。

3.根据权利要求1或2所述的方法,还包括:从所述内存中读取编号为k+1的消息的数据,其中,k为最后一次成功发送至云端设备的消息的编号,一条消息的编号根据接收到该条消息的顺序确定,k为正整数;

将所述读取到的数据发送至所述云端设备。

4.根据权利要求1所述的方法,其中,所述预设条件包括以下至少一项:所述内存的占用空间达到所述内存空间的设定值;

当前时间与上一次清空所述内存的时间之间的时间间隔达到预设的时间阈值。

5.根据权利要求1所述的方法,还包括:对于每次清空所述内存,

将清空所述内存之后接收到的消息写入所述本地磁盘的所述第一区域,以覆盖在清空所述内存之前在所述本地磁盘的所述第一区域中存储的数据;

在将清空所述内存之后接收到的所述消息写入所述本地磁盘的所述第一区域时,将清空所述内存之后接收到的所述消息缓冲到所述内存中。

6.根据权利要求5所述的方法,其中,在将所述内存中的所有数据保存到所述本地磁盘的所述第二区域并清空所述内存之后,所述方法还包括:在所述内存中存储编号为m+1的消息的情况下,从所述内存中读取所述编号为m+1的消息的数据,其中,m为最后一次成功发送至云端设备的消息的编号,一条消息的编号根据接收到该条消息的顺序确定,m为正整数;

将所述读取到的数据发送至所述云端设备。

7.根据权利要求6所述的方法,还包括:在所述内存中未存储所述编号为m+1的消息的情况下,从所述本地磁盘的所述第二区域中读取所述编号为m+1的消息的数据;

将所述读取到的数据发送至所述云端设备。

8.一种数据处理装置,包括:

第一写入模块,用于将当前接收到的消息写入本地磁盘的第一区域;

第一缓冲模块,用于在将所述当前接收到的消息写入到所述本地磁盘的所述第一区域时,将所述当前接收到的消息缓冲到内存中;

数据恢复模块,用于在包含所述本地磁盘和所述内存的设备重启后,根据所述本地磁盘的所述第一区域中存储的数据恢复所述内存中的数据;

所述装置还包括:

保存模块,用于在满足预设条件时,将所述内存中的所有数据保存到所述本地磁盘的第二区域,并清空所述内存;

其中,所述保存模块还用于:

压缩所述内存中的所有所述数据;

将所述压缩后的数据保存到所述本地磁盘的所述第二区域。

9.根据权利要求8所述的装置,其中,所述第一写入模块用于:将所述当前接收到的消息写入WAL日志。

10.根据权利要求8或9所述的装置,还包括:第一读取模块,用于从所述内存中读取编号为k+1的消息的数据,其中,k为最后一次成功发送至云端设备的消息的编号,一条消息的编号根据接收到该条消息的顺序确定,k为正整数;

第一发送模块,用于将所述读取到的数据发送至所述云端设备。

11.根据权利要求8所述的装置,其中,所述预设条件包括以下至少一项:所述内存的占用空间达到所述内存空间的设定值;

当前时间与上一次清空所述内存的时间之间的时间间隔达到预设的时间阈值。

12.根据权利要求8所述的装置,还包括:对于每次清空所述内存,

第二写入模块,用于将清空所述内存之后接收到的消息写入所述本地磁盘的所述第一区域,以覆盖在清空所述内存之前在所述本地磁盘的所述第一区域中存储的数据;

第二缓冲模块,用于在将清空所述内存之后接收到的所述消息写入所述本地磁盘的所述第一区域时,将清空所述内存之后接收到的所述消息缓冲到所述内存中。

13.根据权利要求12所述的装置,还包括:第二读取模块,用于在所述内存中存储编号为m+1的消息的情况下,从所述内存中读取所述编号为m+1的消息的数据,其中,m为最后一次成功发送至云端设备的消息的编号,一条消息的编号根据接收到该条消息的顺序确定,m为正整数;

第二发送模块,用于将所述读取到的数据发送至所述云端设备。

14.根据权利要求13所述的装置,还包括:第三读取模块,用于在所述内存中未存储所述编号为m+1的消息的情况下,从所述本地磁盘的所述第二区域中读取所述编号为m+1的消息的数据;

第三发送模块,用于将所述读取到的数据发送至所述云端设备。

15.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,促使所述处理器实现权利要求1至7任一项所述的数据处理方法。

16.一种边端设备,包括:

处理器;

存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器用于执行所述程序以实现权利要求1至7任一项所述的数据处理方法。