一种应用软件的预览方法及系统与流程

文档序号:14554479阅读:201来源:国知局
一种应用软件的预览方法及系统与流程

本申请涉及通信技术领域,尤其涉及一种应用软件的预览方法及系统。



背景技术:

伴随着科学技术的进步,移动终端已经普及。为了方便生活,各种适用于移动终端的应用软件应运而生。为了方便用户下载应用软件,移动终端上通常具有软件市场客户端,用户可以从软件市场客户端上查看软件列表,从而下载应用软件。

由于软件市场客户端上的具有很多软件,并不是所有软件均适用于用户。因此,用户在下载并安装一款应用软件之前,可以对应用软件进行预览,以决定是否适合该应用软件。

目前,在用户欲预览一款应用软件时,可以点击软件市场客户端显示的预览按钮,软件市场客户端便可以显示应用软件的预览图或预览视频。用户可以通过预览图或预览视频来预览应用软件。

但是,由于预览图或预览视频是应用软件的提供商预先制作的,所以,相同的预览图或预览视频不能代表各个用户的真实使用情况;即目前应用软件的预览方案,导致用户无法亲身操作应用软件。

为此,本申请提供了一种应用软件的预览方法,以便可以达到用户亲身体验应用软件的目的。



技术实现要素:

本申请提供了一种应用软件的预览方法及系统,可以达到用户亲身体验应用软件的目的。

为了实现上述目的,本申请提供了以下技术手段:

一种应用软件的预览系统,包括:

安装有应用市场客户端的终端,用于向应用市场服务器发送与待预览应用软件对应的预览指令;接收所述应用市场服务器发送的与所述预览指令对应的预览数据;渲染所述预览数据;

应用市场服务器,用于接收终端发送的与待预览应用软件对应的预览指令;基于所述预览指令,确定与所述终端对应的目标终端模拟器,其中,所述目标终端模拟器用于运行所述待预览应用软件;控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据;向所述终端发送所述预览数据。

一种应用软件的预览方法,包括:

接收终端发送的与待预览应用软件对应的预览指令;

基于所述预览指令,确定与所述终端对应的目标终端模拟器,其中,所述目标终端模拟器用于运行所述待预览应用软件;

控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据;

向所述终端发送所述预览数据。

优选的,所述预览数据包括图像数据或声音数据,则向所述终端发送所述预览数据包括:向所述终端发送所述图像数据,或,向所述终端发送所述图像数据声音数据。

优选的,所述预览数据包括图像数据和声音数据,则所述向所述终端发送所述预览数据,包括:

对所述图像数据和所述声音数据执行同步操作,获得同步控制数据;

向所述终端发送所述图像数据、所述声音数据和所述同步控制数据。

优选的,向所述终端发送图像数据,包括:

对所述图像数据执行提取系统标准组件的操作;

若所述图像数据具有系统标准组件,则获取系统标准组件的基本元素,向所述终端发送图像数据中系统标准组件的基本元素;

若所述图像数据不具有系统标准组件,则向所述终端发送所述图像数据。

优选的,所述预览指令包括终端信息和所述待预览应用软件对应的待预览标识;则所述基于所述预览指令,确定与所述终端对应的目标终端模拟器,包括:

判断预先为一个终端信息设置的终端模拟器的数量;

若预先为一个终端信息设置一个终端模拟器,则基于终端信息与终端模拟器的对应关系,在预先设置的多个终端模拟器中,查找与所述预览指令中的终端信息对应的终端模拟器;

将该终端模拟器确定为目标终端模拟器。

优选的,所述控制所述目标终端模拟器运行所述待预览应用软件,包括:

判断所述目标终端模拟器上所述待预览应用软件是否处于未使用状态;

若所述目标终端模拟器上所述待预览应用软件处于未使用状态,则控制所述目标终端模拟器运行所述待预览应用软件;

若所述目标终端模拟器上所述待预览应用软件处于已使用状态,则执行等待预设时间的操作,直到所述待预览应用软件处于未使用状态。

优选的,在将该终端模拟器确定为目标终端模拟器之后,还包括:

判断所述目标终端模拟器是否安装有与所述待预览标识对应的待预览应用软件;

若所述目标终端模拟器未安装所述待预览应用软件,则获取与所述待预览标识对应的软件包;

控制所述目标终端模拟器安装所述软件包。

优选的,所述预览指令包括终端信息和所述待预览应用软件对应的待预览标识;则所述基于所述预览指令,确定与所述终端对应的目标终端模拟器,包括:

判断预先为一个终端信息设置的终端模拟器的数量;

若预先为一个终端信息设置包含两个及以上终端模拟器的终端模拟器集合,则基于终端信息与终端模拟器集合的对应关系,在预先设置的多个终端模拟器集合中,查找与预览指令中的终端信息对应的终端模拟器集合;

在该终端模拟器集合中选择一个安装有所述待预览应用软件的终端模拟器;

将安装有所述待预览应用软件的终端模拟器、确定为目标终端模拟器。

