首页 消息推送方法、系统、电子装置和存储介质

消息推送方法、系统、电子装置和存储介质

举报
开通vip

消息推送方法、系统、电子装置和存储介质(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112511564A(43)申请公布日2021.03.16(21)申请号202110120786.0(22)申请日2021.01.28(71)申请人浙江岩华文化科技有限公司地址313200浙江省湖州市德清县舞阳街道塔山街901号1幢101室(72)发明人赵玉红 尤少军 赵春波 李良敏 郑峰 (74)专利代理机构杭州华进联浙知识产权代理有限公司33250代理人范丽霞(51)Int.Cl.H04L29/06(2006.01)H04L29/08...

消息推送方法、系统、电子装置和存储介质
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112511564A(43)申请公布日2021.03.16(21)申请号202110120786.0(22)申请日2021.01.28(71)申请人浙江岩华文化科技有限公司地址313200浙江省湖州市德清县舞阳街道塔山街901号1幢101室(72)发明人赵玉红 尤少军 赵春波 李良敏 郑峰 (74)专利代理机构杭州华进联浙知识产权代理有限公司33250代理人范丽霞(51)Int.Cl.H04L29/06(2006.01)H04L29/08(2006.01)H04L12/18(2006.01)权利要求书2页说明书10页附图2页(54)发明名称消息推送方法、系统、电子装置和存储介质(57)摘要本申请涉及一种消息推送方法、系统、电子装置和存储介质,该方法包括:消息中心获取需要进行消息推送的消息数据,其中,消息中心是基于T‑IO网络框架构建得到的,消息数据包括至少一个会话token;消息中心判断消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在IP地址不在IP黑名单内的情况下,按照预设的消息体规则对消息数据进行解析,得到解析后的消息数据;消息中心从解析后的消息数据中提取消息数据的消息类型,并在消息数据的消息类型为群发消息的情况下,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。通过本申请,解决了相关技术中消息并发推送效率低的问题,实现了提升消息并发推送效率的技术效果。CN112511564ACN112511564A权 利 要 求 书1/2页1.一种消息推送方法,其特征在于包括:消息中心获取需要进行消息推送的消息数据,其中,所述消息中心是基于T‑IO网络框架构建得到的,所述消息数据包括至少一个会话token;所述消息中心判断所述消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在所述IP地址不在所述IP黑名单内的情况下,按照预设的消息体规则对所述消息数据进行解析,得到解析后的所述消息数据;所述消息中心从解析后的所述消息数据中提取所述消息数据的消息类型,并在所述消息数据的消息类型为群发消息的情况下,根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端。2.根据权利要求1所述的消息推送方法,其特征在于,解析后的所述消息数据的内容项包括消息类型和消息接收端系统类型,其中,所述消息类型包括心跳消息、点对点消息和群发消息;所述方法还包括:在所述消息类型为心跳消息的情况下,所述消息中心不进行动作;在所述消息类型为点对点消息的情况下,所述消息中心根据所述会话token,将所述消息数据推送至与所述会话token对应的消息接收端。3.根据权利要求1所述的消息推送方法,其特征在于,解析后的所述消息数据的内容项包括消息类型和消息接收端系统类型,其中,所述消息接收端系统类型包括第一类型和第二类型;根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端包括:在所述消息接收端系统类型为第一类型的情况下,所述消息中心将所述消息数据转发至对应所述第一类型的推送通知服务器,并根据所述会话token,通过所述推送通知服务器将所述消息数据并发推送至与每个所述会话token对应的消息接收端;在所述消息接收端系统类型为第二类型的情况下,所述消息中心根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端。4.根据权利要求1所述的消息推送方法,其特征在于,在消息中心获取需要进行消息推送的消息数据之前,所述方法还包括:所述消息中心分别与消息接收端和消息发送端建立长连接,并维护所述长连接的心跳。5.根据权利要求1所述的消息推送方法,其特征在于,所述消息中心分别与消息接收端和消息发送端建立长连接,并维护所述长连接的心跳包括:所述消息中心与消息接收端建立第一长连接,生成对应于所述消息接收端的第一会话token,并维护所述长连接的心跳;所述消息中心与消息发送端建立第二长连接,生成对应于所述消息发送端的第二会话token,并维护所述长连接的心跳;所述消息中心将第一会话token、第二会话token、第一会话token和所述消息接收端之间的对应关系以及,第二会话token和所述消息发送端的对应关系存储到预设的Redis内存数据库中。6.根据权利要求4所述的消息推送方法,其特征在于,根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端包括:2CN112511564A权 利 要 求 书2/2页所述消息中心分别检测与每个所述会话token对应的消息接收端和所述消息中心的长连接是否有效;在所述消息接收端和所述消息中心的长连接有效的情况下,所述消息中心将所述消息数据推送至所述消息接收端。7.根据权利要求1所述的消息推送方法,其特征在于,在将所述消息数据并发推送至与每个所述会话token对应的消息接收端之后,所述方法还包括:所述消息中心对所述消息数据并发推送过程中产生的流量进行监控,对所述消息数据并发推送过程中的推送数据进行统计,并展示所述流量的监控数据和所述推送数据。8.一种消息推送系统,其特征在于,包括:消息发布系统,用于发布消息数据给所述消息中心,并存储预设的IP黑名单,以及展示所述消息中心对所述消息数据推送过程中产生的流量数据和推送数据;消息中心,分别与所述消息发布系统和所述消息接收端通信连接,所述消息中心用于执行权利要求1至7中任一项所述的消息推送方法;消息接收端,用于接收所述消息中心推送的消息数据。9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的消息推送方法。10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项所述的消息推送方法。3CN112511564A说 明 书1/10页消息推送方法、系统、电子装置和存储介质技术领域[0001]本申请涉及计算机技术领域,特别是涉及一种消息推送方法、系统、电子装置和存储介质。背景技术[0002]随着越来越多的应用集成纳入到平台上,平台的功能和作用越来越完善,但随之也给用户带来一定的困扰。用户需要不断发掘一个平台的各项功能,同时,平台的消息推送往往存在延迟和丢失的情况。因此,为了让平台实现更灵活的消息推送服务,建立平台内容与人、人与人之间的关联关系,让用户可以充分发掘平台功能,需要建立消息推送系统,用以满足消息推送的实时性需求。[0003]为了满足消息推送的实时性需求,需要服务器端在存在需要推送的消息时,主动将消息通过互联网推送给客户端,客户端可以接收服务器端不定时发送的消息。相关技术中,往往采用第三方推送服务来进行消息推送,第三方推送服务通常采用共享的推送通道,受其他推送方的影响,可能造成消息推送的延迟和丢失。同时,第三方推送服务缺乏流量监控和数据统计功能,推送了多少消息、推送成功率这类数据均无统计,并且消息推送过程中所有数据都会经过第三方,存在泄露敏感数据的风险。[0004]进一步的,第三方推送服务的服务器往往会采用BIO(同步阻塞,blocking I/O,简称为BIO)、NIO(同步非阻塞,non‑blocking I/O,简称为NIO)技术,这类服务器往往存在C10K问题(单机1万个并发连接问题),这导致第三方推送服务的消息并发推送能力下降。[0005]目前针对相关技术中消息并发推送效率低的问题,尚未提出有效的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。发明内容[0006]本申请实施例提供了一种消息推送方法、系统、电子装置和存储介质,以至少解决相关技术中消息并发推送效率低的问题。[0007]第一方面,本申请实施例提供了一种消息推送方法,包括:消息中心获取需要进行消息推送的消息数据,其中,所述消息中心是基于T‑IO网络框架构建得到的,所述消息数据包括至少一个会话token;所述消息中心判断所述消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在所述IP地址不在所述IP黑名单内的情况下,按照预设的消息体规则对所述消息数据进行解析,得到解析后的所述消息数据;所述消息中心从解析后的所述消息数据中提取所述消息数据的消息类型,并在所述消息数据的消息类型为群发消息的情况下,根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端。[0008]在其中一些实施例中,解析后的所述消息数据的内容项包括消息类型和消息接收端系统类型,其中,所述消息类型包括心跳消息、点对点消息和群发消息;所述方法还包括:在所述消息类型为心跳消息的情况下,所述消息中心不进行动作;在所述消息类型为点对点消息的情况下,所述消息中心根据所述会话token,将所述消息数据推送至与所述会话4CN112511564A说 明 书2/10页token对应的消息接收端。[0009]在其中一些实施例中,解析后的所述消息数据的内容项包括消息类型和消息接收端系统类型,其中,所述消息接收端系统类型包括第一类型和第二类型;根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端包括:在所述消息接收端系统类型为第一类型的情况下,所述消息中心将所述消息数据转发至对应所述第一类型的推送通知服务器,并根据所述会话token,通过所述推送通知服务器将所述消息数据并发推送至与每个所述会话token对应的消息接收端;在所述消息接收端系统类型为第二类型的情况下,所述消息中心根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端。[0010]在其中一些实施例中,在消息中心获取需要进行消息推送的消息数据之前,所述方法还包括:所述消息中心分别与消息接收端和消息发送端建立长连接,并维护所述长连接的心跳。[0011]在其中一些实施例中,所述消息中心分别与消息接收端和消息发送端建立长连接,并维护所述长连接的心跳包括:所述消息中心与消息接收端建立第一长连接,生成对应于所述消息接收端的第一会话token,并维护所述长连接的心跳;所述消息中心与消息发送端建立第二长连接,生成对应于所述消息发送端的第二会话token,并维护所述长连接的心跳;所述消息中心将第一会话token、第二会话token、第一会话token和所述消息接收端之间的对应关系以及,第二会话token和所述消息发送端的对应关系存储到预设的Redis内存数据库中。[0012]在其中一些实施例中,根据所述会话token,将所述消息数据并发推送至与每个所述会话token对应的消息接收端包括:所述消息中心分别检测与每个所述会话token对应的消息接收端和所述消息中心的长连接是否有效;在所述消息接收端和所述消息中心的长连接有效的情况下,所述消息中心将所述消息数据推送至所述消息接收端。[0013]在其中一些实施例中,在将所述消息数据并发推送至与每个所述会话token对应的消息接收端之后,所述方法还包括:所述消息中心对所述消息数据并发推送过程中产生的流量进行监控,对所述消息数据并发推送过程中的推送数据进行统计,并展示所述流量的监控数据和所述推送数据。[0014]第二方面,本申请实施例提供了一种消息推送系统,包括:消息发布系统,用于发布消息数据给所述消息中心,并存储预设的IP黑名单,以及展示所述消息中心对所述消息数据推送过程中产生的流量数据和推送数据;消息中心,分别与所述消息发布系统和所述消息接收端通信连接,所述消息中心用于执行如上述第一方面所述的消息推送方法;消息接收端,用于接收所述消息中心推送的消息数据。[0015]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的消息推送方法。[0016]第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的消息推送方法。[0017]相比于相关技术,本申请实施例提供的消息推送方法、系统、电子装置和存储介质,基于T‑IO网络框架构建得到消息中心,并通过消息中心获取需要进行消息推送的消息5CN112511564A说 明 书3/10页数据,判断消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在IP地址不在IP黑名单内的情况下,按照预设的消息体规则对消息数据进行解析,得到解析后的消息数据,然后从解析后的消息数据中提取消息数据的消息类型,最后在消息数据的消息类型为群发消息的情况下,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端,解决了相关技术中消息并发推送效率低的问题,实现了提升消息并发推送效率的技术效果。[0018]本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。附图说明[0019]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的消息推送方法的流程图;图2是根据本申请优选实施例的消息推送方法的流程图;图3是根据本申请实施例的消息推送系统的结构框图;图4是根据本申请实施例的电子装置的硬件结构示意图。具体实施方式[0020]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。[0021]在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。[0022]除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或6CN112511564A说 明 书4/10页B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。[0023]本实施例提供了一种消息推送方法,图1是根据本申请实施例的消息推送方法的流程图,如图1所示,该流程包括如下步骤:步骤S101,消息中心获取需要进行消息推送的消息数据,其中,消息中心是基于T‑IO网络框架构建得到的,消息数据包括至少一个会话token。[0024]步骤S102,消息中心判断消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在IP地址不在IP黑名单内的情况下,按照预设的消息体规则对消息数据进行解析,得到解析后的消息数据。[0025]步骤S103,消息中心从解析后的消息数据中提取消息数据的消息类型,并在消息数据的消息类型为群发消息的情况下,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0026]在本实施例中,消息中心是基于T‑IO网络框架构建得到的,其中,T‑IO网络框架是基于Java AIO(异步非阻塞,Asynchronous I/O,简称为AIO)的网络开发工具和框架,T‑IO网络框架是目前唯一内置完整流量监控和统计的网络框架,并内置集群功能,仅需几行代码配置,即可具备动态扩展的集群能力,例如添加IP黑名单、群组管理等功能,还可以引入Notnoop开发包,对T‑IO进行扩展,使其支持苹果APNS服务器的消息推送。[0027]例如,在将消息数据并发推送至与每个会话token对应的消息接收端之后,该方法还可以包括:消息中心对消息数据并发推送过程中产生的流量进行监控,对消息数据并发推送过程中的推送数据进行统计,并展示流量的监控数据和推送数据。[0028]例如,可以通过T‑IO网络框架中的ServerGroupContext服务上下文获取IP黑名单,调用add()方法即可动态添加黑名单用户。[0029]相关技术中的消息服务器往往采用BIO(同步阻塞,blocking I/O,简称为BIO)、NIO(同步非阻塞,non‑blocking I/O,简称为NIO)技术,这类服务器往往存在C10K问题(单机1万个并发连接问题),这导致消息并发推送能力下降。[0030]通过Java AIO技术构建消息中心,避免出现相关技术中的C10K问题,使得消息中心支持大规模的实时消息并发推送,且并发用户量可以超过10万,消息实时推送的时间间隔小于3秒,同时,消息中心具备良好的可扩展性,支持平滑扩展。[0031]在本实施例中,可以按照预设的消息体规则对消息数据进行解析,表1是消息体规则表,如表1所示,解析后的消息数据的内容项可以包括必填项和非必填项,其中,必填项包括消息类型、发送用户ID、接收用户ID、消息体信息以及消息接收端ID,非必填项包括消息发送端类型、消息发送端系统类型、消息接收端类型、消息接收端系统类型、消息是否广播以及消息接收端DeviceToken。[0032]表1参数名参数类型必填参数含义actionString是消息类型(1、心跳消息;2、点对点消息;3、群发消息)fromString是发送用户IDfromTypeString否消息发送端类型(1、tv;2、mobile)默认2fromSysTypeString否消息发送端系统类型(1、ios;2、android)默认27CN112511564A说 明 书5/10页toString是接收用户IDtoTypeString否消息接收端类型(1、tv;2、mobile)默认2toSysTypeString否消息接收端系统类型(1、ios;2、android)默认2textjsonObject是消息体信息(json)typeString否消息是否广播(1、广播;2、非广播)deviceIdString是消息接收端IDdeviceTokenString否消息接收端DeviceToken(消息接收端系统类型为IOS)在其中一些实施例中,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端可以包括如下步骤:步骤1,消息中心对消息数据进行解析,并从解析后的消息数据中提取消息数据的消息类型,其中,消息类型包括心跳消息、点对点消息和群发消息。[0033]步骤2,在消息类型为心跳消息的情况下,消息中心不进行动作;在消息类型为点对点消息的情况下,消息中心根据会话token,将消息数据推送至与会话token对应的消息接收端;在消息类型为群发消息的情况下,消息中心根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0034]在本实施例中,消息中心可以将消息数据解析为如表1所示消息体规则的字符数据,并从中提取“action”项,即提取消息类型项。[0035]在action的值为1的情况下,判断该消息数据的消息类型为心跳消息,则该心跳信息用于维护消息中心与该消息数据的数据来源的长连接,因此消息中心不进行动作。[0036]在action的值为2的情况下,判断该消息数据的消息类型为点对点消息,此时消息数据中携带的会话token只对应一个消息接收端,则消息中心可以根据消息数据中携带的会话token,将消息数据推送至与会话token对应的消息接收端。[0037]在action的值为3的情况下,判断该消息数据的消息类型为群发消息,此时消息数据中携带多个会话token,因此,每个会话token分别对应一个消息接收端,该消息数据会被并发推送至与每个会话token对应的消息接收端。[0038]在其中一些实施例中,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端可以包括如下步骤:步骤1,消息中心对消息数据进行解析,并从解析后的消息数据中提取消息数据的消息接收端系统类型,其中,消息接收端系统类型包括第一类型和第二类型,其中,第一类型可以为IOS系统,第二类型可以为安卓系统。[0039]步骤2,在消息接收端系统类型为第一类型的情况下,消息中心将消息数据转发至对应于第一类型的推送通知服务器,例如,在第一类型为IOS类型时,该推送通知服务器可以为苹果APNS(苹果推送通知服务,Apple Push Notification service,简称为APNS)服务器,并根据会话token,通过推送通知服务器将消息数据并发推送至与每个会话token对应的消息接收端;在消息接收端系统类型为第二类型的情况下,消息中心根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0040]在本实施例中,消息中心可以将消息数据解析为如表1所示消息体规则的字符数据,并从中提取“toSysType”项,即消息接收端系统类型项。[0041]在toSysType的值为1的情况下,判断该消息数据的消息接收端系统类型项为IOS8CN112511564A说 明 书6/10页系统,则消息中心可以使用T‑IO网络框架引入的Notnoop工具将消息数据转发至苹果APNS服务器,然后根据会话token和消息数据中的消息接收端DeviceToken的对应关系,通过苹果APNS服务器将消息数据并发推送至与每个会话token对应的消息接收端。[0042]在toSysType的值为2的情况下,判断该消息数据的消息接收端系统类型项为安卓系统,则消息中心根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0043]在其中一些实施例中,在消息中心获取需要进行消息推送的消息数据之前,该方法还包括:消息中心分别与消息接收端和消息发送端建立长连接,并维护长连接的心跳。[0044]在本实施例中,消息中心分别与消息接收端和消息发送端建立长连接,并维护长连接的心跳可以包括:消息中心与消息接收端建立第一长连接,生成对应于消息接收端的第一会话token,并维护长连接的心跳;消息中心与消息发送端建立第二长连接,生成对应于消息发送端的第二会话token,并维护长连接的心跳;消息中心将第一会话token、第二会话token、第一会话token和消息接收端之间的对应关系以及,第二会话token和消息发送端的对应关系存储到预设的Redis内存数据库中。[0045]消息中心还可以将第一会话token、第二会话token、第一会话token和消息接收端之间的对应关系以及,第二会话token和消息发送端的对应关系存储到预设的Redis内存数据库;Redis是一个高性能的key‑value数据库,可以存储大量会话token和消息接收端的对应关系以及会话token和消息发送端的对应关系,该对应关系可以是会话token和设备ID的对应关系,也可以是会话token和设备DeviceToken的对应关系,保证消息中心具备大规模实时消息并发推送的能力。[0046]在其中一些实施例中,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端包括:消息中心分别检测与每个会话token对应的消息接收端和消息中心的长连接是否有效;在消息接收端和消息中心的长连接有效的情况下,消息中心将消息数据推送至消息接收端。[0047]在本实施例中,消息中心还需要分别检验与每个会话token对应的消息接收端和消息中心的长连接是否有效,若长连接失效,则无法推送至长连接失效的消息接收端,因此,消息中心只将消息数据并发推送至长连接有效的消息接收端,避免出现网络资源浪费的情况。[0048]在其中一些实施例中,消息中心可以接收来着消息发布系统发送的消息数据,其中,消息发布系统中可以存储预设的IP黑名单和预设的敏感词库,消息中心还可以根据敏感词库,判断消息数据中是否存在敏感词,并在消息数据中不存在敏感词的情况下,接收消息数据,借此进一步筛选消息数据,避免将存在病毒、木马的消息数据推送给用户,保证了消息推送的安全性。[0049]其中,消息发布系统可以主动推送消息给用户,例如群发一条抽奖活动消息给用户,消息发布系统还可以展示消息中心对消息数据推送过程中产生的流量数据和推送数据。[0050]通过上述步骤S101至步骤S103,基于T‑IO网络框架构建得到消息中心,并通过消息中心获取需要进行消息推送的消息数据,判断消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在IP地址不在IP黑名单内的情况下,按照预设的消息体规则对消息数9CN112511564A说 明 书7/10页据进行解析,得到解析后的消息数据,然后从解析后的消息数据中提取消息数据的消息类型,最后在消息数据的消息类型为群发消息的情况下,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。通过Java AIO技术构建消息中心,避免出现相关技术中的C10K问题,使得消息中心支持大规模的实时消息并发推送,且并发用户量可以超过10万,消息实时推送的时间间隔小于3秒,同时,消息中心具备良好的可扩展性,支持平滑扩展,解决了相关技术中消息并发推送效率低的问题,实现了提升消息并发推送效率的技术效果。[0051]图2是根据本申请优选实施例的消息推送方法的流程图,如图2所示,在其中一些实施例中,消息中心还可以接收消息发送端发送的消息数据,并将该消息数据发送至消息接收端,消息发送端可以为移动设备上安装的客户端,消息接收端可以为控制投屏、拉屏和遥控的机顶盒(Set Top Box,简称为STB)。[0052]该消息推送方法包括如下步骤:步骤S201,STB与消息中心建立长连接,生成第二会话token,并维护长连接的心跳。[0053]步骤S202,客户端发送第一消息数据至消息中心,其中,第一消息数据包括投屏指令和/或遥控指令以及第二会话token。[0054]步骤S203,消息中心对第一消息数据进行内部处理校验。[0055]步骤S204,消息中心根据第二会话token,将第一消息数据发送至STB。[0056]步骤S205,STB根据第一消息数据中的投屏指令和/或遥控指令执行对应操作。[0057]步骤S206,客户端与消息中心建立长连接,生成第一会话token,并维护长连接的心跳。[0058]步骤S207,STB发送第二消息数据至消息中心,其中,第二消息数据包括拉屏指令以及第一会话token。[0059]步骤S208,消息中心对第二消息数据进行内部处理校验。[0060]步骤S209,消息中心根据第一会话token,将第二消息数据发送至客户端。[0061]步骤S210,客户端根据第二消息数据中的拉屏指令执行对应操作。[0062]在本实施例中,客户端和STB既可以为消息接收端,也可以为消息发送端,并通过与消息中心保持长连接来实现相互之间的消息推送。[0063]在本实施例中,内部处理校验可以是消息中心检验消息数据的消息发送端的IP地址是否在预设的IP黑名单中,也可以是消息中心根据预设的敏感词库检验消息数据中是否存在敏感词。[0064]本实施例中提出的消息推送方法在上述实施例中已经详细介绍,这里不做赘述。[0065]本实施例还提供了一种消息推送系统,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。[0066]图3是根据本申请实施例的消息推送系统的结构框图,如图3所示,该装置包括:消息发布系统30,用于发布消息数据给消息中心31,并存储预设的IP黑名单,以及展示消息中心31对消息数据推送过程中产生的流量数据和推送数据;消息中心31,分别与消息发布系统30和消息接收端32通信连接,消息中心31用于执行如上述实施例的消息推送方法;消息10CN112511564A说 明 书8/10页接收端32,用于接收消息中心31推送的消息数据。[0067]在本实施例中,消息发布系统30可以包括敏感词管理模块、黑名单管理模块、消息管理模块、消息审核模块和消息统计模块,其中,敏感词管理模块可以存储预设敏感词库,黑名单管理模块可以存储预设的IP黑名单,消息统计模块可以展示消息中心31对消息数据推送过程中产生的流量数据和推送数据,消息管理模块可以设置推送消息给用户,例如群发一条抽奖活动消息给用户。[0068]消息发布系统可以是消息中心的一部分,也可以是独立于消息中心之外的一个系统,消息发布系统还可以管理用户群组,按照用户群组定时推送消息。[0069]在其中一些实施例中,消息中心31可以被配置为用于获取需要进行消息推送的消息数据,其中,消息中心31是基于T‑IO网络框架构建得到的,消息数据包括至少一个会话token;消息中心31判断消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在IP地址不在IP黑名单内的情况下,按照预设的消息体规则对消息数据进行解析,得到解析后的消息数据;消息中心31从解析后的消息数据中提取消息数据的消息类型,并在消息数据的消息类型为群发消息的情况下,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0070]在其中一些实施例中,解析后的消息数据的内容项包括消息类型和消息接收端系统类型,其中,消息类型包括心跳消息、点对点消息和群发消息;消息中心31可以被配置为用于在消息类型为心跳消息的情况下,消息中心31不进行动作;在消息类型为点对点消息的情况下,消息中心31根据会话token,将消息数据推送至与会话token对应的消息接收端。[0071]在其中一些实施例中,解析后的消息数据的内容项包括消息类型和消息接收端系统类型,其中,消息接收端系统类型包括第一类型和第二类型;消息中心31可以被配置为用于在消息接收端系统类型为第一类型的情况下,消息中心31将消息数据转发至对应第一类型的推送通知服务器,并根据会话token,通过推送通知服务器将消息数据并发推送至与每个会话token对应的消息接收端;在消息接收端系统类型为第二类型的情况下,消息中心31根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0072]在其中一些实施例中,消息中心31可以被配置为用于分别与消息接收端和消息发送端建立长连接,并维护长连接的心跳。[0073]在其中一些实施例中,消息中心31可以被配置为用于与消息接收端建立第一长连接,生成对应于消息接收端的第一会话token,并维护长连接的心跳;消息中心31与消息发送端建立第二长连接,生成对应于消息发送端的第二会话token,并维护长连接的心跳;消息中心31将第一会话token、第二会话token、第一会话token和消息接收端之间的对应关系以及,第二会话token和消息发送端的对应关系存储到预设的Redis内存数据库中。[0074]在其中一些实施例中,消息中心31可以被配置为用于分别检测与每个会话token对应的消息接收端和消息中心31的长连接是否有效;在消息接收端和消息中心31的长连接有效的情况下,消息中心31将消息数据推送至消息接收端。[0075]在其中一些实施例中,消息中心31可以被配置为用于对消息数据并发推送过程中产生的流量进行监控,对消息数据并发推送过程中的推送数据进行统计,并展示流量的监控数据和推送数据。[0076]需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软11CN112511564A说 明 书9/10页件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。[0077]本实施例还提供了一种电子装置,图4是根据本申请实施例的电子装置的硬件结构示意图,如图4所示,该电子装置包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。[0078]具体地,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。[0079]其中,存储器404可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器404可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(Solid State Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(Non‑Volatile)存储器。在特定实施例中,存储器404包括只读存储器(Read‑Only Memory,简称为ROM)和随机存取存储器(Random Access Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read‑Only Memory,简称为PROM)、可擦除PROM(Erasable Programmable Read‑Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable Programmable Read‑Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read‑Only Memory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random‑Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random‑Access Memory,简称SDRAM)等。[0080]存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。[0081]处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种消息推送方法。[0082]可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。[0083]可选地,在本实施例中,上述处理器402可以被设置为通过计算机程序执行以下步骤:S1,消息中心获取需要进行消息推送的消息数据,其中,消息中心是基于T‑IO网络框架构建得到的,消息数据包括至少一个会话token。[0084]S2,消息中心判断消息数据的消息发送端的IP地址是否在预设的IP黑名单中,并在IP地址不在IP黑名单内的情况下,按照预设的消息体规则对消息数据进行解析,得到解12CN112511564A说 明 书10/10页析后的消息数据。[0085]S3,消息中心从解析后的消息数据中提取消息数据的消息类型,并在消息数据的消息类型为群发消息的情况下,根据会话token,将消息数据并发推送至与每个会话token对应的消息接收端。[0086]需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。[0087]另外,结合上述实施例中的消息推送方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种消息推送方法。[0088]本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0089]以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。13CN112511564A说 明 书 附 图1/2页图1图214CN112511564A说 明 书 附 图2/2页图3图415
本文档为【消息推送方法、系统、电子装置和存储介质】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
woaiwen
暂无简介~
格式:pdf
大小:581KB
软件:PDF阅读器
页数:15
分类:修理服务/居民服务
上传时间:2022-05-06
浏览量:0