WO2016161857A1 - 一种多租户高并发的即时通讯云平台 - Google Patents

一种多租户高并发的即时通讯云平台 Download PDF

Info

Publication number
WO2016161857A1
WO2016161857A1 PCT/CN2016/075155 CN2016075155W WO2016161857A1 WO 2016161857 A1 WO2016161857 A1 WO 2016161857A1 CN 2016075155 W CN2016075155 W CN 2016075155W WO 2016161857 A1 WO2016161857 A1 WO 2016161857A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
instant messaging
cluster
service
cloud platform
Prior art date
Application number
PCT/CN2016/075155
Other languages
English (en)
French (fr)
Inventor
马晓宇
刘少壮
Original Assignee
北京易掌云峰科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京易掌云峰科技有限公司 filed Critical 北京易掌云峰科技有限公司
Publication of WO2016161857A1 publication Critical patent/WO2016161857A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Definitions

  • the invention relates to a platform for providing instant messaging for an APP, in particular to a multi-tenant high concurrent instant messaging cloud platform.
  • Instant messaging is currently the most popular communication method on the Internet.
  • various APPs and the needs of enterprise communication it is often necessary to provide an SDK that can be easily embedded into a specific APP client, so that the instant messaging function can be easily and efficiently embedded and utilized.
  • the cloud platform provides instant messaging capabilities and services for groups of users of multiple APPs.
  • developers are often required to perform instant messaging functions.
  • the technical problem to be solved by the present invention is to overcome the shortcomings of the prior art, and provide a multi-tenant high concurrent instant messaging cloud platform, which can be conveniently embedded into the user group APP through the client SDK, and supports the instant messaging of the APP through the SDK.
  • a functional cloud platform that delivers instant messaging functions and services to APP developers and enterprise users in a packaged form, ensuring easy embedding of instant messaging capabilities and low-cost use of services; and providing instant messaging for multiple tenant apps Service to meet high concurrent use Demand; ensuring tenant information security through encrypted information transmission.
  • a multi-tenant high-concurrency instant messaging cloud platform includes a server and a client SDK embedded in an APP of different tenants; each application group of the APP constitutes a tenant, and each tenant's APP Embedding the client SDK enables the app to have instant messaging capabilities;
  • the mobile terminal carrying the APP embedded in the client SDK establishes a data connection with the server through the transmission channel; the server provides instant messaging service for the APP of the corresponding mobile terminal; the transmission channel can adopt 3G, 4G, wifi, VPN, VPDN the way.
  • the instant messaging cloud platform provides instant messaging services for multiple tenants' embedded client SDKs, and each tenant generates data on the server.
  • the information is separately stored separately to ensure the security of data information storage;
  • the client SDK can be embedded into the application of the Andorid operating system, the iOS operating system, and the application of the Windows operating system, that is, the client SDK of the present invention can be on three platforms.
  • the same APP user's account can be used in the APP of the three platforms to achieve compatible use of the three platforms;
  • the server includes several data centers. According to the geographical orientation of the APP mobile terminal, the user's request is located to a data center close to the mobile terminal through the intelligent DNS system, thereby saving the cost of data transmission, improving data transmission efficiency, and reducing network delay.
  • each data center includes two portals, namely a TCP-based chat service cluster and an HTTP-based API access server; a TCP-based chat service cluster uses SSL encryption to communicate with mobile terminals.
  • the HTTP-based API access server encrypts by using HTTPS;
  • the API access server provides a simple stateless service and is not responsible for specific business processing. For each service request, the corresponding service service in the background service cluster is called, and access control is performed for each request.
  • the server also includes a data analysis center, and the data analysis center is a data analysis cluster;
  • the functional modules of each data center include: authorization service, authentication service, friend service, group service, file service, anti-spam service, message routing service and blacklist service.
  • the service of each function module is determined by a corresponding server. Provide corresponding services;
  • the functional modules of each client SDK include: social components, transport encryption services, storage encryption services, user integration services, data compression services, voice optimization services, location optimization services, power optimization services, and broadband optimization services.
  • the data of each data center is stored in the NoSQL database system; the data center data synchronization between any two data centers is implemented by the NoSQL database system.
  • the present invention preferably uses the cassandra database system to provide data replication functions across data centers, and provides high performance read and write requests and horizontal extensions to meet the requirements of instant messaging cloud platforms for data storage and synchronization.
  • each data center implements non-real-time data synchronization through the Flume data system and the data analysis center.
  • Flume is a highly available, highly reliable, and distributed system for massive log collection, aggregation, and transmission. Flume supports customizing various data senders in the system to collect data. At the same time, Flume provides simple processing of data. And write to the capabilities of various data recipients to meet the data synchronization needs of the instant messaging cloud platform of the present invention.
  • the mobile terminal equipped with the APP embedded in the client SDK is connected to a load balancer of the data center close to the mobile terminal, and the load balancer is respectively connected to the chat service cluster and the API access server of the data center.
  • the load balancer Through the load balancer, the user group's APP access and data requirements can be balanced, so that the servers in each data center can operate in a more balanced manner, ensuring the stability and high efficiency of the instant messaging cloud platform operation; As the number increases, more data centers can be expanded through load balancers to meet the needs of a large number of users.
  • each data center is provided with a MySQL cluster for saving offline messages of the chat service cluster, and offline messages are sent after the user waiting for the offline message to go online. send.
  • offline messages offline messages are saved to the MySQL cluster, waiting for the user to go online and then send, ensuring that the messages are not lost.
  • each data center is provided with a memory-based data cache cluster for buffering data of the chat service cluster, and a Redis cluster is preferably used in the present invention.
  • the chat service cluster implements dropped detection through a heartbeat packet, maintains a long connection with the APP, and manages the session through the Redis cluster.
  • each data center is provided with a KafKa data distribution cluster, and the data distribution cluster receives chat messages and statistical data of the chat service cluster and the data center function module;
  • the KafKa data distribution cluster has a high throughput and pull model message consumer model.
  • the data center's KafKa data distribution cluster enables non-real-time data synchronization through the Flume data system and the data analysis center.
  • each data center is provided with a Storm streaming service processing unit connected to the KafKa data distribution cluster.
  • the Storm Streaming Service Processing Unit provides a highly reliable streaming computing framework. Through the computing unit deployed on the storm, our system can scale horizontally according to the growth of the business. In the case of more user groups and users, It can expand the scale of services and meet the high concurrent requirements of a large number of users.
  • each data center is also provided with an ElasticSearch search server for message query.
  • the data analysis cluster comprises a Flume data system for synchronizing data with each data center, and a KafKa data distribution cluster connected to the Flume data system; the data analysis cluster further comprises a Cassandra database system for storing data analysis results. , an OpenTSDB monitoring system for storing time series data, a Hadoop distributed file system for storing raw data and performing batch data analysis tasks;
  • the KafKa data distribution cluster is connected to the Cassandra database system, the OpenTSDB monitoring system and the Hadoop distributed file system respectively by Streaming data transmission;
  • the server uses Zookeeper to manage each cluster.
  • the multi-tenant high concurrent instant messaging cloud platform can be conveniently embedded into the user group APP through the client SDK, and builds a cloud platform that supports the instant messaging function of the APP through the SDK, and provides instant messaging functions and services in a packaged form.
  • APP development units and enterprise users ensure easy integration of instant messaging functions and low-cost use of services;
  • the multi-tenant high concurrent instant messaging cloud platform can provide instant messaging services for multiple tenant APPs, and can meet high concurrent usage requirements;
  • the multi-tenant high concurrent instant messaging cloud platform of the invention ensures the information security of the tenant through encrypted information transmission
  • the multi-tenant high concurrent instant messaging cloud platform the client SDK can be embedded into the application of the Andorid operating system, the iOS operating system, and the application program of the Windows operating system, that is, the client SDK of the present invention can be in three platforms.
  • the same APP user's account can be used in the APP of the three platforms to achieve compatible use of the three platforms;
  • the multi-tenant high concurrent instant messaging cloud platform provides an SDK capable of directly embedding an APP, and provides a corresponding cloud platform service, which can provide an extremely simple development requirement for the APP development company and the enterprise user, and a function module in the instant messaging, It can be directly embedded, which greatly reduces development costs and server operation and maintenance costs, and provides great convenience for the development and use of APP.
  • FIG. 1 is a structural diagram of a multi-tenant high concurrent instant messaging cloud platform according to the present invention.
  • this embodiment is a multi-tenant high concurrent instant messaging cloud platform, where the instant messaging cloud platform includes a server and a client SDK embedded in an APP of different tenants; Forming a tenant, embedding the client SDK in each tenant's APP enables the app to have instant messaging capabilities;
  • the mobile terminal carrying the APP embedded in the client SDK establishes a data connection with the server through the transmission channel; the server provides instant messaging service for the APP of the corresponding mobile terminal; the transmission channel can adopt 3G, 4G, wifi, VPN, VPDN the way.
  • the instant messaging cloud platform provides instant messaging services for multiple tenants' embedded client SDKs, and each tenant generates data on the server.
  • the information is separately stored separately to ensure the security of data information storage;
  • the client SDK can be embedded into the application of the Andorid operating system, the iOS operating system, and the application of the Windows operating system, that is, the client SDK of the present invention can be on three platforms.
  • the same APP user's account can be used in the APP of the three platforms to achieve compatible use of the three platforms;
  • the server includes several data centers. According to the geographical orientation of the APP mobile terminal, the user's request is located to a data center close to the mobile terminal through the intelligent DNS system, thereby saving the cost of data transmission, improving data transmission efficiency, and reducing network delay.
  • each data center includes two portals, namely a TCP-based chat service cluster and an HTTP-based API access server; a TCP-based chat service cluster uses SSL encryption to communicate with mobile terminals.
  • the HTTP-based API access server encrypts by using HTTPS;
  • the API access server provides a simple stateless service and is not responsible for specific business processing. For each service request, the corresponding service service in the background service cluster is called, and access control is performed for each request.
  • Cross-data center data synchronization between any two data centers data synchronization between multiple data centers to improve the timeliness and accuracy of instant messaging services;
  • the server also includes a data analysis center, and the data analysis center is a data analysis cluster;
  • the functional modules of each data center include: authorization service, authentication service, friend service, group service, file service, anti-spam service, message routing service and blacklist service.
  • the service of each function module is determined by a corresponding server. Provide corresponding services;
  • the functional modules of each client SDK include: social components, transport encryption services, Storage encryption services, user integration services, data compression services, voice optimization services, location optimization services, power optimization services, broadband optimization services.
  • the data of each data center is stored in the Cassandra database system; the data center data synchronization between any two data centers is realized by the Cassandra database system.
  • Cassandra provides data replication across data centers and provides high-performance read and write requests and horizontal extensions to meet the requirements of data storage and synchronization for instant messaging cloud platforms.
  • Flume is a highly available, highly reliable, and distributed system for massive log collection, aggregation, and transmission. Flume supports customizing various data senders in the system to collect data. At the same time, Flume provides simple processing of data. And write to the capabilities of various data recipients to meet the data synchronization needs of the instant messaging cloud platform of the present invention.
  • a mobile terminal equipped with an APP embedded in the client SDK is connected to a load balancer of a data center that is close to the mobile terminal, and the load balancer is respectively connected to the chat service cluster and the API access server of the data center.
  • the load balancer Through the load balancer, the user group's APP access and data requirements can be balanced, so that the servers in each data center can operate in a more balanced manner, ensuring the stability and high efficiency of the instant messaging cloud platform operation; As the number increases, more data centers can be expanded through load balancers to meet the needs of a large number of users.
  • Each data center is provided with a MySQL cluster for saving offline messages of the chat service cluster, and the offline message is sent after the user waiting for the offline message to go online.
  • offline messages offline messages are saved to the MySQL cluster, waiting for the user to go online and then send, ensuring that the messages are not lost.
  • Each data center has a Redis cluster for caching data for the chat service cluster.
  • the chat service cluster implements dropped detection through a heartbeat packet, maintains a long connection with the APP, and manages the session through the Redis cluster.
  • Each data center has a KafKa data distribution cluster, and the data distribution cluster receives chats. Chat messages and statistics for service clusters and data center functional modules; KafKa data distribution clusters have high-throughput and pull-model message consumer models that meet the data statistics and distribution requirements of instant messaging cloud platforms; KafKa data distribution in data centers The cluster implements non-real-time data synchronization through the Flume data system and the data analysis center.
  • Each data center has a Storm Streaming Service Processing Unit connected to the KafKa Data Distribution Cluster.
  • the Storm Streaming Service Processing Unit provides a highly reliable streaming computing framework. Through the computing unit deployed on the storm, our system can scale horizontally according to the growth of the business. In the case of more user groups and users, It can expand the scale of services and meet the high concurrent requirements of a large number of users.
  • Each data center also has an ElasticSearch search server for message queries. Can provide users with information query and search services.
  • the data analysis cluster includes a Flume data system for synchronizing data with each data center, and a KafKa data distribution cluster connected to the Flume data system; the data analysis cluster further includes a Cassandra database system for storing data analysis results, for OpenTSDB monitoring system for storing time series data, Hadoop distributed file system for storing raw data and performing batch data analysis tasks; KafKa data distribution cluster is distributed with Cassandra database system, OpenTSDB monitoring system and Hadoop by Streaming data transmission method respectively File system connection;
  • the server uses Zookeeper to manage each cluster.
  • the multi-tenant high concurrent instant messaging cloud platform can be conveniently embedded into the user group APP through the client SDK, and a cloud platform supporting the instant messaging function of the APP through the SDK is constructed, and the instant messaging function and service are provided in a packaged form.
  • the client SDK can be embedded in the application of the Andorid operating system, the iOS operating system, and the application of the Windows operating system, that is, the client SDK of the present invention can be in the third Multi-platform use in the platform, the same APP user's account can be used in the APP of the three platforms to achieve compatible use of the three platforms; can provide SDKs that can be directly embedded in the APP, and provide corresponding cloud platform services, It can provide extremely simple development requirements for APP development companies and enterprise users.
  • the function modules in instant messaging can be directly embedded, which greatly reduces development costs and server operation and maintenance costs, and provides great development and application for APP. convenient.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了多租户高并发的即时通讯云平台,包括服务端以及嵌入在不同租户的APP中的客户端SDK;搭载被嵌入客户端SDK的APP的移动终端通过传输通道与服务端建立数据连接,即时通讯云平台同时为多个租户的嵌入客户端SDK的APP提供即时通讯服务。本发明能够通过客户端SDK便捷嵌入到用户组APP,构建支持该APP通过SDK实现即时通讯功能的云平台,将即时通讯功能和服务以打包的形式提供给APP开发单位和企业用户,确保即时通讯功能的便捷嵌入和服务的低成本使用;能够为多个租户的APP提供即时通讯服务,能够满足高并发的使用需求;通过加密的信息传输,确保了租户的信息安全。

