CN110912803A - 一种im消息传输方法及终端 - Google Patents
一种im消息传输方法及终端 Download PDFInfo
- Publication number
- CN110912803A CN110912803A CN201911114684.7A CN201911114684A CN110912803A CN 110912803 A CN110912803 A CN 110912803A CN 201911114684 A CN201911114684 A CN 201911114684A CN 110912803 A CN110912803 A CN 110912803A
- Authority
- CN
- China
- Prior art keywords
- message
- forwarding
- data
- receiving end
- target message
- 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.)
- Granted
Links
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消息传输方法及终端,属于通讯技术领域,包括:在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的目标消息进行序列化处理,得到接收端可识别的序列化数据;生成包含序列化数据的通信消息;向接收端发送携带有序列化数据的通信消息。本申请通过将目标消息序列化成接收端能够识别的数据,从而使得接收端能够还原目标消息的原始含义。
Description
技术领域
本申请涉及通讯技术领域,尤其涉及一种IM消息传输及终端。
背景技术
转发IM((Instant Messaging,即时通信)消息是常见的信息同步、信息分享的手段,也是常见的用户操作,所以消息转发的广度和深度必然成为首要考量因素。
现有的IM消息转发方式,根据消息转发的去向,一般分为两类。
一、应用内转发,即同一应用程序的客户端之间的消息转发;
二、应用外转发,即不同应用程序的客户端之间的消息转发。
然而,现有技术存在以下问题:
1、现有技术目前无法实现应用外转发。
2、在应用内转发时,能够支持转发的消息类型很少,转发后不能还原最初的消息样式,例如,表情转发过去后可能用文字或者图片代替显示。
3、在合并转发时,一般是直接对用户选中的数据进行合并,然后以通信消息的形式转发给接收端。然而,接收端在解析通用消息的数据时,有可能不能识别某些数据的具体含义,从而导致转发的消息出现错误。例如:原始消息为一个结构化卡片,点击结构化卡片是可以跳转到与结构化卡片相应的网页的,但是目前现有技术合并转发后,看历史记录时再点击该结构化卡片,是不会跳转到相应的网页的。
发明内容
本申请实施例的目的在于提供一种IM消息传输方法及终端,以解决IM消息转发后丢失一些特性的技术问题。具体技术方案如下:
第一方面,本申请提供了一种IM消息传输方法,所述方法应用于所述IM消息的发送端,所述方法包括:
在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的目标消息进行序列化处理,得到所述接收端可识别的序列化数据;
生成包含所述序列化数据的通信消息;
向所述接收端发送携带有所述序列化数据的通信消息。
可选地,所述根据接收端的通讯协议,将需要合并转发的目标消息进行序列化处理,得到所述接收端可识别的序列化数据包括:
将需要合并转发的目标消息添加到合并转发数据结构中以生成消息列表;
根据与接收端约定的协议,将所述消息列表进行序列化处理,得到所述接收端可识别的序列化数据。
可选地,所述将需要合并转发的目标消息添加到合并转发数据结构中以生成消息列表包括:
判断合并转发数据结构是否支持目标消息的数据类型;
若不支持,则按照所述合并转发数据的预设封装规则封装目标消息的数据类型;
将各目标消息按照所述各目标消息的原始数据类型生成消息列表。
可选地,所述序列化数据为二进制数据。
可选地,所述方法还包括:
确定所述目标消息对应的接收端;
如果所述发送端和所述接收端为同一应用程序的客户端,则执行所述在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的所述目标消息进行序列化处理,得到所述接收端可识别的序列化数据的步骤;
如果所述发送端和所述接收端为不同应用程序的客户端,则在接收到转发指令之后,生成包含目标消息的图片,向所述接收端发送所述图片。
可选地,在所述生成包含目标消息的图片之后,所述方法还包括:
在所述图片中添加预设标识信息,所述预设标识信息用于标识图片的来源。
第二方面,本申请提供了一种IM消息传输方法,所述方法应用于IM消息的接收端,所述方法包括:
接收由第一发送端发送的携带有序列化数据的通用消息,所述序列化数据是所述第一发送端按照与接收端约定的协议进行序列化处理后得到的数据;
提取所述通用消息中的序列化数据,并将所述序列化数据根据所述约定的协议进行反序列化,得到目标消息;
将所述目标消息通过展示模型进行展示。
可选地,所述将所述目标消息通过展示模型进行展示包括:
检测所述目标消息包含的各消息中是否包含合并转发消息;
若所述目标消息中包含合并转发消息,则将所述目标消息添加到第一展示模型进行展示,所述第一展示模型用于展示目标消息中的合并转发消息及非合并转发消息;
若所述目标消息中不包含合并转发消息,则将所述目标消息添加到第二展示模型进行展示,所述第二展示模型用于展示目标消息中的非合并转发消息。
可选地,所述方法还包括:
接收第二发送端发送的图片,所述图片是在接收端和所述第二发送端为不同应用程序的客户端时,根据需要合并转发的目标消息生成的。
第三方面,提供了一种终端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的IM消息传输的方法步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的IM消息传输方法。
本申请实施例有益效果:
本申请实施例提供了一种IM消息转发方法,包括:在接收到合并转发指令之后,根据接收端的通讯协议,将需要合并转发的目标消息进行序列化处理,得到接收端可识别的序列化数据;生成包含序列化数据的通信消息;向接收端发送携带有序列化数据的通信消息。本申请通过将目标消息序列化成接收端能够识别的数据,从而使得接收端能够还原目标消息的原始含义。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种IM信息传输***方法的结构示意图;
图2为本申请实施例提供的一种IM信息传输方法的流程示意图;
图3为本申请实施例提供的一种合并转发数据结构示意图;
图4为本申请实施例提供的一种网络传输服务器中的数据传输模型的结构示意图;
图5为本申请又一实施例提供的一种IM消息传输方法的流程图;
图6为本申请又一实施例提供的一种IM消息传输方法的流程图;
图7为本申请实施例提供的一种IM消息传输方法的示例的信令图;
图8为本申请实施例提供的一种IM消息传输装置的结构示意图;
图9为本申请又一实施例提供的一种IM消息传输装置的结构示意图;
图10为本申请实施例提供的一种发送终端的结构示意图;
图11为本申请实施例提供的一种接收终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种IM消息传输方法,可以应用于IM消息传输***。如图1所示,为本申请实施例提供的一种IM消息传输***的示意图。该IM消息传输***可以包括发送端、网络传输服务器和接收端。网络传输服务器用于为发送端和接收端提供一个数据传输模型,发送端和接收端分别与网络传输服务器端SDK(Software Development Kit,软件开发工具包)接口进行连接。在逐条转发消息时,发送端将消息直接按照网络传输服务器中的数据传输模型进行传输即可。在合并转发时,发送端需要将多条需要转发的消息进行序列化处理后再通过网络传输服务器发送给发送端进行处理。接收端用于接收发送端发送的消息,并进行还原展示。在一个示例中,网络传输服务器可以是腾讯云,也可以是其他IM云或者发送端的开发商自主开发的网络传输服务器。在一个示例中,接收端可以为微信客户端或者股票应用客户端。用户在发送端的聊天消息界面选中一个或多个需要转发的消息时,会出现三个选择条件,分别是逐条转发、合并转发和转发到与发送端不同应用程序的客户端。其中,逐条转发和合并转发都是发送端向与发送端为同一应用程序的客户端转发消息。如果用户选择了逐条转发,那么发送端就将需要转发的消息直接按照网络传输服务器中的数据传输模型进行传输即可。如果用户选择了合并转发,发送端就将数据进行序列化处理后再通过网络传输服务器进行传输。如果用户选择了向与发送端为不同应用程序的客户端转发消息,发送端就将需要转发的一条或多条消息生成一张图片后再通过网络传输服务器发送给接收端。
需要说明的是,接收端和发送端可以是同一应用平台,也可以是不同应用平台。应用平台是指接收端和发送端的安装载体或安装***,例如手机终端、平板终端、电脑终端或者Macbook(苹果笔记本)终端、IOS(苹果移动设备操作***)***终端、安卓***终端。
下面将结合具体实施方式,对本申请实施例提供的一种IM消息方法进行详细的说明,该方法应用于IM消息传输***中的发送端,如图2所示,该方法的处理过程的具体步骤如下:
步骤S201、在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的目标消息进行序列化处理,得到接收端可识别的序列化数据。
在本申请实施例中,发送端接收到用户在聊天界面中输入的合并转发指令时,将一条或多条需要合并转发的目标消息进行序列化处理。序列化处理就是将各种数据结构转换成为二进制数据流或者文本流的过程。序列化后的数据方便在网络上传输和在硬盘上存储。将目标消息进行序列化处理后得到二进制数据或文本数据。二进制数据或文本数据是在任何平台或环境含义下不会发生变化的数据。
并且,为了保证接收端在对接收的消息进行反序列时,能够完全还原出目标消息。发送端在对需要转发的目标消息进行序列化处理时,可以根据与接收端约定的协议进行序列化,例如按照Protobuf(原型)协议进行序列化,这样能够保证接收端能够解析发送端的数据。
可选地,序列化数据为二进制数据。在一个示例中,将需要合并转发的目标消息进行二进制序列化处理,得到二进制数据。因为二进制数据是以字节的形式进行存储,文本数据是以字符的形式进行存储。字节的存储空间小,从而占用的带宽少,从而能够在有限的存储空间中多存储一些数据,进而也就能增加合并转发的目标消息的条数。
本申请实施例中,目标消息可以是一条,也可以是多条,目标消息可以包含多种消息类型,例如,视频、表情、文本或者链接等。
需要合并转发的目标消息通常为多条信息,可以先生成消息列表,然后再进行序列化处理,以方便数据处理,简化处理步骤,具体的处理过程可以为:将需要合并转发的目标消息添加到合并转发数据结构中以生成消息列表;根据与接收端约定的协议,将消息列表进行序列化处理,得到接收端可识别的序列化数据。
在本申请实施例中,首先建立一个合并转发数据结构,将需要转发的目标消息的数据添加到合并转发数据结构中,根据与接收端约定的协议,对该消息列表进行序列化处理。
如果合并转发数据结构中包含的数据结构类型很少,导致转发的消息的类型就会减少,那么目标消息转发后有可能不能还原最初的消息样式。例如,发送端发送的表情,有可能在接收端会以文字或者图片的形式进行展示。产生这种现象的原因是合并转发数据结构中不包含表情对应的数据结构,就将表情对应的数据结构转换成了文字结构添加到合并转发数据结构中了,在接收端反序列化后得到的就是文字结构,展示的就是文字。所以,为了增加消息转发的类型,可选地,将需要合并转发的目标消息添加到合并转发数据结构中以生成消息列表可以包括:判断合并转发数据结构是否支持目标消息的数据类型;若不支持,则按照合并转发数据的预设封装规则封装目标消息的数据类型;将各目标消息按照各目标消息的原始数据类型生成消息列表。具体的,可以在合并转发数据结构中增加多种数据类型。在一个示例中,如图3所示,为合并转发数据结构的示意图,CombineShareMsgModel(合并转发消息模型)由多条ShareTMsg(消息)组成,一条ShareTMsg中可能包含多个MsgModel(消息类型),一个MsgModel又支持多种数据类型,例如:ImageMsgmodel(图片消息模型)、RichTextMsgModel(富文本消息模型)、BigEmoticonMsgMode(大表情消息模型)和StockMsgModel(股票代码消息模型)等。将各目标消息按照各自的数据类型生成一个ShareTMsg列表,对该ShareTMsg列表进行序列化处理。
在本申请实施例中,各目标消息的原始数据类型是原始数据的数据类型,未经过任何转换。例如,文字消息的原始数据就是文本数据,对应的原始数据类型就是文字类型,可以放在图3中的RichTextMsgModel单元中,图片消息的原始数据就是图片数据,对应的原始数据类型就是图片格式的数据,可以放在图3中的ImageMsgmodel单元中。大表情消息对应的就是BigEmoticonMsgMode,股票代码对应的就是StockMsgModel。
步骤S202、生成包含序列化数据的通信消息。
在本申请实施例中,将得到的序列化数据存放到网络传输服务器的数据传输模型的data字段中,从而生成包含序列化数据的通信消息。通过将序列化后的数据存储到现有的通用消息的数据传输模型的data字段中,能够保证数据封装后,按照现有消息的数据传输模型的通讯协议进行传输。在一个示例中,如图4所示,为网络传输服务器的数据传输模型的结构示意图。可以将序列化数据存放到TIMCustomElem元素中的byte[]data(字节数据)字段中。TIMCustomElem元素生成TIMElem结构,TIMElem结构最后生成通信消息TIMMessage,网络通讯服务器将TIMMessage发送给接收端。
步骤S203、向接收端发送携带有序列化数据的通信消息。
在本申请实施例中,发送端将通信消息通过网络传输服务器的数据传输模型发送到接收端。该数据传输模型在发送端和接收端必须保持一致。
可选的,在实际应用中,用户可以进行应用内的消息的合并转发,即是在发送端和接收端为同一应用程序的客户端的消息合并转发,或者,也可以进行应用外的消息合并转发,即发送端和接收端为不同应用程序的客户端时,例如,发送端为股票客户端,接收端为微信客户端。针对以上两种情况,可以分别采用不同的方式进行合并转发,如图5所示,具体包括以下步骤。
S501、确定目标消息对应的接收端。
在本申请实施例中,发送端通过用户在聊天界面选择输入的指令来确定目标消息对应的接收端。在一个示例中,发送端为股票客户端,接收端为微信客户端,用户将一个或多个目标消息选中后,会弹出一个选择界面,选择界面中包括逐条转发选项、合并转发选项和转发到微信,如果用户选择了逐条转发或者合并转发选项,那么就是发送端与接收端是同一应用程序的客户端,如果转发到微信,那么发送端和接收端为不同应用程序的客户端。
S502、如果发送端和接收端为同一应用程序的客户端,则执行在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的目标消息进行序列化处理,得到接收端可识别的序列化数据的步骤。
该步骤的处理过程可以参照上述步骤S201的相关说明,此处不再赘述。
S503、如果发送端和接收端为不同应用程序的客户端,则在接收到转发指令之后,生成包含目标消息的图片,向接收端发送图片。
在本申请实施例中,如果发送端和接收端为不同应用程序的客户端,那么发送端在接收到用户输入的转发指令之后,将目标消息根据发送端内预设的程序,生成包含一条或多条目标消息的图片,将图片发送给接收端。在一个示例中,在目标消息为多条,例如10条时,该图片可以是长图片。在一个示例中,预设的程序可以是截图程序,即对包含一条和多条目标消息的界面进行截图,得到包含一条或多条目标消息的界面的图片。本申请通过将目标消息通过图片的形式进行跨应用转发,一方面图片能够最大程度的直观展示目标消息的原始状态,例如,动画表情、股票代码、链接等消息,通过图片的形式能够展示其性质和状态;另一方面在图片上能够方便添加水印等防伪信息,以提高信息安全性,例如在图片背景上印上开发商的logo(标志)。
可选地,为了防止不法分子利用该图片进行诈骗等不法行为,在生成包含目标消息的图片之后,还可以在图片中添加预设标识信息,预设标识信息用于标识图片的来源。
在本申请实施例中,预设标识信息可以是带有发送端开发商logo(商标)的水印。通过在图片中添加水印,防止盗用。
本申请还提供了一种IM消息传输方法,方法应用于IM消息的接收端,如图6所示,方法可以包括如下步骤:
S601、接收由第一发送端发送的携带有序列化数据的通用消息,序列化数据是第一发送端按照与接收端约定的协议进行序列化处理后得到的数据。
在本申请实施例中,接收端和第一发送端是同一应用程序的客户端,接收端通过网络通讯服务器接收第一发送端发送的通用消息,判断该通用消息中是否包括序列化数据,如果不包括序列化数据,那么就通过网络通讯服务器中的展示模型直接进行展示,如果包括序列化数据,就执行下述的步骤。
S602、提取通用消息中的序列化数据,并将序列化数据根据与第一发送端约定的协议进行反序列化,得到目标消息。
在本申请实施例中,接收端在通信消息中提取出序列化数据后,按照本地通讯协议将该序列化数据进行反序列化处理,得到原始数据结构的目标消息。反序列化就是将二进制数据或者文本数据转换为易于处理和阅读的数据结构的过程。在一个示例中,反序列化的目标消息可以是一个消息列表,该列表中包含合并转发消息、表情、文字、股票代码等。在一个示例中,接收端接收发送端序列化后的二进制数据,将该二进制数据按照本地通讯协议进行反序列化,以便能够完全还原目标消息的含义。
S603、将目标消息通过展示模型进行展示。
在本申请实施例中,接收端将反序列化后的目标消息数据填充到展示模型中,从反序列化后的数据中取一个值,然后填充到展示模型中,直到将反序列化后的数据全部填充到展示模型中,最后通过该展示模型进行展示。在一个示例中,该展示模型可以是用户自定义的UI(User Interface,用户界面)消息模型。
可选地,将目标消息通过展示模型进行展示可以包括:检测目标消息包含的各消息中是否包含合并转发消息;若目标消息中包含合并转发消息,则将目标消息添加到第一展示模型进行展示,第一展示模型用于展示目标消息中的合并转发消息及非合并转发消息;若目标消息中不包含合并转发消息,则将目标消息添加到第二展示模型进行展示,第二展示模型用于展示目标消息中的非合并转发消息。
在本申请实施例中,如果接收端反序列化后的合并转发的目标消息中包括嵌套的二级合并转发消息,该二级合并转发消息是嵌套在合并转发消息中的合并转发消息,那么需要将该嵌套的合并转发消息也进行具体的展示。即可以通过第一展示模型进行展示,在该第一展示模型中,能够将发送端发送过来的合并转发消息中嵌套的合并转发消息进行具体的显示。如果合并转发消息中不包括合并转发消息,而是逐条转发的消息,那么可以通过第二展示模型进行展示。
可选地,第一展示模型和第二展示模型是数据模型中的一种,由数据结构组成的数据模型,该展示模型用于提供不同的用户展示界面。
可选地,对于接收端和发送端为不同应用程序的客户端的情况,接收端的处理过程可以为:接收第二发送端发送的图片,图片是在接收端和第二发送端为不同应用程序的客户端时,根据需要转发的目标消息生成的。
在本实施例中,第二发送端与接收端为不同应用程序的客户端。
在本申请实施例中,当接收端和发送端为不同应用程序的客户端时,发送端将目标消息生成图片,发送给接收端,接收端接收到该图片后,直接展示该图片。由于图片格式是大部分应用程序的客户端均能够成功解析并显示的数据格式,所以通过将目标消息转换为图片格式,可以实现跨应用转发消息。
本申请实施例还提供了一种IM消息传输方法的示例,如图7所示,具体步骤如下。
S701、发送端接收用户输入的转发指令。
其中,该转发指令可以指示需要转发的目标消息、目标消息的接收端、以及目标消息的转发类型。
S702、如果转发类型为逐条转发,发送端则将多条目标消息的数据逐条发送到网络传输服务器的数据传输模型中。
S703、网络传输服务器将接收的目标消息逐条转发到第一接收端。
其中,第一接收端与发送端为同一应用程序的客户端。
S704、第一接收端按照网络通讯服务器支持的展示模型将目标消息进行展示。
S705、如果转发类型为合并转发,发送端将多条目标消息添加到合并转发数据结构中,并根据第一接收端的通讯协议,将合并转发数据结构进行二进制序列化处理,得到二进制数据。
S706、发送端将二进制数据添加到网络传输服务器的数据传输模型的数字字段中。
S707、网络传输服务器将携带有二进制数据的通信消息发送到第一接收端。
S708、第一接收端提取通信信息中的二进制数据,将该二进制数据进行反序列化,得到目标消息。
S709、第一接收端检测目标消息中是否包含合并转发消息,如果包含,将目标消息通过第一展示模型进行展示,如果不包含,将目标消息通过第二展示模型进行展示。
S710、如果转发类型为转发到第二接收端,则发送端将多条目标消息生成图片。
其中,第二接收端与发送端为不同应用程序的客户端。
S711、发送端将图片发送给第二接收端。
S712、第二接收端直接展示图片。
基于相同的技术构思,本申请实施例还提供了一种IM消息传输装置,所述装置应用于所述IM消息的发送端,如图8所示,所述装置包括:
序列化单元810,用于在接收到合并转发指令之后,根据接收端的通讯协议,将需要合并转发的目标消息进行序列化处理,得到所述接收端可识别的序列化数据;
生成单元820,用于生成包含所述序列化数据的通信消息;
发送单元830,用于向所述接收端发送携带有所述序列化数据的通信消息。
基于相同的技术构思,本申请实施例还提供了一种IM消息传输装置,所述装置应用于IM消息的接收端,如图9所示,所述装置包括:
接收单元910,用于接收由第一发送端发送的携带有序列化数据的通用消息,所述序列化数据是所述第一发送端按照与接收端相同的通信协议进行序列化处理后得到的数据;
提取单元920,用于提取所述通用消息中的序列化数据,并将所述序列化数据根据本地通讯协议进行反序列化,得到目标消息;
展示单元930,用于将所述目标消息通过展示模型进行展示。
基于相同的技术构思,本发明实施例还提供了一种发送终端,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述发送端执行的IM信息传输方法的任一步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于相同的技术构思,本发明实施例还提供了一种接收终端,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现上述发送端执行的IM信息传输方法的任一步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一IM消息传输方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一IM消息传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种IM消息传输方法,其特征在于,所述方法应用于所述IM消息的发送端,所述方法包括:
在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的目标消息进行序列化处理,得到所述接收端可识别的序列化数据;
生成包含所述序列化数据的通信消息;
向所述接收端发送携带有所述序列化数据的通信消息。
2.根据权利要求1所述的方法,其特征在于,所述根据接收端的通讯协议,将需要合并转发的目标消息进行序列化处理,得到所述接收端可识别的序列化数据包括:
将需要合并转发的目标消息添加到合并转发数据结构中以生成消息列表;
根据与接收端约定的协议,将所述消息列表进行序列化处理,得到所述接收端可识别的序列化数据。
3.根据权利要求2所述的方法,其特征在于,所述将需要合并转发的目标消息添加到合并转发数据结构中以生成消息列表包括:
判断合并转发数据结构是否支持目标消息的数据类型;
若不支持,则按照所述合并转发数据的预设封装规则封装目标消息的数据类型;
将各目标消息按照所述各目标消息的原始数据类型生成消息列表。
4.根据权利要求1所述的方法,其特征在于,所述序列化数据为二进制数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述目标消息对应的接收端;
如果所述发送端和所述接收端为同一应用程序的客户端,则执行所述在接收到合并转发指令之后,根据与接收端约定的协议,将需要合并转发的目标消息进行序列化处理,得到所述接收端可识别的序列化数据的步骤;
如果所述发送端和所述接收端为不同应用程序的客户端,则在接收到转发指令之后,生成包含目标消息的图片,向所述接收端发送所述图片。
6.根据权利要求5所述的方法,其特征在于,在所述生成包含目标消息的图片之后,所述方法还包括:
在所述图片中添加预设标识信息,所述预设标识信息用于标识图片的来源。
7.一种IM消息传输方法,其特征在于,所述方法应用于IM消息的接收端,所述方法包括:
接收由第一发送端发送的携带有序列化数据的通用消息,所述序列化数据是所述第一发送端按照与接收端约定的协议进行序列化处理后得到的数据;
提取所述通用消息中的序列化数据,并将所述序列化数据根据所述约定的协议进行反序列化,得到目标消息;
将所述目标消息通过展示模型进行展示。
8.根据权利要求7所述的方法,其特征在于,所述将所述目标消息通过展示模型进行展示包括:
检测所述目标消息包含的各消息中是否包含合并转发消息;
若所述目标消息中包含合并转发消息,则将所述目标消息添加到第一展示模型进行展示,所述第一展示模型用于展示目标消息中的合并转发消息及非合并转发消息;
若所述目标消息中不包含合并转发消息,则将所述目标消息添加到第二展示模型进行展示,所述第二展示模型用于展示目标消息中的非合并转发消息。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收第二发送端发送的图片,所述图片是在接收端和所述第二发送端为不同应用程序的客户端时,根据需要合并转发的目标消息生成的。
10.一种终端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6或权利要求7-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114684.7A CN110912803B (zh) | 2019-11-14 | 2019-11-14 | 一种im消息传输方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114684.7A CN110912803B (zh) | 2019-11-14 | 2019-11-14 | 一种im消息传输方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912803A true CN110912803A (zh) | 2020-03-24 |
CN110912803B CN110912803B (zh) | 2022-03-08 |
Family
ID=69816661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911114684.7A Active CN110912803B (zh) | 2019-11-14 | 2019-11-14 | 一种im消息传输方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912803B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541662A (zh) * | 2020-04-15 | 2020-08-14 | 赞同科技股份有限公司 | 一种基于二进制通信协议的通信方法、装置、***及设备 |
CN111638978A (zh) * | 2020-05-20 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 内容分享方法及设备 |
CN112615773A (zh) * | 2020-12-02 | 2021-04-06 | 海南车智易通信息技术有限公司 | 一种消息处理方法及*** |
CN115022269A (zh) * | 2021-12-30 | 2022-09-06 | 北京字跳网络技术有限公司 | 一种消息处理方法、装置、设备及介质 |
WO2022188815A1 (zh) * | 2021-03-12 | 2022-09-15 | 华为技术有限公司 | 一种消息处理方法及装置 |
CN115190096A (zh) * | 2021-03-19 | 2022-10-14 | 北京字跳网络技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
WO2023046105A1 (zh) * | 2021-09-24 | 2023-03-30 | 维沃移动通信有限公司 | 消息发送方法、装置和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090192976A1 (en) * | 2002-11-20 | 2009-07-30 | Radar Networks, Inc. | Methods and systems for creating a semantic object |
CN104104724A (zh) * | 2014-07-23 | 2014-10-15 | 深圳市富途网络科技有限公司 | 用于客户端的操作方式的推送方法和通讯*** |
CN104780222A (zh) * | 2015-04-29 | 2015-07-15 | 江苏物联网研究发展中心 | 基于http和对象序列化的通用数据交换方法 |
US9503415B2 (en) * | 2011-01-27 | 2016-11-22 | T-Mobile Usa, Inc. | Unified notification platform |
CN108449262A (zh) * | 2018-04-08 | 2018-08-24 | 成都万维图新信息技术有限公司 | 一种即时通信数据的传输方法 |
CN109831404A (zh) * | 2017-11-23 | 2019-05-31 | 惠州臻享云科技有限公司 | 一种兼容多终端的即时通讯***及方法 |
CN110430126A (zh) * | 2019-09-02 | 2019-11-08 | 江苏满运软件科技有限公司 | 即时通信消息处理方法、装置、***、设备及存储介质 |
-
2019
- 2019-11-14 CN CN201911114684.7A patent/CN110912803B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090192976A1 (en) * | 2002-11-20 | 2009-07-30 | Radar Networks, Inc. | Methods and systems for creating a semantic object |
US9503415B2 (en) * | 2011-01-27 | 2016-11-22 | T-Mobile Usa, Inc. | Unified notification platform |
CN104104724A (zh) * | 2014-07-23 | 2014-10-15 | 深圳市富途网络科技有限公司 | 用于客户端的操作方式的推送方法和通讯*** |
CN104780222A (zh) * | 2015-04-29 | 2015-07-15 | 江苏物联网研究发展中心 | 基于http和对象序列化的通用数据交换方法 |
CN109831404A (zh) * | 2017-11-23 | 2019-05-31 | 惠州臻享云科技有限公司 | 一种兼容多终端的即时通讯***及方法 |
CN108449262A (zh) * | 2018-04-08 | 2018-08-24 | 成都万维图新信息技术有限公司 | 一种即时通信数据的传输方法 |
CN110430126A (zh) * | 2019-09-02 | 2019-11-08 | 江苏满运软件科技有限公司 | 即时通信消息处理方法、装置、***、设备及存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541662A (zh) * | 2020-04-15 | 2020-08-14 | 赞同科技股份有限公司 | 一种基于二进制通信协议的通信方法、装置、***及设备 |
CN111638978A (zh) * | 2020-05-20 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 内容分享方法及设备 |
CN111638978B (zh) * | 2020-05-20 | 2023-11-14 | 北京达佳互联信息技术有限公司 | 内容分享方法及设备 |
CN112615773A (zh) * | 2020-12-02 | 2021-04-06 | 海南车智易通信息技术有限公司 | 一种消息处理方法及*** |
CN112615773B (zh) * | 2020-12-02 | 2023-02-28 | 海南车智易通信息技术有限公司 | 一种消息处理方法及*** |
WO2022188815A1 (zh) * | 2021-03-12 | 2022-09-15 | 华为技术有限公司 | 一种消息处理方法及装置 |
CN115134321A (zh) * | 2021-03-12 | 2022-09-30 | 华为技术有限公司 | 一种消息处理方法及装置 |
CN115190096A (zh) * | 2021-03-19 | 2022-10-14 | 北京字跳网络技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
CN115190096B (zh) * | 2021-03-19 | 2023-11-21 | 北京字跳网络技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
WO2023046105A1 (zh) * | 2021-09-24 | 2023-03-30 | 维沃移动通信有限公司 | 消息发送方法、装置和电子设备 |
CN115022269A (zh) * | 2021-12-30 | 2022-09-06 | 北京字跳网络技术有限公司 | 一种消息处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110912803B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110912803B (zh) | 一种im消息传输方法及终端 | |
US8682989B2 (en) | Making document changes by replying to electronic messages | |
US10613717B2 (en) | Reproducing state of source environment when image was screen captured on a different computing device using resource location, resource navigation and positional metadata embedded in image | |
CN109947408B (zh) | 消息推送方法及装置、存储介质和电子设备 | |
CN104660635A (zh) | 消息同步方法、装置及*** | |
CN104142975A (zh) | 一种基于微博消息的推广方法、装置及*** | |
CN110908967A (zh) | 用于存储日志的方法、装置、设备和计算机可读介质 | |
CN110120908B (zh) | 群组消息处理方法、装置和服务器 | |
US20200211027A1 (en) | Business rules processing framework | |
CN113449829B (zh) | 基于光学字符识别技术的数据传输方法及相关装置 | |
CN116569159A (zh) | 使用图神经网络自动描绘和提取可移植文档格式的表格数据 | |
CN111049813B (zh) | 报文组装方法、解析方法、装置及存储介质 | |
CN110198349B (zh) | 文件传输方法和装置、存储介质及电子装置 | |
CN105991683A (zh) | 数据传输方法及装置 | |
CN112347383A (zh) | 分享链接生成方法、装置及电子设备 | |
CN104346460A (zh) | 进行文件下载的方法、装置及浏览器客户端 | |
CN114039801B (zh) | 一种短链接生成方法、解析方法和***、设备、存储介质 | |
CN111324645A (zh) | 区块链的数据处理方法及装置 | |
CN114676187A (zh) | 数据处理方法、装置、设备及介质 | |
US12001400B2 (en) | Method and apparatus for synchronizing file | |
CN114138717A (zh) | 一种富文本信息的发布方法及相关装置 | |
CN113590243A (zh) | 能源企业项目创建方法、装置、计算机设备及介质 | |
CN112418944A (zh) | 优惠券流转方法、装置、电子设备和存储介质 | |
CN108965356B (zh) | 一种信息交互方法及电子设备 | |
CN112487765A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |