CN109961331B - 页面处理方法及其系统、计算机系统和可读存储介质 - Google Patents

页面处理方法及其系统、计算机系统和可读存储介质 Download PDF

Info

Publication number
CN109961331B
CN109961331B CN201711346166.9A CN201711346166A CN109961331B CN 109961331 B CN109961331 B CN 109961331B CN 201711346166 A CN201711346166 A CN 201711346166A CN 109961331 B CN109961331 B CN 109961331B
Authority
CN
China
Prior art keywords
page
target object
preset time
time point
rendering task
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
CN201711346166.9A
Other languages
English (en)
Other versions
CN109961331A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201711346166.9A priority Critical patent/CN109961331B/zh
Publication of CN109961331A publication Critical patent/CN109961331A/zh
Application granted granted Critical
Publication of CN109961331B publication Critical patent/CN109961331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开提供了一种页面处理方法,包括:获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象,其中,所述预设时间点为预先设定的使所述目标对象生效的时间节点。本公开还提供了一种页面处理系统、一种计算机系统和一种可读存储介质。

Description

页面处理方法及其系统、计算机系统和可读存储介质
技术领域
本公开涉及数据处理领域,更具体地,涉及一种页面处理方法、页面处理系统、计算机系统和可读存储介质。
背景技术
随着互联网技术的发展,网页的表现形式越来越多样化。比如,在使用交易平台推出相关活动时,每个页面内容都可能存在“排期展示”的情况。所谓页面“排期展示”是指页面链接不变,但在不同时间同一个链接会显示不同的页面内容。比如“双十一”期间,主会场页面的链接保持不变,但在活动期间会在某些预设时间点定时切换该链接对应的页面内容,从而显示不同的主会场页面。
为了保证高并发访问情况下用户能够正常访问页面,在相关技术中,通常会添加cdn和redis两级缓存,以此来降低数据库的访问压力,实现提高系统性能的效果。但是,受cdn、redis缓存存在过期时间的影响,页面内容更新存在有一定的延迟。对于推展普通活动的页面,延迟10多分钟切换页面内容是可以接受的,但对于一些时效性要求比较高的营销活动的页面显然是不可容忍的。
为了克服页面内容更新存在有一定的延迟的缺陷,在相关技术中,一般是通过人工手动发布页面或者定时自动发布页面的。
然而,在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:
通过人工手动发布页面或者定时自动发布页面时,会触发cdn、redis清理缓存页面,而在cdn、redis缓存被清理的瞬间,由于没有任何缓存,此时如果出现高并发访问,则所有的页面访问请求都会落到应用服务器上,由应用服务器进行实时页面渲染,使得系统存在瞬间崩溃的风险。
发明内容
有鉴于此,本公开提供了一种页面处理方法及其系统。
本公开的一个方面提供了一种页面处理方法,包括获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象,其中,上述预设时间点为预先设定的使上述目标对象生效的时间节点。
根据本公开的实施例,上述页面处理方法还包括在上述预设时间点将渲染出的上述目标对象缓存到预定位置。
根据本公开的实施例,上述页面处理方法还包括在上述预设时间点将渲染出的上述目标对象缓存到redis服务器中;以及在上述预设时间点将渲染出的上述目标对象缓存到上述redis服务器中的同时或之后,清空cdn服务器中缓存的内容。
根据本公开的实施例,在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象包括在上述至少一个页面渲染任务包括多个的情况下,在上述预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。
根据本公开的实施例,上述页面处理方法还包括在执行完上述至少一个页面渲染任务并渲染出对应的上述目标对象之后,且在上述预设时间点到达之前,将上述目标对象放入延时队列中;以及在上述预设时间点将渲染出的上述目标对象缓存到预定位置包括:到达上述预设时间点通过预设算法从上述延时队列中获取上述目标对象;以及将从上述延时队列中获取的上述目标对象缓存到上述预定位置。
根据本公开的实施例,在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象之后,上述页面处理方法还包括判断上述至少一个页面渲染任务是否执行成功;以及在判断上述至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行上述执行失败的页面渲染任务,以渲染出对应的目标对象。
本公开的另一个方面提供了一种页面处理系统,该页面处理系统包括获取模块和执行模块。获取模块用于获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及执行模块用于在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象,其中,上述预设时间点为预先设定的使上述目标对象生效的时间节点。
根据本公开的实施例,上述页面处理系统还包括缓存模块。缓存模块用于在上述预设时间点将渲染出的上述目标对象缓存到预定位置。
根据本公开的实施例,上述缓存模块用于在上述预设时间点将渲染出的上述目标对象缓存到redis服务器中,上述系统还包括第一处理模块,用于在上述预设时间点将渲染出的上述目标对象缓存到上述redis服务器中的同时或之后,清空cdn服务器中缓存的内容。
根据本公开的实施例,上述执行模块包括分配单元,用于在上述至少一个页面渲染任务包括多个的情况下,在上述预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。
根据本公开的实施例,上述页面处理系统还包括第二处理模块,用于在执行完上述至少一个页面渲染任务并渲染出对应的上述目标对象之后,且在上述预设时间点到达之前,将上述目标对象放入延时队列中;以及上述缓存模块包括获取单元和缓存单元。获取单元用于在到达上述预设时间点的情况下,通过预设算法从上述延时队列中获取上述目标对象;以及缓存单元用于将从上述延时队列中获取的上述目标对象缓存到上述预定位置。
根据本公开的实施例,上述页面处理系统还包括判断模块和标记模块。判断模块用于在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象之后,判断上述至少一个页面渲染任务是否执行成功;以及标记模块用于在判断上述至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行上述执行失败的页面渲染任务,以渲染出对应的目标对象。
本公开的另一个方面提供了一种计算机系统,包括一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的页面处理方法。
本公开的另一个方面提供了一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的页面处理方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的页面处理方法。
通过本公开的实施例,由于在预设时间点之前执行至少一个页面渲染任务,使得可以预先渲染待切换的页面,该渲染好的页面可以存储到缓存中用于客户端请求访问,而无需在达到预设时间点时从数据库中实时渲染页面,能够避免通过人工手动发布页面或者定时自动发布页面时由于没有任何缓存需要实时渲染页面的问题,同时能够避免在面对高并发访问时系统可能出现的瞬间崩溃风险,达到了在不同时间同一个链接的网页中显示不同的页面内容的效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用页面处理方法及其系统的示例性系统架构;
图2A示意性示出了根据本公开实施例的页面处理方法的流程图;
图2B示意性示出了根据本公开实施例的页面处理方法的示意图;
图3A示意性示出了根据本公开另一实施例的页面处理方法的流程图;
图3B示意性示出了根据本公开实施例的将多个页面渲染任务分配给多个分布式服务器执行的流程图;
图3C示意性示出了根据本公开实施例的在预设时间点将渲染出的目标对象缓存到预定位置的流程图;
图3D示意性示出了根据本公开另一实施例的页面处理方法的流程图;
图4示意性示出了根据本公开实施例的页面处理系统的框图;
图5A示意性示出了根据本公开另一实施例的页面处理系统的框图;
图5B示意性示出了根据本公开另一实施例的页面处理系统的框图;
图5C示意性示出了根据本公开另一实施例的页面处理系统的框图;
图5D示意性示出了根据本公开另一实施例的缓存模块的框图;
图5E示意性示出了根据本公开另一实施例的页面处理系统的框图;以及
图6示意性示出了根据本公开实施例的适于实现页面处理方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
本公开的实施例提供了一种页面处理方法及其系统。该方法包括获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象,其中,所述预设时间点为预先设定的使所述目标对象生效的时间节点。
图1示意性示出了根据本公开实施例的可以应用页面处理方法及其系统的示例性系统架构。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的页面处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的页面处理系统一般可以设置于服务器105中。本公开实施例所提供的页面处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的页面处理系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2A示意性示出了根据本公开实施例的页面处理方法的流程图。
如图2A所示,该方法包括操作S210和S220,其中:
在操作S210,获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容。
在操作S220,在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象,其中,预设时间点为预先设定的使目标对象生效的时间节点。
根据本公开的实施例,页面渲染是指通过查询数据库,以及调用外部接口,获取页面的动态数据;结合页面框架模板,通过渲染引擎使用动态数据渲染页面模板,最终得到一个html页面片段,从而在客户端中向用户展示。
为了在不同时间同一个链接的网页中显示不同的页面内容,可以在切换页面内容之前,获取至少一个页面渲染任务,在该页面渲染任务中可以包括链接地址,页面标识,任务执行时间中的一种或多种信息。图2B示意性示出了根据本公开实施例的页面处理方法的示意图。如图2B所示,至少一个页面渲染任务存储在服务器106中,服务器107首先从服务器106中获取至少一个页面渲染任务,然后在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象。具体的,可以从预先设置需要渲染的任务,通过表的形式将至少一个页面渲染任务存储在服务器106的数据库中,表结构可以如表1所示。
表1
列名 类型 描述
id Int 连续自增主键
page_id varchar(50) 页面标识
task_time datetime 任务执行时间
根据本公开的实施例,执行每个页面渲染任务能够渲染出一个完整页面或者一个完整页面的页面内容。当保持完整页面中页面框架不变的情况下,可以只预先渲染完整页面的页面内容。当完整页面中页面框架和页面内容都需要重新渲染的情况下,执行每个页面渲染任务能够渲染出页面框架和页面内容都重新渲染后的完整页面。
根据本公开的实施例,预设时间点为预先设定的使目标对象生效的时间节点,例如,后台预先设定在早上6点切换渲染后的完整页面,当到达早上6点时,渲染后的完整页面将会生效,如果此时客户端请求访问该链接地址下的页面,后台将返回该生效后的渲染后的完整页面至客户端。
通过本公开的实施例,由于在预设时间点之前执行至少一个页面渲染任务,使得可以预先渲染待切换的页面,该渲染好的页面可以存储到缓存中用于客户端请求访问,而无需在达到预设时间点时从数据库中实时渲染页面,能够避免通过人工手动发布页面或者定时自动发布页面时由于没有任何缓存需要实时渲染页面的问题,同时能够避免在面对高并发访问时系统可能出现的瞬间崩溃风险,达到了在不同时间同一个链接的网页中显示不同的页面内容的效果。
根据本公开的实施例,在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象之后,还可以在预设时间点将渲染出的目标对象缓存到预定位置。其中,预定位置可以是单独用于存放渲染出的目标对象的一个或多个服务器。例如,预设时间点为凌晨零点,在凌晨零点之前就执行至少一个页面渲染任务,可以在凌晨零点将渲染出的目标对象缓存到相应的服务器中。
根据本公开的实施例,将渲染出的目标对象缓存到预定位置,可以使得在预定时间自动发布或以客户端请求返回页面,避免了由于没有任何缓存需要实时渲染页面的问题。
下面参考图3A~图3D,结合具体实施例对图2A所示的方法做进一步说明。
图3A示意性示出了根据本公开另一实施例的页面处理方法的流程图。
如图3A所示,页面处理方法还包括操作S230和S240,其中:
在操作S230,在预设时间点将渲染出的目标对象缓存到redis服务器中。
在操作S240,在预设时间点将渲染出的目标对象缓存到redis服务器中的同时或之后,清空cdn服务器中缓存的内容。
根据本公开的实施例,可以提前把渲染好的页面缓存到redis服务器中,实现对用户的每次请求都从redis服务器里获取。从redis服务器中获取页面的方式可以是根据页面访问请求,通过Lua程序从redis服务器中获取相应的渲染后的页面,其中,Lua程序是用Lua脚本语言写的程序,可以直接从redis服务器中获取页面。通过上述方式,即使在cdn服务器失效的情况下,可以直接通过lua从redis缓存中获取页面内容。从而返回给客户端。
根据本公开的实施例,为了当用户再次访问页面,获取到的是最新内容,可以在页面新内容生效的瞬间,在预设时间点将渲染出的目标对象缓存到redis服务器中的同时或之后,清空cdn服务器中缓存的内容。根据本公开的实施例,可以使访问者能够访问到最新的内容,提高了用户体验。
根据本公开的实施例,在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象包括在至少一个页面渲染任务包括多个的情况下,在预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。
图3B示意性示出了根据本公开实施例的将多个页面渲染任务分配给多个分布式服务器执行的流程图。
如图3B所示,根据本公开的实施例,“页面渲染系统”定时从任务表里分批获取任务,进行页面渲染。假设每天有几十万个页面需要在预设时间点进行页面切换,对应在任务表里每天会新增几十万条任务记录,为了实现同一个时间点多个页面并行渲染,通过“分布式任务调度”系统,把页面渲染任务分配到“页面渲染系统”的多个分布式服务器中,同时对多个页面并行渲染,例如采用java多线程、线程池技术对多个任务并行渲染。
通过本公开的实施例,通过分布式任务调度,实现把任务分配到各个分布式服务器中,在每个分布式服务器中实现页面内容的定时切换,实现海量页面在任意时间点即时切换页面内容,从而提高页面处理效率,准时生效。
根据本公开的实施例,在执行完至少一个页面渲染任务并渲染出对应的目标对象之后,且在预设时间点到达之前,将目标对象放入延时队列中;以及在预设时间点将渲染出的目标对象缓存到预定位置包括:到达预设时间点通过预设算法从延时队列中获取目标对象;以及将从延时队列中获取的目标对象缓存到预定位置。
图3C示意性示出了根据本公开实施例的在预设时间点将渲染出的目标对象缓存到预定位置的流程图。
如图3C所示,在预设时间点将渲染出的目标对象缓存到预定位置包括操作S250和S260。其中:
在操作S250,到达预设时间点通过预设算法从延时队列中获取目标对象。
在操作S260,将从延时队列中获取的目标对象缓存到预定位置。
根据本公开的实施例,延迟队列可以采用java的DelayQueue,将预先渲染好的页面放入延时队列中,在到达预设时间点后通过预设算法从延时队列中获取预先渲染好的页面,从而缓存到预定位置,该预定位置可以是redis服务器。其中,预设算法可以是延时队列中包含的take方法。采用take方法可以从延时队列中获取到预先渲染好的页面。
通过本公开的实施例,由于延迟队列有定时发布的功能,因此,将预先渲染好的页面放入延时队列中,在到达预设时间点后通过预设算法从延时队列中获取预先渲染好的页面,从而缓存到预定位置,可以实现定时发布的效果。
图3D示意性示出了根据本公开另一实施例的页面处理方法的流程图。
如图3D所示,页面处理方法还包括操作S270和S280,其中:
在操作S270,在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象之后,判断至少一个页面渲染任务是否执行成功。
在操作S280,在判断至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行执行失败的页面渲染任务,以渲染出对应的目标对象。
根据本公开的实施例,在每个页面渲染任务渲染结束后,可以判断页面渲染任务是否执行成功,如果执行失败,则可以对执行失败的页面渲染任务做失败标记,例如,在任务表中添加用于表示执行状态的标识,修改任务表中的状态为“失败”。把渲染成功的页面数据、页面的切换时间作为新任务放到的延迟队列中,以便在预设时间点放入预定位置。
通过本公开的实施例,对执行失败的页面渲染任务做失败标记,可以有目的的针对失败的任务重新执行,提高处理效率。
图4示意性示出了根据本公开实施例的页面处理系统的框图。
如图4所示,页面处理系统400包括获取模块410和执行模块420。
获取模块410用于获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容。
执行模块420用于在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象,其中,上述预设时间点为预先设定的使上述目标对象生效的时间节点。
通过本公开的实施例,由于在预设时间点之前执行至少一个页面渲染任务,使得可以预先渲染待切换的页面,该渲染好的页面可以存储到缓存中用于客户端请求访问,而无需在达到预设时间点时从数据库中实时渲染页面,能够避免通过人工手动发布页面或者定时自动发布页面时由于没有任何缓存需要实时渲染页面的问题,同时能够避免在面对高并发访问时系统可能出现的瞬间崩溃风险,达到了在不同时间同一个链接的网页中显示不同的页面内容的效果。
图5A示意性示出了根据本公开另一实施例的页面处理系统的框图。
如图5A所示,根据本公开的实施例,页面处理系统400还包括缓存模块430。缓存模块430用于在上述预设时间点将渲染出的上述目标对象缓存到预定位置。
根据本公开的实施例,将渲染出的目标对象缓存到预定位置,可以使得在预定时间自动发布或以客户端请求返回页面,避免了由于没有任何缓存需要实时渲染页面的问题。
根据本公开的实施例,上述缓存模块430用于在上述预设时间点将渲染出的上述目标对象缓存到redis服务器中。
图5B示意性示出了根据本公开另一实施例的页面处理系统的框图。
如图5B所示,页面处理系统400还包括第一处理模块440,用于在上述预设时间点将渲染出的上述目标对象缓存到上述redis服务器中的同时或之后,清空cdn服务器中缓存的内容。
根据本公开的实施例,为了当用户再次访问页面,获取到的是最新内容,可以在页面新内容生效的瞬间,在预设时间点将渲染出的目标对象缓存到redis服务器中的同时或之后,清空cdn服务器中缓存的内容。根据本公开的实施例,可以使访问者能够访问到最新的内容,提高了用户体验。
根据本公开的实施例,上述执行模块420包括分配单元,用于在上述至少一个页面渲染任务包括多个的情况下,在上述预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。
通过本公开的实施例,通过分布式任务调度,实现把任务分配到各个分布式服务器中,在每个分布式服务器中实现页面内容的定时切换,实现海量页面在任意时间点即时切换页面内容,从而提高页面处理效率,准时生效。
图5C示意性示出了根据本公开另一实施例的页面处理系统的框图。
如图5C所示,根据本公开的实施例,页面处理系统400还包括第二处理模块450,用于在执行完上述至少一个页面渲染任务并渲染出对应的上述目标对象之后,且在上述预设时间点到达之前,将上述目标对象放入延时队列中。
图5D示意性示出了根据本公开另一实施例的缓存模块的框图。
如图5D所示,上述缓存模块430包括获取单元431和缓存单元432。
获取单元431用于在到达上述预设时间点的情况下,通过预设算法从上述延时队列中获取上述目标对象。
缓存单元432用于将从上述延时队列中获取的上述目标对象缓存到上述预定位置。
通过本公开的实施例,由于延迟队列有定时发布的功能,因此,将预先渲染好的页面放入延时队列中,在到达预设时间点后通过预设算法从延时队列中获取预先渲染好的页面,从而缓存到预定位置,可以实现定时发布的效果。
图5E示意性示出了根据本公开另一实施例的页面处理系统的框图。
如图5E所示,根据本公开的实施例,页面处理系统400还包括判断模块460和标记模块470。
判断模块460用于在预设时间点之前执行上述至少一个页面渲染任务,以渲染出对应的目标对象之后,判断上述至少一个页面渲染任务是否执行成功。
标记模块470用于在判断上述至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行上述执行失败的页面渲染任务,以渲染出对应的目标对象。
通过本公开的实施例,对执行失败的页面渲染任务做失败标记,可以有目的的针对失败的任务重新执行,提高处理效率。
可以理解的是,获取模块410、执行模块420、缓存模块430、第一处理模块440、第二处理模块450、判断模块460和标记模块470可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,获取模块410、执行模块420、缓存模块430、第一处理模块440、第二处理模块450、判断模块460和标记模块470中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,获取模块410、执行模块420、缓存模块430、第一处理模块440、第二处理模块450、判断模块460和标记模块470中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图6示意性示出了根据本公开实施例的适于实现页面处理方法的计算机系统的框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行参考图2A,图3A~图3D描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行以上参考图2A,图3A~图3D描述的各种操作。需要注意,所述程序也可以存储在除ROM602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行以上参考图2A,图3A~图3D描述的各种操作。
根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,上文参考流程图描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。计算机可读存储介质承载有一个或者多个程序,当一个或者多个程序被一个该设备执行时,使得该设备执行:获取至少一个页面渲染任务,其中,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象,其中,预设时间点为预先设定的使目标对象生效的时间节点。根据本公开的实施例,页面处理方法还包括在预设时间点将渲染出的目标对象缓存到预定位置。根据本公开的实施例,页面处理方法还包括在预设时间点将渲染出的目标对象缓存到redis服务器中;以及在预设时间点将渲染出的目标对象缓存到redis服务器中的同时或之后,清空cdn服务器中缓存的内容。根据本公开的实施例,在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象包括在至少一个页面渲染任务包括多个的情况下,在预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。根据本公开的实施例,页面处理方法还包括在执行完至少一个页面渲染任务并渲染出对应的目标对象之后,且在预设时间点到达之前,将目标对象放入延时队列中;以及在预设时间点将渲染出的目标对象缓存到预定位置包括:到达预设时间点通过预设算法从延时队列中获取目标对象;以及将从延时队列中获取的目标对象缓存到预定位置。根据本公开的实施例,在预设时间点之前执行至少一个页面渲染任务,以渲染出对应的目标对象之后,页面处理方法还包括判断至少一个页面渲染任务是否执行成功;以及在判断至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行执行失败的页面渲染任务,以渲染出对应的目标对象。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (8)