优选的,所述在该终端模拟器集合中选择一个安装有所述待预览应用软件的终端模拟器,包括:

判断终端模拟器集合是否有已安装所述待预览应用软件的终端模拟器;

若所述终端模拟器集合具有已安装待预览应用软件的终端模拟器,则判断已安装待预览应用软件的终端模拟器上的所述待预览应用软件是否处于未使用状态;

若一个已安装待预览应用软件的终端模拟器上所述待预览应用软件处于未使用状态,则将该终端模拟器确定为目标终端模拟器;

若一个已安装待预览应用软件的终端模拟器上所述待预览应用软件处于已使用状态,则遍历其它已安装待预览应用软件的终端模拟器的所述待预览应用软件的软件状态,直到查找到一个终端模拟器的所述待预览应用软件处于未使用状态,或,遍历完所有已安装待预览应用软件的终端模拟器。

优选的,在遍历完所有已安装待预览应用软件的终端模拟器之后,所述方法还包括:

在终端模拟器集合的未安装有所述待预览应用软件的终端模拟器中随机选择一个终端模拟器,确定为目标终端模拟器;

获取与所述待预览标识对应的软件包,并控制所述目标终端模拟器安装所述软件包。

优选的,还包括:

若该终端模拟器集合不具有已安装所述待预览应用软件的终端模拟器,则在该终端模拟器集合中随机选择一个终端模拟器,确定为目标终端模拟器;

获取与所述待预览标识对应的软件包,并控制所述目标终端模拟器安装所述软件包。

一种应用软件的预览方法,包括:

向应用市场服务器发送与待预览应用软件对应的预览指令;

接收所述应用市场服务器发送的与所述预览指令对应的预览数据;其中,所述预览数据由设置在所述应用市场服务器上的、运行所述待预览应用软件的终端模拟器在执行所述预览指令后获得;

渲染所述预览数据。

优选的,所述预览数据包括图像数据中系统标准组件的基本元素,则所述渲染所述预览数据包括:

解码所述图像数据中系统标准组件的基本元素,获得位图数据;

在预览窗口中渲染所述位图数据。

一种应用软件的预览系统,包括:

安装有应用市场客户端的终端,用于生成与待预览应用软件对应的预览指令,并确定所述预览指令中预览内容标识,若本地缓存存储有与预览内容标识对应的预览数据,则提取本地缓存中的预览数据,并渲染预览数据;还用于若本地缓存未存储有与预览内容标识对应的预览数据,则向应用市场服务器发送与待预览应用软件对应的预览指令;接收所述应用市场服务器发送的与所述预览指令对应的预览数据,渲染所述预览数据;存储预览数据,并构建预览内容标识与预览数据之间的对应关系;

应用市场服务器,用于接收终端发送的与待预览应用软件对应的预览指令,基于所述预览指令,确定与所述终端对应的目标终端模拟器,其中,所述目标终端模拟器用于运行所述待预览应用软件;控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据;向所述终端发送所述预览数据。

一种应用软件的预览系统,包括:

安装有应用市场客户端的终端,用于向应用市场服务器发送与待预览应用软件对应的预览指令;接收所述应用市场服务器发送的与所述预览指令对应的预览数据的数据标识;若本地存储有与数据标识对应的预览数据,则渲染所述预览数据;若本地未存储有与所述数据标识对应的预览数据,则向应用市场服务器获取数据标识对应的预览数据的指令,并渲染所述预览数据;存储预览数据,并构建数据标识与预览数据之间的对应关系;

应用市场服务器,用于接收终端发送的与待预览应用软件对应的预览指令,基于所述预览指令,确定与所述终端对应的目标终端模拟器,其中,所述目标终端模拟器用于运行所述待预览应用软件;控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据,生成与预览数据对应的数据标识,向所述终端发送所述数据标识;还用于接收终端发送的获取数据标识对应的预览数据的指令,向所述终端发送所述预览数据。

通过以上技术手段,可以实现以下有益效果:

本申请提出在应用市场服务器上设置终端模拟器,并由终端模拟器来安装并运行待预览应用软件。由于终端模拟器与终端具有同样或者类似的处理过程,所以可以完全或者近似模拟终端运行待预览应用软件的过程。

应用市场服务器可以将待预览应用软件的界面信息发送终端,以供终端显示至用户。用户可以操作终端显示界面,以向应用市场服务器发送预览指令。即,通过终端和应用市场服务器之间的数据交互过程,可以完全或近似模拟出终端安装待预览应用软件的操作效果。

其中,终端显示的操作效果的真实性取决于终端模拟器模拟终端的程度,若终端模拟器完全模拟终端,则可以完全模拟出终端安装待预览应用软件的操作效果,若终端模拟器近似模拟终端,则可以近似模拟出终端安装待预览应用软件的操作效果。

因此,本申请可以在用户不必下载待预览应用软件的软件包的前提下,实现用户亲身操作待预览应用软件的目的。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的应用软件的预览系统的结构示意图;

图2a-2b为本申请实施例公开的应用软件的预览方法的流程图;

