CN111314414B - 数据传输方法、装置及系统 - Google Patents
数据传输方法、装置及系统 Download PDFInfo
- Publication number
- CN111314414B CN111314414B CN201911305080.0A CN201911305080A CN111314414B CN 111314414 B CN111314414 B CN 111314414B CN 201911305080 A CN201911305080 A CN 201911305080A CN 111314414 B CN111314414 B CN 111314414B
- Authority
- CN
- China
- Prior art keywords
- terminal
- data
- request
- server
- response
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种数据传输方法、装置及系统,属于通信技术领域。所述方法包括:接收第一终端发送的用于请求第一数据的第一请求;基于第一请求向第一终端发送第一响应,第一响应用于指示第一终端从第三方设备获取第一数据;若在发送第一响应后的预设时间内,接收到第一终端发送的用于请求第一数据的第二请求;则基于第二请求向第一终端发送第二响应,第二响应用于指示第一终端从服务器获取第一数据。本申请解决了旧型终端向服务器发送数据请求后无法获取数据的问题。本申请用于数据传输。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输方法、装置及系统。
背景技术
随着通信技术的发展,对于终端与服务器进行数据传输的效果的要求越来越高。
终端可以与服务器基于超文本传输协议(Hyper Text Transport Protocol,HTTP)进行数据传输。目前为了降低服务器的负载压力,在终端向服务器发出数据请求后,服务器可以向终端发送目标状态码,以指示终端从第三方设备获取数据。
通常出厂时间较晚的新型终端可以支持从第三方设备获取数据;但是,也存在部分出厂时间较早的旧型终端仅支持从服务器直接获取数据,而不支持从第三方设备获取数据。因此,旧型终端向服务器发送数据请求后无法获取到数据。
发明内容
本申请提供了一种数据传输方法、装置及系统,可以解决旧型终端向服务器发送数据请求后无法获取数据的问题。所述技术方案如下:
一方面,提供了一种数据传输方法,所述方法包括:
接收第一终端发送的用于请求第一数据的第一请求;
基于所述第一请求向所述第一终端发送第一响应,所述第一响应用于指示所述第一终端从第三方设备获取所述第一数据;
若在发送第一响应后的预设时间内,接收到所述第一终端发送的用于请求所述第一数据的第二请求;则基于所述第二请求向所述第一终端发送第二响应,所述第二响应用于指示所述第一终端从所述服务器获取所述第一数据。
另一方面,提供了一种数据传输装置,所述数据传输装置包括:
第一接收模块,用于接收第一终端发送的用于请求第一数据的第一请求;
第一发送模块,用于基于所述第一请求向所述第一终端发送第一响应,所述第一响应用于指示所述第一终端从第三方设备获取所述第一数据;
第二发送模块,用于在发送所述第一响应后的预设时间内,接收到所述第一终端发送的用于所述第一数据的第二请求时,基于所述第二请求向所述第一终端发送第二响应,所述第二响应用于指示所述第一终端从所述服务器获取所述第一数据。
再一方面,提供了一种数据传输系统,所述系统包括:终端、服务器以及第三方设备,所述服务器包括上述数据传输装置。
本申请提供的技术方案带来的有益效果至少包括:
服务器在接收到第一终端发送的用于请求第一数据的第一请求后,可以指示第一终端从第三方设备获取第一数据;在发送第一响应后的预设时间内再接收到第一终端发送的用于请求的第一数据的第二请求,则指示第一终端从该服务器获取第一数据。由于服务器向第一终端发送第一响应后的预设时间内接收到第二请求时,服务器可以确定第一终端为无法从第三方设备获取第一数据的终端,进而服务器指示第一终端直接从该服务器获取第一数据,保证了终端对于第一数据的成功获取。
附图说明
图1是本申请实施例提供的一种数据传输系统的结构示意图;
图2是本申请实施例提供的一种终端的硬件配置框图;
图3是本申请实施例提供的一种终端功能配置示意图;
图4是本申请实施例提供的一种终端中软件系统的配置框图;
图5是本申请实施例提供的一种服务器的结构示意图;
图6是本申请实施例提供的一种数据传输方法的流程图;
图7是本申请实施例提供的另一种数据传输方法的流程图;
图8是本申请实施例提供的一种数据传输装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种数据传输系统的结构示意图。如图1所示,该系统10可以包括服务器101、终端102以及第三方设备103,该服务器101、终端102和第三方设备103均可以通信连接。该第三方设备103可以为与服务器101相互独立的服务器。可选地,该第三方设备103可以属于内容分发网络(Content Delivery Network,CDN)。可选地,服务器101、终端102以及第三方设备103两两之间均可以通过有线网络或者无线网络连接,其中,有线网络可以包括但不限于:通用串行总线(英文:Universal Serial Bus;简称:USB),无线网络可以包括但不限于:无线保真(英文:Wireless Fidelity;简称:WIFI)、蓝牙、红外、紫蜂(英文:Zigbee)和数据网络等。
需要说明的是,本申请实施例中的服务器101与第三方设备103中的每个设备可以为一个服务器,或者也可以为多个服务器组成的服务器集群。终端102可以为电视终端,如网络电视、智能电视或者互联网电视;也可以为智能手机、平板电脑、计算机、笔记本电脑或者可以与服务器进行数据传输的其他电子设备,本申请实施例对此不做限定。终端102可以为液晶显示器、OLED显示器和投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,终端102可以根据需要做性能和配置上一些改变。图1仅示出了系统10中的一个终端102,可选地,系统10可以包括多个终端,如3和,5个甚至更多。
终端102与服务器101通常可以基于HTTP进行数据传输。终端102会向服务器101发送请求,服务器101会基于该请求返回响应,且服务器101向终端102返回的响应会携带HTTP状态码,该HTTP状态码用于指示服务器101对该请求的响应状态。例如,当HTTP状态码为200时,HTTP状态码指示请求已成功,且终端102请求的数据与该HTTP状态码一同返回终端102。当HTTP状态码为302时,指示由第三方设备提供终端102请求的数据,此种情况下第三方设备可以分担服务器的负载压力。
目前市场上存在的大部分终端可以进行升级,以同时支持直接从服务器获取数据,以及根据服务器的响应从第三方设备获取数据。但是还存在部分出厂时间较早的旧型终端,或者安装有旧型应用程序的终端,这些终端无法进行升级,故无法对携带有HTTP状态码302的响应进行解析,进而无法从第三方设备获取数据。服务器通常通过一个传输接口接收终端发送的请求,服务器无法确定发送请求的终端是否能够支持从第三方设备获取数据,故服务器可能会向旧型设备发送携带有HTTP状态码302的响应,如此便会导致终端的请求发生失败,终端的请求发生失败也即是终端在发送该请求后未获取到所请求的数据。此时终端会向服务器重新发送请求,但是服务器可能会继续向终端发送携带有HTTP状态码302的响应,进而导致终端始终无法获取到请求的数据,且服务器由于持续响应该终端的这一请求会导致服务器发生故障。
本申请实施例中的服务器101可以确定发送请求的终端102是否为旧型终端,进而向旧型终端直接返回该旧型终端请求的数据,保证旧型终端能够成功获取到数据。
图2是本申请实施例提供的一种终端的硬件配置框图。如图2中示出,终端102中包括控制器210、调谐解调器220、通信接口230、检测器240、输入\输出接口250、视频处理器2601,音频处理器602,显示器280,音频输出270、存储器290,供电电源、红外接收器。
显示器280,用于接收源自视频处理器2601输入的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。显示器280包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
同时,显示器280,同时显示终端102中产生且用于控制终端102的用户操控UI界面。
以及,根据显示器280类型不同,还包括用于驱动显示的驱动组件。或者,倘若显示器280为一种投影显示器,还可以包括一种投影装置和投影屏幕。
通信接口230是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信接口230可以是Wifi芯片231,蓝牙通信协议芯片232,有线以太网通信协议芯片233等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器(图中未示出)。
终端102可以通过通信接口230与外部控制设备或内容提供设备之间建立控制信号和数据信号发送和接收。以及,红外接收器可用于接收控制装置或遥控器(如:红外遥控器等)红外控制信号的接口器。
检测器240,是终端102用于采集外部环境或与外部交互的信号。检测器240包括光接收器242,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
以及包括图像采集器241,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
在其他一些示例性实施例中,检测器240还可包括温度传感器等,如通过感测环境温度,终端102可自适应调整图像的显示色温。如当温度偏高的环境时,可调整终端102显示图像色温偏冷色调,或当温度偏低的环境时,可以调整终端102显示图像偏暖色调。
在其他一些示例性实施例中,检测器240还可包括声音采集器等,如麦克风,可以用于接收用户的声音,包括用户控制终端102的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,终端102可以自适应适应环境噪声。
在其他一些示例性实施例中,检测器240还可包括触摸板和按键等。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令的输入,保证用户与终端的交互。
输入/输出接口250,在控制器210的控制下终端102与外部其他设备间数据传输。如接收外部设备的视频信号和音频信号、或命令指令等数据。
其中,输入/输出接口250可以包括,但不限于如下:可以高清多媒体接口HDMI接口251、模拟或数据高清分量输入接口253、复合视频输入接口252、USB输入接口254、RGB端口(图中未示出)等任一个或多个接口。
在其他一些示例性实施例中,输入/输出接口250也可以上述多个接口形成复合性的输入/输出接口。
调谐解调器220,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多个无线或有线广播电视信号中解调出用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
调谐解调器220,可根据用户选择,以及由控制器210控制,响应用户选择的电视信号频率以及该频率所携带的电视信号。
调谐解调器220,可以接收信号的途径,根据电视信号广播制式不同,有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播信号等;以及根据调制类型不同,可以数字调制,也可以模拟调制方式。根据接收电视信号种类不同,可以模拟信号和数字信号。
在其他一些示例性实施例中,调谐解调器220也可设置在外置设备中,如外置机顶盒等。这样,机顶盒通过调制解调后输出电视音视频信号,经过输入/输出接口250输入终端102中。
视频处理器2601,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可终端102上显示或播放的信号。
示例的,视频处理器2601,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
音频处理器2602,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在其他一些示例性实施例中,视频处理器2601可以包括一颗或多颗芯片组成。音频处理器2602,也可以包括一颗或多颗芯片组成。
以及,在其他一些示例性实施例中,视频处理器2601和音频处理器2602,可以单独的芯片,也可以于控制器210一起集成在一颗或多颗芯片中。
音频输出272,在控制器210的控制下接收音频处理器2602输出的声音信号,如:扬声器272,以及除了终端102自身携带的扬声器272之外,可以输出至外接设备的发生装置的外接音响输出端子274,如:外接音响接口或耳机接口等。
供电电源,在控制器210控制下,将外部电源输入的电力为终端102提供电源供电支持。供电电源可以包括安装终端102内部的内置电源电路,也可以是安装在终端102外部电源,在终端102中提供外接电源的电源接口。
用户输入接口,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器210。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
示例的,用户通过遥控器或控制装置输入用户命令,用户输入接口则根据用户的输入,终端102则通过控制器210响应用户的输入。
在一些实施例中,用户可在显示器280上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
控制器210,通过存储在存储器290上中各种软件控制程序,来控制终端102的工作和响应用户的操作。
如图2所示,控制器210包括随机存取存储器(Random Access Memory,RAM)213和只读存储器(Read-Only Memory,ROM)214以及图形处理器216、中央处理器(centralprocessing unit,CPU)处理器212、通信接口218,如:第一接口2181到第n接口218n,以及通信总线。其中,RAM213和ROM214以及图形处理器216、CPU处理器212、通信接口218通过总线相连接。
RAM213,用于存储各种系统启动的指令。如在收到开机信号时,终端102电源开始启动,CPU处理器212运行ROM中系统启动指令,将存储在存储器290的操作系统拷贝至RAM213中,以使开始运行启动操作系统。当操作系统启动完成后,CPU处理器212再将存储器290中各种应用程序拷贝至RAM213中,然后,开始运行启动各种应用程序。
图形处理器216,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器280上。
CPU处理器212,用于执行存储在存储器290中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器212,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在预加电模式中执行终端102一些操作,和/或在正常模式下显示画面的操作。多个或一个子处理器,用于在待机模式等状态下一种操作。
控制器210可以控制显示设备的整体操作。例如:响应于接收到用于选择在显示器280上显示UI对象的用户命令,控制器210便可以执行与由用户命令选择的对象有关的操作。
其中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到终端102的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
存储器290,包括存储用于驱动终端102的各种软件模块。如:存储器290中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。
其中,基础模块用于终端102中各个硬件之间的信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如:语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器280进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。
同时,存储器290还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3是本申请实施例提供的一种终端功能配置示意图。如图3所示,存储器290用于存储操作系统、应用程序、内容和用户数据等,在控制器210控制下执行驱动终端102的系统运行以及响应用户的各种操作。存储器290可以包括易失性和/或非易失性存储器。
存储器290,具体用于存储驱动终端102中控制器210的运行程序,以及存储终端102内置各种应用程序,以及用户从外部设备下载的各种应用程序、以及与应用相关各种图形用户界面,以及与图形用户界面相关的各种对象,用户数据信息,以及各种支持应用的内部数据。存储器290用于存储OS内核、中间件和应用等系统软件,以及存储输入的视频数据和音频数据、及其他用户数据。
存储器290,具体用于存储音视频处理器2601和2602、显示器280、通信接口230、调谐解调器220、检测器240输入/输出接口等驱动程序和相关数据。
在一些实施例中,存储器290可以存储软件和/或程序,用于表示操作系统(OS)的软件程序包括,例如:内核、中间件、应用编程接口(API)和/或应用程序。示例性的,内核可控制或管理系统资源,或其它程序所实施的功能(如所述中间件、API或应用程序),以及内核可以提供接口,以允许中间件和API,或应用访问控制器,以实现控制或管理系统资源。
示例的,存储器290,包括广播接收模块2901、频道控制模块2902、音量控制模块2903、图像控制模块2904、显示控制模块2905、音频控制模块2906、外部指令识别模块2907、通信控制模块2908、光接收模块2909、电力控制模块2910、操作系统2911、以及其他应用程序2912、浏览器模块等等。控制器210通过运行存储器290中各种软件程序,来执行诸如:广播电视信号接收解调功能、电视频道选择控制功能、音量选择控制功能、图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等其他应用。
图4是本申请实施例提供的一种终端中软件系统的配置框图。如图4所示,操作系统2911,包括用于处理各种基础系统服务和用于实施硬件相关任务的执行操作软件,充当应用程序和硬件组件之间完成的数据处理的媒介。一些实施例中,部分操作系统内核可以包含一系列软件,用以管理显示设备硬件资源,并为其他程序或软件代码提供服务。
其他一些实施例中,部分操作系统内核可包含一个或多个设备驱动器,设备驱动器可以是操作系统中的一组软件代码,帮助操作或控制显示设备关联的设备或硬件。驱动器可以包含操作视频、音频和/或其他多媒体组件的代码。示例的,包括显示屏、摄像头、Flash、WiFi和音频驱动器。
其中,可访问性模块29111,用于修改或访问应用程序,以实现应用程序的可访问性和对其显示内容的可操作性。
通信模块29112,用于经由相关通信接口和通信网络与其他外设的连接。
用户界面模块29113,用于提供显示用户界面的对象,以供各应用程序可访问,可实现用户可操作性。
控制应用程序29114,用于可控制进程管理,包括运行时间应用程序等。
事件传输系统2914,可在操作系统2911内或应用程序2912中实现,以一些实施例中,一方面在在操作系统2911内实现,同时在应用程序2912中实现,用于监听各种用户输入事件,将根据各种事件指代响应各类事件或子事件的识别结果,而实施一组或多组预定义的操作的处理程序。
其中,事件监听模块29141,用于监听用户输入接口输入事件或子事件。
事件识别模块29141,用于对各种用户输入接口输入各类事件的定义,识别出各种事件或子事件,且将其传输给处理用以执行其相应一组或多组的处理程序。
其中,事件或子事件,是指终端102中一个或多个传感器检测的输入,以及外界控制设备(如控制装置或遥控器等)的输入。如:语音输入各种子事件,手势识别的手势输入,以及遥控器的物理按键指令输入的子事件等。示例的,遥控器中一个或多个子事件包括多种形式,包括但不限于按键按上/下/左/右/、确定键、按键按住等中一个或组合。以及控制装置中的虚拟按键(也即非实体按键)的操作,如移动、按住、释放等操作。
界面布局管理器2913,直接或间接接收来自于事件传输系统2914监听到各用户输入事件或子事件,用于更新用户界面的布局,包括但不限于界面中各控件或子控件的位置,以及容器的大小或位置、层级等与界面布局相关各种执行操作。
图5是本申请实施例提供的一种服务器的结构示意图。所述服务器101包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。所述服务器101还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
所述基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中所述显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。所述基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。所述大容量存储设备507及其相关联的计算机可读介质为服务器101提供非易失性存储。也就是说,所述大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
根据本申请的各种实施例,所述服务器101还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器101可以通过连接在所述系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器501执行该一个或一个以上程序。
图6是本申请实施例提供的一种数据传输方法的流程图。该数据传输方法可以用于图1所示的系统中的服务器101,或者也可以用于图5所示的服务器101。如图6所示,该方法可以包括:
步骤601、接收第一终端发送的用于请求第一数据的第一请求。
步骤602、基于第一请求向第一终端发送第一响应,该第一响应用于指示第一终端从第三方设备获取第一数据。
步骤603、若在发送第一响应后的预设时间内,接收到第一终端发送的用于请求第一数据的第二请求,则基于第二请求向第一终端发送第二响应,第二响应用于指示第一终端从服务器获取第一数据。
综上所述,本申请实施例中服务器服务器在接收到第一终端发送的用于请求第一数据的第一请求后,可以指示第一终端从第三方设备获取第一数据;在发送第一响应后的预设时间内再接收到第一终端发送的用于请求的第一数据的第二请求,则指示第一终端从该服务器获取第一数据。由于服务器向第一终端发送第一响应后的预设时间内接收到第二请求时,服务器可以确定第一终端为无法从第三方设备获取第一数据的终端,进而服务器指示第一终端直接从该服务器获取第一数据,保证了终端对于第一数据的成功获取。
图7是本申请实施例提供的另一种数据传输方法的流程图,该数据传输方法可以用于图1所示的数据传输系统10。如图7所示,该方法可以包括:
步骤701、在每个记录周期对应的终端集合中记录:该每个记录周期内接收到的用于请求第一数据的请求对应的终端。
服务器在每接收到一个用于请求第一数据的请求时,均可以记录发送该请求的终端,且可以将该终端记录在接收该请求的时刻所在的记录周期对应的终端集合中。可选地,每个记录周期对应有时间指示码,且不同记录周期对应的时间指示码不同。可选地,一个记录周期对应的终端集合中记录的各个终端可以均不同,当一个记录周期对应的终端集合中记录有某终端时,若在该记录周期内服务器再次接收到该终端发送的用于请求第一数据的请求,则服务器可以不对该终端集合进行更改。需要说明的是,记录周期对应的终端集合可以为空集合也可以为非空集合。
示例地,首先,服务器在接收到用于请求第一数据的任一请求时,服务器可以确定接收该任一请求的目标时刻的Unix时间戳。需要说明的是,Unix时间戳指格林威治时间(Greenwich Mean Time,GMT)或协调世界时(Coordinated Universal Time,UTC)1970年01月01日00时00分00秒开始至当前时刻所经过的秒数。接着,服务器可以根据该目标时刻的Unix时间戳确定该目标时刻所在的记录周期。例如,服务器可以计算该目标时刻的Unix时间戳对应的时间指示码表示向上取整,T0表示该目标时刻的Unix时间戳,t0表示记录周期的长度。进而,服务器可以将该时间指示码对应的记录周期确定为该目标时刻所在的记录周期。该时间指示码对应的记录周期中,任一时刻的Unix时间戳对应的时间指示码均为该时间指示码。之后,服务器可以在该目标时刻所在的记录周期对应的终端集合中,记录发送该任一请求的终端。
假设记录周期的长度为60秒,服务器接收到某终端发送的用于请求第一数据的请求时的目标时刻的Unix时间戳T为190秒。则服务器可以确定该目标时刻对应的时间指示码该时间指示码X对应的记录周期包括第181秒至第240秒之间的时刻。服务器可以将该终端记录在该时间指示码X对应的终端集合中。需要说明的是,本申请实施例中记录周期的长度为60秒为例。可选地,该记录周期的长度也可以为5秒,10秒或者15秒等其他数值,本申请实施例对此不做限定。
可选地,记录周期的长度可以大于或等于终端的重发周期,终端的重发周期也即是终端发送用于请求第一数据的请求的周期,也即是终端发送某请求至确定该请求失败后重新发送该请求的最大时间间隔。可选地,此处的终端可以为能够与服务器通信连接的所有终端中具有最长的重发周期的终端。示例地,终端在向服务器发送用于请求某数据的请求后,可以等待服务器的响应。若终端在发送该请求之后的重发周期内未接收到服务器的响应,或者终端无法根据接收到的响应获取终端所请求的数据,则终端可以确定该请求失败,进而终端可以在该重发周期向服务器重新发送用于请求该数据的请求。
可选地,服务器可以通过对终端的标识进行记录以实现对终端的记录,或者也可以通过对终端的任意指示信息进行记录以实现对终端的记录。示例地,终端在向服务器发送请求时通常会携带该终端的标识,服务器可以直接记录该请求携带的标识,以对发送该请求的终端进行记录。
需要说明的是,本申请实施例中仅以服务器记录请求第一数据的终端为例。可选地,针对每种数据,服务器均可以在该种数据对应的终端集合中,记录每个记录周期内请求该种数据的终端。可选地,每个终端集合可以具有指示该终端集合对应的数据的指示信息,服务器可以根据该指示信息确定将请求某种数据的终端记录在哪个终端集合中。示例地,第一数据对应的终端集合的指示信息可以为API1_X,其中API1用于指示第一数据,X为该终端集合对应的时间指示码。需要说明的是,终端可以向服务器中的不同接口发送请求,以请求该接口对应的数据,故可以通过接口的标识该指示终端请求的数据。例如,第一数据对应的接口的标识为API1。对于其他数据对应的终端集合,仅需将指示信息中用于指示数据的部分“API1”进行调整即可。
步骤702、第一终端向服务器发送用于请求第一数据的第一请求。执行步骤703。
其中,第一请求携带第一终端的标识,以便于服务器根据该第一终端的标识向第一终端返回响应。该第一终端的标识可以为第一终端具有的唯一的标识码,或者该第一终端的标识也可以为第一终端的指示信息,或者也可以为其他形式的标识。
可选地,该第一请求还可以携带第一数据的指示信息,以指示第一终端所需获取的数据为该第一数据。该第一数据的指示信息可以为第一数据的存储位置信息,如该存储位置的统一资源定位符(Uniform Resoure Locator,URL);或者该第一数据的指示信息也可以为对于第一数据的描述信息;或者也可以为其他形式的指示信息。
示例地,第一终端可以为电视终端,第一数据可以为待播放视频的视频数据。第一终端在需要播放待播放视频时,可以向服务器发送第一请求,以请求从服务器获取第一数据。且该第一请求可以携带第一终端的标识码(也即是第一终端的标识),以及待播放视频所在的网址(也即是第一数据的指示信息)。可选地,第一终端也可以为其他终端,如智能手机和计算机等终端;该第一数据也可以为其他数据,如网页数据和音频数据等。
步骤703、服务器检测其负载率是否超过负载率阈值。当服务器的负载率未超过负载率阈值时,执行步骤704;当服务器的负载率超过负载率阈值时,执行步骤705。
该负载率为服务器的负载量与服务器能够承担的总负载量的比值。其中服务器的负载是对服务器的CPU工作量的度量,负载可以用特定时间间隔内运行队列中的平均线程数表示。服务器可以根据负载率确定其工作方式。示例地,当服务器的负载率较低时,服务器的运行速度较快,此时服务器接收到的请求均可以由服务器自行处理。当服务器的负载率较高时,服务器的运行速度会变慢,此时可以通过第三方设备执行部分服务器所需执行的业务,以分担服务器的负载压力,保证服务器的正常工作。
例如,服务器在接收到第一终端发送的第一请求时,可以确定服务器当前的负载率,且将该负载率与负载率阈值进行比较。当服务器确定其负载率未超过负载率阈值时,服务器确定其负载率较低,此时服务器可以自行处理该第一请求。当服务器确定其负载率超过负载率阈值时,服务器确定其负载率较高,此时服务器确定需要通过第三方设备分担负载压力,使第三方设备处理第一终端的请求。
步骤704、服务器向第一终端发送第二响应。
其中,该第二响应可以用于指示第一终端从服务器获取第一数据。可选地,服务器可以在向第一终端发送第二响应的同时向终端发送第一数据。
可选地,该第二响应携带有HTTP状态码,该HTTP状态码可以为200。可选地,该负载率阈值可以为60%。当服务器的负载率未超过60%时,服务器的运行速度较快,服务器可以直接处理第一终端发送的第一请求,进而直接将第二响应以及第一数据发送至第一终端。需要说明的是,本申请实施例中以负载率阈值为60%为例,可选地,该负载率阈值可以由工作人员自行定义,如该负载率阈值也可以为70%,或者80%,本申请实施例对此不做限定。
步骤705、服务器查询是否存在第一数据与第三方设备的标识的对应关系。当不存在第一数据与第三方设备的标识的对应关系时,执行步骤706;当存在第一数据与第三方设备的标识的对应关系时,执行步骤708。
当服务器的负载率超过负载率阈值时,服务器可以确定其负载率较高,进而可以通过第三方设备分担服务器的负载压力,以保证服务器的正常运行。且使得服务器可以仍具有可承担的负载量,保证对必须由服务器执行的请求的正常执行。
需要说明的是,当服务器中存储有该第一数据与第三方设备的标识的对应关系时,服务器可以确定第三方设备中存储有第一数据。由于当第三方设备中存储有第一数据时,第三方设备才能够向第一终端提供第一数据,故服务器可以查询是否存在第一数据与第三方设备的标识的对应关系,以确定是否存在能够向第一终端提供第一数据的第三方设备。示例地,该第三方设备的标识可以用URL表示,且该URL可以指示第一数据在该第三方设备中的存储位置。
需要说明的是,服务器可以将该对应关系存储在该服务器的存储空间中;或者也可以将该对应关系存储在其他设备中,在需要查询该对应关系时从其他设备获取。
步骤706、服务器向第三方设备发送第一数据。执行步骤707。
当服务器未查询到第一数据与第三方设备的标识的对应关系时,服务器可以确定不存在可以向第一终端提供第一数据的第三方设备。此时,服务器可以向某第三方设备发送第一数据,使得该第三方设备存储该第一数据,进而可以使该第三方设备向第一终端提供第一数据,以分担服务器的负载。
步骤707、服务器存储第一数据与第三方设备的标识的对应关系。执行步骤708。
当服务器向第三方设备发送第一数据后,服务器可以存储第一数据与第三方设备的标识的对应关系,以指示存在可以向第一终端提供第一数据的第三方设备,且该第三方设备的标识可以指示该第三方设备具体为哪个设备。
需要说明的是,当第三方设备中存储有第一数据时,服务器可以确定第三方设备满足为终端提供第一数据的条件,该条件也即是第三方设备中存储有第一数据。此时服务器可以判断第一终端是否可以支持由第三方设备提供第一数据。
本申请实施例中,第一终端在向服务器发送用于请求第一数据的请求后,可以等待服务器的响应。若服务器需要通过第三方设备分担负载压力,则服务器会向第一终端发送指示第一终端从第三方设备获取第一数据的响应。若第一终端支持由第三方设备提供第一数据,则第一终端可以直接向第三方设备发送数据请求,进而接收第三方设备根据该数据请求发送的携带有第一数据的数据响应。若第一终端不支持由第三方设备提供第一数据,则第一终端可以确定其请求第一数据失败,进而第一终端会在重发周期中向服务器重新发送用于请求第一数据的请求。因此,服务器若在大于或等于重发周期的时长中接收到两次第一终端发送的用于请求第一数据的请求,服务器就可以认为该第一终端不支持由第三方设备提供第一数据。
本申请实施例中,服务器可以通过下述步骤708确定第一终端是否支持由第三方设备提供第一数据,进而确定向第一终端提供第一数据的方式。
步骤708、服务器确定第一终端集合是否包括第一终端,该第一终端集合包括:接收第一请求的第一时刻所在的第一记录周期对应的终端集合。当第一终端集合包括第一终端时,执行步骤709;当第一终端集合不包括第一终端时,执行步骤710。
示例地,服务器可以确定接收第一请求的第一时刻,并计算第一时刻对应的第一时间指示码T1表示该第一时刻的Unix时间戳。接着服务器可以确定第一时间指示码对应的第一记录周期,并确定第一记录周期对应的终端集合,进而将该第一记录周期对应的终端集合确定为第一终端集合。之后,服务器便可以确定该第一终端集合中是否存在第一终端的标识。
可选地,记录周期的长度可以大于或等于第一终端的重发周期,也即是第一终端发送用于请求第一数据的请求的周期。本申请实施例中以该记录周期的长度等于第一终端的重发周期为例。
当第一终端集合包括第一终端时,服务器可以确定在一个记录周期中接收到了两次第一终端发送的用于请求第一数据的请求,故可以确定在一个重发周期的时长内接收到了两次第一终端发送的用于请求第一数据的请求。进而,服务器可以确定第一终端不支持由第三方设备提供第一数据。当第一终端集合不包括第一终端时,服务器无法确定第一终端是否支持由第三方设备提供第一数据。
可选地,当第一记录周期不为首个记录周期时,该第一终端集合还可以包括该第一记录周期的前n个记录周期对应的终端集合,n≥1。本申请实施例中以第一记录周期不为首个记录周期,且n=1为例。此时服务器在确定第一记录周期对应的终端集合后,还可以确定第一记录周期的前一个记录周期对应的终端集合,进而服务器可以将第一记录周期对应的终端集合以及该前一个记录周期对应的终端集合,确定为第一终端集合。之后,服务器便可以确定该第一终端集合中是否存在第一终端的标识。
示例地,假设记录周期的长度为60秒,服务器接收到第一请求时的第一时刻的Unix时间戳T1为190秒。服务器可以确定该第一时刻对应的第一时间指示码该第一时间指示码X1对应的记录周期包括第181秒至第240秒之间的时刻。服务器可以确定第一记录周期的前一个记录周期对应的时间指示码X1-1=3,该时间指示码X1-1对应的记录周期包括第121秒至第180秒之间的时刻。服务器可以将第一记录周期及其前一个记录周期对应的终端集合确定为第一终端集合。此时,由于当前时间为第190秒,故第一终端集合中仅包括第121秒至第189秒内向服务器请求第一数据的终端。服务器检测第一终端集合中是否存在第一终端,也即是确定在第121秒至第189秒内是否接收到第一终端是否向服务器请求第一数据,也即是确定第一终端在发送第一请求之前的70秒内是否还向服务器请求过第一数据。
需要说明的是,本申请实施例中以第一终端的重发周期以及记录周期的长度为60秒为例。可选地,该重发周期与记录周期的长度也可以为5秒,10秒或者15秒等其他数值,记录周期也可以大于该重发周期,本申请实施例对此不做限定。
本申请实施例中,当该第一终端集合还包括该第一记录周期的前n个记录周期对应的终端集合时,第一终端集合中至少存在第一时刻之前的一个记录周期中向服务器请求第一数据的终端。如此可以避免第一终端两次发送请求的间隔时长小于重发周期,但是两次发送请求的时刻对应不同的终端集合时,仅检测发送后一次请求的时刻对应的终端集合,导致错误判断第一终端是否支持由第三方设备提供第一数据的情况。可以保证无论第一终端在何时发送第一请求,都可以确定在此之前至少一个重发周期的时长内,服务器是否还接收到第一终端发送的用于请求第一数据的请求。进而,若第一终端在重发周期内重新发送用于请求第一数据的请求,则必然可以在第一终端集合中检测到第一终端,保证了对重新发送请求的终端的检测精准性。需要说明的是,此处某时刻对应的终端集合指的是该时刻所在的记录周期对应的终端集合。
步骤709、服务器基于第一请求向第一终端发送第二响应。
需要说明的是,步骤709可以参考步骤704,本申请实施例在此不做赘述。
步骤710、服务器基于第一请求向第一终端发送第一响应。执行步骤711。
其中,该第一响应用于指示第一终端从第三方设备获取第一数据。可选地,该第一响应携带有HTTP状态码302,该第一响应还可以携带有第三方设备的标识。
示例地,服务器可以根据存储的第一数据与第三方设备的标识的对应关系,确定第三方设备的标识,进而将携带有第三方设备的标识的第一响应发送至第一终端,以指示第一终端从该第三方设备获取第一数据。
可选地,当第一终端集合不包括第一终端时,服务器可以记录第一终端,如可以记录第一请求携带的第一终端的标识,且将该第一终端的标识记录在第一记录周期对应的终端集合中。需要说明的是,本申请实施例以服务器在确定第一终端集合不包括第一终端时,记录第一终端为例进行示意。可选地,服务器也可以在步骤702中接收到第一请求后便直接记录第一终端,本申请实施例对此不做限定。
需要说明的是,当第一终端集合不包括第一终端时,服务器无法确定第一终端是否支持由第三方设备提供第一数据。此时服务器可以向第一终端发送第一响应,以测试该第一终端是否支持由第三方设备提供第一数据。
步骤711、第一终端向服务器发送用于请求第一数据的第二请求。执行步骤712。
示例地,第一终端为旧型终端,该第一终端不支持由第三方设备提供第一数据,第一终端在接收到服务器发送的第一响应时,第一终端无法解析该第一响应,进而无法获取到第一数据。此时第一终端可以确定通过第一请求向服务器请求第一数据失败。因此,第一终端可以在预设时间内再向服务器发送用于请求第一数据的第二请求。可选地,该预设时间可以小于或等于第一终端的重发周期。
示例地,步骤711可以参考步骤702,本申请实施例在此不做赘述。
步骤712、服务器确定第二终端集合包括第一终端,并确定在发送第一响应之后的预设时间内接收到第二请求。执行步骤713。
其中,第二终端集合包括:接收该第二请求的第二时刻所在的第二记录周期对应的终端集合。示例地,服务器可以确定接收第二请求的第二时刻,并计算第二时刻对应的第二时间指示码T2表示该第二时刻的Unix时间戳。接着服务器可以确定第二时间指示码对应的第二记录周期,并确定第二记录周期对应的终端集合,进而将该第二记录周期对应的终端集合确定为第二终端集合。之后,服务器便可以确定该第二终端集合中是否存在第一终端的标识。可选地,当第二记录周期不为首个记录周期时,第二终端集合还包括:第二记录周期的前n个记录周期对应的终端集合。
第二请求为第一终端在发送第一请求以请求第一数据失败后,在预设时长内重新发送的用于请求第一数据的请求,故服务器可以确定第二终端集合中存在第一终端。该第二请求可以表征第一终端无法解析第一响应。
需要说明的是,本申请实施例中以服务器确定第二终端集合包括第一终端为例进行解释,对于第二终端集合不包括第一终端的情况可以参考步骤708的介绍,本申请实施例对此不作赘述。
步骤713、服务器基于第二请求向第一终端发送第二响应。
需要说明的是,步骤713可以参考步骤704,本申请实施例对此不做赘述。
需要说明的是,本申请实施例以上内容均以第一终端为旧型终端,不支持从第三方设备获取第一数据为例进行说明。当第一终端为新型终端,支持从第三方设备获取第一数据时,在上述步骤710之后可以第一终端可以向第三方设备发送用于请求第一数据的第三请求,继而第三方设备可以根据第三请求向第一终端发送第一数据。
可选地,本申请实施例中服务器可以在每个删除周期,删除至少一个记录周期对应的终端集合。其中,该删除周期大于或等于记录周期,该至少一个记录周期位于当前时刻所在的记录周期之前的n个记录周期之前。
需要说明的是,本申请实施例中,确定终端是否支持由第三方设备提供第一数据时,服务器所需的终端集合仅为当前时刻所在的记录周期对应的终端集合,以及当前时刻所在的记录周期之前的n个记录周期对应的终端集合。因此,仅需保存这些所需的终端集合即可,对于该n个记录周期之前的记录周期对应的终端集合可以均删除。示例地,删除周期等于记录周期时,可以在每生成一个新的终端集合后,便删除已经存在的终端集合中不需要的终端集合,避免对服务器的存储空间的浪费。
需要说明的是,相关技术中服务器可以仅向终端返回HTTP状态码200,同时向终端直接返回终端所请求的数据。此时,服务器无法通过第三方设备分担负载压力进而服务器的运行速度较慢。另一相关技术中,服务器中设置有两套用于处理终端的请求的接口,且通过其中一套接口响应新型终端的请求,另一套接口响应旧型终端的请求;也即是服务器针对新型终端的请求与旧型终端的请求分别通过两种不同的处理方式进行处理。此时服务器的工作复杂度较高。
而本申请实施例中,服务器可以通过一套接口对所有终端进行响应,也即是无论是新型终端还是旧型终端向服务器发送请求,服务器均可以通过上述方法对终端进行响应,因此降低了服务器的工作复杂度。且服务器在负载率未超过负载率阈值的情况下,可以直接向终端返回请求的数据。在服务器的负载率达到负载率阈值时,可以通过第三方设备分担负载压力,且可以检测终端是否能够从第三方设备获取数据。并在终端不支持从第三方设备获取数据时,利用服务器的剩余能力直接向该终端提供数据。由于服务器能够通过第三方设备分担负载压力,故可以提高服务器的运行速度,保证服务器的工作性能。
综上所述,本申请实施例中服务器在接收到第一终端发送的用于请求第一数据的第一请求后,可以指示第一终端从第三方设备获取第一数据;在发送第一响应后的预设时间内再接收到第一终端发送的用于请求的第一数据的第二请求,则指示第一终端从该服务器获取第一数据。由于服务器向第一终端发送第一响应后的预设时间内接收到第二请求时,服务器可以确定第一终端为无法从第三方设备获取第一数据的终端,进而服务器指示第一终端直接从该服务器获取第一数据,保证了终端对于第一数据的成功获取。
图8是本申请实施例提供的一种数据传输装置的结构示意图,该数据传输装置可以为图1或图5所示的服务器101。如图5所示,该数据传输装置101可以包括:
第一接收模块1011,用于接收第一终端发送的用于请求第一数据的第一请求。
第一发送模块1012,用于基于第一请求向第一终端发送第一响应,第一响应用于指示第一终端从第三方设备获取第一数据。
第二发送模块1013,用于在发送第一响应后的预设时间内,接收到第一终端发送的用于第一数据的第二请求时,基于第二请求向第一终端发送第二响应,第二响应用于指示第一终端从服务器获取第一数据。
综上所述,本申请实施例中数据传输装置在接收到第一终端发送的用于请求第一数据的第一请求后,可以指示第一终端从第三方设备获取第一数据;在发送第一响应后的预设时间内再接收到第一终端发送的用于请求的第一数据的第二请求,则指示第一终端从该数据传输装置获取第一数据。由于数据传输装置向第一终端发送第一响应后的预设时间内接收到第二请求时,数据传输装置可以确定第一终端为无法从第三方设备获取第一数据的终端,进而数据传输装置指示第一终端直接从数据传输装置获取第一数据,保证了终端对于第一数据的成功获取。
可选地,数据传输装置101还可以包括:记录模块,用于在每个记录周期对应的终端集合中记录:每个记录周期内接收到的用于请求第一数据的请求对应的终端。
第一发送模块1012还可以用于:当第一终端集合不包括第一终端时,向第一终端发送第一响应,第一终端集合包括:接收第一请求的第一时刻所在的第一记录周期对应的终端集合。
数据传输装置101还可以包括:
第二接收模块,用于接收第一终端发送的用于请求第一数据的第二请求。
第一确定模块,用于在第二终端集合包括第一终端时,确定在发送所述第一响应后的预设时间内接收到第二请求,第二终端集合包括:接收第二请求的第二时刻所在的第二记录周期对应的终端集合。
可选地,当第一记录周期不为首个记录周期时,第一终端集合还包括:第一记录周期的前n个记录周期对应的终端集合,n≥1;
当第二记录周期不为首个记录周期时,第二终端集合还包括:第二记录周期的前n个记录周期对应的终端集合。
可选地,数据传输装置101还可以包括:
删除模块,用于在每个删除周期,删除至少一个记录周期对应的终端集合;
其中,删除周期大于或等于记录周期,至少一个记录周期位于当前时刻所在的记录周期之前的n个记录周期之前。
可选地,每个记录周期对应有时间指示码,且不同记录周期对应的时间指示码不同。数据传输装置101还可以包括:
可选地,记录周期的长度大于或等于第一终端发送用于请求第一数据的请求的周期。
可选地,数据传输装置101还可以包括:
第三发送模块,用于在向第一终端发送第二响应时,向第一终端发送第一数据。
本申请实施例还提供了一种数据传输系统,该数据传输系统可以为图1所示的系统10。该数据传输系统10可以包括终端、服务器以及第三方设备。该终端可以为图2至图4任一所示的终端102,该服务器可以为图5所示的服务器101或者图8所示的数据传输装置101。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
需要说明的是:上述实施例提供的终端和服务器在进行数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
需要说明的是,本申请实施例提供的方法实施例能够与相应的装置实施例相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,当所述计算机可读存储介质中的程序在计算机上运行时,使得计算机执行本申请实施例提供的数据传输方法。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的数据传输方法。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据传输方法,其特征在于,用于服务器,所述方法包括:
接收第一终端发送的用于请求第一数据的第一请求;
基于所述第一请求向所述第一终端发送第一响应,所述第一响应用于指示所述第一终端从第三方设备获取所述第一数据;
若在发送所述第一响应后的预设时间内,接收到所述第一终端发送的用于请求所述第一数据的第二请求,则基于所述第二请求向所述第一终端发送第二响应,所述第二响应用于指示所述第一终端从所述服务器获取所述第一数据。
2.根据权利要求1所述的方法,其特征在于,在接收第一终端发送的用于请求第一数据的第一请求之前,所述方法还包括:
在每个记录周期对应的终端集合中记录:所述每个记录周期内接收到的用于请求所述第一数据的请求对应的终端;
所述基于所述第一请求向所述第一终端发送第一响应,包括:
当第一终端集合不包括所述第一终端时,向所述第一终端发送所述第一响应,所述第一终端集合包括:接收所述第一请求的第一时刻所在的第一记录周期对应的终端集合;
在所述基于所述第二请求向所述第一终端发送第二响应之前,所述方法还包括:
接收所述第一终端发送的用于请求所述第一数据的第二请求;
在第二终端集合包括所述第一终端时,确定在发送所述第一响应后的预设时间内接收到所述第二请求,所述第二终端集合包括:接收所述第二请求的第二时刻所在的第二记录周期对应的终端集合。
3.根据权利要求2所述的方法,其特征在于,当所述第一记录周期不为首个记录周期时,所述第一终端集合还包括:所述第一记录周期的前n个记录周期对应的终端集合,n≥1;
当所述第二记录周期不为首个记录周期时,所述第二终端集合还包括:所述第二记录周期的前n个记录周期对应的终端集合。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在每个删除周期,删除至少一个记录周期对应的终端集合;
其中,所述删除周期大于或等于所述记录周期,所述至少一个记录周期位于当前时刻所在的记录周期之前的n个记录周期之前。
6.根据权利要求5所述的方法,其特征在于,所述记录周期的长度大于或等于所述第一终端发送用于请求所述第一数据的请求的周期。
7.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
在向所述第一终端发送所述第二响应时,向所述第一终端发送所述第一数据。
8.一种数据传输装置,其特征在于,所述数据传输装置设置于服务器内 , 所述数据传输装置包括:
第一接收模块,用于接收第一终端发送的用于请求第一数据的第一请求;
第一发送模块,用于基于所述第一请求向所述第一终端发送第一响应,所述第一响应用于指示所述第一终端从第三方设备获取所述第一数据;
第二发送模块,用于在发送所述第一响应后的预设时间内,接收到所述第一终端发送的用于所述第一数据的第二请求时,基于所述第二请求向所述第一终端发送第二响应,所述第二响应用于指示所述第一终端从所述服务器获取所述第一数据。
9.根据权利要求8所述的数据传输装置,其特征在于,所述数据传输装置还包括:
记录模块,用于在每个记录周期对应的终端集合中记录:所述每个记录周期内接收到的用于请求所述第一数据的请求对应的终端;
所述第一发送模块还用于:当第一终端集合不包括所述第一终端时,向所述第一终端发送所述第一响应,所述第一终端集合包括:接收所述第一请求的第一时刻所在的第一记录周期对应的终端集合;
所述数据传输装置还包括:
第二接收模块,用于接收所述第一终端发送的用于请求所述第一数据的第二请求;
第一确定模块,用于在第二终端集合包括所述第一终端时,确定在发送所述第一响应后的预设时间内接收到所述第二请求,所述第二终端集合包括:接收所述第二请求的第二时刻所在的第二记录周期对应的终端集合。
10.一种数据传输系统,其特征在于,所述系统包括:终端、服务器以及第三方设备,所述服务器包括权利要求9所述的数据传输装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911305080.0A CN111314414B (zh) | 2019-12-17 | 2019-12-17 | 数据传输方法、装置及系统 |
PCT/CN2020/129875 WO2021115080A1 (zh) | 2019-12-17 | 2020-11-18 | 数据传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911305080.0A CN111314414B (zh) | 2019-12-17 | 2019-12-17 | 数据传输方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314414A CN111314414A (zh) | 2020-06-19 |
CN111314414B true CN111314414B (zh) | 2021-09-28 |
Family
ID=71150748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911305080.0A Active CN111314414B (zh) | 2019-12-17 | 2019-12-17 | 数据传输方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111314414B (zh) |
WO (1) | WO2021115080A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314414B (zh) * | 2019-12-17 | 2021-09-28 | 聚好看科技股份有限公司 | 数据传输方法、装置及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764839A (zh) * | 2009-12-23 | 2010-06-30 | 成都市华为赛门铁克科技有限公司 | 一种数据访问方法以及统一资源定位符服务器 |
CN103067292A (zh) * | 2012-12-26 | 2013-04-24 | 华为技术有限公司 | 一种基于WebSocket传输的负载均衡方法和装置 |
EP2765747A1 (en) * | 2011-09-23 | 2014-08-13 | Baidu Online Network Technology (Beijing) Co., Ltd | Data centre system and apparatus, and method for providing service |
CN104202362A (zh) * | 2014-08-14 | 2014-12-10 | 上海帝联信息科技股份有限公司 | 负载均衡系统及其内容分发方法和装置、负载均衡器 |
CN106657287A (zh) * | 2016-11-30 | 2017-05-10 | 广州市千钧网络科技有限公司 | 一种数据访问方法及系统 |
CN107888634A (zh) * | 2016-09-29 | 2018-04-06 | 北京金山云网络技术有限公司 | 一种分布式存储系统的数据请求方法及装置 |
CN108093036A (zh) * | 2017-12-08 | 2018-05-29 | 网易(杭州)网络有限公司 | 一种获取资源的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111449A (zh) * | 2011-02-23 | 2011-06-29 | 北京蓝汛通信技术有限责任公司 | 一种更新数据的方法、装置和系统 |
US20140068006A1 (en) * | 2012-08-31 | 2014-03-06 | Fusenet Inc. | Method, apparatus and system for providing content |
CN105959358A (zh) * | 2016-04-25 | 2016-09-21 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
CN109120385B (zh) * | 2018-08-15 | 2021-08-17 | 锐捷网络股份有限公司 | 一种基于数据传输系统的数据传输方法、装置及系统 |
CN110413918B (zh) * | 2019-08-01 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 数据发送方法、装置、设备及存储介质 |
CN111314414B (zh) * | 2019-12-17 | 2021-09-28 | 聚好看科技股份有限公司 | 数据传输方法、装置及系统 |
-
2019
- 2019-12-17 CN CN201911305080.0A patent/CN111314414B/zh active Active
-
2020
- 2020-11-18 WO PCT/CN2020/129875 patent/WO2021115080A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764839A (zh) * | 2009-12-23 | 2010-06-30 | 成都市华为赛门铁克科技有限公司 | 一种数据访问方法以及统一资源定位符服务器 |
EP2765747A1 (en) * | 2011-09-23 | 2014-08-13 | Baidu Online Network Technology (Beijing) Co., Ltd | Data centre system and apparatus, and method for providing service |
CN103067292A (zh) * | 2012-12-26 | 2013-04-24 | 华为技术有限公司 | 一种基于WebSocket传输的负载均衡方法和装置 |
CN104202362A (zh) * | 2014-08-14 | 2014-12-10 | 上海帝联信息科技股份有限公司 | 负载均衡系统及其内容分发方法和装置、负载均衡器 |
CN107888634A (zh) * | 2016-09-29 | 2018-04-06 | 北京金山云网络技术有限公司 | 一种分布式存储系统的数据请求方法及装置 |
CN106657287A (zh) * | 2016-11-30 | 2017-05-10 | 广州市千钧网络科技有限公司 | 一种数据访问方法及系统 |
CN108093036A (zh) * | 2017-12-08 | 2018-05-29 | 网易(杭州)网络有限公司 | 一种获取资源的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111314414A (zh) | 2020-06-19 |
WO2021115080A1 (zh) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111327931B (zh) | 观看历史显示方法及显示设备 | |
CN111405318B (zh) | 视频展示方法、装置及计算机存储介质 | |
CN110996136B (zh) | 视频资源的显示方法及装置 | |
CN111866553B (zh) | 媒资信息校准方法及服务器 | |
CN111836109A (zh) | 显示设备、服务器及自动更新栏目框的方法 | |
CN112073762B (zh) | 基于多系统显示设备的信息获取方法及多系统显示设备 | |
CN111031375B (zh) | 一种开机动画详情页的跳转方法及显示设备 | |
CN111970549B (zh) | 菜单显示方法和显示设备 | |
CN113064645B (zh) | 一种开机界面控制方法及显示设备 | |
CN111836115B (zh) | 一种屏保展示方法、屏保跳转方法及显示设备 | |
CN111787376B (zh) | 一种显示设备、服务器及视频推荐的方法 | |
CN114079829A (zh) | 一种显示设备及视频集锦文件水印的生成方法 | |
CN111954059A (zh) | 屏保的展示方法及显示设备 | |
CN113225838A (zh) | 一种麦克风的控制方法、音频接收设备及音频采集设备 | |
CN111314414B (zh) | 数据传输方法、装置及系统 | |
CN111586463B (zh) | 显示设备 | |
CN112004127B (zh) | 一种信号状态显示方法及显示设备 | |
CN112929717B (zh) | 一种焦点管理的方法及显示设备 | |
CN110971938B (zh) | 数据传输方法、装置及系统 | |
CN111679789A (zh) | 一种写入控制方法及显示设备 | |
CN114079827A (zh) | 菜单显示方法和显示设备 | |
CN111479144A (zh) | 显示设备及应用交互方法 | |
CN111225244A (zh) | 广告展示方法、服务器、显示设备 | |
CN113573115B (zh) | 确定搜索字符的方法及显示设备 | |
CN111966646B (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 |