1.本技术涉及网络安全技术领域,尤其涉及一种基于防火墙日志的网络安全管理方法、设备及介质。
背景技术:2.随着全球信息化的到来,大量企业和机构都在组建自己的网络,来实现网络资源的共享。网络在信息化的社会中拥有重要的地位,然而频发的网络安全问题也不可被忽视。
3.防火墙隔离了局域网和外部网络,能够识别并屏蔽外界的非法请求,阻止那些无权限的数据访问。防火墙系统可以加强网络的安全性,以此简化局域网安全管理。
4.但是,防火墙具有强大的日志功能,能够查看通信行为,检查网络中的安全漏洞,但是,防火墙产生的日志数量增长过快,无法高效地完成对海量日志数据的处理,导致网络安全管理效率低。
技术实现要素:5.本技术实施例提供一种基于防火墙日志的网络安全管理方法、设备及介质,用于解决防火墙产生的日志数量增长过快,无法高效地完成对海量日志数据的处理,导致网络安全管理效率低的问题。
6.本技术实施例采用下述技术方案:
7.一方面,本技术实施例提供了一种基于防火墙日志的网络安全管理方法,该方法包括:从hadoop分布式文件系统hdfs中获取防火墙的流量日志数据与威胁日志数据;基于数据仓库工具hive,通过计算引擎结构化查询语言spark sql对历史流量日志数据进行多维度静态分析,确定第一分析结果;基于分布式发布订阅消息系统kafka,在预设时间间隔内,通过计算引擎流计算框架spark streaming对在线流量日志数据进行多维度动态分析,确定第二分析结果;通过设定的多分类支持向量机svm模型对所述威胁日志数据进行风险分析,确定第三分析结果;根据所述第一分析结果、所述第二分析结果以及所述第三分析结果,对所述防火墙的网络进行安全管理。
8.一个示例中,所述基于hive,通过spark sql对历史流量日志数据进行多维度静态分析,确定第一分析结果,具体包括:在所述hive中,建立表结构,将所述历史流量日志数据载入所述表结构;通过所述spark sql,从所述表结构中对所述历史流量日志数据进行查询,得到第一查询结果;对所述第一查询结果进行多维度静态分析,确定所述第一分析结果。
9.一个示例中,所述基于kafka,在预设时间间隔内,通过spark streaming对在线流量日志数据进行多维度动态分析,确定第二分析结果,具体包括:通过所述kafka从所述hdfs中获取在线流量日志数据;在预设时间间隔内,通过spark streaming对在线流量日志数据进行查询,统计上行流量与下行流量的实时数据量,得到第二查询结果;对所述第二查询结果进行多维度动态分析,确定所述第二分析结果。
10.一个示例中,所述通过设定的多分类支持向量模型对所述威胁日志数据进行风险分析,确定第三分析结果,具体包括:通过计算引擎机器学习库spark mllib,生成所述设定的多分类svm模型;通过所述设定的多分类svm模型对所述威胁日志数据进行风险分析,预测所述威胁日志数据中威胁事件对应的风险等级,以确定所述第三分析结果。
11.一个示例中,所述通过spark mllib,生成所述设定的多分类svm模型,具体包括:确定训练样本威胁数据中威胁事件对应的风险等级,并为所述风险等级生成对应的类别标签,以生成所述训练样本威胁数据的标签列;在所述spark mllib中,根据所述标签列,通过多分类svm算法对所述训练样本威胁数据进行训练,生成初始多分类svm模型;确定测试样本威胁数据;所述测试样本威胁数据不包括所述对应的标签;通过所述初始多分类svm模型对所述测试样本威胁数据进行分类,根据分类后的结果,对所述初始多分类svm模型进行验证,以生成所述多分类svm模型。
12.一个示例中,所述根据所述标签列,通过多分类svm算法对所述训练样本威胁数据的标签列进行训练,生成初始多分类svm模型,具体包括:确定在任意两类风险等级的训练样本威胁数据之间设计一个svm分类器;在所述训练样本威胁数据的标签列中,确定风险等级的类别数量;根据所述类别数量确定若干svm分类器;通过所述若干svm分类器对所述训练样本威胁数据进行训练,生成所述初始多分类svm模型。
13.一个示例中,所述通过所述初始多分类svm模型对所述测试样本威胁数据进行分类,根据分类后的结果,对所述初始多分类svm模型进行验证之后,所述方法还包括:确定预先构建的线性核函数以及核函数;通过所述线性核函数以及所述核函数对所述初始多分类svm模型进行实验对比,并分别通过查准率、查全率以及衡量二分类模型精确度的指标f1值对所述初始多分类svm模型进行评价,以生成所述多分类svm模型。
14.一个示例中,所述对所述流量日志数据与威胁日志数据进行数据清洗,得到清洗后的日志数据,具体包括:对所述流量日志数据与威胁日志数据一致性检查,得到不符合设定要求的流量日志数据与威胁日志数据,并通过正则表达式替换所述不符合设定要求的流量日志数据与威胁日志数据;以及对所述流量日志数据与威胁日志数据进行无效值处理,删除包括缺失值的流量日志数据与威胁日志数据。
15.另一方面,本技术实施例提供了一种基于防火墙日志的网络安全管理设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:从hadoop分布式文件系统hdfs中获取防火墙的流量日志数据与威胁日志数据;基于数据仓库工具hive,通过计算引擎结构化查询语言spark sql对历史流量日志数据进行多维度静态分析,确定第一分析结果;基于分布式发布订阅消息系统kafka,在预设时间间隔内,通过计算引擎流计算框架spark streaming对在线流量日志数据进行多维度动态分析,确定第二分析结果;通过设定的多分类支持向量机svm模型对所述威胁日志数据进行风险分析,确定第三分析结果;根据所述第一分析结果、所述第二分析结果以及所述第三分析结果,对所述防火墙的网络进行安全管理。
16.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
17.本技术实施例通过防火墙日志进行网络安全管理时,构建了一个高效、可扩展、稳定的spark分布式内存计算框架的日志分析平台,结合hive、spark streaming、kafka等技
术组件,从各个不同的维度完成了对流量日志的离线和实时分析,帮助网络管理员及时掌握当前网络的流量状态,从而更好地制定相关的流量管理措施,并使用基于多分类支持向量机的算法完成针对威胁事件的异常检测功能,能够快速准确地掌握网络的运行情况,及时发现潜在的威胁事件,并做出相应的应对措施,提高了网络的安全性,从而提高了网络管理效率。
附图说明
18.为了更清楚地说明本技术的技术方案,下面将结合附图来对本技术的部分实施例进行详细说明,附图中:
19.图1为本技术实施例提供的一种基于防火墙日志的网络安全管理系统的框架示意图;
20.图2为本技术实施例提供的一种基于防火墙日志的网络安全管理方法的流程示意图;
21.图3为本技术实施例提供的一种基于防火墙日志的网络安全管理设备的结构示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.下面参照附图来对本技术的一些实施例进行详细说明。
24.图1为本技术实施例提供的一种基于防火墙日志的网络安全管理系统的框架示意图。
25.如图1所示,按照分层设计的思想,网络安全管理系统自下而上共分成了四层:数据源层、数据存储层、数据处理层、数据展示层。
26.其中,数据源层,用于存放源数据,源数据包括网络防火墙日志中的流量日志与威胁日志。流量日志数据记录了网络中的流量整体情况,流量日志数据包括源ip地址、目的ip地址、流量、安全策略、应用类型等。威胁日志记录了入侵、僵尸、木马、蠕虫等网络威胁和防御情况,威胁日志数据包括风险等级、威胁名称、威胁次数、攻击者、攻击目标、协议、安全策略等。
27.数据存储层主要包括hadoop分布式文件系统(hadoop distributed file system,hdfs)、高吞吐量的分布式发布订阅消息系统kafka和数据库mysql,负责整个网络安全管理系统的数据存储。其中,源数据保存在hdfs中,kafka作为消息中间件,用于暂时存储数据流处理过程中的消息,mysql用于存储数据处理层处理之后的数据。
28.hdfs作为底层存储设备,用来存放原始的日志数据。hdfs作为hadoop生态环境中的一员,适合大规模的数据存储。文件以块为单位进行存储,不但能简化存储管理,同时它的自动备份机制也解决了数据意外丢失的问题。在本技术实施例中将日志数据全部导入到hdfs上保存。保存在hdfs上的日志数据可读性差,因此本技术实施例选择使用hadoop生态
圈中的数据仓库工具hive来帮助完成数据的提取、转化和加载,借助于mysql保存hive的元数据。
29.数据处理层,整体基于计算引擎spark框架,对日志数据进行分析,然后将分析结果存储至mysql。
30.具体地,hive是一个数据仓库工具,而不是数据库,实际上它的数据是存储在hdfs上。hive提供了一种使用类似sql语言查询hfds上结构化数据的方法。hive接收到用户的查询指令后,调用本身的驱动程序,根据元数据中存储的表结构,将用户命令翻译成map reduce作业执行,执行完成后将结果输出到客户端。为了实现后续的数据分析功能,服务器在hive中建立自身的数据库和对应的表结构,完成源数据表结构的存储,从而数据仓库工具hive读写自身数据库中的源数据,完成历史数据查询分析。
31.进一步地,使用kafka对接spark streaming模拟在线实时数据分析。进一步地,在机器学习库spark mllib中,设计并构建多分类支持向量机svm模型对威胁日志数据完成异常检测功能。数据处理层最终得到的结果要存储到mysql中。
32.数据展示层,通过采用jsp和echarts等工具和技术搭建web程序,以静态和动态的方式呈现数据分析结果,实现可视化。
33.接下来继续阐述说明本技术实施例具体如何通过防火墙日志进行网络安全管理,如图2所示,应用于图1的网络安全管理系统中。
34.图2为本技术实施例提供的一种基于防火墙日志的网络安全管理方法的流程示意图。该方法可以应用于不同的业务领域。该流程可以由相应领域的计算设备执行,流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
35.本技术实施例涉及的分析方法的实现的计算设备可以为终端设备,也可以为服务器,本技术对此不作特殊限制。为了方便理解和描述,以下实施例均以服务器为例进行详细描述。
36.需要说明的是,该服务器可以是单独的一台设备,可以是有多台设备组成的系统,即,分布式服务器,本技术对此不做具体限定。
37.图2中的流程可以包括以下步骤:
38.s201:从hdfs中获取防火墙的流量日志数据与威胁日志数据。
39.由于原始的日志数据通常包含很多无用的冗余信息或缺失信息,这会对后续的分析结果产生一定的影响。为了提高数据质量,保障分析结果的有效性,需要对原始数据进行数据预处理。
40.因此,服务器在获取到防火墙的流量日志数据与威胁日志数据之后,将会对日志数据进行预处理。
41.首先,由于数据清洗是对数据的审查和验证,是进行数据分析与挖掘的前提。数据清洗的目的在于,对重复的信息进行清除,对错误的数据予以纠正。
42.因此,服务器对流量日志数据与威胁日志数据进行数据清洗,得到清洗后的日志数据。具体地,服务器对流量日志数据与威胁日志数据一致性检查,得到不符合设定要求的流量日志数据与威胁日志数据,并通过正则表达式替换不符合设定要求的流量日志数据与威胁日志数据,以及对流量日志数据与威胁日志数据进行无效值处理,删除包括缺失值的流量日志数据与威胁日志数据。
43.也就是说,一致性检查是查验数据是不是合乎要求,是不是存在某些脱离逻辑实际或不在规定范围内的数据值。日志数据中会出现很多无用的空格或标点,利用正则表达式来替换这类不符合要求的数据。正则表达式(regular expression)提供了一种字符串匹配的模式,使用它能够查验出一个串是不是包含了某个子串,或者替换匹配的子串等等。正则表达式一般被用在替换和检索符合某种规则或样式的文本。许多程序设计语言如java、python、c#等都支持使用正则表达式处理字符串,因此用这种方法处理字符串匹配问题简单又高效。
44.无效值处理是检查数据样本中是否有缺失的字段信息。对于含有缺失值的日志数据,本技术实施例使用整例删除的方法,即剔除含有缺失值的日志数据。
45.其次,数据变换是对数据进行规范化处理,为后期的数据挖掘做准备,因此,服务器对清洗后的数据进行特征编码与特征归一化,得到规范化处理后的日志数据。
46.具体地,由于防火墙日志的特殊性,数据中包含很多非数字符号,如中文字符、英文字符和ip地址等。由于机器学习的模型只能计算数字类型数据,所以对于各种特殊的特征值,需要选择各类不同的方法完成相应的编码。对于ip地址列采取固定的编码方式。因此,服务器将ip地址切分为4个数值,然后将四个值分别乘以不同的256,计算得出一个唯一的数值。
47.由于日志数据中的不同特征之间的度量单位有很大的差别,直接使用无法保证分析结果的可靠性。数据归一化处理能够消除这种不良影响,降低数据指标之间的对比差距。数据归一化是把不同表征的数据统一到相同的尺度内,处于同一数量级的各个指标,更有利于后续对比评估。
48.最后,由于数据规约就像是把数据进行压缩,该方法要达到的目标是减小数据的维度,降低数据的规模,其中主要包含维度规约和数量规约。信息过度复杂会给我们的分析工作带来极大的挑战,数据降维的过程可以帮助我们去除冗余数据,提高计算效率。
49.因此,服务器通过主成分分析方法对规范化处理后的日志数据进行数据规约,得到降维后的日志数据,当通过主成分分析方法将维度降到2维,就可以将多维数据转换为二维平面中的点以达到数据可视化的效果。
50.s202:基于hive,通过spark sql对历史流量日志数据进行多维度静态分析,确定第一分析结果。
51.服务器将预处理后的日志数据从不同的维度进行查询统计,能够得到当前网络的流量状态,掌握网络流量的带宽使用。
52.具体地,服务器在hive中,建立表结构,将历史流量日志数据载入表结构中,并通过spark sql从表结构中对历史流量日志数据进行查询,得到第一查询结果,然后对第一查询结果进行多维度静态分析,确定第一分析结果。服务器将第一分析结果保存到mysql中。
53.其中,查询内容包括各个应用大类访问流量数、各个应用大类访问时长等等,多维度静态分析是指对第一查询结果,从不同的维度分析离线流量日志数据的具体情况,比如,各应用的访问数据量、各应用的访问时长。
54.也就是说,主要是结合hive、spark sql等技术组件实现对历史流量日志数据的多维度静态分析,spark sql是用于存储和操作结构化数据的spark组件,结构化数据可以是来自外部的结构化数据源,如hive、json和文本等,也可以是rdd。
55.s203:基于kafka,在预设时间间隔内,通过spark streaming对在线流量日志数据进行多维度动态分析,确定第二分析结果。
56.具体地,服务器通过kafka从hdfs中获取在线流量日志数据,然后在预设时间间隔内,通过spark streaming对在线流量日志数据进行查询,统计上行流量与下行流量的实时数据量,比如,以一秒钟为时间间隔,统计每秒钟上行流量和下行流量的实时数据量,从而得到第二查询结果,对第二查询结果进行多维度动态分析,确定第二分析结果,将第一分析结果保存到mysql中。
57.其中,多维度动态分析是指对第二查询结果,从不同的维度对实时数据进行分析。
58.s204:通过设定的多分类svm模型对威胁日志数据进行风险分析,确定第三分析结果。
59.由于mllib是spark的机器学习库,能够实现常用的机器学习算法。如果只是实现一些简单的机器学习工作,只需要对原始日志数据进行处理后,调用相应的api就可以实现,非常简单方便。但是,spark mllib库只包含了线性支持向量机的二元分类算法,无法达到预期的多分类的目标,因此,本技术实施例在spark计算平台上设计并实现多分类svm模型。其中,多分类svm模型是针对二值分类问题提出的多分类支持向量机模型。
60.因此,服务器通过spark mllib,生成设定的多分类svm模型,然后对威胁日志数据进行风险分析,预测威胁日志数据中威胁事件对应的风险等级,以确定第三分析结果。
61.其中,服务器通过spark mllib,生成设定的多分类svm模型时,服务器首先确定训练样本威胁数据中威胁事件对应的风险等级,并为风险等级生成对应的类别标签,从而生成训练样本威胁数据的标签列,然后在spark mllib中,根据标签列,通过多分类svm算法对训练样本威胁数据进行训练,生成初始多分类svm模型。
62.比如,风险等级包含三类高、中、低,将这三种类别作为训练样本威胁数据的标签列。
63.服务器在通过多分类svm算法对训练样本威胁数据进行训练,生成初始多分类svm模型时,首先确定在任意两类风险等级的训练样本威胁数据之间设计一个svm分类器,然后在训练样本威胁数据的标签列中,确定风险等级的类别数量,根据类别数量确定若干svm分类器,通过若干svm分类器对训练样本威胁数据进行训练,生成初始多分类svm模型。
64.比如,服务器在任意两类样本之间设计一个svm,标签列中共有3个类别,所以就需要设计3个svm进行训练。第一个分类器用来区分高风险和中风险,第二个分类器中来区分中风险和低风险,第三个分类器用来区分高风险和低风险。
65.服务器在得到初始多分类svm模型之后,对初始多分类svm模型进行测试,在测试时,服务器首先获取测试样本威胁数据,该测试样本威胁数据不包括对应的标签,通过初始多分类svm模型对测试样本威胁数据进行分类,根据分类后的结果,对初始多分类svm模型进行验证,比如,将去标签的测试样本分别带入这三个分类器中,每个分类器得到一个分类结果,最后采取“投票”形式得到分类结果。
66.若验证不通过,服务器则确定预先构建的线性核函数以及核函数,然后通过线性核函数以及核函数对初始多分类svm模型进行实验对比,并分别通过查准率、查全率以及衡量二分类模型精确度的指标f1值对初始多分类svm模型进行评价,从而在初始多分类svm模型的准确率通过之后,停止优化。
67.针对传统svm模型只能解决二分类的问题,本技术实施例采用“一对一”的方法,构造初始多分类svm模型,通过比较径向核函数和线性核函数对于分类器的性能影响,得到了准确率较高的多分类svm模型,能够较好地完成未知威胁事件的分类与预测。
68.s205:根据第一分析结果、第二分析结果以及第三分析结果,对防火墙的网络进行安全管理。
69.具体地,由于可视化模块主要完成的功能是将日志数据分析后的结果准确、及时、清晰地展示给用户,可视化功能能够直观地验证整个系统是否能有效且正常地运行。
70.因此,服务器对第一分析结果、第二分析结果以及第三分析结果进行可视化展示,即,历史流量日志的数据展示、在线流量日志的数据展示以及威胁事件的预测分类结果展示。
71.比如,在历史流量日志的数据可视化中展示应用小类访问排名top10情况、应用大类的访问流量总数对比情况、应用大类访问时长占比情况、一天内各个时间段出口流量等,在线流量日志的数据可视化中展示上行流量和下行流量的随时间推移的实时变化情况;在威胁事件检测可视化中展示对未知威胁行为的分类结果预测情况。
72.其中,服务器采用mvc框架来完成可视化界面的设计,mvc的全名model view controller,它是采用“模型-视图-控制器”的设计模式构建web应用和api的框架,并且服务器使用可视化工具echarts通过统计图表的方式直观展示需要表达的信息,包括折线图、饼图、条形图等。
73.需要说明的是,虽然本技术实施例是参照图2来对步骤s201至步骤s205依次进行介绍说明的,但这并不代表步骤s201至步骤s205必须按照严格的先后顺序执行。本技术实施例之所以按照图2中所示的顺序对步骤s201至步骤s205依次进行介绍说明,是为了方便本领域技术人员理解本技术实施例的技术方案。换句话说,在本技术实施例中,步骤s201至步骤s205之间的先后顺序可以根据实际需要进行适当调整。
74.通过图2的方法,通过防火墙日志进行网络安全管理时,构建了一个高效、可扩展、稳定的spark分布式内存计算框架的日志分析平台,结合hive、spark streaming、kafka等技术组件,从各个不同的维度完成了对流量日志的离线和实时分析,帮助网络管理员及时掌握当前网络的流量状态,从而更好地制定相关的流量管理措施,提高了效率,并使用基于多分类支持向量机的算法完成针对威胁事件的异常检测功能,能够快速准确地掌握网络的运行情况,及时发现潜在的威胁事件,并做出相应的应对措施,提高了网络的安全性。
75.基于同样的思路,本技术的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。
76.图3为本技术实施例提供的一种基于防火墙日志的网络安全管理设备的结构示意图,包括:
77.至少一个处理器;以及,
78.与所述至少一个处理器通信连接的存储器;其中,
79.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
80.从hadoop分布式文件系统hdfs中获取防火墙的流量日志数据与威胁日志数据;
81.基于数据仓库工具hive,通过计算引擎结构化查询语言spark sql对历史流量日
志数据进行多维度静态分析,确定第一分析结果;
82.基于分布式发布订阅消息系统kafka,在预设时间间隔内,通过计算引擎流计算框架spark streaming对在线流量日志数据进行多维度动态分析,确定第二分析结果;
83.通过设定的多分类支持向量机svm模型对所述威胁日志数据进行风险分析,确定第三分析结果;
84.根据所述第一分析结果、所述第二分析结果以及所述第三分析结果,对所述防火墙的网络进行安全管理。
85.本技术的一些实施例提供的对应于图2的一种基于防火墙日志的网络安全管理非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
86.从hadoop分布式文件系统hdfs中获取防火墙的流量日志数据与威胁日志数据;
87.基于数据仓库工具hive,通过计算引擎结构化查询语言spark sql对历史流量日志数据进行多维度静态分析,确定第一分析结果;
88.基于分布式发布订阅消息系统kafka,在预设时间间隔内,通过计算引擎流计算框架spark streaming对在线流量日志数据进行多维度动态分析,确定第二分析结果;
89.通过设定的多分类支持向量机svm模型对所述威胁日志数据进行风险分析,确定第三分析结果;
90.根据所述第一分析结果、所述第二分析结果以及所述第三分析结果,对所述防火墙的网络进行安全管理。
91.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
92.本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
93.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
94.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
95.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
96.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
97.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
98.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
99.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
100.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
101.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术技术原理之内所作的任何修改、等同替换、改进等,均应落入本技术的保护范围之内。