1.一种页面处理方法,包括:
在切换同一个链接的网页中显示的页面内容之前,获取至少一个页面渲染任务,其中,所述页面渲染任务中包括链接地址,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及
通过分布式任务调度,把至少一个所述页面渲染任务分配到分布式服务器后,在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象,其中,所述预设时间点为预先设定的使所述目标对象生效的时间节点,每个所述分布式服务器用于实现页面内容的定时切换;
在所述预设时间点将渲染出的所述目标对象缓存到预定位置,所述预定位置为单独用于存放渲染出的目标对象的一个或多个服务器;
其中,在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象之后,所述方法还包括:
判断所述至少一个页面渲染任务是否执行成功;以及
在判断所述至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行所述执行失败的页面渲染任务,以渲染出对应的目标对象,其中,为执行失败的页面渲染任务做失败标记包括:在任务表中添加用于表示执行状态的标识,修改所述任务表中的状态为失败;
在执行完所述至少一个页面渲染任务并渲染出对应的所述目标对象之后,且在所述预设时间点到达之前,将所述目标对象放入延时队列中,其中,所述延时队列具有定时发布的功能;以及
在所述预设时间点将渲染出的所述目标对象缓存到预定位置包括:
到达所述预设时间点通过预设算法从所述延时队列中获取所述目标对象;以及
将从所述延时队列中获取的所述目标对象缓存到所述预定位置。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在所述预设时间点将渲染出的所述目标对象缓存到redis服务器中;以及
在所述预设时间点将渲染出的所述目标对象缓存到所述redis服务器中的同时或之后,清空cdn服务器中缓存的内容。
3.根据权利要求1所述的方法,其中,在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象包括:
在所述至少一个页面渲染任务包括多个的情况下,在所述预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。
4.一种页面处理系统,包括:
获取模块,用于在切换同一个链接的网页中显示的页面内容之前,获取至少一个页面渲染任务,其中,所述页面渲染任务中包括链接地址,执行每个页面渲染任务能够渲染出一个目标对象,每个目标对象包括一个完整页面或者一个完整页面的页面内容,一个完整页面包括页面框架和页面内容;以及
执行模块,用于通过分布式任务调度,把至少一个所述页面渲染任务分配到分布式服务器后,在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象,其中,所述预设时间点为预先设定的使所述目标对象生效的时间节点,每个所述分布式服务器用于实现页面内容的定时切换;
缓存模块,用于在所述预设时间点将渲染出的所述目标对象缓存到预定位置,所述预定位置为单独用于存放渲染出的目标对象的一个或多个服务器;
判断模块,用于在预设时间点之前执行所述至少一个页面渲染任务,以渲染出对应的目标对象之后,判断所述至少一个页面渲染任务是否执行成功;以及
标记模块,用于在判断所述至少一个页面渲染任务中存在执行失败的任务情况下,为执行失败的页面渲染任务做失败标记,以使得能够基于所做的失败标记重新执行所述执行失败的页面渲染任务,以渲染出对应的目标对象,其中,为执行失败的页面渲染任务做失败标记包括:在任务表中添加用于表示执行状态的标识,修改所述任务表中的状态为失败;
其中,所述系统还包括:
第二处理模块,用于在执行完所述至少一个页面渲染任务并渲染出对应的所述目标对象之后,且在所述预设时间点到达之前,将所述目标对象放入延时队列中,其中,所述延时队列具有定时发布的功能;以及
所述缓存模块包括:
获取单元,用于在到达所述预设时间点的情况下,通过预设算法从所述延时队列中获取所述目标对象;以及
缓存单元,用于将从所述延时队列中获取的所述目标对象缓存到所述预定位置。
5.根据权利要求4所述的系统,其中,所述缓存模块用于在所述预设时间点将渲染出的所述目标对象缓存到redis服务器中,所述系统还包括:
第一处理模块,用于在所述预设时间点将渲染出的所述目标对象缓存到所述redis服务器中的同时或之后,清空cdn服务器中缓存的内容。
6.根据权利要求4所述的系统,其中,所述执行模块包括:
分配单元,用于在所述至少一个页面渲染任务包括多个的情况下,在所述预设时间点之前将多个页面渲染任务分配给多个分布式服务器执行,以渲染出对应的目标对象。
7.一种计算机系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至3中任一项所述的页面处理方法。
8.一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至3中任一项所述的页面处理方法。
CN201711346166.9A 2017-12-14 2017-12-14 页面处理方法及其系统、计算机系统和可读存储介质 Active CN109961331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711346166.9A CN109961331B (zh) 2017-12-14 2017-12-14 页面处理方法及其系统、计算机系统和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711346166.9A CN109961331B (zh) 2017-12-14 2017-12-14 页面处理方法及其系统、计算机系统和可读存储介质

