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

一种数据处理方法、装置及电子设备与流程

2022-03-09 10:29:36 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置及电子设备。


背景技术:

2.目前在代码开发过程中,通常会存在多个分支代码的研发,在分支代码完成后会合并至主干代码,在代码合入线上主分支之后,由于一些分支代码在开发后数据包大小(即数据量)增大,可能导致很多数据包大小增量异常分支代码被合入主干代码,使得代码的数据包大小不可控。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据处理方法、装置及电子设备。可以在分支代码合并至主干代码之前,对分支代码的数据包大小增量进行检测,并在确定分支代码的数据包大小增量符合要求时,才将分支代码合并至主干代码,因此可以避免增量异常分支代码被合入主干代码,可以有效控制主干代码的数据包大小。
4.为了实现上述目的,本公开实施例提供的技术方案如下:
5.第一方面,本公开的实施例提供一种数据处理方法,包括:
6.在接收到第一分支代码的合并请求的情况下,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,合并请求用于请求将第一分支代码合并至主干代码;
7.将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量;第二数据包大小信息为针对第一分支代码开发前的第二分支代码进行数据包大小分析得到的;
8.在目标数据包大小增量小于预设增量的情况下,将第一分支代码合并至主干代码。
9.作为本公开实施例一种可选的实施方式,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,包括:
10.获取第一分支代码的文件信息,以及与文件信息对应的调试信息,其中,文件信息包括:动态库或可执行文件;
11.根据文件信息,以及与文件信息对应的调试信息,进行数据包大小分析,得到第一数据包大小信息。
12.作为本公开实施例一种可选的实施方式,在将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量之前,方法还包括:
13.获取服务器发送的第二数据包大小信息。
14.或者,
15.获取本地存储的第二数据包大小信息。
16.作为本公开实施例一种可选的实施方式,目标数据包大小增量包括以下至少一项:
17.基于第一分支代码级的数据包大小增量;
18.基于模块级的数据包大小增量;
19.基于源代码文件级的数据包大小增量;
20.基于函数级的数据包大小增量。
21.作为本公开实施例一种可选的实施方式,将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量,包括:
22.根据目标级的匹配信息,对第一数据包大小信息和第二数据包大小信息中目标级的数据包大小信息进行对比,得到目标级数据包大小增量,目标级为第一分支代码级、模块级、源代码文件级以及函数级中的至少一种。
23.作为本公开实施例一种可选的实施方式,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,包括:
24.对第一分支代码进行数据包大小分析,得到初始数据包大小信息;
25.基于第一分支代码级、模块级、源代码文件级以及函数级对初始数据包大小信息进行数据统计,以得到第一数据包大小信息。
26.作为本公开实施例一种可选的实施方式,方法还包括:
27.在目标数据包大小增量大于或等于预设增量的情况下,向与第一分支代码关联的代码复核人账号发送复核消息,复核消息用于通知代码复核人确认是否允许合并请求,复核消息中包括有链接信息,链接信息用于指向合并请求的对应信息:对应信息包括:第一分支代码的开发人员信息、第一数据包大小信息,以及目标数据包大小增量中的至少一项;
28.在接收到代码复核人账号发送的允许合并请求的回复信息之后,将第一分支代码合并至主干代码。
29.作为本公开实施例一种可选的实施方式,方法还包括:
30.将合并请求与目标数据包大小增量对应保存;
31.或,
32.将合并请求、目标数据包大小增量,以及预设增量对应保存。
33.第二方面,本公开实施例提供一种数据处理装置,包括:
34.分析模块,用于在接收到第一分支代码的合并请求的情况下,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,合并请求用于请求将第一分支代码合并至主干代码;
35.对比模块,用于将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量;第二数据包大小信息为针对第一分支代码开发前对应的第二分支代码进行数据包大小分析得到的;
36.合并模块,用于在目标数据包大小增量小于预设增量的情况下,将第一分支代码合并至主干代码。
37.作为本公开实施例一种可选的实施方式,分析模块,具体用于:
38.获取第一分支代码的文件信息,以及与文件信息对应的调试信息,其中,文件信息包括:动态库或可执行文件;
39.根据文件信息,以及与文件信息对应的调试信息,进行数据包大小分析,得到第一数据包大小信息。
40.作为本公开实施例一种可选的实施方式,上述装置还包括获取模块,用于:
41.获取服务器发送的第二数据包大小信息。
42.或者,
43.获取本地存储的第二数据包大小信息。
44.作为本公开实施例一种可选的实施方式,目标数据包大小增量包括以下至少一项:
45.基于第一分支代码级的数据包大小增量;
46.基于模块级的数据包大小增量;
47.基于源代码文件级的数据包大小增量;
48.基于函数级的数据包大小增量。
49.作为本公开实施例一种可选的实施方式,对比模块,具体用于:
50.根据目标级的匹配信息,对第一数据包大小信息和第二数据包大小信息中目标级的数据包大小信息进行对比,得到目标级数据包大小增量,目标级为第一分支代码级、模块级、源代码文件级以及函数级中的至少一种。
51.作为本公开实施例一种可选的实施方式,分析模块,具体用于:
52.对第一分支代码进行数据包大小分析,得到初始数据包大小信息;
53.基于第一分支代码级、模块级、源代码文件级以及函数级对初始数据包大小信息进行数据统计,以得到第一数据包大小信息。
54.作为本公开实施例一种可选的实施方式,合并模块,还用于:
55.在目标数据包大小增量大于或等于预设增量,向与第一分支代码关联的代码复核人账号发送复核消息,复核消息用于通知代码复核人确认是否允许合并请求,复核消息中包括有链接信息,链接信息用于指向合并请求的对应信息:对应信息包括:第一分支代码的开发人员信息、第一数据包大小信息,以及目标数据包大小增量中的至少一项;
56.在接收到代码复核人账号发送的允许合并请求的回复信息之后,将第一分支代码合并至主干代码。
57.作为本公开实施例一种可选的实施方式,上述装置还包括:保存模块,用于:
58.将合并请求与目标数据包大小增量对应保存;
59.或,
60.将合并请求、目标数据包大小增量,以及预设增量对应保存。
61.第三方面,本公开提供一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述第一方面或其可选的实施方式中的任一项的数据处理方法。
62.第四方面,本公开一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述第一方面或其可选的实施方式中的任一项的数据处理方法。
63.第五方面,提供一种计算机程序产品,包括:当计算机程序产品在计算机上运行时,使得计算机实现上述第一方面或其可选的实施方式中的任一项的数据处理方法。
64.本公开实施例提供一种数据处理方法,包括:在接收到第一分支代码的合并请求的情况下,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,合并请求用于请求将第一分支代码合并至主干代码;将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量;第二数据包大小信息为针对第一分支代码开发前的第二分支代码进行数据包大小分析得到的;在目标数据包大小增量小于预设增量的情况下,将第一分支代码合并至主干代码。通过该方案,可以在分支代码合并至主干代码之前,对分支代码的数据包大小增量进行检测,并在确定分支代码的数据包大小增量符合要求时,才将分支代码合并至主干代码,因此可以避免增量异常分支代码被合入主干代码,可以有效控制主干代码的数据包大小。
附图说明
65.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
66.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
67.图1为本公开实施例提供的一种数据处理方法的流程示意图;
68.图2为本公开实施例提供的一种通过bloaty工具进行数据包大小分析的流程示意图;
69.图3为本公开实施例提供的一种通过数据包大小分析得到目标数据包大小增量的流程示意图;
70.图4为本公开实施例提供的一种线上数据包大小分析方案的实现流程示意图;
71.图5为本公开实施例提供的一种在项目管理平台中显示目标数据包大小增量的界面示意图;
72.图6为本公开实施例提供的一种历史记录历史有关数据包大小的详情信息的界面示意图;
73.图7为本公开实施例提供的一种数据处理装置的结构框图;
74.图8为本公开实施例提供的一种电子设备的结构框图。
具体实施方式
75.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
76.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
77.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
78.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
79.在一些实施例中,在代码开发过程中,会存在多个分支代码的研发,在分支代码完成后会合并至主干代码,在代码合入线上主分支之后,由于一些分支代码在开发后,这些分支代码的数据包大小(即数据量)增大,可能导致很多数据包大小增量异常分支代码被合入主干代码,使得代码的数据包大小不可控。
80.为了解决上述问题本发明实施例提供了一种数据处理方法、装置及电子设备。可以在分支代码合并至主干代码之前,对分支代码的数据包大小增量进行检测,并在确定分支代码的数据包大小增量符合要求时,才将分支代码合并至主干代码,因此可以避免增量异常分支代码被合入主干代码,可以有效控制主干代码的数据包大小。
81.本公开实施例中,数据处理方法可以基于运维平台实现。其中,运维平台可以包括项目管理平台和需求管理平台,需求管理平台,用来管理需求,在需求管理平台中,可以设置有需求详细信息及需求流转流程等信息,在需求管理平台接收到合并分支代码的需求时,可以通过项目管理平台管理分支代码的合并,该项目管理平台作为一种代码管理平台,可以接收开发分支向主分支的合并请求(merge request,mr),管理源代码的分支合入,类似于持续集成(continuous integration,ci)功能。
82.本公开实施例中提供的数据处理方法,执行主体可以为上述运维平台、数据处理装置或者电子设备。该数据处理装置可以为电子设备或者电子设备中的功能模块或者功能实体。上述电子设备可以为平板电脑、手机、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)、个人计算机(personal computer,pc)等,本公开实施例对此不作具体限定。
83.上述运维平台可以在上述数据处理装置上运行,或者上述运维平台可以在上述电子设备上运行。
84.如图1所示,为本公开实施例提供的一种数据处理方法的流程示意图,该方法可以包括以下步骤101至108。
85.101、接收第一分支代码的合并请求。
86.其中,合并请求用于请求将第一分支代码合并至主干代码。
87.一般在代码开发项目开始之后,不同开发人员会基于主干代码的某些分支进行开发,我们将这种代码称为分支代码,在开发人员完成分支代码的开发之后,会触发上述合并请求,请求将分支代码合并至主干代码。
88.在上述数据处理方法基于上述运维平台实现时,在运维平台中可以在需求管理平台中接收到第一分支代码的合并请求之后,可以调用项目管理平台创建对应的合并请求事项,并触发后续数据包大小检测过程,以及根据数据包大小检测结果来确定合并流程。
89.102、对第一分支代码进行数据包大小分析,得到第一数据包大小信息。
90.本公开实施例中,数据包可以是指代码包,上述第一数据包大小信息可以是指第一分支代码的大小信息。在一些实施例中,获取第一分支代码的文件信息,以及与文件信息对应的调试信息;根据文件信息,以及与文件信息对应的调试信息,进行数据包大小分析,
得到第一数据包大小信息。其中,文件信息包括:动态库或可执行文件。
91.可选的,上述数据包大小分析过程可以通过数据包大小分析工具完成。其中数据包大小分析工具可以为bloaty工具。bloaty工具为用于二进制文件的大小分析器,可以显示二进制文件的大小配置文件,以便用户可以了解内部文件占用了什么空间。bloaty工具对二进制文件可以进行深入分析,通过使用自定义的解析器,可以将二进制文件的每个字节准确地归因于产生它的符号或编译单元,甚至还会反汇编二进制文件以查找对匿名数据的引用。
92.示例性的,如图2所示,为本公开实施例提供的一种通过bloaty工具进行数据包大小分析的流程示意图。该流程包括下述步骤201至203。
93.201、获取待分析的第一分支代码的动态库或可执行文件。
94.其中,该动态库或可执行文件在本公开实施例中可以表示为liba.so。
95.202、获取针对第一分支代码的liba.so的调试信息。
96.其中,该调试信息在本公开实施例中可以表示为liba.so.symbol。其中,每个动态库或可执行文件,对应一份调试信息。
97.203、bloaty工具通过对liba.so和liba.so.symbol的分析,输出第一分支代码的第一数据包大小信息。
98.在一些实施例中,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,包括:对第一分支代码进行数据包大小分析,得到初始数据包大小信息,然后基于分支代码级、模块级、源代码文件级以及函数级对初始数据包大小信息进行数据统计,以得到第一数据包大小信息。
99.本公开实施例,可以一个或多个层级,对第一分支代码分后得到的初始数据包大小信息(即分析结果)进行数据统计,以呈现更加清晰的数据包大小数据。其中,进行数据统计的层级包括但不限于以下一种或多种的组合:
100.(1)基于分支代码级。
101.统计第一分支代码的数据包大小总量。
102.(2)基于模块级。
103.第一分支代码中可以包括多个功能,基于第一分支代码中不同功能的实现模块,分别统计不同实现模块的数据包大小。
104.(3)基于源代码文件级。
105.第一分支代码中可以包括有多个源代码文件,基于第一分支代码中不同源代码文件,分别统计不同源代码文件的数据包大小。
106.(4)基于函数级的。
107.第一分支代码中中可以包括有多个函数,基于第一分支代码中不同函数,分别统计不同函数的数据包大小。
108.基于上述数据统计,第一数据包大小信息中可以有上述4个层级的数据包大小数据,呈现了清晰的数据包大小数据。
109.103、获取第二数据包大小信息。
110.其中,第二数据包大小信息为针对第一分支代码开发前的第二分支代码进行数据包大小分析得到的。
111.其中,针对第二分支代码进行数据包大小分析的方法,与上述针对第一分支代码进行数据包大小分析的方法类似,可以参照上述针对第一分支代码进行数据包大小分析的方法,此处不在赘述。
112.在一些实施例中,获取第二数据包大小信息为获取本地存储的第二数据包大小信息。
113.在一些实施例中,获取第二数据包大小信息为获取服务器发送的第二数据包大小信息。
114.由于在本地存储容易丢失,在服务器中存储历史版本的服务器更加安全可靠,不易丢失,并且由于在服务器中存储,多个用户均可以通过访问服务器数据得到,因此数据分发过程也更加便捷。
115.104、将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量。
116.在一些实施例中,目标数据包大小增量包括以下至少一项:
117.基于分支代码级的数据包大小增量;
118.基于模块级的数据包大小增量;
119.基于源代码文件级的数据包大小增量;
120.基于函数级的数据包大小增量。
121.在一些实施例中,将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量,包括:根据目标级的匹配信息,对第一数据包大小信息和第二数据包大小信息中目标级的数据包大小信息进行对比,得到目标级数据包大小增量。目标级为第一分支代码级、模块级、源代码文件级以及函数级中的至少一种。
122.示例性的,如图3所示,为本公开实施例提供的一种通过数据包大小分析得到目标数据包大小增量的流程示意图。该流程包括下述步骤301至308:
123.301、获取待分析的第一分支代码的动态库或可执行文件(liba.so)。
124.302、获取针对第一分支代码的liba.so的调试信息(liba.so.symbol)。
125.303、bloaty工具通过对liba.so和liba.so.symbol的分析,输出第一分支代码的第一数据包大小信息。
126.304、获取待分析的第二分支代码的动态库或可执行文件。
127.305、获取针对第二分支代码的liba.so的调试信息。
128.306、bloaty工具通过对liba.so和liba.so.symbol的分析,输出第二分支代码的第二数据包大小信息。
129.307、获取目标级的匹配信息。
130.308、根据目标级的匹配信息,对第一数据包大小信息和第二数据包大小信息中目标级的数据包大小信息进行对比,得到目标级数据包大小增量。
131.其中,目标级匹配信息为针对目标级的一些标识,这些标识可以为一些预设字段。这些预设字段可以用于将第一数据包大小信息和第二数据包大小信息中属于同一层级的数据进行匹配,并比较得到针对该层级的数据包大小增量,例如,可以将第一数据包大小信息和第二数据包大小信息中属于同一模块的数据进行匹配,并比较得到针对该模块的数据
包大小增量。
132.示例性的,针对模型的数据包大小增量信息可以如下表1所示,表1中示出了三个模块的数据包大小增量,以及整个分支代码(total)的总数据包大小增量。
133.模块名大小(单位:kb)modulea-400moduleb600modulec-100total100
134.表1
135.示例性的,针对源文件的数据包大小增量信息可以如下表2所示,表2中示出了4个源文件的数据包大小增量,以及整个分支代码(total)的总数据包大小增量。
136.文件名大小(单位:kb)modulea/filea.cpp-400moduleb/filea.cpp600modulec/filea.cpp-200modulec/fileb.cpp100total100
137.表2
138.示例性的,针对函数的数据包大小增量信息可以如下表2所示,表2中示出了5个函数的数据包大小增量。
139.文件名函数名大小变化(单位:kb)modulea/filea.cppmodulea::functiona()-400moduleb/filea.cppmoduleb::functiona()900moduleb/filea.cppmoduleb::functionb()-300modulec/filea.cppmodulec::functiona()-200modulec/fileb.cppmodulec::functionb()100
140.表3
141.由于传统的线下数据包大小分析,依赖于离线工具,需要开发者提前准备下载好离线工具,而当开发人员比较多时,每个人需要分析数据包大小时都需要在本地部署环境需要很大人力成本,因此会占用大量人力资源和测试资源。基于此本公开实施例采取了线下转移至线上的方案,并把分析数据包大小的任务和线上ci打数据包任务融合,使其能够在每次分支代码合并至主干代码前自动化执行数据包大小检测,也即可以在通过上述运维平台融合分析数据包大小任务和线上ci打数据包任务,在每次分支代码合并至主干代码前,均自动化执行数据包大小检测流程。
142.示例性的,如图4所示,为本公开实施例提供的一种线上数据包大小分析方案的实现流程示意图,该流程中包括以下步骤401至408,这些步骤均可以基于运维平台实现。
143.401、ci构建完成。
144.ci构建可以实现从开发团队提交代码,到将代码合并至主干代码进行集成的全部
过程,实现自动化。
145.402、获取第一分支代码的可执行文件,以及可执行文件对应的调试信息。
146.403、对第一分支代码进行数据包大小分析,得到第一数据包大小信息。
147.404、将第一数据包大小信息上传至服务器。
148.其中,该服务器可以为云服务器。该服务器可以认为是一个用来存储不同版本代码的数据包大小信息的数据库。
149.405、从云服务器下载第二数据包大小信息。
150.406、对比第一数据包大小信息和第二数据包大小信息,得到目标数据包大小增量。
151.407、上传分析结果(即目标数据包大小增量)。
152.408、在项目管理平台中显示目标数据包大小增量。
153.如图5所示,为本公开实施例提供的在项目管理平台中显示目标数据包大小增量的界面示意图,在该界面中的时间表中展示了目标数据包大小增量,如图5中的51所示,可以显示第一分支代码的总大小增量,以及该第一分支代码中模块级的数据包大小增量、源文件级的数据包大小增量,以及函数级的数据包大小增量。
154.105、判断目标数据包大小增量是否小于预设增量。
155.在目标数据包大小增量小于预设增量的情况下,直接执行下述步骤108;在目标数据包大小增量大于或等于预设增量的情况下,执行下述步骤106和107之后执行步骤108。
156.可以在运维平台中调用ci服务接口检查目标数据包大小增量是否小于预设增量。
157.在一些实施例中,上述预设增量可以为一定固定的增量门限值,例如可以为30kb、40kb或者50kb等。
158.在一些实施例中,上述预设增量可以为在需求平台中预先设置的预估增量值。该预估增量值可以为针对该第一分支代码预估的最大增量值。例如,可以为5kb。
159.在一些实施例中,判断目标数据包大小增量是否小于预设增量包括:判断目标数据包大小增量是否小于增量门限值,和/或,判断目标数据包大小增量是否小于预估增量值。
160.106、向与第一分支代码关联的代码复核人账号发送复核消息。
161.其中,复核消息用于通知代码复核人确认是否允许合并请求,复核消息中包括有链接信息,链接信息用于指向合并请求的对应信息:对应信息包括:第一分支代码的开发人员信息、第一数据包大小信息,以及目标数据包大小增量中的至少一项。
162.其中,代码复核人账号可以有一个或多个,在存在多个代码复核人账号时,需要向每个代码复核人账号均发送复核消息。
163.在一些实施例中,针对第一分支代码没有关联代码复核人,或者需要增加代码复核人的情况,还可以先添加与第一分支代码关联的代码复核人账号,之后再执行上述106。
164.示例性的,如图5所示,在项目管理平台中的时间表中,可以显示相关提示信息来提示,添加了新的代码复核人“@xyz”。
165.在一些实施例中,可以建立与第一分支代码关联的聊天群组,并在确定目标数据包大小增量大于或等于预设增量的情况下,将该第一分支代码相关信息发送至该聊天群组,该聊天群组中可以包括该第一分支代码的开发人员、以及该第一分支代码的复核人员
等,以便第一分支代码的开发人员可以在该群组中说明第一分支代码数据量过大的原因,并与复核人员进行讨论。示例性的,如图5所示,在项目管理平台中的时间表中,可以显示相关提示信息来提示开发人员,去与第一分支代码关联的“a群组”中说明原因。
166.107、接收到代码复核人账号发送的允许合并请求的回复信息。
167.在存在多个代码复核人账号时,需要接收到每个代码复核人账号发送的允许合并请求的回复信息之后,才可以执行下述108。
168.108、将第一分支代码合并至主干代码。
169.本公开实施例提供一种数据处理方法,包括:在接收到第一分支代码的合并请求的情况下,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,合并请求用于请求将第一分支代码合并至主干代码;将第一数据包大小信息与存储的第二数据包大小信息进行对比,得到第一数据包大小信息对应的目标数据包大小增量;第二数据包大小信息为针对第一分支代码开发前的第二分支代码进行数据包大小分析得到的;在目标数据包大小增量小于预设增量的情况下,将第一分支代码合并至主干代码。通过该方案,可以在分支代码合并至主干代码之前,对分支代码的数据包大小增量进行检测,并在确定分支代码的数据包大小增量符合要求时,才将分支代码合并至主干代码,因此可以避免增量异常的分支代码被合入主干代码,可以有效控制主干代码的数据包大小。
170.在一些实施例中,上述数据处理方法还可以记录历史有关数据包大小的详情信息,方便后续版本追溯,其中数据包大小详细信息可以包括:分支代码级、模块级、源代码文件级,以及函数级的数据包大小详细信息;
171.在一些实施例中,可以将第一分支代码的合并请求与目标数据包大小增量对应保存。
172.在一些实施例中,可以将第一分支代码的合并请求、目标数据包大小增量,以及预设增量对应保存。
173.示例性的,如图6所示为本公开实施例提供的一种记录历史有关数据包大小的详情信息的界面示意图。在运维平台中可以在需求管理平台中接收到分支代码的合并请求之后,可以调用项目管理平台创建对应的合并请求事项,并创建ci服务,完成数据包大小检测过程,得到分支代码的数据包大小增量,并将相应分支代码所在的目标分支、提交合并请求的提交标识、合并请求的链接、数据包大小增量、预设增量、提交合并请求的提交时间、代码合并需求的需求来源(具体可以是某应用程序,在图6中可以为应用a或应用b)等写入数据包大小记录表格61,并显示在数据包体积查询界面62中,数据包体积查询界面可以通过输入部分信息来从数据包大小记录表格中查找某条或多条记录。
174.通过上述记录方式,在较多版本的分支代码进行合并之后,可以通过查表方式快速的定位到增量异常的合并记录中,容易追溯到哪些合并请求导致了代码数据包大小异常。
175.如图7所示,本公开实施例提供的一种数据处理装置的结构框图,该装置包括:
176.分析模块701,用于在接收到第一分支代码的合并请求的情况下,对第一分支代码进行数据包大小分析,得到第一数据包大小信息,合并请求用于请求将第一分支代码合并至主干代码;
177.对比模块702,用于将第一数据包大小信息与存储的第二数据包大小信息进行对
比,得到第一数据包大小信息对应的目标数据包大小增量;第二数据包大小信息为针对第一分支代码开发前对应的第二分支代码进行数据包大小分析得到的;
178.合并模块703,用于在目标数据包大小增量小于预设增量的情况下,将第一分支代码合并至主干代码。
179.作为本公开实施例一种可选的实施方式,分析模块701,具体用于:
180.获取第一分支代码的文件信息,以及与文件信息对应的调试信息,其中,文件信息包括:动态库或可执行文件;
181.根据文件信息,以及与文件信息对应的调试信息,进行数据包大小分析,得到第一数据包大小信息。
182.作为本公开实施例一种可选的实施方式,如图7所示,上述装置还包括获取模块704,用于:
183.获取服务器发送的第二数据包大小信息。
184.或者,
185.获取本地存储的第二数据包大小信息。
186.作为本公开实施例一种可选的实施方式,目标数据包大小增量包括以下至少一项:
187.基于第一分支代码级的数据包大小增量;
188.基于模块级的数据包大小增量;
189.基于源代码文件级的数据包大小增量;
190.基于函数级的数据包大小增量。
191.作为本公开实施例一种可选的实施方式,对比模块702,具体用于:
192.根据目标级的匹配信息,对第一数据包大小信息和第二数据包大小信息中目标级的数据包大小信息进行对比,得到目标级数据包大小增量,目标级为第一分支代码级、模块级、源代码文件级以及函数级中的至少一种。
193.作为本公开实施例一种可选的实施方式,分析模块701,具体用于:
194.对第一分支代码进行数据包大小分析,得到初始数据包大小信息;
195.基于第一分支代码级、模块级、源代码文件级以及函数级对初始数据包大小信息进行数据统计,以得到第一数据包大小信息。
196.作为本公开实施例一种可选的实施方式,合并模块703,还用于:
197.在目标数据包大小增量大于或等于预设增量的情况下,向与第一分支代码关联的代码复核人账号发送复核消息,复核消息用于通知代码复核人确认是否允许合并请求,复核消息中包括有链接信息,链接信息用于指向合并请求的对应信息:对应信息包括:第一分支代码的开发人员信息、第一数据包大小信息,以及目标数据包大小增量中的至少一项;
198.在接收到代码复核人账号发送的允许合并请求的回复信息之后,将第一分支代码合并至主干代码。
199.作为本公开实施例一种可选的实施方式,如图7所示,上述装置还包括保存模块705,用于:
200.将合并请求与目标数据包大小增量对应保存;
201.或,
202.将合并请求、目标数据包大小增量,以及预设增量对应保存。
203.如图8所示,本公开实施例还提供一种电子设备的结构框图,该电子设备包括:处理器801、存储器802及存储在存储器802上并可在处理器801上运行的计算机程序,计算机程序被处理器801执行时实现上述数据处理方法。
204.本发明实施例提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述方法实施例中数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
205.其中,该计算机可读存储介质可以为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
206.本发明实施例提供一种计算程序产品,该计算机程序产品存储有计算机程序,计算机程序被处理器执行时实现实现上述方法实施例中数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
207.本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
208.本公开中,处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
209.本公开中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
210.本公开中,计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
211.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设
备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
212.以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献