具体实施方式
下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
在虚假交易场景中,买家和卖家一般会事先进行沟通,有组织有计划地进行虚假交易。此外,卖家一般情况下会联合很多卖家协助刷单,而有些买家也会帮助不同的卖家进行刷单。图1为本申请实施例提供的一种交易网络的示意图。在图1所示的交易网络中存在多种异常交易行为,买家X在一段时间内同时与多个卖家发生了交易,卖家Y在很短的时间内高频率地在与不同的卖家进行交易,买家Z与不同卖家的交易金额比较相似。一个买家可能在一段时间内同时有类似图1所示的多种异常行为,或,存在类似图1所示的多种异常行为的不同买家在相同卖家上进行交易。本申请实施例通过有效整合交易网络结构特征、买家的行为特征和卖家的行为特征,进而进行虚假交易识别。
图2为本申请实施例提供的一种基于图结构模型的虚假交易识别方法的流程示意图。图2所示的方法可以如下所示。
步骤202:获取利用标注交易样本训练过的图结构模型。
其中,图结构模型根据交易网络定义,交易网络由买家和卖家两种节点以及节点间关系构成,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易。
具体地,获取利用标注交易样本训练过的图结构模型,包括:
第一,建立交易网络。
交易网络由买家和卖家两种节点,以及节点间关联的边构成。
例如,如果节点A(买家)和节点B(卖家)之间存在交易,则在节点A和节点B之间建立一条边。
需要说明的是,一个节点可以同时是卖家和买家。
在交易网络中,节点和边均包含不同的特征。
其中,若节点是买家,则节点的特征包括以下至少一种数据:第一预设时长内的交易金额、交易次数、信用卡的交易金额和/或交易次数、购买的商品数、购买的卖家数、交易平均金额、相同卖家的平均交易金额和/或次数、交易频率、所述买家的用户画像特征;
若节点是卖家,则节点的特征包括以下至少一种数据:第二预设时长内的交易金额、交易次数、信用卡的交易金额和/或交易次数、卖出的商品数、购买的买家数、交易平均金额、相同买家的平均交易金额和/或次数、交易频率、所述卖家的用户画像特征;
节点间关联的边的特征包括该边连接的节点涉及的以下至少一种数据:第三预设时长内的交易金额、交易次数、信用卡的交易金额和/或交易次数、交易频率。
需要说明的是,第一预设时长、第二预设时长和第三预设时长可以相同,也可以不相同,其具体取值可以根据实际情况确定,这里不做具体限定。
第二,根据交易网络,定义图结构模型。
其中,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量。
本申请实施例中,根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,具体包括:
根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点多次迭代后的嵌入向量;
根据节点间关联的边的特征和隐特征空间中节点多次迭代后的嵌入向量,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量。
其中,隐特征空间中节点在第t次迭代后的嵌入向量是根据节点的特征、隐特征空间中节点的邻居节点在第t-1次迭代后的嵌入向量,以及隐特征空间中节点关联的边在第t-1次迭代后的嵌入向量计算得到的;
隐特征空间中节点间关联的边在第t次迭代后的嵌入向量是根据边的特征、边连接的节点在第t-1次迭代后的嵌入向量计算得到的。
具体地,按照下述公式,计算隐特征空间中节点多次迭代后的嵌入向量:
其中,
表示隐特征空间中第i个节点在第t次迭代后的嵌入向量,N
i表示第i个节点的邻居节点构成的集合,
μ
i=σ(w
1x
i),x
i表示第i个节点的特征,σ表示非线性变换函数,
表示隐特征空间中第i个节点与第j个节点关联的边在第t-1次迭代后的嵌入向量,
v
ij=σ(w
2z
ij),z
ij表示第i个节点与第j个节点关联的边的特征,w
1、w
2、w
3、w
4、w
5表示权重矩阵,α
ij=1或
β
ij=1或
按照下述公式,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量:
其中,
表示第i个节点与第j个节点关联的边在第t次迭代后的嵌入向量,v
ij=σ(w
2z
ij),z
ij表示第i个节点与第j个节点关联的边的特征,σ表示非线性变换函数,
表示隐特征空间中第i个节点在第t-1次迭代后的嵌入向量,
表示隐特征空间中第j个节点在第t-1次迭代后的嵌入向量,w
6、w
7、w
8表示权重矩阵。
本申请实施例中,图结构模型还用于根据隐特征空间中节点间关联的边多次迭代后的嵌入向量,计算隐特征空间中节点间关联的边的预测概率,预测概率表示节点间关联的边对应的交易是虚假交易的概率。
具体地,按照下述公式,计算节点间关联的边的预测概率:
其中,predij表示第i个节点与第j个节点关联的边的预测概率,w9、b表示权重矩阵。
通过对交易网络中的节点的特征和节点间关联的边的特征进行整合,定义特征空间。进而根据一个或多个特征空间、特征空间中待定的权重矩阵,以及指定的非线性变换函数,定义图结构模型。
权重矩阵用于对特征空间进行线性变换,非线性函数用于对特征空间进行非线性变化,使得通过图结构模型能够将节点的特征和节点间关联的边的特征进行复杂的映射,最终映射至一个更为复杂的隐特征空间,节点间关联的边多次迭代后的嵌入向量可以反映该节点间关联的边在该最终的隐特征空间嵌入的特征。
在多次迭代的情况下,还可以根据前一次迭代结果自身定义特征空间,该特征空间相比于根据节点的特征或者节点间关联的边的特征定义的特征空间,也可以视为一种隐特征空间。
隐特征空间中节点间关联的边在每次迭代后的嵌入向量可以是根据以下一种或者多种因素组合计算得到的:边连接的节点的特征、边的特征,以及隐特征空间中边连接的节点在之前一次或者多次迭代后的嵌入向量计算得到的。
第三步,利用标注交易样本,训练图结构模型。
其中,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易。
实际应用中,针对具体业务指定一些规则,或根据实际的投诉处罚,或根据人工审核结果,对已有的一些交易样本进行标注,得到标注交易样本,进而利用标注交易样本训练图结构模型。
例如,一段时间内,若节点A(买家)和节点B(卖家)之间存在一笔异常交易,则将节点A和节点B之间的边AB定义为AB=1;若节点A(买家)和节点B(卖家)之间不存在异常交易,则节点A和节点B之间的边AB定义为AB=0。
本申请实施例中,利用标注交易样本,以预设概率与其对应的交易样本标注结果的一致性最大化为训练目标,训练图结构模型。
具体地,利用反向传播算法和标注交易样本,对
进行优化,求得最优的w
1-9和b;
其中,yij表示第i个节点与第j个节点关联的边的标注结果,loss表示损失函数。
可选地,loss(predij,yij)=cross_entrep(predij,yij),其中,corss_entrep表示用于计算交叉熵的函数。
通过上述获取利用标注交易样本训练过的图结构模型的方法,能够有效地整合交易网络结构特征、节点特征和边的特征来计算节点间关联的边的嵌入向量和/或预测概率,进而根据节点间关联的边的嵌入向量和/或预测概率有效地进行虚假交易识别。
下面通过举例详细描述图结构模型的定义以及训练过程:
假设T表示要迭代的次数,总共有n个节点,m条边,y
ij表示第i个节点与第j个节点关联的边的标注结果(例如,异常交易标注为y
ij=1,非异常交易标注为y
ij=0),x
i表示第i个节点的特征(特征维度为f维),z
ij表示第i个节点与第j个节点关联的边的特征(特征维度为e维),N
i表示第i个节点的邻居节点构成的集合,最终需要嵌入的隐特征空间的维度为h维,
表示隐特征空间中第i个节点在第t次迭代后的嵌入向量,
表示第i个节点与第j个节点关联的边在第t次迭代后的嵌入向量,pred
ij表示第i个节点与第j个节点关联的边的预测概率。
图结构模型的定义以及训练过程如下所示:
其中,σ表示非线性变换函数(例如,,Relu、Sigmoid、Tanh等函数),w
1-9和b表示权重矩阵,α
ij=1或
β
ij=1或
”
利用标注样本,训练图结构模型,具体可以包括:利用反向传播算法和标注的样本,对
进行优化,求得最优的w
1-9和b。这里的优化目标是基于预测概率与标注结果的损失函数设置的。
需要说明的是,上述损失函数可以是交叉熵的函数,还可以是其他能够度量预测概率与标注结果的一致性的参数来设置优化目标,优化目标是使得预测概率与标注结果的一致性尽量高。
获取到利用标注交易样本训练过的图结构模型后,可以利用训练过的图结构模型,通过前向传播,计算已有的交易样本以及新交易样本的节点间关联的边的嵌入向量和/或预测概率。进而可以将计算出的节点间关联的边的嵌入向量和/或预测概率用于交易样本相关的业务,比如,将节点间关联的边的嵌入向量作为其他模型的输入(如集合其他有监督、无监督或者增强学习进行再整合等),或者直接使用节点间关联的边的嵌入向量或者预测概率,判定对应待识别交易样本是否为虚假交易。
步骤204:利用训练过的图结构模型,计算待识别交易对应的边的嵌入向量。
步骤206:根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别。
具体地,根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别,包括:
根据待识别交易对应的边的嵌入向量,利用训练过的图结构模型,计算待识别交易对应的边的预测概率;
根据待识别交易对应的边的预测概率,对待识别交易进行虚假交易识别。
例如,若计算得到的待识别交易对应的边(卖家节点A与买家节点B关联的边)的预测概率大于设定阈值,则可以判断卖家节点A与买家节点B间的待识别交易为虚假交易。
本申请实施例记载的技术方案,通过获取利用标注交易样本训练过的图结构模型,其中,图结构模型根据交易网络定义,交易网络由买家和卖家两种节点以及节点间关系构成,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易;利用训练过的图结构模型,计算待识别交易对应的边的嵌入向量;进而根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别,使得能够有效地整合交易网络结构特征、节点特征和边的特征来计算待识别交易对应的边的嵌入向量,从而根据待识别交易对应的边的嵌入向量有效识别待识别交易是否为虚假交易。
实施例2
图3为本申请实施例提供的一种电子设备的结构示意图。如图3所示,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于图结构模型的虚假交易识别装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取利用标注交易样本训练过的图结构模型,其中,图结构模型根据交易网络定义,交易网络由买家和卖家两种节点以及节点间关系构成,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易;
利用训练过的图结构模型,计算待识别交易对应的边的嵌入向量;
根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别。
上述如本申请实施例1执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2执行的方法,并实现上述实施例1的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中的基于图结构模型的虚假交易识别方法,并具体用于执行下述操作:
获取利用标注交易样本训练过的图结构模型,其中,图结构模型根据交易网络定义,交易网络由买家和卖家两种节点以及所述节点间关系构成,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易;
利用训练过的图结构模型,计算待识别交易对应的边的嵌入向量;
根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别。
图4为本申请实施例提供的一种基于图结构模型的虚假交易识别装置的结构示意图。如图4所示的装置400包括:
获取模块401,获取利用标注交易样本训练过的图结构模型,其中,图结构模型根据交易网络定义,交易网络由买家和卖家两种节点以及节点间关系构成,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易;
计算模块402,利用训练过的图结构模型,计算待识别交易对应的边的嵌入向量;
识别模块403,根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别。
可选地,图结构模型还用于根据隐特征空间中节点间关联的边多次迭代后的嵌入向量,计算隐特征空间中节点间关联的边的预测概率,预测概率表示节点间关联的边对应的交易是虚假交易的概率;
识别模块403具体用于:
根据待识别交易对应的边的嵌入向量,利用训练过的图结构模型,计算待识别交易对应的边的预测概率;
根据待识别交易对应的边的预测概率,对待识别交易进行虚假交易识别。
可选地,若节点是买家,则节点的特征包括以下至少一种数据:第一预设时长内的交易金额、交易次数、信用卡的交易金额和/或交易次数、购买的商品数、购买的卖家数、交易平均金额、相同卖家的平均交易金额和/或次数、交易频率、买家的用户画像特征;或,
若节点是卖家,则节点的特征包括以下至少一种数据:第二预设时长内的交易金额、交易次数、信用卡的交易金额和/或交易次数、卖出的商品数、购买的买家数、交易平均金额、相同买家的平均交易金额和/或次数、交易频率、卖家的用户画像特征。
可选地,节点间关联的边的特征包括边连接的节点涉及的以下至少一种数据:第三预设时长内的交易金额、交易次数、信用卡的交易金额和/或交易次数、交易频率。
可选地,获取模块401还包括:
第一计算单元,根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点多次迭代后的嵌入向量;
第二计算单元,根据节点间关联的边的特征和隐特征空间中节点多次迭代后的嵌入向量,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量。
可选地,隐特征空间中节点在第t次迭代后的嵌入向量是根据节点的特征、隐特征空间中节点的邻居节点在第t-1次迭代后的嵌入向量,以及隐特征空间中节点关联的边在第t-1次迭代后的嵌入向量计算得到的。
可选地,隐特征空间中节点间关联的边在第t次迭代后的嵌入向量是根据边的特征、边连接的节点在第t-1次迭代后的嵌入向量计算得到的。
可选地,第一计算单元具体用于:
按照下述公式,计算隐特征空间中节点多次迭代后的嵌入向量:
其中,
表示隐特征空间中第i个节点在第t次迭代后的嵌入向量,N
i表示第i个节点的邻居节点构成的集合,
μ
i=σ(w
1x
i),x
i表示第i个节点的特征,σ表示非线性变换函数,
表示隐特征空间中第i个节点与第j个节点关联的边在第t-1次迭代后的嵌入向量,
v
ij=σ(w
2z
ij),z
ij表示第i个节点与第j个节点关联的边的特征,w
1、w
2、w
3、w
4、w
5表示权重矩阵,α
ij=1或
β
ij=1或
可选地,第二计算单元具体用于:
按照下述公式,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量:
其中,
表示第i个节点与第j个节点关联的边在第t次迭代后的嵌入向量,v
ij=σ(w
2z
ij),z
ij表示第i个节点与第j个节点关联的边的特征,σ表示非线性变换函数,
表示隐特征空间中第i个节点在第t-1次迭代后的嵌入向量,
表示隐特征空间中第j个节点在第t-1次迭代后的嵌入向量,w
6、w
7、w
8表示权重矩阵。
可选地,第二计算单元还用于:
按照下述公式,计算节点间关联的边的预测概率:
其中,predij表示第i个节点与第j个节点关联的边的预测概率,w9、b表示权重矩阵。
可选地,获取模块401还用于:
利用标注交易样本,以预设概率与其对应的交易样本标注结果的一致性最大化为训练目标,训练图结构模型。
可选地,获取模块401还用于:
利用反向传播算法和标注交易样本,对
进行优化,求得最优的w
1-9和b;
其中,yij表示第i个节点与第j个节点关联的边的标注结果,loss表示损失函数。
可选地,loss(predij,yij)=cross_entrep(predij,yij),其中,corss_entrep表示用于计算交叉熵的函数。
根据基于图结构模型的虚假交易识别装置,获取模块获取利用标注交易样本训练过的图结构模型,其中,图结构模型根据交易网络定义,交易网络由买家和卖家两种节点以及节点间关系构成,图结构模型用于根据节点的特征和节点间关联的边的特征,计算隐特征空间中节点间关联的边多次迭代后的嵌入向量,标注交易样本标注了节点间关联的边对应的交易是否为虚假交易;计算模块利用训练过的图结构模型,计算待识别交易对应的边的嵌入向量;识别模块根据待识别交易对应的边的嵌入向量,对待识别交易进行虚假交易识别,使得能够有效地整合交易网络结构特征、节点特征和边的特征来计算待识别交易对应的边的嵌入向量,从而根据待识别交易对应的边的嵌入向量有效识别待识别交易是否为虚假交易。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。