CN108153663B - 页面数据处理方法及装置 - Google Patents
页面数据处理方法及装置 Download PDFInfo
- Publication number
- CN108153663B CN108153663B CN201611109741.9A CN201611109741A CN108153663B CN 108153663 B CN108153663 B CN 108153663B CN 201611109741 A CN201611109741 A CN 201611109741A CN 108153663 B CN108153663 B CN 108153663B
- Authority
- CN
- China
- Prior art keywords
- data
- page
- object information
- item
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
Abstract
本申请实施例公开了页面数据处理方法及装置,其中,所述方法可以包括:客户端在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;根据判断结果,对所述数据条目进行处理。通过本申请实施例,可以尽最大程度保证页面样式正常,实现客户端对后端接口的反向校验。
Description
技术领域
本申请涉及页面数据处理技术领域,特别是涉及页面数据处理方法及装置。
背景技术
通常,前端页面在面对后端接口返回的数据时非常被动,页面显示的内容完全依赖后端接口的稳定性,如果后端接口发生异常也会导致前端页面显示发生异常。而后端接口异常的情况时有发生,例如,在一些场景下,需要为用户实现个性化的页面数据投放,在这种情况下,后端接口的数据通常是由后端服务器在收到用户请求后,再根据用户的个性化信息,从其他相关的服务器或者数据库中提取相关的信息,并组装成页面数据,然后再提供给前端页面。如果在从其他服务器或者数据库获取个性化信息的过程中,恰好该其他服务器或者数据访问发生故障或者错误,则可能会导致获取到的信息有误,甚至可能无法获取到相关字段上的数据,等等。
但是,当页面中某部分是由后端提供接口返回数据渲染而成的时候,数据格式的正确与否直接决定了页面样式的正确与否,对于此前端无能为力,只有在有人反馈问题的时候才能够被发现,而此时有可能某个问题已经出现很久。
因此,如何提高前端页面样式的稳定性,成为需要本领域技术人员解决的技术问题。
发明内容
本申请提供了页面数据处理方法及装置,可以尽最大程度保证页面样式正常,实现客户端对后端接口的反向校验。
本申请提供了如下方案:
一种页面数据处理方法,包括:
客户端在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
根据判断结果,对所述数据条目进行处理。
一种页面数据处理方法,包括:
第一服务器接收客户端的访问目标页面的请求;
通过预置的接口为所述客户端提供页面数据,所述页面数据中包括数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式,以便所述客户端在接收到所述页面数据后,以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,并根据判断结果,对所述数据条目进行处理。
一种页面数据处理方法,包括:
内容分发网络服务器接收第一服务器提供的页面备份数据;
从所述页面备份数据中提供数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
如果每数据条目均符合所述数据规范,则对所述页面备份数据进行保存,以便在客户端访问目标页面的过程中,如果后端接口调用发生异常,则将所述页面备份数据提供给所述客户端。
一种页面数据处理装置,应用于客户端,包括:
数据规范信息提取单元,用于在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
判断单元,用于以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
处理单元,用于根据判断结果,对所述数据条目进行处理。
一种页面数据处理装置,应用于第一服务器,包括:
请求接收单元,用于接收客户端的访问目标页面的请求;
页面数据提供单元,用于通过预置的接口为所述客户端提供页面数据,所述页面数据中包括数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式,以便所述客户端在接收到所述页面数据后,以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,并根据判断结果,对所述数据条目进行处理。
一种页面数据处理装置,应用于内容分发网络服务器,包括:
页面备份数据接收单元,用于接收第一服务器提供的页面备份数据;
数据规范信息提取单元,用于从所述页面备份数据中提供数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
判断单元,用于以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
保存单元,用于如果每数据条目均符合所述数据规范,则对所述页面备份数据进行保存,以便在客户端访问目标页面的过程中,如果后端接口调用发生异常,则将所述页面备份数据提供给所述客户端。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,可以在页面数据中提供数据规范信息,这种数据规范信息可以用于定义所述页面的渲染数据列表中各数据条目的标准数据格式。这样,在客户端获取到具体的页面数据后,就可以以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,然后,根据判断结果,对所述数据条目进行处理。这样,可以使得客户端在后端接口发生错误的时候灵活处理,尽最大程度保证页面样式正常。并且,通过客户端对后端结构的反校验,还可以帮助后端尽快的发现接口调用时存在的错误,而且由于进行的是数据条目(item)级的校验,因此,可以更快速的进行错误定位,便于后端更及时的实现对页面的优化。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-1以及图1-2是后端接口提供的信息示意图;
图2是本申请实施例提供的系统架构的示意图;
图3是本申请实施例提供的第一方法的流程图;
图4是本申请实施例提供的第二方法的流程图;
图5是本申请实施例提供的第三方法的流程图;
图6是本申请实施例提供的第一装置的示意图;
图7是本申请实施例提供的第二装置的示意图;
图8是本申请实施例提供的第三装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,为了提高前端页面样式的稳定性,可以在客户端接收到具体的页面数据后,由客户端对页面数据执行校验,并且,该校验操作可以以渲染数据列表中的数据条目为单位来进行,这样,可以便于更好的进行错误定位。也就是说,本申请实施例中,实现了一种“反校验”,也即由客户端对服务器发布的页面数据进行校验,使得客户端不再是纯粹的被动接收,还可以主动做一些校验甚至数据过滤等操作,或者,还可以对发现的错误进行埋点标记,并提供给服务器,使得服务器更方便及时的发现错误,等等。
为了达到上述目的,可在客户端程序中添加相关的代码来进行判断和过滤等操作。但这种方式效率不高,因此,在本申请实施例中,通过一定的规范去描述一份数据结构,然后,通过该数据结构,对页面渲染列表中各数据条目进行校验。例如,具体就可以通过JSON Schema来实现。其中,JSON Schema是一种基于JSON格式定义JSON数据结构的规范。例如,假设页面的渲染列表中包含的各条数据为页面中的数据对象信息条目,则由于该数据对象信息条目通常由多个字段的信息组成,包括标题、价格、图片链接、跳转链接,等等。
例如,参见图1-1所示,右上角101处所示为后端约定的数据格式(当然,实际展示时,这种数据格式信息并不会真正在页面中展示),通过[{},{}]这样的结构就可以渲染出图1所示的商品列表页面。但在真实的环境下,后端在返回每一条数据对象信息条目的时候都有可能出现意想不到的错误。例如,如图1-2所示,可能会出现标题丢失、ID为空、图片链接错误等多种情况。
因此,在通过JSON Schema对这种数据对象信息条目进行描述时,就可以包括以下规范:
1、每个商品信息本身应该是一个object(对象);
2、这个object必须包含price,img,title,id这几个属性;
3、每种属性对应的数据类型。
具体的JSON Schema规范可以通过手动编写的方式生成,或者,还可以通过构造一些测试数据等方式,来使用一些现成的工具,来生成JSON Schema规范,等等。当然,如果具体的数据条目为其他数据,则上述JSON Schema规范还可以通过其他方式进行定义。总之,通过这种数据规范,客户端就可以实现对各条数据条目的正确性进行校验。具体实现时,可以有页面开发人员在页面开发阶段实现这种数据规范,并可以通过文件等形式进行保存,每个页面可以对应一份数据规范信息。在发布页面时,将该数据规范也携带在页面数据中,这样,客户端在访问页面的过程中,在从服务器获得具体页面数据时,还可以获得具体的数据规范文件,进而,就可以使用这种数据规范,对页面中的各数据条目进行正确性校验操作。
在具体实现时,从系统架构角度而言,参见图2,可以包括客户端和服务器两部分,其中,客户端可以是指通过PC或者移动终端设备的浏览器程序访问页面时,在页面中运行的脚本程序,或者,还可以是指通过移动终端设备中安装的“天猫”等应用程序App访问页面时,这种移动终端设备中的应用程序,等等。客户端主要用于接收用户的访问,并从服务器获得相关的页面数据,在本申请是实施例中,还可以用于对页面数据进行校验。而服务器则主要用于生成并维护具体的页面数据,在接收到客户端的访问请求时,将相关的页面数据提供给客户度。
下面分别从客户端以及服务器的角度,对本申请实施例的具体实现方式进行详细介绍。
实施例一
在该实施例一中,首先从客户端的角度,提供了一种页面数据处理方法,也就是说,可以在客户端中提供一种组件,参见图3,通过该组件,客户端具体可以执行以下步骤:
S301:客户端在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
客户端可以在接收到用户对目标页面的访问请求时,向服务器请求相关的页面数据。例如,用户打开“天猫”客户端时,可以将客户端首页确定为所述目标页面,等等。在本申请实施例中,由于页面发布时,已经在页面数据中携带了数据规范,因此,客户端在收到页面数据后,可以首先页面数据中提取数据规范信息。如前文所述,这种数据规范信息具体用于定义页面的渲染数据列表中各数据条目的标准数据格式,其中,所谓的渲染数据列表,也就是具体需要在前端页面中进行展示的信息数据来源。
S302:以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
在获取到数据规范信息后,就可以以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范。也就是说,可以遍历渲染列表中的各数据条目,每个数据条目都与具体的数据规范进行比对,判断是否符合数据规范中的定义。
具体实现时,渲染列表中的各数据条目具体可以是数据对象信息条目,其中可能包括多个字段,因此具体在判断各数据条目是否符合所述数据规范时,可以是指判断各数据对象信息条目的各个字段是否符合所述数据规范。具体可以包括判断各数据对象信息条目包含的字段数量以及各字段对应的属性是否与所述数据规范中定义的字段信息一致(不能有多余的字段,也不能出现字段缺失),各字段上的属性值是否存在,以及,各字段上属性值的数据格式是否与所述数据规范中定义的数据格式一致,等等。
S303:根据判断结果,对所述数据条目进行处理。
在对各条数据条目按照规范进行判断之后,就可以进行相应的处理。其中,针对不同的判断结果,具体的处理方式可以有所不同。例如,对于数据条目属于数据对象信息条目的情况,如果目标数据对象信息条目中的目标字段不符合所述数据规范,则可以首先判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
其中,关于关键字段的定义,也可以是在数据规范信息中进行定义,具体的,可以默认将JSON schema中的required字段默认为关键字段,等等。例如,关于数据对象信息条目,关键字段可以定义为图片链接、跳转链接等,因为这些字段上的信息在进行页面展示时非常关键,如果没有图片链接或者图片链接有误,则会导致前端展示时,无法获取到准确的数据对象代表图片,而在用于展示数据对象信息的资源位中,最主要展示给用户的内容通常就是这种代表图片,其占据资源位中绝大部分的面积,因此,在这种代表图片无法正常展示的情况下,会严重影响页面的展示效果。另外,跳转链接也可以作为关键信息存在,因为如果跳转链接不存在或者地址有误等,则可能会无法响应用户的操作,或者跳转到错误的页面中,等等。而且他字段上的信息,包括标题、价格等,由于通常是通过文字的形式进行展示,并且用户通过代表图片通常可以大致识别出具体的数据对象名称等信息,代表图片中也可能会合成一些关于价格的信息等等,因此,在这些字段上的信息对于页面展示的影响不会很大,可以作为非关键字段。或者,对于“爆款直降”,“76片/箱”等信息,这两个字段如果丢失,则不会严重到要把这个商品过滤掉的地步。
可见,对于具体的数据对象而言,如果其存在多个字段上的信息,则可能其中一部分是关键字段,另一部分是非关键字段,因此,可以预先对关键字段进行标记或者记录。这样,当发现某数据对象信息条目中的目标字段不符合所述数据规范时,则可以首先判断所述目标字段是否属于预置的关键字段,如果属于该关键字段,例如,是图片链接字段确实,等等,则可以将该数据对象信息条目从所述页面数据中过滤掉。也就是说,具体在展示该目标页面时,就不再展示该数据对象信息条目,以免影响整个页面的展示效果。
当然,如果存在错误的目标字段不属于预置的关键字段,则在本申请实施例中可以对所述目标数据对象信息条目的出错信息进行记录,并继续对其他数据对象信息条目进行判断。也就是说,如果发现存在错误的目标字段不属于关键字段时,对应的数据对象信息条目并不会被过滤掉,因为其确实或者存在错误的字段并不会对页面展示造成太大的影响。但是,会对这种出错信息进行埋点记录。
需要说明的是,在本申请实施例中,可以并不是每判断完一条数据条目之后,就对该数据条目进行展示(在数据条目不存在错误,或者错误的目标字段不是关键字段的情况下),而是可以等到全部的数据条目被遍历完成之后,再统一根据最终的判断结果进行相应的处理。具体而言,可以是在完成对全部数据对象信息条目的判断后,根据被过滤掉的数据对象信息条目的数量,确定所述目标页面进行展示。这是因为,如果一个页面中被过滤掉的数据条目比较多,甚至是全部都被过滤掉,则证明页面中有多个数据条目中都缺少关键字段上的信息,过着关键字段上的信息有误,在这种情况下,证明后端提供的页面数据质量很差,可能是由于后端服务器接口存在异常导致的。也就是说,被过滤掉的数据条目的数量可以从一定程度上反映出后端服务器的接口是否存在异常。
具体实现时,可以预先设置一阈值,如果被过滤掉的数据对象信息条目的数量未达到预置阈值,则可以利用剩余的各数据对象信息条目,对所述目标页面进行渲染展示。
而如果被过滤掉的数据对象信息条目的数量达到预置阈值,则不再利用当前收到的页面数据对当前目标页面进行渲染展示,并且,在本申请实施例中,客户端还可以向服务器请求获得所述目标页面的备份页面数据,以便利用所述备份页面数据对所述目标页面进行渲染展示。
也就是说,在本申请实施例中,服务器侧还可以为每个页面提供一份备份页面数据(也称“打底数据”),并且,可以是在后端服务器接口正常的时候定时的存储一份数据备份到CDN(内容分发网络)上,这样,可以在接口异常的时候去获取的数据。其中,这种备份数据可以不再进行个性化处理,在其中某个客户端收到的个性化页面数据存在比较严重的错误时,可以通过该备份数据,为用户提供最基本的能够浏览的页面。其中,关于CDN服务器,是为了实现访问加速,在各省市或者海外等地区部署的服务器,客户端的页面访问请求可以达到距离其最近的CDN服务器上,因此,可以由这种CDN服务器向客户端提供这种备份数据,以便更及时的做出响应。需要说明的是,在向CDN保存页面备份数据时,还可以在CDN服务器中也部署本申请实施例所述的客户端组件,对页面备份数据中的各数据条目的正确性进行校验,只有在每条数据条目都正确的情况下,才会作为备份页面数据进行保存。另外,这种备份页面数据也可以是不断被更新的,也就是说,每隔一段时间就可以提供一份新的备份页面数据,并更新到CDN服务器中。当然,在实际应用中,如果不存在CDN服务器也是可以做到的,这里并不能看作是对被申请保护范围的限制。
另外,在具体实现时,由于在对各数据条目进行校验的过程中,对存在错误的数据条目及其具体的出错信息进行了记录,因此,在完成对各条数据条目的遍历之后,还可以将记录的数据条目出错信息提供给服务器,这样,服务器就可以根据客户端上报的信息,获知页面中的具体出错情况。服务器在收到客户端的报错信息后,也可以进行记录,并且还可以按照一定的周期进行统计。具体在进行统计时,可以是统计出某页面的某接口在哪些参数上发生了错误,具体发生的错误类型、次数,等等,以便后端开发人员对页面进行优化处理。例如:
也就是,在xx天的时候,统计出tmall-chaoshi-liangfan页面api/xxx这个接口在如上请求参数的时候发生了如下信息错误:
有100次调用的时候由于字段丢失导致数据完全不可用;
有74次(174-100)接口请求的过程中有部分数据丢失了title字段;
有100次调用中price(价格)的类型错误(默认是string)。
总之,通过本申请实施例,可以在页面数据中提供数据规范信息,这种数据规范信息可以用于定义所述页面的渲染数据列表中各数据条目的标准数据格式。这样,在客户端获取到具体的页面数据后,就可以以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,然后,根据判断结果,对所述数据条目进行处理。这样,可以使得客户端在后端接口发生错误的时候灵活处理,尽最大程度保证页面样式正常。并且,通过客户端对后端结构的反校验,还可以帮助后端尽快的发现接口调用时存在的错误,而且由于进行的是数据条目(item)级的校验,因此,可以更快速的进行错误定位,便于后端更及时的实现对页面的优化。
实施例二
该实施例二是与实施例一相对应的,从第一服务器(为了与CDN服务器向区分)的角度,提供了一种页面数据处理方法,参见图4,该方法可以包括以下步骤:
S401:第一服务器接收客户端的访问目标页面的请求;
S402:通过预置的接口为所述客户端提供页面数据,所述页面数据中包括数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式,以便所述客户端在接收到所述页面数据后,以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,并根据判断结果,对所述数据条目进行处理。
具体实现时,还可以接收客户端提交的页面错误信息,根据页面错误信息对同一页面内对应接口的调用过程中,页面数据的出错情况进行统计。
另外,还可以针对各页面提供备份页面数据,并保存到内容分发网络CDN,以便在接口调用过程中发生异常时,所述客户端从所述CDN中获取到目标页面的备份页面数据,
实施例三
该实施例三也是与前述实施例相对应的,从CDN服务器的角度,提供了一种页面数据处理方法,参见图5,该方法可以包括以下步骤:
S501:内容分发网络服务器接收第一服务器提供的页面备份数据;
S502:从所述页面备份数据中提供数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
S503:以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
S504:如果每数据条目均符合所述数据规范,则对所述页面备份数据进行保存,以便在客户端访问目标页面的过程中,如果后端接口调用发生异常,则将所述页面备份数据提供给所述客户端。
关于上述实施例二以及实施例三中的具体实现,可以参见前述实施例一中的记载,这里不再赘述。
与实施例一相对应,本申请实施例还提供了一种页面数据处理装置,参见图6,该装置应用于客户端,包括:
数据规范信息提取单元601,用于在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
判断单元602,用于以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
处理单元603,用于根据判断结果,对所述数据条目进行处理。
其中,所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述判断单元602具体可以用于:
判断各数据对象信息条目的各个字段是否符合所述数据规范。
具体实现时,所述处理单元603具体可以用于
判断各数据对象信息条目包含的字段数量以及各字段对应的属性是否与所述数据规范中定义的字段信息一致,各字段上的属性值是否存在,以及,各字段上属性值的数据格式是否与所述数据规范中定义的数据格式一致。
具体的,所述处理单元具体可以用于:
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
或者,所述处理单元具体可以用于:
如果所述目标字段不属于预置的关键字段,则对所述目标数据对象信息条目的出错信息进行记录,并继续对其他数据对象信息条目进行判断。
另外,该装置还可以包括:
页面展示单元,用于在完成对全部数据对象信息条目的判断后,根据被过滤掉的数据对象信息条目的数量,对所述目标页面进行展示。
具体的,页面展示单元具体可以用于:
如果被过滤掉的数据对象信息条目的数量未达到预置阈值,则利用剩余的各数据对象信息条目,对所述目标页面进行渲染展示。
另外,所述页面展示单元具体还可以用于:
如果被过滤掉的数据对象信息条目的数量达到预置阈值,则向服务器请求获得所述目标页面的备份页面数据,以便利用所述备份页面数据对所述目标页面进行渲染展示。
另外,该装置还可以包括:
错误上报单元,用于将记录的数据对象信息条目出错信息提供给服务器。
与实施例二相对应,本申请实施例还提供了一种页面数据处理装置,参见图7,该装置应用于第一服务器,包括:
请求接收单元701,用于接收客户端的访问目标页面的请求;
页面数据提供单元702,用于通过预置的接口为所述客户端提供页面数据,所述页面数据中包括数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式,以便所述客户端在接收到所述页面数据后,以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,并根据判断结果,对所述数据条目进行处理。
具体实现时,该装置还可以包括:
错误信息接收单元,用于接收客户端提交的页面错误信息;
错误信息统计单元,用于根据页面错误信息对同一页面内对应接口的调用过程中,页面数据的出错情况进行统计。
另外,该装置还可以包括:
备份页面数据提供单元,用于针对各页面提供备份页面数据,并保存到内容分发网络CDN,以便在接口调用过程中发生异常时,所述客户端从所述CDN中获取到目标页面的备份页面数据。
与实施例三相对应,本申请实施例还提供了一种页面数据处理装置,参见图8,该装置应用于内容分发网络服务器,包括:
页面备份数据接收单元801,用于接收第一服务器提供的页面备份数据;
数据规范信息提取单元802,用于从所述页面备份数据中提供数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
判断单元803,用于以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
保存单元804,用于如果每数据条目均符合所述数据规范,则对所述页面备份数据进行保存,以便在客户端访问目标页面的过程中,如果后端接口调用发生异常,则将所述页面备份数据提供给所述客户端。
通过本申请实施例,可以在页面数据中提供数据规范信息,这种数据规范信息可以用于定义所述页面的渲染数据列表中各数据条目的标准数据格式。这样,在客户端获取到具体的页面数据后,就可以以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,然后,根据判断结果,对所述数据条目进行处理。这样,可以使得客户端在后端接口发生错误的时候灵活处理,尽最大程度保证页面样式正常。并且,通过客户端对后端结构的反校验,还可以帮助后端尽快的发现接口调用时存在的错误,而且由于进行的是数据条目(item)级的校验,因此,可以更快速的进行错误定位,便于后端更及时的实现对页面的优化。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的页面数据处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种页面数据处理方法,其特征在于,包括:
客户端在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
根据判断结果,对所述数据条目进行处理;
所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述分别判断各数据条目是否符合所述数据规范,包括判断各数据对象信息条目的各个字段是否符合所述数据规范;
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
2.根据权利要求1所述的方法,其特征在于,所述判断各数据对象信息条目的各个字段是否符合所述数据规范,包括:
判断各数据对象信息条目包含的字段数量以及各字段对应的属性是否与所述数据规范中定义的字段信息一致,各字段上的属性值是否存在,以及,各字段上属性值的数据格式是否与所述数据规范中定义的数据格式一致。
3.根据权利要求1所述的方法,其特征在于,还包括:
如果所述目标字段不属于预置的关键字段,则对所述目标数据对象信息条目的出错信息进行记录,并继续对其他数据对象信息条目进行判断。
4.根据权利要求3所述的方法,其特征在于,还包括:
在完成对全部数据对象信息条目的判断后,根据被过滤掉的数据对象信息条目的数量,对所述目标页面进行展示。
5.根据权利要求4所述的方法,其特征在于,所述根据被过滤掉的数据对象信息条目的数量,确定所述目标页面进行展示,包括:
如果被过滤掉的数据对象信息条目的数量未达到预置阈值,则利用剩余的各数据对象信息条目,对所述目标页面进行渲染展示。
6.根据权利要求4所述的方法,其特征在于,所述根据被过滤掉的数据对象信息条目的数量,确定所述目标页面进行展示,包括:
如果被过滤掉的数据对象信息条目的数量达到预置阈值,则向服务器请求获得所述目标页面的备份页面数据,以便利用所述备份页面数据对所述目标页面进行渲染展示。
7.根据权利要求3所述的方法,其特征在于,还包括:
将记录的数据对象信息条目出错信息提供给服务器。
8.一种页面数据处理方法,其特征在于,包括:
第一服务器接收客户端的访问目标页面的请求;
通过预置的接口为所述客户端提供页面数据,所述页面数据中包括数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式,以便所述客户端在接收到所述页面数据后,以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,并根据判断结果,对所述数据条目进行处理;
所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述分别判断各数据条目是否符合所述数据规范,包括判断各数据对象信息条目的各个字段是否符合所述数据规范;
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收客户端提交的页面错误信息;
根据页面错误信息对同一页面内对应接口的调用过程中,页面数据的出错情况进行统计。
10.根据权利要求8所述的方法,其特征在于,还包括:
针对各页面提供备份页面数据,并保存到内容分发网络CDN,以便在接口调用过程中发生异常时,所述客户端从所述CDN中获取到目标页面的备份页面数据。
11.一种页面数据处理方法,其特征在于,包括:
内容分发网络服务器接收第一服务器提供的页面备份数据;
从所述页面备份数据中提供数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
如果每数据条目均符合所述数据规范,则对所述页面备份数据进行保存,以便在客户端访问目标页面的过程中,如果后端接口调用发生异常,则将所述页面备份数据提供给所述客户端;
所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述分别判断各数据条目是否符合所述数据规范,包括判断各数据对象信息条目的各个字段是否符合所述数据规范;
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
12.一种页面数据处理装置,其特征在于,应用于客户端,包括:
数据规范信息提取单元,用于在接收到目标页面的页面数据后,从所述页面数据中提取数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
判断单元,用于以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
处理单元,用于根据判断结果,对所述数据条目进行处理;
所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述分别判断各数据条目是否符合所述数据规范,包括判断各数据对象信息条目的各个字段是否符合所述数据规范;
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
13.一种页面数据处理装置,其特征在于,应用于第一服务器,包括:
请求接收单元,用于接收客户端的访问目标页面的请求;
页面数据提供单元,用于通过预置的接口为所述客户端提供页面数据,所述页面数据中包括数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式,以便所述客户端在接收到所述页面数据后,以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范,并根据判断结果,对所述数据条目进行处理;
所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述分别判断各数据条目是否符合所述数据规范,包括判断各数据对象信息条目的各个字段是否符合所述数据规范;
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
14.一种页面数据处理装置,其特征在于,应用于内容分发网络服务器,包括:
页面备份数据接收单元,用于接收第一服务器提供的页面备份数据;
数据规范信息提取单元,用于从所述页面备份数据中提供数据规范信息,所述数据规范信息用于定义所述页面的渲染数据列表中各数据条目的标准数据格式;
判断单元,用于以渲染数据列表中的数据条目为单位,分别判断各数据条目是否符合所述数据规范;
保存单元,用于如果每数据条目均符合所述数据规范,则对所述页面备份数据进行保存,以便在客户端访问目标页面的过程中,如果后端接口调用发生异常,则将所述页面备份数据提供给所述客户端;
所述数据条目包括数据对象信息条目,其中,每个数据对象信息条目包括多个字段,所述分别判断各数据条目是否符合所述数据规范,包括判断各数据对象信息条目的各个字段是否符合所述数据规范;
如果目标数据对象信息条目中的目标字段不符合所述数据规范,则判断所述目标字段是否属于预置的关键字段,如果是,则将该数据对象信息条目从所述页面数据中过滤掉。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611109741.9A CN108153663B (zh) | 2016-12-02 | 2016-12-02 | 页面数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611109741.9A CN108153663B (zh) | 2016-12-02 | 2016-12-02 | 页面数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153663A CN108153663A (zh) | 2018-06-12 |
CN108153663B true CN108153663B (zh) | 2022-02-18 |
Family
ID=62467892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611109741.9A Active CN108153663B (zh) | 2016-12-02 | 2016-12-02 | 页面数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153663B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096659B (zh) * | 2019-03-27 | 2021-08-20 | 北京三快在线科技有限公司 | 一种页面显示方法、装置、设备及可读存储介质 |
CN111078512B (zh) * | 2019-11-05 | 2023-09-12 | 远景智能国际私人投资有限公司 | 告警记录生成方法、装置、告警设备及存储介质 |
CN111782464B (zh) * | 2020-06-22 | 2024-04-26 | 北京异乡旅行网络科技有限公司 | 一种网页动态异常监控方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375859A (zh) * | 2010-08-25 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种信息处理的方法及设备 |
CN102662957A (zh) * | 2012-03-02 | 2012-09-12 | 百度在线网络技术(北京)有限公司 | 用于优化浏览器的搜索结果页面的装置及方法 |
CN102938776A (zh) * | 2012-09-28 | 2013-02-20 | 方正国际软件有限公司 | 基于ajax技术的动态页面处理系统 |
CN103259684A (zh) * | 2013-05-23 | 2013-08-21 | 世纪龙信息网络有限责任公司 | 互联网业务监控方法和系统 |
CN103488480A (zh) * | 2013-09-09 | 2014-01-01 | 百度在线网络技术(北京)有限公司 | 一种页面显示方法及系统 |
CN105049486A (zh) * | 2015-06-16 | 2015-11-11 | 腾讯科技(北京)有限公司 | 静态文件的版本管理、文件拉取控制方法、装置及系统 |
CN105446996A (zh) * | 2014-07-16 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 页面展示方法和页面展示系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7207003B1 (en) * | 2000-08-31 | 2007-04-17 | International Business Machines Corporation | Method and apparatus in a data processing system for word based render browser for skimming or speed reading web pages |
US8745486B2 (en) * | 2007-01-25 | 2014-06-03 | Microsoft Corporation | Streamable interactive rendering-independent page layout |
US9912740B2 (en) * | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
CN102663126B (zh) * | 2012-04-23 | 2014-11-12 | 北京奇虎科技有限公司 | 一种在移动终端中显示网页的方法及装置 |
CN104111944B (zh) * | 2013-04-19 | 2018-09-18 | 阿里巴巴集团控股有限公司 | 页面处理方法和装置以及页面生成方法和装置 |
CN104216695B (zh) * | 2013-06-03 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 提供页面待展现信息及展现页面信息的方法及系统 |
CN103761330A (zh) * | 2014-02-10 | 2014-04-30 | 赛特斯信息科技股份有限公司 | 基于模版配置实现互联网信息自动提取的系统及方法 |
CN104239407B (zh) * | 2014-07-31 | 2018-06-08 | 小米科技有限责任公司 | 一种显示网页的方法和装置 |
CN105389308B (zh) * | 2014-08-18 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 网页的显示处理方法及装置 |
CN105912328B (zh) * | 2016-04-06 | 2018-11-06 | 北京三快在线科技有限公司 | web系统页面的显示方法、装置及web系统 |
-
2016
- 2016-12-02 CN CN201611109741.9A patent/CN108153663B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375859A (zh) * | 2010-08-25 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种信息处理的方法及设备 |
CN102662957A (zh) * | 2012-03-02 | 2012-09-12 | 百度在线网络技术(北京)有限公司 | 用于优化浏览器的搜索结果页面的装置及方法 |
CN102938776A (zh) * | 2012-09-28 | 2013-02-20 | 方正国际软件有限公司 | 基于ajax技术的动态页面处理系统 |
CN103259684A (zh) * | 2013-05-23 | 2013-08-21 | 世纪龙信息网络有限责任公司 | 互联网业务监控方法和系统 |
CN103488480A (zh) * | 2013-09-09 | 2014-01-01 | 百度在线网络技术(北京)有限公司 | 一种页面显示方法及系统 |
CN105446996A (zh) * | 2014-07-16 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 页面展示方法和页面展示系统 |
CN105049486A (zh) * | 2015-06-16 | 2015-11-11 | 腾讯科技(北京)有限公司 | 静态文件的版本管理、文件拉取控制方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108153663A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3273362A1 (en) | Webpage access method, apparatus, device and non-volatile computer storage medium | |
CN107633016B (zh) | 数据处理方法及装置和电子设备 | |
CN108427731B (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
CN111177005A (zh) | 业务应用的测试方法、装置、服务器和存储介质 | |
CN107943694B (zh) | 一种测试数据生成方法及装置 | |
CN109344370A (zh) | 敏感内容脱敏、还原方法、装置及设备 | |
CN108153663B (zh) | 页面数据处理方法及装置 | |
CN106874335B (zh) | 行为数据处理方法、装置及服务器 | |
CN111130845B (zh) | 基于视觉信息的网站页面IPv6支持度测试方法及装置 | |
CN112181804A (zh) | 一种参数校验方法、设备以及存储介质 | |
CN112954043B (zh) | 基于网站访问日志识别用户的方法及计算机设备 | |
CN105678127A (zh) | 一种身份信息的验证方法和装置 | |
CN112131507A (zh) | 网站内容处理方法、装置、服务器和计算机可读存储介质 | |
CN113469866A (zh) | 数据处理方法、装置和服务器 | |
US9665574B1 (en) | Automatically scraping and adding contact information | |
CN106547658B (zh) | 一种自动化测试方法及装置 | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN108804889B (zh) | 一种网站注册方法及装置 | |
KR101116565B1 (ko) | 광고 차단 기능에 대한 필터링 방법 및 시스템 | |
US11729246B2 (en) | Apparatus and method for determining types of uniform resource locator | |
CN114116646A (zh) | 日志数据处理方法、装置、设备和存储介质 | |
CN105589870B (zh) | 网页广告的过滤方法和系统 | |
CN110807037B (zh) | 一种数据修改方法、装置、电子设备及存储介质 | |
CN112417324A (zh) | 基于Chrome的URL拦截方法、装置及计算机设备 | |
CN111352917A (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 |