视频推荐方法及装置
技术领域
本公开涉及视频技术领域,尤其涉及一种视频推荐方法及装置。
背景技术
在用户通过视频网站观看视频时,视频网站通常会向用户推荐与用户当前观看的视频相关的视频。例如,当用户以非全屏模式观看视频时,可以在视频播放窗口的右侧和/或下侧显示与用户当前观看的视频相关的视频的信息。视频推荐效果的好坏主要根据点击率的高低来评判,通常,点击率越高,则视频推荐效果越好。相关技术中,通常根据用户当前观看的视频的标题和/或标签进行视频推荐,所考虑的相关信息较少,导致视频推荐效果较差。
发明内容
技术问题
有鉴于此,本公开要解决的技术问题是,相关技术中的视频推荐效果较差的问题。
解决方案
为了解决上述技术问题,根据本公开的一实施例,提供了一种视频推荐方法,包括:
确定用户当前观看的视频对应的标签;
根据所述当前观看的视频对应的标签确定多个待推荐视频;
根据所述当前观看的视频对应的标签、多个所述待推荐视频对应标签以及所述用户对应的标签,对多个所述待推荐视频进行排序,得到排序结果;
根据所述排序结果对多个所述待推荐视频进行推荐。
对于上述方法,在一种可能的实现方式中,根据所述当前观看的视频对应的标签、多个所述待推荐视频对应标签以及所述用户对应的标签,对多个所述待推荐视频进行排序,得到排序结果,包括:
对于每个所述待推荐视频,分别根据所述当前观看的视频对应的标签、所述待推荐视频对应标签以及所述用户对应的标签,确定所述待推荐视频的排序值;
根据所述排序值对多个所述待推荐视频进行排序,得到排序结果。
对于上述方法,在一种可能的实现方式中,对于每个所述待推荐视频,分别根据所述当前观看的视频对应的标签、所述待推荐视频对应标签以及所述用户对应的标签,确定所述待推荐视频的排序值,包括:
对于每个所述待推荐视频,分别根据所述当前观看的视频对应的标签以及所述待推荐视频对应的标签确定所述待推荐视频的预测值;
根据所述用户对应的标签对所述待推荐视频的预测值进行调整,得到所述待推荐视频的排序值。
对于上述方法,在一种可能的实现方式中,根据所述用户对应的标签对所述待推荐视频的预测值进行调整,包括:
计算所述用户对应的标签与所述待推荐视频对应的标签的相似度;
根据所述相似度对所述待推荐视频的预测值进行调整,得到所述待推荐视频的排序值。
对于上述方法,在一种可能的实现方式中,根据所述相似度对所述待推荐视频的预测值进行调整,得到所述待推荐视频的排序值,包括:
确定所述预测值对应的权重以及所述相似度对应的权重;
根据所述预测值、所述预测值对应的权重、所述相似度以及所述相似度对应的权重确定所述待推荐视频的排序值。
对于上述方法,在一种可能的实现方式中,所述标签包括多层。
对于上述方法,在一种可能的实现方式中,计算所述用户对应的标签与所述待推荐视频对应的标签的相似度,包括:
计算所述用户对应的标签与所述待推荐视频对应的标签在相同层的相似度。
对于上述方法,在一种可能的实现方式中,在计算所述用户对应的标签与所述待推荐视频对应的标签的相似度之后,所述方法还包括:
在所述相似度大于第一预设值且小于1的情况下,对所述待推荐视频增加所述用户对应的标签,其中,所述第一预设值大于或等于0且小于1。
为了解决上述技术问题,根据本公开的另一实施例,提供了一种视频推荐装置,包括:
第一标签确定模块,用于确定用户当前观看的视频对应的标签;
待推荐视频确定模块,用于根据所述当前观看的视频对应的标签确定多个待推荐视频;
排序模块,用于根据所述当前观看的视频对应的标签、多个所述待推荐视频对应标签以及所述用户对应的标签,对多个所述待推荐视频进行排序,得到排序结果;
视频推荐模块,用于根据所述排序结果对多个所述待推荐视频进行推荐。
对于上述装置,在一种可能的实现方式中,所述排序模块包括:
第一排序值确定子模块,用于对于每个所述待推荐视频,分别根据所述当前观看的视频对应的标签、所述待推荐视频对应标签以及所述用户对应的标签,确定所述待推荐视频的排序值;
排序子模块,用于根据所述排序值对多个所述待推荐视频进行排序,得到排序结果。
对于上述装置,在一种可能的实现方式中,所述第一排序值确定子模块包括:
预测值确定子模块,用于对于每个所述待推荐视频,分别根据所述当前观看的视频对应的标签以及所述待推荐视频对应的标签确定所述待推荐视频的预测值;
第二排序值确定子模块,用于根据所述用户对应的标签对所述待推荐视频的预测值进行调整,得到所述待推荐视频的排序值。
对于上述装置,在一种可能的实现方式中,所述第二排序值确定子模块包括:
相似度计算子模块,用于计算所述用户对应的标签与所述待推荐视频对应的标签的相似度;
第三排序值确定子模块,用于根据所述相似度对所述待推荐视频的预测值进行调整,得到所述待推荐视频的排序值。
对于上述装置,在一种可能的实现方式中,所述第三排序值确定子模块包括:
权重确定子模块,用于确定所述预测值对应的权重以及所述相似度对应的权重;
第四排序值确定子模块,用于根据所述预测值、所述预测值对应的权重、所述相似度以及所述相似度对应的权重确定所述待推荐视频的排序值。
对于上述装置,在一种可能的实现方式中,所述标签包括多层。
对于上述装置,在一种可能的实现方式中,所述相似度计算子模块包括:
相同层相似度计算子模块,用于计算所述用户对应的标签与所述待推荐视频对应的标签在相同层的相似度。
对于上述装置,在一种可能的实现方式中,所述装置还包括:
标签增加模块,用于在所述相似度大于第一预设值且小于1的情况下,对所述待推荐视频增加所述用户对应的标签,其中,所述第一预设值大于或等于0且小于1。
为了解决上述技术问题,根据本公开的另一实施例,提供了一种视频推荐装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定用户当前观看的视频对应的标签;
根据所述当前观看的视频对应的标签确定多个待推荐视频;
根据所述当前观看的视频对应的标签、多个所述待推荐视频对应标签以及所述用户对应的标签,对多个所述待推荐视频进行排序,得到排序结果;
根据所述排序结果对多个所述待推荐视频进行推荐。
有益效果
通过确定用户当前观看的视频对应的标签,根据当前观看的视频对应的标签确定多个待推荐视频,根据当前观看的视频对应的标签、多个待推荐视频对应标签以及用户对应的标签,对多个待推荐视频进行排序,得到排序结果,并根据排序结果对多个待推荐视频进行推荐,由此能够在推荐与用户当前观看的视频相关的视频时,考虑用户对应的标签,从而能够提高视频推荐的效果。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的视频推荐方法的实现流程图。
图2示出根据本公开一实施例的视频推荐方法步骤S13的一示例性的实现流程图。
图3示出根据本公开一实施例的视频推荐方法步骤S21的一示例性的实现流程图。
图4示出根据本公开一实施例的视频推荐方法步骤S32的一示例性的实现流程图。
图5示出根据本公开一实施例的视频推荐方法步骤S42的一示例性的实现流程图。
图6示出根据本公开另一实施例的视频推荐装置的结构框图。
图7示出根据本公开另一实施例的视频推荐装置的一示例性的结构框图。
图8是根据一示例性实施例示出的一种用于视频推荐的装置1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
图1示出根据本公开一实施例的视频推荐方法的实现流程图。该方法可以应用于服务器中。如图1所示,该方法包括:
在步骤S11中,确定用户当前观看的视频对应的标签。
作为本实施例的一个示例,可以根据以下至少一项确定视频对应的标签:视频的标题、视频上传者为视频设置的标签、视频上传者的用户画像、视频所属类型、视频主要内容和视频的评论内容。
在一种可能的实现方式中,标签包括多层。
作为该实现方式的一个示例,标签可以包括第一层标签、第二层标签和第三层标签。例如,可以对视频的标题进行分词处理,得到视频对应的第三层标签;对视频对应的第三层标签进行抽象,得到视频对应的第二层标签;对视频对应的第二层标签进行抽象,得到视频对应的第一层标签。例如,某一视频的标题为《<咖啡王子1号店>尹恩惠过足“假小子”瘾》。对该标题进行分词处理,可以得到该标题对应的三个第三层标签:“咖啡王子1号店”“尹恩惠”和“假小子”。对第三层标签“咖啡王子1号店”进行抽象,可以得到第三层标签“咖啡王子1号店”对应的第二层标签“韩剧”,对第二层标签“韩剧”进行抽象,可以得到第二层标签“韩剧”对应的第一层标签“电视剧”。对第三层标签“尹恩惠”进行抽象,可以得到第三层标签“尹恩惠”对应的第二层标签“韩国女明星”,对第二层标签“韩国女明星”进行抽象,可以得到第二层标签“韩国女明星”对应的第一层标签“娱乐明星”。对第三层标签“假小子”进行抽象,可以得到第三层标签“假小子”对应的第二层标签“人物特征名词”,对第二层标签“人物特征名词”进行抽象,可以得到第二层标签“人物特征名词”对应的第一层标签“抽象名词”。
另外,根据视频的标题以及视频上传者为视频设置的标签,还可能可以直接得到视频对应的第二层标签或者第一层标签,在此不作限定。
需要说明的是,尽管以标签包括第一层标签、第二层标签和第三层标签作为示例介绍了多层标签如上,但本领域技术人员能够理解,本公开应不限于此。事实上,本领域技术人员完全可根据个人喜好和/或实际应用场景灵活设定标签的层数。例如,可以从标签的数量、样本增加的数据对应的存储量级和模型训练的时间代价等多个维度综合考虑来确定需要设置几层标签。
在步骤S12中,根据当前观看的视频对应的标签确定多个待推荐视频。
作为本实施例的一个示例,可以根据当前观看的视频对应的标签从待选视频库中筛选出多个待推荐视频。
在步骤S13中,根据当前观看的视频对应的标签、多个待推荐视频对应标签以及用户对应的标签,对多个待推荐视频进行排序,得到排序结果。
其中,用户对应的标签可以根据以下至少一项确定:用户已观看的视频的标题、用户已观看的视频中视频上传者为视频设置的标签、用户已观看的视频所属类型、用户已观看的视频中视频上传者的用户画像、用户已观看的视频的主要内容、用户对视频的评论内容和用户的付费行为对应的视频相关信息。
例如,某一用户经常观看韩剧,经常观看某一个或几个韩国明星主演的剧集,或者经常观看某编剧的作品。对该用户的观看行为数据进行统计处理,可以得到用户对应的标签,并可以得到用户对应的不同层次的标签。
需要说明的是,本领域技术人员可以根据需求确定当前观看的视频对应的标签、待推荐视频对应标签以及用户对应的标签具体根据哪些数据确定,本实施例不对此进行限定。
在步骤S14中,根据排序结果对多个待推荐视频进行推荐。
作为本实施例的一个示例,可以对排序结果中排序在前的N个待推荐视频进行推荐,其中,N为正整数,且N小于或等于待推荐视频的总个数。
作为本实施例的一个示例,可以在视频播放窗口的右侧、下侧、上侧和左侧中的任意一侧或多侧显示推荐的视频。
本实施例能够在推荐与用户当前观看的视频相关的视频时,考虑用户对应的标签,即考虑用户相关信息,由此能够针对用户实现个性化推荐,从而能够提高视频推荐的效果。
根据本实施例,在一种可能的实现方式中,可以仅根据用户当前观看的视频对应的标签以及用户对应的标签确定待推荐视频以及待推荐视频的排序结果。
根据本实施例,在另一种可能的实现方式中,可以将用户当前观看的视频对应的标签、用户对应的标签与用户当前观看的视频的关键词、类型、评分等视频相关信息相结合,以确定待推荐视频以及待推荐视频的排序结果。例如,可以在已有模型的特征集合中,增加用户当前观看的视频对应的标签以及用户对应的标签,以丰富模型对应的特征,从而提高视频推荐的效果。其中,已有模型可以为相关技术中的视频推荐模型,在此不作限定。
根据本实施例,在另一种可能的实现方式中,可以在通过已有模型确定了待推荐视频以及待推荐视频的排序结果后,根据用户当前观看的视频对应的标签以及用户对应的标签对待推荐视频进行二次排序,以提高视频推荐的效果。
图2示出根据本公开一实施例的视频推荐方法步骤S13的一示例性的实现流程图。如图2所示,根据当前观看的视频对应的标签、多个待推荐视频对应标签以及用户对应的标签,对多个待推荐视频进行排序,得到排序结果,包括:
在步骤S21中,对于每个待推荐视频,分别根据当前观看的视频对应的标签、待推荐视频对应标签以及用户对应的标签,确定待推荐视频的排序值。
某一待推荐视频的排序值越大,则可以表明该用户观看该待推荐视频的可能性越大。
在步骤S22中,根据排序值对多个待推荐视频进行排序,得到排序结果。
例如,可以按照排序值由大到小的顺序对多个待推荐视频进行排序,得到排序结果。
作为本实施例的一个示例,可以采用离线的方式,按照排序值由大到小的顺序对所有待推荐视频进行排序,得到排序结果,并可以将排序结果更新到线上存储环境。
作为本实施例的另一个示例,可以采用在线的方式进行实时排序计算,按照排序值由大到小的顺序对所有待推荐视频进行排序,得到排序结果。
图3示出根据本公开一实施例的视频推荐方法步骤S21的一示例性的实现流程图。如图3所示,对于每个待推荐视频,分别根据当前观看的视频对应的标签、待推荐视频对应标签以及用户对应的标签,确定待推荐视频的排序值,包括:
在步骤S31中,对于每个待推荐视频,分别根据当前观看的视频对应的标签以及待推荐视频对应的标签确定待推荐视频的预测值。
在该示例中,对于每个待推荐视频,首先根据当前观看的视频对应的标签以及待推荐视频对应的标签确定待推荐视频的预测值。例如,可以计算当前观看的视频对应的标签与待推荐视频对应的标签的相似度,根据相似度确定待推荐视频的预测值。其中,预测值可以与相似度正相关,换言之,当前观看的视频对应的标签与待推荐视频对应的标签的相似度越大,则待推荐视频的预测值越大。
需要说明的是,本领域技术人员可以采用各种方法计算当前观看的视频对应的标签与待推荐视频对应的标签之间的相似度,本示例不对此进行限定。
在步骤S32中,根据用户对应的标签对待推荐视频的预测值进行调整,得到待推荐视频的排序值。
在该示例中,在根据当前观看的视频对应的标签以及待推荐视频对应的标签确定待推荐视频的预测值之后,根据用户对应的标签对待推荐视频的预测值进行调整。
由于对于同一批待推荐视频,不同用户对于其中各个待推荐视频的喜好程度以及更倾向的排序结果很可能不同。因此,在本示例中,根据用户对应的标签对各个待推荐视频的预测值进行调整,由此采用用户对应的标签对待推荐视频的排序进行干预,从而针对不同的用户得到不同的排序结果,进而实现视频的个性化推荐,能够提高用户体验,并能够提高视频推荐效果。
在一种可能的实现方式中,该方法还可以包括:确定用户对应的各个标签的权重。例如,某一用户观看的视频大多为电视剧,其中韩剧较多,则可以将用户观看的韩剧视频数与用户观看的视频总数的比值作为标签“韩剧”对应的权重。在该实现方式中,用户对应的各个标签具有权重信息,根据用户对应的各个标签以及用户对应的各个标签的权重对待推荐视频的预测值进行调整,能够进一步优化待推荐视频的排序值,从而进一步提高视频推荐效果。
需要说明的是,在根据当前观看的视频对应的标签、多个待推荐视频对应标签以及用户对应的标签训练模型时,可以采用有度量值[0,1]描述标签,或者可以采用无度量值描述标签。其中,采用有度量值[0,1]描述标签可以为,根据标签的权重在区间[0,1]中确定标签对应的特征值,其中,标签的权重可以通过模型训练得到。采用无度量值描述标签可以为,当视频或者用户不包括该标签时,视频或者用户对应的该标签的特征值为0;当视频或者用户包括该标签时,视频或者用户对应的该标签的特征值为1。另外,模型训练可以采用离线的方式,也可以采用在线的方式,在此不作限定。
图4示出根据本公开一实施例的视频推荐方法步骤S32的一示例性的实现流程图。如图4所示,根据用户对应的标签对待推荐视频的预测值进行调整,得到待推荐视频的排序值,包括:
在步骤S41中,计算用户对应的标签与待推荐视频对应的标签的相似度。
需要说明的是,本领域技术人员可以采用各种方法计算用户对应的标签与待推荐视频对应的标签之间的相似度,本示例不对此进行限定。
在一种可能的实现方式中,计算用户对应的标签与待推荐视频对应的标签的相似度,包括:计算用户对应的标签与待推荐视频对应的标签在相同层的相似度。例如,某一待推荐视频的标签A3为第三层标签,用户对应的标签B2为第二层标签,则可以先确定第三层标签A3对应的第二层标签A2,再计算第二层标签A2与第二层标签B2的相似度,并可以将第二层标签A2与第二层标签B2的相似度确定为第三层标签A3与第二层标签B2的相似度。
在步骤S42中,根据相似度对待推荐视频的预测值进行调整,得到待推荐视频的排序值。
在一种可能的实现方式中,在计算用户对应的标签与待推荐视频对应的标签的相似度之后,该方法还包括:在相似度大于第一预设值且小于1的情况下,对待推荐视频增加用户对应的标签,其中,第一预设值大于或等于0且小于1。在该实现方式中,若用户对应的标签与待推荐视频对应的标签的相似度大于第一预设值且小于1,则可以表明用户对应的标签与待推荐视频对应的标签的相似度较高,且用户对应的标签与待推荐视频对应的标签不同,在这种情况下,对待推荐视频增加用户对应的标签,以丰富待推荐视频的标签,从而有利于后续的视频推荐。
图5示出根据本公开一实施例的视频推荐方法步骤S42的一示例性的实现流程图。如图5所示,根据相似度对待推荐视频的预测值进行调整,得到待推荐视频的排序值,包括:
在步骤S51中,确定预测值对应的权重以及相似度对应的权重。
在该示例中,在根据用户对应的标签与待推荐视频对应的标签之间的相似度对待推荐视频的预测值进行调整时,需要确定预测值对应的权重以及相似度对应的权重。需要说明的是,本领域技术人员可以根据应用场景的实际需求设置预测值对应的权重的大小与相似度对应的权重的大小。相似度对应的权重越大,则用户对应的标签对待推荐视频的排序的影响越大。
在步骤S52中,根据预测值、预测值对应的权重、相似度以及相似度对应的权重确定待推荐视频的排序值。
例如,S=Q1×R+Q2×C,其中,S表示待推荐视频的排序值,R表示预测值,Q1表示预测值对应的权重,C表示相似度,Q2表示相似度对应的权重。
实施例2
图6示出根据本公开另一实施例的视频推荐装置的结构框图。图6所示的装置可以用于运行图1至图5所示的视频推荐方法。为了便于说明,在图6中仅示出了与本实施例相关的部分。
如图6所示,该装置包括:第一标签确定模块61,用于确定用户当前观看的视频对应的标签;待推荐视频确定模块62,用于根据当前观看的视频对应的标签确定多个待推荐视频;排序模块63,用于根据当前观看的视频对应的标签、多个待推荐视频对应标签以及用户对应的标签,对多个待推荐视频进行排序,得到排序结果;视频推荐模块64,用于根据排序结果对多个待推荐视频进行推荐。
图7示出根据本公开另一实施例的视频推荐装置的一示例性的结构框图。图7所示的装置可以用于运行图1至图5所示的视频推荐方法。为了便于说明,在图7中仅示出了与本实施例相关的部分。图7中标号与图6相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。如图7所示:
在一种可能的实现方式中,排序模块63包括:第一排序值确定子模块631,用于对于每个待推荐视频,分别根据当前观看的视频对应的标签、待推荐视频对应标签以及用户对应的标签,确定待推荐视频的排序值;排序子模块632,用于根据排序值对多个待推荐视频进行排序,得到排序结果。
在一种可能的实现方式中,第一排序值确定子模块631包括:预测值确定子模块,用于对于每个待推荐视频,分别根据当前观看的视频对应的标签以及待推荐视频对应的标签确定待推荐视频的预测值;第二排序值确定子模块,用于根据用户对应的标签对待推荐视频的预测值进行调整,得到待推荐视频的排序值。
在一种可能的实现方式中,第二排序值确定子模块包括:相似度计算子模块,用于计算用户对应的标签与待推荐视频对应的标签的相似度;第三排序值确定子模块,用于根据相似度对待推荐视频的预测值进行调整,得到待推荐视频的排序值。
在一种可能的实现方式中,第三排序值确定子模块包括:权重确定子模块,用于确定预测值对应的权重以及相似度对应的权重;第四排序值确定子模块,用于根据预测值、预测值对应的权重、相似度以及相似度对应的权重确定待推荐视频的排序值。
在一种可能的实现方式中,标签包括多层。
在一种可能的实现方式中,相似度计算子模块包括:相同层相似度计算子模块,用于计算用户对应的标签与待推荐视频对应的标签在相同层的相似度。
在一种可能的实现方式中,该装置还包括:标签增加模块65,用于在相似度大于第一预设值且小于1的情况下,对待推荐视频增加用户对应的标签,其中,第一预设值大于或等于0且小于1。
通过确定用户当前观看的视频对应的标签,根据当前观看的视频对应的标签确定多个待推荐视频,根据当前观看的视频对应的标签、多个待推荐视频对应标签以及用户对应的标签,对多个待推荐视频进行排序,得到排序结果,并根据排序结果对多个待推荐视频进行推荐,由此能够在推荐与用户当前观看的视频相关的视频时,考虑用户对应的标签,从而能够提高视频推荐的效果。
实施例3
图8是根据一示例性实施例示出的一种用于视频推荐的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图8,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述视频推荐方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作***,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非易失性计算机可读存储介质,例如包括指令的存储器1932,上述指令可由装置1900的处理组件1922执行以完成上述方法。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。