CN110569063A - 一种子应用程序app生成方法和生成装置 - Google Patents
一种子应用程序app生成方法和生成装置 Download PDFInfo
- Publication number
- CN110569063A CN110569063A CN201910814518.1A CN201910814518A CN110569063A CN 110569063 A CN110569063 A CN 110569063A CN 201910814518 A CN201910814518 A CN 201910814518A CN 110569063 A CN110569063 A CN 110569063A
- Authority
- CN
- China
- Prior art keywords
- code set
- target
- middleware
- app
- library
- 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
Links
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/71—Version control; Configuration management
-
- 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/72—Code refactoring
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种子应用程序APP生成方法和生成装置,该方法包括:读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合;根据读取到的待生成的目标子APP所依赖的目标业务代码集合,确定待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合;利用待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。这样,以代码集合而非各个业务的业务代码为粒度打包代码,可以避免生成的子APP携带很多不相关或重复的代码。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种子应用程序APP生成方法和生成装置。
背景技术
技术人员在进行应用程序(APPlication,APP)开发时,可能存在并行开发多款APP的情况。这些APP之间可以相互独立,也可以存在各种不同的关联。例如,在并行开发的多个APP中,除了有主APP之外,还可以有相应的子APP。其中,主APP是集团内所有业务及业务代码的集合;子APP是其中一块或几块业务及业务代码组成的集合,例如精简APP(或称极速APP)、垂直业务APP以及创新APP等。由于主APP与子APP之间在业务及业务代码上存在关联关系,因此,可以利用已有的主APP业务代码来生成子APP。这样可以节省APP研发成本,提高研发效率。
但是在实际应用中,由于每个业务的业务代码耦合的情况通常较严重,甚至不同业务之间的业务代码也会存在耦合,因此在基于主APP生成子APP时,如果该子APP涉及到多个业务,那么就需要将各个业务的业务代码,及与这些业务代码存在耦合的代码都打包入该子APP,会导致所生成的子APP携带很多不相关或重复的代码。
发明内容
本申请提供了一种子应用程序APP生成方法和生成装置,以解决相关技术中,如果子APP涉及到多个业务,需要将各个业务的业务代码,及与这些业务代码存在耦合的代码都打包入该子APP,导致所生成的子APP会携带很多不相关或重复的代码的问题。
第一方面,本发明提供了一种子应用程序APP生成方法,包括:
读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;
根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;
利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
可选的,所述根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,包括:
读取所述目标业务代码集合的第二Podfile,获得第一读取结果;
根据所述第一读取结果,确定所述目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合,其中,所述第一中间件代码集合和所述第二中间件代码集合均为所述中间件层所包含的至少一个中间件代码集合中的中间件代码集合,所述第一基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
读取所述第一中间件代码集合的第三Podfile,获得第二读取结果;
根据所述第二读取结果,确定所述第一中间件代码集合所依赖的第二基础库代码集合,其中,所述第二基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
确定所述第一中间件代码集合和所述第二中间件代码集合为所述目标中间件代码集合,以及确定所述第一基础库代码集合和所述第二基础库代码集合为所述目标基础库代码集合。
可选的,所述业务层的级别高于所述中间件层的级别,所述中间件层的级别高于所述基础库层的级别;
所述业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖;
所述中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则;
所述基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足所述单向依赖准则。
可选的,所述待生成的目标子APP为待生成的目标垂直业务APP,其中,主app和交叉app共用所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
可选的,所述待生成的目标垂直业务APP以及所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与所述主app中的独有代码或者所述交叉app中的独有代码没有耦合。
第二方面,本发明还提供了一种子应用程序APP生成装置,包括:
读取模块,用于读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;
确定模块,用于根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;
生成模块,用于利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
可选的,所述确定模块包括:
第一读取子模块,用于读取所述目标业务代码集合的第二Podfile,获得第一读取结果;
第一确定子模块,用于根据所述第一读取结果,确定所述目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合,其中,所述第一中间件代码集合和所述第二中间件代码集合均为所述中间件层所包含的至少一个中间件代码集合中的中间件代码集合,所述第一基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
第二读取子模块,用于读取所述第一中间件代码集合的第三Podfile,获得第二读取结果;
第二确定子模块,用于根据所述第二读取结果,确定所述第一中间件代码集合所依赖的第二基础库代码集合,其中,所述第二基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
第三确定子模块,用于确定所述第一中间件代码集合和所述第二中间件代码集合为所述目标中间件代码集合,以及确定所述第一基础库代码集合和所述第二基础库代码集合为所述目标基础库代码集合。
可选的,所述业务层的级别高于所述中间件层的级别,所述中间件层的级别高于所述基础库层的级别;
所述业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖;
所述中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则;
所述基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足所述单向依赖准则。
可选的,所述待生成的目标子APP为待生成的目标垂直业务APP,其中,主app和交叉app共用所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
可选的,所述待生成的目标垂直业务APP以及所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与所述主app中的独有代码或者所述交叉app中的独有代码没有耦合。
第三方面,本发明还提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现上述子应用程序APP生成方法。
第四方面,本发明还提供了一种可读存储介质,包括:所述可读存储介质中存储有计算机程序,当子应用程序APP生成装置的至少一个处理器执行所述计算机程序时,子应用程序APP生成装置执行第一方面所述的子应用程序APP生成方法。
由以上技术方案可知,本发明实施例提供的一种子应用程序APP生成方法和子应用程序APP生成装置,读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。这样,可以确定待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合,进而可以利用所确定的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。以代码集合而非各个业务的业务代码为粒度打包代码,可以避免生成的子APP携带很多不相关或重复的代码。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种子应用程序APP生成方法的流程图;
图2为本发明提供的一种App工厂架构图;
图3为本发明提供的另一种子应用程序APP生成方法的流程图;
图4为本发明提供的一种生成目标子APP的示意图;
图5为本发明提供的一种生成目标垂直业务APP的示意图;
图6为本发明提供的一种子应用程序APP生成装置的结构图;
图7为本发明提供的另一种子应用程序APP生成装置的结构图;
图8为本发明提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
参见图1,图1是本发明提供的一种子应用程序APP生成方法的流程图。如图1所示,包括以下步骤:
步骤101、读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合。
在步骤101中,如图2所示,为本发明实施例提供的一种App工厂架构图。在图2中,App工厂可以分为上下两层:入口工程和工程库池。入口工程pod对工程库池的pod进行依赖,通过podfile配置每一个入口工程所在APP所需的pod代码。
入口工程主要负责对APP工厂生成的APP所需代码进行配置。入口工程包括的功能有:
APPInfo:对APP基础信息的设置。例如APP名称、程序包标识(bundleidentifier)、版本号以及证书等等。
Podfile:当前APP对所需工程代码的依赖。
Regen.sh:一个可执行文件(本地RD研发调试用)。读取podfile配置,拷贝APP所需代码及配置,然后生成APP所需代码。
Reng_jenkins.sh:一个可执行文件(Jenkins服务打包用)。读取podfile配置,拷贝APP所需代码及配置,然后生成APP所需代码。
工程库池是APP工厂总的代码集合,每一个生成的APP所需代码都是从这个代码集合中获取,且研发过程中代码更新也会同步更新到此代码集合中去。工程库池可以分为业务层、中间件层和基础库层。
业务层,可以包含至少一个业务pod,即可以包含至少一个业务代码集合,各个业务代码集合根据业务类型进行划分。例如,在图2中,业务层可以包含首页pod、部落pod、发布pod、个人中心pod、房产pod、招聘pod和二手车pod等等。
中间件层,APP工厂中间服务代码。中间件在软件领域的通用解释是:连接软件组件和应用的程序。在这里中间件体现的是连接和共用:连接的是业务层和基础库层,共用体现在业务层的公共服务。
中间件按照与业务强相关与否分为业务中间件和标准中间件。业务中间件:与业务强相关的中间件,在某一个独立APP中通用。由于对当前APP其它功能的过多依赖,所以不适用于其他独立APP。例如,在图2中,业务中间件可以包含RN扩展中间件、通用列表中间件和生命周期中间件等等。
标准中间件:与业务弱相关的中间件。不仅在某一个独立APP中通用,在其它独立APP中也通用,与APP中的业务弱相关。例如,在图2中,标准中间件可以包含RN基础库中间件、跳转组件中间件和网络组件中间件等等。另外,如图2所示,可以看到中间件层的一些标准中间件加了两条竖线,这表示此标准中间件某些功能的实现依赖接入APP,只开放了接口协议。以RN基础库这个标准中间件为例:中间件包含的内容是载体页及热更新的全部公共的与业务弱相关的内容,但对于一些扩展的组件(例如埋点)需要开放协议让接入方实现,中间件中不实现此逻辑。
基础库层,对其它pod不产生依赖的独立库。例如一些开源的三方库,是常见的基础库。例如,在图2中,基础库层可以包含图片库pod、语言识别pod和地图pod等等。
可以读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合。其中,第一Podfile内配置有待生成的目标子APP所依赖的目标业务代码集合,目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合。即可以读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务pod,该目标业务pod为工程库池的业务层所包含的至少一个业务pod。
步骤102、根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合。
在步骤102中,可以根据读取到的待生成的目标子APP所依赖的目标业务代码集合,确定待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合。其中,目标中间件代码集合为工程库池的中间件层所包含的至少一个中间件代码集合;目标基础库代码集合为工程库池的基础库层所包含的至少一个基础库代码集合。即可以根据读取到的待生成的目标子APP所依赖的目标业务pod,确定待生成的目标子APP所依赖的目标中间件pod和目标基础库pod。其中,目标中间件pod为工程库池的中间件层所包含的至少一个中间件pod;目标基础库pod为工程库池的基础库层所包含的至少一个基础库pod。
步骤103、利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
在步骤103中,可以利用待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。即可以利用待生成的目标子APP所依赖的目标业务pod、目标中间件pod和目标基础库pod生成目标子APP。
需要说明的是,相关技术中,由于每个业务的业务代码耦合的情况通常较严重,甚至不同业务之间的业务代码也会存在耦合,因此在基于主APP生成子APP时,如果该子APP涉及到多个业务,那么就需要将各个业务的业务代码,及与这些业务代码存在耦合的代码都打包入该子APP,会导致所生成的子APP携带很多不相关或重复的代码。
而在本发明中,可以确定待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合,进而可以利用所确定的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。以代码集合而非各个业务的业务代码为粒度打包代码,可以避免生成的子APP携带很多不相关或重复的代码。
由以上技术方案可知,本发明实施例提供的一种子应用程序APP生成方法,读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。这样,可以确定待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合,进而可以利用所确定的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。以代码集合而非各个业务的业务代码为粒度打包代码,可以避免生成的子APP携带很多不相关或重复的代码。
参见图3,图3是本发明提供的另一种子应用程序APP生成方法的流程图。如图3所示,包括以下步骤:
步骤301、读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合。
在步骤301中,仍以图2为例,如图2所示,为本发明实施例提供的一种App工厂架构图。在图2中,App工厂可以分为上下两层:入口工程和工程库池。入口工程pod对工程库池的pod进行依赖,通过podfile配置每一个入口工程所在APP所需的pod代码。
工程库池可以分为业务层、中间件层和基础库层。
可选的,所述业务层的级别高于所述中间件层的级别,所述中间件层的级别高于所述基础库层的级别;
所述业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖;
所述中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则;
所述基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足所述单向依赖准则。
业务层的级别高于中间件层的级别,中间件层的级别高于基础库层的级别。如前所述,中间件按照与业务强相关与否分为业务中间件和标准中间件。其中,业务中间件的级别高于标准中间件的级别。需要说明的是,级别较高的层可以依赖级别较低的层,但是级别较低的层不能依赖级别较高的层。例如,业务层中的首页pod可以依赖中间件层中的生命周期pod,但是反之却不能依赖,即中间件层中的生命周期pod不能依赖业务层中的首页pod。
业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖。例如,业务层所包含的房产pod和招聘pod之间无法依赖。
中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则。例如,中间件层所包含的通用列表业务中间件和生命周期业务中间件之间满足单向依赖准则。即此时如果通用列表业务中间件依赖生命周期业务中间件,则生命周期业务中间件就不能依赖通用列表业务中间件;或者,如果生命周期业务中间件依赖通用列表业务中间件,则通用列表业务中间件就不能依赖生命周期业务中间件。
基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足单向依赖准则。例如,基础库层所包含的图片库pod和语言识别pod之间满足单向依赖准则。即此时如果图片库pod依赖语言识别pod,则语言识别pod就不能依赖图片库pod;或者,如果语言识别pod依赖图片库pod,则图片库pod就不能依赖语言识别pod。
需要说明的是,还可以实现隔层依赖。例如,业务层可以依赖基础库层。
可以读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合。其中,第一Podfile内配置有待生成的目标子APP所依赖的目标业务代码集合,目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合。如图4所示,为生成目标子APP的示意图。该目标子APP可以为租房马甲包APP。此时,可以读取设置于入口工程内的第一Podfile,获得待生成的租房马甲包APP所依赖的目标业务代码集合。假设待生成的租房马甲包APP所依赖的目标业务代码集合为业务层中的房产代码集合,即房产pod。
步骤302、读取所述目标业务代码集合的第二Podfile,获得第一读取结果。
在步骤302中,可以读取目标业务代码集合的第二Podfile,获得第一读取结果。即可以读取房产pod的第二Podfile,获得第一读取结果。其中,房产pod的第二Podfile配置有房产pod所依赖的中间件pod以及基础库pod。
步骤303、根据所述第一读取结果,确定所述目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合,其中,所述第一中间件代码集合和所述第二中间件代码集合均为所述中间件层所包含的至少一个中间件代码集合中的中间件代码集合,所述第一基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合。
在步骤303中,可以根据第一读取结果,确定目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合。其中,第一中间件代码集合和第二中间件代码集合均为中间件层所包含的至少一个中间件代码集合中的中间件代码集合;第一基础库代码集合为基础库层所包含的至少一个基础库代码集合中的基础库代码集合。即可以根据第一读取结果,确定房产pod所依赖的第一中间件pod、第二中间件pod和第一基础库pod。需要说明的是,第一中间件pod存在所依赖的基础库pod,而第二中间件pod不依赖任何基础库pod。如图4所示,第一中间件pod为业务中间件pod A和业务中间件pod B;第二中间件pod为标准中间件pod C、标准中间件pod D和标准中间件pod E。第一基础库pod为房产pod所隔层依赖的基础库pod F、基础库pod G以及基础库pod H。
步骤304、读取所述第一中间件代码集合的第三Podfile,获得第二读取结果。
在步骤304中,可以读取第一中间件代码集合的第三Podfile,获得第二读取结果。即可以读取业务中间件pod A的第三Podfile和业务中间件pod B的第三Podfile,获得第二读取结果。其中,业务中间件pod A的第三Podfile配置有业务中间件pod A所依赖的基础库pod;业务中间件pod B的第三Podfile配置有业务中间件pod B所依赖的基础库pod。
步骤305、根据所述第二读取结果,确定所述第一中间件代码集合所依赖的第二基础库代码集合,其中,所述第二基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合。
在步骤305中,可以根据第二读取结果,确定第一中间件代码集合所依赖的第二基础库代码集合。其中,第二基础库代码集合为基础库层所包含的至少一个基础库代码集合中的基础库代码集合。即可以根据第二读取结果,确定业务中间件pod A所依赖的第二基础库pod以及业务中间件pod B所依赖的第二基础库pod。假设业务中间件pod A所依赖的第二基础库pod为基础库pod F、基础库pod G以及基础库pod H;业务中间件pod B所依赖的第二基础库pod为基础库pod G。
步骤306、确定所述第一中间件代码集合和所述第二中间件代码集合为所述目标中间件代码集合,以及确定所述第一基础库代码集合和所述第二基础库代码集合为所述目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合。
在步骤306中,可以确定第一中间件代码集合和第二中间件代码集合为目标中间件代码集合,以及确定第一基础库代码集合和第二基础库代码集合为目标基础库代码集合。其中,目标中间件代码集合为工程库池的中间件层所包含的至少一个中间件代码集合;目标基础库代码集合为工程库池的基础库层所包含的至少一个基础库代码集合。即可以确定业务中间件pod A、业务中间件pod B、标准中间件pod C、标准中间件pod D和标准中间件pod E为目标中间件代码集合;可以确定基础库pod F、基础库pod G以及基础库pod H为目标基础库代码集合。
步骤307、利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
在步骤307中,可以利用待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。即可以利用待生成的租房马甲包APP所依赖的房产pod、业务中间件pod A、业务中间件pod B、标准中间件pod C、标准中间件podD、标准中间件pod E、基础库pod F、基础库pod G以及基础库pod H生成租房马甲包APP。
可选的,所述待生成的目标子APP为待生成的目标垂直业务APP,其中,主APP和交叉APP共用所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
需要说明的是,待生成的目标子APP可以为待生成的目标垂直业务APP。其中,主APP和交叉APP共用待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
可选的,所述待生成的目标垂直业务APP以及所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与所述主APP中的独有代码或者所述交叉APP中的独有代码没有耦合。
进一步的,待生成的目标垂直业务APP以及待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与主APP中的独有代码或者交叉APP中的独有代码没有耦合。如图5所示,为生成目标垂直业务APP的示意图。这样,所生成的目标垂直业务APP就不会携带一些无关的不需要的代码,有利于控制包大小。
由以上技术方案可知,本发明实施例提供的一种子应用程序APP生成方法。App工厂可以分为上下两层:入口工程和工程库池。工程库池可以分为业务层、中间件层和基础库层,且工程库池所包含的各个层内均有相应的依赖准则。可以确定待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合,进而可以利用所确定的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。以代码集合而非各个业务的业务代码为粒度打包代码,可以实现按需生成子APP,避免生成的子APP携带很多不相关或重复的代码,有效控制了包大小。
参见图6,图6是本发明提供的一种子应用程序APP生成装置的结构图。如图6所示,子应用程序APP生成装置600包括读取模块601、确定模块602和生成模块603,其中:
读取模块601,用于读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;
确定模块602,用于根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;
生成模块603,用于利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
可选的,如图7所示,所述确定模块602包括:
第一读取子模块6021,用于读取所述目标业务代码集合的第二Podfile,获得第一读取结果;
第一确定子模块6022,用于根据所述第一读取结果,确定所述目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合,其中,所述第一中间件代码集合和所述第二中间件代码集合均为所述中间件层所包含的至少一个中间件代码集合中的中间件代码集合,所述第一基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
第二读取子模块6023,用于读取所述第一中间件代码集合的第三Podfile,获得第二读取结果;
第二确定子模块6024,用于根据所述第二读取结果,确定所述第一中间件代码集合所依赖的第二基础库代码集合,其中,所述第二基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
第三确定子模块6025,用于确定所述第一中间件代码集合和所述第二中间件代码集合为所述目标中间件代码集合,以及确定所述第一基础库代码集合和所述第二基础库代码集合为所述目标基础库代码集合。
可选的,所述业务层的级别高于所述中间件层的级别,所述中间件层的级别高于所述基础库层的级别;
所述业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖;
所述中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则;
所述基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足所述单向依赖准则。
可选的,所述待生成的目标子APP为待生成的目标垂直业务APP,其中,主app和交叉app共用所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
可选的,所述待生成的目标垂直业务APP以及所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与所述主app中的独有代码或者所述交叉app中的独有代码没有耦合。
子应用程序APP生成装置600能够实现图1和图3的方法实施例中子应用程序APP生成装置实现的各个过程,为避免重复,这里不再赘述。且子应用程序APP生成装置600可以实现App工厂可以分为上下两层:入口工程和工程库池。工程库池可以分为业务层、中间件层和基础库层,且工程库池所包含的各个层内均有相应的依赖准则。可以确定待生成的目标子APP所依赖的目标业务代码集合、目标中间件代码集合和目标基础库代码集合,进而可以利用所确定的目标业务代码集合、目标中间件代码集合和目标基础库代码集合生成目标子APP。以代码集合而非各个业务的业务代码为粒度打包代码,可以实现按需生成子APP,避免生成的子APP携带很多不相关或重复的代码,有效控制了包大小。
图8为本发明实施例提供的电子设备的硬件结构示意图。如图8所示,该电子设备,包括:
存储器801,用于存储程序指令;
处理器802,用于调用并执行所述存储器中的程序指令,以实现上述实施例中所述子应用程序APP生成方法。具体可以参见前述实施例中的相关描述。
本实施例中,处理器802和存储器801可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本发明实施例还提供了一种可读存储介质,包括:可读存储介质中存储有计算机程序,当子应用程序APP生成装置的至少一个处理器执行计算机程序时,子应用程序APP生成装置执行上述实施例中所述的子应用程序APP生成方法。
所述的可读存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于子应用程序APP生成装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (12)
1.一种子应用程序APP生成方法,其特征在于,包括:
读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;
根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;
利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
2.如权利要求1所述的方法,其特征在于,所述根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,包括:
读取所述目标业务代码集合的第二Podfile,获得第一读取结果;
根据所述第一读取结果,确定所述目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合,其中,所述第一中间件代码集合和所述第二中间件代码集合均为所述中间件层所包含的至少一个中间件代码集合中的中间件代码集合,所述第一基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
读取所述第一中间件代码集合的第三Podfile,获得第二读取结果;
根据所述第二读取结果,确定所述第一中间件代码集合所依赖的第二基础库代码集合,其中,所述第二基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
确定所述第一中间件代码集合和所述第二中间件代码集合为所述目标中间件代码集合,以及确定所述第一基础库代码集合和所述第二基础库代码集合为所述目标基础库代码集合。
3.如权利要求1或2所述的方法,其特征在于,所述业务层的级别高于所述中间件层的级别,所述中间件层的级别高于所述基础库层的级别;
所述业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖;
所述中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则;
所述基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足所述单向依赖准则。
4.如权利要求3所述的方法,其特征在于,所述待生成的目标子APP为待生成的目标垂直业务APP,其中,主app和交叉app共用所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
5.如权利要求4所述的方法,其特征在于,所述待生成的目标垂直业务APP以及所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与所述主app中的独有代码或者所述交叉app中的独有代码没有耦合。
6.一种子应用程序APP生成装置,其特征在于,包括:
读取模块,用于读取设置于入口工程内的第一Podfile,获得待生成的目标子APP所依赖的目标业务代码集合,其中,所述第一Podfile内配置有所述待生成的目标子APP所依赖的目标业务代码集合,所述目标业务代码集合为工程库池的业务层所包含的至少一个业务代码集合;
确定模块,用于根据读取到的所述待生成的目标子APP所依赖的目标业务代码集合,确定所述待生成的目标子APP所依赖的目标中间件代码集合和目标基础库代码集合,其中,所述目标中间件代码集合为所述工程库池的中间件层所包含的至少一个中间件代码集合,所述目标基础库代码集合为所述工程库池的基础库层所包含的至少一个基础库代码集合;
生成模块,用于利用所述待生成的目标子APP所依赖的所述目标业务代码集合、所述目标中间件代码集合和所述目标基础库代码集合生成所述目标子APP。
7.如权利要求6所述的子应用程序APP生成装置,其特征在于,所述确定模块包括:
第一读取子模块,用于读取所述目标业务代码集合的第二Podfile,获得第一读取结果;
第一确定子模块,用于根据所述第一读取结果,确定所述目标业务代码集合所依赖的第一中间件代码集合、第二中间件代码集合和第一基础库代码集合,其中,所述第一中间件代码集合和所述第二中间件代码集合均为所述中间件层所包含的至少一个中间件代码集合中的中间件代码集合,所述第一基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
第二读取子模块,用于读取所述第一中间件代码集合的第三Podfile,获得第二读取结果;
第二确定子模块,用于根据所述第二读取结果,确定所述第一中间件代码集合所依赖的第二基础库代码集合,其中,所述第二基础库代码集合为所述基础库层所包含的至少一个基础库代码集合中的基础库代码集合;
第三确定子模块,用于确定所述第一中间件代码集合和所述第二中间件代码集合为所述目标中间件代码集合,以及确定所述第一基础库代码集合和所述第二基础库代码集合为所述目标基础库代码集合。
8.如权利要求6或7所述的子应用程序APP生成装置,其特征在于,所述业务层的级别高于所述中间件层的级别,所述中间件层的级别高于所述基础库层的级别;
所述业务层所包含的至少一个业务代码集合中的任意两个业务代码集合之间无法依赖;
所述中间件层所包含的至少一个中间件代码集合中的任意两个中间件代码集合之间满足单向依赖准则;
所述基础库层所包含的至少一个基础库代码集合中的任意两个基础库代码集合之间满足所述单向依赖准则。
9.如权利要求8所述的子应用程序APP生成装置,其特征在于,所述待生成的目标子APP为待生成的目标垂直业务APP,其中,主app和交叉app共用所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合。
10.如权利要求9所述的子应用程序APP生成装置,其特征在于,所述待生成的目标垂直业务APP以及所述待生成的目标垂直业务APP所依赖的中间件代码集合和基础库代码集合与所述主app中的独有代码或者所述交叉app中的独有代码没有耦合。
11.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~5任一项所述的子应用程序APP生成方法。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当子应用程序APP生成装置的至少一个处理器执行所述计算机程序时,子应用程序APP生成装置执行权利要求1~5任一项所述的子应用程序APP生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814518.1A CN110569063B (zh) | 2019-08-30 | 2019-08-30 | 一种子应用程序app生成方法和生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814518.1A CN110569063B (zh) | 2019-08-30 | 2019-08-30 | 一种子应用程序app生成方法和生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569063A true CN110569063A (zh) | 2019-12-13 |
CN110569063B CN110569063B (zh) | 2023-05-02 |
Family
ID=68777022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910814518.1A Active CN110569063B (zh) | 2019-08-30 | 2019-08-30 | 一种子应用程序app生成方法和生成装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569063B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338651A (zh) * | 2020-02-19 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 下载资源提供方法及装置、资源下载方法及装置 |
CN111399864A (zh) * | 2020-03-16 | 2020-07-10 | 北京五八信息技术有限公司 | 一种安卓***应用程序基础包生成方法以及生成装置 |
CN111984531A (zh) * | 2020-07-31 | 2020-11-24 | 五八有限公司 | 一种代码耦合检测的方法及装置 |
CN112558944A (zh) * | 2021-02-26 | 2021-03-26 | 武汉木仓信息技术有限公司 | 一种app生成方法、装置、处理设备及计算机可读存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7131143B1 (en) * | 2000-06-21 | 2006-10-31 | Microsoft Corporation | Evaluating initially untrusted evidence in an evidence-based security policy manager |
WO2007064799A1 (en) * | 2005-12-01 | 2007-06-07 | Cassatt Corporation | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
US20120324069A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Middleware Services Framework for On-Premises and Cloud Deployment |
CN104572072A (zh) * | 2014-12-01 | 2015-04-29 | 北京百度网讯科技有限公司 | 一种对基于mvc模式的程序的语言转换方法与设备 |
CN106528071A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 目标代码的选取方法及装置 |
CN106569794A (zh) * | 2016-09-23 | 2017-04-19 | 北京五八信息技术有限公司 | 应用程序开发装置 |
US20170177319A1 (en) * | 2015-12-21 | 2017-06-22 | Quixey, Inc. | Dependency-Aware Transformation Of Multi-Function Applications For On-Demand Execution |
CN106919386A (zh) * | 2017-02-15 | 2017-07-04 | 北京航空航天大学 | 基于arinc653操作***生成代码的方法与装置 |
US20170192773A1 (en) * | 2015-12-31 | 2017-07-06 | Kony, Inc. | Mobile applications |
CN106990960A (zh) * | 2017-03-28 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 代码部署方法及装置 |
CN107179923A (zh) * | 2017-03-31 | 2017-09-19 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置和计算机设备 |
US20170315786A1 (en) * | 2016-04-27 | 2017-11-02 | Adp, Llc | User Interface Engine for Miniapp Development |
CN109189374A (zh) * | 2018-06-22 | 2019-01-11 | 北京大学 | 基于对象引用链的对象构造代码生成方法及*** |
CN109240839A (zh) * | 2018-09-26 | 2019-01-18 | 海南新软软件有限公司 | 一种独立业务架构 |
CN109240666A (zh) * | 2018-06-22 | 2019-01-18 | 北京大学 | 基于调用栈和依赖路径的函数调用代码生成方法及*** |
CN109614081A (zh) * | 2018-11-26 | 2019-04-12 | Oppo广东移动通信有限公司 | 浏览器实现方法、装置及移动终端 |
-
2019
- 2019-08-30 CN CN201910814518.1A patent/CN110569063B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7131143B1 (en) * | 2000-06-21 | 2006-10-31 | Microsoft Corporation | Evaluating initially untrusted evidence in an evidence-based security policy manager |
WO2007064799A1 (en) * | 2005-12-01 | 2007-06-07 | Cassatt Corporation | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
US20120324069A1 (en) * | 2011-06-17 | 2012-12-20 | Microsoft Corporation | Middleware Services Framework for On-Premises and Cloud Deployment |
CN104572072A (zh) * | 2014-12-01 | 2015-04-29 | 北京百度网讯科技有限公司 | 一种对基于mvc模式的程序的语言转换方法与设备 |
CN106528071A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 目标代码的选取方法及装置 |
US20170177319A1 (en) * | 2015-12-21 | 2017-06-22 | Quixey, Inc. | Dependency-Aware Transformation Of Multi-Function Applications For On-Demand Execution |
US20170192773A1 (en) * | 2015-12-31 | 2017-07-06 | Kony, Inc. | Mobile applications |
US20170315786A1 (en) * | 2016-04-27 | 2017-11-02 | Adp, Llc | User Interface Engine for Miniapp Development |
CN106569794A (zh) * | 2016-09-23 | 2017-04-19 | 北京五八信息技术有限公司 | 应用程序开发装置 |
CN106919386A (zh) * | 2017-02-15 | 2017-07-04 | 北京航空航天大学 | 基于arinc653操作***生成代码的方法与装置 |
CN106990960A (zh) * | 2017-03-28 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 代码部署方法及装置 |
CN107179923A (zh) * | 2017-03-31 | 2017-09-19 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置和计算机设备 |
CN109189374A (zh) * | 2018-06-22 | 2019-01-11 | 北京大学 | 基于对象引用链的对象构造代码生成方法及*** |
CN109240666A (zh) * | 2018-06-22 | 2019-01-18 | 北京大学 | 基于调用栈和依赖路径的函数调用代码生成方法及*** |
CN109240839A (zh) * | 2018-09-26 | 2019-01-18 | 海南新软软件有限公司 | 一种独立业务架构 |
CN109614081A (zh) * | 2018-11-26 | 2019-04-12 | Oppo广东移动通信有限公司 | 浏览器实现方法、装置及移动终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338651A (zh) * | 2020-02-19 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 下载资源提供方法及装置、资源下载方法及装置 |
CN111338651B (zh) * | 2020-02-19 | 2023-04-21 | 北京字节跳动网络技术有限公司 | 下载资源提供方法及装置、资源下载方法及装置 |
CN111399864A (zh) * | 2020-03-16 | 2020-07-10 | 北京五八信息技术有限公司 | 一种安卓***应用程序基础包生成方法以及生成装置 |
CN111984531A (zh) * | 2020-07-31 | 2020-11-24 | 五八有限公司 | 一种代码耦合检测的方法及装置 |
CN111984531B (zh) * | 2020-07-31 | 2022-01-28 | 五八有限公司 | 一种代码耦合检测的方法及装置 |
CN112558944A (zh) * | 2021-02-26 | 2021-03-26 | 武汉木仓信息技术有限公司 | 一种app生成方法、装置、处理设备及计算机可读存储介质 |
CN112558944B (zh) * | 2021-02-26 | 2021-05-18 | 武汉木仓信息技术有限公司 | 一种app生成方法、装置、处理设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110569063B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569063A (zh) | 一种子应用程序app生成方法和生成装置 | |
CN107450981B (zh) | 一种区块链共识方法及设备 | |
KR102024694B1 (ko) | 블록체인 기반의 다수의 서비스 노드를 사용하는 탈중앙화 서비스 플랫폼 | |
CN111859470B (zh) | 一种业务数据上链方法及装置 | |
CN111369358B (zh) | 一种区块链共识方法、装置和电子设备 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
CN112631803A (zh) | 区块链的智能合约调用方法、装置、服务器和存储介质 | |
CN105357233A (zh) | 一种远程调用方法与设备 | |
CN111523887B (zh) | 智能合约只读方法的权限控制方法、装置及电子设备 | |
CN111651467B (zh) | 一种区块链节点接口发布调用方法和装置 | |
US20180329641A1 (en) | Multi-tier data synchronizer based on concurrent linked list | |
CN108390786B (zh) | 一种业务运维方法、装置及电子设备 | |
EP4044507A1 (en) | Network resource management method and system, network equipment and readable storage medium | |
CN113760543A (zh) | 资源管理方法、装置、电子设备及计算机可读存储介质 | |
CN113079224A (zh) | 一种账号绑定方法、装置、存储介质及电子设备 | |
CN110659019B (zh) | 参数校验方法、装置和服务器 | |
CN114925015A (zh) | 基于多核处理器的数据处理方法、装置、设备及介质 | |
US20080271055A1 (en) | Protocol for communication of data structures | |
CN112148351B (zh) | 一种应用软件跨版本兼容的方法和*** | |
US20100205237A1 (en) | Correlator system for web services | |
CN114885024B (zh) | 应用实例的路由方法、装置、设备及介质 | |
CN111651469B (zh) | 一种管理区块链***合约的方法和装置 | |
CN112738181B (zh) | 集群外部ip接入的方法、装置及服务器 | |
US9184996B2 (en) | Thin client system, management server, client environment management method and program | |
CN112748981B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230927 Address after: Room 210-03, 2nd floor, block C, office building, Nangang Industrial Zone, Tianjin Binhai New Area Economic and Technological Development Zone, 300450 Patentee after: 58Tongcheng Information Technology Co.,Ltd. Address before: Room 210-03, 2nd floor, block C, office building, Nangang Industrial Zone, Tianjin Binhai New Area Economic and Technological Development Zone, 300450 Patentee before: 58 Co.,Ltd. |