CN113225268B - 数据传输方法、装置、电子设备以及存储介质 - Google Patents
数据传输方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN113225268B CN113225268B CN202110425982.9A CN202110425982A CN113225268B CN 113225268 B CN113225268 B CN 113225268B CN 202110425982 A CN202110425982 A CN 202110425982A CN 113225268 B CN113225268 B CN 113225268B
- Authority
- CN
- China
- Prior art keywords
- message
- type
- target list
- target
- data transmission
- 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
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- 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/70—Game security or game management aspects
- A63F13/71—Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/407—Data transfer via internet
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种数据传输方法、装置、电子设备以及存储介质,属于网络技术领域,应用于云游戏系统,该方法包括:以目标列表来维护需要Ack机制的业务场景中的相关消息,当接收到Ack消息时,会基于所接收到的Ack消息从目标列表对相应的消息进行删除,而对于需要等待Ack的消息来说,则会在其未接收到Ack时,基于目标列表来实现重新发送,避免了消息丢失等情况,以保证消息的准确送达,满足了涉及到Ack的业务场景的需求,并为其业务场景提供安全性的保障。
Description
技术领域
本公开涉及网络技术领域,尤其涉及一种数据传输方法、装置、电子设备以及存储介质。
背景技术
计算机技术和移动互联网的飞速发展,推动了移动设备性能的不断提升,从而使云游戏的用户群体不断增加。云游戏的整体架构包括云主机端与真机端,云游戏模式下,终端和云主机端会通过网络通信协议传递音视频流、点击事件和业务指令的相关数据。
随着云游戏的不断发展,云游戏的运行需要涉及到一些例如支付、分享等业务场景,而在这类业务场景中,需要终端和云主机端进行双向传输,也就需要支持Ack机制。因此,亟需一种能够支持Ack机制的数据传输方法。
发明内容
本公开提供一种数据传输方法、装置、电子设备以及存储介质,能够满足涉及到Ack的业务场景的需求。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据传输方法,应用于云游戏系统,该方法包括:
当待发送的第一消息属于第一类型时,将该第一消息存储至目标列表,该第一类型是指需要对端发送确认消息,该目标列表用于存储等待确认消息的第一类型的消息;
发送该第一消息;
响应于接收到该第一消息的确认消息,从该目标列表中删除该第一消息。
在一些实施例中,该发送该第一消息之后,该方法还包括:
每隔预设周期检测该目标列表是否为空,响应于该目标列表为空,继续执行对该目标列表的检测,响应于该目标列表不为空,从该目标列表中确定待重发消息,进行重新发送。
本公开实施例提供的技术方案,应用于云游戏系统,能够以目标列表来维护需要Ack机制的业务场景中的相关消息,当接收到Ack消息时,会基于所接收到的Ack消息从目标列表对相应的消息进行删除,而对于需要等待Ack的消息来说,则会在其未接收到Ack时,基于目标列表来实现重新发送,避免了消息丢失等情况,以保证消息的准确送达,满足了涉及到Ack的业务场景的需求,并为其业务场景提供安全性的保障。
在一些实施例中,该从该目标列表中确定待重发消息,进行重新发送,包括:
对该目标列表进行遍历,读取该目标列表中所存储的消息,若该消息满足重发条件,对该消息进行重新发送。
通过上述对于一些消息重新发送的过程,能够避免消息被丢失等情况发生,保证消息的可达性。
在一些实施例中,该重发条件为下述至少一项条件:
该消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔;
该消息的重发次数小于最大重发次数。
通过上述重发条件对重发进行限制,可以大大降低设备的处理压力,避免有一些消息被无限重复发送所导致的资源浪费。
在一些实施例中,该响应于接收到该第一消息的确认消息,从该目标列表中删除该第一消息包括:
该目标列表中存储有待进行重新发送的消息以及对应的消息标识;
响应于接收到的第二消息属于确认消息,根据该第二消息的消息标识,从该目标列表中删除对应的该第一消息,该第二消息的消息标识为该第一消息的消息标识。
本公开实施例提供的方案,能够通过消息标识,准确地将已接收到确认消息的第一消息从目标列表中删除,节省了存储空间。
在一些实施例中,该方法还包括:
响应于接收到的第二消息属于第二类型,发送确认消息,该第二类型是指需要向对端发送确认消息;
处理该第二消息。
在一些实施例中,该当待发送的第一消息属于第一类型时,将该第一消息存储至目标列表之前,该方法还包括下述任一项:
读取该第一消息的第一目标字段的字段值,响应于该第一目标字段的字段值为第一数值,则该第一消息属于第一类型,响应于该第一目标字段的字段值为第二数值,则该第一消息不属于第一类型;
读取该第一消息的第二目标字段的字段值,响应于该第二目标字段的字段值指示该第一消息的消息类型为特定的消息类型,则该第一消息属于该第一类型,响应于该第二目标字段的字段值指示该第一消息的消息类型不是该特定的消息类型,则该第一消息不属于该第一类型。
本公开实施例提供了两种确定消息类型的方法,能够准确识别出该第一消息是否属于第一类型,为方案的后续执行起到了指导的作用。
根据本公开实施例的第二方面,提供一种数据传输装置,应用于云游戏系统,该装置包括:
存储单元,被配置为执行当待发送的第一消息属于第一类型时,将该第一消息存储至目标列表,该第一类型是指需要对端发送确认消息,该目标列表用于存储等待确认消息的第一类型的消息;
发送单元,被配置为执行发送该第一消息;
删除单元,被配置为执行响应于接收到该第一消息的确认消息,从该目标列表中删除该第一消息。
在一些实施例中,该装置还包括:
检测单元,被配置为执行每隔预设周期检测该目标列表是否为空,响应于该目标列表为空,继续执行对该目标列表的检测;
该发送单元,被配置为执行响应于该目标列表不为空,从该目标列表中确定待重发消息,进行重新发送。
在一些实施例中,该发送单元,被配置为执行对该目标列表进行遍历,读取该目标列表中所存储的消息,若该消息满足重发条件,对该消息进行重新发送。
在一些实施例中,该重发条件为下述至少一项条件:
该消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔;
该消息的重发次数小于最大重发次数。
在一些实施例中,该目标列表中存储有待进行重新发送的消息以及对应的消息标识;
该删除单元,被配置为执行响应于接收到的第二消息属于确认消息,根据该第二消息的消息标识,从该目标列表中删除对应的该第一消息,该第二消息的消息标识为该第一消息的消息标识。
在一些实施例中,该发送单元被配置为执行响应于接收到的第二消息属于第二类型,发送确认消息,该第二类型是指需要向对端发送确认消息;
该装置还包括:
处理单元,被配置为执行处理该第二消息。
在一些实施例中,该装置还包括类型判断单元,该类型判断单元被配置为执行下述任一项:
读取该第一消息的第一目标字段的字段值,响应于该第一目标字段的字段值为第一数值,则该第一消息属于第一类型,响应于该第一目标字段的字段值为第二数值,则该第一消息不属于第一类型;
读取该第一消息的第二目标字段的字段值,响应于该第二目标字段的字段值指示该第一消息的消息类型为特定的消息类型,则该第一消息属于该第一类型,响应于该第二目标字段的字段值指示该第一消息的消息类型不是该特定的消息类型,则该第一消息不属于该第一类型。
根据本公开实施例的第三方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述的数据传输方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述的数据传输方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的数据传输方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据传输方法的实施环境示意图;
图2是根据一示例性实施例示出的一种终端与服务器在运行云游戏时的交互逻辑示意图;
图3是根据一示例性实施例示出的一种数据传输方法的流程图;
图4是根据一示例性实施例示出的一种数据传输方法的流程图;
图5是根据一示例性实施例示出的一种第一消息格式示意图;
图6是根据一示例性实施例示出的一种数据传输装置的框图;
图7是根据一示例性实施例示出的一种终端700的结构框图;
图8是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
图1是本公开实施例提供的一种数据传输方法的实施环境示意图,参见图1,该实施环境中包括,终端101和服务器102。
终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种,终端101具有通信功能,可以接入互联网,终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。终端101可以运行有各种不同类型的应用程序,如社交应用程序、音乐应用程序等。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102与终端101可以通过有线或无线通信方式进行直接或间接的连接,本公开实施例对此不作限定。可选地,上述服务器102的数量可以更多或更少,本公开实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。
基于上述实施环境,下面通过终端和服务器上运行云游戏为例进行说明,当然,该申请实施例还可以应用于其他场景下,例如视频播放、线上教育等场景。图2是根据一示例性实施例示出的一种终端与服务器在运行云游戏时的交互逻辑示意图,如图2所示。服务器上运行有应用程序的后台服务进程,包括:第一通信进程与游戏进程。其中,游戏进程用于运行游戏,第一通信进程用于与游戏进程进行交互,并与终端通信,通信进程的通信形式包括以下三种类型:
(1)第一通信进程捕捉到游戏进程的视频画面和音频,进而生成音视频流,并将生成的音视频流发送给终端;
(2)第一通信进程接收终端的点击事件及坐标,在游戏进程模拟相应的真实点击事件;
(3)第一通信进程与游戏进程进行跨进程通信,并与终端进行双向传输,以发送或接收业务相关数据和指令。例如,通过Binder机制来实现跨进程通信。
终端上运行有由上述服务器提供服务的应用程序,该应用程序能够启动相应的第二通信进程,用于与服务器的第一通信进程进行通信,通信形式包括以下三种类型:
(1)第二通信进程接收服务器传输的音视频流,提供容器用于对音视频流进行处理,以展示游戏画面,并播放游戏音频;
(2)第二通信进程采集用户在终端上的点击事件及坐标,将点击事件及坐标发送给服务器;
(3)第二通信进程与服务器进行双向传输,以发送或接收业务相关数据和指令。
综上所述,在云游戏模式下,需要在终端和服务器通过网络通信协议传输如下数据:
(1)音视频流:单向下行通路,由服务器将游戏的音视频流,发送给终端;
(2)点击事件:单向上行通路,由终端采集点击事件和坐标,发送给服务器;
(3)业务相关数据和指令:双向上下行通路,在终端和服务器之间传输业务相关指令和数据。
图3是根据一示例性实施例示出的一种数据传输方法的流程图,该方法能够用于终端或服务器中,该方法包括:
在步骤301中,当待发送的第一消息属于第一类型时,将该第一消息存储至目标列表,该第一类型是指需要对端发送确认消息,该目标列表用于存储等待确认消息的第一类型的消息。
在步骤302中,发送该第一消息。
在步骤303中,响应于接收到该第一消息的确认消息,从该目标列表中删除该第一消息。
本公开实施例提供的技术方案,应用于云游戏系统,能够以目标列表来维护需要Ack机制的业务场景中的相关消息,当接收到Ack消息时,会基于所接收到的Ack消息从目标列表对相应的消息进行删除,而对于需要等待Ack的消息来说,则会在其未接收到Ack时,基于目标列表来实现重新发送,避免了消息丢失等情况,以保证消息的准确送达,满足了涉及到Ack的业务场景的需求,并为其业务场景提供安全性的保障。
图4是根据一示例性实施例示出的一种数据传输方法的流程图,该方法能够用于终端或服务器中,下面以云游戏模式下在服务器中执行为例进行说明。如图4所示,包括以下步骤。
在步骤401中,服务器启动目标线程,该目标线程用于接收和发送消息。
其中,该目标线程由服务器上所运行的第一通信进程或者游戏进程启动,或者,由应用程序所创建的其他进程启动,本公开实施例对此不作限定。该目标线程能够通过与终端之间的通信,接收终端所发送的消息,并且向终端发送消息。
在步骤402中,响应于该目标线程有待发送的第一消息,判断该第一消息是否属于第一类型,该第一类型是指需要终端发送确认消息。
在一些实施例中,该第一消息包括第一目标字段,该第一目标字段用于指示该第一消息是否需要终端返回确认消息,例如,第一目标字段的字段值为1,则表征该第一消息需要终端返回确认消息,该第一目标字段的字段值为0,则表征该第一消息不需要终端返回确认消息。则上述步骤402通过读取第一目标字段的字段值,来判断该第一消息是否属于第一类型。
在一些实施例中,该第一消息包括第二目标字段,该第二目标字段用于指示该第一消息的消息类型,例如,该消息类型是支付指令消息,用于为终端提供支付界面,又例如,该消息类型为分享成功消息,用于表征分享操作成功。若第一消息的第二目标字段用于指示特定的消息类型,则该第一消息属于第一类型,若第一消息的第二目标字段用于指示该特定的消息类型以外的类型,则该第一消息不属于第一类型。
上述两种判断方式中的任一种均可以实现判断的目的,本公开实施例对采用哪种方式不作限定。基于上述两种方法,能够准确识别出该第一消息是否属于第一类型,为方案的后续执行起到了指导的作用。
基于上述对第一消息的介绍,提供一种示例性的第一消息的消息格式,参见图5,该第一消息所包含的字段描述如下:
TAG字段:用于表示是本协议下的执行指令;
命令提示符(CMD,Command)长度字段:用于表示CMD的长度;
数据长度字段:用于表示业务逻辑需要发送数据的长度;
CMD字段:用于承载CMD;
数据字段:用于承载业务逻辑发送数据的具体内容。
其中,CMD字段能够实现上述第一目标字段或第二目标字段的功能,当然,消息格式还可以采用其他格式,本申请对此不作限定。
在步骤403中,当该第一消息属于第一类型时,则将该第一消息存储至目标列表,该目标列表用于存储等待确认消息的第一类型的消息。
在一些实施例中,该目标列表的存储内容包括第一消息的消息标识、每一次发送该消息的具体时间、该消息发送次数和消息内容。其中,消息标识用于唯一标识该第一消息,在一些实施例中,该消息标识位于第一消息的标识字段中,或者是将第一消息存储至目标列表后,目标线程自动生成的与第一消息相对应的标识字符,本公开实施例对采用哪种方式不作限定。
在一些实施例中,该第一消息在被存储至目标列表,被存储至目标列表中已有消息之后,也即是列表的尾部。
在步骤404中,服务器向终端发送该第一消息。
在一些实施例中,对于属于第一类型的消息,目标线程在目标列表中记录下该消息的发送时间,以便后续基于所记录的发送时间进行重新发送。
在步骤405中,服务器每隔预设周期检测该目标列表是否为空,响应于该目标列表为空,继续执行步骤405。
在一些实施例中,预设周期取值由服务器所负载的进程数量决定。对于负载进程数量较少的服务器,预设周期可设置的较短,对于负载进程数量较多的服务器,可以适当增加预设周期取值。预设周期的取值根据具体的情形进行相应的设置,本公开实施例不作限定。
在步骤406中,响应于该目标列表不为空,则服务器从该目标列表中确定待重发消息,进行重新发送。
在一些实施例中,获取待重发消息的方式为:服务器对目标列表进行遍历,读取该目标列表中所存储的消息,若该消息满足重发条件,对该消息进行重新发送。需要说明的是,每次重新发送消息时同步发送的消息数量为一个或多个,本公开实施例对此不作限定。
在一些实施例中,上述判断该消息是否满足重发条件是指:该消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔;或,该消息的重发次数小于最大重发次数。需要说明的是,对于上述重发条件来说,在一种实施例中,以时间间隔作为重发条件来限定是否重发,在另一种实施例中,以重发次数作为重发条件来限定是否重发,当然,在又一种实施例中,还可采用时间间隔和重发次数的组合作为重发条件,来限定是否重发,本公开实施例不作限定。通过上述重发条件对重发进行限制,可以大大降低设备的处理压力,避免有一些消息被无限重复发送所导致的资源浪费。
相应地,以重发条件为该消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔为例进行说明,在判断消息是否满足重发条件时,服务器读取目标列表中所存储消息对应的上次发送时间,若上次发送时间的时间间隔大于预设的重发时间间隔,则重新发送该消息。上述重发条件的第二种可能情形与之同理。
需要说明的是,在重新发送后,目标线程在目标列表中记录下对应于该消息的本次发送时间,同时将该消息的重发次数加1。
通过上述对于一些消息重新发送的过程,能够避免消息被丢失等情况发生,保证消息的可达性。
在步骤407中,响应于该目标线程接收到来自于终端的第二消息,服务器判断该第二消息是否属于确认消息。
在一些实施例中,该第二消息包括的CMD字段,用于指示该第二消息是否属于确认消息。例如,若CMD字段中携带Ack,则该第二消息为确认消息。
在步骤408中,响应于该第二消息为确认消息,则服务器根据该第二消息的消息标识,从该目标列表中删除对应的消息。
在一些实施例中,目标线程根据该第二消息的消息标识,在目标列表中对该第二消息对应的第一消息进行定位,将对应的第一消息以及相关数据删除。
本公开实施例提供的方案,能够通过消息标识,准确地将已接收到确认消息的第一消息从目标列表中删除,节省了存储空间。
在步骤409中,响应于该第二消息不属于确认消息,则服务器判断该第二消息是否属于第二类型,该第二类型是指需要向终端发送确认消息。
在一些申请实施例中,判断该第二消息是否属于第二类型的方法,与步骤402中判断第一消息是否属于第一类型的方法相同,在这里不再赘述。
在步骤410中,响应于第二消息属于第二类型,则服务器向终端发送确认消息,执行步骤411,响应于第二消息不属于第二类型,则执行步骤411。
在步骤411中,服务器处理该第二消息。
在一些申请实施例中,处理第二消息是指,服务器根据第二消息中所包含的具体数据和指令做出相应的反馈。例如,该第二消息是支付指令消息,服务器根据该第二消息包含的商品信息、用户信息等相关数据,为终端提供支付界面。
需要说明的是,本公开实施例主要是以服务器侧对该数据传输方法进行说明,而与该服务器相对应的终端侧的数据传输方法与上述流程相同,也即是,对于运行有相应应用程序的终端和服务器来说,其收发消息的机制同理,从而实现了服务器和终端之间的Ack机制。
本公开实施例提供的技术方案,应用于云游戏系统,能够以目标列表来维护需要Ack机制的业务场景中的相关消息,当接收到Ack消息时,会基于所接收到的Ack消息从目标列表对相应的消息进行删除,而对于需要等待Ack的消息来说,则会在其未接收到Ack时,基于目标列表来实现重新发送,避免了消息丢失等情况,以保证消息的准确送达,满足了涉及到Ack的业务场景的需求,并为其业务场景提供安全性的保障。
图6是根据一示例性实施例示出的一种数据传输装置的框图。参照图6,该装置包括存储单元601,发送单元602和删除单元603。
存储单元601,被配置为执行当待发送的第一消息属于第一类型时,将该第一消息存储至目标列表,该第一类型是指需要对端发送确认消息,该目标列表用于存储等待确认消息的第一类型的消息;
发送单元602,被配置为执行发送该第一消息;
删除单元603,被配置为执行响应于接收到该第一消息的确认消息,从该目标列表中删除该第一消息。
在一些实施例中,该装置还包括:
检测单元,被配置为执行每隔预设周期检测该目标列表是否为空,响应于该目标列表为空,继续执行对该目标列表的检测;
该发送单元602,被配置为执行响应于该目标列表不为空,从该目标列表中确定待重发消息,进行重新发送。
在一些实施例中,该发送单元602,被配置为执行对该目标列表进行遍历,读取该目标列表中所存储的消息,若该消息满足重发条件,对该消息进行重新发送。
在一些实施例中,该重发条件为下述至少一项条件:
该消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔;
该消息的重发次数小于最大重发次数。
在一些实施例中,该目标列表中存储有待进行重新发送的消息以及对应的消息标识;
该删除单元603,被配置为执行响应于接收到的第二消息属于确认消息,根据该第二消息的消息标识,从该目标列表中删除对应的该第一消息,该第二消息的消息标识为该第一消息的消息标识。
在一些实施例中,该发送单元602被配置为执行响应于接收到的第二消息属于第二类型,发送确认消息,该第二类型是指需要向对端发送确认消息;
该装置还包括:
处理单元,被配置为执行处理该第二消息。
在一些实施例中,该装置还包括类型判断单元,该类型判断单元被配置为执行下述任一项:
读取该第一消息的第一目标字段的字段值,响应于该第一目标字段的字段值为第一数值,则该第一消息属于第一类型,响应于该第一目标字段的字段值为第二数值,则该第一消息不属于第一类型;
读取该第一消息的第二目标字段的字段值,响应于该第二目标字段的字段值指示该第一消息的消息类型为特定的消息类型,则该第一消息属于该第一类型,响应于该第二目标字段的字段值指示该第一消息的消息类型不是该特定的消息类型,则该第一消息不属于该第一类型。
需要说明的是:上述实施例提供的数据传输装置在数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本公开实施例所提供的电子设备可以提供为终端或者服务器,下面对终端的结构进行介绍:
图7示出了本申请一个示例性实施例提供的终端700的结构框图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器701所执行以实现本申请中方法实施例提供的数据传输方法中终端执行的过程。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在另一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning Sy stem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
下面对服务器的结构进行介绍:
图8是根据一示例性实施例示出的一种服务器的框图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器801加载并执行以实现上述各个方法实施例提供的数据传输方法中服务器执行的过程。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器902,上述程序代码可由服务器900的处理器901执行以完成上述数据传输方法。可选地,计算机可读存储介质可以是只读内存(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、只读光盘(compact-disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的数据传输方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种数据传输方法,应用于云游戏系统,其特征在于,所述方法包括:
当待发送的第一消息属于第一类型时,将所述第一消息存储至目标列表,所述第一类型是指需要对端发送确认消息,所述目标列表用于存储等待确认消息的第一类型的消息,其中,所述目标列表存储有所述第一消息的消息标识、所述第一消息的发送时间、所述第一消息的发送次数和消息内容,所述第一消息的发送时间用于对所述第一消息进行重新发送;
发送所述第一消息;
每隔预设周期检测所述目标列表是否为空,响应于所述目标列表为空,继续执行对所述目标列表的检测,响应于所述目标列表不为空,从所述目标列表中确定待重发消息,进行重新发送;
响应于接收到所述第一消息的确认消息,从所述目标列表中删除所述第一消息。
2.如权利要求1所述的数据传输方法,其特征在于,所述从所述目标列表中确定待重发消息,进行重新发送,包括:
对所述目标列表进行遍历,读取所述目标列表中所存储的消息,若所述消息满足重发条件,对所述消息进行重新发送。
3.如权利要求2所述的数据传输方法,其特征在于,所述重发条件为下述至少一项条件:
所述消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔;
所述消息的重发次数小于最大重发次数。
4.如权利要求1所述的数据传输方法,其特征在于,所述响应于接收到所述第一消息的确认消息,从所述目标列表中删除所述第一消息包括:
所述目标列表中存储有待进行重新发送的消息以及对应的消息标识;
响应于接收到的第二消息属于确认消息,根据所述第二消息的消息标识,从所述目标列表中删除对应的所述第一消息,所述第二消息的消息标识为所述第一消息的消息标识。
5.如权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
响应于接收到的第二消息属于第二类型,发送确认消息,所述第二类型是指需要向对端发送确认消息;
处理所述第二消息。
6.如权利要求1至5任一项所述的数据传输方法,其特征在于,所述当待发送的第一消息属于第一类型时,将所述第一消息存储至目标列表之前,所述方法还包括下述任一项:
读取所述第一消息的第一目标字段的字段值,响应于所述第一目标字段的字段值为第一数值,则所述第一消息属于第一类型,响应于所述第一目标字段的字段值为第二数值,则所述第一消息不属于第一类型;
读取所述第一消息的第二目标字段的字段值,响应于所述第二目标字段的字段值指示所述第一消息的消息类型为特定的消息类型,则所述第一消息属于所述第一类型,响应于所述第二目标字段的字段值指示所述第一消息的消息类型不是所述特定的消息类型,则所述第一消息不属于所述第一类型。
7.一种数据传输装置,应用于云游戏系统,其特征在于,所述装置包括:
存储单元,被配置为执行当待发送的第一消息属于第一类型时,将所述第一消息存储至目标列表,所述第一类型是指需要对端发送确认消息,所述目标列表用于存储等待确认消息的第一类型的消息,其中,所述目标列表存储有所述第一消息的消息标识、所述第一消息的发送时间、所述第一消息的发送次数和消息内容,所述第一消息的发送时间用于对所述第一消息进行重新发送;
发送单元,被配置为执行发送所述第一消息;
检测单元,被配置为执行每隔预设周期检测所述目标列表是否为空,响应于所述目标列表为空,继续执行对所述目标列表的检测;
所述发送单元,被配置为执行响应于所述目标列表不为空,从所述目标列表中确定待重发消息,进行重新发送;
删除单元,被配置为执行响应于接收到所述第一消息的确认消息,从所述目标列表中删除所述第一消息。
8.如权利要求7所述的数据传输装置,其特征在于,所述发送单元,被配置为执行对所述目标列表进行遍历,读取所述目标列表中所存储的消息,若所述消息满足重发条件,对所述消息进行重新发送。
9.如权利要求8所述的数据传输装置,其特征在于,所述重发条件为下述至少一项条件:
所述消息的本次发送时间与上次发送时间的时间间隔大于预设的重发时间间隔;
所述消息的重发次数小于最大重发次数。
10.如权利要求7所述的数据传输装置,其特征在于,所述目标列表中存储有待进行重新发送的消息以及对应的消息标识;
所述删除单元,被配置为执行响应于接收到的第二消息属于确认消息,根据所述第二消息的消息标识,从所述目标列表中删除对应的所述第一消息,所述第二消息的消息标识为所述第一消息的消息标识。
11.如权利要求7所述的数据传输装置,其特征在于,所述发送单元被配置为执行响应于接收到的第二消息属于第二类型,发送确认消息,所述第二类型是指需要向对端发送确认消息;
所述装置还包括:
处理单元,被配置为执行处理所述第二消息。
12.如权利要求7至11任一项所述的数据传输装置,其特征在于,所述装置还包括类型判断单元,所述类型判断单元被配置为执行下述任一项:
读取所述第一消息的第一目标字段的字段值,响应于所述第一目标字段的字段值为第一数值,则所述第一消息属于第一类型,响应于所述第一目标字段的字段值为第二数值,则所述第一消息不属于第一类型;
读取所述第一消息的第二目标字段的字段值,响应于所述第二目标字段的字段值指示所述第一消息的消息类型为特定的消息类型,则所述第一消息属于所述第一类型,响应于所述第二目标字段的字段值指示所述第一消息的消息类型不是所述特定的消息类型,则所述第一消息不属于所述第一类型。
13.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至6中任一项所述的数据传输方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425982.9A CN113225268B (zh) | 2021-04-20 | 2021-04-20 | 数据传输方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425982.9A CN113225268B (zh) | 2021-04-20 | 2021-04-20 | 数据传输方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225268A CN113225268A (zh) | 2021-08-06 |
CN113225268B true CN113225268B (zh) | 2022-09-30 |
Family
ID=77088266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110425982.9A Active CN113225268B (zh) | 2021-04-20 | 2021-04-20 | 数据传输方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225268B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331058A (zh) * | 2016-08-12 | 2017-01-11 | 东软集团股份有限公司 | 消息传输方法和装置 |
CN111131392A (zh) * | 2019-11-27 | 2020-05-08 | 北京文渊佳科技有限公司 | 处理消息的方法、装置、电子设备及介质 |
CN111614485A (zh) * | 2020-04-13 | 2020-09-01 | 北京瀚诺半导体科技有限公司 | 网络管理消息传输的方法、装置、电子设备及介质 |
CN111614549A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 交互处理方法、装置、计算机设备及存储介质 |
CN111614486A (zh) * | 2020-04-13 | 2020-09-01 | 北京瀚诺半导体科技有限公司 | 网络管理消息传输的方法、装置、电子设备及介质 |
CN111711561A (zh) * | 2020-06-17 | 2020-09-25 | 平安科技(深圳)有限公司 | 消息分类的处理方法、装置及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928919B2 (en) * | 2019-10-11 | 2024-03-12 | Pavilion Payments Gaming Services, Inc. | Nodal networks for casinos and the like |
-
2021
- 2021-04-20 CN CN202110425982.9A patent/CN113225268B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331058A (zh) * | 2016-08-12 | 2017-01-11 | 东软集团股份有限公司 | 消息传输方法和装置 |
CN111131392A (zh) * | 2019-11-27 | 2020-05-08 | 北京文渊佳科技有限公司 | 处理消息的方法、装置、电子设备及介质 |
CN111614485A (zh) * | 2020-04-13 | 2020-09-01 | 北京瀚诺半导体科技有限公司 | 网络管理消息传输的方法、装置、电子设备及介质 |
CN111614486A (zh) * | 2020-04-13 | 2020-09-01 | 北京瀚诺半导体科技有限公司 | 网络管理消息传输的方法、装置、电子设备及介质 |
CN111614549A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 交互处理方法、装置、计算机设备及存储介质 |
CN111711561A (zh) * | 2020-06-17 | 2020-09-25 | 平安科技(深圳)有限公司 | 消息分类的处理方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113225268A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN111327953B (zh) | 直播投票方法及装置、存储介质 | |
CN111327694B (zh) | 文件上传方法、装置、存储介质及电子设备 | |
CN112764608B (zh) | 消息处理方法、装置、设备及存储介质 | |
CN111092809B (zh) | 实时推送信息的方法、装置、计算机设备及存储介质 | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
CN107896337B (zh) | 信息推广方法、装置及存储介质 | |
CN110288689B (zh) | 对电子地图进行渲染的方法和装置 | |
CN111159604A (zh) | 图片资源加载方法及装置 | |
CN111625315A (zh) | 页面显示方法、装置、电子设备及存储介质 | |
CN111106902B (zh) | 数据报文传输方法、装置、设备及计算机可读存储介质 | |
CN111245852A (zh) | 流数据传输方法、装置、系统、接入设备及存储介质 | |
CN111399796B (zh) | 语音消息聚合方法、装置、电子设备及存储介质 | |
CN110286839B (zh) | 消息发送方法、装置、终端及存储介质 | |
CN110086814B (zh) | 一种数据获取的方法、装置及存储介质 | |
CN109714628B (zh) | 播放音视频的方法、装置、设备、存储介质及系统 | |
CN111008083A (zh) | 页面通信方法、装置、电子设备及存储介质 | |
CN113225268B (zh) | 数据传输方法、装置、电子设备以及存储介质 | |
CN114785766A (zh) | 智能设备的控制方法、终端及服务器 | |
CN110971692B (zh) | 开通服务的方法、装置及计算机存储介质 | |
CN114140105A (zh) | 资源转移方法、装置、设备及计算机可读存储介质 | |
CN111741040B (zh) | 连接建立方法、地址获取方法、装置、设备及存储介质 | |
CN114143280A (zh) | 会话显示方法、装置、电子设备及存储介质 | |
CN109597951B (zh) | 信息分享方法、装置、终端及存储介质 | |
CN114816600A (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 |