实现融合设备内部网关与OTT端之间进行通信控制的方法与流程

文档序号:17923882发布日期:2019-06-15 00:17阅读:250来源:国知局
实现融合设备内部网关与OTT端之间进行通信控制的方法与流程

本发明涉及网络通信设备领域,尤其涉及智能电视领域,具体是指一种实现融合设备内部网关与ott端之间进行通信控制的方法。



背景技术:

随着网络技术的快速发展,传统电视媒体的传播方式正在不断发生变化,智能电视通过网络传输电视信息数据,为用户提供丰富的内容和人性化的服务,相比传统有线电视单一的直播功能有着明显的优势。融合网关设备兼具网络路由功能和智能电视功能,网络路由功能通过设备内部的网关模块实现,智能电视功能通过设备内部的ott模块实现。两个模块各自运行独立的系统,网关模块运行的是linux系统,ott模块运行的是android系统。设备与用户交互的界面由oot模块负责,而网关模块的参数设置及信息显示也需要通过ott模块实现,这就需要网关模块与ott模块具备消息通信的能力,因此,需要在ott模块上运行的android系统与网关模块上运行的linux系统建立一个通信通道,既要保证通信的实时性、健壮性,又要保证通道在没有通信时不占用资源,以获取更好的用户体验。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种满足实时性、占用资源少、适用范围广泛的实现融合设备内部网关与ott端之间进行通信控制的方法。

为了实现上述目的,本发明的实现融合设备内部网关与ott端之间进行通信控制的方法如下:

该实现融合设备内部网关与ott端之间进行通信控制的方法,其主要特点是,服务端包括网关模块,所述的方法包括服务端进行通信消息处理的步骤,所述的方法包括以下步骤:

(1-1)服务端与客户端建立socket连接,json标准格式定义通信消息,并通过socket套接字进行消息通信;

(1-2)服务端判断客户端发送的消息类型,并根据所述的消息内容保持连接状态或断开。

较佳地,所述的步骤(1)具体包括以下步骤:

(1-1.1)开启服务端进程,初始化并设定端口;

(1-1.2)所述的服务端等待客户端的链接请求,判断服务端是否在限定时间内收到客户端的消息,如果是,则建立链接并开始计时,等待客户端发送的信息,继续步骤(1-2);否则,关闭链接,退出步骤。

较佳地,所述的步骤(1-2)具体包括以下步骤:

(1-2.1)判断服务端是否在限定时间内收到客户端发送的信息,如果是,则解析客户端信息获取消息类型,并将计时器清零,重新计时,继续步骤(1-2.2);否则,关闭链接,等待下次与客户端的链接;

(1-2.2)服务端判断客户端发送的消息类型,并根据所述的消息内容保持连接状态或断开。

较佳地,所述的步骤(1-2.2)具体包括以下步骤:

(1-2.2.1)服务端判断接收的是否为心跳包,如果是,则生成服务端心跳包,并回复客户端心跳包;否则,继续步骤(1-2.2.2);

(1-2.2.2)服务端判断接收的是否为事件包,如果是,则解析消息内容并执行对应事件,生成服务端相应包并回复客户端;否则,断开与客户端的链接,并继续步骤(1-1)。

较佳地,客户端包括ott模块,所述的方法包括客户端进行通信消息处理的步骤,具体包括以下步骤:

(2-1)ott模块注册安卓数字电视配置服务并提供aidl接口,客户端与服务端建立链接;

(2-2)客户端按照设定时间间隔向服务端发送心跳包,判断限定时间内是否收到服务端回复的心跳包,如果是,则继续步骤(2-3);否则,发送断开连接包,并断开socket连接,向服务器重新发起socket连接;

(2-3)客户端接收网关模块发送的响应消息,解析并处理字符串消息,判断接收的响应消息是否为心跳包,如果是,则更新计时器,预设时间间隔后再次发送心跳包至服务端;否则,更新计时器,获取并解析字段内容。

较佳地,所述的步骤(2-2)还包括以下步骤:

(2-2.1)客户端通过socket接收服务器封装的json格式字符串。