Description

一种多租户高并发的即时通讯云平台 技术领域
本发明涉及一种为APP提供即时通讯的平台,具体涉及一种多租户高并发的即时通讯云平台。
背景技术
即时通讯是目前Internet上最为流行的通讯方式,对于各种APP的开发和企业通讯的需求,往往需要提供能够便捷嵌入到具体APP用户端的SDK,以将该即时通讯功能便捷高效的嵌入,同时利用云平台为多个APP的用户组提供即时通讯功能和服务。而目前的即时通讯领域,还没有提供即时通讯功能便捷嵌入、云平台提供即时通讯服务的即时通讯云平台,对于普通的APP研发和企业通讯需求的研发,往往需要研发者针对即时通讯的功能进行单独设计和研发,同时再去寻找或建设支持即时通讯的服务器,造成研发成本和维护成本极大的提高,不利于广大APP开发单位和企业用户的应用研发和使用。因此,需要设计一种能够便捷嵌入到用户组APP内的SDK,构建支持该APP通过SDK实现即时通讯功能的云平台,将即时通讯功能和服务以打包的形式提供给APP开发单位和企业用户,确保即时通讯功能的便捷嵌入和服务的低成本使用。
发明内容
本发明需要解决的技术问题就在于克服现有技术的缺陷,提供一种多租户高并发的即时通讯云平台,能够通过客户端SDK便捷嵌入到用户组APP,构建支持该APP通过SDK实现即时通讯功能的云平台,将即时通讯功能和服务以打包的形式提供给APP开发单位和企业用户,确保即时通讯功能的便捷嵌入和服务的低成本使用;同时,能够为多个租户的APP提供即时通讯服务,能够满足高并发的使用 需求;通过加密的信息传输,确保了租户的信息安全。
为解决上述问题,本发明采用技术方案为:
一种多租户高并发的即时通讯云平台,所述即时通讯云平台包括服务端以及嵌入在不同租户的APP中的客户端SDK;每一个APP的使用群体构成一个租户,每个租户的APP中嵌入客户端SDK使该APP具备即时通讯的功能;
搭载被嵌入客户端SDK的APP的移动终端通过传输通道与服务端建立数据连接;服务端为相对应的移动终端的APP提供即时通讯服务;传输通道可以采用3G、4G、wifi、VPN、VPDN的方式。
所有使用同一个搭载被嵌入客户端SDK的APP的用户为一个租户;所述即时通讯云平台同时为多个租户的嵌入客户端SDK的APP提供即时通讯服务,每个租户在服务端产生的数据信息均隔离单独保存,确保数据信息存储的安全;客户端SDK能够嵌入至Andorid操作系统、iOS操作系统的APP中以及Windows操作系统的应用程序中,即本发明的客户端SDK能够在三个平台中实现多平台使用,同一个APP使用者的账号能够在三个平台的APP中使用,实现三个平台的兼容使用;
服务端包括若干个数据中心,根据APP移动终端的地理方位通过智能DNS系统把用户的请求定位到一个距离移动终端近的数据中心,以节省数据传输的成本,提高数据传输效率,减少网络延时,提高网络服务的速度;每个数据中心包括两个入口,分别为基于TCP的聊天服务集群和基于HTTP的API接入服务器;基于TCP的聊天服务集群采用SSL加密的方式与移动终端进行数据通信,基于HTTP的API接入服务器采用HTTPS的方式进行加密;
API接入服务器提供了简单的无状态服务,并不负责具体的业务处理,对于每个业务请求,会调用后台的服务集群中的对应的业务服务,并且会对每个请求做访问权限控制。
任意两个数据中心之间具有跨数据中心数据同步功能;实现将多 个数据中心进行数据同步,提高即时通讯服务的时效性和准确性;
服务端还包括数据分析中心,数据分析中心为数据分析集群;
每个数据中心的功能模块包括:授权服务、认证服务、好友服务、群组服务、文件服务、反垃圾服务、消息路由服务和黑名单服务,每个功能模块的服务均由一个相对应的服务器提供相应服务;
每个客户端SDK的功能模块包括:社交组件、传输加密服务、存储加密服务、用户集成服务、数据压缩服务、语音优化服务、定位优化服务、电量优化服务、宽带优化服务。
优选的,每个数据中心的数据存储在NoSQL数据库系统中;任意两个数据中心之间的跨数据中心数据同步通过NoSQL数据库系统实现。本发明优选选择使用cassandra数据库系统,提供了跨数据中心的数据复制功能,并且提供了高性能的读写请求和水平扩展,能够满足即时通讯云平台是数据存储和同步的要求。
优选的,每个数据中心通过Flume数据系统与数据分析中心实现非实时数据同步。Flume是一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统,Flume支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力,能够满足本发明的即时通讯云平台的数据同步需求。
优选的,搭载被嵌入客户端SDK的APP的移动终端与距离该移动终端近的数据中心的负载均衡器连接,负载均衡器分别与该数据中心的聊天服务集群、API接入服务器连接。通过负载均衡器,能够使用户组的APP的访问和数据要求进行均衡,使各个数据中心的服务器能够较为均衡的运行,保证即时通讯云平台运行的稳定性和高效性;同时,当用户组的数量增大时,能够通过负载均衡器扩展更多的数据中心实现大量用户的使用需求。
优选的,每个数据中心设有用于保存聊天服务集群的离线消息的MySQL集群,在等待接受该离线消息的用户上线后进行离线消息的 发送。对于离线消息,离线消息保存到MySQL集群当中,等待用户上线再发送,确保消息不丢失。
优选的,每个数据中心设有用于缓存聊天服务集群的数据的基于内存的数据缓存集群,本发明中优选使用Redis集群。聊天服务集群通过心跳包来实现掉线检测,保持与APP的长连接,通过Redis集群来管理会话。
优选的,每个数据中心设有KafKa数据分发集群,数据分发集群接收聊天服务集群和数据中心功能模块的聊天消息和统计数据;KafKa数据分发集群具有高吞吐量和拉模型的消息消费者模型,能够满足即时通讯云平台的数据统计和分发要求;
数据中心的KafKa数据分发集群通过Flume数据系统与数据分析中心实现非实时数据同步。
优选的,每个数据中心设有与KafKa数据分发集群连接的Storm流式业务处理单元。Storm流式业务处理单元提供了高可靠的流式计算框架,通过在storm上部署的计算单元,我们的系统能够根据业务的增长情况有水平伸缩,在用户组和使用者较多的情况下,能够扩展服务规模,满足大量用户高并发的使用要求。
优选的,每个数据中心还设有用于进行消息查询的ElasticSearch搜索服务器。能够为用户提供信息查询和搜索服务。
优选的,数据分析集群包括用于与每个数据中心实现数据同步的Flume数据系统,以及与该Flume数据系统连接的KafKa数据分发集群;数据分析集群还包括用于存储数据分析结果的Cassandra数据库系统、用于存储时间序列数据的OpenTSDB监控系统、用于存储原始数据和执行批处理数据分析任务的Hadoop分布式文件系统;
KafKa数据分发集群通过Streaming数据传送方式分别与Cassandra数据库系统、OpenTSDB监控系统和Hadoop分布式文件系统连接;
服务端采用Zookeeper管理各个集群。
本发明的优点和有益效果为:
本发明多租户高并发的即时通讯云平台,能够通过客户端SDK便捷嵌入到用户组APP,构建支持该APP通过SDK实现即时通讯功能的云平台,将即时通讯功能和服务以打包的形式提供给APP开发单位和企业用户,确保即时通讯功能的便捷嵌入和服务的低成本使用;
本发明多租户高并发的即时通讯云平台,能够为多个租户的APP提供即时通讯服务,能够满足高并发的使用需求;
本发明多租户高并发的即时通讯云平台,通过加密的信息传输,确保了租户的信息安全;
本发明多租户高并发的即时通讯云平台,客户端SDK能够嵌入至Andorid操作系统、iOS操作系统的APP中以及Windows操作系统的应用程序中,即本发明的客户端SDK能够在三个平台中实现多平台使用,同一个APP使用者的账号能够在三个平台的APP中使用,实现三个平台的兼容使用;
本发明多租户高并发的即时通讯云平台,提供能够直接嵌入APP的SDK,并且提供相应的云平台服务,能够为APP开发公司和企业用户提供极为简便的开发需求,在即时通讯的功能模块,完全能够直接嵌入,极大的减少了开发成本和服务器运行维护成本,为APP的开发和使用提供极大的便利。
附图说明
图1为本发明多租户高并发的即时通讯云平台的架构图。
具体实施方式
下列实施例将进一步说明本发明。
如图1所示,本实施例为一种多租户高并发的即时通讯云平台,所述即时通讯云平台包括服务端以及嵌入在不同租户的APP中的客户端SDK;每一个APP的使用群体构成一个租户,每个租户的APP中嵌入客户端SDK使该APP具备即时通讯的功能;
搭载被嵌入客户端SDK的APP的移动终端通过传输通道与服务端建立数据连接;服务端为相对应的移动终端的APP提供即时通讯服务;传输通道可以采用3G、4G、wifi、VPN、VPDN的方式。
所有使用同一个搭载被嵌入客户端SDK的APP的用户为一个租户;所述即时通讯云平台同时为多个租户的嵌入客户端SDK的APP提供即时通讯服务,每个租户在服务端产生的数据信息均隔离单独保存,确保数据信息存储的安全;客户端SDK能够嵌入至Andorid操作系统、iOS操作系统的APP中以及Windows操作系统的应用程序中,即本发明的客户端SDK能够在三个平台中实现多平台使用,同一个APP使用者的账号能够在三个平台的APP中使用,实现三个平台的兼容使用;
服务端包括若干个数据中心,根据APP移动终端的地理方位通过智能DNS系统把用户的请求定位到一个距离移动终端近的数据中心,以节省数据传输的成本,提高数据传输效率,减少网络延时,提高网络服务的速度;每个数据中心包括两个入口,分别为基于TCP的聊天服务集群和基于HTTP的API接入服务器;基于TCP的聊天服务集群采用SSL加密的方式与移动终端进行数据通信,基于HTTP的API接入服务器采用HTTPS的方式进行加密;
API接入服务器提供了简单的无状态服务,并不负责具体的业务处理,对于每个业务请求,会调用后台的服务集群中的对应的业务服务,并且会对每个请求做访问权限控制。
任意两个数据中心之间具有跨数据中心数据同步功能;实现将多个数据中心进行数据同步,提高即时通讯服务的时效性和准确性;
服务端还包括数据分析中心,数据分析中心为数据分析集群;
每个数据中心的功能模块包括:授权服务、认证服务、好友服务、群组服务、文件服务、反垃圾服务、消息路由服务和黑名单服务,每个功能模块的服务均由一个相对应的服务器提供相应服务;
每个客户端SDK的功能模块包括:社交组件、传输加密服务、 存储加密服务、用户集成服务、数据压缩服务、语音优化服务、定位优化服务、电量优化服务、宽带优化服务。
每个数据中心的数据存储在Cassandra数据库系统中;任意两个数据中心之间的跨数据中心数据同步通过Cassandra数据库系统实现。cassandra提供了跨数据中心的数据复制功能,并且提供了高性能的读写请求和水平扩展,能够满足即时通讯云平台是数据存储和同步的要求。
每个数据中心通过Flume数据系统与数据分析中心实现非实时数据同步。Flume是一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统,Flume支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力,能够满足本发明的即时通讯云平台的数据同步需求。
搭载被嵌入客户端SDK的APP的移动终端与距离该移动终端近的数据中心的负载均衡器连接,负载均衡器分别与该数据中心的聊天服务集群、API接入服务器连接。通过负载均衡器,能够使用户组的APP的访问和数据要求进行均衡,使各个数据中心的服务器能够较为均衡的运行,保证即时通讯云平台运行的稳定性和高效性;同时,当用户组的数量增大时,能够通过负载均衡器扩展更多的数据中心实现大量用户的使用需求。
每个数据中心设有用于保存聊天服务集群的离线消息的MySQL集群,在等待接受该离线消息的用户上线后进行离线消息的发送。对于离线消息,离线消息保存到MySQL集群当中,等待用户上线再发送,确保消息不丢失。
每个数据中心设有用于缓存聊天服务集群的数据的Redis集群。聊天服务集群通过心跳包来实现掉线检测,保持与APP的长连接,通过Redis集群来管理会话。
每个数据中心设有KafKa数据分发集群,数据分发集群接收聊天 服务集群和数据中心功能模块的聊天消息和统计数据;KafKa数据分发集群具有高吞吐量和拉模型的消息消费者模型,能够满足即时通讯云平台的数据统计和分发要求;数据中心的KafKa数据分发集群通过Flume数据系统与数据分析中心实现非实时数据同步。
每个数据中心设有与KafKa数据分发集群连接的Storm流式业务处理单元。Storm流式业务处理单元提供了高可靠的流式计算框架,通过在storm上部署的计算单元,我们的系统能够根据业务的增长情况有水平伸缩,在用户组和使用者较多的情况下,能够扩展服务规模,满足大量用户高并发的使用要求。
每个数据中心还设有用于进行消息查询的ElasticSearch搜索服务器。能够为用户提供信息查询和搜索服务。
数据分析集群包括用于与每个数据中心实现数据同步的Flume数据系统,以及与该Flume数据系统连接的KafKa数据分发集群;数据分析集群还包括用于存储数据分析结果的Cassandra数据库系统、用于存储时间序列数据的OpenTSDB监控系统、用于存储原始数据和执行批处理数据分析任务的Hadoop分布式文件系统;KafKa数据分发集群通过Streaming数据传送方式分别与Cassandra数据库系统、OpenTSDB监控系统和Hadoop分布式文件系统连接;
服务端采用Zookeeper管理各个集群。
本实施例的有益效果为:
本实施例多租户高并发的即时通讯云平台,能够通过客户端SDK便捷嵌入到用户组APP,构建支持该APP通过SDK实现即时通讯功能的云平台,将即时通讯功能和服务以打包的形式提供给APP开发单位和企业用户,确保即时通讯功能的便捷嵌入和服务的低成本使用;能够为多个租户的APP提供即时通讯服务,能够满足高并发的使用需求;通过加密的信息传输,确保了租户的信息安全;客户端SDK能够嵌入至Andorid操作系统、iOS操作系统的APP中以及Windows操作系统的应用程序中,即本发明的客户端SDK能够在三 个平台中实现多平台使用,同一个APP使用者的账号能够在三个平台的APP中使用,实现三个平台的兼容使用;能够提供能够直接嵌入APP的SDK,并且提供相应的云平台服务,能够为APP开发公司和企业用户提供极为简便的开发需求,在即时通讯的功能模块,完全能够直接嵌入,极大的减少了开发成本和服务器运行维护成本,为APP的开发和使用提供极大的便利。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本发明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明的保护范围之中。

Claims (10)

  1. 一种多租户高并发的即时通讯云平台,其特征在于,所述即时通讯云平台包括服务端以及嵌入在不同租户的APP中的客户端SDK;
    搭载被嵌入客户端SDK的APP的移动终端通过传输通道与服务端建立数据连接;
    所有使用同一个搭载被嵌入客户端SDK的APP的用户为一个租户;所述即时通讯云平台同时为多个租户的嵌入客户端SDK的APP提供即时通讯服务;客户端SDK能够嵌入至Andorid操作系统、iOS操作系统的APP中以及Windows操作系统的应用程序中;
    服务端包括若干个数据中心,根据APP移动终端的地理方位通过智能DNS系统把用户的请求定位到一个距离移动终端近的数据中心;每个数据中心包括两个入口,分别为基于TCP的聊天服务集群和基于HTTP的API接入服务器;
    任意两个数据中心之间具有跨数据中心数据同步功能;
    服务端还包括数据分析中心,数据分析中心为数据分析集群;
    每个数据中心的功能模块包括:授权服务、认证服务、好友服务、群组服务、文件服务、反垃圾服务、消息路由服务和黑名单服务;
    每个客户端SDK的功能模块包括:社交组件、传输加密服务、存储加密服务、用户集成服务、数据压缩服务、语音优化服务、定位优化服务、电量优化服务、宽带优化服务。
  2. 如权利要求1所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心的数据存储在NoSQL数据库系统中;任意两个数据中心之间的跨数据中心数据同步通过NoSQL数据库系统实现。
  3. 如权利要求1所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心通过Flume数据系统与数据分析中心实现非实时数据同步。
  4. 如权利要求1所述的多租户高并发的即时通讯云平台,其特 征在于,搭载被嵌入客户端SDK的APP的移动终端与距离该移动终端近的数据中心的负载均衡器连接,负载均衡器分别与该数据中心的聊天服务集群、API接入服务器连接。
  5. 如权利要求1所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心设有用于保存聊天服务集群的离线消息的MySQL集群,在等待接受该离线消息的用户上线后进行离线消息的发送。
  6. 如权利要求1所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心设有用于缓存聊天服务集群的数据的基于内存的数据缓存集群。
  7. 如权利要求1所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心设有KafKa数据分发集群,数据分发集群接收聊天服务集群和数据中心功能模块的聊天消息和统计数据;
    数据中心的KafKa数据分发集群通过Flume数据系统与数据分析中心实现非实时数据同步。
  8. 如权利要求7所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心设有与KafKa数据分发集群连接的Storm流式业务处理单元。
  9. 如权利要求1所述的多租户高并发的即时通讯云平台,其特征在于,每个数据中心还设有用于进行消息查询的ElasticSearch搜索服务器。
  10. 如权利要求1-9任一所述的多租户高并发的即时通讯云平台,其特征在于,数据分析集群包括用于与每个数据中心实现数据同步的Flume数据系统,以及与该Flume数据系统连接的KafKa数据分发集群;数据分析集群还包括用于存储数据分析结果的Cassandra数据库系统、用于存储时间序列数据的OpenTSDB监控系统、用于存储原始数据和执行批处理数据分析任务的Hadoop分布式文件系统;
    KafKa数据分发集群通过Streaming数据传送方式分别与 Cassandra数据库系统、OpenTSDB监控系统和Hadoop分布式文件系统连接;
    服务端采用Zookeeper管理各个集群。
PCT/CN2016/075155 2015-04-09 2016-03-01 一种多租户高并发的即时通讯云平台 WO2016161857A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510164846.3 2015-04-09
CN201510164846.3A CN104734946A (zh) 2015-04-09 2015-04-09 一种多租户高并发的即时通讯云平台

Publications (1)

Publication Number Publication Date
WO2016161857A1 true WO2016161857A1 (zh) 2016-10-13

Family

ID=53458397

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/075155 WO2016161857A1 (zh) 2015-04-09 2016-03-01 一种多租户高并发的即时通讯云平台

Country Status (2)

Country Link
CN (1) CN104734946A (zh)
WO (1) WO2016161857A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039724A (zh) * 2018-07-23 2018-12-18 北京奇艺世纪科技有限公司 日志上传方法和装置
CN110674080A (zh) * 2019-09-23 2020-01-10 浪潮软件股份有限公司 一种基于NiFi的大数据量非结构文件采集方法及系统
CN111915030A (zh) * 2020-07-08 2020-11-10 中山市金马科技娱乐设备股份有限公司 一种游乐设备产品全生命周期管理系统
CN112866091A (zh) * 2021-01-21 2021-05-28 即时匹配(上海)网络科技有限公司 一种即时通讯系统及通讯方法
CN113691611A (zh) * 2021-08-23 2021-11-23 湖南大学 一种区块链的分布式高并发事务处理方法及系统、设备、存储介质
CN113839853A (zh) * 2021-08-24 2021-12-24 云智联网络科技(北京)有限公司 一种高并发聊天室消息分发方法及装置
CN113923107A (zh) * 2021-10-14 2022-01-11 海南车智易通信息技术有限公司 即时通讯的多个通道自动切换方法、装置、设备及介质
CN114625625A (zh) * 2022-05-12 2022-06-14 深圳市艾德网络科技发展有限公司 一种基于识别用户行为的事件时序数据处理方法及系统

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734946A (zh) * 2015-04-09 2015-06-24 北京易掌云峰科技有限公司 一种多租户高并发的即时通讯云平台
CN105208014B (zh) 2015-08-31 2018-09-25 腾讯科技(深圳)有限公司 一种语音通信处理方法、电子设备及系统
CN105389219A (zh) * 2015-10-15 2016-03-09 北京乐动卓越科技有限公司 一种跨机房通讯的方法和系统
CN105763618B (zh) * 2016-03-31 2019-08-13 网宿科技股份有限公司 数据传输的方法和装置
CN107302549B (zh) * 2016-04-14 2021-05-25 宾盛科技(武汉)有限公司 一种远程数据传输与存储系统及方法
CN105897898B (zh) * 2016-04-18 2019-03-15 宁波轩悦行电动汽车服务有限公司 租车用户获取车桩信息的系统及负载均衡方法及租车方法
CN105957259B (zh) * 2016-04-18 2018-09-14 宁波轩悦行电动汽车服务有限公司 手机app获取充电桩信息系统及负载均衡方法及租车方法
CN105869299B (zh) * 2016-04-18 2018-07-17 宁波轩悦行电动汽车服务有限公司 电脑终端获取车桩信息的系统及负载均衡方法及租车方法
CN105893628A (zh) * 2016-05-17 2016-08-24 中国农业银行股份有限公司 一种数据实时收集系统及方法
CN107766035A (zh) * 2016-08-18 2018-03-06 北京北信源软件股份有限公司 一种跨平台的即时通信sdk接入系统
CN107783975B (zh) * 2016-08-24 2021-02-26 北京京东尚科信息技术有限公司 分布式数据库同步处理的方法和装置
US10666736B2 (en) * 2017-01-10 2020-05-26 Unify Patente Gmbh & Co. Kg Computer-implemented method and system for managing tenants on a multi-tenant SIP server system
CN106959996B (zh) * 2017-01-20 2020-10-13 华数传媒网络有限公司 一种基于互联网电视的后台数据同步方法
CN106657394B (zh) * 2017-02-10 2020-06-05 浪潮软件科技有限公司 一种基于物联网大数据的设备信息采集系统及方法
CN107025270A (zh) * 2017-03-09 2017-08-08 珠海昊星自动化系统有限公司 一种分布式高性能高并发大数据系统
CN109389352A (zh) * 2017-08-02 2019-02-26 余汶龙 消费养老管理系统
CN108111395A (zh) * 2017-12-12 2018-06-01 安徽携行信息科技有限公司 一种基于通信云技术的即时通讯系统
CN108366127B (zh) * 2018-03-07 2021-05-04 北京奇艺世纪科技有限公司 一种软件包的获取方法及装置
CN109033235A (zh) * 2018-07-04 2018-12-18 北京量子保科技有限公司 一种数据存储双活架构构建方法、系统、介质和电子设备
CN109167719A (zh) * 2018-08-16 2019-01-08 广州爽游网络科技有限公司 一种具有内容智能隔离功能的超大社群实现方法
CN109094609A (zh) * 2018-08-23 2018-12-28 天津市北海通信技术有限公司 基于云服务的列车状态智能监控方法及系统
CN109308193B (zh) * 2018-09-06 2019-08-09 广州市品高软件股份有限公司 一种多租户函数计算服务的并发控制方法
CN109861887B (zh) * 2019-02-27 2020-08-28 浪潮云信息技术股份公司 一种基于Zookeeper的OpenTsdb服务指标聚合方法
CN110189039B (zh) * 2019-06-04 2023-04-25 湖南智慧畅行交通科技有限公司 基于分布式的充电桩事件处理引擎
CN113163016B (zh) * 2021-05-12 2023-08-04 北京阳光云视科技有限公司 网络长连接服务集群化部署系统及控制流程
CN115037748B (zh) * 2022-06-06 2024-05-10 御生活(广州)科技服务有限公司 一种基于物联网的通信中转云平台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291326A (zh) * 2011-07-11 2011-12-21 中兴通讯股份有限公司 一种终端及其即时通讯应用的管理方法及系统
CN103248659A (zh) * 2012-02-13 2013-08-14 北京华胜天成科技股份有限公司 一种云计算资源调度方法和系统
CN103475632A (zh) * 2012-08-06 2013-12-25 苏州沃通信息科技有限公司 一种社交应用平台
CN103513967A (zh) * 2012-06-15 2014-01-15 北京力美科技有限公司 一种将sdk应用到移动广告平台的方法
US20140222568A1 (en) * 2013-04-04 2014-08-07 Madtivity, Inc. Targeted advertisement distribution to mobile devices
CN104734946A (zh) * 2015-04-09 2015-06-24 北京易掌云峰科技有限公司 一种多租户高并发的即时通讯云平台

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333568A (zh) * 2014-07-22 2015-02-04 江苏惠居乐信息科技有限公司 基于cdn和负载均衡技术的家居电商云系统及实现方法
CN104503776A (zh) * 2014-12-01 2015-04-08 北京金和软件股份有限公司 一种在APP开发平台上快速打包android应用程序的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291326A (zh) * 2011-07-11 2011-12-21 中兴通讯股份有限公司 一种终端及其即时通讯应用的管理方法及系统
CN103248659A (zh) * 2012-02-13 2013-08-14 北京华胜天成科技股份有限公司 一种云计算资源调度方法和系统
CN103513967A (zh) * 2012-06-15 2014-01-15 北京力美科技有限公司 一种将sdk应用到移动广告平台的方法
CN103475632A (zh) * 2012-08-06 2013-12-25 苏州沃通信息科技有限公司 一种社交应用平台
US20140222568A1 (en) * 2013-04-04 2014-08-07 Madtivity, Inc. Targeted advertisement distribution to mobile devices
CN104734946A (zh) * 2015-04-09 2015-06-24 北京易掌云峰科技有限公司 一种多租户高并发的即时通讯云平台

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039724A (zh) * 2018-07-23 2018-12-18 北京奇艺世纪科技有限公司 日志上传方法和装置
CN110674080A (zh) * 2019-09-23 2020-01-10 浪潮软件股份有限公司 一种基于NiFi的大数据量非结构文件采集方法及系统
CN110674080B (zh) * 2019-09-23 2023-04-28 浪潮软件股份有限公司 一种基于NiFi的大数据量非结构文件采集方法及系统
CN111915030A (zh) * 2020-07-08 2020-11-10 中山市金马科技娱乐设备股份有限公司 一种游乐设备产品全生命周期管理系统
CN112866091A (zh) * 2021-01-21 2021-05-28 即时匹配(上海)网络科技有限公司 一种即时通讯系统及通讯方法
CN112866091B (zh) * 2021-01-21 2022-09-13 即时匹配(上海)网络科技有限公司 一种即时通讯系统及通讯方法
CN113691611A (zh) * 2021-08-23 2021-11-23 湖南大学 一种区块链的分布式高并发事务处理方法及系统、设备、存储介质
CN113839853A (zh) * 2021-08-24 2021-12-24 云智联网络科技(北京)有限公司 一种高并发聊天室消息分发方法及装置
CN113923107A (zh) * 2021-10-14 2022-01-11 海南车智易通信息技术有限公司 即时通讯的多个通道自动切换方法、装置、设备及介质
CN113923107B (zh) * 2021-10-14 2024-02-23 海南车智易通信息技术有限公司 即时通讯的多个通道自动切换方法、装置、设备及介质
CN114625625A (zh) * 2022-05-12 2022-06-14 深圳市艾德网络科技发展有限公司 一种基于识别用户行为的事件时序数据处理方法及系统

