CN116033195A - 服务器及详情页的获取方法 - Google Patents
服务器及详情页的获取方法 Download PDFInfo
- Publication number
- CN116033195A CN116033195A CN202111240295.6A CN202111240295A CN116033195A CN 116033195 A CN116033195 A CN 116033195A CN 202111240295 A CN202111240295 A CN 202111240295A CN 116033195 A CN116033195 A CN 116033195A
- Authority
- CN
- China
- Prior art keywords
- detail page
- server
- detail
- media asset
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种服务器及详情页的获取方法,所述服务器被配置为:接收来自显示设备的详情页请求,所述详情页请求设置有媒资标识和详情页的页码标识;响应于所述详情页请求,生成包含加密值、所述媒资标识和页码标识的详情页地址,其中,所述加密值值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的;将所述详情页地址反馈给所述显示设备,以使所述显示设备向内容分发网络服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。本申请实施例提高了详情页获取效率和更新效率。
Description
技术领域
本申请涉及服务器技术领域,尤其涉及一种服务器及详情页的获取方法。
背景技术
现如今,一些智能电视的首页会显示推荐用户观看的媒资。用户点击一个媒资时,可进入该媒资的详情页,在该详情页,用户可进行观看媒资介绍、选择一个分集进行观看等操作。对于已经更新完全部分集的媒资,详情页通常是不会变化的,而对于一些分集持续更新中的媒资,在更新前后,详情页的内容会发生变化,用户的访问量也会急剧增加。
相关技术中,为了减轻访问量急剧增加给服务器带来的压力,一种解决方案是通过使用第三方的CDN服务器来对一些详情页的访问请求进行处理,第三方服务器可缓存详情页的数据,在接收到用户的访问请求后,直接将自己缓存的详情页数据反馈给显示设备。然而,第三方的CDN服务器只有在自己的详情页数据更新后才能反馈给显示设备最新的详情页数据,若更新不及时,将会导致用户看到详情页未更新,影响用户体验。
发明内容
为解决详情页更新不及时的技术问题,本申请提供了一种服务器及详情页的获取方法。
第一方面,本申请提供了一种服务器,该服务器被配置为:
接收来自显示设备的详情页请求,所述详情页请求设置有媒资标识和详情页的页码标识;
响应于所述详情页请求,生成包含加密值、所述媒资标识和页码标识的详情页地址,其中,所述加密值值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的;
将所述详情页地址反馈给所述显示设备,以使所述显示设备向内容分发网络服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。
在一些实施例中,所述加密值包括MD5值,生成包含加密值、所述媒资标识和页码标识的详情页地址,包括:
从所述详情页请求中提取出所述媒资标识;
从获取所述媒资标识对应的MD5值;
将内容分发网络服务器的用于存储全部媒资的详情页数据的存储路径根目录、所述媒资标识、页码标识和MD5值拼接成所述详情页请求对应的详情页数据在所述内容详情页请求上的详情页地址。
在一些实施例中,获取所述媒资标识对应的MD5值,包括:
从redis服务器中获取所述媒资标识对应的MD5值;
若未获取到所述MD5值,获取所述媒资标识对应的分布式锁,其中,所述分布式锁与所述媒资标识一一对应;
从mysql服务器中获取所述分布式锁对应的全部详情页的详情页数据,根据全部详情页的详情页数据生成所述媒资标识的MD5值。
在一些实施例中,根据全部详情页的详情页数据生成所述媒资标识的MD5值,包括:
通过MD5加密算法对每页详情页的数据进行加密处理,得到每一页详情页对应的MD5值;
将全部详情页对应的MD5值进行合并,得到所述媒资标识对应的MD5值。
在一些实施例中,所述服务器还被配置为:
在拼接成所述详情页地址后,将所述媒资标识对应的全部详情页的数据和MD5值存储至redis服务器。
在一些实施例中,所述服务器还被配置为:
在一个目标媒资的其中一页详情页的数据发生变化时,将所述目标媒资更新前的全部详情页的数据和加密值删除,其中,所述目标媒资为任一个设置有详情页的媒资。
第二方面,本申请提供了一种详情页的获取方法,该方法包括:
接收来自显示设备的详情页请求,所述详情页请求设置有媒资标识和详情页的页码标识;
响应于所述详情页请求,生成包含加密值、所述媒资标识和页码标识的详情页地址,其中,所述加密值值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的;
将所述详情页地址反馈给所述显示设备,以使所述显示设备向内容分发网络服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。
本申请提供的服务器及详情页的获取方法的有益效果包括:
本申请实施例通过为每个媒资设置一个加密值,该加密值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的,从而在详情页的数据发生变化时,该加密值就会随着变化。在CDN服务器中按照包含媒资标识、页码标识和加密值的详情页地址存储详情页数据,不需要生成CDN文件,避免了CDN文件占用大量存储资源的问题。若用户访问CDN服务器时发送的详情页地址包含了最新的加密值,CDN服务器可根据没有缓存该详情页地址的数据,向显示设备方的服务器回源,从而获取显示设备方的服务器更新后的详情页数据,避免了将CDN服务器中存储的旧的详情页数据返回给显示设备而导致详情页在显示设备上更新不及时的问题,提升了用户体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的显示设备与控制装置之间操作场景;
图2示出了根据一些实施例的控制设备100的硬件配置框图;
图3示出了根据一些实施例的显示设备200的硬件配置框图;
图4示出了根据一些实施例的显示设备200中软件配置图;
图5中示例性示出了根据一些实施例的媒资推荐页面的示意图;
图6中示例性示出了根据一些实施例的详情页的界面示意图;
图7中示例性示出了根据一些实施例的详情页的界面示意图;
图8中示例性示出了根据一些实施例的详情页的界面示意图;
图9中示例性示出了根据一些实施例的详情页获取方法的流程示意图;
图10中示例性示出了根据一些实施例的详情页实现方案的系统架构示意图;
图11中示例性示出了根据一些实施例的详情页获取方法的流程示意图;
图12示出了根据一些实施例的MD5值计算方法的流程示意图;
图13示出了根据一些实施例的对CDN服务器的回源请求的处理方法的流程示意图;
图14中示例性示出了根据一些实施例的CDN服务器的详情页更新示意图;
图15中示例性示出了根据一些实施例的详情页获取方法的时序示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、智能电视、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。图1和图2为本申请的显示设备的一种具体实施方式。
图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备可以不使用上述的智能设备或控制设备接收指令,而是通过触摸或者手势等接收用户的控制。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
如图3,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。
显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。
用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
框架层为应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
在一些实施例中,显示设备启动后可以直接进入预置的视频点播程序的界面,视频点播程序的界面可以如图5中所示,至少包括导航栏和位于导航栏下方的内容显示区,内容显示区中显示的内容会随导航栏中被选中控件的变化而变化。应用程序层中的程序可以被集成在视频点播程序中通过导航栏的一个控件进行展示,也可以在导航栏中的应用控件被选中后进行进一步显示。
在一些实施例中,显示设备启动后可以直接进入上次选择的信号源的显示界面,或者信号源选择界面,其中信号源可以是预置的视频点播程序,还可以是HDMI接口,直播电视接口等中的至少一种,用户选择不同的信号源后,显示器可以显示从不同信号源获得的内容。中的应用程序可以。
在一些实施例中,视频点播程序的界面可以如图5中所示,包括多个媒资控件。图5中的媒资控件如下:“媒资1”控件、“媒资2”控件、“媒资3”控件、“媒资4”控件、“媒资5”控件和“媒资6”控件。
在一些实施例中,用户点击一个媒资控件后,可进入该媒资控件对应媒资的详情页,例如,用户在图5中点击“媒资1”控件,可进入图6所示的详情页。
在一些实施例中,一个媒资可能对应多个详情页,这多个详情页可用于展示一个媒资的不同信息。例如,一个详情页展示该媒资的一些分集,另一个详情页展示该媒资的另一些分集;再例如,一个详情页展示该媒资的全部分集,另一个详情页展示该媒资相同类型的媒资。
需要说明的是,详情页的界面数据包括内容数据和UI(UserInterface,人机交互界面)数据,其中,UI数据是指详情页上显示的各种控件、图片等图形以及文本的坐标位置和尺寸等数据,内容数据是指详情页上显示的各种控件、图片等图形以及文本的内容。
参见图6,媒资1的一个详情页展示的内容数据包括媒资1的播放窗口控件、多个分集控件和分集范围控件,其中,分集控件有10个,分别对应分集1和分集10,分集范围控件有两个,分别对应分集1-分集10,以及分集11-分集18。图6所示的界面,为分集1-分集10对应的一种详情页,此时,分集的正片更新到分集8,对应分集9和分集10的分集控件的上方设置有上标“预告”,表示分集9和分集10当前仅有预告片,没有正片。图6中,播放窗口控件播放的为分集1的正片的视频码流。
参见图7,媒资1的另一个详情页该详情页显示了媒资1的播放窗口控件、多个分集控件和分集范围控件,其中,分集控件有8个,分别对应分集11和分集18,分集范围控件有两个,分别对应分集1-分集10,以及分集11-分集18。图7所示的界面,为分集11-分集18对应的一种详情页,此时,分集11-分集18的分集控件的上方设置有上标“预告”,表示分集11-分集18当前仅有预告片,没有正片。图7中,播放窗口控件播放的为分集11的视频码流。图7中,播放窗口控件播放的为分集11的预告片的视频码流。
当媒资1的分集更新后,详情页的界面可参见图8,如图8所示,该详情页显示了媒资1的播放窗口控件、多个分集控件和分集范围控件,其中,对应分集9和分集10的分集控件的上方设置有上标“新”,表示分集9和分集10的正片是最近更新的,提示用户观看这两个分集。
在一些实施例中,一些热播媒资每天的详情页的访问量可达到上亿级别,部分媒资还包括多个媒资详情页,例如,媒资1在同一时间就有图6和图7这两种详情页,这对服务器带来很大的带宽压力。尤其是在媒资的更新时间,媒资的访问量会迅速上升,用户需要实时看到更新后的详情页界面。例如,若媒资1的更新时间为每天晚上8点,则在某一天的8点之前,用户看到的是图6所示的界面,在晚上8点时,用户需要看到图8所示的界面,这对服务器又提出了很高的实时性要求。
为减轻服务器的压力,显示设备的服务器通过构建用于存储详情页的内容数据的文件服务器,将一些热播媒资的详情页的内容数据存储到文件服务器中的CDN(ContentDelivery Network,内容分发网络)文件中,在接收到热播媒资的访问请求后,可与第三方服务器如CDN服务器进行通信,将接收到的一些详情页的访问流量转移到CDN服务器进行处理,CDN服务器通过一些节点缓存详情页的内容数据,若用户请求的一个媒资如媒资1的内容数据未缓存成功,可通过向文件服务器进行回源的方式获取媒资1的CDN文件,然后从CDN文件中提取出用户所请求的媒资1的详情页的内容数据,将其返回给显示设备。可见,通过CDN服务器分担访问流量可减轻显示设备的服务器的压力,提高详情页的响应速度。
然而,上述详情页的获取方法存在一些问题:由于CDN文件较大,显示设备方的服务器仍需要大量存储空间来存储热播媒资的CDN文件,并且,文件服务器存储的仅为热播媒资的CDN文件,其他媒资的访问请求的处理仍然给显示设备方的服务器带来较大压力;另外,CDN服务器在节点存储有一个详情页的缓存时,对该缓存的更新依赖于接收到显示设备方的服务器的通知,若该详情页的缓存未及时更新,则会导致显示设备获取到的详情页未更新,例如,显示设备应该显示图8所示的界面,但实际显示的是图6所示的界面,这会给用户带来不好的用户体验。
为解决上述技术问题,本申请实施例提供了一种详情页的存储方法和详情页的获取方法,通过改变详情页的存储方式和获取方式,提高详情页的响应速度和更新及时性。
需要说明的是,由于详情页的界面数据包括UI数据和内容数据,而UI数据的获取及展示是本申请不涉及的一种机制实现,因此,本申请实施例提供的详情页的存储方法和详情页的获取方法,指的均是对详情页的内容数据的处理方法,显示设备在获取到详情页的内容数据后,可将内容数据和UI数据整合成详情页的界面数据,进而展示该界面数据对应的如图6或图7或图8所示的详情页。
在一些实施例中,CDN服务器为显示设备方控制的服务器,该CDN服务器上可缓存由显示设备的redis服务器提供的详情页的内容数据。示例性的,详情页的内容数据的存储路径为:xxxxx/detail/{mediaid}_{pagenum},其中,该存储路径可为基于http协议的存储路径,即该存储路径在xxxxx前边还可包括http前缀,下文不再指出。xxxxx/detail/为详情页的内容数据的根目录,xxxxx可为hismarttv.com,{mediaid}为媒资标识,pagenum为页码标识。
在一些实施例中,显示设备在接收到进入详情页的用户操作后,获取该用户操作对应的媒资标识和页码标识,生成包含该媒资标识和页码标识的详情页请求。
其中,该进入详情页的用户操作可以是用户从一些页面如媒资推荐页面、媒资详情页面等页面点击一个媒资控件的操作。媒资标识可从该媒资控件的界面数据中获得。页码标识可通过查询用户标识对应该媒资标识的历史观看记录得到,若有历史观看记录,则根据历史观看记录所在的分集确定,若无历史观看记录,则将页码标识确定为页码1。或者,也可默认将页码标识1确定为页码1。
该进入详情页的用户操作也可以是在一个媒资的详情页,用户点击预设控件以切换详情页的操作。示例性的,该预设控件可包括分集范围控件。媒资标识和页码标识可从该预设控件的界面数据中获得。
在一些实施例中,显示设备方的服务器对上述详情页请求的处理方法可参见图9,包括如下步骤:
步骤S101:接收来自显示设备的详情页请求,所述详情页请求设置有媒资标识和详情页的页码标识。
在一些实施例中,服务器在接收到详情页请求后,从详情页请求中提取出媒资标识、页码标识。
在一些实施例中,显示设备发送的详情页请求也可以不包含页码标识,服务器在接收到详情页请求后,默认显示设备请求的是第1页详情页的内容数据,或者通过查询用户观看该媒资的记录确定详情页的页码。
步骤S102:响应于所述详情页请求,生成包含加密值、所述媒资标识和页码标识的详情页地址。
在一些实施例中,加密值为MD5值。服务器在接收到详情页请求后,查询该媒资标识对应的MD5值。若媒资标识对应的某个详情页的内容数据发生变化,则MD5值将会不同。
在一些实施例中,服务器可按照详情页的内容数据在CDN服务器上的存储路径根目录、媒资标识、页码标识和MD5值的顺序拼接详情页地址。
步骤S103:将所述详情页地址反馈给所述显示设备,以使所述显示设备向内容分发网络服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。
在一些实施例中,服务器在得到详情页地址后,将详情页地址反馈给显示设备,以使所述显示设备向CDN服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。
根据图9所示的方法,为在显示设备上生成详情页,需要显示设备与显示设备方的服务器进行交互,以及显示设备方的服务器与CDN服务器进行交互。
参见图10,为根据一些实施例的详情页实现方案的系统架构示意图。
图10中,显示设备方的服务器包括nginx服务器、API(Application ProgrammingInterface,应用程序接口)服务器、mysql服务器和redis服务器。
在一些实施例中,nginx服务器用于提供负载均衡服务,可将显示设备发送的数据转给API服务器,将API服务器发送的数据转发给显示设备。API服务器可设置有终端接口和回源接口,其中,终端接口用于接收来自显示设备的数据,并将反馈给显示设备的数据转发给nginx服务器,回源接口用于CDN服务器对redis服务器中的详情页的内容数据进行回源。
mysql服务器可用于存储每个详情页最新的内容数据,redis服务器可用于缓存详情页的内容数据和MD5值,其中MD5值由API服务器生成,若mysql服务器中的一个媒资标识对应的某一详情页的内容数据发生了更新,mysql服务器可生成该媒资标识对应的更新日志。
API服务器可设置有一个监听mysql的日志的进程,该进程若监听到详情页的更新日志,则可将redis服务器中该媒资标识对应的MD5值和详情页的内容数据删除,然后根据mysql服务器中该媒资标识对应详情页的内容数据生成新的MD5值,将新的MD5值和新的详情页的内容数据缓存至redis服务器内。由于网络波动等原因,有时可能会出现MD5值和详情页的内容数据缓存失败的情况。
在一些实施例中,显示设备将详情页请求发送给nginx服务器,nginx服务器将详情页请求转发给API服务器进行处理。
在一些实施例中,API服务器通过终端接口接收nginx服务器发送的详情页请求,在接收到详情页请求后,从详情页请求中提取出媒资标识和详情页的页码标识。然后根据该媒资标识查询MD5值。若能查询到,则生成CDN服务器的跳转地址,即上述实施例指出的详情页地址,依次通过终端接口、nginx服务器将该跳转地址返回给显示设备。若不能查询到,则访问mysql服务器获取详情页的内容数据并根据该详情页的内容数据生成MD5值。
在一些实施例中,显示设备在接收到CDN服务器的跳转地址后,根据该跳转地址,访问CDN服务器的该跳转地址。
在一些实施例中,CDN服务器在接收到显示设备对该跳转地址的访问请求后,可查询自己是否有跳转地址,若有该跳转地址,则将该跳转地址对应的详情页的内容数据反馈给显示设备,若没有该跳转地址,则通过API服务器的回源接口向redis服务器请求该详情页的内容数据。
可见,API服务器通过监听机制提高了redis服务器存储最新的MD5值和详情页数据的几率。通过终端接口处理与显示设备的数据交互,通过回源接口处理与CDN服务器的数据交互。
参见图11,API服务器生成详情页地址的方法包括可如下步骤:
步骤S201:接收详情页请求。
步骤S202:判断redis服务器中是否存在媒资标识对应的MD5值。
步骤S203:若存在,生成CDN服务器中的详情页地址。
步骤S204:向终端接口返回详情页地址。
步骤S205:若不存在,判断是否能获取到“mysql访问”分布式锁。
在一些实施例中,每个媒资标识对应一个“mysql访问”分布式锁。“mysql访问”分布式锁可减轻mysql服务器的并发压力。
步骤S206:若能获取到,从mysql服务器中获取全部详情页数据。
在一些实施例中,可通过“mysql访问”分布式锁在mysql服务器中查询详情页数据,可查到“mysql访问”分布式锁对应的媒资标识的全部详情页数据,即全部详情页的内容数据。
步骤S207:拼接全部详情页数据,并生成MD5值。
在一些实施例中,API服务器在获取到全部详情页的内容数据后,可将全部详情页的内容数据拼接成一个文件。
在一些实施例中,API服务器在获取到全部详情页的内容数据后,生成媒资标识对应的MD5值。
参见图12,若一个媒资标识对应的详情页的数量为n,n大于等于1,API服务器可根据详情页第1页数据,利用MD5消息摘要算法计算出第1页MD5,根据详情页第2页数据计算出第2页MD5,…,根据详情页第n页数据计算出第n页MD5。最后,根据第1页MD5、第2页MD5、…、第n页MD5进行合并,得到详情页MD5,即媒资标识的MD5值。
步骤S208:在redis服务器中写入MD5值和详情页数据。
步骤S209:生成CDN服务器中的详情页地址。
步骤S210:向终端接口返回详情页获取失败的消息。
参见图13,CDN服务器向API服务器的回源接口发送回源请求后,API服务器可进行如下步骤的响应:
步骤S301:接收CDN服务器的回源请求。
在一些实施例中,API服务器通过回源接收CDN服务器发送的回源请求,其中,该回源请求包括媒资标识。
步骤S302:判断redis服务器中是否能获取到所需的详情页数据。
在一些实施例中,API服务器在接收到回源请求后,在redis服务器中查询回源请求中的媒资标识对应的详情页数据。
步骤S303:若不能获取到,获取“mysql访问”分布式锁。
步骤S304:若能获取到“mysql访问”分布式锁,在mysql服务器中获取详情页数据。
步骤S305:拼接详情页数据。
步骤S306:在redis服务器中写入详情页数据。
步骤S307:通过回源接口向CDN服务器返回详情页数据。
在一些实施例中,API服务器向CDN服务器返回的详情页数据可以是媒资标识的全部详情页的详情页数据,以便CDN服务器将这些详情页数据一一进行存储,从而下次用户访问另一详情页时,CDN服务器能快速返回详情页数据。
在一些实施例中,API服务器下个CDN服务器返回的详情页数据可以是本次用户请求的详情页的详情页数据,以便CDN服务器能迅速将该详情页数据返回给显示设备,保障本次详情页请求的响应速度。
步骤S308:若没获取到“mysql访问”分布式锁,通过回源接口向CDN服务器返回响应码500。
在一些实施例中,若在步骤S303中,API服务器没有获取到“mysql访问”分布式锁,则通过回源接口向CDN服务器返回响应码500。CDN服务器接收到该响应码后,可向显示设备发送详情页获取失败的消息。
在一些实施例中,显示设备接收到详情页获取失败的消息后,可显示网络不佳等消息,用户看到该消息后,可稍后再次进入详情页,使CDN服务器重新获取详情页的内容数据。
可见,CDN服务器在自身没有缓存最新的MD5值对应的详情页的内容数据时,通过API服务器的回源接口进行回源,获取的是详情页的内容数据,而不是CDN文件,因此,显示设备方的服务器无需生成CDN文件,可避免显示设备方的服务器生成大量CDN文件而造成对存储资源的占用,使得所有媒资的访问都可以经CDN服务器进行处理,利用CDN服务器节点众多的优点,可在短时间内快速处理大量详情页的访问请求,并发水平高。
除了能提高并发水平,本申请实施例还能解决CDN服务器节点的详情页数据更新延迟的问题。参见图14,显示设备向API服务器请求1个详情页的数据后,API服务器向其返回的数据为跳转至一个URL:xxxxx/detail/{mediaid}_{pagenum}_{md5}。显示设备接收到该URL后,则访问CDN服务器上的该URL。若显示设备访问到的CDN服务器为CDN节点1,则CDN节点1接收到该URL的访问请求后,根据该URL为一个没有缓存过的新URL,立即向API服务器进行回源。API服务器接收到回源请求后,向CDN节点1返回详情页数据,即该URL的数据。CDN节点1接收到详情页数据后,将该详情页数据返回给显示设备,使显示设备显示详情页。
可见,由于API服务器生成的CDN服务器的跳转地址包含MD5值,而MD5值是基于详情页的内容数据生成的,详情页的内容数据变化则MD5值必然变化,因此,CDN服务器可根据自己没有包括该MD5值的缓存,立即回源,获取最新的详情页数据,避免了向显示设备返回旧的详情页数据使显示设备显示未更新的详情页的问题,解决了CDN更新延迟的问题,提升了用户体验。
由于采用了通过回源接口进行回源的形式,回源请求在nginx服务器中会有记录。当需要看某个视频的历史数据时,从nginx服务器中筛出该媒资的历史回源请求,按照时间排序,即可得到详情页历史的回源记录。由于回源数据都在cdn服务器的节点中做了缓存,所以直接访问即可看到详情页历史数据,方便线上问题的定位。
为对本申请实施例提供的详情页的获取的方法做进一步描述,图15示出了一种详情页的获取方法的时序示意图。
图15中,显示设备方的服务器包括nginx服务器、API服务器、redis服务器和mysql服务器,其中,这些服务器可以是单个服务器,也可以是服务器集群。CDN服务器通常也是集群的形式,包括多个CDN节点,图15中的CDN服务器可指一个CDN节点,如CDN节点1。
示例性的,显示设备发出的详情页请求为媒资1第一页详情页的详情页请求,例如,用户点击媒资1的控件,生成该详情页请求。
详情页请求到达API服务器后,服务器根据详情页请求中的媒资标识,媒资标识用medi aID来表示,媒资1的媒资标识可称为mediaID1,在redis服务器中获取该媒资标识对应的MD5值。若获取到,则生成包含该MD5值的URL,该URL的格式为:xxxxx/detail/{mediaid}_{pagenum}_{md5}。其中,该URL为基于http协议的URL,xxxxx/detail/为CDN服务器用于存储详情页数据的根目录,pagenum为页码标识。
示例性的,mediaid=1029864545,pagenum=1。下面分别就CDN服务器中缓存的详情页的数据不需要更新和需要更新这两种场景进行介绍。图15中,虚线的步骤表示第二种场景的一些步骤。
第一种场景如下:
若mysql服务器存储的媒资1的全部详情页的数据未更新,则媒资1在CDN服务器中缓存的全部详情页的数据与在mysql服务器中存储的全部详情页的数据相同,无需更新。
若MD5=F6BFE5DA599732878EE039C83993F233,则URL为:xxxxx/detail/1029864545_1_F6BFE5DA599732878EE039C83993F233。
第二种场景如下:
若mysql服务器存储的媒资1的其中一页详情页的数据更新了,则在用户发出访问请求时,媒资1在CDN服务器中缓存的详情页的数据可能还未更新,则CDN服务器中的详情页数据需要更新。
此时,对应更新后的媒资1的MD5为:MD5=39C285DA59978E8396BFE73E093F233F,则URL为:xxxxx/detail/1029864545_1_39C285DA59978E8396BFE73E093F233F。可见,该URL与媒资1在详情页的数据更新前的URL不一致。
无论是哪种场景,API服务器在生成URL后,可将URL返回至显示设备,显示设备访问CDN服务器的该URL。
若是第一种场景,CDN服务器接收到该URL的访问请求后,可根据自己缓存有该URL对应的详情页数据,直接获取该URL对应的详情页数据,即媒资1的第1页详情页的内容数据。
若是第二种场景,CDN服务器接收到该URL的访问请求后,可根据自己没有缓存该UEL对应的详情页数据,向API服务器进行回源,以获取该URL对应的详情页数据。
CDN服务器在获取到显示设备请求的URL对应的详情页数据后,可将该URL对应的详情页数据返回至显示设备。
显示设备接收到详情页数据后,可将详情页数据与详情页的UI数据进行整合,生成并显示详情页界面。
由上述实施例可见,本申请实施例通过为每个媒资设置一个加密值,该加密值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的,从而在详情页的数据发生变化时,该加密值就会随着变化。在CDN服务器中按照包含媒资标识、页码标识和加密值的详情页地址存储详情页数据,不需要生成CDN文件,避免了CDN文件占用大量存储资源的问题。若用户访问CDN服务器时发送的详情页地址包含了最新的加密值,CDN服务器可根据没有缓存该详情页地址的数据,向显示设备方的服务器回源,从而获取显示设备方的服务器更新后的详情页数据,避免了将CDN服务器中存储的旧的详情页数据返回给显示设备而导致详情页在显示设备上更新不及时的问题,提升了用户体验。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性地,本申请的真正范围和精神由权利要求的内容指出。
以上的本申请实施方式并不构成对本申请保护范围的限定。
Claims (10)
1.一种服务器,其特征在于,所述服务器被配置为:
接收来自显示设备的详情页请求,所述详情页请求设置有媒资标识和详情页的页码标识;
响应于所述详情页请求,生成包含加密值、所述媒资标识和页码标识的详情页地址,其中,所述加密值值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的;
将所述详情页地址反馈给所述显示设备,以使所述显示设备向内容分发网络服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。
2.根据权利要求1所述的服务器,其特征在于,所述加密值包括MD5值,生成包含加密值、所述媒资标识和页码标识的详情页地址,包括:
从所述详情页请求中提取出所述媒资标识;
从获取所述媒资标识对应的MD5值;
将内容分发网络服务器的用于存储全部媒资的详情页数据的存储路径根目录、所述媒资标识、页码标识和MD5值拼接成所述详情页请求对应的详情页数据在所述内容详情页请求上的详情页地址。
3.根据权利要求2所述的服务器,其特征在于,获取所述媒资标识对应的MD5值,包括:
从redis服务器中获取所述媒资标识对应的MD5值;
若未获取到所述MD5值,获取所述媒资标识对应的分布式锁,其中,所述分布式锁与所述媒资标识一一对应;
从mysql服务器中获取所述分布式锁对应的全部详情页的详情页数据,根据全部详情页的详情页数据生成所述媒资标识的MD5值。
4.根据权利要求3所述的服务器,其特征在于,根据全部详情页的详情页数据生成所述媒资标识的MD5值,包括:
通过MD5消息摘要算法对每页详情页的数据进行加密处理,得到每一页详情页对应的MD5值;
将全部详情页对应的MD5值进行合并,得到所述媒资标识对应的MD5值。
5.根据权利要求2所述的服务器,其特征在于,所述服务器还被配置为:
在拼接成所述详情页地址后,将所述媒资标识对应的全部详情页的数据和MD5值存储至redis服务器。
6.根据权利要求1所述的服务器,其特征在于,所述服务器还被配置为:
在一个目标媒资的其中一页详情页的数据发生变化时,将所述目标媒资更新前的全部详情页的数据和加密值删除,其中,所述目标媒资为任一个设置有详情页的媒资。
7.根据权利要求1所述的服务器,其特征在于,所述服务器还被配置为:
接收所述CDN服务器的回源请求,所述回源请求设置有所述媒资标识;
响应于所述回源请求,查找所述媒资标识对应的全部详情页的数据;
将全部详情页的数据反馈给所述CDN服务器。
8.一种详情页的获取方法,用于服务器,其特征在于,包括:
接收来自显示设备的详情页请求,所述详情页请求设置有媒资标识和详情页的页码标识;
响应于所述详情页请求,生成包含加密值、所述媒资标识和页码标识的详情页地址,其中,所述加密值值是对所述媒资标识对应的全部详情页的数据进行加密处理生成的;
将所述详情页地址反馈给所述显示设备,以使所述显示设备向内容分发网络服务器请求所述详情页标识对应的详情页数据,根据所述详情页数据生成所述详情页标识对应的详情页。
9.根据权利要求8所述的详情页的获取方法,其特征在于,所述加密值包括MD5值,生成包含加密值、所述媒资标识和页码标识的详情页地址,包括:
从所述详情页请求中提取出所述媒资标识;
从获取所述媒资标识对应的MD5值;
将内容分发网络服务器的用于存储全部媒资的详情页数据的存储路径根目录、所述媒资标识、页码标识和MD5值拼接成所述详情页请求对应的详情页数据在所述内容详情页请求上的详情页地址。
10.根据权利要求9所述的详情页的获取方法,其特征在于,获取所述媒资标识对应的MD5值,包括:
从redis服务器中获取所述媒资标识对应的MD5值;
若未获取到所述MD5值,获取所述媒资标识对应的分布式锁,其中,所述分布式锁与所述媒资标识一一对应;
从mysql服务器中获取所述分布式锁对应的全部详情页的详情页数据,根据全部详情页的详情页数据生成所述媒资标识的MD5值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111240295.6A CN116033195A (zh) | 2021-10-25 | 2021-10-25 | 服务器及详情页的获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111240295.6A CN116033195A (zh) | 2021-10-25 | 2021-10-25 | 服务器及详情页的获取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116033195A true CN116033195A (zh) | 2023-04-28 |
Family
ID=86071043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111240295.6A Pending CN116033195A (zh) | 2021-10-25 | 2021-10-25 | 服务器及详情页的获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116033195A (zh) |
-
2021
- 2021-10-25 CN CN202111240295.6A patent/CN116033195A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060015763A1 (en) | Real-time web sharing system | |
US20050283734A1 (en) | System and method for simultaneous display of multiple information sources | |
CN112905210B (zh) | 服务器及灰度发布方法 | |
EP3989589A1 (en) | Video update push method and terminal | |
CN112463750B (zh) | 一种文件同步方法及显示设备 | |
JP2011513814A (ja) | 機能のレベルに合ったコンテンツ管理 | |
CN114915810B (zh) | 一种媒资推送方法及智能终端 | |
CN114928760B (zh) | 控制装置的按键设置方法及显示设备 | |
CN116033195A (zh) | 服务器及详情页的获取方法 | |
CN113316014B (zh) | 一种显示设备、服务器及第三方数据显示控制方法 | |
CN112653608B (zh) | 一种显示设备、移动终端及跨网数据传输的方法 | |
CN115278822A (zh) | 显示设备、控制设备及广播源扫描方法 | |
CN113709541A (zh) | 基于web的多终端设备互动方法、系统、终端设备 | |
US20120117118A1 (en) | Search and deep linking in internet-enabled tv | |
CN114785778B (zh) | 网关设备和内容分发方法 | |
CN112839247B (zh) | 一种内容显示方法、显示设备及云端服务器 | |
CN114173176B (zh) | 一种服务器、显示设备及媒资过滤方法 | |
US10779049B2 (en) | User-tailored content access menus | |
CN117768681A (zh) | 显示设备及媒资播放方法 | |
WO2022166349A1 (zh) | 一种媒资推送方法及智能终端 | |
CN116600161A (zh) | 显示设备、服务器及媒资播放进度同步方法 | |
CN117294879A (zh) | 服务设备和显示设备 | |
CN114915818A (zh) | 一种媒资推送方法及智能终端 | |
CN113992963A (zh) | 一种显示设备及投屏方法 | |
CN117762361A (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 |