[发明专利]数据储存转发方法、电子设备、存储介质有效
申请号: | 201811366175.9 | 申请日: | 2018-11-16 |
公开(公告)号: | CN109491617B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 黄柏;邱少师 | 申请(专利权)人: | 广州创想云科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙) 44288 | 代理人: | 杨艳;韩丹 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 储存 转发 方法 电子设备 存储 介质 | ||
1.数据储存转发方法,其特征在于包括以下步骤:
接收消息,接收主题消息,查询发布权限表,判断发布者能否发布所述主题消息;
储存消息,保存所述主题消息至主题文件,记录引用信息,所述引用信息的元素包括文件名称、偏移量和数据大小;
创建消息节点,创建用于内部缓存的消息节点,将所述消息节点添加至全局缓存,所述消息节点包含所述主题消息和引用信息;
储存引用消息,查询订阅表,得到订阅当前主题的订阅者列表,依次获取所述订阅者列表中的下一个订阅者,将引用信息储存在订阅者目录,直至遍历完所述订阅者列表;
发送消息,发送所述主题消息的应答消息给发布者,推送储存或者缓存消息给在线订阅者;
所述保存所述主题消息至主题文件,记录引用信息具体为输入需要保存的主题消息,根据当前时间戳计算当前文件名称,根据当前文件名称判断是否需要打开一个新的主题文件,若不需要打开,则将保存最后一条主题的文件的长度清零,若需要打开,则以当前文件名称为主题文件名打开主题文件,写指针指到文件末尾,判断保存最后一条主题的文件是否已经打开,是则将保存最后一条主题的文件的长度清零,否则打开保存最后一条主题的文件,所述保存最后一条主题的文件用于在服务启动时校验主题文件是否正常关闭,若异常关闭,则使用所述保存最后一条主题的文件对主题文件进行修复;将保存最后一条主题的文件的长度清零,计算校验值,记下当前的引用信息,将引用信息和主题消息写入保存最后一条主题的文件,将主题消息写入主题文件;
所述储存引用消息步骤具体为输入引用信息,检查订阅者目录是否存在,若不存在,则创建订阅者目录,检查主题引用的描述文件是否已经打开,若未打开,则打开描述文件和引用文件,所述描述文件用于保存引用文件的读写情况,从所述描述文件读取引用文件的写入位置,将引用文件的写指针跳到指定的写入位置,将主题引用信息写入引用文件,更新引用文件的写指针数据至描述文件;所述储存引用消息步骤还包括读取引用信息,检查订阅者目录是否存在,若不存在,则创建订阅者目录,结束流程,若存在,则检查主题引用的描述文件是否已经打开,若未打开,则打开描述文件和引用文件,从描述文件中读取引用文件的读位置和写位置,若位置和写位置相等,则结束流程,若位置和写位置不相等,则将引用文件的读指针移到读位置,从引用文件中读取引用信息,得到主题引用信息。
2.如权利要求1所述的数据储存转发方法,其特征在于:所述接收消息步骤中,若发布者能发布所述主题消息,则跳转至所述储存消息步骤,若发布者不能发布所述主题消息,则结束流程;所述储存消息步骤还包括检查所述主题消息是否需要保存,是则保存所述主题消息至主题文件,否则,创建只包含所述主题消息的消息节点,所述文件名称为从某个时间点以来所经过的天数、周数或者月数;所述创建消息节点步骤中,若所述全局缓存的节点数大于设定的最大节点数,则删除旧的节点,若将所述消息节点成功添加至全局缓存,则跳转至所述储存引用消息步骤。
3.如权利要求2所述的数据储存转发方法,其特征在于:所述储存引用消息步骤还包括通过去重函数对所述订阅者列表进行运算,删除重复的订阅者;判断所述主题消息节点中的引用信息是否为空,是则将所述消息节点添加至订阅者的临时缓存,否则将引用信息储存在订阅者目录。
4.如权利要求1所述的数据储存转发方法,其特征在于:所述储存引用消息步骤还包括删除主题数据引用,输入引用信息,检查订阅者目录是否存在,若不存在,则创建订阅者目录,结束流程,若存在,则检查主题引用的描述文件是否已经打开,若未打开,则打开描述文件和引用文件,从描述文件中读取引用文件的读位置和写位置,若读位置和写位置相等,则结束流程,若读位置和写位置不相等,则将引用文件的读指针移到读位置,从引用文件中读取引用信息,比较读取到的引用信息和输入的信息是否相等;若不相等,则结束流程,若相等,则更新引用文件的读指针数据到描述文件,判断当前读位置和写位置是否相等,若不相等,则结束流程,若相等,则将引用文件长度清零,描述文件读、写位置清零。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州创想云科技有限公司,未经广州创想云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811366175.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据的存储方法和设备
- 下一篇:基于混合存储的数据管理系统、方法、终端及介质
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置