CN109167719A - 一种具有内容智能隔离功能的超大社群实现方法 - Google Patents
一种具有内容智能隔离功能的超大社群实现方法 Download PDFInfo
- Publication number
- CN109167719A CN109167719A CN201810934734.5A CN201810934734A CN109167719A CN 109167719 A CN109167719 A CN 109167719A CN 201810934734 A CN201810934734 A CN 201810934734A CN 109167719 A CN109167719 A CN 109167719A
- Authority
- CN
- China
- Prior art keywords
- user
- message
- super large
- data
- community
- 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
- 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]
- H04L51/046—Interoperability with other network applications or services
-
- 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/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- 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/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- 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/55—Push-based network services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种具有内容智能隔离功能的超大社群实现方法,通过调用RedisManager类里面的setString()/rpushList()/lpushList()/hSetHash()方法写入缓存、并通过多台服务器的高可用分布式集群把大量的用户数据分块处理;通过预加载、懒加载、批处理加载用户的数据,并对用户发送的消息进行智能隔离。本发明能让一个群能装过万甚至更多的用户,通过智能隔离技术,可以让企业的产品与服务的内容通达所有客户,同时,群里的成员只有好友间的信息才互相可见。
Description
技术领域
本发明涉及即时通信技术领域,尤其是一种具有内容智能隔离功能的超大社群实现方法。
背景技术
随着通信技术的发展,越来越多的企业通过各种通讯软件对客户进行建群宣传和推广。目前已经存在的及时通讯技术:微信、QQ、陌陌、钉钉等互联网平台,但这些目前存在的技术,都没有去承载一个群能装过万用户;同时,企业通过现有的这些及时通讯去接触自己的客户,有如下几点不足:
(1)企业每年都要花不少的市场宣传、推广成本,但客户是被销售或者接触客户的员工加到微信去了,一旦员工离开,客户也会被带走;
(2)企业自己建立客户营销组织,通过微信、QQ等互联网平台,要创建和运营成百上千的群,运营这些群的员工根本管不了这么多群;
(3)如果有客人在里面发广告或者危害社会稳定的等内容,所有群成员都看到这些内容了,群主也无法对内容进行撤回或者管控;
(4)企业的微信服务号、官网并不能唤醒客户,没法对客户进行二次营销或者促使ta进行消费升级;
(5)微信、QQ不会把群里的用户信息、用户行为给到企业。
发明内容
针对上述不足之处,本发明提供了一种具有内容智能隔离功能的超大社群实现方法,能让一个群能装过万甚至更多的用户,通过智能隔离技术,可以让企业的产品与服务的内容通达所有客户,同时,群里的成员只有好友间的信息才互相可见。
为了实现上述目的,本发明采用的技术方案如下:
一种具有内容智能隔离功能的超大社群实现方法,通过调用RedisManager类里面的setString()/rpushList()/lpushList()/hSetHash()方法写入缓存、并通过多台服务器的高可用分布式集群把大量的用户数据分块处理;通过预加载、懒加载、批处理加载用户的数据,并对用户发送的消息进行智能隔离。
进一步的,前端显示通过预加载、懒加载、批处理加载用户的数据的方法包括如下步骤:
(1)预加载用户的数据:在用户进入超大社群时,优先在用户数据缓存池中获取匹配超大社群的一个用户块,通过对用户块的批处理,实现用户数据可视化转换;
(2)激活懒加载:随着用户继续浏览到差不多数据最后的瞬间激活懒加载。
进一步的,瞬间激活懒加载的方法为:先在用户数据缓存池中获取匹配超大社群的下一个用户块,通过对下一个用户块的批处理,实现其他用户浏览到该用户数据时,再通过网络请求实现该用户数据可视化转换。
再进一步的,对用户发送的消息进行智能隔离的方法包括如下步骤:
(1)处理任一用户A发送的消息:服务端接收到用户A所发的消息,根据不同的消息类型把消息储存到不同的消息数据块,再通过异步处理把消息数据存到物理数据库中,保证消息数据的持久化和完整性;
(2)判断用户A是否是群主或副群主,若否则进行步骤(3)和(4),若是则进行步骤(5);
(3)服务端根据在超大社群中其他用户和用户A的关系来进行消息推送:首先在超大社群用户数据块中获取超大社群的群主和副群主,其次再通过推送服务把内容推送给超大社群的群主和副群主,通过推送服务判断群主和副群主是否在社群内,如果在社群内,则消息自动在现有的最后一条消息之后出现;如果没有在超大社群内,则通过终端设备顶部推送来唤醒用户;
(4)把用户A所发的消息推送给用户A好友的用户:从用户数据缓存池中,获取用户A在超大社群是好友的用户,再通过消息推送,把用户A所发的消息推送给用户A好友的用户,而和用户A没有关系的用户,则不会推送消息,并看不到用户A所发的消息;
(5)服务器处理消息内容后通过推送把消息推送给超大社群的所有人。
更进一步的,服务器处理消息内容后通过推送把消息推送给超大社群的所有人的方法为:用户发消息后通过后台异步请求RabbitMQ发送routing.push.slience.msg通知的内容到notifyServe中间件,再通过notifyServe的PushMessageHanlder类接收到推送后,开始执行PushAsyncEvent类的异步事件进行推送,中间件获得需要推送的用户加入推送队列缓存。
与现有技术相比,本发明具有以下有益效果:
本发明本发明能让一个群能装过万甚至更多的用户,通过智能隔离技术,可以让企业的产品与服务的内容通达所有客户,同时,群里的成员只有好友间的信息才互相可见,群主和副群主可看所有人的消息,群主和副群主所发的消息是所有人可看的,方便企业管理。企业可以留存、接触、通达客户,客户不再是静默躺在数据库中的客户信息,客户也不仅是由销售接触了;企业的产品与服务,可以一次性通达全部客户,让客户产生更多的复购和消费升级;企业只需要2个人就能运营企业的社群,能服务大量用户,极大减低运营成本。
附图说明
图1为本发明的好友关系在超大社群内所看内容隔离示意框图。
图2为本发明的社群身份在超大社群内所发内容隔离示意框图。
图3为本发明的社群数据生产步骤流程图。
图4为本发明的社群数据缓存数据机制流程图。
图5为本发明的消息推送流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例:
超大社群的用户是由群主、副群主、群友三种身份组成,并且每个社群都有一个群主属性和一个副群主列表,其中群主为最高权限者,可以把群友设置为副群主或者解除副群主,副群主主要辅助群主管理整个超大社群,可以消息撤回、禁言、拉黑群友,群友是超大社群的主要组成部分,可以在超大社群内通过文字、图片、视频等消息类型来分享或者提问。有了大量的用户,也会产生大量的消息,所以超大社群还需要消息的智能隔离。
基于此,本发明提供了一种具有内容智能隔离功能的超大社群实现方法:所有用户通过缓存技术分布式管理用户数据,后台调用RedisManager类里面的setString()/rpushList()/lpushList()/hSetHash()方法写入缓存、并通过多台服务器的高可用分布式集群,把大量的用户数据分块处理;前端显示通过预加载、懒加载、批处理加载用户的数据,并对用户发送的消息进行智能隔离。其中,多台服务器的高可用分布式集群主要预防主机宕机后缓存池停止服务。在正常情况下主机对外提供服务,并把数据同步到备机,当主机宕机后,备机立刻开始服务。客户端通过虚拟IP进行数据操作,正常期间主机一直对外提供服务,宕机后自动漂移到备机上。备机数据同步使用的方式是异步方式:Master节点首先保证对外部请求的响应性能,它和Slave节点的数据同步一般由一个新的进程/线程独立完成。数据复制过程由Slave节点周期性发起或者由它一直驻留在Master节点的连接进行实时监控又或者由Master节点主动推送数据,再或者是同时使用多个异步复制过程。
前端显示通过预加载、懒加载、批处理用于实现加载大量用户数据,防止一次性加载太多用户数据导致打开超大社群速度慢或者崩溃,其具体方法包括如下步骤:
(1)预加载用户的数据:在用户进入超大社群时,优先在用户数据缓存池中获取匹配超大社群的一个用户块,通过对用户块的批处理,实现用户数据可视化转换;不会造成网络堵塞看不到用户数据的情况,在用户进入超大社群后,可以自己看到数据,而不用等待,提升用户体验;
(2)激活懒加载:随着用户继续浏览到差不多数据最后的瞬间激活懒加载,具体方法为:先在用户数据缓存池中获取匹配超大社群的下一个用户块,通过对下一个用户块的批处理,实现其他用户浏览到该用户数据时,再通过网络请求实现该用户数据可视化转换。该过程所消耗的网络流量非常少,可以无卡顿显示用户数据。批处理技术不需要编写一直运行的多线程的作业处理应用程序,而是启动一个简单的批处理脚本,进行数据分批处理。这个脚本判断是否有作业要处理,执行作业,然后退出,不需要担心内存泄漏,也不需要担心线程停止或陷入无限循环。
有了大量的用户,也会产生大量的消息,这就需要对用户发送的消息进行智能隔离,其方法包括如下步骤:
(1)处理任一用户A发送的消息:服务端接收到用户A所发的消息,根据不同的消息类型把消息储存到不同的消息数据块,再通过异步处理把消息数据存到物理数据库中,保证消息数据的持久化和完整性;
(2)判断用户A是否是群主或副群主,若否则进行步骤(3)和(4),若是则进行步骤(5);
(3)服务端根据在超大社群中其他用户和用户A的关系来进行消息推送:首先在超大社群用户数据块中获取超大社群的群主和副群主,其次再通过推送服务把内容推送给超大社群的群主和副群主,通过推送服务判断群主和副群主是否在社群内,如果在社群内,则消息自动在现有的最后一条消息之后出现;如果没有在超大社群内,则通过终端设备顶部推送来唤醒用户;
(4)把用户A所发的消息推送给用户A好友的用户:从用户数据缓存池中,获取用户A在超大社群是好友的用户,再通过消息推送,把用户A所发的消息推送给用户A好友的用户,而和用户A没有关系的用户,则不会推送消息,并看不到用户A所发的消息;智能隔离是不针对群主和副群主的,群主和副群主是可看所有人的消息。
(5)服务器处理消息内容后通过推送把消息推送给超大社群的所有人,其具体方法为:用户发消息后通过后台异步请求RabbitMQ发送routing.push.slience.msg通知的内容到notifyServe中间件,再通过notifyServe的PushMessageHanlder类接收到推送后,开始执行PushAsyncEvent类的异步事件进行推送,中间件获得需要推送的用户加入推送队列缓存。该推送方法可以处理较大的负载量,不会导致卡死。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。
Claims (5)
1.一种具有内容智能隔离功能的超大社群实现方法,其特征在于,通过调用RedisManager类里面的setString()/rpushList()/lpushList()/hSetHash()方法写入缓存、并通过多台服务器的高可用分布式集群把大量的用户数据分块处理;通过预加载、懒加载、批处理加载用户的数据,并对用户发送的消息进行智能隔离。
2.根据权利要求1所述的一种具有内容智能隔离功能的超大社群实现方法,其特征在于,前端显示通过预加载、懒加载、批处理加载用户的数据的方法包括如下步骤:
(1)预加载用户的数据:在用户进入超大社群时,优先在用户数据缓存池中获取匹配超大社群的一个用户块,通过对用户块的批处理,实现用户数据可视化转换;
(2)激活懒加载:随着用户继续浏览到差不多数据最后的瞬间激活懒加载。
3.根据权利要求2所述的一种具有内容智能隔离功能的超大社群实现方法,其特征在于,瞬间激活懒加载的方法为:先在用户数据缓存池中获取匹配超大社群的下一个用户块,通过对下一个用户块的批处理,实现其他用户浏览到该用户数据时,再通过网络请求实现该用户数据可视化转换。
4.根据权利要求1~3任一项所述的一种具有内容智能隔离功能的超大社群实现方法,其特征在于,对用户发送的消息进行智能隔离的方法包括如下步骤:
(1)处理任一用户A发送的消息:服务端接收到用户A所发的消息,根据不同的消息类型把消息储存到不同的消息数据块,再通过异步处理把消息数据存到物理数据库中,保证消息数据的持久化和完整性;
(2)判断用户A是否是群主或副群主,若否则进行步骤(3)和(4),若是则进行步骤(5);
(3)服务端根据在超大社群中其他用户和用户A的关系来进行消息推送:首先在超大社群用户数据块中获取超大社群的群主和副群主,其次再通过推送服务把内容推送给超大社群的群主和副群主,通过推送服务判断群主和副群主是否在社群内,如果在社群内,则消息自动在现有的最后一条消息之后出现;如果没有在超大社群内,则通过终端设备顶部推送来唤醒用户;
(4)把用户A所发的消息推送给用户A好友的用户:从用户数据缓存池中,获取用户A在超大社群是好友的用户,再通过消息推送,把用户A所发的消息推送给用户A好友的用户,而和用户A没有关系的用户,则不会推送消息,并看不到用户A所发的消息;
(5)服务器处理消息内容后通过推送把消息推送给超大社群的所有人。
5.根据权利要求4所述的一种具有内容智能隔离功能的超大社群实现方法,其特征在于,服务器处理消息内容后通过推送把消息推送给超大社群的所有人的方法为:用户发消息后通过后台异步请求RabbitMQ发送routing.push.slience.msg通知的内容到notifyServe中间件,再通过notifyServe的PushMessageHanlder类接收到推送后,开始执行PushAsyncEvent类的异步事件进行推送,中间件获得需要推送的用户加入推送队列缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810934734.5A CN109167719A (zh) | 2018-08-16 | 2018-08-16 | 一种具有内容智能隔离功能的超大社群实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810934734.5A CN109167719A (zh) | 2018-08-16 | 2018-08-16 | 一种具有内容智能隔离功能的超大社群实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109167719A true CN109167719A (zh) | 2019-01-08 |
Family
ID=64895957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810934734.5A Pending CN109167719A (zh) | 2018-08-16 | 2018-08-16 | 一种具有内容智能隔离功能的超大社群实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109167719A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414999A (zh) * | 2019-07-23 | 2019-11-05 | 复旦大学 | 一种基于社群系统的服务质量管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475566A (zh) * | 2013-07-10 | 2013-12-25 | 北京发发时代信息技术有限公司 | 一种实时消息交换平台及分布式集群组建方法 |
US20140172995A1 (en) * | 2012-12-14 | 2014-06-19 | Facebook., Inc. | Suggesting Opt-out of Notifications to Users of a Social Networking System |
CN104144100A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 海量群组通信的实现方法和系统 |
CN104734946A (zh) * | 2015-04-09 | 2015-06-24 | 北京易掌云峰科技有限公司 | 一种多租户高并发的即时通讯云平台 |
CN105554522A (zh) * | 2015-12-16 | 2016-05-04 | 广州酷狗计算机科技有限公司 | 在群组内播放音频的方法、服务器及终端 |
-
2018
- 2018-08-16 CN CN201810934734.5A patent/CN109167719A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140172995A1 (en) * | 2012-12-14 | 2014-06-19 | Facebook., Inc. | Suggesting Opt-out of Notifications to Users of a Social Networking System |
CN104144100A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 海量群组通信的实现方法和系统 |
CN103475566A (zh) * | 2013-07-10 | 2013-12-25 | 北京发发时代信息技术有限公司 | 一种实时消息交换平台及分布式集群组建方法 |
CN104734946A (zh) * | 2015-04-09 | 2015-06-24 | 北京易掌云峰科技有限公司 | 一种多租户高并发的即时通讯云平台 |
CN105554522A (zh) * | 2015-12-16 | 2016-05-04 | 广州酷狗计算机科技有限公司 | 在群组内播放音频的方法、服务器及终端 |
Non-Patent Citations (2)
Title |
---|
宁川: "从一个简单的消息服务,看云计算架构的真容", 《HTTP://WWW.CLOUDTIMEMAG.COM/CONTENT.PHP?ID=10000165025908》 * |
网易云信: "IM即时通讯服务端API文档", 《HTTPS://DEV.YUNXIN.163.COM/DOCS/PRODUCT/IM即时通讯/服务端API文档》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414999A (zh) * | 2019-07-23 | 2019-11-05 | 复旦大学 | 一种基于社群系统的服务质量管理系统 |
CN110414999B (zh) * | 2019-07-23 | 2023-04-07 | 复旦大学 | 一种基于社群系统的服务质量管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754846B2 (en) | Age-based policies for determining database cache hits | |
CN108365971A (zh) | 日志解析方法、设备及计算机可读介质 | |
WO2016127720A1 (zh) | 一种数据互通的方法,及数据互通设备 | |
CN109582722A (zh) | 公安资源数据服务系统 | |
CN104537000B (zh) | 一种用于推送信息的方法和装置 | |
CN104899274B (zh) | 一种内存数据库高效远程访问方法 | |
US20100217872A1 (en) | Notification model over a server-to-server connection pool | |
CN102300009A (zh) | 用于无队列呼叫中心的视图及衡量标准 | |
EP2805254A1 (en) | Presence-based synchronization | |
US20220224663A1 (en) | Message Display Method and Apparatus, Terminal, and Computer-Readable Storage Medium | |
CN103455908A (zh) | 云环境中的头脑风暴 | |
TWI437446B (zh) | 一種微博用戶端、微博消息之聚合方法以及即時通信用戶端 | |
US20130132828A1 (en) | Method and apparatus for implementing microblog message pages | |
CN104899161B (zh) | 一种基于云存储环境的连续数据保护的缓存方法 | |
CN105279159B (zh) | 联系人的提示方法和装置 | |
CN109151056B (zh) | 基于Canal的消息推送方法和系统 | |
CN109525466A (zh) | 数据节点监听方法及装置 | |
CN109992325B (zh) | 信息显示方法、装置、存储介质和电子装置 | |
CN104509029B (zh) | 在通信系统中更新个人信息的方法及装置 | |
CN106250501B (zh) | 报表处理方法及报表系统 | |
CN109167719A (zh) | 一种具有内容智能隔离功能的超大社群实现方法 | |
CN104320330A (zh) | 一种电子论坛的信息发布方法 | |
CN103023944A (zh) | 一种sns网络中推送关联用户的方法及系统 | |
CN109672721A (zh) | 媒体文件推送方法、装置、服务端及计算机可读存储介质 | |
CN106230871A (zh) | 一种基于云技术的网络游戏平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
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: 20190108 |