CN112689005A - 消息发送方法及装置、存储介质、电子装置 - Google Patents
消息发送方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN112689005A CN112689005A CN202011522171.2A CN202011522171A CN112689005A CN 112689005 A CN112689005 A CN 112689005A CN 202011522171 A CN202011522171 A CN 202011522171A CN 112689005 A CN112689005 A CN 112689005A
- Authority
- CN
- China
- Prior art keywords
- message
- messages
- type
- sent
- message type
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 13
- 238000012790 confirmation Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000005441 aurora Substances 0.000 description 12
- 238000012795 verification Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种消息发送方法及装置、存储介质、电子装置。其中,上述方法包括:通过目标应用通过目标应用获取待发送的消息;在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。采用上述技术方案,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种消息发送方法及装置、存储介质、电子装置。
背景技术
目前现有技术都是根据自身业务属性对消息***进行设计,并没有一个全方位、多维度的统一方案,可以集微信、短信、邮件等即时消息、定时消息、普通消息于一身,导致在需要某一消息类型的时候临时搭建方案。而且消息的应用场景有很多,前期的设计尤为重要,目前基于消息的设计方案层出不穷,但都是各自为战,并没有一个全方位的考虑,导致在引入新的消息类型时,会对***进行重新设计或者进行边缘性的迭代。总的来说,目前现有技术存在以下缺点:没有一套完整的方案对各接入消息进行归类,这对于开发者后期开发无疑增加了风险;现有的大多数消息***都是各自为战,没有将即时消息、定时消息归纳到消息***。
针对相关技术中,不同类型的消息需要通过不同的应用发送的问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种消息发送方法及装置、存储介质、电子装置,以解决相关技术中不同类型的消息需要通过不同的应用发送的问题。
根据本发明的一个实施例,提供了一种消息发送方法,包括:通过目标应用通过目标应用获取待发送的消息;在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
可选的,在所述目标应用中在所述目标应用中确定所述消息的消息类型,包括:从所述消息中获取目标标识信息,其中,所述目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型;根据所述目标标识信息确定所述消息的消息类型。
可选的,在所述目标应用中确定所述消息的消息类型,包括:向目标对象显示不同的消息类型;获取目标对象的确认消息,其中,所述确认消息用于指示所述目标对象从显示的所述不同的消息类型中所选择的所述消息的消息类型。
可选的,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,包括:获取所述消息类型对应的组装模板所对应的消息格式;根据所述消息格式对所述消息进行组装,得到组装后的消息。
可选的,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息,包括:在所述消息类型为业务之间的消息的情况下,通过消息队列MQ方式发送所述业务之间的消息;在所述消息类型为即时消息的情况下,基于全双工通信协议长连接的发送方式发送所述即时消息;在所述消息类型为定时消息的情况下,通过触发定时任务的发送方式发送所述定时消息。
可选的,通过目标应用获取待发送的消息之后,所述方法还包括:对所述消息进行转码,得到转码后的消息;对所述转码后的消息进行校验,其中,在校验通过的情况下,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息。
根据本发明的另一个实施例,提供了一种消息发送装置,包括:获取模块,用于通过目标应用获取待发送的消息;第一确定模块,用于在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;发送模块,用于根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
可选的,所述装置还包括:第二确定模块,用于从所述消息中获取目标标识信息,其中,所述目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型;根据所述目标标识信息确定所述消息的消息类型。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过目标应用通过目标应用获取待发送的消息;在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。也就是说,确定待发送消息的消息类型,根据所述消息类型对应的组装模板组装所述消息,最后根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。采用上述技术方案,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。从而可以通过一种应用可以发送不同类型的消息,方便人们的生活。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种消息发送方法的客户端的硬件结构框图;
图2是根据本发明实施例的一种消息发送方法的流程图;
图3是根据本发明实施例的调用不同应用的流程图;
图4是根据本发明实施例的消息统一入口工作的流程图;
图5是根据本发明实施例的一种消息发送方法的流程示意图;
图6是根据本发明实施例的一种消息发送装置的结构框图(一);
图7是根据本发明实施例的一种消息发送装置的结构框图(二)。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在客户端,或者类似的装置中执行。以运行在客户端上为例,图1是本发明实施例的一种消息发送方法的客户端的硬件结构框图。如图1所示,客户端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器 (Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmablelogic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述客户端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述客户端的结构造成限定。例如,客户端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储客户端程序,例如,应用软件的软件程序以及模块,如本发明实施例中的消息发送方法对应的计算机程序,处理器102 通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至客户端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括客户端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种消息发送方法,应用于上述客户端,图2是根据本发明实施例的一种消息发送方法的流程图,该流程包括如下步骤:
步骤S202,通过目标应用获取待发送的消息;
步骤S204,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;
步骤S206,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
通过本发明,通过目标应用通过目标应用获取待发送的消息;在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。也就是说,确定待发送消息的消息类型,根据所述消息类型对应的组装模板组装所述消息,最后根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。采用上述技术方案,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。从而可以通过一种应用可以发送不同类型的消息,方便人们的生活。
需要说明的是,本发明是解决不同类型的消息需要通过不同的应用发送的问题。目前大多数的现有技术是根据自身业务属性对消息***进行设计,并没有一个全方位、多维度的统一方案,小部分现有技术如极光推送只是致力于跨APP聊天,还是不能通过一种方案或者应用发送不同类型的消息。极光推送是独立的第三方云推送平台,致力于为全球移动应用开发者提供移动消息推送应用。开发者只需在客户端集成极光推送SDK,即可轻松地添加Push功能到他的App中。但是比如极光推送推出的极光即是通讯录,仅是致力于解决跨APP聊天的问题。如果将消息按照类型分为业务之间的消息,即时消息,定时消息,那么通过极光即是通讯录只可以发送即时消息。而通过本发明可以发送业务之间的消息,即时消息,定时消息。
步骤S204有多种实施方式,其中一种实施方式是在所述目标应用中确定所述消息的消息类型,包括:从所述消息中获取目标标识信息,其中,所述目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型;根据所述目标标识信息确定所述消息的消息类型。
需要说明的是,将消息按照类型可以分为业务之间的消息,即时消息,定时消息,其中业务之间的消息可以看为是普通消息,业务之间的消息是指单纯业务之间的消息。收到待发送的消息之后,根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息之前,需要确定所述消息的消息类型。确定所述消息的消息类型的一种方式是根据目标标识信息在所述目标应用中确定所述消息的消息类型,比如待发送的消息是邮件,那么邮件的目标标识信息可以是接收方的邮箱,当待发送的消息有邮箱地址时,就可以确定该待发送的消息是邮件,本发明提供的应用就可以调用邮箱发送邮件。如果待发送的消息有定时发送的标识信息,那么就可以确定该待发送的消息是定时消息,本发明提供的应用就可以触发定时任务发送。
需要说明的是,本发明实现发送不同类型的消息是通过调用不同类型的消息对应的应用或者服务来发送的。但是调用不同类型的消息对应的应用或者服务时本发明的应用的底层所做的工作,使用者是不可见的。对于使用者,可见的本发明的应用,对于使用者,就是通过本发明的应用来发送不同类型的消息的。
需要说明的是,邮件可以划分到业务消息,一般情况下比如微信等在线聊天工具是即时消息的一种,但是也可以使用微信来发送定时消息。举例说明:需要调用微信来发送定时消息,该待发送的消息的目标标识信息有两个:通过微信来发送的标识,定时发送的标识。该待发送的消息可以划分为是定时消息,该待发送的消息触发定时任务,到定时时刻,定时任务调用微信发送该待发送的消息。该待发送的消息可以划分为是微信消息,到定时时刻,微信发送该待发送的消息。目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型,通过上述技术手段,就可以确定所述消息的消息类型。
步骤S204有多种实施方式,其中另一种实施方式是在所述目标应用中确定所述消息的消息类型,还包括:向目标对象显示不同的消息类型;获取目标对象的确认消息,其中,所述确认消息用于指示所述目标对象从显示的所述不同的消息类型中所选择的所述消息的消息类型。
需要说明的是,除了根据目标标识信息在所述目标应用中确定所述消息的消息类型,还可以通过选定本发明的应用向目标对象显示不同的消息类型确定所述消息的消息类型。本发明的应用向目标对象显示不同的消息类型,目标对象选择应用显示的某个消息类型之后,应用获取目标对象的确认消息,从确认消息中获取所述目标对象从显示的所述不同的消息类型中所选择的所述消息的消息类型。举例说明:目标对象也即是使用者,编辑了一个待发送的消息,应用会向使用者显示邮件,微信,QQ,短信,定时任务等消息类型,使用者从显示的所述不同的消息类型中所选择的所述消息的消息类型,这样就可以确定所述消息的消息类型。
在步骤S204中,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,包括:获取所述消息类型对应的组装模板所对应的消息格式;根据所述消息格式对所述消息进行组装,得到组装后的消息。
需要说明的是,将消息按照类型可以分为业务之间的消息,即时消息,定时消息;即时消息按照应用可以分为微信消息,QQ消息等;业务之间的消息可以分为短信,邮件等。需要说明的是,消息的类型的划分不是固定的,比如调用微信来发送定时消息,那么此时,该微信消息就是一种定时消息。不同的消息类型对应着不同的组装模板,比如即时消息与业务之间的组装模板不一样,消息即时消息中微信消息与QQ消息的组装模板也不一样。需要说明的是,消息类型对应的组装模板实际上不同的消息类型对应着不同的格式,组装模板就是一种格式。比如需要发送微信消息,使用者通过本发明的应用编辑待发送的消息,应用根据目标标识信息确定该待发送的消息是微信消息,或者本发明的应用向目标对象显示不同的消息类型,使用者选择微信消息。使用者只需要在应用编辑待发送的微信消息,应用会调用微信组装模板,得到组装后的微信消息,应用会调用微信发送该微信消息。也就是说,通过本发明,使用者就可以不需要打开不同的应用才能发送对应的消息了,使用者只需要本发明的应用就可以发送不同类型的消息。
在步骤S206中,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息,包括:在所述消息类型为业务之间的消息的情况下,通过消息队列MQ方式发送所述业务之间的消息;在所述消息类型为即时消息的情况下,基于全双工通信协议长连接的发送方式发送所述即时消息;在所述消息类型为定时消息的情况下,通过触发定时任务的发送方式发送所述定时消息。
需要说明的是,在所述消息类型为业务之间的消息的情况下,通过消息队列(Message Queue,简称MQ)方式发送所述业务之间的消息。MQ 方式有多种,可以采用任意一种,本发明推荐使用RocketMQ方式, RocketMQ是一款低延迟、高可靠、可伸缩、易于使用的消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产***,满足线上海量消息堆积的需求。在2016年底捐赠给Apache并成为了Apache顶级项目。本发以利用MQ自身的优势(高并发、流量晓峰)进行顺序消费、异步消费、同步消费等。在所述消息类型为即时消息的情况下,基于全双工通信协议长连接的发送方式发送所述即时消息。本发明建议使用的全双工通信协议长连接的发送方式是WebSocket长连接的发送方式。WebSocket是一种在单个TCP连接上进行全双工通信的协议,使得客户端和应用器之间的数据交换变得更加简单,允许应用端主动向客户端推送数据。在 WebSocket API中,浏览器和应用器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在所述消息类型为定时消息的情况下,通过触发定时任务的发送方式发送所述定时消息。
举例说明:需要调用微信来发送定时消息,该待发送的消息可以划分为是定时消息,也可以划分为微信消息。该待发送的消息划分为是定时消息,本发明的应用调用微信组装模板,组装该待发送的消息,在组装该待发送的消息的同时触发定时任务,到定时时刻,定时任务调用微信发送该待发送的消息。该待发送的消息划分为是微信消息,本发明的应用调用微信组装模板,组装该待发送的消息,到定时时刻,微信发送组装后的消息。需要说明的是,在消息组装后,并不是立即进行发送,而是会有一个校验的过程,例如消息的格式、模板的正确,此处我们会基于redis缓存做一步过滤等,只有通过校验的消息才可以发送。通过上述技术手段,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。从而可以通过一种应用可以发送不同类型的消息,方便人们的生活。
在一种可选实施例中,通过目标应用获取待发送的消息之后,所述方法还包括:对所述消息进行转码,得到转码后的消息;对所述转码后的消息进行校验,其中,在校验通过的情况下,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息。
需要说明的是,通过目标应用获取待发送的消息之后,需要对所述消息进行转码,得到转码后的消息才是要发送的消息。还需要对所述转码后的消息进行校验,避免消息进行转码时发生错误以及使用者编辑待发送的消息时出现错误。在校验通过的情况下,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息。
为了更好的理解上述技术方案,本发明可选实施例还提供了一种可选实施例,用于解释说明上述技术方案。
在一个可选实施例中,是根据本发明实施例的调用不同应用的流程图,如图3所示:
业务***1、业务***2、业务***3是三个不同的业务***或者业务应用,每一个业务***或者业务应用有各自的:基础中心、用户中心、交易中心、支付应用。业务***可以向消息应用basic提供消息组装模板,其中消息组装模板包括***ID(SystemID),消息类型(messageType),初始化消息标志位(messageFlag),ext参数。消息应用basic通过消息组装模板组装消息。消息应用basic还包括不同的应用:消息处理、事务处理、流向削峰、记录存储追踪。不同的消息应用可以提供不同的应用。消息应用business是直接应用于使用者的,使用者通过消息应用business调用消息应用basic。两个消息应用的好处是如果消息应用basic中的某一个应用出现故障,可以使用消息应用business替代。通过上述技术手段,调用不同消息应用
图4是根据本发明实施例的消息统一入口工作的流程图,如图4所示:
本发明通过提供一个应用可以发送不同类型的消息,实际上该应用是通过消息统一入口来实现一个应用发送不同类型的消息的。其中消息统一入口是本发明的应用的接口,应用在确定所述消息的消息类型之后,就是通过消息统一入口调用不同的***或者应用来发送对应类型的消息的。消息统一入口支持应用调用邮件、微信、短信、PC终端以及其他应用。应用通过调用不同的应用来调用对应的应用应用。应用应用包括:对接邮件应用,对接短信应用、对接PC应用,对接第三方微信公众号应用、其他应用。应用应用是用来实现对应应用发送消息所需要的一切功能。
图5是根据本发明实施例的一种消息发送方法的流程示意图,如图5 所示:
S502:对接收到的消息进行消息转码;
S504:对转码后得到的消息进行场景校验,如果校验成功就执行S506,如果校验失败,消息发送结束;
S506:消息分类,也就是确定所述消息的消息类型;
S508:组装消息体,确定所述消息的消息类型之后,调用消息类型对应的组装模板组装消息,组装后的消息就是消息体;
S510:判断是否为普通消息,普通消息也就是业务之间的消息,如果是,那么发送消息,如果不是再判断是否是定时消息,如果是,那么发送消息,如果不是就判断为即时消息,将即时消息放入Websocket队列进行发送。
通过本发明,通过目标应用通过目标应用获取待发送的消息;在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。也就是说,确定待发送消息的消息类型,根据所述消息类型对应的组装模板组装所述消息,最后根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。采用上述技术方案,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。从而可以通过一种应用可以发送不同类型的消息,方便人们的生活。
在本实施例中还提供了一种消息发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的另一个实施例的一种消息发送装置的结构框图;如图6所示,包括:
获取模块60:用于通过目标应用获取待发送的消息;
第一确定模块62,用于在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;
发送模块64,用于根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
通过本发明,通过目标应用通过目标应用获取待发送的消息;在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。也就是说,确定待发送消息的消息类型,根据所述消息类型对应的组装模板组装所述消息,最后根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。采用上述技术方案,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。从而可以通过一种应用可以发送不同类型的消息,方便人们的生活。
需要说明的是,本发明是解决不同类型的消息需要通过不同的应用发送的问题。目前大多数的现有技术是根据自身业务属性对消息***进行设计,并没有一个全方位、多维度的统一方案,小部分现有技术如极光推送只是致力于跨APP聊天,还是不能通过一种方案或者应用发送不同类型的消息。极光推送是独立的第三方云推送平台,致力于为全球移动应用开发者提供移动消息推送应用。开发者只需在客户端集成极光推送SDK,即可轻松地添加Push功能到他的App中。但是比如极光推送推出的极光即是通讯录,仅是致力于解决跨APP聊天的问题。如果将消息按照类型分为业务之间的消息,即时消息,定时消息,那么通过极光即是通讯录只可以发送即时消息。而通过本发明可以发送业务之间的消息,即时消息,定时消息。
图7是根据本发明实施例的一种消息发送装置的结构框图(二),如图7所示:
第二确定模块66,用于从所述消息中获取目标标识信息,其中,所述目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型;根据所述目标标识信息确定所述消息的消息类型。
需要说明的是,将消息按照类型可以分为业务之间的消息,即时消息,定时消息,其中业务之间的消息可以看为是普通消息,业务之间的消息是指单纯业务之间的消息。收到待发送的消息之后,根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息之前,需要确定所述消息的消息类型。确定所述消息的消息类型的一种方式是根据目标标识信息在所述目标应用中确定所述消息的消息类型,比如待发送的消息是邮件,那么邮件的目标标识信息可以是接收方的邮箱,当待发送的消息有邮箱地址时,就可以确定该待发送的消息是邮件,本发明提供的应用就可以调用邮箱发送邮件。如果待发送的消息有定时发送的标识信息,那么就可以确定该待发送的消息是定时消息,本发明提供的应用就可以触发定时任务发送。
需要说明的是,邮件可以划分到业务消息,一般情况下比如微信等在线聊天工具是即时消息的一种,但是也可以使用微信来发送定时消息。举例说明:需要调用微信来发送定时消息,该待发送的消息的目标标识信息有两个:通过微信来发送的标识,定时发送的标识。该待发送的消息可以划分为是定时消息,该待发送的消息触发定时任务,到定时时刻,定时任务调用微信发送该待发送的消息。该待发送的消息可以划分为是微信消息,到定时时刻,微信发送该待发送的消息。目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型,通过上述技术手段,就可以确定所述消息的消息类型。
可选的,第一确定模块62还用于向目标对象显示不同的消息类型;获取目标对象的确认消息,其中,所述确认消息用于指示所述目标对象从显示的所述不同的消息类型中所选择的所述消息的消息类型。
需要说明的是,除了根据目标标识信息在所述目标应用中确定所述消息的消息类型,还可以通过选定本发明的应用向目标对象显示不同的消息类型确定所述消息的消息类型。本发明的应用向目标对象显示不同的消息类型,目标对象选择应用显示的某个消息类型之后,应用获取目标对象的确认消息,从确认消息中获取所述目标对象从显示的所述不同的消息类型中所选择的所述消息的消息类型。举例说明:目标对象也即是使用者,编辑了一个待发送的消息,应用会向使用者显示邮件,微信,QQ,短信,定时任务等消息类型,使用者从显示的所述不同的消息类型中所选择的所述消息的消息类型,这样就可以确定所述消息的消息类型。
可选的,第一确定模块62还用于获取所述消息类型对应的组装模板所对应的消息格式;根据所述消息格式对所述消息进行组装,得到组装后的消息。
需要说明的是,将消息按照类型可以分为业务之间的消息,即时消息,定时消息;即时消息按照应用可以分为微信消息,QQ消息等;业务之间的消息可以分为短信,邮件等。需要说明的是,消息的类型的划分不是固定的,比如调用微信来发送定时消息,那么此时,该微信消息就是一种定时消息。不同的消息类型对应着不同的组装模板,比如即时消息与业务之间的组装模板不一样,消息即时消息中微信消息与QQ消息的组装模板也不一样。需要说明的是,消息类型对应的组装模板实际上不同的消息类型对应着不同的格式,组装模板就是一种格式。比如需要发送微信消息,使用者通过本发明的应用编辑待发送的消息,应用根据目标标识信息确定该待发送的消息是微信消息,或者本发明的应用向目标对象显示不同的消息类型,使用者选择微信消息。使用者只需要在应用编辑待发送的微信消息,应用会调用微信组装模板,得到组装后的微信消息,应用会调用微信发送该微信消息。也就是说,通过本发明,使用者就可以不需要打开不同的应用才能发送对应的消息了,使用者只需要本发明的应用就可以发送不同类型的消息。
可选的,发送模块64还用于在所述消息类型为业务之间的消息的情况下,通过消息队列MQ方式发送所述业务之间的消息;在所述消息类型为即时消息的情况下,基于全双工通信协议长连接的发送方式发送所述即时消息;在所述消息类型为定时消息的情况下,通过触发定时任务的发送方式发送所述定时消息。
需要说明的是,在所述消息类型为业务之间的消息的情况下,通过消息队列(Message Queue,简称MQ)方式发送所述业务之间的消息。MQ 方式有多种,可以采用任意一种,本发明推荐使用RocketMQ方式, RocketMQ是一款低延迟、高可靠、可伸缩、易于使用的消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产***,满足线上海量消息堆积的需求。在2016年底捐赠给Apache并成为了Apache顶级项目。本发以利用MQ自身的优势(高并发、流量晓峰)进行顺序消费、异步消费、同步消费等。在所述消息类型为即时消息的情况下,基于全双工通信协议长连接的发送方式发送所述即时消息。本发明建议使用的全双工通信协议长连接的发送方式是WebSocket长连接的发送方式。WebSocket是一种在单个TCP连接上进行全双工通信的协议,使得客户端和应用器之间的数据交换变得更加简单,允许应用端主动向客户端推送数据。在 WebSocket API中,浏览器和应用器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在所述消息类型为定时消息的情况下,通过触发定时任务的发送方式发送所述定时消息。
举例说明:需要调用微信来发送定时消息,该待发送的消息可以划分为是定时消息,也可以划分为微信消息。该待发送的消息划分为是定时消息,本发明的应用调用微信组装模板,组装该待发送的消息,在组装该待发送的消息的同时触发定时任务,到定时时刻,定时任务调用微信发送该待发送的消息。该待发送的消息划分为是微信消息,本发明的应用调用微信组装模板,组装该待发送的消息,到定时时刻,微信发送组装后的消息。需要说明的是,在消息组装后,并不是立即进行发送,而是会有一个校验的过程,例如消息的格式、模板的正确,此处我们会基于redis缓存做一步过滤等,只有通过校验的消息才可以发送。通过上述技术手段,解决相关技术中不同类型的消息需要通过不同的应用发送的问题。从而可以通过一种应用可以发送不同类型的消息,方便人们的生活。
可选的,获取模块60还用于对所述消息进行转码,得到转码后的消息;对所述转码后的消息进行校验,其中,在校验通过的情况下,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息。
需要说明的是,通过目标应用获取待发送的消息之后,需要对所述消息进行转码,得到转码后的消息才是要发送的消息。还需要对所述转码后的消息进行校验,避免消息进行转码时发生错误以及使用者编辑待发送的消息时出现错误。在校验通过的情况下,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过目标应用获取待发送的消息;
S2,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;
S3,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过目标应用获取待发送的消息;
S2,在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;
S3,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
可选地,在本可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种消息发送方法,其特征在于,包括:
通过目标应用通过目标应用获取待发送的消息;
在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;
根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
2.根据权利要求1所述的方法,其特征在于,在所述目标应用中在所述目标应用中确定所述消息的消息类型,包括:
从所述消息中获取目标标识信息,其中,所述目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型;
根据所述目标标识信息确定所述消息的消息类型。
3.根据权利要求1所述的方法,其特征在于,在所述目标应用中在所述目标应用中确定所述消息的消息类型,包括:
向目标对象显示不同的消息类型;
获取目标对象的确认消息,其中,所述确认消息用于指示所述目标对象从显示的所述不同的消息类型中所选择的所述消息的消息类型。
4.根据权利要求1所述的方法,其特征在于,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,包括:
获取所述消息类型对应的组装模板所对应的消息格式;
根据所述消息格式对所述消息进行组装,得到组装后的消息。
5.根据权利要求1所述的方法,其特征在于,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息,包括:
在所述消息类型为业务之间的消息的情况下,通过消息队列MQ方式发送所述业务之间的消息;
在所述消息类型为即时消息的情况下,基于全双工通信协议长连接的发送方式发送所述即时消息;
在所述消息类型为定时消息的情况下,通过触发定时任务的发送方式发送所述定时消息。
6.根据权利要求2所述的方法,其特征在于,通过目标应用通过目标应用获取待发送的消息之后,所述方法还包括:
对所述消息进行转码,得到转码后的消息;
对所述转码后的消息进行校验,其中,其中,在校验通过的情况下,在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息。
7.一种消息发送装置,其特征在于,包括:
获取模块,用于通过目标应用通过目标应用获取待发送的消息;
第一确定模块,用于在所述目标应用中在所述目标应用中确定所述消息的消息类型,并根据所述消息类型对应的组装模板组装所述消息,得到组装后的消息,其中,所述消息类型至少包括以下之一:业务之间的消息,即时消息,定时消息;
发送模块,根据所述消息类型对应的发送方式通过所述目标应用发送所述组装后的消息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于从所述消息中获取目标标识信息,其中,所述目标标识信息用于标识所述消息的消息类型,不同的标识信息对应不同的消息类型;根据所述目标标识信息确定所述消息的消息类型。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011522171.2A CN112689005B (zh) | 2020-12-21 | 2020-12-21 | 消息发送方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011522171.2A CN112689005B (zh) | 2020-12-21 | 2020-12-21 | 消息发送方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112689005A true CN112689005A (zh) | 2021-04-20 |
CN112689005B CN112689005B (zh) | 2023-04-07 |
Family
ID=75450149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011522171.2A Active CN112689005B (zh) | 2020-12-21 | 2020-12-21 | 消息发送方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689005B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794620A (zh) * | 2021-07-27 | 2021-12-14 | 奇安信科技集团股份有限公司 | 消息发送方法、装置、设备、***与存储介质 |
CN114221883A (zh) * | 2021-12-14 | 2022-03-22 | 平安壹钱包电子商务有限公司 | 消息测试方法、装置、服务器及存储介质 |
CN115834523A (zh) * | 2022-09-27 | 2023-03-21 | 中银金融科技有限公司 | 自动化消息处理方法、***、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107645524A (zh) * | 2016-07-21 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 一种消息推送处理方法以及装置 |
CN110601952A (zh) * | 2018-06-12 | 2019-12-20 | 北京京东尚科信息技术有限公司 | 多渠道消息通知发送方法和装置 |
CN110855548A (zh) * | 2019-10-18 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 一种消息推送方法及装置 |
CN111027298A (zh) * | 2019-05-31 | 2020-04-17 | 珠海随变科技有限公司 | 消息发送方法、***、计算机设备及存储介质 |
CN111949177A (zh) * | 2020-08-11 | 2020-11-17 | 深圳传音控股股份有限公司 | 信息发送方法、终端设备及计算机可读存储介质 |
CN112039754A (zh) * | 2020-09-09 | 2020-12-04 | 武汉悦学帮网络技术有限公司 | 一种消息处理***、方法、发送方法、装置及电子设备 |
-
2020
- 2020-12-21 CN CN202011522171.2A patent/CN112689005B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107645524A (zh) * | 2016-07-21 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 一种消息推送处理方法以及装置 |
CN110601952A (zh) * | 2018-06-12 | 2019-12-20 | 北京京东尚科信息技术有限公司 | 多渠道消息通知发送方法和装置 |
CN111027298A (zh) * | 2019-05-31 | 2020-04-17 | 珠海随变科技有限公司 | 消息发送方法、***、计算机设备及存储介质 |
CN110855548A (zh) * | 2019-10-18 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 一种消息推送方法及装置 |
CN111949177A (zh) * | 2020-08-11 | 2020-11-17 | 深圳传音控股股份有限公司 | 信息发送方法、终端设备及计算机可读存储介质 |
CN112039754A (zh) * | 2020-09-09 | 2020-12-04 | 武汉悦学帮网络技术有限公司 | 一种消息处理***、方法、发送方法、装置及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794620A (zh) * | 2021-07-27 | 2021-12-14 | 奇安信科技集团股份有限公司 | 消息发送方法、装置、设备、***与存储介质 |
CN113794620B (zh) * | 2021-07-27 | 2023-07-25 | 奇安信科技集团股份有限公司 | 消息发送方法、装置、设备、***与存储介质 |
CN114221883A (zh) * | 2021-12-14 | 2022-03-22 | 平安壹钱包电子商务有限公司 | 消息测试方法、装置、服务器及存储介质 |
CN115834523A (zh) * | 2022-09-27 | 2023-03-21 | 中银金融科技有限公司 | 自动化消息处理方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112689005B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112689005B (zh) | 消息发送方法及装置、存储介质、电子装置 | |
US11088975B2 (en) | Systems and methods for coordinating real-time messaging for data sharing and updating between participants using disparate message data formats | |
US7801941B2 (en) | Apparatus and method for exchanging data between two devices | |
US8495249B2 (en) | Providing sync notifications to client devices | |
CN1788474B (zh) | 对寻址到客户机终端的消息进行处理的方法、装置和*** | |
CN103069755B (zh) | 使用多个客户端实例的即时消息传送的方法和*** | |
EP1659820A2 (en) | Short message service (sms) remote control system and method | |
CA2782462C (en) | Reliable delivery of content to a push-state aware client device | |
CN102958008A (zh) | 一种实现即时通讯的方法、***和移动终端 | |
US7801959B1 (en) | Method and system for pushing electronic messages to a wireless portable device using a standard mail server interface | |
CN103024698A (zh) | 一种整合各联系人的信息的方法、***及移动终端 | |
KR100738040B1 (ko) | 개방형 모바일 비즈니스 지원 시스템의 api 제공 방법 | |
US7010790B2 (en) | Modular method and device for the tracing of a multimedia message through a telecommunications network | |
US8285856B1 (en) | Methods and systems for integrating a messaging service with an application | |
CN114022278B (zh) | 一种模拟交易处理方法及装置 | |
CN115632994A (zh) | 消息处理方法和装置、电子设备以及计算机可读介质 | |
CN112866268B (zh) | 报文处理方法及*** | |
CA2721413C (en) | System and method for centrally distributing mobile content | |
EP2490467A1 (en) | Method and arrangement for registering a user | |
CN115208875B (zh) | 多传输中间件的信息集成*** | |
CN115474071B (zh) | 一种内容显示方法、装置、设备及存储介质 | |
US20240152504A1 (en) | Data interaction method, apparatus, and electronic device | |
CN113780614A (zh) | 一种风险识别方法和装置 | |
CN117615002A (zh) | 消息推送方法、***、电子设备及存储介质 | |
CN115934830A (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 |