一种面向业务流量特征的智能加速系统和方法与流程

文档序号:24590494发布日期:2021-04-06 12:41阅读:80来源:国知局
一种面向业务流量特征的智能加速系统和方法与流程

本发明提出了一种面向业务流量特征的智能加速系统和方法,属于互联网加速服务技术领域。



背景技术:

网络加速服务首先需要妥善解决业务流量的特征识别问题,以便调度对应的网络资源以及控制好带宽成本。加速服务对于某种业务对象往往因为被加速的应用版本升级而变得不可用,因此如何有效监测,精细化获取并更新业务特征库变得非常重要。目前通过人工发现并更新上线的操作非常滞后,流程周期长而且容易出错,不利于加速服务快速恢复。被加速业务对象的识别管理首先依赖于加速客户端的感知,其业务流量特征通常体现在进程、域名、协议类别、ip和端口,但针对不同业务对象,不同区域用户,其具体参数值分布有所不同,并且随着时间推移特征库将可能发生改变。此外不同的加速客户端平台,提供的特征加速能力也有所差异。



技术实现要素:

本发明提供了一种面向业务流量特征的智能加速系统和方法,通过在用户终端捕获业务应用流量与尝试多级别加速,在核心服务器上监测分析特征数据的变化并升级更新特征库,以减小加速服务失效的影响。用以解决加速服务失效的影响较大的问题,所采取的技术方案如下:

一种面向业务流量特征的智能加速系统,所述系统包括:

加速客户端模块,用于加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果;

特征识别服务器,用于接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库;

本地更新模块,用于所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库。

进一步地,所述特征数据库包括多个被加速业务对象特征数据库;其中,所述被加速业务对象特征数据库包含元素:业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;

所述被加速对象特征向量包含但不限于进程名、应用名、域名、协议名、ip和端口。

进一步地,所述加速客户端模块包括:

请求模块,用于所述客户端向所述特征识别服务器请求特征数据库并存储在本地;

第一加速模块,所述客户端在用户启动加速服务时,先尝试对第一加速级别的特征向量进行加速;如果加速失败,保存当前加速级别状态,并将失败消息上报给所述特征识别服务器;所述加速失败消息包含业务应用名称,用户区域,加速平台类型,加速级别和被加速对象id;所述第一加速级别的特征向量是指缺省的可用加速级别的被加速特征向量;比如模糊的ip段范围或者域名表,全量ip路由表;常驻备选级别将导致加速网络带宽成本上升;

加速失败处理模块,用于所述特征识别服务器处理加速失败消息,记录用户区域和加速平台类型,标记对象特征数据库状态为“修改准备”;

第二加速模块,用于所述客户端继续尝试第二加速级别的特征向量;如果加速成功,将加速成功消息上报给所述特征识别服务器;所述加速成功消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;所述第二加速级别的特征向量是指比所述第一加速级别更宽松的加速级别的被加速特征向量,以容许业务流量通过客户端,它作为特征种子向量,能有效利用加速网络带宽资源;

加速成功处理模块,用于所述特征识别服务器处理加速成功消息,从特征数据库读取匹配的加速对象id和加速级别,分析用户区域和加速平台类型,计算被加速对象特征向量变化。

进一步地,所述特征识别服务器包括:

数据库更新模块,用于所述特征识别服务器按配置策略更新特征数据库,并标记对象特征数据库状态为“修改完成”;所述配置策略包括但不限于立即更新,人工复核或按自定义规则更新;

通知模块,用于所述特征识别服务器在特征数据库状态更新后,通知所有已请求特征数据库的客户端,特征数据库更新消息;其中,所述特征数据库更新消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量。

进一步地,所述本地更新模块包括:

更新执行模块,用于所述客户端在处理完毕特征数据库更新消息之后,对所述客户端本地的特征数据库进行更新;

更新监控模块,用于所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警;

其中,所述更新监控模块包括:

数据量获取模块,用于实时获取所述特征数据库进行更新时的已完成更新的数据量和需要更新的总数据量:

速率获取模块,用于利用所述更新数据量获取更新速度:

其中,v表示更新速度,n表示需要更新的特行向量个数;ci表示第i个需要更新的特征向量对应的数据量大小;cmax表示需要更新的特征向量中,单个特征向量数据量最大值;cmin表示需要更新的特征向量中,单个特征向量数据量最小值;λ表示速度修正系数;c1表示所述特征数据库进行更新时的已完成更新的数据量;c2表示所述特征数据库更新过程中,需要更新的总数据量;d1表示客户端的上行带宽;d2表示客户端的下行带宽;

阈值对比模块,用于将所述更新速度与所述速度阈值进行对比,当所述更新速度小于所述速度阈值时,进行更新预警。

一种面向业务流量特征的智能加速方法,所述方法包括:

加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果;

接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库;

所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库。

进一步地,所述特征数据库包括多个被加速业务对象特征数据库;其中,所述被加速业务对象特征数据库包含元素:业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;

所述被加速对象特征向量包含但不限于进程名、应用名、域名、协议名、ip和端口。

进一步地,所述加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果,包括:

所述客户端向所述特征识别服务器请求特征数据库并存储在本地;

客户端在用户启动加速服务时,先尝试对第一加速级别的特征向量进行加速;如果加速失败,保存当前加速级别状态,并将失败消息上报给所述特征识别服务器;所述加速失败消息包含业务应用名称,用户区域,加速平台类型,加速级别和被加速对象id;所述第一加速级别的特征向量是指缺省的可用加速级别的被加速特征向量;比如模糊的ip段范围或者域名表,全量ip路由表;常驻备选级别将导致加速网络带宽成本上升;

所述特征识别服务器处理加速失败消息,记录用户区域和加速平台类型,标记对象特征数据库状态为“修改准备”;

所述客户端继续尝试第二加速级别的特征向量;如果加速成功,将加速成功消息上报给所述特征识别服务器;所述加速成功消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;所述第二加速级别的特征向量是指比所述第一加速级别更宽松的加速级别的被加速特征向量,以容许业务流量通过客户端,它作为特征种子向量,能有效利用加速网络带宽资源;

所述特征识别服务器处理加速成功消息,从特征数据库读取匹配的加速对象id和加速级别,分析用户区域和加速平台类型,计算被加速对象特征向量变化。

进一步地,所述接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库,包括:

所述特征识别服务器按配置策略更新特征数据库,并标记对象特征数据库状态为“修改完成”;所述配置策略包括但不限于立即更新,人工复核或按自定义规则更新;

所述特征识别服务器在特征数据库状态更新后,通知所有已请求特征数据库的客户端,特征数据库更新消息;其中,所述特征数据库更新消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量。

进一步地,所述所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库,包括:

所述客户端在处理完毕特征数据库更新消息之后,对所述客户端本地的特征数据库进行更新;

所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警;

其中,所述所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警,包括:

实时获取所述特征数据库进行更新时的已完成更新的数据量和需要更新的总数据量:

利用所述更新数据量获取更新速度:

其中,v表示更新速度,n表示需要更新的特行向量个数;ci表示第i个需要更新的特征向量对应的数据量大小;cmax表示需要更新的特征向量中,单个特征向量数据量最大值;cmin表示需要更新的特征向量中,单个特征向量数据量最小值;λ表示速度修正系数;c1表示所述特征数据库进行更新时的已完成更新的数据量;c2表示所述特征数据库更新过程中,需要更新的总数据量;d1表示客户端的上行带宽;d2表示客户端的下行带宽;

将所述更新速度与所述速度阈值进行对比,当所述更新速度小于所述速度阈值时,进行更新预警。

本发明有益效果:

本发明提出的一种面向业务流量特征的智能加速系统和方法,通过加速客户端对不同业务对象,不同级别的流量特征加速尝试,可以自动更新针对某项业务对象的特征库,替代了人工搜集和更新特征库的低效流程,实现了特征库的精细化自动管理,能缩短加速失效时间,减少某项业务对象失效过程中大面积用户的影响。

附图说明

图1为本发明所述系统的系统框图;

图2为本发明所述方法的流程图;

图3为本发明所述系统和方法的原理示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提出的一种面向业务流量特征的智能加速系统,如图1所示,所述系统包括:

加速客户端模块,用于加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果;

特征识别服务器,用于接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库;

本地更新模块,用于所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库。

其中,所述特征数据库包括多个被加速业务对象特征数据库;其中,所述被加速业务对象特征数据库包含元素:业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;

所述被加速对象特征向量包含但不限于进程名、应用名、域名、协议名、ip和端口。

上述技术方案的工作原理为:首先,通过加速客户端模块使加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果;然后,采用特征识别服务器接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库;最后,通过本地更新模块控制所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库。

上述技术方案的效果为:通过加速客户端对不同业务对象,不同级别的流量特征加速尝试,可以自动更新针对某项业务对象的特征库,替代了人工搜集和更新特征库的低效流程,实现了特征库的精细化自动管理,能缩短加速失效时间,减少某项业务对象失效过程中大面积用户的影响。

本发明的一个实施例,所述加速客户端模块包括:

请求模块,用于所述客户端向所述特征识别服务器请求特征数据库并存储在本地;

第一加速模块,所述客户端在用户启动加速服务时,先尝试对第一加速级别的特征向量进行加速;如果加速失败,保存当前加速级别状态,并将失败消息上报给所述特征识别服务器;所述加速失败消息包含业务应用名称,用户区域,加速平台类型,加速级别和被加速对象id;所述第一加速级别的特征向量是指缺省的可用加速级别的被加速特征向量;比如模糊的ip段范围或者域名表,全量ip路由表;常驻备选级别将导致加速网络带宽成本上升;

加速失败处理模块,用于所述特征识别服务器处理加速失败消息,记录用户区域和加速平台类型,标记对象特征数据库状态为“修改准备”;

第二加速模块,用于所述客户端继续尝试第二加速级别的特征向量;如果加速成功,将加速成功消息上报给所述特征识别服务器;所述加速成功消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;所述第二加速级别的特征向量是指比所述第一加速级别更宽松的加速级别的被加速特征向量,以容许业务流量通过客户端,它作为特征种子向量,能有效利用加速网络带宽资源;

加速成功处理模块,用于所述特征识别服务器处理加速成功消息,从特征数据库读取匹配的加速对象id和加速级别,分析用户区域和加速平台类型,计算被加速对象特征向量变化。

其中,所述特征识别服务器包括:

数据库更新模块,用于所述特征识别服务器按配置策略更新特征数据库,并标记对象特征数据库状态为“修改完成”;所述配置策略包括但不限于立即更新,人工复核或按自定义规则更新;

通知模块,用于所述特征识别服务器在特征数据库状态更新后,通知所有已请求特征数据库的客户端,特征数据库更新消息;其中,所述特征数据库更新消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量。

上述技术方案的工作原理为:

第一步,通过请求模块控制所述客户端向所述特征识别服务器请求特征数据库并存储在本地;

第二步,采用第一加速模块控制所述客户端在用户启动加速服务时,先尝试对第一加速级别的特征向量进行加速;如果加速失败,保存当前加速级别状态,并将失败消息上报给所述特征识别服务器;所述加速失败消息包含业务应用名称,用户区域,加速平台类型,加速级别和被加速对象id;所述第一加速级别的特征向量是指缺省的可用加速级别的被加速特征向量;比如模糊的ip段范围或者域名表,全量ip路由表;常驻备选级别将导致加速网络带宽成本上升;

第三步,通过加速失败处理模块控制所述特征识别服务器处理加速失败消息,记录用户区域和加速平台类型,标记对象特征数据库状态为“修改准备”;

第四步,采用第二加速模块控制所述客户端继续尝试第二加速级别的特征向量;如果加速成功,将加速成功消息上报给所述特征识别服务器;所述加速成功消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;所述第二加速级别的特征向量是指比所述第一加速级别更宽松的加速级别的被加速特征向量,以容许业务流量通过客户端,它作为特征种子向量,能有效利用加速网络带宽资源;

第五步,通过加速成功处理模块控制所述特征识别服务器处理加速成功消息,从特征数据库读取匹配的加速对象id和加速级别,分析用户区域和加速平台类型,计算被加速对象特征向量变化。

第六步,采用数据库更新模块控制所述特征识别服务器按配置策略更新特征数据库,并标记对象特征数据库状态为“修改完成”;所述配置策略包括但不限于立即更新,人工复核或按自定义规则更新;

第七步,通过通知模块在所述特征识别服务器在特征数据库状态更新后,通知所有已请求特征数据库的客户端,特征数据库更新消息;其中,所述特征数据库更新消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量。

上述技术方案的效果为:通过不同级别的流量特征加速尝试,能够有效提高特征库更新的自动化程度以及更新需求检测准确性,能够有效提高特征库更新的及时性和时效性,防止特征库更新不及时的情况发生,同时,通过多级别的特征加速尝试,能够提高更新需求检测效率,替代人工搜集和更新特征库的低效流程,实现了特征库的精细化自动管理,能缩短加速失效时间,减少某项业务对象失效过程中大面积用户的影响。

本发明的一个实施例,所述本地更新模块包括:

更新执行模块,用于所述客户端在处理完毕特征数据库更新消息之后,对所述客户端本地的特征数据库进行更新;

更新监控模块,用于所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警;

其中,所述更新监控模块包括:

数据量获取模块,用于实时获取所述特征数据库进行更新时的已完成更新的数据量和需要更新的总数据量:

速率获取模块,用于利用所述更新数据量获取更新速度:

其中,v表示更新速度,n表示需要更新的特行向量个数;ci表示第i个需要更新的特征向量对应的数据量大小;cmax表示需要更新的特征向量中,单个特征向量数据量最大值;cmin表示需要更新的特征向量中,单个特征向量数据量最小值;λ表示速度修正系数;c1表示所述特征数据库进行更新时的已完成更新的数据量;c2表示所述特征数据库更新过程中,需要更新的总数据量;d1表示客户端的上行带宽;d2表示客户端的下行带宽;

阈值对比模块,用于将所述更新速度与所述速度阈值进行对比,当所述更新速度小于所述速度阈值时,进行更新预警。

上述技术方案的工作原理为:

首先,通过更新执行模块控制所述客户端在处理完毕特征数据库更新消息之后,对所述客户端本地的特征数据库进行更新;

然后,利用更新监控模块,控制所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警;

其中,所述更新监控模块运行过程包括:

首先,通过数据量获取模块实时获取所述特征数据库进行更新时的已完成更新的数据量和需要更新的总数据量:

然后,通过速率获取模块利用所述更新数据量获取更新速度:

其中,v表示更新速度,n表示需要更新的特行向量个数;ci表示第i个需要更新的特征向量对应的数据量大小;cmax表示需要更新的特征向量中,单个特征向量数据量最大值;cmin表示需要更新的特征向量中,单个特征向量数据量最小值;λ表示速度修正系数;c1表示所述特征数据库进行更新时的已完成更新的数据量;c2表示所述特征数据库更新过程中,需要更新的总数据量;d1表示客户端的上行带宽;d2表示客户端的下行带宽;

最后,采用阈值对比模将所述更新速度与所述速度阈值进行对比,当所述更新速度小于所述速度阈值时,进行更新预警。

上述技术方案的效果为:通过上述方式能够有效提高客户端本地的特征数据库更细效率和更新速度,同时,通过上述公式获取的更新速度能够有效提高数据更新速度的准确性和更新速度获取的时效性,有效防止在实时获取数据更新速度过程中的更新速度获取延迟的问题发生,进一步提高更新速度监控的及时性和准确性。

本发明的一个实施例提出了一种面向业务流量特征的智能加速方法,如图2所示,所述方法包括:

s1、加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果;

s2、接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库;

s3、所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库。

其中,所述特征数据库包括多个被加速业务对象特征数据库;其中,所述被加速业务对象特征数据库包含元素:业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;

所述被加速对象特征向量包含但不限于进程名、应用名、域名、协议名、ip和端口。

上述技术方案的工作原理为:首先,加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果;然后,接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库;最后,所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库。

上述技术方案的效果为:上述技术方案的效果为:通过加速客户端对不同业务对象,不同级别的流量特征加速尝试,可以自动更新针对某项业务对象的特征库,替代了人工搜集和更新特征库的低效流程,实现了特征库的精细化自动管理,能缩短加速失效时间,减少某项业务对象失效过程中大面积用户的影响。

本发明的一个实施例,所述加速客户端捕获业务应用数据流,对特定的被加速业务对象,按预先设定的顺序,尝试对多个预先定义的不同级别的特征向量进行加速,获得多级别加速尝试结果,包括:

s101、所述客户端向所述特征识别服务器请求特征数据库并存储在本地;

s102、客户端在用户启动加速服务时,先尝试对第一加速级别的特征向量进行加速;如果加速失败,保存当前加速级别状态,并将失败消息上报给所述特征识别服务器;所述加速失败消息包含业务应用名称,用户区域,加速平台类型,加速级别和被加速对象id;所述第一加速级别的特征向量是指缺省的可用加速级别的被加速特征向量;比如模糊的ip段范围或者域名表,全量ip路由表;常驻备选级别将导致加速网络带宽成本上升;

s103、所述特征识别服务器处理加速失败消息,记录用户区域和加速平台类型,标记对象特征数据库状态为“修改准备”;

s104、所述客户端继续尝试第二加速级别的特征向量;如果加速成功,将加速成功消息上报给所述特征识别服务器;所述加速成功消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量;所述第二加速级别的特征向量是指比所述第一加速级别更宽松的加速级别的被加速特征向量,以容许业务流量通过客户端,它作为特征种子向量,能有效利用加速网络带宽资源;

s105、所述特征识别服务器处理加速成功消息,从特征数据库读取匹配的加速对象id和加速级别,分析用户区域和加速平台类型,计算被加速对象特征向量变化。

其中,所述接收多级别加速尝试结果,并结合已有特征数据识别数据的变化并更新特征数据库,包括:

s201、所述特征识别服务器按配置策略更新特征数据库,并标记对象特征数据库状态为“修改完成”;所述配置策略包括但不限于立即更新,人工复核或按自定义规则更新;

s202、所述特征识别服务器在特征数据库状态更新后,通知所有已请求特征数据库的客户端,特征数据库更新消息;其中,所述特征数据库更新消息包含业务应用名称,用户区域,加速平台类型,加速级别,被加速对象id和被加速对象特征向量。

上述技术方案的效果为:通过不同级别的流量特征加速尝试,能够有效提高特征库更新的自动化程度以及更新需求检测准确性,能够有效提高特征库更新的及时性和时效性,防止特征库更新不及时的情况发生,同时,通过多级别的特征加速尝试,能够提高更新需求检测效率,替代人工搜集和更新特征库的低效流程,实现了特征库的精细化自动管理,能缩短加速失效时间,减少某项业务对象失效过程中大面积用户的影响。

本发明的一个实施例,所述所述客户端处理特征数据库更新消息,更新所述客户端本地的特征数据库,包括:

s301、所述客户端在处理完毕特征数据库更新消息之后,对所述客户端本地的特征数据库进行更新;

s302、所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警;

其中,所述所述客户端本地进行特征数据库更新的更新速度,当所述更新速度小于预先设定的速度阈值时进行更新预警,包括:

s3021、实时获取所述特征数据库进行更新时的已完成更新的数据量和需要更新的总数据量:

s3022、利用所述更新数据量获取更新速度:

其中,v表示更新速度,n表示需要更新的特行向量个数;ci表示第i个需要更新的特征向量对应的数据量大小;cmax表示需要更新的特征向量中,单个特征向量数据量最大值;cmin表示需要更新的特征向量中,单个特征向量数据量最小值;λ表示速度修正系数;c1表示所述特征数据库进行更新时的已完成更新的数据量;c2表示所述特征数据库更新过程中,需要更新的总数据量;d1表示客户端的上行带宽;d2表示客户端的下行带宽;

s3023、将所述更新速度与所述速度阈值进行对比,当所述更新速度小于所述速度阈值时,进行更新预警。

上述技术方案的效果为:通过上述方式能够有效提高客户端本地的特征数据库更细效率和更新速度,同时,通过上述公式获取的更新速度能够有效提高数据更新速度的准确性和更新速度获取的时效性,有效防止在实时获取数据更新速度过程中的更新速度获取延迟的问题发生,进一步提高更新速度监控的及时性和准确性。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1