一种代码开发方法及相关设备与流程

allin2025-03-31  36


本技术涉及代码开发,尤其涉及一种代码开发方法、平台、计算设备集群、计算机可读存储介质以及计算机程序产品。


背景技术:

1、随着信息技术(information technology,it)技术和移动互联网的快速发展,越来越多的企业或机构等组织开始通过技术手段对流程和管理进行改造,例如是开发工作流(workflow),从而使业务发展更加高效和规范。工作流,是指业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。

2、为了提高开发效率,开发人员可以借助低代码开发工具(包括零代码开发工具)进行工作流的开发。低代码开发,旨在让开发人员可以尽可能少编写代码甚至不需要编写代码即可搭建应用(例如是工作流)。

3、在使用低代码开发工具进行应用程序功能开发时,通常需要组合使用多类型的触发器/操作(trigger/action)。多数低代码开发工具重度依赖开发人员手工设计,缺少智能生成与辅助能力,极大地影响了开发效率,难以满足业务需求。


技术实现思路

1、本技术提供了一种代码开发方法,该方法提供了智能生成工作流的代码的能力,降低了对开发人员手工设计的依赖,提高了开发效率,能够满足业务需求。本技术还提供了与上述方法对应的代码开发平台、计算设备集群、计算机可读存储介质以及计算机程序产品。

2、第一方面,本技术提供一种代码开发方法。该方法可以由代码开发平台执行。代码开发平台用于开发应用的代码,例如是工作流(应用)的代码。其中,代码开发平台可以是低代码开发平台,也称低代码开发工具。低代码开发平台用于通过开发少量的代码实现构建应用,例如通过开发少量的代码构建工作流。

3、具体地,代码开发平台接收用户输入的目标工作流的功能描述信息,根据功能描述信息,获得包括调用语句的功能描述文本。其中,调用语句包括用于启动所述目标工作流的触发器调用语句以及用于执行所述目标工作流的操作接口调用语句。然后代码开发平台对功能描述文本进行挖掘分析,获得调用语句之间的逻辑关系,接着根据调用语句之间的逻辑关系,生成目标工作流的代码,基于目标工作流的代码渲染目标工作流的视图。

4、该方法通过对用户输入的功能描述信息(如原始功能描述文本或功能描述语音)进行处理,获得包括调用语句的功能描述文本,然后利用文本挖掘技术对调用语句之间的逻辑关系,例如是trigger与action之间的逻辑关系,或者action与action之间的逻辑关系,基于该逻辑关系自动生成与功能描述信息对应的目标工作流的代码,降低了对开发人员的依赖度,为开发人员低代码开发节约时间成本,提高开发效率。而且,该方法生成的工作流的代码支持并行、条件等多分支复杂业务逻辑,还能够自动填写trigger/action参数,例如是对包括调用语句的功能描述文本挖掘分析,获得trigger/action参数,并基于挖掘分析结果自动填参,如此能够满足业务需求。

5、在一些可能的实现方式中,代码开发平台可以根据调用语句之间的逻辑关系,生成当前轮次的工作流的代码,基于当前轮次的工作流的代码渲染当前轮次的工作流的视图,当前轮次的工作流的视图包括第一节点,第一节点为根据逻辑关系识别的关键节点,然后根据功能描述文本、逻辑关系对当前轮次的工作流的代码进行迭代更新,获得目标工作流的代码,基于目标工作流的代码渲染目标工作流的视图,目标工作流的视图包括所述第一节点和第二节点。

6、该方法采用扩散式方式生成工作流的代码,从而提供了工作流的代码的智能生成能力,并且优先生成关键节点的代码,可以进一步提高生成准确性。

7、在一些可能的实现方式中,代码开发平台还可以向用户呈现工作流的视图,响应于用户的更新操作,更新工作流的视图中的节点或节点连接关系中的至少一项。

8、如此,可以支持人工干预生成的节点,例如是更新生成的节点或连接关系,在代码生成过程中及时纠错,确保生成准确性。

