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

一种基于责任链的业务处理方法、装置、系统及存储介质

文献发布时间:2024-04-18 20:01:30


一种基于责任链的业务处理方法、装置、系统及存储介质

技术领域

本发明属于计算机业务处理技术,尤其涉及一种基于责任链的业务处理方法、装置、系统及存储介质。

背景技术

在很多业务场景中,用户提出的业务需求往往具备有序性,业务处理过程的每个节点会触发对应的任务来完成相应的逻辑,随着业务处理愈发自动化和智能化,可以从用户的业务需求中选取节点构成责任链,通过责任链模式对业务数据进行处理、计算、存储等操作。

责任链模式是一种设计模式,可以为业务请求创建一个处理中对象的链,即Handlers Chain,从而实现请求的发送者和处理者的解耦。在责任链模式里,包括一些命令请求和一系列的处理对象(又称处理者,Handler),每个处理者的属性决定了它能处理哪些请求。

在责任链模式中,通常每个处理者都包括了对另一个处理者的引用,业务请求在责任链上传递,如果一个处理者不能处理请求,其会把该请求顺着责任链传递给下一个处理者,直到链上的某一个处理者决定处理此请求。发出这个业务请求的客户端并不知道链上的哪一个节点最终处理了这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。

在实际业务场景中,如果用户提出新的业务场景,则需要重新配置一条处理该业务场景的责任链,再把新配置的责任链部署到开发环境中,代码修改工作量大,扩展性差。

发明内容

基于此,本发明旨在提出一种基于责任链的业务处理方法、装置、系统及存储介质,由抽象处理者识别业务请求中业务数据的执行顺序,并把业务数据发生给执行顺序中的首个具体处理者,进而由责任链上的具体处理者完成对业务数据的处理和传递,以至少解决以上现有技术提及的缺陷。

第一方面,本发明提供一种基于责任链的业务处理方法,在抽象处理者处执行,包括:

接收客户端发送的业务请求,业务请求至少包括业务数据;

根据业务请求确定业务处理逻辑;

根据业务处理逻辑确定首个具体处理者,首个具体处理者为业务处理逻辑中首个业务处理节点对应的具体处理者;

把业务请求发送至首个具体处理者,使其完成对业务请求的处理和传递。

进一步地,根据业务请求确定业务处理逻辑包括:

获取业务请求中的业务逻辑字段;

从业务逻辑字段中获取业务类型标识和业务类型排序;

根据业务类型标识和业务类型排序确定业务处理逻辑。

进一步地,根据业务处理逻辑确定首个具体处理者包括:

根据业务类型标识和业务类型排序确定业务逻辑字段中排在首位的业务类型;

根据具体处理者的对象属性确定排在首位的业务类型对应的具体处理者为首个具体处理者。

第二方面,本发明提供一种基于责任链的业务处理方法,在具体处理者处执行,包括:

接收抽象处理者根据上述第一方面的方法或责任链上其他具体处理者发送的业务请求,业务请求至少包括业务数据;

根据业务请求确定业务处理逻辑;

根据自有对象属性处理业务请求,并根据业务处理逻辑把业务请求传递给下一个具体处理者。

进一步地,根据业务请求确定业务处理逻辑包括:

获取业务请求中的业务逻辑字段;

从业务逻辑字段中获取业务类型标识和业务类型排序;

根据业务类型标识和业务类型排序确定业务处理逻辑。

进一步地,根据自有对象属性处理业务请求,并根据业务处理逻辑把业务请求传递给下一个具体处理者包括:

根据业务类型标识和自有对象属性处理业务请求;

根据业务类型排序确定相对于当前业务类型的下一个业务类型;

把处理后的业务请求传递给下一个业务类型对应的具体处理者。

第三方面,本发明提供一种基于责任链的业务处理装置,被配置在抽象处理者处,包括:

第一业务请求接收单元,被配置为接收客户端发送的业务请求,业务请求至少包括业务数据;

第一业务逻辑确定单元,被配置为根据业务请求确定业务处理逻辑;

