本发明专利技术公开的基于全流程开发的程序设计方法,涉及计算机技术领域,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程,根据业务流程的执行顺序,依次生成各个节点的业务日志,降低了开发门槛,提高了问题定位的效率,降低了微服务系统的管理难度。
A programming method based on whole process development
【技术实现步骤摘要】
一种基于全流程开发的程序设计方法
本专利技术涉及计算机
,具体涉及一种基于全流程开发的程序设计方法。
技术介绍
Java是一门优秀的语言,但是对于开发人员来说,如果缺少多年的经验积累,很难写出高质量的代码,为了提高代码可读性,开发人员需要在代码中写入大量的注释,为了方便运维进行问题定位,开发人员需要在代码中合理的输出日志。这种方式存在以下缺陷:(1)由于开发人员的水平参差不齐,代码风格也各异,一套系统前后很多人维护,导致代码的可读性较差;(2)后台系统微服务化之后,一笔业务请求有多个微服务系统组成,当该业务请求需要同时修改多个微服务系统时,需要协调多个系统部署新版本同时上线,过程较为复杂,导致微服务系统管理难度较大;(3)系统上线后,出现问题时只能通过日志来定位问题,而日志完全是由开发人员在代码中输出,随意性较大,经常出现问题后,日志输出不全,给问题定位带来困难。而且一笔交易在日志文件中并不连续,需要根据关键字在日志中查找,定位难度大;(4)Java编写的代码,当需要更新版本时,都是通过重启应用,实现新版本上线,无法实现热部署。
技术实现思路
为解决现有技术的不足,本专利技术实施例提供了一种基于全流程开发的程序设计方法,该方法包括以下步骤:利用IDE开发工具,在交易配置中心中定义各个节点的业务流程;根据所述业务流程的执行顺序,依次生成各个节点的业务日志。优选地,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程包括:根据节点的服务类型,为所述节点对应的业务流程命名。优选地,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程还包括:根据节点的服务内容,将所述节点拆分为多个子节点。优选地,在交易配置中心中定义各个节点的业务流程之后,所述方法还包括:当所述业务流程的定义发生变化时,交易配置中心通知微服务系统清理缓存的流程定义。优选地,在依次生成各个节点的业务日志之后,所述方法还包括:当业务流程发生异常时,对所述业务日志进行分析,回放所述业务日志并生成回放界面。本专利技术实施例提供的基于全流程开发的程序设计方法,具有以下有益效果:(1)开发人员不需要关注java的各种设计模式,不需再在代码中输出日志,只需要会拖动流程控件,将流程组织起来即可,降低了开发门槛;(2)以往开发一个交易要提交三类以上的文件,主要包括流程定义文件、SQL语句定义及组件实现类等,而使用全流程开发后,整个流程的定义全部在一个文件里,降低了开发的复杂度;(3)常规的开发过程中,开发人员编写设计文档,开发人员根据设计文档进行编码,但是在实际的开发过程中,由于某些原因,开发出来的东西和设计上是有很大的差异,方便设计与开发分工:(4)设计人员可以将业务请求在流程图里画出来,将业务节点的逻辑用伪代码写出来,将该交易请求交给开发人员,开发人员参考伪代码即可实现业务节点的功能,利用脚本实现,实现了设计和开发分工及协作开发;(5)使用全流程开发后,只需要将修改后的流程定义在交易配置中心重新发布,交易配置中心就会通知该业务请求的微服务系统清理更新缓存的流程定义,实现了热部署;(6)使用全流程开发后,开发人员只需要拿到日志,然后将日志输入交易配置中心的交易回放界面,后台服务自动将日志进行分析,生成交易回放的界面,在此界面可以依次递归地查看最终出错节点的详细信息,提高了问题定位的效率;(7)业务系统的流程定义全部部署在交易配置中心,每个微服务系统上是不部署业务的流程定义,当微服务系统有业务请求时,从交易配置中心获取流程定义并缓存后执行,降低了微服务系统的管理难度。附图说明图1为本专利技术实施例提供的基于全流程开发的程序设计方法的流程示意图;图2为全流程开发模型的架构示意图。具体实施方式以下结合具体实施例对本专利技术作具体的介绍。本专利技术提供的实施例提供的基于全流程开发的程序设计方法,包括以下步骤:S101,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程。S102,根据业务流程的执行顺序,依次生成各个节点的业务日志。可选地,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程包括:根据节点的服务类型,为节点对应的业务流程命名。可选地,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程还包括:根据节点的服务内容,将节点拆分为多个子节点。可选地,在交易配置中心中定义各个节点的业务流程之后,该方法还包括:当业务流程的定义发生变化时,交易配置中心通知微服务系统清理缓存的流程定义。可选地,在依次生成各个节点的业务日志之后,该方法还包括:当业务流程发生异常时,对业务日志进行分析,回放业务日志并生成回放界面。其中,全流程开发技术具有以下特点:(1)每个流程是由控制节点(决策、循环)、业务节点(支持脚本执行)及子流程节点等组成,其中子流程节点支持无限嵌套,以此来实现一笔交易完全由流程和脚本组成,不用写java类。作为一个具体的实施例,转账交易由转出和转入两个节点组成,转出节点是个子流程由账户查询、账户检查、记录流水等节点组成,同理,记录流水节点是个子流程,由交易类型查询,生成会计分录,生成交易流水这些节点组成,以此类推,当一个节点无法再拆分成子流程时,那么它就负责一件具体的事情,如:执行一个查询或更新的SQL语句,读取一个文件,执行一段groovy脚本,或者是一次远程RPC调用,本示例中的交易类型查询对应的就是执行一个查询的SQL语句。整个交易过程完全可以用一个XML文件描述。(2)自动记录每个节点的业务日志,整个过程开发人员不用再关注业务日志怎样输出,一笔交易,框架将业务日志全部放在内存中,当交易完成时再将业务日志有组织的一次性输出。(3)一笔交易是由流程及子流程的嵌套组成,流程的日志也是有组织的,因此流程日志和流程定义可以对该交易进行流程回放,方便开发人员查看整个交易在流程中的输入输出的变化,方便开发人员快速定位问题。(4)开发过程完全由流程编排和脚本执行组成,脚本可以是SQL脚本,也可以是执行一段复杂逻辑的groovy脚本。(5)由于整个开发过程使用流程定义和脚本实现,因此不需要进行编译,当交易流程发生修改后,只需要通知系统更新流程定义和重新加载脚本即可,不需要重启系统,轻松实现执部署,这在开发和运维过程中都是非常方便的。(6)由于整个开发过程使用流程定义和脚本实现,因此每个微服务系统只需要定义自己是什么微服务,不需要加载任何业务系统的代码,在有交易请求时,从交易配置中心加载该交易的流程和脚本,并缓存后执行,这样就可以将所有微服务的版本统一在交易配置中心统一管理,而每个微服务的应用都是完全一样的,只是其微服务名不同,非常适合在交易量增大时临时增加应用服务器,交易量减少后迅速释放应用服务器的场景,降本文档来自技高网...
【技术保护点】
1.一种基于全流程开发的程序设计方法,其特征在于,包括:/n利用IDE开发工具,在交易配置中心中定义各个节点的业务流程;/n根据所述业务流程的执行顺序,依次生成各个节点的业务日志。/n
【技术特征摘要】
1.一种基于全流程开发的程序设计方法,其特征在于,包括:
利用IDE开发工具,在交易配置中心中定义各个节点的业务流程;
根据所述业务流程的执行顺序,依次生成各个节点的业务日志。
2.根据权利要求1所述的基于全流程开发的程序设计方法,其特征在于,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程包括:
根据节点的服务类型,为所述节点对应的业务流程命名。
3.根据权利要求1所述的基于全流程开发的程序设计方法,其特征在于,利用IDE开发工具,在交易配置中心中定义各个节点的业务流程还包括:
根据节点的服务内容,将所述节点拆分为多个子节点。
...
【专利技术属性】
技术研发人员:李小斌,郭涛,
申请(专利权)人:神州数码融信软件有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。