基于stacking算法的风险预测方法、装置和电子设备
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种基于stacking算法的风险预测方法、装置和电子设备。
背景技术
风险控制(简称为风控)是指风险管理者采取各种措施和方法,消灭或减少风险案件发生的各种可能性,或风险控制者减少风险案件发生时造成的损失。风险控制一般应用于金融行业,如对公司的交易、商家的交易或个人交易等进行风险控制。
在现有技术中,金融风险评估主要的目的是如何区分出好客户和坏客户,评估用户的风险情况,以降低信用风险实现利润最大化。目前,主要采用Logistic回归统计方法计算风险评分,例如logistics回归方法选取10-20个特征作为引子,在处理高维数据时效果不佳。此外,随着机器学习技术的发展,特别是树模型中的XGBoost模型在金融风险评估领域得到了广泛应用,但是该模型涉及参数较多,训练到一定程度后,很难再提升预测效果。
因此,有必要提供一种精度更高的风险预测方法。
发明内容
鉴于上述问题,本发明提供了一种基于stacking算法的风险预测方法,包括:获取历史样本数据,确定正、负样本,并建立第一训练数据集D1和测试数据集D3,其中,所述历史样本数据包括用户特征数据和金融表现数据;根据预定划分规则,对用户群进行分类;基于用户群分类结果,使用stacking算法,构建多层融合模型,该多层融合模型包括第一层分类模型和第二层分类模型;建立所述第一层分类模型,使用K折交叉验证将第一训练数据集D1分为训练集D11和验证集D12,进行验证训练;将所述第一层分类模型的输出结果进行拼接处理,以生成第二训练数据集D2;建立第二层分类模型,使用所述第二训练数据集D2进行训练,所述第二层分类模型用于预测用户的风险情况;使用训练好的多层融合模型,计算目标用户的用户风险预测值。
优选地,还包括:采用五折交叉验证算法对所述第一训练数据集D1进行拆分,形成训练集D11和验证集D12,对每次交叉验证中的验证集D12的预测值进行拼接处理,以作为所述第二层分类模型的输入特征。
优选地,还包括:使用所述测试数据集D3进行打分预测,将五次交叉验证产生的评分取平均值,作为测试数据集中对应新特征的取值。
优选地,还包括:基于拼接处理结果,采用RFE递归变量筛选方法进行特征筛选,生成新的输入特征,以作为第二训练数据集D2的一部分数据;所述新的输入特征包括与用户群相关的区别度特征、解释性特征、补充性特征。
优选地,还包括:所述第一层分类模型为初级分类器,该初级分类器包括XGBoost模型、LightGBM模型、CatBoost模型、GBDT模型;所述第二层分类器为次级分类器,该次级分类器包括XGBoost模型或LR模型。
优选地,还包括:配置预定划分规则,所述预定划分规则包括选定划分指标,所述划分指标包括用户授信和动支之间的时间间隔、用户授信和动支之间的多头变化情况、用户的资源配额使用率和用户的风险定价指标中的至少两个指标。
优选地,还包括:按照所述划分指标,使用决策树算法将用户群分为当天动支的用户群、非当天动支的用户群、资源配额高使用率的用户群、资源配额低使用率的用户群、多头稳定用户群和多头非稳定的用户群。
优选地,还包括:设定特定精度,在所述第二层分类模型达到预设精度时,结束训练。
优选地,所述金融表现数据包括违约概率和/或逾期概率。
此外,本发明还提供了一种基于stacking算法的风险预测装置,包括:数据获取模块,用于获取历史样本数据,确定正、负样本,并建立第一训练数据集D1和测试数据集D3,其中,所述历史样本数据包括用户特征数据和金融表现数据;分类模块,根据预定划分规则,对用户群进行分类;构建模块,基于用户群分类结果,使用stacking算法,构建多层融合模型,该多层融合模型包括第一层分类模型和第二层分类模型;第一建立模块,用于建立所述第一层分类模型,使用K折交叉验证将第一训练数据集D1分为训练集D11和验证集D12,进行验证训练;处理生成模块,用于将所述第一层分类模型的输出结果进行拼接处理,以生成第二训练数据集D2;第二建立模块,用于建立第二层分类模型,使用所述第二训练数据集D2进行训练,所述第二层分类模型用于预测用户的风险情况;计算模块,用于使用训练好的多层融合模型,计算目标用户的用户风险预测值。
优选地,还包括拆分拼接处理模块,所述拆分拼接处理模块采用五折交叉验证算法对所述第一训练数据集D1进行拆分,形成训练集D11和验证集D12,对每次交叉验证中的验证集D12的预测值进行拼接处理,以作为所述第二层分类模型的输入特征。
优选地,还包括:使用所述测试数据集D3进行打分预测,将五次交叉验证产生的评分取平均值,作为测试数据集中对应新特征的取值。
优选地,还包括:基于拼接处理结果,采用RFE递归变量筛选方法进行特征筛选,生成新的输入特征,以作为第二训练数据集D2的一部分数据;所述新的输入特征包括与用户群相关的区别度特征、解释性特征、补充性特征。
优选地,还包括:所述第一层分类模型为初级分类器,该初级分类器包括XGBoost模型、LightGBM模型、CatBoost模型、GBDT模型;所述第二层分类器为次级分类器,该次级分类器包括XGBoost模型或LR模型。
优选地,还包括配置模块,所述配置模块用于配置预定划分规则,所述预定划分规则包括选定划分指标,所述划分指标包括用户授信和动支之间的时间间隔、用户授信和动支之间的多头变化情况、用户的资源配额使用率和用户的风险定价指标中的至少两个指标。
优选地,还包括:按照所述划分指标,使用决策树算法将用户群分为当天动支的用户群、非当天动支的用户群、资源配额高使用率的用户群、资源配额低使用率的用户群、多头稳定用户群和多头非稳定的用户群。
优选地,还包括:设定特定精度,在所述第二层分类模型达到预设精度时,结束训练。
优选地,所述金融表现数据包括违约概率和/或逾期概率。
此外,本发明还提供了一种电子设备,其中,该电子设备包括:处理器;以及,存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行本发明所述的基于stacking算法的风险预测方法。
此外,本发明还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现本发明所述的基于stacking算法的风险预测方法。
有益效果
与现有技术相比,本发明的基于stacking算法的风险预测方法在使各用户群的模型学习到总体特征的鲁棒性的同时,能够防止模型的过拟合,显著提升了各层分类模型和融合模型的预测效果,提高了模型精度和准确度,还优化了风险预测方法。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明本发明示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是本发明的实施例1的基于stacking算法的风险预测方法的一示例的流程图。
图2是本发明的实施例1的基于stacking算法的风险预测方法的另一示例的流程图。
图3是本发明的实施例1的基于stacking算法的风险预测方法的又一示例的流程图。
图4是本发明的实施例2的基于基于stacking算法的风险预测装置的一示例的示意图。
图5是本发明的实施例2的基于stacking算法的风险预测装置的另一示例的示意图。
图6是本发明的实施例2的基于stacking算法的风险预测装置的又一示例的示意图。
图7是根据本发明的一种电子设备的示例性实施例的结构框图。
图8是根据本发明的计算机可读介质的示例性实施例的结构框图。
具体实施方式
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但这不应受这些定语限制。这些定语乃是用以区分一者与另一者。例如,第一器件亦可称为第二器件而不偏离本发明实质的技术方案。
术语“和/或”或者“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
为了进一步提高模型预测精度,并进一步优化风险预测方法,本发明提出了一种基于stacking算法的风险预测方法,其核心思想在于,使用不同的梯度提升树模型建立多个总体样本模型作为初级分类器,并使用stacking融合算法将预测结果作为与各用户群相对应所建立的次级分类器模型的输入特征。由此,该方法不仅可以使各用户群的模型学习到总体特征的鲁棒性,同时抽样方式可以防止模型的过拟合,显著提升了预测效果;在总体模型的基础上,寻找不同客群的特征,进一步优化各模型的效果。以下将详细描述本发明的风险预测过程。
实施例1
下面,将参照图1至图3描述本发明的基于stacking算法的风险预测方法的实施例。
图1为本发明的基于stacking算法的风险预测方法的流程图。如图1所示,一种风险预测方法,该方法包括如下步骤。
步骤S101,获取历史样本数据,确定正、负样本,并建立第一训练数据集D1和测试数据集D3,其中,所述历史样本数据包括用户特征数据和金融表现数据。
步骤S102,根据预定划分规则,对用户群进行分类。
步骤S103,基于用户群分类结果,使用stacking算法,构建多层融合模型,该多层融合模型包括第一层分类模型和第二层分类模型。
步骤S104,建立所述第一层分类模型,使用K折交叉验证将第一训练数据集D1分为训练集D11和验证集D12,进行验证训练。
步骤S105,将所述第一层分类模型的输出结果进行拼接处理,以生成第二训练数据集D2。
步骤S106,建立第二层分类模型,使用所述第二训练数据集D2进行训练,所述第二层分类模型用于预测用户的风险情况。
步骤S107,使用训练好的多层融合模型,计算目标用户的用户风险预测值。
首先,在步骤S101中,获取历史样本数据,确定正、负样本,并建立第一训练数据集D1和测试数据集D3,其中,所述历史样本数据包括用户特征数据和金融表现数据。
在本示例中,获取历史样本数据,确定正、负样本及其数量。
优选地,根据所确定的正样本和负样本的数量,判断正样本与负样本的比例是否满足设定比例,并进一步通过过采样或欠采样,以使正样本和样本的比例满足所述设定比例,以实现样本数据的均衡。
进一步地,用户特征数据包括用户基本信息数据、社交数据等。
更进一步地,金融表现数据包括违约概率和/或逾期概率。
在另一示例中,还包括设定提取规则,并根据所设定提取规则,选择历史样本数据。
例如,所述提取规则包括:确定多个维度参数,基于所述维度参数,提取样本数据,所述维度参数包括时间维度、地区纬度。
需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S102中,根据预定划分规则,对用户群进行分类。
如图2所示,还包括配置预定划分规则的步骤S201。
在步骤S201,配置预定划分规则,以用于用户分类,由此能够实现更精准的用户分类。
具体地,所述预定划分规则包括选定划分指标,所述划分指标包括用户授信和动支之间的时间间隔、用户授信和动支之间的多头变化情况、用户的资源配额使用率和用户的风险定价指标中的至少两个指标。
进一步地,按照所述划分指标,使用决策树算法将用户群分为当天动支的用户群、非当天动支的用户群、资源配额高使用率的用户群、资源配额低使用率的用户群、多头稳定用户群和多头非稳定的用户群。
需要说明的是,上述仅作为优选的示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S103中,基于用户群分类结果,使用stacking算法,构建多层融合模型,该多层融合模型包括第一层分类模型和第二层分类模型。
在本示例中,基于用户分类结果,使用stacking算法,针对不同用户群建立分类模型。
需要说明的是,所述stacking算法是一种融合算法,使用stacking算法构建多层融合模型。该融合算法通过组合和结合单个初级模型(基础模型)的预测结果来提高多层融合模型的预测能力。
具体地,stacking算法旨在通过机器学习方法,学习到更加科学的组合策略的方法,这种算法的核心在于数据的抽样和组合,训练出“初级学习器”,同时将“初级学习器”的预测结果用于“次级学习器”的训练当中,最后“次级学习器”的预测结果就可以视为是机器学习组合策略后的优化结果。
下面,以多层融合模型为两层作为优选示例进行说明。
在本示例中,所述多层融合模型包括第一层分类模型和第二层分类模型。
具体地,所述第一层分类模型为初级分类器,该初级分类器包括XGBoost模型、LightGBM模型、CatBoost模型、GBDT模型;
进一步地,所述第二层分类器为次级分类器,该次级分类器包括XGBoost模型或LR模型。
需要说明的是,在其他示例中,融合方法还可以使用投票法或使用加权平均算法等。上述仅作为优选示例进行说明,不能理解成对发明的限制。
接下来,在步骤S104中,建立所述第一层分类模型,使用K折交叉验证将第一训练数据集D1分为训练集D11和验证集D12,进行验证训练。
具体地,使用K折交叉验证对数据进行划分。
在本示例中,K为5。具体地,采用五折交叉验证算法对所述第一训练数据集D1进行拆分,形成训练集D11和验证集D12。换言之,对第一训练数据集D1做CV fold=5,将第一训练数据集D1中所有的数据分成5份,使用其中4份用作训练数据(训练集D11),而使用剩余的1份用作val数据(验证集D12)。
需要说明的是,上述仅作为优选的示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S105中,将所述第一层分类模型的输出结果进行拼接处理,以生成第二训练数据集D2。
在本示例中,对每次交叉验证中的验证集D12的预测值进行拼接处理,以作为所述第二层分类模型的输入特征。
进一步地,使用所述测试数据集D3进行打分预测,将五次交叉验证产生的评分取平均值,作为测试数据集中对应新特征的取值。
例如,若有m个第一层分类模型(即初级分类器),并且训练集D11的样本量为n个,则生成n行m列的新特征,以用作第二层分类模型(即次级分类器)的输入特征,以生成第二训练数据集D2。
进一步地,对于测试数据集D3的新特征,则是对应于在每一次进行交叉验证训练出一个初级分类器时对测试数据集D3的样本进行打分预测,最终将5次交叉验证产生的分类器的打分进行平均,作为测试集中对应新特征的取值。
在本示例中,将验证数据集和/或测试数据集所生成的新特征与其他特征一起作为次级分类器的输入特征,以生成第二训练数据集D2。
优选地,基于拼接处理结果,采用RFE递归变量筛选方法进行特征筛选,生成新的输入特征,以作为第二训练数据集D2的一部分数据。
具体地,所述新的输入特征包括与用户群相关的区别度特征、解释性特征、补充性特征。
需要说明的是,上述仅作为示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S106中,建立第二层分类模型,使用所述第二训练数据集D2进行训练,所述第二层分类模型用于预测用户的风险情况。
优选地,使用XGBoost模型或LR模型,建立第二层分类模型。
进一步地,使用第二训练数据集D2训练所述第二层分类模型,以用于预测用户的风险情况。
如图3所示,还包括设定特定精度的步骤S301。
在步骤S301中,设定特定精度,以用于确定训练结束的时间。
具体地,在所述第二层分类模型达到预设精度时,结束训练,即完成了第二层分类模型的训练。
进一步地,将训练好的第一层分类模型和第二层分类模型进行融合,以得到多层融合模型。
需要说明的是,对于第一层分类模型、第二层分类模型和多层融合模型的模型构建,还包括对第一训练数据集和第二训练数据定义好坏样本,标签为0,1,其中,1表示用户的逾期概率(和/或违约概率)为Y以上的样本,0表示用户的逾期概率(和/或违约概率)为小于Y的样本。通常,用户的逾期概率(和/或违约概率)越低,贷款回收本金的情况越好,资金的使用效率越好,资金的风险程度就越低,反之亦然。
接下来,在步骤S107中,使用训练好的多层融合模型,计算目标用户的用户风险预测值。
具体地,获取目标用户的用户特征数据,输入所述多层融合模型,以计算该目标用户的用户风险预测值。
在本示例中,该用户风险预测值为逾期概率,且为一个0~1之间的数值。
进一步地,根据预设风险阈值,将所计算的用户的风险预测值与所述预设风险阈值进行比较,以判断目标用户的风险情况。
需要说明的是,上述仅为优选的实施例,不能理解成对本发明的限制。
本领域技术人员可以理解,实现上述实施例的全部或部分步骤被实现为由计算机数据处理设备执行的程序(计算机程序)。在该计算机程序被执行时,可以实现本发明提供的上述方法。而且,所述的计算机程序可以存储于计算机可读存储介质中,该存储介质可以是磁盘、光盘、ROM、RAM等可读存储介质,也可以是多个存储介质组成的存储阵列,例如磁盘或磁带存储阵列。所述的存储介质不限于集中式存储,其也可以是分布式存储,例如基于云计算的云存储。
与现有技术相比,本发明的基于stacking算法的风险预测方法在使各用户群的模型学习到总体特征的鲁棒性的同时,能够防止模型的过拟合,显著提升了各层分类模型和融合模型的预测效果,提高了模型精度和准确度,还优化了风险预测方法。
实施例2
下面描述本发明的装置实施例,该装置可以用于执行本发明的方法实施例。对于本发明装置实施例中描述的细节,应视为对于上述方法实施例的补充;对于在本发明装置实施例中未披露的细节,可以参照上述方法实施例来实现。
参照图4、图5和图6,本发明还提供了一种基于stacking算法的风险预测装置400,包括:数据获取模块401,用于获取历史样本数据,确定正、负样本,并建立第一训练数据集D1和测试数据集D3,其中,所述历史样本数据包括用户特征数据和金融表现数据;分类模块402,根据预定划分规则,对用户群进行分类;构建模块403,基于用户群分类结果,使用stacking算法,构建多层融合模型,该多层融合模型包括第一层分类模型和第二层分类模型;第一建立模块404用于建立所述第一层分类模型,使用K折交叉验证将第一训练数据集D1分为训练集D11和验证集D12,进行验证训练;处理生成模块405,用于将所述第一层分类模型的输出结果进行拼接处理,以生成第二训练数据集D2;第二建立模块406,用于建立第二层分类模型,使用所述第二训练数据集D2进行训练,所述第二层分类模型用于预测用户的风险情况;计算模块407,用于使用训练好的多层融合模型,计算目标用户的用户风险预测值。
如图5所示,还包括拆分拼接处理模块501,所述拆分拼接处理模块采用五折交叉验证算法对所述第一训练数据集D1进行拆分,形成训练集D11和验证集D12,对每次交叉验证中的验证集D12的预测值进行拼接处理,以作为所述第二层分类模型的输入特征。
优选地,还包括:使用所述测试数据集D3进行打分预测,将五次交叉验证产生的评分取平均值,作为测试数据集中对应新特征的取值。
优选地,还包括:基于拼接处理结果,采用RFE递归变量筛选方法进行特征筛选,生成新的输入特征,以作为第二训练数据集D2的一部分数据;所述新的输入特征包括与用户群相关的区别度特征、解释性特征、补充性特征。
优选地,还包括:所述第一层分类模型为初级分类器,该初级分类器包括XGBoost模型、LightGBM模型、CatBoost模型、GBDT模型;所述第二层分类器为次级分类器,该次级分类器包括XGBoost模型或LR模型。
如图6所示,还包括配置模块601,所述配置模块601用于配置预定划分规则,所述预定划分规则包括选定划分指标,所述划分指标包括用户授信和动支之间的时间间隔、用户授信和动支之间的多头变化情况、用户的资源配额使用率和用户的风险定价指标中的至少两个指标。
优选地,还包括:按照所述划分指标,使用决策树算法将用户群分为当天动支的用户群、非当天动支的用户群、资源配额高使用率的用户群、资源配额低使用率的用户群、多头稳定用户群和多头非稳定的用户群。
优选地,还包括:设定特定精度,在所述第二层分类模型达到预设精度时,结束训练。
优选地,所述金融表现数据包括违约概率和/或逾期概率。
需要说明的是,在实施例2中,省略了与实施例1相同的部分的说明。
本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
与现有技术相比,本发明的基于stacking算法的风险预测装置在使各用户群的模型学习到总体特征的鲁棒性的同时,能够防止模型的过拟合,显著提升了各层分类模型和融合模型的预测效果,提高了风险预测的准确度。
实施例3
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图7是根据本发明的一种电子设备的示例性实施例的结构框图。下面参照图7来描述根据本发明该实施例的的电子设备200。图7显示的电子设备200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子设备的处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图1所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法。
如图8所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。