具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合附图对本申请所述的数据处理方法进行详细的说明。图1是本申请提供的数据处理方法的一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的数据处理过程中,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的本申请提供的一种数据处理方法的一种实施例如图1所示,所述方法可以包括:
S101:获取用户的身份信息、搜索词以及与所述搜索词相匹配的搜索结果项集合。
本说明书中,所述用户的身份信息可以包括所述用户在组织架构中的身份信息。所述组织架构例如可以包括企业、学校、图书馆等具有内部局域网的机构,在所述组织结构中,用户可以通过搜索词搜索组织架构提供的数据。例如,对于企业来说,用户的身份信息可以包括该用户所在的部门、职位(如管理人员、研发人员、文员等等)。对于学校来说,用户的身份信息可以包括该用户所在的学院、职位(教授、讲师、辅导员、博士研究生、硕士研究生、本科生等等)。对于图书馆,可以具有与学校相似的身份信息划分,对此不再赘述。在获取所述用户的身份信息时,可以根据用户的标识信息获取所述身份信息。例如,当用户登录到组织架构的局域网时,可以根据所述用户的标识信息(如登录账号)获取到与所述标识信息相匹配的身份信息,例如,所述标识信息可以与所述身份信息绑定,在确定用户的标识信息之后,可以根据所述标识信息确定用户的身份信息。当然,在其他实施例中,所述组织架构不限于具有内部局域网,也可以运行于非局域网中,本申请对此不作限制。
本说明书中,用户可以在组织架构内搜索数据,具体地,用户可以在所述组织架构的局域网内输入搜索词,如“卷积神经网络”、“医疗VR”等等搜索词。在获取到所述搜索词之后,可以获取与所述搜索词相匹配的搜索结果项集合。本说明书中,所述搜索结果项可以包括多种数据类型,如文档、图片、视频、资讯、日志等多种数据信息。所述搜索结果项集合中可以包括上述数据类型中的一种或者多种。其中,所述搜索结果项与所述搜索词相匹配可以包括所述搜索结果项中可以包含所述搜索词,例如,对于文档搜索来说,搜索到的文档中可以包含所述搜索词,如文档的标题、摘要、正文、结语等一处或者多处出现所述搜索词。当然,在说明书的其他实施例中,所述搜索结果项与所述搜索词相匹配还可以包括所述搜索结果项中包括与所述搜索词的同义或者相似含义的词汇,对此,本申请在此不做限制。
S103:获取所述用户对所述搜索结果项集合的历史访问数据,以及与所述用户的所述身份信息相匹配的多个其他用户对所述搜索结果项集合的历史访问数据。
本说明书中,还可以获取所述用户对所述搜索结果项集合的历史访问数据,以及与所述用户的所述身份信息相匹配的多个其他用户对所述搜索结果项集合的历史访问数据。本说明书中,可以从所述组织架构的数据库中获取用户的用户日志,并从所述用户日志中获取所述用户对所述搜索结果项集合的历史访问数据。本说明书中,所述与所述用户的所述身份信息相匹配的其他用户可以包括与所述用户的身份信息相同的多个其他用户,或者,与所述用户的身份信息位于同一等级的多个其他用户。例如,若用户A属于公司研发部门的研发人员,即与用户A相匹配的多个其他用户可以包括与所述用户A同样属于研发部门的多个研发人员。本说明书中,所述历史访问数据可以包括所述用户和所述多个其他用户对所述搜索结果项的访问频率、访问时间等多个数据。例如,在一个示例中,根据用户A的搜索词“卷积神经网络”搜索到共200篇与卷积神经网络相关的电子文档,根据后台数据库的用户日志,可以获取到用户A分别对所述200篇电子文档的访问记录,如对各篇电子文档的访问次数等数据。另外,在确定与用户A相匹配的多个其他用户,即与所述用户A同样属于研发部门的多个研发人员之后,可以获取所述多个研发人员的对上述200篇电子文档的访问记录。
S105:根据所述用户的历史访问数据以及所述多个其他用户的历史访问数据,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
本说明书中,在获取到所述用户以及与所述用户身份信息相匹配的多个其他用户的历史访问数据之后,可以根据所述用户以及所述多个其他用户的历史访问数据,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。在一个实施例中,如图2所示,所述根据所述用户的历史访问数据以及所述多个其他用户的历史访问数据,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项可以包括:
S201:根据所述用户以及所述多个其他用户的历史访问数据,分别统计所述用户以及所述多个其他用户分别对所述搜索结果项的访问频率。
S203:根据所述访问频率从所述搜索结果项集合中提取所述身份信息所对应的频繁项集合。
S205:根据所述用户的历史访问数据以及所述频繁项集合,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
本说明书中,可以根据所述用户以及所述多个其他用户的历史访问数据,分别统计所述用户以及所述多个其他用户对所述搜索结果项集合中搜索结果项的访问频率。例如在上述举例中,用户A对文档3的访问频率为3,即用户A一共访问过3次文档3,而用户B对文档80的访问频率为10,即用户B一共访问过10次文档80。然后,可以根据所述访问频率从所述搜索结果项中提取所述身份信息所对应的频繁项集合。所述频繁项集合可以包括所述身份信息所对应的访问比较频繁的多个搜索结果项组成的集合。具体地,在一个实施例中,如图3所示,所述根据所述访问频率从所述搜索结果项集合中提取所述身份信息所对应的频繁项集合可以包括:
S301:根据所述访问频率分别统计所述搜索结果项集合中搜索结果项的总访问频率。
S303:根据所述搜索结果项的总访问频率计算所述搜索结果项的支持度值。
S305:根据所述搜索结果项的支持度值计算所述搜索结果项集合的总支持度值。
S307:将所述搜索结果项集合中支持度值不小于所述总支持度值的搜索结果项的集合作为所述身份信息对应的频繁项集合。
本说明书中,可以根据所述用户以及所述多个其他用户分别对所述搜索结果项的访问频率,统计各个搜索结果项的总访问频率。例如,对于上述示例中的文档3,根据各个用户对文档3的访问频率,可以统计得到用户A以及其他多个研发人员对文档3的总访问频率,例如,据统计,对文档3的总访问频率为40次。然后,在获取到所述搜索结果项集合中各个搜索结果项的访问频率之后,可以计算各个搜索结果项的支持度值,所述支持度值可以包括各个搜索结果项的关注热度信息。
在本说明书的其他实施例中,所述身份信息还可以包括多个身份等级,此时,如图4所示,所述根据所述访问频率从所述搜索结果项集合中提取所述身份信息所对应的频繁项集合可以包括:
S401:根据所述访问频率分别从所述搜索结果项集合中分别提取所述多个身份等级对应的频繁项集合。
S403:将所述多个身份等级对应的频繁项集合的交集作为所述身份信息所对应的频繁项集合。
在本实施例中,所述身份等级可以包括组织架构内垂直的用户等级划分。例如,对于一般的企业来说,可以划分为多个部门,每个部门具有各自的职位等级,如决策层、管理层以及普通用户层。也就是说,对于企业内的一个用户来说,该用户的身份信息中可以包括多个身份等级信息。例如上述示例中用户A,其身份信息可以包括{研发部门,普通研发人员},即用户A的身份信息中至少包含两层身份等级。在获取到用户的身份等级之后,可以根据所述访问频率从所述搜索结果项集合中分别提取所述多个身份等级所对应的频繁项集合。在获取到所述多个身份等级所对应的频繁项集合之后,可以将所述多个身份等级所对应的频繁项结合的交集作为所述身份信息所对应的频繁项集合。
下面通过一个示例说明上述获取频繁项集合的过程,例如,根据搜索词搜索得到的搜索结果项集合可以表示为I={i1,i2,......,im},im表示为第m个搜索结果项。根据组织架构局域网中的用户日志等历史数据,统计得到组织架构中搜索部门的用户A实际访问的点击项集合为Hi={h1,h2,......,hk},hk表示为第k个点击项,显然k≤m且对于该搜索部门内的所有u个用户,可以得到具有u个不同点击项集合的点击项总集合Dt={H1,H2,......,Hu}。统计所述计算点击项总集合Dt中所有的点击项,得到点击项总集合Dt中共包含p个点击项Ht={h1,h2,......,hp},其中,hi表示Ht一项,若设置所述p个点击项的支持度为St={s1,s2,......,sp},其中,si表示St一项,则si的计算公式可以为:
其中,n≤m,0<si<1且将[0,1]区间划分为n个等份,每个点击项的支持度St分布在该区间各个子区间段上,那么求得部门总支持度值E(St)为
根据求出的总支持度E(St)可以计算得到推荐给该搜索部门用户的频繁项集合Ct,具体地,可以将点击项总集合Dt中支持度大于等于E(St)的点击项的集合作为所述频繁项集合Ct。假设所述频繁项集合Ct具有j项,且Ct={c1,c2,......,cj},则Ct中任意一个搜索结果项的支持度值大于等于E(St)。
在本说明书的一个实施例中,如图5所示,所述从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项可以包括:
S501:从所述搜索词中提取至少一个搜索分词;
S503:分别计算所述至少一个搜索分词在所述搜索结果项中多个搜索区域的邻近度值;
S505:根据所述邻近度值以及所述多个搜索区域的权重值,分别计算所述搜索词对应于所述搜索结果项的邻近度值;
S507:根据所述用户的历史访问数据、所述多个其他用户的历史访问数据以及所述搜索词对应于所述搜索结果项的邻近度值,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
本实施例中,所述搜索词中可以包括一个或者多个独立的分词,此时,可以从所述搜索词中提取至少一个搜索分词,例如对于描述词“医疗VR”,可以从中提取出搜索分词“医疗”、“VR”。在确定所述搜索词中的至少一个搜索分词之后,可以分别计算所述至少一个搜索分词在所述搜索结果项中多个搜索区域的邻近度值。其中,所述邻近度值越大,表示所述搜索分词与所述搜索区域的关联程度越大,就越有可能符合用户的期望结果。所述搜索结果项的搜索区域可以包括所述搜索结果项的各个组成部分,例如,当所述搜索结果项为文档时,所述搜索区域可以包括文档的标题、摘要、正文、结语等多个不同的组成部分。
在获取到所述邻近度值以及所述多个搜索区域的权重值之后,可以分别计算所述搜索词对应于所述搜索结果项的邻近度值。即将多个搜索分词对应的邻近度值合并成所述搜索词对应于所述搜索结果项的邻近度值。在获取到所述搜索词对应于所述搜索结果项的邻近度值之后,可以根据所述用户的历史访问数据、所述多个其他用户的历史访问数据以及所述搜索词对应于所述搜索结果项的邻近度值,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
具体地,在本说明书的一个实施例中,所述根据所述用户的历史访问数据、所述多个其他用户的历史访问数据以及所述搜索词对应于所述搜索结果项的邻近度值,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项可以包括:
SS1:根据所述用户的历史访问数据、所述多个其他用户的历史访问数据,分别计算所述用户对应于所述搜索结果项的个性化权重值。
SS3:根据所述搜索词对应于所述搜索结果项的邻近度值以及所述用户对应于所述搜索结果项的个性化权重值,计算所述搜索结果项的评分值。
SS5:将所述搜索结果项集合中评分值大于预设阈值的搜索结果项推荐给所述用户。
本实施例中,可以根据所述用户以及所述多个其他用户的历史访问数据,分别计算所述用户对应于各个搜索结果项的个性化权重值。根据所述搜索词对应于所述搜索结果项的邻近度值以及所述用户对应于所述搜索结果项的个性化权重值,计算所述搜索结果项的评分值。然后,将所述搜索结果项集合中评分值大于预设阈值的搜索结果项推荐给所述用户。
下面通过一个示例具体说明上述实施例过程,对于用户提交的搜索词q,通过中文分词得到搜索分词{ti}(其中,ti表示搜索词q中的第i个搜索分词),且ti∈q,则在某一搜索区域f中搜索分词ti的位置记为Pos(ti,f),搜索分词ti+1的位置记为Pos(ti+1,f),搜索分词ti与ti+1的最小距离值记为Dismin(ti,f),其邻近度值记为prox(ti,ti+1,f),则
Dismin(ti,ti+1,f)=min|Pos(ti+1,f)-Pos(ti,f)|
搜索结果项d中包含多个搜索区域的描述(如标题,内容,路径等),且f∈d,搜索区域的权重为w(f),则搜索词q对应于所述搜索结果项d的邻近度值记为Prox(q,d),那么,
通过搜索结果项d的邻近度值Prox(q,d)更新评分结果,可以从用户输入的搜索词入手,利用邻近度值对与用户需求相关的搜索结果产生影响,能够准确返回与搜索词相匹配的搜索结果。另外,从邻近度计算公式来看,算法的复杂度没有增加,保证较快的搜索速度。
在按照上述实施例方法,根据组织架构内用户点击项集合Hi与其所在部门的权限组的频繁项集Vrt之间不存在包属的关系,但Hi∩Vrt≠Φ,系统初始设置用户点击项与推荐项的权值比为常量θ=50%(0<θ<1),当θ=0时,忽略用户实际点击效果,搜索引擎展现给用户的是推荐的搜索结果;当θ=100%时,忽略系统推荐的搜索结果,仅体现用户点击效果。当0<θ<100%时,融合了用户点击和系统推荐的搜索结果。那么用户推荐点击项的权重为W(q,d)可以表示为:
其中F(hj)表示用户对hj项的点击量,F'(hj),F'(vij)分别表示推荐hj,vij项的点击量。由于处于组织架构内不同部门、不同权限组的用户关注的内容不同,点击密度随时间、部门差别和权限组有较大变化,搜索呈现的排序结果更符合个性化的特点。而且推荐项的权重可以离线计算,定期更新点击项与推荐项的权重,不影响检索速度。
评分排序结果融合是先根据查询内容的邻近度值与关键词权重计算计算结果搜索结果项的评分值,然后融合结果搜索结果项的个性化权重得到最终排序结果。具体方法如下:
结果搜索结果项的评分分为两个部分,一是基于布尔和向量空间模型的加权评分Scorer(q,d),计算公式可以表示为
其中,fT(t)表示查询项t在某一搜索结果项d中出现的词频,fd(t)表示含有查询项t的搜索结果项数(或占总搜索结果项的比例)。
二是加权邻近度评分Prox(q,d)。因此,扩展布尔和向量空间模型后的评分公式ExtendScorer(q,d)为
ExtendScorer(q,d)=Scorer(q,d)·Prox(q,d)
根据结果搜索结果项的权重,更新评分数据ExtendScorer(q,d)。最终得到的结果项集合D已知,点击项的权重W(q,d)影响集合D搜索结果项的评分,原始项权重值为1,由公式得到融合后的评分结果为
对于集合D不包含W(q,d)的搜索结果项,其评分不变。这样计算得到的评分,能够体现用户行为特征的同时,也向用户推荐了其它用户关注的内容,很好的改善了用户的体验感,从而实现了用户个性化排序结果的展现。
本申请提供的数据处理方法,可以根据用户的搜索词匹配到搜索结果项集合,再根据用户对所述搜索结果项集合的历史访问数据,以及与所述用户身份信息相匹配的多个其他用户对所述搜索结果项集合的历史访问数据,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。利用用户以及与用户身份信息相匹配的多个用户的历史数据,对推荐给用户的搜索结果项产生影响,使得推荐给用户的搜索结果项更加符合用户的需求以及用户的身份信息。尤其对于处于组织架构内的用户来说,用户在组织架构内搜索到的相关数据更加符合用户的搜索需求以及用户在组织架构内的身份。
本申请另一方面还提供一种时间序列中异常点检测装置,图6是本申请提供的数据处理装置的一种实施例的模块结构示意图,如图6所示,所述装置60可以包括:
结果项获取单元61,用于获取用户的身份信息、搜索词以及与所述搜索词相匹配的搜索结果项集合;
历史数据获取单元63,用于获取所述用户对所述搜索结果项集合的历史访问数据,以及与所述用户的所述身份信息相匹配的多个其他用户对所述搜索结果项集合的历史访问数据;
推荐结果项提取单元65,用于根据所述用户的历史访问数据以及所述多个其他用户的历史访问数据,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
可选的,在本申请的一个实施例中,所述推荐结果项提取单元65包括:
访问频率统计单元,用于根据所述用户以及所述多个其他用户的历史访问数据,分别统计所述用户以及所述多个其他用户分别对所述搜索结果项的访问频率;
频繁项集合提取单元,用于根据所述访问频率从所述搜索结果项集合中提取所述身份信息所对应的频繁项集合;
结果项提取单元,用于根据所述用户的历史访问数据以及所述频繁项集合,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
可选的,在本申请的一个实施例中,所述频繁项集合提取单元可以包括:
总访问频率统计单元,用于根据所述访问频率分别统计所述搜索结果项集合中搜索结果项的总访问频率;
支持度计算单元,用于根据所述搜索结果项的总访问频率计算所述搜索结果项的支持度值;
总支持度计算单元,用于根据所述搜索结果项的支持度值计算所述搜索结果项集合的总支持度值;
频繁项集合提取子单元,用于将所述搜索结果项集合中支持度值不小于所述总支持度值的搜索结果项的集合作为所述身份信息对应的频繁项集合。
可选的,在本申请的一个实施例中,当所述身份信息包括多个身份等级时,所述频繁项集合提取单元可以包括:
多个频繁项集合提取单元,用于根据所述访问频率分别从所述搜索结果项集合中分别提取所述多个身份等级对应的频繁项集合;
频繁项交集计算单元,用于将所述多个身份等级对应的频繁项集合的交集作为所述身份信息所对应的频繁项集合。
可选的,在本申请的一个实施例中,所述推荐结果项提取单元可以包括:
分词提取单元,用于从所述搜索词中提取至少一个搜索分词;
第一邻近度值计算单元,用于分别计算所述至少一个搜索分词在所述搜索结果项中多个搜索区域的邻近度值;
第二邻近度值计算单元,用于根据所述邻近度值以及所述多个搜索区域的权重值,分别计算所述搜索词对应于所述搜索结果项的邻近度值;
结果项提取子单元,用于根据所述用户的历史访问数据、所述多个其他用户的历史访问数据以及所述搜索词对应于所述搜索结果项的邻近度值,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
可选的,在本申请的一个实施例中,所述结果项提取子单元可以包括:
权重值计算单元,用于根据所述用户的历史访问数据、所述多个其他用户的历史访问数据,分别计算所述用户对应于所述搜索结果项的个性化权重值;
评分值计算单元,用于根据所述搜索词对应于所述搜索结果项的邻近度值以及所述用户对应于所述搜索结果项的个性化权重值,计算所述搜索结果项的评分值;
结果项推荐单元,用于将所述搜索结果项集合中评分值大于预设阈值的搜索结果项推荐给所述用户。
本申请另一方面还提供一种数据处理装置,图7是本申请提供的数据处理装置的一种实施例的模块结构示意图,如图7所示,所述装置70可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时可以实现:
获取用户的身份信息、搜索词以及与所述搜索词相匹配的搜索结果项集合;
获取所述用户对所述搜索结果项集合的历史访问数据,以及与所述用户的所述身份信息相匹配的多个其他用户对所述搜索结果项集合的历史访问数据;
根据所述用户的历史访问数据以及所述多个其他用户的历史访问数据,从所述搜索结果项集合中提取出推荐给所述用户的至少一个搜索结果项。
在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),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。