本发明专利技术公开了基于云计算实现例外框架的方法,通过采用面向切面编程对业务层中的例外业务进行拦截,从中得到切面、切点;对配置的切面进行统一管理,拦截请求参数;校验框架对请求参数在切点上进行校验;如果校验失败,则将返回值按照预先配置的统一输出格式进行输出,否则继续正常业务的逻辑。本发明专利技术提供的实现例外框架的方法使得程序开发人员更加专注于实现正常的业务逻辑,将请求的例外输出交由校验框架进行统一管理,包含了通用的异常管理,统一的输出风格,更加易于维护,使得整体开发效率得到极大的提升。
【技术实现步骤摘要】
本专利技术涉及云计算
,尤其涉及。
技术介绍
云计算当前流行的技术实现是用Web Service进行调用,随着越来越多的服务发布到云端,能够高效、快速地开发云平台服务就显得越来越重要。由于程序开发人员的水平不一,导致服务存在不稳定性,可扩展性差的问题也随着云计算的蓬勃发展而越发的突出。但是现有技术中的例外架构只是针对某一
进行设计,没有高屋建瓴的从业务本身出发进行设计,因此存在以下两个缺点:( I)配置复杂,没有统一的例外输出设计。(2)
单一,没有从业务层次上进行全面考虑,只是针对某一技术框架而做的验证。
技术实现思路
(一)要解决的技术问题针对上述缺陷,本专利技术要解决的技术问题是如何构建一种Web Service统一的例外架构设计,使得不同层次的程序员只关注正确的业务逻辑,弥补业务的例外输出造成的混乱、丢失、不统一的例外管理现状。 (二)技术方案为解决上述问题,本专利技术提供了基于云计算实现例外架构的方法,具体包括以下步骤:S1、采用面向切面编程对业务层中的例外业务进行拦截,从中得到切面、切点;S2、对配置的所述切面进行统一管理,拦截请求参数;S3、校验框架对所述请求参数在所述切点上进行校验;S4、如果校验失败,则将返回值按照预先配置的统一输出格式进行输出,否则继续正常业务的逻辑。进一步地,所述例外业务是正常程序之外的业务流程,包括非法请求参数、业务数据限制、数据校验和异常处理。进一步地,所述步骤S2还包括将所述请求参数输入到所述校验框架的输入端。进一步地,所述请求参数在进行配置时,由所述例外业务的字段做多种业务逻辑配置。进一步地,所述步骤S3中进行校验过程是按照预先配置的业务逻辑进行校验操作的。进一步地,所述步骤S4中对所述返回值的处理是采用接口设计原则,对输出格式进行封装。(三)有益效果本专利技术提供了基于云计算实现例外架构的方法,使得程序开发人员更加专注于实现正常的业务逻辑,将请求的例外输出交由校验框架进行统一管理,而且不需要单独设计通用的异常管理,统一的输出风格,更加易于维护,使得整体开发效率得到极大的提升。附图说明图1为本专利技术实施例中基于云计算实现例外架构的方法的步骤流程图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本专利技术实施例中提供了基于云计算实现例外架构的方法,步骤流程如图1所示,具体包括以下步骤:步骤S1、采用面向切面编程对业务层中的例外业务进行拦截,从中得到切面、切点。其中面向切面编程(Aspect Oriented Programming,AOP)可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP也可以说是这种目标的一种实现。其中的例外业务是正常程序之外的业务流程,包括非法请求参数、业务数据限制、数据校验和异常处理。切面(aspect)是为了实现了交叉剪切(cross-cutting)功能而设计的模块,最常见的是logging模块,程序按功能被分为好几层,如果按传统的继承,商业模型继承日志模块的话根本没有什么意义,而通过创建一个logging切面就可以使用AOP来实现相同的功倉泛。连接点(jointpoint)是切面插入应用程序的地方,连接点能被方法调用,而且也会被抛出例外。连接点是应用程序提供给切面插入的地方,可以添加新的方法。处理逻辑(advice)是切面(aspect)功能的实现,通知程序新的行为。如在logging模块中,loggingadvice包括logging的实现代码,比如像写日志到一个文件中。切点(pointcut)可以控制把哪些处理逻辑(advice)应用于连接点上去,通常使用切点通过正则表达式来把明显的名字和模式进行匹配应用。步骤S2、对配置的切面进行统一管理,拦截请求参数,并将请求参数输入到校验框架的输入端。其中请求参数在进行配置时,由例外业务的字段做多种业务逻辑配置。对请求参数采用注解的方式进行管理,用注解的方式的好处就是能够避免使用大量的配置文件,而且更加灵活,开发人员可以针对某一字段做多种业务逻辑配置。步骤S3、校验框架对请求参数在切点上进行校验。进行校验过程是按照预先配置的业务逻辑进行校验操作的。在实际开发过程中校验框架会自动进行验证,程序开发人员只需要处理正确的处理逻辑(advice)即可。步骤S4、如 果校验失败,则将返回值按照预先配置的统一输出格式进行输出,否则继续正常业务的逻辑。对返回值的处理是采用接口设计原则,对输出格式进行封装。其中返回值的设计是统一对用户设计的输出格式进行封装。例如:客户输出参数为json格式,校验框架会自动把例外信息进行封装,放回到客户端。所有的AOP的切面逻辑是采用CGLIB (CodeGeneration Library,—种开源项目)与接口两种方式开发,如果用户显示的继承切面接口,则采用接口,不继承,则自动扩展生成子类。这样用户不用关注返回结果的格式设计,程序业务出现例外自动会封装成用户想要的格式风格。此处为了性能上考虑,默认是采用接口方式。针对每一个请求参数的注解,都会存在一一对应的异常码。除了统一例外码与注解,该校验框架提供可扩展接口,由用户灵活设计自己的注解,并自定义例外码。设计好的注解和例外码只需实现验证框架提供的接口即可。校验框架通过AOP配置纵向切面,可以处理通用的异常管理,把异常与错误码一一对应,返回到客户端。用户自定义异常只需实现校验框架的异常管理接口,当使用时候,通过注解注入到请求参数的属性上。通过使用本实施例提供的方法,使得程序开发人员更加专注于实现正常的业务逻辑,将请求的例外输出交由校验框架进行统一管理,而且不需要单独设计通用的异常管理,统一的输出风格,更加易于维护,使得整体开发效率得到极大的提升。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也 属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。权利要求1.,其特征在于,所述方法具体包括: 51、采用面向切面编程对业务层中的例外业务进行拦截,从中得到切面、切点; 52、对配置的所述切面进行统一管理,拦截请求参数; 53、校验框架对所述请求参数在所述切点上进行校验; 54、如果校验失败,则将返回值按照预先配置的统一输出格式进行输出,否则继续正常业务的逻辑。2.如权利要求1所述的方法,其特征在于,所述例外业务是正常程序之外的业务流程,包括非法请求参数、业务数据限制、数据校验和异常处理。3.如权利要求1所述的方法,其特征在于,所述步骤S2还包括将所述请求参数输入到所述校验框架的输入端。4.如权利要求1所述的方法,其特征在于,所述请求参数在进行配置时,由所述例外业务的字段做多种业务逻辑配置。5.如权利要求1所述的方法,其特征在于,所述步骤S3中进行校验过程是按照预先配置的业务逻辑进行校验操作的。6.如权利要求1所述的方法,其特征在于,所述步骤S4中对所述返回值的处理是采用接口设计原本文档来自技高网...
【技术保护点】
基于云计算实现例外框架的方法,其特征在于,所述方法具体包括:S1、采用面向切面编程对业务层中的例外业务进行拦截,从中得到切面、切点;S2、对配置的所述切面进行统一管理,拦截请求参数;S3、校验框架对所述请求参数在所述切点上进行校验;S4、如果校验失败,则将返回值按照预先配置的统一输出格式进行输出,否则继续正常业务的逻辑。
【技术特征摘要】
【专利技术属性】
技术研发人员:马晓超,
申请(专利权)人:汉柏科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。