System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 工程化代码实现方法、目录结构、代码处理系统、设备及存储介质技术方案_技高网

工程化代码实现方法、目录结构、代码处理系统、设备及存储介质技术方案

技术编号:40899123 阅读:6 留言:0更新日期:2024-04-18 11:15
本发明专利技术提供了一种工程化代码实现方法、目录结构、代码处理系统、设备及存储介质,涉及代码处理领域。工程化代码实现方法包括如下步骤:准备线程池,在所述线程池内存放环境变量;将所述环境变量集成至Trait作为接口使用;基于预定业务,构建调度层代码,得到工程化代码架构;在实际执行所述预定任务时,将所述调度层代码放置run函数中进行整体调用执行。本发明专利技术采用三层架构思想结合形成大数据研发工程化代码结构,将环境初始化步骤进行统一集成,计算上下文初始化之后,后续所开发的Application就不需要在每个执行类里面都进行创建、初始化框架运行环境的代码研发,此种方式不光减少了开发步骤,并且大大降低了代码冗余率。

【技术实现步骤摘要】

本专利技术涉及大数据处理领域,尤其涉及一种工程化代码实现方法、目录结构、代码处理系统、设备及存储介质


技术介绍

1、在现阶段大数据相关开发主要使用的工具是spark和flink进行流式计算和批量计算,基于spark和flink的特性一个任务程序首先需要先进行环境初始化,然后进行数据输入、调度计算、结果输出。往往一个功能点任务使用一个运行类,每个运行类里面都存在都包含上述的几步实现代码,使大数据项目中流处理任务和批处理任务等相关研发代码冗余度增高、耦合性增强、维护困难增大,不能快速定位问题。


技术实现思路

1、专利技术目的:提出一种工程化代码实现方法、目录结构、代码处理系统、设备及存储介质,以解决现有技术存在的上述问题。

2、第一方面,提出一种工程化代码实现方法,步骤如下:

3、s1、准备线程池,在所述线程池内存放环境变量;

4、s2、将步骤s1中所述环境变量集成至trait作为接口使用;

5、s3、基于预定业务,构建调度层代码,得到工程化代码架构;在实际执行所述预定任务时,将所述调度层代码放置run函数中进行整体调用执行。

6、在第一方面进一步的实施例中,在所述线程池内存放环境变量,包括:

7、使用threadlocal存放统一的环境变量;每个线程访问时,通过get、set方法产生一个属于当前线程的局部变量副本;当线程结束时,所述threadlocal及环境变量随着线程一起被回收。

8、在第一方面进一步的实施例中,步骤s1进一步包括:

9、声明threadlocal类,其类型为对应框架插件的环境;

10、实现set方法,将对应的环境变量值设置到threadlocal中;

11、实现get方法,获取当前调用线程的环境变量;

12、实现destory方法,在程序结束时调用,销毁回收对应线程的环境变量。

13、在第一方面进一步的实施例中,所述环境变量声明定义后填充到在threadlocal当前进程中。

14、在第一方面进一步的实施例中,步骤s2进一步包括:

15、抽取计算任务中相同的特征:包括环境的创建初始化、环境的关闭回收;

16、创建trait,定义run抽象方法,利用run抽象方法进行统一的环境创建和关闭回收;

17、所述run抽象方法需接收至少一个代码块参数,所述代码块参数包括数据输入、调度计算、结果输出。

18、在第一方面进一步的实施例中,步骤s3进一步包括:

19、根据业务类型创建至少一个包含运行入口main函数的对象类,所述对象类用于集成所述triat;

20、根据三层架构划分进行具体的编写业务逻辑代码编写处理;

21、将业务实现调度层代码块放到run函数中进行整体调用执行。

22、作为本专利技术的第二个方面,提出一种工程化代码目录结构,该目录结构包括调度计算层、第一业务逻辑层、第一数据访问层三部分。调度计算层应用程序在集成允许环境后,调用所述调度计算层进行任务的调度计算;调度计算层调用所述第一业务逻辑层进行具体的业务逻辑处理;第一业务逻辑层调用所述第一数据访问层进行具体的数据抽取、结果数据输出操作,以及业务处理结果返回。

