掌桥专利:专业的专利平台
掌桥专利
首页

交易链路追踪方法、装置、设备、存储介质和程序产品

文献发布时间:2024-07-23 01:35:21


交易链路追踪方法、装置、设备、存储介质和程序产品

技术领域

本公开涉及分布式技术领域,可应用于金融领域,更具体地涉及一种交易链路追踪方法、装置、设备、存储介质和程序产品。

背景技术

随着云计算和分布式技术的发展,互联网系统逐步从传统的单体服务向分布式服务转变。分布式体系在带来高性能、高可用的优点的同时,也为系统运维提出了新要求。为了更好的对分布式系统进行运行时监控,往往需要在交易链路中进行链路追踪,以进行灰度处理、生产问题分析等操作。对于已经投产的系统,想要达到链路追踪目的,往往需要进行应用程序编程接口改造,在参数中增加用于链路追踪的字段等额外元数据信息,改造成本较高,也有引入新的生产问题的隐患。

发明内容

鉴于上述问题,本公开提供了一种交易链路追踪方法、装置、设备、存储介质和程序产品。

根据本公开的第一个方面提供了一种交易链路追踪方法,应用于分布式服务系统,分布式服务系统包括n个交易节点,n为大于等于1的整数,方法包括:拦截第i交易节点的请求并生成Span(i),其中Span(i)包括Span(i)标识符,i为大于等于1且小于等于n的整数;注入Span(i)标识符至第i+1交易节点;提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符;根据n个Span标识符之间的关系,确定请求的交易链路路径。

根据本公开的实施例,方法还包括:存储生成的Span(i)至Span池,其中Span池会记录各个Span标识符之间的关系以及各个Span的耗时信息;通过Span池,对请求的交易链路进行监控。

根据本公开的实施例,对请求的交易链路进行监控,其中监控包括:追踪交易链路的执行路径、监控交易的性能指标、定位交易链路中的异常。

根据本公开的实施例,拦截第i交易节点的请求并生成Span(i),包括:在第i交易节点的入口处,预设字节码拦截器对交易请求拦截;基于字节码拦截器生成Span(i),其中在字节码拦截器中,生成一个唯一的标识符作为Span(i)的ID,ID与当前节点的交易请求关联。

根据本公开的实施例,注入Span(i)标识符至第i+1交易节点;包括:通过将Span(i)标识符添加到请求的隐式参数中传递至第i+1交易节点。

根据本公开的实施例,提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),包括:在第i+1交易节点接收到请求后,会读取请求的隐式参数,获取Span(i)标识符;基于字节码拦截器生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符。

根据本公开的实施例,通过Span池,对请求的交易链路进行监控,包括:通过Span池中各个标识符之间的关系,追踪和分析交易链路的执行路径;通过统计Span池中各个Span的耗时信息监控交易的性能指标;通过分析Span池中各个Span数据快速定位交易链路中的异常。

本公开的第二方面提供了一种交易链路追踪装置,应用于分布式服务系统,分布式服务系统包括n个交易节点,n为大于等于1的整数,装置包括:交易拦截模块,用于拦截第i交易节点的请求并生成Span(i),其中Span(i)包括Span(i)标识符,i为大于等于1且小于等于n的整数;标识符传递模块,用于注入Span(i)标识符至第i+1交易节点;下游Span生成模块,用于提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符;交易链路确定模块,用于根据n个Span标识符之间的关系,确定请求的交易链路路径。

根据本公开的实施例,交易链路确定模块还包括链路追踪单元、性能监控单元与异常定位单元,其中,链路追踪单元,用于通过Span池中各个标识符之间的关系,追踪和分析交易链路的执行路径;性能监控单元,用于通过统计Span池中各个Span的耗时信息监控交易的性能指标;异常定位单元,用于通过分析Span池中各个Span数据快速定位交易链路中的异常。

本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,一个或多个处理器执行一个或多个计算机程序以实现上述方法的步骤。

本公开的第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述方法的步骤。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的交易链路追踪的应用场景图;

图2示意性示出了根据本公开实施例的交易链路追踪方法的流程图;

图3示意性示出了根据本公开实施例的生成Span(i)方法的流程图;