图3为本申请实施例公开的又一应用软件的预览方法的流程图;

图4为本申请实施例公开的又一应用软件的预览方法的流程图;

图5为本申请实施例公开的应用软件的预览系统的结构示意图;

图6为本申请实施例公开的又一应用软件的预览方法的流程图;

图7为本申请实施例公开的应用软件的预览系统的结构示意图;

图8为本申请实施例公开的又一应用软件的预览方法的流程图;

图9为本申请实施例公开的又一应用软件的预览方法的流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请中所使用名词的术语解释:

终端模拟器,用于模拟终端硬件信息和软件信息的软件程序。

应用市场客户端,用于安装在终端上,供用户下载应用软件的应用软件。

应用市场服务器,用于与应用市场客户端配合使用的、存储大量应用软件软件包的服务器。

系统标准组件,针对一帧图像而言,图像中的按钮、单选框、复选框、下拉列表、弹出框、滑屏、编辑框、文本框、进度条、状态栏和窗体等标准ui组件。

系统标准组件的基本元素,用于表示系统标准组件的背景色/前景色、字体大小颜色样式、点击/压案效果,长度、宽度和坐标位置等信息。

uuid,通用唯一识别码(universallyuniqueidentifier),uuid的目的是让分布式系统中的所有元素,都能有唯一的辨识;在本申请中可以用于唯一表示一帧图像数据。

为了达到用户亲身操作应用软件的目的,可以理解的是最优的方式为:终端从软件市场客户端下载应用软件的软件包,在终端安装软件包之后,便可以亲身操作应用软件。

但是,上述方式在用户亲身操作应用软件之前,需要用户下载并安装应用软件的软件包。在用户亲身操作应用软件之后,若用户发现应用软件不适用的话,还需要卸载应用软件。因此上述方式中、用户预览应用软件的操作过程较为繁琐。

为此,本申请提出一种应用软件的预览方法,以便在用户不必下载待预览应用软件的软件包的前提下,实现用户亲身操作待预览应用软件的目的。基于此,本申请提供的技术手段为:在应用市场服务器上安装并运行待预览应用软件。

由于应用市场服务器与终端是两种不同类型的设备,所以在应用市场服务器直接安装待预览应用软件,无法使用户体验到待预览应用软件安装至终端上的操作效果。因此,本申请提出在应用市场服务器上设置终端模拟器,并由终端模拟器来安装并运行待预览应用软件。

终端模拟器为用于模拟终端硬件信息和软件信息的软件程序。在应用市场服务器上设置终端模拟器,相当于在应用市场服务器的硬件的基础上模拟出终端的使用效果。例如,以终端为手机为例,则在应用市场服务器上设置手机模拟器,即为利用应用市场服务器模拟手机的使用效果。

在应用市场服务器的终端模拟器上运行待预览应用软件,即为模拟在终端上运行待预览应用软件。由于终端模拟器与终端具有同样或者类似的处理过程,所以可以完全或者近似模拟终端运行待预览应用软件的过程。

可以理解的是,不同的终端具有不同的终端信息:不同的硬件信息和不同的软件信息。例如,以软件信息为例,一些终端为安卓操作系统,一些终端为windows操作系统,一些终端为phone操作系统。

不同的软件信息对应的终端模拟器是不同的。因此,为了保证本申请提供的方案能够适用于市面上的各种软件信息的终端,应用市场服务器上可以设置与各个软件信息对应的终端模拟器。以软件信息为操作系统为例,应用市场服务器上可以设置与各个操作系统对应的终端模拟器,以便能够模拟各个操作系统终端。

当然,如果两个终端的软件信息一致可是硬件信息不同的话,两者的终端模拟器也会略有不同。例如,一个终端具有前置摄像头,另一个终端没有前置摄像头。因此,若为了精确模拟不同终端真实安装待预览应用软件的情况,可以利用终端的软件信息和硬件信息准确配置不同的终端模拟器。

可以理解的是,终端信息有多种,因此应用市场服务器上可以设置有多个与终端信息对应的终端模拟器。终端模拟器与终端之间的精确程度可以根据实际情况而决定,在此不再赘述。

下面详细介绍本申请的具体执行过程:

为了方便本领域技术人员更加清楚了解本申请的应用场景,首先介绍本申请提供的应用软件的预览系统。参见图1,具体包括:安装有应用市场客户端的终端100和应用市场服务器200。

其中,应用市场服务器200,用于接收终端发送的与待预览应用软件对应的预览指令;基于所述预览指令,确定与所述终端对应的目标终端模拟器,其中,所述目标终端模拟器用于运行所述待预览应用软件;控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据;向所述终端100发送所述预览数据。

下面对应用软件的预览系统的执行过程进行介绍:

应用市场客户端上可以显示很多应用软件,用户可以打开应用市场客户端来查看应用软件。若用户发现一款应用软件的简介较好,可以点击应用软件的预览按钮,对该应用软件进行预览。为了便于描述将用户将要预览的应用软件称为待预览应用软件。

应用市场客户端在用户点击预览按钮后,会生成与待预览应用软件对应的预览指令,然后将待预览应用软件的预览指令发送至应用市场服务器200。

应用市场服务器200上具有多个与终端信息对应的终端模拟器,在接收终端100发送的与待预览应用软件对应的预览指令后,首先确定与终端信息对应的、并且安装有待预览应用软件的目标终端模拟器。

应用市场服务器200控制目标终端模拟器运行待预览应用软件,从而生成与预览指令对应的预览数据,然后向终端100发送预览数据。终端100在接收应用市场服务器200发送的预览数据后,渲染预览数据,以供用户查看待预览应用软件。

用户在终端100显示预览数据后,若仍希望继续查看待预览应用软件,则可以继续通过终端100向应用市场服务器200发送预览指令;应用市场服务器200可以继续运行目标终端模拟器来响应预览指令并获得预览数据,再将预览数据发送至终端100。终端100可以继续渲染预览数据以供用户查看待预览应用软件。终端100与应用市场服务器200可以持续进行上述过程,直到用户对待预览应用软件预览结束。

下面分别对应用市场服务器200和终端100的执行过程进行详细介绍,以便本领域技术人员可以更加清楚应用市场服务器200和终端100的详细执行过程。

由于前述内容可知,为了准确模拟终端运行待预览应用软件的过程,应用市场服务器200上具有多个与终端信息对应的终端模拟器。根据实际情况,应用市场服务器200上的终端模拟器可以分为两种情况:

第一种情况:一个终端信息对应一个终端模拟器。

例如,以终端信息中的操作系统作为构建终端模拟器的依据,那么可以构建一个模拟安卓操作系统的终端模拟器;构建一个模拟windows操作系统的终端模拟器,构建一个模拟phone操作系统的终端模拟器。其它操作系统的例子不再一一列举。

第二种情况:一个终端信息对应一个终端模拟器集合;终端模拟器集合包括两个及以上终端模拟器。

例如,仍然以终端信息中的操作系统作为构建终端模拟器的依据,可以构建两个及以上模拟安卓操作系统的终端模拟器,并将两个及以上的模拟安卓操作系统的终端模拟器,作为与安卓操作系统对应的终端模拟器集合。

同理,构建两个及以上的模拟windows操作系统的终端模拟器,并将两个及以上的模拟windows操作系统的终端模拟器,作为与windows操作系统对应的终端模拟器集合。

构建两个及以上模拟phone操作系统的终端模拟器,将两个及以上的模拟phone操作系统的终端模拟器,作为与phone操作系统对应的终端模拟器集合。其它操作系统的例子不再一一列举。

应用市场服务器200构建终端模拟器具有两种情况,由于在两种情况下与一个终端信息对应的终端模拟器的数量是不同的(在第一种情况下仅有一个终端模拟器,在第二种情况下具有两个及以上模拟器),所以应用市场的服务器200的执行过程也是不同的。

下面分别对两种情况下,应用市场服务器200的执行过程进行详细介绍。

首先,针对终端模拟器的第一种情况,介绍应用市场服务器200的执行过程。本申请提供了一种应用软件的预览方法的实施例一,应用于应用市场服务器200。参见图2a,具体包括以下步骤:

步骤s201:接收终端发送的与待预览应用软件对应的预览指令。

在用户点击待预览应用软件的预览按钮后,终端100获取待预览应用软件的标识(为了便于称呼下述称为待预览标识),并获取终端的终端信息。然后,终端100向应用市场服务器200发送包含待预览标识和终端信息的预览指令。

步骤s202:基于所述预览指令,确定与所述终端对应的目标终端模拟器。其中,所述目标终端模拟器用于运行所述待预览应用软件。

应用市场服务器200在接收包含待预览标识和终端信息的预览指令后,可以判断本实施例中预先为一个终端信息设置的终端模拟器的数量。若数量为1,即为一个终端信息设置一个终端模拟器。

因此,应用市场服务器200可以基于预先存储的终端信息与终端模拟器的对应关系,在预先设置的多个终端模拟器中,查找与预览指令中的终端信息对应的终端模拟器。

由于在第一种情况下,一个终端信息对应一个终端模拟器。因此,可以直接将该终端模拟器确定为目标终端模拟器。

步骤s203:判断所述目标终端模拟器是否安装有所述待预览应用软件。若是,则进入步骤s205,否则进入步骤s204。

由于用户希望对待预览应用软件进行预览,因此,需要目标终端模拟器上安装有待预览应用软件,所以应用市场服务器200判断目标终端模拟器上是否安装有待预览应用软件。

若目标终端模拟器上安装有待预览应用软件,则不必重复安装待预览应用软件的过程。若目标终端模拟器上未安装有待预览应用软件,则需要执行待预览应用软件的安装过程。

本步骤判断目标终端模拟器是否安装有待预览应用软件的过程具体包括:软件市场服务器200上存储有与目标终端模拟器对应的软件标识列表,软件标识列表上为目标终端模拟器已安装应用软件的标识。

软件市场服务器200会判断与目标终端模拟器对应的软件标识列表中是否包含待预览标识;若软件标识列表包含待预览标识,则表示目标终端模拟器安装有待预览应用软件;若软件标识列表不包含待预览标识,则表示目标终端模拟器未安装有待预览应用软件。

步骤s204:获取与所述待预览标识对应的软件包,控制所述目标终端模拟器安装所述软件包,进入步骤s207。

若所述目标终端模拟器未安装所述待预览应用软件,则需要安装待预览应用软件。可以理解的是,在应用市场服务器200上存储有很多应用软件的软件包,应用市场服务器200可以根据待预览标识获取待预览应用软件的软件包,然后,控制目标终端模拟器安装待预览软应用软件的软件包。然后,进入步骤s207。

步骤s205:判断所述目标终端模拟器上的所述待预览应用软件是否处于未使用状态。若是,则进入步骤s207,否则进入步骤s206。

由于在第一种情况下,一个终端信息对应一个终端模拟器,所以在第一种情况下,多个相同终端信息的终端均需要利用该终端模拟器来实现预览应用软件的目的。

可以理解的是,目标终端模拟器是模拟终端的运行过程,目标终端模拟器在同一时刻可以运行多款不同应用软件,但在同一时刻仅能运行一款相同应用软件。例如,终端模拟器可以同时运行“淘宝网”、“钉钉”、“微信”、“微博”等多个不同的应用软件;但在同一时刻仅能运行一个“淘宝网”应用软件,不能同时运行多个“淘宝网”应用软件。

在多个终端共享目标终端模拟器的情况下,若两个及以上终端分别针对不同应用软件进行预览,则目标终端模拟器可以运行多个不同的应用软件,来实现预览服务。

但是,若两个及以上终端在同一时刻针对同一款待预览应用软件执行预览服务的情况下,由于目标终端模拟器仅能运行一个待预览应用软件,待预览应用软件仅能响应一个预览指令。所以,两个终端向目标终端模拟器发送预览指令,会产生预览指令冲突的问题。

例如,终端1和终端2均针对“淘宝网”进行预览,则目标终端模拟器上运行有“淘宝网”应用软件。终端1发送的查看“11.11大促销优惠的预览指令”,而终端2发送的是“面膜必买清单的预览指令”,则目标终端模拟器在接收两个预览指令后,不能确定响应那个预览指令,会产生预览指令冲突的问题。即便先响应其中一个预览指令,则当前界面为该预览指令对应的显示界面,在该显示界面上必然无法再响应另一个预览指令。

因此,目标终端模拟器针对同一款待预览应用软件,在同一时刻仅能为一个终端提供预览服务。为了避免目标终端模拟器产生预览指令冲突的问题,本申请在与目标终端模拟器对应的软件标识列表中,可以添加与软件标识对应的软件状态。软件状态包括表示应用软件正在运行过程的已使用状态,和,表示应用软件未处于运行过程的未使用状态。

在应用市场服务器200确定目标终端模拟器上安装有待预览应用软件后,先判断待预览应用软件是否处于已使用状态;若待预览应用软件处于已使用状态,则表示目标终端模拟器正在满足其它终端对待预览应用软件的预览服务。所以,终端100应该等待其它终端预览完毕后,再使用目标终端模拟器运行待预览应用软件。

若待预览应用软件处于未使用状态,则表示目标终端模拟器目前未运行待预览应用软件,所以,目标终端模拟器可以运行待预览应用软件,以满足终端100对待预览应用软件的预览服务。

步骤s206:执行等待预设时间的操作,进入步骤s205。

若待预览应用软件处于已使用状态,则重复执行等待预设时间的操作,直到所述待预览应用软件处于可用状态;即等待待预览应用软件的软件状态变更为未使用状态。

步骤s207:控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据。

应用市场服务器200可以控制目标终端模拟器运行待预览应用软件,以便待预览应用软件响应预览指令,并生成与待预览指令对应的预览数据。

步骤s208:向所述终端发送所述预览数据。

下面针对终端模拟器的第二种情况(一个终端信息对应终端模拟器集合,终端模拟器集合包含两个及以上终端模拟器),介绍应用市场服务器200的执行过程。本申请提供了一种应用软件的预览方法的实施例二,应用于应用市场服务器200。参见图2b,具体包括以下步骤:

步骤s211:接收终端发送的与待预览应用软件对应的预览指令。

在用户点击待预览应用软件的预览按钮后,终端100获取待预览应用软件的标识(为了便于称呼下述称为待预览标识),并获取终端的终端信息。然后,终端100向应用市场服务器200发送包含待预览标识和终端信息的预览指令。

步骤s212:基于所述预览指令,确定与所述终端对应的终端模拟器集合。

应用市场服务器200在接收包含待预览标识和终端信息的预览指令后,可以判断本实施例中预先为一个终端信息设置的终端模拟器的数量。若数量大于1,即为一个终端信息设置一个终端模拟器集合。

因此,应用市场服务器200可以基于终端信息与终端模拟器集合的对应关系,在预先设置的多个终端模拟器集合中,查找与预览指令中的终端信息对应的终端模拟器集合。

步骤s213:判断所述终端模拟器集合是否有安装有所述待预览应用软件的终端模拟器。若有,则进入步骤s216,否则进入步骤s214。

由于用户希望对待预览应用软件进行预览,因此,需要终端模拟器上安装有待预览应用软件,所以应用市场服务器200判断终端模拟器集合中是否有已安装待预览应用软件的终端模拟器。

若终端模拟器集合中不具有安装有待预览应用软件的终端模拟器,则需要执行待预览应用软件的安装过程。

步骤s214:若该终端模拟器集合中不具有安装所述待预览应用软件的终端模拟器,则在该终端模拟器集合中随机选择一个终端模拟器,确定为目标终端模拟器。

步骤s215:获取与所述待预览标识对应的软件包,并控制所述目标终端模拟器安装所述软件包。然后,进入步骤s220。

若终端模拟器集合不具有安装有待预览应用软件的终端模拟器,则需要安装待预览应用软件。可以理解的是,在应用市场服务器200上存储有很多应用软件的软件包,应用市场服务器200可以根据待预览标识获取待预览应用软件的软件包,然后,控制目标终端模拟器安装待预览软应用软件的软件包。然后,进入步骤s220。

步骤s216:判断一个已安装待预览应用软件的终端模拟器上的所述待预览应用软件是否处于未使用状态,若否,则进入步骤s217,若是进入步骤s219。

步骤s217:判断是否遍历完所有已安装待预览应用软件的终端模拟器,若是,则进入步骤s218,否则,重新选择一个已安装待预览应用软件的终端模拟器,然后进入步骤s216。

遍历其它已安装待预览应用软件的终端模拟器的所述待预览应用软件的软件状态,直到查找到一个终端模拟器的所述待预览应用软件处于未使用状态,或,遍历完所有已安装待预览应用软件的终端模拟器。

由于在第二种情况下,终端模拟器集合中具有两个及以上的终端模拟器,因此,在该终端模拟器不能执行预览操作的情况下,可以在终端模拟器集合中排除该终端模拟器,然后,在确定目标终端模拟器。相比于第一种情况下,必须等待前一终端执行完毕后才能执行预览过程而言,本方案可以提高应用软件的预览效率。

步骤s218:在终端模拟器集合的未安装有所述待预览应用软件的终端模拟器中随机选择一个终端模拟器,确定为目标终端模拟器;进入步骤s215。

即,在遍历完所有已安装待预览应用软件的终端模拟器之后,仍然未发现待预览应用软件处于未使用状态的终端模拟器,则在终端模拟器集合的未安装有所述待预览应用软件的终端模拟器中随机选择一个终端模拟器,确定为目标终端模拟器。

因为所有的已安装待预览应用软件的终端模拟器均处于使用状态,所以选择未安装待预览应用软件的终端模拟器重新安装待预览应用软件,即,获取与所述待预览标识对应的软件包,并控制所述目标终端模拟器安装所述软件包,以便可以使用目标终端模拟器运行待预览应用软件,以便实现模拟过程。

步骤s219:将该终端模拟器确定为目标终端模拟器,进入步骤s220。

若一个已安装待预览应用软件的终端模拟器上所述待预览应用软件处于未使用状态,则将该终端模拟器确定为目标终端模拟器。

目标终端模拟器针对同一款待预览应用软件,在同一时刻仅能为一个终端提供预览服务。为了避免目标终端模拟器产生预览指令冲突的问题,本申请在与目标终端模拟器对应的软件标识列表中,添加与软件标识对应的软件状态。软件状态包括表示应用软件正在运行过程的已使用状态,和,表示应用软件未处于运行过程的未使用状态。

在应用市场服务器200确定目标终端模拟器上安装有待预览应用软件后,先判断待预览应用软件是否处于已使用状态;若待预览应用软件处于已使用状态,则表示目标终端模拟器正在满足其它终端对待预览应用软件的预览服务。

若待预览应用软件处于未使用状态,则表示目标终端模拟器目前未运行待预览应用软件,所以,目标终端模拟器可以运行待预览应用软件,以满足终端100对待预览应用软件的预览服务。

步骤s220:控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据。

应用市场服务器200可以控制目标终端模拟器运行待预览应用软件,以便待预览应用软件响应预览指令,并生成与待预览指令对应的预览数据。

步骤s221:向所述终端发送所述预览数据。

在图2a和图2b所示的方法中均有向终端发送预览数据的过程。在不同的待预览应用软件情况下,预览数据也不尽相同。下面提供预览数据的三种不同情况:

第一种情况:预览数据包括图像数据。

则向所述终端发送所述预览数据包括:向所述终端发送所述图像数据。

第二种情况:预览数据包括声音数据。

则向所述终端发送所述预览数据包括:向所述终端发送所述声音数据。

第三种情况:预览数据包括图像数据和声音数据。

则所述向所述终端发送所述预览数据,包括:对所述图像数据和所述声音数据执行同步操作,获得同步控制数据;向所述终端发送所述图像数据、所述声音数据和所述同步控制数据。

在预览数据既包括图像数据和声音数据的情况下,为了保证图像数据和声音数据的同步,可以对声音数据和图像数据进行同步处理。

针对上述第一种情况和第三种情况中的图像数据,在实际应用过程中发现,目标终端模拟器生成的图像数据一般为位图数据。位图数据亦称为点阵图像或绘制图像,是由像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。

通常而言,终端100与应用市场服务器200之间直接以位图格式传输图像数据,但是,在实际应用过程中发现位图数据的数据量较大,所以导致终端100与应用市场服务器200之间的传输速度较慢。

为此,本申请提出针对图像数据可以进行下述处理。参见图3,具体包括以下步骤:

步骤s301:对所述图像数据执行提取系统标准组件的操作。

系统标准组件包括:按钮,单选框,复选框,下拉列表,弹出框,滑屏,编辑框,文本框,进度条,状态栏,窗体等标准ui组件。

应用市场服务器200对图像数据执行提取系统标准组件的操作,若图像数据包括系统标准组件,则可以提取到图像数据中的各个系统标准组件。若图像数据不包括系统标准组件,则无法提取到图像数据中的各个系统标准组件。

步骤s302:判断图像数据是否包含系统标准组件。若是,则进入步骤s303,否则进入步骤s304。

步骤s303:若所述图像数据具有系统标准组件,则获取系统标准组件的基本元素,向所述终端发送图像数据中系统标准组件的基本元素。

在图像数据包括系统标准组件的情况下,针对每个系统标准组件获取其基本元素,比如背景/前景色,字体大小颜色样式,点击/压案效果,长宽,坐标等信息。然后,采用矢量编码方式将各个系统标准组件的基本元素封装成数据包。然后,将数据包发送至终端100。

由于位图数据是按照屏幕每个像素点保存的,如果是32位的位图,一个像素点就是4字节,一帧位图数据按照分辨率(800x480)来说可以达到1536字节。而采用系统标准组件来传输图像数据的话,一个系统标准组件的基本元素在8个字节左右,一帧图像数据上的系统标准组件在10-30左右,所以,一帧图像数据为80-240字节左右。这相比于原来的1536字节而言,可以大大减少数据量,从而可以提高应用市场服务器200与终端100之间的传输速度,从而提高预览效率。

步骤s304:若所述图像数据不具有系统标准组件,则向所述终端发送所述图像数据。

若图像不包含系统标准组件,则说明图像数据为不包含ui组件的纯位图图像,因此可以不执行步骤s303的过程,直接将图像数据进行压缩,然后发送至终端100。

下面介绍终端100的执行过程。安装有应用市场客户端的终端100,用于向应用市场服务器200发送与待预览应用软件对应的预览指令;接收所述应用市场服务器200发送的与所述预览指令对应的预览数据;渲染所述预览数据。

本申请提供了一种应用软件的预览方法,应用于终端100。参见图4,具体包括以下步骤:

步骤s401:向应用市场服务器发送与待预览应用软件对应的预览指令。

在用户点击待预览应用软件的预览按钮后,终端100获取待预览应用软件的标识,并获取终端的终端信息。然后,终端100向应用市场服务器200发送包含待预览标识和终端信息的预览指令。

步骤s402:接收应用市场服务器发送的与所述预览指令对应的预览数据;其中,所述预览数据由设置在应用市场服务器上的、安装所述待预览应用软件的终端模拟器在运行所述预览指令后获得。

应用市场服务器200在按图2a或图2b所示的过程执行完毕后,向终端100发送与预览指令对应的预览数据。终端100便可以接收预览数据。

步骤s403:渲染所述预览数据。

在不同的待预览应用软件情况下,预览数据也不尽相同,渲染预览数据的过程不相同。下面提供预览数据的三种具体实现方式:

第一种实现方式:预览数据包括图像数据。

终端在预先设定的预览窗口中渲染图像数据,并将显示图像数据,以供用户查看待预览应用软件。

通过前述图3可知,图像数据可以具有两种情况:

第一种情况:图像数据为位图数据。

渲染图像数据的过程具体包括:终端可以先确定图像数据的格式,如果图像数据是位图数据,则直接渲染位图数据。

第二种情况:图像数据为系统标准组件的基本元素。

渲染图像数据的过程具体包括:终端可以先确定图像数据的格式,若图像数据为系统标准组件的基本元素,则解码所述图像数据中系统标准组件的基本元素,获得位图数据;并在预览窗口中渲染所述位图数据。

第二种实现方式:预览数据包括声音数据。

终端采用音频播放器播放声音数据。

第三种实现方式:预览数据包括图像数据和声音数据。

终端在同步控制数据的作用下,在预览窗口中显示所述图像数据并利用音频播放器播放所述声音数据。

在第三种实现方式下,针对预览数据中的图像数据,仍然可以按照第一种实现方式中的处理过程执行。

