利索能及
我要发布
收藏
专利号: 2022109108158
申请人: 中汽创智科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-21
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种节点数据交互方法,应用于主节点,其特征在于,所述方法包括:接收目标从节点发送的针对目标话题的话题注册消息;

在存在所述目标话题的话题记录的情况下,向所述目标从节点发送所述话题注册消息对应的注册响应信息,所述注册响应信息包括所述目标话题的信号量组的索引信息和在共享内存区中的话题存储位置信息,所述信号量组包括所述目标话题对应的从节点的信号量,所述信号量用于表征所述目标从节点对所述目标话题的数据读写状态,以使所述目标从节点基于所述索引信息获取所述目标话题对应的目标信号量组,基于所述话题存储位置信息对所述目标话题对应的话题数据进行读写操作,得到读写操作结果,并基于所述读写操作结果更新所述目标信号量组中的信号量。

2.根据权利要求1所述的方法,其特征在于,所述话题注册消息包括话题存储占用信息,所述方法还包括:在不存在所述目标话题的话题记录的情况下,创建所述目标话题对应的信号量组;

基于所述话题存储占用信息和预设缓存区数量,在所述共享内存区中为所述目标话题划分目标数据块区;

基于所述话题注册消息、所述信号量组和所述目标数据块区在节点管理映射表中创建所述话题记录,所述节点管理映射表包括已注册的话题对应的话题记录。

3.一种数据交互方法,应用于从节点,其特征在于,所述方法包括:向主节点发送针对目标话题的话题注册消息;

接收所述主节点发送的所述话题注册消息对应的注册响应信息,所述注册响应信息是所述主节点在存在所述目标话题的话题记录的情况下发送的,所述注册响应信息包括所述目标话题的信号量组的索引信息和共享在内存区中的话题存储位置信息,所述信号量组包括所述目标话题对应的从节点的信号量,所述信号量用于表征所述从节点对所述目标话题的数据读写状态;

基于所述索引信息获取所述目标话题对应的目标信号量组;

基于所述话题存储位置信息对所述目标话题对应的话题数据进行读写操作,得到读写操作结果;

基于所述读写操作结果更新所述目标信号量组中的信号量。

4.根据权利要求3所述的方法,其特征在于,所述基于所述话题存储位置信息对所述目标话题的话题数据进行读写操作包括:基于所述话题存储位置信息确定所述目标话题对应的目标数据块区,所述目标数据块区包括至少一个预设缓存区;

若所述话题注册消息源于所述从节点的写入器,遍历所述至少一个预设缓存区,在遍历到的当前预设缓存区对应的目标读取器的读写状态皆为已读状态的情况下,将所述写入器对应的话题数据写入所述当前预设缓存区,所述目标读取器为所述目标话题对应的、注册状态正常的读取器;

将所述当前预设缓存区对应的目标读取器的读写状态更新为未读状态;

所述基于所述读写操作结果更新所述目标信号量组中的信号量包括:

更新所述目标信号量组中所述当前预设缓存区对应的目标读取器的信号量。

5.根据权利要求4所述的方法,其特征在于,在所述将所述写入器对应的话题数据写入所述预设缓存区之前,还包括:在所述当前预设缓存区对应的目标读取器中存在未读状态的目标读取器的情况下,周期性获取所述未读状态的目标读取器的读写状态;

若在第一预设时间内,所述未读状态的目标读取器的读写状态皆更新为已读状态,触发将所述写入器对应的话题数据写入所述当前预设缓存区的步骤。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

若在第一预设时间后,所述当前预设缓存区对应的未读状态的目标读取器的读写状态仍为未读状态,更新所述当前预设缓存区对应的未读状态的目标读取器的注册状态;

向所述主节点发送移除消息,以通知所述主节点从节点管理映射表中移除所述未读状态的目标读取器对应的信息。

7.根据权利要求3所述的方法,其特征在于,所述基于所述话题存储位置信息对所述目标话题对应的话题数据进行读写操作包括:基于所述话题存储位置信息确定所述目标话题对应的目标数据块区,所述目标数据块区包括至少一个预设缓存区;

若所述话题注册消息源于所述从节点的读取器,在所述读取器对应的信号量大于或等于预设值的情况下,从所述至少一个预设缓存区中确定目标缓存区,所述目标缓存区为首个查询到的所述读取器的读写状态为未读状态的预设缓存区;

读取所述目标缓存区对应的话题数据;

将所述目标缓存区中所述读取器的读写状态更新为已读状态;

所述基于所述读写操作结果更新所述目标信号量组中的信号量包括:

更新所述目标信号量组中所述从节点的读取器对应的信号量。

8.根据权利要求7所述的方法,其特征在于,所述基于所述话题存储位置信息对所述从节点对应的话题数据进行读写操作,还包括:在所述读取器对应的信号量小于预设值的情况下,周期性获取所述读取器对应的信号量;

若在第二预设时间后,所述读取器对应的信号量仍小于所述预设值,向所述主节点发送错误码,所述错误码用于指示所述目标话题对应的目标从节点进行重启操作。

9.一种数据交互装置,应用于主节点,其特征在于,所述装置包括:话题注册消息接收模块,用于接收目标从节点发送的针对目标话题的话题注册消息;

注册响应信息发送模块,用于在存在所述目标话题的话题记录的情况下,向所述目标从节点发送所述话题注册消息对应的注册响应信息,所述注册响应信息包括所述目标话题的信号量组的索引信息和在共享内存区中的话题存储位置信息,所述信号量组包括所述目标话题对应的从节点的信号量,所述信号量用于表征所述目标从节点对所述目标话题的数据读写状态,以使所述目标从节点基于所述索引信息获取所述目标话题对应的目标信号量组,基于所述话题存储位置信息对所述目标话题对应的话题数据进行读写操作,得到读写操作结果,并基于所述读写操作结果更新所述目标信号量组中的信号量。

10.一种节点数据交互装置,应用于从节点,其特征在于,所述装置包括:话题注册消息发送模块,用于向主节点发送针对目标话题的话题注册消息;

注册响应消息接收模块,用于接收所述主节点发送的所述话题注册消息对应的注册响应信息,所述注册响应信息是所述主节点在存在所述目标话题的话题记录的情况下发送的,所述注册响应信息包括所述目标话题的信号量组的索引信息和共享在内存区中的话题存储位置信息,所述信号量组包括所述目标话题对应的从节点的信号量,所述信号量用于表征所述从节点对所述目标话题的数据读写状态;

目标信号量组获取模块,用于基于所述索引信息获取所述目标话题对应的目标信号量组;

读写模块,用于基于所述话题存储位置信息对所述目标话题对应的话题数据进行读写操作,得到读写操作结果;

信号量更新模块,用于基于所述读写操作结果更新所述目标信号量组中的信号量。