CN114816430A - 一种业务代码开发方法、系统及计算机可读存储介质 - Google Patents
一种业务代码开发方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114816430A CN114816430A CN202210556089.4A CN202210556089A CN114816430A CN 114816430 A CN114816430 A CN 114816430A CN 202210556089 A CN202210556089 A CN 202210556089A CN 114816430 A CN114816430 A CN 114816430A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- operator
- configuration file
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种业务代码开发方法、系统及计算机可读存储介质,涉及计算机技术领域,尤其涉及软件开发、业务代码开发等技术领域。具体实现方案为:基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,多个业务算子用于实现预设业务功能;根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示;响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流;根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据;基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码,实现了业务代码的开发。
Description
技术领域
本公开涉及计算机技术领域,进一步涉及软件开发、业务代码开发等技术领域,尤其涉及一种业务代码开发方法、系统及计算机可读存储介质。
背景技术
随着企业数字化需求的快速增长,软件的业务代码开发得以发展。低代码是软件系统的一种快速开发工具,开发者无需编码就可以实现常见的功能、少量代码即可完成功能扩展,从而实现便捷构建应用程序等。
发明内容
本公开提供了一种业务代码开发方法、系统及计算机可读存储介质。
根据本公开的一方面,提供了一种业务代码开发方法,包括:
基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,所述多个业务算子用于实现预设业务功能;
根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示;
响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流;
根据所述至少一个目标组件的执行逻辑,生成表示所述数据流的状态数据;
基于所述状态数据以及所述至少一个目标组件对应的业务算子,生成所述数据流的应用业务代码。
根据本公开的另一方面,提供了一种业务代码开发系统,包括:插件层以及视图层;
所述插件层,用于基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,所述多个业务算子用于实现预设业务功能,将所述配置文件数据列表发送至所述视图层;接收数据流的状态数据,基于所述状态数据以及至少一个目标组件对应的业务算子,生成所述数据流的应用业务代码;
所述视图层,用于接收所述配置文件数据列表,根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示;响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流;根据所述至少一个目标组件的执行逻辑,生成表示所述数据流的状态数据,并将所述数据流的状态数据发送至所述插件层。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开中任一项所述的业务代码开发方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开中任一项所述的业务代码开发方法。
本公开实施例,实现了业务代码的开发。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一种业务代码开发系统的示意图;
图2是根据本公开的一种视图层界面展示的示意图;
图3是根据本公开的一种业务代码开发系统的交互示意图;
图4是根据本公开的另一种业务代码开发系统的交互示意图;
图5是根据本公开的一种业务代码开发方法的流程示意图;
图6是用来实现本公开实施例的业务代码开发方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着企业数字化需求的快速增长,软件的业务代码开发受到越来越多的关注。相关技术中,在实现软件的业务代码开发过程中,为了迎合客户的业务需求,研发人员在已有代码的基础上进行相关业务代码的增减,并引入相应的诡计对逻辑。复杂的业务场景下,在已有代码的基础上进行相关业务代码的增减,需要理解已有代码,而研发人员也可能会发生变更,使得业务代码的理解成本增加,引入诡计对逻辑使得业务代码的可维护性降低,且针对开发、调试、测试以及上线等全生命周期场景下的软件开发,如果研发人员的开发工具、开发环境以及基础依赖不统一,会使得开发到调试上线的过程中,问题排查的成本增加,使得软件开发的整体效率不高。
本公开实施例提供的业务代码开发方法包括:基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,多个业务算子用于实现预设业务功能;根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示;响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流;根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据;基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码。
本公开实施例中,能够基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示;响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流,实现了算子业务代码的可视化编排,减少了算子业务代码的理解成本,进一步的,根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据,基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码,实现了应用业务代码的自动生成,降低了研发成本,且算子业务代码的可视化编排,能够便于问题的排查,增加了算子业务代码的可维护性和健壮性。
本公开实施例提供的业务代码开发方法,可以应用于业务代码开发系统,该业务代码开发系统,参见图1,业务代码开发系统100包括:插件层110,视图层120。一个例子中,本公开实施例的业务代码开发系统,可以应用于面向复杂业务场景下的开发、调试、测试以及上线等全生命周期场景中,比如搜索中台等。
本公开实施例的业务代码开发系统,可以是基于VSCode(Visual Studio Code,一款源代码编辑器)插件机制构建的,与IDE(Integrated Development Environment,集成开发环境)融合,并提供了web(world wide web,互联网)IDE和客户端设备,使得开发工具、开发环境以及基础依赖统一。插件层110可以开启一个节点JS(JavaScript,脚本语言)进程,充当服务器的角色,实现业务代码的读写等系统底层操作。
插件层110,可以用于基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,多个业务算子用于实现预设业务功能;将配置文件数据列表发送至视图层120。
一个例子中,上述预设业务功能可以是请求的处理,数据处理,数据访问,数据查询,数据解析、数据存储、数据更新等等。上述代码库可以是业务方本地代码库,还可以是多个业务方的公共代码库等。
在一种可能的实施方式中,插件层110具体用于:读取代码库中的算子业务代码,对算子业务代码进行解析,识别出算子业务代码中的业务算子,将业务算子封装成JSON格式的配置文件数据,得到配置文件数据列表。
一个例子中,插件层110启动之后,可以对代码库中的算子业务代码进行扫描,读取算子业务代码,利用AST(Abstract Syntax Tree,抽象语法树)语法树对读取的算子业务代码进行解析,识别出算子业务代码中的业务算子,进一步将所识别出的每一业务算子均封装成JSON格式的配置文件数据,得到配置文件数据列表,该配置文件数据列表中可以包含多个业务算子的配置文件数据。
示例性的,业务算子的配置文件数据可以是该业务算子实现的业务功能注释,或者该业务算子相较于历史实现功能的更新,或者对其他业务算子的操作等等。
本公开实施例中,插件层110可以充当服务器对代码库中的算子业务代码进行读取,并对读取的算子业务代码进行解析,识别业务算子,将业务代码从函数级升级为算子级,以便于后续可以直接对业务算子进行操作,提高算子业务代码的可复用性,且对算子业务代码进行解析,减少了算子业务代码的理解成本,进一步提高了软件的开发效率。
插件层110在得到包括多个业务算子的配置文件数据列表后,可以将配置文件数据列表发送给视图层120,以使视图层120基于该配置文件数据列表实现业务算子的可视化操作。
视图层120,可以用于接收配置文件数据列表,根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示;响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流;根据所述至少一个目标组件的执行逻辑,生成表示所述数据流的状态数据,并将数据流的状态数据发送至插件层110。
一个例子中,视图层120可以是VSCode webview(网络视图),VSCode webview接收插件层110发送的配置文件数据列表,针对配置文件数据列表中每一业务算子的配置文件数据,将该业务算子封装成组件,得到多个组件,进一步对得到的多个组件分别进行渲染并展示,比如在视图层120的左侧区域展示表示常用算子、全部算子等的组件。在接收到用户针对展示的多个组件中的至少一个目标组件的编排操作后,响应用户的编排操作,在视图层120的目标区域中生成对应于编排的至少一个目标组件的数据流,比如在视图层120的中间区域显示由编排的至少一个目标组件组成的数据流,进一步根据编排的至少一个目标组件的执行逻辑,生成表示该数据流的状态数据,将所生成的数据流的状态数据发送至插件层110。其中,目标组件表示用户操作的组件,也即用于生成数据流的组件。
在一种可能的实施方式中,插件层110通过消息的形式将配置文件数据列表发送至视图层120,视图层120通过消息的形式将数据流的状态数据发送至插件层110。
本公开实施例中,插件层110与视图层120通过消息的形式进行数据交互,相较于通过网络请求的方式进行数据交互,能够节省数据交互的时间,节约系统资源。
插件层110,还用于接收数据流的状态数据,基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码。
插件层110接收视图层120发送的数据流的状态数据,该数据流的状态数据为视图层120根据至少一个目标组件的执行逻辑,所生成的表示包含该至少一个目标组件的数据流的状态数据,插件层110可以根据状态数据所表示的数据流中至少一个目标组件的执行逻辑,以及数据流中至少一个目标组件对应的业务算子,生成该数据流对应的应用业务代码。进一步的,插件层110生成数据流的应用业务代码之后,还可以将所生成的应用业务代码存储至代码库中,以便于业务上线时代码随时生效。
本公开实施例中,插件层能够基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,视图层可以根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示,响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流,实现了算子业务代码的可视化编排,减少了算子业务代码的理解成本,进一步的,视图层根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据,并将数据流的状态数据发送至插件层,插件层基于数据流的状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码,实现了应用业务代码的自动生成,降低了研发成本,且算子业务代码的可视化编排,能够便于问题的排查,增加了算子业务代码的可维护性和健壮性。
在一种可能的实施方式中,上述视图层120可以包括图编排器,图编排器可以用于:获取用户针对展示的多个组件中的至少一个目标组件的编排操作,在视图层120的目标区域中,按照编排操作对相应的目标组件进行编排,生成对应于至少一个目标组件的数据流。
视图层120可以包括图编排器,在视图层120根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并展示之后,用户可以对展示的各组件进行编排操作,图编排器获取用户针对展示的多个组件中的至少一个目标组件的编排操作,并对用户的编排操作进行响应,在视图层120的目标区域中,按照编排操作对相应的目标组件进行编排,生成对应于至少一个目标组件的数据流,如可以在视图层120的中间区域显示编排的数据流。
本公开实施例中,图编排器可以获取用户针对展示的多个组件中的至少一个目标组件的编排操作,而目标组件是由业务算子渲染而成的,图编排器响应于用户的编排操作,在视图层的目标区域中,按照编排操作对相应的目标组件进行编排,生成对应于至少一个目标组件的数据流,实现了算子业务代码的可视化编辑。
在一种可能的实施方式中,上述编排操作包括以下至少一项:拖拽、移动、删除、选择、编辑、连线。
示例性的,选择可以是点击选择、双击选择等操作。
本公开实施例中,视图层可以响应于用户针对展示的多个组件中的至少一个目标组件的拖拽、移动、删除、选择、编辑、连线等编排操作,实现对算子业务代码的可视化编辑。
在一种可能的实施方式中,上述视图层120具体用于:通过Canvas画布将配置文件数据列表中包含的多个业务算子分别封装成多个组件,并分别以页面元素的形式对各组件进行渲染展示;以及将展示的各组件分别设置为可编排的组件。
视图层120接收到插件层110发送的配置文件数据列表后,可以通过Canvas针对配置文件数据列表中包含的每一业务算子的配置文件数据,将该业务算子封装成组件,得到多个组件,进一步分别针对每一组件,以页面元素的形式对该组件进行渲染并展示。
视图层120还可以将展示的各组件分别设置为可编排的组件,一个例子中,可以将展示的各组件抽象封装为拖拽源组件和拖拽目标组件,以使各组件能够被编排操作,其中,拖拽源组件用于被拖拽移动,拖拽目标组件用于放置被拖拽的组件。
示例性的,如图2所示,视图层120可以通过Canvas对各业务算子进行组件的封装和渲染,比如可以根据各业务算子的样式、边缘、端点等对业务算子进行封装和渲染,得到视图层120展示的多个组件,还可以将展示的多个组件分别封装成拖拽源组件和拖拽目标组件,使得各组件能够被进行拖拽、移动、删除、选择、编辑、连线等编排操作。
本公开实施例中,视图层通过Canvas画布将配置文件数据列表中包含的多个业务算子分别封装成多个组件,并分别以页面元素的形式对各组件进行渲染展示,以及将展示的各组件分别设置为可编排的组件,使得视图层120的图编排器能够响应于用户对多个组件中至少一个目标组件的编排操作,实现对算子业务代码的可视化编辑。各组件能够被编排,表示各组件对应的业务算子具有可插拔性,使得各组件对应的业务算子具有可复用性。视图层生成对应于至少一个目标组件的数据流,能够将算子业务代码从算子级升级为数据流的流程级,便于算子业务代码的图像化表达,提高了算子业务代码的可维护性。
在一种可能的实施方式中,视图层120生成的数据流的状态数据可以包括:数据流中至少一个目标组件的配置文件数据的配置参数数据,以及数据流中至少一个目标组件的执行顺序数据。
上述插件层110具体用于:按照状态数据中至少一个目标组件的配置文件数据的配置参数数据,对相应目标组件的业务算子进行参数配置,得到相应目标组件的目标业务算子;按照状态数据中至少一个目标组件的执行顺序数据,对相应目标组件的目标业务算子的执行顺序进行设置,得到所述数据流的应用业务代码。
一个例子中,数据流中至少一个目标组件的配置文件数据的配置参数数据,可以是目标组件对应业务算子实现的业务功能参数数据,目标组件对应业务算子的更新参数数据,或者目标组件对应业务算子对其他业务算子的操作参数数据等等。数据流中至少一个目标组件的执行顺序数据,可以是目标组件之间的连线数据,或者目标组件对应的业务算子之间的执行逻辑数据等等。
插件层110在接收到视图层120发送的数据流的状态数据后,可以按照数据流的状态数据中至少一个目标组件的配置文件数据的配置参数数据,对相应目标组件的业务算子进行参数配置,得到相应目标组件的目标业务算子,以及按照状态数据中至少一个目标组件的执行顺序数据,对相应目标组件的目标业务算子的执行顺序进行设置,以生成数据流的应用业务代码。
本公开实施例中,插件层在接收到视图层发送的状态数据后,可以按照状态数据中至少一个目标组件的配置文件数据的配置参数数据,以及状态数据中至少一个目标组件的执行顺序数据,生成数据流的应用业务代码,实现了应用业务代码的自动生成,降低了研发成本。
在一种可能的实施方式中,上述图编排器还可以用于:在监听到用户对数据流中组件的更新操作之后,更新数据流对应的状态数据,将更新后的状态数据发送至插件层110。
本公开实施例中,可以在视图层120本地维护一个全局状态数据,该全局状态数据中可以包含视图层120所生成的所有数据流的状态数据,图编排器可以对视图层120生成的数据流进行监听,当监听到用户对数据流中组件的更新操作之后,比如监听到用户对数据流中组件的点击、拖拽、移动等操作,可以按照用户的更新操作对相应的组件重新进行编排,更新数据流,在用户完成对数据流中组件的更新操作之后,实时更新数据流对应的状态数据,以及将更新后的状态数据发送至插件层110,以便于插件层110根据更新后的状态数据,对所生成的业务代码进行整合,实时更新代码库中该数据流对应的业务代码。
本公开实施例中,视图层的图编排器在监听到用户对数据流中组件的更新操作之后,实时更新数据流对应的状态数据,将更新后的状态数据发送至插件层,以便于插件层根据更新后的状态数据,对所生成的应用业务代码进行整合,实时更新代码库中该数据流对应的应用业务代码,保证了视图层数据流与插件层数据流对应的应用业务代码的一致性。
在一种可能的实施方式中,插件层110还可以用于:在监听到代码库中算子业务代码发生变更的情况下,对发生变更的算子业务代码进行解析,识别发生变更的算子业务代码中的变更业务算子,将所识别的变更业务算子封装成JSON格式的配置文件数据,得到变更配置文件数据列表,并将变更配置文件数据列表发送至视图层120;
视图层120还可以用于接收变更配置文件数据列表,基于变更配置文件数据列表中各变更业务算子的配置文件数据,重新对各变更业务算子对应的组件进行封装,以及以页面元素的形式进行渲染展示,并对对应的数据流和数据流的状态数据进行更新。
插件层110在启动之后,可以对代码库中的算子业务代码进行监听,在监听到代码库中算子业务代码发生变更的情况下,可以利用AST语法树对发生变更的算子业务代码进行解析,识别出发生变更的算子业务代码中的变更业务算子,进一步将所识别的变更业务算子封装成JSON格式的配置文件数据,得到变更配置文件数据列表,并将变更配置文件数据列表发送至视图层120。该变更配置文件数据列表中,可以包含发生变更的算子业务代码对应的多个业务算子的配置文件数据。
示例性的,代码库中算子业务代码发生变更,可以是代码库中算子业务代码发生修改、新增或删除等操作带来的变更。
视图层120接收到插件层110发送的变更配置文件数据列表后,可以通过Canvas利用变更配置文件数据列表中各变更业务算子的配置文件数据,重新对各变更业务算子对应的组件进行封装,以及以页面元素的形式进行渲染展示,并根据重新封装、渲染展示的各变更业务算子对应的组件,对包含各变更业务算子对应组件的数据流和数据流的状态数据进行更新。
一个例子中,视图层120中展示的组件与数据流的状态数据之间可以是双向绑定的,在组件渲染实时变化的情况下,数据流的状态数据也随之变化,同样的,在数据流的状态数据变化的情况下,组件渲染也随之变化。
本公开实施例中,插件层在监听到代码库中算子业务代码发生变更的情况下,实时对发生变更的算子业务代码进行解析,以识别发生变更的算子业务代码中的变更业务算子,将所识别的变更业务算子封装成JSON格式的配置文件数据,得到变更配置文件数据列表,并及时将变更配置文件数据列表发送至视图层,以使得视图层能够及时根据变更配置文件数据列表中各变更业务算子的配置文件数据,重新对各变更业务算子对应的组件进行封装,以及以页面元素的形式进行渲染展示,并对对应的数据流和数据流的状态数据进行更新,保证了视图层数据流与插件层业务代码的一致性。
示例性的,如图3所示,图3为本公开实施例的一种业务代码开发系统的交互示意图,代码库可以包含业务方本地代码库,以及多个业务方的公共代码库等。插件层可以读取代码库中算子业务代码,对读取的算子业务代码进行解析,识别出算子业务代码中的业务算子,将业务算子封装成JSON格式的配置文件数据,得到配置文件数据列表,并将配置文件数据列表发送至视图层。
视图层接收配置文件数据列表,通过Canvas将配置文件数据列表中包含的多个业务算子分别封装成多个组件,并对多个组件分别渲染、展示,将各组件分别设置为可编排的组件,使得视图层的图编排器响应于用户针对展示的多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流,以及将数据流的状态数据发送至插件层。
插件层接收数据流的状态数据,按照状态数据中至少一个目标组件的配置文件数据的配置参数数据,对相应目标组件的业务算子进行参数配置,得到相应目标组件的目标业务算子;按照状态数据中至少一个目标组件的执行顺序数据,对相应目标组件的目标业务算子的执行顺序进行设置,生成数据流的应用业务代码,将生成的应用业务代码存储至代码库中。
其中,上述业务代码开发系统还可以与其他系统以及设备等通过应用程序接口进行交互通信。
本公开实施例中,插件层能够基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,将算子业务代码从函数级升级为算子级,视图层根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示;响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流,提高了对算子业务代码的表达能力,实现了算子业务代码的可视化编排,减少了算子业务代码的理解成本,将算子业务代码从算子级升级为数据流的流程级,提高了业务代码的可复用性。进一步的,视图层根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据,并将数据流的状态数据发送至插件层,插件层基于数据流的状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码,实现了应用业务代码的自动生成,降低了研发成本,且算子业务代码的可视化编排,能够便于问题的排查,增加了算子业务代码的可维护性和健壮性。
示例性的,如图4所示,图4为本公开实施例的另一种业务代码开发系统的交互示意图。图4左下方虚线框中为业务代码开发系统的初始化,主要包含插件层和视图层的初始化,对应于图中的插件注册激活函数,内容、命令配置,监听器、自定义事件,以及触发webview初始化,其中,内容、命令配置可以是插件层中算子业务代码相关内容、命令的配置。图4中统一Merge(合并)为算子库表示上文中代码库,来源于业务方本地代码库(包含图4中解析业务方代码库,以及代码库文件变化监听),公共代码库(图4中load架构算子json配置对应的业务代码)。
插件层通过对代码库中算子业务代码解析,生成配置文件数据列表(图4中包含普通文件变化、配置文件变化以及可用算子更新的方框中表示的内容),将配置文件数据列表通过消息message的方式发送给视图层。
视图层接收配置文件数据列表,识别配置文件数据列表中包含的事件(图4中event中心即事件中心),通过Canvas将配置文件数据列表中包含的各业务算子封装成不同的组件并渲染展示(图4中低代码平台webview(即业务代码开发平台)左区中显示的内容),视图层的图编排器响应于用户针对展示的多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流(图4中低代码平台webview中区中显示的内容),图4中低代码平台webview右区中显示的内容表示用户针对展示的各组件的编排操作,在用户完成对各组件的编排之后,视图层将数据流的状态数据通过消息的方式发送至插件层(图4中包含写入配置文件、用户自定义常用算子配置/排序、消息提示以及webview初始化\销毁的方框中表示的内容)。
插件层接收数据流的状态数据,并根据该状态数据实现数据流应用业务代码的生成。
本公开实施例还提供了一种业务代码开发方法,可以应用于上述业务代码开发系统,参见图5,该方法包括:
S501,基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,多个业务算子用于实现预设业务功能。
插件层能够基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,并将配置文件数据列表发送至视图层。
S502,根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示。
视图层接收插件层发送的配置文件数据列表,根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示。
S503,响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流。
视图层可以响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流。
S504,根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据。
视图层可以根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据,并将数据流的状态数据发送至插件层。
S505,基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码。
插件层接收视图层发送的数据流的状态数据,基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码。
本公开实施例中,能够基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,根据配置文件数据列表将多个业务算子分别封装成多个组件,对多个组件分别渲染并进行展示;响应于针对多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于至少一个目标组件的数据流,实现了算子业务代码的可视化编排,减少了算子业务代码的理解成本,进一步的,根据至少一个目标组件的执行逻辑,生成表示数据流的状态数据,基于状态数据以及至少一个目标组件对应的业务算子,生成数据流的应用业务代码,实现了应用业务代码的自动生成,降低了研发成本,且算子业务代码的可视化编排,能够便于问题的排查,增加了算子业务代码的可维护性和健壮性。
在一种可能的实施方式中,上述响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流,包括:
获取用户针对展示的多个组件中的至少一个目标组件的编排操作;
在视图层的目标区域中,按照所述编排操作对相应的目标组件进行编排,生成对应于所述至少一个目标组件的数据流。
在一种可能的实施方式中,上述基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,包括:
读取代码库中的算子业务代码,对所述算子业务代码进行解析,识别出所述算子业务代码中的业务算子;
将所述业务算子封装成JSON格式的配置文件数据,得到配置文件数据列表。
在一种可能的实施方式中,上述数据流的状态数据包括:所述数据流中至少一个目标组件的配置文件数据的配置参数数据,以及所述数据流中至少一个目标组件的执行顺序数据;
上述基于所述状态数据以及所述至少一个目标组件对应的业务算子,生成所述数据流的应用业务代码,包括:
按照所述状态数据中至少一个目标组件的配置文件数据的配置参数数据,对相应目标组件的业务算子进行参数配置,得到相应目标组件的目标业务算子;
按照所述状态数据中至少一个目标组件的执行顺序数据,对相应目标组件的目标业务算子的执行顺序进行设置,得到所述数据流的应用业务代码。
在一种可能的实施方式中,上述根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示,包括:
通过Canvas画布将所述配置文件数据列表中包含的所述多个业务算子分别封装成多个组件,并分别以页面元素的形式对各组件进行渲染展示;
所述方法还包括:将展示的各组件分别设置为可编排的组件。
在一种可能的实施方式中,上述编排操作包括以下至少一项:拖拽、移动、删除、选择、编辑、连线。
在一种可能的实施方式中,上述还包括:
在监听到用户对所述数据流中组件的更新操作之后,更新所述数据流对应的状态数据。
在一种可能的实施方式中,上述还包括:
在监听到代码库中算子业务代码发生变更的情况下,对发生变更的算子业务代码进行解析,识别发生变更的算子业务代码中的变更业务算子;
将所识别的变更业务算子封装成JSON格式的配置文件数据,得到变更配置文件数据列表;
基于所述变更配置文件数据列表中各变更业务算子的配置文件数据,重新对各所述变更业务算子对应的组件进行封装,以及以页面元素的形式进行渲染展示,并对对应的数据流和数据流的状态数据进行更新。
本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开中任一项的方法。
本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开中任一项的方法。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。需要说明的是,本实施例中的人头模型并不是针对某一特定用户的人头模型,并不能反映出某一特定用户的个人信息。需要说明的是,本实施例中的二维人脸图像来自于公开数据集。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如业务代码开发方法。例如,在一些实施例中,业务代码开发方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的业务代码开发方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行业务代码开发方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种业务代码开发方法,所述方法包括:
基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,所述多个业务算子用于实现预设业务功能;
根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示;
响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流;
根据所述至少一个目标组件的执行逻辑,生成表示所述数据流的状态数据;
基于所述状态数据以及所述至少一个目标组件对应的业务算子,生成所述数据流的应用业务代码。
2.根据权利要求1所述的方法,其中,所述响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流,包括:
获取用户针对展示的多个组件中的至少一个目标组件的编排操作;
在视图层的目标区域中,按照所述编排操作对相应的目标组件进行编排,生成对应于所述至少一个目标组件的数据流。
3.根据权利要求1所述的方法,其中,所述基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,包括:
读取代码库中的算子业务代码,对所述算子业务代码进行解析,识别出所述算子业务代码中的业务算子;
将所述业务算子封装成JSON格式的配置文件数据,得到配置文件数据列表。
4.根据权利要求3所述的方法,其中,所述数据流的状态数据包括:所述数据流中至少一个目标组件的配置文件数据的配置参数数据,以及所述数据流中至少一个目标组件的执行顺序数据;
所述基于所述状态数据以及所述至少一个目标组件对应的业务算子,生成所述数据流的应用业务代码,包括:
按照所述状态数据中至少一个目标组件的配置文件数据的配置参数数据,对相应目标组件的业务算子进行参数配置,得到相应目标组件的目标业务算子;
按照所述状态数据中至少一个目标组件的执行顺序数据,对相应目标组件的目标业务算子的执行顺序进行设置,得到所述数据流的应用业务代码。
5.根据权利要求1所述的方法,其中,所述根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示,包括:
通过Canvas画布将所述配置文件数据列表中包含的所述多个业务算子分别封装成多个组件,并分别以页面元素的形式对各组件进行渲染展示;
所述方法还包括:
将展示的各组件分别设置为可编排的组件。
6.根据权利要求1所述的方法,其中,所述编排操作包括以下至少一项:拖拽、移动、删除、选择、编辑、连线。
7.根据权利要求1所述的方法,还包括:
在监听到用户对所述数据流中组件的更新操作之后,更新所述数据流对应的状态数据。
8.根据权利要求1所述的方法,还包括:
在监听到代码库中算子业务代码发生变更的情况下,对发生变更的算子业务代码进行解析,识别发生变更的算子业务代码中的变更业务算子;
将所识别的变更业务算子封装成JSON格式的配置文件数据,得到变更配置文件数据列表;
基于所述变更配置文件数据列表中各变更业务算子的配置文件数据,重新对各所述变更业务算子对应的组件进行封装,以及以页面元素的形式进行渲染展示,并对对应的数据流和数据流的状态数据进行更新。
9.一种业务代码开发系统,包括:插件层以及视图层;
所述插件层,用于基于代码库中的算子业务代码,生成包括多个业务算子的配置文件数据列表,其中,所述多个业务算子用于实现预设业务功能,将所述配置文件数据列表发送至所述视图层;接收数据流的状态数据,基于所述状态数据以及至少一个目标组件对应的业务算子,生成所述数据流的应用业务代码;
所述视图层,用于接收所述配置文件数据列表,根据所述配置文件数据列表将所述多个业务算子分别封装成多个组件,对所述多个组件分别渲染并进行展示;响应于针对所述多个组件中的至少一个目标组件的编排操作,在视图层的目标区域中生成对应于所述至少一个目标组件的数据流;根据所述至少一个目标组件的执行逻辑,生成表示所述数据流的状态数据,并将所述数据流的状态数据发送至所述插件层。
10.根据权利要求9所述的系统,其中,所述视图层包括图编排器;所述图编排器用于:获取用户针对展示的多个组件中的至少一个目标组件的编排操作,在所述视图层的目标区域中,按照所述编排操作对相应的目标组件进行编排,生成对应于所述至少一个目标组件的数据流。
11.根据权利要求9所述的业务代码开发系统,其中,所述插件层具体用于:读取代码库中的算子业务代码,对所述算子业务代码进行解析,识别出所述算子业务代码中的业务算子,将所述业务算子封装成JSON格式的配置文件数据,得到配置文件数据列表。
12.根据权利要求11所述的系统,其中,所述数据流的状态数据包括:所述数据流中至少一个目标组件的配置文件数据的配置参数数据,以及所述数据流中至少一个目标组件的执行顺序数据;
所述插件层具体用于:按照所述状态数据中至少一个目标组件的配置文件数据的配置参数数据,对相应目标组件的业务算子进行参数配置,得到相应目标组件的目标业务算子;按照所述状态数据中至少一个目标组件的执行顺序数据,对相应目标组件的目标业务算子的执行顺序进行设置,得到所述数据流的应用业务代码。
13.根据权利要求10所述的业务代码开发系统,其中,所述视图层具体用于:通过Canvas画布将所述配置文件数据列表中包含的所述多个业务算子分别封装成多个组件,并分别以页面元素的形式对各组件进行渲染展示;以及将展示的各组件分别设置为可编排的组件。
14.根据权利要求9所述的业务代码开发系统,其中,所述编排操作包括以下至少一项:拖拽、移动、删除、选择、编辑、连线。
15.根据权利要求10所述的业务代码开发系统,所述图编排器还用于:在监听到用户对所述数据流中组件的更新操作之后,更新所述数据流对应的状态数据,将更新后的状态数据发送至所述插件层。
16.根据权利要求15所述的业务代码开发系统,所述插件层还用于:在监听到代码库中算子业务代码发生变更的情况下,对发生变更的算子业务代码进行解析,识别发生变更的算子业务代码中的变更业务算子,将所识别的变更业务算子封装成JSON格式的配置文件数据,得到变更配置文件数据列表,并将所述变更配置文件数据列表发送至所述视图层;
所述视图层还用于接收所述变更配置文件数据列表,基于所述变更配置文件数据列表中各变更业务算子的配置文件数据,重新对各所述变更业务算子对应的组件进行封装,以及以页面元素的形式进行渲染展示,并对对应的数据流和数据流的状态数据进行更新。
17.根据权利要求9所述的业务代码开发系统,所述插件层通过消息的形式将所述配置文件数据列表发送至所述视图层,所述视图层通过消息的形式将所述数据流的状态数据发送至所述插件层。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210556089.4A CN114816430A (zh) | 2022-05-20 | 2022-05-20 | 一种业务代码开发方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210556089.4A CN114816430A (zh) | 2022-05-20 | 2022-05-20 | 一种业务代码开发方法、系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816430A true CN114816430A (zh) | 2022-07-29 |
Family
ID=82517702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210556089.4A Pending CN114816430A (zh) | 2022-05-20 | 2022-05-20 | 一种业务代码开发方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816430A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785331A (zh) * | 2024-02-26 | 2024-03-29 | 云粒智慧科技有限公司 | 插件管理系统、方法、电子设备及存储介质 |
-
2022
- 2022-05-20 CN CN202210556089.4A patent/CN114816430A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785331A (zh) * | 2024-02-26 | 2024-03-29 | 云粒智慧科技有限公司 | 插件管理系统、方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113504908A (zh) | 业务代码生成方法、装置、电子设备及计算机可读介质 | |
CN112988130A (zh) | 一种基于大数据的可视化建模方法、装置、设备及介质 | |
CN111176629B (zh) | 一种应用开发的方法和装置 | |
CN111695827B (zh) | 业务流程的管理方法、装置、电子设备及存储介质 | |
CN112214210A (zh) | 后勤业务规则引擎及其配置方法、装置、设备和存储介质 | |
CN113050940A (zh) | 小程序的预览方法、相关装置及计算机程序产品 | |
CN113127050A (zh) | 一种应用资源打包过程监控方法、装置、设备和介质 | |
CN112860247A (zh) | 一种模型组件的自定义生成方法、装置、设备及介质 | |
CN115509522A (zh) | 面向低代码场景的接口编排方法、系统、电子设备 | |
CN114816430A (zh) | 一种业务代码开发方法、系统及计算机可读存储介质 | |
CN113835691A (zh) | 一种iOS应用开发方法、系统、设备、介质和程序产品 | |
CN113342450A (zh) | 页面处理的方法、装置、电子设备及计算机可读介质 | |
CN112947916A (zh) | 用于实现在线画布的方法、装置、设备以及存储介质 | |
CN111506393A (zh) | 一种基于arm的虚拟化装置及其使用方法 | |
CN115617441A (zh) | 绑定模型和图元的方法、装置、存储介质及计算机设备 | |
US11640281B2 (en) | Tool for introspection in object-oriented source code | |
CN116775174A (zh) | 一种基于用户界面框架的处理方法、装置、设备及介质 | |
CN115115062A (zh) | 机器学习模型建立方法、相关装置及计算机程序产品 | |
CN111858302B (zh) | 小程序的测试方法、装置、电子设备及存储介质 | |
US9372669B2 (en) | Multiple architecture viewpoints in single unified modeling language (UML) model | |
CN116610319B (zh) | 一种基于低代码平台构建地图应用的方法及系统 | |
US20240256370A1 (en) | Selective Invocation of RPA Workflows Via API Calls | |
CN110554892A (zh) | 信息获取方法和装置 | |
CN113157360B (zh) | 用于处理api的方法、装置、设备、介质和产品 | |
CN116414685A (zh) | 一种基于云真机平台的测试管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |