数据处理方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:35513685 阅读:14 留言:0更新日期:2022-11-09 14:29
本公开关于一种数据处理方法、装置、电子设备及计算机可读存储介质,该方法包括:获取多个具有关联关系的目标模块;对于每一目标模块,将目标模块拆分为第一子模块和第二子模块;第一子模块用于定义目标模块的接口,第二子模块用实现目标模块的业务逻辑;配置第一关联关系、第二关联关系以及第三关联关系;对多个第一子模块和多个第二子模块进行编译。可见,第一子模块即接口定义模块之间不会有相互的关联关系;且第二子模块即具体实现模块之间不会相互关联,具体实现模块只单向关联接口定义模块。因此,不会造成循环关联,对多个第一子模块和多个第二子模块进行编译,编译打包成功,从而可以解决因模块之间循环关联而导致的编译打包失败的问题。编译打包失败的问题。编译打包失败的问题。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及数据处理领域,特别是涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]Maven是基于项目对象模型(POM project object model),可以通过配置的一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。目前,很多项目都是基于Maven的方式进行管理。由于在项目开发时,开发者通常都是在一个模块里进行开发。而随着模块里的代码越来越多,需要对模块进行拆分,即将原始的模块拆分为多个子模块。
[0003]但是,由于对模块进行拆分前,代码都在一个模块中,拆开模块所得的子模块中很多逻辑都是相互关联的。比如,拆分一个模块得到两个子模块,分别为模块1和模块2,模块1中的逻辑A关联模块2中的逻辑B,而模块2中的逻辑D又关联模块1中的逻辑C,这样就造成了循环关联,导致编译打包失败。
[0004]相关技术中,通过排除关联Maven exclusions进行双向排除,仍以上述例子为例,直接将逻辑D与逻辑C之间的关联关系排除掉,虽然解决不同子模块间的循环关联,但是这种解决方式会严重影响编译速度。

技术实现思路