图4示意性示出了根据本公开实施例的生成Span(i+1)方法的流程图;

图5示意性示出了根据本公开实施例的对交易链路进行监控的流程图;

图6示意性示出了根据本公开实施例的交易链路追踪装置的结构框图;以及

图7示意性示出了根据本公开实施例的适于实现交易链路追踪的电子设备的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行本公开的方法。

在本公开的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。

在利用个人信息进行自动化决策的场景下,本公开实施例提供的方法、设备和系统均为用户提供相应的操作入口,供用户选择同意或者拒绝自动化决策结果;若用户选择拒绝,则进入专家决策流程。此处的表述“自动化决策”是指通过计算机程序自动分析、评估个人的行为习惯、兴趣爱好或者经济、健康、信用状况等,并进行决策的活动。此处的表述“专家决策”是指专门从事某一领域的工作、具有专门的经验、知识和技能并达到一定的专业水平的人员进行决策的活动。

首先,对本文中记载的技术术语作如下解释和说明。

分布式系统:由多台计算机或者设备组成的网络系统,这些计算机或设备通过网络互相连接并协同工作。在分布式系统中,各个计算机或设备被称为节点,它们可以运行和处理任务,同时也可以通过消息传递或共享资源进行通信和协作。

交易链路:在分布式系统中,交易链路是指一次完整的交易请求在系统中的传递和处理路径。它包括了从客户端发起请求到最终返回结果的所有环节和组件。交易链路通常由多个节点和服务组成,每个节点负责处理特定的任务或服务。在整个交易链路中,每个节点都有自己的职责和功能,通过相互协作来完成一次交易请求;

字节码拦截器:在程序运行时对字节码进行拦截和修改,它通常用于在不修改源代码的情况下,动态地对程序的行为进行增强、监控或调试。

Span:跨度,基本工作单元,一次链路调用创建一个span,span中还有描述信息、时间戳等,通俗的理解一个span就是一次请求信息;

Span Id:标识跨度的id,一条链路中每个跨度都有唯一的span Id。

本公开的实施例提供了一种交易链路追踪方法,应用于分布式服务系统,分布式服务系统包括n个交易节点,n为大于等于1的整数,方法包括:拦截第i交易节点的请求并生成Span(i),其中Span(i)包括Span(i)标识符,i为大于等于1且小于等于n的整数;注入Span(i)标识符至第i+1交易节点;提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符;根据n个Span标识符之间的关系,确定请求的交易链路路径。

通过本公开的实施例,使用字节码拦截器,在不改变现有服务逻辑的情况下对请求进行拦截、处理或者修改。通过Span池中的各个节点Span ID之间的父子关系确定交易链路,由于无需修改现有服务逻辑,实现链路追踪将变得更加简单和快速以及降低引入新问题的风险。此外,通过对交易链路进行监控,高效了解交易的执行状况、性能指标和问题定位,从而优化系统的运行效率和稳定性。

图1示意性示出了根据本公开实施例的交易链路追踪的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的交易链路追踪一般可以由服务器105执行。相应地,本公开实施例所提供的交易链路追踪装置一般可以设置于服务器105中。本公开实施例所提供的交易链路追踪也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的交易链路追踪装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

以下将基于图1描述的场景,通过图2~图5对公开实施例的交易链路追踪进行详细描述。

图2示意性示出了根据本公开实施例的交易链路追踪方法的流程图。该方法应用于分布式服务系统,分布式服务系统包括n个交易节点,n为大于等于1的整数,如图2所示,该方法可以进一步包括操作S210~操作S240。

在操作S210,拦截第i交易节点的请求并生成Span(i),其中Span(i)包括Span(i)标识符,i为大于等于1且小于等于n的整数。

在本公开的实施例中,分布式系统中存在多个交易节点,每个交易节点代表一个服务或组件,当调用方发起调用请求后发送至某i交易节点。通过预设的字节码拦截器对交易链路对请求进行拦截并生成该节点的Span(i),其中i为大于等于1且小于等于n的整数。下面对生成Span(i)进行具体说明。

图3示意性示出了根据本公开实施例的生成Span(i)方法的流程图。如图3所示,拦截第i交易节点的请求并生成Span(i),可以进一步包括操作S310~S320。

在操作S310,在第i交易节点的入口处,预设字节码拦截器对交易请求拦截。

具体而言,在请求发送至第i交易节点的入口处时,通过预设字节码拦截器对请求进行拦截,其中,字节码拦截器的实现是通过使用Java的字节码操作库来直接操作字节码,或者使用Java代理机制(如Java动态代理)生成代理类来实现字节码的拦截和修改。

在操作S320,基于字节码拦截器生成Span(i),其中,在字节码拦截器中,生成一个唯一的标识符作为Span(i)的ID,ID与当前节点的交易请求关联。

在本公开的实施例中,生成Span(i)的过程中,可以使用字节码拦截器来实现。字节码拦截器是一种在Java虚拟机中对字节码进行操作的技术,可以在运行时修改字节码或者添加额外的指令。

具体而言,首先需要确定对第i交易节点的请求进行拦截。然后,通过字节码拦截器,在第i交易节点的请求的字节码中插入相关的指令,以创建Span对象。

例如,确定需要拦截的请求类指令,使用字节码编辑器(例如ASM或者Javassist)加载该类的字节码。找到目标方法或者代码块的字节码指令位置,在指定位置插入创建Span对象的相关指令,包括创建Span的名称、开始时间、结束时间等信息,重新生成修改后的字节码。将修改后的字节码加载回Java虚拟机中运行程序,触发被拦截的方法或者代码块。拦截器会在指定位置创建Span对象,并将其保存或者传递给其他组件进行处理。

在本公开的实施例中,使用一些生成唯一标识符的算法在字节码拦截器中生成唯一的标识符作为Span(i)的ID。

通过本公开的实施例,使用字节码拦截器,在不改变现有服务逻辑的情况下,对请求进行拦截、处理或者修改。通过在字节码拦截器中插入算法,可以在运行时生成一个唯一的标识符作为Span的ID,并将其用于跟踪和识别Span对象。这样可以确保每个生成的Span都有一个唯一的ID,以便于后续的监控和分析。

在操作S220,注入Span(i)标识符至第i+1交易节点。

在本公开的实施例中,通过将Span(i)标识符添加到请求的隐式参数中传递至第i+1交易节点。

具体而言,在分布式系统中,Span(i)的标识符(例如ID)的注入通常是通过跟踪上下文传递机制来实现的,可以在请求的Header或RPC的隐式参数中添加一个字段等附加信息,用于携带Span(i)ID的值,这些附加信息可以包含在请求头部中,以便在请求的整个生命周期中被传递和访问。

在操作S230,提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符。

图4示意性示出了根据本公开实施例的生成Span(i+1)方法的流程图。如图4所示,提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),可以进一步包括操作S410~S420。

在操作S410,在第i+1交易节点接收到请求后,会读取请求的隐式参数,获取Span(i)标识符。

例如,在发送请求之前,将生成的Span(i)ID添加到请求的Header或RPC的隐式参数中。对于HTTP请求,可以在请求头部中添加自定义的字段来传递附加信息。例如,使用“X-Span(i)ID”字段将特定的值传递给第i+1交易节点。第i+1交易节点可以读取该请求头部,并根据其中的值来进行相应的处理。对于RPC调用,可以通过隐式参数来传递额外的信息。第i+1交易节点接收到请求后,会读取请求的RPC的隐式参数,获取Span(i)ID的值。

在操作S420,基于字节码拦截器生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符。

在本公开的实施例中,在获取Span(i)的标识符后,基于字节码拦截器生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符,例如,Span(i+1)包括Span(i+1)ID与Span(i)ID,也就是将Span(i)ID作为父Span ID记录至Span(i+1)。

在操作S240,根据n个Span标识符之间的关系,确定请求的交易链路路径。

在本公开的实施例中,在每一个交易节点中,会存储生成的Span(i)至Span池,其中Span池会记录n个Span标识符之间的关系以及各个Span的耗时信息,通过Span池,对请求的交易链路进行监控。

