掌桥专利:专业的专利平台
掌桥专利
首页

开发文件导出方法、装置、电子设备及计算机存储介质

文献发布时间:2023-06-19 11:35:49


开发文件导出方法、装置、电子设备及计算机存储介质

技术领域

本发明涉及研发管理技术领域,尤其涉及一种开发文件导出方法、装置、电子设备及计算机可读存储介质。

背景技术

随着计算机技术的迅速发展,对于各种软件的开发需求得到了爆炸式的增长,但针对每个不同的开发需求进行重新编程开发会造成开发效率低下,因此,为了提高开发效率,越来越多的公司导出编写好的具有特定功能的开发文件,以实现对软件功能的复制。

现有的开发文件导出方式多为对软件中可实现特定功能的代码进行截取复制,并利用截取复制的代码再次编译生成开发文件并传输给用户。该方法中,当需要导出的开发文件较多时,需要进行截取复制的功能代码内容较多,且截取复制过程中存在大量重复步骤,进而导致开发文件的导出效率低下。

发明内容

本发明提供一种开发文件导出方法、装置及计算机可读存储介质,其主要目的在于解决开发文件的导出效率低下的问题。

为实现上述目的,本发明提供的一种开发文件导出方法,包括:

获取软件代码的调用请求,解析所述调用请求以获取多个软件的代码存储路径;

根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合;

对所述代码集合中每一个软件的代码进行编译,得到开发文件集合;

获取导出需求,提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件;

将所述目标开发文件整合编译为待导出开发文件,并将所述待导出开发文件导出至所述导出地址。

可选地,所述解析所述调用请求以获取多个软件的代码存储路径,包括:

对所述调用请求进行结构划分,以获取所述调用请求的请求体;

对所述请求体进行内容解析,得到多个软件的代码存储路径。

可选地,所述根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合,包括:

根据所述代码存储路径查询出所述多个软件的代码;

分别对所述多个软件的代码进行代码进行打包,得到多个代码块;

利用预设的矩阵块对所述代码块进行矩阵解码运算,得到代码集合。

可选地,所述根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合,包括:

构建多个包含初始化参数的数据接口;

将所述代码存储路径进行参数转换,得到多个路径参数;

分别利用所述多个路径参数对所述数据接口进行参数赋值,得到多个数据调用接口;

将所述多个数据调用接口进行接口聚合,得到聚合数据接口;

利用所述聚合数据接口对所述多个软件的代码进行分布式提取,得到代码集合。

可选地,所述将所述多个数据调用接口进行接口聚合,得到聚合数据接口,包括:

获取接口聚合类和调用方法类;

将所述调用方法类添加至所述多个数据调用接口,得到多个统一方法接口;

利用所述接口聚合类对所述多个统一方法接口进行接口聚合,得到聚合数据接口。

可选地,所述对所述代码集合中每一个软件的代码进行编译,得到开发文件集合之后,还包括:

构建可视化界面;

将所述开发文件集合进行可视化处理,得到包含所述开发文件集合的可视化界面。

可选地,所述提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件,包括:

对所述导出需求进行文本识别,得到文本内容;

对所述文本内容进行字段提取,得到目标字段;

对所述目标字段进行语义解析,得到导出地址和文件名;

根据所述文件名从所述开发文件集合中选取目标开发文件。

为了解决上述问题,本发明还提供一种开发文件导出装置,所述装置包括:

请求解析模块,用于获取软件代码的调用请求,解析所述调用请求以获取多个软件的代码存储路径;

代码提取模块,用于根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合;

代码编译模块,用于对所述代码集合中每一个软件的代码进行编译,得到开发文件集合;

需求分析模块,用于获取导出需求,提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件;

文件导出模块,用于将所述目标开发文件整合编译为待导出开发文件,并将所述待导出开发文件导出至所述导出地址。

为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:

存储器,存储至少一个指令;及

处理器,执行所述存储器中存储的指令以实现上述所述的开发文件导出方法。

为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的开发文件导出方法。

本发明实施例通过解析获取的调用请求以获取多个软件的代码存储路径,可保证后续生成的可开发文件中代码的可运行性;根据代码存储路径对多个软件的代码进行分布式提取,得到代码集合,避免了对多个软件代码的逐个提取,有利于提高获取代码集合的效率,进而提高开发文件的导出效率;将代码集合中每一个软件的代码编译为开发文件集合,根据导出需求选取相应的开发文件进行整合编译并导出,避免了将生成的所有开发文件的统一导出,且将多个开发文件整合编译为一份待导出文件,以便于将多份用户需求的开发文件的一次性导出,有利于提高开发文件的导出效率。因此本发明提出的开发文件导出方法、装置、电子设备及计算机可读存储介质,可以解决开发文件的导出效率低下的问题。

附图说明

图1为本发明一实施例提供的开发文件导出方法的流程示意图;

图2为本发明一实施例提供的分布式提取的流程示意图;

图3为本发明一实施例提供的开发文件导出装置的功能模块图;

图4为本发明一实施例提供的实现所述开发文件导出方法的电子设备的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本申请实施例提供一种开发文件导出方法。所述开发文件导出方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述开发文件导出方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。

参照图1所示,为本发明一实施例提供的开发文件导出方法的流程示意图。在本实施例中,所述开发文件导出方法包括:

S1、获取软件代码的调用请求,解析所述调用请求以获取多个软件的代码存储路径。

本发明实施例中,所述调用请求可以为用于调用软件的代码的请求。例如,调用购物软件中支持货源发布功能的代码的请求,调用支付软件中人脸识别功能的代码的请求。

本发明其中一实施例中,所述调用请求可由用户上传。例如,用户通过用户端中预先安装的可用于手机用户调用请求的软件上传所述调用请求,或者,用户通过在预设的网页中输入插叙请求的关键字,以生成与所述关键字相对应的调用请求。

本发明实施例中,可利用解析器等具有请求解析功能的工具对获取的调用请求进行解析,以获取所述调用请求中包含的多个软件的代码存储路径。

详细地,所述解析所述调用请求以获取多个软件的代码存储路径,包括:

对所述调用请求进行结构划分,以获取所述调用请求的请求体;

对所述请求体进行内容解析,得到多个软件的代码存储路径。

具体地,调用请求由请求头与请求体构成,请求体中记载有需要调用的数据的详细信息(数据名称、存储路径等),本发明实施例通过对调用请求进行结构划分,可实现从调用请求中分离出所述请求体,并利用预设的解析器对所述请求体进行内容解析,以获取该请求体中记载的多个软件的代码存储路径。

S2、根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合。

本发明一个实际应用场景中,由于多个软件可能分布于不同的计算机或计算机集群中,或者,多个软件分布在同一计算机或计算机集群的不同存储区域中,若分别对多个软件的代码进行逐个提取,会导致获取代码的效率低下。因此,需要对多个软件的代码进行分布式提取,以实现对多个软件的代码进行同步获取,提高获取代码集合的效率,进而提高开发文件的导出效率。

本发明实施例中,可采用聚合数据接口来实现对多个软件的代码进行分布式提取。例如,依据代码存储路径分别构建可对每个路径下代码进行调用的多个数据接口,并将多个数据接口聚合为聚合数据接口,以实现利用该聚合数据接口同步地对多个软件的代码进行分布式提取,得到代码集合。

本发明其中一个实施例中,还可采用预先构建的矩阵块实现对多个软件的代码进行分布式提取,得到代码集合,其中,所述矩阵块为可实现对代码数据进行编码或解码的计算机矩阵。

详细地,所述根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合,包括:

根据所述代码存储路径查询出所述多个软件的代码;

分别对所述多个软件的代码进行代码进行打包,得到多个代码块;

利用预设的矩阵块对所述代码块进行矩阵解码运算,得到代码集合。

例如,存在软件A,根据软件A的存储路径对软件A的代码进行了打包,生成含有软件A代码的代码块,该代码块为聚合了软件A所有代码的编码数据块,不具有可读性,因此,利用矩阵块对该代码块进行矩阵解码运算,以实现将代码块中软件A的代码进行解码,得到代码集合。

利用矩阵块实现对多个软件的代码进行分布式提取,有利于提高获取的代码集合中各软件的代码的完整性。

本发明另一实施例中,参图2所示,所述根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合,包括:

S21、构建多个包含初始化参数的数据接口;

S22、将所述代码存储路径进行参数转换,得到多个路径参数;

S23、分别利用所述多个路径参数对所述数据接口进行参数赋值,得到多个数据调用接口;

S24、将所述多个数据调用接口进行接口聚合,得到聚合数据接口;

S25、利用所述聚合数据接口对所述多个软件的代码进行分布式提取,得到代码集合。

详细地,可利用具有数据调用接口创建功能的计算机语句实现多个初始化参数的数据接口的创建,例如,使用java语言中的interface类来实现数据接口的创建。

具体地,所述将所述代码存储路径进行参数转换,即将所述代码存储路径利用编码等方式转换为计算机可读的二进制代码,进而得到二进制代码形式的多个路径参数,分别利用获取的多个路径参数对多个包含初始化参数的数据接口进行参数赋值,得到可对多个软件的代码进行调用的数据接口。

进一步地,所述将所述多个数据调用接口进行接口聚合,得到聚合数据接口,包括:

获取接口聚合类和调用方法类;

将所述调用方法类添加至所述多个数据调用接口,得到多个统一方法接口;

利用所述接口聚合类对所述多个统一方法接口进行接口聚合,得到聚合数据接口。

详细地,所述接口聚合类为java语言或python语言等计算机语言中用于将数据接口进行聚合的类,所述调用方法类是数据接口实现对数据进行调用的类,由于需要将多个数据调用接口聚合为聚合数据接口,因此,需要将该调用方法类添加至多个数据调用接口,实现多个数据接口调用数据的调用方法类的统一,以便于聚合而成的聚合数据接口利用该调用方法类实现对多个软件的代码的同步调用。

本发明实施例通过对多个软件的代码进行分布式提取,得到代码集合,可提高获取代码集合的效率,进而提高开发文件的导出效率。

S3、对所述代码集合中每一个软件的代码进行编译,得到开发文件集合。

本发明一个实际应用场景中,由于代码集合中的代码均为可读形式,但不具有可执行性,因此需要对所述代码集合中每一个软件的代码进行编译,得到可供计算机执行的开发文件集合。

详细地,所述开发文件集合中包含至少一个开发文件,所述开发文件为可供执行,并实现该开发文件对应的软件的相应功能的程序文件(例如:Android中的arr文件)。

本发明实施例中,可利用gradle平台中的assemble task工具对代码集合中每一个软件的代码进行编译,得到开发文件集合。

详细地,所述gradle平台是一种轻便、快捷的脚本工具,gradle工具具中包含的assemble task工具可通过将代码集合中的代码进行二进制转换,以实现将代码集合中不具有可执行性的代码编译为多个软件对应的开发文件。

利用gradle平台中的assemble task工具的轻便性,可提高对代码进行编译的效率。

本发明另一实施例中,还可采用预设的编译器对所述代码集合中每一个软件的代码进行编译,得到开发文件集合,所述编译器包括但不限于:Visual Studio编译器、Dev C++编译器、IDE编译器。

本发明实施例中,所述对所述代码集合中每一个软件的代码进行编译,得到开发文件集合之后,还包括:

构建可视化界面;

将所述开发文件集合进行可视化处理,得到包含所述开发文件集合的可视化界面。

详细地,可利用maven项目管理工具中可视化界面的创建选项来实现构建可视化界面,并将所述开发文件集合中每一个开发文件以单独的可视化图标或可视化表格的形式进行可视化处理,并存储于创建的可视化界面中。

将开发文件集合进行可视化处理,有利于用户根据需求进行个性化的开发文件选取,实现个性化的开发文件的导出,并且,利用maven项目管理工具对开发文件集合中开发文件进行统一管理,有利于提高用户导出开发文件的效率。

S4、获取导出需求,提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件。

本发明实施例中,所述导出需求可由用户上传,例如,用户上传具有开发文件导出功能的计算机语句,通过对该计算机语句的分析,进而提取出导出需求中的导出地址,并从所述开发文件集合中选取与该计算机语句对应的目标开发文件,其中,导出地址是指该开发文件导出后存储的地址。

或者,可采用具有数据抓取功能的python语句从预先构建的区块链节点中抓取预先存储的导出需求,利用区块链节点的高吞吐性,可提高获取所述导出需求的效率。

详细地,可采用与步骤S1中解析所述调用请求的手段,来实现对该计算机语句的分析,以提取该计算机语句中的导出地址,并从所述开发文件集合中选取与该计算机语句对应的目标开发文件。

本发明一实际应用场景中,用户往往使用文本形式进行表达或图像形式对导出需求进行上传,因此,需要对所述导出需求进行分析,以实现从所述开发文件集合中选取与使用文件表达的该导出需求对应的目标开发文件。

本发明一实施例中,所述提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件,包括:

对所述导出需求进行文本识别,得到文本内容;

对所述文本内容进行字段提取,得到目标字段;

对所述目标字段进行语义解析,得到导出地址和文件名;

根据所述文件名从所述开发文件集合中选取目标开发文件。

详细地,可针对不同形式的导出需求进行不同的处理,例如,对于文本形式的导出需求,可利用Microsoft Offic等具有文件处理功能的软件进行文本识别,得到该导出需求的文本内容;对于图像形式的导出需求,可利用OCR模型等具有图像内容识别功能的智能模型进行文本识别,得到该导出需求的文本内容。

具体地,可采用预设的正则表达式对所述文本内容进行字段提取,以获取按照一定规则进行显示的目标字段,例如,利用预先构建的正则表达式获取文本内容中以“导出至xxx”形式进行显示的用于表达导出地址的目标字段。

进一步地,可采用NLP、LDA等具有语义解析功能的模型对弥补字段进行语义解析,以实现根据目标字段获取目标开发文件的导出地址和文件名。

详细地,当获取所述文件名后,即可根据所述文件名从开发文件集合中选取与所述文件名一致的目标开发文件。

本发明实施例获取导出需求,提取导出需求中的导出地址,以及根据导出需求从开发文件集合中选取目标开发文件,可实现根据导出需求进行个性化的开发文件的导出,且避免了将开发文件的统一导出,有利于提高开发文件的导出效率。

S5、将所述目标开发文件整合编译为待导出开发文件,并将所述待导出开发文件导出至所述导出地址。

本发明实施例中,可通过预设的打包工具将目标开发文件整合编译为可一次性传输的待导出开发文件,进而将整合编译得到的带导出开发文件导出至所述导出地址。

详细地,所述打包工具包括但不限于ExeCreator文件打包器、MYPACKER文件打包器等,利用所述打包工具可实现将多个开发文件整合编译为一份待导出文件,以便于将多份开发文件的一次性导出。

本发明实施例通过解析获取的调用请求以获取多个软件的代码存储路径,可保证后续生成的可开发文件中代码的可运行性;根据代码存储路径对多个软件的代码进行分布式提取,得到代码集合,避免了对多个软件代码的逐个提取,有利于提高获取代码集合的效率,进而提高开发文件的导出效率;将代码集合中每一个软件的代码编译为开发文件集合,根据导出需求选取相应的开发文件进行整合编译并导出,避免了将生成的所有开发文件的统一导出,且将多个开发文件整合编译为一份待导出文件,以便于将多份用户需求的开发文件的一次性导出,有利于提高开发文件的导出效率。因此本发明提出的开发文件导出方法,可以解决开发文件的导出效率低下的问题。

如图3所示,是本发明一实施例提供的开发文件导出装置的功能模块图。

本发明所述开发文件导出装置100可以安装于电子设备中。根据实现的功能,所述开发文件导出装置100可以包括请求解析模块101、代码提取模块102、代码编译模块103、需求分析模块104及文件导出模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。

在本实施例中,关于各模块/单元的功能如下:

所述请求解析模块101,用于获取软件代码的调用请求,解析所述调用请求以获取多个软件的代码存储路径。

本发明实施例中,所述调用请求可以为用于调用软件的代码的请求。例如,调用购物软件中支持货源发布功能的代码的请求,调用支付软件中人脸识别功能的代码的请求。

本发明其中一实施例中,所述调用请求可由用户上传。例如,用户通过用户端中预先安装的可用于手机用户调用请求的软件上传所述调用请求,或者,用户通过在预设的网页中输入插叙请求的关键字,以生成与所述关键字相对应的调用请求。

本发明实施例中,可利用解析器等具有请求解析功能的工具对获取的调用请求进行解析,以获取所述调用请求中包含的多个软件的代码存储路径。

详细地,所述请求解析模块101具体用于:

获取软件代码的调用请求;

对所述调用请求进行结构划分,以获取所述调用请求的请求体;

对所述请求体进行内容解析,得到多个软件的代码存储路径。

具体地,调用请求由请求头与请求体构成,请求体中记载有需要调用的数据的详细信息(数据名称、存储路径等),本发明实施例通过对调用请求进行结构划分,可实现从调用请求中分离出所述请求体,并利用预设的解析器对所述请求体进行内容解析,以获取该请求体中记载的多个软件的代码存储路径。

所述代码提取模块102,用于根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合。

本发明一个实际应用场景中,由于多个软件可能分布于不同的计算机或计算机集群中,或者,多个软件分布在同一计算机或计算机集群的不同存储区域中,若分别对多个软件的代码进行逐个提取,会导致获取代码的效率低下。因此,需要对多个软件的代码进行分布式提取,以实现对多个软件的代码进行同步获取,提高获取代码集合的效率,进而提高开发文件的导出效率。

本发明实施例中,可采用聚合数据接口来实现对多个软件的代码进行分布式提取。例如,依据代码存储路径分别构建可对每个路径下代码进行调用的多个数据接口,并将多个数据接口聚合为聚合数据接口,以实现利用该聚合数据接口同步地对多个软件的代码进行分布式提取,得到代码集合。

本发明其中一个实施例中,还可采用预先构建的矩阵块实现对多个软件的代码进行分布式提取,得到代码集合,其中,所述矩阵块为可实现对代码数据进行编码或解码的计算机矩阵。

详细地,所述代码提取模块102具体用于:

根据所述代码存储路径查询出所述多个软件的代码;

分别对所述多个软件的代码进行代码进行打包,得到多个代码块;

利用预设的矩阵块对所述代码块进行矩阵解码运算,得到代码集合。

例如,存在软件A,根据软件A的存储路径对软件A的代码进行了打包,生成含有软件A代码的代码块,该代码块为聚合了软件A所有代码的编码数据块,不具有可读性,因此,利用矩阵块对该代码块进行矩阵解码运算,以实现将代码块中软件A的代码进行解码,得到代码集合。

利用矩阵块实现对多个软件的代码进行分布式提取,有利于提高获取的代码集合中各软件的代码的完整性。

本发明另一实施例中,所述代码提取模块102具体用于:

构建多个包含初始化参数的数据接口;

将所述代码存储路径进行参数转换,得到多个路径参数;

分别利用所述多个路径参数对所述数据接口进行参数赋值,得到多个数据调用接口;

将所述多个数据调用接口进行接口聚合,得到聚合数据接口;

利用所述聚合数据接口对所述多个软件的代码进行分布式提取,得到代码集合。

详细地,可利用具有数据调用接口创建功能的计算机语句实现多个初始化参数的数据接口的创建,例如,使用java语言中的interface类来实现数据接口的创建。

具体地,所述将所述代码存储路径进行参数转换,即将所述代码存储路径利用编码等方式转换为计算机可读的二进制代码,进而得到二进制代码形式的多个路径参数,分别利用获取的多个路径参数对多个包含初始化参数的数据接口进行参数赋值,得到可对多个软件的代码进行调用的数据接口。

进一步地,所述将所述多个数据调用接口进行接口聚合,得到聚合数据接口,包括:

获取接口聚合类和调用方法类;

将所述调用方法类添加至所述多个数据调用接口,得到多个统一方法接口;

利用所述接口聚合类对所述多个统一方法接口进行接口聚合,得到聚合数据接口。

详细地,所述接口聚合类为java语言或python语言等计算机语言中用于将数据接口进行聚合的类,所述调用方法类是数据接口实现对数据进行调用的类,由于需要将多个数据调用接口聚合为聚合数据接口,因此,需要将该调用方法类添加至多个数据调用接口,实现多个数据接口调用数据的调用方法类的统一,以便于聚合而成的聚合数据接口利用该调用方法类实现对多个软件的代码的同步调用。

本发明实施例通过对多个软件的代码进行分布式提取,得到代码集合,可提高获取代码集合的效率,进而提高开发文件的导出效率。

所述代码编译模块103,用于对所述代码集合中每一个软件的代码进行编译,得到开发文件集合。

本发明一个实际应用场景中,由于代码集合中的代码均为可读形式,但不具有可执行性,因此需要对所述代码集合中每一个软件的代码进行编译,得到可供计算机执行的开发文件集合。

详细地,所述开发文件集合中包含至少一个开发文件,所述开发文件为可供执行,并实现该开发文件对应的软件的相应功能的程序文件(例如:Android中的arr文件)。

本发明实施例中,可利用gradle平台中的assemble task工具对代码集合中每一个软件的代码进行编译,得到开发文件集合。

详细地,所述gradle平台是一种轻便、快捷的脚本工具,gradle工具具中包含的assemble task工具可通过将代码集合中的代码进行二进制转换,以实现将代码集合中不具有可执行性的代码编译为多个软件对应的开发文件。

利用gradle平台中的assemble task工具的轻便性,可提高对代码进行编译的效率。

本发明另一实施例中,还可采用预设的编译器对所述代码集合中每一个软件的代码进行编译,得到开发文件集合,所述编译器包括但不限于:Visual Studio编译器、Dev C++编译器、IDE编译器。

本发明实施例中,所述所述代码编译模块103对所述代码集合中每一个软件的代码进行编译,得到开发文件集合之后,还包括如下步骤:

构建可视化界面;

将所述开发文件集合进行可视化处理,得到包含所述开发文件集合的可视化界面。

详细地,可利用maven项目管理工具中可视化界面的创建选项来实现构建可视化界面,并将所述开发文件集合中每一个开发文件以单独的可视化图标或可视化表格的形式进行可视化处理,并存储于创建的可视化界面中。

将开发文件集合进行可视化处理,有利于用户根据需求进行个性化的开发文件选取,实现个性化的开发文件的导出,并且,利用maven项目管理工具对开发文件集合中开发文件进行统一管理,有利于提高用户导出开发文件的效率。

所述需求分析模块104,用于获取导出需求,提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件。

本发明实施例中,所述导出需求可由用户上传,例如,用户上传具有开发文件导出功能的计算机语句,通过对该计算机语句的分析,进而提取出导出需求中的导出地址,并从所述开发文件集合中选取与该计算机语句对应的目标开发文件,其中,导出地址是指该开发文件导出后存储的地址。

或者,可采用具有数据抓取功能的python语句从预先构建的区块链节点中抓取预先存储的导出需求,利用区块链节点的高吞吐性,可提高获取所述导出需求的效率。

详细地,可采用与步骤S1中解析所述调用请求的手段,来实现对该计算机语句的分析,以提取该计算机语句中的导出地址,并从所述开发文件集合中选取与该计算机语句对应的目标开发文件。

本发明一实际应用场景中,用户往往使用文本形式进行表达或图像形式对导出需求进行上传,因此,需要对所述导出需求进行分析,以实现从所述开发文件集合中选取与使用文件表达的该导出需求对应的目标开发文件。

本发明一实施例中,所述需求分析模块104具体用于:

对所述导出需求进行文本识别,得到文本内容;

对所述文本内容进行字段提取,得到目标字段;

对所述目标字段进行语义解析,得到导出地址和文件名;

