利索能及
我要发布
收藏
专利号: 201811427828X
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种同步缓存数据的方法,其特征在于,所述方法包括:第一设备接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;

所述第一设备确定所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;

所述第一设备根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;

所述第一设备向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。

2.根据权利要求1所述的方法,其特征在于,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;

所述第一设备确定所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔,包括:所述第一设备将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。

3.根据权利要求1所述的方法,其特征在于,所述第一设备根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,包括:

如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则所述第一设备根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;

所述第一设备根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则所述第一设备向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。

5.根据权利要求3所述的方法,其特征在于,所述第一设备根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长,包括:所述第一设备根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;

所述第一设备根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。

6.根据权利要求3至5任一所述的方法,其特征在于,所述第一设备根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称,包括:对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则所述第一设备确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则所述第一设备确定所述分片对应的最长同步时长和最多同步记录数目;

如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待清空的分片的名称;

如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为无需更新的分片的名称;

如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待更新的分片的名称;

如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则所述第一设备确定所述分片的名称为待更新的分片的名称。

7.根据权利要求6所述的方法,其特征在于,所述第一设备确定所述分片对应的最长同步时长和最多同步记录数目,包括:所述第一设备根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;

所述第一设备根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。

8.根据权利要求6所述的方法,其特征在于,所述方法还包括:所述第一设备从预设的缓存区域获取所述分片的同步记录数目。

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:所述第一设备接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;

所述第一设备根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。

10.根据权利要求1所述的方法,其特征在于,所述第一设备接收第二设备发送的数据同步请求,包括:

在所述第一设备与所述第二设备之间的连接为短连接时,所述第一设备接收所述第二设备每隔预设周期发送的数据同步请求。

11.根据权利要求10所述的方法,其特征在于,所述方法还包括:所述第一设备在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。

12.一种同步缓存数据的方法,其特征在于,所述方法包括:第二设备向第一设备发送数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;

所述第二设备接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;

所述第二设备对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。

13.根据权利要求12所述的方法,其特征在于,所述第二设备向第一设备发送数据同步请求,包括:

在第二设备与第一设备的连接为短连接时,每隔预设周期,所述第二设备向第一设备发送数据同步请求。

14.根据权利要求13所述的方法,其特征在于,所述方法还包括:在所述第二设备与所述第一设备的连接为长连接时,所述第二设备接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;

如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。

15.根据权利要求12至14任一所述的方法,其特征在于,所述方法还包括:所述第二设备当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;所述第二设备当接收到服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中,并反馈所述数据查询请求对应的数据;

如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。

16.一种同步缓存数据的设备,其特征在于,所述设备包括:接收模块,用于接收第二设备发送的数据同步请求,其中,所述数据同步请求中携带有所述第二设备缓存的分片的名称;

确定模块,用于确定第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔;根据所述时间间隔、所述第二设备缓存的分片的名称和所述第二设备对应的预设缓存清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称;

发送模块,用于向所述第二设备发送所述待清空的分片的名称、所述无需更新的分片的名称和所述待更新的分片的名称以及各待更新的分片中待更新的数据。

17.根据权利要求16所述的设备,其特征在于,所述数据同步请求中还携带有所述第一设备上次接收到所述第二设备发送的数据同步请求的时间戳;

所述确定模块,用于:

将所述第一设备本次接收到所述数据同步请求的时间戳与所述数据同步请求中携带的时间戳取差值,得到所述第一设备本次接收所述数据同步请求和上次接收所述第二设备发送的数据同步请求的时间间隔。

18.根据权利要求16所述的设备,其特征在于,所述确定模块,用于:如果所述时间间隔小于所述第二设备对应的预设缓存清空时长,则根据所述第二设备缓存的各分片的名称,确定所述各分片分别对应的预设分片清空时长;

根据所述时间间隔和所述各分片分别对应的预设分片清空时长,在所述第二设备缓存的分片的名称中,确定待清空的分片的名称、待更新的分片的名称和无需更新的分片的名称。

19.根据权利要求18所述的设备,其特征在于,所述发送模块,还用于:如果所述时间间隔大于或等于所述第二设备对应的预设缓存清空时长,则向所述第二设备发送缓存清空通知,以使所述第二设备对当前存储的分片中的数据进行清空处理。

20.根据权利要求18所述的设备,其特征在于,所述确定模块,用于:根据预先存储的分片的名称与分片类型的对应关系,确定所述第二设备缓存的各分片的名称所属的分片类型;

根据预先存储的分片类型与预设分片清空时长的对应关系,确定所述各分片的名称所属的分片类型所对应的预设分片清空时长。

