一种合同管理系统自动化测试方法及测试工具
技术领域
本发明实施例涉及软件测试技术领域,具体涉及一种合同管理系统自动化测试方法及测试工具。
背景技术
在合同管理系统中,可以实现对意向金、定金、合同等的统一管理。其中,意向金、定金、合同的状态数量繁多,如起草、盖章、签约、转定金、转合同、无效等;各种状态之间的流转也特别复杂,如意向金可转定金、定金可转合同、意向金可转合同。
现有的技术方案中,在开发人员对于合同管理系统的源代码进行改动后,测试人员进行测试时,通常采用手工测试的方法进行功能回归,在新代码下对状态流转等各项功能进行测试,保证相关功能在新代码下的正确性。而由于状态流转等各项功能程序复杂,测试人员往往需要进行大量的页面操作,从而造成大量的人力资源浪费,且效率低下。
发明内容
为解决现有合同管理系统手工测试效率低下、人力成本高的问题,本发明实施例提供一种合同管理系统自动化测试方法及测试工具。
第一方面,本发明实施例提供一种合同管理系统自动化测试方法,该方法包括:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
第二方面,本发明实施例提供一种合同管理系统自动化测试工具,该工具包括:基础数据构造模块,所述基础数据构造模块具体用于:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;测试执行模块,所述测试执行模块具体用于:根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;测试结果判定模块,所述测试结果判定模块具体用于:将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
第三方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
本发明实施例提供的合同管理系统自动化测试方法及测试工具,解决了合同管理系统中合同状态流转复杂情况下的手工测试的低效率问题,测试过程完全自动化、无需人工参与、效率高、可靠性高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的合同管理系统自动化测试方法流程图;
图2为本发明实施例提供的合同管理系统自动化测试工具结构示意图;
图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的合同管理系统自动化测试方法流程图。如图1所示,所述方法包括:
步骤101、构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;
利用手工进行合同管理系统的测试时,需要首先进行人工输入房源、客源等信息,进而进行相关的测试。本发明实施例提供的合同管理系统自动化测试方法,对于每一项所要测试的功能,可分别利用相应的测试用例进行测试,可以实现合同管理系统的不同功能的自动化测试。
通过运行测试用例实现合同管理系统自动化测试,首先需要模拟人工测试时的输入信息的操作,利用自动化的方式,完成相关测试信息的输入。
本发明实施例通过运行测试用例实现构造基础数据,所述构造基础数据相当于完成人工测试时输入信息的操作。其中,所述基础数据包括房源编码、客源编码和协议编码。所述房源编码代表一处房源,所述客源编码代表一位客源,所述协议编码代表一个协议,所述房源编码、所述客源编码和所述协议编码分别与房源、客源和协议一一对应。
根据所要测试的功能的不同,构造的所述基础数据中所述房源编码、所述客源编码和所述协议编码可以为一个或多个。
步骤102、根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;
在所述基础数据构造成功之后,根据所要测试的功能,调用合同管理系统中相应的控件执行测试,其中,调用所述控件是为了执行所要测试的功能中的相关步骤,如发送合同盖章的请求;所述控件还可以是文件、结构等,只要是合同管理系统的程序代码中可以调用并执行的对象即可。
在所述基础数据构造成功之后,根据所要测试的功能,调用合同管理系统中相应的控件执行测试,可以得到测试结果。根据所要测试的功能的不同,所述控件可能为一个或多个。在一个测试用例中,所述测试结果也可以为一个或多个。
步骤103、将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
对于预设形式的基础数据,根据所要测试的功能的不同,在调用相应的控件进行测试时,针对所得到的每个测试结果,合同管理系统预期的正确结果是已知的。因此,在测试用例中,预先设置预设的正确结果,所述预设的正确结果即合同管理系统预期的正确结果。在构造完成基础数据,并根据所要测试的功能,调用合同管理系统中相应的控件执行测试,进而得到测试结果后,将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则说明所述功能运行正常;否则,说明所述功能运行异常。
本发明实施例提供的合同管理系统自动化测试方法,解决了合同管理系统中合同状态流转复杂情况下的手工测试的低效率问题,测试过程完全自动化、无需人工参与、效率高、可靠性高。
进一步地,基于上述实施例,所述构造基础数据的过程具体包括:接收输入参数,根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据。
测试用例脚本可接受定制化的参数输入,也即在测试用例中,对应特定的输入参数,可预先设置与之对应的所述基础数据的形式,如对应于输入的某个经纪人ID,输出房源编码和客源编码,或者输出房源编码或客源编码。所述构造基础数据的过程具体包括:接收输入参数,根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据。其中,所述基础数据中的房源编码、客源编码通过调用数据库接口进行构造,所述基础数据中的协议编码通过调用API接口进行构造,所述API接口用于通过生成协议编码的形式新建协议。
在上述实施例的基础上,本发明实施例通过根据所接收的输入参数进行判断,调用数据库接口和/或API接口构造基础数据,是构造基础数据的一种有效形式,实现了可靠、便捷地自动化构造房源编码、客源编码和协议编码等基础数据。
进一步地,基于上述实施例,所述根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据具体包括:若判断获知所述输入参数为城市编码和经纪人ID,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;若判断获知所述输入参数为城市编码、经纪人ID和协议类型,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;并根据所述协议类型,调用API接口,构造所述协议编码。
在构造所述基础数据时,可以由城市编码和经纪人ID确定房源数据、客源数据,可以由城市编码、经纪人ID和协议类型确定房源数据、客源数据、协议编码。因此,所述根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据可以设置成按照如下方式实现:若判断获知所述输入参数为城市编码和经纪人ID,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;若判断获知所述输入参数为城市编码、经纪人ID和协议类型,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;并根据所述协议类型,调用API接口,构造所述协议编码。
所述房源编码、所述客源编码可以是合同管理系统自动生成的,如可以是数据库的自增ID。在根据所述协议类型,调用API接口,构造所述协议编码时,可以根据合同管理系统中与构造所述协议编码对应的API接口的设计形式实现调用。如合同管理系统中所述API接口可以设置成对应不同协议类型的协议编码通过一个API接口生成,则根据所述协议类型,调用此公共的API接口,实现协议编码的构造,可以通过编码的不同格式区分不同的协议类型。如所述合同管理系统中所述API接口可以设置成对应不同协议类型的协议编码通过不同的API接口生成,则根据所述协议类型,分别调用与协议类型对应的API接口,实现协议编码的构造,也可以通过编码的不同格式区分不同的协议类型。
在上述实施例的基础上,本发明实施例通过根据城市编码、经纪人ID和协议类型的不同组合实现基础数据的构造,为基础数据的可靠构造提供了有效途径。
进一步地,基于上述实施例,所述功能为协议状态的流转,所述协议状态具体包括:若所述协议类型为意向金,则所述协议状态包括起草、盖章、签约、转定金和转合同;若所述协议类型为定金,则所述协议状态包括起草、盖章、签约和转合同;若所述协议类型为合同,则所述协议状态包括起草、盖章和签约。
在所要测试的功能为协议状态的流转时,所述协议状态可以包括:
若所述协议类型为意向金,则所述协议状态包括起草、盖章、签约、转定金和转合同;意向金状态流转包括:起草->盖章->签约->转定金/转合同。其中,起草是指生成意向金初始文本,协议状态为意向金起草状态;盖章是指在意向金初始文本盖公司章(如中介公司),协议状态为意向金盖章状态;签约是指在意向金盖章状态文本加盖双方的章(业主和客户),协议状态为意向金签约状态;转定金是指意向金协议类型转换为定金协议类型,协议状态为意向金转定金状态;转合同是指意向金协议类型转换为合同协议类型,协议状态为意向金转合同状态。
若所述协议类型为定金,则所述协议状态包括起草、盖章、签约和转合同;定金状态流转包括:起草->盖章->签约->转合同。其中,起草是指生成定金初始文本,协议状态为定金起草状态;盖章是指在定金初始文本盖公司章(如中介公司),协议状态为定金盖章状态;签约指在定金盖章状态文本加盖双方的章(业主和客户),协议状态为定金签约状态;转合同是指定金协议类型转换为合同协议类型,协议状态为定金转合同状态。
若所述协议类型为合同,则所述协议状态包括起草、盖章和签约,合同状态流转包括:起草->盖章->签约。其中,起草是指生成合同初始文本,协议状态为合同起草状态;盖章是指在合同初始文本盖公司章(如中介公司),协议状态为合同盖章状态;签约指在合同盖章状态文本加盖双方的章(业主和客户),协议状态为合同签约状态。
协议状态流转分两种情况,单个经纪人操作同一房源,多个经纪人操作同一房源,业务上要求只允许一个经纪人对同一个房源数据进行定金和合同盖章操作,所以在合同管理系统中可能存在资源占用加锁的情况,即可以通过资源占用加锁的方式实现只允许一个经纪人对同一个房源数据进行定金和合同盖章操作。对于多个经纪人同时操作同一个房源的情况,由于只允许一个经纪人进行定金盖章和合同盖章操作,所以需要验证多个经纪人操作下的房源占用情况。
其中,协议状态及协议状态流转的过程可以根据实际需求设定。对于每一种协议状态流转,可分别生成对应的测试用例,然后根据每一种协议状态流转情况,自动化校验协议状态流转的正确性。以下是其中一个测试用例的举例:
测试用例所要测试的功能:同一个房源,两个经纪人分别录入合同和定金,只允许一个经纪人进行盖章操作。可以通过如下测试流程实现:
(1)经纪人A录入了房源X
(2)经纪人A录入了客源A
(3)经纪人B录入了客源B
(4)A经纪人录入合同
(5)B经纪人录入定金
(6)A经纪人合同盖章,锁定房源
(7)校验合同状态应为合同盖章状态
(8)B经纪人尝试定金盖章,校验盖章失败,状态仍然为定金起草状态。
其中,第(1)~(5)步是构造基础数据的过程,如可以通过输入参数为城市编码、经纪人A ID和协议类型,调用数据库接口,采用直接插入数据库的方法构造所述房源编码和客源编码,实现经纪人A录入房源X及录入客源A,调用API生成协议编码,实现经纪人A录入合同,协议状态为合同起草状态;可以通过输入参数为城市编码、经纪人B ID和协议类型,调用数据库接口,采用直接插入数据库的方法构造所述客源编码,实现经纪人B录入客源B,采用调用API生成协议编码,实现经纪人B录入定金,协议状态为定金起草状态。
调用合同管理系统中相应的控件执行测试,包括调用相应的控件实现A经纪人合同盖章,如相应的控件可以通过发送合同盖章请求的方式请求盖章,在合同管理系统代码无误的情况下,由于对于房源X还没有其他经纪人进行盖章操作,会通过合同盖章请求,协议状态修改为合同盖章状态并锁定房源;同样地,通过调用相应的控件实现B经纪人尝试定金盖章,如相应的控件可以通过发送定金盖章请求的方式请求盖章,在合同管理系统代码无误的情况下,由于对于房源X已有其他经纪人(经纪人A)进行盖章操作,会拒绝定金盖章请求,协议状态仍未定金起草状态。
根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;如上例中测试结果可以为合同的状态和定金的状态。由于正确结果已知,即合同的状态应为合同盖章状态,定金的状态应为定金起草状态。因此,将测试结果与所述正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
以上过程全都是自动化脚本实现。
本发明实施例提供的合同管理系统自动化测试方法,可以实现自动化构造依赖的房客源数据、自动化构造意向金、定金、合同数据,自动化操作状态流转、自动校验状态流转后的正确性;测试过程完全自动化、无需人工参与、效率高、可靠性高。
图2为本发明实施例提供的合同管理系统自动化测试工具结构示意图。如图2所示,所述测试工具包括基础数据构造模块10、测试执行模块20和测试结果判定模块30,其中:
所述基础数据构造模块10具体用于:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;
所述基础数据构造模块10通过运行测试用例实现构造基础数据,所述构造基础数据相当于完成人工测试时输入信息的操作。其中,所述基础数据包括房源编码、客源编码和协议编码。所述房源编码代表一处房源,所述客源编码代表一位客源,所述协议编码代表一个协议,所述房源编码、所述客源编码和所述协议编码分别与房源、客源和协议一一对应。
根据所要测试的功能的不同,构造的所述基础数据中所述房源编码、所述客源编码和所述协议编码可以为一个或多个。
所述测试执行模块20具体用于:根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;
在所述基础数据构造成功之后,根据所要测试的功能,所述测试执行模块20调用合同管理系统中相应的控件执行测试,其中,调用所述控件是为了执行所要测试的功能中的相关步骤;所述控件还可以是文件、结构等,只要是合同管理系统的程序代码中可以调用并执行的对象即可。
在所述基础数据构造成功之后,根据所要测试的功能,调用合同管理系统中相应的控件执行测试,可以得到测试结果。根据所要测试的功能的不同,所述控件可能为一个或多个。在一个测试用例中,所述测试结果也可以为一个或多个。
所述测试结果判定模块30具体用于:将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
对于预设形式的基础数据,根据所要测试的功能的不同,在调用相应的控件进行测试时,针对所得到的每个测试结果,合同管理系统预期的正确结果是已知的。因此,在测试用例中,预先设置预设的正确结果,所述预设的正确结果即合同管理系统预期的正确结果。在所述基础数据构造模块10构造完成基础数据,所述测试执行模块20根据所要测试的功能,调用合同管理系统中相应的控件执行测试,进而得到测试结果后,所述测试结果判定模块30将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则说明所述功能运行正常;否则,说明所述功能运行异常。
本发明实施例提供的合同管理系统自动化测试工具,解决了合同管理系统中合同状态流转复杂情况下的手工测试的低效率问题,测试过程完全自动化、无需人工参与、效率高、可靠性高。
进一步地,基于上述实施例,所述基础数据构造模块10在用于构造基础数据的过程中,具体用于:接收输入参数,根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据。
测试用例脚本可接受定制化的参数输入,也即在测试用例中,对应特定的输入参数,可预先设置与之对应的所述基础数据的形式。所述构造基础数据的过程具体包括:接收输入参数,根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据。其中,所述基础数据中的房源编码、客源编码通过调用数据库接口进行构造,所述基础数据中的协议编码通过调用API接口进行构造,所述API接口用于通过生成协议编码的形式新建协议。
在上述实施例的基础上,本发明实施例通过根据所接收的输入参数进行判断,调用数据库接口和/或API接口构造基础数据,是构造基础数据的一种有效形式,实现了可靠、便捷地自动化构造房源编码、客源编码和协议编码等基础数据。
进一步地,基于上述实施例,所述基础数据构造模块10在用于根据所述输入参数进行判断,调用数据库接口和/或API接口,进行构造所述基础数据的过程中,具体用于:若判断获知所述输入参数为城市编码和经纪人ID,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;若判断获知所述输入参数为城市编码、经纪人ID和协议类型,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;并根据所述协议类型,调用API接口,构造所述协议编码。
在构造所述基础数据时,可以由城市编码和经纪人ID确定房源数据、客源数据,可以由城市编码、经纪人ID和协议类型确定房源数据、客源数据、协议编码。因此,所述基础数据构造模块10在根据所述输入参数进行判断,调用数据库接口和/或API接口,进而构造所述基础数据时,可以设置成按照如下方式实现:若判断获知所述输入参数为城市编码和经纪人ID,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;若判断获知所述输入参数为城市编码、经纪人ID和协议类型,则调用数据库接口,采用直接插入数据库的方法构造所述房源编码和/或客源编码;并根据所述协议类型,调用API接口,构造所述协议编码。
所述房源编码、所述客源编码可以是合同管理系统自动生成的,如可以是数据库的自增ID。在根据所述协议类型,调用API接口,构造所述协议编码时,可以设置成根据不同的协议类型调用不同的API接口实现,也可以通过调用同一API接口实现,具体根据合同管理系统中所述API接口的设计形式而定。
在上述实施例的基础上,本发明实施例通过根据城市编码、经纪人ID和协议类型的不同组合实现基础数据的构造,为基础数据的可靠构造提供了有效途径。
进一步地,基于上述实施例,所述功能为协议状态的流转,所述协议状态具体包括:若所述协议类型为意向金,则所述协议状态包括起草、盖章、签约、转定金和转合同;若所述协议类型为定金,则所述协议状态包括起草、盖章、签约和转合同;若所述协议类型为合同,则所述协议状态包括起草、盖章和签约。
本发明实施例中,所要测试的功能为协议状态的流转,所述协议状态具体包括:若所述协议类型为意向金,则所述协议状态包括起草、盖章、签约、转定金和转合同;其中,意向金状态流转包括:起草->盖章->签约->转定金/转合同;若所述协议类型为定金,则所述协议状态包括起草、盖章、签约和转合同;其中,定金状态流转包括:起草->盖章->签约->转合同;若所述协议类型为合同,则所述协议状态包括起草、盖章和签约,其中,合同状态流转包括:起草->盖章->签约。
其中,协议状态及协议状态流转的过程可以根据实际需求设定。对于每一种协议状态流转,可分别生成对应的测试用例,然后根据每一种协议状态流转情况,自动化校验协议状态流转的正确性。
本发明实施例提供的合同管理系统自动化测试工具,可以实现自动化构造依赖的房客源数据、自动化构造意向金、定金、合同数据,自动化操作状态流转、自动校验状态流转后的正确性;测试过程完全自动化、无需人工参与、效率高、可靠性高。
本发明实施例提供的工具是用于上述方法的,具体功能可参照上述方法流程,此处不再赘述。
图3为本发明实施例提供的电子设备的结构示意图。如图3所示,所述电子设备包括处理器301、存储器302和总线303。其中,所述处理器301和所述存储器302通过所述总线303完成相互间的通信;所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:构造基础数据,所述基础数据包括房源编码、客源编码和协议编码;根据所要测试的功能,在所述基础数据构造成功的基础上,调用合同管理系统中相应的控件执行测试,进而得到测试结果;将所述测试结果与预设的正确结果进行比较,若判断获知所述测试结果与所述正确结果一致,则所述功能运行正常;否则,所述功能运行异常。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。