CN109992430B - 一种数据传输方法、第一终端和第二终端 - Google Patents

一种数据传输方法、第一终端和第二终端 Download PDF

Info

Publication number
CN109992430B
CN109992430B CN201910152605.5A CN201910152605A CN109992430B CN 109992430 B CN109992430 B CN 109992430B CN 201910152605 A CN201910152605 A CN 201910152605A CN 109992430 B CN109992430 B CN 109992430B
Authority
CN
China
Prior art keywords
terminal
application process
port
program package
preset program
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.)
Active
Application number
CN201910152605.5A
Other languages
English (en)
Other versions
CN109992430A (zh
Inventor
陈文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN201910152605.5A priority Critical patent/CN109992430B/zh
Publication of CN109992430A publication Critical patent/CN109992430A/zh
Application granted granted Critical
Publication of CN109992430B publication Critical patent/CN109992430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供了一种数据传输方法、第一终端和第二终端,涉及数据处理技术领域。其中,该方法包括:在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端;根据预置程序包的存储路径,通过具有目标权限的进程创建命令,启动预置程序包,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级;接收第二终端的进程连接请求;生成第二终端的套接字;通过第一应用进程对应的第二端口与第二终端传输目标数据。本发明中,第二应用进程具有较高的执行权限,因此,第二应用进程不会被权限等级相同或更低权限的***策略进程强制关闭,从而可避免进程之间的连接中断,提高了数据传输效率。

Description

一种数据传输方法、第一终端和第二终端
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据传输方法、第一终端和第二终端。
背景技术
目前,市面上有许多针对安卓终端的管理应用,例如手机助手、手机管家等等。通常,用户可以在台式电脑中下载一个针对安卓手机的管理应用,然后可以将台式电脑与安卓手机进行连接,进而台式电脑可以通过该管理应用实现与安卓手机之间的数据传输,例如导出或导入联系人、短信、通话记录等数据,从而可以对第二终端中的数据进行管理。
通常,在实际应用中,对于安装有安卓终端管理应用的管理终端,在该管理终端与安卓终端进行数据传输之前,管理终端通常需要向安卓终端发送一个APK(AndroidPackage,安卓程序安装包),该APK中的应用程序可以与管理应用配套使用,从而能够实现两个终端之间的数据传输。
然而,由于受到安卓***或厂商的限制,APK应用程序对应的应用进程的执行权限通常较低,因此,该应用程序在后台运行时,极易被较高权限的省电、提速等***策略强制退出,从而导致管理终端与安卓终端之间的数据传输通道中断,进而管理终端与安卓终端之间需要再次建立数据传输通道,才能够继续进行数据传输,如此,降低了数据传输的效率。
发明内容
本发明提供一种数据传输方法、第一终端和第二终端,以解决APK对应的应用进程执行权限较低,极易被较高权限的省电、提速等***策略强制退出,导致数据传输过程中断,数据传输效率低下的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种数据传输方法,应用于第一终端,包括:
在连接第二终端的情况下,通过第一应用进程将预置程序包发送至所述第二终端,所述预置程序包中包括用于实现数据传输的方法函数;
根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程,所述目标权限的权限等级高于或等于***策略对应的权限等级;
接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求;
根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接;
通过所述第一应用进程对应的第二端口与所述第二终端传输目标数据。
第二方面,本发明实施例还提供了一种数据传输方法,应用于第二终端,包括:
在连接第一终端的情况下,接收所述第一终端通过第一应用进程发送的预置程序包,所述预置程序包中包括用于实现数据传输的方法函数;
在具有目标权限的第二应用进程在所述第二终端中创建完成时,通过所述第二应用进程对应的第一端口向所述第一终端发送进程连接请求,所述第二应用进程为所述第一终端将所述预置程序包发送至所述第二终端,并根据所述预置程序包在所述第二终端中的存储路径,通过具有所述目标权限的进程创建命令,在所述第二终端中启动所述预置程序包创建而成,所述目标权限的权限等级高于或等于***策略对应的权限等级;
通过所述第一端口与所述第一终端传输目标数据,所述目标数据为所述第一终端接收到所述进程连接请求,并根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接之后,通过所述第一应用进程对应的第二端口与所述第二终端传输的数据。
第三方面,本发明实施例还提供了一种第一终端,该第一终端包括:
第一发送模块,用于在连接第二终端的情况下,通过第一应用进程将预置程序包发送至所述第二终端,所述预置程序包中包括用于实现数据传输的方法函数;
创建模块,用于根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程,所述目标权限的权限等级高于或等于***策略对应的权限等级;
第一接收模块,用于接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求;
生成模块,用于根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接;
第一传输模块,用于通过所述第一应用进程对应的第二端口与所述第二终端传输目标数据。
第四方面,本发明实施例还提供了一种第二终端,该第二终端包括:
第二接收模块,用于在连接第一终端的情况下,接收所述第一终端通过第一应用进程发送的预置程序包,所述预置程序包中包括用于实现数据传输的方法函数;
第二发送模块,用于在具有目标权限的第二应用进程在所述第二终端中创建完成时,通过所述第二应用进程对应的第一端口向所述第一终端发送进程连接请求,所述第二应用进程为所述第一终端将所述预置程序包发送至所述第二终端,并根据所述预置程序包在所述第二终端中的存储路径,通过具有所述目标权限的进程创建命令,在所述第二终端中启动所述预置程序包创建而成,所述目标权限的权限等级高于或等于***策略对应的权限等级;
第二传输模块,用于通过所述第一端口与所述第一终端传输目标数据,所述目标数据为所述第一终端接收到所述进程连接请求,并根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接之后,通过所述第一应用进程对应的第二端口与所述第二终端传输的数据。
第五方面,本发明实施例还提供了一种终端,该终端包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明所述的数据传输方法的步骤。
第六方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现本发明所述的数据传输方法的步骤。
在本发明实施例中,第一终端可以在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端,预置程序包中包括用于实现数据传输的方法函数,然后第一终端可以根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,之后可以接收第二终端在第二应用进程创建完成时,通过第二应用进程对应的第一端口发送的进程连接请求,并可以根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接,进而第一终端可以通过第一应用进程对应的第二端口与第二终端传输目标数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。
附图说明
图1示出了本发明实施例一中的一种数据传输方法的流程图;
图2示出了本发明实施例二中的一种数据传输方法的流程图;
图3示出了本发明实施例三中的一种数据传输方法的流程图;
图4示出了本发明实施例四中的一种第一终端的结构框图;
图5示出了本发明实施例五中的一种第二终端的结构框图;
图6示出了本发明各个实施例中的一种终端的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参照图1,示出了本发明实施例一的数据传输方法的流程图,该数据传输方法可以应用于第一终端,具体可以包括如下步骤:
步骤101,在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端,预置程序包中包括用于实现数据传输的方法函数。
在本发明实施例中,第一终端中可以安装一个用于与第二终端进行数据传输的第一应用,第一终端的***在启动该第一应用时,可以创建并运行第一应用进程。当用户需要进行数据传输时,可以将第一终端与第二终端进行连接,并启动第一应用,以使第一终端创建第一应用进程,进而在第一终端连接第二终端的情况下,第一应用进程可以按照指定的第二终端中的存储路径,通过第一应用将预置程序包推送至第二终端中的指定存储目录下进行存储。
其中,该预置程序包相当于一个应用程序安装包,其中包括用于实现数据传输的方法函数。该预置程序包在第二终端中启动后可以安装在第二终端中,也即是在第二终端中安装了一个能够与该目标应用配套进行使用,以实现数据传输的第二应用。第二应用可以通过运行其中的方法函数进行数据传输,该方法函数中具体可以包括如何对接收到的特定数据进行处理的方法函数、如何将特定数据发送至连接的终端的方法函数等等,本发明实施例对此不作具体限定。
步骤102,根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级。
在本发明实施例中,第一终端可以在本地执行一个具有目标权限的进程创建命令,该进程创建命令的命令行中包括预置程序包在第二终端中的存储路径,在第一终端与第二终端连接的情况下,第一终端执行该进程创建命令,即可在第二终端中启动该存储路径下存储的预置程序包。该预置程序包在第二终端中启动并安装,相当于在第二终端中安装了一个第二应用,第二终端的***在启动该第二应用时,可以创建并运行第二应用进程。且由于第二应用进程是通过具有目标权限的进程创建命令创建得到的,因此第二应用进程也具有目标权限。
在实际应用中,目标权限可以为权限等级高于***策略执行权限的权限等级的任一权限,例如目标权限可以为shell(壳)权限,shell权限是终端中的一种等级较高的执行权限,其权限等级大致相当于adb(Android Debug Bridge,安卓调试桥)权限。终端中通常设定有很多等级的执行权限,例如权限等级最高的root(根)权限、权限等级低于root权限的Administrator(管理员)权限、权限等级低于Administrator权限的shell权限、权限等级低于 shell权限的***策略权限、权限等级低于***策略权限的应用权限等等。其中,权限等级不同的执行权限可以自主调用的资源类型和资源数量是不同的,权限等级越高的执行权限可自主调用的资源类型和资源数量越多。对于一般的应用程序安装包中的应用程序,例如APK中的应用程序,该应用程序对应的应用进程的执行权限通常为等级较低的应用权限,其受限的方面主要有:该应用程序安装包在安装时需要用户确认,且该应用程序对应的应用进程可以被具有更高等级执行权限的进程强制关闭。
相应的,由于第二应用进程具有的目标权限的权限等级较高,因此在预置程序包进行安装时,无需通过显示弹框等方式让用户进行确认,且第二应用进程不会被同样具有shell权限的进程强制关闭。
步骤103,接收第二终端在第二应用进程创建完成时,通过第二应用进程对应的第一端口发送的进程连接请求。
在本发明实施例中,第二终端可以在具有目标权限的第二应用进程在第二终端中创建完成时,通过第二应用进程对应的第一端口向第一终端发送进程连接请求,进而第一终端可以接收到该进程连接请求。
步骤104,根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接。
在本发明实施例中,第一终端在接收到第二终端发送的进程连接请求之后,可以将第二终端的互联网协议(Internet Protocol,IP)地址和第一端口的端口号组成第二终端的套接字(socket),并保存该套接字,至此,第一应用进程与第二应用进程之间的连接建立完成,从而第一应用进程可以与第二应用进程进行数据交互。
步骤105,通过第一应用进程对应的第二端口与第二终端传输目标数据。
在本发明实施例中,在第一应用进程与第二应用进程之间的连接建立完成之后,第一应用进程可以通过第二端口向第二应用进程对应的第一端口发送目标数据,从而实现第一应用进程与第二应用进程之间的数据传输。在实际应用中,目标数据例如可以是用户需要传输的图片、文本、视频等数据,另外,目标数据可以是本地数据,当然也可以是从服务器获取的应用数据,本发明实施例对此不作具体限定。
在本发明实施例中,第一终端可以在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端,预置程序包中包括用于实现数据传输的方法函数,然后第一终端可以根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,之后可以接收第二终端在第二应用进程创建完成时,通过第二应用进程对应的第一端口发送的进程连接请求,并可以根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接,进而第一终端可以通过第一应用进程对应的第二端口与第二终端传输目标数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。
实施例二
参照图2,示出了本发明实施例二的数据传输方法的流程图,该数据传输方法可以应用于第二终端,具体可以包括如下步骤:
步骤201,在连接第一终端的情况下,接收第一终端通过第一应用进程发送的预置程序包,预置程序包中包括用于实现数据传输的方法函数。
在本发明实施例中,第一终端中可以安装一个用于与第二终端进行数据传输的第一应用,第一终端的***在启动该第一应用时,可以创建并运行第一应用进程。当用户需要进行数据传输时,可以将第一终端与第二终端进行连接,并启动第一应用,以使第一终端创建第一应用进程,进而在第一终端连接第二终端的情况下,第一应用进程可以按照指定的第二终端中的存储路径,通过第一应用将预置程序包推送至第二终端中的指定存储目录,相应的,第二终端可以接收到第一终端通过第一应用进程发送的预置程序包,并可以在指定存储目录下存储该预置程序包。
步骤202,在具有目标权限的第二应用进程在第二终端中创建完成时,通过第二应用进程对应的第一端口向第一终端发送进程连接请求;第二应用进程为第一终端将预置程序包发送至第二终端,并根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包创建而成,目标权限的权限等级高于或等于***策略执行权限的权限等级。
在本发明实施例中,第一终端可以在本地执行一个具有目标权限的进程创建命令,该进程创建命令的命令行中包括预置程序包在第二终端中的存储路径,在第一终端与第二终端连接的情况下,第一终端执行该进程创建命令,即可在第二终端中启动该存储路径下存储的预置程序包。该预置程序包在第二终端中启动并安装,相当于在第二终端中安装了一个第二应用,第二终端的***在启动该第二应用时,可以创建并运行第二应用进程。且由于第二应用进程是通过具有目标权限的进程创建命令创建得到的,因此第二应用进程也具有目标权限。
进一步的,在具有目标权限的第二应用进程在第二终端中创建完成时,第二终端可以通过第二应用进程对应的第一端口向第一终端发送进程连接请求,以与第一终端中的第一应用进程进行连接,以实现与第一应用进程之间的交互。
步骤203,通过第一端口与第一终端传输目标数据;目标数据为第一终端接收到进程连接请求,并根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接之后,通过第一应用进程对应的第二端口与第二终端传输的数据。
在本发明实施例中,第一终端在接收到第二终端发送的进程连接请求之后,可以将第二终端的互联网协议地址和第一端口的端口号组成第二终端的套接字,并保存该套接字,至此,第一应用进程与第二应用进程之间的连接建立完成,从而第一应用进程可以与第二应用进程进行数据交互。在第一应用进程与第二应用进程之间的连接建立完成之后,第二应用进程可以通过第一端口向第一应用进程对应的第二端口发送目标数据,从而实现第二应用进程与第一应用进程之间的数据传输。
在本发明实施例中,第二终端在连接第一终端的情况下,可以接收第一终端通过第一应用进程发送的预置程序包,预置程序包中包括用于实现数据传输的方法函数,然后可以在具有目标权限的第二应用进程在第二终端中创建完成时,通过第二应用进程对应的第一端口向第一终端发送进程连接请求,该第二应用进程为第一终端将预置程序包发送至第二终端,并根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包创建而成,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,进而第二终端可以通过第一端口与第一终端传输目标数据,该目标数据为第一终端接收到进程连接请求,并根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接之后,通过第一应用进程对应的第二端口与第二终端传输的数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。
实施例三
参照图3,示出了本发明实施例三的数据传输方法的流程图,该数据传输方法可以应用于包括第一终端和第二终端的数据传输***,具体可以包括如下步骤:
步骤301,第一终端在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端;预置程序包中包括用于实现数据传输的方法函数。
在本发明实施例中,第二终端与所述第一终端可以通过安卓调试桥对应的通用串行总线方式或者局域网方式连接。具体地,安卓调试桥分为两种桥接模式,一种可以通过USB(Universal Serial Bus,通用串行总线)连接的有线桥接模式,还有一种可以通过局域网连接的无线桥接模式。对于有线桥接模式,用户需要在第二终端中点击USB(UniversalSerial Bus,通用串行总线)调试选项,从而第二终端可以开启USB调试端口,USB调试端口开启后,第一终端才能通过adb与第二终端进行桥接。对于无线桥接模式,用户则需要将第一终端和第二终端均连接到同一个局域网,例如连接到同一个局域网对应的WiFi(Wireless Fidelity,无线保真),从而第一终端才能通过 adb与第二终端进行桥接。其中,第二终端可以为安装有Android(安卓)***的移动终端。
第一终端在连接第二终端的情况下,可以创建并运行第一应用进程,进而第一应用进程可以执行adb push(推送)命令,从而可以将预置程序包推送至第二终端中的指定存储目录下进行存储。在实际应用中,该预置程序包也即一个jar格式的程序包,该预置程序包由一个可执行的dex文件编译而成,dex文件中包括一个main函数作为程序执行的入口,该main函数也即是用于实现数据传输的方法函数。另外,在具体应用中,该指定存储目录可以为具有shell权限的进程有权限访问的目录,例如可以是/data/local/tmp目录,相应的,该adb push命令具体可以是adb push server.jar/data/local/tmp,其中,server.jar即为预置程序包的包名。
步骤302,第二终端在连接第一终端的情况下,接收第一终端通过第一应用进程发送的预置程序包。
在本发明实施例中。第一终端向第二终端发送预置程序包之后,第二终端相应可以接收到该预置程序包,并可以在指定存储目录下存储该预置程序包。此时,第一终端可以作为服务端向第二终端提供预置程序包,相应的,第二终端可以作为客户端接收该预置程序包。
步骤303,第一终端将第二终端中针对第二应用进程预设的第一端口映射到第一应用进程对应的第二端口。
在本发明实施例中,每个应用进程通常会通过终端中预先设定的端口与其他设备进行数据交互,因此,当第一终端中的第一应用进程需要通过第二端口与第二终端进行数据传输,且第二终端中的第二应用进程需要通过第一端口与第一终端进行数据传输时,第一终端中的第一应用进程可以通过adb reverse命令,打通与第二终端中的第二应用进程之间的连接通道。
具体地,第一应用进程可以执行adb reverse tcp:port1 tcp:port2命令,以将第二终端中针对第二应用进程预设的第一端口映射到第一应用进程对应的第二端口。其中,port1为第二终端中第一端口的端口号,port2为第一终端中第二端口的端口号,tcp(Transmission Control Protocol传输控制协议) 为两个端口之间进行数据传输所使用的通信协议。
第一终端可以通过adb reverse命令实现端口的反向代理,以使第一终端与第二终端的角色发生转换,第二终端将作为客户端,向第一终端的第二端口发送一个用于指示数据传输准备就绪的进程连接请求,第一终端则可以作为服务端,接收第二终端发送的进程连接请求,从而第一终端无需一直待机,进而无需通过轮询的方式不断去确认第二终端的数据传输准备是否就绪,从而能够提高进程之间的连接效率。
步骤304,第一终端将第二端口设置为监听状态。
在本发明实施例中,由于第一终端可以作为被动接收数据的服务端,因此,第一终端可以将第二端口设置为监听状态,从而通过第二端口监听第二终端通过第一端口发送来的进程连接请求。
步骤305,第一终端根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级。
在本发明实施例中,以目标权限为shell权限为例,第一终端可以在adb shell模式中执行具有shell权限的进程创建命令,以在第二终端中创建具有 shell权限的第二应用进程。在具体应用中,该进程创建命令可以为 app_process(应用进程处理)命令。具体地,第一终端可以在adb shell模式中执行下述命令行:
export CLASSPATH=/data/local/tmp/server.jar
app_process/data/local/tmp com.example.Server
其中,/data/local/tmp为预置程序包在第二终端中的存储目录,server.jar 为预置程序包的包名,com.example.Server是一个可应用数据传输方法函数的类的实例对象。至此,预置程序包在第二终端中启动完成,预置程序包中的dex文件可以运行,从而可以实现第二应用进程的创建。
由于第二应用进程是在adb shell模式中创建出的,因此第二应用进程具有shell权限,相应的,第二应用进程不会被某些***策略对应的权限等级低于shell权限的进程强制关闭,例如“一键加速”、“进程清理”等提高运行速度的策略,以及省电策略等等,从而可以避免进程之间的连接中断。
进一步的,由于可以通过adb push命令直接将预置程序包推送至第二终端,并可以通过app_process命令直接启动该预置程序包,从而能够直接在第二终端中创建第二应用进程,因此在第二应用进程与第一应用进程进行连接之前,不需要在第二终端中安装APK,进而也无需用户对APK的安装进行一系列的确认操作,如此,可以避免第二终端处于灭屏状态时,用户不知道第二终端上有安装APK的弹框需要确认,进而可以避免因APK安装操作未及时得到用户确认而导致的连接失败。
步骤306,第二终端在具有目标权限的第二应用进程在第二终端中创建完成时,通过第二应用进程对应的第一端口向第一终端发送进程连接请求。
在本发明实施例中,第二终端作为主动发送信息的客户端,在具有目标权限的第二应用进程在第二终端中创建完成时,可以通过第二应用进程对应的第一端口,主动向第一终端发送进程连接请求,以向第一终端告知第二终端的数据传输准备已就绪,可以开始传输数据。
步骤307,第一终端在第二端口处于监听状态的情况下,通过第二端口接收第二终端在第二应用进程创建完成时,通过第二应用进程对应的第一端口发送的进程连接请求。
在本发明实施例中,由于第一终端已经进行了端口映射,因此,第一终端可以从第二端口监听到第二终端通过第一端口发送的进程连接请求,此时,第一终端可以获知第二终端的数据传输准备已就绪。
步骤308,第一终端根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接。
在本发明实施例中,第一终端在接收到第二终端发送的进程连接请求之后,可以将第二终端的互联网协议地址和第一端口的端口号组成第二终端的套接字(socket),并保存该套接字,至此,第一应用进程与第二应用进程之间的连接建立完成,从而第一应用进程可以与第二应用进程进行数据交互。
当第一应用进程与第二应用进程之间的连接建立完成时,第一终端与第二终端的角色将再次发生转换,此时,第一终端可以作为客户端向第二终端发送数据或者请求数据,第二终端则可以作为服务端接收第一终端发送的数据,或者响应于第一终端的数据请求,向第一终端发送数据。
步骤309,第一终端通过第二端口与第二终端传输目标数据。
在本发明实施例中,目标数据可以为第一终端生成或存储的任一数据,相应的,第一终端可以通过第二端口向第二终端发送目标数据,进而第二终端可以通过的第一端口接收到该目标数据。当然,目标数据也可以为第二终端生成或存储的任一数据,相应的,第一终端可以向第二终端发送目标数据的获取请求,进而第二终端在接收到该获取请求之后,可以通过第一端口将目标数据发送至第一终端的第二端口。
步骤310,第二终端通过第一端口与第一终端传输目标数据。
在本发明实施例中,当目标数据为第二终端生成或存储的任一数据时,第一终端可以向第二终端发送目标数据的获取请求,进而第二终端在接收到该获取请求之后,可以通过第一端口将目标数据发送至第一终端的第二端口。当目标数据为第一终端生成或存储的任一数据时,第一终端可以通过第二端口向第二终端发送目标数据,进而第二终端可以通过的第一端口接收到该目标数据。也即是第一应用进程可以通过第二端口实现与第二应用进程之间的数据传输,相应的,第二应用进程可以通过第一端口实现与第一应用进程之间的数据传输。
在本发明实施例中,第一终端可以在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端,预置程序包中包括用于实现数据传输的方法函数,然后第一终端可以将第二终端中针对第二应用进程预设的第一端口映射到第一应用进程对应的第二端口,并监听第二端口,进而第一终端可以根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,之后第二终端在第二应用进程创建完成时,可以通过第二应用进程对应的第一端口将进程连接请求发送第一终端,第一终端接收到后可以根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接,进而第一终端可以通过第一应用进程对应的第二端口与第二终端传输目标数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。另外,第一终端可以采用反向代理的方式映射端口,从而第一终端无需一直待机,进而无需通过轮询的方式不断去确认第二终端的数据传输准备是否就绪,从而能够提高进程之间的连接效率。
实施例四
参照图4,示出了本发明实施例四的一种第一终端400的结构框图,具体可以包括:
第一发送模块401,用于在连接第二终端的情况下,通过第一应用进程将预置程序包发送至所述第二终端,所述预置程序包中包括用于实现数据传输的方法函数;
创建模块402,用于根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程,所述目标权限的权限等级高于或等于***策略对应的权限等级;
第一接收模块403,用于接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求;
生成模块404,用于根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接;
第一传输模块405,用于通过所述第一应用进程对应的第二端口与所述第二终端传输目标数据。
可选的,参照图4,所述第一终端400还包括:
映射模块406,用于将所述第二终端中针对第二应用进程预设的第一端口映射到所述第一应用进程对应的第二端口;
设置模块407,用于将所述第二端口设置为监听状态;
相应的,所述第一接收模块403包括:
接收子模块4031,用于在所述第二端口处于监听状态的情况下,通过所述第二端口接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求。
本发明实施例提供的第一终端能够实现图1和图3的方法实施例中第一终端实现的各个过程,为避免重复,这里不再赘述。
在本发明实施例中,第一终端可以通过第一发送模块,在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端,预置程序包中包括用于实现数据传输的方法函数,然后第一终端可以通过创建模块,根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,之后可以通过第一接收模块,接收第二终端在第二应用进程创建完成时,通过第二应用进程对应的第一端口发送的进程连接请求,并可以通过生成模块根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接,进而第一终端可以通过第一生成模块,通过第一应用进程对应的第二端口与第二终端传输目标数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。
实施例五
参照图5,示出了本发明实施例五的一种第二终端500的结构框图,具体可以包括:
第二接收模块501,用于在连接第一终端的情况下,接收所述第一终端通过第一应用进程发送的预置程序包,所述预置程序包中包括用于实现数据传输的方法函数;
第二发送模块502,用于在具有目标权限的第二应用进程在所述第二终端中创建完成时,通过所述第二应用进程对应的第一端口向所述第一终端发送进程连接请求,所述第二应用进程为所述第一终端将所述预置程序包发送至所述第二终端,并根据所述预置程序包在所述第二终端中的存储路径,通过具有所述目标权限的进程创建命令,在所述第二终端中启动所述预置程序包创建而成,所述目标权限的权限等级高于或等于***策略对应的权限等级;
第二传输模块503,用于通过所述第一端口与所述第一终端传输目标数据,所述目标数据为所述第一终端接收到所述进程连接请求,并根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接之后,通过所述第一应用进程对应的第二端口与所述第二终端传输的数据。
可选的,所述第二终端与所述第一终端通过安卓调试桥对应的通用串行总线方式或者局域网方式连接。
本发明实施例提供的第二终端能够实现图2和图3的方法实施例中第二终端实现的各个过程,为避免重复,这里不再赘述。
在本发明实施例中,第二终端在连接第一终端的情况下,可以通过第二接收模块,接收第一终端通过第一应用进程发送的预置程序包,预置程序包中包括用于实现数据传输的方法函数,然后可以通过第二发送模块,在具有目标权限的第二应用进程在第二终端中创建完成时,通过第二应用进程对应的第一端口向第一终端发送进程连接请求,该第二应用进程为第一终端将预置程序包发送至第二终端,并根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包创建而成,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,进而第二终端可以通过第二传输模块,通过第一端口与第一终端传输目标数据,该目标数据为第一终端接收到进程连接请求,并根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接之后,通过第一应用进程对应的第二端口与第二终端传输的数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。
实施例六
图6为实现本发明各个实施例的一种终端的硬件结构示意图,
该终端600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器610,用于在连接第二终端的情况下,通过第一应用进程将预置程序包发送至所述第二终端,所述预置程序包中包括用于实现数据传输的方法函数;根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程,所述目标权限的权限等级高于或等于***策略对应的权限等级;射频单元601,用于接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求;处理器610,还用于根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接;通过所述第一应用进程对应的第二端口与所述第二终端传输目标数据。
在本发明实施例中,第一终端可以在连接第二终端的情况下,通过第一应用进程将预置程序包发送至第二终端,预置程序包中包括用于实现数据传输的方法函数,然后第一终端可以根据预置程序包在第二终端中的存储路径,通过具有目标权限的进程创建命令,在第二终端中启动预置程序包,以在第二终端中创建具有目标权限的第二应用进程,其中,目标权限的权限等级高于或等于***策略执行权限的权限等级,之后可以接收第二终端在第二应用进程创建完成时,通过第二应用进程对应的第一端口发送的进程连接请求,并可以根据第二终端的互联网协议地址和第一端口的端口号,生成第二终端的套接字,以建立第一应用进程与第二应用进程之间的连接,进而第一终端可以通过第一应用进程对应的第二端口与第二终端传输目标数据。在本发明实施例中,可以通过具有目标权限的进程创建命令,在第二终端中创建具有目标权限的第二应用进程,目标权限的权限等级高于或等于***策略执行权限的权限等级,也即是第二应用进程具有不低于省电、提速等***策略进程的执行权限,因此,第二应用进程在运行过程中,不会被权限等级相同或更低权限的***策略进程强制关闭,从而可以避免第一应用进程与第二应用进程之间的连接发生中断,进而能够提高数据传输的效率。
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信***与网络和其他设备通信。
终端通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与终端600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041 对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元 606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042 可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
终端600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在终端600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display, LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071 检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现终端的输入和输出功能,但是在某些实施例中,可以将触控面板 6071与显示面板6061集成而实现终端的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与终端600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入 /输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端600内的一个或多个元件或者可以用于在终端600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器 610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
终端600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理***与处理器610逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
另外,终端600包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种终端,包括处理器610,存储器609,存储在存储器609上并可在处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述数据传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(Read-Only Memory,简称 ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种数据传输方法,应用于第一终端,其特征在于,所述方法包括:
在连接第二终端的情况下,通过第一应用进程将预置程序包发送至所述第二终端,所述预置程序包中包括用于实现数据传输的方法函数;
根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程,所述目标权限的权限等级高于或等于***策略对应的权限等级;
接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求;
根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接;
通过所述第一应用进程对应的第二端口与所述第二终端传输目标数据。
2.根据权利要求1的所述方法,其特征在于,所述根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程的步骤之前,还包括:
将所述第二终端中针对第二应用进程预设的第一端口映射到所述第一应用进程对应的第二端口;
将所述第二端口设置为监听状态;
相应的,接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求的步骤,包括:
在所述第二端口处于监听状态的情况下,通过所述第二端口接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求。
3.一种数据传输方法,应用于第二终端,其特征在于,所述方法包括:
在连接第一终端的情况下,接收所述第一终端通过第一应用进程发送的预置程序包,所述预置程序包中包括用于实现数据传输的方法函数;
在具有目标权限的第二应用进程在所述第二终端中创建完成时,通过所述第二应用进程对应的第一端口向所述第一终端发送进程连接请求,所述第二应用进程为所述第一终端将所述预置程序包发送至所述第二终端,并根据所述预置程序包在所述第二终端中的存储路径,通过具有所述目标权限的进程创建命令,在所述第二终端中启动所述预置程序包创建而成,所述目标权限的权限等级高于或等于***策略对应的权限等级;
通过所述第一端口与所述第一终端传输目标数据,所述目标数据为所述第一终端接收到所述进程连接请求,并根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接之后,通过所述第一应用进程对应的第二端口与所述第二终端传输的数据。
4.根据权利要求3的所述方法,其特征在于,所述第二终端与所述第一终端通过安卓调试桥对应的通用串行总线方式或者局域网方式连接。
5.一种第一终端,其特征在于,所述第一终端包括:
第一发送模块,用于在连接第二终端的情况下,通过第一应用进程将预置程序包发送至所述第二终端,所述预置程序包中包括用于实现数据传输的方法函数;
创建模块,用于根据所述预置程序包在所述第二终端中的存储路径,通过具有目标权限的进程创建命令,在所述第二终端中启动所述预置程序包,以在所述第二终端中创建具有所述目标权限的第二应用进程,所述目标权限的权限等级高于或等于***策略对应的权限等级;
第一接收模块,用于接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求;
生成模块,用于根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接;
第一传输模块,用于通过所述第一应用进程对应的第二端口与所述第二终端传输目标数据。
6.根据权利要求5所述的第一终端,其特征在于,所述第一终端还包括:
映射模块,用于将所述第二终端中针对第二应用进程预设的第一端口映射到所述第一应用进程对应的第二端口;
设置模块,用于将所述第二端口设置为监听状态;
相应的,所述第一接收模块包括:
接收子模块,用于在所述第二端口处于监听状态的情况下,通过所述第二端口接收所述第二终端在所述第二应用进程创建完成时,通过所述第二应用进程对应的第一端口发送的进程连接请求。
7.一种第二终端,其特征在于,所述第二终端包括:
第二接收模块,用于在连接第一终端的情况下,接收所述第一终端通过第一应用进程发送的预置程序包,所述预置程序包中包括用于实现数据传输的方法函数;
第二发送模块,用于在具有目标权限的第二应用进程在所述第二终端中创建完成时,通过所述第二应用进程对应的第一端口向所述第一终端发送进程连接请求,所述第二应用进程为所述第一终端将所述预置程序包发送至所述第二终端,并根据所述预置程序包在所述第二终端中的存储路径,通过具有所述目标权限的进程创建命令,在所述第二终端中启动所述预置程序包创建而成,所述目标权限的权限等级高于或等于***策略对应的权限等级;
第二传输模块,用于通过所述第一端口与所述第一终端传输目标数据,所述目标数据为所述第一终端接收到所述进程连接请求,并根据所述第二终端的互联网协议地址和所述第一端口的端口号,生成所述第二终端的套接字,以建立所述第一应用进程与所述第二应用进程之间的连接之后,通过所述第一应用进程对应的第二端口与所述第二终端传输的数据。
8.根据权利要求7的所述第二终端,其特征在于,所述第二终端与所述第一终端通过安卓调试桥对应的通用串行总线方式或者局域网方式连接。
9.一种终端,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的数据传输方法的步骤。
CN201910152605.5A 2019-02-28 2019-02-28 一种数据传输方法、第一终端和第二终端 Active CN109992430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910152605.5A CN109992430B (zh) 2019-02-28 2019-02-28 一种数据传输方法、第一终端和第二终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910152605.5A CN109992430B (zh) 2019-02-28 2019-02-28 一种数据传输方法、第一终端和第二终端

Publications (2)

Publication Number Publication Date
CN109992430A CN109992430A (zh) 2019-07-09
CN109992430B true CN109992430B (zh) 2021-07-20

Family

ID=67129958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910152605.5A Active CN109992430B (zh) 2019-02-28 2019-02-28 一种数据传输方法、第一终端和第二终端

Country Status (1)

Country Link
CN (1) CN109992430B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968456B (zh) * 2022-05-07 2024-03-08 麒麟合盛网络技术股份有限公司 一种控制终端的方法和装置
CN117009108A (zh) * 2023-02-24 2023-11-07 荣耀终端有限公司 消息处理方法、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060032265A (ko) * 2004-10-11 2006-04-17 오재연 아웃룩 기반의 휴대폰 데이터 싱크 및 양방향 데이터 교환 소프트웨어
CN102385519A (zh) * 2011-09-04 2012-03-21 上海量明科技发展有限公司 一种软件安装的方法及***
CN103858130A (zh) * 2013-08-23 2014-06-11 华为终端有限公司 管理权限方法、装置及终端
CN105786606A (zh) * 2016-03-03 2016-07-20 深圳市创想天空科技股份有限公司 一种用于智能终端间的数据转移的方法和***
CN106570358A (zh) * 2016-11-18 2017-04-19 广东欧珀移动通信有限公司 应用的权限设置方法和装置
CN108280342A (zh) * 2017-01-03 2018-07-13 北京搜狗科技发展有限公司 应用同步方法和装置、用于应用同步的装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254024A1 (en) * 2012-03-21 2013-09-26 Bunndle, Inc. Systems and Methods for Cross-Platform Software Bundling
CN103279706B (zh) * 2013-06-07 2016-06-22 北京奇虎科技有限公司 拦截在移动终端中安装安卓应用程序的方法和装置
CN106155727B (zh) * 2015-04-17 2021-04-30 腾讯科技(深圳)有限公司 一种应用程序的更新方法、装置及终端
CN107038068B (zh) * 2017-02-28 2021-01-26 努比亚技术有限公司 终端及其应用杀死处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060032265A (ko) * 2004-10-11 2006-04-17 오재연 아웃룩 기반의 휴대폰 데이터 싱크 및 양방향 데이터 교환 소프트웨어
CN102385519A (zh) * 2011-09-04 2012-03-21 上海量明科技发展有限公司 一种软件安装的方法及***
CN103858130A (zh) * 2013-08-23 2014-06-11 华为终端有限公司 管理权限方法、装置及终端
CN105786606A (zh) * 2016-03-03 2016-07-20 深圳市创想天空科技股份有限公司 一种用于智能终端间的数据转移的方法和***
CN106570358A (zh) * 2016-11-18 2017-04-19 广东欧珀移动通信有限公司 应用的权限设置方法和装置
CN108280342A (zh) * 2017-01-03 2018-07-13 北京搜狗科技发展有限公司 应用同步方法和装置、用于应用同步的装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"分享那些"演示"功能";王荣桂;《电脑知识与技术(经验技巧)》;20170131;第2017年卷(第1期);第23-24页 *

Also Published As

Publication number Publication date
CN109992430A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109413726B (zh) 功耗控制方法及移动终端
US20210091845A1 (en) Beam state detection method and terminal
CN111049980A (zh) 一种应用分享方法、电子设备及计算机可读存储介质
CN110719319B (zh) 一种资源共享方法、装置、终端设备及存储介质
CN110851220A (zh) 一种信息输出方法及电子设备
CN111597540B (zh) 应用程序的登录方法、电子设备及可读存储介质
US20220394786A1 (en) Session Information Processing Method, and Electronic Device
CN109992430B (zh) 一种数据传输方法、第一终端和第二终端
CN111061404A (zh) 一种控制方法及第一电子设备
WO2021190609A1 (zh) 数据传输方法及电子设备
CN108419283B (zh) 一种wifi热点扫描的方法及移动终端
CN111083009B (zh) 一种抓包方法、装置和移动终端
CN111107223B (zh) 一种消息处理方法及电子设备
CN111131930B (zh) 设备资源控制方法、第一电子设备及计算机可读存储介质
CN110990029A (zh) 一种应用程序的处理方法及电子设备
CN111159738A (zh) 权限配置方法、应用登录方法及装置
EP4131882A1 (en) Registration method and electronic device
CN110825709B (zh) 一种交互方法及电子设备
CN110995816B (zh) 分享方法及电子设备
CN110365842B (zh) 一种终端控制方法及终端设备
CN108683793B (zh) 应用图标的显示方法和移动终端
CN108377291B (zh) 一种基于耳机接口的通信方法及移动终端、存储介质
CN111158929A (zh) 一种应用处理方法及电子设备
CN111356096A (zh) 一种信息发送方法及电子设备
CN110688184A (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
GR01 Patent grant
GR01 Patent grant