Mock用例生成方法、设备、介质及计算机程序产品与流程

文档序号:26050340发布日期:2021-07-27 15:25阅读:116来源:国知局
Mock用例生成方法、设备、介质及计算机程序产品与流程

本发明涉及金融科技(fintech)技术领域,尤其涉及mock用例生成方法、设备、计算机存储介质及计算机程序产品。



背景技术:

随着计算机技术的发展,越来越多的技术(大数据、分布式、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、通用性要求,也对接口测试技术提出了更高的要求。

mock(模拟)测试是应用开发过程中的一个重要环节,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。利用mock测试,可在应用开发过程中,降低前端和后端的耦合性,使得前端人员无需等待后端返回的数据后再做调试,实现前后端的分离以及前后端并行开发。mock最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为

现有的接口自动化测试平台,目前仅支持对上下游两个接口发散mock引擎规则,对于多个接口、涉及复杂状态机的场景,若采用两两发散方式,会导致冗余用例数量剧增,大量的冗余用例会占用接口测试资源,而且不利于维护。



技术实现要素:

本发明的主要目的在于提出一种mock用例生成方法、设备、计算机存储介质及计算机程序产品,旨在降低mock用例的冗余率。

为实现上述目的,本发明提供一种mock用例生成方法,所述mock用例生成方法包括如下步骤:

在检测到mock用例生成请求时,确定所述mock用例生成请求对应的目标接口协议以及所述目标接口协议的下游接口协议,根据所述目标接口协议和所述下游接口协议生成原始mock用例;

运行所述原始mock用例,并获取运行各所述原始mock用例的代码覆盖数据;

将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例。

可选地,所述代码覆盖数据包括运行各所述原始mock用例的覆盖代码,所述将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例的步骤包括:

将各所述原始mock用例的覆盖代码进行两两比对,确定所述原始mock用例中存在代码包含关系的目标用例集;

根据所述目标用例集对所述原始mock用例进行去重处理,得到精准mock用例。

可选地,所述代码覆盖数据还包括代码覆盖率,所述根据所述目标用例集对所述原始mock用例进行去重处理,得到精准mock用例的步骤包括:

确定各所述目标用例集中各目标用例的代码覆盖率,将各所述目标用例集中代码覆盖率最高的目标用例确定为保留用例,将各所述目标用例集中除所述保留用例外的用例确定为冗余用例;

将所述原始mock用例中的所述冗余用例删除,得到精准mock用例。

可选地,所述将各所述原始mock用例的覆盖代码进行两两比对,确定所述原始mock用例中存在代码包含关系的目标用例集的步骤之后,还包括:

若所述原始mock用例中,不存在覆盖代码两两之间存在包含关系的mock用例,则将所述原始mock用例作为精准mock用例。

可选地,所述根据所述目标接口协议和所述下游接口协议生成原始mock用例的步骤包括:

获取所述目标接口协议和所述下游接口协议对应的接口字段的枚举值集合,对各接口协议的所述接口字段的枚举值集合求笛卡尔积,得到发散mock引擎规则;

根据所述发散mock引擎规则和所述发散mock引擎规则中各枚举值的枚举值状态生成原始mock用例。

可选地,将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例的步骤之后,还包括:

若检测到所述目标接口协议下游新增下游接口协议,获取新增下游接口协议的对应的接口字段的枚举值集合;

将所述新增下游接口协议的对应的接口字段的枚举值集合与所述精准mock用例对应的接口字段的枚举值集合求笛卡尔积,得到更新mock引擎规则;

根据所述更新mock引擎规则生成更新mock用例,运行所述更新mock用例,并获取运行各所述更新mock用例的代码覆盖数据,根据所述更新mock用例的代码覆盖数据对所述更新mock用例进行去重处理,得到更新后的精准mock用例。

可选地,所述将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例的步骤之后,还包括:

将所述精准mock用例的用例标识与运行所述精准mock用例的报文和运行结果关联保存,作为基线版本;

在接收到对测试版本的版本比对请求时,根据所述测试版本的用例标识获取对应的基线版本;

将所述基线版本的报文和运行结果分别和所述测试版本的报文和运行结果做一致性校验,并输出一致性校验结果。

此外,为实现上述目的,本发明还提供一种mock用例生成系统,所述mock用例生成系统包括:

用例生成模块,用于在检测到mock用例生成请求时,确定所述mock用例生成请求对应的目标接口协议以及所述目标接口协议的下游接口协议,根据所述目标接口协议和所述下游接口协议生成原始mock用例;

代码获取模块,用于运行所述原始mock用例,并获取运行各所述原始mock用例的代码覆盖数据;

用例去重模块,用于将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例。

此外,为实现上述目的,本发明还提供一种mock用例生成设备,所述mock用例生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的mock用例生成程序,所述mock用例生成程序被所述处理器执行时实现如上所述的mock用例生成方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有mock用例生成程序,所述mock用例生成程序被处理器执行时实现如上所述的mock用例生成方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机程序产品,所述计算机程序产品包括mock用例生成程序,所述mock用例生成程序被处理器执行时实现如上所述的mock用例生成方法的步骤。

本发明通过在检测到mock用例生成请求时,确定所述mock用例生成请求对应的目标接口协议以及所述目标接口协议的下游接口协议,根据所述目标接口协议和所述下游接口协议生成原始mock用例;运行所述原始mock用例,并获取运行各所述原始mock用例的代码覆盖数据;将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例。通过在生成和运行原始mock用例后,根据用例运行时的代码覆盖数据对用例进行比对,并根据比对结果去原始mock用例进行去重,能够有在保证用例的场景覆盖度的前提下,尽可能的减少冗余用例,节约接口测试资源。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的mock用例生成设备结构示意图;

图2为本发明mock用例生成方法第一实施例的流程示意图;

图3为本发明mock用例生成系统的系统模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的mock用例生成设备结构示意图。

本发明实施例mock用例生成设备可以是pc机或服务器设备,其上运行有虚拟机。

如图1所示,该mock用例生成设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的mock用例生成设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及mock用例生成程序。

在图1所示的mock用例生成设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的mock用例生成程序,并执行下述mock用例生成方法中的操作。

基于上述硬件结构,提出本发明mock用例生成方法实施例。

参照图2,图2为本发明mock用例生成方法第一实施例的流程示意图,所述方法包括:

步骤s10,在检测到mock用例生成请求时,确定所述mock用例生成请求对应的目标接口协议以及所述目标接口协议的下游接口协议,根据所述目标接口协议和所述下游接口协议生成原始mock用例;

本实施例mock用例生成方法运用于mock用例生成设备中,mock用例生成设备可以是终端、机器人或者pc设备。

现有的接口自动化测试平台,目前仅支持对上下游两个接口发散mock引擎规则,对于多个接口、涉及复杂状态机的场景,若采用两两发散方式,会导致冗余用例数量剧增,大量的冗余用例会占用接口测试资源,而且不利于维护。

在此背景下,本实施例提供了一种mock用例生成方案,通过在对两个或以上的接口进行用例发散的场景下,在生成和运行原始mock用例后,根据用例运行时的代码覆盖数据对用例进行比对,并根据比对结果去原始mock用例进行去重,能够有在保证用例的场景覆盖度的前提下,尽可能的减少冗余用例,节约接口测试资源

在本实施例中,mock用例生成请求可以是用户触发的,也可以是mock用例生成设备在检测到接口测试请求时,根据接口测试请求自动触发的。mock用例生成请求携带有目标接口标识,根据mock用例生成请求携带的目标接口标识,可以从预设的协议管理平台中拉取与该目标接口标识对应的目标接口协议,并根据与该目标接口协议关联的上下游链路关系,从协议管理平台拉取该目标接口协议的所有下游接口协议。其中,协议管理平台负责维护接口链路中接口的上下游关系以及对应的接口协议。可以理解的是,目标接口协议的下游接口协议可以是一个,也可以是多个,本实施例不做具体限制。

在获取到目标接口协议和下游接口协议后,即可基于各接口协议中的接口字段生成原始mock用例。

步骤s20,运行所述原始mock用例,并获取运行各所述原始mock用例的代码覆盖数据;

在本实施例中,在生成原始mock用例后,通过mock规则引擎执行原始mock用例,并获取运行各原始mock用例的代码覆盖数据。代码覆盖数据中可以包括执行用例覆盖到的代码(即覆盖代码),还可以包括执行用例未覆盖到的代码,还可以包括代码覆盖率。

在一实施场景中,运行原始mock用例的代码覆盖数据由预先设置的代码覆盖数据检测工具获取得到,代码覆盖数据检测工具通过检测基本的全量代码,确定用例在运行时执行了哪些代码(覆盖代码)和没有执行哪些代码(未覆盖代码),进而基于覆盖代码和未覆盖代码计算代码覆盖率。例如,该代码覆盖数据检测工具可以是jacoco、emma、cobertura等。

步骤s30,将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例。

在本实施例中,在确定各原始mock用例的代码覆盖数据之后,可以将各代码覆盖数据进行比对,确定根据比对结果确定冗余用例,对原始mock用例进行去重处理,即,将原始mock用例中的冗余用例删除,得到精准mock用例。

本实施例通过在检测到mock用例生成请求时,确定所述mock用例生成请求对应的目标接口协议以及所述目标接口协议的下游接口协议,根据所述目标接口协议和所述下游接口协议生成原始mock用例;运行所述原始mock用例,并获取运行各所述原始mock用例的代码覆盖数据;将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例。通过在生成和运行原始mock用例后,根据用例运行时的代码覆盖数据对用例进行比对,并根据比对结果去原始mock用例进行去重,能够有在保证用例的场景覆盖度的前提下,尽可能的减少冗余用例,节约接口测试资源,方便后续分析测试结果以及回归测试工作。

进一步地,基于上述实施例,提出本发明mock用例生成方法第二实施例。代码覆盖数据包括运行各所述原始mock用例的覆盖代码,上述步骤s30包括:

步骤a1,将各所述原始mock用例的覆盖代码进行两两比对,确定所述原始mock用例中存在代码包含关系的目标用例集;

步骤a2,根据所述目标用例集对所述原始mock用例进行去重处理,得到精准mock用例。

在本实施例中,代码覆盖数据包括运行各原始mock用例的覆盖代码,在获取到各原始mock用例的覆盖代码后,将各原始mock用例的覆盖代码两两之间进行比对,确定两两用例的覆盖代码之间是否存在代码包含关系,若存在,则将存在代码包含关系的用例归到同一目标用例集,再根据目标用例集对原始mock用例进行去重处理,得到精准mock用例。其中,所谓代码包含关系,指的是一个用例的覆盖代码被另一用例的覆盖代码完全包含。

可以理解的是,若目标用例集中有n个目标用例,则至少存在一种组合方式,使该目标用例集中的n-1个目标用例的覆盖代码都能被第n个目标用例的覆盖代码包含,其中,n≥2。例如,若原始mock用例包括a、b、c、d、e、f和g7个用例,若经覆盖代码比对确定则一目标用例集为{a,b,c},另一目标用例集为{d,e},还一目标用例集为{d,f}。

进一步地,若经覆盖代码比对流程,确定原始mock用例中不存在有代码包含关系用例,说明原始mock用例中不存在冗余用例,则无需对原始mock用例进行去重处理,可直接将原始mock用例作为精准mock用例。

进一步地,代码覆盖数据还包括代码覆盖率,上述步骤a2包括:

步骤a21,确定各所述目标用例集中各目标用例的代码覆盖率,将各所述目标用例集中代码覆盖率最高的目标用例确定为保留用例,将各所述目标用例集中除所述保留用例外的用例确定为冗余用例;

步骤a22,将所述原始mock用例中的所述冗余用例删除,得到精准mock用例。

在本实施例中,代码覆盖数据还包括代码覆盖率,在确定目标用例集后,继续确定各目标用例集中各目标用例的代码覆盖率,由于代码覆盖率反映的是程序中源代码被测试的比例和程度,代码覆盖率越高,说明该用例被运行时,执行的代码越全面,故在对目标用例集中的目标用例进行筛选时,将同一目标用例集中代码覆盖率最高的目标用例确定为保留用例,将该目标用例集中除保留用例外的其他用例确定为冗余用例,将冗余用例从原始mock用例中删除,剩下的用例即为精准mock用例。

例如,若原始mock用例包括a、b、c、d、e、f和g7个用例,若经覆盖代码比对确定则一目标用例集为{a,b,c},另一目标用例集为{d,e},还一目标用例集为{d,f},a、b、c、d、e、f的代码覆盖率分别为50%、90%、70%、82%、98%、88%,则冗余用例为a、c、d,精准mock用例为b、e、f和g。

在本实施例中,通过将代码覆盖率最高,且包含其他冗余用例的保留用例保留,其他包含于该保留用例的冗余用例从原始mock用例中删除,能够得到场景覆盖度较高的精准mock用例,保证测试的全面性。

进一步地,基于上述实施例,提出本发明mock用例生成方法第三实施例,上述步骤s10中,所述根据所述目标接口协议和所述下游接口协议生成原始mock用例的步骤包括:

步骤b1,获取所述目标接口协议和所述下游接口协议对应的接口字段的枚举值集合,对各接口协议的所述接口字段的枚举值集合求笛卡尔积,得到发散mock引擎规则;

步骤b2,根据所述发散mock引擎规则和所述发散mock引擎规则中各枚举值的枚举值状态生成原始mock用例。

在本实施例中,由于接口协议中预先设置有原始mock用例的生成依据,即接口字段(每个接口协议配置1个接口字段)及其对应的枚举值集合,因此,在确定目标接口协议和其下游接口协议后,即可获取到每个接口协议的接口字段及其对应的枚举值集合,将各接口协议的接口字段的枚举值集合求笛卡尔积,即可得到发散mock引擎规则。例如,若接口1的下游链接关系为接口1-接口2-接口3,接口1对应的接口字段为a,该接口字段对应的枚举值集合为{0,1};接口2对应的接口字段为b,该接口字段对应的枚举值集合为{a,b};接口3对应的接口字段为c,该接口字段对应的枚举值集合为{2,3},则对接口1、2、3的接口字段的枚举值集合求笛卡尔积,即求{0,1}*{a,b}*{2,3},得到的{0,a,2},{0,a,3}、{0,b,2}、{0,b,3}、{1,b,2}、{1,b,3}、{1,a,2}和{1,a,3}即为发散mock引擎规则。

接口协议中还可以包括与各接口字段对应的枚举值的枚举值状态(包括失败、成功、超时等状态),在得到发散mock引擎规则之后,即可结合发散mock引擎规则和对应的枚举值状态生成mock用例。

在本实施例中,通过根据目标接口协议及其下游接口协议中的枚举值集合来求笛卡尔积,根据笛卡尔积来生成原始mock用例,能够保证原始mock用例覆盖了所有场景,从而进一步保证精准mock用例的场景覆度,

进一步地,上述步骤s30之后,还包括:

步骤c1,若检测到所述目标接口协议下游新增下游接口协议,获取新增下游接口协议的对应的接口字段的枚举值集合;

步骤c2,将所述新增下游接口协议的对应的接口字段的枚举值集合与所述精准mock用例对应的接口字段的枚举值集合求笛卡尔积,得到更新mock引擎规则;

步骤c3,根据所述更新mock引擎规则生成更新mock用例,运行所述更新mock用例,并获取运行各所述更新mock用例的代码覆盖数据,根据所述更新mock用例的代码覆盖数据对所述更新mock用例进行去重处理,得到更新后的精准mock用例。

在本实施例中,在确定目标接口协议对应的精准mock用例后,mock用例生成会对目标接口协议关联的上下游链路进行监测,若检测到目标接口协议下游新增了下游接口协议,则会依据新增下游接口协议的对应的接口字段的枚举值集合和精准mock用例更新发散mock引擎规则,得到更新mock引擎规则,发散mock引擎规则的更新方式与前述发散mock引擎规则的生成方式类似,本实施例不再赘述。例如,若根据接口1、2和3得到的精准mock用例对应的接口字段的枚举值集合为{0,a,2}、{0,a,3}和{0,b,2},若接口1下游新增4,接口4对应的接口字段为d,该接口字段对应的枚举值集合为{q,p},则更新mock引擎规则为{0,a,2,q}、{0,a,2,p}、{0,a,3,q}、{0,a,3,p}、{0,b,2,q}和{0,b,2,p}。

对应的,新增下游接口协议中还包括与其接口字段对应的枚举值的枚举值状态,在得到更新mock引擎规则之后,即可结合更新mock引擎规则和对应的枚举值状态生成更新mock用例,继而运行该更新mock用例,确定该更新mock用例对应的代码覆盖数据,结合前述去重处理方式对更新mock用例进行去重,得到更新后的精准mock用例。

在本实施例中,通过在得到精准mock用例后,继续对目标接口协议的下游接口协议进行监测,并在检测到目标接口协议下游新增下游接口协议时,自动根据下游新增接口协议更新精准mock用例,实现了精准mock用例的自动更新。

进一步地,在得到精准mock用例后,可将精准mock用例的用例标识与运行精准mock用例产生的报文以及运行结果(db结果)关联保存,作为基线版本。在后续测试迭代周期中,也会将用例标识与运行用例产生的报文以及运行结果关联保存,作为测试版本。其中,用例的标识可以是预设业务流水号。

若接收到版本比对请求,则可根据版本比对请求对应的测试版本的用例标识获取对应的基线版本和具有相同用例标识的测试版本,将具有相同用例标识的测试版本与基线版本的报文和运行结果分别做一致性校验,即,确定二者的报文是否一致,以及运行结果是否一致,得到一致记录、不一致记录和缺失记录,继而可将一致性校验结果输出,以为测试人员自动提供测试版本与基线版本的差异比对结果,无需人工介入版本比对流程,提升了版本比对的效率,继而提升了测试效率。

本发明还提供一种mock用例生成系统,参照图3,所述mock用例生成系统包括:

用例生成模块10,用于用例生成模块,用于在检测到mock用例生成请求时,确定所述mock用例生成请求对应的目标接口协议以及所述目标接口协议的下游接口协议,根据所述目标接口协议和所述下游接口协议生成原始mock用例;

代码获取模块20,用于运行所述原始mock用例,并获取运行各所述原始mock用例的代码覆盖数据;

用例去重模块30,用于将各所述原始mock用例的代码覆盖数据进行比对,根据比对结果对所述原始mock用例进行去重处理,得到精准mock用例。

可选地,所述代码覆盖数据包括运行各所述原始mock用例的覆盖代码,所述用例去重模块,还用于:

将各所述原始mock用例的覆盖代码进行两两比对,确定所述原始mock用例中存在代码包含关系的目标用例集;

根据所述目标用例集对所述原始mock用例进行去重处理,得到精准mock用例。

可选地,所述代码覆盖数据还包括代码覆盖率,所述用例去重模块,还用于:

确定各所述目标用例集中各目标用例的代码覆盖率,将各所述目标用例集中代码覆盖率最高的目标用例确定为保留用例,将各所述目标用例集中除所述保留用例外的用例确定为冗余用例;

将所述原始mock用例中的所述冗余用例删除,得到精准mock用例。

可选地,所述用例去重模块,还用于:

若所述原始mock用例中,不存在覆盖代码两两之间存在包含关系的mock用例,则将所述原始mock用例作为精准mock用例。

可选地,所述用例生成模块,还用于:

获取所述目标接口协议和所述下游接口协议对应的接口字段的枚举值集合,对各接口协议的所述接口字段的枚举值集合求笛卡尔积,得到发散mock引擎规则;

根据所述发散mock引擎规则和所述发散mock引擎规则中各枚举值的枚举值状态生成原始mock用例。

可选地,所述用例生成模块,还用于:

若检测到所述目标接口协议下游新增下游接口协议,获取新增下游接口协议的对应的接口字段的枚举值集合;

将所述新增下游接口协议的对应的接口字段的枚举值集合与所述精准mock用例对应的接口字段的枚举值集合求笛卡尔积,得到更新mock引擎规则;

根据所述更新mock引擎规则生成更新mock用例,运行所述更新mock用例,并获取运行各所述更新mock用例的代码覆盖数据,根据所述更新mock用例的代码覆盖数据对所述更新mock用例进行去重处理,得到更新后的精准mock用例。

可选地,所述mock用例生成系统,还包括:

基线保存模块,用于将所述精准mock用例的用例标识与运行所述精准mock用例的报文和运行结果关联保存,作为基线版本;

基线获取模块,用于在接收到对测试版本的版本比对请求时,根据所述测试版本的用例标识获取对应的基线版本;

校验模块,用于将所述基线版本的报文和运行结果分别和所述测试版本的报文和运行结果做一致性校验,并输出一致性校验结果。

上述各程序单元所执行的方法可参照本发明mock用例生成方法各个实施例,此处不再赘述。

本发明还提供一种mock用例生成设备,mock用例生成设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的mock用例生成程序,mock用例生成程序被处理器执行时所实现的方法可参照本发明mock用例生成方法各个实施例,此处不再赘述。

本发明还提供一种计算机存储介质。

本发明计算机存储介质上存储有mock用例生成程序,所述mock用例生成程序被处理器执行时实现如上所述的mock用例生成方法的步骤。

其中,在所述处理器上运行的mock用例生成程序被执行时所实现的方法可参照本发明mock用例生成方法各个实施例,此处不再赘述。

本发明还提供一种计算机程序产品。

本发明计算机程序产品包括mock用例生成程序,所述mock用例生成程序被处理器执行时实现如上所述的mock用例生成方法的步骤。

其中,在所述处理器上运行的mock用例生成程序被执行时所实现的方法可参照本发明mock用例生成方法各个实施例,此处不再赘述。

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

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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