基于制造技术

技术编号:39497927 阅读:22 留言:0更新日期:2023-11-24 11:27
本发明专利技术公开一种基于

【技术实现步骤摘要】
基于ASM字节码技术的关联业务数据校验方法及装置


[0001]本专利技术涉及金融业务数据领域,特别涉及一种基于
ASM
字节码技术的关联业务数据校验方法及装置


技术介绍

[0002]在金融数据领域,业务数据的合法性校验要求较多

一般来说,业务数据生命周期每个阶段都会需要进行校验


Java
开源技术栈中,有比较成熟的基于注解方式的数据校验插件,
hibernate validator
提供简单但丰富的单要素校验器功能,同时支持单要素校验器的自定义开发

[0003]但目前
Java
校验器的模式不能提供金融业务中对关联要素的数据校验的要求

在金融场景中,对于字段关联性的校验十分常见

债券产品数据,需要根据不同计息方式的取值
(
贴现

固息

浮息
)
,分别对债券票面利率

基准利率等本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
ASM
字节码技术的关联业务数据校验方法,包括:步骤
S1
:接收到外部请求的校验参数
object
,获取该参数的
Java
类;步骤
S2
:根据
Java
类的包名

类名以及根据
Java

KEY.FACTORY
生成对应的该
Java
类的动态校验唯一类名;步骤
S3
:判断该动态校验类静态全局句柄是否存在;步骤
S31
:不存在,通过内置的动态校验构造类,按照校验装配父类的配置,利用
ASM
技术构造动态校验器类;步骤
S32
:存在,该动态校验类已生成,使用该类的静态单例句柄,调用其
validate
校验方法,在完成
ASM
动态代码进行关联字段的逻辑判定后,最终调用
HibernateValidator
校验器,校验该字段上其他注解对应的校验方法;检验完成后,对错误码和错误提示信息进行封装,返回校验结果
。2.
根据权利要求1所述的基于
ASM
字节码技术的关联业务数据校验方法,其特征在于:所述步骤
S31
,通过内置的动态校验构造类,按照校验装配父类的配置,利用
ASM
技术构造动态校验器类,包括:
S311
:按照前述唯一类名和
ID
信息,调用
ASM
接口,生成该动态类,并获得该动态类字节码读写相关方法;
S312
:在该动态类写入无参数的私有构造方法的字节码;
S313
:在该动态类写入获取其静态单例方法的字节码;
S314
:在该动态类中写入实现校验装配父类的校验方法的字节码;
S3141
:通过反射获取所有属性成员注解信息

数据类型

取值;遍历每个属性成员;
S3142
:该属性是个成员类定义,无需生成字节码,跳过;
S3143
:该属性不存在业务校验注解,无需生成字节码,跳过;
S3144
:该属性具有条件校验注解码,则生成该属性的校验方法条件判断字节码;
S31441
:生成判断属性值满足条件校验逻辑的字节码;
S31442
:再生成不满足条件的校验字节码;
S3145
:该属性具有嵌套校验注解码,表示该属性是一个复杂数据类型,动态生成校验逻辑;生成该属性的动态校验类,并将其的静态实例声明为本动态校验类的静态属性;
S3146
:该属性是集合类型的集合且具有嵌套校验注解,生成该集合类型属性的动态校验类,并将其的静态实例声明为本动态校验类的静态属性;
S...

【专利技术属性】
技术研发人员:谢志艳王冬明
申请(专利权)人:上海清算信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1