一种计算机和移动终端之间数据文件传输的方法

文档序号:7956320阅读:266来源:国知局
专利名称:一种计算机和移动终端之间数据文件传输的方法
技术领域
本发明涉及数据文件传输的方法,尤其涉及一种计算机(PC)和移动终端之间数据文件传输的方法。
背景技术
作为一种最富活力的电信终端产品,移动终端的功能日益变得时尚化。继彩屏、拍照移动终端以后,音乐移动终端成了移动终端制造商为抢占移动终端市场的又一个亮点,并且摄像功能也已经被集成到移动终端中。目前,高端音乐移动终端一般使用外部存储卡作为音乐文件的存放媒体,如T-FLASH卡等等。这种方法优点突出,非常便于数据文件的存储,但由于硬件成本增加,势必要提升移动终端价格。如果使用移动终端内部的FLASH作为存储媒介,通过数据线和PC进行数据文件交互,硬件成本仅增加了必不可少的多媒体芯片,如MP3解码芯片等,因而在价格上有相当的吸引力,可谓性价比极高。
但是现有的将MP3、照片或其它数据文件从PC导入移动终端,或者将移动终端中的数据文件导出到PC上的技术一般存在以下缺陷a、移动终端侧软件需要增加新的代码,需要做相当多的代码编写工作。
b、PC侧软件需要直接和硬件管理模块交互,即直接操作硬件或是调用具体硬件的驱动接口,模块化不好;c、只在链路层进行差错控制,传输过程中的差错控制能力有限。

发明内容
本发明要解决的技术问题是提供一种计算机和移动终端之间数据文件传输的方法,它能克服现有技术的缺点,不需修改移动终端软件,不直接和硬件管理模块进行交互,模块独立性好。
为了解决上述技术问题,本发明提供了一种计算机和移动终端之间数据文件传输的方法,计算机和移动终端的串口通过专用数据线互连,该方法包括将计算机中的数据文件导入移动终端的过程,包括以下步骤(a)初始化后,用户选择要导入移动终端的源文件,计算机侧通讯线程利用信号机制与移动终端内部运行的实时任务进行通讯,通知移动终端文件系统任务创建用于写入数据的目的文件并打开该文件,从应答信号中获得该文件的信息;(b)计算机侧通讯线程从源文件中读取一定长度数据并封装到写文件信号中,然后再将信号封装到链路层的数据帧中,通过串口向移动终端发送数据,并等待应答信号;(c)计算机侧通讯线程根据应答信号确认数据已成功写入后,再按相同方式继续传输余下的数据,传输完毕后,通知移动终端文件系统任务关闭目的文件,并释放串口和各相关线程的资源。
进一步地,上述方法还可具有以下特点还包括将移动终端中的数据文件导出到计算机中的过程,该过程包括以下步骤(A)初始化后,计算机侧通讯线程利用信号机制与移动终端内部运行的实时任务进行通讯,并根据查询移动终端文件系统状态返回的信号获取相应的文件信息,供用户选择要从移动终端导出的源文件;(B)计算机侧通讯线程向移动终端文件系统任务发送打开源文件信号和读取文件信号,移动终端文件系统任务收到后将源文件数据封装到应答信号中,再将该应答信号封装到数据帧中,通过串口发送到计算机侧;(C)计算机收到应答信号后保存信号中的文件数据,如数据文件未传输完成,再按相同方式从移动终端读取余下的数据,传输完毕后,通知移动终端文件系统任务关闭源文件,并释放串口和各相关线程的资源。
进一步地,上述方法还可具有以下特点所述步骤(c)中,如果计算机侧通讯线程根据应答信号判断数据没有成功地写入目的文件,或者所述步骤(C)中计算机没有收到应答信号,则进一步判断是否发生异常错误,如果是,则交监控线程进行异常处理,结束;否则,进行信号重传或者发送纠错信号。
进一步地,上述方法还可具有以下特点所述步骤(a)中初始化过程由计算机侧发起完成,分为以下步骤(a1)初始化计算机串口和移动终端串口,设置串口各项参数;(a2)初始化各种状态值,启动计算机侧的通讯线程和监控线程;(a3)计算机向移动终端发送同步试探信号,确认物理连接没有问题,并实现PC通讯线程和移动终端收发任务的同步;(a4)计算机向移动终端发送信号查询移动终端的状态,包括移动终端文件系统的状态;以上步骤(a3)或(a4)中如发现有异常,则交监控线程处理。
进一步地,上述方法还可具有以下特点所述步骤(a4)中计算机还向移动终端查询对音乐文件的格式要求,在向该移动终端导入音乐文件时,如该文件的格式不符合要求,先对音乐文件的格式加以转换,要进行数据的传输。
进一步地,上述方法还可具有以下特点计算机侧通讯线程利用信号机制与移动终端内部运行的实时任务之间的通讯过程分成三层,包括物理层、链路层和信号层;并在链路层的数据帧传输采用应答、纠错、校验和重传机制,同时在信号层对恢复出信号的合法性进行检查,包括命令序号、错误状态字,以实现高层差错控制。
进一步地,上述方法还可具有以下特点所述信号为移动终端内部各实时任务间通讯所采用的消息。
进一步地,上述方法还可具有以下特点所述移动终端串口收发任务通过中断或轮询方式接收数据帧,从帧中恢复信号,通过分析信号头结构中的目的任务标识符,将信号路由到目的任务,由相关的任务负责数据文件的保存或读取,以及返回应答信号。
进一步地,上述方法还可具有以下特点所述串口收发任务采用GSM04.14标准中定义的EMMI实现的通讯接口任务。
本发明所述方法具有如下几个方面的优点1、模块独立性好,移动终端侧软件与PC侧软件直接联系的模块只有串口收发任务,终端侧文件系统已经对所有的存储设备进行了封装,因此PC侧软件不需要直接操作硬件或是调用具体硬件的驱动接口。编码工作主要在PC侧软件中。基于信号的通讯机制可以保证不需修改移动终端侧软件代码,基于同类平台的项目产品可以轻松移植甚至直接使用。
2、由于可以和移动终端内部所有任务进行交互,PC侧软件功能扩展性好,容易实现新的用户功能,如读写电话本、发送短消息等。
3、通讯稳定性高。通讯双方除了对数据帧在链路层进行校验检查和差错控制以外,还在传输层对信号合法性检查,增加了传输纠错的力度和灵活性。
4、无需在移动终端侧增加任何新代码,研发周期短,研发风险低。