21.根据权利要求18至20任一所述的设备,其特征在于,所述确定模块,用于:对于所述第二设备缓存的每个分片,如果所述时间间隔大于或等于所述分片的预设分片清空时长,则确定所述分片的名称为待清空的分片的名称,如果所述时间间隔小于所述分片的预设分片清空时长,则确定所述分片对应的最长同步时长和最多同步记录数目;

如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待清空的分片的名称;

如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为无需更新的分片的名称;

如果所述时间间隔大于或等于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目小于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称;

如果所述时间间隔小于所述分片对应的最长同步时长,且在所述时间间隔内,所述第一设备上所述分片的同步记录数目大于或等于所述分片对应的最多同步记录数目,则确定所述分片的名称为待更新的分片的名称。

22.根据权利要求21所述的设备,其特征在于,所述确定模块,用于:根据预先存储的分片的名称与分片类型的对应关系,确定所述分片所属的分片类型;

根据预先存储的分片类型与最长同步时长、最多同步记录数目的对应关系,确定所述分片所属的分片类型对应的最长同步时长和最多同步记录数目。

23.根据权利要求21所述的设备,其特征在于,所述确定模块,还用于:从预设的缓存区域获取所述分片的同步记录数目。

24.根据权利要求23所述的设备,其特征在于,所述接收模块,还用于:接收数据修改请求,其中,所述数据修改请求中携带有修改后的数据、修改前的数据的标识和所述修改后的数据所属的分片的名称;

所述设备还包括:

同步模块,用于根据所述数据修改请求,在数据库中,将所述修改前的数据的标识对应的数据修改为修改后的数据,并且在所述预设的缓存区域,记录所述修改后的数据所属的分片的名称、所述修改后的数据所属的分片的名称对应的分片类型、存储所述修改后的数据的时间戳和所述修改后的数据的对应关系。

25.根据权利要求16所述的设备,其特征在于,所述接收模块,用于:在所述第一设备与所述第二设备之间的连接为短连接时,接收所述第二设备每隔预设周期发送的数据同步请求。

26.根据权利要求25所述的设备,其特征在于,所述发送模块,还用于:在所述第一设备与所述第二设备之间的连接为长连接时,每当检测到目标数据修改时,如果所述目标数据所属的分片为所述第二设备的分片,则向所述第二设备发送数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称。

27.一种同步缓存数据的设备,其特征在于,所述设备包括:发送模块,用于向第一设备发送数据同步请求,其中,所述数据同步请求中携带有第二设备缓存的分片的名称;

接收模块,用于接收所述第一设备发送的待清空的分片的名称、无需更新的分片的名称和待更新的分片的名称以及各待更新的分片中待更新的数据;

同步模块,用于对所述待清空的分片的名称对应的每个分片进行清空处理,并且将所述待更新的分片的名称对应的每个分片中的待更新的数据进行更新。

28.根据权利要求27所述的设备,其特征在于,所述发送模块,用于:在第二设备与第一设备的连接为短连接时,每隔预设周期,向第一设备发送数据同步请求。

29.根据权利要求28所述的设备,其特征在于,所述接收模块,还用于:在所述第二设备与所述第一设备的连接为长连接时,接收所述第一设备发送的数据同步通知,其中,所述数据同步通知中携带有修改后的目标数据、以及所述修改后的目标数据所属的分片的名称;

所述同步模块,还用于:

如果所述第二设备中所述修改后的目标数据所属的分片中缓存有所述目标数据,则将所述目标数据修改为所述修改后的目标数据,如果所述第二设备中所述修改后的目标数据所属的分片中未缓存有所述目标数据,则删除所述修改后的目标数据。

30.根据权利要求27至29任一所述的设备,其特征在于,所述发送模块,还用于:当接收到数据查询请求时,如果所述数据查询请求对应的数据不属于所述第二设备当前缓存的分片,则创建新分片,并向所述第一设备发送创建新分片的消息;

所述同步模块,还用于:当接收到所述服务器基于所述数据查询请求获取到相应数据时,将所述相应数据存储在所述新分片中;

所述发送模块,还用于反馈所述数据查询请求对应的数据;

所述发送模块,还用于如果所述数据查询请求对应的数据所属的分片为所述第二设备当前缓存的目标分片,则基于所述目标分片中所述数据查询请求对应的数据进行反馈。

31.一种同步缓存数据的系统,其特征在于,所述系统包括第一设备和第二设备,其中:所述第一设备,如所述权利要求16‑26中任一权利要求所述的同步缓存数据的设备;

所述第二设备,如所述权利要求27‑30中任一权利要求所述的同步缓存数据的设备。

32.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑15任一所述的方法步骤。

33.一种同步缓存数据的设备,其特征在于,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现权利要求1‑

15任一所述的方法步骤。