一种构建数据同步引擎和数据查询同步方法技术

技术编号:37442777 阅读:15 留言:0更新日期:2023-05-06 09:14
本申请涉及一种构建数据同步引擎和数据查询同步的方法,一种构建数据同步引擎方法的包括:步骤一:配置三个注解,注解包括:@EnableIaaSDataEngine、@DataInterceptor和@DataBoxHandler;步骤二:配置拦截处理类接口,配置拦截处理类接口包括:定义拦截处理类接口DataBox、定义实现成功拦截后的处理逻辑以及定义AbstractDataBox;步骤三:定义拦截器、参数管理与注册拦截器;数据查询同步的方法,包括:使用数据同步引擎查询同步数据。本申请解决了原来存在的同一套管理界面下切换不同底层IaaS资源时引起的数据不一致、前端界面展示逻辑混乱不协调的问题。逻辑混乱不协调的问题。逻辑混乱不协调的问题。

【技术实现步骤摘要】
一种构建数据同步引擎和数据查询同步方法


[0001]本申请涉及互联网
,特别是涉及一种构建数据同步引擎和数据查询同步方法。

技术介绍

[0002]在云计算场景中,我们往往会有一个PaaS管理控制台底层对接适配多个IaaS资源的情况出现,而这个时候我们对云资源的管理控制平台的架构设计一般都是同一套的。因此,我们的多云适配管理控制台就会出现这样一种场景:当某个资源池底层对接的IaaS层资源是IaaS1,而另一个资源池对接的底层IaaS资源是IaaS2,在同一个控制台,两个IaaS查出来的部分数据不一致时,就会导致前端界面展示的内容出现不协调性。而且,不同的IaaS层返回数据字段的类型和定义也有差别,这个时候我们直接根据接口去查询底层IaaS层数据返回给前端页面展示,就会出现不同资源池有不同的界面。

技术实现思路

[0003]基于上述问题,本申请提供一种构建数据同步引擎和数据查询同步的方法。
[0004]一种构建数据同步引擎和数据查询同步的方法,构建数据同步引擎,包括如下三个步骤:
[0005]步骤一:数据引擎配置三个注解,三个注解包括:@EnableIaaSDataEngine、@DataInterceptor和@DataBoxHandler;
[0006]步骤二:数据引擎配置拦截处理类接口,配置拦截处理类接口包括:定义拦截处理类接口DataBox、定义实现成功拦截后的处理逻辑以及定义AbstractDataBox;
[0007]步骤三:定义拦截器、参数管理与注册拦截器;
[0008]参数包括:拦截方法的入参和返回参数类型;
[0009]数据查询同步的方法,包括:使用数据同步引擎查询同步数据。
[0010]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,@EnableIaaSDataEngine标注在项目的配置类或者启动类上,表示开启数据引擎功能;@EnableIaaSDataEngine包括:interceptors属性值、handlers属性值和iaasType属性值;
[0011]interceptors属性值注解需要定义拦截的Mybatis及其拦截机制方法所在的路径;
[0012]handlers属性值注解需要拦截处理类的目录;
[0013]IaaSType属性值注解需要拦截的IaaS层资源的类型。
[0014]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,@DataInterceptor标注在需要拦截的Mybatis及其拦截机制的dao方法上,@DataInterceptor包括:bean属性;
[0015]bean属性注解待拦截方法对应的拦截处理类以及待拦截方法对应的拦截处理类的名称。
[0016]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,@DataBoxHandler标注在类上与@DataInterceptor注解里的bean属性相对应,是待拦截方法对应的拦截处理类。
[0017]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,定义实现成功拦截后的处理逻辑包括:拦截处理类实现execute方法自定义实现成功拦截后的处理逻辑。
[0018]具体的,本申请实施例中,拦截处理类需要实现execute方法自定义实现成功拦截后的处理逻辑,比如对查询后的数据做校验、替换等。
[0019]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,定义AbstractDataBox用于拦截@EnableIaaSDataEngine中IaaSType属性值注解的需要拦截的IaaS层资源的类型。
[0020]具体的,本申请实施例中,IsFilter方法是判断是否会被拦截,依赖于注解@EnableIaaSDataEngine里配置的iaasType属性值。一般情况下只用关注处理方法的实现,而拦截判断方法则可以表现为通用的方式:符合定义的IaasType类型的,才允许被拦截,其余的不做拦截即可,基于此,本申请定义了抽象类AbstractDataBox实现该方法,在实现拦截处理逻辑时,继承这个抽象类即可。
[0021]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,数据同步引擎是基于Java语言的注解和数据库持久层框架Mybatis及其拦截机制实现的。
[0022]本申请所提出的一种构建数据同步引擎和数据查询同步的方法基于Java语言的注解实现,只需要配置jdk环境而不需要其他额外的依赖,具有与其他平台的低耦合、可跨平台运行和可移植的特点。
[0023]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,注册拦截器包括:根据注解@EnableIaaSDataEngine配置的拦截目录和需要拦截的IaaS资源类型,获取项目中被注解@DataInterceptor标注的dao方法和bean属性里指定的拦截处理类,其中,拦截处理类被注解@DataBoxHandler标注,获取拦截方法的入参和返回参数类型并保存,注册拦截处理类并保存拦截处理类的引用。
[0024]具体的,本申请实施例中,根据注解@EnableIaaSDataEngine配置的拦截目录和需要拦截的IaaS资源类型(IaasType属性值决定),去获取项目中被注解@DataInterceptor标注的dao方法和bean属性里指定的拦截处理类(被注解@DataBoxHandler标注),获取拦截方法的入参和返回参数类型并保存,同时注册拦截处理类并保存拦截处理类的引用。
[0025]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,注册拦截器依赖于Java语言的类加载器机制加载拦截处理类、spring框架的bean管理机制加载bean属性、读取bean属性的环境变量参数以及读取注解标注的类和方法实现。
[0026]具体的,本申请实施例中,拦截器的注册机制实现依赖于Java语言的类加载器机制加载拦截处理类、spring框架的bean管理机制加载bean属性和读取bean属性的环境变量参数以及读取注解标注的类和方法实现。
[0027]进一步地,上述一种构建数据同步引擎和数据查询同步的方法中,使用所述数据同步引擎查询同步数据,包括:
[0028]当进行请求到对应拦截的数据库方法时,定义的拦截器、注册的拦截器、拦截方法的入参和返回参数类型,调用实现处理器接口DataBox的execute方法进行拦截处理实现自
定义逻辑得到处理结果,并将所述处理结果按返回参数类型进行返回。
[0029]具体的,本申请实施例中,当进行请求到对应拦截的数据库方法时,数据同步引擎就会执行拦截同时根据自定义的处理逻辑去完成处理,如调用不同的IaaS资源后对返回的数据进行校验和替换等操作。
[0030]本申请实施例的优点在于:1)本申请相对比于现有的多云适配管理控制平台而言,在保证原有系统平台功能的完整性上,解决了原来存在的同一套管理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种构建数据同步引擎和数据查询同步的方法,其特征在于,所述构建数据同步引擎,包括如下三个步骤:步骤一:数据引擎配置三个注解,所述三个注解包括:@EnableIaaSDataEngine、@DataInterceptor和@DataBoxHandler;步骤二:数据引擎配置拦截处理类接口,所述配置拦截处理类接口包括:定义拦截处理类接口DataBox、定义实现成功拦截后的处理逻辑以及定义AbstractDataBox;步骤三:定义拦截器、参数管理与注册拦截器;所述参数包括:拦截方法的入参和返回参数类型;所述数据查询同步的方法,包括:使用所述数据同步引擎查询同步数据。2.根据权利要求1所述的一种构建数据同步引擎和数据查询同步的方法,其特征在于,所述@EnableIaaSDataEngine标注在项目的配置类或者启动类上,表示开启数据引擎功能;所述@EnableIaaSDataEngine包括:interceptors属性值、handlers属性值和iaasType属性值;所述interceptors属性值注解需要定义拦截的Mybatis及其拦截机制方法所在的路径;所述handlers属性值注解需要拦截处理类的目录;所述IaaSType属性值注解需要拦截的IaaS层资源的类型。3.根据权利要求1所述的一种构建数据同步引擎和数据查询同步的方法,其特征在于,所述@DataInterceptor标注在需要拦截的Mybatis及其拦截机制的dao方法上,所述@DataInterceptor包括:bean属性;所述bean属性注解待拦截方法对应的拦截处理类以及所述待拦截方法对应的拦截处理类的名称。4.根据权利要求1所述的一种构建数据同步引擎和数据查询同步的方法,其特征在于,所述@DataBoxHandler标注在类上与所述@DataInterceptor注解里的bean属性相对应,是待拦截方法对应的拦截处理类。5.根据...

【专利技术属性】
技术研发人员:周睿
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1