CN112417330A - 页面加载方法、装置、设备以及存储介质 - Google Patents
页面加载方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN112417330A CN112417330A CN201910785673.5A CN201910785673A CN112417330A CN 112417330 A CN112417330 A CN 112417330A CN 201910785673 A CN201910785673 A CN 201910785673A CN 112417330 A CN112417330 A CN 112417330A
- Authority
- CN
- China
- Prior art keywords
- page
- page data
- browser
- loading
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种页面加载方法、装置、设备以及存储介质,通过在服务器中设置定时器,当服务器接收到页面加载请求之后,启动定时器开始计时,并将在定时器的计时时长达到预设时长之前获取的与页面加载请求对应的页面数据先发送至浏览器,由浏览器利用这部分页面数据执行页面渲染操作,而服务器在定时器的计时时长达到预设时长时断开与浏览器的连接,使用户可以感知到浏览器已经加载完成目标页面,提升了用户体验。
Description
技术领域
本发明涉及互联网技术领域,更具体的说,是涉及一种页面加载方法、装置、设备以及存储介质。
背景技术
随着移动互联网的发展,越来越多地人们利用诸如智能手机的移动终端来访问互联网以获取信息。随着超文本标记语言(HTML)技术的进步与普及,终端浏览器能展示的网页内容也愈加多样化。页面内容可以包括文字信息、图片信息、音频信息、视频信息等。通过HTML5技术也可以实现用户与页面的交互,从而极大地提升了用户体验。
在以nodejs为后台语言的web服务中,要实现页面加载,服务端需要调用数据库获取页面数据,将获取的页面数据发送至浏览器,由浏览器根据页面数据加载页面。在某些情况下,如网络或者数据库性能差,会导致这个获取数据的速度比较慢,进而导致浏览器长时间无法获取页面加载所需的页面数据,导致无法根据页面数据加载页面,使得浏览器长时间显示空白,对用户来说,用户就只能看到白色的屏幕,体验不好。
发明内容
有鉴于此,本发明提供了一种页面加载方法、装置、设备以及存储介质,以提高页面加载的速度,提升用户体验。
为实现上述目的,一方面,本申请提供了一种页面加载方法,所述方法包括:
接收页面加载请求;
启动定时器开始计时;
获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
又一方面,本申请还提供了一种页面加载装置,所述装置包括:
接收单元,用于接收页面加载请求;
计时单元,用于启动定时器开始计时;
获取单元,用于获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
发送单元,用于将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
又一方面,本申请还提供了一种设备,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收页面加载请求;
启动定时器开始计时;
获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的页面加载方法。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种页面加载方法、装置、设备以及存储介质,通过在服务器中设置定时器,当服务器接收到页面加载请求之后,启动定时器开始计时,并将在定时器的计时时长达到预设时长之前获取的与页面加载请求对应的页面数据先发送至浏览器,由浏览器利用这部分页面数据执行页面渲染操作,而服务器在定时器的计时时长达到预设时长时断开与浏览器的连接,使用户可以感知到浏览器已经加载完成目标页面,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种采用BigPipe实现页面加载的示意图;
图2为本发明实施例提供的一种页面加载系统的结构示意图;
图3为本发明实施例提供的一种页面加载方法的流程示意图;
图4为本发明实施例提供的另一种页面加载方法的流程示意图;
图5为本发明实施例提供的一种页面加载方法应用例的示意图;
图6为本发明实施例提供的页面加载效果示意图;
图7为本发明实施例提供的页面加载效果示意图;
图8为本发明实施例提供的一种页面加载装置的结构示意图;
图9为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现页面的快速加载,本案的发明人进行研究,起初的思路为:采用BigPipe实现页面加载。
然而,发明人经研究发现,采用BigPipe实现页面的快速加载的思路存在如下问题:
如图1所示,采用BigPipe实现页面加载时,浏览器首先需要根据用户输入的页面地址生成页面加载请求,并将页面加载请求发送至服务器;服务器在接收到浏览器发送的页面加载请求之后,确定页面加载请求对应的页面在加载时所需的页面数据,并同时向多个数据库源发送页面数据获取请求;各个数据库源在收到页面数据获取请求之后,查找相应页面数据,由于不同的数据库源的性能不同,查找页面数据的速度快慢不一,因此,多个数据库源会在不同的时刻向服务器返回页面数据,服务器接收到各个数据库源返回的页面数据后即刻将该页面数据发送至浏览器。
具体的,服务器会先收到查找速度快的数据库源返回的第一批页面数据,并将收到的第一批页面数据发送至浏览器,在收到其他批页面数据后,也将收到的其他批页面数据发送至浏览器,直至收到最后一批页面数据后,将收到的最后一批页面数据也发送至浏览器。浏览器每接收到一批页面数据,则根据该批页面数据进行页面加载,直至获取最后一批页面数据后,再进行最终的页面排版操作,完成页面加载。浏览器在完成页面加载之前,一直显示加载状态。
但是,上述过程有如下缺点:
首先,浏览器在等待页面数据的过程中,一直显示加载状态,给用户的直观感受就是页面加载慢,降低了用户体验。
另外,如果浏览器无法获取页面加载所需的部分页面数据,就会一直处于加载中的状态,需要由用户重新刷新页面才能重新进行页面加载,这无疑又增加了页面加载的耗时,降低了用户体验。
鉴于上述思路存在的问题,本案发明人进行了深入研究,最终提出了一种页面加载系统,如图2所示,该系统包括数据库源21、服务器22和浏览器23。
其中,数据库源21可以是一个集群,或者是一套数据接口,用于提供数据给服务器使用。比如,数据库源可以基于mysql、redis等实现。
服务器22是以node.js为后台语言搭建的Web服务器。如图2所示,服务器中设置了nginx做反向代理,用于接收浏览器发送的页面加载请求,并将页面加载请求转发给已启动的node进程(如图2所示的node1、node2、node3…)处理。
需要说明的是,不同的node进程是由相同的一份源码而启动,它们的内部逻辑是一样的。当多个用户同时通过浏览器发送页面加载请求时,nginx可以基于预设策略将不同的页面加载请求转发至不同的node进程,各个node进程在接收到页面加载请求之后,会对页面加载请求进行拆解,确定该页面加载请求中包含的页面数据获取任务,并将各个页面数据获取任务分配至数据库源中,数据库源执行各个页面数据获取任务并将获取的页面数据发送至相应的node进程。
页面是由资源和数据构成,资源包括图片、样式、代码等文件,除资源之外,页面包括的其他信息即为数据,比如用户信息、列表信息等。比如,node进程接收到的页面加载请求中包含的页面数据获取任务是获取用户信息,那么node进程就会将该页面数据获取任务分配至存储有用户信息的数据库源,数据库源执行获取用户信息的任务,并在执行完毕后返回相关的用户信息。
需要说明的是,node进程将预设时间段内接收到的由数据库源发送的数据发送给nginx,由nginx提供给浏览器,浏览器根据该部分数据进行页面加载。如果数据库源在预设时间内未执行完数据获取任务,则会将任务执行结果发送至node进程,node进程将接收到的数据存储在缓存中。
浏览器23是安装在计算机、手机等终端上的,用户可以通过浏览器发送页面加载请求,例如,可以直接在浏览器上输入相应的网址,以生成页面加载请求,也可以是在点击某一链接,进行页面加载,以生成页面加载请求。在浏览器生成页面加载请求后,将该页面加载请求发送至对应的服务器中。
基于上述页面加载系统,本案发明人提出了一种页面加载方法,该方法能够实现页面快速加载。该方法可应用于服务器。接下来,通过下述实施例对本申请提供的页面加载方法进行详细介绍。
请参阅图3,示出了本申请实施例提供的一种页面加载方法的流程示意图,该方法可以包括:
S301:接收页面加载请求。
用户可以通过浏览器生成页面加载请求,例如,可以直接在浏览器上输入相应的网址,以生成页面加载请求,也可以是在点击某一链接,进行页面加载,以生成页面加载请求。浏览器生成页面加载请求之后,将页面加载请求发送至服务器,由服务器接收。
S302:启动定时器开始计时。
本申请中,服务器内部设置有计时器,用于对服务器对页面加载请求的处理过程进行计时。在服务器接收到页面加载请求之后,计时器即启动开始计时。
S303:获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
在计时器计时的同时,服务器同时执行对页面加载请求的处理,具体的,服务器需要获取与页面加载请求对应的页面数据,与页面加载请求对应的页面数据即加载目标页面所需的页面数据。在本申请中,将在定时器的计时时长达到预设时长之前接收到的页面数据作为第一页面数据,第一页面数据可能为加载目标页面所需的全部页面数据,也可能为加载目标页面所需的部分页面数据。
S304:将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
在本申请中,服务器在定时器的计时时长达到预设时长之前可能多次接收到的不同的页面数据,服务器每接收到一次页面数据之后,即把接收到的页面数据发送至浏览器,浏览器接收到一次页面数据就会利用接收到的页面数据执行页面渲染操作。基于此,浏览器将在定时器的计时时长达到预设时长之前接收到的全部页面数据都发送给浏览器。
在定时器的计时时长达到预设时长的过程中,浏览器处于加载中的状态,当服务器将在定时器的计时时长达到预设时长之前最后一次接收的页面数据发送至浏览器之后,即断开与浏览器的连接,浏览器根据最后一次接收的页面数据执行页面渲染之后,浏览器显示页面加载完成,对用户来说,此时用户可以感知到页面已经加载完成。
本申请实施例公开了一种页面加载方法,通过在服务器中设置定时器,当服务器接收到页面加载请求之后,启动定时器开始计时,并将在定时器的计时时长达到预设时长之前获取的与页面加载请求对应的页面数据先发送至浏览器,由浏览器利用这部分页面数据执行页面渲染操作,而服务器在定时器的计时时长达到预设时长时断开与浏览器的连接,使用户可以感知到浏览器已经加载完成目标页面,提升了用户体验。
在本申请中,如果第一页面数据为加载目标页面所需的部分页面数据时,为了保证页面加载的完整性,在所述定时器的计时时长达到预设时长之后,服务器还会继续获取与页面加载请求对应的页面数据。如果将加载目标页面所需的剩余数据作为第二页面数据,这些第二页面数据将由服务器在所述定时器的计时时长达到预设时长之后接收到,在本申请中,服务器在获取第二页面数据之后,会将第二页面数据缓存到服务器的内存中。具体的,服务器在接收到页面加载请求之后,获取页面加载请求中的会话标识,并为该会话标识分配对应的内存存储空间,这样,服务器获取的第二页面数据即可存储在上述内存存储空间中。
而对于浏览器来说,浏览器在接收到第一页面数据之后,会检查第一页面数据是否为加载目标页面所需的全部页面数据,具体的,浏览器可以获取第一页面数据对应的数据标识,并将第一页面数据对应的数据标识与加载目标页面所需的全部页面数据的数据标识进行匹配,如果存在未匹配上的数据标识,则说明浏览器确定未接收到加载目标页面所需的全部页面数据。这个时候,浏览器则会生成剩余数据获取请求,剩余数据获取请求用于指示获取第二页面数据,第二页面数据即加载目标页面所需的全部页面数据中除第一页面数据之外的其他数据。剩余数据获取请求中可以携带第二页面数据的数据标识。浏览器将生成的剩余数据获取请求发送至服务器。剩余数据获取请求可以为ajax类型的请求。
服务器在接收到剩余数据获取请求之后,从内存中提取第二页面数据,并将提取的第二页面数据发送至浏览器,以使浏览器利用所述第二页面数据执行页面渲染操作以完成页面加载。具体地,服务器获取剩余数据获取请求对应的会话标识,并从与该会话标识对应的内存存储空间中提取第二页面数据。在本实施例中,浏览器发送给服务器的页面加载请求以及剩余数据获取请求对应的会话标识相同。
需要说明的是,浏览器可以多次生成不同的剩余数据获取请求,每个剩余数据获取请求用于指示获取第二页面数据中的部分页面数据,所有剩余数据获取请求发送完毕之后,获取的全部页面数据即为第二页面数据。
基于上述页面加载的方式实现目标页面的加载时,用户只会感觉到浏览器侧的页面一直在输出,而不会有停滞感,体验友好。
需要说明的是,为了充分利用服务器的资源,本申请中可以在服务器中预设反向代理(如,nginx),并启动多个进程(如,node进程),这样,服务器在接收页面加载请求之后,可以利用预设的反向代理将页面加载请求转发至目标进程,由目标进程执行本申请的页面加载方法。目标进程具体可以为已启动的多个进程中的一个进程,目标进程的确认方式可以有多种,作为一种可实施方式,预设的反向代理可以将处于空闲状态的多个进程中的任意一个进程确定为目标进程。
请参阅图4,示出了本申请实施例提供的另一种页面加载方法的流程示意图,该方法应用于服务器,该方法可以包括:
S401:接收页面加载请求。
S402:启动定时器开始计时。
步骤S401以及S402的具体实现方式可以参见上述步骤S301及S302,本实施例不再赘述。
S403:利用预设的反向代理将所述页面加载请求转发至目标进程。
作为一种可实施方式,预设的反向代理可以为nginx,目标进程可以为node进程。需要说明的是,不同的node进程是由相同的一份源码而启动,它们的内部逻辑是一样的。当多个用户同时通过浏览器发送页面加载请求时,nginx可以基于预设策略将不同的页面加载请求转发至不同的node进程,作为一种可实施方式,已启动的多个node进程会定时将自身的繁忙状态上报给nginx,nginx根据各个node进程的繁忙状态把不同的页面加载请求分配给不同node进程。
作为又一种可实施方式,nginx可以将页面加载请求轮流分配给不同的node进程,比如,有两个node进行可用,即node1和node2,则nginx可将第一个页面加载请求分配给node1,将第二个页面加载请求分配给node2,将第三个页面加载请求再分配给node1,将第四个页面加载请求再分配给node2。
S404:所述目标进程根据所述页面加载请求生成页面数据获取请求。
目标node进程在接收到页面加载请求之后,会对页面加载请求进行拆解,确定该页面加载请求中包含的页面数据获取任务,生成相应的页面数据获取请求。
S405:所述目标进程将所述页面数据获取请求发送至数据库源,以使所述数据库源查找与所述页面数据获取请求对应的页面数据,并将查找到的页面数据发送至所述目标进程;
目标node进程将各个页面数据获取请求发送至数据库源中,数据库源执行各个页面数据获取请求并将获取的页面数据发送至目标node进程。
S406:所述目标进程确定在所述定时器的计时时长达到预设时长之前接收到的页面数据为所述第一页面数据。
S407:所述目标进程将所述第一页面数据发送至所述反向代理;
S408:所述反向代理将所述第一页面数据发送至所述浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
需要说明的是,如果第一页面数据为加载目标页面所需的部分页面数据时,为了保证页面加载的完整性,在所述定时器的计时时长达到预设时长之后,所述目标进程将在所述定时器的计时时长达到预设时长之后接收到的页面数据缓存到所述服务器的内存中。
基于上述实施例,本申请给出了一种页面加载方法的应用例,具体如下:
请参阅附图5,图5为本申请提供的一种页面加载方法应用例的示意图,如图5所示,浏览器向服务器发送页面加载请求,服务器在收到该页面加载请求之后,生成3个页面数据获取请求,并将这3个页面数据获取请求发送至数据库源,由1号数据库源处理1号页面数据获取请求,2号数据库源处理2号页面数据获取请求,3号数据库源处理3号页面数据获取请求,假设,1号数据库源、2号数据库源获取数据速度比较快,并在获取数据后将获取的数据发送至服务器,服务器在收到1号数据库源发送的第一块页面数据、2号数据库源发送的第二块页面数据后,将其返回至浏览器,浏览器接收到后,根据第一块页面数据以及第二块页面数据开始渲染页面。但是3号数据库源在服务器计时达到N秒之后依然未返回数据,此时,服务器即断开与浏览器的连接。
其中,服务器断开与浏览器的连接之前,页面加载示意图如图6所示,服务器断开与浏览器的连接之后,页面加载示意图如图7所示,由图6和图7可以看出,当超过设定时间断开连接时,图6中方块处的加载标识已经消失变成页面标识,此时,用户可以感知到页面已经加载完成。
接着浏览器继续进行第3块数据的加载,再次发起ajax请求,ajax为异步的数据请求,无需用户刷新页面。此时ajax就能拿到服务器已经放在内存中的数据,返回给浏览器,做最后的数据展示。
下面对本发明实施例提供的页面加载装置进行介绍,下文描述的页面加载装置可与页面加载方法相互对应参照。
图8为本发明实施例提供的页面加载装置的结构框图,参照图8,该装置可以包括:
接收单元81,用于接收页面加载请求;
计时单元82,用于启动定时器开始计时;
获取单元83,用于获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
发送单元84,用于将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
可选地,所述获取单元还用于:
在所述将所述第一页面数据发送至浏览器之后,获取与所述页面加载请求对应的第二页面数据,所述第二页面数据包括所述服务器在所述定时器的计时时长达到预设时长之后接收到的页面数据;
所述装置还包括:
缓存单元,用于将所述第二页面数据缓存到所述服务器的内存中。
可选地,所述接收单元还用于:在所述将所述的第二页面数据缓存到内存中之后,接收剩余数据获取请求,所述剩余数据获取请求是所述浏览器在确定未接收到加载所述目标页面所需的全部页面数据之后生成并发送至所述服务器的,用于指示获取所述第二页面数据;
所述装置还包括:
提取单元,用于从所述内存中提取所述第二页面数据,并将提取的所述第二页面数据发送至浏览器,以使所述浏览器利用所述第二页面数据执行页面渲染操作以完成页面加载。
所述装置还包括,转发单元,用于在所述接收页面加载请求之后,利用预设的反向代理将所述页面加载请求转发至目标进程。
可选地,所述获取单元,具体用于:
所述目标进程根据所述页面加载请求生成页面数据获取请求;
所述目标进程将所述页面数据获取请求发送至数据库源,以使所述数据库源查找与所述页面数据获取请求对应的页面数据,并将查找到的页面数据发送至所述目标进程;
所述目标进程确定在所述定时器的计时时长达到预设时长之前接收到的页面数据为所述第一页面数据。
可选地,所述发送单元,具体用于:
所述目标进程将所述第一页面数据发送至所述反向代理;
所述反向代理将所述第一页面数据发送至所述浏览器。
可选地,所述缓存单元还用于:
所述目标进程将在所述定时器的计时时长达到预设时长之后接收到的页面数据缓存到所述服务器的内存中。
需要说明的是,上述各个单元的具体功能实现已在上述实施例中详细描述,本实施例不再赘述。
另一方面,本申请还提供了一种设备,如参见图9,其示出了本申请的服务器的一种组成结构示意图,本实施例的设备1100可以包括:处理器1101和存储器1102。
可选的,该设备还可以包括通信接口1103、输入单元1104和显示器1105和通信总线1106。
处理器1101、存储器1102、通信接口1103、输入单元1104、显示器1105、均通过通信总线1106完成相互间的通信。
在本申请实施例中,该处理器1101,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
该处理器可以调用存储器1102中存储的程序。具体的,处理器可以执行计数方法的实施例中服务器所执行的操作。
存储器1102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
接收页面加载请求;
启动定时器开始计时;
获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
在一种可能的实现方式中,该存储器1102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如图像播放功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,用户数据、用户访问数据以及音频、视频、图像数据等等。
此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口1103可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器1104和输入单元1105等等。
当然,图9所示的设备的结构并不构成对本申请实施例中服务器的限定,在实际应用中服务器可以包括比图9所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中服务器执行的页面加载方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种页面加载方法,其特征在于,所述方法包括:
接收页面加载请求;
启动定时器开始计时;
获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
2.根据权利要求1所述的方法,其特征在于,在所述将所述第一页面数据发送至浏览器之后,所述方法还包括:
获取与所述页面加载请求对应的第二页面数据,所述第二页面数据包括所述服务器在所述定时器的计时时长达到预设时长之后接收到的页面数据;
将所述第二页面数据缓存到所述服务器的内存中。
3.根据权利要求2所述的方法,其特征在于,在所述将所述的第二页面数据缓存到内存中之后,所述方法还包括:
接收剩余数据获取请求,所述剩余数据获取请求是所述浏览器在确定未接收到加载所述目标页面所需的全部页面数据之后生成并发送至所述服务器的,用于指示获取所述第二页面数据,所述剩余数据获取请求为ajax类型的请求;
从所述内存中提取所述第二页面数据,并将提取的所述第二页面数据发送至浏览器,以使所述浏览器利用所述第二页面数据执行页面渲染操作以完成页面加载。
4.根据权利要求1所述的方法,其特征在于,所述在所述接收页面加载请求之后,所述方法还包括:
利用预设的反向代理将所述页面加载请求转发至目标进程。
5.根据权利要求4所述的方法,其特征在于,所述获取与所述页面加载请求对应的第一页面数据,包括:
所述目标进程根据所述页面加载请求生成页面数据获取请求;
所述目标进程将所述页面数据获取请求发送至数据库源,以使所述数据库源查找与所述页面数据获取请求对应的页面数据,并将查找到的页面数据发送至所述目标进程;
所述目标进程确定在所述定时器的计时时长达到预设时长之前接收到的页面数据为所述第一页面数据。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一页面数据发送至浏览器,包括:
所述目标进程将所述第一页面数据发送至所述反向代理;
所述反向代理将所述第一页面数据发送至所述浏览器。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述目标进程将在所述定时器的计时时长达到预设时长之后接收到的页面数据缓存到所述服务器的内存中。
8.一种页面加载装置,其特征在于,所述装置包括:
接收单元,用于接收页面加载请求;
计时单元,用于启动定时器开始计时;
获取单元,用于获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
发送单元,用于将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
9.一种设备,其特征在于,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收页面加载请求;
启动定时器开始计时;
获取与所述页面加载请求对应的第一页面数据,所述第一页面数据为服务器在所述定时器的计时时长达到预设时长之前接收到的页面数据;
将所述第一页面数据发送至浏览器,断开与所述浏览器的连接,以使所述浏览器利用所述第一页面数据执行页面渲染操作以实现目标页面的加载。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述的页面加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910785673.5A CN112417330A (zh) | 2019-08-23 | 2019-08-23 | 页面加载方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910785673.5A CN112417330A (zh) | 2019-08-23 | 2019-08-23 | 页面加载方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112417330A true CN112417330A (zh) | 2021-02-26 |
Family
ID=74779446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910785673.5A Pending CN112417330A (zh) | 2019-08-23 | 2019-08-23 | 页面加载方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417330A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090146A (zh) * | 2021-10-28 | 2022-02-25 | 青岛海尔科技有限公司 | 一种数据加载完成确定方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777939A (zh) * | 2013-03-18 | 2014-05-07 | 北京基调网络系统有限公司 | 一种测量网页首屏时间的方法 |
CN107807934A (zh) * | 2016-09-09 | 2018-03-16 | 广州市动景计算机科技有限公司 | 页面显示方法和装置以及计算设备 |
CN108989390A (zh) * | 2018-06-19 | 2018-12-11 | 北京智明星通科技股份有限公司 | 用户请求转发方法及装置、反向代理服务器和计算机可读存储介质 |
CN109800025A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 页面加载方法、装置、设备及存储介质 |
-
2019
- 2019-08-23 CN CN201910785673.5A patent/CN112417330A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777939A (zh) * | 2013-03-18 | 2014-05-07 | 北京基调网络系统有限公司 | 一种测量网页首屏时间的方法 |
CN107807934A (zh) * | 2016-09-09 | 2018-03-16 | 广州市动景计算机科技有限公司 | 页面显示方法和装置以及计算设备 |
CN108989390A (zh) * | 2018-06-19 | 2018-12-11 | 北京智明星通科技股份有限公司 | 用户请求转发方法及装置、反向代理服务器和计算机可读存储介质 |
CN109800025A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 页面加载方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090146A (zh) * | 2021-10-28 | 2022-02-25 | 青岛海尔科技有限公司 | 一种数据加载完成确定方法、装置及设备 |
CN114090146B (zh) * | 2021-10-28 | 2023-06-16 | 青岛海尔科技有限公司 | 一种数据加载完成确定方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113055451B (zh) | 资源下载方法、装置、电子设备及存储介质 | |
JP5805616B2 (ja) | 通信デバイスにおけるコンテンツの検索/ダウンロードのための装置および方法 | |
WO2020199751A1 (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN107105336B (zh) | 数据处理方法及数据处理装置 | |
CN105867714B (zh) | 应用程序下载方法、装置及系统 | |
CN106021421B (zh) | 一种加速网页渲染的方法及装置 | |
CN112115396A (zh) | 网页页面渲染方法、装置、设备及存储介质 | |
CN107807934B (zh) | 页面显示方法和装置以及计算设备 | |
CN110222288B (zh) | 页面展示方法、装置及存储介质 | |
CN113568699B (zh) | 一种内容显示方法、装置、设备及存储介质 | |
CN111381749A (zh) | 一种图像显示和处理方法、装置、设备和存储介质 | |
CN111639278A (zh) | 一种网页加载方法及装置 | |
CN111368235A (zh) | 页面渲染和展示方法、装置、服务器、存储介质 | |
CN107329976B (zh) | 网页分页方法、装置、计算机设备及计算机可读存储介质 | |
CN108334516B (zh) | 信息推送方法和装置 | |
CN107609073A (zh) | 一种资讯展示方法、装置、电子设备及存储介质 | |
CN107800611B (zh) | 一种页面切换的方法及页面切换装置 | |
CN108959393B (zh) | 动态图片处理方法、装置及存储介质 | |
CN114510667A (zh) | 页面缓存方法、页面显示方法及装置、存储介质 | |
CN112926002A (zh) | 一种服务请求的处理方法及装置 | |
CN113918849A (zh) | 一种页面显示方法、装置、系统、电子设备及存储介质 | |
CN108268499A (zh) | 一种网页显示方法及装置 | |
CN112417330A (zh) | 页面加载方法、装置、设备以及存储介质 | |
CN113163255A (zh) | 视频播放方法、装置、终端及存储介质 | |
CN105760407A (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 |