CN105933722B - 一种数据发送方法和装置 - Google Patents

一种数据发送方法和装置 Download PDF

Info

Publication number
CN105933722B
CN105933722B CN201610248445.0A CN201610248445A CN105933722B CN 105933722 B CN105933722 B CN 105933722B CN 201610248445 A CN201610248445 A CN 201610248445A CN 105933722 B CN105933722 B CN 105933722B
Authority
CN
China
Prior art keywords
data
sent
module
transmitted
encoding
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
Application number
CN201610248445.0A
Other languages
English (en)
Other versions
CN105933722A (zh
Inventor
张祥钧
李军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN TENA ELECTRONIC CO Ltd
Original Assignee
SHENZHEN TENA ELECTRONIC CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN TENA ELECTRONIC CO Ltd filed Critical SHENZHEN TENA ELECTRONIC CO Ltd
Priority to CN201610248445.0A priority Critical patent/CN105933722B/zh
Publication of CN105933722A publication Critical patent/CN105933722A/zh
Application granted granted Critical
Publication of CN105933722B publication Critical patent/CN105933722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Communication Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及数据传输领域,尤其涉及一种数据发送方法和装置。所述方法包括:服务器端获取要发送的数据;判断要发送的数据和前一次保存的数据是否相同;如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;将要发送的数据放入缓冲区并更新缓冲区;判断服务器端是否与客户端连接;如果服务器端与客户端连接,发送缓冲区中要发送的数据。上述方法和装置在发送数据之前判断是否与前一次保存的数据相同,如果不相同则发送数据。该方法和装置可以避免服务器端不停的向客户端发送同样的数据,节省服务器的资源,同时也节省了带宽。

Description

一种数据发送方法和装置
技术领域
本发明涉及数据传输领域,尤其涉及一种数据发送方法和装置。
背景技术
当用户试玩游戏时,通常无需下载游戏,游戏以视频的形式展现在用户面前,服务器接收来自用户所在的客户端的数据并根据接收到的客户端的数据通过视频的形式将游戏发送给客户端。当游戏的画面是等待客户端输入而客户端没有及时输入,或者当游戏被客户端暂停时,服务器端仍会不停的向客户端发送数据,而此时客户端视频的画面仍是等待输入或者暂停时的画面。在这种情况下,服务器端不停的向客户端发送同样的数据浪费了服务器的资源,同时也占用了大量的带宽。
发明内容
本发明提供了一种数据发送方法和装置,该方法和装置用于服务器端,该方法和装置可以节省服务器的资源,同时也节省了网络带宽。
一种数据发送方法,所述方法包括:
获取要发送的数据;
判断要发送的数据和前一次保存的数据是否相同;
如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;
将要发送的数据放入缓冲区并更新缓冲区;
判断是否与客户端连接;
如果与客户端连接,发送缓冲区中的要发送的数据。
一种数据发送装置,所述装置包括获取模块、判断模块、保存模块、更新模块、发送模块;
所述获取模块,用于获取要发送的数据;
所述判断模块,用于判断要发送的数据和前一次保存的数据是否相同;
所述保存模块,用于如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;
所述更新模块,用于将要发送的数据放入缓冲区并更新缓冲区;
所述判断模块,还用于判断是否与客户端连接;
所述发送模块,用于如果与客户端连接,发送缓冲区中的要发送的数据。
上述方法和装置在发送数据之前判断是否与前一次保存的数据相同,如果不相同,则发送数据。该方法和装置可以避免服务器端不停的向客户端发送相同的数据,节省服务器的资源,同时也节省了带宽。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的方法流程图;
图2为步骤S104的具体方法流程图;
图3为本发明第一实施例的装置结构示意图;
图4为编码模块的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
图1为本发明第一实施例的一种数据发送方法流程图。请参看图1,该方法包括如下步骤。
步骤S101,获取要发送的数据。具体地,该数据为视频帧画面的数据,包括图片和/或音频。服务器与客户端的使用的是TCP协议。
步骤S102,判断要发送的数据和前一次保存的数据是否相同。如果相同,执行步骤S101;如果不同,执行步骤S103。服务器端要发送数据的时间与前一次保存的数据时间间隔由相关技术领域人员进行设定。
步骤S103,将要发送的数据保存。
步骤S104,将要发送的数据进行编码。将要发送的数据加上特定的信息以得到特定格式的数据,如mpeg、mov、avi等格式的数据。该数据优选为二进制格式。
步骤S105,将编码后的要发送的数据放入缓冲区并更新缓冲区。更新缓冲区后执行步骤S101。
可理解地,步骤S101-S105所对应的完成的功能为将符合要求的要发送的数据放入到缓冲区。
步骤S106,判断服务器端与客户端是否连接。如果连接,执行步骤S107;如果没有连接,执行步骤S106。
步骤S107,发送缓冲区中要发送的数据。
可理解地,步骤S106-S107所对应的功能为判断服务器端是否与客户端连接,如果连接,发送缓冲区中要发送的数据。
上述方法在发送数据之前判断是否与前一次保存的数据相同,如果相同,不发送数据也不进行编码的操作;如果不相同,则将数据编码后放入缓冲区进行发送。该方法和装置可以避免服务器端不停的向客户端发送相同的数据,节省服务器的资源,同时也节省了带宽。
请参看图2,步骤S104还包括如下步骤。
步骤S201,将要发送的数据发送至编码器。
步骤S202,检测是否有硬件编码器。优选地,可通过检测系统的编码状态来检测是否有硬件编码器。该编码状态包括硬件编码和软件编码。如果编码状态为硬件编码,则有硬件编码器;如果编码状态为软件编码,则没有硬件编码器。系统的编码状态可由用户提前进行设定,检测用户提前设定的编码状态可获得系统是硬件编码还是软件编码。
步骤S203,如果有硬件编码器,则将要发送的数据进行硬件编码。
步骤S204,如果没有硬件编码器,则将要发送的数据进行软件编码。
该方法步骤进一步将数据进行硬件编码或者软件编码,以得到符合特定格式的要发送的数据。
图3为本发明实施例一种数据发送装置的结构示意图。该装置运行于服务器端中。该装置30包括获取模块31、判断模块32、保存模块33、编码模块34、更新模块35、发送模块36。
获取模块31,用于获取要发送的数据。具体地,该数据为视频帧画面的数据,包括图片和/或音频等。服务器与客户端的使用的是TCP协议。
判断模块32,用于判断要发送的数据和前一次保存的数据是否相同。如果要发送的数据和前一次保存的数据相同,执行获取模块的内容。服务器端要发送数据的时间与前一次保存的数据时间间隔由相关技术领域人员进行设定。
保存模块33,用于如果要发送的数据和前一次保存的数据不相同,将要发送的数据保存。
编码模块34,用于将要发送的数据进行编码。将要发送的数据加上特定的信息以得到特定格式的数据,如mpeg、mov、avi等格式的数据。该数据优选为二进制格式。
更新模块35,用于将要发送的数据放入缓冲区并更新缓冲区。更新缓冲区之后执行获取模块的内容。
可理解地,获取模块31、判断模块32、保存模块33、编码模块34、更新模块35完成的功能为将要发送的数据放入到缓冲区。
判断模块32,还用于判断服务器端与客户端是否连接。
发送模块36,用于如果服务器端与客户端连接,发送缓冲区中的要发送的数据。
可理解地,判断模块32、发送模块36完成的功能为判断服务器端是否与客户端连接,如果连接,发送缓冲区中要发送的数据。
图4为编码模块34的结构框图。编码模块34包括发送单元341、检测单元342、编码单元343。
发送单元341,用于将要发送的数据发送至编码器。
检测单元342,用于检测是否有硬件编码器。优选地,可通过检测系统的编码状态来检测是否有硬件编码器。该编码状态包括硬件编码和软件编码。如果编码状态为硬件编码,则有硬件编码器;如果编码状态为软件编码,则没有硬件编码器。系统的编码状态可由用户提前进行设定,检测用户提前设定的编码状态可获得系统是硬件编码还是软件编码。
编码单元343,用于如果有硬件编码器,则将要发送的数据进行硬件编码。
编码单元343,还用于如果没有硬件编码器,则将要发送的数据进行软件编码。
上述装置中,服务器端通过在发送数据之前,判断要发送的数据与前一次要发送的数据是否相同,如果相同,则不发送数据也不会进行编码封装的操作,如果不同,则将数据进行编码封装后放入缓冲区发送。该装置可以避免服务器端不停的向客户端发送同样的数据,节省服务器的资源,同时也节省了带宽。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例的方法的步骤顺序可以根据实际需要进行调整、合并或删减。
另外,在本发明各个实施例中的各功能模块/单元可以集成在一个处理单元中,也可以是各个模块/单元单独物理存在,也可以是两个或两个以上模块/单元集成在一个模块/单元中。上述集成的模块/单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (2)

1.一种数据发送方法,其特征在于,所述方法包括:
获取要发送的数据;
判断要发送的数据和前一次保存的数据是否相同;
如果要发送的数据和前一次保存的数据相同,执行获取要发送的数据的步骤;
如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;
将要发送的数据进行编码;
将编码后的要发送的数据放入缓冲区并更新缓冲区,接着返回执行步骤获取要发送的数据;
判断是否与客户端连接;
如果与客户端连接,发送缓冲区中的要发送的数据;
其中,所述将要发送的数据进行编码,包括:
将要发送的数据发送至编码器;检测是否有硬件编码;若有硬件编码,将要发送的数据进行硬件编码;如果没有硬件编码,将要发送的数据进行软件编码,如此,以得到符合特定格式的要发送的数据,其中,特定格式为视频格式。
2.一种数据发送装置,所述装置用于服务器端,其特征在于,所述装置包括获取模块、判断模块、保存模块、编码模块、更新模块、发送模块;
所述获取模块,用于获取要发送的数据;
所述判断模块,用于判断要发送的数据和前一次保存的数据是否相同;若要发送的数据和前一次保存的数据相同,触发执行获取模块;
所述保存模块,用于如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;
所述编码模块,用于将要发送的数据进行编码;
所述更新模块,用于将编码后的要发送的数据放入缓冲区并更新缓冲区,接着触发所述获取模块;
所述判断模块,还用于判断是否与客户端连接;
所述发送模块,用于如果与客户端连接,发送缓冲区中的要发送的数据;
其中,所述编码模块具体包括发送单元、检测单元、编码单元;
所述发送单元,用于将要发送的数据发送至编码器;
所述检测单元,用于检测是否有硬件编码;
所述编码单元,用于如果有硬件编码,将要发送的数据进行硬件编码;
所述编码单元,还用于如果没有硬件编码,将要发送的数据进行软件编码,如此,以得到符合特定格式的要发送的数据,其中,特定格式为视频格式。
CN201610248445.0A 2016-04-20 2016-04-20 一种数据发送方法和装置 Active CN105933722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610248445.0A CN105933722B (zh) 2016-04-20 2016-04-20 一种数据发送方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610248445.0A CN105933722B (zh) 2016-04-20 2016-04-20 一种数据发送方法和装置

Publications (2)

Publication Number Publication Date
CN105933722A CN105933722A (zh) 2016-09-07
CN105933722B true CN105933722B (zh) 2019-12-13

Family

ID=56838603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610248445.0A Active CN105933722B (zh) 2016-04-20 2016-04-20 一种数据发送方法和装置

Country Status (1)

Country Link
CN (1) CN105933722B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234798A (zh) * 2016-12-21 2018-06-29 乐视汽车(北京)有限公司 图像传输控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624605A (zh) * 2011-04-01 2012-08-01 北京小米科技有限责任公司 一种传送数据的方法
CN104678336A (zh) * 2014-11-03 2015-06-03 江西通用光电应用技术研究所有限责任公司 电阻器智能显示模块

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510293A (zh) * 2009-01-14 2009-08-19 上证所信息网络有限公司 证券行情订单队列数据传输方法
TW201445989A (zh) * 2013-05-30 2014-12-01 Hon Hai Prec Ind Co Ltd 分散式編解碼系統及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624605A (zh) * 2011-04-01 2012-08-01 北京小米科技有限责任公司 一种传送数据的方法
CN104678336A (zh) * 2014-11-03 2015-06-03 江西通用光电应用技术研究所有限责任公司 电阻器智能显示模块

Also Published As

Publication number Publication date
CN105933722A (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN109117361B (zh) 一种小程序的远程调试方法、相关设备及系统
RU2754870C2 (ru) Способ и устройство кодирования данных изображения, способ и устройство декодирования данных изображения
CN107454416B (zh) 视频流发送方法和装置
AU2015280330B2 (en) Efficient frame rendering
RU2011142767A (ru) Система и способ сжатия видео с использованием обратной связи, включающей в себя данные, связанные с успешным приемом видеосодержимого
CN108965932B (zh) 一种连麦窗口展示方法及装置
CN112235597B (zh) 流媒体直播音视频同步保护方法、装置、计算机设备
CN105933084A (zh) 接收设备,接收方法和程序
CN108234659B (zh) 数据处理方法、装置及系统
CN107635014B (zh) 一种文件传输及呈现方法、服务器和移动终端
KR101624821B1 (ko) 단말기 미러를 동기화하기 위한 방법, 장치, 단말기 및 서버
WO2015110076A1 (en) Information transmission method, apparatus and system
CN103987016A (zh) 基于多终端的消息推送方法及装置
CN111093094A (zh) 视频转码方法、装置、系统及电子设备及可读存储介质
CN109788251B (zh) 视频处理方法、装置及存储介质
US20180270360A1 (en) Audio data processing method, server, client and server, and storage medium
CN105933722B (zh) 一种数据发送方法和装置
CN107291403A (zh) 移动终端及其处理器
CN107197363B (zh) 一种视频播放方法及装置
CN105337926B (zh) 一种多端联动方法及相关设备与系统
CN108076370B (zh) 信息传输方法、装置和电子设备
CN107342981B (zh) 传感器数据的传输方法及装置、虚拟现实头戴设备
CN111803927A (zh) 云端游戏服务的运行方法、装置及计算机可读存储介质
CN112860431B (zh) 微服务节点的连接方法、系统、设备及存储介质
CN109995589B (zh) 日志采集方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant