本发明涉及自助终端技术领域,尤其涉及atm业务软件开发调试方法、系统和一种模拟atmp系统。
背景技术:
目前,随着银行业务创新的速度越来越快,现有的atmc(atmcontrol)开发方法,难以适应快速的atm软件更新的需求。随着atm各类特色业务的层出不穷,自助业务需求更新频繁,要求上线快,才能帮助atm设备抢占业务市场,尤其对于银行领域中具有很强时效性的各类特色业务来说,更是如此。
然而,现有的自助业务处理软件atmc开发,要求atmc在一个真实的银行业务处理服务环境,即atmc必须与银行前置系统atmp(atmpreconsole)进行通信和业务交互,这不仅使得atmc的开发受到环境的约束,不利于atmc的快速开发和移动式开发,而且在atmc与真实的atmp对接进行开发调试时,容易给银行设备带来不可逆转的损坏,存在安全隐患。
技术实现要素:
本发明实施例提供了atm业务软件开发调试方法、系统和一种模拟atmp系统,能够使得atmc在开发调试时脱离真实的银行业务处理服务环境,降低开发调试过程中带来的安全隐患。
第一方面,提供了一种atm业务软件开发调试方法,包括:
接收来自待开发调试的atmc传送的报文;
根据预设的配置文件确定与所述报文对应的银行报文格式,所述配置文件预先配置有模拟银行报文协议产生的银行报文格式以及所述银行报文格式对应的应答报文格式;
判断是否所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,所述报文内容通过所述银行报文格式对所述报文进行解析得到;
若所述报文的报文格式与所述银行报文格式不匹配,或所述报文的报文内容不满足预设的正确性条件,则根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文;
若所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,则根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。
可选地,在根据预设的配置文件确定与所述报文对应的银行报文格式之前,还包括:
根据接收所述报文的端口号从预设的配置文件集合中选取对应的一个预设的配置文件,所述配置文件集合中的各个配置文件分别与各个端口号存在对应关系,不同的配置文件分别用于模拟不同银行机构的银行报文协议。
可选地,还包括:
检测对所述配置文件中的银行报文格式和/或对应的应答报文格式的设置操作;
若检测到所述设置操作,则根据所述设置操作对所述配置文件中的银行报文格式和/或对应的应答报文格式进行更新。
第二方面,提供了一种模拟atmp系统,包括:
报文接收模块,用于接收来自待开发调试的atmc传送的报文;
银行报文格式确定模块,用于根据预设的配置文件确定与所述报文对应的银行报文格式,所述配置文件预先配置有模拟银行报文协议产生的银行报文格式以及所述银行报文格式对应的应答报文格式;
报文判断模块,用于判断是否所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,所述报文内容通过所述银行报文格式对所述报文进行解析得到;
错误应答模块,用于若所述报文判断模块的判断结果为否,则根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文;
报文应答模块,用于若所述报文判断模块的判断结果为是,则根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。
可选地,所述模拟atmp系统还包括:
配置文件选取模块,用于根据接收所述报文的端口号从预设的配置文件集合中选取对应的一个预设的配置文件,所述配置文件集合中的各个配置文件分别与各个端口号存在对应关系,不同的配置文件分别用于模拟不同银行机构的银行报文协议。
可选地,所述模拟atmp系统上用于接收报文的端口号包括所述模拟atmp系统上自带的基本端口号和自定义端口号,所述自定义端口号通过所述基本端口号加上预设的端口偏移量得到。
可选地,所述配置文件还包括对应的端口号、对应银行机构的机构名称以及银行报文格式的公共信息。
可选地,所述模拟atmp系统还包括:
设置操作检测模块,用于检测对所述配置文件中的银行报文格式和/或对应的应答报文格式的设置操作;
配置文件更新模块,用于若所述设置操作检测模块检测到所述设置操作,则根据所述设置操作对所述配置文件中的银行报文格式和/或对应的应答报文格式进行更新。
第三方面,提供了一种atm业务软件开发调试系统,包括待开发调试的atmc以及上述的模拟atmp系统。
可选地,还包括:
atm硬件模块,用于模拟atm终端上的sp功能,为所述atmc提供符合cen/xfs标准硬件操作的模拟硬件环境。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,首先,接收来自待开发调试的atmc传送的报文;然后,根据预设的配置文件确定与所述报文对应的银行报文格式,所述配置文件预先配置有模拟银行报文协议产生的银行报文格式以及所述银行报文格式对应的应答报文格式;接着,判断是否所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,所述报文内容通过所述银行报文格式对所述报文进行解析得到;若所述报文的报文格式与所述银行报文格式不匹配,或所述报文的报文内容不满足预设的正确性条件,则根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文;若所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,则根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。这样,通过预设配置文件来模拟atmc开发调试所需的业务处理服务环境,可以根据atmc传送的报文作出符合银行报文协议的报文应答,在帮助atmc完成开发调试的同时,使得atmc可以脱离真实的银行业务处理服务环境,不必与银行前置系统atmp进行通信和业务交互,有利于atmc的快速开发和移动式开发,同时降低了因atmc与真实的atmp对接进行开发调试带来的安全隐患。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中atm业务软件开发调试系统一个实施例示意图;
图2为本发明实施例中一种模拟atmp系统一个实施例结构图;
图3为本发明实施例中atm业务软件开发调试方法一个实施例流程图;
图4为本发明实施例中模拟atmp系统的配置文件在一个应用场景下银行机构与端口号的配置项示意图;
图5为本发明实施例中模拟atmp系统的配置文件在一个应用场景下defaultset部分内容的配置项示意图;
图6为本发明实施例中模拟atmp系统的配置文件在一个应用场景下elementtype部分内容的配置项示意图;
图7为本发明实施例中模拟atmp系统的配置文件在一个应用场景下transationlist部分内容的配置项示意图。
具体实施方式
本发明实施例提供了atm业务软件开发调试方法、系统和一种模拟atmp系统,用于解决现有atmc进行开发调试时必须与真实的atmp对接的问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例中一种atm业务软件开发调试系统一个实施例示意图。如图1所示,该atm业务软件开发调试系统包括待开发调试的atmc以及一种模拟atmp系统。该atmc主要用于atm终端上进行业务处理和硬件控制;该模拟atmp系统主要用于模拟atm业务软件与银行后台的业务处理和网络交互功能。
另外,为了更好地进行atmc的开发调试,为atmc的调试提供硬件环境,该atm业务软件开发调试系统还可以包括:atm硬件模块,用于模拟atm终端上的sp功能,为所述atmc提供符合cen/xfs标准硬件操作的模拟硬件环境。其中,该atm硬件模块可以基于wosa架构,该wosa(全称是windows开放式系统体系结构windowsopensystemarchitecture)是指微软公司提出的一种在windows操作系统下的软件架构wosa/xfs是基于wosa的扩展金融服务(windowsopensystemarchitecture/extensionsforfinancialservices),是微软公司为全球金融行业软件提出的一种软件架构,它在wosa软件架构的基础上针对全球金融行业进行了一些相应的修改。
如图2所示,本发明中的模拟atmp系统可以包括以下模块:
报文接收模块201,用于接收来自待开发调试的atmc传送的报文;
银行报文格式确定模块202,用于根据预设的配置文件确定与所述报文对应的银行报文格式,所述配置文件预先配置有模拟银行报文协议产生的银行报文格式以及所述银行报文格式对应的应答报文格式;
报文判断模块203,用于判断是否所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,所述报文内容通过所述银行报文格式对所述报文进行解析得到;
错误应答模块204,用于若所述报文判断模块203的判断结果为否,则根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文;
报文应答模块205,用于若所述报文判断模块203的判断结果为是,则根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。
进一步地,所述模拟atmp系统还可以包括:
配置文件选取模块,用于根据接收所述报文的端口号从预设的配置文件集合中选取对应的一个预设的配置文件,所述配置文件集合中的各个配置文件分别与各个端口号存在对应关系,不同的配置文件分别用于模拟不同银行机构的银行报文协议。
进一步地,所述模拟atmp系统上用于接收报文的端口号可以包括所述模拟atmp系统上自带的基本端口号和自定义端口号,所述自定义端口号通过所述基本端口号加上预设的端口偏移量得到。
进一步地,所述配置文件还可以包括对应的端口号、对应银行机构的机构名称以及银行报文格式的公共信息。
进一步地,所述模拟atmp系统还可以包括:
设置操作检测模块,用于检测对所述配置文件中的银行报文格式和/或对应的应答报文格式的设置操作;
配置文件更新模块,用于若所述设置操作检测模块检测到所述设置操作,则根据所述设置操作对所述配置文件中的银行报文格式和/或对应的应答报文格式进行更新。
请参阅图3,为了便于在上述的atm业务软件开发调试系统进行atmc与模拟atmp系统之间的通信交互和模拟开发调试,本发明还提供了一种atm业务软件开发调试方法,其实施例包括:
301、接收来自待开发调试的atmc传送的报文;
本实施例总,atmc因为业务处理或者功能同步需要,可以向模拟atmp系统发送业务报文(包括取现、存款、查询、转账、改密等业务)或者功能报文(包括申请密钥,设置),从而,模拟atmp系统接收到atmc传送的报文
进一步地,为实现多个银行机构的银行报文协议在同一台pc机上进行atmc的开发调试,可以为每一个银行机构分配一个端口号,不同的端口号对应不同的配置文件,从而可以实现不同银行机构的银行报文协议在模拟atmp系统上的调试。当atmc向模拟atmp系统传送报文时,模拟atmp系统根据接收所述报文的端口号从预设的配置文件集合中选取对应的一个预设的配置文件,所述配置文件集合中的各个配置文件分别与各个端口号存在对应关系,不同的配置文件分别用于模拟不同银行机构的银行报文协议。
更进一步地,模拟atmp系统上的端口号可以独立设计,也可以采用原生系统的基本端口号。在独立设计端口号时,可以在基本端口号的基础上加上预设的端口偏移量得到自定义端口号,例如startport加上baseport。
302、根据预设的配置文件确定与所述报文对应的银行报文格式;
在模拟atmp系统接收到该atmc传送的报文之后,可以根据预设的配置文件确定与所述报文对应的银行报文格式。其中,配置文件中预先配置有模拟银行报文协议产生的银行报文格式以及所述银行报文格式对应的应答报文格式。关于配置文件中预先配置的具体内容,将在本实施例的下述内容中进行说明。
303、判断是否所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,若否,则执行步骤304,若是,则执行步骤305;
本实施例中,可以通过所述银行报文格式对所述报文进行解析,得到所述报文的报文内容。由于在进行atmc的开发调试时,只有当atmc发送的报文的报文格式和报文内容均符合要求时,才能认为该atmc当前发送的报文是正确的,否则该atmc发送的报文格式错误或者内容错误。因此,模拟atmp系统在接收到该报文后进行判断,只有当报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容也满足预设的正确性条件时,才认为该报文在格式和内容上均符合银行报文协议的要求,执行步骤305,反之,则执行步骤304。
其中,上述的正确性条件可以是对报文内容进行字段校验,例如,假设银行报文协议中规定,每个报文的报文内容中必须包含有银行机构的代码,则对报文内容进行字段校验时,若报文内容中不包含正确的银行机构的代码,则认为该报文的报文内容不满足正确性条件;反之,若报文内容中包含正确的银行机构的代码,则认为该报文的报文内容满足正确性条件。
304、根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文;
305、根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。
本实施例中,关于上述的配置文件,一般来说,一个配置文件对应一个银行机构的银行报文协议,并且对应一个端口号。该配置文件模拟了其对应的银行报文协议规定的银行报文格式以及这些银行报文格式对应的应答报文格式。比如,规定了当接收到的报文的报文格式或报文内容不正确时,应当采用何种应答报文格式进行应答,当接收到的报文的报文格式和报文内容正确时,应当如何根据该报文的报文内容作出相应的应答,等等。因此,对于上述步骤304,可以理解的是,若所述报文的报文格式与所述银行报文格式不匹配,或所述报文的报文内容不满足预设的正确性条件,则可以根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文。同理,对于上述步骤305,可以理解的是,若所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,则可以根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。
进一步地,针对配置文件的内容,可以根据业务处理的需要,对各种业务报文和功能报文处理的各种应答结果,或者需要返回该业务处理的非正常处理或者业务处理不成功的报文应答,通过模拟atmp系统由调试用户即时设置,以便可以模拟这些报文的各种处理结果的应答报文。具体地,模拟atmp系统可以检测对所述配置文件中的银行报文格式和/或对应的应答报文格式的设置操作;若模拟atmp系统检测到所述设置操作,则根据所述设置操作对所述配置文件中的银行报文格式和/或对应的应答报文格式进行更新。
例如,对于取款业务报文,正常的成功处理结果是返回“扣款成功”的报文应答,但是当账户余额不足时需要返回“余额不足扣款失败”的应答,当取款金额已超出当日累计的最高取款金额时需要返回“本日取款超限,扣款失败”的应答,这些不同的应答可以由用户在模拟atmp系统上根据atmc调试需要进行设置,以便可以调试atmc的各种功能。
特别地,本实施例中,配置文件的信息可以包括但不限于:银行机构的机构名称、配置的端口号、银行报文格式的公共信息、配置文件存放路径,等等。其中,配置文件中的配置信息可以包括以下三部分内容:
defaultset:定义了当前分行的全局性通用性配置要求;
elementtype:定义了报文中不变项格式信息,即域定义格式;
transationlist:定义了业务报文的配置,包括判断接收报文是否正确的格式,以及对应的应答报文格式。
为便于理解,下面将对上述的配置文件在一个应用场景下的具体配置进行详细描述:
在模拟atmp系统中,其上的配置文件可以包括模拟atmp系统当前支持的银行机构列表以及对应的银行机构支持的端口号,使得被测试的atmc向不同端口号发送报文,就实现了与不同银行机构的业务交互的通信功能。如图4所示,例如:"ip":"127.0.0.1","startport":10900,{"bankname":"农业银行","port":10,"conffolder":"农业银行","linkmode":true};
以上配置项说明农行:当前端口号位:10900+10=10910;当前服务配置路径为:.\virtualp\农业银行;农行主配置文件为:.\virtualp\农业银行\main.json。
对于上述配置文件中的defaultset部分,其包括了每一个银行报文的公共信息,该公共信息包括但不限于以下内容:银行名称、银行日志路径、日志等级、业务报文名称匹配、无需加密的域、报文加密类型和加密密钥、应答报文缺省设置等。如图5所示,defaultset部分内容中配置项意义说明如下:
1.prematch分项:
定义了模拟atmp系统在接收报文后,如何分解确定当前报文信息是什么业务报文。例如:"prematch":["-1","3"],指明了模拟atmp系统收到报文后,先展开"3"域前的信息,然后在和所有交易报文比对,假设找出“存款交易报文”中第"-1"和"3"域对应信息与接收信息相同,那么就确定当前报文为"存款交易"报文,后续解包、打包则按照“存款交易”报文进行处理。可知,模拟atmp系统通过该域的内容确定当前报文是什么报文,如模拟atmp系统解析某银行报文第1域是tmk,则可确定该报文是申请主密钥报文
2.joincheckmac、nojoincheckmac分项:
这两个分项说明哪些项参与或者不参与mac验算。其中“joincheckmac”为指定域参与mac验算,其余域不参与mac验算。nojoincheckmac为指定域不参与mac验算,其余域参与mac验算。
3.bitmaplen分项:
该分项指明了位域长度信息,可以取值为0、64、128,例如,农行机构的位图配置为64。
●当为128时,指明最大位图为128,但是否存在第二位图由8583协议规定本报文是否有超过64的域存在;
●当为64时,表示不能有超过64的域存在;
●当为0时,一般为定长报文,如青海农信机构;
4.macscript分项:
该分项指明了mac校验和生成规则。
●“checkmac”,"makemac"为通用规则;
●“checkhalfmac”为只校验mac前8位;
●“nocheckmac”为不校验mac;
●“checkycmac”,"makeycmac"为邮储规则;
●“checkylmac”,"makeylmac"为银联规则;
●“checkqhnxmac”,"makeqhnxmac"为青海农信规则。
5.initscript分项:
该分项为一些配置规则需要的数据资源。例如:phonemanage:script48_response.json,其含义是:指明了配置处理函数phonemanage需要文件资源为script48_response.json,配置处理函数一般为程序内容处理过程,这些过程在打包、解包时给各个子域赋值或者校验。
6.keycode分项:
该分项定义了密钥名称,和对应的值。
●encrypttype:加密类型1为des加密,2位sm4加密;
●pinpassword:用户缺省密码;
●superkey:三层密钥时的主密钥;
●masterkey:主密钥,或者三层密钥的临时主密钥;
●pinkey:pin密钥,用户密码密钥;
●mackey:mac密钥。
7.request分项:
该分项定义了模拟atmp系统分析请求报文时的缺省配置。例如:{"bit":"52","script":"checkpin"},指明所有请求报文52域的核查函数为checkpin,即检测用户密码。
8.response分项:
该分项定义了模拟atmp系统打包响应报文的缺省配置。例如{"bit":"12","script":"filltime"},指明了所有响应报文第12域使用filltime函数来赋值。
如图6所示,elementtype部分内容为域格式定义信息的说明,其配置项意义说明如下:
1.bit:定义子域名称,为操作子域对应的唯一索引。
2.name:子域中文名称,例如“报文长度”。
3.class:定义子域对应变长格式。其中,"v":定长域;"lv":变长域;"tlv"tlv格式域,主要用于ic数据域。
4.datatype:数据类型,对应不同的补位方式。"n","an",“b',"z"等等,详细可以参考8583格式文档定义。
5.len:子域长度,只对定长域有效。
6.code:域编码格式,各种编码格式决定不同的长度信息。其中,hex:16进制压缩编码;bcd:10进制压缩编码;bytehex:16进制编码;bin:2进制编码;ascii:ascii编码。
7.fmt:定义长度信息,只对变长域(lv)有效。其中,llvar、lllvar、llllvar、lllllvar、llllllvar、lllllllvar、llllllllvar分别对应2至8位长度信息。
8.fmtcode:长度信息的编码格式,只对变长域(lv)有效,格式说明参照code。
如图7所示,transationlist部分内容中配置项意义说明如下:
该部分内容主要包含两部分:其一是接收报文的内容格式:request域范围的内容。其二是应答报文的内容格式:response域范围的内容。每一个request域格式,对应有一个response域格式。使得模拟atmp系统在接收到报文之后,可以参照request域格式进行解析和验证报文的正确性,然后再生成一个response域格式的报文作为该报文的应答报文。
请参阅图7,transationlist部分内容各配置项如下:
1.bit:子域名称。
2.tag:子域出现要求。其中,
"len":本域为长度域,表示在以下出现的所有域内容和为本域的值。
"m","c","o","r":分别规定了域必须存在、条件存在、选择存在、复制等,参见8583文档规定。
3.value:本域值:如果在通用配置的request,或者response定义了本域的缺省值,这里本域的值为业务报文特色规定的值,会覆盖缺省配置值。
4.subbit:指定子域集合文件。此文件定义了子域集合,定义子域格式要求与本文档要求一致,此处不在赘述。
5.script:函数调用关键字。模拟atmp系统内置了一些子域处理函数,这些函数通过关键字来调用。例如"script":"addamountabc",定义了本域会增加用户账户的金额,一般用于存款业务报文。
本实施例中,首先,接收来自待开发调试的atmc传送的报文;然后,根据预设的配置文件确定与所述报文对应的银行报文格式,所述配置文件预先配置有模拟银行报文协议产生的银行报文格式以及所述银行报文格式对应的应答报文格式;接着,判断是否所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,所述报文内容通过所述银行报文格式对所述报文进行解析得到;若所述报文的报文格式与所述银行报文格式不匹配,或所述报文的报文内容不满足预设的正确性条件,则根据所述配置文件向所述atmc返回关于错误报文格式或内容的应答报文;若所述报文的报文格式与所述银行报文格式匹配,且所述报文的报文内容满足预设的正确性条件,则根据所述配置文件向所述atmc返回与所述报文内容对应的应答报文。这样,通过预设配置文件来模拟atmc开发调试所需的业务处理服务环境,可以根据atmc传送的报文作出符合银行报文协议的报文应答,在帮助atmc完成开发调试的同时,使得atmc可以脱离真实的银行业务处理服务环境,不必与银行前置系统atmp进行通信和业务交互,有利于atmc的快速开发和移动式开发,同时降低了因atmc与真实的atmp对接进行开发调试带来的安全隐患。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。