System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于配置化并应用于电力数字化平台的代码生成系统技术方案_技高网

一种基于配置化并应用于电力数字化平台的代码生成系统技术方案

技术编号:42310475 阅读:5 留言:0更新日期:2024-08-14 15:55
本发明专利技术涉及计算机技术领域,公开了一种基于配置化并应用于电力数字化平台的代码生成系统,包括配置模块、解析模块和生成模块;配置模块用于根据电力项目的数据需求依次进行变量配置、模板配置、生成类型配置、表配置及方案配置;解析模块用于分别对配置信息进行参数解析、模板解析及表信息解析;生成模块用于根据配置的模块和解析得到的参数生成对应的工程代码,并根据代码结构目录打包为压缩文件。本发明专利技术可视化灵活配置相关信息,支持在线配置数据表,多数据源接入,支持多方案代码批量生成、主子表代码生成、前后端代码生成,可以实现代码生成的整套操作流程,无需多应用切换,充分提高了业务研发效率。

【技术实现步骤摘要】

本专利技术涉及计算机,具体来说,涉及一种基于配置化并应用于电力数字化平台的代码生成系统


技术介绍

1、随着电力等传统产业的数字化转型的加速进行,相关企业会根据数字化转型的需要进行全面重构,加速建设企业数字化技术基础设施及相关应用。为了加快这一进程,需充分提高应用软件的研发效率,充分释放研发人员的研发能力。

2、代码生成工具在业界具有较广泛的使用,不限于低代码和工程代码生成两种。低代码主要以表单为基础,搭载流程、仪表盘等,实现个性化而强大的数据管理。但这种方式首先由于目标受众是非专业开发人员,平台能支持的操作会更趋于“傻瓜化”,同时也只会透出相对“亲民化”的模型和概念,无法支撑强大专业的底层开发原语和编程理念;其次不引入代码根本没法实现灵活的定制与扩展。工程代码生成工具主要以开发工具的插件形式存在,这种方式缺乏可视化界面,需要每个研发工程师安装该插件,不够灵活。目前也存在可视化的代码生成工具,但是生成类型比较单一;不支持多种数据源,多张数据表一次性生成;不支持对业务对象灵活自定义;不能在线配置表结构等。

3、就目前现有工具而言并不适合电力等传统行业快速的数字化转型。一方面,以表单为基础的低代码工具不适合复杂的业务,无法实现灵活的定制与扩展。其次已有的工程代码生成工具不够灵活,不适合复杂的业务场景,不能充分解放研发生产力和提高研发效率。

4、而随着电力等传统行业的数字化建设的深入,平台化的代码生成工具需要能够快速生成基本的业务逻辑代码,加快业务软件的建设,从而减少企业成本。针对现有工具存在的问题,本专利技术基于配置化,可视化,支持在线配置表,对多数据源,多数据表,能自动生成基础业务逻辑的前后端代码,对加速企业数字化转型具有极其重要的应用价值。


技术实现思路

1、针对相关技术中的问题,本专利技术提出一种基于配置化并应用于电力数字化平台的代码生成系统,以克服现有相关技术所存在的上述技术问题。

2、为此,本专利技术采用的具体技术方案如下:

3、一种基于配置化并应用于电力数字化平台的代码生成系统,包括配置模块、解析模块和生成模块;

4、其中,配置模块,用于根据电力项目的数据需求依次进行变量配置、模板配置、生成类型配置、表配置及方案配置;

5、解析模块,用于分别对配置信息进行参数解析、模板解析及表信息解析;

6、生成模块,用于根据配置的模块和解析得到的参数生成对应的工程代码,并根据代码结构目录打包为压缩文件。

7、进一步的,配置模块包括变量配置模块、模板配置模块、生成类型配置模块、表配置模块及方案配置模块;

8、其中,变量配置模块,用于配置模块代码路径、开发人员信息、包名及公司信息的电力项目基础信息;

9、模板配置模块,用于利用模板推荐算法为开发人员推荐个性化的初始代码模板,基于初始代码模板,通过freemarker语法编写并生成个性化代码模板及相应的代码目录结构;

10、生成类型配置模块,用于配置需要生成的细节代码;

11、表配置模块,用于修改现有数据库表的java对象字段信息,通过可视化界面新建表信息,并配置主子表之间的关系;

12、方案配置模块,用于配置代码生成的基本信息。

13、进一步的,模板配置模块包括历史电力项目数据收集模块、开发人员动态兴趣建模模块、代码模板属性偏好分析模块、开发人员间信任度计算模块、代码模板推荐模块、架构模式推荐模块、初始代码模板选择模块及个性化代码模板生成模块;

14、其中,历史电力项目数据采集模块,用于收集开发人员的电力项目历史数据,并从电力项目历史数据中提取关键特征;

15、开发人员动态兴趣建模模块,用于分析开发人员选择代码模板和架构模式的历史趋势,识别其兴趣的动态变化,并根据开发人员的近期电力项目更新兴趣衰减模型;

16、代码模板属性偏好分析模块,用于对代码模板进行属性标注,并计算开发人员对各种模板属性的偏好程度;

17、开发人员间信任度计算模块,用于根据开发人员之间共同的代码模板选择行为计算选择相似度,根据开发人员对代码模板属性偏好的差异计算选择偏离度,并基于选择相似度和选择偏离度计算开发人员之间的信任度;