图1为本发明PC机和移动终端通讯的原理图;图2为本发明PC侧通讯程序和移动终端串口收发任务进行通信的示意图;图3为本实施例将数据文件导入手机的流程图;图4为本实施例将数据文件导出手机的流程图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本实施例的硬件部分实现由以下部分组成个人计算机PC、手机和用户专用数据线,使用时将PC机和手机用专用数据线互连,通过PC侧数据文件传输处理模块(由运行于Windows上的应用软件构成)实现数据文件在PC机和手机之间的导入和导出操作。
本实施例采用实时任务间信号通信的思想,基于串口通讯和Windows的多线程机制实现数据文件在PC机和手机之间的导入和导出操作。PC侧的数据文件传输处理模块进一步包括用户接口,用于提供用户操作的界面以及显示传输状态等信息的界面;通讯线程,在传输数据文件时启动,用于和手机进行通讯,完成数据文件的传输和控制;状态监控线程,在传输时启动,用于负责处理异常状态,在文件传输的过程中,以轮询的方式检查各错误状态字的值,并刷新用户界面,将进度信息显示在用户界面。PC侧还存在一个串口收发线程,用于通过串口完成和手机侧的信号交互,包括物理层、链路层和信号层的处理。除了这些线程外,该数据文件传输处理模块还需要完成数据传输之前的各项初始化工作。
图1为本发明PC机和手机通讯的原理图。PC侧的通讯线程利用信号机制与手机内部运行的实时任务进行通讯。信号是手机内部各实时任务间通讯所发送的具有一定格式的消息。信号的格式可以根据需要自己定义,一般包含起止任务的ID、信号长度、信号内容等。例如当任务A需要和任务B进行通讯时,任务A发送一个请求信号(REQ)给任务B,指示任务B完成某种功能,任务B处理完此信号后发送应答信号(CNF)给任务A。
由图1中可以看出,PC侧启动通讯线程和手机侧的串口收发任务进行通讯的过程分成三层最底层是物理层,直接调用串口收发的接口函数,以字节为单位进行传输;第二层是链路层,以数据帧为单位进行通讯,发送方每发送一个帧之后,必须等待接收方应答,以确定是否传输成功;第三层是信号层,收发双方以信号为单位进行通信,发送方发送REQ后,等待接收方返回的CNF信号以判断REQ执行的结果。手机侧串口收发任务在接收/发送信号的同时还充当了路由的角色,为手机内部实时任务路由各种进出手机的信号。串口收发任务可采用根据GSM 04.14定义的EMMI实现的通讯接口任务。
本发明以信号为单位进行数据文件的传输,信号被封装到固定格式的数据帧中。帧的长度有上限,通过帧结构中的控制字段可以将信号封装到多个帧中,控制字段是一个用于计数的字节,用于控制分段/重组,表示某个信号被拆分成多个帧之后,每个帧的组装顺序。帧的结构包括起始标志位、长度控制字段、控制字段、数据体、校验字节和结束标志位。在以帧为单位的通讯过程中,收发双方通过应答方式实现帧传输。接收方对发送方的数据帧进行校验,对于正确的帧则向发送方发送响应ACK,否则发送错误码给发送方,发送方可以选择进行重传。如果发送方在规定的时间内没有收到接收方的响应,即接收超时,发送方可以选择重发刚才的数据帧,或者设置错误状态等待PC侧监控线程进行处理。
图2为本实施例PC侧通讯线程和手机串口收发任务进行通信的示意图。
如图所示,PC侧发送一个请求信号REQ1(如打开目的文件的请求信号)给手机,手机侧串口收发任务收到该信号后,对数据帧进行校验,如果正确则返回响应ACK,同时将该信号交给上层的文件系统任务进行处理,在处理完REQ1信号后返回应答信号CNF1,此时手机成了发送方,而PC侧通讯线程变成接收方。PC侧串口收发线程收到应答信号CNF1后返回响应ACK同时交给通讯线程,通讯线程再发出请求信号REQ2(如写文件信号)给手机,该信号包括多个数据帧,手机串口收发任务每收到一个数据帧后进行校验,返回ACK响应,在收到完整的信号REQ2后交给文件系统任务处理,该文件系统任务返回应答信号CNF2。上述过程可以进行多次。
REQ和CNF之间有配对的命令序列字,PC侧通讯线程根据CNF信号得知对应REQ信号的执行结果。如果返回的信号中命令序列字不匹配,或者是CNF中的错误状态字报告有错误,则PC侧通讯线程将根据具体情况进行处理。必要的时候将设置错误状态,等待监控线程处理异常。
在执行数据文件导入或导出操作之前,PC侧数据文件传输处理模块需要做如下过程的初始化步骤101,初始化PC机串口和手机串口,设置串口各项参数,如端口号、波特率、时钟频率、读写超时时间、读写缓冲等;步骤102,初始化各种状态值,启动PC侧的通讯线程、监控线程,监控线程向用户界面反馈当前处理状态;步骤103,PC向手机发送同步试探信号,确认物理连接没有问题,并实现PC通讯线程和手机收/发任务的同步。当物理连接正常,手机会返回正确的CNF信号。如果在一段时间内始终不能收到CNF信号,则认为物理连接不好,设置错误状态并等待监控线程处理;步骤104,向手机发送信号查询手机的状态,需要查询的信息包括手机版本是否正确,手机文件系统的状态(如空间是否足够,是否有重名文件等信息),对播放的音乐文件的格式要求等。这个过程需要分别向手机内部的配置管理任务和文件系统任务发送查询信号。如果有异常,则设置错误状态并等待监控线程处理;步骤105,在用户选择了要导入手机或从手机导出的源文件后,对用户选择的数据源文件的合法性进行检查,向手机导入音乐文件时,如果需要,则还要对音乐文件的格式加以转换,以符合手机内多媒体解码芯片对播放的音乐文件的格式要求。
图3为本实施例将数据文件导入手机的流程图,从PC向手机导入数据文件的步骤如下步骤301,初始化,若出现异常,则执行步骤308,否则执行下一步;步骤302,PC侧通过发送创建新文件的信号,包括文件名、绝对路径等参数,在手机文件系统中创建一个新文件作为目的文件,然后向手机文件系统任务发送打开目的文件的请求信号,从应答信号中获得具体的文件句柄,该步若出现异常,执行步骤308;步骤303,PC侧逐段从数据源文件中读出一定长度数据并封装到写文件信号中,然后再将信号封装到链路层的数据帧中,通过串口发送数据,等待返回的应答信号;其中数据帧的长度是可变的,可根据需要改变数据帧的长度;
步骤304,根据返回的应答信号判断数据是否被成功写入目的文件,如果写入成功,执行下一步,否则执行步骤305;步骤305,判断是否发生异常错误,如果是,执行步骤308,否则,进行信号重传或者发送纠错信号,然后返回步骤303;异常错误指手机掉电、数据线断开等软件不能解决的问题,碰到异常情况的时候,通讯已经不可能。其它情况下,只要是软件能解决的问题,那么都会尝试信号重传。
步骤306,判断数据文件是否传输完毕,若未完成则返回步骤303,如若完成执行下一步;步骤307,向手机文件系统任务发送关闭目的文件的信号,关闭串口,释放串口占用资源,释放PC通讯线程占用的资源,结束监控线程,向用户提示本次操作的结果,结束;步骤308,设置错误状态,等待监控线程处理,结束。
将数据文件导入手机时,接收方可通过中断或轮询方式接收数据帧,然后进行数据帧校验检查。如果帧的数据有误,那么由链路层通过适当的错误控制进行恢复。接收方还要负责从帧中恢复信号,对信号的合法性进行检查,包括命令序号、错误状态字等高层差错控制,进一步保证了传输的稳定性。接收方通过分析信号头结构中的目的任务标识符,将合法的信号路由到目的任务,由相关的任务负责数据文件的保存。这些功能可以通过手机侧软件本身的功能实现,无需增加新的代码。手机侧MMI软件分成前台和后台两部分,前台和后台之间也是通过信号(消息)进行交互。后台软件已经实现了文件的读写操作。
对于PC侧通讯线程来说,导入数据文件仅仅是一个分段写文件的过程,实现过程简单,至于数据如何写入手机的FLASH则被手机的文件系统所屏蔽。同时,在传输的过程中通过链路层和传输层两层差错控制,可以实现稳定的数据传输。
从手机导出数据文件时,文件数据以相反的流程进行,此时手机成了发送方,而PC机成了接受方,方法基本和数据导入的过程相同。图4为本实施例将数据文件导出手机的流程图,处理步骤如下步骤401,初始化,若出现异常,则执行步骤411,否则执行下一步;步骤402,PC侧查询手机文件系统状态,根据返回信号获取相应的文件信息,包括文件句柄、文件名等;步骤403,用户选择要从手机导出的源文件后,PC侧向手机文件系统任务发送打开源文件的信号,若该文件不存在,执行步骤411;步骤404,手机侧文件系统任务收到打开源文件信号后进行打开源文件的操作,如果打开成功,执行下一步,否则,执行步骤411;步骤405,PC侧向手机侧文件系统任务发送读取文件信号,等待应答信号CNF;步骤406,若收到应答信号,执行步骤408,若无应答,执行步骤407;步骤407,PC侧判断是否发生异常错误,如果是,执行步骤411,否则,进行信号重传或者发送纠错信号,然后返回步骤405;步骤408,将应答信号中的文件内容保存到PC中;应答信号被封装到链路层的数据帧中,通过串口发送,且数据帧的长度是可变的。
步骤409,判断数据文件是否传输完毕,若未完成,返回步骤405直到数据文件全部写入PC中,若已传输完成,执行下一步;步骤410,向手机文件系统任务发送关闭源文件的信号,关闭串口,释放串口占用资源,释放PC通讯线程占用的资源,结束监控线程,向用户提示本次操作的结果,结束;步骤411,设置错误状态,等待监控线程处理,结束。
本发明不限于此种具体方案,采用本发明所述方法,PC侧的通讯进程可以和手机内任意一个任务进行通讯,利用手机文件系统任务完成对数据文件进行保存、读取和创建等操作,对于PC侧通讯任务来说,写FLASH的过程是被屏蔽的。反复调用读/写文件信号,就可以实现PC和手机之间数据文件的交互。还可利用其它模块的接口信号实现各种功能,例如使用NV模块(NVRAM非易失性存储器)的信号可以查询软件的版本信息等内容。
本方法也不仅适用于手机,还适用于任何可与计算机相连的移动终端系统。
权利要求
1.一种计算机和移动终端之间数据文件传输的方法,计算机和移动终端的串口通过专用数据线互连,该方法包括将计算机中的数据文件导入移动终端的过程,包括以下步骤(a)初始化后,用户选择要导入移动终端的源文件,计算机侧通讯线程利用信号机制与移动终端内部运行的实时任务进行通讯,通知移动终端文件系统任务创建用于写入数据的目的文件并打开该文件,从应答信号中获得该文件的信息;(b)计算机侧通讯线程从源文件中读取一定长度数据并封装到写文件信号中,然后再将信号封装到链路层的数据帧中,通过串口向移动终端发送数据,并等待应答信号;(c)计算机侧通讯线程根据应答信号确认数据已成功写入后,再按相同方式继续传输余下的数据,传输完毕后,通知移动终端文件系统任务关闭目的文件,并释放串口和各相关线程的资源。
2.如权利要求1所述的方法,其特征在于,还包括将移动终端中的数据文件导出到计算机中的过程,该过程包括以下步骤(A)初始化后,计算机侧通讯线程利用信号机制与移动终端内部运行的实时任务进行通讯,并根据查询移动终端文件系统状态返回的信号获取相应的文件信息,供用户选择要从移动终端导出的源文件;(B)计算机侧通讯线程向移动终端文件系统任务发送打开源文件信号和读取文件信号,移动终端文件系统任务收到后将源文件数据封装到应答信号中,再将该应答信号封装到数据帧中,通过串口发送到计算机侧;(C)计算机收到应答信号后保存信号中的文件数据,如数据文件未传输完成,再按相同方式从移动终端读取余下的数据,传输完毕后,通知移动终端文件系统任务关闭源文件,并释放串口和各相关线程的资源。
3.如权利要求1或2所述的方法,其特征在于,所述步骤(c)中,如果计算机侧通讯线程根据应答信号判断数据没有成功地写入目的文件,或者所述步骤(C)中计算机没有收到应答信号,则进一步判断是否发生异常错误,如果是,则交监控线程进行异常处理,结束;否则,进行信号重传或者发送纠错信号。
4.如权利要求1所述的方法,其特征在于,所述步骤(a)中初始化过程由计算机侧发起完成,分为以下步骤(a1)初始化计算机串口和移动终端串口,设置串口各项参数;(a2)初始化各种状态值,启动计算机侧的通讯线程和监控线程;(a3)计算机向移动终端发送同步试探信号,确认物理连接没有问题,并实现PC通讯线程和移动终端收发任务的同步;(a4)计算机向移动终端发送信号查询移动终端的状态,包括移动终端文件系统的状态;以上步骤(a3)或(a4)中如发现有异常,则交监控线程处理。
5.如权利要求3所述的方法,其特征在于,所述步骤(a4)中计算机还向移动终端查询对音乐文件的格式要求,在向该移动终端导入音乐文件时,如该文件的格式不符合要求,先对音乐文件的格式加以转换,要进行数据的传输。
6.如权利要求1或2所述的方法,其特征在于,计算机侧通讯线程利用信号机制与移动终端内部运行的实时任务之间的通讯过程分成三层,包括物理层、链路层和信号层;并在链路层的数据帧传输采用应答、纠错、校验和重传机制,同时在信号层对恢复出信号的合法性进行检查,包括命令序号、错误状态字,以实现高层差错控制。
7.如权利要求1或2所述的方法,其特征在于,所述信号为移动终端内部各实时任务间通讯所采用的消息。
8.如权利要求1或2所述的方法,其特征在于,所述移动终端串口收发任务通过中断或轮询方式接收数据帧,从帧中恢复信号,通过分析信号头结构中的目的任务标识符,将信号路由到目的任务,由相关的任务负责数据文件的保存或读取,以及返回应答信号。
9.如权利要求8所述的方法,其特征在于,所述串口收发任务采用GSM04.14标准中定义的EMMI实现的通讯接口任务。
全文摘要
一种计算机和移动终端之间数据文件传输的方法,将计算机中文件导入终端时,先初始化,选择要导入的源文件,计算机通讯线程利用信号机制与移动终端内实时任务通讯,创建用于供写入数据的目的文件并打开该文件;通讯线程从源文件中读取数据并封装到写文件信号中,再将信号封装到链路层数据帧通过串口发送到移动终端;在根据应答信号确认数据已成功写入后,再按相同方式继续传输余下的数据,传输完毕后,通知移动终端文件系统任务关闭目的文件,并释放串口和各相关线程的资源。本发明方法还可以类似方式将移动终端中的文件导入计算机中。本发明方法模块独立性好,可与移动终端内所有任务交互,通讯稳定性高,且无需在移动终端侧增加任何新代码。
文档编号H04L29/06GK101030864SQ20061005789
公开日2007年9月5日 申请日期2006年3月3日 优先权日2006年3月3日
发明者邵春, 井文涛, 朱小康 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1