CN111787046A - 数据中心路由方法和装置 - Google Patents

数据中心路由方法和装置 Download PDF

Info

Publication number
CN111787046A
CN111787046A CN202010135805.2A CN202010135805A CN111787046A CN 111787046 A CN111787046 A CN 111787046A CN 202010135805 A CN202010135805 A CN 202010135805A CN 111787046 A CN111787046 A CN 111787046A
Authority
CN
China
Prior art keywords
data
data center
user
access
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.)
Granted
Application number
CN202010135805.2A
Other languages
English (en)
Other versions
CN111787046B (zh
Inventor
周默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202010135805.2A priority Critical patent/CN111787046B/zh
Publication of CN111787046A publication Critical patent/CN111787046A/zh
Application granted granted Critical
Publication of CN111787046B publication Critical patent/CN111787046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了数据中心路由方法和装置。该方法的一具体实施方式包括:通过获取用户的访问请求信息,访问请求信息包括访问时刻;根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心,实现了一种根据实际环境自动选择最优数据中心的方案,避免了因机房故障或网络不稳定等因素给系统或用户带来的损失。

Description

数据中心路由方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及网络管理技术领域,尤其涉及一种数据中心路由方法和装置。
背景技术
对于当今的大型互联网企业来说,为了保证系统的高可用性,通常会设立若干个数据中心来部署应用系统。用户在访问网站时,会根据就近原则路由到相应的数据中心,但由于机房故障或者网络不稳定等因素,需要实时动态的调整路由策略,为用户选择最优的数据中心。因此,需要提出一种根据实际环境自动选择数据中心的方案,并支持方便的应用于线上应用系统。
发明内容
本申请实施例提出了数据中心路由方法和装置。
第一方面,本申请提供了一种数据中心路由方法,该方法包括:获取用户的访问请求信息,访问请求信息包括访问时刻;根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心。
在一些实施例中,根据距离所述访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据,包括:将距离访问时刻之前的第一预设时间长度的第一时间段,按照时序依次分隔成多个等长的第一子时间段;获取各第一子时间段内各数据中心的性能指标数据,作为第一性能指标数据;将距离访问时刻之前的第二预设时间长度的第二时间段,按照时序依次分隔成多个等长的第二子时间段,所述第二预设时间长度小于第一预设时间长度;获取各第二子时间段内各数据中心的性能指标数据,并将相邻的至少两个第二子时间段内的同一数据中心的同一性能指标数据进行累加,得到第二性能指标数据;根据第一性能指标数据和第二性能指标数据,生成表征数据中心的性能特征的第一特征数据。
在一些实施例中,用户的访问请求信息包括:用户的IP地址、发出访问请求的客户端的类型以及访问时间,根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据,包括以下至少一项:根据用户的IP地址,确定用户地理位置,基于用户地理位置与各数据中心地理位置之间的距离,生成表征用户的请求特征的第二特征数据;对发出访问请求的客户端的类型进行独热编码,生成表征用户的请求特征的第二特征数据;基于访问时刻所属的时间段对应的预设的权值,生成所述表征用户的请求特征的第二特征数据,其中,预设的权值用于表征时间段内用户的访问强度;根据访问请求的HTTP请求头信息,确定访问请求的来源,并基于访问请求的来源对应的特征值,生成表征用户的请求特征的第二特征数据。
在一些实施例中,数据中心决策模型通过以下方式训练得到:获取预设时间段内的样本数据集,样本数据包括请求状态信息,请求状态信息用于指示所述数据中心是否出现访问异常或延迟;随机筛除掉样本数据中请求状态信息指示数据中心未出现异常的样本数据,得到训练数据集;将训练数据集输入初始的数据中心决策模型进行训练,得到训练完成的数据中心决策模型。
在一些实施例中,预设时间段内的样本数据集包括:第一预设时间段内的历史样本数据集和与第一预设时间段相邻的第二预设时间段内新增的样本数据集。
在一些实施例中,数据中心决策模型为梯度提升决策树模型。
在一些实施例中,该方法还包括:将用户访问请求发送至确定出的执行访问请求信息的处理操作的数据中心。
第二方面,本申请提供了一种数据中心路由装置,该装置包括:获取模块,配置用于获取用户的访问请求信息,所述访问请求信息包括访问时刻;第一生成模块,配置用于根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;第二生成模块,配置用于根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;确定模块,配置用于将第一特征数据和所述第二特征数据输入预先训练的数据中心决策模型,以确定出执行所述访问请求信息的处理操作的数据中心。
在一些实施例中,第一生成模块进一步包括:第一分隔单元,配置用于将距离访问时刻之前的第一预设时间长度的第一时间段,按照时序依次分隔成多个等长的第一子时间段;第一获取单元,配置用于获取各第一子时间段内各数据中心的性能指标数据,作为第一性能指标数据;第二分隔单元,配置用于将距离访问时刻之前的第二预设时间长度的第二时间段,按照时序依次分隔成多个等长的第二子时间段,所述第二预设时间长度小于第一预设时间长度;第二获取单元,配置用于获取各第二子时间段内各数据中心的性能指标数据,并将相邻的至少两个第二子时间段内的同一数据中心的同一性能指标数据进行累加,得到第二性能指标数据;生成单元,配置用于根据第一性能指标数据和第二性能指标数据,生成表征数据中心的性能特征的第一特征数据。
在一些实施例中,用户的访问请求信息包括:用户的IP地址、发出访问请求的客户端的类型以及访问时间,第二生成模块包括以下至少一项:第一生成数据单元,配置用于根据用户的IP地址,确定用户地理位置,基于用户地理位置与各数据中心地理位置之间的距离,生成表征用户的请求特征的第二特征数据;第二生成数据单元,配置用于对发出访问请求的客户端的类型进行独热编码,生成表征用户的请求特征的第二特征数据;第三生成数据单元,配置用于基于访问时刻所属的时间段对应的预设的权值,生成所述表征用户的请求特征的第二特征数据,其中,预设的权值用于表征时间段内用户的访问强度;第四生成数据单元,配置用于根据访问请求的HTTP请求头信息,确定访问请求的来源,并基于访问请求的来源对应的特征值,生成表征用户的请求特征的第二特征数据。
在一些实施例中,数据中心决策模型通过以下方式训练得到:获取预设时间段内的样本数据集,样本数据包括请求状态信息,请求状态信息用于指示所述数据中心是否出现访问异常或延迟;随机筛除掉样本数据中请求状态信息指示数据中心未出现异常的样本数据,得到训练数据集;将训练数据集输入初始的数据中心决策模型进行训练,得到训练完成的数据中心决策模型。
在一些实施例中,预设时间段内的样本数据集包括:第一预设时间段内的历史样本数据集和与第一预设时间段相邻的第二预设时间段内新增的样本数据集。
在一些实施例中,数据中心决策模型为梯度提升决策树模型。
在一些实施例中,该装置还包括:发送模块,配置用于将用户访问请求发送至确定出的执行访问请求信息的处理操作的数据中心。
第三方面,本申请提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被该一个或多个处理器执行,使得一个或多个处理器实现语言模型预训练方法。
第四方面,本申请提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现语言模型预训练方法。
本申请提供的数据中心路由方法和装置,通过获取用户的访问请求信息,访问请求信息包括访问时刻;根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心,实现了一种根据实际环境自动选择数据中心的方案,避免了因机房故障或网络不稳定等因素给系统或用户带来的损失。
附图说明
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的数据中心路由方法的一个实施例的流程图;
图3是根据本申请的数据中心路由方法的一个应用场景的示意图;
图4是根据本申请的数据中心路由方法的又一个实施例的流程图;
图5是根据本申请的数据中心路由装置的一个实施例的示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据中心的路由方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,服务器102,数据中心103,数据中心104和数据中心105。
其中,终端设备101主要用于向服务器102提供用户的访问请求。终端设备101可以为硬件也可以为软件。终端设备101为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器102可以是提供各种服务的服务器,例如用来提供数据中心路由选择的后台支持的后台服务器。服务器102可以用于对数据中心103,数据中心104和数据中心105进行管理,以及接收终端设备101发送的访问请求,并基于访问请求确定出执行访问请求信息的处理操作的数据中心。
服务器102可以是硬件,也可以是软件。当服务器102为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器102为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
数据中心103,数据中心104和数据中心105可以分布于不同的位置,该位置指的是位于不同国家或城市等地理上的位置,例如,数据中心103位于英国,数据中心104位于美国,数据中心105位于中国。其中,各个数据中心可以对应物理机房等基础设施,例如,电力、机房等,以及网络设备、服务器或存储设备等。
需要说明的是,本申请实施例所提供的数据中心路由方法一般由服务器102执行。相应地,数据中心路由装置也一般设置于服务器102中。
应该理解,图1中的终端设备,服务器和数据中心的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、服务器和数据中心。
图2示出了可以应用于本申请的数据中心路由方法的实施例的流程示意图200。数据中心路由方法包括以下步骤:
步骤201,获取用户的访问请求信息。
在本实施例中,数据中心路由方法的执行主体(如图1中所示的服务器102)从终端设备处获取用户的访问请求信息,其中,访问请求信息包括访问时刻。
这里,终端设备可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等,本申请对此不作限定。
步骤202,根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据。
在本实施例中,执行主体根据用户访问请求的访问时刻,获取距离当前时刻之前的第一预设时间长度,例如,10分钟,的第一时间段内的各数据中心的性能指标数据。
其中,性能指标数据主要用于表征数据中心的响应时长,例如,最大值、最小值、平均值、TP50、TP90、TP99、TP999等等。
这里,TP(Top Percentile,最高百分位数)是指一个时间段内,统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,并取出结果为:总次数*指标数=对应TP指标的值,再取出排序好的时间。例如,TP50指满足百分之五十的访问请求所需要的最低耗时,TP90指满足百分之九十的访问请求所需要的最低耗时等等。
具体地,某一数据中心在距离当前访问时刻之前的5分钟时间内共接收4次访问请求,响应时间从小到大依次为4s、6s、10s、20s,则最大值为20s,最小值为4s,平均值为10s。同时,根据4*0.5=2,则TP50即为对前两次请求的耗时取最大值,即为6s;根据4*0.9约等于4,则TP90即为对前4次请求的耗时取最大值,即为20s。
执行主体通过对上述性能指标数据进行预设的操作处理,例如,归一化、累加求和、乘以预设参数等等,得到表征数据中心的性能特征的第一特征数据。
步骤203,根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据。
在本实施例中,执行主体通过对用户的访问请求信息进行相应的处理,得到表征用户的请求特征的第二特征数据。
其中,执行主体对访问请求信息进行处理的方式可以采用现有技术或未来发展技术中的信息处理方式,例如,编码、归一化等等,本申请对此不作限定。
在一些可选的方式中,用户的访问请求信息包括:用户的IP地址、发出访问请求的客户端的类型以及访问时间,以及根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据,包括以下至少一项:
(1)执行主体获取到用户的IP地址,其中,IP地址在一定程度上反映了用户的地理位置。执行主体将用户的IP地址通过查表的方式转化为地理坐标,并求出该坐标到各数据中心的距离,将其作为第二特征数据。
例如,用户地理位置的经纬度信息为(X,Y),数据中心的经纬度信息为(M,N),则第二特征数据计算公式可以表示为:
Figure BDA0002397267360000081
其中,R为地球半径,λ为调整系数,可根据数据中心覆盖面积的大小Area进行灵活调整,从而对特征参数D进行标准化。通常情况下,λ的默认值可以取
Figure BDA0002397267360000082
(2)执行主体获取到发出访问请求的客户端的类型,这里,客户端的类型可以包括PC(Personal Computer,个人电脑)浏览器、移动APP(Application,应用程序)等,是可以枚举的。执行主体将这些类型做一次独热编码,转化为可计算的数值类型,得到第二特征数据。
其中,独热编码又称OneHot编码,直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。
(3)执行主体基于获取到的访问时刻所属的时间段对应的预设的权值,生成第二特征数据。
具体地,执行主体可以将用户发起访问请求的时刻所属的时间段转化为小时粒度,映射到0-23区间内,即每个区间对应一个小时。然后可以基于历史访问数据的趋势曲线,为这24个区间赋予不同的权值,权值的计算方法就是对趋势曲线区间做归一化处理。
例如,某应用系统在每日0区间和10区间时,出现访问峰值,则将0和10这两个区间对应的权值设置为1,若该应用在15区间时出现最低点,此时的访问量是峰值的10%,则这个区间的权值就是0.1,以此类推,得到当前访问时刻所属时间段对应的特征数据。(4)执行主体根据访问请求的HTTP请求头中所包含的信息,确定访问请求的来源,例如,站内或者站外,并基于访问请求的来源对应的特征值,生成表征用户的请求特征的第二特征数据。具体地,不同访问请求的来源对应的特征值可以是预先设定的。例如,当用户请求的HTTP(HyperText Transfer Protocol,超文本传输协议)请求头中包含的Referer信息是本站URL(Uniform Resource Location,统一资源定位符)时,说明是站内操作,其特征值置为1;当用户请求的Referer为空或不是站内URL时,其特征值被置为0。
该实现方式通过访问请求信息中包括的用户的IP地址、发出访问请求的客户端的类型以及访问时间,生成第二特征数据,使得执行主体可根据各数据中心的性能指标和用户与各数据中心的距离信息、访问请求的客户端类型的编码、访问时刻所属时间段的权值以及访问请求的来源对应的特征值中的至少一项,确定执行访问请求的最优数据中心,进一步提高了数据中心决策的准确性。
步骤204,将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心。
在本实施例中,执行主体将上述表征各数据中心的性能特征的第一特征数据和表征用户的请求特征的第二特征数据输入到预先训练的数据中心决策模型中,以确定出执行访问请求信息的处理操作的数据中心。
其中,数据中心决策模型可以采用现有技术或未来发展技术中的决策模型,例如,决策树模型等,本申请对此不作限定。
在一些可选的方式中,数据中心决策模型通过以下方式训练得到:
(1)执行主体获取预设时间段内的样本数据集,例如,执行主体可以获取最近1年的离线历史数据作为样本数据集。其中,样本数据包括请求状态信息,其中,请求状态信息用于指示数据中心是否出现访问异常或延迟。
此外,样本数据还包括数据中心端的特征数据、客户端的特征数据、接收访问请求的时间戳等信息。
(2)执行主体随机筛除掉样本数据中请求状态信息指示数据中心未出现异常的样本数据,得到训练数据集。
在本实现方式中,执行主体可以根据样本数据中的请求状态信息,将请求状态信息指示数据中心未出现异常或延迟的样本数据归为正样本,将请求状态信息指示数据中心出现异常或延迟的样本数据归为负样本。由于通常情况下,数据中心处理请求时不会出现异常或延迟,故正样本数量远远大于负样本,为提升模型的训练效果,降低模型训练时间,可随机筛除掉正样本中的部分样本数据。
具体地,样本数据包括时间戳T,每一样本数据的时间戳互不相同。执行主体可将正样本中时间戳T%100=0的样本数据筛除掉,得到筛选后的正样本数据。最后,执行主体将筛选后的正样本数据和负样本数据,作为训练数据集。
(3)执行主体将训练数据集输入初始的数据中心决策模型进行训练,得到训练完成的数据中心决策模型。
该实施方式通过获取预设时间段内的样本数据集,并随机筛除掉样本数据中请求状态信息指示数据中心未出现异常的样本数据,得到训练数据集,进而将训练数据集输入到初始的数据中心决策模型进行训练得到训练完成的数据中心决策模型,提升了模型的训练效果,缩短了模型的训练时间。
在一些可选的方式中,预设时间段内的样本数据集包括:第一预设时间段内的历史样本数据集和与第一预设时间段相邻的第二预设时间段内新增的样本数据集。
在本实现方式中,预设时间段内的样本数据集包括第一预设时间段,例如,一年,内的历史样本数据集和第二预设时间,例如,一天,内的新增样本数据集,即执行主体可每天都将新增的样本数据集与历史样本数据集相结合对模型进行训练,以实时更新数据中心决策模型,以使数据中心决策模型快速适应新的情况变化。
在一些可选的方式中,数据中心预测模型为梯度提升决策树模型。
在本实现方式中,梯度提升决策树模型(Gradient Boosting Decision Tree,GDBT)主要执行GDBT算法对输入的样本数据集进行训练。GDBT算法是一种典型的集成学习算法,在GDBT算法流程中,使用一些已标注样本依次训练出两个以上的决策树,然后将训练出的各决策树集成为一个模型,作为训练结果。其中,训练的第一个决策树实际上用于拟合各已标注的样本的标注值。训练出第一个决策树之后,可以计算得到当前的训练残差。训练残差用于表征,截至当前的训练进度,对各已标注样本进行预测得到的预测值与各已标注样本的标注值之间的差距。可见,在一个GDBT算法流程中,每训练出一个决策树,训练残差会更新一次。
在GDBT算法流程中,训练第一个决策树之后,会继续训练下一个决策树。针对除第一个决策树之外的每个其他决策树,该其他决策树用于拟合根据该其他决策树之前所有决策树计算出的训练残差。如此,随着GDBT算法流程的推进,越来越多的决策树被依次训练出来,训练残差会越来越小。当训练残差足够小时,说明当前的模型的模型参数对各已标注样本的标注值的拟合效果达标,此时,便可结束训练。
由于梯度提升决策树模型集成了多个决策树,可在提升预测效果的同时,很好的解决过拟合的问题。并且,梯度提升决策树模型的输出结果支持持久化,可通过快速更新训练样本和模型以满足在线的高效实时请求。
在一些可选的方式中,该方法还包括将用户访问请求发送至确定出的用于执行用户访问请求的数据中心。
在本实现方式中,执行主体在确定出执行访问请求信息的处理操作的数据中心后,将访问请求路由到确定出的最优的执行用户访问请求的数据中心,以使数据中心执行访问请求,进而获得访问结果。
继续参见图3,图3是根据本实施例的数据中心路由方法的应用场景的一个示意图。
在图3的应用场景中,执行主体301接收到终端设备302发送的用户的访问请求信息,其中,访问请求信息包括访问时刻,例如,10点20分。执行主体301获取距离当前访问时刻之前的第一预设时间长度,如10分钟,的第一时间段内,即10点10分到10点20分之间,数据中心303、数据中心304和数据中心305的性能指标,例如,各数据中心响应时长的最大值、最小值、TP90等等,生成表征各数据中心的性能特征的第一特征数306。进一步地,执行主体301根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据307。其中,访问请求信息可以包括用户IP地址、客户端类型等。执行主体301将生成的第一特征数据306和第二特征数据307输入到预先训练的数据中心决策模型308,以确定出执行访问请求信息的处理操作的数据中心,例如,数据中心305。
本公开的实施例提供的数据中心路由方法,通过获取用户的访问请求信息,访问请求信息包括访问时刻;根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心。该实施方式实现了一种根据实际环境自动选择最优数据中心的方案,避免了因机房故障或网络不稳定等因素给系统或用户带来的损失。
进一步参考图4,其示出了数据中心路由方法的又一个实施例的流程400。本实施例的数据中心路由方法的流程400,可包括以下步骤:
步骤401,获取用户的访问请求信息。
在本实施例中,步骤401的实现细节和技术效果,可以参考对步骤201的描述,在此不再赘述。
步骤402,将距离访问时刻之前的第一预设时间长度的第一时间段,按照时序依次分隔成多个等长的第一子时间段。
在本实施例中,执行主体将距离访问时刻之前的第一预设时间长度,例如,10分钟,的第一时间段,按照时序依次分隔成多个第一子时间段,例如,1分钟、2分钟等。其中,第一时间段的截止时刻可以为访问时刻。
具体地,当前时刻为9点50分,则执行主体可以将9点40分到9点50之间10分钟的时间段,分隔成10个长度为1分钟的时间段。
步骤403,获取各第一子时间段内各数据中心的性能指标数据,作为第一性能指标数据。
在本实施例中,执行主体获取各第一子时间段内数据中心的性能指标数据,例如,最大值、最小值、平均值、TP50、TP90、TP99、TP999等等。这里,性能指标数据可以为一个,也可以包括多个,本申请对此不作限定。
步骤404,将距离所述访问时刻之前的第二预设时间长度的第二时间段,按照时序依次分隔成多个等长的第二子时间段,所述第二预设时间长度小于第一预设时间长度。
在本实施例中,执行主体将距离访问时刻之前的第二预设时间长度,例如,5分钟,的第二时间段,按照时序依次分隔成多个等长的第二子时间段,例如,1分钟、2分钟等。其中,第二预设时间长度小于第一预设时间长度,第二时间段的截止时刻可以为访问时刻。
具体地,当前时刻为9点50分,则执行主体可以将9点40分到9点45分之间5分钟的时间段,分隔成5个长度为1分钟的时间段。
步骤405,获取各第二子时间段内各数据中心的性能指标数据,并将相邻的至少两个第二子时间段内的同一数据中心的同一性能指标数据进行累加,得到第二性能指标数据。
在本实施例中,执行主体获取各第二子时间段内各数据中心的性能指标数据,并将相邻的至少两个第二子时间段内的同一数据中心的同一性能指标数据进行累加,得到第二性能指标数据。
具体地,某一数据中心的第二时间段为9点45分到9点50分,第二子时间段为1分钟,各第二子时间段内的性能指标(T50、T90、T99等中的一个或多个)分别表示为D1、D2、D3、D4和D5,第二性能指标数据表示为M,则M可以采用D1+D2、D1+D2+D3、D1+D2+D3等中的一个或多个表示,表征相邻第二子时间段内同一性能指标数据的加和。
步骤406,根据第一性能指标数据和第二性能指标数据,生成表征数据中心的性能特征的第一特征数据。
在本实施例中,执行主体根据第一性能指标数据和第二性能指标数据,生成表征数据中心的性能特征的第一特征数据。
在一个具体地实施例中,执行主体接收访问请求的时刻为12点,进而获取到某一数据中心的第一时间段11点50到12点之间每一分钟的性能指标,每一分钟内的性能指标分别表示为D1、D2、D3……D10。这里,性能指标包括最大值、最小值、平均值、TP50、TP90、TP99、TP999共7个性能指标数据,故第一性能指标数据共包括10*7个数据。
进一步地,执行主体获取到同一数据中心11点55到12点之间每一分钟的性能指标并对相邻时间段的同一性能指标分别进行累加求和。其中,每一分钟内的性能指标分别表示为D1、D2、D3、D4、D5,第二性能指标数据表示为M,共包括M1、M2、M3和M4,M1=D1+D2,M2=D1+D2+D3,M3=D1+D2+D3+D4,M4=D1+D2+D3+D4+D5。由于性能指标共有7个,故第二性能指标数据共包括4*7=28个。
执行主体将上述70个第一性能指标数据和28个第二个性能指标数据进行相应处理后,例如,归一化等,得到表征数据中心性能特征的第一特征数据。
此外,需要指出的是,对于电商网站而言,由于会周期性的做一些促销活动,而这些活动通常会集中到整点,例如零点促销等。因此,整点时接收的访问请求较多,对系统的压力较大,出现网络延迟抖动的概率会提高,对于整点时刻的指标特征集合,需要乘以一个促销系数θ,促销系数θ用于描述促销力度对用户活跃度程度的影响,通常由业务专家给出。θ作为超参数参与到后续特征数据计算中,记作θ*Dx(x为正整数)。
作为示例,当举行优惠力度大于日常优惠的3个标准差以上的促销活动时,θ取10。例如,某产品正常售价为16元,标准差为2元,当优惠力度大于日常3个标准差以上时,即商品售价低于10元时,θ取10。同时,优惠范围覆盖单品、爆品、品牌、品类、全品的情况下,θ的经验值依次为1、1.5、3、5、10,当业务专家无法为每个促销活动指定超参数θ时,θ可取以上经验值。
步骤407,根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据。
在本实施例中,步骤407的实现细节和技术效果,可以参考对步骤203的描述,在此不再赘述。
步骤408,将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心。
在本实施例中,步骤408的实现细节和技术效果,可以参考对步骤204的描述,在此不再赘述。
本实施例将距离访问时刻之前的第一预设时间长度的第一时间段,按照时序依次分隔成多个等长的第一子时间段;获取各第一子时间段内各数据中心的性能指标数据,作为第一性能指标数据;将距离所述访问时刻之前的第二预设时间长度的第二时间段,按照时序依次分隔成多个等长的第二子时间段,第二预设时间长度小于第一预设时间长度;获取各第二子时间段内各数据中心的性能指标数据,并将相邻的至少两个第二子时间段内的同一数据中心的同一性能指标数据进行累加,得到第二性能指标数据;根据第一性能指标数据和第二性能指标数据,生成表征数据中心的性能特征的第一特征数据。由于执行主体对最优数据中心的决策与当前接收到的访问请求的访问时刻之前的各数据中心的性能指标相关,且越靠近当前访问时刻的各数据中心的性能指标对最优数据中心决策的影响越大。因而该实现方式通过有针对性的提取靠近当前访问时刻的第一时间段和第二时间段的各数据中心的性能指标数据,可进一步提升最优数据中心决策的准确性和有效性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种数据中心路由装置的一个实施例,该装置实施例与图2和图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的数据中心路由装置500包括:获取模块501、第一生成模块502、第二生成模块503和确定模块504。其中,获取模块501,配置为获取用户的访问请求信息,所述访问请求信息包括访问时刻;第一生成模块502,配置为根据距离所述访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;第二生成模块503,配置为根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;确定模块504,配置为将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行所述访问请求信息的处理操作的数据中心。
在本实施例的一些可选的实现方式中,用户的访问请求信息包括:用户的IP地址、发出访问请求的客户端的类型以及访问时间,第二生成模块包括以下至少一项:第一生成数据单元,配置为根据用户的IP地址,确定用户地理位置,基于用户地理位置与各数据中心地理位置之间的距离,生成表征用户的请求特征的第二特征数据;第二生成数据单元,配置为对发出访问请求的客户端的类型进行OneHot编码,生成表征用户的请求特征的第二特征数据;第三生成数据单元,配置为基于访问时刻所属的时间段对应的预设的权值,生成所述表征用户的请求特征的第二特征数据,其中,预设的权值用于表征时间段内用户的访问强度;第四生成数据单元,配置为根据访问请求的HTTP请求头信息,确定访问请求的来源,并基于访问请求的来源对应的特征值,生成表征用户的请求特征的第二特征数据。
在本实施例的一些可选的实现方式中,数据中心决策模型通过以下方式训练得到:获取预设时间段内的样本数据集,样本数据包括请求状态信息,请求状态信息用于指示所述数据中心是否出现访问异常或延迟;随机筛除掉样本数据中请求状态信息指示数据中心未出现异常的样本数据,得到训练数据集;将训练数据集输入初始的数据中心决策模型进行训练,得到训练完成的数据中心决策模型。
在本实施例的一些可选的实现方式中,预设时间段内的样本数据集包括:第一预设时间段内的历史样本数据集和与第一预设时间段相邻的第二预设时间段内新增的样本数据集。
在本实施例的一些可选的实现方式中,数据中心决策模型为梯度提升决策树模型。
在本实施例的一些可选的实现方式中,该装置还包括:发送模块,配置用于将用户访问请求发送至确定出的执行访问请求信息的处理操作的数据中心。
下面参考图6,其示出了适于用来实现本申请实施例的客户端设备或服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括处理器(例如,中央处理单元CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、第一生成模块、第二生成模块和确定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取用户的访问请求信息”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中的装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入客户端端设备中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当该一个或者多个程序被一个设备执行时,使得该设备:获取用户的访问请求信息,访问请求信息包括访问时刻;根据距离访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;将第一特征数据和第二特征数据输入预先训练的数据中心决策模型,以确定出执行访问请求信息的处理操作的数据中心。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种数据中心路由方法,所述方法包括:
获取用户的访问请求信息,所述访问请求信息包括访问时刻;
根据距离所述访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;
根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;
将所述第一特征数据和所述第二特征数据输入预先训练的数据中心决策模型,以确定出执行所述访问请求信息的处理操作的数据中心。
2.根据权利要求1所述的方法,所述根据距离所述访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据,包括:
将距离所述访问时刻之前的第一预设时间长度的第一时间段,按照时序依次分隔成多个等长的第一子时间段;
获取各第一子时间段内各数据中心的性能指标数据,作为第一性能指标数据;
将距离所述访问时刻之前的第二预设时间长度的第二时间段,按照时序依次分隔成多个等长的第二子时间段,所述第二预设时间长度小于第一预设时间长度;
获取各第二子时间段内各数据中心的性能指标数据,并将相邻的至少两个第二子时间段内的同一数据中心的同一性能指标数据进行累加,得到第二性能指标数据;
根据第一性能指标数据和第二性能指标数据,生成所述表征数据中心的性能特征的第一特征数据。
3.根据权利要求1或2任一所述的方法,所述用户的访问请求信息包括:所述用户的IP地址、发出所述访问请求的客户端的类型以及访问时间,所述根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据,包括以下至少一项:
根据所述用户的IP地址,确定用户地理位置,基于用户地理位置与各数据中心地理位置之间的距离,生成所述表征用户的请求特征的第二特征数据;
对发出所述访问请求的客户端的类型进行独热编码,生成所述表征用户的请求特征的第二特征数据;
基于访问时刻所属的时间段对应的预设的权值,生成所述表征用户的请求特征的第二特征数据,其中,所述预设的权值用于表征所述时间段内用户的访问强度;
根据所述访问请求的HTTP请求头信息,确定访问请求的来源,并基于所述访问请求的来源对应的特征值,生成所述表征用户的请求特征的第二特征数据。
4.根据权利要求1所述的方法,所述数据中心决策模型通过以下方式训练得到:
获取预设时间段内的样本数据集,所述样本数据包括请求状态信息,所述请求状态信息用于指示所述数据中心是否出现访问异常或延迟;
随机筛除掉样本数据中请求状态信息指示数据中心未出现异常的样本数据,得到训练数据集;
将训练数据集输入初始的数据中心决策模型进行训练,得到训练完成的数据中心决策模型。
5.根据权利要求4所述的方法,所述预设时间段内的样本数据集包括:第一预设时间段内的历史样本数据集和与所述第一预设时间段相邻的第二预设时间段内新增的样本数据集。
6.根据权利要求1所述的方法,所述数据中心决策模型为梯度提升决策树模型。
7.根据权利要求1所述的方法,所述方法还包括:将所述用户访问请求发送至确定出的执行所述访问请求信息的处理操作的数据中心。
8.一种数据中心路由装置,所述装置包括:
获取模块,配置用于获取用户的访问请求信息,所述访问请求信息包括访问时刻;
第一生成模块,配置用于根据距离所述访问时刻之前的第一预设时间长度的第一时间段内的各数据中心的性能指标数据,生成表征各数据中心的性能特征的第一特征数据;
第二生成模块,配置用于根据用户的访问请求信息,生成表征用户的请求特征的第二特征数据;
确定模块,配置用于将所述第一特征数据和所述第二特征数据输入预先训练的数据中心决策模型,以确定出执行所述访问请求信息的处理操作的数据中心。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202010135805.2A 2020-03-02 2020-03-02 数据中心路由方法和装置 Active CN111787046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010135805.2A CN111787046B (zh) 2020-03-02 2020-03-02 数据中心路由方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010135805.2A CN111787046B (zh) 2020-03-02 2020-03-02 数据中心路由方法和装置

Publications (2)

Publication Number Publication Date
CN111787046A true CN111787046A (zh) 2020-10-16
CN111787046B CN111787046B (zh) 2022-09-30

Family

ID=72753123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010135805.2A Active CN111787046B (zh) 2020-03-02 2020-03-02 数据中心路由方法和装置

Country Status (1)

Country Link
CN (1) CN111787046B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469023A (zh) * 2010-11-19 2012-05-23 中国移动通信集团公司 基于云计算的调度方法、单元及系统
CN105408863A (zh) * 2013-06-27 2016-03-16 微软技术许可有限责任公司 具有不同的租户集的端点数据中心
CN105471759A (zh) * 2016-01-11 2016-04-06 北京百度网讯科技有限公司 数据中心的网络流量调度方法和装置
CN106462444A (zh) * 2014-01-06 2017-02-22 西亚拉斯公司 云提供商选择和投影的架构及方法
CN106487834A (zh) * 2015-08-27 2017-03-08 香港中文大学深圳研究院 一种在云平台上部署服务器提供服务的方法
US20170093639A1 (en) * 2015-09-28 2017-03-30 Cisco Technology, Inc. Enhanced cloud demand prediction for smart data centers
CN108200186A (zh) * 2018-01-16 2018-06-22 北京奇艺世纪科技有限公司 一种更新数据部署的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469023A (zh) * 2010-11-19 2012-05-23 中国移动通信集团公司 基于云计算的调度方法、单元及系统
CN105408863A (zh) * 2013-06-27 2016-03-16 微软技术许可有限责任公司 具有不同的租户集的端点数据中心
CN106462444A (zh) * 2014-01-06 2017-02-22 西亚拉斯公司 云提供商选择和投影的架构及方法
CN106487834A (zh) * 2015-08-27 2017-03-08 香港中文大学深圳研究院 一种在云平台上部署服务器提供服务的方法
US20170093639A1 (en) * 2015-09-28 2017-03-30 Cisco Technology, Inc. Enhanced cloud demand prediction for smart data centers
CN105471759A (zh) * 2016-01-11 2016-04-06 北京百度网讯科技有限公司 数据中心的网络流量调度方法和装置
CN108200186A (zh) * 2018-01-16 2018-06-22 北京奇艺世纪科技有限公司 一种更新数据部署的方法及装置

Also Published As

Publication number Publication date
CN111787046B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
US11640320B2 (en) Correlation of thread intensity and heap usage to identify heap-hoarding stack traces
EP3255894B1 (en) Quality-of-experience optimization system, quality-of-experience optimization device, recommendation request device, quality-of-experience optimization method, recommendation request method and program
CN109976997B (zh) 测试方法和装置
CN106156965B (zh) 一种物流服务调度方法与设备
US20170068902A1 (en) Modeling of Geospatial Location Over Time
JP2022514134A (ja) 輸送サービスプロバイダを管理する方法、当該方法を実施するための命令を含むコンピュータプログラム、当該方法を実行させる命令を記憶する非一時記憶媒体、及び輸送サービスプロバイダを管理するための装置
CN115081960B (zh) 区域空心率信息生成方法、装置、电子设备和计算机介质
CN113407426A (zh) 服务器集群容量评估方法、装置、电子设备及存储介质
CN111861225A (zh) 一种任务分配方法、装置、电子设备及存储介质
CN110782122A (zh) 数据处理方法、装置及电子设备
CN111787046B (zh) 数据中心路由方法和装置
JP6054854B2 (ja) 情報取引装置、情報取引方法及び情報取引プログラム
CN111986552B (zh) 地图数据质量鲜度获取方法、装置及存储介质
CN110267717B (zh) 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置
CN112019406B (zh) 流量监控方法、装置、电子设备和计算机可读介质
CN112073454B (zh) 资源分发方法、装置、电子设备
CN117203944A (zh) 算力网络的资源调度方法
CN113760484A (zh) 数据处理的方法和装置
CN113761343A (zh) 一种信息推送方法、装置、终端设备及存储介质
CN117235535B (zh) 异常供应端断电方法、装置、电子设备和介质
CN111338916A (zh) 处理业务请求的方法、装置、电子设备和计算机可读介质
CN113742243B (zh) 应用评测方法、装置、电子设备和计算机可读介质
CN113010310B (zh) 作业数据的处理方法、装置和服务器
CN116757443B (zh) 新型配电网电力线损率预测方法、装置、电子设备和介质
CN116881097B (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
GR01 Patent grant
GR01 Patent grant