CN115378895A - 基于即时通信im业务系统定制化消息处理方法 - Google Patents
基于即时通信im业务系统定制化消息处理方法 Download PDFInfo
- Publication number
- CN115378895A CN115378895A CN202211065103.7A CN202211065103A CN115378895A CN 115378895 A CN115378895 A CN 115378895A CN 202211065103 A CN202211065103 A CN 202211065103A CN 115378895 A CN115378895 A CN 115378895A
- Authority
- CN
- China
- Prior art keywords
- user
- message
- session
- server
- service
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
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]
-
- 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/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了基于即时通信IM业务系统定制化消息处理方法,采用了JAVA编程技术,Netty搭建IM系统,Hbase存储聊天信息,Redis数据有效期内多写,MQ广播实时查找需要推送用户,MySQL存储用户信息,聊天列表信息(会话列表)。本发明采用Json消息传输,定义更加灵活和通用,不同需求和消息解析可由客户端直接定义;业务系统和IM系统用户状态保持一致,两个系统用户生命周期一致,更安全;HBase保存聊天信息,Redis同步未读消息,未读消息临时缓存,实现消息写扩展;推送的消息通过MQ广播到所有IM服务器,不需要专门记录用户在某台IM系统上有专有通道,推送指定用户功能解耦。
Description
技术领域
本发明涉及的是一种消息处理方法,具体涉及一种基于即时通信IM业务系统定制化消息处理方法。
背景技术
在中小型互联网公司,大多数产品都是互联网产品,而大部分互联网产品都需要把用户和用户之间通信联系起来,目前即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。即时通讯技术的运用在业务系统中的场景越来越多如在线客服,在线聊天,在线交友等功能。这些即时通讯的技术仅仅作为软件产品的辅助,但需要符合软件产品的业务消息定制化通讯和聊天窗口展示,目前的大多数IM系统提供基础的消息通讯,消息协议定义好后需要客户端和服务器共同遵守,如果需要定制新消息业务开发,就需要重新和客户端定义新的解析协议。同时IM系统作为独立于业务系统之外的系统,一但建立通讯关系后,通讯功能的业务就转移到IM系统中,业务系统就不能定制化功能推送聊天信息中。
基本原理:
1:启动的IM系统,服务器后端定义消息固定格式,客户端固定解析;
2:用户在进行登陆或注销,并关联IM系统,记录用户在IM系统信息;
3:用户A通过列表找到用户B;
4:通过IM系统指引建立与用户B单独的会话信息,进行独立的数据存储;
5:AB用户通讯数据由IM系统直接相互通讯完成数据转发推送到对应用户。技术手段:
1:使用Netty搭建IM服务器。
2:MySQL用于聊天信息,聊天列表信息,用户信息存储。
3:Redis临时存储用户在IM系统信息。
方法步骤:
1:用户登陆业务服务器,业务服务器同步用户和IM系统;
2:业务服务器鉴权后,请求IM系统的信息,建立自己的独有通讯通道,IM统记录用户所在的IM系统信息;
3:用户找找需要联系的用户,建立聊天关系,此时业务流转到IM系统;
4:用户发送消息,IM系统接受消息,并查找用户所在IM系统,把请求转移到对应的IM系统中,由对应的IM系统处理给接收方推送消息;
5:推送消息过程中将聊天信息保存,方便历史消息和未读消息查询。
数据结构:
历史消息MySQL:自增id |消息类型|内容|创建时间时间|发送人|接收会话|
会话列表MySQL:会话id|用户id |
未读列表MySQL:会话id|用户id |历史消息id|读取状态
随着互联网的发展,针对传统行业和互联网行业中即时通讯越发重要,各种各样的即时通讯软件也层出不穷;即时通讯IM系统也提供了越来越丰富的通讯功能,但是目前IM系统的设计仅提供相关用户所操作的消息数据的发送和接收,对于不同的数据,消息接收方并不能根据业务需要做定制化的展示,不能针对具体数据做具体解析后展示定制化的业务需求。其次是现在IM系统是纯粹的聊天系统,不能和业务系统的业务结合往聊天列表中推送由不同业务系统所需定制化消息,IM系统推送消息给指定用户需要自己查询用户是否在某个IM系统中有专有通道,再由对应的IM系统处理完成推送。
综上所述,本发明设计了一种基于即时通信IM业务系统定制化消息处理方法。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种基于即时通信IM业务系统定制化消息处理方法,
为了实现上述目的,本发明是通过如下的技术方案来实现:基于即时通信IM业务系统定制化消息处理方法,包括以下步骤:
1:使用Netty搭建IM服务器并启动,制定通讯协议,使用json系列化消息传输,json序列化是采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得数据交换通用性;
2:用户在业务服务器注册或者登陆或者退出,将用户信息同步到IM服务器,使用MySQL存储用户信息,和用户业务系统登陆的有效期,将用户业务服务用户信息和IM服务器做绑定,包括生命周期的绑定,这样保证了用户必须是业务服务器上可以操作的用户才能进入IM系统使用功能;
3:用户登陆业务系统后获取IM系统的信息,建立属于自己的独有通讯通道。并且拉取自己的会话列表,和未读消息;
4:用户选择需要建立聊天的用户,在IM系统建立聊天会话,并将会话保存在mysql中。后续聊天会话列表查询从mysql中直接查询;
5:用户发起消息到自己的会话中,消息到达服务器后,根据会话中的用户推送给相对于的用户,把需要推送的消息通过MQ广播到所有IM服务器,如果服务器有该用户专有通讯通道直接推送消息,并且保存联系消息到HBase中,如果没有专有通道,说明用户不在线,此时消息需要保留一份未读消息到redis中设置有效期,并且同步保存联系消息到HBase中。
6:业务系统处理过程中,可以往指定会话消息中发送客户端需要的定制化消息。
本发明的数据结构:
历史消息Hbase:自定义RowKey|消息类型|内容|创建时间|发送人|会话id|
会话列表MySQL:会话id|用户id |
Redis未读消息有效期内缓存:zset{Key:用户id| valueJson={消息类型|内容|创建时间}| score:RowKey}。
本发明具有以下有益效果:
1、MySQL仅用户信息和会话列表存储,把历史消息的查询从MySQL转移到Hbase,其中Hbase是PB 级别数据的实时入库和快速随机访问的数据库,有更好的性能支持海量聊天数据的查询,使用Redis做写扩散,并设置有效期,减少MySQL的存储数据量。
2、需用发送消息到指定用户的专有通道由广播形式查找用户的专有通道,不需要专门记录用户的通道信息,实现了IM服务器直接的解耦。
3、使用Json传输,把消息和类型包装在Json消息格式内部,服务器无需关心消息的定义,只做消息透传,由客户端自己定义定制化消息格式和类型,实现消息的定制处理。
4、用户建立会话后,用户的信息依旧在业务服务中,业务服务器可以定制化往用户的会话中增加消息,并由客户端根据定制化消息做出不同的展示和业务处理。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明的方法流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参照图1,本具体实施方式采用以下技术方案:基于即时通信IM业务系统定制化消息处理方法,包括以下步骤:
1:使用Netty搭建IM服务器并启动,制定通讯协议,使用json系列化消息传输,json序列化是采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得数据交换通用性;
2:用户在业务服务器注册或者登陆或者退出,将用户信息同步到IM服务器,使用MySQL存储用户信息,和用户业务系统登陆的有效期,将用户业务服务用户信息和IM服务器做绑定,包括生命周期的绑定,这样保证了用户必须是业务服务器上可以操作的用户才能进入IM系统使用功能;
3:用户登陆业务系统后获取IM系统的信息,建立属于自己的独有通讯通道。并且拉取自己的会话列表,和未读消息;
4:用户选择需要建立聊天的用户,在IM系统建立聊天会话,并将会话保存在mysql中。后续聊天会话列表查询从mysql中直接查询;
5:用户发起消息到自己的会话中,消息到达服务器后,根据会话中的用户推送给相对于的用户,把需要推送的消息通过MQ广播到所有IM服务器,如果服务器有该用户专有通讯通道直接推送消息,并且保存联系消息到HBase中,如果没有专有通道,说明用户不在线,此时消息需要保留一份未读消息到redis中设置有效期,并且同步保存联系消息到HBase中。
6:业务系统处理过程中,可以往指定会话消息中发送客户端需要的定制化消息。
数据结构:
历史消息Hbase:自定义RowKey|消息类型|内容|创建时间|发送人|会话id|
会话列表MySQL:会话id|用户id |
Redis未读消息有效期内缓存:zset{Key:用户id| valueJson={消息类型|内容|创建时间}| score:RowKey}。
本具体实施方式采用了JAVA编程技术,Netty搭建IM系统,Hbase存储聊天信息,Redis数据有效期内多写,MQ广播实时查找需要推送用户,MySQL存储用户信息,聊天列表信息(会话列表)。
本具体实施方式采用Json消息传输,定义更加灵活和通用,不同需求和消息解析可由客户端直接定义;业务系统和IM系统用户状态保持一致,两个系统用户生命周期一致,更安全;HBase保存聊天信息,Redis同步未读消息,未读消息临时缓存,实现消息写扩展;推送的消息通过MQ广播到所有IM服务器,不需要专门记录用户在某台IM系统上有专有通道,推送指定用户功能解耦。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.基于即时通信IM业务系统定制化消息处理方法,其特征在于,包括以下步骤:
(1)使用Netty搭建IM服务器并启动,制定通讯协议,使用json系列化消息传输,json序列化是采用完全独立于编程语言的文本格式来存储和表示数据;简洁和清晰的层次结构使得数据交换通用性;
(2)用户在业务服务器注册或者登陆或者退出,将用户信息同步到IM服务器,使用MySQL存储用户信息,和用户业务系统登陆的有效期,将用户业务服务用户信息和IM服务器做绑定,包括生命周期的绑定,这样保证了用户必须是业务服务器上可以操作的用户才能进入IM系统使用功能;
(3)用户登陆业务系统后获取IM系统的信息,建立属于自己的独有通讯通道;并且拉取自己的会话列表,和未读消息;
(4)用户选择需要建立聊天的用户,在IM系统建立聊天会话,并将会话保存在mysql中;后续聊天会话列表查询从mysql中直接查询;
(5)用户发起消息到自己的会话中,消息到达服务器后,根据会话中的用户推送给相对于的用户,把需要推送的消息通过MQ广播到所有IM服务器,如果服务器有该用户专有通讯通道直接推送消息,并且保存联系消息到HBase中,如果没有专有通道,说明用户不在线,此时消息需要保留一份未读消息到redis中设置有效期,并且同步保存联系消息到HBase中;
(6)业务系统处理过程中,可以往指定会话消息中发送客户端需要的定制化消息。
2.根据权利要求1所述的基于即时通信IM业务系统定制化消息处理方法,其特征在于,所述的消息处理方法的数据结构:
历史消息Hbase:自定义RowKey|消息类型|内容|创建时间|发送人|会话id|;
会话列表MySQL:会话id|用户id |;
Redis未读消息有效期内缓存:zset{Key:用户id| valueJson={消息类型|内容|创建时间}| score:RowKey}。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211065103.7A CN115378895A (zh) | 2022-09-01 | 2022-09-01 | 基于即时通信im业务系统定制化消息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211065103.7A CN115378895A (zh) | 2022-09-01 | 2022-09-01 | 基于即时通信im业务系统定制化消息处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115378895A true CN115378895A (zh) | 2022-11-22 |
Family
ID=84069664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211065103.7A Pending CN115378895A (zh) | 2022-09-01 | 2022-09-01 | 基于即时通信im业务系统定制化消息处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378895A (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979555A (zh) * | 2005-12-06 | 2007-06-13 | 腾讯科技(深圳)有限公司 | 在即时通信客户端展示电子商务用户信息的系统和方法 |
CN101146051A (zh) * | 2007-11-07 | 2008-03-19 | 腾讯科技(深圳)有限公司 | 一种企业级即时通信互联系统及其实现企业互联的方法 |
US20080101561A1 (en) * | 2005-07-08 | 2008-05-01 | Nhn Corporation | Messenger notification system and method using synchronization server |
CN101207580A (zh) * | 2007-12-25 | 2008-06-25 | 腾讯科技(深圳)有限公司 | 即时通信平台和业务平台同步增删联系人的方法及系统 |
CN102263661A (zh) * | 2011-07-21 | 2011-11-30 | 苏州阔地网络科技有限公司 | 一种用户会话的备份切换方法及系统 |
CN102510357A (zh) * | 2011-09-26 | 2012-06-20 | 深圳中兴网信科技有限公司 | 一种企业组织架构通讯录的同步方法及其系统 |
TW201437930A (zh) * | 2013-03-25 | 2014-10-01 | Imar Technology Co Ltd | 企業多層次組織管理社群網路服務系統 |
CN104794609A (zh) * | 2015-05-18 | 2015-07-22 | 北京北信源软件股份有限公司 | 一种支持企业协同办公的即时通信系统 |
WO2017095215A1 (en) * | 2015-11-30 | 2017-06-08 | Linkdood Technologies Sdn Bhd | A type of enterprise level instant messaging(im) system and method that supports cross system messaging |
CN108234280A (zh) * | 2016-12-21 | 2018-06-29 | 青岛祥智电子技术有限公司 | 一种支持企业协同办公的即时通信系统 |
CN109286555A (zh) * | 2018-09-18 | 2019-01-29 | 南方科技大学 | 一种医院即时通讯系统及方法 |
CN110213156A (zh) * | 2019-05-07 | 2019-09-06 | 中电莱斯信息系统有限公司 | 一种跨中心群组即时通信方法和系统 |
CN112601213A (zh) * | 2020-12-29 | 2021-04-02 | 上海博路信息技术有限公司 | 一种基于短距无线技术的通信方法 |
CN112862435A (zh) * | 2021-01-30 | 2021-05-28 | 郑州信大捷安信息技术股份有限公司 | 一种基于浏览器的融合办公方法和系统 |
CN113489634A (zh) * | 2021-06-16 | 2021-10-08 | 中企链信(北京)科技有限公司 | 一种企业间协同即时通讯扩展方法 |
CN114500420A (zh) * | 2021-12-24 | 2022-05-13 | 浙江融象数字科技有限公司 | 融合业务处理的聊天沟通系统 |
CN114710458A (zh) * | 2022-03-21 | 2022-07-05 | 北京明略昭辉科技有限公司 | 对象匹配系统、方法、装置、设备及计算机可读介质 |
-
2022
- 2022-09-01 CN CN202211065103.7A patent/CN115378895A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080101561A1 (en) * | 2005-07-08 | 2008-05-01 | Nhn Corporation | Messenger notification system and method using synchronization server |
CN1979555A (zh) * | 2005-12-06 | 2007-06-13 | 腾讯科技(深圳)有限公司 | 在即时通信客户端展示电子商务用户信息的系统和方法 |
CN101146051A (zh) * | 2007-11-07 | 2008-03-19 | 腾讯科技(深圳)有限公司 | 一种企业级即时通信互联系统及其实现企业互联的方法 |
CN101207580A (zh) * | 2007-12-25 | 2008-06-25 | 腾讯科技(深圳)有限公司 | 即时通信平台和业务平台同步增删联系人的方法及系统 |
CN102263661A (zh) * | 2011-07-21 | 2011-11-30 | 苏州阔地网络科技有限公司 | 一种用户会话的备份切换方法及系统 |
CN102510357A (zh) * | 2011-09-26 | 2012-06-20 | 深圳中兴网信科技有限公司 | 一种企业组织架构通讯录的同步方法及其系统 |
TW201437930A (zh) * | 2013-03-25 | 2014-10-01 | Imar Technology Co Ltd | 企業多層次組織管理社群網路服務系統 |
CN104794609A (zh) * | 2015-05-18 | 2015-07-22 | 北京北信源软件股份有限公司 | 一种支持企业协同办公的即时通信系统 |
WO2017095215A1 (en) * | 2015-11-30 | 2017-06-08 | Linkdood Technologies Sdn Bhd | A type of enterprise level instant messaging(im) system and method that supports cross system messaging |
CN108234280A (zh) * | 2016-12-21 | 2018-06-29 | 青岛祥智电子技术有限公司 | 一种支持企业协同办公的即时通信系统 |
CN109286555A (zh) * | 2018-09-18 | 2019-01-29 | 南方科技大学 | 一种医院即时通讯系统及方法 |
CN110213156A (zh) * | 2019-05-07 | 2019-09-06 | 中电莱斯信息系统有限公司 | 一种跨中心群组即时通信方法和系统 |
CN112601213A (zh) * | 2020-12-29 | 2021-04-02 | 上海博路信息技术有限公司 | 一种基于短距无线技术的通信方法 |
CN112862435A (zh) * | 2021-01-30 | 2021-05-28 | 郑州信大捷安信息技术股份有限公司 | 一种基于浏览器的融合办公方法和系统 |
CN113489634A (zh) * | 2021-06-16 | 2021-10-08 | 中企链信(北京)科技有限公司 | 一种企业间协同即时通讯扩展方法 |
CN114500420A (zh) * | 2021-12-24 | 2022-05-13 | 浙江融象数字科技有限公司 | 融合业务处理的聊天沟通系统 |
CN114710458A (zh) * | 2022-03-21 | 2022-07-05 | 北京明略昭辉科技有限公司 | 对象匹配系统、方法、装置、设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3360311B1 (en) | Device identifier dependent operation processing of packet based data communication | |
CN101155049B (zh) | 一种消息系统中会话历史处理方法及消息系统 | |
US9615223B2 (en) | Electronic messaging technology | |
CN101076184B (zh) | 一种实现自动应答的系统及方法 | |
US9425973B2 (en) | Resource-based synchronization between endpoints in a web-based real time collaboration | |
CN102016820B (zh) | 数据转发架构中的实时通信 | |
CN103442345B (zh) | 用于互配融合消息服务的方法 | |
US20070168480A1 (en) | Interactive Robot Creation | |
CN107580306B (zh) | 一种转发多媒体消息的方法和系统 | |
US20130110935A1 (en) | Data push service method and system using data pull model | |
US11095580B2 (en) | Instant message (IM) routing to a virtual user consisting of a group of possible sub-users associated with a common IM identity | |
KR101663009B1 (ko) | 통신 네트워크에서의 메시지 저장 관리를 위한 서버, 장치 및 방법 | |
CN109040017B (zh) | 一种基于mqtt和http的智能客服系统及实现方法 | |
KR20010025658A (ko) | 멀티 메시징 서비스를 이용한 푸시 포탈 에이전트 서비스방법 | |
CN101471892B (zh) | 即时通讯系统中自动语音应答的方法及系统 | |
CN103020136A (zh) | 地理信息实时互动系统及方法 | |
CN109921983A (zh) | 一种多语言聊天移动应用 | |
CN115378895A (zh) | 基于即时通信im业务系统定制化消息处理方法 | |
CN101753479B (zh) | 即时通信系统、方法及其相关装置 | |
CN113259619A (zh) | 信息发送及显示方法、装置、存储介质和会议系统 | |
US8081760B2 (en) | Offline message security via selective data replication | |
US20070276913A1 (en) | Providing Access to Missed Text Messages in a Real-Time Text-Messaging Conference | |
CN107819831B (zh) | 一种基于metaq及mns的通用消息系统 | |
CN101789910B (zh) | 融合消息业务中实现会谈历史记录的方法及装置 | |
JP2010128888A (ja) | アーカイブサービスシステム及び方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20221122 |
|
WD01 | Invention patent application deemed withdrawn after publication |