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

切换回源策略的方法、装置、介质及设备与流程

2022-11-15 20:48:49 来源:中国专利 TAG:


1.本发明涉及服务调度领域,尤其涉及一种切换回源策略的方法、装置、介质及设备。


背景技术:

2.自云分发网络诞生以来,越来越多的网站管理者使用云分发网络提供加速服务,云分发网络能为网站解决诸多问题,随着云分发服务的发展,客户对云分发系统与源站的相互配合提出了更高的要求。例如,在源站服务器发生故障时,需要云分发系统能够快速自动切换至正常的源站服务器,而不影响到服务性能;当客户的源站配置改变或是根据需要指定回源策略时,要求云分发系统能快速变更回源策略并快速生效。相关技术中,存在如下问题:1.源站发生故障或者回源相关配置变更后需要重新加载配置,导致云分发系统性能波动。2.不支持客户端自主定义的动态回源策略。


技术实现要素:

3.为克服相关技术中存在的问题,本发明提供一种切换回源策略的方法、装置、介质及设备。
4.根据本发明实施例的第一方面,提供一种切换回源策略的方法,包括接收客户端的请求;
5.从所述请求的预设字段中获取回源特征字符串;
6.基于获取结果,确定回源优先列表;
7.遍历所述回源优先列表依次进行回源,直至响应成功。
8.预设字段包括域名、请求头、请求参数、请求路径、鉴权字符串、格式类型中的至少一种。
9.获取客户端的请求之前还包括:
10.预先获取所述请求的域名对应的回源策略配置表,所述回源策略配置表包括一条默认回源策略和n条指定回源策略,n为大于等于0的整数。
11.基于获取结果,确定回源优先列表包括:
12.当未获取到回源特征字符串,以所述默认回源策略为选定回源策略;当获取到回源特征字符串,以所述回源特征字符串对应的指定回源策略为选定回源策略;
13.根据所述选定回源策略计算回源优先列表。
14.回源策略包括:目标ip列表,回源选择算法,备份目标ip列表,重试次数中的一种或多种配置信息。
15.切换回源策略的方法还包括:
16.计算回源优先列表后,将所述回源优先列表以回源列表存储在缓存中。
17.确定回源优先列表还包括:
18.根据获取的所述回源特征字符串与所述请求url,在缓存中查找对应的回源列表,
根据所述回源选择算法确定回源优先列表。
19.以回源特征字符串对应的指定回源策略为选定回源策略包括:
20.对回源特征字符串进行解密,从所述解密后的数据中提取回源策略名;
21.加载所述回源策略名对应的指定回源策略。
22.获取所述请求的域名对应的回源策略配置表还包括:
23.通过调用指定的api服务,获取所述域名的回源策略配置表。
24.根据本发明实施例的另一方面,提供一种切换回源策略的装置,包括:
25.接收模块,用于接收客户端的请求;
26.回源特征获取模块,用于从所述请求的预设字段中获取回源特征字符串;
27.优先列表确定模块,用于基于获取结果,确定回源优先列表;
28.回源模块,用于遍历所述回源优先列表依次进行回源,直至响应成功。
29.预设字段包括域名、请求头、请求参数、请求路径、鉴权字符串、格式类型中的至少一种。
30.切换回源策略的装置还包括回源策略获取模块,用于预先获取所述请求的域名对应的回源策略配置表,所述回源策略配置表包括一条默认回源策略和n条指定回源策略,n为大于等于0的整数。
31.优先列表确定模块基于获取结果,确定回源优先列表包括:
32.当未获取到回源特征字符串,以所述默认回源策略为选定回源策略;当获取到回源特征字符串,以所述回源特征字符串对应的指定回源策略为选定回源策略;
33.根据所述选定回源策略计算回源优先列表。
34.回源策略包括:目标ip列表,回源选择算法,备份目标ip列表,重试次数中的一种或多种配置信息。
35.优先列表确定模块计算回源优先列表后,将回源优先列表以回源列表存储在缓存中。
36.优先列表确定模块确定回源优先列表还包括:
37.根据获取的所述回源特征字符串与所述请求url,在缓存中查找对应的回源列表,根据所述回源选择算法确定回源优先列表。
38.以回源特征字符串对应的指定回源策略为选定回源策略包括:
39.对所述回源特征字符串进行解密,从所述解密后的数据中提取回源策略名;
40.加载所述回源策略名对应的指定回源策略。
41.回源特征获取模块获取请求的域名对应的回源策略配置表还包括:
42.通过调用指定的api服务,获取所述域名的回源策略配置表。
43.根据本发明实施例的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被执行时实现切换回源策略的方法的步骤。
44.根据本发明实施例的另一方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,处理器执行计算机程序时实现切换回源策略的方法的步骤。
45.本发明通过缓存服务器获取请求中的回源特征字符串,基于获取的结果,确定出回源优先列表,按确定出的回源优先列表依次进行回源,直至响应成功,可以实现根据客户
端指定策略动态回源,提升服务质量。同时,通过指定api服务更新域名的回源策略配置表,从而实现回源策略的热加载,避免了回源策略相关配置变更后需要重新加载配置,导致云分发系统性能波动的问题。
46.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
47.构成本发明实施例的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
48.图1是根据一示例性实施例示出的一种切换回源策略的方法的流程图。
49.图2是根据一示例性实施例示出的一种切换回源策略的装置的框图。
50.图3是根据一示例性实施例示出的一种切换回源策略的装置的框图。
51.图4是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
52.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。
53.随着云分发服务的发展,客户对云分发系统与源站的相互配合提出了更高的要求。例如,在源站发生故障时,需要云分发系统能够快速自动切换而不影响到服务性能;当客户的源站配置改变,或是根据需要指定回源策略时,要求云分发系统能快速变更回源策略并快速生效。相关技术中,存在如下问题:1.源站发生故障或者回源相关配置变更后需要重新加载配置,导致云分发系统性能波动。2.不支持客户端自主定义的指定策略动态回源策略。
54.针对相关技术中存在的问题,本发明提供一种切换回源策略的方法。
55.图1是根据一示例性实施例示出的一种切换回源策略的方法的流程图。
56.参考图1,切换回源策略的方法应用于缓存服务器,包括:
57.步骤s11,接收客户端的请求;
58.步骤s12,从请求的预设字段中获取回源特征字符串;
59.步骤s13,基于获取结果,确定回源优先列表;
60.步骤s14,遍历回源优先列表依次进行回源,直至响应成功。
61.缓存服务器可以为边缘节点服务器,也可以为中心节点服务器,本发明涉及的缓存服务器,为当其未缓存所需资源时,需要回源站拉取资源的服务器,因此,根据云分发系统的规模,缓存服务器既可以是边缘节点服务器,也可以为中心节点服务器。对于边缘节点服务器,直接接收客户端的请求,对于中心节点服务器,接收边缘节点服务器转发的客户端的请求。
62.在步骤s12中,根据与源站的约定,在客户端访问请求的预设字段中获取回源特征
字符串,回源特征字符串是客户端在发送请求时,由客户端添加在请求中的信息,例如,客户端通过浏览器或app访问源站时,访问页面需要加载对应的页面信息或商品信息,通过对源站的设置,访问页面可以在加载页面信息或商品信息的同时,获取回源特征字符串。点击页面中的链接,可以生成访问请求,由客户端将获取的回源特征字符串添加在访问请求中。回源特征字符串是与该访问域名设置的回源策略相关的信息,可以是一段明文字符串,用于指示回源策略,也可以是加密字符,需要解密后才能确定所指示的回源策略。
63.回源特征字符串可以预置在网站管理者与云分发服务商约定的位置,例如,网站管理者与云分发服务商约定,将回源特征字符串置于请求头中,当缓存服务器接收到客户端请求后,可以查找请求头信息,确定是否包括回源特征字符串。在实际应用中,客户端的请求中可以包括回源特征字符串,也可以不包括回源特征字符串。因此,当缓存服务器查找请求头信息时,可能能够获取到回源特征字符串,也可能获取不到。
64.在步骤s13中,根据获取结果,当未获取到回源特征字符串时,说明客户端未指定回源方式,按默认回源策略回源;当获取到回源特征字符串时,说明客户端指定了回源策略,按指定回源策略回源。根据回源策略中给定的回源目标服务器列表及相关算法等信息,确定出多个回源目标服务器,多个目标服务器的优先级不同,将多个目标服务器的地址按优先级的先后顺序写入回源优先列表。
65.在步骤s14中,缓存服务器遍历回源优先列表,根据回源优先列表中从前到后的顺序,依次进行回源,直到获取到目标资源,成功响应客户端请求。
66.当对回源策略进行调整时,源站可以指示客户端在发送请求时,携带指定的回源特征字符串。云分发系统中的缓存服务器接收到客户端请求时,根据回源特征字符串,确定客户端指定的回源方式,获取对应的回源优先列表,按回源优先列表中多个目标服务器的优先级顺序进行回源,在源站服务器发生故障时,使得云分发系统能够快速自动切换至正常的源站目标服务器,不影响服务性能,提升客户端体验。同时可以实现,根据源站指定策略动态回源,针对不同地区或不同类型的客户端,或者访问不同类型的网站,可以采用不同的回源策略,提升服务质量。
67.在一实施例中,预设字段包括域名、请求头、请求参数、请求路径、鉴权字符串、格式类型中的至少一种。源站可与云分发网络服务商约定,将回源特征字符串写入访问请求中的预设字段。
68.例如,在网站域名中添加特定字符串,构成不同的子域名,不同子域名对应不同品类,采取相应的回源策略;在cookie中携带商品类型的参数值,作为回源特征字符串,根据回源特征字符串,加载不同的回源策略;在鉴权字符串中添加回源特征字符串,防盗链场景下,对url携带的鉴权字符串进行解密,获取回源特征字符串;或者,将回源特征字符串写入url的后缀或者请求头中携带的content-type字段的参数值中。
69.通过约定,只有写入预设字段内的回源特征字符串才能被缓存服务器读取,写在其他字段内的回源特征字符串是无效的。通过这样的设置,可以有效防止非法访问者构造请求,威胁源站安全。
70.在一示例性实施例中,获取客户端的请求之前还包括:
71.预先获取请求的域名对应的回源策略配置表,回源策略配置表包括一条默认回源策略和n条指定回源策略,n为大于等于0的整数。
72.缓存服务器需要首先获取不同域名对应的回源策略配置表,并将回源策略配置表保存在本地缓存。回源策略配置表可以只包括一条默认回源策略。
73.例如,example域名的回源策略配置表可以为以下格式:
74.{
75.策略_defaul:{
76.ip列表:{ip_c_1:10,ip_c_2:10,ip_c_3:10,ip_c_4:5,ip_c_5:5}
77.回源选择算法:一致性hash,
78.重试次数:2
79.}
80.以上回源策略配置表中,只有一条默认回源策略。
81.也可以如以下格式:
82.{
83.策略_a:{
84.ip列表:{ip_a_1:10,ip_a_2:10,ip_a_3:10,ip_a_4:5,ip_a_5:5}
85.回源选择算法:按权重random,
86.重试次数:2
87.},
88.策略_b:{
89.ip列表:{ip_b_1:10,ip_b_2:10,ip_b_3:10,ip_b_4:5,ip_b_5:5}
90.回源选择算法:按权重random,
91.重试次数:2
92.},
93.策略_defaul:{
94.ip列表:{ip_c_1:10,ip_c_2:10,ip_c_3:10,ip_c_4:5,ip_c_5:5}
95.回源选择算法:一致性hash,
96.重试次数:2
97.}
98.}
99.example域名的回源策略配置表中包括,2个指定回源策略:策略_a和策略_b,一个默认回源策略:策略_defaul。
100.在回源策略配置表中,分别设置指定回源策略和默认回源策略,当客户端请求中未包含回源特征字符串时,以默认回源策略进行回源。当客户端请求中包括回源特征字符串时,即客户端指定了回源策略,按客户端指定的回源策略进行回源。
101.缓存服务器可以通过管理服务器获取回源策略配置表,例如,网站管理者将制定的回源策略配置表提交给云分发网络服务商,云分发网络服务商通过管理服务器,向缓存服务器发送回源策略配置表,或者,向缓存服务器发送更新通知,由缓存服务器从管理服务器下载回源策略配置表。
102.在一示例性实施例中,获取请求的域名对应的回源策略配置表还包括:通过调用指定的api服务,获取域名的回源策略配置表。
103.当回源配置变更时,源站管理者可以通过云分发网络服务商提供的指定api服务,通知缓存服务器调用指定api更新回源策略配置表,可以实现配置变更的即时生效,也就是热加载,避免了相关技术中回源策略相关配置变更后需要重新加载配置,导致云分发系统性能波动的问题。
104.即使缓存服务器调用指定api服务更新回源策略配置表的过程中,由于各种原因导致更新失败,在缓存服务器获取到请求的回源策略名后,如在域名对应的回源策略配置表中没有查到该回源策略名,缓存服务器可以重新调用api服务,重新下载回源策略配置表,加载更新后的回源策略配置表中的回源策略名对应的回源策略。
105.在一示例性实施例中,基于获取结果,确定回源优先列表包括:
106.当未获取到回源特征字符串,以默认回源策略为选定回源策略;当获取到回源特征字符串,以回源特征字符串对应的指定回源策略为选定回源策略;
107.根据选定回源策略计算回源优先列表。
108.根据客户端是否指定回源策略,选择不同的回源方式。从而保证所有客户端的请求,可以按不同的回源策略进行回源,确保响应的及时性与灵活性。
109.在一示例性实施例中,回源策略包括:目标ip列表,回源选择算法,备份目标ip列表,重试次数中的一种或多种配置信息。
110.例如:策略_a:{
111.ip列表:{ip_a_1:10,ip_a_2:10,ip_a_3:10,ip_a_4:5,}
112.备份ip列表{ip_a_5:5,ip_a_6:10,ip_a_7:5,ip_a_8:5}
113.回源选择算法:按权重random,
114.重试次数:2
115.},
116.策略_b:{
117.ip列表:{ip_b_1:10,ip_b_2:10,ip_b_3:10,ip_b_4:5,ip_b_5:5}
118.回源选择算法:按权重random,
119.重试次数:2
120.}
121.策略a中包括目标ip列表,还包括备份ip列表,缓存服务器计算回源优先列表时,优先选择目标ip列表中的地址,如果目标ip列表中服务器ip数量比较少,还可以从备份ip列表中进行增选。重试次数指缓存服务器向源站服务器请求数据未成功的情况下,再次发起请求的次数。可见,从ip列表中选定的目标服务器的数量,为重试次数加1。而回源选择算法,决定了多个目标服务器的回源优先级。
122.源站管理者可以根据实际情况,对回源策略进行配置。例如源站管理者针对某一域名设置了回源策略,包括目标ip列表,备份目标ip列表,回源策略的名称为a,根据回源策略名称a生成回源特字符串。最终用户通过app或网站页面发送访问请求时,在请求中的预设字段内自动添加上述回源特征字符串。不同的回源特征字符串对应不同的回源策略名,不同的回源策略名对应不同的回源策略。客户端请求中指定不同的回源策略,缓存服务器可以实现按指定方式回源,提高回源成功率。
123.在一示例性实施例中,切换回源策略的方法还包括:计算回源优先列表后,将回源
优先列表以回源列表存储在缓存中。当缓存服务器为携带回源特征字符串的客户端请求计算了回源优先列表后,可以将回源优先列表以回源列表存储在本地缓存中,当同一客户端再次访问相同网站内容,或者,携带相同回源特征字符串的其他客户端访问相同网站内容时,可以查找与客户端访问域名及回源特征字符串对应的回源列表,将查找到的回源列表中的源站服务器地址,根据回源选择算法进行调整,并按优先级由高到低的顺序排列,组成回源优先列表,缓存服务器跟据回源优先列表进行回源。例如,当回源选择算法为随机(random)算法时,对缓存的回源列表随机变换顺序,形成回源优先列表;当回源选择算法为一致性哈希(hash)算法时,保持缓存的回源列表顺序不变,直接作为回源优先列表使用。本实施例中,使用已经存储的回源列表,只需根据回源选择算法对回源列表进行简单的调整,即可作为回源优先列表使用,避免多次重复计算,加快响应速度。
124.在一示例性实施例中,确定回源优先列表还包括:
125.根据获取的回源特征字符串与请求url,在缓存中查找对应的回源列表,根据回源选择算法确定回源优先列表。
126.本实施例中,对已经生成的回源优先列表进行存储,为了使回源特征字符串与请求的url,和缓存的回源列表建立对应关系,存储名称为对回源特征字符串及请求的url进行排序后,通过hash算法计算出的对应的key值。
127.对回源特征字符串及请求的url按预设规则进行排序,例如,回源特征字符串在前,请求的url在后;或者,请求的url在前,回源特征字符串在后;又或者,将回源特征字符串插入请求的url的指定位置。对排序后的回源特征字符串与请求的url,通过hash算法计算出对应的key值。
128.可以理解,如果缓存服务器没有在客户端请求的预设字段中获取到回源特征字符串,可以认为回源特征字符串为空字符,此时只需要根据访问的url计算key值。
129.在收到请求时,根据回源特征字符串和访问的url计算key值,如果与存储的key值相同,则直接使用已经存储的回源列表,避免多次重复计算,加快响应速度。
130.如果本地缓存有名称为该key值的回源列表,根据回源策略中的回源选择算法,对缓存的回源列表进行处理;如果本地没有缓存名称为该key值的回源列表,则根据回源策略及url计算出回源优先列表,并缓存在本地,名称为上述key值。
131.缓存服务器最初接收到客户端发送的针对某网站域名的请求后,从请求中获取回源特征字符串和请求的url,并计算出key值,进而通过计算确定回源优先列表。将回源优先列表存储在缓存中,当再次接收到访问相同域名且携带相同回源特征字符串的请求时,计算出key值后,能够从缓存中读取该key值对应的回源列表,而不需要再次进行计算,提高响应速度。
132.在一示例性实施例中,以回源特征字符串对应的指定回源策略为选定回源策略包括:
133.对回源特征字符串进行解密,从解密后的数据中提取回源策略名;
134.加载回源策略名对应的指定回源策略。
135.源站针对某一域名设置了回源策略时,可以根据回源策略名称生成回源特征字符串,将回源特征字符串更新至客户端app或网页,可以以明文的形式将策略名称作为回源特征字符串,或者将将策略名称插入指定的字段内,缓存服务器可以从请求的预设字段中获
取回源特征字符串,从中提取出回源策略名称。为了隐藏源站配置信息,源站管理者还可以对回源策略名称进行加密编码处理,生成加密字符,以加密字符作为回源特征字符串。缓存服务器在请求中获取到回源特征字符串后,需要对回源特征字符串进行解密,从解密后的数据中提取回源策略名;加载回源策略名对应的指定回源策略,计算出回源优先列表。
136.对回源特征字符串进行解密后,还可以进行有效性验证,验证通过后从解密后的数据中提取回源策略名;验证未通过,加载域名的回源策略配置表中的默认回源策略。缓存服务器对回源特征字符串解密后,进行有效性验证。如验证通过,提取回源策略名,并加载域名的回源策略配置表中与回源策略名对应的回源策略;如验证失败,加载域名的回源策略配置表中的默认回源策略。通过此方法,可以有效防止请求被篡改。
137.为更好地理解本发明中的切换回源策略的方法,举例说明。
138.具体实施例1:
139.1):example域名新增回源策略配置表,缓存服务器通过调用指定api服务,将example域名的回源策略配置表更新到本地数据库,数据如下:
140.{
141.策略_a:{
142.ip列表:{ip_a_1:10,ip_a_2:10,ip_a_3:10,ip_a_4:5,ip_a_5:5}
143.回源选择算法:按权重random,
144.重试次数:2
145.},
146.策略_b:{
147.ip列表:{ip_b_1:10,ip_b_2:10,ip_b_3:10,ip_b_4:5,ip_b_5:5}
148.回源选择算法:按权重random,
149.重试次数:2
150.},
151.策略_defaul:{
152.ip列表:{ip_c_1:10,ip_c_2:10,ip_c_3:10,ip_c_4:5,ip_c_5:5}
153.回源选择算法:一致性hash,
154.重试次数:2
155.}
156.}
157.example域名的回源策略配置表中包括,2个指定回源策略:策略_a和策略_b;一个默认回源策略:策略_defaul。
158.2):接收example域名的一个客户端请求,如该请求的预设字段中未携带回源特征字符串,加载默认策略名对应的回源配置,如下:
159.策略_defaul:{
160.ip列表:{ip_c_1:10,ip_c_2:10,ip_c_3:10,ip_c_4:5,ip_c_5:5}
161.回源选择算法:一致性hash,
162.重试次数:2
163.}
164.3):根据获取到的ip列表,重试次数,以及回源选择算法,最终计算出一个回源优先列表:[ip_c_2,ip_c_1,ip_c_3],优先到ip_c_2所在源站服务器进行回源,回源成功后直接响应给客户端,如回源失败,则会重试ip_c_1,如还是失败,则再重试ip_c_3。直到回源成功。
[0165]
具体实施例2:
[0166]
1):example域名新增回源策略配置表,数据如下:
[0167]
{
[0168]
策略_a:{
[0169]
ip列表:{ip_a_1:10,ip_a_2:10,ip_a_3:10,ip_a_4:5,ip_a_5:5}
[0170]
回源选择算法:按权重random,
[0171]
重试次数:2
[0172]
},
[0173]
策略_b:{
[0174]
ip列表:{ip_b_1:10,ip_b_2:10,ip_b_3:10,ip_b_4:5,ip_b_5:5}
[0175]
回源选择算法:按权重random,
[0176]
重试次数:2
[0177]
},
[0178]
策略_defaul:{
[0179]
ip列表:{ip_c_1:10,ip_c_2:10,ip_c_3:10,ip_c_4:5,ip_c_5:5}
[0180]
回源选择算法:一致性hash,
[0181]
重试次数:2
[0182]
}
[0183]
}
[0184]
example域名的回源策略配置表中包括,2个指定回源策略:策略_a和策略_b;一个默认回源策略:策略_defaul。缓存服务器通过调用指定api服务进行更新,但缓存服务器在将example域名的回源策略配置表更新到本地数据库的过程中出错,未能更新本地数据库。
[0185]
2):首次接收example域名的一个新的客户端请求,该请求的预设字段内带有回源特征字符串xxxxxx-a,根据回源特征字符串“xxxxxx-a”与请求的url进行hash计算,假设计算结果为key1,在缓存中查询是否存在名称为key1的回源列表。查询结果为缓存中没有名称为key1的回源列表,对回源特征字符串进行解密,校验通过,最终获取到回源策略名为“策略_a”,但缓存服务器通过查找本地数据库,在example域名的回源策略配置表中未找到名为“策略_a”的回源策略,再次通过api获取回源配置如下:
[0186]
策略_a:{
[0187]
ip列表:{ip_a_1:10,ip_a_2:10,ip_a_3:10,ip_a_4:5,ip_a_5:5}
[0188]
回源选择算法:按权重random,
[0189]
重试次数:3
[0190]
}
[0191]
3):根据获取到的ip列表,重试次数,以及回源选择算法,最终计算出一个回源优先列表:[ip_a_1,ip_a_4,ip_a_3,ip_a_5],优先到ip_a_1所在源站服务器进行回源,回源
成功后直接响应给客户端,回源失败会去重试ip_a_4,如果还是失败则会去重试ip_a_3,ip_a_5,直到回源成功。
[0192]
4):将列表:[ip_a_1,ip_a_4,ip_a_3,ip_a_5]保存为回源列表,保存名称为key1。
[0193]
5):再次接收example域名的客户端请求,该请求的预设字段内带有回源特征字符串xxxxxx-a,根据回源特征字符串“xxxxxx-a”与请求的url进行hash计算,计算结果为key1。从缓存中读取该key1对应的缓存列表:[ip_a_1,ip_a_4,ip_a_3,ip_a_5],根据策略a中的回源选择算法“random”,对[ip_a_1,ip_a_4,ip_a_3,ip_a_5]的地址进行随机排序,将排序后的列表作为回源优先列表,按优先顺序依次回源,直到回源成功。
[0194]
通过以上实施例,本发明提供的切换回源策略的方法中,获取请求的预设字段中的回源特征字符串,根据获取结果,确定回源策略,进而确定回源优先列表,从而实现根据客户端指定策略动态回源,不同地区或不同类型的客户端,访问不同类型的网站,可以采用不同的回源策略,提升服务质量。同时,缓存服务器通过指定api服务更新域名回源策略配置表,可以在回源配置变更的时候通过api更新到本地缓存,也可以在接到请求后,根据请求中的回源特征字符串,获取回源策略名,再通过调用api服务获取对应的回源策略。从而实现回源策略的热加载,避免了回源策略相关配置变更后需要重新加载配置,导致云分发系统性能波动的问题。
[0195]
图2是根据一示例性实施例示出的一种切换回源策略的装置的框图。参考图2,切换回源策略的装置,应用于缓存服务器包括:接收模块201,回源特征获取模块202,优先列表确定模块203,回源模块204。
[0196]
该接收模块201被配置为用于获取客户端的请求。
[0197]
该回源特征获取模块202被配置为用于从请求的预设字段中获取回源特征字符串。
[0198]
该优先列表确定模块203被配置为用于基于获取结果,确定回源优先列表。
[0199]
该回源模块204被配置为用于遍历回源优先列表依次进行回源,直至响应成功。
[0200]
预设字段包括域名、请求头、请求参数、请求路径、鉴权字符串、格式类型中的至少一种。
[0201]
图3是根据一示例性实施例示出的一种切换回源策略的装置的框图。参考图3,切换回源策略的装置还包括:
[0202]
回源策略获取模块301,用于预先获取所述请求的域名对应的回源策略配置表,回源策略配置表包括一条默认回源策略和n条指定回源策略,n为大于等于0的整数。
[0203]
优先列表确定模块基于获取结果,确定回源优先列表包括:
[0204]
当未获取到回源特征字符串,以默认回源策略为选定回源策略;当获取到回源特征字符串,以回源特征字符串对应的指定回源策略为选定回源策略;
[0205]
根据选定回源策略计算回源优先列表。
[0206]
回源策略包括:目标ip列表,回源选择算法,备份目标ip列表,重试次数中的一种或多种配置信息。
[0207]
优先列表确定模块203还用于计算回源优先列表后,将回源优先列表以回源列表存储在缓存中。
[0208]
确定回源优先列表还包括:
[0209]
根据获取的回源特征字符串与请求url,在缓存中查找对应的回源列表,根据回源选择算法确定回源优先列表。
[0210]
优先列表确定模块203以回源特征字符串对应的指定回源策略为选定回源策略包括:
[0211]
对回源特征字符串进行解密,从解密后的数据中提取回源策略名;
[0212]
加载所述回源策略名对应的指定回源策略。
[0213]
回源策略获取模块301获取所述请求的域名对应的回源策略配置表还包括:
[0214]
通过调用指定的api服务,获取所述域名的回源策略配置表。
[0215]
图4是根据一示例性实施例示出的一种用于切换回源策略的计算机设备400的框图。例如,计算机设备400可以被提供为一服务器。参照图4,计算机设备400包括处理器401,处理器的个数可以根据需要设置为一个或者多个。计算机设备400还包括存储器402,用于存储可由处理器401的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器401被配置为执行指令,以执行上述切换回源策略的方法。
[0216]
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0217]
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0218]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
[0219]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0220]
在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
[0221]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0222]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明的意图也包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献