一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分支代码合并方法、装置、设备和存储介质与流程

2022-10-13 00:03:10 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种分支代码合并方法、装置、设备和存储介质。


背景技术:

2.为了提高项目开发效率,出现了诸如git的开源的分布式版本控制系统。这样,研发团队中的各研发人员便可以通过git系统生成主分支以及不同功能对应的功能开发分支,以进行分布式开发,并在开发完毕后将各功能开发分支均合并至主分支,以完成项目开发。
3.在合并主分支和功能开发分支的过程中,如果遇到不同分支均修改了同一行代码的情况,git系统会因为无法自主判断要接收哪个分支的代码而出现合并冲突。
4.现有技术中,在遇到分支代码合并冲突问题时,主要方式是开发人员手动操作git系统来合并代码。但是,手动合并分支代码的过程耗时耗力,影响开发效率,尤其是开发分支较多时,频繁的手动合并代码操作会严重降低开发效率。


技术实现要素:

5.为了解决上述技术问题,本公开提供了一种分支代码合并方法、装置、设备和存储介质。
6.第一方面,本公开提供了一种分支代码合并方法,该方法包括:
7.响应于分支代码合并指令,获取目标目录下存储的至少一个分支文件;其中,所述分支文件用于存储功能开发分支对应的待合并代码;所述待合并代码为所述功能开发分支相对于主分支产生变更的代码;
8.读取各所述分支文件,并将读取结果存储至所述主分支对应的目标文件的目标位置处,以将各所述待合并代码合并至所述主分支的代码。
9.第二方面,本公开提供了一种分支代码合并装置,该装置包括:
10.分支文件获取模块,用于响应于分支代码合并指令,获取目标目录下存储的至少一个分支文件;其中,所述分支文件用于存储功能开发分支对应的待合并代码;所述待合并代码为所述功能开发分支相对于主分支产生变更的代码;
11.代码合并模块,用于读取各所述分支文件,并将读取结果存储至所述主分支对应的目标文件的目标位置处,以将各所述待合并代码合并至所述主分支的代码。
12.第三方面,本公开提供了一种电子设备,该电子设备包括:
13.处理器;
14.存储器,用于存储可执行指令;
15.其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现本公开任意实施例所说明的分支代码合并方法。
16.第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程
序,当计算机程序被处理器执行时,使得处理器实现本公开任意实施例所说明的分支代码合并方法。
17.本公开实施例的分支代码合并方法、装置、设备和存储介质,能够在分布式开发过程中,以文件的形式替代传统的代码形式,将每个功能开发分支中相对于主分支产生变更的待合并代码独立存储于目标目录下的分支文件中,以及在分支代码合并的过程中,获取目标目录下存储的各分支文件,并将读取到的各所述分支文件的内容存储至所述主分支对应的目标文件的目标位置处,以保留各分支中的代码,自动完成各功能开发分支与主分支的代码合并,解决了分支代码合并过程中出现代码冲突的问题和代码冲突时需人工手动合并代码而引起的开发效率低的问题,提高了分支代码合并的效率,从而提高了项目开发效率。
附图说明
18.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
19.图1为本公开实施例提供的一种分支代码合并方法的流程示意图;
20.图2为本公开实施例提供的另一种分支代码合并方法的流程示意图;
21.图3为本公开实施例提供的一种分支代码合并装置的结构示意图;
22.图4为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
23.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
24.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
25.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
26.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
27.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
28.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
29.目前的团队协作开发中,基于git等分布式开发系统,会产生master主分支和至少
一个feature功能开发分支。随着开发的推进,该主分支和各功能开发分支中的同一代码文件中的代码会发生变更,并且可能因各分支中同一行的代码不同而存在代码合并冲突的问题。
30.例如,对于主分支中的ab实验配置的相关代码文件abconfigcenter,其代码内容为:
[0031][0032]
第一功能开发分支中的abconfigcenter的代码内容为:
[0033][0034]
第二功能开发分支中的abconfigcenter的代码内容为:
[0035][0036][0037]
当第一功能开发分支通过git系统自动合并至主分支后,主分支中的abconfigcenter的代码内容变更为:
[0038][0039]
当第二功能开发分支继续合并至主分支时,变更后的主分支中的第4行代码为“register("config_a",configa.class);”,第二功能开发分支的第4行代码为“register("config_b",configb.class);”,此时git系统无法自主判断该采用变更后的主分支中的第4行代码,还是采用第二功能开发分支的第4行代码,从而无法自动合并分支代码。
[0040]
对于上述情况,现有技术中是开发人员介入,以人工操作的方式通过git系统来将第二功能开发分支继续合并至主分支,实现同时保留两个分支中的第4行代码的分支代码合并。但是,该人工介入进行分支代码合并的方式耗时耗力,在分支较多的情况下,会严重影响开发效率。
[0041]
基于上述情况,本公开实施例提供一种分支代码合并方法方案,以实现将功能开发分支相对于主分支产生变更的代码独立存储于指定目录的分支文件中,并在分支代码合并的过程中遍历各分支文件,并将其中的代码均保留在主分支对应的目标文件中,达到同时保留各分支中的差异代码的目的,避免了分支代码合并冲突的问题,从而提高开发效率。
[0042]
本公开实施例提供的分支代码合并方法,可适用于分布式开发场景中进行各分支代码全部保留的自动合并的情况。该方法可以由分支代码合并装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具有开发功能的电子设备中,该电子设备可以包括但不限于笔记本电脑、台式计算机或服务器等。
[0043]
图1示出了本公开实施例提供的一种分支代码合并方法的流程示意图。如图1所示,该分支代码合并方法可以包括如下步骤:
[0044]
s110、响应于分支代码合并指令,获取目标目录下存储的至少一个分支文件,该分支文件用于存储功能开发分支对应的待合并代码,该待合并代码为功能开发分支相对于主分支产生变更的代码。
[0045]
其中,分支代码合并指令是指示进行至少两个分支的代码进行自动合并的指令。目标目录是预先指定的代码文件的存储目录,其可由研发团队设定。分支文件是用于存储功能开发分支中的、相对于master主分支产生变更的代码的文件。
[0046]
具体地,根据上述说明,相关技术中的各功能开发分支均是复制master主分支中的代码,并在其基础上进行代码变更(修改或增加等),最后再将功能开发分支的代码合并至主分支的代码中。但是,这种代码合并的方式可能会导致代码合并冲突。所以,本公开实施例中,并未采用直接修改分支代码的方式,而是创建了存储需要变更的代码的分支文件,并将该分支文件存储在目标目录下。这样,开发人员在进行功能开发分支的开发过程中,便可在目标目录下创建分支文件。然后,将相对于主分支的代码发生变更的、且需要保留在主分支的代码中的待合并代码全部写入该分支文件中。按照上述过程,目标目录下会存储有每个功能开发分支对应的分支文件。
[0047]
电子设备可检测是否接收到分支代码合并指令。例如,开发人员触发电子设备所展示的开发工具中的代码合并的功能控件后,电子设备可检测到分支代码合并指令。又如,开发人员预先将分支代码合并的功能与研发项目的安装包生成功能或其他功能关联在一起。当开发人员触发开发工具进行安装包的生成处理或其他功能的处理后,电子设备也可检测到分支代码合并指令。然后,电子设备可遍历目标目录,从中获取到所有的分支文件。
[0048]
在一些实施例中,分支文件的文件名称或文件内容为待合并代码。
[0049]
具体地,开发人员在创建分支文件时,分支文件的文件名称和文件内容可根据应用场景来设定,这样待合并代码与文件名称、文件内容之间的关系就相应地根据应用场景来确定。
[0050]
在一示例中,待合并代码较为简短且没有明确的对象关联时,可直接将待合并代码作为文件名称,而文件内容为空。
[0051]
在另一示例中,待合并代码较长且没有明确的对象关联时,可直接将待合并代码作为文件内容,而文件名称按照文件创建的规则随机生成。
[0052]
在又一示例中,待合并代码较长且需要明确映射至某一对象时,可将待合并代码作为文件内容,而文件名称定义为映射的对象名称等。
[0053]
s120、读取各分支文件,并将读取结果存储至主分支对应的目标文件的目标位置处,以将各待合并代码合并至主分支的代码。
[0054]
其中,目标文件是主分支中的、用于存储代码的文件。目标位置是目标文件中的、可供插入新的代码的位置,其可以是预先设置的、固定不变的位置,也可以是随着代码的增多而更新变化的位置。
[0055]
具体地,对于目标目录下的任一个分支文件,电子设备执行过程大致为:电子设备可根据分支文件中待合并代码的存储规则,读取分支文件;然后,从目标文件中定位目标位置,并将分支文件的读取结果插入目标文件的目标位置。这样,电子设备便将该分支文件中的待合并代码合并至主分支的代码中,完成该功能开发分支和主分支的合并处理。
[0056]
按照上述过程,电子设备可将每个分支文件中的待合并代码均存储至主分支对应的目标文件中,完成各功能开发分支和主分支的自动合并处理,而不存在相关技术中代码合并时的冲突问题,从而提高分支代码合并效率,进而提高开发效率。
[0057]
本公开实施例提供的上述分支代码合并方法,能够在分布式开发过程中,以文件的形式替代传统的代码形式,将每个功能开发分支中相对于主分支产生变更的待合并代码独立存储于目标目录下的分支文件中,以及在分支代码合并的过程中,获取目标目录下存储的各分支文件,并将读取到的各分支文件的内容存储至主分支对应的目标文件的目标位置处,以保留各分支中的代码,自动完成各功能开发分支与主分支的代码合并,解决了分支代码合并过程中出现代码冲突的问题和代码冲突时需人工手动合并代码而引起的开发效率低的问题,提高了分支代码合并的效率,从而提高了项目开发效率。
[0058]
在一些实施例中,在待合并代码为配置类代码的情况下,分支文件的文件名称为配置类代码对应的配置标识,分支文件的文件内容为配置类代码。
[0059]
其中,配置类代码是对开发的软件项目中的对象/参数进行配置的场景下的相关代码。例如,配置类代码可以是规定待配置的对象中有哪些参数需要配置的配置参数设置代码;配置类代码也可以是解析待配置的对象的配置数据的过程中所需的数据类的定义代
码、数据类与待配置的对象/参数之间的映射关系的注册代码等等。配置标识是需要进行配置的对象的标识,例如可以是待配置的对象名称、与待配置的对象具有一一对应关系的变量的名称等等。
[0060]
具体地,本公开实施例提供的分支代码合并方法可应用于对软件项目中的对象/参数进行配置的配置类场景中。这样,待合并代码就可以是对应功能开发分支中开发的功能对象或对象参数的配置类代码。为了确保后续配置数据的正确解析,配置类代码需要映射至对应的配置标识。而为了提高分支文件的读取效率,可以将分支文件的文件名称直接设置为配置类代码对应的配置标识,而将配置类代码作为文件内容。
[0061]
在一些实施例中,配置类场景具体可以是ab实验的配置类场景。那么,配置标识为ab实验对应的配置项标识,配置类代码为配置项标识对应的数据类。
[0062]
具体地,ab实验是为应用程序中的某一功能或界面制作两个(a/b)或多个(a/b/n)版本,并在同一时间维度,分别让组成成分相同或相似的访客群组随机的访问这些版本,并通过各访客群组的用户体验数据和业务数据等来分析、评估出最好的一个版本,予以正式采用。例如,电子书阅读器中通过用户配置项reader_config中的text_size字段设置阅读器的默认字号。那么针对默认字号的ab实验中,可以通过服务端分流使得一部分人群的text_size字段的字段值为16,另一部分人群的text_size字段的字段值为18,即可达到验证字号对用户的影响的目的。
[0063]
上述示例中用户配置项reader_config中的text_size字段值是通过服务端下发相应的json数据来实现的。客户端中为了解析该json数据,需要在客户端对应的代码中增加一个数据类readerconfig.class。如果有多个ab实验,那么就会有多个配置项及其对应的数据类。这样,就需要通过代码预先注册配置项和数据类之间的映射关系。相关技术中的代码示例可如下:
[0064][0065]
那么,任一个功能开发分支中启动一个ab实验时,开发人员就需要通过上述示例代码来注册该ab实验对应的配置项和数据类之间的映射关系。
[0066]
基于上述有关分支文件的说明,本公开实施例中,开发人员无需编写上述示例代码,而是创建ab实验的功能开发分支对应的分支文件,并将配置项标识reader_config作为文件名称,而将对应的数据类readerconfig.class作为文件内容,以示该配置项标识和该数据类之间的映射关系,其代码示例如下:
[0067]
//file:reader_config
[0068]
readerconfig.class。
[0069]
在一些实施例中,在ab实验的配置类场景下,目标文件用于解析服务端下发给客户端的ab实验对应的配置数据,得到解析后的配置数据;解析后的配置数据用于修改客户
端中的目标配置项的配置信息,以完成各客户端中的和目标配置项的差异化配置。
[0070]
具体地,电子设备完成上述分支代码合并处理后,可按照相关技术中的处理过程生成对应的安装包,并将其发布至线上。这样,在安装包对应的应用程序的运行过程中,服务端便可向运行应用程序的客户端下发ab实验对应的配置数据,如上述text_size字段对应的json数据。客户端根据目标文件确定出text_size字段对应的配置项reader_config所映射的数据类readerconfig,并基于该数据类readerconfig来解析json数据,得到text_size字段的字段值16或18,并按照解析得到的字段值来配置目标配置项(如默认字号)并进行差异化显示。
[0071]
图2是本公开实施例提供的又一种分支代码合并方法的流程图。其增加了“生成分支代码合并指令”的相关步骤。在此基础上,还可以对“读取各分支文件,并将读取结果存储至主分支对应的目标文件的目标位置处,以将各待合并代码合并至主分支的代码”进行进一步细化。在上述各基础上,还可以进一步增加“生成项目安装包”的相关步骤。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,该分支代码合并方法包括:
[0072]
s210、响应于项目代码编译指令,确定编译任务依赖的脚本任务。
[0073]
其中,项目代码编译指令是指触发执行项目代码编译的操作指令,其可通过对开发工具中的编译功能进行触发来生成。脚本任务是指构建软件项目的安装包的流程中执行脚本的任务。脚本任务用于将各待合并代码合并至主分支的代码。
[0074]
具体地,电子设备可将分支代码合并的过程通过脚本来实现,且将该脚本与软件项目的编译过程关联,以在编译过程中自动合并分支代码,从而节省分支代码合并的人工触发过程,进一步提高开发流程的自动化程度,进而进一步提高开发效率。
[0075]
具体实施时,开发人员可在构建软件项目的安装包的构建流程中新增一个任务task,并以该任务task来执行分支代码合并功能对应的脚本,那么该新增的任务可称为脚本任务。并且,考虑到构建安装包的编译过程中需要读取并使用上述主分支中的目标文件,所以,可以在脚本任务和编译任务之间建立任务依赖关系,使得编译任务依赖于脚本任务。
[0076]
在上述操作的基础上,当开发人员触发执行项目代码编译功能时,电子设备可检测到项目代码编译指令。然后,电子设备可定位至编译任务。此时,可通过上述定义的任务依赖关系,确定执行该编译任务时依赖的脚本任务。
[0077]
s220、触发执行脚本任务,生成分支代码合并指令。
[0078]
具体地,鉴于编译任务依赖于脚本任务,电子设备可先触发脚本任务的执行,此时电子设备可生成分支代码合并指令,以通过该分支代码合并指令来触发执行脚本任务中的分支代码合并功能。
[0079]
s230、响应于分支代码合并指令,获取目标目录下存储的至少一个分支文件,该分支文件的文件名称和文件内容分别为ab实验对应的配置项标识和数据类。
[0080]
s240、遍历各分支文件,并将遍历到的分支文件的文件名称和文件内容存储为键值对。
[0081]
具体地,ab实验的配置类场景下,每个分支文件的文件名称均为配置项标识,且文件内容均为数据类。所以,在合并分支代码的过程中,电子设备得到所有的分支文件后,遍历每个分支文件,并将遍历到的分支文件的文件名称作为键值对的键key,且将该分支文件的文件内容作为键值对的值value。例如,创建map结构的存储对象,并将配置项标识作为
map中的键key、将数据类作为map中的值value。这样,便可将所有的分支文件转换为map对象。
[0082]
s250、确定目标文件中的注册函数,并定位注册函数中的末行位置,作为目标位置。
[0083]
具体地,电子设备可遍历目标文件(如上述主分支对应的abconfigcenter代码文件)中的代码语句,以确定出注册行数public void register()所在的位置,并以该位置为基础,继续定位注册函数中的末行位置,作为目标位置。例如,主分支中没有映射关系的注册时,末行位置便是目标文件中的注册函数体{}中的开始位置;如果主分支中已经注册了至少一个映射关系,那么末行位置便是目标文件中注册函数体{}中最后一个注册语句的结束位置。
[0084]
s260、解析键值对,并在末行位置后,按照注册语句格式插入解析结果,以将各待合并代码合并至主分支的代码。
[0085]
具体地,电子设备从末行位置紧邻的下一代码行开始,按照注册语句的要求格式,如“register("[key]",[value]);”,将map对象中的各键值对逐行插入到注册函数中,便完成了将各分支文件中的待合并代码存储至主分支的代码中。
[0086]
s270、执行编译任务,生成项目安装包。
[0087]
具体地,脚本任务执行完毕后,可按照安装包构建流程,继续执行编译任务和其他任务,最终生成项目安装包。
[0088]
本公开实施例提供的上述分支代码合并方法,能够响应于项目代码编译指令,确定编译任务依赖的、用于将各待合并代码合并至主分支的代码的脚本任务,并触发执行脚本任务,生成分支代码合并指令,且通过该分支代码合并指令触发分支代码的合并;实现了在项目代码的编译过程中自动合并分支代码,节省了分支代码合并的人工触发过程,从而进一步提高了开发流程的自动化程度和开发效率。
[0089]
以下是本发明实施例提供的分支代码合并装置的实施例,该装置与上述各实施例的分支代码合并方法属于同一个发明构思,在分支代码合并装置的实施例中未详尽描述的细节内容,可以参考上述分支代码合并方法的实施例。
[0090]
图3示出了本公开实施例提供的一种分支代码合并装置的结构示意图。如图3所示,该分支代码合并装置300可以包括:
[0091]
分支文件获取模块310,用于响应于分支代码合并指令,获取目标目录下存储的至少一个分支文件;其中,分支文件用于存储功能开发分支对应的待合并代码;待合并代码为功能开发分支相对于主分支产生变更的代码;
[0092]
代码合并模块320,用于读取各分支文件,并将读取结果存储至主分支对应的目标文件的目标位置处,以将各待合并代码合并至主分支的代码。
[0093]
本公开实施例提供的上述分支代码合并装置,能够在分布式开发过程中,以文件的形式替代传统的代码形式,将每个功能开发分支中相对于主分支产生变更的待合并代码独立存储于目标目录下的分支文件中,以及在分支代码合并的过程中,获取目标目录下存储的各分支文件,并将读取到的各分支文件的内容存储至主分支对应的目标文件的目标位置处,以保留各分支中的代码,自动完成各功能开发分支与主分支的代码合并,解决了分支代码合并过程中出现代码冲突的问题和代码冲突时需人工手动合并代码而引起的开发效
率低的问题,提高了分支代码合并的效率,从而提高了项目开发效率。
[0094]
在一些实施例中,在待合并代码为配置类代码的情况下,分支文件的文件名称为配置类代码对应的配置标识,分支文件的文件内容为配置类代码。
[0095]
进一步地,配置标识为ab实验对应的配置项标识,配置类代码为配置项标识对应的数据类。
[0096]
在一些实施例中,代码合并模块320具体用于:
[0097]
遍历各分支文件,并将遍历到的分支文件的文件名称和文件内容存储为键值对;
[0098]
确定目标文件中的注册函数,并定位注册函数中的末行位置,作为目标位置;
[0099]
解析键值对,并在末行位置后,按照注册语句格式插入解析结果,以将各待合并代码合并至主分支的代码。
[0100]
在一些实施例中,分支代码合并装置300还包括分支代码合并指令生成模块,用于:
[0101]
在响应于分支代码合并指令,获取目标目录下存储的至少一个分支文件之前,响应于项目代码编译指令,确定编译任务依赖的脚本任务;其中,脚本任务用于将各待合并代码合并至主分支的代码;
[0102]
触发执行脚本任务,生成分支代码合并指令。
[0103]
在一些实施例中,目标文件用于解析服务端下发给客户端的ab实验对应的配置数据,得到解析后的配置数据;解析后的配置数据用于修改客户端中的目标配置项的配置信息,以完成各客户端中的和目标配置项的差异化配置。
[0104]
在一些实施例中,分支文件的文件名称或文件内容为待合并代码。
[0105]
本发明实施例所提供的分支代码合并装置可执行本发明任意实施例所提供的分支代码合并方法,具备执行方法相应的功能模块和有益效果。
[0106]
值得注意的是,上述分支代码合并装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
[0107]
本公开实施例还提供了一种电子设备,该电子设备可以包括处理器和存储器,存储器可以用于存储可执行指令。其中,处理器可以用于从存储器中读取可执行指令,并执行可执行指令以实现上述实施例中的分支代码合并方法。
[0108]
图4示出了本公开实施例提供的一种电子设备的结构示意图。
[0109]
如图4所示,该电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储装置408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram 403中,还存储有信息处理设备400操作所需的各种程序和数据。处理装置401、rom 402以及ram 403通过总线404彼此相连。输入/输出接口(i/o接口)405也连接至总线404。
[0110]
通常,以下装置可以连接至i/o接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。
[0111]
需要说明的是,图4示出的电子设备400仅仅是一个示例,不应对本公开实施例的
功能和使用范围带来任何限制。即虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0112]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从rom 402被安装。在该计算机程序被处理装置401执行时,执行本公开任意实施例的分支代码合并方法中限定的上述功能。
[0113]
本公开实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开任意实施例中的分支代码合并方法。
[0114]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0115]
在一些实施方式中,客户端、服务器可以利用诸如http之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0116]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0117]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行本公开任意实施例所说明的分支代码合并方法。
[0118]
在本公开实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在
远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0119]
附图中的流程图和框图,图示了按照本公开各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0120]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0121]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0122]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0123]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0124]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献