9、在一些可能的实现方式中,代码开发平台可以根据调用语句之间的逻辑关系,生成多个候选工作流的代码,基于多个候选工作流的代码渲染多个候选工作流的视图,根据多个候选工作流的视图编排的服务在沙箱的执行结果,确定目标工作流的代码,以及确定目标工作流的视图。

10、该方法通过在沙箱中执行候选工作流的代码,保障最终推荐(最终生成)的工作流可执行。

11、在一些可能的实现方式中,代码开发平台可以根据调用语句之间的逻辑关系,生成多个工作流的代码,然后根据多个工作流的代码的复杂度或操作接口的属性中的至少一项,从多个工作流的代码中确定多个候选工作流的代码。

12、该方法通过从生成的工作流的代码中筛选出高质量的候选工作流的代码,如此可以减少后续的计算开销。

13、在一些可能的实现方式中,逻辑关系包括参数依赖关系、串行执行顺序、并行组别编号、条件分支、循环中的一种或多种。该方法不仅支持简单逻辑关系,还支持复杂逻辑关系,能够满足业务需求。

14、在一些可能的实现方式中,代码开发平台还可以向用户呈现调用语句之间的逻辑关系,接收用户对逻辑关系的确认信息或更新信息。相应地,代码开发平台可以根据确认后的逻辑关系或更新后的逻辑关系,生成所述目标工作流的代码。

15、该方法通过支持用户对逻辑关系进行确认或辅助替换,保障了后续工作流的代码生成的准确性。

16、在一些可能的实现方式中,代码开发平台还可以根据调用语句中触发器或者操作接口的名称和入参发送请求,当接收到响应,在功能描述文本中保留触发器或者操作接口。

17、该方法通过发送请求验证功能描述文本中trigger/action是否可调用,保障后续工作流的代码生成的准确性。

18、在一些可能的实现方式中,代码开发平台还可以向用户呈现功能描述文本,接收用户对功能描述文本中调用语句的确认信息或更新信息,相应地,代码开发平台可以对所述用户确认后的所述功能描述文本或所述用户替换后的所述功能描述文本进行挖掘分析,获得所述调用语句之间的逻辑关系。

19、该方法通过人工对功能描述文本中trigger/action进行确认或辅助替换,保障后续工作流的代码生成的准确性。

20、第二方面,本技术提供一种代码开发平台。所述代码开发平台用于生成工作流的代码,所述代码开发平台包括:

21、交互子系统,用于接收用户输入的目标工作流的功能描述信息;

22、生成子系统,用于根据所述功能描述信息,获得包括调用语句的功能描述文本,所述调用语句包括用于启动所述目标工作流的触发器调用语句以及用于执行所述目标工作流的操作接口调用语句;

23、所述生成子系统,还用于对所述功能描述文本进行挖掘分析,获得所述调用语句之间的逻辑关系;

24、所述生成子系统,还用于根据所述调用语句之间的逻辑关系,生成所述目标工作流的代码,基于所述目标工作流的代码渲染所述目标工作流的视图。

25、在一些可能的实现方式中,所述生成子系统具体用于:

26、根据所述调用语句之间的逻辑关系,生成当前轮次的工作流的代码,基于所述当前轮次的工作流的代码渲染所述当前轮次的工作流的视图,所述当前轮次的工作流的视图包括第一节点,所述第一节点为根据所述逻辑关系识别的关键节点;

27、根据所述功能描述文本、所述逻辑关系对当前轮次的工作流的代码进行迭代更新,获得所述目标工作流的代码,基于所述目标工作流的代码渲染所述目标工作流的视图,所述目标工作流的视图包括所述第一节点和第二节点。

28、在一些可能的实现方式中,所述交互子系统还用于:

29、向所述用户呈现所述工作流的视图;

30、所述生成子系统还用于:

31、响应于所述用户的更新操作,更新所述工作流的视图中的节点或节点连接关系中的至少一项。

32、在一些可能的实现方式中,所述生成子系统具体用于:

33、根据所述调用语句之间的逻辑关系,生成多个候选工作流的代码,基于所述多个候选工作流的代码渲染所述多个候选工作流的视图;

34、所述代码开发平台还包括:

