一种微应用的预加载方法及装置与流程

文档序号:24639305发布日期:2021-04-09 20:51阅读:59来源:国知局
一种微应用的预加载方法及装置与流程

本申请涉及前端技术领域,尤其涉及一种微应用的预加载方法及装置。



背景技术:

一般的,用户访问网页应用(webapplication,webapp)时,终端可根据用户操作,实时向服务器发送页面获取请求,以获取页面代码进行渲染展示。但是,从终端向服务器发送页面获取请求,至接收到服务器返回的页面代码,完成页面加载往往需要较长的时间,页面加载速度较慢。

现有技术为了提升页面加载速度,通常在页面开发时,将预加载代码写入到页面的页面代码中,其中,该预加载代码用于指示加载该页面的下一页面。当在终端中加载该页面时,终端可通过运行该页面的页面代码中包含的预加载代码,提前向服务器发送获取下一页面的页面获取请求,以节省下一页面的加载时间。

但是,当下一页面的页面代码进行更新并重新发布后,该页面的页面代码中的预加载代码也需同步进行更改,并重新发布,才能实现页面的预加载,各页面之间存在耦合严重的问题。



技术实现要素:

本说明书实施例提供一种微应用的预加载方法及装置,用于部分解决现有技术中的问题。

本说明书实施例采用下述技术方案:

本说明书提供的一种微应用的预加载方法,客户端基于框架应用、若干微应用以及预加载调度模块组成,所述微应用挂载在所述框架应用中,所述方法包括:

当所述框架应用展示的微应用渲染完成后,客户端通过所述微应用向所述预加载调度模块发送预加载请求,所述预加载请求中至少包含所述微应用的应用标识;

通过所述预加载调度模块将所述预加载请求转发至服务器,并通过所述预加载调度模块接收所述服务器返回的预加载方案;

通过所述预加载调度模块将接收到的预加载方案发送至所述客户端中的框架应用;

根据所述预加载方案中包含的待加载应用的应用标识,通过所述框架应用向所述服务器发送待加载应用获取请求;

通过所述框架应用接收所述服务器返回的待加载应用的应用数据,并根据接收到的待加载应用的应用数据,通过所述框架应用对待加载应用进行预加载。

可选地,所述微应用对应的页面为长页面,所述长页面包含多屏;

通过所述微应用向所述预加载调度模块发送预加载请求,具体包括:

确定当前屏的页面中包含的各其它微应用的应用入口;

根据确定出的各其它微应用的应用入口,分别确定对应各应用入口的应用标识;

根据确定出的各应用标识,确定预加载请求,并通过所述微应用向所述预加载调度模块发送所述预加载请求。

可选地,所述方法还包括:

当所述微应用监测到用户的指定行为操作时,客户端通过所述微应用向所述预加载调度模块发送预加载请求。

可选地,客户端通过所述微应用向所述预加载调度模块发送预加载请求之前,所述方法还包括:

通过所述框架应用从所述服务器获取预设的事件绑定关系,所述事件绑定关系中包含用户的各指定行为操作与触发加载的若干微应用的对应关系;

通过所述框架应用将包含所述事件绑定关系的配置文件发送至所述微应用。

本说明书提供的一种微应用的预加载方法,包括:

服务器接收客户端通过预加载调度模块发送的预加载请求,所述预加载请求中包含所述客户端的框架应用中展示的微应用的应用标识;

根据所述预加载请求,确定所述微应用中待访问的若干其它微应用;

根据确定出的所述微应用中待访问的若干其它微应用以及用户的历史行为数据,确定预加载方案,所述预加载方案中包含下一待加载的其它微应用;

将确定出的预加载方案下发至所述客户端的预加载调度模块,以使所述客户端中的框架应用根据所述预加载方案,对所述待加载的其它微应用进行预加载。

可选地,根据所述预加载请求,确定所述微应用中待访问的若干其它微应用,具体包括:

确定所述预加载请求中包含的在所述微应用中展示的各其它微应用的应用标识;

根据确定出的各其它微应用的应用标识,确定所述微应用中待访问的若干其它微应用。

可选地,所述方法还包括:

接收客户端通过所述微应用发送的用户行为反馈信息,所述用户行为反馈信息至少包含用户已访问的各其它微应用;

根据所述用户行为反馈信息,更新所述用户的历史行为数据。

本说明书提供一种微应用的预加载装置,所述装置基于框架应用、若干微应用以及预加载调度模块组成,所述微应用挂载在所述框架应用中;

所述装置包括:

第一发送模块,当所述框架应用展示的微应用渲染完成后,通过所述装置的微应用向所述预加载调度模块发送预加载请求,所述预加载请求中至少包含所述微应用的应用标识;

接收模块,通过所述预加载调度模块将所述预加载请求转发至服务器,并通过所述预加载调度模块接收所述服务器返回的预加载方案;

第二发送模块,通过所述预加载调度模块将接收到的预加载方案发送至所述装置中的框架应用;

第三发送模块,根据所述预加载方案中包含的待加载应用的应用标识,通过所述框架应用向所述服务器发送待加载应用获取请求;

预加载模块,通过所述框架应用接收所述服务器返回的待加载应用的应用数据,并根据接收到的待加载应用的应用数据,通过所述框架应用对待加载应用进行预加载。

本说明书提供一种微应用的预加载装置,包括:

接收模块,接收客户端通过预加载调度模块发送的预加载请求,所述预加载请求中包含所述客户端的框架应用中展示的微应用的应用标识;

第一确定模块,根据所述预加载请求,确定所述微应用中待访问的若干其它微应用;

第二确定模块,根据确定出的所述微应用中待访问的若干其它微应用以及用户的历史行为数据,确定预加载方案,所述预加载方案中包含下一待加载的其它微应用;

预加载模块,将确定出的预加载方案下发至所述客户端的预加载调度模块,以使所述客户端中的框架应用根据所述预加载方案,对所述待加载的其它微应用进行预加载。

本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述微应用的预加载方法。

本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述微应用的预加载方法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

在本说明书中,当客户端中框架应用展示的微应用渲染完成后,客户端可先通过该微应用向该客户端中的预加载调度模块发送预加载请求,以通过该预加载调度模块将该预加载请求转发至服务器,并通过该预加载调度模块接收该服务器返回的预加载方案。之后,由该客户端中的预加载调度模块将接收到的预加载方案发送至该框架应用,以使该框架应用根据该预加载方案中包含的待加载应用的应用标识,向该服务器发送待加载应用获取请求。并接收该服务器返回的待加载应用的应用数据,以对待加载应用进行预加载。通过设置预加载调度模块,并由预加载调度模块从服务器侧获取预加载方案,无需在页面代码中嵌入预加载代码,避免了各页面应用之间的耦合。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本说明书实施例提供的一种微应用的预加载流程示意图;

图2为本说明书实施例提供的一种对应多屏长页面的微应用的示意图;

图3为本说明书实施例提供的一种微应用的预加载流程示意图;

图4为本说明书实施例提供的一种微应用预加载过程中的交互流程示意图;

图5为本说明书实施例提供的一种微应用的预加载流程装置的结构示意图;

图6为本说明书实施例提供的一种微应用的预加载流程装置的结构示意图;

图7为本说明书实施例提供的实现微应用的预加载流程方法的电子设备示意图。

具体实施方式

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

目前,为了节省webapp中的页面加载时间,通常采用代码嵌入的方式,将预加载代码嵌入至页面代码中,使得用户在访问该webapp的过程中,当加载至该页面时,可通过运行页面代码中的预加载代码,预先对下一页面进行加载。其中,该预加载代码用于指示对该页面的下一页面进行预加载。

例如:a页面中包含有b、c、d三个页面的页面入口,其中,用户访问b页面的概率较高,因此在页面开发过程中,开发人员可在a页面代码中写入预先加载b页面的预加载代码。以当用户访问a页面时,在运行页面代码的过程中,可根据该页面代码中的预加载代码,预先从服务器获取b页面的页面数据,以对b页面进行预加载。其中,预加载代码中包含b页面的页面标识,该页面标识可以是b页面的统一资源定位符(uniformresourcelocator,url)。

但是,当b页面进行了页面更新,并重新发布后,由于b页面对应的特征参数发生了改变,如,b页面对应的哈希值发生变化。此时,再次基于a页面中包含的预加载代码进行预加载时,预加载的是页面更新之前的b页面。因此当b页面进行更新发布后,a页面也需重新进行更新发布,才能实现正确的预加载,各页面应用之间存在耦合严重的问题。

基于上述各页面应用之间耦合严重的问题,本说明书提供一种微应用的预加载方法,通过在客户端中设置预加载调度模块的方式,使得在进行预加载时,可由微应用向该预加载调度模块发送预加载请求,并由该预加载调度模块转发至服务器,以从服务器侧获取预加载方案。无需在各页面应用的页面代码中嵌入预加载代码,避免了各页面应用之间的耦合。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本说明书实施例提供的一种微应用的预加载流程示意图,具体可包括以下步骤:

s100:当所述框架应用展示的微应用渲染完成后,客户端通过所述微应用向所述预加载调度模块发送预加载请求。

在本说明书一种或多种实施例中,为了使前端开发更加灵活,可基于微前端架构进行前端开发,将客户端拆分为框架应用以及若干微应用的形式。微应用为包含一个或多个页面中若干模块的页面应用,可独立发布以及部署,框架应用用于挂载各微应用,并控制各微应用的执行时机。其中,基于微前端架构开发已经是较为成熟的现有技术,本说明书对具体拆分为框架应用和若干微应用的方法不再详细阐述。

并且,基于上述分析,为了避免在各微应用中嵌入预加载的代码,本说明书在客户端中还单独设置了预加载调度模块,用于控制微应用的预加载。为方便描述,后续以微应用为一个页面的页面应用为例进行说明。

在本说明书中对下一微应用进行预加载时,可在当前微应用对应的页面展示完成后,由客户端中的预加载调度模块,对下一微应用进行预加载。

具体的,当框架应用中当前展示的微应用对应的页面渲染完成后,客户端可通过该微应用向客户端中的预加载调度模块发送预加载请求,以使该预加载调度模块进行下一微应用的预加载。其中,该预加载请求中至少包含当前微应用的应用标识,该应用标识可以是该微应用对应页面的url地址。

当然,该预加载请求中还可包含当前微应用对应的页面中展示的各其它微应用的应用标识。例如,在当前微应用对应的页面中包含有若干二级页面的页面入口时,可将各二级页面的页面标识(如,url地址),作为各其它微应用的应用标识。

s102:通过所述预加载调度模块将所述预加载请求转发至服务器,并通过所述预加载调度模块接收所述服务器返回的预加载方案。

在本说明书一种或多种实施例中,当该预加载调度模块接收到预加载请求后,可转发至服务器侧,由服务器进行决策,确定预加载方案。

具体的,当该客户端中的预加载调度模块接收到预加载请求后,可将该预加载请求转发至服务器,由服务器基于该预加载请求进行决策,确定预加载方案。其中,服务器确定预加载方案的具体过程在下述步骤s200~步骤s206中进行了详细阐述,本说明书在此不再赘述。

之后,可由该客户端中的预加载调度模块接收该服务器返回的预加载方案,其中,该预加载方案中包含确定出的下一待加载应用的应用标识,以后续通过客户端中的框架应用对下一待加载应用进行预加载。

s104:通过所述预加载调度模块将接收到的预加载方案发送至所述客户端中的框架应用。

s106:根据所述预加载方案中包含的待加载应用的应用标识,通过所述框架应用向所述服务器发送待加载应用获取请求。

在本说明书一种或多种实施例中,由于客户端中的框架应用可控制各微应用的加载时机,因此当预加载调度模块接收到服务器返回的预加载方案后,还需转发至框架应用,以使框架应用根据预加载方案,对下一加载的微应用进行预加载。

具体的,当该预加载调度模块接收到预加载方案后,可先将该预加载方案发送至客户端中的框架应用中,之后,由该框架应用根据接收到的预加载请求中包含的待加载应用的应用标识,向该服务器发送待加载应用获取请求,以预先获取该待加载应用的应用数据,对该待加载应用进行预加载。

s108:通过所述框架应用接收所述服务器返回的待加载应用的应用数据,并根据接收到的待加载应用的应用数据,通过所述框架应用对待加载应用进行预加载。

在本说明书一种或多种实施例中,当该框架应用向服务器发送待加载应用获取请求后,便可接收该服务器返回的待加载应用的应用数据,以对下一加载的微应用进行预加载。

具体的,该客户端可通过框架应用接收服务器返回的待加载应用的应用数据,并根据接收到的待加载应用的应用数据,对待加载应用进行预加载。以当后续用户访问下一微应用时,减少加载该微应用的时长。

进一步的,在本说明书中,当框架应用接收到待加载应用的应用数据后,也可预先根据该待加载应用的应用数据,预先渲染该待加载应用对应的页面,以进一步减少微应用的加载时长。

基于图1所示的微应用的预加载方法,当客户端中框架应用展示的微应用渲染完成后,客户端可先通过该微应用向该客户端中的预加载调度模块发送预加载请求,以通过该预加载调度模块将该预加载请求转发至服务器,并通过该预加载调度模块接收该服务器返回的预加载方案。之后,由该客户端中的预加载调度模块将接收到的预加载方案发送至该框架应用,以使该框架应用根据该预加载方案中包含的待加载应用的应用标识,向该服务器发送待加载应用获取请求。并接收该服务器返回的待加载应用的应用数据,以对待加载应用进行预加载。通过设置预加载调度模块,并由预加载调度模块从服务器侧获取预加载方案,无需在页面代码中嵌入预加载代码,避免了各页面应用之间的耦合。

此外,在本说明书中,在当前框架应用中展示的微应用也可以对应长页面,长页面中包含有多屏页面内容,每屏页面显示的内容不同。因此在本说明书步骤s100中,在通过当前展示的微应用向该预加载调度模块发送预加载请求时,具体的,可先通过该微应用确定当前屏的页面中包含的各其它微应用的应用入口,并根据确定出的各其它微应用的应用入口,分别确定对应各应用入口的应用标识。之后,根据确定出的各应用标识,确定预加载请求,并通过当前展示的微应用向该预加载调度模块发送预加载请求,以通过后续步骤进行预加载。

如图2所示,图2中当前微应用a对应的长页面中包含两屏显示内容。其中,第一屏中显示有微应用b以及微应用c的应用入口,第二屏中显示有微应用d以及微应用e的应用入口。若当前页面显示的为第一屏内容,则可确定当前屏的页面中展示的其它微应用b、c的应用标识,也就是说,用户可能访问微应用b或者微应用c。可根据其它微应用b、c的应用标识,确定并向预加载调度模块发送预加载请求。

若当前页面显示的为第二屏内容,则可确定当前屏的页面中展示的其它微应用d、e的应用标识,也就是说,用户可能访问微应用d或者微应用e。可根据其它微应用d、e的应用标识,确定并向预加载调度模块发送预加载请求。

在本说明书中另一种实施例中,也可设置为基于事件触发的预加载。例如:当监测到用户滚动页面后,表明用户正在浏览当前页面的内容,此时可由当前的微应用向预加载调度模块发送预加载请求,以预先加载用户接下来可能访问的微应用。

具体的,该微应用在监测到用户的指定行为操作时,可向该客户端中的预加载调度模块发送预加载请求。其中,用户的指定行为操作可以设置为点击、滚动等用户行为,具体可根据需要设置,本说明书对此不做限制。

在本说明书一种实施例中,该预加载请求中可包含监测到的用户的指定行为操作,并由该预加载调度模块将该预加载请求转发至服务器,由服务器根据该预加载请求以及预设的事件绑定关系,确定该指定行为操作触发加载的若干微应用。其中,该事件绑定关系中包含用户的各指定行为操作与触发加载的若干微应用的对应关系。最后,该服务器可根据用户的历史行为数据,从触发加载的若干微应用中确定访问频次最高的微应用,作为下一加载的微应用,

或者,在本说明书另一种实施例中,在向预加载调度模块发送预加载请求之前,该客户端中的框架应用可先从该服务器获取预设的事件绑定关系,该事件绑定关系中包含用户的各指定行为操作与触发加载的若干微应用的对应关系。之后,由该框架应用将包含事件绑定关系的配置文件发送至当前展示的微应用中,以当该微应用监测到用户的指定行为操作时,可根据该配置文件中的事件绑定关系,确定触发加载的若干微应用,并根据确定出的触发加载的若干微应用,确定预加载请求。

例如,假设d页面中包含二级页面e、f、g的页面入口,并且预先将用户在d页面中的滚动事件与用户可能访问二级页面e、f、g进行事件绑定。则该框架应用可从服务器获取预设的事件绑定关系,并将该事件绑定关系携带在配置文件中发送给当前展示的微应用,以使该微应用在监测到用户在d页面中滚动页面时,可根据该滚动事件与用户可能访问二级页面e、f、g的事件绑定关系,向预加载调度模块发送预加载请求,其中,该预加载请求中包含用户可能访问的二级页面e、f、g的页面标识。

进一步的,在本说明书中,该事件绑定关系也可以在进行框架应用开发时,预先存储在框架应用中的,以减少框架应用从服务器获取的时长。具体是预先将事件绑定关系存储在框架应用中,还是由框架应用实时从服务器获取可根据需要设置,本说明书对此不做限制。

针对上述图1所示的微应用的预加载方法,本说明书还对应提供了服务器侧的执行流程,如图3所示。

图3为本说明书实施例提供的另一种微应用的预加载流程示意图,以服务器作为执行主体,具体可包括以下步骤:

s200:服务器接收客户端通过预加载调度模块发送的预加载请求。

本说明书提供的微应用的预加载方法,无需在各页面应用中嵌入预加载代码,可在微应用加载完成后,通过预加载调度模块向服务器发送预加载请求,并基于服务器返回的预加载方案进行后续微应用的预加载。

因此在本说明书中,具体的,该服务器可先接收客户端通过预加载调度模块发送的预加载请求。以通过后续步骤确定并下发预加载方案。其中,该预加载请求中至少包含客户端中当前展示的微应用的应用标识。当然,还可包含当前展示的微应用对应的页面中包含的若干其它微应用的应用标识。

需要说明的是,该服务器可以是单个的服务器,也可以是多个服务器组成的系统,如,分布式服务器等,本说明书对此不做限制,可根据需要设置。

s202:根据所述预加载请求,确定所述微应用中待访问的若干其它微应用。

在本说明书一种或多种实施例中,当该服务器接收到预加载请求后,便可根据该预加载请求,确定用户在当前微应用中可能访问的若干其它微应用,以通过后续步骤从用户可能访问的若干其它微应用中,决策出预加载哪个微应用。

具体的,当接收到的预加载请求中仅包含微应用的应用标识时,则该服务器可根据该预加载请求中包含的微应用的应用标识,从存储的各微应用的应用标识及其包含的若干其它微应用的应用标识的对应关系中,确定该微应用中包含的若干其它微应用及其应用标识。

例如,假设预加载请求中包含的是页面应用m的页面标识,该m页面中包含有二级页面n、o、p的页面入口。则该服务器可根据该预加载请求中包含的m页面的页面标识,从存储的各页面的页面标识及其包含的其它页面的对应关系中,确定该m页面包含的二级页面n、o、p及其页面标识。

在本说明书另一种实施例中,接收到的预加载请求中还可包含微应用对应的页面中展示的各其它微应用的应用标识。此时,该服务器可直接根据该预加载请求中包含的若干其它微应用的应用标识,确定用户在该微应用中待访问的若干其它微应用。

s204:根据确定出的所述微应用中待访问的若干其它微应用以及用户的历史行为数据,确定预加载方案。

在本说明书一种或多种实施例中,当该服务器确定出用户在该微应用中待访问的若干其它微应用后,便可基于用户的历史行为数据,从待访问的若干其它微应用中,决策预加载哪个微应用。

具体的,该服务器可根据确定出的用户在该微应用中可以访问的若干其它微应用,以及各用户的历史行为数据,确定用户对各其它微应用的访问频次。之后,根据各其它微应用的被访问频次,确定预加载方案,即,确定被访问频次最高的其它微应用,作为下一待加载的其它微应用。

s206:将确定出的预加载方案下发至所述客户端的预加载调度模块,以使所述客户端中的框架应用根据所述预加载方案,对所述待加载的其它微应用进行预加载。

在本说明书一种或多种实施例中,当该服务器确定出预加载方案后,便可将该预加载方案返回至客户端,以使客户端根据预加载方案,预先对下一微应用进行加载。

具体的,该服务器可将确定出的预加载方案下发至该客户端的预加载调度模块,以使该预加载调度模块将该预加载方案转发至框架应用,由该客户端的框架应用根据预加载方案,预先对下一微应用进行预加载。其中,客户端侧的具体预加载过程在上述步骤s100~步骤s108中进行了详细阐述,本说明书对此不再赘述。

基于图3所示的微应用的预加载方法,服务器可先接收客户端通过预加载调度模块发送的预加载请求,并根据该预加载请求,确定微应用中待访问的若干其它微应用。之后,根据确定出的该微应用中待访问的若干其它微应用以及用户的历史行为数据,确定预加载方案。最后,将确定出的预加载方案下发至该客户端中的预加载调度模块,以使该客户端中的框架应用根据该预加载方案,对确定出的待加载的其它微应用进行预加载。通过从服务器侧获取预加载方案的方式,无需在页面代码中嵌入预加载代码,避免了各页面应用之间的耦合。

在本说明书步骤s204中,该服务器也可基于每个用户的历史行为数据,确定该用户对若干其它微应用的访问频次,以进一步确定对应该用户的预加载方案。具体的,该服务器可根据预加载请求中包含的用户账号的账号标识,确定该用户的历史行为数据。之后,根据该用户的历史行为数据以及确定出的待访问的若干其它微应用,确定该用户对各其它微应用的访问频次。最后,从中确定用户访问频次最高的其它微应用,作为待加载的下一微应用,以在客户端中对确定出的微应用进行预加载。

另外,由于用户对各微应用的访问频次也会不断发生变化,因此在本说明书中,该服务器还可接收客户端通过该微应用发送的用户行为反馈信息,该用户行为反馈信息中包含用户已访问的各其它微应用。之后,该服务器可根据该用户行为反馈信息中包含的用户已访问的各其它微应用,更新该用户的历史行为数据。

或者,在本说明书的另一种实施例中,该服务器也可通过统计接收到的各微应用的获取请求,确定各用户对各微应用的访问频次,以根据各用户对各微应用的访问频次,更新各用户的历史行为数据,进一步更新预加载方案。

进一步的,由于服务器确定出的预加载方案与用户实际访问的微应用存在差异,因此该客户端中的框架应用可在用户访问下一微应用后,确定用户行为反馈信息,该用户行为反馈信息中包含用户实际访问与预加载方案是否一致。之后,将该用户行为反馈信息发送至预热调度模块,以使该预热调度模块转发给服务器,由服务器根据用户行为反馈信息对预加载方案进行调整更新。

图4为微应用的预加载过程中的交互流程示意图,综合上述分析,在本说明书中对微应用进行预加载时,可当客户端中当前展示的微应用对应的页面渲染完成后,由该微应用向预加载调度模块发送预加载请求,并由该预加载调度模块将该预加载请求转发至服务器。之后,该服务器可根据该预加载请求中包含的微应用的应用标识,确定用户在该微应用中待访问的若干其它微应用,并根据用户的历史行为数据,确定预加载方案,即,从若干其它微应用中确定下一待加载的微应用。然后,由该服务器将该预加载方案下发至客户端中的预加载调度模块,并由该预加载调度模块将该预加载方案转发至框架应用。最后,由该框架应用根据该预加载方案中包含的待加载应用的应用标识,向服务器发送待加载应用获取请求,该服务器在接收到待加载应用获取请求后,可确定待加载应用的应用数据,并返回至框架应用,由框架应用根据待加载应用的应用数据,控制微应用的加载时机。