处理者确定单元,被配置为根据业务处理逻辑确定首个具体处理者,首个具体处理者为业务处理逻辑中首个业务处理节点对应的具体处理者;

业务传递单元,被配置为把业务请求发送至首个具体处理者,使其完成对业务请求的处理和传递。

第四方面,本发明提供一种基于责任链的业务处理装置,被配置在具体处理者处,包括:

第二业务请求接收单元,被配置为接收抽象处理者根据上述第一方面的方法或责任链上其他具体处理者发送的业务请求,业务请求至少包括业务数据;

第二业务逻辑确定单元,被配置为根据业务请求确定业务处理逻辑;

业务请求处理单元,被配置为根据自有对象属性处理业务请求,并根据业务处理逻辑把业务请求传递给下一个具体处理者。

第五方面,本发明提供一种基于责任链的业务处理系统,部署有责任链,包括抽象处理者节点和至少一个具体处理者节点;

抽象处理者节点被配置为执行第一方面的业务处理方法,具体处理者节点被配置为执行第二方面的业务处理方法。

第六方面,本发明提供一种电子设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的基于责任链的业务处理方法的各个实施步骤,或,执行上述第二方面实施例提供的基于责任链的业务处理方法的各个实施步骤。

第七方面,本发明还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的基于责任链的业务处理方法的各个实施步骤,或,执行上述第二方面实施例提供的基于责任链的业务处理方法的各个实施步骤。

从以上技术方案可以看出,本发明具有如下有益效果:

本发明提供一种基于责任链的业务处理方法、装置、系统及存储介质,其中的业务处理方法通过抽象处理者先确定业务处理逻辑,把业务请求发给业务处理逻辑中的首个具体处理者,业务请求不需要在完整的责任链中从头至尾流动,提高业务处理的效率;当用户提出新的业务请求时,不需要对原有部署责任链的代码进行过于复杂的改动,只需要修改业务请求者(即客户端)中业务逻辑的参数,抽象处理者即可调动责任链上不同的具体处理者;由于采用具体处理者对抽象处理者继承的设计模式,责任链具有高扩展性和高复用性,需要增加新执行动作时,只需要新增相应的具体处理者继承抽象处理者即可。

附图说明

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

图1为本发明实施例提供的一种业务处理系统架构图;

图2为本发明实施例提供的一种基于责任链的业务处理方法的实现流程;

图3为本发明实施例提供的另一基于责任链的业务处理方法的实现流程;

图4为本发明实施例提供的一种基于责任链的自动化对账业务流程图;

图5为本发明实施例提供的一种基于责任链的业务处理装置结构示意图;

图6为本发明实施例提供的另一基于责任链的业务处理装置结构示意图;

图7为本发明实施例提供的一种基于责任链的业务处理系统架构图;

图8为本发明实施例提供的电子设备架构图;

图9为本申请实施例中提供的计算机可读存储介质的结构示意图。

具体实施方式

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

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。抽象类通常包含抽象方法和抽象访问器,且不能直接实例化。

责任链模式是一种软件设计模式,包括一些命令请求和一系列的处理对象,还描述了在链上添加新的处理对象的方法。在责任链模式中,客户端只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,请求会自动进行传递,实现了请求的发送者和处理者的解耦。

责任链模式主要包括以下角色:

抽象处理者(Handler):定义一个处理请求的接口,包含抽象处理方法和一个后继连接。

具体处理者(Concrete Handler):实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理,否则将该请求转给它的后继者。

客户端类(Client):创建业务处理逻辑,并向链上的具体处理者对象提交请求,它不关心处理细节和请求的传递过程。

本发明以下各实施例提供了一种基于责任链的业务处理方法、装置、系统及存储介质,以实现高效的业务处理。

如图1所示,系统架构100可以包括终端设备101、102,服务器103,数据处理服务器104、105、106和网络107。网络107用以在终端设备101、102,服务器103和数据处理服务器104、105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102通过网络107与服务器103交互,以接收或发送消息等,例如,终端101、102可以生成业务相关的业务请求,并将业务请求发送至服务器103。终端设备101、102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

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

