发明内容
有鉴于此,本申请实施例提供了一种网络攻击检测方法、装置、设备及计算机可读存储介质,以解决现有技术中进行网络攻击检测时,过于依赖专家业务经验,预防欺诈的方式较为被动,对来团伙作案的检测效果较差的问题。
本申请实施例的第一方面提供了一种网络攻击检测方法,所述方法包括:
获取网络访问记录中的用户数据;
根据所述用户数据,对访问所述网络的用户进行聚类;
根据聚类计算的结果,确定聚类的用户所包括风险因子;
获取基于所述的风险因子确定的聚类结果的风险评分,根据所述聚类结果和对应的风险评分,对预先设定的有监督评分模型进行训练;
根据训练完成的有监督评分模型进行网络攻击检测。
结合第一方面,在第一方面的第一种可能实现方式中,根据所述用户数据,对访问所述网络的用户进行聚类,包括:
确定所述用户数据所对应的特征权重;
根据所述特征权重,计算用户数据的相似度,根据所述相似度对所述用户进行聚类。
结合第一方面,在第一方面的第二种可能实现方式中,根据所述用户数据,对访问所述网络的用户进行聚类,包括:
根据所述用户数据中包括的数据类别,选择预定数量的数据类别确定局部数据;
根据所述局部数据计算用户的相似度,根据所述相似度对所述用户进行聚类。
结合第一方面,在第一方面的第三种可能实现方式中,根据所述用户数据,对访问所述网络的用户进行聚类,包括:
根据所述用户数据中的IP地址确定用户的位置;
根据所述位置确定用户之间的距离;
根据所述距离,结合预先设定的距离阈值,确定所述用户所属的聚类。
结合第一方面,在第一方面的第四种可能实现方式中,根据聚类计算的结果,确定聚类的用户所包括风险因子,包括:
获取聚类结果中所包括的聚类用户的不同参数的聚类分值,所述聚类分值根据参数的相似度和特征权重所确定;
根据所述参数的聚类分值,确定聚类的用户所包括的风险因子。
结合第一方面,在第一方面的第五种可能实现方式中,根据所述聚类结果和对应的风险评分,对预先设定的有监督评分模型进行训练,包括:
将所述聚类结果输入到预先设定的有监督评分模型,得到所述有监督评分模型输出的计算评分;
确定所述计算评分与所述聚类结果对应的风险评分的差异,根据所述差异调整所述有监督评分模型的参数,直到所述有监督模型输出的计算评分与对应的风险评分的差异符合预设的要求,得到训练完成的有监督评分模型。
结合第一方面,在第一方面的第六种可能实现方式中,根据训练完成的有监督评分模型进行网络攻击检测,包括:
获取网络访问记录中的用户数据;
根据所述用户数据,对访问所述网络的用户进行聚类;
将聚类结果输入到所述训练完成的有监督评分模型,得到聚类结果对应的风险评分,根据所述风险评分确定所述网络访问是否为网络攻击。
本申请实施例的第二方面提供了一种网络攻击检测装置,所述装置包括:
用户数据获取单元,用于获取网络访问记录中的用户数据;
用户聚类单元,用于根据所述用户数据,对访问所述网络的用户进行聚类;
风险因子确定单元,用于根据聚类计算的结果,确定聚类的用户所包括风险因子;
模型训练单元,用于获取基于所述的风险因子确定的聚类结果的风险评分,根据所述聚类结果和对应的风险评分,对预先设定的有监督评分模型进行训练;
攻击检测单元,用于根据训练完成的有监督评分模型进行网络攻击检测。
本申请实施例的第三方面提供了网络攻击检测设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请通过将获取的网络访问记录中的用户数据进行聚类,确定聚类的用户所包括的风险因子,并获取基于所述的风险因子确定的聚类结果的风险评分,通过聚类结果和对应的风险评分训练有监督评分模型,通过训练完成的有监督评分模型进行网络攻击检测,从而可以减少对专家业务经验的依赖,主动对聚类的用户进行风险评估和攻击检测,有利于提升对团伙作案的检测效果。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
目前,在进行网络攻击检测时,通常是基于以往的处理经验总结拦截规则,或者基于预先设定的黑白名单,比如构建黑名单或白名单的IP地址、设备等,或者通过历史样本的收集来训练有监督风控模型,基于训练好的风控模型进行风控监测。这种监测方式往往需要依赖专家业务经验来设定黑白名单或拦截规则,对构建黑白名单的工作人员的业务经验要求较高,而且一旦构建完成后,不容易主动发现新的攻击信息,预测欺诈的方式较为被动。另外,基于拦截规则或黑白名单进行攻击检测时,不利于发现团伙作案,对团伙作案的检测效果较差。
基于上述问题,本申请实施例提出了一种网络攻击检测方法,如图1所示为本申请实施例所提供的一种网络攻击检测方法的实施场景示意图。如图1所示,该实施场景包括线上平台和线上终端。其中,线上平台可以通过网络接口,为用户提供业务服务。比如,线上平台可以通过接口,以网页的形式为用户提供业务服务,或者通过APP形式为用户提供业务服务。线上终端可以包括线上终端1、线上终端2……线上终端N,线上终端可以通过线上平台所提供的网页界面,或者线上平台所提供的APP界面,输入用户所需要上传的数据,或者浏览所需要的数据或文件。当非法用户通过线上平台所提供的接口进行非法攻击时,则可能会造成线上平台崩溃或数据出错,不利于提升线上平台的可靠性和安全性。
图2为本申请实施例提供的一种网络攻击检测方法的实现流程示意图,该网络攻击检测方法的执行主体可以为线上平台或线上系统,也可以通过专门设置的网络攻击检测服务器。如图2所示,该方法包括:
在S201中,获取网络访问记录中的用户数据。
本申请实施例中,执行所述网络攻击检测方法的系统,可以为企业通过线上渠道提供业务服务的系统。当企业通过线上渠道为用户提供服务时,由于线上业务同样也会暴露给非法用户。因此,非法用户可能会利用线上业务所提供的访问接口,对系统发起网络攻击。为了保证系统运行的可靠性,需要对非法用户所发起的网络攻击进行检测,以提高提供线上业务的系统的安全性。
本申请实施例中所述的网络访问记录中的用户数据,可以为用户访问线上平台时,由系统检测到的与用户的相关的数据。比如,用户数据可以包括用户的IP地址、用户的账号、用户的密码、用户的设备信息、用户的手机号信息等。
其中,用户的IP地址可以包括用户当前使用的IP地址,以及用户历史使用的IP地址。用户的设备信息包括用户当前使用的设备信息,以及用户在历史访问记录中所检测到的设备信息。设备信息可以包括用户使用的设备类型、设备的系统类型、设备系统版本等。所述用户数据,可以包括结构化数据,也可以包括非结构化数据。用户的手机号信息可以包括用户的手机号所属的号码段。
在S202中,根据所述用户数据,对访问所述网络的用户进行聚类。
在本申请实施例中,对于每个用户的用户数据,可以包括多个数据。比如,用户数据可以包括该用户的IP地址、用户的账号、用户的密码、用户的设备信息、用户的手机号信息等。每个用户与多个数据对应,也即每个用户可以对应一个数组。系统在分别获取到多个用户对应的用户数据后,可以确定多个用户分别对应的数组。比如,用户对应的数组可以为:[用户的IP地址、用户的账号、用户的密码、用户的设备信息、用户的手机号信息]。
本申请实施例对于所确定多个用户数据或数组,可以采用无监督学习方法,将所述多个用户分别对应的用户数据或数组进行聚类计算,得到一个或者多个聚类。其中,一个聚类可以为属于同一个号码段的聚类,或者可以为同一个IP地址的聚类,或者同一区域的IP地址的聚类。
本申请实施例中所采用的无监督学习方法,可以包括但不限于K均值聚类算法、谱聚类算法或主要成分分析方法。
比如,在采用K均值聚类算法时,可以先确定K个初始点(初始点的维度可以和用户数据的维度相同)为中心点,计算每个数组确定的点与各个中心点之间的距离(或者也可以为计算相似度)。对于每个数组对应的点,分别与K个中心红框进行距离计算,可以计算得到K个距离。根据K个距离的大小,可以将该数组对应的点(也即用户数据)划分给距离该点最近的中心点。在计算完成后,得到每个中心点所划分的一个或者多个数组。计算每个中心点,以及中心点所划分的一个或者多个数组的平均值,将所计算的平均值作为新的中心点,重新计算每个数组与新的中心点的距离,根据所计算的距离,再次将每个数组划分至距离最近的中心点,如此反复迭代,直到计算结果收敛,或者重复迭代计算的次数达到预定次数,得到对用户数据进行聚类计算的聚类结果。
在本申请可能的实现方式中,在对用户数据进行聚类时,也可以在用户数据中,选择其中的部分类别的数据进行聚类计算,从而能够从不同的侧面更为准确的确定非法团伙的特征。其中,部分类别可以为小于用户数据的总类别数的任意数量的类别。比如,总类别数为10时,部分类别可以为10个类别中的任意1个、2个……9个等。通过将不同数量的类别的数据进行聚类,从而可以更为准确的发现团伙特征。
比如,可以对用户数据中的手机号信息进行聚类,对用户数据中的用户账号进行聚类,或者对用户数据中的用户账号和用户密码进行聚类等,得到不同维度所得到的用户数据的相似度,根据用户数据的相似度确定聚类结果。基于不同维度的聚类结果,相应的确定不同维度的团伙信息。
或者,在可能的实现方式中,还可以预先设定聚类的距离阈值(或者相似度阈值),根据所设定的距离阈值来确定实际划分过程中所需要的中心点的个数,从而能够更为准确的确定聚类结果。
比如,可以预先设定距离阈值。根据所获取的用户数据中的IP地址,基于IP地址与位置的对应关系,确定用户的位置。根据所确定的用户的位置,计算用户之间的距离。将所计算的用户之间的距离与预先设定的距离阈值进行比较,如果一个用户的距离与聚类中的任意用户的距离大于预先设定的距离阈值,则确定该用户不属于该聚类,可以计算该用户与其它聚类中的用户的距离来将该用户划分至其它聚类,或者确定该用户不属于其它聚类。
在本申请实施例中,当用于计算聚类的用户数据的类别为两种或两种以上时,可以为不同类别的用户数据分配不同的特征权重。比如,对于更可能检测到攻击特征的IP地址、手机号信息等数据分配较高的特征权重,对不容易检测到攻击特征攻击的用户账号、用户密码分配较低的特征权重。在计算相似度分值或聚类分值时,可以基于不同的特征权重,更为准确的确定发起网络攻击的团伙。
在S203中,根据聚类计算的结果,确定聚类的用户所包括风险因子。
根据聚类算法确定用户的聚类结果后,可以根据聚类用户的不同参数的聚类分值,确定不同参数所对应的聚类分值。可以选择聚类分值最大,或者选择聚类分值较大的预定数量的参数,确定为该聚类结果的风险因子。其中,聚类分值可以根据聚类结果中的用户的参数之间的相似度,结合预先设定的特征权重,确定该参数的聚类分值。
在采用单个种类的数据进行聚类时,根据聚类计算所采用的参数的类别,可直接确定该种类的参数为风险因子。比如,通过手机号信息进行聚类计算时,将属于同一号码段的多个用户进行聚类,该聚类结果所对应的风险因子即为手机号信息。
在采用两种或两种以上的数据进行聚类计算时,可以根据聚类计算结果中,将聚类分值最大的参数种类,作为该聚类结果的风险因子。比如,通过手机号信息、IP地址、用户账号进行聚类计算时,所得到第一聚类中,手机号信息的聚类分值最大,则将手机号信息作为第一聚类的风险因子。第二聚类中,IP地址的聚类分值较大,则将IP地址作为第二聚类的风险因子。第三聚类中,用户账号的聚类分值较大,则将用户账号作为第三聚类的风险因子。
当然,在同一个聚类中,风险因子可能包括两个或两个以上。比如,在上述的聚类结果中,可能存在第四聚类,第四聚类的风险因子可能包括用户账号和手机号信息。
其中,用户数据的类别对聚类结果的影响,可以根据用户数据的类别所计算的相似度的大小来确定。比如,可以分别计算不同类别的用户数据之间的相似度,根据所计算的相似度的大小,选择相似度较高的类别作为风险因子。或者,还可以根据所计算的相似的大小,结合类别所对应的特征权重,来确定用户数据中的风险因子。
在S204中,获取基于所述的风险因子确定的聚类结果的风险评分,根据所述聚类结果和对应的风险评分,对预先设定的有监督评分模型进行训练。
在确定聚类结果中的风险因子后,可以帮忙用户快速的定位聚类中出现风险的原因。基于该风险出现的原因,可以方便工作人员快速的定位风险,对风险信息进行评分确认,从而降低系统的误判几率。
本申请实施例可以通过获取确认数据,根据确认数据来确定聚类结果的风险评分。其中,确认数据可以基于智能检测数据,也可以通过人工获取。根据每个风险因子的评分,可以确定该聚类结果的评分。
或者,也可以通过系统向聚类结果中的用户进行风险确认,根据风险确认结果确定风险评分。比如,可以通过向聚类结果中的用户发起语音沟通,或者向用户发送风险调查表。根据接听电话的用户的相似度,或者根据风险调查表所反馈的内容的相似度,来确定风险评分。如果接听电话的相似度越高,比如通过音色分析为同一用户,则可以确定风险评分为预先设定的同一用户使用多账户对应的风险评分。
或者,还可以根据其它调查方式,确定聚类结果的风险评分。比如,可以通过现场调查的方式,或者通过对聚类结果中的用户进行大数据分析的方式,得到该聚类结果所对应的风险评分。风险评分越高,则表示该聚类结果可能为非法用户的可能性也越高。
在确定聚类结果对应的评分后,可以将聚类结果与聚类结果对应的风险评分,作为样本数据输入到有监督评分模型,对有监督评分模型进行训练。其中,有监督评分模型可以为神经网络模型。训练过程可以如图3所示,包括:
在S301中,将所述聚类结果输入到预先设定的有监督评分模型,得到所述有监督评分模型输出的计算评分。
可以将所述聚类结果和聚类结果中的风险因子输入到有监督评分模型中,通过有监督评分模型进行评分计算,使得有监督评分模型输出的计算评分。其中,该有监督评分模型可以预先设定。比如,有监督评分模型可以为线性回归网络模型、神经网络模型、决策树网络模型、支持向量机网络模型、相互贝叶斯网络模型等。
基于所设定的有监督评分模型以及初始化的参数,可以计算输入到有监督评分模型的聚类结果对应的计算评分。
在S302中,确定所述计算评分与所述聚类结果对应的风险评分的差异,根据所述差异调整所述有监督评分模型的参数,直到所述有监督模型输出的计算评分与对应的风险评分的差异符合预设的要求,得到训练完成的有监督评分模型。
将所计算的评分与所确定的风险评分进行比较,可以得到计算评分与风险评分(也即标定的评分)之间的差异。根据二者的差异,可以对有监督评分模型中的参数进行调整。通过反复的参数调整和比较,直到输出的计算评分与对应的风险评分之意的差异满足预设的要求,从而完成对所述有监督评分模型的训练。
可以理解的是,可以根据持续获取的用户数据,反复进行聚类计算和风险评分的确定,不断的对所述有监督评分模型进行更新完善。
比如,在业务系统上线后的第一时段内,获取到用户数据A,基于所获取的用户数据A,结合用户数据中的特征权重,可以计算得到用户数据A中所包括的聚类结果。在确定聚类结果对应的风险评分后,将用户数据A的聚类结果和聚类结果对应的风险评分,对有监督评分模型进行训练。当有监督评分模型对用户数据A所对应的聚类结果收敛时,可以得到初步训练完成的有监督评分模型。在业务系统上线的第一时段之后的第二时段,系统会采集到用户数据B。由于非法用户的攻击手段可能会不断的更新和优化,因此,有监督评分模型对于更新后的攻击手段可能不具有很好的识别。通过本申请的聚类计算,可以使得系统能够及时的发现新的聚类,并根据新的聚类所确定的风险评分,可以对有监督评分模型进行迭代训练,从而使得有监督评分模型可以学习到更新的攻击手段对应的特征,使得有监督评分模型在系统使用过程中,自动的进行模型的升级和优化,以能够适应更为复杂的攻击检测,提高系统检测的准确率,减少误判断,提高用户的使用体验。
在S205中,根据训练完成的有监督评分模型进行网络攻击检测。
在有监督评分模型训练完成后,即可通过训练完成的有监督评分进行风险的计算,判断用户是否具有团伙作案特征,从而及时的发现团伙作案的网络攻击。
基于训练完成的有监督评分模型进行网络模型检测的过程可以如图4所示,包括:
在S401中,获取网络访问记录中的用户数据。
在进行网络攻击检测时,可以实时的采集网络的访问数据。通过及时对所获取的网络访问数据进行检测,可及时的发现对系统发起网络攻击的用户。
在S402中,根据所述用户数据,对访问所述网络的用户进行聚类。
对于所确定多个用户数据或数组,可以采用无监督学习方法,将所述多个用户分别对应的用户数据或数组进行聚类计算,得到一个或者多个聚类。其中,一个聚类可以为属于同一个号码段的聚类,或者可以为同一个IP地址的聚类,或者同一区域的IP地址的聚类。
或者,也可以采用其它数据相似度计算方法,确定各个用户之间的用户数据的相似度,基于所确定的相似度对用户数据进行聚类,得到属于同一个聚类中的两个或两个以上的用户。
在S403中,将聚类结果输入到所述训练完成的有监督评分模型,得到聚类结果对应的风险评分,根据所述风险评分确定所述网络访问是否为网络攻击。
由于有监督评分模型已训练完成,即有监督评分模型对聚类结果进行计算处理所输出的计算评分,与标准的风险评分的差异已满足预先设定的要求。因此,将有监督评分模型用于计算所采集的用户数据的聚类结果时,可以计算得到用户数据的聚类结果所对应的计算评分,并且该计算评分与标准的风险评分的差异符合预设要求,可基于所得到的计算评分来判断用户是否为非法用户,或者确定用户的访问是否为网络攻击。比如,在确定用户为非法作案的团伙用户时,则可以确定该团伙的访问为用户为网络攻击。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图5为本申请实施例提供的一种网络攻击检测装置的示意图,如图5所示,该装置包括:
用户数据获取单元501,用于获取网络访问记录中的用户数据;
用户聚类单元502,用于根据所述用户数据,对访问所述网络的用户进行聚类;
风险因子确定单元503,用于根据聚类计算的结果,确定聚类的用户所包括风险因子;
模型训练单元504,用于获取基于所述的风险因子确定的聚类结果的风险评分,根据所述聚类结果和对应的风险评分,对预先设定的有监督评分模型进行训练;
攻击检测单元505,用于根据训练完成的有监督评分模型进行网络攻击检测。
图5所述的攻击检测装置,与图2所示的攻击检测方法对应。
图6是本申请一实施例提供的网络攻击检测设备的示意图。如图6所示,该实施例的网络攻击检测设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如网络攻击检测程序。所述处理器60执行所述计算机程序62时实现上述各个网络攻击检测方法实施例中的步骤。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述网络攻击检测设备6中的执行过程。
所述网络攻击检测设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述网络攻击检测设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是网络攻击检测设备6的示例,并不构成对网络攻击检测设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述网络攻击检测设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述网络攻击检测设备6的内部存储单元,例如网络攻击检测设备6的硬盘或内存。所述存储器61也可以是所述网络攻击检测设备6的外部存储设备,例如所述网络攻击检测设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述网络攻击检测设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述网络攻击检测设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。