会话恢复方法、设备以及计算机存储介质与流程

摘要: 本申请涉及物联网,特别是涉及一种会话恢复方法、设备以及计算机存储介质。背景技术:1、在物联网多智能体终端协同通信场景中,行业构建了acp(agentcommun...
会话恢复方法、设备以及计算机存储介质与流程

本申请涉及物联网,特别是涉及一种会话恢复方法、设备以及计算机存储介质。

背景技术:

1、在物联网多智能体终端协同通信场景中,行业构建了acp(agent communicationprotocol,智能体通信协议)会话机制,acp会话机制是物联网智能终端之间建立的持续性双向专属通信会话通道。

2、受无线网络信号抖动等多种因素影响,已建立的acp会话极易出现异常断线、链路中断问题,现有技术在监测到acp会话的通信链路断开后,待通信链路恢复连接后,接续补发断线前缓存的未发送消息报文与业务指令,极易造成消息丢失,无法保证会话中的事件连续性与完整性,极易出现业务事件断层、交互逻辑错乱等问题。

技术实现思路

1、为解决上述技术问题,本申请提出了一种会话恢复方法、设备以及计算机存储介质。

2、为解决上述技术问题,本申请提出了一种会话恢复方法,所述会话恢复方法包括:响应于通信本地端与通信对端之间的通信链路异常,将待恢复消息添加至所述通信本地端的缓冲队列,所述缓冲队列用于存放所述通信本地端未成功发送给所述通信对端的消息;响应于所述通信链路恢复,基于所述通信本地端的会话元数据和所述通信对端的会话元数据,对所述缓冲队列中的消息进行筛选,得到重放消息队列,其中,所述重放消息队列中的消息的发送顺序不早于最近连续消息的发送顺序,所述最近连续消息为所述通信对端已确认接收的多条连续的消息中的最后一条消息;向所述通信对端发送所述重放消息队列中的消息,以恢复所述通信本地端与所述通信对端之间的会话。

3、其中,所述会话元数据包括会话标识、会话快照标识;基于所述通信本地端的会话元数据和所述通信对端的会话元数据,对所述缓冲队列中的消息进行筛选,得到重放消息队列,包括:响应于所述通信本地端的会话标识与所述通信对端的会话标识匹配,且所述通信本地端的会话快照标识与所述通信对端的会话快照标识匹配,基于所述通信对端中已确认接收的所述最近连续消息确定重放起点,并基于所述通信本地端中未确认被接收的最近消息确定重放终点;基于所述重放起点和所述重放终点对所述缓冲队列中的消息进行筛选,得到所述重放消息队列。

4、其中,基于所述重放起点和所述重放终点对所述缓冲队列中的消息进行筛选,包括:筛选出所述缓冲队列中落入所述重放起点和所述重放终点之间的消息,得到初始消息队列;基于所述重放消息队列的预设最大消息数量与所述初始消息队列中各消息的优先等级,对初始消息队列中的消息进行筛选,得到所述重放消息队列。

5、其中,所述向所述通信对端发送所述重放消息队列中的消息,包括:基于优先等级将所述重放消息队列划分为多个消息子队列,其中,每一所述消息子队列中的消息的优先等级相同,且按序列号的升序进行排列;按优先等级从高至低的顺序遍历全部所述消息子队列,每遍历到一所述消息子队列,按照序列号升序发送当前遍历到的所述消息子队列中的消息。

6、其中,所述会话恢复方法还包括:响应于所述通信链路恢复,接收所述通信对端发送的恢复消息;对所述恢复消息进行业务去重校验,并基于校验结果判断是否对所述恢复消息进行业务处理。

7、其中,对所述恢复消息进行业务去重校验,并基于校验结果判断是否对所述恢复消息进行业务处理,包括:比较所述恢复消息的当前序列号与期望序列号;在所述当前序列号大于所述期望序列号时,确定所述恢复消息为超前到达消息,将所述恢复消息缓存至待处理消息集中,直到接收到所述期望序列号与所述当前序列号之间的所有消息时,基于所述恢复消息进行业务处理;在所述当前序列号小于所述期望序列号且落入预设接收窗口时,判断所述恢复消息是否为重复消息;在所述恢复消息不为重复消息时,基于所述恢复消息进行业务处理。

8、其中,判断所述恢复消息是否为重复消息,包括:判断所述恢复消息的消息标识是否与预设时间窗口内的已处理消息的消息标识是否相同;若是,判断所述恢复消息为重复消息;若否,基于所述恢复消息的时间戳与历史消息的时间戳确定是否为重复消息。

9、其中,所述会话恢复方法还包括:记录所述通信链路异常的持续时长;在所述持续时长大于预设时延阈值时,执行以下至少之一的降级策略:丢弃预设优先级的待恢复消息、生成事件连续性中断标记、在所述通信本地端触发异常警告信息并在通信本地端保存完整录像、重新建立新会话并携带恢复失败标识、请求人工介入、向云端事件存储平台请求事件摘要。

10、为解决上述技术问题,本申请还提出一种会话恢复设备,所述会话恢复设备包括存储器以及与所述存储器耦接的处理器;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的会话恢复方法。

11、为解决上述技术问题,本申请还提出一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现上述的会话恢复方法。

12、与现有技术相比,本申请的有益效果是:在通信本地端和通信对端之间通信链路异常时,将待恢复消息存入缓冲队列,缓存通信链路异常未成功发送给通信对端的消息,避免消息遗失;待通信链路恢复之后,交互通信本地端和通信对端的会话元数据,并以通信对端已经确认接收的最近连续消息为基准筛选重放消息队列,避免重复发送消息,通过发送重放消息队列的消息,避免了会话恢复时消息丢失,保证了会话中的事件连续性与完整性。

1.一种会话恢复方法,其特征在于,所述会话恢复方法包括:

2.根据权利要求1所述的会话恢复方法,其特征在于,所述会话元数据包括会话标识、会话快照标识;

3.根据权利要求2所述的会话恢复方法,其特征在于,

4.根据权利要求1所述的会话恢复方法,其特征在于,所述向所述通信对端发送所述重放消息队列中的消息,包括:

5.根据权利要求4所述的会话恢复方法,其特征在于,所述会话恢复方法还包括:

6.根据权利要求5所述的会话恢复方法,其特征在于,

7.根据权利要求6所述的会话恢复方法,其特征在于,判断所述恢复消息是否为重复消息,包括:

8.根据权利要求1所述的会话恢复方法,其特征在于,

9.一种会话恢复设备,其特征在于,所述会话恢复设备包括存储器以及与所述存储器耦接的处理器;

10.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如权利要求1至8任一项所述的会话恢复方法。