CN113568620A - 一种代码文件处理方法、装置、设备及介质 - Google Patents

一种代码文件处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN113568620A
CN113568620A CN202110664132.4A CN202110664132A CN113568620A CN 113568620 A CN113568620 A CN 113568620A CN 202110664132 A CN202110664132 A CN 202110664132A CN 113568620 A CN113568620 A CN 113568620A
Authority
CN
China
Prior art keywords
code file
code
files
file
currently traversed
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.)
Granted
Application number
CN202110664132.4A
Other languages
English (en)
Other versions
CN113568620B (zh
Inventor
陈煜�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Huacheng Software Technology Co Ltd
Original Assignee
Hangzhou Huacheng Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Huacheng Software Technology Co Ltd filed Critical Hangzhou Huacheng Software Technology Co Ltd
Priority to CN202110664132.4A priority Critical patent/CN113568620B/zh
Publication of CN113568620A publication Critical patent/CN113568620A/zh
Application granted granted Critical
Publication of CN113568620B publication Critical patent/CN113568620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及计算机技术领域,提供一种代码文件处理方法、装置、设备及介质,用于解决打包过程中准确性较低的问题。该方法包括:获取第一代码文件包的各个代码文件,若代码文件为业务发生变化时无需更改的代码文件,则基于代码文件的路径,确定出代码文件的标识,若代码文件为业务发生变化时需要更改的代码文件,基于该代码文件的哈希表示,可以准确地确定出代码文件的标识,进而准确找到对应的代码文件,最终基于各个代码文件,以及各个代码文件各自对应的标识,生成第二代码文件包。相较于仅采用路径确定代码文件的方式,本申请实施例在将第一代码文件包打包为第二代码文件包的过程中,可以提高确定各个代码文件的准确性,进而提高打包的准确性。

Description

一种代码文件处理方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种代码文件处理方法、装置、设备及介质。
背景技术
随着计算机技术的不断发展,逐渐出现了多种代码开发平台和运行平台,但代码开发平台开发出的代码文件包可能在运行平台上无法直接运行,这时,则需要对代码文件包进行打包。React Native是目前应用最为广泛的跨平台技术框架之一,开发者只需编写一套JavaScript代码就可以同时在安卓、苹果等平台上运行相应的应用程序。有的用户编写的代码文件包并不是JavaScript代码,此时需要通过相应的打包工具,将该代码文件包打包为React Native环境能够运行的JavaScript代码。打包过程中需要将编写的代码文件包拆分为多个代码文件,并对这多个代码文件进行标识,基于代码文件的标识才能找到对应的代码文件,打包生成React Native能够运行的代码文件包。
目前,一般采用代码文件的绝对路径来标识代码文件,然而在相同路径下可能存在多个代码文件,仅通过绝对路径无法准确地确定出对应的代码文件,进而影响打包的准确性。
发明内容
本申请实施例提供一种代码文件处理方法、装置、设备及介质,用于提高打包的准确性。
第一方面,本申请实施例提供一种代码文件处理方法,包括:
获取第一代码文件包,其中,所述第一代码文件包包括各个代码文件,所述第一代码文件用于实现相应的业务;
分别确定所述各个代码文件各自的标识,其中,若代码文件为第一类型,则基于代码文件的路径,确定代码文件的标识,若代码文件为第二类型,基于代码文件的哈希表示,确定代码文件的标识,其中,所述哈希表示是采用预设的哈希算法对代码文件的内容进行计算得到的,所述第一类型是指所述业务发生变化时无需更改的代码文件,所述第二类型是指所述业务发生变化时需要更改的代码文件;
基于所述各个代码文件,以及所述各个代码文件各自对应的标识,生成第二代码文件包。
本申请实施例中,针对业务发生变化时需要更改的代码文件,通过哈希表示确定代码文件的标识,哈希表示是采用预设的哈希算法对代码文件的内容进行计算得到的,不同业务的代码文件的哈希表示是不同的,可以避免在相同路径下存在多个代码文件时,根据路径无法准确地确定出对应的代码文件的问题。针对业务发生变化时无需更改的代码文件,可以采用路径确定代码文件的标识,可以避免打包工具的版本变化引起的哈希表示不一致的问题。因此,本申请实施例根据第一代码文件包中各个代码文件所属的类型不同,采用不同的方式确定代码文件的标识,能够准确地确定出不同类型的代码文件的标识,进而基于标识准确找到对应的各个代码文件,生成第二代码文件包的准确性会更高,从而提高打包的准确性。
在一种可能的实施例中,分别确定所述各个代码文件各自的标识,包括:
确定所述第一代码文件包的索引表,其中,所述索引表包括所述各个代码文件中每个代码文件的对应关系,所述对应关系为代码文件的路径、代码文件的哈希表示、以及代码文件的标识三者之间的关联关系;
基于所述索引表,分别确定所述各个代码文件各自的标识。
本申请实例中,索引表包括各个代码文件的路径、代码文件的哈希表示、以及代码文件的标识三者之间的关联关系,基于索引表,可以通过路径确定代码文件的标识,也可以通过哈希表示确定代码文件的标识,确定代码文件的标识的方式更加灵活。
在一种可能的实施例中,所述索引表包括第一索引分表和第二索引分表,所述第一索引分表包括所述第一类型的代码文件的路径、所述第一类型的代码文件的哈希表示、以及所述第一类型的代码文件的标识之间的关联关系,所述第二索引分表包括所述第二类型的代码文件的路径、所述第二类型的代码文件的哈希表示、以及所述第二类型的代码文件的标识之间的关联关系;
基于所述索引表,分别确定所述各个代码文件各自的标识,包括:
若所述各个代码文件中的任一代码文件为所述第一类型,则基于所述任一代码文件的路径,从所述第一索引分表中,确定所述路径对应的标识;
若所述各个代码文件中的任一代码文件为所述第二类型,则基于所述任一代码文件的哈希表示,从所述第二索引分表中,确定所述哈希表示对应的标识。
本申请实例中,索引表包括两个索引分表,若代码文件为第一类型,从第一索引分表中,确定该代码文件的路径对应的标识,若代码文件为第二类型,从第二索引分表中,确定该代码文件的哈希表示对应的标识,从对应的索引表中检索代码文件的标识,可以减少检索的数据量,提高处理效率。
在一种可能的实施例中,确定所述第一代码文件包的索引表,包括:
基于所述第一代码文件包中的各个代码文件之间的依赖关系,获得依赖图;
遍历所述依赖图中的各个代码文件,直到遍历完所述依赖图中的各个代码文件,获得索引表,其中每次遍历包括以下过程:
若所述索引表中未记录当前遍历的代码文件的标识,则生成所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识,并将所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识之间的关联关系写入所述索引表;
若所述索引表已记录当前遍历的代码文件的标识,则遍历所述依赖图中的下一个代码文件。
本申请实例中,若索引表中未记录当前遍历的代码文件的标识,将当前遍历的代码文件的路径、哈希表示、以及标识之间的关联关系写入索引表,若索引表已记录当前遍历的代码文件的标识,则遍历依赖图中的下一个代码文件,可以避免将重复的关联关系写入索引表中,相对减少写入索引表的数据量。
在一种可能的实施例中,所述遍历所述依赖图中的各个代码文件,包括:
按照所述依赖图中的各个代码文件,在所述依赖图中出现的从先到后的顺序,依次遍历;
生成所述当前遍历的代码文件的标识,包括:
基于所述当前遍历的代码文件所属的类型标识,以及所述当前遍历的代码文件在所述依赖图中的出现序号,生成所述当前遍历的代码文件的标识。
本申请实例中,基于当前遍历的代码文件所属的类型标识,以及当前遍历的代码文件在依赖图中的出现序号,生成标识,这种生成标识的方式可以方便区分当前遍历的代码文件所属的类型,且生成的标识的长度较短,可以减少后续基于标识生成的文件包的大小。
在一种可能的实施例中,所述第一代码文件包包括第一代码文件子包,所述第一代码文件子包包括所述第一类型的代码文件;
基于所述第一代码文件包中各个代码文件之间的依赖关系,获得依赖图,包括:
基于所述第一代码文件子包,确定所述第一代码文件子包中的各个代码文件之间的依赖关系,获得第一依赖子图;
基于所述第一代码文件包,确定所述第一代码文件包中的各个代码文件之间的依赖关系,获得第二依赖子图;
基于所述第一依赖子图,确定所述第一索引分表;
基于所述第二依赖子图,以及所述第一索引分表,确定所述第二索引分表。
本申请实例中,第一索引分表是基于第一代码文件子包的第一依赖子图确定的,由于第一代码文件子包包括业务发生变化时无需更改的代码文件,因此,本申请实例中确定的第一索引分表涉及的代码文件是固定的,后续业务发生变化时,无需重复确定第一索引分表,可以直接使用第一索引分表,进一步提高处理效率。
在一种可能的实施例中,根据所述第二依赖子图,以及所述第一索引分表,确定第二索引分表,包括:
遍历所述第二依赖子图中的各个代码文件,直到遍历完所述第二依赖子图中的各个代码文件,获得第二索引分表,其中每次遍历包括以下过程:
若所述第一索引分表没有记录当前遍历的代码文件的标识,则生成所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识,并将所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识之间的关联关系写入第二索引分表;
若所述第一索引分表已记录当前遍历的代码文件的路径,则遍历所述第二依赖子图中的下一个代码文件。
第二方面,提供一种代码文件处理装置,所述装置包括:
获取模块,用于获取第一代码文件包,其中,所述第一代码文件包包括各个代码文件,所述第一代码文件用于实现相应的业务;
确定模块,用于分别确定所述各个代码文件各自的标识,其中,若代码文件为第一类型,则基于代码文件在所述第一代码文件包中的路径,确定代码文件的标识,若代码文件为第二类型,基于代码文件的哈希表示,确定代码文件的标识,其中,所述哈希表示是采用预设的哈希算法对代码文件的内容进行计算得到的,所述第一类型是指所述业务发生变化时无需更改的代码文件,所述第二类型是指所述业务发生变化时需要更改的代码文件;
生成模块,用于基于所述各个代码文件,以及所述各个代码文件各自对应的标识,生成第二代码文件包。
在一种可能的实施例中,所述确定模具体用于:
确定所述第一代码文件包的索引表,其中,所述索引表包括所述各个代码文件中每个代码文件的对应关系,所述对应关系为代码文件的路径、代码文件的哈希表示、以及代码文件的标识三者之间的关联关系;
基于所述索引表,分别确定所述各个代码文件各自的标识。
在一种可能的实施例中,所述索引表包括第一索引分表和第二索引分表,所述第一索引分表包括所述第一类型的代码文件的路径、所述第一类型的代码文件的哈希表示、以及所述第一类型的代码文件的标识之间的关联关系,所述第二索引分表包括所述第二类型的代码文件的路径、所述第二类型的代码文件的哈希表示、以及所述第二类型的代码文件的标识之间的关联关系;所述确定模块具体用于:
若所述各个代码文件中的任一代码文件为所述第一类型,则基于所述任一代码文件的路径,从所述第一索引分表中,确定所述路径对应的标识;
若所述各个代码文件中的任一代码文件为所述第二类型,则基于所述任一代码文件的哈希表示,从所述第二索引分表中,确定所述哈希表示对应的标识。
在一种可能的实施例中,所述确定模块具体用于:
基于所述第一代码文件包中的各个代码文件之间的依赖关系,获得依赖图;
遍历所述依赖图中的各个代码文件,直到遍历完所述依赖图中的各个代码文件,获得索引表,其中每次遍历包括以下过程:
若所述索引表中未记录当前遍历的代码文件的标识,则生成所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识,并将所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识之间的关联关系写入所述索引表;
若所述索引表已记录当前遍历的代码文件的标识,则遍历所述依赖图中的下一个代码文件。
在一种可能的实施例中,所述装置包括遍历模块,所述遍历模块用于:
按照所述依赖图中的各个代码文件,在所述依赖图中出现的从先到后的顺序,依次遍历;
所述生成模块具体用于:
基于所述当前遍历的代码文件所属的类型标识,以及所述当前遍历的代码文件在所述依赖图中的出现序号,生成所述当前遍历的代码文件的标识。
在一种可能的实施例中,所述第一代码文件包包括第一代码文件子包,所述第一代码文件子包包括所述第一类型的代码文件;所述确定模块具体用于:
基于所述第一代码文件子包,确定所述第一代码文件子包中的各个代码文件之间的依赖关系,获得第一依赖子图;
基于所述第一代码文件包,确定所述第一代码文件包中的各个代码文件之间的依赖关系,获得第二依赖子图;
基于所述第一依赖子图,确定所述第一索引分表;
基于所述第二依赖子图,以及所述第一索引分表,确定所述第二索引分表。
在一种可能的实施例中,所述确定模块具体用于:
遍历所述第二依赖子图中的各个代码文件,直到遍历完所述第二依赖子图中的各个代码文件,获得第二索引分表,其中每次遍历包括以下过程:
若所述第一索引分表没有记录当前遍历的代码文件的标识,则生成所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识,并将所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识之间的关联关系写入第二索引分表;
若所述第一索引分表已记录当前遍历的代码文件的路径,则遍历所述第二依赖子图中的下一个代码文件。
第三方面,提供一种代码文件处理设备,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任一项所述的方法。
第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
附图说明
图1为本申请实施例提供的一种代码文件处理方法的应用场景图;
图2为本申请实施例提供的一种代码文件处理方法的流程图;
图3为本申请实施例提供的一种代码文件处理装置的结构图;
图4为本申请实施例提供的一种代码文件处理设备的结构图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
为了解决打包过程中准确性较低的问题,本申请实施例提供一种代码文件处理方法,该方法可以由代码文件处理设备执行,为了简化描述,下文中将代码文件处理设备简称为处理设备。处理设备可以通过终端或服务器实现,终端例如个人计算机、手机、或嵌入式设备等,服务器例如实体服务或虚拟服务器等。
下面对该代码文件处理方法的应用场景示意图进行说明。
请参照图1,为本申请实施例提供的代码文件处理方法的应用场景示意图,该应用场景包括:待处理的代码文件包110和处理设备120,图1中是以处理设备120为个人计算机为例,本申请对此不作限定。
处理设备120获取待处理的代码文件包110之后,获得代码文件包110中的各个代码文件,并分别确定各个代码文件各自对应的标识,最后基于各个代码文件,以及各个代码文件各自对应的标识,生成第二代码文件包。其中,确定各个代码文件的标识的过程将在下文中进行介绍。
基于图1论述的应用场景,下面以图1中处理设备执行代码文件处理方法为例进行介绍。请参照图2,为本申请实施例提供的一种代码文件处理方法的流程示意图,该流程示意图包括:
S210,获取第一代码文件包。
第一代码文件包用于实现相应的业务,可以是任意需要打包的代码文件。第一代码文件包包括各个代码文件,代码文件指的是存放程序代码的文件。代码文件的类型包括第一类型和第二类型。第一类型代码是指业务发生变化时无需更改的代码文件,即第一类型的代码文件是多种业务均可直接复用的,例如网络资源上共享的第三方依赖代码,是无需更改的。第二类型代码是指业务发生变化时需要更改的代码文件,即第二类型的代码文件随着业务不同而需要做出调整,例如根据指定业务需求编写的业务代码。
第一代码文件包包括第一代码文件子包,第一代码文件子包包括第一类型的代码文件,第一代码文件子包为平台运行所必须的的代码文件所形成的包,例如为基于ReactNative环境运行必须的代码文件所形成的包,第一代码文件子包也可以称为基础包。第一代码文件包也可以称为全量包。
当用户想要对第一代码文件包进行打包时,可以输入针对第一代码文件包的打包命令。处理设备接收针对第一代码文件包的打包命令,获取第一代码文件包,基于第一代码文件包中的各个代码文件之间的依赖关系,获得依赖图,并基于第一代码文件包的依赖图,从第一代码文件包中依次获取各个代码文件。
具体的,处理设备响应于第一代码文件包的打包命令,获取第一代码文件包中的第一代码文件,第一代码文件为第一代码文件包的入口文件,入口文件指访问第一代码文件包时第一个访问的文件,处理设备可以读取该入口文件,从而获取第一代码文件包中的其他代码文件。
基于第一代码文件与其他代码文件之间的依赖关系,获得第一代码文件包的依赖图,以及按照依赖图中各个代码文件出现的先后顺序,从第一代码文件包中依次获取各个代码文件,其中,其他代码文件是指第一代码文件包中除了第一代码文件之外的代码文件。
例如,处理设备根据第一代码文件,确定第一代码文件依赖的第二代码文件,根据第二代码文件,确定第二代码文件依赖的第三代码文件,通过递归遍历,获得第一代码文件包中各个代码文件之间的依赖关系,从而形成依赖图。处理设备在获得依赖图之后,先获取第一代码文件,再获取第二代码文件,接着第三代码文件,以此类推,依次获取第一代码文件包的各个代码文件。
S220,分别确定各个代码文件各自的标识。
处理设备在获得第一代码文件包之后,可以基于第一代码文件包的索引表可以分别确定各个代码文件各自的标识。其中,索引表包括各个代码文件中每个代码文件的对应关系,对应关系为代码文件的路径、代码文件的哈希表示、以及代码文件的标识三者之间的关联关系。代码文件的路径可以是绝对路径或相对路径。绝对路径为该代码文件在处理设备中的存储路径。相对路径为该代码文件在第一代码文件包中的路径。代码文件的哈希表示是指采用预设的哈希算法对该代码文件的内容进行哈希计算得到的,例如,哈希表示可以为任意长度的字符串,预设的哈希算法例如信息-摘要算法5(Message-DigestAlgorithm5,MD5)、安全哈希算法(Secure Hash Algorithm,SHA)等。代码文件的标识用于唯一标识该代码文件。
其中涉及到如何获得第一代码文件包的索引表,下面进行具体介绍:
处理设备按照依赖图中的各个代码文件,在依赖图中出现的从先到后的顺序,依次遍历,直到遍历完依赖图中的各个代码文件,获得索引表。其中每次遍历包括以下过程:
若索引表中没有记录当前遍历的代码文件的标识,则处理设备可以通过相应的命令,生成当前遍历的代码文件的路径,还可以采用预设的哈希算法对当前遍历的代码文件的内容进行计算,生成当前遍历的代码文件的哈希表示。
作为一种示例,可以将当前遍历的代码文件的路径或哈希表示作为当前遍历的代码文件的标识。或者,考虑到路径或哈希表示的字符串可能过长,直接将路径或哈希表示作为当前遍历的代码文件的标识,可能导致后续处理中生成的代码文件包过大。因此,本申请实施例中,处理设备还可以生成长度较短的标识,作为当前遍历的代码文件的标识。生成标识的方式有多种,下面进行示例介绍:
第一种,处理设备可以基于当前遍历的代码文件在依赖图中的出现序号,生成当前遍历的代码文件的标识,使标识的长度尽可能短。
例如,当前遍历的代码文件是依赖图中的第一代码文件时,第一代码文件的标识为“1”,当前遍历的代码文件是依赖图中的第一代码文件依赖的第二代码文件时,第二代码文件的标识为“2”。
第二种,处理设备可以基于当前遍历的代码文件所属的类型标识,以及当前遍历的代码文件在第一依赖子图中的出现序号,生成当前遍历的代码文件的标识,使得标识长度较短的同时,可以通过该标识区分当前遍历的代码文件所属的类型。
例如,第一类型的代码文件的标识为“base1”、“base2”等,第二类型的代码文件的标识为“business1”、“business2”等。
作为一种实施例,针对第二类型的代码文件,处理设备还可以基于当前遍历的代码文件的业务标识,以及当前遍历的代码文件在第一依赖子图中的出现序号,生成当前遍历的代码文件的标识,以便根据该代码文件的标识确定该代码文件的业务内容。
例如,若第一代码文件为第二类型中的发现业务,则第一代码文件的标识为“discover1”,若第二代码文件为第二类型中的支付业务,则第二代码文件的标识为“pay2”。
进一步,处理设备在获得当前遍历的代码文件的路径、当前遍历的代码文件的哈希表示、以及当前遍历的代码文件的标识之后,将三者之间的关联关系写入索引表。若索引表已记录当前遍历的代码文件的标识,则遍历下一个代码文件。
考虑到代码文件包对应的索引表中包含的信息较多,可能会影响后续查找索引表的效率,为此,在本申请实施例中索引表可以包括第一索引分表和第二索引分表,处理设备分别基于第一索引分表和第二索引分表,打包第一文件代码包。其中,第一索引分表包括第一类型的代码文件的路径、第一类型的代码文件的哈希表示、以及第一类型的代码文件的标识与之间的关联关系,第二索引分表包括第二类型的代码文件的路径、第二类型的代码文件的哈希表示、以及第二类型的代码文件的标识与之间的关联关系。
其中涉及到处理设备如何确定第一索引分表,下面进行介绍:
处理设备基于第一代码文件子包,确定第一代码文件子包中的各个代码文件之间的依赖关系,获得第一依赖子图。其中,获得第一依赖子图的具体方式请参照前文论述的获得依赖图的内容,此处不再赘述。处理设备根据第一依赖子图,确定第一索引分表。其中,确定第一索引分表的方式请参照前文论述的确定索引表的内容,此处不再赘述。
处理设备在确定第一索引分表之后,可以基于第一代码文件包,确定第一代码文件包中的各个代码文件之间的依赖关系,获得第二依赖子图。其中,获得第二依赖子图的具体方式请参照前文论述的获得依赖图的内容,此处不再赘述。以及根据第二依赖子图,以及第一索引分表,确定第二索引分表。下面对第二索引分表的确定方式进行介绍:
处理设备按照第二依赖子图中的各个代码文件,在第二依赖子图中出现的从先到后的顺序,依次遍历,直到遍历完第二依赖子图中的各个代码文件,获得第二索引表。其中,每次遍历包括以下过程:
若第一索引分表没有记录当前遍历的代码文件的标识,则生成当前遍历的代码文件的路径、当前遍历的代码文件的哈希表示、以及当前遍历的代码文件的标识,并将当前遍历的代码文件的路径、哈希表示、以及标识之间的关联关系写入第二索引分表。
若第一索引分表已记录当前遍历的代码文件的路径,则遍历第二依赖子图中的下一个代码文件。
本申请实施例中分别确定第一索引分表和第二索引分表,这样后续业务发生变化时只需要更新第二索引分表,相对减少处理设备的处理量。
处理设备在获得第一索引分表和第二索引分表之后,可以分别确定第一代码文件包的各个代码文件各自所属的类型。若代码文件属于指定文件夹,则确定该代码文件为第一类型,若代码文件不属于指定文件夹,则确定该代码文件为第二类型,并根据代码文件所属的类型,确定该代码文件的标识。
由于代码文件所属的类型不同,处理设备确定标识的方式也不同,下面分别进行介绍:
一,代码文件为第一类型。
考虑到第一类型的代码文件为业务变化时无需更改的代码文件,第一类型的代码文件的在第一代码文件包中的路径是固定的。因此,本申请实施例中,针对属于第一类型的代码文件,处理设备基于代码文件在第一代码文件包中的路径,从第一索引分表中,确定该路径对应的标识。其中,路径的生成方式请参照前文论述的内容,此处不再赘述。
二,代码文件为第二类型。
考虑到第二类型的代码文件为业务变化时需要更改的代码文件,不同业务的代码文件不同,但命名可能相同,则不同业务的代码文件在第一代码文件包中的路径可能是相同。因此,本申请实施例中,若第一代码文件包的各个代码文件中的任一代码文件为第二类型,则基于任一代码文件的哈希表示,从第二索引分表中,确定哈希表示对应的标识。其中,哈希表示的生成方式请参照前文论述的内容,此处不再赘述。
S230,基于各个代码文件,以及各个代码文件各自对应的标识,生成第二代码文件包。
处理设备获得了各个代码文件的标识之后,可以基于各个代码文件,以及各个代码文件各自对应的标识,生成第二代码文件包。第二代码文件包为运行平台可以运行的代码文件包,第二代码文件包例如为React Native环境可以运行的文件包,具体例如javascript包。
具体的,处理设备根据各个代码文件,以及各个代码文件各自对应的标识,获得第三代码文件包,第三代码文件包中每一行代码的内容包括:当前代码文件的标识、当前代码文件的内容、以及当前代码文件依赖的下一个代码文件的标识。例如,第三代码文件包中第一行代码内容为“第一代码文件的标识+第一代码文件的内容+第一代码文件依赖的第二代码文件的标识”。处理设备基于第三代码文件包中标识出现的顺序,对各个代码文件进行拼装,获得第二代码文件包。
作为一种实施例,处理设备通过metro打包工具提供的应用程序接口(Application Programming Interface,API)来实现代码文件处理方法,具体应用的是create ModuleId Factory和post Process Modules Filter这两个API。由于metro打包工具和React Native是一个公司出品的,metro打包工具的可靠性好,打包速度快,持续更新,支持React Native各个版本。因此,本申请实施例充分利用了官方推荐的打包工具的特性,拥有良好的向上兼容性。
基于同一发明构思,本申请实施例提供一种代码文件处理装置,请参照图3,该装置相当于设置在前文论述的处理设备120中,该装置包括:
获取模块301,用于获取第一代码文件包,其中,第一代码文件包包括各个代码文件,第一代码文件用于实现相应的业务;
确定模块302,用于分别确定各个代码文件各自的标识,其中,若代码文件为第一类型,则基于代码文件在第一代码文件包中的路径,确定代码文件的标识,若代码文件为第二类型,基于代码文件的哈希表示,确定代码文件的标识,其中,哈希表示是采用预设的哈希算法对代码文件的内容进行计算得到的,第一类型是指业务发生变化时无需更改的代码文件,第二类型是指业务发生变化时需要更改的代码文件;
生成模块303,用于基于各个代码文件,以及各个代码文件各自对应的标识,生成第二代码文件包。
在一种可能的实施例中,确定模块302具体用于:
确定第一代码文件包的索引表,其中,索引表包括各个代码文件中每个代码文件的对应关系,对应关系为代码文件的路径、代码文件的哈希表示、以及代码文件的标识三者之间的关联关系;
基于索引表,分别确定各个代码文件各自的标识。
在一种可能的实施例中,索引表包括第一索引分表和第二索引分表,第一索引分表包括第一类型的代码文件的路径、第一类型的代码文件的哈希表示、以及第一类型的代码文件的标识之间的关联关系,第二索引分表包括第二类型的代码文件的路径、第二类型的代码文件的哈希表示、以及第二类型的代码文件的标识之间的关联关系;确定模块302具体用于:
若各个代码文件中的任一代码文件为第一类型,则基于任一代码文件的路径,从第一索引分表中,确定路径对应的标识;
若各个代码文件中的任一代码文件为第二类型,则基于任一代码文件的哈希表示,从第二索引分表中,确定哈希表示对应的标识。
在一种可能的实施例中,确定模块302具体用于:
基于第一代码文件包中的各个代码文件之间的依赖关系,获得依赖图;
遍历依赖图中的各个代码文件,直到遍历完依赖图中的各个代码文件,获得索引表,其中每次遍历包括以下过程:
若索引表中未记录当前遍历的代码文件的标识,则生成当前遍历的代码文件的路径、当前遍历的代码文件的哈希表示、以及当前遍历的代码文件的标识,并将当前遍历的代码文件的路径、当前遍历的代码文件的哈希表示、以及当前遍历的代码文件的标识之间的关联关系写入索引表;
若索引表已记录当前遍历的代码文件的标识,则遍历依赖图中的下一个代码文件。
在一种可能的实施例中,该装置包括遍历模块304,遍历模块304用于:
按照依赖图中的各个代码文件,在依赖图中出现的从先到后的顺序,依次遍历;
生成模块303具体用于:
基于当前遍历的代码文件所属的类型标识,以及当前遍历的代码文件在依赖图中的出现序号,生成当前遍历的代码文件的标识。
在一种可能的实施例中,第一代码文件包包括第一代码文件子包,第一代码文件子包包括第一类型的代码文件;确定模块具体用于:
基于第一代码文件子包,确定第一代码文件子包中的各个代码文件之间的依赖关系,获得第一依赖子图;
基于第一代码文件包,确定第一代码文件包中的各个代码文件之间的依赖关系,获得第二依赖子图;
基于第一依赖子图,确定第一索引分表;
基于第二依赖子图,以及第一索引分表,确定第二索引分表。
在一种可能的实施例中,确定模块302具体用于:
遍历第二依赖子图中的各个代码文件,直到遍历完第二依赖子图中的各个代码文件,获得第二索引分表,其中每次遍历包括以下过程:
若第一索引分表没有记录当前遍历的代码文件的标识,则生成当前遍历的代码文件的路径、当前遍历的代码文件的哈希表示、以及当前遍历的代码文件的标识,并将当前遍历的代码文件的路径、当前遍历的代码文件的哈希表示、以及当前遍历的代码文件的标识之间的关联关系写入第二索引分表;
若第一索引分表已记录当前遍历的代码文件的路径,则遍历第二依赖子图中的下一个代码文件。
基于同一发明构思,本申请实施例提供一种代码文件处理设备,该设备相当于前文论述的处理设备120,请参照图4,该设备包括:
至少一个处理器401,以及
与至少一个处理器401通信连接的存储器402;
其中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令实现如前文论述的数据处理方法。
处理器401可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元、或为图像处理器等中的一种或多种组合。存储器402可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器402也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器402可以是上述存储器的组合。
作为一种实施例,图4中的处理器401可以实现前文论述的代码文件处理方法,处理器401还可以实现前文图3论述的代码文件处理装置的功能。
基于同一发明构思,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如前文论述的代码文件处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种代码文件处理方法,其特征在于,包括:
获取第一代码文件包,其中,所述第一代码文件包包括各个代码文件,所述第一代码文件用于实现相应的业务;
分别确定所述各个代码文件各自的标识,其中,若代码文件为第一类型,则基于代码文件的路径,确定代码文件的标识,若代码文件为第二类型,基于代码文件的哈希表示,确定代码文件的标识,其中,所述哈希表示是采用预设的哈希算法对代码文件的内容进行计算得到的,所述第一类型是指所述业务发生变化时无需更改的代码文件,所述第二类型是指所述业务发生变化时需要更改的代码文件;
基于所述各个代码文件,以及所述各个代码文件各自对应的标识,生成第二代码文件包。
2.如权利要求1所述的方法,其特征在于,分别确定所述各个代码文件各自的标识,包括:
确定所述第一代码文件包的索引表,其中,所述索引表包括所述各个代码文件中每个代码文件的对应关系,所述对应关系为代码文件的路径、代码文件的哈希表示、以及代码文件的标识三者之间的关联关系;
基于所述索引表,分别确定所述各个代码文件各自的标识。
3.如权利要求2所述的方法,其特征在于,所述索引表包括第一索引分表和第二索引分表,所述第一索引分表包括所述第一类型的代码文件的路径、所述第一类型的代码文件的哈希表示、以及所述第一类型的代码文件的标识之间的关联关系,所述第二索引分表包括所述第二类型的代码文件的路径、所述第二类型的代码文件的哈希表示、以及所述第二类型的代码文件的标识之间的关联关系;
基于所述索引表,分别确定所述各个代码文件各自的标识,包括:
若所述各个代码文件中的任一代码文件为所述第一类型,则基于所述任一代码文件的路径,从所述第一索引分表中,确定所述路径对应的标识;
若所述各个代码文件中的任一代码文件为所述第二类型,则基于所述任一代码文件的哈希表示,从所述第二索引分表中,确定所述哈希表示对应的标识。
4.如权利要求3所述的方法,其特征在于,确定所述第一代码文件包的索引表,包括:
基于所述第一代码文件包中的各个代码文件之间的依赖关系,获得依赖图;
遍历所述依赖图中的各个代码文件,直到遍历完所述依赖图中的各个代码文件,获得索引表,其中每次遍历包括以下过程:
若所述索引表中未记录当前遍历的代码文件的标识,则生成所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识,并将所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识之间的关联关系写入所述索引表;
若所述索引表已记录当前遍历的代码文件的标识,则遍历所述依赖图中的下一个代码文件。
5.如权利要求4所述的方法,其特征在于,所述遍历所述依赖图中的各个代码文件,包括:
按照所述依赖图中的各个代码文件,在所述依赖图中出现的从先到后的顺序,依次遍历;
生成所述当前遍历的代码文件的标识,包括:
基于所述当前遍历的代码文件所属的类型标识,以及所述当前遍历的代码文件在所述依赖图中的出现序号,生成所述当前遍历的代码文件的标识。
6.如权利要求4所述的方法,其特征在于,所述第一代码文件包包括第一代码文件子包,所述第一代码文件子包包括所述第一类型的代码文件;
基于所述第一代码文件包中各个代码文件之间的依赖关系,获得依赖图,包括:
基于所述第一代码文件子包,确定所述第一代码文件子包中的各个代码文件之间的依赖关系,获得第一依赖子图;
基于所述第一代码文件包,确定所述第一代码文件包中的各个代码文件之间的依赖关系,获得第二依赖子图;
基于所述第一依赖子图,确定所述第一索引分表;
基于所述第二依赖子图,以及所述第一索引分表,确定所述第二索引分表。
7.如权利要求6所述的方法,其特征在于,根据所述第二依赖子图,以及所述第一索引分表,确定第二索引分表,包括:
遍历所述第二依赖子图中的各个代码文件,直到所述第二依赖子图中的各个代码文件,获得第二索引分表,其中每次遍历包括以下过程:
若所述第一索引分表没有记录当前遍历的代码文件的标识,则生成所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识,并将所述当前遍历的代码文件的路径、所述当前遍历的代码文件的哈希表示、以及所述当前遍历的代码文件的标识之间的关联关系写入第二索引分表;
若所述第一索引分表已记录当前遍历的代码文件的路径,则遍历所述第二依赖子图中的下一个代码文件。
8.一种代码文件处理装置,其特征在于,所述装置包括:
获取模块,用于获取第一代码文件包,其中,所述第一代码文件包包括各个代码文件,所述第一代码文件用于实现相应的业务;
确定模块,用于分别确定所述各个代码文件各自的标识,其中,若代码文件为第一类型,则基于代码文件的路径,确定代码文件的标识,若代码文件为第二类型,基于代码文件的哈希表示,确定代码文件的标识,其中,所述哈希表示是采用预设的哈希算法对代码文件的内容进行计算得到的,所述第一类型是指所述业务发生变化时无需更改的代码文件,所述第二类型是指所述业务发生变化时需要更改的代码文件;
生成模块,用于基于所述各个代码文件,以及所述各个代码文件各自对应的标识,生成第二代码文件包。
9.一种代码文件处理设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
CN202110664132.4A 2021-06-16 2021-06-16 一种代码文件处理方法、装置、设备及介质 Active CN113568620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110664132.4A CN113568620B (zh) 2021-06-16 2021-06-16 一种代码文件处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110664132.4A CN113568620B (zh) 2021-06-16 2021-06-16 一种代码文件处理方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113568620A true CN113568620A (zh) 2021-10-29
CN113568620B CN113568620B (zh) 2023-08-22

Family

ID=78162162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110664132.4A Active CN113568620B (zh) 2021-06-16 2021-06-16 一种代码文件处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113568620B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491053A (zh) * 2015-12-21 2016-04-13 用友网络科技股份有限公司 一种Web恶意代码检测方法及系统
CN106095415A (zh) * 2016-06-01 2016-11-09 乐视控股(北京)有限公司 开发文件打包方法、装置及系统
CN106445476A (zh) * 2015-08-11 2017-02-22 腾讯科技(深圳)有限公司 一种代码变更信息确定方法、装置及电子设备
CN106685821A (zh) * 2017-02-20 2017-05-17 华为技术有限公司 一种多路径选择方法及设备
CN107193615A (zh) * 2017-06-29 2017-09-22 北京全域医疗技术有限公司 项目代码信息的更新部署方法及装置
US9830345B1 (en) * 2016-09-26 2017-11-28 Semmle Limited Content-addressable data storage
US20180114025A1 (en) * 2016-10-20 2018-04-26 International Business Machines Corporation Code package processing
CN108959929A (zh) * 2018-07-23 2018-12-07 北京奇安信科技有限公司 程序文件处理方法及装置
CN109683950A (zh) * 2018-12-17 2019-04-26 Oppo广东移动通信有限公司 应用程序打包方法、装置、存储介质及终端
CN110825385A (zh) * 2019-10-29 2020-02-21 福建天泉教育科技有限公司 React Native离线包的构建方法及存储介质
CN110866198A (zh) * 2019-09-27 2020-03-06 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质
CN111338688A (zh) * 2020-02-28 2020-06-26 平安医疗健康管理股份有限公司 数据长效缓存方法、装置、计算机系统及可读存储介质
CN111639019A (zh) * 2020-04-24 2020-09-08 北京五八信息技术有限公司 代码测试方法、装置及可读存储介质
WO2020233609A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与用户类型的有条件的收据存储方法和节点
CN112052006A (zh) * 2020-08-12 2020-12-08 武汉天喻信息产业股份有限公司 一种软件代码编译方法及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445476A (zh) * 2015-08-11 2017-02-22 腾讯科技(深圳)有限公司 一种代码变更信息确定方法、装置及电子设备
CN105491053A (zh) * 2015-12-21 2016-04-13 用友网络科技股份有限公司 一种Web恶意代码检测方法及系统
CN106095415A (zh) * 2016-06-01 2016-11-09 乐视控股(北京)有限公司 开发文件打包方法、装置及系统
US9830345B1 (en) * 2016-09-26 2017-11-28 Semmle Limited Content-addressable data storage
US20180114025A1 (en) * 2016-10-20 2018-04-26 International Business Machines Corporation Code package processing
CN106685821A (zh) * 2017-02-20 2017-05-17 华为技术有限公司 一种多路径选择方法及设备
CN107193615A (zh) * 2017-06-29 2017-09-22 北京全域医疗技术有限公司 项目代码信息的更新部署方法及装置
CN108959929A (zh) * 2018-07-23 2018-12-07 北京奇安信科技有限公司 程序文件处理方法及装置
CN109683950A (zh) * 2018-12-17 2019-04-26 Oppo广东移动通信有限公司 应用程序打包方法、装置、存储介质及终端
WO2020233609A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 结合代码标注与用户类型的有条件的收据存储方法和节点
CN110866198A (zh) * 2019-09-27 2020-03-06 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质
CN110825385A (zh) * 2019-10-29 2020-02-21 福建天泉教育科技有限公司 React Native离线包的构建方法及存储介质
CN111338688A (zh) * 2020-02-28 2020-06-26 平安医疗健康管理股份有限公司 数据长效缓存方法、装置、计算机系统及可读存储介质
CN111639019A (zh) * 2020-04-24 2020-09-08 北京五八信息技术有限公司 代码测试方法、装置及可读存储介质
CN112052006A (zh) * 2020-08-12 2020-12-08 武汉天喻信息产业股份有限公司 一种软件代码编译方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
M AYOUB KHAN: "SHA-256 based n-Bit EPC generator for RFID Tracking Simulator", 《2009 IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE》, pages 1 - 7 *
佚名: "2020-06-02 React Native 打包工具Metro原理探究", pages 1 - 5, Retrieved from the Internet <URL:《https://www.jianshu.com/p/b02f719d6107》> *
佚名: "android依赖与打包的关系,从Android到React Native开发(四、打包流程解析和发布为Maven库)", pages 1 - 5, Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_39702335/article/details/117343820》> *
曾建强: "基于持久性内存的高性能用户态文件系统研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, pages 137 - 130 *
韩金: "基于软件基因的Android平台恶意软件检测与分类研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, pages 138 - 369 *

Also Published As

Publication number Publication date
CN113568620B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN110058873B (zh) 应用页面更新方法、装置、设备和存储介质
CN108089893B (zh) 冗余资源的确定方法、装置、终端设备与存储介质
CN110011785B (zh) 一种基于区块链对结构化作品进行存证的方法及装置
CN109558525B (zh) 一种测试数据集的生成方法、装置、设备和存储介质
CN106897103B (zh) 一种移动端网络游戏版本快速热更新的方法
US20170286264A1 (en) System and method for data element tracing
CN106547646B (zh) 一种数据备份及恢复方法、数据备份及恢复装置
CN109344619A (zh) 应用程序的热修复方法和装置
CN109800005A (zh) 一种客户端热更新方法及装置
CN111966631A (zh) 一种可快速分发的镜像文件生成方法、系统、设备和介质
CN110569218B (zh) 一种ext文件系统离线修改方法、装置及存储介质
CN112451972A (zh) 基于游戏引擎的资源压缩包构建方法、装置、系统及介质
CN106354587A (zh) 镜像服务器以及导出虚拟机镜像文件的方法
WO2019041891A1 (zh) 升级包的生成方法及装置
CN111078573A (zh) 一种测试报文的生成方法及装置
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN114332353A (zh) 一种三维模型匹配方法、装置及电子设备和存储介质
CN108694049B (zh) 一种更新软件的方法和设备
CN112286706A (zh) 安卓应用的应用信息远程快速获取方法及相关设备
CN109656825B (zh) 美术资源处理的方法及装置、电子设备、存储介质
CN113568620B (zh) 一种代码文件处理方法、装置、设备及介质
CN115080114B (zh) 应用程序的移植处理方法、装置和介质
CN114816816A (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
CN111984591A (zh) 文件存储、读取方法、装置、设备及计算机可读存储介质
CN110636042B (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