一种数据传输方法及系统与流程

文档序号:17954816发布日期:2019-06-19 00:22阅读:149来源:国知局
一种数据传输方法及系统与流程

本发明涉及数据传输领域,尤其涉及一种数据传输方法及系统。



背景技术:

目前,很多终端设备之间采用无线的方式进行连接,并进行数据的传输,例如蓝牙、Wifi、红外线等。现有技术中终端设备将数据元素装载在传输数据中,然后将携带有所述数据元素的传输数据发送给其他终端设备,以实现数据的传输。由于现有技术中每个传输数据仅装载一个数据元素,对于较大的数据量来说,就需要很多个传输数据,因而传输过程效率低下。



技术实现要素:

为了解决现有技术中存在的技术问题,本发明提供一种数据传输方法和系统,实现了提高数据传输效率的目的。

本发明实施例提供了一种数据传输方法,所述方法包括:

预先确定传输数据的数据类型,将所述传输数据的位至少划分两个区间;

第一终端设备获取至少两个数据元素,并将所述至少两个数据元素分别填充至对应的区间内,每个区间至少填充一个数据元素,每个区间的长度与填充的数据元素相适应;

所述第一终端设备将携带有所述数据元素的传输数据发送至第二终端设备。

优选的,所述方法包括:

所述第二终端设备从携带有所述数据元素的传输数据中,按区间提取所述数据元素。

优选的,所述按区间提取所述数据元素包括:

利用多线程从各区间中提取所述数据元素。

优选的,所述按区间提取所述数据元素包括:

设置与待提取区间对应的掩码;

将所述掩码与所述待提取区间对应的传输数据进行与操作,得到操作结果;

通过移位操作,从所述操作结果中提取所述待提取区间的数据元素。

优选的,所述数据类型包括字节、整型数据和/或字符型数据。

优选的,所述第一终端设备包括手柄端。

本发明实施例还提供了一种数据传输系统,所述系统包括第一终端设备和第二终端设备,其中所述第一终端设备包括:区间划分单元、数据元素获取单元和发送单元;

所述区间划分单元,用于预先确定用于传输数据的数据类型,将所述传输数据的位至少划分两个区间;

所述数据元素获取单元,用于获取至少两个数据元素,并将所述至少两个数据元素分别填充至对应的区间内,每个区间至少填充一个数据元素,每个区间的长度与填充的数据元素相适应;

所述发送单元,用于将携带有所述数据元素的传输数据发送至第二终端设备。

优选的,所述第二终端设备,用于从携带有所述数据元素的传输数据中,按区间提取所述数据元素。

优选的,所述第二终端设备,具体用于:

从携带有所述数据元素的传输数据中,利用多线程从各区间中提取所述数据元素。

优选的,所述第二终端设备包括:

掩码设置单元、与操作单元和提取单元;

所述掩码设置单元,用于设置与待提取区间对应的掩码;

所述与操作单元,用于将所述掩码与所述待提取区间对应的传输数据进行与操作,得到操作结果;

所述提取单元,用于通过移位操作,从所述操作结果中提取所述待提取区间的数据元素。

本发明通过将所述传输数据的位划分为至少两个区间,每个区间分别至少填充一个数据元素,这样,所述传输数据就为至少携带有两个数据元素的数据,相对于现有技术中,每个传输数据仅携带有一个数据元素的技术方案,本发明有效提高了数据传输效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例一提供的一种数据传输方法流程图;

图2为本发明实施例一中一个32位的长整型数据划分为三个区间的示意图;

图3为本发明实施例二提供的一种数据传输方法流程图;

图4为本发明实施例三提供的一种数据传输系统的结构框图;

图5为本发明实施例四提供的一种数据传输系统的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,该图为本发明实施例一提供的一种数据传输方法流程图。

本实施例提供的数据传输方法包括如下步骤:

步骤S101:预先确定传输数据的数据类型,将所述传输数据的位至少划分两个区间。

步骤S102:第一终端设备获取至少两个数据元素,并将所述至少两个数据元素分别填充至对应的区间内,每个区间至少填充一个数据元素,每个区间的长度与填充的数据元素相适应。

步骤S103:所述第一终端设备将携带有所述数据元素的传输数据发送至第二终端设备。

在计算机中,以位(0或1)为单位来表示数据,本发明中的数据类型包括以位为单位的所有类型的数据,在本实施例中,所述传输数据为包括至少两位的数据。表1为常见的数据类型以及对应的存储空间大小和取值范围。

表1

现有技术中,终端设备之间的数据传输是将数据元素“装载”在预设的传输数据的各个位中进行传输。所谓数据元素是指数据传输的基本单位。以一个终端设备为手柄端(例如游戏手柄),另外一个终端设备为移动终端为例,所述游戏手柄用于采集用户手指的运动轨迹信息,所述运动轨迹信息包括手指初始触摸手柄端触摸屏时的x轴坐标和y轴坐标(以下分别简称第一x轴坐标和第一y轴坐标),以及该手指离开所述触摸屏时的x轴坐标和y轴坐标(以下分别简称第二x轴坐标和第二y轴坐标),若是多手指同时操作,则还包括手指的编号,以将各个手指进行区分。因此,所述数据元素包括x轴坐标、y轴坐标和手指编号。现有技术每个传输数据仅装载一个数据元素,例如,所述传输数据的数据类型为32位的长整型数据,那么对于一组手指运动轨迹信息(包括手指编号、第一x轴坐标、第一y轴坐标、第二x轴坐标和第二y轴坐标),就需要至少5个32位的长整型数据进行传输,而并不是所有的数据元素都能够填充满这32位,造成很多位被浪费,影响数据传输的效率,尤其是对于吞吐量较小的无线传输方式,例如蓝牙、WIFI等,数据传输效率被影响的程度较为明显。

为了解决这个技术问题,本发明将传输数据的位划分为至少两个区间,每个区间分别用于填充至少一个数据元素。以上述例子为例,可以将一个32位的长整型数据划分为三个区间,参见图2,第一个区间为前10位,用于装载占用8位的手指编号,第二个区间为第11位至第21位,用于装载占用10位的第一x轴坐标,第三个区间为第22位至第32位,用于装载占用10位的第一y轴坐标,也就是说,一个32位的长整型数据现在可以装载三个数据元素,减少了浪费的位的数量,提高了数据传输效率。

需要注意的是,在对传输数据的位进行区间划分的时候,每个区间的长度与填充的数据需要相适应,即各个区间对应的位的数量不小于要填充的数据元素所占用的位的数量。

实施例二:

参见图3,该图为本发明实施例二提供的一种数据传输方法流程图。

本实施例提供的数据传输方法包括如下步骤:

步骤S201:预先确定传输数据的数据类型,将所述传输数据的位至少划分两个区间。

步骤S202:第一终端设备获取至少两个数据元素,并将所述至少两个数据元素分别填充至对应的区间内,每个区间至少填充一个数据元素,每个区间的长度与填充的数据元素相适应。

步骤S203:所述第一终端设备将携带有所述数据元素的传输数据发送至第二终端设备。

所述步骤S201至步骤S203与步骤S101至步骤S103相同,此处不再赘述。

步骤S204:所述第二终端设备从携带有所述数据元素的传输数据中,按区间提取所述数据元素。

所述实施例一介绍了第一终端设备作为数据发送端,对传输数据进行处理的方法,在本实施例中,着重介绍作为数据接收端的第二终端设备,在接收到由所述第一终端设备通过无线或有线的方式发送的传输数据之后,如何进行处理。具体的,预先在所述第二终端设备设置待提取的区间设置规则,从来自所述第一终端设备的,携带有所述数据元素的传输数据中,按区间提取所述数据元素。以上述例子为例,所述第二终端设备在接收到图2中的传输数据后,从所述第一区间内提取手指编号,从所述第二区间内提取所述第一x轴坐标,从所述第三区间内提取所述第一y轴坐标。