[0005]为了解决相关技术中存在的上述技术问题,本公开提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,本公开的技术方案如下:
[0006]根据本公开实施例的第一方面,提供了一种数据处理方法,所述方法包括:
[0007]获取多个具有关联关系的目标模块;
[0008]对于每一所述目标模块,将所述目标模块拆分为第一子模块和第二子模块;所述第一子模块用于定义所述目标模块的接口,所述第二子模块用实现所述目标模块的业务逻辑;
[0009]配置第一关联关系、第二关联关系以及第三关联关系;所述第一关联关系用于表征拆分所得的多个第一子模块之间未存在关联关系,所述第二关联关系用于表征拆分所得的多个第二子模块之间未存在关联关系,所述第三关联关系用于表征拆分所得的多个第一子模块与所述多个第二子模块之间存在单向关联关系;
[0010]对所述多个第一子模块和所述多个第二子模块进行编译。
[0011]可选的,所述配置第三关联关系,包括:
[0012]对于拆分所得的任一第二子模块,配置该第二子模块单向关联于第一目标子模块和/或除所述第一目标子模块之外的其他第一子模块;所述第一目标子模块与该第二子模块拆分于同一目标模块。
[0013]可选的,所述方法还包括:
[0014]将拆分所得的多个第二子模块进行组合,得到实现聚合模块;
[0015]在运行拆分所得的多个第一子模块和多个第二子模块时,从所述实现聚合模块中查找运行所需的第二目标子模块。
[0016]可选的,所述在运行拆分所得的多个第一子模块和多个第二子模块时,从所述实现聚合模块中查找运行所需的第二目标子模块,包括:
[0017]对于每一第二子模块,确定所述第二子模块所关联的第一子模块的目标接口;
[0018]在所述实现聚合模块中查找所关联的第一子模块对应的第二目标子模块;
[0019]从所查找到的第二目标子模块中查找所述目标接口对应的目标实现类。
[0020]第二方面,本公开实施例提供了一种数据处理装置,所述装置包括:
[0021]目标模块获取单元,被配置为执行获取多个具有关联关系的目标模块;
[0022]目标模块拆分单元,被配置为执行对于每一所述目标模块,将所述目标模块拆分为第一子模块和第二子模块,所述第一子模块用于定义所述目标模块的接口,所述第二子模块用实现所述目标模块的业务逻辑;
[0023]关联关系配置单元,被配置为执行配置第一关联关系、第二关联关系以及第三关联关系;所述第一关联关系用于表征拆分所得的多个第一子模块之间未存在关联关系,所述第二关联关系用于表征拆分所得的多个第二子模块之间未存在关联关系,所述第三关联关系用于表征拆分所得的多个第一子模块与所述多个第二子模块之间存在单向关联关系;
[0024]模块编译单元,被配置为执行对所述多个第一子模块和所述多个第二子模块进行编译。
[0025]可选的,所述关联关系配置单元,具体被配置为执行:
[0026]对于拆分所得的任一第二子模块,配置该第二子模块单向关联于第一目标子模块和/或除所述第一目标子模块之外的其他第一子模块,所述第一目标子模块与该第二子模块拆分于同一目标模块。
[0027]可选的,所述装置还包括:
[0028]模块组合单元,被配置为执行将拆分所得的多个第二子模块进行组合,得到实现聚合模块;
[0029]模块查找单元,被配置为执行在运行拆分所得的多个第一子模块和多个第二子模块时,从所述实现聚合模块中查找运行所需的第二目标子模块。
[0030]可选的,所述模块查找单元,具体被配置为执行:
[0031]对于每一第二子模块,确定所述第二子模块所关联的第一子模块的目标接口;
[0032]在所述实现聚合模块中查找所关联的第一子模块对应的第二子模块;
[0033]从所查找到的第二子模块中查找所述目标接口对应的目标实现类。
[0034]根据本公开实施例的第三方面,提供了一种电子设备,包括:
[0035]处理器;
[0036]用于存储所述处理器可执行指令的存储器;
[0037]其中,所述处理器被配置为执行所述指令,以实现第一方面所述的数据处理方法。
[0038]根据本公开实施例的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面所述的数据处理方法。
[0039]根据本公开实施例的第五方面,提供了一种计算机程序产品,当其在计算机上运
行时,使得计算机实现第一方面所述的数据处理方法。
[0040]本公开实施例提供的技术方案,获取多个具有关联关系的目标模块;对于每一目标模块,将目标模块拆分为第一子模块和第二子模块;且第一子模块用于定义目标模块的接口,第二子模块用实现目标模块的业务逻辑;并配置拆分所得的多个第一子模块之间未存在关联关系,拆分所得的多个第二子模块之间也未存在关联关系,且拆分所得的多个第一子模块与所述多个第二子模块之间存在单向关联关系,最后对拆分所得的多个第一子模块和多个第二子模块进行编译。
[0041]由上述描述可知,第一子模块用于定义目标模块的接口,第二子模块用于实现目标模块的业务逻辑,实现了将接口定义和业务逻辑实现分离开来;并且,配置为只有第一子模块与第二子模块之间存在单向关联关系,即实现了接口定义与业务逻辑实现的单向关联,因此,拆分所得的多个第一子模块和多个第二子模块不会造成循环关联,对多个第一子模块和多个第二子模块进行编译,编译打包成功,从而可以解决相关技术中因模块之间循环关联而导致的编译打包失败的问题。并且,不会影响编译速度,并能更好的组织代码。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取多个具有关联关系的目标模块;对于每一所述目标模块,将所述目标模块拆分为第一子模块和第二子模块;所述第一子模块用于定义所述目标模块的接口,所述第二子模块用实现所述目标模块的业务逻辑;配置第一关联关系、第二关联关系以及第三关联关系;所述第一关联关系用于表征拆分所得的多个第一子模块之间未存在关联关系,所述第二关联关系用于表征拆分所得的多个第二子模块之间未存在关联关系,所述第三关联关系用于表征拆分所得的多个第一子模块与所述多个第二子模块之间存在单向关联关系;对所述多个第一子模块和所述多个第二子模块进行编译。2.根据权利要求1所述的方法,其特征在于,所述配置第三关联关系,包括:对于拆分所得的任一第二子模块,配置该第二子模块单向关联于第一目标子模块和/或除所述第一目标子模块之外的其他第一子模块;所述第一目标子模块与该第二子模块拆分于同一目标模块。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:将拆分所得的多个第二子模块进行组合,得到实现聚合模块;在运行拆分所得的多个第一子模块和多个第二子模块时,从所述实现聚合模块中查找运行所需的第二目标子模块。4.根据权利要求3所述的方法,其特征在于,所述在运行拆分所得的多个第一子模块和多个第二子模块时,从所述实现聚合模块中查找运行所需的第二目标子模块,包括:对于每一第二子模块,确定所述第二子模块所关联的第一子模块的目标接口;在所述实现聚合模块中查找所关联的第一子模块对应的第二目标子模块;从所查找到的第二目标子模块中查找所述目标接口对应的目标实现类。5.一种数据处理装置,其特征在于,所述装置包括:目标模块获取单元,被配置为执行获取多个具有关联关系的目标模块;目标模块拆分单元,被配置为执行对于每一...

【专利技术属性】
技术研发人员:张吉凯刘敬思许海钊李鑫焱王铭丽
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1