具体实施方式
通过研究发现,在实际应用中,尽管不同展示场景的展示需求在整体上各不相同,但是某些场景之间或多或少都会存在部分相同的展示需求。以电商平台为例:假设存在商品列表展示场景A、B、C,展示需求涉及:“数据源”和“排序规则”两部分,具体如表1所示:
场景 |
数据源 |
排序规则 |
A |
商品数据库1 |
排序规则1 |
B |
商品数据库1 |
排序规则2 |
C |
商品数据库2 |
排序规则2 |
表1
可见,尽管3种展示场景的展示需求不同,但是在局部仍然存在相同的部分,例如场景A和场景B使用的数据源相同、场景B和场景C使用的排序规则相同。根据现有技术的实现方式,需要开发人员分别针对场景A、B、C编写展示逻辑。后续如果多个场景的展示需求发生了统一的变化(例如将场景B和场景C的排序规则统一调整为“排序规则3”),则需要分别重写场景B和场景C的展示需求逻辑。不仅消耗了额外的开发和维护成本,而且重复的展示需求逻辑还会导致浪费存储空间等问题。另外,由于展示需求逻辑分散在各个前端页面的展示代码中,也不利于统一维护管理。并且,可以理解的是,随着场景的增加和展示需求的复杂化,上述问题会变得更加严重。
针对上述问题,本申请提出的方案是:将完整的展示需求拆分成若干个维度,每个维度用于描述展示需求在某一方面的具体特征;同时开发一套通用的展示方案库,在该库中,每个展示方案(对应展示需求)都是由若干个配置项(对应描述特征)构成。
以表1所示为例,每个展示方案均由“数据源”、“排序规则”2个配置项构成。分别对这2个配置项赋值,就可以形成一个完整的展示方案。例如令“数据源=商品数据库1”、“排序规则=排序规则1”,就形成了场景A的展示方案。
与现有技术相比,本申请所提供的技术方案至少具有以下优势:
首先,将“配置项”作为展示方案的最小存储单元,针对每个配置项可以对应存储多种具体配置内容,从而可以根据实际需求更灵活地组装出满足各种需求的展示方案。
其次,同一具体配置内容可以被不同的展示方案复用,从而有效降低增加场景所带来的开发和维护成本,还可以避免存储重复的内容,节省存储空间占用。
再次,所有展示方案都集中存储在展示方案数据库中,而不是分散在不同的应用或不同的页面中,有利于对所有展示方案的统一维护管理。
为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
图1所示,为本申请提供的数据对象展示方案的场景架构示意图,该系统包括:前端系统100、展示方案管理系统200、数据对象存储系统300。
前端系统100,直接与用户侧交互,负责接收用户的各种操作请求,对页面进行渲染及展示。在本申请中,前端系统100中可以不包含展示需求逻辑,当需要执行展示操作时,将展示场景的特征上报给展示方案管理系统200、然后根据展示方案管理系统200返回的展示方案来执行展示操作。
需要说明的是,图1中所示的100仅用于从功能上区分于场景架构中的其他部分,在实际应用中,前端系统可以包括多个,例如不同APP的分别对应不同的前端系统、不同的网站分别对应不同前端系统、等等。每个前端系统中可能包含一个或多个展示场景。
展示方案管理系统200,根据前端系统100上报的展示场景特征,在展示方案库中查找与该特征对应的展示方案,并且将查找结果返回至前端系统100。以使得前端系统100根据所返回的展示方案进行展示。
如图1所示,展示方案管理系统200,从逻辑上又可以进一步划分为展示场景接口层2001、展示方案调用层2002、展示方案库2003。
展示场景接口层2001直接与前端系统100交互,负责接收前端系统100上报的展示场景特征,并且进一步上传给展示方案调用层2002。展示方案调用层2002根据该特征,从展示方案库2003调用与该特征对应的展示方案,并且将展示方案返回展示场景接口层2001,由展示场景接口层2001将展示方案进一步返回至前端系统100。
关于展示方案库2003中展示方案的具体数据结构及存储方式,将在后面的实施例中详细说明。
数据对象存储系统300,用于存储展示所需的源数据对象,根据实际需要,数据对象可以采用分库、分表等存储方式,这些并不影响本申请方案的实现。
以上介绍了本申请数据对象展示方案的基本场景架构。需要说明的是,在实际应用中,“根据展示方案的进行展示”的操作不仅限于全部在前端系统100执行,其中的一部分也可以在展示方案管理系统200执行。例如:在展示方案中指定了该方案源数据对象,则源数据对象的读取操作,既可以在前端系统100执行,也可以在展示方案管理系统200执行、然后将读取结果发送至前端系统100。即前端系统100和展示方案管理系统200都可以具备从数据对象存储系统300中读取数据的功能。
下面进一步对本申请方案中的“展示方案”的数据结构和存储方式进行说明。
本申请方案将完整的展示需求拆分成若干个维度,每个维度用于描述展示需求在某一方面的具体特征,这里的维度可以包括:使用哪些源对象数据、使用何种排序规则、以何种样式排版展现、等等。也就是说,每个展示方案都可以通过对若干个特征进行“配置”得到。为描述方便,在本申请中,将每个用于描述展示需求的特征称为一个“配置项”,即每个展示方案都是由若干配置项构成,如表2所示:
方案 |
配置项1 |
配置项2 |
配置项3 |
1 |
配置值 |
配置值 |
配置值 |
2 |
配置值 |
配置值 |
配置值 |
3 |
配置值 |
配置值 |
配置值 |
…… |
…… |
…… |
…… |
表2
可见,在本申请中,展示方案实际上是以结构化的形式进行存储,所有的方案都具有统一的配置项,不同的配置值则区分出了不同的方案。具体的配置项可以根据实际需求进行设计,一般可以包括以下几类:
展示场景特征配置项:用于指定方案所适用的展示场景,实际应用可能存在一个或多个展示场景特征配置项,由于本申请方案是根据展示场景来选对应的展示方案,因此也可以将该配置项也理解为展示方案的索引字段。
输入配置项:用于指定方案所使用的源数据对象,例如在进行商品信息列表展示时,指示使用哪个商品数据库的数据进行展示。
输出配置项:用于指定方案的展示效果,具体可以包括排序策略配置项、筛选策略配置项、展示样式配置项、等等。例如在进行商品信息列表展示时,使用什么排序规则,具体显示商品信息数据的哪些字段、各字段之间如何排版、等等。
除以上三个基本配置项之外,还可以包括其他类型的配置项,例如优先级配置项,可以在场景特征匹配到多条展示方案的情况下,确定展示方案的选取优先级。
实际应用中,例如排序策略、筛选策略、展示样式等配置项,都涉及比较复杂的逻辑。在一种具体实施方式中,可以创建新的数据表来存储这些复杂的逻辑,这种情况下,表1中“配置值”的具体形式可以不是实体信息(例如具体的规则),而是一个标识的形式,利用该标识可以在其他存储位置唯一确定一个实体信息类型的配置值。
参见图2所示,本申请提供一种展示方案的存储结构,应用于上述的展示方案库2003,该结构可以从逻辑上划分为两个层次:
描述信息存储模块201,存储有至少一个数据对象展示方案,每一展示方案由多个配置项构成,每个配置项配置值可以是实体信息类型的配置值,如图2所示的“配置项1”,例如直接写入排序规则的具体逻辑;也可以是标识类型的配置值,每个标识可以唯一确定在存储模块中202存储的一个配置值;如图2所示的“配置项2”和“配置项3”。需要说明的是,在某些情况下,同一配置项既可以使用实体信息类型的配置值、也可以使用标识类型的配置值、甚至两者混用,图2所示的情形不应理解为对本申请方案的限定。
配置信息存储模块202,存储有对应于不同配置项的实体信息类型的配置值,每个配置项具有一种或多种配置值,如图2所示,“配置项2”具有4种配置值,“配置项3”具有3种配置值。并且,且每种配置值可被不同的展示方案复用。例如,同一排序规则可以被不同的展示方案所复用。这样,在开发新场景时,可以直接使用已经编写好的各种配置信息,从而有效降低增加场景所带来的开发和维护成本。还可以避免存储重复的内容,节省存储空间占用。
此外,由于所有展示方案都集中存储在展示方案数据库中,而不是分散在不同的应用或不同的页面中,有利于对所有展示方案的统一维护管理。特别地,如果采用如图2所示的分层存储结构,则一些涉及具体配置值的调整操作可以一次性在配置信息存储模块202完成,并且对所有复用该配置值的方案都生效,避免在描述信息存储模块201对方案逐项进行调整,从而进一步提升维护管理的便捷性。
图3所示为本申请展示方案存储结构的另一种结构示意图,与图2相比,进一步增加了全局调整策略存储模块203,其作用是存储对展示方案中一个或多个配置项的全局调整策略;全局调整策略在优先级上高于描述信息存储模块201中的存储的每个展示方案,并且对每个展示方案均产生影响。可以用来实现普通展示方案外的特殊展示逻辑,进一步提高展示方案的配置灵活性。
例如,如果需要在整体运营层面对展示效果进行干预,例如强制置顶、强制过滤某些信息、设置对源数据对象的数据读取量、设置对多个源数据对象的读取优先级等等,则可以预先为对应的配置项配置调整策略。在展示阶段,根据场景特征选取展示方案之后,首先判断是否存在对展示方案中一个或多个配置项的全局调整策略;如果存在,则根据所述全局调整策略,对所选取的展示方案进行调整,后续根据调整后的方案进行展示。
基于上述的展示方案的数据结构和存储方式,本申请还提供相应的数据对象展示方法,参见图4所示,该方法可以包括以下步骤:
S101,确定数据对象展示场景的至少一种特征;
这里的“展示场景”,可以是一个APP页面或者网站页面,因此可以以当前待显示页面的某种特征作为展示场景的特征,例如待显示页面ID、待显示页面所属应用的ID,等等。
在实际应用中,决定展示场景可能的并不仅限于页面本身的特征。例如,对于某个确定的页面,如果存在对不同用户的展示需求(利用使用不同的排序策略等等),则“用户特征”也可以作为展示场景的特征。这里的用户特征可以是用户名、用户ID、用户性别、甚至用户的历史行为信息等等。此外,例如时间特征、地域特征等,都可能会对展示场景产生影响。本申请对具体使用的哪些展示场景特征并不进行限定。
S102,根据所确定的场景特征,从展示方案集合中,选取与该场景特征匹配的展示方案;
根据前面的实施例可知,“展示场景特征”是展示方案的配置项之一,用于指定方案所适用的展示场景。在本步骤中,根据S102所确定的特征,在展示方案库中查找具有相应的“展示场景特征配置项”配置值的方案。
根据本申请方案,由于使用的场景特征类型、数量不同,因此可能会出现的情况的是:匹配到多个符合当前场景特征的展示方案,这种情况下,可以根据预设的策略从多个匹配的展示方案中选择一个,例如随机选择其中一个,或者选取被使用频率最高的一个,等等。在一种实现方式中,可以在展示方案的配置项中添加一个“优先级配置项”,并为每个展示方案设置优先级配置值,这样,当场景特征匹配到多条展示方案时,就可以根据各个方案的优先级配置值来确定当前应选取哪个展示方案。
本申请方案中,“可以匹配到多个符合当前场景特征的展示方案”这一特性,还可以进一步应用对展示场景的A/B/……/n测试需求。具体而言,针对某个展示场景特征,预先配置n个不同的展示方案,并且从整体上控制每种展示方案被选择的比例,从而实现展示方案的A/B/……/n测试。
例如,对于给定页面X,预先配置两套展示方案A和B,并且通过“用户类型”配置项来限定两种方案的选择条件,例如配置:当用户ID尾号为奇数时,触发选择方案A;当用户ID尾号为偶数时,触发选择方案B。这样,在页面X被显示时,方案A和方案B会以基本相同的概率被推送到不同的用户群体。如果在页面X上提供用户意见反馈的功能,就可以搜集不同用户群体的反馈意见,从而实现页面X展示方案的A/B测试。
当然,在实际应用中,“是否需要A/B/……/n测试”本身也是可配置的,在选取展示方案之前,可以判断当前是否需要进行A/B/……/n测试,如果是则按照测试策略选取展示方案,否则按照常规策略选取展示方案。上述判断可以通过设置不同的页面特征实现,也可以通过配置全局调整策略实现,本申请对具体的实现方式不做限定。
在一种具体实施方式中,如果展示方案库中包括如图3所示的双层存储结构,则需要将描述信息存储模块201中标识类型的配置值转换为实体信息类型配置值,以形成完整的展示方案。可以理解的是,上述“转换”是通过查询描述信息存储模块201实现,这里不再详细说明。
在另一种具体实施方式中,如果展示方案库中包括如图3所示的全局调整策略存储模块203,则在选取展示方案之后,首先判断是否存在对展示方案中一个或多个配置项的全局调整策略;如果存在,则根据所述全局调整策略,对所选取的展示方案进行调整。
S103,根据所选取的展示方案,以指定的展示效果对指定的源数据对象进行展示输出。
如图1所示,展示方案管理系统200确定展示方案后,可以将方案返回至前端系统100,前端系统100根据方案的输入配置项,从数据对象存储系统300读取指定的源数据对象,并根据输出配置项指定的展示效果对所读取的源数据对象进行展示输出。
在另一种实施方式中,也可以由展示方案管理系统200根据方案从数据对象存储系统300读取指定的源数据对象,将展示方案和源数据对象读取结果提供至前端系统100,再由前端系统100根据输出配置项指定的展示效果对所读取的源数据对象进行展示输出。
此外,还可以预先针对集合中的展示方案,根据输入配置项读取指定的源数据对象,并根据输出配置项生成用于展示输出的准备数据并缓存在本地。确定展示方案后,可以直接读取展示方案对应的、预先缓存的准备数据,并根据读取结果进行展示输出。
例如,展示方案管理系统200针对每种展示方案,可以预先根据输入配置项读取源数据,并根据输出配置项完成排序、过滤等操作,作为准备数据缓存在本地。确认展示方案后,展示方案管理系统200直接读取对应的准备数据,将展示方案和准备数据提供至前端系统100,由于部分展示操作(排序、筛选等)已经提前完成,因此前端系统100仅需根据展示方案完成一些显示渲染方面的操作,例如根据样式模板进行展示等等。
下面结合一个具体的应用实例,对本申请方案进行示意性的说明。该实例的具体应用于金融产品的销售和服务平台,主要需求包括以下几个面:
由于不同用户的经济实力、风险承受能力等各不相同,因此需要基于用户自身特征,向用户推荐个性化的金融产品信息列表;
由于用户访问平台的渠道包括不同应用、网站等等,分别需要不同的页面展示样式。
能够在整体上提供对推荐结果的灵活决策和干预能力,例如增加强制置顶、强制过滤等特殊逻辑。
能够提供展示方案的AB验证和数据回流优化的能力,以实现推荐—效果—优化的流程闭环。
根据本申请方案,基于上述需求,提供一种具体的金融产品信息展示系统,基本设计架构如图5所示,具体说明如下:
展示场景:对应于图1所示的前端系统100中,具体包括“聚宝APP”、“支付宝钱包”、“聚宝中间页”等等;
接入业务:对应于图1所示的数据对象存储系统300,包括“余额宝”、“定期”、“基金”、“证券”、“聚宝社区”等多种金融产品的数据库。
核心能力:即展示方案管理系统的核心能力,本申请将金融产品列表的展现方案拆分为“人群配置”“策略配置”“产品池配置”和“模板配置”四个维度,同时提供全局调整策略以实现运营干预。
人群配置:支持配置实时规则运算的实时人群,以及基于离线数据计算的离线人群。在运营干预方面,支持基于方案维度的人群分桶和切流,进行方案的A/B验证。
产品池配置:支持通过文件上传导入产品,也支持通过接口获取接入产品数据,并进行产品的更新同步。在运营干预方面,支持不同产品池的展现数量权重配置。
策略配置:实现数据推荐策略的接入,包括按照固定的规则,或者推荐模型进行金融产品的排序展示。在运营干预方面,支持对特定的金融产品进行置顶或过滤。
模板配置:实现产品展示要素和布局的管理,展示要素的数据来源产品自身的属性,或者产品的一些外部关联的数据,如销售数据等。布局主要指展现要素的摆放位置和样式。布局展示的展现要素和布局均支持运营干预。
例如,针对“支付包钱包”的展示场景,要求类型A和类型B的用户分别看到不同的个性化金融产品展示结果:则可以配置如图6所示的两种展示方案,其中:
对于用户类型A;策略配置为策略1、2、3、4;产品池配置为产品A、B、C、D,模板配置为模板样式A;
对于用户类型B;策略配置为策略1、2、3、4;产品池配置为产品D、E、F、G,模板配置为模板样式B;
展示方案配置完成后,展示方案管理系统将所有方案的产品池基于排序规则完成排序,并准备好结果进行缓存;前端系统在渲染页面时,将页面场景码、以及当前访问页面用户的UID上传至展示方案管理系统;
展示方案管理系统根据场景码以及用户UID,查找匹配的展示方案,并且获取与展示方案对应的预先准备好的结果。(匹配人群的时候同时查询是否有AB方案,若有则按照设定的人群分桶进行AB方案分配),然后根据全局调整策略,对产品结果进行调整,具体可以包括产品信息置顶、产品有效性的校验和过滤等等,同时对匹配到的展示方案也进行调整。最后将调整后的产品结果和关联的产品模板同时返回给前端系统。
前端根据展现模板的样式渲染页面、抓取产品模板需要获取的字段,对产品结果进行展示,图7示出了一种金融产品推荐列表展示效果的示意图。
可以理解的是,除了应用于金融产品信息列表展示之外,本申请方案还可以用于各类具有多样化数据对象展示需求的场景,例如购物网站的商品展示、火车/飞机班次展示、搜索结果展示等等,因此上述应用实例仅用于示意性说明,不应理解为对本申请方案应用场景的限制。
相应于上述方法实施例,本申请还提供一种数据对象展示装置,参见图8所示,该装置可以包括:
场景特征确定模块110,用于确定数据对象展示场景的至少一种特征;
展示方案选择模块120,用于根据所确定的场景特征,从展示方案集合中,选取与该场景特征匹配的展示方案;
展示输出模块130,用于根据所选取的展示方案,以指定的展示效果对指定的源数据对象进行展示输出。
参见图9所示,本申请所提供的数据对象展示装置还可以包括展示方案调整模块140,用于在选取展示方案之后,判断是否存在对展示方案中一个或多个配置项的全局调整策略;如果是,则根据全局调整策略,对所选取的展示方案进行调整。
在一种具体实施方式中,展示输出模块130可以具体用于:确定展示方案后,根据输入配置项读取指定的源数据对象,并根据输出配置项对指定的源数据对象进行展示输出。
如图9所示,在另一种具体实施方式中,数据对象展示装置还包括准备数据生成模块150,用于预先针对集合中的展示方案,根据输入配置项读取指定的源数据对象,并根据输出配置项生成用于展示输出的准备数据;
相应地,展示输出模块130可以具体用于:确定展示方案后,读取与展示方案对应的准备数据,并根据读取结果进行展示输出。
可以理解的是,展示方案调整模块140与准备数据生成模块150作为两种功能独立的模块,既可以如图9所示同时配置在装置中,也可以分别单独配置在装置中,因此图9所示的结构不应理解为对本申请方案的限定。
参见图10所示,本申请还提供一种数据对象展示方案存储装置,该装置可以包括:调用接口模块210、描述信息存储模块220和配置值存储模块230;
描述信息存储模块210中,存储有至少一个数据对象展示方案,每一展示方案由多个配置项构成,展示方案的配置项至少可以包括:展示场景特征配置项、用于指定源数据对象的输入配置项、以及用于指定展示效果的输出配置项;配置项的配置值为:实体信息类型的配置值或者标识类型的配置值,每个标识指向配置值存储模块中存储的一个配置值;
配置信息存储模块220中,存储有对应于不同配置项的实体信息类型的配置值,每个配置项具有一种或多种配置值;
调用接口模块230,根据展示方案调用方提供的场景特征,从描述信息存储模块中选取与该场景特征匹配的展示方案,并将方案中的标识类型配置值转换为实体信息类型配置值,将转换后得到的展示方案返回至展示方案调用方。
参见图11所示,本申请所提供的数据对象展示方案存储装置还可以包括全局调整策略存储模块240,用于存储对展示方案中一个或多个配置项的全局调整策略;
相应地,调用接口模块230,还用于根据全局调整策略存储模块中的存储的全局调整策略,对所选取的展示方案进行调整。
本实施例中,描述信息存储模块210、配置信息存储模块220及全局调整策略存储模块240均与图2、图3所示的展示方案存储结构中的同名模块一致。而调用模块230的功能则相当于图1所示的展示方案调用层,具体的描述可参见前面的实施例,这里不再重复说明。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的数据对象展示方法。该方法至少包括:
确定数据对象展示场景的至少一种特征;
根据所确定的场景特征,从展示方案集合中,选取与该场景特征匹配的展示方案;
根据所选取的展示方案,以指定的展示效果对指定的源数据对象进行展示输出。
图12示出了本申请所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的数据对象展示方法。该方法至少包括:
确定数据对象展示场景的至少一种特征;
根据所确定的场景特征,从展示方案集合中,选取与该场景特征匹配的展示方案;
根据所选取的展示方案,以指定的展示效果对指定的源数据对象进行展示输出。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本申请方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。