著录项信息
摘要
本发明公开了一种基于心跳模块的微信远程推送机顶盒节目源的实现方法,包括:在业务服务器与机顶盒之间设置心跳服务模块;心跳服务模块根据机顶盒发送的心跳消息建立或更新内存数据库的数据信息;用户通过微信获取内存数据库中目的机顶盒的数据信息,再根据该信息通过业务服务器发送推送节目源命令到心跳服务模块,并保存;在心跳服务模块对目的机顶盒下一次心跳消息进行心跳应答的心跳应答消息中附推送节目源命令;目的机顶盒执行推送节目源命令,并在下一次心跳消息中附加命令执行状态,完成微信远程推送机顶盒节目源。本发明结构简单、易于实现,占用网络带宽少,对机顶盒和心跳服务模块的性能影响小,性能稳定,成本低。
1.一种微信远程推送机顶盒节目源的实现方法,其特征在于,包括以下步骤:
步骤10、在业务服务器与其所管理的机顶盒之间设置心跳服务模块;
步骤20、心跳服务模块根据机顶盒以HTTP协议周期性发送的心跳消息,建立或更新该机顶盒在内存数据库的数据信息;
步骤30、智能终端用户通过微信获取内存数据库中目的机顶盒的数据信息,再根据该数据信息通过业务服务器发送推送节目源命令到心跳服务模块,并在心跳服务模块保存该命令;
步骤40、心跳服务模块在对目的机顶盒下一次心跳消息进行心跳应答时,在心跳应答消息中附加推送节目源命令发送给目的机顶盒;
步骤50、目的机顶盒执行推送节目源命令,并在下一次心跳消息中附加命令执行状态,完成微信远程推送机顶盒节目源。
2.如权利要求1所述的方法,其特征在于,心跳服务模块部署方式是根据业务服务器管理的机顶盒数量调整的。
3.如权利要求1所述的方法,其特征在于,
心跳消息内容包括:机顶盒本机地址、MAC地址、发送时间、命令执行状态字段;
机顶盒在内存数据库的数据信息包括:从HTTP协议中解析的机顶盒的外网地址、外网端口;在线状态;周期性发送的心跳消息内容。
4.如权利要求3所述的方法,其特征在于,步骤30具体包括以下步骤:
步骤31、用户通过微信发送获取节目源命令到业务服务器,业务服务器从节目源平台获取对应节目源数据,并返回给微信端;
步骤32、用户通过微信发送获取目的机顶盒数据信息命令到业务服务器,业务服务器从内存数据库获取目的机顶盒的数据信息,并返回给微信端;
步骤33、根据获取的目的机顶盒的数据信息判定目的机顶盒是否为在线状态,如果在线,执行步骤34;否则,执行步骤36;
步骤34、用户通过微信发送携带目的机顶盒的数据信息和节目源数据的推送节目源命令到业务服务器;
步骤35、业务服务器将推送节目源命令发给心跳服务模块,并在内存数据库中保存;
步骤36、结束程序。
5.如权利要求4所述的方法,其特征在于,在步骤31中,微信端最终能够获取到节目源数据的方式还可以为:微信端执行业务服务器上的javascript代码,直接调用节目源平台的接口得到节目源数据。
6.如权利要求1所述的方法,其特征在于,机顶盒发送心跳消息的心跳周期根据微信用户发送命令的频度自动调整,机顶盒自动调整心跳周期策略为:
当机顶盒接收到附加推送节目源命令的心跳应答消息时,加快心跳消息发送频率;如果在预设时间内一直没有接收到附加推送节目源命令的心跳消息,恢复心跳消息正常发送频率。
一种微信远程推送机顶盒节目源的实现方法\n技术领域\n[0001] 本发明涉及微信远程推送机顶盒节目源技术,具体涉及一种微信远程推送机顶盒节目源的实现方法。\n背景技术\n[0002] 随着嵌入式技术的快速发展,基于智能机顶盒的业务功能越来越多,但对于老年人和小孩来说,操作这些功能比较困难,有时需要家人协助,比如,老人或者小孩在家里想要观看某个新电视剧或者电影,但不知道如何通过遥控器搜索到该节目源,这就需要不在身边的家人通过一定的通信方式为老人或者小孩远程推送该片源给机顶盒播放。\n[0003] 微信作为一种为智能终端提供即时通讯服务的免费通信工具,已经得到广泛应用和推广,现在几乎每台智能移动终端用户都安装有微信程序,同时,由于微信支持跨通信运营商、跨操作系统平台网络快速免费通信,所以通过微信将片源远程推送给机顶盒播放是很好的选择。要使微信用户能够将片源远程推送给机顶盒播放,必须使用户发的微信推送消息能够到达机顶盒,而目前机顶盒大都安装在用户家庭路由器之后,IP地址为私网地址,因此要想将推送消息发送到机顶盒就需要进行私网穿透。目前,市场上能够微信远程推送片源播放的机顶盒的实现方式主要是以下三种:\n[0004] (1)、基于DDNS动态域名方式,原理是将机顶盒的动态外网IP地址映射到一个固定的域名解析服务上,当机顶盒的外网IP变化时候,机顶盒的客户端程序就会把该IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析,通过设置家庭网关端口映射,使处于外网的其他用户可以直接使用域名访问该机顶盒设备;该方案的实现需要DNS服务商支持,作为商业用途使用,每台机顶盒都需要支付一定的动态域名服务费用,当机顶盒数量增加时候,该费用也将快速增长。\n[0005] (2)、STUN CLIENT/SERVER(客户机与服务器结构)的方式,它属于内网NAT穿透方式,采用UDP报文交互方式探测NAT的IP和端口,处于内网的机顶盒上运行STUN客户端,它与公网上的STUN SERVER配合,通过一系列STUN协议的UDP报文交互,使得SERVER(服务器)获取机顶盒的外网IP、端口以及NAT类型信息,有了这些信息,处于外网的用户就可以与该机顶盒相互通信;该方案虽然能够对多种NAT类型进行探测,功能强大,但部署较为复杂,同时它和机顶盒软件也需要定制接口开发。\n[0006] (3)、TCP常连接方式,TCP连接的特点为只要该TCP连接保持在线,机顶盒主动从内网连接到外网的业务服务器就可以通过该连接与机顶盒通信,因此可以在机顶盒启动后建立一条到业务服务器的TCP连接,该连接在机顶盒开机时候一直保持在线,以解决业务服务器对机顶盒的私网穿透问题;该方案对业务服务器性能要求很高,随着连接设备的增加,将会导致服务器性能的开销线性增长。\n[0007] 综上所述,目前通过微信向机顶盒远程推送节目源的实现方式均存在成本增加、不易实现、性能稳定性差的缺点,因此迫切需要一种成本较低、简单易行、性能稳定的实现方法。\n发明内容\n[0008] 本发明所要解决的技术问题是现有通过微信向机顶盒远程推送节目源的实现方式均存在成本增加、不易实现、性能稳定性差的的问题。\n[0009] 为了解决上述技术问题,本发明所采用的技术方案是提供一种微信远程推送机顶盒节目源的实现方法,包括以下步骤:\n[0010] 步骤10、在业务服务器与其所管理的机顶盒之间设置心跳服务模块;\n[0011] 步骤20、心跳服务模块根据机顶盒以HTTP协议周期性发送的心跳消息,建立或更新该机顶盒在内存数据库的数据信息;\n[0012] 步骤30、智能终端用户通过微信获取内存数据库中目的机顶盒的数据信息,再根据该数据信息通过业务服务器发送推送节目源命令到心跳服务模块,并在心跳服务模块保存该命令;\n[0013] 步骤40、心跳服务模块在对目的机顶盒下一次心跳消息进行心跳应答时,在心跳应答消息中附加推送节目源命令发送给目的机顶盒;\n[0014] 步骤50、目的机顶盒执行推送节目源命令,并在下一次心跳消息中附加命令执行状态,完成微信远程推送机顶盒节目源。\n[0015] 在上述方法中,心跳服务模块部署方式是根据业务服务器管理的机顶盒数量调整的。\n[0016] 在上述方法中,心跳消息内容包括:机顶盒本机地址、MAC地址、发送时间、命令执行状态字段;\n[0017] 机顶盒在内存数据库的数据信息包括:从HTTP协议中解析的机顶盒的外网地址、外网端口;在线状态;周期性发送的心跳消息内容。\n[0018] 在上述方法中,步骤30具体包括以下步骤:\n[0019] 步骤31、用户通过微信发送获取节目源命令到业务服务器,业务服务器从节目源平台获取对应节目源数据,并返回给微信端;\n[0020] 步骤32、用户通过微信发送获取目的机顶盒数据信息命令到业务服务器,业务服务器从内存数据库获取目的机顶盒的数据信息,并返回给微信端;\n[0021] 步骤33、根据获取的目的机顶盒的数据信息判定目的机顶盒是否为在线状态,如果在线,执行步骤34;否则,执行步骤36;\n[0022] 步骤34、用户通过微信发送携带目的机顶盒的数据信息和节目源数据的推送节目源命令到业务服务器;\n[0023] 步骤35、业务服务器将推送节目源命令发给心跳服务模块,并在内存数据库中保存;\n[0024] 步骤36、结束程序。\n[0025] 在上述方法中,步在步骤31中,微信端最终能够获取到节目源数据的方式还可以为:微信端执行业务服务器上的javascript代码,直接调用节目源平台的接口得到节目源数据。\n[0026] 在上述方法中,机顶盒发送心跳消息的心跳周期根据微信用户发送命令的频度自动调整,机顶盒自动调整心跳周期策略为:\n[0027] 当机顶盒接收到附加推送节目源命令的心跳应答消息时,加快心跳消息发送频率;如果在预设时间内一直没有接收到附加推送节目源命令的心跳消息,恢复心跳消息正常发送频率。\n[0028] 本发明仅通过在业务服务器和它所管理的机顶盒之间增加一个心跳服务模块来实现通过微信向机顶盒远程推送节目源,不仅结构简单、易于实现,而且由于心跳服务模块与机顶盒之间通信的心跳消息与心跳应答消息报文比较精简,所以占用网络带宽和内存少;同时在本发明中机顶盒还能够根据命令交互情况实时调整心跳消息发送周期,即在有命令执行时增加频度,无命令时恢复正常周期,这样不仅减少进行节目源推送操作用户等待时延,在无节目源推送操作时也能减少对网络带宽占用和对机顶盒和心跳服务模块的性能消耗,在不增加成本的情况下,进一步提高性能稳定性;而心跳服务模块实现也较为简单,采用HTTP通信协议,开发成本和维护成本大为降低。\n附图说明\n[0029] 图1为本发明提供的一种微信远程推送机顶盒节目源的实现方法的软件结构图;\n[0030] 图2为本发明提供的一种微信远程推送机顶盒节目源的实现方法的流程图;\n[0031] 图3为本发明中步骤30的流程图;\n[0032] 图4为本发明中各模块之间的信息传递情况示意图。\n具体实施方式\n[0033] 针对现有微信远程推送节目源实现技术中存在的不足,本发明通过在业务服务器和它所管理的机顶盒之间增加一个心跳服务模块来实现通过微信向机顶盒远程推送节目源,心跳服务模块与机顶盒之间通过机顶盒周期性发送的心跳消息和心跳服务模块返回机顶盒的心跳应答实现通信,并根据心跳消息更新对应机顶盒在心跳服务模块内的内存数据库中数据信息;微信端通过业务服务器获取或更新内存数据库中数据信息实现与心跳服务模块间的通信。\n[0034] 下面结合说明书附图和具体实施例对本发明做出详细的说明。\n[0035] 如图1、2所示,本发明提供的一种微信远程推送机顶盒节目源的实现方法,包括以下步骤:\n[0036] 步骤10、在业务服务器与其所管理的机顶盒之间设置心跳服务模块;\n[0037] 在本发明中,心跳服务模块运行在WEB SERVER中,既可以单独运行在一台服务器上,也可以集成在业务服务器中,其部署的方式是根据业务服务器管理的机顶盒数量调整的,当机顶盒数量较少时,心跳服务模块直接集成在业务服务器中;当数量较多时,心跳服务模块将单独部署在一台服务器中运行;当数量更多时,也可以在多个服务器上分别设置心跳服务模块。\n[0038] 步骤20、机顶盒启动后,机顶盒以HTTP协议周期性发送的心跳消息,心跳服务模块根据该心跳消息建立或更新该机顶盒在内存数据库的数据信息;\n[0039] 心跳消息内容包括:机顶盒本机地址、MAC地址、发送时间、命令执行状态字段;\n[0040] 机顶盒在内存数据库的数据信息包括:从HTTP协议中解析的机顶盒的外网地址、外网端口;在线状态;周期性发送的心跳消息内容。\n[0041] 步骤30、智能终端(手机、平板电脑等)用户通过微信(微信平台)获取内存数据库中目的机顶盒的数据信息,并根据该数据信息通过业务服务器发送推送节目源命令到心跳服务模块,为目的机顶盒推送节目源,并在心跳服务模块保存该推送节目源命令;\n[0042] 如图3所示,步骤30具体包括以下步骤:\n[0043] 步骤31、用户通过微信发送获取节目源命令到业务平台(业务服务器),业务平台获取节目源平台的对应节目源数据,并返回给微信端;\n[0044] 在该步骤中,微信端最终能够获取到节目源数据是通过业务服务器上的html、javascript或者php代码实现的,具体实现方式为:\n[0045] (1)、微信端执行业务服务器上的javascript代码,直接调用节目源[0046] 服务器(节目源平台)的接口得到节目源数据;\n[0047] (2)、由业务服务器通过php代码调用节目源服务器接口得到节目源数据,再返回给微信端解析;\n[0048] 其中,实现方式(1)为最优方案,其优点是不占用业务服务器资源,节目源平台直接将数据发给了微信端,效率较高;\n[0049] 步骤32、用户通过微信发送获取目的机顶盒数据信息命令到业务平台,业务平台查询心跳服务模块的内存数据库,获取符合条件的机顶盒(目的机顶盒)的数据信息,并返回给微信端;一般符合条件的机顶盒可以由用户事先设置,设置方式为用户微信账号或者手机号与机顶盒绑定;\n[0050] 步骤33、根据获取的目的机顶盒的数据信息判定目的机顶盒是否为在线状态,如果是,执行步骤34;否则,执行步骤36;\n[0051] 步骤34、用户通过微信发送推送节目源命令到业务平台,其中,推送节目源命令中携带目的机顶盒的数据信息和节目源数据;\n[0052] 步骤35、业务平台将推送节目源命令发给心跳平台(心跳服务模块),并进行保存(保存在内存数据库中);\n[0053] 步骤36、结束程序。\n[0054] 步骤40、心跳服务模块收到推送节目源命令后,在目的机顶盒下一次心跳消息时,在心跳应答消息中附加推送节目源命令,发送给目的机顶盒。\n[0055] 步骤50、目的机顶盒执行推送节目源命令,并在下一次周期性的心跳消息中附加推送节目源命令执行状态,发送给心跳服务模块,并更新内存数据库,实现微信远程推送机顶盒节目源。此时,用户就可以通过微信发送获取目的机顶盒数据信息命令知晓推送节目源命令的执行状态。\n[0056] 在本发明中,机顶盒发送心跳消息的心跳周期可以根据微信用户发送命令的频度自动调整,机顶盒自动调整心跳周期策略为:\n[0057] 当机顶盒接收到附加推送节目源命令的心跳应答消息时(存在用户命令交互),加快心跳消息发送频率;如果在预设时间内一直没有接收到附加推送节目源命令的心跳消息(没有用户命令交互),恢复心跳消息正常发送频率,这样可以保证微信用户在操作时时延较少,增强用户体验,而在无操作时候可以减少对网络带宽占用和性能消耗。\n[0058] 综上所述,如图4所示,在本发明中各模块之间的信息传递情况为:\n[0059] S1、机顶盒一直向心跳服务模块发送周期性的心跳消息,心跳服务模块针对该心跳消息向机顶盒发送心跳应答消息。\n[0060] S2、智能终端用户通过微信平台发送获取节目源命令到业务平台,业务平台从节目源平台获取对应节目源,业务平台将节目源通过微信平台返回给智能终端用户。\n[0061] S3、智能终端用户通过微信平台发送获取目的机顶盒数据信息命令到业务平台,业务平台从心跳平台(心跳服务模块)获取目的机顶盒数据信息,业务平台将该数据信息过微信平台返回给智能终端用户。\n[0062] S4、智能终端用户通过微信平台发送推送节目源命令到业务平台,业务平台将该命令发送到心跳平台保存。\n[0063] S5、心跳平台针对接收心跳消息向机顶盒发送附加推送节目源命令的心跳应答消息,与S1中心跳应答消息不同之处仅为携带推送节目源命令串。\n[0064] S6、机顶盒向心跳平台发送附加命令执行状态的心跳消息,与S1中心跳消息不同之处为携带执行S5中推送节目源命令的执行状态(已执行或者执行失败)。\n[0065] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
法律信息
- 2017-12-29
- 2015-12-09
实质审查的生效
IPC(主分类): H04N 21/262
专利申请号: 201510319143.3
申请日: 2015.06.11
- 2015-11-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-10-29
|
2008-06-20
| | |
2
| |
2014-03-12
|
2013-12-12
| | |
3
| |
2009-10-07
|
2009-05-14
| | |
4
| |
2014-12-10
|
2014-07-04
| | |
5
| |
2014-01-15
|
2013-04-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |