首页> 中国专利> 基于云计算的分布式软件开发编译方法及软件开发平台

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

摘要

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

著录项

  • 公开/公告号CN112394942A

    专利类型发明专利

  • 公开/公告日2021-02-23

    原文格式PDF

  • 申请/专利权人 季明;

    申请/专利号CN202011330654.2

  • 发明设计人 季明;

    申请日2020-11-24

  • 分类号G06F8/41(20180101);

  • 代理机构

  • 代理人

  • 地址 650000 云南省昆明市高新区和成国际研发中心A幢16层1603-1607号

  • 入库时间 2023-06-19 09:58:59

说明书

技术领域

本申请涉及分布式软件开发技术领域,具体而言,涉及一种基于云计算的分布式软件开发编译方法及软件开发平台。

背景技术

在分布式软件开发过程中,通常涉及到大范围的软件开发编译。相关技术中,在进行软件开发编译时,没有针对软件功能分区的编译依赖关系进行细化编译,导致模块化单元编译方案遗漏,进而导致当编译失败后,编译重启时间较长,影响软件更新进度和项目开发周期。

发明内容

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

第一方面,本申请提供一种基于云计算的分布式软件开发编译方法,应用于软件开发平台,所述软件开发平台与多个软件开发编辑终端通信连接,所述方法包括:

获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;

基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;

基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;

将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。

在第一方面的一种可能的实现方式中,所述通过云计算软件开发服务对软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,包括:

获取所述软件开发工具包配置文件中的每个配置源码文件的软件开发编辑器所编辑的变化源码文件集,所述变化源码文件集包括以每个镜像文件为一参考单元的变化源码文件,所述变化源码文件包括该镜像文件的调用代码条件、调用代码结果以及该镜像文件内的调用代码更新记录;

针对每个镜像文件,根据每个配置源码文件在该镜像文件的调用代码更新记录中的多个更新记录行中的每一个更新记录行,根据该更新记录行中代码更新解释信息的解释向量表示,确定该更新记录行中每个代码更新解释信息是否为新编译代码实例,根据该更新记录行中新编译代码实例的实例类型,确定该更新记录行对应的每个代码资源包的索引代码片段,针对每个代码资源包的索引代码片段,将该代码资源包的索引代码片段划分为多个子索引代码片段,根据每个子索引代码片段内各代码更新解释信息的解释标签及预设的标签区间,确定代码资源包的索引代码片段是否为目标索引程序包的索引代码片段,其中,每个代码更新解释信息对应于每个编译分类代码更新行为;

基于确定的所述目标索引程序包的索引代码片段,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。

在第一方面的一种可能的实现方式中,所述基于确定的所述目标索引程序包的索引代码片段,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息的步骤,包括:

获取预设编译分类模板匹配所述目标索引程序包的索引代码片段内每个代码更新解释信息的编译分类模板块信息,所述编译分类模板块信息包括编译分类代码功能标签和编译分类代码应用标签,所述预设编译分类模板包括不同编译分类代码使用类型所对应的匹配策略;

根据所述变化源码文件集中的各个不同镜像文件的所述每个调用代码更新记录的编译分类模板块信息确定每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,并根据所述目标索引程序包的索引代码片段内每个编译分类代码的编译遍历变量的变量信息和每个编译遍历常量的常量信息,确定每个配置源码文件在该镜像文件的编译分类代码标签对象,将位于所述编译分类代码标签对象的编译分类代码的头信息区间内的软件包信息以及位于所述编译分类代码标签对象的编译分类代码的头信息区间外而关联于所述编译分类代码标签对象的编译分类代码的头信息区间的软件包信息作为每个配置源码文件在该镜像文件内的分布式编译程序信息后,将每个配置源码文件在所有镜像文件内的分布式编译程序信息进行汇总后,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息。

在第一方面的一种可能的实现方式中,所述基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征的步骤,包括:

获取所述软件功能分区的分布式编译软件包信息中的每个分布式编译程序信息的调用代码描述信息上添加的依赖声明代码集合的依赖声明代码调度信息,并确定与所述依赖声明代码调度信息对应的第一依赖声明源码集,所述依赖声明代码调度信息包括根据所述依赖声明代码集合的依赖规则输入信息和依赖规则输出信息所确定出的依赖规则计算关系信息的依赖实例对象信息,所述第一依赖声明源码集包括所述依赖实例对象信息的多个依赖实例优先级的高低顺序;

确定每个分布式编译程序信息的调用代码描述信息基于依赖规则输入信息的第一依赖规则分量和基于依赖规则输出信息的第二依赖规则分量;

根据所述第一依赖规则分量和所述第二依赖规则分量的依赖实例优先级关系确定用于对所述第一依赖声明源码集进行逻辑回归解析的逻辑回归解析参数;

基于所述逻辑回归解析参数对所述第一依赖声明源码集进行逻辑回归解析获得第二依赖声明源码集;

对所述第二依赖声明源码集进行依赖方式划分得到多个依赖方式划分集,对每个依赖方式划分集进行特征提取得到依赖方式划分变量;

根据所述第二依赖声明源码集对应的多个依赖方式划分变量所对应的源编译特征,确定为每个分布式编译程序信息的源编译特征;

基于每个分布式编译程序信息的源编译特征获得所述软件功能分区的目标源编译特征。

在第一方面的一种可能的实现方式中,所述基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息的步骤,包括:

将所述软件开发工具包配置文件输入到预设的分布式编译程序中,获得所述软件开发工具包配置文件匹配于每个预设编译环境的匹配度;

根据所述软件开发工具包配置文件匹配于每个预设编译环境的匹配度确定所述软件开发工具包配置文件对应的目标编译环境;

从所述软件开发工具包配置文件对应的目标编译环境的编译环境描述信息中提取匹配于每个软件功能分区的分布式编译描述信息。

在第一方面的一种可能的实现方式中,所述将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息的步骤,包括:

将所述软件功能分区的目标源编译特征和分布式编译描述信息添加到编译依赖关系匹配程序中,从所述编译依赖关系匹配程序中确定出各编译依赖组件所对应所述软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系分布圈;

依据各不同依赖关系分布圈中编译依赖组件之间的组件关系的关系标签对各依赖关系分布圈进行依赖方式划分,得到至少一个依赖关系分布圈序列;其中,同一依赖关系分布圈序列中任意两个依赖关系分布圈中的编译依赖组件的组件关系的关系标签覆盖预设标签区间;

针对每一依赖关系分布圈序列,基于该依赖关系分布圈序列中各依赖关系分布圈,从所述编译依赖关系匹配程序中确定该依赖关系分布圈序列针对所述软件功能分区的目标源编译特征和分布式编译描述信息对应的程序依赖调用信息;其中,所述程序依赖调用信息至少包括依赖关系分布圈序列中各依赖关系分布圈针对所述软件功能分区的目标源编译特征和分布式编译描述信息的每个依赖程序编码表项的特征信息数据,所述程序依赖调用信息用于确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应所述软件功能分区的目标源编译特征和分布式编译描述信息的依赖关系的代码输出结果;

基于所述程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果,采用预设组件关系分类模型对所述依赖关系的代码输出结果进行分类得到分类结果,根据所述分类结果,得到所述软件功能分区的编译依赖关系匹配信息。

在第一方面的一种可能的实现方式中,所述基于所述程序依赖调用信息确定该依赖关系分布圈序列中各依赖关系分布圈中的编译依赖组件对应的依赖关系的代码输出结果的步骤,包括:

确定所述程序依赖调用信息的依赖调用开发信息和依赖调用类别,根据历史组件关系分量结果中的多个组件关系分布,确定多个依赖调用联动组合,根据每个依赖调用联动组合中各个组件关系分布在所述依赖调用开发信息内与所述依赖调用类别的依赖参数,进行依赖业务关系计算,得到分别与所述多个依赖调用联动组合对应的多个依赖业务关系计算结果,并将每个依赖业务关系计算结果对应的依赖调用联动组合的联动参数作为每个依赖业务关系计算结果的依赖联动参数;

基于所述多个依赖业务关系计算结果,分别获取在所述依赖调用开发信息内确定与所述依赖调用类别对应的各依赖关系分布圈的模拟组件关系节点,得到多个模拟组件关系节点,根据每个依赖业务关系计算结果的依赖联动参数,对基于所述多个依赖业务关系计算结果获取到的多个模拟组件关系节点进行整合,得到第一模拟组件关系节点集,其中,每个依赖调用联动组合中任两个组件关系分布之间的联动参数相等,且不同依赖调用联动组合对应的联动参数不等,每个依赖业务关系计算结果用于确定在任一设定时序段内与所述依赖调用类别对应的各依赖关系分布圈中的编译依赖组件对应的共同编译依赖信息,所述依赖业务关系计算结果通过根据历史组件关系分量结果进行依赖业务关系计算后得到;

根据所述历史组件关系分量结果和所述依赖调用类别对应的多个编译依赖组件的共同编译依赖信息,获取所述多个编译依赖组件在所述依赖调用开发信息内与所述依赖调用类别的之间的编译依赖结果,将所述多个编译依赖组件对应的编译依赖结果的对应的目标节点作为第二模拟组件关系节点;

比对所述第一模拟组件关系节点集与所述第二模拟组件关系节点的组件关系相关参数,根据所述组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果。

在第一方面的一种可能的实现方式中,根据所述组件关系相关参数以及每个编译依赖组件的共同编译依赖信息确定每个编译依赖组件对应的依赖关系的代码输出结果,包括:

基于所述组件关系相关参数确定每个编译依赖组件对应的组件关系圈网络的编译字段信息,通过每个编译依赖组件的共同编译依赖信息在对应的依赖关系分布圈中的覆盖关系确定每个编译依赖组件的编译兼容信息;

基于所述编译字段信息和所述编译兼容信息确定每个编译依赖组件对应的依赖关系的代码输出结果。

譬如,在第一方面的一种可能的实现方式中,所述基于所述编译字段信息和所述编译兼容信息确定每个编译依赖组件对应的依赖关系的代码输出结果的步骤,包括:

提取所述编译字段信息对应的第一源编译特征序列以及所述编译兼容信息对应的第二源编译特征序列,并确定所述第一源编译特征序列和所述第二源编译特征序列中分别包括的若干个具有不同的编译特征片段的编译度量模型;其中,所述编译度量模型为所述第一源编译特征序列和所述第二源编译特征序列中的存在关联关系的源编译特征构成的模型;

在所述第一源编译特征序列的函数组件关系和所述第二源编译特征序列的函数组件关系相同的前提下,获得所述编译字段信息在所述第一源编译特征序列的任一编译度量模型的接口关系信息,并行地将所述第二源编译特征序列中具有最小编译特征片段的编译度量模型确定为目标编译度量模型;

基于每个编译依赖组件的提取策略,将所述接口关系信息添加到所述目标编译度量模型,在所述目标编译度量模型中确定出与所述接口关系信息对应的数据字典信息;

通过所述接口关系信息和所述数据字典信息之间的接口关系字典对象,生成所述编译字段信息和所述编译兼容信息之间的编译兼容点;

以所述数据字典信息为参考信息在所述目标编译度量模型中获取目标编译度量多元组信息,根据所述编译兼容点对应的多个兼容点路径,将所述目标编译度量多元组信息添加到所述接口关系信息所在编译度量模型,以在所述接口关系信息所在编译度量模型中得到所述目标编译度量多元组信息对应的依赖抽象类结果,并根据所述参考信息确定所述依赖抽象类结果为依赖程序编码结果;其中,所述目标编译度量多元组信息为编译操作对应的编译度量多元组的信息;

确定将所述接口关系信息添加到所述目标编译度量模型时对应的组件关系结果;

根据所述依赖抽象类结果与所述组件关系结果中的多个组件关系溯源节点对应的组件关系特征标签之间的关联度,在所述第二源编译特征序列中按照时序权重的由大到小的顺序依次获取所述依赖程序编码结果对应的依赖程序编码标签,直至获取到的所述依赖程序编码标签所在编译度量模型的软件框架更新节点数量与所述依赖程序编码结果在所述第一源编译特征序列中的软件框架更新节点数量一致时,停止获取下一编译度量模型中的依赖程序编码标签,并建立所述依赖程序编码结果与最后一次获取到的依赖程序编码标签之间的溯源关联信息,基于所述溯源关联信息确定每个编译依赖组件对应的依赖关系的代码输出结果。

在第一方面的一种可能的实现方式中,所述基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件,包括:

获取所述软件功能分区在所述分布式编译软件包下的源码文件编译信息;

获取所述源码文件编译信息下的源码文件编译项目以及每个所述源码文件编译项目对应的组件关系配置信息;

将所述软件功能分区的编译依赖关系匹配信息覆盖配置于每个所述源码文件编译项目对应的组件关系配置信息下,得到所述软件功能分区的当前编译文件。

第二方面,本申请实施例还提供一种基于云计算的分布式软件开发编译装置,应用于软件开发平台,所述软件开发平台与多个软件开发编辑终端通信连接,所述装置包括:

获取模块,用于获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;

分析模块,用于基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;

解析模块,用于基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;

编译模块,用于将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。

第三方面,本申请实施例还提供一种基于云计算的分布式软件开发编译系统,所述基于云计算的分布式软件开发编译系统包括软件开发平台以及与所述软件开发平台通信连接的多个软件开发编辑终端;

所述软件开发平台,用于:

获取所述软件开发编辑终端的软件开发工具包配置文件,通过云计算软件开发服务对所述软件开发工具包配置文件进行分布式编译软件包解析,得到所述软件开发工具包配置文件中软件功能分区的分布式编译软件包信息,其中,所述软件开发工具包配置文件为基于软件开发统计需求进行生成的各个软件功能分区所编辑的软件开发工具包配置数据构成的配置文件;

基于所述软件功能分区的分布式编译软件包信息进行源编译特征分析,得到所述软件功能分区的目标源编译特征;

基于分布式编译程序对所述软件开发工具包配置文件进行分布式编译描述信息解析,得到所述软件功能分区的分布式编译描述信息;

将所述软件开发工具包配置文件中软件功能分区的目标源编译特征与所述软件功能分区的分布式编译描述信息进行编译依赖关系匹配,得到所述软件功能分区的编译依赖关系匹配信息,并基于所述软件功能分区的编译依赖关系匹配信息对所述分布式编译软件包进行源码文件编译,得到所述软件功能分区的当前编译文件。

第四方面,本申请实施例还提供一种软件开发平台,所述软件开发平台包括处理器、机器可读存储介质和网络接口,所述机器可读存储介质、所述网络接口以及所述处理器之间通过总线系统相连,所述网络接口用于与至少一个软件开发编辑终端通信连接,所述机器可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述机器可读存储介质中的程序、指令或代码,以执行第一方面或者第一方面中任意一个可能的实现方式中的基于云计算的分布式软件开发编译方法。

第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其被执行时,使得计算机执行上述第一方面或者第一方面中任意一个可能的实现方式中的基于云计算的分布式软件开发编译方法。

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

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要调用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图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)。

此外,除非权利要求中明确说明,本说明书处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

最后,应当理解的是,本说明书中实施例仅用以说明本说明书实施例的原则。其它的变形也可能属于本说明书范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号