CN112394942A - 基于云计算的分布式软件开发编译方法及软件开发平台 - Google Patents

基于云计算的分布式软件开发编译方法及软件开发平台 Download PDF

Info

Publication number
CN112394942A
CN112394942A CN202011330654.2A CN202011330654A CN112394942A CN 112394942 A CN112394942 A CN 112394942A CN 202011330654 A CN202011330654 A CN 202011330654A CN 112394942 A CN112394942 A CN 112394942A
Authority
CN
China
Prior art keywords
compiling
dependency
information
software
distributed
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.)
Granted
Application number
CN202011330654.2A
Other languages
English (en)
Other versions
CN112394942B (zh
Inventor
季明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen junnan Information System Co.,Ltd.
Original Assignee
季明
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 季明 filed Critical 季明
Priority to CN202011330654.2A priority Critical patent/CN112394942B/zh
Publication of CN112394942A publication Critical patent/CN112394942A/zh
Application granted granted Critical
Publication of CN112394942B publication Critical patent/CN112394942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow 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)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种基于云计算的分布式软件开发编译方法及软件开发平台,通过编译依赖关系匹配软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息,以综合软件功能分区的分布式编译软件包信息与软件功能分区的分布式编译描述信息,提取到丰富的软件功能分区的编译依赖关系,从而便于在编译过程中基于编译依赖的关系进行高效地分布式编译;另外,通过软件功能分区的目标源编译特征,对软件功能分区进行源码文件编译,得到软件功能分区的当前编译文件,从而便于模块化单元编译,减少编译失败后的编译重启时间。

Description

基于云计算的分布式软件开发编译方法及软件开发平台
技术领域
本申请涉及分布式软件开发技术领域,具体而言,涉及一种基于云计算的分布式软件开发编译方法及软件开发平台。
背景技术
在分布式软件开发过程中,通常涉及到大范围的软件开发编译。相关技术中,在进行软件开发编译时,没有针对软件功能分区的编译依赖关系进行细化编译,导致模块化单元编译方案遗漏,进而导致当编译失败后,编译重启时间较长,影响软件更新进度和项目开发周期。
发明内容
为了至少克服现有技术中的上述不足,本申请的目的在于提供一种基于云计算的分布式软件开发编译方法及软件开发平台,通过编译依赖关系匹配软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息,以综合软件功能分区的分布式编译软件包信息与软件功能分区的分布式编译描述信息,提取到丰富的软件功能分区的编译依赖关系,从而便于在编译过程中基于编译依赖的关系进行高效地分布式编译;另外,通过软件功能分区的目标源编译特征,对软件功能分区进行源码文件编译,得到软件功能分区的当前编译文件,从而便于模块化单元编译,减少编译失败后的编译重启时间。
第一方面,本申请提供一种基于云计算的分布式软件开发编译方法,应用于软件开发平台,所述软件开发平台与多个软件开发编辑终端通信连接,所述方法包括:
获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;
基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;
基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;
将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。
在第一方面的一种可能的实现方式中,所述通过云计算软件开发服务对软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,包括:
获取所述软件开发工具包配置文件中的每个配置源码文件的软件开发编辑器所编辑的变化源码文件集,所述变化源码文件集包括以每个镜像文件为一参考单元的变化源码文件,所述变化源码文件包括该镜像文件的调用代码条件、调用代码结果以及该镜像文件内的调用代码更新记录;
针对每个镜像文件,根据每个配置源码文件在该镜像文件的调用代码更新记录中的多个更新记录行中的每一个更新记录行,根据该更新记录行中代码更新解释信息的解释向量表示,确定该更新记录行中每个代码更新解释信息是否为新编译代码实例,根据该更新记录行中新编译代码实例的实例类型,确定该更新记录行对应的每个代码资源包的索引代码片段,针对每个代码资源包的索引代码片段,将该代码资源包的索引代码片段划分为多个子索引代码片段,根据每个子索引代码片段内各代码更新解释信息的解释标签及预设的标签区间,确定代码资源包的索引代码片段是否为目标索引程序包的索引代码片段,其中,每个代码更新解释信息对应于每个编译分类代码更新行为;
基于确定的所述目标索引程序包的索引代码片段,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。
在第一方面的一种可能的实现方式中,所述基于确定的所述目标索引程序包的索引代码片段,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息的步骤,包括:
获取预设编译分类模板匹配所述目标索引程序包的索引代码片段内每个代码更新解释信息的编译分类模板块信息,所述编译分类模板块信息包括编译分类代码功能标签和编译分类代码应用标签,所述预设编译分类模板包括不同编译分类代码使用类型所对应的匹配策略;
根据所述变化源码文件集中的各个不同镜像文件的所述每个调用代码更新记录的编译分类模板块信息确定每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,并根据所述目标索引程序包的索引代码片段内每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,确定每个配置源码文件在该镜像文件的编译分类代码标签对象,将位于所述编译分类代码标签对象的编译分类代码的头信息区间内的软件包信息以及位于所述编译分类代码标签对象的编译分类代码的头信息区间外而关联于所述编译分类代码标签对象的编译分类代码的头信息区间的软件包信息作为每个配置源码文件在该镜像文件内的分布式编译程序信息后,将每个配置源码文件在所有镜像文件内的分布式编译程序信息进行汇总后,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。
在第一方面的一种可能的实现方式中,所述基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征的步骤,包括:
获取所述软件功能分区的分布式编译软件包信息中的每个分布式编译程序信息的调用代码描述信息上添加的依赖声明代码集合的依赖声明代码调度信息,并确定与所述依赖声明代码调度信息对应的第一依赖声明源码集,所述依赖声明代码调度信息包括根据所述依赖声明代码集合的依赖规则输入信息和依赖规则输出信息所确定出的依赖规则计算关系信息的依赖实例对象信息,所述第一依赖声明源码集包括所述依赖实例对象信息的多个依赖实例优先级的高低顺序;
确定每个分布式编译程序信息的调用代码描述信息基于依赖规则输入信息的第一依赖规则分量和基于依赖规则输出信息的第二依赖规则分量;
根据所述第一依赖规则分量和所述第二依赖规则分量的依赖实例优先级关系确定用于对所述第一依赖声明源码集进行逻辑回归解析的逻辑回归解析参数;
基于所述逻辑回归解析参数对所述第一依赖声明源码集进行逻辑回归解析获得第二依赖声明源码集;
对所述第二依赖声明源码集进行依赖方式划分得到多个依赖方式划分集,对每个依赖方式划分集进行特征提取得到依赖方式划分变量;
根据所述第二依赖声明源码集对应的多个依赖方式划分变量所对应的源编译特征,确定为每个分布式编译程序信息的源编译特征;
基于每个分布式编译程序信息的源编译特征获得所述软件功能分区的目标源编译特征。
在第一方面的一种可能的实现方式中,所述基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息的步骤,包括:
将所述软件开发工具包配置文件输入到预设的分布式编译程序中,获得所述软件开发工具包配置文件匹配于每个预设编译环境的匹配度;
根据所述软件开发工具包配置文件匹配于每个预设编译环境的匹配度确定所述软件开发工具包配置文件对应的目标编译环境;
从所述软件开发工具包配置文件对应的目标编译环境的编译环境描述信息中提取匹配于每个软件功能分区的分布式编译描述信息。
在第一方面的一种可能的实现方式中,所述将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息的步骤,包括:
将所述软件功能分区的目标源编译特征和分布式编译描述信息添加到编译依赖关系匹配程序中,从所述编译依赖关系匹配程序中确定出各编译依赖组件所对应所述软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系分布圈;
依据各不同依赖关系分布圈中编译依赖组件之间的组件关系的关系标签对各依赖关系分布圈进行依赖方式划分,得到至少一个依赖关系分布圈序列;其中,同一依赖关系分布圈序列中任意两个依赖关系分布圈中的编译依赖组件的组件关系的关系标签覆盖预设标签区间;
针对每一依赖关系分布圈序列,基于该依赖关系分布圈序列中各依赖关系分布圈,从所述编译依赖关系匹配程序中确定该依赖关系分布圈序列针对所述软件功能分区的目标源编译特征和分布式编译描述信息对应的程序依赖调用信息;其中,所述程序依赖调用信息至少包括依赖关系分布圈序列中各依赖关系分布圈针对所述软件功能分区的目标源编译特征和分布式编译描述信息的每个依赖程序编码表项的特征信息数据,所述程序依赖调用信息用于确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应所述软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系的代码输出结果;
基于所述程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果,采用预设组件关系分类模型对所述依赖关系的代码输出结果进行分类得到分类结果,根据所述分类结果,得到所述软件功能分区的编译依赖关系匹配信息。
在第一方面的一种可能的实现方式中,所述基于所述程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果的步骤,包括:
确定所述程序依赖调用信息的依赖调用开发信息和依赖调用类别,根据历史组件关系分量结果中的多个组件关系分布,确定多个依赖调用联动组合,根据每个依赖调用联动组合中各个组件关系分布在所述依赖调用开发信息内与所述依赖调用类别的依赖参数,进行依赖业务关系计算,得到分别与所述多个依赖调用联动组合对应的多个依赖业务关系计算结果,并将每个依赖业务关系计算结果对应的依赖调用联动组合的联动参数作为每个依赖业务关系计算结果的依赖联动参数;
基于所述多个依赖业务关系计算结果,分别获取在所述依赖调用开发信息内确定与所述依赖调用类别对应的各依赖关系分布圈的模拟组件关系节点,得到多个模拟组件关系节点,根据每个依赖业务关系计算结果的依赖联动参数,对基于所述多个依赖业务关系计算结果获取到的多个模拟组件关系节点进行整合,得到第一模拟组件关系节点集,其中,每个依赖调用联动组合中任两个组件关系分布之间的联动参数相等,且不同依赖调用联动组合对应的联动参数不等,每个依赖业务关系计算结果用于确定在任一设定时序段内与所述依赖调用类别对应的各依赖关系分布圈中的编译依赖组件对应的共同编译依赖信息,所述依赖业务关系计算结果通过根据历史组件关系分量结果进行依赖业务关系计算后得到;
根据所述历史组件关系分量结果和所述依赖调用类别对应的多个编译依赖组件的共同编译依赖信息,获取所述多个编译依赖组件在所述依赖调用开发信息内与所述依赖调用类别的之间的编译依赖结果,将所述多个编译依赖组件对应的编译依赖结果的对应的目标节点作为第二模拟组件关系节点;
比对所述第一模拟组件关系节点集与所述第二模拟组件关系节点的组件关系相关参数,根据所述组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
在第一方面的一种可能的实现方式中,根据所述组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果,包括:
基于所述组件关系相关参数确定每个编译依赖组件对应的组件关系圈网络的编译字段信息,通过每个编译依赖组件的共同编译依赖信息在对应的依赖关系分布圈中的覆盖关系确定每个编译依赖组件的编译兼容信息;
基于所述编译字段信息和所述编译兼容信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
譬如,在第一方面的一种可能的实现方式中,所述基于所述编译字段信息和所述编译兼容信息确定每个编译依赖组件对应的依赖关系的代码输出结果的步骤,包括:
提取所述编译字段信息对应的第一源编译特征序列以及所述编译兼容信息对应的第二源编译特征序列,并确定所述第一源编译特征序列和所述第二源编译特征序列中分别包括的若干个具有不同的编译特征片段的编译度量模型;其中,所述编译度量模型为所述第一源编译特征序列和所述第二源编译特征序列中的存在关联关系的源编译特征构成的模型;
在所述第一源编译特征序列的函数组件关系和所述第二源编译特征序列的函数组件关系相同的前提下,获得所述编译字段信息在所述第一源编译特征序列的任一编译度量模型的接口关系信息,并行地将所述第二源编译特征序列中具有最小编译特征片段的编译度量模型确定为目标编译度量模型;
基于每个编译依赖组件的提取策略,将所述接口关系信息添加到所述目标编译度量模型,在所述目标编译度量模型中确定出与所述接口关系信息对应的数据字典信息;
通过所述接口关系信息和所述数据字典信息之间的接口关系字典对象,生成所述编译字段信息和所述编译兼容信息之间的编译兼容点;
以所述数据字典信息为参考信息在所述目标编译度量模型中获取目标编译度量多元组信息,根据所述编译兼容点对应的多个兼容点路径,将所述目标编译度量多元组信息添加到所述接口关系信息所在编译度量模型,以在所述接口关系信息所在编译度量模型中得到所述目标编译度量多元组信息对应的依赖抽象类结果,并根据所述参考信息确定所述依赖抽象类结果为依赖程序编码结果;其中,所述目标编译度量多元组信息为编译操作对应的编译度量多元组的信息;
确定将所述接口关系信息添加到所述目标编译度量模型时对应的组件关系结果;
根据所述依赖抽象类结果与所述组件关系结果中的多个组件关系溯源节点对应的组件关系特征标签之间的关联度,在所述第二源编译特征序列中按照时序权重的由大到小的顺序依次获取所述依赖程序编码结果对应的依赖程序编码标签,直至获取到的所述依赖程序编码标签所在编译度量模型的软件框架更新节点数量与所述依赖程序编码结果在所述第一源编译特征序列中的软件框架更新节点数量一致时,停止获取下一编译度量模型中的依赖程序编码标签,并建立所述依赖程序编码结果与最后一次获取到的依赖程序编码标签之间的溯源关联信息,基于所述溯源关联信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
在第一方面的一种可能的实现方式中,所述基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件,包括:
获取所述软件功能分区在所述分布式编译软件包下的源码文件编译信息;
获取所述源码文件编译信息下的源码文件编译项目以及每个所述源码文件编译项目对应的组件关系配置信息;
将所述软件功能分区的编译依赖关系匹配信息覆盖配置于每个所述源码文件编译项目对应的组件关系配置信息下,得到所述软件功能分区的当前编译文件。
第二方面,本申请实施例还提供一种基于云计算的分布式软件开发编译装置,应用于软件开发平台,所述软件开发平台与多个软件开发编辑终端通信连接,所述装置包括:
获取模块,用于获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;
分析模块,用于基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;
解析模块,用于基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;
编译模块,用于将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。
第三方面,本申请实施例还提供一种基于云计算的分布式软件开发编译系统,所述基于云计算的分布式软件开发编译系统包括软件开发平台以及与所述软件开发平台通信连接的多个软件开发编辑终端;
所述软件开发平台,用于:
获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;
基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;
基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;
将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。
第四方面,本申请实施例还提供一种软件开发平台,所述软件开发平台包括处理器、机器可读存储介质和网络接口,所述机器可读存储介质、所述网络接口以及所述处理器之间通过总线系统相连,所述网络接口用于与至少一个软件开发编辑终端通信连接,所述机器可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述机器可读存储介质中的程序、指令或代码,以执行第一方面或者第一方面中任意一个可能的实现方式中的基于云计算的分布式软件开发编译方法。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其被执行时,使得计算机执行上述第一方面或者第一方面中任意一个可能的实现方式中的基于云计算的分布式软件开发编译方法。
基于上述任意一个方面,本申请通过编译依赖关系匹配软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息,以综合软件功能分区的分布式编译软件包信息与软件功能分区的分布式编译描述信息,提取到丰富的软件功能分区的编译依赖关系,从而便于在编译过程中基于编译依赖的关系进行高效地分布式编译;另外,通过软件功能分区的目标源编译特征,对软件功能分区进行源码文件编译,得到软件功能分区的当前编译文件,从而便于模块化单元编译,减少编译失败后的编译重启时间。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要调用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的基于云计算的分布式软件开发编译系统的应用场景示意图;
图2为本申请实施例提供的基于云计算的分布式软件开发编译方法的流程示意图;
图3为本申请实施例提供的基于云计算的分布式软件开发编译装置的功能模块示意图;
图4为本申请实施例提供的用于实现上述的基于云计算的分布式软件开发编译方法的软件开发平台的结构组件示意框图。
具体实施方式
下面结合说明书附图对本申请进行具体说明,方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。
图1是本申请一种实施例提供的基于云计算的分布式软件开发编译系统10的交互示意图。基于云计算的分布式软件开发编译系统10可以包括软件开发平台100以及与软件开发平台100通信连接的软件开发编辑终端200。图1所示的基于云计算的分布式软件开发编译系统10仅为一种可行的示例,在其它可行的实施例中,该基于云计算的分布式软件开发编译系统10也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
基于本申请提供的技术方案的发明构思出发,本申请提供的软件开发平台100可以应用在例如智慧医疗、智慧城市管理、智慧工业互联网、通用业务监控管理等可以应用大数据技术或者是云计算技术等的场景中,再比如,还可以应用在包括但不限于新能源汽车系统管理、智能云办公、云平台数据处理、云游戏数据处理、云直播处理、云汽车管理平台、区块链金融数据服务平台等,但不限于此。
本实施例中,基于云计算的分布式软件开发编译系统10中的软件开发平台100和软件开发编辑终端200可以通过配合执行以下方法实施例所描述的基于云计算的分布式软件开发编译方法,具体软件开发平台100和软件开发编辑终端200的执行步骤部分可以参照以下方法实施例的详细描述。
为了解决前述背景技术中的技术问题,图2为本申请实施例提供的基于云计算的分布式软件开发编译方法的流程示意图,本实施例提供的基于云计算的分布式软件开发编译方法可以由图1中所示的软件开发平台100执行,下面对该基于云计算的分布式软件开发编译方法进行详细介绍。
步骤S110,获取软件开发编辑终端200的软件开发工具包配置文件,通过云计算软件开发服务对软件开发工具包配置文件进行分布式编译软件包解析,得到软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。
步骤S120,基于软件功能分区的分布式编译软件包信息进行源编译特征分析,得到软件功能分区的目标源编译特征。
步骤S130,基于分布式编译程序对软件开发工具包配置文件进行分布式编译描述信息解析,得到软件功能分区的分布式编译描述信息。
步骤S140,将软件开发工具包配置文件中软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到软件功能分区的编译依赖关系匹配信息,并基于软件功能分区的编译依赖关系匹配信息对分布式编译软件包进行源码文件编译,得到软件功能分区的当前编译文件。
本实施例中,云计算软件开发服务可以理解为在云端运行的软件开发服务,例如可以预先在云端配置软件开发过程中的各个软件开发模块,例如在本申请实施例中需要使用到的分布式编译软件包解析的功能模块,进而执行此操作。关于具体分布式编译软件包解析的功能模块的操作可以参见后续针对步骤S110的详细描述。
本实施例中,软件开发工具包配置文件可以理解为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件。其中,分布式编译软件包可以是指软件开发编辑终端200在使用进行任意软件开发编译时通过使用软件开发工具包进行代码配置而生成的软件包。软件功能分区可以是指分布式编译软件包下形成的某个新增软件功能,或者更新软件功能,或者已有软件功能构成的代码文件目录区。
本实施例中,源编译特征可以用于表征针对各个软件功能分区所对应的源代码的编译策略信息,分布式编译描述信息可以用于描述在分布式编译过程中针对各个分布式节点的编译策略信息。
本实施例中,编译依赖关系可以是指在编译过程中,一个类使用另一个类的对象作为操作的参数,一个类用另一个类的对象作为该类的数据成员,一个类向另一个类传递信息等,这样的两个类之间都存在依赖关系。因此在编译过程中,需要考虑到编译依赖关系,由此按照编译依赖关系的特征分布进行针对性的软件编译的操作。这样,本实施例通过编译依赖关系匹配软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息,以综合软件功能分区的分布式编译软件包信息与软件功能分区的分布式编译描述信息,提取到丰富的软件功能分区的编译依赖关系,从而便于在编译过程中基于编译依赖的关系进行高效地分布式编译;另外,通过软件功能分区的目标源编译特征,对软件功能分区进行源码文件编译,得到软件功能分区的当前编译文件,从而便于模块化单元编译,减少编译失败后的编译重启时间。
接下来将对本申请实施例的一些可替代的实施方式进行说明,应当理解在接下来的实施例的描述中仅为示例,不应理解为实现本方案所必不可少的技术特征。
在一种可能的实现方式中,针对步骤S110而言,在通过云计算软件开发服务对软件开发工具包配置文件进行分布式编译软件包解析,得到软件开发工具包配置文件中软件功能分区的分布式编译软件包信息的过程中,可以通过以下示例性的子步骤来实现,详细描述如下。
子步骤S111,获取软件开发工具包配置文件中的每个配置源码文件的软件开发编辑器所编辑的变化源码文件集。
本实施例中,值得说明的是,变化源码文件集包括以每个镜像文件为一参考单元的变化源码文件,变化源码文件包括该镜像文件的调用代码条件、调用代码结果以及该镜像文件内的调用代码更新记录。譬如,镜像文件可以用于表示代码编辑配置过程中相关的业务范围,调用代码条件可以用于表征调用代码时的条件(例如某个功能代码被调用时,可以作为一个条件),调用代码结果可以用于表征调用代码后所指示的运行结果。
譬如,在本实施例中,软件开发编辑器可以是软体程序,软件开发编辑器是指具有编辑功能的程序。能把存在计算机中的源程序显示在屏幕上,然后根据需要进行增加、删除、替换和联结等操作。
例如,用户利用此程序对存储在计算机中的文卷进行增加、删除、修改、剪贴等加工处理。增加是指在旧文卷中插入若干行记录,或者在一行记录里添加若干字符。
例如,Aptana是一个基于Eclipse的集成开发环境,包括JavaScript编辑器和调试器,可以包括JavaScript,JavaScript函数,HTML,CSS语言的Code Assist功能。
子步骤S112,针对每个镜像文件,根据每个配置源码文件在该镜像文件的调用代码更新记录中的多个更新记录行中的每一个更新记录行,根据该更新记录行中代码更新解释信息的解释向量表示,确定该更新记录行中每个代码更新解释信息是否为新编译代码实例,根据该更新记录行中新编译代码实例的实例类型,确定该更新记录行对应的每个代码资源包的索引代码片段,针对每个代码资源包的索引代码片段,将该代码资源包的索引代码片段划分为多个子索引代码片段,根据每个子索引代码片段内各代码更新解释信息的解释标签及预设的标签区间,确定代码资源包的索引代码片段是否为目标索引程序包的索引代码片段。
其中,值得说明的是,每个代码更新解释信息对应于每个编译分类代码更新行为。
子步骤S113,获取预设编译分类模板匹配目标索引程序包的索引代码片段内每个代码更新解释信息的编译分类模板块信息,编译分类模板块信息包括编译分类代码功能标签和编译分类代码应用标签,预设编译分类模板包括不同编译分类代码使用类型所对应的匹配策略。
子步骤S114,根据变化源码文件集中的各个不同镜像文件的每个调用代码更新记录的编译分类模板块信息确定每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,并根据目标索引程序包的索引代码片段内每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,确定每个配置源码文件在该镜像文件的编译分类代码标签对象,将位于编译分类代码标签对象的编译分类代码的头信息区间内的软件包信息以及位于编译分类代码标签对象的编译分类代码的头信息区间外而关联于编译分类代码标签对象的编译分类代码的头信息区间的软件包信息作为每个配置源码文件在该镜像文件内的分布式编译程序信息后,将每个配置源码文件在所有镜像文件内的分布式编译程序信息进行汇总后,得到软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。
譬如,编译遍历常量是指在整个操作过程中其值保持不变的数据,通常在命令或程序中直接给出其值,用做常量的数据类型有数值型、字符型、日期型、逻辑型和货币型等类型。又例如,编译遍历变量是指在整个操作过程中其值变化的数据,具有存储空间的抽象,编译遍历变量是一种使用方便的占位符,用于引用内存地址,该地址可以存储Script运行时可更改的程序信息。
在一种可能的实现方式中,针对步骤S120而言,在基于软件功能分区的分布式编译软件包信息进行源编译特征分析,得到软件功能分区的目标源编译特征的过程中,可以通过以下示例性的子步骤来实现,详细描述如下。
子步骤S121,获取软件功能分区的分布式编译软件包信息中的每个分布式编译程序信息的调用代码描述信息上添加的依赖声明代码集合的依赖声明代码调度信息,并确定与依赖声明代码调度信息对应的第一依赖声明源码集。
譬如,依赖声明可以是在代码需要依赖另一个类对象的描述解释信息,依赖声明代码可以是指描述解释信息的代码化信息,可以包括依赖方式,或者依赖对象等代码表示信息。
值得说明的是,依赖声明代码调度信息包括根据依赖声明代码集合的依赖规则输入信息和依赖规则输出信息所确定出的依赖规则计算关系信息的依赖实例对象信息,第一依赖声明源码集包括依赖实例对象信息的多个依赖实例优先级的高低顺序。
子步骤S122,确定每个分布式编译程序信息的调用代码描述信息基于依赖规则输入信息的第一依赖规则分量和基于依赖规则输出信息的第二依赖规则分量。
子步骤S123,根据第一依赖规则分量和第二依赖规则分量的依赖实例优先级关系确定用于对第一依赖声明源码集进行逻辑回归解析的逻辑回归解析参数。
子步骤S124,基于逻辑回归解析参数对第一依赖声明源码集进行逻辑回归解析获得第二依赖声明源码集。
子步骤S125,对第二依赖声明源码集进行依赖方式划分得到多个依赖方式划分集,对每个依赖方式划分集进行特征提取得到依赖方式划分变量。
子步骤S126,根据第二依赖声明源码集对应的多个依赖方式划分变量所对应的源编译特征,确定为每个分布式编译程序信息的源编译特征。
子步骤S127,基于每个分布式编译程序信息的源编译特征获得软件功能分区的目标源编译特征。
进一步地,在一种可能的实现方式中,针对步骤S130而言,在基于分布式编译程序对软件开发工具包配置文件进行分布式编译描述信息解析,得到软件功能分区的分布式编译描述信息的过程中,可以通过以下示例性的子步骤来实现,详细描述如下。
子步骤S131,将软件开发工具包配置文件输入到预设的分布式编译程序中,获得软件开发工具包配置文件匹配于每个预设编译环境的匹配度。
子步骤S132,根据软件开发工具包配置文件匹配于每个预设编译环境的匹配度确定软件开发工具包配置文件对应的目标编译环境。
譬如,可以将匹配度大于预设匹配度阈值的预设编译环境确定为软件开发工具包配置文件对应的目标编译环境。
子步骤S133,从软件开发工具包配置文件对应的目标编译环境的编译环境描述信息中提取匹配于每个软件功能分区的分布式编译描述信息。
譬如,在提取过程中,可以具体提取编译环境描述信息中匹配于每个软件功能分区的具有结构化描述信息的特征信息。
在一种可能的实现方式中,针对步骤S140而言,在将软件开发工具包配置文件中软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到软件功能分区的编译依赖关系匹配信息的过程中,可以通过以下示例性的子步骤来实现,详细描述如下。
子步骤S141,将软件功能分区的目标源编译特征和分布式编译描述信息添加到编译依赖关系匹配程序中,从编译依赖关系匹配程序中确定出各编译依赖组件所对应软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系分布圈。
子步骤S142,依据各不同依赖关系分布圈中编译依赖组件之间的组件关系的关系标签对各依赖关系分布圈进行依赖方式划分,得到至少一个依赖关系分布圈序列。
本实施例中,同一依赖关系分布圈序列中任意两个依赖关系分布圈中的编译依赖组件的组件关系的关系标签覆盖预设标签区间。
子步骤S143,针对每一依赖关系分布圈序列,基于该依赖关系分布圈序列中各依赖关系分布圈,从编译依赖关系匹配程序中确定该依赖关系分布圈序列针对软件功能分区的目标源编译特征和分布式编译描述信息对应的程序依赖调用信息。
本实施例中,程序依赖调用信息至少包括依赖关系分布圈序列中各依赖关系分布圈针对软件功能分区的目标源编译特征和分布式编译描述信息的每个依赖程序编码表项的特征信息数据,程序依赖调用信息用于确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系的代码输出结果。
子步骤S144,基于程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果,采用预设组件关系分类模型对依赖关系的代码输出结果进行分类得到分类结果,根据分类结果,得到软件功能分区的编译依赖关系匹配信息。
示例性地,在一种可能的示例中,对于子步骤S144而言,在基于程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果的过程中,可以通过以下可替代的实施方式来实现。
子步骤S1441,确定程序依赖调用信息的依赖调用开发信息和依赖调用类别,根据历史组件关系分量结果中的多个组件关系分布,确定多个依赖调用联动组合,根据每个依赖调用联动组合中各个组件关系分布在依赖调用开发信息内与依赖调用类别的依赖参数,进行依赖业务关系计算,得到分别与多个依赖调用联动组合对应的多个依赖业务关系计算结果,并将每个依赖业务关系计算结果对应的依赖调用联动组合的联动参数作为每个依赖业务关系计算结果的依赖联动参数。
子步骤S1442,基于多个依赖业务关系计算结果,分别获取在依赖调用开发信息内确定与依赖调用类别对应的各依赖关系分布圈的模拟组件关系节点,得到多个模拟组件关系节点,根据每个依赖业务关系计算结果的依赖联动参数,对基于多个依赖业务关系计算结果获取到的多个模拟组件关系节点进行整合,得到第一模拟组件关系节点集。
其中,值得说明的是,每个依赖调用联动组合中任两个组件关系分布之间的联动参数相等,且不同依赖调用联动组合对应的联动参数不等,每个依赖业务关系计算结果用于确定在任一设定时序段内与依赖调用类别对应的各依赖关系分布圈中的编译依赖组件对应的共同编译依赖信息,依赖业务关系计算结果通过根据历史组件关系分量结果进行依赖业务关系计算后得到。
子步骤S1443,根据历史组件关系分量结果和依赖调用类别对应的多个编译依赖组件的共同编译依赖信息,获取多个编译依赖组件在依赖调用开发信息内与依赖调用类别的之间的编译依赖结果,将多个编译依赖组件对应的编译依赖结果的对应的目标节点作为第二模拟组件关系节点。
子步骤S1444,比对第一模拟组件关系节点集与第二模拟组件关系节点的组件关系相关参数,根据组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
例如,在一种可替代的实施例中,对于子步骤S1444,可以通过以下实施例来实现。
(1)基于组件关系相关参数确定每个编译依赖组件对应的组件关系圈网络的编译字段信息,通过每个编译依赖组件的共同编译依赖信息在对应的依赖关系分布圈中的覆盖关系确定每个编译依赖组件的编译兼容信息。
(2)提取编译字段信息对应的第一源编译特征序列以及编译兼容信息对应的第二源编译特征序列,并确定第一源编译特征序列和第二源编译特征序列中分别包括的若干个具有不同的编译特征片段的编译度量模型。
其中,编译度量模型可以理解为第一源编译特征序列和第二源编译特征序列中的存在关联关系的源编译特征构成的模型。
(3)在第一源编译特征序列的函数组件关系和第二源编译特征序列的函数组件关系相同的前提下,获得编译字段信息在第一源编译特征序列的任一编译度量模型的接口关系信息,并行地将第二源编译特征序列中具有最小编译特征片段的编译度量模型确定为目标编译度量模型。
(4)基于每个编译依赖组件的提取策略,将接口关系信息添加到目标编译度量模型,在目标编译度量模型中确定出与接口关系信息对应的数据字典信息。
(5)通过接口关系信息和数据字典信息之间的接口关系字典对象,生成编译字段信息和编译兼容信息之间的编译兼容点。
(6)以数据字典信息为参考信息在目标编译度量模型中获取目标编译度量多元组信息,根据编译兼容点对应的多个兼容点路径,将目标编译度量多元组信息添加到接口关系信息所在编译度量模型,以在接口关系信息所在编译度量模型中得到目标编译度量多元组信息对应的依赖抽象类结果,并根据参考信息确定依赖抽象类结果为依赖程序编码结果。
其中,目标编译度量多元组信息可以理解为编译操作对应的编译度量多元组的信息。
(7)确定将接口关系信息添加到目标编译度量模型时对应的组件关系结果。
(8)根据依赖抽象类结果与组件关系结果中的多个组件关系溯源节点对应的组件关系特征标签之间的关联度,在第二源编译特征序列中按照时序权重的由大到小的顺序依次获取依赖程序编码结果对应的依赖程序编码标签,直至获取到的依赖程序编码标签所在编译度量模型的软件框架更新节点数量与依赖程序编码结果在第一源编译特征序列中的软件框架更新节点数量一致时,停止获取下一编译度量模型中的依赖程序编码标签,并建立依赖程序编码结果与最后一次获取到的依赖程序编码标签之间的溯源关联信息,基于溯源关联信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
在一种可能的实现方式中,仍旧针对步骤S140,在基于软件功能分区的编译依赖关系匹配信息对分布式编译软件包进行源码文件编译,得到软件功能分区的当前编译文件的过程中,可以通过以下示例性的子步骤来实现,详细描述如下。
子步骤S145,获取软件功能分区在分布式编译软件包下的源码文件编译信息。
子步骤S146,获取源码文件编译信息下的源码文件编译项目以及每个源码文件编译项目对应的组件关系配置信息。
子步骤S147,将软件功能分区的编译依赖关系匹配信息覆盖配置于每个源码文件编译项目对应的组件关系配置信息下,得到软件功能分区的当前编译文件。
在一种可能的实现方式中,在步骤S140之后,还可以包括以下步骤:
步骤S150,获取基于不同软件功能分区的当前编译文件获得的分布式应用程序包。
步骤S160,获取分布式应用程序包的应用业务实例执行图谱中的多个应用业务执行实例的实例参数信息。
本实施例中,每个应用业务执行实例可以用于表示分布式应用程序包在功能实现过程中需要被执行的一个或者多个业务实例,且每个应用业务执行实例所表示的业务实例的软件测试任务需要执行测试。
本实施例中,业务实例表示是指在面向对象的编程中,把用一个抽象概念类创建对象的过程所表示的业务实际功能。
本实施例中,任一应用业务执行实例的实例参数信息用于反映任一应用业务执行实例和其它应用业务执行实例之间的关联关系。例如,针对订单业务而言,订单下单业务的应用业务执行实例与订单付款业务的应用业务执行实例以及订单确认业务的应用业务执行实例存在关联关系,及在订单下单后,需要进行订单付款,在订单付款后,需要进行订单收货信息的确认。
步骤S170,根据各应用业务执行实例的实例参数信息,将至少两个应用业务执行实例聚类为目标聚类实例。
本实施中,目标聚类实例用于指示对被聚类的应用业务执行实例所表示的业务实例的软件测试任务进行测试。
步骤S180,采用目标聚类实例更新应用业务实例执行图谱,并将更新后的应用业务实例执行图谱发送至软件实例测试程序。
本实施中,更新后的应用业务实例执行图谱可以用于指示软件实例测试程序按照目标聚类实例的指示,在分布式应用程序包的功能实现过程中对被聚类的应用业务执行实例所表示的业务实例的软件测试任务进行测试,并输出测试结果。
详细的,在一些可能的实现方式中,软件测试任务可以依据实际软件功能的需求进行配置,具体可以自定义,或者参照现有技术中的常规测试任务即可,在此不做限定。此外,软件实例测试程序具体的测试逻辑可以参照软件测试任务进行自适应性配置,具体测试的内容和形式不是本申请实施例旨在解决的技术问题,此处不作详细描述。
基于上述步骤,本实施例可先根据分布式应用程序包的应用业务实例执行图谱中的多个应用业务执行实例的实例参数信息,将至少两个应用业务执行实例聚类为目标聚类实例,该目标聚类实例用于指示对被聚类的应用业务执行实例所表示的业务实例的软件测试任务进行测试。然后,可采用目标聚类实例更新应用业务实例执行图谱,并将更新后的应用业务实例执行图谱发送至软件实例测试程序,使得软件实例测试程序在测试分布式应用程序包的过程中,可按照目标聚类实例的指示对被聚类的应用业务执行实例所表示的业务实例的软件测试任务进行测试,从而减少测试的重调用次数,以节省云计算资源并缩短测试总时长。
图3为本公开实施例提供的基于云计算的分布式软件开发编译装置300的功能模块示意图,本实施例可以根据上述软件开发平台100执行的方法实施例对该基于云计算的分布式软件开发编译装置300进行功能模块的划分,也即该基于云计算的分布式软件开发编译装置300所对应的以下各个功能模块可以用于执行上述软件开发平台100执行的各个方法实施例。其中,该基于云计算的分布式软件开发编译装置300可以包括获取模块310、分析模块320、解析模块330以及编译模块340,下面分别对该基于云计算的分布式软件开发编译装置300的各个功能模块的功能进行详细阐述。
获取模块310,用于获取软件开发编辑终端200的软件开发工具包配置文件,通过云计算软件开发服务对软件开发工具包配置文件进行分布式编译软件包解析,得到软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件。其中,获取模块310可以用于执行上述的步骤S110,关于获取模块310的详细实现方式可以参照上述针对步骤S110的详细描述即可。
分析模块320,用于基于软件功能分区的分布式编译软件包信息进行源编译特征分析,得到软件功能分区的目标源编译特征。其中,分析模块320可以用于执行上述的步骤S120,关于分析模块320的详细实现方式可以参照上述针对步骤S120的详细描述即可。
解析模块330,用于基于分布式编译程序对软件开发工具包配置文件进行分布式编译描述信息解析,得到软件功能分区的分布式编译描述信息。其中,解析模块330可以用于执行上述的步骤S130,关于解析模块330的详细实现方式可以参照上述针对步骤S130的详细描述即可。
编译模块340,用于将软件开发工具包配置文件中软件功能分区的目标源编译特征与软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到软件功能分区的编译依赖关系匹配信息,并基于软件功能分区的编译依赖关系匹配信息对分布式编译软件包进行源码文件编译,得到软件功能分区的当前编译文件。其中,编译模块340可以用于执行上述的步骤S140,关于编译模块340的详细实现方式可以参照上述针对步骤S140的详细描述即可。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现。也可以全部以硬件的形式实现。还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,获取模块310可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上获取模块310的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所描述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图4示出了本公开实施例提供的用于实现上述的基于云计算的分布式软件开发编译方法的软件开发平台100的硬件结构示意图,如图4所示,软件开发平台100可包括处理器110、机器可读存储介质120、总线130以及收发器140。
在具体实现过程中,至少一个处理器110执行机器可读存储介质120存储的计算机执行指令(例如图3中所示的基于云计算的分布式软件开发编译装置300包括的获取模块310、分析模块320、解析模块330以及编译模块340),使得处理器110可以执行如上方法实施例的基于云计算的分布式软件开发编译方法,其中,处理器110、机器可读存储介质120以及收发器140通过总线130连接,处理器110可以用于控制收发器140的收发动作,从而可以与前述的软件开发编辑终端200进行数据收发。
处理器110的具体实现过程可参见上述软件开发平台100执行的各个方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图4所示的实施例中,应理解,处理器可以是中央处理器(英文:CentralProcessing Unit,CPU),还可以是其它通用处理器、数字信号处理器(英文:DigitalSignal Processor,DSP)、专用集成电路(英文:Application SpecificIntegratedCircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
机器可读存储介质120可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线130可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线130可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
此外,本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上基于云计算的分布式软件开发编译方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定推送要素来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对它们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、系统或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,被动编程语言如Python、Ruby和Groovy,或其它编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
最后,应当理解的是,本说明书中实施例仅用以说明本说明书实施例的原则。其它的变形也可能属于本说明书范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (10)

1.一种基于云计算的分布式软件开发编译方法,其特征在于,应用于软件开发平台,所述软件开发平台与多个软件开发编辑终端通信连接,所述方法包括:
获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;
基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;
基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;
将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。
2.根据权利要求1所述的基于云计算的分布式软件开发编译方法,其特征在于,所述通过云计算软件开发服务对软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,包括:
获取所述软件开发工具包配置文件中的每个配置源码文件的软件开发编辑器所编辑的变化源码文件集,所述变化源码文件集包括以每个镜像文件为一参考单元的变化源码文件,所述变化源码文件包括该镜像文件的调用代码条件、调用代码结果以及该镜像文件内的调用代码更新记录;
针对每个镜像文件,根据每个配置源码文件在该镜像文件的调用代码更新记录中的多个更新记录行中的每一个更新记录行,根据该更新记录行中代码更新解释信息的解释向量表示,确定该更新记录行中每个代码更新解释信息是否为新编译代码实例,根据该更新记录行中新编译代码实例的实例类型,确定该更新记录行对应的每个代码资源包的索引代码片段,针对每个代码资源包的索引代码片段,将该代码资源包的索引代码片段划分为多个子索引代码片段,根据每个子索引代码片段内各代码更新解释信息的解释标签及预设的标签区间,确定代码资源包的索引代码片段是否为目标索引程序包的索引代码片段,其中,每个代码更新解释信息对应于每个编译分类代码更新行为;
基于确定的所述目标索引程序包的索引代码片段,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。
3.根据权利要求1所述的基于云计算的分布式软件开发编译方法,其特征在于,所述基于确定的所述目标索引程序包的索引代码片段,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息的步骤,包括:
获取预设编译分类模板匹配所述目标索引程序包的索引代码片段内每个代码更新解释信息的编译分类模板块信息,所述编译分类模板块信息包括编译分类代码功能标签和编译分类代码应用标签,所述预设编译分类模板包括不同编译分类代码使用类型所对应的匹配策略;
根据所述变化源码文件集中的各个不同镜像文件的所述每个调用代码更新记录的编译分类模板块信息确定每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,并根据所述目标索引程序包的索引代码片段内每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,确定每个配置源码文件在该镜像文件的编译分类代码标签对象,将位于所述编译分类代码标签对象的编译分类代码的头信息区间内的软件包信息以及位于所述编译分类代码标签对象的编译分类代码的头信息区间外而关联于所述编译分类代码标签对象的编译分类代码的头信息区间的软件包信息作为每个配置源码文件在该镜像文件内的分布式编译程序信息后,将每个配置源码文件在所有镜像文件内的分布式编译程序信息进行汇总后,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。
4.根据权利要求1所述的基于云计算的分布式软件开发编译方法,其特征在于,所述基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征的步骤,包括:
获取所述软件功能分区的分布式编译软件包信息中的每个分布式编译程序信息的调用代码描述信息上添加的依赖声明代码集合的依赖声明代码调度信息,并确定与所述依赖声明代码调度信息对应的第一依赖声明源码集,所述依赖声明代码调度信息包括根据所述依赖声明代码集合的依赖规则输入信息和依赖规则输出信息所确定出的依赖规则计算关系信息的依赖实例对象信息,所述第一依赖声明源码集包括所述依赖实例对象信息的多个依赖实例优先级的高低顺序;
确定每个分布式编译程序信息的调用代码描述信息基于依赖规则输入信息的第一依赖规则分量和基于依赖规则输出信息的第二依赖规则分量;
根据所述第一依赖规则分量和所述第二依赖规则分量的依赖实例优先级关系确定用于对所述第一依赖声明源码集进行逻辑回归解析的逻辑回归解析参数;
基于所述逻辑回归解析参数对所述第一依赖声明源码集进行逻辑回归解析获得第二依赖声明源码集;
对所述第二依赖声明源码集进行依赖方式划分得到多个依赖方式划分集,对每个依赖方式划分集进行特征提取得到依赖方式划分变量;
根据所述第二依赖声明源码集对应的多个依赖方式划分变量所对应的源编译特征,确定为每个分布式编译程序信息的源编译特征;
基于每个分布式编译程序信息的源编译特征获得所述软件功能分区的目标源编译特征。
5.根据权利要求1所述的基于云计算的分布式软件开发编译方法,其特征在于,所述基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息的步骤,包括:
将所述软件开发工具包配置文件输入到预设的分布式编译程序中,获得所述软件开发工具包配置文件匹配于每个预设编译环境的匹配度,其中,所述预设的分布式编译程序配置有不同软件开发工具包配置文件的编译特征与每个预设编译环境的匹配参数的对应关系;
根据所述软件开发工具包配置文件匹配于每个预设编译环境的匹配度确定所述软件开发工具包配置文件对应的目标编译环境;
从所述软件开发工具包配置文件对应的目标编译环境的编译环境描述信息中提取匹配于每个软件功能分区的分布式编译描述信息。
6.根据权利要求1-5中任意一项所述的基于云计算的分布式软件开发编译方法,其特征在于,所述将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息的步骤,包括:
将所述软件功能分区的目标源编译特征和分布式编译描述信息添加到编译依赖关系匹配程序中,从所述编译依赖关系匹配程序中确定出各编译依赖组件所对应所述软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系分布圈;
依据各不同依赖关系分布圈中编译依赖组件之间的组件关系的关系标签对各依赖关系分布圈进行依赖方式划分,得到至少一个依赖关系分布圈序列;其中,同一依赖关系分布圈序列中任意两个依赖关系分布圈中的编译依赖组件的组件关系的关系标签覆盖预设标签区间;
针对每一依赖关系分布圈序列,基于该依赖关系分布圈序列中各依赖关系分布圈,从所述编译依赖关系匹配程序中确定该依赖关系分布圈序列针对所述软件功能分区的目标源编译特征和分布式编译描述信息对应的程序依赖调用信息;其中,所述程序依赖调用信息至少包括依赖关系分布圈序列中各依赖关系分布圈针对所述软件功能分区的目标源编译特征和分布式编译描述信息的每个依赖程序编码表项的特征信息数据,所述程序依赖调用信息用于确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应所述软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系的代码输出结果;
基于所述程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果,采用预设组件关系分类模型对所述依赖关系的代码输出结果进行分类得到分类结果,根据所述分类结果,得到所述软件功能分区的编译依赖关系匹配信息。
7.根据权利要求6所述的基于云计算的分布式软件开发编译方法,其特征在于,所述基于所述程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果的步骤,包括:
确定所述程序依赖调用信息的依赖调用开发信息和依赖调用类别,根据历史组件关系分量结果中的多个组件关系分布,确定多个依赖调用联动组合,根据每个依赖调用联动组合中各个组件关系分布在所述依赖调用开发信息内与所述依赖调用类别的依赖参数,进行依赖业务关系计算,得到分别与所述多个依赖调用联动组合对应的多个依赖业务关系计算结果,并将每个依赖业务关系计算结果对应的依赖调用联动组合的联动参数作为每个依赖业务关系计算结果的依赖联动参数;
基于所述多个依赖业务关系计算结果,分别获取在所述依赖调用开发信息内确定与所述依赖调用类别对应的各依赖关系分布圈的模拟组件关系节点,得到多个模拟组件关系节点,根据每个依赖业务关系计算结果的依赖联动参数,对基于所述多个依赖业务关系计算结果获取到的多个模拟组件关系节点进行整合,得到第一模拟组件关系节点集,其中,每个依赖调用联动组合中任两个组件关系分布之间的联动参数相等,且不同依赖调用联动组合对应的联动参数不等,每个依赖业务关系计算结果用于确定在任一设定时序段内与所述依赖调用类别对应的各依赖关系分布圈中的编译依赖组件对应的共同编译依赖信息,所述依赖业务关系计算结果通过根据历史组件关系分量结果进行依赖业务关系计算后得到;
根据所述历史组件关系分量结果和所述依赖调用类别对应的多个编译依赖组件的共同编译依赖信息,获取所述多个编译依赖组件在所述依赖调用开发信息内与所述依赖调用类别的之间的编译依赖结果,将所述多个编译依赖组件对应的编译依赖结果的对应的目标节点作为第二模拟组件关系节点;
比对所述第一模拟组件关系节点集与所述第二模拟组件关系节点的组件关系相关参数,根据所述组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
8.根据权利要求7所述的基于云计算的分布式软件开发编译方法,其特征在于,根据所述组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果,包括:
基于所述组件关系相关参数确定每个编译依赖组件对应的组件关系圈网络的编译字段信息,通过每个编译依赖组件的共同编译依赖信息在对应的依赖关系分布圈中的覆盖关系确定每个编译依赖组件的编译兼容信息;
基于所述编译字段信息和所述编译兼容信息确定每个编译依赖组件对应的依赖关系的代码输出结果。
9.根据权利要求1-8中任意一项所述的基于云计算的分布式软件开发编译方法,其特征在于,所述基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件,包括:
获取所述软件功能分区在所述分布式编译软件包下的源码文件编译信息;
获取所述源码文件编译信息下的源码文件编译项目以及每个所述源码文件编译项目对应的组件关系配置信息;
将所述软件功能分区的编译依赖关系匹配信息覆盖配置于每个所述源码文件编译项目对应的组件关系配置信息下,得到所述软件功能分区的当前编译文件。
10.一种软件开发平台,其特征在于,所述软件开发平台包括处理器、机器可读存储介质和网络接口,所述机器可读存储介质、所述网络接口以及所述处理器之间通过总线系统相连,所述网络接口用于与至少一个软件开发编辑终端通信连接,所述机器可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述机器可读存储介质中的程序、指令或代码,以执行权利要求1-9中任意一项的基于云计算的分布式软件开发编译方法。
CN202011330654.2A 2020-11-24 2020-11-24 基于云计算的分布式软件开发编译方法及软件开发平台 Active CN112394942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011330654.2A CN112394942B (zh) 2020-11-24 2020-11-24 基于云计算的分布式软件开发编译方法及软件开发平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011330654.2A CN112394942B (zh) 2020-11-24 2020-11-24 基于云计算的分布式软件开发编译方法及软件开发平台

Publications (2)

Publication Number Publication Date
CN112394942A true CN112394942A (zh) 2021-02-23
CN112394942B CN112394942B (zh) 2021-06-04

Family

ID=74607783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011330654.2A Active CN112394942B (zh) 2020-11-24 2020-11-24 基于云计算的分布式软件开发编译方法及软件开发平台

Country Status (1)

Country Link
CN (1) CN112394942B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127000A (zh) * 2021-04-23 2021-07-16 北京字节跳动网络技术有限公司 应用程序组件的编译方法、装置、设备及存储介质
CN113254022A (zh) * 2021-05-14 2021-08-13 北京车和家信息技术有限公司 分布式编译系统和方法
CN113536316A (zh) * 2021-06-17 2021-10-22 深圳开源互联网安全技术有限公司 组件依赖信息的检测方法及装置
CN113986239A (zh) * 2021-10-22 2022-01-28 烽火通信科技股份有限公司 分布式编译方法、装置、设备及可读存储介质
CN114816506A (zh) * 2022-04-21 2022-07-29 北京金堤科技有限公司 模型特征快速处理方法、装置以及存储介质和电子设备
US20220405062A1 (en) * 2021-06-21 2022-12-22 International Business Machines Corporation Software code integration from a media file
CN115828805A (zh) * 2022-10-21 2023-03-21 芯华章科技(北京)有限公司 分割逻辑系统设计的方法、设备及存储介质
CN116126347A (zh) * 2023-04-17 2023-05-16 函子科技(杭州)有限公司 一种低代码应用程序的文件编译系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968298A (zh) * 2012-10-31 2013-03-13 山东浪潮齐鲁软件产业股份有限公司 一种软件产品构建方法
US20130167128A1 (en) * 2009-05-29 2013-06-27 Adobe Systems Incorporated Application Compiling
CN103473072A (zh) * 2013-09-24 2013-12-25 北京大学 一种移动云计算应用程序开发方法
KR101765725B1 (ko) * 2016-02-26 2017-08-23 소프트온넷(주) 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법
CN108304189A (zh) * 2016-08-29 2018-07-20 迈普通信技术股份有限公司 多镜像设备软件编译方法、装置及设备
CN109828759A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 代码编译方法、装置、计算机装置及存储介质
CN109947459A (zh) * 2017-12-19 2019-06-28 镇江飞协软件开发有限公司 一种软件产品构建方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130167128A1 (en) * 2009-05-29 2013-06-27 Adobe Systems Incorporated Application Compiling
CN102968298A (zh) * 2012-10-31 2013-03-13 山东浪潮齐鲁软件产业股份有限公司 一种软件产品构建方法
CN103473072A (zh) * 2013-09-24 2013-12-25 北京大学 一种移动云计算应用程序开发方法
KR101765725B1 (ko) * 2016-02-26 2017-08-23 소프트온넷(주) 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법
CN108304189A (zh) * 2016-08-29 2018-07-20 迈普通信技术股份有限公司 多镜像设备软件编译方法、装置及设备
CN109947459A (zh) * 2017-12-19 2019-06-28 镇江飞协软件开发有限公司 一种软件产品构建方法
CN109828759A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 代码编译方法、装置、计算机装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘贤斐 等: "一种分布式编译系统的设计与实现", 《微计算机信息》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127000A (zh) * 2021-04-23 2021-07-16 北京字节跳动网络技术有限公司 应用程序组件的编译方法、装置、设备及存储介质
CN113127000B (zh) * 2021-04-23 2024-05-28 北京字节跳动网络技术有限公司 应用程序组件的编译方法、装置、设备及存储介质
CN113254022A (zh) * 2021-05-14 2021-08-13 北京车和家信息技术有限公司 分布式编译系统和方法
CN113536316A (zh) * 2021-06-17 2021-10-22 深圳开源互联网安全技术有限公司 组件依赖信息的检测方法及装置
CN113536316B (zh) * 2021-06-17 2023-08-11 深圳开源互联网安全技术有限公司 组件依赖信息的检测方法及装置
US20220405062A1 (en) * 2021-06-21 2022-12-22 International Business Machines Corporation Software code integration from a media file
US11714610B2 (en) * 2021-06-21 2023-08-01 International Business Machines Corporation Software code integration from a media file
CN113986239A (zh) * 2021-10-22 2022-01-28 烽火通信科技股份有限公司 分布式编译方法、装置、设备及可读存储介质
CN114816506A (zh) * 2022-04-21 2022-07-29 北京金堤科技有限公司 模型特征快速处理方法、装置以及存储介质和电子设备
CN115828805A (zh) * 2022-10-21 2023-03-21 芯华章科技(北京)有限公司 分割逻辑系统设计的方法、设备及存储介质
CN116126347A (zh) * 2023-04-17 2023-05-16 函子科技(杭州)有限公司 一种低代码应用程序的文件编译系统和方法
CN116126347B (zh) * 2023-04-17 2023-07-07 函子科技(杭州)有限公司 一种低代码应用程序的文件编译系统和方法

Also Published As

Publication number Publication date
CN112394942B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112394942B (zh) 基于云计算的分布式软件开发编译方法及软件开发平台
CN107704265B (zh) 一种面向业务流可配置的规则生成方法
CN107644323B (zh) 一种面向业务流的智能审核系统
US9747190B2 (en) Analysis system, analysis method, and computer program product
WO2019075390A1 (en) BOX BLACK MATCHING MOTOR
US11579856B2 (en) Multi-chip compatible compiling method and device
CN109117164B (zh) 基于关键元素差异性分析的微服务更新方法及系统
CN111399853A (zh) 机器学习模型与自定义算子的模板化部署方法
CN111382070B (zh) 兼容性测试方法、装置、存储介质和计算机设备
CN109086215B (zh) 一种嵌入式软件单元测试用例生成方法及系统
CN110502227B (zh) 代码补全的方法及装置、存储介质、电子设备
CN111158741B (zh) 监控业务模块对第三方类库依赖关系变化的方法及装置
CN107797823B (zh) 业务规则管理方法、装置、存储介质和计算机设备
CN110543427B (zh) 测试用例存储方法、装置、电子设备及存储介质
US20210405980A1 (en) Long method autofix engine
CN112948828A (zh) 一种二进制程序恶意代码检测方法、终端设备及存储介质
CN116431520A (zh) 测试场景确定方法、装置、电子设备和存储介质
US11029934B2 (en) Method and system for updating legacy software
CN111309332A (zh) 文件内容按需加载方法、装置及电子设备、存储介质
CN108304164B (zh) 一种业务逻辑的开发方法及开发系统
CN112395199B (zh) 基于云计算的分布式软件实例测试方法及软件开发平台
CN111259042A (zh) 一种动态查询方法及系统
CN115951916A (zh) 一种组件的处理方法、装置、电子设备及存储介质
CN107577476A (zh) 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质
US9996799B2 (en) Migrating a legacy system by inferring context-sensitive business rules from legacy source code

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210518

Address after: Room 1403, mango building, 2378 Houhai Avenue, Yuehai street, Nanshan District, Shenzhen, Guangdong 518052

Applicant after: Shenzhen junnan Information System Co.,Ltd.

Address before: No. 1603-1607, 16 / F, building a, Hecheng international R & D center, high tech Zone, Kunming, Yunnan 650000

Applicant before: Ji Ming

GR01 Patent grant
GR01 Patent grant