18、代码模板推荐模块,用于根据信任度为当前开发人员寻找最近的邻居集,结合开发人员的动态兴趣和模板属性偏好为当前电力项目生成推荐代码模板列表,并将当前电力项目需求文档与推荐代码模板进行匹配,筛选最佳代码模板;

19、架构模式推荐模块,用于根据开发人员的历史选择和电力项目需求分析对架构模式的偏好,并将电力项目需求与不同架构模式的特点进行匹配,推荐最佳的架构模式;

20、初始代码模板选择模块,用于根据开发人员的兴趣强度、代码模板属性偏好及架构模式匹配度对推荐结果进行排序,基于排序结果选择得到初始代码模板;

21、个性化代码模板生成模块,用于根据初始代码模板通过freemarker语法编写并生成个性化代码模板及相应的代码目录结构。

22、进一步的,开发人员动态兴趣建模模块在分析开发人员选择代码模板和架构模式的历史趋势,识别其兴趣的动态变化,并根据开发人员的近期电力项目历史更新兴趣衰减模型时包括:

23、获取电力项目历史数据中开发人员选择的代码模板和架构模式数据,并对数据进行清洗及归一化处理;

24、利用统计法分析开发人员偏好的长期趋势,基于聚类法识别常见的代码模板和架构模式选择行为;

25、基于时间因素对开发人员偏好的影响构建兴趣衰减模型,并根据开发人员的实时数据输入与历史趋势分析结果相结合来更新兴趣衰减模型。

26、进一步的,代码模板属性偏好分析模块在对代码模板进行属性标注,并计算开发人员对各种模板属性的偏好程度时包括:

27、依次对已有的各代码模板进行属性标注,并获取开发人员在选择代码模板时的相关数据及使用反馈;

28、基于相关性分析法,计算不同属性在开发人员选择中的权重,并从开发人员的行为数据中提取用户特征,包括技术偏好和电力项目需求;

29、根据模板属性、使用反馈、属性权重及用户特征,构建决策树模型来量化开发人员对不同属性的偏好程度;

30、利用构建的决策树模型计算每个开发人员对各模板属性的偏好度,并根据开发人员的反馈和模型的预测准确性进行模型调整和优化。

31、进一步的,开发人员之间的信任度的计算公式为:

32、trust(u,v)=α·sim(u,v)-β·dev(u,v)

33、

34、

35、式中,trust(u,v)表示开发人员u和开发人员v之间的信任度;

36、α、β分别表示选择相似度和选择偏离度的权重;

37、sim(u,v)表示开发人员u和开发人员v之间的选择相似度;

38、dev(u,v)表示开发人员本文档来自技高网...

【技术保护点】

1.一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,包括配置模块(1)、解析模块(2)和生成模块(3);

2.根据权利要求1所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述配置模块(1)包括变量配置模块(11)、模板配置模块(12)、生成类型配置模块(13)、表配置模块(14)及方案配置模块(15);

3.根据权利要求2所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述模板配置模块(12)包括历史电力项目数据收集模块、开发人员动态兴趣建模模块、代码模板属性偏好分析模块、开发人员间信任度计算模块、代码模板推荐模块、架构模式推荐模块、初始代码模板选择模块及个性化代码模板生成模块;

4.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述开发人员动态兴趣建模模块在分析开发人员选择代码模板和架构模式的历史趋势,识别其兴趣的动态变化,并根据开发人员的近期电力项目历史更新兴趣衰减模型时包括:

5.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述代码模板属性偏好分析模块在对代码模板进行属性标注,并计算开发人员对各种模板属性的偏好程度时包括:

6.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述开发人员之间的信任度的计算公式为:

7.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述代码模板推荐模块在根据信任度为当前开发人员寻找最近的邻居集,结合开发人员的动态兴趣和模板属性偏好为当前电力项目生成推荐代码模板列表,并将当前电力项目需求文档与推荐代码模板进行匹配,筛选最佳代码模板时包括:

8.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述架构模式推荐模块在根据开发人员的历史选择和电力项目需求分析对架构模式的偏好,并将电力项目需求与不同架构模式的特点进行匹配,推荐最佳的架构模式时包括:

9.根据权利要求1所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述解析模块(2)包括参数解析模块(21)、模板解析模块(22)及表解析模块(23);

10.根据权利要求1所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述生成模块(3)包括多方案生成模块(31)、主子表生成模块(32)及前后端生成模块(33);

...

【技术特征摘要】

1.一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,包括配置模块(1)、解析模块(2)和生成模块(3);

2.根据权利要求1所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述配置模块(1)包括变量配置模块(11)、模板配置模块(12)、生成类型配置模块(13)、表配置模块(14)及方案配置模块(15);

3.根据权利要求2所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述模板配置模块(12)包括历史电力项目数据收集模块、开发人员动态兴趣建模模块、代码模板属性偏好分析模块、开发人员间信任度计算模块、代码模板推荐模块、架构模式推荐模块、初始代码模板选择模块及个性化代码模板生成模块;

4.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述开发人员动态兴趣建模模块在分析开发人员选择代码模板和架构模式的历史趋势,识别其兴趣的动态变化,并根据开发人员的近期电力项目历史更新兴趣衰减模型时包括:

5.根据权利要求3所述的一种基于配置化并应用于电力数字化平台的代码生成系统,其特征在于,所述代码模板属性偏好分析模块在对代码模板进行属性标注,并计算开发人员对各种模板属...

【专利技术属性】
技术研发人员:王照阳王竹经正俊王文贵李嘉刘春雨黄文浩刘楠陈文君
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:

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

1