一种基于Redis的首页数据加载的服务器及方法技术

技术编号:30230978 阅读:19 留言:0更新日期:2021-09-29 10:04
本申请提供一种基于Redis的首页数据加载的服务器及方法,服务器包括:源数据库、Redis缓存器以及信令处理模块;方法包括:接收终端设备发送的获取首页数据的第一请求指令,响应生成Redis

【技术实现步骤摘要】
一种基于Redis的首页数据加载的服务器及方法


[0001]本申请涉及Redis数据加载
,尤其涉及一种基于Redis的首页数据加载的服务器及方法。

技术介绍

[0002]随着互联网技术的飞速发展,现在的网站和应用APP(application)的信息量越来越大,尤其是网站和APP的首页,包含的数据、图像、动画、布局、导航等等信息也极其丰富,首页首页的展示效果越来越动人,如此庞大繁复的首页首页对加载效果的要求也越来越高。首页首页构建完成后的构建数据包的体量很大,导致首页首页的加载时间过长,甚至存在长时间白屏的问题,用户体验比较差。另外,当网络传输状况不佳时,网络延迟也会影响首页首页加载的效果,降低了首页首页的加载速度。
[0003]在各种首页加载的应用场景中,基于微服务的终端首页加载速度越来越受到人们的重视,原因在于APP在手机、平板电脑以及智能电视上的广泛应用几乎成为现今社会人们生活的日常。所谓微服务(或微服务架构),它是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。相比于单体应用,微服务有其独特的性能优势,所以目前微服务化正在开发领域全面推广开来。
[0004]对于APP的首页(首屏)加载展示,无论是面向TV端首页还是面向移动端(如手机、平板电脑等)首页,目前业界的通用做法是由终端发起首页数据请求(携带用户标识性参数)到达服务端,服务端根据参数组合成对应的查询条件,经过一定的算法、业务逻辑处理、甚至可能请求其他业务子系统获取所需数据,最终将首页需要的数据进行汇聚,通过接口一次性下给终端,终端再进行数据结构解析和首页渲染展示。由于整个过程采用同步串行处理方式进行,严重影响了首页的渲染速度,造成首页加载效率低、用户体验不佳。
[0005]随着电视和移动终端的数额量级逐年攀升,加之首页运营内容也在不断地丰富,例如某一面世产品,首页的Tiles数据结构中就包括登录用户信息、头图信息、分类信息、优惠券活动信息、各种模板专题信息、大数据推荐信息以及导航操作信息等等,可想而知它的复杂度和交互数据量之高,每次从服务端请求一次首页,服务端业务需要根据当前登录用户标识customerId、设备机型标识featurecode、productCode和AppVersion等信息从账号子系统、媒资子系统和推荐子系统中查询出首页所需的各种数据,再将此部分数据进行一定的算法、业务逻辑处理,最终汇总形成首页数据并返回。整个首页加载过程进行数据处理的复杂度和交互数据量都非常高,因此,在整个首页加载过程中如果仅对串行流程中局部节点进行优化已经不能满足用户对首页访问速度的体验,亟待一种行之有效的提升终端首页访问效率的方法。

技术实现思路

[0006]本申请提供了一种基于Redis的首页数据加载的服务器及方法,以解决目前首页访问效率较低、用户体验不佳的问题。
[0007]本申请采用的技术方案如下:
[0008]本申请的第一方面,提供一种基于Redis的首页数据加载的服务器,包括:
[0009]源数据库;
[0010]Redis缓存器;
[0011]信令处理模块,所述信令处理模块被配置为:
[0012]接收终端设备发送的获取首页数据的第一请求指令;
[0013]响应于所述第一请求指令,生成Redis

key值,以发送对应所述第一请求指令的静态资源数据包和所述Redis

key值至终端设备,以及根据所述请求指令中携带的业务查询参数生成查询条件,以向所述源数据库发送包含所述查询条件的第二请求指令,其中,每一Redis

key值对应一个第一请求指令;
[0014]接收所述源数据库响应于所述第二请求指令返回的初始首页数据;
[0015]将所述Redis

key值和所述初始首页数据对应缓存在Redis缓存器;
[0016]接收终端设备发送的包含所述Redis

key值的数据获取请求;
[0017]根据所述数据获取请求中的所述Redis

key值从所述Redis缓存器中获取和所述Redis

key值对应的初始首页数据并发送给所述终端设备。
[0018]结合本申请的第一方面,在一种可实现方式中,所述终端设备在发送获取首页数据的第一请求指令失败情况下,启用重试机制,如果重试失败,则使用本地缓存数据进行降级首页展示。
[0019]结合本申请的第一方面,在一种可实现方式中,所述信令处理模块生成Redis

