对象检测方法、装置、电子设备及计算机可读存储介质与流程

文档序号:26405825发布日期:2021-08-24 16:20阅读:77来源:国知局
对象检测方法、装置、电子设备及计算机可读存储介质与流程

本公开实施例涉及数据处理技术领域,具体涉及一种对象检测方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着网络科学技术和数据处理技术的发展,云计算、云存储、云数据库等云服务的应用越来越广泛,比如,对于云数据库来说,云服务提供方将数据库以云服务产品的形式提供给客户,在当下计算、存储分离的技术趋势下,用户在云数据库上进行的操作,比如sql查询,会涉及整个云上链路,比如网络、云数据库、云主机、云存储等等,也就是说,用户数据操作会在整个云链路上传动:用户sql请求以数据包的形式经由网络,从客户端发送到云数据库计算节点,在本地进行相关计算处理后,再通过网络发送到云存储节点,存储节点通过对数据的i/o操作,将结果逐层返回至用户客户端。

当云服务出现异常时,比如用户sql服务响应延迟突增,需要进行及时排查,对问题发生时间窗口内的异常sql进行跟踪定位故障原因。如上文所述,云数据操作链路涉及多个节点,路径长且复杂,很难做到快速诊断并定位故障点。当前云数据库诊断多为使用辅助诊断方法,从数据库外围进行关键指标的采集和分析,然后再对关键指标逐个诊断,通过指标之间的关联关系得到诊断结果,但对于复杂的云数据库链路,上述基于指标的异常检测很难快速准确地定位到故障点,因此,亟需一种对于云数据库快速准确地进行异常检测的方法。



技术实现要素:

本公开实施例提供一种对象检测方法、装置、电子设备及计算机可读存储介质。

第一方面,本公开实施例中提供了一种对象检测方法。

具体的,所述对象检测方法,包括:

确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息;

根据所述目标检测对象标识信息获取所述目标检测对象的执行数据,并基于所述执行数据生成所述目标检测对象的执行链路图;

基于所述目标检测对象的执行链路图进行异常检测。

结合第一方面,本公开实施例在第一方面的第一种实现方式中,所述目标检测对象为目标sql对象。

结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,所述确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息之后,还包括:

根据所述目标检测对象获取与所述目标检测对象对应的目标执行对象,其中,所述目标执行对象包括一个或多个目标执行子对象,并根据所述目标检测对象标识信息为所述目标执行子对象设置目标执行子对象标识信息。

结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述根据所述目标检测对象标识信息获取所述目标检测对象的执行数据,并基于所述执行数据生成所述目标检测对象的执行链路图,被实施为:

根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图。

结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图,包括:

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据;

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的存储节点上的存储执行数据;

基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图,包括:

以计算节点和存储节点作为顶点,以相应的计算执行数据和存储执行数据作为顶点数据,根据所述节点之间的执行关系和所述目标执行子对象的执行顺序生成连接顶点的边,得到所述目标检测对象的执行链路图。

结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式和第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图之前,还包括:

对于所述计算执行数据和存储执行数据进行定时存储。

结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式、第一方面的第五种实现方式和第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图,被实施为:

响应于所述计算执行数据和存储执行数据被存储,基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式、第一方面的第五种实现方式、第一方面的第六种实现方式和第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,所述基于所述目标检测对象的执行链路图进行异常检测,包括:

根据所述执行链路图中的顶点数据和边数据计算得到与相应的检测数据;

当所述检测数据符合预设检测条件时,将所述顶点及相关边确认为异常信息。

第二方面,本公开实施例中提供了一种对象检测装置。

具体的,所述对象检测装置,包括:

确定模块,被配置为确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息;

第一获取模块,被配置为根据所述目标检测对象标识信息获取所述目标检测对象的执行数据,并基于所述执行数据生成所述目标检测对象的执行链路图;

检测模块,被配置为基于所述目标检测对象的执行链路图进行异常检测。

结合第二方面,本公开实施例在第二方面的第一种实现方式中,所述目标检测对象为目标sql对象。

结合第二方面和第二方面的第一种实现方式,本公开实施例在第二方面的第二种实现方式中,所述确定模块之后,还包括:

第二获取模块,被配置为根据所述目标检测对象获取与所述目标检测对象对应的目标执行对象,其中,所述目标执行对象包括一个或多个目标执行子对象,并根据所述目标检测对象标识信息为所述目标执行子对象设置目标执行子对象标识信息。

结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述第一获取模块被配置为:

根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式和第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图,被配置为:

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据;

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的存储节点上的存储执行数据;

基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式和第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图,被配置为:

以计算节点和存储节点作为顶点,以相应的计算执行数据和存储执行数据作为顶点数据,根据所述节点之间的执行关系和所述目标执行子对象的执行顺序生成连接顶点的边,得到所述目标检测对象的执行链路图。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式和第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图,还被配置为:

基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图之前,对于所述计算执行数据和存储执行数据进行定时存储。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式、第二方面的第五种实现方式和第二方面的第六种实现方式,本公开在第二方面的第七种实现方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图,被配置为:

响应于所述计算执行数据和存储执行数据被存储,基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式、第二方面的第五种实现方式、第二方面的第六种实现方式和第二方面的第七种实现方式,本公开在第二方面的第八种实现方式中,所述检测模块被配置为:

根据所述执行链路图中的顶点数据和边数据计算得到与相应的检测数据;

当所述检测数据符合预设检测条件时,将所述顶点及相关边确认为异常信息。

第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持对象检测装置执行上述对象检测方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述对象检测装置还可以包括通信接口,用于对象检测装置与其他设备或通信网络通信。

第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储对象检测装置所用的计算机指令,其包含用于执行上述对象检测方法为对象检测装置所涉及的计算机指令。

本公开实施例提供的技术方案可包括以下有益效果:

上述技术方案通过跟踪目标检测对象的执行路径、获取目标检测对象的执行数据来建立目标检测对象的执行链路图,并进而基于所述目标检测对象的执行链路图进行异常检测。该技术方案能够全面地获取目标检测对象的执行信息,并基于全面的执行信息快速、准确地进行异常检测,从而能够有效提高故障处理效率,提高故障处理的实时性,同时还能够实现对于数据库操作、数据库性能的监控和分析,为故障问题的定位、处理及回溯提供有效的数据支持。另外,该技术方案不需要人为设定指标阈值,可以减少后期维护成本,便于拓展。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。

附图说明

结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:

图1示出根据本公开一实施方式的对象检测方法的流程图;

图2示出根据本公开一实施方式的目标检测对象执行链路示意图;

图3示出根据本公开一实施方式的对象检测方法的整体流程图;

图4示出根据本公开一实施方式的对象检测装置的结构框图;

图5示出根据本公开一实施方式的对象检测装置的实现示意图;

图6是适于用来实现根据本公开一实施方式的对象检测方法的计算机系统的结构示意图。

具体实施方式

下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。

在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。

另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。

本公开实施例提供的技术方案通过跟踪目标检测对象的执行路径、获取目标检测对象的执行数据来建立目标检测对象的执行链路图,并进而基于所述目标检测对象的执行链路图进行异常检测。该技术方案能够全面地获取目标检测对象的执行信息,并基于全面的执行信息快速、准确地进行异常检测,从而能够有效提高故障处理效率,提高故障处理的实时性,同时还能够实现对于数据库操作、数据库性能的监控和分析,为故障问题的定位、处理及回溯提供有效的数据支持。另外,该技术方案不需要人为设定指标阈值,可以减少后期维护成本,便于拓展。

图1示出根据本公开一实施方式的对象检测方法的流程图,如图1所示,所述对象检测方法包括以下步骤s101-s103:

在步骤s101中,确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息;

在步骤s102中,根据所述目标检测对象标识信息获取所述目标检测对象的执行数据,并基于所述执行数据生成所述目标检测对象的执行链路图;

在步骤s103中,基于所述目标检测对象的执行链路图进行异常检测。

上文提及,随着网络科学技术和数据处理技术的发展,云计算、云存储、云数据库等云服务的应用越来越广泛,比如,对于云数据库来说,云服务提供方将数据库以云服务产品的形式提供给客户,在当下计算、存储分离的技术趋势下,用户在云数据库上进行的操作,比如sql查询,会涉及整个云上链路,比如网络、云数据库、云主机、云存储等等,也就是说,用户数据操作会在整个云链路上传动:用户sql请求以数据包的形式经由网络,从客户端发送到云数据库计算节点,在本地进行相关计算处理后,再通过网络发送到云存储节点,存储节点通过对数据的i/o操作,将结果逐层返回至用户客户端。当云服务出现异常时,比如用户sql服务响应延迟突增,需要进行及时排查,对问题发生时间窗口内的异常sql进行跟踪定位故障原因。如上文所述,云数据操作链路涉及多个节点,路径长且复杂,很难做到快速诊断并定位故障点。当前云数据库诊断多为使用辅助诊断方法,从数据库外围进行关键指标的采集和分析,然后再对关键指标逐个诊断,通过指标之间的关联关系得到诊断结果,但对于复杂的云数据库链路,上述基于指标的异常检测很难快速准确地定位到故障点。

申请号为201610430344.5,申请日为2016-06-16的发明专利公开了一种数据库故障分析方法和装置,该方法包括:获取所述数据库中各个当前会话在当前执行的sql语句及所述sql语句的执行时长并显示在终端显示屏上,对执行时长超出预设时长的sql语句进行标记;获取所述数据库中等待资源的会话并显示在所述终端显示屏上,若判断等待相同资源的会话个数超出预设个数则对等待相同资源的会话进行标记;获取各个表空间的使用率并显示在所述终端显示屏上,对使用率超出第一预设值的表空间进行标记。该发明对于可能出现异常的sql语句、会话、表空间等进行标记,便于工作人员分析故障,使得工作人员能够快速定位问题,但该发明是针对某一特定数据库,且聚焦于sql的资源消耗指标分析上。实际上,在云场景中,除本身数据库进程外,云数据库还会受到网络、存储等其他因素的影响,只是单纯地基于sql语句去探测异常,并不能真正地对于云数据库故障进行定位。

发明名称为《一种数据库性能的监控方法和装置》,申请号为200910090291.7,申请日为2009-08-04的发明专利公开了一种数据库性能的监控方法和装置,该方法包括:创建需要采集的各级别的性能指标,并到数据库中采集性能指标值;将所述采集的性能指标值与预设的阈值进行比较,对超出阈值的性能指标,产生对应的告警信息;依据所述告警信息对所采集的性能指标值执行钻取分析,得到分析结果。该发明通过简单的阈值设定很难正确判断数据库是否在正常工作中,例如当数据库服务呈周期性波动时,而且随着指标量的增加,各种指标的预设阈值也会随之增加,自适应的能力较弱,后续维护成本也很高。

因此,亟需一种对于云数据库快速准确地进行异常检测的方法。

考虑到上述问题,在该实施方式中,提出一种对象检测方法,该方法通过跟踪目标检测对象的执行路径、获取目标检测对象的执行数据来建立目标检测对象的执行链路图,并进而基于所述目标检测对象的执行链路图进行异常检测。该技术方案能够全面地获取目标检测对象的执行信息,并基于全面的执行信息快速、准确地进行异常检测,从而能够有效提高故障处理效率,提高故障处理的实时性,同时还能够实现对于数据库操作、数据库性能的监控和分析,为故障问题的定位、处理及回溯提供有效的数据支持。另外,该技术方案不需要人为设定指标阈值,可以减少后期维护成本,便于拓展。

在本公开一实施方式中,所述对象检测方法可适用于对于对象进行检测的计算机、计算设备、电子设备、服务器、服务集群等设备。

在本公开一实施方式中,所述对象指的是可被执行,并在执行后能够产生相应的执行结果和执行数据的对象,比如在数据库领域,所述对象可以为sql查询命令或语句。为了方便描述,接下来以sql查询命令作为目标检测对象为例对于本公开进行解释和说明,即在本公开一实施方式中,所述目标检测对象为目标sql对象。

在本公开一实施方式中,所述目标检测对象可以由目标检测对象的使用方确定,也可以由目标检测对象的生成方确定,还可以由目标检测对象的检测方或者系统来确定,本公开对于目标检测对象的确定主体不作具体限定。

在本公开一实施方式中,所述目标检测对象标识信息指的是用于对于所述目标检测对象进行唯一性标识的信息,以便于后续能够根据所述目标检测对象标识信息对于所述目标检测对象、所述目标检测对象的执行过程以及所述目标检测对象在各个节点上的执行信息进行跟踪与记录。所述目标检测对象标识信息比如可以为预先设置的目标检测对象的id信息等等。

在本公开一实施方式中,所述目标检测对象的执行数据指的是所述目标检测对象在执行过程中所产生的数据,比如,所述目标检测对象所经过节点的信息,对象接受时间信息,在每个节点上的开始和结束执行时间信息,资源消耗信息等等。基于所述目标检测对象的执行数据即可生成所述目标检测对象的执行链路图,以实现对于所述目标检测对象执行过程的追踪,其中,所述目标检测对象的执行链路图指的是用于表征所述目标检测对象完整的执行过程的节点图,比如dcg图(有向环图,directedcyclicgraph),所述目标检测对象的执行链路图能够清楚、完整地展现所述目标检测对象的执行路径,因此,通过对于所述目标检测对象的执行链路图进行分析即可确定所述目标检测对象执行过程中的故障位置,得到所述目标检测对象的异常检测结果。

在本公开一实施方式中,所述步骤s101,即确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息的步骤之后,还包括:

根据所述目标检测对象获取与所述目标检测对象对应的目标执行对象,其中,所述目标执行对象包括一个或多个目标执行子对象,并根据所述目标检测对象标识信息为所述目标执行子对象设置目标执行子对象标识信息。

本领域技术人员可以了解,某一sql命令或语句对应设置有sql执行计划,即所述目标检测对象对应设置有目标执行对象,其中,所述目标执行对象用于表征所述目标检测对象的执行分解细节信息,其能够体现所述目标检测对象的完整执行过程,因此所述目标执行对象通常由一个或多个目标执行子对象组成,比如一个或多个sql执行子计划,所述目标执行子对象按照执行顺序可以构成一张有向无环图(dag,directedacyclicgraph),以表示所述目标检测对象的执行路径。也因此,为了有效跟踪所述目标检测对象的执行过程,获取所述目标检测对象完整的执行数据,在为所述目标检测对象设置目标检测对象标识信息之后,还需要对于所述目标执行子对象设置对应的标识信息。为了明确所述目标执行子对象与目标执行对象以及目标检测对象之间的对应关系,需根据所述目标检测对象标识信息为所述目标执行子对象设置目标执行子对象标识信息,使得所述目标执行子对象标识信息和目标执行对象标识信息均与所述目标检测对象标识信息相对应。

比如,对于某一目标sql对象,其标识信息可设置为sqluuid,所述目标sql对象对应的目标执行对象的标识信息可设置为spuuid,所述目标执行对象由n个目标执行子对象组成,表示为:其中,为所述目标执行子对象的标识信息。

在本公开一实施方式中,所述步骤s102,即根据所述目标检测对象标识信息获取所述目标检测对象的执行数据,并基于所述执行数据生成所述目标检测对象的执行链路图的步骤,可被实施为:

根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图。

上文提及,所述目标执行对象和目标执行子对象用于表征所述目标检测对象的执行分解细节信息,能够体现所述目标检测对象的完整执行过程,因此在该实施方式中,根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据之后,就可以基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图了。

在本公开一实施方式中,所述根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图的步骤,可包括以下步骤:

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据;

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的存储节点上的存储执行数据;

基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

上文提及,云数据库操作会涉及整个云链路,由于计算和存储分离,因此既会涉及在计算节点上的操作也会涉及在存储节点上的操作。因此,在该实施方式中,需要分别采集所述目标执行子对象在计算节点和存储节点上的执行数据。具体地,首先根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据,根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的存储节点上的存储执行数据;然后再基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

在本公开一实施方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图的步骤,包括:

以计算节点和存储节点作为顶点,以相应的计算执行数据和存储执行数据作为顶点数据,根据所述节点之间的执行关系和所述目标执行子对象的执行顺序生成连接顶点的边,得到所述目标检测对象的执行链路图。

在该实施方式中,在生成执行链路图时,以所述目标检测对象的执行过程相关的计算节点和存储节点作为顶点,以在所述计算节点和存储节点上采集得到的计算执行数据和存储执行数据作为相应顶点的顶点数据,根据所述节点之间的执行关系和所述目标执行子对象的执行顺序生成连接顶点的边,从而得到所述目标检测对象的执行链路图。

比如,以上文标识信息为sqluuid的目标sql对象为例,在计算节点上,对于与所述目标sql对象对应的目标执行对象中的每个目标执行子对象其中,i=1,…,n,采集得到每个目标执行子对象对应的计算执行数据,其中,所述计算执行数据可包括以下数据中的一种或多种:所在物理主机标识信息执行子对象接受时间实际执行开始时间实际执行结束时间实际资源消耗信息等等,其中,所述实际资源消耗信息又可包括以下信息中的一种或多种:cpu资源消耗信息、内存资源消耗信息、io资源消耗信息等等。然后根据执行子对象接受时间实际执行开始时间实际执行结束时间计算差值,就可以得到该目标执行子对象在队列里等待的时间以及实际执行耗时基于上述目标执行子对象的计算执行数据就可以形成一个基于计算节点的执行链路图,在该图中,每个顶点代表一个计算节点,每个顶点的顶点数据可以表示为:顶点之间是否存在连接边由不同目标执行子对象的执行顺序来决定。

考虑到部分在计算节点上执行的目标执行子对象需要与存储节点上的数据进行交互,存在io交互操作,因此在这种情况下,需要进一步对于目标执行子对象进行拆分,即在上述生成的基于计算节点的执行链路图中,与存储节点存在数据交互的计算节点还关联有一张子图。具体地,对每个对每个与存储节点存在数据交互的情况进行数据采集,若将某一存储节点中对应目标执行子对象的存储操作记录为其中,j为存储节点的第j次操作,则对于每个存储操作采集得到每个存储操作对应的存储执行数据,其中,所述存储执行数据可包括以下数据中的一种或多种:所在物理主机存储操作接受时间实际执行开始时间实际执行结束时间实际资源消耗信息等等,其中,所述实际资源消耗信息又可包括以下信息中的一种或多种:cpu资源消耗信息,内存资源消耗信息,io资源消耗信息等等。然后根据存储操作接受时间实际执行开始时间实际执行结束时间计算差值,就可以得到该存储操作在队列里等待的时间以及实际执行耗时基于上述存储操作对应的存储执行数据,就可以在上文中生成的基于计算节点的执行链路图中,根据所述计算节点与存储节点之间的执行关系生成存储节点顶点,确定存储节点顶点的位置,其中,每个存储节点顶点的顶点数据可以表示为:

由此,即可得到所述目标检测对象的执行链路图,其中,所述执行链路图为dcg图,其包括一个或多个顶点v,所述顶点指代不同的计算节点和存储节点,顶点之间的边e为有向边,用于表征执行操作顺序,比如,边就表示目标执行子对象执行完毕后再执行目标执行子对象边e对应的边数据可由该边连接的两个顶点的顶点数据得到,即边e对应的边数据可以表示为:其中,代表网络耗时,

在本公开一实施方式中,为了节省执行链路图的最终生成时间,所述执行链路图可随着所述目标检测对象的执行、相应执行数据的获得而进行实时更新和存储。

图2示出根据本公开一实施方式的目标检测对象执行链路示意图。在图2中,存在5个计算节点顶点v:根据不同目标执行子对象的执行顺序可以确定顶点分别连接顶点顶点和顶点顶点顶点和顶点又分别与顶点连接。其中,顶点又涉及三次存储操作,即与三个存储节点存在闭环连接。

在本公开一实施方式中,在所述步骤s102,即所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图的步骤之前,还包括:

对于所述计算执行数据和存储执行数据进行定时存储。

为了妥善保存采集得到的数据,在该实施方式中,还对于采集得到的计算执行数据和存储执行数据进行定时存储,其中,所述存储可在存储节点上执行,即将执行数据上报至存储节点进行存储。在本公开一实施方式中,所述存储可以为半持久化存储,即用户可以通过设置数据有效时间进行数据有效期内的存储,当然,所述存储也可以为持久化存储,所述存储类型可根据实际应用的需要进行选择,本公开对其不作具体限定。

在该实施方式中,所述步骤s102,即所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图的步骤,可被实施为:

响应于所述计算执行数据和存储执行数据被存储,基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

为了对于目标检测对象进行实时、及时有效的分析,提升目标检测对象的检测速度,在该实施方式中,一旦所述计算执行数据和存储执行数据被存储,就启动生成所述目标检测对象的执行链路图,也就是说,随着目标检测对象执行过程的继续,计算执行数据和存储执行数据被不断存储,所述执行链路图也随之进行实时更新,以便及时地基于所述目标检测对象的执行链路图进行异常检测。

上文提及,还可以对于所述计算执行数据和存储执行数据进行定时存储,此时,可根据实际应用的需要确定启动异常检测的时间,既可以在所述计算执行数据和存储执行数据每次被存储时就进行异常检测,也可以在所述目标检测对象被执行完毕,所述计算执行数据和存储执行数据最后一次被存储时进行异常检测。

在本公开一实施方式中,所述步骤s103,即基于所述目标检测对象的执行链路图进行异常检测的步骤,可包括以下步骤:

根据所述执行链路图中的顶点数据和边数据计算得到与相应的检测数据;

当所述检测数据符合预设检测条件时,将所述顶点及相关边确认为异常信息。

在该实施方式中,在基于所述目标检测对象的执行链路图进行异常检测时,首先根据所述执行链路图中每个顶点的顶点数据和每条边的边数据计算得到与所述顶点和边对应的检测数据;若所述检测数据符合预设检测条件,则可将所述顶点及相关边确认为异常信息。

其中,所述检测数据指的是可以用于进行异常判断的数据,比如可以为耗时占比、资源负载占比等数据,此时,所述预设检测条件就可以为所述耗时占比或资源负载占比超过预设占比阈值,或者在所有占比数据中位于前几位。若某一检测数据符合所述预设检测条件,就可认为相关物理主机上对应的计算执行过程或存储执行过程出现了故障情况,相关节点或者相关节点之间的连接出现了拥塞、断开等故障情况,此时可将相关顶点及相关边确认为异常信息。

以所述检测数据为耗时占比为例,根据所述执行链路图中的顶点数据和边数据计算得到每个顶点和每条边的耗时占比,将耗时占比最高的顶点和边确认为异常点,其中,所述耗时占比指的是某一个顶点或者某一条边的耗时占所述执行链路图所有顶点和边总耗时的比例。

在本公开一实施方式中,为了方便故障问题的定位、处理及回溯,可通过相应的查询命令查询所述目标检测对象的执行链路图信息以及异常检测结果。

图3示出根据本公开一实施方式的对象检测方法的整体流程图,在该示例中,假设所述目标检测对象为目标sql对象,如图3所示,首先确定目标sql对象,并为其设置目标sql对象标识信息sqluiid。然后根据所述目标sql对象标识信息sqluuid获取与其对应的目标执行对象根据目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据,生成执行链路图的计算顶点根据所述目标执行子对象标识信息以及是否需要与存储节点上的数据进行交互,获取相应目标执行子对象相关存储操作对应的存储执行数据,生成执行链路图的存储顶点在对于获得的计算执行数据和存储执行数据进行存储之后,就可基于确定的计算顶点和存储顶点生成所述目标sql对象的执行链路图。最后基于所述目标sql对象的执行链路图进行异常检测,即可确定异常信息,比如异常点位置。

本公开基于目标检测对象对应的目标执行对象,以执行数据链路图节点和边的形式采集所述目标检测对象在云上的执行过程,实时构建所述执行数据链路图,所述执行数据链路图能够完整地反映出目标检测对象在云上的传动过程,当某一目标检测对象出现异常时,可以追溯每步执行过程,具体到该目标检测对象的每个物理节点和网络边耗时,进而可以对于故障点进行准确定位,对于故障原因进行有效剖析。

下述为本公开装置实施例,可以用于执行本公开方法实施例。

图4示出根据本公开一实施方式的对象检测装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,所述对象检测装置包括:

确定模块401,被配置为确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息;

第一获取模块402,被配置为根据所述目标检测对象标识信息获取所述目标检测对象的执行数据,并基于所述执行数据生成所述目标检测对象的执行链路图;

检测模块403,被配置为基于所述目标检测对象的执行链路图进行异常检测。

上文提及,随着网络科学技术和数据处理技术的发展,云计算、云存储、云数据库等云服务的应用越来越广泛,比如,对于云数据库来说,云服务提供方将数据库以云服务产品的形式提供给客户,在当下计算、存储分离的技术趋势下,用户在云数据库上进行的操作,比如sql查询,会涉及整个云上链路,比如网络、云数据库、云主机、云存储等等,也就是说,用户数据操作会在整个云链路上传动:用户sql请求以数据包的形式经由网络,从客户端发送到云数据库计算节点,在本地进行相关计算处理后,再通过网络发送到云存储节点,存储节点通过对数据的i/o操作,将结果逐层返回至用户客户端。当云服务出现异常时,比如用户sql服务响应延迟突增,需要进行及时排查,对问题发生时间窗口内的异常sql进行跟踪定位故障原因。如上文所述,云数据操作链路涉及多个节点,路径长且复杂,很难做到快速诊断并定位故障点。当前云数据库诊断多为使用辅助诊断方法,从数据库外围进行关键指标的采集和分析,然后再对关键指标逐个诊断,通过指标之间的关联关系得到诊断结果,但对于复杂的云数据库链路,上述基于指标的异常检测很难快速准确地定位到故障点。因此,亟需一种对于云数据库快速准确地进行异常检测的方法。

考虑到上述问题,在该实施方式中,提出一种对象检测装置,该装置通过跟踪目标检测对象的执行路径、获取目标检测对象的执行数据来建立目标检测对象的执行链路图,并进而基于所述目标检测对象的执行链路图进行异常检测。该技术方案能够全面地获取目标检测对象的执行信息,并基于全面的执行信息快速、准确地进行异常检测,从而能够有效提高故障处理效率,提高故障处理的实时性,同时还能够实现对于数据库操作、数据库性能的监控和分析,为故障问题的定位、处理及回溯提供有效的数据支持。另外,该技术方案不需要人为设定指标阈值,可以减少后期维护成本,便于拓展。

在本公开一实施方式中,所述对象检测装置可实现为对于对象进行检测的计算机、计算设备、电子设备、服务器、服务集群等设备。

在本公开一实施方式中,所述对象指的是可被执行,并在执行后能够产生相应的执行结果和执行数据的对象,比如在数据库领域,所述对象可以为sql查询命令或语句。为了方便描述,接下来以sql查询命令作为目标检测对象为例对于本公开进行解释和说明,即在本公开一实施方式中,所述目标检测对象为目标sql对象。

在本公开一实施方式中,所述目标检测对象可以由目标检测对象的使用方确定,也可以由目标检测对象的生成方确定,还可以由目标检测对象的检测方或者系统来确定,本公开对于目标检测对象的确定主体不作具体限定。所述确定模块既可以为所述目标检测对象使用方、所述目标检测对象生成方、所述目标检测对象检测方或者系统等目标检测对象确定主体,也可以为接收上述确定主体发送的目标检测对象确定命令的模块。

在本公开一实施方式中,所述目标检测对象标识信息指的是用于对于所述目标检测对象进行唯一性标识的信息,以便于后续能够根据所述目标检测对象标识信息对于所述目标检测对象、所述目标检测对象的执行过程以及所述目标检测对象在各个节点上的执行信息进行跟踪与记录。所述目标检测对象标识信息比如可以为预先设置的目标检测对象的id信息等等。

在本公开一实施方式中,所述目标检测对象的执行数据指的是所述目标检测对象在执行过程中所产生的数据,比如,所述目标检测对象所经过节点的信息,对象接受时间信息,在每个节点上的开始和结束执行时间信息,资源消耗信息等等。基于所述目标检测对象的执行数据即可生成所述目标检测对象的执行链路图,以实现对于所述目标检测对象执行过程的追踪,其中,所述目标检测对象的执行链路图指的是用于表征所述目标检测对象完整的执行过程的节点图,比如dcg图(有向环图,directedcyclicgraph),所述目标检测对象的执行链路图能够清楚、完整地展现所述目标检测对象的执行路径,因此,通过对于所述目标检测对象的执行链路图进行分析即可确定所述目标检测对象执行过程中的故障位置,得到所述目标检测对象的异常检测结果。

在本公开一实施方式中,所述确定模块401之后,还包括:

第二获取模块,被配置为根据所述目标检测对象获取与所述目标检测对象对应的目标执行对象,其中,所述目标执行对象包括一个或多个目标执行子对象,并根据所述目标检测对象标识信息为所述目标执行子对象设置目标执行子对象标识信息。

本领域技术人员可以了解,某一sql命令或语句对应设置有sql执行计划,即所述目标检测对象对应设置有目标执行对象,其中,所述目标执行对象用于表征所述目标检测对象的执行分解细节信息,其能够体现所述目标检测对象的完整执行过程,因此所述目标执行对象通常由一个或多个目标执行子对象组成,比如一个或多个sql执行子计划,所述目标执行子对象按照执行顺序可以构成一张有向无环图(dag,directedacyclicgraph),以表示所述目标检测对象的执行路径。也因此,为了有效跟踪所述目标检测对象的执行过程,获取所述目标检测对象完整的执行数据,在为所述目标检测对象设置目标检测对象标识信息之后,还需要对于所述目标执行子对象设置对应的标识信息。为了明确所述目标执行子对象与目标执行对象以及目标检测对象之间的对应关系,需根据所述目标检测对象标识信息为所述目标执行子对象设置目标执行子对象标识信息,使得所述目标执行子对象标识信息和目标执行对象标识信息均与所述目标检测对象标识信息相对应。

比如,对于某一目标sql对象,其标识信息可设置为sqluuid,所述目标sql对象对应的目标执行对象的标识信息可设置为spuuid,所述目标执行对象由n个目标执行子对象组成,表示为:其中,为所述目标执行子对象的标识信息。

在本公开一实施方式中,所述第一获取模块402可被配置为:

根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图。

上文提及,所述目标执行对象和目标执行子对象用于表征所述目标检测对象的执行分解细节信息,能够体现所述目标检测对象的完整执行过程,因此在该实施方式中,根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据之后,就可以基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图了。

在本公开一实施方式中,所述第一获取模块402中根据所述目标检测对象标识信息获取所述目标检测对象的执行数据的部分可实现为数据采集器,由于所述执行数据包括计算节点上的计算执行数据和存储节点上的存储执行数据,因此,所述数据采集器需分布于所有的计算节点和存储节点上。

在本公开一实施方式中,所述根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图的部分,可被配置为:

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据;

根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的存储节点上的存储执行数据;

基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

上文提及,云数据库操作会涉及整个云链路,由于计算和存储分离,因此既会涉及在计算节点上的操作也会涉及在存储节点上的操作。因此,在该实施方式中,需要分别采集所述目标执行子对象在计算节点和存储节点上的执行数据。具体地,首先根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的计算节点上的计算执行数据,根据所述目标执行子对象标识信息获取每个目标执行子对象在执行时涉及的存储节点上的存储执行数据;然后再基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

在本公开一实施方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图的部分,可被配置为:

以计算节点和存储节点作为顶点,以相应的计算执行数据和存储执行数据作为顶点数据,根据所述节点之间的执行关系和所述目标执行子对象的执行顺序生成连接顶点的边,得到所述目标检测对象的执行链路图。

在该实施方式中,在生成执行链路图时,以所述目标检测对象的执行过程相关的计算节点和存储节点作为顶点,以在所述计算节点和存储节点上采集得到的计算执行数据和存储执行数据作为相应顶点的顶点数据,根据所述节点之间的执行关系和所述目标执行子对象的执行顺序生成连接顶点的边,从而得到所述目标检测对象的执行链路图。

比如,以上文标识信息为sqluuid的目标sql对象为例,在计算节点上,对于与所述目标sql对象对应的目标执行对象中的每个目标执行子对象其中,i=1,…,n,采集得到每个目标执行子对象对应的计算执行数据,其中,所述计算执行数据可包括以下数据中的一种或多种:所在物理主机标识信息执行子对象接受时间实际执行开始时间实际执行结束时间实际资源消耗信息等等,其中,所述实际资源消耗信息又可包括以下信息中的一种或多种:cpu资源消耗信息、内存资源消耗信息、io资源消耗信息等等。然后根据执行子对象接受时间实际执行开始时间实际执行结束时间计算差值,就可以得到该目标执行子对象在队列里等待的时间以及实际执行耗时基于上述目标执行子对象的计算执行数据就可以形成一个基于计算节点的执行链路图,在该图中,每个顶点代表一个计算节点,每个顶点的顶点数据可以表示为:顶点之间是否存在连接边由不同目标执行子对象的执行顺序来决定。

考虑到部分在计算节点上执行的目标执行子对象需要与存储节点上的数据进行交互,存在io交互操作,因此在这种情况下,需要进一步对于目标执行子对象进行拆分,即在上述生成的基于计算节点的执行链路图中,与存储节点存在数据交互的计算节点还关联有一张子图。具体地,对每个对每个与存储节点存在数据交互的情况进行数据采集,若将某一存储节点中对应目标执行子对象的存储操作记录为其中,j为存储节点的第j次操作,则对于每个存储操作采集得到每个存储操作对应的存储执行数据,其中,所述存储执行数据可包括以下数据中的一种或多种:所在物理主机存储操作接受时间实际执行开始时间实际执行结束时间实际资源消耗信息等等,其中,所述实际资源消耗信息又可包括以下信息中的一种或多种:cpu资源消耗信息,内存资源消耗信息,io资源消耗信息等等。然后根据存储操作接受时间实际执行开始时间实际执行结束时间计算差值,就可以得到该存储操作在队列里等待的时间以及实际执行耗时基于上述存储操作对应的存储执行数据,就可以在上文中生成的基于计算节点的执行链路图中,根据所述计算节点与存储节点之间的执行关系生成存储节点顶点,确定存储节点顶点的位置,其中,每个存储节点顶点的顶点数据可以表示为:

由此,即可得到所述目标检测对象的执行链路图,其中,所述执行链路图为dcg图,其包括一个或多个顶点v,所述顶点指代不同的计算节点和存储节点,顶点之间的边e为有向边,用于表征执行操作顺序,比如,边就表示目标执行子对象执行完毕后再执行目标执行子对象边e对应的边数据可由该边连接的两个顶点的顶点数据得到,即边e对应的边数据可以表示为:其中,代表网络耗时,

在本公开一实施方式中,为了节省执行链路图的最终生成时间,所述执行链路图可随着所述目标检测对象的执行、相应执行数据的获得而进行实时更新和存储。

图2示出根据本公开一实施方式的目标检测对象执行链路示意图。在图2中,存在5个计算节点顶点v:根据不同目标执行子对象的执行顺序可以确定顶点分别连接顶点顶点和顶点顶点顶点和顶点又分别与顶点连接。其中,顶点又涉及三次存储操作,即与三个存储节点存在闭环连接。

在本公开一实施方式中,根据所述目标执行子对象标识信息获取所述目标检测子对象的执行数据,并基于所述目标检测子对象的执行数据生成所述目标检测对象的执行链路图的部分,还被配置为:

基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图之前,对于所述计算执行数据和存储执行数据进行定时存储。

为了妥善保存采集得到的数据,在该实施方式中,还对于采集得到的计算执行数据和存储执行数据进行定时存储,其中,所述存储可在存储节点上执行,即将执行数据上报至存储节点进行存储。在本公开一实施方式中,所述存储可以为半持久化存储,即用户可以通过设置数据有效时间进行数据有效期内的存储,当然,所述存储也可以为持久化存储,所述存储类型可根据实际应用的需要进行选择,本公开对其不作具体限定。

在本公开一实施方式中,可设置一存储模块实现对于所述计算执行数据和存储执行数据的定时存储,其中,所述存储模块与分布在所述计算节点和存储节点上的数据采集器连接。

在该实施方式中,所述基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图的部分,可被配置为:

响应于所述计算执行数据和存储执行数据被存储,基于所有目标执行子对象的计算执行数据和存储执行数据生成所述目标检测对象的执行链路图。

为了对于目标检测对象进行实时、及时有效的分析,提升目标检测对象的检测速度,在该实施方式中,一旦所述计算执行数据和存储执行数据被存储,就启动生成所述目标检测对象的执行链路图,也就是说,随着目标检测对象执行过程的继续,计算执行数据和存储执行数据被不断存储,所述执行链路图也随之进行实时更新,以便及时地基于所述目标检测对象的执行链路图进行异常检测。

上文提及,还可以对于所述计算执行数据和存储执行数据进行定时存储,此时,可根据实际应用的需要确定启动异常检测的时间,既可以在所述计算执行数据和存储执行数据每次被存储时就进行异常检测,也可以在所述目标检测对象被执行完毕,所述计算执行数据和存储执行数据最后一次被存储时进行异常检测。

在本公开一实施方式中,所述检测模块403可被配置为:

根据所述执行链路图中的顶点数据和边数据计算得到与相应的检测数据;

当所述检测数据符合预设检测条件时,将所述顶点及相关边确认为异常信息。

在该实施方式中,在基于所述目标检测对象的执行链路图进行异常检测时,首先根据所述执行链路图中每个顶点的顶点数据和每条边的边数据计算得到与所述顶点和边对应的检测数据;若所述检测数据符合预设检测条件,则可将所述顶点及相关边确认为异常信息。

其中,所述检测数据指的是可以用于进行异常判断的数据,比如可以为耗时占比、资源负载占比等数据,此时,所述预设检测条件就可以为所述耗时占比或资源负载占比超过预设占比阈值,或者在所有占比数据中位于前几位。若某一检测数据符合所述预设检测条件,就可认为相关物理主机上对应的计算执行过程或存储执行过程出现了故障情况,相关节点或者相关节点之间的连接出现了拥塞、断开等故障情况,此时可将相关顶点及相关边确认为异常信息。

以所述检测数据为耗时占比为例,根据所述执行链路图中的顶点数据和边数据计算得到每个顶点和每条边的耗时占比,将耗时占比最高的顶点和边确认为异常点,其中,所述耗时占比指的是某一个顶点或者某一条边的耗时占所述执行链路图所有顶点和边总耗时的比例。

在本公开一实施方式中,为了方便故障问题的定位、处理及回溯,可通过相应的查询命令查询所述目标检测对象的执行链路图信息以及异常检测结果。

图5示出根据本公开一实施方式的对象检测装置的实现示意图,在该示例中,所述对象检测装置包括确定模块、计算节点、存储节点、设置于所述计算节点和存储节点上的数据采集器,以及存储模块和检测模块。其中,所述确定模块用于确定目标检测对象,并为所述目标检测对象设置目标检测对象标识信息,设置于所述计算节点和存储节点上的数据采集器就会对于目标检测对象执行过程中在计算节点和存储节点上产生的执行数据进行采集,采集得到的数据发送至存储模块上进行存储,检测模块基于存储模块上存储的数据进行异常检测。

本公开实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方法步骤。

图6是适于用来实现根据本公开一实施方式的对象检测方法的计算机系统的结构示意图。

如图6所示,计算机系统600包括处理单元601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行上述实施方式中的各种处理。在ram603中,还存储有系统600操作所需的各种程序和数据。处理单元601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。其中,所述处理单元601可实现为cpu、gpu、tpu、fpga、npu等处理单元。

特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述对象检测方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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