一种消息推送方法及系统的制作方法
【技术领域】
[0001]本发明涉及消息推送技术领域,尤其涉及的是一种消息推送方法及系统。
【背景技术】
[0002]随着互联网智能电视的迅速普及,智能电视的数量呈指数式增长,因此针对智能电视的消息推送系统可能遭遇接入性能瓶颈。
[0003]传统智能电视的消息推送方法如图1所示,首先将智能电视的全部信息保存在数据库中,当智能电视与接入服务器建立TCP长连接后,接入服务器从数据库中获取智能电视的信息对其进行登录验证,同时其还将从登录验证后的智能电视端接收到最新电视信息,并将其传输到数据库中进行信息更新。推送服务器从数据库中获取推送信息,并将所述推送信息通过接入服务器传输到智能电视端。该系统的缺陷在于,当智能电视基数大,或者执行推送任务导致数据库繁忙时,由于每个用户登录验证都需要从数据库中查询数据,因此可能会影响智能电视连接接入服务器进行登录,造成部分已连接电视接入不稳定甚至掉线。
[0004]因此,现有技术有待于进一步的改进。
【发明内容】
[0005]鉴于上述现有技术中的不足之处,本发明的目的在于为用户提供一种消息推送方法及系统,克服现有技术中当智能电视基数大或者推送信息任务较繁忙时,智能电视登录验证失败或者已接入智能电视接入不稳定甚至掉线的缺陷。
[0006]本发明解决技术问题所采用的技术方案如下:
一种消息推送方法,其中,包括:
A、将数据库中存储的智能电视信息加载到缓存中;
B、当智能电视与接入服务器建立TCP长连接后,接入服务器从缓存中获取智能电视信息,并根据所述智能电视信息对与其建立连接的智能电视进行登录验证;
C、接入服务器接收登录验证通过的智能电视发送的最新的电视信息;
D、将所述最新的电视信息写入数据库;
E、推送服务器根据推送条件从数据库中获取消息,并将所述消息推送到智能电视端。
[0007]所述消息推送方法,其中,所述步骤D包括:
D1、接入服务器将其接收到的最新的电视信息写入消息队列中;
D2、根据从所述消息队列中获取的最新的电视信息更新数据库。
[0008]所述消息推送方法,其中,所述步骤D包括:
在将接收到的最新的电视信息写入数据库的同时,还将所述最新的电视信息写入缓存。
[0009]所述消息推送方法,其中,所述步骤E包括:
El、推送服务器根据推送条件从数据库中获取待推送消息的智能电视所需的消息,并获取到的消息推送到接入服务器;
E2、所述接入服务器将所述消息推送到待推送消息的智能电视。
[0010]一种消息推送系统,其中,包括:
缓存加载模块,用于将数据库中存储的智能电视信息加载到缓存中;
登录验证模块,用于当智能电视与接入服务器建立TCP长连接后,接入服务器从缓存中获取智能电视信息,并根据所述智能电视信息对与其建立连接的智能电视进行登录验证;信息接收模块,用于接入服务器接收登录验证通过的智能电视发送的最新的电视信息;
信息保存模块,用于将所述最新的电视信息写入数据库;
推送信息模块,用于推送服务器根据推送条件从数据库中获取消息,并将所述消息推送到智能电视端。
[0011 ]所述消息推送系统,其中,所述信息保存模块包括:
消息队列写入单元,用于将接入服务器接收到的最新的电视信息写入消息队列中; 数据更新单元,用于根据从所述消息队列中获取的最新的电视信息更新数据库。
[0012]所述消息推送系统,其中,所述信息保存模块包括:
缓存写入单元,用于在将接收到的最新的电视信息写入数据库的同时,还将所述最新的电视信息写入缓存。
[0013]所述消息推送系统,其中,所述推送信息模块包括:
推送信息获取单元,用于推送服务器根据推送条件从数据库中获取待推送消息的智能电视所需的消息,并获取到的消息推送到接入服务器;
信息推送单元,用于所述接入服务器将所述消息推送到待推送消息的智能电视。
[0014]有益效果,本发明提供了一种消息推送方法及系统,通过将数据库中存储的智能电视信息加载到缓存中;当智能电视与接入服务器建立TCP长连接后,接入服务器从缓存中获取智能电视信息对与其建立连接的智能电视进行登录验证;接入服务器接收登录验证通过的智能电视发送的最新的电视信息,并将所述最新的电视信息写入数据库;推送服务器从数据库中获取消息,将消息推送到智能电视端。所述方法及系统,由于将智能电视的信息保存在缓存中,其登录验证信息可以直接从缓存中读取,因此支持大量智能电视用户的并发登录,而执行推送任务时,从数据库中查询推送信息,因此不会对智能电视的验证登录造成影响,可以有效解决大并发情况下云推送系统的性能瓶颈问题,为智能电视的正常工作提供了保障。
【附图说明】
[0015]图1是现有技术中消息推送方法的示意图。
[0016]图2是本发明提供的一种消息推送方法的步骤流程图。
[0017]图3是本发明提供的一种消息推送方法示意图。
[0018]图4是本发明提供的一种消息推送系统的原理示意图。
【具体实施方式】
[0019]为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0020]由于现有技术中的一种消息推送方法,如图2所示,所述方法包括:
S1、将数据库中存储的智能电视信息加载到缓存中。
[0021]由于从缓存中读取信息比从数据库查找更快,因此本步骤中首先将数据库中存储的全部智能电视信息加载到缓存中,支持从缓存中获取智能电视的登录验证信息。
[0022]S2、当智能电视与接入服务器建立TCP长连接后,接入服务器从缓存中获取智能电视信息,并根据所述智能电视信息对与其建立连接的智能电视进行登录验证。
[0023]当智能电视与接入服务器建立连接后,接入服务器可以直接从缓存中获取的智能电视信息对待登录接入的智能电视的登录信息进行验证,不需要必须从数据库中获取信息,从而减轻了数据库查询的压力。
[0024]S3、接入服务器接收登录验证通过的智能电视发送的最新的电视信息。
[0025]当智能电视在接入服务器重登录验证通过后,智能电视便可以将其接收到的最新消息发送到接入服务器端,因此接入服务器可以接收到来自通过登录验证的智能电视发送的最新的电视信息。
[0026]S4、将所述最新的电视信息写入数据库。
[0027]为了缓解数据库的压力,在本步骤中,接入服务器将其接收到的最新的电视信息写入消息队列中,数据库根据从所述消息队列中获取所述最新电视信息进行数据更新。
[0028]为了避免大量智能电视的访问超出了数据库的承受能力,在在接收服务器将接收到的最新电视信息写入数据库的同时,还将所述最新的电视信息写入缓存,将接入服务器从智能电视端获取到的最新的电视信息异步更新到数据库中。
[0029]S5、推送服务器根据推送条件从数据库中获取消息,并将所述消息推送到智能电视端。
[0030]推送服务器当接收到推送任务时,根据推送条件从数据库中获取目标智能电视所需的信息,并将所述智能电视信息推送到接入服务器;所述接入服务器将所述信息推送到目标智能电视。由于上述接入服务器从缓存中获取智能电视的信息,对其登