key失败情况下,返回接口业务错误码给所述终端设备,所述终端设备启用重试机制,如果重试失败,则使用本地缓存数据进行降级首页展示。
[0020]结合本申请的第一方面,在一种可实现方式中,所述信令处理模块将所述Redis

key值和所述初始首页数据对应缓存在Redis缓存器失败时,启用重试机制,如果重试失败,本次数据不写入Redis缓存器,等待下次接收获取首页数据的请求指令时重新写入;
[0021]如果所述信令处理模块将所述Redis

key值对应的初始首页数据发送给所述终端设备失败时,则发送无首页数据返回错误码至终端设备,终端设备在收到所述无首页数据返回错误码时,重新发起获取首页数据的第一请求指令,重走流程。
[0022]结合本申请的第一方面,在一种可实现方式中,所述Redis

key值中,包含终端类型数据和用户标识customerId;所述源数据库包含两个或两个以上的数据库;所述业务查询参数包含时间处理数据、排序数据以及分组数据。
[0023]结合本申请的第一方面,在一种可实现方式中,所述信令处理模块进一步配置为:所述信令处理模块接收所述源数据库响应于所述第二请求指令返回的初始首页数据后,对所述初始首页数据进行预设的逻辑组装处理,所述预设的逻辑组装处理包括:整合所述初始首页数据,进行对象到JSON字符串的转换。
[0024]结合本申请的第一方面,在一种可实现方式中,所述信令处理模块进一步配置为:将所述Redis

key值和所述初始首页数据对应缓存在Redis缓存器后,还包括:在Redis缓存器中设置缓存有效期。
[0025]结合本申请的第一方面,在一种可实现方式中,所述Redis缓存器包括Redis数据库和闪存,所述Redis数据库存储在所述闪存中。
[0026]由以上技术方案可知,本申请第一方面提供的一种基于Redis的首页数据加载的服务器,包括:源数据库、Redis缓存器以及信令处理模块,所述信令处理模块被配置为:接收终端设备发送的获取首页数据的第一请求指令;响应于所述第一请求指令,生成Redis

key值,以发送对应所述第一请求指令的静态资源数据包和所述Redis

key值至终端设备,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Redis的首页数据加载的服务器,其特征在于,包括:源数据库;Redis缓存器;信令处理模块,所述信令处理模块被配置为:接收终端设备发送的获取首页数据的第一请求指令;响应于所述第一请求指令,生成Redis

key值,以发送对应所述第一请求指令的静态资源数据包和所述Redis

key值至终端设备,以及根据所述请求指令中携带的业务查询参数生成查询条件,以向所述源数据库发送包含所述查询条件的第二请求指令,其中,每一Redis

key值对应一个第一请求指令;接收所述源数据库响应于所述第二请求指令返回的初始首页数据;将所述Redis

key值和所述初始首页数据对应缓存在Redis缓存器;接收终端设备发送的包含所述Redis

key值的数据获取请求;根据所述数据获取请求中的所述Redis

key值从所述Redis缓存器中获取和所述Redis

key值对应的初始首页数据并发送给所述终端设备。2.根据权利要求1所述的基于Redis的首页数据加载的服务器,其特征在于,所述终端设备在发送获取首页数据的第一请求指令失败情况下,启用重试机制,如果重试失败,则使用本地缓存数据进行降级首页展示。3.根据权利要求1所述的基于Redis的首页数据加载的服务器,其特征在于,所述信令处理模块生成Redis

key值失败情况下,返回接口业务错误码给所述终端设备,所述终端设备启用重试机制,如果重试失败,则使用本地缓存数据进行降级首页展示。4.根据权利要求1所述的基于Redis的首页数据加载的服务器,其特征在于,所述信令处理模块将所述Redis

key值和所述初始首页数据对应缓存在Redis缓存器失败时,启用重试机制,如果重试失败,本次数据不写入Redis缓存器,等待下次接收获取首页数据的请求指令时重新写入;如果所述信令处理模块将所述Redis

key值对应的初始首页数据发送给所述终端设备失败时,则发送无首页数据返回错误码至终端设备,终端设备在收到所述无首页数据返回错误码时,重新发起获取首页数据的第一请求指令,重走流程。5.根据权利要求1所述的基于Redis的首页数据加载的服务器,其特征在于,所述Redis

key值中,包含终端类型数据和用户标识customerId;所述源数据库包含两个或两个以上的数...

【专利技术属性】
技术研发人员:崔元杰高军舰
申请(专利权)人:聚好看科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1