基于图1所示的微应用的预加载方法,本说明书实施例还对应提供一种微应用的预加载装置的结构示意图,如图5所示。

图5为本说明书实施例提供的一种微应用的预加载装置的结构示意图,所述装置基于框架应用、若干微应用以及预加载调度模块组成,所述微应用挂载在所述框架应用中;

所述装置包括:

第一发送模块300,当所述框架应用展示的微应用渲染完成后,通过所述装置的微应用向所述预加载调度模块发送预加载请求,所述预加载请求中至少包含所述微应用的应用标识;

接收模块302,通过所述预加载调度模块将所述预加载请求转发至服务器,并通过所述预加载调度模块接收所述服务器返回的预加载方案;

第二发送模块304,通过所述预加载调度模块将接收到的预加载方案发送至所述装置中的框架应用;

第三发送模块306,根据所述预加载方案中包含的待加载应用的应用标识,通过所述框架应用向所述服务器发送待加载应用获取请求;

预加载模块308,通过所述框架应用接收所述服务器返回的待加载应用的应用数据,并根据接收到的待加载应用的应用数据,通过所述框架应用对待加载应用进行预加载。

可选地,所述微应用对应的页面为长页面,所述长页面包含多屏,所述第一发送模块300具体用于,确定当前屏的页面中包含的各其它微应用的应用入口,根据确定出的各其它微应用的应用入口,分别确定对应各应用入口的应用标识,根据确定出的各应用标识,确定预加载请求,并通过所述微应用向所述预加载调度模块发送所述预加载请求。

可选地,所述装置还包括事件触发模块310,所述事件触发模块310具体用于,当所述微应用监测到用户的指定行为操作时,客户端通过所述微应用向所述预加载调度模块发送预加载请求。

可选地,所述事件触发模块310具体用于,通过所述框架应用从所述服务器获取预设的事件绑定关系,所述事件绑定关系中包含用户的各指定行为操作与触发加载的若干微应用的对应关系,通过所述框架应用将包含所述事件绑定关系的配置文件发送至所述微应用。

基于图3所示的微应用的预加载方法,本说明书实施例还对应提供一种微应用的预加载装置的结构示意图,如图6所示。

图6为本说明书实施例提供的一种微应用的预加载装置的结构示意图,包括:

接收模块400,接收客户端通过预加载调度模块发送的预加载请求,所述预加载请求中包含所述客户端的框架应用中展示的微应用的应用标识;

第一确定模块402,根据所述预加载请求,确定所述微应用中待访问的若干其它微应用;

第二确定模块404,根据确定出的所述微应用中待访问的若干其它微应用以及用户的历史行为数据,确定预加载方案,所述预加载方案中包含下一待加载的其它微应用;

预加载模块406,将确定出的预加载方案下发至所述客户端的预加载调度模块,以使所述客户端中的框架应用根据所述预加载方案,对所述待加载的其它微应用进行预加载。

可选地,所述第一确定模块402具体用于,确定所述预加载请求中包含的在所述微应用中展示的各其它微应用的应用标识,根据确定出的各其它微应用的应用标识,确定所述微应用中待访问的若干其它微应用。

可选地,所述第二确定模块404还用于,接收客户端通过所述微应用发送的用户行为反馈信息,所述用户行为反馈信息至少包含用户已访问的各其它微应用,根据所述用户行为反馈信息,更新所述用户的历史行为数据。

本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1或图3提供的微应用的预加载方法。

基于图1或图3所示的微应用的预加载方法,本说明书实施例还提出了图7所示的电子设备的示意结构图。如图7,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1或图3所示的微应用的预加载方法。

当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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