35、调试及发布子系统,用于根据所述多个候选工作流的视图编排的服务在沙箱的执行结果,确定所述目标工作流的代码,以及确定所述目标工作流的视图。

36、在一些可能的实现方式中,所述生成子系统具体用于:

37、根据所述调用语句之间的逻辑关系,生成多个工作流的代码;

38、根据所述多个工作流的代码的复杂度或操作接口的属性中的至少一项,从所述多个工作流的代码中确定多个候选工作流的代码。

39、在一些可能的实现方式中,所述交互子系统还用于:

40、向所述用户呈现所述调用语句之间的逻辑关系;

41、接收所述用户对所述逻辑关系的确认信息或更新信息;

42、所述生成子系统具体用于:

43、根据确认后的逻辑关系或更新后的逻辑关系,生成所述目标工作流的代码。

44、在一些可能的实现方式中,所述生成子系统还用于:

45、根据所述调用语句中触发器或者操作接口的名称和入参发送请求;

46、当接收到响应,在所述功能描述文本中保留所述触发器或者所述操作接口。

47、在一些可能的实现方式中,所述交互子系统还用于:

48、向所述用户呈现所述功能描述文本;

49、接收所述用户对所述功能描述文本中调用语句的确认信息或更新信息;

50、所述生成子系统具体用于:

51、对所述用户确认后的所述功能描述文本或所述用户替换后的所述功能描述文本进行挖掘分析,获得所述调用语句之间的逻辑关系。

52、第三方面,本技术提供一种计算设备集群。所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器。所述至少一个处理器、所述至少一个存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算设备或计算设备集群执行如第一方面或第一方面的任一种实现方式所述的代码开发方法。

53、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的代码开发方法。

54、第五方面,本技术提供了一种包含指令的计算机程序产品,当其在计算设备或计算设备集群上运行时,使得计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的代码开发方法。

55、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。


技术特征:

1.一种代码开发方法,其特征在于,应用于代码开发平台,所述代码开发平台用于生成工作流的代码,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述调用语句之间的逻辑关系,生成所述目标工作流的代码,基于所述目标工作流的代码渲染所述目标工作流的视图,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述调用语句之间的逻辑关系,生成所述目标工作流的代码,基于所述目标工作流的代码渲染所述目标工作流的视图,包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述调用语句之间的逻辑关系,生成多个候选工作流的代码,包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:

9.一种代码开发平台,其特征在于,所述代码开发平台用于生成工作流的代码,所述代码开发平台包括:

10.根据权利要求9所述的代码开发平台,其特征在于,所述生成子系统具体用于:

11.根据权利要求10所述的代码开发平台,其特征在于,所述交互子系统还用于:

12.根据权利要求9至11任一项所述的代码开发平台,其特征在于,所述生成子系统具体用于:

13.根据权利要求12所述的代码开发平台,其特征在于,所述生成子系统具体用于:

14.根据权利要求9至13任一项所述的代码开发平台,其特征在于,所述交互子系统还用于:

15.根据权利要求9至14任一项所述的代码开发平台,其特征在于,所述生成子系统还用于:

16.根据权利要求9至15任一项所述的代码开发平台,其特征在于,所述交互子系统还用于:

17.一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至8中任一项所述的方法。

18.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至8任一项所述的方法。


技术总结
本申请提供了一种代码开发方法,应用于代码开发平台,包括:接收用户输入的目标工作流的功能描述信息,根据功能描述信息,获得包括调用语句的功能描述文本,调用语句包括用于启动目标工作流的触发器调用语句以及用于执行目标工作流的操作接口调用语句,然后对功能描述文本进行挖掘分析,获得调用语句之间的逻辑关系,根据调用语句之间的逻辑关系,生成目标工作流的代码,基于目标工作流的代码渲染目标工作流的视图。该方法提供了智能生成工作流的代码的能力,降低了对开发人员手工设计的依赖,提高了开发效率,能够满足业务需求。

技术研发人员:叶一达,周林峰,张彦伟
受保护的技术使用者:华为云计算技术有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-19756.html

最新回复(0)