[发明专利]基于redis的数据存储方法、装置及计算机可读存储介质在审
申请号: | 201910548136.9 | 申请日: | 2019-06-19 |
公开(公告)号: | CN110413546A | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 詹泽 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F12/123 | 分类号: | G06F12/123 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 序列化处理 客户 服务器 数据存储 内存 计算机可读存储介质 存储 服务器宕机 数据读取 数据发 云存储 | ||
本发明涉及一种云存储技术,揭露了一种基于redis的数据存储方法、装置及计算机可读存储介质,该方法包括:接收来自客户端的不同类型的数据;将客户端的不同类型的数据加入不同的前缀;将加入不同前缀的客户端的不同类型的数据进行序列化处理;优先将经过序列化处理的客户端的不同类型的数据发送给redis服务器进行存储,再将经过序列化处理的客户端的不同类型的数据存储于内存中;优先从内存中读取数据,如果不能从内存中读取数据,从redis服务器中读取数据。本发明将客户端的不同类型的数据进行序列化处理后,优先存储于redis服务器,从而确保所有数据都存储redis服务器中,避免了某一服务器宕机后出现数据读取异常的问题。
技术领域
本发明涉及数据存储领域,尤其涉及一种基于redis的数据存储方法、装置及计算机可读存储介质。
背景技术
mqtt协议目前已是物联网消息标准传输协议,在目前的市场上已经有许多mqtt产品,基本都是集群,对于开源的mqtt服务端,其集群实现要么是很差,要么就是没有实现。
mqtt协议中主要有客户端和服务端两个角色,同时客户端又是通过服务端进行消息的收发,所以整个过程有许多的数据需要存储,然而在实际使用过程中,如果出现服务端(例如主服务器)宕机时,有些数据可能造成丢失,主服务器宕机时,如何有效地读取数据是目前需要解决的问题。
发明内容
本发明提供一种基于redis的数据存储方法、装置及计算机可读存储介质,其主要目的在于避免在主服务器宕机时数据读取异常的问题。
为实现上述目的,本发明提供一种基于redis的数据存储方法,应用于电子装置,所述方法包括:
接收来自客户端的不同类型的数据;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据。
可选地,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
可选地,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
可选地,所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息。
可选地,在所述再将所述客户端的数据存储于内存中的步骤中,通过LRU算法将所述客户端的数据存储于内存中。
本发明还提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于redis的数据存储程序,所述基于redis的数据存储程序被所述处理器执行时实现如下步骤:
接收来自客户端的不同类型的数据;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910548136.9/2.html,转载请声明来源钻瓜专利网。