较佳地,所述的步骤(2-3)还包括以下步骤

(2-3.1)判断与服务器断开连接的是否为最后一个实现aidl接口的应用,如果是,则客户端发送断开连接包,并与服务端断开连接。

较佳地,所述的步骤(1-1)中json标准格式定义的通信消息包括消息类型、消息内容、消息来源、消息去向和消息id。

较佳地,所述的消息类型包括心跳包、事件包、响应包、通知包和断开连接包。

采用了本发明的实现融合设备内部网关与ott端之间进行通信控制的方法,能够灵活地定义消息类型和消息内容,方便服务端和客户端的信息交互。能在后台运行,同时提供aidl接口可供android系统不同的前台应用使用,方便与用户交互,既了保证通信的实时性、健壮性,又保证通道在没有通信时不占用资源,获取更好的用户体验。

附图说明

图1为本发明的实现融合设备内部网关与ott端之间进行通信控制的方法的服务端进行通信消息处理的流程图

图2为本发明的实现融合设备内部网关与ott端之间进行通信控制的方法的服务端与客户端的通信交互原理图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

本发明的该基于上述系统实现融合设备内部网关与ott端之间进行通信控制的方法,其中包括以下步骤:

服务端包括网关模块,所述的方法包括服务端进行通信消息处理的步骤,所述的方法包括以下步骤:

(1-1)服务端与客户端建立socket连接,json标准格式定义通信消息,并通过socket套接字进行消息通信;

(1-1.1)开启服务端进程,初始化并设定端口;

(1-1.2)所述的服务端等待客户端的链接请求,判断服务端是否在限定时间内收到客户端的消息,如果是,则建立链接并开始计时,等待客户端发送的信息,继续步骤

(1-2);否则,关闭链接,退出步骤;

(1-2)服务端判断客户端发送的消息类型,并根据所述的消息内容保持连接状态或断开;

(1-2.1)判断服务端是否在限定时间内收到客户端发送的信息,如果是,则解析客户端信息获取消息类型,并将计时器清零,重新计时,继续步骤(1-2.2);否则,关闭链接,等待下次与客户端的链接;

(1-2.2)服务端判断客户端发送的消息类型,并根据所述的消息内容保持连接状态或断开;

(1-2.2.1)服务端判断接收的是否为心跳包,如果是,则生成服务端心跳包,并回复客户端心跳包;否则,继续步骤(1-2.2.2);

(1-2.2.2)服务端判断接收的是否为事件包,如果是,则解析消息内容并执行对应事件,生成服务端相应包并回复客户端;否则,断开与客户端的链接,并继续步骤(1-1)。

较佳地,客户端包括ott模块,所述的方法包括客户端进行通信消息处理的步骤,具体包括以下步骤:

(2-1)ott模块注册安卓数字电视配置服务并提供aidl接口,客户端与服务端建立链接;

(2-2)客户端按照设定时间间隔向服务端发送心跳包,判断限定时间内是否收到服务端回复的心跳包,如果是,则继续步骤(2-3);否则,发送断开连接包,并断开socket连接,向服务器重新发起socket连接;

(2-2.1)客户端通过socket接收服务器封装的json格式字符串;

(2-3)客户端接收网关模块发送的响应消息,解析并处理字符串消息,判断接收的响应消息是否为心跳包,如果是,则更新计时器,预设时间间隔后再次发送心跳包至服务端;否则,更新计时器,获取并解析字段内容;

(2-3.1)判断与服务器断开连接的是否为最后一个实现aidl接口的应用,如果是,则客户端发送断开连接包,并与服务端断开连接。

作为本发明的优选实施方式,所述的步骤(1-1)中json标准格式定义的通信消息包括消息类型、消息内容、消息来源、消息去向和消息id。

作为本发明的优选实施方式,所述的消息类型包括心跳包、事件包、响应包、通知包和断开连接包。

本发明的具体实施方式中,公开了一种备内部网关与ott端的通信方法,为融合网关设备网关与机顶盒直接通信提供了一种灵活高效方便通信的实现方案。该方案通过在网关模块linux系统和ott模块android系统之间建立socket通信实现消息传递,其中网关模块作为服务端,ott模块作为客户端,通信的消息使用json格式,能够灵活地定义消息类型和消息内容,方便服务端和客户端的信息交互。ott模块运行android系统,作为socket通信的客户端,使用android系统的service组件实现socket客户端的功能,并在后台运行,同时提供aidl接口可供android系统不同的前台应用使用,方便与用户交互。本技术方案中的andtvservice服务指android数字电视配置服务,iptvd指数字电视配置服务端。

在网关模块的linux系统和ott模块的android系统间建立socket连接,网关模块作为服务端,ott模块作为客户端,两端通过socket套接字进行消息通信。

通过socket通信建立网关模块与ott模块的通信,使用json标准格式定义通信消息,灵活高效地实现信息交互并保证链接的健壮性,ott端使用androidservice组件方便用户操作。

使用json标准定义服务端与客户端通信消息,其中包括定义消息类型、消息内容、消息来源和消息去向,消息id。消息类型包括心跳包,事件包,响应包,通知包,断开连接包。消息内容具有可扩展性,根据消息内容而定。

服务端和客户端通过发送心跳包保持连接,客户端通过发送断开连接包关闭连接。

ott模块通过android系统的service组件实现socket通信客户端的功能,service组件可以运行在android系统后台,不受前台操控影响,保持与网关模块服务端的通信。

ott端service模块提供aidl接口,前台应用或者其他应用通过实现该接口,可以方便地与网关模块通信。

一种融合设备内部网关与ott端的通信方法,服务端和客户端的具体实现步骤如下:

服务端:

1、网关模块实现socket通信的服务端功能,系统启动后,开启服务端进程,初始化socket,设定端口,等待客户的链接请求。

2、服务端收到客户端链接请求,建立链接,等待客户端发来消息,并开始计时,如果在限定时间内没有收到客户端消息,关闭链接。

3、服务端收到客户端发来消息,计时器清零,重新计时。解析客户端消息,获取消息类型,如果是心跳包消息,则生成服务端心跳包,回复客户端。

4、如果服务端收到的是事件包,则获取事件包的message字段内容,解析消息内容,根据其中包含的接口信息调用网关模块系统接口获取对应信息或执行相应操作,然后生成响应包,回复客户端。

5、如果服务端收到的是断开连接包,则断开连接。

6、如果超过限定时间没有收到客户端的消息,则关闭连接,等待下一次的客户端连接请求。

客户端:

1、ott模块在android系统启动的launch程序中注册andtvservice服务。

2、andtvservice服务程序提供aidl接口,其他应用通过实现该接口与该服务通信。

3、当有第一个实现该aidl接口的应用连接andtvservice服务时,该服务启动,创建socket客户端与网关模块socket服务端连接。

4、当客户端与服务端建立连接后,客户端按照设定时间间隔向服务端发送心跳包,当客户端超过与服务端约定的时间限制内没有收到服务端的回复心跳包,客户端发送断开连接包,并断开socket连接,然后向服务器重新发起socket连接。

5、当andtvservice服务收到android系统其他应用发来消息请求时,将消息封装成json格式字符串,然后通过socket客户端向网关侧socket服务端发送。

6、socket客户端收到网关侧socket服务端发来的响应消息时,解析json字符串消息,根据消息类型做不同的处理。如果是心跳包,更新计时器,等到下一个时间间隔再次发送心跳包到服务端。如果是事件包或通知包,更新计时器,并获取message字段的内容,解析后发给对应的应用。

7、当最后一个实现aidl接口的应用与andtvservice服务断开连接时,andtvservice服务的socket客户端发送断开连接包,与socket服务端断开连接。

采用了本发明的实现融合设备内部网关与ott端之间进行通信控制的方法,能够灵活地定义消息类型和消息内容,方便服务端和客户端的信息交互。能在后台运行,同时提供aidl接口可供android系统不同的前台应用使用,方便与用户交互,既了保证通信的实时性、健壮性,又保证通道在没有通信时不占用资源,获取更好的用户体验。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1