CN117012017A - 一种数据传输方法、装置、设备及介质 - Google Patents
一种数据传输方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117012017A CN117012017A CN202210466211.9A CN202210466211A CN117012017A CN 117012017 A CN117012017 A CN 117012017A CN 202210466211 A CN202210466211 A CN 202210466211A CN 117012017 A CN117012017 A CN 117012017A
- Authority
- CN
- China
- Prior art keywords
- peripheral
- target
- data
- game
- communication
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000002093 peripheral effect Effects 0.000 claims abstract description 837
- 238000004891 communication Methods 0.000 claims abstract description 543
- 238000012545 processing Methods 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 42
- 238000005538 encapsulation Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- 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/20—Input arrangements for video game devices
- A63F13/23—Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- 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
-
- 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/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Selective Calling Equipment (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种数据传输方法、装置、设备及介质,其中的方法包括:当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。采用本申请实施例能够实现外设设备和游戏应用之间的直接通信,支持丰富的游戏玩法,从而提升游戏体验。
Description
技术领域
本申请涉及计算机技术领域,具体涉及数据传输领域,尤其涉及一种数据传输方法、一种数据传输装置、一种电子设备及一种计算机可读存储介质。
背景技术
由操作对象(或称为游戏玩家、玩家对象等)直接操作的外设设备,是一种外设于目标终端,且用来发送数据(如游戏数据),以实现操控目标终端中运行的游戏应用的硬件设备。目前,外设设备与游戏应用之间的数据传输,是经由目标终端的操作系统(如安卓操作系统)转发的。
经实践发现,现有的经由操作系统转发数据的方式,具有较大的局限性。例如,如果在外设设备中新增硬件结构,且该硬件结构相关的数据不能被操作系统所识别或支持,那么操作系统就不能将该数据正确的转发至游戏应用,导致外设设备中新增的硬件结构的功能不能被发挥出来。由此可见,依赖于操作系统在外设设备和游戏应用之间转发数据,会限制游戏的玩法,导外设设备和游戏应用的发展受限,降低操作对象的游戏体验。
发明内容
本申请实施例提供一种数据传输方法、装置、设备及介质,能够实现外设设备和游戏应用之间的直接通信,支持丰富的游戏玩法,从而提升游戏体验。
一方面,本申请实施例提供一种数据传输方法,该方法包括:
当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
另一方面,本申请实施例提供一种数据传输装置,该装置包括:
获取单元,用于当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
处理单元,用于使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
在一种实施方式中,处理单元在用于使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据时,可具体用于:
采用外设通信协议对目标数据进行封装处理,得到封装数据;
将封装数据发送到通信驱动程序中,以使数据接收方从通信驱动程序中获取封装数据;
其中,若封装数据是由游戏应用发送到通信驱动程序中的,则数据接收方是指外设设备;若封装数据是由外设设备发送到通信驱动程序中的,则数据接收方是指游戏应用。
在一种实施方式中,外设通信协议中规定了一种或多种数据类型所对应的信息结构;处理单元用于在采用外设通信协议对目标数据进行封装处理,得到封装数据时,可具体用于:
确定目标数据的数据类型;
在外设通信协议中查询目标数据的数据类型所对应的信息结构,作为目标信息结构;
将目标数据写入目标信息结构中,得到封装数据。
在一种实施方式中,该装置搭载于游戏应用中,通信驱动程序中包括外设设备的一个或多个通信接口的接口声明;处理单元还可用于:
从通信驱动程序中扫描外设设备的各个通信接口的接口声明,在得到的各个接口声明中查找指定协议标识;
若在至少一个接口声明中查找到所述指定协议标识,则将指定协议标识所标识的通信协议确定为外设通信协议。
在一种实施方式中,目标数据包括用于查询外设设备的设备信息的信息查询请求,设备信息至少包括外设设备所支持的特性信息;处理单元还可用于:
在通信驱动程序中存在外设设备发送的反馈结果后,从通信驱动程序中获取反馈结果;反馈结果是由外设设备响应于信息查询请求,采用外设通信协议对设备信息进行封装处理所得到的;
根据外设通信协议对反馈结果进行解封装处理,得到外设设备的设备信息。
在一种实施方式中,特性信息用于指示外设设备的至少一种设备能力;处理单元还可用于:
若接收到外设设备发送的输入指令,则确定外设设备生成输入指令所需使用的基准设备能力;
采用基准设备能力对特性信息所指示的至少一种设备能力进行能力命中匹配;
根据能力命中匹配结果对输入指令进行有效性检测;其中,若基准设备能力命中至少一种设备能力,则输入指令被确定为有效指令。
在一种实施方式中,目标数据包括外设控制指令,处理单元还可用于:
若检测到需控制外设设备执行目标游戏反馈操作,则获取外设设备支持的特性信息,特性信息用于指示外设设备的至少一种设备能力;
在特性信息所指示的至少一种设备能力中查找目标设备能力,目标设备能力是指:用于支持外设设备执行目标游戏反馈操作的设备能力;
若查找到目标设备能力,则生成用于控制外设设备执行目标游戏反馈操作的外设控制指令。
在一种实施方式中,外设设备中包括一个或多个振动装置,目标游戏反馈操作包括目标振动操作;处理单元还可用于:
在游戏应用运行目标游戏的过程中,若检测到目标游戏的游戏画面中存在振动对象,则将用于控制外设设备中的默认振动装置进行振动的操作,确定为目标振动操作;
或者,根据振动对象在游戏画面中的位置,以及外设设备中的各个振动装置的位置信息,从外设设备中选取目标振动装置,并将用于控制目标振动装置进行振动的操作,确定为目标振动操作。
在一种实施方式中,游戏应用运行在目标终端的操作系统上,且在外设设备处于定制通信模式下,操作系统支持外设设备和游戏应用通过使用外设通信协议传输任一数据;
其中,目标数据包括模式切换命令,模式切换命令用于命令外设设备将通信模式切换至定制通信模式,以使外设设备在游戏应用运行目标游戏的过程中,使用外设通信协议进行数据传输;
处理单元还可用于:
检测操作系统是否支持模式切换命令,通过外设通信协议和通信驱动程序进行传输;
若支持,则触发执行获取外设通信协议的步骤;
若不支持,则生成振动序列,振动序列用于触发外设设备执行模式切换;将振动序列和目标数据发送给操作系统的管理模块,以使管理模块通过通信驱动程序,将振动序列和目标数据转发给外设设备。
在一种实施方式中,该装置搭载在外设设备上,处理单元还可用于:
在游戏应用运行目标游戏的过程中,若检测到目标游戏的操作对象输入的目标操作,则根据目标操作生成对象输入信号作为目标数据;
其中,游戏应用在获取到目标数据后,根据目标数据对目标游戏的游戏画面进行更新。
在一种实施方式中,该装置搭载在外设设备上,处理单元还可用于:
在外设设备的运行过程中,获取外设设备的设备电量;
若设备电量小于电量阈值,则生成电量预警信号作为目标数据;
其中,游戏应用在获取到目标数据后,根据目标数据生成电量预警信息,并在游戏应用的应用界面中显示电量预警信息。
在一种实施方式中,外设设备包括基于外设通信协议所定制的定制通信接口,定制通信接口包括定制输入端点和定制输出端点;
其中,外设设备是通过所述定制输入端点,将数据发送给通信驱动程序;且外设设备是通过定制输出端点,从通信驱动程序中获取数据的。
在一种实施方式中,目标数据是在外设设备处于定制通信模式下传输的;
其中,外设设备是在通过定制输出端点,获取到游戏应用发送的心跳指令的情况下,维持在定制通信模式下工作的。
再一方面,本申请实施例提供一种电子设备,该电子设备包括:
处理器,适于执行计算机程序;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行如下步骤:
当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
再一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行如下步骤:
当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
再一方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被处理器加载并执行如下步骤:
当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
本申请实施例中,可按照目标终端中的通信驱动程序所遵循的数据传输规范,在游戏应用和外设设备之间定制一个外设通信协议,由于该定制的外设通信协议是基于通信驱动程序所遵循的数据传输规范编写的,而通信驱动程序所遵循的数据传输规范在各种终端中是统一通用的,这使得该定制的外设通信协议支持跨终端使用,提高外设通信协议的适用性。并且,使用该定制的外设通信协议能够实现游戏应用和外设设备之间的直接通信,使得游戏应用和外设设备之间传输的数据不再受到目标终端中的操作系统的限制,从而游戏应用和外设设备之间可以发送更为丰富的数据,提供丰富的游戏操控能力,进而提升用户黏性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请一个示例性实施例提供的一种数据传输系统的结构示意图;
图1b示出了本申请一个示例性实施例提供的一种云游戏的数据流向示意图;
图1c示出了本申请一个示例性实施例提供的一种数据传输系统的结构示意图;
图1d示出了本申请一个示例性实施例提供的一种外设设备和目标终端建立连接的示意图;
图1e示出了本申请一个示例性实施例提供的一种现有的数据传输的示意图;
图1f示出了本申请一个示例性实施例提供的一种目标游戏为云游戏时的数据传输的示意图;
图1g示出了本申请一个示例性实施例提供的一种目标游戏为本地游戏时的数据传输的示意图;
图2a示出了本申请一个示例性实施例提供的一种数据传输方案的流程示意图;
图2b示出了本申请一个示例性实施例提供的一种支持外设通信协议的外设设备的软件结构示意图;
图3示出了本申请一个示例性实施例提供的一种外设设备和游戏应用之间的下行传输和上行传输的示意图;
图4示出了本申请一个示例性实施例提供的一种数据传输方法的流程示意图;
图5a示出了本申请一个示例性实施例提供的一种游戏应用查询外设设备的设备信息的示意图;
图5b示出了本申请一个示例性实施例提供的一种游戏应用查询外设设备的设备信息的示意图;
图6a示出了本申请一个示例性实施例提供的一种游戏应用控制外设设备执行游戏反馈的示意图;
图6b示出了本申请一个示例性实施例提供的一种外设设备执行振动操作的示意图;
图6c示出了本申请一个示例性实施例提供的一种外设设备执行振动操作的示意图;
图7a示出了本申请一个示例性实施例提供的一种游戏应用和外设设备之间直接传输模式切换命令的示意图;
图7b示出了本申请一个示例性实施例提供的一种经由操作系统转发模式切换命令的示意图;
图8示出了本申请一个示例性实施例提供的一种外设设备将操作对象输入的对象输入信号发送至游戏应用的示意图;
图9示出了本申请一个示例性实施例提供的一种外设设备主动发起电量预警信号的示意图;
图10示出了本申请一个示例性实施例提供的一种数据传输装置的结构示意图;
图11示出了本申请一个示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中,涉及一种数据传输系统,该数据传输系统至少包括外设设备与目标终端;该数据传输系统可参见图1a。本申请实施例对外设设备和目标终端的数量不作限定;例如,在多人共同参与目标游戏的游戏场景中,一个目标终端可以与两个或两个以上的外设设备进行连接,以实现通过多个外设设备操控目标终端中运行的游戏应用;再如,一个外设设备也可以与两个或两个以上的目标终端进行连接,以实现采用多目标终端对游戏画面的分屏显示。下面对该数据传输系统所涉及的各种电子设备进行说明,其中:
(1)目标终端可以是指:运行有游戏应用的任一终端;游戏应用可包括:提供目标游戏的客户端(或web应用或小程序等)。目标终端具有一定的数据处理能力和画面显示能力。可选的,目标终端可以包括两个或两个以上的终端设备,例如,目标终端可以包括具有数据处理功能的数据处理设备和具有画面显示功能的显示设备;此实现方式下,需要数据处理设备和显示设备共同运行游戏应用,且数据处理设备和显示设备之间可以通过有线或无线连接,以使数据处理设备产生的数据(如游戏画面)能够传输至显示设备进行显示。例如,数据处理设备为具有数据处理能力的主机,显示设备为具有画面显示能力的显示器。可选的,目标终端还可以是一体机,此时目标终端同时具有数据处理能力和画面显示能力;此实现方式下,目标终端不仅支持对游戏应用相关的游戏数据进行数据处理,而且支持通过显示屏幕对游戏画面进行显示。如目标终端可包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(Mobile Internet Devices,简称MID)、智能电视、车载设备、头戴设备等。
其中,可按照不同条件,对目标终端中运行的游戏应用所提供的目标游戏进行分类。按照目标游戏的运行条件不同,目标游戏可以分为本地游戏和网络游戏;所谓本地游戏可是指:在目标终端本地运行且无需网络的游戏;所谓网络游戏可是指:依赖于网络来加载目标游戏的数据才能运行的游戏。或者,按照目标游戏的运行模式不同,目标游戏可分为:客户端游戏、网页游戏以及云游戏(Cloud gaming)等;客户端游戏可简称为端游,是指在个人计算机(Personal Computer,PC)端运行的游戏。网页游戏可称为web游戏或页游,是在浏览器提供的游戏网页运行的游戏。云游戏又可称为游戏点播(gaming on demand),是指在云服务器(或称为云端服务器)中运行的游戏。具体地,在云游戏的运行模式下,游戏应用可将外设设备发送的数据(如输入指令或信号)发送至云服务器,由云游戏服务器根据数据负责渲染游戏画面,并将渲染完毕的游戏画面压缩后,通过网络传送给操作对象所使用的目标终端,此时目标终端仅做显示游戏画面的操作,如图1b所示。云游戏的这种运行模式,使得玩家游戏持有的目标终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力(如显示游戏画面的能力)、人机交互能力(获取操作对象的输入操作的能力),以及数据传输能力(如发送指令给云服务器的能力)即可。本申请实施例对目标终端中运行的目标游戏的具体类型不作限定,特在此说明。
在目标游戏为前述提及的网络游戏时,如云游戏、需多人协同操控的端游或网页游戏等,本申请实施例提供的数据处理系统还包括至少一个服务器,如图1c所示。此实现方式下,服务器可是指:目标终端中运行的游戏应用对应的后台服务器,用于与运行该游戏应用的目标终端进行交互,以为该游戏应用提供计算和应用服务支持。服务器可以包括但不限于:数据处理服务器、Web服务器、应用服务器等等具有复杂计算能力的设备;或者,服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者分布式系统。正如前述所描述的,目标游戏可以包括云游戏,那么在目标游戏为云游戏的情况下,上述提及的服务器还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
(2)外设设备可称为输入设备、外部设备、游戏操纵设备或游戏操控设备等,是指:外设于目标终端的且由操作对象直接操作,以实现操控目标终端中运行的游戏应用的硬件设备。外设设备可包括但不限于:手持游戏手柄(或简称为游戏手柄)、佩戴式游戏机、鼠标或键盘;为便于阐述,后续以外设设备为手持游戏手柄为例进行介绍。需说明的是,外设设备和目标终端虽是相互独立的硬件设备,但外设设备和目标终端之间可以建立通信连接,这样操作对象可通过操作外设设备,以实现对目标终端中运行的游戏应用所提供的目标游戏的操控。
在实际应用中,外设设备可配置有接收器,通过将该接收器与目标终端提供的物理接口(或称为硬件接口)进行连接,以实现通过该物理接口在外设设备和目标终端之间建立通信连接。一种示例性的通过接收器和物理接口在外设设备和目标终端之间建立通信连接的示意图可参见图1d,如图1d所示,目标终端101包括至少一个物理接口1011,外设设备配置的接收器102可以插入目标终端101提供的物理接口1011中,以实现在外设设备和目标终端之间建立通信连接。还需说明的是,图1d所示的接收器102与外设设备103之间是无线连接的,这种情况下,外设设备103和接收器102中可部署无线通信模块,以便于通过无线通信模块(如蓝牙模块、wifi模块或射频信号模块等)在外设设备103和接收器102之间进行数据传输,如外设设备103通过无线通信模块可将自身的信息(如设备型号或设备厂商等信息)发送至接收器102。当然,接收器102和外设设备103之间还可以是有线连接的,在此情况下,接收器102可配置有一条数据传输线,通过该数据传输线可实现将外设设备和游戏应用之间建立连接。无论外设设备和接收器之间是有限连接还是无线连接,外设设备均可以将数据发送至接收器中,以便于目标终端可从该接收器中扫描到外设设备的设备信息,进而在外设设备和目标终端之间实现数据传输。
其中,目标终端提供的物理接口可包括USB(Universal Serial Bus,通用串行总线)接口,此时可将插入该USB接口的外设设备称为USB设备。USB接口是指目标终端中设置的符合USB标准或规范的接口;USB标准是一种外部总线标准(或称为串口总线标准),也是一种输入输出接口(或称为通信接口)的技术规范,用于规范目标终端(如个人电脑)与外设设备(如游戏手柄)的连接和通讯。进一步的,在目标终端中部署有USB接口的情况下,如果想要插入USB接口的外设设备(或USB设备)能够正常工作,那么还需在目标终端内部安装USB驱动程序(或简称为USB驱动),这样才可以通过USB驱动在目标终端中识别出插入USB接口的外设设备,并通过USB驱动实现收发数据,如获取USB设备发送的数据,以实现USB设备想要达到的效果。
由此可见,在目标终端中安装了通信驱动程序(如前述提及的USB驱动)的情况下,目标终端可以通过内部的通信驱动程序实现收发数据,所谓收发数据是指接收数据和发送数据。例如,在外设设备将数据发送到接收器后续,USB驱动可从该接收器中扫描外设设备发送的目标数据(如任一数据),具体是扫描到外设设备对目标数据进行封装处理得到的封装数据,然后根据对封装数据解封装处理得到的目标数据执行相应的反馈处理,如该目标数据包括用于调整声音音量变大的目标信号,那么可根据该目标信号相应的调大目标终端或游戏应用的音量。其中,上述提及的封装数据具体是按照通信协议对目标数据进行封装得到。通信协议可是按照USB驱动所遵循的HID(Human interface device,人机交互接口)规范编写得到的,这样在USB驱动扫描到任一封装数据时,可通过其所遵循的HID规范,对该任一封装数据的数据格式进行检测,只有在检测到该任一封装数据的数据格式满足HID规范的情况下,才确定缓存该任一封装数据,以实现对扫描到的不符合HID规范的数据进行过滤。其中,HID规范是一种人机交互规范(或标准),该人机交互规范可以简单理解为一种计算机语言,定义了数据传输时的数据格式等。USB驱动中的HID规范是统一通用的,也就是说,即使在不同终端上部署的USB驱动所遵循的HID规范也不存在差异;这使得遵循该HID规范编写的通信协议能够被大多数的设备所支持,进而在一定程度提升通信协议的适用性。
综上所述,本申请实施例提供的数据传输系统中,操作对象可使用外设设备操控目标终端中运行的目标游戏,为便于描述,本申请实施例中可将这种采用外设设备操控目标游戏的游戏玩法称为大屏游戏;即大屏游戏可是指:采用单独的目标终端来显示目标游戏的游戏画面或游戏场景,以及采用外设于该目标终端的外设设备来操控目标终端中显示的目标游戏的一种游戏玩法。由此可见,在大屏游戏场景中,用于显示目标游戏的游戏画面的目标终端与用于操控目标游戏的外设设备是分离的,相比于目标终端与外设设备为同一设备来操控目标游戏而言,这种采用外设设备操控目标游戏的游戏玩法,能够避免操作对象在显示屏幕上操控时对游戏画面产生的遮挡,帮助操作对象更好地参与目标游戏,提供给操作对象更为沉浸的游戏体验。
为了丰富操作对象对大屏游戏中的外设设备和游戏应用的游戏操控能力,提高用户黏性,本申请实施例基于前述描述的数据传输系统,提出一种数据传输方案;该数据传输方案支持在游戏应用和外设设备之间定制一套外设通信协议(或称为私有协议、定制通信协议、HID协议),具体是按照目标终端内部的通信驱动程序(如前述提及的USB驱动)所遵循的数据传输规范(如前述提及的HID规范),在游戏应用和外设设备之间按照业务需求定制的一套外设通信协议;然后,外设设备和游戏应用之间按照该外设通信协议,并通过目标终端中的通信驱动程序进行直接通信。
经实践发现,采用本申请实施例提供的数据传输方案,在外设设备和游戏应用之间进行数据传输时,具有明显优势;下面以本申请实施例提供的数据传输方案,与现有主流的外设设备和游戏应用之间的数据传输过程进行对比为例,对本申请实施例的优势进行说明:
现有主流的外设设备和游戏应用之间,是按照默认通信协议进行间接通信的。该默认通信协议是目标终端中的操作系统的开发者按照业务需求编写的,这使得在外设设备和游戏应用按照该默认通信协议进行数据传输时,外设设备依赖于目标终端中的操作系统的管理模块(或称为输入管理模块)来转发数据(如前述提及的外设设备产生的封装数据)至游戏应用。如图1e所示,目标终端中的操作系统通过目标终端中运行的通信驱动程序接收外设设备发送的数据,然后,操作系统再将从通信驱动程序中获取到的数据转发给游戏应用,以便于游戏应用根据从操作系统转发的数据进行反馈处理。换而言之,外设设备和游戏应用之间的数据传输必须经由操作系统的转发,导致许多操作系统所不支持的游戏输入不能被操作系统进行转发,使得外设设备和游戏应用的游戏操控能力具有较高局限性,例如该局限性可体现为如下示例性的两点:1、若外设设备的厂商在原有的外设设备中新增定制的硬件结构,如六轴陀螺仪传感器或压力传感器等,且操作系统的默认定制协议不支持该新增的硬件结构相关的数据,那么在操作系统获取到该数据后,操作系统中的管理设备并不支持将该数据转发至游戏应用,导致该新增的硬件结构的功能不能被使用,进而限制外设设备的发展。2、在游戏应用想要在外设设备上产生振动反馈等类似的效果时,若操作系统的管理模块不支持传递游戏应用发送的振动数据,则外设设备无法接收到该振动数据,进而无法实现振动效果,导致游戏效果较差,降低操作对象的游戏体验。
然而,本申请实施例中的外设设备和游戏应用之间,可以按照外设通信协议进行直接通信。该外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的,使得外设设备和游戏应用之间的数据传输是独立于操作系统的,不受操作系统的限制,进而可以消除上述描述的操作系统的限制。例如,云游戏场景下外设设备和游戏应用之间的数据传输流程可参见图1f所示,再如,端游场景下外设设备和游戏应用之间的数据传输流程可参见图1g所示;如图1f或图1g所示的,目标终端中的通信驱动程序获取到外设设备发送的数据后,游戏应用可从该通信驱动程序中直接扫描外设设备发送的数据,而不会受到目标终端中的操作系统的限制。
由上述描述可见,本申请实施例提供的数据传输方案,具有如下主要优势:1、在外设设备包括新的硬件结构的情况下,外设厂商和游戏应用的开发者可以通过扩充外设通信协议,具体是在外设通信协议中新增关于新的硬件结构的相关协议,以实现按照扩充后的外设通信协议,能够实现外设设备中新增的硬件结构的相关功能,进而丰富游戏玩法,提示游戏操控能力。2、在外设设备原本的硬件结构不发生改动的情况下,能够通过外设通信协议将外设设备的输入特性或反馈特性(如振动特征)在目标游戏中充分体现出来,使得外设设备的原有功能被充分发挥。3、由于外设通信协议是遵循通信驱动程序中的HID规范所定制的,而通信驱动程序中的HID规范在各个终端上均是统一的,这使得本申请实施例提供的外设通信协议可以跨终端统一,无论是云游戏应用的开发者,还是生产外设设备的外设厂商,都可以依据此外设通信协议只进行一次开发,就能使开发的游戏应用或外设设备跨终端使用。例如,采用该外设通信协议的外设设备可以与智能电脑进行连接,以实现按照该外设通信协议与智能电脑中运行的游戏应用进行直接通信;再如,采用该外设通信协议的外设设备还可以与电视进行连接,以实现按照该外设通信协议与电视中运行的游戏应用进行直播通信。
进一步的,为了不同游戏的开发者在开发游戏(如本地游戏)时,能够在该游戏中接入本申请实施例提供的外设通信协议,提示外设通信协议具有较高的推广率,本申请实施例还支持将具有使用外设通信协议的能力封装成软件开发工具包(SoftwareDevelopment Kit,SDK)以供开发者在开发参考游戏(如任一游戏)时,接入该外设通信协议的跨终端SDK;这样接入了SDK的参考游戏可以通过外设通信协议来和对应的外设设备进行交互,而不必受操作系统的限制。其中,所谓SDK是指为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,该集合中包含辅助开发某一类软件的相关文档、范例和工具,如包含辅助开发该任一游戏软件时的外设通信协议;SD K中包含应用程序接口(Application Programming Interface,API),所谓API是指一些预先定义的用于进行数据通信的函数。API被用于衔接系统中不同的组成部分。例如,本申请实施例中SDK包含协议接口,开发者开发的参考游戏在启动后可通过包含目标游戏的游戏应用提供的协议接口访问游戏应用中的一组例程(如外设通信协议),而又无需访问源码,或理解内部工作机制的细节。这样包含该参考游戏的游戏应用中集成了包含目标游戏的游戏应用的协议接口对应的软件开发工具包后,当包含该参考游戏的游戏应用中的软件开发工具包被触发时,包含目标游戏的游戏应用的协议接口被调用,使得包含该参考游戏的游戏应用可以通过协议接口调用外设通信协议进行数据传输。
基于上述对本申请实施例涉及的数据传输方案的相关描述,下面结合图2a对数据传输方案的大致原理进行简单介绍。参见图2a所示,外设设备和游戏应用之间按照外设通信协议直接进行数据传输的过程中,可涉及如下阶段:
(1)开始阶段:在操作对象具有使用外设设备操控目标终端中运行的游戏应用的需求时,可以将外设设备配置的接收器插入到目标终端提供的物理接口,此时外设设备可以将自己的一个或多个通信接口的接口声明发送至接收器,这样目标终端中的通信驱动程序可以从该接收器中,扫描到外设设备的各个通信接口的接口声明;其中,通信驱动程序可以是定时对该接收器进行扫描,以获取数据(如接口声明)。其中,通信接口的接口声明可简单理解为对通信接口所支持的一组方法的声明;例如,在通信接口的接口声明中添加了协议标识,那么通过该接口声明可确定该通信接口支持按照该协议标识对应的通信协议进行数据传输。
进一步的,在操作对象通过目标终端打开并启动游戏应用后,游戏应用可以从目标终端中的通信驱动程序中,扫描外设设备的一个或多个通信接口的接口声明,如果游戏应用从通信驱动程序中扫描到指定协议标识,则将该指定协议标识所标识的通信协议确定为外设通信协议,即游戏应用确认与之建立连接的外设设备是支持外设通信协议的外设设备。
其中,支持外设通信协议的外设设备的软件输入通信模块,需按照图2b所示的结构实现;如图2b所示,外设设备包括基于外设通信协议所定制的定制通信接口,具体是软件输入通信模块包括基于外设通信协议所定制的定制通信接口;也就是说,外设设备的软件输入通信模块中包括了定制通信接口,且该定制通信接口支持按照外设通信协议进行数据传输。进一步的,该定制通信接口中至少包括定制输入端点和定制输出端点。其中,端点可以理解为一个数据缓冲区,可用于临时保存数据;端点的输入或输出是从游戏应用进行数据收发时的数据流向来确定的。例如:定制输入端点的数据流向是游戏应用接收数据时的数据流向;在此情况下,数据从外设设备流向游戏应用,即:外设设备可将数据发送至定制接口中的定制输入端点进行缓存,然后通信驱动程序可以从定制输入端点中获取缓存的数据,再由游戏应用从该通信驱动程序中扫描获取的缓存的数据,以实现数据从外设设备流向游戏应用。再如:定制输出端点的数据流向是游戏应用发送数据时的数据流向;在此情况下,数据从游戏应用流向外设设备,即:游戏应用可将数据发送至驱动应用程序,再由驱动应用程序将数据发送定制接口中的定制输出端点进行缓存,然后由外设设备从该定制输出端点中获取缓存的数据,以实现数据从游戏应用流程外设设备。
另外,为使外设设备能够兼容原有的数据传输方式,本申请实施例支持在软件上外设通信协议与原有的默认通信协议并存,即:外设设备在包含定制的外设通信协议的同时,仍需保留原有的默认通信协议;因此,在外设设备的软件输入通信模块中除包括定制的定制通信接口外,还包括基于原本的默认通信协议的默认通信接口。换句话说,外设设备在包括定制输入端点和定制输出端点的同时,仍需保留原本的默认输入输出端点,以保留原有的外设数据传输方式,这样在支持外设通信协议的游戏应用未运行的场景下,能够确保外设设备仍然能够按照原有设计的默认通信协议与操作系统进行交互,并在支持外设通信协议的游戏应用运行的场景下,能够启动外设通信协议基于定制输入端点和定制输出端点进行数据传输,并暂停原有的输入输出端点。
(2)游戏应用初始化阶段。在操作对象通过操控外设设备对游戏应用提供的目标游戏进行操控之前,本申请实施例还需对游戏应用进行初始化处理,此处的初始化处理可包括:游戏应用获取外设设备的设备信息的处理过程。具体而言,在游戏应用确定外设设备是支持外设通信协议的设备之后,游戏应用可以对外设设备的设备信息进行查询,以便于后续能够根据设备信息进行输入输出指令的有效性检测。具体地,游戏应用可以按照外设通信协议生成信息查询请求,并将该信息查询请求作为目标数据;然后,按照外设通信协议对该目标数据进行封装处理;并通过通信驱动程序将封装处理得到的封装数据发送至定制输入接口,这样外设设备可响应信息查询请求,采用外设通信协议对设备信息进行封装处理,并将封装处理后的反馈结果通过通信驱动程序上报给游戏应用,以便于游戏应用能够获取到外设设备的设备信息。
其中,外设设备的设备信息可包括但不限于:特性信息、能力信息以及详情信息。特性信息用于指示外设设备的至少一个设备能力,如外设设备中包括陀螺仪,那么外设设备具有上传陀螺仪数据的设备能力。能力信息用于指示外设设备具有每种设备能力所需的装置的信息,如外设设备具有上传陀螺仪数据的设备能力,那么该外设设备中包括能够产生陀螺仪数据的陀螺仪,此时能力信息包括该陀螺仪的装置信息。详情信息用于指示外设设备的设备详细信息,如外设设备的设备厂商或设备型号等等,游戏应用获取外设设备的详情信息后,可根据该详情信息更好地对游戏产品的质量和品质进行控制,进而提升操作对象的游戏体验。
(3)外设设备初始化阶段。在操作对象通过操控外设设备对游戏应用提供的目标游戏进行操控之前,本申请实施例还需对外设设备进行初始化处理,此处的初始化处理可包括:将外设设备的工作模式(或称为通信模式)切换至定制通信模式;此时外设设备暂停使用默认通信协议进行数据传输,启动定制的外设通信模式进行数据传输。在外设设备处于定制通信模式时,目标终端中的操作系统支持外设设备和游戏应用通过使用外设通信协议传输任一数据,这样在后续操作对象根据外设设备操控游戏应用提供的目标游戏的过程中,外设设备能够按照外设通信协议向游戏应用发送根据操作对象的目标操作所产生的目标数据,提供更为丰富的游戏操控能力。具体地,游戏应用在确定外设设备是支持外设通信协议的硬件设备后,可向外设设备发送模式切换命令,该模式切换命令用于指示外设设备的工作模式切换至定制通信模式;那么外设设备响应于在模式切换命令可从当前通信模式切换至定制通信模式。当前通信模式是指外设设备在接收到模式切换命令时所处的通信模式;在外设设备包括默认通信模式和定制通信模式的情况下,此处的当前通信模式可是指默认通信模式。外设设备处于默认通信模式时,外设设备使用默认通信协议与游戏应用之间进行数据交互;其中,默认通信协议的相关描述可参见前述描述,在此不作赘述。
(4)游戏操控阶段。在执行完上述的步骤(1)-(3)之后,游戏应用能够确定外设设备是支持外设通信协议的硬件设备,且游戏应用能够获取外设设备的设备信息;并且,外设设备已将工作模式切换定制通信模式。自此,操作对象可以使用外设设备的通用输入能力(如原有的通信协议所包含的能力,如操作外设设备中的遥控杆的能力),以及,外设通信协议中包含的特殊输入能力(如外设设备进行振动的能力),来实现对游戏应用提供的目标游戏的操控。换而言之,在游戏应用查询到外设设备的设备信息,且外设设备处于定制通信模式下,对于操作对象而言,可以执行操作外设设备以实现操控游戏应用提供的目标游戏的操作;对于设备而言,外设设备和游戏应用之间可以按照外设通信协议进行数据传输,如外设设备按照外设通信协议向游戏应用发送根据操作对象的目标操作所产生的数据或电量预警信息等等,再如游戏应用能够使外设设备执行相应的游戏反馈操作(如振动操作)。
(5)结束阶段。在操作对象结束操控目标游戏时,如操作对象在目标终端中关闭游戏应用时,游戏应用可向外设设备发送模式切回指令,该模式切换指令用于指示外设设备从定制通信模式切换回原有的通信模式,这样外设设备暂停使用外设通信协议进行数据传输,启动原有的默认通信模式进行数据传输。
上述步骤(1)-(5)给出了本申请实施例提供的数据传输方案的较为完整的技术流程;但在实际应用场景中,部分步骤所包含的实现方式还可以发生变化。例如,在步骤(3)所示的外设设备初始化阶段,还支持游戏应用向外设设备发送心跳指令,以确保外设设备在切换至定制通信模式后,继续保持该定制通信模式。另外,需说明的是,本申请实施例运用到具体产品或技术中时,如游戏应用获取操作对象的游戏数据时,需要获得操作对象的许可或者同意;且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,如游戏应用提供的游戏装备需要遵循相关国家和地区的相关法律法规和标准。
为便于理解,本申请实施例支持将上述描述的较为完整的数据传输过程,归结为上行传输(或简称为上行)和下行传输(或简称为下行),如图3所示。其中,数据传输过程中的上行和下行,是以游戏应用在数据传输时的数据流向来确定的;例如,数据从游戏应用流向外设设备的数据传输过程可称为下行传输,此时可将游戏应用发送至外设设备的指令称为下行传输指令;再如,数据从外设设备流向游戏应用的数据传输过程可称为上行传输,此时可将外设设备发送至游戏应用的指令称为上行传输指令。下面对下行传输中外设设备所承载的功能,以及上行传输中外设设备所承载的功能,分别进行简单概述;其中:
一、下行传输。
1、软硬件控制与信息查询。
一种实现方式中,游戏应用对外设设备的软硬件控制可包括:控制外设设备的通信模式切换,以及控制外设设备执行游戏反馈(如振动控制)。
可选的,游戏应用可以控制外设设备的通信模式在原有通信模式(如前述提及的默认通信模式)和定制通信模式之间互切。例如:游戏应用在外设设备的接口声明中查找到指定协议标识时,确定该外设设备是支持外设通信协议的硬件设备,那么游戏应用可以向外设设备发送下行传输指令,此时该下行传输指令包括模式切换命令,以实现控制外设设备的通信模式切换至定制通信模式,具体可是从默认通信模式切换至定制通信模式。再如,游戏应用在检测到操作对象结束游戏体验时,如游戏应用检测到操作对象执行游戏关闭操作时,游戏应用可以向外设设备发送下行传输指令,此时该下行传输指令包括模式切回命令,以实现控制外设设备的工作模式从定制通信模式切换回原有的通信模式,具体可是从定制通信模式切换回默认通信模式。
可选的,游戏应用可以控制外设设备执行游戏反馈。例如,游戏应用在检测到目标游戏的游戏画面中存在需要振动的振动对象时,游戏应用可以向外设设备发送下行传输指令,此时该下行传输指令包括外设控制指令,具体包括振动指令,以使外设设备响应于该振动指令执行振动操作。其中,①目标游戏提供的游戏画面可用于描述目标游戏提供的游戏场景,如该游戏场景可包括竞赛场景、组队场景或结算场景等;竞赛场景可是指:操作对象操控游戏角色在目标游戏中,实际参与比赛的场景;组队场景可是指:操作对象在游戏大厅等待进入游戏房间(如竞赛场景)的场景,在该组队场景下支持操作对象对游戏角色的属性进行编辑,如更新游戏角色的服饰或装备等;结算场景可是指:在游戏结束后用于展现游戏成绩(如积分)的场景。②游戏画面中的振动对象可是指:根据游戏场景需求,在游戏画面中显示的任一需振动的虚拟对象,该虚拟对象可以是游戏角色也可是虚拟物体(如船、树或车等);例如,游戏场景包括:操作对象操控游戏角色驾驶车辆的场景,那么当驾驶该车辆行驶在不平滑的路上时,该车辆和游戏角色需振动,则此时可将车辆和游戏角色作为游戏场景中需振动的振动对象。本申请实施例对目标游戏提供的游戏场景和游戏场景中的振动对象不作限定。
其他实现方式中,游戏应用发起的信息查询可包括但不限限于:对外设设备的设备信息的信息,以及,对外设设备的设备电量的信息查询。其中,外设设备的设备信息所包含的内容可参见前述所示内容的相关描述,在此不作赘述。其中,游戏应用在确定外设设备是支持外设通信协议的硬件设备后,可向定制输出端点发送信息查询请求,以便于外设设备响应该信息查询请求返回设备信息;其中,游戏应用获取外设设备的设备信息的具体实施过程,可参见前述图2a所示的具体实施过程的相关描述,在此不作赘述。在游戏应用运行目标游戏的过程中,游戏应用可以定时(如每隔预设时间段)生成电量查询请求,以使外设设备响应该电量查询请求,将设备电量(如外设设备接收到电量查询请求时的设备电量)回传给游戏应用,这样游戏应用在每次获取到外设设备的设备电量后,在终端屏幕中更新显示外设设备的电量。其中,预设时间段可以是由游戏开发人员根据业务需求自定义的;当预设时间段很短时,在一定程度上能够实现在游戏应用的终端屏幕中实时显示外设设备的设备电量,有利于操作对象直观且及时的了解外设设备中的电量情况。
需说明的是,为了在游戏应用发送下行传输指令时,外设设备能够针对游戏应用发送的指令作出相应的反馈,需要外设设备的生产厂商在为外设设备定制基于外设通信协议的定制通信接口时,实现如下软件逻辑:外设设备从定制通信接口中的定制端点(如定制输出端点)中接收封装数据,并按照外设通信协议对该封装数据进行解封装处理(或称为解析处理,简称为解析),得到游戏应用发起的下行传输指令,如前述提及的模式切换命令或电量查询指令;然后,根据解析结果(即解析得到的相应的指令)进行反馈处理。根据外设设备接收到的下行传输指令的不同,外设设备执行的反馈处理并不相同;例如,外设设备对封装数据解析得到模式切换指令,则外设设备进行的反馈处理包括:响应该模式切换指令将通信模式切换至定制通信模式;再如,外设设备对封装数据解析得到外设控制指令,则外设设备进行的反馈处理包括:响应该外设控制指令进行振动操作;又如,外设设备对封装数据进行解析得到信息查询请求,则外设设备进行的反馈处理包括:响应该信息查询请求将设备信息返回至游戏应用;等等。
2、维持外设设备处于定制通信模式。
正如前述所描述的,外设设备中包括原有的默认通信协议和定制的外设通信协议;当外设设备处于定制通信模式时,外设设备按照外设通信协议与游戏应用之间进行数据传输,当外设设备处于原有的默认通信模式时,外设设备按照默认通信协议并通过操作系统转发,以实现与游戏应用之间的数据传输。因此,为确保游戏应用退出(如关闭或后台运行)时,外设设备仍然能够按照原有的通信协议与操作系统进行数据传输,以保留外设设备原有的功能,本申请实施例支持采用心跳机制来调整外设设备所处的通信模式。
具体地,若外设设备接收到游戏应用发送的心跳指令,则外设设备维持在定制通信模式下工作。其中,心跳指令是游戏应用按照定制通信协议对心跳包进行封装处理得到的;心跳包可是指一个默认的字符串,用来通知接收方当前自己处于有效状态,使得接收方能够与自己处于有效连接。在本申请实施例中,该心跳包是用来让外设设备维持在定制工作模式下的,当外设设备维持在定制通信模式下,外设设备和游戏应用之间可以按照外设通信协议进行目标数据(如前述提及的外设控制指令)的传输,即目标数据是在外设设备处于定制通信模式下传输的。因此,为了外设设备能够实现通过心跳机制来维持定制通信模式,需要外设设备的生产厂商在为外设设备定制基于外设通信协议的定制通信接口时,实现如下软件逻辑:外设设备从定制通信接口中的定制端点(如定制输出端点)中接收心跳指令,并按照外设通信协议对该心跳指令进行解析,得到心跳包并维持定制通信模式;若外设设备未从定制通信接口中的定制端点(如定制输出端点)中接收心跳指令,则从定制通信模式切换回原有的通信模式,以便于外设设备仍然能够与操作系统之间进行数据传输。
由此可知,外设设备是在通过定制输出端点,获取到游戏应用发送的心跳指令的情况下,维持在定制通信模式下工作的。例如,游戏应用每隔预设周期(如10秒)向外设设备发送心跳包,那么外设设备预设周期内接收到该心跳包时,确定游戏应用希望外设设备仍处于定制通信模式下进行数据传输,则外设设备继续维持定制通信模式;若外设设备在预设周期内未接收到心跳指令,确定游戏应用希望外设设备切换回原有的通信模式进行数据传输,则外设设备从定制通信模式切换回原有的通信模式。
二、上行传输。
1、通知与反馈目标数据。
与前述描述的游戏应用发起的下行传输指令(或称为查询与控制指令,如前述提及的模式切换命令)对应的,外设设备在接收到下行传输指令后,可响应于下行传输指令将相应的目标数据作为上行传输指令(或称为通知与反馈指令)上报给游戏应用。
其中,上行传输指令承载的示例性功能如下:可选的,在游戏应用具有查询外设设备的设备信息的需求时,外设设备可基于设备信息生成上行传输指令,并按照外设通信协议对该上行传输指令进行封装处理,得到封装数据,再将封装数据发送至游戏应用,以使游戏应用对封装数据进行解封装处理后得到外设设备的设备信息。可选的,在游戏应用具有查询外设设备的电量信息的需求时,外设设备可基于当前设备电量生成上行传输指令,以实现将当前设备电量告知游戏应用;其中,外设设备的当前设备电量是指外设设备在接收到游戏应用发送的下行传输指令(如电量查询指令)时检测到的电量。为了外设设备能够实现上述描述的向游戏应用反馈查询的数据,需要外设设备的生产厂商在为外设设备定制基于外设通信协议的定制通信接口时,实现如下软件逻辑:外设设备从定制端点(如定制输出端点)接收游戏应用发送的封装数据,并对封装数据进行解封装处理得到下行传输指令(如信息查询请求);然后,外设设备根据下行传输指令按照外设通信协议对相应数据(如设备信息)进行封装处理,并将封装处理后的封装数据回传至定制端点(如定制输入端点),以便于游戏应用能够从该定制端点获取到外设设备返回的数据。
可选的,在外设设备检测到设备电量小于电量阈值时,表示外设设备的剩余电量较低,此时外设设备可主动发起上行传输指令,该上行传输指令指示外设设备的剩余电量小于电量阈值,并将上行传输指令封装处理后发送至游戏应用;以使游戏应用响应于解封装处理得到的上行传输指令,在游戏应用的应用界面中显示电量预警信息,其中,游戏应用的应用界面可以是游戏应用提供的任一服务界面,且应用界面中显示的电量预警信息用于提示操作对象外设设备的电量较低,及时为外设设备补充电量。与前述描述类似的,为了外设设备在电量较低的情况下能够主动通知游戏应用,需要外设设备的生产厂商在为外设设备定制基于外设通信协议的定制通信接口时,实现如下软件逻辑:外设设备在检测到设备电量小于电量阈值,确定达到主动通知游戏应用的触发条件,则按照外设通信协议对设备电量进行封装处理,并将封装处理后的封装数据回传至定制端点(如定制输入端点),以便于游戏应用能够从该定制端点获取到外设设备返回的设备电量。
2、传输根据操作对象输入的目标操作所生成的目标数据。
如前述所描述的,外设设备中包括原有的默认通信协议和定制的外设通信协议;那么当外设设备处于默认通信模式下,外设设备在检测到目标游戏的操作对象输入的目标操作时,根据目标操作生成对象输入信号作为目标数据;并按照定制通信模式下的外设通信协议对该目标数据进行封装处理,且将封装数据发送至原有的默认通信接口,以使游戏应用能够按照原有的默认通信协议从默认通信接口中获取封装数据。反之,当外设设备处于定制通信模式下,外设设备在检测到目标游戏的操作对象输入的目标操作时,可根据目标操作生成对象输入信号作为目标数据;并按照定制通信模式下的外设通信协议对该目标数据进行封装处理,且将封装数据发送至定制通信接口,以使游戏应用能够按照定制通信协议从定制通信接口中获取该封装数据。这使得本申请实施例提供的外设设备能够兼容新旧两种通信模式下的目标操作,对于操作对象而言,其无需额外学习新的操作习惯,进而提升操作对象的游戏体验。
为实现上述描述的将根据操作对象输入的目标操作所生成的目标数据传输给游戏应用,外设设备的外设厂商在为外设设备定制基于外设通信协议的定制通信接口时,实现如下软件逻辑:外设设备在检测到操作对象执行目标操作后,可按照外设设备的模数转换结构将操作对象输入的模拟信号,转化为对应的数字信号(即前述提及的对象输入信号);然后,按照外设通信协议对该对象输入信号进行封装处理,并将封装数据发送至定制通信接口,以使游戏应用能够按照定制通信协议从定制通信接口中获取该封装数据。
基于上述对数据传输方案的整体流程的相关描述,本申请实施例提出更为详细的数据传输方法,该数据传输方法可以由前述提及的数据传输系统中的外设设备或目标终端中的游戏应用执行;为便于阐述,后续以电子设备执行数据传输方法为例进行说明,且在无特别说明时,该电子设备可以是指外设设备或运行游戏应用的目标终端中的任一种;当电子设备为运行游戏应用的目标终端时,描述的电子设备执行的操作,具体是由目标终端中运行的游戏应用执行的。下面结合附图对本申请实施例提供的数据传输方法进行详细介绍。
图4示出了本申请一个示例性实施例提供的一种数据传输方法的示意图;该数据传输方法可包括步骤S401-S402:
S401,当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议。
具体实现中,在操控对象具有使用外设设备操控,目标终端中的游戏应用提供的目标游戏的需求时,操控对象可以在外设设备和目标终端之间建立通信连接,具体可是将外设设备的接收器插到目标终端提供的物理接口中,以实现在外设设备和目标终端之间建立通信连接。进一步的,外设设备可以将自身所包含的一个或多个通信接口的接口声明发送至接收器,这样目标终端中部署的通信驱动程序可从该接收器中获取到外设设备的各个通信接口的接口声明,使得通信驱动程序中包括外设设备的一个或多个通信接口的接口声明。
然后,游戏应用可从目标终端中的通信驱动程序中扫描外设设备的各个通信接口的接口声明,并在扫描到的各个接口声明中查找指定协议标识,该指定协议标识为定制的外设通信协议的标识,可用于唯一标识该外设通信协议;若游戏应用查找到指定协议标识,那么游戏应用确认外设设备是支持外设通信协议的硬件设备,则将指定协议标识所标识的通信协议确定为外设通信协议,且可以进一步读取该指定协议标识所标识的外设通信协议的具体协议内容,以实现确定外设通信协议。
S402,使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
游戏应用在确认外设设备支持外设通信协议进行数据传输后,游戏应用和外设设置之间可以按照外设通信协议并通过通信驱动程序,实现对目标数据的传输。其中,目标数据可是指游戏应用欲发送给外设设备的数据,或者,目标数据可是指外设设备欲发送给游戏应用的数据。具体地,在电子设备具有传输目标数据的需求时,电子设备可获取外设通信协议,如从外设设备的接口声明中获取,或者,在外设通信协议以代码形式写入到电子设备的硬件结构中时可从硬件结构中读取;电子设备采用该外设通信协议对待传输的目标数据进行封装处理,得到封装数据;然后,电子设备将封装处理得到的封装数据发送到目标终端中部署的通信驱动程序中,以使数据接收方能够从该通信驱动程序中获取到封装数据。可选的,如果具有发送目标数据的需求的电子设备为游戏应用,那么数据接收方可是指外设设备,此实现方式下,封装数据是由游戏应用按照外设通信协议封装处理,并发送到通信驱动程序中的。可选的,如果具有发送目标数据的需求的电子设备为外设设备,那么数据接收方可是指游戏应用,此实现方式下,封装数据是由外设设备按照外设通信协议封装处理,并发送至通信驱动程序中的。
其中,根据待传输的目标数据的数据类型不同,对待传输的目标数据进行封装处理的实现方式也不相同,具体体现为对待传输的目标数据进行封装处理时所采用的信息结构不同。其中,任一数据类型对应的信息结构是由外设通信协议所定义的,本申请实施例对每种数据类型对应的信息结构的具体样式不作限定。在具体实现中,电子设备在确定待传输的目标数据后,可进一步确定该待传输的目标数据的数据类型,然后,在外设通信协议中查询该目标数据的数据类型所对应的信息结构,作为目标信息结构;再将目标数据写入目标信息结构中,得到封装处理后的封装数据。需注意的是,无论是外设设备对目标数据进行封装处理,还是游戏应用对目标数据进行封装处理,封装处理的实现过程均为上述实现方式所描述的相关内容。
可以理解的是,根据电子设备的不同,电子设备所需传输的目标数据并不相同。下面对操作对象使用外设设备操控目标游戏的过程中,不同电子设备对相应需传输的目标数据的传输实现方式进行介绍;其中:
一、电子设备包括运行游戏应用的目标终端。此情况下,在使用外设设备操控游戏应用提供的目标游戏的整个过程中,游戏应用需传输的目标数据可以包括但不限于:信息查询请求、外设控制指令及模式切换指令。下面对上述给出的三种示例性的目标数据的数据传输过程进行详细阐述。
1)目标数据包括信息查询请求,该信息查询请求用于查询外设设备的设备信息;其中,游戏应用向外设设备发送用于查询外设设备的设备信息的信息查询请求,并接收外设设备反馈的反馈结果的具体实施过程可参见图5a和图5b,如图5a和图5b所示:
s51,游戏应用在通过扫描外设设备的接口声明,确定外设设备是支持外设通信协议的硬件设备后,游戏应用可以产生信息查询请求,并按照外设通信协议对该信息查询请求进行封装,得到封装数据;然后,将该封装数据发送至通信驱动程序中,以便于外设设备通过通信驱动程序获取封装数据后,按照外设通信协议对该封装数据进行解封装处理,得到信息查询请求。其中,外设设备通过通信驱动程序获取封装数据的方式可包括:通信驱动程序主动将封装数据发送至外设设备包括的定制通信接口中的定制输出端点,然后,外设设备从该定制输出端点中获取封装数据。
s52,外设设备在获取到该封装数据后,采用外设通信协议对该封装数据进行解封装处理(即解析),得到信息查询请求;然后,外设设备响应于该信息查询请求拉取设备信息,并采用外设通信协议对设备信息进行封装处理,得到封装数据,此时该封装数据包括封装处理得到的反馈结果。其中,外设设备按照外设通信协议对设备信息进行封装处理的具体实施过程,前述描述的封装处理的实施过程是类似的,可简要概括为:根据设备信息的数据类型,从外设通信协议中获取该数据类型对应的信息结构,作为信息查询结构,然后,将设备信息填入或写入该信息查询结构中,生成反馈结果,以实现对设备信息的封装。
举例来说,可以在对设备信息进行封装处理时,可以将表一所示的示例性的设备信息填入信息查询结构中,以生成封装数据。
表一
生产厂商 | 特性信息 | 设备型号 | 设备名称 | … |
XXX | 0xXXX | XXX | XXX | … |
如表一所示的,填入信息查询结构中的信息可包括外设设备的详情信息(如生产厂商、设备型号以及设备名称)以及特性信息。其中,外设设备的特性信息可用于指示外设设备的至少一种设备能力,外设设备的特性信息可以按位填入信息查询结构;例如,若外设设备支持目标特性,则可以将目标特性所占的二进制位填为1,以指示该外设设备支持该目标特性对应的设备能力。示例性的外设设备可能支持的特性信息可参见表二。
表二
如表二所示,可以采用十六进制来表示外设设备的特性信息;当然,本申请实施例并不限定具体采用哪种进制来表示外设设备的特性,在此说明。通过将外设设备支持的特性信息按位填入信息结构,使得游戏应用在获取到特性信息后,能够根据位推测出外设设备是否支持某种特性;例如,假设外设设备的双摇杆能力是用二进制的第一来表示的,那么如果游戏应用接收到的设备信息中包括十六进制0x1,将该0x1转换为二进制0001,则此时确定该二进制的第一位为数字1,表示外设设备支持双摇杆的设备能力。
s53,外设设备可将该反馈结果回传至定制通信接口中的定制输入端点,以使游戏应用通过通信驱动程序从定制输入端点中获取反馈结果;并根据外设通信协议对反馈结果进行解封装处理,得到外设设备的设备信息。其中,游戏应用通过驱动程序从定制输入端点获取反馈结果的具体实施过程可包括:通信驱动程序可定时扫描该定制输入端点,当从定制输入端点中扫描到外设设备发送的反馈结果后,可实现对该反馈结果的获取;然后,游戏应用也可定时扫描通信驱动程序,以便于在通信驱动程序中存在外设设备发送的反馈结果后,游戏应用能够从通信驱动程序中获取到外设设备发送的反馈结果。
上述过程中,需说明的是,通信驱动程序除了采用定时扫描的方式从定制输入端点中获取反馈结果外,还支持定制输入端点主动将接收到的反馈结果发送至通信驱动程序,或者,还支持定制输入端点在获取到反馈结果后,向通信驱动程序发送反馈指令,以使通信驱动程序在接收到该反馈指令后从定制输入端点扫描反馈结果。同理,游戏应用除了可以定制扫描通信驱动成功以获取反馈结果外,也可以按照上述描述的方式获取反馈结果,如通信驱动程序主动将反馈结果发送至游戏应用,或通信驱动程序向游戏应用发送反馈指令来指示游戏应用主动获取反馈结果。本申请实施例对定制接口和通信驱动程序之间,以及通信驱动程序和游戏应用之间的数据传输的具体实现方式不作限定。
进一步的,游戏应用在获取到外设设备的设备信息,可按照该设备信息来对指令进行有效性检测。其中,指令有效可理解为该指令能够被游戏应用识别或解析,并根据识别后的结果进行相应处理;指令无效可理解为该指令不能被游戏应用进行识别,游戏应用在接收到该指令后,不作反馈或通知外设设备指令不可识别。具体实现中,游戏应用根据外设设备的设备信息对输入指令进行有效性检测的实现过程可包括:若游戏应用接收到外设设备发送的输入指令,则确定外设设备生成该输入指令所需使用的基准设备能力,如输入指令是双摇杆向左移动指令,那么确定外设设备生成该指令所需使用的基准设备能力包括双摇杆能力。然后,采用基准设备能力对特性信息所指示的至少一种设备能力进行能力命中匹配,所谓能力命中匹配即是指在特性信息所指示的至少一种设备能力中查询是否存在基准设备能力。最后,根据能力命中结果对输入指令进行有效性检测;其中,若基准设备能力命中至少一种设备能力,即该基准设备能力属于特性信息中的一种设备能力,则该输入指令被确定为有效指令。
2)目标数据包括外设控制指令,该外设控制指令用于控制外设设备执行目标游戏反馈操作。其中,游戏应用向外设设备发送外设控制指令,以使外设设备执行目标游戏反馈操作的示例性实施过程可参见图6a:
s61,游戏应用若检测到需控制外设设备执行目标游戏反馈操作,则可获取外设设备支持的特性信息;其中,游戏应用获取外设设备支持的特性信息的方式可包括:从存储空间中获取历史缓存的外设设备所支持的特性信息,或者,按照前述图5a所示实现方式,从外设设备侧获取外设设备所支持的特性信息。
s62,游戏应用在外设设备的特性信息所指示的至少一种设备能力中查找目标设备能力,该目标设备能力是指:用于指示外设设备执行目标游戏反馈操作的设备能力。具体地,游戏应用在确定需控制外设设备执行的目标游戏反馈操作后,可确定外设设备执行该目标游戏反馈操作所需的目标设备能力;然后,在特性信息所指示的至少一种设备能力中进行能力命中匹配,若从至少一种设备能力中匹配到目标设备能力,则确定外设设备具有执行目标游戏反馈操作的设备能力。
s63,游戏应用从外设设备的特性信息所指示的至少一种设备能力中,查找到目标设备能力后,可根据该目标设备能力生成用于控制外设设备执行目标游戏反馈操作的外设控制指令,且此时生成的外设控制指令为有效输出指令,即该指令能够被外设设备识别并响应。例如,外设设备的特性信息指示外设设备具备振动能力,则外设设备可生成的外设控制指令可称为振动指令,此时振动指令中可包括用于控制外设设备执行振动操作的振动数据,如表三所示:
表三
振动幅度 | 振动循环次数 | 振动时间 | 振动方向 | … |
XXX | XXX | XXX | XXX | … |
然后,游戏应用可按照外设通信协议将振动数据填入振动信息结构中,以是实现对振动指令的封装处理,并将封装数据发送至外设设备,以使外设设备在基于封装数据得到振动指令,能够根据振动指令所包含的振动数据进行振动操作。
s64,游戏应用按照外设通信协议对该外设控制指令进行封装处理,生成封装数据;并将该封装数据发送至通信驱动程序,以使通信驱动程序将该封装数据发送至外设设备的定制输出端点,这样外设设备可接收到游戏应用发送的外设控制指令,并响应该外设控制指令执行相应的目标游戏反馈操作。
以目标游戏反馈操作包括振动操作为例,此情况下,游戏应用生成的外设控制指令用于控制外设设备执行振动操作。具体实现中,外设设备中包括一个或多个振动装置,该振动装置可包括振动马达(或简称为马达),每个马达配置有相应的参数,该参数可包括但不限于:振动方向、振动频率或振动模式,用于控制马达的振动。一种实现方式中,在游戏应用运行目标游戏的过程中,若游戏应用检测到目标游戏的游戏画面中存在振动对象,即存在需要振动的游戏角色,那么可将用于控制外设设备中的默认振动装置进行振动的操作,确定为目标振动操作;其中,该默认振动装置可包括外设设备提供的一个或多个振动装置中的任一个。如图6b所示,假设游戏画面所描述的游戏场景包括:在山坡上向上行驶的汽车,那么可以确定该游戏画面中需要振动的振动对象包括汽车,则游戏应用可以基于默认振动装置的参数生成外设控制指令,此时该外设控制指令可以称为振动指令,并将振动指令下发至外设设备,以使外设设备响应该振动指令控制默认振动装置进行振动,以模拟真实环境中的振动对象进行振动所产生的振动效果。进一步的,若外设设备中的默认振动装置601位于外设设备的中心位置,则外设设备控制该默认振动装置执行振动操作时,操作对象的两种手均能感受到振动。
其他实现方式中,在游戏应用运行目标游戏的过程中,可以根据振动对象的位置,以及外设设备中的各个振动装置的位置信息,从外设设备中选取目标振动装置,并将用于控制目标振动装置机械能振动的操作,确定为目标振动操作。也就是说,可以根据振动对象在游戏画面中的具体位置(如坐标),从外设设备中确定出与振动装置在游戏画面中的位置相近的振动装置作为目标振动装置,并使得外设设备控制该目标振动装置执行振动操作,以实现模拟真实环境中振动对象进行振动的振动效果,营造更为真实的游戏体验。如图6c所示,假设游戏画面所描述的游戏场景包括:在山坡上向上行驶的汽车,那么可以确定该游戏画面中需要振动的振动对象包括汽车;然后,检测该振动对象“汽车”在游戏画面中的位置,如在以游戏画面的左上角为原点的坐标轴中,汽车的坐标位置为(20,5),那么确定该汽车位于游戏画面的右上角区域,则确定外设设备中部署在右侧手柄的振动装置602为目标振动装置;并根据该目标振动装置的参数生成外设控制指令,并将振动指令下发至外设设备,以使外设设备响应该振动指令控制目标振动装置进行振动,此时操作对象的右手相比于左手能够感受到更为明显的振动效果,以提高给操作对象更为真实的游戏体验。
需说明的是,上述只是给出示例性的外设控制指令为振动指令时的数据传输过程;在游戏应用运行目标游戏的过程中,游戏应用还可以根据具体的游戏场景和外设设备的特性信息产生其他外设控制指令;如外设设备的特性信息包括音频反馈能力,那么游戏应用在检测到游戏场景中存在控制外设设备执行音效输出的操作时,生成音频反馈指令,以使外设设备响应该音频反馈指令输出音效,为操作对象打造更为真实的游戏体验。
3)目标数据包括模式切换命令,该模式切换命令用于命令外设设备将通信模式切换至定制通信模式,以使外设设备在游戏应用运行目标游戏的过程中,使用外设通信协议进行数据传输。具体地,由于游戏应用是运行在目标终端的操作系统上的,导致游戏应用的运行可能会受到操作系统的限制,因此,在游戏应用具有向外设设备发送模式切换命令的需求时,需先检测操作系统是否支持该模式切换命令,通过外设通信协议和通信驱动程序进行传输;然后,根据检测结果确定是否由游戏应用通过通信驱动程序直接传输模式切换命令至外设设备。
其中:若检测结果指示操作系统支持,则确定游戏应用可以通过通信驱动程序之间传输模式切换命令。这种直接传输模式切换命令的示意图可参见图7a;具体包括:游戏应用可以获取外设通信协议,并按照外设通信协议和通信驱动程序直接向外设设备传输该模式切换命令;然后,外设设备在接收到该模式切换命令后,可响应该模式切换命令将通信模式切换至定制通信模式;当外设设备处于定制通信模式下,操作系统支持外设设备和游戏应用通过使用外设通信协议传输任一数据,如外设设备可以按照外设通信协议和通信驱动程序,将操作对象的目标操作和/或电量信息等数据直接传输给游戏应用。
反之,若检测结果指示检测到操作系统不支持,则确定游戏应用不可以通过通信驱动程序之间传输模式切换命令,那么模式切换命令可经由操作系统转发至外设设备。这种由操作系统转发模式切换命令的实现方式可参见图7b;具体包括:游戏应用可生成振动序列,该振动序列可以包括一串默认的字符串(如字符串“123”),用于触发外设设备执行模式切换;然后,游戏应用将生成的振动序列和目标数据(如模式切换指令)发送给操作系统的管理模块,以使管理模块通过通信驱动程序,将振动序列和目标数据转发给外设设备;这样外设设备在接收到振动序列时,可以确定需要进行模式切换,进一步根据模式切换命令将通信模式切换至定制通信模式。
二、电子设备包括外设设备。此情况下,在使用外设设备操控游戏应用提供的目标游戏的整个过程中,外设设备需传输的目标数据可以包括但不限于:对象输入信号以及电量预警信号。下面对上述给出的两种示例性的目标数据的数据传输过程进行详细阐述。
1)目标数据包括对象输入信号。具体实现中,在外设设备处于定制通信模式下,若在游戏应用运行目标游戏的过程中,外设设备检测到目标游戏的操作对象输入的目标操作,则外设设备可以根据目标操作生成对象输入信号,此时可将该对象输入信号作为目标数据;并按照外设通信协议将对象输入信号填入输入信息结构中,以实现对对象输入信号的封装处理;然后,通过通信驱动程序将封装后的封装数据传输给游戏应用,使得游戏应用在获取到封装数据后,对封装数据进行解封装处理得到目标数据,并根据目标数据对目标游戏的游戏画面进行更新。如图8所示,在操作对象使用外设设备操作目标游戏的过程中,若外设设备检测到操作对象针对游戏对象801输入的向上滑动操作,表示外设设备想要游戏对象801跟随向上滑动操作执行跳跃动作,则外设设备可以根据该向上滑动操作生成对象输入信号,并将该对象输入信号作为目标数据直接通过通信驱动程序传输给游戏应用;然后,游戏应用获取到目标数据后,可根据该目标数据确定出游戏对象执行跳跃动作时的游戏画面,并采用该游戏对象执行跳跃动作时的游戏画面,更新显示执行跳跃动作之前的游戏画面。
2)目标数据包括电量预警信号。具体实现中,在操作对象使用外设设备操控目标游戏的过程中,即在外设设备的运行过程中,外设设备可以获取自身的设备电量,如定制获取设备电量;若外设设备检测到设备电量小于电量阈值,表示此时外设设备的电量较低,则外设设备可以生成电量预警信号,此时该电量预警信号作为目标数据;然后,采用外设通信协议对该电量预警信号进行封装,具体是将外设设备的设备信息添加至电量信息结构中,得到封装处理后的封装数据;然后,将该封装数据回传至定制输入接口,这样游戏应用可通过通信驱动程序从该定制输入接口中扫描到封装数据,并在对该封装数据解析处理后得到电量预警信号。进一步的,游戏应用在获取到该目标数据(即电量预警信号)后,可根据目标数据生成电量预警信息,并在游戏应用的应用界面中显示该电量预警信息,该电量预警信息用于提示外设设备需充电,有利于操作对象及时了解外设设备的剩余电量情况,避免由于外设设备断电导致的游戏中段,进而提升操作对象的游戏体验,提升用户黏性。一种示例性的外设设备主动进行电量预警的实现方式可参见图9,游戏画面中显示有电量预警信息901。
需要说明的是,上述只是对电子设备分别为游戏应用和外设设备的几种示例性的目标数据的数据传输过程进行了阐述,并不会对本申请实施例产生限定。
综上所述,本申请实施例可按照目标终端中部署的通信驱动程序所遵循的数据传输规范,在游戏应用和外设设备之间定制一个外设通信协议,由于该定制的外设通信协议是基于通信驱动程序所遵循的数据传输规范编写的,而通信驱动程序所遵循的数据传输规范在各种终端中是统一通用的,这使得该定制的外设通信协议支持跨终端使用,提高外设通信协议的适用性。并且,使用该定制的外设通信协议能够实现游戏应用和外设设备之间的直接通信,使得游戏应用和外设设备之间传输的数据不再受到目标终端中的操作系统的限制,从而游戏应用和外设设备之间可以发送更为丰富的数据,实现外设设备中更为丰富的游戏操控能力,可增加游戏的趣味性,进而提升用户黏性。
基于上述数据传输方法实施例的描述,本申请实施例还公开了一种数据传输装置,该数据传输装置可以是运行于电子设备中的一个计算机程序(包括程序代码)。该数据传输装置可以执行图4所示的方法。请参见图10,所述数据传输装置可以运行如下单元:
获取单元1001,用于当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
处理单元1002,用于使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
在一种实施方式中,处理单元1002用于在用于使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据时,可具体用于:
采用外设通信协议对目标数据进行封装处理,得到封装数据;
将封装数据发送到通信驱动程序中,以使数据接收方从通信驱动程序中获取封装数据;
其中,若封装数据是由游戏应用发送到通信驱动程序中的,则数据接收方是指外设设备;若封装数据是由外设设备发送到通信驱动程序中的,则数据接收方是指游戏应用。
在一种实施方式中,外设通信协议中规定了一种或多种数据类型所对应的信息结构;处理单元1002在采用外设通信协议对目标数据进行封装处理,得到封装数据时,可具体用于:
确定目标数据的数据类型;
在外设通信协议中查询目标数据的数据类型所对应的信息结构,作为目标信息结构;
将目标数据写入目标信息结构中,得到封装数据。
在一种实施方式中,该装置搭载于游戏应用中,通信驱动程序中包括外设设备的一个或多个通信接口的接口声明;处理单元1002还可用于:
从通信驱动程序中扫描外设设备的各个通信接口的接口声明,在得到的各个接口声明中查找指定协议标识;
若在至少一个接口声明中查找到所述指定协议标识,则将指定协议标识所标识的通信协议确定为外设通信协议。
在一种实施方式中,目标数据包括用于查询外设设备的设备信息的信息查询请求,设备信息至少包括外设设备所支持的特性信息;处理单元1002还可用于:
在通信驱动程序中存在外设设备发送的反馈结果后,从通信驱动程序中获取反馈结果;反馈结果是由外设设备响应于信息查询请求,采用外设通信协议对设备信息进行封装处理所得到的;
根据外设通信协议对反馈结果进行解封装处理,得到外设设备的设备信息。
在一种实施方式中,特性信息用于指示外设设备的至少一种设备能力;处理单元1002还可用于:
若接收到外设设备发送的输入指令,则确定外设设备生成输入指令所需使用的基准设备能力;
采用基准设备能力对特性信息所指示的至少一种设备能力进行能力命中匹配;
根据能力命中匹配结果对输入指令进行有效性检测;其中,若基准设备能力命中至少一种设备能力,则输入指令被确定为有效指令。
在一种实施方式中,目标数据包括外设控制指令,处理单元1002还可用于:
若检测到需控制外设设备执行目标游戏反馈操作,则获取外设设备支持的特性信息,特性信息用于指示外设设备的至少一种设备能力;
在特性信息所指示的至少一种设备能力中查找目标设备能力,目标设备能力是指:用于支持外设设备执行目标游戏反馈操作的设备能力;
若查找到目标设备能力,则生成用于控制外设设备执行目标游戏反馈操作的外设控制指令。
在一种实施方式中,外设设备中包括一个或多个振动装置,目标游戏反馈操作包括目标振动操作;处理单元1002还可用于:
在游戏应用运行目标游戏的过程中,若检测到目标游戏的游戏画面中存在振动对象,则将用于控制外设设备中的默认振动装置进行振动的操作,确定为目标振动操作;
或者,根据振动对象在游戏画面中的位置,以及外设设备中的各个振动装置的位置信息,从外设设备中选取目标振动装置,并将用于控制目标振动装置进行振动的操作,确定为目标振动操作。
在一种实施方式中,游戏应用运行在目标终端的操作系统上,且在外设设备处于定制通信模式下,操作系统支持外设设备和游戏应用通过使用外设通信协议传输任一数据;
其中,目标数据包括模式切换命令,模式切换命令用于命令外设设备将通信模式切换至定制通信模式,以使外设设备在游戏应用运行目标游戏的过程中,使用外设通信协议进行数据传输;
处理单元1002还可用于:
检测操作系统是否支持模式切换命令,通过外设通信协议和通信驱动程序进行传输;
若支持,则触发执行获取外设通信协议的步骤;
若不支持,则生成振动序列,振动序列用于触发外设设备执行模式切换;将振动序列和目标数据发送给操作系统的管理模块,以使管理模块通过通信驱动程序,将振动序列和目标数据转发给外设设备。
在一种实施方式中,该装置搭载在外设设备上,处理单元1002还可用于:
在游戏应用运行目标游戏的过程中,若检测到目标游戏的操作对象输入的目标操作,则根据目标操作生成对象输入信号作为目标数据;
其中,游戏应用在获取到目标数据后,根据目标数据对目标游戏的游戏画面进行更新。
在一种实施方式中,该装置搭载在外设设备上,处理单元1002还可用于:
在外设设备的运行过程中,获取外设设备的设备电量;
若设备电量小于电量阈值,则生成电量预警信号作为目标数据;
其中,游戏应用在获取到目标数据后,根据目标数据生成电量预警信息,并在游戏应用的应用界面中显示电量预警信息。
在一种实施方式中,外设设备包括基于外设通信协议所定制的定制通信接口,定制通信接口包括定制输入端点和定制输出端点;
其中,外设设备是通过所述定制输入端点,将数据发送给通信驱动程序;且外设设备是通过定制输出端点,从通信驱动程序中获取数据的。
在一种实施方式中,目标数据是在外设设备处于定制通信模式下传输的;
其中,外设设备是在通过定制输出端点,获取到游戏应用发送的心跳指令的情况下,维持在定制通信模式下工作的。
根据本申请的另一个实施例,图10所示的数据传输装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的数据传输设备,以及来实现本申请实施例的数据传输方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例中,可按照目标终端中的通信驱动程序所遵循的数据传输规范,在游戏应用和外设设备之间定制一个外设通信协议,由于该定制的外设通信协议是基于通信驱动程序所遵循的数据传输规范编写的,而通信驱动程序所遵循的数据传输规范在各种终端中是统一通用的,这使得该定制的外设通信协议支持跨终端使用,提高外设通信协议的适用性。并且,使用该定制的外设通信协议能够实现游戏应用和外设设备之间的直接通信,使得游戏应用和外设设备之间传输的数据不再受到目标终端中的操作系统的限制,从而游戏应用和外设设备之间可以发送更为丰富的数据,提供丰富的游戏操控能力,进而提升用户黏性。
图11示出了本申请一个示例性实施例提供的一种电子设备的结构示意图;请参见图11,该电子设备至少包括处理器1101、通信接口1102和计算机可读存储介质1103。该电子设备包括处理器1101、通信接口1102以及计算机可读存储介质1103。其中,处理器1101、通信接口1102以及计算机可读存储介质1103可通过总线或者其它方式连接。其中,通信接口1102用于接收和发送数据。计算机可读存储介质1103可以存储在电子设备的存储器中,计算机可读存储介质1103用于存储计算机程序,计算机程序包括程序指令,处理器1101用于执行计算机可读存储介质1103存储的程序指令。处理器1101(或称CPU(CentralProcessing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括电子设备中的内置存储介质,当然也可以包括电子设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备的处理系统。并且,在该存储空间中还存放了适于被处理器1101加载并执行的一条或多条的指令,这些指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器1101加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述数据传输方法实施例中的相应步骤;计算机可读存储介质中的一条或多条指令由处理器1101加载并执行如下步骤:
当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;目标终端通过内部的通信驱动程序收发数据,外设通信协议是按照通信驱动程序的数据传输规范,在游戏应用和外设设备之间定制的;
使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据。
在一种实施方式中,计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行使用外设通信协议并通过通信驱动程序,在游戏应用和外设设备之间传输目标数据时,具体执行如下步骤:
采用外设通信协议对目标数据进行封装处理,得到封装数据;
将封装数据发送到通信驱动程序中,以使数据接收方从通信驱动程序中获取封装数据;
其中,若封装数据是由游戏应用发送到通信驱动程序中的,则数据接收方是指外设设备;若封装数据是由外设设备发送到通信驱动程序中的,则数据接收方是指游戏应用。
在一种实施方式中,外设通信协议中规定了一种或多种数据类型所对应的信息结构;计算机可读存储介质中的一条或多条指令由处理器1101加载并在执行在采用外设通信协议对目标数据进行封装处理,得到封装数据时,具体执行如下步骤:
确定目标数据的数据类型;
在外设通信协议中查询目标数据的数据类型所对应的信息结构,作为目标信息结构;
将目标数据写入目标信息结构中,得到封装数据。
在一种实施方式中,该装置搭载于游戏应用中,通信驱动程序中包括外设设备的一个或多个通信接口的接口声明;计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
从通信驱动程序中扫描外设设备的各个通信接口的接口声明,在得到的各个接口声明中查找指定协议标识;
若在至少一个接口声明中查找到所述指定协议标识,则将指定协议标识所标识的通信协议确定为外设通信协议。
在一种实施方式中,目标数据包括用于查询外设设备的设备信息的信息查询请求,设备信息至少包括外设设备所支持的特性信息;计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
在通信驱动程序中存在外设设备发送的反馈结果后,从通信驱动程序中获取反馈结果;反馈结果是由外设设备响应于信息查询请求,采用外设通信协议对设备信息进行封装处理所得到的;
根据外设通信协议对反馈结果进行解封装处理,得到外设设备的设备信息。
在一种实施方式中,特性信息用于指示外设设备的至少一种设备能力;计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
若接收到外设设备发送的输入指令,则确定外设设备生成输入指令所需使用的基准设备能力;
采用基准设备能力对特性信息所指示的至少一种设备能力进行能力命中匹配;
根据能力命中匹配结果对输入指令进行有效性检测;其中,若基准设备能力命中至少一种设备能力,则输入指令被确定为有效指令。
在一种实施方式中,目标数据包括外设控制指令,计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
若检测到需控制外设设备执行目标游戏反馈操作,则获取外设设备支持的特性信息,特性信息用于指示外设设备的至少一种设备能力;
在特性信息所指示的至少一种设备能力中查找目标设备能力,目标设备能力是指:用于支持外设设备执行目标游戏反馈操作的设备能力;
若查找到目标设备能力,则生成用于控制外设设备执行目标游戏反馈操作的外设控制指令。
在一种实施方式中,外设设备中包括一个或多个振动装置,目标游戏反馈操作包括目标振动操作;计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
在游戏应用运行目标游戏的过程中,若检测到目标游戏的游戏画面中存在振动对象,则将用于控制外设设备中的默认振动装置进行振动的操作,确定为目标振动操作;
或者,根据振动对象在游戏画面中的位置,以及外设设备中的各个振动装置的位置信息,从外设设备中选取目标振动装置,并将用于控制目标振动装置进行振动的操作,确定为目标振动操作。
在一种实施方式中,游戏应用运行在目标终端的操作系统上,且在外设设备处于定制通信模式下,操作系统支持外设设备和游戏应用通过使用外设通信协议传输任一数据;
其中,目标数据包括模式切换命令,模式切换命令用于命令外设设备将通信模式切换至定制通信模式,以使外设设备在游戏应用运行目标游戏的过程中,使用外设通信协议进行数据传输;
计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
检测操作系统是否支持模式切换命令,通过外设通信协议和通信驱动程序进行传输;
若支持,则触发执行获取外设通信协议的步骤;
若不支持,则生成振动序列,振动序列用于触发外设设备执行模式切换;将振动序列和目标数据发送给操作系统的管理模块,以使管理模块通过通信驱动程序,将振动序列和目标数据转发给外设设备。
在一种实施方式中,该装置搭载在外设设备上,计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
在游戏应用运行目标游戏的过程中,若检测到目标游戏的操作对象输入的目标操作,则根据目标操作生成对象输入信号作为目标数据;
其中,游戏应用在获取到目标数据后,根据目标数据对目标游戏的游戏画面进行更新。
在一种实施方式中,该装置搭载在外设设备上,计算机可读存储介质中的一条或多条指令由处理器1101加载并还执行如下步骤:
在外设设备的运行过程中,获取外设设备的设备电量;
若设备电量小于电量阈值,则生成电量预警信号作为目标数据;
其中,游戏应用在获取到目标数据后,根据目标数据生成电量预警信息,并在游戏应用的应用界面中显示电量预警信息。
在一种实施方式中,外设设备包括基于外设通信协议所定制的定制通信接口,定制通信接口包括定制输入端点和定制输出端点;
其中,外设设备是通过所述定制输入端点,将数据发送给通信驱动程序;且外设设备是通过定制输出端点,从通信驱动程序中获取数据的。
在一种实施方式中,目标数据是在外设设备处于定制通信模式下传输的;
其中,外设设备是在通过定制输出端点,获取到游戏应用发送的心跳指令的情况下,维持在定制通信模式下工作的。
基于同一发明构思,本申请实施例中提供的电子设备解决问题的原理与有益效果与本申请方法实施例中数据传输方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述数据传输方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种数据传输方法,其特征在于,包括:
当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;所述目标终端通过内部的通信驱动程序收发数据,所述外设通信协议是按照所述通信驱动程序的数据传输规范,在所述游戏应用和所述外设设备之间定制的;
使用所述外设通信协议并通过所述通信驱动程序,在所述游戏应用和所述外设设备之间传输所述目标数据。
2.如权利要求1所述的方法,其特征在于,所述使用所述外设通信协议并通过所述通信驱动程序,在所述游戏应用和所述外设设备之间传输所述目标数据,包括:
采用所述外设通信协议对所述目标数据进行封装处理,得到封装数据;
将所述封装数据发送到所述通信驱动程序中,以使数据接收方从所述通信驱动程序中获取所述封装数据;
其中,若所述封装数据是由所述游戏应用发送到所述通信驱动程序中的,则所述数据接收方是指所述外设设备;若所述封装数据是由所述外设设备发送到所述通信驱动程序中的,则所述数据接收方是指所述游戏应用。
3.如权利要求2所述的方法,其特征在于,所述外设通信协议中规定了一种或多种数据类型所对应的信息结构;所述采用所述外设通信协议对所述目标数据进行封装处理,得到封装数据,包括:
确定所述目标数据的数据类型;
在所述外设通信协议中查询所述目标数据的数据类型所对应的信息结构,作为目标信息结构;
将所述目标数据写入所述目标信息结构中,得到封装数据。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法由所述游戏应用执行,所述通信驱动程序中包括所述外设设备的一个或多个通信接口的接口声明;所述方法还包括:
从所述通信驱动程序中扫描所述外设设备的各个通信接口的接口声明,在得到的各个接口声明中查找指定协议标识;
若在至少一个所述接口声明中查找到所述指定协议标识,则将所述指定协议标识所标识的通信协议确定为外设通信协议。
5.如权利要求4所述的方法,其特征在于,所述目标数据包括用于查询所述外设设备的设备信息的信息查询请求,所述设备信息至少包括所述外设设备所支持的特性信息;所述方法还包括:
在所述通信驱动程序中存在所述外设设备发送的反馈结果后,从所述通信驱动程序中获取所述反馈结果;所述反馈结果是由所述外设设备响应于所述信息查询请求,采用所述外设通信协议对所述设备信息进行封装处理所得到的;
根据所述外设通信协议对所述反馈结果进行解封装处理,得到所述外设设备的设备信息。
6.如权利要求5所述的方法,其特征在于,所述特性信息用于指示所述外设设备的至少一种设备能力;所述方法还包括:
若接收到所述外设设备发送的输入指令,则确定外设设备生成所述输入指令所需使用的基准设备能力;
采用所述基准设备能力对所述特性信息所指示的至少一种设备能力进行能力命中匹配;
根据能力命中匹配结果对所述输入指令进行有效性检测;其中,若所述基准设备能力命中所述至少一种设备能力,则所述输入指令被确定为有效指令。
7.如权利要求4所述的方法,其特征在于,所述目标数据包括外设控制指令,所述方法还包括:
若检测到需控制所述外设设备执行目标游戏反馈操作,则获取所述外设设备支持的特性信息,所述特性信息用于指示所述外设设备的至少一种设备能力;
在所述特性信息所指示的至少一种设备能力中查找目标设备能力,所述目标设备能力是指:用于支持所述外设设备执行所述目标游戏反馈操作的设备能力;
若查找到所述目标设备能力,则生成用于控制所述外设设备执行所述目标游戏反馈操作的外设控制指令。
8.如权利要求7所述的方法,其特征在于,所述外设设备中包括一个或多个振动装置,所述目标游戏反馈操作包括目标振动操作;所述方法还包括:
在所述游戏应用运行目标游戏的过程中,若检测到所述目标游戏的游戏画面中存在振动对象,则将用于控制所述外设设备中的默认振动装置进行振动的操作,确定为所述目标振动操作;
或者,根据所述振动对象在所述游戏画面中的位置,以及所述外设设备中的各个振动装置的位置信息,从所述外设设备中选取目标振动装置,并将用于控制所述目标振动装置进行振动的操作,确定为所述目标振动操作。
9.如权利要求4所述的方法,其特征在于,所述游戏应用运行在所述目标终端的操作系统上,且在所述外设设备处于定制通信模式下,所述操作系统支持所述外设设备和所述游戏应用通过使用所述外设通信协议传输任一数据;
其中,所述目标数据包括模式切换命令,所述模式切换命令用于命令所述外设设备将通信模式切换至所述定制通信模式,以使所述外设设备在所述游戏应用运行目标游戏的过程中,使用所述外设通信协议进行数据传输;
所述方法还包括:
检测所述操作系统是否支持所述模式切换命令,通过所述外设通信协议和所述通信驱动程序进行传输;
若支持,则触发执行所述获取外设通信协议的步骤;
若不支持,则生成振动序列,所述振动序列用于触发所述外设设备执行模式切换;将所述振动序列和所述目标数据发送给所述操作系统的管理模块,以使所述管理模块通过所述通信驱动程序,将所述振动序列和所述目标数据转发给所述外设设备。
10.如权利要求1-3任一项所述的方法,其特征在于,所述方法由所述外设设备执行,所述方法还包括:
在所述游戏应用运行目标游戏的过程中,若检测到所述目标游戏的操作对象输入的目标操作,则根据所述目标操作生成对象输入信号作为目标数据;
其中,所述游戏应用在获取到所述目标数据后,根据所述目标数据对所述目标游戏的游戏画面进行更新。
11.如权利要求1-3任一项所述方法,其特征在于,所述方法由所述外设设备执行,所述方法还包括:
在所述外设设备的运行过程中,获取所述外设设备的设备电量;
若所述设备电量小于电量阈值,则生成电量预警信号作为目标数据;
其中,所述游戏应用在获取到所述目标数据后,根据所述目标数据生成电量预警信息,并在所述游戏应用的应用界面中显示所述电量预警信息。
12.如权利要求1-3任一项所述的方法,其特征在于,所述外设设备包括基于所述外设通信协议所定制的定制通信接口,所述定制通信接口包括定制输入端点和定制输出端点;
其中,所述外设设备是通过所述定制输入端点,将数据发送给所述通信驱动程序;且所述外设设备是通过所述定制输出端点,从所述通信驱动程序中获取数据的。
13.如权利要求12所述的方法,其特征在于,所述目标数据是在所述外设设备处于定制通信模式下传输的;
其中,所述外设设备是在通过所述定制输出端点,获取到所述游戏应用发送的心跳指令的情况下,维持在所述定制通信模式下工作的。
14.一种数据传输装置,其特征在于,包括:
获取单元,用于当目标终端中的游戏应用和外设设备之间需传输目标数据时,获取外设通信协议;所述目标终端通过内部的通信驱动程序收发数据,所述外设通信协议是按照所述通信驱动程序的数据传输规范,在所述游戏应用和所述外设设备之间定制的;
使用所述外设通信协议并通过所述通信驱动程序,在所述游戏应用和所述外设设备之间传输所述目标数据。
15.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-13任一项所述的数据传输方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-13任一项所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210466211.9A CN117012017A (zh) | 2022-04-29 | 2022-04-29 | 一种数据传输方法、装置、设备及介质 |
PCT/CN2023/090483 WO2023207941A1 (zh) | 2022-04-29 | 2023-04-25 | 数据传输方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210466211.9A CN117012017A (zh) | 2022-04-29 | 2022-04-29 | 一种数据传输方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117012017A true CN117012017A (zh) | 2023-11-07 |
Family
ID=88517796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210466211.9A Pending CN117012017A (zh) | 2022-04-29 | 2022-04-29 | 一种数据传输方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117012017A (zh) |
WO (1) | WO2023207941A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2347275C2 (ru) * | 2002-09-13 | 2009-02-20 | АйДжиТи | Протокол usb-устройства для игровой машины |
US20050221894A1 (en) * | 2004-03-31 | 2005-10-06 | Microsoft Corporation | Multi-system game controller that operates in multiple USB modes |
WO2006039134A2 (en) * | 2004-10-01 | 2006-04-13 | Wms Gaming Inc. | System and method for converting gaming peripheral communication |
CN104754392B (zh) * | 2011-05-12 | 2017-11-17 | 青岛海信电器股份有限公司 | 一种电视机的遥控数据传输方法 |
CN106075902A (zh) * | 2016-06-14 | 2016-11-09 | 广州小鸡快跑网络科技有限公司 | 游戏手柄、基于ble连接的游戏控制方法及装置 |
CN112090061B (zh) * | 2020-09-16 | 2021-04-27 | 深圳未来游戏设备科技有限公司 | 针对蓝牙通讯协议上的游戏外设模式调节方法 |
-
2022
- 2022-04-29 CN CN202210466211.9A patent/CN117012017A/zh active Pending
-
2023
- 2023-04-25 WO PCT/CN2023/090483 patent/WO2023207941A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023207941A1 (zh) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6312877B2 (ja) | デバイスをインテリジェントに制御するための方法、装置、及びシステム、並びにプラグアンドプレイ・デバイス | |
CN102932695B (zh) | 一种遥控方法、智能终端及智能遥控系统 | |
CN105611364B (zh) | 便携数码设备与大屏幕互动的方法、装置及系统 | |
CN111684778B (zh) | 应用功能的实现方法及电子设备 | |
TWI444216B (zh) | 基於移動終端實現遊戲之方法和裝置 | |
CN110032512B (zh) | 一种小程序的调试方法、相关设备及终端 | |
CN104823180B (zh) | 分布式跨平台用户界面和应用投影 | |
WO2018077041A1 (zh) | 应用运行的方法及装置 | |
CN106385621A (zh) | 智能设备控制方法和装置 | |
CN109040182A (zh) | 一种服务访问方法及装置、电子设备、存储介质 | |
CN114339332B (zh) | 一种移动终端、显示设备及跨网投屏方法 | |
US20170272268A1 (en) | Network appliance, feature phone, network appliance, system and control method of network applicance | |
CN113168334A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN114007143A (zh) | 信息交互方法、装置、设备及计算机存储介质、程序产品 | |
AU2013388030A1 (en) | Method, apparatus, and system for intelligently controlling device, and plug-and-play device | |
CN117012017A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN108984375B (zh) | 一种内容抓取方法、装置、系统以及存储介质 | |
CN113617020B (zh) | 游戏控制方法、装置、存储介质、服务器以及终端 | |
KR102506155B1 (ko) | 전자장치, 어플리케이션 실행 시스템 및 그 제어방법 | |
CN114916091A (zh) | 设备互联方法、装置、电子设备及存储介质 | |
JP5199970B2 (ja) | 視聴可能範囲のユーザを操作対象装置のディスプレイに表示するシステム及び方法 | |
CN113918363A (zh) | 标签转换方法、装置、电子设备及计算机可读介质及产品 | |
CN116036578B (zh) | 数据处理方法、装置及相关设备 | |
US11980812B2 (en) | Cloud gaming by streaming video data on playback device | |
WO2015101340A1 (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 |