CN111290801A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111290801A CN111290801A CN202010090644.XA CN202010090644A CN111290801A CN 111290801 A CN111290801 A CN 111290801A CN 202010090644 A CN202010090644 A CN 202010090644A CN 111290801 A CN111290801 A CN 111290801A
- Authority
- CN
- China
- Prior art keywords
- file
- party
- function
- code file
- code
- 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
- 238000012545 processing Methods 0.000 title claims description 13
- 238000003672 processing method Methods 0.000 title abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000004806 packaging method and process Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 264
- 238000005516 engineering process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 238000012856 packing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种数据处理方法、装置、计算机设备和存储介质,该方法包括:获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。本公开可以在不预先植入第三方功能的前提下,使得应用程序中的目标功能拥有第三方功能。
Description
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
随着移动用户界面(User Interface,UI)框架(Flutter)技术发展迅猛,越来越多的研发端使用Flutter技术对原有项目进行改造。
多技术混合开发模式的主流做法是将实现应用程序的功能的业务代码(业务模块)打包成代码文件和项目对象模型(Project Object Model,POM)依赖文件,再统一由主模块集成,上述集成方案的好处在于项目中每个研发人员只要着眼于自己的业务模块即可,无需关心其他研发人员负责的业务模块使用的技术,但是,Flutter业务模块通过官方方式生成的二进制归档文件(又称AAR产物)并不包括业务模块所依赖的原生(Native)模块(即实现第三方功能的业务模块)内容,若要成功编译项目需要修改主模块的结构,在主模块中添加对Native模块的依赖,直接导致业务侵入主模块,即,改变了了主模块的模块结构,有较强的侵入性。
发明内容
本公开实施例至少提供一种数据处理方法、装置、计算机设备和存储介质,可以在不预先植入第三方功能的前提下,使得应用程序中的目标功能拥有第三方功能。
第一方面,本公开实施例提供了一种数据处理方法,所述方法包括:
获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;
基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;
基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
在一种实施方式中,基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件,包括:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理,生成所述打包后代码文件。
在一种实施方式中,所述配置文件包括命令触发文件、任务执行文件和第三方代码获取文件,基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件,包括:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
在一种实施方式中,根据以下步骤对第三方代码获取文件进行更新:
若检测到所述第三方功能代码文件存在版本更新,则获取更新版本的第三方功能代码文件的存储路径;
基于更新版本的第三方功能代码文件的存储路径,替换所述第三方代码获取文件中对应第三方功能代码文件的存储路径。
在一种实施方式中,生成所述目标功能对应的打包后代码文件之后,还包括:
将所述打包后代码文件集成到与所述目标应用程序对应的程序安装包中。
第二方面,本公开实施例提供了一种数据处理装置,所述装置包括:
第一获取模块,用于获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;
第二获取模块,用于基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;
生成模块,用于基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
在一种实施方式中,所述生成模块用于根据以下步骤生成所述目标功能对应的打包后代码文件:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理,生成所述打包后代码文件。
在一种实施方式中,所述配置文件包括命令触发文件、任务执行文件和第三方代码获取文件,所述第二获取模块用于根据以下步骤获取与所述目标功能关联的第三方功能代码文件:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
在一种实施方式中,还包括:更新模块,所述更新模块用于根据以下步骤对第三方代码获取文件进行更新:
若检测到所述第三方功能代码文件存在版本更新,则获取更新版本的第三方功能代码文件的存储路径;
基于更新版本的第三方功能代码文件的存储路径,替换所述第三方代码获取文件中对应第三方功能代码文件的存储路径。
在一种实施方式中,所述装置还包括:生成模块,所述生成模块用于:
将所述打包后代码文件集成到与所述目标应用程序对应的程序安装包中。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一方面,或任一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一方面,或任一方面中任一种可能的实施方式中的步骤。
本公开实施例提供了一种数据处理方法,在获取应用程序中的目标功能对应的基础功能代码文件,以及与目标功能对应的配置文件后,基于配置文件指示的文件获取路径,获取与目标功能关联的第三方功能代码文件,基于第三方功能代码文件和基础功能代码文件,生成目标功能对应的打包后代码文件。这样,可以在不预先植入第三方功能的前提下,使得应用程序中的目标功能拥有第三方功能,同时,避免了对应用程序的基础功能代码文件的侵入性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种Flutter技术添加功能模块的示意图;
图2示出了本公开实施例所提供的一种数据处理方法的流程示意图;
图3示出了本公开实施例所提供的一种配置文件中的文件之间的依赖关系示意图;
图4示出了本公开实施例所提供的一种数据处理装置的结构示意图;
图5示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
在研发应用程序过程中,一般可以通过Native技术或Flutter技术实现应用程序中各个功能,实现应用程序中功能的代码文件称为功能模块,以具有依赖关系的如下功能模块为例,分别介绍Native技术和Flutter技术,实现应用程序的所有功能的为主模块A,主模块A的依赖功能模块为B,功能模块B依赖的第三方功能模块包括C、D、E等模块。
在通过Native技术研发应用程序时,模块之间依赖关系可以通过功能模块对应的配置文件存储,实现功能模块之间依赖关系的传递,例如,功能模块B和第三方功能模块C、第三方功能模块D、第三方功能模块E之间的依赖关系存储在功能模块B的配置文件中,从而对功能模块和功能模块依赖的第三方功能模块进行打包处理,生成功能模块对应的打包代码文件,将打包代码文件集成到应用程序的安装包中,但是,通过Native方式生成的安装包仅适应于一个平台(如安卓平台),若期望在不同的平台(如windows平台、iOS平台)上架应用程序,需要生成适用不同平台的应用程序的安装包,增加了研发端的工作量。
在通过Flutter技术研发应用程序时,由于Flutter技术中并不提供配置文件,在功能模块需要依赖第三方功能模块时,需要在主模块中添加需要依赖的第三方功能模块,如,参考图1,在主模块A中添加第三方功能模块C、第三方功能模块D和第三方功能模块E,主模块对功能模块和功能模块以来的第三方功能模块进行打包、集成处理,得到应用程序的安装包,这样,会导致主模块的结构发生变化,即导致业务侵入主模块。
另外,当功能模块依赖的第三方功能模块发生变化时,如,应用程序中删除了任意第三方功能,功能模块需要主动通知主模块,若功能模块未能及时通知主模块,那么,主模块在进行打包处理时,依然会打包删除的任意第三方功能的功能模块,这样,导致应用程序的安装包会比较大,用户端在下载应用程序时,花费的时间比较久,降低了用户端的下载效率。
基于上述研究,本公开实施例提供了一种数据处理方法,将Native技术的技术思路应用在Flutter技术中,也就是,为实现应用程序中的功能的功能模块添加配置文件,从而避免了对实现应用程序中功能的功能模块的侵入,而且减少了研发端的处理工作量。具体地,本公开在获取应用程序中的目标功能对应的基础功能代码文件,以及与目标功能对应的配置文件后,基于配置文件指示的文件获取路径,获取与目标功能关联的第三方功能代码文件,基于第三方功能代码文件和基础功能代码文件,生成目标功能对应的打包后代码文件。这样,可以在不预先植入第三方功能的前提下,使得应用程序中的目标功能拥有第三方功能,同时,避免了对应用程序的基础功能代码文件的侵入性。
需要说明的是,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍,本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、蜂窝电话、无绳电话、个人数字处理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为终端设备为例对本公开实施例提供的数据处理方法加以说明。
参见图2所示,为本公开实施例一提供的数据处理方法的流程图,具体包括以下步骤:
S201,获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件。
具体地,应用程序可以为终端设备中安装的应用程序,其中,终端设备运行的操作系统可以为Windows操作系统、iOS操作系统、安卓操作系统等操作系统,应用程序可以为通讯应用、新闻应用、视频应用等应用,该应用程序还可以为web网页端的应用程序。
基础功能代码文件用于存储实现应用程序中功能的基础代码,例如,应用程序中的功能为支付功能,则基础功能代码文件用于存储实现支付的基础功能的代码;在使用Flutter技术开发应用程序中的功能(如支付功能)时,实现应用程序中功能的功能模块可以为Flutter技术中提供的基础功能模块。
与目标功能对应的配置文件用于对实现第三方功能的功能代码文件进行配置,该配置文件包括命令触发文件、任务执行文件、功能代码获取文件和打包工具获取文件,以下针对各个文件进行介绍。
命令触发文件用于被触发时对文件进行打包封装,该命令触发文件中存储有打包命令和打包参数,命令触发文件可以为.py文件,如,参考图3,该命令打包文件可以为pack.py文件。
任务执行文件用于对功能代码进行编译和打包封装,任务执行文件中用于存储对功能模块进行打包封装过程中的各种命令,如,文件调用命令、编译命令、打包命令等;该任务执行文件可以为.gradle文件,如,参考图3,build.gradle文件。
功能代码获取文件一般存储在脚本目录(如config目录)下,功能代码获取文件中用于存储文件标识和对应的文件获取路径,文件获取路径可以为文件在设备存储空间的存储路径,文件获取路径包括基础功能代码文件的获取路径和第三方代码获取文件的获取路径;文件标识包括基础功能代码文件的文件标识和第三方代码获取文件的文件标识,以下针对第三方代码获取文件进行介绍。
第三方代码获取文件中存储与目标功能关联的第三方功能代码文件的文件标识和对应的存储位置(又称存储路径),第三方功能代码文件中用于存储实现第三方功能(与目标功能关联的功能)的代码,该代码包括调用第三方功能的接口代码和实现第三方功能的功能代码,比如,第三方功能为银行卡支付功能,第三方功能代码文件中用于存储调用银行卡支付的接口代码,以及实现银行验证功能的代码、实现支付功能的代码等,银行验证功能可以为人脸识别功能,以验证支付人的身份。
打包工具获取文件中用于存储进行编译和进行打包的工具的工具描述信息,工具描述信息可以为工具标识和对应的工具获取地址(如URL地址),工具标识包括打包工具的工具标识和编译工具的工具标识,不同的工具标识对应不同的工具获取地址;打包工具获取文件可以存储在脚本目录(如config目录,参考图3)下,编译工具在打包工具获取文件中可以通过以下方式标识:com.android.tools.build:gradle,编译工具用于将功能代码编译为二进制代码,并对编译后的代码进行打包;打包工具在打包工具获取文件中可以通过以下方式标识:com.android.tools.build:gradle,打包工具用于对基础功能代码文件对应的打包代码文件和第三方功能代码文件对应的打包代码文件进行打包处理,以得到可以集成到应用程序安装包中的一个打包代码文件,该打包代码文件可以为二进制文件(AAR产物)。
第三方代码获取文件中存储的内容也可以直接存储在功能代码获取文件中,但是,考虑到第三方功能代码文件一般为第三方服务方提供的功能代码文件,在第三方服务方更新第三方功能代码文件的版本后,第三方功能代码文件的存储位置可能会发生变化,比如,版本更新前的文件存储位置为A,版本更新后的文件存储位置可能为B,为了便于对第三方功能代码文件的存储路径的更新和实现对第三方功能代码文件的维护,通过一个独立的文件维护第三方功能代码文件的存储路径、版本等信息,在第三方功能代码文件的版本变化后,仅更新第三方代码获取文件中的内容,这样,在进行打包封装时,任务执行文件通过第三方代码获取文件获取到的第三方功能代码文件为最新版本的第三功能代码文件,以下详述:
若检测到第三方功能代码文件存在版本更新,则获取更新版本的第三方功能代码文件的存储地址;
基于更新版本的第三方功能代码文件的存储地址,替换所述第三方代码获取文件中对应第三方功能代码文件的存储地址。
在具体实施过程中,系统实时检测各个第三方功能代码文件的版本是否发生更新,在检测到存在至少一个第三方功能代码文件的版本发生更新后,获取更新版本的第三方功能代码文件的存储路径,利用更新版本的第三方功能代码文件的存储路径,替换第三方代码获取文件中相应的第三方功能代码文件的存储路径,比如,第三方代码获取文件中第三方功能代码文件D的存储路径为T1,更新版本后的第三方功能代码文件D的存储路径为T2,利用存储路径T2替换第三方代码获取文件中第三方功能代码文件D的存储路径T1。以实现对第三方代码获取文件中的存储路劲更新,这样,在对目标功能对应的功能代码进行打包处理时,获取的是最新的第三方功能代码文件,那么,用户在安装应用程序后,应用程序为用户提供的功能也是最新的功能,在一定程度上可以提高用户的体验度。
S202,基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件。
这里,文件获取路径为功能代码获取文件中的存储路径和打包工具获取文件中的存储路径,详见上文,此处不进行赘述。
在基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件时,可以包括以下步骤:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
这里,触发操作可以是用户通过输入设备执行的点击操作,比如,用户通过鼠标执行的双击操作;也可以是用户通过手指执行的触控操作,比如,用户通过手指执行的触控操作,可以根据实际情况确定。
在具体实施过程中,用户通过输入设备双击命令触发文件,触发对目标功能的功能代码文件和目标功能依赖的第三方功能的功能代码文件进行打包封装,即,通过任务执行文件调用功能代码获取文件,同时调用打包工具获取文件,以便通过打包工具获取文件获取编译工具和打包工具。
基于功能代码获取文件中的各个文件标识对应的文件获取路径,获取对应的文件,由于功能代码获取文件中存储有基础功能代码文件的文件标识和第三方代码获取文件的文件标识,因此,此处获取的文件为基础功能代码文件和第三方代码获取文件。
由于第三方代码获取文件中存储第三方功能代码文件的文件标识和文件获取路径,因此,基于第三方代码获取文件中的文件获取路径,获取各个第三方功能代码文件。
基于打包工具获取文件中各个工具标识对应的工具获取路径,获取用于进行打包封装的工具,也就是,获取打包工具和编译工具。
S203,基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
在基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件时,包括:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理。
在具体实施过程中,在通过任务执行文件获取编译工具和打包工具后,执行任务执行文件中的编译命令,利用编译工具分别对各个第三方功能代码文件进行编译及打包处理,也就是,将各个第三方功能代码文件读取到内存中,对第三方功能代码文件进行编译,并对每个第三方功能代码文件对应编译后的代码(二进制代码)进行打包,得到每个第三方功能代码文件对应的第三方编译文件。
利用编译工具对基础功能代码文件进行编译及打包处理,也就是,将基础功能代码文件读取到内存中,对基础功能代码文件进行编译,并对基础功能代码文件对应的编译后的代码(二进制代码)进行打包,得到基础功能代码文件对应的基础功能编译文件。
通过执行任务执行文件中的打包命令,将各个第三方编译文件和基础功能编译文件打包为一个打包代码文文件。
在生成所述目标功能对应的打包后代码文件之后,还包括以下步骤:将所述打包后代码文件集成到与所述目标应用程序对应的程序安装包中,这样,当打包后代码文件的内容为更新版本的内容时,那么,生成的安装包中对应的内容为最新版本的,用户在下载应用程序后,应用程序提供过的功能也是最新的。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参考图4,本公开实施例提供了一种数据处理装置的示意图,所述装置包括:
第一获取模块41,用于获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;
第二获取模块42,用于基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;
生成模块43,用于基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
在一种可选地实施方式中,所述生成模块43用于根据以下步骤生成所述目标功能对应的打包后代码文件:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理,生成所述打包后代码文件。
在一种可选地实施方式中,所述配置文件包括命令触发文件、任务执行文件和第三方代码获取文件,所述第二获取模块42用于根据以下步骤获取与所述目标功能关联的第三方功能代码文件:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
在一种可选地实施方式中,还包括:更新模块44,所述更新模块44用于根据以下步骤对第三方代码获取文件进行更新:
若检测到所述第三方功能代码文件存在版本更新,则获取更新版本的第三方功能代码文件的存储路径;
基于更新版本的第三方功能代码文件的存储路径,替换所述第三方代码获取文件中对应第三方功能代码文件的存储路径。
在一种可选地实施方式中,所述装置还包括:集成模块45,所述集成模块45用于:
将所述打包后代码文件集成到与所述目标应用程序对应的程序安装包中。
对应于图1中的数据处理方法,本公开实施例还提供了一种计算机设备50,如图5所示,为本公开实施例提供的计算机设备50结构示意图,包括:
处理器51、存储器52、和总线53;存储器52用于存储执行指令,包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换,当所述计算机设备50运行时,所述处理器51与所述存储器52之间通过总线53通信,使得所述处理器51在用户态执行以下指令:
获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;
基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;
基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
一种可能的实施方式中,处理器51执行的指令中,基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件,包括:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理,生成所述打包后代码文件。
其中,所述配置文件包括命令触发文件、任务执行文件和第三方代码获取文件。
一种可能的实施方式中,处理器51执行的指令中,基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件,包括:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
一种可能的实施方式中,处理器51执行的指令中,根据以下步骤对第三方代码获取文件进行更新:
若检测到所述第三方功能代码文件存在版本更新,则获取更新版本的第三方功能代码文件的存储路径;
基于更新版本的第三方功能代码文件的存储路径,替换所述第三方代码获取文件中对应第三方功能代码文件的存储路径。
一种可能的实施方式中,处理器51执行的指令中,生成所述目标功能对应的打包后代码文件之后,还包括:
将所述打包后代码文件集成到与所述目标应用程序对应的程序安装包中。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的评论信息获取方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;
基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;
基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
2.如权利要求1所述的方法,其特征在于,基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件,包括:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理,生成所述打包后代码文件。
3.如权利要求1所述的方法,其特征在于,所述配置文件包括命令触发文件、任务执行文件和第三方代码获取文件,基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件,包括:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
4.如权利要求3所述的方法,其特征在于,根据以下步骤对第三方代码获取文件进行更新:
若检测到所述第三方功能代码文件存在版本更新,则获取更新版本的第三方功能代码文件的存储路径;
基于更新版本的第三方功能代码文件的存储路径,替换所述第三方代码获取文件中对应第三方功能代码文件的存储路径。
5.如权利要求1所述的方法,其特征在于,生成所述目标功能对应的打包后代码文件之后,还包括:
将所述打包后代码文件集成到与所述目标应用程序对应的程序安装包中。
6.一种数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取应用程序中的目标功能对应的基础功能代码文件,以及与所述目标功能对应的配置文件;
第二获取模块,用于基于所述配置文件指示的文件获取路径,获取与所述目标功能关联的第三方功能代码文件;
生成模块,用于基于所述第三方功能代码文件和所述基础功能代码文件,生成所述目标功能对应的打包后代码文件。
7.如权利要求6所述的装置,其特征在于,所述生成模块用于根据以下步骤生成所述目标功能对应的打包后代码文件:
分别对各个第三方功能代码文件进行编译处理,得到每个第三方功能代码文件对应的第三方编译文件;
对所述基础功能代码文件进行编译处理,得到基础功能编译文件;
对各个第三方编译文件和所述基础功能编译文件进行打包处理,生成所述打包后代码文件。
8.如权利要求6所述的装置,其特征在于,所述配置文件包括命令触发文件、任务执行文件和第三方代码获取文件,所述第二获取模块用于根据以下步骤获取与所述目标功能关联的第三方功能代码文件:
响应作用于所述命令触发文件的触发操作,通过所述任务执行文件调用所述第三方代码获取文件,基于所述第三方代码获取文件指示的文件获取路径,获取与所述目标功能关联的至少一个第三方功能代码文件。
9.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1~5任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1~5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090644.XA CN111290801A (zh) | 2020-02-13 | 2020-02-13 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090644.XA CN111290801A (zh) | 2020-02-13 | 2020-02-13 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111290801A true CN111290801A (zh) | 2020-06-16 |
Family
ID=71025451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010090644.XA Pending CN111290801A (zh) | 2020-02-13 | 2020-02-13 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290801A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113050950A (zh) * | 2021-03-26 | 2021-06-29 | 上海绚显科技有限公司 | 应用程序开发方法、装置、电子设备及机器可读存储介质 |
CN113094085A (zh) * | 2021-04-13 | 2021-07-09 | 北京房江湖科技有限公司 | 组件集成方法、装置、计算机可读存储介质及电子设备 |
CN113741949A (zh) * | 2021-09-07 | 2021-12-03 | 北京百度网讯科技有限公司 | 一种应用程序安装包的生成方法、装置、设备及存储介质 |
CN113760323A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种开发应用的方法、装置和系统 |
WO2024065445A1 (zh) * | 2022-09-29 | 2024-04-04 | 西门子(中国)有限公司 | 扩展功能块的能力的方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2016100635A4 (en) * | 2015-05-18 | 2016-06-16 | Certainedge Pty Ltd | Software creation system |
CN106406971A (zh) * | 2016-09-26 | 2017-02-15 | 杭州迪普科技有限公司 | 一种代码文件的编译方法及装置 |
CN106502725A (zh) * | 2016-09-30 | 2017-03-15 | 歌尔科技有限公司 | 应用程序的升级方法、设备及电子设备 |
CN107357593A (zh) * | 2017-08-24 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 源代码文件组建方法、装置、电子终端及可读存储介质 |
CN107402792A (zh) * | 2017-08-01 | 2017-11-28 | 广州视源电子科技股份有限公司 | 应用软件安装包的集成方法、装置、设备及存储介质 |
CN110691136A (zh) * | 2019-09-29 | 2020-01-14 | 广州华多网络科技有限公司 | 数据交互方法、装置、电子设备及存储介质 |
-
2020
- 2020-02-13 CN CN202010090644.XA patent/CN111290801A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2016100635A4 (en) * | 2015-05-18 | 2016-06-16 | Certainedge Pty Ltd | Software creation system |
CN106406971A (zh) * | 2016-09-26 | 2017-02-15 | 杭州迪普科技有限公司 | 一种代码文件的编译方法及装置 |
CN106502725A (zh) * | 2016-09-30 | 2017-03-15 | 歌尔科技有限公司 | 应用程序的升级方法、设备及电子设备 |
CN107402792A (zh) * | 2017-08-01 | 2017-11-28 | 广州视源电子科技股份有限公司 | 应用软件安装包的集成方法、装置、设备及存储介质 |
CN107357593A (zh) * | 2017-08-24 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 源代码文件组建方法、装置、电子终端及可读存储介质 |
CN110691136A (zh) * | 2019-09-29 | 2020-01-14 | 广州华多网络科技有限公司 | 数据交互方法、装置、电子设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760323A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种开发应用的方法、装置和系统 |
CN113050950A (zh) * | 2021-03-26 | 2021-06-29 | 上海绚显科技有限公司 | 应用程序开发方法、装置、电子设备及机器可读存储介质 |
CN113094085A (zh) * | 2021-04-13 | 2021-07-09 | 北京房江湖科技有限公司 | 组件集成方法、装置、计算机可读存储介质及电子设备 |
CN113094085B (zh) * | 2021-04-13 | 2024-01-19 | 贝壳找房(北京)科技有限公司 | 组件集成方法、装置、计算机可读存储介质及电子设备 |
CN113741949A (zh) * | 2021-09-07 | 2021-12-03 | 北京百度网讯科技有限公司 | 一种应用程序安装包的生成方法、装置、设备及存储介质 |
CN113741949B (zh) * | 2021-09-07 | 2023-09-29 | 北京百度网讯科技有限公司 | 一种应用程序安装包的生成方法、装置、设备及存储介质 |
WO2024065445A1 (zh) * | 2022-09-29 | 2024-04-04 | 西门子(中国)有限公司 | 扩展功能块的能力的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111290801A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN104793946B (zh) | 基于云计算平台的应用部署方法和系统 | |
CN107025559B (zh) | 一种业务处理方法及装置 | |
CN106775723B (zh) | 基于Android平台的系统固件定制的方法和Android设备 | |
CN108897562B (zh) | 安装包更新方法、装置、介质以及设备 | |
JP6294886B2 (ja) | アプリケーション用の中間言語コードからネイティブコードを生成すること | |
CN102073512B (zh) | 一种java集群应用系统代码装载及升级装置和方法 | |
JP6936016B2 (ja) | パッケージファイルに対する機能拡張方法およびシステム | |
CN111324359B (zh) | 插件部署方法及装置 | |
CN105100191A (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN110569108B (zh) | 小游戏虚拟机执行环境的创建方法及相关产品 | |
CN111179086A (zh) | 一种基于WebAssembly的智能合约虚拟机 | |
CN107797818A (zh) | 应用程序升级方法及装置 | |
CN114721688A (zh) | 一种sdk升级方法、装置以及计算机设备 | |
CN104731622A (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN112882732A (zh) | 一种软件开发工具包sdk中功能代码的更新方法和装置 | |
CN110716786B (zh) | 一种页面展示方法、系统及存储介质 | |
CN111159301A (zh) | 一种基于智能合约的数据创建方法、装置、设备及存储介质 | |
CN113961226A (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN110018831B (zh) | 程序处理方法、装置及计算机可读存储介质 | |
CN116680014B (zh) | 数据处理方法和装置 | |
CN116775087A (zh) | 一种热修复方法、装置、电子设备及存储介质 | |
CN114860202A (zh) | 项目运行方法、装置、服务器及存储介质 | |
CN115760391A (zh) | 区块链中智能合约更改方法、装置、电子设备及存储介质 | |
CN113157348A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200616 |
|
RJ01 | Rejection of invention patent application after publication |