CN101330437A - 一种基于无线网络的数据传输方法和装置 - Google Patents
一种基于无线网络的数据传输方法和装置 Download PDFInfo
- Publication number
- CN101330437A CN101330437A CNA2007100426184A CN200710042618A CN101330437A CN 101330437 A CN101330437 A CN 101330437A CN A2007100426184 A CNA2007100426184 A CN A2007100426184A CN 200710042618 A CN200710042618 A CN 200710042618A CN 101330437 A CN101330437 A CN 101330437A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- unit
- target data
- data slice
- 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
Images
Abstract
本发明公开了一种基于无线网络的数据传输方法和装置,所述方法包括:发送端将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;将所述数据包发送至接收端;接收端根据所述数据包中的第一标识从所述数据包中解析出目标数据。这样一来,解决了现有技术在利用MMS发送数据时对数据类型的限制。通过实施本发明,用户能够在无线网络中传输任意类型的数据。
Description
技术领域
本发明涉及无线网络数据传输领域,尤其是涉及一种基于无线网络的数据传输方法和装置。
背景技术
随着移动通信技术的逐步发展,特别是第三代移动通信技术(3G,3rdGeneration)的全面实施,以及各种移动设备的日益普及和功能、品质的不断提高,如何在无线网络环境中进行数据的传输和共享就变得越来越重要。
目前,现有技术实现数据在无线网络中传输的方法主要有两种:一种是借助有线或无线红外,蓝牙或无线保真(Wi-Fi,WirelessFidelity)等通信方式;二是将数据编辑成多媒体彩信(MMS,Multimedia Message Service)进行传送。
但是,上述两种数据传输的方式仍存在以下问题:
对于方法一,由于该技术自身的局限性,目前只能在短距离内进行。例如,大多数具有蓝牙功能的移动电话进行数据传输的有效传输距离为0-100米,超出这个距离则无法传输。
对于方法二,发送端首先将数据按照MMS工业标准组成MMS数据包,然后将该数据包发送至接收端。使用该方法,虽然不必受距离的限制,但是,由于MMS工业标准已经规定了发送以及接收可支持的数据类型,例如,对图像数据,该标准规定了可支持的数据包括JPEG、GIF等有限的几种数据类型。这样一来,若需要发送的数据的数据类型没有包括在所述标准可支持的范围之内则无法进行传输,大大限制了使用MMS进行数据传输的适用范围。因此,如何在较长距离的无线网络中进行不受类型限制的数据传输,就成为本领域技术人员所必须面临的问题。
发明内容
本发明的目的在于公开一种基于无线网络的数据传输方法和装置,以解决现有技术中使用MMS传输数据时类型受限的问题。
为解决上述问题,本发明公开了一种基于无线网络的数据传输方法,包括:
发送端将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;
将所述数据包发送至接收端;
接收端根据所述数据包中的第一标识从所述数据包中解析出目标数据。
优选的,所述将目标数据按规则生成数据包包括:
将目标数据分割为多个数据片;
按规则将所述多个数据片分别组成对应的数据包,所述数据包中包括数据片以及该数据片在所述目标数据中的位置索引,所述数据包中还包括所述第一标识;
将所述多个数据包发送至接收端;
接收端从收到的数据包中获取相应的数据片,按照数据片对应的位置索引和第一标识将数据片组成目标数据。
优选的,所述将目标数据按规则生成的数据包为多媒体彩信格式。
优选的,所述方法还包括:
接收端监控是否成功接收全部的数据包,若没有,将当前数据包的接收状态信息发送至发送端;发送端根据所述接收状态信息重新发送相应的数据包。
为解决上述问题,本发明还公开了一种基于无线网络的数据发送装置,所述装置包括:
数据包生成单元,用于将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识,所述数据包为多媒体彩信格式;
通信单元,用于发送数据包;
发送控制单元,用于控制通信单元发送数据包生成单元所生成的数据包。
有选的,所述数据包生成单元还包括:
目标数据分割单元,用于将目标数据按规则分割为多个数据片;
数据片组包单元,用于将目标数据分割单元所分割的数据片按规则生成数据包,该数据包中包括所述预定义的第一标识。
优选的,所述数据包生成单元生成的数据包为多媒体彩信格式。
为解决上述问题,本发明还公开了一种基于无线网络的数据接收装置,包括:
通信单元,用于接收数据包,所述数据包中包括预定义的第一标识;
解析单元,用于将通信单元所接收的数据包按照该数据包包括的第一标识解析为目标数据。
优选的,所述解析单元还包括:
数据片解析单元,用于将通信单元所接收的数据包解析为数据片;
所述装置还包括:存储单元,用于存储数据片解析单元解析得到的数据片;
所述解析单元还包括:合并单元,用于对存储单元中存储的数据片进行合并。
为解决上述问题,本发明还公开了一种基于无线网络的数据传输装置,包括发送模块和接收模块,所述发送模块包括:
数据包生成单元,用于将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;
第一通信单元,用于发送数据包;
发送控制单元,用于控制第一通信单元发送数据包生成单元所生成的数据包;
所述接收模块包括:
第二通信单元,用于接收数据包,所述数据包中包括预定义的第一标识;
解析单元,用于将第二通信单元所接收的数据包按照该数据包中的第一标识解析为目标数据。
优选的,所述数据包生成单元还包括:
目标数据分割单元,用于将目标数据按规则分割为多个数据片;
数据片组包单元,用于将目标数据分割单元所分割的数据片按规则生成数据包,该数据包中包括所述预定义的第一标识;
所述接收模块的解析单元还包括:
数据片解析单元,用于将第二通信单元所接收的数据包解析为数据片;
所述接收模块还包括:
第二存储单元,用于存储数据片解析单元解析得到的数据片;
所述解析单元还包括:
合并单元,用于对第二存储单元中存储的数据片进行合并。
优选的,所述数据传输装置的数据包生成单元生成的数据包为多媒体彩信格式。
优选的,所述第二存储单元还存储有数据包的接收状态信息;
所述接收模块还包括:
更新单元,用于更新第二存储单元中数据包的接收状态信息;
所述第二通信单元还用于发送存储单元中的数据包接收状态信息;
所述发送模块还包括:
第一存储单元,用于存储数据包生成单元生成的数据包;
所述第一通信单元还用于接收数据包接收状态信息;
所述发送模块还包括:
重发控制单元,用于根据第一通信单元接收的数据包接收状态信息重新发送第一存储单元中的数据包。
根据本发明的是一个实施例,可知本发明具有以下效果:
现有技术利用MMS在无线网络中传输数据时,要求该数据的数据类型必须在MMS标准可支持的范围之内,否则接收端将无法正确识别该数据。本发明利用MMS数据包能够长距离传输的这一特点,在不影响MMS数据包正常传输的情况下,对MMS标准进行扩展,通过在发送的MMS数据包中加入能够识别数据类型的第一标识,接收端从收到的MMS数据包中获取该第一标识,并根据该第一标识对MMS数据包中的数据进行识别。这样一来,发送端可将任意类型的数据组成MMS数据包发送至接收端,实现了在无线网络环境中对任意类型数据的有效传输。
附图说明
图1是本发明所述基于无线网络数据传输方法的实施例1的步骤流程图;
图2是本发明所述基于无线网络数据传输方法的实施例2的步骤流程图;
图3是接收端发送数据包接收状态信息的效果示意图;
图4a是本发明所述基于无线网络数据传输方法的实施例4中数据发送的步骤流程图;
图4b是本发明所述基于无线网络数据传输方法的实施例4中数据接收的步骤流程图;
图5是本发明所述的一种基于无线网络的数据传输装置的一实施例的结构框图;
图6是本发明所述基于网线网络的数据发送装置的一实施例的结构框图;
图7是本发明所述基于网线网络的数据接收装置的一实施例的结构框图。
具体实施方式
现有技术利用MMS在无线网络中传输数据,要求该数据的数据类型必须在MMS标准可支持的范围之内,否则接收端将无法正确识别该数据。本发明利用MMS数据包能够长距离传输的这一特点,在不影响MMS数据包正常传输的情况下,对MMS标准进行扩展,通过在发送的MMS数据包中加入预定义的类型标识,接收端从收到的MMS数据包中获取该类型标识,并根据该类型标识对MMS数据包中的数据进行识别。这样一来,发送端可将任意类型的数据组成MMS数据包发送至接收端,实现了在无线网络环境中对任意类型数据的有效传输。
由于本发明利用MMS进行数据传输,为了能更好的理解本发明,再描述本发明的具体实施方式之前,首先对涉及MMS的一些基本原理和概念作一简单介绍。
MMS即多媒体彩信或多媒体信息服务,是目前短信技术开发最高标准的一种。在多媒体技术中,所谓媒体是指信息的载体。“媒体”一词本身来自于拉丁文“medius”一字,为中介、中间的意思。因此可以说,人与人之间所赖以沟通及交流观念、思想或意见的中介物便可称之为媒体。文本、声音、图形、图像和动画等是信息的载体,它们中的两个或多于两个的组合称为多媒体。MMS借助高速传输技术EDCE(Enhanced Data rates for GSM Erolution)和GPRS,以WAP为载体传送视频片段、图片、声音和文字,不仅可以在手机、智能终端等移动设备之间进行数据传输,而且可以在手机和电脑等其他设备之间传输。
使用MMS传输数据,发送端通过同步多媒体集成语言(SMIL,Synchronized Multimedia Integration Language)将待发送的目标数据组织在一起,然后按照多用途互联网邮件扩展(MIME,Multipurpose Internet MailExtensions)将smil文件和目标数据封装为MMS数据包发送至接收端。接收端收到MMS数据包后,按照MMS标准解析该数据包,并根据数据包中的Content-Type识别数据类型、获得目标数据。下面给出一个smil文件index.smil的具体示例:
<smil>
<head>
<layout>
<region id=“Image”heigh=”42%”width=“100%”>
</layout>
</head>
<body>
<image src=”my.gif”region=”Image”>
</body>
</smil>
可以看出,smil代码以标记<smil>开始,以</smil>结束,整个程序代码由head和body组成。在代码<image src=”my.gif”region=”Image”>中,标记<image>用以标识数据的类型,属性src指向了一个待发送的目标数据my.gif。
然后,将上述代码利用MIME进行封装,得到MMS数据包,其内容示例如下:
代码示例 | 说明 |
<MIME Head> | 此处为头部信息,具体内容省略 |
Content-ID:<index.smil>Content-Type:Typlication/smil;charset=″US-ASCII″;name=index.smil<smil><head><layout><region id=“Image”heigh=”42%”width=“100%”></layout></head><body> | smil文本 |
<image src=”my.gif”region=”Image”></body></smil> | |
Content-Type:image/gif;name=my.gif Content-Transfer-Encoding:base64Content-ID:<image>Content-Disposition:attachment;filename=my.gifR01GODlhZQBQAPcAAOYeAClUpyAtb/XNjlo8RqoUFHSa2ZCKjHiCWrzf/2iQ1Jm66Yeq4cXm/6ys | 以base64编码的目标数据实体 |
MMS数据包包括的数据可以是多种类型,而用以标识各类数据的方法是通过数据的Content-Type来区分的。Content-Type的表示方式一般为“域名/类型”,例如,在上述示例代码中目标数据my.gif的Content-Type:image/gf。在MMS标准中规定了Content-Type可适用的范围,下面给出一些常见的Content-Type类型,参见表1所示:
表1
接收端收到上述MMS数据包后,首先解析出index.smil,然后根据目标数据的Content-Type:image/gif将该数据包中的数据还原为相应的目标数据my.gif。
如图1所示,图1示出了本发明所述的基于无线网络的数据传输方法的实施例1的步骤流程图,下面结合图1对该实施例进行详细描述。
步骤101:发送端将目标数据按规则生成数据包,该数据包中包括预定义的第一标识。
本发明中,发送端可以是移动设备,例如移动电话、智能终端,也可以是其他任何需要在无线网络中进行数据传输的设备。
所述目标数据是需要进行传输的数据,例如,可以是应用程序,Java游戏,WAP网页,图片文件,声音文件,影像文件等。本发明中,目标数据可以是任意一种类型的数据。
优选的,所述按规则生成数据包是按照MMS标准生成MMS数据包。由于目前,MMS使用SMIL作为表述语言,而SMIL是由万维网联盟(W3C,worldwide web consortium)制定的基于XML的表述语言标准。因此,随着时间的推移,不排除W3C对现有的MMS及SMIL的标准进行变更,或推出类似于MMS的其他标准,但即便如此,本发明所提出的思想同样能够实施,为了便于理解,在下面的描述中,仍以MMS和SMIL为例进行说明。
所述预定义的第一标识用于识别目标数据的类型,在MMS。优选的,第一标识的一种结构表示为”域名/类型”,例如:iac.com.tw/java。其中,iac.com.tw是一自定义的域名标识,用于区别现有的MMS标准中已有的Content-type域名,而java则是当前目标数据的类型标识,通常情况下,该类型标识与目标数据的扩展名相同。当用户选择了需要发送的目标数据后,根据该目标数据的扩展名自动生成相应的第一标识,例如,目标数据是一个mp3文件,则生成的第一标识为iac.com.tw/mp3。对于某些系统未使用扩展名来标识数据的类型时,对于发送端系统可以识别的数据,在生成该标识时可自动加上系统识别的结果,对于系统也无法识别的数据类型或者说是一种不定的类型,可以使用类似iac.com.tw/unknown来表示,接收端对于这样的数据也只能被存储为未知类型的数据。当然这类数据可能对于接受端系统也无法进行识别,但这并不影响该类数据在本系统中有效传输,这也恰恰反映了该数据在原发送端的状态,当然,这类数据也可能被其他系统程式使用,所以发送端对于所要发送的数据只需要做到对其识别结果进行真实的表示就可以了。当然,上述第一标识的组成规则及表示方法只是本发明优选的方法,本领域技术人员在实施本发明时当然不必局限与此。
所述将目标数据按规则生成数据包的过程包括以下两个子步骤:
步骤1011:对目标数据用smil进行描述。
所述第一标识还被用于组织smil代码,例如,若需要发送的目标数据为一个java文件,则smil代码的body部分示例如下:
<body>
<iac.com.tw src=”my.java”>
</body>
该smil代码的其他部分请参见上文的示例代码。
步骤1012:将步骤1011获得的smil代码和相应的目标数据封装为MMS数据包。
封装后,该MMS数据包的部分内容示例如下:
<smil><body><iac.com.tw src=”my.java”></body></smil> |
Content-Type:iac.com.tw/java;name=my.java Content-Transfer-Encoding:base64Content-ID:<iac.com.tw>Content-Disposition:attachment;filename=my.javaR01GODlhZQBQAPcAAOYeAClUpyAtb/XNjlo8RqoUFHSa2ZCKjHiCWrzf/2iQ1Jm66Yeq4cXm/6ys |
其中,目标数据的第一标识就是能够识别该目标数据类型的标识信息。在本例中,该第一标识包括标记<iac.com.tw>以及Content-Type:iac.com.tw/java等其他相应的信息。
步骤102:发送端将数据包发送至接收端。
发送端将生成的MMS数据包发送至接收端。
步骤103:接收端检验收到的数据包中是否包括所述第一标识,若存在,执行下面的步骤。
步骤104:根据第一标识从数据包中解析出目标数据。
优选的,将与第一标识相应的标记信息放入smil文件的第一个数据域,即body中的第一个数据域为标记<iac.com.tw>。这样一来,接收端检验收到的MMS数据包中smil文本的第一个数据域是否包含标记<iac.com.tw>,若包括,则根据Content-Type和filename等其他一些标识信息从MMS数据包中解析出目标数据。在本例中,接收端按照Content-Type:iac.com.tw/java和filename=my.java将该数据包中包括的目标数据实体解析为my.java文件。
在上述实施例1中,通过增加第一标识将目标数据封装为MMS数据包发送至接收端,由于本例中用于传输的MMS数据包仍然符合现有的MMS封装的格式规范,因此可完全基于现有的传输设备进行传输,例如用于中转MMS数据包的MMS中继服务器(MMSC,Multimedia Message Service Center)在本发明实施时无需任何改变,这样一来,本发明以较低的成本实现了在无线网络中对目标数据不限类型的传输。
以上介绍了本发明的实施例1,在本发明的实施例2中:发送端将目标数据分割为多个数据片,然后将各数据片分别封装为MMS数据包发送至接收端;接收端收到所述MMS数据包后,从中获取数据片,最后将得到的数据片合并为目标数据。下面结合图2对该实施例进行详细描述。
步骤201:将目标数据分割为多个数据片。
优选的,可将目标数据读入内存,在内存中对比特流完成分割。另外,也可以直接将目标数据分割为多个数据片以临时文件保存。分割时,每个数据片的大小根据实际需要设置,本发明对此不做限制。
步骤202:按规则将所述多个数据片分别组成对应的MMS数据包,所述数据包中包括数据片以及该数据片在所述目标数据中的位置索引,所述数据包中还包括所述第一标识。
MMS数据包中的位置索引可以有效的确定各个MMS数据包及相应的数据片之间的位置关系。当然,若MMS数据包能够按照数据片在所述目标数据中的位置关系依次送达接收端,则数据包中的位置索引也并非必须。
将数据片封装为MMS数据包采用与实施例1中类似的方法,即:首先使用smil对数据片进行描述,然后将生成的smil文件和该数据片的数据实体封装为MMS数据包。与实施例1相比,本例中,smil文件的第一个数据域中还包括该数据片的位置索引,例如:
<body>
<iac.com.tw index=”1”>
</body>
其中,index=”1”表示该数据包对应的数据片在多个数据片中的位置。
实际应用中,发送端可能需要向接收端发送多个目标数据,由于每个目标数据都又可能被分割为数目不等的多个数据片,因此接收端获得的MMS数据包可能来自不同的目标数据。为了便于对这些数据包进行识别,本发明优选的,通过自定义一数据结构存储所述位置索引及其他分解相关信息。例如:
typedef struct PkgInfoTag{
char cType[50];//用于存储自定义的数据域类型,如”iac.com.tw/java”
int nMmsID;//随机产生的32位目标数据标识ID,属于同一目标数据的数据片,该ID值相同
int nTotalPkgs;//目标数据分解成的数据片数目
int nPkgIndex;//本数据片位于目标数据的相对位置
int nTotalPkgsSize;//目标数据的总大小
int nPkgSize;//当前MMS数据包中包含的数据片的比特流大小
int nReserve;//保留位
}PkgInfo
例如,目标数据my.java在发送时被分割为2个数据片my_01.java和my_02.java,以my_01.java为例:首先,初始化PkgInfo,将PkgInfo加入smil实体数据的第一个数据域,然后进一步封装为MMS数据包,下面给出该MMS数据包的部分示例代码:
<smil><body><iac.com.tw src=”my_01.java”></body></smil> |
Content-Type:iac.com.tw/java;name=my_01.java Content-Transfer-Encoding:base64Content-ID:<iac.com.tw>Content-Disposition:attachment;filename=my_01.javaQAPcAAOYeAClUpyAtb//此处为<PkgInfo>的实体数据R01GODlhZQBQAPcAAOYeAClUpyAtb/XNjlo8//目标数据实体 |
步骤203:将所述多个数据包发送至接收端。
步骤204:接收端从收到的数据包中获取相应的数据片。
步骤205:将数据片合并成目标数据。
从分解信息PkgInfo中获取数据片的位置索引以及判断是否获得属于同一目标数据的全部数据片,若确认收到,则将数据片合并为目标数据。
目前大多数移动运营商对用户进行一次数据传输所发送的单个数据包的最大容量存在限制,例如,目前通用分组无线网络(GPRS,General Packet RadioService)对单个数据包的容量限制为100K,3G网络限制为300K等,因此,现有技术使用MMS传输数据,若MMS数据包的容量超出移动通信网络对单个数据包的最大尺寸限制,则无法成功发送。实施例2通过将目标数据分割为多个数据片,每个数据片独立打包成一个MMS数据包进行发送,接收端根据这些数据包将各个数据片重新合并为目标数据,这样一来,突破了通信网络对单个数据包容量的限制,使得发送任意容量的目标数据称为可能。
以上介绍了本发明所述基于无线网络进行数据传输的方法的实施例2,本发明的实施例3与实施例2的区别在于,接收端监控在预定的时间内是否收到属于同一目标数据全部的数据包,若没有,将当前各数据包的接收状态信息发送至发送端,该接收状态信息包括各个数据包是否接收成功的标志;发送端根据所述接收状态信息将重新发送相应的MMS数据。
在接收端可以采用系统计时机制定时查询接收包的状态,通过建立对未完整接收到所有数据包超时机制从而决定自动或者手动方式通过短信告知发送端目前接收端接收到包的状态信息。对于手动发送通知信息给发送方,可以设计操作功能按钮如图3所示,由用户在接收超时后查看状态时选择按下通知功能后来完成,接收端将自动发送一条特定格式的信息给发送方,对于特定格式信息的设计可以采用如下RecvingPkgInfo结构方式。
typedef struct RecvingInfoTag{
int nMmsID;//随机产生的32位标识MMS的ID,用于标识原属同一多媒体的MMS的判定
int nTotalPkgs;//原始目标数据分解成的包数目
int nPkgStatus[MAX_PKG];//各包的接收状态,1:已收到,0:未收到
int nReserve;//保留位
}RecvingPkgInfo;
所述特定格式信息优选的使用短消息(SMS,Short Messaging Service)格式,当然,使用MMS格式发送也是可以的。发送端收到这类回报信息时将解析该信息获取各包的发送状态之后就可以自动提取之前的发送资料对未成功的包组成发送列表再次发送给接收端。实现自动方式回复发送状态给发送端只需要在接收端接收到第一个数据包后根据包的总数量建立超时接收监听器(Timer)来做促发就可以发送与手动方式一样的特殊短信。
现有技术中,发送端将目标数据作为一个MMS数据包发送至接收端,如果由于网络故障、接收异常等原因造成接收端没有成功获得该数据包,那么发送端就需要重新发送该数据包。而实施例3将目标数据分割为多个数据片,并生成相应的多个MMS数据包进行发送,这样一来,即时某个数据包发送失败,发送端也只需重新发送该数据包即可,大大减少了因数据传输失败需要重发而占用的网络资源,同时也为用户节约了网络使用成本。该实施例未详尽之处请参见上述实施1和实施例2,这里不再赘述。
需要说明的是,上述实施例只是本发明所述数据传输方法的优选实施例,本领与技术人员在实施本发明时,可对其公开的特征进行任意组合。例如,可将实施例1与实施例2组合,并规定只有在目标数据的容量超出一定限制的时候,才对该目标数据进行分割,这样一来,既可以将目标数据作为一个MMS数据包发送,也可以将其分割为多个MMS数据发送。
以上通过具体的实施例描述了本发明的基于无线网络的数据传输方法,下面结合应用环境以通过实施例4对本发明所述方法做进一步介绍:
在本例中,发送端和接收端是两个移动电话。整个数据的传输过程分为数据发送和数据接收两个阶段。如图4a所示,是本例数据发送阶段的步骤流程图。仍以目标数据为my.java文件为例进行说明:
步骤4001:分解目标数据为多个二进制流片段。
将文件my.java在内存中分解为2个二进制流片段。
步骤4002:填充相关分解信息结构体。
对得到的2个流片段分别填充相应的分解信息结构体:
typedef struct PkgInfoTag{char cType[50];//”iac.com.tw/java”int nMmsID;//123456,ID值相同表示属于同一个目标数据int nTotalPkgs;//2,目标数据被分解为2个int nPkgIndex;//0,第一个流片段int nTotalPkgsSize;//500,目标数据的总容量int nPkgSize;//300,当前片段容量int nReserve;//保留位}PkgInfo;typedef struct PkgInfoTag{char cType[50];//”iac.com.tw/java”int nMmsID;//123456int nTotalPkgs;//2int nPkgIndex;//1int nTotalPkgsSize;//500int nPkgSize;//200int nReserve;//保留位 |
}PkgInfo; |
步骤4003:将分解信息作为第一数据域的数据。
将分解信息作为<iac.com.tw>中的数据。
步骤4004:smil打包生成MMS数据包。
步骤4005:逐个发送MMS数据包。
在后台完成对MMS数据包的逐个发送,对用户显示为一个总的发送进度。
如图4b所示,是本例数据接收阶段的步骤流程图。
步骤401:解析MMS数据包。
步骤402:检验MMS数据包是否存在第一标识,若存在,执行步骤403,否则,结束处理。
检验MMS数据包的第一个数据域中是否包含标记<iac.com.tw>。
步骤403:读取与第一标识相应的数据。
读取标记<iac.com.tw>中的数据,如分解信息结构体PkgInfo。
步骤404:启动数据接收监听器。
所述监听器即Timer,重置并启动该Timer用于监听接收新的MMS数据包。
步骤405:根据得到的分解信息,检验本机中是否存在相同的目标数据标识,若存在,执行步骤408,否则,执行步骤406。
从PkgInfo中获取nMmsID:123456,然后检验本机存储的数据中是否包含具有相同nMmsID的数据片段,若存在执行步骤311,否则,执行步骤。
步骤406:保存数据片。
数据片保存后,在显示屏上提示用户该数据包的接收状态。
步骤407:数据接收监听器等待接收新的MMS数据包。
步骤408:合并数据片,更新数据包接收状态信息。
根据从数据域<iac.com.tw>获得的PkgInfo,将该MMS数据包中包含的数据片与本地已有的数据片进行合并保留在内存中,同时更新该数据包的接收状态信息。
步骤409:判断数据包是否接收完整,若完整,执行步骤410,否则执行步骤412。
步骤410:显示文件接收成功。
将文件名称、大小、存储位置等信息显示给用户。
步骤411:停止数据接收监听器。
步骤412:判断接收是否超时,若超时,执行步骤413,否则,执行步骤407。
步骤413:向发送端发送目前接收状态信息,然后执行步骤411。
需要说明的是,在步骤402中,若检测到当前MMS数据包的第一数据域中不包括标记<iac.com.tw>,虽然本例中对该数据包不做处理,但实际应用时,接收端手机将按照MMS标准处理该数据包。
以上,结合具体实施例描述了本发明的一种基于无线网络的数据传输方法。参照以上有关本发明的介绍,如图5所示,是本发明所述的一种基于无线网络的数据传输装置500,包括发送模块510和接收模块520,其中,
所述发送模块包括:
数据包生成单元511,用于将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;
第一通信单元512,用于发送数据包;
发送控制单元513,用于控制第一通信单元发送数据包生成单元所生成的数据包;
所述接收模块520包括:
第二通信单元522,用于接收数据包,所述数据包中包括预定义的第一标识;
解析单元521,用于将第一通信单元所接收的数据包按照该数据包中的第一标识解析为目标数据。
所述数据包生成单元511还包括:
目标数据分割单元5111,用于将目标数据按规则分割为多个数据片;
数据片组包单元5112,用于将目标数据分割单元所分割的数据片按规则生成数据包,该数据包中包括所述预定义的第一标识;
其中,所述数据包生成单元511生成的数据包为多媒体彩信格式。
所述接收模块的解析单元521还包括:
数据片解析单元5211,用于将第二通信单元所接收的数据包解析为数据片;
所述接收模块520还包括:第二存储单元523,用于存储数据片解析单元解析得到的数据片;
所述解析单元521还包括:合并单元5212,用于对第二存储单元中存储的数据片进行合并。
所述第二存储单元还存储有数据包的接收状态信息;
所述接收模块510还包括:
更新单元514,用于更新第二存储单元中数据包的接收状态信息;
所述第二通信单元还用于发送存储单元中的数据包接收状态信息;
所述发送模块还包括:
第一存储单元515,用于存储数据包生成单元生成的数据包;
所述第一通信单元还用于接收数据包接收状态信息;
所述发送模块还包括:
重发控制单元516,用于根据第一通信单元接收的数据包接收状态信息重新发送第一存储单元中的数据包。
优选的,所述接收模块520还包括:状态更新单元524,用于更新存储单元中数据包的接收状态信息;监控单元525,用于监控第二通信单元是否在预定的时间内收到同一目标数据的全部数据包,若没有,通知第二通信单元发送第二存储单元中的接收状态信息。
所述装置还包括:输入单元530,用于输入控制指令,所述发送模块根据该输入单元输入的发送控制指令发送目标数据。该输入单元可以是键盘,也可以是触摸屏等其他能够接收发送控制指令的实体。
所述装置还包括:显示单元540,用于显示目标数据的发送或接收状态信息。
基于上述数据传输装置发送目标数据时,若发送模块收到输入单元输入的发送控制指令,首先由目标数据分割单元将待发送的目标数据分割为多个数据片,数据片组包单元将所述多个数据片按规则分别生成包括第一标识的数据包,同时将该数据包存储在第一存储单元中。发送控制单元控制第一通信单元发送第一存储单元中的数据包,与此同时,显示单元显示数据包的发送状态。之后,当第一通信单元收到数据包接收状态信息后,重发控制单元根据该接收状态信息控制第一通信单元重新发送第一存储单元中相应的数据包。
当第二通信单元收到数据包后,数据片解析单元将该数据包解析为数据片,之后,将该数据包存储于第二存储单元,并由更新单元更新第二存储单元中与该数据包相应的接收状态信息。监控单元监控第二通信单元是否收到同一目标数据中全部的数据包,若超出预定时间仍未收到,则通知第二通信单元发送第二存储单元中的接收状态信息。最后,合并单元将第二存储单元中的数据包合并为目标数据。
以上给出了本发明所述数据传输装置的一个具体实施例,未详尽之处,请参见上述方法实施例,这里不再赘述。
参见图6所示,是本发明所述基于网线网络的数据发送装置的一实施例的结构框图,所述装置600包括:
数据包生成单元610,用于将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识,所述数据包为多媒体彩信格式。
通信单元620,用于发送数据包;
发送控制单元630,用于控制通信单元发送数据包生成单元所生成的数据包。
优选的,所述数据包生成单元610还包括:目标数据分割单元611,用于将目标数据按规则分割为多个数据片;数据片组包单元612,用于将目标数据分割单元所分割的数据片按规则生成数据包,该数据包中包括所述预定义的第一标识。
其中,所述数据包生成单元610生成的数据包为多媒体彩信格式。
其中,所述装置600还包括:重发控制单元660,用于根据通信单元收到的数据包接收状态信息通知通信单元重新发送相应的数据包。
上述数据发送装置发送数据时,首先,目标数据分割单元将目标数据按规则分割为多个数据片;然后,由数据片组包单元将该数据片按规则分别生成包括第一标识的数据包;最后,发送控制单元控制发送单元发送这些数据包,并由重发控制单元根据通信单元收到的数据包接收状态信息通知通信单元重新发送相应的数据包。
上述数据发送装置未详尽之处,请参见上文方法及装置的实施例。
参见图7所示,是本发明所述基于网线网络的数据接收装置的一实施例的结构框图,所述装置700包括:
通信单元710,用于接收数据包,所述数据包中包括预定义的第一标识;
解析单元720,用于将通信单元所接收的数据包按照该数据包包括的第一标识解析为目标数据。
优选的,所述解析单元720还包括:数据片解析单元721,用于将通信单元所接收的数据包解析为数据片;所述装置700还包括:存储单元730,用于存储数据片解析单元解析得到的数据片;所述解析单元720还包括:合并单元722,用于对存储单元中存储的数据片进行合并。
优选的,所述存储单元730还存储有数据包的接收状态信息,所述装置还包括:状态更新单元740,用于更新存储单元中数据包的接收状态信息;监控单元750,用于监控通信单元是否在预定时间内收到同一目标数据的全部数据包,若没有,通知通信单元发送存储单元中的数据包接收状态信息。
上述数据接收装置接收数据时,首先,由通信单元接收数据包,然后由数据片解析单元解析该数据得到数据片并将该数据片存储于存储单元,同时更新单元更新存储单元中与该数据包相应的接收状态信息。监控单元监控通信单元是否在预定时间内收到同一目标数据的全部数据包,若没有,通知通信单元发送存储单元中的数据包接收状态信息,否则,合并单元将存储单元中的数据片合并为目标数据。
上述数据接收装置未详尽之处,请参见上文方法及装置的实施例。
以上对本发明所提供的一种基于无线网络的数据传输方法、装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1、一种基于无线网络的数据传输方法,其特征在于,包括:
发送端将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;
将所述数据包发送至接收端;
接收端根据所述数据包中的第一标识从所述数据包中解析出目标数据。
2、根据权利要求1所述的方法,其特征在于,所述将目标数据按规则生成数据包包括:
将目标数据分割为多个数据片;
按规则将所述多个数据片分别组成对应的数据包,所述数据包中包括数据片以及该数据片在所述目标数据中的位置索引,所述数据包中还包括所述第一标识;
将所述多个数据包发送至接收端;
接收端从收到的数据包中获取相应的数据片,按照数据片对应的位置索引和第一标识将数据片组成目标数据。
3、根据权利要求1或2所述的方法,其特征在于,所述将目标数据按规则生成的数据包为多媒体彩信格式。
4、根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收端监控是否成功接收全部的数据包,若没有,将当前数据包的接收状态信息发送至发送端;
发送端根据所述接收状态信息重新发送相应的数据包。
5、一种基于无线网络的数据发送装置,其特征在于,所述装置包括:
数据包生成单元,用于将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;
通信单元,用于发送数据包;
发送控制单元,用于控制通信单元发送数据包生成单元所生成的数据包。
6、根据权利要求5所述的装置,其特征在于,所述数据包生成单元还包括:
目标数据分割单元,用于将目标数据按规则分割为多个数据片;
数据片组包单元,用于将目标数据分割单元所分割的数据片按规则生成数据包,该数据包中包括所述预定义的第一标识。
7、根据权利要求5或6所述的装置,其特征在于,所述数据包生成单元生成的数据包为多媒体彩信格式。
8、一种基于无线网络的数据接收装置,其特征在于,包括:
通信单元,用于接收数据包,所述数据包中包括预定义的第一标识;
解析单元,用于将通信单元所接收的数据包按照该数据包包括的第一标识解析为目标数据。
9、根据权利要求8所述的数据接收装置,其特征在于,所述解析单元还包括:
数据片解析单元,用于将通信单元所接收的数据包解析为数据片;
所述装置还包括:存储单元,用于存储数据片解析单元解析得到的数据片;
所述解析单元还包括:合并单元,用于对存储单元中存储的数据片进行合并。
10、一种基于无线网络的数据传输装置,包括发送模块和接收模块,其特征在于,所述发送模块包括:
数据包生成单元,用于将目标数据按规则生成数据包,所述数据包中包括预定义的第一标识;
第一通信单元,用于发送数据包;
发送控制单元,用于控制第一通信单元发送数据包生成单元所生成的数据包;
所述接收模块包括:
第二通信单元,用于接收数据包,所述数据包中包括预定义的第一标识;
解析单元,用于将第二通信单元所接收的数据包按照该数据包中的第一标识解析为目标数据。
11、根据权利要求10所述的数据传输装置,其特征在于,所述数据包生成单元还包括:
目标数据分割单元,用于将目标数据按规则分割为多个数据片;
数据片组包单元,用于将目标数据分割单元所分割的数据片按规则生成数据包,该数据包中包括所述预定义的第一标识;
所述接收模块的解析单元还包括:
数据片解析单元,用于将第二通信单元所接收的数据包解析为数据片;
所述接收模块还包括:
第二存储单元,用于存储数据片解析单元解析得到的数据片;
所述解析单元还包括:
合并单元,用于对第二存储单元中存储的数据片进行合并。
12、根据权利要求10或11所述的装置,其特征在于,所述数据包生成单元生成的数据包为多媒体彩信格式。
13、根据权利要求12所述的数据传输装置,其特征在于,所述第二存储单元还存储有数据包的接收状态信息;
所述接收模块还包括:
更新单元,用于更新第二存储单元中数据包的接收状态信息;
所述第二通信单元还用于发送存储单元中的数据包接收状态信息;
所述发送模块还包括:
第一存储单元,用于存储数据包生成单元生成的数据包;
所述第一通信单元还用于接收数据包接收状态信息;
所述发送模块还包括:
重发控制单元,用于根据第一通信单元接收的数据包接收状态信息重新发送第一存储单元中的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100426184A CN101330437A (zh) | 2007-06-22 | 2007-06-22 | 一种基于无线网络的数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100426184A CN101330437A (zh) | 2007-06-22 | 2007-06-22 | 一种基于无线网络的数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101330437A true CN101330437A (zh) | 2008-12-24 |
Family
ID=40206038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100426184A Pending CN101330437A (zh) | 2007-06-22 | 2007-06-22 | 一种基于无线网络的数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101330437A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187533A (zh) * | 2015-09-10 | 2015-12-23 | 浪潮软件股份有限公司 | 一种数据传输的方法及装置 |
CN110955257A (zh) * | 2019-12-17 | 2020-04-03 | 深圳市道通智能航空技术有限公司 | 一种多目标传输方法、系统及遥控设备、无人机 |
CN113055433A (zh) * | 2021-02-02 | 2021-06-29 | 新华三信息技术有限公司 | 一种文件传输方法、装置、设备及机器可读存储介质 |
-
2007
- 2007-06-22 CN CNA2007100426184A patent/CN101330437A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187533A (zh) * | 2015-09-10 | 2015-12-23 | 浪潮软件股份有限公司 | 一种数据传输的方法及装置 |
CN110955257A (zh) * | 2019-12-17 | 2020-04-03 | 深圳市道通智能航空技术有限公司 | 一种多目标传输方法、系统及遥控设备、无人机 |
CN110955257B (zh) * | 2019-12-17 | 2024-02-09 | 深圳市道通智能航空技术股份有限公司 | 一种多目标传输方法、系统及遥控设备、无人机 |
CN113055433A (zh) * | 2021-02-02 | 2021-06-29 | 新华三信息技术有限公司 | 一种文件传输方法、装置、设备及机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5743422B2 (ja) | ファイルタイプおよび/またはファイルフォーマットの変換を伴うmmsメッセージの伝送方法、加入者端末装置 | |
US8874147B2 (en) | Apparatus, method and system of sending and receiving for supporting application-based MMS | |
CN101588227A (zh) | 执行缓存器状态回报的方法及其通信装置 | |
CN101350938A (zh) | 一种无线电子广告牌系统 | |
CN101534483B (zh) | 一种实现多媒体消息断点发送的方法及系统 | |
CN103986646A (zh) | 一种消息传输方法、系统及终端设备 | |
CN101478730B (zh) | 数据交换方法、系统及设备 | |
CN101695202A (zh) | 一种传输大附件的方法及系统 | |
CN101330437A (zh) | 一种基于无线网络的数据传输方法和装置 | |
CN101179591A (zh) | 一种电视终端向移动终端发送彩信的方法及其装置 | |
CN103138871A (zh) | 移动通讯系统中应用程序的服务器数据处理系统和方法 | |
CN101702732A (zh) | 一种文件同步方法及文件同步系统 | |
CN101272609B (zh) | 一种无线通信系统中ip电话调度组的管理方法 | |
CN102316415B (zh) | 移动通信终端及其通信业务共享方法 | |
CN102802197A (zh) | 应用数据的传输方法及装置 | |
CN101217687B (zh) | Mms消息状态信息处理方法 | |
CN101448207B (zh) | 一种发送多媒体消息的递送报告的方法及装置 | |
CN102685703B (zh) | 移动装置 | |
CN101102172B (zh) | 用于处理接收到的包的方法及接收器 | |
KR100765545B1 (ko) | 이동통신 단말기, 서버, 이를 이용한 이동통신 시스템,이동통신 단말기를 이용한 데이터 제공방법, 서버를 이용한데이터 제공방법 및 이동통신 시스템을 이용한 데이터제공방법 | |
CN102073693A (zh) | 基于xml的数据通讯方法及系统 | |
CN100477690C (zh) | 一种利用信息保存和发送媒体文件字幕的方法 | |
CN101754482B (zh) | 网关、消息的处理系统和方法 | |
CN1366434A (zh) | 通过手机的短信息服务传递数据的方法 | |
CN102045657A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20081224 |