一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于内容分发网络的数据处理方法及装置与流程

2022-06-01 14:23:41 来源:中国专利 TAG:


1.本发明实施例涉及内容分发网络技术领域,尤其涉及一种基于内容分发网络的数据处理方法及装置。


背景技术:

2.随着越来越多的企业加入到cdn(content delivery network,内容分发网络)行业,竞争越发激烈,为了更好地占领市场,成本优化已成为各大cdn产商的重点指标,因此,需要对现有资源进行最大化地利用。同时,由于越来越多的业务存在周期性的涨量,导致不得不提前预备好足够多的冗余资源,因此这对于成本优先的背景下的cdn而言,无疑是雪上加霜,且资源调拨周期长,不论是资源成本和人力成本上都是很大的开销。
3.现有的基于内容分发网络的分层级资源管理方案为:在内容分发网络内部,根据业务处理的不同阶段,从硬件维度直接区分规划为不同层级类型(即资源层级和资源类型),即边缘资源(即边缘节点)、一层父资源(即一层父节点)、二层父资源(即二层父节点),但是这种层级类型是固定的,一旦规划完成后,每个资源都有明确的层级类型。而且,在内容分发网络中,所有应用层数据都是按照客户端-》边缘资源-》父资源(多层级)-》源站这种流程进行数据处理。此外,由于不同层级类型的资源所需要的功能服务不同,因此会为不同层级类型的资源部署不同的功能配置。但是,这种分层级资源管理方案是从硬件资源的角度,直接进行静态地规划资源(即节点)的层级类型,并为不同层级类型的资源部署差异化的功能配置,因此会导致不同层级类型的资源无法混用。而且,由于不同层级类型的资源不能混用,因此不同层级类型的资源分别需要各自冗余规划,从而造成资源浪费。
4.综上,目前亟需一种基于内容分发网络的数据处理方法,用以有效地避免出现因各节点需要冗余规划导致资源浪费的情况。


技术实现要素:

5.本发明实施例提供了一种基于内容分发网络的数据处理方法及装置,用以有效地避免出现因各节点需要冗余规划导致资源浪费的情况。
6.第一方面,本发明实施例提供了一种基于内容分发网络的数据处理方法,包括:
7.第一节点基于第一业务访问请求报文,确定所述第一节点的节点层级;所述第一业务访问请求报文用于指示任一客户端获取目标源站提供的业务文件;所述第一节点为位于所述内容分发网络内的任一节点;
8.所述第一节点启用与所述第一节点的节点层级匹配的第一业务功能配置;所述第一节点预配置有多个不同层级的业务功能配置;
9.所述第一节点通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理。
10.上述技术方案中,由于现有技术方案是从硬件维度直接进行静态地区分规划各节点的不同节点层级,从而使得各节点的节点层级是明确的、固定的,因此导致不同节点层级
的各节点是无法混用的。而且,由于不同节点层级的各节点不能混用,因此在业务访问请求量增加时就需要针对各节点进行冗余规划,从而也就会造成资源浪费。基于此,本发明中的技术方案通过从软件维度进行定义节点层级和节点类型,也即是将节点层级定义、节点类型定义与硬件设备(即节点)进行剥离,不再从硬件维度直接进行静态地区分规划不同节点层级、不同节点类型,以此实现动态地定义节点的节点层级和节点类型,从而可以打破硬件上的节点层级和节点类型束缚,有助于实现动态地控制或调整任一节点以生效不同的节点层级和节点类型,并可以有效地提高定义节点的节点层级和节点类型的灵活性,那么也就能够实现节点的有效复用。具体来说,针对位于内容分发网络内的任一节点(即第一节点),该第一节点在检测到第一业务访问请求报文时,即可通过该第一业务访问请求报文准确地获知该第一节点的节点层级,其中,该第一业务访问请求报文用于指示任一客户端获取目标源站提供的业务文件,同时从多个属于不同层级的业务功能配置中确定出与该第一节点的节点层级匹配的第一业务功能配置,也即是不再静态地固定节点的节点层级,实现节点在不同的场景下,具有不同的节点层级(比如一个节点既可以作为边缘节点,也可以作为某一层级的父节点,比如一层父节点或二层父节点),并生效不同的节点层级各自对应的业务功能配置,从而实现节点的有效复用,当然各节点也就不需要进行冗余规划,以此有效地避免资源浪费。再通过执行该第一业务功能配置即可针对第一业务访问请求报文进行处理,以此可及时有效地查询出该第一业务请求报文所对应的目标源站提供的业务文件。如此,该方案通过从软件维度针对各节点的节点层级进行动态地定义,以便使得节点在不同的场景下生效不同的节点层级,而不是静态地固定节点的节点层级,从而可以使得节点的节点层级的灵活性增加,并可以实现各节点根据自己的当前场景进行灵活地动态生效更加符合当前场景的业务功能配置,进而可以实现节点的有效复用,并可以有效地避免出现因各节点需要冗余规划导致资源浪费的情况。
11.可选地,在通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理之后,还包括:
12.所述第一节点在确定查询出所述目标源站提供的业务文件时,基于所述第一业务功能配置将所述业务文件发送至所述客户端。
13.上述技术方案中,第一节点在查询出某一客户端所请求的业务文件后,即可通过该业务文件的请求路径准确地将该业务文件传输给该客户端,以便该客户端能够及时地获取到该业务文件。
14.可选地,所述第一节点基于第一业务访问请求报文,确定所述第一节点的节点层级,包括:
15.所述第一节点对所述第一业务访问请求报文进行检测,确定所述第一业务访问请求报文中是否携带有节点层级;
16.若是,则所述第一节点将所述第一业务访问请求报文中携带的节点层级确定为所述第一节点的节点层级。
17.上述技术方案中,第一节点在接收到第一业务访问请求报文后,即可针对该第一业务访问请求报文进行内容检测或进行解析,以此确定该第一业务访问请求报文中是否携带有节点层级,如果携带有,则第一节点可及时地获知自己在本次业务访问请求路径中具体处于哪种层级,因为不同的节点层级对应不同的业务功能配置,也即是不同的节点层级
对应不同的业务功能权限,那么也就可以使得该第一节点及时地生效与该第一节点的节点层级相匹配的业务功能配置,从而可以准确地通过该业务功能配置针对该第一业务访问请求报文进行相应的处理。
18.可选地,还包括:
19.若所述第一业务访问请求报文中未携带有节点层级,则所述第一节点确定所述第一节点的节点层级为第0层级;
20.其中,处于第0层级的所述第一节点为边缘节点。
21.上述技术方案中,在检测到某一客户端所发送的针对某一业务文件的业务访问请求报文时,可以从位于内容分发网络内的各节点中分配逻辑上靠近该客户端的节点作为接收该业务访问请求报文的节点,那么逻辑上靠近该客户端的节点所接收到的业务访问请求报文中是不携带有节点层级的,也即是逻辑上靠近该客户端的节点属于第0层级,同时可确定逻辑上靠近该客户端的节点在本次业务访问请求中作为边缘节点,那么逻辑上靠近该客户端的节点所生效的就是与第0层级相匹配的业务功能配置,从而可通过与第0层级相匹配的业务功能配置针对该第一业务访问请求报文进行相应的处理。其中,逻辑上靠近该客户端的节点在本次业务访问请求中是作为边缘节点的,但是,在其它业务访问请求中有可能是会作为父节点的。
22.可选地,在通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理之后,还包括:
23.所述第一节点在确定未查询出所述目标源站提供的业务文件时,基于所述第一业务访问请求报文,生成第二业务访问请求报文,并将所述第二业务访问请求报文转发给所述第二节点;所述第二节点为位于所述内容分发网络内所述第一节点的下一跳节点。
24.上述技术方案中,第一节点在本地未查询到客户端所请求的业务文件时,会将业务访问请求转发给下一跳节点,也即是,会针对该第一业务访问请求报文进行一定的处理,以此生成转发给下一跳节点(即第二节点)的第二业务访问请求报文,以便能够通过第二节点启用与自己的节点层级相匹配的业务功能配置查询出客户端所请求的业务文件。其中,第二节点在本次业务访问请求中是作为父节点的,但是,在其它业务访问请求中有可能是会作为边缘节点的。
25.可选地,所述基于所述第一业务访问请求报文,生成第二业务访问请求报文,包括:
26.所述第一节点在所述第一业务访问请求报文的基本头部中的预设字段添加业务访问请求报文转发次数以及所述第二节点的节点类型,生成所述第二业务访问请求报文;所述业务访问请求报文转发次数用于指示所述第二节点的节点层级;所述节点层级和所述节点类型用于指示所述第二节点具有的业务功能权限;所述业务功能权限用于指示与所述第二节点相匹配的业务功能配置。
27.上述技术方案中,在第一节点需要将业务访问请求转发给下一跳节点时,会针对所接收到的第一业务访问请求报文中的内容进行更改,比如在该第一业务访问请求报文的基本头部中的预设字段添加业务访问请求报文转发次数(用于指示第二节点的节点层级)以及下一跳节点的节点类型,以此生成第二业务访问请求报文,那么下一跳节点在接收到该第二业务访问请求报文时,即可通过该第二业务访问请求报文及时地获知自己在本次业
务访问请求路径中具体处于哪种层级以及自己本次是作为父节点还是边缘节点,在获知相应信息后,即可生效与自己相匹配的业务功能配置,如此可以实现节点根据自己的当前场景进行灵活地生效更加符合当前场景的业务功能配置,从而可以实现节点的有效复用。其中,通过设置添加业务访问请求报文转发次数来实现针对业务访问请求报文的转发进行一定的容错,也即是,可以理解的是,如果业务访问请求报文转发次数超过某一数值,则即可执行回源策略(即将业务访问请求报文转发给位于内容分发网络之外的目标源站,通过目标源站查询出相应的业务文件)。
28.可选地,在生成所述第二业务访问请求报文之前,还包括:
29.所述第一节点若确定所述第一节点的下一跳节点为位于所述内容分发网络之外的目标源站,则删除所述第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给所述目标源站;所述目标源站用于根据所述删除后的第一业务访问请求报文获取对应的业务文件。
30.上述技术方案中,如果第一节点判断下一跳节点为目标源站,则此时无需生成第二业务访问请求报文,而是通过删除第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给目标源站,以便目标源站通过该删除后的第一业务访问请求报文查询出相应的业务文件,从而使得发起业务访问请求的客户端能够及时地获取到相应的业务文件。
31.可选地,在将所述第二业务访问请求报文转发给所述第二节点之前,还包括:
32.所述第一节点确定业务访问请求报文转发次数小于或等于预设阈值。
33.上述技术方案中,为了防止业务访问请求报文一直无休止地循环转发,因此需要设置一个容灾策略,即,如果确定业务访问请求报文的转发次数超过某一数值(即预设阈值),则执行回源策略(即将业务访问请求转发给位于内容分发网络之外的目标源站,通过目标源站查询出相应的业务文件)。因此,在生成第二业务访问请求报文并转发第二业务访问请求报文之前,需要判断此时业务访问请求报文转发次数是否超过预设阈值,如果没有超过,则生成第二业务访问请求报文并转发第二业务访问请求报文给下一跳节点,如果有超过,则执行回源策略。如此,可以提高业务访问请求报文的处理效率,以及便于发起业务访问请求的客户端能够及时地获取到相应的业务文件,从而可以提升用户体验。
34.可选地,在生成所述第二业务访问请求报文之前,还包括:
35.所述第一节点若确定所述第一节点的下一跳节点为位于所述内容分发网络内的节点,则在确定业务访问请求报文转发次数大于所述预设阈值时,删除所述第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给所述目标源站;所述目标源站用于根据所述删除后的第一业务访问请求报文获取对应的业务文件。
36.上述技术方案中,第一节点在接收到第一业务访问请求报文后,如果确定未查询出客户端所请求的业务文件,则在需要将业务访问请求转发给下一跳节点时,如果判断转发给下一跳节点的业务访问请求报文的转发次数超过某一数值(即预设阈值),则执行回源策略,即,将删除基本头部中预设字段所添加的内容后的业务访问请求报文转发给位于内容分发网络之外的目标源站,以便通过目标源站查询出客户端所请求的业务文件。
37.第二方面,本发明实施例还提供了一种基于内容分发网络的数据处理装置,包括:
38.确定模块,用于基于第一业务访问请求报文,确定第一节点的节点层级;所述第一业务访问请求报文用于指示任一客户端获取目标源站提供的业务文件;所述第一节点为位于所述内容分发网络内的任一节点;
39.处理模块,用于启用与所述第一节点的节点层级匹配的第一业务功能配置;所述第一节点预配置有多个不同层级的业务功能配置;通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理。
40.可选地,所述处理模块还用于:
41.在通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理之后,在确定查询出所述目标源站提供的业务文件时,基于所述第一业务功能配置将所述业务文件发送至所述客户端。
42.可选地,所述确定模块具体用于:
43.对所述第一业务访问请求报文进行检测,确定所述第一业务访问请求报文中是否携带有节点层级;
44.若是,则将所述第一业务访问请求报文中携带的节点层级确定为所述第一节点的节点层级。
45.可选地,所述确定模块还用于:
46.若所述第一业务访问请求报文中未携带有节点层级,则确定所述第一节点的节点层级为第0层级;
47.其中,处于第0层级的所述第一节点为边缘节点。
48.可选地,所述处理模块还用于:
49.在通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理之后,在确定未查询出所述目标源站提供的业务文件时,基于所述第一业务访问请求报文,生成第二业务访问请求报文,并将所述第二业务访问请求报文转发给所述第二节点;所述第二节点为位于所述内容分发网络内所述第一节点的下一跳节点。
50.可选地,所述处理模块具体用于:
51.在所述第一业务访问请求报文的基本头部中的预设字段添加业务访问请求报文转发次数以及所述第二节点的节点类型,生成所述第二业务访问请求报文;所述业务访问请求报文转发次数用于指示所述第二节点的节点层级;所述节点层级和所述节点类型用于指示所述第二节点具有的业务功能权限;所述业务功能权限用于指示与所述第二节点相匹配的业务功能配置。
52.可选地,所述处理模块还用于:
53.在生成所述第二业务访问请求报文之前,若确定所述第一节点的下一跳节点为位于所述内容分发网络之外的目标源站,则删除所述第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给所述目标源站;所述目标源站用于根据所述删除后的第一业务访问请求报文获取对应的业务文件。
54.可选地,所述处理模块还用于:
55.在将所述第二业务访问请求报文转发给所述第二节点之前,确定业务访问请求报文转发次数小于或等于预设阈值。
56.可选地,所述处理模块还用于:
57.在生成所述第二业务访问请求报文之前,若确定所述第一节点的下一跳节点为位于所述内容分发网络内的节点,则在确定业务访问请求报文转发次数大于所述预设阈值时,删除所述第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给所述目标源站;所述目标源站用于根据所述删除后的第一业务访问请求报文获取对应的业务文件。
58.第三方面,本发明实施例提供一种计算设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面任意所述的基于内容分发网络的数据处理方法。
59.第四方面,本发明实施例提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述第一方面任意所述的基于内容分发网络的数据处理方法。
附图说明
60.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
61.图1为本发明实施例提供的一种可能的系统架构示意图;
62.图2为本发明实施例提供的一种基于内容分发网络的数据处理方法的流程示意图;
63.图3为本发明实施例提供的一种基于内容分发网络的数据处理装置的结构示意图;
64.图4为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
65.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
66.本发明实施例中的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“以是一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)下或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
67.以及,除非有相反的说明,本发明实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一业务访问请求报文和第二业务访问请求报文,只是为了区分不同的业务访问请求报文,而并不是表示这两个业务访问请求报文的优先级或者重要程度等的不同。
68.为了便于理解本发明实施例,首先以图1中示出的一种可能的系统架构为例说明适用于本发明实施例的基于内容分发网络的数据处理系统架构。该可能的系统架构可以应用于一个客户端、内容分发网络(包括多个cdn节点)与一个源站之间的数据处理场景,或者可以应用于多个客户端、内容分发网络(包括多个cdn节点)与一个源站之间的数据处理场景,或者可以应用于多个客户端、内容分发网络(包括多个cdn节点)与多个源站之间的数据处理场景,或者可以应用于一个客户端、内容分发网络(包括多个cdn节点)与多个源站之间的数据处理场景等,本发明实施例对此并不作限定。如图1所示,以多个客户端、内容分发网络(包括多个cdn节点)与多个源站为例进行描述,该可能的系统架构可以包括多个客户端(比如客户端101、客户端102、客户端103等)、多个cdn节点(比如节点201、节点202、节点203等)以及多个源站(比如源站301、源站302、源站303等)。其中,源站(比如服务器等)和cdn节点之间可以进行通信连接,各cdn节点之间可以进行通信连接,cdn节点与客户端之间可以进行通信连接,比如,可以通过有线网络方式连接,或者可以通过无线网络方式连接,本发明实施例对此并不作限定。需要说明的是,只要是能够提供相关业务文件的设备都可以作为源站,只要是需要发起业务访问请求的设备或应用程序软件等都可以作为客户端。示例性地,以客户端101为例,客户端101向内容分发网络发送针对某一业务文件的业务访问请求报文,内容分发网络在检测到该业务访问请求报文时,会为客户端101分配逻辑上靠近客户端101的cdn节点进行接收客户端101的业务访问请求报文,比如节点201逻辑上距离客户端101最近,则节点201负责与客户端101建立通信连接,并在通信连接建立成功后接收客户端101的业务访问请求报文,此时可知节点201在客户端101的业务访问请求路径中是作为边缘节点的,该节点201的节点层级是第0层级,并会生效与第0层级相匹配的业务功能配置。节点201在接收到该业务访问请求报文后,会查询本地是否存储有该业务访问请求报文对应的业务文件,如果存储有,则会将该业务访问请求报文对应的业务文件发送给客户端101。如果没有存储,则会将业务访问请求报文转发给下一跳节点,如果下一跳节点不是源站,则节点201会在该业务访问请求报文的基本头部中的预设字段添加下一跳节点的节点层级(业务访问请求报文转发次数以及)、节点类型等,然后将添加后的业务访问请求报文转发给下一跳节点(比如节点202),以便下一跳节点能够及时生效与本次业务访问请求中节点层级相匹配的业务功能配置,从而查询该业务访问请求报文对应的业务文件。如果下一跳节点是源站,则节点201会直接将该业务访问请求报文转发给提供该业务访问请求报文对应的业务文件的目标源站(比如源站301)。
69.需要说明的是,上述图1所示的系统架构仅是一种示例,本发明实施例对此不做限定。
70.基于上述描述,图2示例性地示出了本发明实施例提供的一种基于内容分发网络的数据处理方法的流程,该流程可以由一种基于内容分发网络的数据处理装置执行。其中,基于内容分发网络的数据处理方法可以由第一节点(比如服务器或其它具有实现该方法所需的功能的电子设备)执行,或者可以由设置于第一节点内的功能部件(比如支持第一节点实现该方法所需的功能的芯片或集成电路)执行。下面以第一节点执行基于内容分发网络的数据处理方法为例进行描述。
71.如图2所示,该流程具体包括:
72.步骤201,第一节点基于第一业务访问请求报文,确定所述第一节点的节点层级。
73.步骤202,所述第一节点启用与所述第一节点的节点层级匹配的第一业务功能配置。
74.本发明实施例中,该第一业务访问请求报文用于指示任一客户端获取目标源站提供的业务文件;第一节点为位于所述内容分发网络内的任一节点。具体地,由于本发明实施例的技术方案是从软件维度进行定义节点层级和节点类型,也即是将节点层级定义、节点类型定义与硬件设备进行剥离,不再从硬件维度直接进行静态地区分规划不同节点层级,以此打破硬件上的节点层级和节点类型束缚,从而实现节点的节点层级和节点类型的灵活性,那么也就能够实现节点的有效复用,所以每个节点在接收到业务访问请求报文之前并不知道自己具体是属于什么样的节点类型以及属于什么样的节点层级,那么第一节点在接收到第一业务访问请求报文后,需要针对业务访问请求报文进行相应的识别处理,比如可以针对该第一业务访问请求报文进行检测,比如针对该第一业务访问请求报文进行内容检测,以此可检测该第一业务访问请求报文中是否携带有节点层级(即是否携带有业务访问请求报文转发次数),或者可以针对该第一业务访问请求报文进行解析,判断解析后第一业务访问请求报文中是否携带有节点层级。如果携带该节点层级,则可以确定该节点层级即为该第一节点的节点层级,可以理解为,该第一节点通过第一业务访问请求报文中所携带的节点层级能够及时地获知自己在客户端的本次业务访问请求路径中具体处于哪种层级,因为不同的节点层级对应不同的业务功能配置,也即是不同的节点层级对应不同的业务功能权限,比如,针对同一节点,该节点在不同的场景下具有的节点层级是不相同的,那么所生效的业务功能权限也是不相同的,那么也就可以使得该第一节点及时地生效(或启用)与该第一节点的节点层级相匹配的业务功能配置,从而可以准确地通过该业务功能配置针对该第一业务访问请求报文进行相应的处理。如果未携带该节点层级(即不携带业务访问请报文转发次数,也即是表明业务访问请报文转发次数为0),则可以确定该第一节点当前的节点类型为边缘节点,并可以确定该第一节点当前的节点层级是第0层级,该第一节点所生效(或所启用)的就是与第0层级相匹配的业务功能配置。
75.示例性地,以节点a为例,该节点a在接收到业务访问请求报文后,针对该业务访问请求报文进行解析处理,并判断解析后的业务访问请求报文中是否携带有节点层级数据(即业务访问请求报文转发次数),如果没有携带该节点层级数据,则说明该节点a是作为边缘节点进行接收某一客户端发送的业务访问请求报文的,且该节点a在本次业务访问请求中的节点层级是第0层级,那么该节点a所生效的就是与该第0层级相匹配的业务功能权限。如果携带该节点层级数据,则说明该节点a是作为父节点进行接收上一节点转发的业务访问请求报文,比如上一节点是边缘节点,则该节点a在本次业务访问请求中是作为父节点的,同时通过上一节点转发的业务访问请求报文可知该节点a的节点层级是第1层级,那么该节点a所生效的就是与该第1层级相匹配的业务功能权限,如果上一节点是属于第1层级的父节点,则该节点a在本次业务访问请求中也是作为父节点的,同时通过上一节点转发的业务访问请求报文可知该节点a的节点层级是第2层级,那么该节点a所生效的就是与该第2层级相匹配的业务功能权限。如此,针对节点a来说,在不同的场景下所具有的节点层级是不相同的,那么所对应的业务功能权限也是不相同的,实现了节点的节点层级不再是固定的、明确的,而是根据实际应用场景进行动态变化的。
76.此外,在内容分发网络中,每个节点都预先配置有多个不同节点层级的业务功能
配置(比如查询功能、控制功能或业务处理超时功能(即请求响应超时功能)等),每个业务功能配置都有自己的具体生效范围,也即是每个业务功能配置都有对应的业务功能权限,每个节点在不同的节点层级生效不同的业务功能权限,比如第一节点,在节点层级属于第0层级时,所执行的就是第0层级的节点所具有的业务功能逻辑,该业务功能逻辑也即是在第0层级的节点专属的业务功能权限下的业务处理逻辑。比如,继续以节点a为例,且以业务功能配置为业务处理超时功能为例,那么该节点a在属于第0层级时所设置的业务处理超时时间(即业务处理响应时间)为t1(比如10s),在属于第1层级时所设置的业务处理超时时间为t2(比如6s)。
77.其中,需要说明的是,在将客户端生成的业务访问请求发送给内容分发网络的cdn节点时,用户会基于某一终端(比如智能手机、平板电脑、台式电脑或笔记本电脑等)上安装的客户端,来通过内容分发网络中的cdn节点获取某一源站提供的业务文件。在客户端生成针对某一业务文件的业务访问请求后,首先会向服务器发送该业务访问请求,以使服务器为该客户端调度逻辑上靠近该客户端所在终端的cdn节点,从而通过该cdn节点接收该业务访问请求,以此来实现针对该业务文件的查询。
78.步骤203,所述第一节点通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理。
79.本发明实施例中,第一节点通过启用与该第一节点的节点层级相匹配的业务功能权限,也即是通过执行属于该节点层级的业务功能逻辑,针对业务访问请求报文进行相应的处理。
80.具体地,如果第一节点在执行属于该节点层级的业务功能逻辑(即属于该节点层级的业务功能配置)的过程中,查询到客户端所请求的目标源站提供的业务文件,那么就可以基于该业务功能逻辑,并通过该业务文件的请求路径准确地将该业务文件传输给该客户端,以便该客户端能够及时地获取到该业务文件。如果没有查询到客户端所请求的目标源站提供的业务文件,那么需要将业务访问请求报文转发给下一跳节点,也即是通过基于第一业务访问请求报文,生成第二业务访问请求报文,并将第二业务访问请求报文转发给第二节点,以便能够通过第二节点启用与自己的节点层级相匹配的业务功能配置查询出客户端所请求的业务文件。其中,第二节点为位于内容分发网络内第一节点的下一跳节点。其中,第一节点是通过在第一业务访问请求报文的基本头部中的预设字段添加业务访问请求报文转发次数以及第二节点的节点类型,进行生成第二业务访问请求报文的。其中,业务访问请求报文转发次数用于指示第二节点的节点层级;节点层级和节点类型用于指示第二节点具有的业务功能权限;业务功能权限用于指示与第二节点相匹配的业务功能配置。那么,第二节点在接收到该第二业务访问请求报文后,即可通过针对该第二业务访问请求报文进行检测,及时地获知自己在本次业务访问请求中具体处于哪种层级以及自己本次是作为父节点还是边缘节点,在获知这些相应信息后,即可生效与自己相匹配的业务功能配置。
81.其中,如果第一节点为属于某一节点层级的父节点,则在该第一节点生成第二业务访问请求报文之前,如果确定未查询出客户端所请求的业务文件,则在需要将业务访问请求转发给下一跳节点时,如果确定下一跳节点为位于内容分发网络之外的目标源站,此时无需生成第二业务访问请求报文,需要将第一业务访问请求报文的基本头部中的预设字段所添加的内容进行删除,并将删除后的第一业务访问请求报文转发给目标源站,以便目
标源站通过该删除后的第一业务访问请求报文查询出相应的业务文件。或者,如果第一节点为边缘节点,则在该第一节点生成第二业务访问请求报文之前,如果确定未查询出客户端所请求的业务文件,则在需要将业务访问请求转发给下一跳节点时,如果确定下一跳节点为位于内容分发网络之外的目标源站,此时可以直接将第一业务访问请求报文(此时该第一业务访问请求报文是从客户端发送的,未针对第一业务访问请求报文的基本头部中的预设字段进行添加)转发给目标源站,以便目标源站通过该第一业务访问请求报文查询出相应的业务文件。此外,为了防止业务访问请求报文一直无休止的循环转发,因此还会设置一个容灾策略,即,在第一节点生成第二业务访问请求报文之前,通过针对第一业务访问请求报文进行检测即可获知当前具体的业务访问请求报文转发次数,如此也就可以获知该第一节点在需要转发第一业务访问请求报文给下一跳节点时,在第一业务访问请求报文的基本头部中的预设字段所需要添加的业务访问请求报文转发次数。具体地,如果确定下一跳节点为位于内容分发网络内的节点,则会判断转发给下一跳节点的业务访问请求报文的转发次数是否超过某一数值(即确定业务访问请求报文转发次数是否大于预设阈值),如果转发给下一跳节点的业务访问请求报文的转发次数超过某一数值,则执行回源策略,即,将第一业务访问请求报文的基本头部中的预设字段所添加的内容进行删除,并将删除后的第一业务访问请求报文转发给位于内容分发网络之外的目标源站,以便目标源站通过该删除后的第一业务访问请求报文查询出相应的业务文件。如果判断转发给下一跳节点的业务访问请求报文的转发次数没有超过某一数值(即确定业务访问请求报文转发次数小于或等于预设阈值),则需要通过在第一业务访问请求报文的基本头部中的预设字段添加业务访问请求报文转发次数以及第二节点的节点类型,进行生成第二业务访问请求报文。其中,在内容分发网络中,业务访问请求报文在各节点之间每需要转发一次,业务访问请求报文转发次数累计加1,比如,从边缘节点开始,边缘节点在接收到客户端发送的业务访问请求报文时,该业务访问请求报文的转发次数是0,即表示边缘节点是属于第0层级的节点;在边缘节点需要将该业务访问请求报文转发给下一跳节点(即一层父节点)时,需要在该业务访问请求报文的基本头部中的预设字段添加业务访问请求报文的转发次数1,即表示下一跳节点是属于第1层级的节点,同时需要在该业务访问请求报文的基本头部中的预设字段添加节点类型(即父节点);倘若该下一跳节点也需要将该业务访问请求报文转发给其它下一跳节点(即二层父节点)时,该其它下一跳节点需要将业务访问请求报文的基本头部中的预设字段所添加的业务访问请求报文的转发次数1更新为转发次数2,即表示该其它下一跳节点是属于第2层级的节点,同时由于该其它下一跳节点的节点类型还是父节点,所以不需要将业务访问请求报文的基本头部中的预设字段中的节点类型进行更新。此外,如果某一节点是需要将业务访问请求报文转发给位于内容分发网络之外的源站,那么转发给源站的转发次数是不做统计的,也即是不统计节点与源站之间的这次转发。
82.示例性地,继续以节点a为例,且以业务功能配置为业务处理超时功能为例,不同节点层级对应不同的业务处理超时时间(即表示属于某一节点层级的节点允许等待下一跳节点针对业务访问请求报文响应的最长时间),也即是不同节点层级对应不同的业务处理超时权限,比如,针对同一节点,该节点在节点层级属于第0层级的业务处理超时时间与在节点层级属于第1层级的业务处理超时时间是不相同的,假设该节点a的节点层级为第0层级,则该节点a所生效的就是属于第0层级的业务处理超时权限,即该节点a在第0层级时的
业务处理超时时间为t1。假设某一客户端需要请求某一业务文件,会生成针对获取该业务文件的业务访问请求报文,并将该业务访问请求报文发送给逻辑上靠近该客户端的节点(比如节点a),那么该节点a在接收该客户端发送的业务访问请求报文时,针对该业务访问请求报文进行检测,即可获知自己的节点层级属于第0层级,且确定自己的节点类型为边缘节点,如此该节点a所生效的就是与第0层级相匹配的业务处理超时权限,即针对该节点a在第0层级的业务处理超时时间为t1,也即是说,如果节点a需要将业务访问请求报文转发给下一跳节点(比如节点b),则该节点a需要等待节点b针对业务访问请求报文响应的最长时间为t1,如果等待响应的时间超过t1,则请求失败,同时节点a会将响应超时信息反馈给该客户端。或者,假设该节点a的节点层级为第1层级,则该节点a所生效的就是属于第1层级的业务处理超时权限,即该节点a在第1层级时的业务处理超时时间为t2,那么该节点a在接收到上一节点转发的业务访问请求报文时,针对该转发的业务访问请求报文进行检测,即可获知自己的节点层级属于第1层级,且确定自己的节点类型为父节点,如此该节点a所生效的就是与第1层级相匹配的业务处理超时权限,即针对该节点a在第1层级的业务处理超时时间为t2,也即是说,如果节点a需要将业务访问请求报文转发给下一跳节点(比如节点c),则该节点a需要等待节点c针对业务访问请求报文响应的最长时间为t2,如果等待响应的时间超过t2,则请求失败,同时节点a会将响应超时信息反馈给上一跳节点。其中,t2是小于t1的。例如,一个业务访问请求报文在内容分发网络中经过两个节点获取到了业务文件,比如这两个节点是节点a和节点b,假设节点a为边缘节点,节点b为一层父节点,那么针对业务处理超时功能,节点a所生效是与第0层级相匹配的业务处理超时权限,比如节点a的业务处理超时时间为10s,也即是该节点a需要等待节点b针对业务访问请求报文响应的最长时间为10s,如果等待响应的时间超过10s,则请求失败。此外,假设该节点a为边缘节点,如果该节点a需要将业务访问请求报文转发给位于内容分发网络之外的目标源站(比如源站a),此时无需生成新的业务访问请求报文,则可以直接将该业务访问请求报文转发给源站a,以便源站a通过该业务访问请求报文查询出相应的业务文件;或者,假设该节点a为属于第1层级的父节点,如果该节点a需要将业务访问请求报文转发给位于内容分发网络之外的目标源站(比如源站a),则需要将接收到的业务访问请求报文的基本头部中的预设字段所添加的内容进行删除,并将删除后的业务访问请求报文转发给源站a,以便源站a通过该删除后的业务访问请求报文查询出相应的业务文件。以及,如果确定下一跳节点为位于内容分发网络内的节点,则会针对转发给下一跳节点的业务访问请求报文的转发次数是否超过某一数值(比如3)进行判断,假设该节点a需要在业务访问请求报文的基本头部中的预设字段所添加的业务访问请求报文转发次数是2,那么2是小于3的,此时可以通过针对业务访问请求报文进行相应的更改,以此生成新的业务访问请求报文,并将该新的业务访问请求报文转发给下一跳节点(比如节点b),以便节点b利用生效的查询功能范围针对该客户端所请求的业务文件进行相应的查询。或者,假设该节点a需要在业务访问请求报文的基本头部中的预设字段所添加的业务访问请求报文转发次数是4,那么4是大于3的,此时会执行回源策略,即,将业务访问请求报文的基本头部中的预设字段所添加的内容进行删除,并将删除后的业务访问请求报文转发给位于内容分发网络之外的源站a,以便源站a通过该删除后的业务访问请求报文查询出相应的业务文件。在查询出客户端所请求的业务文件后,即可通过该业务文件的请求路径准确地将该业务文件传输给该客户端。
83.上述实施例表明,由于现有技术方案是从硬件维度直接进行静态地区分规划各节点的不同节点层级,从而使得各节点的节点层级是明确的、固定的,因此导致不同节点层级的各节点是无法混用的。而且,由于不同节点层级的各节点不能混用,因此在业务访问请求量增加时就需要针对各节点进行冗余规划,从而也就会造成资源浪费。基于此,本发明中的技术方案通过从软件维度进行定义节点层级和节点类型,也即是将节点层级定义、节点类型定义与硬件设备(即节点)进行剥离,不再从硬件维度直接进行静态地区分规划不同节点层级、不同节点类型,以此实现动态地定义节点的节点层级和节点类型,从而可以打破硬件上的节点层级和节点类型束缚,有助于实现动态地控制或调整任一节点进行生效不同的节点层级和节点类型,并可以有效地提高定义节点的节点层级和节点类型的灵活性,那么也就能够实现节点的有效复用。具体来说,针对位于内容分发网络内的任一节点(即第一节点),该第一节点在检测到第一业务访问请求报文时,即可通过该第一业务访问请求报文准确地获知该第一节点的节点层级,其中,该第一业务访问请求报文用于指示任一客户端获取目标源站提供的业务文件,同时从多个属于不同层级的业务功能配置中确定出与该第一节点的节点层级匹配的第一业务功能配置,也即是不再静态地固定节点的节点层级,实现节点在不同的场景下,具有不同的节点层级(比如一个节点既可以作为边缘节点,也可以作为某一层级的父节点,比如一层父节点或二层父节点),并生效不同的节点层级各自对应的业务功能配置,从而实现节点的有效复用,当然各节点也就不需要进行冗余规划,以此有效地避免资源浪费。再通过执行该第一业务功能配置即可针对第一业务访问请求报文进行处理,以此可及时有效地查询出该第一业务请求报文所对应的目标源站提供的业务文件。如此,该方案通过从软件维度针对各节点的节点层级进行动态地定义,以便使得节点在不同的场景下生效不同的节点层级,而不是静态地固定节点的节点层级,从而可以使得节点的节点层级的灵活性增加,并可以实现各节点根据自己的当前场景进行灵活地动态生效更加符合当前场景的业务功能配置,进而可以实现节点的有效复用,并可以有效地避免出现因各节点需要冗余规划导致资源浪费的情况。
84.基于相同的技术构思,图3示例性地示出了本发明实施例提供的一种基于内容分发网络的数据处理装置,该装置可以执行基于内容分发网络的数据处理方法的流程。其中,基于内容分发网络的数据处理装置可以为第一节点(比如服务器或其它具有实现该方法所需的功能的电子设备),或者可以为设置于第一节点内的功能部件(比如支持第一节点实现该方法所需的功能的芯片或集成电路)。
85.如图3所示,该装置包括:
86.确定模块301,用于基于第一业务访问请求报文,确定第一节点的节点层级;所述第一业务访问请求报文用于指示任一客户端获取目标源站提供的业务文件;所述第一节点为位于所述内容分发网络内的任一节点;
87.处理模块302,用于启用与所述第一节点的节点层级匹配的第一业务功能配置;所述第一节点预配置有多个不同层级的业务功能配置;通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理。
88.可选地,所述处理模块302还用于:
89.在通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理之后,在确定查询出所述目标源站提供的业务文件时,基于所述第一业务功能配置将所述业务文
件发送至所述客户端。
90.可选地,所述确定模块301具体用于:
91.对所述第一业务访问请求报文进行检测,确定所述第一业务访问请求报文中是否携带有节点层级;
92.若是,则将所述第一业务访问请求报文中携带的节点层级确定为所述第一节点的节点层级。
93.可选地,所述确定模块301还用于:
94.若所述第一业务访问请求报文中未携带有节点层级,则确定所述第一节点的节点层级为第0层级;
95.其中,处于第0层级的所述第一节点为边缘节点。
96.可选地,所述处理模块302还用于:
97.在通过执行所述第一业务功能配置对所述第一业务访问请求报文进行处理之后,在确定未查询出所述目标源站提供的业务文件时,基于所述第一业务访问请求报文,生成第二业务访问请求报文,并将所述第二业务访问请求报文转发给所述第二节点;所述第二节点为位于所述内容分发网络内所述第一节点的下一跳节点。
98.可选地,所述处理模块302具体用于:
99.在所述第一业务访问请求报文的基本头部中的预设字段添加业务访问请求报文转发次数以及所述第二节点的节点类型,生成所述第二业务访问请求报文;所述业务访问请求报文转发次数用于指示所述第二节点的节点层级;所述节点层级和所述节点类型用于指示所述第二节点具有的业务功能权限;所述业务功能权限用于指示与所述第二节点相匹配的业务功能配置。
100.可选地,所述处理模块302还用于:
101.在生成所述第二业务访问请求报文之前,若确定所述第一节点的下一跳节点为位于所述内容分发网络之外的目标源站,则删除所述第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给所述目标源站;所述目标源站用于根据所述删除后的第一业务访问请求报文获取对应的业务文件。
102.可选地,所述处理模块302还用于:
103.在将所述第二业务访问请求报文转发给所述第二节点之前,确定业务访问请求报文转发次数小于或等于预设阈值。
104.可选地,所述处理模块302还用于:
105.在生成所述第二业务访问请求报文之前,若确定所述第一节点的下一跳节点为位于所述内容分发网络内的节点,则在确定业务访问请求报文转发次数大于所述预设阈值时,删除所述第一业务访问请求报文的基本头部中的预设字段所添加的内容,并将删除后的第一业务访问请求报文转发给所述目标源站;所述目标源站用于根据所述删除后的第一业务访问请求报文获取对应的业务文件。
106.基于相同的技术构思,本发明实施例还提供了一种计算设备,如图4所示,包括至少一个处理器401,以及与至少一个处理器连接的存储器402,本发明实施例中不限定处理器401与存储器402之间的具体连接介质,图4中处理器401和存储器402之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
107.在本发明实施例中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,可以执行前述的基于内容分发网络的数据处理方法中所包括的步骤。
108.其中,处理器401是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器402内的指令以及调用存储在存储器402内的数据,从而实现数据处理。可选的,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
109.处理器401可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于内容分发网络的数据处理方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
110.存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccess memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
111.基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述基于内容分发网络的数据处理方法的步骤。
112.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
113.本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流
程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
114.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
115.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
116.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
117.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献