Publications (2)

Publication Number Publication Date
CN109961331A CN109961331A (zh) 2019-07-02
CN109961331B true CN109961331B (zh) 2022-09-06

Family

ID=67018596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711346166.9A Active CN109961331B (zh) 2017-12-14 2017-12-14 页面处理方法及其系统、计算机系统和可读存储介质

Country Status (1)

Country Link
CN (1) CN109961331B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110715616B (zh) * 2019-10-14 2021-09-07 中国科学院光电技术研究所 一种基于聚焦评价算法的结构光微纳三维形貌测量方法
CN111240793B (zh) * 2020-02-13 2024-01-09 抖音视界有限公司 cell预渲染的方法、装置、电子设备以及计算机可读介质
CN111475381B (zh) * 2020-04-03 2021-08-20 支付宝(杭州)信息技术有限公司 页面渲染检测方法以及装置
CN111857908A (zh) * 2020-06-15 2020-10-30 北京达佳互联信息技术有限公司 挂件展示的控制方法、装置、系统、电子设备、服务器及存储介质
CN113111291B (zh) * 2021-05-12 2023-03-31 杭州网易再顾科技有限公司 一种页面加载方法、装置、介质和计算设备
CN114416247A (zh) * 2021-12-31 2022-04-29 北京五八信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375882A (zh) * 2011-09-19 2012-03-14 奇智软件(北京)有限公司 一种快速访问网页的方法、装置及一种浏览器
CN106155602A (zh) * 2015-03-24 2016-11-23 阿里巴巴集团控股有限公司 一种页面模块的渲染方法、装置以及显示设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108377B2 (en) * 2009-12-15 2012-01-31 Facebook, Inc. Predictive resource identification and phased delivery of structured documents
EP3084640A1 (en) * 2013-12-22 2016-10-26 Interdigital Patent Holdings, Inc. Web application acceleration with personalized cache or prerendering
CN104281677A (zh) * 2014-09-29 2015-01-14 百度在线网络技术(北京)有限公司 页面的展现方法及装置
CN105976420B (zh) * 2015-08-28 2019-02-05 深圳市彬讯科技有限公司 一种在线渲染方法及系统
CN106611032A (zh) * 2015-10-27 2017-05-03 广州市动景计算机科技有限公司 一种网页预加载的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375882A (zh) * 2011-09-19 2012-03-14 奇智软件(北京)有限公司 一种快速访问网页的方法、装置及一种浏览器
CN106155602A (zh) * 2015-03-24 2016-11-23 阿里巴巴集团控股有限公司 一种页面模块的渲染方法、装置以及显示设备

Also Published As

Publication number Publication date
CN109961331A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
CN109961331B (zh) 页面处理方法及其系统、计算机系统和可读存储介质
US11210109B2 (en) Method and system for loading resources
US8245125B1 (en) Hybrid rendering for webpages
JP6404816B2 (ja) ウェブページアクセス要求に対する応答の方法および装置
CN109992406B (zh) 图片请求方法、响应图片请求的方法及客户端
CN109697055B (zh) 生成移动App页面的方法及系统
CN112052133A (zh) 一种基于Kubernetes的业务系统监控方法和装置
CN111079048B (zh) 一种页面加载方法及装置
US8949405B2 (en) Content server latency determination
CN115793926A (zh) 列表的渲染方法、装置、电子设备及存储介质
CN113094612A (zh) 客户端加载网页的方法、装置、电子设备及介质
US11195248B2 (en) Method and apparatus for processing pixel data of a video frame
CN112882895A (zh) 健康检查方法、装置、计算机系统及可读存储介质
CN113536168B (zh) 组件处理方法及设备
CN110874446A (zh) 页面展示方法及其系统、计算机系统及计算机可读介质
CN114647499A (zh) 异步作业任务并发控制方法、装置、电子设备和存储介质
CN112688980B (zh) 资源分发方法、装置、计算机设备
CN113867920A (zh) 任务处理方法、装置、电子设备和介质
CN113781154A (zh) 一种信息回滚方法、系统、电子设备及存储介质
CN109905443B (zh) 数据处理方法、系统、电子设备和计算机可读介质
CN112784187A (zh) 页面展示方法和装置
CN114510309B (zh) 动画效果的设置方法、装置、设备及介质
CN109871303B (zh) 信息处理方法及其系统、计算机系统及可读存储介质
CN109992428B (zh) 数据处理方法及系统
CN117349565A (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