CN116860324B - 开发数据处理方法、开发数据处理设备以及可读存储介质 - Google Patents
开发数据处理方法、开发数据处理设备以及可读存储介质 Download PDFInfo
- Publication number
- CN116860324B CN116860324B CN202311121815.0A CN202311121815A CN116860324B CN 116860324 B CN116860324 B CN 116860324B CN 202311121815 A CN202311121815 A CN 202311121815A CN 116860324 B CN116860324 B CN 116860324B
- Authority
- CN
- China
- Prior art keywords
- file
- target
- development
- code
- software development
- 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.)
- Active
Links
- 238000011161 development Methods 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 title claims abstract description 33
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims description 84
- 238000000034 method Methods 0.000 claims description 40
- 238000013499 data model Methods 0.000 claims description 15
- 238000013461 design Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 238000004519 manufacturing process Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000018109 developmental process Effects 0.000 description 147
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000033772 system development Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- 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
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及电子数字数据处理技术领域,尤其涉及一种开发数据处理方法、开发数据处理设备以及可读存储介质。开发数据处理方法包括当接收到软件开发文件之后,确定所述软件开发文件的文件类型;根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码;调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件。通过软件开发平台对不同开发阶段产生的文件进行统一处理,以保证不同开发阶段生成的文件和代码可以顺利地进行转换和兼容,进而减少人工操作的复杂性和出错率,提高开发效率。
Description
技术领域
本发明涉及电子数字数据处理技术领域,尤其涉及一种开发数据处理方法、开发数据处理设备以及可读存储介质。
背景技术
在信息系统开发的各个阶段,需要采用不同的信息系统开发工具,例如,在设计阶段,需要使用图形化工具、流程设计工具等;在开发阶段,需要使用开源框架、代码平台等;在测试阶段,需要使用不同的测试工具;在部署运维阶段,需要自动化部署工具、监控平台等。
由于信息系统不同开发阶段使用的工具不同,故不同阶段生成的文件和代码存在区别。因此,由于工具之间的不兼容性,在处理不同格式的文件时,需要对文件进行转换和兼容,或者调整和迁移代码等工作。进而导致在现有的信息系统开发过程中,存在开发效率低的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种开发数据处理方法,旨在解决现有的信息系统开发过程中,存在的开发效率低的问题。
为实现上述目的,本发明提供的一种开发数据处理方法,所述开发数据处理方法包括以下步骤:
当接收到软件开发文件之后,确定所述软件开发文件的文件类型;
根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码;
调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件。
可选地,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
调用容器工具,对所述目标代码、基础镜像、安装依赖、环境变量设置以及运行命令进行封装,生成包括目标应用程序的容器镜像;
基于所述容器镜像,对所述目标应用程序进行部署。
可选地,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤包括:
所述目标解析器对所述软件开发文件进行解析,获得所述软件开发文件对应的结构化数据,并根据所述结构化数据,生成所述目标代码。
可选地,所述目标解析器对所述软件开发文件进行解析,获得所述软件开发文件对应的结构化数据,并根据所述结构化数据,生成所述目标代码的步骤包括:
当所述目标解析器为原型文件对应的原型解析器时,所述原型解析器对原型文件进行解析,获得包括页面结构、样式、交互的原型结构化数据;
根据所述原型结构化数据,生成包括HTML、CSS以及JavaScript的前端页面代码。
可选地,所述调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件的步骤包括:
获取软件开发需求,并根据所述软件开发需求,确定所述目标操作系统;
检查当前操作系统是否已配置所述目标操作系统对应的交叉编译环境;
若是,调用所述目标操作系统对应的所述交叉编译脚本;
根据所述交叉编译脚本,对所述目标代码进行交叉编译,生成适用于所述目标操作系统的所述可执行文件。
可选地,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
测试端根据所述软件开发文件的文件类型,确定代码测试规则;
调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果。
可选地,所述调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果的步骤之后,还包括:
当目标应用程序的目标代码通过测试之后,将所述目标应用程序的可执行文件发布至生产环境;
当所述目标应用程序在终端运行时,基于监控代理模块和/或监控程序,监控所述终端的软件资源和硬件资源;
当所述软件资源和/或硬件资源满足预设告警规则时,触发告警机制。
可选地,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
根据所述软件开发文件对应的目标代码,生成所述目标代码对应的说明文档;
或者,根据所述目标操作系统的可执行文件,生成所述可执行文件对应的说明文档;
或者,根据所述目标代码对应的包括目标应用程序的容器镜像,生成所述容器镜像对应的说明文档;
或者,根据所述目标代码对应的测试结果,生成所述测试结果对应的说明文档。
此外,为实现上述目的,本发明还提供一种开发数据处理设备,所述开发数据处理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的开发数据处理程序,所述开发数据处理程序被所述处理器执行时实现如上所述的开发数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有开发数据处理程序,所述开发数据处理程序被处理器执行时实现如上所述的开发数据处理方法的步骤。
本发明实施例提供开发数据处理方法、开发数据处理设备以及可读存储介质,通过确定文件类型,对不同类型的文件使用不同的解析器进行处理,避免由于文件类型不匹配而导致的错误;以及,通过采用目标操作系统对应的交叉编译脚本对目标代码进行交叉编译,以保证生成的可执行文件可以在目标操作系统上运行。因此,通过软件开发平台对不同开发阶段产生的文件进行统一处理,以保证不同开发阶段生成的文件和代码可以顺利地进行转换和兼容,进而减少人工操作的复杂性和出错率,提高开发效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例涉及的开发数据处理设备的硬件运行环境的架构示意图;
图2为本发明开发数据处理方法的第一实施例的流程示意图;
图3为本发明开发数据处理方法的第二实施例的流程示意图;
图4为本发明开发数据处理方法的第三实施例的流程示意图;
图5为本发明开发数据处理方法的第四实施例的流程示意图;
图6为本发明开发数据处理方法的第五实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图作进一步说明。
具体实施方式
本申请开发数据处理方法,通过根据接收到的软件开发文件的文件类型,调用文件类型对应的目标解析器,并基于软件开发文件,生成软件开发文件对应的目标代码;然后,调用目标操作系统对应的交叉编译脚本,对目标代码进行交叉编译,生成目标操作系统对应的可执行文件。可以保证不同开发阶段生成的文件和代码可以顺利地进行转换和兼容,进而减少人工操作的复杂性和出错率,提高开发效率。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
作为一种实现方案,图1为本发明实施例方案涉及的开发数据处理设备的硬件运行环境的架构示意图。
如图1所示,该开发数据处理设备可以包括:处理器101,例如中央处理器(CentralProcessing Unit,CPU),存储器102,通信总线103。其中,存储器102可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器102可选的还可以是独立于前述处理器101的存储装置。通信总线103用于实现这些组件之间的连接通信。
本领域技术人员可以理解,图1中示出的结构并不构成对开发数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器102中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及开发数据处理程序。
在图1所示的开发数据处理设备中,处理器101、存储器102可以设置在开发数据处理设备中,所述开发数据处理设备通过处理器101调用存储器102中存储的开发数据处理程序,并执行以下操作:
当接收到软件开发文件之后,确定所述软件开发文件的文件类型;
根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码;
调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
调用容器工具,对所述目标代码、基础镜像、安装依赖、环境变量设置以及运行命令进行封装,生成包括目标应用程序的容器镜像;
基于所述容器镜像,对所述目标应用程序进行部署。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤包括:
所述目标解析器对所述软件开发文件进行解析,获得所述软件开发文件对应的结构化数据,并根据所述结构化数据,生成所述目标代码。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述目标解析器对所述软件开发文件进行解析,获得所述软件开发文件对应的结构化数据,并根据所述结构化数据,生成所述目标代码的步骤包括:
当所述目标解析器为原型文件对应的原型解析器时,所述原型解析器对原型文件进行解析,获得包括页面结构、样式、交互的原型结构化数据;
根据所述原型结构化数据,生成包括HTML、CSS以及JavaScript的前端页面代码。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件的步骤包括:
获取软件开发需求,并根据所述软件开发需求,确定所述目标操作系统;
检查当前操作系统是否已配置所述目标操作系统对应的交叉编译环境;
若是,调用所述目标操作系统对应的所述交叉编译脚本;
根据所述交叉编译脚本,对所述目标代码进行交叉编译,生成适用于所述目标操作系统的所述可执行文件。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
测试端根据所述软件开发文件的文件类型,确定代码测试规则;
调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果的步骤之后,还包括:
当目标应用程序的目标代码通过测试之后,将所述目标应用程序的可执行文件发布至生产环境;
当所述目标应用程序在终端运行时,基于监控代理模块和/或监控程序,监控所述终端的软件资源和硬件资源;
当所述软件资源和/或硬件资源满足预设告警规则时,触发告警机制。
在一实施例中,处理器101可以用于调用存储器102中存储的开发数据处理程序,并执行以下操作:
所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
根据所述软件开发文件对应的目标代码,生成所述目标代码对应的说明文档;
或者,根据所述目标操作系统的可执行文件,生成所述可执行文件对应的说明文档;
或者,根据所述目标代码对应的包括目标应用程序的容器镜像,生成所述容器镜像对应的说明文档;
或者,根据所述目标代码对应的测试结果,生成所述测试结果对应的说明文档。
基于上述开发数据处理设备的硬件架构,提出本发明开发数据处理方法的实施例。
参照图2,在第一实施例中,所述开发数据处理方法包括以下步骤:
步骤S100:当接收到软件开发文件之后,确定所述软件开发文件的文件类型。
在本实施例中,开发数据处理方法应用于软件开发平台。当软件开发平台接收到软件开发人员上传的软件开发文件之后,通过确定软件开发文件的文件格式,进而确定软件开发文件的文件类型。
可选地,软件开发文件包括但不限于原型文件、数据模型文件或者流程设计文件。具体地,可以根据文件后缀确定软件开发文件的文件格式。示例性地,“.xd”是属于原型文件的Adobe XD文件,是包含交互元素、界面设计和层叠样式表等内容的文件;“.rp”是属于原型设计文件的Axure RP文件,是包含详细交互和设计规范的文件;“.uml”是属于数据模型文件的UML图文件,是用于建模软件系统的图标标准的文件;“.json”是属于数据模型文件的JSON文件,是用于表示数据模型和对象之间的关联关系的文件。
步骤S200:根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码。
在本实施例中,应用开发平台在确定接收到的软件开发文件的文件类型之后,调用与确定的文件类型对应的目标解析器;然后通过目标解析器对该软件开发文件进行解析,并在完成解析之后,采用目标解析器的代码生成模块,根据解析的结果生成软件开发文件对应的目标代码。
示例性地,C++源代码文件需要通过C++编译器进行编译,而Python脚本则需要通过Python解释器进行解释执行。如果不根据文件类型调用相应的解析器,就可能无法解析文件,进而影响后续工作。
可选地,在目标解析器对软件开发文件进行解析之后,获得的解析的结果为软件开发文件对应的结构化数据。然后,目标解析器的代码生成模块,根据软件开发文件对应的结构化数据,生成所目标代码。
在一实施例中,当确定接收到的软件开发文件的文件类型为原型文件时,调用的目标解析器为原型文件对应的原型解析器。原型解析器通过对原型文件进行解析,获得包括页面结构、样式、交互的原型结构化数据。然后,原型解析器中的代码生成模块根据这些原型结构化数据,生成包括HTML(Hypertext Markup Language,超文本标记语言)、CSS(Cascading Style Sheets,层叠样式表)以及JavaScript的前端页面代码。需要说明的是HTML用于描述前端页面的结构和内容;CSS用于定义网页的外观和样式;JavaScript用于为前端页面添加交互和动态功能。
在另一实施例中,当确定接收到的软件开发文件的文件类型为数据模型文件时,调用的目标解析器为数据模型文件对应的数据模型解析器。数据模型解析器通过对数据模型文件进行解析,获得包括表名、字段名、字段类型、约束等数据库表信息。然后数据模型解析器中的代码生成模块根据这些数据库表信息生成例如创建SQL(Structured QueryLanguage,结构化查询语言)语句、生成ORM(Object Relational Mapping对象关系映射)模型类等数据库表代码。
在又一实施例中,当确定接收到的软件开发文件的文件类型为OpenAPI规范文件,或者GraphQL模式文件等包含API接口定义或描述的API相关文件时,调用的目标解析器为API相关文件对应的API解析器,获取API相关文件中的API接口定义。然后API解析器中的代码生成模块根据这些API接口定义,生成API接口代码。需要说明的是,OpenAPI规范文件,用于描述API的结构、请求和响应的数据格式以及操作;GraphQL模式文件,用于描述API的查询语言和运行时环境。
步骤S300:调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件。
在本实施例中,应用开发平台在通过目标解析器对软件开发文件进行解析,并生成软件开发文件对应的目标代码之后,获取当前的软件开发需求,并根据软件开发需求,确定目标操作系统;然后,调用目标操作系统对应的交叉编译脚本,对目标代码进行交叉编译,生成适用于所述目标操作系统的所述可执行文件。可选地,目标操作系统可以是Windows系统、安卓系统、MacOS系统、IOS系统、或者Linux系统等。需要说明的是,可执行文件包含了可以直接在目标系统上运行的程序代码;其中,在不同的操作系统中,可执行文件的格式不同;示例性地,Windows操作系统中,可执行文件的格式可以是PE(PortableExecutable,可移植的可执行文件)格式,如“.exe”文件;Linux操作系统中,可执行文件的格式可以是ELF(Executable and Linkable Format,可执行与可链接格式)格式。
交叉编译是指在当前操作系统上开发和编译程序,但目标操作系统是另一个不同的操作系统。也就是说,交叉编译是把在一个平台上编写的代码转换成在另一个平台上运行的代码,以解决因为开发环境和运行环境的不同导致的兼容性问题。具体地,将源代码从一种体系结构编译为另一种体系结构的过程,获得可以在其他不同的操作系统/平台上运行的可执行程序,以减少在不同平台上进行开发和测试的工作量和成本。
可选地,应用开发平台在调用目标操作系统对应的交叉编译脚本之前,对当前操作系统是否已配置目标操作系统对应的交叉编译环境进行检查。若当前操作系统已配置目标操作系统对应的交叉编译环境,才调用目标操作系统对应的交叉编译脚本;若当前操作系统未配置目标操作系统对应的交叉编译环境,则不调用交叉编译脚本对目标代码进行交叉编译,而是提示当前系统未配置目标操作系统的交叉编译环境。
在进行交叉编译时,通过检查当前操作系统是否已配置目标操作系统对应的交叉编译环境,可以确保编译得到的代码与目标操作系统的要求相符,进而确保生成的可执行文件的运行环境,与目标操作系统的运行环境的一致性。以及,通过检查目标操作系统的交叉编译环境的配置情况,可以在进行交叉编译之前发现配置问题并进行解决,以避免交叉编译出现错误,进而增加不必要的调试时间。
示例性地,假设应用开发平台收到一个名为“app_prototype.xd”的文件。首先,应用开发平台根据文件后缀“.xd”,确定接收到的文件的文件类型为原型文件。然后,调用原型解析器,对接收到的原型文件进行解析,获得包括页面结构、样式和交互的原型结构化数据。然后,通过原型解析器中的代码生成模块,根据原型结构化数据生成包括HTML、CSS和JavaScript的前端页面代码。然后,获取的软件开发需求,并确定目标操作系统。
假设根据软件开发需求确定的目标操作系统为安卓系统。检查当前操作系统是否已配置安卓系统对应的交叉编译环境。假设前操作系统已配置安卓系统对应的交叉编译环境,调用安卓系统对应的交叉编译脚本,对生成的前端页面代码进行交叉编译,生成适用于安卓系统的可执行文件。
在本实施例提供的技术方案中,通过确定文件类型,对不同类型的文件使用不同的解析器进行处理,避免由于文件类型不匹配而导致的错误;以及,通过采用目标操作系统对应的交叉编译脚本对目标代码进行交叉编译,以保证生成的可执行文件可以在目标操作系统上运行。因此,通过软件开发平台对不同开发阶段产生的文件进行统一处理,以保证不同开发阶段生成的文件和代码可以顺利地进行转换和兼容,进而减少人工操作的复杂性和出错率,提高开发效率。
参照图3,基于上述实施例,在第二实施例中,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
步骤S410:调用容器工具,对所述目标代码、基础镜像、安装依赖、环境变量设置以及运行命令进行封装,生成包括目标应用程序的容器镜像;
步骤S420:基于所述容器镜像,对所述目标应用程序进行部署。
在本实施例中,软件开发平台在生成软件开发文件对应的目标代码之后,通过容器化技术,实现对目标应用程序进行部署。也即,通过调用容器工具,对目标代码、基础镜像、安装依赖、环境变量设置以及运行命令进行封装,生成包括目标应用程序的容器镜像。需要说明的是,生成的包括目标应用程序的容器镜像,用于实现对目标应用程序的高效部署、快速部署、跨平台部署和资源隔离,进而达到提高应用程序性能的目的。
可选地,软件开发平台调用容器工具(如Docker),对目标代码、基础镜像、安装依赖、环境变量设置以及运行命令进行封装、生成包括目标应用程序的容器镜像。然后,通过“push”命令将该容器镜像推送至镜像仓库。之后,在目标服务器上执行“pull”命令从镜像仓库获取镜像该包括目标应用程序的容器镜像;然后,在服务器上使用容器工具(如Docker)运行该容器镜像,创建一个或多个容器,并且,每个容器都运行一个目标应用程序的副本。
可选地,容器化技术可与交叉编译技术同时使用,实现在不同的目标操作系统上对目标应用程序进行跨平台部署。
在本实施例提供的技术方案中,通过容器化技术,可以无需考虑当前的系统环境和其他设置,将目标应用程序部署至任意环境的操作系统中,以实现目标应用程序的快速部署,以及,确保应用程序在不同环境中的一致性。因此,通过生成包括目标应用程序的容器镜像,简化了目标应用程序的部署流程,提高了部署效率,降低了因环境差异导致的运行错误,以及,提升了目标应用程序的稳定性。
参照图4,基于上述实施例,在第三实施例中,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
步骤S510:测试端根据所述软件开发文件的文件类型,确定代码测试规则;
步骤S520:调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果。
可选地,测试规则包括但不限于单元测试、系统测试、回归测试、性能测试、安全测试、UI(User Interface,用户界面)测试、兼容性测试。具体地,单元测试,是对应用程序中的最小功能单元(如方法、函数、类)进行测试,测试目标应用程序其是否按照设计要求正确运行;系统测试,是测试整个目标应用程序的功能、性能、安全等方面,验证其是否满足用户需求和设计要求;性能测试,是测试应用程序在不同负载下的性能表现,如响应时间、吞吐量等;UI测试,是测试目标应用程序的用户界面是否符合设计要求;兼容性测试,是测试应用程序在不同操作系统、浏览器、设备等环境下的兼容性。需要说明的是,具体的程序测试规则,是根据软件开发的不同阶段的文件确定的。
示例性地,若目标代码为前端页面代码,则通过测试,验证页面的布局、样式和交互功能是否符合设计和用户需求;若目标代码为数据库表代码,则通过测试,验证表的结构是否与需求和设计一致,以及验证数据的完整性和一致性,以确保数据库表的正确性和稳定性,避免数据丢失、错误和冗余;若目标代码为API接口代码,则通过测试,验证接口的功能和性能,以确保API接口的参数传递、数据格式、返回结果等方面的正确性和可靠性。
通过对不同开发阶段产生的代码进行测试,可以发现和修复潜在的问题,确保各个代码模块的正确性、可靠性和稳定性。同时,测试也可以评估整体系统的性能和用户体验,保证软件交付的质量和可用性。
在本实施例提供的技术方案中,通过调用软件开发文件的文件类型对应的代码测试规则,对目标代码进行测试。即通过对不同开发阶段产生的代码进行测试,以发现和修复潜在的问题,确保各个代码模块的正确性、可靠性和稳定性,进而保证软件交付的质量和可用性。
参照图5,基于上述实施例,在第四实施例中,所述调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果的步骤之后,还包括:
步骤S530:当目标应用程序的目标代码通过测试之后,将所述目标应用程序的可执行文件发布至生产环境;
步骤S540:当所述目标应用程序在终端运行时,基于监控代理模块和/或监控程序,监控所述终端的软件资源和硬件资源;
步骤S550:当所述软件资源和/或硬件资源满足预设告警规则时,触发告警机制。
在本实施例中,在软件开发平台的测试端对目标应用程序的目标代码的测试通过之后,软件开发平台将目标应用程序的可执行文件发布至生产环境;并当目标应用程序在终端运行时,基于监控代理模块和/或监控程序,监控所述终端的软件资源和硬件资源;当软件资源和/或硬件资源满足预设告警规则时,触发告警机制。
监控代理模块和/或监控程序可以实时监控终端的软件资源和硬件资源,包括CPU使用率、内存占用、磁盘空间等,以帮助开发团队及时了解系统的运行状态和资源利用情况。通过设置预设告警规则,当软件资源和硬件资源出现异常或达到预设的性能阈值时,触发告警机制,以实现目标应用程序在使生产环境出现故障前,及时发现并采取措施,进而避免对生产环境的正常运行造成影响。通过监控终端的软件资源和硬件资源,当监听到目标应用程序存在异常活动、异常访问、非法操作等安全威胁时,采取措施应对目标应用程序的安全漏洞和遭遇的攻击行为。
在本实施例提供的技术方案中,通过监控终端的软件资源和硬件资源,并触发告警机制,以实现目标应用程序在生产环境出现异常时,能够及时发现和解决问题,进而提升目标应用程序的可靠性、稳定性和安全性。
参照图6,基于上述实施例,在第五实施例中,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
步骤S610:根据所述软件开发文件对应的目标代码,生成所述目标代码对应的说明文档;
步骤S620:或者,根据所述目标操作系统的可执行文件,生成所述可执行文件对应的说明文档;
步骤S630:或者,根据所述目标代码对应的包括目标应用程序的容器镜像,生成所述容器镜像对应的说明文档;
步骤S640:或者,根据所述目标代码对应的测试结果,生成所述测试结果对应的说明文档。
在本实施例中,根据软件开发文件对应的目标代码、目标操作系统的可执行文件、目标应用程序的容器镜像或者目标代码对应的测试结果,生成对应的说明文档,用于跟踪和管理软件开发过程中的各个阶段的成果。
可选地,说明文档可以包括实现目标、技术特点、代码逻辑、技术依赖等软件开发过程中的各个阶段的详细信息,用于方便团队或者相关方进行沟通和交流,进而提高合作效率和项目的推进。
在本实施例提供的技术方案中,生成说明文档,用于加强软件开发项目的管理、以及方便目标应用程序后续的维护和升级,进而提高了团队协作和沟通效率。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被开发数据处理设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有开发数据处理程序,所述开发数据处理程序被处理器执行时实现如上实施例所述的开发数据处理方法的各个步骤。
其中,所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种开发数据处理方法,其特征在于,所述开发数据处理方法包括:
当接收到软件开发文件之后,确定所述软件开发文件的文件类型;
根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码;
测试端根据所述软件开发文件的文件类型,确定代码测试规则,并调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果;
调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件;
其中,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤包括:
所述目标解析器对所述软件开发文件进行解析,获得所述软件开发文件对应的结构化数据,并根据所述结构化数据,生成所述目标代码;
其中,所述目标解析器对所述软件开发文件进行解析,获得所述软件开发文件对应的结构化数据,并根据所述结构化数据,生成所述目标代码的步骤包括:
当所述软件开发文件的文件类型为原型文件时,调用所述原型文件对应的原型解析器,所述原型解析器对原型文件进行解析,获得包括页面结构、样式、交互的原型结构化数据,并根据所述原型结构化数据,生成包括HTML、CSS以及JavaScript的前端页面代码;
当所述开发文件的文件类型为数据模型文件时,调用所述数据模型文件对应的数据模型解析器,所述数据模型解析器对数据模型文件进行解析,获得包括表名、字段名、字段类型、约束的数据库表信息,并根据所述数据库表信息,生成包括创建SQL语句、生成ORM模型的数据库表代码;
当所述开发文件的文件类型为包含API接口定义或者描述的API文件时,获取所述API文件中的API接口定义,并调用所述API文件对应的API解析器,所述API解析器根据所述API接口定义,生成API接口代码;
其中,所述测试端根据所述软件开发文件的文件类型,确定代码测试规则,并调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果的步骤包括:
当所述文件类型为所述原型文件时,调用所述前端页面代码对应的测试规则,验证页面的布局、样式和交互功能是否符合设计和用户需求;
当所述文件类型为所述包含API接口定义或者描述的API文件时,调用所述API接口代码对应的测试规则,验证API接口的功能和性能;
其中,所述调用目标操作系统对应的交叉编译脚本,对所述目标代码进行交叉编译,生成目标操作系统的可执行文件的步骤包括:
获取软件开发需求,并根据所述软件开发需求,确定所述目标操作系统;
检查当前操作系统是否已配置所述目标操作系统对应的交叉编译环境;
若是,调用所述目标操作系统对应的所述交叉编译脚本;
根据所述交叉编译脚本,对所述目标代码进行交叉编译,生成适用于所述目标操作系统的所述可执行文件。
2.如权利要求1所述的开发数据处理方法,其特征在于,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
调用容器工具,对所述目标代码、基础镜像、安装依赖、环境变量设置以及运行命令进行封装,生成包括目标应用程序的容器镜像;
基于所述容器镜像,对所述目标应用程序进行部署。
3.如权利要求1所述的开发数据处理方法,其特征在于,所述调用所述代码测试规则,对所述目标代码进行测试,生成所述目标代码对应的测试结果的步骤之后,还包括:
当目标应用程序的目标代码通过测试之后,将所述目标应用程序的可执行文件发布至生产环境;
当所述目标应用程序在终端运行时,基于监控代理模块和/或监控程序,监控所述终端的软件资源和硬件资源;
当所述软件资源和/或硬件资源满足预设告警规则时,触发告警机制。
4.如权利要求1-3任一项所述的开发数据处理方法,其特征在于,所述根据所述文件类型,调用所述文件类型对应的目标解析器,并基于所述软件开发文件,生成所述软件开发文件对应的目标代码的步骤之后,还包括:
根据所述软件开发文件对应的目标代码,生成所述目标代码对应的说明文档;
或者,根据所述目标操作系统的可执行文件,生成所述可执行文件对应的说明文档;
或者,根据所述目标代码对应的包括目标应用程序的容器镜像,生成所述容器镜像对应的说明文档;
或者,根据所述目标代码对应的测试结果,生成所述测试结果对应的说明文档。
5.一种开发数据处理设备,其特征在于,所述开发数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的开发数据处理程序,所述开发数据处理程序配置为实现如权利要求1至4中任一项所述的开发数据处理方法的步骤。
6.一种可读存储介质,其特征在于,所述可读存储介质上存储有开发数据处理程序,所述开发数据处理程序被处理器执行时实现如权利要求1至4任一项所述的开发数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311121815.0A CN116860324B (zh) | 2023-09-01 | 2023-09-01 | 开发数据处理方法、开发数据处理设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311121815.0A CN116860324B (zh) | 2023-09-01 | 2023-09-01 | 开发数据处理方法、开发数据处理设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116860324A CN116860324A (zh) | 2023-10-10 |
CN116860324B true CN116860324B (zh) | 2023-12-05 |
Family
ID=88234439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311121815.0A Active CN116860324B (zh) | 2023-09-01 | 2023-09-01 | 开发数据处理方法、开发数据处理设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860324B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943485A (zh) * | 2017-12-11 | 2018-04-20 | 北京奇虎科技有限公司 | 一种补丁编译平台及补丁编译方法 |
CN109542446A (zh) * | 2017-08-14 | 2019-03-29 | 中兴通讯股份有限公司 | 一种编译系统、方法及编译器 |
CN113064595A (zh) * | 2021-03-22 | 2021-07-02 | 北京北信源软件股份有限公司 | 一种基于Docker镜像的QT应用程序编译方法和装置 |
CN113296769A (zh) * | 2020-11-18 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、视觉稿的处理方法、系统及电子设备 |
CN114489597A (zh) * | 2022-01-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种代码自动生成方法及装置 |
CN114594933A (zh) * | 2022-01-20 | 2022-06-07 | 广东南方数码科技股份有限公司 | 基于文件扫描的前端代码生成方法、装置及存储介质 |
CN115145574A (zh) * | 2022-05-17 | 2022-10-04 | 拉扎斯网络科技(上海)有限公司 | 一种代码生成方法、装置、存储介质及服务器 |
CN115629971A (zh) * | 2022-10-19 | 2023-01-20 | 北京科银京成技术有限公司 | 一种应用的开发系统和开发方法 |
CN115794214A (zh) * | 2023-02-09 | 2023-03-14 | 中邮消费金融有限公司 | 应用模块元数据管理方法、设备、存储介质及装置 |
CN116431103A (zh) * | 2023-04-26 | 2023-07-14 | 北京计算机技术及应用研究所 | 一种面向嵌入式软件的数字化DevOps平台设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2015DE01249A (zh) * | 2015-05-06 | 2015-06-05 | Hcl Technologies Ltd |
-
2023
- 2023-09-01 CN CN202311121815.0A patent/CN116860324B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542446A (zh) * | 2017-08-14 | 2019-03-29 | 中兴通讯股份有限公司 | 一种编译系统、方法及编译器 |
CN107943485A (zh) * | 2017-12-11 | 2018-04-20 | 北京奇虎科技有限公司 | 一种补丁编译平台及补丁编译方法 |
CN113296769A (zh) * | 2020-11-18 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、视觉稿的处理方法、系统及电子设备 |
CN113064595A (zh) * | 2021-03-22 | 2021-07-02 | 北京北信源软件股份有限公司 | 一种基于Docker镜像的QT应用程序编译方法和装置 |
CN114489597A (zh) * | 2022-01-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种代码自动生成方法及装置 |
CN114594933A (zh) * | 2022-01-20 | 2022-06-07 | 广东南方数码科技股份有限公司 | 基于文件扫描的前端代码生成方法、装置及存储介质 |
CN115145574A (zh) * | 2022-05-17 | 2022-10-04 | 拉扎斯网络科技(上海)有限公司 | 一种代码生成方法、装置、存储介质及服务器 |
CN115629971A (zh) * | 2022-10-19 | 2023-01-20 | 北京科银京成技术有限公司 | 一种应用的开发系统和开发方法 |
CN115794214A (zh) * | 2023-02-09 | 2023-03-14 | 中邮消费金融有限公司 | 应用模块元数据管理方法、设备、存储介质及装置 |
CN116431103A (zh) * | 2023-04-26 | 2023-07-14 | 北京计算机技术及应用研究所 | 一种面向嵌入式软件的数字化DevOps平台设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116860324A (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108535B2 (en) | Web application test script generation to test software functionality | |
US20220222170A1 (en) | Software development framework for a cloud computing platform | |
US8510717B2 (en) | Method and system for testing application modules using static tests from a test suite | |
US8745641B1 (en) | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface | |
US20080276221A1 (en) | Method and apparatus for relations planning and validation | |
US20130167128A1 (en) | Application Compiling | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN114691464A (zh) | 一种接口测试方法、计算机设备及计算机可读存储介质 | |
US10459698B2 (en) | Framework for generating adapters in an integrated development environment | |
US11429372B2 (en) | Application program updating method, apparatus, system, medium and device | |
US9026997B2 (en) | Systems and methods for executing object-oriented programming code invoking pre-existing objects | |
CN109240923B (zh) | 接口测试脚本的生成方法及计算机可读存储介质 | |
KR20090122665A (ko) | 테스트 라이브러리를 이용하는 휴대폰 어플리케이션 검증시스템 및 그 방법 | |
CN108595656B (zh) | 一种数据的处理方法及系统 | |
CN108287720B (zh) | 软件编译方法、装置、设备及存储介质 | |
US11269712B1 (en) | Customized categorial error handling framework for heterogeneous component-based testing in a portable automation framework | |
US10606569B2 (en) | Declarative configuration elements | |
Garcia et al. | ESBMC^ QtOM Q t OM: A Bounded Model Checking Tool to Verify Qt Applications | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
Merz et al. | Bridging the gap between test cases and requirements by abstract testing | |
CN116860324B (zh) | 开发数据处理方法、开发数据处理设备以及可读存储介质 | |
Kim et al. | A two-step approach for pattern-based API-call constraint checking | |
CN115470152A (zh) | 测试代码生成方法、测试代码生成装置以及存储介质 | |
CN113778451B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |