CN115202644A - 文件处理方法、装置、设备、可读存储介质及程序产品 - Google Patents
文件处理方法、装置、设备、可读存储介质及程序产品 Download PDFInfo
- Publication number
- CN115202644A CN115202644A CN202210743208.7A CN202210743208A CN115202644A CN 115202644 A CN115202644 A CN 115202644A CN 202210743208 A CN202210743208 A CN 202210743208A CN 115202644 A CN115202644 A CN 115202644A
- Authority
- CN
- China
- Prior art keywords
- file
- binary
- attribute information
- binary file
- target product
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 230000010354 integration Effects 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002085 persistent effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/34—Graphical or visual programming
-
- 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/38—Creation or generation of source code for implementing user interfaces
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种文件处理方法、装置、设备、可读存储介质及程序产品,该方法包括:接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件;如此,通过客户端(客户端的操作界面),二进制文件在持续集成中做到可视化配置,服务器接收该客户端发送的二进制文件的属性信息,进行二进制文件持续集成,提升了二进制文件持续集成的效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种文件处理方法、装置、设备、可读存储介质及程序产品。
背景技术
持续集成是一种软件开发实践,每次集成都通过自动化的构建(编译、发布和自动化测试)来验证,从而尽早地发现集成错误。在二进制文件(预编译文件)持续集成过程中,往往有大量二进制文件需要集成到系统中,现有技术是提交大量二进制文件到代码库,参与源码编译;二进制文件提交历史累积导致代码库越来越大,从而导致二进制文件持续集成效率低下。
发明内容
本申请针对现有的方式的缺点,提出一种文件处理方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何提升二进制文件持续集成的效率的问题。
第一方面,本申请提供了一种文件处理方法,包括:
接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;
将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件。
在一个实施例中,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息,包括:
通过开源持续集成平台,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
客户端的操作界面中包括多个候选二进制文件的属性信息,多个候选二进制文件中每个候选二进制文件的属性信息包括每个候选二进制文件的名称、每个候选二进制文件的版本、每个候选二进制文件对应的产品信息中的至少一项;多个候选二进制文件的属性信息包括至少一个二进制文件的属性信息。
在一个实施例中,基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息,确定至少一个待编译的二进制文件,包括:
通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息;
将至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件。
在一个实施例中,在通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之前,还包括:
通过开源持续集成平台,将预设二进制源代码仓库中目标产品对应的二进制源代码进行编译,得到目标产品对应的多个二进制文件;并通过开源持续集成平台,生成多个二进制文件中每个二进制文件的属性信息;
将多个二进制文件存储在预设信息仓库中,并将多个二进制文件中每个二进制文件的属性信息存储在可扩展标记语言文件中;
通过预设脚本,将可扩展标记语言文件储存在预设可扩展标记语言文件仓库中。
在一个实施例中,通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息,包括:
通过开源持续集成平台,从预设可扩展标记语言文件仓库中,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息。
在一个实施例中,将至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件,包括:
若至少一个二进制文件中每个二进制文件的属性信息与目标产品对应的可扩展标记语言文件中任一个二进制文件的属性信息相同,则从预设信息仓库中,获取至少一个二进制文件,并将至少一个二进制文件中每个二进制文件确定为待编译的二进制文件。
在一个实施例中,将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件,包括:
将至少一个待编译的二进制文件和预设系统源文件设置在指定目录,并通过预设编译脚本,将至少一个待编译的二进制文件和预设系统源文件进行编译,得到目标产品对应的集成文件,集成文件的类型包括系统文件、镜像文件中的至少一项。
第二方面,本申请提供了一种文件处理装置,包括:
第一处理模块,用于接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
第二处理模块,用于基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;
第三处理模块,用于将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件。
第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;
总线,用于连接处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请第一方面的文件处理方法。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被用于执行本申请第一方面的文件处理方法。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面中文件处理方法的步骤。
本申请实施例提供的技术方案,至少具有如下有益效果:
接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件;如此,通过客户端(客户端的操作界面),二进制文件在持续集成中做到可视化配置,服务器接收该客户端发送的二进制文件的属性信息,进行二进制文件持续集成,提升了二进制文件持续集成的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的文件处理系统的架构示意图;
图2为本申请实施例提供的一种文件处理方法的流程示意图;
图3为本申请实施例提供的另一种文件处理方法的流程示意图;
图4为本申请实施例提供的一种文件处理装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“B”,或者实现为“A和B”。
可以理解的是,在本申请的具体实施方式中,涉及到文件处理相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例是文件处理系统提供的一种文件处理方法,该文件处理方法涉及软件配置管理等领域。
为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。
XML:可扩展标记语言,标准通用标记语言的子集,简称XML;XML是一种用于标记电子文件使其具有结构性的标记语言;在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息,例如文章等;XML可以用来标记数据和定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言;XML适合Web(World WideWeb,万维网)传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
Web:Web(World WideWeb,万维网)即全球广域网,Web是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。
git:git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Jenkins:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
本申请实施例提供的方案涉及文件处理技术,下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
为了更好的理解本申请实施例提供的方案,下面结合具体的一个应用场景对该方案进行说明。
在一个实施例中,图1中示出了本申请实施例所适用的一种文件处理系统的架构示意图,可以理解的是,本申请实施例所提供的文件处理方法可以适用于但不限于应用于如图1所示的应用场景中。
本示例中,如图1所示,该示例中的文件处理系统的架构可以包括但不限于终端10、服务器20、网络30和数据库40。终端10和服务器20之间可以通过网络30进行交互,终端10和数据库40之间可以通过网络30进行交互。
服务器20通过网络30接收终端10中客户端发送的目标产品对应的至少一个二进制文件的属性信息;服务器20基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;服务器20将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件。终端10中客户端的操作界面包括多个候选二进制文件的属性信息,多个候选二进制文件中每个候选二进制文件的属性信息包括每个候选二进制文件的名称、每个候选二进制文件的版本、每个候选二进制文件对应的产品信息中的至少一项;多个候选二进制文件的属性信息包括至少一个二进制文件的属性信息。终端10通过网络30将多个候选二进制文件的属性信息存储在数据库40中。
可理解,上述仅为一种示例,本实施例在此不作限定。
其中,终端包括但不限于智能手机、手机模拟器、平板电脑、笔记本电脑、数字广播接收器、MID(Mobile Internet Devices,移动互联网设备)、PDA(个人数字助理)、智能语音交互设备、智能家电、车载终端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云安全、数据安全、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、Wi-Fi及其他实现无线通信的网络。具体也可基于实际应用场景需求确定,在此不作限定。
参见图2,图2示出了本申请实施例提供的一种文件处理方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是服务器,作为一可选实施方式,该方法可以由服务器执行,为了描述方便,在下文的一些可选实施例的描述中,将以服务器作为该方法执行主体为例进行说明。如图2所示,本申请实施例提供的文件处理方法包括如下步骤:
S201,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息。
具体地,二进制文件的属性信息可以为属性值。服务器接收终端中客户端发送的一个产品(目标产品)对应的多个二进制文件的属性信息。例如,一个产品对应10个二进制文件,即一个产品对应这10个二进制文件的属性信息,客户端的操作界面上显示1000个二进制文件的属性信息;用户在客户端的操作界面上进行选择操作,即用户从客户端的操作界面上显示的这1000个二进制文件的属性信息中,选择这10个二进制文件的属性信息,并通过客户端将这10个二进制文件的属性信息发送给服务器,服务器接收这10个二进制文件的属性信息,即至少一个二进制文件的属性信息。
S202,基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件。
具体地,二进制文件的属性信息可以为属性值。一个可扩展标记语言文件(XML文件)对应一个产品,该可扩展标记语言文件对应多个二进制文件的属性值;例如一个XML文件中包括100个二进制文件的属性值,这100个二进制文件的属性值都与同一个产品对应。
S203,将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件。
具体地,预设系统源文件可以为系统平台源代码,集成文件可以为系统文件、镜像文件等,系统文件可以为OS(OperatingSystem,操作系统)文件,镜像文件可以为Image文件。
本申请实施例中,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件;如此,通过客户端(客户端的操作界面),二进制文件在持续集成中做到可视化配置,服务器接收该客户端发送的二进制文件的属性信息,进行二进制文件持续集成,提升了二进制文件持续集成的效率。
在一个实施例中,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息,包括:
通过开源持续集成平台,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
客户端的操作界面中包括多个候选二进制文件的属性信息,多个候选二进制文件中每个候选二进制文件的属性信息包括每个候选二进制文件的名称、每个候选二进制文件的版本、每个候选二进制文件对应的产品信息中的至少一项;多个候选二进制文件的属性信息包括至少一个二进制文件的属性信息。
具体地,开源持续集成平台可以为jenkins,客户端的操作界面可以是Web页。客户端的操作界面可以展示多个产品对应的候选二进制文件的属性信息,例如,客户端的操作界面可以展示1000个候选二进制文件的属性信息,这1000个候选二进制文件对应多个产品,其中,这1000个候选二进制文件中10个候选二进制文件对应产品A,产品A为目标产品;用户在客户端的操作界面上进行选择操作,选择这10个候选二进制文件的属性信息,并通过客户端将这10个二进制文件的属性信息发送给服务器,服务器通过jenkins,接收这10个二进制文件的属性信息;如此,通过客户端的操作界面,实现了这1000个二进制文件在持续集成中做到可视化配置,即用户可以在客户端的操作界面上进行选择操作。
在一个实施例中,基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息,确定至少一个待编译的二进制文件,包括:
通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息;
将至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件。
具体地,开源持续集成平台可以为jenkins,服务器通过jenkins下载xmlgit仓库中产品B对应的XML文件,jenkins通过python工具对产品B对应的XML文件的XML内容进行解析,得到产品B对应的XML文件中每个二进制文件的属性信息,即得到产品B对应的XML文件中全部二进制文件的属性信息,其中,产品B为目标产品。
将至少一个二进制文件的属性信息和产品B对应的XML文件中全部二进制文件的属性信息之间进行匹配处理,得到多个待编译的二进制文件。例如,至少一个二进制文件的属性信息为10个二进制文件的属性信息,产品B对应的XML文件中全部二进制文件的属性信息为100个二进制文件的属性信息,将这10个二进制文件的属性信息和这100个二进制文件的属性信息进行匹配处理,得到10个待编译的二进制文件。
在一个实施例中,在通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之前,还包括:
通过开源持续集成平台,将预设二进制源代码仓库中目标产品对应的二进制源代码进行编译,得到目标产品对应的多个二进制文件;并通过开源持续集成平台,生成多个二进制文件中每个二进制文件的属性信息;
将多个二进制文件存储在预设信息仓库中,并将多个二进制文件中每个二进制文件的属性信息存储在可扩展标记语言文件中;
通过预设脚本,将可扩展标记语言文件储存在预设可扩展标记语言文件仓库中。
具体地,开源持续集成平台可以为jenkins,预设二进制源代码仓库可以为codegit仓库。用户将二进制源代码提交到codegit仓库,服务器通过jenkins从codegit仓库中调用二进制源代码;服务器通过jenkins,将codegit仓库中目标产品对应的二进制源代码进行编译,得到目标产品对应的多个二进制文件;服务器将多个二进制文件存储在预设信息仓库中,预设信息仓库可以为FTP(FileTransferProtocol,文件传输协议)存储方式或其他存储方式。
预设可扩展标记语言文件仓库可以为xmlgit仓库,预设脚本可以为自动脚本。服务器通过jenkins,生成多个二进制文件中每个二进制文件的属性信息;将多个二进制文件中每个二进制文件的属性信息存储在一个XML文件中;通过自动脚本,将该XML文件提交到xmlgit仓库中备用。
在一个实施例中,通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息,包括:
通过开源持续集成平台,从预设可扩展标记语言文件仓库中,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息。
具体地,开源持续集成平台可以为jenkins,预设可扩展标记语言文件仓库可以为xmlgit仓库。服务器通过jenkins,从xmlgit仓库中,获取目标产品对应的XML文件中每个二进制文件的属性信息。
在一个实施例中,将至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件,包括:
若至少一个二进制文件中每个二进制文件的属性信息与目标产品对应的可扩展标记语言文件中任一个二进制文件的属性信息相同,则从预设信息仓库中,获取至少一个二进制文件,并将至少一个二进制文件中每个二进制文件确定为待编译的二进制文件。
具体地,多个二进制文件中每个二进制文件的属性信息与目标产品对应的XML文件中任一个二进制文件的属性信息相同,则通过下载工具,从预设信息仓库中,下载多个二进制文件,并将多个二进制文件中每个二进制文件确定为待编译的二进制文件。例如,10个二进制文件(多个二进制文件)的属性信息与目标产品对应的XML文件中10个二进制文件的属性信息相同,则通过下载工具,从预设信息仓库中,下载这10个二进制文件,并将这10个二进制文件确定为待编译的二进制文件。
在一个实施例中,将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件,包括:
将至少一个待编译的二进制文件和预设系统源文件设置在指定目录,并通过预设编译脚本,将至少一个待编译的二进制文件和预设系统源文件进行编译,得到目标产品对应的集成文件,集成文件的类型包括系统文件、镜像文件中的至少一项。
在一个实施例中,服务器通过解压缩拷贝工具,将多个待编译的二进制文件进行解压缩、拷贝等处理,将处理后的多个待编译的二进制文件传到指定位置,即指定目录。服务器通过jenkins,下载系统源文件到指定位置,即指定目录,系统源文件可以为系统平台源代码。服务器通过编译脚本,将指定位置上的多个待编译的二进制文件和系统源文件进行整体编译,生成OS文件或Image文件,并将OS文件或Image文件交付给用户。
应用本申请实施例,至少具有如下有益效果:
将繁琐的集成步骤简化和可视化。采用更小尺寸的XML记录需要集成的预编译信息(二进制文件的属性信息)。在持续集成过程中动态去执行下载、安装、编译等任务,而且支持线上配置自动生成XML文件。解决了每次集成需要把预编译文件(二进制文件)先放到代码库占用资源的问题。预编译信息(二进制文件的属性信息)的可视化配置,为后续查找历史集成版本号和定位问题提供了更优方案。
为了更好的理解本申请实施例所提供的方法,下面结合具体应用场景的示例对本申请实施例的方案进行进一步说明。
在一个具体应用场景实施例中,例如文件处理场景,参见图3,示出了一种文件处理方法的处理流程,如图3所示,本申请实施例提供的文件处理方法的处理流程包括如下步骤:
S401,服务器生成一个目标产品对应的N个二进制文件。
具体地,服务器通过开源持续集成平台,将二进制源代码仓库中一个目标产品对应的二进制源代码进行编译,得到该目标产品对应的N个二进制文件,即N个预编译文件,其中,N为正整数。
S402,服务器将生成的N个二进制文件存放在信息仓库;转到步骤S404执行。
具体地,信息仓库可以为FTP存储方式或其他存储方式。
S403,用户在终端中客户端的操作界面上进行选择操作,从M个二进制文件的属性值中选择N个二进制文件的属性值。
具体地,M为大于N的正整数;例如,M为1000,N为10;二进制文件的属性值为二进制文件的属性信息。
S404,服务器将生成的二进制文件的属性值进行存储;服务器将N个二进制文件的属性值和目标产品对应的XML文件中二进制文件的属性值之间进行匹配处理,得到N个待编译的二进制文件。
具体地,服务器将生成的二进制文件的属性值存在xmlgit仓库。N个二进制文件中每个二进制文件的属性值与目标产品对应的XML文件中任一个二进制文件的属性值相同,则通过下载工具,从信息仓库中,下载N个二进制文件,并将N个二进制文件中每个二进制文件确定为待编译的二进制文件。
S405,服务器将N个待编译的二进制文件进行解压缩和拷贝,得到处理后的N个待编译的二进制文件,将处理后的N个待编译的二进制文件传到指定位置。
具体地,指定位置可以为指定目录。
S406,服务器将处理后的N个待编译的二进制文件与其他源码进行整体编译,生成集成文件。
具体地,集成文件可以为OS文件或Image文件,其他源码可以是系统源文件。
S407,服务器将集成文件交付给用户。
应用本申请实施例,至少具有如下有益效果:
将繁琐的集成步骤简化和可视化。采用更小尺寸的XML记录需要集成的预编译信息(二进制文件的属性信息)。在持续集成过程中动态去执行下载、安装、编译等任务,而且支持线上配置自动生成XML文件。解决了每次集成需要把预编译文件(二进制文件)先放到代码库占用资源的问题。预编译信息(二进制文件的属性信息)的可视化配置,为后续查找历史集成版本号和定位问题提供了更优方案。通过客户端的操作界面,二进制文件在持续集成中做到可视化配置,服务器接收该客户端发送的二进制文件的属性信息,进行二进制文件持续集成,提升了二进制文件持续集成的效率。
本申请实施例还提供了一种文件处理装置,该文件处理装置的结构示意图如图4所示,文件处理装置50,包括第一处理模块501、第二处理模块502和第三处理模块503。
第一处理模块501,用于接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
第二处理模块502,用于基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;
第三处理模块503,用于将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件。
在一个实施例中,第一处理模块501,具体用于:
通过开源持续集成平台,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
客户端的操作界面中包括多个候选二进制文件的属性信息,多个候选二进制文件中每个候选二进制文件的属性信息包括每个候选二进制文件的名称、每个候选二进制文件的版本、每个候选二进制文件对应的产品信息中的至少一项;多个候选二进制文件的属性信息包括至少一个二进制文件的属性信息。
在一个实施例中,第二处理模块502,具体用于:
通过开源持续集成平台,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息;
将至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件。
在一个实施例中,第二处理模块502,还用于:
通过开源持续集成平台,将预设二进制源代码仓库中目标产品对应的二进制源代码进行编译,得到目标产品对应的多个二进制文件;并通过开源持续集成平台,生成多个二进制文件中每个二进制文件的属性信息;
将多个二进制文件存储在预设信息仓库中,并将多个二进制文件中每个二进制文件的属性信息存储在可扩展标记语言文件中;
通过预设脚本,将可扩展标记语言文件储存在预设可扩展标记语言文件仓库中。
在一个实施例中,第二处理模块502,具体用于:
通过开源持续集成平台,从预设可扩展标记语言文件仓库中,获取目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息。
在一个实施例中,第二处理模块502,具体用于:
若至少一个二进制文件中每个二进制文件的属性信息与目标产品对应的可扩展标记语言文件中任一个二进制文件的属性信息相同,则从预设信息仓库中,获取至少一个二进制文件,并将至少一个二进制文件中每个二进制文件确定为待编译的二进制文件。
在一个实施例中,第三处理模块503,具体用于:
将至少一个待编译的二进制文件和预设系统源文件设置在指定目录,并通过预设编译脚本,将至少一个待编译的二进制文件和预设系统源文件进行编译,得到目标产品对应的集成文件,集成文件的类型包括系统文件、镜像文件中的至少一项。
应用本申请实施例,至少具有如下有益效果:
接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件;如此,通过客户端(客户端的操作界面),二进制文件在持续集成中做到可视化配置,服务器接收该客户端发送的二进制文件的属性信息,进行二进制文件持续集成,提升了二进制文件持续集成的效率。
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图5所示,图5所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:服务器等。
应用本申请实施例,至少具有如下有益效果:
接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;基于至少一个二进制文件的属性信息和目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;将至少一个待编译的二进制文件和预设系统源文件进行编译,确定目标产品对应的集成文件;如此,通过客户端(客户端的操作界面),二进制文件在持续集成中做到可视化配置,服务器接收该客户端发送的二进制文件的属性信息,进行二进制文件持续集成,提升了二进制文件持续集成的效率。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (11)
1.一种文件处理方法,其特征在于,包括:
接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
基于所述至少一个二进制文件的属性信息和所述目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;
将所述至少一个待编译的二进制文件和预设系统源文件进行编译,确定所述目标产品对应的集成文件。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的目标产品对应的至少一个二进制文件的属性信息,包括:
通过开源持续集成平台,接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
所述客户端的操作界面中包括多个候选二进制文件的属性信息,所述多个候选二进制文件中每个候选二进制文件的属性信息包括所述每个候选二进制文件的名称、所述每个候选二进制文件的版本、所述每个候选二进制文件对应的产品信息中的至少一项;所述多个候选二进制文件的属性信息包括所述至少一个二进制文件的属性信息。
3.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个二进制文件的属性信息和所述目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息,确定至少一个待编译的二进制文件,包括:
通过开源持续集成平台,获取所述目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息;
将所述至少一个二进制文件的属性信息和所述目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件。
4.根据权利要求3所述的方法,其特征在于,在所述通过开源持续集成平台,获取所述目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息之前,还包括:
通过所述开源持续集成平台,将预设二进制源代码仓库中所述目标产品对应的二进制源代码进行编译,得到所述目标产品对应的多个二进制文件;并通过所述开源持续集成平台,生成所述多个二进制文件中每个二进制文件的属性信息;
将所述多个二进制文件存储在预设信息仓库中,并将所述多个二进制文件中每个二进制文件的属性信息存储在可扩展标记语言文件中;
通过预设脚本,将所述可扩展标记语言文件储存在预设可扩展标记语言文件仓库中。
5.根据权利要求4所述的方法,其特征在于,所述通过开源持续集成平台,获取所述目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息,包括:
通过开源持续集成平台,从所述预设可扩展标记语言文件仓库中,获取所述目标产品对应的可扩展标记语言文件中每个二进制文件的属性信息。
6.根据权利要求4所述的方法,其特征在于,所述将所述至少一个二进制文件的属性信息和所述目标产品对应的可扩展标记语言文件中二进制文件的属性信息之间进行匹配处理,得到至少一个待编译的二进制文件,包括:
若所述至少一个二进制文件中每个二进制文件的属性信息与所述目标产品对应的可扩展标记语言文件中任一个二进制文件的属性信息相同,则从所述预设信息仓库中,获取所述至少一个二进制文件,并将所述至少一个二进制文件中每个二进制文件确定为待编译的二进制文件。
7.根据权利要求1所述的方法,其特征在于,所述将所述至少一个待编译的二进制文件和预设系统源文件进行编译,确定所述目标产品对应的集成文件,包括:
将所述至少一个待编译的二进制文件和预设系统源文件设置在指定目录,并通过预设编译脚本,将所述至少一个待编译的二进制文件和预设系统源文件进行编译,得到所述目标产品对应的集成文件,所述集成文件的类型包括系统文件、镜像文件中的至少一项。
8.一种文件处理装置,其特征在于,包括:
第一处理模块,用于接收客户端发送的目标产品对应的至少一个二进制文件的属性信息;
第二处理模块,用于基于所述至少一个二进制文件的属性信息和所述目标产品对应的可扩展标记语言文件中二进制文件的属性信息,确定至少一个待编译的二进制文件;
第三处理模块,用于将所述至少一个待编译的二进制文件和预设系统源文件进行编译,确定所述目标产品对应的集成文件。
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743208.7A CN115202644A (zh) | 2022-06-27 | 2022-06-27 | 文件处理方法、装置、设备、可读存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743208.7A CN115202644A (zh) | 2022-06-27 | 2022-06-27 | 文件处理方法、装置、设备、可读存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202644A true CN115202644A (zh) | 2022-10-18 |
Family
ID=83577573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210743208.7A Pending CN115202644A (zh) | 2022-06-27 | 2022-06-27 | 文件处理方法、装置、设备、可读存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202644A (zh) |
-
2022
- 2022-06-27 CN CN202210743208.7A patent/CN115202644A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221872B (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
CN114579107A (zh) | 数据的处理方法、装置、设备及介质 | |
JP2009259124A (ja) | アプリケーション更新情報提供システム、及びアプリケーション更新情報提供方法 | |
CN113885920A (zh) | 机器学习模型的热更新方法、装置、电子设备及存储介质 | |
CN112948827A (zh) | 一种源码编译验证方法、系统、设备和储存介质 | |
CN113641873B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN110502251B (zh) | 应用安装方法及装置 | |
CN111666074B (zh) | 一种web应用定制的方法、相关装置及系统 | |
CN115454575B (zh) | jar包转换并自动加载的方法、装置、设备及存储介质 | |
CN112947912A (zh) | 生成代码的方法、装置、电子设备和存储介质 | |
CN115202644A (zh) | 文件处理方法、装置、设备、可读存储介质及程序产品 | |
CN113468446B (zh) | 一种支持识别第三方二维码数据的方法、系统及设备 | |
CN112596816B (zh) | 一种表单处理方法、装置和电子设备 | |
CN112069430B (zh) | 快应用预览方法、装置、电子设备及存储介质 | |
CN114201174A (zh) | 混合移动应用的构建方法、装置、电子设备及存储介质 | |
CN114253441A (zh) | 目标功能的启用方法及装置、存储介质、电子装置 | |
CN114253595A (zh) | 代码仓库管理方法、装置、计算机设备及存储介质 | |
CN113204541A (zh) | 异构数据库数据迁移自动校正方法及装置 | |
CN113495723A (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN111078571A (zh) | 模拟响应的测试方法、终端设备及计算机可读存储介质 | |
CN112860309B (zh) | 基于iOS的静态库调用方法、装置、设备及存储介质 | |
CN112579961B (zh) | Web导航页的构建方法、装置、设备和可读存储介质 | |
CN117311792A (zh) | 版本号的更新方法、装置、设备及存储介质 | |
CN117873480A (zh) | 一种定向编译方法、装置、设备及介质 | |
CN117950712A (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 |