CN105933722A - 一种数据发送方法和装置 - Google Patents
一种数据发送方法和装置 Download PDFInfo
- Publication number
- CN105933722A CN105933722A CN201610248445.0A CN201610248445A CN105933722A CN 105933722 A CN105933722 A CN 105933722A CN 201610248445 A CN201610248445 A CN 201610248445A CN 105933722 A CN105933722 A CN 105933722A
- Authority
- CN
- China
- Prior art keywords
- data
- send
- sent
- module
- buffering area
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Communication Control (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 (10)
1.一种数据发送方法,其特征在于,所述方法包括:
获取要发送的数据;
判断要发送的数据和前一次保存的数据是否相同;
如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;
将要发送的数据放入缓冲区并更新缓冲区;
判断是否与客户端连接;
如果与客户端连接,发送缓冲区中的要发送的数据。
2.如权利要求1所述的方法,其特征在于,如果要发送的数据和前一次保存的数据相同,执行步骤获取要发送的数据和前一次保存的数据。
3.如权利要求1所述的方法,其特征在于,将要发送的数据放入缓冲区并更新缓冲区之前,所述方法还包括:
将要发送的数据进行编码。
4.如权利要求3所述的方法,其特征在于,将要发送的数据进行编码的步骤具体包括:
将要发送的数据发送至编码器;
检测是否有硬件编码;
如果有硬件编码,将要发送的数据进行硬件编码;
如果没有硬件编码,将要发送的数据进行软件编码。
5.如权利要求1所述的方法,其特征在于,将要发送的数据放入缓冲区并更新缓冲区之后,执行步骤获取要发送的数据。
6.一种数据发送装置,所述装置用于服务器端,其特征在于,所述装置包括获取模块、判断模块、保存模块、更新模块、发送模块;
所述获取模块,用于获取要发送的数据;
所述判断模块,用于判断要发送的数据和前一次保存的数据是否相同;
所述保存模块,用于如果要发送的数据和前一次保存的数据不同,将要发送的数据保存;
所述更新模块,用于将要发送的数据放入缓冲区并更新缓冲区;
所述判断模块,还用于判断是否与客户端连接;
所述发送模块,用于如果与客户端连接,发送缓冲区中的要发送的数据。
7.如权利要求6所述的装置,其特征在于,如果要发送的数据和前一次保存的数据相同,执行获取模块的内容。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:编码模块;
所述编码模块,用于将要发送的数据进行编码。
9.如权利要求8所述的装置,其特征在于,所述编码模块具体包括发送单元、检测单元、编码单元;
所述发送单元,用于将要发送的数据发送至编码器;
所述检测单元,用于检测是否有硬件编码;
所述编码单元,用于如果有硬件编码,将要发送的数据进行硬件编码;
所述编码单元,还用于如果没有硬件编码,将要发送的数据进行软件编码。
10.如权利要求1所述的装置,其特征在于,在更新模块之后执行获取模块的内容。
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 true CN105933722A (zh) | 2016-09-07 |
CN105933722B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234798A (zh) * | 2016-12-21 | 2018-06-29 | 乐视汽车(北京)有限公司 | 图像传输控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510293A (zh) * | 2009-01-14 | 2009-08-19 | 上证所信息网络有限公司 | 证券行情订单队列数据传输方法 |
CN102624605A (zh) * | 2011-04-01 | 2012-08-01 | 北京小米科技有限责任公司 | 一种传送数据的方法 |
US20140358996A1 (en) * | 2013-05-30 | 2014-12-04 | Hon Hai Precision Industry Co., Ltd. | Distributed encoding and decoding system, method, and device |
CN104678336A (zh) * | 2014-11-03 | 2015-06-03 | 江西通用光电应用技术研究所有限责任公司 | 电阻器智能显示模块 |
-
2016
- 2016-04-20 CN CN201610248445.0A patent/CN105933722B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510293A (zh) * | 2009-01-14 | 2009-08-19 | 上证所信息网络有限公司 | 证券行情订单队列数据传输方法 |
CN102624605A (zh) * | 2011-04-01 | 2012-08-01 | 北京小米科技有限责任公司 | 一种传送数据的方法 |
US20140358996A1 (en) * | 2013-05-30 | 2014-12-04 | Hon Hai Precision Industry Co., Ltd. | Distributed encoding and decoding system, method, and device |
CN104678336A (zh) * | 2014-11-03 | 2015-06-03 | 江西通用光电应用技术研究所有限责任公司 | 电阻器智能显示模块 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234798A (zh) * | 2016-12-21 | 2018-06-29 | 乐视汽车(北京)有限公司 | 图像传输控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105933722B (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104270406B (zh) | 用于上载内容的系统和关联终端、方法及计算机程序产品 | |
CN105100134A (zh) | 屏幕共享缓存管理 | |
CN102929872B (zh) | 由计算机实施的消息过滤方法、消息过滤装置及系统 | |
AU2015280330B2 (en) | Efficient frame rendering | |
US6240140B1 (en) | Channel aggregation having low latency and overhead | |
CN109756536A (zh) | 一种数据传输的方法、装置及系统 | |
US20120297031A1 (en) | Anonymous Signalling | |
CN104378304A (zh) | 灰度发布的控制方法、装置及系统 | |
US20200344497A1 (en) | Method and apparatus for processing multimedia file, storage medium, and electronic apparatus | |
CN107872471B (zh) | 远程桌面图像指令处理方法和系统 | |
CN111209240B (zh) | 数据传输的方法、电子设备及存储介质 | |
CN103826139A (zh) | Cdn系统、观看服务器以及流媒体数据传输方法 | |
CN106557335A (zh) | 应用程序的更新方法、装置及系统 | |
CN107801049A (zh) | 一种实时视频传送、播放方法及装置 | |
CN103209195A (zh) | 数据获取方法、终端以及远端设备 | |
CN104038916B (zh) | 在移动终端设备上实现流量优化的方法及系统、客户端 | |
CN103246557A (zh) | 一种跨进程调用应用信息的方法及装置 | |
CN102647470A (zh) | 在线应用平台内云下载的方法及在线应用平台系统 | |
CN105933722A (zh) | 一种数据发送方法和装置 | |
CN112860431B (zh) | 微服务节点的连接方法、系统、设备及存储介质 | |
CN115052003B (zh) | 数据同步方法、相关装置和介质 | |
CN108668048B (zh) | 图像数据的处理方法及系统、存储介质、处理器 | |
KR20170052269A (ko) | 멀티미디어 시스템에서 데이터 제공 방법 및 장치 | |
CN106506561A (zh) | 一种流媒体传输方法及装置 | |
CN112346661B (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 |