CN107517266A - 一种基于分布式缓存的即时通讯方法 - Google Patents
一种基于分布式缓存的即时通讯方法 Download PDFInfo
- Publication number
- CN107517266A CN107517266A CN201710788700.5A CN201710788700A CN107517266A CN 107517266 A CN107517266 A CN 107517266A CN 201710788700 A CN201710788700 A CN 201710788700A CN 107517266 A CN107517266 A CN 107517266A
- Authority
- CN
- China
- Prior art keywords
- cluster
- data
- middleware
- cache
- caching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于分布式缓存的即时通讯方法,缓存代理中间件,代理中间件通过读取配置文件,获知不同分类的集群地址,然后通过该代理中间件,根据请求缓存的内容信息,访问对应的集群,获取缓存信息;添加数据时,通过该中间件,获取集群地址,然后提交给对应的集群缓存数据;对Redis按照存储的内容分类集群处理,Redis开启集群功能,根据缓存数据的分类,将多个redis实例设为集群,每个集群单独缓存一类数据。本发明缓解了单一缓存服务随着数据量的增加造成的命中率降低及服务器性能下降的影响,提高了通讯效率。
Description
技术领域
本发明属于即时通讯的缓存领域,涉及一种针对庞大数据流量对数据缓存服务的性能压力的通讯方法,具体说是一种基于分布式缓存的即时通讯方法。
背景技术
随着移动终端的普及,电力***的移动互联用户越来越多。原有单独的缓存服务对用户信息、好友关系、群管理信息等数据进行缓存,随着用户级数的增大,用户信息、好友关系、群管理信息等数据几何级增长,访问命中率急剧下跌,同时大量并发访问造成拥堵,服务器性能急剧下降。
发明内容
为了缓解缓存服务的性能压力,本发明的目的是提供一种基于分布式缓存的即时通讯方法,通过使用Redis集群,对用户信息、好友关系、群管理信息分别缓存,客户端通过单独的缓存代理中间件,来决定访问哪个集群,来缓解单一缓存服务随着数据量的增加造成的命中率降低及服务器性能下降的影响。
本发明的目的通过以下技术方案实现:
一种基于分布式缓存的即时通讯方法,其特征在于该方法包括以下步骤:
1)缓存代理中间件
代理中间件通过读取配置文件,获知不同分类的集群地址,然后通过该代理中间件,根据请求缓存的内容信息,访问对应的集群,获取缓存信息;添加数据时,通过该中间件,获取集群地址,然后提交给对应的集群缓存数据;
2)对Redis按照存储的内容分类集群处理
Redis开启集群功能,根据缓存数据的分类,将多个redis实例设为集群,每个集群单独缓存一类数据。
本发明通过使用Redis集群,对用户信息、好友关系、群管理信息分别缓存,客户端通过单独的缓存代理中间件,来决定访问哪个集群,具体步骤如下:
(1)客户端添加了新的用户,对该用户信息进行缓存;
(2)客户端提交用户信息数据到缓存代理中间件;
(3)缓存代理中间件初始化时读取配置文件,获取用户缓存集群地址;
(4)缓存代理中间件根据缓存集群地址,将用户信息数据提交给用户信息缓存集群;
(5)用户缓存集群,根据算法,判断出该用户信息数据该存储到哪个节点;
(6)存储用户信息数据到选出的节点。
本发明的有益效果是:缓解了单一缓存服务随着数据量的增加造成的命中率降低及服务器性能下降的影响,提高了通讯效率。
附图说明
图1是本发明中分布式缓存部署示意图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于分布式缓存的即时通讯方法,包括以下步骤:
1)缓存代理中间件
代理中间件通过读取配置文件,获知不同分类的集群地址,然后通过该代理中间件,根据请求缓存的内容信息,访问对应的集群,获取缓存信息;添加数据时,通过该中间件,获取集群地址,然后提交给对应的集群缓存数据;
2)对Redis按照存储的内容分类集群处理
Redis开启集群功能,根据缓存数据的分类,将多个redis实例设为集群,每个集群单独缓存一类数据。
以新增用户信息为例,演示本发明的具体实施过程。
1.客户端添加了新的用户,需要对该用户信息进行缓存。
2.客户端提交用户信息数据到缓存代理中间件。
3.缓存代理中间件初始化时读取配置文件,获取用户缓存集群地址。
4.缓存代理中间件根据缓存集群地址,将用户信息数据提交给用户信息缓存集群。
5.用户缓存集群,根据算法,判断出该用户信息数据该存储到哪个节点。
6.存储用户信息数据到选出的节点。
Claims (2)
1.一种基于分布式缓存的即时通讯方法,其特征在于该方法包括以下步骤:
1)缓存代理中间件
代理中间件通过读取配置文件,获知不同分类的集群地址,然后通过该代理中间件,根据请求缓存的内容信息,访问对应的集群,获取缓存信息;添加数据时,通过该中间件,获取集群地址,然后提交给对应的集群缓存数据;
2)对Redis按照存储的内容分类集群处理
Redis开启集群功能,根据缓存数据的分类,将多个redis实例设为集群,每个集群单独缓存一类数据。
2.根据权利要求1所述的基于分布式缓存的即时通讯方法,其特征在于具体步骤如下:
(1)客户端添加了新的用户,对该用户信息进行缓存;
(2)客户端提交用户信息数据到缓存代理中间件;
(3)缓存代理中间件初始化时读取配置文件,获取用户缓存集群地址;
(4)缓存代理中间件根据缓存集群地址,将用户信息数据提交给用户信息缓存集群;
(5)用户缓存集群,根据算法,判断出该用户信息数据该存储到哪个节点;
(6)存储用户信息数据到选出的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710788700.5A CN107517266A (zh) | 2017-09-05 | 2017-09-05 | 一种基于分布式缓存的即时通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710788700.5A CN107517266A (zh) | 2017-09-05 | 2017-09-05 | 一种基于分布式缓存的即时通讯方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107517266A true CN107517266A (zh) | 2017-12-26 |
Family
ID=60724388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710788700.5A Pending CN107517266A (zh) | 2017-09-05 | 2017-09-05 | 一种基于分布式缓存的即时通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107517266A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040272A (zh) * | 2018-08-16 | 2018-12-18 | 北京中科梧桐网络科技有限公司 | 一种java统一缓存处理框架模型 |
CN109407997A (zh) * | 2018-11-09 | 2019-03-01 | 长沙理工大学 | 一种数据处理方法、装置、设备及可读存储介质 |
CN111212145A (zh) * | 2020-01-09 | 2020-05-29 | 国网福建省电力有限公司 | 一种用于供电服务指挥***的Redis集群 |
CN112148745A (zh) * | 2020-08-07 | 2020-12-29 | 新华三大数据技术有限公司 | 一种多HBase集群访问方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及*** |
US20160125029A1 (en) * | 2014-10-31 | 2016-05-05 | InsightSoftware.com International | Intelligent caching for enterprise resource planning reporting |
CN106357449A (zh) * | 2016-09-27 | 2017-01-25 | 深圳市彬讯科技有限公司 | 一种zedis分布式缓存方法 |
CN106657258A (zh) * | 2016-11-04 | 2017-05-10 | 成都视达科信息技术有限公司 | 一种基于nginx+lua的安全加速中间件实现方法及装置 |
CN107124468A (zh) * | 2017-05-31 | 2017-09-01 | 飞智控(天津)科技有限公司 | 基于云计算的无人机监控***及监控方法 |
-
2017
- 2017-09-05 CN CN201710788700.5A patent/CN107517266A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及*** |
US20160125029A1 (en) * | 2014-10-31 | 2016-05-05 | InsightSoftware.com International | Intelligent caching for enterprise resource planning reporting |
CN106357449A (zh) * | 2016-09-27 | 2017-01-25 | 深圳市彬讯科技有限公司 | 一种zedis分布式缓存方法 |
CN106657258A (zh) * | 2016-11-04 | 2017-05-10 | 成都视达科信息技术有限公司 | 一种基于nginx+lua的安全加速中间件实现方法及装置 |
CN107124468A (zh) * | 2017-05-31 | 2017-09-01 | 飞智控(天津)科技有限公司 | 基于云计算的无人机监控***及监控方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040272A (zh) * | 2018-08-16 | 2018-12-18 | 北京中科梧桐网络科技有限公司 | 一种java统一缓存处理框架模型 |
CN109407997A (zh) * | 2018-11-09 | 2019-03-01 | 长沙理工大学 | 一种数据处理方法、装置、设备及可读存储介质 |
CN111212145A (zh) * | 2020-01-09 | 2020-05-29 | 国网福建省电力有限公司 | 一种用于供电服务指挥***的Redis集群 |
CN112148745A (zh) * | 2020-08-07 | 2020-12-29 | 新华三大数据技术有限公司 | 一种多HBase集群访问方法、装置及存储介质 |
CN112148745B (zh) * | 2020-08-07 | 2022-05-27 | 新华三大数据技术有限公司 | 一种多HBase集群访问方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107517266A (zh) | 一种基于分布式缓存的即时通讯方法 | |
CN100531102C (zh) | 路由表调整方法、路由查询方法和装置及路由表存储装置 | |
CN103294710B (zh) | 一种数据存取方法和装置 | |
CN102737065B (zh) | 数据的获取方法和装置 | |
CN103327052A (zh) | 数据存储方法和***以及数据访问方法和*** | |
US8489694B2 (en) | Peer-to-peer collaboration of publishers in a publish-subscription environment | |
CN110235098A (zh) | 存储***访问方法及装置 | |
CN105589664B (zh) | 虚拟存储高速传输方法 | |
CN107332843A (zh) | iOS网络请求拦截转发缓存方法及*** | |
CN110351780B (zh) | 一种基于编码缓存的通信方法、***及存储介质 | |
CN203313219U (zh) | 一种局域网缓存加速*** | |
CN103209119A (zh) | 一种低功耗嵌入式云智能网关 | |
CN103678573A (zh) | 一种实现缓存加速的方法及*** | |
CN103209214A (zh) | 一种基于NoSQL的消息中间件的实现方法 | |
US9667737B2 (en) | Publisher-assisted, broker-based caching in a publish-subscription environment | |
US9185181B2 (en) | Shared cache for potentially repetitive message data in a publish-subscription environment | |
CN110199270A (zh) | 存储***中存储设备的管理方法及装置 | |
CN104811495A (zh) | 一种用于智慧协同网络的网络组件内容存储方法及模块 | |
CN104424189A (zh) | 基于云平台的定位解算方法和*** | |
CN102075584B (zh) | 一种分布式文件***及其访问方法 | |
CN108833200A (zh) | 一种大数据文件自适应单向传输方法及装置 | |
WO2023165543A1 (zh) | 共享缓存的管理方法、装置及存储介质 | |
CN109617960B (zh) | 一种基于属性化分离的web AR数据呈现方法 | |
CN102902593A (zh) | 基于缓存机制的协议分发处理*** | |
CN105430062A (zh) | 一种基于兴趣-相关度的移动p2p网络数据预取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171226 |