CN110647706A - 网页访问请求的处理方法、装置以及设备、存储介质 - Google Patents
网页访问请求的处理方法、装置以及设备、存储介质 Download PDFInfo
- Publication number
- CN110647706A CN110647706A CN201910808258.7A CN201910808258A CN110647706A CN 110647706 A CN110647706 A CN 110647706A CN 201910808258 A CN201910808258 A CN 201910808258A CN 110647706 A CN110647706 A CN 110647706A
- Authority
- CN
- China
- Prior art keywords
- dimension
- data
- classification
- entity
- cache
- 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种网页访问请求的处理方法、装置以及电子设备、存储介质,涉及计算机技术领域,其中的方法包括:判断缓存模块中是否缓存有与第一分类维度以及第一实体相对应的第一维度数据;如果是,则获得第一维度数据,作为响应数据;如果否,则从后台数据库中获得与第一分类维度以及第一实体相对应的第一响应维度数据,作为响应数据,并且将第一响应维度数据缓存在缓存模块中;基于获得的响应数据生成网页并进行显示并对在缓存模块中缓存的维度数据进行同步处理;本公开的方法、装置以及电子设备、存储介质,能够缩短获得维度数据的时间,可以实时更新和定时全量刷新,保证缓存与后端数据的一致性,提高了网站响应速度提升用户使用感受度。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种网页访问请求的处理方法、装置以及电子设备、存储介质。
背景技术
在用户访问网页的过程中,服务器端接收到一个网页访问请求后,确定与网页访问请求相对应的公司等的数据维度,使用与数据维度相对应的调用接口向后台数据库查询相关的数据,生成与公司的相关的详情网页。随着数据维度的不断增加,与数据维度相对应的调用接口数量也不断增加,当有大量用户发出网页访问请求时,给后端服务造成很大压力,严重降低了网站响应速度。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种网页访问请求的处理方法、装置以及电子设备、存储介质。
根据本公开实施例的一个方面,提供一种网页访问请求的处理方法,包括:接收到网页访问请求,获得与所述网页访问请求相对应的第一分类维度以及第一实体;判断缓存模块中是否缓存有与所述第一分类维度以及第一实体相对应的第一维度数据;如果是,则获得所述第一维度数据,作为响应数据;如果否,则使用与所述第一分类维度相对应的调用接口,从后台数据库中获得与所述第一分类维度以及第一实体相对应的第一响应维度数据,作为响应数据,并且将所述第一响应维度数据缓存在所述缓存模块中;基于获得的所述响应数据生成网页并进行显示;根据预设的缓存同步策略对在所述缓存模块中缓存的维度数据进行同步处理。
可选地,获得配置文件,从所述配置文件中获得缓存地址与分类维度以及实体之间的第一映射关系;判断基于所述第一映射关系能否根据所述第一分类维度以及第一实体查找到所述第一维度数据;如果是,则获得所述第一维度数据;如果否,则从所述配置文件中获得分类维度与调用接口之间的第二映射关系,基于所述第二映射关系获得与所述第一分类维度相对应的调用接口。
可选地,所述根据预设的缓存同步策略对在所述缓存模块中缓存的维度数据进行同步处理包括:确定需要进行同步更新的第二分类维度以及第二实体,基于所述第二分类维度以及第二实体生成第一缓存同步消息;将所述第一缓存同步消息发送到消息队列中;监听所述消息队列,从所述消息队列中获得所述第一缓存同步消息,基于所述第一缓存同步消息对所述缓存模块中缓存的维度数据进行同步处理。
可选地,所述确定需要进行同步更新的第二分类维度以及第二实体,基于所述第二分类维度以及第二实体生成第一缓存同步消息包括:根据所述第一映射关系获得与实体群相对应的一个或多个第二分类维度,基于所述与实体群以及所述与实体群相对应的一个或多个分类维度生成所述第一缓存同步消息;或者,根据所述第一映射关系确定与单个第二分类维度对应的一个或多个实体,基于所述单个第二分类维度以及所述与单个分类维度对应的一个或多个实体生成所述第一缓存同步消息。
可选地,基于设定的缓存同步时间间隔,周期性地确定需要进行同步更新的第二分类维度以及实体;或者,根据接收到的用户发送的缓存同步请求,确定需要进行同步更新的第二分类维度以及实体。
可选地,所述确定需要进行同步更新的第二分类维度以及第二实体包括:获得多个后台数据库的日志文件,从所述日志文件中获得与增加、删除或修改操作相对应的SQL语句;基于与所述SQL语句相对应的分类维度以及实体生成数据更新消息并发送到延迟消息队列中;按照设置的时间窗口或批次从所述延迟消息队列中获得所述数据更新消息,基于所述数据更新消息中的分类维度以及实体确定所述第二分类维度以及第二实体。
可选地,所述基于所述第一缓存同步消息对所述缓存模块中缓存的维度数据进行同步处理包括:基于所述第二映射关系获得与所述第二分类维度相对应的调用接口;使用与所述第二分类维度相对应的调用接口,从后台数据库中获得与所述第二分类维度以及第二实体相对应的第二响应维度数据;如果确定与所述第二分类维度相对应的调用接口的响应状态码小于预设的阈值,并且所述第二响应维度数据的状态不为错误状态,则基于所述第一映射关系查找到与所述第二分类维度以及第二实体相对应的缓存地址,使用所述第二响应维度数据对缓存在此缓存地址下的维度数据进行更新处理。
可选地,所述使用所述第二响应维度数据对缓存在此缓存地址下的维度数据进行更新处理包括:判断所述第二响应维度数据的数量是否大于0,如果是,则用所述第二响应维度数据替换缓存在此缓存地址下的维度数据,如果否,则删除缓存在此缓存地址下的维度数据。
可选地,对所述后台数据库、所述缓存模块以及对缓存的维度数据进行的同步处理过程进行监控,获得监控数据;基于所述监控数据生成缓存更新日志信息,其中,所述监控数据包括:缓存模块的使用信息、后台数据库的操作信息、调用接口的调用信息、接口平均响应时间、接口异常次数;如果基于所述监控数据判断出现异常,则进行告警处理。
根据本公开实施例的另一方面,提供一种网页访问请求的处理装置,包括:请求获得模块,用于接收到网页访问请求,获得与所述网页访问请求相对应的第一分类维度以及实体;响应处理模块,用于判断缓存模块中是否缓存有与所述第一分类维度以及实体相对应的第一维度数据;如果是,则获得所述第一维度数据,作为响应数据;如果否,则使用与所述第一分类维度相对应的调用接口,从后台数据库中获得与所述第一分类维度以及实体相对应的第一响应维度数据,作为响应数据,并且将所述第一响应维度数据缓存在所述缓存模块中;网页生成模块,用于基于获得的所述响应数据生成网页并进行显示;缓存同步模块,用于根据预设的缓存同步策略对在所述缓存模块中缓存的维度数据进行同步处理。
根据本公开实施例的又一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的方法。
根据本公开实施例的再一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述的方法。
基于本公开上述实施例提供的网页访问请求的处理方法、装置以及电子设备、存储介质,通过将维度数据缓存在缓存模块中,维度数据只需向后端发起一次获取请求,大大缩短获得维度数据的时间,并可以实时更新和定时全量刷新,保证缓存与后端数据的一致性,降低系统的服务压力,提高了网站响应速度提升用户使用感受度。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征以及优势将变得更加明显。附图用来提供对本公开实施例的进一步的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1为本公开的网页访问请求的处理方法的一个实施例的流程图;
图2为本公开的网页访问请求的处理方法的一个实施例中获得响应数据的流程图;
图3为本公开的网页访问请求的处理方法的一个实施例中进行缓存同步的流程图;
图4为本公开的网页访问请求的处理方法的一个实施例中生成增量更新的分类维度信息的流程图;
图5为本公开的网页访问请求的处理方法的一个实施例中对维度数据进行同步更新的流程图;
图6为本公开的网页访问请求的处理方法的一个实施例中进行监控的流程图;
图7为本公开的网页访问请求的处理装置的一个实施例的结构示意图;
图8为本公开的网页访问请求的处理装置的一个实施例中的响应处理模块的结构示意图;
图9为本公开的网页访问请求的处理装置的一个实施例中的缓存同步模块的结构示意图;
图10为本公开的网页访问请求的处理装置的另一个实施例的结构示意图;
图11是本公开的电子设备的一个实施例的结构图。
具体实施方式
下面将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或者两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或者专用计算系统环境或配置一起操作。适于与终端设备、计算机系统或者服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施。在分布式云计算环境中,任务可以是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,发明人发现,在用户访问网页的过程中,网站系统使用与数据维度相对应的调用接口向后台数据库查询相关的数据。随着数据维度的不断增加,与数据维度相对应的调用接口数量也不断增加,给后端服务造成很大压力,严重降低了网站响应速度。
本公开提供的网页访问请求的处理方法,接收到网页访问请求,获得与网页访问请求相对应的第一分类维度以及第一实体;判断缓存模块中是否缓存有与第一分类维度以及第一实体相对应的第一维度数据;如果是,则从缓存模块中获得响应数据;如果否,则使用与第一分类维度相对应的调用接口,从后台数据库中获得与第一分类维度以及第一实体相对应的第一响应维度数据,并且将第一响应维度数据缓存在缓存模块中;生成网页并进行显示并对在缓存模块中缓存的维度数据进行同步处理;通过将维度数据缓存在缓存模块中,维度数据只需向后端发起一次获取请求,大大缩短获得维度数据的时间,并可以实时更新和定时全量刷新,保证缓存与后端数据的一致性,降低系统的服务压力。
示例性方法
图1为本公开的网页访问请求的处理方法的一个实施例的流程图,如图1所示的方法包括步骤:S101-S105。下面对各步骤分别进行说明。
S101,接收到网页访问请求,获得与网页访问请求相对应的第一分类维度以及第一实体。
在一实施例中,基于大数据分析技术,能够从企事业单位、团体等组织公开数据中得到很多有价值的信息数据,例如,个人与企业之间的投资人、法人、股东、监事、董事等数据,以及企业之间的投资关系、合作关系、招投标信息等数据。用户可以发送网页访问请求,请求获得一个公司的多种信息。
本公开的实体包括:企业事业单位、社会各界组织、团体、社团、个人(投资人、法人、股东、监事等)等。可以将实体的数据分为不同类型,即为分类维度,分类维度包括工商信息、企业关系、股东信息、主要人员、专利信息等,维度数据是与实体以及分类维度相对应的值。
例如,第一实体为企业A,第一分类维度为工商信息和专利信息等,与企业A以及专利信息相对应的维度数据为专利的著录项目信息等,著录项目信息包括:申请号、申请人、发明名称、申请日等。
S102,判断缓存模块中是否缓存有与第一分类维度以及第一实体相对应的第一维度数据。
缓存模块可以为多种存储介质,例如缓存模块可以为阵列式存储介质、flash存储介质等。在缓存模块中缓存有维度数据,维度数据在缓存模块中有多种存储方法,例如,可以采用阵列式存储方式,将一个实体的全部维度数据存储为一行、多个实体的每个分类维度的维度数据可以作为一列进行存储。维度数据的持久化可以采用云平台的tablestore,并监控缓存模块中的维度数据的吞吐量。
S103,如果是,则获得第一维度数据,作为响应数据;如果否,则使用与第一分类维度相对应的调用接口,从后台数据库中获得与第一分类维度以及第一实体相对应的第一响应维度数据,作为响应数据,并且将第一响应维度数据缓存在缓存模块中。
在一实施例中,在配置文件中设置第一响应维度数据的存储地址,以及相对应的数据维度以及实体。在下次用户发送网页访问请求,请求获得与第一分类维度以及第一实体相对应的第一维度数据时,可以直接从缓存模块中获取第一维度数据。
判断缓存模块中是否缓存有与专利信息(第一分类维度)以及企业A(第一实体)相对应的专利著录项目数据(第一维度数据),如果是,则从缓存数据中获得与专利信息以及企业A相对应的专利著录项目数据;如果否,则使用与专利信息相对应的调用接口,从后台数据库中获得与专利信息以及企业A相对应的专利著录项目数据,作为响应数据,并且将与专利信息以及企业A相对应的专利著录项目数据缓存在缓存模块中,使得在下次获得数据时,从缓存模块中获得与专利信息以及企业A相对应的专利著录项目数据。
后台数据库可以为多个数据库,例如为mysql数据库等。后台数据库可以存储实体的维度数据,后台数据库中存储的数据可以利用网络爬虫等技术从其他数据源抓取相关的维度数据,对维度数据进行整理后进行存储。
S104,基于获得的响应数据生成网页并进行显示。
例如,获得与专利信息以及企业A相对应的专利著录项目数据,基于此专利著录项目数据生成展示网页并显示。
S105,根据预设的缓存同步策略对在缓存模块中缓存的维度数据进行同步处理。缓存同步策略可以有多种,例如缓存同步策略可以为消息驱动、定时驱动、手动触发等。
图2为本公开的网页访问请求的处理方法的一个实施例中获得响应数据的流程图,如图2所示的方法包括步骤:S201-S203。下面对各步骤分别进行说明。
S201,获得配置文件,从配置文件中获得缓存地址与分类维度以及实体之间的第一映射关系。
在一实施例中,预先加载配置文件,在配置文件中设置缓存地址与分类维度以及实体之间的第一映射关系。例如,在配置文件中设置缓存地址与专利信息以及企业A相对应的映射关系,在此缓存地址存储与专利信息以及企业A相对应的专利著录项目数据。
S202,判断基于第一映射关系能否根据第一分类维度以及第一实体查找到第一维度数据。
在一实施例中,判断配置文件中是否有缓存地址与专利信息以及企业A相对应的映射关系,如果否,则确定不能在缓存模块中查找到维度数据;如果是,获得配置文件的缓存地址与专利信息以及企业A相对应的映射关系,基于此映射关系判断在与专利信息以及企业A相对应的缓存地址下是否存储有维度数据,如果是,则确定能够在缓存模块中查找到维度数据,如果否,则确定不能在缓存模块中查找到维度数据。
S203,如果是,则获得第一维度数据;如果否,则从配置文件中获得分类维度与调用接口之间的第二映射关系,基于第二映射关系获得与第一分类维度相对应的第一调用接口。
在一实施例中,在配置文件中设置分类维度与调用接口之间的第二映射关系,每个分类维度可以对应一个调用接口。调用接口对外提供的参数包括分类维度、实体等,通过调用接口可以从后台数据库中获得与分类维度、实体等相对应的维度数据。例如,在配置文件中设置与专利信息和调用接口A相对应的映射关系,通过调用接口A可以从后台数据库中获得与专利信息以及企业A相对应的专利著录项目数据。
图3为本公开的网页访问请求的处理方法的一个实施例中进行缓存同步的流程图,如图3所示的方法包括步骤:S301-S303。下面对各步骤分别进行说明。
S301,确定需要进行同步更新的第二分类维度以及第二实体,基于第二分类维度以及第二实体生成第一缓存同步消息。
S302,将第一缓存同步消息发送到消息队列中。
在一实施例中,消息队列是分布式系统中重要的组件,通过消息队列可以对同一消息进行处理,避免调用接口失败导致整个过程失败;消息队列进行异步处理,相比串行处理,减少处理时间。可以使用现有的多种消息队列。
需要在缓存模块中同步更新企业A、企业B等的专利信息、工商维度等分类维度的维度数据,将专利信息、工商维度等分类维度以及企业A、企业B等信息作为第二分类维度以及第二实体,根据统一消息格式对第二分类维度以及第二实体进行封装,生成第一缓存同步消息并发送到消息队列中。
可以实现对缓存在缓存模块中的维度数据的全分类维度或单分类维度的缓存同步。选定某个实体群,根据配置文件中的第一映射关系,获得与实体群相对应的一个或多个第二分类维度,实体群中包括多个实体,例如为企业A、团体B等,与实体群相对应的第二分类维度可以为专利信息、工商信息等。基于与实体群以及与实体群相对应的一个或多个分类维度生成第一缓存同步消息。
根据配置文件中的第一映射关系,确定与单个第二分类维度对应的一个或多个实体,对实体进行去重处理,基于单个第二分类维度以及与单个分类维度对应的一个或多个实体生成第一缓存同步消息。例如,确定与专利信息(第二分类维度)对应的一个或多个实体,例如为企业A、团体B等,根据统一的消息格式基于专利信息(第二分类维度)以及企业A、团体B等生成第一缓存同步消息。
在一个实施例中,可以使用定时任务和手动方式触发缓存同步。例如,基于设定的缓存同步时间间隔,周期性地确定需要进行同步更新的第二分类维度以及实体,同步时间间隔可以为8小时、12小时等;或者,根据接收到的用户发送的缓存同步请求,确定需要进行同步更新的第二分类维度以及实体。
S303,监听消息队列,从消息队列中获得第一缓存同步消息,基于第一缓存同步消息对缓存模块中缓存的维度数据进行同步处理。基于第一缓存同步消息对缓存模块中缓存的维度数据进行同步处理可以采用多种方法。
图4为本公开的网页访问请求的处理方法的一个实施例中生成增量更新的分类维度信息的流程图,如图4所示的方法包括步骤:S401-S403。下面对各步骤分别进行说明。
S401,获得多个后台数据库的日志文件,从日志文件中获得与增加、删除或修改操作相对应的SQL语句。
S402,基于与SQL语句相对应的分类维度以及实体生成数据更新消息并发送到延迟消息队列中。
在一个实施例中,日志文件可以为数据库的binlog,解析binlog,提取与增加、删除或修改操作的SQL语句相对应的实体(公司graphId、名称companyId)、分类维度(页面上展示的分类维度)等,将提取的数据转换为统一的消息格式,并发送到延迟消息队列。
S403,按照设置的时间窗口或批次从延迟消息队列中获得数据更新消息,基于数据更新消息中的分类维度以及实体确定第二分类维度以及第二实体。
在一实施例中,按批次或者选定时间窗口从延迟消息队列中获得数据更新消息,对数据更新消息中的分类维度以及实体进行去重处理,获得第二分类维度以及第二实体,基于第二分类维度以及第二实体生成第一缓存同步消息,将第一缓存同步消息发送到消息队列中。
图5为本公开的网页访问请求的处理方法的一个实施例中对维度数据进行同步更新的流程图,如图5所示的方法包括步骤:S501-S504。下面对各步骤分别进行说明。
S501,基于第二映射关系获得与第二分类维度相对应的调用接口。
S502,使用与第二分类维度相对应的调用接口,从后台数据库中获得与第二分类维度以及第二实体相对应的第二响应维度数据。
在一个实施例中,从消息队列中获得第一缓存同步消息,从第一缓存同步消息中提取需要进行同步更新的第二分类维度以及第二实体。例如,第二分类维度为专利信息、工商信息等,第二实体为企业A、企业B等。基于第二映射关系获得与专利信息、工商信息等相对应的调用接口A、调用接口B等;使用调用接口A、调用接口B,从后台数据库中获得与专利信息、工商信息以及企业A、企业B相对应的第二响应维度数据。也可以采用其他API函数从后台数据库中获得与第二分类维度以及第二实体相对应的第二响应维度数据。
S503,如果确定与第二分类维度相对应的调用接口的响应状态码小于预设的阈值,并且第二响应维度数据的状态不为错误状态,则基于第一映射关系查找到与第二分类维度以及第二实体相对应的缓存地址。
在一实施例中,如果与第二分类维度相对应的调用接口的响应状态码大于399或者第二响应维度数据的状态字段值为error,则认为第二响应维度数据错误或不完整。
S504,使用第二响应维度数据对缓存在此缓存地址下的维度数据进行更新处理。
在一个实施例中,判断第二响应维度数据的数量是否大于0,如果是,则用第二响应维度数据替换缓存在此缓存地址下的维度数据,如果否,则删除缓存在此缓存地址下的维度数据。
例如,在配置文件中设置存储调用接口返回的第二响应数据的数量count值的count路径。在对后台数据库中的增量维度数据进行缓存同步时,使用与第二分类维度相对应的调用接口,从后台数据库中获得与第二分类维度以及第二实体相对应的第二响应维度数据后,从相应的count路径提取出count值,如果count值大于,则生成update column对象更新缓存的维度数据,如果count值等于0,则生成delete column对象,删除缓存的维度数据。
在对实体的全部维度数据进行缓存同步时,调用allCount接口,获取第二响应维度数据中的各分类维度的维度数据数值,即count值;对于count值大于0的分类维度,则生成update column对象更新缓存的维度数据,对于count值等于0的分类维度生成deletecolumns对象,删除缓存的维度数据。
图6为本公开的网页访问请求的处理方法的一个实施例中进行监控的流程图,如图6所示的方法包括步骤:S601-S603。下面对各步骤分别进行说明。
S601,对后台数据库、缓存模块以及对缓存的维度数据进行的同步处理过程进行监控,获得监控数据。监控数据包括缓存模块的使用信息、后台数据库的操作信息、调用接口的调用信息、接口平均响应时间、接口异常次数等。
S602,基于监控数据生成缓存更新日志信息。日志信息中的信息包括:缓存模块的使用信息、后台数据库的操作信息、调用接口的调用信息、接口平均响应时间、接口异常次数等。
S603,如果基于监控数据判断出现异常,则进行告警处理。
在一个实施例中,可以设置多个监控数据阈值,如果判断监控数据超过对应的监控数据阈值时,则判断出现异常。例如,设置缓存大小阈值,如果基于监控数据判断缓存模块当前已使用的空间大小超过预设的缓存大小阈值时,则确定出现异常,可以发送告警信息等。
上述实施例中的网页访问请求的处理方法,维度数据只需向后端发起一次获取请求,大大缩短获得维度数据的时间,可以实时更新和定时全量刷新缓存模块中的维度数据,保证缓存与后端数据的一致性,降低系统的服务压力,提升系统的稳定性,加快用户的网页浏览速度,当有大量用户发出网页访问请求时,减少对后端服务造成的压力,提高了网站响应速度、提升用户使用感受度。
示例性装置
在一个实施例中,如图7所示,本公开提供一种网页访问请求的处理装置,包括:请求获得模块701、响应处理模块702、网页生成模块703和缓存同步模块704。请求获得模块701接收到网页访问请求,获得与网页访问请求相对应的第一分类维度以及实体。响应处理模块702判断缓存模块中是否缓存有与第一分类维度以及实体相对应的第一维度数据;如果是,则响应处理模块702获得第一维度数据,作为响应数据;如果否,则响应处理模块702使用与第一分类维度相对应的调用接口,从后台数据库中获得与第一分类维度以及实体相对应的第一响应维度数据,作为响应数据,并且响应处理模块702将第一响应维度数据缓存在缓存模块中。网页生成模块703基于获得的响应数据生成网页并进行显示。缓存同步模块704根据预设的缓存同步策略对在缓存模块中缓存的维度数据进行同步处理。
在一个实施例中,如图8所示,响应处理模块702包括:配置信息获取模块7021和响应数据获得模块7022。配置信息获取模块7021获得配置文件,从配置文件中获得缓存地址与分类维度以及实体之间的第一映射关系。配置信息获取模块7021判断基于第一映射关系能否根据第一分类维度以及第一实体查找到第一维度数据;如果是,则响应数据获得模块7022获得第一维度数据;如果否,则配置信息获取模块7021从配置文件中获得分类维度与调用接口之间的第二映射关系,响应数据获得模块7022基于第二映射关系获得与第一分类维度相对应的调用接口。
在一个实施例中,如图9所示,缓存同步模块704包括:更新信息获得模块7041、消息发送模块7042和消息处理模块7043。更新信息获得模块7041确定需要进行同步更新的第二分类维度以及第二实体,消息发送模块7042基于第二分类维度以及第二实体生成第一缓存同步消息,将第一缓存同步消息发送到消息队列中。消息处理模块7043监听消息队列,从消息队列中获得第一缓存同步消息,基于第一缓存同步消息对缓存模块中缓存的维度数据进行同步处理。
在一个实施例中,更新信息获得模块7041根据第一映射关系获得与实体群相对应的一个或多个第二分类维度。消息发送模块7042基于与实体群以及与实体群相对应的一个或多个分类维度生成第一缓存同步消息;或者,更新信息获得模块7041根据第一映射关系确定与单个第二分类维度对应的一个或多个实体。消息发送模块7042基于单个第二分类维度以及与单个分类维度对应的一个或多个实体生成第一缓存同步消息。
更新信息获得模块7041基于设定的缓存同步时间间隔,周期性地确定需要进行同步更新的第二分类维度以及实体;或者,更新信息获得模块7041根据接收到的用户发送的缓存同步请求,确定需要进行同步更新的第二分类维度以及实体。
更新信息获得模块7041获得多个后台数据库的日志文件,从日志文件中获得与增加、删除或修改操作相对应的SQL语句。更新信息获得模块7041基于与SQL语句相对应的分类维度以及实体生成数据更新消息并发送到延迟消息队列中。更新信息获得模块7041按照设置的时间窗口或批次从延迟消息队列中获得数据更新消息,基于数据更新消息中的分类维度以及实体确定第二分类维度以及第二实体。
在一个实施例中,消息处理模块7043基于第二映射关系获得与第二分类维度相对应的调用接口,使用与第二分类维度相对应的调用接口,从后台数据库中获得与第二分类维度以及第二实体相对应的第二响应维度数据。如果确定与第二分类维度相对应的调用接口的响应状态码小于预设的阈值,并且第二响应维度数据的状态不为错误状态,则消息处理模块7043基于第一映射关系查找到与第二分类维度以及第二实体相对应的缓存地址,使用第二响应维度数据对缓存在此缓存地址下的维度数据进行更新处理。
消息处理模块7043判断第二响应维度数据的数量是否大于0,如果是,则用第二响应维度数据替换缓存在此缓存地址下的维度数据,如果否,则删除缓存在此缓存地址下的维度数据。
在一个实施例中,如图10所示,本公开的网页访问请求的处理装置包括:监控模块705,监控模块705对后台数据库、缓存模块以及对缓存的维度数据进行的同步处理过程进行监控,获得监控数据。监控模块705基于监控数据生成缓存更新日志信息,其中,监控数据包括:缓存模块的使用信息、后台数据库的操作信息、调用接口的调用信息、接口平均响应时间、接口异常次数等。如果基于监控数据判断出现异常,则监控模块705进行告警处理。
图11是本公开的电子设备的一个实施例的结构图,如图11所示,电子设备111包括一个或多个处理器1111和存储器1112。
处理器1111可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备111中的其他组件以执行期望的功能。
存储器1112可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器,例如,可以包括:随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器,例如,可以包括:只读存储器(ROM)、硬盘以及闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1111可以运行程序指令,以实现上文的本公开的各个实施例的网页访问请求的处理方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备111还可以包括:输入装置1113以及输出装置1114等,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。此外,该输入设备1113还可以包括例如键盘、鼠标等等。该输出装置1114可以向外部输出各种信息。该输出设备1114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图11中仅示出了该电子设备111中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备111还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的网页访问请求的处理方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的网页访问请求的处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列举)可以包括:具有一个或者多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势以及效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
上述实施例中的网页访问请求的处理方法、装置以及电子设备、存储介质,将维度数据缓存在缓存模块中,维度数据只需向后端发起一次获取请求,大大缩短获得维度数据的时间,并可以实时更新和定时全量刷新缓存模块中的维度数据,保证缓存与后端数据的一致性,降低系统的服务压力,提升系统的稳定性,加快用户的网页浏览速度,当有大量用户发出网页访问请求时,减少对后端服务造成的压力,提高了网站响应速度提升用户使用感受度。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备以及系统。诸如“包括”、“包含、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述,以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改等对于本领域技术人员而言,是非常显而易见的,并且在此定义的一般原理可以应用于其他方面,而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式中。尽管以上已经讨论了多个示例方面以及实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (12)
1.一种网页访问请求的处理方法,包括:
接收到网页访问请求,获得与所述网页访问请求相对应的第一分类维度以及第一实体;
判断缓存模块中是否缓存有与所述第一分类维度以及第一实体相对应的第一维度数据;
如果是,则获得所述第一维度数据,作为响应数据;如果否,则使用与所述第一分类维度相对应的调用接口,从后台数据库中获得与所述第一分类维度以及第一实体相对应的第一响应维度数据,作为响应数据,并且将所述第一响应维度数据缓存在所述缓存模块中;
基于获得的所述响应数据生成网页并进行显示;
根据预设的缓存同步策略对在所述缓存模块中缓存的维度数据进行同步处理。
2.如权利要求1所述的方法,还包括:
获得配置文件,从所述配置文件中获得缓存地址与分类维度以及实体之间的第一映射关系;
判断基于所述第一映射关系能否根据所述第一分类维度以及第一实体查找到所述第一维度数据;
如果是,则获得所述第一维度数据;如果否,则从所述配置文件中获得分类维度与调用接口之间的第二映射关系,基于所述第二映射关系获得与所述第一分类维度相对应的调用接口。
3.如权利要求2所述的方法,所述根据预设的缓存同步策略对在所述缓存模块中缓存的维度数据进行同步处理包括:
确定需要进行同步更新的第二分类维度以及第二实体,基于所述第二分类维度以及第二实体生成第一缓存同步消息;
将所述第一缓存同步消息发送到消息队列中;
监听所述消息队列,从所述消息队列中获得所述第一缓存同步消息,基于所述第一缓存同步消息对所述缓存模块中缓存的维度数据进行同步处理。
4.如权利要求3所述的方法,所述确定需要进行同步更新的第二分类维度以及第二实体,基于所述第二分类维度以及第二实体生成第一缓存同步消息包括:
根据所述第一映射关系获得与实体群相对应的一个或多个第二分类维度,基于所述与实体群以及所述与实体群相对应的一个或多个分类维度生成所述第一缓存同步消息;或者,
根据所述第一映射关系确定与单个第二分类维度对应的一个或多个实体,基于所述单个第二分类维度以及所述与单个分类维度对应的一个或多个实体生成所述第一缓存同步消息。
5.如权利要求4所述的方法,还包括:
基于设定的缓存同步时间间隔,周期性地确定需要进行同步更新的第二分类维度以及实体;或者,
根据接收到的用户发送的缓存同步请求,确定需要进行同步更新的第二分类维度以及实体。
6.如权利要求4所述的方法,所述确定需要进行同步更新的第二分类维度以及第二实体包括:
获得多个后台数据库的日志文件,从所述日志文件中获得与增加、删除或修改操作相对应的SQL语句;
基于与所述SQL语句相对应的分类维度以及实体生成数据更新消息并发送到延迟消息队列中;
按照设置的时间窗口或批次从所述延迟消息队列中获得所述数据更新消息,基于所述数据更新消息中的分类维度以及实体确定所述第二分类维度以及第二实体。
7.如权利要求6所述的方法,所述基于所述第一缓存同步消息对所述缓存模块中缓存的维度数据进行同步处理包括:
基于所述第二映射关系获得与所述第二分类维度相对应的调用接口;
使用与所述第二分类维度相对应的调用接口,从后台数据库中获得与所述第二分类维度以及第二实体相对应的第二响应维度数据;
如果确定与所述第二分类维度相对应的调用接口的响应状态码小于预设的阈值,并且所述第二响应维度数据的状态不为错误状态,则基于所述第一映射关系查找到与所述第二分类维度以及第二实体相对应的缓存地址;
使用所述第二响应维度数据对缓存在此缓存地址下的维度数据进行更新处理。
8.如权利要求7所述的方法,所述使用所述第二响应维度数据对缓存在此缓存地址下的维度数据进行更新处理包括:
判断所述第二响应维度数据的数量是否大于0,如果是,则用所述第二响应维度数据替换缓存在此缓存地址下的维度数据,如果否,则删除缓存在此缓存地址下的维度数据。
9.如权利要求7所述的方法,还包括:
对所述后台数据库、所述缓存模块以及对缓存的维度数据进行的同步处理过程进行监控,获得监控数据;
基于所述监控数据生成缓存更新日志信息,其中,所述监控数据包括:缓存模块的使用信息、后台数据库的操作信息、调用接口的调用信息、接口平均响应时间、接口异常次数;
如果基于所述监控数据判断出现异常,则进行告警处理。
10.一种网页访问请求的处理装置,包括:
请求获得模块,用于接收到网页访问请求,获得与所述网页访问请求相对应的第一分类维度以及实体;
响应处理模块,用于判断缓存模块中是否缓存有与所述第一分类维度以及实体相对应的第一维度数据;如果是,则获得所述第一维度数据,作为响应数据;如果否,则使用与所述第一分类维度相对应的调用接口,从后台数据库中获得与所述第一分类维度以及实体相对应的第一响应维度数据,作为响应数据,并且将所述第一响应维度数据缓存在所述缓存模块中;
网页生成模块,用于基于获得的所述响应数据生成网页并进行显示;
缓存同步模块,用于根据预设的缓存同步策略对在所述缓存模块中缓存的维度数据进行同步处理。
11.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-9任一项所述的方法。
12.一种电子设备,所述电子设备包括:
处理器,用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910808258.7A CN110647706A (zh) | 2019-08-29 | 2019-08-29 | 网页访问请求的处理方法、装置以及设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910808258.7A CN110647706A (zh) | 2019-08-29 | 2019-08-29 | 网页访问请求的处理方法、装置以及设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110647706A true CN110647706A (zh) | 2020-01-03 |
Family
ID=68991149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910808258.7A Pending CN110647706A (zh) | 2019-08-29 | 2019-08-29 | 网页访问请求的处理方法、装置以及设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647706A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149017A (zh) * | 2020-09-14 | 2020-12-29 | 京东数字科技控股股份有限公司 | 一种网页访问方法、装置、系统、电子设备及存储介质 |
CN113867921A (zh) * | 2021-10-25 | 2021-12-31 | 联想(北京)有限公司 | 处理方法、装置、电子设备及存储介质 |
CN113923263A (zh) * | 2021-12-16 | 2022-01-11 | 深圳市明源云链互联网科技有限公司 | 离线数据下载方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016038684A (ja) * | 2014-08-06 | 2016-03-22 | Kddi株式会社 | 端末間で同一ページを同期して表示させるページ同期方法、同期サーバ及びプログラム |
CN108287839A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种页面加载方法和设备 |
CN109388460A (zh) * | 2018-09-26 | 2019-02-26 | 浙江万朋教育科技股份有限公司 | 一种提升客户端应用拉取首页数据效率的方法 |
CN109799978A (zh) * | 2019-01-31 | 2019-05-24 | 中合金网(北京)电子商务有限公司 | 页面数据处理方法与装置 |
-
2019
- 2019-08-29 CN CN201910808258.7A patent/CN110647706A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016038684A (ja) * | 2014-08-06 | 2016-03-22 | Kddi株式会社 | 端末間で同一ページを同期して表示させるページ同期方法、同期サーバ及びプログラム |
CN108287839A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种页面加载方法和设备 |
CN109388460A (zh) * | 2018-09-26 | 2019-02-26 | 浙江万朋教育科技股份有限公司 | 一种提升客户端应用拉取首页数据效率的方法 |
CN109799978A (zh) * | 2019-01-31 | 2019-05-24 | 中合金网(北京)电子商务有限公司 | 页面数据处理方法与装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149017A (zh) * | 2020-09-14 | 2020-12-29 | 京东数字科技控股股份有限公司 | 一种网页访问方法、装置、系统、电子设备及存储介质 |
CN113867921A (zh) * | 2021-10-25 | 2021-12-31 | 联想(北京)有限公司 | 处理方法、装置、电子设备及存储介质 |
CN113923263A (zh) * | 2021-12-16 | 2022-01-11 | 深圳市明源云链互联网科技有限公司 | 离线数据下载方法、装置、设备及计算机可读存储介质 |
CN113923263B (zh) * | 2021-12-16 | 2022-04-08 | 深圳市明源云链互联网科技有限公司 | 离线数据下载方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9521104B2 (en) | Outgoing communications inventory | |
EP3267377B1 (en) | Identifying network security risks | |
US20220309053A1 (en) | Method and apparatus of auditing log, electronic device, and medium | |
CN110647706A (zh) | 网页访问请求的处理方法、装置以及设备、存储介质 | |
EP3008613A2 (en) | Determining message data to present | |
CN110704771B (zh) | 页面异常监控方法、系统、装置、电子设备及可读介质 | |
US10599505B1 (en) | Event handling system with escalation suppression | |
CN111190868A (zh) | 一种文件处理方法和装置 | |
EP2557512B1 (en) | Content-based information aggregation | |
US9563485B2 (en) | Business transaction context for call graph | |
CN111125579B (zh) | 网页信息处理方法和装置、存储介质和电子设备 | |
US20230153357A1 (en) | Method of processing an observation information, electronic device and storage medium | |
CN113761565A (zh) | 数据脱敏方法和装置 | |
CN112148705A (zh) | 数据迁移的方法和装置 | |
CN113342619A (zh) | 日志监控方法、系统、电子设备及可读介质 | |
CN113419887A (zh) | 主机联机事务异常的处理方法及装置 | |
CN112799903A (zh) | 一种业务系统健康状态的评估方法和装置 | |
CN112579673A (zh) | 一种多源数据处理方法及装置 | |
CN112152915A (zh) | 消息转发网关系统和消息转发方法 | |
CN113347052A (zh) | 通过访问日志统计用户访问数据的方法和装置 | |
US10176248B2 (en) | Performing a dynamic search of electronically stored records based on a search term format | |
CN114065001B (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN113778959B (zh) | 数据处理的方法、装置、设备和计算机可读介质 | |
US20140280220A1 (en) | Scored storage determination | |
CN113590425A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200103 |