消息推送方法和系统与流程

文档序号:30158933发布日期:2022-05-26 08:25阅读:57来源:国知局
消息推送方法和系统与流程

1.本技术一般涉及数据推送技术领域,具体涉及一种消息推送方法和系统。


背景技术:

2.消息推送技术在提高应用程序(英文:application;简称:app)的用户粘度和活跃用户数量等方面都起到了重要作用,用户终端和应用程序的应用服务器之间通过建立网络连接,实现应用服务器向用户终端的消息推送。
3.相关技术中,消息推送的实现过程一般是:在用户终端连接到应用服务器后,应用服务器为用户终端开启一个线程,并将待推送的消息内容存放至消息队列,用户终端通过连接该线程消费该消息队列中的消息内容,实现消息推送。
4.但是,在该消息推送的过程中,由于应用服务器在完成一个用户终端的消息推送后,才能进行下一个终端的消息推送,当应用服务器面对大量的跨地域用户终端需要进行消息推送的场景时,需要不断的切换线程,会导致网络开销大,消息推送效率低下,会出现消息推送延迟现象,用户无法获得良好的app使用体验。


技术实现要素:

5.鉴于现有技术中的上述缺陷或不足,期望提供一种可以降低网络开销,提高消息推送效率的消息推送方法和系统。
6.第一方面,本技术实施例提供一种消息推送方法,包括:
7.应用服务器确定待推送的多条消息内容;
8.应用服务器基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消息;
9.应用服务器将每个分组消息发送至与分组消息对应的地域服务器;
10.对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端。
11.第二方面,本技术实施例提供一种消息推送系统,应用服务器、至少一个地域服务器和至少一个用户终端,
12.应用服务器,用于确定待推送的多条消息内容,基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消息,将每个分组消息发送至与分组消息对应的地域服务器;
13.地域服务器,用于接收应用服务器发送的分组消息,对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端。
14.本技术的实施例提供的技术方案可以包括以下有益效果:
15.本技术实施例提供的消息推送方法和系统,应用服务器确定待推送的多条消息内容;应用服务器基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消息;
应用服务器将每个分组消息发送至与分组消息对应的地域服务器;对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端。实现针对不同地域的用户终端的消息内容的批量推送,降低了网络开销,提高消息推送的效率,解决消息推送的延迟现象。
附图说明
16.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
17.图1为申请实施例提供的一种消息推送系统的结构示意图;
18.图2为申请实施例提供的一种消息推送方法的流程图;
19.图3为申请实施例提供的一种应用服务器的结构示意图;
20.图4为申请实施例提供的另一种应用服务器的结构示意图;
21.图5为申请实施例提供的一种地域服务器的结构示意图。
具体实施方式
22.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
24.图1为本技术实施例提供的消息推送方法涉及的消息推送系统的结构示意图,如图1所示,该消息推送系统100包括:应用服务器110、至少一个地域服务器120和与每个地域服务器对应的至少一个用户终端130,该每个地域服务器120部署于一个推送地域,用于为该推送地域中使用app的用户终端130提供消息推送服务。
25.其中,该应用服务器110,用于确定待推送的多条消息内容,基于多条消息内容确定与至少一个地域服务器120对应的至少一个分组消息,将每个分组消息发送至与分组消息对应的地域服务器120,其中,该消息内容为应用服务器120获取的第三方服务器中的消息内容。示例的,若该app为炒股app,该第三方服务器为银行系统的服务器,交易所系统的服务器或/和证券公司系统的服务器。
26.地域服务器120,用于接收应用服务器120发送的分组消息,对于每个地域服务器,接收到用户终端130发送的调用请求后,基于该调用请求确定是否将分组消息中的消息内容发送至该用户终端130。
27.可选的,该应用服务器110和每个地域服务器120之间通过地域专线建立有线或无线网络通信连接,地域服务器120与用户终端130之间通过有线或无线网络建立通信连接。其中,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。该应用服务器110和地域服务器120可以是一台服务器,也可以是由若干台服务器构成的服务器集群,或者应用服务器110和地域服务器120可以包
含一个或多个虚拟化平台,或者应用服务器110和地域服务器120可以是一个云计算服务中心。该用户终端130可以是智能手机、平板电脑、台式电脑或者电子阅读器等设备。
28.本技术实施例提供一种消息推送方法,该方法可以应用于如图1所示的消息推送系统中,如图2所示,该方法包括:
29.步骤201、应用服务器确定待推送的多条消息内容。
30.在本步骤中,应用服务器可以从与该应用服务器连接的至少一个第三方服务器中获取消息内容,将该消息内容存储至消息数据库,将数据库中存储的多条消息内容确定为待推送的多条消息内容。其中,该应用服务器可以通过接口服务器与该第三方服务器建立连接,以通过该接口服务器从第三方服务器中获取第三方服务器中的消息内容。可选的,该应用服务器可以从第三方服务器中实时获取消息内容,将实时获取的消息内容存储至消息数据库;或者,该应用服务器按照预设周期从第三方服务器中获取消息内容,将在每个周期内获取的消息内容存储至消息数据库,其中,该预设周期可以基于实际需要确定,本技术实施例对此不做限定。
31.可选的,在应用服务器获取消息内容的过程中,可能会获取到同一消息属性的消息内容,为了便于消息的存储,提高存储空间的利用率和消息内容的查询效率,在应用服务器获取多条消息内容的过程中,可以确定预设时长内是否获取到同一消息属性的至少两条消息内容,若是,将至少两条消息内容组合为批量消息,将批量消息确定为消息内容存储于消息数据库中,将多个批量消息确定为待推送的多条消息内容。其中,该消息属性可以为消息内容的类型、消息内容的来源或者消息内容的功能等。
32.步骤202、应用服务器基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消息。
33.在本技术实施例中,应用服务器可以对至少一个推送地域的地域服务器进行分组消息分发服务,每个地域服务器在接收到应用服务器发送的分组消息后,可以基于该分组消息为接入该地域服务器的用户终端提供消息推送服务。其中,该分组消息是应用服务器基于预设时期内接入每个地域服务器的至少一个用户终端中,与每个用户账号对应的订阅消息中的消息属性确定的。由于接入每个地域服务器的至少一个用户终端中,每个用户账号的订阅消息不同,应用服务器为每个地域服务器可以生成的分组消息不同。其中,该用户账号可以为用户终端中搭载的app中登录的用户账号,应用服务器可以为该app提供消息推送服务,该订阅消息为与用户账号对应用户订阅的消息内容的消息属性集合,该预设时期可以基于实际需要确定,本技术实施例对此不做限定。
34.在本步骤中,对于每个地域服务器,应用服务器可以从多条消息内容中筛选与地域服务器匹配的至少一条消息内容,生成与地域服务器对应的分组消息,该过程可以是:应用服务器可以间隔第一预设时长,读取推送地域的地域服务器发送的用户信息表中提供的,预设时期内接入该地域服务器的至少一个用户终端中与每个用户账号对应的订阅信息;从获取的消息数据库中存储的多条消息内容中,筛选出与每个订阅消息中的消息属性对应的至少一条消息内容;将至少一条消息内容打包并分配与地域服务器对应的地域编号生成与地域服务器对应的分组消息。其中,该第一预设时长可以基于实际需要确定,本技术实施例对此不做限定。其中,该用户信息表用于存储用户终端的终端标识和用户账号的对应关系,和/或存储用户终端的终端标识、用户账号和订阅消息的对应关系。可以理解的是,
若与用户信息表中存储了一条终端标识和用户账号的对应关系,表明与该用户账户对应用户没有订阅任何消息。
35.需要说明的是,在本技术实施例中,每个地域服务器可以在预设时期内,将与该地域服务器对应的用户信息表进行更新,该用户信息比表的更新可以是:删除预设时期内注销用户账号的用户信息、增加新注册用户账号的用户信息和保存未进行信息变更的用户账号的用户信息,将更新后的用户信息表发送至应用服务器进行存储,以使应用服务器基于更新后的用户信息表为该地域服务器匹配分组消息,由于该用户信息是不断更新的,应用服务器可以为该地域服务器匹配更精确的分组消息。
36.其中,地域服务器在用户信息表中增加新注册用户账号的用户信息的过程可以是:对于任一用户终端,用户终端响应于用户的用户账号注册操作,向与该用户终端最接近的地域服务器发送用户账号注册请求,地域服务器可以响应于该用户账号注册请求完成用户账号注册,并获取用户终端的终端标识、用户账号,将二者的对应关系确定为用户信息,或获取用户终端的终端标识、用户账号和订阅消息,三者的对应关系确定为用户信息,将用户信息存储于该地域服务器的用户信息表中。由于可以按照就近原则将用户终端接入服务器进行用户账号注册和消息推送,可以提高用户账号的注册效率和消息推送的效率,优化用户的使用体验。
37.步骤203、应用服务器将每个分组消息发送至与分组消息对应的地域服务器。
38.在本技术实施例中,应用服务器与每个地域服务器之间通过地域专线连接,在本步骤中,应用服务器可以通过与每个地域服务器对应的地域专线,将每个分组消息发送至与分组消息对应的地域服务器。可以提高分组消息的分发效率,解决消息推送延迟现象。
39.可选的,应用服务器将每个分组消息发送至与分组消息对应的地域服务器的过程可以是:对于每个分组消息,读取每个分组消息中的地域编号,确定与地域编号对应的地域服务器,将分组消息发送至该地域服务器。
40.需要说明的是,在本技术实施例中,当地域服务器接收到应用服务器发送的分组消息后,可以向应用服务器反馈分组消息成功接收信息;或者,当任一地域服务器在间隔第一预设时长后未接收到应用服务器发送的分组消息,可以向应用服务器发送提示信息,以提示应用服务器向该地域服务器发送分组消息。
41.步骤204、对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端。
42.在本步骤中,对于每个地域服务器,该地域服务器可以接收应用服务器发送的分组消息,将该分组消息中的至少一条消息内容存入下发队列;当用户在用户终端中启用该app后,该用户终端可以接入地域服务器,向地域服务器发送调用请求,地域服务器接收到用户终端发送的调用请求后,可以基于该调用请求确定是否将分组消息中的消息内容发送至用户终端。
43.可选的,地域服务器基于调用请求确定是否将分组消息中的消息内容发送至用户终端的过程可以是:基于调用请求判断用户终端是否为有权终端;若是,确定分组消息中与用户终端对应的消息内容;将与用户终端对应的消息内容发送至用户终端,以使用户终端显示消息内容;当地域服务器确定该用户终端为无权终端时,向用户终端发送提示消息,以提示用户进行消息订阅。其中,有权终端为具备分组消息接收权利的用户终端,用户终端接
入的地域服务器可以为:利用用户终端上搭载的app进行用户账号注册时接入的地域服务。
44.其中,用户终端发送的调用请求可以包括用户终端的终端标识和用户账号,则该地域服务器基于调用请求判断用户终端是否为有权终端的过程可是:将终端标识和用户账号与预先存储的用户信息表中的至少一组终端标识和用户账号进行比对;若比对成功,确定与用户账号对应的订阅消息中的消息属性;若分组消息中存在与消息属性对应的消息内容,确定用户终端为有权终端;若比对不成功,或者,分组消息中不存在与该消息属性对应的消息内容,确定用户终端为无权终端。
45.可以理解的是,在本技术实施例中,确定分组消息中与用户终端对应的消息内容的过程可以是:确定分组消息中与消息属性对应的消息内容;将消息内容确定为与用户终端对应的消息内容。
46.需要说明的是,在本技术实施例中,地域服务器是利用协程技术将与用户终端对应的消息内容发送至用户终端的,即使地域服务器确定多个接入该地域服务器中的用户终端为有权终端,需要同时向该多个用户终端发送消息内容,也可以以最低的网络开销实现消息内容的发送,降低地域服务器的数据处理压力,提高消息推送效率。
47.可选的,在本技术实施例中,对于有权终端,当地域服务器向该用户终端发送消息内容后,可以获取该用户终端的终端标识、用户账号和向用户终端发送的消息内容,生成消息推送表,将该消息推送表发送至应用服务器,该应用服务器可以基于该消息推送表分析消息推送结果。
48.示例的,对于某一炒股app,假设该炒股app的应用服务器s与a地域的地域服务器a1、b地域的地域服务器b1和c地域的地域服务器c1通过三条通信专线建立连接,该应用服务器s与交易所系统的服务器、银行系统的服务器和证券公司系统的服务器通过接口服务器建立连接,其中,该应用服务器s可以实时从交易所服务器获取多个股票交易行情变化信息、从证券公司服务器获取多个交易市场资产分布数据,从银行服务器获取用户资产数据,将其存储于消息数据库中,并确定为待推送的多条消息内容。
49.进一步的,假设应用服务器s确定地域服务器a1提供的7天内的用户信息表中存储了20个用户信息,假设与12个用户账号对应有订阅消息,与该订阅消息中的消息属性对应的消息内容为股票交易行情变化信息和交易市场资产分布数据。则可以每隔5分钟从消息数据库中读取股票交易行情变化信息和交易市场资产分布数据,组成地域服务器a1的分组消息m1,将该分组消息m1发送至地域服务器a1。
50.地域服务器a1接收该分组消息m1,将其中的股票交易行情变化信息和交易市场资产分布数据存入下发队列。当接收到用户终端发送的调用请求后,获取调用请求中的终端标识a1和用户账号c1,将终端标识a1、用户账号c1和该地域服务器a1中存储的用户信息表中的20组终端标识和用户账号进行比对,假设比对成功,确定与用户账号c1对应的订阅消息中的消息属性,确定消息队列中的股票交易行情变化信息和交易市场资产分布数据中,与该消息属性对应的消息内容为股票交易行情变化信息,将股票交易行情变化信息确定为与终端标识为a1的用户终端对应的消息内容,将该股票交易行情变化信息发送至终端标识为a1的用户终端。
51.综上所述,本技术实施例提供的消息推送方法,应用服务器确定待推送的多条消息内容;应用服务器基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消
息;应用服务器将每个分组消息发送至与分组消息对应的地域服务器;对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端;对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端。实现针对不同地域的用户终端的消息内容的批量推送,降低了网络开销,提高消息推送的效率,解决消息推送的延迟现象。
52.本技术实施例一种消息推送系统,该消息推送系统的结构示意图如图1所示,该消息推送系统100包括:应用服务器110、至少一个地域服务器120和至少一个用户终端130,
53.其中,如图3所示,该应用服务器110包括:
54.业务接入模块111,被配置为确定待推送的多条消息内容,并调用推送引擎模块112向推送引擎模块112发送待推送的多条消息内容;
55.推送引擎模块112,被配置为接收待推送的多条消息内容,基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消息,并将每个分组消息发送至与分组消息对应的地域服务器。
56.可选的,推送引擎模块112,被配置为对于每个地域服务器,从多条消息内容中筛选与地域服务器匹配的至少一条消息内容,生成与地域服务器对应的分组消息。
57.可选的,推送引擎模块112,被配置为:
58.确定预设时期内接入地域服务器的至少一个用户终端中,与每个用户账号对应的订阅消息;
59.从多条消息内容中筛选出与每个订阅消息中的消息属性对应的至少一条消息内容;
60.将至少一个消息内容打包并分配与地域服务器对应的地域编号,生成与地域服务器对应的分组消息。
61.可选的,推送引擎模块112,被配置为:
62.对于每个分组消息,读取每个分组消息中的地域编号;
63.确定与地域编号对应的地域服务器;
64.将分组消息发送至地域服务器。
65.可选的,业务接入模块111,被配置为确定预设时长内是否获取到同一消息属性的至少两条消息内容;
66.若是,将至少两条消息内容组合为批量消息,将批量消息确定为待推送的消息内容。
67.可选的,如图4所示,该应用服务器110还包括:
68.业务接入管理模块113,被配置为调用业务接入模块确定待推送的多条消息内容;
69.推送链路管理模块114,被配置为监测每个地域专线的连接状况和各地域专线的负载信息;
70.推送统计报表模块115,被配置为接收个地域服务器发送的消息推送表,基于该消息推送表分析消息推送结果。
71.其中,对于每个地域服务器,如图5所示,该地域服务器40包括:
72.地域接入点模块121,被配置为接收应用服务器发送的分组消息;
73.鉴权模块122,被配置为接收到用户终端发送的调用请求后,基于调用请求判断用
户终端是否为有权终端,若是,调用地域接入点模块121,并将判断结果发送至地域接入点模块121;
74.地域接入点模块121,被配置为确定分组消息中与用户终端对应的消息内容,将与用户终端对应的消息内容发送至用户终端,以使用户终端显示消息内容。
75.可选的,鉴权模块122,被配置为:
76.将终端标识和用户账号与预先存储的用户信息表中的至少一组终端标识和用户账号进行比对;
77.若比对成功,确定与用户账号对应的订阅消息中的消息属性;
78.若分组消息中存在与消息属性对应的消息内容,确定用户终端为有权终端。
79.可选的,地域接入点模块121,被配置为:
80.确定分组消息中与消息属性对应的消息内容;
81.将消息内容确定为与用户终端对应的消息内容。
82.需要说明的是,在本技术实施例中,各个模块之间通过流式传输技术实现模块调用与数据交互,可以提高模块之间的数据传输效率,提高消息推送的时效性。
83.综上所述,本技术实施例提供的消息推送系统,应用服务器确定待推送的多条消息内容;应用服务器基于多条消息内容确定与至少一个地域服务器对应的至少一个分组消息;应用服务器将每个分组消息发送至与分组消息对应的地域服务器;对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端;对于每个地域服务器,接收到用户终端发送的调用请求后,基于调用请求确定是否将分组消息中的消息内容发送至用户终端。实现针对不同地域的用户终端的消息内容的批量推送,降低了网络开销,提高消息推送的效率,解决消息推送的延迟现象。
84.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1