CN116627642A - 用于管理应用的访问请求的方法、装置、设备和介质 - Google Patents
用于管理应用的访问请求的方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116627642A CN116627642A CN202310587283.3A CN202310587283A CN116627642A CN 116627642 A CN116627642 A CN 116627642A CN 202310587283 A CN202310587283 A CN 202310587283A CN 116627642 A CN116627642 A CN 116627642A
- Authority
- CN
- China
- Prior art keywords
- server
- page elements
- application
- page
- access request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013459 approach Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了用于管理应用的访问请求的方法、装置、设备和介质。在一种方法中,接收用于在应用中访问目标页面的访问请求。确定应用的第一服务器的工作负载,第一服务器包括目标页面中的第一组页面元素。响应于确定工作负载满足第一阈值条件,将访问请求转发至应用的第二服务器,以便指示第二服务器来处理访问请求,第二服务器包括目标页面中的第一组页面元素中的第二组页面元素。利用本公开的示例性实现方式,可以提供多种分流方式,进而确保利用适合的服务器设备来处理来自各个应用的访问请求。
Description
技术领域
本公开的示例性实现方式总体涉及应用管理,特别地涉及用于管理应用的访问请求的方法、装置、设备和计算机可读存储介质。
背景技术
随着计算机技术和网络技术的发展,目前已经开发出了多种类型的应用。可以在应用中提供包括多种格式的数据,例如,可以提供文本、图像、音频、视频等格式的数据。用户可以使用多种应用来访问期望的数据,当出现热点事件时,用户的访问量可能会骤增。这导致用户难以连接应用的服务器,并且可能会出现访问中断或者延迟等问题。此时,如何以更为有效的方式管理访问请求进而提高用户访问期望数据的速度,成为应用管理领域的难点和热点。
发明内容
在本公开的第一方面,提供了一种用于管理应用的访问请求的方法。在该方法中,接收用于在应用中访问目标页面的访问请求。确定应用的第一服务器的工作负载,第一服务器包括目标页面中的第一组页面元素。响应于确定工作负载满足第一阈值条件,将访问请求转发至应用的第二服务器,以便指示第二服务器来处理访问请求,第二服务器包括目标页面中的第一组页面元素中的第二组页面元素。
在本公开的第二方面,提供了一种用于管理应用的访问请求的装置。该装置包括:接收模块,被配置用于接收用于在应用中访问目标页面的访问请求;确定模块,被配置用于确定应用的第一服务器的工作负载,第一服务器包括目标页面中的第一组页面元素;以及转发模块,被配置用于响应于确定工作负载满足第一阈值条件,将访问请求转发至应用的第二服务器,以便指示第二服务器来处理访问请求,第二服务器包括目标页面中的第一组页面元素中的第二组页面元素。
在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令在由至少一个处理单元执行时使电子设备执行根据本公开第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时使处理器实现根据本公开第一方面的方法。
应当理解,本内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
在下文中,结合附图并参考以下详细说明,本公开各实现方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了根据本公开的一个示例性实现方式的应用的界面的框图;
图2示出了根据本公开的一些实现方式的用于管理应用的访问请求的框图;
图3示出了根据本公开的一些实现方式的在多个设备处分别存储目标页面的不同精度的页面元素的框图;
图4示出了根据本公开的一些实现方式的在网络环境中实现管理访问请求的框图;
图5示出了根据本公开的一些实现方式的在多个设备之间实现的用于管理应用的访问请求的过程的框图;
图6示出了根据本公开的一些实现方式的用于管理应用的访问请求的方法的流程图;
图7示出了根据本公开的一些实现方式的用于管理应用的访问请求的装置的框图;以及
图8示出了能够实施本公开的多个实现方式的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的关联关系。例如,可以基于目前已知的和/或将在未来开发的多种技术方案来获取上述关联关系。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
在此使用的术语“响应于”表示相应的事件发生或者条件得以满足的状态。将会理解,响应于该事件或者条件而被执行的后续动作的执行时机,与该事件发生或者条件成立的时间,二者之间未必是强关联的。例如,在某些情况下,后续动作可在事件发生或者条件成立时立即被执行;而在另一些情况下,后续动作可在事件发生或者条件成立后经过一段时间才被执行。
示例环境
随着移动互联网及Web技术的发展,可以在移动设备处提供线上活动体验。例如,可以在应用中提供有关活动的文字、图像、音频、视频等多媒体内容。用户可以提交访问请求以便在移动设备处浏览有关活动的多种信息。为了便于描述,在下文中仅以体育新闻应用作为应用的示例,来描述管理应用的访问请求的过程。将会理解,在此的应用可以是提供其他内容的应用,例如,新闻应用、音乐应用、视频应用、社交应用,等等。
图1示出了根据本公开的一个示例性实现方式的应用的界面的框图100。如图1左侧所示,可以在应用110中呈现多个体育比赛的信息,用户可以通过例如点击等操作来向应用110的服务器提交访问请求112。如图1右侧所示,服务器可以基于访问请求112来在应用110中提供相应的目标页面150。在此的目标页面150可以包括多个页面元素。例如,在转播篮球比赛期间,可以提供直播视频120,以便实时地播放篮球比赛的视频画面,可以提供实时比分130,并且可以提供球队介绍140等页面元素。
将会理解,在应用中被访问的目标页面的可用性成为衡量活动体验的重要指标。当应用的服务器处于较低工作负载时,服务器可以迅速响应来自用户的访问请求并且向用户提供期望的目标页面。然而,当访问量达到或超过某个阈值时,服务器的工作负载可能会超负荷运转,并导致响应速度下降甚至中断。
页面的可用性是指用户在访问某个页面后是否能够快速并且成功打开期望的页面。通常,在服务器的工作负载在预期内并且稳定在较低水平的情况下,页面是可用的。然而,对于大型活动业务而言,业务通常会出现爆发期(例如对于体育而言,通常在开幕式这类的关键节点)。为了应对在爆发期内可能出现的工作负载的极值,通常提供多个服务器来分别处理大量访问请求,这需要占用大量服务器设备并且提高了设备成本。此外,难以预估该爆发期的流量阈值情况,从而无法准确地预估所需的服务器数量。此时,如何以更为有效的方式管理访问请求进而提高用户访问期望数据的速度,成为应用管理领域的难点和热点。
管理访问应用的概要
为了至少部分地解决现有技术中的不足,根据本公开的一个示例性实现方式,提出了一种用于管理应用的访问请求的方法。概括而言,可以提供分层降级的页面技术方案,也即,在应用的多个服务器处可以提供具有不同分层降级的页面元素。以此方式,在服务器处于低工作负载且稳定的情况下,可以最大限度地利用具有实时数据的中央服务器来实时地服务于用户的访问请求。当服务器面临突发且无法预测的高工作负载时,可以利用具有近似实时数据的分布式服务器来提供分层降级的页面元素,从而保证页面的可用性不会受到严重损害,并且最大限度满足用户需求。
参见图2描述根据本公开的一个示例性实现方式的概要,图2示出了根据本公开的一些实现方式的用于管理应用的访问请求的框图200。如图2所示,应用可以包括多个服务器设备,可以在第一服务器210处提供应用的各个页面的第一组页面元素212,并且可以在第二服务器220处提供各个页面的第二组页面元素222。
第一服务器210可以是用于处理来自各个应用的大量访问请求的中央服务器(例如,页面服务器),并且第二服务器220可以是应用的分布式缓存服务器。在此,第一组页面元素212可以包括页面的全部页面元素,例如,实时更新的页面元素。第二组页面元素222可以包括页面中的至少一部分元素,也即,第二组页面元素222可以是全部页面元素的子集。根据本公开的一个示例性实现方式,页面元素可以包括在内容页面中可能会呈现的任意元素,例如,包括但不限于:文本、图像、音频、视频,等等。
根据本公开的一个示例性实现方式,可以实时地更新第一组页面元素212,以便使得第一组页面元素212包括最新的页面元素。第二服务器220可以与第一服务器210执行周期性同步,例如,可以按照预定时间间隔(例如,5分钟、10分钟或者其他数值)来从第一服务器210同步数据。此时,第二组页面元素222中的页面元素是近似实时更新的,并且可以具有一定的延迟。
可以在客户端230处部署应用110,应用110的用户可通过点击等操作来提交用于访问目标页面150的访问请求112。此时,可以基于第一服务器210的工作负载214来判断是否由第一服务器210来处理访问请求112。如果工作负载214满足不第一阈值条件(例如,工作负载214小于预定阈值),则可以有第一服务器210来处理访问请求112。如果工作负载214满足第一阈值条件(例如,工作负载214大于或者等于预定阈值),则可以将访问请求112转发至应用110的第二服务器220,进一步可以指示第二服务器220来处理访问请求112。此时,第二服务器220可以向应用110提供第二组页面元素222。
利用本公开的示例性实现方式,通过在不同服务器处存储具有不同精度(例如,不同数量和/或不同实时性)的页面元素,根据第一服务器210的工作负载214来向用户提供不同的页面。当第一服务器210的工作负载214较高并且不能提供实时更新的目标页面(例如,包括实时更新的第一组页面元素212)时,可以由第二服务器220来向用户提供降级的目标页面(也即,包括较少内容或实时性较低的第二组页面元素222)。以此方式,尽管第二组页面元素222的内容并不是最新的,此时用户仍然可以获得包括略微延迟内容的页面数据,进而可以满足用户的基础需求。
管理访问应用的详细过程
已经描述了根据本公开的一个示例性实现方式的概要,在下文中,参见图3描述分层降级的页面的更多细节。图3示出了根据本公开的一些实现方式的在多个设备处分别存储目标页面的不同精度的页面元素的框图300。
根据本公开的一个示例性实现方式,应用110可以是多媒体提供应用,并且应用110可以提供有关多个方面的多媒体数据,例如,有关体育、音乐、娱乐等方面的数据。此时,目标页面150可以包括实时更新的多媒体数据,例如,文本、图像、音频、视频,等等。可以基于不同的周期来更新多媒体数据,例如,可以实时地更新体育比赛的音频和视频数据,以便达到直播效果。可以在半分钟(和/或其他时间间隔)更新目标页面中的图像,可以按照其他时间间隔来更新目标页面中的文本,等等。
根据本公开的一个示例性实现方式,在不同位置处存储的页面可以包括不同精度的页面元素。如图3所示,第一服务器210处的第一组页面元素212可以包括实时更新的页面内容。在此,第一服务器210例如可以是应用的中央服务器,并且第一组页面元素212可以包括直播视频120、实时比分130和球队介绍140等部分。在此,第一组页面元素212可以是实时更新的,以便确保用户可以访问到最新版本的页面内容。
将会理解,尽管实时更新的页面元素可以向用户提供丰富的数据,然而实时更新和大量访问可能会造成在爆发热点事件时出现访问中断和/或延迟等异常状态,进而无法确保目标页面的可用性。此时,可以在第二服务器220处存储降级的第二组页面元素222。此时,第二服务器220可以是应用的分布式缓存服务器,这些服务器可以作为应用的分支节点,来向应用提供更为可靠的保障。具体地,可以基于内容分发网络(Content DeliveryNetwork,缩写CDN)来实现第二服务器220。
利用本公开的示例性实现方式,可以尽可能避开网络中的有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置CDN服务器,可以在现有的互联网基础之上形成智能虚拟网络。此时,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的访问请求重新定向到距离用户最近的CDN节点上。
将会理解,第二组元素222可以包括第一组页面元素212中的至少一部分。例如,第二组页面元素222可以包括篮球比赛的实时比分130和球队介绍140。备选地和/或附加地,第二组页面元素220可以进一步包括篮球比赛的文字直播和/或照片等内容。以此方式,第二服务器220可以作为第一服务器210的补充,并且在需要时向用户提供降级的目标页面中的至少一部分数据,进而满足用户的基本需求。
将会理解,为了确保第二组页面元素222的时效性,可以周期性地利用最新的第一组页面元素212来更新第二组页面元素222。例如,可以基于CDN系统的具体配置来更新第二组页面元素222,以便确保在遇到第一服务器210的工作负载过高时,仍然可以以近似实时的方式来向用户提供期望的数据。
根据本公开的一个示例性实现方式,可以在客户端230本地处提供第三组页面元素232。此时,第三组页面元素232可以包括基础页面元素。例如,可以在应用110的安装包中内置这些页面元素,此时,第三组页面元素232将会随着用户安装应用110而被预存至客户端230处。备选地和/或附加地,第三组页面元素232可以是从第一服务器210和第二服务器220中的任一项接收的目标页面中的页面元素。例如,在用户使用应用110期间,可以从第一服务器210和/或第二服务器220下载第三组页面元素232。此时,第三组页面元素232本身位于客户端230处,因而在用户无法访问第一服务器210和第二服务器220的情况下,可以向用户提供有关目标页面的基本数据。在用户观看篮球比赛的情况下,第三组页面元素232可以包括球队介绍140等基本数据。
根据本公开的一个示例性实现方式,在应用110的开发和维护过程中,可以执行页面打包过程,以便分别基于不同的精度来执行页面元素的打包过程。此时,可以存在实时线上版本(例如,中央服务器和分布式缓存服务器可以共享相同的版本)以及离线版本。在离线访问模式下,访问请求的地址将被映射至客户端本地的路径。在完成各端的打包过程之后,分别对各版本进行流水线的发布处理。
对于中央服务器,可以直接更新该中央服务器中的HTML版本。对于分布式缓存服务器,可以将页面资源发布到CDN系统,并触发CDN侧的主动刷新。以此方式,尽管最新发布的页面到达各个CDN服务器的时间不定,可以确保CDN系统中的版本是近似实时的(通常在数分钟的时间范围内)。
对于客户端版本而言,可以通过将页面资源同步至客户端打包平台,客户端在打包进行新版发布时,页面资源则会一起被打包至客户端包内,此时通过在客户端的预制访问逻辑,即可完成对兜底资源的访问。在完成对应的操作后,多个分支版本的打包完成并且可以被发布,此时多个分支版本的网页资源准备就绪。
根据本公开的一个示例性实现方式,可以在网络系统中的任何位置处执行管理访问请求的过程。例如,可以在客户端230与第一服务器210之间网络设备处执行上述过程,此时,网络设备更加易于收集第一服务器210的工作负载,进而将访问请求转发至适合的服务器。具体地,可以在网络中的负载均衡器410处执行上文描述的过程,参见图4描述更多细节。
图4示出了根据本公开的一些实现方式的在网络环境中实现管理访问请求的框图400。如图4所示,客户端230经由网络420来连接至第一服务器210和多个第二服务器220、…、430。可以基于应用110的用户数量、在线用户数量等参数来设置第二服务器的数目。可以在应用110的负载均衡器410处部署管理器440,以便用于管理来自客户端230的访问请求。将会理解,负载均衡器410负责监视第一服务器210的工作负载,由此更适合于基于不同的工作负载来完成转发访问请求的过程。
图5示出了根据本公开的一些实现方式的在多个设备之间实现的用于管理应用的访问请求的过程的框图500。如图5所示,客户端设备230可以发送510访问请求。此时用户的流量首先在管理器450处被拦截,继而进行分发。具体地,用户访问目标页面相当于对目标页面发起访问请求,该访问请求将被引导至第一服务器210的负载均衡器440。当用户成功发起访问请求时,则负载均衡器440处的管理器450可以接收到该访问请求。
继而,管理器450可以获取512第一服务器210的工作负载,并且基于工作负载来判断由哪个设备来响应该访问请求。如果确定514工作负载满足第一阈值条件(例如,高于预定阈值),可以将访问请求转发至应用110的第二服务器220。根据本公开的一个示例性实现方式,可以基于具体应用环境来设置阈值条件,例如,可以基于第一服务器210的能够承受的最高工作负载的预定比例(例如,80%或者其他数值)来设置第一阈值条件。备选地和/或附加地,可以基于访问请求的数量来设置第一阈值条件。
具体地,管理器450在收到访问请求之后,可以统计访问请求的数量,并基于统计结果进行流量引导。管理器450可以基于当前的流量状态来将收到的访问请求转发到适合的服务器。具体地,管理器450可以判断流量是否超过阈值。例如,可以在负载均衡的服务器中设置各个服务器的打点计数器,每当一次请求被引导到一个服务器时,在负载均衡侧则对该服务器当前的请求数量加一。
根据本公开的一个示例性实现方式,可以在预定时间单位(例如,秒,数秒,或者其他数值)内统计计数器的数量,可以将各个服务器的分流数量向管理器450报告,管理器450收到统计后会根据当前的各个服务器的流量抗压量,对后续的访问请求进行策略分流。当线上用户数量处于相对低水位的情况下,此时服务器通常不会出现高压甚至过载的情况,因此可以正常向各个第一服务器进行导流。然而在突发流量下,当流量超越或者接近服务器的抗压阈值时,则此时各个服务器都不再适合进行流量抗压,此时则将流量导流至CDN系统并且完成首轮降级。
将会理解,尽管上文仅示意性示出了单一的第一服务器210,在此可以存在多个第一服务器,并且可以存在多个集群(每个集群包括多个第一服务器)。此时的分流过程是类似的,也即,可以统计每个集群的工作负载,进而在各个集群之间进行负载平衡。如果各个集群都处于较高工作负载,则可以将流量引导至CDN系统。此时,可以由CDN服务器(也即,第二服务器220)来向客户端230发送518目标页面。此时。客户端230将接收来自第二服务器220的具有中等精度的页面元素,以便呈现目标页面。尽管上文仅示意性示出了单一的第二服务器220,在此可以存在多个第二服务器。
根据本公开的一个示例性实现方式,在向第二服务器220转发访问请求之前,可以获取客户端230和第二服务器220之间的网络状态。如果确定网络状态较好(例如,满足第二阈值条件),则可以向第二服务器220转发该访问请求。根据本公开的一个示例性实现方式,可以基于多种方式来衡量网络状态,例如,可以基于客户端230和第二服务器220之间的可用带宽来确定网络状态,如果可用带宽高于某个预定阈值,则认为网络状态较好。又例如,可以基于第二服务器220的响应时间来确定访问状态,等等。以此方式,可以确保在客户端230和第二服务器220之间存在有效的通信链接,以便基于该有效通信连接来传输页面元素。
根据本公开的一个示例性实现方式,如果确定520第一服务器210的工作负载不满足预定条件(也即,无需降级),则可以按照常规方式来由第一服务器210处理访问请求。此时,管理器450可以向第一服务器210转发522访问请求,以便通过CDN的方式进行访问。此时,仅有一部分访问请求被转发至第一服务器210,从而可以确保第一服务器210在自身可以接受的工作负载内工作,从而避免由于资源耗尽等原因导致的第一服务器210出现崩溃的问题。此时,第一服务器210可以向客户端230提供524目标页面。此时,客户端230可以接收并呈现到包括全部页面元素的目标页面。
利用本公开的示例性实现方式,可以确保至少一部分用户可以观看到实时更新的目标页面,并且可以确保其他用户可以观看到CDN中的近似实时更新的目标页面。以此方式,即使在流量爆发的时刻,也可以为大部分用户提供页面服务。
根据本公开的一个示例性实现方式,如果确定530在客户端230和第二服务器220之间的网络状态不满足预定条件(也即,网络状态较差),则管理器450可以通知532客户端230来处理访问请求。造成较差网络状态的原因可以是多样的,例如,客户端230可能处于山区等弱网区域进而导致整体访问超时,或者客户端230侧CDN系统可能被污染并且出现错误,等等。
此时,在客户端230处,可以打开534本地页面。也即,客户端230处的应用110可以访问本地预存的第三组页面元素。此时,第三组页面元素仅包括目标页面中的一部分。在观看篮球比赛的情况下,当中央服务器的工作负载较高,并且客户端230与CDN服务器之间的网络连接状态较差时,可以在应用110处呈现本地预存的参赛球队介绍,等等。备选地和/或附加地,可以在应用110处呈现在网络状态较好时先前缓存的其他页面元素,例如,上一时间点的比分,等等。
利用本公开的示例性实现方式,通过上述步骤可以实现不同导流分支,从而实现将来自大量用户的访问请求分流至不同的处理设备。为了避免用户请求页面失败,可以在客户端中部署实现降级的模块。利用本公开的示例性实现方式,通过多级精度的页面资源的打包方式,可以提供多种分流方式,进而确保客户端230处的应用110可以基于当前可用的资源来向用户提供最为适合的目标页面。
利用本公开的示例性实现方式,当面临突发且无法预测的大流量时,可以执行分层降级过程,从而保证用户的使用体验不受损害,并且最大限度保证业务的可用性。对于大流量,无需长期提供大量中央服务器设备,从而最大限度地降低服务成本。以此方式,在实时场景下可以充分利用了CDN服务器的分布式且可抗压的特点,并且通过在负载均衡层进行流量判别后进行引流,从而在实时方案无法处理大流量的情况下提供近似实时的体验。进一步,本公开考虑到用户侧的不可预期的情况,例如,在弱网/无网环境下提供兜底页面。以此方式,可以改进不可预期情况下的用户体验,并且在用户的网络状态好转时恢复提供实时更新的数据。
示例过程
图6示出了根据本公开的一些实现方式的用于管理应用的访问请求的方法600的流程图。在框610处,接收用于在应用中访问目标页面的访问请求。在框620处,确定应用的第一服务器的工作负载,第一服务器包括目标页面中的第一组页面元素。在框630处,确定工作负载是否满足第一阈值条件。如果判断结果为“是”,则方法600前进至框640处。在框640处,将访问请求转发至应用的第二服务器,以便指示第二服务器来处理访问请求,第二服务器包括目标页面中的第一组页面元素中的第二组页面元素。
根据本公开的一个示例性实现方式,该方法600进一步包括:响应于确定工作负载不满足第一阈值条件,指示第一服务器来处理访问请求。
根据本公开的一个示例性实现方式,将访问请求转发至第二服务器包括:获取运行应用的客户端设备与第二服务器之间的网络状态;以及响应于确定网络状态满足第二阈值条件,将访问请求转发至第二服务器。
根据本公开的一个示例性实现方式,该方法600进一步包括:响应于确定网络状态不满足第二阈值条件,指示客户端设备来处理访问请求,客户端设备包括目标页面中的第一组页面元素中的第三组页面元素。
根据本公开的一个示例性实现方式,该方法600第一组页面元素包括目标页面中的实时更新的页面元素,第二组元素包括第一组页面元素中的至少一部分,并且第三组页面元素包括第二组页面元素中的至少一部分。
根据本公开的一个示例性实现方式,第二组页面元素是利用第一组页面元素更新的。
根据本公开的一个示例性实现方式,第三组页面元素包括以下至少任一项:在客户端设备处预存的页面元素;客户端设备处的从第一服务器和第二服务器中的任一项接收的目标页面中的页面元素。
根据本公开的一个示例性实现方式,第一组页面元素是实时更新的,第二组页面元素的更新频率低于第一组页面元素的更新频率,并且第三组页面元素的更新频率低于第二组页面元素的更新频率。
根据本公开的一个示例性实现方式,应用是多媒体提供应用,并且第一组页面元素包括实时更新的多媒体数据。
根据本公开的一个示例性实现方式,第一服务器是应用的中央服务器,并且第二服务器是应用的分布式缓存服务器。
根据本公开的一个示例性实现方式,该方法600在应用的第一服务器的负载均衡器处被执行。
示例装置和设备
图7示出了根据本公开的一些实现方式的用于管理应用的访问请求的装置700的框图。该装置700包括:接收模块710,被配置用于接收用于在应用中访问目标页面的访问请求;确定模块720,被配置用于确定应用的第一服务器的工作负载,第一服务器包括目标页面中的第一组页面元素;以及转发模块730,被配置用于响应于确定工作负载满足第一阈值条件,将访问请求转发至应用的第二服务器,以便指示第二服务器来处理访问请求,第二服务器包括目标页面中的第一组页面元素中的第二组页面元素。
根据本公开的一个示例性实现方式,该装置700进一步包括:处理模块,被配置用于响应于确定工作负载不满足第一阈值条件,指示第一服务器来处理访问请求。
根据本公开的一个示例性实现方式,转发模块包括:状态获取模块,被配置用于获取运行应用的客户端设备与第二服务器之间的网络状态;以及基于状态的转发模块,被配置用于响应于确定网络状态满足第二阈值条件,将访问请求转发至第二服务器。
根据本公开的一个示例性实现方式,该装置700进一步包括:响应于确定网络状态不满足第二阈值条件,指示模块,被配置用于指示客户端设备来处理访问请求,客户端设备包括目标页面中的第一组页面元素中的第三组页面元素。
根据本公开的一个示例性实现方式,第一组页面元素包括目标页面中的实时更新的页面元素,第二组元素包括第一组页面元素中的至少一部分,并且第三组页面元素包括第二组页面元素中的至少一部分。
根据本公开的一个示例性实现方式,第二组页面元素是利用第一组页面元素更新的。
根据本公开的一个示例性实现方式,第三组页面元素包括以下至少任一项:在客户端设备处预存的页面元素;客户端设备处的从第一服务器和第二服务器中的任一项接收的目标页面中的页面元素。
根据本公开的一个示例性实现方式,第一组页面元素是实时更新的,第二组页面元素的更新频率低于第一组页面元素的更新频率,并且第三组页面元素的更新频率低于第二组页面元素的更新频率。
根据本公开的一个示例性实现方式,应用是多媒体提供应用,并且第一组页面元素包括实时更新的多媒体数据。
根据本公开的一个示例性实现方式,第一服务器是应用的中央服务器,并且第二服务器是应用的分布式缓存服务器。
根据本公开的一个示例性实现方式,该装置700在应用的第一服务器的负载均衡器处被实现。
图8示出了能够实施本公开的多个实现方式的设备800的框图。应当理解,图8所示出的计算设备800仅仅是示例性的,而不应当构成对本文所描述的实现方式的功能和范围的任何限制。图8所示出的计算设备800可以用于实现上文描述的方法。
如图8所示,计算设备800是通用计算设备的形式。计算设备800的组件可以包括但不限于一个或多个处理器或处理单元810、存储器820、存储设备830、一个或多个通信单元840、一个或多个输入设备850以及一个或多个输出设备860。处理单元810可以是实际或虚拟处理器并且能够根据存储器820中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备800的并行处理能力。
计算设备800通常包括多个计算机存储介质。这样的介质可以是计算设备800可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器820可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备830可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备800内被访问。
计算设备800可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图8中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器820可以包括计算机程序产品825,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实现方式的各种方法或动作。
通信单元840实现通过通信介质与其他计算设备进行通信。附加地,计算设备800的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备800可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备850可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备860可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备800还可以根据需要通过通信单元840与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备800交互的设备进行通信,或者与使得计算设备800与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,提供了一种计算机程序产品,其上存储有计算机程序,程序被处理器执行时实现上文描述的方法。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
Claims (14)
1.一种用于管理应用的访问请求的方法,包括:
接收用于在应用中访问目标页面的访问请求;
确定所述应用的第一服务器的工作负载,所述第一服务器包括所述目标页面中的第一组页面元素;以及
响应于确定所述工作负载满足第一阈值条件,将所述访问请求转发至所述应用的第二服务器,以便指示所述第二服务器来处理所述访问请求,所述第二服务器包括所述目标页面中的所述第一组页面元素中的第二组页面元素。
2.根据权利要求1所述的方法,进一步包括:响应于确定所述工作负载不满足所述第一阈值条件,指示所述第一服务器来处理所述访问请求。
3.根据权利要求1所述的方法,其中将所述访问请求转发至所述第二服务器包括:
获取运行所述应用的客户端设备与所述第二服务器之间的网络状态;以及
响应于确定所述网络状态满足第二阈值条件,将所述访问请求转发至所述第二服务器。
4.根据权利要求3所述的方法,进一步包括:响应于确定所述网络状态不满足所述第二阈值条件,指示所述客户端设备来处理所述访问请求,所述客户端设备包括所述目标页面中的第一组页面元素中的第三组页面元素。
5.根据权利要求4所述的方法,其中所述第一组页面元素包括所述目标页面中的实时更新的页面元素,所述第二组元素包括所述第一组页面元素中的至少一部分,并且所述第三组页面元素包括所述第二组页面元素中的至少一部分。
6.根据权利要求5所述的方法,其中所述第二组页面元素是利用所述第一组页面元素更新的。
7.根据权利要求4所述的方法,其中所述第三组页面元素包括以下至少任一项:
在所述客户端设备处预存的页面元素;
所述客户端设备处的从所述第一服务器和所述第二服务器中的任一项接收的所述目标页面中的页面元素。
8.根据权利要求4所述的方法,其中所述第一组页面元素是实时更新的,所述第二组页面元素的更新频率低于所述第一组页面元素的更新频率,并且所述第三组页面元素的更新频率低于所述第二组页面元素的更新频率。
9.根据权利要求1所述的方法,其中所述应用是多媒体提供应用,并且所述第一组页面元素包括实时更新的多媒体数据。
10.根据权利要求1所述的方法,其中所述第一服务器是所述应用的中央服务器,并且所述第二服务器是所述应用的分布式缓存服务器。
11.根据权利要求1所述的方法,其中所述方法在所述应用的第一服务器的负载均衡器处被执行。
12.一种用于管理应用的访问请求的装置,包括:
接收模块,被配置用于接收用于在应用中访问目标页面的访问请求;
确定模块,被配置用于确定所述应用的第一服务器的工作负载,所述第一服务器包括所述目标页面中的第一组页面元素;以及
转发模块,被配置用于响应于确定所述工作负载满足第一阈值条件,将所述访问请求转发至所述应用的第二服务器,以便指示所述第二服务器来处理所述访问请求,所述第二服务器包括所述目标页面中的所述第一组页面元素中的第二组页面元素。
13.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述电子设备执行根据权利要求1至11中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时使所述处理器实现根据权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310587283.3A CN116627642A (zh) | 2023-05-23 | 2023-05-23 | 用于管理应用的访问请求的方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310587283.3A CN116627642A (zh) | 2023-05-23 | 2023-05-23 | 用于管理应用的访问请求的方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627642A true CN116627642A (zh) | 2023-08-22 |
Family
ID=87602030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310587283.3A Pending CN116627642A (zh) | 2023-05-23 | 2023-05-23 | 用于管理应用的访问请求的方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627642A (zh) |
-
2023
- 2023-05-23 CN CN202310587283.3A patent/CN116627642A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10791168B1 (en) | Traffic aware network workload management system | |
US11343166B2 (en) | Health status monitoring for services provided by computing devices | |
US10158541B2 (en) | Group server performance correction via actions to server subset | |
US9838497B2 (en) | Content delivery network architecture with edge proxy | |
US9608953B1 (en) | Systems and methods for transferring message data | |
US8843914B1 (en) | Distributed update service | |
US8706864B1 (en) | Behavior monitoring and compliance for multi-tenant resources | |
EP3264723B1 (en) | Method, related apparatus and system for processing service request | |
US11032358B2 (en) | Monitoring web applications including microservices | |
US20140188801A1 (en) | Method and system for intelligent load balancing | |
CN109769023B (zh) | 一种数据传输方法、相关服务器和存储介质 | |
US20200050479A1 (en) | Blockchain network and task scheduling method therefor | |
CN108540367B (zh) | 一种消息处理方法及系统 | |
Qu et al. | Mitigating impact of short‐term overload on multi‐cloud web applications through geographical load balancing | |
CN110771122A (zh) | 使内容传送网络能够处理非预期流量激增的方法和网络节点 | |
CN109842518B (zh) | 内容分发网络容灾方法、装置、计算机设备及存储介质 | |
US10218595B1 (en) | Measuring network transit time | |
WO2016118773A1 (en) | Method and apparatus of processing retransmission request in distributed computing | |
CN112468310B (zh) | 流媒体集群节点管理方法、装置及存储介质 | |
CN109510730A (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
CN110336884B (zh) | 服务器集群更新方法和装置 | |
CN113810461B (zh) | 带宽控制方法、装置、设备及可读存储介质 | |
CN116627642A (zh) | 用于管理应用的访问请求的方法、装置、设备和介质 | |
CN110990213A (zh) | 一种集群环境用户日志实时监控方法及装置 | |
US11240173B2 (en) | Method and request router for dynamically pooling resources in a content delivery network (CDN), for efficient delivery of live and on-demand content |
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 |