通过上述图1-图4所述的过程,可以清楚了解应用市场服务器200和终端100的执行过程,通过上述描述可以发现本申请具有以下有益效果:

本申请提出在应用市场服务器上设置终端模拟器,并由终端模拟器来安装并运行待预览应用软件。由于终端模拟器与终端具有同样或者类似的处理过程,所以可以完全或者近似模拟终端运行待预览应用软件的过程。

应用市场服务器200可以将待预览应用软件的界面信息发送终端100,以供终端100显示至用户。用户可以操作终端100显示界面,以向应用市场服务器200发送预览指令。即,通过终端100和应用市场服务器200之间的数据交互过程,可以完全模拟出终端100安装待预览应用软件的操作效果。即,本申请可以在用户不必下载待预览应用软件的软件包的前提下,实现用户亲身操作待预览应用软件的目的。

在研究过程中申请人发现:终端100在查看待预览应用软件的过程中,可能会反复点击发出相同的预览指令,例如,以“淘宝网”为例,用户可能会多次点击“首页”的预览指令,其中,“首页”可以作为预览内容。

在此情况下,终端100会多次向应用市场服务器200发送相同的预览指令,并获取相同的预览数据,执行相同的渲染操作。这样会浪费终端100与应用市场服务器200之间的传输资源。

因此,本申请又提供了一种应用软件的预览系统,参见图5,具体包括:安装有应用市场客户端的终端100和应用市场服务器200。

下面介绍图5所示的应用软件的预览系统中的终端100的执行过程。本申请还提供了一种应用软件的预览方法,应用于终端100。参见图6,具体包括以下步骤:

步骤s601:生成与待预览应用软件对应的预览指令,并确定所述预览指令中预览内容标识。

用户在查看待预览应用软件的过程中,可能会针对一个预览内容,执行多次重复操作。因此,可以在预览指令中确定出预览内容标识,以便判断本次缓存中是否存储有与预览内容标识对应的预览数据。

步骤s602:判断本地是否存储有与预览指令中预览内容标识对应的预览数据;若有,则进入步骤s606;若无则进入步骤s603。

终端100先判断本地缓存中是否存储有与预览内容标识对应的预览数据,若有,则直接提取本地缓存中的预览数据,然后渲染预览数据。若无,则从应用市场服务器200上获取与预览指令对应的预览数据。

步骤s603:向应用市场服务器200发送与待预览应用软件对应的预览指令。

步骤s604:接收应用市场服务器200发送的与预览指令对应的预览数据。

步骤s605:存储预览数据,并构建预览内容标识与预览数据之间的对应关系。

步骤s606:渲染与预览指令对应的预览数据。

与图5所示的应用软件的预览系统中的应用市场服务器200的执行过程,与图2a或2b的执行过程一致,在此不再赘述。

如图7所示,本申请又提供了一种应用软件的预览系统,参见图7,具体包括:安装有应用市场客户端的终端100和应用市场服务器200。

上述图7提供了终端100和应用市场服务器200之间的一种实现过程,本申请还提供了一种应用软件的预览方法,应用于终端100。参见图8,具体包括以下步骤:

步骤s801:向应用市场服务器发送与待预览应用软件对应的预览指令。

步骤s802:接收所述应用市场服务器200发送的与所述预览指令对应的预览数据的数据标识。其中,所述预览数据由设置在所述应用市场服务器上的、安装所述待预览应用软件的终端模拟器在运行所述预览指令后获得;

步骤s803:判断本地是否存储有与数据标识对应的预览数据。若是,则进入步骤s806。若否,则进入步骤s804。

若本地存储有与数据标识对应的预览数据,则渲染所述预览数据。

步骤s804:若本地未存储有与所述数据标识对应的预览数据,则向应用市场服务器200发送获取数据标识对应的预览数据的指令。

步骤s805:接收所述应用市场服务器发送的与所述预览指令对应的预览数据。

步骤s806:渲染与预览指令对应的预览数据。

与图7所示的一种应用软件的预览方法对应的应用市场服务器200的执行过程,可以参见图9,具体包括以下步骤:

步骤s901:在接收终端发送的与待预览应用软件对应的预览指令后,确定与所述终端对应的并安装有所述待预览应用软件的目标终端模拟器。

步骤s902:控制所述目标终端模拟器运行所述待预览应用软件,生成与所述预览指令对应的预览数据。

步骤s903:生成与预览数据对应的数据标识,并向所述终端发送所述数据标识。

在预览数据仅为图像数据时,可以计算图像数据对应的通用唯一识别码uuid(universallyuniqueidentifier),将uuid作为数据标识。uuid的目的是让分布式系统中的所有元素,都能有唯一的辨识;在本申请中可以用于唯一表示一帧图像数据。

步骤s904:在接收到终端发送的本地未缓存与数据标识对应的预览数据的情况下,则向所述终端发送所述预览数据。

图5和图7所示应用软件的预览系统,使得终端可以在本地保存预览数据,从而可以减少终端100与应用市场服务器200之间的数据交互,从而在图1所示系统的基础上提高预览效率。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1