发明内容
本发明实施例提供一种应用程序的处理方法和装置,以实现同一服务器可以支持多个用户设备同时进行应用程序的设置、安装和卸载,提高了工作效率。
第一方面,本发明实施例提供一种应用程序的处理方法,包括:
服务器与至少一个用户设备相连接,并获取和保存每个所述用户设备的端口信息;
所述服务器接收所述用户设备发送的启动应用程序处理请求,并查询保存的每个所述用户设备的端口信息,获取与所述应用程序处理请求对应的端口信息;
所述服务器与所述应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,其中,每个用户设备的命名管道不相同,所述命名管道是所述服务器进程和一个或多个客户进程之间通信的单向或双向管道;
所述服务器通过所述命名管道,对所述命名管道对应的所述用户设备进行应用程序处理。
在第一方面的第一种可能的实施方式中,所述服务器通过所述命名管道,对所述命名管道对应的所述用户设备进行应用程序处理之后,所述方法还包括:
当所述服务器通过所述命名管道接收到所述用户设备发送的处理完成消息时,所述服务器释放所述命名管道与所述命名管道对应的用户设备对应的端口信息。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述端口信息包括端口号和诊断服务Diag端口信息;或者,所述端口信息包括端口号和调试桥ADB端口信息。
第二方面,本发明实施例提供一种服务器,包括:
端口信息处理模块,用于与至少一个用户设备相连接,并获取和保存每个所述用户设备的端口信息;
接收模块,用于接收所述用户设备发送的启动应用程序处理请求;
查询模块,用于查询所述端口信息处理模块保存的每个所述用户设备的端口信息,获取与所述应用程序处理请求对应的端口信息;
建立管道模块,用于与所述应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,其中,每个用户设备的命名管道不相同,所述命名管道是所述服务器进程和一个或多个客户进程之间通信的单向或双向管道;
处理模块,用于通过所述命名管道,对所述命名管道对应的所述用户设备进行应用程序处理。
在第二方面的第一种可能的实施方式中,所述服务器还包括:
释放模块,用于当所述服务器通过所述命名管道接收到所述用户设备发送的处理完成消息时,释放所述命名管道与所述命名管道对应的用户设备对应的端口信息。
本发明实施例提供的应用程序的处理方法和装置,通过服务器与至少一个用户设备相连接后获取和保存每个用户设备的端口信息,然后接收用户设备发送的启动应用程序处理请求,并查询保存的每个用户设备的端口信息,获取与应用程序处理请求对应的端口信息,接着与应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,最后服务器通过命名管道,对命名管道对应的用户设备进行应用程序处理。从而实现了服务器可对多个用户设备同时进行应用软件的安装和卸载及管理工作,提高了工作效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明应用程序的处理方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
S101、服务器与至少一个用户设备相连接,并获取和保存每个用户设备的端口信息。
在本实施例中,用户设备可以是各种与服务器连接的终端设备,本实施例以手机为例,手机通过通用串行总线(Universal Serial BUS,以下简称:USB)端口插入到服务器上后,服务器获取和保存每个手机的端口信息,具体地,手机插入到服务器上后,在服务器设备管理器中会映射出其对应的端口,具体实施过程中可通过对注册表的枚举便可搜集到所有这些端口的信息。优选地,端口信息包括端口号和诊断服务(Diagnostic servces,以下简称:Diag)端口信息,其中,Diag是手机和服务器通信的桥梁,可通过Diag获取到手机当中的信息;或者,端口信息包括端口号和调试桥(Android Debug Bridge,以下简称:ADB)端口信息,ADB是Android系统里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备,如手机。服务器获取到每个手机的端口信息后,服务器根据手机本身自动运行(AutoRun)服务启动各端口号对应的service服务。其中,service服务为手机本身Autorun服务启动后注入服务器的一个可执行文件,用来对手机本身的端口进行操作,即用来对手机与服务器之间进行数据传输。
另外,还需要说明的是,若服务器没能一次找出所有端口,可以尝试N次来对端口进行搜索,例如:N=5,且每次搜索端口的时间可以设置为S秒,例如:S=120秒,如果仍未找到,则上报用户某个设备加载不能成功。其中,当用户设备插入服务器时,会上报其端口号给服务器,若服务器获取的端口信息中的端口与服务器无法进行通信,即判断服务器未能找出对应的端口。
S102、服务器接收用户设备发送的启动应用程序处理请求,并查询保存的每个用户设备的端口信息,获取与应用程序处理请求对应的端口信息。
S103、服务器与应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,其中,每个用户设备的命名管道不相同,命名管道是服务器进程和一个或多个客户进程之间通信的单向或双向管道。
在本实施例中,服务器在接收到用户设备发送的启动应用程序处理请求时,也即服务器中的应用程序检测到不同手机启动的service服务后(即手机向服务器发送应用程序请求),查询保存的每个用户设备的端口信息,获取与应用程序处理请求对应的端口信息,与应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道。具体的,由于每个开端口信息中的端口号均对应一个独立的service服务,因此,在服务器中的应用程序检测到该端口信息对应的手机启动service服务后,可以根据该端口信息,向该端口信息对应的手机下发打开端口的命令,从而打开该端口,并建立该命令管道。另外,当该手机的应用软件安装卸载完成后,可以拔出已经传输完成的手机,此时,服务器中的应用程序可以向该端口信息对应的手机下发关闭端口命令,从而关闭该端口,并释放该命令管道。
还需要说明的是,在本实施例中,命名管道(Named Pipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道,命名管道可以在不相关的进程之间和不同计算机之间使用,服务器建立命名管道时给它指定一个名字,任何进程都可以通过该名字打开管道的另一端,根据给定的权限和服务器进程通信。
S104、服务器通过命名管道,对命名管道对应的用户设备进行应用程序处理。
在本实施例中,应用程序根据上述操作打开各个手机对应的端口后,服务器就可以通过各个手机对应的端口进行数据的传输,来完成应用软件的安装和卸载。
本实施例提供的应用程序的处理方法,通过服务器与至少一个用户设备相连接后获取和保存每个用户设备的端口信息,然后接收用户设备发送的启动应用程序处理请求,并查询保存的每个用户设备的端口信息,获取与应用程序处理请求对应的端口信息,接着与应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,最后服务器通过命名管道,对命名管道对应的用户设备进行应用程序处理。从而实现了服务器可对多个用户设备同时进行应用软件的安装和卸载及管理工作,提高了工作效率。
进一步的,在本发明应用程序的处理方法实施例二中,在上述图1所示实施例的基础上,在步骤S104之后,该方法还包括:
当服务器通过命名管道接收到用户设备发送的处理完成消息时,服务器释放命名管道与命名管道对应的用户设备对应的端口信息。
具体地,开始数据传输后,各个手机的传输进度可能不一致,有的手机可能先完成了传输,并且仍然占用着一个USB端口,此时可以拔出已经传输完成的手机,同时,正在传输的手机不受影响。这样就释放了一个端口,然后可以接入下一个待传输的手机,需要说明的是,在接入下一个待传输的手机之后,同上述步骤S101-S104,服务器检测获取该待传输手机的端口信息,在检测获取到该端口信息对应的手机启动应用程序处理请求时,分别根据应用程序请求和应用程序请求对应的端口信息,与端口信息对应的手机之间建立命名管道,最后通过命名管道,对该手机进行应用程序处理。另外,原来正在传输的手机也不会受到影响,如此,可循环反复进行。从而在很大程度上提高了工作效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图2为本发明服务器实施例一的结构示意图,如图2所示,本实施例的装置可以包括:端口信息处理模块11、接收模块12、查询模块13、建立管道模块14和处理模块15,其中,端口信息处理模块11用于与至少一个用户设备相连接,并获取和保存每个用户设备的端口信息。接收模块12用于接收用户设备发送的启动应用程序处理请求,查询模块13用于查询端口信息处理模块11保存的每个用户设备的端口信息,获取与应用程序处理请求对应的端口信息。建立管道模块14用于与应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,其中,每个用户设备的命名管道不相同,命名管道是服务器进程和一个或多个客户进程之间通信的单向或双向管道。处理模块15用于通过命名管道,对命名管道对应的用户设备进行应用程序处理。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
本实施例提供的服务器,通过端口信息处理模块与至少一个用户设备相连接,并获取和保存每个用户设备的端口信息,接收模块接收用户设备发送的启动应用程序处理请求,查询模块查询保存的每个用户设备的端口信息,获取与应用程序处理请求对应的端口信息,建立管道模块与应用程序处理请求对应的端口信息对应的用户设备之间建立命名管道,最后处理模块通过命名管道,对命名管道对应的用户设备进行应用程序处理。从而实现了服务器可对多个用户设备同时进行应用软件的安装和卸载及管理工作,提高了工作效率。
图3为本发明服务器实施例二的结构示意图,如图3所示,本实施例的装置在图2所示装置结构的基础上,进一步地,该装置还可以包括:释放模块16,该释放模块16用于当服务器通过命名管道接收到用户设备发送的处理完成消息时,释放命名管道与命名管道对应的用户设备对应的端口信息。
本实施例的装置,可以用于执行上述方法实施例二所示的技术方案,其实现原理类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。