23、作为本专利技术的第三个方面,提出一种代码处理系统,该系统包括上述第二个方面所公开的工程化代码目录结构,工程化代码目录结构作为工程化架构层;此外,该系统还包括中间层、mvc层。

24、中间层包括表示层、第二业务逻辑层、第二数据访问层;所述第二业务逻辑层与所述第一业务逻辑层建立通信并交互交换数据;所述第一数据访问层与所述第二数据访问层建立通信并交互交换数据;所述表示层包括web前台和web后台。

25、mvc层包括视图单元、控制器单元、数据模型单元;所述视图单元与所述web前台交互数据,在前台页面展示数据。

26、所述控制器单元通过服务器与所述web后台交互数据;所述数据模型单元存储有封装业务组件和封装数据组件;所述封装业务组件与所述第二业务逻辑层交互数据;所述封装数据组件与所述第二数据访问层交互数据。

27、作为本专利技术的第四个方面,提出一种电子设备,该设备包括处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如第一方面所述的工程化代码实现方法。

28、作为本专利技术的第五个方面,提出一种计算机可读存储介质,该存储介质中存储有至少一个可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如第一方面所述的工程化代码实现方法。

29、有益效果:本专利技术采用三层架构思想结合形成大数据研发工程化代码结构,将环境初始化步骤进行统一集成,计算上下文初始化之后,后续所开发的application就不需要在每个执行类里面都进行创建、初始化框架运行环境的代码研发,此种方式不光减少了开发步骤,并且大大降低了代码冗余率。

本文档来自技高网...

【技术保护点】

1.一种工程化代码实现方法,其特征在于,包括:

2.根据权利要求1所述的工程化代码实现方法,其特征在于,步骤S1中在所述线程池内存放环境变量,包括:

3.根据权利要求2所述的工程化代码实现方法,其特征在于,所述使用Threadlocal存放统一的环境变量,包括:声明ThreadLocal类,其类型为对应框架插件的环境;

4.根据权利要求3所述的工程化代码实现方法,其特征在于,还包括:在程序结束时调用destory方法,销毁回收对应线程的环境变量。

5.根据权利要求3所述的工程化代码实现方法,其特征在于:所述环境变量声明定义后填充到在ThreadLocal当前进程中。

6.根据权利要求1所述的工程化代码实现方法,其特征在于,步骤S2进一步包括:

7.根据权利要求1所述的工程化代码实现方法,其特征在于,步骤S3进一步包括:

8.一种工程化代码目录结构,其特征在于,包括:

9.一种代码处理系统,其特征在于,包括如权利要求8所述的工程化代码目录结构,所述工程化代码目录结构作为工程化架构层;还包括:

10.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1至7中任一项所述的工程化代码实现方法。

11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一个可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如权利要求1至7中任一项所述的工程化代码实现方法。

...

【技术特征摘要】

1.一种工程化代码实现方法,其特征在于,包括:

2.根据权利要求1所述的工程化代码实现方法,其特征在于,步骤s1中在所述线程池内存放环境变量,包括:

3.根据权利要求2所述的工程化代码实现方法,其特征在于,所述使用threadlocal存放统一的环境变量,包括:声明threadlocal类,其类型为对应框架插件的环境;

4.根据权利要求3所述的工程化代码实现方法,其特征在于,还包括:在程序结束时调用destory方法,销毁回收对应线程的环境变量。

5.根据权利要求3所述的工程化代码实现方法,其特征在于:所述环境变量声明定义后填充到在threadlocal当前进程中。

6.根据权利要求1所述的工程化代码实现方法,其特征在于,步...

【专利技术属性】
技术研发人员:魏志华党咏欣郭建章赵晖韩宁张彬
申请(专利权)人:中电信数智科技有限公司
类型:发明
国别省市:

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

1