在本公开的实施例中,监控包括:追踪交易链路的执行路径、监控交易的性能指标、定位交易链路中的异常。对交易链路进行监控具体如下进行说明。

图5示意性示出了根据本公开实施例的对交易链路进行监控的流程图。如图5所示,通过Span池,对请求的交易链路进行监控可以进一步包括操作S510~S530。

在操作S510,通过Span池中各个标识符之间的关系,追踪和分析交易链路的执行路径。

具体而言,在Span池中,Span池会记录Span ID之间的父子关系、时间戳、耗时等信息。

通过Span池中的Span ID之间的父子关系,可以还原交易的执行流程,了解每个节点的调用顺序和耗时情况,从而确定交易链路。

在操作S520,通过统计Span池中各个Span的耗时信息监控交易的性能指标。

在操作S530,通过分析Span池中各个Span数据快速定位交易链路中的异常。

在本公开的实施例中,通过统计Span池中各个Span的耗时信息,可以获取交易的整体执行时间、各个组件和服务的耗时分布,从而评估交易的性能和瓶颈所在。

具体而言,根据各个Span ID查询,获取各个Span中请求的开始时间和结束时间。根据这些时间信息,可以计算出请求在各个服务之间的耗时,并进一步分析和跟踪请求的流程和性能。还可以通过分析Span池中的各个Span数据,可以快速定位交易链路中的异常或故障,帮助及时发现并解决问题。

通过本公开的实施例,通过Span池可以对交易链路进行监控,高效了解交易的执行状况、性能指标和问题定位,从而优化系统的运行效率和稳定性。

基于上述交易链路追踪,本公开还提供了一种交易链路追踪装置。以下将结合图6对该装置进行详细描述。

图6示意性示出了根据本公开实施例的交易链路追踪装置的结构框图。

如图6所示,本实施例的交易链路追踪装置应用于分布式服务系统,分布式服务系统包括n个交易节点,n为大于等于1的整数。该交易链路追踪装置600包括交易拦截模块610、标识符传递模块620、下游Span生成模块630与交易链路确定模块640。

交易拦截模块610,用于拦截第i交易节点的请求并生成Span(i),其中Span(i)包括Span(i)标识符,i为大于等于1且小于等于n的整数。在一实施例中,交易拦截模块610可以用于执行前文描述的操作S210,在此不再赘述。

标识符传递模块620,用于注入Span(i)标识符至第i+1交易节点。在一实施例中,标识符传递模块620可以用于执行前文描述的操作S220,在此不再赘述。

下游Span生成模块630,用于提取传递至第i+1交易节点的Span(i)标识符并生成Span(i+1),其中Span(i+1)包括Span(i+1)标识符与Span(i)标识符。在一实施例中,下游Span生成模块630可以用于执行前文描述的操作S230,在此不再赘述。

交易链路确定模块640,用于根据n个Span标识符之间的关系,确定请求的交易链路路径。在一实施例中,交易链路确定模块640可以用于执行前文描述的操作S240,在此不再赘述。

在本公开的实施中,交易链路确定模块640还包括链路追踪单元、性能监控单元与异常定位单元。

链路追踪单元,用于通过Span池中各个标识符之间的关系,追踪和分析交易链路的执行路径。性能监控单元,用于通过统计Span池中各个Span的耗时信息监控交易的性能指标。异常定位单元,用于通过分析Span池中各个Span数据快速定位交易链路中的异常。

根据本公开的实施例,交易拦截模块610、标识符传递模块620、下游Span生成模块630与交易链路确定模块640中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,交易拦截模块610、标识符传递模块620、下游Span生成模块630与交易链路确定模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,交易拦截模块610、标识符传递模块620、下游Span生成模块630与交易链路确定模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图7示意性示出了根据本公开实施例的适于实现交易链路追踪的电子设备的方框图。

如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。电子设备700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。

在该计算机程序被处理器701执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分709被下载和安装,和/或从可拆卸介质711被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

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

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 目标检测方法和装置、电子设备、存储介质、程序产品
  • 行人再识别方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 服务链路追踪方法、设备、存储介质及程序产品
  • 产品交易方法、装置、计算机设备、存储介质和程序产品
技术分类

06120116679624