根据所述文件名从所述开发文件集合中选取目标开发文件。

详细地,可针对不同形式的导出需求进行不同的处理,例如,对于文本形式的导出需求,可利用Microsoft Offic等具有文件处理功能的软件进行文本识别,得到该导出需求的文本内容;对于图像形式的导出需求,可利用OCR模型等具有图像内容识别功能的智能模型进行文本识别,得到该导出需求的文本内容。

具体地,可采用预设的正则表达式对所述文本内容进行字段提取,以获取按照一定规则进行显示的目标字段,例如,利用预先构建的正则表达式获取文本内容中以“导出至xxx”形式进行显示的用于表达导出地址的目标字段。

进一步地,可采用NLP、LDA等具有语义解析功能的模型对弥补字段进行语义解析,以实现根据目标字段获取目标开发文件的导出地址和文件名。

详细地,当获取所述文件名后,即可根据所述文件名从开发文件集合中选取与所述文件名一致的目标开发文件。

本发明实施例获取导出需求,提取导出需求中的导出地址,以及根据导出需求从开发文件集合中选取目标开发文件,可实现根据导出需求进行个性化的开发文件的导出,且避免了将开发文件的统一导出,有利于提高开发文件的导出效率。

所述文件导出模块105,用于将所述目标开发文件整合编译为待导出开发文件,并将所述待导出开发文件导出至所述导出地址。

本发明实施例中,可通过预设的打包工具将目标开发文件整合编译为可一次性传输的待导出开发文件,进而将整合编译得到的带导出开发文件导出至所述导出地址。

详细地,所述打包工具包括但不限于ExeCreator文件打包器、MYPACKER文件打包器等,利用所述打包工具可实现将多个开发文件整合编译为一份待导出文件,以便于将多份开发文件的一次性导出。

本发明实施例通过解析获取的调用请求以获取多个软件的代码存储路径,可保证后续生成的可开发文件中代码的可运行性;根据代码存储路径对多个软件的代码进行分布式提取,得到代码集合,避免了对多个软件代码的逐个提取,有利于提高获取代码集合的效率,进而提高开发文件的导出效率;将代码集合中每一个软件的代码编译为开发文件集合,根据导出需求选取相应的开发文件进行整合编译并导出,避免了将生成的所有开发文件的统一导出,且将多个开发文件整合编译为一份待导出文件,以便于将多份用户需求的开发文件的一次性导出,有利于提高开发文件的导出效率。因此本发明提出的开发文件导出装置,可以解决开发文件的导出效率低下的问题。

如图4所示,是本发明一实施例提供的实现开发文件导出方法的电子设备的结构示意图。

所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如开发文件导出程序12。

其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如开发文件导出程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如开发文件导出程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。

所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。

图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。

可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。

应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。

所述电子设备1中的所述存储器11存储的开发文件导出程序12是多个指令的组合,在所述处理器10中运行时,可以实现:

获取软件代码的调用请求,解析所述调用请求以获取多个软件的代码存储路径;

根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合;

对所述代码集合中每一个软件的代码进行编译,得到开发文件集合;

获取导出需求,提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件;

将所述目标开发文件整合编译为待导出开发文件,并将所述待导出开发文件导出至所述导出地址。

具体地,所述处理器10对上述指令的具体实现方法可参考图1至图4对应实施例中相关步骤的描述,在此不赘述。

进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。

本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:

获取软件代码的调用请求,解析所述调用请求以获取多个软件的代码存储路径;

根据所述代码存储路径对所述多个软件的代码进行分布式提取,得到代码集合;

对所述代码集合中每一个软件的代码进行编译,得到开发文件集合;

获取导出需求,提取所述导出需求中的导出地址,以及根据所述导出需求从所述开发文件集合中选取目标开发文件;

将所述目标开发文件整合编译为待导出开发文件,并将所述待导出开发文件导出至所述导出地址。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 开发文件导出方法、装置、电子设备及计算机存储介质
  • 一种导出excel文件的方法、装置、电子设备及存储介质
技术分类

06120112986726