为了提高从所述传输数据中的各区间提取所述数据元素的效率,所述第二终端设备可以利用多线程进行提取。在实际应用中,可以在所述第二终端设备设置一个包括至少两个线程的线程池,并将接收到的所述传输数据挂在一个链表上,利用多线程同时对所述多个传输数据中的数据元素进行提取,每当线程池中有空余线程时,就会被分配从所述链表中提取所述传输数据的任务,直到链表上的所有传输数据都处理完毕。

另外,关于如何按区间提取所述数据元素,在实际应用中有多种实现方式,本发明不做具体限定,本实施例提供其中一种作为示例:

首先,设置与待提取区间对应的掩码。所述掩码是一串二进制代码,在本实施例中,不同的待提取区间对应不同的掩码,通过利用掩码与所述待提取区间对应的传输数据进行与操作,得到操作结果,然后通过移位操作,从所述操作结果中提取所述待提取区间的数据元素。例如,若待提取区间为图2中的第一区间,即第1-10位,那么可以设置掩码MASK_A为11111111110000000000000000000000,在将所述MASK_A与32位的传输数据执行与操作后,获取到的值右移22位就得到所述手指编号;若待提取区间为图2中的第二区间,即第11-21位,那么可以设置掩码MASK_B为00000000001111111111100000000000,在将所述掩码MASK_B与32位的传输数据执行与操作后,获取到的值右移11位就可以得到所述第一x轴坐标;若所述待提取区间为图2中的第三区间,即第22-32位,那么可以设置掩码MASK_C为00000000000000000000011111111111,在将MASK_C与所述32位的传输数据执行与操作后,获取到的值右移0位得到所述第一y轴坐标。

基于以上实施例提供的一种数据传输方法,本发明实施例还提供了一种数据传输系统,下面结合附图来详细说明其工作原理。

实施例三:

参见图4,该图为本发明实施例三提供的一种数据传输系统的结构框图。

本实施例提供的数据传输系统包括:第一终端设备11和第二终端设备12,其中所述第一终端设备11包括:区间划分单元101、数据元素获取单元102和发送单元103;

所述区间划分单元101,用于预先确定用于传输数据的数据类型,将所述传输数据的位至少划分两个区间;

所述数据元素获取单元102,用于获取至少两个数据元素,并将所述至少两个数据元素分别填充至对应的区间内,每个区间至少填充一个数据元素,每个区间的长度与填充的数据元素相适应;

所述发送单元103,用于将携带有所述数据元素的传输数据发送至第二终端设备。

所述第一终端设备11包括处理器和存储器,上述区间划分单元101、数据元素获取单元102和发送单元103均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现提高数据传输效率的目的。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本实施例通过将传输数据的位划分为至少两个区间,每个区间分别用于填充至少一个数据元素,减少了数据传输过程中闲置的位,从而提高数据传输的效率。

实施例四:

参见图5,该图为本发明实施例四提供的一种数据传输系统的结构框图。

为了提高数据元素的提取效率,在所述实施例三的基础上,本实施例提供的数据传输系统中,所述第二终端设备21,用于从携带有所述数据元素的传输数据中,按区间提取所述数据元素。

可选的,所述第二终端设备21,具体用于:

从携带有所述数据元素的传输数据中,利用多线程从各区间中提取所述数据元素。

可选的,所述第二终端设备21包括:

掩码设置单元201、与操作单元202和提取单元203;

所述掩码设置单元201,用于设置与待提取区间对应的掩码;

所述与操作单元202,用于将所述掩码与所述待提取区间对应的传输数据进行与操作,得到操作结果;

所述提取单元203,用于通过移位操作,从所述操作结果中提取所述待提取区间的数据元素。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:

预先确定传输数据的数据类型,将所述传输数据的位至少划分两个区间;

第一终端设备获取至少两个数据元素,并将所述至少两个数据元素分别填充至对应的区间内,每个区间至少填充一个数据元素,每个区间的长度与填充的数据元素相适应;

所述第一终端设备将携带有所述数据元素的传输数据发送至第二终端设备。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

当介绍本发明的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1