[发明专利]数据储存转发方法、电子设备、存储介质有效
申请号: | 201811366175.9 | 申请日: | 2018-11-16 |
公开(公告)号: | CN109491617B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 黄柏;邱少师 | 申请(专利权)人: | 广州创想云科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙) 44288 | 代理人: | 杨艳;韩丹 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 储存 转发 方法 电子设备 存储 介质 | ||
本发明提供数据储存转发方法,包括步骤:接收主题消息,查询发布权限表,判断发布者能否发布主题消息;保存主题消息至主题文件,记录引用信息,引用信息的元素包括文件名称、偏移量和数据大小;创建用于内部缓存的消息节点,将消息节点添加至全局缓存,消息节点包含主题消息和引用信息;查询订阅表,得到订阅当前主题的订阅者列表,依次获取订阅者列表中的下一个订阅者,将引用信息储存在订阅者目录,直至遍历完订阅者列表;发送主题消息的应答消息给发布者,推送主题消息给订阅者。本发明解决了主题消息丢失问题,确保平台接收到的主题消息都能够投递到订阅者,主题消息不会因程序瘫痪而丢失,占用储存空间少,储存数据实时,转发效率高。
技术领域
本发明涉及消息采集和转发技术领域,尤其涉及数据储存转发方法、电子设备、存储介质。
背景技术
安防和消防领域离不开数据采集和处理。例如:当红外报警发生或者烟感报警发生时,采集器发送报警信号到平台,平台收到报警信号后,根据具体策略把报警信号投递给合适的人或者程序进行处理。安防和消防涉及到消息的储存和转发,如MQTT平台,这些平台为了减低硬盘负载采用定时储存技术,即当平台接收到报警消息后,不会立刻储存起来,而是等到一定时间后才储存。如果在这段时间内程序瘫痪,那么未储存的报警消息就会被丢弃。因此,亟需一种可靠的数据储存技术,防止因为程序故障而丢弃报警数据。
发明内容
为了克服现有技术的不足,本发明的目的在于提供数据储存转发方法,解决了因传统的主题储存采用定时储存方式,可能出现程序瘫痪,导致未储存的报警消息被丢弃的问题。
本发明提供数据储存转发方法,包括以下步骤:
接收消息,接收主题消息,查询发布权限表,判断发布者能否发布所述主题消息;
储存消息,保存所述主题消息至主题文件,记录引用信息,所述引用信息的元素包括文件名称、偏移量和数据大小;
创建消息节点,创建用于内部缓存的消息节点,将所述消息节点添加至全局缓存,所述消息节点包含所述主题消息和引用信息;
储存引用消息,查询订阅表,得到订阅当前主题的订阅者列表,依次获取所述订阅者列表中的下一个订阅者,将引用信息储存在订阅者目录,直至遍历完所述订阅者列表;
发送消息,发送所述主题消息的应答消息给发布者,推送储存或者缓存消息给在线订阅者。
进一步地,所述接收消息步骤中,若发布者能发布所述主题消息,则跳转至所述储存消息步骤,若发布者不能发布所述主题消息,则结束流程;所述储存消息步骤还包括检查所述主题消息是否需要保存,是则保存所述主题消息至主题文件,否则,创建只包含所述主题消息的消息节点,所述文件名称为从某个时间点以来所经过的天数、周数或者月数;所述创建消息节点步骤中,若所述全局缓存的节点数大于设定的最大节点数,则删除旧的节点,若将所述消息节点成功添加至全局缓存,则跳转至所述储存引用消息步骤。
进一步地,所述保存所述主题消息至主题文件,记录引用信息具体为输入需要保存的主题消息,根据当前时间戳计算当前文件名称,根据当前文件名称判断是否需要打开一个新的主题文件,若不需要打开,则将保存最后一条主题的文件的长度清零,若需要打开,则以当前文件名称为主题文件名打开主题文件,写指针指到文件末尾,判断保存最后一条主题的文件是否已经打开,是则将保存最后一条主题的文件的长度清零,否则打开保存最后一条主题的文件,所述保存最后一条主题的文件用于在服务启动时校验主题文件是否正常关闭,若异常关闭,则使用所述保存最后一条主题的文件对主题文件进行修复;将保存最后一条主题的文件的长度清零,计算校验值,记下当前的引用信息,将引用信息和主题消息写入保存最后一条主题的文件,将主题消息写入主题文件。
进一步地,所述储存引用消息步骤还包括通过去重函数对所述订阅者列表进行运算,删除重复的订阅者;判断所述主题消息节点中的引用信息是否为空,是则将所述消息节点添加至订阅者的临时缓存,否则将引用信息储存在订阅者目录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州创想云科技有限公司,未经广州创想云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811366175.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据的存储方法和设备
- 下一篇:基于混合存储的数据管理系统、方法、终端及介质
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置