CN113556399A - 消息推送装置、系统、方法、电子设备、存储介质 - Google Patents
消息推送装置、系统、方法、电子设备、存储介质 Download PDFInfo
- Publication number
- CN113556399A CN113556399A CN202110826752.3A CN202110826752A CN113556399A CN 113556399 A CN113556399 A CN 113556399A CN 202110826752 A CN202110826752 A CN 202110826752A CN 113556399 A CN113556399 A CN 113556399A
- Authority
- CN
- China
- Prior art keywords
- message
- service
- push
- module
- component
- 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 83
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims abstract description 52
- 238000006243 chemical reaction Methods 0.000 claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 103
- 238000010586 diagram Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000029087 digestion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Classifications
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开是关于一种消息推送装置、系统、方法、电子设备、存储介质。该装置包括:名单注册模块,用于存储需推送服务的业务组件的监听注册信息并提供信息获取接口;消息转化模块,用于获取推送服务SDK推送的自定义格式的服务消息并将服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将目标消息发送给消息管理模块;消息管理模块,用于通过信息获取接口获取监听注册信息以得到当前监听推送服务的业务组件,以及通过总线模块将目标消息发送给对应的业务组件。本实施例中可以将自定义格式的服务消息抽象成安卓系统所需要的抽象消息体类的目标消息,无需根据推送服务SDK调整业务逻辑和业务代码即可接入多个推送服务SDK,降低开发难度。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种消息推送装置、系统、方法、电子设备、存储介质。
背景技术
目前,在如智能手机或平板电脑等电子设备中,使用消息推送服务的应用程序越来越多。以电子设备中安装Android操作系统为例,该Android操作系统可以提供第三方服务商的推送客户端SDK为应用程序提供推送服务。在开发应用程序的过程中,开发人员可以引入一个推送客户端SDK即可接入该第三方服务商的推送服务。
实际应用中,应用程序通常会在业务逻辑和业务代码上与推送客户端深度捆绑,以更好的使用推送服务。然而,当需要同时接入至多家第三方服务商提供的推送客户端SDK时,由于各推送客户端SDK的数据格式、API和开发模式等方面存在差异,导致应用程序需要兼容多家推送客户端SDK,从而增加了开发难度和开发工作量。
发明内容
本公开提供一种消息推送装置、系统、方法、电子设备、存储介质,以解决相关技术的不足。
根据本公开实施例的第一方面,提供一种消息推送装置,所述装置包括:消息转化模块、名单注册模块、消息管理模块和总线模块;所述消息转化模块与所接入的多个推送服务SDK通信;所述消息管理模块分别与所述消息转化模块、所述名单注册模块和所述总线模块通信;
所述名单注册模块,用于存储需推送服务的业务组件的监听注册信息并提供信息获取接口;
所述消息转化模块,用于获取所述推送服务SDK推送的自定义格式的服务消息并将所述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将所述目标消息发送给所述消息管理模块;
所述消息管理模块,用于通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件,以及通过所述总线模块将所述目标消息发送给对应的业务组件。
可选地,所述抽象消息体类包括以下至少一种:透传消息类、推送消息类和推送命令消息类;其中,
所述透传消息类包括以下变量:本条目标消息的消息ID,该消息ID来自推送服务SDK;本条目标消息的任务ID,该任务ID来自推送服务SDK;本条目标消息的透传消息ID,该透传消息为业务组件定制的消息,该透传消息ID用于唯一标识该透传消息;透传消息的消息结构体,以使业务组件解析并处理后续业务流程;
所述推送消息类包括以下变量:本条目标消息的消息ID,该消息ID来自推送服务SDK;本条目标消息的任务ID,该任务ID来自推送服务SDK;本条目标消息的消息标题,以显示在Android消息栏中的消息标题栏;本条目标消息的消息内容,以显示在Android消息栏中的消息内容栏;
所述推送命令消息类包括以下变量:本条目标消息的动作编号,该动作编号对应于预设的业务命令字典表格中的一个具体业务动作;
所述透传消息类、所述推送消息类和所述推送命令消息类的父类包括以下变量:发送服务消息的推送服务SDK的ID,该推送服务SDK的ID来自推送服务SDK;服务消息的携带消息体,该携带消息体来自推送服务SDK。
可选地,所述消息管理模块用于通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块用于调用所述名单注册模块的信息获取接口;
所述消息管理模块用于通过所述信息获取接口查询当前是否有业务组件监听推送服务;
所述消息管理模块用于在有业务组件监听推送服务时调用所述总线模块,由所述总线模块发送协同监听消息。
可选地,所述消息管理模块用于通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块还用于在没有业务组件监听推送服务时不发送所述目标消息。
可选地,所述装置还包括网络模块,所述网络模块分别与所述消息管理模块和外部的推送服务业务管理后台通信;
所述消息管理模块还用于在接收到所述目标消息时生成所述目标消息的接收状态,并将所述接收状态发送给所述网络模块以及将本次推送消息执行状态存储至本地文件;
所述网络模块用于将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
可选地,所述网络模块还用于获取需推送服务的业务组件的监听注册信息,以在接收到所述目标消息时基于预设的协同监听方法进行消息分发。
可选地,所述名单注册模块还用于获取业务组件发送的回调接口并将所述回调接口写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
可选地,所述名单注册模块还用于获取业务组件发送的总线回调方法并将所述总线回调方法写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
根据本公开实施例的第二方面,提供一种消息推送系统,所述系统包括所接入的多个推送服务SDK、业务组件和如第一方面所述的消息推送装置;所述推送服务SDK与外部的推送服务业务管理后台通信,所述消息推送装置分别与所述推送服务SDK和所述业务组件通信;
所述业务组件用于向所述消息推送装置发送监听注册信息,以使所述消息推送装置将所述业务组件注册到预设的黑名单或白名单中;
所述推送服务SDK用于获取所述推送服务业务管理后台推送的自定义格式的服务消息,并将所述服务消息发送给所述消息推送装置;
所述消息推送装置用于将所述自定义格式的服务消息转化成安卓系统所需的抽象消息体类的目标消息后再分发到对应的业务组件。
可选地,所述消息推送装置还与外部的推送服务业务管理后台通信,还用于生成所述目标消息的接收状态,并将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息;以及还用于将本次推送消息执行状态存储至本地文件。
可选地,所述消息推送装置还与控制后台通信,所述控制后台与所述推送服务业务管理后台通信;
所述控制后台用于在检测预设事件触发后生成推送服务请求,并将所述推送服务请求发送给所述推送服务业务管理后台;
所述推送服务业务管理后台用于响应于所述推送服务请求生成自定义格式的服务消息并将所述自定义格式的服务消息发送给所述消息推送装置。
根据本公开实施例的第三方面,提供一种消息推送方法,适用于消息推送装置,所述装置包括:消息转化模块、名单注册模块、消息管理模块和总线模块;所述消息转化模块与所接入的多个推送服务SDK通信;所述消息管理模块分别与所述消息转化模块、所述名单注册模块和所述总线模块通信;所述方法包括:
所述名单注册模块存储需推送服务的业务组件的监听注册信息并提供信息获取接口;
所述消息转化模块获取所述推送服务SDK推送的自定义格式的服务消息并将所述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将所述目标消息发送给所述消息管理模块;
所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件,以及通过所述总线模块将所述目标消息发送给对应的业务组件。
可选地,所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块调用所述名单注册模块的信息获取接口;
所述消息管理模块通过所述信息获取接口查询当前是否有业务组件监听推送服务;
所述消息管理模块在有业务组件监听推送服务时调用所述总线模块,由所述总线模块发送协同监听消息。
可选地,所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件还包括:
所述消息管理模块在没有业务组件监听推送服务时不发送所述目标消息。
可选地,所述装置还包括网络模块,所述网络模块分别与所述消息管理模块和外部的推送服务业务管理后台通信;所述方法还包括:
所述消息管理模块在接收到所述目标消息时生成所述目标消息的接收状态,并将所述接收状态发送给所述网络模块以及将本次推送消息执行状态存储至本地文件;
所述网络模块将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
可选地,所述方法还包括:
所述网络模块获取需推送服务的业务组件的监听注册信息,以在接收到所述目标消息时基于预设的协同监听方法进行消息分发。
可选地,所述方法还包括:
所述名单注册模块获取业务组件发送的回调接口并将所述回调接口写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
可选地,所述方法还包括:
所述名单注册模块获取业务组件发送的总线回调方法并将所述总线回调方法写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
根据本公开实施例的第四方面,提供一种消息推送方法,适用于消息推送系统,所述系统包括所接入的多个推送服务SDK、业务组件和如第一方面任一项所述的消息推送装置;所述推送服务SDK与外部的推送服务业务管理后台通信,所述消息推送装置分别与所述推送服务SDK和所述业务组件通信;所述方法包括:
所述业务组件向所述消息推送装置发送监听注册信息,以使所述消息推送装置将所述业务组件注册到预设的黑名单或白名单中;
所述推送服务SDK获取所述推送服务业务管理后台推送的自定义格式的服务消息,并将所述服务消息发送给所述消息推送装置;
所述消息推送装置将所述自定义格式的服务消息转化成安卓系统所需的抽象消息体类的目标消息后再分发到对应的业务组件。
可选地,所述消息推送装置还与外部的推送服务业务管理后台通信,所述方法包括:
生成所述目标消息的接收状态,以及还用于将本次推送消息执行状态存储至本地文件;
将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
可选地,所述消息推送装置还与控制后台通信,所述控制后台与所述推送服务业务管理后台通信;所述方法包括:
所述控制后台在检测预设事件触发后生成推送服务请求,并将所述推送服务请求发送给所述推送服务业务管理后台,以使所述推送服务业务管理后台响应于所述推送服务请求生成自定义格式的服务消息并将所述自定义格式的服务消息发送给所述消息推送装置。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如上述任一项所述的方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的可执行的计算机程序由电子设备的处理器执行时,能够实现如上述任一项所述的方法。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如上述任一项所述的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的可执行的计算机程序由电子设备的处理器执行时,能够实现如上述任一项所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本公开实施例提供的方案中,通过设置名单注册模块,可以存储需推送服务的业务组件的监听注册信息并提供信息获取接口;通过设置消息转化模块,可以获取所述推送服务SDK推送的自定义格式的服务消息并将所述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将所述目标消息发送给所述消息管理模块;通过设置消息管理模块,可以获取所述监听注册信息以得到当前监听推送服务的业务组件,以及通过所述总线模块将所述目标消息发送给对应的业务组件。这样,本实施例中可以将自定义格式的服务消息抽象成安卓系统所需要的抽象消息体类的目标消息,无需根据推送服务SDK调整业务逻辑和业务代码即可接入多个推送服务SDK,降低开发难度。并且,本实施例中通过名单注册模块和总线模块来传输目标消息,与为每个推送服务SDK建立一个传输通道相比较,使用总线模块传输消息能够降低消息推送装置的功能体积。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种消息推送装置和一种消息推送系统的框图。
图2是根据一示例性实施例示出的业务组件注册的流程图。
图3是根据一示例性实施例示出的推送消息的流程图。
图4是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置例子。
为解决上述技术问题,本公开实施例提供了一种消息推送装置,适用于使用第三方服务商提供推送服务的应用程序,其中该应用程序应用于安装有安卓系统的电子设备,图1是根据一示例性实施例示出的一种消息推送装置的框图。
参见图1,一种消息推送装置,包括:消化转化模块、名单注册模块、消息管理模块和总线模块。消息转化模块与所接入的多个推送服务SDK通信;消息管理模块分别与消息转化模块、名单注册模块和总线模块通信。其中,
名单注册模块,用于存储需推送服务的业务组件的监听注册信息并提供信息获取接口;
消息转化模块,用于获取至少一个推送服务SDK推送的自定义格式的服务消息并将上述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将目标消息发送给消息管理模块;
消息管理模块,用于通过上述信息获取接口获取监听注册信息以得到当前监听推送服务的业务组件,以及通过上述总线模块将上述目标消息发送给对应的业务组件。
在一实施例中,当业务组件启动后,如业务组件A、B、C……,其可以按照预先的配置信息进行注册,注册方式可以包括但不限于以下方式:直接注册回调接口至消息推送装置中的名单注册模块、使用协同监听方法进行总线消息分发、注册类似EventBus总线回调方法进行回调注册等。
例如,以直接注册回调接口至消息推送装置中的名单注册模块为例,业务组件启动后有推送服务的需求时可以将回调接口发送给名单注册模块。名单注册模块可以获取业务组件发送的回调接口,并将上述回调接口写入预设的黑名单或者白名单中,以对业务组件进行注册。并且,名单注册模块可以提供一个信息获取接口,通过调用该信息获取接口可以获取到已经注册过的业务组件。
又如,以使用协同监听方法进行总线消息分发为例,业务组件启动后,在配置信息表示其有推送服务的需求时,可以向总线模块发送预设的协同监听方法。总线模块在接收到上述预设的协同监听方法时,可以根据上述协同监听方法建立目标消息的传输通道即建立推送服务SDK对应的传输通道。这样,总线模块在被调用后即可将上述目标消息经由对应的传输通道传输给业务组件。
再如,以注册类似EventBus总线回调方法为例,业务组件启动后,在配置信息表示其有推送服务的需求时,可以将总线回调方法发送给名单注册模块。名单注册模块可以根据上述总线回调方法完成对业务组件的注册工作。并且,名单注册模块可以提供一个信息获取接口,通过调用该信息获取接口可以获取到已经注册过的业务组件。
可理解的是,本实施例中通过名单注册模块和总线模块来传输目标消息,与为每个推送服务SDK单独建立一个传输通道相比较,使用总线模块传输消息能够降低消息推送装置的功能体积。
在一实施例中,消息转化模块可以作为推送的服务消息的入口,其可以获取各个推送服务SDK所推送的不同格式的服务消息,即各推送服务SDK输出的服务消息具有不同的自定义格式。此时,消息转化模块可以对不同的自定义格式进行抽象并转化成安卓系统所需的抽象消息体类的目标消息,即消息转化模块可以将不同格式的服务消息转化成通用的目标消息。然后,消息转化模块可以将目标消息发送给消息管理模块。这样,本实施例中仅需要对服务消息进行抽象即可获得通信格式的目标消息,在不增加开发人员工作难度的情况下方便开发人员接入多个第三方服务端提供的推送服务SDK,从而极大降低了开发难度和工作量。
需要说明的是,本实施例中抽象消息体类可以包括以下至少一种:透传消息类、推送消息类和推送命令消息类。其中,
所述透传消息类包括以下变量:本条目标消息的消息ID,如String messageId,该消息ID来自推送服务SDK;本条目标消息的任务ID,如String taskId,该任务ID来自推送服务SDK;本条目标消息的透传消息ID,如String payloadId,该透传消息为业务组件定制的消息,该透传消息ID用于唯一标识该透传消息;透传消息的消息结构体,如Stringpayload,以使业务组件解析并处理后续业务流程,该结构体可以为jsonString类型,由业务组件具体进行消息解析,并处理后续业务流程。
所述推送消息类包括以下变量:本条目标消息的消息ID,如String messageId,该消息ID来自推送服务SDK;本条目标消息的任务ID,如String taskId,该任务ID来自推送服务SDK;本条目标消息的消息标题,如String title,以显示在Android消息栏中的消息标题栏;本条目标消息的消息内容,如String payload,以显示在Android消息栏中的消息内容栏。
所述推送命令消息类包括以下变量:本条目标消息的动作编号,如Int action,该动作编号对应于预设的业务命令字典表格中的一个具体业务动作。该业务动作字典表格可以由推送使用者的业务方具体定制,此处仅需要进行配置和分发即可。
需要说明的是,上述透传消息类、上述推送消息类和上述推送命令消息类的父类包括以下变量:发送服务消息的推送服务SDK的ID,如String clientId,来自推送服务SDK;服务消息的携带消息体,如String msg,该携带消息体来自推送服务SDK,可能包含一些消息内容外需要提交给业务组件的参数配置信息,或数据信息等内容,具体内容由接收推送消息的业务组件进行定义。
在一实施例中,消息管理模块可以与消息转化模块进行通信,可以获取到上述目标消息。在接收到目标消息之后,消息管理模块可以与名单注册模块通信并获得信息获取接口,从而获取需要推送服务的业务组件即当前监听推送服务的业务组件。例如,消息管理模块可以调用名单注册模块的信息获取接口,通过信息获取接口查询当前是否有业务组件监听推送服务;在有业务组件监听推送服务时调用总线模块,此时总线模块发送协同监听消息。然后,消息管理模块可以将上述目标消息发送给总线模块,由总线模块可以将目标消息转发给对应的业务组件。消息管理模块在确定没有业务组件监听推送服务时不发送目标消息。
在另一实施例中,消息管理模块可以与消息转化模块进行通信,可以获取到上述目标消息。在接收到目标消息之后,消息管理模块可以直接将目标消息发送给总线模块。总线模块可以查询预先建立的传输通道,在确定传输通道后,将目标消息经由对应的传输通道发送给业务组件。
在一实施例中,继续参见图1,一种消息推送装置还包括网络模块,该网络模块可以包括有线通信模块或者无线通信模块。以无线通信模块为例,可以包括以下至少一种:WiFi模块、蓝牙模块、红外模块、Zigbee模块、UWB模块等,可根据具体场景进行设置。该网络模组分别与消息管理模块和外部的推送服务业务管理后台(图中未示出)通信。其中,消息管理模块还用于在接收到目标消息时生成目标消息的接收状态,并将该接收状态发送给网络模块以及将本次推送消息执行状态存储至本地文件。网络模块可以将接收状态转发至推送服务业务管理后台,以使推送服务业务管理后台统计所推送的服务消息。这样,本实施例中通过设置网络模组可以方便后台对不同服务端推送的消息数据进行统计和记录,有利于提升推送效率。
下面描述图2和图3描述本实施例提供的消息推送装置的工作流程,包括:
参见图2,业务组件启动后会注册至消息推送装置,以直接注册回调接口至名单注册组件为例,业务组件可以将回调接口发送给名单注册模块。名单注册模块可以获取业务组件发送的回调接口,并将上述回调接口写入预设的黑名单或者白名单中,以完成对业务组件的注册工作。名单注册模块可以提供一个信息获取接口,通过调用该信息获取接口可以获取到已经注册过的业务组件。
参见图3,应用程序启动后,消息推送装置和多个推送服务SDK同时启动。当推送服务SDK接收到后台所推送的服务消息后,会将推送信息发送至消息推送装置。消息推送装置中的消息转化模块可以将服务消息转化透传消息类、推送消息类和推送命令消息类中的一种,得到目标消息。消息转化模块将上述目标消息发送给消息管理模块。消息管理模块可以调用名单注册模块的信息获取接口,以查询当前是否有业务组件监听推送服务。如果有业务组件,则获取其相关组件信息,调用总线模块发送协同监听消息,将目标消息发送至对应的业务组件。如果没有业务组件,则不发送该信息。消息管理模块可以调用网络模块,将该条目标消息的接收到情况发送至推送服务业务管理后台,以用于后续推送服务的数据统计;并将本次推送消息执行情况记录至Android本地文件中,以保存消息记录。最后,结束本次消息推送事件。
本公开实施例还提供了一种消息推送系统,继续参见图1,所述系统包括所接入的多个推送服务SDK、业务组件和如图1所述的消息推送装置。推送服务SDK与外部的推送服务业务管理后台(图中未示出)通信,消息推送装置分别与推送服务SDK和业务组件通信。其中,
业务组件用于向消息推送装置发送监听注册信息,以使消息推送装置将所述业务组件注册到预设的黑名单或白名单中。
推送服务SDK用于获取推送服务业务管理后台推送的自定义格式的服务消息,并将服务消息发送给消息推送装置;
消息推送装置用于将自定义格式的服务消息转化成安卓系统所需的抽象消息体类的目标消息后再分发到对应的业务组件。
在一实施例中,消息推送装置还与外部的推送服务业务管理后台通信,还用于生成所述目标消息的接收状态,并将接收状态转发至推送服务业务管理后台,以使推送服务业务管理后台统计所推送的服务消息;以及还用于将本次推送消息执行状态存储至本地文件。
在一实施例中,消息推送装置还与控制后台通信,控制后台与所述推送服务业务管理后台通信。其中,控制后台用于在检测预设事件触发后生成推送服务请求,并将推送服务请求发送给推送服务业务管理后台;推送服务业务管理后台用于响应于推送服务请求生成自定义格式的服务消息并将自定义格式的服务消息发送给消息推送装置。
需要说明的是,该控制后台可以是区别于推送服务业务管理后台的后台,该控制后台可以获取某些场景的检测数据,例如生产线的温度、生产区间的湿度等;当检测数据超过数据阈值时,控制后台确定需要推送消息即检测到预设事件触发,此时控制后台可以生成推送服务请求并发送给推送服务业务管理后台,由推送服务业务管理后台推送服务消息至消息推送系统。
可理解的是,本公开实施例提供的系统与上述装置相对应,具体内容可以参考装置各实施例的内容,在此不再赘述。
本公开实施例还提供了一种消息推送方法,适用于消息推送装置,所述装置包括:消息转化模块、名单注册模块、消息管理模块和总线模块;所述消息转化模块与所接入的多个推送服务SDK通信;所述消息管理模块分别与所述消息转化模块、所述名单注册模块和所述总线模块通信;所述方法包括:
所述名单注册模块存储需推送服务的业务组件的监听注册信息并提供信息获取接口;
所述消息转化模块获取所述推送服务SDK推送的自定义格式的服务消息并将所述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将所述目标消息发送给所述消息管理模块;
所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件,以及通过所述总线模块将所述目标消息发送给对应的业务组件。
在一实施例中,所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块调用所述名单注册模块的信息获取接口;
所述消息管理模块通过所述信息获取接口查询当前是否有业务组件监听推送服务;
所述消息管理模块在有业务组件监听推送服务时调用所述总线模块,由所述总线模块发送协同监听消息。
在一实施例中,所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件还包括:
所述消息管理模块在没有业务组件监听推送服务时不发送所述目标消息。
在一实施例中,所述装置还包括网络模块,所述网络模块分别与所述消息管理模块和外部的推送服务业务管理后台通信;所述方法还包括:
所述消息管理模块在接收到所述目标消息时生成所述目标消息的接收状态,并将所述接收状态发送给所述网络模块以及将本次推送消息执行状态存储至本地文件;
所述网络模块将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
在一实施例中,所述方法还包括:
所述网络模块获取需推送服务的业务组件的监听注册信息,以在接收到所述目标消息时基于预设的协同监听方法进行消息分发。
在一实施例中,所述方法还包括:
所述名单注册模块获取业务组件发送的回调接口并将所述回调接口写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
在一实施例中,所述方法还包括:
所述名单注册模块获取业务组件发送的总线回调方法并将所述总线回调方法写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
可理解的是,本公开实施例提供的方法与上述装置相对应,具体内容可以参考装置各实施例的内容,在此不再赘述。
本公开实施例还提供了一种消息推送方法,适用于消息推送系统,所述系统包括所接入的多个推送服务SDK、业务组件和如图1所示的消息推送装置;所述推送服务SDK与外部的推送服务业务管理后台通信,所述消息推送装置分别与所述推送服务SDK和所述业务组件通信;所述方法包括:
所述业务组件向所述消息推送装置发送监听注册信息,以使所述消息推送装置将所述业务组件注册到预设的黑名单或白名单中;
所述推送服务SDK获取所述推送服务业务管理后台推送的自定义格式的服务消息,并将所述服务消息发送给所述消息推送装置;
所述消息推送装置将所述自定义格式的服务消息转化成安卓系统所需的抽象消息体类的目标消息后再分发到对应的业务组件。
在一实施例中,所述消息推送装置还与外部的推送服务业务管理后台通信,所述方法包括:
生成所述目标消息的接收状态,以及还用于将本次推送消息执行状态存储至本地文件;
将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
在一实施例中,所述消息推送装置还与控制后台通信,所述控制后台与所述推送服务业务管理后台通信;所述方法包括:
所述控制后台在检测预设事件触发后生成推送服务请求,并将所述推送服务请求发送给所述推送服务业务管理后台,以使所述推送服务业务管理后台响应于所述推送服务请求生成自定义格式的服务消息并将所述自定义格式的服务消息发送给所述消息推送装置。
可理解的是,本公开实施例提供的方法与上述系统相对应,具体内容可以参考系统各实施例的内容,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种服务器,包括:
处理器41;
用于存储所述处理器可执行的计算机程序的存储器42;
其中,所述处理器41用于执行所述存储器42中的计算机程序,以实现如上述方法的步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述可执行的计算机程序可由处理器执行,以实现如上述方法的步骤。其中,可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (23)
1.一种消息推送装置,其特征在于,所述装置包括:消息转化模块、名单注册模块、消息管理模块和总线模块;所述消息转化模块与所接入的多个推送服务SDK通信;所述消息管理模块分别与所述消息转化模块、所述名单注册模块和所述总线模块通信;
所述名单注册模块,用于存储需推送服务的业务组件的监听注册信息并提供信息获取接口;
所述消息转化模块,用于获取所述推送服务SDK推送的自定义格式的服务消息并将所述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将所述目标消息发送给所述消息管理模块;
所述消息管理模块,用于通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件,以及通过所述总线模块将所述目标消息发送给对应的业务组件。
2.根据权利要求1所述的装置,其特征在于,所述抽象消息体类包括以下至少一种:透传消息类、推送消息类和推送命令消息类;其中,
所述透传消息类包括以下变量:本条目标消息的消息ID,该消息ID来自推送服务SDK;本条目标消息的任务ID,该任务ID来自推送服务SDK;本条目标消息的透传消息ID,该透传消息为业务组件定制的消息,该透传消息ID用于唯一标识该透传消息;透传消息的消息结构体,以使业务组件解析并处理后续业务流程;
所述推送消息类包括以下变量:本条目标消息的消息ID,该消息ID来自推送服务SDK;本条目标消息的任务ID,该任务ID来自推送服务SDK;本条目标消息的消息标题,以显示在Android消息栏中的消息标题栏;本条目标消息的消息内容,以显示在Android消息栏中的消息内容栏;
所述推送命令消息类包括以下变量:本条目标消息的动作编号,该动作编号对应于预设的业务命令字典表格中的一个具体业务动作;
所述透传消息类、所述推送消息类和所述推送命令消息类的父类包括以下变量:发送服务消息的推送服务SDK的ID,该推送服务SDK的ID来自推送服务SDK;服务消息的携带消息体,该携带消息体来自推送服务SDK。
3.根据权利要求1所述的装置,其特征在于,所述消息管理模块用于通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块用于调用所述名单注册模块的信息获取接口;
所述消息管理模块用于通过所述信息获取接口查询当前是否有业务组件监听推送服务;
所述消息管理模块用于在有业务组件监听推送服务时调用所述总线模块,由所述总线模块发送协同监听消息。
4.根据权利要求3所述的装置,其特征在于,所述消息管理模块用于通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块还用于在没有业务组件监听推送服务时不发送所述目标消息。
5.根据权利要求1所述的装置,其特征在于,所述装置还包括网络模块,所述网络模块分别与所述消息管理模块和外部的推送服务业务管理后台通信;
所述消息管理模块还用于在接收到所述目标消息时生成所述目标消息的接收状态,并将所述接收状态发送给所述网络模块以及将本次推送消息执行状态存储至本地文件;
所述网络模块用于将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
6.根据权利要求5所述的装置,其特征在于,所述网络模块还用于获取需推送服务的业务组件的监听注册信息,以在接收到所述目标消息时基于预设的协同监听方法进行消息分发。
7.根据权利要求1所述的装置,其特征在于,所述名单注册模块还用于获取业务组件发送的回调接口并将所述回调接口写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
8.根据权利要求1所述的装置,其特征在于,所述名单注册模块还用于获取业务组件发送的总线回调方法并将所述总线回调方法写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
9.一种消息推送系统,其特征在于,所述系统包括所接入的多个推送服务SDK、业务组件和如权利要求1~8任一项所述的消息推送装置;所述推送服务SDK与外部的推送服务业务管理后台通信,所述消息推送装置分别与所述推送服务SDK和所述业务组件通信;
所述业务组件用于向所述消息推送装置发送监听注册信息,以使所述消息推送装置将所述业务组件注册到预设的黑名单或白名单中;
所述推送服务SDK用于获取所述推送服务业务管理后台推送的自定义格式的服务消息,并将所述服务消息发送给所述消息推送装置;
所述消息推送装置用于将所述自定义格式的服务消息转化成安卓系统所需的抽象消息体类的目标消息后再分发到对应的业务组件。
10.根据权利要求9所述的系统,其特征在于,所述消息推送装置还与外部的推送服务业务管理后台通信,还用于生成所述目标消息的接收状态,并将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息;以及还用于将本次推送消息执行状态存储至本地文件。
11.根据权利要求10所述的系统,其特征在于,所述消息推送装置还与控制后台通信,所述控制后台与所述推送服务业务管理后台通信;
所述控制后台用于在检测预设事件触发后生成推送服务请求,并将所述推送服务请求发送给所述推送服务业务管理后台;
所述推送服务业务管理后台用于响应于所述推送服务请求生成自定义格式的服务消息并将所述自定义格式的服务消息发送给所述消息推送装置。
12.一种消息推送方法,其特征在于,适用于消息推送装置,所述装置包括:消息转化模块、名单注册模块、消息管理模块和总线模块;所述消息转化模块与所接入的多个推送服务SDK通信;所述消息管理模块分别与所述消息转化模块、所述名单注册模块和所述总线模块通信;所述方法包括:
所述名单注册模块存储需推送服务的业务组件的监听注册信息并提供信息获取接口;
所述消息转化模块获取所述推送服务SDK推送的自定义格式的服务消息并将所述服务消息转化成安卓系统所需的抽象消息体类的目标消息,以及将所述目标消息发送给所述消息管理模块;
所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件,以及通过所述总线模块将所述目标消息发送给对应的业务组件。
13.根据权利要求12所述的方法,其特征在于,所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件包括:
所述消息管理模块调用所述名单注册模块的信息获取接口;
所述消息管理模块通过所述信息获取接口查询当前是否有业务组件监听推送服务;
所述消息管理模块在有业务组件监听推送服务时调用所述总线模块,由所述总线模块发送协同监听消息。
14.根据权利要求13所述的方法,其特征在于,所述消息管理模块通过所述信息获取接口获取所述监听注册信息以得到当前监听推送服务的业务组件还包括:
所述消息管理模块在没有业务组件监听推送服务时不发送所述目标消息。
15.根据权利要求12所述的方法,其特征在于,所述装置还包括网络模块,所述网络模块分别与所述消息管理模块和外部的推送服务业务管理后台通信;所述方法还包括:
所述消息管理模块在接收到所述目标消息时生成所述目标消息的接收状态,并将所述接收状态发送给所述网络模块以及将本次推送消息执行状态存储至本地文件;
所述网络模块将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
所述网络模块获取需推送服务的业务组件的监听注册信息,以在接收到所述目标消息时基于预设的协同监听方法进行消息分发。
17.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述名单注册模块获取业务组件发送的回调接口并将所述回调接口写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
18.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述名单注册模块获取业务组件发送的总线回调方法并将所述总线回调方法写入预设的黑名单或者白名单中,以对所述业务组件进行注册。
19.一种消息推送方法,其特征在于,适用于消息推送系统,所述系统包括所接入的多个推送服务SDK、业务组件和如权利要求1~8任一项所述的消息推送装置;所述推送服务SDK与外部的推送服务业务管理后台通信,所述消息推送装置分别与所述推送服务SDK和所述业务组件通信;所述方法包括:
所述业务组件向所述消息推送装置发送监听注册信息,以使所述消息推送装置将所述业务组件注册到预设的黑名单或白名单中;
所述推送服务SDK获取所述推送服务业务管理后台推送的自定义格式的服务消息,并将所述服务消息发送给所述消息推送装置;
所述消息推送装置将所述自定义格式的服务消息转化成安卓系统所需的抽象消息体类的目标消息后再分发到对应的业务组件。
20.根据权利要求19所述的方法,其特征在于,所述消息推送装置还与外部的推送服务业务管理后台通信,所述方法包括:
生成所述目标消息的接收状态,以及还用于将本次推送消息执行状态存储至本地文件;
将所述接收状态转发至所述推送服务业务管理后台,以使所述推送服务业务管理后台统计所推送的服务消息。
21.根据权利要求20所述的方法,其特征在于,所述消息推送装置还与控制后台通信,所述控制后台与所述推送服务业务管理后台通信;所述方法包括:
所述控制后台在检测预设事件触发后生成推送服务请求,并将所述推送服务请求发送给所述推送服务业务管理后台,以使所述推送服务业务管理后台响应于所述推送服务请求生成自定义格式的服务消息并将所述自定义格式的服务消息发送给所述消息推送装置。
22.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如权利要求12~19任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的可执行的计算机程序由电子设备的处理器执行时,能够实现如权利要求12~19任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826752.3A CN113556399B (zh) | 2021-07-21 | 2021-07-21 | 消息推送装置、系统、方法、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826752.3A CN113556399B (zh) | 2021-07-21 | 2021-07-21 | 消息推送装置、系统、方法、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113556399A true CN113556399A (zh) | 2021-10-26 |
CN113556399B CN113556399B (zh) | 2023-04-28 |
Family
ID=78104110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110826752.3A Active CN113556399B (zh) | 2021-07-21 | 2021-07-21 | 消息推送装置、系统、方法、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113556399B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017067374A1 (zh) * | 2015-10-22 | 2017-04-27 | 中兴通讯股份有限公司 | 一种消息推送方法及推送服务器 |
CN106790727A (zh) * | 2017-03-30 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 消息推送方法及装置 |
CN106921717A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种基于移动终端的消息推送方法及系统 |
CN108063724A (zh) * | 2018-01-12 | 2018-05-22 | 吉浦斯信息咨询(深圳)有限公司 | 基于安卓平台的消息推送方法及其系统 |
-
2021
- 2021-07-21 CN CN202110826752.3A patent/CN113556399B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017067374A1 (zh) * | 2015-10-22 | 2017-04-27 | 中兴通讯股份有限公司 | 一种消息推送方法及推送服务器 |
CN106921717A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种基于移动终端的消息推送方法及系统 |
CN106790727A (zh) * | 2017-03-30 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 消息推送方法及装置 |
CN108063724A (zh) * | 2018-01-12 | 2018-05-22 | 吉浦斯信息咨询(深圳)有限公司 | 基于安卓平台的消息推送方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113556399B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110022289B (zh) | 数据传输方法、装置及系统 | |
CN106375458B (zh) | 服务调用系统、方法及装置 | |
KR20110076954A (ko) | 저자원 장치에서의 최적화 폴링 | |
CN109246220A (zh) | 一种消息推送系统及方法 | |
CN110753129A (zh) | 消息传输方法、系统、装置、设备及计算机可读存储介质 | |
CN112054998A (zh) | 代理服务方法、装置、设备和计算机可读存储介质 | |
CN106028266B (zh) | 一种信息传输方法、装置及系统 | |
CN108228625B (zh) | 一种推送消息处理方法及装置 | |
KR100738040B1 (ko) | 개방형 모바일 비즈니스 지원 시스템의 api 제공 방법 | |
US20190114183A1 (en) | Terminal Configuration Method and Terminal Based on Provision Protocol for Transmission | |
CN106357654B (zh) | 远程过程调用方法、装置及通信系统 | |
CN106302093B (zh) | 一种通信方法、系统及服务器 | |
CN114980064B (zh) | 信息关联方法、装置、电子设备及存储介质 | |
CN113556399A (zh) | 消息推送装置、系统、方法、电子设备、存储介质 | |
CN116800787A (zh) | 一种基于以太网通讯协议的车载通信方法及系统 | |
CN107743116B (zh) | 信息传输方法、装置、计算机设备和计算机可读存储介质 | |
CN116055472A (zh) | 一种多终端统一服务接入系统与方法 | |
CN114050986B (zh) | 信令跟踪方法、装置、设备及存储介质 | |
CN110177126A (zh) | 统一消息通道的数据通讯方法、装置及系统 | |
CN113115059B (zh) | 弹幕连接监控方法、装置、设备及存储介质 | |
CN114465997A (zh) | 数据同步方法及装置、电子设备和存储介质 | |
CN109639795B (zh) | 一种基于AcitveMQ消息队列的服务管理方法与装置 | |
CN108965431B (zh) | Ibm主机实现事件驱动架构的方法及装置 | |
CN105281976A (zh) | 代理服务数据的传输监测方法及装置 | |
CN109218841B (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 |