專利名稱::采用Android平臺終端設備的數據傳輸方法及裝置的制作方法
技術領域:
:本發明涉及通信
技術領域:
,尤其涉及一種采用Android平臺終端設備的數據傳輸方法及裝置。
背景技術:
:隨著智能終端設備的迅速發展,基于Android平臺的終端設備(例如智能手機、平板電腦等)越來越普遍。Android是基于Linux平臺的開源手機操作系統,Android平臺由操作系統、中間件、用戶界面和應用軟件組成,平臺的底層以C語言開發的Linux內核為基礎,只提供基本功能,平臺的中間層包括函數庫和虛擬機,而平臺的上層是各種應用軟件。目前,基于Android平臺的終端設備在通過通用串行總線(UniversalSerialBus,USB)連接線連接至個人電腦(PersonalComputer,PC)后,采用的數據傳輸方案一般為媒體傳輸協議(MediaTransferProtocol,MTP)或USB大容量存儲(USBMassStorage,UMS)中的一種,MTP和UMS這兩種數據傳輸方案是單獨使用或存在的。具體地,在基于Android平臺的終端設備通過USB連接線連接至PC后,其與PC進行數據傳輸和共享的實現方案有以下兩種一種為單獨使用MTP文件傳輸技術,實現PC同時共享終端設備的內部存儲器(采用Fat分區的存儲器或采用Ext4分區的存儲器)和外部存儲器(例如安全數據存儲卡(SecureDigitalMemoryCard,簡稱SD卡))(一般為Fat分區),或者共享內部存儲器或外部SD卡存儲器;另一種為單獨采用UMS模式進行數據傳輸,實現PC同時共享終端設備的內部存儲器的Fat分區和外部SD卡存儲器,或者共享終端設備的內部存儲器的Fat分區或外部SD卡存儲器。其中,對于單獨使用MTP文件傳輸技術的數據傳輸和共享方案,終端設備盡可能地將內部存儲器分配給Android系統使用,但是由于MTP作為文件傳輸協議本身的局限性,PC與終端設備之間通過USB連接實現的數據傳輸和共享,僅限于文件的傳輸,PC不能實時控制終端設備的內部存儲器的內容,例如修改文件等操作。而對于單獨采用UMS模式的數據傳輸和共享方案,雖然終端設備中的內部存儲器和外部的SD卡存儲器都使用UMS模式與PC共享數據,但是由于終端設備在與PC建立USB連接時,將內部存儲器的一部分存儲空間作為Fat分區使用,而該部分分區此時不能用于運行終端設備的上層應用,這就在一定程度上減少了終端設備內部存儲器中系統可使用的標準Ext4分區的大小。
發明內容本發明提供一種采用Android平臺終端設備的數據傳輸方法及裝置,用以在采用Android平臺的終端設備上同時實現基于文件傳輸協議的數據傳輸和基于USB大容量存儲模式的數據傳輸功能,并有效發揮兩種數據傳輸方式的優勢。本發明實施例提供的具體技術方案如下一種采用Android平臺終端設備的數據傳輸方法,包括所述終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,所述終端設備基于文件傳輸協議向所述其它設備發送所述終端設備內部存儲器中的數據,以及基于文件傳輸協議接收所述其它設備發送的數據并寫入所述內部存儲器;所述終端設備采用USB大容量存儲UMS模式向所述其它設備發送所述終端設備外部存儲器中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述外部存儲器。一種用于采用Android平臺終端設備數據傳輸的裝置,包括第一數據傳輸單元,用于在所述終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,基于文件傳輸協議向所述其它設備發送所述終端設備內部存儲器中的數據,以及基于文件傳輸協議接收所述其它設備發送的數據并寫入所述內部存儲器;第二數據傳輸單元,用于在所述終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,采用USB大容量存儲UMS模式向所述其它設備發送所述終端設備外部存儲器中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述外部存儲器。基于上述技術方案,本發明實施例中,采用Android平臺的終端設備通過USB與其它設備建立用于數據傳輸的連接時,該終端設備基于文件傳輸協議向其它設備發送終端設備內部存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入內部存儲器,同時采用USB大容量存儲模式向其它設備發送終端設備外部存儲器中的數據,以及采用UMS模式接收其它設備發送的數據并寫入外部存儲器,從而可以同時在采用Android平臺的終端設備上同時實現基于文件傳輸協議的數據傳輸和基于USB大容量存儲模式的數據傳輸功能,并有效發揮兩種數據傳輸方式的優勢。圖I為本發明實施例中終端設備進行數據傳輸的方法流程圖2為本發明實施例中終端設備進行數據傳輸的具體實現示意圖3為本發明實施例中實現的終端設備的數據傳輸方式示意圖4為本發明實施例中用于移動終端數據傳輸的裝置結構示意圖。具體實施方式為了能夠在采用Android平臺的終端設備上同時實現基于文件傳輸協議的數據傳輸和基于USB大容量存儲模式的數據傳輸功能,本發明實施例提供了一種采用Android平臺終端設備的數據傳輸方法。以下實施例中,終端設備是指采用Android平臺的終端設備,例如采用Android平臺的智能手機、平板電腦等。該終端設備包括內部存儲器和掛載在該終端設備上的外部存儲器(例如掛載在智能手機中的外部SD卡存儲器)。以下實施例中,其它設備是指具備USB接口,可以通過USB接口進行數據傳輸的設備,該設備同時支持文件傳輸協議,例如采用Windows操作系統的PC等。以下實施例中,文件傳輸協議包括但不限于媒體傳輸協議(MediaTransferProtocol,MTP)或圖片傳輸協議(PictureTransferProtocol,PTP)。實際應用中,對于其它采用Android平臺的終端設備以及與該終端設備通過USB連接的其它設備能夠支持的文件傳輸協議,也可以應用于本發明,本發明實施例也將其包括在內。下面結合附圖對本發明優選的實施方式進行詳細說明。如附圖I所示,本發明實施例中,采用Android平臺的終端設備與其它設備進行數據傳輸的詳細方法流程如下步驟101:終端設備通過USB與其它設備建立用于數據傳輸的連接時,該終端設備基于文件傳輸協議向其它設備發送終端設備內部存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入內部存儲器。實際應用中,在終端設備的Android內核(AndroidKernel)中實現基于文件傳輸協議與通過USB連接的其它設備進行數據傳輸的功能;以及在終端設備的Android內核中實現基于UMS模式與通過USB連接的其它設備進行數據傳輸的功能。其中,在終端設備的Android內核(AndroidKernel)中實現基于文件傳輸協議與通過USB連接的其它設備進行數據傳輸的功能,本發明實施例中僅以一種具體實現為例進行說明,實際應用中并不以此為限,對于其它具體實現方式本發明實施例也將其包括在內。在一個具體實現中,終端設備基于文件傳輸協議向其它設備發送終端設備內部存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入內部存儲器,具體實現過程如下終端設備在內部存儲器采用的第四擴展日志式文件系統(TheFourthExtendedFileSystem,Ext4)之上的用戶空間文件系統(FileSysteminUserspace,Fuse)中構建虛擬存儲器,該虛擬存儲器用于運行Android應用程序和保存數據,終端設備基于文件傳輸協議向所述其它設備發送所述虛擬存儲器中的數據,以及基于所述文件傳輸協議接收所述其它設備發送的數據并寫入所述虛擬存儲器。步驟102:終端設備采用UMS模式向其它設備發送終端設備外部存儲器中的數據,以及采用UMS模式接收其它設備發送的數據并寫入外部存儲器。其中,在終端設備的Android內核中實現基于UMS模式與通過USB連接的其它設備進行數據傳輸的功能,本發明實施例中僅以一種具體實現為例進行說明,實際應用中并不以此為限,對于其它具體實現方式本發明實施例也將其包括在內。在一個具體實現中,終端設備采用UMS模式向其它設備發送終端設備外部存儲器中的數據,以及采用UMS模式接收其它設備發送的數據并寫入外部存儲器,具體實現思路如下終端設備通過Android平臺卸載外部存儲器,并將該外部存儲器作為USB大容量存儲設備掛載到該其它設備;終端設備采用UMS模式向其它設備發送USB大容量存儲設備中的數據,以及采用UMS模式接收其它設備發送的數據并寫入USB大容量存儲設備。其具體實現過程為首先,終端設備通過Android框架層(AndroidFramework層)卸載外部存儲器;然后,通過框架層中的USB設備管理類(UsbDeviceManager)調用存儲管理類(StorageManager)中的USB大容量存儲使能函數(enableUSBMassStorage),將該外部存儲器設置為USB大容量存儲設備,并通過用于外部存儲器管理的外部存儲器管理進程(如Void守護進程)將該外部存儲器掛載到通過USB與該終端設備連接的其它設備上。以下結合附圖2所示,通過一個具體的實施例對本發明提供的采用Android平臺的終端設備的數據傳輸的具體實現方式進行詳細說明如下首先,在終端設備的AndroidKernel中實現MTP(或PTP)和UMS兩種類型的數據傳輸功能;其次,當終端設備通過USB連接線連接至PC,并選擇數據傳輸功能時,該終端設備的AndroidKernel同時啟用MTP(或PTP)和UMS兩種類型的數據傳輸功能(啟動后在MTP服務下同時包括了內部存儲器和SD卡的MTP數據傳輸和共享過程),并在終端設備的AndroidFramework層對該終端設備外置的SD卡進行如下處理卸載(unmount)該SD卡,并通過Framework層的UsbDeviceManager類調用StorageManager類中的enableUSBMassStorage函數,通過該函數將該SD卡設置為USB大容量存儲設備,并調用發動服務(MountService)啟動用于外部存儲器管理的Void守護進程,將該SD卡掛載到PC上,相應地,將MTP服務中SD卡對應的采用MTP數據傳輸類型的數據傳輸和共享過程移除,至此即可實現MTP和UMS兩種類型的數據傳輸功能共存與同一終端設備。以包含內部存儲器(InternalStorage)和外置SD卡的Android智能設備為例,該Android智能設備的內部存儲器采用Ext4文件系統,外置的SD卡采用文件分配表(Fileallocationtable,Fat)文件系統,該Android智能設備與PC建立USB連接,PC同時支持MTP和UMS數據傳輸類型,通過本發明實施例提供的上述實現數據傳輸的方法,可以實現如附圖3所示的數據傳輸方式,其中Android智能設備的內部存儲器采用MTP協議與PC側進行數據傳輸,SD卡采用UMS模式與PC側進行數據傳輸,即PC側將該Android智能設備的內部存儲器識別為采用MTP協議進行驅動的MTP設備,將SD卡識別為USB驅動的UMS設備。基于同一發明構思,如附圖4所示,本發明實施例還提供了一種用于采用Android平臺終端設備數據傳輸的裝置,該裝置的具體實施可參見上述方法的具體實施,重復之處不再贅述,該裝置主要包括以下單元第一數據傳輸單元401,用于在終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,基于文件傳輸協議向其它設備發送終端設備內部存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入內部存儲器;第二數據傳輸單元402,用于在終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,采用USB大容量存儲(UMS)模式向其它設備發送終端設備外部存儲器中的數據,以及采用UMS模式接收其它設備發送的數據并寫入外部存儲器。其中,第一數據傳輸單元,具體用于在內部存儲器采用的第四擴展日志式文件系統(Ext4)之上的用戶空間文件系統(Fuse)中構建虛擬存儲器,該虛擬存儲器用于運行Android應用程序和保存數據,基于文件傳輸協議向其它設備發送虛擬存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入虛擬存儲器。其中,第二數據傳輸單元,具體用于通過Android平臺卸載外部存儲器,并將該外部存儲器作為USB大容量存儲設備掛載到其它設備,采用UMS模式向其它設備發送USB大容量存儲設備中的數據,以及采用UMS模式接收其它設備發送的數據并寫入USB大容量存儲設備。在一個具體實現中,第二數據傳輸單元,具體用于通過Android框架層卸載外部存儲器,并通過框架層中的USB設備管理類調用存儲管理類中的USB大容量存儲使能函數,將該外部存儲器設置為USB大容量存儲設備,并通過外部存儲器管理進程將該外部存儲器掛載到其它設備。其中,文件傳輸協議至少可以為MTP或PTP。基于上述技術方案,本發明實施例中,采用Android平臺的終端設備通過USB與其它設備建立用于數據傳輸的連接時,該終端設備基于文件傳輸協議向其它設備發送終端設備內部存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入內部存儲器,同時采用USB大容量存儲模式向其它設備發送終端設備外部存儲器中的數據,以及采用UMS模式接收其它設備發送的數據并寫入外部存儲器,從而可以同時在采用Android平臺的終端設備上同時實現基于文件傳輸協議的數據傳輸和基于USB大容量存儲模式的數據傳輸功能,并有效發揮兩種數據傳輸方式的優勢。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。權利要求1.一種采用Android平臺終端設備的數據傳輸方法,其特征在于,包括所述終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,所述終端設備基于文件傳輸協議向所述其它設備發送所述終端設備內部存儲器中的數據,以及基于文件傳輸協議接收所述其它設備發送的數據并寫入所述內部存儲器;所述終端設備采用USB大容量存儲UMS模式向所述其它設備發送所述終端設備外部存儲器中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述外部存儲器。2.如權利要求I所述的方法,其特征在于,所述文件傳輸協議為媒體傳輸協議MTP或圖片傳輸協議PTP。3.如權利要求I所述的方法,其特征在于,所述終端設備采用USB大容量存儲UMS模式向所述其它設備發送所述終端設備外部存儲器中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述外部存儲器,具體包括所述終端設備通過Android平臺卸載所述外部存儲器,并將所述外部存儲器作為USB大容量存儲設備掛載到所述其它設備;所述終端設備采用UMS模式向所述其它設備發送所述USB大容量存儲設備中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述USB大容量存儲設備。4.如權利要求3所述的方法,其特征在于,所述終端設備通過Android平臺卸載所述外部存儲器,并將所述外部存儲器作為USB大容量存儲設備掛載到所述其它設備,具體包括所述終端設備通過Android框架層卸載所述外部存儲器,并通過所述框架層中的USB設備管理類調用存儲管理類中的USB大容量存儲使能函數,將所述外部存儲器設置為USB大容量存儲設備,并通過外部存儲器管理進程將所述外部存儲器掛載到所述其它設備。5.如權利要求2-4任一項所述的方法,其特征在于,所述終端設備基于文件傳輸協議向所述其它設備發送所述終端設備內部存儲器中的數據,以及基于文件傳輸協議接收所述其它設備發送的數據并寫入所述內部存儲器,具體包括所述終端設備在所述內部存儲器采用的第四擴展日志式文件系統Ext4之上的用戶空間文件系統Fuse中構建虛擬存儲器,所述虛擬存儲器用于運行Android應用程序和保存數據;所述終端設備基于所述文件傳輸協議向所述其它設備發送所述虛擬存儲器中的數據,以及基于所述文件傳輸協議接收所述其它設備發送的數據并寫入所述虛擬存儲器。6.一種用于采用Android平臺終端設備數據傳輸的裝置,其特征在于,包括第一數據傳輸單元,用于在所述終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,基于文件傳輸協議向所述其它設備發送所述終端設備內部存儲器中的數據,以及基于文件傳輸協議接收所述其它設備發送的數據并寫入所述內部存儲器;第二數據傳輸單元,用于在所述終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,采用USB大容量存儲UMS模式向所述其它設備發送所述終端設備外部存儲器中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述外部存儲器。7.如權利要求6所述的裝置,其特征在于,所述文件傳輸協議為媒體傳輸協議MTP或圖片傳輸協議PTP。8.如權利要求6所述的裝置,其特征在于,所述第二數據傳輸單元,具體用于通過Android平臺卸載所述外部存儲器,并將所述外部存儲器作為USB大容量存儲設備掛載到所述其它設備,采用UMS模式向所述其它設備發送所述USB大容量存儲設備中的數據,以及采用UMS模式接收所述其它設備發送的數據并寫入所述USB大容量存儲設備。9.如權利要求8所述的裝置,其特征在于,所述第二數據傳輸單元,具體用于通過Android框架層卸載所述外部存儲器,并通過所述框架層中的USB設備管理類調用存儲管理類中的USB大容量存儲使能函數,將所述外部存儲器設置為USB大容量存儲設備,并通過外部存儲器管理進程將所述外部存儲器掛載到所述其它設備。10.如權利要求6-9任一項所述的裝置,其特征在于,所述第一數據傳輸單元,具體用于在所述內部存儲器采用的第四擴展日志式文件系統Ext4之上的用戶空間文件系統Fuse中構建虛擬存儲器,所述虛擬存儲器用于運行Android應用程序和保存數據,基于所述文件傳輸協議向所述其它設備發送所述虛擬存儲器中的數據,以及基于所述文件傳輸協議接收所述其它設備發送的數據并寫入所述虛擬存儲器。全文摘要本發明公開了一種采用Android平臺終端設備的數據傳輸方法及裝置,用以在采用Android平臺的終端設備上同時實現基于文件傳輸協議的數據傳輸和基于USB大容量存儲模式的數據傳輸功能,并有效發揮兩種數據傳輸方式的優勢。該方法為終端設備通過通用串行總線USB與其它設備建立用于數據傳輸的連接時,所述終端設備基于文件傳輸協議向其它設備發送終端設備內部存儲器中的數據,以及基于文件傳輸協議接收其它設備發送的數據并寫入內部存儲器;終端設備采用USB大容量存儲UMS模式向其它設備發送終端設備外部存儲器中的數據,以及采用UMS模式接收其它設備發送的數據并寫入外部存儲器。文檔編號G06F13/40GK102981990SQ201210447878公開日2013年3月20日申請日期2012年11月9日優先權日2012年11月9日發明者黃林剛申請人:青島海信移動通信技術股份有限公司