[发明专利]消息存储方法和装置在审
申请号: | 201710569350.3 | 申请日: | 2017-07-13 |
公开(公告)号: | CN109257320A | 公开(公告)日: | 2019-01-22 |
发明(设计)人: | 杨怀 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F9/54 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息存储 数据库集群 消息队列 方法和装置 内存数据库 负载均衡算法 消息队列存储 接收客户端 存储操作 集中管理 消息数据 读写 构建 发送 申请 | ||
本申请公开了消息存储方法和装置。该方法的一具体实施方式包括:构建多个消息队列;接收客户端发送的多个消息,并将多个消息存储到各消息队列;基于负载均衡算法,对消息队列执行存储操作,将各消息队列存储到数据库集群中的内存数据库中。上述消息存储方法通过将消息存储在数据库集群中的内存数据库中,使得各消息可以通过数据库集群被集中管理,且可以提高消息数据的读写速度。
技术领域
本申请涉及计算机技术领域,具体涉及数据存储领域,尤其涉及消息存储方法和装置。
背景技术
在互联网和电子商务领域,每天都会产生大量的消息,这就需要对产生的各式各样的消息进行数据存储和管理。在现有技术中,客户端和服务器之间通常使用RPC(RemoteProcedure Call,远程过程调用)同步处理技术进行通讯,RPC通常需要将客户端和服务器紧密耦合,在消息数据传递的过程中,客户端需要等待服务器对前一个消息响应才能继续发送下一个消息,导致客户端容易被阻塞,并且RPC紧密耦合的特性使得系统的扩展性较差。
为了克服RPC技术的上述缺点,现有技术还可以采用消息队列异步处理技术进行通讯,在消息数据传递的过程中,客户端可以通过特定的算法将信息存储在服务器的本地磁盘中。但是,采用分布式队列机制时,在分布式环境下每个服务器只能处理本地的数据,使得消息数据不能集中管理,维护成本较高。并且,各消息队列存储在服务器的本地磁盘中会造成消息数据读写速度慢。
发明内容
本申请的目的在于提出一种改进的消息存储方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种消息存储方法,该方法包括:构建多个消息队列;接收客户端发送的多个消息,并将多个消息存储到各消息队列;基于负载均衡算法,对消息队列执行存储操作,将各消息队列存储到数据库集群中的内存数据库中。
在一些实施例中,各消息携带该消息的类型标识,类型标识用于确定各消息的消息类型;将多个消息存储到各消息队列,包括:根据各消息的消息类型,将多个消息存储到各消息队列中与消息的消息类型对应的消息队列。
在一些实施例中,基于负载均衡算法,对消息队列执行存储操作,将各消息队列存储到数据库集群中的内存数据库中,包括:根据第一消息队列中存储的消息的消息类型,确定与第一消息队列对应的至少一个内存数据库,其中,第一消息队列为任一消息队列;基于负载均衡算法,在至少一个内存数据库中确定用于存储第一消息队列的内存数据库;将第一消息队列存储到所确定的内存数据库。
在一些实施例中,上述方法还包括:在将第一消息队列存储到所确定的内存数据库之前,判断该所确定的内存数据库的负载量是否大于第一预设阈值;若是,则将第一消息队列分裂为至少两个子消息队列,并将各子消息队列存储到对应的内存数据库;若否,则将第一消息队列存储到所确定的内存数据库。
在一些实施例中,上述方法还包括:在将第一消息队列存储到所确定的内存数据库之前,判断第一消息队列中存储的消息的数量是否大于第二预设阈值;若是,则将第一消息队列分裂为至少两个子消息队列,并将各子消息队列存储到对应的内存数据库;若否,则将第一消息队列存储到所确定的内存数据库。
在一些实施例中,将各子消息队列存储到对应的内存数据库,包括:根据子消息队列存储的消息的消息类型,确定与子消息队列对应的至少一个内存数据库;基于负载均衡算法,在至少一个内存数据库中确定用于存储子消息队列的内存数据库;将子消息队列存储到所确定的内存数据库。
在一些实施例中,当存在储失败的消息队列时,将存储失败的消息队列重新作为消息队列n次执行存储操作,将消息队列存储到内存数据库,其中,n为正整数且n≤m,m为预设正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710569350.3/2.html,转载请声明来源钻瓜专利网。