CN112995113B - 一种显示设备、端口控制方法及存储介质 - Google Patents
一种显示设备、端口控制方法及存储介质 Download PDFInfo
- Publication number
- CN112995113B CN112995113B CN201911304856.7A CN201911304856A CN112995113B CN 112995113 B CN112995113 B CN 112995113B CN 201911304856 A CN201911304856 A CN 201911304856A CN 112995113 B CN112995113 B CN 112995113B
- Authority
- CN
- China
- Prior art keywords
- controller
- port
- port information
- display device
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例示出一种显示设备、端口控制方法及存储介质,尤其适用于一种社交电视。本申请示出的显示设备,包括第一控制器和第二控制器,第一控制被配置为,获取第二控制器的IP地址;生成第一TCP数据包,其中,第一TCP数据包的源地址为第二控制器的IP地址,目的地址为外部设备的IP地址;通过第一内部通信网卡向第二控制器发送第一TCP数据包;第二控制器,第二控制器被配置为,通过第二内部通信网卡接收第一TCP数据包;根据第一TCP数据包的目的地址为外部设备的IP地址,通过外部通信网卡向外部设备发送第一TCP数据包。本申请解决了第一控制器的IP地址和外部设备的IP地址不能建立连接的问题。
Description
技术领域
本申请实施例涉及显示技术。更具体地讲,涉及一种显示设备、端口控制方法及存储介质。
背景技术
当前,由于显示设备可以为用户提供诸如音频、视频、图片等的播放画面,受到用户的广泛喜爱。随着大数据与人工智能的发展,用户对显示设备的功能需求与日俱增,这对显示设备的数据处理能力提出了较高的要求。
在实际应用的过程中,双***的显示设备以其较高的数据处理能力逐渐受到了人们的关注。双***包括N***和A***,N***和A***之间可通过显示设备的内部局域网进行通信,N ***与外部设备可通过外部局域网进行通信。
上述双***的显示设备,N***和A***都可独立安装应用以分别进行数据处理,然而,当 A***的应用需要与外部设备进行通信时,由于A***与外部设备处在不同的局域网,外部设备的IP地址与A***的IP地址在不同的网段,因此A***的数据包与外部设备的数据包不能发送到对方,导致A***和外部设备通信失败。
发明内容
基于上述技术问题,本申请的目的在于提供一种显示设备及设备发现方法。
本申请实施例第一方面示出一种显示设备,包括:
第一控制器,所述第一控制被配置为,获取第二控制器的IP地址;生成第一TCP数据包,其中,所述第一TCP数据包的源地址为所述第二控制器的IP地址,目的地址为外部设备的IP地址;通过第一内部通信网卡向所述第二控制器发送所述第一TCP数据包;
第二控制器,所述第二控制器被配置为,通过第二内部通信网卡接收所述第一TCP数据包;根据所述第一TCP数据包的目的地址为外部设备的IP地址,通过外部通信网卡向外部设备发送所述第一TCP数据包。
本申请实施例第二方面示出一种显示设备,包括:第一控制器与第二控制器,
所述第一控制器被配置为,按照预设周期采集所述第一控制器的已开放端口的第一端口信息;向第二控制器发送所述第一端口信息;
所述第二控制器被配置为,控制所述第二控制器的已开放端口的第二端口信息与所述第一端口信息一致;监听所述第二端口;
所述第二控制器还被配置为,通过外部通信网卡的所述第二端口接收第二TCP数据包;向第二内部通信网卡发送所述第二TCP数据包;通过第二内部通信网卡向所述第一控制器发送所述第二TCP数据包;
所述第一控制器还被配置为,通过第一内部通信网卡接收所述第二TCP数据包;获取所述第二TCP数据包中目的端口的端口号;向与所述端口号对应的第一端口发送所述第二TCP数据包。
本申请实施例第三方面示出一种端口控制方法,所述方法应用于显示设备,所述显示设备包括第一控制器和第二控制器,所述方法包括:
所述第一控制器根据所述第二控制器的IP地址生成第一TCP数据包,并向所述第二控制器发送所述第一TCP数据包,其中,所述第一TCP数据包的源地址为所述第二控制器的IP地址,目的地址为外部设备的IP地址;
所述第二控制器根据所述第一TCP数据包的目的地址为外部设备的IP地址,向外部设备发送所述第一TCP数据包。
本申请实施例第四方面示出一种端口控制方法,所述方法应用于显示设备,所述显示设备包括第一控制器和第二控制器,所述方法包括:
所述第一控制器按照预设周期采集所述第一控制器的已开放端口的第一端口信息,并向第二控制器发送所述第一端口信息;
所述第二控制器控制所述第二控制器的已开放端口的第二端口信息与所述第一端口信息一致,并监听所述第二端口;
所述第二控制器向所述第一控制器发送所述第二端口接收的第二TCP数据包;
所述第一控制器根据所述第二TCP数据包中目的端口的端口号,向与所述端口号对应的第一端口发送所述第二TCP数据包。
本申请实施例第五方面示出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现第三方面或第四方面所述的设备发现方法。
本申请提供的技术方案具备如下有益效果:
本申请通过设置第一控制器上的应用获取第二控制器的IP地址,生成源地址为第二控制器 IP地址,目的地址为外部设备IP地址的第一TCP数据包,再将第一TCP数据包发送到第二控制器,使第二控制器根据第一TCP数据包的目的地址为外部设备的IP地址,将第一TCP数据包发送到外部设备,解决了第一控制器的IP地址和外部设备的IP地址不能建立连接的问题,实现了第一控制器上的应用与外部设备进行通信。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图;
图2中示例性示出了根据实施例中控制装置100的硬件配置框图;
图3中示例性示出了根据实施例中显示设备200的硬件配置框图;
图4中示例性示出了根据图3显示设备200的硬件架构框图;
图5中示例性示出了根据实施例中显示设备200的功能配置示意图;
图6a中示例性示出了根据实施例中显示设备200中软件配置示意图;
图6b中示例性示出了根据实施例中显示设备200中应用程序的配置示意图;
图7中示例性示出了根据实施例中显示设备200中用户界面的示意图;
图8为根据一优选实施例示出的一种显示设备的结构框图;
图9为根据一优选实施例示出的一种端口控制方法的流程示意图;
图10为根据一优选实施例示出的另一种端口控制方法的流程示意图。
图11a为表1中第一位端口号获取示意图;
图11b为图11a的下一位端口号获取示意图;
图11c为图11b的下一位端口号获取示意图;
图11d为图11c的下一位端口号获取示意图;
图11e为图11d的下一位端口号获取示意图;
图11f为图11e的下一位端口号获取示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
为便于用户使用,显示设备上通常会设置各种外部装置接口,以便于连接不同的外设设备或线缆以实现相应的功能。而在显示设备的接口上连接有高清晰度的摄像头时,如果显示设备的硬件***没有接收源码的高像素摄像头的硬件接口,那么就会导致无法将摄像头接收到的数据呈现到显示设备的显示屏上。
并且,受制于硬件结构,传统显示设备的硬件***仅支持一路硬解码资源,且通常最大仅能支持4K分辨率的视频解码,因此当要实现边观看网络电视边进行视频聊天时,为了不降低网络视频画面清晰度,就需要使用硬解码资源(通常是硬件***中的GPU)对网络视频进行解码,而在此情况下,只能采取由硬件***中的通用处理器(例如CPU)对视频进行软解码的方式处理视频聊天画面。
采用软解码处理视频聊天画面,会大大增加CPU的数据处理负担,当CPU的数据处理负担过重时,可能会出现画面卡顿或者不流畅的问题。进一步的,受制于CPU的数据处理能力,当采用 CPU软解码处理视频聊天画面时,通常无法实现多路视频通话,当用户想要再同一聊天场景同时与多个其他用户进行视频聊天时,会出现接入受阻的情况。
基于上述各方面的考虑,为克服上述缺陷,本申请公开了一种双硬件***架构,以实现多路视频聊天数据(至少一路本地视频)。
下面首先结合附图对本申请所涉及的概念进行说明。在此需要指出的是,以下对各个概念的说明,仅为了使本申请的内容更加容易理解,并不表示对本申请保护范围的限定。
本申请各实施例中使用的术语“模块”,可以是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请各实施例中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,该组件通常可在较短的距离范围内无线控制电子设备。该组件一般可以使用红外线和 /或射频(RF)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请各实施例中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
本申请各实施例中使用的术语“硬件***”,可以是指由集成电路(IntegratedCircuit, IC)、印刷电路板(Printed circuit board,PCB)等机械、光、电、磁器件构成的具有计算、控制、存储、输入和输出功能的实体部件。在本申请各个实施例中,硬件***通常也会被称为主板(motherboard)或芯片。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过控制装置100来操作显示设备200。
其中,控制装置100可以是遥控器100A,其可与显示设备200之间通过红外协议通信、蓝牙协议通信、紫蜂(ZigBee)协议通信或其他短距离通信方式进行通信,用于通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200 的功能。
控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等,其可以通过本地网(LAN,Local Area Network)、广域网(WAN,Wide Area Network)、无线局域网((WLAN,Wireless Local Area Network)或其他网络与显示设备200之间通信,并通过与显示设备200相应的应用程序实现对显示设备200的控制。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序可以在与智能设备关联的屏幕上通过直观的用户界面(UI, User Interface)为用户提供各种控制。
示例的,移动终端100B与显示设备200均可安装软件应用,从而可通过网络通信协议实现二者之间的连接通信,进而实现一对一控制操作的和数据通信的目的。如:可以使移动终端100B 与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端100B上,通过控制移动终端100B上用户界面,实现控制显示设备200的功能;也可以将移动终端100B上显示的音视频内容传输到显示设备200上,实现同步显示功能。
如图1所示,显示设备200还可与服务器300通过多种通信方式进行数据通信。在本申请各个实施例中,可允许显示设备200通过局域网、无线局域网或其他网络与服务器300进行通信连接。服务器300可以向显示设备200提供各种内容和互动。
示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG,ElectronicProgram Guide)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器300可以是一组,也可以是多组,可以是一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
显示设备200,一方面讲,可以是液晶显示器、OLED(Organic Light EmittingDiode)显示器、投影显示设备;另一方面讲,显示设备被可以是智能电视或显示器和机顶盒组成的显示***。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上的一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。示例的包括,网络电视、智能电视、互联网协议电视(IPTV)等。在一些实施例中,显示设备可以不具备广播接收电视功能。
如图1所述,显示设备上可以连接或设置有摄像头,用于将摄像头拍摄到的画面呈现在本显示设备或其他显示设备的显示界面上,以实现用户之间的交互聊天。具体的,摄像头拍摄到的画面可在显示设备上全屏显示、半屏显示、或者显示任意可选区域。
作为一种可选的连接方式,摄像头通过连接板与显示器后壳连接,固定安装在显示器后壳的上侧中部,作为可安装的方式,可以固定安装在显示器后壳的任意位置,能保证其图像采集区域不被后壳遮挡即可,例如,图像采集区域与显示设备的显示朝向相同。
作为另一种可选的连接方式,摄像头通过连接板或者其他可想到的连接器可升降的与显示后壳连接,连接器上安装有升降马达,当用户要使用摄像头或者有应用程序要使用摄像头时,再升出显示器之上,当不需要使用摄像头时,其可内嵌到后壳之后,以达到保护摄像头免受损坏。
作为一种实施例,本申请所采用的摄像头可以为1600万像素,以达到超高清显示目的。在实际使用中,也可采用比1600万像素更高或更低的摄像头。
当显示设备上安装有摄像头以后,显示设备不同应用场景所显示的内容可得到多种不同方式的融合,从而达到传统显示设备无法实现的功能。
示例性的,用户可以在边观看视频节目的同时,与至少一位其他用户进行视频聊天。视频节目的呈现可作为背景画面,视频聊天的窗口显示在背景画面之上。形象的,可以称该功能为“边看边聊”。
可选的,在“边看边聊”的场景中,在观看直播视频或网络视频的同时,跨终端的进行至少一路的视频聊天。
另一示例中,用户可以在边进入教育应用学习的同时,与至少一位其他用户进行视频聊天。例如,学生在学习教育应用程序中内容的同时,可实现与老师的远程互动。形象的,可以称该功能为“边学边聊”。
另一示例中,用户在玩纸牌游戏时,与进入游戏的玩家进行视频聊天。例如,玩家在进入游戏应用参与游戏时,可实现与其他玩家的远程互动。形象的,可以称该功能为“边看边玩”。
可选的,游戏场景与视频画面进行融合,将视频画面中人像进行抠图,显示在游戏画面中,提升用户体验。
可选的,在体感类游戏中(如打球类、拳击类、跑步类、跳舞类等),通过摄像头获取人体姿势和动作,肢体检测和追踪、人体骨骼关键点数据的检测,再与游戏中动画进行融合,实现如体育、舞蹈等场景的游戏。
另一示例中,用户可以在K歌应用中,与至少一位其他用户进行视频和语音的交互。形象的,可以称该功能为“边看边唱”。可选的,当至少一位用户在聊天场景进入该应用时,可多个用户共同完成一首歌的录制。
另一个示例中,用户可在本地打开摄像头获取图片和视频,形象的,可以称该功能为“照镜子”。
在另一些示例中,还可以再增加更多功能或减少上述功能。本申请对该显示设备的功能不作具体限定。
图2中示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置 100包括控制器110、通信器130、用户输入/输出接口140、存储器190、供电电源180。
控制装置100被配置为,可控制所述显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起到用户与显示设备200之间交互中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制装置100可是一种智能设备。如:控制装置100可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端100B或其他智能电子设备,可在安装操控显示设备200的应用之后,起到控制装置100类似功能。如:用户可以通过安装应用,在移动终端100B 或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制装置100实体按键的功能。
控制器110包括处理器112、RAM113和ROM114、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信器130可包括WIFI模块131、蓝牙模块132、NFC模块133等通信模块中至少一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键 144等输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以是红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制装置100包括通信器130和输出接口中至少一者。控制装置100中配置通信器130,如:WIFI、蓝牙、NFC等模块,可将用户输入指令通过WIFI协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。可以电池及相关控制电路。
图3中示例性示出了根据示例性实施例中显示设备200中硬件***的硬件配置框图。
在采用双硬件***架构时,硬件***的机构关系可以图3所示。为便于表述以下将双硬件***架构中的一个硬件***称为第一硬件***或A***、A芯片,并将另一个硬件***称为第二硬件***或N***、N芯片。A芯片包含A芯片的控制器及各类接口,N芯片则包含N芯片的控制器及各类接口。A芯片及N芯片中可以各自安装有相对独立的操作***,A芯片的操作***和N芯片的操作***可以通过通信协议相互通信,示例性的:A芯片的操作***的framework层和N芯片的操作***的framework层可以进行通信进行命令和数据的传输,从而使显示设备200中存在两个在独立但又存在相互关联的子***。
如图3所示,A芯片与N芯片之间可以通过多个不同类型的接口实现连接、通信及供电。A 芯片与N芯片之间接口的接口类型可以包括通用输入输出接口(General-purposeinput/output, GPIO)、USB接口、HDMI接口、UART接口等。A芯片与N芯片之间可以使用这些接口中的一个或多个进行通信或电力传输。例如图3所示,在双硬件***架构下,可以由外接的电源(power) 为N芯片供电,而A芯片则可以不由外接电源,而由N芯片供电。
除用于与N芯片进行连接的接口之外,A芯片还可以包含用于连接其他设备或组件的接口,例如图3中所示的用于连接摄像头(Camera)的MIPI接口,蓝牙接口等。
类似的,除用于与N芯片进行连接的接口之外,N芯片还可以包含用于连接显示屏TCON(Timer Control Register)的VBY接口,用于连接功率放大器(Amplifier,AMP)及扬声器(Speaker) 的i2S接口;以及IR/Key接口,USB接口,Wifi接口,蓝牙接口,HDMI接口,Tuner接口等。
下面结合图4对本申请双硬件***架构进行进一步的说明。需要说明的是图4仅仅是对本申请双硬件***架构的一个示例性说明,并不表示对本申请的限定。在实际应用中,两个硬件***均可根据需要包含更多或更少的硬件或接口。
图4中示例性示出了根据图3显示设备200的硬件架构框图。如图4所示,显示设备200的硬件***可以包括A芯片和N芯片,以及通过各类接口与A芯片或N芯片相连接的模块。
N芯片可以包括调谐解调器220、通信器230、外部装置接口250、处理器210、存储器290、聊天输入接口、视频处理器260-1、显示器280、音频输出接口270、供电电源。在其他实施例中 N芯片也可以包括更多或更少的模块。
其中,调谐解调器220,用于对通过有线或无线方式接收广播电视信号,进行放大、混频和谐振等调制解调处理,从而从多个无线或有线广播电视信号中解调出用户所选择电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG数据信号)。根据电视信号广播制式不同,调谐解调器220的信号途径可以有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,所述信号的调整方式可以数字调制方式,也可以模拟调制方式;以及根据接收电视信号种类不同,调谐解调器220可以解调模拟信号和/或数字信号。
调谐解调器220,还用于根据用户选择,以及由处理器210控制,响应用户选择的电视频道频率以及该频率所携带的电视信号。
在其他一些示例性实施例中,调谐解调器220也可在外置设备中,如外置机顶盒等。这样,机顶盒通过调制解调后输出电视音视频信号,经过外部装置接口250输入至显示设备200中。
通信器230是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器230可以包括WIFI模块231,蓝牙通信协议模块232,有线以太网通信协议模块233,及红外通信协议模块等其他网络通信协议模块或近场通信协议模块。
显示设备200可以通过通信器230与外部控制设备或内容提供设备之间建立控制信号和数据信号的连接。例如,通信器可根据控制器的控制接收遥控器100的控制信号。
外部装置接口250,是提供N芯片处理器210和A芯片及外部其他设备间数据传输的组件。外部装置接口可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等的外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG) 等数据。
其中,外部装置接口250可以包括:高清多媒体接口(HDMI)端子也称之为HDMI251、复合视频消隐同步(CVBS)端子也称之为AV252、模拟或数字分量端子也称之为分量253、通用串行总线(USB)端子254、红绿蓝(RGB)端子(图中未示出)等任一个或多个。本申请不对外部装置接口的数量和类型进行限制。
处理器210,通过运行存储在存储器290上的各种软件控制程序(如操作***和/或各种应用程序),来控制显示设备200的工作和响应用户的操作。
如图4所示,处理器210包括只读存储器RAM213、随机存取存储器ROM214、图形处理器216、通信接口218、以及通信总线。其中,RAM213和ROM214以及图形处理器216、通信接口218通过总线相连接。
处理器210,用于执行存储在存储器290中操作***和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
ROM213,用于存储各种***启动的指令。如在收到开机信号时,显示设备200电源开始启动,处理器210运行ROM中***启动指令,将存储在存储器290的操作***拷贝至RAM214中,以开始运行启动操作***。当操作***启动完成后,处理器210再将存储器290中各种应用程序拷贝至RAM214中,然后,开始运行启动各种应用程序。
图形处理器216,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器280上。
在一些示例性实施例中,处理器210,可以包括多个处理器。所述多个处理器中可包括一个主处理器以及多个或一个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。多个或一个子处理器,用于执行在待机模式等状态下的一种操作。
通信接口,可包括第一接口218-1到第n接口218-n。这些接口可以是经由网络被连接到外部设备的网络接口。
处理器210可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器280 上显示UI对象的用户命令,处理器210便可以执行与由用户命令选择的对象有关的操作。
其中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
存储器290,包括存储用于驱动和控制显示设备200的各种软件模块。如:存储器290中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。
其中,基础模块是用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块是用于从各种传感器或聊天输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如:语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块是用于控制显示器280进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,是用于与外部设备之间进行控制和数据通信的模块。浏览器模块,是用于执行浏览服务器之间数据通信的模块。服务模块,是用于提供各种服务以及各类应用程序在内的模块。
同时,存储器290还用于存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
聊天输入接口,用于将用户的输入信号发送给处理器210,或者,将从控制器输出的信号传送给用户。示例性的,控制装置(例如移动终端或遥控器)可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至聊天输入接口,再由聊天输入接口转送至控制器;或者,控制装置可接收经控制器处理从聊天输入接口输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器280上显示的图形用户界面(GUI)输入用户命令,则聊天输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则聊天输入接口通过传感器识别出声音或手势,来接收用户输入命令。
视频处理器260-1,用于接收视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器280 上显示或播放的视频信号。
示例的,视频处理器260-1,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频画面进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的24Hz、25Hz、30Hz、60Hz视频的帧率转换为60Hz、120Hz或240Hz的帧率,其中,输入帧率可以与源视频流有关,输出帧率可以与显示器的更新率有关。输入有通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB数据信号。
显示器280,用于接收源自视频处理器260-1输入的图像信号,进行显示视频内容和图像以及菜单操控界面。显示器280包括用于呈现画面的显示器组件以及驱动图像显示的驱动组件。显示视频内容,可以来自调谐解调器220接收的广播信号中的视频,也可以来自通信器或外部设备接口输入的视频内容。显示器280,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面UI。
以及,根据显示器280类型不同,还包括用于驱动显示的驱动组件。或者,倘若显示器280 为一种投影显示器,还可以包括一种投影装置和投影屏幕。
得到可以在扬声器272中播放的音频信号。
音频输出接口270,用于在处理器210的控制下音频输出接口可包括扬声器272,或输出至外接设备的发生装置的外接音响输出端子274,如:外接音响端子或耳机输出端子等。
在其他一些示例性实施例中,视频处理器260-1可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器260-1,可以为单独的芯片,也可以与处理器210一起集成在一个或多个芯片中。
供电电源,用于在处理器210控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200 外部的电源,如在显示设备200中提供外接电源的电源接口。
与N芯片相类似,如图4所示,A芯片可以包括处理器310、通信器330、检测器340、存储器390。在某些实施例中还可以包括聊天输入接口、视频处理器、音频处理器、显示器、音频输出接口。在某些实施例中,也可以存在独立为A芯片供电的供电电源。
通信器330是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器330可以包括WIFI模块331,蓝牙通信协议模块332,有线以太网通信协议模块333,及红外通信协议模块等其他网络通信协议模块或近场通信协议模块。
A芯片的通信器330和N芯片的通信器230也有相互交互。例如,N芯片硬件***内的WiFi 模块231用于连接外部网络,与外部服务器等产生网络通信。A芯片硬件***内的WiFi模块331 用于连接至N芯片的WiFi模块231,而不与外界网络等产生直接连接,A芯片通过N芯片连接外部网络。因此,对于用户而言,一个如上述实施例中的显示设备至对外显示一个WiFi账号。
检测器340,是显示设备A芯片用于采集外部环境或与外部交互的信号的组件。检测器340 可以包括光接收器342,用于采集环境光线强度的传感器,可以通过采集环境光来自适应显示参数变化等;还可以包括图像采集器341,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
外部装置接口350,提供处理器310与N芯片或外部其他设备间数据传输的组件。外部装置接口可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等的外部设备连接。
视频处理器360-1,用于处理相关视频信号。
音频处理器360-2,用于处理相关音频信号
处理器310,通过运行存储在存储器390上的各种软件控制程序(如用安装的第三方应用等),以及与N芯片的交互,来控制显示设备200的工作和响应用户的操作。
如图4所示,处理器310包括只读存储器ROM313、随机存取存储器RAM314、图形处理器316、处理器310、通信接口318、以及通信总线。其中,ROM313和RAM314以及图形处理器316、处理器310、通信接口318通过总线相连接。
处理器310,用于执行存储在存储器390中操作***和应用程序指令,和与N芯片进行通信、信号、数据、指令等传输与交互,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
ROM313,用于存储各种***启动的指令。处理器310运行ROM中***启动指令,将存储在存储器390的操作***拷贝至RAM314中,以开始运行启动操作***。当操作***启动完成后,处理器310再将存储器390中各种应用程序拷贝至RAM314中,然后,开始运行启动各种应用程序。
通信接口318为多个。这些接口可以是经由网络被连接到外部设备的网络接口,也可以是经由网络被连接到N芯片的网络接口。
音频处理器360-2,用于接收音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理。
处理器310可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器280 上显示UI对象的用户命令,处理器210便可以执行与由用户命令选择的对象有关的操作。
图形处理器316,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器280上。
A芯片的图形处理器316与N芯片的图形处理器216均能产生各种图形对象。区别性的,若应用1安装于A芯片,应用2安装在N芯片,当用户在应用1的界面,且在应用1内进行用户输入的指令时,由A芯片图形处理器316产生图形对象。当用户在应用2的界面,且在应用2内进行用户输入的指令时,由N芯片的图形处理器216产生图形对象。
图5中示例性示出了根据示例性实施例中显示设备的功能配置示意图。
如图5所示,A芯片的存储器390和N芯片的存储器290分别用于存储操作***、应用程序、内容和用户数据等,在A芯片的处理器310和N芯片的处理器210的控制下执行驱动显示设备200 的***运行以及响应用户的各种操作。A芯片的存储器390和N芯片的存储器290可以包括易失性和/或非易失性存储器。
对于N芯片,存储器290,具体用于存储驱动显示设备200中处理器210的运行程序,以及存储显示设备200内置各种应用程序,以及用户从外部设备下载的各种应用程序、以及与应用程序相关的各种图形用户界面,以及与图形用户界面相关的各种对象,用户数据信息,以及各种支持应用程序的内部数据。存储器290用于存储操作***(OS)内核、中间件和应用等***软件,以及存储输入的视频数据和音频数据、及其他用户数据。
存储器290,具体用于存储视频处理器260-1、显示器280、通信器230、调谐解调器220、输入/输出接口等驱动程序和相关数据。
在一些实施例中,存储器290可以存储软件和/或程序,用于表示操作***(OS)的软件程序包括,例如:内核、中间件、应用编程接口(API)和/或应用程序。示例性的,内核可控制或管理***资源,或其它程序所实施的功能(如所述中间件、API或应用程序),以及内核可以提供接口,以允许中间件和API,或应用访问控制器,以实现控制或管理***资源。
示例的,存储器290,包括广播接收模块2901、频道控制模块2902、音量控制模块2903、图像控制模块2904、显示控制模块2905、第一音频控制模块2906、外部指令识别模块2907、通信控制模块2908、光接收模块2909、电力控制模块2910、操作***2911、以及其他应用程序2912、浏览器模块等等。处理器210通过运行存储器290中各种软件程序,来执行诸如:广播电视信号接收解调功能、电视频道选择控制功能、音量选择控制功能、图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等各类功能。
存储器390,包括存储用于驱动和控制显示设备200的各种软件模块。如:存储器390中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。由于存储器390与存储器290的功能比较相似,相关之处参见存储器290即可,在此就不再赘述。
示例的,存储器390,包括图像控制模块3904、第二音频控制模块3906、外部指令识别模块 3907、通信控制模块3908、光接收模块3909、操作***3911、以及其他应用程序3912、浏览器模块等等。处理器210通过运行存储器290中各种软件程序,来执行诸如:图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等各类功能。
区别性的,N芯片的外部指令识别模块2907和A芯片的外部指令识别模块3907可识别不同的指令。
示例性的,由于摄像头等图像接收设备与A芯片连接,因此,A芯片的外部指令识别模块3907 可包括图形识别模块2907-1,图形识别模块3907-1内存储有图形数据库,摄像头接收到外界的图形指令时,与图形数据库中的指令进行对应关系,以对显示设备作出指令控制。而由于语音接收设备以及遥控器与N芯片连接,因此,N芯片的外部指令识别模块2907可包括语音识别模块 2907-2,语音识别模块2907-2内存储有语音数据库,语音接收设备等接收到外界的语音指令或时,与语音数据库中的指令进行对应关系,以对显示设备作出指令控制。同样的,遥控器等控制装置100与N芯片连接,由按键指令识别模块2907-3与控制装置100进行指令交互。
图6a中示例性示出了根据示例性实施例中显示设备200中软件***的配置框图。
对N芯片,如图6a中所示,操作***2911,包括用于处理各种基础***服务和用于实施硬件相关任务的执行操作软件,充当应用程序和硬件组件之间完成数据处理的媒介。
一些实施例中,部分操作***内核可以包含一系列软件,用以管理显示设备硬件资源,并为其他程序或软件代码提供服务。
其他一些实施例中,部分操作***内核可包含一个或多个设备驱动器,设备驱动器可以是操作***中的一组软件代码,帮助操作或控制显示设备关联的设备或硬件。驱动器可以包含操作视频、音频和/或其他多媒体组件的代码。示例的,包括显示器、摄像头、Flash、WiFi和音频驱动器。
其中,可访问性模块2911-1,用于修改或访问应用程序,以实现应用程序的可访问性和对其显示内容的可操作性。
通信模块2911-2,用于经由相关通信接口和通信网络与其他外设的连接。
用户界面模块2911-3,用于提供显示用户界面的对象,以供各应用程序访问,可实现用户可操作性。
控制应用程序2911-4,用于控制进程管理,包括运行时间应用程序等。
事件传输***2914,可在操作***2911内或应用程序2912中实现。一些实施例中,一方面在在操作***2911内实现,同时在应用程序2912中实现,用于监听各种用户输入事件,将根据各种事件指代响应各类事件或子事件的识别结果,而实施一组或多组预定义的操作的处理程序。
其中,事件监听模块2914-1,用于监听聊天输入接口输入事件或子事件。
事件识别模块2914-2,用于对各种聊天输入接口输入各类事件的定义,识别出各种事件或子事件,且将其传输给处理用以执行其相应一组或多组的处理程序。
其中,事件或子事件,是指显示设备200中一个或多个传感器检测的输入,以及外界控制设备(如控制装置100等)的输入。如:语音输入各种子事件,手势识别的手势输入子事件,以及控制装置的遥控按键指令输入的子事件等。示例的,遥控器中一个或多个子事件包括多种形式,包括但不限于按键按上/下/左右/、确定键、按键按住等中一个或组合。以及非实体按键的操作,如移动、按住、释放等操作。
界面布局管理模块2913,直接或间接接收来自于事件传输***2914监听到各用户输入事件或子事件,用于更新用户界面的布局,包括但不限于界面中各控件或子控件的位置,以及容器的大小或位置、层级等与界面布局相关各种执行操作。
由于A芯片的操作***3911与N芯片的操作***2911的功能比较相似,相关之处参见操作***2911即可,在此就不再赘述。
如图6b中所示,显示设备的应用程序层包含可在显示设备200执行的各种应用程序。
N芯片的应用程序层2912可包含但不限于一个或多个应用程序,如:视频点播应用程序、应用程序中心、游戏应用等。A芯片的应用程序层3912可包含但不限于一个或多个应用程序,如:直播电视应用程序、媒体中心应用程序等。需要说明的是,A芯片和N芯片上分别包含什么应用程序是根据操作***和其他设计确定的,本发明无需对A芯片和N芯片上所包含的应用程序做具体的限定和划分。
直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过多媒体中心应用程序访问各种图像或音频所提供服务。
应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机***或其他设备相关但可以在显示设备中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
图7中示例性示出了根据示例性实施例中显示设备200中用户界面的示意图。如图7所示,用户界面包括多个视图显示区,示例的,第一视图显示区201和播放画面202,其中,播放画面包括布局一个或多个不同项目。以及用户界面中还包括指示项目被选择的选择器,可通过用户输入而移动选择器的位置,以改变选择不同的项目。
需要说明的是,多个视图显示区可以呈现不同层级的显示画面。如,第一视图显示区可呈现视频聊天项目内容,第二视图显示区可呈现应用层项目内容(如,网页视频、VOD展示、应用程序画面等)。
可选的,不同视图显示区的呈现存在优先级区别,优先级不同的视图显示区之间,视图显示区的显示优先级不同。如,***层的优先级高于应用层的优先级,当用户在应用层使用获取选择器和画面切换时,不遮挡***层的视图显示区的画面展示;以及,根据用户的选择使应用层的视图显示区的大小和位置发生变化时,***层的视图显示区的大小和位置不受影响。
本申请基于用户上述“边看边聊”的需求,可以通过显示设备的A芯片与外部设备连接,对外部设备的数据进行处理,然后将处理后的数据发送至N芯片,使N芯片能够同时显示自身的应用界面以及外部设备的相关界面。然而,由于外部设备处在显示设备外部的外部局域网内,A 芯片处在显示设备内部的内部局域网内,即外部设备和A芯片处在两个不同的网段内,导致外部设备发送的数据不能到达A芯片,A芯片发送的数据也不能达到外部设备,使得外部设备和A芯片无法建立连接并进行通信。
基于上述技术问题,本申请第一方面示出一种显示设备,具体的,可以参见图8,显示设备包括第一控制器和第二控制器。
其中,为了描述方便,图4和图5中第一控制器与图8中的第一控制器对应,图4和图5中第二控制器与图8中的第二控制器对应。以下不再指出。
第一控制器包括第一内部通信网卡311和第一控制调度315。第一内部通信网卡311为第一控制器中被配置的可与第二控制器进行TCP(Transmission Control Protocol,传输控制协议) 通信的网卡。
第一内部通信网卡311包括第一端口信息发送端口317和多个第一端口,其中,第一端口为第一控制器的应用程序向第二控制器发送数据的TCP端口,第一控制器的不同应用程序分别对应有不同的第一端口。
第一控制调度315为第一控制器中预设的reporter(报告)程序,该程序在第一控制器开机后启动,该程序启动后,会常驻在第一控制器的***后台,启动第一端口信息发送端口317与第二控制器建立连接,每间隔预设周期通过轮询的方式获取第一控制器中已开放端口的第一端口信息,将该第一端口信息发送到第二控制器,其中,第一端口信息包括端口号,预设周期可选为1 秒。
进一步的,第一控制调度315在启动后第一次获取到第一控制器中已开放端口的第一端口信息时,将该第一端口信息存储在第一控制器的一段buffer(缓存)中,并将该第一端口信息发送到第二控制器,第二控制器将第一端口信息也存储在第二控制器的一段缓存中。第一控制调度315 在启动之后的第二个预设周期开始,每次获取新的第一端口信息后,先判断第一端口信息与上一个预设周期采集的历史端口信息是否相同;如果相同,则继续在下一个预设周期采集第一端口信息,直到第一端口信息与上一个预设周期的历史端口信息不同;如果第一端口信息与上一个预设周期的历史端口信息不同,再在第一控制器的缓存中更新第一端口信息,并将第一端口信息发送到第二控制器。
第二控制器根据该第一端口信息与其缓存中存储的历史端口信息的差别对第二端口进行管理,然后将第二控制器中缓存的历史端口信息更新为与该第一端口信息一致。第一控制器与第二控制器分别在各自的缓存中存储第一端口信息,有效防止在第一控制调度315启动之后的某一时间,第二控制器和第一控制器其中一端存储第一端口信息的进程被异常清理而导致无法得知历史端口信息。
当然,第一控制调度315在启动之后的第二个预设周期开始,每次获取到第一端口信息后,也可不判断该第一端口信息与历史端口信息是否相同,直接将该第一端口信息发送到第二控制器,供第二控制器对第二端口进行管理,但是,这与第一控制调度315在当第一端口信息与历史端口信息不同时再向第二控制器发送第一端口信息相比,第二控制器分析第一端口信息的工作量将会变大,因此,本实施例中,第一控制器的第一控制调度315在当第一端口信息与历史端口信息不同时再向第二控制器发送第一端口信息,以减轻第二控制器分析第一端口信息的工作量。
第二控制器包括第二内部通信网卡211、第二控制调度215和外部通信网卡219。第二内部通信网卡为第二控制器中被配置的可与第一控制器进行TCP(TransmissionControl Protocol,传输控制协议)通信的网卡。
第二内部通信网卡211包括第一端口信息接收端口217。
外部通信网卡219设置有多个第二端口,其中,第二端口为第二控制器与外部设备进行通信的TCP端口。
第二控制调度215为第二控制器中预设的forward(转发)程序,该程序在第二控制器开机后启动,该程序启动后,会创建socket(套接字)监听第二内部通信网卡211中的第一端口信息接收端口217,创建epoll函数分别监测外部通信网卡和第二内部通信网卡的TCP数据包。第一控制器的第一端口信息发送端口317在第一控制调度315的控制下与第一端口信息接收端口217 建立连接,然后向第一端口信息接收端口217发送第一端口信息,第二控制调度215通过第一端口信息接收端口217接收到第一端口信息后对第二控制器的第二端口进行管理,使第二控制器已开放端口的第二端口信息与所述第一端口信息一致。
第二控制调度215对第二控制器的第二端口的管理过程包括:将第一端口信息与上一个预设周期的历史端口信息进行比较,得到新开放端口信息和新关闭端口信息,将第二控制器中对应新开放端口信息的第二端口开放,将第二控制器中对应新关闭端口信息的第二端口关闭。其中,新开放端口信息包括新开放第一端口的端口号,新关闭端口信息包括新关闭第一端口的端口号,第二控制调度215对第一端口信息与历史端口信息的比较过程如下:
将第一端口信息中的端口号和历史端口信息中的端口号分别进行升序排列;然后将排序后的两组端口号进行比较,下面以表1为例进行比较。
表1为两个相邻预设周期的端口号排序表:
表1
1、第二控制调度215设置两个指针,从第一位开始,通过这两个指针分别获取第一端口信息的端口号和历史端口信息的端口号。
判断两个指针获取的端口号是否相同,如果相同,则将两个指针均移向下一位。
图11a中,两个指针的端口号均为1,将两个指针均指向下一位的端口号,得到图11b。2、 判断两个指针获取的端口号是否相同,如果不同,则将端口号较小的指针移向下一位。
图11b中,指针所指的第一端口信息的端口号为2,历史端口信息的端口号为3,根据此时 第一端口信息的端口号小于历史端口信息的端口号,则判定第一端口信息中的端口号2为新开放 端口号,然后将第一端口信息的指针指向下一位,得到图11c。
图11c中,两个指针的端口号相同,将两个指针均移向下一位,得到图11d。
图11d中,两个指针的端口号相同,将两个指针均移向下一位,得到图11e。
3、判断两个指针获取的端口号是否相同,如果不同,则将端口号较小的指针移向下一位。
图11e中,指针所指的第一端口信息的端口号为8,历史端口信息的端口号为6,根据此时 第一端口信息的端口号大于历史端口信息的端口号,则判定历史端口信息中的端口号6为新关闭 端口号,然后将历史端口信息的指针指向下一位,得到图11f。
图11f中,两个指针的端口号为8,则端口号8不是新开放端口号,也不是新关闭端口号。 由于两个指针均已指向最后一位,因此结束对表1的比较过程。
第二控制调度215得到新开放端口信息和新关闭端口信息后,将第二控制器中对应新开放端口信息的第二端口开放,将第二控制器中对应新关闭端口信息的第二端口关闭,从而使得第二控制器已开放的第二端口的第一端口信息与第一端口信息一致,第二控制调度215通过外部通信网卡中监听发送至第二端口的第二TCP数据包,将第二TCP数据包数据转发至第二内部通信网卡,经第二内部通信网卡转发至第一内部通信网卡中第二端口对应的第一端口,第一端口在接收到数据后将数据返回至调用该第一端口的应用程序。或,第二控制调度215通过第二内部通信网卡中监听第一控制器发送的第一TCP数据包,将第一TCP数据包转发至外部设备。
为对第一方面中第一控制器发送第一TCP数据包到外部设备的过程进行详细说明,本申请第二方面示出一种端口控制方法的流程图,具体的,可以参见图9,所述方法应用于显示设备,显示设备包括第一控制器和第二控制器,所述方法包括以下步骤:
步骤S110:第一控制器按照预设周期采集第一控制器的已开放端口的第一端口信息,并向第二控制器发送第一端口信息。
步骤S120:第二控制器控制第二控制器的已开放端口的第二端口信息与第一端口信息一致,并监听第二端口。
步骤S110-S120为第一控制器发送第一TCP数据包到外部设备的准备步骤,为使第一控制器的第一TCP数据包发送到外部设备后,及时收到外部设备发送的响应第一TCP数据包的第二TCP 数据包,可在第一控制器发送第一TCP数据包之前,执行步骤S110-S120,使第二控制器做好接收第二TCP数据包的准备。
步骤S130:第一控制器根据第二控制器的IP地址生成第一TCP数据包,并向第二控制器发送第一TCP数据包。
当准备步骤S110-S120执行完毕后,第一控制器的应用程序需要与外部设备进行TCP通信时,为使外部设备对第一控制器的响应数据包能够发送至第一控制器,第一控制器的应用程序可通过欺骗IP的方式,在第一TCP数据包中设置源IP地址为第二控制器的IP地址,由于第二控制器与外部设备在同一局域网内,因此,当外部设备在接收到第一TCP数据包后,可根据该第一TCP 数据包中的源IP地址,将响应数据包发送至第二控制器,第二控制器再将该响应数据包转发至第一控制器的应用程序即可实现第一控制器的应用程序与外部设备的TCP通信。
在显示设备中,应用程序获取IP地址的途径包括Android Framework接口获取IP、Android OpenJDK接口获取IP和ioctl***调用接口获取IP这三种方式,但是,应用程序通过这三种方式获取的IP均为本***的IP,即第一控制器的应用程序如果通过上述三种方式获取到的IP地址为第一控制器的IP地址,为使第一控制器的应用程序获取到第二控制器的IP地址,本申请提供了一种欺骗IP的方法,其原理如下:
第二控制器在每次网络连接或断开时都会发送一个包含本***IP地址的广播,第二控制器的transtonov服务会接收到该广播,将广播中的IP地址提取出来,放入到本申请预设的 connectivity_change_from_n广播中,该广播通过hirpc通信架构发送到第一控制器;第一控制器的hibaseservice服务接收到hirpc通信架构的信息后,在第一控制器的***中发送 connectivity_change_from_n广播;第一控制器的connectivityservice服务在接收到 connectivity_change_from_n广播后会更改android接口、jdk接口以及ioctl***调用接口的返回值为从connectivity_change_from_n广播中获取的第二控制器的IP地址,从而第一控制器的应用程序在调用android接口、jdk接口以及ioctl***调用接口中的任意一种接口时,获取到的IP地址均为第二控制器的IP地址。
当然,上述介绍仅为第一控制器的应用程序获取第二控制器的IP地址的一种示例方式,本领域技术人员还可采取其他自定义方式使第一控制器的应用程序获取到第二控制器的IP地址。
第一控制器的应用程序生成的第一TCP数据包,源地址为第二控制器的IP地址,目的地址为外部设备的IP地址,第一TCP数据包还包括第一内部通信网卡中为该应用程序分配的且已开放的第一端口的端口号。通过上述第一端口将第一TCP数据包发送至第一内部通信网卡,第一内部通信网卡将第一TCP数据包转发至第二内部通信网卡。
步骤S140:第二控制器根据第一TCP数据包的目的地址为外部设备的IP地址,向外部设备发送第一TCP数据包。
第二控制器的第二控制调度通过第二内部通信网卡接收到第一TCP数据包后,根据其目的地址为外部设备的IP地址,将第一TCP数据包转发至外部设备所在的路由中,最终到达外部设备,从而实现从第一控制器到外部设备方向的TCP通信。
为对从外部设备到第一控制器方向的通信过程进行说明,本申请第三方面示出了另一种端口控制方法的流程图,具体的,可以参见图9,所述方法应用于显示设备,显示设备包括第一控制器和第二控制器,所述方法包括以下步骤:
步骤S210:第一控制器按照预设周期采集第一控制器的已开放端口的第一端口信息,并向第二控制器发送第一端口信息。
步骤S220:第二控制器控制第二控制器的已开放端口的第二端口信息与第一端口信息一致,并监听第二端口。
步骤S210-S220为接收外部设备发送第二TCP数据包之前的准备步骤,为保障成功接收到外部设备发送的第二TCP数据包,需要提前对接收第二TCP数据包的第二端口进行监听,执行步骤 S110-S120之后,可将需要接收第二TCP数据包的第二端口开放并监听。
步骤S230:第二控制器向第一控制器发送第二端口接收的第二TCP数据包。
第一控制器的应用程序通过欺骗IP的方式向外部设备发送了包含第二控制器IP地址和第一端口号的第一TCP数据包后,外部设备可根据第一TCP数据包生成响应数据包,该响应数据包记为第二TCP数据包,外部设备设置第二TCP数据包的目的地址为第二控制器的IP地址,并附上目的端口为第一端口,外部设备将第二TCP数据包发送至第二控制器外部通信网卡的第二端口。
第二控制器的第二控制调度将第二端口接收到的第二TCP数据包转发至第二内部通信网卡,第二内部通信网卡将再通过该第二端口将第二TCP数据包转发至第一控制器。
步骤S240:第一控制器根据第二TCP数据包中目的端口的端口号,向与端口号对应的第一端口发送第二TCP数据包。
第一控制器的第一内部通信网卡接收到第二TCP数据包后,获取第二TCP数据包中目的端口的端口号,向与端口号对应的第一端口发送第二TCP数据包,调用该第一端口的应用程序可从第一端口获取该第二TCP数据包,从而实现从外部设备到第一控制器方向的TCP通信。
第四方面,本申请示出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现第二方面或第三方面所述的设备发现方法。
由上述实施例可见,本申请通过设置第一控制器上的应用获取第二控制器的IP地址,生成源地址为第二控制器IP地址,目的地址为外部设备IP地址的第一TCP数据包,再将第一TCP数据包发送到第二控制器,使第二控制器根据第一TCP数据包的目的地址为外部设备的IP地址,将第一TCP数据包发送到外部设备,解决了第一控制器的IP地址和外部设备的IP地址不能建立连接的问题,实现了第一控制器上的应用与外部设备进行通信;进一步的,第二控制器根据第一控制器第一端口信息来控制开关第二控制器的端口,不仅能够保障外部设备与第一控制器的通信,还能释放与第一控制器没有连接需求的端口,减小端口资源占用。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行更改,或者对其中部分或者全部技术特征进行等同替换;而这些更改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (7)
1.一种显示设备,其特征在于,包括:第一控制器与第二控制器,
所述第一控制器被配置为,按照预设周期采集所述第一控制器的已开放端口的第一端口信息;向第二控制器发送所述第一端口信息;
所述第二控制器被配置为,控制所述第二控制器的已开放端口的第二端口信息与所述第一端口信息一致;监听所述第二端口;
所述第二控制器还被配置为,通过外部通信网卡的所述第二端口接收第二TCP数据包;向第二内部通信网卡发送所述第二TCP数据包;通过第二内部通信网卡向所述第一控制器发送所述第二TCP数据包;
所述第一控制器还被配置为,通过第一内部通信网卡接收所述第二TCP数据包;获取所述第二TCP数据包中目的端口的端口号;向与所述端口号对应的第一端口发送所述第二TCP数据包。
2.根据权利要求1所述的显示设备,其特征在于,所述第一控制器设置有第一控制调度,所述第一控制调度被配置为,按照预设周期采集所述第一控制器的已开放端口的第一端口信息;判断所述第一端口信息与上一个预设周期的历史端口信息是否相同;如果所述第一端口信息与历史端口信息不同,向所述第二控制器发送所述第一端口信息。
3.根据权利要求1所述的显示设备,其特征在于,所述第二控制器设置有第二控制调度,所述第二控制调度被配置为,将所述第一端口信息与上一个预设周期的历史端口信息进行比较,得到新开放端口信息和新关闭端口信息,将所述第二控制器中对应所述新开放端口信息的第二端口开放,将所述第二控制器中对应所述新关闭端口信息的第二端口关闭。
4.根据权利要求1所述的显示设备,其特征在于,所述第一控制器设置有第一控制调度,所述第一控制调度被配置为,控制所述第一内部通信网卡的第一端口信息发送端口和第二内部通信网卡的第一端口信息接收端口建立连接;通过所述第一端口信息发送端口向所述第一端口信息接收端口发送所述第一控制器已开放的第一端口信息。
5.根据权利要求4所述的显示设备,其特征在于,所述第二控制器设置有第二控制调度,所述第二控制调度被配置为,创建套接字来监听所述第一端口信息接收端口。
6.一种端口控制方法,其特征在于,所述方法应用于显示设备,所述显示设备包括第一控制器和第二控制器,所述方法包括:
所述第一控制器按照预设周期采集所述第一控制器的已开放端口的第一端口信息,并向第二控制器发送所述第一端口信息;
所述第二控制器控制所述第二控制器的已开放端口的第二端口信息与所述第一端口信息一致,并监听所述第二端口;
所述第二控制器向所述第一控制器发送所述第二端口接收的第二TCP数据包;
所述第一控制器根据所述第二TCP数据包中目的端口的端口号,向与所述端口号对应的第一端口发送所述第二TCP数据包。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现权利要求6所述的端口控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911304856.7A CN112995113B (zh) | 2019-12-17 | 2019-12-17 | 一种显示设备、端口控制方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911304856.7A CN112995113B (zh) | 2019-12-17 | 2019-12-17 | 一种显示设备、端口控制方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995113A CN112995113A (zh) | 2021-06-18 |
CN112995113B true CN112995113B (zh) | 2022-06-14 |
Family
ID=76343625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911304856.7A Active CN112995113B (zh) | 2019-12-17 | 2019-12-17 | 一种显示设备、端口控制方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995113B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022973A (zh) * | 2014-06-18 | 2014-09-03 | 福建星网锐捷网络有限公司 | 报文转发方法、交换模块、防火墙卡和交换机 |
CN107743075A (zh) * | 2017-10-23 | 2018-02-27 | 广州视源电子科技股份有限公司 | 一种多***网络互联设备、方法及装置 |
CN108667952A (zh) * | 2018-04-25 | 2018-10-16 | 广州视源电子科技股份有限公司 | 通信设备和智能终端 |
CN108777722A (zh) * | 2018-04-25 | 2018-11-09 | 广州视源电子科技股份有限公司 | 多***组网通信方法、装置、移动终端及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101829830B1 (ko) * | 2010-11-16 | 2018-02-19 | 엘지전자 주식회사 | 영상표시기기에서 부팅 시퀀스 조정 방법 및 그에 따른 영상표시기기 |
JP5198651B1 (ja) * | 2011-12-22 | 2013-05-15 | 株式会社東芝 | 信号処理装置及び信号処理方法 |
-
2019
- 2019-12-17 CN CN201911304856.7A patent/CN112995113B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022973A (zh) * | 2014-06-18 | 2014-09-03 | 福建星网锐捷网络有限公司 | 报文转发方法、交换模块、防火墙卡和交换机 |
CN107743075A (zh) * | 2017-10-23 | 2018-02-27 | 广州视源电子科技股份有限公司 | 一种多***网络互联设备、方法及装置 |
CN108667952A (zh) * | 2018-04-25 | 2018-10-16 | 广州视源电子科技股份有限公司 | 通信设备和智能终端 |
CN108777722A (zh) * | 2018-04-25 | 2018-11-09 | 广州视源电子科技股份有限公司 | 多***组网通信方法、装置、移动终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112995113A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073788A (zh) | 视频数据处理方法、装置及显示设备 | |
CN112073662A (zh) | 一种显示设备 | |
CN112073778A (zh) | 显示设备及按键传递的容错方法 | |
CN111385631B (zh) | 一种显示设备、通信方法及存储介质 | |
CN112995733B (zh) | 一种显示设备、设备发现方法及存储介质 | |
CN112463267B (zh) | 在显示设备屏幕上呈现屏保信息的方法及显示设备 | |
CN112073769A (zh) | 显示设备及应用共同显示的方法 | |
CN112073789A (zh) | 一种声音处理法及显示设备 | |
CN112073777B (zh) | 一种语音交互方法及显示设备 | |
CN112073666B (zh) | 一种显示设备的电源控制方法及显示设备 | |
CN112073812B (zh) | 一种智能电视上的应用管理方法及显示设备 | |
CN112073759B (zh) | 双***之间通信方式的选取及调度方法、装置及显示设备 | |
CN112399071B (zh) | 一种摄像头马达的控制方法、装置及显示设备 | |
CN112995113B (zh) | 一种显示设备、端口控制方法及存储介质 | |
CN112073808A (zh) | 一种色彩空间切换方法及显示装置 | |
CN112073773A (zh) | 一种屏幕互动方法、装置及显示设备 | |
CN112073776A (zh) | 语音控制方法及显示设备 | |
CN112071338A (zh) | 一种录音控制方法、装置和显示设备 | |
CN112073803A (zh) | 一种声音再现方法及显示设备 | |
CN112073816A (zh) | 双***usb升级方法、装置及显示设备 | |
CN112073356A (zh) | 一种数据传输方法及显示设备 | |
CN112073811B (zh) | 一种文件传输调度方法及显示设备 | |
CN112073779B (zh) | 显示设备及按键传递的容错方法 | |
CN112399223B (zh) | 一种改善莫尔条纹现象的方法及显示设备 | |
CN112073772B (zh) | 基于双***的按键无缝传递方法及显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |