一种动态搜索方法、装置、设备及介质与流程

文档序号:18414373发布日期:2019-08-13 19:09阅读:171来源:国知局
一种动态搜索方法、装置、设备及介质与流程

本申请涉及计算机技术领域,尤其涉及一种动态搜索方法、装置、设备及介质。



背景技术:

现有技术中,常需要从海量数据中查询搜索感兴趣的数据,例如从文档库中查询感兴趣的文档或文档字段。目前的搜索算法是固化在代码里,如需调整则要通过发版来解决,不仅调整周期长,且调整工作量大。

有鉴于此,需要更有效和更高效的搜索方案。



技术实现要素:

本说明书实施例提供一种动态搜索方法、装置、设备及介质,用以解决如何更有效和更高效的进行搜索的技术问题。

为解决上述技术问题,本说明书实施例是这样实现的:

本说明书实施例提供一种动态搜索方法,包括:

将用户账户与搜索算法进行匹配;

当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

确定搜索算法的搜索结果是否符合预设条件;

对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法,确定所述替代搜索算法的搜索结果是否符合预设条件;

若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

本说明书实施例提供一种动态搜索装置,包括:

匹配模块,用于将用户账户与搜索算法进行匹配;

搜索模块,用于当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

第一评价模块,用于确定搜索算法的搜索结果是否符合预设条件;

搜索配置模块,用于对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法;

第二评价模块,用于确定所述替代搜索算法的搜索结果是否符合预设条件;

搜索调整模块,用于若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

本说明书实施例提供一种动态搜索设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

将用户账户与搜索算法进行匹配;

当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

确定搜索算法的搜索结果是否符合预设条件;

对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法,确定所述替代搜索算法的搜索结果是否符合预设条件;

若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:

将用户账户与搜索算法进行匹配;

当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

确定搜索算法的搜索结果是否符合预设条件;

对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法,确定所述替代搜索算法的搜索结果是否符合预设条件;

若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过用户账号与搜索算法的匹配,能够为用户账号配置合适的搜索算法,实现了各个用户账号搜索的独立性,提高了搜索的多样性和准确性;对搜索算法的搜索结果进行评价,对于不符合预设条件的搜索算法,通过算法语句配置替代搜索算法,从而将搜索算法配置独立成为一个服务,即将算法和代码解耦,实现了搜索算法的动态配置,提高搜索准确性,降低搜索算法的开发工作量,提高搜索效率。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本说明书第一个实施例中动态搜索方法的流程示意图。

图2是本说明书第一个实施例中分桶以及搜索算法的配置示意图。

图3是本说明书第一个实施例中场景下的分桶以及分桶配置示意图。

图4是本说明书第一个实施例中由客户端发起搜索的处理示意图。

图5是本说明书第二个实施例中动态搜索装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

实施例一

如图1所示,本说明书第一个实施例提供了一种动态搜索方法,包括:

s101:将用户账户与搜索算法进行匹配。

在本实施例中,搜索事件的场景可以有多种,场景代表一类搜索的共同入口,例如对于电子书内容的搜索,对于专题活动的搜索,对于网络课程的搜索等等,都可以作为场景。当然,也可以新建或更改或删除场景。

其中,搜索算法(例如elasticsearch搜索引擎执行的搜索算法)是以算法语句配置的方式存在于配置平台中,将需要后端传入的参数进行预留,通过前台页面将语句配置到数据库中。算法语句配置可以看作方案,方案即为具体到要被elasticsearch进行解析的查询语句,其可以包含多种算法规则,包括但不限于排序算法规则,高亮规则,打分规则等。

在本实施例中,可以划分出一个或多个分桶(一般是多个分桶,hive分桶),每个分桶可以对应有搜索算法(搜索算法的配置如上所述,下同),各个分桶对应的搜索算法可以相互不同,即各个分桶可以对应有不同的算法策略。每个场景下都可以有一个或多个分桶。搜索算法语句可以是基于场景和桶的es查询语句,其配置在数据库中,并有专门的管理页面进行管理。每个算法语句都是一个json,其中两个主要模块是query和highlight,分别负责查询和高亮,在其中是一些嵌套的json配置,用于根据业务场景配置对特定字段的搜索以及加分策略、排序策略等。分桶以及搜索算法的配置可以如图2所示。

下面是搜索算法配置举例,其主要分为query和highlight两个部分,一个是查询部分一个是高亮部分,其中<字段名>是在各个业务中的字段名称,例如title,content等,其中的analyzer代表对搜索的内容进行处理的分析器,其可能包含一系列操作,例如字符处理,分词,词语处理等,{{.query}}代表实际用户传入的搜索内容。

由上可知,修改搜索算法语句可以得到新的搜索算法。

本实施例中,可以根据用户id(identity,身份识别号码)将不同的用户账号分到不同的分桶中。将用户账号分到分桶中的方法包括但不限于:哈希法或白名单法。比如对于某分桶,在该分桶中配置一个0-99的区间(例如0-49),则将用户id对100取余,若取余后的数值该区间中就会对应或分到该分桶,比如某用户id对100取余后为20,则该用户会对应或分到该分桶;或者可以设置名单,名单上记载什么样的用户id或哪些会使用哪个分桶;或者,也可以确定其他的规则,比如分析用户id的特征或属性,然后根据用户id的特征或属性将用户id与分桶进行对应。如图3所示,可以有不同的场景(例如“发现栏”搜索场景或“课程内容”搜索场景),每个场景下可以有一个或多个分桶,每个分桶的配置可以从mysql读取。

通过分桶,就可以将用户id与分桶进行对应(即确定用户账户与分桶的对应关系),而前述已经说明各个分桶对应有搜索算法(即分桶与搜索算法的对应关系),因而就可以将用户id与搜索算法对应起来,即根据上述对应关系可以将用户账户与搜索算法进行匹配,从而根据用户id(也可以同时考虑场景)来获取与其匹配的被配置的算法语句(即搜索算法),然后使用语句与es进行请求获取搜索结果。

s102:当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法。

本实施例中,何为触发搜索事件可以根据需要设置,例如,用户使用终端上的应用程序进行数据搜索,应用程序对应有服务器,可以把服务器接收到终端发送的搜索请求视为触发搜索事件。通过用户账号(用户账号代表用户)在应用程序上的登录,服务器可以确定触发搜索事件的用户账号。例如,在某次搜索事件中,用户账号a搜索“十万个为什么”;服务器可以确定用户账号a对应的分桶,并得到用户账号a所匹配的搜索算法,然后用户账号a的搜索请求会分到用户账号a对应的分桶中;服务器执行用户账号a所匹配的搜索算法,对用户账号a的搜索请求进行处理并向用户终端返回搜索结果。

s103:确定搜索算法的搜索结果是否符合预设条件。

在本实施例中,可以对搜索算法的搜索结果进行评价,确定搜索算法的搜索结果是否符合预设条件,例如可以根据埋点日志确定搜索算法的搜索结果是否符合预设条件。具体的,在返回搜索结果后,可以对搜索结果进行埋点操作,并对用户的点击行为进行收集,根据用户的点击行为形成确定搜索评价指标,根据所述搜索评价指标确定搜索结果是否符合预设条件;搜索评价指标包括但不限于搜索准确率、点击率、错误率等,可以形成有关这些指标的报表。

准确率的含义如下:

假设有60个正样本,40个负样本,在搜索时要找出所有的正样本,而实际搜索出50个,其中只有40个是真正的正样本。

tp:将正类预测为正类数40;

fn:将正类预测为负类数20;

fp:将负类预测为正类数10;

tn:将负类预测为负类数30;

准确率(accuracy)=预测正确数/总数=(tp+tn)/(tp+fn+fp+tn)=70%

对于准确率的判断是可以先进行人工标注然后使用上述公式进行计算。错误率和准确率相对。样本可以对于实际的文档、文章等搜索对象。

点击率含义如下:

点击率为搜索结果中被用户点击的概率即用户的搜索次数/用户点击搜索结果的次数,这个指标可以通过埋点确定。

对于每种搜索算法,可以设置有关搜索准确率和/或点击率和/或错误率等的阈值,若搜索算法的搜索结果的指标满足阈值,比如实际搜索准确率高于搜索准确率阈值和/或实际错误率低于错误率阈值和/或点击率高于点击率阈值,则可以确定搜索算法的搜索结果满足预设条件。

在本实施例中,确定某种搜索算法的搜索结果是否符合预设条件可以是针对该种搜索算法执行的单次搜索事件的搜索结果,也可以是针对预设时长(例如24小时)内该种搜索算法执行的所有搜索事件的搜索结果,和/或,可以针对该种搜索算法执行的预设次数(例如某日内前10次)的搜索事件的搜索结果。

对于使用中的搜索算法,即与分桶存在对应关系且对应关系尚在生效中的搜索算法,都可以确定每种使用中的搜索算法的搜索结果是否符合预设条件,但是不同搜索算法的预设条件可以不同,例如不同搜索算法的搜索正确率阈值可以不同。

上述流程可以参见图4。

s104:对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法,确定所述替代搜索算法的搜索结果是否符合预设条件。

既然可以确定搜索算法的搜索结果是否符合预设条件,那么对于搜索结果不符合预设条件的搜索算法,就可以采取处理措施。

在本实施例中,对于搜索结果不符合预设条件的搜索算法,可以利用算法语句配置其对应的替代搜索算法。根据前述,搜索算法是以配置的方式存在于配置平台中,所以可以十分方便的在配置平台中进行修改并生效,故对于搜索结果不符合预设条件的搜索算法,可以通过修改配置得到其对应的替代搜索算法。例如可以调整es的查询语句,其中有影响召回的部分,即必须满足某些条件才能召回和影响权重的部分,可以修改这些语句,对一个算法json中的query模块下的某部分进行调整或者增加一个搜索条件部分,从而形成替代搜索算法,解决不符合预设条件的问题。

举例来说,搜索结果不符合预设条件的表现可能是召回问题,例如文章或书籍搜索不到,例如搜索《史蒂芬·霍金传》,使用“史蒂芬霍金”搜索不到;或者当用户搜索“儿童心理”,有一篇文章标题中包含了心理,在正文中包含了儿童,用户希望能看到这篇文章被召回,但实际这篇文章却没有被召回。对于召回问题,可以增加一个搜索条件"type":"cross_fields"意味着其可以跨越字段搜索,从而形成替代搜索算法。

搜索结果不符合预设条件的表现也可能是排序问题,即返回的搜索结果各条结果排序不合理,例如某篇与搜索关键词明显十分相关的书籍或文章排序靠后;或者例如一般来说更看重搜索关键词与标题或摘要的匹配,正文次之,那搜索结果中标题中出现了某个词的文章排在正文中出现该词的文章后面,则意味着出现了排序问题。可以采取的方式包括可以在对标题或摘要的搜索条件中增加权重,修改boost使得标题或摘要与搜索关键词匹配的文章排名更靠前,从而形成替代搜索算法。

上面举例说明了替代搜索算法的确定,实际场景中,如何修改配置语句还可以基于业务考虑和/或es的搜索语法和/或其他方面。

在本实施例中,假设已有的任一分桶(不妨记为分桶b)对应的搜索算法的搜索结果不符合预设条件,就可以确定分桶b对应的搜索算法的替代搜索算法,然后新增分桶(不妨记为分桶x),新增分桶x使用替代搜索算法(即与替代搜索算法对应)。可以确定分桶x对应的替代搜索算法的搜索结果是否符合预设条件,确定替代搜索算法的搜索结果是否符合预设条件的方式可以同s103。在确定替代搜索算法的搜索结果是否符合预设条件可以采用自测的方式,即先不将替代搜索算法或分桶x向公众开放,而是先选取部分用户账户进行测试。

s105:若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

沿用上例,若分桶x对应的替代搜索算法的搜索结果满足预设条件,则说明之前出现的搜索问题得到解决,就可以将分桶x的流量放开,即将新增的分桶x以及替代搜索算法对接后端接口完成上线,使得所有用户的用户账号都可以与分桶x对应(对应关系可以参见s101中用户账号与分桶的匹配),也就可以和分桶x对应的搜索算法匹配,这种情况下分桶x对应的替代搜索算法就成为了前述的“使用中的搜索算法”。即将替代搜索算法用于用户账户的匹配以及执行搜索任务。

若分桶x对应的替代搜索算法的搜索结果不满足预设条件,则可以再修改算法配置语句,直至出现符合预设条件的替代搜索算法并将其用于用户账户的匹配以及执行搜索任务。最终出现的符合预设条件的替代搜索算法对应哪个分桶(可以是分桶x或其他新增分桶)可以根据需要设置。

对于分桶b对应的搜索算法来说,由于其搜索结果不符合预设条件,则可以将其下线(直接在分桶b中对搜索算法进行下线操作即可,这样用户的搜索请求会落到其他分桶中)。

在本实施例中,对于分桶b对应的搜索算法来说,虽然其搜索结果在某个场景下不符合预设条件并被下线,但是其搜索结果可以在另一场景下符合预设条件(即不同场景下预设条件可以不同),因而其可以作为备用的搜索算法,用于其他场景,用于替换其他场景下搜索结果不符合(该其他场景下的)预设条件的搜索算法。另外,对于分桶b对应的搜索算法来说,即使其已下线,且其替代搜索算法已经上线,也可以根据需要随时退回分桶b对应的搜索算法(即重新启用分桶b对应的搜索算法),同时替代搜索算法下线或保持上线状态。

在本实施例中,可以根据需要新增分桶以及搜索算法。例如当前已经有5个分桶,每个分桶对应有搜索算法,可以根据需要新增分桶,并为新增的分桶配置算法语句,然后新增分桶和对应的搜索算法就可以用于用户账户的匹配以及用于执行搜索任务。另外,还可以比较新增分桶与原有分桶对应的搜索算法的搜索结果,然后用新增分桶替换原有分桶,即新增分桶的搜索算法替换原有分桶的搜索算法。

在本实施例中,通过用户账号与搜索算法的匹配,能够为各用户账号(在不同场景下)单独配置合适的搜索算法,实现了各个用户账号搜索的独立性,提高了搜索的多样性和准确性;对搜索算法的搜索结果进行评价,对于不符合预设条件的搜索算法,通过算法语句配置替代搜索算法,从而将搜索算法配置独立成为一个服务,即将算法和代码解耦,能够降低搜索算法的开发工作量和开发周期,实现了搜索算法的即时的动态配置和即时的动态调整,搜索算法配置和调整速度快,效率高,能够提高搜索准确性,提高搜索效率。

本实施例的执行主体可以是计算机或服务器,也可以由第三方应用客户端协助所述执行主体执行上述流程。

实施例二

如图5所示,本说明书第二个实施例提供了一种动态搜索装置,包括:

匹配模块201,用于将用户账户与搜索算法进行匹配;

搜索模块202,用于当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

第一评价模块203,用于确定搜索算法的搜索结果是否符合预设条件;

搜索配置模块204,用于对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法;

第二评价模块205,用于确定所述替代搜索算法的搜索结果是否符合预设条件;

搜索调整模块206,用于若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

可选的,所述第一评价模块203和所述第二评价模块205相同。

可选的,所述装置还包括:

搜索新增模块,用于利用算法语句配置搜索算法,并将其加入到用户账户的匹配中以及用于执行搜索任务。

可选的,所述装置还包括:

搜索储备模块,用于将被下线的搜索算法作为备用搜索算法,所述备用搜索算法用于替换使用中的搜索算法。

可选的,将用户账户与搜索算法进行匹配包括:

确定分桶以及分桶与搜索算法的对应关系;

确定用户账户与分桶的对应关系;

根据上述对应关系将用户账户与搜索算法进行匹配。

可选的,确定搜索算法或替代搜索算法的搜索结果是否符合预设条件包括:

根据埋点日志确定搜索算法的搜索结果是否符合预设条件。

可选的,根据埋点日志确定搜索算法或替代搜索算法的搜索结果是否符合预设条件包括:

对搜索结果进行埋点操作,根据用户的点击行为形成确定搜索评价指标,根据所述搜索评价指标确定搜索结果是否符合预设条件。

可选的,所述搜索评价指标包括搜索准确率和/或点击率和/或搜索错误率。

可选的,确定搜索算法或替代搜索算法的搜索结果是否符合预设条件包括:

对任一种搜索算法,确定其预设时长内各次搜索事件的搜索结果和/或预设次数的搜索事件的搜索结果;

根据所述预设时长内各次搜索事件的搜索结果和/或预设次数的搜索事件的搜索结果确定该搜索算法是否符合预设条件。

实施例三

本说明书第三个实施例提供了一种动态搜索设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

将用户账户与搜索算法进行匹配;

当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

确定搜索算法的搜索结果是否符合预设条件;

对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法,确定所述替代搜索算法的搜索结果是否符合预设条件;

若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

实施例四

本说明书第四个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下的步骤:

将用户账户与搜索算法进行匹配;

当触发搜索事件后,根据触发搜索事件的用户账号执行与其匹配的搜索算法;

确定搜索算法的搜索结果是否符合预设条件;

对于搜索结果不符合预设条件的搜索算法,利用算法语句配置其对应的替代搜索算法,确定所述替代搜索算法的搜索结果是否符合预设条件;

若所述替代搜索算法的搜索结果满足预设条件,则将所述替代搜索算法用于用户账户的匹配以及执行搜索任务,以及下线所述不符合预设条件的搜索算法。

上述各实施例可以结合使用。

上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescrip地址tionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescrip地址tionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescrip地址tionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescrip地址tionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescrip地址tionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchip地址pic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1