Also Published As

Publication number Publication date
CN104734946A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
WO2016161857A1 (zh) 一种多租户高并发的即时通讯云平台
Wang et al. Integration of networking, caching, and computing in wireless systems: A survey, some research issues, and challenges
US20180167476A1 (en) Meta broker for publish-subscribe-based messaging
KR102277186B1 (ko) 애플리케이션 서비스 아바타를 통한 애플리케이션 서비스 전달
CN109905409A (zh) 基于Socket.IO的物联网网关实时双向通信系统
US9246819B1 (en) System and method for performing message-based load balancing
US10148565B2 (en) OPENFLOW communication method and system, controller, and service gateway
CN106464687A (zh) 经由用户隧道通信的客户端应用程序
CN107172187A (zh) 一种负载均衡系统和方法
JP2013257798A (ja) データ収集システムおよびデータ収集方法
CN109417439A (zh) 用于利用icn的基于动态配置网络编码的多源分组传输的过程
CN110855634A (zh) 基于安全网络下的跨网交换服务系统及方法
Liu et al. Object-oriented network: A named-data architecture toward the future Internet
Liu et al. Design and implementation on a LoRa system with edge computing
Di Luccio et al. Vessel to shore data movement through the internet of floating things: A microservice platform at the edge
CN108494848B (zh) 基于mqtt的企业消息推送方法
Wang et al. CDLB: a cross-domain load balancing mechanism for software defined networks in cloud data centre
CN111355785A (zh) 一种基于cmsp的ftp安全传输系统及方法
Tucic et al. Networking layer for unifying distributed smart home entities
Bano et al. Kafkafed: Two-tier federated learning communication architecture for internet of vehicles
CN104378419A (zh) 一种数据高速推送的方法及系统
CN105100101A (zh) 一种基于ssl会话的方法、装置及系统
CN115361455A (zh) 一种数据传输存储方法、装置以及计算机设备
Ji et al. A push-notification service for use in the UCWW
CN105960791B (zh) 无状态消息传输路由

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16776032

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16776032

Country of ref document: EP

Kind code of ref document: A1