服务器103与数据处理服务器104、105、106构成分布式架构的节点网络,服务器103与数据处理服务器104、105、106可以作为节点网络中的节点。其中,服务器103可以起到控制作用,选取业务处理服务器构成责任链,指示责任链中的业务处理服务器进行业务处理,例如通过责任链中的业务处理服务器对业务请求进行响应。在一个实施例中,服务器103可以是从业务处理服务器中选取出来的服务器,除了起到控制作用,也可以组成责任链进行业务处理。

需要说明的是,本申请实施例所提供的基于责任链的业务处理方法一般由服务器执行,相应地,基于责任链的业务处理装置一般设置于服务器中。

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

参阅图2,示出了本申请一个实施例提供的基于责任链的业务处理方法的一种可选流程,该流程在抽象处理者处执行,可以包括:

步骤S21.接收客户端发送的业务请求,业务请求至少包括业务数据。

具体地,其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与终端设备进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。

终端设备所发出的业务请求至少包括业务数据,其中体现了一定的业务处理逻辑。当提及业务处理逻辑时,本申请提供的实施例通常指的是有一定业务执行顺序的指令性数据,即当服务器调用责任链处理该业务请求时,各具体处理者需根据业务执行顺序依此完成业务处理和传递。

步骤S22.根据业务请求确定业务处理逻辑。

具体地,业务请求中包括业务逻辑字段,抽象处理者可以根据业务逻辑自动确定业务处理逻辑,据此确定业务请求应该传递给哪个具体处理者。

示例性的,业务逻辑字段可以根据特定的业务场景有序排列一定数量的业务类型,例如“交易-退款”、“交易-手续费减免”、“交易-账单分期处理-还款”等,各个业务类型都有对应的具体处理者,抽象处理者根据业务逻辑字段可以确定特定业务场景的特定处理逻辑。

示例性的,步骤S22可以包括如下步骤:

步骤S221.获取业务请求中的业务逻辑字段。

步骤S222.从业务逻辑字段中获取业务类型标识和业务类型排序。

步骤S223.根据业务类型标识和业务类型排序确定业务处理逻辑。

步骤S23.根据业务处理逻辑确定首个具体处理者,首个具体处理者为业务处理逻辑中首个业务处理节点对应的具体处理者。

具体地,终端设备发送的业务请求不再需要循责任链从头到尾都传递一遍,而是由抽象处理者根据业务处理逻辑确定首个具体处理者。

示例性的,步骤S23中的根据业务处理逻辑确定首个具体处理者可以包括如下步骤:

步骤S231.根据业务类型标识和业务类型排序确定业务逻辑字段中排在首位的业务类型。

步骤S232.根据具体处理者的对象属性确定排在首位的业务类型对应的具体处理者为首个具体处理者。

当提及首个具体处理者时,本发明提供的各实施例通常指的是业务请求中特定业务场景中首个业务类型对应的具体处理者,而非责任链上的首个具体处理者。示例性的,当业务场景为“交易-退款”时,首个具体处理者为交易处理者;当业务场景为“罚息减免-退款”时,首个具体处理者为罚息减免处理者。

步骤S24.把业务请求发送至首个具体处理者,使其完成对业务请求的处理和传递。

具体地,抽象处理者把业务请求直接发给业务处理逻辑的首个具体处理者,业务请求无需从责任链的起始点开始传递,例如,当业务场景为“交易-退款”时,首个具体处理者为交易处理者,则抽象处理者直接把业务请求发送给交易处理者;当业务场景为“罚息减免-退款”时,首个具体处理者为罚息减免处理者,则抽象处理者直接把业务请求发送给罚息减免处理者。

本申请上述实施例提供的业务处理方法,通过抽象处理者先确定业务处理逻辑,把业务请求发给业务处理逻辑中的首个具体处理者,业务请求不需要在完整的责任链中从头至尾流动,提高业务处理的效率;当用户提出新的业务请求时,不需要对原有部署责任链的代码进行过于复杂的改动,只需要修改业务请求者(即客户端)中业务逻辑的参数,抽象处理者即可调动责任链上不同的具体处理者;由于采用具体处理者对抽象处理者继承的设计模式,责任链具有高扩展性和高复用性。

参阅图3,本发明一个实施例提供基于责任链的业务处理方法的另一种可选流程,该流程在具体处理者处执行,可以包括:

步骤S31.接收抽象处理者或责任链上其他具体处理者发送的业务请求,业务请求至少包括业务数据。

具体地,对于责任链上的具体处理者而言,业务请求的来源有两个,当作为业务处理逻辑上的首个具体处理者时,业务请求则来自抽象处理者;当作为业务处理逻辑上的非首个具体处理者时,业务请求则来自业务处理逻辑上相对于当前具体处理者而言的上一个具体处理者。在特定的业务处理逻辑下,业务请求并不在责任链的每个具体处理者中传递,而是只在于业务处理逻辑中涉及的业务类型对应的具体处理者处传递。

示例性的,当特定的业务场景为“交易-退款”时,交易处理者接收的业务请求来自抽象处理者,退款处理者接收的业务请求则来自交易处理者。若交易处理者和退款处理者在责任链上中间间隔有其他具体处理者,而这些具体处理者又不参与业务处理逻辑的执行,则不会接收到业务请求。

步骤S32.根据业务请求确定业务处理逻辑。

具体地,具体处理者确定业务处理逻辑的目的在于确定业务请求的传递方向,再根据自有的对象属性处理完业务请求传递至业务处理逻辑上下一个具体处理者,供其处理根据其属性处理业务请求。

示例性的,步骤S32可以包括如下步骤:

步骤S321.获取业务请求中的业务逻辑字段。

步骤S322.从业务逻辑字段中获取业务类型标识和业务类型排序。

步骤S323.根据业务类型标识和业务类型排序确定业务处理逻辑。

步骤S33.根据自有对象属性处理业务请求,并根据业务处理逻辑把业务请求传递给下一个具体处理者。

具体地,具体处理者只会根据自有的对象属性处理业务请求中属于自己业务范围的部分,例如,当业务请求的业务场景为“交易-退款”时,交易处理者只会处理交易请求中的交易业务,不处理退款业务,退款处理者处理退款业务。

示例性的,步骤S33可以包括如下步骤:

步骤S331.根据业务类型标识和自有对象属性处理业务请求。

步骤S332.根据业务类型排序确定相对于当前业务类型的下一个业务类型。

步骤S333.把处理后的业务请求传递给下一个业务类型对应的具体处理者。

下面通过一个实际应用场景对本申请的业务处理方法进行介绍。

假设在服务器上部署了一个责任链,用于完成自动化对账,链式结构设计为“交易-账单分期-罚息减免-手续费减免-还款-退款-数据对比”,当用户创建了新的业务场景并提起业务请求时,各个具体处理者自行决定是否处理或传递给下一个处理者,使得业务请求在链上流动。

基于本申请实施例提供的基于责任链的业务处理方法,客户端类作为执行责任链的入口,其定义了用户所创建的业务场景的业务处理逻辑,客户端类所提起的业务请求中包括业务数据和一些指令性数据,其中的指令性数据包括业务逻辑字段,其定义了处理该业务场景的业务类型标识和业务类型排序,即涉及哪些业务类型,以及按何种顺序执行这些业务类型。

抽象处理者则定义了属性和处理方法,其接收到客户端类的业务请求后,根据业务请求中的业务逻辑字段获取业务类型标识和业务类型排序,根据业务类型标识和业务类型排序确定业务逻辑字段中排在首位的业务类型,并把业务请求传递给首位业务类型对应的具体处理者。

具体处理者是继承抽象处理者的具体实现,在接收到业务请求后根据自有的对象属性判断当前流程是否需要处理,如果需要则处理当前业务请求,然后再把业务请求根据业务处理逻辑传递给下一个具体处理者。

如图4所示,客户端类创建了一个“交易(trade)-还款(return)”的业务场景,其业务逻辑字段中tradeHandler.handleRequest(“trade return”)定义了业务类型为交易和还款,并定义了先交易后还款的业务处理顺序。

抽象处理者(Handler)根据业务请求中的上述业务逻辑字段确定首个具体处理者为交易处理者(TradeHandler),把业务请求发送给交易处理者(TradeHandler)。

交易处理者(TradeHandler)接收到业务请求后根据业务请求中的业务逻辑字段判断是否需要处理,由于业务逻辑字段中定义了交易类型,则交易处理者(TradeHandler)根据该结果和自有的交易对象属性处理业务请求中的交易业务,处理完成后把业务请求发送给业务逻辑字段中定义的下一个处理者,即还款处理者(ReturnHandler)。

在这种执行逻辑下,当用户创建新的业务场景,例如“交易(trade)—账单分期(billInstallment)—还款(return)”,只需要修改业务逻辑字段为tradeHandler.handleRequest(“trade billInstallment return”),无需修改部署责任链的代码环境。而当新的执行用例需要扩展新的具体处理者时,例如反向充值,只需要新增一个相应的具体处理者继承抽象处理者,具有高扩展性和高复用性。

此外,本申请一个实施例还提供一种基于责任链的业务处理装置,被配置在抽象处理者处,如图5所示,包括:

第一业务请求接收单元510,被配置为接收客户端发送的业务请求,业务请求至少包括业务数据。

第一业务逻辑确定单元520,被配置为根据业务请求确定业务处理逻辑。

处理者确定单元530,被配置为根据业务处理逻辑确定首个具体处理者,首个具体处理者为业务处理逻辑中首个业务处理节点对应的具体处理者。

业务传递单元540,被配置为把业务请求发送至首个具体处理者,使其完成对业务请求的处理和传递。

本申请一个实施例还提供一种基于责任链的业务处理装置,被配置在具体处理者处,如图6所示,包括:

第二业务请求接收单元610,被配置为接收抽象处理者或责任链上其他具体处理者发送的业务请求,业务请求至少包括业务数据。

第二业务逻辑确定单元620,被配置为根据业务请求确定业务处理逻辑。

业务请求处理单元630,被配置为根据业务请求和自有对象属性处理业务请求,并根据业务处理逻辑把业务请求传递给下一个具体处理者。

如图7所示,本申请一个实施例提供一种基于责任链的业务处理系统700,部署有责任链,该系统可配置在前述各实施例提及的服务器中,包括抽象处理者节点710和至少一个具体处理者节点720。

抽象处理者节点710和具体处理者节点720单元的具体实现逻辑可以参照前述业务处理方法部分的相关介绍,此处不再赘述。

参阅图8,其示出了一种电子设备的硬件结构框图,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图8所示,该电子设备包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;

在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述基于责任链的业务处理方案的各个处理流程。

参阅图9,本发明实施例还提供一种可读存储介质90,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例和/或结合实施例的任一种可能的实施方式提供的基于责任链的业务处理方案的各个处理流程。

计算机可读取存储介质90可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质90包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质90具有执行上述方法中的任何方法步骤的程序代码92的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码92可以例如以适当形式进行压缩。

上述各实施例已经关于可能的情形尤其详细地描述了本发明,本领域技术人员将认识到可以通过其他实施例实践本发明。部件的具体命名、术语的大小写、属性、数据结构或者任何其他的程序设计或结构方面都不具有强制性或者重要性,实施本发明的机制或其特征可以具有不同的名称、形式或规程。可以通过硬件和软件的组合(如所描述的),完全通过硬件元素或者完全通过软件元素实施所述系统。文中描述的各种系统部件之间的功能的具体划分只是示范性的,而非强制性的;相反,可以通过多个部件执行单个系统部件执行的功能,或者可以通过单个部件执行多个部件执行的功能。

本领域的技术人员应当理解,上述公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例公开不限制于任何特定的硬件和软件结合。

这些计算装置可执行的程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

本发明的某些方面包括采取算法形式的文中描述的过程步骤和指令。应指出,本发明的过程步骤和指令可以实现在软件、固件和/或硬件当中,在通过软件实施时,其能够被下载,从而保存在各种操作系统使用的不同平台上并从所述平台对其进行操作。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域技术人员可以理解,各附图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“可能的设计”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

技术分类

06120116556629