CN113703829A - 一种Android生命周期多业务分发方法及系统 - Google Patents
一种Android生命周期多业务分发方法及系统 Download PDFInfo
- Publication number
- CN113703829A CN113703829A CN202110799631.4A CN202110799631A CN113703829A CN 113703829 A CN113703829 A CN 113703829A CN 202110799631 A CN202110799631 A CN 202110799631A CN 113703829 A CN113703829 A CN 113703829A
- Authority
- CN
- China
- Prior art keywords
- module
- application
- life cycle
- event
- service
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 118
- 230000004048 modification Effects 0.000 claims abstract description 18
- 238000012986 modification Methods 0.000 claims abstract description 18
- 238000005516 engineering process Methods 0.000 claims abstract description 15
- 238000009941 weaving Methods 0.000 claims description 26
- 238000010276 construction Methods 0.000 claims description 13
- 238000005315 distribution function Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 51
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
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/73—Program documentation
-
- 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)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种Android生命周期多业务分发方法及系统,该系统包括:字节码织入gradle插件模块;Android应用模块,包括应用主模块和业务子模块;该插件模块通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;并修改子模块类的对应处理函数;应用主模块启动onCreate方法实例化业务子模块;并执行Application生命周期,根据触发事件发布相关业务处理逻辑;业务子模块通过该插件模块获取生命周期事件,并执行业务处理逻辑。本发明基于Java注解、Gradle插件机制、Java字节码增强实现Android应用Application生命周期在多业务子模块间的分发。
Description
技术领域
本发明属于Android应用技术领域,尤其涉及一种Android生命周期多业务分发方法及系统。
背景技术
Android应用基于Application单例对象维护整个应用程序的生命周期。Application对象的生命周期通常由onCreate、onLowMemory等阶段组成(以下简称“Application生命周期”)。在Application生命周期的不同阶段可以进行应用程序的相关配置和功能实现,例如初始化资源、初始化配置、优化资源等。通常Application生命周期在Android应用的主模块中进行维护,对于由主模块和多个业务子模块构成的Android应用,需要在主模块中分发Application生命周期到各业务子模块,业务子模块在对应的生命周期阶段内完成模块自身的相关处理。例如在主模块onLowMemory阶段,可以通知业务子模块优化内存,从而支持低内存场景。
通常实现Android应用主模块与业务子模块之间Application生命周期分发的方法有:基于BaseApplication多级继承方式实现、基于接口的实现、基于事件总线的方式实现。以上的几种实现方式都会出现业务子模块与主模块之间在一定程度上的模块依赖和代码耦合的问题。从Android应用程序开发和维护的角度来看,这些方案违背了程序设计高内聚、低耦合的原则,并且会为程序模块化、组件化、插件化的实施制造难题。
发明内容
本发明针对现有实现Android应用主模块与业务子模块之间Application生命周期分发的方法存在的业务子模块与主模块之间在一定程度上的模块依赖和代码耦合的问题,提出一种Android生命周期多业务分发方法及系统,通过基于Java注解、Gradle插件机制、Java字节码增强技术实现Android应用Application的生命周期在多业务子模块之间的分发。
为了实现上述目的,本发明采用以下技术方案:
本发明一方面提出一种Android生命周期多业务分发系统,包括:字节码织入gradle插件模块,Android应用模块;所述Android应用模块包括应用主模块和业务子模块;
所述字节码织入gradle插件模块用于通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;还用于修改业务子模块Application生命周期事件处理类的对应处理函数;
所述应用主模块用于启动onCreate方法,在所述onCreate方法中实例化业务子模块,并完成事件的注册;还用于执行Application生命周期,根据触发事件发布相关业务处理逻辑;
所述业务子模块用于通过字节码织入gradle插件模块获取Application生命周期事件,并执行业务处理逻辑。
进一步地,所述字节码织入gradle插件模块具体用于:
在应用主模块中Application类的头部织入引入生命周期事件定义相关字节码;查找应用主模块中Application类的onCreate函数,在所述onCreate函数内完成业务子模块Application生命周期事件处理类的实例化和注册相关逻辑的字节码织入;在应用主模块中Application类中查找应用生命周期处理函数,在Application生命周期处理函数尾部织入事件分发函数;由所述事件分发函数根据触发事件发布相关业务处理逻辑;
查找存在特定注解的业务子模块Application生命周期事件处理类;在特定注解的业务子模块Application生命周期事件处理类头部织入引用生命周期事件定义类的相关代码;在特定注解的业务子模块Application生命周期事件处理类中通过特定注解符号识别业务子模块生命周期事件处理函数,并获取该函数名称;在业务子模块Application生命周期事件处理类尾部织入Application生命周期事件接收函数;所述特定注解为指定为业务子模块Application生命周期事件处理类的注解指示符号。
进一步地,还包括:插件构建模块;
所述插件构建模块用于通过gradle插件进行工程构建,该构建方式允许开发者自定义gradle插件构建脚本,在该构建脚本中进行字节码织入gradle插件的注册。
进一步地,还包括:插件启动模块;
所述插件启动模块用于解析并启动字节码织入gradle插件模块。
本发明另一方面提出一种Android生命周期多业务分发方法,包括:
步骤1:字节码织入gradle插件模块通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;并修改业务子模块Application生命周期处理类的对应处理函数;
步骤2:应用主模块启动onCreate方法,在所述onCreate方法中实例化业务子模块,并完成事件的注册;
步骤3:应用主模块执行Application生命周期,根据触发事件发布相关业务处理逻辑;
步骤4:业务子模块通过字节码织入gradle插件模块获取Application生命周期事件,并执行业务处理逻辑。
进一步地,在所述步骤1之前,还包括:
通过gradle插件进行工程构建,该构建方式允许开发者自定义gradle插件构建脚本,在该构建脚本中进行字节码织入gradle插件的注册。
进一步地,在所述步骤1之前,还包括:
解析并启动字节码织入gradle插件模块。
进一步地,所述字节码织入gradle插件模块通过字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改包括:
在应用主模块中Application类的头部织入引入生命周期事件定义相关字节码;
查找应用主模块中Application类的onCreate函数,在所述onCreate函数内完成业务子模块Application生命周期事件处理类的实例化和注册相关逻辑的字节码织入;
在应用主模块中Application类中查找应用生命周期处理函数,在Application生命周期处理函数尾部织入事件分发函数;由所述事件分发函数根据触发事件发布相关业务处理逻辑。
进一步地,所述修改业务子模块Application生命周期处理类的对应处理函数包括:
查找存在特定注解的业务子模块Application生命周期事件处理类;
在特定注解的业务子模块Application生命周期事件处理类头部织入引用生命周期事件定义类的相关代码;
在特定注解的业务子模块Application生命周期事件处理类中通过特定注解符号识别业务子模块生命周期事件处理函数,并获取该函数名称;
在业务子模块Application生命周期事件处理类尾部织入Application生命周期事件接收函数。
与现有技术相比,本发明具有的有益效果:
本发明可以无感知实现应用主模块类对业务子模块处理类的引用、实例化,无感知实现Application生命周期事件的注册、接收和发布。对比通过继承、事件、接口调用等实现方式,本发明实现了业务子模块与应用主模块之间源代码零耦合,模块无依赖,对于实现程序模块化、组件化和插件化非常友好。
附图说明
图1为本发明实施例一种Android生命周期多业务分发系统的架构示意图;
图2为本发明实施例一种Android生命周期多业务分发系统的Android应用模块结构示意图;
图3为本发明实施例一种Android生命周期多业务分发系统的字节码织入gradle插件模块功能流程图;
图4为本发明实施例一种Android生命周期多业务分发方法的基本流程图。
具体实施方式
为了便于理解,对本发明中出现的部分名词作以下解释说明:
Gradle plugin与Transform
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,通过gradle plugin重构Transform方法实现对android应用代码编译过程代码修改能力。
Javassist与ASM编码修改
Javassist是源代码修改技术,通过gradle plugin插件,查找需要修改的源码文件,将需要修改的源代码修改到源代码文件中。ASM是byte code代码修改技术,通过在gradle plugin插件,查找class类,并实现对byte code的代码修改。
Android event和Eventbus事件
EventBus是一款在Android开发中使用的发布/订阅事件总线框架。通过注册事件、发送事件和处理事件机制实现android应用生命周期事件分发到业务子模块中。
下面结合附图和具体的实施例对本发明做进一步的解释说明:
如图1所示,本发明的一种Android生命周期多业务分发系统,包括:字节码织入gradle插件模块,Android应用模块;所述Android应用模块包括应用主模块和业务子模块,如图2所示;
所述字节码织入gradle插件模块用于通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;还用于修改业务子模块Application生命周期事件处理类的对应处理函数;
所述应用主模块用于启动onCreate方法,在所述onCreate方法中实例化业务子模块,并完成事件的注册;进一步地,业务实例化及事件注册方法可以为但不限定为BusEvent.getDefault().register(new***BusModuleClass),其中***BusModuleClass为业务子模块类;进一步地,onCreate方法可以实例化多个业务子模块,并完成注册。所述应用主模块还用于执行Application生命周期,根据触发事件发布相关业务处理逻辑;进一步地,应用主模块在Application生命周期处理事件,例如onLowMemory事件中,执行字节码织入gradle插件模块修改的代码post(***LowMemoryEvent evt),其中***LowMemoryEvent为字节码织入gradle插件模块引入的事件定义,通过post实现事件的发送。
所述业务子模块用于通过字节码织入gradle插件模块获取Application生命周期事件,并执行业务处理逻辑;进一步地,如应用主模块发送***LowMemoryEvent事件,相应的业务子模块中由相应的修改代码***LowMemory(***LowMemoryEvent evt)来接收***LowMemoryEvent事件消息;进一步地,***LowMemory函数调用通过注解修改***LowMemoryHandle的业务子模块处理函数,实现该生命周期事件的业务子模块的处理。
进一步地,本发明通过字节码织入gradle插件模块,在编译时进行Java字节码的修改实现,如图3所示:
(1)通过字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改,包括:
1.1,在应用主模块中Application类的头部织入引入生命周期事件定义相关字节码;
1.2,查找应用主模块中Application类的onCreate函数,在所述onCreate函数内完成业务子模块Application生命周期事件处理类(简称为子模块处理类)的实例化和注册相关逻辑的字节码织入。进一步地,通过gradle插件机制扫描项目所有.class文件,查找继承自android.app.Application的实现类对应的字节码文件,通过字节码分析,通过函数名匹配即可找到onCreate函数;查找存在特定注解的子模块处理类,特定注解可以是但不限定@VirtualApplication等用于指定其为子模块处理类的注解指示符号,并获取该类名称;
1.3,在应用主模块中Application类中查找应用生命周期处理函数,在Application生命周期处理函数尾部织入事件分发函数;由所述事件分发函数根据触发事件发布相关业务处理逻辑。生命周期处理函数形如onCreate、onLowMemory等Android中Application明确定义的生命周期函数;进一步地,事件分发函数形如Post(***Eventevt),其中***Event为生命周期事件类。
(2)修改业务子模块Application生命周期事件处理类的对应处理函数,包括:
2.1,查找存在特定注解的业务子模块Application生命周期事件处理类;特定注解可以是但不限定@VirtualApplication等用于指定其为子模块处理类的注解指示符号;
2.2,在特定注解的业务子模块Application生命周期事件处理类头部织入引用生命周期事件定义类的相关代码;进一步地,事件定义类为外部织入代码,其中主模块与业务子模块的事件定义类代码一致,通过一致的事件定义类实现事件的发布和订阅;
2.3,在特定注解的业务子模块Application生命周期事件处理类中通过特定注解符号识别业务子模块生命周期事件处理函数,并获取该函数名称;特定注解可以是但不限定于@On***EventHandle等用于指定其为生命周期事件处理函数的注解指示符号;
2.4,在业务子模块Application生命周期事件处理类尾部织入(增加)Application生命周期事件接收函数;进一步地,生命周期事件接收函数为基于生命周期事件类定义的通用处理函数,形如***EventExe(***Event evt),其中***Event为生命周期事件,由应用主模块发布,***EvnetExe为增加的事件接收函数;在应用生命周期事件接收函数尾部织入对生命处理函数的调用逻辑,该生命周期处理函数为在2.3中获取的函数;
进一步地,业务子模块生命周期处理函数可以为多个。多个函数处理则重复上述2.3-2.4。
进一步地,还包括:插件构建模块;
所述插件构建模块用于通过gradle插件进行工程构建,该构建方式允许开发者自定义gradle插件构建脚本,在该构建脚本中进行字节码织入gradle插件的注册。
进一步地,还包括:插件启动模块;
所述插件启动模块用于解析并启动字节码织入gradle插件模块。具体地,通过gradle插件执行Transform代码,在Transform代码中启动字节码织入gradle插件模块。
值得说明的是,字节码织入gradle插件模块采用的是基于ASM的byte code修改代码技术,将全部的class文件合成为一个dex文件的过程中,对指定的文件进行动态的修改,插入andriod应用生命周期的分发方法代码。
在上述实施例的基础上,如图4所示,本发明还提出一种Android生命周期多业务分发方法,该方法基于所述一种Android生命周期多业务分发系统实现,具体基于Java注解、Gradle插件机制、Java字节码增强技术实现,包括:
步骤1:字节码织入gradle插件模块通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;并修改业务子模块Application生命周期处理类的对应处理函数;
步骤2:应用主模块启动onCreate方法,在所述onCreate方法中实例化业务子模块,并完成事件的注册;
步骤3:应用主模块执行Application生命周期,根据触发事件发布相关业务处理逻辑;
步骤4:业务子模块通过字节码织入gradle插件模块获取Application生命周期事件,并执行业务处理逻辑。
进一步地,在所述步骤1之前,还包括:
通过gradle插件进行工程构建,该构建方式允许开发者自定义gradle插件构建脚本,在该构建脚本中进行字节码织入gradle插件的注册。
进一步地,在所述步骤1之前,还包括:
解析并启动字节码织入gradle插件模块。
进一步地,所述字节码织入gradle插件模块通过字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改包括:
在应用主模块中Application类的头部织入引入生命周期事件定义相关字节码;
查找应用主模块中Application类的onCreate函数,在所述onCreate函数内完成业务子模块Application生命周期事件处理类的实例化和注册相关逻辑的字节码织入;
在应用主模块中Application类中查找应用生命周期处理函数,在Application生命周期处理函数尾部织入事件分发函数;由所述事件分发函数根据触发事件发布相关业务处理逻辑。
进一步地,所述修改业务子模块Application生命周期处理类的对应处理函数包括:
查找存在特定注解的业务子模块Application生命周期事件处理类;
在特定注解的业务子模块Application生命周期事件处理类头部织入引用生命周期事件定义类的相关代码;
在特定注解的业务子模块Application生命周期事件处理类中通过特定注解符号识别业务子模块生命周期事件处理函数,并获取该函数名称;
在业务子模块Application生命周期事件处理类尾部织入Application生命周期事件接收函数。
综上,本发明可以无感知实现应用主模块类对业务子模块处理类的引用、实例化,无感知实现Application生命周期事件的注册、接收和发布。对比通过继承、事件、接口调用等实现方式,本发明实现了业务子模块与应用主模块之间源代码零耦合,模块无依赖,对于实现程序模块化、组件化和插件化非常友好。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种Android生命周期多业务分发系统,其特征在于,包括:字节码织入gradle插件模块,Android应用模块;所述Android应用模块包括应用主模块和业务子模块;
所述字节码织入gradle插件模块用于通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;还用于修改业务子模块Application生命周期事件处理类的对应处理函数;
所述应用主模块用于启动onCreate方法,在所述onCreate方法中实例化业务子模块,并完成事件的注册;还用于执行Application生命周期,根据触发事件发布相关业务处理逻辑;
所述业务子模块用于通过字节码织入gradle插件模块获取Application生命周期事件,并执行业务处理逻辑。
2.根据权利要求1所述的一种Android生命周期多业务分发系统,其特征在于,所述字节码织入gradle插件模块具体用于:
在应用主模块中Application类的头部织入引入生命周期事件定义相关字节码;查找应用主模块中Application类的onCreate函数,在所述onCreate函数内完成业务子模块Application生命周期事件处理类的实例化和注册相关逻辑的字节码织入;在应用主模块中Application类中查找应用生命周期处理函数,在Application生命周期处理函数尾部织入事件分发函数;由所述事件分发函数根据触发事件发布相关业务处理逻辑;
查找存在特定注解的业务子模块Application生命周期事件处理类;在特定注解的业务子模块Application生命周期事件处理类头部织入引用生命周期事件定义类的相关代码;在特定注解的业务子模块Application生命周期事件处理类中通过特定注解符号识别业务子模块生命周期事件处理函数,并获取该函数名称;在业务子模块Application生命周期事件处理类尾部织入Application生命周期事件接收函数;所述特定注解为指定为业务子模块Application生命周期事件处理类的注解指示符号。
3.根据权利要求1所述的一种Android生命周期多业务分发系统,其特征在于,还包括:插件构建模块;
所述插件构建模块用于通过gradle插件进行工程构建,该构建方式允许开发者自定义gradle插件构建脚本,在该构建脚本中进行字节码织入gradle插件的注册。
4.根据权利要求3所述的一种Android生命周期多业务分发系统,其特征在于,还包括:插件启动模块;
所述插件启动模块用于解析并启动字节码织入gradle插件模块。
5.基于权利要求1-4任一所述一种Android生命周期多业务分发系统的一种Android生命周期多业务分发方法,其特征在于,包括:
步骤1:字节码织入gradle插件模块通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改;并修改业务子模块Application生命周期处理类的对应处理函数;
步骤2:应用主模块启动onCreate方法,在所述onCreate方法中实例化业务子模块,并完成事件的注册;
步骤3:应用主模块执行Application生命周期,根据触发事件发布相关业务处理逻辑;
步骤4:业务子模块通过字节码织入gradle插件模块获取Application生命周期事件,并执行业务处理逻辑。
6.根据权利要求5所述的一种Android生命周期多业务分发方法,其特征在于,在所述步骤1之前,还包括:
通过gradle插件进行工程构建,该构建方式允许开发者自定义gradle插件构建脚本,在该构建脚本中进行字节码织入gradle插件的注册。
7.根据权利要求6所述的一种Android生命周期多业务分发方法,其特征在于,在所述步骤1之前,还包括:
解析并启动字节码织入gradle插件模块。
8.根据权利要求5所述的一种Android生命周期多业务分发方法,其特征在于,所述字节码织入gradle插件模块通过Java字节码增强技术完成对应用主模块中Application类生命周期相关处理逻辑的修改包括:
在应用主模块中Application类的头部织入引入生命周期事件定义相关字节码;
查找应用主模块中Application类的onCreate函数,在所述onCreate函数内完成业务子模块Application生命周期事件处理类的实例化和注册相关逻辑的字节码织入;
在应用主模块中Application类中查找应用生命周期处理函数,在Application生命周期处理函数尾部织入事件分发函数;由所述事件分发函数根据触发事件发布相关业务处理逻辑。
9.根据权利要求5所述的一种Android生命周期多业务分发方法,其特征在于,所述修改业务子模块Application生命周期处理类的对应处理函数包括:
查找存在特定注解的业务子模块Application生命周期事件处理类;
在特定注解的业务子模块Application生命周期事件处理类头部织入引用生命周期事件定义类的相关代码;
在特定注解的业务子模块Application生命周期事件处理类中通过特定注解符号识别业务子模块生命周期事件处理函数,并获取该函数名称;
在业务子模块Application生命周期事件处理类尾部织入Application生命周期事件接收函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799631.4A CN113703829B (zh) | 2021-07-15 | 2021-07-15 | 一种Android生命周期多业务分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799631.4A CN113703829B (zh) | 2021-07-15 | 2021-07-15 | 一种Android生命周期多业务分发方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703829A true CN113703829A (zh) | 2021-11-26 |
CN113703829B CN113703829B (zh) | 2023-10-20 |
Family
ID=78648628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110799631.4A Active CN113703829B (zh) | 2021-07-15 | 2021-07-15 | 一种Android生命周期多业务分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703829B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327655A (zh) * | 2021-12-27 | 2022-04-12 | 云南腾云信息产业有限公司 | 组件的初始化处理方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007068175A1 (fr) * | 2005-12-13 | 2007-06-21 | Huawei Technologies Co., Ltd. | Systeme et procede permettant de declencher un systeme de regles |
CN102411506A (zh) * | 2011-07-07 | 2012-04-11 | 杭州典能科技有限公司 | Java系统业务单元插件式管理系统及业务功能动态变更方法 |
CN108984203A (zh) * | 2018-06-08 | 2018-12-11 | 广东伊莱特电器有限公司 | 一种用于Android应用运行时数据采集的方法及其系统 |
-
2021
- 2021-07-15 CN CN202110799631.4A patent/CN113703829B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007068175A1 (fr) * | 2005-12-13 | 2007-06-21 | Huawei Technologies Co., Ltd. | Systeme et procede permettant de declencher un systeme de regles |
CN102411506A (zh) * | 2011-07-07 | 2012-04-11 | 杭州典能科技有限公司 | Java系统业务单元插件式管理系统及业务功能动态变更方法 |
CN108984203A (zh) * | 2018-06-08 | 2018-12-11 | 广东伊莱特电器有限公司 | 一种用于Android应用运行时数据采集的方法及其系统 |
Non-Patent Citations (1)
Title |
---|
余玉涵;刘锋;: "基于复杂事件处理的业务规则管理系统的研究", 电脑知识与技术, no. 10 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327655A (zh) * | 2021-12-27 | 2022-04-12 | 云南腾云信息产业有限公司 | 组件的初始化处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113703829B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7810082B2 (en) | System and method for transforming generic software code into operator specific code | |
CN112764756B (zh) | 软件资源编译方法及其相应的装置、设备、介质 | |
CN110865814A (zh) | 一种支持异构计算核架构的编译器实现方法和系统 | |
CN114327477A (zh) | 智能合约执行方法、装置、电子装置和存储介质 | |
CN113703829A (zh) | 一种Android生命周期多业务分发方法及系统 | |
CN113434147A (zh) | 基于ProtoBuf协议的消息解析方法及装置 | |
US20090187897A1 (en) | Compiling method and compiling program | |
Din et al. | Compositional reasoning about shared futures | |
CN112817600A (zh) | 程序注解编译方法及其相应的装置、设备、介质 | |
CN114115884A (zh) | 一种编程服务的管理方法以及相关装置 | |
CN113296898B (zh) | 异步任务处理方法、装置、电子设备和存储介质 | |
US11435989B2 (en) | Thread-local return structure for asynchronous state machine | |
Delaval et al. | A type system for the automatic distribution of higher-order synchronous dataflow programs | |
CN113568623B (zh) | 一种部署应用的方法、装置和电子设备 | |
CN111857816B (zh) | 寄存器分配方法、装置、电子设备及计算机存储介质 | |
JP2017016503A (ja) | コンパイラ、コンパイル装置及びコンパイル方法 | |
CN111221787A (zh) | 一种文件处理方法及装置 | |
CN118409758B (zh) | 用于编译核函数的方法、装置、介质和程序产品 | |
US20240241750A1 (en) | Method of abstraction of data and function references for software system runtime reconfiguration | |
CN118502763A (zh) | 数据编译以及执行装置以及数据编译以及执行方法 | |
CN118626077A (zh) | 数据组合装置以及数据组合方法 | |
CN112346820B (zh) | 区块链jvm应用方法、设备和存储介质 | |
US20060101398A1 (en) | Program output management | |
CN116192963A (zh) | 微服务的错误码处理方法、装置、设备及存储介质 | |
CN116521271A (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 |